diff --git a/docs.openc3.com/docs/configuration/_table.md b/docs.openc3.com/docs/configuration/_table.md index 77f5b5076e..ad79d77764 100644 --- a/docs.openc3.com/docs/configuration/_table.md +++ b/docs.openc3.com/docs/configuration/_table.md @@ -1,5 +1,5 @@ --- -sidebar_position: 8 +sidebar_position: 9 title: Tables description: Table definition file format and keywords --- diff --git a/docs.openc3.com/docs/configuration/_telemetry-screens.md b/docs.openc3.com/docs/configuration/_telemetry-screens.md index 38803ff485..91b058650d 100644 --- a/docs.openc3.com/docs/configuration/_telemetry-screens.md +++ b/docs.openc3.com/docs/configuration/_telemetry-screens.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 10 title: Screens description: Telemetry Viewer screen definition and widget documentation sidebar_custom_props: diff --git a/docs.openc3.com/docs/configuration/accessors.md b/docs.openc3.com/docs/configuration/accessors.md new file mode 100644 index 0000000000..e1037bd783 --- /dev/null +++ b/docs.openc3.com/docs/configuration/accessors.md @@ -0,0 +1,410 @@ +--- +sidebar_position: 8 +title: Accessors +description: Responsible for reading and writing data to a buffer +sidebar_custom_props: + myEmoji: ✏️ +--- + +Accessors are the low level code which know how to read and write data into a buffer. The buffer data then gets written out an interface which uses protocols to potentially change the data before it goes to the target. Accessors handle the different serializations formats such as binary (CCSDS), JSON, CBOR, XML, HTML, Protocol Buffers, etc. + +For more information about how Accessors fit with Interfaces and Protocols see [Interoperability Without Standards](https://www.openc3.com/news/interoperability-without-standards). + +COSMOS provides the following built-in accessors: Binary, CBOR, Form, HTML, HTTP, JSON, Template, XML. + +COSMOS Enterprise provides the following accessors: GEMS Ascii, Prometheus, Protocol Buffer. + +### Binary Accessor + +The Binary Accessor serializes data into a binary format when writing to the buffer. This is how many devices expect their data including those following the CCSDS standard. COSMOS handles converting signed and unsigned integers, floats, strings, etc. into their binary representation in the buffer. This includes handling big and little endian, bitfields, and variable length fields. Since binary is so common this is the default Accessor and will be used if no other accessors are given. + +#### Commands + +```ruby +COMMAND INST COLLECT BIG_ENDIAN "Starts a collect" + ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default + PARAMETER TYPE 64 16 UINT MIN MAX 0 "Collect type" + PARAMETER DURATION 80 32 FLOAT 0.0 10.0 1.0 "Collect duration" + PARAMETER OPCODE 112 8 UINT 0x0 0xFF 0xAB "Collect opcode" +``` + +#### Telemetry + +```ruby +TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" + ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default + APPEND_ITEM CMD_ACPT_CNT 32 UINT "Command accept count" + APPEND_ITEM COLLECTS 16 UINT "Number of collects" + APPEND_ITEM DURATION 32 FLOAT "Most recent collect duration" +``` + +### CBOR Accessor + +The Concise Binary Object Representation ([CBOR](https://en.wikipedia.org/wiki/CBOR)) Accessor serializes data into a binary format loosely based on JSON. It is a subclass of the JSON Accessor and is what COSMOS uses natively to store log files. + +#### Commands + +Using the CBOR Accessor for [command definitions](command) requires the use of [TEMPLATE_FILE](command#template_file) and [KEY](command#key) to allow the user to set values in the CBOR data. Note that the KEY values use [JSONPath](https://en.wikipedia.org/wiki/JSONPath). + +```ruby +COMMAND CBOR CBORCMD BIG_ENDIAN "CBOR Accessor Command" + ACCESSOR CborAccessor + TEMPLATE_FILE _cbor_template.bin + APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" + KEY $.id_item + APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" + KEY $.item1 + UNITS CELSIUS C + APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" + KEY $.more.item2 + FORMAT_STRING "0x%X" + APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" + KEY $.more.item3 + APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" + KEY $.more.item4 + APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item" + KEY $.more.item5 +``` + +Creating the template file requires the use of the Ruby or Python CBOR libraries. Here is an example from Ruby: + +```ruby +require 'cbor' +data = {"id_item" : 2, "item1" : 101, "more" : { "item2" : 12, "item3" : 3.14, "item4" : "Example", "item5" : [4, 3, 2, 1] } } +File.open("_cbor_template.bin", 'wb') do |file| + file.write(data.to_cbor) +end +``` + +#### Telemetry + +Using the CBOR Accessor for [telemetry definitions](telemetry) only requires the use of [KEY](command#key) to pull values from the CBOR data. Note that the KEY values use [JSONPath](https://en.wikipedia.org/wiki/JSONPath). + +```ruby +TELEMETRY CBOR CBORTLM BIG_ENDIAN "CBOR Accessor Telemetry" + ACCESSOR CborAccessor + APPEND_ID_ITEM ID_ITEM 32 INT 2 "Int Item" + KEY $.id_item + APPEND_ITEM ITEM1 16 UINT "Int Item 2" + KEY $.item1 + GENERIC_READ_CONVERSION_START UINT 16 + value * 2 + GENERIC_READ_CONVERSION_END + UNITS CELSIUS C + APPEND_ITEM ITEM2 16 UINT "Int Item 3" + KEY $.more.item2 + FORMAT_STRING "0x%X" + APPEND_ITEM ITEM3 64 FLOAT "Float Item" + KEY $.more.item3 + APPEND_ITEM ITEM4 128 STRING "String Item" + KEY $.more.item4 + APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item" + KEY $.more.item5 +``` + +### Form Accessor + +The Form Accessor is typically used with the [HTTP Client](interfaces#http-client-interface) interface to submit forms to a remote HTTP Server. + +#### Commands + +Using the Form Accessor for [command definitions](command) requires the use of [KEY](command#key) to allow the user to set values in the HTTP form. Note that the KEY values use [XPath](https://en.wikipedia.org/wiki/XPath). + +```ruby +COMMAND FORM FORMCMD BIG_ENDIAN "Form Accessor Command" + ACCESSOR FormAccessor + APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" + KEY $.id_item + APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" + KEY $.item1 + UNITS CELSIUS C +``` + +#### Telemetry + +Using the Form Accessor for [telemetry definitions](telemetry) only requires the use of [KEY](command#key) to pull values from the HTTP response data. Note that the KEY values use [XPath](https://en.wikipedia.org/wiki/XPath). + +```ruby +TELEMETRY FORM FORMTLM BIG_ENDIAN "Form Accessor Telemetry" + ACCESSOR FormAccessor + APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item" + KEY $.id_item + APPEND_ITEM ITEM1 16 UINT "Int Item 2" + KEY $.item1 +``` + +### HTML Accessor + +The HTML Accessor is typically used with the [HTTP Client](interfaces#http-client-interface) interface to parse a web page. + +For a full example see [openc3-cosmos-http-get](https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-get). + +#### Commands + +HTML Accessor is not typically used for commands but it would be similar to Telemetry using XPath Keys. + +#### Telemetry + +```ruby +TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results" + # Typically you use the HtmlAccessor to parse out the page that is returned + # HtmlAccessor is passed to HttpAccessor and used internally + ACCESSOR HttpAccessor HtmlAccessor + APPEND_ITEM NAME 240 STRING + # Keys were located by doing a manual search and then inspecting the page + # Right click the text you're looking for and then Copy -> Copy XPath + KEY normalize-space(//main/div/a[2]/span/h2/text()) + APPEND_ITEM DESCRIPTION 480 STRING + KEY //main/div/a[2]/span/p/text() + APPEND_ITEM VERSION 200 STRING + KEY //main/div/a[2]/span/h2/span/text() + APPEND_ITEM DOWNLOADS 112 STRING + KEY normalize-space(//main/div/a[2]/p/text()) +``` + +### HTTP Accessor + +HTTP Accessor is typically used with the [HTTP Client](interfaces#http-client-interface) or [HTTP Server](interfaces#http-server-interface) interface to parse a web page. It takes another accessor to do the low level reading and writing of the items. The default accessor is FormAccessor. HtlmAccessor, XmlAccessor and JsonAccessor are also common for manipulating HTML, XML and JSON respectively. + +For a full example see [openc3-cosmos-http-get](https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-get). + +#### Commands + +When used with the HTTP Client Interface, HTTP Accessor utilizes the following command parameters: + +| Parameter | Description | +| ----------------- | ---------------------------------------------------------------------------------------------------- | +| HTTP_PATH | requests at this path | +| HTTP_METHOD | request method (GET, POST, DELETE) | +| HTTP_PACKET | telemetry packet to store the response | +| HTTP_ERROR_PACKET | telemetry packet to store error responses (status code >= 300) | +| HTTP_QUERY_XXX | sets a value in the params passed to the request (XXX => value, or KEY => value), see example below | +| HTTP_HEADER_XXX | sets a value in the headers passed to the request (XXX => value, or KEY => value), see example below | + +When used with the HTTP Server Interface, HTTP Accessor utilizes the following command parameters: + +| Parameter | Description | +| --------------- | --------------------------------------------------------------------------------------- | +| HTTP_STATUS | status to return to clients | +| HTTP_PATH | mount point for server | +| HTTP_PACKET | telemetry packet to store the request | +| HTTP_HEADER_XXX | sets a value in the response headers (XXX => value, or KEY => value), see example below | + +```ruby +COMMAND HTML SEARCH BIG_ENDIAN "Searches Rubygems.org" + # Note FormAccessor is the default argument for HttpAccessor so it is typically not specified + ACCESSOR HttpAccessor + PARAMETER HTTP_PATH 0 0 DERIVED nil nil "/search" + PARAMETER HTTP_METHOD 0 0 DERIVED nil nil "GET" + PARAMETER HTTP_PACKET 0 0 DERIVED nil nil "RESPONSE" + PARAMETER HTTP_ERROR_PACKET 0 0 DERIVED nil nil "ERROR" + # This sets parameter query=openc3+cosmos + # Note the parameter name 'query' based on HTTP_QUERY_QUERY + PARAMETER HTTP_QUERY_QUERY 0 0 DERIVED nil nil "openc3 cosmos" + GENERIC_READ_CONVERSION_START + value.split.join('+') + GENERIC_READ_CONVERSION_END + # This sets header Content-Type=text/html + # Note that TYPE is not used since the KEY is specified + PARAMETER HTTP_HEADER_TYPE 0 0 DERIVED nil nil "text/html" + KEY Content-Type +``` + +#### Telemetry + +HTTP Accessor utilizes the following telemetry items: + +| Parameter | Description | +| ------------ | --------------------------------------------------------------------------------------------------------------------- | +| HTTP_STATUS | the request status | +| HTTP_HEADERS | hash of the response headers | +| HTTP_REQUEST | optional hash which returns all the request parameters, see [HTTP Client Interface](interfaces#http-client-interface) | + +```ruby +TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results" + # Typically you use the HtmlAccessor to parse out the page that is returned + ACCESSOR HttpAccessor HtmlAccessor + APPEND_ITEM NAME 240 STRING + # Keys were located by doing a manual search and then inspecting the page + # Right click the text you're looking for and then Copy -> Copy XPath + KEY normalize-space(//main/div/a[2]/span/h2/text()) + APPEND_ITEM DESCRIPTION 480 STRING + KEY //main/div/a[2]/span/p/text() + APPEND_ITEM VERSION 200 STRING + KEY //main/div/a[2]/span/h2/span/text() + APPEND_ITEM DOWNLOADS 112 STRING + KEY normalize-space(//main/div/a[2]/p/text()) +``` + +### JSON Accessor + +The JSON Accessor serializes data into JavaScript Object Notation ([JSON](https://en.wikipedia.org/wiki/JSON)). JSON is a data interchange format that uses human-readable text to transmit data consisting of key value pairs and arrays. + +For a full example see [openc3-cosmos-accessor-test](https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-accessor-test). + +#### Commands + +Using the JSON Accessor for [command definitions](command) requires the use of [TEMPLATE](command#template) and [KEY](command#key) to allow the user to set values in the JSON data. Note that the KEY values use [JSONPath](https://en.wikipedia.org/wiki/JSONPath). + +```ruby +COMMAND JSON JSONCMD BIG_ENDIAN "JSON Accessor Command" + ACCESSOR JsonAccessor + TEMPLATE '{"id_item":1, "item1":101, "more": { "item2":12, "item3":3.14, "item4":"Example", "item5":[4, 3, 2, 1] } }' + APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" + KEY $.id_item + APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" + KEY $.item1 + UNITS CELSIUS C + APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" + KEY $.more.item2 + FORMAT_STRING "0x%X" + APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" + KEY $.more.item3 + APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" + KEY $.more.item4 + APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item" + KEY $.more.item5 +``` + +#### Telemetry + +Using the JSON Accessor for [telemetry definitions](telemetry) only requires the use of [KEY](command#key) to pull values from the JSON data. Note that the KEY values use [JSONPath](https://en.wikipedia.org/wiki/JSONPath). + +```ruby +TELEMETRY JSON JSONTLM BIG_ENDIAN "JSON Accessor Telemetry" + ACCESSOR JsonAccessor + APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item" + KEY $.id_item + APPEND_ITEM ITEM1 16 UINT "Int Item 2" + KEY $.item1 + GENERIC_READ_CONVERSION_START UINT 16 + value * 2 + GENERIC_READ_CONVERSION_END + UNITS CELSIUS C + APPEND_ITEM ITEM2 16 UINT "Int Item 3" + KEY $.more.item2 + FORMAT_STRING "0x%X" + APPEND_ITEM ITEM3 64 FLOAT "Float Item" + KEY $.more.item3 + APPEND_ITEM ITEM4 128 STRING "String Item" + KEY $.more.item4 + APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item" + KEY $.more.item5 +``` + +### Template Accessor + +The Template Accessor is commonly used with string based command / response protocols such as the [CmdResponseProtocol](protocols#cmdresponse-protocol). + +For a full example see [openc3-cosmos-scpi-power-supply](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-scpi-power-supply) in the COSMOS Enterprise Plugins. + +#### Commands + +Using the Template Accessor for [command definitions](command) requires the use of [TEMPLATE](command#template) to define a string template with optional parameters that are populated using the command parameters. + +```ruby +# Some commands don't have any parameters and the template is sent as-is +COMMAND SCPI_PS RESET BIG_ENDIAN "Reset the power supply state" + ACCESSOR TemplateAccessor + TEMPLATE "*RST" + +# This command has two parameters in the template defined by +COMMAND SCPI_PS VOLTAGE BIG_ENDIAN "Sets the voltage of a power supply channel" + ACCESSOR TemplateAccessor + # and are replaced by the parameter values + TEMPLATE "VOLT , (@)" + APPEND_PARAMETER VOLTAGE 32 FLOAT MIN MAX 0.0 "Voltage Setting" + UNITS VOLTS V + APPEND_PARAMETER CHANNEL 8 UINT 1 2 1 "Output Channel" +``` + +#### Telemetry + +Using the Template Accessor for [telemetry definitions](telemetry) requires the use of [TEMPLATE](telemetry#template) to define a template where telemetry values are pulled from the string buffer. + +```ruby +TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Power supply status" + ACCESSOR TemplateAccessor + # The raw string from the target is something like "1.234,2.345" + # String is split by the comma and pushed into MEAS_VOLTAGE_1, MEAS_VOLTAGE_2 + TEMPLATE "," + APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Current Reading for Channel 1" + APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Current Reading for Channel 2" +``` + +### XML Accessor + +The XML Accessor is typically used with the [HTTP Client](interfaces#http-client-interface) interface to send and receive XML from a web server. + +For a full example see [openc3-cosmos-accessor-test](https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-accessor-test). + +#### Commands + +Using the XML Accessor for [command definitions](command) requires the use of [TEMPLATE](command#template) and [KEY](command#key) to allow the user to set values in the XML data. Note that the KEY values use [XPath](https://en.wikipedia.org/wiki/XPath). + +```ruby +COMMAND XML XMLCMD BIG_ENDIAN "XML Accessor Command" + ACCESSOR XmlAccessor + TEMPLATE '
  • 3.14
  • Example
' + APPEND_ID_PARAMETER ID_ITEM 32 INT 3 3 3 "Int Item" + KEY "/html/head/script/@src" + APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" + KEY "/html/head/noscript/text()" + UNITS CELSIUS C + APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" + KEY "/html/body/img/@src" + FORMAT_STRING "0x%X" + APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" + KEY "/html/body/div/ul/li[1]/text()" + APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" + KEY "/html/body/div/ul/li[2]/text()" +``` + +#### Telemetry + +Using the XML Accessor for [telemetry definitions](telemetry) only requires the use of [KEY](command#key) to pull values from the XML data. Note that the KEY values use [XPath](https://en.wikipedia.org/wiki/XPath). + +```ruby +TELEMETRY XML XMLTLM BIG_ENDIAN "XML Accessor Telemetry" + ACCESSOR XmlAccessor + # Template is not required for telemetry, but is useful for simulation + TEMPLATE '
  • 3.14
  • Example
' + APPEND_ID_ITEM ID_ITEM 32 INT 3 "Int Item" + KEY "/html/head/script/@src" + APPEND_ITEM ITEM1 16 UINT "Int Item 2" + KEY "/html/head/noscript/text()" + GENERIC_READ_CONVERSION_START UINT 16 + value * 2 + GENERIC_READ_CONVERSION_END + UNITS CELSIUS C + APPEND_ITEM ITEM2 16 UINT "Int Item 3" + KEY "/html/body/img/@src" + FORMAT_STRING "0x%X" + APPEND_ITEM ITEM3 64 FLOAT "Float Item" + KEY "/html/body/div/ul/li[1]/text()" + APPEND_ITEM ITEM4 128 STRING "String Item" + KEY "/html/body/div/ul/li[2]/text()" +``` + +### GEMS Ascii (Enterprise) + +The GemsAsciiAccessor inherits from [TemplateAccessor](accessors#template-accessor) to escape the following characters in outgoing commands: "&" => "&a", "|" => "&b", "," => "&c", and ";" => "&d" and reverse them in telemetry. See the [GEMS Spec](https://www.omg.org/spec/GEMS/1.3/PDF) for more information. + +For a full example, please see the [openc3-cosmos-gems-interface](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-gems-interface) in the COSMOS Enterprise Plugins. + +### Prometheus (Enterprise) + +The PrometheusAccessor is used to read from a Prometheus endpoint and can automatically parse the results into a packet. The PrometheusAccessor is currently only implemented in Ruby. + +For a full example, please see the [openc3-cosmos-prometheus-metrics](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-prometheus-metrics) in the COSMOS Enterprise Plugins. + +### Protocol Buffer (Enterprise) + +The ProtoAccessor is used to read and write protocol buffers. It is primarily used in conjunction with the [GrpcInterface](interfaces#grpc-interface-enterprise). The ProtoAccessor is currently only implemented in Ruby. + +| Parameter | Description | Required | +| --------- | -------------------------------------------------- | -------- | +| Filename | File generated by the protocol buffer compiler | Yes | +| Class | Class to use when encoding and decoding the buffer | Yes | + +For a full example, please see the [openc3-cosmos-proto-target](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-proto-target) in the COSMOS Enterprise Plugins. diff --git a/docs.openc3.com/docs/configuration/command.md b/docs.openc3.com/docs/configuration/command.md index 2d808bb1e0..5905bcc42b 100644 --- a/docs.openc3.com/docs/configuration/command.md +++ b/docs.openc3.com/docs/configuration/command.md @@ -134,7 +134,7 @@ If an item's bit offset overlaps another item, OpenC3 issues a warning. This key #### KEY
(Since 5.0.10)
**Defines the key used to access this raw value in the packet.** -Keys are often JsonPath or XPath strings +Keys are often [JSONPath](https://en.wikipedia.org/wiki/JSONPath) or [XPath](https://en.wikipedia.org/wiki/XPath) strings | Parameter | Description | Required | |-----------|-------------|----------| @@ -261,7 +261,7 @@ class TheGreatConversion(Conversion): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): - return value * multiplier + return value * self.multiplier ``` #### POLY_WRITE_CONVERSION @@ -572,7 +572,7 @@ Sending a hazardous command causes a dialog asking for confirmation before sendi ### ACCESSOR
(Since 5.0.10)
**Defines the class used to read and write raw values from the packet** -Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor. +Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see [Accessors](accessors). | Parameter | Description | Required | |-----------|-------------|----------| @@ -660,6 +660,12 @@ Defined in custom_validator.rb: require 'openc3/packets/command_validator' class CustomValidator < OpenC3::CommandValidator + # Both the pre_check and post_check are passed the command packet that was sent + # You can inspect the command in your checks as follows: + # packet.target_name => target name + # packet.packet_name => packet name (command name) + # packet.read("ITEM") => converted value + # packet.read("ITEM", :RAW) => raw value def pre_check(packet) if tlm("TGT PKT ITEM") == 0 return [false, "TGT PKT ITEM is 0"] @@ -681,6 +687,12 @@ VALIDATOR custom_validator.rb Defined in custom_validator.py: class CustomValidator(CommandValidator): + # Both the pre_check and post_check are passed the command packet that was sent + # You can inspect the command in your checks as follows: + # packet.target_name => target name + # packet.packet_name => packet name (command name) + # packet.read("ITEM") => converted value + # packet.read("ITEM", :RAW) => raw value def pre_check(self, command): if tlm("TGT PKT ITEM") == 0: return [False, "TGT PKT ITEM is 0"] diff --git a/docs.openc3.com/docs/configuration/interfaces.md b/docs.openc3.com/docs/configuration/interfaces.md index f52d769557..399c0f2cfa 100644 --- a/docs.openc3.com/docs/configuration/interfaces.md +++ b/docs.openc3.com/docs/configuration/interfaces.md @@ -6,37 +6,31 @@ sidebar_custom_props: myEmoji: 💡 --- -Interfaces are the connection to the external embedded systems called targets. Interfaces are defined by the top level [INTERFACE](plugins.md#interface-1) keyword in the plugin.txt file. +## Overview -Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, GPIB, Firewire, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with [Protocols](protocols.md) rather than implementing a new interface. +Interfaces are the connection to the external embedded systems called [targets](target). Interfaces are defined by the top level [INTERFACE](plugins.md#interface-1) keyword in the plugin.txt file. + +Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, MQTT, SNMP, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with [Protocols](protocols.md) rather than implementing a new interface. :::info Interface and Routers Are Very Similar Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target. ::: -Interfaces have the following methods that must be implemented: +### Protocols -1. **connect** - Open the socket or port or somehow establish the connection to the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation. -1. **connected?** - Return true or false depending on the connection state. Note: This method should return immediately. -1. **disconnect** - Close the socket or port of somehow disconnect from the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation. -1. **read_interface** - Lowest level read of data on the interface. Note: This method should block until data is available or the interface disconnects. On a clean disconnect it should return nil. -1. **write_interface** - Lowest level write of data on the interface. Note: This method may not block indefinitely. +Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. See [Protocols](protocols) for more information. -Interfaces also have the following methods that exist and have default implementations. They can be overridden if necessary but be sure to call super() to allow the default implementation to be executed. +### Accessors -1. **read_interface_base** - This method should always be called from read_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes read count, the most recent raw data read, and it handles raw logging if enabled. -1. **write_interface_base** - This method should always be called from write_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes written count, the most recent raw data written, and it handles raw logging if enabled. -1. **read** - Read the next packet from the interface. COSMOS implements this method to allow the Protocol system to operate on the data and the packet before it is returned. -1. **write** - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent. -1. **write_raw** - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data. +Accessors are responsible for reading and writing the buffer which is transmitted by the interface to the target. See [Accessors](accessors) for more information. -:::warning Naming Conventions -When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization. -::: +For more information about how Interfaces fit with Protocols and Accessors see [Interoperability Without Standards](https://www.openc3.com/news/interoperability-without-standards). ## Provided Interfaces -COSMOS provides the following interfaces for use: TCPIP Client, TCPIP Server, UDP, and Serial. The interface to use is defined by the [INTERFACE](plugins.md#interface) and [ROUTER](plugins.md#router) keywords. +COSMOS provides the following interfaces: TCPIP Client, TCPIP Server, UDP, HTTP Client, HTTP Server, MQTT and Serial. The interface to use is defined by the [INTERFACE](plugins.md#interface) and [ROUTER](plugins.md#router) keywords. See [Interface Modifiers](plugins.md#interface-modifiers) for a description of the keywords which can follow the INTERFACE keyword. + +COSMOS Enterprise provides the following interfaces: SNMP, SNMP Trap, GEMS, InfluxDB. ### TCPIP Client Interface @@ -76,8 +70,6 @@ INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol ``` -See [INTERFACE](plugins.md#interface) for a description of the INTERFACE keyword. See [Interface Modifiers](plugins.md#interface-modifiers) for a description of the keywords which can follow the INTERFACE keyword. - ### TCPIP Server Interface The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server. @@ -91,6 +83,14 @@ The TCPIP server interface creates a TCPIP server which listens for incoming con | Protocol Type | See Protocols. | No | | Protocol Arguments | See Protocols for the arguments each stream protocol takes. | No | +#### Interface Options + +Options are added directly beneath the interface definition as shown in the example. + +| Option | Description | Default | +| -------------- | ----------------------------------- | ------- | +| LISTEN_ADDRESS | IP address to accept connections on | 0.0.0.0 | + plugin.txt Ruby Examples: ```ruby @@ -101,6 +101,7 @@ INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATE INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol + OPTION LISTEN_ADDRESS 127.0.0.1 ``` plugin.txt Python Examples: @@ -115,8 +116,6 @@ INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 1 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol ``` -See [INTERFACE](plugins.md#interface) for a description of the INTERFACE keyword. See [Interface Modifiers](plugins.md#interface-modifiers) for a description of the keywords which can follow the INTERFACE keyword. Note, TcpipServerInterface processes the [OPTION](plugins.md#option) modifier. - ### UDP Interface The UDP interface uses UDP packets to send and receive telemetry from the target. @@ -144,7 +143,172 @@ plugin.txt Python Example: INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None ``` -See [INTERFACE](plugins.md#interface) for a description of the INTERFACE keyword. See [Interface Modifiers](plugins.md#interface-modifiers) for a description of the keywords which can follow the INTERFACE keyword. +### HTTP Client Interface + +The HTTP client interface connects to a HTTP server to send commands and receive telemetry. This interface is commonly used with the [HttpAccessor](accessors#http-accessor) and [JsonAccessor](accessors#json-accessor). See the [openc3-cosmos-http-example](https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-example) for more information. + +| Parameter | Description | Required | Default | +| --------------------------- | --------------------------------------------------------------------------------------- | -------- | ---------- | +| Host | Machine name to connect to | Yes | | +| Port | Port to write commands to and read telemetry from | No | 80 | +| Protocol | HTTP or HTTPS protocol | No | HTTP | +| Write Timeout | Number of seconds to wait before aborting the write. Pass nil / None to block on write. | No | 5 | +| Read Timeout | Number of seconds to wait before aborting the read. Pass nil / None to block on read. | No | nil / None | +| Connect Timeout | Number of seconds to wait before aborting the connection | No | 5 | +| Include Request In Response | Whether to include the request in the extra data | No | false | + +plugin.txt Ruby Examples: + +```ruby +INTERFACE INTERFACE_NAME http_client_interface.rb myserver.com 80 +``` + +plugin.txt Python Examples: + +```ruby +INTERFACE INTERFACE_NAME openc3/interfaces/http_client_interface.py mysecure.com 443 HTTPS +``` + +### HTTP Server Interface + +The HTTP server interface creates a simple unencrypted, unauthenticated HTTP server. This interface is commonly used with the [HttpAccessor](accessors#http-accessor) and [JsonAccessor](accessors#json-accessor). See the [openc3-cosmos-http-example](https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-example) for more information. + +| Parameter | Description | Required | Default | +| --------- | ------------------------------------------------- | -------- | ------- | +| Port | Port to write commands to and read telemetry from | No | 80 | + +#### Interface Options + +Options are added directly beneath the interface definition as shown in the example. + +| Option | Description | Default | +| -------------- | ----------------------------------- | ------- | +| LISTEN_ADDRESS | IP address to accept connections on | 0.0.0.0 | + +plugin.txt Ruby Examples: + +```ruby +INTERFACE INTERFACE_NAME http_server_interface.rb + LISTEN_ADDRESS 127.0.0.1 +``` + +plugin.txt Python Examples: + +```ruby +INTERFACE INTERFACE_NAME openc3/interfaces/http_server_interface.py 88 +``` + +### MQTT Interface + +The MQTT interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Streaming Interface in that the commands and telemetry are transmitted over topics given by `META TOPIC` in the command and telemetry definitions. + +| Parameter | Description | Required | Default | +| --------- | ------------------------------------------------------------------------------------ | -------- | ------- | +| Host | Host name or IP address of the MQTT broker | Yes | | +| Port | Port on the MQTT broker to connect to. Keep in mind whether you're using SSL or not. | No | 1883 | +| SSL | Whether to use SSL to connect | No | false | + +#### Interface Options + +Options are added directly beneath the interface definition as shown in the example. + +| Option | Description | +| ---------------- | ------------------------------------------------------------------------------------------ | +| ACK_TIMEOUT | Time to wait when connecting to the MQTT broker | +| USERNAME | Username for authentication with the MQTT broker | +| PASSWORD | Password for authentication with the MQTT broker | +| CERT | PEM encoded client certificate filename used with KEY for client TLS based authentication | +| KEY | PEM encoded client private keys filename | +| KEYFILE_PASSWORD | Password to decrypt the CERT and KEY files (Python only) | +| CA_FILE | Certificate Authority certificate filename that is to be treated as trusted by this client | + +plugin.txt Ruby Example: + +```ruby +INTERFACE MQTT_INT mqtt_interface.rb test.mosquitto.org 1883 +``` + +plugin.txt Python Example (Note: This example uses the [SECRET](plugins#secret) keyword to set the PASSWORD option in the Interface): + +```ruby +INTERFACE MQTT_INT openc3/interfaces/mqtt_interface.py test.mosquitto.org 8884 + OPTION USERNAME rw + # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD + # and set an OPTION called PASSWORD with the secret value + # For more information about secrets see the Admin Tool page + SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD +``` + +#### Packet Definitions + +The MQTT Interface utilizes 'META TOPIC <topic name>' in the command and telemetry definition files to determine which topics to publish and receive messages from. Thus to send to the topic 'TEST' you would create a command like the following (Note: The command name 'TEST' does NOT have to match the topic name): + +``` +COMMAND MQTT TEST BIG_ENDIAN "Test" + META TOPIC TEST # <- The topic name is 'TEST' + APPEND_PARAMETER DATA 0 BLOCK '' "MQTT Data" +``` + +Similarly to receive from the topic 'TEST' you would create a telemetry packet like the following (Note: The telemetry name 'TEST' does NOT have to match the topic name): + +``` +TELEMETRY MQTT TEST BIG_ENDIAN "Test" + META TOPIC TEST # <- The topic name is 'TEST' + APPEND_ITEM DATA 0 BLOCK "MQTT Data" +``` + +For a full example, please see the [openc3-cosmos-mqtt-test](https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-mqtt-test) in the COSMOS source. + +### MQTT Streaming Interface + +The MQTT streaming interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT streaming interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Interface in that all the commands are transmitted on a single topic and all telemetry is received on a single topic. + +| Parameter | Description | Required | Default | +| ------------------ | --------------------------------------------------------------------------------------- | -------- | ---------- | +| Host | Host name or IP address of the MQTT broker | Yes | | +| Port | Port on the MQTT broker to connect to. Keep in mind whether you're using SSL or not. | No | 1883 | +| SSL | Whether to use SSL to connect | No | false | +| Write Topic | Name of the write topic for all commands. Pass nil / None to make interface read only. | No | nil / None | +| Read Topic | Name of the read topic for all telemetry. Pass nil / None to make interface write only. | No | nil / None | +| Protocol Type | See Protocols. | No | +| Protocol Arguments | See Protocols for the arguments each stream protocol takes. | No | + +#### Interface Options + +Options are added directly beneath the interface definition as shown in the example. + +| Option | Description | +| ---------------- | ------------------------------------------------------------------------------------------ | +| ACK_TIMEOUT | Time to wait when connecting to the MQTT broker | +| USERNAME | Username for authentication with the MQTT broker | +| PASSWORD | Password for authentication with the MQTT broker | +| CERT | PEM encoded client certificate filename used with KEY for client TLS based authentication | +| KEY | PEM encoded client private keys filename | +| KEYFILE_PASSWORD | Password to decrypt the CERT and KEY files (Python only) | +| CA_FILE | Certificate Authority certificate filename that is to be treated as trusted by this client | + +plugin.txt Ruby Example: + +```ruby +INTERFACE MQTT_INT mqtt_stream_interface.rb test.mosquitto.org 1883 false write read +``` + +plugin.txt Python Example (Note: This example uses the [SECRET](plugins#secret) keyword to set the PASSWORD option in the Interface): + +```ruby +INTERFACE MQTT_INT openc3/interfaces/mqtt_stream_interface.py test.mosquitto.org 8884 False write read + OPTION USERNAME rw + # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD + # and set an OPTION called PASSWORD with the secret value + # For more information about secrets see the Admin Tool page + SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD +``` + +#### Packet Definitions + +The MQTT Streaming Interface utilizes the topic names passed to the interface so no additional information is necessary in the definition. + +For a full example, please see the [openc3-cosmos-mqtt-test](https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-mqtt-test) in the COSMOS source. ### Serial Interface @@ -162,6 +326,15 @@ The serial interface connects to a target over a serial port. COSMOS provides dr | Protocol Type | See Protocols. | No | | Protocol Arguments | See Protocols for the arguments each stream protocol takes. | No | +#### Interface Options + +Options are added directly beneath the interface definition as shown in the example. + +| Option | Description | Default | +| ------------ | -------------------------------------------------------- | ------- | +| FLOW_CONTROL | Serial port flow control. Must be one of NONE or RTSCTS. | NONE | +| DATA_BITS | Number of data bits. | 8 | + plugin.txt Ruby Examples: ```ruby @@ -172,72 +345,117 @@ INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 T INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol + OPTION FLOW_CONTROL RTSCTS + OPTION DATA_BITS 7 ``` -See [INTERFACE](plugins.md#interface) for a description of the INTERFACE keyword. See [Interface Modifiers](plugins.md#interface-modifiers) for a description of the keywords which can follow the INTERFACE keyword. Note, SerialInterface processes the [OPTION](plugins.md#option) modifier. +### SNMP Interface (Enterprise) -## Streams +The SNMP Interface is for connecting to Simple Network Management Protocol devices. The SNMP Interface is currently only implemented in Ruby. -Streams are low level classes that implement read, read_nonblock, write, connect, connected? and disconnect methods. The built-in Stream classes are SerialStream, TcpipSocketStream and TcpipClientStream and they are automatically used when creating a Serial Interface, TCP/IP Server Interface, or TCP/IP Client Interface. +| Parameter | Description | Required | Default | +| --------- | ---------------------------- | -------- | ------- | +| Host | Host name of the SNMP device | Yes | | +| Port | Port on the SNMP device | No | 161 | -## Protocols +#### Interface Options -Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. COSMOS defines the following built-in protocols which can be used with the above interfaces: +Options are added directly beneath the interface definition as shown in the example. -| Name | Description | -| ---------------------------------------------------- | ------------------------------------------------------------------------------------- | -| [Burst](protocols.md#burst-protocol) | Reads as much data as possible from the interface | -| [Fixed](protocols.md#fixed-protocol) | Processes fixed length packets with a known ID position | -| [Length](protocols.md#length-protocol) | Processes a length field at a fixed location and then reads the remainder of the data | -| [Terminated](protocols.md#terminated-protocol) | Delineates packets uses termination characters at the end of each packet | -| [Template](protocols.md#template-protocol) | Processes text based command / response data such as SCPI interfaces | -| [Preidentified](protocols.md#preidentified-protocol) | Internal COSMOS protocol used by COSMOS tools | +| Option | Description | Default | +| -------------- | -------------------------------------------------- | ------- | +| VERSION | SNMP Version: 1, 2, or 3 | 1 | +| COMMUNITY | Password or user ID that allows access to a device | private | +| USERNAME | Username | N/A | +| RETRIES | Retries when sending requests | N/A | +| TIMEOUT | Timeout waiting for a response from an agent | N/A | +| CONTEXT | SNMP context | N/A | +| SECURITY_LEVEL | Must be one of NO_AUTH, AUTH_PRIV, or AUTH_NO_PRIV | N/A | +| AUTH_PROTOCOL | Must be one of MD5, SHA, or SHA256 | N/A | +| PRIV_PROTOCOL | Must be one of DES or AES | N/A | +| AUTH_PASSWORD | Auth password | N/A | +| PRIV_PASSWORD | Priv password | N/A | -These protocols are declared directly after the interface: +plugin.txt Ruby Examples: ```ruby -INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF -INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true -INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 -INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 -INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA -INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE +INTERFACE SNMP_INT snmp_interface.rb 192.168.1.249 161 + OPTION VERSION 1 ``` +For a full example, please see the [openc3-cosmos-apc-switched-pdu](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-apc-switched-pdu) in the COSMOS Enterprise Plugins. + +### SNMP Trap Interface (Enterprise) + +The SNMP Trap Interface is for receiving Simple Network Management Protocol traps. The SNMP Trap Interface is currently only implemented in Ruby. + +| Parameter | Description | Required | Default | +| ------------ | --------------------------- | -------- | ------- | +| Read Port | Port to read from | No | 162 | +| Read Timeout | Read timeout | No | nil | +| Bind Address | Address to bind UDP port to | Yes | 0.0.0.0 | + +#### Interface Options + +Options are added directly beneath the interface definition as shown in the example. + +| Option | Description | Default | +| ------- | ------------------------ | ------- | +| VERSION | SNMP Version: 1, 2, or 3 | 1 | + +plugin.txt Ruby Examples: + ```ruby -INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF -INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true -INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 -INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 -INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA -INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE +INTERFACE SNMP_INT snmp_trap_interface.rb 162 + OPTION VERSION 1 ``` -COSMOS also defines the following helper protocols: +For a full example, please see the [openc3-cosmos-apc-switched-pdu](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-apc-switched-pdu) in the COSMOS Enterprise Plugins. + +### gRPC Interface (Enterprise) -| Name | Description | -| --------------------------------------------- | ------------------------------------------------------------------- | -| [CRC](protocols.md#crc-protocol) | Adds CRCs to outgoing packets and verifies CRCs on incoming packets | -| [Ignore](protocols.md#ignore-packet-protocol) | Ignores the specified packet by dropping it | +The gRPC Interface is for interacting with [gRPC](https://grpc.io/). The gRPC Interface is currently only implemented in Ruby. -These protocols are declared after the INTERFACE: +| Parameter | Description | Required | +| --------- | ----------- | -------- | +| Hostname | gRPC server | Yes | +| Port | gRPC port | Yes | + +plugin.txt Ruby Examples: ```ruby -INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF - TARGET TGT - PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters +INTERFACE GRPC_INT grpc_interface.rb my.grpc.org 8080 ``` +#### Commands + +Using the GrpcInterface for [command definitions](command) requires the use of [META](command#meta) to define a GRPC_METHOD to use for each command. + ```ruby -INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF - TARGET TGT - PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters +COMMAND PROTO GET_USER BIG_ENDIAN 'Get a User' + META GRPC_METHOD /example.photoservice.ExamplePhotoService/GetUser ``` -Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific. +For a full example, please see the [openc3-cosmos-proto-target](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-proto-target) in the COSMOS Enterprise Plugins. -In addition, you can define your own protocols which are declared like the COSMOS helper protocols after your interface. See the [Custom Protocols](../configuration/protocols.md#custom-protocols) documentation for more information. +## Custom Interfaces -:::info Protocol Run Order -Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first). +Interfaces have the following methods that must be implemented: + +1. **connect** - Open the socket or port or somehow establish the connection to the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation. +1. **connected?** - Return true or false depending on the connection state. Note: This method should return immediately. +1. **disconnect** - Close the socket or port of somehow disconnect from the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation. +1. **read_interface** - Lowest level read of data on the interface. Note: This method should block until data is available or the interface disconnects. On a clean disconnect it should return nil. +1. **write_interface** - Lowest level write of data on the interface. Note: This method may not block indefinitely. + +Interfaces also have the following methods that exist and have default implementations. They can be overridden if necessary but be sure to call super() to allow the default implementation to be executed. + +1. **read_interface_base** - This method should always be called from read_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes read count, the most recent raw data read, and it handles raw logging if enabled. +1. **write_interface_base** - This method should always be called from write_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes written count, the most recent raw data written, and it handles raw logging if enabled. +1. **read** - Read the next packet from the interface. COSMOS implements this method to allow the Protocol system to operate on the data and the packet before it is returned. +1. **write** - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent. +1. **write_raw** - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data. + +:::warning Naming Conventions +When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization. ::: diff --git a/docs.openc3.com/docs/configuration/plugins.md b/docs.openc3.com/docs/configuration/plugins.md index 13a820ec16..45cfc4a3b1 100644 --- a/docs.openc3.com/docs/configuration/plugins.md +++ b/docs.openc3.com/docs/configuration/plugins.md @@ -231,14 +231,14 @@ ROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST ### SECRET
(Since 5.3.0)
**Define a secret needed by this interface** -Defines a secret for this interface and optionally assigns its value to an option +Defines a secret for this interface and optionally assigns its value to an option. For more information see [Admin Secrets](/docs/tools/admin#secrets). | Parameter | Description | Required | |-----------|-------------|----------| | Type | ENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file. | True | -| Secret Name | The name of the secret to retrieve | True | -| Environment Variable or File Path | Environment variable name or file path to store secret | True | -| Option Name | Interface option to pass the secret value | False | +| Secret Name | The name of the secret to retrieve from the Admin / Secrets tab. For more information see [Admin Secrets](/docs/tools/admin#secrets). | True | +| Environment Variable or File Path | Environment variable name or file path to store secret. Note that if you use the Option Name to set an option to the secret value, this value doesn't really matter as long as it is unique. | True | +| Option Name | Interface option to pass the secret value. This is the primary way to pass secrets to interfaces. | False | | Secret Store Name | Name of the secret store for stores with multipart keys | False | Example Usage: @@ -331,6 +331,20 @@ Example Usage: ROUTE_PREFIX /interface ``` +### SHARD +
(Since 6.0.0)
**Operator shard to run target microservices on** + +Operator Shard. Only used if running multiple operator containers typically in Kubernetes + +| Parameter | Description | Required | +|-----------|-------------|----------| +| Shard | Shard number starting from 0 | False | + +Example Usage: +```ruby +SHARD 0 +``` + ## ROUTER **Create router to receive commands and output telemetry packets from one or more interfaces** @@ -535,6 +549,20 @@ Disable ERB processing for the entire target or a set of regular expressions ove |-----------|-------------|----------| | Regex | Regex to match against filenames. If match, then no ERB processing | False | +### SHARD +
(Since 6.0.0)
**Operator shard to run target microservices on** + +Operator Shard. Only used if running multiple operator containers typically in Kubernetes + +| Parameter | Description | Required | +|-----------|-------------|----------| +| Shard | Shard number starting from 0 | False | + +Example Usage: +```ruby +SHARD 0 +``` + ## MICROSERVICE **Defines a new microservice** @@ -674,12 +702,12 @@ Container to execute and run the microservice in. Only used in COSMOS Enterprise ### SECRET
(Since 5.3.0)
**Define a secret needed by this microservice** -Defines a secret for this microservice +Defines a secret for this microservice. For more information see [Admin Secrets](/docs/tools/admin#secrets). | Parameter | Description | Required | |-----------|-------------|----------| | Type | ENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file. | True | -| Secret Name | The name of the secret to retrieve | True | +| Secret Name | The name of the secret to retrieve from the Admin / Secrets tab. For more information see [Admin Secrets](/docs/tools/admin#secrets). | True | | Environment Variable or File Path | Environment variable name or file path to store secret | True | | Secret Store Name | Name of the secret store for stores with multipart keys | False | @@ -713,6 +741,20 @@ Disable ERB processing for the entire microservice or a set of regular expressio |-----------|-------------|----------| | Regex | Regex to match against filenames. If match, then no ERB processing | False | +### SHARD +
(Since 6.0.0)
**Operator shard to run target microservices on** + +Operator Shard. Only used if running multiple operator containers typically in Kubernetes + +| Parameter | Description | Required | +|-----------|-------------|----------| +| Shard | Shard number starting from 0 | False | + +Example Usage: +```ruby +SHARD 0 +``` + ## TOOL **Define a tool** @@ -803,6 +845,14 @@ Disable ERB processing for the entire tool or a set of regular expressions over |-----------|-------------|----------| | Regex | Regex to match against filenames. If match, then no ERB processing | False | +### IMPORT_MAP_ITEM +
(Since 6.0.0)
**Add an item to the import map** + +| Parameter | Description | Required | +|-----------|-------------|----------| +| key | Import Map Key | True | +| value | Import Map Value | True | + ## WIDGET **Define a custom widget** diff --git a/docs.openc3.com/docs/configuration/protocols.md b/docs.openc3.com/docs/configuration/protocols.md index 407fcf4777..03a8b36f8f 100644 --- a/docs.openc3.com/docs/configuration/protocols.md +++ b/docs.openc3.com/docs/configuration/protocols.md @@ -6,7 +6,7 @@ sidebar_custom_props: myEmoji: 💡 --- -Protocols process data on behalf of an Interface. They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol. +Protocols process data on behalf of an [Interface](interfaces). They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol. :::info Protocol Run Order Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first). @@ -22,12 +22,18 @@ Serial is a much less friendly byte stream. With serial connections, it is very UDP is an inherently packet based connection. If you read from a UDP socket, you will always receive back an entire packet. The best UDP based Protocols take advantage of this fact. Some implementations try to make UDP act like a byte stream, but this is a misuse of the protocol because it is highly likely that you will lose data and have no way to recover. +For more information about how Protocols fit with Interfaces and Accessors see [Interoperability Without Standards](https://www.openc3.com/news/interoperability-without-standards). + ## Packet Delineation Protocols COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream. +COSMOS Enterprise provides the following packet delineation protocols: CCSDS CLTU (with BCH Encoding), CCSDS TCTF (with Randomizer), CCSDS TMTF (with Randomizer), and GEMS. + Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning :STOP). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the [Custom Protocols](protocols.md#custom-protocols) documentation. +Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific. + ### COBS Protocol The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing for more). @@ -107,9 +113,76 @@ The Terminated Protocol delineates packets using termination characters found at | Sync Pattern | Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned. | No | nil (no sync pattern) | | Fill Fields | Whether to fill in the sync pattern on outgoing packets | No | false | -### Template Protocol +### GEMS Protocol (Enterprise) + +The GEMS Protocol implements the Ground Equipment Monitoring Service protocol. It is added along with the TerminatedProtocol which delineates packets using '|END'. The GEMS Interface is currently only implemented in Ruby. + +The GEMS protocol doesn't take any parameters but should be added to an interface after the TerminatedProtocol and CmdResponseProtocol. + +plugin.txt Ruby Example: + +```ruby +INTERFACE GEMS_INT tcpip_client_interface.rb openc3-operator 8080 8080 10.0 nil nil + # TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false ... means: + # wtc rtc strip discard sync fill + # where wtc = write termination characters, end of the gems protocol: 0x7C454E44 == '|END' + # rtc = read termination characters, end of the gems protocol: 0x7C454E44 == '|END' + # strip = strip read termination (false) + # discard = 0 bytes + # sync pattern = beginning of the GEMS protocol: 0x7C47454D53 == '|GEMS' + # fill = whether to fill in the sync pattern (false as we specify fill in our cmd/tlm definitions) + PROTOCOL READ TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false + # CmdResponseProtocol 5.0 0.2 true means: + # 5 sec response timeout, 0.2 sec response polling, + # and true to raise exceptions when protocol errors occur + PROTOCOL READ_WRITE CmdResponseProtocol 5.0 0.2 true + PROTOCOL READ_WRITE GemsProtocol +``` + +For a full example, please see the [openc3-cosmos-gems-interface](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-gems-interface) in the COSMOS Enterprise Plugins. + +### CCSDS CLTU Protocol (Enterprise) + +The CCSDS CLTU Protocol handles the CLTU (Communicates Link Transfer Unit) for Command Streams. It encodes outgoing messages with a BCH encoding and then applies a header and footer to the data. + +| Parameter | Description | Required | Default | +| --------- | ------------------------------ | -------- | ------------------ | +| Header | Header before BCH encoded data | No | 0xEB90 | +| Footer | Footer after BCH encoded data | No | 0xC5C5C5C5C5C5C579 | +| Fill Byte | BCH encoding fill byte | No | 0x55 | + +For a full example, please see the [openc3-cosmos-ccsds-protocols](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-ccsds-protocols) in the COSMOS Enterprise Plugins. + +### CCSDS TCTF Protocol (Enterprise) + +The CCSDS TCTF Protocol handles the Telecommand Transfer Frame for Command Streams. -**Deprecated** +| Parameter | Description | Required | Default | +| ------------- | ----------------------------------------------------------------------------- | -------- | ------- | +| Randomization | Whether to encode and randomize the transfer frame | No | true | +| Error Control | Whether to use the Frame Error Control Field and apply a 16 bit CRC | No | false | +| Bypass | Bypass bit where 0 is Type-A and 1 is Type-B (bypass frame acceptance checks) | No | 1 | +| SCID | Spacecraft Identifier (10 bits) | No | 0 | +| VCID | Virtual Channel Identifier (6 bits) | No | 0 | + +For a full example, please see the [openc3-cosmos-ccsds-protocols](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-ccsds-protocols) in the COSMOS Enterprise Plugins. + +### CCSDS TMTF Protocol (Enterprise) + +The CCSDS TMTF Protocol handles the Telemetry Transfer Frame for Telemetry Streams. It adds VCID, MC_FRM_CNT, VC_FRM_CNT to extra which will be included in the Decom data. + +| Parameter | Description | Required | Default | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------ | +| SCID | Spacecraft Identifier (10 bits) | Yes | | +| Frame Length | | No | 2048 | +| Randomization | Whether the transfer frame was encoded and randomized | No | true | +| Discard Leading Bytes | The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. | No | 0 (do not discard bytes) | +| Sync Pattern | Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned. | No | 0x1ACFFC1D | +| Fill Fields | Whether to fill in the sync pattern on outgoing packets | No | true | + +For a full example, please see the [openc3-cosmos-ccsds-protocols](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-ccsds-protocols) in the COSMOS Enterprise Plugins. + +### Template Protocol (Deprecated) This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead. @@ -130,9 +203,9 @@ The Template Protocol works much like the Terminated Protocol except it is desig | Response Polling Period | Number of seconds to wait between polling for a response | No | 0.02 | | Raise Exceptions | Whether to raise exceptions when errors occur like timeouts or unexpected responses | No | false | -### Preidentified Protocol +### Preidentified Protocol (Internal) -The Preidentified Protocol delineates packets using a custom COSMOS header. This Protocol is created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation. +The Preidentified Protocol delineates packets using a custom COSMOS header. This internal Protocol was created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation. | Parameter | Description | Required | Default | | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ----------------------- | @@ -146,7 +219,7 @@ COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. The ### CmdResponse Protocol -The CmdResponse Protocol waits for a response for any commands with a defined response packet (TODO: More documentation and examples). +The CmdResponse Protocol waits for a response for any commands with a defined response packet. | Parameter | Description | Required | Default | | ----------------------- | ------------------------------------------------------------------------------------------------------------ | -------- | ------- | @@ -154,6 +227,33 @@ The CmdResponse Protocol waits for a response for any commands with a defined re | Response Polling Period | Number of seconds to wait between polling for a response | No | 0.02 | | Raise Exceptions | Whether to raise exceptions when errors occur in the protocol like unexpected responses or response timeouts | No | false | +#### Packet Definitions + +The CmdResponseProtocol utilizes the [RESPONSE](../configuration/command#response) keyword in the command definition to determine which telemetry packet should be expected when the given command is sent. + +``` +COMMAND SCPI_PS GET_STATUS BIG_ENDIAN "Gets status" + ACCESSOR TemplateAccessor + TEMPLATE ":MEAS:VOLT? (@1:2)" + RESPONSE SCPI_PS STATUS +``` + +The Response packet (STATUS) should be defined to contain the response data. + +``` +TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Status" + ACCESSOR TemplateAccessor + TEMPLATE "," + APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Voltage Reading for Channel 1" + UNITS VOLTS V + FORMAT_STRING %0.3f + APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Voltage Reading for Channel 2" + UNITS VOLTS V + FORMAT_STRING %0.3f +``` + +For a full example, please see the [openc3-cosmos-scpi-power-supply](https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-scpi-power-supply) in the COSMOS Enterprise Plugins. + ### CRC Protocol The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets. diff --git a/docs.openc3.com/docs/configuration/ssl-tls.md b/docs.openc3.com/docs/configuration/ssl-tls.md index 67e282ee30..01ab2bd063 100644 --- a/docs.openc3.com/docs/configuration/ssl-tls.md +++ b/docs.openc3.com/docs/configuration/ssl-tls.md @@ -1,5 +1,5 @@ --- -sidebar_position: 10 +sidebar_position: 11 title: SSL-TLS description: How to configure SSL and TLS sidebar_custom_props: diff --git a/docs.openc3.com/docs/configuration/table.md b/docs.openc3.com/docs/configuration/table.md index b94ac4f5f0..b04c82486b 100644 --- a/docs.openc3.com/docs/configuration/table.md +++ b/docs.openc3.com/docs/configuration/table.md @@ -1,5 +1,5 @@ --- -sidebar_position: 8 +sidebar_position: 9 title: Tables description: Table definition file format and keywords --- @@ -138,7 +138,7 @@ If an item's bit offset overlaps another item, OpenC3 issues a warning. This key #### KEY
(Since 5.0.10)
**Defines the key used to access this raw value in the packet.** -Keys are often JsonPath or XPath strings +Keys are often [JSONPath](https://en.wikipedia.org/wiki/JSONPath) or [XPath](https://en.wikipedia.org/wiki/XPath) strings | Parameter | Description | Required | |-----------|-------------|----------| @@ -265,7 +265,7 @@ class TheGreatConversion(Conversion): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): - return value * multiplier + return value * self.multiplier ``` #### POLY_WRITE_CONVERSION diff --git a/docs.openc3.com/docs/configuration/telemetry-screens.md b/docs.openc3.com/docs/configuration/telemetry-screens.md index 3e6d576551..6f43a2b61c 100644 --- a/docs.openc3.com/docs/configuration/telemetry-screens.md +++ b/docs.openc3.com/docs/configuration/telemetry-screens.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 10 title: Screens description: Telemetry Viewer screen definition and widget documentation sidebar_custom_props: diff --git a/docs.openc3.com/docs/configuration/telemetry.md b/docs.openc3.com/docs/configuration/telemetry.md index 37ce1fa551..92b7b7bf24 100644 --- a/docs.openc3.com/docs/configuration/telemetry.md +++ b/docs.openc3.com/docs/configuration/telemetry.md @@ -168,7 +168,7 @@ If an item's bit offset overlaps another item, OpenC3 issues a warning. This key #### KEY
(Since 5.0.10)
**Defines the key used to access this raw value in the packet.** -Keys are often JsonPath or XPath strings +Keys are often [JSONPath](https://en.wikipedia.org/wiki/JSONPath) or [XPath](https://en.wikipedia.org/wiki/XPath) strings | Parameter | Description | Required | |-----------|-------------|----------| @@ -531,12 +531,26 @@ This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Cre ### ACCESSOR
(Since 5.0.10)
**Defines the class used to read and write raw values from the packet** -Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor. +Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see [Accessors](accessors). | Parameter | Description | Required | |-----------|-------------|----------| | Accessor Class Name | The name of the accessor class | True | +### TEMPLATE +
(Since 5.0.10)
**Defines a template string used to pull telemetry values from a string buffer** + +| Parameter | Description | Required | +|-----------|-------------|----------| +| Template | The template string which should be enclosed in quotes | True | + +### TEMPLATE_FILE +
(Since 5.0.10)
**Defines a template file used to pull telemetry values from a string buffer** + +| Parameter | Description | Required | +|-----------|-------------|----------| +| Template File Path | The relative path to the template file. Filename should generally start with an underscore. | True | + ### IGNORE_OVERLAP
(Since 5.16.0)
**Ignores any packet items which overlap** diff --git a/docs.openc3.com/docs/tools/admin.md b/docs.openc3.com/docs/tools/admin.md new file mode 100644 index 0000000000..5e13fbd387 --- /dev/null +++ b/docs.openc3.com/docs/tools/admin.md @@ -0,0 +1,77 @@ +--- +title: Admin +description: Administer COSMOS, install plugins, change settings +sidebar_custom_props: + myEmoji: 🛠️ +--- + +## Introduction + +Admin has it's own dedicated button at the top of the tools list. It is responsible for administering the COSMOS system including installing new plugins, viewing configuration, storing secrets and changing settings. + +### Plugins + +The Plugins tab is where you install new plugins into the COSMOS system. Plugins can dynamically add targets, microservices, interfaces, protocols, Telemetry Viewer widgets, and entire tools into the COSMOS runtime. The following screenshot shows the Plugins tab when only the COSMOS Demo is installed: + +![Plugins](/img/admin/plugins.png) + +The plugin gem name is listed along with all the targets it contains. You can Download, Edit, Upgrade, or Delete (uninstall) the plugin using the buttons to the right. If a plugin's target has been modified, the target name turns into a link which when clicked will download the changed files. New plugins are installed by clicking the top field. + +### Targets + +The Targets tab shows all the targets installed and what plugin they came from. Clicking the eyeball shows the raw JSON that makes up the target configuration. + +![Targets](/img/admin/targets.png) + +### Interfaces + +The Interfaces tab shows all the interfaces installed. Clicking the eyeball shows the raw JSON that makes up the interface configuration. + +![Interfaces](/img/admin/interfaces.png) + +### Routers + +The Routers tab shows all the routers installed. Clicking the eyeball shows the raw JSON that makes up the router configuration. + +![Routers](/img/admin/routers.png) + +### Microservices + +The Microservices tab shows all the microservices installed, their update time, state, and count. Clicking the eyeball shows the raw JSON that makes up the microservice configuration. + +![Microservices](/img/admin/microservices.png) + +### Packages + +The Packages tab shows all the Ruby gems and Python packages installed in the system. You can also install packages from this tab if you're in an offline (air gapped) environment where COSMOS can't pull dependencies from Rubygems or Pypi. + +![Packages](/img/admin/packages.png) + +### Tools + +The Tools tab lists all the tools installed. You can reorder the tools in the Navigation bar by dragging and dropping the left side grab handle. + +![Tools](/img/admin/tools.png) + +You can also add links to existing tools in the navigation bar by using the Add button. Any [material design icons](https://pictogrammers.com/library/mdi/) can be used as the Tool icon. + +![Add Tool](/img/admin/add_tool.png) + +### Redis + +The Redis tab allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. THIS IS DANGEROUS, and should only be performed by COSMOS developers. + +![Redis](/img/admin/redis.png) + +### Secrets + +The Secrets tab allows you to create secrets that can be used by Interfaces or Microservices using the [SECRET](../configuration/plugins#secret) keyword. Secrets require setting the Secret Name and then can be set to an individual value using the Secret Value, or to the contents of a file \(like a certificate file\) using the file selector. In the following example the USERNAME and PASSWORD were set to values while CA_FILE was set using an uploaded certificate file. + +![Secrets](/img/admin/secrets.png) + +### Settings + +The Settings tab contains various settings used throughout COSMOS. These including clearing saved tool configuration, hiding the Astro Clock, changing the system time zone, adding a top and bottom banner, creating a subtitle in the navigation bar, and changing the URLs of the various package libraries. + +![Settings1](/img/admin/settings1.png) +![Settings2](/img/admin/settings2.png) diff --git a/docs.openc3.com/static/img/admin/add_tool.png b/docs.openc3.com/static/img/admin/add_tool.png new file mode 100644 index 0000000000..8bbd1b0743 Binary files /dev/null and b/docs.openc3.com/static/img/admin/add_tool.png differ diff --git a/docs.openc3.com/static/img/admin/interfaces.png b/docs.openc3.com/static/img/admin/interfaces.png new file mode 100644 index 0000000000..ad17220f57 Binary files /dev/null and b/docs.openc3.com/static/img/admin/interfaces.png differ diff --git a/docs.openc3.com/static/img/admin/microservices.png b/docs.openc3.com/static/img/admin/microservices.png new file mode 100644 index 0000000000..4d3ebc6321 Binary files /dev/null and b/docs.openc3.com/static/img/admin/microservices.png differ diff --git a/docs.openc3.com/static/img/admin/packages.png b/docs.openc3.com/static/img/admin/packages.png new file mode 100644 index 0000000000..7285c2b018 Binary files /dev/null and b/docs.openc3.com/static/img/admin/packages.png differ diff --git a/docs.openc3.com/static/img/admin/plugins.png b/docs.openc3.com/static/img/admin/plugins.png new file mode 100644 index 0000000000..ae34c6c7e9 Binary files /dev/null and b/docs.openc3.com/static/img/admin/plugins.png differ diff --git a/docs.openc3.com/static/img/admin/redis.png b/docs.openc3.com/static/img/admin/redis.png new file mode 100644 index 0000000000..28bb0db599 Binary files /dev/null and b/docs.openc3.com/static/img/admin/redis.png differ diff --git a/docs.openc3.com/static/img/admin/routers.png b/docs.openc3.com/static/img/admin/routers.png new file mode 100644 index 0000000000..5d2dbd6cc7 Binary files /dev/null and b/docs.openc3.com/static/img/admin/routers.png differ diff --git a/docs.openc3.com/static/img/admin/secrets.png b/docs.openc3.com/static/img/admin/secrets.png new file mode 100644 index 0000000000..aa350c1f1f Binary files /dev/null and b/docs.openc3.com/static/img/admin/secrets.png differ diff --git a/docs.openc3.com/static/img/admin/settings1.png b/docs.openc3.com/static/img/admin/settings1.png new file mode 100644 index 0000000000..d26efe8d68 Binary files /dev/null and b/docs.openc3.com/static/img/admin/settings1.png differ diff --git a/docs.openc3.com/static/img/admin/settings2.png b/docs.openc3.com/static/img/admin/settings2.png new file mode 100644 index 0000000000..39326d1a44 Binary files /dev/null and b/docs.openc3.com/static/img/admin/settings2.png differ diff --git a/docs.openc3.com/static/img/admin/targets.png b/docs.openc3.com/static/img/admin/targets.png new file mode 100644 index 0000000000..e80da51a1f Binary files /dev/null and b/docs.openc3.com/static/img/admin/targets.png differ diff --git a/docs.openc3.com/static/img/admin/tools.png b/docs.openc3.com/static/img/admin/tools.png new file mode 100644 index 0000000000..f6b59af1b9 Binary files /dev/null and b/docs.openc3.com/static/img/admin/tools.png differ diff --git a/docs/404.html b/docs/404.html index fd2ec13ae1..5be8178388 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,13 +1 @@ - - - - - -Page Not Found | OpenC3 Docs - - - - -

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - \ No newline at end of file +Page Not Found | OpenC3 Docs

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/docs/assets/css/styles.335fa6a1.css b/docs/assets/css/styles.335fa6a1.css deleted file mode 100644 index d98f69a07b..0000000000 --- a/docs/assets/css/styles.335fa6a1.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.button,.dropdown__link,.searchbox,.text--truncate{white-space:nowrap}*,.algolia-autocomplete .ds-dropdown-menu *,.searchbox,.searchbox__input{box-sizing:border-box}.searchbox__reset:focus,.searchbox__submit:focus,body:not(.navigation-with-keyboard) :not(input):focus{outline:0}pre,table{overflow:auto}.markdown li,body{word-wrap:break-word}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_mC6p,.details_lb9f>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#4dacff;--ifm-color-primary-dark:#4dacff;--ifm-color-primary-darker:#4dacff;--ifm-color-primary-darkest:#4dacff;--ifm-color-primary-light:#4dacff;--ifm-color-primary-lighter:#4dacff;--ifm-color-primary-lightest:#4dacff;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_eTzJ article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%;height:auto;width:auto}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.cardContainer_S8oU :last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;top:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;visibility:hidden;left:0}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#4dacff;--ifm-color-primary-dark:#4dacff;--ifm-color-primary-darker:#4dacff;--ifm-color-primary-darkest:#4dacff;--ifm-color-primary-light:#4dacff;--ifm-color-primary-lighter:#4dacff;--ifm-color-primary-lightest:#4dacff;--docusaurus-highlighted-code-line-bg:#0000004d}img[alt=WIDTH]{width:260px}img[alt=BACKCOLOR],img[alt=BORDERCOLOR],img[alt=BUTTON],img[alt=CANVASDOT],img[alt=CANVASLABEL],img[alt=CANVASLINEVALUE],img[alt=CANVASLINE],img[alt=CHECKBUTTON],img[alt=COMBOBOX],img[alt=DATE],img[alt=FORMATVALUE],img[alt=HEIGHT],img[alt=HORIZONTALBOX],img[alt=IMAGEVIEWER],img[alt=LABELSPARKLINE],img[alt=LED],img[alt=LIMITSBAR],img[alt=LIMITSCOLUMN],img[alt=NAMED_WIDGET],img[alt=PADDING],img[alt=PROGRESSBAR],img[alt=RADIOBUTTON],img[alt=RANGEBAR],img[alt=ROLLUP],img[alt=SIGNAL],img[alt=TABITEM],img[alt=TEXTBOX],img[alt=TEXTCOLOR],img[alt=TEXTFIELD],img[alt=TIME],img[alt=VALUE],img[alt=VERTICALBOX],img[alt=VERTICAL]{width:200px}img[alt=HORIZONTALLINE],img[alt=LABELLED],img[alt=LABELVALUELIMITSCOLUMN],img[alt=MARGIN],img[alt=RAW],img[alt=SCROLLWINDOW],img[alt=SPACER],img[alt=TITLE],img[alt=VALUELIMITSCOLUMN]{width:180px}img[alt=SUBSETTING]{width:360px}img[alt=BLOCK],img[alt=HORIZONTAL],img[alt=LABELVALUERANGEBAR]{width:500px}img[alt=ARRAY],img[alt=CANVASIMAGEVALUE],img[alt=CANVASIMAGE],img[alt=CANVASLABELVALUE],img[alt=LABEL],img[alt=LIMITSCOLOR],img[alt=MATRIXBYCOLUMNS],img[alt=VALUERANGEBAR]{width:220px}img[alt=IFRAME]{width:800px}img[alt=LABELPROGRESSBAR]{width:320px}img[alt=LABELVALUEDESC],img[alt=LABELVALUE],img[alt=VALUELIMITSBAR]{width:300px}img[alt=LINEGRAPH],img[alt=SPARKLINE]{width:400px}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.searchbox,.searchbox__input,.tag_QGVx{display:inline-block}.tag_QGVx{margin:0 .4rem .5rem 0}.algolia-docsearch-suggestion{border-bottom-color:#3a3dd1}.algolia-docsearch-suggestion--category-header{background-color:#4b54de}.algolia-docsearch-suggestion--highlight{color:#3a33d1}.algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#4d47d5}.aa-cursor .algolia-docsearch-suggestion--content{color:#272296}.aa-cursor .algolia-docsearch-suggestion{background:#ebebfb}.searchbox{height:32px!important;position:relative;visibility:visible!important;width:200px}.searchbox .algolia-autocomplete{display:block;height:100%;width:100%}.searchbox__wrapper{height:100%;position:relative;width:100%;z-index:999}.searchbox__input{appearance:none;background:#fff!important;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;font-size:12px;height:100%;padding:0 26px 0 32px;transition:box-shadow .4s,background .4s;vertical-align:middle;white-space:normal;width:100%}.searchbox__reset,.searchbox__submit{font-size:inherit;-webkit-user-select:none;position:absolute}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{background:#fff;box-shadow:inset 0 0 0 1px #aaa;outline:0}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{background-color:#458ee100;border:0;border-radius:16px 0 0 16px;height:100%;left:0;margin:0;padding:0;right:inherit;text-align:center;top:0;user-select:none;vertical-align:middle;width:32px}.searchbox__submit:before{content:"";display:inline-block;height:100%;margin-right:-4px;vertical-align:middle}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion,.dropdownNavbarItemMobile_S0Fm,.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit svg{height:14px;vertical-align:middle;width:14px;fill:#6d7e96}.searchbox__reset{background:none;border:0;cursor:pointer;display:block;margin:0;padding:0;right:8px;top:8px;user-select:none;fill:#00000080}.searchbox__reset.hide{display:none}.searchbox__reset svg{display:block;height:8px;margin:4px;width:8px}.searchbox__input:valid~.searchbox__reset{animation-duration:.15s;animation-name:a;display:block}@keyframes a{0%{opacity:0;transform:translate3d(-20%,0,0)}to{opacity:1;transform:none}}.algolia-autocomplete .ds-dropdown-menu:before{background:#373940;border-radius:2px;border-right:1px solid #373940;border-top:1px solid #373940;content:"";display:block;height:14px;position:absolute;top:-7px;transform:rotate(-45deg);width:14px;z-index:1000}.algolia-autocomplete .ds-dropdown-menu{box-shadow:0 1px 0 0 #0003,0 2px 3px 0 #0000001a}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background:#fff;border-radius:4px;overflow:auto;padding:0;position:relative}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;overflow:hidden;padding:0;position:relative;text-decoration:none}.algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--wrapper{background:#f1f1f1;box-shadow:inset -2px 0 0 #61dafb}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{background:#ffe564;padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{background:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{background:inherit;box-shadow:inset 0 -2px 0 0 #458ee1cc;color:inherit;padding:0 0 1px}.algolia-autocomplete .algolia-docsearch-suggestion--content{cursor:pointer;display:block;float:right;padding:5.33333px 0 5.33333px 10.66667px;position:relative;width:70%}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{background:#ececec;content:"";display:block;height:100%;left:-1px;position:absolute;top:0;width:1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{background-color:#373940;color:#fff;display:none;font-size:14px;font-weight:700;letter-spacing:.08em;margin:0;padding:5px 8px;position:relative;text-transform:uppercase}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{background-color:#fff;float:left;padding:8px 0 0;width:100%}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{color:#777;display:none;float:left;font-size:.9em;padding:5.33333px 10.66667px;position:relative;text-align:right;width:30%;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{background:#ececec;content:"";display:block;height:100%;position:absolute;right:0;top:0;width:1px}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{color:#02060c;font-size:.9em;font-weight:700;margin-bottom:4px}.algolia-autocomplete .algolia-docsearch-suggestion--text{color:#63676d;display:block;font-size:.85em;line-height:1.2em;padding-right:2px}.algolia-autocomplete .algolia-docsearch-suggestion--version{color:#a6aab1;display:block;font-size:.65em;padding-right:2px;padding-top:2px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{background-color:#373940;font-size:1.2em;margin-top:-8px;padding:8px 0;text-align:center;width:100%}.algolia-autocomplete .algolia-docsearch-suggestion--no-results .algolia-docsearch-suggestion--text{color:#fff;margin-top:4px}#__docusaurus-base-url-issue-banner-container,.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:empty,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{background-color:#ebebeb;border:none;border-radius:3px;color:#222;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%;padding:1px 5px}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header{color:#fff;display:block}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column,.tocCollapsibleContent_vkbj a{display:block}.algolia-autocomplete .algolia-docsearch-footer{background-color:#fff;float:right;font-size:0;height:30px;line-height:0;width:100%;z-index:2000}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 18'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='url(%2523a)' d='M59.4.02h13.3a2.37 2.37 0 0 1 2.38 2.37V15.6a2.37 2.37 0 0 1-2.38 2.36H59.4a2.37 2.37 0 0 1-2.38-2.36V2.38A2.37 2.37 0 0 1 59.4.02'/%3E%3Cpath fill='%2523FFF' d='M66.26 4.56c-2.82 0-5.1 2.27-5.1 5.08 0 2.8 2.28 5.07 5.1 5.07 2.8 0 5.1-2.26 5.1-5.07 0-2.8-2.28-5.07-5.1-5.07zm0 8.65c-2 0-3.6-1.6-3.6-3.56 0-1.97 1.6-3.58 3.6-3.58 1.98 0 3.6 1.6 3.6 3.58a3.58 3.58 0 0 1-3.6 3.57zm0-6.4v2.66c0 .07.08.13.15.1l2.4-1.24c.04-.02.06-.1.03-.14a2.96 2.96 0 0 0-2.46-1.5.1.1 0 0 0-.1.1zm-3.33-1.96-.3-.3a.78.78 0 0 0-1.12 0l-.36.36a.77.77 0 0 0 0 1.1l.3.3c.05.05.13.04.17 0 .2-.25.4-.5.6-.7.23-.23.46-.43.7-.6.07-.04.07-.1.03-.16zm5-.8V3.4a.78.78 0 0 0-.78-.78h-1.83a.78.78 0 0 0-.78.78v.63c0 .07.06.12.14.1a5.7 5.7 0 0 1 1.58-.22c.52 0 1.04.07 1.54.2a.1.1 0 0 0 .13-.1z'/%3E%3Cpath fill='%2523182359' d='M102.16 13.76c0 1.46-.37 2.52-1.12 3.2-.75.67-1.9 1-3.44 1-.56 0-1.74-.1-2.67-.3l.34-1.7c.78.17 1.82.2 2.36.2.86 0 1.48-.16 1.84-.5.37-.36.55-.88.55-1.57v-.35a6 6 0 0 1-.84.3 4.2 4.2 0 0 1-1.2.17 4.5 4.5 0 0 1-1.6-.28 3.4 3.4 0 0 1-1.26-.82 3.7 3.7 0 0 1-.8-1.35c-.2-.54-.3-1.5-.3-2.2 0-.67.1-1.5.3-2.06a3.9 3.9 0 0 1 .9-1.43 4.1 4.1 0 0 1 1.45-.92 5.3 5.3 0 0 1 1.94-.37c.7 0 1.35.1 1.97.2a16 16 0 0 1 1.6.33v8.46zm-5.95-4.2c0 .9.2 1.88.6 2.3.4.4.9.62 1.53.62q.51 0 .96-.15a2.8 2.8 0 0 0 .73-.33V6.7a8.5 8.5 0 0 0-1.42-.17c-.76-.02-1.36.3-1.77.8-.4.5-.62 1.4-.62 2.23zm16.13 0c0 .72-.1 1.26-.32 1.85a4.4 4.4 0 0 1-.9 1.53c-.38.42-.85.75-1.4.98-.54.24-1.4.37-1.8.37-.43 0-1.27-.13-1.8-.36a4.1 4.1 0 0 1-1.4-.97 4.5 4.5 0 0 1-.92-1.52 5 5 0 0 1-.33-1.84c0-.72.1-1.4.32-2s.53-1.1.92-1.5c.4-.43.86-.75 1.4-.98a4.55 4.55 0 0 1 1.78-.34 4.7 4.7 0 0 1 1.8.34c.54.23 1 .55 1.4.97q.57.63.9 1.5c.23.6.35 1.3.35 2zm-2.2 0c0-.92-.2-1.7-.6-2.22-.38-.54-.94-.8-1.64-.8-.72 0-1.27.26-1.67.8s-.58 1.3-.58 2.22c0 .93.2 1.56.6 2.1.38.54.94.8 1.64.8s1.25-.26 1.65-.8c.4-.55.6-1.17.6-2.1m6.97 4.7c-3.5.02-3.5-2.8-3.5-3.27L113.57.92l2.15-.34v10c0 .25 0 1.87 1.37 1.88v1.8zm3.77 0h-2.15v-9.2l2.15-.33v9.54zM119.8 3.74c.7 0 1.3-.58 1.3-1.3 0-.7-.58-1.3-1.3-1.3-.73 0-1.3.6-1.3 1.3 0 .72.58 1.3 1.3 1.3m6.43 1c.7 0 1.3.1 1.78.27.5.18.88.42 1.17.73.28.3.5.74.6 1.18.13.46.2.95.2 1.5v5.47a25 25 0 0 1-1.5.25q-1.005.15-2.25.15a6.8 6.8 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.37-.27-.9-.27-1.44 0-.52.1-.85.3-1.2.2-.37.48-.67.83-.9a3.6 3.6 0 0 1 1.23-.5 7 7 0 0 1 2.2-.1l.83.16V8.4c0-.25-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.18-.34-.3-.58-.4a2.5 2.5 0 0 0-.92-.17c-.5 0-.94.06-1.35.13-.4.08-.75.16-1 .25l-.27-1.74c.27-.1.67-.18 1.2-.28a9.3 9.3 0 0 1 1.65-.14zm.18 7.74c.66 0 1.15-.04 1.5-.1V10.2a5.1 5.1 0 0 0-2-.1c-.23.03-.45.1-.64.2a1.17 1.17 0 0 0-.47.38c-.13.17-.18.26-.18.52 0 .5.17.8.5.98.32.2.74.3 1.3.3zM84.1 4.8c.72 0 1.3.08 1.8.26.48.17.87.42 1.15.73.3.3.5.72.6 1.17.14.45.2.94.2 1.47v5.48a25 25 0 0 1-1.5.26c-.67.1-1.42.14-2.25.14a6.8 6.8 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.38-.27-.9-.27-1.44 0-.53.1-.86.3-1.22s.5-.65.84-.88a3.6 3.6 0 0 1 1.24-.5 7 7 0 0 1 2.2-.1q.39.045.84.15v-.35c0-.24-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.17-.34-.3-.58-.4a2.5 2.5 0 0 0-.9-.15c-.5 0-.96.05-1.37.12-.4.07-.75.15-1 .24l-.26-1.75c.27-.08.67-.17 1.18-.26a9 9 0 0 1 1.66-.15zm.2 7.73c.65 0 1.14-.04 1.48-.1v-2.17a5.1 5.1 0 0 0-1.98-.1c-.24.03-.46.1-.65.18a1.17 1.17 0 0 0-.47.4c-.12.17-.17.26-.17.52 0 .5.18.8.5.98.32.2.75.3 1.3.3zm8.68 1.74c-3.5 0-3.5-2.82-3.5-3.28L89.45.92 91.6.6v10c0 .25 0 1.87 1.38 1.88v1.8z'/%3E%3Cpath fill='%25231D3657' d='M5.03 11.03c0 .7-.26 1.24-.76 1.64q-.75.6-2.1.6c-.88 0-1.6-.14-2.17-.42v-1.2c.36.16.74.3 1.14.38.4.1.78.15 1.13.15.5 0 .88-.1 1.12-.3a.94.94 0 0 0 .35-.77.98.98 0 0 0-.33-.74c-.22-.2-.68-.44-1.37-.72-.72-.3-1.22-.62-1.52-1C.23 8.27.1 7.82.1 7.3c0-.65.22-1.17.7-1.55.46-.37 1.08-.56 1.86-.56.76 0 1.5.16 2.25.48l-.4 1.05c-.7-.3-1.32-.44-1.87-.44-.4 0-.73.08-.94.26a.9.9 0 0 0-.33.72c0 .2.04.38.12.52.08.15.22.3.42.4.2.14.55.3 1.06.52.58.24 1 .47 1.27.67s.47.44.6.7c.12.26.18.57.18.92zM9 13.27c-.92 0-1.64-.27-2.16-.8-.52-.55-.78-1.3-.78-2.24 0-.97.24-1.73.72-2.3.5-.54 1.15-.82 2-.82.78 0 1.4.25 1.85.72.46.48.7 1.14.7 1.97v.67H7.35c0 .58.17 1.02.46 1.33.3.3.7.47 1.24.47.36 0 .68-.04.98-.1a5 5 0 0 0 .98-.33v1.02a3.9 3.9 0 0 1-.94.32 5.7 5.7 0 0 1-1.08.1zm-.22-5.2c-.4 0-.73.12-.97.38s-.37.62-.42 1.1h2.7c0-.48-.13-.85-.36-1.1-.23-.26-.54-.38-.94-.38zm7.7 5.1-.26-.84h-.05c-.28.36-.57.6-.86.74-.28.13-.65.2-1.1.2-.6 0-1.05-.16-1.38-.48-.32-.32-.5-.77-.5-1.34 0-.62.24-1.08.7-1.4.45-.3 1.14-.47 2.07-.5l1.02-.03V9.2c0-.37-.1-.65-.27-.84-.17-.2-.45-.28-.82-.28-.3 0-.6.04-.88.13a7 7 0 0 0-.8.33l-.4-.9a4.4 4.4 0 0 1 1.05-.4 5 5 0 0 1 1.08-.12c.76 0 1.33.18 1.7.5q.6.495.6 1.56v4h-.9zm-1.9-.87c.47 0 .83-.13 1.1-.38.3-.26.43-.62.43-1.08v-.52l-.76.03c-.6.03-1.02.13-1.3.3s-.4.45-.4.82c0 .26.08.47.24.6.16.16.4.23.7.23zm7.57-5.2c.25 0 .46.03.62.06l-.12 1.18a2.4 2.4 0 0 0-.56-.06c-.5 0-.92.16-1.24.5-.3.32-.47.75-.47 1.27v3.1h-1.27V7.23h1l.16 1.05h.05c.2-.36.45-.64.77-.85a1.83 1.83 0 0 1 1.02-.3zm4.12 6.17c-.9 0-1.58-.27-2.05-.8-.47-.52-.7-1.27-.7-2.25 0-1 .24-1.77.73-2.3.5-.54 1.2-.8 2.12-.8.63 0 1.2.1 1.7.34l-.4 1c-.52-.2-.96-.3-1.3-.3-1.04 0-1.55.68-1.55 2.05 0 .67.13 1.17.38 1.5.26.34.64.5 1.13.5a3.23 3.23 0 0 0 1.6-.4v1.1a2.5 2.5 0 0 1-.73.28 4.4 4.4 0 0 1-.93.08m8.28-.1h-1.27V9.5c0-.45-.1-.8-.28-1.02-.18-.23-.47-.34-.88-.34-.53 0-.9.16-1.16.48-.25.3-.38.85-.38 1.6v2.94h-1.26V4.8h1.26v2.12c0 .34-.02.7-.06 1.1h.08a1.76 1.76 0 0 1 .72-.67c.3-.16.66-.24 1.07-.24 1.43 0 2.15.74 2.15 2.2v3.86zM42.2 7.1c.74 0 1.32.28 1.73.82.4.53.62 1.3.62 2.26 0 .97-.2 1.73-.63 2.27-.42.54-1 .82-1.75.82s-1.33-.27-1.75-.8h-.08l-.23.7h-.94V4.8h1.26v2l-.02.64-.03.56h.05c.4-.6 1-.9 1.78-.9zm-.33 1.04c-.5 0-.88.15-1.1.45s-.34.8-.35 1.5v.08c0 .72.12 1.24.35 1.57.23.32.6.48 1.12.48.44 0 .78-.17 1-.53.24-.35.36-.87.36-1.53 0-1.35-.47-2.03-1.4-2.03zm3.24-.92h1.4l1.2 3.37c.18.47.3.92.36 1.34h.04l.18-.72 1.37-4H51l-2.53 6.73c-.46 1.23-1.23 1.85-2.3 1.85-.3 0-.56-.03-.83-.1v-1c.2.05.4.08.65.08.6 0 1.03-.36 1.28-1.06l.22-.56-2.4-5.94z'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100%;display:block;height:100%;margin-left:auto;margin-right:5px;overflow:hidden;text-indent:-9000px;width:110px}html[data-theme=dark] .algolia-docsearch-footer,html[data-theme=dark] .algolia-docsearch-suggestion--category-header,html[data-theme=dark] .algolia-docsearch-suggestion--wrapper{background:var(--ifm-background-color)!important;color:var(--ifm-font-color-base)!important}html[data-theme=dark] .algolia-docsearch-suggestion--title{color:var(--ifm-font-color-base)!important}html[data-theme=dark] .ds-cursor .algolia-docsearch-suggestion--wrapper{background:var(--ifm-background-surface-color)!important}mark{background-color:#add8e6}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.iconExternalLink_nPIU{margin-left:.3rem}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.features_t9lD{align-items:center;display:flex;padding:2rem 0;width:100%}.featureSvg_GfXr{height:200px;width:200px}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN{align-items:center;display:flex;justify-content:center}.cardContainer_S8oU{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_S8oU:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_HoSo{font-size:1.2rem}.cardDescription_c27F{font-size:.8rem}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.lastUpdated_JAkA{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.mdxPageWrapper_j9I6{justify-content:center}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}@media (min-width:601px){.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{left:inherit!important;right:0!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete .ds-dropdown-menu{background:#0000;border:none;border-radius:4px;height:auto;margin:6px 0 0;max-width:600px;min-width:500px;padding:0;position:relative;text-align:left;top:-6px;z-index:999}}@media (min-width:768px){.algolia-docsearch-suggestion{border-bottom-color:#7671df}.algolia-docsearch-suggestion--subcategory-column{border-right-color:#7671df;color:#4e4726}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_JAkA{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block;width:max-content}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@media (max-width:600px){.algolia-autocomplete .ds-dropdown-menu{display:block;left:auto!important;max-height:calc(100% - 5rem);max-width:calc(100% - 2rem);position:fixed!important;right:1rem!important;top:50px!important;width:600px;z-index:100}.algolia-autocomplete .ds-dropdown-menu:before{right:6rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/docs/assets/css/styles.835b613e.css b/docs/assets/css/styles.835b613e.css new file mode 100644 index 0000000000..63efb28859 --- /dev/null +++ b/docs/assets/css/styles.835b613e.css @@ -0,0 +1 @@ +:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:.2s;--ifm-transition-slow:.4s;--ifm-transition-timing-default:cubic-bezier(.08,.52,.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:.1rem;--ifm-code-padding-vertical:.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:.875rem;--ifm-h6-font-size:.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:.8rem;--ifm-breadcrumb-padding-vertical:.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url("data:image/svg+xml;utf8,");--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-color:var(--ifm-font-color-base-inverse);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:.5rem;--ifm-toc-padding-horizontal:.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:.75rem;--ifm-menu-link-padding-vertical:.375rem;--ifm-menu-link-sublist-icon:url("data:image/svg+xml;utf8,");--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:.75rem;--ifm-navbar-item-padding-vertical:.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url("data:image/svg+xml;utf8,");--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}*{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base)var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{word-wrap:break-word;margin:0}iframe{color-scheme:normal;border:0}.container{max-width:var(--ifm-container-width);padding:0 var(--ifm-spacing-horizontal);width:100%;margin:0 auto}.container--fluid{max-width:inherit}.row{margin:0 calc(var(--ifm-spacing-horizontal)*-1);flex-wrap:wrap;display:flex}.row--no-gutters{margin-left:0;margin-right:0}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;max-width:var(--ifm-col-width);padding:0 var(--ifm-spacing-horizontal);flex:1 0;width:100%;margin-left:0}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:calc(1/12*100%)}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:calc(2/12*100%)}.col--offset-2{margin-left:16.6667%}.col--3{--ifm-col-width:calc(3/12*100%)}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:calc(4/12*100%)}.col--offset-4{margin-left:33.3333%}.col--5{--ifm-col-width:calc(5/12*100%)}.col--offset-5{margin-left:41.6667%}.col--6{--ifm-col-width:calc(6/12*100%)}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:calc(7/12*100%)}.col--offset-7{margin-left:58.3333%}.col--8{--ifm-col-width:calc(8/12*100%)}.col--offset-8{margin-left:66.6667%}.col--9{--ifm-col-width:calc(9/12*100%)}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:calc(10/12*100%)}.col--offset-10{margin-left:83.3333%}.col--11{--ifm-col-width:calc(11/12*100%)}.col--offset-11{margin-left:91.6667%}.col--12{--ifm-col-width:calc(12/12*100%)}.col--offset-12{margin-left:100%}.margin--none{margin:0!important}.margin-top--none{margin-top:0!important}.margin-left--none{margin-left:0!important}.margin-bottom--none{margin-bottom:0!important}.margin-right--none{margin-right:0!important}.margin-vert--none{margin-top:0!important;margin-bottom:0!important}.margin-horiz--none{margin-left:0!important;margin-right:0!important}.margin--xs{margin:.25rem!important}.margin-top--xs{margin-top:.25rem!important}.margin-left--xs{margin-left:.25rem!important}.margin-bottom--xs{margin-bottom:.25rem!important}.margin-right--xs{margin-right:.25rem!important}.margin-vert--xs{margin-top:.25rem!important;margin-bottom:.25rem!important}.margin-horiz--xs{margin-left:.25rem!important;margin-right:.25rem!important}.margin--sm{margin:.5rem!important}.margin-top--sm{margin-top:.5rem!important}.margin-left--sm{margin-left:.5rem!important}.margin-bottom--sm{margin-bottom:.5rem!important}.margin-right--sm{margin-right:.5rem!important}.margin-vert--sm{margin-top:.5rem!important;margin-bottom:.5rem!important}.margin-horiz--sm{margin-left:.5rem!important;margin-right:.5rem!important}.margin--md{margin:1rem!important}.margin-top--md{margin-top:1rem!important}.margin-left--md{margin-left:1rem!important}.margin-bottom--md{margin-bottom:1rem!important}.margin-right--md{margin-right:1rem!important}.margin-vert--md{margin-top:1rem!important;margin-bottom:1rem!important}.margin-horiz--md{margin-left:1rem!important;margin-right:1rem!important}.margin--lg{margin:2rem!important}.margin-top--lg{margin-top:2rem!important}.margin-left--lg{margin-left:2rem!important}.margin-bottom--lg{margin-bottom:2rem!important}.margin-right--lg{margin-right:2rem!important}.margin-vert--lg{margin-top:2rem!important;margin-bottom:2rem!important}.margin-horiz--lg{margin-left:2rem!important;margin-right:2rem!important}.margin--xl{margin:5rem!important}.margin-top--xl{margin-top:5rem!important}.margin-left--xl{margin-left:5rem!important}.margin-bottom--xl{margin-bottom:5rem!important}.margin-right--xl{margin-right:5rem!important}.margin-vert--xl{margin-top:5rem!important;margin-bottom:5rem!important}.margin-horiz--xl{margin-left:5rem!important;margin-right:5rem!important}.padding--none{padding:0!important}.padding-top--none{padding-top:0!important}.padding-left--none{padding-left:0!important}.padding-bottom--none{padding-bottom:0!important}.padding-right--none{padding-right:0!important}.padding-vert--none{padding-top:0!important;padding-bottom:0!important}.padding-horiz--none{padding-left:0!important;padding-right:0!important}.padding--xs{padding:.25rem!important}.padding-top--xs{padding-top:.25rem!important}.padding-left--xs{padding-left:.25rem!important}.padding-bottom--xs{padding-bottom:.25rem!important}.padding-right--xs{padding-right:.25rem!important}.padding-vert--xs{padding-top:.25rem!important;padding-bottom:.25rem!important}.padding-horiz--xs{padding-left:.25rem!important;padding-right:.25rem!important}.padding--sm{padding:.5rem!important}.padding-top--sm{padding-top:.5rem!important}.padding-left--sm{padding-left:.5rem!important}.padding-bottom--sm{padding-bottom:.5rem!important}.padding-right--sm{padding-right:.5rem!important}.padding-vert--sm{padding-top:.5rem!important;padding-bottom:.5rem!important}.padding-horiz--sm{padding-left:.5rem!important;padding-right:.5rem!important}.padding--md{padding:1rem!important}.padding-top--md{padding-top:1rem!important}.padding-left--md{padding-left:1rem!important}.padding-bottom--md{padding-bottom:1rem!important}.padding-right--md{padding-right:1rem!important}.padding-vert--md{padding-top:1rem!important;padding-bottom:1rem!important}.padding-horiz--md{padding-left:1rem!important;padding-right:1rem!important}.padding--lg{padding:2rem!important}.padding-top--lg{padding-top:2rem!important}.padding-left--lg{padding-left:2rem!important}.padding-bottom--lg{padding-bottom:2rem!important}.padding-right--lg{padding-right:2rem!important}.padding-vert--lg{padding-top:2rem!important;padding-bottom:2rem!important}.padding-horiz--lg{padding-left:2rem!important;padding-right:2rem!important}.padding--xl{padding:5rem!important}.padding-top--xl{padding-top:5rem!important}.padding-left--xl{padding-left:5rem!important}.padding-bottom--xl{padding-bottom:5rem!important}.padding-right--xl{padding-right:5rem!important}.padding-vert--xl{padding-top:5rem!important;padding-bottom:5rem!important}.padding-horiz--xl{padding-left:5rem!important;padding-right:5rem!important}code{background-color:var(--ifm-code-background);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical)var(--ifm-code-padding-horizontal);vertical-align:middle;border:.1rem solid rgba(0,0,0,.1)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height)var(--ifm-font-family-monospace);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-pre-padding);overflow:auto}pre code{font-size:100%;line-height:inherit;background-color:transparent;border:none;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);border-radius:.2rem;padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top)0 var(--ifm-heading-margin-bottom)0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:before{content:"";display:table}.markdown:after{clear:both;content:"";display:table}.markdown>:last-child{margin-bottom:0!important}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>pre,.markdown>ul,.markdown>p{margin-bottom:var(--ifm-leading)}.markdown li{word-wrap:break-word}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ul,ol{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ul ul,ul ol,ol ol,ol ul{margin:0}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}table{border-collapse:collapse;margin-bottom:var(--ifm-spacing-vertical);display:block;overflow:auto}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead{background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width)solid var(--ifm-table-border-color)}table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table th,table td{border:var(--ifm-table-border-width)solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default)}a:hover{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}a:not([href]){-webkit-text-decoration:none;text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width)solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-blockquote-padding-vertical)var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical)0;border:0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text--break{word-wrap:break-word!important;word-break:break-word!important}.text--no-decoration,.text--no-decoration:hover{-webkit-text-decoration:none;text-decoration:none}.clean-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.clean-list{padding-left:0;list-style:none}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width)solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);color:var(--ifm-alert-foreground-color);padding:var(--ifm-alert-padding-vertical)var(--ifm-alert-padding-horizontal)}.alert__heading{font:bold var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase;align-items:center;margin-bottom:.5rem;display:flex}.alert__icon{margin-right:.4em;display:inline-flex}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{color:var(--ifm-alert-foreground-color);margin:calc(var(--ifm-alert-padding-vertical)*-1)calc(var(--ifm-alert-padding-horizontal)*-1)0 0;opacity:.75}.alert .close:hover,.alert .close:focus{opacity:1}.alert a{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size);border-radius:50%;display:block;overflow:hidden}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{text-align:var(--ifm-avatar-intro-alignment);flex-direction:column;flex:1;justify-content:center;display:flex}.avatar__name{font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:.5rem;flex-direction:column;align-items:center}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width)solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);padding:var(--ifm-badge-padding-vertical)var(--ifm-badge-padding-horizontal);line-height:1;display:inline-block}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);--ifm-badge-border-color:var(--ifm-badge-background-color);color:var(--ifm-color-black)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger);--ifm-badge-border-color:var(--ifm-badge-background-color)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item{display:inline-block}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator)center;content:" ";filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));display:inline-block}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);color:var(--ifm-font-color-base);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier))calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-property:background,color;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);display:inline-block}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width)solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);color:var(--ifm-button-color);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier))calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;transition-property:color,background,border-color;transition-duration:var(--ifm-button-transition-duration);transition-timing-function:var(--ifm-transition-timing-default);line-height:1.5;display:inline-block}.button:hover{color:var(--ifm-button-color);-webkit-text-decoration:none;text-decoration:none}.button--outline{--ifm-button-background-color:transparent;--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--outline:hover,.button--outline:active,.button--outline.button--active{--ifm-button-color:var(--ifm-font-color-base-inverse)}.button--link{--ifm-button-background-color:transparent;--ifm-button-border-color:transparent;color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration)}.button--link:hover,.button--link:active,.button--link.button--active{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{width:100%;display:block}.button.button--secondary{color:var(--ifm-color-gray-900)}.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary:active,.button--primary.button--active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary:active,.button--secondary.button--active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success:active,.button--success.button--active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info:active,.button--info.button--active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning:active,.button--warning.button--active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger:active,.button--danger.button--active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{gap:var(--ifm-button-group-spacing);display:inline-flex}.button-group>.button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.button-group>.button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.button-group--block{justify-content:stretch;display:flex}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);flex-direction:column;display:flex;overflow:hidden}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__header,.card__body,.card__footer{padding:var(--ifm-card-vertical-spacing)var(--ifm-card-horizontal-spacing)}.card__header:not(:last-child),.card__body:not(:last-child),.card__footer:not(:last-child){padding-bottom:0}.card__header>:last-child,.card__body>:last-child,.card__footer>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{padding:var(--ifm-toc-padding-vertical)0;margin-bottom:0;font-size:.8rem}.table-of-contents,.table-of-contents ul{padding-left:var(--ifm-toc-padding-horizontal);list-style:none}.table-of-contents li{margin:var(--ifm-toc-padding-vertical)var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link:hover,.table-of-contents__link:hover code,.table-of-contents__link--active,.table-of-contents__link--active code{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default);padding:1rem;line-height:1}.close:hover{opacity:.7}.close:focus{opacity:.8}.dropdown{font-weight:var(--ifm-dropdown-font-weight);vertical-align:top;display:inline-flex;position:relative}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;visibility:visible;transform:translateY(-1px)}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);opacity:0;pointer-events:none;min-width:10rem;max-height:80vh;left:0;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);visibility:hidden;z-index:var(--ifm-z-index-dropdown);transition-property:opacity,transform,visibility;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);padding:.5rem;list-style:none;position:absolute;overflow-y:auto;transform:translateY(-.625rem)}.dropdown__link{color:var(--ifm-dropdown-link-color);white-space:nowrap;border-radius:.25rem;margin-top:.2rem;padding:.25rem .5rem;font-size:.875rem;display:block}.dropdown__link:hover,.dropdown__link--active{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);-webkit-text-decoration:none;text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{content:"";border:.4em solid transparent;border-top-color:currentColor;border-bottom:0 solid;margin-left:.3em;display:inline-block;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical)var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{max-width:var(--ifm-footer-logo-max-width);margin-top:1rem}.footer__title{color:var(--ifm-footer-title-color);font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.footer__item{margin-top:0}.footer__items{margin-bottom:0}[type=checkbox]{padding:0}.hero{background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);align-items:center;padding:4rem 2rem;display:flex}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu{font-weight:var(--ifm-font-weight-semibold);overflow-x:hidden}.menu__list{margin:0;padding-left:0;list-style:none}.menu__list .menu__list{padding-left:var(--ifm-menu-link-padding-horizontal);flex:0 0 100%;margin-top:.25rem}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.menu__list-item--collapsed .menu__link--sublist:after,.menu__list-item--collapsed .menu__caret:before{transform:rotate(90deg)}.menu__list-item-collapsible{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;flex-wrap:wrap;display:flex;position:relative}.menu__list-item-collapsible:hover,.menu__list-item-collapsible--active{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link:hover,.menu__list-item-collapsible .menu__link--active{background:0 0!important}.menu__link,.menu__caret{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;align-items:center;display:flex}.menu__link:hover,.menu__caret:hover{background:var(--ifm-menu-color-background-hover)}.menu__link{color:var(--ifm-menu-color);padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default);-webkit-text-decoration:none;text-decoration:none}.menu__link--sublist-caret:after{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;min-width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;margin-left:auto;transform:rotate(180deg)}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu__caret:before{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;transform:rotate(180deg)}html[data-theme=dark],.navbar--dark{--ifm-menu-link-sublist-icon-filter:invert(100%)sepia(94%)saturate(17%)hue-rotate(223deg)brightness(104%)contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);display:flex}.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{z-index:var(--ifm-z-index-fixed);position:sticky;top:0}.navbar__inner{flex-wrap:wrap;justify-content:space-between;width:100%;display:flex}.navbar__brand{color:var(--ifm-navbar-link-color);align-items:center;min-width:0;margin-right:1rem;display:flex}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar__title{flex:auto}.navbar__toggle{margin-right:.5rem;display:none}.navbar__logo{flex:none;height:2rem;margin-right:.5rem}.navbar__logo img{height:100%}.navbar__items{flex:1;align-items:center;min-width:0;display:flex}.navbar__items--center{flex:none}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:none;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{padding:var(--ifm-navbar-item-padding-vertical)var(--ifm-navbar-item-padding-horizontal);display:inline-block}.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link{color:var(--ifm-navbar-link-color);font-weight:var(--ifm-font-weight-semibold)}.navbar__link:hover,.navbar__link--active{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:rgba(255,255,255,.1);--ifm-navbar-search-input-placeholder-color:rgba(255,255,255,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-menu-color-background-active:rgba(255,255,255,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color)var(--ifm-navbar-search-input-icon)no-repeat .75rem center/1rem 1rem;color:var(--ifm-navbar-search-input-color);cursor:text;border:none;border-radius:2rem;width:12.5rem;height:2rem;padding:0 .5rem 0 2.25rem;font-size:1rem;display:inline-block}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);opacity:0;visibility:hidden;width:var(--ifm-navbar-sidebar-width);transition-property:opacity,visibility,transform;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;transform:translate(-100%)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar--show .navbar-sidebar{transform:translate(0,0)}.navbar-sidebar__backdrop{opacity:0;visibility:hidden;transition-property:opacity,visibility;transition-duration:var(--ifm-transition-fast);background-color:rgba(0,0,0,.6);transition-timing-function:ease-in-out;position:fixed;inset:0}.navbar-sidebar__brand{box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);flex:1;align-items:center;display:flex}.navbar-sidebar__items{height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast)ease-in-out;display:flex;transform:translateZ(0)}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{width:calc(var(--ifm-navbar-sidebar-width));flex-shrink:0;padding:.5rem}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);text-align:left;width:calc(100% + 1rem);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;top:-.5rem}.navbar-sidebar__close{margin-left:auto;display:flex}.pagination{column-gap:var(--ifm-pagination-page-spacing);font-size:var(--ifm-pagination-font-size);padding-left:0;display:flex}.pagination--sm{--ifm-pagination-font-size:.8rem;--ifm-pagination-padding-horizontal:.8rem;--ifm-pagination-padding-vertical:.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{background:var(--ifm-pagination-item-active-background);color:var(--ifm-pagination-color-active)}.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);padding:var(--ifm-pagination-padding-vertical)var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:inline-block}.pagination__link:hover{-webkit-text-decoration:none;text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr);display:grid}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:block}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);-webkit-text-decoration:none;text-decoration:none}.pagination-nav__link--next{text-align:right;grid-column:2/3}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills{gap:var(--ifm-pills-spacing);padding-left:0;display:flex}.pills__item{cursor:pointer;font-weight:var(--ifm-font-weight-bold);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.5rem;padding:.25rem 1rem;display:inline-block}.pills__item--active{background:var(--ifm-pills-color-background-active);color:var(--ifm-pills-color-active)}.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{text-align:center;flex-grow:1}.tabs{color:var(--ifm-tabs-color);font-weight:var(--ifm-font-weight-bold);margin-bottom:0;padding-left:0;display:flex;overflow-x:auto}.tabs__item{border-radius:var(--ifm-global-radius);cursor:pointer;padding:var(--ifm-tabs-padding-vertical)var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-bottom:3px solid transparent;display:inline-flex}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);color:var(--ifm-tabs-color-active);border-bottom-right-radius:0;border-bottom-left-radius:0}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:rgba(255,255,255,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%)sepia(11%)saturate(0%)hue-rotate(149deg)brightness(99%)contrast(95%);--ifm-code-background:rgba(255,255,255,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:rgba(255,255,255,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.footer__link-separator{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{width:max-content;display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__item{display:none}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0s;--ifm-transition-slow:0s}}@media print{.table-of-contents,.footer,.menu,.navbar,.pagination-nav{display:none}.tabs{page-break-inside:avoid}}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary)}#nprogress{pointer-events:none}#nprogress .bar{background:var(--docusaurus-progress-bar-color);z-index:1031;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);opacity:1;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}:root{--ifm-color-primary:#4dacff;--ifm-color-primary-dark:#4dacff;--ifm-color-primary-darker:#4dacff;--ifm-color-primary-darkest:#4dacff;--ifm-color-primary-light:#4dacff;--ifm-color-primary-lighter:#4dacff;--ifm-color-primary-lightest:#4dacff;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.1)}[data-theme=dark]{--ifm-color-primary:#4dacff;--ifm-color-primary-dark:#4dacff;--ifm-color-primary-darker:#4dacff;--ifm-color-primary-darkest:#4dacff;--ifm-color-primary-light:#4dacff;--ifm-color-primary-lighter:#4dacff;--ifm-color-primary-lightest:#4dacff;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.3)}img{width:auto;height:auto}img[alt=WIDTH]{width:260px}img[alt=HEIGHT]{width:200px}img[alt=MARGIN]{width:180px}img[alt=PADDING],img[alt=BACKCOLOR],img[alt=TEXTCOLOR],img[alt=BORDERCOLOR]{width:200px}img[alt=RAW]{width:180px}img[alt=SUBSETTING]{width:360px}img[alt=NAMED_WIDGET],img[alt=VERTICAL],img[alt=VERTICALBOX]{width:200px}img[alt=HORIZONTAL]{width:500px}img[alt=HORIZONTALBOX]{width:200px}img[alt=MATRIXBYCOLUMNS]{width:220px}img[alt=SCROLLWINDOW]{width:180px}img[alt=TABITEM]{width:200px}img[alt=IFRAME]{width:800px}img[alt=LABEL]{width:220px}img[alt=HORIZONTALLINE],img[alt=TITLE],img[alt=SPACER]{width:180px}img[alt=ARRAY]{width:220px}img[alt=BLOCK]{width:500px}img[alt=FORMATVALUE]{width:200px}img[alt=LABELLED]{width:180px}img[alt=LABELPROGRESSBAR]{width:320px}img[alt=LABELVALUE],img[alt=LABELVALUEDESC]{width:300px}img[alt=LABELVALUELIMITSCOLUMN]{width:180px}img[alt=LABELVALUERANGEBAR]{width:500px}img[alt=LED],img[alt=LIMITSBAR],img[alt=LIMITSCOLUMN]{width:200px}img[alt=LIMITSCOLOR]{width:220px}img[alt=VALUELIMITSBAR]{width:300px}img[alt=VALUELIMITSCOLUMN]{width:180px}img[alt=VALUERANGEBAR]{width:220px}img[alt=LINEGRAPH],img[alt=SPARKLINE]{width:400px}img[alt=LABELSPARKLINE],img[alt=IMAGEVIEWER],img[alt=PROGRESSBAR],img[alt=RANGEBAR],img[alt=ROLLUP],img[alt=SIGNAL],img[alt=TEXTBOX],img[alt=VALUE],img[alt=BUTTON],img[alt=CHECKBUTTON],img[alt=COMBOBOX],img[alt=DATE],img[alt=RADIOBUTTON],img[alt=TEXTFIELD],img[alt=TIME],img[alt=CANVASLABEL]{width:200px}img[alt=CANVASLABELVALUE],img[alt=CANVASIMAGE],img[alt=CANVASIMAGEVALUE]{width:220px}img[alt=CANVASLINE],img[alt=CANVASLINEVALUE],img[alt=CANVASDOT]{width:200px}body:not(.navigation-with-keyboard) :not(input):focus{outline:none}#__docusaurus-base-url-issue-banner-container{display:none}.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1);padding:calc(var(--ifm-global-spacing)/2)var(--ifm-global-spacing);color:var(--ifm-color-emphasis-900);background-color:var(--ifm-background-surface-color);position:fixed;top:1rem;left:100%}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{padding:0;line-height:0}.content_knG7{text-align:center;padding:5px 0;font-size:85%}.content_knG7 a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}:root{--docusaurus-announcement-bar-height:auto}.announcementBar_mb4j{height:var(--docusaurus-announcement-bar-height);background-color:var(--ifm-color-white);color:var(--ifm-color-black);border-bottom:1px solid var(--ifm-color-emphasis-100);align-items:center;display:flex}html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{flex:0 0 30px;align-self:stretch}.announcementBarContent_xLdY{flex:auto}@media print{.announcementBar_mb4j{display:none}}@media (min-width:997px){:root{--docusaurus-announcement-bar-height:30px}.announcementBarPlaceholder_vyr4,.announcementBarClose_gvF7{flex-basis:50px}}.toggle_vylO{width:2rem;height:2rem}.toggleButton_gllP{-webkit-tap-highlight-color:transparent;width:100%;height:100%;transition:background var(--ifm-transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}[data-theme=light] .darkToggleIcon_wfgR,[data-theme=dark] .lightToggleIcon_pyhR{display:none}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}.themedComponent_mlkZ{display:none}[data-theme=light] .themedComponent--light_NVdE,[data-theme=dark] .themedComponent--dark_xIcU,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{vertical-align:text-bottom;margin-right:5px}.navbarSearchContainer_Bca1:empty{display:none}@media (max-width:996px){.navbarSearchContainer_Bca1{right:var(--ifm-navbar-padding-horizontal);position:absolute}}@media (min-width:997px){.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical)var(--ifm-navbar-item-padding-horizontal)}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast)ease}.navbarHidden_jGov{transform:translateY(calc(-100% - 2px))}@media (max-width:996px){.colorModeToggle_DEke{display:none}}.errorBoundaryError_a6uf{white-space:pre-wrap;color:red}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none;padding-left:.5rem}.hash-link:before{content:"#"}.hash-link:focus,:hover>.hash-link{opacity:1}html,body{height:100%}.mainWrapper_z2l0{flex-direction:column;flex:1 0 auto;display:flex}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{flex-direction:column;min-height:100%;display:flex}.features_t9lD{align-items:center;width:100%;padding:2rem 0;display:flex}.featureSvg_GfXr{width:200px;height:200px}.heroBanner_qdFl{text-align:center;padding:4rem 0;position:relative;overflow:hidden}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}.buttons_AeoN{justify-content:center;align-items:center;display:flex}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);width:3rem;height:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1);box-shadow:var(--ifm-global-shadow-lw);transition:all var(--ifm-transition-fast)var(--ifm-transition-timing-default);opacity:0;visibility:hidden;border-radius:50%;position:fixed;bottom:1.3rem;right:1.3rem;transform:scale(0)}.backToTopButton_sjWU:after{content:" ";-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;background-color:var(--ifm-color-emphasis-1000);width:100%;height:100%;display:inline-block}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}.backToTopButtonShow_xfvO{opacity:1;visibility:visible;transform:scale(1)}:root{--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1)}[data-theme=dark]:root{--docusaurus-collapse-button-bg:rgba(255,255,255,.05);--docusaurus-collapse-button-bg-hover:rgba(255,255,255,.1)}@media (min-width:997px){.collapseSidebarButton_PEFL{background-color:var(--docusaurus-collapse-button-bg);border:1px solid var(--ifm-toc-border-color);border-radius:0;height:40px;position:sticky;bottom:0;display:block!important}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:hover,.collapseSidebarButton_PEFL:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}}.collapseSidebarButton_PEFL{margin:0;display:none}.menuExternalLink_NmtK{align-items:center}@media (min-width:997px){.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{scrollbar-gutter:stable;padding:.5rem 0 .5rem .5rem}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width);flex-direction:column;display:flex}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{margin:0 var(--ifm-navbar-padding-horizontal);min-height:var(--ifm-navbar-height);max-height:var(--ifm-navbar-height);align-items:center;color:inherit!important;-webkit-text-decoration:none!important;text-decoration:none!important;display:flex!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}}.sidebarLogo_isFc{display:none}@media (min-width:997px){.expandButton_TmdG{width:100%;height:100%;transition:background-color var(--ifm-transition-fast)ease;background-color:var(--docusaurus-collapse-button-bg);justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.expandButton_TmdG:hover,.expandButton_TmdG:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}.expandButtonIcon_i1dp{transform:rotate(0)}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}}:root{--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.docSidebarContainer_YfHR{display:none}@media (min-width:997px){.docSidebarContainer_YfHR{width:var(--doc-sidebar-width);margin-top:calc(-1*var(--ifm-navbar-height));border-right:1px solid var(--ifm-toc-border-color);will-change:width;transition:width var(--ifm-transition-fast)ease;clip-path:inset(0);display:block}.docSidebarContainerHidden_DPk8{width:var(--doc-sidebar-hidden-width);cursor:pointer}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}}.docMainContainer_TBSr{width:100%;display:flex}@media (min-width:997px){.docMainContainer_TBSr{max-width:calc(100% - var(--doc-sidebar-width));flex-grow:1}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}.docRoot_UBD9{width:100%;display:flex}.docsWrapper_hBAB{flex:1 0 auto;display:flex}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);-webkit-text-decoration:none;text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);padding:.2rem .5rem .3rem;font-size:90%}.tagWithCount_h2kH{border-left:0;align-items:center;padding:0 .5rem 0 1rem;display:flex;position:relative}.tagWithCount_h2kH:before,.tagWithCount_h2kH:after{content:"";border:1px solid var(--docusaurus-tag-list-border);transition:inherit;position:absolute;top:50%}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;width:1.18rem;height:1.18rem;right:100%;transform:translate(50%,-50%)rotate(-45deg)}.tagWithCount_h2kH:after{border-radius:50%;width:.5rem;height:.5rem;left:0;transform:translateY(-50%)}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);color:var(--ifm-color-black);border-radius:var(--ifm-global-radius);margin-left:.3rem;padding:.1rem .4rem;font-size:.7rem;line-height:1.2}.tags_jXut{display:inline}.tag_QGVx{margin:0 .4rem .5rem 0;display:inline-block}.cardContainer_S8oU{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);transition:all var(--ifm-transition-fast)ease;transition-property:border,box-shadow;box-shadow:0 1.5px 3px rgba(0,0,0,.15)}.cardContainer_S8oU:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px rgba(0,0,0,.2)}.cardContainer_S8oU :last-child{margin-bottom:0}.cardTitle_HoSo{font-size:1.2rem}.cardDescription_c27F{font-size:.8rem}.algolia-docsearch-suggestion{border-bottom-color:#3a3dd1}.algolia-docsearch-suggestion--category-header{background-color:#4b54de}.algolia-docsearch-suggestion--highlight{color:#3a33d1}.algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#4d47d5}.aa-cursor .algolia-docsearch-suggestion--content{color:#272296}.aa-cursor .algolia-docsearch-suggestion{background:#ebebfb}@media (min-width:768px){.algolia-docsearch-suggestion{border-bottom-color:#7671df}.algolia-docsearch-suggestion--subcategory-column{color:#4e4726;border-right-color:#7671df}}.searchbox{white-space:nowrap;box-sizing:border-box;width:200px;display:inline-block;position:relative;visibility:visible!important;height:32px!important}.searchbox .algolia-autocomplete{width:100%;height:100%;display:block}.searchbox__wrapper{z-index:999;width:100%;height:100%;position:relative}.searchbox__input{box-sizing:border-box;vertical-align:middle;white-space:normal;appearance:none;border:0;border-radius:16px;width:100%;height:100%;padding:0 26px 0 32px;font-size:12px;transition:box-shadow .4s,background .4s;display:inline-block;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important}.searchbox__input::-webkit-search-decoration{display:none}.searchbox__input::-webkit-search-cancel-button{display:none}.searchbox__input::-webkit-search-results-button{display:none}.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:focus,.searchbox__input:active{background:#fff;outline:0;box-shadow:inset 0 0 0 1px #aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{vertical-align:middle;text-align:center;width:32px;height:100%;font-size:inherit;-webkit-user-select:none;user-select:none;top:0;right:inherit;background-color:rgba(69,142,225,0);border:0;border-radius:16px 0 0 16px;margin:0;padding:0;position:absolute;left:0}.searchbox__submit:before{vertical-align:middle;content:"";height:100%;margin-right:-4px;display:inline-block}.searchbox__submit:hover,.searchbox__submit:active{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{vertical-align:middle;fill:#6d7e96;width:14px;height:14px}.searchbox__reset{cursor:pointer;font-size:inherit;-webkit-user-select:none;user-select:none;fill:rgba(0,0,0,.5);background:0 0;border:0;margin:0;padding:0;display:block;position:absolute;top:8px;right:8px}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{width:8px;height:8px;margin:4px;display:block}.searchbox__input:valid~.searchbox__reset{animation-name:sbx-reset-in;animation-duration:.15s;display:block}@keyframes sbx-reset-in{0%{opacity:0;transform:translate(-20%)}to{opacity:1;transform:none}}.algolia-autocomplete .ds-dropdown-menu:before{content:"";z-index:1000;background:#373940;border-top:1px solid #373940;border-right:1px solid #373940;border-radius:2px;width:14px;height:14px;display:block;position:absolute;top:-7px;transform:rotate(-45deg)}.algolia-autocomplete .ds-dropdown-menu{box-shadow:0 1px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.1)}@media (min-width:601px){.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete .ds-dropdown-menu{text-align:left;z-index:999;background:0 0;border:none;border-radius:4px;min-width:500px;max-width:600px;height:auto;margin:6px 0 0;padding:0;position:relative;top:-6px}}@media (max-width:600px){.algolia-autocomplete .ds-dropdown-menu{z-index:100;width:600px;max-width:calc(100% - 2rem);max-height:calc(100% - 5rem);display:block;position:fixed!important;top:50px!important;left:auto!important;right:1rem!important}.algolia-autocomplete .ds-dropdown-menu:before{right:6rem}}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{z-index:1000;position:relative}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background:#fff;border-radius:4px;padding:0;position:relative;overflow:auto}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{padding:0;-webkit-text-decoration:none;text-decoration:none;display:block;position:relative;overflow:hidden}.algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--wrapper{background:#f1f1f1;box-shadow:inset -2px 0 #61dafb}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{background:#ffe564;padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{color:inherit;background:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{background:inherit;color:inherit;padding:0 0 1px;box-shadow:inset 0 -2px rgba(69,142,225,.8)}.algolia-autocomplete .algolia-docsearch-suggestion--content{float:right;cursor:pointer;width:70%;padding:5.33333px 0 5.33333px 10.6667px;display:block;position:relative}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";background:#ececec;width:1px;height:100%;display:block;position:absolute;top:0;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{letter-spacing:.08em;text-transform:uppercase;color:#fff;background-color:#373940;margin:0;padding:5px 8px;font-size:14px;font-weight:700;display:none;position:relative}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{float:left;background-color:#fff;width:100%;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;text-align:right;color:#777;word-wrap:break-word;width:30%;padding:5.33333px 10.6667px;font-size:.9em;display:none;position:relative}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";background:#ececec;width:1px;height:100%;display:block;position:absolute;top:0;right:0}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{color:#02060c;margin-bottom:4px;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{color:#63676d;padding-right:2px;font-size:.85em;line-height:1.2em;display:block}.algolia-autocomplete .algolia-docsearch-suggestion--version{color:#a6aab1;padding-top:2px;padding-right:2px;font-size:.65em;display:block}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{text-align:center;background-color:#373940;width:100%;margin-top:-8px;padding:8px 0;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results .algolia-docsearch-suggestion--text{color:#fff;margin-top:4px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{color:#222;background-color:#ebebeb;border:none;border-radius:3px;padding:1px 5px;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:0 0}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header{color:#fff;display:block}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}.algolia-autocomplete .algolia-docsearch-footer{z-index:2000;float:right;background-color:#fff;width:100%;height:30px;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{text-indent:-9000px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 18'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='-36.87%25' x2='129.43%25' y1='134.94%25' y2='-27.7%25'%3E%3Cstop stop-color='%252300AEFF' offset='0%25'/%3E%3Cstop stop-color='%25233369E7' offset='100%25'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='url(%2523a)' d='M59.4.02h13.3a2.37 2.37 0 0 1 2.38 2.37V15.6a2.37 2.37 0 0 1-2.38 2.36H59.4a2.37 2.37 0 0 1-2.38-2.36V2.38A2.37 2.37 0 0 1 59.4.02z'/%3E%3Cpath fill='%2523FFF' d='M66.26 4.56c-2.82 0-5.1 2.27-5.1 5.08 0 2.8 2.28 5.07 5.1 5.07 2.8 0 5.1-2.26 5.1-5.07 0-2.8-2.28-5.07-5.1-5.07zm0 8.65c-2 0-3.6-1.6-3.6-3.56 0-1.97 1.6-3.58 3.6-3.58 1.98 0 3.6 1.6 3.6 3.58a3.58 3.58 0 0 1-3.6 3.57zm0-6.4v2.66c0 .07.08.13.15.1l2.4-1.24c.04-.02.06-.1.03-.14a2.96 2.96 0 0 0-2.46-1.5c-.06 0-.1.05-.1.1zm-3.33-1.96l-.3-.3a.78.78 0 0 0-1.12 0l-.36.36a.77.77 0 0 0 0 1.1l.3.3c.05.05.13.04.17 0 .2-.25.4-.5.6-.7.23-.23.46-.43.7-.6.07-.04.07-.1.03-.16zm5-.8V3.4a.78.78 0 0 0-.78-.78h-1.83a.78.78 0 0 0-.78.78v.63c0 .07.06.12.14.1a5.74 5.74 0 0 1 1.58-.22c.52 0 1.04.07 1.54.2a.1.1 0 0 0 .13-.1z'/%3E%3Cpath fill='%2523182359' d='M102.16 13.76c0 1.46-.37 2.52-1.12 3.2-.75.67-1.9 1-3.44 1-.56 0-1.74-.1-2.67-.3l.34-1.7c.78.17 1.82.2 2.36.2.86 0 1.48-.16 1.84-.5.37-.36.55-.88.55-1.57v-.35a6.37 6.37 0 0 1-.84.3 4.15 4.15 0 0 1-1.2.17 4.5 4.5 0 0 1-1.6-.28 3.38 3.38 0 0 1-1.26-.82 3.74 3.74 0 0 1-.8-1.35c-.2-.54-.3-1.5-.3-2.2 0-.67.1-1.5.3-2.06a3.92 3.92 0 0 1 .9-1.43 4.12 4.12 0 0 1 1.45-.92 5.3 5.3 0 0 1 1.94-.37c.7 0 1.35.1 1.97.2a15.86 15.86 0 0 1 1.6.33v8.46zm-5.95-4.2c0 .9.2 1.88.6 2.3.4.4.9.62 1.53.62.34 0 .66-.05.96-.15a2.75 2.75 0 0 0 .73-.33V6.7a8.53 8.53 0 0 0-1.42-.17c-.76-.02-1.36.3-1.77.8-.4.5-.62 1.4-.62 2.23zm16.13 0c0 .72-.1 1.26-.32 1.85a4.4 4.4 0 0 1-.9 1.53c-.38.42-.85.75-1.4.98-.54.24-1.4.37-1.8.37-.43 0-1.27-.13-1.8-.36a4.1 4.1 0 0 1-1.4-.97 4.5 4.5 0 0 1-.92-1.52 5.04 5.04 0 0 1-.33-1.84c0-.72.1-1.4.32-2 .22-.6.53-1.1.92-1.5.4-.43.86-.75 1.4-.98a4.55 4.55 0 0 1 1.78-.34 4.7 4.7 0 0 1 1.8.34c.54.23 1 .55 1.4.97.38.42.68.92.9 1.5.23.6.35 1.3.35 2zm-2.2 0c0-.92-.2-1.7-.6-2.22-.38-.54-.94-.8-1.64-.8-.72 0-1.27.26-1.67.8-.4.54-.58 1.3-.58 2.22 0 .93.2 1.56.6 2.1.38.54.94.8 1.64.8s1.25-.26 1.65-.8c.4-.55.6-1.17.6-2.1zm6.97 4.7c-3.5.02-3.5-2.8-3.5-3.27L113.57.92l2.15-.34v10c0 .25 0 1.87 1.37 1.88v1.8zm3.77 0h-2.15v-9.2l2.15-.33v9.54zM119.8 3.74c.7 0 1.3-.58 1.3-1.3 0-.7-.58-1.3-1.3-1.3-.73 0-1.3.6-1.3 1.3 0 .72.58 1.3 1.3 1.3zm6.43 1c.7 0 1.3.1 1.78.27.5.18.88.42 1.17.73.28.3.5.74.6 1.18.13.46.2.95.2 1.5v5.47a25.24 25.24 0 0 1-1.5.25c-.67.1-1.42.15-2.25.15a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.37-.27-.9-.27-1.44 0-.52.1-.85.3-1.2.2-.37.48-.67.83-.9a3.6 3.6 0 0 1 1.23-.5 7.07 7.07 0 0 1 2.2-.1l.83.16v-.35c0-.25-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.18-.34-.3-.58-.4a2.54 2.54 0 0 0-.92-.17c-.5 0-.94.06-1.35.13-.4.08-.75.16-1 .25l-.27-1.74c.27-.1.67-.18 1.2-.28a9.34 9.34 0 0 1 1.65-.14zm.18 7.74c.66 0 1.15-.04 1.5-.1V10.2a5.1 5.1 0 0 0-2-.1c-.23.03-.45.1-.64.2a1.17 1.17 0 0 0-.47.38c-.13.17-.18.26-.18.52 0 .5.17.8.5.98.32.2.74.3 1.3.3zM84.1 4.8c.72 0 1.3.08 1.8.26.48.17.87.42 1.15.73.3.3.5.72.6 1.17.14.45.2.94.2 1.47v5.48a25.24 25.24 0 0 1-1.5.26c-.67.1-1.42.14-2.25.14a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.38-.27-.9-.27-1.44 0-.53.1-.86.3-1.22.2-.36.5-.65.84-.88a3.6 3.6 0 0 1 1.24-.5 7.07 7.07 0 0 1 2.2-.1c.26.03.54.08.84.15v-.35c0-.24-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.17-.34-.3-.58-.4a2.54 2.54 0 0 0-.9-.15c-.5 0-.96.05-1.37.12-.4.07-.75.15-1 .24l-.26-1.75c.27-.08.67-.17 1.18-.26a8.9 8.9 0 0 1 1.66-.15zm.2 7.73c.65 0 1.14-.04 1.48-.1v-2.17a5.1 5.1 0 0 0-1.98-.1c-.24.03-.46.1-.65.18a1.17 1.17 0 0 0-.47.4c-.12.17-.17.26-.17.52 0 .5.18.8.5.98.32.2.75.3 1.3.3zm8.68 1.74c-3.5 0-3.5-2.82-3.5-3.28L89.45.92 91.6.6v10c0 .25 0 1.87 1.38 1.88v1.8z'/%3E%3Cpath fill='%25231D3657' d='M5.03 11.03c0 .7-.26 1.24-.76 1.64-.5.4-1.2.6-2.1.6-.88 0-1.6-.14-2.17-.42v-1.2c.36.16.74.3 1.14.38.4.1.78.15 1.13.15.5 0 .88-.1 1.12-.3a.94.94 0 0 0 .35-.77.98.98 0 0 0-.33-.74c-.22-.2-.68-.44-1.37-.72-.72-.3-1.22-.62-1.52-1C.23 8.27.1 7.82.1 7.3c0-.65.22-1.17.7-1.55.46-.37 1.08-.56 1.86-.56.76 0 1.5.16 2.25.48l-.4 1.05c-.7-.3-1.32-.44-1.87-.44-.4 0-.73.08-.94.26a.9.9 0 0 0-.33.72c0 .2.04.38.12.52.08.15.22.3.42.4.2.14.55.3 1.06.52.58.24 1 .47 1.27.67.27.2.47.44.6.7.12.26.18.57.18.92zM9 13.27c-.92 0-1.64-.27-2.16-.8-.52-.55-.78-1.3-.78-2.24 0-.97.24-1.73.72-2.3.5-.54 1.15-.82 2-.82.78 0 1.4.25 1.85.72.46.48.7 1.14.7 1.97v.67H7.35c0 .58.17 1.02.46 1.33.3.3.7.47 1.24.47.36 0 .68-.04.98-.1a5.1 5.1 0 0 0 .98-.33v1.02a3.87 3.87 0 0 1-.94.32 5.72 5.72 0 0 1-1.08.1zm-.22-5.2c-.4 0-.73.12-.97.38s-.37.62-.42 1.1h2.7c0-.48-.13-.85-.36-1.1-.23-.26-.54-.38-.94-.38zm7.7 5.1l-.26-.84h-.05c-.28.36-.57.6-.86.74-.28.13-.65.2-1.1.2-.6 0-1.05-.16-1.38-.48-.32-.32-.5-.77-.5-1.34 0-.62.24-1.08.7-1.4.45-.3 1.14-.47 2.07-.5l1.02-.03V9.2c0-.37-.1-.65-.27-.84-.17-.2-.45-.28-.82-.28-.3 0-.6.04-.88.13a6.68 6.68 0 0 0-.8.33l-.4-.9a4.4 4.4 0 0 1 1.05-.4 4.86 4.86 0 0 1 1.08-.12c.76 0 1.33.18 1.7.5.4.33.6.85.6 1.56v4h-.9zm-1.9-.87c.47 0 .83-.13 1.1-.38.3-.26.43-.62.43-1.08v-.52l-.76.03c-.6.03-1.02.13-1.3.3s-.4.45-.4.82c0 .26.08.47.24.6.16.16.4.23.7.23zm7.57-5.2c.25 0 .46.03.62.06l-.12 1.18a2.38 2.38 0 0 0-.56-.06c-.5 0-.92.16-1.24.5-.3.32-.47.75-.47 1.27v3.1h-1.27V7.23h1l.16 1.05h.05c.2-.36.45-.64.77-.85a1.83 1.83 0 0 1 1.02-.3zm4.12 6.17c-.9 0-1.58-.27-2.05-.8-.47-.52-.7-1.27-.7-2.25 0-1 .24-1.77.73-2.3.5-.54 1.2-.8 2.12-.8.63 0 1.2.1 1.7.34l-.4 1c-.52-.2-.96-.3-1.3-.3-1.04 0-1.55.68-1.55 2.05 0 .67.13 1.17.38 1.5.26.34.64.5 1.13.5a3.23 3.23 0 0 0 1.6-.4v1.1a2.53 2.53 0 0 1-.73.28 4.36 4.36 0 0 1-.93.08zm8.28-.1h-1.27V9.5c0-.45-.1-.8-.28-1.02-.18-.23-.47-.34-.88-.34-.53 0-.9.16-1.16.48-.25.3-.38.85-.38 1.6v2.94h-1.26V4.8h1.26v2.12c0 .34-.02.7-.06 1.1h.08a1.76 1.76 0 0 1 .72-.67c.3-.16.66-.24 1.07-.24 1.43 0 2.15.74 2.15 2.2v3.86zM42.2 7.1c.74 0 1.32.28 1.73.82.4.53.62 1.3.62 2.26 0 .97-.2 1.73-.63 2.27-.42.54-1 .82-1.75.82s-1.33-.27-1.75-.8h-.08l-.23.7h-.94V4.8h1.26v2l-.02.64-.03.56h.05c.4-.6 1-.9 1.78-.9zm-.33 1.04c-.5 0-.88.15-1.1.45-.22.3-.34.8-.35 1.5v.08c0 .72.12 1.24.35 1.57.23.32.6.48 1.12.48.44 0 .78-.17 1-.53.24-.35.36-.87.36-1.53 0-1.35-.47-2.03-1.4-2.03zm3.24-.92h1.4l1.2 3.37c.18.47.3.92.36 1.34h.04l.18-.72 1.37-4H51l-2.53 6.73c-.46 1.23-1.23 1.85-2.3 1.85-.3 0-.56-.03-.83-.1v-1c.2.05.4.08.65.08.6 0 1.03-.36 1.28-1.06l.22-.56-2.4-5.94z'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100%;width:110px;height:100%;margin-left:auto;margin-right:5px;display:block;overflow:hidden}html[data-theme=dark] .algolia-docsearch-suggestion--category-header,html[data-theme=dark] .algolia-docsearch-suggestion--wrapper,html[data-theme=dark] .algolia-docsearch-footer{background:var(--ifm-background-color)!important;color:var(--ifm-font-color-base)!important}html[data-theme=dark] .algolia-docsearch-suggestion--title{color:var(--ifm-font-color-base)!important}html[data-theme=dark] .ds-cursor .algolia-docsearch-suggestion--wrapper{background:var(--ifm-background-surface-color)!important}mark{background-color:#add8e6}.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color);margin-bottom:var(--ifm-leading);box-shadow:var(--ifm-global-shadow-lw);border-radius:var(--ifm-code-border-radius)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);font-size:var(--ifm-code-font-size);padding:.75rem var(--ifm-pre-padding);border-top-left-radius:inherit;border-top-right-radius:inherit;font-weight:500}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockStandalone_MEMb{padding:0}.codeBlockLines_e6Vv{font:inherit;float:left;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{padding:var(--ifm-pre-padding)0;display:table}@media print{.codeBlockLines_e6Vv{white-space:pre-wrap}}.buttonGroup__atx{right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2);column-gap:.2rem;display:flex;position:absolute}.buttonGroup__atx button{background:var(--prism-background-color);color:var(--prism-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);transition:opacity var(--ifm-transition-fast)ease-in-out;opacity:0;align-items:center;padding:.4rem;line-height:0;display:flex}.buttonGroup__atx button:hover{opacity:1!important}.buttonGroup__atx button:focus-visible{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);margin:0 calc(-1*var(--ifm-pre-padding));padding:0 var(--ifm-pre-padding);display:block}.codeLine_lJS_{counter-increment:line-count;display:table-row}.codeLineNumber_Tfdd{text-align:right;width:1%;padding:0 var(--ifm-pre-padding);background:var(--ifm-pre-background);overflow-wrap:normal;display:table-cell;position:sticky;left:0}.codeLineNumber_Tfdd:before{content:counter(line-count);opacity:.4}.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{width:1.125rem;height:1.125rem;position:relative}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;opacity:inherit;width:inherit;height:inherit;transition:all var(--ifm-transition-fast)ease;position:absolute;top:0;left:0}.copyButtonSuccessIcon_LjdS{opacity:0;color:#00d600;top:50%;left:50%;transform:translate(-50%,-50%)scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transition-delay:75ms;transform:translate(-50%,-50%)scale(1)}.wordWrapButtonIcon_Bwma{width:1.2rem;height:1.2rem}.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.details_lb9f{--docusaurus-details-summary-arrow-size:.38rem;--docusaurus-details-transition:transform .2s ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;list-style:none;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{content:"";border-width:var(--docusaurus-details-summary-arrow-size);border-style:solid;border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);transition:var(--docusaurus-details-transition);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2)50%;position:absolute;top:.45rem;left:0;transform:rotate(0)}.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before{transform:rotate(90deg)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child{margin-bottom:0}.iconEdit_Z9Sw{vertical-align:sub;margin-right:.3em}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast)ease;margin:0 0 var(--ifm-spacing-vertical);border:1px solid var(--ifm-alert-border-color)}.lastUpdated_JAkA{margin-top:.2rem;font-size:smaller;font-style:italic}@media (min-width:997px){.lastUpdated_JAkA{text-align:right}}.tocCollapsibleButton_TO0P{font-size:inherit;justify-content:space-between;align-items:center;width:100%;padding:.4rem .8rem;display:flex}.tocCollapsibleButton_TO0P:after{content:"";background:var(--ifm-menu-link-sublist-icon)50% 50%/2rem 2rem no-repeat;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast);transform:rotate(180deg)}.tocCollapsibleButtonExpanded_MG3E:after{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);padding:.2rem 0;font-size:15px}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tocCollapsibleExpanded_sAul{transform:none}@media (min-width:997px){.tocMobile_ITEo{display:none}}@media print{.tocMobile_ITEo{display:none}}.containsTaskList_mC6p{list-style:none}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight)var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{vertical-align:middle;margin-right:.4em;display:inline-block}.admonitionIcon_Rf37 svg{width:1.6em;height:1.6em;fill:var(--ifm-alert-foreground-color);display:inline-block}.admonitionContent_BuS1>:last-child{margin-bottom:0}.tableOfContents_bqdL{max-height:calc(100vh - (var(--ifm-navbar-height) + 2rem));top:calc(var(--ifm-navbar-height) + 1rem);position:sticky;overflow-y:auto}@media (max-width:996px){.tableOfContents_bqdL{display:none}.docItemContainer_F8PC{padding:0 .3rem}}.mdxPageWrapper_j9I6{justify-content:center}.breadcrumbHomeIcon_YNFT{vertical-align:top;width:1.1rem;height:1.1rem;position:relative;top:1px}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:.8;margin-bottom:.8rem}.docItemContainer_Djhp header+*,.docItemContainer_Djhp article>:first-child{margin-top:0}@media (min-width:997px){.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!important}}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(1.25*var(--ifm-leading))}.list_eTzJ article:last-child{margin-bottom:0!important} \ No newline at end of file diff --git a/docs/assets/images/add_tool-6919be6e6c05db133a8816a9fc03bf98b0789a8525da4cdaa7b041b25bf9edb8.png b/docs/assets/images/add_tool-6919be6e6c05db133a8816a9fc03bf98b0789a8525da4cdaa7b041b25bf9edb8.png new file mode 100644 index 0000000000..8bbd1b0743 Binary files /dev/null and b/docs/assets/images/add_tool-6919be6e6c05db133a8816a9fc03bf98b0789a8525da4cdaa7b041b25bf9edb8.png differ diff --git a/docs/assets/images/critical_cmd_sender-dd81e845489cf1efd3e08cec87da2262eb9f22dbeb3d89359edf0c58146524a1.png b/docs/assets/images/critical_cmd_sender-dd81e845489cf1efd3e08cec87da2262eb9f22dbeb3d89359edf0c58146524a1.png new file mode 100644 index 0000000000..00e46bf9b7 Binary files /dev/null and b/docs/assets/images/critical_cmd_sender-dd81e845489cf1efd3e08cec87da2262eb9f22dbeb3d89359edf0c58146524a1.png differ diff --git a/docs/assets/images/interfaces-fa10646a27eb9045b70c2c485498a864bed1896ff171b7f31f8698288e08ae73.png b/docs/assets/images/interfaces-fa10646a27eb9045b70c2c485498a864bed1896ff171b7f31f8698288e08ae73.png new file mode 100644 index 0000000000..ad17220f57 Binary files /dev/null and b/docs/assets/images/interfaces-fa10646a27eb9045b70c2c485498a864bed1896ff171b7f31f8698288e08ae73.png differ diff --git a/docs/assets/images/microservices-805cc7d137958ac8183579cdb9a9845e7aef79db19723f0773f4ea4d957b48a1.png b/docs/assets/images/microservices-805cc7d137958ac8183579cdb9a9845e7aef79db19723f0773f4ea4d957b48a1.png new file mode 100644 index 0000000000..4d3ebc6321 Binary files /dev/null and b/docs/assets/images/microservices-805cc7d137958ac8183579cdb9a9845e7aef79db19723f0773f4ea4d957b48a1.png differ diff --git a/docs/assets/images/packages-3bfae1a91b0534077280c323a40e879a8ac6a7c3ac45376b3c706a098dab12c3.png b/docs/assets/images/packages-3bfae1a91b0534077280c323a40e879a8ac6a7c3ac45376b3c706a098dab12c3.png new file mode 100644 index 0000000000..7285c2b018 Binary files /dev/null and b/docs/assets/images/packages-3bfae1a91b0534077280c323a40e879a8ac6a7c3ac45376b3c706a098dab12c3.png differ diff --git a/docs/assets/images/plugins-aabbe060bec19e6fa2490b737f20758af9000066121f5af85f260a3b14f9b3d8.png b/docs/assets/images/plugins-aabbe060bec19e6fa2490b737f20758af9000066121f5af85f260a3b14f9b3d8.png new file mode 100644 index 0000000000..ae34c6c7e9 Binary files /dev/null and b/docs/assets/images/plugins-aabbe060bec19e6fa2490b737f20758af9000066121f5af85f260a3b14f9b3d8.png differ diff --git a/docs/assets/images/redis-4553b5b35292cca3df1fa08577f2175efef34e0fdfe512f30ca70785b086b24f.png b/docs/assets/images/redis-4553b5b35292cca3df1fa08577f2175efef34e0fdfe512f30ca70785b086b24f.png new file mode 100644 index 0000000000..28bb0db599 Binary files /dev/null and b/docs/assets/images/redis-4553b5b35292cca3df1fa08577f2175efef34e0fdfe512f30ca70785b086b24f.png differ diff --git a/docs/assets/images/routers-489fe07165973feede7a63adf71781cca7ecb1f7d17c069761c1c57e70cf926e.png b/docs/assets/images/routers-489fe07165973feede7a63adf71781cca7ecb1f7d17c069761c1c57e70cf926e.png new file mode 100644 index 0000000000..5d2dbd6cc7 Binary files /dev/null and b/docs/assets/images/routers-489fe07165973feede7a63adf71781cca7ecb1f7d17c069761c1c57e70cf926e.png differ diff --git a/docs/assets/images/secrets-c8daf324829a0d4dde1d30f9da89d884ca06ce458e400dfa5d1de4ccb10395a1.png b/docs/assets/images/secrets-c8daf324829a0d4dde1d30f9da89d884ca06ce458e400dfa5d1de4ccb10395a1.png new file mode 100644 index 0000000000..aa350c1f1f Binary files /dev/null and b/docs/assets/images/secrets-c8daf324829a0d4dde1d30f9da89d884ca06ce458e400dfa5d1de4ccb10395a1.png differ diff --git a/docs/assets/images/settings1-36a446ec0455ae5ab3a6d225647264647e517e1e2d83da5c639a63756e0339a6.png b/docs/assets/images/settings1-36a446ec0455ae5ab3a6d225647264647e517e1e2d83da5c639a63756e0339a6.png new file mode 100644 index 0000000000..d26efe8d68 Binary files /dev/null and b/docs/assets/images/settings1-36a446ec0455ae5ab3a6d225647264647e517e1e2d83da5c639a63756e0339a6.png differ diff --git a/docs/assets/images/settings2-c18e478b65ba569bea37a2bb185b4702e347aecc570fbc7b26a6e66aeecc9129.png b/docs/assets/images/settings2-c18e478b65ba569bea37a2bb185b4702e347aecc570fbc7b26a6e66aeecc9129.png new file mode 100644 index 0000000000..39326d1a44 Binary files /dev/null and b/docs/assets/images/settings2-c18e478b65ba569bea37a2bb185b4702e347aecc570fbc7b26a6e66aeecc9129.png differ diff --git a/docs/assets/images/targets-c02c28769712aa226fdcbd3b90329285aeb39e775b9be1df6ab0e2ad31231518.png b/docs/assets/images/targets-c02c28769712aa226fdcbd3b90329285aeb39e775b9be1df6ab0e2ad31231518.png new file mode 100644 index 0000000000..e80da51a1f Binary files /dev/null and b/docs/assets/images/targets-c02c28769712aa226fdcbd3b90329285aeb39e775b9be1df6ab0e2ad31231518.png differ diff --git a/docs/assets/images/tools-d3ea80e2fdc04e5b85743146ebaf1fc7f1406b7b5e6ec9b700ed35dedc8d16e6.png b/docs/assets/images/tools-d3ea80e2fdc04e5b85743146ebaf1fc7f1406b7b5e6ec9b700ed35dedc8d16e6.png new file mode 100644 index 0000000000..f6b59af1b9 Binary files /dev/null and b/docs/assets/images/tools-d3ea80e2fdc04e5b85743146ebaf1fc7f1406b7b5e6ec9b700ed35dedc8d16e6.png differ diff --git a/docs/assets/js/019369f3.b908935e.js b/docs/assets/js/019369f3.b908935e.js new file mode 100644 index 0000000000..14d844e78d --- /dev/null +++ b/docs/assets/js/019369f3.b908935e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4958"],{937:function(e,n,t){t.r(n),t.d(n,{metadata:()=>o,contentTitle:()=>a,default:()=>u,assets:()=>c,toc:()=>l,frontMatter:()=>i});var o=JSON.parse('{"id":"guides/monitoring","title":"Monitoring","description":"Various ways to monitor COSMOS internals","source":"@site/docs/guides/monitoring.md","sourceDirName":"guides","slug":"/guides/monitoring","permalink":"/docs/guides/monitoring","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/monitoring.md","tags":[],"version":"current","frontMatter":{"title":"Monitoring","description":"Various ways to monitor COSMOS internals","sidebar_custom_props":{"myEmoji":"\uD83D\uDDA5\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Logging","permalink":"/docs/guides/logging"},"next":{"title":"Performance","permalink":"/docs/guides/performance"}}'),s=t("5893"),r=t("65");let i={title:"Monitoring",description:"Various ways to monitor COSMOS internals",sidebar_custom_props:{myEmoji:"\uD83D\uDDA5\uFE0F"}},a=void 0,c={},l=[{value:"Monitoring and observability",id:"monitoring-and-observability",level:3},{value:"Fluent/Fluentd",id:"fluentfluentd",level:3},{value:"Notes",id:"notes",level:4},{value:"OpenDistro",id:"opendistro",level:3},{value:"Notes",id:"notes-1",level:4},{value:"Prometheus",id:"prometheus",level:3},{value:"Notes",id:"notes-2",level:4},{value:"Grafana",id:"grafana",level:3},{value:"Notes",id:"notes-3",level:4}];function d(e){let n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h3,{id:"monitoring-and-observability",children:"Monitoring and observability"}),"\n",(0,s.jsxs)(n.p,{children:["With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about ",(0,s.jsx)(n.a,{href:"https://sre.google/sre-book/monitoring-distributed-systems/",children:"Monitoring Distributed Systems"})]}),"\n",(0,s.jsx)(n.h3,{id:"fluentfluentd",children:(0,s.jsx)(n.a,{href:"https://www.fluentd.org/guides/recipes/docker-logging",children:"Fluent/Fluentd"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"in_docker.conf"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"\n @type forward\n port 24224\n bind 0.0.0.0\n\n\n @type copy\n \n @type elasticsearch\n host openc3-elasticsearch\n port 9200\n logstash_format true\n logstash_prefix metric\n logstash_dateformat %Y%m%d\n include_tag_key true\n type_name access_log\n tag_key @log_name\n flush_interval 1s\n \n \n @type stdout\n \n\n\n @type copy\n \n @type elasticsearch\n host openc3-elasticsearch\n port 9200\n logstash_format true\n logstash_prefix openc3\n logstash_dateformat %Y%m%d\n include_tag_key true\n type_name access_log\n tag_key @log_name\n flush_interval 1s\n \n \n @type stdout\n \n\n\n @type copy\n \n @type elasticsearch\n host openc3-elasticsearch\n port 9200\n logstash_format true\n logstash_prefix fluentd\n logstash_dateformat %Y%m%d\n include_tag_key true\n type_name access_log\n tag_key @log_name\n flush_interval 1s\n \n \n @type stdout\n \n\n"})}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM fluent/fluentd:v1.10.3-1.0\n\nCOPY ./in_docker.conf /fluentd/etc/fluent.conf\nUSER root\nRUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \\\n && gem install fluent-plugin-prometheus --no-document --version 1.8.5\nUSER fluent\n"})}),"\n",(0,s.jsx)(n.h3,{id:"opendistro",children:(0,s.jsx)(n.a,{href:"https://opendistro.github.io/for-elasticsearch-docs/",children:"OpenDistro"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts."}),"\n"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://opendistro.github.io/for-elasticsearch-docs/docs/install/docker/",children:"Docker"})}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes-1",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file."}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM amazon/opendistro-for-elasticsearch:1.12.0\n\nRUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security\n"})}),"\n",(0,s.jsx)(n.h3,{id:"prometheus",children:(0,s.jsx)(n.a,{href:"https://prometheus.io/",children:"Prometheus"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes-2",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"prometheus.yaml"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:'global:\n scrape_interval: 15s\n evaluation_interval: 15s\n\nrule_files:\n # - "first.rules"\n # - "second.rules"\n\nscrape_configs:\n - job_name: prometheus\n static_configs:\n - targets: ["localhost:9090"]\n\n - job_name: openc3-internal-metrics\n metrics_path: "/openc3-api/internal/metrics"\n static_configs:\n - targets: ["openc3-cmd-tlm-api:2901"]\n\n - job_name: openc3-cmd-tlm-api\n metrics_path: "/openc3-api/metrics"\n static_configs:\n - targets: ["openc3-cmd-tlm-api:2901"]\n\n - job_name: openc3-script-runner-api\n metrics_path: "/script-api/metrics"\n static_configs:\n - targets: ["openc3-script-runner-api:2902"]\n\n - job_name: minio-job\n metrics_path: /minio/v2/metrics/cluster\n scheme: http\n static_configs:\n - targets: [\'openc3-minio:9000\']\n'})}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM prom/prometheus:v2.24.1\nADD prometheus.yaml /etc/prometheus/\n"})}),"\n",(0,s.jsx)(n.h3,{id:"grafana",children:(0,s.jsx)(n.a,{href:"https://grafana.com/",children:"Grafana"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes-3",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"datasource.yaml"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"apiVersion: 1\n\ndatasources:\n - name: Prometheus\n type: prometheus\n # Access mode - proxy (server in the UI) or direct (browser in the UI).\n access: proxy\n url: http://openc3-prometheus:9090\n"})}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM grafana/grafana\n\nCOPY datasource.yaml /etc/grafana/provisioning/datasources/\n"})})]})}function u(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},65:function(e,n,t){t.d(n,{Z:function(){return a},a:function(){return i}});var o=t(7294);let s={},r=o.createContext(s);function i(e){let n=o.useContext(r);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/019369f3.fc76502e.js b/docs/assets/js/019369f3.fc76502e.js deleted file mode 100644 index 6681172081..0000000000 --- a/docs/assets/js/019369f3.fc76502e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[1532],{5886:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"guides/monitoring","title":"Monitoring","description":"Various ways to monitor COSMOS internals","source":"@site/docs/guides/monitoring.md","sourceDirName":"guides","slug":"/guides/monitoring","permalink":"/docs/guides/monitoring","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/monitoring.md","tags":[],"version":"current","frontMatter":{"title":"Monitoring","description":"Various ways to monitor COSMOS internals","sidebar_custom_props":{"myEmoji":"\ud83d\udda5\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Logging","permalink":"/docs/guides/logging"},"next":{"title":"Performance","permalink":"/docs/guides/performance"}}');var s=t(4848),r=t(8453);const i={title:"Monitoring",description:"Various ways to monitor COSMOS internals",sidebar_custom_props:{myEmoji:"\ud83d\udda5\ufe0f"}},a=void 0,c={},l=[{value:"Monitoring and observability",id:"monitoring-and-observability",level:3},{value:"Fluent/Fluentd",id:"fluentfluentd",level:3},{value:"Notes",id:"notes",level:4},{value:"OpenDistro",id:"opendistro",level:3},{value:"Notes",id:"notes-1",level:4},{value:"Prometheus",id:"prometheus",level:3},{value:"Notes",id:"notes-2",level:4},{value:"Grafana",id:"grafana",level:3},{value:"Notes",id:"notes-3",level:4}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h3,{id:"monitoring-and-observability",children:"Monitoring and observability"}),"\n",(0,s.jsxs)(n.p,{children:["With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about ",(0,s.jsx)(n.a,{href:"https://sre.google/sre-book/monitoring-distributed-systems/",children:"Monitoring Distributed Systems"})]}),"\n",(0,s.jsx)(n.h3,{id:"fluentfluentd",children:(0,s.jsx)(n.a,{href:"https://www.fluentd.org/guides/recipes/docker-logging",children:"Fluent/Fluentd"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"in_docker.conf"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"\n @type forward\n port 24224\n bind 0.0.0.0\n\n\n @type copy\n \n @type elasticsearch\n host openc3-elasticsearch\n port 9200\n logstash_format true\n logstash_prefix metric\n logstash_dateformat %Y%m%d\n include_tag_key true\n type_name access_log\n tag_key @log_name\n flush_interval 1s\n \n \n @type stdout\n \n\n\n @type copy\n \n @type elasticsearch\n host openc3-elasticsearch\n port 9200\n logstash_format true\n logstash_prefix openc3\n logstash_dateformat %Y%m%d\n include_tag_key true\n type_name access_log\n tag_key @log_name\n flush_interval 1s\n \n \n @type stdout\n \n\n\n @type copy\n \n @type elasticsearch\n host openc3-elasticsearch\n port 9200\n logstash_format true\n logstash_prefix fluentd\n logstash_dateformat %Y%m%d\n include_tag_key true\n type_name access_log\n tag_key @log_name\n flush_interval 1s\n \n \n @type stdout\n \n\n"})}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM fluent/fluentd:v1.10.3-1.0\n\nCOPY ./in_docker.conf /fluentd/etc/fluent.conf\nUSER root\nRUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \\\n && gem install fluent-plugin-prometheus --no-document --version 1.8.5\nUSER fluent\n"})}),"\n",(0,s.jsx)(n.h3,{id:"opendistro",children:(0,s.jsx)(n.a,{href:"https://opendistro.github.io/for-elasticsearch-docs/",children:"OpenDistro"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts."}),"\n"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://opendistro.github.io/for-elasticsearch-docs/docs/install/docker/",children:"Docker"})}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes-1",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file."}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM amazon/opendistro-for-elasticsearch:1.12.0\n\nRUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security\n"})}),"\n",(0,s.jsx)(n.h3,{id:"prometheus",children:(0,s.jsx)(n.a,{href:"https://prometheus.io/",children:"Prometheus"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes-2",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"prometheus.yaml"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:'global:\n scrape_interval: 15s\n evaluation_interval: 15s\n\nrule_files:\n # - "first.rules"\n # - "second.rules"\n\nscrape_configs:\n - job_name: prometheus\n static_configs:\n - targets: ["localhost:9090"]\n\n - job_name: openc3-internal-metrics\n metrics_path: "/openc3-api/internal/metrics"\n static_configs:\n - targets: ["openc3-cmd-tlm-api:2901"]\n\n - job_name: openc3-cmd-tlm-api\n metrics_path: "/openc3-api/metrics"\n static_configs:\n - targets: ["openc3-cmd-tlm-api:2901"]\n\n - job_name: openc3-script-runner-api\n metrics_path: "/script-api/metrics"\n static_configs:\n - targets: ["openc3-script-runner-api:2902"]\n\n - job_name: minio-job\n metrics_path: /minio/v2/metrics/cluster\n scheme: http\n static_configs:\n - targets: [\'openc3-minio:9000\']\n'})}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM prom/prometheus:v2.24.1\nADD prometheus.yaml /etc/prometheus/\n"})}),"\n",(0,s.jsx)(n.h3,{id:"grafana",children:(0,s.jsx)(n.a,{href:"https://grafana.com/",children:"Grafana"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources."}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"notes-3",children:"Notes"}),"\n",(0,s.jsx)(n.p,{children:"datasource.yaml"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"apiVersion: 1\n\ndatasources:\n - name: Prometheus\n type: prometheus\n # Access mode - proxy (server in the UI) or direct (browser in the UI).\n access: proxy\n url: http://openc3-prometheus:9090\n"})}),"\n",(0,s.jsx)(n.p,{children:"Dockerfile"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"FROM grafana/grafana\n\nCOPY datasource.yaml /etc/grafana/provisioning/datasources/\n"})})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var o=t(6540);const s={},r=o.createContext(s);function i(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/058ffc22.8ea29916.js b/docs/assets/js/058ffc22.55b30e60.js similarity index 74% rename from docs/assets/js/058ffc22.8ea29916.js rename to docs/assets/js/058ffc22.55b30e60.js index c6b11f35be..59cc69fd37 100644 --- a/docs/assets/js/058ffc22.8ea29916.js +++ b/docs/assets/js/058ffc22.55b30e60.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5989],{9077:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"meta/xtce","title":"XTCE Support","description":"XTCE Command and Telemetry Definition Standard","source":"@site/docs/meta/xtce.md","sourceDirName":"meta","slug":"/meta/xtce","permalink":"/docs/meta/xtce","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/xtce.md","tags":[],"version":"current","frontMatter":{"title":"XTCE Support","description":"XTCE Command and Telemetry Definition Standard","sidebar_custom_props":{"myEmoji":"\ud83d\ude35"}},"sidebar":"defaultSidebar","previous":{"title":"Philosophy","permalink":"/docs/meta/philosophy"},"next":{"title":"OpenC3, Inc. Privacy Policy","permalink":"/docs/privacy"}}');var r=i(4848),l=i(8453);const o={title:"XTCE Support",description:"XTCE Command and Telemetry Definition Standard",sidebar_custom_props:{myEmoji:"\ud83d\ude35"}},s=void 0,a={},d=[{value:"Running COSMOS using an .xtce definition file",id:"running-cosmos-using-an-xtce-definition-file",level:2},{value:"Converting a .xtce file into a COSMOS configuration",id:"converting-a-xtce-file-into-a-cosmos-configuration",level:2},{value:"Converting a COSMOS Configuration to XTCE",id:"converting-a-cosmos-configuration-to-xtce",level:2},{value:"High-level Overview of Current Support",id:"high-level-overview-of-current-support",level:2},{value:"Supported Elements and Attributes",id:"supported-elements-and-attributes",level:2},{value:"Ignored Elements",id:"ignored-elements",level:2},{value:"Unsupported Elements",id:"unsupported-elements",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["COSMOS now has support for the ",(0,r.jsx)(n.a,{href:"https://www.omg.org/xtce/index.htm",children:"XTCE Command and Telemetry Definition Standard"}),". This is an open standard designed to allow command and telemetry definitions to be transferred between different ground systems. COSMOS can run directly using the .xtce files, or can convert them into the COSMOS configuration file format."]}),"\n",(0,r.jsx)(n.h2,{id:"running-cosmos-using-an-xtce-definition-file",children:"Running COSMOS using an .xtce definition file"}),"\n",(0,r.jsx)(n.p,{children:"A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions."}),"\n",(0,r.jsx)(n.h2,{id:"converting-a-xtce-file-into-a-cosmos-configuration",children:"Converting a .xtce file into a COSMOS configuration"}),"\n",(0,r.jsx)(n.p,{children:"Use the following command to convert a .xtce file into COSMOS configuration files. The converted configuration files will be placed into a target folder in the given output directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"openc3.bat cli xtce_converter --import --output \n"})}),"\n",(0,r.jsx)(n.h2,{id:"converting-a-cosmos-configuration-to-xtce",children:"Converting a COSMOS Configuration to XTCE"}),"\n",(0,r.jsx)(n.p,{children:"Use the following command to convert your openc3 plugin into .xtce files, one per target. The converted .xtce files will be placed into a target folder in the given output directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"openc3.bat cli xtce_converter --plugin --output \n"})}),"\n",(0,r.jsx)(n.h2,{id:"high-level-overview-of-current-support",children:"High-level Overview of Current Support"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Integer, Float, Enumerated, String, and Binary Parameter/Argument Types are Supported"}),"\n",(0,r.jsx)(n.li,{children:"All DataEncodings are supported"}),"\n",(0,r.jsx)(n.li,{children:"Telemetry and Commands are Supported"}),"\n",(0,r.jsx)(n.li,{children:"Packet Identification is supported"}),"\n",(0,r.jsx)(n.li,{children:"States are supported"}),"\n",(0,r.jsx)(n.li,{children:"Units are supported"}),"\n",(0,r.jsx)(n.li,{children:"PolynomialCalibrators are supported"}),"\n",(0,r.jsx)(n.li,{children:"Only one SpaceSystem per .xtce file"}),"\n",(0,r.jsx)(n.li,{children:"Packets should not have gaps between items"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"supported-elements-and-attributes",children:"Supported Elements and Attributes"}),"\n",(0,r.jsx)(n.p,{children:"The following elements and associated attributes are currently supported."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"SpaceSystem"}),"\n",(0,r.jsx)(n.li,{children:"TelemetryMetaData"}),"\n",(0,r.jsx)(n.li,{children:"CommandMetaData"}),"\n",(0,r.jsx)(n.li,{children:"ParameterTypeSet"}),"\n",(0,r.jsx)(n.li,{children:"EnumerationList"}),"\n",(0,r.jsx)(n.li,{children:"ParameterSet"}),"\n",(0,r.jsx)(n.li,{children:"ContainerSet"}),"\n",(0,r.jsx)(n.li,{children:"EntryList"}),"\n",(0,r.jsx)(n.li,{children:"DefaultCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"DefaultAlarm"}),"\n",(0,r.jsx)(n.li,{children:"RestrictionCriteria"}),"\n",(0,r.jsx)(n.li,{children:"ComparisonList"}),"\n",(0,r.jsx)(n.li,{children:"MetaCommandSet"}),"\n",(0,r.jsx)(n.li,{children:"DefaultCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentTypeSet"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentList"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentAssignmentList"}),"\n",(0,r.jsx)(n.li,{children:"EnumeratedParameterType"}),"\n",(0,r.jsx)(n.li,{children:"EnumeratedArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"IntegerParameterType"}),"\n",(0,r.jsx)(n.li,{children:"IntegerArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"FloatParameterType"}),"\n",(0,r.jsx)(n.li,{children:"FloatArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"StringParameterType"}),"\n",(0,r.jsx)(n.li,{children:"StringArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"BinaryParameterType"}),"\n",(0,r.jsx)(n.li,{children:"BinaryArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"IntegerDataEncoding"}),"\n",(0,r.jsx)(n.li,{children:"FloatDataEncoding"}),"\n",(0,r.jsx)(n.li,{children:"StringDataEncoding"}),"\n",(0,r.jsx)(n.li,{children:"BinaryDataEncoding'"}),"\n",(0,r.jsx)(n.li,{children:"SizeInBits"}),"\n",(0,r.jsx)(n.li,{children:"FixedValue"}),"\n",(0,r.jsx)(n.li,{children:"UnitSet"}),"\n",(0,r.jsx)(n.li,{children:"Unit"}),"\n",(0,r.jsx)(n.li,{children:"PolynomialCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"Term"}),"\n",(0,r.jsx)(n.li,{children:"StaticAlarmRanges"}),"\n",(0,r.jsx)(n.li,{children:"WarningRange"}),"\n",(0,r.jsx)(n.li,{children:"CriticalRange"}),"\n",(0,r.jsx)(n.li,{children:"ValidRange"}),"\n",(0,r.jsx)(n.li,{children:"Enumeration"}),"\n",(0,r.jsx)(n.li,{children:"Parameter"}),"\n",(0,r.jsx)(n.li,{children:"Argument"}),"\n",(0,r.jsx)(n.li,{children:"ParameterProperties"}),"\n",(0,r.jsx)(n.li,{children:"SequenceContainer"}),"\n",(0,r.jsx)(n.li,{children:"BaseContainer"}),"\n",(0,r.jsx)(n.li,{children:"LongDescription"}),"\n",(0,r.jsx)(n.li,{children:"ParameterRefEntry"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentRefEntry"}),"\n",(0,r.jsx)(n.li,{children:"BaseMetaCommand"}),"\n",(0,r.jsx)(n.li,{children:"Comparison"}),"\n",(0,r.jsx)(n.li,{children:"MetaCommand"}),"\n",(0,r.jsx)(n.li,{children:"BaseMetaCommand"}),"\n",(0,r.jsx)(n.li,{children:"CommandContainer"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentAssignment"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"ignored-elements",children:"Ignored Elements"}),"\n",(0,r.jsx)(n.p,{children:"The following elements are simply ignored by COSMOS:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Header"}),"\n",(0,r.jsx)(n.li,{children:"AliasSet"}),"\n",(0,r.jsx)(n.li,{children:"Alias"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"unsupported-elements",children:"Unsupported Elements"}),"\n",(0,r.jsx)(n.p,{children:"Any elements not listed above are currently unsupported. Near term support for the following elements and features are planned and priority will be determined by user requests."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"SplineCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"Alternate methods of specifying offsets into containers"}),"\n",(0,r.jsx)(n.li,{children:"Output to the XUSP standard"}),"\n",(0,r.jsx)(n.li,{children:"Additional Data Types"}),"\n",(0,r.jsx)(n.li,{children:"Container References"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"If there is a particular element or feature you need supported please submit a ticket on Github."})]})}function m(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>s});var t=i(6540);const r={},l=t.createContext(r);function o(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7495"],{4273:function(e,n,i){i.r(n),i.d(n,{metadata:()=>t,contentTitle:()=>s,default:()=>u,assets:()=>a,toc:()=>d,frontMatter:()=>o});var t=JSON.parse('{"id":"meta/xtce","title":"XTCE Support","description":"XTCE Command and Telemetry Definition Standard","source":"@site/docs/meta/xtce.md","sourceDirName":"meta","slug":"/meta/xtce","permalink":"/docs/meta/xtce","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/xtce.md","tags":[],"version":"current","frontMatter":{"title":"XTCE Support","description":"XTCE Command and Telemetry Definition Standard","sidebar_custom_props":{"myEmoji":"\uD83D\uDE35"}},"sidebar":"defaultSidebar","previous":{"title":"Philosophy","permalink":"/docs/meta/philosophy"},"next":{"title":"OpenC3, Inc. Privacy Policy","permalink":"/docs/privacy"}}'),r=i("5893"),l=i("65");let o={title:"XTCE Support",description:"XTCE Command and Telemetry Definition Standard",sidebar_custom_props:{myEmoji:"\uD83D\uDE35"}},s=void 0,a={},d=[{value:"Running COSMOS using an .xtce definition file",id:"running-cosmos-using-an-xtce-definition-file",level:2},{value:"Converting a .xtce file into a COSMOS configuration",id:"converting-a-xtce-file-into-a-cosmos-configuration",level:2},{value:"Converting a COSMOS Configuration to XTCE",id:"converting-a-cosmos-configuration-to-xtce",level:2},{value:"High-level Overview of Current Support",id:"high-level-overview-of-current-support",level:2},{value:"Supported Elements and Attributes",id:"supported-elements-and-attributes",level:2},{value:"Ignored Elements",id:"ignored-elements",level:2},{value:"Unsupported Elements",id:"unsupported-elements",level:2}];function c(e){let n={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,l.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["COSMOS now has support for the ",(0,r.jsx)(n.a,{href:"https://www.omg.org/xtce/index.htm",children:"XTCE Command and Telemetry Definition Standard"}),". This is an open standard designed to allow command and telemetry definitions to be transferred between different ground systems. COSMOS can run directly using the .xtce files, or can convert them into the COSMOS configuration file format."]}),"\n",(0,r.jsx)(n.h2,{id:"running-cosmos-using-an-xtce-definition-file",children:"Running COSMOS using an .xtce definition file"}),"\n",(0,r.jsx)(n.p,{children:"A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions."}),"\n",(0,r.jsx)(n.h2,{id:"converting-a-xtce-file-into-a-cosmos-configuration",children:"Converting a .xtce file into a COSMOS configuration"}),"\n",(0,r.jsx)(n.p,{children:"Use the following command to convert a .xtce file into COSMOS configuration files. The converted configuration files will be placed into a target folder in the given output directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"openc3.bat cli xtce_converter --import --output \n"})}),"\n",(0,r.jsx)(n.h2,{id:"converting-a-cosmos-configuration-to-xtce",children:"Converting a COSMOS Configuration to XTCE"}),"\n",(0,r.jsx)(n.p,{children:"Use the following command to convert your openc3 plugin into .xtce files, one per target. The converted .xtce files will be placed into a target folder in the given output directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"openc3.bat cli xtce_converter --plugin --output \n"})}),"\n",(0,r.jsx)(n.h2,{id:"high-level-overview-of-current-support",children:"High-level Overview of Current Support"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Integer, Float, Enumerated, String, and Binary Parameter/Argument Types are Supported"}),"\n",(0,r.jsx)(n.li,{children:"All DataEncodings are supported"}),"\n",(0,r.jsx)(n.li,{children:"Telemetry and Commands are Supported"}),"\n",(0,r.jsx)(n.li,{children:"Packet Identification is supported"}),"\n",(0,r.jsx)(n.li,{children:"States are supported"}),"\n",(0,r.jsx)(n.li,{children:"Units are supported"}),"\n",(0,r.jsx)(n.li,{children:"PolynomialCalibrators are supported"}),"\n",(0,r.jsx)(n.li,{children:"Only one SpaceSystem per .xtce file"}),"\n",(0,r.jsx)(n.li,{children:"Packets should not have gaps between items"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"supported-elements-and-attributes",children:"Supported Elements and Attributes"}),"\n",(0,r.jsx)(n.p,{children:"The following elements and associated attributes are currently supported."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"SpaceSystem"}),"\n",(0,r.jsx)(n.li,{children:"TelemetryMetaData"}),"\n",(0,r.jsx)(n.li,{children:"CommandMetaData"}),"\n",(0,r.jsx)(n.li,{children:"ParameterTypeSet"}),"\n",(0,r.jsx)(n.li,{children:"EnumerationList"}),"\n",(0,r.jsx)(n.li,{children:"ParameterSet"}),"\n",(0,r.jsx)(n.li,{children:"ContainerSet"}),"\n",(0,r.jsx)(n.li,{children:"EntryList"}),"\n",(0,r.jsx)(n.li,{children:"DefaultCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"DefaultAlarm"}),"\n",(0,r.jsx)(n.li,{children:"RestrictionCriteria"}),"\n",(0,r.jsx)(n.li,{children:"ComparisonList"}),"\n",(0,r.jsx)(n.li,{children:"MetaCommandSet"}),"\n",(0,r.jsx)(n.li,{children:"DefaultCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentTypeSet"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentList"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentAssignmentList"}),"\n",(0,r.jsx)(n.li,{children:"EnumeratedParameterType"}),"\n",(0,r.jsx)(n.li,{children:"EnumeratedArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"IntegerParameterType"}),"\n",(0,r.jsx)(n.li,{children:"IntegerArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"FloatParameterType"}),"\n",(0,r.jsx)(n.li,{children:"FloatArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"StringParameterType"}),"\n",(0,r.jsx)(n.li,{children:"StringArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"BinaryParameterType"}),"\n",(0,r.jsx)(n.li,{children:"BinaryArgumentType"}),"\n",(0,r.jsx)(n.li,{children:"IntegerDataEncoding"}),"\n",(0,r.jsx)(n.li,{children:"FloatDataEncoding"}),"\n",(0,r.jsx)(n.li,{children:"StringDataEncoding"}),"\n",(0,r.jsx)(n.li,{children:"BinaryDataEncoding'"}),"\n",(0,r.jsx)(n.li,{children:"SizeInBits"}),"\n",(0,r.jsx)(n.li,{children:"FixedValue"}),"\n",(0,r.jsx)(n.li,{children:"UnitSet"}),"\n",(0,r.jsx)(n.li,{children:"Unit"}),"\n",(0,r.jsx)(n.li,{children:"PolynomialCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"Term"}),"\n",(0,r.jsx)(n.li,{children:"StaticAlarmRanges"}),"\n",(0,r.jsx)(n.li,{children:"WarningRange"}),"\n",(0,r.jsx)(n.li,{children:"CriticalRange"}),"\n",(0,r.jsx)(n.li,{children:"ValidRange"}),"\n",(0,r.jsx)(n.li,{children:"Enumeration"}),"\n",(0,r.jsx)(n.li,{children:"Parameter"}),"\n",(0,r.jsx)(n.li,{children:"Argument"}),"\n",(0,r.jsx)(n.li,{children:"ParameterProperties"}),"\n",(0,r.jsx)(n.li,{children:"SequenceContainer"}),"\n",(0,r.jsx)(n.li,{children:"BaseContainer"}),"\n",(0,r.jsx)(n.li,{children:"LongDescription"}),"\n",(0,r.jsx)(n.li,{children:"ParameterRefEntry"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentRefEntry"}),"\n",(0,r.jsx)(n.li,{children:"BaseMetaCommand"}),"\n",(0,r.jsx)(n.li,{children:"Comparison"}),"\n",(0,r.jsx)(n.li,{children:"MetaCommand"}),"\n",(0,r.jsx)(n.li,{children:"BaseMetaCommand"}),"\n",(0,r.jsx)(n.li,{children:"CommandContainer"}),"\n",(0,r.jsx)(n.li,{children:"ArgumentAssignment"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"ignored-elements",children:"Ignored Elements"}),"\n",(0,r.jsx)(n.p,{children:"The following elements are simply ignored by COSMOS:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Header"}),"\n",(0,r.jsx)(n.li,{children:"AliasSet"}),"\n",(0,r.jsx)(n.li,{children:"Alias"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"unsupported-elements",children:"Unsupported Elements"}),"\n",(0,r.jsx)(n.p,{children:"Any elements not listed above are currently unsupported. Near term support for the following elements and features are planned and priority will be determined by user requests."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"SplineCalibrator"}),"\n",(0,r.jsx)(n.li,{children:"Alternate methods of specifying offsets into containers"}),"\n",(0,r.jsx)(n.li,{children:"Output to the XUSP standard"}),"\n",(0,r.jsx)(n.li,{children:"Additional Data Types"}),"\n",(0,r.jsx)(n.li,{children:"Container References"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"If there is a particular element or feature you need supported please submit a ticket on Github."})]})}function u(e={}){let{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},65:function(e,n,i){i.d(n,{Z:function(){return s},a:function(){return o}});var t=i(7294);let r={},l=t.createContext(r);function o(e){let n=t.useContext(l);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/0686a885.1b30ef50.js b/docs/assets/js/0686a885.1b30ef50.js deleted file mode 100644 index d00040bcf2..0000000000 --- a/docs/assets/js/0686a885.1b30ef50.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[9433],{3992:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>o,frontMatter:()=>s,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"development/log-structure","title":"Log Structure","description":"Structure of the COSMOS log file","source":"@site/docs/development/log-structure.md","sourceDirName":"development","slug":"/development/log-structure","permalink":"/docs/development/log-structure","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/log-structure.md","tags":[],"version":"current","frontMatter":{"title":"Log Structure","description":"Structure of the COSMOS log file","sidebar_custom_props":{"myEmoji":"\ud83e\udeb5"}},"sidebar":"defaultSidebar","previous":{"title":"JSON API","permalink":"/docs/development/json-api"},"next":{"title":"Roadmap","permalink":"/docs/development/roadmap"}}');var i=n(4848),d=n(8453);const s={title:"Log Structure",description:"Structure of the COSMOS log file",sidebar_custom_props:{myEmoji:"\ud83e\udeb5"}},a=void 0,c={},l=[{value:"Packet Log File Format",id:"packet-log-file-format",level:2},{value:"File Header",id:"file-header",level:3},{value:"Entry Types",id:"entry-types",level:3},{value:"Common Entry Format",id:"common-entry-format",level:4},{value:"Target Declaration Entry",id:"target-declaration-entry",level:4},{value:"Packet Declaration Entry",id:"packet-declaration-entry",level:4},{value:"Raw Packet and JSON Packet Entries",id:"raw-packet-and-json-packet-entries",level:4},{value:"Offset Marker Entry",id:"offset-marker-entry",level:4},{value:"Key Map Entry",id:"key-map-entry",level:4}];function h(e){const t={h2:"h2",h3:"h3",h4:"h4",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0"}),"\n",(0,i.jsx)(t.h2,{id:"packet-log-file-format",children:"Packet Log File Format"}),"\n",(0,i.jsx)(t.p,{children:"Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as\nwell as decommutated packets stored as JSON structures."}),"\n",(0,i.jsx)(t.h3,{id:"file-header",children:"File Header"}),"\n",(0,i.jsx)(t.p,{children:'COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions.'}),"\n",(0,i.jsx)(t.h3,{id:"entry-types",children:"Entry Types"}),"\n",(0,i.jsx)(t.p,{children:"Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data."}),"\n",(0,i.jsx)(t.h4,{id:"common-entry-format",children:"Common Entry Format"}),"\n",(0,i.jsx)(t.p,{children:"This common format is used for all packet log entries:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Length"}),(0,i.jsx)(t.td,{children:"32-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Total length of the entry in bytes not including the length field. Max entry size is therefore 4GiB."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Entry Type"}),(0,i.jsx)(t.td,{children:"4-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["Entry Type:",(0,i.jsx)("br",{}),"1 = Target Declaration",(0,i.jsx)("br",{}),"2 = Packet Declaraction",(0,i.jsx)("br",{}),"3 = Raw Packet",(0,i.jsx)("br",{}),"4 = JSON/CBOR Packet",(0,i.jsx)("br",{}),"5 = Offset Marker",(0,i.jsx)("br",{}),"6 = Key Map"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Cmd/Tlm Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Command",(0,i.jsx)("br",{}),"0 = Telemetry"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Stored Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Stored Data",(0,i.jsx)("br",{}),"0 = Realtime Data"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Id Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = ID present",(0,i.jsx)("br",{}),"0 = ID not present"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CBOR Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:['Only Valid for "JSON/CBOR Packets"',(0,i.jsx)("br",{}),"1 = CBOR Data",(0,i.jsx)("br",{}),"0 = JSON Data"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Extra Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Extra present",(0,i.jsx)("br",{}),"0 = Extra Not Present (Added COSMOS 5.11)"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Received Time Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Received Time Present",(0,i.jsx)("br",{}),"0 = No Received Time (Added COSMOS 5.11.0)"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Reserved"}),(0,i.jsx)(t.td,{children:"6-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Reserved for Future expansion. Should be set to 0 if unused."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Entry Data"}),(0,i.jsx)(t.td,{children:"Variable"}),(0,i.jsx)(t.td,{children:"Unique data based on entry type. See Entry Types Below"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Id (Optional)"}),(0,i.jsx)(t.td,{children:"32-byte Binary Hash"}),(0,i.jsx)(t.td,{children:"If the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"target-declaration-entry",children:"Target Declaration Entry"}),"\n",(0,i.jsx)(t.p,{children:"Declares the name of a target the first time it is seen when writing the log file."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Target Name"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Target Name"})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"packet-declaration-entry",children:"Packet Declaration Entry"}),"\n",(0,i.jsx)(t.p,{children:"Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Target Index"}),(0,i.jsx)(t.td,{children:"16-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Index into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Name"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Packet Name"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"raw-packet-and-json-packet-entries",children:"Raw Packet and JSON Packet Entries"}),"\n",(0,i.jsx)(t.p,{children:'Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size.'}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Index"}),(0,i.jsx)(t.td,{children:"16-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Index into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Timestamp"}),(0,i.jsx)(t.td,{children:"64-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Packet timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the \u201cpacket time\u201d for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Received Timestamp (Optional)"}),(0,i.jsx)(t.td,{children:"64-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Only present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time\u201d for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Extra Length (Optional)"}),(0,i.jsx)(t.td,{children:"32-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Only Present if Extra Flag is Set. Length of extra data in bytes not including itself."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Extra Data (Optional)"}),(0,i.jsx)(t.td,{children:"Variable-Length Block Data"}),(0,i.jsx)(t.td,{children:"Only Present if Extra Flag is Set. CBOR or JSON encoded object of extra data."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Data"}),(0,i.jsx)(t.td,{children:"Variable-Length Block Data"}),(0,i.jsx)(t.td,{children:"The Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"offset-marker-entry",children:"Offset Marker Entry"}),"\n",(0,i.jsx)(t.p,{children:"This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Offset Marker"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Redis Offset Marker"})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"key-map-entry",children:"Key Map Entry"}),"\n",(0,i.jsx)(t.p,{children:"The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Index"}),(0,i.jsx)(t.td,{children:"16-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Index into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Key Map"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Key Map Data with Mapping from numeric key to actual packet item name"})]})]})]})]})}function o(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var r=n(6540);const i={},d=r.createContext(i);function s(e){const t=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/0686a885.4e7f372d.js b/docs/assets/js/0686a885.4e7f372d.js new file mode 100644 index 0000000000..66a1924344 --- /dev/null +++ b/docs/assets/js/0686a885.4e7f372d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7739"],{561:function(e,t,n){n.r(t),n.d(t,{metadata:()=>r,contentTitle:()=>a,default:()=>o,assets:()=>c,toc:()=>l,frontMatter:()=>s});var r=JSON.parse('{"id":"development/log-structure","title":"Log Structure","description":"Structure of the COSMOS log file","source":"@site/docs/development/log-structure.md","sourceDirName":"development","slug":"/development/log-structure","permalink":"/docs/development/log-structure","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/log-structure.md","tags":[],"version":"current","frontMatter":{"title":"Log Structure","description":"Structure of the COSMOS log file","sidebar_custom_props":{"myEmoji":"\uD83E\uDEB5"}},"sidebar":"defaultSidebar","previous":{"title":"JSON API","permalink":"/docs/development/json-api"},"next":{"title":"Roadmap","permalink":"/docs/development/roadmap"}}'),i=n("5893"),d=n("65");let s={title:"Log Structure",description:"Structure of the COSMOS log file",sidebar_custom_props:{myEmoji:"\uD83E\uDEB5"}},a=void 0,c={},l=[{value:"Packet Log File Format",id:"packet-log-file-format",level:2},{value:"File Header",id:"file-header",level:3},{value:"Entry Types",id:"entry-types",level:3},{value:"Common Entry Format",id:"common-entry-format",level:4},{value:"Target Declaration Entry",id:"target-declaration-entry",level:4},{value:"Packet Declaration Entry",id:"packet-declaration-entry",level:4},{value:"Raw Packet and JSON Packet Entries",id:"raw-packet-and-json-packet-entries",level:4},{value:"Offset Marker Entry",id:"offset-marker-entry",level:4},{value:"Key Map Entry",id:"key-map-entry",level:4}];function h(e){let t={h2:"h2",h3:"h3",h4:"h4",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0"}),"\n",(0,i.jsx)(t.h2,{id:"packet-log-file-format",children:"Packet Log File Format"}),"\n",(0,i.jsx)(t.p,{children:"Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as\nwell as decommutated packets stored as JSON structures."}),"\n",(0,i.jsx)(t.h3,{id:"file-header",children:"File Header"}),"\n",(0,i.jsx)(t.p,{children:'COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions.'}),"\n",(0,i.jsx)(t.h3,{id:"entry-types",children:"Entry Types"}),"\n",(0,i.jsx)(t.p,{children:"Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data."}),"\n",(0,i.jsx)(t.h4,{id:"common-entry-format",children:"Common Entry Format"}),"\n",(0,i.jsx)(t.p,{children:"This common format is used for all packet log entries:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Length"}),(0,i.jsx)(t.td,{children:"32-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Total length of the entry in bytes not including the length field. Max entry size is therefore 4GiB."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Entry Type"}),(0,i.jsx)(t.td,{children:"4-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["Entry Type:",(0,i.jsx)("br",{}),"1 = Target Declaration",(0,i.jsx)("br",{}),"2 = Packet Declaraction",(0,i.jsx)("br",{}),"3 = Raw Packet",(0,i.jsx)("br",{}),"4 = JSON/CBOR Packet",(0,i.jsx)("br",{}),"5 = Offset Marker",(0,i.jsx)("br",{}),"6 = Key Map"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Cmd/Tlm Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Command",(0,i.jsx)("br",{}),"0 = Telemetry"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Stored Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Stored Data",(0,i.jsx)("br",{}),"0 = Realtime Data"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Id Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = ID present",(0,i.jsx)("br",{}),"0 = ID not present"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CBOR Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:['Only Valid for "JSON/CBOR Packets"',(0,i.jsx)("br",{}),"1 = CBOR Data",(0,i.jsx)("br",{}),"0 = JSON Data"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Extra Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Extra present",(0,i.jsx)("br",{}),"0 = Extra Not Present (Added COSMOS 5.11)"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Received Time Flag"}),(0,i.jsx)(t.td,{children:"1-bit Unsigned Integer"}),(0,i.jsxs)(t.td,{children:["1 = Received Time Present",(0,i.jsx)("br",{}),"0 = No Received Time (Added COSMOS 5.11.0)"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Reserved"}),(0,i.jsx)(t.td,{children:"6-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Reserved for Future expansion. Should be set to 0 if unused."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Entry Data"}),(0,i.jsx)(t.td,{children:"Variable"}),(0,i.jsx)(t.td,{children:"Unique data based on entry type. See Entry Types Below"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Id (Optional)"}),(0,i.jsx)(t.td,{children:"32-byte Binary Hash"}),(0,i.jsx)(t.td,{children:"If the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"target-declaration-entry",children:"Target Declaration Entry"}),"\n",(0,i.jsx)(t.p,{children:"Declares the name of a target the first time it is seen when writing the log file."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Target Name"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Target Name"})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"packet-declaration-entry",children:"Packet Declaration Entry"}),"\n",(0,i.jsx)(t.p,{children:"Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Target Index"}),(0,i.jsx)(t.td,{children:"16-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Index into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Name"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Packet Name"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"raw-packet-and-json-packet-entries",children:"Raw Packet and JSON Packet Entries"}),"\n",(0,i.jsx)(t.p,{children:'Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size.'}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Index"}),(0,i.jsx)(t.td,{children:"16-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Index into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Timestamp"}),(0,i.jsx)(t.td,{children:"64-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Packet timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the \u201Cpacket time\u201D for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Received Timestamp (Optional)"}),(0,i.jsx)(t.td,{children:"64-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Only present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time\u201D for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Extra Length (Optional)"}),(0,i.jsx)(t.td,{children:"32-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Only Present if Extra Flag is Set. Length of extra data in bytes not including itself."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Extra Data (Optional)"}),(0,i.jsx)(t.td,{children:"Variable-Length Block Data"}),(0,i.jsx)(t.td,{children:"Only Present if Extra Flag is Set. CBOR or JSON encoded object of extra data."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Data"}),(0,i.jsx)(t.td,{children:"Variable-Length Block Data"}),(0,i.jsx)(t.td,{children:"The Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry."})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"offset-marker-entry",children:"Offset Marker Entry"}),"\n",(0,i.jsx)(t.p,{children:"This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Offset Marker"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Redis Offset Marker"})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"key-map-entry",children:"Key Map Entry"}),"\n",(0,i.jsx)(t.p,{children:"The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Data Type"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Packet Index"}),(0,i.jsx)(t.td,{children:"16-bit Unsigned Integer"}),(0,i.jsx)(t.td,{children:"Index into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Key Map"}),(0,i.jsx)(t.td,{children:"Variable-Length ASCII String"}),(0,i.jsx)(t.td,{children:"Key Map Data with Mapping from numeric key to actual packet item name"})]})]})]})]})}function o(e={}){let{wrapper:t}={...(0,d.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},65:function(e,t,n){n.d(t,{Z:function(){return a},a:function(){return s}});var r=n(7294);let i={},d=r.createContext(i);function s(e){let t=r.useContext(d);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/078dbab0.057190fa.js b/docs/assets/js/078dbab0.057190fa.js deleted file mode 100644 index 9ebd4205d3..0000000000 --- a/docs/assets/js/078dbab0.057190fa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5425],{3718:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"type":"mdx","permalink":"/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}');var a=t(4848),r=t(8453);const s={title:"Markdown page example"},c="Markdown page example",p={},d=[];function i(e){const n={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,a.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(i,{...e})}):i(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var o=t(6540);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/078dbab0.37ec4951.js b/docs/assets/js/078dbab0.37ec4951.js new file mode 100644 index 0000000000..7e301d7515 --- /dev/null +++ b/docs/assets/js/078dbab0.37ec4951.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6603"],{657:function(e,n,t){t.r(n),t.d(n,{metadata:()=>a,contentTitle:()=>p,default:()=>i,assets:()=>s,toc:()=>d,frontMatter:()=>c});var a=JSON.parse('{"type":"mdx","permalink":"/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}'),o=t("5893"),r=t("65");let c={title:"Markdown page example"},p="Markdown page example",s={},d=[];function l(e){let n={h1:"h1",header:"header",p:"p",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,o.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function i(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},65:function(e,n,t){t.d(n,{Z:function(){return p},a:function(){return c}});var a=t(7294);let o={},r=a.createContext(o);function c(e){let n=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/0f5d161c.1362d403.js b/docs/assets/js/0f5d161c.1362d403.js deleted file mode 100644 index 1a21e7c205..0000000000 --- a/docs/assets/js/0f5d161c.1362d403.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2327],{1620:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"tools/script-runner","title":"Script Runner","description":"Run Python or Ruby scripts to send commands and check telemetry","source":"@site/docs/tools/script-runner.md","sourceDirName":"tools","slug":"/tools/script-runner","permalink":"/docs/tools/script-runner","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/script-runner.md","tags":[],"version":"current","frontMatter":{"title":"Script Runner","description":"Run Python or Ruby scripts to send commands and check telemetry","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Packet Viewer","permalink":"/docs/tools/packet-viewer"},"next":{"title":"Table Manager","permalink":"/docs/tools/table-manager"}}');var r=n(4848),s=n(8453);const o={title:"Script Runner",description:"Run Python or Ruby scripts to send commands and check telemetry",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},c=void 0,a={},l=[{value:"Introduction",id:"introduction",level:2},{value:"Script Runner Menus",id:"script-runner-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"File Open",id:"file-open",level:4},{value:"File Save As",id:"file-save-as",level:4},{value:"Script Menu Items",id:"script-menu-items",level:3},{value:"Running Scripts",id:"running-scripts",level:2},{value:"Right Click Script",id:"right-click-script",level:3},{value:"Running Script Suites",id:"running-script-suites",level:2},{value:"Group",id:"group",level:3},{value:"Suite",id:"suite",level:3},{value:"Script Suite Options",id:"script-suite-options",level:3},{value:"Pause on Error",id:"pause-on-error",level:4},{value:"Continue after Error",id:"continue-after-error",level:4},{value:"Abort after Error",id:"abort-after-error",level:4},{value:"Manual",id:"manual",level:4},{value:"Loop",id:"loop",level:4},{value:"Break Loop on Error",id:"break-loop-on-error",level:4},{value:"Debugging Scripts",id:"debugging-scripts",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,r.jsx)(t.p,{children:"Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individual scripts, groups of scripts, or entire suites."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Script Runner",src:n(849).A+"",width:"1273",height:"929"})}),"\n",(0,r.jsx)(t.h2,{id:"script-runner-menus",children:"Script Runner Menus"}),"\n",(0,r.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,r.jsx)("img",{src:n(2549).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"250px"}}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Clears the editor and filename"}),"\n",(0,r.jsx)(t.li,{children:"Creates a new test suite in Ruby or Python"}),"\n",(0,r.jsx)(t.li,{children:"Opens a dialog to select a file to open"}),"\n",(0,r.jsx)(t.li,{children:"Opens a recently used file"}),"\n",(0,r.jsx)(t.li,{children:"Saves the currently opened file to disk"}),"\n",(0,r.jsx)(t.li,{children:"Rename the current file"}),"\n",(0,r.jsx)(t.li,{children:"Downloads the current file to the browser"}),"\n",(0,r.jsxs)(t.li,{children:["Deletes the current file (Permanently!)","\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)("br",{}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"file-open",children:"File Open"}),"\n",(0,r.jsx)(t.p,{children:"The File Open Dialog displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"File Open",src:n(1566).A+"",width:"597",height:"599"})}),"\n",(0,r.jsx)(t.h4,{id:"file-save-as",children:"File Save As"}),"\n",(0,r.jsx)(t.p,{children:"When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted before over-writing an existing file."}),"\n",(0,r.jsx)(t.h3,{id:"script-menu-items",children:"Script Menu Items"}),"\n",(0,r.jsx)("img",{src:n(2232).A,alt:"Script Menu",style:{float:"left","margin-right":"50px",height:"330px"}}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Display started and finished scripts"}),"\n",(0,r.jsx)(t.li,{children:"Show environment variables"}),"\n",(0,r.jsx)(t.li,{children:"Show defined metadata"}),"\n",(0,r.jsx)(t.li,{children:"Show overridden telemetry values"}),"\n",(0,r.jsx)(t.li,{children:"Perform a syntax check"}),"\n",(0,r.jsx)(t.li,{children:"Perform a script mnemonic check"}),"\n",(0,r.jsx)(t.li,{children:"View the instrumented script"}),"\n",(0,r.jsx)(t.li,{children:"Shows the script call stack"}),"\n",(0,r.jsxs)(t.li,{children:["Display the ",(0,r.jsx)(t.a,{href:"/docs/tools/script-runner#debugging-scripts",children:"debug"})," prompt"]}),"\n",(0,r.jsx)(t.li,{children:"Disconnect from real interfaces"}),"\n",(0,r.jsx)(t.li,{children:"Delete all script breakpoints"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Running Scripts",src:n(6419).A+"",width:"1508",height:"505"})}),"\n",(0,r.jsx)(t.h2,{id:"running-scripts",children:"Running Scripts"}),"\n",(0,r.jsx)(t.p,{children:"Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"checks.rb",src:n(3265).A+"",width:"1273",height:"533"})}),"\n",(0,r.jsx)(t.p,{children:"Once you click Start the script is spawned in the Server and the Script State becomes Connecting."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"connecting",src:n(7725).A+"",width:"1273",height:"68"})}),"\n",(0,r.jsx)(t.p,{children:"At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"error",src:n(8445).A+"",width:"1273",height:"527"})}),"\n",(0,r.jsx)(t.p,{children:"This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution."}),"\n",(0,r.jsx)(t.h3,{id:"right-click-script",children:"Right Click Script"}),"\n",(0,r.jsx)(t.p,{children:"Right clicking a script brings up several options:"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"right-click",src:n(1744).A+"",width:"2152",height:"1188"})}),"\n",(0,r.jsx)(t.p,{children:"'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!"}),"\n",(0,r.jsx)(t.p,{children:"'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!"}),"\n",(0,r.jsx)(t.p,{children:"'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number."}),"\n",(0,r.jsx)(t.h2,{id:"running-script-suites",children:"Running Script Suites"}),"\n",(0,r.jsx)(t.p,{children:"If a script is structured as a Suite it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Suite Script",src:n(2915).A+"",width:"1273",height:"624"})}),"\n",(0,r.jsx)(t.p,{children:"To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language."}),"\n",(0,r.jsx)(t.h3,{id:"group",children:"Group"}),"\n",(0,r.jsx)(t.p,{children:"The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:'require \'openc3/script/suite.rb\'\nclass ExampleGroup < OpenC3::Group\n def setup\n puts "setup"\n end\n def script_1\n puts "script 1"\n end\n def teardown\n puts "teardown"\n end\nend\n'})}),"\n",(0,r.jsx)(t.p,{children:"Equivalent Python example:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:'from openc3.script.suite import Suite, Group\nclass ExampleGroup(Group):\n def setup(self):\n print("setup")\n def script_1(self):\n print("script 1")\n def teardown(self)\n print("teardown")\n'})}),"\n",(0,r.jsx)(t.p,{children:"The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method."}),"\n",(0,r.jsx)(t.h3,{id:"suite",children:"Suite"}),"\n",(0,r.jsx)(t.p,{children:"Groups are added to Suites by creating a class inheriting from Suite and then calling the add_group method. For example in Ruby:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:'class MySuite < OpenC3::Suite\n def initialize\n add_group(\'ExampleGroup\')\n end\n def setup\n puts "Suite setup"\n end\n def teardown\n puts "Suite teardown"\n end\nend\n'})}),"\n",(0,r.jsx)(t.p,{children:"In Python:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:'from openc3.script.suite import Suite, Group\nclass MySuite(Suite):\n def __init__(self):\n self.add_group(\'ExampleGroup\')\n def setup(self):\n print("Suite setup")\n def teardown(self):\n print("Suite teardown")\n'})}),"\n",(0,r.jsx)(t.p,{children:"Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu."}),"\n",(0,r.jsx)(t.p,{children:"Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script."}),"\n",(0,r.jsx)(t.h3,{id:"script-suite-options",children:"Script Suite Options"}),"\n",(0,r.jsx)(t.p,{children:"Opening a Script Suite creates six checkboxes which provide options to the running script."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Suite Checkboxes",src:n(3291).A+"",width:"464",height:"145"})}),"\n",(0,r.jsx)(t.h4,{id:"pause-on-error",children:"Pause on Error"}),"\n",(0,r.jsx)(t.p,{children:"Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error."}),"\n",(0,r.jsx)(t.h4,{id:"continue-after-error",children:"Continue after Error"}),"\n",(0,r.jsx)(t.p,{children:"Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group."}),"\n",(0,r.jsx)(t.h4,{id:"abort-after-error",children:"Abort after Error"}),"\n",(0,r.jsx)(t.p,{children:"Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete."}),"\n",(0,r.jsx)(t.h4,{id:"manual",children:"Manual"}),"\n",(0,r.jsxs)(t.p,{children:["In Ruby, sets the global variable called ",(0,r.jsx)(t.code,{children:"$manual"})," to true. In Python, sets ",(0,r.jsx)(t.code,{children:"RunningScript.manual"})," to True. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use the variable in their scripts."]}),"\n",(0,r.jsx)(t.h4,{id:"loop",children:"Loop"}),"\n",(0,r.jsx)(t.p,{children:"Loop whatever the user started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen."}),"\n",(0,r.jsx)(t.h4,{id:"break-loop-on-error",children:"Break Loop on Error"}),"\n",(0,r.jsx)(t.p,{children:"Break the loop if an Error occurs. Only available if the Loop option is set."}),"\n",(0,r.jsx)(t.h2,{id:"debugging-scripts",children:"Debugging Scripts"}),"\n",(0,r.jsxs)(t.p,{children:["When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing ",(0,r.jsx)(t.code,{children:"var = 10"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Debug",src:n(3382).A+"",width:"1273",height:"748"})}),"\n",(0,r.jsx)(t.p,{children:"The Step button allows you to step line by line through the script. Clicking Go continues regular execution."})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},2549:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/file_menu-470589e527d9e82ce40e0c7d4a865e33d19b42350c2429dba97186d168137b6d.png"},2232:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/script_menu-5a10df89d9806a59b41ef990fc1181c46c7ffa00496021efceb22c0f31dcc9cc.png"},3265:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/checks_rb-89f400098ff47774008ea420860c665c15ebf06819c3ee7050bed301ea0a9f46.png"},7725:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/connecting-0f804651a891ef6112a51ba8b2e4d8dcb46e3462dcbc94e7b3c75bff20fc04e7.png"},3382:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/debug-3103972d64395b50fff5808661fb846ae2de7d5934548ca5b88032f1ae12c541.png"},1566:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/file_open-a5bc9e5ef73c12913ea4882498ceb52f93c73afaf5bb0c1083c4c1ee402f571d.png"},1744:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/right_click-371e3683026c0bb2b27187277b4e99727c6b52965e0190a5f81335248f40ef9b.png"},6419:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/running_scripts-694a1b310d42791acf64cf76ea370bb273084954107d5e6e2caf15f4fb50e634.png"},8445:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/script_error-2061222e00f5e5190a4407be1f8999200badca9b3137659de007e27cf1708dc0.png"},849:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/script_runner-31f6bfcb631b788ff0bf792ac21da30aaa503ca926b10a22d4337114effc28f0.png"},2915:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/script_suite-16647c3b3de01a8749f1b5c4ab2f8b452630df8c0470e5be38652acacfc98b5d.png"},3291:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/suite_checkboxes-af8452153dbc2143718fefcfc7d441e05f42c241b3c10d4f41200ae576f68063.png"},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var i=n(6540);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/0f5d161c.2ae0eb29.js b/docs/assets/js/0f5d161c.2ae0eb29.js new file mode 100644 index 0000000000..d09104cf6a --- /dev/null +++ b/docs/assets/js/0f5d161c.2ae0eb29.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7243"],{7456:function(e,t,n){n.r(t),n.d(t,{metadata:()=>i,contentTitle:()=>c,default:()=>u,assets:()=>l,toc:()=>a,frontMatter:()=>o});var i=JSON.parse('{"id":"tools/script-runner","title":"Script Runner","description":"Run Python or Ruby scripts to send commands and check telemetry","source":"@site/docs/tools/script-runner.md","sourceDirName":"tools","slug":"/tools/script-runner","permalink":"/docs/tools/script-runner","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/script-runner.md","tags":[],"version":"current","frontMatter":{"title":"Script Runner","description":"Run Python or Ruby scripts to send commands and check telemetry","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Packet Viewer","permalink":"/docs/tools/packet-viewer"},"next":{"title":"Table Manager","permalink":"/docs/tools/table-manager"}}'),r=n("5893"),s=n("65");let o={title:"Script Runner",description:"Run Python or Ruby scripts to send commands and check telemetry",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},c=void 0,l={},a=[{value:"Introduction",id:"introduction",level:2},{value:"Script Runner Menus",id:"script-runner-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"File Open",id:"file-open",level:4},{value:"File Save As",id:"file-save-as",level:4},{value:"Script Menu Items",id:"script-menu-items",level:3},{value:"Running Scripts",id:"running-scripts",level:2},{value:"Right Click Script",id:"right-click-script",level:3},{value:"Running Script Suites",id:"running-script-suites",level:2},{value:"Group",id:"group",level:3},{value:"Suite",id:"suite",level:3},{value:"Script Suite Options",id:"script-suite-options",level:3},{value:"Pause on Error",id:"pause-on-error",level:4},{value:"Continue after Error",id:"continue-after-error",level:4},{value:"Abort after Error",id:"abort-after-error",level:4},{value:"Manual",id:"manual",level:4},{value:"Loop",id:"loop",level:4},{value:"Break Loop on Error",id:"break-loop-on-error",level:4},{value:"Debugging Scripts",id:"debugging-scripts",level:2}];function d(e){let t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,r.jsx)(t.p,{children:"Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individual scripts, groups of scripts, or entire suites."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Script Runner",src:n(5469).Z+"",width:"1273",height:"929"})}),"\n",(0,r.jsx)(t.h2,{id:"script-runner-menus",children:"Script Runner Menus"}),"\n",(0,r.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,r.jsx)("img",{src:n(602).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"250px"}}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Clears the editor and filename"}),"\n",(0,r.jsx)(t.li,{children:"Creates a new test suite in Ruby or Python"}),"\n",(0,r.jsx)(t.li,{children:"Opens a dialog to select a file to open"}),"\n",(0,r.jsx)(t.li,{children:"Opens a recently used file"}),"\n",(0,r.jsx)(t.li,{children:"Saves the currently opened file to disk"}),"\n",(0,r.jsx)(t.li,{children:"Rename the current file"}),"\n",(0,r.jsx)(t.li,{children:"Downloads the current file to the browser"}),"\n",(0,r.jsxs)(t.li,{children:["Deletes the current file (Permanently!)","\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)("br",{}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h4,{id:"file-open",children:"File Open"}),"\n",(0,r.jsx)(t.p,{children:"The File Open Dialog displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"File Open",src:n(7776).Z+"",width:"597",height:"599"})}),"\n",(0,r.jsx)(t.h4,{id:"file-save-as",children:"File Save As"}),"\n",(0,r.jsx)(t.p,{children:"When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted before over-writing an existing file."}),"\n",(0,r.jsx)(t.h3,{id:"script-menu-items",children:"Script Menu Items"}),"\n",(0,r.jsx)("img",{src:n(9107).Z,alt:"Script Menu",style:{float:"left","margin-right":"50px",height:"330px"}}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"Display started and finished scripts"}),"\n",(0,r.jsx)(t.li,{children:"Show environment variables"}),"\n",(0,r.jsx)(t.li,{children:"Show defined metadata"}),"\n",(0,r.jsx)(t.li,{children:"Show overridden telemetry values"}),"\n",(0,r.jsx)(t.li,{children:"Perform a syntax check"}),"\n",(0,r.jsx)(t.li,{children:"Perform a script mnemonic check"}),"\n",(0,r.jsx)(t.li,{children:"View the instrumented script"}),"\n",(0,r.jsx)(t.li,{children:"Shows the script call stack"}),"\n",(0,r.jsxs)(t.li,{children:["Display the ",(0,r.jsx)(t.a,{href:"/docs/tools/script-runner#debugging-scripts",children:"debug"})," prompt"]}),"\n",(0,r.jsx)(t.li,{children:"Disconnect from real interfaces"}),"\n",(0,r.jsx)(t.li,{children:"Delete all script breakpoints"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Running Scripts",src:n(7104).Z+"",width:"1508",height:"505"})}),"\n",(0,r.jsx)(t.h2,{id:"running-scripts",children:"Running Scripts"}),"\n",(0,r.jsx)(t.p,{children:"Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"checks.rb",src:n(6849).Z+"",width:"1273",height:"533"})}),"\n",(0,r.jsx)(t.p,{children:"Once you click Start the script is spawned in the Server and the Script State becomes Connecting."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"connecting",src:n(5854).Z+"",width:"1273",height:"68"})}),"\n",(0,r.jsx)(t.p,{children:"At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"error",src:n(7065).Z+"",width:"1273",height:"527"})}),"\n",(0,r.jsx)(t.p,{children:"This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution."}),"\n",(0,r.jsx)(t.h3,{id:"right-click-script",children:"Right Click Script"}),"\n",(0,r.jsx)(t.p,{children:"Right clicking a script brings up several options:"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"right-click",src:n(6945).Z+"",width:"2152",height:"1188"})}),"\n",(0,r.jsx)(t.p,{children:"'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!"}),"\n",(0,r.jsx)(t.p,{children:"'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!"}),"\n",(0,r.jsx)(t.p,{children:"'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number."}),"\n",(0,r.jsx)(t.h2,{id:"running-script-suites",children:"Running Script Suites"}),"\n",(0,r.jsx)(t.p,{children:"If a script is structured as a Suite it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Suite Script",src:n(2588).Z+"",width:"1273",height:"624"})}),"\n",(0,r.jsx)(t.p,{children:"To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language."}),"\n",(0,r.jsx)(t.h3,{id:"group",children:"Group"}),"\n",(0,r.jsx)(t.p,{children:"The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:'require \'openc3/script/suite.rb\'\nclass ExampleGroup < OpenC3::Group\n def setup\n puts "setup"\n end\n def script_1\n puts "script 1"\n end\n def teardown\n puts "teardown"\n end\nend\n'})}),"\n",(0,r.jsx)(t.p,{children:"Equivalent Python example:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:'from openc3.script.suite import Suite, Group\nclass ExampleGroup(Group):\n def setup(self):\n print("setup")\n def script_1(self):\n print("script 1")\n def teardown(self):\n print("teardown")\n'})}),"\n",(0,r.jsx)(t.p,{children:"The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method."}),"\n",(0,r.jsx)(t.h3,{id:"suite",children:"Suite"}),"\n",(0,r.jsx)(t.p,{children:"Groups are added to Suites by creating a class inheriting from Suite and then calling the add_group method. For example in Ruby:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:'class MySuite < OpenC3::Suite\n def initialize\n add_group(\'ExampleGroup\')\n end\n def setup\n puts "Suite setup"\n end\n def teardown\n puts "Suite teardown"\n end\nend\n'})}),"\n",(0,r.jsx)(t.p,{children:"In Python:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:'from openc3.script.suite import Suite, Group\nclass MySuite(Suite):\n def __init__(self):\n self.add_group(ExampleGroup)\n def setup(self):\n print("Suite setup")\n def teardown(self):\n print("Suite teardown")\n'})}),"\n",(0,r.jsx)(t.p,{children:"Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu."}),"\n",(0,r.jsx)(t.p,{children:"Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script."}),"\n",(0,r.jsx)(t.h3,{id:"script-suite-options",children:"Script Suite Options"}),"\n",(0,r.jsx)(t.p,{children:"Opening a Script Suite creates six checkboxes which provide options to the running script."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Suite Checkboxes",src:n(2383).Z+"",width:"464",height:"145"})}),"\n",(0,r.jsx)(t.h4,{id:"pause-on-error",children:"Pause on Error"}),"\n",(0,r.jsx)(t.p,{children:"Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error."}),"\n",(0,r.jsx)(t.h4,{id:"continue-after-error",children:"Continue after Error"}),"\n",(0,r.jsx)(t.p,{children:"Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group."}),"\n",(0,r.jsx)(t.h4,{id:"abort-after-error",children:"Abort after Error"}),"\n",(0,r.jsx)(t.p,{children:"Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete."}),"\n",(0,r.jsx)(t.h4,{id:"manual",children:"Manual"}),"\n",(0,r.jsxs)(t.p,{children:["In Ruby, sets the global variable called ",(0,r.jsx)(t.code,{children:"$manual"})," to true. In Python, sets ",(0,r.jsx)(t.code,{children:"RunningScript.manual"})," to True. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use the variable in their scripts."]}),"\n",(0,r.jsx)(t.h4,{id:"loop",children:"Loop"}),"\n",(0,r.jsx)(t.p,{children:"Loop whatever the user started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen."}),"\n",(0,r.jsx)(t.h4,{id:"break-loop-on-error",children:"Break Loop on Error"}),"\n",(0,r.jsx)(t.p,{children:"Break the loop if an Error occurs. Only available if the Loop option is set."}),"\n",(0,r.jsx)(t.h2,{id:"debugging-scripts",children:"Debugging Scripts"}),"\n",(0,r.jsxs)(t.p,{children:["When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing ",(0,r.jsx)(t.code,{children:"var = 10"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Debug",src:n(1901).Z+"",width:"1273",height:"748"})}),"\n",(0,r.jsx)(t.p,{children:"The Step button allows you to step line by line through the script. Clicking Go continues regular execution."})]})}function u(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},602:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/file_menu-470589e527d9e82ce40e0c7d4a865e33d19b42350c2429dba97186d168137b6d.png"},9107:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/script_menu-5a10df89d9806a59b41ef990fc1181c46c7ffa00496021efceb22c0f31dcc9cc.png"},6849:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/checks_rb-89f400098ff47774008ea420860c665c15ebf06819c3ee7050bed301ea0a9f46.png"},5854:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/connecting-0f804651a891ef6112a51ba8b2e4d8dcb46e3462dcbc94e7b3c75bff20fc04e7.png"},1901:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/debug-3103972d64395b50fff5808661fb846ae2de7d5934548ca5b88032f1ae12c541.png"},7776:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/file_open-a5bc9e5ef73c12913ea4882498ceb52f93c73afaf5bb0c1083c4c1ee402f571d.png"},6945:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/right_click-371e3683026c0bb2b27187277b4e99727c6b52965e0190a5f81335248f40ef9b.png"},7104:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/running_scripts-694a1b310d42791acf64cf76ea370bb273084954107d5e6e2caf15f4fb50e634.png"},7065:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/script_error-2061222e00f5e5190a4407be1f8999200badca9b3137659de007e27cf1708dc0.png"},5469:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/script_runner-31f6bfcb631b788ff0bf792ac21da30aaa503ca926b10a22d4337114effc28f0.png"},2588:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/script_suite-16647c3b3de01a8749f1b5c4ab2f8b452630df8c0470e5be38652acacfc98b5d.png"},2383:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/suite_checkboxes-af8452153dbc2143718fefcfc7d441e05f42c241b3c10d4f41200ae576f68063.png"},65:function(e,t,n){n.d(t,{Z:function(){return c},a:function(){return o}});var i=n(7294);let r={},s=i.createContext(r);function o(e){let t=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/0ff569c9.26d099b4.js b/docs/assets/js/0ff569c9.26d099b4.js new file mode 100644 index 0000000000..059de65a6b --- /dev/null +++ b/docs/assets/js/0ff569c9.26d099b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4045"],{6974:function(e,t,n){n.r(t),n.d(t,{metadata:()=>i,contentTitle:()=>r,default:()=>h,assets:()=>c,toc:()=>d,frontMatter:()=>a});var i=JSON.parse('{"id":"introduction","title":"Introduction","description":"This site aims to be a comprehensive guide to OpenC3 COSMOS. We\'ll cover topics such","source":"@site/docs/introduction.md","sourceDirName":".","slug":"/","permalink":"/docs/","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/introduction.md","tags":[],"version":"current","sidebarPosition":0,"frontMatter":{"title":"Introduction","sidebar_position":0,"slug":"/"},"sidebar":"defaultSidebar","next":{"title":"Getting Started","permalink":"/docs/getting-started"}}'),o=n("5893"),s=n("65");let a={title:"Introduction",sidebar_position:0,slug:"/"},r=void 0,c={},d=[{value:"So what is COSMOS, exactly?",id:"so-what-is-cosmos-exactly",level:2},{value:"COSMOS Architecture",id:"cosmos-architecture",level:3},{value:"Helpful Hints",id:"helpful-hints",level:2}];function l(e){let t={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"This site aims to be a comprehensive guide to OpenC3 COSMOS. We'll cover topics such\nas getting your configuration up and running, developing test and operations scripts,\nbuilding custom telemetry screens, and give you some advice on participating in the future\ndevelopment of COSMOS itself."}),"\n",(0,o.jsx)(t.h2,{id:"so-what-is-cosmos-exactly",children:"So what is COSMOS, exactly?"}),"\n",(0,o.jsx)(t.p,{children:"COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be\nanything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to\ndevelopment boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites."}),"\n",(0,o.jsx)(t.h3,{id:"cosmos-architecture",children:"COSMOS Architecture"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"COSMOS Architecture",src:n(6535).Z+"",width:"1155",height:"538"})}),"\n",(0,o.jsx)(t.p,{children:"COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer."}),"\n",(0,o.jsx)(t.p,{children:"Keep reading for an in-depth discussion of each of the COSMOS Tools."}),"\n",(0,o.jsx)(t.h2,{id:"helpful-hints",children:"Helpful Hints"}),"\n",(0,o.jsx)(t.p,{children:"Throughout this guide there are a number of small-but-handy pieces of\ninformation that can make using COSMOS easier, more interesting, and less\nhazardous. Here's what to look out for."}),"\n",(0,o.jsx)(t.admonition,{title:"ProTips\u2122 help you get more from COSMOS",type:"note",children:(0,o.jsx)(t.p,{children:"These are tips and tricks that will help you be a COSMOS wizard!"})}),"\n",(0,o.jsx)(t.admonition,{title:"Notes are handy pieces of information",type:"info",children:(0,o.jsx)(t.p,{children:"These are for the extra tidbits sometimes necessary to understand COSMOS."})}),"\n",(0,o.jsx)(t.admonition,{title:"Warnings help you not blow things up",type:"warning",children:(0,o.jsx)(t.p,{children:"Be aware of these messages if you wish to avoid certain death."})}),"\n",(0,o.jsx)(t.admonition,{title:"Find a problem in the documentation or in COSMOS itself?",type:"note",children:(0,o.jsxs)(t.p,{children:["Both using and hacking on COSMOS should be fun, simple, and easy, so if for\nsome reason you find it's a pain, please ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/issues/new/choose",children:"create an issue"})," on\nGitHub describing your experience so we can make it better."]})})]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},6535:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png"},65:function(e,t,n){n.d(t,{Z:function(){return r},a:function(){return a}});var i=n(7294);let o={},s=i.createContext(o);function a(e){let t=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/0ff569c9.61977b1e.js b/docs/assets/js/0ff569c9.61977b1e.js deleted file mode 100644 index 6f16c23035..0000000000 --- a/docs/assets/js/0ff569c9.61977b1e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5961],{1067:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"introduction","title":"Introduction","description":"This site aims to be a comprehensive guide to OpenC3 COSMOS. We\'ll cover topics such","source":"@site/docs/introduction.md","sourceDirName":".","slug":"/","permalink":"/docs/","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/introduction.md","tags":[],"version":"current","sidebarPosition":0,"frontMatter":{"title":"Introduction","sidebar_position":0,"slug":"/"},"sidebar":"defaultSidebar","next":{"title":"Getting Started","permalink":"/docs/getting-started"}}');var i=n(4848),o=n(8453);const a={title:"Introduction",sidebar_position:0,slug:"/"},r=void 0,c={},d=[{value:"So what is COSMOS, exactly?",id:"so-what-is-cosmos-exactly",level:2},{value:"COSMOS Architecture",id:"cosmos-architecture",level:3},{value:"Helpful Hints",id:"helpful-hints",level:2}];function l(e){const t={a:"a",admonition:"admonition",h2:"h2",h3:"h3",img:"img",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"This site aims to be a comprehensive guide to OpenC3 COSMOS. We'll cover topics such\nas getting your configuration up and running, developing test and operations scripts,\nbuilding custom telemetry screens, and give you some advice on participating in the future\ndevelopment of COSMOS itself."}),"\n",(0,i.jsx)(t.h2,{id:"so-what-is-cosmos-exactly",children:"So what is COSMOS, exactly?"}),"\n",(0,i.jsx)(t.p,{children:"COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be\nanything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to\ndevelopment boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites."}),"\n",(0,i.jsx)(t.h3,{id:"cosmos-architecture",children:"COSMOS Architecture"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"COSMOS Architecture",src:n(2203).A+"",width:"1155",height:"538"})}),"\n",(0,i.jsx)(t.p,{children:"COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer."}),"\n",(0,i.jsx)(t.p,{children:"Keep reading for an in-depth discussion of each of the COSMOS Tools."}),"\n",(0,i.jsx)(t.h2,{id:"helpful-hints",children:"Helpful Hints"}),"\n",(0,i.jsx)(t.p,{children:"Throughout this guide there are a number of small-but-handy pieces of\ninformation that can make using COSMOS easier, more interesting, and less\nhazardous. Here's what to look out for."}),"\n",(0,i.jsx)(t.admonition,{title:"ProTips\u2122 help you get more from COSMOS",type:"note",children:(0,i.jsx)(t.p,{children:"These are tips and tricks that will help you be a COSMOS wizard!"})}),"\n",(0,i.jsx)(t.admonition,{title:"Notes are handy pieces of information",type:"info",children:(0,i.jsx)(t.p,{children:"These are for the extra tidbits sometimes necessary to understand COSMOS."})}),"\n",(0,i.jsx)(t.admonition,{title:"Warnings help you not blow things up",type:"warning",children:(0,i.jsx)(t.p,{children:"Be aware of these messages if you wish to avoid certain death."})}),"\n",(0,i.jsx)(t.admonition,{title:"Find a problem in the documentation or in COSMOS itself?",type:"note",children:(0,i.jsxs)(t.p,{children:["Both using and hacking on COSMOS should be fun, simple, and easy, so if for\nsome reason you find it's a pain, please ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/issues/new/choose",children:"create an issue"})," on\nGitHub describing your experience so we can make it better."]})})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},2203:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png"},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var s=n(6540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/103cc3be.dba04d6f.js b/docs/assets/js/103cc3be.dba04d6f.js deleted file mode 100644 index c49c4c491f..0000000000 --- a/docs/assets/js/103cc3be.dba04d6f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3467],{5711:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"tools/autonomic","title":"Autonomic (Enterprise)","description":"Automated execution of commands and scripts","source":"@site/docs/tools/autonomic.md","sourceDirName":"tools","slug":"/tools/autonomic","permalink":"/docs/tools/autonomic","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/autonomic.md","tags":[],"version":"current","frontMatter":{"title":"Autonomic (Enterprise)","description":"Automated execution of commands and scripts","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Tools","permalink":"/docs/tools"},"next":{"title":"Bucket Explorer","permalink":"/docs/tools/bucket-explorer"}}');var r=i(4848),s=i(8453);const a={title:"Autonomic (Enterprise)",description:"Automated execution of commands and scripts",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},o=void 0,c={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Overview",id:"overview",level:3},{value:"TriggerGroups",id:"triggergroups",level:3},{value:"Triggers",id:"triggers",level:3},{value:"Reactions",id:"reactions",level:3}];function g(e){const t={admonition:"admonition",h2:"h2",h3:"h3",img:"img",p:"p",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,r.jsx)(t.p,{children:"Autonomic allows for the automated execution of commands and scripts based on user-defined rules."}),"\n",(0,r.jsx)(t.h3,{id:"overview",children:"Overview"}),"\n",(0,r.jsx)(t.p,{children:"Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Autonomic",src:i(7209).A+"",width:"1266",height:"599"})}),"\n",(0,r.jsx)(t.h3,{id:"triggergroups",children:"TriggerGroups"}),"\n",(0,r.jsx)(t.p,{children:"Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"TriggerGroups",src:i(3237).A+"",width:"349",height:"99"})}),"\n",(0,r.jsx)(t.h3,{id:"triggers",children:"Triggers"}),"\n",(0,r.jsx)(t.p,{children:'Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger1",src:i(190).A+"",width:"648",height:"779"})}),"\n",(0,r.jsx)(t.p,{children:'Once you\'ve chosen the "left operand" you need to choose the operator.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger2",src:i(549).A+"",width:"648",height:"653"})}),"\n",(0,r.jsx)(t.p,{children:'Finally you choose the "right operand" which in this case is a simple value.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger3",src:i(7660).A+"",width:"648",height:"715"})}),"\n",(0,r.jsx)(t.p,{children:"After the trigger is created it is displayed in Autonomic and waits to be activated by the given logic. Active triggers are highlighted in the list."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger3",src:i(5158).A+"",width:"1268",height:"607"})}),"\n",(0,r.jsx)(t.p,{children:"Triggers can also be manually disabled and enabled by clicking the plug icon."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger3",src:i(9757).A+"",width:"1268",height:"715"})}),"\n",(0,r.jsx)(t.p,{children:"Note in the above screenshot the Events which track everything about the trigger."}),"\n",(0,r.jsx)(t.h3,{id:"reactions",children:"Reactions"}),"\n",(0,r.jsx)(t.p,{children:"Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script. Reactions can not exist without a corresponding trigger. The reaction creation dialog specifies whether to treat the trigger as an Edge or Level. It then allows you to select which trigger(s) the reaction will react to. Selecting multiple triggers allows any of the triggers to trigger the reaction (Note: Creating a reaction which responds to Trigger A AND Trigger B is done by creating additional triggers)."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateReaction1",src:i(3489).A+"",width:"602",height:"574"})}),"\n",(0,r.jsx)(t.p,{children:"After the triggers are specified, the dialog prompts for the actions to take. You can either send a command, run a script, or simply push a notification. Commands and scripts can also optionally push a notification. In this example a script is specified with a notification at the WARN level."}),"\n",(0,r.jsx)(t.admonition,{title:"Spawning Scripts",type:"warning",children:(0,r.jsx)(t.p,{children:"Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources."})}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateReaction2",src:i(8826).A+"",width:"602",height:"634"})}),"\n",(0,r.jsx)(t.p,{children:"Finally the snooze setting is specified. Snooze is the number of seconds after the reaction runs before the reaction will be allowed to run again. This is especially important in Level triggers where if the trigger remains active the reaction can run continuously."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateReaction3",src:i(403).A+"",width:"602",height:"391"})}),"\n",(0,r.jsx)(t.p,{children:"Once the reaction is created it is listed in the interface."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"InitialReaction",src:i(9592).A+"",width:"1271",height:"617"})}),"\n",(0,r.jsx)(t.p,{children:'When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"SnoozedReaction",src:i(6158).A+"",width:"1271",height:"742"})})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(g,{...e})}):g(e)}},7209:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/autonomic-a2118149a079f587f8f373d61f65d4d6d5e4b3df41ec5446362a449a3b51a1b3.png"},3489:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/create_reaction1-a07e04677c269cb3eb5edd13bc7504ed6ba4c94f6a60d2b14a33680470d376fe.png"},8826:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/create_reaction2-63e4e9ddf06a2e8bc9911395162b5a05772f0756e8b0998bcecae64cf86c398e.png"},403:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/create_reaction3-bae25e33640193d3dbbfbbfce6691479ccde16f73dbb3f0dc3023b7006259baa.png"},190:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/create_trigger1-5e2f7ecf9ec2b7590aaa65503f48cd73549fea64f52e6c103370a408528538f6.png"},549:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/create_trigger2-edf2c2e6aa78a2e317e07e1cdec560dfcbbd147934630459507695c71d539f3b.png"},7660:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/create_trigger3-e63629173ae73bbfd78b53062061336db8ea92ba4542b9a93412d8ac6ed19e7a.png"},9757:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/disable_trigger-f5bb46fbc488bd4afcb27b21888de16816485d3e4fdbd4106b874ff06042f85b.png"},5158:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/enabled_trigger-86ce16c7294d4b954ec8b68ff344694093ed5f451fc5974f855f438557148518.png"},9592:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/initial_reaction-ce5d498a90cdd5a11e24471d277ed7fcb4eecc5dcaaf05220102a3178db0805e.png"},6158:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/snoozed_reaction-75ef2acab11a71f5827fbc0a1be95cf0fd6bd5b24b76f9ae6ebaf43fb293ba81.png"},3237:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/trigger_groups-6d9ccc6962029baa456f2d12de0fd3d03e1dbafdbf069cea65886296d2b2bde0.png"},8453:(e,t,i)=>{i.d(t,{R:()=>a,x:()=>o});var n=i(6540);const r={},s=n.createContext(r);function a(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/103cc3be.f8d4fd5f.js b/docs/assets/js/103cc3be.f8d4fd5f.js new file mode 100644 index 0000000000..50be704d67 --- /dev/null +++ b/docs/assets/js/103cc3be.f8d4fd5f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9607"],{9275:function(e,t,i){i.r(t),i.d(t,{metadata:()=>n,contentTitle:()=>s,default:()=>g,assets:()=>c,toc:()=>d,frontMatter:()=>o});var n=JSON.parse('{"id":"tools/autonomic","title":"Autonomic (Enterprise)","description":"Automated execution of commands and scripts","source":"@site/docs/tools/autonomic.md","sourceDirName":"tools","slug":"/tools/autonomic","permalink":"/docs/tools/autonomic","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/autonomic.md","tags":[],"version":"current","frontMatter":{"title":"Autonomic (Enterprise)","description":"Automated execution of commands and scripts","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Admin","permalink":"/docs/tools/admin"},"next":{"title":"Bucket Explorer","permalink":"/docs/tools/bucket-explorer"}}'),r=i("5893"),a=i("65");let o={title:"Autonomic (Enterprise)",description:"Automated execution of commands and scripts",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},s=void 0,c={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Overview",id:"overview",level:3},{value:"TriggerGroups",id:"triggergroups",level:3},{value:"Triggers",id:"triggers",level:3},{value:"Reactions",id:"reactions",level:3}];function l(e){let t={admonition:"admonition",h2:"h2",h3:"h3",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,r.jsx)(t.p,{children:"Autonomic allows for the automated execution of commands and scripts based on user-defined rules."}),"\n",(0,r.jsx)(t.h3,{id:"overview",children:"Overview"}),"\n",(0,r.jsx)(t.p,{children:"Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Autonomic",src:i(410).Z+"",width:"1266",height:"599"})}),"\n",(0,r.jsx)(t.h3,{id:"triggergroups",children:"TriggerGroups"}),"\n",(0,r.jsx)(t.p,{children:"Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"TriggerGroups",src:i(9040).Z+"",width:"349",height:"99"})}),"\n",(0,r.jsx)(t.h3,{id:"triggers",children:"Triggers"}),"\n",(0,r.jsx)(t.p,{children:'Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger1",src:i(5530).Z+"",width:"648",height:"779"})}),"\n",(0,r.jsx)(t.p,{children:'Once you\'ve chosen the "left operand" you need to choose the operator.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger2",src:i(2663).Z+"",width:"648",height:"653"})}),"\n",(0,r.jsx)(t.p,{children:'Finally you choose the "right operand" which in this case is a simple value.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger3",src:i(731).Z+"",width:"648",height:"715"})}),"\n",(0,r.jsx)(t.p,{children:"After the trigger is created it is displayed in Autonomic and waits to be activated by the given logic. Active triggers are highlighted in the list."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger3",src:i(3997).Z+"",width:"1268",height:"607"})}),"\n",(0,r.jsx)(t.p,{children:"Triggers can also be manually disabled and enabled by clicking the plug icon."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateTrigger3",src:i(5674).Z+"",width:"1268",height:"715"})}),"\n",(0,r.jsx)(t.p,{children:"Note in the above screenshot the Events which track everything about the trigger."}),"\n",(0,r.jsx)(t.h3,{id:"reactions",children:"Reactions"}),"\n",(0,r.jsx)(t.p,{children:"Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script. Reactions can not exist without a corresponding trigger. The reaction creation dialog specifies whether to treat the trigger as an Edge or Level. It then allows you to select which trigger(s) the reaction will react to. Selecting multiple triggers allows any of the triggers to trigger the reaction (Note: Creating a reaction which responds to Trigger A AND Trigger B is done by creating additional triggers)."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateReaction1",src:i(3567).Z+"",width:"602",height:"574"})}),"\n",(0,r.jsx)(t.p,{children:"After the triggers are specified, the dialog prompts for the actions to take. You can either send a command, run a script, or simply push a notification. Commands and scripts can also optionally push a notification. In this example a script is specified with a notification at the WARN level."}),"\n",(0,r.jsx)(t.admonition,{title:"Spawning Scripts",type:"warning",children:(0,r.jsx)(t.p,{children:"Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources."})}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateReaction2",src:i(9429).Z+"",width:"602",height:"634"})}),"\n",(0,r.jsx)(t.p,{children:"Finally the snooze setting is specified. Snooze is the number of seconds after the reaction runs before the reaction will be allowed to run again. This is especially important in Level triggers where if the trigger remains active the reaction can run continuously."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"CreateReaction3",src:i(7440).Z+"",width:"602",height:"391"})}),"\n",(0,r.jsx)(t.p,{children:"Once the reaction is created it is listed in the interface."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"InitialReaction",src:i(8217).Z+"",width:"1271",height:"617"})}),"\n",(0,r.jsx)(t.p,{children:'When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again.'}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"SnoozedReaction",src:i(4371).Z+"",width:"1271",height:"742"})})]})}function g(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},410:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/autonomic-a2118149a079f587f8f373d61f65d4d6d5e4b3df41ec5446362a449a3b51a1b3.png"},3567:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/create_reaction1-a07e04677c269cb3eb5edd13bc7504ed6ba4c94f6a60d2b14a33680470d376fe.png"},9429:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/create_reaction2-63e4e9ddf06a2e8bc9911395162b5a05772f0756e8b0998bcecae64cf86c398e.png"},7440:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/create_reaction3-bae25e33640193d3dbbfbbfce6691479ccde16f73dbb3f0dc3023b7006259baa.png"},5530:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/create_trigger1-5e2f7ecf9ec2b7590aaa65503f48cd73549fea64f52e6c103370a408528538f6.png"},2663:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/create_trigger2-edf2c2e6aa78a2e317e07e1cdec560dfcbbd147934630459507695c71d539f3b.png"},731:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/create_trigger3-e63629173ae73bbfd78b53062061336db8ea92ba4542b9a93412d8ac6ed19e7a.png"},5674:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/disable_trigger-f5bb46fbc488bd4afcb27b21888de16816485d3e4fdbd4106b874ff06042f85b.png"},3997:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/enabled_trigger-86ce16c7294d4b954ec8b68ff344694093ed5f451fc5974f855f438557148518.png"},8217:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/initial_reaction-ce5d498a90cdd5a11e24471d277ed7fcb4eecc5dcaaf05220102a3178db0805e.png"},4371:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/snoozed_reaction-75ef2acab11a71f5827fbc0a1be95cf0fd6bd5b24b76f9ae6ebaf43fb293ba81.png"},9040:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/trigger_groups-6d9ccc6962029baa456f2d12de0fd3d03e1dbafdbf069cea65886296d2b2bde0.png"},65:function(e,t,i){i.d(t,{Z:function(){return s},a:function(){return o}});var n=i(7294);let r={},a=n.createContext(r);function o(e){let t=n.useContext(a);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/13196248.506f464f.js b/docs/assets/js/13196248.506f464f.js deleted file mode 100644 index f474e4bd8b..0000000000 --- a/docs/assets/js/13196248.506f464f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6677],{5985:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>c,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"tools/calendar","title":"Calendar (Enterprise)","description":"Calendar visualization of metadata, notes, and timelines","source":"@site/docs/tools/calendar.md","sourceDirName":"tools","slug":"/tools/calendar","permalink":"/docs/tools/calendar","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/calendar.md","tags":[],"version":"current","frontMatter":{"title":"Calendar (Enterprise)","description":"Calendar visualization of metadata, notes, and timelines","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Bucket Explorer","permalink":"/docs/tools/bucket-explorer"},"next":{"title":"Command Sender","permalink":"/docs/tools/cmd-sender"}}');var n=a(4848),s=a(8453);const c={title:"Calendar (Enterprise)",description:"Calendar visualization of metadata, notes, and timelines",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},r=void 0,d={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Adding Timelines",id:"adding-timelines",level:3},{value:"Types of Events",id:"types-of-events",level:2},{value:"Metadata",id:"metadata",level:3},{value:"Note",id:"note",level:3},{value:"Activity",id:"activity",level:3},{value:"Timeline Implementation Details",id:"timeline-implementation-details",level:2}];function l(e){const t={h2:"h2",h3:"h3",img:"img",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsx)(t.p,{children:"Calendar visualizes metadata, notes, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Calendar",src:a(9878).A+"",width:"1271",height:"707"})}),"\n",(0,n.jsx)(t.h3,{id:"adding-timelines",children:"Adding Timelines"}),"\n",(0,n.jsx)(t.p,{children:"Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary."}),"\n",(0,n.jsx)(t.h2,{id:"types-of-events",children:"Types of Events"}),"\n",(0,n.jsx)(t.h3,{id:"metadata",children:"Metadata"}),"\n",(0,n.jsx)(t.p,{children:"Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including operators, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data."}),"\n",(0,n.jsx)(t.p,{children:"You can create a new metadata item from either the Create menu or by right-clicking on the calendar in the given time slot you want the metadata item to appear. Note that metadata entries only have a start time, they do not have an end time."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"CreateMetadata1",src:a(5860).A+"",width:"594",height:"440"})}),"\n",(0,n.jsx)(t.p,{children:"You then add key / value pairs for all the metadata items you want to create."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"CreateMetadata2",src:a(7327).A+"",width:"594",height:"443"})}),"\n",(0,n.jsx)(t.h3,{id:"note",children:"Note"}),"\n",(0,n.jsx)(t.p,{children:"Notes require both a start and end time."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"CreateNote1",src:a(1633).A+"",width:"594",height:"431"})}),"\n",(0,n.jsx)(t.p,{children:"You then record the note to create the note event on the calendar."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"CreateNote2",src:a(1050).A+"",width:"594",height:"405"})}),"\n",(0,n.jsx)(t.h3,{id:"activity",children:"Activity"}),"\n",(0,n.jsx)(t.p,{children:"Scheduled on a timeline, activities take both a start and end time."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"CreateActivity1",src:a(3672).A+"",width:"596",height:"476"})}),"\n",(0,n.jsx)(t.p,{children:'Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping.'}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"CreateActivity2",src:a(8947).A+"",width:"596",height:"340"})}),"\n",(0,n.jsx)(t.p,{children:"When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (\u2713). Reserve activities simply have a blank green circle."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Calendar",src:a(8671).A+"",width:"1274",height:"755"})}),"\n",(0,n.jsx)(t.p,{children:"Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"List View",src:a(4177).A+"",width:"1231",height:"684"})}),"\n",(0,n.jsx)(t.h2,{id:"timeline-implementation-details",children:"Timeline Implementation Details"}),"\n",(0,n.jsx)(t.p,{children:"When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue."}),"\n",(0,n.jsx)(t.p,{children:'The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync.'}),"\n",(0,n.jsx)(t.p,{children:"The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database."}),"\n",(0,n.jsx)(t.p,{children:"The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Timeline Lifecycle",src:a(713).A+"",width:"1065",height:"514"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},9878:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/blank_calendar-70e605942120937b862bd7039348229bab9af1f9c93d356ddbf401a3e8543c74.png"},8671:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/calendar-dacbcbb05175c76f3406b4aaade0465444c20b72e93366c79fed1f6eec018c42.png"},3672:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/create_activity1-c05ffc03af2df852aeb3ad246f53f259af504e0e6c64cdac21f9126947c49f95.png"},8947:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/create_activity2-58c7da6f79dd510701148c0c54fae02c830b9ca4af662a7b132987ed3410a8f7.png"},5860:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/create_metadata1-a331ba8f0bd19bf5f8d7f2e083c3c7164e9b7b9936f5a7f83c4141c62a6c46f6.png"},7327:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/create_metadata2-c57b5420d5469b48289030ed7c64758539c2319dc742159caa0d4c8fe35050a8.png"},1633:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/create_note1-472b93e8e0e3e66a2e6198e0d4573cdc38cc356df87be66163f990f18137f6c0.png"},1050:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/create_note2-770501a149ef4aabae24d0b636f46ed61fbdcfda9537c61637c07c60257e9228.png"},4177:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/list_view-2f36ce06962e67d5a4f1f060956e5089b3f13c8ab57f33103c3781687611e7a9.png"},713:(e,t,a)=>{a.d(t,{A:()=>i});const i=a.p+"assets/images/timeline_lifecycle-0bd916dee06bf67936b043abfdbc4d5fdec7cc5a32a889ee6c05e9faf74f4c6a.png"},8453:(e,t,a)=>{a.d(t,{R:()=>c,x:()=>r});var i=a(6540);const n={},s=i.createContext(n);function c(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/13196248.cf6a255f.js b/docs/assets/js/13196248.cf6a255f.js new file mode 100644 index 0000000000..62cf052d48 --- /dev/null +++ b/docs/assets/js/13196248.cf6a255f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8530"],{3304:function(e,t,a){a.r(t),a.d(t,{metadata:()=>n,contentTitle:()=>c,default:()=>h,assets:()=>d,toc:()=>o,frontMatter:()=>r});var n=JSON.parse('{"id":"tools/calendar","title":"Calendar (Enterprise)","description":"Calendar visualization of metadata, notes, and timelines","source":"@site/docs/tools/calendar.md","sourceDirName":"tools","slug":"/tools/calendar","permalink":"/docs/tools/calendar","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/calendar.md","tags":[],"version":"current","frontMatter":{"title":"Calendar (Enterprise)","description":"Calendar visualization of metadata, notes, and timelines","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Bucket Explorer","permalink":"/docs/tools/bucket-explorer"},"next":{"title":"Command Sender","permalink":"/docs/tools/cmd-sender"}}'),i=a("5893"),s=a("65");let r={title:"Calendar (Enterprise)",description:"Calendar visualization of metadata, notes, and timelines",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},c=void 0,d={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Adding Timelines",id:"adding-timelines",level:3},{value:"Types of Events",id:"types-of-events",level:2},{value:"Metadata",id:"metadata",level:3},{value:"Note",id:"note",level:3},{value:"Activity",id:"activity",level:3},{value:"Timeline Implementation Details",id:"timeline-implementation-details",level:2}];function l(e){let t={h2:"h2",h3:"h3",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,i.jsx)(t.p,{children:"Calendar visualizes metadata, notes, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Calendar",src:a(9139).Z+"",width:"1271",height:"707"})}),"\n",(0,i.jsx)(t.h3,{id:"adding-timelines",children:"Adding Timelines"}),"\n",(0,i.jsx)(t.p,{children:"Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary."}),"\n",(0,i.jsx)(t.h2,{id:"types-of-events",children:"Types of Events"}),"\n",(0,i.jsx)(t.h3,{id:"metadata",children:"Metadata"}),"\n",(0,i.jsx)(t.p,{children:"Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including operators, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data."}),"\n",(0,i.jsx)(t.p,{children:"You can create a new metadata item from either the Create menu or by right-clicking on the calendar in the given time slot you want the metadata item to appear. Note that metadata entries only have a start time, they do not have an end time."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"CreateMetadata1",src:a(4245).Z+"",width:"594",height:"440"})}),"\n",(0,i.jsx)(t.p,{children:"You then add key / value pairs for all the metadata items you want to create."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"CreateMetadata2",src:a(6757).Z+"",width:"594",height:"443"})}),"\n",(0,i.jsx)(t.h3,{id:"note",children:"Note"}),"\n",(0,i.jsx)(t.p,{children:"Notes require both a start and end time."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"CreateNote1",src:a(5510).Z+"",width:"594",height:"431"})}),"\n",(0,i.jsx)(t.p,{children:"You then record the note to create the note event on the calendar."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"CreateNote2",src:a(4572).Z+"",width:"594",height:"405"})}),"\n",(0,i.jsx)(t.h3,{id:"activity",children:"Activity"}),"\n",(0,i.jsx)(t.p,{children:"Scheduled on a timeline, activities take both a start and end time."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"CreateActivity1",src:a(5359).Z+"",width:"596",height:"476"})}),"\n",(0,i.jsx)(t.p,{children:'Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping.'}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"CreateActivity2",src:a(3239).Z+"",width:"596",height:"340"})}),"\n",(0,i.jsx)(t.p,{children:"When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (\u2713). Reserve activities simply have a blank green circle."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Calendar",src:a(7432).Z+"",width:"1274",height:"755"})}),"\n",(0,i.jsx)(t.p,{children:"Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"List View",src:a(6886).Z+"",width:"1231",height:"684"})}),"\n",(0,i.jsx)(t.h2,{id:"timeline-implementation-details",children:"Timeline Implementation Details"}),"\n",(0,i.jsx)(t.p,{children:"When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue."}),"\n",(0,i.jsx)(t.p,{children:'The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync.'}),"\n",(0,i.jsx)(t.p,{children:"The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database."}),"\n",(0,i.jsx)(t.p,{children:"The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Timeline Lifecycle",src:a(5832).Z+"",width:"1065",height:"514"})})]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},9139:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/blank_calendar-70e605942120937b862bd7039348229bab9af1f9c93d356ddbf401a3e8543c74.png"},7432:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/calendar-dacbcbb05175c76f3406b4aaade0465444c20b72e93366c79fed1f6eec018c42.png"},5359:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/create_activity1-c05ffc03af2df852aeb3ad246f53f259af504e0e6c64cdac21f9126947c49f95.png"},3239:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/create_activity2-58c7da6f79dd510701148c0c54fae02c830b9ca4af662a7b132987ed3410a8f7.png"},4245:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/create_metadata1-a331ba8f0bd19bf5f8d7f2e083c3c7164e9b7b9936f5a7f83c4141c62a6c46f6.png"},6757:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/create_metadata2-c57b5420d5469b48289030ed7c64758539c2319dc742159caa0d4c8fe35050a8.png"},5510:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/create_note1-472b93e8e0e3e66a2e6198e0d4573cdc38cc356df87be66163f990f18137f6c0.png"},4572:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/create_note2-770501a149ef4aabae24d0b636f46ed61fbdcfda9537c61637c07c60257e9228.png"},6886:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/list_view-2f36ce06962e67d5a4f1f060956e5089b3f13c8ab57f33103c3781687611e7a9.png"},5832:function(e,t,a){a.d(t,{Z:function(){return n}});let n=a.p+"assets/images/timeline_lifecycle-0bd916dee06bf67936b043abfdbc4d5fdec7cc5a32a889ee6c05e9faf74f4c6a.png"},65:function(e,t,a){a.d(t,{Z:function(){return c},a:function(){return r}});var n=a(7294);let i={},s=n.createContext(i);function r(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/13c1b4e4.39066f25.js b/docs/assets/js/13c1b4e4.39066f25.js deleted file mode 100644 index 99c99679cf..0000000000 --- a/docs/assets/js/13c1b4e4.39066f25.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[9698],{2083:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>r});const i=JSON.parse('{"id":"tools/data-viewer","title":"Data Viewer","description":"View packet or item data","source":"@site/docs/tools/data-viewer.md","sourceDirName":"tools","slug":"/tools/data-viewer","permalink":"/docs/tools/data-viewer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/data-viewer.md","tags":[],"version":"current","frontMatter":{"title":"Data Viewer","description":"View packet or item data","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Data Extractor","permalink":"/docs/tools/data-extractor"},"next":{"title":"Handbooks","permalink":"/docs/tools/handbooks"}}');var o=n(4848),a=n(8453);const s={title:"Data Viewer",description:"View packet or item data",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},c=void 0,d={},r=[{value:"Introduction",id:"introduction",level:2},{value:"Data Viewer Menus",id:"data-viewer-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Adding Components",id:"adding-components",level:3}];function l(e){const t={h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,o.jsx)(t.p,{children:"Data Viewer allows you to view packet data or individual item data in both the past and in real time."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Data Viewer",src:n(1113).A+"",width:"1273",height:"732"})}),"\n",(0,o.jsx)(t.h2,{id:"data-viewer-menus",children:"Data Viewer Menus"}),"\n",(0,o.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,o.jsx)("img",{src:n(5198).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"6em"}}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Opens a saved configuration"}),"\n",(0,o.jsx)(t.li,{children:"Save the current configuration"}),"\n",(0,o.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,o.jsx)(t.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,o.jsx)(t.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,o.jsx)(t.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,o.jsx)(t.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,o.jsx)(t.h3,{id:"adding-components",children:"Adding Components"}),"\n",(0,o.jsx)(t.p,{children:"DataViewer displays data in a component. To add a new component to the interface click the plus icon. This brings up the Add Component dialog. First you select the component you want to use to visual the data. Next you add packets which will populate the component. Finally click Create to see the DataViewer component visualization."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Add Component",src:n(5457).A+"",width:"798",height:"591"})}),"\n",(0,o.jsx)(t.p,{children:"To adjust the settings of the COSMOS Raw/Decom component click the gear icon to bring up the Display Settings dialog. You can turn on and off various visualizations, increase the number of packets displayed and the history."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Add a packet",src:n(7552).A+"",width:"1270",height:"931"})})]})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},5198:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/file_menu-368e6f03ad620e01bf83fb991aace23312d45629bfcef2d3fbccd4dd9e4dbdbd.png"},5457:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/add_component-883814db1de410921a1d46247be60a87a51f1c51eb98d4a7f499875c83225294.png"},1113:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/data_viewer-9eb6ce20988554325e15a6e404da9fef35b06c23548d5d136b4420f444ef94f7.png"},7552:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/display_settings-726614b4eda5f74fc563e4d3b1798eb3893e152a15b9420a6053f6a2e0980944.png"},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var i=n(6540);const o={},a=i.createContext(o);function s(e){const t=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/13c1b4e4.71bb0489.js b/docs/assets/js/13c1b4e4.71bb0489.js new file mode 100644 index 0000000000..5055968b57 --- /dev/null +++ b/docs/assets/js/13c1b4e4.71bb0489.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3350"],{8818:function(e,t,n){n.r(t),n.d(t,{metadata:()=>i,contentTitle:()=>c,default:()=>u,assets:()=>r,toc:()=>d,frontMatter:()=>s});var i=JSON.parse('{"id":"tools/data-viewer","title":"Data Viewer","description":"View packet or item data","source":"@site/docs/tools/data-viewer.md","sourceDirName":"tools","slug":"/tools/data-viewer","permalink":"/docs/tools/data-viewer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/data-viewer.md","tags":[],"version":"current","frontMatter":{"title":"Data Viewer","description":"View packet or item data","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Data Extractor","permalink":"/docs/tools/data-extractor"},"next":{"title":"Handbooks","permalink":"/docs/tools/handbooks"}}'),o=n("5893"),a=n("65");let s={title:"Data Viewer",description:"View packet or item data",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},c=void 0,r={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Data Viewer Menus",id:"data-viewer-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Adding Components",id:"adding-components",level:3}];function l(e){let t={h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,o.jsx)(t.p,{children:"Data Viewer allows you to view packet data or individual item data in both the past and in real time."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Data Viewer",src:n(1396).Z+"",width:"1273",height:"732"})}),"\n",(0,o.jsx)(t.h2,{id:"data-viewer-menus",children:"Data Viewer Menus"}),"\n",(0,o.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,o.jsx)("img",{src:n(5815).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"6em"}}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Opens a saved configuration"}),"\n",(0,o.jsx)(t.li,{children:"Save the current configuration"}),"\n",(0,o.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,o.jsx)(t.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,o.jsx)(t.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,o.jsx)(t.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,o.jsx)(t.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,o.jsx)(t.h3,{id:"adding-components",children:"Adding Components"}),"\n",(0,o.jsx)(t.p,{children:"DataViewer displays data in a component. To add a new component to the interface click the plus icon. This brings up the Add Component dialog. First you select the component you want to use to visual the data. Next you add packets which will populate the component. Finally click Create to see the DataViewer component visualization."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Add Component",src:n(2735).Z+"",width:"798",height:"591"})}),"\n",(0,o.jsx)(t.p,{children:"To adjust the settings of the COSMOS Raw/Decom component click the gear icon to bring up the Display Settings dialog. You can turn on and off various visualizations, increase the number of packets displayed and the history."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Add a packet",src:n(856).Z+"",width:"1270",height:"931"})})]})}function u(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},5815:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/file_menu-368e6f03ad620e01bf83fb991aace23312d45629bfcef2d3fbccd4dd9e4dbdbd.png"},2735:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/add_component-883814db1de410921a1d46247be60a87a51f1c51eb98d4a7f499875c83225294.png"},1396:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/data_viewer-9eb6ce20988554325e15a6e404da9fef35b06c23548d5d136b4420f444ef94f7.png"},856:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/display_settings-726614b4eda5f74fc563e4d3b1798eb3893e152a15b9420a6053f6a2e0980944.png"},65:function(e,t,n){n.d(t,{Z:function(){return c},a:function(){return s}});var i=n(7294);let o={},a=i.createContext(o);function s(e){let t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/2047b354.6262d9b5.js b/docs/assets/js/2047b354.6262d9b5.js new file mode 100644 index 0000000000..fe4fca99dc --- /dev/null +++ b/docs/assets/js/2047b354.6262d9b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["442"],{6112:function(e,t,i){i.r(t),i.d(t,{metadata:()=>n,contentTitle:()=>a,default:()=>u,assets:()=>c,toc:()=>o,frontMatter:()=>l});var n=JSON.parse('{"id":"tools/packet-viewer","title":"Packet Viewer","description":"Displays all packets with their items","source":"@site/docs/tools/packet-viewer.md","sourceDirName":"tools","slug":"/tools/packet-viewer","permalink":"/docs/tools/packet-viewer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/packet-viewer.md","tags":[],"version":"current","frontMatter":{"title":"Packet Viewer","description":"Displays all packets with their items","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Limits Monitor","permalink":"/docs/tools/limits-monitor"},"next":{"title":"Script Runner","permalink":"/docs/tools/script-runner"}}'),s=i("5893"),r=i("65");let l={title:"Packet Viewer",description:"Displays all packets with their items",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},a=void 0,c={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Packet Viewer Menus",id:"packet-viewer-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"View Menu Items",id:"view-menu-items",level:3},{value:"Selecting Packets",id:"selecting-packets",level:2},{value:"Details",id:"details",level:3}];function d(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(t.p,{children:"Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Packet Viewer",src:i(6826).Z+"",width:"1274",height:"837"})}),"\n",(0,s.jsx)(t.h2,{id:"packet-viewer-menus",children:"Packet Viewer Menus"}),"\n",(0,s.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)("img",{src:i(1014).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"120px"}}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Change the refresh and stale interval"}),"\n",(0,s.jsx)(t.li,{children:"Opens a saved configuration"}),"\n",(0,s.jsx)(t.li,{children:"Save the current configuration (view settings)"}),"\n",(0,s.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"view-menu-items",children:"View Menu Items"}),"\n",(0,s.jsx)("img",{src:i(6322).Z,alt:"View Menu",style:{float:"left","margin-right":"50px",height:"180px"}}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Shows ",(0,s.jsx)(t.a,{href:"/docs/configuration/target#ignore_item",children:"ignored items"})]}),"\n",(0,s.jsxs)(t.li,{children:["Display ",(0,s.jsx)(t.a,{href:"/docs/configuration/telemetry#derived-items",children:"derived"})," items last"]}),"\n",(0,s.jsxs)(t.li,{children:["Display formatted items with ",(0,s.jsx)(t.a,{href:"../configuration/telemetry#units",children:"units"})]}),"\n",(0,s.jsxs)(t.li,{children:["Display ",(0,s.jsx)(t.a,{href:"../configuration/telemetry#format_string",children:"formatted"})," items"]}),"\n",(0,s.jsxs)(t.li,{children:["Display ",(0,s.jsx)(t.a,{href:"../configuration/telemetry#read_conversion",children:"converted"})," items"]}),"\n",(0,s.jsx)(t.li,{children:"Display raw items"}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"selecting-packets",children:"Selecting Packets"}),"\n",(0,s.jsx)(t.p,{children:"Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box."}),"\n",(0,s.jsx)(t.h3,{id:"details",children:"Details"}),"\n",(0,s.jsx)(t.p,{children:"Right-clicking an item and selecting Details will open the details dialog."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Details",src:i(4218).Z+"",width:"591",height:"697"})}),"\n",(0,s.jsx)(t.p,{children:"This dialog lists everything defined on the telemetry item."})]})}function u(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1014:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/file_menu-d9ac5efbe78e58f024666452b9f28af72c6d09a3460fc7c0737c2bb74e4ea409.png"},6322:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/view_menu-a02cfbd5e6fafa5d3b4f1ae76bfbd63f49388939b4732bf91709f48e44498d19.png"},6826:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/packet_viewer-505c517c9a838a41d6fe668ff7ca2efb1b89ced4b75df638cd11a45484bc6533.png"},4218:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/temp1_details-4c4bbe7c2d60e636f0304ee8ac7237af8db2bdba8666c9ae2dc0a105eca248f2.png"},65:function(e,t,i){i.d(t,{Z:function(){return a},a:function(){return l}});var n=i(7294);let s={},r=n.createContext(s);function l(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/2047b354.f18f2905.js b/docs/assets/js/2047b354.f18f2905.js deleted file mode 100644 index c8afa430ca..0000000000 --- a/docs/assets/js/2047b354.f18f2905.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[4688],{5269:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"tools/packet-viewer","title":"Packet Viewer","description":"Displays all packets with their items","source":"@site/docs/tools/packet-viewer.md","sourceDirName":"tools","slug":"/tools/packet-viewer","permalink":"/docs/tools/packet-viewer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/packet-viewer.md","tags":[],"version":"current","frontMatter":{"title":"Packet Viewer","description":"Displays all packets with their items","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Limits Monitor","permalink":"/docs/tools/limits-monitor"},"next":{"title":"Script Runner","permalink":"/docs/tools/script-runner"}}');var s=i(4848),r=i(8453);const l={title:"Packet Viewer",description:"Displays all packets with their items",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},a=void 0,c={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Packet Viewer Menus",id:"packet-viewer-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"View Menu Items",id:"view-menu-items",level:3},{value:"Selecting Packets",id:"selecting-packets",level:2},{value:"Details",id:"details",level:3}];function d(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(t.p,{children:"Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Packet Viewer",src:i(8065).A+"",width:"1274",height:"837"})}),"\n",(0,s.jsx)(t.h2,{id:"packet-viewer-menus",children:"Packet Viewer Menus"}),"\n",(0,s.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)("img",{src:i(1442).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"120px"}}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Change the refresh and stale interval"}),"\n",(0,s.jsx)(t.li,{children:"Opens a saved configuration"}),"\n",(0,s.jsx)(t.li,{children:"Save the current configuration (view settings)"}),"\n",(0,s.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"view-menu-items",children:"View Menu Items"}),"\n",(0,s.jsx)("img",{src:i(3573).A,alt:"View Menu",style:{float:"left","margin-right":"50px",height:"180px"}}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Shows ",(0,s.jsx)(t.a,{href:"/docs/configuration/target#ignore_item",children:"ignored items"})]}),"\n",(0,s.jsxs)(t.li,{children:["Display ",(0,s.jsx)(t.a,{href:"/docs/configuration/telemetry#derived-items",children:"derived"})," items last"]}),"\n",(0,s.jsxs)(t.li,{children:["Display formatted items with ",(0,s.jsx)(t.a,{href:"../configuration/telemetry#units",children:"units"})]}),"\n",(0,s.jsxs)(t.li,{children:["Display ",(0,s.jsx)(t.a,{href:"../configuration/telemetry#format_string",children:"formatted"})," items"]}),"\n",(0,s.jsxs)(t.li,{children:["Display ",(0,s.jsx)(t.a,{href:"../configuration/telemetry#read_conversion",children:"converted"})," items"]}),"\n",(0,s.jsx)(t.li,{children:"Display raw items"}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"selecting-packets",children:"Selecting Packets"}),"\n",(0,s.jsx)(t.p,{children:"Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box."}),"\n",(0,s.jsx)(t.h3,{id:"details",children:"Details"}),"\n",(0,s.jsx)(t.p,{children:"Right-clicking an item and selecting Details will open the details dialog."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Details",src:i(4572).A+"",width:"591",height:"697"})}),"\n",(0,s.jsx)(t.p,{children:"This dialog lists everything defined on the telemetry item."})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1442:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/file_menu-d9ac5efbe78e58f024666452b9f28af72c6d09a3460fc7c0737c2bb74e4ea409.png"},3573:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/view_menu-a02cfbd5e6fafa5d3b4f1ae76bfbd63f49388939b4732bf91709f48e44498d19.png"},8065:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/packet_viewer-505c517c9a838a41d6fe668ff7ca2efb1b89ced4b75df638cd11a45484bc6533.png"},4572:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/temp1_details-4c4bbe7c2d60e636f0304ee8ac7237af8db2bdba8666c9ae2dc0a105eca248f2.png"},8453:(e,t,i)=>{i.d(t,{R:()=>l,x:()=>a});var n=i(6540);const s={},r=n.createContext(s);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/2061.1e19e0b3.js b/docs/assets/js/2061.1e19e0b3.js new file mode 100644 index 0000000000..9e18f8704a --- /dev/null +++ b/docs/assets/js/2061.1e19e0b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2061"],{8544:function(c,e,o){o.r(e)}}]); \ No newline at end of file diff --git a/docs/assets/js/2237.cc3a4ec2.js b/docs/assets/js/2237.cc3a4ec2.js deleted file mode 100644 index 76746f0951..0000000000 --- a/docs/assets/js/2237.cc3a4ec2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2237],{3363:(e,t,n)=>{n.d(t,{A:()=>a});n(6540);var o=n(4164),i=n(1312),s=n(1107),r=n(4848);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,o.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(i.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(i.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(i.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},2237:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});n(6540);var o=n(1312),i=n(1003),s=n(7907),r=n(3363),a=n(4848);function c(){const e=(0,o.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.be,{title:e}),(0,a.jsx)(s.A,{children:(0,a.jsx)(r.A,{})})]})}}}]); \ No newline at end of file diff --git a/docs/assets/js/22b3ac48.aed3fa59.js b/docs/assets/js/22b3ac48.aed3fa59.js new file mode 100644 index 0000000000..36ff3b21c3 --- /dev/null +++ b/docs/assets/js/22b3ac48.aed3fa59.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9146"],{317:function(e,n,r){r.r(n),r.d(n,{metadata:()=>s,contentTitle:()=>l,default:()=>p,assets:()=>a,toc:()=>c,frontMatter:()=>t});var s=JSON.parse('{"id":"guides/raspberrypi","title":"Raspberry Pi","description":"Running COSMOS on a Raspberry Pi","source":"@site/docs/guides/raspberrypi.md","sourceDirName":"guides","slug":"/guides/raspberrypi","permalink":"/docs/guides/raspberrypi","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/raspberrypi.md","tags":[],"version":"current","frontMatter":{"title":"Raspberry Pi","description":"Running COSMOS on a Raspberry Pi","sidebar_custom_props":{"myEmoji":"\uD83C\uDF53"}},"sidebar":"defaultSidebar","previous":{"title":"Performance","permalink":"/docs/guides/performance"},"next":{"title":"Script Writing Guide","permalink":"/docs/guides/script-writing"}}'),i=r("5893"),o=r("65");let t={title:"Raspberry Pi",description:"Running COSMOS on a Raspberry Pi",sidebar_custom_props:{myEmoji:"\uD83C\uDF53"}},l=void 0,a={},c=[{value:"COSMOS Running on Raspberry Pi 4",id:"cosmos-running-on-raspberry-pi-4",level:3}];function d(e){let n={a:"a",code:"code",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h3,{id:"cosmos-running-on-raspberry-pi-4",children:"COSMOS Running on Raspberry Pi 4"}),"\n",(0,i.jsx)(n.p,{children:"The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running."}),"\n",(0,i.jsx)(n.p,{children:"What you'll need:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Raspberry Pi 4 board (tested with 8GB RAM)"}),"\n",(0,i.jsx)(n.li,{children:"A Pi Case but Optional"}),"\n",(0,i.jsx)(n.li,{children:"Raspbeerry Pi Power Supply"}),"\n",(0,i.jsx)(n.li,{children:"32GB or Larger SD Card - Also faster the better"}),"\n",(0,i.jsx)(n.li,{children:"A Laptop with a way to write SD Cards"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Let's get started!"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Setup 64-bit Raspian OS Lite on the SD Card"}),"\n",(0,i.jsxs)(n.p,{children:["Make sure you have the Raspberry Pi Imager app from: ",(0,i.jsx)(n.a,{href:"https://www.raspberrypi.com/software/",children:"https://www.raspberrypi.com/software/"})]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Insert the SD Card into your computer (Note this process will erase all data on the SD card!)"}),"\n",(0,i.jsx)(n.li,{children:"Open the Raspberry Pi Imager App"}),"\n",(0,i.jsx)(n.li,{children:'Click the "Choose Device" Button'}),"\n",(0,i.jsx)(n.li,{children:"Pick Your Raspberry Pi Model"}),"\n",(0,i.jsx)(n.li,{children:'Click the "Choose OS" Button'}),"\n",(0,i.jsx)(n.li,{children:'Select "Raspberry Pi OS (other)"'}),"\n",(0,i.jsx)(n.li,{children:'Select "Raspberry Pi OS Lite (64-bit)"'}),"\n",(0,i.jsx)(n.li,{children:'Click the "Choose Storage" Button'}),"\n",(0,i.jsx)(n.li,{children:"Select Your SD Card"}),"\n",(0,i.jsx)(n.li,{children:"Click Edit Settings"}),"\n",(0,i.jsx)(n.li,{children:"If prompted if you would like to prefill the Wifi information, select OK"}),"\n",(0,i.jsx)(n.li,{children:"Set the hostname to: cosmos.local"}),"\n",(0,i.jsx)(n.li,{children:"Set the username and password. The default username is your username, you should also set a password to make the system secure"}),"\n",(0,i.jsx)(n.li,{children:"Fill in your Wifi info, and set the country appropriately (ie. US)"}),"\n",(0,i.jsx)(n.li,{children:"Set the correct time zone"}),"\n",(0,i.jsx)(n.li,{children:"Goto the Services Tab and Enable SSH"}),"\n",(0,i.jsx)(n.li,{children:"You can either use Password auth, or public-key only if your computer is already setup for passwordless SSH"}),"\n",(0,i.jsx)(n.li,{children:'Goto the Options tab and make sure "Enable Telemetry" is not checked'}),"\n",(0,i.jsx)(n.li,{children:'Click "Save" when everything is filled out'}),"\n",(0,i.jsx)(n.li,{children:'Click "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete'}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Make sure the Raspberry Pi is NOT powered on"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Remove the SD Card from your computer and insert into the Raspberry Pi"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"SSH to your raspberry Pi"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Open a terminal window and use ssh to connect to your Pi"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["On Mac / Linux: ssh ",(0,i.jsx)(n.a,{href:"mailto:yourusername@cosmos.local",children:"yourusername@cosmos.local"})]}),"\n",(0,i.jsx)(n.li,{children:"On Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"From SSH, Enter the following commands"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:" sudo sysctl -w vm.max_map_count=262144\n sudo sysctl -w vm.overcommit_memory=1\n sudo apt update\n sudo apt upgrade\n sudo apt install git -y\n curl -fsSL https://get.docker.com -o get-docker.sh\n sudo sh get-docker.sh\n sudo usermod -aG docker $USER\n newgrp docker\n git clone https://github.com/OpenC3/cosmos-project.git cosmos\n cd cosmos\n # Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service\n ./openc3.sh run\n"})}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["After about 2 minutes, open a web browser on your computer, and goto: ",(0,i.jsx)(n.a,{href:"http://cosmos.local:2900",children:"http://cosmos.local:2900"})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Congratulations! You now have COSMOS running on a Raspberry Pi!"}),"\n"]}),"\n"]})]})}function p(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},65:function(e,n,r){r.d(n,{Z:function(){return l},a:function(){return t}});var s=r(7294);let i={},o=s.createContext(i);function t(e){let n=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/22b3ac48.c8687d82.js b/docs/assets/js/22b3ac48.c8687d82.js deleted file mode 100644 index 218bcc2aed..0000000000 --- a/docs/assets/js/22b3ac48.c8687d82.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8150],{4571:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>t,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"guides/raspberrypi","title":"Raspberry Pi","description":"Running COSMOS on a Raspberry Pi","source":"@site/docs/guides/raspberrypi.md","sourceDirName":"guides","slug":"/guides/raspberrypi","permalink":"/docs/guides/raspberrypi","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/raspberrypi.md","tags":[],"version":"current","frontMatter":{"title":"Raspberry Pi","description":"Running COSMOS on a Raspberry Pi","sidebar_custom_props":{"myEmoji":"\ud83c\udf53"}},"sidebar":"defaultSidebar","previous":{"title":"Performance","permalink":"/docs/guides/performance"},"next":{"title":"Script Writing Guide","permalink":"/docs/guides/script-writing"}}');var i=r(4848),o=r(8453);const t={title:"Raspberry Pi",description:"Running COSMOS on a Raspberry Pi",sidebar_custom_props:{myEmoji:"\ud83c\udf53"}},l=void 0,c={},a=[{value:"COSMOS Running on Raspberry Pi 4",id:"cosmos-running-on-raspberry-pi-4",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h3,{id:"cosmos-running-on-raspberry-pi-4",children:"COSMOS Running on Raspberry Pi 4"}),"\n",(0,i.jsx)(n.p,{children:"The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running."}),"\n",(0,i.jsx)(n.p,{children:"What you'll need:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Raspberry Pi 4 board (tested with 8GB RAM)"}),"\n",(0,i.jsx)(n.li,{children:"A Pi Case but Optional"}),"\n",(0,i.jsx)(n.li,{children:"Raspbeerry Pi Power Supply"}),"\n",(0,i.jsx)(n.li,{children:"32GB or Larger SD Card - Also faster the better"}),"\n",(0,i.jsx)(n.li,{children:"A Laptop with a way to write SD Cards"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Let's get started!"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Setup 64-bit Raspian OS Lite on the SD Card"}),"\n",(0,i.jsxs)(n.p,{children:["Make sure you have the Raspberry Pi Imager app from: ",(0,i.jsx)(n.a,{href:"https://www.raspberrypi.com/software/",children:"https://www.raspberrypi.com/software/"})]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Insert the SD Card into your computer (Note this process will erase all data on the SD card!)"}),"\n",(0,i.jsx)(n.li,{children:"Open the Raspberry Pi Imager App"}),"\n",(0,i.jsx)(n.li,{children:'Click the "Choose Device" Button'}),"\n",(0,i.jsx)(n.li,{children:"Pick Your Raspberry Pi Model"}),"\n",(0,i.jsx)(n.li,{children:'Click the "Choose OS" Button'}),"\n",(0,i.jsx)(n.li,{children:'Select "Raspberry Pi OS (other)"'}),"\n",(0,i.jsx)(n.li,{children:'Select "Raspberry Pi OS Lite (64-bit)"'}),"\n",(0,i.jsx)(n.li,{children:'Click the "Choose Storage" Button'}),"\n",(0,i.jsx)(n.li,{children:"Select Your SD Card"}),"\n",(0,i.jsx)(n.li,{children:"Click Edit Settings"}),"\n",(0,i.jsx)(n.li,{children:"If prompted if you would like to prefill the Wifi information, select OK"}),"\n",(0,i.jsx)(n.li,{children:"Set the hostname to: cosmos.local"}),"\n",(0,i.jsx)(n.li,{children:"Set the username and password. The default username is your username, you should also set a password to make the system secure"}),"\n",(0,i.jsx)(n.li,{children:"Fill in your Wifi info, and set the country appropriately (ie. US)"}),"\n",(0,i.jsx)(n.li,{children:"Set the correct time zone"}),"\n",(0,i.jsx)(n.li,{children:"Goto the Services Tab and Enable SSH"}),"\n",(0,i.jsx)(n.li,{children:"You can either use Password auth, or public-key only if your computer is already setup for passwordless SSH"}),"\n",(0,i.jsx)(n.li,{children:'Goto the Options tab and make sure "Enable Telemetry" is not checked'}),"\n",(0,i.jsx)(n.li,{children:'Click "Save" when everything is filled out'}),"\n",(0,i.jsx)(n.li,{children:'Click "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete'}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Make sure the Raspberry Pi is NOT powered on"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Remove the SD Card from your computer and insert into the Raspberry Pi"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"SSH to your raspberry Pi"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Open a terminal window and use ssh to connect to your Pi"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["On Mac / Linux: ssh ",(0,i.jsx)(n.a,{href:"mailto:yourusername@cosmos.local",children:"yourusername@cosmos.local"})]}),"\n",(0,i.jsx)(n.li,{children:"On Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"From SSH, Enter the following commands"}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:" sudo sysctl -w vm.max_map_count=262144\n sudo sysctl -w vm.overcommit_memory=1\n sudo apt update\n sudo apt upgrade\n sudo apt install git -y\n curl -fsSL https://get.docker.com -o get-docker.sh\n sudo sh get-docker.sh\n sudo usermod -aG docker $USER\n newgrp docker\n git clone https://github.com/OpenC3/cosmos-project.git cosmos\n cd cosmos\n # Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service\n ./openc3.sh run\n"})}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["After about 2 minutes, open a web browser on your computer, and goto: ",(0,i.jsx)(n.a,{href:"http://cosmos.local:2900",children:"http://cosmos.local:2900"})]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Congratulations! You now have COSMOS running on a Raspberry Pi!"}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>l});var s=r(6540);const i={},o=s.createContext(i);function t(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/26b8abb2.50638247.js b/docs/assets/js/26b8abb2.50638247.js new file mode 100644 index 0000000000..89b6a73022 --- /dev/null +++ b/docs/assets/js/26b8abb2.50638247.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3380"],{1359:function(e,c,n){n.r(c),n.d(c,{default:function(){return d}});var r=n(5893);n(7294);var s=n(7026),o=n(4713),u=n(4681),t=n(8790),a=n(6036);function d(e){return(0,r.jsx)(o.FG,{className:(0,s.Z)(u.k.wrapper.docsPages),children:(0,r.jsx)(a.Z,{children:(0,t.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/26b8abb2.a805685f.js b/docs/assets/js/26b8abb2.a805685f.js deleted file mode 100644 index d183c83c85..0000000000 --- a/docs/assets/js/26b8abb2.a805685f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6544],{7121:(e,c,s)=>{s.r(c),s.d(c,{default:()=>p});s(6540);var r=s(4164),o=s(1003),n=s(7559),u=s(2831),a=s(7907),d=s(4848);function p(e){return(0,d.jsx)(o.e3,{className:(0,r.A)(n.G.wrapper.docsPages),children:(0,d.jsx)(a.A,{children:(0,u.v)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/2bb7bf90.3f6ab38f.js b/docs/assets/js/2bb7bf90.3f6ab38f.js deleted file mode 100644 index f220a0ac02..0000000000 --- a/docs/assets/js/2bb7bf90.3f6ab38f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7757],{496:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"getting-started/generators","title":"Code Generators","description":"Using openc3.sh to generate code","source":"@site/docs/getting-started/generators.md","sourceDirName":"getting-started","slug":"/getting-started/generators","permalink":"/docs/getting-started/generators","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/generators.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Code Generators","description":"Using openc3.sh to generate code","sidebar_custom_props":{"myEmoji":"\ud83c\udfed"}},"sidebar":"defaultSidebar","previous":{"title":"Getting Started","permalink":"/docs/getting-started/gettingstarted"},"next":{"title":"Upgrading","permalink":"/docs/getting-started/upgrading"}}');var r=t(4848),i=t(8453);const o={sidebar_position:3,title:"Code Generators",description:"Using openc3.sh to generate code",sidebar_custom_props:{myEmoji:"\ud83c\udfed"}},a=void 0,l={},c=[{value:"Plugin Generator",id:"plugin-generator",level:2},{value:"Target Generator",id:"target-generator",level:2},{value:"Microservice Generator",id:"microservice-generator",level:2},{value:"Conversion Generator",id:"conversion-generator",level:2},{value:"Limits Response Generator",id:"limits-response-generator",level:2},{value:"Widget Generator",id:"widget-generator",level:2},{value:"Tool Generator",id:"tool-generator",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["The COSMOS Code Generators are built into the scripts ",(0,r.jsx)(n.code,{children:"openc3.sh"})," and ",(0,r.jsx)(n.code,{children:"openc3.bat"})," that are included in the COSMOS ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos-project",children:"project"})," (more about ",(0,r.jsx)(n.a,{href:"key_concepts#projects",children:"projects"}),")."]}),"\n",(0,r.jsxs)(n.p,{children:["If you followed the ",(0,r.jsx)(n.a,{href:"/docs/getting-started/installation",children:"Installation Guide"})," you should already be inside a cloned ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos-project",children:"openc3-project"})," which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available code generators type the following:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"% openc3.sh cli generate\nUnknown generator ''. Valid generators: plugin, target, microservice, widget, conversion,\nlimits_response, tool, tool_vue, tool_angular, tool_react, tool_svelte\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"Training Available",type:"note",children:(0,r.jsxs)(n.p,{children:["If any of this gets confusing, contact us at ",(0,r.jsx)("a",{href:"mailto:support@openc3.com",children:(0,r.jsx)(n.a,{href:"mailto:support@openc3.com",children:"support@openc3.com"})}),". We have training classes available!"]})}),"\n",(0,r.jsx)(n.h2,{id:"plugin-generator",children:"Plugin Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called ",(0,r.jsx)(n.code,{children:"openc3-cosmos-"}),". For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"% openc3.sh cli generate plugin\nUsage: cli generate plugin \n\n% openc3.sh cli generate plugin GSE\nPlugin openc3-cosmos-gse successfully generated!\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:".gitignore"}),(0,r.jsx)(n.td,{children:"Tells git to ignore any node_modules directory (for tool development)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"LICENSE.txt"}),(0,r.jsx)(n.td,{children:"License for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"openc3-cosmos-gse.gemspec"}),(0,r.jsxs)(n.td,{children:["Gemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: ",(0,r.jsx)(n.a,{href:"https://guides.rubygems.org/specification-reference/",children:"https://guides.rubygems.org/specification-reference/"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"plugin.txt"}),(0,r.jsxs)(n.td,{children:["COSMOS specific file for Plugin creation. Learn more ",(0,r.jsx)(n.a,{href:"../configuration/plugins",children:"here"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Rakefile"}),(0,r.jsx)(n.td,{children:'Ruby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"README.md"}),(0,r.jsx)(n.td,{children:"Markdown file used to document the plugin"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"requirements.txt"}),(0,r.jsx)(n.td,{children:"Python dependencies file (only for Python plugins)"})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"While this structure is required, it is not very useful by itself. The plugin generator just creates the framework for other generators to use."}),"\n",(0,r.jsx)(n.h2,{id:"target-generator",children:"Target Generator"}),"\n",(0,r.jsx)(n.p,{children:"The target generator creates the scaffolding for a new COSMOS Target. It must operate inside an existing COSMOS plugin and requires a target name. For example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate target\nUsage: cli generate target (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate target GSE\nTarget GSE successfully generated!\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE"}),(0,r.jsx)(n.td,{children:"Contains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/cmd_tlm"}),(0,r.jsx)(n.td,{children:"Contains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined)."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/cmd_tlm/cmd.txt"}),(0,r.jsxs)(n.td,{children:["Example ",(0,r.jsx)(n.a,{href:"../configuration/command",children:"command"})," configuration. Will need to be edited for the target specific commands."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/cmd_tlm/tlm.txt"}),(0,r.jsxs)(n.td,{children:["Example ",(0,r.jsx)(n.a,{href:"../configuration/telemetry",children:"telemetry"})," configuration. Will need to be edited for the target specific telemetry."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib"}),(0,r.jsxs)(n.td,{children:["Contains any custom code required by the target. Good examples of custom code are library files, custom ",(0,r.jsx)(n.a,{href:"../configuration/interfaces",children:"interface"})," classes and ",(0,r.jsx)(n.a,{href:"../configuration/protocols",children:"protocols"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib/gse.rb/py"}),(0,r.jsx)(n.td,{children:"Example library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/procedures"}),(0,r.jsxs)(n.td,{children:["This folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the ",(0,r.jsx)(n.a,{href:"../guides/script-writing#script-organization",children:"Scripting Guide"})," for more information."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/procedures/procedure.rb/py"}),(0,r.jsx)(n.td,{children:"Procedure with an example of sending a command and checking telemetry"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/public"}),(0,r.jsxs)(n.td,{children:["Put image files here for use in Telemetry Viewer Canvas Image widgets such as ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens#canvasimage",children:"CANVASIMAGE"})," and ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens#canvasimagevalue",children:"CANVASIMAGEVALUE"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/screens"}),(0,r.jsxs)(n.td,{children:["Contains telemetry ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens",children:"screens"})," for the target"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/screens/status.txt"}),(0,r.jsxs)(n.td,{children:["Example ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens",children:"screen"})," to display telemetry values"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/target.txt"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.a,{href:"../configuration/target",children:"Target"})," configuration such as ignoring command and telemetry items and how to process the cmd/tlm files"]})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"It also updates the plugin.txt file to add the new target:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"VARIABLE gse_target_name GSE\n\nTARGET GSE <%= gse_target_name %>\nINTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET <%= gse_target_name %>\n"})}),"\n",(0,r.jsx)(n.h2,{id:"microservice-generator",children:"Microservice Generator"}),"\n",(0,r.jsx)(n.p,{children:"The microservice generator creates the scaffolding for a new COSMOS Microservice. It must operate inside an existing COSMOS plugin and requires a target name. For example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate microservice\nUsage: cli generate microservice (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate microservice background\nMicroservice BACKGROUND successfully generated!\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"microservices/BACKGROUND"}),(0,r.jsx)(n.td,{children:"Contains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"microservices/BACKGROUND/background.rb"}),(0,r.jsx)(n.td,{children:"Fully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response)."})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"It also updates the plugin.txt file to add the new microservice:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"MICROSERVICE BACKGROUND background-microservice\n CMD ruby background.rb\n"})}),"\n",(0,r.jsx)(n.h2,{id:"conversion-generator",children:"Conversion Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The conversion generator creates the scaffolding for a new COSMOS ",(0,r.jsx)(n.a,{href:"../configuration/telemetry#read_conversion",children:"Conversion"}),". It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate conversion\nUsage: cli generate conversion (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate limits_response GSE double\nConversion targets/GSE/lib/double_conversion.rb successfully generated!\nTo use the conversion add the following to a telemetry item:\n READ_CONVERSION double_conversion.rb\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib/double_conversion.rb"}),(0,r.jsx)(n.td,{children:"Fully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values."})]})})]}),"\n",(0,r.jsx)(n.p,{children:"As the generator states, to use this conversion code you must add it to a telemetry item. For example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"\n # Keyword Name BitSize Type ID Description\n APPEND_ID_ITEM ID 16 INT 1 "Identifier"\n APPEND_ITEM VALUE 32 FLOAT "Value"\n READ_CONVERSION double_conversion.rb\n APPEND_ITEM BOOL 8 UINT "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_ITEM LABEL 0 STRING "The label to apply"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"limits-response-generator",children:"Limits Response Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The limits_response generator creates the scaffolding for a new COSMOS ",(0,r.jsx)(n.a,{href:"../configuration/telemetry#limits_response",children:"Limits Response"}),". It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate limits_response\nUsage: cli generate limits_response (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe\nLimits response targets/GSE/lib/safe_limits_response.rb successfully generated!\nTo use the limits response add the following to a telemetry item:\n LIMITS_RESPONSE safe_limits_response.rb\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib/safe_limits_response.rb"}),(0,r.jsx)(n.td,{children:"Fully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item"})]})})]}),"\n",(0,r.jsx)(n.p,{children:"As the generator states, to use this limits code you must add it to a telemetry item which has limits defined. In the generated GSE target, none of the items have limits defined so you first need to add limits and then add the response."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"\n # Keyword Name BitSize Type ID Description\n APPEND_ID_ITEM ID 16 INT 1 "Identifier"\n APPEND_ITEM VALUE 32 FLOAT "Value"\n LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0\n LIMITS_RESPONSE safe_limits_response.rb\n APPEND_ITEM BOOL 8 UINT "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_ITEM LABEL 0 STRING "The label to apply"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"widget-generator",children:"Widget Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The conversion generator creates the scaffolding for a new COSMOS Widget for use in ",(0,r.jsx)(n.a,{href:"../configuration/telemetry-screens",children:"Telemetry Viewer Screens"}),". For more information see the ",(0,r.jsx)(n.a,{href:"../guides/custom-widgets",children:"Custom Widget"})," guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate widget\nUsage: cli generate widget \n\nopenc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget\nWidget HelloworldWidget successfully generated!\nPlease be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/HelloworldWidget.vue"}),(0,r.jsx)(n.td,{children:"Fully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable."})]})})]}),"\n",(0,r.jsx)(n.p,{children:"It also updates the plugin.txt file to add the new widget:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"WIDGET Helloworld\n"})}),"\n",(0,r.jsx)(n.h2,{id:"tool-generator",children:"Tool Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see ",(0,r.jsx)(n.a,{href:"../development/developing#running-a-frontend-application",children:"Running a Frontend Application"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate tool\nUsage: cli generate tool 'Tool Name'\n\nopenc3-cosmos-gse % openc3.sh cli generate widget DataVis\nTool datavis successfully generated!\nPlease be sure datavis does not conflict with any other tools\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/App.vue"}),(0,r.jsx)(n.td,{children:"Basic Vue template to render the application."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/main.js"}),(0,r.jsx)(n.td,{children:"Entry point for the new tool which loads Vue, Vuetify, and other libraries."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/router.js"}),(0,r.jsx)(n.td,{children:"Vue component router."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/tools/datavis"}),(0,r.jsx)(n.td,{children:"Contains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/tools/datavis/datavis.vue"}),(0,r.jsx)(n.td,{children:"Fully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"package.json"}),(0,r.jsx)(n.td,{children:"Build and dependency definition file. Used by npm or yarn to build the tool."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"vue.config.js"}),(0,r.jsx)(n.td,{children:"Vue configuration file used to serve the application in development and build the application."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:""}),(0,r.jsx)(n.td,{children:"Various dotfiles which help configure formatters and tools for Javascript frontend development"})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found ",(0,r.jsx)(n.a,{href:"https://pictogrammers.com/library/mdi/",children:"here"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:'TOOL datavis "DataVis"\n INLINE_URL js/app.js\n ICON mdi-file-cad-box\n'})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var s=t(6540);const r={},i=s.createContext(r);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/2bb7bf90.707d14bd.js b/docs/assets/js/2bb7bf90.707d14bd.js new file mode 100644 index 0000000000..05df7fe4d2 --- /dev/null +++ b/docs/assets/js/2bb7bf90.707d14bd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7637"],{9230:function(e,n,t){t.r(n),t.d(n,{metadata:()=>s,contentTitle:()=>a,default:()=>h,assets:()=>l,toc:()=>c,frontMatter:()=>o});var s=JSON.parse('{"id":"getting-started/generators","title":"Code Generators","description":"Using openc3.sh to generate code","source":"@site/docs/getting-started/generators.md","sourceDirName":"getting-started","slug":"/getting-started/generators","permalink":"/docs/getting-started/generators","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/generators.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Code Generators","description":"Using openc3.sh to generate code","sidebar_custom_props":{"myEmoji":"\uD83C\uDFED"}},"sidebar":"defaultSidebar","previous":{"title":"Getting Started","permalink":"/docs/getting-started/gettingstarted"},"next":{"title":"Upgrading","permalink":"/docs/getting-started/upgrading"}}'),r=t("5893"),i=t("65");let o={sidebar_position:3,title:"Code Generators",description:"Using openc3.sh to generate code",sidebar_custom_props:{myEmoji:"\uD83C\uDFED"}},a=void 0,l={},c=[{value:"Plugin Generator",id:"plugin-generator",level:2},{value:"Target Generator",id:"target-generator",level:2},{value:"Microservice Generator",id:"microservice-generator",level:2},{value:"Conversion Generator",id:"conversion-generator",level:2},{value:"Limits Response Generator",id:"limits-response-generator",level:2},{value:"Widget Generator",id:"widget-generator",level:2},{value:"Tool Generator",id:"tool-generator",level:2}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["The COSMOS Code Generators are built into the scripts ",(0,r.jsx)(n.code,{children:"openc3.sh"})," and ",(0,r.jsx)(n.code,{children:"openc3.bat"})," that are included in the COSMOS ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos-project",children:"project"})," (more about ",(0,r.jsx)(n.a,{href:"key_concepts#projects",children:"projects"}),")."]}),"\n",(0,r.jsxs)(n.p,{children:["If you followed the ",(0,r.jsx)(n.a,{href:"/docs/getting-started/installation",children:"Installation Guide"})," you should already be inside a cloned ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos-project",children:"openc3-project"})," which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available code generators type the following:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"% openc3.sh cli generate\nUnknown generator ''. Valid generators: plugin, target, microservice, widget, conversion,\nlimits_response, tool, tool_vue, tool_angular, tool_react, tool_svelte\n"})}),"\n",(0,r.jsx)(n.admonition,{title:"Training Available",type:"note",children:(0,r.jsxs)(n.p,{children:["If any of this gets confusing, contact us at ",(0,r.jsx)("a",{href:"mailto:support@openc3.com",children:(0,r.jsx)(n.a,{href:"mailto:support@openc3.com",children:"support@openc3.com"})}),". We have training classes available!"]})}),"\n",(0,r.jsx)(n.h2,{id:"plugin-generator",children:"Plugin Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called ",(0,r.jsx)(n.code,{children:"openc3-cosmos-"}),". For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"% openc3.sh cli generate plugin\nUsage: cli generate plugin \n\n% openc3.sh cli generate plugin GSE\nPlugin openc3-cosmos-gse successfully generated!\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:".gitignore"}),(0,r.jsx)(n.td,{children:"Tells git to ignore any node_modules directory (for tool development)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"LICENSE.txt"}),(0,r.jsx)(n.td,{children:"License for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"openc3-cosmos-gse.gemspec"}),(0,r.jsxs)(n.td,{children:["Gemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: ",(0,r.jsx)(n.a,{href:"https://guides.rubygems.org/specification-reference/",children:"https://guides.rubygems.org/specification-reference/"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"plugin.txt"}),(0,r.jsxs)(n.td,{children:["COSMOS specific file for Plugin creation. Learn more ",(0,r.jsx)(n.a,{href:"../configuration/plugins",children:"here"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Rakefile"}),(0,r.jsx)(n.td,{children:'Ruby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number'})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"README.md"}),(0,r.jsx)(n.td,{children:"Markdown file used to document the plugin"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"requirements.txt"}),(0,r.jsx)(n.td,{children:"Python dependencies file (only for Python plugins)"})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"While this structure is required, it is not very useful by itself. The plugin generator just creates the framework for other generators to use."}),"\n",(0,r.jsx)(n.h2,{id:"target-generator",children:"Target Generator"}),"\n",(0,r.jsx)(n.p,{children:"The target generator creates the scaffolding for a new COSMOS Target. It must operate inside an existing COSMOS plugin and requires a target name. For example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate target\nUsage: cli generate target (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate target GSE\nTarget GSE successfully generated!\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE"}),(0,r.jsx)(n.td,{children:"Contains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/cmd_tlm"}),(0,r.jsx)(n.td,{children:"Contains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined)."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/cmd_tlm/cmd.txt"}),(0,r.jsxs)(n.td,{children:["Example ",(0,r.jsx)(n.a,{href:"../configuration/command",children:"command"})," configuration. Will need to be edited for the target specific commands."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/cmd_tlm/tlm.txt"}),(0,r.jsxs)(n.td,{children:["Example ",(0,r.jsx)(n.a,{href:"../configuration/telemetry",children:"telemetry"})," configuration. Will need to be edited for the target specific telemetry."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib"}),(0,r.jsxs)(n.td,{children:["Contains any custom code required by the target. Good examples of custom code are library files, custom ",(0,r.jsx)(n.a,{href:"../configuration/interfaces",children:"interface"})," classes and ",(0,r.jsx)(n.a,{href:"../configuration/protocols",children:"protocols"}),"."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib/gse.rb/py"}),(0,r.jsx)(n.td,{children:"Example library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/procedures"}),(0,r.jsxs)(n.td,{children:["This folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the ",(0,r.jsx)(n.a,{href:"../guides/script-writing#script-organization",children:"Scripting Guide"})," for more information."]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/procedures/procedure.rb/py"}),(0,r.jsx)(n.td,{children:"Procedure with an example of sending a command and checking telemetry"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/public"}),(0,r.jsxs)(n.td,{children:["Put image files here for use in Telemetry Viewer Canvas Image widgets such as ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens#canvasimage",children:"CANVASIMAGE"})," and ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens#canvasimagevalue",children:"CANVASIMAGEVALUE"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/screens"}),(0,r.jsxs)(n.td,{children:["Contains telemetry ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens",children:"screens"})," for the target"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/screens/status.txt"}),(0,r.jsxs)(n.td,{children:["Example ",(0,r.jsx)(n.a,{href:"/docs/configuration/telemetry-screens",children:"screen"})," to display telemetry values"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/target.txt"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.a,{href:"../configuration/target",children:"Target"})," configuration such as ignoring command and telemetry items and how to process the cmd/tlm files"]})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"It also updates the plugin.txt file to add the new target:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"VARIABLE gse_target_name GSE\n\nTARGET GSE <%= gse_target_name %>\nINTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET <%= gse_target_name %>\n"})}),"\n",(0,r.jsx)(n.h2,{id:"microservice-generator",children:"Microservice Generator"}),"\n",(0,r.jsx)(n.p,{children:"The microservice generator creates the scaffolding for a new COSMOS Microservice. It must operate inside an existing COSMOS plugin and requires a target name. For example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate microservice\nUsage: cli generate microservice (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate microservice background\nMicroservice BACKGROUND successfully generated!\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"microservices/BACKGROUND"}),(0,r.jsx)(n.td,{children:"Contains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"microservices/BACKGROUND/background.rb"}),(0,r.jsx)(n.td,{children:"Fully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response)."})]})]})]}),"\n",(0,r.jsx)(n.p,{children:"It also updates the plugin.txt file to add the new microservice:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"MICROSERVICE BACKGROUND background-microservice\n CMD ruby background.rb\n"})}),"\n",(0,r.jsx)(n.h2,{id:"conversion-generator",children:"Conversion Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The conversion generator creates the scaffolding for a new COSMOS ",(0,r.jsx)(n.a,{href:"../configuration/telemetry#read_conversion",children:"Conversion"}),". It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate conversion\nUsage: cli generate conversion (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate limits_response GSE double\nConversion targets/GSE/lib/double_conversion.rb successfully generated!\nTo use the conversion add the following to a telemetry item:\n READ_CONVERSION double_conversion.rb\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib/double_conversion.rb"}),(0,r.jsx)(n.td,{children:"Fully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values."})]})})]}),"\n",(0,r.jsx)(n.p,{children:"As the generator states, to use this conversion code you must add it to a telemetry item. For example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"\n # Keyword Name BitSize Type ID Description\n APPEND_ID_ITEM ID 16 INT 1 "Identifier"\n APPEND_ITEM VALUE 32 FLOAT "Value"\n READ_CONVERSION double_conversion.rb\n APPEND_ITEM BOOL 8 UINT "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_ITEM LABEL 0 STRING "The label to apply"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"limits-response-generator",children:"Limits Response Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The limits_response generator creates the scaffolding for a new COSMOS ",(0,r.jsx)(n.a,{href:"../configuration/telemetry#limits_response",children:"Limits Response"}),". It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate limits_response\nUsage: cli generate limits_response (--ruby or --python)\n\nopenc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe\nLimits response targets/GSE/lib/safe_limits_response.rb successfully generated!\nTo use the limits response add the following to a telemetry item:\n LIMITS_RESPONSE safe_limits_response.rb\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"targets/GSE/lib/safe_limits_response.rb"}),(0,r.jsx)(n.td,{children:"Fully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item"})]})})]}),"\n",(0,r.jsx)(n.p,{children:"As the generator states, to use this limits code you must add it to a telemetry item which has limits defined. In the generated GSE target, none of the items have limits defined so you first need to add limits and then add the response."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"\n # Keyword Name BitSize Type ID Description\n APPEND_ID_ITEM ID 16 INT 1 "Identifier"\n APPEND_ITEM VALUE 32 FLOAT "Value"\n LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0\n LIMITS_RESPONSE safe_limits_response.rb\n APPEND_ITEM BOOL 8 UINT "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_ITEM LABEL 0 STRING "The label to apply"\n'})}),"\n",(0,r.jsx)(n.h2,{id:"widget-generator",children:"Widget Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The conversion generator creates the scaffolding for a new COSMOS Widget for use in ",(0,r.jsx)(n.a,{href:"../configuration/telemetry-screens",children:"Telemetry Viewer Screens"}),". For more information see the ",(0,r.jsx)(n.a,{href:"../guides/custom-widgets",children:"Custom Widget"})," guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate widget\nUsage: cli generate widget \n\nopenc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget\nWidget HelloworldWidget successfully generated!\nPlease be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsx)(n.tbody,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/HelloworldWidget.vue"}),(0,r.jsx)(n.td,{children:"Fully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable."})]})})]}),"\n",(0,r.jsx)(n.p,{children:"It also updates the plugin.txt file to add the new widget:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"WIDGET Helloworld\n"})}),"\n",(0,r.jsx)(n.h2,{id:"tool-generator",children:"Tool Generator"}),"\n",(0,r.jsxs)(n.p,{children:["The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see ",(0,r.jsx)(n.a,{href:"../development/developing#running-a-frontend-application",children:"Running a Frontend Application"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"openc3-cosmos-gse % openc3.sh cli generate tool\nUsage: cli generate tool 'Tool Name'\n\nopenc3-cosmos-gse % openc3.sh cli generate widget DataVis\nTool datavis successfully generated!\nPlease be sure datavis does not conflict with any other tools\n"})}),"\n",(0,r.jsx)(n.p,{children:"This creates the following files and directories:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Name"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/App.vue"}),(0,r.jsx)(n.td,{children:"Basic Vue template to render the application."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/main.js"}),(0,r.jsx)(n.td,{children:"Entry point for the new tool which loads Vue, Vuetify, and other libraries."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/router.js"}),(0,r.jsx)(n.td,{children:"Vue component router."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/tools/datavis"}),(0,r.jsx)(n.td,{children:"Contains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"src/tools/datavis/datavis.vue"}),(0,r.jsx)(n.td,{children:"Fully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"package.json"}),(0,r.jsx)(n.td,{children:"Build and dependency definition file. Used by npm or yarn to build the tool."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"vue.config.js"}),(0,r.jsx)(n.td,{children:"Vue configuration file used to serve the application in development and build the application."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:""}),(0,r.jsx)(n.td,{children:"Various dotfiles which help configure formatters and tools for Javascript frontend development"})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found ",(0,r.jsx)(n.a,{href:"https://pictogrammers.com/library/mdi/",children:"here"}),"."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:'TOOL datavis "DataVis"\n INLINE_URL js/app.js\n ICON mdi-file-cad-box\n'})})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},65:function(e,n,t){t.d(n,{Z:function(){return a},a:function(){return o}});var s=t(7294);let r={},i=s.createContext(r);function o(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/3dd7ef3b.077ecc44.js b/docs/assets/js/3dd7ef3b.077ecc44.js deleted file mode 100644 index 95d54f1f64..0000000000 --- a/docs/assets/js/3dd7ef3b.077ecc44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8619],{1403:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"meta/contributing","title":"Contributing","description":"Contributing to COSMOS using the github workflow","source":"@site/docs/meta/contributing.md","sourceDirName":"meta","slug":"/meta/contributing","permalink":"/docs/meta/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/contributing.md","tags":[],"version":"current","frontMatter":{"title":"Contributing","description":"Contributing to COSMOS using the github workflow","sidebar_custom_props":{"myEmoji":"\ud83d\ude42"}},"sidebar":"defaultSidebar","previous":{"title":"Meta","permalink":"/docs/meta"},"next":{"title":"Licenses","permalink":"/docs/meta/licenses"}}');var s=t(4848),i=t(8453);const r={title:"Contributing",description:"Contributing to COSMOS using the github workflow",sidebar_custom_props:{myEmoji:"\ud83d\ude42"}},c=void 0,a={},l=[{value:"Test Dependencies",id:"test-dependencies",level:2},{value:"Workflow",id:"workflow",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"So you've got an awesome idea to throw into COSMOS. Great! This is the basic process:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Fork the project on Github"}),"\n",(0,s.jsx)(n.li,{children:"Create a feature branch"}),"\n",(0,s.jsx)(n.li,{children:"Make your changes"}),"\n",(0,s.jsx)(n.li,{children:"Submit a pull request"}),"\n"]}),"\n",(0,s.jsxs)(n.admonition,{title:"Don't Forget the Contributor License Agreement!",type:"note",children:[(0,s.jsxs)(n.p,{children:["By contributing to this project, you accept our Contributor License Agreement which is found here: ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/blob/main/CONTRIBUTING.txt",children:"Contributor License Agreement"})]}),(0,s.jsx)(n.p,{children:"This protects both you and us and you retain full rights to any code you write."})]}),"\n",(0,s.jsx)(n.h2,{id:"test-dependencies",children:"Test Dependencies"}),"\n",(0,s.jsxs)(n.p,{children:["To run the test suite and build the gem you'll need to install COSMOS's\ndependencies. COSMOS uses Bundler, so a quick run of the ",(0,s.jsx)(n.code,{children:"bundle"})," command and\nyou're all set!"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"\\$ bundle\n"})}),"\n",(0,s.jsx)(n.p,{children:"Before you start, run the tests and make sure that they pass (to confirm your\nenvironment is configured properly):"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"\\$ bundle exec rake build spec\n"})}),"\n",(0,s.jsx)(n.h2,{id:"workflow",children:"Workflow"}),"\n",(0,s.jsx)(n.p,{children:"Here's the most direct way to get your work merged into the project:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fork the project."}),"\n",(0,s.jsx)(n.li,{children:"Clone down your fork:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone git://github.com//openc3.git\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Create a topic branch to contain your change:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git checkout -b my_awesome_feature\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Hack away, add tests. Not necessarily in that order."}),"\n",(0,s.jsxs)(n.li,{children:["Make sure everything still passes by running ",(0,s.jsx)(n.code,{children:"bundle exec rake"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"If necessary, rebase your commits into logical chunks, without errors."}),"\n",(0,s.jsx)(n.li,{children:"Push the branch up:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git push origin my_awesome_feature\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Create a pull request against openc3/cosmos",":main"," and describe what your\nchange does and the why you think it should be merged."]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{title:"Find a problem in the code or documentation?",type:"note",children:(0,s.jsxs)(n.p,{children:["Please ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/issues/new/choose",children:"create an issue"})," on\nGitHub describing what we can do to make it better."]})})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var o=t(6540);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/3dd7ef3b.e940a9c6.js b/docs/assets/js/3dd7ef3b.e940a9c6.js new file mode 100644 index 0000000000..dbc3664126 --- /dev/null +++ b/docs/assets/js/3dd7ef3b.e940a9c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7810"],{70:function(e,n,t){t.r(n),t.d(n,{metadata:()=>i,contentTitle:()=>c,default:()=>u,assets:()=>l,toc:()=>a,frontMatter:()=>r});var i=JSON.parse('{"id":"meta/contributing","title":"Contributing","description":"Contributing to COSMOS using the github workflow","source":"@site/docs/meta/contributing.md","sourceDirName":"meta","slug":"/meta/contributing","permalink":"/docs/meta/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/contributing.md","tags":[],"version":"current","frontMatter":{"title":"Contributing","description":"Contributing to COSMOS using the github workflow","sidebar_custom_props":{"myEmoji":"\uD83D\uDE42"}},"sidebar":"defaultSidebar","previous":{"title":"Meta","permalink":"/docs/meta"},"next":{"title":"Licenses","permalink":"/docs/meta/licenses"}}'),o=t("5893"),s=t("65");let r={title:"Contributing",description:"Contributing to COSMOS using the github workflow",sidebar_custom_props:{myEmoji:"\uD83D\uDE42"}},c=void 0,l={},a=[{value:"Test Dependencies",id:"test-dependencies",level:2},{value:"Workflow",id:"workflow",level:2}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"So you've got an awesome idea to throw into COSMOS. Great! This is the basic process:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Fork the project on Github"}),"\n",(0,o.jsx)(n.li,{children:"Create a feature branch"}),"\n",(0,o.jsx)(n.li,{children:"Make your changes"}),"\n",(0,o.jsx)(n.li,{children:"Submit a pull request"}),"\n"]}),"\n",(0,o.jsxs)(n.admonition,{title:"Don't Forget the Contributor License Agreement!",type:"note",children:[(0,o.jsxs)(n.p,{children:["By contributing to this project, you accept our Contributor License Agreement which is found here: ",(0,o.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/blob/main/CONTRIBUTING.txt",children:"Contributor License Agreement"})]}),(0,o.jsx)(n.p,{children:"This protects both you and us and you retain full rights to any code you write."})]}),"\n",(0,o.jsx)(n.h2,{id:"test-dependencies",children:"Test Dependencies"}),"\n",(0,o.jsxs)(n.p,{children:["To run the test suite and build the gem you'll need to install COSMOS's\ndependencies. COSMOS uses Bundler, so a quick run of the ",(0,o.jsx)(n.code,{children:"bundle"})," command and\nyou're all set!"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"\\$ bundle\n"})}),"\n",(0,o.jsx)(n.p,{children:"Before you start, run the tests and make sure that they pass (to confirm your\nenvironment is configured properly):"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"\\$ bundle exec rake build spec\n"})}),"\n",(0,o.jsx)(n.h2,{id:"workflow",children:"Workflow"}),"\n",(0,o.jsx)(n.p,{children:"Here's the most direct way to get your work merged into the project:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Fork the project."}),"\n",(0,o.jsx)(n.li,{children:"Clone down your fork:"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"git clone git://github.com//openc3.git\n"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Create a topic branch to contain your change:"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"git checkout -b my_awesome_feature\n"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Hack away, add tests. Not necessarily in that order."}),"\n",(0,o.jsxs)(n.li,{children:["Make sure everything still passes by running ",(0,o.jsx)(n.code,{children:"bundle exec rake"}),"."]}),"\n",(0,o.jsx)(n.li,{children:"If necessary, rebase your commits into logical chunks, without errors."}),"\n",(0,o.jsx)(n.li,{children:"Push the branch up:"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"git push origin my_awesome_feature\n"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Create a pull request against openc3/cosmos",":main"," and describe what your\nchange does and the why you think it should be merged."]}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{title:"Find a problem in the code or documentation?",type:"note",children:(0,o.jsxs)(n.p,{children:["Please ",(0,o.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/issues/new/choose",children:"create an issue"})," on\nGitHub describing what we can do to make it better."]})})]})}function u(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},65:function(e,n,t){t.d(n,{Z:function(){return c},a:function(){return r}});var i=t(7294);let o={},s=i.createContext(o);function r(e){let n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/40365d27.a9431b10.js b/docs/assets/js/40365d27.a9431b10.js deleted file mode 100644 index 26250efb61..0000000000 --- a/docs/assets/js/40365d27.a9431b10.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[9014],{355:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>h});const a=JSON.parse('{"id":"tools/tlm-grapher","title":"Telemetry Grapher","description":"Graph real time or historical data","source":"@site/docs/tools/tlm-grapher.md","sourceDirName":"tools","slug":"/tools/tlm-grapher","permalink":"/docs/tools/tlm-grapher","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/tlm-grapher.md","tags":[],"version":"current","frontMatter":{"title":"Telemetry Grapher","description":"Graph real time or historical data","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Table Manager","permalink":"/docs/tools/table-manager"},"next":{"title":"Telemetry Viewer","permalink":"/docs/tools/tlm-viewer"}}');var n=i(4848),s=i(8453);const r={title:"Telemetry Grapher",description:"Graph real time or historical data",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},o=void 0,l={},h=[{value:"Introductions",id:"introductions",level:2},{value:"Telemetry Grapher Menus",id:"telemetry-grapher-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Graph Menu Items",id:"graph-menu-items",level:3},{value:"Selecting Items",id:"selecting-items",level:2},{value:"Graph Window Management",id:"graph-window-management",level:2}];function d(e){const t={h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introductions",children:"Introductions"}),"\n",(0,n.jsx)(t.p,{children:"Telemetry Grapher is a graphing application that allows for one or more telemetry points per graph. It supports multiple graphs per screen which can be resized and reordered. Multiple configurations can be saved and restored for different situations."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Telemetry Grapher",src:i(2617).A+"",width:"1270",height:"927"})}),"\n",(0,n.jsx)(t.h2,{id:"telemetry-grapher-menus",children:"Telemetry Grapher Menus"}),"\n",(0,n.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,n.jsx)("img",{src:i(7574).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"90px"}}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Open a saved configuration (graphs and items)"}),"\n",(0,n.jsx)(t.li,{children:"Save the current configuration"}),"\n",(0,n.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,n.jsx)(t.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,n.jsx)(t.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,n.jsx)(t.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,n.jsx)(t.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,n.jsx)(t.h3,{id:"graph-menu-items",children:"Graph Menu Items"}),"\n",(0,n.jsx)("img",{src:i(6346).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Add a new graph"}),"\n",(0,n.jsx)(t.li,{children:"Start / Resume graphing"}),"\n",(0,n.jsx)(t.li,{children:"Pause graph"}),"\n",(0,n.jsx)(t.li,{children:"Stop graph"}),"\n",(0,n.jsx)(t.li,{children:"Edit grapher settings"}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Editing the grapher settings brings up a dialog to change settings affecting every graph in the Telemetry Grapher tool. Changing the Seconds Graphed changes the visible windows displaying graph points. The smaller of Seconds Graphed and Points Graphed will be used when calculating the number of points to display. Changing the Points Saved will affect performance of the browser window if set too high. The default of 1,000,000 points can store over 11.5 days of 1Hz data points."}),"\n",(0,n.jsx)(t.p,{children:"Editing an individual graph by clicking the pencil icon in title bar of the graph brings up the edit graph dialog."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Edit Graph",src:i(2451).A+"",width:"592",height:"766"})}),"\n",(0,n.jsx)(t.p,{children:"Editing the Start Date and Start Time will re-query the data to begin at the specified time. This operation can take several seconds depending on how far back data is requested. Similarly, specifying the End Date and End Time will limit the data request to the specified time. Leaving the End Date / End Time fields blank will cause Telemetry Grapher to continue to graph items in real-time as they arrive."}),"\n",(0,n.jsx)(t.p,{children:"Changing the Min Y and Max Y values simply sets the graph scale. Deleting the Min Y and Max Y values allows the graph to scale automatically as values arrive. Compare the following graph with the minimum set to 0 and the maximum set to 100 with the first graph image (auto-scale)."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Min Max",src:i(766).A+"",width:"1247",height:"718"})}),"\n",(0,n.jsx)(t.h2,{id:"selecting-items",children:"Selecting Items"}),"\n",(0,n.jsx)(t.p,{children:"Selecting a target from the Select Target drop down automatically updates the available packets in the Select Packet drop down which updates the available items in the Select Item drop down. Clicking Add Item adds the item to the graph which immediately begins graphing."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Temp 1",src:i(4598).A+"",width:"1247",height:"829"})}),"\n",(0,n.jsx)(t.p,{children:"As time passes, the main graph fills up and starts scrolling while the overview graph at the bottom shows the entire history."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Temp 1 History",src:i(4048).A+"",width:"1247",height:"829"})}),"\n",(0,n.jsx)(t.p,{children:"Selecting a new item and adding it to the graph automatically fills the graph with history until the beginning of the first item. This allows you to add items to the graph incrementally and maintain full history."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Temp1 Temp2",src:i(3279).A+"",width:"1247",height:"829"})}),"\n",(0,n.jsx)(t.h2,{id:"graph-window-management",children:"Graph Window Management"}),"\n",(0,n.jsx)(t.p,{children:"All graphs can be moved around the browser window by clicking their title bar and moving them. Other graphs will move around intelligently to fill the space. This allows you order the graphs no matter which order they were created in."}),"\n",(0,n.jsx)(t.p,{children:"Each graph has a set of window buttons in the upper right corner. The first shrinks or grows the graph both horizontally and vertically to allow for 4 graphs in the same browser tab. Note that half height graphs no longer show the overview graph."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Four Graphs",src:i(5656).A+"",width:"1247",height:"710"})}),"\n",(0,n.jsx)(t.p,{children:"The second button shrinks or grows the graph horizontally so it will either be half or full width of the browser window. This allows for two full width graphs on top of each other."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Two Full Width",src:i(5085).A+"",width:"1247",height:"833"})}),"\n",(0,n.jsx)(t.p,{children:"The second button shrinks or grows the graph vertically so it will either be half or full height of the browser window. This allows for two full height graphs side by side."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Two Full Height",src:i(4980).A+"",width:"1247",height:"833"})}),"\n",(0,n.jsx)(t.p,{children:"The line button minimizes the graph to effectively hide it. This allows you to focus on a single graph without losing existing graphs."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Minimized",src:i(1344).A+"",width:"1247",height:"833"})}),"\n",(0,n.jsx)(t.p,{children:"The final X button closes the graph."})]})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},7574:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/file_menu-1c05cfc08f9d07b3f7122d2fe1ad98ed428dc563d2c5d2edddbed71f46779eb8.png"},6346:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/graph_menu-289cbbb168622f661c1c98a7bd2c1b43f888e9c3560ba4e1d435ab62d0aad6de.png"},2451:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/edit_graph-9618076f837e0d358ea0bfbf503d43b377805d818370405536f5a1c049209e99.png"},5656:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/four_graphs-1aa5a7cb9ce51cec815fc9d8740b40e113bd171c4977711d47ef1e6daf02719e.png"},766:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/graph_min_max-75be4a19a7e13a1b9b7a18a9b898b170c8ded7768b01ce6c6effd566ac8e071a.png"},4598:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/graph_temp1-028d8660c779136ff017b0b8a9fadb294e9ff478a65d7bd73032c3c2ed4f03d0.png"},3279:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/graph_temp1_temp2-ad650da0ddf1fb5c6e9764b737bfab3027f5abcb935ad86d9716dfdf13032dca.png"},4048:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/graph_temp1_time-53c18518755d1d1c816db7f0a67e26c5408aba32b644fda519b5ecf7a7ee9b27.png"},1344:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/minimized-47ddb9b9b68b47aae3d0a12cb39ab767adf446acbe213c0b5565c1bfaf8a463f.png"},2617:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/telemetry_grapher-3a37c074a25b7912a76d96fd46a1431d27202d71374f78c829f273e5cb342233.png"},4980:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/two_full_height-ccba2940b80345f3569ea47b7ddd3390c08195de91559f5586f85e36e411afd6.png"},5085:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/two_full_width-0116adbf994500a24d4717e002d32098f8d6197bcece510b84b90400f23feade.png"},8453:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>o});var a=i(6540);const n={},s=a.createContext(n);function r(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/40365d27.c3358f99.js b/docs/assets/js/40365d27.c3358f99.js new file mode 100644 index 0000000000..af8979cd7d --- /dev/null +++ b/docs/assets/js/40365d27.c3358f99.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4593"],{254:function(e,t,i){i.r(t),i.d(t,{metadata:()=>n,contentTitle:()=>o,default:()=>c,assets:()=>l,toc:()=>h,frontMatter:()=>s});var n=JSON.parse('{"id":"tools/tlm-grapher","title":"Telemetry Grapher","description":"Graph real time or historical data","source":"@site/docs/tools/tlm-grapher.md","sourceDirName":"tools","slug":"/tools/tlm-grapher","permalink":"/docs/tools/tlm-grapher","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/tlm-grapher.md","tags":[],"version":"current","frontMatter":{"title":"Telemetry Grapher","description":"Graph real time or historical data","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Table Manager","permalink":"/docs/tools/table-manager"},"next":{"title":"Telemetry Viewer","permalink":"/docs/tools/tlm-viewer"}}'),a=i("5893"),r=i("65");let s={title:"Telemetry Grapher",description:"Graph real time or historical data",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},o=void 0,l={},h=[{value:"Introductions",id:"introductions",level:2},{value:"Telemetry Grapher Menus",id:"telemetry-grapher-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Graph Menu Items",id:"graph-menu-items",level:3},{value:"Selecting Items",id:"selecting-items",level:2},{value:"Graph Window Management",id:"graph-window-management",level:2}];function d(e){let t={h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"introductions",children:"Introductions"}),"\n",(0,a.jsx)(t.p,{children:"Telemetry Grapher is a graphing application that allows for one or more telemetry points per graph. It supports multiple graphs per screen which can be resized and reordered. Multiple configurations can be saved and restored for different situations."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Telemetry Grapher",src:i(6090).Z+"",width:"1270",height:"927"})}),"\n",(0,a.jsx)(t.h2,{id:"telemetry-grapher-menus",children:"Telemetry Grapher Menus"}),"\n",(0,a.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,a.jsx)("img",{src:i(7690).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"90px"}}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Open a saved configuration (graphs and items)"}),"\n",(0,a.jsx)(t.li,{children:"Save the current configuration"}),"\n",(0,a.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,a.jsx)(t.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,a.jsx)(t.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,a.jsx)(t.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,a.jsx)(t.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,a.jsx)(t.h3,{id:"graph-menu-items",children:"Graph Menu Items"}),"\n",(0,a.jsx)("img",{src:i(8814).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Add a new graph"}),"\n",(0,a.jsx)(t.li,{children:"Start / Resume graphing"}),"\n",(0,a.jsx)(t.li,{children:"Pause graph"}),"\n",(0,a.jsx)(t.li,{children:"Stop graph"}),"\n",(0,a.jsx)(t.li,{children:"Edit grapher settings"}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Editing the grapher settings brings up a dialog to change settings affecting every graph in the Telemetry Grapher tool. Changing the Seconds Graphed changes the visible windows displaying graph points. The smaller of Seconds Graphed and Points Graphed will be used when calculating the number of points to display. Changing the Points Saved will affect performance of the browser window if set too high. The default of 1,000,000 points can store over 11.5 days of 1Hz data points."}),"\n",(0,a.jsx)(t.p,{children:"Editing an individual graph by clicking the pencil icon in title bar of the graph brings up the edit graph dialog."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Edit Graph",src:i(3957).Z+"",width:"592",height:"766"})}),"\n",(0,a.jsx)(t.p,{children:"Editing the Start Date and Start Time will re-query the data to begin at the specified time. This operation can take several seconds depending on how far back data is requested. Similarly, specifying the End Date and End Time will limit the data request to the specified time. Leaving the End Date / End Time fields blank will cause Telemetry Grapher to continue to graph items in real-time as they arrive."}),"\n",(0,a.jsx)(t.p,{children:"Changing the Min Y and Max Y values simply sets the graph scale. Deleting the Min Y and Max Y values allows the graph to scale automatically as values arrive. Compare the following graph with the minimum set to 0 and the maximum set to 100 with the first graph image (auto-scale)."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Min Max",src:i(6280).Z+"",width:"1247",height:"718"})}),"\n",(0,a.jsx)(t.h2,{id:"selecting-items",children:"Selecting Items"}),"\n",(0,a.jsx)(t.p,{children:"Selecting a target from the Select Target drop down automatically updates the available packets in the Select Packet drop down which updates the available items in the Select Item drop down. Clicking Add Item adds the item to the graph which immediately begins graphing."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Temp 1",src:i(7045).Z+"",width:"1247",height:"829"})}),"\n",(0,a.jsx)(t.p,{children:"As time passes, the main graph fills up and starts scrolling while the overview graph at the bottom shows the entire history."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Temp 1 History",src:i(1260).Z+"",width:"1247",height:"829"})}),"\n",(0,a.jsx)(t.p,{children:"Selecting a new item and adding it to the graph automatically fills the graph with history until the beginning of the first item. This allows you to add items to the graph incrementally and maintain full history."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Temp1 Temp2",src:i(6895).Z+"",width:"1247",height:"829"})}),"\n",(0,a.jsx)(t.h2,{id:"graph-window-management",children:"Graph Window Management"}),"\n",(0,a.jsx)(t.p,{children:"All graphs can be moved around the browser window by clicking their title bar and moving them. Other graphs will move around intelligently to fill the space. This allows you order the graphs no matter which order they were created in."}),"\n",(0,a.jsx)(t.p,{children:"Each graph has a set of window buttons in the upper right corner. The first shrinks or grows the graph both horizontally and vertically to allow for 4 graphs in the same browser tab. Note that half height graphs no longer show the overview graph."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Four Graphs",src:i(4424).Z+"",width:"1247",height:"710"})}),"\n",(0,a.jsx)(t.p,{children:"The second button shrinks or grows the graph horizontally so it will either be half or full width of the browser window. This allows for two full width graphs on top of each other."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Two Full Width",src:i(7177).Z+"",width:"1247",height:"833"})}),"\n",(0,a.jsx)(t.p,{children:"The second button shrinks or grows the graph vertically so it will either be half or full height of the browser window. This allows for two full height graphs side by side."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Two Full Height",src:i(1866).Z+"",width:"1247",height:"833"})}),"\n",(0,a.jsx)(t.p,{children:"The line button minimizes the graph to effectively hide it. This allows you to focus on a single graph without losing existing graphs."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Minimized",src:i(4207).Z+"",width:"1247",height:"833"})}),"\n",(0,a.jsx)(t.p,{children:"The final X button closes the graph."})]})}function c(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},7690:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/file_menu-1c05cfc08f9d07b3f7122d2fe1ad98ed428dc563d2c5d2edddbed71f46779eb8.png"},8814:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/graph_menu-289cbbb168622f661c1c98a7bd2c1b43f888e9c3560ba4e1d435ab62d0aad6de.png"},3957:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/edit_graph-9618076f837e0d358ea0bfbf503d43b377805d818370405536f5a1c049209e99.png"},4424:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/four_graphs-1aa5a7cb9ce51cec815fc9d8740b40e113bd171c4977711d47ef1e6daf02719e.png"},6280:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/graph_min_max-75be4a19a7e13a1b9b7a18a9b898b170c8ded7768b01ce6c6effd566ac8e071a.png"},7045:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/graph_temp1-028d8660c779136ff017b0b8a9fadb294e9ff478a65d7bd73032c3c2ed4f03d0.png"},6895:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/graph_temp1_temp2-ad650da0ddf1fb5c6e9764b737bfab3027f5abcb935ad86d9716dfdf13032dca.png"},1260:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/graph_temp1_time-53c18518755d1d1c816db7f0a67e26c5408aba32b644fda519b5ecf7a7ee9b27.png"},4207:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/minimized-47ddb9b9b68b47aae3d0a12cb39ab767adf446acbe213c0b5565c1bfaf8a463f.png"},6090:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/telemetry_grapher-3a37c074a25b7912a76d96fd46a1431d27202d71374f78c829f273e5cb342233.png"},1866:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/two_full_height-ccba2940b80345f3569ea47b7ddd3390c08195de91559f5586f85e36e411afd6.png"},7177:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/two_full_width-0116adbf994500a24d4717e002d32098f8d6197bcece510b84b90400f23feade.png"},65:function(e,t,i){i.d(t,{Z:function(){return o},a:function(){return s}});var n=i(7294);let a={},r=n.createContext(a);function s(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/411898ad.21aeab54.js b/docs/assets/js/411898ad.21aeab54.js deleted file mode 100644 index e8dc067f49..0000000000 --- a/docs/assets/js/411898ad.21aeab54.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7593],{5111:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"development/curl","title":"Testing with Curl","description":"How to use Curl to hit the COSMOS APIs","source":"@site/docs/development/curl.md","sourceDirName":"development","slug":"/development/curl","permalink":"/docs/development/curl","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md","tags":[],"version":"current","frontMatter":{"title":"Testing with Curl","description":"How to use Curl to hit the COSMOS APIs","sidebar_custom_props":{"myEmoji":"\ud83c\udf0a"}},"sidebar":"defaultSidebar","previous":{"title":"Development","permalink":"/docs/development"},"next":{"title":"Developing COSMOS","permalink":"/docs/development/developing"}}');var s=i(4848),o=i(8453);const r={title:"Testing with Curl",description:"How to use Curl to hit the COSMOS APIs",sidebar_custom_props:{myEmoji:"\ud83c\udf0a"}},c=void 0,l={},a=[{value:"Curl Example with OpenC3 COSMOS Open Source",id:"curl-example-with-openc3-cosmos-open-source",level:2},{value:"Curl Example with OpenC3 COSMOS Enterprise",id:"curl-example-with-openc3-cosmos-enterprise",level:2},{value:"Suite Runner Example",id:"suite-runner-example",level:2}];function p(e){const n={admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.admonition,{title:"This documentation is for COSMOS Developers",type:"note",children:(0,s.jsx)(n.p,{children:"This information is just generally used behind the scenes in COSMOS tools"})}),"\n",(0,s.jsx)(n.p,{children:"The COSMOS APIs are all served over HTTP, which means you can use curl to experiment with them. Curl is a great tool for seeing exactly how the API responds to any given request."}),"\n",(0,s.jsx)(n.h2,{id:"curl-example-with-openc3-cosmos-open-source",children:"Curl Example with OpenC3 COSMOS Open Source"}),"\n",(0,s.jsx)(n.p,{children:"OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this."}),"\n",(0,s.jsx)(n.p,{children:"Request:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d \'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}\' -X POST http://127.0.0.1:2900/openc3-api/api\n'})}),"\n",(0,s.jsx)(n.p,{children:"Response:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'HTTP/1.1 200 OK\nCache-Control: max-age=0, private, must-revalidate\nContent-Length: 51\nContent-Type: application/json-rpc\nEtag: W/"e806aacfdbed0b325e7a5928e3bb5cf4"\nVary: Origin\nX-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939\nX-Runtime: 0.059044\nDate: Sat, 04 Nov 2023 21:34:47 GMT\n\n{"jsonrpc":"2.0","id":8,"result":53.26555000000001}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"curl-example-with-openc3-cosmos-enterprise",children:"Curl Example with OpenC3 COSMOS Enterprise"}),"\n",(0,s.jsx)(n.p,{children:"OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request."}),"\n",(0,s.jsx)(n.p,{children:"Keycloak Request:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Get tokens from Keycloak - You will need to update the username and password with your account\ncurl -i -H \"Content-Type: application/x-www-form-urlencoded\" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token\n"})}),"\n",(0,s.jsx)(n.p,{children:"Keycloak Response:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'HTTP/1.1 200 OK\nCache-Control: no-store\nContent-Length: 3207\nContent-Type: application/json\nPragma: no-cache\nReferrer-Policy: no-referrer\nSet-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly\nSet-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly\nStrict-Transport-Security: max-age=31536000; includeSubDomains\nX-Content-Type-Options: nosniff\nX-Frame-Options: SAMEORIGIN\nX-Xss-Protection: 1; mode=block\nDate: Wed, 10 May 2023 00:40:40 GMT\n\n{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"}\n'})}),"\n",(0,s.jsx)(n.p,{children:"COSMOS Request:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# COSMOS Request now looks like this:\n\ncurl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d \'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}\' -X POST http://127.0.0.1:2900/openc3-api/api\n'})}),"\n",(0,s.jsx)(n.p,{children:"COSMOS Response:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'HTTP/1.1 200 OK\nCache-Control: max-age=0, private, must-revalidate\nContent-Type: application/json-rpc\nEtag: W/"1e44c0878528687014e1e60a1cbebdae"\nVary: Origin\nX-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c\nX-Runtime: 0.046477\nDate: Wed, 10 May 2023 00:41:33 GMT\nTransfer-Encoding: chunked\n\n{"jsonrpc":"2.0","id":8,"result":29.204100000000007}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"suite-runner-example",children:"Suite Runner Example"}),"\n",(0,s.jsxs)(n.p,{children:["It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser:\n",(0,s.jsx)(n.img,{src:"https://github.com/OpenC3/cosmos/assets/55999897/df642d42-43e0-47f9-9b52-d42746d9746b",alt:"Network Traffic in browser developer tools"})]}),"\n",(0,s.jsxs)(n.p,{children:['You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as ',(0,s.jsx)(n.code,{children:"curl"}),'" (depends on the browser). Here is an example of the second one:']}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \\\n -X 'POST' \\\n -H 'Accept: application/json' \\\n -H 'Accept-Language: en-US,en;q=0.9' \\\n -H 'Authorization: pass' \\\n -H 'Connection: keep-alive' \\\n -H 'Content-Length: 0' \\\n -H 'Origin: http://ascportal:2900' \\\n -H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \\\n -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \\\n --insecure\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case ",(0,s.jsx)(n.code,{children:"POST"}),"). If we inspect all of these we'll find out what each one does:"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Set the script contents","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"this updates any local changes)"}),"\n",(0,s.jsxs)(n.li,{children:["Note that this is a different request to ",(0,s.jsx)(n.code,{children:"GET"})," the script contents. This is done on the page load."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Lock the script (so other users can't edit it during execution)"}),"\n",(0,s.jsx)(n.li,{children:"Run script (this takes a JSON with options)"}),"\n",(0,s.jsx)(n.li,{children:"Open Websocket for logs"}),"\n",(0,s.jsx)(n.li,{children:"Request Result (this URL is a little different because the results are saved in redis)"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Below is a bash script which does all the above given some options. It requires ",(0,s.jsx)(n.code,{children:"curl"})," for the web requests and ",(0,s.jsx)(n.code,{children:"jq"})," for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'#!/bin/bash\nset -e\nTARGET=${1:-\'TARGET\'}\nSCRIPT=${2:-\'procedures/cmd_tlm_test.rb\'}\nSUITE=${3:-\'TestSuite\'}\nCOSMOS_HOST=\'http://localhost:2900\'\nSCRIPT_API="$COSMOS_HOST/script-api"\nSCRIPT_PATH="scripts/$TARGET/$SCRIPT"\nCURL_ARGS=(\n\t-H \'Accept: application/json\'\n\t-H \'Authorization: password\'\n\t-H \'Accept-Language: en-US,en;q=0.9\'\n\t-H \'Connection: keep-alive\'\n\t-H \'Content-Type: application/json\'\n\t--insecure\n\t--silent )\n\n# Lock script #\ncurl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}"\n\n# Run script #\nRUN_OPTS=$(cat <<-json\n{\n "environment": [],\n "suiteRunner": {\n "method": "start",\n "suite": "$SUITE",\n "options": [\n "continueAfterError"\n ]\n }\n}\njson\n)\nRUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .)\nID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}")\n\necho "Starting Script \'$SCRIPT_PATH\' at $(date) (may take up to 15 minutes)" > /dev/stderr\necho "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr\n# Loop while Script ID is still running #\nwhile true; do\n\tSCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")"\n\tif [[ -z $SCRIPT_STATUS ]]; then\n\t\tbreak;\n\tfi\n\tsleep 2\ndone\n\n# Request results #\nBUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\\\n\tjq \'[.[]|select(.name | test("\'"${SCRIPT_PATH#scripts/}"\' "))][0] | .log | @uri\' -r)"\n\nURL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)"\n\ncurl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}"\n'})})]})}function d(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>c});var t=i(6540);const s={},o=t.createContext(s);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/411898ad.6181014d.js b/docs/assets/js/411898ad.6181014d.js new file mode 100644 index 0000000000..6bcf5b58a5 --- /dev/null +++ b/docs/assets/js/411898ad.6181014d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["602"],{2079:function(e,n,i){i.r(n),i.d(n,{metadata:()=>t,contentTitle:()=>c,default:()=>d,assets:()=>l,toc:()=>a,frontMatter:()=>r});var t=JSON.parse('{"id":"development/curl","title":"Testing with Curl","description":"How to use Curl to hit the COSMOS APIs","source":"@site/docs/development/curl.md","sourceDirName":"development","slug":"/development/curl","permalink":"/docs/development/curl","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md","tags":[],"version":"current","frontMatter":{"title":"Testing with Curl","description":"How to use Curl to hit the COSMOS APIs","sidebar_custom_props":{"myEmoji":"\uD83C\uDF0A"}},"sidebar":"defaultSidebar","previous":{"title":"Development","permalink":"/docs/development"},"next":{"title":"Developing COSMOS","permalink":"/docs/development/developing"}}'),s=i("5893"),o=i("65");let r={title:"Testing with Curl",description:"How to use Curl to hit the COSMOS APIs",sidebar_custom_props:{myEmoji:"\uD83C\uDF0A"}},c=void 0,l={},a=[{value:"Curl Example with OpenC3 COSMOS Open Source",id:"curl-example-with-openc3-cosmos-open-source",level:2},{value:"Curl Example with OpenC3 COSMOS Enterprise",id:"curl-example-with-openc3-cosmos-enterprise",level:2},{value:"Suite Runner Example",id:"suite-runner-example",level:2}];function p(e){let n={admonition:"admonition",code:"code",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.admonition,{title:"This documentation is for COSMOS Developers",type:"note",children:(0,s.jsx)(n.p,{children:"This information is just generally used behind the scenes in COSMOS tools"})}),"\n",(0,s.jsx)(n.p,{children:"The COSMOS APIs are all served over HTTP, which means you can use curl to experiment with them. Curl is a great tool for seeing exactly how the API responds to any given request."}),"\n",(0,s.jsx)(n.h2,{id:"curl-example-with-openc3-cosmos-open-source",children:"Curl Example with OpenC3 COSMOS Open Source"}),"\n",(0,s.jsx)(n.p,{children:"OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this."}),"\n",(0,s.jsx)(n.p,{children:"Request:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d \'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}\' -X POST http://127.0.0.1:2900/openc3-api/api\n'})}),"\n",(0,s.jsx)(n.p,{children:"Response:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'HTTP/1.1 200 OK\nCache-Control: max-age=0, private, must-revalidate\nContent-Length: 51\nContent-Type: application/json-rpc\nEtag: W/"e806aacfdbed0b325e7a5928e3bb5cf4"\nVary: Origin\nX-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939\nX-Runtime: 0.059044\nDate: Sat, 04 Nov 2023 21:34:47 GMT\n\n{"jsonrpc":"2.0","id":8,"result":53.26555000000001}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"curl-example-with-openc3-cosmos-enterprise",children:"Curl Example with OpenC3 COSMOS Enterprise"}),"\n",(0,s.jsx)(n.p,{children:"OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request."}),"\n",(0,s.jsx)(n.p,{children:"Keycloak Request:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Get tokens from Keycloak - You will need to update the username and password with your account\ncurl -i -H \"Content-Type: application/x-www-form-urlencoded\" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token\n"})}),"\n",(0,s.jsx)(n.p,{children:"Keycloak Response:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'HTTP/1.1 200 OK\nCache-Control: no-store\nContent-Length: 3207\nContent-Type: application/json\nPragma: no-cache\nReferrer-Policy: no-referrer\nSet-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly\nSet-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly\nStrict-Transport-Security: max-age=31536000; includeSubDomains\nX-Content-Type-Options: nosniff\nX-Frame-Options: SAMEORIGIN\nX-Xss-Protection: 1; mode=block\nDate: Wed, 10 May 2023 00:40:40 GMT\n\n{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"}\n'})}),"\n",(0,s.jsx)(n.p,{children:"COSMOS Request:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'# COSMOS Request now looks like this:\n\ncurl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d \'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}\' -X POST http://127.0.0.1:2900/openc3-api/api\n'})}),"\n",(0,s.jsx)(n.p,{children:"COSMOS Response:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'HTTP/1.1 200 OK\nCache-Control: max-age=0, private, must-revalidate\nContent-Type: application/json-rpc\nEtag: W/"1e44c0878528687014e1e60a1cbebdae"\nVary: Origin\nX-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c\nX-Runtime: 0.046477\nDate: Wed, 10 May 2023 00:41:33 GMT\nTransfer-Encoding: chunked\n\n{"jsonrpc":"2.0","id":8,"result":29.204100000000007}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"suite-runner-example",children:"Suite Runner Example"}),"\n",(0,s.jsxs)(n.p,{children:["It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser:\n",(0,s.jsx)(n.img,{src:"https://github.com/OpenC3/cosmos/assets/55999897/df642d42-43e0-47f9-9b52-d42746d9746b",alt:"Network Traffic in browser developer tools"})]}),"\n",(0,s.jsxs)(n.p,{children:['You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as ',(0,s.jsx)(n.code,{children:"curl"}),'" (depends on the browser). Here is an example of the second one:']}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \\\n -X 'POST' \\\n -H 'Accept: application/json' \\\n -H 'Accept-Language: en-US,en;q=0.9' \\\n -H 'Authorization: pass' \\\n -H 'Connection: keep-alive' \\\n -H 'Content-Length: 0' \\\n -H 'Origin: http://ascportal:2900' \\\n -H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \\\n -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \\\n --insecure\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case ",(0,s.jsx)(n.code,{children:"POST"}),"). If we inspect all of these we'll find out what each one does:"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Set the script contents","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"this updates any local changes)"}),"\n",(0,s.jsxs)(n.li,{children:["Note that this is a different request to ",(0,s.jsx)(n.code,{children:"GET"})," the script contents. This is done on the page load."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Lock the script (so other users can't edit it during execution)"}),"\n",(0,s.jsx)(n.li,{children:"Run script (this takes a JSON with options)"}),"\n",(0,s.jsx)(n.li,{children:"Open Websocket for logs"}),"\n",(0,s.jsx)(n.li,{children:"Request Result (this URL is a little different because the results are saved in redis)"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Below is a bash script which does all the above given some options. It requires ",(0,s.jsx)(n.code,{children:"curl"})," for the web requests and ",(0,s.jsx)(n.code,{children:"jq"})," for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'#!/bin/bash\nset -e\nTARGET=${1:-\'TARGET\'}\nSCRIPT=${2:-\'procedures/cmd_tlm_test.rb\'}\nSUITE=${3:-\'TestSuite\'}\nCOSMOS_HOST=\'http://localhost:2900\'\nSCRIPT_API="$COSMOS_HOST/script-api"\nSCRIPT_PATH="scripts/$TARGET/$SCRIPT"\nCURL_ARGS=(\n -H \'Accept: application/json\'\n -H \'Authorization: password\'\n -H \'Accept-Language: en-US,en;q=0.9\'\n -H \'Connection: keep-alive\'\n -H \'Content-Type: application/json\'\n --insecure\n --silent )\n\n# Lock script #\ncurl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}"\n\n# Run script #\nRUN_OPTS=$(cat <<-json\n{\n "environment": [],\n "suiteRunner": {\n "method": "start",\n "suite": "$SUITE",\n "options": [\n "continueAfterError"\n ]\n }\n}\njson\n)\nRUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .)\nID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}")\n\necho "Starting Script \'$SCRIPT_PATH\' at $(date) (may take up to 15 minutes)" > /dev/stderr\necho "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr\n# Loop while Script ID is still running #\nwhile true; do\n SCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")"\n if [[ -z $SCRIPT_STATUS ]]; then\n break;\n fi\n sleep 2\ndone\n\n# Request results #\nBUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\\\n jq \'[.[]|select(.name | test("\'"${SCRIPT_PATH#scripts/}"\' "))][0] | .log | @uri\' -r)"\n\nURL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)"\n\ncurl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}"\n'})})]})}function d(e={}){let{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},65:function(e,n,i){i.d(n,{Z:function(){return c},a:function(){return r}});var t=i(7294);let s={},o=t.createContext(s);function r(e){let n=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/42170351.2811ab84.js b/docs/assets/js/42170351.f669bca7.js similarity index 88% rename from docs/assets/js/42170351.2811ab84.js rename to docs/assets/js/42170351.f669bca7.js index e7e90eac9e..ed58d96a8a 100644 --- a/docs/assets/js/42170351.2811ab84.js +++ b/docs/assets/js/42170351.f669bca7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3440],{9262:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"guides/script-writing","title":"Script Writing Guide","description":"Key concepts and best practices for script writing","source":"@site/docs/guides/script-writing.md","sourceDirName":"guides","slug":"/guides/script-writing","permalink":"/docs/guides/script-writing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/script-writing.md","tags":[],"version":"current","frontMatter":{"title":"Script Writing Guide","description":"Key concepts and best practices for script writing","sidebar_custom_props":{"myEmoji":"\ud83c\udfc3\u200d\u27a1\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Raspberry Pi","permalink":"/docs/guides/raspberrypi"},"next":{"title":"Scripting API Guide","permalink":"/docs/guides/scripting-api"}}');var s=t(4848),r=t(8453);const a={title:"Script Writing Guide",description:"Key concepts and best practices for script writing",sidebar_custom_props:{myEmoji:"\ud83c\udfc3\u200d\u27a1\ufe0f"}},o=void 0,l={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Ruby vs Python in COSMOS",id:"ruby-vs-python-in-cosmos",level:3},{value:"Scripting Philosophy",id:"scripting-philosophy",level:2},{value:"A Super Basic Script Example",id:"a-super-basic-script-example",level:3},{value:"KISS (Keep It Simple Stupid)",id:"kiss-keep-it-simple-stupid",level:3},{value:"Keep things DRY (Don't Repeat Yourself)",id:"keep-things-dry-dont-repeat-yourself",level:3},{value:"Use Comments Appropriately",id:"use-comments-appropriately",level:3},{value:"Script Runner",id:"script-runner",level:3},{value:"Looping vs Unrolled Loops",id:"looping-vs-unrolled-loops",level:3},{value:"Script Organization",id:"script-organization",level:2},{value:"Organizing Your Scripts into a Plugin",id:"organizing-your-scripts-into-a-plugin",level:3},{value:"Organize Scripts into Methods",id:"organize-scripts-into-methods",level:3},{value:"Using Classes vs Unscoped Methods",id:"using-classes-vs-unscoped-methods",level:3},{value:"Instrumented vs Uninstrumented Lines (require vs load)",id:"instrumented-vs-uninstrumented-lines-require-vs-load",level:3},{value:"Debugging and Auditing",id:"debugging-and-auditing",level:2},{value:"Built-In Debugging Capabilities",id:"built-in-debugging-capabilities",level:3},{value:"Breakpoints",id:"breakpoints",level:3},{value:"Using Disconnect Mode",id:"using-disconnect-mode",level:3},{value:"Auditing your Scripts",id:"auditing-your-scripts",level:3},{value:"Ruby Syntax Check",id:"ruby-syntax-check",level:4},{value:"Common Scenarios",id:"common-scenarios",level:2},{value:"User Input Best Practices",id:"user-input-best-practices",level:3},{value:"Conditionally Require Manual User Input Steps",id:"conditionally-require-manual-user-input-steps",level:3},{value:"Outputting Extra Information to a Report",id:"outputting-extra-information-to-a-report",level:3},{value:"Getting the Most Recent Value of a Telemetry Point from Multiple Packets",id:"getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets",level:3},{value:"Checking Every Single Sample of a Telemetry Point",id:"checking-every-single-sample-of-a-telemetry-point",level:3},{value:"Using Variables in Mnemonics",id:"using-variables-in-mnemonics",level:3},{value:"Using Custom wait_check_expression",id:"using-custom-wait_check_expression",level:3},{value:"COSMOS Scripting Differences from Regular Ruby Scripting",id:"cosmos-scripting-differences-from-regular-ruby-scripting",level:3},{value:"Do not use single line if statements",id:"do-not-use-single-line-if-statements",level:4},{value:"When Things Go Wrong",id:"when-things-go-wrong",level:2},{value:"Common Reasons Checks Fail",id:"common-reasons-checks-fail",level:3},{value:"How to Recover from Anomalies",id:"how-to-recover-from-anomalies",level:3},{value:"Advanced Topics",id:"advanced-topics",level:2},{value:"Advanced Script Configuration with CSV or Excel",id:"advanced-script-configuration-with-csv-or-excel",level:3},{value:"When to use Ruby Modules",id:"when-to-use-ruby-modules",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(n.p,{children:"This guide aims to provide the best practices for using the scripting capabilities provided by COSMOS. Scripts are used to automate a series of activities for operations or testing. The goal of this document is to ensure scripts are written that are simple, easy to understand, maintainable, and correct. Guidance on some of the key details of using the COSMOS Script Runner is also provided."}),"\n",(0,s.jsx)(n.h2,{id:"concepts",children:"Concepts"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS supports both Ruby and Python for writing scripts. Ruby and Python are very similar scripting languages and most of this guide applies directly to both. Where examples are used, both a Ruby and Python example are given."}),"\n",(0,s.jsx)(n.h3,{id:"ruby-vs-python-in-cosmos",children:"Ruby vs Python in COSMOS"}),"\n",(0,s.jsx)(n.p,{children:"There are many similarities and a few key differences between Ruby and Python when it comes to writing COSMOS scripts."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"There is no 80 character limit on line length. Lines can be as long as you like, but be careful to not make them too long as it makes printed reviews of scripts more difficult."}),"\n",(0,s.jsxs)(n.li,{children:["Indentation white space:","\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Ruby: Not significant. Ruby uses the ",(0,s.jsx)(n.code,{children:"end"})," keyword to determine indented code blocks with a standard of 2 spaces."]}),"\n",(0,s.jsx)(n.li,{children:"Python: Significant. Python uses indentation to determine code blocks with a standard of 4 spaces."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Variables do not have to be declared ahead of time and can be reassigned later, i.e. Ruby and Python are dynamically typed."}),"\n",(0,s.jsxs)(n.li,{children:["Variable interpolation:","\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Ruby: Variable values can be placed into strings using the ",(0,s.jsx)(n.code,{children:'"#{variable}"'})," syntax."]}),"\n",(0,s.jsxs)(n.li,{children:["Python: Variable values can be placed into f-strings using the ",(0,s.jsx)(n.code,{children:'f"{variable}"'})," syntax."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"A variable declared inside of a block or loop will not exist outside of that block unless it was already declared."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Both languages provides a script writer a lot of power. But with great power comes great responsibility. Remember when writing your scripts that you or someone else will come along later and need to understand them. Therefore use the following style guidelines:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Use consistent spacing for indentation and do NOT use tabs"}),"\n",(0,s.jsxs)(n.li,{children:["Constants should be all caps with underscores","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"SPEED_OF_LIGHT = 299792458 # meters per s"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Variable names and method names should be in lowercase with underscores","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:'last_name = "Smith"'})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"perform_setup_operation()"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Class names (when used) should be camel case and the files which contain them should match but be lowercase with underscores","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"class DataUploader # in 'data_uploader.rb'"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"class CcsdsUtility: # in 'ccsds_utility.py'"})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Don't add useless comments but instead describe intent"}),"\n"]}),"\n",(0,s.jsx)("div",{style:{clear:"both"}}),"\n",(0,s.jsx)(n.p,{children:"The following is an example of good Ruby style:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing\nload_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing\n\n# Declare constants\nOUR_TARGETS = ['INST','INST2']\n\n# Clear the collect counter of the passed in target name\ndef clear_collects(target)\n cmd(\"#{target} CLEAR\")\n wait_check(\"#{target} HEALTH_STATUS COLLECTS == 0\", 5)\nend\n\n######################################\n# START\n######################################\nhelper = HelperUtility.new\nhelper.setup\n\n# Perform collects on all the targets\nOUR_TARGETS.each do |target|\n collects = tlm(\"#{target} HEALTH_STATUS COLLECTS\")\n cmd(\"#{target} COLLECT with TYPE SPECIAL\")\n wait_check(\"#{target} HEALTH_STATUS COLLECTS == #{collects + 1}\", 5)\nend\n\nclear_collects('INST')\nclear_collects('INST2')\n"})}),"\n",(0,s.jsx)(n.p,{children:"The following is an example of good Python style:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"from openc3.script import *\n\nimport TARGET.lib.upload_utility # library we do NOT want to show executing\nload_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing\n\n# Declare constants\nOUR_TARGETS = ['INST','INST2']\n\n# Clear the collect counter of the passed in target name\ndef clear_collects(target):\n cmd(f\"{target} CLEAR\")\n wait_check(f\"{target} HEALTH_STATUS COLLECTS == 0\", 5)\n\n######################################\n# START\n######################################\nhelper = HelperUtility()\nhelper.setup()\n\n# Perform collects on all the targets\nfor target in OUR_TARGETS:\n collects = tlm(f\"{target} HEALTH_STATUS COLLECTS\")\n cmd(f\"{target} COLLECT with TYPE SPECIAL\")\n wait_check(f\"{target} HEALTH_STATUS COLLECTS == {collects + 1}\", 5)\n\nclear_collects('INST')\nclear_collects('INST2')\n"})}),"\n",(0,s.jsx)(n.p,{children:"Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening."}),"\n",(0,s.jsx)(n.p,{children:"Next we declare our constants and create an array of strings which we store in OUR_TARGETS. Notice the constant is all uppercase with underscores."}),"\n",(0,s.jsx)(n.p,{children:"Then we declare our local methods of which we have one called clear_collects. Please provide a comment at the beginning of each method describing what it does and the parameters that it takes."}),"\n",(0,s.jsx)(n.p,{children:"The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded."}),"\n",(0,s.jsxs)(n.p,{children:["The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket #",' notation and python f-string f"'," notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment."]}),"\n",(0,s.jsx)(n.p,{children:"Finally we call our 'clear_collects' method on each target by passing the target name."}),"\n",(0,s.jsx)(n.h2,{id:"scripting-philosophy",children:"Scripting Philosophy"}),"\n",(0,s.jsx)(n.h3,{id:"a-super-basic-script-example",children:"A Super Basic Script Example"}),"\n",(0,s.jsx)(n.p,{children:"Most COSMOS scripts can be broken down into the simple pattern of sending a command to a system/subsystem and then verifying that the command worked as expected. This pattern is most commonly implemented with cmd() followed by wait_check(), like the following:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")\nwait_check("INST HEALTH_STATUS TYPE == \'NORMAL\'", 5)\n'})}),"\n",(0,s.jsx)(n.p,{children:"or similarly with a counter that is sampled before the command."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'count = tlm("INST HEALTH_STATUS COLLECTS")\ncmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")\nwait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5)\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'count = tlm("INST HEALTH_STATUS COLLECTS")\ncmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")\nwait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5)\n'})}),"\n",(0,s.jsx)(n.p,{children:"90% of the COSMOS scripts you write should be the simple patterns shown above except that you may need to check more than one item after each command to make sure the command worked as expected."}),"\n",(0,s.jsx)(n.h3,{id:"kiss-keep-it-simple-stupid",children:"KISS (Keep It Simple Stupid)"}),"\n",(0,s.jsx)(n.p,{children:"Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions."}),"\n",(0,s.jsx)(n.h3,{id:"keep-things-dry-dont-repeat-yourself",children:"Keep things DRY (Don't Repeat Yourself)"}),"\n",(0,s.jsx)(n.p,{children:"A widespread problem in scripts written for any command and control system is large blocks of code that are repeated multiple times. In extreme cases, this has led to 100,000+ line scripts that are impossible to maintain and review."}),"\n",(0,s.jsx)(n.p,{children:"There are two common ways repetition presents itself: exact blocks of code to perform a common action such as powering on a subsystem, and blocks of code that only differ in the name of the mnemonic being checked or the values checked against. Both are solved by removing the repetition using methods (or functions)."}),"\n",(0,s.jsx)(n.p,{children:"For example, a script that powers on a subsystem and ensures correct telemetry would become:"}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"def power_on_subsystem\n # 100 lines of cmd(), wait_check(), etc\nend\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"def power_on_subsystem():\n # 100 lines of cmd(), wait_check(), etc\n"})}),"\n",(0,s.jsx)(n.p,{children:"Ideally, the above methods would be stored in another file where it could be used by other scripts. If it is truly only useful in the one script, then it could be at the top of the file. The updated script would then look like:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"power_on_subsystem()\n# 150 lines operating the subsystem (e.g.)\n# cmd(...)\n# wait_check(...)\n#...\npower_off_subystem()\n# Unrelated activities\npower_on_subsystem()\n# etc.\n"})}),"\n",(0,s.jsx)(n.p,{children:"Blocks of code where only the only variation is the mnemonics or values checked can be replaced by methods with arguments."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp)\n cmd("TARGET #{enable_cmd_name} with ENABLE TRUE")\n wait_check("TARGET #{enable_tlm} == \'TRUE\'", 5)\n wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50)\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp):\n cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE")\n wait_check(f"TARGET {enable_tlm} == \'TRUE\'", 5)\n wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50)\n'})}),"\n",(0,s.jsx)(n.h3,{id:"use-comments-appropriately",children:"Use Comments Appropriately"}),"\n",(0,s.jsx)(n.p,{children:"Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'# This line sends an abort command - BAD COMMENT, UNNECESSARY\ncmd("INST ABORT")\n# Rotate the gimbal to look at the calibration target - GOOD COMMENT\ncmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT\n'})}),"\n",(0,s.jsx)(n.h3,{id:"script-runner",children:"Script Runner"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS provides two unique ways to run scripts (also known as procedures). Script Runner provides both a script execution environment and a script editor. The script editor includes code completion for both COSMOS methods and command/telemetry item names. It is also a great environment to develop and test scripts. Script Runner provides a framework for users that are familiar with a traditional scripting model with longer style procedures, and for users that want to be able to edit their scripts in place."}),"\n",(0,s.jsx)(n.p,{children:"When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc."}),"\n",(0,s.jsx)(n.p,{children:"The correct environment for the job is up to individual users, and many programs will use both script formats to complete their goals."}),"\n",(0,s.jsx)(n.h3,{id:"looping-vs-unrolled-loops",children:"Looping vs Unrolled Loops"}),"\n",(0,s.jsx)(n.p,{children:"Loops are powerful constructs that allow you to perform the same operations multiple times without having to rewrite the same code over and over (See the DRY Concept). However, they can make restarting a COSMOS script at the point of a failure difficult or impossible. If there is a low probability of something failing, then loops are an excellent choice. If a script is running a loop over a list of telemetry points, it may be a better choice to \u201cunroll\u201d the loop by making the loop body into a method, and then calling that method directly for each iteration of a loop that would have occurred."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"10.times do |temperature_number|\n check_temperature(temperature_number + 1)\nend\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"for temperature_number in range(1, 11):\n check_temperature(temperature_number)\n"})}),"\n",(0,s.jsx)(n.p,{children:"If the above script was stopped after temperature number 3, there would be no way to restart the loop at temperature number 4. A better solution for small loop counts is to unroll the loop."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"check_temperature(1)\ncheck_temperature(2)\ncheck_temperature(3)\ncheck_temperature(4)\ncheck_temperature(5)\ncheck_temperature(6)\ncheck_temperature(7)\ncheck_temperature(8)\ncheck_temperature(9)\ncheck_temperature(10)\n"})}),"\n",(0,s.jsx)(n.p,{children:"In the unrolled version above, the COSMOS \u201cStart script at selected line\u201d feature can be used to resume the script at any point."}),"\n",(0,s.jsx)(n.h2,{id:"script-organization",children:"Script Organization"}),"\n",(0,s.jsxs)(n.p,{children:["All scripts must be part of a ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins",children:"Plugin"}),". You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing."]}),"\n",(0,s.jsx)(n.h3,{id:"organizing-your-scripts-into-a-plugin",children:"Organizing Your Scripts into a Plugin"}),"\n",(0,s.jsx)(n.p,{children:"As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Folder"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"targets/TARGET_NAME/lib"}),(0,s.jsx)(n.td,{children:"Place script files containing reusable target specific methods here"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"targets/TARGET_NAME/procedures"}),(0,s.jsx)(n.td,{children:"Place simple procedures that are centered around one specific target here"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"In your main procedure you will usually bring in the other files with instrumentation using load_utility."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"# Ruby:\nload_utility('TARGET/lib/my_other_script.rb')\n# Python:\nload_utility('TARGET/procedures/my_other_script.py')\n"})}),"\n",(0,s.jsx)(n.h3,{id:"organize-scripts-into-methods",children:"Organize Scripts into Methods"}),"\n",(0,s.jsx)(n.p,{children:"Put each activity into a distinct method. Putting your scripts into methods makes organization easy and gives a great high-level overview of what the overall script does (assuming you name the methods well). There are no bonus points for vague, short method names. Make your method names long and clear."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'def test_1_heater_zone_control\n puts "Verifies requirements 304, 306, and 310"\n # Test code here\nend\n\ndef script_1_heater_zone_control\n puts "Verifies requirements 304, 306, and 310"\n # Test code here\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'def test_1_heater_zone_control():\n print("Verifies requirements 304, 306, and 310")\n # Test code here\n\ndef script_1_heater_zone_control():\n print("Verifies requirements 304, 306, and 310")\n # Test code here\n'})}),"\n",(0,s.jsx)(n.h3,{id:"using-classes-vs-unscoped-methods",children:"Using Classes vs Unscoped Methods"}),"\n",(0,s.jsx)(n.p,{children:"Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class."}),"\n",(0,s.jsx)(n.p,{children:"NOTE: The convention in COSMOS is to have a TARGET/lib/target.[rb/py] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'class Gimbal\n attr_accessor :gimbal_steps\n def initialize()\n @gimbal_steps = 0\n end\n def move(steps_to_move)\n # Move the gimbal\n @gimbal_steps += steps_to_move\n end\n def home_gimbal\n # Home the gimbal\n @gimbal_steps = 0\n end\nend\n\ndef perform_common_math(x, y)\n x + y\nend\n\ngimbal = Gimbal.new\ngimbal.home_gimbal\ngimbal.move(100)\ngimbal.move(200)\nputs "Moved gimbal #{gimbal.gimbal_steps}"\nresult = perform_common_math(gimbal.gimbal_steps, 10)\nputs "Math:#{result}"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'class Gimbal:\n def __init__(self):\n self.gimbal_steps = 0\n\n def move(self, steps_to_move):\n # Move the gimbal\n self.gimbal_steps += steps_to_move\n\n def home_gimbal(self):\n # Home the gimbal\n self.gimbal_steps = 0\n\ndef perform_common_math(x, y):\n return x + y\n\ngimbal = Gimbal()\ngimbal.home_gimbal()\ngimbal.move(100)\ngimbal.move(200)\nprint(f"Moved gimbal {gimbal.gimbal_steps}")\nresult = perform_common_math(gimbal.gimbal_steps, 10)\nprint(f"Math:{result}")\n'})}),"\n",(0,s.jsx)(n.h3,{id:"instrumented-vs-uninstrumented-lines-require-vs-load",children:"Instrumented vs Uninstrumented Lines (require vs load)"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS scripts are normally \u201cinstrumented\u201d. This means that each line has some extra code added behind the scenes that primarily highlights the current executing line and catches exceptions if things fail such as a wait_check. If your script needs to use code in other files, there are a few ways to bring in that code. Some techniques bring in instrumented code and others bring in uninstrumented code. There are reasons to use both."}),"\n",(0,s.jsx)(n.p,{children:"load_utility (and the deprecated require_utility), bring in instrumented code from other files. When COSMOS runs the code in the other file, Script Runner will dive into the other file and show each line highlighted as it executes. This should be the default way to bring in other files, as it allows continuing if something fails, and provides better visibility to operators."}),"\n",(0,s.jsx)(n.p,{children:"However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the \u201cload\u201d keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. \u201crequire\u201d is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not."}),"\n",(0,s.jsx)(n.p,{children:"In Python, libraries are included using the import syntax. Any code imported using import is not instrumented. Only the code imported using load_utility is instrumented."}),"\n",(0,s.jsx)(n.p,{children:"Finally, COSMOS scripting has a special syntax for disabling instrumentation in the middle of an instrumented script, with the disable_instrumentation method. This allows you to disable instrumentation for large loops and other activities that are too slow when running instrumented."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"temp = 0\ndisable_instrumentation do\n # Make sure nothing in here will raise exceptions!\n 5000000.times do\n temp += 1\n end\nend\nputs temp\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"temp = 0\nwith disable_instrumentation():\n # Make sure nothing in here will raise exceptions!\n for x in range(0,5000000):\n temp += 1\nprint(temp)\n"})}),"\n",(0,s.jsx)(n.admonition,{title:"When Running Uninstrumented Code",type:"warning",children:(0,s.jsx)(n.p,{children:"Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop."})}),"\n",(0,s.jsx)(n.h2,{id:"debugging-and-auditing",children:"Debugging and Auditing"}),"\n",(0,s.jsx)(n.h3,{id:"built-in-debugging-capabilities",children:"Built-In Debugging Capabilities"}),"\n",(0,s.jsx)(n.p,{children:"Script Runner has built in debugging capabilities that can be useful in determining why your script is behaving in a certain way. Of primary importance is the ability to inspect and set script variables."}),"\n",(0,s.jsx)(n.p,{children:"To use the debugging functionality, first select the \u201cToggle Debug\u201d option from the Script Menu. This will add a small Debug: prompt to the bottom of the tool. Any code entered in this prompt will be executed when Enter is pressed. To inspect variables in a running script, pause the script and then type the variable name to print out the value of the variable in the debug prompt."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"variable_name\n"})}),"\n",(0,s.jsx)(n.p,{children:"Variables can also be set simply by using equals."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"variable_name = 5\n"})}),"\n",(0,s.jsx)(n.p,{children:"If necessary, you can also inject commands from the debug prompt using the normal commanding methods. These commands will be logged to the Script Runner message log, which may be advantageous over using a different COSMOS tool like CmdSender (where the command would only be logged in the CmdTlmServer message log)."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'cmd("INST COLLECT with TYPE NORMAL")\n'})}),"\n",(0,s.jsx)(n.p,{children:"Note that the debug prompt keeps the command history and you can scroll through the history by using the up and down arrows."}),"\n",(0,s.jsx)(n.h3,{id:"breakpoints",children:"Breakpoints"}),"\n",(0,s.jsx)(n.p,{children:"You can click the line number (left side gutter) in Script Runner to add a breakpoint. The script will automatically pause when it hits the breakpoint. Once stopped at the breakpoint, you can evaluate variables using the Debug line."}),"\n",(0,s.jsx)(n.h3,{id:"using-disconnect-mode",children:"Using Disconnect Mode"}),"\n",(0,s.jsx)(n.p,{children:"Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments."}),"\n",(0,s.jsx)(n.p,{children:"While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware."}),"\n",(0,s.jsx)(n.h3,{id:"auditing-your-scripts",children:"Auditing your Scripts"}),"\n",(0,s.jsx)(n.p,{children:"Script Runner includes several tools to help audit your scripts both before and after execution."}),"\n",(0,s.jsx)(n.h4,{id:"ruby-syntax-check",children:"Ruby Syntax Check"}),"\n",(0,s.jsx)(n.p,{children:"The Ruby Syntax Check tool is found under the Script Menu. This tool uses the ruby executable with the -c flag to run a syntax check on your script. If any syntax errors are found the exact message presented by the Ruby interpreter is shown to the user. These can be cryptic, but the most common faults are not closing a quoted string, forgetting an \u201cend\u201d keyword, or using a block but forgetting the proceeding \u201cdo\u201d keyword."}),"\n",(0,s.jsx)(n.h2,{id:"common-scenarios",children:"Common Scenarios"}),"\n",(0,s.jsx)(n.h3,{id:"user-input-best-practices",children:"User Input Best Practices"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS provides several different methods to gather manual user input in scripts. When using user input methods that allow for arbitrary values (like ask() and ask_string()), it is very important to validate the value given in your script before moving on. When asking for text input, it is extra important to handle different casing possibilities and to ensure that invalid input will either re-prompt the user or take a safe path."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'answer = ask_string("Do you want to continue (y/n)?")\nif answer != \'y\' and answer != \'Y\'\n raise "User entered: #{answer}"\nend\n\ntemp = 0.0\nwhile temp < 10.0 or temp > 50.0\n temp = ask("Enter the desired temperature between 10.0 and 50.0")\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'answer = ask_string("Do you want to continue (y/n)?")\nif answer != \'y\' and answer != \'Y\':\n raise RuntimeError(f"User entered: {answer}")\n\ntemp = 0.0\nwhile temp < 10.0 or temp > 50.0:\n temp = ask("Enter the desired temperature between 10.0 and 50.0")\n'})}),"\n",(0,s.jsx)(n.p,{children:"When possible, always use one of the other user input methods that has a constrained list of choices for your users (message_box, vertical_message_box, combo_box)."}),"\n",(0,s.jsx)(n.p,{children:"Note that all these user input methods provide the user the option to \u201cCancel\u201d. When cancel is clicked, the script is paused but remains at the user input line. When hitting \u201cGo\u201d to the continue, the user will be re-prompted to enter the value."}),"\n",(0,s.jsx)(n.h3,{id:"conditionally-require-manual-user-input-steps",children:"Conditionally Require Manual User Input Steps"}),"\n",(0,s.jsx)(n.p,{children:"When possible, a useful design pattern is to write your scripts such that they can run without prompting for any user input. This allows the scripts to be more easily tested and provides a documented default value for any user input choices or values. To implement this pattern, all manual steps such as ask(), prompt(), and infinite wait() statements need to be wrapped with an if statement that checks the value of $manual in Ruby or RunningScript.manual in Python. If the variable is set, then the manual steps should be executed. If not, then a default value should be used."}),"\n",(0,s.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'if $manual\n temp = ask("Please enter the temperature")\nelse\n temp = 20.0\nend\nif !$manual\n puts "Skipping infinite wait in auto mode"\nelse\n wait\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'if RunningScript.manual:\n temp = ask("Please enter the temperature")\nelse:\n temp = 20.0\nif not RunningScript.manual:\n print("Skipping infinite wait in auto mode")\nelse:\n wait()\n'})}),"\n",(0,s.jsx)(n.p,{children:"When running suites, there is a checkbox at the top of the tool called \u201cManual\u201d that affects this $manual variable directly."}),"\n",(0,s.jsx)(n.h3,{id:"outputting-extra-information-to-a-report",children:"Outputting Extra Information to a Report"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'class MyGroup < OpenC3::Group\n def script_1\n # The following text will be placed in the report\n OpenC3::Group.puts "Verifies requirements 304, 306, 310"\n # This puts line will show up in the sr_messages log file\n puts "script_1 complete"\n end\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from openc3.script.suite import Group\nclass MyGroup(Group):\n def script_1():\n # The following text will be placed in the report\n Group.print("Verifies requirements 304, 306, 310")\n # This puts line will show up in the sr_messages log file\n print("script_1 complete")\n'})}),"\n",(0,s.jsx)(n.h3,{id:"getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets",children:"Getting the Most Recent Value of a Telemetry Point from Multiple Packets"}),"\n",(0,s.jsx)(n.p,{children:"Some systems include high rate data points with the same name in every packet. COSMOS supports getting the most recent value of a telemetry point that is in multiple packets using a special packet name of LATEST. Assume the target INST has two packets, PACKET1 and PACKET2. Both packets have a telemetry point called TEMP."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'# Get the value of TEMP from the most recently received PACKET1\nvalue = tlm("INST PACKET1 TEMP")\n# Get the value of TEMP from the most recently received PACKET2\nvalue = tlm("INST PACKET2 TEMP")\n# Get the value of TEMP from the most recently received PACKET1 or PACKET2\nvalue = tlm("INST LATEST TEMP")\n'})}),"\n",(0,s.jsx)(n.h3,{id:"checking-every-single-sample-of-a-telemetry-point",children:"Checking Every Single Sample of a Telemetry Point"}),"\n",(0,s.jsx)(n.p,{children:"When writing COSMOS scripts, checking the most recent value of a telemetry point normally gets the job done. The tlm(), tlm_raw(), etc methods all retrieve the most recent value of a telemetry point. Sometimes you need to perform analysis on every single sample of a telemetry point. This can be done using the COSMOS packet subscription system. The packet subscription system lets you choose one or more packets and receive them all from a queue. You can then pick out the specific telemetry points you care about from each packet."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait 1.5\nid, packets = get_packets(id)\npackets.each do |packet|\n puts \"#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}\"\nend\n# Wait for some time later and reuse the last returned ID\nid, packets = get_packets(id)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait(1.5)\nid, packets = get_packets(id)\nfor packet in packets:\n print(f\"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}\")\n# Wait for some time later and reuse the last returned ID\nid, packets = get_packets(id)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"using-variables-in-mnemonics",children:"Using Variables in Mnemonics"}),"\n",(0,s.jsx)(n.p,{children:"Because command and telemetry mnemonics are just strings in COSMOS scripts, you can make use of variables in some contexts to make reusable code. For example, a method can take a target name as an input to support multiple instances of a target. You could also pass in the value for a set of numbered telemetry points."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'def example(target_name, temp_number)\n cmd("#{target_name} COLLECT with TYPE NORMAL")\n wait_check("#{target_name} TEMP#{temp_number} > 50.0")\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'def example(target_name, temp_number):\n cmd(f"{target_name} COLLECT with TYPE NORMAL")\n wait_check(f"{target_name} TEMP{temp_number} > 50.0")\n'})}),"\n",(0,s.jsxs)(n.p,{children:["This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the ",(0,s.jsx)(n.a,{href:"#looping-vs-unrolled-loops",children:"Looping vs Unrolled Loops"})," section."]}),"\n",(0,s.jsx)(n.h3,{id:"using-custom-wait_check_expression",children:"Using Custom wait_check_expression"}),"\n",(0,s.jsx)(n.p,{children:"The COSMOS wait_check_expression (and check_expression) allow you to perform more complicated checks and still stop the script with a CHECK error message if something goes wrong. For example, you can check variables against each other or check a telemetry point against a range. The exact string of text passed to wait_check_expression is repeatedly evaluated until it passes, or a timeout occurs. It is important to not use string interpolation within the actual expression or the values inside of the string interpolation syntax will only be evaluated once when it is converted into a string."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'one = 1\ntwo = 2\n\nwait_check_expression("one == two", 1)\n# ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds\n\n# Checking an integer range\nwait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1)\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'one = 1\ntwo = 2\n\nwait_check_expression("one == two", 1, 0.25, locals())\n# ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds\n\n# Checking an integer range\nwait_check_expression("one > 0 and one < 10", 1, 0.25, locals())\n'})}),"\n",(0,s.jsx)(n.h3,{id:"cosmos-scripting-differences-from-regular-ruby-scripting",children:"COSMOS Scripting Differences from Regular Ruby Scripting"}),"\n",(0,s.jsx)(n.h4,{id:"do-not-use-single-line-if-statements",children:"Do not use single line if statements"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts)."}),"\n",(0,s.jsx)(n.p,{children:"Don't do this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0\n'})}),"\n",(0,s.jsx)(n.p,{children:"Do this instead:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'# It is best not to execute any code that could fail in an if statement, ie\n# tlm() could fail if the CmdTlmServer was not running or a mnemonic\n# was misspelled\ntemp1 = tlm("INST HEALTH_STATUS TEMP1")\nif temp1 > 10.0\n run_method()\nend\n'})}),"\n",(0,s.jsx)(n.h2,{id:"when-things-go-wrong",children:"When Things Go Wrong"}),"\n",(0,s.jsx)(n.h3,{id:"common-reasons-checks-fail",children:"Common Reasons Checks Fail"}),"\n",(0,s.jsx)(n.p,{children:"There are three common reasons that checks fail in COSMOS scripts:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"The delay given was too short"}),"\n",(0,s.jsx)(n.p,{children:"The wait_check() method takes a timeout that indicates how long to wait for the referenced telemetry point to pass the check. The timeout needs to be large enough for the system under test to finish its action and for updated telemetry to be received. Note that the script will continue as soon as the check completes successfully. Thus, the only penalty for a longer timeout is the additional wait time in a failure condition."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"The range or value checked against was incorrect or too stringent"}),"\n",(0,s.jsx)(n.p,{children:"Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"The check really failed"}),"\n",(0,s.jsx)(n.p,{children:"Of course, sometimes there are real failures. See the next section for how to handle them and recover."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"how-to-recover-from-anomalies",children:"How to Recover from Anomalies"}),"\n",(0,s.jsx)(n.p,{children:"Once something has failed, and your script has stopped with a pink highlighted line, how can you recover? Fortunately, COSMOS provides several mechanisms that can be used to recover after something in your script fails."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Retry"}),"\n",(0,s.jsx)(n.p,{children:"After a failure, the Script Runner \u201cPause\u201d button changes to \u201cRetry\u201d. Clicking on the Retry button will re-execute the line the failed. For failures due to timing issues, this will often resolve the issue and allow the script to continue. Make note of the failure and be sure to update your script prior to the next run."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Use the Debug Prompt"}),"\n",(0,s.jsx)(n.p,{children:"By selecting Script -> Toggle Debug, you can perform arbitrary actions that may be needed to correct the situation without stopping the running script. You can also inspect variables to help determine why something failed."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Execute Selection"}),"\n",(0,s.jsx)(n.p,{children:'If only a small section of a script needs to be run, then \u201cExecute Selection" can be used to execute only a small portion of the script. This can also be used when a script is paused or stopped in error.'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Run from here"}),"\n",(0,s.jsx)(n.p,{children:'By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script.'}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"advanced-topics",children:"Advanced Topics"}),"\n",(0,s.jsx)(n.h3,{id:"advanced-script-configuration-with-csv-or-excel",children:"Advanced Script Configuration with CSV or Excel"}),"\n",(0,s.jsx)(n.p,{children:"Using a spreadsheet to store the values for use by a script can be a great option if you have a CM-controlled script but need to be able to tweak some values for a test or if you need to use different values for different serial numbers."}),"\n",(0,s.jsx)(n.p,{children:"The Ruby CSV class be used to easily read data from CSV files (recommended for cross platform projects)."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"require 'csv'\nvalues = CSV.read('test.csv')\nputs values[0][0]\n"})}),"\n",(0,s.jsx)(n.p,{children:"If you are only using Windows, COSMOS also contains a library for reading Excel files."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"require 'openc3/win32/excel'\nss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx')\nputs ss[0][0][0]\n"})}),"\n",(0,s.jsx)(n.h3,{id:"when-to-use-ruby-modules",children:"When to use Ruby Modules"}),"\n",(0,s.jsx)(n.p,{children:"Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though."}),"\n",(0,s.jsx)(n.p,{children:"Mixins allow adding common methods to classes without using inheritance. Mixins can be useful to add common functionality to some classes but not others, or to break up classes into multiple files."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"module MyModule\n def module_method\n end\nend\nclass MyTest < OpenC3::Group\n include MyModule\n def test_1\n module_method()\n end\nend\n"})})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(6540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8847"],{8593:function(e,n,t){t.r(n),t.d(n,{metadata:()=>i,contentTitle:()=>o,default:()=>h,assets:()=>l,toc:()=>c,frontMatter:()=>a});var i=JSON.parse('{"id":"guides/script-writing","title":"Script Writing Guide","description":"Key concepts and best practices for script writing","source":"@site/docs/guides/script-writing.md","sourceDirName":"guides","slug":"/guides/script-writing","permalink":"/docs/guides/script-writing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/script-writing.md","tags":[],"version":"current","frontMatter":{"title":"Script Writing Guide","description":"Key concepts and best practices for script writing","sidebar_custom_props":{"myEmoji":"\uD83C\uDFC3\u200D\u27A1\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Raspberry Pi","permalink":"/docs/guides/raspberrypi"},"next":{"title":"Scripting API Guide","permalink":"/docs/guides/scripting-api"}}'),s=t("5893"),r=t("65");let a={title:"Script Writing Guide",description:"Key concepts and best practices for script writing",sidebar_custom_props:{myEmoji:"\uD83C\uDFC3\u200D\u27A1\uFE0F"}},o=void 0,l={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Ruby vs Python in COSMOS",id:"ruby-vs-python-in-cosmos",level:3},{value:"Scripting Philosophy",id:"scripting-philosophy",level:2},{value:"A Super Basic Script Example",id:"a-super-basic-script-example",level:3},{value:"KISS (Keep It Simple Stupid)",id:"kiss-keep-it-simple-stupid",level:3},{value:"Keep things DRY (Don't Repeat Yourself)",id:"keep-things-dry-dont-repeat-yourself",level:3},{value:"Use Comments Appropriately",id:"use-comments-appropriately",level:3},{value:"Script Runner",id:"script-runner",level:3},{value:"Looping vs Unrolled Loops",id:"looping-vs-unrolled-loops",level:3},{value:"Script Organization",id:"script-organization",level:2},{value:"Organizing Your Scripts into a Plugin",id:"organizing-your-scripts-into-a-plugin",level:3},{value:"Organize Scripts into Methods",id:"organize-scripts-into-methods",level:3},{value:"Using Classes vs Unscoped Methods",id:"using-classes-vs-unscoped-methods",level:3},{value:"Instrumented vs Uninstrumented Lines (require vs load)",id:"instrumented-vs-uninstrumented-lines-require-vs-load",level:3},{value:"Debugging and Auditing",id:"debugging-and-auditing",level:2},{value:"Built-In Debugging Capabilities",id:"built-in-debugging-capabilities",level:3},{value:"Breakpoints",id:"breakpoints",level:3},{value:"Using Disconnect Mode",id:"using-disconnect-mode",level:3},{value:"Auditing your Scripts",id:"auditing-your-scripts",level:3},{value:"Ruby Syntax Check",id:"ruby-syntax-check",level:4},{value:"Common Scenarios",id:"common-scenarios",level:2},{value:"User Input Best Practices",id:"user-input-best-practices",level:3},{value:"Conditionally Require Manual User Input Steps",id:"conditionally-require-manual-user-input-steps",level:3},{value:"Outputting Extra Information to a Report",id:"outputting-extra-information-to-a-report",level:3},{value:"Getting the Most Recent Value of a Telemetry Point from Multiple Packets",id:"getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets",level:3},{value:"Checking Every Single Sample of a Telemetry Point",id:"checking-every-single-sample-of-a-telemetry-point",level:3},{value:"Using Variables in Mnemonics",id:"using-variables-in-mnemonics",level:3},{value:"Using Custom wait_check_expression",id:"using-custom-wait_check_expression",level:3},{value:"COSMOS Scripting Differences from Regular Ruby Scripting",id:"cosmos-scripting-differences-from-regular-ruby-scripting",level:3},{value:"Do not use single line if statements",id:"do-not-use-single-line-if-statements",level:4},{value:"When Things Go Wrong",id:"when-things-go-wrong",level:2},{value:"Common Reasons Checks Fail",id:"common-reasons-checks-fail",level:3},{value:"How to Recover from Anomalies",id:"how-to-recover-from-anomalies",level:3},{value:"Advanced Topics",id:"advanced-topics",level:2},{value:"Advanced Script Configuration with CSV or Excel",id:"advanced-script-configuration-with-csv-or-excel",level:3},{value:"When to use Ruby Modules",id:"when-to-use-ruby-modules",level:3}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(n.p,{children:"This guide aims to provide the best practices for using the scripting capabilities provided by COSMOS. Scripts are used to automate a series of activities for operations or testing. The goal of this document is to ensure scripts are written that are simple, easy to understand, maintainable, and correct. Guidance on some of the key details of using the COSMOS Script Runner is also provided."}),"\n",(0,s.jsx)(n.h2,{id:"concepts",children:"Concepts"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS supports both Ruby and Python for writing scripts. Ruby and Python are very similar scripting languages and most of this guide applies directly to both. Where examples are used, both a Ruby and Python example are given."}),"\n",(0,s.jsx)(n.h3,{id:"ruby-vs-python-in-cosmos",children:"Ruby vs Python in COSMOS"}),"\n",(0,s.jsx)(n.p,{children:"There are many similarities and a few key differences between Ruby and Python when it comes to writing COSMOS scripts."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"There is no 80 character limit on line length. Lines can be as long as you like, but be careful to not make them too long as it makes printed reviews of scripts more difficult."}),"\n",(0,s.jsxs)(n.li,{children:["Indentation white space:","\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Ruby: Not significant. Ruby uses the ",(0,s.jsx)(n.code,{children:"end"})," keyword to determine indented code blocks with a standard of 2 spaces."]}),"\n",(0,s.jsx)(n.li,{children:"Python: Significant. Python uses indentation to determine code blocks with a standard of 4 spaces."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Variables do not have to be declared ahead of time and can be reassigned later, i.e. Ruby and Python are dynamically typed."}),"\n",(0,s.jsxs)(n.li,{children:["Variable interpolation:","\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Ruby: Variable values can be placed into strings using the ",(0,s.jsx)(n.code,{children:'"#{variable}"'})," syntax."]}),"\n",(0,s.jsxs)(n.li,{children:["Python: Variable values can be placed into f-strings using the ",(0,s.jsx)(n.code,{children:'f"{variable}"'})," syntax."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"A variable declared inside of a block or loop will not exist outside of that block unless it was already declared."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Both languages provides a script writer a lot of power. But with great power comes great responsibility. Remember when writing your scripts that you or someone else will come along later and need to understand them. Therefore use the following style guidelines:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Use consistent spacing for indentation and do NOT use tabs"}),"\n",(0,s.jsxs)(n.li,{children:["Constants should be all caps with underscores","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"SPEED_OF_LIGHT = 299792458 # meters per s"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Variable names and method names should be in lowercase with underscores","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:'last_name = "Smith"'})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"perform_setup_operation()"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Class names (when used) should be camel case and the files which contain them should match but be lowercase with underscores","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"class DataUploader # in 'data_uploader.rb'"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.code,{children:"class CcsdsUtility: # in 'ccsds_utility.py'"})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Don't add useless comments but instead describe intent"}),"\n"]}),"\n",(0,s.jsx)("div",{style:{clear:"both"}}),"\n",(0,s.jsx)(n.p,{children:"The following is an example of good Ruby style:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing\nload_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing\n\n# Declare constants\nOUR_TARGETS = ['INST','INST2']\n\n# Clear the collect counter of the passed in target name\ndef clear_collects(target)\n cmd(\"#{target} CLEAR\")\n wait_check(\"#{target} HEALTH_STATUS COLLECTS == 0\", 5)\nend\n\n######################################\n# START\n######################################\nhelper = HelperUtility.new\nhelper.setup\n\n# Perform collects on all the targets\nOUR_TARGETS.each do |target|\n collects = tlm(\"#{target} HEALTH_STATUS COLLECTS\")\n cmd(\"#{target} COLLECT with TYPE SPECIAL\")\n wait_check(\"#{target} HEALTH_STATUS COLLECTS == #{collects + 1}\", 5)\nend\n\nclear_collects('INST')\nclear_collects('INST2')\n"})}),"\n",(0,s.jsx)(n.p,{children:"The following is an example of good Python style:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"from openc3.script import *\n\nimport TARGET.lib.upload_utility # library we do NOT want to show executing\nload_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing\n\n# Declare constants\nOUR_TARGETS = ['INST','INST2']\n\n# Clear the collect counter of the passed in target name\ndef clear_collects(target):\n cmd(f\"{target} CLEAR\")\n wait_check(f\"{target} HEALTH_STATUS COLLECTS == 0\", 5)\n\n######################################\n# START\n######################################\nhelper = HelperUtility()\nhelper.setup()\n\n# Perform collects on all the targets\nfor target in OUR_TARGETS:\n collects = tlm(f\"{target} HEALTH_STATUS COLLECTS\")\n cmd(f\"{target} COLLECT with TYPE SPECIAL\")\n wait_check(f\"{target} HEALTH_STATUS COLLECTS == {collects + 1}\", 5)\n\nclear_collects('INST')\nclear_collects('INST2')\n"})}),"\n",(0,s.jsx)(n.p,{children:"Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening."}),"\n",(0,s.jsx)(n.p,{children:"Next we declare our constants and create an array of strings which we store in OUR_TARGETS. Notice the constant is all uppercase with underscores."}),"\n",(0,s.jsx)(n.p,{children:"Then we declare our local methods of which we have one called clear_collects. Please provide a comment at the beginning of each method describing what it does and the parameters that it takes."}),"\n",(0,s.jsx)(n.p,{children:"The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded."}),"\n",(0,s.jsxs)(n.p,{children:["The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket #",' notation and python f-string f"'," notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment."]}),"\n",(0,s.jsx)(n.p,{children:"Finally we call our 'clear_collects' method on each target by passing the target name."}),"\n",(0,s.jsx)(n.h2,{id:"scripting-philosophy",children:"Scripting Philosophy"}),"\n",(0,s.jsx)(n.h3,{id:"a-super-basic-script-example",children:"A Super Basic Script Example"}),"\n",(0,s.jsx)(n.p,{children:"Most COSMOS scripts can be broken down into the simple pattern of sending a command to a system/subsystem and then verifying that the command worked as expected. This pattern is most commonly implemented with cmd() followed by wait_check(), like the following:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")\nwait_check("INST HEALTH_STATUS TYPE == \'NORMAL\'", 5)\n'})}),"\n",(0,s.jsx)(n.p,{children:"or similarly with a counter that is sampled before the command."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'count = tlm("INST HEALTH_STATUS COLLECTS")\ncmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")\nwait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5)\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'count = tlm("INST HEALTH_STATUS COLLECTS")\ncmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")\nwait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5)\n'})}),"\n",(0,s.jsx)(n.p,{children:"90% of the COSMOS scripts you write should be the simple patterns shown above except that you may need to check more than one item after each command to make sure the command worked as expected."}),"\n",(0,s.jsx)(n.h3,{id:"kiss-keep-it-simple-stupid",children:"KISS (Keep It Simple Stupid)"}),"\n",(0,s.jsx)(n.p,{children:"Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions."}),"\n",(0,s.jsx)(n.h3,{id:"keep-things-dry-dont-repeat-yourself",children:"Keep things DRY (Don't Repeat Yourself)"}),"\n",(0,s.jsx)(n.p,{children:"A widespread problem in scripts written for any command and control system is large blocks of code that are repeated multiple times. In extreme cases, this has led to 100,000+ line scripts that are impossible to maintain and review."}),"\n",(0,s.jsx)(n.p,{children:"There are two common ways repetition presents itself: exact blocks of code to perform a common action such as powering on a subsystem, and blocks of code that only differ in the name of the mnemonic being checked or the values checked against. Both are solved by removing the repetition using methods (or functions)."}),"\n",(0,s.jsx)(n.p,{children:"For example, a script that powers on a subsystem and ensures correct telemetry would become:"}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"def power_on_subsystem\n # 100 lines of cmd(), wait_check(), etc\nend\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"def power_on_subsystem():\n # 100 lines of cmd(), wait_check(), etc\n"})}),"\n",(0,s.jsx)(n.p,{children:"Ideally, the above methods would be stored in another file where it could be used by other scripts. If it is truly only useful in the one script, then it could be at the top of the file. The updated script would then look like:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"power_on_subsystem()\n# 150 lines operating the subsystem (e.g.)\n# cmd(...)\n# wait_check(...)\n#...\npower_off_subystem()\n# Unrelated activities\npower_on_subsystem()\n# etc.\n"})}),"\n",(0,s.jsx)(n.p,{children:"Blocks of code where only the only variation is the mnemonics or values checked can be replaced by methods with arguments."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp)\n cmd("TARGET #{enable_cmd_name} with ENABLE TRUE")\n wait_check("TARGET #{enable_tlm} == \'TRUE\'", 5)\n wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50)\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp):\n cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE")\n wait_check(f"TARGET {enable_tlm} == \'TRUE\'", 5)\n wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50)\n'})}),"\n",(0,s.jsx)(n.h3,{id:"use-comments-appropriately",children:"Use Comments Appropriately"}),"\n",(0,s.jsx)(n.p,{children:"Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'# This line sends an abort command - BAD COMMENT, UNNECESSARY\ncmd("INST ABORT")\n# Rotate the gimbal to look at the calibration target - GOOD COMMENT\ncmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT\n'})}),"\n",(0,s.jsx)(n.h3,{id:"script-runner",children:"Script Runner"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS provides two unique ways to run scripts (also known as procedures). Script Runner provides both a script execution environment and a script editor. The script editor includes code completion for both COSMOS methods and command/telemetry item names. It is also a great environment to develop and test scripts. Script Runner provides a framework for users that are familiar with a traditional scripting model with longer style procedures, and for users that want to be able to edit their scripts in place."}),"\n",(0,s.jsx)(n.p,{children:"When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc."}),"\n",(0,s.jsx)(n.p,{children:"The correct environment for the job is up to individual users, and many programs will use both script formats to complete their goals."}),"\n",(0,s.jsx)(n.h3,{id:"looping-vs-unrolled-loops",children:"Looping vs Unrolled Loops"}),"\n",(0,s.jsx)(n.p,{children:"Loops are powerful constructs that allow you to perform the same operations multiple times without having to rewrite the same code over and over (See the DRY Concept). However, they can make restarting a COSMOS script at the point of a failure difficult or impossible. If there is a low probability of something failing, then loops are an excellent choice. If a script is running a loop over a list of telemetry points, it may be a better choice to \u201Cunroll\u201D the loop by making the loop body into a method, and then calling that method directly for each iteration of a loop that would have occurred."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"10.times do |temperature_number|\n check_temperature(temperature_number + 1)\nend\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"for temperature_number in range(1, 11):\n check_temperature(temperature_number)\n"})}),"\n",(0,s.jsx)(n.p,{children:"If the above script was stopped after temperature number 3, there would be no way to restart the loop at temperature number 4. A better solution for small loop counts is to unroll the loop."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"check_temperature(1)\ncheck_temperature(2)\ncheck_temperature(3)\ncheck_temperature(4)\ncheck_temperature(5)\ncheck_temperature(6)\ncheck_temperature(7)\ncheck_temperature(8)\ncheck_temperature(9)\ncheck_temperature(10)\n"})}),"\n",(0,s.jsx)(n.p,{children:"In the unrolled version above, the COSMOS \u201CStart script at selected line\u201D feature can be used to resume the script at any point."}),"\n",(0,s.jsx)(n.h2,{id:"script-organization",children:"Script Organization"}),"\n",(0,s.jsxs)(n.p,{children:["All scripts must be part of a ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins",children:"Plugin"}),". You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing."]}),"\n",(0,s.jsx)(n.h3,{id:"organizing-your-scripts-into-a-plugin",children:"Organizing Your Scripts into a Plugin"}),"\n",(0,s.jsx)(n.p,{children:"As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Folder"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"targets/TARGET_NAME/lib"}),(0,s.jsx)(n.td,{children:"Place script files containing reusable target specific methods here"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"targets/TARGET_NAME/procedures"}),(0,s.jsx)(n.td,{children:"Place simple procedures that are centered around one specific target here"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"In your main procedure you will usually bring in the other files with instrumentation using load_utility."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"# Ruby:\nload_utility('TARGET/lib/my_other_script.rb')\n# Python:\nload_utility('TARGET/procedures/my_other_script.py')\n"})}),"\n",(0,s.jsx)(n.h3,{id:"organize-scripts-into-methods",children:"Organize Scripts into Methods"}),"\n",(0,s.jsx)(n.p,{children:"Put each activity into a distinct method. Putting your scripts into methods makes organization easy and gives a great high-level overview of what the overall script does (assuming you name the methods well). There are no bonus points for vague, short method names. Make your method names long and clear."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'def test_1_heater_zone_control\n puts "Verifies requirements 304, 306, and 310"\n # Test code here\nend\n\ndef script_1_heater_zone_control\n puts "Verifies requirements 304, 306, and 310"\n # Test code here\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'def test_1_heater_zone_control():\n print("Verifies requirements 304, 306, and 310")\n # Test code here\n\ndef script_1_heater_zone_control():\n print("Verifies requirements 304, 306, and 310")\n # Test code here\n'})}),"\n",(0,s.jsx)(n.h3,{id:"using-classes-vs-unscoped-methods",children:"Using Classes vs Unscoped Methods"}),"\n",(0,s.jsx)(n.p,{children:"Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class."}),"\n",(0,s.jsx)(n.p,{children:"NOTE: The convention in COSMOS is to have a TARGET/lib/target.[rb/py] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'class Gimbal\n attr_accessor :gimbal_steps\n def initialize()\n @gimbal_steps = 0\n end\n def move(steps_to_move)\n # Move the gimbal\n @gimbal_steps += steps_to_move\n end\n def home_gimbal\n # Home the gimbal\n @gimbal_steps = 0\n end\nend\n\ndef perform_common_math(x, y)\n x + y\nend\n\ngimbal = Gimbal.new\ngimbal.home_gimbal\ngimbal.move(100)\ngimbal.move(200)\nputs "Moved gimbal #{gimbal.gimbal_steps}"\nresult = perform_common_math(gimbal.gimbal_steps, 10)\nputs "Math:#{result}"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'class Gimbal:\n def __init__(self):\n self.gimbal_steps = 0\n\n def move(self, steps_to_move):\n # Move the gimbal\n self.gimbal_steps += steps_to_move\n\n def home_gimbal(self):\n # Home the gimbal\n self.gimbal_steps = 0\n\ndef perform_common_math(x, y):\n return x + y\n\ngimbal = Gimbal()\ngimbal.home_gimbal()\ngimbal.move(100)\ngimbal.move(200)\nprint(f"Moved gimbal {gimbal.gimbal_steps}")\nresult = perform_common_math(gimbal.gimbal_steps, 10)\nprint(f"Math:{result}")\n'})}),"\n",(0,s.jsx)(n.h3,{id:"instrumented-vs-uninstrumented-lines-require-vs-load",children:"Instrumented vs Uninstrumented Lines (require vs load)"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS scripts are normally \u201Cinstrumented\u201D. This means that each line has some extra code added behind the scenes that primarily highlights the current executing line and catches exceptions if things fail such as a wait_check. If your script needs to use code in other files, there are a few ways to bring in that code. Some techniques bring in instrumented code and others bring in uninstrumented code. There are reasons to use both."}),"\n",(0,s.jsx)(n.p,{children:"load_utility (and the deprecated require_utility), bring in instrumented code from other files. When COSMOS runs the code in the other file, Script Runner will dive into the other file and show each line highlighted as it executes. This should be the default way to bring in other files, as it allows continuing if something fails, and provides better visibility to operators."}),"\n",(0,s.jsx)(n.p,{children:"However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the \u201Cload\u201D keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. \u201Crequire\u201D is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not."}),"\n",(0,s.jsx)(n.p,{children:"In Python, libraries are included using the import syntax. Any code imported using import is not instrumented. Only the code imported using load_utility is instrumented."}),"\n",(0,s.jsx)(n.p,{children:"Finally, COSMOS scripting has a special syntax for disabling instrumentation in the middle of an instrumented script, with the disable_instrumentation method. This allows you to disable instrumentation for large loops and other activities that are too slow when running instrumented."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"temp = 0\ndisable_instrumentation do\n # Make sure nothing in here will raise exceptions!\n 5000000.times do\n temp += 1\n end\nend\nputs temp\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"temp = 0\nwith disable_instrumentation():\n # Make sure nothing in here will raise exceptions!\n for x in range(0,5000000):\n temp += 1\nprint(temp)\n"})}),"\n",(0,s.jsx)(n.admonition,{title:"When Running Uninstrumented Code",type:"warning",children:(0,s.jsx)(n.p,{children:"Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop."})}),"\n",(0,s.jsx)(n.h2,{id:"debugging-and-auditing",children:"Debugging and Auditing"}),"\n",(0,s.jsx)(n.h3,{id:"built-in-debugging-capabilities",children:"Built-In Debugging Capabilities"}),"\n",(0,s.jsx)(n.p,{children:"Script Runner has built in debugging capabilities that can be useful in determining why your script is behaving in a certain way. Of primary importance is the ability to inspect and set script variables."}),"\n",(0,s.jsx)(n.p,{children:"To use the debugging functionality, first select the \u201CToggle Debug\u201D option from the Script Menu. This will add a small Debug: prompt to the bottom of the tool. Any code entered in this prompt will be executed when Enter is pressed. To inspect variables in a running script, pause the script and then type the variable name to print out the value of the variable in the debug prompt."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"variable_name\n"})}),"\n",(0,s.jsx)(n.p,{children:"Variables can also be set simply by using equals."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"variable_name = 5\n"})}),"\n",(0,s.jsx)(n.p,{children:"If necessary, you can also inject commands from the debug prompt using the normal commanding methods. These commands will be logged to the Script Runner message log, which may be advantageous over using a different COSMOS tool like CmdSender (where the command would only be logged in the CmdTlmServer message log)."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'cmd("INST COLLECT with TYPE NORMAL")\n'})}),"\n",(0,s.jsx)(n.p,{children:"Note that the debug prompt keeps the command history and you can scroll through the history by using the up and down arrows."}),"\n",(0,s.jsx)(n.h3,{id:"breakpoints",children:"Breakpoints"}),"\n",(0,s.jsx)(n.p,{children:"You can click the line number (left side gutter) in Script Runner to add a breakpoint. The script will automatically pause when it hits the breakpoint. Once stopped at the breakpoint, you can evaluate variables using the Debug line."}),"\n",(0,s.jsx)(n.h3,{id:"using-disconnect-mode",children:"Using Disconnect Mode"}),"\n",(0,s.jsx)(n.p,{children:"Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments."}),"\n",(0,s.jsx)(n.p,{children:"While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware."}),"\n",(0,s.jsx)(n.h3,{id:"auditing-your-scripts",children:"Auditing your Scripts"}),"\n",(0,s.jsx)(n.p,{children:"Script Runner includes several tools to help audit your scripts both before and after execution."}),"\n",(0,s.jsx)(n.h4,{id:"ruby-syntax-check",children:"Ruby Syntax Check"}),"\n",(0,s.jsx)(n.p,{children:"The Ruby Syntax Check tool is found under the Script Menu. This tool uses the ruby executable with the -c flag to run a syntax check on your script. If any syntax errors are found the exact message presented by the Ruby interpreter is shown to the user. These can be cryptic, but the most common faults are not closing a quoted string, forgetting an \u201Cend\u201D keyword, or using a block but forgetting the proceeding \u201Cdo\u201D keyword."}),"\n",(0,s.jsx)(n.h2,{id:"common-scenarios",children:"Common Scenarios"}),"\n",(0,s.jsx)(n.h3,{id:"user-input-best-practices",children:"User Input Best Practices"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS provides several different methods to gather manual user input in scripts. When using user input methods that allow for arbitrary values (like ask() and ask_string()), it is very important to validate the value given in your script before moving on. When asking for text input, it is extra important to handle different casing possibilities and to ensure that invalid input will either re-prompt the user or take a safe path."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'answer = ask_string("Do you want to continue (y/n)?")\nif answer != \'y\' and answer != \'Y\'\n raise "User entered: #{answer}"\nend\n\ntemp = 0.0\nwhile temp < 10.0 or temp > 50.0\n temp = ask("Enter the desired temperature between 10.0 and 50.0")\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'answer = ask_string("Do you want to continue (y/n)?")\nif answer != \'y\' and answer != \'Y\':\n raise RuntimeError(f"User entered: {answer}")\n\ntemp = 0.0\nwhile temp < 10.0 or temp > 50.0:\n temp = ask("Enter the desired temperature between 10.0 and 50.0")\n'})}),"\n",(0,s.jsx)(n.p,{children:"When possible, always use one of the other user input methods that has a constrained list of choices for your users (message_box, vertical_message_box, combo_box)."}),"\n",(0,s.jsx)(n.p,{children:"Note that all these user input methods provide the user the option to \u201CCancel\u201D. When cancel is clicked, the script is paused but remains at the user input line. When hitting \u201CGo\u201D to the continue, the user will be re-prompted to enter the value."}),"\n",(0,s.jsx)(n.h3,{id:"conditionally-require-manual-user-input-steps",children:"Conditionally Require Manual User Input Steps"}),"\n",(0,s.jsx)(n.p,{children:"When possible, a useful design pattern is to write your scripts such that they can run without prompting for any user input. This allows the scripts to be more easily tested and provides a documented default value for any user input choices or values. To implement this pattern, all manual steps such as ask(), prompt(), and infinite wait() statements need to be wrapped with an if statement that checks the value of $manual in Ruby or RunningScript.manual in Python. If the variable is set, then the manual steps should be executed. If not, then a default value should be used."}),"\n",(0,s.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'if $manual\n temp = ask("Please enter the temperature")\nelse\n temp = 20.0\nend\nif !$manual\n puts "Skipping infinite wait in auto mode"\nelse\n wait\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'if RunningScript.manual:\n temp = ask("Please enter the temperature")\nelse:\n temp = 20.0\nif not RunningScript.manual:\n print("Skipping infinite wait in auto mode")\nelse:\n wait()\n'})}),"\n",(0,s.jsx)(n.p,{children:"When running suites, there is a checkbox at the top of the tool called \u201CManual\u201D that affects this $manual variable directly."}),"\n",(0,s.jsx)(n.h3,{id:"outputting-extra-information-to-a-report",children:"Outputting Extra Information to a Report"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'class MyGroup < OpenC3::Group\n def script_1\n # The following text will be placed in the report\n OpenC3::Group.puts "Verifies requirements 304, 306, 310"\n # This puts line will show up in the sr_messages log file\n puts "script_1 complete"\n end\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'from openc3.script.suite import Group\nclass MyGroup(Group):\n def script_1():\n # The following text will be placed in the report\n Group.print("Verifies requirements 304, 306, 310")\n # This puts line will show up in the sr_messages log file\n print("script_1 complete")\n'})}),"\n",(0,s.jsx)(n.h3,{id:"getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets",children:"Getting the Most Recent Value of a Telemetry Point from Multiple Packets"}),"\n",(0,s.jsx)(n.p,{children:"Some systems include high rate data points with the same name in every packet. COSMOS supports getting the most recent value of a telemetry point that is in multiple packets using a special packet name of LATEST. Assume the target INST has two packets, PACKET1 and PACKET2. Both packets have a telemetry point called TEMP."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'# Get the value of TEMP from the most recently received PACKET1\nvalue = tlm("INST PACKET1 TEMP")\n# Get the value of TEMP from the most recently received PACKET2\nvalue = tlm("INST PACKET2 TEMP")\n# Get the value of TEMP from the most recently received PACKET1 or PACKET2\nvalue = tlm("INST LATEST TEMP")\n'})}),"\n",(0,s.jsx)(n.h3,{id:"checking-every-single-sample-of-a-telemetry-point",children:"Checking Every Single Sample of a Telemetry Point"}),"\n",(0,s.jsx)(n.p,{children:"When writing COSMOS scripts, checking the most recent value of a telemetry point normally gets the job done. The tlm(), tlm_raw(), etc methods all retrieve the most recent value of a telemetry point. Sometimes you need to perform analysis on every single sample of a telemetry point. This can be done using the COSMOS packet subscription system. The packet subscription system lets you choose one or more packets and receive them all from a queue. You can then pick out the specific telemetry points you care about from each packet."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait 1.5\nid, packets = get_packets(id)\npackets.each do |packet|\n puts \"#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}\"\nend\n# Wait for some time later and reuse the last returned ID\nid, packets = get_packets(id)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait(1.5)\nid, packets = get_packets(id)\nfor packet in packets:\n print(f\"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}\")\n# Wait for some time later and reuse the last returned ID\nid, packets = get_packets(id)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"using-variables-in-mnemonics",children:"Using Variables in Mnemonics"}),"\n",(0,s.jsx)(n.p,{children:"Because command and telemetry mnemonics are just strings in COSMOS scripts, you can make use of variables in some contexts to make reusable code. For example, a method can take a target name as an input to support multiple instances of a target. You could also pass in the value for a set of numbered telemetry points."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'def example(target_name, temp_number)\n cmd("#{target_name} COLLECT with TYPE NORMAL")\n wait_check("#{target_name} TEMP#{temp_number} > 50.0")\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'def example(target_name, temp_number):\n cmd(f"{target_name} COLLECT with TYPE NORMAL")\n wait_check(f"{target_name} TEMP{temp_number} > 50.0")\n'})}),"\n",(0,s.jsxs)(n.p,{children:["This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the ",(0,s.jsx)(n.a,{href:"#looping-vs-unrolled-loops",children:"Looping vs Unrolled Loops"})," section."]}),"\n",(0,s.jsx)(n.h3,{id:"using-custom-wait_check_expression",children:"Using Custom wait_check_expression"}),"\n",(0,s.jsx)(n.p,{children:"The COSMOS wait_check_expression (and check_expression) allow you to perform more complicated checks and still stop the script with a CHECK error message if something goes wrong. For example, you can check variables against each other or check a telemetry point against a range. The exact string of text passed to wait_check_expression is repeatedly evaluated until it passes, or a timeout occurs. It is important to not use string interpolation within the actual expression or the values inside of the string interpolation syntax will only be evaluated once when it is converted into a string."}),"\n",(0,s.jsx)(n.p,{children:"Ruby:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'one = 1\ntwo = 2\n\nwait_check_expression("one == two", 1)\n# ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds\n\n# Checking an integer range\nwait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1)\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'one = 1\ntwo = 2\n\nwait_check_expression("one == two", 1, 0.25, locals())\n# ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds\n\n# Checking an integer range\nwait_check_expression("one > 0 and one < 10", 1, 0.25, locals())\n'})}),"\n",(0,s.jsx)(n.h3,{id:"cosmos-scripting-differences-from-regular-ruby-scripting",children:"COSMOS Scripting Differences from Regular Ruby Scripting"}),"\n",(0,s.jsx)(n.h4,{id:"do-not-use-single-line-if-statements",children:"Do not use single line if statements"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts)."}),"\n",(0,s.jsx)(n.p,{children:"Don't do this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0\n'})}),"\n",(0,s.jsx)(n.p,{children:"Do this instead:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'# It is best not to execute any code that could fail in an if statement, ie\n# tlm() could fail if the CmdTlmServer was not running or a mnemonic\n# was misspelled\ntemp1 = tlm("INST HEALTH_STATUS TEMP1")\nif temp1 > 10.0\n run_method()\nend\n'})}),"\n",(0,s.jsx)(n.h2,{id:"when-things-go-wrong",children:"When Things Go Wrong"}),"\n",(0,s.jsx)(n.h3,{id:"common-reasons-checks-fail",children:"Common Reasons Checks Fail"}),"\n",(0,s.jsx)(n.p,{children:"There are three common reasons that checks fail in COSMOS scripts:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"The delay given was too short"}),"\n",(0,s.jsx)(n.p,{children:"The wait_check() method takes a timeout that indicates how long to wait for the referenced telemetry point to pass the check. The timeout needs to be large enough for the system under test to finish its action and for updated telemetry to be received. Note that the script will continue as soon as the check completes successfully. Thus, the only penalty for a longer timeout is the additional wait time in a failure condition."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"The range or value checked against was incorrect or too stringent"}),"\n",(0,s.jsx)(n.p,{children:"Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"The check really failed"}),"\n",(0,s.jsx)(n.p,{children:"Of course, sometimes there are real failures. See the next section for how to handle them and recover."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"how-to-recover-from-anomalies",children:"How to Recover from Anomalies"}),"\n",(0,s.jsx)(n.p,{children:"Once something has failed, and your script has stopped with a pink highlighted line, how can you recover? Fortunately, COSMOS provides several mechanisms that can be used to recover after something in your script fails."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Retry"}),"\n",(0,s.jsx)(n.p,{children:"After a failure, the Script Runner \u201CPause\u201D button changes to \u201CRetry\u201D. Clicking on the Retry button will re-execute the line the failed. For failures due to timing issues, this will often resolve the issue and allow the script to continue. Make note of the failure and be sure to update your script prior to the next run."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Use the Debug Prompt"}),"\n",(0,s.jsx)(n.p,{children:"By selecting Script -> Toggle Debug, you can perform arbitrary actions that may be needed to correct the situation without stopping the running script. You can also inspect variables to help determine why something failed."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Execute Selection"}),"\n",(0,s.jsx)(n.p,{children:'If only a small section of a script needs to be run, then \u201CExecute Selection" can be used to execute only a small portion of the script. This can also be used when a script is paused or stopped in error.'}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Run from here"}),"\n",(0,s.jsx)(n.p,{children:'By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script.'}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"advanced-topics",children:"Advanced Topics"}),"\n",(0,s.jsx)(n.h3,{id:"advanced-script-configuration-with-csv-or-excel",children:"Advanced Script Configuration with CSV or Excel"}),"\n",(0,s.jsx)(n.p,{children:"Using a spreadsheet to store the values for use by a script can be a great option if you have a CM-controlled script but need to be able to tweak some values for a test or if you need to use different values for different serial numbers."}),"\n",(0,s.jsx)(n.p,{children:"The Ruby CSV class be used to easily read data from CSV files (recommended for cross platform projects)."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"require 'csv'\nvalues = CSV.read('test.csv')\nputs values[0][0]\n"})}),"\n",(0,s.jsx)(n.p,{children:"If you are only using Windows, COSMOS also contains a library for reading Excel files."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"require 'openc3/win32/excel'\nss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx')\nputs ss[0][0][0]\n"})}),"\n",(0,s.jsx)(n.h3,{id:"when-to-use-ruby-modules",children:"When to use Ruby Modules"}),"\n",(0,s.jsx)(n.p,{children:"Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though."}),"\n",(0,s.jsx)(n.p,{children:"Mixins allow adding common methods to classes without using inheritance. Mixins can be useful to add common functionality to some classes but not others, or to break up classes into multiple files."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"module MyModule\n def module_method\n end\nend\nclass MyTest < OpenC3::Group\n include MyModule\n def test_1\n module_method()\n end\nend\n"})})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},65:function(e,n,t){t.d(n,{Z:function(){return o},a:function(){return a}});var i=t(7294);let s={},r=i.createContext(s);function a(e){let n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/4294.d913d836.js b/docs/assets/js/4294.d913d836.js new file mode 100644 index 0000000000..b12fddef7a --- /dev/null +++ b/docs/assets/js/4294.d913d836.js @@ -0,0 +1,101 @@ +(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4294"],{1639:function(e,t,n){"use strict";e.exports=n(9281)},7114:function(e,t,n){"use strict";var i=n(5670),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(r.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&7>=i.isMsie()&&i.mixin(r.input,{marginTop:"-1px"}),e.exports=r},3312:function(e,t,n){"use strict";var i="aaDataset",r="aaValue",s="aaDatum",o=n(5670),a=n(3855),u=n(6619),c=n(7114),l=n(9372);function h(e){(e=e||{}).templates=e.templates||{},!e.source&&o.error("missing source"),e.name&&!function(e){return/^[_a-zA-Z0-9-]+$/.test(e)}(e.name)&&o.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?o.getUniqueId():e.name,this.source=e.source,this.displayFn=function(e){return e=e||"value",o.isFunction(e)?e:function(t){return t[e]}}(e.display||e.displayKey),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=function(e,t){return{empty:e.empty&&o.templatify(e.empty),header:e.header&&o.templatify(e.header),footer:e.footer&&o.templatify(e.footer),suggestion:e.suggestion||function(e){return"

"+t(e)+"

"}}}(e.templates,this.displayFn),this.css=o.mixin({},c,e.appendTo?c.appendTo:{}),this.cssClasses=e.cssClasses=o.mixin({},c.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var t=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(t+"-"+this.name).length>0?a.element(e.$menu.find(t+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(e){return a.element(e).data(i)},h.extractValue=function(e){return a.element(e).data(r)},h.extractDatum=function(e){var t=a.element(e).data(s);return"string"==typeof t&&(t=JSON.parse(t)),t},o.mixin(h.prototype,l,{_render:function(e,t){if(!!this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html((function(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),c.templates.empty.apply(this,t)}).apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(n)this.$el.html((function(){var e,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=a.element(p).css(this.css.suggestions),n=o.map(t,function(e){var t,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(t=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[e].concat(l)))).data(i,c.name),t.data(r,c.displayFn(e)||void 0),t.data(s,JSON.stringify(e)),t.children().each(function(){a.element(this).css(h.css.suggestionChild)}),t}),e.append.apply(e,n),e}).apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(t&&!Array.isArray(t))throw TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.header.apply(this,t)}function p(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){!n.canceled&&n.source(e,t.bind(n))};this.debounce?(clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout(function(){n.debounceTimeout=null,i()},this.debounce)):i()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}});e.exports=h},5445:function(e,t,n){"use strict";var i=n(5670),r=n(3855),s=n(9372),o=n(3312),a=n(7114);function u(e){var t,n,s,o=this;!(e=e||{}).menu&&i.error("menu is required"),!i.isArray(e.datasets)&&!i.isObject(e.datasets)&&i.error("1 or more datasets required"),!e.datasets&&i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=i.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=i.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),s=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=r.element(e.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,s).on("click.aa",c,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=i.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=i.templatify(e.templates.empty),this.$empty=r.element('
'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(e.datasets,function(t){return function(e,t,n){return new u.Dataset(i.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)}),i.each(this.datasets,function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)}),e.templates&&e.templates.footer&&(this.templates.footer=i.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;r.element(window).resize(function(){l._redraw()})}i.mixin(u.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",r.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=r.element(e.currentTarget);if(!t.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout(function(){n._setCursor(t,!1)},0)}},_onSuggestionMouseLeave:function(e){if(!e.relatedTarget||!(r.element(e.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0))this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(e,t){if(this.isEmpty=i.every(this.datasets,function(e){return e.isEmpty()}),this.isEmpty){if(t.length>=this.minLength&&this.trigger("empty"),this.$empty){if(t.length=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,i,r;if(!!this.isOpen){if(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1==(i=((i=t.index(n)+e)+1)%(t.length+1)-1)){this.trigger("cursorRemoved");return}i<-1&&(i=t.length-1);this._setCursor(r=t.eq(i),!0),this._ensureVisible(r)}},_ensureVisible:function(e){var t,n,i,r;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),i=this.$menu.scrollTop(),r=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(i+t):r',dropdown:'',dataset:'
',suggestions:'',suggestion:'
'}},1286:function(e,t,n){"use strict";i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var i,r=n(5670),s=n(3855),o=n(9372);function a(e){var t,n,o,a,u=this;!(e=e||{}).input&&r.error("input is missing"),t=r.bind(this._onBlur,this),n=r.bind(this._onFocus,this),o=r.bind(this._onKeydown,this),a=r.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=r.noop),r.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",function(e){if(!i[e.which||e.keyCode])r.defer(r.bind(u._onInput,u,e))}):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=function(e){return s.element('').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:e.css("font-family"),fontSize:e.css("font-size"),fontStyle:e.css("font-style"),fontVariant:e.css("font-variant"),fontWeight:e.css("font-weight"),wordSpacing:e.css("word-spacing"),letterSpacing:e.css("letter-spacing"),textIndent:e.css("text-indent"),textRendering:e.css("text-rendering"),textTransform:e.css("text-transform")}).insertAfter(e)}(this.$input)}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},r.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=i[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,i,r;switch(e){case"tab":i=this.getHint(),r=this.getInputValue(),n=i&&i!==r&&!u(t);break;case"up":case"down":n=!u(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;if("tab"===e)n=!u(t);else n=!0;return n},_checkInputValue:function(){var e,t,n;n=!!(t=function(e,t){return a.normalizeQuery(e)===a.normalizeQuery(t)}(e=this.getInputValue(),this.query))&&!!this.query&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;e=this.getInputValue(),n=e!==(t=this.getHint())&&0===t.indexOf(e),!(""!==e&&n&&!this.hasOverflow())&&this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return(e=this.$input.val().length,t=this.$input[0].selectionStart,r.isNumber(t))?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}});function u(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}e.exports=a},4520:function(e,t,n){"use strict";var i="aaAttrs",r=n(5670),s=n(3855),o=n(7368),a=n(1286),u=n(5445),c=n(6619),l=n(7114);function h(e){if(!(e=e||{}).input&&r.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=r.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=r.mixin({},l,e.appendTo?l.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},l.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",r.getUniqueId()].join("-");var t,n,a=function(e){t=s.element(e.input),n=s.element(c.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),!e.appendTo&&"block"===t.css("display")&&"table"===t.parent().css("display")&&n.css("display","table-cell");var t,n,o,a,u=c.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);o=s.element(u).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&o.html(r.templatify(e.templates.dropdownMenu)()),(a=t.clone().css(e.css.hint).css(function(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}(t))).val("").addClass(r.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData(),t.data(i,{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(r.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{!t.attr("dir")&&t.attr("dir","auto")}catch(e){}return(n=e.appendTo?n.appendTo(s.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent()).prepend(e.hint?a:null).append(o),{wrapper:n,input:t,hint:a,menu:o}}(e);this.$node=a.wrapper;var u=this.$input=a.input;t=a.menu,n=a.hint,e.dropdownMenuContainer&&s.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),u.on("blur.aa",function(e){var n=document.activeElement;r.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),r.defer(function(){u.focus()}))}),t.on("mousedown.aa",function(e){e.preventDefault()}),this.eventBus=e.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}r.mixin(h.prototype,{_bindKeyboardShortcuts:function(e){if(!!e.keyboardShortcuts){var t=this.$input,n=[];r.each(e.keyboardShortcuts,function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)}),s.element(document).keydown(function(e){var i=e.target||e.srcElement,r=i.tagName;if(i.isContentEditable||"INPUT"===r||"SELECT"===r||"TEXTAREA"===r)return;var s=e.which||e.keyCode;if(-1!==n.indexOf(s))t.focus(),e.stopPropagation(),e.preventDefault()})}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var i=e.left-t.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion();var e,t,n={selectionMethod:"blur"};!this.debug&&(this.autoselectOnBlur&&e?this._select(e,n):this.autoselectOnBlur&&t?this._select(t,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var n,i,r={selectionMethod:"enterKey"};n?(this._select(n,r),t.preventDefault()):this.autoselect&&i&&(this._select(i,r),t.preventDefault())},_onTabKeyed:function(e,t){var n;if(!this.tabAutocomplete){this.dropdown.close();return}(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),t.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,i;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=a.normalizeQuery(t),(i=RegExp("^(?:"+r.escapeRegExChars(n)+")(.+$)","i").exec(e.value))?this.input.setHint(t+i[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,i,r;t=this.input.getHint(),n=this.input.getQuery(),i=e||this.input.isCursorAtEnd(),t&&n!==t&&i&&((r=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(r.value),this.eventBus.trigger("autocompleted",r.raw,r.datasetName))},_select:function(e,t){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName,t).isDefaultPrevented()&&(this.dropdown.close(),r.defer(r.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=r.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(e,t){var n=e.find(r.className(t.prefix,t.input));r.each(n.data(i),function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)}),n.detach().removeClass(r.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData(i),e.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}});h.Dropdown=u,h.Input=a,h.sources=n(6331),e.exports=h},3855:function(e){"use strict";e.exports={element:null}},2926:function(e){"use strict";e.exports=function(e){var t=e.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},5670:function(e,t,n){"use strict";var i,r=n(3855);function s(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return null==e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,function(e,i){e&&(n.isArray(e)?t[i]=[].concat(e):n.isObject(e)&&(t[i]=n.cloneDeep(e)))}),t},error:function(e){throw Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,function(i,r){n&&(n=t.call(null,i,r,e)&&n)}),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,function(i,r){if(t.call(null,i,r,e))return n=!0,!1}),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(e){if(this.isFunction(e))return e;var t=r.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"";var i=document.createElement("div");i.appendChild(document.createTextNode(t)),n=n||"";var r=document.createElement("div");r.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(s(i.innerHTML),"g"),t).replace(RegExp(s(r.innerHTML),"g"),n)}}},2683:function(e,t,n){"use strict";var i=n(5670),r=n(3489),s=n(2926);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),function(n,r){e.search(n,t,function(e,t){if(e){i.error(e.message);return}r(t.hits,t)})}}},6331:function(e,t,n){"use strict";e.exports={hits:n(2683),popularIn:n(2226)}},2226:function(e,t,n){"use strict";var i=n(5670),r=n(3489),s=n(2926);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){e.search(a,t,function(e,a){if(e){i.error(e.message);return}if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var d=s(c.as._ua);d&&d[0]>=3&&d[1]>20&&(t.additionalUA="autocomplete.js "+r),c.search(u(h),p,function(e,t){if(e){i.error(e.message);return}var n=[];if(o.includeAll){var r=o.allTitle||"All departments";n.push(i.mixin({facet:{value:r,count:t.nbHits}},i.cloneDeep(h)))}i.each(t.facets,function(e,t){i.each(e,function(e,r){n.push(i.mixin({facet:{facet:t,value:r,count:e}},i.cloneDeep(h)))})});for(var s=1;s]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,y=/^(?:body|html)$/i,x=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],w=h.createElement("table"),S=h.createElement("tr"),C={tr:h.createElement("tbody"),tbody:w,thead:w,tfoot:w,td:S,th:S,"*":h.createElement("div")},E=/complete|loaded|interactive/,_=/^[\w-]*$/,k={},T=k.toString,O={},L=h.createElement("div"),A={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},$=Array.isArray||function(e){return e instanceof Array};function P(e){return null==e?String(e):k[T.call(e)]||"object"}function I(e){return"function"==P(e)}function Q(e){return null!=e&&e==e.window}function R(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function N(e){return"object"==P(e)}function D(e){return N(e)&&!Q(e)&&Object.getPrototypeOf(e)==Object.prototype}function F(e){var t=!!e&&"length"in e&&e.length,n=i.type(e);return"function"!=n&&!Q(e)&&("array"==n||0===t||"number"==typeof t&&t>0&&t-1 in e)}O.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(n)return n.call(e,t);var i,r=e.parentNode,s=!r;return s&&(r=L).appendChild(e),i=~O.qsa(r,t).indexOf(e),s&&L.removeChild(e),i};function j(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function H(e){return e in d?d[e]:d[e]=RegExp("(^|\\s)"+e+"(\\s|$)")}function V(e,t){return"number"!=typeof t||f[j(e)]?t:t+"px"}s=function(e){return e.replace(/-+(.)?/g,function(e,t){return t?t.toUpperCase():""})},o=function(e){return c.call(e,function(t,n){return e.indexOf(t)==n})};function B(e){return"children"in e?l.call(e.children):i.map(e.childNodes,function(e){if(1==e.nodeType)return e})}function M(e,t){var n,i=e?e.length:0;for(n=0;n")),t===n&&(n=g.test(e)&&RegExp.$1),!(n in C)&&(n="*"),(a=C[n]).innerHTML=""+e,s=i.each(l.call(a.childNodes),function(){a.removeChild(this)})),D(r)&&(o=i(s),i.each(r,function(e,t){b.indexOf(e)>-1?o[e](t):o.attr(e,t)})),s},O.Z=function(e,t){return new M(e,t)},O.isZ=function(e){return e instanceof O.Z},O.init=function(e,n){var r,s;if(!e)return O.Z();if("string"==typeof e){if("<"==(e=e.trim())[0]&&g.test(e))r=O.fragment(e,RegExp.$1,n),e=null;else{if(t!==n)return i(n).find(e);r=O.qsa(h,e)}}else{if(I(e))return i(h).ready(e);if(O.isZ(e))return e;if($(e)){;s=e,r=c.call(s,function(e){return null!=e})}else if(N(e))r=[e],e=null;else if(g.test(e))r=O.fragment(e.trim(),RegExp.$1,n),e=null;else{if(t!==n)return i(n).find(e);r=O.qsa(h,e)}}return O.Z(r,e)},i=function(e,t){return O.init(e,t)};function q(e,t){return null==t?i(e):i(e).filter(t)}function z(e,t,n,i){return I(t)?t.call(e,n,i):t}function K(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function W(e,n){var i=e.className||"",r=i&&i.baseVal!==t;if(t===n)return r?i.baseVal:i;r?i.baseVal=n:e.className=n}function U(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[\[\{]/.test(e)?i.parseJSON(e):e):e}catch(t){return e}}return i.extend=function(e){var i,r=l.call(arguments,1);return"boolean"==typeof e&&(i=e,e=r.shift()),r.forEach(function(r){!function e(i,r,s){for(n in r)s&&(D(r[n])||$(r[n]))?(D(r[n])&&!D(i[n])&&(i[n]={}),$(r[n])&&!$(i[n])&&(i[n]=[]),e(i[n],r[n],s)):r[n]!==t&&(i[n]=r[n])}(e,r,i)}),e},O.qsa=function(e,t){var n,i="#"==t[0],r=!i&&"."==t[0],s=i||r?t.slice(1):t,o=_.test(s);return e.getElementById&&o&&i?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:l.call(o&&!i&&e.getElementsByClassName?r?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},i.contains=h.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},i.type=P,i.isFunction=I,i.isWindow=Q,i.isArray=$,i.isPlainObject=D,i.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},i.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},i.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},i.camelCase=s,i.trim=function(e){return null==e?"":String.prototype.trim.call(e)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(e,t){var n,r,s,o,a=[];if(F(e))for(s=0;s0?i.fn.concat.apply([],n):n},i.each=function(e,t){var n,i;if(F(e))for(n=0;n=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(e){return a.every.call(this,function(t,n){return!1!==e.call(t,n,t)}),this},filter:function(e){return I(e)?this.not(this.not(e)):i(c.call(this,function(t){return O.matches(t,e)}))},add:function(e,t){return i(o(this.concat(i(e,t))))},is:function(e){return this.length>0&&O.matches(this[0],e)},not:function(e){var n=[];if(I(e)&&e.call!==t)this.each(function(t){!e.call(this,t)&&n.push(this)});else{var r="string"==typeof e?this.filter(e):F(e)&&I(e.item)?l.call(e):i(e);this.forEach(function(e){0>r.indexOf(e)&&n.push(e)})}return i(n)},has:function(e){return this.filter(function(){return N(e)?i.contains(this,e):i(this).find(e).size()})},eq:function(e){return -1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!N(e)?e:i(e)},last:function(){var e=this[this.length-1];return e&&!N(e)?e:i(e)},find:function(e){var t,n=this;return t=e?"object"==typeof e?i(e).filter(function(){var e=this;return a.some.call(n,function(t){return i.contains(t,e)})}):1==this.length?i(O.qsa(this[0],e)):this.map(function(){return O.qsa(this,e)}):i()},closest:function(e,t){var n=[],r="object"==typeof e&&i(e);return this.each(function(i,s){for(;s&&!(r?r.indexOf(s)>=0:O.matches(s,e));)s=s!==t&&!R(s)&&s.parentNode;s&&0>n.indexOf(s)&&n.push(s)}),i(n)},parents:function(e){for(var t=[],n=this;n.length>0;)n=i.map(n,function(e){if((e=e.parentNode)&&!R(e)&&0>t.indexOf(e))return t.push(e),e});return q(t,e)},parent:function(e){return q(o(this.pluck("parentNode")),e)},children:function(e){return q(this.map(function(){return B(this)}),e)},contents:function(){return this.map(function(){return this.contentDocument||l.call(this.childNodes)})},siblings:function(e){return q(this.map(function(e,t){return c.call(B(t.parentNode),function(e){return e!==t})}),e)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(e){return i.map(this,function(t){return t[e]})},show:function(){return this.each(function(){if("none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")){var e,t,n;this.style.display=(!p[e=this.nodeName]&&(t=h.createElement(e),h.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),p[e]=n),p[e])}})},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=I(e);if(this[0]&&!t)var n=i(e).get(0),r=n.parentNode||this.length>1;return this.each(function(s){i(this).wrapAll(t?e.call(this,s):r?n.cloneNode(!0):n)})},wrapAll:function(e){if(this[0]){var t;for(i(this[0]).before(e=i(e));(t=e.children()).length;)e=t.first();i(e).append(this)}return this},wrapInner:function(e){var t=I(e);return this.each(function(n){var r=i(this),s=r.contents(),o=t?e.call(this,n):e;s.length?s.wrapAll(o):r.append(o)})},unwrap:function(){return this.parent().each(function(){i(this).replaceWith(i(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var n=i(this);(t===e?"none"==n.css("display"):e)?n.show():n.hide()})},prev:function(e){return i(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return i(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each(function(t){var n=this.innerHTML;i(this).empty().append(z(this,e,t,n))}):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each(function(t){var n=z(this,e,t,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(e,i){var r;return"string"!=typeof e||1 in arguments?this.each(function(t){if(1===this.nodeType){if(N(e))for(n in e)K(this,n,e[n]);else K(this,e,z(this,i,t,this.getAttribute(e)))}}):0 in this&&1==this[0].nodeType&&null!=(r=this[0].getAttribute(e))?r:t},removeAttr:function(e){return this.each(function(){1===this.nodeType&&e.split(" ").forEach(function(e){K(this,e)},this)})},prop:function(e,t){return e=A[e]||e,1 in arguments?this.each(function(n){this[e]=z(this,t,n,this[e])}):this[0]&&this[0][e]},removeProp:function(e){return e=A[e]||e,this.each(function(){delete this[e]})},data:function(e,n){var i="data-"+e.replace(x,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,n):this.attr(i);return null!==r?U(r):t},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each(function(t){this.value=z(this,e,t,this.value)})):this[0]&&(this[0].multiple?i(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=i(this),r=z(this,t,e,n.offset()),s=n.offsetParent().offset(),o={top:r.top-s.top,left:r.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+e.pageXOffset,top:n.top+e.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(e,t){if(arguments.length<2){var r=this[0];if("string"==typeof e){if(!r)return;return r.style[s(e)]||getComputedStyle(r,"").getPropertyValue(e)}if($(e)){if(!r)return;var o={},a=getComputedStyle(r,"");return i.each(e,function(e,t){o[t]=r.style[s(t)]||a.getPropertyValue(t)}),o}}var u="";if("string"==P(e))t||0===t?u=j(e)+":"+V(e,t):this.each(function(){this.style.removeProperty(j(e))});else for(n in e)e[n]||0===e[n]?u+=j(n)+":"+V(n,e[n])+";":this.each(function(){this.style.removeProperty(j(n))});return this.each(function(){this.style.cssText+=";"+u})},index:function(e){return e?this.indexOf(i(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,function(e){return this.test(W(e))},H(e))},addClass:function(e){return e?this.each(function(t){if("className"in this){r=[];var n=W(this);z(this,e,t,n).split(/\s+/g).forEach(function(e){!i(this).hasClass(e)&&r.push(e)},this),r.length&&W(this,n+(n?" ":"")+r.join(" "))}}):this},removeClass:function(e){return this.each(function(n){if("className"in this){if(t===e)return W(this,"");z(this,e,n,r=W(this)).split(/\s+/g).forEach(function(e){r=r.replace(H(e)," ")}),W(this,r.trim())}})},toggleClass:function(e,n){return e?this.each(function(r){var s=i(this);z(this,e,r,W(this)).split(/\s+/g).forEach(function(e){(t===n?!s.hasClass(e):n)?s.addClass(e):s.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),n=this.offset(),r=y.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(i(e).css("margin-top"))||0,n.left-=parseFloat(i(e).css("margin-left"))||0,r.top+=parseFloat(i(t[0]).css("border-top-width"))||0,r.left+=parseFloat(i(t[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||h.body;e&&!y.test(e.nodeName)&&"static"==i(e).css("position");)e=e.offsetParent;return e})}},i.fn.detach=i.fn.remove,["width","height"].forEach(function(e){var n=e.replace(/./,function(e){return e[0].toUpperCase()});i.fn[e]=function(r){var s,o=this[0];return t===r?Q(o)?o["inner"+n]:R(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[e]:this.each(function(t){(o=i(this)).css(e,z(this,r,t,o[e]()))})}}),["after","prepend","before","append"].forEach(function(n,r){var s=r%2;i.fn[n]=function(){var n,o,a=i.map(arguments,function(e){var r=[];return"array"==(n=P(e))?(e.forEach(function(e){return e.nodeType!==t?r.push(e):i.zepto.isZ(e)?r=r.concat(e.get()):void(r=r.concat(O.fragment(e)))}),r):"object"==n||null==e?e:O.fragment(e)}),u=this.length>1;return a.length<1?this:this.each(function(t,n){o=s?n:n.parentNode,n=0==r?n.nextSibling:1==r?n.firstChild:2==r?n:null;var c=i.contains(h.documentElement,o);a.forEach(function(t){if(u)t=t.cloneNode(!0);else if(!o)return i(t).remove();o.insertBefore(t,n),c&&!function e(t,n){n(t);for(var i=0,r=t.childNodes.length;i":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,i){var r=n.length,s=0,o=null,a=null,l="",h=[],p=!1,d=0,f=0,g="{{",m="}}";function v(){l.length>0&&(h.push({tag:"_t",text:new String(l)}),l="")}function y(n,i){if(v(),n&&function(){for(var n=!0,i=f;i"==r.tag&&(r.indent=h[s].text.toString()),h.splice(s,1));else!i&&h.push({tag:"\n"});p=!1,f=h.length}for(i&&(g=(i=i.split(" "))[0],m=i[1]),d=0;d":f,"<":function(t,n){var i={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,i);var r=n.partials[f(t,n)];r.subs=i.subs,r.partials=i.partials},$:function(t,n){var i={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,i),n.subs[t.n]=i.code,!n.inPartial&&(n.code+='t.sub("'+p(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=m('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+d(e.n)+'("'+p(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=m('"'+p(e.text)+'"')},"{":g,"&":g},e.walk=function(t,n){for(var i,r=0,s=t.length;r0;){if(c=n.shift(),u&&"<"==u.tag&&!(c.tag in l))throw Error("Illegal content in < super tag.");if(e.tags[c.tag]<=e.tags.$||function(e,t){for(var n=0,i=t.length;n0)throw Error("missing closing tag: "+r.pop().n);return o}(t,"",[],(i=i||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var i=e.cacheKey(t,n),r=this.cache[i];if(r){var s=r.partials;for(var o in s)delete s[o].instance;return r}return r=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[i]=r}}(t)},5485:function(e,t,n){var i=n(9397);i.Template=n(2882).Template,i.template=i.Template,e.exports=i},2882:function(e,t){!function(e){function t(e,t,n){var i;return t&&"object"==typeof t&&(void 0!==t[e]?i=t[e]:n&&t.get&&"function"==typeof t.get&&(i=t.get(e))),i}e.Template=function(e,t,n,i){e=e||{},this.r=e.code||this.r,this.c=n,this.options=i||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=u(e),a.test(e)?e.replace(n,"&").replace(i,"<").replace(r,">").replace(s,"'").replace(o,"""):e},t:u,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],i=t[n.name];if(n.instance&&n.base==i)return n.instance;if("string"==typeof i){if(!this.c)throw Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,n.subs){for(key in!t.stackText&&(t.stackText={}),n.subs)!t.stackText[key]&&(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=function(e,t,n,i,r,s){function o(){}function a(){}o.prototype=e,a.prototype=e.subs;var u,c=new o;for(u in c.subs=new a,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s,t)!i[u]&&(i[u]=t[u]);for(u in i)c.subs[u]=i[u];for(u in r=r||{},c.stackPartials=r,n)!r[u]&&(r[u]=n[u]);for(u in r)c.partials[u]=r[u];return c}(i,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,i){var r=this.ep(e,n);return r?r.ri(t,n,i):""},rs:function(e,t,n){var i=e[e.length-1];if(!c(i)){n(e,t,this);return}for(var r=0;r=0;c--)if(void 0!==(s=t(e,o=n[c],u))){a=!0;break}return a?(!r&&"function"==typeof s&&(s=this.mv(s,n,i)),s):!r&&""},ls:function(e,t,n,i,r){var s=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(u(e.call(t,i)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,i,r,s,o){var a,u=t[t.length-1],c=e.call(u);if("function"==typeof c)return!!i||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,n,a.substring(r,s),o));return c},mv:function(e,t,n){var i=t[t.length-1],r=e.call(i);return"function"==typeof r?this.ct(u(r.call(i)),i,n):r},sub:function(e,t,n,i){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,i),this.activeSub=!1)}};var n=/&/g,i=//g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function u(e){return String(null==e?"":e)}var c=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},624:function(e,t,n){"use strict";var i,r,s,o=[n(7936),n(4785),n(8291),n(2709),n(2506),n(9176)],a=-1,u=[],c=!1;function l(){if(!!i&&!!r)i=!1,r.length?u=r.concat(u):a=-1,u.length&&h()}function h(){if(!i){c=!1,i=!0;for(var e=u.length,t=setTimeout(l);e;){for(r=u,u=[];r&&++a1)for(var n=1;n0){var c=A.utils.clone(t)||{};c.position=[o,u],c.index=r.length,r.push(new A.Token(n.slice(o,s),c))}o=s+1}}return r},A.tokenizer.separator=/[\s\-]+/,A.Pipeline=function(){this._stack=[]},A.Pipeline.registeredFunctions=Object.create(null),A.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&A.utils.warn("Overwriting existing registered function: "+t),e.label=t,A.Pipeline.registeredFunctions[e.label]=e},A.Pipeline.warnIfFunctionNotRegistered=function(e){!(e.label&&e.label in this.registeredFunctions)&&A.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},A.Pipeline.load=function(e){var t=new A.Pipeline;return e.forEach(function(e){var n=A.Pipeline.registeredFunctions[e];if(n)t.add(n);else throw Error("Cannot load unregistered function: "+e)}),t},A.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){A.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},A.Pipeline.prototype.after=function(e,t){A.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},A.Pipeline.prototype.before=function(e,t){A.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw Error("Cannot find existingFn");this._stack.splice(n,0,t)},A.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);if(-1!=t)this._stack.splice(t,1)},A.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(se&&(n=r),s!=e);){;i=n-t,r=t+Math.floor(i/2),s=this.elements[2*r]}return s==e||s>e?2*r:sa?c+=2:o==a&&(t+=n[u+1]*i[c+1],u+=2,c+=2);return t},A.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},A.Vector.prototype.toArray=function(){for(var e=Array(this.elements.length/2),t=1,n=0;t0){var s,o=r.str.charAt(0);o in r.node.edges?s=r.node.edges[o]:(s=new A.TokenSet,r.node.edges[o]=s),1==r.str.length&&(s.final=!0),i.push({node:s,editsRemaining:r.editsRemaining,str:r.str.slice(1)})}if(0!=r.editsRemaining){if("*"in r.node.edges)var a=r.node.edges["*"];else{var a=new A.TokenSet;r.node.edges["*"]=a}if(0==r.str.length&&(a.final=!0),i.push({node:a,editsRemaining:r.editsRemaining-1,str:r.str}),r.str.length>1&&i.push({node:r.node,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)}),1==r.str.length&&(r.node.final=!0),r.str.length>=1){if("*"in r.node.edges)var u=r.node.edges["*"];else{var u=new A.TokenSet;r.node.edges["*"]=u}1==r.str.length&&(u.final=!0),i.push({node:u,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)})}if(r.str.length>1){var c,l=r.str.charAt(0),h=r.str.charAt(1);h in r.node.edges?c=r.node.edges[h]:(c=new A.TokenSet,r.node.edges[h]=c),1==r.str.length&&(c.final=!0),i.push({node:c,editsRemaining:r.editsRemaining-1,str:l+r.str.slice(2)})}}}return n},A.TokenSet.fromString=function(e){for(var t=new A.TokenSet,n=t,i=0,r=e.length;i=e;t--){var n=this.uncheckedNodes[t],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}},A.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},A.Index.prototype.search=function(e){return this.query(function(t){new A.QueryParser(e,t).parse()})},A.Index.prototype.query=function(e){for(var t=new A.Query(this.fields),n=Object.create(null),i=Object.create(null),r=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a1?this._b=1:this._b=e},A.Builder.prototype.k1=function(e){this._k1=e},A.Builder.prototype.add=function(e,t){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var r=0;r=this.length)return A.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},A.QueryLexer.prototype.width=function(){return this.pos-this.start},A.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},A.QueryLexer.prototype.backup=function(){this.pos-=1},A.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do t=(e=this.next()).charCodeAt(0);while(t>47&&t<58);e!=A.QueryLexer.EOS&&this.backup()},A.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(A.QueryLexer.TERM)),e.ignore(),e.more())return A.QueryLexer.lexText},A.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(A.QueryLexer.EDIT_DISTANCE),A.QueryLexer.lexText},A.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(A.QueryLexer.BOOST),A.QueryLexer.lexText},A.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(A.QueryLexer.TERM)},A.QueryLexer.termSeparator=A.tokenizer.separator,A.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==A.QueryLexer.EOS)return A.QueryLexer.lexEOS;if(92==t.charCodeAt(0)){e.escapeCharacter();continue}if(":"==t)return A.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(A.QueryLexer.TERM),A.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(A.QueryLexer.TERM),A.QueryLexer.lexBoost;if("+"==t&&1===e.width()||"-"==t&&1===e.width())return e.emit(A.QueryLexer.PRESENCE),A.QueryLexer.lexText;if(t.match(A.QueryLexer.termSeparator))return A.QueryLexer.lexTerm}},A.QueryParser=function(e,t){this.lexer=new A.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},A.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=A.QueryParser.parseClause;e;)e=e(this);return this.query},A.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},A.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},A.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},A.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(void 0!=t)switch(t.type){case A.QueryLexer.PRESENCE:return A.QueryParser.parsePresence;case A.QueryLexer.FIELD:return A.QueryParser.parseField;case A.QueryLexer.TERM:return A.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new A.QueryParseError(n,t.start,t.end)}},A.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(void 0!=t){switch(t.str){case"-":e.currentClause.presence=A.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=A.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new A.QueryParseError(n,t.start,t.end)}var i=e.peekLexeme();if(void 0==i){var n="expecting term or field, found nothing";throw new A.QueryParseError(n,t.start,t.end)}switch(i.type){case A.QueryLexer.FIELD:return A.QueryParser.parseField;case A.QueryLexer.TERM:return A.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new A.QueryParseError(n,i.start,i.end)}}},A.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(void 0!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),i="unrecognised field '"+t.str+"', possible fields: "+n;throw new A.QueryParseError(i,t.start,t.end)}e.currentClause.fields=[t.str];var r=e.peekLexeme();if(void 0==r){var i="expecting term, found nothing";throw new A.QueryParseError(i,t.start,t.end)}if(r.type===A.QueryLexer.TERM)return A.QueryParser.parseTerm;var i="expecting term, found '"+r.type+"'";throw new A.QueryParseError(i,r.start,r.end)}},A.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(void 0!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(void 0==n){e.nextClause();return}switch(n.type){case A.QueryLexer.TERM:return e.nextClause(),A.QueryParser.parseTerm;case A.QueryLexer.FIELD:return e.nextClause(),A.QueryParser.parseField;case A.QueryLexer.EDIT_DISTANCE:return A.QueryParser.parseEditDistance;case A.QueryLexer.BOOST:return A.QueryParser.parseBoost;case A.QueryLexer.PRESENCE:return e.nextClause(),A.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new A.QueryParseError(i,n.start,n.end)}}},A.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(void 0!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new A.QueryParseError(i,t.start,t.end)}e.currentClause.editDistance=n;var r=e.peekLexeme();if(void 0==r){e.nextClause();return}switch(r.type){case A.QueryLexer.TERM:return e.nextClause(),A.QueryParser.parseTerm;case A.QueryLexer.FIELD:return e.nextClause(),A.QueryParser.parseField;case A.QueryLexer.EDIT_DISTANCE:return A.QueryParser.parseEditDistance;case A.QueryLexer.BOOST:return A.QueryParser.parseBoost;case A.QueryLexer.PRESENCE:return e.nextClause(),A.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new A.QueryParseError(i,r.start,r.end)}}},A.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(void 0!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="boost must be numeric";throw new A.QueryParseError(i,t.start,t.end)}e.currentClause.boost=n;var r=e.peekLexeme();if(void 0==r){e.nextClause();return}switch(r.type){case A.QueryLexer.TERM:return e.nextClause(),A.QueryParser.parseTerm;case A.QueryLexer.FIELD:return e.nextClause(),A.QueryParser.parseField;case A.QueryLexer.EDIT_DISTANCE:return A.QueryParser.parseEditDistance;case A.QueryLexer.BOOST:return A.QueryParser.parseBoost;case A.QueryLexer.PRESENCE:return e.nextClause(),A.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new A.QueryParseError(i,r.start,r.end)}}},O=0,L=function(){return A},"function"==typeof define&&define.amd?define(L):e.exports=L()}()},5322:function(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>v});var i=n("5485"),r=n.n(i),s=n("4802");s.Z.tokenizer.separator=/[\s\-/]+/;let o=class e{constructor(e,t,n="/",i){this.searchDocs=e,this.lunrIndex=s.Z.Index.load(t),this.baseUrl=n,this.maxHits=i}getLunrResult(e){return this.lunrIndex.query(function(t){let n=s.Z.tokenizer(e);t.term(n,{boost:10}),t.term(n,{wildcard:s.Z.Query.wildcard.TRAILING})})}getHit(e,t,n){return{hierarchy:{lvl0:e.pageTitle||e.title,lvl1:0===e.type?null:e.title},url:e.url,version:e.version,_snippetResult:n?{content:{value:n,matchLevel:"full"}}:null,_highlightResult:{hierarchy:{lvl0:{value:0===e.type?t||e.title:e.pageTitle},lvl1:0===e.type?null:{value:t||e.title}}}}}getTitleHit(e,t,n){let i=t[0],r=t[0]+n,s=e.title.substring(0,i)+''+e.title.substring(i,r)+""+e.title.substring(r,e.title.length);return this.getHit(e,s)}getKeywordHit(e,t,n){let i=t[0],r=t[0]+n,s=e.title+"
Keywords: "+e.keywords.substring(0,i)+''+e.keywords.substring(i,r)+""+e.keywords.substring(r,e.keywords.length)+"";return this.getHit(e,s)}getContentHit(e,t){let n=t[0],i=t[0]+t[1],r=n,s=i,o=!0,a=!0;for(let t=0;t<3;t++){let t=e.content.lastIndexOf(" ",r-2),n=e.content.lastIndexOf(".",r-2);if(n>0&&n>t){r=n+1,o=!1;break}if(t<0){r=0,o=!1;break}r=t+1}for(let t=0;t<10;t++){let t=e.content.indexOf(" ",s+1),n=e.content.indexOf(".",s+1);if(n>0&&n",u+=e.content.substring(i,s),a&&(u+=" ..."),this.getHit(e,null,u)}search(e){return new Promise((t,n)=>{let i=this.getLunrResult(e),r=[];i.length>this.maxHits&&(i.length=this.maxHits),this.titleHitsRes=[],this.contentHitsRes=[],i.forEach(t=>{let n=this.searchDocs[t.ref],{metadata:i}=t.matchData;for(let s in i)if(i[s].title){if(!this.titleHitsRes.includes(t.ref)){let o=i[s].title.position[0];r.push(this.getTitleHit(n,o,e.length)),this.titleHitsRes.push(t.ref)}}else if(i[s].content){let e=i[s].content.position[0];r.push(this.getContentHit(n,e))}else if(i[s].keywords){let o=i[s].keywords.position[0];r.push(this.getKeywordHit(n,o,e.length)),this.titleHitsRes.push(t.ref)}}),r.length>this.maxHits&&(r.length=this.maxHits),t(r)})}};var a=n("1639"),u=n.n(a);let c="algolia-docsearch",l=`${c}-suggestion`,h=`${c}-footer`,p={suggestion:` + +
+ {{{category}}} +
+
+
+ {{{subcategory}}} +
+ {{#isTextOrSubcategoryNonEmpty}} +
+
{{{subcategory}}}
+
{{{title}}}
+ {{#text}}
{{{text}}}
{{/text}} + {{#version}}
{{version}}
{{/version}} +
+ {{/isTextOrSubcategoryNonEmpty}} +
+
+ `,suggestionSimple:` +
+
+ {{^isLvl0}} + {{{category}}} + {{^isLvl1}} + {{^isLvl1EmptyOrDuplicate}} + + {{{subcategory}}} + + {{/isLvl1EmptyOrDuplicate}} + {{/isLvl1}} + {{/isLvl0}} +
+ {{#isLvl2}} + {{{title}}} + {{/isLvl2}} + {{#isLvl1}} + {{{subcategory}}} + {{/isLvl1}} + {{#isLvl0}} + {{{category}}} + {{/isLvl0}} +
+
+
+ {{#text}} +
+
{{{text}}}
+
+ {{/text}} +
+
+ `,footer:` +
+
+ `,empty:` +
+
+
+
+
+ No results found for query "{{query}}" +
+
+
+
+
+ `,searchBox:` + + + + `};var d=n("7939"),f=n.n(d);let g={mergeKeyWithParent(e,t){if(void 0===e[t]||"object"!=typeof e[t])return e;let n=f().extend({},e,e[t]);return delete n[t],n},groupBy(e,t){let n={};return f().each(e,(e,i)=>{if(void 0===i[t])throw Error(`[groupBy]: Object has no key ${t}`);let r=i[t];"string"==typeof r&&(r=r.toLowerCase()),!Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=[]),n[r].push(i)}),n},values:e=>Object.keys(e).map(t=>e[t]),flatten(e){let t=[];return e.forEach(e=>{if(!Array.isArray(e)){t.push(e);return}e.forEach(e=>{t.push(e)})}),t},flattenAndFlagFirst(e,t){let n=this.values(e).map(e=>e.map((e,n)=>(e[t]=0===n,e)));return this.flatten(n)},compact(e){let t=[];return e.forEach(e=>{if(!!e)t.push(e)}),t},getHighlightedValue:(e,t)=>e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t],getSnippetedValue(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];let n=e._snippetResult[t].value;return n[0]!==n[0].toUpperCase()&&(n=`\u{2026}${n}`),-1===[".","!","?"].indexOf(n[n.length-1])&&(n=`${n}\u{2026}`),n},deepClone:e=>JSON.parse(JSON.stringify(e))};class m{constructor({searchDocs:e,searchIndex:t,inputSelector:n,debug:i=!1,baseUrl:r="/",queryDataCallback:s=null,autocompleteOptions:a={debug:!1,hint:!1,autoselect:!0},transformData:c=!1,queryHook:l=!1,handleSelected:h=!1,enhancedSearchInput:d=!1,layout:g="column",maxHits:v=5}){this.input=m.getInputFromSelector(n),this.queryDataCallback=s||null;let y=!!a&&!!a.debug&&a.debug;a.debug=i||y,this.autocompleteOptions=a,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds";let x=this.input&&"function"==typeof this.input.attr&&this.input.attr("aria-label");this.autocompleteOptions.ariaLabel=this.autocompleteOptions.ariaLabel||x||"search input",this.isSimpleLayout="simple"===g,this.client=new o(e,t,r,v),d&&(this.input=m.injectSearchBox(this.input)),this.autocomplete=u()(this.input,a,[{source:this.getAutocompleteSource(c,l),templates:{suggestion:m.getSuggestionTemplate(this.isSimpleLayout),footer:p.footer,empty:m.getEmptyTemplate()}}]);this.handleSelected=h||this.handleSelected,h&&f()(".algolia-autocomplete").on("click",".ds-suggestions a",e=>{e.preventDefault()}),this.autocomplete.on("autocomplete:selected",this.handleSelected.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),d&&m.bindSearchBoxEvent(),document.addEventListener("keydown",e=>{(e.ctrlKey||e.metaKey)&&"k"==e.key&&(this.input.focus(),e.preventDefault())})}static injectSearchBox(e){e.before(p.searchBox);let t=e.prev().prev().find("input");return e.remove(),t}static bindSearchBoxEvent(){f()('.searchbox [type="reset"]').on("click",function(){f()("input#docsearch").focus(),f()(this).addClass("hide"),u().autocomplete.setVal("")}),f()("input#docsearch").on("keyup",()=>{let e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")})}static getInputFromSelector(e){let t=f()(e).filter("input");return t.length?f()(t[0]):null}getAutocompleteSource(e,t){return(n,i)=>{t&&(n=t(n)||n),this.client.search(n).then(t=>{this.queryDataCallback&&"function"==typeof this.queryDataCallback&&this.queryDataCallback(t),e&&(t=e(t)||t),i(m.formatHits(t))})}}static formatHits(e){let t=g.deepClone(e).map(e=>(e._highlightResult&&(e._highlightResult=g.mergeKeyWithParent(e._highlightResult,"hierarchy")),g.mergeKeyWithParent(e,"hierarchy"))),n=g.groupBy(t,"lvl0");return f().each(n,(e,t)=>{let i=g.groupBy(t,"lvl1"),r=g.flattenAndFlagFirst(i,"isSubCategoryHeader");n[e]=r}),(n=g.flattenAndFlagFirst(n,"isCategoryHeader")).map(e=>{let t=m.formatURL(e),n=g.getHighlightedValue(e,"lvl0"),i=g.getHighlightedValue(e,"lvl1")||n,r=g.compact([g.getHighlightedValue(e,"lvl2")||i,g.getHighlightedValue(e,"lvl3"),g.getHighlightedValue(e,"lvl4"),g.getHighlightedValue(e,"lvl5"),g.getHighlightedValue(e,"lvl6")]).join(''),s=g.getSnippetedValue(e,"content"),o=i&&""!==i||r&&""!==r,a=!i||""===i||i===n,u=r&&""!==r&&r!==i,c=!u&&i&&""!==i&&i!==n,l=e.version;return{isLvl0:!c&&!u,isLvl1:c,isLvl2:u,isLvl1EmptyOrDuplicate:a,isCategoryHeader:e.isCategoryHeader,isSubCategoryHeader:e.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:o,category:n,subcategory:i,title:r,text:s,url:t,version:l}})}static formatURL(e){let{url:t,anchor:n}=e;if(t){if(-1!==t.indexOf("#"));else if(n)return`${e.url}#${e.anchor}`;return t}return n?`#${e.anchor}`:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}static getEmptyTemplate(){return e=>r().compile(p.empty).render(e)}static getSuggestionTemplate(e){let t=e?p.suggestionSimple:p.suggestion,n=r().compile(t);return e=>n.render(e)}handleSelected(e,t,n,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if("click"!==r.selectionMethod)e.setVal(""),window.location.assign(n.url)}handleShown(e){let t=e.offset().left+e.width()/2,n=f()(document).width()/2;isNaN(n)&&(n=900);let i=t-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",r=t-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=f()(".algolia-autocomplete");!s.hasClass(i)&&s.addClass(i),s.hasClass(r)&&s.removeClass(r)}}let v=m}}]); \ No newline at end of file diff --git a/docs/assets/js/43652efd.9bbcc68e.js b/docs/assets/js/43652efd.9bbcc68e.js new file mode 100644 index 0000000000..9eb6782c22 --- /dev/null +++ b/docs/assets/js/43652efd.9bbcc68e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9945"],{4736:function(e,t,i){i.r(t),i.d(t,{metadata:()=>n,contentTitle:()=>l,default:()=>A,assets:()=>d,toc:()=>c,frontMatter:()=>o});var n=JSON.parse('{"id":"tools/data-extractor","title":"Data Extractor","description":"Extract command or telemetry data into files","source":"@site/docs/tools/data-extractor.md","sourceDirName":"tools","slug":"/tools/data-extractor","permalink":"/docs/tools/data-extractor","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/data-extractor.md","tags":[],"version":"current","frontMatter":{"title":"Data Extractor","description":"Extract command or telemetry data into files","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Command History (Enterprise)","permalink":"/docs/tools/command_history"},"next":{"title":"Data Viewer","permalink":"/docs/tools/data-viewer"}}'),a=i("5893"),s=i("65");let o={title:"Data Extractor",description:"Extract command or telemetry data into files",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},l=void 0,d={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Data Extractor Menus",id:"data-extractor-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Mode Menu Items",id:"mode-menu-items",level:3},{value:"Selecting Items for Output",id:"selecting-items-for-output",level:2},{value:"Start/End Date/Time",id:"startend-datetime",level:3},{value:"Adding Target(s) Packet(s) Item(s)",id:"adding-targets-packets-items",level:3},{value:"Removing Items",id:"removing-items",level:3},{value:"Editing Items",id:"editing-items",level:3},{value:"Processing Items",id:"processing-items",level:2}];function r(e){let t={h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,a.jsx)(t.p,{children:"Data Extractor extracts command and telemetry items into comma or tab separated files. Individual items or entire packets can be processed over any time period. Data Extractor also has a number of options to control the output for post processing in Excel or Matlab, for example."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Data Extractor",src:i(8171).Z+"",width:"1271",height:"728"})}),"\n",(0,a.jsx)(t.h2,{id:"data-extractor-menus",children:"Data Extractor Menus"}),"\n",(0,a.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,a.jsx)("img",{src:i(5124).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Opens a saved configuration"}),"\n",(0,a.jsx)(t.li,{children:"Save the current configuration (item list)"}),"\n",(0,a.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n",(0,a.jsx)(t.li,{children:"Delimit output with commas"}),"\n",(0,a.jsx)(t.li,{children:"Delimit output with tabs"}),"\n"]}),"\n",(0,a.jsx)(t.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,a.jsx)(t.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,a.jsx)(t.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,a.jsx)(t.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,a.jsx)(t.h3,{id:"mode-menu-items",children:"Mode Menu Items"}),"\n",(0,a.jsx)("img",{src:i(9196).Z,alt:"Mode Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Fill empty cells with the previous value"}),"\n",(0,a.jsx)(t.li,{children:"Add a Matlab comment ('%') to the header"}),"\n",(0,a.jsx)(t.li,{children:"Only output changed values"}),"\n",(0,a.jsx)(t.li,{children:"Only list item name as column header"}),"\n",(0,a.jsx)(t.li,{children:"List full Target Packet Item as header"}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"selecting-items-for-output",children:"Selecting Items for Output"}),"\n",(0,a.jsx)(t.h3,{id:"startend-datetime",children:"Start/End Date/Time"}),"\n",(0,a.jsx)(t.p,{children:"Data Extractor provides text fields where you specify the time range to extract items. Clicking the Start Date and End Date text fields opens a Date Chooser dialog. Note you can also manually type in the date. Clicking the Start Time and End Time icon opens up a Time Chooser dialog. Note you can also manually type in the time."}),"\n",(0,a.jsx)(t.h3,{id:"adding-targets-packets-items",children:"Adding Target(s) Packet(s) Item(s)"}),"\n",(0,a.jsx)(t.p,{children:'Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Select Target",src:i(1904).Z+"",width:"1276",height:"630"})}),"\n",(0,a.jsx)(t.p,{children:'When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Select Packet",src:i(1255).Z+"",width:"1276",height:"629"})}),"\n",(0,a.jsx)(t.p,{children:'When you select an individual Item the button changes to "Add Item" and the Description field updates with the item\'s description.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Select Item",src:i(642).Z+"",width:"1276",height:"601"})}),"\n",(0,a.jsx)(t.h3,{id:"removing-items",children:"Removing Items"}),"\n",(0,a.jsx)(t.p,{children:"Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Delete All Mouseover",src:i(3407).Z+"",width:"391",height:"129"})}),"\n",(0,a.jsx)(t.h3,{id:"editing-items",children:"Editing Items"}),"\n",(0,a.jsx)(t.p,{children:"Items can be edited by clicking the Pencil icon next to the item. ALL items can be edited by clicking the pencil icon in the header."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Edit All Mouseover",src:i(7087).Z+"",width:"375",height:"124"})}),"\n",(0,a.jsx)(t.p,{children:"Clicking the Edit All brings up the Edit All Items dialog."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Edit All",src:i(8773).Z+"",width:"599",height:"382"})}),"\n",(0,a.jsx)(t.p,{children:"This allows you to change the data type of all items in the list. Clicking the pencil next to an individual item brings up a similar dialog to edit the individual item."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Edit TEMP1",src:i(3946).Z+"",width:"599",height:"382"})}),"\n",(0,a.jsx)(t.h2,{id:"processing-items",children:"Processing Items"}),"\n",(0,a.jsx)(t.p,{children:"Clicking the Process button starts the processing of the items list. A progress wheel is shown on the left side of the table and the Process button changes to Cancel to allow canceling the process."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Processing",src:i(6796).Z+"",width:"1273",height:"630"})}),"\n",(0,a.jsx)(t.p,{children:"When the processing is complete, the browser shows a file download link. Note this varies by browser. This example is from Chrome."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Processing Done",src:i(1626).Z+"",width:"1273",height:"630"})})]})}function A(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(r,{...e})}):r(e)}},5124:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/file_menu-7880f656c65d1c95d94f11d85f83f1fb2cf1e743397022902485e1330467bdb4.png"},9196:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/mode_menu-9ff9a2c1b2cae1eb15a7bd95c0d2bd939cf8f183a083edfcb2b70748dd1bbfe1.png"},642:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/add_item-4e7c51e0d6a7304260097ccfe8a64d7f2d2b428dba9758070a618ca0dcc89457.png"},1255:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/add_packet-74322c89982856286103da2c91c4246a4a8aa319c216bc1c169515ab28381cd6.png"},1904:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/add_target-f1f0d16faf5f3c1ecdfe3daa90d44d082053845d5f7a59e988d90ff0b5ba00ff.png"},8171:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/data_extractor-e0cd7006244f50f7d1811ee3f287b300aa3ccfb09f4716e1dd9990d1cc38a510.png"},3407:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/delete_all_mouseover-e45ea88fcc088c18c88e03ddad5ad6fa9fa3869f67c1548bdfb3da447eceb228.png"},8773:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/edit_all_items-1de8be31edb8443427b834f03efea4ac5bceb722e5da0c0b38b2d006ff4364a7.png"},7087:function(e,t,i){i.d(t,{Z:function(){return n}});let n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXcAAAB8CAYAAACScPCJAAAKqWlDQ1BJQ0MgUHJvZmlsZQAASImVlwdQU+kWgP9700MCgQQEpIQaivQWQErooUY6iEpIAoQSQiCo2JXFFVxRRERAEXRVRMFVKWJHFNuioALWBVlElHWxYMPyLjCE3X3z3pt3Zs6cb849//nP/889d84FgEzhisVpMAWAdFG2JNTXgx4dE0vHDQMSUAAUYAjUuLwsMYvDCQSIzNi/y/seAE3aO2aTuf79+X8VRb4giwcAxEE4gZ/FS0f4JKIveGJJNgCovYhfb2m2eJLbEaZJkAIR7pvkpGkeneSEKUaDqZjwUE+EaQDgSVyuJAkAEh3x03N4SUgekjvCliK+UISwGGHX9PQMPsLHEDZCYhAfaTI/M+EveZL+ljNBlpPLTZLx9FmmBO8lzBKncZf/n9fxvyU9TTqzhyGipGSJXyhilZA760vNCJCxKCE4ZIaF/Kn4KU6W+kXMMC/LM3aG+VyvANnatODAGU4U+rBlebLZ4TMsyPIOm2FJRqhsr0SJJ2uGuZLZfaWpETJ/soAty5+bHB41wznCyOAZzkoNC5iN8ZT5JdJQWf0Cka/H7L4+srOnZ/3lvEK2bG12crif7Ozc2foFItZszqxoWW18gZf3bEyELF6c7SHbS5zGkcUL0nxl/qycMNnabOSFnF3Lkd1hCtefM8PAD3AAHUQi1hrYAkvABSBbsCx78iCeGeLlEmFScjadhXSYgM4W8czn0a0trW0AmOzX6dfhbd9UH0Iq+FkffwgAm8meMpr1pSDdfvo90nqNsz7GAACU3QBc4PCkkpxp31QvYQAR+RLQgBrQAnrACJgh1dkDZ+AOvIE/CAHhIAYsBjyQDNKBBCwFK8E6kA8KwVawA5SDKrAPHAJHwXHQDM6Ai+AKuAFug3vgIegHQ+AlGAPvwQQEQTiIDFEhNUgbMoBMIWuICblC3lAgFArFQPFQEiSCpNBKaANUCBVD5VA1VAv9Ap2CLkLXoC7oPjQAjUBvoM8wCibBNFgTNoQtYCbMggPgcHgRnARnwrlwHrwFLoNr4CNwE3wRvgHfg/vhl/A4CqDkUCooHZQZionyRIWgYlGJKAlqNaoAVYqqQdWjWlEdqDuoftQo6hMai6ai6WgztDPaDx2B5qEz0avRm9Hl6EPoJnQ7+g56AD2G/oYhYzQwphgnDBsTjUnCLMXkY0oxBzCNmMuYe5ghzHssFquCZWAdsH7YGGwKdgV2M3Y3tgF7AduFHcSO43A4NZwpzgUXguPisnH5uF24I7jzuG7cEO4jXg6vjbfG++Bj8SL8enwp/jD+HL4bP4yfIFAIBgQnQgiBT1hOKCLsJ7QSbhGGCBNERSKD6EIMJ6YQ1xHLiPXEy8RHxLdycnK6co5yC+SEcmvlyuSOyV2VG5D7RFIimZA8SXEkKWkL6SDpAuk+6S2ZTDYku5NjydnkLeRa8iXyE/JHeaq8uTxbni+/Rr5Cvkm+W/6VAkHBQIGlsFghV6FU4YTCLYVRCoFiSPGkcCmrKRWUU5ReyrgiVdFKMUQxXXGz4mHFa4rPlXBKhkreSnylPKV9SpeUBqkoqh7Vk8qjbqDup16mDtGwNAaNTUuhFdKO0jppY8pKyrbKkcrLlCuUzyr3q6BUDFXYKmkqRSrHVXpUPs/RnMOaI5izaU79nO45H1TnqrqrClQLVBtU76l+VqOreaulqm1Ta1Z7rI5WN1FfoL5UfY/6ZfXRubS5znN5cwvmHp/7QAPWMNEI1VihsU/jpsa4ppamr6ZYc5fmJc1RLRUtd60UrRKtc1oj2lRtV22hdon2ee0XdGU6i55GL6O308d0NHT8dKQ61TqdOhO6DN0I3fW6DbqP9Yh6TL1EvRK9Nr0xfW39IP2V+nX6DwwIBkyDZIOdBh0GHwwZhlGGGw2bDZ8zVBlsRi6jjvHIiGzkZpRpVGN01xhrzDRONd5tfNsENrEzSTapMLllCpvamwpNd5t2zcPMc5wnmlczr9eMZMYyyzGrMxswVzEPNF9v3mz+ykLfItZim0WHxTdLO8s0y/2WD62UrPyt1lu1Wr2xNrHmWVdY37Uh2/jYrLFpsXlta2orsN1j22dHtQuy22jXZvfV3sFeYl9vP+Kg7xDvUOnQy6QxOczNzKuOGEcPxzWOZxw/Odk7ZTsdd/rT2cw51fmw8/P5jPmC+fvnD7rounBdql36Xemu8a57XfvddNy4bjVuT9313PnuB9yHWcasFNYR1isPSw+JR6PHB08nz1WeF7xQXr5eBV6d3kreEd7l3k98dH2SfOp8xnztfFf4XvDD+AX4bfPrZWuyeexa9pi/g/8q//YAUkBYQHnA00CTQElgaxAc5B+0PehRsEGwKLg5BISwQ7aHPOYwOJmc0wuwCzgLKhY8C7UKXRnaEUYNWxJ2OOx9uEd4UfjDCKMIaURbpEJkXGRt5Icor6jiqP5oi+hV0Tdi1GOEMS2xuNjI2AOx4wu9F+5YOBRnF5cf17OIsWjZomuL1RenLT67RGEJd8mJeEx8VPzh+C/cEG4NdzyBnVCZMMbz5O3kveS780v4IwIXQbFgONElsTjxeZJL0vakkWS35NLkUaGnsFz4OsUvpSrlQ2pI6sHU72lRaQ3p+PT49FMiJVGqqD1DK2NZRpfYVJwv7s90ytyROSYJkBzIgrIWZbVk05DB6KbUSPqDdCDHNaci5+PSyKUnlikuEy27udxk+ablw7k+uT+vQK/grWhbqbNy3cqBVaxV1auh1Qmr29borclbM7TWd+2hdcR1qet+XW+5vnj9uw1RG1rzNPPW5g3+4PtDXb58viS/d6Pzxqof0T8Kf+zcZLNp16ZvBfyC64WWhaWFXzbzNl//yeqnsp++b0nc0llkX7RnK3araGvPNrdth4oVi3OLB7cHbW8qoZcUlLzbsWTHtVLb0qqdxJ3Snf1lgWUtu/R3bd31pTy5/F6FR0VDpUblpsoPu/m7u/e476mv0qwqrPq8V7i3r9q3uqnGsKZ0H3Zfzr5n+yP3d/zM/Ln2gPqBwgNfD4oO9h8KPdRe61Bbe1jjcFEdXCetGzkSd+T2Ua+jLfVm9dUNKg2Fx8Ax6bEXv8T/0nM84HjbCeaJ+pMGJysbqY0FTVDT8qax5uTm/paYlq5T/qfaWp1bG0+bnz54RudMxVnls0XniOfyzn0/n3t+/IL4wujFpIuDbUvaHl6KvnS3fUF75+WAy1ev+Fy51MHqOH/V5eqZa07XTl1nXm++YX+j6abdzcZf7X5t7LTvbLrlcKvltuPt1q75Xee63bov3vG6c+Uu++6Ne8H3unoievp643r7+/h9z++n3X/9IOfBxMO1jzCPCh5THpc+0XhS85vxbw399v1nB7wGbj4Ne/pwkDf48ves378M5T0jPysd1h6ufW79/MyIz8jtFwtfDL0Uv5wYzf9D8Y/KV0avTv7p/ufNseixodeS19/fbH6r9vbgO9t3beOc8Sfv099PfCj4qPbx0Cfmp47PUZ+HJ5Z+wX0p+2r8tfVbwLdH39O/fxdzJdypUQCFKJyYCMCbgwCQYwCg3gaAuHB6np4SaPofYIrAf+LpmXtK7AFAUiHjDgCh7gBUIspAVGEtABzEhrsD2MZGpjOz79ScPim68gDYViCTA9Tn3Q3+KdMz/F/q/qcFsqx/s/8ChOcBmClFzDgAAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAXegAwAEAAAAAQAAAHwAAAAAQVNDSUkAAABTY3JlZW5zaG903ZaBKQAAAdZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjM3NTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgobezfOAAAZuElEQVR4Ae2dCXhURbqG/6Q76U4ggRAiGHbIsKoQ9h1ZXFh0vO4bgnrVCzriOqL3zqCjXHEYHXGbR6+jIjq4L7gPgmwKCIRFdtmEEBAICSE7Cdz6qjltJ3SSXk53evn+5+k+W1Wdqrf6+U71X3WqYpp27H1KaCRAAiRAAhFDoDTvoMRGTGlYEBIgARIgAQeBU6co7vwtkAAJkEAkEmDLPRJrlWUiARKIegIU96j/CRAACZBAJBKwRmKhWCYSIIHwIxAbGytxVqtYrRaxWCyC49iYGBF8YMqPfBKfkyelsrJSKioq5URFhT52BOC3k4DiRHF30uAOCZBAsAnEKOG22eIlPi5OiXodcqTCQuwh+ghrszlyW6EEvvzECSkrK1f6z8F/Rh3WQdMIxi0JkAAJmEcAAp1gtymBPq3QfiQNoccnMSFBCXyZlJSWsTWveFLc/fhRMSoJkID3BBLsdklIsHsf0YMYeFjgU1JSqkS+1IMYkRuE4h65dcuSkUBIEbAqP3piYkLd7hcTco2HR1ycVYqLS6RC+eej0ThaJhprnWUmgSATsMXHS3JyUlCE3SgaXDW4J+4djUZxj8ZaZ5lJIIgE7Mq33qBBYhDvWPVWuDfyEG1GcY+2Gmd5SSCIBCCq6Oisb0Meok3gKe71/avj/UkgQgnAHRIKwm7gRV6iyUVDcTdqnlsSIAHTCKDztD5dMTUVBHlC3qLBKO7RUMssIwkEmQBGxYSqhXLezGRGcTeTJtMiARJQLyfZgzoqxlvkGEWDPEa6UdwjvYZZPhIIIgH95mmAXlAysxgYB4+8RrJFdukiueZYNhIIQQKYUiBcLJzy6gtTirsv1BiHBEjgDAKOScDCR9wxTQHyHKlGcY/UmmW5SCDIBDC7Y7BscP/esnjev2TqlDv8Emgz82yxqNkq1UgcfNq1aSVZC+fJ4W2rqnxwDteMcIgTKIvhAtmBQst0SSC6CCQnNQxKR+qQ/n3kpZmP6WmCQXjuR5/JYzOf92m6X0wXXHC80JSKOrh5pZqH3juxrqw8Kc279jPl/q6JlObmcA1VVyDcJwES8I2AMce6b7G9i9Upo51T2BHzussvkYfuvt27RE6HxsiZSO1Y5ayQPv0kGIkESMCVAFZQCrShxX5W0yby6lvvaUG+f/KtzluOHjlMZsx62XnszQ7yXlZe7k0Ut2HRAvf2BalAzlgZ+Bpxi4EnSYAEIokAlsYLpBmuGP0QUZ2gr7z5jr4dBB6rMP33/z7j8+2Rd7WIkyl2YPMKr9JJ69THq/DeBKa4e0OLYUmABNwSwJqngTJD2LEUH2z6I/fpLQQe66lu27Fblq1Yrc/58hXIvPuSH7PiUNzNIsl0SCCKCQTKb11d2IEYwxe1wKv1UuGi8dcClXd/8+VvfO+6dv29G+OTAAlEJAEsXG22uRN24x4n1CiXQ0eOGod+bQORd78yZFJkirtJIJkMCUQ1AZPFvTZhh4998oPTZOmKVeYgNznv5mTK/1Qo7v4zZAokQAImEgiqsJuY71BLiuIeajXC/JBAOBJQ/m8zrF6E3aS8m1F+M9OguJtJk2mRQJQSOGmCQNaLsKv6MiPvoVjtFPdQrBXmiQTCjACGJPpj9SXsyLO/efen3IGMS3EPJF2mTQJRQqCystLnktansCPT/uTd50IHISLFPQiQeQsSiHQCFRW+i7vrJGCunEwfFeOauMu+P3l3SSbkdinuIVclzBAJhB8BjDv31Yw3T13jY66XSQ/+2bzhjq6JV9v3J+/VkgqpQ4p7SFUHM0MC4UkAfmtMn2uGQdgn/3GaX1MKeJoP5NlMn3vWhk2e3lq8Cetxoi4BKe4uMLhLAiTgOwG4Ufy1YAo78mpGnl3LPO2pWR6JNoQdYQNpXKwjkHSZNglEEQHM+ZLSuFFYlTgv/5hPi3yEeiG5WEeo1xDzRwJhROCUGuteVlYWNjlGXpHnSDW6ZSK1ZlkuEqgHAiWl4SPu4ZRXX6qS4u4LNcYhARJwSwCdkyUlpW6vhdJJ5NHMjtRQKpuRF4q7QYJbEiABUwiUlJaaNnLGlAxVSwQjZJDHSDeKe6TXMMtHAvVAoLi4pB7u6tktQzlvnpXAs1AUd884MRQJkIAXBLDwc1FRsRcxghMUeQrkotTBKYVnd6G4e8aJoUiABLwkgDHrxSWh04JHXpCnaDGKe7TUNMtJAvVAoFSNngkFgUcekJdoMop7NNU2y0oC9UAAolqfLhrcO9qEHdVsrYe65i1JgASijADcIZhaNzExQazW4MgORsWg8zRafOzVf1JsuVcnwmMSIIGAEIDIFhwvDMo4eIxjx72iVdhRgcF5hAbkp8JESYAEwpEAxpijJZ9gt4nNZjO1CJhSAG+eRvoLSp5Ao7h7QolhSIAETCUA8S1SLpNi1cK22eIFc7r76q6B+wWzO5aVlUf0XDHeVgDF3VtiDE8CJGAaAUzchc5OfGJjYyVO+eOtVotYLBZ9HKtmmhR8YCosFrPGgwH+e6yghIU22Ep34Kn+TXGvToTHJEAC9UIAIg13jWqA00wgwA5VEyAyCRIgARIINQIU91CrEeaHBEiABEwgQHE3ASKTIAESIIGQIqD6KSjuIVUjzAwJkAAJmEOA4m4OR6ZCAiRAAiFFwIrhRTQSIAESIIEwJ3B6xKgaO6oLYj0lFPcwr1JmnwRIIOoJxEiMU8odO9aYGHpmov53QQAkQAJhTSDm9IteeFfAaMDzJaawrlJmngRIgATw8q6jtY63fE+dVneKO38ZJBABBBom2KTt2amSkpQo+pX9CChTpBcBUynkHS+WPQdypbDEnIVEIPIOb0wMZ4WM9B8Qyxf5BCDsmR1bUdTDrKrxEE5NbqAfyGu37zNP4JVrBkaHe5j9IJhdEqhOAC12ttarUwmfY9Qd6tBso7ibTZTpkUCQCcAVQwtvAoGoQ4p7eP8mmHsSYKs9An4DgfjnRXGPgB8Gi0ACJEAC1QlQ3KsT4TEJkAAJRAABinsEVCKLQAIkQAJVCKix7hT3KkR4QAIkQAKRQYDiHhn1yFKQAAmQQBUCFPcqOHhAAiTgCYHh558vrVq10kHxyrsxt4kncT0J06tXT+nWrasOmpScJGPHjJZ4W7wnURnmNAFOP8CfAglEOYHMzB5y0/gbz6BQUHBcpj362BnncWL48PPVQtZlsm/fPrn55glSXFwic+e+o8M2a9ZMCosKpaiwyG1c42R6ero8+MB98vobs2XDhp+M03rbs2emHDtWIJs2bZakhkkyZvRoWbRkiZS7WT37madnymuvvyEbN24Si8UizZs3l18P/SoVJyqqpBltBxT3aKtxlpcEqhGAIKLl/Zcnple5YkxGVeWkm4MvvvhKTlSccF654/bbZPHixbJ4yVLnOXc7Awf016cHDhxwhri7C1/TOVu8TfDvAZbYIFEemfqQTH9yhuTk5NQUJSrOU9yjoppZSBKom8DR3KM1BoJo9urZU+Lj488Q4saNG0l5ebmUlJRIZo8ekpBglw4dOkj+sWOyfv0Gt2larBbp06e3fPDhR3LN1VdJcqNkKVAtdX8M/wS6dOmsk8js0V1sNpvs3r1bH9tVns7p1k1SUlJky5atkp2drc+nNEmRDJXXrdu26bxbLVb5aeNGOXz4sHTq1FFaK9fTzzt2yp49e3R44+vss8+Wrl276H8uO3fuksrKSuNSyGw9EvdEBSk9LUWSGzZQT0hjtuCQKQMzQgJRTSDB7p8v2h4fJ3FWq9SUDtwi9957j9jtduUm2STDhgyWVCWKiIc4o0YMVy6UY7JgwQJp37aNOmeXtKap0rplS9m+bavbuul+Xnf1Zq3I2qw1MmTQQBk6aJAsWLjAGdYWFye2OEeeEpSvPS7OItChky7/EIzAuGZXD5201BRp07qVDtuqZQvJPXJEDh7YL40bNZL77rtX8vLydT4vu/QS5UKaK2uysqRDu7Yy8abxcvDgQdmvWvptWreWS8aNkc2bN2v3zqFDh2Tc2DGyfPly+XTePH3LsWPGqAdTH9mkwgxW/zrwz2fGU085p9018uXtNqNlc8k5nCfFZebMEFmnuANo53YtZc/evbJt+/aQfEJ5C5HhSSCSCIwc1NOv4pSUlgoWebjh+uurpPPlV19L9v5suWDUBcrtUiHTpj4spWWlkpyULNP+/CdBvKLiYilTYoRPthLH2XPmSNt27ZQYrlA+8sVV0nM9gE/9+++XK998kSxdtkxGjBgh8z7/zBnESBPpF6t/BOXlJ/S9cFzdcK2ktETWb9ggO3ftlp6ZmUqIP1NivV8HnThhgm6tv/raa/r4QlWeiy6+WJao++LfBlrdL7z4kuQezRW03J+a8aSkNGkijz3+uA4/cMAAGTt2rMx9912xxFpkgDp+7fXXdQs/Pi5eJk36L0lLO0t273H8S6ieP0+O1TpKclTdv3O71rJ1d7YpAl+nuKPFDmE/+OshT/LIMCRAAmFIAOK+ZWvVVnaREl5Yu/bt5GfVsIOwwwqOF2jB1Qc+fDVu1Fg6d+4sH3/yqY69Zk2WXHnFFdKhfQclzjt9SLHmKOhLgIto5cofZUB/h4/fqv4RpDRuLA0bNNQRIe4QdlhFZYV6oO2XncoVY1h29n4dPsGeoMpdrK+PGzdOkpOTZd269TLrueeMoD5vsdypobHpaamyI/ugz2kZEesUd7hi0GKnkQAJRC4BiDta0O4sMTFRtio/tVnWv38/7cLA8EbDKioqlfj2M13cIeBwJzVr3kySkhxijntmKZdMnHL9eGLVO5ZfeOFF1Xrvr10z11x9taxZs0beefc9PXrIk/RqC3P4SK60Va4hM6xOcYePPRQ7C8woPNMgARKom8DR3FzV+m1fd0APQ/Tr109Wr14tu053diLaESVqgwcPkvc/+NAUkTSygiGZcPHAh/6t6hOobi2Vb94bQ/8D4ixSo4HwSW2SKo88PFWXpaaHozfpQ2vN6td0jB/y5u4MSwIkEJEEGiQ2kOofFPTHVaskIyND+vXtqzpe4wQ+6CZq1ElNlp+fL6mp7hefyOiQoTpbm8onn87T/xQgiPh8+tk8qVT/HjDm3h+DDx0jd5qoDl8YWt3w/w8dOlQ6deyoh3x27tRJJowf79OLV1bV8XzXnXfKoIEDdUcq7oHl8n4NQbd1nS13ZJ5GAiQQ2QTgopj516eqFBKtyD9MmSJZa9eqUSRt5MYbbtCfLVu2qJb2kSphXQ9++OEHue7aa6WLGir4xPSqY+fhetmu3LzHCo65RtHegTWqNY/OyhUrV1a55s0BxtsvW/a93H7bbXr77vvv6VEu8Wpkz52TJ2uxP1ZQIG+//bZPo1vy8vPkn6pj9qqrrpKrrrxS9z2sUA+P7T+Hnus6pmnH3o5ls2sg2LtrhvywclUNV3maBEigvgn4O1rG0/yj1Y5hf0bHam3x8GIROjM9CVtbOr5eQ+fniRMndAepkQbybrfZ1aib2t+cNcLXtcW/HLPSwr0WfJ+lbzmwXx9ZvXlHXbev9Xpp3kEukF0rIV4kARJwEkCr2PVNVOcFNzuYmqA+DUMjqxv+iZgpxmamVT2vZhzT524GRaZBAiRAAiFGgOIeYhXC7JAACZCAGQSC1qFqb99TGg29QezteoglqalUHj8ipbvXybHFc/TWjMIwDRIgARIgAQeBoIh78qBrJO2aR0X1sDi5W5u0kIb49Bwjh+f+SQqWf+C8xh0SIAESIAH/CARc3J3Cfuqk5C+cLYVr1fSgh36RuKatpGHmRdJo5K2Sdp1jDgd/BN5iiZXM7udJi7Obqx76MvWm2x7ZtecXPWeGf4j8j90rs7v88Z47Zf53i+XVN972P0GmQAIkQAJ1EAiouMMVo1vsSthzXrpNSrb94MxO2b5Ngk/RpiWSfvdsLfDlB36W0j3rnWE83Wl2Vpo88uA90lxtXW39T5vk7y++rCYHcsyJ4XqN+yQQKQROnTwlMZytNayrE3VotgW0QxU+drhi8r+bXUXYXQtRunO15M9/RYdLHlJ1VjrXcLXt33XHrVrY5y9cLA888qj8z19myIpVWdL93G5yy3jf0qztfrxGAqFEIDffv3nQQ6ks0ZqXQNRhYFvuqvMUBldMbVaY9ZWkXDRJdbZm1hbM7TW8mJDRoZ12v7z97od6GlIEfH3OXDm3W2fp3ClDv0xhTP7TNLWJ9DjvHDlbTST0y9598v2KH9XbcSedaTdS6zX2Uq9At0hvribp3yXrftoopaWOMbtY7WXsRaMkT81dnZ2dI4MG9JWVq7Nkx07HVJ+9lfvldxnt1ZtvIhs3b1WfLc50jZ0O7dtKn5495IhaGAH35r8Kgwy3vhLYtTdHUhsns/XuK8B6jodWO+rQbAuouGNUDAw+9trsxGHHdUuy+/koaouLFxNycg5IyxbpMvrCEfLpF19rscYqMLdMuqdK1G5dOmn3jVU9EDALHsT6ghHD5LEnn5YKNV81hPehe/8gEPiC44Uy7mI1j7Vah3HGM89robao8Ddee6UUqrUhMW2oXc11/+uhw9q/f//dk7RoY56JWPVv5T8uGS2ffz1f5sx935mHHueeIyOHDdEPG7y9N+GGa+Su+x/Wa0U6A3GHBLwkcLyoRFZt2CrtW6dT5L1kV5/BIeposUPYUYdmW0DFHcMdMSoGnafwr9dkuA6rOLKvpiC1nn9NtdIhytdccZkWa7hnFixaquavOO6M10gt4/XAlMl6Id+Zz76oJvI/oMV12OABMur8IfL1t9/JZeNG62lBZ856SVZnrZOB/fvIlEm3yeWXjqnSCm+opkFG+st/XK3TGT50sBb2DRs3y6uzHR2myA8eDouWfO/MAyYdmjrtCf1AmHjDtTJ86CDp1eM8Wbh4mTMMd0jAFwIQh/VbfpuD3Jc0GCeyCATU5166a62mhVExtVmDHhfry2X7fZszetOWbfKwEk0IbsMGDbTIv/TsX5W//TrnwrldOv5OEhMSZIla/WXn7t16zovPv/q3vu+53brq7dPP/UOum3iHrNuwUS8ThgcArHmzs/TW+Mo9mievvD5Hftq0RY6qpbv69Xa4k7769wIt3GjNvzn3PflmwSKJUxMWGbZ67TrlCsrWbp6lP6zQp8/t1sW4zC0JkAAJmEYgoC33Y0vekoa9xurhjhgVg87T6mZv21352+9Q82ZWSv4CxzJY1cN4crz/wEEtuG+984H079tLfq9a4ReNGq7FHa3pDLWaDAytaXxcrWnTJvoQq7PcctN1uhUOt4lhrvs4B1eQq2G0Dmzbz7+1nPCAwAfWK7Ox3rp+YbgmzNMFA1zjcp8ESIAE6iIQUHHHG6h4QQnj2DHcEaNi0HkKHztcMWixQ9hjLHFy/MdPpDxne135PeN6uhrXjg7SHCXuEFOstwg3B4T2mScf066Vf775L+fscJjhEkMkXc1Yl/HuSf8pXTt3lPc+mifLlq+UPDUv9Zz/e9E1qNv9omKHv6yxcv0YabkNyJMkQAIkECQCARV3lMF4MQkCjxEx+FQx1WKHsCf1uVTs7XtJzvMTpeLo/ipBajtAK3rC9VfL8cJCmXTPQ3qaT4TH6ivoNEXLGCub7PnF4c8/Ky1NFi39bbx9m9YtZe++/bqTs3PHDP0C1Meffanj/rYsV+1jUPepNRYzVGdsF/VgwD8I2CWjL1QPlr561I4+wS8SIAESCCKBgIs7ygKBxwtKGMeO4Y4YFYPOU/jY4YpBix3CjtZ8iylvyv5Z45XAezY0CP5tDEfs17un/G36NMla/5MW+D69MrVLZsVyx1DHH9esVW+s7tUi/Pifpqpx8Kv1cMiR5w+V2W+/K1/PX6hb/xh1M+m2ibJPCf75QwbpqoAfv7prxrWO5n35jQwd1F8/ZFqp+HjgjBo+TA/L3P3LXjnvHIdP3zUO90mABEggkASCIu4oAN48re3tU7TYW0yZo0fXtJjy1mmB96wF//cXXtYjXTDyZcyFIzUv+LS/+OZbeeeDj/UxWvFP/m2W3Kw6WfuqDtCOajw6WvvfqFEy8xcu0mGe+8ercvXlvxdMlh87oJ98p9w7WMElrWmqwK+eq8amuzO4hKbPfFZuv3m8XHzBCL3s1nblFnrxldec/yTcxeM5EiABEggUgZBaiQnDJh0Cn65b7o4WvGcCbwBKSLALVoHBUlrGi0vGNWOLeWiSk5K1T90457pFGifVi01lai1Gbw2t/IrKCueLT97GZ3gSIIHoJmDWSkwBHQrpbRXB1264ZKxN0p1C7006eOMTLzDVJOxIC2+korO0JkMavgg70issKqKw1wSW50mABIJGIKTEHaV2FfhTqgWsejaDBoM3IgESIIFIIRA0n7s3wBwCf6MW9op8x+gTb+IzLAmQAAlEO4GQFHdUiqejZaK9All+EiABEnBHIOTcMu4yyXMkQAIkQALeEaC4e8eLoUmABEggLAhQ3MOimphJEiABEvCOAMXdO14MTQIkQAJhQYDiHhbVxEySAAmQgHcEKO7e8WJoEiABEggLAnWK+0m1FBTWKaWRAAmQAAkElgC0FpprhtUp7gVqvVBMnEUjARIgARIILAFoLTTXDKtT3HMO50nb1q31UnNswZuBnGmQAAmQQFUC0FYs5wmtheaaYXXOCombJNpskp6WIslqYWgsfEEjARIgARIwjwBcMWixQ9iLTy/B6U/qpXkHxaPpB3CzHdmc48Uf2IxLAiRAAsEkUKdbJpiZ4b1IgARIgATMIUBxN4cjUyEBEiCBkCJAcQ+p6mBmSIAESMAcAhR3czgyFRIgARIIKQIU95CqDmaGBEiABMwhQHE3hyNTIQESIIGQIvD/JX1hOd8NK94AAAAASUVORK5CYII="},3946:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/edit_temp1-545919bb22c6882d3b02cd4a4d8b9410b69e410c958b4472b8a643f48889f434.png"},6796:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/processing-25c56ec1beef6f8df3db085378c31d2dd44289280414497d87ce8d12b4beebb9.png"},1626:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/processing_done-1d74097c066b6067e07a73735626dbff19f3102599c548b3874eb4f52ad5335d.png"},65:function(e,t,i){i.d(t,{Z:function(){return l},a:function(){return o}});var n=i(7294);let a={},s=n.createContext(a);function o(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/43652efd.dd5d769b.js b/docs/assets/js/43652efd.dd5d769b.js deleted file mode 100644 index 8864cc1960..0000000000 --- a/docs/assets/js/43652efd.dd5d769b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5750],{8733:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>A,frontMatter:()=>o,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"tools/data-extractor","title":"Data Extractor","description":"Extract command or telemetry data into files","source":"@site/docs/tools/data-extractor.md","sourceDirName":"tools","slug":"/tools/data-extractor","permalink":"/docs/tools/data-extractor","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/data-extractor.md","tags":[],"version":"current","frontMatter":{"title":"Data Extractor","description":"Extract command or telemetry data into files","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Command History (Enterprise)","permalink":"/docs/tools/command_history"},"next":{"title":"Data Viewer","permalink":"/docs/tools/data-viewer"}}');var a=i(4848),s=i(8453);const o={title:"Data Extractor",description:"Extract command or telemetry data into files",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},d=void 0,c={},l=[{value:"Introduction",id:"introduction",level:2},{value:"Data Extractor Menus",id:"data-extractor-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Mode Menu Items",id:"mode-menu-items",level:3},{value:"Selecting Items for Output",id:"selecting-items-for-output",level:2},{value:"Start/End Date/Time",id:"startend-datetime",level:3},{value:"Adding Target(s) Packet(s) Item(s)",id:"adding-targets-packets-items",level:3},{value:"Removing Items",id:"removing-items",level:3},{value:"Editing Items",id:"editing-items",level:3},{value:"Processing Items",id:"processing-items",level:2}];function r(e){const t={h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,a.jsx)(t.p,{children:"Data Extractor extracts command and telemetry items into comma or tab separated files. Individual items or entire packets can be processed over any time period. Data Extractor also has a number of options to control the output for post processing in Excel or Matlab, for example."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Data Extractor",src:i(9401).A+"",width:"1271",height:"728"})}),"\n",(0,a.jsx)(t.h2,{id:"data-extractor-menus",children:"Data Extractor Menus"}),"\n",(0,a.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,a.jsx)("img",{src:i(148).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Opens a saved configuration"}),"\n",(0,a.jsx)(t.li,{children:"Save the current configuration (item list)"}),"\n",(0,a.jsx)(t.li,{children:"Reset the configuration (default settings)"}),"\n",(0,a.jsx)(t.li,{children:"Delimit output with commas"}),"\n",(0,a.jsx)(t.li,{children:"Delimit output with tabs"}),"\n"]}),"\n",(0,a.jsx)(t.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,a.jsx)(t.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,a.jsx)(t.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,a.jsx)(t.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,a.jsx)(t.h3,{id:"mode-menu-items",children:"Mode Menu Items"}),"\n",(0,a.jsx)("img",{src:i(7749).A,alt:"Mode Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Fill empty cells with the previous value"}),"\n",(0,a.jsx)(t.li,{children:"Add a Matlab comment ('%') to the header"}),"\n",(0,a.jsx)(t.li,{children:"Only output changed values"}),"\n",(0,a.jsx)(t.li,{children:"Only list item name as column header"}),"\n",(0,a.jsx)(t.li,{children:"List full Target Packet Item as header"}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"selecting-items-for-output",children:"Selecting Items for Output"}),"\n",(0,a.jsx)(t.h3,{id:"startend-datetime",children:"Start/End Date/Time"}),"\n",(0,a.jsx)(t.p,{children:"Data Extractor provides text fields where you specify the time range to extract items. Clicking the Start Date and End Date text fields opens a Date Chooser dialog. Note you can also manually type in the date. Clicking the Start Time and End Time icon opens up a Time Chooser dialog. Note you can also manually type in the time."}),"\n",(0,a.jsx)(t.h3,{id:"adding-targets-packets-items",children:"Adding Target(s) Packet(s) Item(s)"}),"\n",(0,a.jsx)(t.p,{children:'Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Select Target",src:i(2931).A+"",width:"1276",height:"630"})}),"\n",(0,a.jsx)(t.p,{children:'When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Select Packet",src:i(2904).A+"",width:"1276",height:"629"})}),"\n",(0,a.jsx)(t.p,{children:'When you select an individual Item the button changes to "Add Item" and the Description field updates with the item\'s description.'}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Select Item",src:i(1761).A+"",width:"1276",height:"601"})}),"\n",(0,a.jsx)(t.h3,{id:"removing-items",children:"Removing Items"}),"\n",(0,a.jsx)(t.p,{children:"Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Delete All Mouseover",src:i(727).A+"",width:"391",height:"129"})}),"\n",(0,a.jsx)(t.h3,{id:"editing-items",children:"Editing Items"}),"\n",(0,a.jsx)(t.p,{children:"Items can be edited by clicking the Pencil icon next to the item. ALL items can be edited by clicking the pencil icon in the header."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Edit All Mouseover",src:i(1486).A+"",width:"375",height:"124"})}),"\n",(0,a.jsx)(t.p,{children:"Clicking the Edit All brings up the Edit All Items dialog."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Edit All",src:i(7885).A+"",width:"599",height:"382"})}),"\n",(0,a.jsx)(t.p,{children:"This allows you to change the data type of all items in the list. Clicking the pencil next to an individual item brings up a similar dialog to edit the individual item."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Edit TEMP1",src:i(2022).A+"",width:"599",height:"382"})}),"\n",(0,a.jsx)(t.h2,{id:"processing-items",children:"Processing Items"}),"\n",(0,a.jsx)(t.p,{children:"Clicking the Process button starts the processing of the items list. A progress wheel is shown on the left side of the table and the Process button changes to Cancel to allow canceling the process."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Processing",src:i(4205).A+"",width:"1273",height:"630"})}),"\n",(0,a.jsx)(t.p,{children:"When the processing is complete, the browser shows a file download link. Note this varies by browser. This example is from Chrome."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Processing Done",src:i(3562).A+"",width:"1273",height:"630"})})]})}function A(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(r,{...e})}):r(e)}},148:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/file_menu-7880f656c65d1c95d94f11d85f83f1fb2cf1e743397022902485e1330467bdb4.png"},7749:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/mode_menu-9ff9a2c1b2cae1eb15a7bd95c0d2bd939cf8f183a083edfcb2b70748dd1bbfe1.png"},1761:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/add_item-4e7c51e0d6a7304260097ccfe8a64d7f2d2b428dba9758070a618ca0dcc89457.png"},2904:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/add_packet-74322c89982856286103da2c91c4246a4a8aa319c216bc1c169515ab28381cd6.png"},2931:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/add_target-f1f0d16faf5f3c1ecdfe3daa90d44d082053845d5f7a59e988d90ff0b5ba00ff.png"},9401:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/data_extractor-e0cd7006244f50f7d1811ee3f287b300aa3ccfb09f4716e1dd9990d1cc38a510.png"},727:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/delete_all_mouseover-e45ea88fcc088c18c88e03ddad5ad6fa9fa3869f67c1548bdfb3da447eceb228.png"},7885:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/edit_all_items-1de8be31edb8443427b834f03efea4ac5bceb722e5da0c0b38b2d006ff4364a7.png"},1486:(e,t,i)=>{i.d(t,{A:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXcAAAB8CAYAAACScPCJAAAKqWlDQ1BJQ0MgUHJvZmlsZQAASImVlwdQU+kWgP9700MCgQQEpIQaivQWQErooUY6iEpIAoQSQiCo2JXFFVxRRERAEXRVRMFVKWJHFNuioALWBVlElHWxYMPyLjCE3X3z3pt3Zs6cb849//nP/889d84FgEzhisVpMAWAdFG2JNTXgx4dE0vHDQMSUAAUYAjUuLwsMYvDCQSIzNi/y/seAE3aO2aTuf79+X8VRb4giwcAxEE4gZ/FS0f4JKIveGJJNgCovYhfb2m2eJLbEaZJkAIR7pvkpGkeneSEKUaDqZjwUE+EaQDgSVyuJAkAEh3x03N4SUgekjvCliK+UISwGGHX9PQMPsLHEDZCYhAfaTI/M+EveZL+ljNBlpPLTZLx9FmmBO8lzBKncZf/n9fxvyU9TTqzhyGipGSJXyhilZA760vNCJCxKCE4ZIaF/Kn4KU6W+kXMMC/LM3aG+VyvANnatODAGU4U+rBlebLZ4TMsyPIOm2FJRqhsr0SJJ2uGuZLZfaWpETJ/soAty5+bHB41wznCyOAZzkoNC5iN8ZT5JdJQWf0Cka/H7L4+srOnZ/3lvEK2bG12crif7Ozc2foFItZszqxoWW18gZf3bEyELF6c7SHbS5zGkcUL0nxl/qycMNnabOSFnF3Lkd1hCtefM8PAD3AAHUQi1hrYAkvABSBbsCx78iCeGeLlEmFScjadhXSYgM4W8czn0a0trW0AmOzX6dfhbd9UH0Iq+FkffwgAm8meMpr1pSDdfvo90nqNsz7GAACU3QBc4PCkkpxp31QvYQAR+RLQgBrQAnrACJgh1dkDZ+AOvIE/CAHhIAYsBjyQDNKBBCwFK8E6kA8KwVawA5SDKrAPHAJHwXHQDM6Ai+AKuAFug3vgIegHQ+AlGAPvwQQEQTiIDFEhNUgbMoBMIWuICblC3lAgFArFQPFQEiSCpNBKaANUCBVD5VA1VAv9Ap2CLkLXoC7oPjQAjUBvoM8wCibBNFgTNoQtYCbMggPgcHgRnARnwrlwHrwFLoNr4CNwE3wRvgHfg/vhl/A4CqDkUCooHZQZionyRIWgYlGJKAlqNaoAVYqqQdWjWlEdqDuoftQo6hMai6ai6WgztDPaDx2B5qEz0avRm9Hl6EPoJnQ7+g56AD2G/oYhYzQwphgnDBsTjUnCLMXkY0oxBzCNmMuYe5ghzHssFquCZWAdsH7YGGwKdgV2M3Y3tgF7AduFHcSO43A4NZwpzgUXguPisnH5uF24I7jzuG7cEO4jXg6vjbfG++Bj8SL8enwp/jD+HL4bP4yfIFAIBgQnQgiBT1hOKCLsJ7QSbhGGCBNERSKD6EIMJ6YQ1xHLiPXEy8RHxLdycnK6co5yC+SEcmvlyuSOyV2VG5D7RFIimZA8SXEkKWkL6SDpAuk+6S2ZTDYku5NjydnkLeRa8iXyE/JHeaq8uTxbni+/Rr5Cvkm+W/6VAkHBQIGlsFghV6FU4YTCLYVRCoFiSPGkcCmrKRWUU5ReyrgiVdFKMUQxXXGz4mHFa4rPlXBKhkreSnylPKV9SpeUBqkoqh7Vk8qjbqDup16mDtGwNAaNTUuhFdKO0jppY8pKyrbKkcrLlCuUzyr3q6BUDFXYKmkqRSrHVXpUPs/RnMOaI5izaU79nO45H1TnqrqrClQLVBtU76l+VqOreaulqm1Ta1Z7rI5WN1FfoL5UfY/6ZfXRubS5znN5cwvmHp/7QAPWMNEI1VihsU/jpsa4ppamr6ZYc5fmJc1RLRUtd60UrRKtc1oj2lRtV22hdon2ee0XdGU6i55GL6O308d0NHT8dKQ61TqdOhO6DN0I3fW6DbqP9Yh6TL1EvRK9Nr0xfW39IP2V+nX6DwwIBkyDZIOdBh0GHwwZhlGGGw2bDZ8zVBlsRi6jjvHIiGzkZpRpVGN01xhrzDRONd5tfNsENrEzSTapMLllCpvamwpNd5t2zcPMc5wnmlczr9eMZMYyyzGrMxswVzEPNF9v3mz+ykLfItZim0WHxTdLO8s0y/2WD62UrPyt1lu1Wr2xNrHmWVdY37Uh2/jYrLFpsXlta2orsN1j22dHtQuy22jXZvfV3sFeYl9vP+Kg7xDvUOnQy6QxOczNzKuOGEcPxzWOZxw/Odk7ZTsdd/rT2cw51fmw8/P5jPmC+fvnD7rounBdql36Xemu8a57XfvddNy4bjVuT9313PnuB9yHWcasFNYR1isPSw+JR6PHB08nz1WeF7xQXr5eBV6d3kreEd7l3k98dH2SfOp8xnztfFf4XvDD+AX4bfPrZWuyeexa9pi/g/8q//YAUkBYQHnA00CTQElgaxAc5B+0PehRsEGwKLg5BISwQ7aHPOYwOJmc0wuwCzgLKhY8C7UKXRnaEUYNWxJ2OOx9uEd4UfjDCKMIaURbpEJkXGRt5Icor6jiqP5oi+hV0Tdi1GOEMS2xuNjI2AOx4wu9F+5YOBRnF5cf17OIsWjZomuL1RenLT67RGEJd8mJeEx8VPzh+C/cEG4NdzyBnVCZMMbz5O3kveS780v4IwIXQbFgONElsTjxeZJL0vakkWS35NLkUaGnsFz4OsUvpSrlQ2pI6sHU72lRaQ3p+PT49FMiJVGqqD1DK2NZRpfYVJwv7s90ytyROSYJkBzIgrIWZbVk05DB6KbUSPqDdCDHNaci5+PSyKUnlikuEy27udxk+ablw7k+uT+vQK/grWhbqbNy3cqBVaxV1auh1Qmr29borclbM7TWd+2hdcR1qet+XW+5vnj9uw1RG1rzNPPW5g3+4PtDXb58viS/d6Pzxqof0T8Kf+zcZLNp16ZvBfyC64WWhaWFXzbzNl//yeqnsp++b0nc0llkX7RnK3araGvPNrdth4oVi3OLB7cHbW8qoZcUlLzbsWTHtVLb0qqdxJ3Snf1lgWUtu/R3bd31pTy5/F6FR0VDpUblpsoPu/m7u/e476mv0qwqrPq8V7i3r9q3uqnGsKZ0H3Zfzr5n+yP3d/zM/Ln2gPqBwgNfD4oO9h8KPdRe61Bbe1jjcFEdXCetGzkSd+T2Ua+jLfVm9dUNKg2Fx8Ax6bEXv8T/0nM84HjbCeaJ+pMGJysbqY0FTVDT8qax5uTm/paYlq5T/qfaWp1bG0+bnz54RudMxVnls0XniOfyzn0/n3t+/IL4wujFpIuDbUvaHl6KvnS3fUF75+WAy1ev+Fy51MHqOH/V5eqZa07XTl1nXm++YX+j6abdzcZf7X5t7LTvbLrlcKvltuPt1q75Xee63bov3vG6c+Uu++6Ne8H3unoievp643r7+/h9z++n3X/9IOfBxMO1jzCPCh5THpc+0XhS85vxbw399v1nB7wGbj4Ne/pwkDf48ves378M5T0jPysd1h6ufW79/MyIz8jtFwtfDL0Uv5wYzf9D8Y/KV0avTv7p/ufNseixodeS19/fbH6r9vbgO9t3beOc8Sfv099PfCj4qPbx0Cfmp47PUZ+HJ5Z+wX0p+2r8tfVbwLdH39O/fxdzJdypUQCFKJyYCMCbgwCQYwCg3gaAuHB6np4SaPofYIrAf+LpmXtK7AFAUiHjDgCh7gBUIspAVGEtABzEhrsD2MZGpjOz79ScPim68gDYViCTA9Tn3Q3+KdMz/F/q/qcFsqx/s/8ChOcBmClFzDgAAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAXegAwAEAAAAAQAAAHwAAAAAQVNDSUkAAABTY3JlZW5zaG903ZaBKQAAAdZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjM3NTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgobezfOAAAZuElEQVR4Ae2dCXhURbqG/6Q76U4ggRAiGHbIsKoQ9h1ZXFh0vO4bgnrVCzriOqL3zqCjXHEYHXGbR6+jIjq4L7gPgmwKCIRFdtmEEBAICSE7Cdz6qjltJ3SSXk53evn+5+k+W1Wdqrf6+U71X3WqYpp27H1KaCRAAiRAAhFDoDTvoMRGTGlYEBIgARIgAQeBU6co7vwtkAAJkEAkEmDLPRJrlWUiARKIegIU96j/CRAACZBAJBKwRmKhWCYSIIHwIxAbGytxVqtYrRaxWCyC49iYGBF8YMqPfBKfkyelsrJSKioq5URFhT52BOC3k4DiRHF30uAOCZBAsAnEKOG22eIlPi5OiXodcqTCQuwh+ghrszlyW6EEvvzECSkrK1f6z8F/Rh3WQdMIxi0JkAAJmEcAAp1gtymBPq3QfiQNoccnMSFBCXyZlJSWsTWveFLc/fhRMSoJkID3BBLsdklIsHsf0YMYeFjgU1JSqkS+1IMYkRuE4h65dcuSkUBIEbAqP3piYkLd7hcTco2HR1ycVYqLS6RC+eej0ThaJhprnWUmgSATsMXHS3JyUlCE3SgaXDW4J+4djUZxj8ZaZ5lJIIgE7Mq33qBBYhDvWPVWuDfyEG1GcY+2Gmd5SSCIBCCq6Oisb0Meok3gKe71/avj/UkgQgnAHRIKwm7gRV6iyUVDcTdqnlsSIAHTCKDztD5dMTUVBHlC3qLBKO7RUMssIwkEmQBGxYSqhXLezGRGcTeTJtMiARJQLyfZgzoqxlvkGEWDPEa6UdwjvYZZPhIIIgH95mmAXlAysxgYB4+8RrJFdukiueZYNhIIQQKYUiBcLJzy6gtTirsv1BiHBEjgDAKOScDCR9wxTQHyHKlGcY/UmmW5SCDIBDC7Y7BscP/esnjev2TqlDv8Emgz82yxqNkq1UgcfNq1aSVZC+fJ4W2rqnxwDteMcIgTKIvhAtmBQst0SSC6CCQnNQxKR+qQ/n3kpZmP6WmCQXjuR5/JYzOf92m6X0wXXHC80JSKOrh5pZqH3juxrqw8Kc279jPl/q6JlObmcA1VVyDcJwES8I2AMce6b7G9i9Upo51T2BHzussvkYfuvt27RE6HxsiZSO1Y5ayQPv0kGIkESMCVAFZQCrShxX5W0yby6lvvaUG+f/KtzluOHjlMZsx62XnszQ7yXlZe7k0Ut2HRAvf2BalAzlgZ+Bpxi4EnSYAEIokAlsYLpBmuGP0QUZ2gr7z5jr4dBB6rMP33/z7j8+2Rd7WIkyl2YPMKr9JJ69THq/DeBKa4e0OLYUmABNwSwJqngTJD2LEUH2z6I/fpLQQe66lu27Fblq1Yrc/58hXIvPuSH7PiUNzNIsl0SCCKCQTKb11d2IEYwxe1wKv1UuGi8dcClXd/8+VvfO+6dv29G+OTAAlEJAEsXG22uRN24x4n1CiXQ0eOGod+bQORd78yZFJkirtJIJkMCUQ1AZPFvTZhh4998oPTZOmKVeYgNznv5mTK/1Qo7v4zZAokQAImEgiqsJuY71BLiuIeajXC/JBAOBJQ/m8zrF6E3aS8m1F+M9OguJtJk2mRQJQSOGmCQNaLsKv6MiPvoVjtFPdQrBXmiQTCjACGJPpj9SXsyLO/efen3IGMS3EPJF2mTQJRQqCystLnktansCPT/uTd50IHISLFPQiQeQsSiHQCFRW+i7vrJGCunEwfFeOauMu+P3l3SSbkdinuIVclzBAJhB8BjDv31Yw3T13jY66XSQ/+2bzhjq6JV9v3J+/VkgqpQ4p7SFUHM0MC4UkAfmtMn2uGQdgn/3GaX1MKeJoP5NlMn3vWhk2e3lq8Cetxoi4BKe4uMLhLAiTgOwG4Ufy1YAo78mpGnl3LPO2pWR6JNoQdYQNpXKwjkHSZNglEEQHM+ZLSuFFYlTgv/5hPi3yEeiG5WEeo1xDzRwJhROCUGuteVlYWNjlGXpHnSDW6ZSK1ZlkuEqgHAiWl4SPu4ZRXX6qS4u4LNcYhARJwSwCdkyUlpW6vhdJJ5NHMjtRQKpuRF4q7QYJbEiABUwiUlJaaNnLGlAxVSwQjZJDHSDeKe6TXMMtHAvVAoLi4pB7u6tktQzlvnpXAs1AUd884MRQJkIAXBLDwc1FRsRcxghMUeQrkotTBKYVnd6G4e8aJoUiABLwkgDHrxSWh04JHXpCnaDGKe7TUNMtJAvVAoFSNngkFgUcekJdoMop7NNU2y0oC9UAAolqfLhrcO9qEHdVsrYe65i1JgASijADcIZhaNzExQazW4MgORsWg8zRafOzVf1JsuVcnwmMSIIGAEIDIFhwvDMo4eIxjx72iVdhRgcF5hAbkp8JESYAEwpEAxpijJZ9gt4nNZjO1CJhSAG+eRvoLSp5Ao7h7QolhSIAETCUA8S1SLpNi1cK22eIFc7r76q6B+wWzO5aVlUf0XDHeVgDF3VtiDE8CJGAaAUzchc5OfGJjYyVO+eOtVotYLBZ9HKtmmhR8YCosFrPGgwH+e6yghIU22Ep34Kn+TXGvToTHJEAC9UIAIg13jWqA00wgwA5VEyAyCRIgARIINQIU91CrEeaHBEiABEwgQHE3ASKTIAESIIGQIqD6KSjuIVUjzAwJkAAJmEOA4m4OR6ZCAiRAAiFFwIrhRTQSIAESIIEwJ3B6xKgaO6oLYj0lFPcwr1JmnwRIIOoJxEiMU8odO9aYGHpmov53QQAkQAJhTSDm9IteeFfAaMDzJaawrlJmngRIgATw8q6jtY63fE+dVneKO38ZJBABBBom2KTt2amSkpQo+pX9CChTpBcBUynkHS+WPQdypbDEnIVEIPIOb0wMZ4WM9B8Qyxf5BCDsmR1bUdTDrKrxEE5NbqAfyGu37zNP4JVrBkaHe5j9IJhdEqhOAC12ttarUwmfY9Qd6tBso7ibTZTpkUCQCcAVQwtvAoGoQ4p7eP8mmHsSYKs9An4DgfjnRXGPgB8Gi0ACJEAC1QlQ3KsT4TEJkAAJRAABinsEVCKLQAIkQAJVCKix7hT3KkR4QAIkQAKRQYDiHhn1yFKQAAmQQBUCFPcqOHhAAiTgCYHh558vrVq10kHxyrsxt4kncT0J06tXT+nWrasOmpScJGPHjJZ4W7wnURnmNAFOP8CfAglEOYHMzB5y0/gbz6BQUHBcpj362BnncWL48PPVQtZlsm/fPrn55glSXFwic+e+o8M2a9ZMCosKpaiwyG1c42R6ero8+MB98vobs2XDhp+M03rbs2emHDtWIJs2bZakhkkyZvRoWbRkiZS7WT37madnymuvvyEbN24Si8UizZs3l18P/SoVJyqqpBltBxT3aKtxlpcEqhGAIKLl/Zcnple5YkxGVeWkm4MvvvhKTlSccF654/bbZPHixbJ4yVLnOXc7Awf016cHDhxwhri7C1/TOVu8TfDvAZbYIFEemfqQTH9yhuTk5NQUJSrOU9yjoppZSBKom8DR3KM1BoJo9urZU+Lj488Q4saNG0l5ebmUlJRIZo8ekpBglw4dOkj+sWOyfv0Gt2larBbp06e3fPDhR3LN1VdJcqNkKVAtdX8M/wS6dOmsk8js0V1sNpvs3r1bH9tVns7p1k1SUlJky5atkp2drc+nNEmRDJXXrdu26bxbLVb5aeNGOXz4sHTq1FFaK9fTzzt2yp49e3R44+vss8+Wrl276H8uO3fuksrKSuNSyGw9EvdEBSk9LUWSGzZQT0hjtuCQKQMzQgJRTSDB7p8v2h4fJ3FWq9SUDtwi9957j9jtduUm2STDhgyWVCWKiIc4o0YMVy6UY7JgwQJp37aNOmeXtKap0rplS9m+bavbuul+Xnf1Zq3I2qw1MmTQQBk6aJAsWLjAGdYWFye2OEeeEpSvPS7OItChky7/EIzAuGZXD5201BRp07qVDtuqZQvJPXJEDh7YL40bNZL77rtX8vLydT4vu/QS5UKaK2uysqRDu7Yy8abxcvDgQdmvWvptWreWS8aNkc2bN2v3zqFDh2Tc2DGyfPly+XTePH3LsWPGqAdTH9mkwgxW/zrwz2fGU085p9018uXtNqNlc8k5nCfFZebMEFmnuANo53YtZc/evbJt+/aQfEJ5C5HhSSCSCIwc1NOv4pSUlgoWebjh+uurpPPlV19L9v5suWDUBcrtUiHTpj4spWWlkpyULNP+/CdBvKLiYilTYoRPthLH2XPmSNt27ZQYrlA+8sVV0nM9gE/9+++XK998kSxdtkxGjBgh8z7/zBnESBPpF6t/BOXlJ/S9cFzdcK2ktETWb9ggO3ftlp6ZmUqIP1NivV8HnThhgm6tv/raa/r4QlWeiy6+WJao++LfBlrdL7z4kuQezRW03J+a8aSkNGkijz3+uA4/cMAAGTt2rMx9912xxFpkgDp+7fXXdQs/Pi5eJk36L0lLO0t273H8S6ieP0+O1TpKclTdv3O71rJ1d7YpAl+nuKPFDmE/+OshT/LIMCRAAmFIAOK+ZWvVVnaREl5Yu/bt5GfVsIOwwwqOF2jB1Qc+fDVu1Fg6d+4sH3/yqY69Zk2WXHnFFdKhfQclzjt9SLHmKOhLgIto5cofZUB/h4/fqv4RpDRuLA0bNNQRIe4QdlhFZYV6oO2XncoVY1h29n4dPsGeoMpdrK+PGzdOkpOTZd269TLrueeMoD5vsdypobHpaamyI/ugz2kZEesUd7hi0GKnkQAJRC4BiDta0O4sMTFRtio/tVnWv38/7cLA8EbDKioqlfj2M13cIeBwJzVr3kySkhxijntmKZdMnHL9eGLVO5ZfeOFF1Xrvr10z11x9taxZs0beefc9PXrIk/RqC3P4SK60Va4hM6xOcYePPRQ7C8woPNMgARKom8DR3FzV+m1fd0APQ/Tr109Wr14tu053diLaESVqgwcPkvc/+NAUkTSygiGZcPHAh/6t6hOobi2Vb94bQ/8D4ixSo4HwSW2SKo88PFWXpaaHozfpQ2vN6td0jB/y5u4MSwIkEJEEGiQ2kOofFPTHVaskIyND+vXtqzpe4wQ+6CZq1ElNlp+fL6mp7hefyOiQoTpbm8onn87T/xQgiPh8+tk8qVT/HjDm3h+DDx0jd5qoDl8YWt3w/w8dOlQ6deyoh3x27tRJJowf79OLV1bV8XzXnXfKoIEDdUcq7oHl8n4NQbd1nS13ZJ5GAiQQ2QTgopj516eqFBKtyD9MmSJZa9eqUSRt5MYbbtCfLVu2qJb2kSphXQ9++OEHue7aa6WLGir4xPSqY+fhetmu3LzHCo65RtHegTWqNY/OyhUrV1a55s0BxtsvW/a93H7bbXr77vvv6VEu8Wpkz52TJ2uxP1ZQIG+//bZPo1vy8vPkn6pj9qqrrpKrrrxS9z2sUA+P7T+Hnus6pmnH3o5ls2sg2LtrhvywclUNV3maBEigvgn4O1rG0/yj1Y5hf0bHam3x8GIROjM9CVtbOr5eQ+fniRMndAepkQbybrfZ1aib2t+cNcLXtcW/HLPSwr0WfJ+lbzmwXx9ZvXlHXbev9Xpp3kEukF0rIV4kARJwEkCr2PVNVOcFNzuYmqA+DUMjqxv+iZgpxmamVT2vZhzT524GRaZBAiRAAiFGgOIeYhXC7JAACZCAGQSC1qFqb99TGg29QezteoglqalUHj8ipbvXybHFc/TWjMIwDRIgARIgAQeBoIh78qBrJO2aR0X1sDi5W5u0kIb49Bwjh+f+SQqWf+C8xh0SIAESIAH/CARc3J3Cfuqk5C+cLYVr1fSgh36RuKatpGHmRdJo5K2Sdp1jDgd/BN5iiZXM7udJi7Obqx76MvWm2x7ZtecXPWeGf4j8j90rs7v88Z47Zf53i+XVN972P0GmQAIkQAJ1EAiouMMVo1vsSthzXrpNSrb94MxO2b5Ngk/RpiWSfvdsLfDlB36W0j3rnWE83Wl2Vpo88uA90lxtXW39T5vk7y++rCYHcsyJ4XqN+yQQKQROnTwlMZytNayrE3VotgW0QxU+drhi8r+bXUXYXQtRunO15M9/RYdLHlJ1VjrXcLXt33XHrVrY5y9cLA888qj8z19myIpVWdL93G5yy3jf0qztfrxGAqFEIDffv3nQQ6ks0ZqXQNRhYFvuqvMUBldMbVaY9ZWkXDRJdbZm1hbM7TW8mJDRoZ12v7z97od6GlIEfH3OXDm3W2fp3ClDv0xhTP7TNLWJ9DjvHDlbTST0y9598v2KH9XbcSedaTdS6zX2Uq9At0hvribp3yXrftoopaWOMbtY7WXsRaMkT81dnZ2dI4MG9JWVq7Nkx07HVJ+9lfvldxnt1ZtvIhs3b1WfLc50jZ0O7dtKn5495IhaGAH35r8Kgwy3vhLYtTdHUhsns/XuK8B6jodWO+rQbAuouGNUDAw+9trsxGHHdUuy+/koaouLFxNycg5IyxbpMvrCEfLpF19rscYqMLdMuqdK1G5dOmn3jVU9EDALHsT6ghHD5LEnn5YKNV81hPehe/8gEPiC44Uy7mI1j7Vah3HGM89robao8Ddee6UUqrUhMW2oXc11/+uhw9q/f//dk7RoY56JWPVv5T8uGS2ffz1f5sx935mHHueeIyOHDdEPG7y9N+GGa+Su+x/Wa0U6A3GHBLwkcLyoRFZt2CrtW6dT5L1kV5/BIeposUPYUYdmW0DFHcMdMSoGnafwr9dkuA6rOLKvpiC1nn9NtdIhytdccZkWa7hnFixaquavOO6M10gt4/XAlMl6Id+Zz76oJvI/oMV12OABMur8IfL1t9/JZeNG62lBZ856SVZnrZOB/fvIlEm3yeWXjqnSCm+opkFG+st/XK3TGT50sBb2DRs3y6uzHR2myA8eDouWfO/MAyYdmjrtCf1AmHjDtTJ86CDp1eM8Wbh4mTMMd0jAFwIQh/VbfpuD3Jc0GCeyCATU5166a62mhVExtVmDHhfry2X7fZszetOWbfKwEk0IbsMGDbTIv/TsX5W//TrnwrldOv5OEhMSZIla/WXn7t16zovPv/q3vu+53brq7dPP/UOum3iHrNuwUS8ThgcArHmzs/TW+Mo9mievvD5Hftq0RY6qpbv69Xa4k7769wIt3GjNvzn3PflmwSKJUxMWGbZ67TrlCsrWbp6lP6zQp8/t1sW4zC0JkAAJmEYgoC33Y0vekoa9xurhjhgVg87T6mZv21352+9Q82ZWSv4CxzJY1cN4crz/wEEtuG+984H079tLfq9a4ReNGq7FHa3pDLWaDAytaXxcrWnTJvoQq7PcctN1uhUOt4lhrvs4B1eQq2G0Dmzbz7+1nPCAwAfWK7Ox3rp+YbgmzNMFA1zjcp8ESIAE6iIQUHHHG6h4QQnj2DHcEaNi0HkKHztcMWixQ9hjLHFy/MdPpDxne135PeN6uhrXjg7SHCXuEFOstwg3B4T2mScf066Vf775L+fscJjhEkMkXc1Yl/HuSf8pXTt3lPc+mifLlq+UPDUv9Zz/e9E1qNv9omKHv6yxcv0YabkNyJMkQAIkECQCARV3lMF4MQkCjxEx+FQx1WKHsCf1uVTs7XtJzvMTpeLo/ipBajtAK3rC9VfL8cJCmXTPQ3qaT4TH6ivoNEXLGCub7PnF4c8/Ky1NFi39bbx9m9YtZe++/bqTs3PHDP0C1Meffanj/rYsV+1jUPepNRYzVGdsF/VgwD8I2CWjL1QPlr561I4+wS8SIAESCCKBgIs7ygKBxwtKGMeO4Y4YFYPOU/jY4YpBix3CjtZ8iylvyv5Z45XAezY0CP5tDEfs17un/G36NMla/5MW+D69MrVLZsVyx1DHH9esVW+s7tUi/Pifpqpx8Kv1cMiR5w+V2W+/K1/PX6hb/xh1M+m2ibJPCf75QwbpqoAfv7prxrWO5n35jQwd1F8/ZFqp+HjgjBo+TA/L3P3LXjnvHIdP3zUO90mABEggkASCIu4oAN48re3tU7TYW0yZo0fXtJjy1mmB96wF//cXXtYjXTDyZcyFIzUv+LS/+OZbeeeDj/UxWvFP/m2W3Kw6WfuqDtCOajw6WvvfqFEy8xcu0mGe+8ercvXlvxdMlh87oJ98p9w7WMElrWmqwK+eq8amuzO4hKbPfFZuv3m8XHzBCL3s1nblFnrxldec/yTcxeM5EiABEggUgZBaiQnDJh0Cn65b7o4WvGcCbwBKSLALVoHBUlrGi0vGNWOLeWiSk5K1T90457pFGifVi01lai1Gbw2t/IrKCueLT97GZ3gSIIHoJmDWSkwBHQrpbRXB1264ZKxN0p1C7006eOMTLzDVJOxIC2+korO0JkMavgg70issKqKw1wSW50mABIJGIKTEHaV2FfhTqgWsejaDBoM3IgESIIFIIRA0n7s3wBwCf6MW9op8x+gTb+IzLAmQAAlEO4GQFHdUiqejZaK9All+EiABEnBHIOTcMu4yyXMkQAIkQALeEaC4e8eLoUmABEggLAhQ3MOimphJEiABEvCOAMXdO14MTQIkQAJhQYDiHhbVxEySAAmQgHcEKO7e8WJoEiABEggLAnWK+0m1FBTWKaWRAAmQAAkElgC0FpprhtUp7gVqvVBMnEUjARIgARIILAFoLTTXDKtT3HMO50nb1q31UnNswZuBnGmQAAmQQFUC0FYs5wmtheaaYXXOCombJNpskp6WIslqYWgsfEEjARIgARIwjwBcMWixQ9iLTy/B6U/qpXkHxaPpB3CzHdmc48Uf2IxLAiRAAsEkUKdbJpiZ4b1IgARIgATMIUBxN4cjUyEBEiCBkCJAcQ+p6mBmSIAESMAcAhR3czgyFRIgARIIKQIU95CqDmaGBEiABMwhQHE3hyNTIQESIIGQIvD/JX1hOd8NK94AAAAASUVORK5CYII="},2022:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/edit_temp1-545919bb22c6882d3b02cd4a4d8b9410b69e410c958b4472b8a643f48889f434.png"},4205:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/processing-25c56ec1beef6f8df3db085378c31d2dd44289280414497d87ce8d12b4beebb9.png"},3562:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/processing_done-1d74097c066b6067e07a73735626dbff19f3102599c548b3874eb4f52ad5335d.png"},8453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>d});var n=i(6540);const a={},s=n.createContext(a);function o(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/4809.b09447e2.js b/docs/assets/js/4809.b09447e2.js new file mode 100644 index 0000000000..be594e28f4 --- /dev/null +++ b/docs/assets/js/4809.b09447e2.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4809"],{2520:function(e,n,s){s.d(n,{Z:()=>p});var t=s("5893");s("7294");var r=s("7026"),i=s("4681"),a=s("3413"),l=s("9246"),o=s("3012"),c=s("6025"),d=s("4757");function u(e){return(0,t.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,t.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}let m="breadcrumbHomeIcon_YNFT";function h(){let e=(0,d.ZP)("/");return(0,t.jsx)("li",{className:"breadcrumbs__item",children:(0,t.jsx)(o.Z,{"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,t.jsx)(u,{className:m})})})}let b="breadcrumbsContainer_Z_bl";function v(e){let{children:n,href:s,isLast:r}=e,i="breadcrumbs__link";return r?(0,t.jsx)("span",{className:i,itemProp:"name",children:n}):s?(0,t.jsx)(o.Z,{className:i,href:s,itemProp:"item",children:(0,t.jsx)("span",{itemProp:"name",children:n})}):(0,t.jsx)("span",{className:i,children:n})}function x(e){let{children:n,active:s,index:i,addMicrodata:a}=e;return(0,t.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,r.Z)("breadcrumbs__item",{"breadcrumbs__item--active":s}),children:[n,(0,t.jsx)("meta",{itemProp:"position",content:String(i+1)})]})}function p(){let e=(0,a.s1)(),n=(0,l.Ns)();return e?(0,t.jsx)("nav",{className:(0,r.Z)(i.k.docs.docBreadcrumbs,b),"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,t.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[n&&(0,t.jsx)(h,{}),e.map((n,s)=>{let r=s===e.length-1,i="category"===n.type&&n.linkUnlisted?void 0:n.href;return(0,t.jsx)(x,{active:r,index:s,addMicrodata:!!i,children:(0,t.jsx)(v,{href:i,isLast:r,children:n.label})},s)})]})}):null}},3543:function(e,n,s){s.r(n),s.d(n,{default:()=>Z});var t=s("5893");s("7294");var r=s("4713"),i=s("3413"),a=s("4757"),l=s("7026"),o=s("4310");function c(e){let{className:n}=e,s=(0,i.jA)();return(0,t.jsx)(d,{items:s.items,className:n})}function d(e){let{items:n,className:s}=e;if(!n)return(0,t.jsx)(c,{...e});let r=(0,i.MN)(n);return(0,t.jsx)("section",{className:(0,l.Z)("row",s),children:r.map((e,n)=>(0,t.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,t.jsx)(o.Z,{item:e})},n))})}var u=s("3944"),m=s("9580"),h=s("6035"),b=s("2520"),v=s("4403");let x="generatedIndexPage_vN6x",p="list_eTzJ",g="title_kItE";function j(e){let{categoryGeneratedIndex:n}=e;return(0,t.jsx)(r.d,{title:n.title,description:n.description,keywords:n.keywords,image:(0,a.ZP)(n.image)})}function f(e){let{categoryGeneratedIndex:n}=e,s=(0,i.jA)();return(0,t.jsxs)("div",{className:x,children:[(0,t.jsx)(m.Z,{}),(0,t.jsx)(b.Z,{}),(0,t.jsx)(h.Z,{}),(0,t.jsxs)("header",{children:[(0,t.jsx)(v.Z,{as:"h1",className:g,children:n.title}),n.description&&(0,t.jsx)("p",{children:n.description})]}),(0,t.jsx)("article",{className:"margin-top--lg",children:(0,t.jsx)(d,{items:s.items,className:p})}),(0,t.jsx)("footer",{className:"margin-top--lg",children:(0,t.jsx)(u.Z,{previous:n.navigation.previous,next:n.navigation.next})})]})}function Z(e){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j,{...e}),(0,t.jsx)(f,{...e})]})}},3944:function(e,n,s){s.d(n,{Z:()=>o});var t=s("5893");s("7294");var r=s("6025"),i=s("7026"),a=s("3012");function l(e){let{permalink:n,title:s,subLabel:r,isNext:l}=e;return(0,t.jsxs)(a.Z,{className:(0,i.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:n,children:[r&&(0,t.jsx)("div",{className:"pagination-nav__sublabel",children:r}),(0,t.jsx)("div",{className:"pagination-nav__label",children:s})]})}function o(e){let{previous:n,next:s}=e;return(0,t.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,r.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[n&&(0,t.jsx)(l,{...n,subLabel:(0,t.jsx)(r.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),s&&(0,t.jsx)(l,{...s,subLabel:(0,t.jsx)(r.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},6035:function(e,n,s){s.d(n,{Z:function(){return o}});var t=s(5893);s(7294);var r=s(7026),i=s(6025),a=s(4681),l=s(8529);function o(e){let{className:n}=e,s=(0,l.E)();return s.badge?(0,t.jsx)("span",{className:(0,r.Z)(n,a.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,t.jsx)(i.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:s.label},children:"Version: {versionLabel}"})}):null}},9580:function(e,n,s){s.d(n,{Z:function(){return x}});var t=s(5893);s(7294);var r=s(7026),i=s(2933),a=s(3012),l=s(6025),o=s(1723),c=s(4681),d=s(3896),u=s(8529);let m={unreleased:function(e){let{siteTitle:n,versionMetadata:s}=e;return(0,t.jsx)(l.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:n,versionLabel:(0,t.jsx)("b",{children:s.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:n,versionMetadata:s}=e;return(0,t.jsx)(l.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:n,versionLabel:(0,t.jsx)("b",{children:s.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){let n=m[e.versionMetadata.banner];return(0,t.jsx)(n,{...e})}function b(e){let{versionLabel:n,to:s,onClick:r}=e;return(0,t.jsx)(l.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:n,latestVersionLink:(0,t.jsx)("b",{children:(0,t.jsx)(a.Z,{to:s,onClick:r,children:(0,t.jsx)(l.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function v(e){let n,{className:s,versionMetadata:a}=e,{siteConfig:{title:l}}=(0,i.Z)(),{pluginId:u}=(0,o.gA)({failfast:!0}),{savePreferredVersionName:m}=(0,d.J)(u),{latestDocSuggestion:v,latestVersionSuggestion:x}=(0,o.Jo)(u);let p=v??(n=x).docs.find(e=>e.id===n.mainDocId);return(0,t.jsxs)("div",{className:(0,r.Z)(s,c.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,t.jsx)("div",{children:(0,t.jsx)(h,{siteTitle:l,versionMetadata:a})}),(0,t.jsx)("div",{className:"margin-top--md",children:(0,t.jsx)(b,{versionLabel:x.label,to:p.path,onClick:()=>m(x.name)})})]})}function x(e){let{className:n}=e,s=(0,u.E)();return s.banner?(0,t.jsx)(v,{className:n,versionMetadata:s}):null}},3115:function(e,n,s){s.d(n,{c:function(){return o}});var t=s(7294),r=s(2933);let i=["zero","one","two","few","many","other"];function a(e){return i.filter(n=>e.includes(n))}let l={locale:"en",pluralForms:a(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,r.Z)();return(0,t.useMemo)(()=>{try{return function(e){let n=new Intl.PluralRules(e);return{locale:e,pluralForms:a(n.resolvedOptions().pluralCategories),select:e=>n.select(e)}}(e)}catch(n){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${n.message} +`),l}},[e])}();return{selectMessage:(n,s)=>(function(e,n,s){let t=e.split("|");if(1===t.length)return t[0];t.length>s.pluralForms.length&&console.error(`For locale=${s.locale}, a maximum of ${s.pluralForms.length} plural forms are expected (${s.pluralForms.join(",")}), but the message contains ${t.length}: ${e}`);let r=s.select(n);return t[Math.min(s.pluralForms.indexOf(r),t.length-1)]})(s,n,e)}}}}]); \ No newline at end of file diff --git a/docs/assets/js/53ca7c5b.27fd8d83.js b/docs/assets/js/53ca7c5b.27fd8d83.js deleted file mode 100644 index af65d2b2e0..0000000000 --- a/docs/assets/js/53ca7c5b.27fd8d83.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2932],{1723:(n,e,s)=>{s.r(e),s.d(e,{default:()=>l});s(6540);var o=s(1003);function r(n,e){return`docs-${n}-${e}`}var c=s(3025),t=s(2831),i=s(1463),u=s(4848);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(i.A,{version:e.version,tag:r(e.pluginId,e.version)}),(0,u.jsx)(o.be,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function d(n){const{version:e,route:s}=n;return(0,u.jsx)(o.e3,{className:e.className,children:(0,u.jsx)(c.n,{version:e,children:(0,t.v)(s.routes)})})}function l(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(d,{...n})]})}}}]); \ No newline at end of file diff --git a/docs/assets/js/53ca7c5b.98d5e7d1.js b/docs/assets/js/53ca7c5b.98d5e7d1.js new file mode 100644 index 0000000000..45ddab8e9b --- /dev/null +++ b/docs/assets/js/53ca7c5b.98d5e7d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["1286"],{8688:function(n,e,s){s.r(e),s.d(e,{default:()=>d});var o=s("5893");s("7294");var r=s("4713"),c=s("8529"),t=s("8790"),i=s("4315");function a(n){var e,s;let{version:c}=n;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Z,{version:c.version,tag:(e=c.pluginId,s=c.version,`docs-${e}-${s}`)}),(0,o.jsx)(r.d,{children:c.noIndex&&(0,o.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){let{version:e,route:s}=n;return(0,o.jsx)(r.FG,{className:e.className,children:(0,o.jsx)(c.q,{version:e,children:(0,t.H)(s.routes)})})}function d(n){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a,{...n}),(0,o.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/docs/assets/js/54d0d530.f03732ff.js b/docs/assets/js/54d0d530.f03732ff.js deleted file mode 100644 index fed3118f08..0000000000 --- a/docs/assets/js/54d0d530.f03732ff.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6464],{39:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"tools/limits-monitor","title":"Limits Monitor","description":"View out of limit items and log messages","source":"@site/docs/tools/limits-monitor.md","sourceDirName":"tools","slug":"/tools/limits-monitor","permalink":"/docs/tools/limits-monitor","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/limits-monitor.md","tags":[],"version":"current","frontMatter":{"title":"Limits Monitor","description":"View out of limit items and log messages","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Handbooks","permalink":"/docs/tools/handbooks"},"next":{"title":"Packet Viewer","permalink":"/docs/tools/packet-viewer"}}');var s=t(4848),o=t(8453);const a={title:"Limits Monitor",description:"View out of limit items and log messages",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},l=void 0,r={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Limits Monitor Menus",id:"limits-monitor-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Show Ignored",id:"show-ignored",level:4},{value:"Change Limits Set",id:"change-limits-set",level:4},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Limits Items",id:"limits-items",level:2},{value:"Limits Log",id:"limits-log",level:2}];function c(e){const i={a:"a",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(i.p,{children:"The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Cmd Tlm Server",src:t(7353).A+"",width:"1270",height:"803"})}),"\n",(0,s.jsx)(i.h2,{id:"limits-monitor-menus",children:"Limits Monitor Menus"}),"\n",(0,s.jsx)(i.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)("img",{src:t(3722).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Show the list of ignored items"}),"\n",(0,s.jsx)(i.li,{children:"Change the overall COSMOS limits set"}),"\n",(0,s.jsx)(i.li,{children:"Opens a saved configuration"}),"\n",(0,s.jsx)(i.li,{children:"Save the current configuration (ignored items)"}),"\n",(0,s.jsx)(i.li,{children:"Reset the configuration (defaults settings)"}),"\n"]}),"\n",(0,s.jsx)(i.h4,{id:"show-ignored",children:"Show Ignored"}),"\n",(0,s.jsx)(i.p,{children:"This dialog displays all the items which the user has manually ignored by clicking the ignore icons next to out of limits items. Note that entire Packets which have been ignored are listed as TARGET PACKET without an item (as shown by INST MECH). Ignored items are removed by clicking the Trash icon. This means that the next time this item goes out of limits it will be displayed."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Ignored",src:t(3782).A+"",width:"594",height:"306"})}),"\n",(0,s.jsx)(i.h4,{id:"change-limits-set",children:"Change Limits Set"}),"\n",(0,s.jsxs)(i.p,{children:["Limits sets are defined with the ",(0,s.jsx)(i.a,{href:"../configuration/telemetry#limits",children:"LIMITS"})," keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS."]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Change Limits Set",src:t(4058).A+"",width:"647",height:"217"})}),"\n",(0,s.jsx)(i.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,s.jsx)(i.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(i.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,s.jsx)(i.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(i.h2,{id:"limits-items",children:"Limits Items"}),"\n",(0,s.jsx)(i.p,{children:"The main interface of Limits Monitor is the top where items are displayed when they violate a yellow or red limit."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Limits",src:t(7353).A+"",width:"1270",height:"803"})}),"\n",(0,s.jsxs)(i.p,{children:["Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red ",(0,s.jsx)(i.a,{href:"/docs/configuration/telemetry#state",children:"states"})," are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed."]}),"\n",(0,s.jsx)(i.p,{children:"Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate \"(Some items ignored)\" to indicate the Limits State is potentially being affected by ignored items."}),"\n",(0,s.jsx)(i.p,{children:"Clicking the last icon (eye with strike-through) temporarily hides the specified item. This is different from ignoring an item because if this item goes out of limits it will be again be displayed. Hiding an item is useful if the item has gone back to green and you want to continue to track it but want to clean up the current list of items. For example, we might hide the GROUND1STATUS items in the above example as they have transitioned back to green."}),"\n",(0,s.jsx)(i.h2,{id:"limits-log",children:"Limits Log"}),"\n",(0,s.jsx)(i.p,{children:"The Log section lists all limits events. Events can be filtered by using the Search box as shown."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Log",src:t(7506).A+"",width:"1261",height:"522"})})]})}function h(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},3722:(e,i,t)=>{t.d(i,{A:()=>n});const n=t.p+"assets/images/file_menu-953e2fc0c1a5b30c90d6f748add6ee28f8b42f30fc33d0b3c8709d6c85f06585.png"},4058:(e,i,t)=>{t.d(i,{A:()=>n});const n=t.p+"assets/images/change_limits_set-b72da282ea28d783bd7e1d0cd48db72486dacb4e76e1cd46d52c7999028d9c0d.png"},3782:(e,i,t)=>{t.d(i,{A:()=>n});const n=t.p+"assets/images/ignored-0917bd9f41f4e93704daa45cc0a7b70809bdbba03615d6de254336141b598992.png"},7353:(e,i,t)=>{t.d(i,{A:()=>n});const n=t.p+"assets/images/limits_monitor-34ca441e5a7198b4dc57a27b2e6fcb973dddad5eaaa5e9bf0d60738f4143c73a.png"},7506:(e,i,t)=>{t.d(i,{A:()=>n});const n=t.p+"assets/images/log-6cf3276d9e6b7dc30573b2b6a5989c6c5defc658e2c0ae4c2150a5fd11fd49d3.png"},8453:(e,i,t)=>{t.d(i,{R:()=>a,x:()=>l});var n=t(6540);const s={},o=n.createContext(s);function a(e){const i=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/54d0d530.ff5f55f3.js b/docs/assets/js/54d0d530.ff5f55f3.js new file mode 100644 index 0000000000..b6dc50a510 --- /dev/null +++ b/docs/assets/js/54d0d530.ff5f55f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7471"],{9598:function(e,i,t){t.r(i),t.d(i,{metadata:()=>n,contentTitle:()=>l,default:()=>h,assets:()=>r,toc:()=>d,frontMatter:()=>a});var n=JSON.parse('{"id":"tools/limits-monitor","title":"Limits Monitor","description":"View out of limit items and log messages","source":"@site/docs/tools/limits-monitor.md","sourceDirName":"tools","slug":"/tools/limits-monitor","permalink":"/docs/tools/limits-monitor","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/limits-monitor.md","tags":[],"version":"current","frontMatter":{"title":"Limits Monitor","description":"View out of limit items and log messages","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Handbooks","permalink":"/docs/tools/handbooks"},"next":{"title":"Packet Viewer","permalink":"/docs/tools/packet-viewer"}}'),s=t("5893"),o=t("65");let a={title:"Limits Monitor",description:"View out of limit items and log messages",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},l=void 0,r={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Limits Monitor Menus",id:"limits-monitor-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Show Ignored",id:"show-ignored",level:4},{value:"Change Limits Set",id:"change-limits-set",level:4},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Limits Items",id:"limits-items",level:2},{value:"Limits Log",id:"limits-log",level:2}];function c(e){let i={a:"a",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(i.p,{children:"The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Cmd Tlm Server",src:t(8789).Z+"",width:"1270",height:"803"})}),"\n",(0,s.jsx)(i.h2,{id:"limits-monitor-menus",children:"Limits Monitor Menus"}),"\n",(0,s.jsx)(i.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)("img",{src:t(4319).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Show the list of ignored items"}),"\n",(0,s.jsx)(i.li,{children:"Change the overall COSMOS limits set"}),"\n",(0,s.jsx)(i.li,{children:"Opens a saved configuration"}),"\n",(0,s.jsx)(i.li,{children:"Save the current configuration (ignored items)"}),"\n",(0,s.jsx)(i.li,{children:"Reset the configuration (defaults settings)"}),"\n"]}),"\n",(0,s.jsx)(i.h4,{id:"show-ignored",children:"Show Ignored"}),"\n",(0,s.jsx)(i.p,{children:"This dialog displays all the items which the user has manually ignored by clicking the ignore icons next to out of limits items. Note that entire Packets which have been ignored are listed as TARGET PACKET without an item (as shown by INST MECH). Ignored items are removed by clicking the Trash icon. This means that the next time this item goes out of limits it will be displayed."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Ignored",src:t(52).Z+"",width:"594",height:"306"})}),"\n",(0,s.jsx)(i.h4,{id:"change-limits-set",children:"Change Limits Set"}),"\n",(0,s.jsxs)(i.p,{children:["Limits sets are defined with the ",(0,s.jsx)(i.a,{href:"../configuration/telemetry#limits",children:"LIMITS"})," keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS."]}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Change Limits Set",src:t(3500).Z+"",width:"647",height:"217"})}),"\n",(0,s.jsx)(i.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,s.jsx)(i.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(i.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,s.jsx)(i.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(i.h2,{id:"limits-items",children:"Limits Items"}),"\n",(0,s.jsx)(i.p,{children:"The main interface of Limits Monitor is the top where items are displayed when they violate a yellow or red limit."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Limits",src:t(8789).Z+"",width:"1270",height:"803"})}),"\n",(0,s.jsxs)(i.p,{children:["Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red ",(0,s.jsx)(i.a,{href:"/docs/configuration/telemetry#state",children:"states"})," are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed."]}),"\n",(0,s.jsx)(i.p,{children:"Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate \"(Some items ignored)\" to indicate the Limits State is potentially being affected by ignored items."}),"\n",(0,s.jsx)(i.p,{children:"Clicking the last icon (eye with strike-through) temporarily hides the specified item. This is different from ignoring an item because if this item goes out of limits it will be again be displayed. Hiding an item is useful if the item has gone back to green and you want to continue to track it but want to clean up the current list of items. For example, we might hide the GROUND1STATUS items in the above example as they have transitioned back to green."}),"\n",(0,s.jsx)(i.h2,{id:"limits-log",children:"Limits Log"}),"\n",(0,s.jsx)(i.p,{children:"The Log section lists all limits events. Events can be filtered by using the Search box as shown."}),"\n",(0,s.jsx)(i.p,{children:(0,s.jsx)(i.img,{alt:"Log",src:t(6118).Z+"",width:"1261",height:"522"})})]})}function h(e={}){let{wrapper:i}={...(0,o.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},4319:function(e,i,t){t.d(i,{Z:function(){return n}});let n=t.p+"assets/images/file_menu-953e2fc0c1a5b30c90d6f748add6ee28f8b42f30fc33d0b3c8709d6c85f06585.png"},3500:function(e,i,t){t.d(i,{Z:function(){return n}});let n=t.p+"assets/images/change_limits_set-b72da282ea28d783bd7e1d0cd48db72486dacb4e76e1cd46d52c7999028d9c0d.png"},52:function(e,i,t){t.d(i,{Z:function(){return n}});let n=t.p+"assets/images/ignored-0917bd9f41f4e93704daa45cc0a7b70809bdbba03615d6de254336141b598992.png"},8789:function(e,i,t){t.d(i,{Z:function(){return n}});let n=t.p+"assets/images/limits_monitor-34ca441e5a7198b4dc57a27b2e6fcb973dddad5eaaa5e9bf0d60738f4143c73a.png"},6118:function(e,i,t){t.d(i,{Z:function(){return n}});let n=t.p+"assets/images/log-6cf3276d9e6b7dc30573b2b6a5989c6c5defc658e2c0ae4c2150a5fd11fd49d3.png"},65:function(e,i,t){t.d(i,{Z:function(){return l},a:function(){return a}});var n=t(7294);let s={},o=n.createContext(s);function a(e){let i=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(o.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5b233ba7.0de7d63f.js b/docs/assets/js/5b233ba7.0de7d63f.js new file mode 100644 index 0000000000..a6c539c00e --- /dev/null +++ b/docs/assets/js/5b233ba7.0de7d63f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3522"],{170:function(e,n,i){i.r(n),i.d(n,{metadata:()=>s,contentTitle:()=>r,default:()=>d,assets:()=>a,toc:()=>c,frontMatter:()=>l});var s=JSON.parse('{"id":"meta/licenses","title":"Licenses","description":"COSMOS licenses including the AGPLv3 vs Commercial","source":"@site/docs/meta/licenses.md","sourceDirName":"meta","slug":"/meta/licenses","permalink":"/docs/meta/licenses","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/licenses.md","tags":[],"version":"current","frontMatter":{"title":"Licenses","description":"COSMOS licenses including the AGPLv3 vs Commercial","sidebar_custom_props":{"myEmoji":"\uD83D\uDD75\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Contributing","permalink":"/docs/meta/contributing"},"next":{"title":"Philosophy","permalink":"/docs/meta/philosophy"}}'),o=i("5893"),t=i("65");let l={title:"Licenses",description:"COSMOS licenses including the AGPLv3 vs Commercial",sidebar_custom_props:{myEmoji:"\uD83D\uDD75\uFE0F"}},r=void 0,a={},c=[{value:"AGPLv3",id:"agplv3",level:2},{value:"Evaluation and Education Use Only",id:"evaluation-and-education-use-only",level:2},{value:"Commercial License",id:"commercial-license",level:2},{value:"Why you should buy a Commercial License",id:"why-you-should-buy-a-commercial-license",level:3},{value:"FAQs",id:"faqs",level:2}];function h(e){let n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"OpenC3 COSMOS is offered under a tri-licensing model allowing users to choose between the following three options:"}),"\n",(0,o.jsx)(n.h2,{id:"agplv3",children:"AGPLv3"}),"\n",(0,o.jsxs)(n.p,{children:["This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: ",(0,o.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/blob/main/LICENSE.txt",children:"OpenC3 AGPLv3"})]}),"\n",(0,o.jsx)(n.p,{children:"Obviously, the actual license text applies, but here is a short summary:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"The AGPL allows users to use the code however they want: For business, personal, etc., as long as they follow the other terms:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Users are anyone who could access the web-app. On the public internet, that is the whole world. On a private network, it is anyone with access to that network."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"The software is provided as-is, no warranty"}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Users must be given access to all the source code and are also allowed to use it however they want under the same terms of the AGPLv3. This includes any modifications made, anything added, and all plugins."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"For web applications (like COSMOS), a link must be provided to all of the source code."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"There are some key implications of the above:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You cannot keep anything proprietary from your users. They have the rights to take the code (and configuration) and do anything they want with it. You CANNOT impede these rights or you are violating the AGPLv3 and YOU lose the rights to use our software."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You must provide a digital link to all source code for your users, including plugins."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"All plugins must be licensed in an AGPLv3 compatible fashion. We recommend the MIT license because that allows your plugins to be compatible with the AGPLv3 and our commercial license. You can also use a dual license similar to what we do indicating the AGPLv3 or a purchased OpenC3 Commercial license."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"The AGPLv3 license is often chosen because it works well for open core products like COSMOS. Competitors cannot take the open source product and license it under different terms. They would be forever locked into the AGPLv3 which is difficult to monetize, because your customers can take any code you provide and publish it on the internet for free use by everyone."}),"\n",(0,o.jsx)(n.p,{children:"As the copyright holder, OpenC3 is able to license the product and derivatives commercially. No-one else can do this. (OpenC3 is also able to license legacy Ball Aerospace COSMOS code under IP agreement)"}),"\n",(0,o.jsx)(n.h2,{id:"evaluation-and-education-use-only",children:"Evaluation and Education Use Only"}),"\n",(0,o.jsxs)(n.p,{children:["This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: ",(0,o.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-cfdp",children:"CFDP Plugin"})]}),"\n",(0,o.jsx)(n.p,{children:"You can read the whole license here:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:'# OpenC3 Evaluation and Educational License\n#\n# Copyright 2023 OpenC3, Inc.\n#\n# This work is licensed for evaluation and educational purposes only.\n# It may NOT be used for formal development, integration and test, operations\n# or any other commercial purpose without the purchase of a commercial license\n# from OpenC3, Inc.\n#\n# The above copyright notice and this permission notice shall be included in all copies\n# or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'})}),"\n",(0,o.jsx)(n.p,{children:"This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license."}),"\n",(0,o.jsx)(n.h2,{id:"commercial-license",children:"Commercial License"}),"\n",(0,o.jsx)(n.p,{children:"This license is a signed contract with OpenC3. It allows use of our code for a program under contractual terms where you do not have to follow the AGPLv3."}),"\n",(0,o.jsx)(n.p,{children:"Generally we license to a specific project with terms that allow for unlimited users, and installs as needed by that project. Any code and plugins that you develop under the commercial license can be kept proprietary."}),"\n",(0,o.jsx)(n.p,{children:"These licenses are sold as yearly subscriptions, or as a non-expiring perpetual license. We also offer site licenses, and licenses to support unlimited missions on a government framework architecture."}),"\n",(0,o.jsx)(n.p,{children:"Of course with our commercial license, you also get all the extra functionality of our Enterprise product."}),"\n",(0,o.jsx)(n.h3,{id:"why-you-should-buy-a-commercial-license",children:"Why you should buy a Commercial License"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You want to save years and tens of millions of dollars developing the same functionality yourself."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You want all of the Enterprise functionality of COSMOS Enterprise Edition"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"User Accounts"}),"\n",(0,o.jsx)(n.li,{children:"Role Based Access Control"}),"\n",(0,o.jsx)(n.li,{children:"LDAP Support"}),"\n",(0,o.jsx)(n.li,{children:"Kubernetes Support"}),"\n",(0,o.jsx)(n.li,{children:"Cloud Deployment Configurations"}),"\n",(0,o.jsx)(n.li,{children:"The right to use CFDP and other Enterprise Only plugins"}),"\n",(0,o.jsx)(n.li,{children:"Grafana Support"}),"\n",(0,o.jsx)(n.li,{children:"Support from the COSMOS Developers"}),"\n",(0,o.jsxs)(n.li,{children:["Lots more - See our ",(0,o.jsx)(n.a,{href:"https://openc3.com/enterprise",children:"Enterprise"})," page"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You don't want to follow the AGPLv3"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"You want to keep the code and plugins you develop proprietary"}),"\n",(0,o.jsx)(n.li,{children:"You don't want to publish an accessible link to your source code"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You want to support the continued development and innovation of the COSMOS product"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"We appreciate all of our commercial customers. You make OpenC3 possible. Thank you."})})}),"\n",(0,o.jsx)(n.h2,{id:"faqs",children:"FAQs"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean?"}),"\n",(0,o.jsx)(n.p,{children:"OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"What are the limits of the COSMOS Enterprise Edition? How many users can we have? How many times can it be installed?"}),"\n",(0,o.jsx)(n.p,{children:"The COSMOS Enterprise Edition license has no user or installation limits."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"How is the COSMOS Enterprise Edition license enforced?"}),"\n",(0,o.jsx)(n.p,{children:"The COSMOS Enterprise Edition license is enforced through contract only without license managers or additional software controls."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"How is the COSMOS Enterprise Edition license applied? Per company? Per program?"}),"\n",(0,o.jsxs)(n.p,{children:["COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at ",(0,o.jsx)(n.a,{href:"mailto:sales@openc3.com",children:"sales@openc3.com"})," for more information."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Do you license to foreign companies? How do you handle ITAR or the EAR?"}),"\n",(0,o.jsxs)(n.p,{children:["We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at ",(0,o.jsx)(n.a,{href:"mailto:sales@openc3.com",children:"sales@openc3.com"})," for more information."]}),"\n"]}),"\n"]})]})}function d(e={}){let{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},65:function(e,n,i){i.d(n,{Z:function(){return r},a:function(){return l}});var s=i(7294);let o={},t=s.createContext(o);function l(e){let n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5b233ba7.e3154746.js b/docs/assets/js/5b233ba7.e3154746.js deleted file mode 100644 index 6f62ec0854..0000000000 --- a/docs/assets/js/5b233ba7.e3154746.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8444],{5740:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"meta/licenses","title":"Licenses","description":"COSMOS licenses including the AGPLv3 vs Commercial","source":"@site/docs/meta/licenses.md","sourceDirName":"meta","slug":"/meta/licenses","permalink":"/docs/meta/licenses","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/licenses.md","tags":[],"version":"current","frontMatter":{"title":"Licenses","description":"COSMOS licenses including the AGPLv3 vs Commercial","sidebar_custom_props":{"myEmoji":"\ud83d\udd75\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Contributing","permalink":"/docs/meta/contributing"},"next":{"title":"Philosophy","permalink":"/docs/meta/philosophy"}}');var o=s(4848),t=s(8453);const l={title:"Licenses",description:"COSMOS licenses including the AGPLv3 vs Commercial",sidebar_custom_props:{myEmoji:"\ud83d\udd75\ufe0f"}},r=void 0,a={},c=[{value:"AGPLv3",id:"agplv3",level:2},{value:"Evaluation and Education Use Only",id:"evaluation-and-education-use-only",level:2},{value:"Commercial License",id:"commercial-license",level:2},{value:"Why you should buy a Commercial License",id:"why-you-should-buy-a-commercial-license",level:3},{value:"FAQs",id:"faqs",level:2}];function h(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"OpenC3 COSMOS is offered under a tri-licensing model allowing users to choose between the following three options:"}),"\n",(0,o.jsx)(n.h2,{id:"agplv3",children:"AGPLv3"}),"\n",(0,o.jsxs)(n.p,{children:["This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: ",(0,o.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/blob/main/LICENSE.txt",children:"OpenC3 AGPLv3"})]}),"\n",(0,o.jsx)(n.p,{children:"Obviously, the actual license text applies, but here is a short summary:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"The AGPL allows users to use the code however they want: For business, personal, etc., as long as they follow the other terms:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Users are anyone who could access the web-app. On the public internet, that is the whole world. On a private network, it is anyone with access to that network."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"The software is provided as-is, no warranty"}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Users must be given access to all the source code and are also allowed to use it however they want under the same terms of the AGPLv3. This includes any modifications made, anything added, and all plugins."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"For web applications (like COSMOS), a link must be provided to all of the source code."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"There are some key implications of the above:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You cannot keep anything proprietary from your users. They have the rights to take the code (and configuration) and do anything they want with it. You CANNOT impede these rights or you are violating the AGPLv3 and YOU lose the rights to use our software."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You must provide a digital link to all source code for your users, including plugins."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"All plugins must be licensed in an AGPLv3 compatible fashion. We recommend the MIT license because that allows your plugins to be compatible with the AGPLv3 and our commercial license. You can also use a dual license similar to what we do indicating the AGPLv3 or a purchased OpenC3 Commercial license."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"The AGPLv3 license is often chosen because it works well for open core products like COSMOS. Competitors cannot take the open source product and license it under different terms. They would be forever locked into the AGPLv3 which is difficult to monetize, because your customers can take any code you provide and publish it on the internet for free use by everyone."}),"\n",(0,o.jsx)(n.p,{children:"As the copyright holder, OpenC3 is able to license the product and derivatives commercially. No-one else can do this. (OpenC3 is also able to license legacy Ball Aerospace COSMOS code under IP agreement)"}),"\n",(0,o.jsx)(n.h2,{id:"evaluation-and-education-use-only",children:"Evaluation and Education Use Only"}),"\n",(0,o.jsxs)(n.p,{children:["This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: ",(0,o.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-cfdp",children:"CFDP Plugin"})]}),"\n",(0,o.jsx)(n.p,{children:"You can read the whole license here:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:'# OpenC3 Evaluation and Educational License\n#\n# Copyright 2023 OpenC3, Inc.\n#\n# This work is licensed for evaluation and educational purposes only.\n# It may NOT be used for formal development, integration and test, operations\n# or any other commercial purpose without the purchase of a commercial license\n# from OpenC3, Inc.\n#\n# The above copyright notice and this permission notice shall be included in all copies\n# or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'})}),"\n",(0,o.jsx)(n.p,{children:"This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license."}),"\n",(0,o.jsx)(n.h2,{id:"commercial-license",children:"Commercial License"}),"\n",(0,o.jsx)(n.p,{children:"This license is a signed contract with OpenC3. It allows use of our code for a program under contractual terms where you do not have to follow the AGPLv3."}),"\n",(0,o.jsx)(n.p,{children:"Generally we license to a specific project with terms that allow for unlimited users, and installs as needed by that project. Any code and plugins that you develop under the commercial license can be kept proprietary."}),"\n",(0,o.jsx)(n.p,{children:"These licenses are sold as yearly subscriptions, or as a non-expiring perpetual license. We also offer site licenses, and licenses to support unlimited missions on a government framework architecture."}),"\n",(0,o.jsx)(n.p,{children:"Of course with our commercial license, you also get all the extra functionality of our Enterprise product."}),"\n",(0,o.jsx)(n.h3,{id:"why-you-should-buy-a-commercial-license",children:"Why you should buy a Commercial License"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You want to save years and tens of millions of dollars developing the same functionality yourself."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You want all of the Enterprise functionality of COSMOS Enterprise Edition"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"User Accounts"}),"\n",(0,o.jsx)(n.li,{children:"Role Based Access Control"}),"\n",(0,o.jsx)(n.li,{children:"LDAP Support"}),"\n",(0,o.jsx)(n.li,{children:"Kubernetes Support"}),"\n",(0,o.jsx)(n.li,{children:"Cloud Deployment Configurations"}),"\n",(0,o.jsx)(n.li,{children:"The right to use CFDP and other Enterprise Only plugins"}),"\n",(0,o.jsx)(n.li,{children:"Grafana Support"}),"\n",(0,o.jsx)(n.li,{children:"Support from the COSMOS Developers"}),"\n",(0,o.jsxs)(n.li,{children:["Lots more - See our ",(0,o.jsx)(n.a,{href:"https://openc3.com/enterprise",children:"Enterprise"})," page"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You don't want to follow the AGPLv3"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"You want to keep the code and plugins you develop proprietary"}),"\n",(0,o.jsx)(n.li,{children:"You don't want to publish an accessible link to your source code"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"You want to support the continued development and innovation of the COSMOS product"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:(0,o.jsx)(n.em,{children:"We appreciate all of our commercial customers. You make OpenC3 possible. Thank you."})})}),"\n",(0,o.jsx)(n.h2,{id:"faqs",children:"FAQs"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean?"}),"\n",(0,o.jsx)(n.p,{children:"OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"What are the limits of the COSMOS Enterprise Edition? How many users can we have? How many times can it be installed?"}),"\n",(0,o.jsx)(n.p,{children:"The COSMOS Enterprise Edition license has no user or installation limits."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"How is the COSMOS Enterprise Edition license enforced?"}),"\n",(0,o.jsx)(n.p,{children:"The COSMOS Enterprise Edition license is enforced through contract only without license managers or additional software controls."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"How is the COSMOS Enterprise Edition license applied? Per company? Per program?"}),"\n",(0,o.jsxs)(n.p,{children:["COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at ",(0,o.jsx)(n.a,{href:"mailto:sales@openc3.com",children:"sales@openc3.com"})," for more information."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Do you license to foreign companies? How do you handle ITAR or the EAR?"}),"\n",(0,o.jsxs)(n.p,{children:["We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at ",(0,o.jsx)(n.a,{href:"mailto:sales@openc3.com",children:"sales@openc3.com"})," for more information."]}),"\n"]}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>r});var i=s(6540);const o={},t=i.createContext(o);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5bc719f6.19dac147.js b/docs/assets/js/5bc719f6.19dac147.js new file mode 100644 index 0000000000..06609da9ed --- /dev/null +++ b/docs/assets/js/5bc719f6.19dac147.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["659"],{3850:function(e,n,o){o.r(n),o.d(n,{metadata:()=>s,contentTitle:()=>r,default:()=>h,assets:()=>c,toc:()=>l,frontMatter:()=>a});var s=JSON.parse('{"id":"getting-started/podman","title":"Podman","description":"Installing and running COSMOS with Podman","source":"@site/docs/getting-started/podman.md","sourceDirName":"getting-started","slug":"/getting-started/podman","permalink":"/docs/getting-started/podman","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/podman.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_position":7,"title":"Podman","description":"Installing and running COSMOS with Podman","sidebar_custom_props":{"myEmoji":"\uD83E\uDEDB"}},"sidebar":"defaultSidebar","previous":{"title":"Requirements and Design","permalink":"/docs/getting-started/requirements"},"next":{"title":"Configuration","permalink":"/docs/configuration"}}'),t=o("5893"),i=o("65");let a={sidebar_position:7,title:"Podman",description:"Installing and running COSMOS with Podman",sidebar_custom_props:{myEmoji:"\uD83E\uDEDB"}},r=void 0,c={},l=[{value:"OpenC3 COSMOS Using Rootless Podman and Docker-Compose",id:"openc3-cosmos-using-rootless-podman-and-docker-compose",level:3},{value:"MacOS Instructions",id:"macos-instructions",level:2}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h3,{id:"openc3-cosmos-using-rootless-podman-and-docker-compose",children:"OpenC3 COSMOS Using Rootless Podman and Docker-Compose"}),"\n",(0,t.jsx)(n.admonition,{title:"Optional Installation Option",type:"info",children:(0,t.jsx)(n.p,{children:"These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method."})}),"\n",(0,t.jsx)(n.p,{children:"Podman is an alternative container technology to Docker that is actively promoted by RedHat. The key benefit is that Podman can run without a root-level daemon service, making it significantly more secure by design, over standard Docker. However, it is a little more complicated to use. These directions will get you up and running with Podman. The following directions have been tested against RHEL 8.8, and RHEL 9.2, but should be similar on other operating systems."}),"\n",(0,t.jsx)(n.admonition,{title:"Rootless Podman Does Not Work (Directly) with NFS Home Directories",type:"warning",children:(0,t.jsxs)(n.p,{children:["NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [",(0,t.jsx)(n.a,{href:"https://www.redhat.com/sysadmin/rootless-podman-nfs",children:"https://www.redhat.com/sysadmin/rootless-podman-nfs"}),"]",(0,t.jsx)(n.a,{href:"https://www.redhat.com/sysadmin/rootless-podman-nfs",children:"https://www.redhat.com/sysadmin/rootless-podman-nfs"}),"). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See ",(0,t.jsx)(n.a,{href:"https://www.redhat.com/sysadmin/nfs-rootless-podman",children:"https://www.redhat.com/sysadmin/nfs-rootless-podman"})]})}),"\n",(0,t.jsx)(n.h1,{id:"redhat-88-and-92-instructions",children:"Redhat 8.8 and 9.2 Instructions"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Install Prerequisite Packages"}),"\n",(0,t.jsx)(n.p,{children:"Note: This downloads and installs docker-compose from the latest 2.x release on Github. If your operating system has a docker-compose package, it will be easier to install using that instead. RHEL8 does not have a docker-compose package."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo yum update\nsudo yum install git podman-docker netavark\ncurl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose\nsudo mv docker-compose /usr/local/bin/docker-compose\nsudo chmod +x /usr/local/bin/docker-compose\nsudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Configure Host OS for Redis"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo su\necho never > /sys/kernel/mm/transparent_hugepage/enabled\necho never > /sys/kernel/mm/transparent_hugepage/defrag\nsysctl -w vm.max_map_count=262144\nexit\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Configure Podman to use Netavark for DNS"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo cp /usr/share/containers/containers.conf /etc/containers/.\nsudo vi /etc/containers/containers.conf\n"})}),"\n",(0,t.jsx)(n.p,{children:'Then edit the network_backend line to be "netavark" instead of "cni"'}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Start rootless podman socket service"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"systemctl enable --now --user podman.socket\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Put the following into your .bashrc file (or .bash_profile or whatever)"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"\n'})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Source the profile file for your current terminal"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"source .bashrc\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Get COSMOS - A release or the current main branch (main branch shown)"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/OpenC3/cosmos.git\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Optional - Set Default Container Registry"}),"\n",(0,t.jsx)(n.p,{children:"If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly)"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"mkdir -p $HOME/.config/containers\ncp /etc/containers/registries.conf $HOME/.config/containers/.\nvi $HOME/.config/containers/registries.conf\n"})}),"\n",(0,t.jsx)(n.p,{children:"Then edit the unqualified-search-registries = line to just have the registry you care about (probably docker.io)"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Edit cosmos/compose.yaml"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd cosmos\nvi compose.yaml\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: ",(0,t.jsx)(n.code,{children:'"${OPENC3_USER_ID}:${OPENC3_GROUP_ID}"'})," lines.\nYou may also want to update the traefik configuration to allow access from the internet by removing 127.0.0.1 and probably switching to either an SSL config file, or the allow http one. Also make sure your firewall allows\nwhatever port you choose to use in. Rootless podman will need to use a higher numbered port (not 1-1023)."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Run COSMOS"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"./openc3.sh run\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Wait until everything is built and running and then goto ",(0,t.jsx)(n.a,{href:"http://localhost:2900",children:"http://localhost:2900"})," in your browser"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{title:"Podman on MacOS",type:"info",children:(0,t.jsx)(n.p,{children:"Podman can also be used on MacOS, though we still generally recommend Docker Desktop"})}),"\n",(0,t.jsx)(n.h2,{id:"macos-instructions",children:"MacOS Instructions"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Install podman"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"brew install podman\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Start the podman virtual machine"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"podman machine init\npodman machine start\n# Note: update to your username in the next line or copy paste from what 'podman machine start' says\nexport DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock'\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Install docker-compose"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"brew install docker-compose # Optional if you already have Docker Desktop\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Edit cosmos/compose.yaml"}),"\n",(0,t.jsxs)(n.p,{children:["Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: ",(0,t.jsx)(n.code,{children:'"${OPENC3_USER_ID}:${OPENC3_GROUP_ID}"'})," lines."]}),"\n",(0,t.jsxs)(n.p,{children:["Important: on MacOS you must also remove all ",":z"," from the volume mount lines"]}),"\n",(0,t.jsx)(n.p,{children:"You may also want to update the traefik configuration to allow access from the internet."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Run COSMOS"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd cosmos\n./openc3.sh run\n"})}),"\n"]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},65:function(e,n,o){o.d(n,{Z:function(){return r},a:function(){return a}});var s=o(7294);let t={},i=s.createContext(t);function a(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5bc719f6.fcab44f1.js b/docs/assets/js/5bc719f6.fcab44f1.js deleted file mode 100644 index 35fe716533..0000000000 --- a/docs/assets/js/5bc719f6.fcab44f1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3942],{7414:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"getting-started/podman","title":"Podman","description":"Installing and running COSMOS with Podman","source":"@site/docs/getting-started/podman.md","sourceDirName":"getting-started","slug":"/getting-started/podman","permalink":"/docs/getting-started/podman","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/podman.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_position":7,"title":"Podman","description":"Installing and running COSMOS with Podman","sidebar_custom_props":{"myEmoji":"\ud83e\udedb"}},"sidebar":"defaultSidebar","previous":{"title":"Requirements and Design","permalink":"/docs/getting-started/requirements"},"next":{"title":"Configuration","permalink":"/docs/configuration"}}');var t=o(4848),i=o(8453);const a={sidebar_position:7,title:"Podman",description:"Installing and running COSMOS with Podman",sidebar_custom_props:{myEmoji:"\ud83e\udedb"}},r=void 0,c={},l=[{value:"OpenC3 COSMOS Using Rootless Podman and Docker-Compose",id:"openc3-cosmos-using-rootless-podman-and-docker-compose",level:3},{value:"MacOS Instructions",id:"macos-instructions",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h3,{id:"openc3-cosmos-using-rootless-podman-and-docker-compose",children:"OpenC3 COSMOS Using Rootless Podman and Docker-Compose"}),"\n",(0,t.jsx)(n.admonition,{title:"Optional Installation Option",type:"info",children:(0,t.jsx)(n.p,{children:"These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method."})}),"\n",(0,t.jsx)(n.p,{children:"Podman is an alternative container technology to Docker that is actively promoted by RedHat. The key benefit is that Podman can run without a root-level daemon service, making it significantly more secure by design, over standard Docker. However, it is a little more complicated to use. These directions will get you up and running with Podman. The following directions have been tested against RHEL 8.8, and RHEL 9.2, but should be similar on other operating systems."}),"\n",(0,t.jsx)(n.admonition,{title:"Rootless Podman Does Not Work (Directly) with NFS Home Directories",type:"warning",children:(0,t.jsxs)(n.p,{children:["NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [",(0,t.jsx)(n.a,{href:"https://www.redhat.com/sysadmin/rootless-podman-nfs",children:"https://www.redhat.com/sysadmin/rootless-podman-nfs"}),"]",(0,t.jsx)(n.a,{href:"https://www.redhat.com/sysadmin/rootless-podman-nfs",children:"https://www.redhat.com/sysadmin/rootless-podman-nfs"}),"). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See ",(0,t.jsx)(n.a,{href:"https://www.redhat.com/sysadmin/nfs-rootless-podman",children:"https://www.redhat.com/sysadmin/nfs-rootless-podman"})]})}),"\n",(0,t.jsx)(n.h1,{id:"redhat-88-and-92-instructions",children:"Redhat 8.8 and 9.2 Instructions"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Install Prerequisite Packages"}),"\n",(0,t.jsx)(n.p,{children:"Note: This downloads and installs docker-compose from the latest 2.x release on Github. If your operating system has a docker-compose package, it will be easier to install using that instead. RHEL8 does not have a docker-compose package."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo yum update\nsudo yum install git podman-docker netavark\ncurl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose\nsudo mv docker-compose /usr/local/bin/docker-compose\nsudo chmod +x /usr/local/bin/docker-compose\nsudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Configure Host OS for Redis"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo su\necho never > /sys/kernel/mm/transparent_hugepage/enabled\necho never > /sys/kernel/mm/transparent_hugepage/defrag\nsysctl -w vm.max_map_count=262144\nexit\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Configure Podman to use Netavark for DNS"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo cp /usr/share/containers/containers.conf /etc/containers/.\nsudo vi /etc/containers/containers.conf\n"})}),"\n",(0,t.jsx)(n.p,{children:'Then edit the network_backend line to be "netavark" instead of "cni"'}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Start rootless podman socket service"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"systemctl enable --now --user podman.socket\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Put the following into your .bashrc file (or .bash_profile or whatever)"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"\n'})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Source the profile file for your current terminal"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"source .bashrc\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Get COSMOS - A release or the current main branch (main branch shown)"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/OpenC3/cosmos.git\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Optional - Set Default Container Registry"}),"\n",(0,t.jsx)(n.p,{children:"If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly)"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"mkdir -p $HOME/.config/containers\ncp /etc/containers/registries.conf $HOME/.config/containers/.\nvi $HOME/.config/containers/registries.conf\n"})}),"\n",(0,t.jsx)(n.p,{children:"Then edit the unqualified-search-registries = line to just have the registry you care about (probably docker.io)"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Edit cosmos/compose.yaml"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd cosmos\nvi compose.yaml\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: ",(0,t.jsx)(n.code,{children:'"${OPENC3_USER_ID}:${OPENC3_GROUP_ID}"'})," lines.\nYou may also want to update the traefik configuration to allow access from the internet by removing 127.0.0.1 and probably switching to either an SSL config file, or the allow http one. Also make sure your firewall allows\nwhatever port you choose to use in. Rootless podman will need to use a higher numbered port (not 1-1023)."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Run COSMOS"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"./openc3.sh run\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Wait until everything is built and running and then goto ",(0,t.jsx)(n.a,{href:"http://localhost:2900",children:"http://localhost:2900"})," in your browser"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{title:"Podman on MacOS",type:"info",children:(0,t.jsx)(n.p,{children:"Podman can also be used on MacOS, though we still generally recommend Docker Desktop"})}),"\n",(0,t.jsx)(n.h2,{id:"macos-instructions",children:"MacOS Instructions"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Install podman"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"brew install podman\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Start the podman virtual machine"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"podman machine init\npodman machine start\n# Note: update to your username in the next line or copy paste from what 'podman machine start' says\nexport DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock'\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Install docker-compose"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"brew install docker-compose # Optional if you already have Docker Desktop\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Edit cosmos/compose.yaml"}),"\n",(0,t.jsxs)(n.p,{children:["Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: ",(0,t.jsx)(n.code,{children:'"${OPENC3_USER_ID}:${OPENC3_GROUP_ID}"'})," lines."]}),"\n",(0,t.jsxs)(n.p,{children:["Important: on MacOS you must also remove all ",":z"," from the volume mount lines"]}),"\n",(0,t.jsx)(n.p,{children:"You may also want to update the traefik configuration to allow access from the internet."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Run COSMOS"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd cosmos\n./openc3.sh run\n"})}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>a,x:()=>r});var s=o(6540);const t={},i=s.createContext(t);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5c6ce5ec.9c924bc7.js b/docs/assets/js/5c6ce5ec.6889c007.js similarity index 78% rename from docs/assets/js/5c6ce5ec.9c924bc7.js rename to docs/assets/js/5c6ce5ec.6889c007.js index 01c9ae7f6f..3686f31c35 100644 --- a/docs/assets/js/5c6ce5ec.9c924bc7.js +++ b/docs/assets/js/5c6ce5ec.6889c007.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5380],{9677:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"development/streaming-api","title":"Streaming API","description":"Using the websocket streaming API to retrieve data","source":"@site/docs/development/streaming-api.md","sourceDirName":"development","slug":"/development/streaming-api","permalink":"/docs/development/streaming-api","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/streaming-api.md","tags":[],"version":"current","frontMatter":{"title":"Streaming API","description":"Using the websocket streaming API to retrieve data","sidebar_custom_props":{"myEmoji":"\ud83d\udcdd"}},"sidebar":"defaultSidebar","previous":{"title":"Roadmap","permalink":"/docs/development/roadmap"},"next":{"title":"Testing COSMOS","permalink":"/docs/development/testing"}}');var i=n(4848),s=n(8453);const o={title:"Streaming API",description:"Using the websocket streaming API to retrieve data",sidebar_custom_props:{myEmoji:"\ud83d\udcdd"}},r=void 0,c={},d=[];function l(e){const t={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.admonition,{title:"This documentation is for COSMOS Developers",type:"note",children:(0,i.jsx)(t.p,{children:"This information is just generally used behind the scenes in COSMOS tools"})}),"\n",(0,i.jsx)(t.p,{children:"The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested."}),"\n",(0,i.jsx)(t.p,{children:"This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend."}),"\n",(0,i.jsx)(t.p,{children:"The following interactions are all shown in Javascript, but would be very similar in any language.\nConnecting to this API begins by initiating an ActionCable connection."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"cable = ActionCable.createConsumer('/openc3-api/cable')\n"})}),"\n",(0,i.jsx)(t.p,{children:"This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple \u201csubscriptions\u201d."}),"\n",(0,i.jsx)(t.p,{children:"A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:'subscription = cable.subscriptions.create(\n {\n channel: "StreamingChannel",\n scope: "DEFAULT",\n token: token,\n },\n {\n received: (data) => {\n // Handle received data\n },\n connected: () => {\n // First chance to add what you want to stream here\n },\n disconnected: () => {\n // Handle the subscription being disconnected\n },\n rejected: () => {\n // Handle the subscription being rejected\n },\n }\n);\n'})}),"\n",(0,i.jsxs)(t.p,{children:["Subscribing to the StreamingApi requires passing a channel name set to \u201cStreamingChannel\u201d, a scope which is typically \u201cDEFAULT\u201d, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are ",(0,i.jsx)(t.code,{children:"connected"})," and ",(0,i.jsx)(t.code,{children:"received"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"connected"})," runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open."]}),"\n",(0,i.jsx)(t.p,{children:"Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet."}),"\n",(0,i.jsx)(t.p,{children:"Adding items to stream is done as follows:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:'var items = [\n ["DECOM__TLM__INST__ADCS__Q1__RAW", "0"],\n ["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"],\n];\nOpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {\n this.subscription.perform("add", {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n items: items,\n start_time: this.startDateTime,\n end_time: this.endDateTime,\n });\n});\n'})}),"\n",(0,i.jsxs)(t.p,{children:["The values in the item name are separated by double underscores, e.g. ",(0,i.jsx)(t.code,{children:"____________"}),". Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV."]}),"\n",(0,i.jsx)(t.p,{children:"Adding packets to stream is done as follows:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:'var packets = [\n ["RAW__TLM__INST__ADCS", "0"],\n ["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"],\n];\nOpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {\n this.subscription.perform("add", {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: packets,\n start_time: this.startDateTime,\n end_time: this.endDateTime,\n });\n});\n'})}),"\n",(0,i.jsxs)(t.p,{children:["The values in the packet name are separated by double underscores, e.g. ",(0,i.jsx)(t.code,{children:"________"}),". Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS."]}),"\n",(0,i.jsx)(t.p,{children:"For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS).\nstart_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data."}),"\n",(0,i.jsx)(t.p,{children:"Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator."}),"\n",(0,i.jsx)(t.p,{children:"For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'[\n {\n "time": 1234657585858,\n "TLM__INST__ADCS__Q1__RAW": 50.0,\n "TLM__INST__ADCS__Q2__RAW": 100.0\n },\n {\n "time": 1234657585859,\n "TLM__INST__ADCS__Q1__RAW": 60.0,\n "TLM__INST__ADCS__Q2__RAW": 110.0\n }\n]\n'})}),"\n",(0,i.jsx)(t.p,{children:"For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'[\n {\n "time": 1234657585858,\n "packet": "DEFAULT__TELEMETRY__INST__ADCS",\n "buffer": "SkdfjGodkdfjdfoekfsg"\n },\n {\n "time": 1234657585859,\n "packet": "DEFAULT__TELEMETRY__INST__ADCS",\n "buffer": "3i5n49dmnfg9fl32k3"\n }\n]\n'})})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>r});var a=n(6540);const i={},s=a.createContext(i);function o(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7258"],{3514:function(e,t,n){n.r(t),n.d(t,{metadata:()=>a,contentTitle:()=>r,default:()=>p,assets:()=>c,toc:()=>d,frontMatter:()=>o});var a=JSON.parse('{"id":"development/streaming-api","title":"Streaming API","description":"Using the websocket streaming API to retrieve data","source":"@site/docs/development/streaming-api.md","sourceDirName":"development","slug":"/development/streaming-api","permalink":"/docs/development/streaming-api","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/streaming-api.md","tags":[],"version":"current","frontMatter":{"title":"Streaming API","description":"Using the websocket streaming API to retrieve data","sidebar_custom_props":{"myEmoji":"\uD83D\uDCDD"}},"sidebar":"defaultSidebar","previous":{"title":"Roadmap","permalink":"/docs/development/roadmap"},"next":{"title":"Testing COSMOS","permalink":"/docs/development/testing"}}'),i=n("5893"),s=n("65");let o={title:"Streaming API",description:"Using the websocket streaming API to retrieve data",sidebar_custom_props:{myEmoji:"\uD83D\uDCDD"}},r=void 0,c={},d=[];function l(e){let t={admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.admonition,{title:"This documentation is for COSMOS Developers",type:"note",children:(0,i.jsx)(t.p,{children:"This information is just generally used behind the scenes in COSMOS tools"})}),"\n",(0,i.jsx)(t.p,{children:"The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested."}),"\n",(0,i.jsx)(t.p,{children:"This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend."}),"\n",(0,i.jsx)(t.p,{children:"The following interactions are all shown in Javascript, but would be very similar in any language.\nConnecting to this API begins by initiating an ActionCable connection."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"cable = ActionCable.createConsumer('/openc3-api/cable')\n"})}),"\n",(0,i.jsx)(t.p,{children:"This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple \u201Csubscriptions\u201D."}),"\n",(0,i.jsx)(t.p,{children:"A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:'subscription = cable.subscriptions.create(\n {\n channel: "StreamingChannel",\n scope: "DEFAULT",\n token: token,\n },\n {\n received: (data) => {\n // Handle received data\n },\n connected: () => {\n // First chance to add what you want to stream here\n },\n disconnected: () => {\n // Handle the subscription being disconnected\n },\n rejected: () => {\n // Handle the subscription being rejected\n },\n }\n);\n'})}),"\n",(0,i.jsxs)(t.p,{children:["Subscribing to the StreamingApi requires passing a channel name set to \u201CStreamingChannel\u201D, a scope which is typically \u201CDEFAULT\u201D, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are ",(0,i.jsx)(t.code,{children:"connected"})," and ",(0,i.jsx)(t.code,{children:"received"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"connected"})," runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open."]}),"\n",(0,i.jsx)(t.p,{children:"Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet."}),"\n",(0,i.jsx)(t.p,{children:"Adding items to stream is done as follows:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:'var items = [\n ["DECOM__TLM__INST__ADCS__Q1__RAW", "0"],\n ["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"],\n];\nOpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {\n this.subscription.perform("add", {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n items: items,\n start_time: this.startDateTime,\n end_time: this.endDateTime,\n });\n});\n'})}),"\n",(0,i.jsxs)(t.p,{children:["The values in the item name are separated by double underscores, e.g. ",(0,i.jsx)(t.code,{children:"____________"}),". Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV."]}),"\n",(0,i.jsx)(t.p,{children:"Adding packets to stream is done as follows:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-javascript",children:'var packets = [\n ["RAW__TLM__INST__ADCS", "0"],\n ["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"],\n];\nOpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {\n this.subscription.perform("add", {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: packets,\n start_time: this.startDateTime,\n end_time: this.endDateTime,\n });\n});\n'})}),"\n",(0,i.jsxs)(t.p,{children:["The values in the packet name are separated by double underscores, e.g. ",(0,i.jsx)(t.code,{children:"________"}),". Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS."]}),"\n",(0,i.jsx)(t.p,{children:"For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS).\nstart_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data."}),"\n",(0,i.jsx)(t.p,{children:"Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator."}),"\n",(0,i.jsx)(t.p,{children:"For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'[\n {\n "time": 1234657585858,\n "TLM__INST__ADCS__Q1__RAW": 50.0,\n "TLM__INST__ADCS__Q2__RAW": 100.0\n },\n {\n "time": 1234657585859,\n "TLM__INST__ADCS__Q1__RAW": 60.0,\n "TLM__INST__ADCS__Q2__RAW": 110.0\n }\n]\n'})}),"\n",(0,i.jsx)(t.p,{children:"For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data."}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'[\n {\n "time": 1234657585858,\n "packet": "DEFAULT__TELEMETRY__INST__ADCS",\n "buffer": "SkdfjGodkdfjdfoekfsg"\n },\n {\n "time": 1234657585859,\n "packet": "DEFAULT__TELEMETRY__INST__ADCS",\n "buffer": "3i5n49dmnfg9fl32k3"\n }\n]\n'})})]})}function p(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},65:function(e,t,n){n.d(t,{Z:function(){return r},a:function(){return o}});var a=n(7294);let i={},s=a.createContext(i);function o(e){let t=a.useContext(s);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5e3ed378.1aebd68b.js b/docs/assets/js/5e3ed378.1aebd68b.js new file mode 100644 index 0000000000..2fc85f9f71 --- /dev/null +++ b/docs/assets/js/5e3ed378.1aebd68b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["1848"],{8402:function(e,a,s){s.r(a),s.d(a,{default:()=>g});var c=s("5893");s("7294");var l=s("7026"),t=s("4713"),i=s("4681"),n=s("6036"),d=s("6798"),o=s("1397"),r=s("5427"),m=s("6594");let x="mdxPageWrapper_j9I6";function g(e){let{content:a}=e,{metadata:s,assets:g}=a,{title:p,editUrl:h,description:j,frontMatter:_,lastUpdatedBy:v,lastUpdatedAt:u}=s,{keywords:Z,wrapperClassName:k,hide_table_of_contents:f}=_,w=g.image??_.image,N=!!(h||u||v);return(0,c.jsx)(t.FG,{className:(0,l.Z)(k??i.k.wrapper.mdxPages,i.k.page.mdxPage),children:(0,c.jsxs)(n.Z,{children:[(0,c.jsx)(t.d,{title:p,description:j,keywords:Z,image:w}),(0,c.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,c.jsxs)("div",{className:(0,l.Z)("row",x),children:[(0,c.jsxs)("div",{className:(0,l.Z)("col",!f&&"col--8"),children:[(0,c.jsx)(r.Z,{metadata:s}),(0,c.jsx)("article",{children:(0,c.jsx)(d.Z,{children:(0,c.jsx)(a,{})})}),N&&(0,c.jsx)(m.Z,{className:(0,l.Z)("margin-top--sm",i.k.pages.pageFooterEditMetaRow),editUrl:h,lastUpdatedAt:u,lastUpdatedBy:v})]}),!f&&a.toc.length>0&&(0,c.jsx)("div",{className:"col col--2",children:(0,c.jsx)(o.Z,{toc:a.toc,minHeadingLevel:_.toc_min_heading_level,maxHeadingLevel:_.toc_max_heading_level})})]})})]})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/5e3ed378.6858f9b6.js b/docs/assets/js/5e3ed378.6858f9b6.js deleted file mode 100644 index e6dc078c00..0000000000 --- a/docs/assets/js/5e3ed378.6858f9b6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3135],{7973:(e,a,s)=>{s.r(a),s.d(a,{default:()=>x});s(6540);var t=s(4164),d=s(1003),c=s(7559),l=s(7907),r=s(8509),i=s(7763),n=s(6896),o=s(2153);const m={mdxPageWrapper:"mdxPageWrapper_j9I6"};var p=s(4848);function x(e){const{content:a}=e,{metadata:s,assets:x}=a,{title:g,editUrl:h,description:j,frontMatter:_,lastUpdatedBy:A,lastUpdatedAt:v}=s,{keywords:u,wrapperClassName:w,hide_table_of_contents:f}=_,N=x.image??_.image,k=!!(h||v||A);return(0,p.jsx)(d.e3,{className:(0,t.A)(w??c.G.wrapper.mdxPages,c.G.page.mdxPage),children:(0,p.jsxs)(l.A,{children:[(0,p.jsx)(d.be,{title:g,description:j,keywords:u,image:N}),(0,p.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,p.jsxs)("div",{className:(0,t.A)("row",m.mdxPageWrapper),children:[(0,p.jsxs)("div",{className:(0,t.A)("col",!f&&"col--8"),children:[(0,p.jsx)(n.A,{metadata:s}),(0,p.jsx)("article",{children:(0,p.jsx)(r.A,{children:(0,p.jsx)(a,{})})}),k&&(0,p.jsx)(o.A,{className:(0,t.A)("margin-top--sm",c.G.pages.pageFooterEditMetaRow),editUrl:h,lastUpdatedAt:v,lastUpdatedBy:A})]}),!f&&a.toc.length>0&&(0,p.jsx)("div",{className:"col col--2",children:(0,p.jsx)(i.A,{toc:a.toc,minHeadingLevel:_.toc_min_heading_level,maxHeadingLevel:_.toc_max_heading_level})})]})})]})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/5fe211ef.8574a1fc.js b/docs/assets/js/5fe211ef.8574a1fc.js deleted file mode 100644 index ad04390a08..0000000000 --- a/docs/assets/js/5fe211ef.8574a1fc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[864],{1470:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>o,frontMatter:()=>d,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"configuration/table","title":"Tables","description":"Table definition file format and keywords","source":"@site/docs/configuration/table.md","sourceDirName":"configuration","slug":"/configuration/table","permalink":"/docs/configuration/table","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/table.md","tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"sidebar_position":8,"title":"Tables","description":"Table definition file format and keywords"},"sidebar":"defaultSidebar","previous":{"title":"Protocols","permalink":"/docs/configuration/protocols"},"next":{"title":"Screens","permalink":"/docs/configuration/telemetry-screens"}}');var t=i(4848),s=i(8453);const d={sidebar_position:8,title:"Tables",description:"Table definition file format and keywords"},l=void 0,a={},h=[{value:"Table Definition Files",id:"table-definition-files",level:2},{value:"TABLEFILE",id:"tablefile",level:2},{value:"TABLE",id:"table",level:2},{value:"TABLE Modifiers",id:"table-modifiers",level:2},{value:"PARAMETER",id:"parameter",level:3},{value:"PARAMETER Modifiers",id:"parameter-modifiers",level:3},{value:"FORMAT_STRING",id:"format_string",level:4},{value:"UNITS",id:"units",level:4},{value:"DESCRIPTION",id:"description",level:4},{value:"META",id:"meta",level:4},{value:"OVERLAP",id:"overlap",level:4},{value:"KEY",id:"key",level:4},{value:"VARIABLE_BIT_SIZE",id:"variable_bit_size",level:4},{value:"REQUIRED",id:"required",level:4},{value:"MINIMUM_VALUE",id:"minimum_value",level:4},{value:"MAXIMUM_VALUE",id:"maximum_value",level:4},{value:"DEFAULT_VALUE",id:"default_value",level:4},{value:"STATE",id:"state",level:4},{value:"WRITE_CONVERSION",id:"write_conversion",level:4},{value:"POLY_WRITE_CONVERSION",id:"poly_write_conversion",level:4},{value:"SEG_POLY_WRITE_CONVERSION",id:"seg_poly_write_conversion",level:4},{value:"GENERIC_WRITE_CONVERSION_START",id:"generic_write_conversion_start",level:4},{value:"GENERIC_WRITE_CONVERSION_END",id:"generic_write_conversion_end",level:4},{value:"OVERFLOW",id:"overflow",level:4},{value:"HIDDEN",id:"hidden",level:4},{value:"UNEDITABLE",id:"uneditable",level:4},{value:"APPEND_PARAMETER",id:"append_parameter",level:3},{value:"SELECT_TABLE",id:"select_table",level:2},{value:"DEFAULT",id:"default",level:2},{value:"Example File",id:"example-file",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"table-definition-files",children:"Table Definition Files"}),"\n",(0,t.jsxs)(n.p,{children:["Table definition files define the binary tables that can be displayed in COSMOS ",(0,t.jsx)(n.a,{href:"/docs/tools/table-manager",children:"Table Manager"}),"\n. Table definitions are defined in the target's tables/config directory and are typically named after the table such as ",(0,t.jsx)(n.code,{children:"PPSSelectionTable_def.txt"}),". The ",(0,t.jsx)(n.code,{children:"_def.txt"})," extension helps to identify the file as a table definition. Table definitions can be combined using the ",(0,t.jsx)(n.code,{children:"TABLEFILE"})," keyword. This allows you to build individual table components into a larger binary."]}),"\n",(0,t.jsxs)(n.p,{children:["The Table definition files share a lot of similarity with the ",(0,t.jsx)(n.a,{href:"/docs/configuration/command",children:"Command Configuration"}),". You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data."]}),"\n",(0,t.jsx)("div",{style:{clear:"both"}}),"\n",(0,t.jsx)(n.h1,{id:"table-keywords",children:"Table Keywords"}),"\n",(0,t.jsx)(n.h2,{id:"tablefile",children:"TABLEFILE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Specify another file to open and process for table definitions"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"File Name"}),(0,t.jsx)(n.td,{children:"Name of the file. The file will be looked for in the directory of the current definition file."}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h2,{id:"table",children:"TABLE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Start a new table definition"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Name"}),(0,t.jsx)(n.td,{children:"Name of the table in quotes. The name will appear on the GUI tab."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this table is in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Display"}),(0,t.jsxs)(n.td,{children:["Indicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"KEY_VALUE, ROW_COLUMN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Display is KEY_VALUE the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description of the table in quotes. The description is used in mouseover popups and status line information."}),(0,t.jsx)(n.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"When Display is ROW_COLUMN the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Rows"}),(0,t.jsx)(n.td,{children:"The number of rows in the table"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description of the table in quotes. The description is used in mouseover popups and status line information."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"table-modifiers",children:"TABLE Modifiers"}),"\n",(0,t.jsx)(n.p,{children:"The following keywords must follow a TABLE keyword."}),"\n",(0,t.jsx)(n.h3,{id:"parameter",children:"PARAMETER"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Defines a parameter in the current table"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Name"}),(0,t.jsx)(n.td,{children:"Name of the parameter. Must be unique within the table."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Bit Offset"}),(0,t.jsx)(n.td,{children:"Bit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Bit Size"}),(0,t.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Data Type"}),(0,t.jsxs)(n.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Minimum Value"}),(0,t.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Maximum Value"}),(0,t.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h3,{id:"parameter-modifiers",children:"PARAMETER Modifiers"}),"\n",(0,t.jsx)(n.p,{children:"The following keywords must follow a PARAMETER keyword."}),"\n",(0,t.jsx)(n.h4,{id:"format_string",children:"FORMAT_STRING"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Adds printf style formatting"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Format"}),(0,t.jsx)(n.td,{children:"How to format using printf syntax. For example, '0x%0X' will display the value in hex."}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'FORMAT_STRING "0x%0X"\n'})}),"\n",(0,t.jsx)(n.h4,{id:"units",children:"UNITS"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Add displayed units"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Full Name"}),(0,t.jsx)(n.td,{children:"Full name of the units type, e.g. Celsius"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Abbreviated"}),(0,t.jsx)(n.td,{children:"Abbreviation for the units, e.g. C"}),(0,t.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"UNITS Celsius C\nUNITS Kilometers KM\n"})}),"\n",(0,t.jsx)(n.h4,{id:"description",children:"DESCRIPTION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined description"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new description"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"meta",children:"META"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Stores custom user metadata"})}),"\n",(0,t.jsx)(n.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Meta Name"}),(0,t.jsx)(n.td,{children:"Name of the metadata to store"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Meta Values"}),(0,t.jsx)(n.td,{children:"One or more values to be stored for this Meta Name"}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'META TEST "This parameter is for test purposes only"\n'})}),"\n",(0,t.jsx)(n.h4,{id:"overlap",children:"OVERLAP"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,t.jsx)(n.strong,{children:"This item is allowed to overlap other items in the packet"})]}),"\n",(0,t.jsx)(n.p,{children:"If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message."}),"\n",(0,t.jsx)(n.h4,{id:"key",children:"KEY"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,t.jsx)(n.strong,{children:"Defines the key used to access this raw value in the packet."})]}),"\n",(0,t.jsx)(n.p,{children:"Keys are often JsonPath or XPath strings"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Key string"}),(0,t.jsx)(n.td,{children:"The key to access this item"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"KEY $.book.title\n"})}),"\n",(0,t.jsx)(n.h4,{id:"variable_bit_size",children:"VARIABLE_BIT_SIZE"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,t.jsx)(n.strong,{children:"Marks an item as having its bit size defined by another length item"})]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Length Item Name"}),(0,t.jsx)(n.td,{children:"The name of the associated length item"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Length Bits Per Count"}),(0,t.jsx)(n.td,{children:"Bits per count of the length item. Defaults to 8"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Length Value Bit Offset"}),(0,t.jsx)(n.td,{children:"Offset in Bits to Apply to Length Field Value. Defaults to 0"}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"required",children:"REQUIRED"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Parameter is required to be populated in scripts"})}),"\n",(0,t.jsx)(n.p,{children:"When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition."}),"\n",(0,t.jsx)(n.h4,{id:"minimum_value",children:"MINIMUM_VALUE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined minimum value"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new minimum value for the parameter"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"maximum_value",children:"MAXIMUM_VALUE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined maximum value"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new maximum value for the parameter"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"default_value",children:"DEFAULT_VALUE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined default value"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new default value for the parameter"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"state",children:"STATE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Defines a key/value pair for the current command parameter"})}),"\n",(0,t.jsx)(n.p,{children:"Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Key"}),(0,t.jsx)(n.td,{children:"The string state name"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The numerical state value"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Hazardous / Disable Messages"}),(0,t.jsxs)(n.td,{children:["Indicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"HAZARDOUS"})]}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Hazardous Description"}),(0,t.jsx)(n.td,{children:"String describing why this state is hazardous"}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"\n STATE FALSE 0\n STATE TRUE 1\nAPPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"\n STATE "NOOP" "NOOP" DISABLE_MESSAGES\n STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"\n STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"\n'})}),"\n",(0,t.jsx)(n.h4,{id:"write_conversion",children:"WRITE_CONVERSION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Applies a conversion when writing the current command parameter"})}),"\n",(0,t.jsxs)(n.p,{children:["Conversions are implemented in a custom Ruby or Python file which should be\nlocated in the target's lib folder. The class must inherit from Conversion.\nIt must implement the ",(0,t.jsx)(n.code,{children:"initialize"})," (Ruby) or ",(0,t.jsx)(n.code,{children:"__init__"})," (Python) method if it\ntakes extra parameters and must always implement the ",(0,t.jsx)(n.code,{children:"call"})," method. The conversion\nfactor is applied to the value entered by the user before it is written into\nthe binary command packet and sent."]}),"\n",(0,t.jsx)(n.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,t.jsx)(n.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Class Filename"}),(0,t.jsx)(n.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Parameter"}),(0,t.jsx)(n.td,{children:"Additional parameter values for the conversion which are passed to the class constructor."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"WRITE_CONVERSION the_great_conversion.rb 1000\n\nDefined in the_great_conversion.rb:\n\nrequire 'openc3/conversions/conversion'\nmodule OpenC3\n class TheGreatConversion < Conversion\n def initialize(multiplier)\n super()\n @multiplier = multiplier.to_f\n end\n def call(value, packet, buffer)\n return value * multiplier\n end\n end\nend\n"})}),"\n",(0,t.jsx)(n.p,{children:"Python Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"WRITE_CONVERSION the_great_conversion.py 1000\n\nDefined in the_great_conversion.py:\n\nfrom openc3.conversions.conversion import Conversion\nclass TheGreatConversion(Conversion):\n def __init__(self, multiplier):\n super().__init__()\n self.multiplier = float(multiplier)\n def call(self, value, packet, buffer):\n return value * multiplier\n"})}),"\n",(0,t.jsx)(n.h4,{id:"poly_write_conversion",children:"POLY_WRITE_CONVERSION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Adds a polynomial conversion factor to the current command parameter"})}),"\n",(0,t.jsx)(n.p,{children:"The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"C0"}),(0,t.jsx)(n.td,{children:"Coefficient"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Cx"}),(0,t.jsx)(n.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"POLY_WRITE_CONVERSION 10 0.5 0.25\n"})}),"\n",(0,t.jsx)(n.h4,{id:"seg_poly_write_conversion",children:"SEG_POLY_WRITE_CONVERSION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Adds a segmented polynomial conversion factor to the current command parameter"})}),"\n",(0,t.jsx)(n.p,{children:"This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Lower Bound"}),(0,t.jsx)(n.td,{children:"Defines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"C0"}),(0,t.jsx)(n.td,{children:"Coefficient"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Cx"}),(0,t.jsx)(n.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50\nSEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100\nSEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100\n"})}),"\n",(0,t.jsx)(n.h4,{id:"generic_write_conversion_start",children:"GENERIC_WRITE_CONVERSION_START"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Start a generic write conversion"})}),"\n",(0,t.jsx)(n.p,{children:"Adds a generic conversion function to the current command parameter.\nThis conversion factor is applied to the value entered by the user before it\nis written into the binary command packet and sent. The conversion is specified\nas Ruby or Python code that receives two implied parameters. 'value' which is the raw\nvalue being written and 'packet' which is a reference to the command packet\nclass (Note, referencing the packet as 'myself' is still supported for backwards\ncompatibility). The last line of code should return the converted\nvalue. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of\ncode for the conversion have been given."}),"\n",(0,t.jsx)(n.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,t.jsx)(n.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance."})}),"\n",(0,t.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return (value * 1.5).to_i # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,t.jsx)(n.p,{children:"Python Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return int(value * 1.5) # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,t.jsx)(n.h4,{id:"generic_write_conversion_end",children:"GENERIC_WRITE_CONVERSION_END"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Complete a generic write conversion"})}),"\n",(0,t.jsx)(n.h4,{id:"overflow",children:"OVERFLOW"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Set the behavior when writing a value overflows the type"})}),"\n",(0,t.jsx)(n.p,{children:"By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Behavior"}),(0,t.jsxs)(n.td,{children:["How OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE"})]}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"OVERFLOW TRUNCATE\n"})}),"\n",(0,t.jsx)(n.h4,{id:"hidden",children:"HIDDEN"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Indicates that the parameter should not be shown to the user in the Table Manager GUI"})}),"\n",(0,t.jsx)(n.p,{children:"Hidden parameters still exist and will be saved to the resulting binary. This is useful for padding and other essential but non-user editable fields."}),"\n",(0,t.jsx)(n.h4,{id:"uneditable",children:"UNEDITABLE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Indicates that the parameter should be shown to the user but not editable."})}),"\n",(0,t.jsx)(n.p,{children:"Uneditable parameters are useful for control fields which the user may be interested in but should not be able to edit."}),"\n",(0,t.jsx)(n.h3,{id:"append_parameter",children:"APPEND_PARAMETER"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Defines a parameter in the current table"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Name"}),(0,t.jsx)(n.td,{children:"Name of the parameter. Must be unique within the table."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Bit Size"}),(0,t.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Data Type"}),(0,t.jsxs)(n.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Minimum Value"}),(0,t.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Maximum Value"}),(0,t.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"select_table",children:"SELECT_TABLE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Select an existing table for editing, typically done to override an existing definition"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Table"}),(0,t.jsx)(n.td,{children:"The name of the existing table"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h2,{id:"default",children:"DEFAULT"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Specify default values for a SINGLE row in a multi-column table"})}),"\n",(0,t.jsx)(n.p,{children:"If you have multiple rows you need a DEFAULT line for each row. If all your rows are identical consider using ERB as shown in the OpenC3 demo."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default values"}),(0,t.jsx)(n.td,{children:"A STATE value or data value corresponding to the data type"}),(0,t.jsx)(n.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(n.h2,{id:"example-file",children:"Example File"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Example File: TARGET/tables/config/MCConfigurationTable_def.txt"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table"\n APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets"\n APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1\n STATE DISABLE 0\n STATE ENABLE 1\n APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3\n APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field"\n FORMAT_STRING "0x%0X"\n UNEDITABLE\n APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field"\n STATE DISABLE 0\n STATE ENABLE 1\n UNEDITABLE\n APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field"\n STATE UNCHECKED 0\n STATE CHECKED 1\n UNEDITABLE\n APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string"\n APPEND_PARAMETER "Pad" 16 UINT 0 0 0\n HIDDEN\n'})})]})}function o(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>l});var r=i(6540);const t={},s=r.createContext(t);function d(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5fe211ef.a50aa370.js b/docs/assets/js/5fe211ef.a50aa370.js new file mode 100644 index 0000000000..04c9833807 --- /dev/null +++ b/docs/assets/js/5fe211ef.a50aa370.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9879"],{6277:function(e,n,i){i.r(n),i.d(n,{metadata:()=>r,contentTitle:()=>l,default:()=>o,assets:()=>a,toc:()=>h,frontMatter:()=>d});var r=JSON.parse('{"id":"configuration/table","title":"Tables","description":"Table definition file format and keywords","source":"@site/docs/configuration/table.md","sourceDirName":"configuration","slug":"/configuration/table","permalink":"/docs/configuration/table","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/table.md","tags":[],"version":"current","sidebarPosition":9,"frontMatter":{"sidebar_position":9,"title":"Tables","description":"Table definition file format and keywords"},"sidebar":"defaultSidebar","previous":{"title":"Accessors","permalink":"/docs/configuration/accessors"},"next":{"title":"Screens","permalink":"/docs/configuration/telemetry-screens"}}'),t=i("5893"),s=i("65");let d={sidebar_position:9,title:"Tables",description:"Table definition file format and keywords"},l=void 0,a={},h=[{value:"Table Definition Files",id:"table-definition-files",level:2},{value:"TABLEFILE",id:"tablefile",level:2},{value:"TABLE",id:"table",level:2},{value:"TABLE Modifiers",id:"table-modifiers",level:2},{value:"PARAMETER",id:"parameter",level:3},{value:"PARAMETER Modifiers",id:"parameter-modifiers",level:3},{value:"FORMAT_STRING",id:"format_string",level:4},{value:"UNITS",id:"units",level:4},{value:"DESCRIPTION",id:"description",level:4},{value:"META",id:"meta",level:4},{value:"OVERLAP",id:"overlap",level:4},{value:"KEY",id:"key",level:4},{value:"VARIABLE_BIT_SIZE",id:"variable_bit_size",level:4},{value:"REQUIRED",id:"required",level:4},{value:"MINIMUM_VALUE",id:"minimum_value",level:4},{value:"MAXIMUM_VALUE",id:"maximum_value",level:4},{value:"DEFAULT_VALUE",id:"default_value",level:4},{value:"STATE",id:"state",level:4},{value:"WRITE_CONVERSION",id:"write_conversion",level:4},{value:"POLY_WRITE_CONVERSION",id:"poly_write_conversion",level:4},{value:"SEG_POLY_WRITE_CONVERSION",id:"seg_poly_write_conversion",level:4},{value:"GENERIC_WRITE_CONVERSION_START",id:"generic_write_conversion_start",level:4},{value:"GENERIC_WRITE_CONVERSION_END",id:"generic_write_conversion_end",level:4},{value:"OVERFLOW",id:"overflow",level:4},{value:"HIDDEN",id:"hidden",level:4},{value:"UNEDITABLE",id:"uneditable",level:4},{value:"APPEND_PARAMETER",id:"append_parameter",level:3},{value:"SELECT_TABLE",id:"select_table",level:2},{value:"DEFAULT",id:"default",level:2},{value:"Example File",id:"example-file",level:2}];function c(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"table-definition-files",children:"Table Definition Files"}),"\n",(0,t.jsxs)(n.p,{children:["Table definition files define the binary tables that can be displayed in COSMOS ",(0,t.jsx)(n.a,{href:"/docs/tools/table-manager",children:"Table Manager"}),"\n. Table definitions are defined in the target's tables/config directory and are typically named after the table such as ",(0,t.jsx)(n.code,{children:"PPSSelectionTable_def.txt"}),". The ",(0,t.jsx)(n.code,{children:"_def.txt"})," extension helps to identify the file as a table definition. Table definitions can be combined using the ",(0,t.jsx)(n.code,{children:"TABLEFILE"})," keyword. This allows you to build individual table components into a larger binary."]}),"\n",(0,t.jsxs)(n.p,{children:["The Table definition files share a lot of similarity with the ",(0,t.jsx)(n.a,{href:"/docs/configuration/command",children:"Command Configuration"}),". You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data."]}),"\n",(0,t.jsx)("div",{style:{clear:"both"}}),"\n",(0,t.jsx)(n.h1,{id:"table-keywords",children:"Table Keywords"}),"\n",(0,t.jsx)(n.h2,{id:"tablefile",children:"TABLEFILE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Specify another file to open and process for table definitions"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"File Name"}),(0,t.jsx)(n.td,{children:"Name of the file. The file will be looked for in the directory of the current definition file."}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h2,{id:"table",children:"TABLE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Start a new table definition"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Name"}),(0,t.jsx)(n.td,{children:"Name of the table in quotes. The name will appear on the GUI tab."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this table is in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Display"}),(0,t.jsxs)(n.td,{children:["Indicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"KEY_VALUE, ROW_COLUMN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Display is KEY_VALUE the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description of the table in quotes. The description is used in mouseover popups and status line information."}),(0,t.jsx)(n.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"When Display is ROW_COLUMN the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Rows"}),(0,t.jsx)(n.td,{children:"The number of rows in the table"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description of the table in quotes. The description is used in mouseover popups and status line information."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"table-modifiers",children:"TABLE Modifiers"}),"\n",(0,t.jsx)(n.p,{children:"The following keywords must follow a TABLE keyword."}),"\n",(0,t.jsx)(n.h3,{id:"parameter",children:"PARAMETER"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Defines a parameter in the current table"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Name"}),(0,t.jsx)(n.td,{children:"Name of the parameter. Must be unique within the table."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Bit Offset"}),(0,t.jsx)(n.td,{children:"Bit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Bit Size"}),(0,t.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Data Type"}),(0,t.jsxs)(n.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Minimum Value"}),(0,t.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Maximum Value"}),(0,t.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h3,{id:"parameter-modifiers",children:"PARAMETER Modifiers"}),"\n",(0,t.jsx)(n.p,{children:"The following keywords must follow a PARAMETER keyword."}),"\n",(0,t.jsx)(n.h4,{id:"format_string",children:"FORMAT_STRING"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Adds printf style formatting"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Format"}),(0,t.jsx)(n.td,{children:"How to format using printf syntax. For example, '0x%0X' will display the value in hex."}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'FORMAT_STRING "0x%0X"\n'})}),"\n",(0,t.jsx)(n.h4,{id:"units",children:"UNITS"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Add displayed units"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Full Name"}),(0,t.jsx)(n.td,{children:"Full name of the units type, e.g. Celsius"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Abbreviated"}),(0,t.jsx)(n.td,{children:"Abbreviation for the units, e.g. C"}),(0,t.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"UNITS Celsius C\nUNITS Kilometers KM\n"})}),"\n",(0,t.jsx)(n.h4,{id:"description",children:"DESCRIPTION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined description"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new description"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"meta",children:"META"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Stores custom user metadata"})}),"\n",(0,t.jsx)(n.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Meta Name"}),(0,t.jsx)(n.td,{children:"Name of the metadata to store"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Meta Values"}),(0,t.jsx)(n.td,{children:"One or more values to be stored for this Meta Name"}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'META TEST "This parameter is for test purposes only"\n'})}),"\n",(0,t.jsx)(n.h4,{id:"overlap",children:"OVERLAP"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,t.jsx)(n.strong,{children:"This item is allowed to overlap other items in the packet"})]}),"\n",(0,t.jsx)(n.p,{children:"If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message."}),"\n",(0,t.jsx)(n.h4,{id:"key",children:"KEY"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,t.jsx)(n.strong,{children:"Defines the key used to access this raw value in the packet."})]}),"\n",(0,t.jsxs)(n.p,{children:["Keys are often ",(0,t.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/JSONPath",children:"JSONPath"})," or ",(0,t.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/XPath",children:"XPath"})," strings"]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Key string"}),(0,t.jsx)(n.td,{children:"The key to access this item"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"KEY $.book.title\n"})}),"\n",(0,t.jsx)(n.h4,{id:"variable_bit_size",children:"VARIABLE_BIT_SIZE"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,t.jsx)(n.strong,{children:"Marks an item as having its bit size defined by another length item"})]}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Length Item Name"}),(0,t.jsx)(n.td,{children:"The name of the associated length item"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Length Bits Per Count"}),(0,t.jsx)(n.td,{children:"Bits per count of the length item. Defaults to 8"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Length Value Bit Offset"}),(0,t.jsx)(n.td,{children:"Offset in Bits to Apply to Length Field Value. Defaults to 0"}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h4,{id:"required",children:"REQUIRED"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Parameter is required to be populated in scripts"})}),"\n",(0,t.jsx)(n.p,{children:"When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition."}),"\n",(0,t.jsx)(n.h4,{id:"minimum_value",children:"MINIMUM_VALUE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined minimum value"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new minimum value for the parameter"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"maximum_value",children:"MAXIMUM_VALUE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined maximum value"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new maximum value for the parameter"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"default_value",children:"DEFAULT_VALUE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Override the defined default value"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The new default value for the parameter"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h4,{id:"state",children:"STATE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Defines a key/value pair for the current command parameter"})}),"\n",(0,t.jsx)(n.p,{children:"Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Key"}),(0,t.jsx)(n.td,{children:"The string state name"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Value"}),(0,t.jsx)(n.td,{children:"The numerical state value"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Hazardous / Disable Messages"}),(0,t.jsxs)(n.td,{children:["Indicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"HAZARDOUS"})]}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Hazardous Description"}),(0,t.jsx)(n.td,{children:"String describing why this state is hazardous"}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"\n STATE FALSE 0\n STATE TRUE 1\nAPPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"\n STATE "NOOP" "NOOP" DISABLE_MESSAGES\n STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"\n STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"\n'})}),"\n",(0,t.jsx)(n.h4,{id:"write_conversion",children:"WRITE_CONVERSION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Applies a conversion when writing the current command parameter"})}),"\n",(0,t.jsxs)(n.p,{children:["Conversions are implemented in a custom Ruby or Python file which should be\nlocated in the target's lib folder. The class must inherit from Conversion.\nIt must implement the ",(0,t.jsx)(n.code,{children:"initialize"})," (Ruby) or ",(0,t.jsx)(n.code,{children:"__init__"})," (Python) method if it\ntakes extra parameters and must always implement the ",(0,t.jsx)(n.code,{children:"call"})," method. The conversion\nfactor is applied to the value entered by the user before it is written into\nthe binary command packet and sent."]}),"\n",(0,t.jsx)(n.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,t.jsx)(n.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Class Filename"}),(0,t.jsx)(n.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Parameter"}),(0,t.jsx)(n.td,{children:"Additional parameter values for the conversion which are passed to the class constructor."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"WRITE_CONVERSION the_great_conversion.rb 1000\n\nDefined in the_great_conversion.rb:\n\nrequire 'openc3/conversions/conversion'\nmodule OpenC3\n class TheGreatConversion < Conversion\n def initialize(multiplier)\n super()\n @multiplier = multiplier.to_f\n end\n def call(value, packet, buffer)\n return value * multiplier\n end\n end\nend\n"})}),"\n",(0,t.jsx)(n.p,{children:"Python Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"WRITE_CONVERSION the_great_conversion.py 1000\n\nDefined in the_great_conversion.py:\n\nfrom openc3.conversions.conversion import Conversion\nclass TheGreatConversion(Conversion):\n def __init__(self, multiplier):\n super().__init__()\n self.multiplier = float(multiplier)\n def call(self, value, packet, buffer):\n return value * self.multiplier\n"})}),"\n",(0,t.jsx)(n.h4,{id:"poly_write_conversion",children:"POLY_WRITE_CONVERSION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Adds a polynomial conversion factor to the current command parameter"})}),"\n",(0,t.jsx)(n.p,{children:"The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"C0"}),(0,t.jsx)(n.td,{children:"Coefficient"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Cx"}),(0,t.jsx)(n.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"POLY_WRITE_CONVERSION 10 0.5 0.25\n"})}),"\n",(0,t.jsx)(n.h4,{id:"seg_poly_write_conversion",children:"SEG_POLY_WRITE_CONVERSION"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Adds a segmented polynomial conversion factor to the current command parameter"})}),"\n",(0,t.jsx)(n.p,{children:"This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Lower Bound"}),(0,t.jsx)(n.td,{children:"Defines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"C0"}),(0,t.jsx)(n.td,{children:"Coefficient"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Cx"}),(0,t.jsx)(n.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50\nSEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100\nSEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100\n"})}),"\n",(0,t.jsx)(n.h4,{id:"generic_write_conversion_start",children:"GENERIC_WRITE_CONVERSION_START"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Start a generic write conversion"})}),"\n",(0,t.jsx)(n.p,{children:"Adds a generic conversion function to the current command parameter.\nThis conversion factor is applied to the value entered by the user before it\nis written into the binary command packet and sent. The conversion is specified\nas Ruby or Python code that receives two implied parameters. 'value' which is the raw\nvalue being written and 'packet' which is a reference to the command packet\nclass (Note, referencing the packet as 'myself' is still supported for backwards\ncompatibility). The last line of code should return the converted\nvalue. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of\ncode for the conversion have been given."}),"\n",(0,t.jsx)(n.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,t.jsx)(n.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance."})}),"\n",(0,t.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return (value * 1.5).to_i # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,t.jsx)(n.p,{children:"Python Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return int(value * 1.5) # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,t.jsx)(n.h4,{id:"generic_write_conversion_end",children:"GENERIC_WRITE_CONVERSION_END"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Complete a generic write conversion"})}),"\n",(0,t.jsx)(n.h4,{id:"overflow",children:"OVERFLOW"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Set the behavior when writing a value overflows the type"})}),"\n",(0,t.jsx)(n.p,{children:"By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Behavior"}),(0,t.jsxs)(n.td,{children:["How OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE"})]}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:"OVERFLOW TRUNCATE\n"})}),"\n",(0,t.jsx)(n.h4,{id:"hidden",children:"HIDDEN"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Indicates that the parameter should not be shown to the user in the Table Manager GUI"})}),"\n",(0,t.jsx)(n.p,{children:"Hidden parameters still exist and will be saved to the resulting binary. This is useful for padding and other essential but non-user editable fields."}),"\n",(0,t.jsx)(n.h4,{id:"uneditable",children:"UNEDITABLE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Indicates that the parameter should be shown to the user but not editable."})}),"\n",(0,t.jsx)(n.p,{children:"Uneditable parameters are useful for control fields which the user may be interested in but should not be able to edit."}),"\n",(0,t.jsx)(n.h3,{id:"append_parameter",children:"APPEND_PARAMETER"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Defines a parameter in the current table"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Name"}),(0,t.jsx)(n.td,{children:"Name of the parameter. Must be unique within the table."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Bit Size"}),(0,t.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Data Type"}),(0,t.jsxs)(n.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Minimum Value"}),(0,t.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Maximum Value"}),(0,t.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default Value"}),(0,t.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(n.td,{children:"True"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Description"}),(0,t.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(n.td,{children:"False"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Endianness"}),(0,t.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"select_table",children:"SELECT_TABLE"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Select an existing table for editing, typically done to override an existing definition"})}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Table"}),(0,t.jsx)(n.td,{children:"The name of the existing table"}),(0,t.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(n.h2,{id:"default",children:"DEFAULT"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Specify default values for a SINGLE row in a multi-column table"})}),"\n",(0,t.jsx)(n.p,{children:"If you have multiple rows you need a DEFAULT line for each row. If all your rows are identical consider using ERB as shown in the OpenC3 demo."}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Parameter"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Required"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"Default values"}),(0,t.jsx)(n.td,{children:"A STATE value or data value corresponding to the data type"}),(0,t.jsx)(n.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(n.h2,{id:"example-file",children:"Example File"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"Example File: TARGET/tables/config/MCConfigurationTable_def.txt"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ruby",children:'TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table"\n APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF\n FORMAT_STRING "0x%0X"\n APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets"\n APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1\n STATE DISABLE 0\n STATE ENABLE 1\n APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3\n APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field"\n FORMAT_STRING "0x%0X"\n UNEDITABLE\n APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field"\n STATE DISABLE 0\n STATE ENABLE 1\n UNEDITABLE\n APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field"\n STATE UNCHECKED 0\n STATE CHECKED 1\n UNEDITABLE\n APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string"\n APPEND_PARAMETER "Pad" 16 UINT 0 0 0\n HIDDEN\n'})})]})}function o(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},65:function(e,n,i){i.d(n,{Z:function(){return l},a:function(){return d}});var r=i(7294);let t={},s=r.createContext(t);function d(e){let n=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6831b732.ae90ea81.js b/docs/assets/js/6831b732.ae90ea81.js deleted file mode 100644 index 028bbe3369..0000000000 --- a/docs/assets/js/6831b732.ae90ea81.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[9527],{6197:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>d,default:()=>a,frontMatter:()=>l,metadata:()=>i,toc:()=>h});const i=JSON.parse('{"id":"configuration/plugins","title":"Plugins","description":"Plugin definition file format and keywords","source":"@site/docs/configuration/plugins.md","sourceDirName":"configuration","slug":"/configuration/plugins","permalink":"/docs/configuration/plugins","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/plugins.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"title":"Plugins","description":"Plugin definition file format and keywords","sidebar_custom_props":{"myEmoji":"\ud83d\udd0c"}},"sidebar":"defaultSidebar","previous":{"title":"File Format","permalink":"/docs/configuration/format"},"next":{"title":"Targets","permalink":"/docs/configuration/target"}}');var s=n(4848),t=n(8453);const l={sidebar_position:2,title:"Plugins",description:"Plugin definition file format and keywords",sidebar_custom_props:{myEmoji:"\ud83d\udd0c"}},d=void 0,c={},h=[{value:"Introduction",id:"introduction",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Target",id:"target",level:3},{value:"Interface",id:"interface",level:3},{value:"Router",id:"router",level:3},{value:"Tool",id:"tool",level:3},{value:"Microservice",id:"microservice",level:3},{value:"Plugin Directory Structure",id:"plugin-directory-structure",level:2},{value:"plugin.txt Configuration File",id:"plugintxt-configuration-file",level:2},{value:"VARIABLE",id:"variable",level:2},{value:"NEEDS_DEPENDENCIES",id:"needs_dependencies",level:2},{value:"INTERFACE",id:"interface-1",level:2},{value:"INTERFACE Modifiers",id:"interface-modifiers",level:2},{value:"MAP_TARGET",id:"map_target",level:3},{value:"MAP_CMD_TARGET",id:"map_cmd_target",level:3},{value:"MAP_TLM_TARGET",id:"map_tlm_target",level:3},{value:"DONT_CONNECT",id:"dont_connect",level:3},{value:"DONT_RECONNECT",id:"dont_reconnect",level:3},{value:"RECONNECT_DELAY",id:"reconnect_delay",level:3},{value:"DISABLE_DISCONNECT",id:"disable_disconnect",level:3},{value:"LOG_RAW",id:"log_raw",level:3},{value:"LOG_STREAM",id:"log_stream",level:3},{value:"PROTOCOL",id:"protocol",level:3},{value:"OPTION",id:"option",level:3},{value:"SECRET",id:"secret",level:3},{value:"ENV",id:"env",level:3},{value:"WORK_DIR",id:"work_dir",level:3},{value:"PORT",id:"port",level:3},{value:"CMD",id:"cmd",level:3},{value:"CONTAINER",id:"container",level:3},{value:"ROUTE_PREFIX",id:"route_prefix",level:3},{value:"ROUTER",id:"router-1",level:2},{value:"TARGET",id:"target-1",level:2},{value:"TARGET Modifiers",id:"target-modifiers",level:2},{value:"CMD_BUFFER_DEPTH",id:"cmd_buffer_depth",level:3},{value:"CMD_LOG_CYCLE_TIME",id:"cmd_log_cycle_time",level:3},{value:"CMD_LOG_CYCLE_SIZE",id:"cmd_log_cycle_size",level:3},{value:"CMD_LOG_RETAIN_TIME",id:"cmd_log_retain_time",level:3},{value:"CMD_DECOM_LOG_CYCLE_TIME",id:"cmd_decom_log_cycle_time",level:3},{value:"CMD_DECOM_LOG_CYCLE_SIZE",id:"cmd_decom_log_cycle_size",level:3},{value:"CMD_DECOM_LOG_RETAIN_TIME",id:"cmd_decom_log_retain_time",level:3},{value:"TLM_BUFFER_DEPTH",id:"tlm_buffer_depth",level:3},{value:"TLM_LOG_CYCLE_TIME",id:"tlm_log_cycle_time",level:3},{value:"TLM_LOG_CYCLE_SIZE",id:"tlm_log_cycle_size",level:3},{value:"TLM_LOG_RETAIN_TIME",id:"tlm_log_retain_time",level:3},{value:"TLM_DECOM_LOG_CYCLE_TIME",id:"tlm_decom_log_cycle_time",level:3},{value:"TLM_DECOM_LOG_CYCLE_SIZE",id:"tlm_decom_log_cycle_size",level:3},{value:"TLM_DECOM_LOG_RETAIN_TIME",id:"tlm_decom_log_retain_time",level:3},{value:"REDUCED_MINUTE_LOG_RETAIN_TIME",id:"reduced_minute_log_retain_time",level:3},{value:"REDUCED_HOUR_LOG_RETAIN_TIME",id:"reduced_hour_log_retain_time",level:3},{value:"REDUCED_DAY_LOG_RETAIN_TIME",id:"reduced_day_log_retain_time",level:3},{value:"LOG_RETAIN_TIME",id:"log_retain_time",level:3},{value:"REDUCED_LOG_RETAIN_TIME",id:"reduced_log_retain_time",level:3},{value:"CLEANUP_POLL_TIME",id:"cleanup_poll_time",level:3},{value:"REDUCER_DISABLE",id:"reducer_disable",level:3},{value:"REDUCER_MAX_CPU_UTILIZATION",id:"reducer_max_cpu_utilization",level:3},{value:"TARGET_MICROSERVICE",id:"target_microservice",level:3},{value:"PACKET",id:"packet",level:3},{value:"DISABLE_ERB",id:"disable_erb",level:3},{value:"MICROSERVICE",id:"microservice-1",level:2},{value:"MICROSERVICE Modifiers",id:"microservice-modifiers",level:2},{value:"ENV",id:"env-1",level:3},{value:"WORK_DIR",id:"work_dir-1",level:3},{value:"PORT",id:"port-1",level:3},{value:"TOPIC",id:"topic",level:3},{value:"TARGET_NAME",id:"target_name",level:3},{value:"CMD",id:"cmd-1",level:3},{value:"OPTION",id:"option-1",level:3},{value:"CONTAINER",id:"container-1",level:3},{value:"SECRET",id:"secret-1",level:3},{value:"ROUTE_PREFIX",id:"route_prefix-1",level:3},{value:"DISABLE_ERB",id:"disable_erb-1",level:3},{value:"TOOL",id:"tool-1",level:2},{value:"TOOL Modifiers",id:"tool-modifiers",level:2},{value:"URL",id:"url",level:3},{value:"INLINE_URL",id:"inline_url",level:3},{value:"WINDOW",id:"window",level:3},{value:"ICON",id:"icon",level:3},{value:"CATEGORY",id:"category",level:3},{value:"SHOWN",id:"shown",level:3},{value:"POSITION",id:"position",level:3},{value:"DISABLE_ERB",id:"disable_erb-2",level:3},{value:"WIDGET",id:"widget",level:2},{value:"WIDGET Modifiers",id:"widget-modifiers",level:2},{value:"DISABLE_ERB",id:"disable_erb-3",level:3}];function o(e){const r={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(r.p,{children:"This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS."}),"\n",(0,s.jsx)(r.p,{children:"Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality."}),"\n",(0,s.jsx)(r.p,{children:"Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains."}),"\n",(0,s.jsx)(r.h2,{id:"concepts",children:"Concepts"}),"\n",(0,s.jsx)(r.h3,{id:"target",children:"Target"}),"\n",(0,s.jsx)(r.p,{children:"Targets are the external pieces of hardware and/or software that COSMOS communicates with. These are things like Front End Processors (FEPs), ground support equipment (GSE), custom software tools, and pieces of hardware like satellites themselves. A target is anything that COSMOS can send commands to and receive telemetry from."}),"\n",(0,s.jsx)(r.h3,{id:"interface",children:"Interface"}),"\n",(0,s.jsx)(r.p,{children:"Interfaces implement the physical connection to one or more targets. They are typically ethernet connections implemented using TCP or UDP but can be other connections like serial ports. Interfaces send commands to targets and receive telemetry from targets."}),"\n",(0,s.jsx)(r.h3,{id:"router",children:"Router"}),"\n",(0,s.jsx)(r.p,{children:"Routers flow streams of telemetry packets out of COSMOS and receive streams of commands into COSMOS. The commands are forwarded by COSMOS to associated interfaces. Telemetry comes from associated interfaces."}),"\n",(0,s.jsx)(r.h3,{id:"tool",children:"Tool"}),"\n",(0,s.jsx)(r.p,{children:"COSMOS Tools are web-based applications the communicate with the COSMOS APIs to perform takes like displaying telemetry, sending commands, and running scripts."}),"\n",(0,s.jsx)(r.h3,{id:"microservice",children:"Microservice"}),"\n",(0,s.jsx)(r.p,{children:"Microservices are persistent running backend code that runs within the COSMOS environment. They can process data and perform other useful tasks."}),"\n",(0,s.jsx)(r.h2,{id:"plugin-directory-structure",children:"Plugin Directory Structure"}),"\n",(0,s.jsxs)(r.p,{children:["COSMOS plugins have a well-defined directory structure described in detail in the ",(0,s.jsx)(r.a,{href:"../getting-started/generators",children:"Code Generator"})," documentation."]}),"\n",(0,s.jsx)(r.h2,{id:"plugintxt-configuration-file",children:"plugin.txt Configuration File"}),"\n",(0,s.jsx)(r.p,{children:"A plugin.txt configuration file is required for any COSMOS plugin. It declares the contents of the plugin and provides variables that allow the plugin to be configured at the time it is initially installed or upgraded.\nThis file follows the standard COSMOS configuration file format of keywords followed by zero or more space separated parameters. The following keywords are supported by the plugin.txt config file:"}),"\n",(0,s.jsx)(r.h2,{id:"variable",children:"VARIABLE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Define a configurable variable for the plugin"})}),"\n",(0,s.jsx)(r.p,{children:"The VARIABLE keyword defines a variable that will be requested for the user to enter during plugin installation. Variables can be used to handle details of targets that are user defined such as specific IP addresses and ports. Variables should also be used to allow users to rename targets to whatever name they want and support multiple installations of the same target with different names. Variables can be used later in plugin.txt or in any other configuration file included in a plugin using Ruby ERB syntax. The variables are assigned to accessible local variables in the file. At a high level, ERB allows you to run Ruby code in configuration files."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Variable Name"}),(0,s.jsx)(r.td,{children:"The name of the variable"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Default Value"}),(0,s.jsx)(r.td,{children:"Default value of the variable"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.h2,{id:"needs_dependencies",children:"NEEDS_DEPENDENCIES"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.5.0)"}),(0,s.jsx)(r.strong,{children:"Indicates the plugin needs dependencies and sets the GEM_HOME environment variable"})]}),"\n",(0,s.jsx)(r.p,{children:"If the plugin has a top level lib folder or lists runtime dependencies in the gemspec, NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having NEEDS_DEPENDENCIES adds the NFS volume mount to the Kubernetes pod."}),"\n",(0,s.jsx)(r.h2,{id:"interface-1",children:"INTERFACE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Defines a connection to a physical target"})}),"\n",(0,s.jsx)(r.p,{children:"Interfaces are what OpenC3 uses to talk to a particular piece of hardware. Interfaces require a Ruby or Python file which implements all the interface methods necessary to talk to the hardware. OpenC3 defines many built in interfaces or you can define your own as long as it implements the interface protocol."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Interface Name"}),(0,s.jsx)(r.td,{children:"Name of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Filename"}),(0,s.jsxs)(r.td,{children:["Ruby or Python file to use when instantiating the interface.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface"})]}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsxs)(r.p,{children:["Additional parameters are required. Please see the ",(0,s.jsx)(r.a,{href:"/docs/configuration/interfaces",children:"Interfaces"})," documentation for more details."]}),"\n",(0,s.jsx)(r.h2,{id:"interface-modifiers",children:"INTERFACE Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a INTERFACE keyword."}),"\n",(0,s.jsx)(r.h3,{id:"map_target",children:"MAP_TARGET"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Maps a target name to an interface"})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"Target name to map to this interface"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET DATA\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET DATA\n"})}),"\n",(0,s.jsx)(r.h3,{id:"map_cmd_target",children:"MAP_CMD_TARGET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Maps a target name to an interface for commands only"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"Command target name to map to this interface"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface\n"})}),"\n",(0,s.jsx)(r.h3,{id:"map_tlm_target",children:"MAP_TLM_TARGET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Maps a target name to an interface for telemetry only"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"Telemetry target name to map to this interface"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface\n"})}),"\n",(0,s.jsx)(r.h3,{id:"dont_connect",children:"DONT_CONNECT"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Server will not automatically try to connect to the interface at startup"})}),"\n",(0,s.jsx)(r.h3,{id:"dont_reconnect",children:"DONT_RECONNECT"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Server will not try to reconnect to the interface if the connection is lost"})}),"\n",(0,s.jsx)(r.h3,{id:"reconnect_delay",children:"RECONNECT_DELAY"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Reconnect delay in seconds"})}),"\n",(0,s.jsx)(r.p,{children:"If DONT_RECONNECT is not present the Server will try to reconnect to an interface if the connection is lost. Reconnect delay sets the interval in seconds between reconnect tries."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Delay"}),(0,s.jsx)(r.td,{children:"Delay in seconds between reconnect attempts. The default is 15 seconds."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"disable_disconnect",children:"DISABLE_DISCONNECT"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Disable the Disconnect button on the Interfaces tab in the Server"})}),"\n",(0,s.jsx)(r.p,{children:"Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target."}),"\n",(0,s.jsx)(r.h3,{id:"log_raw",children:"LOG_RAW"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Deprecated, use LOG_STREAM"})}),"\n",(0,s.jsx)(r.h3,{id:"log_stream",children:"LOG_STREAM"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.5.2)"}),(0,s.jsx)(r.strong,{children:"Log all data on the interface exactly as it is sent and received"})]}),"\n",(0,s.jsx)(r.p,{children:"LOG_STREAM does not add any OpenC3 headers and thus can not be read by OpenC3 tools. It is primarily useful for low level debugging of an interface. You will have to manually parse these logs yourself using a hex editor or other application."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Time"}),(0,s.jsx)(r.td,{children:"Amount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute."}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Size"}),(0,s.jsx)(r.td,{children:"Amount of data to write before cycling the log file. Default is 50MB."}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Hour"}),(0,s.jsx)(r.td,{children:"The time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil."}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Minute"}),(0,s.jsx)(r.td,{children:"See Cycle Hour."}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE EXAMPLE example_interface.rb\n # Override the default log time of 600\n LOG_STREAM 60\n"})}),"\n",(0,s.jsx)(r.h3,{id:"protocol",children:"PROTOCOL"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 4.0.0)"}),(0,s.jsx)(r.strong,{children:"Protocols modify the interface by processing the data"})]}),"\n",(0,s.jsxs)(r.p,{children:["Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{})," For information on creating your own custom protocol please see ",(0,s.jsx)(r.a,{href:"/docs/configuration/protocols",children:"Protocols"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsxs)(r.td,{children:["Whether to apply the protocol on incoming data, outgoing data, or both",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"READ, WRITE, READ_WRITE"})]}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol Filename or Classname"}),(0,s.jsx)(r.td,{children:"Ruby or Python filename or class name which implements the protocol"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol specific parameters"}),(0,s.jsx)(r.td,{children:"Additional parameters used by the protocol"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil\n MAP_TARGET DATA\n # Rather than defining the LENGTH protocol on the INTERFACE line we define it here\n PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET DATA\n PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets\n"})}),"\n",(0,s.jsx)(r.h3,{id:"option",children:"OPTION"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Set a parameter on an interface"})}),"\n",(0,s.jsx)(r.p,{children:"When an option is set the interface class calls the set_option method. Custom interfaces can override set_option to handle any additional options they want."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Name"}),(0,s.jsx)(r.td,{children:"The option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0)."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Parameters"}),(0,s.jsx)(r.td,{children:"Parameters to pass to the option"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil\n OPTION FLOW_CONTROL RTSCTS\n OPTION DATA_BITS 8\nROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST\n ROUTE SERIAL_INT\n OPTION LISTEN_ADDRESS 127.0.0.1\n"})}),"\n",(0,s.jsx)(r.h3,{id:"secret",children:"SECRET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.3.0)"}),(0,s.jsx)(r.strong,{children:"Define a secret needed by this interface"})]}),"\n",(0,s.jsx)(r.p,{children:"Defines a secret for this interface and optionally assigns its value to an option"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsx)(r.td,{children:"ENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Name"}),(0,s.jsx)(r.td,{children:"The name of the secret to retrieve"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Environment Variable or File Path"}),(0,s.jsx)(r.td,{children:"Environment variable name or file path to store secret"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Option Name"}),(0,s.jsx)(r.td,{children:"Interface option to pass the secret value"}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Store Name"}),(0,s.jsx)(r.td,{children:"Name of the secret store for stores with multipart keys"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:'SECRET ENV USERNAME ENV_USERNAME USERNAME\nSECRET FILE KEY "/tmp/DATA/cert" KEY\n'})}),"\n",(0,s.jsx)(r.h3,{id:"env",children:"ENV"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Sets an environment variable in the microservice."})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Key"}),(0,s.jsx)(r.td,{children:"Environment variable name"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Value"}),(0,s.jsx)(r.td,{children:"Environment variable value"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"ENV COMPANY OpenC3\n"})}),"\n",(0,s.jsx)(r.h3,{id:"work_dir",children:"WORK_DIR"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Set the working directory"})]}),"\n",(0,s.jsx)(r.p,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Directory"}),(0,s.jsx)(r.td,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"WORK_DIR '/openc3/lib/openc3/microservices'\n"})}),"\n",(0,s.jsx)(r.h3,{id:"port",children:"PORT"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Open port for the microservice"})]}),"\n",(0,s.jsx)(r.p,{children:"Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Number"}),(0,s.jsx)(r.td,{children:"Port number"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol"}),(0,s.jsx)(r.td,{children:"Port protocol. Default is TCP."}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"PORT 7272\n"})}),"\n",(0,s.jsx)(r.h3,{id:"cmd",children:"CMD"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Command line to execute to run the microservice."})]}),"\n",(0,s.jsx)(r.p,{children:"Command line to execute to run the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"One or more arguments to exec to run the microservice."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"CMD python interface_microservice.py DEFAULT__INTERFACE__INT1\n"})}),"\n",(0,s.jsx)(r.h3,{id:"container",children:"CONTAINER"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Docker Container"})]}),"\n",(0,s.jsx)(r.p,{children:"Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"Name of the container"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"route_prefix",children:"ROUTE_PREFIX"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Prefix of route"})]}),"\n",(0,s.jsx)(r.p,{children:"Prefix of route to the microservice to expose externally with Traefik"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Route Prefix"}),(0,s.jsx)(r.td,{children:"Route prefix. Must be unique across all scopes. Something like /myprefix"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"ROUTE_PREFIX /interface\n"})}),"\n",(0,s.jsx)(r.h2,{id:"router-1",children:"ROUTER"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Create router to receive commands and output telemetry packets from one or more interfaces"})}),"\n",(0,s.jsx)(r.p,{children:"Creates an router which receives command packets from their remote clients and sends them to associated interfaces. They receive telemetry packets from their interfaces and send them to their remote clients. This allows routers to be intermediaries between an external client and an actual device."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Name"}),(0,s.jsx)(r.td,{children:"Name of the router"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Filename"}),(0,s.jsxs)(r.td,{children:["Ruby or Python file to use when instantiating the interface.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface"})]}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsxs)(r.p,{children:["Additional parameters are required. Please see the ",(0,s.jsx)(r.a,{href:"/docs/configuration/interfaces",children:"Interfaces"})," documentation for more details."]}),"\n",(0,s.jsx)(r.h2,{id:"target-1",children:"TARGET"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Defines a new target"})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Folder Name"}),(0,s.jsx)(r.td,{children:"The target folder"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Name"}),(0,s.jsx)(r.td,{children:"The target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder."}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"TARGET INST INST\n"})}),"\n",(0,s.jsx)(r.h2,{id:"target-modifiers",children:"TARGET Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a TARGET keyword."}),"\n",(0,s.jsx)(r.h3,{id:"cmd_buffer_depth",children:"CMD_BUFFER_DEPTH"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Number of commands to buffer to ensure logged in order"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Buffer Depth"}),(0,s.jsx)(r.td,{children:"Buffer depth in packets (Default = 5)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_log_cycle_time",children:"CMD_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command binary logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_log_cycle_size",children:"CMD_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command binary logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_log_retain_time",children:"CMD_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep raw command logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep raw command logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_decom_log_cycle_time",children:"CMD_DECOM_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command decommutation logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_decom_log_cycle_size",children:"CMD_DECOM_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command decommutation logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_decom_log_retain_time",children:"CMD_DECOM_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep decom command logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep decom command logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_buffer_depth",children:"TLM_BUFFER_DEPTH"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Number of telemetry packets to buffer to ensure logged in order"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Buffer Depth"}),(0,s.jsx)(r.td,{children:"Buffer depth in packets (Default = 60)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_log_cycle_time",children:"TLM_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry binary logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_log_cycle_size",children:"TLM_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry binary logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_log_retain_time",children:"TLM_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep raw telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep raw telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_decom_log_cycle_time",children:"TLM_DECOM_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry decommutation logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_decom_log_cycle_size",children:"TLM_DECOM_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry decommutation logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_decom_log_retain_time",children:"TLM_DECOM_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep decom telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep decom telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_minute_log_retain_time",children:"REDUCED_MINUTE_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep reduced minute telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep reduced minute telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_hour_log_retain_time",children:"REDUCED_HOUR_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep reduced hour telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep reduced hour telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_day_log_retain_time",children:"REDUCED_DAY_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep reduced day telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep reduced day telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"log_retain_time",children:"LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep all regular telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep all regular telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_log_retain_time",children:"REDUCED_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep all reduced telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep all reduced telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cleanup_poll_time",children:"CLEANUP_POLL_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Period at which to run the cleanup process."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds between runs of the cleanup process (default = 900 = 15 minutes)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reducer_disable",children:"REDUCER_DISABLE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Disables the data reduction microservice for the target"})}),"\n",(0,s.jsx)(r.h3,{id:"reducer_max_cpu_utilization",children:"REDUCER_MAX_CPU_UTILIZATION"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Maximum amount of CPU utilization to apply to data reduction"})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Percentage"}),(0,s.jsx)(r.td,{children:"0 to 100 percent (default = 30)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"target_microservice",children:"TARGET_MICROSERVICE"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Breaks a target microservice out into its own process."})]}),"\n",(0,s.jsx)(r.p,{children:"Can be used to give more resources to processing that is falling behind. If defined multiple times for the same type, will create multiple processes. Each process can be given specific packets to process with the PACKET keyword."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsx)(r.td,{children:"The target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUP"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"packet",children:"PACKET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Packet Name to allocate to the current TARGET_MICROSERVICE."})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Packet Name"}),(0,s.jsx)(r.td,{children:"The packet name. Does not apply to REDUCER or CLEANUP target microservice types."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire target or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h2,{id:"microservice-1",children:"MICROSERVICE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Defines a new microservice"})}),"\n",(0,s.jsx)(r.p,{children:"Defines a microservice that the plugin adds to the OpenC3 system. Microservices are background software processes that perform persistent processing."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Microservice Folder Name"}),(0,s.jsx)(r.td,{children:"The exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderName"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Microservice Name"}),(0,s.jsx)(r.td,{children:"The specific name of this instance of the microservice in the OpenC3 system"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n"})}),"\n",(0,s.jsx)(r.h2,{id:"microservice-modifiers",children:"MICROSERVICE Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a MICROSERVICE keyword."}),"\n",(0,s.jsx)(r.h3,{id:"env-1",children:"ENV"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Sets an environment variable in the microservice."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Key"}),(0,s.jsx)(r.td,{children:"Environment variable name"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Value"}),(0,s.jsx)(r.td,{children:"Environment variable value"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n ENV COMPANY OpenC3\n"})}),"\n",(0,s.jsx)(r.h3,{id:"work_dir-1",children:"WORK_DIR"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Set the working directory"})}),"\n",(0,s.jsx)(r.p,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Directory"}),(0,s.jsx)(r.td,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n WORK_DIR .\n"})}),"\n",(0,s.jsx)(r.h3,{id:"port-1",children:"PORT"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,s.jsx)(r.strong,{children:"Open port for the microservice"})]}),"\n",(0,s.jsx)(r.p,{children:"Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Number"}),(0,s.jsx)(r.td,{children:"Port number"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol"}),(0,s.jsx)(r.td,{children:"Port protocol. Default is TCP."}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n PORT 7272\n"})}),"\n",(0,s.jsx)(r.h3,{id:"topic",children:"TOPIC"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Associate a Redis topic"})}),"\n",(0,s.jsx)(r.p,{children:"Redis topic to associate with this microservice. Standard OpenC3 microservices such as decom_microservice use this information to know what packet streams to subscribe to. The TOPIC keyword can be used as many times as necessary to associate all needed topics."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Topic Name"}),(0,s.jsx)(r.td,{children:"Redis Topic to associate with the microservice"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n # Manually assigning topics is an advanced topic and requires\n # intimate knowledge of the internal COSMOS data structures.\n TOPIC DEFAULT__openc3_log_messages\n TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS\n"})}),"\n",(0,s.jsx)(r.h3,{id:"target_name",children:"TARGET_NAME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Associate a OpenC3 target"})}),"\n",(0,s.jsx)(r.p,{children:"OpenC3 target to associate with the microservice. For standard OpenC3 microservices such as decom_microservice this causes the target configuration to get loaded into the container for the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"OpenC3 target to associate with the microservice"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n TARGET_NAME EXAMPLE\n"})}),"\n",(0,s.jsx)(r.h3,{id:"cmd-1",children:"CMD"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command line to execute to run the microservice."})}),"\n",(0,s.jsx)(r.p,{children:"Command line to execute to run the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"One or more arguments to exec to run the microservice."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n CMD ruby example_target.rb\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"MICROSERVICE EXAMPLE openc3-example\n CMD python example_target.py\n"})}),"\n",(0,s.jsx)(r.h3,{id:"option-1",children:"OPTION"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Pass an option to the microservice"})}),"\n",(0,s.jsx)(r.p,{children:"Generic key/value(s) options to pass to the microservice. These take the form of KEYWORD/PARAMS like a line in a OpenC3 configuration file. Multiple OPTION keywords can be used to pass multiple options to the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Option Name"}),(0,s.jsx)(r.td,{children:"Name of the option"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Option Value(s)"}),(0,s.jsx)(r.td,{children:"One or more values to associate with the option"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.h3,{id:"container-1",children:"CONTAINER"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Docker Container"})}),"\n",(0,s.jsx)(r.p,{children:"Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"Name of the container"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"secret-1",children:"SECRET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.3.0)"}),(0,s.jsx)(r.strong,{children:"Define a secret needed by this microservice"})]}),"\n",(0,s.jsx)(r.p,{children:"Defines a secret for this microservice"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsx)(r.td,{children:"ENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Name"}),(0,s.jsx)(r.td,{children:"The name of the secret to retrieve"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Environment Variable or File Path"}),(0,s.jsx)(r.td,{children:"Environment variable name or file path to store secret"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Store Name"}),(0,s.jsx)(r.td,{children:"Name of the secret store for stores with multipart keys"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:'SECRET ENV USERNAME ENV_USERNAME\nSECRET FILE KEY "/tmp/DATA/cert"\n'})}),"\n",(0,s.jsx)(r.h3,{id:"route_prefix-1",children:"ROUTE_PREFIX"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.5.0)"}),(0,s.jsx)(r.strong,{children:"Prefix of route"})]}),"\n",(0,s.jsx)(r.p,{children:"Prefix of route to the microservice to expose externally with Traefik"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Route Prefix"}),(0,s.jsx)(r.td,{children:"Route prefix. Must be unique across all scopes. Something like /myprefix"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE CFDP CFDP\n ROUTE_PREFIX /cfdp\n"})}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb-1",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire microservice or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h2,{id:"tool-1",children:"TOOL"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Define a tool"})}),"\n",(0,s.jsx)(r.p,{children:"Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Tool Folder Name"}),(0,s.jsx)(r.td,{children:"The exact name of the tool folder in the plugin. ie. tools/ToolFolderName"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Tool Name"}),(0,s.jsx)(r.td,{children:"Name of the tool that is displayed in the OpenC3 Navigation menu"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"TOOL DEMO Demo\n"})}),"\n",(0,s.jsx)(r.h2,{id:"tool-modifiers",children:"TOOL Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a TOOL keyword."}),"\n",(0,s.jsx)(r.h3,{id:"url",children:"URL"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Url used to access the tool"})}),"\n",(0,s.jsx)(r.p,{children:'The relative url used to access the tool. Defaults to "/tools/ToolFolderName".'}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Url"}),(0,s.jsx)(r.td,{children:"The url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"inline_url",children:"INLINE_URL"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Internal url to load a tool"})}),"\n",(0,s.jsx)(r.p,{children:'The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js".'}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Url"}),(0,s.jsx)(r.td,{children:"The inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"window",children:"WINDOW"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How to display the tool when navigated to"})}),"\n",(0,s.jsx)(r.p,{children:"The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Window Mode"}),(0,s.jsxs)(r.td,{children:["Tool display mode",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INLINE, IFRAME, NEW"})]}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"icon",children:"ICON"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Set tool icon"})}),"\n",(0,s.jsx)(r.p,{children:"Icon shown next to the tool name in the OpenC3 navigation menu."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Icon Name"}),(0,s.jsxs)(r.td,{children:["Icon to display next to the tool name. Icons come from Font Awesome, Material Design (",(0,s.jsx)(r.a,{href:"https://materialdesignicons.com/",children:"https://materialdesignicons.com/"}),"), and Astro."]}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"category",children:"CATEGORY"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Category for the tool"})}),"\n",(0,s.jsx)(r.p,{children:"Associates the tool with a category which becomes a submenu in the Navigation menu."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Category Name"}),(0,s.jsx)(r.td,{children:"Category to associate the tool with"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"shown",children:"SHOWN"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Show the tool or not"})}),"\n",(0,s.jsx)(r.p,{children:"Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Shown"}),(0,s.jsxs)(r.td,{children:["Whether or not the tool is shown. TRUE or FALSE",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"true, false"})]}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"position",children:"POSITION"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.8)"}),(0,s.jsx)(r.strong,{children:"Position of the tool in the nav bar"})]}),"\n",(0,s.jsx)(r.p,{children:"Position of the tool starting at 2 (1 is reserved for Admin Console). Tools without a position are appended to the end as they are installed. All COSMOS open source tools have consecutive integer values for position."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Position"}),(0,s.jsx)(r.td,{children:"Numerical position"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb-2",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire tool or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h2,{id:"widget",children:"WIDGET"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Define a custom widget"})}),"\n",(0,s.jsx)(r.p,{children:"Defines a custom widget that can be used in Telemetry Viewer screens."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Widget Name"}),(0,s.jsxs)(r.td,{children:["The name of the widget will be used to build a path to the widget implementation. For example, ",(0,s.jsx)(r.code,{children:"WIDGET HELLOWORLD"})," will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the ",(0,s.jsx)(r.a,{href:"/docs/guides/custom-widgets",children:"Custom Widgets"})," guide for more details."]}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Label"}),(0,s.jsx)(r.td,{children:"The label for the widget that will appear in the Data Viewer component drop down"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"WIDGET HELLOWORLD\n"})}),"\n",(0,s.jsx)(r.h2,{id:"widget-modifiers",children:"WIDGET Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a WIDGET keyword."}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb-3",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire widget or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]})]})}function a(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>l,x:()=>d});var i=n(6540);const s={},t=i.createContext(s);function l(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6831b732.e81eaa4d.js b/docs/assets/js/6831b732.e81eaa4d.js new file mode 100644 index 0000000000..66160f21ab --- /dev/null +++ b/docs/assets/js/6831b732.e81eaa4d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3927"],{2784:function(e,r,n){n.r(r),n.d(r,{metadata:()=>i,contentTitle:()=>d,default:()=>o,assets:()=>c,toc:()=>h,frontMatter:()=>l});var i=JSON.parse('{"id":"configuration/plugins","title":"Plugins","description":"Plugin definition file format and keywords","source":"@site/docs/configuration/plugins.md","sourceDirName":"configuration","slug":"/configuration/plugins","permalink":"/docs/configuration/plugins","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/plugins.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"title":"Plugins","description":"Plugin definition file format and keywords","sidebar_custom_props":{"myEmoji":"\uD83D\uDD0C"}},"sidebar":"defaultSidebar","previous":{"title":"File Format","permalink":"/docs/configuration/format"},"next":{"title":"Targets","permalink":"/docs/configuration/target"}}'),s=n("5893"),t=n("65");let l={sidebar_position:2,title:"Plugins",description:"Plugin definition file format and keywords",sidebar_custom_props:{myEmoji:"\uD83D\uDD0C"}},d=void 0,c={},h=[{value:"Introduction",id:"introduction",level:2},{value:"Concepts",id:"concepts",level:2},{value:"Target",id:"target",level:3},{value:"Interface",id:"interface",level:3},{value:"Router",id:"router",level:3},{value:"Tool",id:"tool",level:3},{value:"Microservice",id:"microservice",level:3},{value:"Plugin Directory Structure",id:"plugin-directory-structure",level:2},{value:"plugin.txt Configuration File",id:"plugintxt-configuration-file",level:2},{value:"VARIABLE",id:"variable",level:2},{value:"NEEDS_DEPENDENCIES",id:"needs_dependencies",level:2},{value:"INTERFACE",id:"interface-1",level:2},{value:"INTERFACE Modifiers",id:"interface-modifiers",level:2},{value:"MAP_TARGET",id:"map_target",level:3},{value:"MAP_CMD_TARGET",id:"map_cmd_target",level:3},{value:"MAP_TLM_TARGET",id:"map_tlm_target",level:3},{value:"DONT_CONNECT",id:"dont_connect",level:3},{value:"DONT_RECONNECT",id:"dont_reconnect",level:3},{value:"RECONNECT_DELAY",id:"reconnect_delay",level:3},{value:"DISABLE_DISCONNECT",id:"disable_disconnect",level:3},{value:"LOG_RAW",id:"log_raw",level:3},{value:"LOG_STREAM",id:"log_stream",level:3},{value:"PROTOCOL",id:"protocol",level:3},{value:"OPTION",id:"option",level:3},{value:"SECRET",id:"secret",level:3},{value:"ENV",id:"env",level:3},{value:"WORK_DIR",id:"work_dir",level:3},{value:"PORT",id:"port",level:3},{value:"CMD",id:"cmd",level:3},{value:"CONTAINER",id:"container",level:3},{value:"ROUTE_PREFIX",id:"route_prefix",level:3},{value:"SHARD",id:"shard",level:3},{value:"ROUTER",id:"router-1",level:2},{value:"TARGET",id:"target-1",level:2},{value:"TARGET Modifiers",id:"target-modifiers",level:2},{value:"CMD_BUFFER_DEPTH",id:"cmd_buffer_depth",level:3},{value:"CMD_LOG_CYCLE_TIME",id:"cmd_log_cycle_time",level:3},{value:"CMD_LOG_CYCLE_SIZE",id:"cmd_log_cycle_size",level:3},{value:"CMD_LOG_RETAIN_TIME",id:"cmd_log_retain_time",level:3},{value:"CMD_DECOM_LOG_CYCLE_TIME",id:"cmd_decom_log_cycle_time",level:3},{value:"CMD_DECOM_LOG_CYCLE_SIZE",id:"cmd_decom_log_cycle_size",level:3},{value:"CMD_DECOM_LOG_RETAIN_TIME",id:"cmd_decom_log_retain_time",level:3},{value:"TLM_BUFFER_DEPTH",id:"tlm_buffer_depth",level:3},{value:"TLM_LOG_CYCLE_TIME",id:"tlm_log_cycle_time",level:3},{value:"TLM_LOG_CYCLE_SIZE",id:"tlm_log_cycle_size",level:3},{value:"TLM_LOG_RETAIN_TIME",id:"tlm_log_retain_time",level:3},{value:"TLM_DECOM_LOG_CYCLE_TIME",id:"tlm_decom_log_cycle_time",level:3},{value:"TLM_DECOM_LOG_CYCLE_SIZE",id:"tlm_decom_log_cycle_size",level:3},{value:"TLM_DECOM_LOG_RETAIN_TIME",id:"tlm_decom_log_retain_time",level:3},{value:"REDUCED_MINUTE_LOG_RETAIN_TIME",id:"reduced_minute_log_retain_time",level:3},{value:"REDUCED_HOUR_LOG_RETAIN_TIME",id:"reduced_hour_log_retain_time",level:3},{value:"REDUCED_DAY_LOG_RETAIN_TIME",id:"reduced_day_log_retain_time",level:3},{value:"LOG_RETAIN_TIME",id:"log_retain_time",level:3},{value:"REDUCED_LOG_RETAIN_TIME",id:"reduced_log_retain_time",level:3},{value:"CLEANUP_POLL_TIME",id:"cleanup_poll_time",level:3},{value:"REDUCER_DISABLE",id:"reducer_disable",level:3},{value:"REDUCER_MAX_CPU_UTILIZATION",id:"reducer_max_cpu_utilization",level:3},{value:"TARGET_MICROSERVICE",id:"target_microservice",level:3},{value:"PACKET",id:"packet",level:3},{value:"DISABLE_ERB",id:"disable_erb",level:3},{value:"SHARD",id:"shard-1",level:3},{value:"MICROSERVICE",id:"microservice-1",level:2},{value:"MICROSERVICE Modifiers",id:"microservice-modifiers",level:2},{value:"ENV",id:"env-1",level:3},{value:"WORK_DIR",id:"work_dir-1",level:3},{value:"PORT",id:"port-1",level:3},{value:"TOPIC",id:"topic",level:3},{value:"TARGET_NAME",id:"target_name",level:3},{value:"CMD",id:"cmd-1",level:3},{value:"OPTION",id:"option-1",level:3},{value:"CONTAINER",id:"container-1",level:3},{value:"SECRET",id:"secret-1",level:3},{value:"ROUTE_PREFIX",id:"route_prefix-1",level:3},{value:"DISABLE_ERB",id:"disable_erb-1",level:3},{value:"SHARD",id:"shard-2",level:3},{value:"TOOL",id:"tool-1",level:2},{value:"TOOL Modifiers",id:"tool-modifiers",level:2},{value:"URL",id:"url",level:3},{value:"INLINE_URL",id:"inline_url",level:3},{value:"WINDOW",id:"window",level:3},{value:"ICON",id:"icon",level:3},{value:"CATEGORY",id:"category",level:3},{value:"SHOWN",id:"shown",level:3},{value:"POSITION",id:"position",level:3},{value:"DISABLE_ERB",id:"disable_erb-2",level:3},{value:"IMPORT_MAP_ITEM",id:"import_map_item",level:3},{value:"WIDGET",id:"widget",level:2},{value:"WIDGET Modifiers",id:"widget-modifiers",level:2},{value:"DISABLE_ERB",id:"disable_erb-3",level:3}];function a(e){let r={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(r.p,{children:"This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS."}),"\n",(0,s.jsx)(r.p,{children:"Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality."}),"\n",(0,s.jsx)(r.p,{children:"Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains."}),"\n",(0,s.jsx)(r.h2,{id:"concepts",children:"Concepts"}),"\n",(0,s.jsx)(r.h3,{id:"target",children:"Target"}),"\n",(0,s.jsx)(r.p,{children:"Targets are the external pieces of hardware and/or software that COSMOS communicates with. These are things like Front End Processors (FEPs), ground support equipment (GSE), custom software tools, and pieces of hardware like satellites themselves. A target is anything that COSMOS can send commands to and receive telemetry from."}),"\n",(0,s.jsx)(r.h3,{id:"interface",children:"Interface"}),"\n",(0,s.jsx)(r.p,{children:"Interfaces implement the physical connection to one or more targets. They are typically ethernet connections implemented using TCP or UDP but can be other connections like serial ports. Interfaces send commands to targets and receive telemetry from targets."}),"\n",(0,s.jsx)(r.h3,{id:"router",children:"Router"}),"\n",(0,s.jsx)(r.p,{children:"Routers flow streams of telemetry packets out of COSMOS and receive streams of commands into COSMOS. The commands are forwarded by COSMOS to associated interfaces. Telemetry comes from associated interfaces."}),"\n",(0,s.jsx)(r.h3,{id:"tool",children:"Tool"}),"\n",(0,s.jsx)(r.p,{children:"COSMOS Tools are web-based applications the communicate with the COSMOS APIs to perform takes like displaying telemetry, sending commands, and running scripts."}),"\n",(0,s.jsx)(r.h3,{id:"microservice",children:"Microservice"}),"\n",(0,s.jsx)(r.p,{children:"Microservices are persistent running backend code that runs within the COSMOS environment. They can process data and perform other useful tasks."}),"\n",(0,s.jsx)(r.h2,{id:"plugin-directory-structure",children:"Plugin Directory Structure"}),"\n",(0,s.jsxs)(r.p,{children:["COSMOS plugins have a well-defined directory structure described in detail in the ",(0,s.jsx)(r.a,{href:"../getting-started/generators",children:"Code Generator"})," documentation."]}),"\n",(0,s.jsx)(r.h2,{id:"plugintxt-configuration-file",children:"plugin.txt Configuration File"}),"\n",(0,s.jsx)(r.p,{children:"A plugin.txt configuration file is required for any COSMOS plugin. It declares the contents of the plugin and provides variables that allow the plugin to be configured at the time it is initially installed or upgraded.\nThis file follows the standard COSMOS configuration file format of keywords followed by zero or more space separated parameters. The following keywords are supported by the plugin.txt config file:"}),"\n",(0,s.jsx)(r.h2,{id:"variable",children:"VARIABLE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Define a configurable variable for the plugin"})}),"\n",(0,s.jsx)(r.p,{children:"The VARIABLE keyword defines a variable that will be requested for the user to enter during plugin installation. Variables can be used to handle details of targets that are user defined such as specific IP addresses and ports. Variables should also be used to allow users to rename targets to whatever name they want and support multiple installations of the same target with different names. Variables can be used later in plugin.txt or in any other configuration file included in a plugin using Ruby ERB syntax. The variables are assigned to accessible local variables in the file. At a high level, ERB allows you to run Ruby code in configuration files."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Variable Name"}),(0,s.jsx)(r.td,{children:"The name of the variable"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Default Value"}),(0,s.jsx)(r.td,{children:"Default value of the variable"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.h2,{id:"needs_dependencies",children:"NEEDS_DEPENDENCIES"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.5.0)"}),(0,s.jsx)(r.strong,{children:"Indicates the plugin needs dependencies and sets the GEM_HOME environment variable"})]}),"\n",(0,s.jsx)(r.p,{children:"If the plugin has a top level lib folder or lists runtime dependencies in the gemspec, NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having NEEDS_DEPENDENCIES adds the NFS volume mount to the Kubernetes pod."}),"\n",(0,s.jsx)(r.h2,{id:"interface-1",children:"INTERFACE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Defines a connection to a physical target"})}),"\n",(0,s.jsx)(r.p,{children:"Interfaces are what OpenC3 uses to talk to a particular piece of hardware. Interfaces require a Ruby or Python file which implements all the interface methods necessary to talk to the hardware. OpenC3 defines many built in interfaces or you can define your own as long as it implements the interface protocol."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Interface Name"}),(0,s.jsx)(r.td,{children:"Name of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Filename"}),(0,s.jsxs)(r.td,{children:["Ruby or Python file to use when instantiating the interface.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface"})]}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsxs)(r.p,{children:["Additional parameters are required. Please see the ",(0,s.jsx)(r.a,{href:"/docs/configuration/interfaces",children:"Interfaces"})," documentation for more details."]}),"\n",(0,s.jsx)(r.h2,{id:"interface-modifiers",children:"INTERFACE Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a INTERFACE keyword."}),"\n",(0,s.jsx)(r.h3,{id:"map_target",children:"MAP_TARGET"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Maps a target name to an interface"})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"Target name to map to this interface"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET DATA\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET DATA\n"})}),"\n",(0,s.jsx)(r.h3,{id:"map_cmd_target",children:"MAP_CMD_TARGET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Maps a target name to an interface for commands only"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"Command target name to map to this interface"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface\n"})}),"\n",(0,s.jsx)(r.h3,{id:"map_tlm_target",children:"MAP_TLM_TARGET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Maps a target name to an interface for telemetry only"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"Telemetry target name to map to this interface"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface\n"})}),"\n",(0,s.jsx)(r.h3,{id:"dont_connect",children:"DONT_CONNECT"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Server will not automatically try to connect to the interface at startup"})}),"\n",(0,s.jsx)(r.h3,{id:"dont_reconnect",children:"DONT_RECONNECT"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Server will not try to reconnect to the interface if the connection is lost"})}),"\n",(0,s.jsx)(r.h3,{id:"reconnect_delay",children:"RECONNECT_DELAY"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Reconnect delay in seconds"})}),"\n",(0,s.jsx)(r.p,{children:"If DONT_RECONNECT is not present the Server will try to reconnect to an interface if the connection is lost. Reconnect delay sets the interval in seconds between reconnect tries."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Delay"}),(0,s.jsx)(r.td,{children:"Delay in seconds between reconnect attempts. The default is 15 seconds."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"disable_disconnect",children:"DISABLE_DISCONNECT"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Disable the Disconnect button on the Interfaces tab in the Server"})}),"\n",(0,s.jsx)(r.p,{children:"Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target."}),"\n",(0,s.jsx)(r.h3,{id:"log_raw",children:"LOG_RAW"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Deprecated, use LOG_STREAM"})}),"\n",(0,s.jsx)(r.h3,{id:"log_stream",children:"LOG_STREAM"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.5.2)"}),(0,s.jsx)(r.strong,{children:"Log all data on the interface exactly as it is sent and received"})]}),"\n",(0,s.jsx)(r.p,{children:"LOG_STREAM does not add any OpenC3 headers and thus can not be read by OpenC3 tools. It is primarily useful for low level debugging of an interface. You will have to manually parse these logs yourself using a hex editor or other application."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Time"}),(0,s.jsx)(r.td,{children:"Amount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute."}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Size"}),(0,s.jsx)(r.td,{children:"Amount of data to write before cycling the log file. Default is 50MB."}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Hour"}),(0,s.jsx)(r.td,{children:"The time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil."}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Cycle Minute"}),(0,s.jsx)(r.td,{children:"See Cycle Hour."}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE EXAMPLE example_interface.rb\n # Override the default log time of 600\n LOG_STREAM 60\n"})}),"\n",(0,s.jsx)(r.h3,{id:"protocol",children:"PROTOCOL"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 4.0.0)"}),(0,s.jsx)(r.strong,{children:"Protocols modify the interface by processing the data"})]}),"\n",(0,s.jsxs)(r.p,{children:["Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{})," For information on creating your own custom protocol please see ",(0,s.jsx)(r.a,{href:"/docs/configuration/protocols",children:"Protocols"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsxs)(r.td,{children:["Whether to apply the protocol on incoming data, outgoing data, or both",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"READ, WRITE, READ_WRITE"})]}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol Filename or Classname"}),(0,s.jsx)(r.td,{children:"Ruby or Python filename or class name which implements the protocol"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol specific parameters"}),(0,s.jsx)(r.td,{children:"Additional parameters used by the protocol"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil\n MAP_TARGET DATA\n # Rather than defining the LENGTH protocol on the INTERFACE line we define it here\n PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST\n MAP_TARGET DATA\n PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets\n"})}),"\n",(0,s.jsx)(r.h3,{id:"option",children:"OPTION"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Set a parameter on an interface"})}),"\n",(0,s.jsx)(r.p,{children:"When an option is set the interface class calls the set_option method. Custom interfaces can override set_option to handle any additional options they want."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Name"}),(0,s.jsx)(r.td,{children:"The option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0)."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Parameters"}),(0,s.jsx)(r.td,{children:"Parameters to pass to the option"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil\n OPTION FLOW_CONTROL RTSCTS\n OPTION DATA_BITS 8\nROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST\n ROUTE SERIAL_INT\n OPTION LISTEN_ADDRESS 127.0.0.1\n"})}),"\n",(0,s.jsx)(r.h3,{id:"secret",children:"SECRET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.3.0)"}),(0,s.jsx)(r.strong,{children:"Define a secret needed by this interface"})]}),"\n",(0,s.jsxs)(r.p,{children:["Defines a secret for this interface and optionally assigns its value to an option. For more information see ",(0,s.jsx)(r.a,{href:"/docs/tools/admin#secrets",children:"Admin Secrets"}),"."]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsx)(r.td,{children:"ENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Name"}),(0,s.jsxs)(r.td,{children:["The name of the secret to retrieve from the Admin / Secrets tab. For more information see ",(0,s.jsx)(r.a,{href:"/docs/tools/admin#secrets",children:"Admin Secrets"}),"."]}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Environment Variable or File Path"}),(0,s.jsx)(r.td,{children:"Environment variable name or file path to store secret. Note that if you use the Option Name to set an option to the secret value, this value doesn't really matter as long as it is unique."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Option Name"}),(0,s.jsx)(r.td,{children:"Interface option to pass the secret value. This is the primary way to pass secrets to interfaces."}),(0,s.jsx)(r.td,{children:"False"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Store Name"}),(0,s.jsx)(r.td,{children:"Name of the secret store for stores with multipart keys"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:'SECRET ENV USERNAME ENV_USERNAME USERNAME\nSECRET FILE KEY "/tmp/DATA/cert" KEY\n'})}),"\n",(0,s.jsx)(r.h3,{id:"env",children:"ENV"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Sets an environment variable in the microservice."})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Key"}),(0,s.jsx)(r.td,{children:"Environment variable name"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Value"}),(0,s.jsx)(r.td,{children:"Environment variable value"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"ENV COMPANY OpenC3\n"})}),"\n",(0,s.jsx)(r.h3,{id:"work_dir",children:"WORK_DIR"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Set the working directory"})]}),"\n",(0,s.jsx)(r.p,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Directory"}),(0,s.jsx)(r.td,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"WORK_DIR '/openc3/lib/openc3/microservices'\n"})}),"\n",(0,s.jsx)(r.h3,{id:"port",children:"PORT"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Open port for the microservice"})]}),"\n",(0,s.jsx)(r.p,{children:"Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Number"}),(0,s.jsx)(r.td,{children:"Port number"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol"}),(0,s.jsx)(r.td,{children:"Port protocol. Default is TCP."}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"PORT 7272\n"})}),"\n",(0,s.jsx)(r.h3,{id:"cmd",children:"CMD"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Command line to execute to run the microservice."})]}),"\n",(0,s.jsx)(r.p,{children:"Command line to execute to run the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"One or more arguments to exec to run the microservice."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"CMD python interface_microservice.py DEFAULT__INTERFACE__INT1\n"})}),"\n",(0,s.jsx)(r.h3,{id:"container",children:"CONTAINER"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Docker Container"})]}),"\n",(0,s.jsx)(r.p,{children:"Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"Name of the container"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"route_prefix",children:"ROUTE_PREFIX"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.7.0)"}),(0,s.jsx)(r.strong,{children:"Prefix of route"})]}),"\n",(0,s.jsx)(r.p,{children:"Prefix of route to the microservice to expose externally with Traefik"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Route Prefix"}),(0,s.jsx)(r.td,{children:"Route prefix. Must be unique across all scopes. Something like /myprefix"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"ROUTE_PREFIX /interface\n"})}),"\n",(0,s.jsx)(r.h3,{id:"shard",children:"SHARD"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 6.0.0)"}),(0,s.jsx)(r.strong,{children:"Operator shard to run target microservices on"})]}),"\n",(0,s.jsx)(r.p,{children:"Operator Shard. Only used if running multiple operator containers typically in Kubernetes"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Shard"}),(0,s.jsx)(r.td,{children:"Shard number starting from 0"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"SHARD 0\n"})}),"\n",(0,s.jsx)(r.h2,{id:"router-1",children:"ROUTER"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Create router to receive commands and output telemetry packets from one or more interfaces"})}),"\n",(0,s.jsx)(r.p,{children:"Creates an router which receives command packets from their remote clients and sends them to associated interfaces. They receive telemetry packets from their interfaces and send them to their remote clients. This allows routers to be intermediaries between an external client and an actual device."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Name"}),(0,s.jsx)(r.td,{children:"Name of the router"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Filename"}),(0,s.jsxs)(r.td,{children:["Ruby or Python file to use when instantiating the interface.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface"})]}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsxs)(r.p,{children:["Additional parameters are required. Please see the ",(0,s.jsx)(r.a,{href:"/docs/configuration/interfaces",children:"Interfaces"})," documentation for more details."]}),"\n",(0,s.jsx)(r.h2,{id:"target-1",children:"TARGET"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Defines a new target"})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Folder Name"}),(0,s.jsx)(r.td,{children:"The target folder"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Name"}),(0,s.jsx)(r.td,{children:"The target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder."}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"TARGET INST INST\n"})}),"\n",(0,s.jsx)(r.h2,{id:"target-modifiers",children:"TARGET Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a TARGET keyword."}),"\n",(0,s.jsx)(r.h3,{id:"cmd_buffer_depth",children:"CMD_BUFFER_DEPTH"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Number of commands to buffer to ensure logged in order"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Buffer Depth"}),(0,s.jsx)(r.td,{children:"Buffer depth in packets (Default = 5)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_log_cycle_time",children:"CMD_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command binary logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_log_cycle_size",children:"CMD_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command binary logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_log_retain_time",children:"CMD_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep raw command logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep raw command logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_decom_log_cycle_time",children:"CMD_DECOM_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command decommutation logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_decom_log_cycle_size",children:"CMD_DECOM_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command decommutation logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cmd_decom_log_retain_time",children:"CMD_DECOM_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep decom command logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep decom command logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_buffer_depth",children:"TLM_BUFFER_DEPTH"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Number of telemetry packets to buffer to ensure logged in order"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Buffer Depth"}),(0,s.jsx)(r.td,{children:"Buffer depth in packets (Default = 60)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_log_cycle_time",children:"TLM_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry binary logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_log_cycle_size",children:"TLM_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry binary logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_log_retain_time",children:"TLM_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep raw telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep raw telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_decom_log_cycle_time",children:"TLM_DECOM_LOG_CYCLE_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry decommutation logs can be cycled on a time interval."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Maximum time between files in seconds (default = 600)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_decom_log_cycle_size",children:"TLM_DECOM_LOG_CYCLE_SIZE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Telemetry decommutation logs can be cycled after a certain log file size is reached."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Size"}),(0,s.jsx)(r.td,{children:"Maximum file size in bytes (default = 50_000_000)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"tlm_decom_log_retain_time",children:"TLM_DECOM_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep decom telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep decom telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_minute_log_retain_time",children:"REDUCED_MINUTE_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep reduced minute telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep reduced minute telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_hour_log_retain_time",children:"REDUCED_HOUR_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep reduced hour telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep reduced hour telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_day_log_retain_time",children:"REDUCED_DAY_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep reduced day telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep reduced day telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"log_retain_time",children:"LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep all regular telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep all regular telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reduced_log_retain_time",children:"REDUCED_LOG_RETAIN_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How long to keep all reduced telemetry logs in seconds."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds to keep all reduced telemetry logs (default = nil = Forever)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"cleanup_poll_time",children:"CLEANUP_POLL_TIME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Period at which to run the cleanup process."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Time"}),(0,s.jsx)(r.td,{children:"Number of seconds between runs of the cleanup process (default = 900 = 15 minutes)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"reducer_disable",children:"REDUCER_DISABLE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Disables the data reduction microservice for the target"})}),"\n",(0,s.jsx)(r.h3,{id:"reducer_max_cpu_utilization",children:"REDUCER_MAX_CPU_UTILIZATION"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Maximum amount of CPU utilization to apply to data reduction"})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Percentage"}),(0,s.jsx)(r.td,{children:"0 to 100 percent (default = 30)"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"target_microservice",children:"TARGET_MICROSERVICE"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Breaks a target microservice out into its own process."})]}),"\n",(0,s.jsx)(r.p,{children:"Can be used to give more resources to processing that is falling behind. If defined multiple times for the same type, will create multiple processes. Each process can be given specific packets to process with the PACKET keyword."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsx)(r.td,{children:"The target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUP"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"packet",children:"PACKET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.2.0)"}),(0,s.jsx)(r.strong,{children:"Packet Name to allocate to the current TARGET_MICROSERVICE."})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Packet Name"}),(0,s.jsx)(r.td,{children:"The packet name. Does not apply to REDUCER or CLEANUP target microservice types."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire target or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"shard-1",children:"SHARD"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 6.0.0)"}),(0,s.jsx)(r.strong,{children:"Operator shard to run target microservices on"})]}),"\n",(0,s.jsx)(r.p,{children:"Operator Shard. Only used if running multiple operator containers typically in Kubernetes"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Shard"}),(0,s.jsx)(r.td,{children:"Shard number starting from 0"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"SHARD 0\n"})}),"\n",(0,s.jsx)(r.h2,{id:"microservice-1",children:"MICROSERVICE"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Defines a new microservice"})}),"\n",(0,s.jsx)(r.p,{children:"Defines a microservice that the plugin adds to the OpenC3 system. Microservices are background software processes that perform persistent processing."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Microservice Folder Name"}),(0,s.jsx)(r.td,{children:"The exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderName"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Microservice Name"}),(0,s.jsx)(r.td,{children:"The specific name of this instance of the microservice in the OpenC3 system"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n"})}),"\n",(0,s.jsx)(r.h2,{id:"microservice-modifiers",children:"MICROSERVICE Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a MICROSERVICE keyword."}),"\n",(0,s.jsx)(r.h3,{id:"env-1",children:"ENV"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Sets an environment variable in the microservice."})}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Key"}),(0,s.jsx)(r.td,{children:"Environment variable name"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Value"}),(0,s.jsx)(r.td,{children:"Environment variable value"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n ENV COMPANY OpenC3\n"})}),"\n",(0,s.jsx)(r.h3,{id:"work_dir-1",children:"WORK_DIR"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Set the working directory"})}),"\n",(0,s.jsx)(r.p,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Directory"}),(0,s.jsx)(r.td,{children:"Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n WORK_DIR .\n"})}),"\n",(0,s.jsx)(r.h3,{id:"port-1",children:"PORT"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,s.jsx)(r.strong,{children:"Open port for the microservice"})]}),"\n",(0,s.jsx)(r.p,{children:"Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Number"}),(0,s.jsx)(r.td,{children:"Port number"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Protocol"}),(0,s.jsx)(r.td,{children:"Port protocol. Default is TCP."}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n PORT 7272\n"})}),"\n",(0,s.jsx)(r.h3,{id:"topic",children:"TOPIC"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Associate a Redis topic"})}),"\n",(0,s.jsx)(r.p,{children:"Redis topic to associate with this microservice. Standard OpenC3 microservices such as decom_microservice use this information to know what packet streams to subscribe to. The TOPIC keyword can be used as many times as necessary to associate all needed topics."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Topic Name"}),(0,s.jsx)(r.td,{children:"Redis Topic to associate with the microservice"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n # Manually assigning topics is an advanced topic and requires\n # intimate knowledge of the internal COSMOS data structures.\n TOPIC DEFAULT__openc3_log_messages\n TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS\n"})}),"\n",(0,s.jsx)(r.h3,{id:"target_name",children:"TARGET_NAME"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Associate a OpenC3 target"})}),"\n",(0,s.jsx)(r.p,{children:"OpenC3 target to associate with the microservice. For standard OpenC3 microservices such as decom_microservice this causes the target configuration to get loaded into the container for the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Target Name"}),(0,s.jsx)(r.td,{children:"OpenC3 target to associate with the microservice"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n TARGET_NAME EXAMPLE\n"})}),"\n",(0,s.jsx)(r.h3,{id:"cmd-1",children:"CMD"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Command line to execute to run the microservice."})}),"\n",(0,s.jsx)(r.p,{children:"Command line to execute to run the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"One or more arguments to exec to run the microservice."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE EXAMPLE openc3-example\n CMD ruby example_target.rb\n"})}),"\n",(0,s.jsx)(r.p,{children:"Python Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-python",children:"MICROSERVICE EXAMPLE openc3-example\n CMD python example_target.py\n"})}),"\n",(0,s.jsx)(r.h3,{id:"option-1",children:"OPTION"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Pass an option to the microservice"})}),"\n",(0,s.jsx)(r.p,{children:"Generic key/value(s) options to pass to the microservice. These take the form of KEYWORD/PARAMS like a line in a OpenC3 configuration file. Multiple OPTION keywords can be used to pass multiple options to the microservice."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Option Name"}),(0,s.jsx)(r.td,{children:"Name of the option"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Option Value(s)"}),(0,s.jsx)(r.td,{children:"One or more values to associate with the option"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.h3,{id:"container-1",children:"CONTAINER"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Docker Container"})}),"\n",(0,s.jsx)(r.p,{children:"Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Args"}),(0,s.jsx)(r.td,{children:"Name of the container"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"secret-1",children:"SECRET"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.3.0)"}),(0,s.jsx)(r.strong,{children:"Define a secret needed by this microservice"})]}),"\n",(0,s.jsxs)(r.p,{children:["Defines a secret for this microservice. For more information see ",(0,s.jsx)(r.a,{href:"/docs/tools/admin#secrets",children:"Admin Secrets"}),"."]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Type"}),(0,s.jsx)(r.td,{children:"ENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file."}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Name"}),(0,s.jsxs)(r.td,{children:["The name of the secret to retrieve from the Admin / Secrets tab. For more information see ",(0,s.jsx)(r.a,{href:"/docs/tools/admin#secrets",children:"Admin Secrets"}),"."]}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Environment Variable or File Path"}),(0,s.jsx)(r.td,{children:"Environment variable name or file path to store secret"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Secret Store Name"}),(0,s.jsx)(r.td,{children:"Name of the secret store for stores with multipart keys"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:'SECRET ENV USERNAME ENV_USERNAME\nSECRET FILE KEY "/tmp/DATA/cert"\n'})}),"\n",(0,s.jsx)(r.h3,{id:"route_prefix-1",children:"ROUTE_PREFIX"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.5.0)"}),(0,s.jsx)(r.strong,{children:"Prefix of route"})]}),"\n",(0,s.jsx)(r.p,{children:"Prefix of route to the microservice to expose externally with Traefik"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Route Prefix"}),(0,s.jsx)(r.td,{children:"Route prefix. Must be unique across all scopes. Something like /myprefix"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"MICROSERVICE CFDP CFDP\n ROUTE_PREFIX /cfdp\n"})}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb-1",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire microservice or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"shard-2",children:"SHARD"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 6.0.0)"}),(0,s.jsx)(r.strong,{children:"Operator shard to run target microservices on"})]}),"\n",(0,s.jsx)(r.p,{children:"Operator Shard. Only used if running multiple operator containers typically in Kubernetes"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Shard"}),(0,s.jsx)(r.td,{children:"Shard number starting from 0"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"SHARD 0\n"})}),"\n",(0,s.jsx)(r.h2,{id:"tool-1",children:"TOOL"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Define a tool"})}),"\n",(0,s.jsx)(r.p,{children:"Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Tool Folder Name"}),(0,s.jsx)(r.td,{children:"The exact name of the tool folder in the plugin. ie. tools/ToolFolderName"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Tool Name"}),(0,s.jsx)(r.td,{children:"Name of the tool that is displayed in the OpenC3 Navigation menu"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"TOOL DEMO Demo\n"})}),"\n",(0,s.jsx)(r.h2,{id:"tool-modifiers",children:"TOOL Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a TOOL keyword."}),"\n",(0,s.jsx)(r.h3,{id:"url",children:"URL"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Url used to access the tool"})}),"\n",(0,s.jsx)(r.p,{children:'The relative url used to access the tool. Defaults to "/tools/ToolFolderName".'}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Url"}),(0,s.jsx)(r.td,{children:"The url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"inline_url",children:"INLINE_URL"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Internal url to load a tool"})}),"\n",(0,s.jsx)(r.p,{children:'The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js".'}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Url"}),(0,s.jsx)(r.td,{children:"The inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename."}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"window",children:"WINDOW"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"How to display the tool when navigated to"})}),"\n",(0,s.jsx)(r.p,{children:"The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Window Mode"}),(0,s.jsxs)(r.td,{children:["Tool display mode",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INLINE, IFRAME, NEW"})]}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"icon",children:"ICON"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Set tool icon"})}),"\n",(0,s.jsx)(r.p,{children:"Icon shown next to the tool name in the OpenC3 navigation menu."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Icon Name"}),(0,s.jsxs)(r.td,{children:["Icon to display next to the tool name. Icons come from Font Awesome, Material Design (",(0,s.jsx)(r.a,{href:"https://materialdesignicons.com/",children:"https://materialdesignicons.com/"}),"), and Astro."]}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"category",children:"CATEGORY"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Category for the tool"})}),"\n",(0,s.jsx)(r.p,{children:"Associates the tool with a category which becomes a submenu in the Navigation menu."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Category Name"}),(0,s.jsx)(r.td,{children:"Category to associate the tool with"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"shown",children:"SHOWN"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Show the tool or not"})}),"\n",(0,s.jsx)(r.p,{children:"Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Shown"}),(0,s.jsxs)(r.td,{children:["Whether or not the tool is shown. TRUE or FALSE",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"true, false"})]}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"position",children:"POSITION"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.8)"}),(0,s.jsx)(r.strong,{children:"Position of the tool in the nav bar"})]}),"\n",(0,s.jsx)(r.p,{children:"Position of the tool starting at 2 (1 is reserved for Admin Console). Tools without a position are appended to the end as they are installed. All COSMOS open source tools have consecutive integer values for position."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Position"}),(0,s.jsx)(r.td,{children:"Numerical position"}),(0,s.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb-2",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire tool or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(r.h3,{id:"import_map_item",children:"IMPORT_MAP_ITEM"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 6.0.0)"}),(0,s.jsx)(r.strong,{children:"Add an item to the import map"})]}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"key"}),(0,s.jsx)(r.td,{children:"Import Map Key"}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"value"}),(0,s.jsx)(r.td,{children:"Import Map Value"}),(0,s.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(r.h2,{id:"widget",children:"WIDGET"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Define a custom widget"})}),"\n",(0,s.jsx)(r.p,{children:"Defines a custom widget that can be used in Telemetry Viewer screens."}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Widget Name"}),(0,s.jsxs)(r.td,{children:["The name of the widget will be used to build a path to the widget implementation. For example, ",(0,s.jsx)(r.code,{children:"WIDGET HELLOWORLD"})," will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the ",(0,s.jsx)(r.a,{href:"/docs/guides/custom-widgets",children:"Custom Widgets"})," guide for more details."]}),(0,s.jsx)(r.td,{children:"True"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Label"}),(0,s.jsx)(r.td,{children:"The label for the widget that will appear in the Data Viewer component drop down"}),(0,s.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-ruby",children:"WIDGET HELLOWORLD\n"})}),"\n",(0,s.jsx)(r.h2,{id:"widget-modifiers",children:"WIDGET Modifiers"}),"\n",(0,s.jsx)(r.p,{children:"The following keywords must follow a WIDGET keyword."}),"\n",(0,s.jsx)(r.h3,{id:"disable_erb-3",children:"DISABLE_ERB"}),"\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.12.0)"}),(0,s.jsx)(r.strong,{children:"Disable ERB processing"})]}),"\n",(0,s.jsx)(r.p,{children:"Disable ERB processing for the entire widget or a set of regular expressions over its filenames"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Parameter"}),(0,s.jsx)(r.th,{children:"Description"}),(0,s.jsx)(r.th,{children:"Required"})]})}),(0,s.jsx)(r.tbody,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Regex"}),(0,s.jsx)(r.td,{children:"Regex to match against filenames. If match, then no ERB processing"}),(0,s.jsx)(r.td,{children:"False"})]})})]})]})}function o(e={}){let{wrapper:r}={...(0,t.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},65:function(e,r,n){n.d(r,{Z:function(){return d},a:function(){return l}});var i=n(7294);let s={},t=i.createContext(s);function l(e){let r=i.useContext(t);return i.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/696b4199.d61ba085.js b/docs/assets/js/696b4199.b1a9db24.js similarity index 79% rename from docs/assets/js/696b4199.d61ba085.js rename to docs/assets/js/696b4199.b1a9db24.js index eb38530775..cb45bd1190 100644 --- a/docs/assets/js/696b4199.d61ba085.js +++ b/docs/assets/js/696b4199.b1a9db24.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[4875],{6073:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"configuration/ssl-tls","title":"SSL-TLS","description":"How to configure SSL and TLS","source":"@site/docs/configuration/ssl-tls.md","sourceDirName":"configuration","slug":"/configuration/ssl-tls","permalink":"/docs/configuration/ssl-tls","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/ssl-tls.md","tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_position":10,"title":"SSL-TLS","description":"How to configure SSL and TLS","sidebar_custom_props":{"myEmoji":"\ud83d\udd10"}},"sidebar":"defaultSidebar","previous":{"title":"Screens","permalink":"/docs/configuration/telemetry-screens"},"next":{"title":"Tools","permalink":"/docs/tools"}}');var r=n(4848),c=n(8453);const s={sidebar_position:10,title:"SSL-TLS",description:"How to configure SSL and TLS",sidebar_custom_props:{myEmoji:"\ud83d\udd10"}},o=void 0,a={},l=[{value:"Generate the certificate",id:"generate-the-certificate",level:3},{value:"Updating the openc3-traefik Dockerfile",id:"updating-the-openc3-traefik-dockerfile",level:3},{value:"Updating the Traefik config",id:"updating-the-traefik-config",level:3},{value:"Update docker-compose.yaml",id:"update-docker-composeyaml",level:3},{value:"Let's Encrypt",id:"lets-encrypt",level:2},{value:"KEY",id:"key",level:4},{value:"CRT",id:"crt",level:4},{value:"CRT/KEY Bundle",id:"crtkey-bundle",level:4},{value:"cert.pem",id:"certpem",level:4},{value:"chain.pem",id:"chainpem",level:4},{value:"Checking certs",id:"checking-certs",level:3},{value:"Extracting the certificate and keys from a .pfx file",id:"extracting-the-certificate-and-keys-from-a-pfx-file",level:2},{value:"Extract .crt and .key files from .pfx file",id:"extract-crt-and-key-files-from-pfx-file",level:3},{value:"Convert .pfx file to .pem format",id:"convert-pfx-file-to-pem-format",level:3},{value:"TLS1.2 INADEQUATE_SECURITY Errors",id:"tls12-inadequate_security-errors",level:2}];function d(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,c.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["COSMOS 5 is a container based service which does not use SSL/TLS out of the box. This guide will help you configure SSL and TLS. Learn more at the Traefik ",(0,r.jsx)(t.a,{href:"https://doc.traefik.io/traefik/routing/entrypoints/#tls",children:"docs"}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"generate-the-certificate",children:"Generate the certificate"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:"Note: Self-signed certificates are considered insecure for the Internet. Firefox will treat the site as having an invalid certificate, while Chrome will act as if the connection was plain HTTP."}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"To create a new Self-Signed SSL Certificate, use the openssl req command (run on linux from the cosmos-project root):"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"openssl req -newkey rsa:4096 \\\n -x509 \\\n -sha256 \\\n -days 3650 \\\n -nodes \\\n -out ./openc3-traefik/cert.crt \\\n -keyout ./openc3-traefik/cert.key\n\nCountry Name (2 letter code) [XX]:.\nState or Province Name (full name) []:.\nLocality Name (eg, city) [Default City]:.\nOrganization Name (eg, company) [Default Company Ltd]:.\nOrganizational Unit Name (eg, section) []:.\nCommon Name (eg, your name or your server hostname) []: \x3c!-- UPDATE WITH YOUR HOSTNAME HERE --\x3e\nEmail Address []:\n"})}),"\n",(0,r.jsx)(t.p,{children:"Let's breakdown the command and understand what each option means:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"newkey rsa:4096"})," - Creates a new certificate request and 4096 bit RSA key. The default one is 2048 bits."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"x509"})," - Creates a X.509 Certificate."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"sha256"})," - Use 265-bit SHA (Secure Hash Algorithm)."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"days 3650"})," - The number of days to certify the certificate for. 3650 is ten years. You can use any positive integer."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"nodes"})," - Creates a key without a passphrase."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"out ./openc3-traefik/cert.crt"})," - Specifies the filename to write the newly created certificate to. You can specify any file name."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"keyout ./openc3-traefik/cert.key"})," - Specifies the filename to write the newly created private key to. You can specify any file name."]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For more information about the ",(0,r.jsx)(t.code,{children:"openssl req"})," command options, visit the ",(0,r.jsx)(t.a,{href:"https://www.openssl.org/docs/man1.0.2/man1/openssl-req.html",children:"OpenSSL req documentation page"}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"updating-the-openc3-traefik-dockerfile",children:"Updating the openc3-traefik Dockerfile"}),"\n",(0,r.jsx)(t.p,{children:"Add the new cert to the traefik Docker container."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-diff",children:"--- a/openc3-traefik/Dockerfile\n+++ b/openc3-traefik/Dockerfile\n@@ -1,3 +1,4 @@\n FROM traefik:2.4\n COPY ./traefik.yaml /etc/traefik/traefik.yaml\n+COPY ./cert.crt ./cert.key /etc/certs/\n EXPOSE 80\n"})}),"\n",(0,r.jsx)(t.h3,{id:"updating-the-traefik-config",children:"Updating the Traefik config"}),"\n",(0,r.jsx)(t.p,{children:"Configure Traefik to use the new cert file."}),"\n",(0,r.jsx)(t.p,{children:"openc3-traefik/traefik.yaml"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-diff",children:'--- a/openc3-traefik/traefik.yaml\n+++ b/openc3-traefik/traefik.yaml\n@@ -3,6 +3,17 @@\n+tls:\n+ certificates:\n+ - certFile: "/etc/certs/cert.crt"\n+ keyFile: "/etc/certs/cert.key"\n# Listen for everything coming in on the standard HTTP port\nentrypoints:\n web:\n address: ":2900"\n+ http:\n+ redirections:\n+ entryPoint:\n+ to: websecure\n+ scheme: https\n+ websecure:\n+ address: ":2943"\n+ http:\n+ tls:\n+ domains:\n+ - main: "\x3c!-- UPDATE WITH YOUR HOSTNAME HERE --\x3e"\n'})}),"\n",(0,r.jsx)(t.h3,{id:"update-docker-composeyaml",children:"Update docker-compose.yaml"}),"\n",(0,r.jsx)(t.p,{children:"Update traefik to use secure port 443 instead of port 80."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-diff",children:'--- a/compose.yaml\n+++ b/compose.yaml\n services:\n openc3-minio:\n@@ -70,7 +70,7 @@ services:\n openc3-traefik:\n image: "ballaerospace/openc3-traefik:${OPENC3_TAG}"\n ports:\n- - "80:2900"\n+ - "443:2943"\n restart: "unless-stopped"\n depends_on:\n'})}),"\n",(0,r.jsxs)(t.p,{children:["Now you can run ",(0,r.jsx)(t.code,{children:"./openc3.sh start"})," to rebuild the Traefik container and it should include your new cert file."]}),"\n",(0,r.jsx)(t.h2,{id:"lets-encrypt",children:"Let's Encrypt"}),"\n",(0,r.jsx)(t.h4,{id:"key",children:"KEY"}),"\n",(0,r.jsx)(t.p,{children:'privkey.pem is the "key" file'}),"\n",(0,r.jsx)(t.p,{children:"Sometimes it is named as cert.key or example.com.key."}),"\n",(0,r.jsx)(t.h4,{id:"crt",children:"CRT"}),"\n",(0,r.jsx)(t.p,{children:'fullchain.pem is your "crt" file.'}),"\n",(0,r.jsx)(t.p,{children:"Sometimes it is named as example.com.crt."}),"\n",(0,r.jsx)(t.h4,{id:"crtkey-bundle",children:"CRT/KEY Bundle"}),"\n",(0,r.jsx)(t.p,{children:"bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem"}),"\n",(0,r.jsx)(t.p,{children:"HAProxy is the only server that I know of that uses bundle.pem."}),"\n",(0,r.jsx)(t.h4,{id:"certpem",children:"cert.pem"}),"\n",(0,r.jsx)(t.p,{children:"cert.pem contains ONLY your certificate, which can only be used by itself if the browser already has the certificate which signed it, which may work in testing (which makes it seem like it may be the right file), but will actually fail for many of your users in production with a security error of untrusted certificate."}),"\n",(0,r.jsx)(t.p,{children:"However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem."}),"\n",(0,r.jsx)(t.h4,{id:"chainpem",children:"chain.pem"}),"\n",(0,r.jsx)(t.p,{children:"chain.pem is the intermediary signed authority, signed by the root authority - which is what all browsers are guaranteed to have in their pre-built cache."}),"\n",(0,r.jsx)(t.h3,{id:"checking-certs",children:"Checking certs"}),"\n",(0,r.jsx)(t.p,{children:"You can inspect the cert like so:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl x509 -in cert.pem -text -noout\n"})}),"\n",(0,r.jsx)(t.h2,{id:"extracting-the-certificate-and-keys-from-a-pfx-file",children:"Extracting the certificate and keys from a .pfx file"}),"\n",(0,r.jsx)(t.p,{children:"The .pfx file, which is in a PKCS#12 format, contains the SSL certificate (public keys) and the corresponding private keys. You might have to import the certificate and private keys separately in an unencrypted plain text format to use it on another system. This topic provides instructions on how to convert the .pfx file to .crt and .key files."}),"\n",(0,r.jsx)(t.h3,{id:"extract-crt-and-key-files-from-pfx-file",children:"Extract .crt and .key files from .pfx file"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:"PREREQUISITE: Ensure OpenSSL is installed in the server that contains the SSL certificate."}),"\n"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Start OpenSSL from the OpenSSL\\bin folder."}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Open the command prompt and go to the folder that contains your .pfx file."}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Run the following command to extract the private key:"}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key]\n"})}),"\n",(0,r.jsx)(t.p,{children:"You will be prompted to type the import password. Type the password that you used to protect your keypair when you created the .pfx file. You will be prompted again to provide a new password to protect the .key file that you are creating. Store the password to your key file in a secure place to avoid misuse."}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Run the following command to extract the certificate:"}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt]\n"})}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Run the following command to decrypt the private key:"}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl rsa -in [drlive.key] -out [drlive-decrypted.key]\n"})}),"\n",(0,r.jsx)(t.p,{children:"Type the password that you created to protect the private key file in the previous step.\nThe .crt file and the decrypted and encrypted .key files are available in the path, where you started OpenSSL."}),"\n",(0,r.jsx)(t.h3,{id:"convert-pfx-file-to-pem-format",children:"Convert .pfx file to .pem format"}),"\n",(0,r.jsx)(t.p,{children:"There might be instances where you might have to convert the .pfx file into .pem format. Run the following command to convert it into PEM format."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key]\n"})}),"\n",(0,r.jsx)(t.h2,{id:"tls12-inadequate_security-errors",children:"TLS1.2 INADEQUATE_SECURITY Errors"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://doc.traefik.io/traefik/https/tls/#cipher-suites",children:"https://doc.traefik.io/traefik/https/tls/#cipher-suites"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://pkg.go.dev/crypto/tls#pkg-constants",children:"https://pkg.go.dev/crypto/tls#pkg-constants"})}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-yaml",children:"tls:\n options:\n default:\n cipherSuites:\n - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\n - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\n - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\n"})})]})}function h(e={}){const{wrapper:t}={...(0,c.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>o});var i=n(6540);const r={},c=i.createContext(r);function s(e){const t=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9880"],{9267:function(e,t,n){n.r(t),n.d(t,{metadata:()=>i,contentTitle:()=>s,default:()=>h,assets:()=>a,toc:()=>l,frontMatter:()=>o});var i=JSON.parse('{"id":"configuration/ssl-tls","title":"SSL-TLS","description":"How to configure SSL and TLS","source":"@site/docs/configuration/ssl-tls.md","sourceDirName":"configuration","slug":"/configuration/ssl-tls","permalink":"/docs/configuration/ssl-tls","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/ssl-tls.md","tags":[],"version":"current","sidebarPosition":11,"frontMatter":{"sidebar_position":11,"title":"SSL-TLS","description":"How to configure SSL and TLS","sidebar_custom_props":{"myEmoji":"\uD83D\uDD10"}},"sidebar":"defaultSidebar","previous":{"title":"Screens","permalink":"/docs/configuration/telemetry-screens"},"next":{"title":"Tools","permalink":"/docs/tools"}}'),r=n("5893"),c=n("65");let o={sidebar_position:11,title:"SSL-TLS",description:"How to configure SSL and TLS",sidebar_custom_props:{myEmoji:"\uD83D\uDD10"}},s=void 0,a={},l=[{value:"Generate the certificate",id:"generate-the-certificate",level:3},{value:"Updating the openc3-traefik Dockerfile",id:"updating-the-openc3-traefik-dockerfile",level:3},{value:"Updating the Traefik config",id:"updating-the-traefik-config",level:3},{value:"Update docker-compose.yaml",id:"update-docker-composeyaml",level:3},{value:"Let's Encrypt",id:"lets-encrypt",level:2},{value:"KEY",id:"key",level:4},{value:"CRT",id:"crt",level:4},{value:"CRT/KEY Bundle",id:"crtkey-bundle",level:4},{value:"cert.pem",id:"certpem",level:4},{value:"chain.pem",id:"chainpem",level:4},{value:"Checking certs",id:"checking-certs",level:3},{value:"Extracting the certificate and keys from a .pfx file",id:"extracting-the-certificate-and-keys-from-a-pfx-file",level:2},{value:"Extract .crt and .key files from .pfx file",id:"extract-crt-and-key-files-from-pfx-file",level:3},{value:"Convert .pfx file to .pem format",id:"convert-pfx-file-to-pem-format",level:3},{value:"TLS1.2 INADEQUATE_SECURITY Errors",id:"tls12-inadequate_security-errors",level:2}];function d(e){let t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,c.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["COSMOS 5 is a container based service which does not use SSL/TLS out of the box. This guide will help you configure SSL and TLS. Learn more at the Traefik ",(0,r.jsx)(t.a,{href:"https://doc.traefik.io/traefik/routing/entrypoints/#tls",children:"docs"}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"generate-the-certificate",children:"Generate the certificate"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:"Note: Self-signed certificates are considered insecure for the Internet. Firefox will treat the site as having an invalid certificate, while Chrome will act as if the connection was plain HTTP."}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"To create a new Self-Signed SSL Certificate, use the openssl req command (run on linux from the cosmos-project root):"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"openssl req -newkey rsa:4096 \\\n -x509 \\\n -sha256 \\\n -days 3650 \\\n -nodes \\\n -out ./openc3-traefik/cert.crt \\\n -keyout ./openc3-traefik/cert.key\n\nCountry Name (2 letter code) [XX]:.\nState or Province Name (full name) []:.\nLocality Name (eg, city) [Default City]:.\nOrganization Name (eg, company) [Default Company Ltd]:.\nOrganizational Unit Name (eg, section) []:.\nCommon Name (eg, your name or your server hostname) []: \x3c!-- UPDATE WITH YOUR HOSTNAME HERE --\x3e\nEmail Address []:\n"})}),"\n",(0,r.jsx)(t.p,{children:"Let's breakdown the command and understand what each option means:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"newkey rsa:4096"})," - Creates a new certificate request and 4096 bit RSA key. The default one is 2048 bits."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"x509"})," - Creates a X.509 Certificate."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"sha256"})," - Use 265-bit SHA (Secure Hash Algorithm)."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"days 3650"})," - The number of days to certify the certificate for. 3650 is ten years. You can use any positive integer."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"nodes"})," - Creates a key without a passphrase."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"out ./openc3-traefik/cert.crt"})," - Specifies the filename to write the newly created certificate to. You can specify any file name."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"keyout ./openc3-traefik/cert.key"})," - Specifies the filename to write the newly created private key to. You can specify any file name."]}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["For more information about the ",(0,r.jsx)(t.code,{children:"openssl req"})," command options, visit the ",(0,r.jsx)(t.a,{href:"https://www.openssl.org/docs/man1.0.2/man1/openssl-req.html",children:"OpenSSL req documentation page"}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"updating-the-openc3-traefik-dockerfile",children:"Updating the openc3-traefik Dockerfile"}),"\n",(0,r.jsx)(t.p,{children:"Add the new cert to the traefik Docker container."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-diff",children:"--- a/openc3-traefik/Dockerfile\n+++ b/openc3-traefik/Dockerfile\n@@ -1,3 +1,4 @@\n FROM traefik:2.4\n COPY ./traefik.yaml /etc/traefik/traefik.yaml\n+COPY ./cert.crt ./cert.key /etc/certs/\n EXPOSE 80\n"})}),"\n",(0,r.jsx)(t.h3,{id:"updating-the-traefik-config",children:"Updating the Traefik config"}),"\n",(0,r.jsx)(t.p,{children:"Configure Traefik to use the new cert file."}),"\n",(0,r.jsx)(t.p,{children:"openc3-traefik/traefik.yaml"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-diff",children:'--- a/openc3-traefik/traefik.yaml\n+++ b/openc3-traefik/traefik.yaml\n@@ -3,6 +3,17 @@\n+tls:\n+ certificates:\n+ - certFile: "/etc/certs/cert.crt"\n+ keyFile: "/etc/certs/cert.key"\n# Listen for everything coming in on the standard HTTP port\nentrypoints:\n web:\n address: ":2900"\n+ http:\n+ redirections:\n+ entryPoint:\n+ to: websecure\n+ scheme: https\n+ websecure:\n+ address: ":2943"\n+ http:\n+ tls:\n+ domains:\n+ - main: "\x3c!-- UPDATE WITH YOUR HOSTNAME HERE --\x3e"\n'})}),"\n",(0,r.jsx)(t.h3,{id:"update-docker-composeyaml",children:"Update docker-compose.yaml"}),"\n",(0,r.jsx)(t.p,{children:"Update traefik to use secure port 443 instead of port 80."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-diff",children:'--- a/compose.yaml\n+++ b/compose.yaml\n services:\n openc3-minio:\n@@ -70,7 +70,7 @@ services:\n openc3-traefik:\n image: "ballaerospace/openc3-traefik:${OPENC3_TAG}"\n ports:\n- - "80:2900"\n+ - "443:2943"\n restart: "unless-stopped"\n depends_on:\n'})}),"\n",(0,r.jsxs)(t.p,{children:["Now you can run ",(0,r.jsx)(t.code,{children:"./openc3.sh start"})," to rebuild the Traefik container and it should include your new cert file."]}),"\n",(0,r.jsx)(t.h2,{id:"lets-encrypt",children:"Let's Encrypt"}),"\n",(0,r.jsx)(t.h4,{id:"key",children:"KEY"}),"\n",(0,r.jsx)(t.p,{children:'privkey.pem is the "key" file'}),"\n",(0,r.jsx)(t.p,{children:"Sometimes it is named as cert.key or example.com.key."}),"\n",(0,r.jsx)(t.h4,{id:"crt",children:"CRT"}),"\n",(0,r.jsx)(t.p,{children:'fullchain.pem is your "crt" file.'}),"\n",(0,r.jsx)(t.p,{children:"Sometimes it is named as example.com.crt."}),"\n",(0,r.jsx)(t.h4,{id:"crtkey-bundle",children:"CRT/KEY Bundle"}),"\n",(0,r.jsx)(t.p,{children:"bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem"}),"\n",(0,r.jsx)(t.p,{children:"HAProxy is the only server that I know of that uses bundle.pem."}),"\n",(0,r.jsx)(t.h4,{id:"certpem",children:"cert.pem"}),"\n",(0,r.jsx)(t.p,{children:"cert.pem contains ONLY your certificate, which can only be used by itself if the browser already has the certificate which signed it, which may work in testing (which makes it seem like it may be the right file), but will actually fail for many of your users in production with a security error of untrusted certificate."}),"\n",(0,r.jsx)(t.p,{children:"However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem."}),"\n",(0,r.jsx)(t.h4,{id:"chainpem",children:"chain.pem"}),"\n",(0,r.jsx)(t.p,{children:"chain.pem is the intermediary signed authority, signed by the root authority - which is what all browsers are guaranteed to have in their pre-built cache."}),"\n",(0,r.jsx)(t.h3,{id:"checking-certs",children:"Checking certs"}),"\n",(0,r.jsx)(t.p,{children:"You can inspect the cert like so:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl x509 -in cert.pem -text -noout\n"})}),"\n",(0,r.jsx)(t.h2,{id:"extracting-the-certificate-and-keys-from-a-pfx-file",children:"Extracting the certificate and keys from a .pfx file"}),"\n",(0,r.jsx)(t.p,{children:"The .pfx file, which is in a PKCS#12 format, contains the SSL certificate (public keys) and the corresponding private keys. You might have to import the certificate and private keys separately in an unencrypted plain text format to use it on another system. This topic provides instructions on how to convert the .pfx file to .crt and .key files."}),"\n",(0,r.jsx)(t.h3,{id:"extract-crt-and-key-files-from-pfx-file",children:"Extract .crt and .key files from .pfx file"}),"\n",(0,r.jsxs)(t.blockquote,{children:["\n",(0,r.jsx)(t.p,{children:"PREREQUISITE: Ensure OpenSSL is installed in the server that contains the SSL certificate."}),"\n"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Start OpenSSL from the OpenSSL\\bin folder."}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Open the command prompt and go to the folder that contains your .pfx file."}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsx)(t.p,{children:"Run the following command to extract the private key:"}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key]\n"})}),"\n",(0,r.jsx)(t.p,{children:"You will be prompted to type the import password. Type the password that you used to protect your keypair when you created the .pfx file. You will be prompted again to provide a new password to protect the .key file that you are creating. Store the password to your key file in a secure place to avoid misuse."}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Run the following command to extract the certificate:"}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt]\n"})}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Run the following command to decrypt the private key:"}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl rsa -in [drlive.key] -out [drlive-decrypted.key]\n"})}),"\n",(0,r.jsx)(t.p,{children:"Type the password that you created to protect the private key file in the previous step.\nThe .crt file and the decrypted and encrypted .key files are available in the path, where you started OpenSSL."}),"\n",(0,r.jsx)(t.h3,{id:"convert-pfx-file-to-pem-format",children:"Convert .pfx file to .pem format"}),"\n",(0,r.jsx)(t.p,{children:"There might be instances where you might have to convert the .pfx file into .pem format. Run the following command to convert it into PEM format."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key]\n"})}),"\n",(0,r.jsx)(t.h2,{id:"tls12-inadequate_security-errors",children:"TLS1.2 INADEQUATE_SECURITY Errors"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://doc.traefik.io/traefik/https/tls/#cipher-suites",children:"https://doc.traefik.io/traefik/https/tls/#cipher-suites"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"https://pkg.go.dev/crypto/tls#pkg-constants",children:"https://pkg.go.dev/crypto/tls#pkg-constants"})}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-yaml",children:"tls:\n options:\n default:\n cipherSuites:\n - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\n - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\n - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\n"})})]})}function h(e={}){let{wrapper:t}={...(0,c.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},65:function(e,t,n){n.d(t,{Z:function(){return s},a:function(){return o}});var i=n(7294);let r={},c=i.createContext(r);function o(e){let t=i.useContext(c);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6b210247.8741ff53.js b/docs/assets/js/6b210247.8741ff53.js new file mode 100644 index 0000000000..3958944d41 --- /dev/null +++ b/docs/assets/js/6b210247.8741ff53.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3041"],{2559:function(e,t,r){r.r(t),r.d(t,{metadata:()=>s,contentTitle:()=>l,default:()=>o,assets:()=>a,toc:()=>c,frontMatter:()=>d});var s=JSON.parse('{"id":"getting-started/requirements","title":"Requirements and Design","description":"COSMOS Requirements and Design","source":"@site/docs/getting-started/requirements.md","sourceDirName":"getting-started","slug":"/getting-started/requirements","permalink":"/docs/getting-started/requirements","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/requirements.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6,"title":"Requirements and Design","description":"COSMOS Requirements and Design","sidebar_custom_props":{"myEmoji":"\uD83D\uDCD1"}},"sidebar":"defaultSidebar","previous":{"title":"Key Concepts","permalink":"/docs/getting-started/key_concepts"},"next":{"title":"Podman","permalink":"/docs/getting-started/podman"}}'),n=r("5893"),i=r("65");let d={sidebar_position:6,title:"Requirements and Design",description:"COSMOS Requirements and Design",sidebar_custom_props:{myEmoji:"\uD83D\uDCD1"}},l=void 0,a={},c=[{value:"Terminology",id:"terminology",level:2},{value:"Overall Architecture and Context Diagram",id:"overall-architecture-and-context-diagram",level:2},{value:"Overall Requirements",id:"overall-requirements",level:2},{value:"Api Requirements",id:"api-requirements",level:2},{value:"Command and Telemetry Server",id:"command-and-telemetry-server",level:2},{value:"Limits Monitor",id:"limits-monitor",level:2},{value:"Command Sender",id:"command-sender",level:2},{value:"Script Runner",id:"script-runner",level:2},{value:"Packet Viewer",id:"packet-viewer",level:2},{value:"Telemetry Viewer",id:"telemetry-viewer",level:2},{value:"Telemetry Grapher",id:"telemetry-grapher",level:2},{value:"Data Extractor",id:"data-extractor",level:2},{value:"Data Viewer",id:"data-viewer",level:2},{value:"Calendar",id:"calendar",level:2},{value:"Admin",id:"admin",level:2}];function h(e){let t={h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"OpenC3 COSMOS is a command and control system providing commanding, scripting, and data visualization capabilities for embedded systems and systems of systems. COSMOS is intended for use during all phases of testing (board, box, integrated system) and during operations."}),"\n",(0,n.jsx)(t.p,{children:"COSMOS is currently made up of the following applications:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Command and Telemetry Server"})," - Provides status of realtime commanding, telemetry reception, logging, limits monitoring, and packet routing."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Limits Monitor"})," - Monitors telemetry with defined limits and shows items that currently are or have violated limits."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Command Sender"})," - Provides a graphical interface for manually sending individual commands."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Script Runner"})," - Executes scripts and provides highlighting of the currently executing line. Now also includes TestRunner functionality."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Packet Viewer"})," - Provides realtime visualization of every telemetry packet that has been defined."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Telemetry Viewer"})," - Provides custom telemetry screen functionality with advanced layout and visualization widgets."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Telemetry Grapher"})," - Provides realtime and offline graphing of telemetry data."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Data Extractor"})," - Extracts telemetry and command packet log files into CSV data."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Data Viewer"})," - Provides text based telemetry visualization for items."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Bucket Explorer"})," - Browse the COSMOS bucket storage in any cloud environment."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Table Manager"})," - Binary file editor with Script Runner integration for upload / download."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Handbooks"})," - Generate html page of the command and telemetry definitions."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Calendar"})," - Provides scheduling of commands and scripts. Also provides a framework for reserving resources."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Admin"})," - Provides an administrative interface to COSMOS."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"More detailed descriptions, requirements, and design for each tool are found later in this document. Additionally, each of the above applications is built using COSMOS libraries that are available for use as a framework to develop custom program/project applications."}),"\n",(0,n.jsx)(t.h2,{id:"terminology",children:"Terminology"}),"\n",(0,n.jsx)(t.p,{children:"The COSMOS system uses several terms that are important to understand. The following table defines these terms."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Term"}),(0,n.jsx)(t.th,{children:"Definition"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target"}),(0,n.jsx)(t.td,{children:"A COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Command"}),(0,n.jsx)(t.td,{children:"A packet of information telling a target to perform an action of some sort."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Telemetry Packet"}),(0,n.jsx)(t.td,{children:"A packet of information providing status from a target."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Interface"}),(0,n.jsx)(t.td,{children:"A Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Ruby"}),(0,n.jsx)(t.td,{children:"The powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Configuration Files"}),(0,n.jsx)(t.td,{children:"COSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Packet Log Files"}),(0,n.jsx)(t.td,{children:"Binary files containing either logged commands or telemetry packets."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Message Log Files"}),(0,n.jsx)(t.td,{children:"Text files containing messages generated by the system."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Tool"}),(0,n.jsx)(t.td,{children:"Another name for a COSMOS application."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"overall-architecture-and-context-diagram",children:"Overall Architecture and Context Diagram"}),"\n",(0,n.jsx)(t.p,{children:"The following diagram shows the COSMOS 5 architecture."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"COSMOS Architecture",src:r(6535).Z+"",width:"1155",height:"538"})}),"\n",(0,n.jsx)(t.p,{children:"Key aspects of this architecture:"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"COSMOS can connect to many different kinds of targets. The examples include things like Flight software (FSW), Ground Support Equipment (GSE), Labview, and COTS targets such as an Agilent power supply. Any embedded system that provides a communication interface can be connected to COSMOS."}),"\n",(0,n.jsx)(t.li,{children:"COSMOS ships with interfaces for connecting over TCP/IP, UDP, MQTT, and serial connections. This covers most systems, but custom interfaces can also be written to connect to anything."}),"\n",(0,n.jsx)(t.li,{children:"All realtime communication with targets flows through the COSMOS system. This ensures all commands and telemetry are logged."}),"\n",(0,n.jsx)(t.li,{children:"Every tool is configured with plain text configuration files."}),"\n",(0,n.jsx)(t.li,{children:"Program specific tools can be written using the COSMOS libraries that can interact with the realtime command and telemetry streams and can process logged data."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"overall-requirements",children:"Overall Requirements"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-1"}),(0,n.jsx)(t.td,{children:"All COSMOS core functionality shall be containerized."}),(0,n.jsx)(t.td,{children:"Verify COSMOS is running in Docker"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-2"}),(0,n.jsx)(t.td,{children:"The COSMOS user interface shall be accessible from Chromium based web browsers"}),(0,n.jsx)(t.td,{children:"Open COSMOS in Chrome/Edge"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-3"}),(0,n.jsx)(t.td,{children:"The COSMOS user interface shall be accessible from the Firefox web browser"}),(0,n.jsx)(t.td,{children:"Open COSMOS in Firefox"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-4"}),(0,n.jsx)(t.td,{children:"COSMOS shall log all commands sent"}),(0,n.jsx)(t.td,{})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-5"}),(0,n.jsx)(t.td,{children:"COSMOS shall log all telemetry received"}),(0,n.jsx)(t.td,{})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-6"}),(0,n.jsx)(t.td,{children:"COSMOS shall decommutate all telemetry packets received"}),(0,n.jsx)(t.td,{})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-7"}),(0,n.jsx)(t.td,{children:"COSMOS shall support autonomously attempting to connect to targets."}),(0,n.jsx)(t.td,{children:"Verify targets are connected upon starting the CTS."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-8"}),(0,n.jsx)(t.td,{children:"COSMOS shall time stamp telemetry packets upon receipt."}),(0,n.jsx)(t.td,{children:"Verify logged packets are timestamped."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-9"}),(0,n.jsx)(t.td,{children:"COSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed."}),(0,n.jsx)(t.td,{children:"View time stamps in log."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-10"}),(0,n.jsx)(t.td,{children:"COSMOS shall time stamp received telemetry with a UTC timestamp."}),(0,n.jsx)(t.td,{children:"Verify logged time stamps are as expected."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-11"}),(0,n.jsx)(t.td,{children:"COSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered."}),(0,n.jsx)(t.td,{children:"View COSMOS message log."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"api-requirements",children:"Api Requirements"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-1"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow scripted connection and disconnection of interfaces."}),(0,n.jsx)(t.td,{children:"Disconnect and connect an interface from a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-2"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow scripted connection and disconnection of routers."}),(0,n.jsx)(t.td,{children:"Disconnect and connect a router from a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-3"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow scripted setting of the current limits set."}),(0,n.jsx)(t.td,{children:"Select a different limits set from a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-4"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow commanding of targets"}),(0,n.jsx)(t.td,{children:"Send a command"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-5"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow reading the current value of any telemetry item"}),(0,n.jsx)(t.td,{children:"Read a telemetry point"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-6"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow streaming realtime and logged telemetry packets"}),(0,n.jsx)(t.td,{children:"Stream telemetry packets"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-7"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow streaming realtime and logged command packets"}),(0,n.jsx)(t.td,{children:"Stream command packets"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-8"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow starting COSMOS scripts"}),(0,n.jsx)(t.td,{children:"Start a script using the API"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"command-and-telemetry-server",children:"Command and Telemetry Server"}),"\n",(0,n.jsx)(t.p,{children:"The Command and Telemetry server provides status on the the overall COSMOS installation for a specific scope."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-1"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of all interfaces."}),(0,n.jsx)(t.td,{children:"View the Interfaces tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-2"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall allow manual connection and disconnection of interfaces."}),(0,n.jsx)(t.td,{children:"Press a GUI button to disconnect and connect an interface."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-3"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of all targets."}),(0,n.jsx)(t.td,{children:"View the Targets tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-4"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of known commands."}),(0,n.jsx)(t.td,{children:"View the Cmd Packets tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-5"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display raw command data for the most recent command received."}),(0,n.jsx)(t.td,{children:"View the Cmd Packets tab and click the View Raw button for a command."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-6"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of known telemetry packets."}),(0,n.jsx)(t.td,{children:"View the Tlm Packets tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-7"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received."}),(0,n.jsx)(t.td,{children:"View the Tlm Packets tab and click the View Raw button for a telemetry packet."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-8"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of all routers."}),(0,n.jsx)(t.td,{children:"View the Routers tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-9"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall allow manual connection and disconnection of routers."}),(0,n.jsx)(t.td,{children:"Press a GUI button to disconnect and connect a router."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-10"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall allow manually setting the current limits set."}),(0,n.jsx)(t.td,{children:"Select a different limits set from the combobox."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-11"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall support opening telemetry packets in Packet Viewer."}),(0,n.jsx)(t.td,{children:"On the Tlm Packets tab click View in Packet Viewer for a telemetry packet."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-12"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display time stamps in local time."}),(0,n.jsx)(t.td,{children:"View time stamps in log."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"limits-monitor",children:"Limits Monitor"}),"\n",(0,n.jsx)(t.p,{children:"Limits Monitor displays all telemetry points that are currently out of limits and also shows any telemetry points that have gone out of limits since Limits Monitor was started."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-1"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall display all telemetry points currently out of limits."}),(0,n.jsx)(t.td,{children:"View displayed telemetry points."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-2"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall support ignoring telemetry points."}),(0,n.jsx)(t.td,{children:"Click ignore on a telemetry point."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-3"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall keep a displayed log of limits violations."}),(0,n.jsx)(t.td,{children:"View the log tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-4"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall continue displaying a telemetry point that temporarily went out of limits."}),(0,n.jsx)(t.td,{children:"Watch until a telemetry points returns to green."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-5"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall support saving its configuration."}),(0,n.jsx)(t.td,{children:"Save the configuration."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-6"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall support loading its configuration."}),(0,n.jsx)(t.td,{children:"Load the configuration."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"command-sender",children:"Command Sender"}),"\n",(0,n.jsx)(t.p,{children:"Command Sender provides an easy method to send single commands to targets. The graphical user interface provides simple dropdowns to quickly select the desired command to send organized by target name and command name. After the user has selected the command, they then fill in the desired command parameters and click send to send the command to the target."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-1"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow selection of a command by target name and packet name."}),(0,n.jsx)(t.td,{children:"Select a specific command by target name and packet name in the drop down menus."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-2"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow sending the selected command."}),(0,n.jsx)(t.td,{children:"Send the selected command by pressing the Send button."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-3"}),(0,n.jsx)(t.td,{children:"Command Sender shall display non-ignored parameters for the selected command."}),(0,n.jsx)(t.td,{children:"Select a specific command and verify the expected parameters are shown."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-4"}),(0,n.jsx)(t.td,{children:"Command Sender shall provide a mechanism to select state values for command parameters with states."}),(0,n.jsx)(t.td,{children:"Select a specific state value for a specific command with states."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-5"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow sending a manually entered value for a command parameter with states."}),(0,n.jsx)(t.td,{children:"Manually enter a value for a specific command with states."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-6"}),(0,n.jsx)(t.td,{children:"Command Sender shall refuse to send commands if required parameters are not provided."}),(0,n.jsx)(t.td,{children:"Attempt to send a command with a required parameter not filled out."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-7"}),(0,n.jsx)(t.td,{children:"Command Sender shall support sending commands while ignoring range checking."}),(0,n.jsx)(t.td,{children:"Enter Ignore Range Checking mode and then send a command with an out of range parameter."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-8"}),(0,n.jsx)(t.td,{children:"Command Sender shall optionally display state values in hex."}),(0,n.jsx)(t.td,{children:'Enter "Display State Values in Hex" mode and verify state values are displayed as hex.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-9"}),(0,n.jsx)(t.td,{children:"Command Sender shall optionally display ignored command parameters."}),(0,n.jsx)(t.td,{children:'Enter "Show Ignored Parameters" mode and verify ignored parameters are displayed.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-10"}),(0,n.jsx)(t.td,{children:"Command Sender shall respect hazardous commands and notify the user before proceeding."}),(0,n.jsx)(t.td,{children:"Send a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-11"}),(0,n.jsx)(t.td,{children:"Command Sender shall keep a command history of each command sent."}),(0,n.jsx)(t.td,{children:"Send a command and verify that it shows up in the command history box."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-12"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow resending of any command in the command history."}),(0,n.jsx)(t.td,{children:"Resend one of the commands in the command history box."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"script-runner",children:"Script Runner"}),"\n",(0,n.jsx)(t.p,{children:"Script Runner provides a visual interface for editing and executing scripts/procedures. A full featured text editor provides syntax highlighting and code completion while developing scripts. During script execution, the currently executing line is highlighted and any logged messages are highlighted to the user. If any failure occurs, the script is paused and the user alerted. The user can then decide whether to stop the script, or ignore the failure and continue. The user can also retry the failed lines, or other nearby lines before proceeding."}),"\n",(0,n.jsx)(t.p,{children:"Script Runner now also provides a structured methodology for designing system level scripting that mirrors the very successful pattern used in software unit tests (previously implemented in the Test Runner tool). System level tests/procedures are built up of cases that are organized into groups. For example, you might have one group that verified all of the requirements associated with a particular mechanism. Ideally you would break this down into individual cases for different scenarios. One perhaps for opening a shutter, another for closing it, etc. Cases are ideally small and independent tasks. A number of these groups are then combined into an overall suite which would be run to execute a major test such as EMI, or software FQT."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-1"}),(0,n.jsx)(t.td,{children:"Script Runner shall provide a text editor for developing test scripts."}),(0,n.jsx)(t.td,{children:"Open Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-2"}),(0,n.jsx)(t.td,{children:"Script Runner shall provide search and replace functionality."}),(0,n.jsx)(t.td,{children:"Perform all standard search and replace functionality, including search, replace, find next, and find previous."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-3"}),(0,n.jsx)(t.td,{children:"Script Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported."}),(0,n.jsx)(t.td,{children:"Create a script and exercise code completion on the mentioned keywords."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-4"}),(0,n.jsx)(t.td,{children:"Script Runner shall execute Ruby-based COSMOS scripts."}),(0,n.jsx)(t.td,{children:"Press start and execute a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-5"}),(0,n.jsx)(t.td,{children:"Script Runner shall highlight the currently executing line of the script."}),(0,n.jsx)(t.td,{children:"Verify that lines are highlighted as a test script executes."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-6"}),(0,n.jsx)(t.td,{children:"Script Runner shall allow pausing an executing script."}),(0,n.jsx)(t.td,{children:"Press pause button and verify script is paused. Press start to resume."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-7"}),(0,n.jsx)(t.td,{children:"Script Runner shall allow stopping an executing script."}),(0,n.jsx)(t.td,{children:"Press stop and verify script stops."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-8"}),(0,n.jsx)(t.td,{children:"Script Runner shall pause an executing script upon the occurrence of an error."}),(0,n.jsx)(t.td,{children:"Create a script with a statement that is guaranteed to fail and verify that the script is paused."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-9"}),(0,n.jsx)(t.td,{children:"Script Runner shall log commands sent."}),(0,n.jsx)(t.td,{children:"Execute a script that sends a command and verify it is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-10"}),(0,n.jsx)(t.td,{children:"Script Runner shall log text written to STDOUT. Note: Typically through the puts method."}),(0,n.jsx)(t.td,{children:"Execute a script that uses puts to write a message and verify it is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-11"}),(0,n.jsx)(t.td,{children:"Script Runner shall log wait times."}),(0,n.jsx)(t.td,{children:"Execute a script that includes a wait method and verify wait time is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-12"}),(0,n.jsx)(t.td,{children:"Script Runner shall log errors that occur while the script is executing."}),(0,n.jsx)(t.td,{children:"Create a script with a check statement that is guaranteed to fail and verify it is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-13"}),(0,n.jsx)(t.td,{children:"Script Runner shall log check statement success and failure."}),(0,n.jsx)(t.td,{children:"Create a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-14"}),(0,n.jsx)(t.td,{children:"Script Runner shall support executing selected lines."}),(0,n.jsx)(t.td,{children:"Select a set of lines and execute them using Script->Execute Selected Lines."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-15"}),(0,n.jsx)(t.td,{children:"Script Runner shall support executing selected lines while paused."}),(0,n.jsx)(t.td,{children:"Select a set of lines and execute them from the right-click context menu."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-16"}),(0,n.jsx)(t.td,{children:"Script Runner shall support starting a script from any line."}),(0,n.jsx)(t.td,{children:"Place the mouse cursor at the desired first line and then select Script->Execute From Cursor."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-17"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a mnemonic checking function."}),(0,n.jsx)(t.td,{children:"Select Script->Mnemonic Check."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-18"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a syntax checking function."}),(0,n.jsx)(t.td,{children:"Select Script->Ruby Syntax Check."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-19"}),(0,n.jsx)(t.td,{children:"Script Runner shall support viewing the script instrumentation."}),(0,n.jsx)(t.td,{children:"Select Script->View Instrumented Script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-20"}),(0,n.jsx)(t.td,{children:"Script Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server."}),(0,n.jsx)(t.td,{children:"Select Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-21"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a Debug terminal to aid in debugging scripts."}),(0,n.jsx)(t.td,{children:"Select Script->Toggle Debug."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-22"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a step mode where the script will stop and wait for use interaction after each line."}),(0,n.jsx)(t.td,{children:"Press Step to progress through the script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-23"}),(0,n.jsx)(t.td,{children:"Script Runner shall support breakpoint functionality."}),(0,n.jsx)(t.td,{children:"Create a breakpoint then execute the script and verify it stops at the specified line."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-25"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing individual test suites."}),(0,n.jsx)(t.td,{children:"Execute an individual test suite."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-26"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing individual test groups."}),(0,n.jsx)(t.td,{children:"Execute an individual test group."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-27"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing individual test cases."}),(0,n.jsx)(t.td,{children:"Execute an individual test case."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-28"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing test group setup and teardown methods individually."}),(0,n.jsx)(t.td,{children:"Execute a test group setup. Execute a test group teardown."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-29"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing test suite setup and teardown methods individually."}),(0,n.jsx)(t.td,{children:"Execute a test suite setup. Execute a test suite teardown."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-30"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall create a report after executing any suite test."}),(0,n.jsx)(t.td,{children:"Verify a report is generated after executing a suite."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-31"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support pausing when an error occurs."}),(0,n.jsx)(t.td,{children:"Execute a test script with the pause on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-32"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support allowing the user to proceed on an error."}),(0,n.jsx)(t.td,{children:"Execute a test script with the Allow go/retry on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-33"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support aborting execution on an error."}),(0,n.jsx)(t.td,{children:"Execute a test script with the abort on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-34"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support looping a test."}),(0,n.jsx)(t.td,{children:"Execute a test script with the loop testing box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-35"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support breaking the looping of a test on error."}),(0,n.jsx)(t.td,{children:"Execute a test script with the break loop on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-36"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring."}),(0,n.jsx)(t.td,{children:"Execute a test script that checks the $loop_testing variable while looping and again while not looping."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-37"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support a user readable flag indicating manual operations are desired."}),(0,n.jsx)(t.td,{children:"Execute a test script with the manual box checked and without."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"packet-viewer",children:"Packet Viewer"}),"\n",(0,n.jsx)(t.p,{children:"Packet Viewer provides a simple tool to view the realtime contents of any telemetry packet defined in the system in a tabular, key-value format."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-1"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall allow selection of a telemetry packet by target name and packet name."}),(0,n.jsx)(t.td,{children:"Select a specific telemetry packet by target name and packet name in the drop down menus."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-2"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall display the contents of the selected telemetry packet."}),(0,n.jsx)(t.td,{children:"Ensure all items of the selected telemetry packet are displayed and updating."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-3"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall provide a mechanism to get detailed information on a telemetry item."}),(0,n.jsx)(t.td,{children:'Right click on a telemetry item and select "Details" from the context menu.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-4"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall provide a mechanism to view a graph of any telemetry item."}),(0,n.jsx)(t.td,{children:'Right click on a telemetry item and select "Graph" from the context menu.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-5"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall color telemetry values based upon limits state."}),(0,n.jsx)(t.td,{children:"View a packet with items containing limits and verify they are colored."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-6"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall support a configurable polling rate."}),(0,n.jsx)(t.td,{children:"Select File->Options and change the polling rate."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-7"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind."}),(0,n.jsx)(t.td,{children:"Select View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-8"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)"}),(0,n.jsx)(t.td,{children:"In the View menu, select each of the four value types and verify values are displayed accordingly."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"telemetry-viewer",children:"Telemetry Viewer"}),"\n",(0,n.jsx)(t.p,{children:'Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TV-1"}),(0,n.jsx)(t.td,{children:"Telemetry Viewer shall display user-defined telemetry screens."}),(0,n.jsx)(t.td,{children:"Open a telemetry"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TV-2"}),(0,n.jsx)(t.td,{children:"Telemetry Viewer shall display realtime data."}),(0,n.jsx)(t.td,{children:"Verify telemetry screens show realtime data."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TV-3"}),(0,n.jsx)(t.td,{children:"Telemetry Viewer shall support saving open telemetry screens and their positions."}),(0,n.jsx)(t.td,{children:"Open three telemetry screens and then select File->Save Configuration."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"telemetry-grapher",children:"Telemetry Grapher"}),"\n",(0,n.jsx)(t.p,{children:"Telemetry Grapher performs graphing of telemetry points in both realtime and log file playback."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-1"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall provide line graphs of telemetry points."}),(0,n.jsx)(t.td,{children:"Add several housekeeping data objects to a plot."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-2"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support realtime graphing of telemetry."}),(0,n.jsx)(t.td,{children:"Press Start to start realtime graphing."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-3"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support graphing data from logged telemetry."}),(0,n.jsx)(t.td,{children:"Select the menu option to graph data from a logged data"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-4"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support multiple plots per browser tab."}),(0,n.jsx)(t.td,{children:"Add multiple plots."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-5"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support multiple telemetry points per plot."}),(0,n.jsx)(t.td,{children:"Add multiple data objects to one plot."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-6"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support saving a variable number of data points."}),(0,n.jsx)(t.td,{children:"Edit Points Saved."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-7"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support graphing a variable duration of time."}),(0,n.jsx)(t.td,{children:"Edit Seconds Plotted."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-8"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support graphing a variable number of data points."}),(0,n.jsx)(t.td,{children:"Edit Points Plotted."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-9"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support saving its configuration."}),(0,n.jsx)(t.td,{children:"Save the current configuration."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-10"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support loading its configuration."}),(0,n.jsx)(t.td,{children:"Load the previously saved configuration."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"data-extractor",children:"Data Extractor"}),"\n",(0,n.jsx)(t.p,{children:"Data Extractor processes logged data and extracts data into a CSV format for analysis in Excel or other tools."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-1"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support adding individual telemetry points."}),(0,n.jsx)(t.td,{children:"Add an individual telemetry point."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-2"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support adding entire telemetry packets."}),(0,n.jsx)(t.td,{children:"Add an entire packet."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-3"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support adding entire telemetry targets."}),(0,n.jsx)(t.td,{children:"Add all packets for a target."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-4"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)"}),(0,n.jsx)(t.td,{children:"Click an item and change the value type."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-5"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support saving configurations."}),(0,n.jsx)(t.td,{children:"Select File->Save Config"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-6"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support loading configurations."}),(0,n.jsx)(t.td,{children:"Select File->Load Config"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-7"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support deleting items"}),(0,n.jsx)(t.td,{children:"Select an Item and press delete"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"data-viewer",children:"Data Viewer"}),"\n",(0,n.jsx)(t.p,{children:"Data Viewer provides for textual display of telemetry packets where other display methods are not a good fit. It is especially useful for memory dumps and for log message type data display."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-1"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support realtime processing of telemetry packets."}),(0,n.jsx)(t.td,{children:"Press Start to start realtime processing."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-2"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support logged playback of telemetry packets."}),(0,n.jsx)(t.td,{children:"Select a time range to playback."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-3"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support textual display of telemetry packets."}),(0,n.jsx)(t.td,{children:"View the display of data."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-4"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support multiple tabs for data display."}),(0,n.jsx)(t.td,{children:"Switch between several tabs of data."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-5"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support deleting tabs."}),(0,n.jsx)(t.td,{children:"Delete a tab."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"calendar",children:"Calendar"}),"\n",(0,n.jsx)(t.p,{children:"The Calendar tool provides a user interface and API for initiating scheduled actions in COSMOS"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-1"}),(0,n.jsx)(t.td,{children:"Calendar shall allow creating new timelines"}),(0,n.jsx)(t.td,{children:"Click the button and create a new timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-2"}),(0,n.jsx)(t.td,{children:"Calendar shall allow scheduling commands for future execection"}),(0,n.jsx)(t.td,{children:"Add a command to a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-3"}),(0,n.jsx)(t.td,{children:"Calendar shall allow scheduling scripts for future execution"}),(0,n.jsx)(t.td,{children:"Add a script to a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-4"}),(0,n.jsx)(t.td,{children:"Calendar shall allow for reserving a resource"}),(0,n.jsx)(t.td,{children:"Add a reservation to a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-5"}),(0,n.jsx)(t.td,{children:"Calendar shall track success or failure of commands"}),(0,n.jsx)(t.td,{children:"Look at status from a completed command"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-6"}),(0,n.jsx)(t.td,{children:"Calendar shall track success or failure of scripts"}),(0,n.jsx)(t.td,{children:"Look at status from a completed script"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-7"}),(0,n.jsx)(t.td,{children:"Calendar shall allow deleting activities from timelines"}),(0,n.jsx)(t.td,{children:"Delete a preexisting item from a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-8"}),(0,n.jsx)(t.td,{children:"Calendar shall allow deleting timelines"}),(0,n.jsx)(t.td,{children:"Delete a timeline"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"admin",children:"Admin"}),"\n",(0,n.jsx)(t.p,{children:"The Admin tool provides administrative functionality including managing plugins for the COSMOS system"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-1"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall allow installing plugins"}),(0,n.jsx)(t.td,{children:"Upload and Install a Plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-2"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support upgrading plugins"}),(0,n.jsx)(t.td,{children:"Upgrade an installed plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-3"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support uninstalling plugins"}),(0,n.jsx)(t.td,{children:"Uninstall a plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-4"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall display information on installed plugins"}),(0,n.jsx)(t.td,{children:"View info on Interfaces, Microservices, etc"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-5"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support editing microservices"}),(0,n.jsx)(t.td,{children:"Edit the settings for a microservice"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-6"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support discovery of plugins"}),(0,n.jsx)(t.td,{children:"Discover and download a plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-7"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support adding links to external tools"}),(0,n.jsx)(t.td,{children:"Add a link to Google"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-8"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support reordering tools"}),(0,n.jsx)(t.td,{children:"Reorder tools on the tools tab"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-9"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support configuring a classification bar"}),(0,n.jsx)(t.td,{children:"Add a classification bar on the settings tab"})]})]})]})]})}function o(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},6535:function(e,t,r){r.d(t,{Z:function(){return s}});let s=r.p+"assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png"},65:function(e,t,r){r.d(t,{Z:function(){return l},a:function(){return d}});var s=r(7294);let n={},i=s.createContext(n);function d(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6b210247.bee2002a.js b/docs/assets/js/6b210247.bee2002a.js deleted file mode 100644 index b5dd1a5b4d..0000000000 --- a/docs/assets/js/6b210247.bee2002a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8353],{665:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>o,frontMatter:()=>d,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"getting-started/requirements","title":"Requirements and Design","description":"COSMOS Requirements and Design","source":"@site/docs/getting-started/requirements.md","sourceDirName":"getting-started","slug":"/getting-started/requirements","permalink":"/docs/getting-started/requirements","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/requirements.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6,"title":"Requirements and Design","description":"COSMOS Requirements and Design","sidebar_custom_props":{"myEmoji":"\ud83d\udcd1"}},"sidebar":"defaultSidebar","previous":{"title":"Key Concepts","permalink":"/docs/getting-started/key_concepts"},"next":{"title":"Podman","permalink":"/docs/getting-started/podman"}}');var n=r(4848),i=r(8453);const d={sidebar_position:6,title:"Requirements and Design",description:"COSMOS Requirements and Design",sidebar_custom_props:{myEmoji:"\ud83d\udcd1"}},l=void 0,a={},c=[{value:"Terminology",id:"terminology",level:2},{value:"Overall Architecture and Context Diagram",id:"overall-architecture-and-context-diagram",level:2},{value:"Overall Requirements",id:"overall-requirements",level:2},{value:"Api Requirements",id:"api-requirements",level:2},{value:"Command and Telemetry Server",id:"command-and-telemetry-server",level:2},{value:"Limits Monitor",id:"limits-monitor",level:2},{value:"Command Sender",id:"command-sender",level:2},{value:"Script Runner",id:"script-runner",level:2},{value:"Packet Viewer",id:"packet-viewer",level:2},{value:"Telemetry Viewer",id:"telemetry-viewer",level:2},{value:"Telemetry Grapher",id:"telemetry-grapher",level:2},{value:"Data Extractor",id:"data-extractor",level:2},{value:"Data Viewer",id:"data-viewer",level:2},{value:"Calendar",id:"calendar",level:2},{value:"Admin",id:"admin",level:2}];function h(e){const t={h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"OpenC3 COSMOS is a command and control system providing commanding, scripting, and data visualization capabilities for embedded systems and systems of systems. COSMOS is intended for use during all phases of testing (board, box, integrated system) and during operations."}),"\n",(0,n.jsx)(t.p,{children:"COSMOS is currently made up of the following applications:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Command and Telemetry Server"})," - Provides status of realtime commanding, telemetry reception, logging, limits monitoring, and packet routing."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Limits Monitor"})," - Monitors telemetry with defined limits and shows items that currently are or have violated limits."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Command Sender"})," - Provides a graphical interface for manually sending individual commands."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Script Runner"})," - Executes scripts and provides highlighting of the currently executing line. Now also includes TestRunner functionality."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Packet Viewer"})," - Provides realtime visualization of every telemetry packet that has been defined."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Telemetry Viewer"})," - Provides custom telemetry screen functionality with advanced layout and visualization widgets."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Telemetry Grapher"})," - Provides realtime and offline graphing of telemetry data."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Data Extractor"})," - Extracts telemetry and command packet log files into CSV data."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Data Viewer"})," - Provides text based telemetry visualization for items."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Bucket Explorer"})," - Browse the COSMOS bucket storage in any cloud environment."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Table Manager"})," - Binary file editor with Script Runner integration for upload / download."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Handbooks"})," - Generate html page of the command and telemetry definitions."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Calendar"})," - Provides scheduling of commands and scripts. Also provides a framework for reserving resources."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Admin"})," - Provides an administrative interface to COSMOS."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"More detailed descriptions, requirements, and design for each tool are found later in this document. Additionally, each of the above applications is built using COSMOS libraries that are available for use as a framework to develop custom program/project applications."}),"\n",(0,n.jsx)(t.h2,{id:"terminology",children:"Terminology"}),"\n",(0,n.jsx)(t.p,{children:"The COSMOS system uses several terms that are important to understand. The following table defines these terms."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Term"}),(0,n.jsx)(t.th,{children:"Definition"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target"}),(0,n.jsx)(t.td,{children:"A COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Command"}),(0,n.jsx)(t.td,{children:"A packet of information telling a target to perform an action of some sort."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Telemetry Packet"}),(0,n.jsx)(t.td,{children:"A packet of information providing status from a target."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Interface"}),(0,n.jsx)(t.td,{children:"A Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Ruby"}),(0,n.jsx)(t.td,{children:"The powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Configuration Files"}),(0,n.jsx)(t.td,{children:"COSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Packet Log Files"}),(0,n.jsx)(t.td,{children:"Binary files containing either logged commands or telemetry packets."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Message Log Files"}),(0,n.jsx)(t.td,{children:"Text files containing messages generated by the system."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Tool"}),(0,n.jsx)(t.td,{children:"Another name for a COSMOS application."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"overall-architecture-and-context-diagram",children:"Overall Architecture and Context Diagram"}),"\n",(0,n.jsx)(t.p,{children:"The following diagram shows the COSMOS 5 architecture."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"COSMOS Architecture",src:r(2203).A+"",width:"1155",height:"538"})}),"\n",(0,n.jsx)(t.p,{children:"Key aspects of this architecture:"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"COSMOS can connect to many different kinds of targets. The examples include things like Flight software (FSW), Ground Support Equipment (GSE), Labview, and COTS targets such as an Agilent power supply. Any embedded system that provides a communication interface can be connected to COSMOS."}),"\n",(0,n.jsx)(t.li,{children:"COSMOS ships with interfaces for connecting over TCP/IP, UDP, MQTT, and serial connections. This covers most systems, but custom interfaces can also be written to connect to anything."}),"\n",(0,n.jsx)(t.li,{children:"All realtime communication with targets flows through the COSMOS system. This ensures all commands and telemetry are logged."}),"\n",(0,n.jsx)(t.li,{children:"Every tool is configured with plain text configuration files."}),"\n",(0,n.jsx)(t.li,{children:"Program specific tools can be written using the COSMOS libraries that can interact with the realtime command and telemetry streams and can process logged data."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"overall-requirements",children:"Overall Requirements"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-1"}),(0,n.jsx)(t.td,{children:"All COSMOS core functionality shall be containerized."}),(0,n.jsx)(t.td,{children:"Verify COSMOS is running in Docker"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-2"}),(0,n.jsx)(t.td,{children:"The COSMOS user interface shall be accessible from Chromium based web browsers"}),(0,n.jsx)(t.td,{children:"Open COSMOS in Chrome/Edge"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-3"}),(0,n.jsx)(t.td,{children:"The COSMOS user interface shall be accessible from the Firefox web browser"}),(0,n.jsx)(t.td,{children:"Open COSMOS in Firefox"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-4"}),(0,n.jsx)(t.td,{children:"COSMOS shall log all commands sent"}),(0,n.jsx)(t.td,{})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-5"}),(0,n.jsx)(t.td,{children:"COSMOS shall log all telemetry received"}),(0,n.jsx)(t.td,{})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-6"}),(0,n.jsx)(t.td,{children:"COSMOS shall decommutate all telemetry packets received"}),(0,n.jsx)(t.td,{})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-7"}),(0,n.jsx)(t.td,{children:"COSMOS shall support autonomously attempting to connect to targets."}),(0,n.jsx)(t.td,{children:"Verify targets are connected upon starting the CTS."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-8"}),(0,n.jsx)(t.td,{children:"COSMOS shall time stamp telemetry packets upon receipt."}),(0,n.jsx)(t.td,{children:"Verify logged packets are timestamped."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-9"}),(0,n.jsx)(t.td,{children:"COSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed."}),(0,n.jsx)(t.td,{children:"View time stamps in log."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-10"}),(0,n.jsx)(t.td,{children:"COSMOS shall time stamp received telemetry with a UTC timestamp."}),(0,n.jsx)(t.td,{children:"Verify logged time stamps are as expected."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"COSMOS-11"}),(0,n.jsx)(t.td,{children:"COSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered."}),(0,n.jsx)(t.td,{children:"View COSMOS message log."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"api-requirements",children:"Api Requirements"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-1"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow scripted connection and disconnection of interfaces."}),(0,n.jsx)(t.td,{children:"Disconnect and connect an interface from a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-2"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow scripted connection and disconnection of routers."}),(0,n.jsx)(t.td,{children:"Disconnect and connect a router from a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-3"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow scripted setting of the current limits set."}),(0,n.jsx)(t.td,{children:"Select a different limits set from a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-4"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow commanding of targets"}),(0,n.jsx)(t.td,{children:"Send a command"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-5"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow reading the current value of any telemetry item"}),(0,n.jsx)(t.td,{children:"Read a telemetry point"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-6"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow streaming realtime and logged telemetry packets"}),(0,n.jsx)(t.td,{children:"Stream telemetry packets"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-7"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow streaming realtime and logged command packets"}),(0,n.jsx)(t.td,{children:"Stream command packets"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"API-8"}),(0,n.jsx)(t.td,{children:"The COSMOS API shall allow starting COSMOS scripts"}),(0,n.jsx)(t.td,{children:"Start a script using the API"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"command-and-telemetry-server",children:"Command and Telemetry Server"}),"\n",(0,n.jsx)(t.p,{children:"The Command and Telemetry server provides status on the the overall COSMOS installation for a specific scope."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-1"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of all interfaces."}),(0,n.jsx)(t.td,{children:"View the Interfaces tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-2"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall allow manual connection and disconnection of interfaces."}),(0,n.jsx)(t.td,{children:"Press a GUI button to disconnect and connect an interface."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-3"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of all targets."}),(0,n.jsx)(t.td,{children:"View the Targets tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-4"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of known commands."}),(0,n.jsx)(t.td,{children:"View the Cmd Packets tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-5"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display raw command data for the most recent command received."}),(0,n.jsx)(t.td,{children:"View the Cmd Packets tab and click the View Raw button for a command."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-6"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of known telemetry packets."}),(0,n.jsx)(t.td,{children:"View the Tlm Packets tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-7"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received."}),(0,n.jsx)(t.td,{children:"View the Tlm Packets tab and click the View Raw button for a telemetry packet."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-8"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display a list of all routers."}),(0,n.jsx)(t.td,{children:"View the Routers tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-9"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall allow manual connection and disconnection of routers."}),(0,n.jsx)(t.td,{children:"Press a GUI button to disconnect and connect a router."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-10"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall allow manually setting the current limits set."}),(0,n.jsx)(t.td,{children:"Select a different limits set from the combobox."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-11"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall support opening telemetry packets in Packet Viewer."}),(0,n.jsx)(t.td,{children:"On the Tlm Packets tab click View in Packet Viewer for a telemetry packet."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CTS-12"}),(0,n.jsx)(t.td,{children:"The Command and Telemetry Server shall display time stamps in local time."}),(0,n.jsx)(t.td,{children:"View time stamps in log."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"limits-monitor",children:"Limits Monitor"}),"\n",(0,n.jsx)(t.p,{children:"Limits Monitor displays all telemetry points that are currently out of limits and also shows any telemetry points that have gone out of limits since Limits Monitor was started."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-1"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall display all telemetry points currently out of limits."}),(0,n.jsx)(t.td,{children:"View displayed telemetry points."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-2"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall support ignoring telemetry points."}),(0,n.jsx)(t.td,{children:"Click ignore on a telemetry point."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-3"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall keep a displayed log of limits violations."}),(0,n.jsx)(t.td,{children:"View the log tab."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-4"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall continue displaying a telemetry point that temporarily went out of limits."}),(0,n.jsx)(t.td,{children:"Watch until a telemetry points returns to green."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-5"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall support saving its configuration."}),(0,n.jsx)(t.td,{children:"Save the configuration."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"LM-6"}),(0,n.jsx)(t.td,{children:"Limits Monitor shall support loading its configuration."}),(0,n.jsx)(t.td,{children:"Load the configuration."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"command-sender",children:"Command Sender"}),"\n",(0,n.jsx)(t.p,{children:"Command Sender provides an easy method to send single commands to targets. The graphical user interface provides simple dropdowns to quickly select the desired command to send organized by target name and command name. After the user has selected the command, they then fill in the desired command parameters and click send to send the command to the target."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-1"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow selection of a command by target name and packet name."}),(0,n.jsx)(t.td,{children:"Select a specific command by target name and packet name in the drop down menus."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-2"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow sending the selected command."}),(0,n.jsx)(t.td,{children:"Send the selected command by pressing the Send button."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-3"}),(0,n.jsx)(t.td,{children:"Command Sender shall display non-ignored parameters for the selected command."}),(0,n.jsx)(t.td,{children:"Select a specific command and verify the expected parameters are shown."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-4"}),(0,n.jsx)(t.td,{children:"Command Sender shall provide a mechanism to select state values for command parameters with states."}),(0,n.jsx)(t.td,{children:"Select a specific state value for a specific command with states."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-5"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow sending a manually entered value for a command parameter with states."}),(0,n.jsx)(t.td,{children:"Manually enter a value for a specific command with states."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-6"}),(0,n.jsx)(t.td,{children:"Command Sender shall refuse to send commands if required parameters are not provided."}),(0,n.jsx)(t.td,{children:"Attempt to send a command with a required parameter not filled out."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-7"}),(0,n.jsx)(t.td,{children:"Command Sender shall support sending commands while ignoring range checking."}),(0,n.jsx)(t.td,{children:"Enter Ignore Range Checking mode and then send a command with an out of range parameter."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-8"}),(0,n.jsx)(t.td,{children:"Command Sender shall optionally display state values in hex."}),(0,n.jsx)(t.td,{children:'Enter "Display State Values in Hex" mode and verify state values are displayed as hex.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-9"}),(0,n.jsx)(t.td,{children:"Command Sender shall optionally display ignored command parameters."}),(0,n.jsx)(t.td,{children:'Enter "Show Ignored Parameters" mode and verify ignored parameters are displayed.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-10"}),(0,n.jsx)(t.td,{children:"Command Sender shall respect hazardous commands and notify the user before proceeding."}),(0,n.jsx)(t.td,{children:"Send a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-11"}),(0,n.jsx)(t.td,{children:"Command Sender shall keep a command history of each command sent."}),(0,n.jsx)(t.td,{children:"Send a command and verify that it shows up in the command history box."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"CMD-12"}),(0,n.jsx)(t.td,{children:"Command Sender shall allow resending of any command in the command history."}),(0,n.jsx)(t.td,{children:"Resend one of the commands in the command history box."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"script-runner",children:"Script Runner"}),"\n",(0,n.jsx)(t.p,{children:"Script Runner provides a visual interface for editing and executing scripts/procedures. A full featured text editor provides syntax highlighting and code completion while developing scripts. During script execution, the currently executing line is highlighted and any logged messages are highlighted to the user. If any failure occurs, the script is paused and the user alerted. The user can then decide whether to stop the script, or ignore the failure and continue. The user can also retry the failed lines, or other nearby lines before proceeding."}),"\n",(0,n.jsx)(t.p,{children:"Script Runner now also provides a structured methodology for designing system level scripting that mirrors the very successful pattern used in software unit tests (previously implemented in the Test Runner tool). System level tests/procedures are built up of cases that are organized into groups. For example, you might have one group that verified all of the requirements associated with a particular mechanism. Ideally you would break this down into individual cases for different scenarios. One perhaps for opening a shutter, another for closing it, etc. Cases are ideally small and independent tasks. A number of these groups are then combined into an overall suite which would be run to execute a major test such as EMI, or software FQT."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-1"}),(0,n.jsx)(t.td,{children:"Script Runner shall provide a text editor for developing test scripts."}),(0,n.jsx)(t.td,{children:"Open Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-2"}),(0,n.jsx)(t.td,{children:"Script Runner shall provide search and replace functionality."}),(0,n.jsx)(t.td,{children:"Perform all standard search and replace functionality, including search, replace, find next, and find previous."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-3"}),(0,n.jsx)(t.td,{children:"Script Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported."}),(0,n.jsx)(t.td,{children:"Create a script and exercise code completion on the mentioned keywords."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-4"}),(0,n.jsx)(t.td,{children:"Script Runner shall execute Ruby-based COSMOS scripts."}),(0,n.jsx)(t.td,{children:"Press start and execute a script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-5"}),(0,n.jsx)(t.td,{children:"Script Runner shall highlight the currently executing line of the script."}),(0,n.jsx)(t.td,{children:"Verify that lines are highlighted as a test script executes."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-6"}),(0,n.jsx)(t.td,{children:"Script Runner shall allow pausing an executing script."}),(0,n.jsx)(t.td,{children:"Press pause button and verify script is paused. Press start to resume."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-7"}),(0,n.jsx)(t.td,{children:"Script Runner shall allow stopping an executing script."}),(0,n.jsx)(t.td,{children:"Press stop and verify script stops."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-8"}),(0,n.jsx)(t.td,{children:"Script Runner shall pause an executing script upon the occurrence of an error."}),(0,n.jsx)(t.td,{children:"Create a script with a statement that is guaranteed to fail and verify that the script is paused."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-9"}),(0,n.jsx)(t.td,{children:"Script Runner shall log commands sent."}),(0,n.jsx)(t.td,{children:"Execute a script that sends a command and verify it is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-10"}),(0,n.jsx)(t.td,{children:"Script Runner shall log text written to STDOUT. Note: Typically through the puts method."}),(0,n.jsx)(t.td,{children:"Execute a script that uses puts to write a message and verify it is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-11"}),(0,n.jsx)(t.td,{children:"Script Runner shall log wait times."}),(0,n.jsx)(t.td,{children:"Execute a script that includes a wait method and verify wait time is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-12"}),(0,n.jsx)(t.td,{children:"Script Runner shall log errors that occur while the script is executing."}),(0,n.jsx)(t.td,{children:"Create a script with a check statement that is guaranteed to fail and verify it is logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-13"}),(0,n.jsx)(t.td,{children:"Script Runner shall log check statement success and failure."}),(0,n.jsx)(t.td,{children:"Create a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-14"}),(0,n.jsx)(t.td,{children:"Script Runner shall support executing selected lines."}),(0,n.jsx)(t.td,{children:"Select a set of lines and execute them using Script->Execute Selected Lines."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-15"}),(0,n.jsx)(t.td,{children:"Script Runner shall support executing selected lines while paused."}),(0,n.jsx)(t.td,{children:"Select a set of lines and execute them from the right-click context menu."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-16"}),(0,n.jsx)(t.td,{children:"Script Runner shall support starting a script from any line."}),(0,n.jsx)(t.td,{children:"Place the mouse cursor at the desired first line and then select Script->Execute From Cursor."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-17"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a mnemonic checking function."}),(0,n.jsx)(t.td,{children:"Select Script->Mnemonic Check."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-18"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a syntax checking function."}),(0,n.jsx)(t.td,{children:"Select Script->Ruby Syntax Check."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-19"}),(0,n.jsx)(t.td,{children:"Script Runner shall support viewing the script instrumentation."}),(0,n.jsx)(t.td,{children:"Select Script->View Instrumented Script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-20"}),(0,n.jsx)(t.td,{children:"Script Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server."}),(0,n.jsx)(t.td,{children:"Select Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-21"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a Debug terminal to aid in debugging scripts."}),(0,n.jsx)(t.td,{children:"Select Script->Toggle Debug."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-22"}),(0,n.jsx)(t.td,{children:"Script Runner shall support a step mode where the script will stop and wait for use interaction after each line."}),(0,n.jsx)(t.td,{children:"Press Step to progress through the script."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-23"}),(0,n.jsx)(t.td,{children:"Script Runner shall support breakpoint functionality."}),(0,n.jsx)(t.td,{children:"Create a breakpoint then execute the script and verify it stops at the specified line."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-25"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing individual test suites."}),(0,n.jsx)(t.td,{children:"Execute an individual test suite."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-26"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing individual test groups."}),(0,n.jsx)(t.td,{children:"Execute an individual test group."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-27"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing individual test cases."}),(0,n.jsx)(t.td,{children:"Execute an individual test case."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-28"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing test group setup and teardown methods individually."}),(0,n.jsx)(t.td,{children:"Execute a test group setup. Execute a test group teardown."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-29"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support executing test suite setup and teardown methods individually."}),(0,n.jsx)(t.td,{children:"Execute a test suite setup. Execute a test suite teardown."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-30"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall create a report after executing any suite test."}),(0,n.jsx)(t.td,{children:"Verify a report is generated after executing a suite."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-31"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support pausing when an error occurs."}),(0,n.jsx)(t.td,{children:"Execute a test script with the pause on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-32"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support allowing the user to proceed on an error."}),(0,n.jsx)(t.td,{children:"Execute a test script with the Allow go/retry on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-33"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support aborting execution on an error."}),(0,n.jsx)(t.td,{children:"Execute a test script with the abort on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-34"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support looping a test."}),(0,n.jsx)(t.td,{children:"Execute a test script with the loop testing box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-35"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support breaking the looping of a test on error."}),(0,n.jsx)(t.td,{children:"Execute a test script with the break loop on error box checked and without."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-36"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring."}),(0,n.jsx)(t.td,{children:"Execute a test script that checks the $loop_testing variable while looping and again while not looping."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"SR-37"}),(0,n.jsx)(t.td,{children:"Script Runner Suite Mode shall support a user readable flag indicating manual operations are desired."}),(0,n.jsx)(t.td,{children:"Execute a test script with the manual box checked and without."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"packet-viewer",children:"Packet Viewer"}),"\n",(0,n.jsx)(t.p,{children:"Packet Viewer provides a simple tool to view the realtime contents of any telemetry packet defined in the system in a tabular, key-value format."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-1"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall allow selection of a telemetry packet by target name and packet name."}),(0,n.jsx)(t.td,{children:"Select a specific telemetry packet by target name and packet name in the drop down menus."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-2"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall display the contents of the selected telemetry packet."}),(0,n.jsx)(t.td,{children:"Ensure all items of the selected telemetry packet are displayed and updating."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-3"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall provide a mechanism to get detailed information on a telemetry item."}),(0,n.jsx)(t.td,{children:'Right click on a telemetry item and select "Details" from the context menu.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-4"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall provide a mechanism to view a graph of any telemetry item."}),(0,n.jsx)(t.td,{children:'Right click on a telemetry item and select "Graph" from the context menu.'})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-5"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall color telemetry values based upon limits state."}),(0,n.jsx)(t.td,{children:"View a packet with items containing limits and verify they are colored."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-6"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall support a configurable polling rate."}),(0,n.jsx)(t.td,{children:"Select File->Options and change the polling rate."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-7"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind."}),(0,n.jsx)(t.td,{children:"Select View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"PV-8"}),(0,n.jsx)(t.td,{children:"Packet Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)"}),(0,n.jsx)(t.td,{children:"In the View menu, select each of the four value types and verify values are displayed accordingly."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"telemetry-viewer",children:"Telemetry Viewer"}),"\n",(0,n.jsx)(t.p,{children:'Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TV-1"}),(0,n.jsx)(t.td,{children:"Telemetry Viewer shall display user-defined telemetry screens."}),(0,n.jsx)(t.td,{children:"Open a telemetry"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TV-2"}),(0,n.jsx)(t.td,{children:"Telemetry Viewer shall display realtime data."}),(0,n.jsx)(t.td,{children:"Verify telemetry screens show realtime data."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TV-3"}),(0,n.jsx)(t.td,{children:"Telemetry Viewer shall support saving open telemetry screens and their positions."}),(0,n.jsx)(t.td,{children:"Open three telemetry screens and then select File->Save Configuration."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"telemetry-grapher",children:"Telemetry Grapher"}),"\n",(0,n.jsx)(t.p,{children:"Telemetry Grapher performs graphing of telemetry points in both realtime and log file playback."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-1"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall provide line graphs of telemetry points."}),(0,n.jsx)(t.td,{children:"Add several housekeeping data objects to a plot."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-2"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support realtime graphing of telemetry."}),(0,n.jsx)(t.td,{children:"Press Start to start realtime graphing."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-3"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support graphing data from logged telemetry."}),(0,n.jsx)(t.td,{children:"Select the menu option to graph data from a logged data"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-4"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support multiple plots per browser tab."}),(0,n.jsx)(t.td,{children:"Add multiple plots."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-5"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support multiple telemetry points per plot."}),(0,n.jsx)(t.td,{children:"Add multiple data objects to one plot."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-6"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support saving a variable number of data points."}),(0,n.jsx)(t.td,{children:"Edit Points Saved."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-7"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support graphing a variable duration of time."}),(0,n.jsx)(t.td,{children:"Edit Seconds Plotted."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-8"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support graphing a variable number of data points."}),(0,n.jsx)(t.td,{children:"Edit Points Plotted."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-9"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support saving its configuration."}),(0,n.jsx)(t.td,{children:"Save the current configuration."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TG-10"}),(0,n.jsx)(t.td,{children:"Telemetry Grapher shall support loading its configuration."}),(0,n.jsx)(t.td,{children:"Load the previously saved configuration."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"data-extractor",children:"Data Extractor"}),"\n",(0,n.jsx)(t.p,{children:"Data Extractor processes logged data and extracts data into a CSV format for analysis in Excel or other tools."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-1"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support adding individual telemetry points."}),(0,n.jsx)(t.td,{children:"Add an individual telemetry point."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-2"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support adding entire telemetry packets."}),(0,n.jsx)(t.td,{children:"Add an entire packet."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-3"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support adding entire telemetry targets."}),(0,n.jsx)(t.td,{children:"Add all packets for a target."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-4"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)"}),(0,n.jsx)(t.td,{children:"Click an item and change the value type."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-5"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support saving configurations."}),(0,n.jsx)(t.td,{children:"Select File->Save Config"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-6"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support loading configurations."}),(0,n.jsx)(t.td,{children:"Select File->Load Config"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DE-7"}),(0,n.jsx)(t.td,{children:"Data Extractor shall support deleting items"}),(0,n.jsx)(t.td,{children:"Select an Item and press delete"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"data-viewer",children:"Data Viewer"}),"\n",(0,n.jsx)(t.p,{children:"Data Viewer provides for textual display of telemetry packets where other display methods are not a good fit. It is especially useful for memory dumps and for log message type data display."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-1"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support realtime processing of telemetry packets."}),(0,n.jsx)(t.td,{children:"Press Start to start realtime processing."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-2"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support logged playback of telemetry packets."}),(0,n.jsx)(t.td,{children:"Select a time range to playback."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-3"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support textual display of telemetry packets."}),(0,n.jsx)(t.td,{children:"View the display of data."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-4"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support multiple tabs for data display."}),(0,n.jsx)(t.td,{children:"Switch between several tabs of data."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"DV-5"}),(0,n.jsx)(t.td,{children:"Data Viewer shall support deleting tabs."}),(0,n.jsx)(t.td,{children:"Delete a tab."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"calendar",children:"Calendar"}),"\n",(0,n.jsx)(t.p,{children:"The Calendar tool provides a user interface and API for initiating scheduled actions in COSMOS"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-1"}),(0,n.jsx)(t.td,{children:"Calendar shall allow creating new timelines"}),(0,n.jsx)(t.td,{children:"Click the button and create a new timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-2"}),(0,n.jsx)(t.td,{children:"Calendar shall allow scheduling commands for future execection"}),(0,n.jsx)(t.td,{children:"Add a command to a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-3"}),(0,n.jsx)(t.td,{children:"Calendar shall allow scheduling scripts for future execution"}),(0,n.jsx)(t.td,{children:"Add a script to a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-4"}),(0,n.jsx)(t.td,{children:"Calendar shall allow for reserving a resource"}),(0,n.jsx)(t.td,{children:"Add a reservation to a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-5"}),(0,n.jsx)(t.td,{children:"Calendar shall track success or failure of commands"}),(0,n.jsx)(t.td,{children:"Look at status from a completed command"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-6"}),(0,n.jsx)(t.td,{children:"Calendar shall track success or failure of scripts"}),(0,n.jsx)(t.td,{children:"Look at status from a completed script"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-7"}),(0,n.jsx)(t.td,{children:"Calendar shall allow deleting activities from timelines"}),(0,n.jsx)(t.td,{children:"Delete a preexisting item from a timeline"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"TL-8"}),(0,n.jsx)(t.td,{children:"Calendar shall allow deleting timelines"}),(0,n.jsx)(t.td,{children:"Delete a timeline"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"admin",children:"Admin"}),"\n",(0,n.jsx)(t.p,{children:"The Admin tool provides administrative functionality including managing plugins for the COSMOS system"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Reqt. ID"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Test Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-1"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall allow installing plugins"}),(0,n.jsx)(t.td,{children:"Upload and Install a Plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-2"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support upgrading plugins"}),(0,n.jsx)(t.td,{children:"Upgrade an installed plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-3"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support uninstalling plugins"}),(0,n.jsx)(t.td,{children:"Uninstall a plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-4"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall display information on installed plugins"}),(0,n.jsx)(t.td,{children:"View info on Interfaces, Microservices, etc"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-5"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support editing microservices"}),(0,n.jsx)(t.td,{children:"Edit the settings for a microservice"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-6"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support discovery of plugins"}),(0,n.jsx)(t.td,{children:"Discover and download a plugin"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-7"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support adding links to external tools"}),(0,n.jsx)(t.td,{children:"Add a link to Google"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-8"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support reordering tools"}),(0,n.jsx)(t.td,{children:"Reorder tools on the tools tab"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"AD-9"}),(0,n.jsx)(t.td,{children:"The Admin Tool shall support configuring a classification bar"}),(0,n.jsx)(t.td,{children:"Add a classification bar on the settings tab"})]})]})]})]})}function o(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2203:(e,t,r)=>{r.d(t,{A:()=>s});const s=r.p+"assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png"},8453:(e,t,r)=>{r.d(t,{R:()=>d,x:()=>l});var s=r(6540);const n={},i=s.createContext(n);function d(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6b65133b.2d32ecfa.js b/docs/assets/js/6b65133b.2d32ecfa.js new file mode 100644 index 0000000000..ed2f371d19 --- /dev/null +++ b/docs/assets/js/6b65133b.2d32ecfa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["1417"],{1624:function(e,n,i){i.r(n),i.d(n,{metadata:()=>t,contentTitle:()=>c,default:()=>h,assets:()=>l,toc:()=>a,frontMatter:()=>o});var t=JSON.parse('{"id":"tools/tlm-viewer","title":"Telemetry Viewer","description":"Build custom screens using built-in widgets","source":"@site/docs/tools/tlm-viewer.md","sourceDirName":"tools","slug":"/tools/tlm-viewer","permalink":"/docs/tools/tlm-viewer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/tlm-viewer.md","tags":[],"version":"current","frontMatter":{"title":"Telemetry Viewer","description":"Build custom screens using built-in widgets","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Telemetry Grapher","permalink":"/docs/tools/tlm-grapher"},"next":{"title":"Guides","permalink":"/docs/guides"}}'),s=i("5893"),r=i("65");let o={title:"Telemetry Viewer",description:"Build custom screens using built-in widgets",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},c=void 0,l={},a=[{value:"Introduction",id:"introduction",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Selecting Screens",id:"selecting-screens",level:2},{value:"New Screen",id:"new-screen",level:2},{value:"Edit Screen",id:"edit-screen",level:2},{value:"Screen Window Management",id:"screen-window-management",level:2},{value:"Building Screens",id:"building-screens",level:2}];function d(e){let n={a:"a",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(n.p,{children:"Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Telemetry Viewer",src:i(7208).Z+"",width:"1274",height:"895"})}),"\n",(0,s.jsx)(n.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)("img",{src:i(1205).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"90px"}}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Open a saved configuration"}),"\n",(0,s.jsx)(n.li,{children:"Save the current configuration"}),"\n",(0,s.jsx)(n.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,s.jsx)(n.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(n.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,s.jsx)(n.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(n.h2,{id:"selecting-screens",children:"Selecting Screens"}),"\n",(0,s.jsx)(n.p,{children:"Selecting a target from the Select Target drop down automatically updates the available screens for that target in the Select Screen drop down. Clicking Show Screen causes that screen to display."}),"\n",(0,s.jsx)(n.h2,{id:"new-screen",children:"New Screen"}),"\n",(0,s.jsx)(n.p,{children:"Clicking New Screen brings up the new screen dialog."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Telemetry Viewer",src:i(7702).Z+"",width:"595",height:"424"})}),"\n",(0,s.jsx)(n.p,{children:"Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists."}),"\n",(0,s.jsx)(n.h2,{id:"edit-screen",children:"Edit Screen"}),"\n",(0,s.jsx)(n.p,{children:"Clicking the pencil icon in the title bar of the screen brings up the edit dialog."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Telemetry Viewer",src:i(7406).Z+"",width:"1149",height:"698"})}),"\n",(0,s.jsx)(n.p,{children:"The screen source is displayed in an editor with syntax highlighting and auto-completion. You can download the screen source using the download button in the upper right or delete the screen using the trash icon in the upper left. Click Save to save the screen edits at which point Telemetry Viewer will re-render the screen."}),"\n",(0,s.jsx)(n.h2,{id:"screen-window-management",children:"Screen Window Management"}),"\n",(0,s.jsx)(n.p,{children:"All screens can be moved around the browser window by clicking their title bar and moving them. Other screens will move around intelligently to fill the space. This allows you to order the screens no matter which order they were created in."}),"\n",(0,s.jsx)(n.p,{children:"You can also float the screens by clicking the grid icon in the upper left of the title bar. It will change to a balloon icon and allow you to click up and down to change the relative Z index of the window. The image screen is floated in the following screen shot."}),"\n",(0,s.jsx)(n.p,{children:"The dash button in the upper right of the title bar minimizes the screen to effectively hide it. This allows you to focus on a single screen without closing existing screens. In the screen shot below there are two minimized windows at the very bottom."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Float Minimized",src:i(9467).Z+"",width:"1275",height:"928"})}),"\n",(0,s.jsx)(n.p,{children:"The X button closes the screen."}),"\n",(0,s.jsx)(n.h2,{id:"building-screens",children:"Building Screens"}),"\n",(0,s.jsxs)(n.p,{children:["For documentation on how to build Telemetry Screens and how to configure the\nscreen widgets please see the ",(0,s.jsx)(n.a,{href:"/docs/configuration/telemetry-screens",children:"Telemetry Screens"}),"."]})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1205:function(e,n,i){i.d(n,{Z:function(){return t}});let t=i.p+"assets/images/file_menu-8a0c6243e35822617229a729a598ace78e401b6c29f66eb5e07035d77d9be1aa.png"},7406:function(e,n,i){i.d(n,{Z:function(){return t}});let t=i.p+"assets/images/edit_screen-c655c75fe90429c0425b61cccf23835b6882975abaa56de21d58c9a4b19a4773.png"},9467:function(e,n,i){i.d(n,{Z:function(){return t}});let t=i.p+"assets/images/float_minimize-a27fc649e517b279db5d2435fbd4f1de81418b9ef5f47fc83a9443bba0b1a7e0.png"},7702:function(e,n,i){i.d(n,{Z:function(){return t}});let t=i.p+"assets/images/new_screen-0d9bea0538e91fa2332346f1ff73b1dda2e418d295dcd7d6a13ba240cf32187e.png"},7208:function(e,n,i){i.d(n,{Z:function(){return t}});let t=i.p+"assets/images/telemetry_viewer-e4ac466930993a640f95aea4b01bb9a415eec77dfbfaa184f767cb59940ba943.png"},65:function(e,n,i){i.d(n,{Z:function(){return c},a:function(){return o}});var t=i(7294);let s={},r=t.createContext(s);function o(e){let n=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6b65133b.65ae9442.js b/docs/assets/js/6b65133b.65ae9442.js deleted file mode 100644 index 05ff4437f4..0000000000 --- a/docs/assets/js/6b65133b.65ae9442.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7827],{7413:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"tools/tlm-viewer","title":"Telemetry Viewer","description":"Build custom screens using built-in widgets","source":"@site/docs/tools/tlm-viewer.md","sourceDirName":"tools","slug":"/tools/tlm-viewer","permalink":"/docs/tools/tlm-viewer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/tlm-viewer.md","tags":[],"version":"current","frontMatter":{"title":"Telemetry Viewer","description":"Build custom screens using built-in widgets","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Telemetry Grapher","permalink":"/docs/tools/tlm-grapher"},"next":{"title":"Guides","permalink":"/docs/guides"}}');var s=i(4848),r=i(8453);const o={title:"Telemetry Viewer",description:"Build custom screens using built-in widgets",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},c=void 0,a={},l=[{value:"Introduction",id:"introduction",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Selecting Screens",id:"selecting-screens",level:2},{value:"New Screen",id:"new-screen",level:2},{value:"Edit Screen",id:"edit-screen",level:2},{value:"Screen Window Management",id:"screen-window-management",level:2},{value:"Building Screens",id:"building-screens",level:2}];function d(e){const n={a:"a",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(n.p,{children:"Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Telemetry Viewer",src:i(2619).A+"",width:"1274",height:"895"})}),"\n",(0,s.jsx)(n.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)("img",{src:i(7711).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"90px"}}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Open a saved configuration"}),"\n",(0,s.jsx)(n.li,{children:"Save the current configuration"}),"\n",(0,s.jsx)(n.li,{children:"Reset the configuration (default settings)"}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"open-configuration",children:"Open Configuration"}),"\n",(0,s.jsx)(n.p,{children:"The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(n.h4,{id:"save-configuration",children:"Save Configuration"}),"\n",(0,s.jsx)(n.p,{children:"The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."}),"\n",(0,s.jsx)(n.h2,{id:"selecting-screens",children:"Selecting Screens"}),"\n",(0,s.jsx)(n.p,{children:"Selecting a target from the Select Target drop down automatically updates the available screens for that target in the Select Screen drop down. Clicking Show Screen causes that screen to display."}),"\n",(0,s.jsx)(n.h2,{id:"new-screen",children:"New Screen"}),"\n",(0,s.jsx)(n.p,{children:"Clicking New Screen brings up the new screen dialog."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Telemetry Viewer",src:i(692).A+"",width:"595",height:"424"})}),"\n",(0,s.jsx)(n.p,{children:"Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists."}),"\n",(0,s.jsx)(n.h2,{id:"edit-screen",children:"Edit Screen"}),"\n",(0,s.jsx)(n.p,{children:"Clicking the pencil icon in the title bar of the screen brings up the edit dialog."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Telemetry Viewer",src:i(6454).A+"",width:"1149",height:"698"})}),"\n",(0,s.jsx)(n.p,{children:"The screen source is displayed in an editor with syntax highlighting and auto-completion. You can download the screen source using the download button in the upper right or delete the screen using the trash icon in the upper left. Click Save to save the screen edits at which point Telemetry Viewer will re-render the screen."}),"\n",(0,s.jsx)(n.h2,{id:"screen-window-management",children:"Screen Window Management"}),"\n",(0,s.jsx)(n.p,{children:"All screens can be moved around the browser window by clicking their title bar and moving them. Other screens will move around intelligently to fill the space. This allows you to order the screens no matter which order they were created in."}),"\n",(0,s.jsx)(n.p,{children:"You can also float the screens by clicking the grid icon in the upper left of the title bar. It will change to a balloon icon and allow you to click up and down to change the relative Z index of the window. The image screen is floated in the following screen shot."}),"\n",(0,s.jsx)(n.p,{children:"The dash button in the upper right of the title bar minimizes the screen to effectively hide it. This allows you to focus on a single screen without closing existing screens. In the screen shot below there are two minimized windows at the very bottom."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Float Minimized",src:i(1996).A+"",width:"1275",height:"928"})}),"\n",(0,s.jsx)(n.p,{children:"The X button closes the screen."}),"\n",(0,s.jsx)(n.h2,{id:"building-screens",children:"Building Screens"}),"\n",(0,s.jsxs)(n.p,{children:["For documentation on how to build Telemetry Screens and how to configure the\nscreen widgets please see the ",(0,s.jsx)(n.a,{href:"/docs/configuration/telemetry-screens",children:"Telemetry Screens"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},7711:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/file_menu-8a0c6243e35822617229a729a598ace78e401b6c29f66eb5e07035d77d9be1aa.png"},6454:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/edit_screen-c655c75fe90429c0425b61cccf23835b6882975abaa56de21d58c9a4b19a4773.png"},1996:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/float_minimize-a27fc649e517b279db5d2435fbd4f1de81418b9ef5f47fc83a9443bba0b1a7e0.png"},692:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/new_screen-0d9bea0538e91fa2332346f1ff73b1dda2e418d295dcd7d6a13ba240cf32187e.png"},2619:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/telemetry_viewer-e4ac466930993a640f95aea4b01bb9a415eec77dfbfaa184f767cb59940ba943.png"},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var t=i(6540);const s={},r=t.createContext(s);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6f92e431.6347fd67.js b/docs/assets/js/6f92e431.6347fd67.js deleted file mode 100644 index 207c00d2e9..0000000000 --- a/docs/assets/js/6f92e431.6347fd67.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[9729],{9427:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"development/roadmap","title":"Roadmap","description":"COSMOS roadmap now and into the future","source":"@site/docs/development/roadmap.md","sourceDirName":"development","slug":"/development/roadmap","permalink":"/docs/development/roadmap","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/roadmap.md","tags":[],"version":"current","frontMatter":{"title":"Roadmap","description":"COSMOS roadmap now and into the future","sidebar_custom_props":{"myEmoji":"\ud83d\uddfa\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Log Structure","permalink":"/docs/development/log-structure"},"next":{"title":"Streaming API","permalink":"/docs/development/streaming-api"}}');var r=o(4848),s=o(8453);const a={title:"Roadmap",description:"COSMOS roadmap now and into the future",sidebar_custom_props:{myEmoji:"\ud83d\uddfa\ufe0f"}},i=void 0,c={},l=[{value:"Key Features Still to Come in OpenC3 COSMOS 5.x:",id:"key-features-still-to-come-in-openc3-cosmos-5x",level:2},{value:"OpenC3 COSMOS 6.0 (Late 2024)",id:"openc3-cosmos-60-late-2024",level:2},{value:"OpenC3 COSMOS 7.0",id:"openc3-cosmos-70",level:2},{value:"Near-term Planning",id:"near-term-planning",level:2}];function p(e){const n={a:"a",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"key-features-still-to-come-in-openc3-cosmos-5x",children:"Key Features Still to Come in OpenC3 COSMOS 5.x:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2705","\xa0\xa0Python Support",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Standardized Mission Planning Interface (aka Command Load Generator (CLG))",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Protocol buffer support",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Command Authority (Enterprise)",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Critical Commanding (Two Operators - Enterprise)",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(n.h2,{id:"openc3-cosmos-60-late-2024",children:"OpenC3 COSMOS 6.0 (Late 2024)"}),"\n",(0,r.jsx)(n.p,{children:"Core Features:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2705","\xa0\xa0Upgrade Tools to Vue 3 / Vuetify 3",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Traefik v3",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0Python / Ruby parity (interfaces, protocols, etc)",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(n.p,{children:"Functionality For 6.1+:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2b1c","\xa0\xa0Plugin App Store",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0System Health Tool (Enterprise)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0Log Message Extractor Tool (Enterprise)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0Telemetry Viewer screen playback of historical data",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0libCSP Interface (Cubesat Space Protocol)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0Standardized Interfaces for common message buses (ZeroMQ, ActiveMQ, etc)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0COSMOS Notebooks (similar to Jupyter Notebooks)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0COSMOS Dashboards (configurable iFrames for Common Operating Picture)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0Integration with ground networks (Atlas, RBC Signals)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0Integration with mission planning (Orbit Logic, Cognitive Space)",(0,r.jsx)("br",{}),"\n","\u2b1c","\xa0\xa0Integration with flight dynamics (Kayhan, SEE, Exotrail)",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(n.h2,{id:"openc3-cosmos-70",children:"OpenC3 COSMOS 7.0"}),"\n",(0,r.jsx)(n.p,{children:"Core Features:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2b1c","\xa0\xa0Super Bridge - This will enable SaaS COSMOS and provide a secure method to communicate from a cloud server to an intranet for hardware control"]}),"\n",(0,r.jsx)(n.h2,{id:"near-term-planning",children:"Near-term Planning"}),"\n",(0,r.jsxs)(n.p,{children:["Our near-term planning linking to specific tickets is on our ",(0,r.jsx)(n.a,{href:"https://github.com/orgs/openc3/projects/2/views/1",children:"Github Planning Project"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo."})]})}function d(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>a,x:()=>i});var t=o(6540);const r={},s=t.createContext(r);function a(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6f92e431.afcb5584.js b/docs/assets/js/6f92e431.afcb5584.js new file mode 100644 index 0000000000..468cae9985 --- /dev/null +++ b/docs/assets/js/6f92e431.afcb5584.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["5390"],{9280:function(e,n,t){t.r(n),t.d(n,{metadata:()=>o,contentTitle:()=>a,default:()=>d,assets:()=>c,toc:()=>l,frontMatter:()=>i});var o=JSON.parse('{"id":"development/roadmap","title":"Roadmap","description":"COSMOS roadmap now and into the future","source":"@site/docs/development/roadmap.md","sourceDirName":"development","slug":"/development/roadmap","permalink":"/docs/development/roadmap","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/roadmap.md","tags":[],"version":"current","frontMatter":{"title":"Roadmap","description":"COSMOS roadmap now and into the future","sidebar_custom_props":{"myEmoji":"\uD83D\uDDFA\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Log Structure","permalink":"/docs/development/log-structure"},"next":{"title":"Streaming API","permalink":"/docs/development/streaming-api"}}'),r=t("5893"),s=t("65");let i={title:"Roadmap",description:"COSMOS roadmap now and into the future",sidebar_custom_props:{myEmoji:"\uD83D\uDDFA\uFE0F"}},a=void 0,c={},l=[{value:"Key Features Still to Come in OpenC3 COSMOS 5.x:",id:"key-features-still-to-come-in-openc3-cosmos-5x",level:2},{value:"OpenC3 COSMOS 6.0 (Late 2024)",id:"openc3-cosmos-60-late-2024",level:2},{value:"OpenC3 COSMOS 7.0",id:"openc3-cosmos-70",level:2},{value:"Near-term Planning",id:"near-term-planning",level:2}];function p(e){let n={a:"a",h2:"h2",p:"p",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"key-features-still-to-come-in-openc3-cosmos-5x",children:"Key Features Still to Come in OpenC3 COSMOS 5.x:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2705","\xa0\xa0Python Support",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Standardized Mission Planning Interface (aka Command Load Generator (CLG))",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Protocol buffer support",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Command Authority (Enterprise)",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Critical Commanding (Two Operators - Enterprise)",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(n.h2,{id:"openc3-cosmos-60-late-2024",children:"OpenC3 COSMOS 6.0 (Late 2024)"}),"\n",(0,r.jsx)(n.p,{children:"Core Features:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2705","\xa0\xa0Upgrade Tools to Vue 3 / Vuetify 3",(0,r.jsx)("br",{}),"\n","\u2705","\xa0\xa0Traefik v3",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0Python / Ruby parity (interfaces, protocols, etc)",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(n.p,{children:"Functionality For 6.1+:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2B1C","\xa0\xa0Plugin App Store",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0System Health Tool (Enterprise)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0Log Message Extractor Tool (Enterprise)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0Telemetry Viewer screen playback of historical data",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0libCSP Interface (Cubesat Space Protocol)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0Standardized Interfaces for common message buses (ZeroMQ, ActiveMQ, etc)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0COSMOS Notebooks (similar to Jupyter Notebooks)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0COSMOS Dashboards (configurable iFrames for Common Operating Picture)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0Integration with ground networks (Atlas, RBC Signals)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0Integration with mission planning (Orbit Logic, Cognitive Space)",(0,r.jsx)("br",{}),"\n","\u2B1C","\xa0\xa0Integration with flight dynamics (Kayhan, SEE, Exotrail)",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(n.h2,{id:"openc3-cosmos-70",children:"OpenC3 COSMOS 7.0"}),"\n",(0,r.jsx)(n.p,{children:"Core Features:"}),"\n",(0,r.jsxs)(n.p,{children:["\u2B1C","\xa0\xa0Super Bridge - This will enable SaaS COSMOS and provide a secure method to communicate from a cloud server to an intranet for hardware control"]}),"\n",(0,r.jsx)(n.h2,{id:"near-term-planning",children:"Near-term Planning"}),"\n",(0,r.jsxs)(n.p,{children:["Our near-term planning linking to specific tickets is on our ",(0,r.jsx)(n.a,{href:"https://github.com/orgs/openc3/projects/2/views/1",children:"Github Planning Project"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo."})]})}function d(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},65:function(e,n,t){t.d(n,{Z:function(){return a},a:function(){return i}});var o=t(7294);let r={},s=o.createContext(r);function i(e){let n=o.useContext(s);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6f9ac1e3.9cb82545.js b/docs/assets/js/6f9ac1e3.9cb82545.js deleted file mode 100644 index 2a11f190f7..0000000000 --- a/docs/assets/js/6f9ac1e3.9cb82545.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3581],{7971:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Meta","slug":"/meta","permalink":"/docs/meta","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Testing COSMOS","permalink":"/docs/development/testing"},"next":{"title":"Contributing","permalink":"/docs/meta/contributing"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/6f9ac1e3.a7b44ac3.js b/docs/assets/js/6f9ac1e3.a7b44ac3.js new file mode 100644 index 0000000000..d0bed0be08 --- /dev/null +++ b/docs/assets/js/6f9ac1e3.a7b44ac3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9270"],{5172:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Meta","slug":"/meta","permalink":"/docs/meta","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Testing COSMOS","permalink":"/docs/development/testing"},"next":{"title":"Contributing","permalink":"/docs/meta/contributing"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/72c6d8a8.277788ca.js b/docs/assets/js/72c6d8a8.277788ca.js new file mode 100644 index 0000000000..71509a7a8f --- /dev/null +++ b/docs/assets/js/72c6d8a8.277788ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9278"],{2812:function(e,n,t){t.r(n),t.d(n,{metadata:()=>r,contentTitle:()=>a,default:()=>o,assets:()=>l,toc:()=>c,frontMatter:()=>d});var r=JSON.parse('{"id":"configuration/command","title":"Commands","description":"Command definition file format and keywords","source":"@site/docs/configuration/command.md","sourceDirName":"configuration","slug":"/configuration/command","permalink":"/docs/configuration/command","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/command.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4,"title":"Commands","description":"Command definition file format and keywords","sidebar_custom_props":{"myEmoji":"\uD83D\uDCE1"}},"sidebar":"defaultSidebar","previous":{"title":"Targets","permalink":"/docs/configuration/target"},"next":{"title":"Telemetry","permalink":"/docs/configuration/telemetry"}}'),s=t("5893"),i=t("65");let d={sidebar_position:4,title:"Commands",description:"Command definition file format and keywords",sidebar_custom_props:{myEmoji:"\uD83D\uDCE1"}},a=void 0,l={},c=[{value:"Command Definition Files",id:"command-definition-files",level:2},{value:"COMMAND",id:"command",level:2},{value:"COMMAND Modifiers",id:"command-modifiers",level:2},{value:"PARAMETER",id:"parameter",level:3},{value:"PARAMETER Modifiers",id:"parameter-modifiers",level:3},{value:"FORMAT_STRING",id:"format_string",level:4},{value:"UNITS",id:"units",level:4},{value:"DESCRIPTION",id:"description",level:4},{value:"META",id:"meta",level:4},{value:"OVERLAP",id:"overlap",level:4},{value:"KEY",id:"key",level:4},{value:"VARIABLE_BIT_SIZE",id:"variable_bit_size",level:4},{value:"REQUIRED",id:"required",level:4},{value:"MINIMUM_VALUE",id:"minimum_value",level:4},{value:"MAXIMUM_VALUE",id:"maximum_value",level:4},{value:"DEFAULT_VALUE",id:"default_value",level:4},{value:"STATE",id:"state",level:4},{value:"WRITE_CONVERSION",id:"write_conversion",level:4},{value:"POLY_WRITE_CONVERSION",id:"poly_write_conversion",level:4},{value:"SEG_POLY_WRITE_CONVERSION",id:"seg_poly_write_conversion",level:4},{value:"GENERIC_WRITE_CONVERSION_START",id:"generic_write_conversion_start",level:4},{value:"GENERIC_WRITE_CONVERSION_END",id:"generic_write_conversion_end",level:4},{value:"OVERFLOW",id:"overflow",level:4},{value:"APPEND_PARAMETER",id:"append_parameter",level:3},{value:"ID_PARAMETER",id:"id_parameter",level:3},{value:"APPEND_ID_PARAMETER",id:"append_id_parameter",level:3},{value:"ARRAY_PARAMETER",id:"array_parameter",level:3},{value:"APPEND_ARRAY_PARAMETER",id:"append_array_parameter",level:3},{value:"SELECT_PARAMETER",id:"select_parameter",level:3},{value:"DELETE_PARAMETER",id:"delete_parameter",level:3},{value:"HIDDEN",id:"hidden",level:3},{value:"DISABLED",id:"disabled",level:3},{value:"DISABLE_MESSAGES",id:"disable_messages",level:3},{value:"META",id:"meta-1",level:3},{value:"HAZARDOUS",id:"hazardous",level:3},{value:"ACCESSOR",id:"accessor",level:3},{value:"TEMPLATE",id:"template",level:3},{value:"TEMPLATE_FILE",id:"template_file",level:3},{value:"RESPONSE",id:"response",level:3},{value:"ERROR_RESPONSE",id:"error_response",level:3},{value:"RELATED_ITEM",id:"related_item",level:3},{value:"SCREEN",id:"screen",level:3},{value:"VIRTUAL",id:"virtual",level:3},{value:"RESTRICTED",id:"restricted",level:3},{value:"VALIDATOR",id:"validator",level:3},{value:"SELECT_COMMAND",id:"select_command",level:2},{value:"Example File",id:"example-file",level:2}];function h(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"command-definition-files",children:"Command Definition Files"}),"\n",(0,s.jsxs)(n.p,{children:["Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ",(0,s.jsx)(n.a,{href:"http://www.asciitable.com/",children:"ASCII Table"})," is structured, files beginning with capital letters are processed before lower case letters."]}),"\n",(0,s.jsx)(n.p,{children:"When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters."}),"\n",(0,s.jsx)("div",{style:{clear:"both"}}),"\n",(0,s.jsx)(n.h1,{id:"command-keywords",children:"Command Keywords"}),"\n",(0,s.jsx)(n.h2,{id:"command",children:"COMMAND"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines a new command packet"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target"}),(0,s.jsx)(n.td,{children:"Name of the target this command is associated with"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Command"}),(0,s.jsx)(n.td,{children:"Name of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description of this command which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND INST COLLECT BIG_ENDIAN "Start collect"\n'})}),"\n",(0,s.jsx)(n.h2,{id:"command-modifiers",children:"COMMAND Modifiers"}),"\n",(0,s.jsx)(n.p,{children:"The following keywords must follow a COMMAND keyword."}),"\n",(0,s.jsx)(n.h3,{id:"parameter",children:"PARAMETER"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines a command parameter in the current command packet"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Name"}),(0,s.jsx)(n.td,{children:"Name of the parameter. Must be unique within the command."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Bit Offset"}),(0,s.jsx)(n.td,{children:"Bit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Bit Size"}),(0,s.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Data Type"}),(0,s.jsxs)(n.td,{children:["Data Type of this parameter",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Minimum Value"}),(0,s.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Maximum Value"}),(0,s.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default Value"}),(0,s.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,s.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default Value"}),(0,s.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"\nPARAMETER DATA 32 32 INT MIN MAX 0 "Data value"\nPARAMETER VALUE 64 32 FLOAT 0 10.5 2.5\nPARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply"\nPARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"parameter-modifiers",children:"PARAMETER Modifiers"}),"\n",(0,s.jsx)(n.p,{children:"The following keywords must follow a PARAMETER keyword."}),"\n",(0,s.jsx)(n.h4,{id:"format_string",children:"FORMAT_STRING"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Adds printf style formatting"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Format"}),(0,s.jsx)(n.td,{children:"How to format using printf syntax. For example, '0x%0X' will display the value in hex."}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'FORMAT_STRING "0x%0X"\n'})}),"\n",(0,s.jsx)(n.h4,{id:"units",children:"UNITS"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Add displayed units"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Full Name"}),(0,s.jsx)(n.td,{children:"Full name of the units type, e.g. Celsius"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Abbreviated"}),(0,s.jsx)(n.td,{children:"Abbreviation for the units, e.g. C"}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"UNITS Celsius C\nUNITS Kilometers KM\n"})}),"\n",(0,s.jsx)(n.h4,{id:"description",children:"DESCRIPTION"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Override the defined description"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Value"}),(0,s.jsx)(n.td,{children:"The new description"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"meta",children:"META"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Stores custom user metadata"})}),"\n",(0,s.jsx)(n.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Meta Name"}),(0,s.jsx)(n.td,{children:"Name of the metadata to store"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Meta Values"}),(0,s.jsx)(n.td,{children:"One or more values to be stored for this Meta Name"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'META TEST "This parameter is for test purposes only"\n'})}),"\n",(0,s.jsx)(n.h4,{id:"overlap",children:"OVERLAP"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,s.jsx)(n.strong,{children:"This item is allowed to overlap other items in the packet"})]}),"\n",(0,s.jsx)(n.p,{children:"If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message."}),"\n",(0,s.jsx)(n.h4,{id:"key",children:"KEY"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,s.jsx)(n.strong,{children:"Defines the key used to access this raw value in the packet."})]}),"\n",(0,s.jsxs)(n.p,{children:["Keys are often ",(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/JSONPath",children:"JSONPath"})," or ",(0,s.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/XPath",children:"XPath"})," strings"]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Key string"}),(0,s.jsx)(n.td,{children:"The key to access this item"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"KEY $.book.title\n"})}),"\n",(0,s.jsx)(n.h4,{id:"variable_bit_size",children:"VARIABLE_BIT_SIZE"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,s.jsx)(n.strong,{children:"Marks an item as having its bit size defined by another length item"})]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Length Item Name"}),(0,s.jsx)(n.td,{children:"The name of the associated length item"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Length Bits Per Count"}),(0,s.jsx)(n.td,{children:"Bits per count of the length item. Defaults to 8"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Length Value Bit Offset"}),(0,s.jsx)(n.td,{children:"Offset in Bits to Apply to Length Field Value. Defaults to 0"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"required",children:"REQUIRED"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Parameter is required to be populated in scripts"})}),"\n",(0,s.jsx)(n.p,{children:"When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition."}),"\n",(0,s.jsx)(n.h4,{id:"minimum_value",children:"MINIMUM_VALUE"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Override the defined minimum value"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Value"}),(0,s.jsx)(n.td,{children:"The new minimum value for the parameter"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"maximum_value",children:"MAXIMUM_VALUE"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Override the defined maximum value"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Value"}),(0,s.jsx)(n.td,{children:"The new maximum value for the parameter"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"default_value",children:"DEFAULT_VALUE"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Override the defined default value"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Value"}),(0,s.jsx)(n.td,{children:"The new default value for the parameter"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"state",children:"STATE"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines a key/value pair for the current command parameter"})}),"\n",(0,s.jsx)(n.p,{children:"Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Key"}),(0,s.jsx)(n.td,{children:"The string state name"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Value"}),(0,s.jsx)(n.td,{children:"The numerical state value"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Hazardous / Disable Messages"}),(0,s.jsxs)(n.td,{children:["Indicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"HAZARDOUS"})]}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Hazardous Description"}),(0,s.jsx)(n.td,{children:"String describing why this state is hazardous"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"\n STATE FALSE 0\n STATE TRUE 1\nAPPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"\n STATE "NOOP" "NOOP" DISABLE_MESSAGES\n STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"\n STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"\n'})}),"\n",(0,s.jsx)(n.h4,{id:"write_conversion",children:"WRITE_CONVERSION"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Applies a conversion when writing the current command parameter"})}),"\n",(0,s.jsxs)(n.p,{children:["Conversions are implemented in a custom Ruby or Python file which should be\nlocated in the target's lib folder. The class must inherit from Conversion.\nIt must implement the ",(0,s.jsx)(n.code,{children:"initialize"})," (Ruby) or ",(0,s.jsx)(n.code,{children:"__init__"})," (Python) method if it\ntakes extra parameters and must always implement the ",(0,s.jsx)(n.code,{children:"call"})," method. The conversion\nfactor is applied to the value entered by the user before it is written into\nthe binary command packet and sent."]}),"\n",(0,s.jsx)(n.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,s.jsx)(n.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Class Filename"}),(0,s.jsx)(n.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Parameter"}),(0,s.jsx)(n.td,{children:"Additional parameter values for the conversion which are passed to the class constructor."}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"WRITE_CONVERSION the_great_conversion.rb 1000\n\nDefined in the_great_conversion.rb:\n\nrequire 'openc3/conversions/conversion'\nmodule OpenC3\n class TheGreatConversion < Conversion\n def initialize(multiplier)\n super()\n @multiplier = multiplier.to_f\n end\n def call(value, packet, buffer)\n return value * multiplier\n end\n end\nend\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"WRITE_CONVERSION the_great_conversion.py 1000\n\nDefined in the_great_conversion.py:\n\nfrom openc3.conversions.conversion import Conversion\nclass TheGreatConversion(Conversion):\n def __init__(self, multiplier):\n super().__init__()\n self.multiplier = float(multiplier)\n def call(self, value, packet, buffer):\n return value * self.multiplier\n"})}),"\n",(0,s.jsx)(n.h4,{id:"poly_write_conversion",children:"POLY_WRITE_CONVERSION"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Adds a polynomial conversion factor to the current command parameter"})}),"\n",(0,s.jsx)(n.p,{children:"The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"C0"}),(0,s.jsx)(n.td,{children:"Coefficient"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Cx"}),(0,s.jsx)(n.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"POLY_WRITE_CONVERSION 10 0.5 0.25\n"})}),"\n",(0,s.jsx)(n.h4,{id:"seg_poly_write_conversion",children:"SEG_POLY_WRITE_CONVERSION"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Adds a segmented polynomial conversion factor to the current command parameter"})}),"\n",(0,s.jsx)(n.p,{children:"This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Lower Bound"}),(0,s.jsx)(n.td,{children:"Defines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"C0"}),(0,s.jsx)(n.td,{children:"Coefficient"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Cx"}),(0,s.jsx)(n.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50\nSEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100\nSEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100\n"})}),"\n",(0,s.jsx)(n.h4,{id:"generic_write_conversion_start",children:"GENERIC_WRITE_CONVERSION_START"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Start a generic write conversion"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a generic conversion function to the current command parameter.\nThis conversion factor is applied to the value entered by the user before it\nis written into the binary command packet and sent. The conversion is specified\nas Ruby or Python code that receives two implied parameters. 'value' which is the raw\nvalue being written and 'packet' which is a reference to the command packet\nclass (Note, referencing the packet as 'myself' is still supported for backwards\ncompatibility). The last line of code should return the converted\nvalue. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of\ncode for the conversion have been given."}),"\n",(0,s.jsx)(n.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,s.jsx)(n.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance."})}),"\n",(0,s.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return (value * 1.5).to_i # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,s.jsx)(n.p,{children:"Python Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return int(value * 1.5) # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,s.jsx)(n.h4,{id:"generic_write_conversion_end",children:"GENERIC_WRITE_CONVERSION_END"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Complete a generic write conversion"})}),"\n",(0,s.jsx)(n.h4,{id:"overflow",children:"OVERFLOW"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Set the behavior when writing a value overflows the type"})}),"\n",(0,s.jsx)(n.p,{children:"By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Behavior"}),(0,s.jsxs)(n.td,{children:["How OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE"})]}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"OVERFLOW TRUNCATE\n"})}),"\n",(0,s.jsx)(n.h3,{id:"append_parameter",children:"APPEND_PARAMETER"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines a command parameter in the current command packet"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Name"}),(0,s.jsx)(n.td,{children:"Name of the parameter. Must be unique within the command."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Bit Size"}),(0,s.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Data Type"}),(0,s.jsxs)(n.td,{children:["Data Type of this parameter",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Minimum Value"}),(0,s.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Maximum Value"}),(0,s.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default Value"}),(0,s.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,s.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default Value"}),(0,s.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"\nAPPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5\nAPPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"id_parameter",children:"ID_PARAMETER"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines an identification command parameter in the current command packet"})}),"\n",(0,s.jsx)(n.p,{children:"ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Name"}),(0,s.jsx)(n.td,{children:"Name of the parameter. Must be unique within the command."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Bit Offset"}),(0,s.jsx)(n.td,{children:"Bit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Bit Size"}),(0,s.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Data Type"}),(0,s.jsxs)(n.td,{children:["Data Type of this parameter",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Minimum Value"}),(0,s.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Maximum Value"}),(0,s.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"ID Value"}),(0,s.jsx)(n.td,{children:"Identification value for this parameter. The binary data must match this value for the buffer to be identified as this packet."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,s.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default Value"}),(0,s.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"append_id_parameter",children:"APPEND_ID_PARAMETER"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines an identification command parameter in the current command packet"})}),"\n",(0,s.jsx)(n.p,{children:"ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Name"}),(0,s.jsx)(n.td,{children:"Name of the parameter. Must be unique within the command."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Bit Size"}),(0,s.jsx)(n.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Data Type"}),(0,s.jsxs)(n.td,{children:["Data Type of this parameter",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Minimum Value"}),(0,s.jsx)(n.td,{children:"Minimum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Maximum Value"}),(0,s.jsx)(n.td,{children:"Maximum allowed value for this parameter"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"ID Value"}),(0,s.jsx)(n.td,{children:"Identification value for this parameter. The binary data must match this value for the buffer to be identified as this packet."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,s.jsx)(n.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default Value"}),(0,s.jsx)(n.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"array_parameter",children:"ARRAY_PARAMETER"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines a command parameter in the current command packet that is an array"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Name"}),(0,s.jsx)(n.td,{children:"Name of the parameter. Must be unique within the command."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Bit Offset"}),(0,s.jsx)(n.td,{children:"Bit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Item Bit Size"}),(0,s.jsx)(n.td,{children:"Bit size of each array item"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Item Data Type"}),(0,s.jsxs)(n.td,{children:["Data Type of each array item",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Array Bit Size"}),(0,s.jsx)(n.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"append_array_parameter",children:"APPEND_ARRAY_PARAMETER"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Defines a command parameter in the current command packet that is an array"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Name"}),(0,s.jsx)(n.td,{children:"Name of the parameter. Must be unique within the command."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Item Bit Size"}),(0,s.jsx)(n.td,{children:"Bit size of each array item"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Item Data Type"}),(0,s.jsxs)(n.td,{children:["Data Type of each array item",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Array Bit Size"}),(0,s.jsx)(n.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"select_parameter",children:"SELECT_PARAMETER"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Selects an existing command parameter for editing"})}),"\n",(0,s.jsx)(n.p,{children:"Must be used in conjunction with SELECT_COMMAND to first select the packet. Typically used to override generated values or make specific changes to commands that only affect a particular instance of a target used multiple times."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Parameter"}),(0,s.jsx)(n.td,{children:"Name of the parameter to select for modification"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"SELECT_COMMAND INST COLLECT\n SELECT_PARAMETER DURATION\n # Add units\n UNITS Seconds S\n"})}),"\n",(0,s.jsx)(n.h3,{id:"delete_parameter",children:"DELETE_PARAMETER"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,s.jsx)(n.strong,{children:"Deletes an existing command parameter from the packet definition"})]}),"\n",(0,s.jsx)(n.p,{children:'Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter.'}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Parameter"}),(0,s.jsx)(n.td,{children:"Name of the parameter to delete"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"SELECT_COMMAND INST COLLECT\n DELETE_PARAMETER DURATION\n"})}),"\n",(0,s.jsx)(n.h3,{id:"hidden",children:"HIDDEN"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator"})}),"\n",(0,s.jsx)(n.p,{children:"Hidden commands do not appear in the Script Runner popup helper when writing scripts. The command still exists in the system and can be sent by scripts."}),"\n",(0,s.jsx)(n.h3,{id:"disabled",children:"DISABLED"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Disables this command from being sent"})}),"\n",(0,s.jsx)(n.p,{children:"Hides the command and also disables it from being sent by scripts. Attempts to send DISABLED commands result in an error message."}),"\n",(0,s.jsx)(n.h3,{id:"disable_messages",children:"DISABLE_MESSAGES"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Disable the Server from printing cmd(...) messages. Commands are still logged."})}),"\n",(0,s.jsx)(n.h3,{id:"meta-1",children:"META"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Stores metadata for the current command"})}),"\n",(0,s.jsx)(n.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Meta Name"}),(0,s.jsx)(n.td,{children:"Name of the metadata to store"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Meta Values"}),(0,s.jsx)(n.td,{children:"One or more values to be stored for this Meta Name"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'META FSW_TYPE "struct command"\n'})}),"\n",(0,s.jsx)(n.h3,{id:"hazardous",children:"HAZARDOUS"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Designates the current command as hazardous"})}),"\n",(0,s.jsx)(n.p,{children:"Sending a hazardous command causes a dialog asking for confirmation before sending the command"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description for why the command is hazardous which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"accessor",children:"ACCESSOR"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,s.jsx)(n.strong,{children:"Defines the class used to read and write raw values from the packet"})]}),"\n",(0,s.jsxs)(n.p,{children:["Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see ",(0,s.jsx)(n.a,{href:"accessors",children:"Accessors"}),"."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Accessor Class Name"}),(0,s.jsx)(n.td,{children:"The name of the accessor class"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Argument"}),(0,s.jsx)(n.td,{children:"Additional argument passed to the accessor class constructor"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.h3,{id:"template",children:"TEMPLATE"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,s.jsx)(n.strong,{children:"Defines a template string used to initialize the command before default values are filled in"})]}),"\n",(0,s.jsx)(n.p,{children:"Generally the template string is formatted in JSON or HTML and then values are filled in with command parameters. Must be UTF-8 encoded."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Template"}),(0,s.jsx)(n.td,{children:"The template string which should be enclosed in quotes"}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"template_file",children:"TEMPLATE_FILE"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,s.jsx)(n.strong,{children:"Defines a template file used to initialize the command before default values are filled in"})]}),"\n",(0,s.jsx)(n.p,{children:"Generally the template file is formatted in JSON or HTML and then values are filled in with command parameters. Can be binary or UTF-8."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Template File Path"}),(0,s.jsx)(n.td,{children:"The relative path to the template file. Filename should generally start with an underscore."}),(0,s.jsx)(n.td,{children:"True"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"response",children:"RESPONSE"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,s.jsx)(n.strong,{children:"Indicates the expected telemetry packet response to this command"})]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target Name"}),(0,s.jsx)(n.td,{children:"Target Name of telemetry response packet"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Packet Name"}),(0,s.jsx)(n.td,{children:"Packet Name of telemetry response packet"}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.h3,{id:"error_response",children:"ERROR_RESPONSE"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,s.jsx)(n.strong,{children:"Indicates the expected telemetry packet error response to this command"})]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target Name"}),(0,s.jsx)(n.td,{children:"Target Name of telemetry error response packet"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Packet Name"}),(0,s.jsx)(n.td,{children:"Packet Name of telemetry error response packet"}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.h3,{id:"related_item",children:"RELATED_ITEM"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,s.jsx)(n.strong,{children:"Defines a related telemetry item to this command"})]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target Name"}),(0,s.jsx)(n.td,{children:"Target Name of related telemetry item"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Packet Name"}),(0,s.jsx)(n.td,{children:"Packet Name of related telemetry item"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Item Name"}),(0,s.jsx)(n.td,{children:"Item Name of related telemetry item"}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.h3,{id:"screen",children:"SCREEN"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,s.jsx)(n.strong,{children:"Defines a related telemetry screen to this command"})]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target Name"}),(0,s.jsx)(n.td,{children:"Target Name of related telemetry screen"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Screen Name"}),(0,s.jsx)(n.td,{children:"Screen Name of related telemetry screen"}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.h3,{id:"virtual",children:"VIRTUAL"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,s.jsx)(n.strong,{children:"Marks this packet as virtual and not participating in identification"})]}),"\n",(0,s.jsx)(n.p,{children:"Used for packet definitions that can be used as structures for items with a given packet."}),"\n",(0,s.jsx)(n.h3,{id:"restricted",children:"RESTRICTED"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.20.0)"}),(0,s.jsx)(n.strong,{children:"Marks this packet as restricted and will require approval if critical commanding is enabled"})]}),"\n",(0,s.jsx)(n.p,{children:"Used as one of the two types of critical commands (HAZARDOUS and RESTRICTED)"}),"\n",(0,s.jsx)(n.h3,{id:"validator",children:"VALIDATOR"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)("div",{class:"right",children:"(Since 5.19.0)"}),(0,s.jsx)(n.strong,{children:"Defines a validator class for a command"})]}),"\n",(0,s.jsx)(n.p,{children:"Validator class is used to validate the command success or failure with both a pre_check and post_check method."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Class Filename"}),(0,s.jsx)(n.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Argument"}),(0,s.jsx)(n.td,{children:"Additional argument passed to the validator class constructor"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'VALIDATOR custom_validator.rb\n\nDefined in custom_validator.rb:\n\nrequire \'openc3/packets/command_validator\'\nclass CustomValidator < OpenC3::CommandValidator\n # Both the pre_check and post_check are passed the command packet that was sent\n # You can inspect the command in your checks as follows:\n # packet.target_name => target name\n # packet.packet_name => packet name (command name)\n # packet.read("ITEM") => converted value\n # packet.read("ITEM", :RAW) => raw value\n def pre_check(packet)\n if tlm("TGT PKT ITEM") == 0\n return [false, "TGT PKT ITEM is 0"]\n end\n @cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT")\n return [true, nil]\n end\n def post_check(packet)\n wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10)\n return [true, nil]\n end\nend\n'})}),"\n",(0,s.jsx)(n.p,{children:"Python Example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-python",children:'VALIDATOR custom_validator.rb\n\nDefined in custom_validator.py:\n\nclass CustomValidator(CommandValidator):\n # Both the pre_check and post_check are passed the command packet that was sent\n # You can inspect the command in your checks as follows:\n # packet.target_name => target name\n # packet.packet_name => packet name (command name)\n # packet.read("ITEM") => converted value\n # packet.read("ITEM", :RAW) => raw value\n def pre_check(self, command):\n if tlm("TGT PKT ITEM") == 0:\n return [False, "TGT PKT ITEM is 0"]\n self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT")\n return [True, None]\n\n def post_check(self, command):\n wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10)\n return [True, None]\n'})}),"\n",(0,s.jsx)(n.h2,{id:"select_command",children:"SELECT_COMMAND"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Selects an existing command packet for editing"})}),"\n",(0,s.jsx)(n.p,{children:"Typically used in a separate configuration file from where the original command is defined to override or add to the existing command definition. Must be used in conjunction with SELECT_PARAMETER to change an individual parameter."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Required"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target Name"}),(0,s.jsx)(n.td,{children:"Name of the target this command is associated with"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Command Name"}),(0,s.jsx)(n.td,{children:"Name of the command to select"}),(0,s.jsx)(n.td,{children:"True"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:"Example Usage:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"SELECT_COMMAND INST COLLECT\n SELECT_PARAMETER DURATION\n # Add units\n UNITS Seconds S\n"})}),"\n",(0,s.jsx)(n.h2,{id:"example-file",children:"Example File"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"Example File: TARGET/cmd_tlm/cmd.txt"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data"\n PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"\n PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"\n PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"\n ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID"\n PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"\n PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"\n PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH"\n PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES"\n POLY_WRITE_CONVERSION 0 0.01745 0 0\n PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE"\n STATE NORMAL 0\n STATE DIAG 1\nCOMMAND TARGET NOOP BIG_ENDIAN "Do Nothing"\n PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"\n PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"\n PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"\n ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID"\n PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"\n PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"\n PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"\n PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA"\nCOMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings"\n PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"\n PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"\n PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"\n ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID"\n PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"\n PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"\n PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"\n <% 5.times do |x| %>\n APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>"\n <% end %>\n'})})]})}function o(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},65:function(e,n,t){t.d(n,{Z:function(){return a},a:function(){return d}});var r=t(7294);let s={},i=r.createContext(s);function d(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/72c6d8a8.5f064f28.js b/docs/assets/js/72c6d8a8.5f064f28.js deleted file mode 100644 index 0f40ddc75b..0000000000 --- a/docs/assets/js/72c6d8a8.5f064f28.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[1524],{9037:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>o,frontMatter:()=>d,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"configuration/command","title":"Commands","description":"Command definition file format and keywords","source":"@site/docs/configuration/command.md","sourceDirName":"configuration","slug":"/configuration/command","permalink":"/docs/configuration/command","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/command.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4,"title":"Commands","description":"Command definition file format and keywords","sidebar_custom_props":{"myEmoji":"\ud83d\udce1"}},"sidebar":"defaultSidebar","previous":{"title":"Targets","permalink":"/docs/configuration/target"},"next":{"title":"Telemetry","permalink":"/docs/configuration/telemetry"}}');var t=n(4848),i=n(8453);const d={sidebar_position:4,title:"Commands",description:"Command definition file format and keywords",sidebar_custom_props:{myEmoji:"\ud83d\udce1"}},a=void 0,l={},h=[{value:"Command Definition Files",id:"command-definition-files",level:2},{value:"COMMAND",id:"command",level:2},{value:"COMMAND Modifiers",id:"command-modifiers",level:2},{value:"PARAMETER",id:"parameter",level:3},{value:"PARAMETER Modifiers",id:"parameter-modifiers",level:3},{value:"FORMAT_STRING",id:"format_string",level:4},{value:"UNITS",id:"units",level:4},{value:"DESCRIPTION",id:"description",level:4},{value:"META",id:"meta",level:4},{value:"OVERLAP",id:"overlap",level:4},{value:"KEY",id:"key",level:4},{value:"VARIABLE_BIT_SIZE",id:"variable_bit_size",level:4},{value:"REQUIRED",id:"required",level:4},{value:"MINIMUM_VALUE",id:"minimum_value",level:4},{value:"MAXIMUM_VALUE",id:"maximum_value",level:4},{value:"DEFAULT_VALUE",id:"default_value",level:4},{value:"STATE",id:"state",level:4},{value:"WRITE_CONVERSION",id:"write_conversion",level:4},{value:"POLY_WRITE_CONVERSION",id:"poly_write_conversion",level:4},{value:"SEG_POLY_WRITE_CONVERSION",id:"seg_poly_write_conversion",level:4},{value:"GENERIC_WRITE_CONVERSION_START",id:"generic_write_conversion_start",level:4},{value:"GENERIC_WRITE_CONVERSION_END",id:"generic_write_conversion_end",level:4},{value:"OVERFLOW",id:"overflow",level:4},{value:"APPEND_PARAMETER",id:"append_parameter",level:3},{value:"ID_PARAMETER",id:"id_parameter",level:3},{value:"APPEND_ID_PARAMETER",id:"append_id_parameter",level:3},{value:"ARRAY_PARAMETER",id:"array_parameter",level:3},{value:"APPEND_ARRAY_PARAMETER",id:"append_array_parameter",level:3},{value:"SELECT_PARAMETER",id:"select_parameter",level:3},{value:"DELETE_PARAMETER",id:"delete_parameter",level:3},{value:"HIDDEN",id:"hidden",level:3},{value:"DISABLED",id:"disabled",level:3},{value:"DISABLE_MESSAGES",id:"disable_messages",level:3},{value:"META",id:"meta-1",level:3},{value:"HAZARDOUS",id:"hazardous",level:3},{value:"ACCESSOR",id:"accessor",level:3},{value:"TEMPLATE",id:"template",level:3},{value:"TEMPLATE_FILE",id:"template_file",level:3},{value:"RESPONSE",id:"response",level:3},{value:"ERROR_RESPONSE",id:"error_response",level:3},{value:"RELATED_ITEM",id:"related_item",level:3},{value:"SCREEN",id:"screen",level:3},{value:"VIRTUAL",id:"virtual",level:3},{value:"RESTRICTED",id:"restricted",level:3},{value:"VALIDATOR",id:"validator",level:3},{value:"SELECT_COMMAND",id:"select_command",level:2},{value:"Example File",id:"example-file",level:2}];function c(e){const r={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"command-definition-files",children:"Command Definition Files"}),"\n",(0,t.jsxs)(r.p,{children:["Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ",(0,t.jsx)(r.a,{href:"http://www.asciitable.com/",children:"ASCII Table"})," is structured, files beginning with capital letters are processed before lower case letters."]}),"\n",(0,t.jsx)(r.p,{children:"When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters."}),"\n",(0,t.jsx)("div",{style:{clear:"both"}}),"\n",(0,t.jsx)(r.h1,{id:"command-keywords",children:"Command Keywords"}),"\n",(0,t.jsx)(r.h2,{id:"command",children:"COMMAND"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines a new command packet"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Target"}),(0,t.jsx)(r.td,{children:"Name of the target this command is associated with"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Command"}),(0,t.jsx)(r.td,{children:"Name of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description of this command which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'COMMAND INST COLLECT BIG_ENDIAN "Start collect"\n'})}),"\n",(0,t.jsx)(r.h2,{id:"command-modifiers",children:"COMMAND Modifiers"}),"\n",(0,t.jsx)(r.p,{children:"The following keywords must follow a COMMAND keyword."}),"\n",(0,t.jsx)(r.h3,{id:"parameter",children:"PARAMETER"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines a command parameter in the current command packet"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Name"}),(0,t.jsx)(r.td,{children:"Name of the parameter. Must be unique within the command."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Bit Offset"}),(0,t.jsx)(r.td,{children:"Bit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Bit Size"}),(0,t.jsx)(r.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Data Type"}),(0,t.jsxs)(r.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Minimum Value"}),(0,t.jsx)(r.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Maximum Value"}),(0,t.jsx)(r.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Default Value"}),(0,t.jsx)(r.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(r.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Default Value"}),(0,t.jsx)(r.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"\nPARAMETER DATA 32 32 INT MIN MAX 0 "Data value"\nPARAMETER VALUE 64 32 FLOAT 0 10.5 2.5\nPARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply"\nPARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data"\n'})}),"\n",(0,t.jsx)(r.h3,{id:"parameter-modifiers",children:"PARAMETER Modifiers"}),"\n",(0,t.jsx)(r.p,{children:"The following keywords must follow a PARAMETER keyword."}),"\n",(0,t.jsx)(r.h4,{id:"format_string",children:"FORMAT_STRING"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Adds printf style formatting"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Format"}),(0,t.jsx)(r.td,{children:"How to format using printf syntax. For example, '0x%0X' will display the value in hex."}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'FORMAT_STRING "0x%0X"\n'})}),"\n",(0,t.jsx)(r.h4,{id:"units",children:"UNITS"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Add displayed units"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Full Name"}),(0,t.jsx)(r.td,{children:"Full name of the units type, e.g. Celsius"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Abbreviated"}),(0,t.jsx)(r.td,{children:"Abbreviation for the units, e.g. C"}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"UNITS Celsius C\nUNITS Kilometers KM\n"})}),"\n",(0,t.jsx)(r.h4,{id:"description",children:"DESCRIPTION"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Override the defined description"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Value"}),(0,t.jsx)(r.td,{children:"The new description"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.h4,{id:"meta",children:"META"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Stores custom user metadata"})}),"\n",(0,t.jsx)(r.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Meta Name"}),(0,t.jsx)(r.td,{children:"Name of the metadata to store"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Meta Values"}),(0,t.jsx)(r.td,{children:"One or more values to be stored for this Meta Name"}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'META TEST "This parameter is for test purposes only"\n'})}),"\n",(0,t.jsx)(r.h4,{id:"overlap",children:"OVERLAP"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,t.jsx)(r.strong,{children:"This item is allowed to overlap other items in the packet"})]}),"\n",(0,t.jsx)(r.p,{children:"If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message."}),"\n",(0,t.jsx)(r.h4,{id:"key",children:"KEY"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,t.jsx)(r.strong,{children:"Defines the key used to access this raw value in the packet."})]}),"\n",(0,t.jsx)(r.p,{children:"Keys are often JsonPath or XPath strings"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Key string"}),(0,t.jsx)(r.td,{children:"The key to access this item"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"KEY $.book.title\n"})}),"\n",(0,t.jsx)(r.h4,{id:"variable_bit_size",children:"VARIABLE_BIT_SIZE"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,t.jsx)(r.strong,{children:"Marks an item as having its bit size defined by another length item"})]}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Length Item Name"}),(0,t.jsx)(r.td,{children:"The name of the associated length item"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Length Bits Per Count"}),(0,t.jsx)(r.td,{children:"Bits per count of the length item. Defaults to 8"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Length Value Bit Offset"}),(0,t.jsx)(r.td,{children:"Offset in Bits to Apply to Length Field Value. Defaults to 0"}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.h4,{id:"required",children:"REQUIRED"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Parameter is required to be populated in scripts"})}),"\n",(0,t.jsx)(r.p,{children:"When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition."}),"\n",(0,t.jsx)(r.h4,{id:"minimum_value",children:"MINIMUM_VALUE"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Override the defined minimum value"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Value"}),(0,t.jsx)(r.td,{children:"The new minimum value for the parameter"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.h4,{id:"maximum_value",children:"MAXIMUM_VALUE"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Override the defined maximum value"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Value"}),(0,t.jsx)(r.td,{children:"The new maximum value for the parameter"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.h4,{id:"default_value",children:"DEFAULT_VALUE"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Override the defined default value"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Value"}),(0,t.jsx)(r.td,{children:"The new default value for the parameter"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.h4,{id:"state",children:"STATE"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines a key/value pair for the current command parameter"})}),"\n",(0,t.jsx)(r.p,{children:"Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Key"}),(0,t.jsx)(r.td,{children:"The string state name"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Value"}),(0,t.jsx)(r.td,{children:"The numerical state value"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Hazardous / Disable Messages"}),(0,t.jsxs)(r.td,{children:["Indicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"HAZARDOUS"})]}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Hazardous Description"}),(0,t.jsx)(r.td,{children:"String describing why this state is hazardous"}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"\n STATE FALSE 0\n STATE TRUE 1\nAPPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"\n STATE "NOOP" "NOOP" DISABLE_MESSAGES\n STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"\n STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"\n'})}),"\n",(0,t.jsx)(r.h4,{id:"write_conversion",children:"WRITE_CONVERSION"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Applies a conversion when writing the current command parameter"})}),"\n",(0,t.jsxs)(r.p,{children:["Conversions are implemented in a custom Ruby or Python file which should be\nlocated in the target's lib folder. The class must inherit from Conversion.\nIt must implement the ",(0,t.jsx)(r.code,{children:"initialize"})," (Ruby) or ",(0,t.jsx)(r.code,{children:"__init__"})," (Python) method if it\ntakes extra parameters and must always implement the ",(0,t.jsx)(r.code,{children:"call"})," method. The conversion\nfactor is applied to the value entered by the user before it is written into\nthe binary command packet and sent."]}),"\n",(0,t.jsx)(r.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,t.jsx)(r.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Class Filename"}),(0,t.jsx)(r.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Parameter"}),(0,t.jsx)(r.td,{children:"Additional parameter values for the conversion which are passed to the class constructor."}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"WRITE_CONVERSION the_great_conversion.rb 1000\n\nDefined in the_great_conversion.rb:\n\nrequire 'openc3/conversions/conversion'\nmodule OpenC3\n class TheGreatConversion < Conversion\n def initialize(multiplier)\n super()\n @multiplier = multiplier.to_f\n end\n def call(value, packet, buffer)\n return value * multiplier\n end\n end\nend\n"})}),"\n",(0,t.jsx)(r.p,{children:"Python Example:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-python",children:"WRITE_CONVERSION the_great_conversion.py 1000\n\nDefined in the_great_conversion.py:\n\nfrom openc3.conversions.conversion import Conversion\nclass TheGreatConversion(Conversion):\n def __init__(self, multiplier):\n super().__init__()\n self.multiplier = float(multiplier)\n def call(self, value, packet, buffer):\n return value * multiplier\n"})}),"\n",(0,t.jsx)(r.h4,{id:"poly_write_conversion",children:"POLY_WRITE_CONVERSION"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Adds a polynomial conversion factor to the current command parameter"})}),"\n",(0,t.jsx)(r.p,{children:"The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"C0"}),(0,t.jsx)(r.td,{children:"Coefficient"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Cx"}),(0,t.jsx)(r.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"POLY_WRITE_CONVERSION 10 0.5 0.25\n"})}),"\n",(0,t.jsx)(r.h4,{id:"seg_poly_write_conversion",children:"SEG_POLY_WRITE_CONVERSION"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Adds a segmented polynomial conversion factor to the current command parameter"})}),"\n",(0,t.jsx)(r.p,{children:"This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Lower Bound"}),(0,t.jsx)(r.td,{children:"Defines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"C0"}),(0,t.jsx)(r.td,{children:"Coefficient"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Cx"}),(0,t.jsx)(r.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50\nSEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100\nSEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100\n"})}),"\n",(0,t.jsx)(r.h4,{id:"generic_write_conversion_start",children:"GENERIC_WRITE_CONVERSION_START"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Start a generic write conversion"})}),"\n",(0,t.jsx)(r.p,{children:"Adds a generic conversion function to the current command parameter.\nThis conversion factor is applied to the value entered by the user before it\nis written into the binary command packet and sent. The conversion is specified\nas Ruby or Python code that receives two implied parameters. 'value' which is the raw\nvalue being written and 'packet' which is a reference to the command packet\nclass (Note, referencing the packet as 'myself' is still supported for backwards\ncompatibility). The last line of code should return the converted\nvalue. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of\ncode for the conversion have been given."}),"\n",(0,t.jsx)(r.admonition,{title:"Multiple write conversions on command parameters",type:"info",children:(0,t.jsx)(r.p,{children:"When a command is built, each item gets written (and write conversions are run)\nto set the default value. Then items are written (again write conversions are run)\nwith user provided values. Thus write conversions can be run twice. Also there are\nno guarantees which parameters have already been written. The packet itself has a\ngiven_values() method which can be used to retrieve a hash of the user provided\nvalues to the command. That can be used to check parameter values passed in."})}),"\n",(0,t.jsx)(r.admonition,{type:"warning",children:(0,t.jsx)(r.p,{children:"Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance."})}),"\n",(0,t.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return (value * 1.5).to_i # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,t.jsx)(r.p,{children:"Python Example:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-python",children:"APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0\n GENERIC_WRITE_CONVERSION_START\n return int(value * 1.5) # Convert the value by a scale factor\n GENERIC_WRITE_CONVERSION_END\n"})}),"\n",(0,t.jsx)(r.h4,{id:"generic_write_conversion_end",children:"GENERIC_WRITE_CONVERSION_END"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Complete a generic write conversion"})}),"\n",(0,t.jsx)(r.h4,{id:"overflow",children:"OVERFLOW"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Set the behavior when writing a value overflows the type"})}),"\n",(0,t.jsx)(r.p,{children:"By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Behavior"}),(0,t.jsxs)(r.td,{children:["How OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE"})]}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"OVERFLOW TRUNCATE\n"})}),"\n",(0,t.jsx)(r.h3,{id:"append_parameter",children:"APPEND_PARAMETER"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines a command parameter in the current command packet"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Name"}),(0,t.jsx)(r.td,{children:"Name of the parameter. Must be unique within the command."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Bit Size"}),(0,t.jsx)(r.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Data Type"}),(0,t.jsxs)(r.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Minimum Value"}),(0,t.jsx)(r.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Maximum Value"}),(0,t.jsx)(r.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Default Value"}),(0,t.jsx)(r.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(r.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Default Value"}),(0,t.jsx)(r.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"\nAPPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5\nAPPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply"\n'})}),"\n",(0,t.jsx)(r.h3,{id:"id_parameter",children:"ID_PARAMETER"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines an identification command parameter in the current command packet"})}),"\n",(0,t.jsx)(r.p,{children:"ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Name"}),(0,t.jsx)(r.td,{children:"Name of the parameter. Must be unique within the command."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Bit Offset"}),(0,t.jsx)(r.td,{children:"Bit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Bit Size"}),(0,t.jsx)(r.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Data Type"}),(0,t.jsxs)(r.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Minimum Value"}),(0,t.jsx)(r.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Maximum Value"}),(0,t.jsx)(r.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"ID Value"}),(0,t.jsx)(r.td,{children:"Identification value for this parameter. The binary data must match this value for the buffer to be identified as this packet."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(r.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Default Value"}),(0,t.jsx)(r.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier"\n'})}),"\n",(0,t.jsx)(r.h3,{id:"append_id_parameter",children:"APPEND_ID_PARAMETER"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines an identification command parameter in the current command packet"})}),"\n",(0,t.jsx)(r.p,{children:"ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Name"}),(0,t.jsx)(r.td,{children:"Name of the parameter. Must be unique within the command."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Bit Size"}),(0,t.jsx)(r.td,{children:"Bit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Data Type"}),(0,t.jsxs)(r.td,{children:["Data Type of this parameter",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, DERIVED, STRING, BLOCK"})]}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Minimum Value"}),(0,t.jsx)(r.td,{children:"Minimum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Maximum Value"}),(0,t.jsx)(r.td,{children:"Maximum allowed value for this parameter"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"ID Value"}),(0,t.jsx)(r.td,{children:"Identification value for this parameter. The binary data must match this value for the buffer to be identified as this packet."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on ",(0,t.jsx)(r.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"When Data Type is STRING, BLOCK the remaining parameters are:"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Default Value"}),(0,t.jsx)(r.td,{children:"Default value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for this parameter which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier"\n'})}),"\n",(0,t.jsx)(r.h3,{id:"array_parameter",children:"ARRAY_PARAMETER"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines a command parameter in the current command packet that is an array"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Name"}),(0,t.jsx)(r.td,{children:"Name of the parameter. Must be unique within the command."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Bit Offset"}),(0,t.jsx)(r.td,{children:"Bit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Item Bit Size"}),(0,t.jsx)(r.td,{children:"Bit size of each array item"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Item Data Type"}),(0,t.jsxs)(r.td,{children:["Data Type of each array item",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Array Bit Size"}),(0,t.jsx)(r.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats"\n'})}),"\n",(0,t.jsx)(r.h3,{id:"append_array_parameter",children:"APPEND_ARRAY_PARAMETER"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Defines a command parameter in the current command packet that is an array"})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Name"}),(0,t.jsx)(r.td,{children:"Name of the parameter. Must be unique within the command."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Item Bit Size"}),(0,t.jsx)(r.td,{children:"Bit size of each array item"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Item Data Type"}),(0,t.jsxs)(r.td,{children:["Data Type of each array item",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Array Bit Size"}),(0,t.jsx)(r.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Endianness"}),(0,t.jsxs)(r.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats"\n'})}),"\n",(0,t.jsx)(r.h3,{id:"select_parameter",children:"SELECT_PARAMETER"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Selects an existing command parameter for editing"})}),"\n",(0,t.jsx)(r.p,{children:"Must be used in conjunction with SELECT_COMMAND to first select the packet. Typically used to override generated values or make specific changes to commands that only affect a particular instance of a target used multiple times."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Parameter"}),(0,t.jsx)(r.td,{children:"Name of the parameter to select for modification"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"SELECT_COMMAND INST COLLECT\n SELECT_PARAMETER DURATION\n # Add units\n UNITS Seconds S\n"})}),"\n",(0,t.jsx)(r.h3,{id:"delete_parameter",children:"DELETE_PARAMETER"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,t.jsx)(r.strong,{children:"Deletes an existing command parameter from the packet definition"})]}),"\n",(0,t.jsx)(r.p,{children:'Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter.'}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Parameter"}),(0,t.jsx)(r.td,{children:"Name of the parameter to delete"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"SELECT_COMMAND INST COLLECT\n DELETE_PARAMETER DURATION\n"})}),"\n",(0,t.jsx)(r.h3,{id:"hidden",children:"HIDDEN"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator"})}),"\n",(0,t.jsx)(r.p,{children:"Hidden commands do not appear in the Script Runner popup helper when writing scripts. The command still exists in the system and can be sent by scripts."}),"\n",(0,t.jsx)(r.h3,{id:"disabled",children:"DISABLED"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Disables this command from being sent"})}),"\n",(0,t.jsx)(r.p,{children:"Hides the command and also disables it from being sent by scripts. Attempts to send DISABLED commands result in an error message."}),"\n",(0,t.jsx)(r.h3,{id:"disable_messages",children:"DISABLE_MESSAGES"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Disable the Server from printing cmd(...) messages. Commands are still logged."})}),"\n",(0,t.jsx)(r.h3,{id:"meta-1",children:"META"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Stores metadata for the current command"})}),"\n",(0,t.jsx)(r.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Meta Name"}),(0,t.jsx)(r.td,{children:"Name of the metadata to store"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Meta Values"}),(0,t.jsx)(r.td,{children:"One or more values to be stored for this Meta Name"}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'META FSW_TYPE "struct command"\n'})}),"\n",(0,t.jsx)(r.h3,{id:"hazardous",children:"HAZARDOUS"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Designates the current command as hazardous"})}),"\n",(0,t.jsx)(r.p,{children:"Sending a hazardous command causes a dialog asking for confirmation before sending the command"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Description"}),(0,t.jsx)(r.td,{children:"Description for why the command is hazardous which must be enclosed with quotes"}),(0,t.jsx)(r.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(r.h3,{id:"accessor",children:"ACCESSOR"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,t.jsx)(r.strong,{children:"Defines the class used to read and write raw values from the packet"})]}),"\n",(0,t.jsx)(r.p,{children:"Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Accessor Class Name"}),(0,t.jsx)(r.td,{children:"The name of the accessor class"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Argument"}),(0,t.jsx)(r.td,{children:"Additional argument passed to the accessor class constructor"}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.h3,{id:"template",children:"TEMPLATE"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,t.jsx)(r.strong,{children:"Defines a template string used to initialize the command before default values are filled in"})]}),"\n",(0,t.jsx)(r.p,{children:"Generally the template string is formatted in JSON or HTML and then values are filled in with command parameters. Must be UTF-8 encoded."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Template"}),(0,t.jsx)(r.td,{children:"The template string which should be enclosed in quotes"}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.h3,{id:"template_file",children:"TEMPLATE_FILE"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,t.jsx)(r.strong,{children:"Defines a template file used to initialize the command before default values are filled in"})]}),"\n",(0,t.jsx)(r.p,{children:"Generally the template file is formatted in JSON or HTML and then values are filled in with command parameters. Can be binary or UTF-8."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsx)(r.tbody,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Template File Path"}),(0,t.jsx)(r.td,{children:"The relative path to the template file. Filename should generally start with an underscore."}),(0,t.jsx)(r.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(r.h3,{id:"response",children:"RESPONSE"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,t.jsx)(r.strong,{children:"Indicates the expected telemetry packet response to this command"})]}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Target Name"}),(0,t.jsx)(r.td,{children:"Target Name of telemetry response packet"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Packet Name"}),(0,t.jsx)(r.td,{children:"Packet Name of telemetry response packet"}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.h3,{id:"error_response",children:"ERROR_RESPONSE"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,t.jsx)(r.strong,{children:"Indicates the expected telemetry packet error response to this command"})]}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Target Name"}),(0,t.jsx)(r.td,{children:"Target Name of telemetry error response packet"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Packet Name"}),(0,t.jsx)(r.td,{children:"Packet Name of telemetry error response packet"}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.h3,{id:"related_item",children:"RELATED_ITEM"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,t.jsx)(r.strong,{children:"Defines a related telemetry item to this command"})]}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Target Name"}),(0,t.jsx)(r.td,{children:"Target Name of related telemetry item"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Packet Name"}),(0,t.jsx)(r.td,{children:"Packet Name of related telemetry item"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Item Name"}),(0,t.jsx)(r.td,{children:"Item Name of related telemetry item"}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.h3,{id:"screen",children:"SCREEN"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.14.0)"}),(0,t.jsx)(r.strong,{children:"Defines a related telemetry screen to this command"})]}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Target Name"}),(0,t.jsx)(r.td,{children:"Target Name of related telemetry screen"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Screen Name"}),(0,t.jsx)(r.td,{children:"Screen Name of related telemetry screen"}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.h3,{id:"virtual",children:"VIRTUAL"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,t.jsx)(r.strong,{children:"Marks this packet as virtual and not participating in identification"})]}),"\n",(0,t.jsx)(r.p,{children:"Used for packet definitions that can be used as structures for items with a given packet."}),"\n",(0,t.jsx)(r.h3,{id:"restricted",children:"RESTRICTED"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.20.0)"}),(0,t.jsx)(r.strong,{children:"Marks this packet as restricted and will require approval if critical commanding is enabled"})]}),"\n",(0,t.jsx)(r.p,{children:"Used as one of the two types of critical commands (HAZARDOUS and RESTRICTED)"}),"\n",(0,t.jsx)(r.h3,{id:"validator",children:"VALIDATOR"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.19.0)"}),(0,t.jsx)(r.strong,{children:"Defines a validator class for a command"})]}),"\n",(0,t.jsx)(r.p,{children:"Validator class is used to validate the command success or failure with both a pre_check and post_check method."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Class Filename"}),(0,t.jsx)(r.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'."}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Argument"}),(0,t.jsx)(r.td,{children:"Additional argument passed to the validator class constructor"}),(0,t.jsx)(r.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Ruby Example:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'VALIDATOR custom_validator.rb\n\nDefined in custom_validator.rb:\n\nrequire \'openc3/packets/command_validator\'\nclass CustomValidator < OpenC3::CommandValidator\n def pre_check(packet)\n if tlm("TGT PKT ITEM") == 0\n return [false, "TGT PKT ITEM is 0"]\n end\n @cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT")\n return [true, nil]\n end\n def post_check(packet)\n wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10)\n return [true, nil]\n end\nend\n'})}),"\n",(0,t.jsx)(r.p,{children:"Python Example:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-python",children:'VALIDATOR custom_validator.rb\n\nDefined in custom_validator.py:\n\nclass CustomValidator(CommandValidator):\n def pre_check(self, command):\n if tlm("TGT PKT ITEM") == 0:\n return [False, "TGT PKT ITEM is 0"]\n self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT")\n return [True, None]\n\n def post_check(self, command):\n wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10)\n return [True, None]\n'})}),"\n",(0,t.jsx)(r.h2,{id:"select_command",children:"SELECT_COMMAND"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Selects an existing command packet for editing"})}),"\n",(0,t.jsx)(r.p,{children:"Typically used in a separate configuration file from where the original command is defined to override or add to the existing command definition. Must be used in conjunction with SELECT_PARAMETER to change an individual parameter."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"Parameter"}),(0,t.jsx)(r.th,{children:"Description"}),(0,t.jsx)(r.th,{children:"Required"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Target Name"}),(0,t.jsx)(r.td,{children:"Name of the target this command is associated with"}),(0,t.jsx)(r.td,{children:"True"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Command Name"}),(0,t.jsx)(r.td,{children:"Name of the command to select"}),(0,t.jsx)(r.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(r.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:"SELECT_COMMAND INST COLLECT\n SELECT_PARAMETER DURATION\n # Add units\n UNITS Seconds S\n"})}),"\n",(0,t.jsx)(r.h2,{id:"example-file",children:"Example File"}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.strong,{children:"Example File: TARGET/cmd_tlm/cmd.txt"})}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-ruby",children:'COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data"\n PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"\n PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"\n PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"\n ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID"\n PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"\n PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"\n PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH"\n PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES"\n POLY_WRITE_CONVERSION 0 0.01745 0 0\n PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE"\n STATE NORMAL 0\n STATE DIAG 1\nCOMMAND TARGET NOOP BIG_ENDIAN "Do Nothing"\n PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"\n PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"\n PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"\n ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID"\n PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"\n PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"\n PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"\n PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA"\nCOMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings"\n PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"\n PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"\n PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"\n ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID"\n PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"\n PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"\n PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"\n <% 5.times do |x| %>\n APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>"\n <% end %>\n'})})]})}function o(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>a});var s=n(6540);const t={},i=s.createContext(t);function d(e){const r=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/75897369.522ccdd7.js b/docs/assets/js/75897369.522ccdd7.js new file mode 100644 index 0000000000..e1c2cbf783 --- /dev/null +++ b/docs/assets/js/75897369.522ccdd7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4592"],{2050:function(e){e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/docs/assets/js/75897369.7b31b03e.js b/docs/assets/js/75897369.7b31b03e.js deleted file mode 100644 index 0df3de73b1..0000000000 --- a/docs/assets/js/75897369.7b31b03e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2827],{8552:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/docs/assets/js/75e64983.255a094b.js b/docs/assets/js/75e64983.255a094b.js new file mode 100644 index 0000000000..e0bb21269f --- /dev/null +++ b/docs/assets/js/75e64983.255a094b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2448"],{8944:function(e,n,t){t.r(n),t.d(n,{metadata:()=>i,contentTitle:()=>a,default:()=>g,assets:()=>c,toc:()=>d,frontMatter:()=>r});var i=JSON.parse('{"id":"getting-started/upgrading","title":"Upgrading","description":"How to upgrade and migrate COSMOS","source":"@site/docs/getting-started/upgrading.md","sourceDirName":"getting-started","slug":"/getting-started/upgrading","permalink":"/docs/getting-started/upgrading","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/upgrading.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4,"title":"Upgrading","description":"How to upgrade and migrate COSMOS","sidebar_custom_props":{"myEmoji":"\u2B06\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Code Generators","permalink":"/docs/getting-started/generators"},"next":{"title":"Key Concepts","permalink":"/docs/getting-started/key_concepts"}}'),o=t("5893"),s=t("65");let r={sidebar_position:4,title:"Upgrading",description:"How to upgrade and migrate COSMOS",sidebar_custom_props:{myEmoji:"\u2B06\uFE0F"}},a=void 0,c={},d=[{value:"COSMOS Upgrades",id:"cosmos-upgrades",level:3},{value:"Migrating From COSMOS 4 to COSMOS 5",id:"migrating-from-cosmos-4-to-cosmos-5",level:3}];function l(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h3,{id:"cosmos-upgrades",children:"COSMOS Upgrades"}),"\n",(0,o.jsx)(n.p,{children:"COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release."}),"\n",(0,o.jsx)(n.p,{children:"This example assumes an existing COSMOS project at C:\\cosmos-project."}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Stop the current COSMOS application"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-batch",children:"C:\\cosmos-project> openc3.bat stop\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Change the release in the .env file to the desired release"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-batch",children:"OPENC3_TAG=5.1.1\n"})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Run the new COSMOS application"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-batch",children:"C:\\cosmos-project> openc3.bat run\n"})}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.admonition,{title:"Downgrades",type:"warning",children:[(0,o.jsx)(n.p,{children:"Downgrades are not necessarily supported. When upgrading COSMOS we need to upgrade databases and sometimes migrate internal data structures. While we perform a full regression test on every release, we recommend upgrading an individual machine with your specific plugins and do local testing before rolling out the upgrade to your production system."}),(0,o.jsxs)(n.p,{children:["In general, patch releases (x.y.Z) can be downgraded, minor releases (x.Y.z) ",(0,o.jsx)(n.em,{children:"might"})," be able to be downgraded and major releases (X.y.z) are NOT able to be downgraded."]})]}),"\n",(0,o.jsx)(n.h3,{id:"migrating-from-cosmos-4-to-cosmos-5",children:"Migrating From COSMOS 4 to COSMOS 5"}),"\n",(0,o.jsxs)(n.p,{children:["COSMOS 5 is a new architecture and treats targets as independent ",(0,o.jsx)(n.a,{href:"/docs/configuration/plugins",children:"plugins"}),". Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment."]}),"\n",(0,o.jsx)(n.p,{children:"COSMOS 5 includes a migration tool for converting an existing COSMOS 4 configuration into a COSMOS 5 plugin. This example assumes an existing COSMOS 4 configuration at C:\\COSMOS and a new COSMOS 5 installation at C:\\cosmos-project. Linux users can adjust paths and change from .bat to .sh to follow along."}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:"Change to the existing COSMOS 4 configuration directory. You should see the config, lib, procedures, outputs directory. You can then run the migration tool by specifying the absolute path to the COSMOS 5 installation."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-batch",children:"C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate -a demo\n"})}),"\n",(0,o.jsx)(n.p,{children:"This creates a new COSMOS 5 plugin called openc3-cosmos-demo with a target named DEMO containing the existing lib and procedures files as well as all the existing targets."}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-batch",children:"C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate demo-part INST\n"})}),"\n",(0,o.jsx)(n.p,{children:"This would create a new COSMOS 5 plugin called openc3-cosmos-demo-part with a target named DEMO_PART containing the existing lib and procedures files as well as the INST target (but no others)."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Open the new COSMOS 5 plugin and ensure the ",(0,o.jsx)(n.a,{href:"/docs/configuration/plugins#plugintxt-configuration-file",children:"plugin.txt"})," file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually."]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsxs)(n.p,{children:["Follow the ",(0,o.jsx)(n.a,{href:"/docs/getting-started/gettingstarted#building-your-plugin",children:"building your plugin"})," part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5."]}),"\n"]}),"\n"]})]})}function g(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},65:function(e,n,t){t.d(n,{Z:function(){return a},a:function(){return r}});var i=t(7294);let o={},s=i.createContext(o);function r(e){let n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/75e64983.e53e7dfc.js b/docs/assets/js/75e64983.e53e7dfc.js deleted file mode 100644 index e85cd0d90f..0000000000 --- a/docs/assets/js/75e64983.e53e7dfc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7388],{2792:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"getting-started/upgrading","title":"Upgrading","description":"How to upgrade and migrate COSMOS","source":"@site/docs/getting-started/upgrading.md","sourceDirName":"getting-started","slug":"/getting-started/upgrading","permalink":"/docs/getting-started/upgrading","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/upgrading.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4,"title":"Upgrading","description":"How to upgrade and migrate COSMOS","sidebar_custom_props":{"myEmoji":"\u2b06\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Code Generators","permalink":"/docs/getting-started/generators"},"next":{"title":"Key Concepts","permalink":"/docs/getting-started/key_concepts"}}');var s=t(4848),o=t(8453);const r={sidebar_position:4,title:"Upgrading",description:"How to upgrade and migrate COSMOS",sidebar_custom_props:{myEmoji:"\u2b06\ufe0f"}},a=void 0,c={},l=[{value:"COSMOS Upgrades",id:"cosmos-upgrades",level:3},{value:"Migrating From COSMOS 4 to COSMOS 5",id:"migrating-from-cosmos-4-to-cosmos-5",level:3}];function d(e){const n={a:"a",code:"code",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h3,{id:"cosmos-upgrades",children:"COSMOS Upgrades"}),"\n",(0,s.jsx)(n.p,{children:"COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release."}),"\n",(0,s.jsx)(n.p,{children:"This example assumes an existing COSMOS project at C:\\cosmos-project."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Stop the current COSMOS application"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-batch",children:"C:\\cosmos-project> openc3.bat stop\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Change the release in the .env file to the desired release"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-batch",children:"OPENC3_TAG=5.1.1\n"})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Run the new COSMOS application"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-batch",children:"C:\\cosmos-project> openc3.bat run\n"})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"migrating-from-cosmos-4-to-cosmos-5",children:"Migrating From COSMOS 4 to COSMOS 5"}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS 5 is a new architecture and treats targets as independent ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins",children:"plugins"}),". Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment."]}),"\n",(0,s.jsx)(n.p,{children:"COSMOS 5 includes a migration tool for converting an existing COSMOS 4 configuration into a COSMOS 5 plugin. This example assumes an existing COSMOS 4 configuration at C:\\COSMOS and a new COSMOS 5 installation at C:\\cosmos-project. Linux users can adjust paths and change from .bat to .sh to follow along."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Change to the existing COSMOS 4 configuration directory. You should see the config, lib, procedures, outputs directory. You can then run the migration tool by specifying the absolute path to the COSMOS 5 installation."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-batch",children:"C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate -a demo\n"})}),"\n",(0,s.jsx)(n.p,{children:"This creates a new COSMOS 5 plugin called openc3-cosmos-demo with a target named DEMO containing the existing lib and procedures files as well as all the existing targets."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-batch",children:"C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate demo-part INST\n"})}),"\n",(0,s.jsx)(n.p,{children:"This would create a new COSMOS 5 plugin called openc3-cosmos-demo-part with a target named DEMO_PART containing the existing lib and procedures files as well as the INST target (but no others)."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Open the new COSMOS 5 plugin and ensure the ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins#plugintxt-configuration-file",children:"plugin.txt"})," file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Follow the ",(0,s.jsx)(n.a,{href:"/docs/getting-started/gettingstarted#building-your-plugin",children:"building your plugin"})," part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(6540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7f8d7499.85f3ecbc.js b/docs/assets/js/7f8d7499.85f3ecbc.js new file mode 100644 index 0000000000..5e377941ea --- /dev/null +++ b/docs/assets/js/7f8d7499.85f3ecbc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["1246"],{8654:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Configuration","slug":"/configuration","permalink":"/docs/configuration","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Podman","permalink":"/docs/getting-started/podman"},"next":{"title":"File Format","permalink":"/docs/configuration/format"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/7f8d7499.c7c8b990.js b/docs/assets/js/7f8d7499.c7c8b990.js deleted file mode 100644 index 963321e103..0000000000 --- a/docs/assets/js/7f8d7499.c7c8b990.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3851],{3688:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Configuration","slug":"/configuration","permalink":"/docs/configuration","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Podman","permalink":"/docs/getting-started/podman"},"next":{"title":"File Format","permalink":"/docs/configuration/format"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/80a8ecf5.c59c2f04.js b/docs/assets/js/80a8ecf5.c59c2f04.js new file mode 100644 index 0000000000..53ac60e6aa --- /dev/null +++ b/docs/assets/js/80a8ecf5.c59c2f04.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3822"],{5440:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Guides","slug":"/guides","permalink":"/docs/guides","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Telemetry Viewer","permalink":"/docs/tools/tlm-viewer"},"next":{"title":"Bridges","permalink":"/docs/guides/bridges"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/80a8ecf5.fd0e8363.js b/docs/assets/js/80a8ecf5.fd0e8363.js deleted file mode 100644 index 3f62555a74..0000000000 --- a/docs/assets/js/80a8ecf5.fd0e8363.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3479],{5493:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Guides","slug":"/guides","permalink":"/docs/guides","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Telemetry Viewer","permalink":"/docs/tools/tlm-viewer"},"next":{"title":"Bridges","permalink":"/docs/guides/bridges"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/80c97f38.79118eb0.js b/docs/assets/js/80c97f38.79118eb0.js deleted file mode 100644 index 8eec6fc82b..0000000000 --- a/docs/assets/js/80c97f38.79118eb0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2717],{9743:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"tools/command_history","title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","source":"@site/docs/tools/command_history.md","sourceDirName":"tools","slug":"/tools/command_history","permalink":"/docs/tools/command_history","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/command_history.md","tags":[],"version":"current","frontMatter":{"title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Command and Telemetry Server","permalink":"/docs/tools/cmd-tlm-server"},"next":{"title":"Data Extractor","permalink":"/docs/tools/data-extractor"}}');var n=o(4848),a=o(8453);const i={title:"Command History (Enterprise)",description:"See all the commands sent, by whom, and if successful",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},c=void 0,r={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Selecting Time",id:"selecting-time",level:3},{value:"Commands Table",id:"commands-table",level:2}];function m(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsx)(t.p,{children:"Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated)."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Command History",src:o(7445).A+"",width:"2878",height:"1660"})}),"\n",(0,n.jsx)(t.h3,{id:"selecting-time",children:"Selecting Time"}),"\n",(0,n.jsx)(t.p,{children:"By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers."}),"\n",(0,n.jsx)(t.h2,{id:"commands-table",children:"Commands Table"}),"\n",(0,n.jsx)(t.p,{children:"The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description."}),"\n",(0,n.jsx)(t.p,{children:"As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2)."}),"\n",(0,n.jsxs)(t.p,{children:["The Result field is the result of executing Command Validators established by the ",(0,n.jsx)(t.a,{href:"../configuration/command#validator",children:"VALIDATOR"})," keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above."]}),"\n",(0,n.jsxs)(t.p,{children:["For more information read the ",(0,n.jsx)(t.a,{href:"../configuration/command#validator",children:"VALIDATOR"})," documentation and also see the ",(0,n.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/lib/inst_cmd_validator.rb",children:"Ruby Example"})," and the ",(0,n.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/lib/inst2_cmd_validator.py",children:"Python Example"})," in the ",(0,n.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo",children:"COSMOS Demo"}),"."]})]})}function l(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},7445:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/command_history-ecc9b618661ad0aefa0700047a8ab3b094372f2aa427e9fcd270dcd352a30408.png"},8453:(e,t,o)=>{o.d(t,{R:()=>i,x:()=>c});var s=o(6540);const n={},a=s.createContext(n);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/80c97f38.e6336c1b.js b/docs/assets/js/80c97f38.e6336c1b.js new file mode 100644 index 0000000000..50ccc6ff94 --- /dev/null +++ b/docs/assets/js/80c97f38.e6336c1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7072"],{5066:function(e,t,o){o.r(t),o.d(t,{metadata:()=>n,contentTitle:()=>c,default:()=>l,assets:()=>r,toc:()=>d,frontMatter:()=>i});var n=JSON.parse('{"id":"tools/command_history","title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","source":"@site/docs/tools/command_history.md","sourceDirName":"tools","slug":"/tools/command_history","permalink":"/docs/tools/command_history","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/command_history.md","tags":[],"version":"current","frontMatter":{"title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Command and Telemetry Server","permalink":"/docs/tools/cmd-tlm-server"},"next":{"title":"Data Extractor","permalink":"/docs/tools/data-extractor"}}'),s=o("5893"),a=o("65");let i={title:"Command History (Enterprise)",description:"See all the commands sent, by whom, and if successful",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},c=void 0,r={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Selecting Time",id:"selecting-time",level:3},{value:"Commands Table",id:"commands-table",level:2}];function m(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(t.p,{children:"Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated)."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Command History",src:o(7892).Z+"",width:"2878",height:"1660"})}),"\n",(0,s.jsx)(t.h3,{id:"selecting-time",children:"Selecting Time"}),"\n",(0,s.jsx)(t.p,{children:"By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers."}),"\n",(0,s.jsx)(t.h2,{id:"commands-table",children:"Commands Table"}),"\n",(0,s.jsx)(t.p,{children:"The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description."}),"\n",(0,s.jsx)(t.p,{children:"As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2)."}),"\n",(0,s.jsxs)(t.p,{children:["The Result field is the result of executing Command Validators established by the ",(0,s.jsx)(t.a,{href:"../configuration/command#validator",children:"VALIDATOR"})," keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above."]}),"\n",(0,s.jsxs)(t.p,{children:["For more information read the ",(0,s.jsx)(t.a,{href:"../configuration/command#validator",children:"VALIDATOR"})," documentation and also see the ",(0,s.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/lib/inst_cmd_validator.rb",children:"Ruby Example"})," and the ",(0,s.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/lib/inst2_cmd_validator.py",children:"Python Example"})," in the ",(0,s.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo",children:"COSMOS Demo"}),"."]})]})}function l(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},7892:function(e,t,o){o.d(t,{Z:function(){return n}});let n=o.p+"assets/images/command_history-ecc9b618661ad0aefa0700047a8ab3b094372f2aa427e9fcd270dcd352a30408.png"},65:function(e,t,o){o.d(t,{Z:function(){return c},a:function(){return i}});var n=o(7294);let s={},a=n.createContext(s);function i(e){let t=n.useContext(a);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/848bfa8e.158f89c1.js b/docs/assets/js/848bfa8e.158f89c1.js deleted file mode 100644 index 0f49991931..0000000000 --- a/docs/assets/js/848bfa8e.158f89c1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[4619],{8912:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"Introduction","href":"/docs/","docId":"introduction","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/docs/getting-started/installation","customProps":{"myEmoji":"\ud83d\udcbe"},"docId":"getting-started/installation","unlisted":false},{"type":"link","label":"Getting Started","href":"/docs/getting-started/gettingstarted","customProps":{"myEmoji":"\ud83e\uddd1\u200d\ud83d\udcbb"},"docId":"getting-started/gettingstarted","unlisted":false},{"type":"link","label":"Code Generators","href":"/docs/getting-started/generators","customProps":{"myEmoji":"\ud83c\udfed"},"docId":"getting-started/generators","unlisted":false},{"type":"link","label":"Upgrading","href":"/docs/getting-started/upgrading","customProps":{"myEmoji":"\u2b06\ufe0f"},"docId":"getting-started/upgrading","unlisted":false},{"type":"link","label":"Key Concepts","href":"/docs/getting-started/key_concepts","customProps":{"myEmoji":"\ud83d\udca1"},"docId":"getting-started/key_concepts","unlisted":false},{"type":"link","label":"Requirements and Design","href":"/docs/getting-started/requirements","customProps":{"myEmoji":"\ud83d\udcd1"},"docId":"getting-started/requirements","unlisted":false},{"type":"link","label":"Podman","href":"/docs/getting-started/podman","customProps":{"myEmoji":"\ud83e\udedb"},"docId":"getting-started/podman","unlisted":false}],"href":"/docs/getting-started"},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"File Format","href":"/docs/configuration/format","docId":"configuration/format","unlisted":false},{"type":"link","label":"Plugins","href":"/docs/configuration/plugins","customProps":{"myEmoji":"\ud83d\udd0c"},"docId":"configuration/plugins","unlisted":false},{"type":"link","label":"Targets","href":"/docs/configuration/target","customProps":{"myEmoji":"\ud83d\udef0\ufe0f"},"docId":"configuration/target","unlisted":false},{"type":"link","label":"Commands","href":"/docs/configuration/command","customProps":{"myEmoji":"\ud83d\udce1"},"docId":"configuration/command","unlisted":false},{"type":"link","label":"Telemetry","href":"/docs/configuration/telemetry","customProps":{"myEmoji":"\ud83d\udce1"},"docId":"configuration/telemetry","unlisted":false},{"type":"link","label":"Interfaces","href":"/docs/configuration/interfaces","customProps":{"myEmoji":"\ud83d\udca1"},"docId":"configuration/interfaces","unlisted":false},{"type":"link","label":"Protocols","href":"/docs/configuration/protocols","customProps":{"myEmoji":"\ud83d\udca1"},"docId":"configuration/protocols","unlisted":false},{"type":"link","label":"Tables","href":"/docs/configuration/table","docId":"configuration/table","unlisted":false},{"type":"link","label":"Screens","href":"/docs/configuration/telemetry-screens","customProps":{"myEmoji":"\ud83d\udda5\ufe0f"},"docId":"configuration/telemetry-screens","unlisted":false},{"type":"link","label":"SSL-TLS","href":"/docs/configuration/ssl-tls","customProps":{"myEmoji":"\ud83d\udd10"},"docId":"configuration/ssl-tls","unlisted":false}],"href":"/docs/configuration"},{"type":"category","label":"Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Autonomic (Enterprise)","href":"/docs/tools/autonomic","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/autonomic","unlisted":false},{"type":"link","label":"Bucket Explorer","href":"/docs/tools/bucket-explorer","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/bucket-explorer","unlisted":false},{"type":"link","label":"Calendar (Enterprise)","href":"/docs/tools/calendar","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/calendar","unlisted":false},{"type":"link","label":"Command Sender","href":"/docs/tools/cmd-sender","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/cmd-sender","unlisted":false},{"type":"link","label":"Command and Telemetry Server","href":"/docs/tools/cmd-tlm-server","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/cmd-tlm-server","unlisted":false},{"type":"link","label":"Command History (Enterprise)","href":"/docs/tools/command_history","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/command_history","unlisted":false},{"type":"link","label":"Data Extractor","href":"/docs/tools/data-extractor","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/data-extractor","unlisted":false},{"type":"link","label":"Data Viewer","href":"/docs/tools/data-viewer","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/data-viewer","unlisted":false},{"type":"link","label":"Handbooks","href":"/docs/tools/handbooks","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/handbooks","unlisted":false},{"type":"link","label":"Limits Monitor","href":"/docs/tools/limits-monitor","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/limits-monitor","unlisted":false},{"type":"link","label":"Packet Viewer","href":"/docs/tools/packet-viewer","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/packet-viewer","unlisted":false},{"type":"link","label":"Script Runner","href":"/docs/tools/script-runner","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/script-runner","unlisted":false},{"type":"link","label":"Table Manager","href":"/docs/tools/table-manager","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/table-manager","unlisted":false},{"type":"link","label":"Telemetry Grapher","href":"/docs/tools/tlm-grapher","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/tlm-grapher","unlisted":false},{"type":"link","label":"Telemetry Viewer","href":"/docs/tools/tlm-viewer","customProps":{"myEmoji":"\ud83d\udee0\ufe0f"},"docId":"tools/tlm-viewer","unlisted":false}],"href":"/docs/tools"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bridges","href":"/docs/guides/bridges","customProps":{"myEmoji":"\ud83c\udf09"},"docId":"guides/bridges","unlisted":false},{"type":"link","label":"COSMOS and NASA cFS","href":"/docs/guides/cfs","customProps":{"myEmoji":"\ud83d\ude80"},"docId":"guides/cfs","unlisted":false},{"type":"link","label":"Custom Widgets","href":"/docs/guides/custom-widgets","customProps":{"myEmoji":"\ud83d\udd28"},"docId":"guides/custom-widgets","unlisted":false},{"type":"link","label":"Little Endian Bitfields","href":"/docs/guides/little-endian-bitfields","customProps":{"myEmoji":"\ud83d\udcbb"},"docId":"guides/little-endian-bitfields","unlisted":false},{"type":"link","label":"Local Mode","href":"/docs/guides/local-mode","customProps":{"myEmoji":"\ud83e\udded"},"docId":"guides/local-mode","unlisted":false},{"type":"link","label":"Logging","href":"/docs/guides/logging","customProps":{"myEmoji":"\ud83e\udeb5"},"docId":"guides/logging","unlisted":false},{"type":"link","label":"Monitoring","href":"/docs/guides/monitoring","customProps":{"myEmoji":"\ud83d\udda5\ufe0f"},"docId":"guides/monitoring","unlisted":false},{"type":"link","label":"Performance","href":"/docs/guides/performance","customProps":{"myEmoji":"\ud83d\udcca"},"docId":"guides/performance","unlisted":false},{"type":"link","label":"Raspberry Pi","href":"/docs/guides/raspberrypi","customProps":{"myEmoji":"\ud83c\udf53"},"docId":"guides/raspberrypi","unlisted":false},{"type":"link","label":"Script Writing Guide","href":"/docs/guides/script-writing","customProps":{"myEmoji":"\ud83c\udfc3\u200d\u27a1\ufe0f"},"docId":"guides/script-writing","unlisted":false},{"type":"link","label":"Scripting API Guide","href":"/docs/guides/scripting-api","customProps":{"myEmoji":"\ud83d\udcdd"},"docId":"guides/scripting-api","unlisted":false}],"href":"/docs/guides"},{"type":"category","label":"Development","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing with Curl","href":"/docs/development/curl","customProps":{"myEmoji":"\ud83c\udf0a"},"docId":"development/curl","unlisted":false},{"type":"link","label":"Developing COSMOS","href":"/docs/development/developing","customProps":{"myEmoji":"\ud83d\udcbb"},"docId":"development/developing","unlisted":false},{"type":"link","label":"Host Install","href":"/docs/development/host-install","customProps":{"myEmoji":"\ud83d\udda5\ufe0f"},"docId":"development/host-install","unlisted":false},{"type":"link","label":"JSON API","href":"/docs/development/json-api","customProps":{"myEmoji":"\ud83d\udda5\ufe0f"},"docId":"development/json-api","unlisted":false},{"type":"link","label":"Log Structure","href":"/docs/development/log-structure","customProps":{"myEmoji":"\ud83e\udeb5"},"docId":"development/log-structure","unlisted":false},{"type":"link","label":"Roadmap","href":"/docs/development/roadmap","customProps":{"myEmoji":"\ud83d\uddfa\ufe0f"},"docId":"development/roadmap","unlisted":false},{"type":"link","label":"Streaming API","href":"/docs/development/streaming-api","customProps":{"myEmoji":"\ud83d\udcdd"},"docId":"development/streaming-api","unlisted":false},{"type":"link","label":"Testing COSMOS","href":"/docs/development/testing","customProps":{"myEmoji":"\ud83d\udccb"},"docId":"development/testing","unlisted":false}],"href":"/docs/development"},{"type":"category","label":"Meta","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Contributing","href":"/docs/meta/contributing","customProps":{"myEmoji":"\ud83d\ude42"},"docId":"meta/contributing","unlisted":false},{"type":"link","label":"Licenses","href":"/docs/meta/licenses","customProps":{"myEmoji":"\ud83d\udd75\ufe0f"},"docId":"meta/licenses","unlisted":false},{"type":"link","label":"Philosophy","href":"/docs/meta/philosophy","customProps":{"myEmoji":"\ud83e\udd14"},"docId":"meta/philosophy","unlisted":false},{"type":"link","label":"XTCE Support","href":"/docs/meta/xtce","customProps":{"myEmoji":"\ud83d\ude35"},"docId":"meta/xtce","unlisted":false}],"href":"/docs/meta"},{"type":"link","label":"OpenC3, Inc. Privacy Policy","href":"/docs/privacy","docId":"privacy","unlisted":false}]},"docs":{"configuration/command":{"id":"configuration/command","title":"Commands","description":"Command definition file format and keywords","sidebar":"defaultSidebar"},"configuration/format":{"id":"configuration/format","title":"File Format","description":"Structure of a COSMOS file, including using ERB","sidebar":"defaultSidebar"},"configuration/interfaces":{"id":"configuration/interfaces","title":"Interfaces","description":"Built-in COSMOS interfaces including how to create one","sidebar":"defaultSidebar"},"configuration/plugins":{"id":"configuration/plugins","title":"Plugins","description":"Plugin definition file format and keywords","sidebar":"defaultSidebar"},"configuration/protocols":{"id":"configuration/protocols","title":"Protocols","description":"Built-in COSMOS protocols including how to create one","sidebar":"defaultSidebar"},"configuration/ssl-tls":{"id":"configuration/ssl-tls","title":"SSL-TLS","description":"How to configure SSL and TLS","sidebar":"defaultSidebar"},"configuration/table":{"id":"configuration/table","title":"Tables","description":"Table definition file format and keywords","sidebar":"defaultSidebar"},"configuration/target":{"id":"configuration/target","title":"Targets","description":"Target definition file format and keywords","sidebar":"defaultSidebar"},"configuration/telemetry":{"id":"configuration/telemetry","title":"Telemetry","description":"Telemetry definition file format and keywords","sidebar":"defaultSidebar"},"configuration/telemetry-screens":{"id":"configuration/telemetry-screens","title":"Screens","description":"Telemetry Viewer screen definition and widget documentation","sidebar":"defaultSidebar"},"development/curl":{"id":"development/curl","title":"Testing with Curl","description":"How to use Curl to hit the COSMOS APIs","sidebar":"defaultSidebar"},"development/developing":{"id":"development/developing","title":"Developing COSMOS","description":"Building COSMOS and developing the frontend and backend","sidebar":"defaultSidebar"},"development/host-install":{"id":"development/host-install","title":"Host Install","description":"Installing COSMOS Directly onto a Host (No Containers)","sidebar":"defaultSidebar"},"development/json-api":{"id":"development/json-api","title":"JSON API","description":"Interfacing to the COSMOS APIs using JSON-RPC","sidebar":"defaultSidebar"},"development/log-structure":{"id":"development/log-structure","title":"Log Structure","description":"Structure of the COSMOS log file","sidebar":"defaultSidebar"},"development/roadmap":{"id":"development/roadmap","title":"Roadmap","description":"COSMOS roadmap now and into the future","sidebar":"defaultSidebar"},"development/streaming-api":{"id":"development/streaming-api","title":"Streaming API","description":"Using the websocket streaming API to retrieve data","sidebar":"defaultSidebar"},"development/testing":{"id":"development/testing","title":"Testing COSMOS","description":"Running the Playwright integration tests and unit tests","sidebar":"defaultSidebar"},"getting-started/generators":{"id":"getting-started/generators","title":"Code Generators","description":"Using openc3.sh to generate code","sidebar":"defaultSidebar"},"getting-started/gettingstarted":{"id":"getting-started/gettingstarted","title":"Getting Started","description":"Getting starting with COSMOS","sidebar":"defaultSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"Installing OpenC3 COSMOS","sidebar":"defaultSidebar"},"getting-started/key_concepts":{"id":"getting-started/key_concepts","title":"Key Concepts","description":"Projects, Containerization, Frontend, Backend","sidebar":"defaultSidebar"},"getting-started/podman":{"id":"getting-started/podman","title":"Podman","description":"Installing and running COSMOS with Podman","sidebar":"defaultSidebar"},"getting-started/requirements":{"id":"getting-started/requirements","title":"Requirements and Design","description":"COSMOS Requirements and Design","sidebar":"defaultSidebar"},"getting-started/upgrading":{"id":"getting-started/upgrading","title":"Upgrading","description":"How to upgrade and migrate COSMOS","sidebar":"defaultSidebar"},"guides/bridges":{"id":"guides/bridges","title":"Bridges","description":"Bridge data into COSMOS from serial ports, PCI, etc","sidebar":"defaultSidebar"},"guides/cfs":{"id":"guides/cfs","title":"COSMOS and NASA cFS","description":"Tutorial for integrating with NASA cFS","sidebar":"defaultSidebar"},"guides/custom-widgets":{"id":"guides/custom-widgets","title":"Custom Widgets","description":"How to build custom widgets for use in Telemetry Viewer","sidebar":"defaultSidebar"},"guides/little-endian-bitfields":{"id":"guides/little-endian-bitfields","title":"Little Endian Bitfields","description":"Defining little endian bitfields","sidebar":"defaultSidebar"},"guides/local-mode":{"id":"guides/local-mode","title":"Local Mode","description":"Edit scripts and screens directly on the host file system","sidebar":"defaultSidebar"},"guides/logging":{"id":"guides/logging","title":"Logging","description":"The log files in COSMOS","sidebar":"defaultSidebar"},"guides/monitoring":{"id":"guides/monitoring","title":"Monitoring","description":"Various ways to monitor COSMOS internals","sidebar":"defaultSidebar"},"guides/performance":{"id":"guides/performance","title":"Performance","description":"Hardware requirements like memory and CPU","sidebar":"defaultSidebar"},"guides/raspberrypi":{"id":"guides/raspberrypi","title":"Raspberry Pi","description":"Running COSMOS on a Raspberry Pi","sidebar":"defaultSidebar"},"guides/script-writing":{"id":"guides/script-writing","title":"Script Writing Guide","description":"Key concepts and best practices for script writing","sidebar":"defaultSidebar"},"guides/scripting-api":{"id":"guides/scripting-api","title":"Scripting API Guide","description":"Scripting API methods, deprecations and migrations","sidebar":"defaultSidebar"},"introduction":{"id":"introduction","title":"Introduction","description":"This site aims to be a comprehensive guide to OpenC3 COSMOS. We\'ll cover topics such","sidebar":"defaultSidebar"},"meta/contributing":{"id":"meta/contributing","title":"Contributing","description":"Contributing to COSMOS using the github workflow","sidebar":"defaultSidebar"},"meta/licenses":{"id":"meta/licenses","title":"Licenses","description":"COSMOS licenses including the AGPLv3 vs Commercial","sidebar":"defaultSidebar"},"meta/philosophy":{"id":"meta/philosophy","title":"Philosophy","description":"COSMOS goals and philosophy","sidebar":"defaultSidebar"},"meta/xtce":{"id":"meta/xtce","title":"XTCE Support","description":"XTCE Command and Telemetry Definition Standard","sidebar":"defaultSidebar"},"privacy":{"id":"privacy","title":"OpenC3, Inc. Privacy Policy","description":"OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR.","sidebar":"defaultSidebar"},"tools/autonomic":{"id":"tools/autonomic","title":"Autonomic (Enterprise)","description":"Automated execution of commands and scripts","sidebar":"defaultSidebar"},"tools/bucket-explorer":{"id":"tools/bucket-explorer","title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","sidebar":"defaultSidebar"},"tools/calendar":{"id":"tools/calendar","title":"Calendar (Enterprise)","description":"Calendar visualization of metadata, notes, and timelines","sidebar":"defaultSidebar"},"tools/cmd-sender":{"id":"tools/cmd-sender","title":"Command Sender","description":"Send individual commands","sidebar":"defaultSidebar"},"tools/cmd-tlm-server":{"id":"tools/cmd-tlm-server","title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","sidebar":"defaultSidebar"},"tools/command_history":{"id":"tools/command_history","title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","sidebar":"defaultSidebar"},"tools/data-extractor":{"id":"tools/data-extractor","title":"Data Extractor","description":"Extract command or telemetry data into files","sidebar":"defaultSidebar"},"tools/data-viewer":{"id":"tools/data-viewer","title":"Data Viewer","description":"View packet or item data","sidebar":"defaultSidebar"},"tools/handbooks":{"id":"tools/handbooks","title":"Handbooks","description":"Format the command and telemetry definition into a webpage","sidebar":"defaultSidebar"},"tools/limits-monitor":{"id":"tools/limits-monitor","title":"Limits Monitor","description":"View out of limit items and log messages","sidebar":"defaultSidebar"},"tools/packet-viewer":{"id":"tools/packet-viewer","title":"Packet Viewer","description":"Displays all packets with their items","sidebar":"defaultSidebar"},"tools/script-runner":{"id":"tools/script-runner","title":"Script Runner","description":"Run Python or Ruby scripts to send commands and check telemetry","sidebar":"defaultSidebar"},"tools/table-manager":{"id":"tools/table-manager","title":"Table Manager","description":"Binary file editor with upload / download","sidebar":"defaultSidebar"},"tools/tlm-grapher":{"id":"tools/tlm-grapher","title":"Telemetry Grapher","description":"Graph real time or historical data","sidebar":"defaultSidebar"},"tools/tlm-viewer":{"id":"tools/tlm-viewer","title":"Telemetry Viewer","description":"Build custom screens using built-in widgets","sidebar":"defaultSidebar"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/848bfa8e.386aeed8.js b/docs/assets/js/848bfa8e.386aeed8.js new file mode 100644 index 0000000000..ebd4ce85c4 --- /dev/null +++ b/docs/assets/js/848bfa8e.386aeed8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7658"],{3657:function(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"Introduction","href":"/docs/","docId":"introduction","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/docs/getting-started/installation","customProps":{"myEmoji":"\uD83D\uDCBE"},"docId":"getting-started/installation","unlisted":false},{"type":"link","label":"Getting Started","href":"/docs/getting-started/gettingstarted","customProps":{"myEmoji":"\uD83E\uDDD1\u200D\uD83D\uDCBB"},"docId":"getting-started/gettingstarted","unlisted":false},{"type":"link","label":"Code Generators","href":"/docs/getting-started/generators","customProps":{"myEmoji":"\uD83C\uDFED"},"docId":"getting-started/generators","unlisted":false},{"type":"link","label":"Upgrading","href":"/docs/getting-started/upgrading","customProps":{"myEmoji":"\u2B06\uFE0F"},"docId":"getting-started/upgrading","unlisted":false},{"type":"link","label":"Key Concepts","href":"/docs/getting-started/key_concepts","customProps":{"myEmoji":"\uD83D\uDCA1"},"docId":"getting-started/key_concepts","unlisted":false},{"type":"link","label":"Requirements and Design","href":"/docs/getting-started/requirements","customProps":{"myEmoji":"\uD83D\uDCD1"},"docId":"getting-started/requirements","unlisted":false},{"type":"link","label":"Podman","href":"/docs/getting-started/podman","customProps":{"myEmoji":"\uD83E\uDEDB"},"docId":"getting-started/podman","unlisted":false}],"href":"/docs/getting-started"},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"File Format","href":"/docs/configuration/format","docId":"configuration/format","unlisted":false},{"type":"link","label":"Plugins","href":"/docs/configuration/plugins","customProps":{"myEmoji":"\uD83D\uDD0C"},"docId":"configuration/plugins","unlisted":false},{"type":"link","label":"Targets","href":"/docs/configuration/target","customProps":{"myEmoji":"\uD83D\uDEF0\uFE0F"},"docId":"configuration/target","unlisted":false},{"type":"link","label":"Commands","href":"/docs/configuration/command","customProps":{"myEmoji":"\uD83D\uDCE1"},"docId":"configuration/command","unlisted":false},{"type":"link","label":"Telemetry","href":"/docs/configuration/telemetry","customProps":{"myEmoji":"\uD83D\uDCE1"},"docId":"configuration/telemetry","unlisted":false},{"type":"link","label":"Interfaces","href":"/docs/configuration/interfaces","customProps":{"myEmoji":"\uD83D\uDCA1"},"docId":"configuration/interfaces","unlisted":false},{"type":"link","label":"Protocols","href":"/docs/configuration/protocols","customProps":{"myEmoji":"\uD83D\uDCA1"},"docId":"configuration/protocols","unlisted":false},{"type":"link","label":"Accessors","href":"/docs/configuration/accessors","customProps":{"myEmoji":"\u270F\uFE0F"},"docId":"configuration/accessors","unlisted":false},{"type":"link","label":"Tables","href":"/docs/configuration/table","docId":"configuration/table","unlisted":false},{"type":"link","label":"Screens","href":"/docs/configuration/telemetry-screens","customProps":{"myEmoji":"\uD83D\uDDA5\uFE0F"},"docId":"configuration/telemetry-screens","unlisted":false},{"type":"link","label":"SSL-TLS","href":"/docs/configuration/ssl-tls","customProps":{"myEmoji":"\uD83D\uDD10"},"docId":"configuration/ssl-tls","unlisted":false}],"href":"/docs/configuration"},{"type":"category","label":"Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Admin","href":"/docs/tools/admin","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/admin","unlisted":false},{"type":"link","label":"Autonomic (Enterprise)","href":"/docs/tools/autonomic","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/autonomic","unlisted":false},{"type":"link","label":"Bucket Explorer","href":"/docs/tools/bucket-explorer","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/bucket-explorer","unlisted":false},{"type":"link","label":"Calendar (Enterprise)","href":"/docs/tools/calendar","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/calendar","unlisted":false},{"type":"link","label":"Command Sender","href":"/docs/tools/cmd-sender","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/cmd-sender","unlisted":false},{"type":"link","label":"Command and Telemetry Server","href":"/docs/tools/cmd-tlm-server","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/cmd-tlm-server","unlisted":false},{"type":"link","label":"Command History (Enterprise)","href":"/docs/tools/command_history","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/command_history","unlisted":false},{"type":"link","label":"Data Extractor","href":"/docs/tools/data-extractor","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/data-extractor","unlisted":false},{"type":"link","label":"Data Viewer","href":"/docs/tools/data-viewer","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/data-viewer","unlisted":false},{"type":"link","label":"Handbooks","href":"/docs/tools/handbooks","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/handbooks","unlisted":false},{"type":"link","label":"Limits Monitor","href":"/docs/tools/limits-monitor","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/limits-monitor","unlisted":false},{"type":"link","label":"Packet Viewer","href":"/docs/tools/packet-viewer","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/packet-viewer","unlisted":false},{"type":"link","label":"Script Runner","href":"/docs/tools/script-runner","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/script-runner","unlisted":false},{"type":"link","label":"Table Manager","href":"/docs/tools/table-manager","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/table-manager","unlisted":false},{"type":"link","label":"Telemetry Grapher","href":"/docs/tools/tlm-grapher","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/tlm-grapher","unlisted":false},{"type":"link","label":"Telemetry Viewer","href":"/docs/tools/tlm-viewer","customProps":{"myEmoji":"\uD83D\uDEE0\uFE0F"},"docId":"tools/tlm-viewer","unlisted":false}],"href":"/docs/tools"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bridges","href":"/docs/guides/bridges","customProps":{"myEmoji":"\uD83C\uDF09"},"docId":"guides/bridges","unlisted":false},{"type":"link","label":"COSMOS and NASA cFS","href":"/docs/guides/cfs","customProps":{"myEmoji":"\uD83D\uDE80"},"docId":"guides/cfs","unlisted":false},{"type":"link","label":"Custom Widgets","href":"/docs/guides/custom-widgets","customProps":{"myEmoji":"\uD83D\uDD28"},"docId":"guides/custom-widgets","unlisted":false},{"type":"link","label":"Little Endian Bitfields","href":"/docs/guides/little-endian-bitfields","customProps":{"myEmoji":"\uD83D\uDCBB"},"docId":"guides/little-endian-bitfields","unlisted":false},{"type":"link","label":"Local Mode","href":"/docs/guides/local-mode","customProps":{"myEmoji":"\uD83E\uDDED"},"docId":"guides/local-mode","unlisted":false},{"type":"link","label":"Logging","href":"/docs/guides/logging","customProps":{"myEmoji":"\uD83E\uDEB5"},"docId":"guides/logging","unlisted":false},{"type":"link","label":"Monitoring","href":"/docs/guides/monitoring","customProps":{"myEmoji":"\uD83D\uDDA5\uFE0F"},"docId":"guides/monitoring","unlisted":false},{"type":"link","label":"Performance","href":"/docs/guides/performance","customProps":{"myEmoji":"\uD83D\uDCCA"},"docId":"guides/performance","unlisted":false},{"type":"link","label":"Raspberry Pi","href":"/docs/guides/raspberrypi","customProps":{"myEmoji":"\uD83C\uDF53"},"docId":"guides/raspberrypi","unlisted":false},{"type":"link","label":"Script Writing Guide","href":"/docs/guides/script-writing","customProps":{"myEmoji":"\uD83C\uDFC3\u200D\u27A1\uFE0F"},"docId":"guides/script-writing","unlisted":false},{"type":"link","label":"Scripting API Guide","href":"/docs/guides/scripting-api","customProps":{"myEmoji":"\uD83D\uDCDD"},"docId":"guides/scripting-api","unlisted":false}],"href":"/docs/guides"},{"type":"category","label":"Development","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Testing with Curl","href":"/docs/development/curl","customProps":{"myEmoji":"\uD83C\uDF0A"},"docId":"development/curl","unlisted":false},{"type":"link","label":"Developing COSMOS","href":"/docs/development/developing","customProps":{"myEmoji":"\uD83D\uDCBB"},"docId":"development/developing","unlisted":false},{"type":"link","label":"JSON API","href":"/docs/development/json-api","customProps":{"myEmoji":"\uD83D\uDDA5\uFE0F"},"docId":"development/json-api","unlisted":false},{"type":"link","label":"Log Structure","href":"/docs/development/log-structure","customProps":{"myEmoji":"\uD83E\uDEB5"},"docId":"development/log-structure","unlisted":false},{"type":"link","label":"Roadmap","href":"/docs/development/roadmap","customProps":{"myEmoji":"\uD83D\uDDFA\uFE0F"},"docId":"development/roadmap","unlisted":false},{"type":"link","label":"Streaming API","href":"/docs/development/streaming-api","customProps":{"myEmoji":"\uD83D\uDCDD"},"docId":"development/streaming-api","unlisted":false},{"type":"link","label":"Testing COSMOS","href":"/docs/development/testing","customProps":{"myEmoji":"\uD83D\uDCCB"},"docId":"development/testing","unlisted":false}],"href":"/docs/development"},{"type":"category","label":"Meta","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Contributing","href":"/docs/meta/contributing","customProps":{"myEmoji":"\uD83D\uDE42"},"docId":"meta/contributing","unlisted":false},{"type":"link","label":"Licenses","href":"/docs/meta/licenses","customProps":{"myEmoji":"\uD83D\uDD75\uFE0F"},"docId":"meta/licenses","unlisted":false},{"type":"link","label":"Philosophy","href":"/docs/meta/philosophy","customProps":{"myEmoji":"\uD83E\uDD14"},"docId":"meta/philosophy","unlisted":false},{"type":"link","label":"XTCE Support","href":"/docs/meta/xtce","customProps":{"myEmoji":"\uD83D\uDE35"},"docId":"meta/xtce","unlisted":false}],"href":"/docs/meta"},{"type":"link","label":"OpenC3, Inc. Privacy Policy","href":"/docs/privacy","docId":"privacy","unlisted":false}]},"docs":{"configuration/accessors":{"id":"configuration/accessors","title":"Accessors","description":"Responsible for reading and writing data to a buffer","sidebar":"defaultSidebar"},"configuration/command":{"id":"configuration/command","title":"Commands","description":"Command definition file format and keywords","sidebar":"defaultSidebar"},"configuration/format":{"id":"configuration/format","title":"File Format","description":"Structure of a COSMOS file, including using ERB","sidebar":"defaultSidebar"},"configuration/interfaces":{"id":"configuration/interfaces","title":"Interfaces","description":"Built-in COSMOS interfaces including how to create one","sidebar":"defaultSidebar"},"configuration/plugins":{"id":"configuration/plugins","title":"Plugins","description":"Plugin definition file format and keywords","sidebar":"defaultSidebar"},"configuration/protocols":{"id":"configuration/protocols","title":"Protocols","description":"Built-in COSMOS protocols including how to create one","sidebar":"defaultSidebar"},"configuration/ssl-tls":{"id":"configuration/ssl-tls","title":"SSL-TLS","description":"How to configure SSL and TLS","sidebar":"defaultSidebar"},"configuration/table":{"id":"configuration/table","title":"Tables","description":"Table definition file format and keywords","sidebar":"defaultSidebar"},"configuration/target":{"id":"configuration/target","title":"Targets","description":"Target definition file format and keywords","sidebar":"defaultSidebar"},"configuration/telemetry":{"id":"configuration/telemetry","title":"Telemetry","description":"Telemetry definition file format and keywords","sidebar":"defaultSidebar"},"configuration/telemetry-screens":{"id":"configuration/telemetry-screens","title":"Screens","description":"Telemetry Viewer screen definition and widget documentation","sidebar":"defaultSidebar"},"development/curl":{"id":"development/curl","title":"Testing with Curl","description":"How to use Curl to hit the COSMOS APIs","sidebar":"defaultSidebar"},"development/developing":{"id":"development/developing","title":"Developing COSMOS","description":"Building COSMOS and developing the frontend and backend","sidebar":"defaultSidebar"},"development/json-api":{"id":"development/json-api","title":"JSON API","description":"Interfacing to the COSMOS APIs using JSON-RPC","sidebar":"defaultSidebar"},"development/log-structure":{"id":"development/log-structure","title":"Log Structure","description":"Structure of the COSMOS log file","sidebar":"defaultSidebar"},"development/roadmap":{"id":"development/roadmap","title":"Roadmap","description":"COSMOS roadmap now and into the future","sidebar":"defaultSidebar"},"development/streaming-api":{"id":"development/streaming-api","title":"Streaming API","description":"Using the websocket streaming API to retrieve data","sidebar":"defaultSidebar"},"development/testing":{"id":"development/testing","title":"Testing COSMOS","description":"Running the Playwright integration tests and unit tests","sidebar":"defaultSidebar"},"getting-started/generators":{"id":"getting-started/generators","title":"Code Generators","description":"Using openc3.sh to generate code","sidebar":"defaultSidebar"},"getting-started/gettingstarted":{"id":"getting-started/gettingstarted","title":"Getting Started","description":"Getting starting with COSMOS","sidebar":"defaultSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"Installing OpenC3 COSMOS","sidebar":"defaultSidebar"},"getting-started/key_concepts":{"id":"getting-started/key_concepts","title":"Key Concepts","description":"Projects, Containerization, Frontend, Backend","sidebar":"defaultSidebar"},"getting-started/podman":{"id":"getting-started/podman","title":"Podman","description":"Installing and running COSMOS with Podman","sidebar":"defaultSidebar"},"getting-started/requirements":{"id":"getting-started/requirements","title":"Requirements and Design","description":"COSMOS Requirements and Design","sidebar":"defaultSidebar"},"getting-started/upgrading":{"id":"getting-started/upgrading","title":"Upgrading","description":"How to upgrade and migrate COSMOS","sidebar":"defaultSidebar"},"guides/bridges":{"id":"guides/bridges","title":"Bridges","description":"Bridge data into COSMOS from serial ports, PCI, etc","sidebar":"defaultSidebar"},"guides/cfs":{"id":"guides/cfs","title":"COSMOS and NASA cFS","description":"Tutorial for integrating with NASA cFS","sidebar":"defaultSidebar"},"guides/custom-widgets":{"id":"guides/custom-widgets","title":"Custom Widgets","description":"How to build custom widgets for use in Telemetry Viewer","sidebar":"defaultSidebar"},"guides/little-endian-bitfields":{"id":"guides/little-endian-bitfields","title":"Little Endian Bitfields","description":"Defining little endian bitfields","sidebar":"defaultSidebar"},"guides/local-mode":{"id":"guides/local-mode","title":"Local Mode","description":"Edit scripts and screens directly on the host file system","sidebar":"defaultSidebar"},"guides/logging":{"id":"guides/logging","title":"Logging","description":"The log files in COSMOS","sidebar":"defaultSidebar"},"guides/monitoring":{"id":"guides/monitoring","title":"Monitoring","description":"Various ways to monitor COSMOS internals","sidebar":"defaultSidebar"},"guides/performance":{"id":"guides/performance","title":"Performance","description":"Hardware requirements like memory and CPU","sidebar":"defaultSidebar"},"guides/raspberrypi":{"id":"guides/raspberrypi","title":"Raspberry Pi","description":"Running COSMOS on a Raspberry Pi","sidebar":"defaultSidebar"},"guides/script-writing":{"id":"guides/script-writing","title":"Script Writing Guide","description":"Key concepts and best practices for script writing","sidebar":"defaultSidebar"},"guides/scripting-api":{"id":"guides/scripting-api","title":"Scripting API Guide","description":"Scripting API methods, deprecations and migrations","sidebar":"defaultSidebar"},"introduction":{"id":"introduction","title":"Introduction","description":"This site aims to be a comprehensive guide to OpenC3 COSMOS. We\'ll cover topics such","sidebar":"defaultSidebar"},"meta/contributing":{"id":"meta/contributing","title":"Contributing","description":"Contributing to COSMOS using the github workflow","sidebar":"defaultSidebar"},"meta/licenses":{"id":"meta/licenses","title":"Licenses","description":"COSMOS licenses including the AGPLv3 vs Commercial","sidebar":"defaultSidebar"},"meta/philosophy":{"id":"meta/philosophy","title":"Philosophy","description":"COSMOS goals and philosophy","sidebar":"defaultSidebar"},"meta/xtce":{"id":"meta/xtce","title":"XTCE Support","description":"XTCE Command and Telemetry Definition Standard","sidebar":"defaultSidebar"},"privacy":{"id":"privacy","title":"OpenC3, Inc. Privacy Policy","description":"OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR.","sidebar":"defaultSidebar"},"tools/admin":{"id":"tools/admin","title":"Admin","description":"Administer COSMOS, install plugins, change settings","sidebar":"defaultSidebar"},"tools/autonomic":{"id":"tools/autonomic","title":"Autonomic (Enterprise)","description":"Automated execution of commands and scripts","sidebar":"defaultSidebar"},"tools/bucket-explorer":{"id":"tools/bucket-explorer","title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","sidebar":"defaultSidebar"},"tools/calendar":{"id":"tools/calendar","title":"Calendar (Enterprise)","description":"Calendar visualization of metadata, notes, and timelines","sidebar":"defaultSidebar"},"tools/cmd-sender":{"id":"tools/cmd-sender","title":"Command Sender","description":"Send individual commands","sidebar":"defaultSidebar"},"tools/cmd-tlm-server":{"id":"tools/cmd-tlm-server","title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","sidebar":"defaultSidebar"},"tools/command_history":{"id":"tools/command_history","title":"Command History (Enterprise)","description":"See all the commands sent, by whom, and if successful","sidebar":"defaultSidebar"},"tools/data-extractor":{"id":"tools/data-extractor","title":"Data Extractor","description":"Extract command or telemetry data into files","sidebar":"defaultSidebar"},"tools/data-viewer":{"id":"tools/data-viewer","title":"Data Viewer","description":"View packet or item data","sidebar":"defaultSidebar"},"tools/handbooks":{"id":"tools/handbooks","title":"Handbooks","description":"Format the command and telemetry definition into a webpage","sidebar":"defaultSidebar"},"tools/limits-monitor":{"id":"tools/limits-monitor","title":"Limits Monitor","description":"View out of limit items and log messages","sidebar":"defaultSidebar"},"tools/packet-viewer":{"id":"tools/packet-viewer","title":"Packet Viewer","description":"Displays all packets with their items","sidebar":"defaultSidebar"},"tools/script-runner":{"id":"tools/script-runner","title":"Script Runner","description":"Run Python or Ruby scripts to send commands and check telemetry","sidebar":"defaultSidebar"},"tools/table-manager":{"id":"tools/table-manager","title":"Table Manager","description":"Binary file editor with upload / download","sidebar":"defaultSidebar"},"tools/tlm-grapher":{"id":"tools/tlm-grapher","title":"Telemetry Grapher","description":"Graph real time or historical data","sidebar":"defaultSidebar"},"tools/tlm-viewer":{"id":"tools/tlm-viewer","title":"Telemetry Viewer","description":"Build custom screens using built-in widgets","sidebar":"defaultSidebar"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/8577.21d9cfab.js b/docs/assets/js/8577.21d9cfab.js deleted file mode 100644 index 2eb0842326..0000000000 --- a/docs/assets/js/8577.21d9cfab.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8577],{2930:(c,s,e)=>{"use strict";e.d(s,{A:()=>n});var o=e(8291);const n=o},5741:()=>{}}]); \ No newline at end of file diff --git a/docs/assets/js/8591.5d6eead6.js b/docs/assets/js/8591.5d6eead6.js deleted file mode 100644 index 55cd6ccd1d..0000000000 --- a/docs/assets/js/8591.5d6eead6.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 8591.5d6eead6.js.LICENSE.txt */ -(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8591],{4498:(e,t,n)=>{"use strict";e.exports=n(5275)},819:(e,t,n)=>{"use strict";var i=n(6220),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(r.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(r.input,{marginTop:"-1px"}),e.exports=r},9324:(e,t,n)=>{"use strict";var i="aaDataset",r="aaValue",s="aaDatum",o=n(6220),a=n(1337),u=n(4499),c=n(819),l=n(1805);function h(e){var t;(e=e||{}).templates=e.templates||{},e.source||o.error("missing source"),e.name&&(t=e.name,!/^[_a-zA-Z0-9-]+$/.test(t))&&o.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?o.getUniqueId():e.name,this.source=e.source,this.displayFn=function(e){return e=e||"value",o.isFunction(e)?e:t;function t(t){return t[e]}}(e.display||e.displayKey),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=function(e,t){return{empty:e.empty&&o.templatify(e.empty),header:e.header&&o.templatify(e.header),footer:e.footer&&o.templatify(e.footer),suggestion:e.suggestion||n};function n(e){return"

"+t(e)+"

"}}(e.templates,this.displayFn),this.css=o.mixin({},c,e.appendTo?c.appendTo:{}),this.cssClasses=e.cssClasses=o.mixin({},c.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(n+"-"+this.name).length>0?a.element(e.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(e){return a.element(e).data(i)},h.extractValue=function(e){return a.element(e).data(r)},h.extractDatum=function(e){var t=a.element(e).data(s);return"string"==typeof t&&(t=JSON.parse(t)),t},o.mixin(h.prototype,l,{_render:function(e,t){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),c.templates.empty.apply(this,t)}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(n)this.$el.html(function(){var e,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=a.element(p).css(this.css.suggestions),n=o.map(t,d),e.append.apply(e,n),e;function d(e){var t,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(t=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[e].concat(l)))).data(i,c.name),t.data(r,c.displayFn(e)||void 0),t.data(s,JSON.stringify(e)),t.children().each((function(){a.element(this).css(h.css.suggestionChild)})),t}}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(t&&!Array.isArray(t))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.header.apply(this,t)}function p(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(e,t.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),e.exports=h},2731:(e,t,n)=>{"use strict";var i=n(6220),r=n(1337),s=n(1805),o=n(9324),a=n(819);function u(e){var t,n,s,o=this;(e=e||{}).menu||i.error("menu is required"),i.isArray(e.datasets)||i.isObject(e.datasets)||i.error("1 or more datasets required"),e.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=i.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=i.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),s=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=r.element(e.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,s).on("click.aa",c,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=i.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=i.templatify(e.templates.empty),this.$empty=r.element('
'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(e.datasets,(function(t){return function(e,t,n){return new u.Dataset(i.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)})),i.each(this.datasets,(function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)})),e.templates&&e.templates.footer&&(this.templates.footer=i.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;r.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",r.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=r.element(e.currentTarget);if(!t.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(t,!1)}),0)}},_onSuggestionMouseLeave:function(e){if(e.relatedTarget&&r.element(e.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(e,t){if(this.isEmpty=i.every(this.datasets,(function(e){return e.isEmpty()})),this.isEmpty)if(t.length>=this.minLength&&this.trigger("empty"),this.$empty)if(t.length=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,i,r;this.isOpen&&(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=t.index(n)+e)+1)%(t.length+1)-1)?(i<-1&&(i=t.length-1),this._setCursor(r=t.eq(i),!0),this._ensureVisible(r)):this.trigger("cursorRemoved"))},_ensureVisible:function(e){var t,n,i,r;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),i=this.$menu.scrollTop(),r=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(i+t):r{"use strict";var i=n(6220),r=n(1337);function s(e){e&&e.el||i.error("EventBus initialized without el"),this.$el=r.element(e.el)}i.mixin(s.prototype,{trigger:function(e,t,n,r){var s=i.Event("autocomplete:"+e);return this.$el.trigger(s,[t,n,r]),s}}),e.exports=s},1805:(e,t,n)=>{"use strict";var i=n(874),r=/\s+/;function s(e,t,n,i){var s;if(!n)return this;for(t=t.split(r),n=i?function(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};s=t.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][e].push(n);return this}function o(e,t,n){return function(){for(var i,r=0,s=e.length;!i&&r{"use strict";e.exports={wrapper:'',dropdown:'',dataset:'
',suggestions:'',suggestion:'
'}},7748:(e,t,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var r=n(6220),s=n(1337),o=n(1805);function a(e){var t,n,o,a,u,c=this;(e=e||{}).input||r.error("input is missing"),t=r.bind(this._onBlur,this),n=r.bind(this._onFocus,this),o=r.bind(this._onKeydown,this),a=r.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=r.noop),r.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(e){i[e.which||e.keyCode]||r.defer(r.bind(c._onInput,c,e))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,s.element('').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},r.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=i[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,i,r;switch(e){case"tab":i=this.getHint(),r=this.getInputValue(),n=i&&i!==r&&!u(t);break;case"up":case"down":n=!u(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;if("tab"===e)n=!u(t);else n=!0;return n},_checkInputValue:function(){var e,t,n,i,r;e=this.getInputValue(),i=e,r=this.query,n=!(!(t=a.normalizeQuery(i)===a.normalizeQuery(r))||!this.query)&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;n=(e=this.getInputValue())!==(t=this.getHint())&&0===t.indexOf(e),""!==e&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return e=this.$input.val().length,t=this.$input[0].selectionStart,r.isNumber(t)?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),e.exports=a},8693:(e,t,n)=>{"use strict";var i="aaAttrs",r=n(6220),s=n(1337),o=n(4045),a=n(7748),u=n(2731),c=n(4499),l=n(819);function h(e){var t,n;if((e=e||{}).input||r.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=r.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=r.mixin({},l,e.appendTo?l.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},l.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",r.getUniqueId()].join("-");var a=function(e){var t,n,o,a;t=s.element(e.input),n=s.element(c.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),e.appendTo||"block"!==t.css("display")||"table"!==t.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);o=s.element(u).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&o.html(r.templatify(e.templates.dropdownMenu)());a=t.clone().css(e.css.hint).css(function(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}(t)),a.val("").addClass(r.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();t.data(i,{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(r.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{t.attr("dir")||t.attr("dir","auto")}catch(l){}return n=e.appendTo?n.appendTo(s.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent(),n.prepend(e.hint?a:null).append(o),{wrapper:n,input:t,hint:a,menu:o}}(e);this.$node=a.wrapper;var u=this.$input=a.input;t=a.menu,n=a.hint,e.dropdownMenuContainer&&s.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),u.on("blur.aa",(function(e){var n=document.activeElement;r.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),r.defer((function(){u.focus()})))})),t.on("mousedown.aa",(function(e){e.preventDefault()})),this.eventBus=e.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}r.mixin(h.prototype,{_bindKeyboardShortcuts:function(e){if(e.keyboardShortcuts){var t=this.$input,n=[];r.each(e.keyboardShortcuts,(function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)})),s.element(document).keydown((function(e){var i=e.target||e.srcElement,r=i.tagName;if(!i.isContentEditable&&"INPUT"!==r&&"SELECT"!==r&&"TEXTAREA"!==r){var s=e.which||e.keyCode;-1!==n.indexOf(s)&&(t.focus(),e.stopPropagation(),e.preventDefault())}}))}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var i=e.left-t.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var e,t;e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&e?this._select(e,n):this.autoselectOnBlur&&t?this._select(t,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var r={selectionMethod:"enterKey"};n?(this._select(n,r),t.preventDefault()):this.autoselect&&i&&(this._select(i,r),t.preventDefault())},_onTabKeyed:function(e,t){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),t.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,i,s;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=a.normalizeQuery(t),i=r.escapeRegExChars(n),(s=new RegExp("^(?:"+i+")(.+$)","i").exec(e.value))?this.input.setHint(t+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,i,r;t=this.input.getHint(),n=this.input.getQuery(),i=e||this.input.isCursorAtEnd(),t&&n!==t&&i&&((r=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(r.value),this.eventBus.trigger("autocompleted",r.raw,r.datasetName))},_select:function(e,t){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName,t).isDefaultPrevented()&&(this.dropdown.close(),r.defer(r.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=r.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(e,t){var n=e.find(r.className(t.prefix,t.input));r.each(n.data(i),(function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)})),n.detach().removeClass(r.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData(i);e.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(4710),e.exports=h},1337:e=>{"use strict";e.exports={element:null}},6766:e=>{"use strict";e.exports=function(e){var t=e.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},6220:(e,t,n)=>{"use strict";var i,r=n(1337);function s(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return null==e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,(function(e,i){e&&(n.isArray(e)?t[i]=[].concat(e):n.isObject(e)&&(t[i]=n.cloneDeep(e)))})),t},error:function(e){throw new Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,(function(i,r){n&&(n=t.call(null,i,r,e)&&n)})),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,(function(i,r){if(t.call(null,i,r,e))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(e){if(this.isFunction(e))return e;var t=r.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"";var i=document.createElement("div");i.appendChild(document.createTextNode(t)),n=n||"";var r=document.createElement("div");r.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(s(i.innerHTML),"g"),t).replace(RegExp(s(r.innerHTML),"g"),n)}}},1242:(e,t,n)=>{"use strict";var i=n(6220),r=n(1622),s=n(6766);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),function(n,r){e.search(n,t,(function(e,t){e?i.error(e.message):r(t.hits,t)}))}}},4710:(e,t,n)=>{"use strict";e.exports={hits:n(1242),popularIn:n(392)}},392:(e,t,n)=>{"use strict";var i=n(6220),r=n(1622),s=n(6766);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){e.search(a,t,(function(e,a){if(e)i.error(e.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var d=s(c.as._ua);return d&&d[0]>=3&&d[1]>20&&(t.additionalUA="autocomplete.js "+r),void c.search(u(h),p,(function(e,t){if(e)i.error(e.message);else{var n=[];if(o.includeAll){var r=o.allTitle||"All departments";n.push(i.mixin({facet:{value:r,count:t.nbHits}},i.cloneDeep(h)))}i.each(t.facets,(function(e,t){i.each(e,(function(e,r){n.push(i.mixin({facet:{facet:t,value:r,count:e}},i.cloneDeep(h)))}))}));for(var s=1;s{"use strict";var i=n(3704);n(1337).element=i;var r=n(6220);r.isArray=i.isArray,r.isFunction=i.isFunction,r.isObject=i.isPlainObject,r.bind=i.proxy,r.each=function(e,t){i.each(e,(function(e,n){return t(n,e)}))},r.map=i.map,r.mixin=i.extend,r.Event=i.Event;var s="aaAutocomplete",o=n(8693),a=n(4045);function u(e,t,n,u){n=r.isArray(n)?n:[].slice.call(arguments,2);var c=i(e).each((function(e,r){var c=i(r),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:t.dropdownMenuContainer,hint:void 0===t.hint||!!t.hint,minLength:t.minLength,autoselect:t.autoselect,autoselectOnBlur:t.autoselectOnBlur,tabAutocomplete:t.tabAutocomplete,openOnFocus:t.openOnFocus,templates:t.templates,debug:t.debug,clearOnSelected:t.clearOnSelected,cssClasses:t.cssClasses,datasets:n,keyboardShortcuts:t.keyboardShortcuts,appendTo:t.appendTo,autoWidth:t.autoWidth,ariaLabel:t.ariaLabel||r.getAttribute("aria-label")});c.data(s,h)}));return c.autocomplete={},r.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(e){c.autocomplete[e]=function(){var t,n=arguments;return c.each((function(r,o){var a=i(o).data(s);t=a[e].apply(a,n)})),t}})),c}u.sources=o.sources,u.escapeHighlightedString=r.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},e.exports=u},1622:e=>{e.exports="0.37.1"},3704:e=>{var t;t=window,e.exports=function(e){var t,n,i=function(){var t,n,i,r,s,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=e.document,p={},d={},f={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,v=/^(?:body|html)$/i,x=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],w=["after","prepend","before","append"],S=h.createElement("table"),C=h.createElement("tr"),E={tr:h.createElement("tbody"),tbody:S,thead:S,tfoot:S,td:C,th:C,"*":h.createElement("div")},k=/complete|loaded|interactive/,_=/^[\w-]*$/,T={},L=T.toString,O={},A=h.createElement("div"),$={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},P=Array.isArray||function(e){return e instanceof Array};function I(e){return null==e?String(e):T[L.call(e)]||"object"}function Q(e){return"function"==I(e)}function R(e){return null!=e&&e==e.window}function N(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function D(e){return"object"==I(e)}function F(e){return D(e)&&!R(e)&&Object.getPrototypeOf(e)==Object.prototype}function j(e){var t=!!e&&"length"in e&&e.length,n=i.type(e);return"function"!=n&&!R(e)&&("array"==n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function H(e){return c.call(e,(function(e){return null!=e}))}function V(e){return e.length>0?i.fn.concat.apply([],e):e}function B(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function M(e){return e in d?d[e]:d[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function q(e,t){return"number"!=typeof t||f[B(e)]?t:t+"px"}function z(e){var t,n;return p[e]||(t=h.createElement(e),h.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),p[e]=n),p[e]}function K(e){return"children"in e?l.call(e.children):i.map(e.childNodes,(function(e){if(1==e.nodeType)return e}))}function W(e,t){var n,i=e?e.length:0;for(n=0;n")),n===t&&(n=g.test(e)&&RegExp.$1),n in E||(n="*"),(a=E[n]).innerHTML=""+e,s=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),F(r)&&(o=i(s),i.each(r,(function(e,t){b.indexOf(e)>-1?o[e](t):o.attr(e,t)}))),s},O.Z=function(e,t){return new W(e,t)},O.isZ=function(e){return e instanceof O.Z},O.init=function(e,n){var r;if(!e)return O.Z();if("string"==typeof e)if("<"==(e=e.trim())[0]&&g.test(e))r=O.fragment(e,RegExp.$1,n),e=null;else{if(n!==t)return i(n).find(e);r=O.qsa(h,e)}else{if(Q(e))return i(h).ready(e);if(O.isZ(e))return e;if(P(e))r=H(e);else if(D(e))r=[e],e=null;else if(g.test(e))r=O.fragment(e.trim(),RegExp.$1,n),e=null;else{if(n!==t)return i(n).find(e);r=O.qsa(h,e)}}return O.Z(r,e)},(i=function(e,t){return O.init(e,t)}).extend=function(e){var t,n=l.call(arguments,1);return"boolean"==typeof e&&(t=e,e=n.shift()),n.forEach((function(n){U(e,n,t)})),e},O.qsa=function(e,t){var n,i="#"==t[0],r=!i&&"."==t[0],s=i||r?t.slice(1):t,o=_.test(s);return e.getElementById&&o&&i?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:l.call(o&&!i&&e.getElementsByClassName?r?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},i.contains=h.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},i.type=I,i.isFunction=Q,i.isWindow=R,i.isArray=P,i.isPlainObject=F,i.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},i.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},i.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},i.camelCase=s,i.trim=function(e){return null==e?"":String.prototype.trim.call(e)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(e,t){var n,i,r,s=[];if(j(e))for(i=0;i=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(e){return a.every.call(this,(function(t,n){return!1!==e.call(t,n,t)})),this},filter:function(e){return Q(e)?this.not(this.not(e)):i(c.call(this,(function(t){return O.matches(t,e)})))},add:function(e,t){return i(o(this.concat(i(e,t))))},is:function(e){return this.length>0&&O.matches(this[0],e)},not:function(e){var n=[];if(Q(e)&&e.call!==t)this.each((function(t){e.call(this,t)||n.push(this)}));else{var r="string"==typeof e?this.filter(e):j(e)&&Q(e.item)?l.call(e):i(e);this.forEach((function(e){r.indexOf(e)<0&&n.push(e)}))}return i(n)},has:function(e){return this.filter((function(){return D(e)?i.contains(this,e):i(this).find(e).size()}))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!D(e)?e:i(e)},last:function(){var e=this[this.length-1];return e&&!D(e)?e:i(e)},find:function(e){var t=this;return e?"object"==typeof e?i(e).filter((function(){var e=this;return a.some.call(t,(function(t){return i.contains(t,e)}))})):1==this.length?i(O.qsa(this[0],e)):this.map((function(){return O.qsa(this,e)})):i()},closest:function(e,t){var n=[],r="object"==typeof e&&i(e);return this.each((function(i,s){for(;s&&!(r?r.indexOf(s)>=0:O.matches(s,e));)s=s!==t&&!N(s)&&s.parentNode;s&&n.indexOf(s)<0&&n.push(s)})),i(n)},parents:function(e){for(var t=[],n=this;n.length>0;)n=i.map(n,(function(e){if((e=e.parentNode)&&!N(e)&&t.indexOf(e)<0)return t.push(e),e}));return G(t,e)},parent:function(e){return G(o(this.pluck("parentNode")),e)},children:function(e){return G(this.map((function(){return K(this)})),e)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(e){return G(this.map((function(e,t){return c.call(K(t.parentNode),(function(e){return e!==t}))})),e)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(e){return i.map(this,(function(t){return t[e]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=z(this.nodeName))}))},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=Q(e);if(this[0]&&!t)var n=i(e).get(0),r=n.parentNode||this.length>1;return this.each((function(s){i(this).wrapAll(t?e.call(this,s):r?n.cloneNode(!0):n)}))},wrapAll:function(e){if(this[0]){var t;for(i(this[0]).before(e=i(e));(t=e.children()).length;)e=t.first();i(e).append(this)}return this},wrapInner:function(e){var t=Q(e);return this.each((function(n){var r=i(this),s=r.contents(),o=t?e.call(this,n):e;s.length?s.wrapAll(o):r.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(e){return this.each((function(){var n=i(this);(e===t?"none"==n.css("display"):e)?n.show():n.hide()}))},prev:function(e){return i(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return i(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each((function(t){var n=this.innerHTML;i(this).empty().append(Z(this,e,t,n))})):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each((function(t){var n=Z(this,e,t,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(e,i){var r;return"string"!=typeof e||1 in arguments?this.each((function(t){if(1===this.nodeType)if(D(e))for(n in e)J(this,n,e[n]);else J(this,e,Z(this,i,t,this.getAttribute(e)))})):0 in this&&1==this[0].nodeType&&null!=(r=this[0].getAttribute(e))?r:t},removeAttr:function(e){return this.each((function(){1===this.nodeType&&e.split(" ").forEach((function(e){J(this,e)}),this)}))},prop:function(e,t){return e=$[e]||e,1 in arguments?this.each((function(n){this[e]=Z(this,t,n,this[e])})):this[0]&&this[0][e]},removeProp:function(e){return e=$[e]||e,this.each((function(){delete this[e]}))},data:function(e,n){var i="data-"+e.replace(x,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,n):this.attr(i);return null!==r?Y(r):t},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each((function(t){this.value=Z(this,e,t,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each((function(e){var n=i(this),r=Z(this,t,e,n.offset()),s=n.offsetParent().offset(),o={top:r.top-s.top,left:r.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+e.pageXOffset,top:n.top+e.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(e,t){if(arguments.length<2){var r=this[0];if("string"==typeof e){if(!r)return;return r.style[s(e)]||getComputedStyle(r,"").getPropertyValue(e)}if(P(e)){if(!r)return;var o={},a=getComputedStyle(r,"");return i.each(e,(function(e,t){o[t]=r.style[s(t)]||a.getPropertyValue(t)})),o}}var u="";if("string"==I(e))t||0===t?u=B(e)+":"+q(e,t):this.each((function(){this.style.removeProperty(B(e))}));else for(n in e)e[n]||0===e[n]?u+=B(n)+":"+q(n,e[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(e){return e?this.indexOf(i(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,(function(e){return this.test(X(e))}),M(e))},addClass:function(e){return e?this.each((function(t){if("className"in this){r=[];var n=X(this);Z(this,e,t,n).split(/\s+/g).forEach((function(e){i(this).hasClass(e)||r.push(e)}),this),r.length&&X(this,n+(n?" ":"")+r.join(" "))}})):this},removeClass:function(e){return this.each((function(n){if("className"in this){if(e===t)return X(this,"");r=X(this),Z(this,e,n,r).split(/\s+/g).forEach((function(e){r=r.replace(M(e)," ")})),X(this,r.trim())}}))},toggleClass:function(e,n){return e?this.each((function(r){var s=i(this);Z(this,e,r,X(this)).split(/\s+/g).forEach((function(e){(n===t?!s.hasClass(e):n)?s.addClass(e):s.removeClass(e)}))})):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),n=this.offset(),r=v.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(i(e).css("margin-top"))||0,n.left-=parseFloat(i(e).css("margin-left"))||0,r.top+=parseFloat(i(t[0]).css("border-top-width"))||0,r.left+=parseFloat(i(t[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent||h.body;e&&!v.test(e.nodeName)&&"static"==i(e).css("position");)e=e.offsetParent;return e}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(e){var n=e.replace(/./,(function(e){return e[0].toUpperCase()}));i.fn[e]=function(r){var s,o=this[0];return r===t?R(o)?o["inner"+n]:N(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[e]:this.each((function(t){(o=i(this)).css(e,Z(this,r,t,o[e]()))}))}})),w.forEach((function(n,r){var s=r%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(e){var r=[];return"array"==(n=I(e))?(e.forEach((function(e){return e.nodeType!==t?r.push(e):i.zepto.isZ(e)?r=r.concat(e.get()):void(r=r.concat(O.fragment(e)))})),r):"object"==n||null==e?e:O.fragment(e)})),u=this.length>1;return a.length<1?this:this.each((function(t,n){o=s?n:n.parentNode,n=0==r?n.nextSibling:1==r?n.firstChild:2==r?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(t){if(u)t=t.cloneNode(!0);else if(!o)return i(t).remove();o.insertBefore(t,n),c&&ee(t,(function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}}))}))}))},i.fn[s?n+"To":"insert"+(r?"Before":"After")]=function(e){return i(e)[n](this),this}})),O.Z.prototype=W.prototype=i.fn,O.uniq=o,O.deserializeValue=Y,i.zepto=O,i}();return function(t){var n,i=1,r=Array.prototype.slice,s=t.isFunction,o=function(e){return"string"==typeof e},a={},u={},c="onfocusin"in e,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(e){return e._zid||(e._zid=i++)}function d(e,t,n,i){if((t=f(t)).ns)var r=g(t.ns);return(a[p(e)]||[]).filter((function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||r.test(e.ns))&&(!n||p(e.fn)===p(n))&&(!i||e.sel==i)}))}function f(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function g(e){return new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)")}function m(e,t){return e.del&&!c&&e.e in l||!!t}function y(e){return h[e]||c&&l[e]||e}function v(e,i,r,s,o,u,c){var l=p(e),d=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return t(document).ready(r);var a=f(i);a.fn=r,a.sel=o,a.e in h&&(r=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||r;a.proxy=function(t){if(!(t=E(t)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(t,"data");i&&!i.writable||(t.data=s)}catch(t){}var r=l.apply(e,t._args==n?[t]:[t].concat(t._args));return!1===r&&(t.preventDefault(),t.stopPropagation()),r}},a.i=d.length,d.push(a),"addEventListener"in e&&e.addEventListener(y(a.e),a.proxy,m(a,c))}))}function x(e,t,n,i,r){var s=p(e);(t||"").split(/\s/).forEach((function(t){d(e,t,n,i).forEach((function(t){delete a[s][t.i],"removeEventListener"in e&&e.removeEventListener(y(t.e),t.proxy,m(t,r))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",t.event={add:v,remove:x},t.proxy=function(e,n){var i=2 in arguments&&r.call(arguments,2);if(s(e)){var a=function(){return e.apply(n,i?i.concat(r.call(arguments)):arguments)};return a._zid=p(e),a}if(o(n))return i?(i.unshift(e[n],e),t.proxy.apply(null,i)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,i){return this.on(e,t,n,i,1)};var b=function(){return!0},w=function(){return!1},S=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,C={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function E(e,i){if(i||!e.isDefaultPrevented){i||(i=e),t.each(C,(function(t,n){var r=i[t];e[t]=function(){return this[n]=b,r&&r.apply(i,arguments)},e[n]=w}));try{e.timeStamp||(e.timeStamp=Date.now())}catch(r){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=b)}return e}function k(e){var t,i={originalEvent:e};for(t in e)S.test(t)||e[t]===n||(i[t]=e[t]);return E(i,e)}t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,i,a,u,c){var l,h,p=this;return e&&!o(e)?(t.each(e,(function(e,t){p.on(e,i,a,t,c)})),p):(o(i)||s(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=w),p.each((function(n,s){c&&(l=function(e){return x(s,e.type,u),u.apply(this,arguments)}),i&&(h=function(e){var n,o=t(e.target).closest(i,s).get(0);if(o&&o!==s)return n=t.extend(k(e),{currentTarget:o,liveFired:s}),(l||u).apply(o,[n].concat(r.call(arguments,1)))}),v(s,e,u,a,i,h||l)})))},t.fn.off=function(e,i,r){var a=this;return e&&!o(e)?(t.each(e,(function(e,t){a.off(e,i,t)})),a):(o(i)||s(r)||!1===r||(r=i,i=n),!1===r&&(r=w),a.each((function(){x(this,e,r,i)})))},t.fn.trigger=function(e,n){return(e=o(e)||t.isPlainObject(e)?t.Event(e):E(e))._args=n,this.each((function(){e.type in l&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)}))},t.fn.triggerHandler=function(e,n){var i,r;return this.each((function(s,a){(i=k(o(e)?t.Event(e):e))._args=n,i.target=a,t.each(d(a,e.type||e),(function(e,t){if(r=t.proxy(i),i.isImmediatePropagationStopped())return!1}))})),r},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}})),t.Event=function(e,t){o(e)||(e=(t=e).type);var n=document.createEvent(u[e]||"Events"),i=!0;if(t)for(var r in t)"bubbles"==r?i=!!t[r]:n[r]=t[r];return n.initEvent(e,i,!0),E(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",t&&clearTimeout(t),t=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(e){var t={},n=e.fn.data,i=e.camelCase,r=e.expando="Zepto"+ +new Date,s=[];function o(s,o){var u=s[r],c=u&&t[u];if(void 0===o)return c||a(s);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(e(s),o)}function a(n,s,o){var a=n[r]||(n[r]=++e.uuid),c=t[a]||(t[a]=u(n));return void 0!==s&&(c[i(s)]=o),c}function u(t){var n={};return e.each(t.attributes||s,(function(t,r){0==r.name.indexOf("data-")&&(n[i(r.name.replace("data-",""))]=e.zepto.deserializeValue(r.value))})),n}e.fn.data=function(t,n){return void 0===n?e.isPlainObject(t)?this.each((function(n,i){e.each(t,(function(e,t){a(i,e,t)}))})):0 in this?o(this[0],t):void 0:this.each((function(){a(this,t,n)}))},e.data=function(t,n,i){return e(t).data(n,i)},e.hasData=function(n){var i=n[r],s=i&&t[i];return!!s&&!e.isEmptyObject(s)},e.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var s=this[r],o=s&&t[s];o&&e.each(n||o,(function(e){delete o[n?i(this):e]}))}))},["remove","empty"].forEach((function(t){var n=e.fn[t];e.fn[t]=function(){var e=this.find("*");return"remove"===t&&(e=e.add(this)),e.removeData(),n.call(this)}}))}(i),i}(t)},5765:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>m});var i=n(4714),r=n.n(i),s=n(2930);s.A.tokenizer.separator=/[\s\-/]+/;const o=class{constructor(e,t,n,i){void 0===n&&(n="/"),this.searchDocs=e,this.lunrIndex=s.A.Index.load(t),this.baseUrl=n,this.maxHits=i}getLunrResult(e){return this.lunrIndex.query((function(t){const n=s.A.tokenizer(e);t.term(n,{boost:10}),t.term(n,{wildcard:s.A.Query.wildcard.TRAILING})}))}getHit(e,t,n){return{hierarchy:{lvl0:e.pageTitle||e.title,lvl1:0===e.type?null:e.title},url:e.url,version:e.version,_snippetResult:n?{content:{value:n,matchLevel:"full"}}:null,_highlightResult:{hierarchy:{lvl0:{value:0===e.type?t||e.title:e.pageTitle},lvl1:0===e.type?null:{value:t||e.title}}}}}getTitleHit(e,t,n){const i=t[0],r=t[0]+n;let s=e.title.substring(0,i)+''+e.title.substring(i,r)+""+e.title.substring(r,e.title.length);return this.getHit(e,s)}getKeywordHit(e,t,n){const i=t[0],r=t[0]+n;let s=e.title+"
Keywords: "+e.keywords.substring(0,i)+''+e.keywords.substring(i,r)+""+e.keywords.substring(r,e.keywords.length)+"";return this.getHit(e,s)}getContentHit(e,t){const n=t[0],i=t[0]+t[1];let r=n,s=i,o=!0,a=!0;for(let c=0;c<3;c++){const t=e.content.lastIndexOf(" ",r-2),n=e.content.lastIndexOf(".",r-2);if(n>0&&n>t){r=n+1,o=!1;break}if(t<0){r=0,o=!1;break}r=t+1}for(let c=0;c<10;c++){const t=e.content.indexOf(" ",s+1),n=e.content.indexOf(".",s+1);if(n>0&&n",u+=e.content.substring(i,s),a&&(u+=" ..."),this.getHit(e,null,u)}search(e){return new Promise(((t,n)=>{const i=this.getLunrResult(e),r=[];i.length>this.maxHits&&(i.length=this.maxHits),this.titleHitsRes=[],this.contentHitsRes=[],i.forEach((t=>{const n=this.searchDocs[t.ref],{metadata:i}=t.matchData;for(let s in i)if(i[s].title){if(!this.titleHitsRes.includes(t.ref)){const o=i[s].title.position[0];r.push(this.getTitleHit(n,o,e.length)),this.titleHitsRes.push(t.ref)}}else if(i[s].content){const e=i[s].content.position[0];r.push(this.getContentHit(n,e))}else if(i[s].keywords){const o=i[s].keywords.position[0];r.push(this.getKeywordHit(n,o,e.length)),this.titleHitsRes.push(t.ref)}})),r.length>this.maxHits&&(r.length=this.maxHits),t(r)}))}};var a=n(4498),u=n.n(a);const c="algolia-docsearch",l=`${c}-suggestion`,h={suggestion:`\n \n
\n {{{category}}}\n
\n
\n
\n {{{subcategory}}}\n
\n {{#isTextOrSubcategoryNonEmpty}}\n
\n
{{{subcategory}}}
\n
{{{title}}}
\n {{#text}}
{{{text}}}
{{/text}}\n {{#version}}
{{version}}
{{/version}}\n
\n {{/isTextOrSubcategoryNonEmpty}}\n
\n
\n `,suggestionSimple:`\n
\n
\n {{^isLvl0}}\n {{{category}}}\n {{^isLvl1}}\n {{^isLvl1EmptyOrDuplicate}}\n \n {{{subcategory}}}\n \n {{/isLvl1EmptyOrDuplicate}}\n {{/isLvl1}}\n {{/isLvl0}}\n
\n {{#isLvl2}}\n {{{title}}}\n {{/isLvl2}}\n {{#isLvl1}}\n {{{subcategory}}}\n {{/isLvl1}}\n {{#isLvl0}}\n {{{category}}}\n {{/isLvl0}}\n
\n
\n
\n {{#text}}\n
\n
{{{text}}}
\n
\n {{/text}}\n
\n
\n `,footer:`\n
\n
\n `,empty:`\n
\n
\n
\n
\n
\n No results found for query "{{query}}"\n
\n
\n
\n
\n
\n `,searchBox:'\n \n\n\n '};var p=n(3704),d=n.n(p);const f={mergeKeyWithParent(e,t){if(void 0===e[t])return e;if("object"!=typeof e[t])return e;const n=d().extend({},e,e[t]);return delete n[t],n},groupBy(e,t){const n={};return d().each(e,((e,i)=>{if(void 0===i[t])throw new Error(`[groupBy]: Object has no key ${t}`);let r=i[t];"string"==typeof r&&(r=r.toLowerCase()),Object.prototype.hasOwnProperty.call(n,r)||(n[r]=[]),n[r].push(i)})),n},values:e=>Object.keys(e).map((t=>e[t])),flatten(e){const t=[];return e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t},flattenAndFlagFirst(e,t){const n=this.values(e).map((e=>e.map(((e,n)=>(e[t]=0===n,e)))));return this.flatten(n)},compact(e){const t=[];return e.forEach((e=>{e&&t.push(e)})),t},getHighlightedValue:(e,t)=>e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t],getSnippetedValue(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];let n=e._snippetResult[t].value;return n[0]!==n[0].toUpperCase()&&(n=`\u2026${n}`),-1===[".","!","?"].indexOf(n[n.length-1])&&(n=`${n}\u2026`),n},deepClone:e=>JSON.parse(JSON.stringify(e))};class g{constructor(e){let{searchDocs:t,searchIndex:n,inputSelector:i,debug:r=!1,baseUrl:s="/",queryDataCallback:a=null,autocompleteOptions:c={debug:!1,hint:!1,autoselect:!0},transformData:l=!1,queryHook:p=!1,handleSelected:f=!1,enhancedSearchInput:m=!1,layout:y="column",maxHits:v=5}=e;this.input=g.getInputFromSelector(i),this.queryDataCallback=a||null;const x=!(!c||!c.debug)&&c.debug;c.debug=r||x,this.autocompleteOptions=c,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds";const b=this.input&&"function"==typeof this.input.attr&&this.input.attr("aria-label");this.autocompleteOptions.ariaLabel=this.autocompleteOptions.ariaLabel||b||"search input",this.isSimpleLayout="simple"===y,this.client=new o(t,n,s,v),m&&(this.input=g.injectSearchBox(this.input)),this.autocomplete=u()(this.input,c,[{source:this.getAutocompleteSource(l,p),templates:{suggestion:g.getSuggestionTemplate(this.isSimpleLayout),footer:h.footer,empty:g.getEmptyTemplate()}}]);const w=f;this.handleSelected=w||this.handleSelected,w&&d()(".algolia-autocomplete").on("click",".ds-suggestions a",(e=>{e.preventDefault()})),this.autocomplete.on("autocomplete:selected",this.handleSelected.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),m&&g.bindSearchBoxEvent(),document.addEventListener("keydown",(e=>{(e.ctrlKey||e.metaKey)&&"k"==e.key&&(this.input.focus(),e.preventDefault())}))}static injectSearchBox(e){e.before(h.searchBox);const t=e.prev().prev().find("input");return e.remove(),t}static bindSearchBoxEvent(){d()('.searchbox [type="reset"]').on("click",(function(){d()("input#docsearch").focus(),d()(this).addClass("hide"),u().autocomplete.setVal("")})),d()("input#docsearch").on("keyup",(()=>{const e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")}))}static getInputFromSelector(e){const t=d()(e).filter("input");return t.length?d()(t[0]):null}getAutocompleteSource(e,t){return(n,i)=>{t&&(n=t(n)||n),this.client.search(n).then((t=>{this.queryDataCallback&&"function"==typeof this.queryDataCallback&&this.queryDataCallback(t),e&&(t=e(t)||t),i(g.formatHits(t))}))}}static formatHits(e){const t=f.deepClone(e).map((e=>(e._highlightResult&&(e._highlightResult=f.mergeKeyWithParent(e._highlightResult,"hierarchy")),f.mergeKeyWithParent(e,"hierarchy"))));let n=f.groupBy(t,"lvl0");return d().each(n,((e,t)=>{const i=f.groupBy(t,"lvl1"),r=f.flattenAndFlagFirst(i,"isSubCategoryHeader");n[e]=r})),n=f.flattenAndFlagFirst(n,"isCategoryHeader"),n.map((e=>{const t=g.formatURL(e),n=f.getHighlightedValue(e,"lvl0"),i=f.getHighlightedValue(e,"lvl1")||n,r=f.compact([f.getHighlightedValue(e,"lvl2")||i,f.getHighlightedValue(e,"lvl3"),f.getHighlightedValue(e,"lvl4"),f.getHighlightedValue(e,"lvl5"),f.getHighlightedValue(e,"lvl6")]).join(''),s=f.getSnippetedValue(e,"content"),o=i&&""!==i||r&&""!==r,a=!i||""===i||i===n,u=r&&""!==r&&r!==i,c=!u&&i&&""!==i&&i!==n,l=!c&&!u,h=e.version;return{isLvl0:l,isLvl1:c,isLvl2:u,isLvl1EmptyOrDuplicate:a,isCategoryHeader:e.isCategoryHeader,isSubCategoryHeader:e.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:o,category:n,subcategory:i,title:r,text:s,url:t,version:h}}))}static formatURL(e){const{url:t,anchor:n}=e;if(t){return-1!==t.indexOf("#")?t:n?`${e.url}#${e.anchor}`:t}return n?`#${e.anchor}`:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}static getEmptyTemplate(){return e=>r().compile(h.empty).render(e)}static getSuggestionTemplate(e){const t=e?h.suggestionSimple:h.suggestion,n=r().compile(t);return e=>n.render(e)}handleSelected(e,t,n,i,r){void 0===r&&(r={}),"click"!==r.selectionMethod&&(e.setVal(""),window.location.assign(n.url))}handleShown(e){const t=e.offset().left+e.width()/2;let n=d()(document).width()/2;isNaN(n)&&(n=900);const i=t-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",r=t-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=d()(".algolia-autocomplete");s.hasClass(i)||s.addClass(i),s.hasClass(r)&&s.removeClass(r)}}const m=g},9110:(e,t)=>{!function(e){var t=/\S/,n=/\"/g,i=/\n/g,r=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function u(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function c(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function l(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var i=1,r=e.length;i":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,i){var r=n.length,s=0,o=null,a=null,h="",p=[],d=!1,f=0,g=0,m="{{",y="}}";function v(){h.length>0&&(p.push({tag:"_t",text:new String(h)}),h="")}function x(n,i){if(v(),n&&function(){for(var n=!0,i=g;i"==r.tag&&(r.indent=p[s].text.toString()),p.splice(s,1));else i||p.push({tag:"\n"});d=!1,g=p.length}function b(e,t){var n="="+y,i=e.indexOf(n,t),r=c(e.substring(e.indexOf("=",t)+1,i)).split(" ");return m=r[0],y=r[r.length-1],i+n.length-1}for(i&&(i=i.split(" "),m=i[0],y=i[1]),f=0;f0;){if(u=t.shift(),s&&"<"==s.tag&&!(u.tag in h))throw new Error("Illegal content in < super tag.");if(e.tags[u.tag]<=e.tags.$||d(u,r))i.push(u),u.nodes=p(t,u.tag,i,r);else{if("/"==u.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+u.n);if(a=i.pop(),u.n!=a.n&&!f(u.n,a.n,r))throw new Error("Nesting error: "+a.n+" vs. "+u.n);return a.end=u.i,o}"\n"==u.tag&&(u.last=0==t.length||"\n"==t[0].tag)}o.push(u)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return o}function d(e,t){for(var n=0,i=t.length;n":x,"<":function(t,n){var i={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,i);var r=n.partials[x(t,n)];r.subs=i.subs,r.partials=i.partials},$:function(t,n){var i={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,i),n.subs[t.n]=i.code,n.inPartial||(n.code+='t.sub("'+y(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+v(e.n)+'("'+y(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+y(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){for(var i,r=0,s=t.length;r{var i=n(9110);i.Template=n(9549).Template,i.template=i.Template,e.exports=i},9549:(e,t)=>{!function(e){function t(e,t,n){var i;return t&&"object"==typeof t&&(void 0!==t[e]?i=t[e]:n&&t.get&&"function"==typeof t.get&&(i=t.get(e))),i}e.Template=function(e,t,n,i){e=e||{},this.r=e.code||this.r,this.c=n,this.options=i||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=u(e),a.test(e)?e.replace(n,"&").replace(i,"<").replace(r,">").replace(s,"'").replace(o,"""):e},t:u,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],i=t[n.name];if(n.instance&&n.base==i)return n.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=function(e,t,n,i,r,s){function o(){}function a(){}var u;o.prototype=e,a.prototype=e.subs;var c=new o;for(u in c.subs=new a,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s,t)i[u]||(i[u]=t[u]);for(u in i)c.subs[u]=i[u];for(u in r=r||{},c.stackPartials=r,n)r[u]||(r[u]=n[u]);for(u in r)c.partials[u]=r[u];return c}(i,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,i){var r=this.ep(e,n);return r?r.ri(t,n,i):""},rs:function(e,t,n){var i=e[e.length-1];if(c(i))for(var r=0;r=0;u--)if(void 0!==(s=t(e,n[u],a))){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,n,i)),s):!r&&""},ls:function(e,t,n,i,r){var s=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(u(e.call(t,i)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,i,r,s,o){var a,u=t[t.length-1],c=e.call(u);return"function"==typeof c?!!i||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,n,a.substring(r,s),o)):c},mv:function(e,t,n){var i=t[t.length-1],r=e.call(i);return"function"==typeof r?this.ct(u(r.call(i)),i,n):r},sub:function(e,t,n,i){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,i),this.activeSub=!1)}};var n=/&/g,i=//g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function u(e){return String(null==e?"":e)}var c=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},874:(e,t,n)=>{"use strict";var i,r,s,o=[n(5741),n(1856),n(1015),n(6486),n(5723),n(6345)],a=-1,u=[],c=!1;function l(){i&&r&&(i=!1,r.length?u=r.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var e=u.length,t=setTimeout(l);e;){for(r=u,u=[];r&&++a1)for(var n=1;n{"use strict";t.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},t.install=function(e){var t=new n.g.MessageChannel;return t.port1.onmessage=e,function(){t.port2.postMessage(0)}}},1015:(e,t,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;t.test=function(){return i},t.install=function(e){var t=0,r=new i(e),s=n.g.document.createTextNode("");return r.observe(s,{characterData:!0}),function(){s.data=t=++t%2}}},1856:(e,t,n)=>{"use strict";t.test=function(){return"function"==typeof n.g.queueMicrotask},t.install=function(e){return function(){n.g.queueMicrotask(e)}}},5723:(e,t,n)=>{"use strict";t.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},t.install=function(e){return function(){var t=n.g.document.createElement("script");return t.onreadystatechange=function(){e(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},n.g.document.documentElement.appendChild(t),e}}},6345:(e,t)=>{"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},8291:(e,t,n)=>{var i,r;!function(){var s,o,a,u,c,l,h,p,d,f,g,m,y,v,x,b,w,S,C,E,k,_,T,L,O,A,$,P,I,Q,R=function(e){var t=new R.Builder;return t.pipeline.add(R.trimmer,R.stopWordFilter,R.stemmer),t.searchPipeline.add(R.stemmer),e.call(t,t),t.build()};R.version="2.3.9",R.utils={},R.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),R.utils.asString=function(e){return null==e?"":e.toString()},R.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),i=0;i0){var u=R.utils.clone(t)||{};u.position=[o,a],u.index=r.length,r.push(new R.Token(n.slice(o,s),u))}o=s+1}}return r},R.tokenizer.separator=/[\s\-]+/,R.Pipeline=function(){this._stack=[]},R.Pipeline.registeredFunctions=Object.create(null),R.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&R.utils.warn("Overwriting existing registered function: "+t),e.label=t,R.Pipeline.registeredFunctions[e.label]=e},R.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||R.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},R.Pipeline.load=function(e){var t=new R.Pipeline;return e.forEach((function(e){var n=R.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},R.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){R.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},R.Pipeline.prototype.after=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},R.Pipeline.prototype.before=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},R.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},R.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(se&&(n=r),s!=e);)i=n-t,r=t+Math.floor(i/2),s=this.elements[2*r];return s==e||s>e?2*r:sa?c+=2:o==a&&(t+=n[u+1]*i[c+1],u+=2,c+=2);return t},R.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},R.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var s,o=r.str.charAt(0);o in r.node.edges?s=r.node.edges[o]:(s=new R.TokenSet,r.node.edges[o]=s),1==r.str.length&&(s.final=!0),i.push({node:s,editsRemaining:r.editsRemaining,str:r.str.slice(1)})}if(0!=r.editsRemaining){if("*"in r.node.edges)var a=r.node.edges["*"];else{a=new R.TokenSet;r.node.edges["*"]=a}if(0==r.str.length&&(a.final=!0),i.push({node:a,editsRemaining:r.editsRemaining-1,str:r.str}),r.str.length>1&&i.push({node:r.node,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)}),1==r.str.length&&(r.node.final=!0),r.str.length>=1){if("*"in r.node.edges)var u=r.node.edges["*"];else{u=new R.TokenSet;r.node.edges["*"]=u}1==r.str.length&&(u.final=!0),i.push({node:u,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)})}if(r.str.length>1){var c,l=r.str.charAt(0),h=r.str.charAt(1);h in r.node.edges?c=r.node.edges[h]:(c=new R.TokenSet,r.node.edges[h]=c),1==r.str.length&&(c.final=!0),i.push({node:c,editsRemaining:r.editsRemaining-1,str:l+r.str.slice(2)})}}}return n},R.TokenSet.fromString=function(e){for(var t=new R.TokenSet,n=t,i=0,r=e.length;i=e;t--){var n=this.uncheckedNodes[t],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}},R.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},R.Index.prototype.search=function(e){return this.query((function(t){new R.QueryParser(e,t).parse()}))},R.Index.prototype.query=function(e){for(var t=new R.Query(this.fields),n=Object.create(null),i=Object.create(null),r=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a1?1:e},R.Builder.prototype.k1=function(e){this._k1=e},R.Builder.prototype.add=function(e,t){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var r=0;r=this.length)return R.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},R.QueryLexer.prototype.width=function(){return this.pos-this.start},R.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},R.QueryLexer.prototype.backup=function(){this.pos-=1},R.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=R.QueryLexer.EOS&&this.backup()},R.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(R.QueryLexer.TERM)),e.ignore(),e.more())return R.QueryLexer.lexText},R.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.EDIT_DISTANCE),R.QueryLexer.lexText},R.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.BOOST),R.QueryLexer.lexText},R.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(R.QueryLexer.TERM)},R.QueryLexer.termSeparator=R.tokenizer.separator,R.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==R.QueryLexer.EOS)return R.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return R.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if(t.match(R.QueryLexer.termSeparator))return R.QueryLexer.lexTerm}else e.escapeCharacter()}},R.QueryParser=function(e,t){this.lexer=new R.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},R.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=R.QueryParser.parseClause;e;)e=e(this);return this.query},R.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},R.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},R.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},R.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case R.QueryLexer.PRESENCE:return R.QueryParser.parsePresence;case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new R.QueryParseError(n,t.start,t.end)}},R.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=R.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=R.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new R.QueryParseError(n,t.start,t.end)}var i=e.peekLexeme();if(null==i){n="expecting term or field, found nothing";throw new R.QueryParseError(n,t.start,t.end)}switch(i.type){case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:n="expecting term or field, found '"+i.type+"'";throw new R.QueryParseError(n,i.start,i.end)}}},R.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),i="unrecognised field '"+t.str+"', possible fields: "+n;throw new R.QueryParseError(i,t.start,t.end)}e.currentClause.fields=[t.str];var r=e.peekLexeme();if(null==r){i="expecting term, found nothing";throw new R.QueryParseError(i,t.start,t.end)}if(r.type===R.QueryLexer.TERM)return R.QueryParser.parseTerm;i="expecting term, found '"+r.type+"'";throw new R.QueryParseError(i,r.start,r.end)}},R.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new R.QueryParseError(i,n.start,n.end)}else e.nextClause()}},R.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new R.QueryParseError(i,t.start,t.end)}e.currentClause.editDistance=n;var r=e.peekLexeme();if(null!=r)switch(r.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+r.type+"'";throw new R.QueryParseError(i,r.start,r.end)}else e.nextClause()}},R.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="boost must be numeric";throw new R.QueryParseError(i,t.start,t.end)}e.currentClause.boost=n;var r=e.peekLexeme();if(null!=r)switch(r.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+r.type+"'";throw new R.QueryParseError(i,r.start,r.end)}else e.nextClause()}},void 0===(r="function"==typeof(i=function(){return R})?i.call(t,n,t,e):i)||(e.exports=r)}()}}]); \ No newline at end of file diff --git a/docs/assets/js/8591.5d6eead6.js.LICENSE.txt b/docs/assets/js/8591.5d6eead6.js.LICENSE.txt deleted file mode 100644 index 1cf473c23c..0000000000 --- a/docs/assets/js/8591.5d6eead6.js.LICENSE.txt +++ /dev/null @@ -1,61 +0,0 @@ -/*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ - -/*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - */ - -/*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - */ - -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - */ diff --git a/docs/assets/js/8608.e3695806.js b/docs/assets/js/8608.e3695806.js deleted file mode 100644 index 7f7954b135..0000000000 --- a/docs/assets/js/8608.e3695806.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8608],{7293:(e,t,n)=>{"use strict";n.d(t,{A:()=>H});var s=n(6540),a=n(4848);function o(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),o=t.filter((e=>e!==n)),c=n?.props.children;return{mdxAdmonitionTitle:c,rest:o.length>0?(0,a.jsx)(a.Fragment,{children:o}):null}}(e.children),o=e.title??t;return{...e,...o&&{title:o},children:n}}var c=n(4164),r=n(1312),i=n(7559);const l="admonition_xJq3",d="admonitionHeading_Gvgb",u="admonitionIcon_Rf37",m="admonitionContent_BuS1";function h(e){let{type:t,className:n,children:s}=e;return(0,a.jsx)("div",{className:(0,c.A)(i.G.common.admonition,i.G.common.admonitionType(t),l,n),children:s})}function f(e){let{icon:t,title:n}=e;return(0,a.jsxs)("div",{className:d,children:[(0,a.jsx)("span",{className:u,children:t}),n]})}function p(e){let{children:t}=e;return t?(0,a.jsx)("div",{className:m,children:t}):null}function x(e){const{type:t,icon:n,title:s,children:o,className:c}=e;return(0,a.jsxs)(h,{type:t,className:c,children:[s||n?(0,a.jsx)(f,{title:s,icon:n}):null,(0,a.jsx)(p,{children:o})]})}function g(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const b={icon:(0,a.jsx)(g,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function j(e){return(0,a.jsx)(x,{...b,...e,className:(0,c.A)("alert alert--secondary",e.className),children:e.children})}function v(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const N={icon:(0,a.jsx)(v,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function y(e){return(0,a.jsx)(x,{...N,...e,className:(0,c.A)("alert alert--success",e.className),children:e.children})}function A(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const C={icon:(0,a.jsx)(A,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function k(e){return(0,a.jsx)(x,{...C,...e,className:(0,c.A)("alert alert--info",e.className),children:e.children})}function B(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const w={icon:(0,a.jsx)(B,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function L(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const E={icon:(0,a.jsx)(L,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const T={icon:(0,a.jsx)(B,{}),title:(0,a.jsx)(r.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const _={...{note:j,tip:y,info:k,warning:function(e){return(0,a.jsx)(x,{...w,...e,className:(0,c.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(x,{...E,...e,className:(0,c.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(j,{title:"secondary",...e}),important:e=>(0,a.jsx)(k,{title:"important",...e}),success:e=>(0,a.jsx)(y,{title:"success",...e}),caution:function(e){return(0,a.jsx)(x,{...T,...e,className:(0,c.A)("alert alert--warning",e.className),children:e.children})}}};function H(e){const t=o(e),n=(s=t.type,_[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),_.info));var s;return(0,a.jsx)(n,{...t})}},6896:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});n(6540);var s=n(4164),a=n(1312),o=n(5260),c=n(4848);function r(){return(0,c.jsx)(a.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function i(){return(0,c.jsx)(a.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function l(){return(0,c.jsx)(o.A,{children:(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,c.jsx)(a.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function u(){return(0,c.jsx)(a.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}var m=n(7559),h=n(7293);function f(e){let{className:t}=e;return(0,c.jsx)(h.A,{type:"caution",title:(0,c.jsx)(d,{}),className:(0,s.A)(t,m.G.common.draftBanner),children:(0,c.jsx)(u,{})})}function p(e){let{className:t}=e;return(0,c.jsx)(h.A,{type:"caution",title:(0,c.jsx)(r,{}),className:(0,s.A)(t,m.G.common.unlistedBanner),children:(0,c.jsx)(i,{})})}function x(e){return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l,{}),(0,c.jsx)(p,{...e})]})}function g(e){let{metadata:t}=e;const{unlisted:n,frontMatter:s}=t;return(0,c.jsxs)(c.Fragment,{children:[(n||s.unlisted)&&(0,c.jsx)(x,{}),s.draft&&(0,c.jsx)(f,{})]})}},2153:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});n(6540);var s=n(4164),a=n(1312),o=n(7559),c=n(8774);const r={iconEdit:"iconEdit_Z9Sw"};var i=n(4848);function l(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(r.iconEdit,t),"aria-hidden":"true",...n,children:(0,i.jsx)("g",{children:(0,i.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,i.jsxs)(c.A,{to:t,className:o.G.common.editThisPage,children:[(0,i.jsx)(l,{}),(0,i.jsx)(a.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(4586);function m(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,u.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,u.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}function h(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=m({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,i.jsx)(a.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,i.jsx)("b",{children:(0,i.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function f(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(a.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,i.jsx)("b",{children:t})},children:" by {user}"})}function p(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,i.jsxs)("span",{className:o.G.common.lastUpdated,children:[(0,i.jsx)(a.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,i.jsx)(h,{lastUpdatedAt:t}):"",byUser:n?(0,i.jsx)(f,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const x={lastUpdated:"lastUpdated_JAkA"};function g(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:o}=e;return(0,i.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,i.jsx)("div",{className:"col",children:n&&(0,i.jsx)(d,{editUrl:n})}),(0,i.jsx)("div",{className:(0,s.A)("col",x.lastUpdated),children:(a||o)&&(0,i.jsx)(p,{lastUpdatedAt:a,lastUpdatedBy:o})})]})}},8509:(e,t,n)=>{"use strict";n.d(t,{A:()=>ue});var s=n(6540),a=n(8453),o=n(5260),c=n(2303),r=n(4164),i=n(5293),l=n(6342);function d(){const{prism:e}=(0,l.p)(),{colorMode:t}=(0,i.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(7559),m=n(8426),h=n.n(m);const f=/title=(?["'])(?.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,x={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},g={...x,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},b=Object.keys(x);function j(e,t){const n=e.map((e=>{const{start:n,end:s}=g[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&p.test(o)){const e=o.match(p).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const c=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return j(["js","jsBlock"],t);case"jsx":case"tsx":return j(["js","jsBlock","jsx"],t);case"html":return j(["js","jsBlock","html"],t);case"python":case"py":case"bash":return j(["bash"],t);case"markdown":case"md":return j(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return j(["tex"],t);case"lua":case"haskell":case"sql":return j(["lua"],t);case"wasm":return j(["wasm"],t);case"vb":case"vba":case"visual-basic":return j(["vb","rem"],t);case"vbnet":return j(["vbnet","rem"],t);case"batch":return j(["rem"],t);case"basic":return j(["rem","f90"],t);case"fsharp":return j(["js","ml"],t);case"ocaml":case"sml":return j(["ml"],t);case"fortran":return j(["f90"],t);case"cobol":return j(["cobol"],t);default:return j(b,t)}}(s,a),r=n.split("\n"),i=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<r.length;){const e=r[h].match(c);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?i[l[t]].range+=`${h},`:d[t]?i[d[t]].start=h:u[t]&&(i[u[t]].range+=`${i[u[t]].start}-${h-1},`),r.splice(h,1)}n=r.join("\n");const m={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const N="codeBlockContainer_Ckt0";var y=n(4848);function A(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(d());return(0,y.jsx)(t,{...n,style:s,className:(0,r.A)(n.className,N,u.G.common.codeBlock)})}const C={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function k(e){let{children:t,className:n}=e;return(0,y.jsx)(A,{as:"pre",tabIndex:0,className:(0,r.A)(C.codeBlockStandalone,"thin-scrollbar",n),children:(0,y.jsx)("code",{className:C.codeBlockLines,children:t})})}var B=n(9532);const w={attributes:!0,characterData:!0,childList:!0,subtree:!0};function L(e,t){const[n,a]=(0,s.useState)(),o=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{o()}),[o]),function(e,t,n){void 0===n&&(n=w);const a=(0,B._q)(t),o=(0,B.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,o),()=>t.disconnect()}),[e,a,o])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var E=n(1765);const T="codeLine_lJS_",_="codeLineNumber_Tfdd",H="codeLineContent_feaV";function S(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=a({line:t,className:(0,r.A)(n,s&&T)}),i=t.map(((e,t)=>(0,y.jsx)("span",{...o({token:e})},t)));return(0,y.jsxs)("span",{...c,children:[s?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("span",{className:_}),(0,y.jsx)("span",{className:H,children:i})]}):i,(0,y.jsx)("br",{})]})}var M=n(1312);function U(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function I(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const z={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function R(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),c=(0,s.useRef)(void 0),i=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),c=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let r=!1;try{r=document.execCommand("copy")}catch{}s.remove(),c&&(o.removeAllRanges(),o.addRange(c)),a&&a.focus()}(t),o(!0),c.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(c.current)),[]),(0,y.jsx)("button",{type:"button","aria-label":a?(0,M.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,M.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,M.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,r.A)("clean-btn",n,z.copyButton,a&&z.copyButtonCopied),onClick:i,children:(0,y.jsxs)("span",{className:z.copyButtonIcons,"aria-hidden":"true",children:[(0,y.jsx)(U,{className:z.copyButtonIcon}),(0,y.jsx)(I,{className:z.copyButtonSuccessIcon})]})})}function V(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const O="wordWrapButtonIcon_Bwma",$="wordWrapButtonEnabled_EoeP";function D(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,M.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,y.jsx)("button",{type:"button",onClick:n,className:(0,r.A)("clean-btn",t,s&&$),"aria-label":a,title:a,children:(0,y.jsx)(V,{className:O,"aria-hidden":"true"})})}function P(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:c,language:i}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.p)(),h=function(e){return e?.toLowerCase()}(i??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??u),p=d(),x=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),c=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),r=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return L(o,r),(0,s.useEffect)((()=>{r()}),[e,r]),(0,s.useEffect)((()=>(window.addEventListener("resize",r,{passive:!0}),()=>{window.removeEventListener("resize",r)})),[r]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:c}}(),g=function(e){return e?.match(f)?.groups.title??""}(a)||o,{lineClassNames:b,code:j}=v(t,{metastring:a,language:h,magicComments:m}),N=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,y.jsxs)(A,{as:"div",className:(0,r.A)(n,h&&!n.includes(`language-${h}`)&&`language-${h}`),children:[g&&(0,y.jsx)("div",{className:C.codeBlockTitle,children:g}),(0,y.jsxs)("div",{className:C.codeBlockContent,children:[(0,y.jsx)(E.f4,{theme:p,code:j,language:h??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,y.jsx)("pre",{tabIndex:0,ref:x.codeBlockRef,className:(0,r.A)(t,C.codeBlock,"thin-scrollbar"),style:n,children:(0,y.jsx)("code",{className:(0,r.A)(C.codeBlockLines,N&&C.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,y.jsx)(S,{line:e,getLineProps:a,getTokenProps:o,classNames:b[t],showLineNumbers:N},t)))})})}}),(0,y.jsxs)("div",{className:C.buttonGroup,children:[(x.isEnabled||x.isCodeScrollable)&&(0,y.jsx)(D,{className:C.codeButton,onClick:()=>x.toggle(),isEnabled:x.isEnabled}),(0,y.jsx)(R,{className:C.codeButton,code:j})]})]})]})}function q(e){let{children:t,...n}=e;const a=(0,c.A)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),r="string"==typeof o?P:k;return(0,y.jsx)(r,{...n,children:o},String(a))}function G(e){return(0,y.jsx)("code",{...e})}var W=n(8774);var F=n(3427),Z=n(1422);const J="details_lb9f",Y="isBrowser_bmU9",K="collapsibleContent_i85q";function Q(e){return!!e&&("SUMMARY"===e.tagName||Q(e.parentElement))}function X(e,t){return!!e&&(e===t||X(e.parentElement,t))}function ee(e){let{summary:t,children:n,...a}=e;(0,F.A)().collectAnchor(a.id);const o=(0,c.A)(),i=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,Z.u)({initialState:!a.open}),[u,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,y.jsx)("summary",{children:t??"Details"});return(0,y.jsxs)("details",{...a,ref:i,open:u,"data-collapsed":l,className:(0,r.A)(J,o&&Y,a.className),onMouseDown:e=>{Q(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Q(t)&&X(t,i.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,y.jsx)(Z.N,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,y.jsx)("div",{className:K,children:n})})]})}const te="details_b_Ee";function ne(e){let{...t}=e;return(0,y.jsx)(ee,{...t,className:(0,r.A)("alert alert--info",te,t.className)})}function se(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,y.jsx)(y.Fragment,{children:t.filter((e=>e!==n))});return(0,y.jsx)(ne,{...e,summary:n,children:a})}var ae=n(1107);function oe(e){return(0,y.jsx)(ae.A,{...e})}const ce="containsTaskList_mC6p";function re(e){if(void 0!==e)return(0,r.A)(e,e?.includes("contains-task-list")&&ce)}const ie="img_ev3q";var le=n(7293);const de={Head:o.A,details:se,Details:se,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,y.jsx)(G,{...e}):(0,y.jsx)(q,{...e})},a:function(e){return(0,y.jsx)(W.A,{...e})},pre:function(e){return(0,y.jsx)(y.Fragment,{children:e.children})},ul:function(e){return(0,y.jsx)("ul",{...e,className:re(e.className)})},li:function(e){return(0,F.A)().collectAnchor(e.id),(0,y.jsx)("li",{...e})},img:function(e){return(0,y.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,r.A)(t,ie))});var t},h1:e=>(0,y.jsx)(oe,{as:"h1",...e}),h2:e=>(0,y.jsx)(oe,{as:"h2",...e}),h3:e=>(0,y.jsx)(oe,{as:"h3",...e}),h4:e=>(0,y.jsx)(oe,{as:"h4",...e}),h5:e=>(0,y.jsx)(oe,{as:"h5",...e}),h6:e=>(0,y.jsx)(oe,{as:"h6",...e}),admonition:le.A,mermaid:()=>null};function ue(e){let{children:t}=e;return(0,y.jsx)(a.x,{components:de,children:t})}},7763:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(4164),a=n(5195);const o={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var c=n(4848);const r="table-of-contents__link toc-highlight",i="table-of-contents__link--active";function l(e){let{className:t,...n}=e;return(0,c.jsx)("div",{className:(0,s.A)(o.tableOfContents,"thin-scrollbar",t),children:(0,c.jsx)(a.A,{...n,linkClassName:r,linkActiveClassName:i})})}},5195:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var s=n(6540),a=n(6342);function o(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function c(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=c({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function r(e){const t=e.getBoundingClientRect();return t.top===t.bottom?r(e.parentNode):t}function i(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>r(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(r(s))?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}function l(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.p)();return(0,s.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=l();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:c}=e;function r(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),r=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:o,maxHeadingLevel:c}),l=i(r,{anchorTopOffset:n.current}),d=e.find((e=>l&&l.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",r),document.addEventListener("resize",r),r(),()=>{document.removeEventListener("scroll",r),document.removeEventListener("resize",r)}}),[e,n])}var u=n(8774),m=n(4848);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const f=s.memo(h);function p(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:r="table-of-contents__link",linkActiveClassName:i,minHeadingLevel:l,maxHeadingLevel:u,...h}=e;const p=(0,a.p)(),x=l??p.tableOfContents.minHeadingLevel,g=u??p.tableOfContents.maxHeadingLevel,b=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>c({toc:o(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:x,maxHeadingLevel:g});return d((0,s.useMemo)((()=>{if(r&&i)return{linkClassName:r,linkActiveClassName:i,minHeadingLevel:x,maxHeadingLevel:g}}),[r,i,x,g])),(0,m.jsx)(f,{toc:b,className:n,linkClassName:r,...h})}},8426:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s<o?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(o+=e);for(let t=s;t!==o;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},8453:(e,t,n)=>{"use strict";n.d(t,{R:()=>c,x:()=>r});var s=n(6540);const a={},o=s.createContext(a);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/867640d5.3637d525.js b/docs/assets/js/867640d5.d2dc7c29.js similarity index 86% rename from docs/assets/js/867640d5.3637d525.js rename to docs/assets/js/867640d5.d2dc7c29.js index 13cc9a5777..6284055034 100644 --- a/docs/assets/js/867640d5.3637d525.js +++ b/docs/assets/js/867640d5.d2dc7c29.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7719],{3959:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"guides/cfs","title":"COSMOS and NASA cFS","description":"Tutorial for integrating with NASA cFS","source":"@site/docs/guides/cfs.md","sourceDirName":"guides","slug":"/guides/cfs","permalink":"/docs/guides/cfs","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/cfs.md","tags":[],"version":"current","frontMatter":{"title":"COSMOS and NASA cFS","description":"Tutorial for integrating with NASA cFS","sidebar_custom_props":{"myEmoji":"\ud83d\ude80"}},"sidebar":"defaultSidebar","previous":{"title":"Bridges","permalink":"/docs/guides/bridges"},"next":{"title":"Custom Widgets","permalink":"/docs/guides/custom-widgets"}}');var s=t(4848),c=t(8453);const o={title:"COSMOS and NASA cFS",description:"Tutorial for integrating with NASA cFS",sidebar_custom_props:{myEmoji:"\ud83d\ude80"}},r=void 0,a={},l=[{value:"Working configuration",id:"working-configuration",level:2},{value:"Setting up COSMOS",id:"setting-up-cosmos",level:2},{value:"Configuring COSMOS",id:"configuring-cosmos",level:3},{value:"Setting up cFS",id:"setting-up-cfs",level:2},{value:"Clone cFS",id:"clone-cfs",level:3},{value:"Create Dockerfile in cFS dir",id:"create-dockerfile-in-cfs-dir",level:3},{value:"Build and run cFS",id:"build-and-run-cfs",level:3},{value:"Creating a COSMOS plugin for TM/TC interface with cFS",id:"creating-a-cosmos-plugin-for-tmtc-interface-with-cfs",level:2},{value:"Creating TM/TC definitions",id:"creating-tmtc-definitions",level:2},{value:"Uploading the plugin",id:"uploading-the-plugin",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"working-configuration",children:"Working configuration"}),"\n",(0,s.jsx)(n.p,{children:"This tutorial has been tested using the following components:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["COSMOS v5 release ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/releases/tag/v5.0.6",children:"5.0.6"})]}),"\n",(0,s.jsx)(n.li,{children:"cFS master-branch commit: 561b128 (June 1, 2022)"}),"\n",(0,s.jsx)(n.li,{children:"Docker Desktop 4.9.0 on Windows"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Replace all ",(0,s.jsx)(n.code,{children:"<xxxxxx>"})," with your matching paths and names. Example: ",(0,s.jsx)(n.code,{children:"<USERNAME>"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"setting-up-cosmos",children:"Setting up COSMOS"}),"\n",(0,s.jsxs)(n.p,{children:["Install COSMOS according to the official ",(0,s.jsx)(n.a,{href:"/docs/getting-started/installation",children:"installation"})," instructions."]}),"\n",(0,s.jsx)(n.h3,{id:"configuring-cosmos",children:"Configuring COSMOS"}),"\n",(0,s.jsxs)(n.p,{children:["Change the Docker configuration for the interoperability with NASA cFS. For\nsubscribing to the telemetry, you have to append a port binding in the file\n",(0,s.jsx)(n.code,{children:"compose.yaml"})," under the section ",(0,s.jsx)(n.code,{children:"openc3-operator"}),". The port number has to\nmatch with the port number cFS is sending the telemetry on."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'openc3-operator:\n ports:\n - "1235:1235/udp"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Run COSMOS, the first run takes a while (~15 min)."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"openc3.sh start\n"})}),"\n",(0,s.jsxs)(n.p,{children:["When started, connect with a browser to ",(0,s.jsx)(n.a,{href:"http://localhost:2900",children:"http://localhost:2900"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"For shutting down COSMOS:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"openc3.sh stop\n"})}),"\n",(0,s.jsx)(n.h2,{id:"setting-up-cfs",children:"Setting up cFS"}),"\n",(0,s.jsxs)(n.p,{children:["To run ",(0,s.jsx)(n.a,{href:"https://github.com/nasa/cFS",children:"NASA cFS"})," as a Docker container do the following:"]}),"\n",(0,s.jsx)(n.h3,{id:"clone-cfs",children:"Clone cFS"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone --recurse-submodules https://github.com/nasa/cFS.git\n"})}),"\n",(0,s.jsx)(n.h3,{id:"create-dockerfile-in-cfs-dir",children:"Create Dockerfile in cFS dir"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-docker",children:'FROM ubuntu:22.10 AS builder\n\nARG DEBIAN_FRONTEND=noninteractive\nARG SIMULATION=native\nENV SIMULATION=${SIMULATION}\nARG BUILDTYPE=debug\nENV BUILDTYPE=${BUILDTYPE}\nARG OMIT_DEPRECATED=true\nENV OMIT_DEPRECATED=${OMIT_DEPRECATED}\n\nRUN \\\n apt-get update && \\\n apt-get -y upgrade && \\\n apt-get install -y build-essential git cmake && \\\n rm -rf /var/lib/apt/lists/*\n\nWORKDIR /cFS\nCOPY . .\n\nRUN git submodule init \\\n && git submodule update \\\n && cp cfe/cmake/Makefile.sample Makefile \\\n && cp -r cfe/cmake/sample_defs .\n\nRUN make prep\nRUN make\nRUN make install\n\nFROM ubuntu:22.10\nCOPY --from=builder /cFS/build /cFS/build\nWORKDIR /cFS/build/exe/cpu1\nENTRYPOINT [ "./core-cpu1" ]\n'})}),"\n",(0,s.jsx)(n.h3,{id:"build-and-run-cfs",children:"Build and run cFS"}),"\n",(0,s.jsxs)(n.p,{children:["Note we're connecting to the COSMOS network (",(0,s.jsx)(n.code,{children:"docker network ls"}),") and exposing the cFS ports."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker build -t cfs .\ndocker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs\n"})}),"\n",(0,s.jsx)(n.h2,{id:"creating-a-cosmos-plugin-for-tmtc-interface-with-cfs",children:"Creating a COSMOS plugin for TM/TC interface with cFS"}),"\n",(0,s.jsxs)(n.p,{children:["The detailed instructions how to create a plugin, can be found\n",(0,s.jsx)(n.a,{href:"/docs/getting-started/gettingstarted",children:"here"}),', in the chapter "Interfacing with Your Hardware".']}),"\n",(0,s.jsxs)(n.p,{children:["Create a new plugin with the name ",(0,s.jsx)(n.code,{children:"CFS"}),". ",(0,s.jsx)(n.code,{children:"CFS"})," is the name of the plugin and\nmust be in capital letters according to the COSMOS documentation. This command\nshould create the plugin structure. Then cd into the plugin to create the target."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# cd .. to the location of the cfs dir\n$PATH_TO_OPENC3/openc3.sh cli generate plugin CFS\ncd openc3-cosmos-cfs\n$PATH_TO_OPENC3/openc3.sh cli generate target CFS\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In this newly created plugin, change the ",(0,s.jsx)(n.code,{children:"plugin.txt"})," file, so that the\ncommunication happens over UDP. ",(0,s.jsx)(n.code,{children:"port_tm"})," is the port number on which cFS\nsends the telemetry messages. ",(0,s.jsx)(n.code,{children:"port_tc"})," indicates the port on which cFS listens to the\ntelecommands."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"VARIABLE ip 127.0.0.1\nVARIABLE port_tm 1235\nVARIABLE port_tc 1234\nVARIABLE cfs_target_name CFS\n\nTARGET CFS <%= cfs_target_name %>\n# hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address\nINTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil\n MAP_TARGET <%= cfs_target_name %>\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Note that the two arguments to the ",(0,s.jsx)(n.code,{children:"TARGET"})," parameter are:"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["the physical target name that should match the name of the plugin, i.e. ",(0,s.jsx)(n.code,{children:"CFS"}),".\nThis name must match the folder name in the ",(0,s.jsx)(n.code,{children:"targets"})," folder. Example: for the\n",(0,s.jsx)(n.code,{children:"CFS"})," plugin, the target specifications must be under\n",(0,s.jsx)(n.code,{children:"openc3-cfs/targets/CFS"}),". If you don't follow this\nconvention, the server will refuse to install your plugin at the following steps."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"the name of your target and how it is shown in the user interface."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["In this example, we keep both names to be ",(0,s.jsx)(n.code,{children:"CFS"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"creating-tmtc-definitions",children:"Creating TM/TC definitions"}),"\n",(0,s.jsx)(n.p,{children:"Change to the target folder and remove the existing files and create own files."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cd openc3-cfs/targets/CFS/cmd_tlm\nrm *\ntouch cfs_cmds.txt\ntouch cfs_tlm.txt\ntouch to_lab_cmds.txt\n"})}),"\n",(0,s.jsx)(n.p,{children:"Open these newly created files in a text editor and fill them with following\ncontent."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"to_lab_cmds.txt"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry"\n # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet"\n APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 ""\n FORMAT_STRING "0x%2X"\n APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57"\n'})}),"\n",(0,s.jsx)(n.admonition,{title:"Enabling Telemetry",type:"info",children:(0,s.jsxs)(n.p,{children:["The command ",(0,s.jsx)(n.code,{children:"0x1880"})," is needed to enable telemetry. When the cFS receives\nthis command, it starts sending telemetry to the IP address provided via the\n",(0,s.jsx)(n.code,{children:"DEST_IP"})," field."]})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"cfs_cmds.txt"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND CFS NOOP BIG_ENDIAN "NOOP Command"\n # cFS primary header\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"\n # cFS CMD secondary header\n APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""\n\nCOMMAND CFS RESET BIG_ENDIAN "Reset Counters Command"\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"\n APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""\n\nCOMMAND CFS PROCESS BIG_ENDIAN "Process Command"\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"\n APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""\n'})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"cfs_tlm.txt"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry"\n # NAME BITS TYPE ID DESCRIPTION\n APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID"\n FORMAT_STRING "0x%04X"\n APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence"\n FORMAT_STRING "0x%04X"\n APPEND_ITEM PKT_LEN 16 UINT "Length of the packet"\n # telemetry secondary header\n APPEND_ITEM SECONDS 32 UINT ""\n UNITS Seconds sec\n APPEND_ITEM SUBSECS 16 UINT ""\n UNITS Milliseconds ms\n # some bytes not known for what\n APPEND_ITEM SPARE2ALIGN 32 UINT "Spares"\n # payload\n APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter"\n APPEND_ITEM CMD_CNT 8 UINT "Command Counter"\n # spare / alignment\n APPEND_ITEM SPARE 16 UINT "Spares"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Build the plugin from the base of your plugin folder:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# cd openc3-cfs\n$PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0\n"})}),"\n",(0,s.jsx)(n.admonition,{title:"Plugin versioning",type:"info",children:(0,s.jsx)(n.p,{children:"Do not forget to change the version number with every build if you want to\nbetter distinguish between the versions of the plugin. When the version is\nseen in the plugin's .gem file name, it is easier to visualize the existing\nversions and the newly uploaded versions."})}),"\n",(0,s.jsx)(n.admonition,{title:"Plugin parameters",type:"info",children:(0,s.jsxs)(n.p,{children:["Multiple parameters are available for the plugin configuration. See the ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins",children:"plugin"})," page."]})}),"\n",(0,s.jsx)(n.h2,{id:"uploading-the-plugin",children:"Uploading the plugin"}),"\n",(0,s.jsx)(n.p,{children:"After the plugin has been built, you can import the plugin in the admin area of\nthe page."}),"\n",(0,s.jsxs)(n.p,{children:["Connect with a browser to\n",(0,s.jsx)(n.a,{href:"http://localhost:2900/tools/admin",children:"http://localhost:2900/tools/admin"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["Click on the clip icon and navigate to where your plugin is stored and select\nthe ",(0,s.jsx)(n.code,{children:"openc3-cosmos-cfs-1.0.0.gem"})," file. Right of the selection line click on ",(0,s.jsx)(n.code,{children:"UPLOAD"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Determine the IP address the cFS container and COSMOS operator container are running at:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'docker network ls\nNETWORK ID NAME DRIVER SCOPE\nd842f813f1c7 openc3-cosmos-network bridge local\n\ndocker network inspect openc3-cosmos-network\n[\n {\n "Name": "openc3-cosmos-network",\n ...\n "Containers": {\n "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": {\n "Name": "cfs",\n "IPv4Address": "172.20.0.9/16",\n },\n "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": {\n "Name": "openc3_openc3-operator_1",\n "IPv4Address": "172.20.0.8/16",\n }\n }\n ...\n }\n]\n'})}),"\n",(0,s.jsxs)(n.p,{children:["When using this plugin, make sure to change the ",(0,s.jsx)(n.code,{children:"ip"})," variable during uploading\nto match where cFS is running. In the example above you would set it to 172.20.0.9.\n",(0,s.jsx)(n.code,{children:"port_tm"})," is the port number on which cFS is sending the telemetry messages.\n",(0,s.jsx)(n.code,{children:"port_tc"})," indicates the port on cFS is listening for telecommands."]}),"\n",(0,s.jsxs)(n.p,{children:["Under ",(0,s.jsx)(n.code,{children:"cfs_target_name"})," you can change the target name of this plugin. This\nstep is optional as long as you are fine with your plugin showing up as ",(0,s.jsx)(n.code,{children:"CFS"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Plugin Variable Settings",src:t(7261).A+"",width:"1183",height:"270"})}),"\n",(0,s.jsx)(n.admonition,{title:"Port subscription",type:"warning",children:(0,s.jsx)(n.p,{children:"The last uploaded plugin on COSMOS will subscribe to TM on port 1235.\nOther plugins will not receive any TM anymore."})}),"\n",(0,s.jsx)(n.admonition,{title:"Typo errors",type:"info",children:(0,s.jsx)(n.p,{children:"Presence of typos in one of the plugin files can cause problems when uploading and installing\nthe plugin's .gem file. Make sure your configuration is typo-free."})}),"\n",(0,s.jsxs)(n.p,{children:["In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect to\n",(0,s.jsx)(n.a,{href:"http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE",children:"http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE"}),". Change the ",(0,s.jsx)(n.code,{children:"DEST_IP"})," to the IP address of the operator image (172.20.0.8) and send the command."]}),"\n",(0,s.jsxs)(n.p,{children:["Under ",(0,s.jsx)(n.a,{href:"http://localhost:2900/tools/cmdtlmserver/tlm-packets",children:"http://localhost:2900/tools/cmdtlmserver/tlm-packets"}),", you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader."]})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},7261:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/plugin_variables-6904e1d9003a6c8c530bd1f738f7966217beca7d3064b40670e7a4ab7e200927.png"},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var i=t(6540);const s={},c=i.createContext(s);function o(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3649"],{1362:function(e,n,t){t.r(n),t.d(n,{metadata:()=>i,contentTitle:()=>r,default:()=>h,assets:()=>a,toc:()=>l,frontMatter:()=>o});var i=JSON.parse('{"id":"guides/cfs","title":"COSMOS and NASA cFS","description":"Tutorial for integrating with NASA cFS","source":"@site/docs/guides/cfs.md","sourceDirName":"guides","slug":"/guides/cfs","permalink":"/docs/guides/cfs","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/cfs.md","tags":[],"version":"current","frontMatter":{"title":"COSMOS and NASA cFS","description":"Tutorial for integrating with NASA cFS","sidebar_custom_props":{"myEmoji":"\uD83D\uDE80"}},"sidebar":"defaultSidebar","previous":{"title":"Bridges","permalink":"/docs/guides/bridges"},"next":{"title":"Custom Widgets","permalink":"/docs/guides/custom-widgets"}}'),s=t("5893"),c=t("65");let o={title:"COSMOS and NASA cFS",description:"Tutorial for integrating with NASA cFS",sidebar_custom_props:{myEmoji:"\uD83D\uDE80"}},r=void 0,a={},l=[{value:"Working configuration",id:"working-configuration",level:2},{value:"Setting up COSMOS",id:"setting-up-cosmos",level:2},{value:"Configuring COSMOS",id:"configuring-cosmos",level:3},{value:"Setting up cFS",id:"setting-up-cfs",level:2},{value:"Clone cFS",id:"clone-cfs",level:3},{value:"Create Dockerfile in cFS dir",id:"create-dockerfile-in-cfs-dir",level:3},{value:"Build and run cFS",id:"build-and-run-cfs",level:3},{value:"Creating a COSMOS plugin for TM/TC interface with cFS",id:"creating-a-cosmos-plugin-for-tmtc-interface-with-cfs",level:2},{value:"Creating TM/TC definitions",id:"creating-tmtc-definitions",level:2},{value:"Uploading the plugin",id:"uploading-the-plugin",level:2}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,c.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"working-configuration",children:"Working configuration"}),"\n",(0,s.jsx)(n.p,{children:"This tutorial has been tested using the following components:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["COSMOS v5 release ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/releases/tag/v5.0.6",children:"5.0.6"})]}),"\n",(0,s.jsx)(n.li,{children:"cFS master-branch commit: 561b128 (June 1, 2022)"}),"\n",(0,s.jsx)(n.li,{children:"Docker Desktop 4.9.0 on Windows"}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Replace all ",(0,s.jsx)(n.code,{children:"<xxxxxx>"})," with your matching paths and names. Example: ",(0,s.jsx)(n.code,{children:"<USERNAME>"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"setting-up-cosmos",children:"Setting up COSMOS"}),"\n",(0,s.jsxs)(n.p,{children:["Install COSMOS according to the official ",(0,s.jsx)(n.a,{href:"/docs/getting-started/installation",children:"installation"})," instructions."]}),"\n",(0,s.jsx)(n.h3,{id:"configuring-cosmos",children:"Configuring COSMOS"}),"\n",(0,s.jsxs)(n.p,{children:["Change the Docker configuration for the interoperability with NASA cFS. For\nsubscribing to the telemetry, you have to append a port binding in the file\n",(0,s.jsx)(n.code,{children:"compose.yaml"})," under the section ",(0,s.jsx)(n.code,{children:"openc3-operator"}),". The port number has to\nmatch with the port number cFS is sending the telemetry on."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'openc3-operator:\n ports:\n - "1235:1235/udp"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Run COSMOS, the first run takes a while (~15 min)."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"openc3.sh start\n"})}),"\n",(0,s.jsxs)(n.p,{children:["When started, connect with a browser to ",(0,s.jsx)(n.a,{href:"http://localhost:2900",children:"http://localhost:2900"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"For shutting down COSMOS:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"openc3.sh stop\n"})}),"\n",(0,s.jsx)(n.h2,{id:"setting-up-cfs",children:"Setting up cFS"}),"\n",(0,s.jsxs)(n.p,{children:["To run ",(0,s.jsx)(n.a,{href:"https://github.com/nasa/cFS",children:"NASA cFS"})," as a Docker container do the following:"]}),"\n",(0,s.jsx)(n.h3,{id:"clone-cfs",children:"Clone cFS"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone --recurse-submodules https://github.com/nasa/cFS.git\n"})}),"\n",(0,s.jsx)(n.h3,{id:"create-dockerfile-in-cfs-dir",children:"Create Dockerfile in cFS dir"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-docker",children:'FROM ubuntu:22.10 AS builder\n\nARG DEBIAN_FRONTEND=noninteractive\nARG SIMULATION=native\nENV SIMULATION=${SIMULATION}\nARG BUILDTYPE=debug\nENV BUILDTYPE=${BUILDTYPE}\nARG OMIT_DEPRECATED=true\nENV OMIT_DEPRECATED=${OMIT_DEPRECATED}\n\nRUN \\\n apt-get update && \\\n apt-get -y upgrade && \\\n apt-get install -y build-essential git cmake && \\\n rm -rf /var/lib/apt/lists/*\n\nWORKDIR /cFS\nCOPY . .\n\nRUN git submodule init \\\n && git submodule update \\\n && cp cfe/cmake/Makefile.sample Makefile \\\n && cp -r cfe/cmake/sample_defs .\n\nRUN make prep\nRUN make\nRUN make install\n\nFROM ubuntu:22.10\nCOPY --from=builder /cFS/build /cFS/build\nWORKDIR /cFS/build/exe/cpu1\nENTRYPOINT [ "./core-cpu1" ]\n'})}),"\n",(0,s.jsx)(n.h3,{id:"build-and-run-cfs",children:"Build and run cFS"}),"\n",(0,s.jsxs)(n.p,{children:["Note we're connecting to the COSMOS network (",(0,s.jsx)(n.code,{children:"docker network ls"}),") and exposing the cFS ports."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker build -t cfs .\ndocker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs\n"})}),"\n",(0,s.jsx)(n.h2,{id:"creating-a-cosmos-plugin-for-tmtc-interface-with-cfs",children:"Creating a COSMOS plugin for TM/TC interface with cFS"}),"\n",(0,s.jsxs)(n.p,{children:["The detailed instructions how to create a plugin, can be found\n",(0,s.jsx)(n.a,{href:"/docs/getting-started/gettingstarted",children:"here"}),', in the chapter "Interfacing with Your Hardware".']}),"\n",(0,s.jsxs)(n.p,{children:["Create a new plugin with the name ",(0,s.jsx)(n.code,{children:"CFS"}),". ",(0,s.jsx)(n.code,{children:"CFS"})," is the name of the plugin and\nmust be in capital letters according to the COSMOS documentation. This command\nshould create the plugin structure. Then cd into the plugin to create the target."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# cd .. to the location of the cfs dir\n$PATH_TO_OPENC3/openc3.sh cli generate plugin CFS\ncd openc3-cosmos-cfs\n$PATH_TO_OPENC3/openc3.sh cli generate target CFS\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In this newly created plugin, change the ",(0,s.jsx)(n.code,{children:"plugin.txt"})," file, so that the\ncommunication happens over UDP. ",(0,s.jsx)(n.code,{children:"port_tm"})," is the port number on which cFS\nsends the telemetry messages. ",(0,s.jsx)(n.code,{children:"port_tc"})," indicates the port on which cFS listens to the\ntelecommands."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"VARIABLE ip 127.0.0.1\nVARIABLE port_tm 1235\nVARIABLE port_tc 1234\nVARIABLE cfs_target_name CFS\n\nTARGET CFS <%= cfs_target_name %>\n# hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address\nINTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil\n MAP_TARGET <%= cfs_target_name %>\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Note that the two arguments to the ",(0,s.jsx)(n.code,{children:"TARGET"})," parameter are:"]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["the physical target name that should match the name of the plugin, i.e. ",(0,s.jsx)(n.code,{children:"CFS"}),".\nThis name must match the folder name in the ",(0,s.jsx)(n.code,{children:"targets"})," folder. Example: for the\n",(0,s.jsx)(n.code,{children:"CFS"})," plugin, the target specifications must be under\n",(0,s.jsx)(n.code,{children:"openc3-cfs/targets/CFS"}),". If you don't follow this\nconvention, the server will refuse to install your plugin at the following steps."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"the name of your target and how it is shown in the user interface."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["In this example, we keep both names to be ",(0,s.jsx)(n.code,{children:"CFS"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"creating-tmtc-definitions",children:"Creating TM/TC definitions"}),"\n",(0,s.jsx)(n.p,{children:"Change to the target folder and remove the existing files and create own files."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"cd openc3-cfs/targets/CFS/cmd_tlm\nrm *\ntouch cfs_cmds.txt\ntouch cfs_tlm.txt\ntouch to_lab_cmds.txt\n"})}),"\n",(0,s.jsx)(n.p,{children:"Open these newly created files in a text editor and fill them with following\ncontent."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"to_lab_cmds.txt"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry"\n # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet"\n APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 ""\n FORMAT_STRING "0x%2X"\n APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57"\n'})}),"\n",(0,s.jsx)(n.admonition,{title:"Enabling Telemetry",type:"info",children:(0,s.jsxs)(n.p,{children:["The command ",(0,s.jsx)(n.code,{children:"0x1880"})," is needed to enable telemetry. When the cFS receives\nthis command, it starts sending telemetry to the IP address provided via the\n",(0,s.jsx)(n.code,{children:"DEST_IP"})," field."]})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"cfs_cmds.txt"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND CFS NOOP BIG_ENDIAN "NOOP Command"\n # cFS primary header\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"\n # cFS CMD secondary header\n APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""\n\nCOMMAND CFS RESET BIG_ENDIAN "Reset Counters Command"\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"\n APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""\n\nCOMMAND CFS PROCESS BIG_ENDIAN "Process Command"\n APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""\n FORMAT_STRING "0x%04X"\n APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"\n APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 ""\n APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""\n'})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"cfs_tlm.txt"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry"\n # NAME BITS TYPE ID DESCRIPTION\n APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID"\n FORMAT_STRING "0x%04X"\n APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence"\n FORMAT_STRING "0x%04X"\n APPEND_ITEM PKT_LEN 16 UINT "Length of the packet"\n # telemetry secondary header\n APPEND_ITEM SECONDS 32 UINT ""\n UNITS Seconds sec\n APPEND_ITEM SUBSECS 16 UINT ""\n UNITS Milliseconds ms\n # some bytes not known for what\n APPEND_ITEM SPARE2ALIGN 32 UINT "Spares"\n # payload\n APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter"\n APPEND_ITEM CMD_CNT 8 UINT "Command Counter"\n # spare / alignment\n APPEND_ITEM SPARE 16 UINT "Spares"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Build the plugin from the base of your plugin folder:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# cd openc3-cfs\n$PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0\n"})}),"\n",(0,s.jsx)(n.admonition,{title:"Plugin versioning",type:"info",children:(0,s.jsx)(n.p,{children:"Do not forget to change the version number with every build if you want to\nbetter distinguish between the versions of the plugin. When the version is\nseen in the plugin's .gem file name, it is easier to visualize the existing\nversions and the newly uploaded versions."})}),"\n",(0,s.jsx)(n.admonition,{title:"Plugin parameters",type:"info",children:(0,s.jsxs)(n.p,{children:["Multiple parameters are available for the plugin configuration. See the ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins",children:"plugin"})," page."]})}),"\n",(0,s.jsx)(n.h2,{id:"uploading-the-plugin",children:"Uploading the plugin"}),"\n",(0,s.jsx)(n.p,{children:"After the plugin has been built, you can import the plugin in the admin area of\nthe page."}),"\n",(0,s.jsxs)(n.p,{children:["Connect with a browser to\n",(0,s.jsx)(n.a,{href:"http://localhost:2900/tools/admin",children:"http://localhost:2900/tools/admin"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["Click on the clip icon and navigate to where your plugin is stored and select\nthe ",(0,s.jsx)(n.code,{children:"openc3-cosmos-cfs-1.0.0.gem"})," file. Right of the selection line click on ",(0,s.jsx)(n.code,{children:"UPLOAD"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"Determine the IP address the cFS container and COSMOS operator container are running at:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'docker network ls\nNETWORK ID NAME DRIVER SCOPE\nd842f813f1c7 openc3-cosmos-network bridge local\n\ndocker network inspect openc3-cosmos-network\n[\n {\n "Name": "openc3-cosmos-network",\n ...\n "Containers": {\n "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": {\n "Name": "cfs",\n "IPv4Address": "172.20.0.9/16",\n },\n "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": {\n "Name": "openc3_openc3-operator_1",\n "IPv4Address": "172.20.0.8/16",\n }\n }\n ...\n }\n]\n'})}),"\n",(0,s.jsxs)(n.p,{children:["When using this plugin, make sure to change the ",(0,s.jsx)(n.code,{children:"ip"})," variable during uploading\nto match where cFS is running. In the example above you would set it to 172.20.0.9.\n",(0,s.jsx)(n.code,{children:"port_tm"})," is the port number on which cFS is sending the telemetry messages.\n",(0,s.jsx)(n.code,{children:"port_tc"})," indicates the port on cFS is listening for telecommands."]}),"\n",(0,s.jsxs)(n.p,{children:["Under ",(0,s.jsx)(n.code,{children:"cfs_target_name"})," you can change the target name of this plugin. This\nstep is optional as long as you are fine with your plugin showing up as ",(0,s.jsx)(n.code,{children:"CFS"}),"."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Plugin Variable Settings",src:t(9422).Z+"",width:"1183",height:"270"})}),"\n",(0,s.jsx)(n.admonition,{title:"Port subscription",type:"warning",children:(0,s.jsx)(n.p,{children:"The last uploaded plugin on COSMOS will subscribe to TM on port 1235.\nOther plugins will not receive any TM anymore."})}),"\n",(0,s.jsx)(n.admonition,{title:"Typo errors",type:"info",children:(0,s.jsx)(n.p,{children:"Presence of typos in one of the plugin files can cause problems when uploading and installing\nthe plugin's .gem file. Make sure your configuration is typo-free."})}),"\n",(0,s.jsxs)(n.p,{children:["In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect to\n",(0,s.jsx)(n.a,{href:"http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE",children:"http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE"}),". Change the ",(0,s.jsx)(n.code,{children:"DEST_IP"})," to the IP address of the operator image (172.20.0.8) and send the command."]}),"\n",(0,s.jsxs)(n.p,{children:["Under ",(0,s.jsx)(n.a,{href:"http://localhost:2900/tools/cmdtlmserver/tlm-packets",children:"http://localhost:2900/tools/cmdtlmserver/tlm-packets"}),", you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader."]})]})}function h(e={}){let{wrapper:n}={...(0,c.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},9422:function(e,n,t){t.d(n,{Z:function(){return i}});let i=t.p+"assets/images/plugin_variables-6904e1d9003a6c8c530bd1f738f7966217beca7d3064b40670e7a4ab7e200927.png"},65:function(e,n,t){t.d(n,{Z:function(){return r},a:function(){return o}});var i=t(7294);let s={},c=i.createContext(s);function o(e){let n=i.useContext(c);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/89e76475.85075a3c.js b/docs/assets/js/89e76475.85075a3c.js deleted file mode 100644 index a6f791315d..0000000000 --- a/docs/assets/js/89e76475.85075a3c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7660],{4454:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"tools/bucket-explorer","title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","source":"@site/docs/tools/bucket-explorer.md","sourceDirName":"tools","slug":"/tools/bucket-explorer","permalink":"/docs/tools/bucket-explorer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/bucket-explorer.md","tags":[],"version":"current","frontMatter":{"title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Autonomic (Enterprise)","permalink":"/docs/tools/autonomic"},"next":{"title":"Calendar (Enterprise)","permalink":"/docs/tools/calendar"}}');var n=o(4848),i=o(8453);const r={title:"Bucket Explorer",description:"File browser to the COSMOS backend bucket storage system",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},l=void 0,c={},a=[{value:"Introduction",id:"introduction",level:2},{value:"Browsing Files",id:"browsing-files",level:2},{value:"Upload",id:"upload",level:3},{value:"Download",id:"download",level:3},{value:"Delete",id:"delete",level:3}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsx)(t.p,{children:"Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Bucket Explorer",src:o(9245).A+"",width:"1271",height:"543"})}),"\n",(0,n.jsx)(t.h2,{id:"browsing-files",children:"Browsing Files"}),"\n",(0,n.jsxs)(t.p,{children:["At the top are the three standard COSMOS buckets: ",(0,n.jsx)(t.code,{children:"config"}),", ",(0,n.jsx)(t.code,{children:"logs"}),", and ",(0,n.jsx)(t.code,{children:"tools"}),". Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is ",(0,n.jsx)(t.code,{children:"DEFAULT"}),". The ",(0,n.jsx)(t.code,{children:"config"})," bucket holds the COSMOS configuration which is populated as plugins are installed. The ",(0,n.jsx)(t.code,{children:"logs"})," bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See ",(0,n.jsx)(t.a,{href:"/docs/guides/logging",children:"Logging"})," for more info). These logs are gzipped to save storage space. The ",(0,n.jsx)(t.code,{children:"tools"})," bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket."]}),"\n",(0,n.jsx)(t.admonition,{title:"Tools as Static Website",type:"note",children:(0,n.jsx)(t.p,{children:"Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3"})}),"\n",(0,n.jsx)(t.h3,{id:"upload",children:"Upload"}),"\n",(0,n.jsxs)(t.p,{children:["Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in ",(0,n.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin."]}),"\n",(0,n.jsx)(t.h3,{id:"download",children:"Download"}),"\n",(0,n.jsx)(t.p,{children:"Click the Download icon to download any of the individual files from any bucket and path."}),"\n",(0,n.jsx)(t.h3,{id:"delete",children:"Delete"}),"\n",(0,n.jsxs)(t.p,{children:["Click the Trash icon to delete an individual file. Note that in ",(0,n.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin."]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},9245:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/bucket_explorer-ba88a20121198c3441a6af5302ab1a6ad62a171661037e9e3bfd312ca8bdb5ef.png"},8453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>l});var s=o(6540);const n={},i=s.createContext(n);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/89e76475.9b88bca9.js b/docs/assets/js/89e76475.9b88bca9.js new file mode 100644 index 0000000000..d4bdd3ac48 --- /dev/null +++ b/docs/assets/js/89e76475.9b88bca9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4456"],{1867:function(e,t,o){o.r(t),o.d(t,{metadata:()=>n,contentTitle:()=>l,default:()=>u,assets:()=>c,toc:()=>a,frontMatter:()=>r});var n=JSON.parse('{"id":"tools/bucket-explorer","title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","source":"@site/docs/tools/bucket-explorer.md","sourceDirName":"tools","slug":"/tools/bucket-explorer","permalink":"/docs/tools/bucket-explorer","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/bucket-explorer.md","tags":[],"version":"current","frontMatter":{"title":"Bucket Explorer","description":"File browser to the COSMOS backend bucket storage system","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Autonomic (Enterprise)","permalink":"/docs/tools/autonomic"},"next":{"title":"Calendar (Enterprise)","permalink":"/docs/tools/calendar"}}'),s=o("5893"),i=o("65");let r={title:"Bucket Explorer",description:"File browser to the COSMOS backend bucket storage system",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},l=void 0,c={},a=[{value:"Introduction",id:"introduction",level:2},{value:"Browsing Files",id:"browsing-files",level:2},{value:"Upload",id:"upload",level:3},{value:"Download",id:"download",level:3},{value:"Delete",id:"delete",level:3}];function d(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(t.p,{children:"Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Bucket Explorer",src:o(6499).Z+"",width:"1271",height:"543"})}),"\n",(0,s.jsx)(t.h2,{id:"browsing-files",children:"Browsing Files"}),"\n",(0,s.jsxs)(t.p,{children:["At the top are the three standard COSMOS buckets: ",(0,s.jsx)(t.code,{children:"config"}),", ",(0,s.jsx)(t.code,{children:"logs"}),", and ",(0,s.jsx)(t.code,{children:"tools"}),". Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is ",(0,s.jsx)(t.code,{children:"DEFAULT"}),". The ",(0,s.jsx)(t.code,{children:"config"})," bucket holds the COSMOS configuration which is populated as plugins are installed. The ",(0,s.jsx)(t.code,{children:"logs"})," bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See ",(0,s.jsx)(t.a,{href:"/docs/guides/logging",children:"Logging"})," for more info). These logs are gzipped to save storage space. The ",(0,s.jsx)(t.code,{children:"tools"})," bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket."]}),"\n",(0,s.jsx)(t.admonition,{title:"Tools as Static Website",type:"note",children:(0,s.jsx)(t.p,{children:"Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3"})}),"\n",(0,s.jsx)(t.h3,{id:"upload",children:"Upload"}),"\n",(0,s.jsxs)(t.p,{children:["Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in ",(0,s.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin."]}),"\n",(0,s.jsx)(t.h3,{id:"download",children:"Download"}),"\n",(0,s.jsx)(t.p,{children:"Click the Download icon to download any of the individual files from any bucket and path."}),"\n",(0,s.jsx)(t.h3,{id:"delete",children:"Delete"}),"\n",(0,s.jsxs)(t.p,{children:["Click the Trash icon to delete an individual file. Note that in ",(0,s.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin."]})]})}function u(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6499:function(e,t,o){o.d(t,{Z:function(){return n}});let n=o.p+"assets/images/bucket_explorer-ba88a20121198c3441a6af5302ab1a6ad62a171661037e9e3bfd312ca8bdb5ef.png"},65:function(e,t,o){o.d(t,{Z:function(){return l},a:function(){return r}});var n=o(7294);let s={},i=n.createContext(s);function r(e){let t=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/8f7843ee.615eea9f.js b/docs/assets/js/8f7843ee.76955511.js similarity index 55% rename from docs/assets/js/8f7843ee.615eea9f.js rename to docs/assets/js/8f7843ee.76955511.js index 07d5f9e242..a43dc52795 100644 --- a/docs/assets/js/8f7843ee.615eea9f.js +++ b/docs/assets/js/8f7843ee.76955511.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[1281],{3945:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"guides/logging","title":"Logging","description":"The log files in COSMOS","source":"@site/docs/guides/logging.md","sourceDirName":"guides","slug":"/guides/logging","permalink":"/docs/guides/logging","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/logging.md","tags":[],"version":"current","frontMatter":{"title":"Logging","description":"The log files in COSMOS","sidebar_custom_props":{"myEmoji":"\ud83e\udeb5"}},"sidebar":"defaultSidebar","previous":{"title":"Local Mode","permalink":"/docs/guides/local-mode"},"next":{"title":"Monitoring","permalink":"/docs/guides/monitoring"}}');var n=o(4848),i=o(8453);const r={title:"Logging",description:"The log files in COSMOS",sidebar_custom_props:{myEmoji:"\ud83e\udeb5"}},a=void 0,l={},c=[{value:"decom_logs & raw_logs",id:"decom_logs--raw_logs",level:3},{value:"text_logs",id:"text_logs",level:3},{value:"tool_logs",id:"tool_logs",level:3}];function d(e){const t={a:"a",h3:"h3",img:"img",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["The COSMOS ",(0,n.jsx)(t.a,{href:"/docs/tools/bucket-explorer",children:"Bucket Explorer"})," tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to ",(0,n.jsx)(t.a,{href:"http://localhost:2900/tools/bucketexplorer",children:"http://localhost:2900/tools/bucketexplorer"})," and you should see the list of buckets at the top:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Bucket Explorer",src:o(6365).A+"",width:"1272",height:"570"})}),"\n",(0,n.jsx)(t.p,{children:"Note the config and logs buckets are organized by scopes of which there initially is just one: DEFAULT. Clicking the DEFAULT folder in the logs bucket shows the decom_logs, raw_logs, reduced_xxx_logs, text_logs and tool_logs."}),"\n",(0,n.jsx)(t.h3,{id:"decom_logs--raw_logs",children:"decom_logs & raw_logs"}),"\n",(0,n.jsx)(t.p,{children:"The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"raw_tlm_logs",src:o(1480).A+"",width:"1272",height:"557"})}),"\n",(0,n.jsxs)(t.p,{children:["Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the ",(0,n.jsx)(t.a,{href:"/docs/development/log-structure",children:"Log Structure"})," developer documentation."]}),"\n",(0,n.jsx)(t.p,{children:"The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first."}),"\n",(0,n.jsxs)(t.p,{children:["To change the logging settings add the various CYCLE_TIME ",(0,n.jsx)(t.a,{href:"/docs/configuration/plugins#target-modifiers",children:"Target Modifiers"})," under the declared ",(0,n.jsx)(t.a,{href:"/docs/configuration/plugins#target-1",children:"TARGET"})," name in your plugin.txt."]}),"\n",(0,n.jsx)(t.h3,{id:"text_logs",children:"text_logs"}),"\n",(0,n.jsx)(t.p,{children:"The text_logs folder contains openc3_log_messages which contains text files that are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked. These log messages files are long term records of the messages in the CmdTlmServer Log Messages window:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"log_messages",src:o(3773).A+"",width:"1266",height:"469"})}),"\n",(0,n.jsx)(t.h3,{id:"tool_logs",children:"tool_logs"}),"\n",(0,n.jsx)(t.p,{children:"The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"log_messages",src:o(3210).A+"",width:"1266",height:"599"})})]})}function g(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3773:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/log_messages-6dd20c27f64fc00c8e61ee1062193fd6cb31efa4701130385c9853abfeed8495.png"},6365:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/logs-bfc2ef93f6e60cb3bdf409aaaf0b4315b6e98dc1b9c17bdc171e67b416d884cc.png"},1480:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/raw_tlm_logs-b293435cebbd5d4f04ab8a469ce2b4eb66f4cfd046d7b18ee417893336816b85.png"},3210:(e,t,o)=>{o.d(t,{A:()=>s});const s=o.p+"assets/images/script_messages-5c30dab8202ae3d18fa1f12cdd43f409967b1d4ac84a4a0e96bf027041ab9a07.png"},8453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>a});var s=o(6540);const n={},i=s.createContext(n);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6449"],{7993:function(e,t,o){o.r(t),o.d(t,{metadata:()=>s,contentTitle:()=>a,default:()=>g,assets:()=>l,toc:()=>c,frontMatter:()=>r});var s=JSON.parse('{"id":"guides/logging","title":"Logging","description":"The log files in COSMOS","source":"@site/docs/guides/logging.md","sourceDirName":"guides","slug":"/guides/logging","permalink":"/docs/guides/logging","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/logging.md","tags":[],"version":"current","frontMatter":{"title":"Logging","description":"The log files in COSMOS","sidebar_custom_props":{"myEmoji":"\uD83E\uDEB5"}},"sidebar":"defaultSidebar","previous":{"title":"Local Mode","permalink":"/docs/guides/local-mode"},"next":{"title":"Monitoring","permalink":"/docs/guides/monitoring"}}'),n=o("5893"),i=o("65");let r={title:"Logging",description:"The log files in COSMOS",sidebar_custom_props:{myEmoji:"\uD83E\uDEB5"}},a=void 0,l={},c=[{value:"decom_logs & raw_logs",id:"decom_logs--raw_logs",level:3},{value:"text_logs",id:"text_logs",level:3},{value:"tool_logs",id:"tool_logs",level:3}];function d(e){let t={a:"a",h3:"h3",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["The COSMOS ",(0,n.jsx)(t.a,{href:"/docs/tools/bucket-explorer",children:"Bucket Explorer"})," tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to ",(0,n.jsx)(t.a,{href:"http://localhost:2900/tools/bucketexplorer",children:"http://localhost:2900/tools/bucketexplorer"})," and you should see the list of buckets at the top:"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Bucket Explorer",src:o(9377).Z+"",width:"1272",height:"570"})}),"\n",(0,n.jsx)(t.p,{children:"Note the config and logs buckets are organized by scopes of which there initially is just one: DEFAULT. Clicking the DEFAULT folder in the logs bucket shows the decom_logs, raw_logs, reduced_xxx_logs, text_logs and tool_logs."}),"\n",(0,n.jsx)(t.h3,{id:"decom_logs--raw_logs",children:"decom_logs & raw_logs"}),"\n",(0,n.jsx)(t.p,{children:"The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"raw_tlm_logs",src:o(4933).Z+"",width:"1272",height:"557"})}),"\n",(0,n.jsxs)(t.p,{children:["Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the ",(0,n.jsx)(t.a,{href:"/docs/development/log-structure",children:"Log Structure"})," developer documentation."]}),"\n",(0,n.jsx)(t.p,{children:"The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first."}),"\n",(0,n.jsxs)(t.p,{children:["To change the logging settings add the various CYCLE_TIME ",(0,n.jsx)(t.a,{href:"/docs/configuration/plugins#target-modifiers",children:"Target Modifiers"})," under the declared ",(0,n.jsx)(t.a,{href:"/docs/configuration/plugins#target-1",children:"TARGET"})," name in your plugin.txt."]}),"\n",(0,n.jsx)(t.h3,{id:"text_logs",children:"text_logs"}),"\n",(0,n.jsx)(t.p,{children:"The text_logs folder contains openc3_log_messages which contains text files that are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked. These log messages files are long term records of the messages in the CmdTlmServer Log Messages window:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"log_messages",src:o(3789).Z+"",width:"1266",height:"469"})}),"\n",(0,n.jsx)(t.h3,{id:"tool_logs",children:"tool_logs"}),"\n",(0,n.jsx)(t.p,{children:"The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"log_messages",src:o(9361).Z+"",width:"1266",height:"599"})})]})}function g(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},3789:function(e,t,o){o.d(t,{Z:function(){return s}});let s=o.p+"assets/images/log_messages-6dd20c27f64fc00c8e61ee1062193fd6cb31efa4701130385c9853abfeed8495.png"},9377:function(e,t,o){o.d(t,{Z:function(){return s}});let s=o.p+"assets/images/logs-bfc2ef93f6e60cb3bdf409aaaf0b4315b6e98dc1b9c17bdc171e67b416d884cc.png"},4933:function(e,t,o){o.d(t,{Z:function(){return s}});let s=o.p+"assets/images/raw_tlm_logs-b293435cebbd5d4f04ab8a469ce2b4eb66f4cfd046d7b18ee417893336816b85.png"},9361:function(e,t,o){o.d(t,{Z:function(){return s}});let s=o.p+"assets/images/script_messages-5c30dab8202ae3d18fa1f12cdd43f409967b1d4ac84a4a0e96bf027041ab9a07.png"},65:function(e,t,o){o.d(t,{Z:function(){return a},a:function(){return r}});var s=o(7294);let n={},i=s.createContext(n);function r(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/9196.4aa80f3d.js b/docs/assets/js/9196.4aa80f3d.js new file mode 100644 index 0000000000..1524686113 --- /dev/null +++ b/docs/assets/js/9196.4aa80f3d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9196"],{4593:function(e,t,n){n.d(t,{Z:function(){return c}});var o=n(5893);n(7294);var i=n(7026),r=n(6025),s=n(4403);function c(e){let{className:t}=e;return(0,o.jsx)("main",{className:(0,i.Z)("container margin-vert--xl",t),children:(0,o.jsx)("div",{className:"row",children:(0,o.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,o.jsx)(s.Z,{as:"h1",className:"hero__title",children:(0,o.jsx)(r.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,o.jsx)("p",{children:(0,o.jsx)(r.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,o.jsx)("p",{children:(0,o.jsx)(r.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},5672:function(e,t,n){n.r(t),n.d(t,{default:function(){return a}});var o=n(5893);n(7294);var i=n(6025),r=n(4713),s=n(6036),c=n(4593);function a(){let e=(0,i.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.d,{title:e}),(0,o.jsx)(s.Z,{children:(0,o.jsx)(c.Z,{})})]})}}}]); \ No newline at end of file diff --git a/docs/assets/js/9278.8fb0718e.js b/docs/assets/js/9278.8fb0718e.js deleted file mode 100644 index 16847c1fa6..0000000000 --- a/docs/assets/js/9278.8fb0718e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[9278],{9278:(c,e,s)=>{s.r(e)}}]); \ No newline at end of file diff --git a/docs/assets/js/9395.e194c975.js b/docs/assets/js/9395.e194c975.js new file mode 100644 index 0000000000..d57342143c --- /dev/null +++ b/docs/assets/js/9395.e194c975.js @@ -0,0 +1 @@ +(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9395"],{7594:function(e,t){function n(e){let t,n=[];for(let r of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(r))n.push(parseInt(r,10));else if(t=r.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,r,s,i]=t;if(r&&i){r=parseInt(r);let e=r<(i=parseInt(i))?1:-1;("-"===s||".."===s||"\u2025"===s)&&(i+=e);for(let t=r;t!==i;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},5094:function(e,t,n){"use strict";n.d(t,{Z:()=>B});var r=n("5893"),s=n("7294"),i=n("7026"),o=n("6025"),a=n("4681");let l={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function c(e){let{type:t,className:n,children:s}=e;return(0,r.jsx)("div",{className:(0,i.Z)(a.k.common.admonition,a.k.common.admonitionType(t),l.admonition,n),children:s})}function d(e){let{icon:t,title:n}=e;return(0,r.jsxs)("div",{className:l.admonitionHeading,children:[(0,r.jsx)("span",{className:l.admonitionIcon,children:t}),n]})}function u(e){let{children:t}=e;return t?(0,r.jsx)("div",{className:l.admonitionContent,children:t}):null}function m(e){let{type:t,icon:n,title:s,children:i,className:o}=e;return(0,r.jsxs)(c,{type:t,className:o,children:[s||n?(0,r.jsx)(d,{title:s,icon:n}):null,(0,r.jsx)(u,{children:i})]})}let h={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,r.jsx)(o.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function f(e){return(0,r.jsx)(m,{...h,...e,className:(0,i.Z)("alert alert--secondary",e.className),children:e.children})}let p={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,r.jsx)(o.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function x(e){return(0,r.jsx)(m,{...p,...e,className:(0,i.Z)("alert alert--success",e.className),children:e.children})}let j={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})},{}),title:(0,r.jsx)(o.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function b(e){return(0,r.jsx)(m,{...j,...e,className:(0,i.Z)("alert alert--info",e.className),children:e.children})}function v(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let g={icon:(0,r.jsx)(v,{}),title:(0,r.jsx)(o.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},y={icon:(0,r.jsx)(function(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,r.jsx)(o.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,r.jsx)(v,{}),title:(0,r.jsx)(o.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})},k={note:f,tip:x,info:b,warning:function(e){return(0,r.jsx)(m,{...g,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(m,{...y,...e,className:(0,i.Z)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,r.jsx)(f,{title:"secondary",...e}),important:e=>(0,r.jsx)(b,{title:"important",...e}),success:e=>(0,r.jsx)(x,{title:"success",...e}),caution:function(e){return(0,r.jsx)(m,{...N,...e,className:(0,i.Z)("alert alert--warning",e.className),children:e.children})}};function B(e){let t=function(e){let{mdxAdmonitionTitle:t,rest:n}=function(e){let t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),i=t.filter(e=>e!==n);return{mdxAdmonitionTitle:n?.props.children,rest:i.length>0?(0,r.jsx)(r.Fragment,{children:i}):null}}(e.children),i=e.title??t;return{...e,...i&&{title:i},children:n}}(e),n=function(e){let t=k[e];return t?t:(console.warn(`No admonition component found for admonition type "${e}". Using Info as fallback.`),k.info)}(t.type);return(0,r.jsx)(n,{...t})}},5427:function(e,t,n){"use strict";n.d(t,{Z:()=>j});var r=n("5893");n("7294");var s=n("7026"),i=n("6025"),o=n("4819");function a(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function c(){return(0,r.jsx)(o.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function u(){return(0,r.jsx)(i.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}var m=n("4681"),h=n("5094");function f(e){let{className:t}=e;return(0,r.jsx)(h.Z,{type:"caution",title:(0,r.jsx)(d,{}),className:(0,s.Z)(t,m.k.common.draftBanner),children:(0,r.jsx)(u,{})})}function p(e){let{className:t}=e;return(0,r.jsx)(h.Z,{type:"caution",title:(0,r.jsx)(a,{}),className:(0,s.Z)(t,m.k.common.unlistedBanner),children:(0,r.jsx)(l,{})})}function x(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{}),(0,r.jsx)(p,{...e})]})}function j(e){let{metadata:t}=e,{unlisted:n,frontMatter:s}=t;return(0,r.jsxs)(r.Fragment,{children:[(n||s.unlisted)&&(0,r.jsx)(x,{}),s.draft&&(0,r.jsx)(f,{})]})}},6594:function(e,t,n){"use strict";n.d(t,{Z:()=>x});var r=n("5893");n("7294");var s=n("7026"),i=n("6025"),o=n("4681"),a=n("3012");let l="iconEdit_Z9Sw";function c(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)(l,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(a.Z,{to:t,className:o.k.common.editThisPage,children:[(0,r.jsx)(c,{}),(0,r.jsx)(i.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n("2933");function m(e){let{lastUpdatedAt:t}=e,n=new Date(t),s=(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{i18n:{currentLocale:t}}=(0,u.Z)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,u.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})})({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(i.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function f(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:o.k.common.lastUpdated,children:[(0,r.jsx)(i.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}let p="lastUpdated_JAkA";function x(e){let{className:t,editUrl:n,lastUpdatedAt:i,lastUpdatedBy:o}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(d,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col",p),children:(i||o)&&(0,r.jsx)(f,{lastUpdatedAt:i,lastUpdatedBy:o})})]})}},6798:function(e,t,n){"use strict";n.d(t,{Z:()=>en});var r=n("5893"),s=n("7294"),i=n("65"),o=n("4819"),a=n("7227"),l=n("7026"),c=n("4239"),d=n("140");function u(){let{prism:e}=(0,d.L)(),{colorMode:t}=(0,c.I)(),n=e.theme,r=e.darkTheme||n;return"dark"===t?r:n}var m=n("4681"),h=n("7594"),f=n.n(h);let p=/title=(?<quote>["'])(?<title>.*?)\1/,x=/\{(?<range>[\d,-]+)\}/,j={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},b={...j,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},v=Object.keys(j);function g(e,t){let n=e.map(e=>{let{start:n,end:r}=b[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${r})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}let y="codeBlockContainer_Ckt0";function N(e){let{as:t,...n}=e,s=function(e){let t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(e=>{let[r,s]=e,i=t[r];i&&"string"==typeof s&&(n[i]=s)}),n}(u());return(0,r.jsx)(t,{...n,style:s,className:(0,l.Z)(n.className,y,m.k.common.codeBlock)})}let k={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function B(e){let{children:t,className:n}=e;return(0,r.jsx)(N,{as:"pre",tabIndex:0,className:(0,l.Z)(k.codeBlockStandalone,"thin-scrollbar",n),children:(0,r.jsx)("code",{className:k.codeBlockLines,children:t})})}var w=n("5346");let C={attributes:!0,characterData:!0,childList:!0,subtree:!0};var Z=n("3229");let L={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function E(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:i,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");let a=i({line:t,className:(0,l.Z)(n,s&&L.codeLine)}),c=t.map((e,t)=>(0,r.jsx)("span",{...o({token:e})},t));return(0,r.jsxs)("span",{...a,children:[s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:L.codeLineNumber}),(0,r.jsx)("span",{className:L.codeLineContent,children:c})]}):c,(0,r.jsx)("br",{})]})}var _=n("6025");function T(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function A(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let I={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function S(e){let{code:t,className:n}=e,[i,o]=(0,s.useState)(!1),a=(0,s.useRef)(void 0),c=(0,s.useCallback)(()=>{!function(e){let{target:t=document.body}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof e)throw TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);let n=document.createElement("textarea"),r=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";let s=document.getSelection(),i=s.rangeCount>0&&s.getRangeAt(0);t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let o=!1;try{o=document.execCommand("copy")}catch{}n.remove(),i&&(s.removeAllRanges(),s.addRange(i)),r&&r.focus()}(t),o(!0),a.current=window.setTimeout(()=>{o(!1)},1e3)},[t]);return(0,s.useEffect)(()=>()=>window.clearTimeout(a.current),[]),(0,r.jsx)("button",{type:"button","aria-label":i?(0,_.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,_.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,_.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,l.Z)("clean-btn",n,I.copyButton,i&&I.copyButtonCopied),onClick:c,children:(0,r.jsxs)("span",{className:I.copyButtonIcons,"aria-hidden":"true",children:[(0,r.jsx)(T,{className:I.copyButtonIcon}),(0,r.jsx)(A,{className:I.copyButtonSuccessIcon})]})})}function M(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}let H={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function z(e){let{className:t,onClick:n,isEnabled:s}=e,i=(0,_.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,r.jsx)("button",{type:"button",onClick:n,className:(0,l.Z)("clean-btn",t,s&&H.wordWrapButtonEnabled),"aria-label":i,title:i,children:(0,r.jsx)(M,{className:H.wordWrapButtonIcon,"aria-hidden":"true"})})}function R(e){var t,n,i;let{children:o,className:a="",metastring:c,title:m,showLineNumbers:h,language:j}=e,{prism:{defaultLanguage:b,magicComments:y}}=(0,d.L)();let B=(t=j??function(e){let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(a)??b,t?.toLowerCase()),L=u(),_=function(){let[e,t]=(0,s.useState)(!1),[n,r]=(0,s.useState)(!1),i=(0,s.useRef)(null),o=(0,s.useCallback)(()=>{let n=i.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[i,e]),a=(0,s.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=i.current;r(e>t||i.current.querySelector("code").hasAttribute("style"))},[i]);return!function(e,t){let[n,r]=(0,s.useState)(),i=(0,s.useCallback)(()=>{r(e.current?.closest("[role=tabpanel][hidden]"))},[e,r]);(0,s.useEffect)(()=>{i()},[i]),!function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:C,r=(0,w.zX)(t),i=(0,w.Ql)(n);(0,s.useEffect)(()=>{let t=new MutationObserver(r);return e&&t.observe(e,i),()=>t.disconnect()},[e,r,i])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(i,a),(0,s.useEffect)(()=>{a()},[e,a]),(0,s.useEffect)(()=>(window.addEventListener("resize",a,{passive:!0}),()=>{window.removeEventListener("resize",a)}),[a]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:n,toggle:o}}();let T=(n=c,(n?.match(p)?.groups.title??"")||m),{lineClassNames:A,code:I}=function(e,t){let n=e.replace(/\n$/,""),{language:r,magicComments:s,metastring:i}=t;if(i&&x.test(i)){let e=i.match(x).groups.range;if(0===s.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let t=s[0].className;return{lineClassNames:Object.fromEntries(f()(e).filter(e=>e>0).map(e=>[e-1,[t]])),code:n}}if(void 0===r)return{lineClassNames:{},code:n};let o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return g(["js","jsBlock"],t);case"jsx":case"tsx":return g(["js","jsBlock","jsx"],t);case"html":return g(["js","jsBlock","html"],t);case"python":case"py":case"bash":return g(["bash"],t);case"markdown":case"md":return g(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return g(["tex"],t);case"lua":case"haskell":case"sql":return g(["lua"],t);case"wasm":return g(["wasm"],t);case"vb":case"vba":case"visual-basic":return g(["vb","rem"],t);case"vbnet":return g(["vbnet","rem"],t);case"batch":return g(["rem"],t);case"basic":return g(["rem","f90"],t);case"fsharp":return g(["js","ml"],t);case"ocaml":case"sml":return g(["ml"],t);case"fortran":return g(["f90"],t);case"cobol":return g(["cobol"],t);default:return g(v,t)}}(r,s),a=n.split("\n"),l=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),c=Object.fromEntries(s.filter(e=>e.line).map(e=>{let{className:t,line:n}=e;return[n,t]})),d=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.start,t]})),u=Object.fromEntries(s.filter(e=>e.block).map(e=>{let{className:t,block:n}=e;return[n.end,t]}));for(let e=0;e<a.length;){let t=a[e].match(o);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);c[n]?l[c[n]].range+=`${e},`:d[n]?l[d[n]].start=e:u[n]&&(l[u[n]].range+=`${l[u[n]].start}-${e-1},`),a.splice(e,1)}n=a.join("\n");let m={};return Object.entries(l).forEach(e=>{let[t,{range:n}]=e;f()(n).forEach(e=>{m[e]??=[],m[e].push(t)})}),{lineClassNames:m,code:n}}(o,{metastring:c,language:B,magicComments:y});let M=h??(i=c,!!i?.includes("showLineNumbers"));return(0,r.jsxs)(N,{as:"div",className:(0,l.Z)(a,B&&!a.includes(`language-${B}`)&&`language-${B}`),children:[T&&(0,r.jsx)("div",{className:k.codeBlockTitle,children:T}),(0,r.jsxs)("div",{className:k.codeBlockContent,children:[(0,r.jsx)(Z.y$,{theme:L,code:I,language:B??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:i,getTokenProps:o}=e;return(0,r.jsx)("pre",{tabIndex:0,ref:_.codeBlockRef,className:(0,l.Z)(t,k.codeBlock,"thin-scrollbar"),style:n,children:(0,r.jsx)("code",{className:(0,l.Z)(k.codeBlockLines,M&&k.codeBlockLinesWithNumbering),children:s.map((e,t)=>(0,r.jsx)(E,{line:e,getLineProps:i,getTokenProps:o,classNames:A[t],showLineNumbers:M},t))})})}}),(0,r.jsxs)("div",{className:k.buttonGroup,children:[(_.isEnabled||_.isCodeScrollable)&&(0,r.jsx)(z,{className:k.codeButton,onClick:()=>_.toggle(),isEnabled:_.isEnabled}),(0,r.jsx)(S,{className:k.codeButton,code:I})]})]})]})}function V(e){var t;let{children:n,...i}=e,o=(0,a.Z)();let l=(t=n,s.Children.toArray(t).some(e=>(0,s.isValidElement)(e))?t:Array.isArray(t)?t.join(""):t);return(0,r.jsx)("string"==typeof l?R:B,{...i,children:l},String(o))}function U(e){return(0,r.jsx)("code",{...e})}var $=n("3012"),O=n("1065"),D=n("7455");let W={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function q(e){return!!e&&("SUMMARY"===e.tagName||q(e.parentElement))}function P(e){let{summary:t,children:n,...i}=e;(0,O.Z)().collectAnchor(i.id);let o=(0,a.Z)(),c=(0,s.useRef)(null),{collapsed:d,setCollapsed:u}=(0,D.u)({initialState:!i.open}),[m,h]=(0,s.useState)(i.open),f=s.isValidElement(t)?t:(0,r.jsx)("summary",{children:t??"Details"});return(0,r.jsxs)("details",{...i,ref:c,open:m,"data-collapsed":d,className:(0,l.Z)(W.details,o&&W.isBrowser,i.className),onMouseDown:e=>{q(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;if(!!(q(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,c.current)))e.preventDefault(),d?(u(!1),h(!0)):u(!0)},children:[f,(0,r.jsx)(D.z,{lazy:!1,collapsed:d,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{u(e),h(!e)},children:(0,r.jsx)("div",{className:W.collapsibleContent,children:n})})]})}let F="details_b_Ee";function G(e){let{...t}=e;return(0,r.jsx)(P,{...t,className:(0,l.Z)("alert alert--info",F,t.className)})}function J(e){let t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),i=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(G,{...e,summary:n,children:i})}var Y=n("4403");function K(e){return(0,r.jsx)(Y.Z,{...e})}let Q={containsTaskList:"containsTaskList_mC6p"},X="img_ev3q";var ee=n("5094");let et={Head:o.Z,details:J,Details:J,code:function(e){var t;return void 0!==(t=e).children&&s.Children.toArray(t.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,r.jsx)(U,{...e}):(0,r.jsx)(V,{...e})},a:function(e){return(0,r.jsx)($.Z,{...e})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,l.Z)(e,e?.includes("contains-task-list")&&Q.containsTaskList)}(e.className)})},li:function(e){return(0,O.Z)().collectAnchor(e.id),(0,r.jsx)("li",{...e})},img:function(e){var t;return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,l.Z)(t,X))})},h1:e=>(0,r.jsx)(K,{as:"h1",...e}),h2:e=>(0,r.jsx)(K,{as:"h2",...e}),h3:e=>(0,r.jsx)(K,{as:"h3",...e}),h4:e=>(0,r.jsx)(K,{as:"h4",...e}),h5:e=>(0,r.jsx)(K,{as:"h5",...e}),h6:e=>(0,r.jsx)(K,{as:"h6",...e}),admonition:ee.Z,mermaid:()=>null};function en(e){let{children:t}=e;return(0,r.jsx)(i.Z,{components:et,children:t})}},1397:function(e,t,n){"use strict";n.d(t,{Z:()=>a});var r=n("5893");n("7294");var s=n("7026"),i=n("6365");let o="tableOfContents_bqdL";function a(e){let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,s.Z)(o,"thin-scrollbar",t),children:(0,r.jsx)(i.Z,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},6365:function(e,t,n){"use strict";n.d(t,{Z:()=>c});var r=n("5893"),s=n("7294"),i=n("140");function o(e){let t=e.getBoundingClientRect();return t.top===t.bottom?o(e.parentNode):t}var a=n("3012");let l=s.memo(function e(t){let{toc:n,className:s,linkClassName:i,isChild:o}=t;return n.length?(0,r.jsx)("ul",{className:o?void 0:s,children:n.map(t=>(0,r.jsxs)("li",{children:[(0,r.jsx)(a.Z,{to:`#${t.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,r.jsx)(e,{isChild:!0,toc:t.children,className:s,linkClassName:i})]},t.id))}):null});function c(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:a="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:d,maxHeadingLevel:u,...m}=e,h=(0,i.L)(),f=d??h.tableOfContents.minHeadingLevel,p=u??h.tableOfContents.maxHeadingLevel,x=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,s.useMemo)(()=>(function e(t){let{toc:n,minHeadingLevel:r,maxHeadingLevel:s}=t;return n.flatMap(t=>{var n;let i=e({toc:t.children,minHeadingLevel:r,maxHeadingLevel:s});return(n=t).level>=r&&n.level<=s?[{...t,children:i}]:i})})({toc:function(e){let t=e.map(e=>({...e,parentIndex:-1,children:[]})),n=Array(7).fill(-1);t.forEach((e,t)=>{let r=n.slice(2,e.level);e.parentIndex=Math.max(...r),n[e.level]=t});let r=[];return t.forEach(e=>{let{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):r.push(s)}),r}(t),minHeadingLevel:n,maxHeadingLevel:r}),[t,n,r])}({toc:t,minHeadingLevel:f,maxHeadingLevel:p});return!function(e){let t=(0,s.useRef)(void 0),n=function(){let e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,i.L)();return(0,s.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}();(0,s.useEffect)(()=>{if(!e)return()=>{};let{linkClassName:r,linkActiveClassName:s,minHeadingLevel:i,maxHeadingLevel:a}=e;function l(){var e;let l=(e=r,Array.from(document.getElementsByClassName(e))),c=function(e,t){let{anchorTopOffset:n}=t,r=e.find(e=>o(e).top>=n);if(r){var s;return(s=o(r)).top>0&&s.bottom<window.innerHeight/2?r:e[e.indexOf(r)-1]??null}return e[e.length-1]??null}(function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e,r=[];for(let e=t;e<=n;e+=1)r.push(`h${e}.anchor`);return Array.from(document.querySelectorAll(r.join()))}({minHeadingLevel:i,maxHeadingLevel:a}),{anchorTopOffset:n.current}),d=l.find(e=>{var t;return c&&c.id===decodeURIComponent((t=e).href.substring(t.href.indexOf("#")+1))});l.forEach(e=>{var n;n=e,e===d?(t.current&&t.current!==n&&t.current.classList.remove(s),n.classList.add(s),t.current=n):n.classList.remove(s)})}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}},[e,n])}((0,s.useMemo)(()=>{if(a&&c)return{linkClassName:a,linkActiveClassName:c,minHeadingLevel:f,maxHeadingLevel:p}},[a,c,f,p])),(0,r.jsx)(l,{toc:x,className:n,linkClassName:a,...m})}},65:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},a:function(){return o}});var r=n(7294);let s={},i=r.createContext(s);function o(e){let t=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/9424f0b3.c159e762.js b/docs/assets/js/9424f0b3.c159e762.js new file mode 100644 index 0000000000..fc1becb1bc --- /dev/null +++ b/docs/assets/js/9424f0b3.c159e762.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8156"],{1956:function(e,s,n){n.r(s),n.d(s,{metadata:()=>d,contentTitle:()=>l,default:()=>x,assets:()=>h,toc:()=>c,frontMatter:()=>r});var d=JSON.parse('{"id":"configuration/telemetry-screens","title":"Screens","description":"Telemetry Viewer screen definition and widget documentation","source":"@site/docs/configuration/telemetry-screens.md","sourceDirName":"configuration","slug":"/configuration/telemetry-screens","permalink":"/docs/configuration/telemetry-screens","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/telemetry-screens.md","tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_position":10,"title":"Screens","description":"Telemetry Viewer screen definition and widget documentation","sidebar_custom_props":{"myEmoji":"\uD83D\uDDA5\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Tables","permalink":"/docs/configuration/table"},"next":{"title":"SSL-TLS","permalink":"/docs/configuration/ssl-tls"}}'),t=n("5893"),i=n("65");let r={sidebar_position:10,title:"Screens",description:"Telemetry Viewer screen definition and widget documentation",sidebar_custom_props:{myEmoji:"\uD83D\uDDA5\uFE0F"}},l=void 0,h={},c=[{value:"Definitions",id:"definitions",level:2},{value:"Telemetry Screen Definition Files",id:"telemetry-screen-definition-files",level:2},{value:"New Widgets",id:"new-widgets",level:2},{value:"SCREEN",id:"screen",level:2},{value:"END",id:"end",level:2},{value:"STALE_TIME",id:"stale_time",level:2},{value:"GLOBAL_SETTING",id:"global_setting",level:2},{value:"GLOBAL_SUBSETTING",id:"global_subsetting",level:2},{value:"SETTING",id:"setting",level:2},{value:"WIDTH",id:"width",level:3},{value:"HEIGHT",id:"height",level:3},{value:"MARGIN",id:"margin",level:3},{value:"PADDING",id:"padding",level:3},{value:"BACKCOLOR",id:"backcolor",level:3},{value:"TEXTCOLOR",id:"textcolor",level:3},{value:"BORDERCOLOR",id:"bordercolor",level:3},{value:"RAW",id:"raw",level:3},{value:"SUBSETTING",id:"subsetting",level:2},{value:"NAMED_WIDGET",id:"named_widget",level:2},{value:"Layout Widgets",id:"layout-widgets",level:2},{value:"VERTICAL",id:"vertical",level:3},{value:"VERTICALBOX",id:"verticalbox",level:3},{value:"HORIZONTAL",id:"horizontal",level:3},{value:"HORIZONTALBOX",id:"horizontalbox",level:3},{value:"MATRIXBYCOLUMNS",id:"matrixbycolumns",level:3},{value:"SCROLLWINDOW",id:"scrollwindow",level:3},{value:"TABBOOK",id:"tabbook",level:3},{value:"TABITEM",id:"tabitem",level:3},{value:"IFRAME",id:"iframe",level:3},{value:"Decoration Widgets",id:"decoration-widgets",level:2},{value:"LABEL",id:"label",level:3},{value:"HORIZONTALLINE",id:"horizontalline",level:3},{value:"TITLE",id:"title",level:3},{value:"SPACER",id:"spacer",level:3},{value:"Telemetry Widgets",id:"telemetry-widgets",level:2},{value:"ARRAY",id:"array",level:3},{value:"BLOCK",id:"block",level:3},{value:"FORMATVALUE",id:"formatvalue",level:3},{value:"LABELLED",id:"labelled",level:3},{value:"LED_COLOR",id:"led_color",level:4},{value:"LABELPROGRESSBAR",id:"labelprogressbar",level:3},{value:"LABELVALUE",id:"labelvalue",level:3},{value:"LABELVALUEDESC",id:"labelvaluedesc",level:3},{value:"LABELVALUELIMITSBAR",id:"labelvaluelimitsbar",level:3},{value:"LABELVALUELIMITSCOLUMN",id:"labelvaluelimitscolumn",level:3},{value:"LABELVALUERANGEBAR",id:"labelvaluerangebar",level:3},{value:"LED",id:"led",level:3},{value:"LED_COLOR",id:"led_color-1",level:4},{value:"LIMITSBAR",id:"limitsbar",level:3},{value:"LIMITSCOLUMN",id:"limitscolumn",level:3},{value:"LIMITSCOLOR",id:"limitscolor",level:3},{value:"VALUELIMITSBAR",id:"valuelimitsbar",level:3},{value:"VALUELIMITSCOLUMN",id:"valuelimitscolumn",level:3},{value:"VALUERANGEBAR",id:"valuerangebar",level:3},{value:"LINEGRAPH",id:"linegraph",level:3},{value:"ITEM",id:"item",level:4},{value:"STARTTIME",id:"starttime",level:4},{value:"HISTORY",id:"history",level:4},{value:"SECONDSGRAPHED",id:"secondsgraphed",level:4},{value:"POINTSSAVED",id:"pointssaved",level:4},{value:"POINTSGRAPHED",id:"pointsgraphed",level:4},{value:"SIZE",id:"size",level:4},{value:"SPARKLINE",id:"sparkline",level:3},{value:"ITEM",id:"item-1",level:4},{value:"STARTTIME",id:"starttime-1",level:4},{value:"HISTORY",id:"history-1",level:4},{value:"SECONDSGRAPHED",id:"secondsgraphed-1",level:4},{value:"POINTSSAVED",id:"pointssaved-1",level:4},{value:"POINTSGRAPHED",id:"pointsgraphed-1",level:4},{value:"SIZE",id:"size-1",level:4},{value:"LABELSPARKLINE",id:"labelsparkline",level:3},{value:"ITEM",id:"item-2",level:4},{value:"STARTTIME",id:"starttime-2",level:4},{value:"HISTORY",id:"history-2",level:4},{value:"SECONDSGRAPHED",id:"secondsgraphed-2",level:4},{value:"POINTSSAVED",id:"pointssaved-2",level:4},{value:"POINTSGRAPHED",id:"pointsgraphed-2",level:4},{value:"SIZE",id:"size-2",level:4},{value:"IMAGEVIEWER",id:"imageviewer",level:3},{value:"PROGRESSBAR",id:"progressbar",level:3},{value:"RANGEBAR",id:"rangebar",level:3},{value:"ROLLUP",id:"rollup",level:3},{value:"SIGNAL",id:"signal",level:3},{value:"TEXTBOX",id:"textbox",level:3},{value:"VALUE",id:"value",level:3},{value:"Interactive Widgets",id:"interactive-widgets",level:2},{value:"BUTTON",id:"button",level:3},{value:"CHECKBUTTON",id:"checkbutton",level:3},{value:"COMBOBOX",id:"combobox",level:3},{value:"DATE",id:"date",level:3},{value:"RADIOGROUP",id:"radiogroup",level:3},{value:"RADIOBUTTON",id:"radiobutton",level:3},{value:"TEXTFIELD",id:"textfield",level:3},{value:"TIME",id:"time",level:3},{value:"Canvas Widgets",id:"canvas-widgets",level:2},{value:"CANVAS",id:"canvas",level:3},{value:"CANVASLABEL",id:"canvaslabel",level:3},{value:"CANVASLABELVALUE",id:"canvaslabelvalue",level:3},{value:"CANVASIMAGE",id:"canvasimage",level:3},{value:"SCREEN",id:"screen-1",level:4},{value:"CANVASIMAGEVALUE",id:"canvasimagevalue",level:3},{value:"IMAGE",id:"image",level:4},{value:"SCREEN",id:"screen-2",level:4},{value:"CANVASLINE",id:"canvasline",level:3},{value:"CANVASLINEVALUE",id:"canvaslinevalue",level:3},{value:"VALUE_EQ",id:"value_eq",level:4},{value:"CANVASDOT",id:"canvasdot",level:3},{value:"Example File",id:"example-file",level:2}];function a(e){let s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",img:"img",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"This document provides the information necessary to generate and use COSMOS Telemetry Screens, which are displayed by the COSMOS Telemetry Viewer application."}),"\n",(0,t.jsx)("div",{style:{clear:"both"}}),"\n",(0,t.jsx)(s.h2,{id:"definitions",children:"Definitions"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Name"}),(0,t.jsx)(s.th,{children:"Definition"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget"}),(0,t.jsx)(s.td,{children:"A widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task."})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen"}),(0,t.jsx)(s.td,{children:"A screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion."})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen Definition File"}),(0,t.jsx)(s.td,{children:"A screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them."})]})]})]}),"\n",(0,t.jsx)(s.h2,{id:"telemetry-screen-definition-files",children:"Telemetry Screen Definition Files"}),"\n",(0,t.jsx)(s.p,{children:"Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase."}),"\n",(0,t.jsx)(s.h2,{id:"new-widgets",children:"New Widgets"}),"\n",(0,t.jsxs)(s.p,{children:["When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the ",(0,t.jsx)(s.a,{href:"/docs/guides/custom-widgets",children:"Custom Widgets"})," guide."]}),"\n",(0,t.jsx)(s.h1,{id:"screen-keywords",children:"Screen Keywords"}),"\n",(0,t.jsx)(s.h2,{id:"screen",children:"SCREEN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Define a telemetry viewer screen"})}),"\n",(0,t.jsx)(s.p,{children:"The SCREEN keyword is the first keyword in any telemetry screen definition. It defines the name of the screen and parameters that affect the screen overall."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels or AUTO to let Telemetry Viewer automatically layout the screen"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels or AUTO to let Telemetry Viewer automatically layout the screen"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Polling Period"}),(0,t.jsx)(s.td,{children:"Number of seconds between screen updates"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SCREEN AUTO AUTO 1.0 FIXED\n"})}),"\n",(0,t.jsx)(s.h2,{id:"end",children:"END"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Indicates the close of a layout widget"})}),"\n",(0,t.jsx)(s.p,{children:"All layout widgets must be closed to properly identify where they stop. For example, a VERTICALBOX keyword must be matched with an END keyword to indicate where the VERTICALBOX ends."}),"\n",(0,t.jsx)(s.h2,{id:"stale_time",children:"STALE_TIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.1.0)"}),(0,t.jsx)(s.strong,{children:"Values are marked stale if the packet time is more than Stale Time seconds in the past"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"value"}),(0,t.jsx)(s.td,{children:"Items from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions."}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"STALE_TIME 5 # Number of seconds to wait before marking data stale\n"})}),"\n",(0,t.jsx)(s.h2,{id:"global_setting",children:"GLOBAL_SETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget setting to all widgets of a certain type"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Class Name"}),(0,t.jsx)(s.td,{children:"The name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Name"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Value(s)"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK\n"})}),"\n",(0,t.jsx)(s.h2,{id:"global_subsetting",children:"GLOBAL_SUBSETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget subsetting to all widgets of a certain type"})}),"\n",(0,t.jsx)(s.p,{children:"Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Class Name"}),(0,t.jsx)(s.td,{children:"The name of the class of widgets that this setting will be applied to. For example, LABELVALUE."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Subwidget Index"}),(0,t.jsx)(s.td,{children:"Index to the desired subwidget"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Name"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Value(s)"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"# Set all text color to white for labelvaluelimitsbars\nGLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white\n"})}),"\n",(0,t.jsx)(s.h2,{id:"setting",children:"SETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget setting to the previously defined widget"})}),"\n",(0,t.jsx)(s.p,{children:"Settings allow for additional tweaks and options to be applied to widgets\nthat are not available in their parameters. These settings are all configured\nthrough the SETTING, SUBSETTING, GLOBAL_SETTING and GLOBAL_SUBSETTING keywords.\nSETTING and SUBSETTING applies only to the widget defined immediately before it.\nGLOBAL_SETTING and GLOBAL_SUBSETTING applies to all widgets."}),"\n",(0,t.jsx)(s.p,{children:"Common wiget settings are defined here. Some widgets define their own\nunique settings which are documented under that specific widget."}),"\n",(0,t.jsx)(s.h3,{id:"width",children:"WIDTH"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget width"})}),"\n",(0,t.jsxs)(s.p,{children:["WIDTH supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING WIDTH 50\nLABEL "THIS IS A TEST"\n SETTING WIDTH 20em\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"WIDTH",src:n(4096).Z+"",width:"678",height:"326"})}),"\n",(0,t.jsx)(s.h3,{id:"height",children:"HEIGHT"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget height"})}),"\n",(0,t.jsxs)(s.p,{children:["HEIGHT supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR BLUE\n SETTING HEIGHT 50\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREY\n SETTING HEIGHT 2em\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HEIGHT",src:n(2976).Z+"",width:"374",height:"224"})}),"\n",(0,t.jsx)(s.h3,{id:"margin",children:"MARGIN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget margin"})}),"\n",(0,t.jsxs)(s.p,{children:["MARGIN supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Size"}),(0,t.jsx)(s.td,{children:"Size in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR BLUE\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREY\n SETTING MARGIN 10\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREEN\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"MARGIN",src:n(169).Z+"",width:"372",height:"336"})}),"\n",(0,t.jsx)(s.h3,{id:"padding",children:"PADDING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget padding"})}),"\n",(0,t.jsxs)(s.p,{children:["PADDING supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Size"}),(0,t.jsx)(s.td,{children:"Size in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR BLUE\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREY\n SETTING PADDING 10\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREEN\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"PADDING",src:n(2123).Z+"",width:"376",height:"332"})}),"\n",(0,t.jsx)(s.h3,{id:"backcolor",children:"BACKCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"The BACKCOLOR setting sets the background color for a widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color name or Red value"}),(0,t.jsx)(s.td,{children:"Common name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Green value"}),(0,t.jsx)(s.td,{children:"Green value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Blue value"}),(0,t.jsx)(s.td,{children:"Blue value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR red\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR 155 50 155\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BACKCOLOR",src:n(2215).Z+"",width:"366",height:"232"})}),"\n",(0,t.jsx)(s.h3,{id:"textcolor",children:"TEXTCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"The TEXTCOLOR setting sets the text color for a widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color name or Red value"}),(0,t.jsx)(s.td,{children:"Common name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Green value"}),(0,t.jsx)(s.td,{children:"Green value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Blue value"}),(0,t.jsx)(s.td,{children:"Blue value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING TEXTCOLOR red\nLABEL "THIS IS A TEST"\n SETTING TEXTCOLOR 155 50 155\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TEXTCOLOR",src:n(8080).Z+"",width:"364",height:"220"})}),"\n",(0,t.jsx)(s.h3,{id:"bordercolor",children:"BORDERCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"The BORDERCOLOR setting sets the border color for a layout widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color name or Red value"}),(0,t.jsx)(s.td,{children:"Common name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Green value"}),(0,t.jsx)(s.td,{children:"Green value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Blue value"}),(0,t.jsx)(s.td,{children:"Blue value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'HORIZONTAL\n LABEL "Label 1"\nEND\nSETTING BORDERCOLOR red\nVERTICAL\n LABEL "Label 2"\nEND\nSETTING BORDERCOLOR 155 50 155\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BORDERCOLOR",src:n(7308).Z+"",width:"362",height:"232"})}),"\n",(0,t.jsx)(s.h3,{id:"raw",children:"RAW"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Apply a raw CSS stylesheet key and value"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Key"}),(0,t.jsx)(s.td,{children:"CSS key like font-size, max-width, etc"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"CSS Value"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "Label 1"\n SETTING RAW font-size 30px\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"RAW",src:n(6735).Z+"",width:"364",height:"194"})}),"\n",(0,t.jsx)(s.h2,{id:"subsetting",children:"SUBSETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget subsetting to the previously defined widget"})}),"\n",(0,t.jsx)(s.p,{children:"Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Subwidget Index"}),(0,t.jsx)(s.td,{children:"Index to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Name"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Value(s)"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue\n LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1\n SUBSETTING 0 TEXTCOLOR green # Change the label's text to green\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SUBSETTING",src:n(9273).Z+"",width:"766",height:"282"})}),"\n",(0,t.jsx)(s.h2,{id:"named_widget",children:"NAMED_WIDGET"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Name a widget to allow access to it via the getNamedWidget method"})}),"\n",(0,t.jsx)(s.p,{children:"To programmatically access parts of a telemetry screen you need to name the widget. This is useful when creating screens with buttons that read values from other widgets."}),"\n",(0,t.jsx)(s.admonition,{type:"warning",children:(0,t.jsx)(s.p,{children:"getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Name"}),(0,t.jsx)(s.td,{children:"The unique name applied to the following widget instance. Names must be unique per screen."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Type"}),(0,t.jsx)(s.td,{children:"One of the widget types listed in Widget Descriptions"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Parameters"}),(0,t.jsx)(s.td,{children:"The unique parameters for the given widget type"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'NAMED_WIDGET DURATION TEXTFIELD\nBUTTON "Push" "screen.getNamedWidget(\'DURATION\').text()"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"NAMED_WIDGET",src:n(674).Z+"",width:"368",height:"248"})}),"\n",(0,t.jsx)(s.h2,{id:"layout-widgets",children:"Layout Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Layout widgets are used to position other widgets on the screen. For example, the HORIZONTAL layout widget places the widgets it encapsulates horizontally on the screen."}),"\n",(0,t.jsx)(s.h3,{id:"vertical",children:"VERTICAL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates vertically"})}),"\n",(0,t.jsx)(s.p,{children:"The screen defaults to a vertical layout, so if no layout widgets are specified, all widgets will be automatically placed within a VERTICAL layout widget. The VERTICAL widget sizes itself to fit its contents."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'VERTICAL 5px\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VERTICAL",src:n(4462).Z+"",width:"386",height:"256"})}),"\n",(0,t.jsx)(s.h3,{id:"verticalbox",children:"VERTICALBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates vertically inside a thin border"})}),"\n",(0,t.jsx)(s.p,{children:"The VERTICALBOX widget sizes itself to fit its contents vertically and to fit the screen horizontally"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Title"}),(0,t.jsx)(s.td,{children:"Text to place within the border to label the box"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'VERTICALBOX Info\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VERTICALBOX",src:n(9897).Z+"",width:"374",height:"330"})}),"\n",(0,t.jsx)(s.h3,{id:"horizontal",children:"HORIZONTAL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates horizontally"})}),"\n",(0,t.jsx)(s.p,{children:"The HORIZONTAL widget sizes itself to fit its contents"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'HORIZONTAL 100\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HORIZONTAL",src:n(3736).Z+"",width:"1084",height:"552"})}),"\n",(0,t.jsx)(s.h3,{id:"horizontalbox",children:"HORIZONTALBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates horizontally inside a thin border"})}),"\n",(0,t.jsx)(s.p,{children:"The HORIZONTALBOX widget sizes itself to fit its contents"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Title"}),(0,t.jsx)(s.td,{children:"Text to place within the border to label the box"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'HORIZONTALBOX Info 10\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HORIZONTALBOX",src:n(1272).Z+"",width:"368",height:"286"})}),"\n",(0,t.jsx)(s.h3,{id:"matrixbycolumns",children:"MATRIXBYCOLUMNS"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets into a table-like matrix"})}),"\n",(0,t.jsx)(s.p,{children:"The MATRIXBYCOLUMNS widget sizes itself to fit its contents"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Columns"}),(0,t.jsx)(s.td,{children:"The number of columns to create"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'MATRIXBYCOLUMNS 3 10\n LABEL "COL 1"\n LABEL "COL 2"\n LABEL "COL 3"\n LABEL "100"\n LABEL "200"\n LABEL "300"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"MATRIXBYCOLUMNS",src:n(7990).Z+"",width:"492",height:"288"})}),"\n",(0,t.jsx)(s.h3,{id:"scrollwindow",children:"SCROLLWINDOW"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets inside of it into a scrollable area"})}),"\n",(0,t.jsx)(s.p,{children:"The SCROLLWINDOW widget sizes itself to fit the screen in which it is contained"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Maximum height of the scroll window in pixels (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'SCROLLWINDOW 100 10\n VERTICAL\n LABEL "100"\n LABEL "200"\n LABEL "300"\n LABEL "400"\n LABEL "500"\n LABEL "600"\n LABEL "700"\n LABEL "800"\n LABEL "900"\n END\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SCROLLWINDOW",src:n(8897).Z+"",width:"372",height:"772"})}),"\n",(0,t.jsx)(s.h3,{id:"tabbook",children:"TABBOOK"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Creates a tabbed area in which to place TABITEM widgets"})}),"\n",(0,t.jsx)(s.h3,{id:"tabitem",children:"TABITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Creates a VERTICAL layout tab into which to place widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Tab text"}),(0,t.jsx)(s.td,{children:"Text to display in the tab"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'TABBOOK\n TABITEM "Tab 1"\n LABEL "100"\n LABEL "200"\n END\n TABITEM "Tab 2"\n LABEL "300"\n LABEL "400"\n END\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TABITEM",src:n(7412).Z+"",width:"402",height:"322"})}),"\n",(0,t.jsx)(s.h3,{id:"iframe",children:"IFRAME"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Open external tools in an Iframe within OpenC3"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"URL"}),(0,t.jsx)(s.td,{children:"The path to the page to display in the iframe"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the widget"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the widget"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"IFRAME https://openc3.com 900 450\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"IFRAME",src:n(5855).Z+"",width:"1826",height:"976"})}),"\n",(0,t.jsx)(s.h2,{id:"decoration-widgets",children:"Decoration Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Decoration widgets are used to enhance the appearance of the screen. They do not respond to input, nor does the output vary with telemetry."}),"\n",(0,t.jsx)(s.h3,{id:"label",children:"LABEL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays text on the screen"})}),"\n",(0,t.jsx)(s.p,{children:"Generally, label widgets contain a telemetry mnemonic and are placed next to the telemetry VALUE widget."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to display on the label"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "Note: This is only a warning"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABEL",src:n(7916).Z+"",width:"468",height:"162"})}),"\n",(0,t.jsx)(s.h3,{id:"horizontalline",children:"HORIZONTALLINE"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Displays a horizontal line on the screen that can be used as a separator"})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABEL Over\nHORIZONTALLINE\nLABEL Under\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HORIZONTALLINE",src:n(8783).Z+"",width:"380",height:"240"})}),"\n",(0,t.jsx)(s.h3,{id:"title",children:"TITLE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a large centered title on the screen"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'TITLE "Title"\nHORIZONTALLINE\nLABEL "Label"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TITLE",src:n(5587).Z+"",width:"374",height:"254"})}),"\n",(0,t.jsx)(s.h3,{id:"spacer",children:"SPACER"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places a fixed size spacer in between widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the spacer in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the spacer in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'VERTICAL 3\n LABEL "Spacer below"\n SPACER 0 100\n LABEL "Spacer above"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SPACER",src:n(4072).Z+"",width:"366",height:"442"})}),"\n",(0,t.jsx)(s.h2,{id:"telemetry-widgets",children:"Telemetry Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Telemetry widgets are used to display telemetry values. The first parameters to each of these widgets is a telemetry mnemonic. Depending on the type and purpose of the telemetry item, the screen designer may select from a wide selection of widgets to display the value in the most useful format."}),"\n",(0,t.jsx)(s.h3,{id:"array",children:"ARRAY"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays ARRAY data organized into rows and space separated"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the widget (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the widget (default = 100)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format string"}),(0,t.jsx)(s.td,{children:"Format string applied to each array item (default = nil)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Items per row"}),(0,t.jsx)(s.td,{children:"Number of array items per row (default = 4)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED\nARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"ARRAY",src:n(8513).Z+"",width:"486",height:"418"})}),"\n",(0,t.jsx)(s.h3,{id:"block",children:"BLOCK"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays BLOCK data organized into rows and space separated"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the widget (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the widget (default = 100)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format string"}),(0,t.jsx)(s.td,{children:"Format string applied to each array item (default = nil)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Bytes per word"}),(0,t.jsx)(s.td,{children:"Number of bytes per word (default = 4)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Words per row"}),(0,t.jsx)(s.td,{children:"Number of words per row (default = 4"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Address format"}),(0,t.jsx)(s.td,{children:"Format for the address printed at the beginning of each line (default = nil which means do not print an address)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BLOCK",src:n(4469).Z+"",width:"1272",height:"464"})}),"\n",(0,t.jsx)(s.h3,{id:"formatvalue",children:"FORMATVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a box with a formatted value"})}),"\n",(0,t.jsx)(s.p,{children:"Data is formatted by the specified string rather than by a format string given in the telemetry definition files. The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits)."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format string"}),(0,t.jsx)(s.td,{children:"Printf style format string to apply to the telemetry item"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20\nFORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"FORMATVALUE",src:n(2316).Z+"",width:"388",height:"210"})}),"\n",(0,t.jsx)(s.h3,{id:"labelled",children:"LABELLED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL followed by a LED"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Justification"}),(0,t.jsxs)(s.td,{children:["How to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"SPLIT, CENTER, LEFT, RIGHT"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELLED INST PARAMS VALUE1\n SETTING LED_COLOR GOOD GREEN\n SETTING LED_COLOR BAD RED\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELLED",src:n(2893).Z+"",width:"372",height:"154"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LABELLED. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"led_color",children:"LED_COLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Map a state or value to a color"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value. ANY used to match any value or state not declared."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"LED color"}),(0,t.jsx)(s.td,{children:"Color of the LED"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"labelprogressbar",children:"LABELPROGRESSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by a PROGRESSBAR"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Scale factor"}),(0,t.jsx)(s.td,{children:"Value to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0."}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the progress bar (default = 80 pixels"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW\nLABELPROGRESSBAR INST ADCS POSPROGRESS\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELPROGRESSBAR",src:n(6897).Z+"",width:"728",height:"230"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvalue",children:"LABELVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by a VALUE"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELVALUE INST LATEST TIMESEC CONVERTED 18\nLABELVALUE INST LATEST COLLECT_TYPE\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUE",src:n(5387).Z+"",width:"592",height:"218"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluedesc",children:"LABELVALUEDESC"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the items description followed by a VALUE"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Description"}),(0,t.jsx)(s.td,{children:"The description to display in the label (default is to display the description text associated with the telemetry item)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18\nLABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUEDESC",src:n(6483).Z+"",width:"766",height:"218"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluelimitsbar",children:"LABELVALUELIMITSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by VALUE and LIMITSBAR widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluelimitscolumn",children:"LABELVALUELIMITSCOLUMN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by VALUE and LIMITSCOLUMN widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18\nLABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUELIMITSCOLUMN",src:n(6441).Z+"",width:"430",height:"850"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluerangebar",children:"LABELVALUERANGEBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by VALUE and RANGEBAR widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Low Value"}),(0,t.jsx)(s.td,{children:"Minimum value to display on the range bar. If the telemetry item goes below this value the bar is \u201Cpegged\u201D on the low end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"High Value"}),(0,t.jsx)(s.td,{children:"Maximum value to display on the range bar. If the telemetry item goes above this value the bar is \u201Cpegged\u201D on the high end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40\nLABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUERANGEBAR",src:n(1108).Z+"",width:"950",height:"226"})}),"\n",(0,t.jsx)(s.h3,{id:"led",children:"LED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LED which changes color based on telemetry values"})}),"\n",(0,t.jsx)(s.p,{children:"By default TRUE is green and FALSE is red and all other values are black. Additional values can be added by using the LED_COLOR setting. For example LED INST PARAMS VALUE3 RAW can be followed by SETTING LED_COLOR 0 GREEN, SETTING LED_COLOR 1 RED, and SETTING LED_COLOR ANY ORANGE."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LED INST PARAMS VALUE5 RAW 25 20 # Ellipse\n SETTING LED_COLOR 0 GREEN\n SETTING LED_COLOR 1 RED\n SETTING LED_COLOR ANY YELLOW\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LED",src:n(2621).Z+"",width:"370",height:"130"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LED. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"led_color-1",children:"LED_COLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Map a state or value to a color"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value. ANY used to match any value or state not declared."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"LED color"}),(0,t.jsx)(s.td,{children:"Color of the LED"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"limitsbar",children:"LIMITSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item's current value within its colored limits horizontally"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50\nLIMITSBAR INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LIMITSBAR",src:n(9742).Z+"",width:"450",height:"246"})}),"\n",(0,t.jsx)(s.h3,{id:"limitscolumn",children:"LIMITSCOLUMN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item's current value within its colored limits vertically"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200\nLIMITSCOLUMN INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LIMITSCOLUMN",src:n(9441).Z+"",width:"372",height:"724"})}),"\n",(0,t.jsx)(s.h3,{id:"limitscolor",children:"LIMITSCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a circle depicting the limits color of an item"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Radius"}),(0,t.jsx)(s.td,{children:"Radius of the circle (default is 10)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Full Item Name"}),(0,t.jsx)(s.td,{children:"Show the full item name (default is false)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE\nLIMITSCOLOR INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LIMITSCOLOR",src:n(2925).Z+"",width:"558",height:"226"})}),"\n",(0,t.jsx)(s.h3,{id:"valuelimitsbar",children:"VALUELIMITSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item VALUE followed by LIMITSBAR"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18\nVALUELIMITSBAR INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUELIMITSBAR",src:n(4822).Z+"",width:"746",height:"218"})}),"\n",(0,t.jsx)(s.h3,{id:"valuelimitscolumn",children:"VALUELIMITSCOLUMN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item VALUE followed by LIMITSCOLUMN"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 8)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18\nVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUELIMITSCOLUMN",src:n(3682).Z+"",width:"434",height:"706"})}),"\n",(0,t.jsx)(s.h3,{id:"valuerangebar",children:"VALUERANGEBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item VALUE followed by RANGEBAR"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Low Value"}),(0,t.jsx)(s.td,{children:"Minimum value to display on the range bar. If the telemetry item goes below this value the bar is \u201Cpegged\u201D on the low end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"High Value"}),(0,t.jsx)(s.td,{children:"Maximum value to display on the range bar. If the telemetry item goes above this value the bar is \u201Cpegged\u201D on the high end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40\nVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUERANGEBAR",src:n(5782).Z+"",width:"576",height:"260"})}),"\n",(0,t.jsx)(s.h3,{id:"linegraph",children:"LINEGRAPH"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a line graph of a telemetry item"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LINEGRAPH INST HEALTH_STATUS TEMP1\n SETTING ITEM INST ADCS Q1 # Add additional item to graph\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LINEGRAPH",src:n(8014).Z+"",width:"848",height:"822"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LINEGRAPH. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"item",children:"ITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Add a telemetry item to the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"starttime",children:"STARTTIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Start the graph history at the designated Time"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Time"}),(0,t.jsxs)(s.td,{children:["Start time as formatted 'YYYY/MM/DD HH:MM",":SS","'"]}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"history",children:"HISTORY"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Display an initial history of data"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"Value(d,h,m,s). For example 1d, 2h, 30m, 15s"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"secondsgraphed",children:"SECONDSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display the specified number of seconds in the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointssaved",children:"POINTSSAVED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Save the number of seconds in graph memory"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to save"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointsgraphed",children:"POINTSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Number of points to display on the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of points to graph"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"size",children:"SIZE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Size of the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"sparkline",children:"SPARKLINE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a sparkline graph (no cursor, scale or legend) of a telemetry item"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SPARKLINE INST HEALTH_STATUS TEMP1\n SETTING SIZE 400 50\n SETTING HISTORY 30s # Add 30 seconds of data into graph\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SPARKLINE",src:n(9997).Z+"",width:"858",height:"202"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to SPARKLINE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"item-1",children:"ITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Add a telemetry item to the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"starttime-1",children:"STARTTIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Start the graph history at the designated Time"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Time"}),(0,t.jsxs)(s.td,{children:["Start time as formatted 'YYYY/MM/DD HH:MM",":SS","'"]}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"history-1",children:"HISTORY"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Display an initial history of data"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"Value(d,h,m,s). For example 1d, 2h, 30m, 15s"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"secondsgraphed-1",children:"SECONDSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display the specified number of seconds in the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointssaved-1",children:"POINTSSAVED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Save the number of seconds in graph memory"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to save"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointsgraphed-1",children:"POINTSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Number of points to display on the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of points to graph"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"size-1",children:"SIZE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Size of the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"labelsparkline",children:"LABELSPARKLINE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by a SPARKLINE"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELSPARKLINE INST HEALTH_STATUS TEMP1\n SETTING HISTORY 5m # Add 5 minutes of data into graph\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELSPARKLINE",src:n(5449).Z+"",width:"442",height:"154"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LABELSPARKLINE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"item-2",children:"ITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Add a telemetry item to the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"starttime-2",children:"STARTTIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Start the graph history at the designated Time"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Time"}),(0,t.jsxs)(s.td,{children:["Start time as formatted 'YYYY/MM/DD HH:MM",":SS","'"]}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"history-2",children:"HISTORY"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Display an initial history of data"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"Value(d,h,m,s). For example 1d, 2h, 30m, 15s"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"secondsgraphed-2",children:"SECONDSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display the specified number of seconds in the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointssaved-2",children:"POINTSSAVED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Save the number of seconds in graph memory"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to save"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointsgraphed-2",children:"POINTSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Number of points to display on the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of points to graph"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"size-2",children:"SIZE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Size of the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"imageviewer",children:"IMAGEVIEWER"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display a base64 image from a TLM packet"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format"}),(0,t.jsx)(s.td,{children:"The image format of the base64 data (e.g. jpg, png, etc)"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"IMAGEVIEWER INST IMAGE IMAGE jpg\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"IMAGEVIEWER",src:n(904).Z+"",width:"426",height:"476"})}),"\n",(0,t.jsx)(s.h3,{id:"progressbar",children:"PROGRESSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a progress bar that is useful for displaying percentages"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Scale factor"}),(0,t.jsx)(s.td,{children:"Value to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0."}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the progress bar (default = 100 pixels)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"PROGRESSBAR INST ADCS POSPROGRESS 0.5 200\nPROGRESSBAR INST ADCS POSPROGRESS\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"PROGRESSBAR",src:n(9305).Z+"",width:"452",height:"208"})}),"\n",(0,t.jsx)(s.h3,{id:"rangebar",children:"RANGEBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a custom range bar displaying the item value"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Low Value"}),(0,t.jsx)(s.td,{children:"Minimum value to display on the range bar. If the telemetry item goes below this value the bar is \u201Cpegged\u201D on the low end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"High Value"}),(0,t.jsx)(s.td,{children:"Maximum value to display on the range bar. If the telemetry item goes above this value the bar is \u201Cpegged\u201D on the high end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 100)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50\nRANGEBAR INST HEALTH_STATUS TEMP1 -100 100\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"RANGEBAR",src:n(4030).Z+"",width:"438",height:"288"})}),"\n",(0,t.jsx)(s.h3,{id:"rollup",children:"ROLLUP"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.17.1)"}),(0,t.jsx)(s.strong,{children:"Displays a notification icon which changes color based on a rollup telemetry"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Icon name"}),(0,t.jsxs)(s.td,{children:["The astro UX icon to display. Valid choices are 'astro' icons taken from ",(0,t.jsx)(s.a,{href:"https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json",children:"https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json"}),"."]}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Icon label"}),(0,t.jsx)(s.td,{children:"Text to apply to the icon label"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Icon sublabel"}),(0,t.jsx)(s.td,{children:"Text to apply to the icon sublabel"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'ROLLUP satellite-transmit "SAT 1" "Details"\n # Screen to open on click\n SETTING SCREEN INST HS\n # Telemetry items to rollup status\n SETTING TLM INST HEALTH_STATUS TEMP1\n SETTING TLM INST HEALTH_STATUS TEMP2\nROLLUP antenna "GND 2" "Location"\n # Screen to open on click\n SETTING SCREEN INST HS\n # Telemetry items to rollup status\n SETTING TLM INST HEALTH_STATUS TEMP3\n SETTING TLM INST HEALTH_STATUS TEMP4\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"ROLLUP",src:n(2194).Z+"",width:"378",height:"402"})}),"\n",(0,t.jsx)(s.h3,{id:"signal",children:"SIGNAL"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.17.2)"}),(0,t.jsx)(s.strong,{children:"Displays a cellular signal icon which changes based on telemetry value"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SIGNAL INST HEALTH_STATUS TEMP1\n # Screen to open on click\n SETTING SCREEN INST HS\n # Values to compare when setting the 1-bar, 2-bar and 3-bar icons\n # Default is 30, 60, 90 (e.g. 0 to 100 range)\n # Value < -50 display no bars\n # Value >= -50 and < 0 displays 1 bar\n # Value >= 0 and < 50 displays 2 bars\n # Value >= 50 displays 5 bars\n SETTING RANGE -50 0 50\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SIGNAL",src:n(8316).Z+"",width:"366",height:"128"})}),"\n",(0,t.jsx)(s.h3,{id:"textbox",children:"TEXTBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Provides a large box for multiline text"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the textbox in px (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the textbox in px (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TEXTBOX",src:n(6695).Z+"",width:"376",height:"226"})}),"\n",(0,t.jsx)(s.h3,{id:"value",children:"VALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a box with a telemetry item value"})}),"\n",(0,t.jsx)(s.p,{children:"The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits)."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18\nVALUE INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUE",src:n(7912).Z+"",width:"462",height:"206"})}),"\n",(0,t.jsx)(s.h2,{id:"interactive-widgets",children:"Interactive Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Interactive widgets are used to gather input from the user. Unlike all other widgets, which only output some graphical representation, interactive widgets permit input either from the keyboard or mouse."}),"\n",(0,t.jsx)(s.h3,{id:"button",children:"BUTTON"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a rectangular clickable button"})}),"\n",(0,t.jsxs)(s.p,{children:["Upon clicking, the button executes the Javascript code assigned. Buttons\ncan be used to send commands and perform other tasks. If you want your button\nto use values from other widgets, define them as named widgets and read their\nvalues using the ",(0,t.jsx)(s.code,{children:'screen.getNamedWidget("WIDGET_NAME").text()'})," method.\nSee the example in CHECKBUTTON."]}),"\n",(0,t.jsxs)(s.p,{children:["Button code can get rather complex so remember to use string concatenation\nto make things more readable. If you use ",(0,t.jsx)(s.code,{children:"+"})," newlines are inserted automatically\nduring string concatenation. If you use ",(0,t.jsx)(s.code,{children:"\\"})," you'll need to separate lines with a\nsingle semicolon ",(0,t.jsx)(s.code,{children:";"}),". COSMOS uses double semicolon ",(0,t.jsx)(s.code,{children:";;"})," to indicate lines should\nbe evaluated separately. Note that all OpenC3 commands (using api.cmd) must be\nseparated by ",(0,t.jsx)(s.code,{children:";;"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"You can send commands with buttons using api.cmd(). The cmd() syntax looks exactly\nlike the standard COSMOS scripting syntax. You can also request and use\ntelemetry in screens using Javascript Promises."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))\""})}),"\n",(0,t.jsx)(s.p,{children:"The api.tlm() function returns a Promise which is resolved with then()\nat which point we send the command with the telemetry value we received."}),"\n",(0,t.jsxs)(s.p,{children:["Scripts can be launched from a BUTTON using the ",(0,t.jsx)(s.code,{children:"runScript()"})," method. ",(0,t.jsx)(s.code,{children:"runScript()"})," takes three parameters,\nthe name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of\nenvironment variables. For example: ",(0,t.jsx)(s.code,{children:"runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'})"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Button Text"}),(0,t.jsx)(s.td,{children:"Text displayed on the button"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Button Code"}),(0,t.jsx)(s.td,{children:"Javascript code to execute when the button is pressed"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Start Collect' 'api.cmd(\"INST COLLECT with TYPE NORMAL, DURATION 5\")'\nBUTTON 'Run Checks' 'runScript(\"INST/procedures/checks.rb\")'\n# More complex example with background checkbox and env vars\nNAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb\nNAMED_WIDGET BG CHECKBUTTON 'Background'\nBUTTON 'Run Script' \"var script=screen.getNamedWidget('SCRIPTNAME').text();\" \\\n # Set an environment variable to be used by the script as ENV['TYPE']\n \"var env = {}; env['TYPE'] = 'TEST';\" \\\n \"runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)\"\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BUTTON",src:n(5582).Z+"",width:"382",height:"502"})}),"\n",(0,t.jsx)(s.h3,{id:"checkbutton",children:"CHECKBUTTON"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a check box"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Checkbox Text"}),(0,t.jsx)(s.td,{children:"Text displayed next to the checkbox"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks'\nBUTTON 'Send' 'screen.getNamedWidget(\"CHECK\").checked() ? ' \\\n 'api.cmd_no_hazardous_check(\"INST CLEAR\") : api.cmd(\"INST CLEAR\")'\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CHECKBUTTON",src:n(3916).Z+"",width:"468",height:"248"})}),"\n",(0,t.jsx)(s.h3,{id:"combobox",children:"COMBOBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a drop down list of text items"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Option Text 1"}),(0,t.jsx)(s.td,{children:"Text to display in the selection drop down"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Option Text n"}),(0,t.jsx)(s.td,{children:"Text to display in the selection drop down"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Start Collect' 'var type = screen.getNamedWidget(\"COLLECT_TYPE\").text();' +\n 'api.cmd(\"INST COLLECT with TYPE \"+type+\", DURATION 10.0\")'\nNAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"COMBOBOX",src:n(2496).Z+"",width:"386",height:"268"})}),"\n",(0,t.jsx)(s.h3,{id:"date",children:"DATE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a date picker"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Date label"}),(0,t.jsx)(s.td,{children:"Text to label the data selection ('Date' by default)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Alert Date' 'var date = screen.getNamedWidget(\"DATE\").text();' +\n 'alert(\"Date:\"+date)'\nNAMED_WIDGET DATE DATE\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"DATE",src:n(2993).Z+"",width:"372",height:"286"})}),"\n",(0,t.jsx)(s.h3,{id:"radiogroup",children:"RADIOGROUP"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Creates a group of RADIOBUTTONs"})}),"\n",(0,t.jsx)(s.p,{children:"RADIOBUTTONs must be part of a group to enable selection logic"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Initial selected button"}),(0,t.jsx)(s.td,{children:"Selects a radio button at initialization (0-based)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.h3,{id:"radiobutton",children:"RADIOBUTTON"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a radio button and text"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. It must be contained by a RADIOGROUP to enable typical selection of a single RADIOBUTTON."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to display next to the radio button"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index\n RADIOBUTTON 'Abort'\n RADIOBUTTON 'Clear'\nEND\nBUTTON 'Send' \"screen.getNamedWidget('GROUP').selected() === 0 ? \" +\n \"api.cmd('INST ABORT') : api.cmd('INST CLEAR')\"\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"RADIOBUTTON",src:n(391).Z+"",width:"364",height:"276"})}),"\n",(0,t.jsx)(s.h3,{id:"textfield",children:"TEXTFIELD"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a rectangular box where the user can enter text"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Characters"}),(0,t.jsx)(s.td,{children:"Width of the text field in characters (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Default text to put in the text field (default is blank)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"\nBUTTON \'Start Collect\' \'var dur = screen.getNamedWidget("DURATION").text();\' +\n \'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")\'\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TEXTFIELD",src:n(925).Z+"",width:"370",height:"238"})}),"\n",(0,t.jsx)(s.h3,{id:"time",children:"TIME"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a time picker"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time label"}),(0,t.jsx)(s.td,{children:"Text to label the time selection ('Time' by default)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Alert Time' 'var time = screen.getNamedWidget(\"TIME\").text();' +\n 'alert(\"Time:\"+time)'\nNAMED_WIDGET TIME TIME\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TIME",src:n(5611).Z+"",width:"366",height:"272"})}),"\n",(0,t.jsx)(s.h2,{id:"canvas-widgets",children:"Canvas Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Canvas Widgets are used to draw custom displays into telemetry screens. The canvas coordinate frame places (0,0) in the upper-left corner of the canvas."}),"\n",(0,t.jsx)(s.h3,{id:"canvas",children:"CANVAS"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Layout widget for the other canvas widgets"})}),"\n",(0,t.jsx)(s.p,{children:"All canvas widgets must be enclosed within a CANVAS widget."}),"\n",(0,t.jsx)(s.admonition,{type:"warning",children:(0,t.jsx)(s.p,{children:"The canvas coordinate frame places (0,0) in the upper-left corner of the canvas."})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the canvas"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvaslabel",children:"CANVASLABEL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws text onto the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to draw onto the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Font Size"}),(0,t.jsx)(s.td,{children:"Font size of the text (Default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the text"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'CANVAS 100 100\n CANVASLABEL 5 34 "Label1" 24 red\n CANVASLABEL 5 70 "Label2" 18 blue\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLABEL",src:n(5405).Z+"",width:"368",height:"278"})}),"\n",(0,t.jsx)(s.h3,{id:"canvaslabelvalue",children:"CANVASLABELVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws the text value of a telemetry item onto the canvas in an optional frame"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Font Size"}),(0,t.jsx)(s.td,{children:"Font size of the text (Default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the text"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 200 100\n CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red\n CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLABELVALUE",src:n(3227).Z+"",width:"436",height:"276"})}),"\n",(0,t.jsx)(s.h3,{id:"canvasimage",children:"CANVASIMAGE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an image on the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image filename"}),(0,t.jsx)(s.td,{children:"Name of a image file. The file must be in the plugin's targets/TARGET/public directory."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'CANVAS 250 430\n CANVASIMAGE "satellite.png" 10 10 200 200\n SETTING SCREEN INST HS\n CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASIMAGE",src:n(3328).Z+"",width:"536",height:"948"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to CANVASIMAGE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"screen-1",children:"SCREEN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Open another screen when clicked"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"Name of the target"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen name"}),(0,t.jsx)(s.td,{children:"Name of the screen"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvasimagevalue",children:"CANVASIMAGEVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an image on the canvas that changes with a telemetry value"})}),"\n",(0,t.jsx)(s.p,{children:'Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example.'}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Default image filename"}),(0,t.jsx)(s.td,{children:"The default image to display. The file must be in the targets/TARGET/public directory."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image width"}),(0,t.jsx)(s.td,{children:"Width of the image (default is 100%)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image height"}),(0,t.jsx)(s.td,{children:"Height of the image (default is 100%)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'CANVAS 230 230\n CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180\n SETTING IMAGE CONNECTED "ground_on.png" 10 10\n SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10\n SETTING SCREEN INST HS\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASIMAGEVALUE",src:n(9365).Z+"",width:"498",height:"546"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to CANVASIMAGEVALUE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"image",children:"IMAGE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Map an image to a state or value"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image filename"}),(0,t.jsx)(s.td,{children:"Image to display. The file must be in the targets/TARGET/public directory."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"screen-2",children:"SCREEN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Open another screen when clicked"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"Name of the target"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen name"}),(0,t.jsx)(s.td,{children:"Name of the screen"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvasline",children:"CANVASLINE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws a line onto the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start X Position"}),(0,t.jsx)(s.td,{children:"X position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End X Position"}),(0,t.jsx)(s.td,{children:"X position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the line"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the line in pixels (default = 1)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 100 50\n CANVASLINE 5 5 95 5\n CANVASLINE 5 5 5 45 green 2\n CANVASLINE 95 5 95 45 blue 3\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLINE",src:n(7619).Z+"",width:"376",height:"180"})}),"\n",(0,t.jsx)(s.h3,{id:"canvaslinevalue",children:"CANVASLINEVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws a color changing line onto the canvas"})}),"\n",(0,t.jsx)(s.p,{children:"The line is represented by one of two colors based on the value of the associated telemetry item"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start X Position"}),(0,t.jsx)(s.td,{children:"X position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End X Position"}),(0,t.jsx)(s.td,{children:"X position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the line in pixels (default = 3)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 120 50\n CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black\n CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW\n SETTING VALUE_EQ 1 GREEN\n SETTING VALUE_EQ 0 RED\n CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45\n SETTING VALUE_EQ CONNECTED GREEN\n SETTING VALUE_EQ UNAVAILABLE RED\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLINEVALUE",src:n(3597).Z+"",width:"370",height:"184"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to CANVASLINEVALUE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"value_eq",children:"VALUE_EQ"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Map a value to a color"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the line"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvasdot",children:"CANVASDOT"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws a dot onto the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the dot"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the dot"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the dot"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Radius"}),(0,t.jsx)(s.td,{children:"Radius of the dot in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 50 50\n CANVASDOT 10 15 BLUE 5\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASDOT",src:n(7049).Z+"",width:"374",height:"182"})}),"\n",(0,t.jsx)(s.h2,{id:"example-file",children:"Example File"}),"\n",(0,t.jsx)(s.p,{children:"Example File: TARGET/myscreen.txt"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SCREEN AUTO AUTO 0.5\nVERTICAL\n TITLE \"<%= target_name %> Commanding Examples\"\n LABELVALUE INST HEALTH_STATUS COLLECTS\n LABELVALUE INST HEALTH_STATUS COLLECT_TYPE\n LABELVALUE INST HEALTH_STATUS DURATION\n VERTICALBOX \"Send Collect Command:\"\n HORIZONTAL\n LABEL \"Type: \"\n NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL\n END\n HORIZONTAL\n LABEL \" Duration: \"\n NAMED_WIDGET DURATION TEXTFIELD 12 \"10.0\"\n END\n BUTTON 'Start Collect' \"api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())\"\n END\n SETTING BACKCOLOR 163 185 163\n VERTICALBOX \"Parameter-less Commands:\"\n NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index\n RADIOBUTTON 'Abort'\n RADIOBUTTON 'Clear'\n END\n NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED\n BUTTON 'Send' \"screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))\"\n END\n SETTING BACKCOLOR 163 185 163\nEND\n"})})]})}function x(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8513:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/array-c0c541246cb3f9e355acc5c510649c29116ce4d6eb8864b9ace48e9958b36421.png"},2215:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/backcolor-39ca0e2a25bd98fe1c9e067f026f3a719a760d3f14ccb404e2da3a0af4235760.png"},4469:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/block-14583c7d26c1a1c6553435d57015bc5282426f7aa176804867de223009a8d4d7.png"},7308:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/bordercolor-a3ac15f24f91c910fcc9c8bd195232205ec44da0b428b11b71108687ce6316d3.png"},5582:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/button-3f6fd69518f4b2c60b15605ca607cda8b596d4d5e804b867f09f750a47b6cbad.png"},7049:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/canvasdot-d634bed1905d13b0da41200e62781cea6e012b5d68fc914f4c11f512c9c4f7fd.png"},3328:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/canvasimage-6f6f83dc6d777fdff0b820287a96ad171a475fda2896c0a3b678b14984e496fd.png"},9365:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/canvasimagevalue-8c835310f99cebbb15ad34632c77370cf4cc9b95535040fa4723df8baedb5b57.png"},5405:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/canvaslabel-68ee99da9ef15924a2b5b41c60ba7de47382d036eece57574411839ff5ec14e4.png"},3227:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/canvaslabelvalue-43254b6647e626939e79ec7e0940e921582039af006e5024c952881ba196b165.png"},7619:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/canvasline-c5120da84530d4a60a04d40d5565daede656639808d1a456f430e9404a2d5bad.png"},3597:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/canvaslinevalue-5540d10997f723fd09b269b75997452622a3c4333ed4f25628747c1212699255.png"},3916:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/checkbutton-23b2149f6025a4bb1229d115254c8e1277166f911c1de5e1922ff5efc9e6fcd7.png"},2496:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/combobox-6c8fa241aa7c5ccf31a42a2373dbd4f6f66d9a063e98ba111d5472b5c8e21590.png"},2993:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/date-d104f822ef7a1b99ade0a334e2e34c27fc6b1d087ed267f13280623a943113ce.png"},2316:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/formatvalue-8e2ddb6cec177fde1846d333d70168479a3bf67dd2b293764f938726b9e7cdf8.png"},2976:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/height-67268e562da2f9b2d0b9adc38d8fb2ba629504b09d798d8c26be9cfbfdad672a.png"},3736:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/horizontal-11de51b6fc8baf057ca4f38a7f54a5302b58f30099331c22a074f012e53497aa.png"},1272:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/horizontalbox-ddf82f64de700286a742a71e0c1adebbc7e9822a0dff41139f41bc476e4fc4ce.png"},8783:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/horizontalline-0805762eadcc125ed6584a29a60e7cf8e2d76d13c6243e18eecbaba7a3803128.png"},5855:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/iframe-30d5a4104336b84d18ba538d668978a7986679431a7fe1fd0e3179fea08c074f.png"},904:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/imageviewer-6149159e29a35cd6694926b344836ce034ce17cc019537028a80d95460eec405.png"},7916:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/label-25a3052a497d0db7ebf84c788baedcd01d34f4b423aceee53d6d83639a128e82.png"},2893:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/labelled-b8d0f0a157f48e1fa98511f9177f962e69d1e0e8c24b37cf9f355671f9d13ab8.png"},6897:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/labelprogressbar-c3412db92b2f4e6af20233b085ee20915414d6c4da371398a3e8f36b84971cc7.png"},5449:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/labelsparkline-5985a0f034a5d2fb54b040612178ac9f0d5476eb76ca7e04cacc2618a9970c69.png"},5387:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/labelvalue-db97724272df4815b4ecc397974f91a62c31108b98ef0657716c670ca8128051.png"},6483:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/labelvaluedesc-2e174a9f3443ba971683dea9a33f8aa66d0248fb92a3aff41ec26b7424b5e68c.png"},6441:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/labelvaluelimitscolumn-47664affa9d88150ce257e90d32c61b314d7f0b6aa6da4f5e49152be2cce4ef7.png"},1108:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/labelvaluerangebar-641eba160b8ef7872557584de92f046d9e4411fae3280781f9b049265cc6dd52.png"},2621:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/led-d333a6c7e8b1bad13b7775142c74f94b1829ddedd38814d606b2d00e76707751.png"},9742:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/limitsbar-4f2758f846f6f8a1add81aeaf3b58e071792a6d2ccae9eb504e9c07ab8f8dae1.png"},2925:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/limitscolor-7f8e24e4f27f476c3b4c57393ab797268b86aa8ad8b6e7b83d72dd5bf3ca7952.png"},9441:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/limitscolumn-743800180e9558c86a4f5c5d949e2b8355420a98c85ef98a3320b09defa21fe6.png"},8014:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/linegraph-dc3cca59601beb3ea551bbd05e4e09b6cfabd1a7cbc93b757a7d4b22c478a75b.png"},169:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/margin-4247b51c2c305cb961d08a807f30883b7fc6d9e3316c18174b86afe2356106dd.png"},7990:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/matrixbycolumns-74a67f236a97fffbdf7251fc98da2302a92df20ad16793a1617bc6f77380c9f6.png"},674:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/named_widget-37362db8e310e5639be849d729fd637677f72330d676da4cd6baafc4b961331c.png"},2123:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/padding-e8ceea8ec79def3b14d186971854c44883675d974409366b77c586eedd85025c.png"},9305:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/progressbar-cc1095369de0d483c4a9b07ad3a76f9e966990b2aa68b2bc8177d7130ed382a7.png"},391:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/radiobutton-9151f7cb0dae5120e51e05b5575981c143e19f350e84c7e190d3dd78aa80fae8.png"},4030:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/rangebar-ceae5a30609ab12625e29fd479e88fb3ba16eb12879976edc807da87547a275d.png"},6735:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/raw-63c1dd793f4a734e7d512bf4c0c3722831c38d5392a1a1b0cb77bbef4d16b96b.png"},2194:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/rollup-ff0cecc0daa8dbdc84bc2a81efe4625b88f36a699368ada18e70c8d3d0c63c06.png"},8897:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/scrollwindow-f356c8c9d26aebc50ab371f1056824797d5c583bde6c6a5493019ea9f12571ca.png"},8316:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/signal-0e5def1ecb42b4688c7c6ab616ae87ef05c8b9afb5b1a27077e6cc9127721668.png"},4072:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/spacer-055e206bed0b13cba778071458407f184a690a8f2d5ff9cd9789f925c60c4886.png"},9997:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/sparkline-c5f8ecd361eef8172a9dea7ff70f3c1b056a3a00b525459429ead67d00c0c0e5.png"},9273:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/subsetting-ef46d38a0ba47b2fd0ad48422ccc7343a6ff88901c8a9675a27c13c9313e222b.png"},7412:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/tabitem-58fb7c6faa16ac04a0561a0315515852ad43ebdfbf709bd65b211af29f2f85f1.png"},6695:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/textbox-9e4a1eb37cf68aabf92e326ff248d098a70295ffe6f7cf2e002a5dbff9ff0ef5.png"},8080:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/textcolor-e6d5bb0fba3786e4da7dd5e739306500ddc5fc6a4ead8e212bbe99a80433596c.png"},925:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/textfield-931f510c2160ed8e5475bee78fa4c6cebd67d9195d92a22600217824ff55943d.png"},5611:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/time-d77e3f94633eb1008d5a382054940052070f5a4cd385f4a9203c0f60d406d7c6.png"},5587:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/title-5817bee0aa4702b4fd22c81a25e8036c1afc88a465a68d79707b2d58fb48789a.png"},7912:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/value-825b95d71be2c565e1d3fa5c57ec94be1bbb6e0a1e8166abb8617d5f50a93d39.png"},4822:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/valuelimitsbar-fd7637e8b4287430ab21a888acd1d10276438186bad6d204a4081c1b0423950f.png"},3682:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/valuelimitscolumn-aecfce9016c27e500eb506675bd372f77df1d671fd8fb0f30debe18c5cfee46c.png"},5782:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/valuerangebar-3a860f1fb4af1beeeb846c389c60f08eb633cc15cbb6f1c09509b5f5c0116d56.png"},4462:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/vertical-d4ea61f78a2cfc2cacc725f0a5dea194ab75278f0cb676e4a749f55d58a632f3.png"},9897:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/verticalbox-28fdba6f2c051a499b7f08a1be97edf0297ac9a9ce0dba44f02a7fe1c2616d91.png"},4096:function(e,s,n){n.d(s,{Z:function(){return d}});let d=n.p+"assets/images/width-1a69354459761ea23e4824436ef364124236f9bb96d46a28c97d8ff20d07ab81.png"},65:function(e,s,n){n.d(s,{Z:function(){return l},a:function(){return r}});var d=n(7294);let t={},i=d.createContext(t);function r(e){let s=d.useContext(i);return d.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),d.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/9424f0b3.e6a68f5e.js b/docs/assets/js/9424f0b3.e6a68f5e.js deleted file mode 100644 index 631b54e32b..0000000000 --- a/docs/assets/js/9424f0b3.e6a68f5e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[4909],{7417:(e,s,d)=>{d.r(s),d.d(s,{assets:()=>h,contentTitle:()=>l,default:()=>x,frontMatter:()=>r,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"configuration/telemetry-screens","title":"Screens","description":"Telemetry Viewer screen definition and widget documentation","source":"@site/docs/configuration/telemetry-screens.md","sourceDirName":"configuration","slug":"/configuration/telemetry-screens","permalink":"/docs/configuration/telemetry-screens","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/telemetry-screens.md","tags":[],"version":"current","sidebarPosition":9,"frontMatter":{"sidebar_position":9,"title":"Screens","description":"Telemetry Viewer screen definition and widget documentation","sidebar_custom_props":{"myEmoji":"\ud83d\udda5\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Tables","permalink":"/docs/configuration/table"},"next":{"title":"SSL-TLS","permalink":"/docs/configuration/ssl-tls"}}');var t=d(4848),i=d(8453);const r={sidebar_position:9,title:"Screens",description:"Telemetry Viewer screen definition and widget documentation",sidebar_custom_props:{myEmoji:"\ud83d\udda5\ufe0f"}},l=void 0,h={},c=[{value:"Definitions",id:"definitions",level:2},{value:"Telemetry Screen Definition Files",id:"telemetry-screen-definition-files",level:2},{value:"New Widgets",id:"new-widgets",level:2},{value:"SCREEN",id:"screen",level:2},{value:"END",id:"end",level:2},{value:"STALE_TIME",id:"stale_time",level:2},{value:"GLOBAL_SETTING",id:"global_setting",level:2},{value:"GLOBAL_SUBSETTING",id:"global_subsetting",level:2},{value:"SETTING",id:"setting",level:2},{value:"WIDTH",id:"width",level:3},{value:"HEIGHT",id:"height",level:3},{value:"MARGIN",id:"margin",level:3},{value:"PADDING",id:"padding",level:3},{value:"BACKCOLOR",id:"backcolor",level:3},{value:"TEXTCOLOR",id:"textcolor",level:3},{value:"BORDERCOLOR",id:"bordercolor",level:3},{value:"RAW",id:"raw",level:3},{value:"SUBSETTING",id:"subsetting",level:2},{value:"NAMED_WIDGET",id:"named_widget",level:2},{value:"Layout Widgets",id:"layout-widgets",level:2},{value:"VERTICAL",id:"vertical",level:3},{value:"VERTICALBOX",id:"verticalbox",level:3},{value:"HORIZONTAL",id:"horizontal",level:3},{value:"HORIZONTALBOX",id:"horizontalbox",level:3},{value:"MATRIXBYCOLUMNS",id:"matrixbycolumns",level:3},{value:"SCROLLWINDOW",id:"scrollwindow",level:3},{value:"TABBOOK",id:"tabbook",level:3},{value:"TABITEM",id:"tabitem",level:3},{value:"IFRAME",id:"iframe",level:3},{value:"Decoration Widgets",id:"decoration-widgets",level:2},{value:"LABEL",id:"label",level:3},{value:"HORIZONTALLINE",id:"horizontalline",level:3},{value:"TITLE",id:"title",level:3},{value:"SPACER",id:"spacer",level:3},{value:"Telemetry Widgets",id:"telemetry-widgets",level:2},{value:"ARRAY",id:"array",level:3},{value:"BLOCK",id:"block",level:3},{value:"FORMATVALUE",id:"formatvalue",level:3},{value:"LABELLED",id:"labelled",level:3},{value:"LED_COLOR",id:"led_color",level:4},{value:"LABELPROGRESSBAR",id:"labelprogressbar",level:3},{value:"LABELVALUE",id:"labelvalue",level:3},{value:"LABELVALUEDESC",id:"labelvaluedesc",level:3},{value:"LABELVALUELIMITSBAR",id:"labelvaluelimitsbar",level:3},{value:"LABELVALUELIMITSCOLUMN",id:"labelvaluelimitscolumn",level:3},{value:"LABELVALUERANGEBAR",id:"labelvaluerangebar",level:3},{value:"LED",id:"led",level:3},{value:"LED_COLOR",id:"led_color-1",level:4},{value:"LIMITSBAR",id:"limitsbar",level:3},{value:"LIMITSCOLUMN",id:"limitscolumn",level:3},{value:"LIMITSCOLOR",id:"limitscolor",level:3},{value:"VALUELIMITSBAR",id:"valuelimitsbar",level:3},{value:"VALUELIMITSCOLUMN",id:"valuelimitscolumn",level:3},{value:"VALUERANGEBAR",id:"valuerangebar",level:3},{value:"LINEGRAPH",id:"linegraph",level:3},{value:"ITEM",id:"item",level:4},{value:"STARTTIME",id:"starttime",level:4},{value:"HISTORY",id:"history",level:4},{value:"SECONDSGRAPHED",id:"secondsgraphed",level:4},{value:"POINTSSAVED",id:"pointssaved",level:4},{value:"POINTSGRAPHED",id:"pointsgraphed",level:4},{value:"SIZE",id:"size",level:4},{value:"SPARKLINE",id:"sparkline",level:3},{value:"ITEM",id:"item-1",level:4},{value:"STARTTIME",id:"starttime-1",level:4},{value:"HISTORY",id:"history-1",level:4},{value:"SECONDSGRAPHED",id:"secondsgraphed-1",level:4},{value:"POINTSSAVED",id:"pointssaved-1",level:4},{value:"POINTSGRAPHED",id:"pointsgraphed-1",level:4},{value:"SIZE",id:"size-1",level:4},{value:"LABELSPARKLINE",id:"labelsparkline",level:3},{value:"ITEM",id:"item-2",level:4},{value:"STARTTIME",id:"starttime-2",level:4},{value:"HISTORY",id:"history-2",level:4},{value:"SECONDSGRAPHED",id:"secondsgraphed-2",level:4},{value:"POINTSSAVED",id:"pointssaved-2",level:4},{value:"POINTSGRAPHED",id:"pointsgraphed-2",level:4},{value:"SIZE",id:"size-2",level:4},{value:"IMAGEVIEWER",id:"imageviewer",level:3},{value:"PROGRESSBAR",id:"progressbar",level:3},{value:"RANGEBAR",id:"rangebar",level:3},{value:"ROLLUP",id:"rollup",level:3},{value:"SIGNAL",id:"signal",level:3},{value:"TEXTBOX",id:"textbox",level:3},{value:"VALUE",id:"value",level:3},{value:"Interactive Widgets",id:"interactive-widgets",level:2},{value:"BUTTON",id:"button",level:3},{value:"CHECKBUTTON",id:"checkbutton",level:3},{value:"COMBOBOX",id:"combobox",level:3},{value:"DATE",id:"date",level:3},{value:"RADIOGROUP",id:"radiogroup",level:3},{value:"RADIOBUTTON",id:"radiobutton",level:3},{value:"TEXTFIELD",id:"textfield",level:3},{value:"TIME",id:"time",level:3},{value:"Canvas Widgets",id:"canvas-widgets",level:2},{value:"CANVAS",id:"canvas",level:3},{value:"CANVASLABEL",id:"canvaslabel",level:3},{value:"CANVASLABELVALUE",id:"canvaslabelvalue",level:3},{value:"CANVASIMAGE",id:"canvasimage",level:3},{value:"SCREEN",id:"screen-1",level:4},{value:"CANVASIMAGEVALUE",id:"canvasimagevalue",level:3},{value:"IMAGE",id:"image",level:4},{value:"SCREEN",id:"screen-2",level:4},{value:"CANVASLINE",id:"canvasline",level:3},{value:"CANVASLINEVALUE",id:"canvaslinevalue",level:3},{value:"VALUE_EQ",id:"value_eq",level:4},{value:"CANVASDOT",id:"canvasdot",level:3},{value:"Example File",id:"example-file",level:2}];function a(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",img:"img",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"This document provides the information necessary to generate and use COSMOS Telemetry Screens, which are displayed by the COSMOS Telemetry Viewer application."}),"\n",(0,t.jsx)("div",{style:{clear:"both"}}),"\n",(0,t.jsx)(s.h2,{id:"definitions",children:"Definitions"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Name"}),(0,t.jsx)(s.th,{children:"Definition"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget"}),(0,t.jsx)(s.td,{children:"A widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task."})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen"}),(0,t.jsx)(s.td,{children:"A screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion."})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen Definition File"}),(0,t.jsx)(s.td,{children:"A screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them."})]})]})]}),"\n",(0,t.jsx)(s.h2,{id:"telemetry-screen-definition-files",children:"Telemetry Screen Definition Files"}),"\n",(0,t.jsx)(s.p,{children:"Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase."}),"\n",(0,t.jsx)(s.h2,{id:"new-widgets",children:"New Widgets"}),"\n",(0,t.jsxs)(s.p,{children:["When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the ",(0,t.jsx)(s.a,{href:"/docs/guides/custom-widgets",children:"Custom Widgets"})," guide."]}),"\n",(0,t.jsx)(s.h1,{id:"screen-keywords",children:"Screen Keywords"}),"\n",(0,t.jsx)(s.h2,{id:"screen",children:"SCREEN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Define a telemetry viewer screen"})}),"\n",(0,t.jsx)(s.p,{children:"The SCREEN keyword is the first keyword in any telemetry screen definition. It defines the name of the screen and parameters that affect the screen overall."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels or AUTO to let Telemetry Viewer automatically layout the screen"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels or AUTO to let Telemetry Viewer automatically layout the screen"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Polling Period"}),(0,t.jsx)(s.td,{children:"Number of seconds between screen updates"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SCREEN AUTO AUTO 1.0 FIXED\n"})}),"\n",(0,t.jsx)(s.h2,{id:"end",children:"END"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Indicates the close of a layout widget"})}),"\n",(0,t.jsx)(s.p,{children:"All layout widgets must be closed to properly identify where they stop. For example, a VERTICALBOX keyword must be matched with an END keyword to indicate where the VERTICALBOX ends."}),"\n",(0,t.jsx)(s.h2,{id:"stale_time",children:"STALE_TIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.1.0)"}),(0,t.jsx)(s.strong,{children:"Values are marked stale if the packet time is more than Stale Time seconds in the past"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"value"}),(0,t.jsx)(s.td,{children:"Items from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions."}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"STALE_TIME 5 # Number of seconds to wait before marking data stale\n"})}),"\n",(0,t.jsx)(s.h2,{id:"global_setting",children:"GLOBAL_SETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget setting to all widgets of a certain type"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Class Name"}),(0,t.jsx)(s.td,{children:"The name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Name"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Value(s)"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK\n"})}),"\n",(0,t.jsx)(s.h2,{id:"global_subsetting",children:"GLOBAL_SUBSETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget subsetting to all widgets of a certain type"})}),"\n",(0,t.jsx)(s.p,{children:"Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Class Name"}),(0,t.jsx)(s.td,{children:"The name of the class of widgets that this setting will be applied to. For example, LABELVALUE."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Subwidget Index"}),(0,t.jsx)(s.td,{children:"Index to the desired subwidget"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Name"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Value(s)"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"# Set all text color to white for labelvaluelimitsbars\nGLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white\n"})}),"\n",(0,t.jsx)(s.h2,{id:"setting",children:"SETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget setting to the previously defined widget"})}),"\n",(0,t.jsx)(s.p,{children:"Settings allow for additional tweaks and options to be applied to widgets\nthat are not available in their parameters. These settings are all configured\nthrough the SETTING, SUBSETTING, GLOBAL_SETTING and GLOBAL_SUBSETTING keywords.\nSETTING and SUBSETTING applies only to the widget defined immediately before it.\nGLOBAL_SETTING and GLOBAL_SUBSETTING applies to all widgets."}),"\n",(0,t.jsx)(s.p,{children:"Common wiget settings are defined here. Some widgets define their own\nunique settings which are documented under that specific widget."}),"\n",(0,t.jsx)(s.h3,{id:"width",children:"WIDTH"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget width"})}),"\n",(0,t.jsxs)(s.p,{children:["WIDTH supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING WIDTH 50\nLABEL "THIS IS A TEST"\n SETTING WIDTH 20em\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"WIDTH",src:d(6279).A+"",width:"678",height:"326"})}),"\n",(0,t.jsx)(s.h3,{id:"height",children:"HEIGHT"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget height"})}),"\n",(0,t.jsxs)(s.p,{children:["HEIGHT supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR BLUE\n SETTING HEIGHT 50\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREY\n SETTING HEIGHT 2em\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HEIGHT",src:d(3634).A+"",width:"374",height:"224"})}),"\n",(0,t.jsx)(s.h3,{id:"margin",children:"MARGIN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget margin"})}),"\n",(0,t.jsxs)(s.p,{children:["MARGIN supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Size"}),(0,t.jsx)(s.td,{children:"Size in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR BLUE\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREY\n SETTING MARGIN 10\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREEN\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"MARGIN",src:d(9289).A+"",width:"372",height:"336"})}),"\n",(0,t.jsx)(s.h3,{id:"padding",children:"PADDING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Sets the widget padding"})}),"\n",(0,t.jsxs)(s.p,{children:["PADDING supports ",(0,t.jsx)(s.a,{href:"https://www.w3schools.com/cssref/css_units.php",children:"css units"})," with the default (no units) of px (pixels)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Size"}),(0,t.jsx)(s.td,{children:"Size in pixels or explicitly declared with units"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR BLUE\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREY\n SETTING PADDING 10\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR GREEN\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"PADDING",src:d(1188).A+"",width:"376",height:"332"})}),"\n",(0,t.jsx)(s.h3,{id:"backcolor",children:"BACKCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"The BACKCOLOR setting sets the background color for a widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color name or Red value"}),(0,t.jsx)(s.td,{children:"Common name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Green value"}),(0,t.jsx)(s.td,{children:"Green value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Blue value"}),(0,t.jsx)(s.td,{children:"Blue value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING BACKCOLOR red\nLABEL "THIS IS A TEST"\n SETTING BACKCOLOR 155 50 155\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BACKCOLOR",src:d(4877).A+"",width:"366",height:"232"})}),"\n",(0,t.jsx)(s.h3,{id:"textcolor",children:"TEXTCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"The TEXTCOLOR setting sets the text color for a widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color name or Red value"}),(0,t.jsx)(s.td,{children:"Common name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Green value"}),(0,t.jsx)(s.td,{children:"Green value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Blue value"}),(0,t.jsx)(s.td,{children:"Blue value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "THIS IS A TEST"\n SETTING TEXTCOLOR red\nLABEL "THIS IS A TEST"\n SETTING TEXTCOLOR 155 50 155\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TEXTCOLOR",src:d(8817).A+"",width:"364",height:"220"})}),"\n",(0,t.jsx)(s.h3,{id:"bordercolor",children:"BORDERCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"The BORDERCOLOR setting sets the border color for a layout widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color name or Red value"}),(0,t.jsx)(s.td,{children:"Common name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Green value"}),(0,t.jsx)(s.td,{children:"Green value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Blue value"}),(0,t.jsx)(s.td,{children:"Blue value of the RGB value"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'HORIZONTAL\n LABEL "Label 1"\nEND\nSETTING BORDERCOLOR red\nVERTICAL\n LABEL "Label 2"\nEND\nSETTING BORDERCOLOR 155 50 155\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BORDERCOLOR",src:d(624).A+"",width:"362",height:"232"})}),"\n",(0,t.jsx)(s.h3,{id:"raw",children:"RAW"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Apply a raw CSS stylesheet key and value"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Key"}),(0,t.jsx)(s.td,{children:"CSS key like font-size, max-width, etc"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"CSS Value"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "Label 1"\n SETTING RAW font-size 30px\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"RAW",src:d(4361).A+"",width:"364",height:"194"})}),"\n",(0,t.jsx)(s.h2,{id:"subsetting",children:"SUBSETTING"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Applies a widget subsetting to the previously defined widget"})}),"\n",(0,t.jsx)(s.p,{children:"Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Subwidget Index"}),(0,t.jsx)(s.td,{children:"Index to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Name"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Setting Value(s)"}),(0,t.jsx)(s.td,{children:"See SETTING for details."}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue\n LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1\n SUBSETTING 0 TEXTCOLOR green # Change the label's text to green\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SUBSETTING",src:d(6129).A+"",width:"772",height:"290"})}),"\n",(0,t.jsx)(s.h2,{id:"named_widget",children:"NAMED_WIDGET"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Name a widget to allow access to it via the getNamedWidget method"})}),"\n",(0,t.jsx)(s.p,{children:"To programmatically access parts of a telemetry screen you need to name the widget. This is useful when creating screens with buttons that read values from other widgets."}),"\n",(0,t.jsx)(s.admonition,{type:"warning",children:(0,t.jsx)(s.p,{children:"getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Name"}),(0,t.jsx)(s.td,{children:"The unique name applied to the following widget instance. Names must be unique per screen."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Type"}),(0,t.jsx)(s.td,{children:"One of the widget types listed in Widget Descriptions"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Widget Parameters"}),(0,t.jsx)(s.td,{children:"The unique parameters for the given widget type"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'NAMED_WIDGET DURATION TEXTFIELD\nBUTTON "Push" "screen.getNamedWidget(\'DURATION\').text()"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"NAMED_WIDGET",src:d(5541).A+"",width:"368",height:"248"})}),"\n",(0,t.jsx)(s.h2,{id:"layout-widgets",children:"Layout Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Layout widgets are used to position other widgets on the screen. For example, the HORIZONTAL layout widget places the widgets it encapsulates horizontally on the screen."}),"\n",(0,t.jsx)(s.h3,{id:"vertical",children:"VERTICAL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates vertically"})}),"\n",(0,t.jsx)(s.p,{children:"The screen defaults to a vertical layout, so if no layout widgets are specified, all widgets will be automatically placed within a VERTICAL layout widget. The VERTICAL widget sizes itself to fit its contents."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'VERTICAL 5px\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VERTICAL",src:d(3981).A+"",width:"386",height:"256"})}),"\n",(0,t.jsx)(s.h3,{id:"verticalbox",children:"VERTICALBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates vertically inside a thin border"})}),"\n",(0,t.jsx)(s.p,{children:"The VERTICALBOX widget sizes itself to fit its contents vertically and to fit the screen horizontally"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Title"}),(0,t.jsx)(s.td,{children:"Text to place within the border to label the box"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'VERTICALBOX Info\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VERTICALBOX",src:d(313).A+"",width:"374",height:"330"})}),"\n",(0,t.jsx)(s.h3,{id:"horizontal",children:"HORIZONTAL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates horizontally"})}),"\n",(0,t.jsx)(s.p,{children:"The HORIZONTAL widget sizes itself to fit its contents"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'HORIZONTAL 100\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HORIZONTAL",src:d(2835).A+"",width:"1084",height:"552"})}),"\n",(0,t.jsx)(s.h3,{id:"horizontalbox",children:"HORIZONTALBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets it encapsulates horizontally inside a thin border"})}),"\n",(0,t.jsx)(s.p,{children:"The HORIZONTALBOX widget sizes itself to fit its contents"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Title"}),(0,t.jsx)(s.td,{children:"Text to place within the border to label the box"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'HORIZONTALBOX Info 10\n LABEL "TEST"\n LABEL "SCREEN"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HORIZONTALBOX",src:d(6136).A+"",width:"368",height:"286"})}),"\n",(0,t.jsx)(s.h3,{id:"matrixbycolumns",children:"MATRIXBYCOLUMNS"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets into a table-like matrix"})}),"\n",(0,t.jsx)(s.p,{children:"The MATRIXBYCOLUMNS widget sizes itself to fit its contents"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Columns"}),(0,t.jsx)(s.td,{children:"The number of columns to create"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'MATRIXBYCOLUMNS 3 10\n LABEL "COL 1"\n LABEL "COL 2"\n LABEL "COL 3"\n LABEL "100"\n LABEL "200"\n LABEL "300"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"MATRIXBYCOLUMNS",src:d(4674).A+"",width:"492",height:"288"})}),"\n",(0,t.jsx)(s.h3,{id:"scrollwindow",children:"SCROLLWINDOW"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places the widgets inside of it into a scrollable area"})}),"\n",(0,t.jsx)(s.p,{children:"The SCROLLWINDOW widget sizes itself to fit the screen in which it is contained"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Maximum height of the scroll window in pixels (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Margin"}),(0,t.jsx)(s.td,{children:"Margin between widgets (default = 0px)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'SCROLLWINDOW 100 10\n VERTICAL\n LABEL "100"\n LABEL "200"\n LABEL "300"\n LABEL "400"\n LABEL "500"\n LABEL "600"\n LABEL "700"\n LABEL "800"\n LABEL "900"\n END\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SCROLLWINDOW",src:d(2360).A+"",width:"358",height:"764"})}),"\n",(0,t.jsx)(s.h3,{id:"tabbook",children:"TABBOOK"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Creates a tabbed area in which to place TABITEM widgets"})}),"\n",(0,t.jsx)(s.h3,{id:"tabitem",children:"TABITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Creates a VERTICAL layout tab into which to place widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Tab text"}),(0,t.jsx)(s.td,{children:"Text to display in the tab"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'TABBOOK\n TABITEM "Tab 1"\n LABEL "100"\n LABEL "200"\n END\n TABITEM "Tab 2"\n LABEL "300"\n LABEL "400"\n END\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TABITEM",src:d(7323).A+"",width:"402",height:"322"})}),"\n",(0,t.jsx)(s.h3,{id:"iframe",children:"IFRAME"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Open external tools in an Iframe within OpenC3"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"URL"}),(0,t.jsx)(s.td,{children:"The path to the page to display in the iframe"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the widget"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the widget"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"IFRAME https://openc3.com 900 450\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"IFRAME",src:d(6179).A+"",width:"1826",height:"976"})}),"\n",(0,t.jsx)(s.h2,{id:"decoration-widgets",children:"Decoration Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Decoration widgets are used to enhance the appearance of the screen. They do not respond to input, nor does the output vary with telemetry."}),"\n",(0,t.jsx)(s.h3,{id:"label",children:"LABEL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays text on the screen"})}),"\n",(0,t.jsx)(s.p,{children:"Generally, label widgets contain a telemetry mnemonic and are placed next to the telemetry VALUE widget."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to display on the label"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABEL "Note: This is only a warning"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABEL",src:d(9809).A+"",width:"468",height:"162"})}),"\n",(0,t.jsx)(s.h3,{id:"horizontalline",children:"HORIZONTALLINE"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Displays a horizontal line on the screen that can be used as a separator"})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABEL Over\nHORIZONTALLINE\nLABEL Under\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"HORIZONTALLINE",src:d(9933).A+"",width:"380",height:"240"})}),"\n",(0,t.jsx)(s.h3,{id:"title",children:"TITLE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a large centered title on the screen"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'TITLE "Title"\nHORIZONTALLINE\nLABEL "Label"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TITLE",src:d(449).A+"",width:"374",height:"254"})}),"\n",(0,t.jsx)(s.h3,{id:"spacer",children:"SPACER"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Places a fixed size spacer in between widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the spacer in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the spacer in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'VERTICAL 3\n LABEL "Spacer below"\n SPACER 0 100\n LABEL "Spacer above"\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SPACER",src:d(4159).A+"",width:"366",height:"442"})}),"\n",(0,t.jsx)(s.h2,{id:"telemetry-widgets",children:"Telemetry Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Telemetry widgets are used to display telemetry values. The first parameters to each of these widgets is a telemetry mnemonic. Depending on the type and purpose of the telemetry item, the screen designer may select from a wide selection of widgets to display the value in the most useful format."}),"\n",(0,t.jsx)(s.h3,{id:"array",children:"ARRAY"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays ARRAY data organized into rows and space separated"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the widget (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the widget (default = 100)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format string"}),(0,t.jsx)(s.td,{children:"Format string applied to each array item (default = nil)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Items per row"}),(0,t.jsx)(s.td,{children:"Number of array items per row (default = 4)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED\nARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"ARRAY",src:d(9788).A+"",width:"486",height:"418"})}),"\n",(0,t.jsx)(s.h3,{id:"block",children:"BLOCK"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays BLOCK data organized into rows and space separated"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the widget (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the widget (default = 100)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format string"}),(0,t.jsx)(s.td,{children:"Format string applied to each array item (default = nil)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Bytes per word"}),(0,t.jsx)(s.td,{children:"Number of bytes per word (default = 4)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Words per row"}),(0,t.jsx)(s.td,{children:"Number of words per row (default = 4"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Address format"}),(0,t.jsx)(s.td,{children:"Format for the address printed at the beginning of each line (default = nil which means do not print an address)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:"\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BLOCK",src:d(4144).A+"",width:"1272",height:"464"})}),"\n",(0,t.jsx)(s.h3,{id:"formatvalue",children:"FORMATVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a box with a formatted value"})}),"\n",(0,t.jsx)(s.p,{children:"Data is formatted by the specified string rather than by a format string given in the telemetry definition files. The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits)."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format string"}),(0,t.jsx)(s.td,{children:"Printf style format string to apply to the telemetry item"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20\nFORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"FORMATVALUE",src:d(467).A+"",width:"388",height:"210"})}),"\n",(0,t.jsx)(s.h3,{id:"labelled",children:"LABELLED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL followed by a LED"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Justification"}),(0,t.jsxs)(s.td,{children:["How to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"SPLIT, CENTER, LEFT, RIGHT"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELLED INST PARAMS VALUE1\n SETTING LED_COLOR GOOD GREEN\n SETTING LED_COLOR BAD RED\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELLED",src:d(8566).A+"",width:"372",height:"154"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LABELLED. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"led_color",children:"LED_COLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Map a state or value to a color"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value. ANY used to match any value or state not declared."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"LED color"}),(0,t.jsx)(s.td,{children:"Color of the LED"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"labelprogressbar",children:"LABELPROGRESSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by a PROGRESSBAR"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Scale factor"}),(0,t.jsx)(s.td,{children:"Value to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0."}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the progress bar (default = 80 pixels"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW\nLABELPROGRESSBAR INST ADCS POSPROGRESS\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELPROGRESSBAR",src:d(7137).A+"",width:"728",height:"230"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvalue",children:"LABELVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by a VALUE"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELVALUE INST LATEST TIMESEC CONVERTED 18\nLABELVALUE INST LATEST COLLECT_TYPE\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUE",src:d(7510).A+"",width:"592",height:"218"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluedesc",children:"LABELVALUEDESC"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the items description followed by a VALUE"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Description"}),(0,t.jsx)(s.td,{children:"The description to display in the label (default is to display the description text associated with the telemetry item)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18\nLABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUEDESC",src:d(4453).A+"",width:"766",height:"218"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluelimitsbar",children:"LABELVALUELIMITSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by VALUE and LIMITSBAR widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluelimitscolumn",children:"LABELVALUELIMITSCOLUMN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by VALUE and LIMITSCOLUMN widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18\nLABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUELIMITSCOLUMN",src:d(6e3).A+"",width:"430",height:"850"})}),"\n",(0,t.jsx)(s.h3,{id:"labelvaluerangebar",children:"LABELVALUERANGEBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by VALUE and RANGEBAR widgets"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Low Value"}),(0,t.jsx)(s.td,{children:"Minimum value to display on the range bar. If the telemetry item goes below this value the bar is \u201cpegged\u201d on the low end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"High Value"}),(0,t.jsx)(s.td,{children:"Maximum value to display on the range bar. If the telemetry item goes above this value the bar is \u201cpegged\u201d on the high end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40\nLABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELVALUERANGEBAR",src:d(6536).A+"",width:"950",height:"226"})}),"\n",(0,t.jsx)(s.h3,{id:"led",children:"LED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LED which changes color based on telemetry values"})}),"\n",(0,t.jsx)(s.p,{children:"By default TRUE is green and FALSE is red and all other values are black. Additional values can be added by using the LED_COLOR setting. For example LED INST PARAMS VALUE3 RAW can be followed by SETTING LED_COLOR 0 GREEN, SETTING LED_COLOR 1 RED, and SETTING LED_COLOR ANY ORANGE."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the LED circle (default = 15)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LED INST PARAMS VALUE5 RAW 25 20 # Ellipse\n SETTING LED_COLOR 0 GREEN\n SETTING LED_COLOR 1 RED\n SETTING LED_COLOR ANY YELLOW\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LED",src:d(5596).A+"",width:"370",height:"130"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LED. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"led_color-1",children:"LED_COLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Map a state or value to a color"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value. ANY used to match any value or state not declared."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"LED color"}),(0,t.jsx)(s.td,{children:"Color of the LED"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"limitsbar",children:"LIMITSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item's current value within its colored limits horizontally"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50\nLIMITSBAR INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LIMITSBAR",src:d(7180).A+"",width:"450",height:"246"})}),"\n",(0,t.jsx)(s.h3,{id:"limitscolumn",children:"LIMITSCOLUMN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item's current value within its colored limits vertically"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200\nLIMITSCOLUMN INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LIMITSCOLUMN",src:d(5949).A+"",width:"372",height:"724"})}),"\n",(0,t.jsx)(s.h3,{id:"limitscolor",children:"LIMITSCOLOR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a circle depicting the limits color of an item"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Radius"}),(0,t.jsx)(s.td,{children:"Radius of the circle (default is 10)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Full Item Name"}),(0,t.jsx)(s.td,{children:"Show the full item name (default is false)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE\nLIMITSCOLOR INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LIMITSCOLOR",src:d(1630).A+"",width:"558",height:"226"})}),"\n",(0,t.jsx)(s.h3,{id:"valuelimitsbar",children:"VALUELIMITSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item VALUE followed by LIMITSBAR"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18\nVALUELIMITSBAR INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUELIMITSBAR",src:d(49).A+"",width:"746",height:"218"})}),"\n",(0,t.jsx)(s.h3,{id:"valuelimitscolumn",children:"VALUELIMITSCOLUMN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item VALUE followed by LIMITSCOLUMN"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 8)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18\nVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUELIMITSCOLUMN",src:d(74).A+"",width:"434",height:"706"})}),"\n",(0,t.jsx)(s.h3,{id:"valuerangebar",children:"VALUERANGEBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an item VALUE followed by RANGEBAR"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Low Value"}),(0,t.jsx)(s.td,{children:"Minimum value to display on the range bar. If the telemetry item goes below this value the bar is \u201cpegged\u201d on the low end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"High Value"}),(0,t.jsx)(s.td,{children:"Maximum value to display on the range bar. If the telemetry item goes above this value the bar is \u201cpegged\u201d on the high end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 160)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40\nVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUERANGEBAR",src:d(4726).A+"",width:"576",height:"260"})}),"\n",(0,t.jsx)(s.h3,{id:"linegraph",children:"LINEGRAPH"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a line graph of a telemetry item"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LINEGRAPH INST HEALTH_STATUS TEMP1\n SETTING ITEM INST ADCS Q1 # Add additional item to graph\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LINEGRAPH",src:d(29).A+"",width:"848",height:"822"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LINEGRAPH. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"item",children:"ITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Add a telemetry item to the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"starttime",children:"STARTTIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Start the graph history at the designated Time"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Time"}),(0,t.jsxs)(s.td,{children:["Start time as formatted 'YYYY/MM/DD HH:MM",":SS","'"]}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"history",children:"HISTORY"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Display an initial history of data"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"Value(d,h,m,s). For example 1d, 2h, 30m, 15s"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"secondsgraphed",children:"SECONDSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display the specified number of seconds in the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointssaved",children:"POINTSSAVED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Save the number of seconds in graph memory"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to save"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointsgraphed",children:"POINTSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Number of points to display on the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of points to graph"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"size",children:"SIZE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Size of the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"sparkline",children:"SPARKLINE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a sparkline graph (no cursor, scale or legend) of a telemetry item"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SPARKLINE INST HEALTH_STATUS TEMP1\n SETTING SIZE 400 50\n SETTING HISTORY 30s # Add 30 seconds of data into graph\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SPARKLINE",src:d(6638).A+"",width:"848",height:"244"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to SPARKLINE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"item-1",children:"ITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Add a telemetry item to the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"starttime-1",children:"STARTTIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Start the graph history at the designated Time"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Time"}),(0,t.jsxs)(s.td,{children:["Start time as formatted 'YYYY/MM/DD HH:MM",":SS","'"]}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"history-1",children:"HISTORY"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Display an initial history of data"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"Value(d,h,m,s). For example 1d, 2h, 30m, 15s"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"secondsgraphed-1",children:"SECONDSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display the specified number of seconds in the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointssaved-1",children:"POINTSSAVED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Save the number of seconds in graph memory"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to save"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointsgraphed-1",children:"POINTSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Number of points to display on the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of points to graph"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"size-1",children:"SIZE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Size of the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"labelsparkline",children:"LABELSPARKLINE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a LABEL with the item name followed by a SPARKLINE"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"LABELSPARKLINE INST HEALTH_STATUS TEMP1\n SETTING HISTORY 5m # Add 5 minutes of data into graph\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"LABELSPARKLINE",src:d(4528).A+"",width:"442",height:"204"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to LABELSPARKLINE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"item-2",children:"ITEM"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Add a telemetry item to the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced"}),(0,t.jsxs)(s.td,{children:["Whether to display reduced data. Default is DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Reduced Type"}),(0,t.jsxs)(s.td,{children:["The type of reduce data to display. Only applies if Reduced is not DECOM.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"MIN, MAX, AVG, STDDEV"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"starttime-2",children:"STARTTIME"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Start the graph history at the designated Time"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Time"}),(0,t.jsxs)(s.td,{children:["Start time as formatted 'YYYY/MM/DD HH:MM",":SS","'"]}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"history-2",children:"HISTORY"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Display an initial history of data"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"Value(d,h,m,s). For example 1d, 2h, 30m, 15s"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"secondsgraphed-2",children:"SECONDSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display the specified number of seconds in the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to display"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointssaved-2",children:"POINTSSAVED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Save the number of seconds in graph memory"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of seconds to save"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"pointsgraphed-2",children:"POINTSGRAPHED"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Number of points to display on the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time"}),(0,t.jsx)(s.td,{children:"Number of points to graph"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.h4,{id:"size-2",children:"SIZE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Size of the graph"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width in pixels"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"imageviewer",children:"IMAGEVIEWER"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Display a base64 image from a TLM packet"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Format"}),(0,t.jsx)(s.td,{children:"The image format of the base64 data (e.g. jpg, png, etc)"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"IMAGEVIEWER INST IMAGE IMAGE jpg\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"IMAGEVIEWER",src:d(3862).A+"",width:"426",height:"476"})}),"\n",(0,t.jsx)(s.h3,{id:"progressbar",children:"PROGRESSBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a progress bar that is useful for displaying percentages"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Scale factor"}),(0,t.jsx)(s.td,{children:"Value to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0."}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the progress bar (default = 100 pixels)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"PROGRESSBAR INST ADCS POSPROGRESS 0.5 200\nPROGRESSBAR INST ADCS POSPROGRESS\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"PROGRESSBAR",src:d(4647).A+"",width:"452",height:"208"})}),"\n",(0,t.jsx)(s.h3,{id:"rangebar",children:"RANGEBAR"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a custom range bar displaying the item value"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Low Value"}),(0,t.jsx)(s.td,{children:"Minimum value to display on the range bar. If the telemetry item goes below this value the bar is \u201cpegged\u201d on the low end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"High Value"}),(0,t.jsx)(s.td,{children:"Maximum value to display on the range bar. If the telemetry item goes above this value the bar is \u201cpegged\u201d on the high end."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the range bar (default = 100)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the range bar (default = 25)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50\nRANGEBAR INST HEALTH_STATUS TEMP1 -100 100\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"RANGEBAR",src:d(2197).A+"",width:"438",height:"288"})}),"\n",(0,t.jsx)(s.h3,{id:"rollup",children:"ROLLUP"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.17.1)"}),(0,t.jsx)(s.strong,{children:"Displays a notification icon which changes color based on a rollup telemetry"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Icon name"}),(0,t.jsxs)(s.td,{children:["The astro UX icon to display. Valid choices are 'astro' icons taken from ",(0,t.jsx)(s.a,{href:"https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json",children:"https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json"}),"."]}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Icon label"}),(0,t.jsx)(s.td,{children:"Text to apply to the icon label"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Icon sublabel"}),(0,t.jsx)(s.td,{children:"Text to apply to the icon sublabel"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'ROLLUP satellite-transmit "SAT 1" "Details"\n # Screen to open on click\n SETTING SCREEN INST HS\n # Telemetry items to rollup status\n SETTING TLM INST HEALTH_STATUS TEMP1\n SETTING TLM INST HEALTH_STATUS TEMP2\nROLLUP antenna "GND 2" "Location"\n # Screen to open on click\n SETTING SCREEN INST HS\n # Telemetry items to rollup status\n SETTING TLM INST HEALTH_STATUS TEMP3\n SETTING TLM INST HEALTH_STATUS TEMP4\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"ROLLUP",src:d(5217).A+"",width:"378",height:"402"})}),"\n",(0,t.jsx)(s.h3,{id:"signal",children:"SIGNAL"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.17.2)"}),(0,t.jsx)(s.strong,{children:"Displays a cellular signal icon which changes based on telemetry value"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SIGNAL INST HEALTH_STATUS TEMP1\n # Screen to open on click\n SETTING SCREEN INST HS\n # Values to compare when setting the 1-bar, 2-bar and 3-bar icons\n # Default is 30, 60, 90 (e.g. 0 to 100 range)\n # Value < -50 display no bars\n # Value >= -50 and < 0 displays 1 bar\n # Value >= 0 and < 50 displays 2 bars\n # Value >= 50 displays 5 bars\n SETTING RANGE -50 0 50\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"SIGNAL",src:d(7207).A+"",width:"366",height:"128"})}),"\n",(0,t.jsx)(s.h3,{id:"textbox",children:"TEXTBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Provides a large box for multiline text"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the textbox in px (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the textbox in px (default = 200)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TEXTBOX",src:d(1547).A+"",width:"376",height:"226"})}),"\n",(0,t.jsx)(s.h3,{id:"value",children:"VALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a box with a telemetry item value"})}),"\n",(0,t.jsx)(s.p,{children:"The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits)."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Number of characters"}),(0,t.jsx)(s.td,{children:"The number of characters wide to make the value box (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18\nVALUE INST HEALTH_STATUS TEMP1\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"VALUE",src:d(816).A+"",width:"462",height:"206"})}),"\n",(0,t.jsx)(s.h2,{id:"interactive-widgets",children:"Interactive Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Interactive widgets are used to gather input from the user. Unlike all other widgets, which only output some graphical representation, interactive widgets permit input either from the keyboard or mouse."}),"\n",(0,t.jsx)(s.h3,{id:"button",children:"BUTTON"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a rectangular clickable button"})}),"\n",(0,t.jsxs)(s.p,{children:["Upon clicking, the button executes the Javascript code assigned. Buttons\ncan be used to send commands and perform other tasks. If you want your button\nto use values from other widgets, define them as named widgets and read their\nvalues using the ",(0,t.jsx)(s.code,{children:'screen.getNamedWidget("WIDGET_NAME").text()'})," method.\nSee the example in CHECKBUTTON."]}),"\n",(0,t.jsxs)(s.p,{children:["Button code can get rather complex so remember to use string concatenation\nto make things more readable. If you use ",(0,t.jsx)(s.code,{children:"+"})," newlines are inserted automatically\nduring string concatenation. If you use ",(0,t.jsx)(s.code,{children:"\\"})," you'll need to separate lines with a\nsingle semicolon ",(0,t.jsx)(s.code,{children:";"}),". COSMOS uses double semicolon ",(0,t.jsx)(s.code,{children:";;"})," to indicate lines should\nbe evaluated separately. Note that all OpenC3 commands (using api.cmd) must be\nseparated by ",(0,t.jsx)(s.code,{children:";;"}),"."]}),"\n",(0,t.jsx)(s.p,{children:"You can send commands with buttons using api.cmd(). The cmd() syntax looks exactly\nlike the standard COSMOS scripting syntax. You can also request and use\ntelemetry in screens using Javascript Promises."}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.code,{children:"api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))\""})}),"\n",(0,t.jsx)(s.p,{children:"The api.tlm() function returns a Promise which is resolved with then()\nat which point we send the command with the telemetry value we received."}),"\n",(0,t.jsxs)(s.p,{children:["Scripts can be launched from a BUTTON using the ",(0,t.jsx)(s.code,{children:"runScript()"})," method. ",(0,t.jsx)(s.code,{children:"runScript()"})," takes three parameters,\nthe name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of\nenvironment variables. For example: ",(0,t.jsx)(s.code,{children:"runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'})"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Button Text"}),(0,t.jsx)(s.td,{children:"Text displayed on the button"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Button Code"}),(0,t.jsx)(s.td,{children:"Javascript code to execute when the button is pressed"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Start Collect' 'api.cmd(\"INST COLLECT with TYPE NORMAL, DURATION 5\")'\nBUTTON 'Run Checks' 'runScript(\"INST/procedures/checks.rb\")'\n# More complex example with background checkbox and env vars\nNAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb\nNAMED_WIDGET BG CHECKBUTTON 'Background'\nBUTTON 'Run Script' \"var script=screen.getNamedWidget('SCRIPTNAME').text();\" \\\n # Set an environment variable to be used by the script as ENV['TYPE']\n \"var env = {}; env['TYPE'] = 'TEST';\" \\\n \"runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)\"\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"BUTTON",src:d(1367).A+"",width:"382",height:"502"})}),"\n",(0,t.jsx)(s.h3,{id:"checkbutton",children:"CHECKBUTTON"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a check box"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Checkbox Text"}),(0,t.jsx)(s.td,{children:"Text displayed next to the checkbox"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks'\nBUTTON 'Send' 'screen.getNamedWidget(\"CHECK\").checked() ? ' \\\n 'api.cmd_no_hazardous_check(\"INST CLEAR\") : api.cmd(\"INST CLEAR\")'\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CHECKBUTTON",src:d(3487).A+"",width:"468",height:"248"})}),"\n",(0,t.jsx)(s.h3,{id:"combobox",children:"COMBOBOX"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a drop down list of text items"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Option Text 1"}),(0,t.jsx)(s.td,{children:"Text to display in the selection drop down"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Option Text n"}),(0,t.jsx)(s.td,{children:"Text to display in the selection drop down"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Start Collect' 'var type = screen.getNamedWidget(\"COLLECT_TYPE\").text();' +\n 'api.cmd(\"INST COLLECT with TYPE \"+type+\", DURATION 10.0\")'\nNAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"COMBOBOX",src:d(3586).A+"",width:"386",height:"268"})}),"\n",(0,t.jsx)(s.h3,{id:"date",children:"DATE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a date picker"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Date label"}),(0,t.jsx)(s.td,{children:"Text to label the data selection ('Date' by default)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Alert Date' 'var date = screen.getNamedWidget(\"DATE\").text();' +\n 'alert(\"Date:\"+date)'\nNAMED_WIDGET DATE DATE\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"DATE",src:d(1671).A+"",width:"372",height:"286"})}),"\n",(0,t.jsx)(s.h3,{id:"radiogroup",children:"RADIOGROUP"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Creates a group of RADIOBUTTONs"})}),"\n",(0,t.jsx)(s.p,{children:"RADIOBUTTONs must be part of a group to enable selection logic"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Initial selected button"}),(0,t.jsx)(s.td,{children:"Selects a radio button at initialization (0-based)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.h3,{id:"radiobutton",children:"RADIOBUTTON"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a radio button and text"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. It must be contained by a RADIOGROUP to enable typical selection of a single RADIOBUTTON."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to display next to the radio button"}),(0,t.jsx)(s.td,{children:"True"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index\n RADIOBUTTON 'Abort'\n RADIOBUTTON 'Clear'\nEND\nBUTTON 'Send' \"screen.getNamedWidget('GROUP').selected() === 0 ? \" +\n \"api.cmd('INST ABORT') : api.cmd('INST CLEAR')\"\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"RADIOBUTTON",src:d(8698).A+"",width:"364",height:"276"})}),"\n",(0,t.jsx)(s.h3,{id:"textfield",children:"TEXTFIELD"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a rectangular box where the user can enter text"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Characters"}),(0,t.jsx)(s.td,{children:"Width of the text field in characters (default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Default text to put in the text field (default is blank)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"\nBUTTON \'Start Collect\' \'var dur = screen.getNamedWidget("DURATION").text();\' +\n \'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")\'\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TEXTFIELD",src:d(672).A+"",width:"370",height:"238"})}),"\n",(0,t.jsx)(s.h3,{id:"time",children:"TIME"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays a time picker"})}),"\n",(0,t.jsx)(s.p,{children:"Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Time label"}),(0,t.jsx)(s.td,{children:"Text to label the time selection ('Time' by default)"}),(0,t.jsx)(s.td,{children:"False"})]})})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"BUTTON 'Alert Time' 'var time = screen.getNamedWidget(\"TIME\").text();' +\n 'alert(\"Time:\"+time)'\nNAMED_WIDGET TIME TIME\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"TIME",src:d(1528).A+"",width:"366",height:"272"})}),"\n",(0,t.jsx)(s.h2,{id:"canvas-widgets",children:"Canvas Widgets"}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsx)(s.p,{children:"Canvas Widgets are used to draw custom displays into telemetry screens. The canvas coordinate frame places (0,0) in the upper-left corner of the canvas."}),"\n",(0,t.jsx)(s.h3,{id:"canvas",children:"CANVAS"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Layout widget for the other canvas widgets"})}),"\n",(0,t.jsx)(s.p,{children:"All canvas widgets must be enclosed within a CANVAS widget."}),"\n",(0,t.jsx)(s.admonition,{type:"warning",children:(0,t.jsx)(s.p,{children:"The canvas coordinate frame places (0,0) in the upper-left corner of the canvas."})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Height"}),(0,t.jsx)(s.td,{children:"Height of the canvas"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvaslabel",children:"CANVASLABEL"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws text onto the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Text"}),(0,t.jsx)(s.td,{children:"Text to draw onto the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Font Size"}),(0,t.jsx)(s.td,{children:"Font size of the text (Default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the text"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'CANVAS 100 100\n CANVASLABEL 5 34 "Label1" 24 red\n CANVASLABEL 5 70 "Label2" 18 blue\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLABEL",src:d(3181).A+"",width:"368",height:"278"})}),"\n",(0,t.jsx)(s.h3,{id:"canvaslabelvalue",children:"CANVASLABELVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws the text value of a telemetry item onto the canvas in an optional frame"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the text on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Font Size"}),(0,t.jsx)(s.td,{children:"Font size of the text (Default = 12)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the text"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 200 100\n CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red\n CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLABELVALUE",src:d(5434).A+"",width:"436",height:"276"})}),"\n",(0,t.jsx)(s.h3,{id:"canvasimage",children:"CANVASIMAGE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an image on the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image filename"}),(0,t.jsx)(s.td,{children:"Name of a image file. The file must be in the plugin's targets/TARGET/public directory."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'CANVAS 250 430\n CANVASIMAGE "satellite.png" 10 10 200 200\n SETTING SCREEN INST HS\n CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASIMAGE",src:d(9136).A+"",width:"536",height:"948"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to CANVASIMAGE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"screen-1",children:"SCREEN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Open another screen when clicked"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"Name of the target"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen name"}),(0,t.jsx)(s.td,{children:"Name of the screen"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvasimagevalue",children:"CANVASIMAGEVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Displays an image on the canvas that changes with a telemetry value"})}),"\n",(0,t.jsx)(s.p,{children:'Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example.'}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Default image filename"}),(0,t.jsx)(s.td,{children:"The default image to display. The file must be in the targets/TARGET/public directory."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image width"}),(0,t.jsx)(s.td,{children:"Width of the image (default is 100%)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image height"}),(0,t.jsx)(s.td,{children:"Height of the image (default is 100%)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:'CANVAS 230 230\n CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180\n SETTING IMAGE CONNECTED "ground_on.png" 10 10\n SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10\n SETTING SCREEN INST HS\nEND\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASIMAGEVALUE",src:d(5873).A+"",width:"498",height:"546"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to CANVASIMAGEVALUE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"image",children:"IMAGE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Map an image to a state or value"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Image filename"}),(0,t.jsx)(s.td,{children:"Image to display. The file must be in the targets/TARGET/public directory."}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the upper-left corner of the image on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h4,{id:"screen-2",children:"SCREEN"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Open another screen when clicked"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"Name of the target"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Screen name"}),(0,t.jsx)(s.td,{children:"Name of the screen"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvasline",children:"CANVASLINE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws a line onto the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start X Position"}),(0,t.jsx)(s.td,{children:"X position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End X Position"}),(0,t.jsx)(s.td,{children:"X position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the line"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the line in pixels (default = 1)"}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 100 50\n CANVASLINE 5 5 95 5\n CANVASLINE 5 5 5 45 green 2\n CANVASLINE 95 5 95 45 blue 3\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLINE",src:d(8809).A+"",width:"376",height:"180"})}),"\n",(0,t.jsx)(s.h3,{id:"canvaslinevalue",children:"CANVASLINEVALUE"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws a color changing line onto the canvas"})}),"\n",(0,t.jsx)(s.p,{children:"The line is represented by one of two colors based on the value of the associated telemetry item"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Target name"}),(0,t.jsx)(s.td,{children:"The target name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Packet name"}),(0,t.jsx)(s.td,{children:"The packet name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Item name"}),(0,t.jsx)(s.td,{children:"The item name"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start X Position"}),(0,t.jsx)(s.td,{children:"X position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Start Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the start of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End X Position"}),(0,t.jsx)(s.td,{children:"X position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"End Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the end of the line on the canvas"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Width"}),(0,t.jsx)(s.td,{children:"Width of the line in pixels (default = 3)"}),(0,t.jsx)(s.td,{children:"False"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value type"}),(0,t.jsxs)(s.td,{children:["The type of the value to display. Default is CONVERTED",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"Valid Values: ",(0,t.jsx)("span",{class:"values",children:"RAW, CONVERTED, FORMATTED, WITH_UNITS"})]}),(0,t.jsx)(s.td,{children:"False"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 120 50\n CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black\n CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW\n SETTING VALUE_EQ 1 GREEN\n SETTING VALUE_EQ 0 RED\n CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45\n SETTING VALUE_EQ CONNECTED GREEN\n SETTING VALUE_EQ UNAVAILABLE RED\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASLINEVALUE",src:d(5630).A+"",width:"370",height:"184"})}),"\n",(0,t.jsx)(s.p,{children:"The following settings apply to CANVASLINEVALUE. They are applied using the SETTING keyword."}),"\n",(0,t.jsx)(s.h4,{id:"value_eq",children:"VALUE_EQ"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)("div",{class:"right",children:"(Since 5.5.1)"}),(0,t.jsx)(s.strong,{children:"Map a value to a color"})]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Value"}),(0,t.jsx)(s.td,{children:"State or value"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the line"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.h3,{id:"canvasdot",children:"CANVASDOT"}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Draws a dot onto the canvas"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Parameter"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{children:"Required"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"X Position"}),(0,t.jsx)(s.td,{children:"X position of the dot"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Y Position"}),(0,t.jsx)(s.td,{children:"Y position of the dot"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Color"}),(0,t.jsx)(s.td,{children:"Color of the dot"}),(0,t.jsx)(s.td,{children:"True"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"Radius"}),(0,t.jsx)(s.td,{children:"Radius of the dot in pixels"}),(0,t.jsx)(s.td,{children:"True"})]})]})]}),"\n",(0,t.jsx)(s.p,{children:"Example Usage:"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"CANVAS 50 50\n CANVASDOT 10 15 BLUE 5\nEND\n"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.img,{alt:"CANVASDOT",src:d(8498).A+"",width:"374",height:"182"})}),"\n",(0,t.jsx)(s.h2,{id:"example-file",children:"Example File"}),"\n",(0,t.jsx)(s.p,{children:"Example File: TARGET/myscreen.txt"}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-ruby",children:"SCREEN AUTO AUTO 0.5\nVERTICAL\n TITLE \"<%= target_name %> Commanding Examples\"\n LABELVALUE INST HEALTH_STATUS COLLECTS\n LABELVALUE INST HEALTH_STATUS COLLECT_TYPE\n LABELVALUE INST HEALTH_STATUS DURATION\n VERTICALBOX \"Send Collect Command:\"\n HORIZONTAL\n LABEL \"Type: \"\n NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL\n END\n HORIZONTAL\n LABEL \" Duration: \"\n NAMED_WIDGET DURATION TEXTFIELD 12 \"10.0\"\n END\n BUTTON 'Start Collect' \"api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())\"\n END\n SETTING BACKCOLOR 163 185 163\n VERTICALBOX \"Parameter-less Commands:\"\n NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index\n RADIOBUTTON 'Abort'\n RADIOBUTTON 'Clear'\n END\n NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED\n BUTTON 'Send' \"screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))\"\n END\n SETTING BACKCOLOR 163 185 163\nEND\n"})})]})}function x(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},9788:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/array-c0c541246cb3f9e355acc5c510649c29116ce4d6eb8864b9ace48e9958b36421.png"},4877:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/backcolor-39ca0e2a25bd98fe1c9e067f026f3a719a760d3f14ccb404e2da3a0af4235760.png"},4144:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/block-14583c7d26c1a1c6553435d57015bc5282426f7aa176804867de223009a8d4d7.png"},624:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/bordercolor-a3ac15f24f91c910fcc9c8bd195232205ec44da0b428b11b71108687ce6316d3.png"},1367:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/button-3f6fd69518f4b2c60b15605ca607cda8b596d4d5e804b867f09f750a47b6cbad.png"},8498:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/canvasdot-d634bed1905d13b0da41200e62781cea6e012b5d68fc914f4c11f512c9c4f7fd.png"},9136:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/canvasimage-6f6f83dc6d777fdff0b820287a96ad171a475fda2896c0a3b678b14984e496fd.png"},5873:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/canvasimagevalue-8c835310f99cebbb15ad34632c77370cf4cc9b95535040fa4723df8baedb5b57.png"},3181:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/canvaslabel-68ee99da9ef15924a2b5b41c60ba7de47382d036eece57574411839ff5ec14e4.png"},5434:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/canvaslabelvalue-43254b6647e626939e79ec7e0940e921582039af006e5024c952881ba196b165.png"},8809:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/canvasline-c5120da84530d4a60a04d40d5565daede656639808d1a456f430e9404a2d5bad.png"},5630:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/canvaslinevalue-5540d10997f723fd09b269b75997452622a3c4333ed4f25628747c1212699255.png"},3487:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/checkbutton-23b2149f6025a4bb1229d115254c8e1277166f911c1de5e1922ff5efc9e6fcd7.png"},3586:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/combobox-6c8fa241aa7c5ccf31a42a2373dbd4f6f66d9a063e98ba111d5472b5c8e21590.png"},1671:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/date-d104f822ef7a1b99ade0a334e2e34c27fc6b1d087ed267f13280623a943113ce.png"},467:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/formatvalue-8e2ddb6cec177fde1846d333d70168479a3bf67dd2b293764f938726b9e7cdf8.png"},3634:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/height-67268e562da2f9b2d0b9adc38d8fb2ba629504b09d798d8c26be9cfbfdad672a.png"},2835:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/horizontal-11de51b6fc8baf057ca4f38a7f54a5302b58f30099331c22a074f012e53497aa.png"},6136:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/horizontalbox-ddf82f64de700286a742a71e0c1adebbc7e9822a0dff41139f41bc476e4fc4ce.png"},9933:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/horizontalline-0805762eadcc125ed6584a29a60e7cf8e2d76d13c6243e18eecbaba7a3803128.png"},6179:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/iframe-30d5a4104336b84d18ba538d668978a7986679431a7fe1fd0e3179fea08c074f.png"},3862:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/imageviewer-6149159e29a35cd6694926b344836ce034ce17cc019537028a80d95460eec405.png"},9809:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/label-25a3052a497d0db7ebf84c788baedcd01d34f4b423aceee53d6d83639a128e82.png"},8566:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/labelled-b8d0f0a157f48e1fa98511f9177f962e69d1e0e8c24b37cf9f355671f9d13ab8.png"},7137:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/labelprogressbar-c3412db92b2f4e6af20233b085ee20915414d6c4da371398a3e8f36b84971cc7.png"},4528:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/labelsparkline-5985a0f034a5d2fb54b040612178ac9f0d5476eb76ca7e04cacc2618a9970c69.png"},7510:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/labelvalue-db97724272df4815b4ecc397974f91a62c31108b98ef0657716c670ca8128051.png"},4453:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/labelvaluedesc-2e174a9f3443ba971683dea9a33f8aa66d0248fb92a3aff41ec26b7424b5e68c.png"},6e3:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/labelvaluelimitscolumn-47664affa9d88150ce257e90d32c61b314d7f0b6aa6da4f5e49152be2cce4ef7.png"},6536:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/labelvaluerangebar-641eba160b8ef7872557584de92f046d9e4411fae3280781f9b049265cc6dd52.png"},5596:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/led-d333a6c7e8b1bad13b7775142c74f94b1829ddedd38814d606b2d00e76707751.png"},7180:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/limitsbar-4f2758f846f6f8a1add81aeaf3b58e071792a6d2ccae9eb504e9c07ab8f8dae1.png"},1630:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/limitscolor-7f8e24e4f27f476c3b4c57393ab797268b86aa8ad8b6e7b83d72dd5bf3ca7952.png"},5949:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/limitscolumn-743800180e9558c86a4f5c5d949e2b8355420a98c85ef98a3320b09defa21fe6.png"},29:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/linegraph-dc3cca59601beb3ea551bbd05e4e09b6cfabd1a7cbc93b757a7d4b22c478a75b.png"},9289:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/margin-4247b51c2c305cb961d08a807f30883b7fc6d9e3316c18174b86afe2356106dd.png"},4674:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/matrixbycolumns-74a67f236a97fffbdf7251fc98da2302a92df20ad16793a1617bc6f77380c9f6.png"},5541:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/named_widget-37362db8e310e5639be849d729fd637677f72330d676da4cd6baafc4b961331c.png"},1188:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/padding-e8ceea8ec79def3b14d186971854c44883675d974409366b77c586eedd85025c.png"},4647:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/progressbar-cc1095369de0d483c4a9b07ad3a76f9e966990b2aa68b2bc8177d7130ed382a7.png"},8698:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/radiobutton-9151f7cb0dae5120e51e05b5575981c143e19f350e84c7e190d3dd78aa80fae8.png"},2197:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/rangebar-ceae5a30609ab12625e29fd479e88fb3ba16eb12879976edc807da87547a275d.png"},4361:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/raw-63c1dd793f4a734e7d512bf4c0c3722831c38d5392a1a1b0cb77bbef4d16b96b.png"},5217:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/rollup-ff0cecc0daa8dbdc84bc2a81efe4625b88f36a699368ada18e70c8d3d0c63c06.png"},2360:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/scrollwindow-f356c8c9d26aebc50ab371f1056824797d5c583bde6c6a5493019ea9f12571ca.png"},7207:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/signal-0e5def1ecb42b4688c7c6ab616ae87ef05c8b9afb5b1a27077e6cc9127721668.png"},4159:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/spacer-055e206bed0b13cba778071458407f184a690a8f2d5ff9cd9789f925c60c4886.png"},6638:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/sparkline-c5f8ecd361eef8172a9dea7ff70f3c1b056a3a00b525459429ead67d00c0c0e5.png"},6129:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/subsetting-ef46d38a0ba47b2fd0ad48422ccc7343a6ff88901c8a9675a27c13c9313e222b.png"},7323:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/tabitem-58fb7c6faa16ac04a0561a0315515852ad43ebdfbf709bd65b211af29f2f85f1.png"},1547:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/textbox-9e4a1eb37cf68aabf92e326ff248d098a70295ffe6f7cf2e002a5dbff9ff0ef5.png"},8817:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/textcolor-e6d5bb0fba3786e4da7dd5e739306500ddc5fc6a4ead8e212bbe99a80433596c.png"},672:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/textfield-931f510c2160ed8e5475bee78fa4c6cebd67d9195d92a22600217824ff55943d.png"},1528:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/time-d77e3f94633eb1008d5a382054940052070f5a4cd385f4a9203c0f60d406d7c6.png"},449:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/title-5817bee0aa4702b4fd22c81a25e8036c1afc88a465a68d79707b2d58fb48789a.png"},816:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/value-825b95d71be2c565e1d3fa5c57ec94be1bbb6e0a1e8166abb8617d5f50a93d39.png"},49:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/valuelimitsbar-fd7637e8b4287430ab21a888acd1d10276438186bad6d204a4081c1b0423950f.png"},74:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/valuelimitscolumn-aecfce9016c27e500eb506675bd372f77df1d671fd8fb0f30debe18c5cfee46c.png"},4726:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/valuerangebar-3a860f1fb4af1beeeb846c389c60f08eb633cc15cbb6f1c09509b5f5c0116d56.png"},3981:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/vertical-d4ea61f78a2cfc2cacc725f0a5dea194ab75278f0cb676e4a749f55d58a632f3.png"},313:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/verticalbox-28fdba6f2c051a499b7f08a1be97edf0297ac9a9ce0dba44f02a7fe1c2616d91.png"},6279:(e,s,d)=>{d.d(s,{A:()=>n});const n=d.p+"assets/images/width-1a69354459761ea23e4824436ef364124236f9bb96d46a28c97d8ff20d07ab81.png"},8453:(e,s,d)=>{d.d(s,{R:()=>r,x:()=>l});var n=d(6540);const t={},i=n.createContext(t);function r(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/97535711.20deb6fa.js b/docs/assets/js/97535711.20deb6fa.js new file mode 100644 index 0000000000..619f5ba629 --- /dev/null +++ b/docs/assets/js/97535711.20deb6fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3824"],{7319:function(e,n,s){s.r(n),s.d(n,{metadata:()=>t,contentTitle:()=>l,default:()=>h,assets:()=>c,toc:()=>a,frontMatter:()=>o});var t=JSON.parse('{"id":"development/testing","title":"Testing COSMOS","description":"Running the Playwright integration tests and unit tests","source":"@site/docs/development/testing.md","sourceDirName":"development","slug":"/development/testing","permalink":"/docs/development/testing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/testing.md","tags":[],"version":"current","frontMatter":{"title":"Testing COSMOS","description":"Running the Playwright integration tests and unit tests","sidebar_custom_props":{"myEmoji":"\uD83D\uDCCB"}},"sidebar":"defaultSidebar","previous":{"title":"Streaming API","permalink":"/docs/development/streaming-api"},"next":{"title":"Meta","permalink":"/docs/meta"}}'),i=s("5893"),r=s("65");let o={title:"Testing COSMOS",description:"Running the Playwright integration tests and unit tests",sidebar_custom_props:{myEmoji:"\uD83D\uDCCB"}},l=void 0,c={},a=[{value:"Playwright",id:"playwright",level:2},{value:"Prerequesits",id:"prerequesits",level:3},{value:"Playwright Testing",id:"playwright-testing",level:3},{value:"Ruby Unit Tests",id:"ruby-unit-tests",level:2},{value:"Python Unit Tests",id:"python-unit-tests",level:2}];function d(e){let n={code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"playwright",children:"Playwright"}),"\n",(0,i.jsx)(n.h3,{id:"prerequesits",children:"Prerequesits"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Install Yarn"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm install --global yarn\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Clone the COSMOS Playwright repo"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/OpenC3/cosmos-playwright\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Install Playwright and dependencies"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn install\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"playwright-testing",children:"Playwright Testing"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start COSMOS"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos % openc3.sh start\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:'Open COSMOS in your browser. At the login screen, set the password to "password".'}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Run tests (Note the --headed option visually displays tests, leave it off to run in the background)"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn playwright test --project=chromium --headed\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"[Optional]"})," Fix istanbul/nyc coverage source lookups (use ",(0,i.jsx)(n.code,{children:"fixwindows"})," if not on Linux)."]}),"\n",(0,i.jsx)(n.p,{children:"Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn fixlinux\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Generate code coverage"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn coverage\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Code coverage reports can be viewed at ",(0,i.jsx)(n.code,{children:"openc3-playwright/coverage/index.html"})]}),"\n",(0,i.jsx)(n.h2,{id:"ruby-unit-tests",children:"Ruby Unit Tests"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Navigate to ",(0,i.jsx)(n.strong,{children:"cosmos/openc3"})," folder. Run the command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos/openc3 % rake build\ncosmos/openc3 % bundle exec rspec\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Code coverage reports can be found at ",(0,i.jsx)(n.code,{children:"cosmos/openc3/coverage/index.html"})]}),"\n",(0,i.jsx)(n.h2,{id:"python-unit-tests",children:"Python Unit Tests"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Navigate to ",(0,i.jsx)(n.strong,{children:"cosmos/openc3/python"})," folder. Run the command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos/openc3/python % python -m pip install -r requirements-dev.txt\ncosmos/openc3/python % python -m pip install -r requirements.txt\ncosmos/openc3/python % coverage run -m pytest\ncosmos/openc3/python % coverage html\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Code coverage reports can be found at ",(0,i.jsx)(n.code,{children:"cosmos/openc3/python/coverage/index.html"})]})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},65:function(e,n,s){s.d(n,{Z:function(){return l},a:function(){return o}});var t=s(7294);let i={},r=t.createContext(i);function o(e){let n=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/97535711.f8410007.js b/docs/assets/js/97535711.f8410007.js deleted file mode 100644 index 211bdc2585..0000000000 --- a/docs/assets/js/97535711.f8410007.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[437],{8095:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"development/testing","title":"Testing COSMOS","description":"Running the Playwright integration tests and unit tests","source":"@site/docs/development/testing.md","sourceDirName":"development","slug":"/development/testing","permalink":"/docs/development/testing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/testing.md","tags":[],"version":"current","frontMatter":{"title":"Testing COSMOS","description":"Running the Playwright integration tests and unit tests","sidebar_custom_props":{"myEmoji":"\ud83d\udccb"}},"sidebar":"defaultSidebar","previous":{"title":"Streaming API","permalink":"/docs/development/streaming-api"},"next":{"title":"Meta","permalink":"/docs/meta"}}');var i=s(4848),o=s(8453);const r={title:"Testing COSMOS",description:"Running the Playwright integration tests and unit tests",sidebar_custom_props:{myEmoji:"\ud83d\udccb"}},l=void 0,c={},a=[{value:"Playwright",id:"playwright",level:2},{value:"Prerequesits",id:"prerequesits",level:3},{value:"Playwright Testing",id:"playwright-testing",level:3},{value:"Ruby Unit Tests",id:"ruby-unit-tests",level:2},{value:"Python Unit Tests",id:"python-unit-tests",level:2}];function d(e){const n={code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"playwright",children:"Playwright"}),"\n",(0,i.jsx)(n.h3,{id:"prerequesits",children:"Prerequesits"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Install Yarn"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm install --global yarn\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Clone the COSMOS Playwright repo"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/OpenC3/cosmos-playwright\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Install Playwright and dependencies"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn install\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"playwright-testing",children:"Playwright Testing"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Start COSMOS"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos % openc3.sh start\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:'Open COSMOS in your browser. At the login screen, set the password to "password".'}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Run tests (Note the --headed option visually displays tests, leave it off to run in the background)"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn playwright test --project=chromium --headed\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"[Optional]"})," Fix istanbul/nyc coverage source lookups (use ",(0,i.jsx)(n.code,{children:"fixwindows"})," if not on Linux)."]}),"\n",(0,i.jsx)(n.p,{children:"Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn fixlinux\n"})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Generate code coverage"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos-playwright % yarn coverage\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Code coverage reports can be viewed at ",(0,i.jsx)(n.code,{children:"openc3-playwright/coverage/index.html"})]}),"\n",(0,i.jsx)(n.h2,{id:"ruby-unit-tests",children:"Ruby Unit Tests"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Navigate to ",(0,i.jsx)(n.strong,{children:"cosmos/openc3"})," folder. Run the command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos/openc3 % rake build\ncosmos/openc3 % bundle exec rspec\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Code coverage reports can be found at ",(0,i.jsx)(n.code,{children:"cosmos/openc3/coverage/index.html"})]}),"\n",(0,i.jsx)(n.h2,{id:"python-unit-tests",children:"Python Unit Tests"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Navigate to ",(0,i.jsx)(n.strong,{children:"cosmos/openc3/python"})," folder. Run the command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cosmos/openc3/python % python -m pip install -r requirements-dev.txt\ncosmos/openc3/python % python -m pip install -r requirements.txt\ncosmos/openc3/python % coverage run -m pytest\ncosmos/openc3/python % coverage html\n"})}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Code coverage reports can be found at ",(0,i.jsx)(n.code,{children:"cosmos/openc3/python/coverage/index.html"})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var t=s(6540);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/99581c43.66e9b026.js b/docs/assets/js/99581c43.66e9b026.js new file mode 100644 index 0000000000..189767a3de --- /dev/null +++ b/docs/assets/js/99581c43.66e9b026.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["1615"],{8749:function(e,t,i){i.r(t),i.d(t,{metadata:()=>s,contentTitle:()=>d,default:()=>u,assets:()=>c,toc:()=>r,frontMatter:()=>l});var s=JSON.parse('{"id":"guides/custom-widgets","title":"Custom Widgets","description":"How to build custom widgets for use in Telemetry Viewer","source":"@site/docs/guides/custom-widgets.md","sourceDirName":"guides","slug":"/guides/custom-widgets","permalink":"/docs/guides/custom-widgets","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/custom-widgets.md","tags":[],"version":"current","frontMatter":{"title":"Custom Widgets","description":"How to build custom widgets for use in Telemetry Viewer","sidebar_custom_props":{"myEmoji":"\uD83D\uDD28"}},"sidebar":"defaultSidebar","previous":{"title":"COSMOS and NASA cFS","permalink":"/docs/guides/cfs"},"next":{"title":"Little Endian Bitfields","permalink":"/docs/guides/little-endian-bitfields"}}'),o=i("5893"),n=i("65");let l={title:"Custom Widgets",description:"How to build custom widgets for use in Telemetry Viewer",sidebar_custom_props:{myEmoji:"\uD83D\uDD28"}},d=void 0,c={},r=[{value:"Custom Widgets",id:"custom-widgets",level:2},{value:"Helloworld Widget",id:"helloworld-widget",level:3}];function a(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["COSMOS allows you to build custom widgets which can be deployed with your ",(0,o.jsx)(t.a,{href:"/docs/configuration/plugins",children:"plugin"})," and used in ",(0,o.jsx)(t.a,{href:"/docs/tools/tlm-viewer",children:"Telemetry Viewer"}),". Building custom widgets can utilize any javascript frameworks but since COSMOS is written with Vue.js, we will use that framework in this tutorial. Please see the ",(0,o.jsx)(t.a,{href:"../getting-started/generators#widget-generator",children:"Widget Generator"})," guide for information about generating the scaffolding for a custom widget."]}),"\n",(0,o.jsx)(t.h2,{id:"custom-widgets",children:"Custom Widgets"}),"\n",(0,o.jsxs)(t.p,{children:["We're basically going to follow the COSMOS ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo",children:"Demo"})," and explain how that custom widget was created."]}),"\n",(0,o.jsxs)(t.p,{children:["If you look at the bottom of the Demo's ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/plugin.txt",children:"plugin.txt"})," file you'll see we declare the widgets:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:"WIDGET BIG\nWIDGET HELLOWORLD\n"})}),"\n",(0,o.jsxs)(t.p,{children:["When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at ",(0,o.jsx)(t.code,{children:"tools/widgets/BigWidget/BigWidget.umd.min.js"}),". Similarly it looks for HELLOWORLD at ",(0,o.jsx)(t.code,{children:"tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js"}),". These directories and file names may seem mysterious but it's all about how the widgets get built."]}),"\n",(0,o.jsx)(t.h3,{id:"helloworld-widget",children:"Helloworld Widget"}),"\n",(0,o.jsxs)(t.p,{children:["The Helloworld Widget source code is found in the plugin's src directory and is called ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/src/HelloworldWidget.vue",children:"HelloworldWidget.vue"}),". The basic structure is as follows:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-vue",children:'<template>\n \x3c!-- Implement widget here --\x3e\n</template>\n\n<script>\nimport Widget from "@openc3/tool-common/src/components/widgets/Widget";\nexport default {\n mixins: [Widget],\n data() {\n return {\n // Reactive data items\n };\n },\n};\n<\/script>\n<style scoped>\n/* widget specific style */\n</style>\n'})}),"\n",(0,o.jsx)(t.admonition,{title:"Vue & Vuetify",type:"info",children:(0,o.jsxs)(t.p,{children:["For more information about how the COSMOS frontend is built (including all the Widgets) please check out ",(0,o.jsx)(t.a,{href:"https://vuejs.org",children:"Vue.js"})," and ",(0,o.jsx)(t.a,{href:"https://vuetifyjs.com",children:"Vuetify"}),"."]})}),"\n",(0,o.jsxs)(t.p,{children:["To build this custom widget we changed the Demo ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/Rakefile",children:"Rakefile"})," to call ",(0,o.jsx)(t.code,{children:"yarn run build"})," when the plugin is built. ",(0,o.jsx)(t.code,{children:"yarn run XXX"})," looks for 'scripts' to run in the ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json",children:"package.json"})," file. If we open package.json we find the following:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:' "scripts": {\n "build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget"\n },\n'})}),"\n",(0,o.jsxs)(t.p,{children:["This uses the ",(0,o.jsx)(t.code,{children:"vue-cli-service"})," to build the code found at ",(0,o.jsx)(t.code,{children:"src/HelloworldWidget.vue"})," and formats as ",(0,o.jsx)(t.code,{children:"umd-min"})," and puts it in the ",(0,o.jsx)(t.code,{children:"tools/widgets/HelloworldWidget"})," directory. So this is why the plugin looks for the plugin at ",(0,o.jsx)(t.code,{children:"tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js"}),". Click ",(0,o.jsx)(t.a,{href:"https://cli.vuejs.org/guide/cli-service.html#vue-cli-service-build",children:"here"})," for the ",(0,o.jsx)(t.code,{children:"vue-cli-service build"})," documentation."]}),"\n",(0,o.jsxs)(t.p,{children:["If you look at the Demo plugin's ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/simple.txt",children:"simple.txt"})," screen you'll see we're using the widgets:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:"SCREEN AUTO AUTO 0.5\nLABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT\nHELLOWORLD\nBIG <%= target_name %> HEALTH_STATUS TEMP1\n"})}),"\n",(0,o.jsx)(t.p,{children:"Opening this screen in Telemetry Viewer results in the following:"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Simple Screen",src:i(1539).Z+"",width:"681",height:"210"})}),"\n",(0,o.jsx)(t.p,{children:"While this is a simple example the possibilities with custom widgets are limitless!"})]})}function u(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},1539:function(e,t,i){i.d(t,{Z:function(){return s}});let s=i.p+"assets/images/simple_screen-e3de1ad836c0661d73a0ba970f991c64df8ecc7e23f9e944b6508a9a43fbc33c.png"},65:function(e,t,i){i.d(t,{Z:function(){return d},a:function(){return l}});var s=i(7294);let o={},n=s.createContext(o);function l(e){let t=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/99581c43.ca540326.js b/docs/assets/js/99581c43.ca540326.js deleted file mode 100644 index 68040e9fb7..0000000000 --- a/docs/assets/js/99581c43.ca540326.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[413],{7233:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>d,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>r});const s=JSON.parse('{"id":"guides/custom-widgets","title":"Custom Widgets","description":"How to build custom widgets for use in Telemetry Viewer","source":"@site/docs/guides/custom-widgets.md","sourceDirName":"guides","slug":"/guides/custom-widgets","permalink":"/docs/guides/custom-widgets","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/custom-widgets.md","tags":[],"version":"current","frontMatter":{"title":"Custom Widgets","description":"How to build custom widgets for use in Telemetry Viewer","sidebar_custom_props":{"myEmoji":"\ud83d\udd28"}},"sidebar":"defaultSidebar","previous":{"title":"COSMOS and NASA cFS","permalink":"/docs/guides/cfs"},"next":{"title":"Little Endian Bitfields","permalink":"/docs/guides/little-endian-bitfields"}}');var o=t(4848),n=t(8453);const l={title:"Custom Widgets",description:"How to build custom widgets for use in Telemetry Viewer",sidebar_custom_props:{myEmoji:"\ud83d\udd28"}},d=void 0,c={},r=[{value:"Custom Widgets",id:"custom-widgets",level:2},{value:"Helloworld Widget",id:"helloworld-widget",level:3}];function a(e){const i={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(i.p,{children:["COSMOS allows you to build custom widgets which can be deployed with your ",(0,o.jsx)(i.a,{href:"/docs/configuration/plugins",children:"plugin"})," and used in ",(0,o.jsx)(i.a,{href:"/docs/tools/tlm-viewer",children:"Telemetry Viewer"}),". Building custom widgets can utilize any javascript frameworks but since COSMOS is written with Vue.js, we will use that framework in this tutorial. Please see the ",(0,o.jsx)(i.a,{href:"../getting-started/generators#widget-generator",children:"Widget Generator"})," guide for information about generating the scaffolding for a custom widget."]}),"\n",(0,o.jsx)(i.h2,{id:"custom-widgets",children:"Custom Widgets"}),"\n",(0,o.jsxs)(i.p,{children:["We're basically going to follow the COSMOS ",(0,o.jsx)(i.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo",children:"Demo"})," and explain how that custom widget was created."]}),"\n",(0,o.jsxs)(i.p,{children:["If you look at the bottom of the Demo's ",(0,o.jsx)(i.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/plugin.txt",children:"plugin.txt"})," file you'll see we declare the widgets:"]}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-ruby",children:"WIDGET BIG\nWIDGET HELLOWORLD\n"})}),"\n",(0,o.jsxs)(i.p,{children:["When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at ",(0,o.jsx)(i.code,{children:"tools/widgets/BigWidget/BigWidget.umd.min.js"}),". Similarly it looks for HELLOWORLD at ",(0,o.jsx)(i.code,{children:"tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js"}),". These directories and file names may seem mysterious but it's all about how the widgets get built."]}),"\n",(0,o.jsx)(i.h3,{id:"helloworld-widget",children:"Helloworld Widget"}),"\n",(0,o.jsxs)(i.p,{children:["The Helloworld Widget source code is found in the plugin's src directory and is called ",(0,o.jsx)(i.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/src/HelloworldWidget.vue",children:"HelloworldWidget.vue"}),". The basic structure is as follows:"]}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-vue",children:'<template>\n \x3c!-- Implement widget here --\x3e\n</template>\n\n<script>\nimport Widget from "@openc3/tool-common/src/components/widgets/Widget";\nexport default {\n mixins: [Widget],\n data() {\n return {\n // Reactive data items\n };\n },\n};\n<\/script>\n<style scoped>\n/* widget specific style */\n</style>\n'})}),"\n",(0,o.jsx)(i.admonition,{title:"Vue & Vuetify",type:"info",children:(0,o.jsxs)(i.p,{children:["For more information about how the COSMOS frontend is built (including all the Widgets) please check out ",(0,o.jsx)(i.a,{href:"https://vuejs.org",children:"Vue.js"})," and ",(0,o.jsx)(i.a,{href:"https://vuetifyjs.com",children:"Vuetify"}),"."]})}),"\n",(0,o.jsxs)(i.p,{children:["To build this custom widget we changed the Demo ",(0,o.jsx)(i.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/Rakefile",children:"Rakefile"})," to call ",(0,o.jsx)(i.code,{children:"yarn run build"})," when the plugin is built. ",(0,o.jsx)(i.code,{children:"yarn run XXX"})," looks for 'scripts' to run in the ",(0,o.jsx)(i.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json",children:"package.json"})," file. If we open package.json we find the following:"]}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-json",children:' "scripts": {\n "build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget"\n },\n'})}),"\n",(0,o.jsxs)(i.p,{children:["This uses the ",(0,o.jsx)(i.code,{children:"vue-cli-service"})," to build the code found at ",(0,o.jsx)(i.code,{children:"src/HelloworldWidget.vue"})," and formats as ",(0,o.jsx)(i.code,{children:"umd-min"})," and puts it in the ",(0,o.jsx)(i.code,{children:"tools/widgets/HelloworldWidget"})," directory. So this is why the plugin looks for the plugin at ",(0,o.jsx)(i.code,{children:"tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js"}),". Click ",(0,o.jsx)(i.a,{href:"https://cli.vuejs.org/guide/cli-service.html#vue-cli-service-build",children:"here"})," for the ",(0,o.jsx)(i.code,{children:"vue-cli-service build"})," documentation."]}),"\n",(0,o.jsxs)(i.p,{children:["If you look at the Demo plugin's ",(0,o.jsx)(i.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/simple.txt",children:"simple.txt"})," screen you'll see we're using the widgets:"]}),"\n",(0,o.jsx)(i.pre,{children:(0,o.jsx)(i.code,{className:"language-ruby",children:"SCREEN AUTO AUTO 0.5\nLABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT\nHELLOWORLD\nBIG <%= target_name %> HEALTH_STATUS TEMP1\n"})}),"\n",(0,o.jsx)(i.p,{children:"Opening this screen in Telemetry Viewer results in the following:"}),"\n",(0,o.jsx)(i.p,{children:(0,o.jsx)(i.img,{alt:"Simple Screen",src:t(8017).A+"",width:"681",height:"210"})}),"\n",(0,o.jsx)(i.p,{children:"While this is a simple example the possibilities with custom widgets are limitless!"})]})}function u(e={}){const{wrapper:i}={...(0,n.R)(),...e.components};return i?(0,o.jsx)(i,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},8017:(e,i,t)=>{t.d(i,{A:()=>s});const s=t.p+"assets/images/simple_screen-e3de1ad836c0661d73a0ba970f991c64df8ecc7e23f9e944b6508a9a43fbc33c.png"},8453:(e,i,t)=>{t.d(i,{R:()=>l,x:()=>d});var s=t(6540);const o={},n=s.createContext(o);function l(e){const i=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),s.createElement(n.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/9990.802ea41a.js b/docs/assets/js/9990.802ea41a.js new file mode 100644 index 0000000000..6968fef97c --- /dev/null +++ b/docs/assets/js/9990.802ea41a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9990"],{4802:function(c,n,e){e.d(n,{Z:function(){return o}});let o=e(1336)},7936:function(){}}]); \ No newline at end of file diff --git a/docs/assets/js/9d6e81d0.6b99d25d.js b/docs/assets/js/9d6e81d0.6b99d25d.js deleted file mode 100644 index feaa3ac4aa..0000000000 --- a/docs/assets/js/9d6e81d0.6b99d25d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5250],{6467:(e,t,n)=>{n.r(t),n.d(t,{default:()=>g});n(6540);var s=n(4164),r=n(8774),a=n(4586),i=n(7907);const o={features:"features_t9lD",featureSvg:"featureSvg_GfXr"};var c=n(4848);const d=[{title:"Easy to Configure",description:(0,c.jsx)(c.Fragment,{children:"OpenC3 COSMOS was designed from the ground up to be easy to configure. Simply define the messages needed to talk to your hardware (commands and telemetry), and you are ready to go!"})},{title:"Modern Architecture",description:(0,c.jsx)(c.Fragment,{children:"Built with a modern design, cloud native, and ready to scale. OpenC3 COSMOS has a microservice architecture built to scale, and with fully maintained and up-to-date dependencies."})},{title:"Pick Your Favorite Language",description:(0,c.jsx)(c.Fragment,{children:"OpenC3 COSMOS supports both Ruby and Python for scripting and connecting to targets. Frontend applications can be written in Vue, React, Angular, or Svelte. Whatever languages your team knows, we support."})}];function l(e){let{title:t,description:n}=e;return(0,c.jsx)("div",{className:(0,s.A)("col col--4"),children:(0,c.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,c.jsx)("h3",{children:t}),(0,c.jsx)("p",{children:n})]})})}function u(){return(0,c.jsx)("section",{className:o.features,children:(0,c.jsx)("div",{className:"container",children:(0,c.jsx)("div",{className:"row",children:d.map(((e,t)=>(0,c.jsx)(l,{...e},t)))})})})}const h={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};function m(){const{siteConfig:e}=(0,a.A)();return(0,c.jsx)("header",{className:(0,s.A)("hero hero--primary",h.heroBanner),children:(0,c.jsxs)("div",{className:"container",children:[(0,c.jsx)("img",{src:`${e.baseUrl}img/black_logo.svg`,width:"400px"}),(0,c.jsx)("h1",{className:"hero__title",children:e.title}),(0,c.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,c.jsx)("div",{className:h.buttons,children:(0,c.jsx)(r.A,{className:"button button--secondary button--lg",to:"/docs/getting-started",children:"Get Started"})})]})})}function g(){const{siteConfig:e}=(0,a.A)();return(0,c.jsxs)(i.A,{title:`Hello from ${e.title}`,description:"Description will go into a meta tag in <head />",children:[(0,c.jsx)(m,{}),(0,c.jsx)("main",{children:(0,c.jsx)(u,{})})]})}}}]); \ No newline at end of file diff --git a/docs/assets/js/9d6e81d0.eeb88dfd.js b/docs/assets/js/9d6e81d0.eeb88dfd.js new file mode 100644 index 0000000000..ea73f14d90 --- /dev/null +++ b/docs/assets/js/9d6e81d0.eeb88dfd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2278"],{104:function(e,t,n){n.r(t),n.d(t,{default:()=>g});var r=n("5893");n("7294");var s=n("7026"),a=n("3012"),i=n("2933"),c=n("6036");let o="features_t9lD",l=[{title:"Easy to Configure",description:(0,r.jsx)(r.Fragment,{children:"OpenC3 COSMOS was designed from the ground up to be easy to configure. Simply define the messages needed to talk to your hardware (commands and telemetry), and you are ready to go!"})},{title:"Modern Architecture",description:(0,r.jsx)(r.Fragment,{children:"Built with a modern design, cloud native, and ready to scale. OpenC3 COSMOS has a microservice architecture built to scale, and with fully maintained and up-to-date dependencies."})},{title:"Pick Your Favorite Language",description:(0,r.jsx)(r.Fragment,{children:"OpenC3 COSMOS supports both Ruby and Python for scripting and connecting to targets. Frontend applications can be written in Vue, React, Angular, or Svelte. Whatever languages your team knows, we support."})}];function d(e){let{title:t,description:n}=e;return(0,r.jsx)("div",{className:(0,s.Z)("col col--4"),children:(0,r.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,r.jsx)("h3",{children:t}),(0,r.jsx)("p",{children:n})]})})}function h(){return(0,r.jsx)("section",{className:o,children:(0,r.jsx)("div",{className:"container",children:(0,r.jsx)("div",{className:"row",children:l.map((e,t)=>(0,r.jsx)(d,{...e},t))})})})}let u="heroBanner_qdFl",m="buttons_AeoN";function p(){let{siteConfig:e}=(0,i.Z)();return(0,r.jsx)("header",{className:(0,s.Z)("hero hero--primary",u),children:(0,r.jsxs)("div",{className:"container",children:[(0,r.jsx)("img",{src:`${e.baseUrl}img/black_logo.svg`,width:"400px"}),(0,r.jsx)("h1",{className:"hero__title",children:e.title}),(0,r.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,r.jsx)("div",{className:m,children:(0,r.jsx)(a.Z,{className:"button button--secondary button--lg",to:"/docs/getting-started",children:"Get Started"})})]})})}function g(){let{siteConfig:e}=(0,i.Z)();return(0,r.jsxs)(c.Z,{title:`Hello from ${e.title}`,description:"Description will go into a meta tag in <head />",children:[(0,r.jsx)(p,{}),(0,r.jsx)("main",{children:(0,r.jsx)(h,{})})]})}}}]); \ No newline at end of file diff --git a/docs/assets/js/9fb6059a.cb1d8ad1.js b/docs/assets/js/9fb6059a.9b51588e.js similarity index 81% rename from docs/assets/js/9fb6059a.cb1d8ad1.js rename to docs/assets/js/9fb6059a.9b51588e.js index e68b7144b9..3880086e52 100644 --- a/docs/assets/js/9fb6059a.cb1d8ad1.js +++ b/docs/assets/js/9fb6059a.9b51588e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[4725],{8842:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"privacy","title":"OpenC3, Inc. Privacy Policy","description":"OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR.","source":"@site/docs/privacy.md","sourceDirName":".","slug":"/privacy","permalink":"/docs/privacy","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/privacy.md","tags":[],"version":"current","frontMatter":{"title":"OpenC3, Inc. Privacy Policy"},"sidebar":"defaultSidebar","previous":{"title":"XTCE Support","permalink":"/docs/meta/xtce"}}');var n=t(4848),r=t(8453);const s={title:"OpenC3, Inc. Privacy Policy"},a=void 0,c={},l=[{value:"Our Commitment",id:"our-commitment",level:2},{value:"1. Notice",id:"1-notice",level:2},{value:"2. Usage",id:"2-usage",level:2},{value:"3. Consent",id:"3-consent",level:2},{value:"4. Access to your information",id:"4-access-to-your-information",level:2},{value:"5. Security of information",id:"5-security-of-information",level:2},{value:"6. Retention of information",id:"6-retention-of-information",level:2},{value:"7. EU and EEA Users\u2019 Rights",id:"7-eu-and-eea-users-rights",level:2},{value:"8. What we do with the Information you share",id:"8-what-we-do-with-the-information-you-share",level:2},{value:"9. How to opt-out",id:"9-how-to-opt-out",level:2},{value:"10. Does OpenC3 Inc's privacy policy apply to linked websites?",id:"10-does-openc3-incs-privacy-policy-apply-to-linked-websites",level:2},{value:"11. Changes to this policy",id:"11-changes-to-this-policy",level:2},{value:"12. Enforcement of policy",id:"12-enforcement-of-policy",level:2},{value:"13. Questions or comments",id:"13-questions-or-comments",level:2}];function d(e){const o={a:"a",h2:"h2",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR."}),"\n",(0,n.jsx)(o.h2,{id:"our-commitment",children:"Our Commitment"}),"\n",(0,n.jsx)(o.p,{children:"\u2022 Your information will not be shared, rented or sold to any third party.\n\u2022 We use state-of-the-art security measures to protect your information from unauthorized users.\n\u2022 We give you the possibility to control the information that you shared with us (opt-out)"}),"\n",(0,n.jsx)(o.p,{children:"OpenC3, Inc. is committed to processing data in accordance with its responsibilities under the GDPR.\nArticle 5 of the GDPR requires that personal data shall be:"}),"\n",(0,n.jsx)(o.p,{children:"a. processed lawfully, fairly and in a transparent manner in relation to individuals;"}),"\n",(0,n.jsx)(o.p,{children:"b. collected for specified, explicit and legitimate purposes and not further processed in a manner that is incompatible with those purposes; further processing for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes shall not be considered to be incompatible with the initial purposes;"}),"\n",(0,n.jsx)(o.p,{children:"c. adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed;"}),"\n",(0,n.jsx)(o.p,{children:"d. accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay;"}),"\n",(0,n.jsx)(o.p,{children:"e. kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and"}),"\n",(0,n.jsx)(o.p,{children:"f. processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.\u201d"}),"\n",(0,n.jsx)(o.h2,{id:"1-notice",children:"1. Notice"}),"\n",(0,n.jsx)(o.p,{children:'We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services.'}),"\n",(0,n.jsx)(o.h2,{id:"2-usage",children:"2. Usage"}),"\n",(0,n.jsx)(o.p,{children:"We use your personal information for the following purposes:\n\u2022 To provide you information that will allow you to use our services\n\u2022 To automatically customize your documents with your information\n\u2022 To alert you of software upgrades, updates, discounts or other services from OpenC3, Inc."}),"\n",(0,n.jsx)(o.p,{children:"We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers."}),"\n",(0,n.jsx)(o.p,{children:"We may also collect your name, language, currency, operating system, document searched and country information for a better experience with our products/services."}),"\n",(0,n.jsx)(o.p,{children:"When you place your order with us, we collect your email in order to communicate with you. We also collect your phone number in order to contact you in case these emails bounce back because of a typo in your email address and if we cannot figure out what the correct email address is."}),"\n",(0,n.jsx)(o.p,{children:"We also contact the phone number that is provided if we suspect that the cardholder\u2019s credit card information has been compromised, i.e used in a fraudulent way."}),"\n",(0,n.jsx)(o.p,{children:"We also use our clients\u2019 email in order to notify of the release of updated versions of the software, new services or promotional offers."}),"\n",(0,n.jsx)(o.h2,{id:"3-consent",children:"3. Consent"}),"\n",(0,n.jsx)(o.p,{children:"When you provide your personal information, you consent that it can be used for the above purposes and that OpenC3, Inc. is an authorized holder of such information. If you choose not to register or provide personal information, you can still use our website but you will not be able to receive additional services or access certain areas that require registration. When you activate your account, you are providing your consent to occasionally receive information from us. In each communication from us you will have the opportunity to unsubscribe from further communications; alternatively, you may contact us to express your choices at the address provided at the bottom of this page."}),"\n",(0,n.jsx)(o.h2,{id:"4-access-to-your-information",children:"4. Access to your information"}),"\n",(0,n.jsx)(o.p,{children:"You are entitled to review the personal information you have provided us and ensure that it is accurate and current at all times. To review or update this information simply request that we send you this information."}),"\n",(0,n.jsx)(o.h2,{id:"5-security-of-information",children:"5. Security of information"}),"\n",(0,n.jsx)(o.p,{children:"OpenC3, Inc. is strongly committed to protecting your information and ensuring that your choices are honored. We have taken strong security measures to protect your data from loss, misuse, unauthorized access, disclosure, alteration, or destruction. All sensitive data is stored behind multiple firewalls on secure servers with restricted employee access."}),"\n",(0,n.jsx)(o.p,{children:"We guarantee that all e-commerce transactions follow the latest security measures and use the best available technologies. Secure Sockets Layer (SSL) technology is employed when you place online orders or transmit sensitive information. SSL is one of the safest methods of passing information over the Internet."}),"\n",(0,n.jsx)(o.h2,{id:"6-retention-of-information",children:"6. Retention of information"}),"\n",(0,n.jsx)(o.p,{children:"We retain information as long as it is necessary to provide the services requested by you and others, subject to any legal obligations to further retain such information. Information associated with your account will generally be kept until it is no longer necessary to provide the services or until you ask us to delete it or your account is deleted whichever comes first. Additionally, we may retain information from deleted accounts to comply with the law, prevent fraud, resolve disputes, troubleshoot problems, assist with investigations, enforce the Terms of Use, and take other actions permitted by law. The information we retain will be handled in accordance with this Privacy Policy. Finally, your data could also be stored for sales statistical purposes."}),"\n",(0,n.jsx)(o.h2,{id:"7-eu-and-eea-users-rights",children:"7. EU and EEA Users\u2019 Rights"}),"\n",(0,n.jsx)(o.p,{children:"If you are habitually located in the European Union or European Economic Area, you have the right to access, rectify, download or erase your information, as well as the right to restrict and object to certain processing of your information. While some of these rights apply generally, certain rights apply only in certain limited circumstances. We describe these rights below:"}),"\n",(0,n.jsx)(o.p,{children:"You have the right to access your personal data and, if necessary, have it amended or deleted or restricted. In certain instances, you may have the right to the portability of your data. You can also ask us to not send marketing communications and not to use your personal data when we carry out profiling for direct marketing purposes. You can opt out of receiving email newsletters and other marketing communications by following the opt-out instructions provided to you in those emails. Transactional account messages will be unaffected if you opt-out from marketing communications."}),"\n",(0,n.jsx)(o.h2,{id:"8-what-we-do-with-the-information-you-share",children:"8. What we do with the Information you share"}),"\n",(0,n.jsx)(o.p,{children:"Your information is never shared outside the company without your permission. Inside the company, data is stored behind multiple firewalls on secure servers with restricted user access."}),"\n",(0,n.jsx)(o.p,{children:"When you register to our website, you are asked to provide your contact information, including a valid email address. We use this information to send you updates about order confirmations and information about our services. When you order from us, we ask for your credit card number and billing address. We use this information only to bill you for the product(s) you ordered at that time."}),"\n",(0,n.jsx)(o.p,{children:"We may on occasion require the help of other companies to provide limited services on our behalf, such as packaging, shipping and delivery, customer support and processing event registrations. We will only provide such companies with the information required for them to perform these services; these service providers are bound by strict privacy policies and are prohibited from using your information for any other purpose."}),"\n",(0,n.jsx)(o.p,{children:"In very rare instances OpenC3, Inc. may disclose your personal information, without notice, only if required to do so by law or in the good faith belief that such action is necessary to: (a) conform to the edicts of the law or comply with legal process served on OpenC3, Inc. or the site; (b) protect and defend the rights or property of OpenC3, Inc. and its family of websites and properties; and (c) act in urgent circumstances to protect the personal safety of users of OpenC3, Inc., its websites, or the public."}),"\n",(0,n.jsx)(o.h2,{id:"9-how-to-opt-out",children:"9. How to opt-out"}),"\n",(0,n.jsx)(o.p,{children:"We provide users with the opportunity to opt-out from receiving updates on our products, newsletters and other communications from us. You can opt-out by clicking on the link provided in our electronic mailings or by contacting us at the address at the bottom of this page."}),"\n",(0,n.jsx)(o.h2,{id:"10-does-openc3-incs-privacy-policy-apply-to-linked-websites",children:"10. Does OpenC3 Inc's privacy policy apply to linked websites?"}),"\n",(0,n.jsx)(o.p,{children:"Our Privacy Policy applies solely to information collected on our website or through interactions with our company.\nThe Site contains links to web sites of third parties. OpenC3, Inc. is not responsible for the actions of these third parties, including their privacy practices and any content posted on their web sites. We encourage you to review their privacy policies to learn more about what, why and how they collect and use personal information. OpenC3, Inc. adheres to industry recognized standards to secure any personal information in our possession, and to secure it from unauthorized access and tampering."}),"\n",(0,n.jsx)(o.p,{children:"However, as is true with all online actions, it is possible that third parties may unlawfully intercept transmissions of personal information, or other users of the Site may misuse or abuse your personal information that they may collect from the Site."}),"\n",(0,n.jsx)(o.h2,{id:"11-changes-to-this-policy",children:"11. Changes to this policy"}),"\n",(0,n.jsx)(o.p,{children:"If we make changes to our Privacy Policy, we will post these changes here so that you are always aware of what information we collect, how we use it and under what circumstances, if any, we disclose it. If at any point we decide to use your information in a manner different from that stated at the time it was collected, we will notify you by email."}),"\n",(0,n.jsx)(o.h2,{id:"12-enforcement-of-policy",children:"12. Enforcement of policy"}),"\n",(0,n.jsx)(o.p,{children:"If for some reason you believe OpenC3, Inc. has not adhered to these principles, please notify us and we will do our best to promptly make corrections."}),"\n",(0,n.jsx)(o.h2,{id:"13-questions-or-comments",children:"13. Questions or comments"}),"\n",(0,n.jsxs)(o.p,{children:["If you have questions or comments about this privacy policy, please email us at: ",(0,n.jsx)(o.a,{href:"mailto:support@openc3.com",children:"support@openc3.com"})]}),"\n",(0,n.jsx)(o.p,{children:"For additional information about how to contact OpenC3, Inc. please visit our help page."}),"\n",(0,n.jsx)(o.p,{children:"Dated: August 11th, 2022"})]})}function u(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,o,t)=>{t.d(o,{R:()=>s,x:()=>a});var i=t(6540);const n={},r=i.createContext(n);function s(e){const o=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),i.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["5878"],{2595:function(e,o,t){t.r(o),t.d(o,{metadata:()=>i,contentTitle:()=>a,default:()=>u,assets:()=>c,toc:()=>l,frontMatter:()=>s});var i=JSON.parse('{"id":"privacy","title":"OpenC3, Inc. Privacy Policy","description":"OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR.","source":"@site/docs/privacy.md","sourceDirName":".","slug":"/privacy","permalink":"/docs/privacy","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/privacy.md","tags":[],"version":"current","frontMatter":{"title":"OpenC3, Inc. Privacy Policy"},"sidebar":"defaultSidebar","previous":{"title":"XTCE Support","permalink":"/docs/meta/xtce"}}'),n=t("5893"),r=t("65");let s={title:"OpenC3, Inc. Privacy Policy"},a=void 0,c={},l=[{value:"Our Commitment",id:"our-commitment",level:2},{value:"1. Notice",id:"1-notice",level:2},{value:"2. Usage",id:"2-usage",level:2},{value:"3. Consent",id:"3-consent",level:2},{value:"4. Access to your information",id:"4-access-to-your-information",level:2},{value:"5. Security of information",id:"5-security-of-information",level:2},{value:"6. Retention of information",id:"6-retention-of-information",level:2},{value:"7. EU and EEA Users\u2019 Rights",id:"7-eu-and-eea-users-rights",level:2},{value:"8. What we do with the Information you share",id:"8-what-we-do-with-the-information-you-share",level:2},{value:"9. How to opt-out",id:"9-how-to-opt-out",level:2},{value:"10. Does OpenC3 Inc's privacy policy apply to linked websites?",id:"10-does-openc3-incs-privacy-policy-apply-to-linked-websites",level:2},{value:"11. Changes to this policy",id:"11-changes-to-this-policy",level:2},{value:"12. Enforcement of policy",id:"12-enforcement-of-policy",level:2},{value:"13. Questions or comments",id:"13-questions-or-comments",level:2}];function d(e){let o={a:"a",h2:"h2",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR."}),"\n",(0,n.jsx)(o.h2,{id:"our-commitment",children:"Our Commitment"}),"\n",(0,n.jsx)(o.p,{children:"\u2022 Your information will not be shared, rented or sold to any third party.\n\u2022 We use state-of-the-art security measures to protect your information from unauthorized users.\n\u2022 We give you the possibility to control the information that you shared with us (opt-out)"}),"\n",(0,n.jsx)(o.p,{children:"OpenC3, Inc. is committed to processing data in accordance with its responsibilities under the GDPR.\nArticle 5 of the GDPR requires that personal data shall be:"}),"\n",(0,n.jsx)(o.p,{children:"a. processed lawfully, fairly and in a transparent manner in relation to individuals;"}),"\n",(0,n.jsx)(o.p,{children:"b. collected for specified, explicit and legitimate purposes and not further processed in a manner that is incompatible with those purposes; further processing for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes shall not be considered to be incompatible with the initial purposes;"}),"\n",(0,n.jsx)(o.p,{children:"c. adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed;"}),"\n",(0,n.jsx)(o.p,{children:"d. accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay;"}),"\n",(0,n.jsx)(o.p,{children:"e. kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and"}),"\n",(0,n.jsx)(o.p,{children:"f. processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.\u201D"}),"\n",(0,n.jsx)(o.h2,{id:"1-notice",children:"1. Notice"}),"\n",(0,n.jsx)(o.p,{children:'We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services.'}),"\n",(0,n.jsx)(o.h2,{id:"2-usage",children:"2. Usage"}),"\n",(0,n.jsx)(o.p,{children:"We use your personal information for the following purposes:\n\u2022 To provide you information that will allow you to use our services\n\u2022 To automatically customize your documents with your information\n\u2022 To alert you of software upgrades, updates, discounts or other services from OpenC3, Inc."}),"\n",(0,n.jsx)(o.p,{children:"We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers."}),"\n",(0,n.jsx)(o.p,{children:"We may also collect your name, language, currency, operating system, document searched and country information for a better experience with our products/services."}),"\n",(0,n.jsx)(o.p,{children:"When you place your order with us, we collect your email in order to communicate with you. We also collect your phone number in order to contact you in case these emails bounce back because of a typo in your email address and if we cannot figure out what the correct email address is."}),"\n",(0,n.jsx)(o.p,{children:"We also contact the phone number that is provided if we suspect that the cardholder\u2019s credit card information has been compromised, i.e used in a fraudulent way."}),"\n",(0,n.jsx)(o.p,{children:"We also use our clients\u2019 email in order to notify of the release of updated versions of the software, new services or promotional offers."}),"\n",(0,n.jsx)(o.h2,{id:"3-consent",children:"3. Consent"}),"\n",(0,n.jsx)(o.p,{children:"When you provide your personal information, you consent that it can be used for the above purposes and that OpenC3, Inc. is an authorized holder of such information. If you choose not to register or provide personal information, you can still use our website but you will not be able to receive additional services or access certain areas that require registration. When you activate your account, you are providing your consent to occasionally receive information from us. In each communication from us you will have the opportunity to unsubscribe from further communications; alternatively, you may contact us to express your choices at the address provided at the bottom of this page."}),"\n",(0,n.jsx)(o.h2,{id:"4-access-to-your-information",children:"4. Access to your information"}),"\n",(0,n.jsx)(o.p,{children:"You are entitled to review the personal information you have provided us and ensure that it is accurate and current at all times. To review or update this information simply request that we send you this information."}),"\n",(0,n.jsx)(o.h2,{id:"5-security-of-information",children:"5. Security of information"}),"\n",(0,n.jsx)(o.p,{children:"OpenC3, Inc. is strongly committed to protecting your information and ensuring that your choices are honored. We have taken strong security measures to protect your data from loss, misuse, unauthorized access, disclosure, alteration, or destruction. All sensitive data is stored behind multiple firewalls on secure servers with restricted employee access."}),"\n",(0,n.jsx)(o.p,{children:"We guarantee that all e-commerce transactions follow the latest security measures and use the best available technologies. Secure Sockets Layer (SSL) technology is employed when you place online orders or transmit sensitive information. SSL is one of the safest methods of passing information over the Internet."}),"\n",(0,n.jsx)(o.h2,{id:"6-retention-of-information",children:"6. Retention of information"}),"\n",(0,n.jsx)(o.p,{children:"We retain information as long as it is necessary to provide the services requested by you and others, subject to any legal obligations to further retain such information. Information associated with your account will generally be kept until it is no longer necessary to provide the services or until you ask us to delete it or your account is deleted whichever comes first. Additionally, we may retain information from deleted accounts to comply with the law, prevent fraud, resolve disputes, troubleshoot problems, assist with investigations, enforce the Terms of Use, and take other actions permitted by law. The information we retain will be handled in accordance with this Privacy Policy. Finally, your data could also be stored for sales statistical purposes."}),"\n",(0,n.jsx)(o.h2,{id:"7-eu-and-eea-users-rights",children:"7. EU and EEA Users\u2019 Rights"}),"\n",(0,n.jsx)(o.p,{children:"If you are habitually located in the European Union or European Economic Area, you have the right to access, rectify, download or erase your information, as well as the right to restrict and object to certain processing of your information. While some of these rights apply generally, certain rights apply only in certain limited circumstances. We describe these rights below:"}),"\n",(0,n.jsx)(o.p,{children:"You have the right to access your personal data and, if necessary, have it amended or deleted or restricted. In certain instances, you may have the right to the portability of your data. You can also ask us to not send marketing communications and not to use your personal data when we carry out profiling for direct marketing purposes. You can opt out of receiving email newsletters and other marketing communications by following the opt-out instructions provided to you in those emails. Transactional account messages will be unaffected if you opt-out from marketing communications."}),"\n",(0,n.jsx)(o.h2,{id:"8-what-we-do-with-the-information-you-share",children:"8. What we do with the Information you share"}),"\n",(0,n.jsx)(o.p,{children:"Your information is never shared outside the company without your permission. Inside the company, data is stored behind multiple firewalls on secure servers with restricted user access."}),"\n",(0,n.jsx)(o.p,{children:"When you register to our website, you are asked to provide your contact information, including a valid email address. We use this information to send you updates about order confirmations and information about our services. When you order from us, we ask for your credit card number and billing address. We use this information only to bill you for the product(s) you ordered at that time."}),"\n",(0,n.jsx)(o.p,{children:"We may on occasion require the help of other companies to provide limited services on our behalf, such as packaging, shipping and delivery, customer support and processing event registrations. We will only provide such companies with the information required for them to perform these services; these service providers are bound by strict privacy policies and are prohibited from using your information for any other purpose."}),"\n",(0,n.jsx)(o.p,{children:"In very rare instances OpenC3, Inc. may disclose your personal information, without notice, only if required to do so by law or in the good faith belief that such action is necessary to: (a) conform to the edicts of the law or comply with legal process served on OpenC3, Inc. or the site; (b) protect and defend the rights or property of OpenC3, Inc. and its family of websites and properties; and (c) act in urgent circumstances to protect the personal safety of users of OpenC3, Inc., its websites, or the public."}),"\n",(0,n.jsx)(o.h2,{id:"9-how-to-opt-out",children:"9. How to opt-out"}),"\n",(0,n.jsx)(o.p,{children:"We provide users with the opportunity to opt-out from receiving updates on our products, newsletters and other communications from us. You can opt-out by clicking on the link provided in our electronic mailings or by contacting us at the address at the bottom of this page."}),"\n",(0,n.jsx)(o.h2,{id:"10-does-openc3-incs-privacy-policy-apply-to-linked-websites",children:"10. Does OpenC3 Inc's privacy policy apply to linked websites?"}),"\n",(0,n.jsx)(o.p,{children:"Our Privacy Policy applies solely to information collected on our website or through interactions with our company.\nThe Site contains links to web sites of third parties. OpenC3, Inc. is not responsible for the actions of these third parties, including their privacy practices and any content posted on their web sites. We encourage you to review their privacy policies to learn more about what, why and how they collect and use personal information. OpenC3, Inc. adheres to industry recognized standards to secure any personal information in our possession, and to secure it from unauthorized access and tampering."}),"\n",(0,n.jsx)(o.p,{children:"However, as is true with all online actions, it is possible that third parties may unlawfully intercept transmissions of personal information, or other users of the Site may misuse or abuse your personal information that they may collect from the Site."}),"\n",(0,n.jsx)(o.h2,{id:"11-changes-to-this-policy",children:"11. Changes to this policy"}),"\n",(0,n.jsx)(o.p,{children:"If we make changes to our Privacy Policy, we will post these changes here so that you are always aware of what information we collect, how we use it and under what circumstances, if any, we disclose it. If at any point we decide to use your information in a manner different from that stated at the time it was collected, we will notify you by email."}),"\n",(0,n.jsx)(o.h2,{id:"12-enforcement-of-policy",children:"12. Enforcement of policy"}),"\n",(0,n.jsx)(o.p,{children:"If for some reason you believe OpenC3, Inc. has not adhered to these principles, please notify us and we will do our best to promptly make corrections."}),"\n",(0,n.jsx)(o.h2,{id:"13-questions-or-comments",children:"13. Questions or comments"}),"\n",(0,n.jsxs)(o.p,{children:["If you have questions or comments about this privacy policy, please email us at: ",(0,n.jsx)(o.a,{href:"mailto:support@openc3.com",children:"support@openc3.com"})]}),"\n",(0,n.jsx)(o.p,{children:"For additional information about how to contact OpenC3, Inc. please visit our help page."}),"\n",(0,n.jsx)(o.p,{children:"Dated: August 11th, 2022"})]})}function u(e={}){let{wrapper:o}={...(0,r.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},65:function(e,o,t){t.d(o,{Z:function(){return a},a:function(){return s}});var i=t(7294);let n={},r=i.createContext(n);function s(e){let o=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(o):{...o,...e}},[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),i.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/a507c363.85986332.js b/docs/assets/js/a507c363.85986332.js deleted file mode 100644 index 09853d7bf6..0000000000 --- a/docs/assets/js/a507c363.85986332.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7257],{2842:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>d,frontMatter:()=>l,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"development/host-install","title":"Host Install","description":"Installing COSMOS Directly onto a Host (No Containers)","source":"@site/docs/development/host-install.md","sourceDirName":"development","slug":"/development/host-install","permalink":"/docs/development/host-install","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/host-install.md","tags":[],"version":"current","frontMatter":{"title":"Host Install","sidebar_custom_props":{"myEmoji":"\ud83d\udda5\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Developing COSMOS","permalink":"/docs/development/developing"},"next":{"title":"JSON API","permalink":"/docs/development/json-api"}}');var o=t(4848),i=t(8453);const l={title:"Host Install",sidebar_custom_props:{myEmoji:"\ud83d\udda5\ufe0f"}},a=void 0,r={},c=[{value:"Installing COSMOS Directly onto a Host (No Containers)",id:"installing-cosmos-directly-onto-a-host-no-containers",level:2}];function h(n){const e={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"installing-cosmos-directly-onto-a-host-no-containers",children:"Installing COSMOS Directly onto a Host (No Containers)"}),"\n",(0,o.jsx)(e.p,{children:"Note: THIS IS NOT A RECOMMENDED CONFIGURATION."}),"\n",(0,o.jsx)(e.p,{children:"COSMOS 5 is released as containers and intended to be run as containers. However, for various reasons someone might want to run COSMOS directly on a host. These instructions will walk through getting COSMOS 5 installed and running directly on RHEL 7 or Centos 7. This configuration will create a working install, but falls short of the ideal in that it does not setup the COSMOS processes as proper services on the host OS (that restart themselves on boot, and maintain themselves running in case of errors). Contributions that add that functionality are welcome."}),"\n",(0,o.jsx)(e.p,{children:"Let's get started."}),"\n",(0,o.jsxs)(e.ol,{children:["\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"The starting assumption is that you have a fresh install of either RHEL 7 or Centos 7. You are running as a normal user that has sudo permissions, and has git installed."}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"Start by downloading the latest working version of COSMOS from Github"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"cd ~\ngit clone https://github.com/openc3/cosmos.git\n"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"Run the COSMOS installation script"}),"\n",(0,o.jsx)(e.p,{children:"If you are feeling brave, you can run the one large installer script that installs everything in one step:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"cd cosmos/examples/hostinstall/centos7\n./openc3_install.sh\n"})}),"\n",(0,o.jsx)(e.p,{children:"Or, you may want to break it down to the same steps that are in that script, and make sure each individual step is successful:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-bash",children:"cd cosmos/examples/hostinstall/centos7\n./openc3_install_packages.sh\n./openc3_install_ruby.sh\n./openc3_install_redis.sh\n./openc3_install_minio.sh\n./openc3_install_traefik.sh\n./openc3_install_openc3.sh\n./openc3_start_services.sh\n./openc3_first_init.sh\n"})}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsxs)(e.p,{children:["If all was successful, you should be able to open Firefox, and goto: ",(0,o.jsx)(e.a,{href:"http://localhost:2900",children:"http://localhost:2900"}),". Congrats you have COSMOS running directly on a host."]}),"\n"]}),"\n",(0,o.jsxs)(e.li,{children:["\n",(0,o.jsx)(e.p,{children:"As stated at the beginning, this is not currently a supported configuration. Contributions that help to improve it are welcome."}),"\n"]}),"\n"]})]})}function d(n={}){const{wrapper:e}={...(0,i.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(h,{...n})}):h(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>l,x:()=>a});var s=t(6540);const o={},i=s.createContext(o);function l(n){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:l(n.components),s.createElement(i.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/a677c089.1ca7287c.js b/docs/assets/js/a677c089.1ca7287c.js new file mode 100644 index 0000000000..2e937fd89f --- /dev/null +++ b/docs/assets/js/a677c089.1ca7287c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8519"],{3368:function(e,t,n){n.r(t),n.d(t,{metadata:()=>r,contentTitle:()=>d,default:()=>h,assets:()=>o,toc:()=>l,frontMatter:()=>c});var r=JSON.parse('{"id":"configuration/interfaces","title":"Interfaces","description":"Built-in COSMOS interfaces including how to create one","source":"@site/docs/configuration/interfaces.md","sourceDirName":"configuration","slug":"/configuration/interfaces","permalink":"/docs/configuration/interfaces","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/interfaces.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6,"title":"Interfaces","description":"Built-in COSMOS interfaces including how to create one","sidebar_custom_props":{"myEmoji":"\uD83D\uDCA1"}},"sidebar":"defaultSidebar","previous":{"title":"Telemetry","permalink":"/docs/configuration/telemetry"},"next":{"title":"Protocols","permalink":"/docs/configuration/protocols"}}'),i=n("5893"),s=n("65");let c={sidebar_position:6,title:"Interfaces",description:"Built-in COSMOS interfaces including how to create one",sidebar_custom_props:{myEmoji:"\uD83D\uDCA1"}},d=void 0,o={},l=[{value:"Overview",id:"overview",level:2},{value:"Protocols",id:"protocols",level:3},{value:"Accessors",id:"accessors",level:3},{value:"Provided Interfaces",id:"provided-interfaces",level:2},{value:"TCPIP Client Interface",id:"tcpip-client-interface",level:3},{value:"TCPIP Server Interface",id:"tcpip-server-interface",level:3},{value:"Interface Options",id:"interface-options",level:4},{value:"UDP Interface",id:"udp-interface",level:3},{value:"HTTP Client Interface",id:"http-client-interface",level:3},{value:"HTTP Server Interface",id:"http-server-interface",level:3},{value:"Interface Options",id:"interface-options-1",level:4},{value:"MQTT Interface",id:"mqtt-interface",level:3},{value:"Interface Options",id:"interface-options-2",level:4},{value:"Packet Definitions",id:"packet-definitions",level:4},{value:"MQTT Streaming Interface",id:"mqtt-streaming-interface",level:3},{value:"Interface Options",id:"interface-options-3",level:4},{value:"Packet Definitions",id:"packet-definitions-1",level:4},{value:"Serial Interface",id:"serial-interface",level:3},{value:"Interface Options",id:"interface-options-4",level:4},{value:"SNMP Interface (Enterprise)",id:"snmp-interface-enterprise",level:3},{value:"Interface Options",id:"interface-options-5",level:4},{value:"SNMP Trap Interface (Enterprise)",id:"snmp-trap-interface-enterprise",level:3},{value:"Interface Options",id:"interface-options-6",level:4},{value:"gRPC Interface (Enterprise)",id:"grpc-interface-enterprise",level:3},{value:"Commands",id:"commands",level:4},{value:"Custom Interfaces",id:"custom-interfaces",level:2}];function a(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"overview",children:"Overview"}),"\n",(0,i.jsxs)(t.p,{children:["Interfaces are the connection to the external embedded systems called ",(0,i.jsx)(t.a,{href:"target",children:"targets"}),". Interfaces are defined by the top level ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface-1",children:"INTERFACE"})," keyword in the plugin.txt file."]}),"\n",(0,i.jsxs)(t.p,{children:["Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, MQTT, SNMP, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with ",(0,i.jsx)(t.a,{href:"/docs/configuration/protocols",children:"Protocols"})," rather than implementing a new interface."]}),"\n",(0,i.jsx)(t.admonition,{title:"Interface and Routers Are Very Similar",type:"info",children:(0,i.jsx)(t.p,{children:"Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target."})}),"\n",(0,i.jsx)(t.h3,{id:"protocols",children:"Protocols"}),"\n",(0,i.jsxs)(t.p,{children:["Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. See ",(0,i.jsx)(t.a,{href:"protocols",children:"Protocols"})," for more information."]}),"\n",(0,i.jsx)(t.h3,{id:"accessors",children:"Accessors"}),"\n",(0,i.jsxs)(t.p,{children:["Accessors are responsible for reading and writing the buffer which is transmitted by the interface to the target. See ",(0,i.jsx)(t.a,{href:"accessors",children:"Accessors"})," for more information."]}),"\n",(0,i.jsxs)(t.p,{children:["For more information about how Interfaces fit with Protocols and Accessors see ",(0,i.jsx)(t.a,{href:"https://www.openc3.com/news/interoperability-without-standards",children:"Interoperability Without Standards"}),"."]}),"\n",(0,i.jsx)(t.h2,{id:"provided-interfaces",children:"Provided Interfaces"}),"\n",(0,i.jsxs)(t.p,{children:["COSMOS provides the following interfaces: TCPIP Client, TCPIP Server, UDP, HTTP Client, HTTP Server, MQTT and Serial. The interface to use is defined by the ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface",children:"INTERFACE"})," and ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#router",children:"ROUTER"})," keywords. See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface-modifiers",children:"Interface Modifiers"})," for a description of the keywords which can follow the INTERFACE keyword."]}),"\n",(0,i.jsx)(t.p,{children:"COSMOS Enterprise provides the following interfaces: SNMP, SNMP Trap, GEMS, InfluxDB."}),"\n",(0,i.jsx)(t.h3,{id:"tcpip-client-interface",children:"TCPIP Client Interface"}),"\n",(0,i.jsx)(t.p,{children:"The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Machine name to connect to"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Port"}),(0,i.jsx)(t.td,{children:"Port to write commands to (can be the same as read port). Pass nil / None to make the interface read only."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Port to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read. Pass nil / None to block on read."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Type"}),(0,i.jsx)(t.td,{children:"See Protocols."}),(0,i.jsx)(t.td,{children:"No"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Arguments"}),(0,i.jsx)(t.td,{children:"See Protocols for the arguments each stream protocol takes."}),(0,i.jsx)(t.td,{children:"No"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsx)(t.h3,{id:"tcpip-server-interface",children:"TCPIP Server Interface"}),"\n",(0,i.jsx)(t.p,{children:"The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Port"}),(0,i.jsx)(t.td,{children:"Port to write commands to (can be the same as read port)"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Port to read telemetry from (can be the same as write port)"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read. Pass nil / None to block on read."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Type"}),(0,i.jsx)(t.td,{children:"See Protocols."}),(0,i.jsx)(t.td,{children:"No"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Arguments"}),(0,i.jsx)(t.td,{children:"See Protocols for the arguments each stream protocol takes."}),(0,i.jsx)(t.td,{children:"No"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"interface-options",children:"Interface Options"}),"\n",(0,i.jsx)(t.p,{children:"Options are added directly beneath the interface definition as shown in the example."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"LISTEN_ADDRESS"}),(0,i.jsx)(t.td,{children:"IP address to accept connections on"}),(0,i.jsx)(t.td,{children:"0.0.0.0"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol\n OPTION LISTEN_ADDRESS 127.0.0.1\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsx)(t.h3,{id:"udp-interface",children:"UDP Interface"}),"\n",(0,i.jsx)(t.p,{children:"The UDP interface uses UDP packets to send and receive telemetry from the target."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Host name or IP address of the machine to send and receive data with"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Dest Port"}),(0,i.jsx)(t.td,{children:"Port on the remote machine to send commands to"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Port on the remote machine to read telemetry from"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Source Port"}),(0,i.jsx)(t.td,{children:"Port on the local machine to send commands from"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil (socket is not bound to an outgoing port)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Interface Address"}),(0,i.jsx)(t.td,{children:"If the remote machine supports multicast the interface address is used to configure the outgoing multicast address"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil (not used)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"TTL"}),(0,i.jsx)(t.td,{children:"Time to Live. The number of intermediate routers allowed before dropping the packet."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"128 (Windows)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"10.0"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil (block on read)"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Example:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Example:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None\n"})}),"\n",(0,i.jsx)(t.h3,{id:"http-client-interface",children:"HTTP Client Interface"}),"\n",(0,i.jsxs)(t.p,{children:["The HTTP client interface connects to a HTTP server to send commands and receive telemetry. This interface is commonly used with the ",(0,i.jsx)(t.a,{href:"accessors#http-accessor",children:"HttpAccessor"})," and ",(0,i.jsx)(t.a,{href:"accessors#json-accessor",children:"JsonAccessor"}),". See the ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-example",children:"openc3-cosmos-http-example"})," for more information."]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Machine name to connect to"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Port"}),(0,i.jsx)(t.td,{children:"Port to write commands to and read telemetry from"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"80"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol"}),(0,i.jsx)(t.td,{children:"HTTP or HTTPS protocol"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"HTTP"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write. Pass nil / None to block on write."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"5"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read. Pass nil / None to block on read."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil / None"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Connect Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the connection"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"5"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Include Request In Response"}),(0,i.jsx)(t.td,{children:"Whether to include the request in the extra data"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME http_client_interface.rb myserver.com 80\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/http_client_interface.py mysecure.com 443 HTTPS\n"})}),"\n",(0,i.jsx)(t.h3,{id:"http-server-interface",children:"HTTP Server Interface"}),"\n",(0,i.jsxs)(t.p,{children:["The HTTP server interface creates a simple unencrypted, unauthenticated HTTP server. This interface is commonly used with the ",(0,i.jsx)(t.a,{href:"accessors#http-accessor",children:"HttpAccessor"})," and ",(0,i.jsx)(t.a,{href:"accessors#json-accessor",children:"JsonAccessor"}),". See the ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-example",children:"openc3-cosmos-http-example"})," for more information."]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Port"}),(0,i.jsx)(t.td,{children:"Port to write commands to and read telemetry from"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"80"})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"interface-options-1",children:"Interface Options"}),"\n",(0,i.jsx)(t.p,{children:"Options are added directly beneath the interface definition as shown in the example."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"LISTEN_ADDRESS"}),(0,i.jsx)(t.td,{children:"IP address to accept connections on"}),(0,i.jsx)(t.td,{children:"0.0.0.0"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME http_server_interface.rb\n LISTEN_ADDRESS 127.0.0.1\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/http_server_interface.py 88\n"})}),"\n",(0,i.jsx)(t.h3,{id:"mqtt-interface",children:"MQTT Interface"}),"\n",(0,i.jsxs)(t.p,{children:["The MQTT interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Streaming Interface in that the commands and telemetry are transmitted over topics given by ",(0,i.jsx)(t.code,{children:"META TOPIC"})," in the command and telemetry definitions."]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Host name or IP address of the MQTT broker"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Port"}),(0,i.jsx)(t.td,{children:"Port on the MQTT broker to connect to. Keep in mind whether you're using SSL or not."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"1883"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"SSL"}),(0,i.jsx)(t.td,{children:"Whether to use SSL to connect"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"interface-options-2",children:"Interface Options"}),"\n",(0,i.jsx)(t.p,{children:"Options are added directly beneath the interface definition as shown in the example."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"ACK_TIMEOUT"}),(0,i.jsx)(t.td,{children:"Time to wait when connecting to the MQTT broker"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"USERNAME"}),(0,i.jsx)(t.td,{children:"Username for authentication with the MQTT broker"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"PASSWORD"}),(0,i.jsx)(t.td,{children:"Password for authentication with the MQTT broker"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CERT"}),(0,i.jsx)(t.td,{children:"PEM encoded client certificate filename used with KEY for client TLS based authentication"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"KEY"}),(0,i.jsx)(t.td,{children:"PEM encoded client private keys filename"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"KEYFILE_PASSWORD"}),(0,i.jsx)(t.td,{children:"Password to decrypt the CERT and KEY files (Python only)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CA_FILE"}),(0,i.jsx)(t.td,{children:"Certificate Authority certificate filename that is to be treated as trusted by this client"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Example:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE MQTT_INT mqtt_interface.rb test.mosquitto.org 1883\n"})}),"\n",(0,i.jsxs)(t.p,{children:["plugin.txt Python Example (Note: This example uses the ",(0,i.jsx)(t.a,{href:"plugins#secret",children:"SECRET"})," keyword to set the PASSWORD option in the Interface):"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE MQTT_INT openc3/interfaces/mqtt_interface.py test.mosquitto.org 8884\n OPTION USERNAME rw\n # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD\n # and set an OPTION called PASSWORD with the secret value\n # For more information about secrets see the Admin Tool page\n SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD\n"})}),"\n",(0,i.jsx)(t.h4,{id:"packet-definitions",children:"Packet Definitions"}),"\n",(0,i.jsx)(t.p,{children:"The MQTT Interface utilizes 'META TOPIC <topic name>' in the command and telemetry definition files to determine which topics to publish and receive messages from. Thus to send to the topic 'TEST' you would create a command like the following (Note: The command name 'TEST' does NOT have to match the topic name):"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"COMMAND MQTT TEST BIG_ENDIAN \"Test\"\n META TOPIC TEST # <- The topic name is 'TEST'\n APPEND_PARAMETER DATA 0 BLOCK '' \"MQTT Data\"\n"})}),"\n",(0,i.jsx)(t.p,{children:"Similarly to receive from the topic 'TEST' you would create a telemetry packet like the following (Note: The telemetry name 'TEST' does NOT have to match the topic name):"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:'TELEMETRY MQTT TEST BIG_ENDIAN "Test"\n META TOPIC TEST # <- The topic name is \'TEST\'\n APPEND_ITEM DATA 0 BLOCK "MQTT Data"\n'})}),"\n",(0,i.jsxs)(t.p,{children:["For a full example, please see the ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-mqtt-test",children:"openc3-cosmos-mqtt-test"})," in the COSMOS source."]}),"\n",(0,i.jsx)(t.h3,{id:"mqtt-streaming-interface",children:"MQTT Streaming Interface"}),"\n",(0,i.jsx)(t.p,{children:"The MQTT streaming interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT streaming interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Interface in that all the commands are transmitted on a single topic and all telemetry is received on a single topic."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Host name or IP address of the MQTT broker"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Port"}),(0,i.jsx)(t.td,{children:"Port on the MQTT broker to connect to. Keep in mind whether you're using SSL or not."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"1883"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"SSL"}),(0,i.jsx)(t.td,{children:"Whether to use SSL to connect"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"false"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Topic"}),(0,i.jsx)(t.td,{children:"Name of the write topic for all commands. Pass nil / None to make interface read only."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil / None"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Topic"}),(0,i.jsx)(t.td,{children:"Name of the read topic for all telemetry. Pass nil / None to make interface write only."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil / None"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Type"}),(0,i.jsx)(t.td,{children:"See Protocols."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Arguments"}),(0,i.jsx)(t.td,{children:"See Protocols for the arguments each stream protocol takes."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"interface-options-3",children:"Interface Options"}),"\n",(0,i.jsx)(t.p,{children:"Options are added directly beneath the interface definition as shown in the example."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"ACK_TIMEOUT"}),(0,i.jsx)(t.td,{children:"Time to wait when connecting to the MQTT broker"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"USERNAME"}),(0,i.jsx)(t.td,{children:"Username for authentication with the MQTT broker"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"PASSWORD"}),(0,i.jsx)(t.td,{children:"Password for authentication with the MQTT broker"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CERT"}),(0,i.jsx)(t.td,{children:"PEM encoded client certificate filename used with KEY for client TLS based authentication"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"KEY"}),(0,i.jsx)(t.td,{children:"PEM encoded client private keys filename"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"KEYFILE_PASSWORD"}),(0,i.jsx)(t.td,{children:"Password to decrypt the CERT and KEY files (Python only)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CA_FILE"}),(0,i.jsx)(t.td,{children:"Certificate Authority certificate filename that is to be treated as trusted by this client"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Example:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE MQTT_INT mqtt_stream_interface.rb test.mosquitto.org 1883 false write read\n"})}),"\n",(0,i.jsxs)(t.p,{children:["plugin.txt Python Example (Note: This example uses the ",(0,i.jsx)(t.a,{href:"plugins#secret",children:"SECRET"})," keyword to set the PASSWORD option in the Interface):"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE MQTT_INT openc3/interfaces/mqtt_stream_interface.py test.mosquitto.org 8884 False write read\n OPTION USERNAME rw\n # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD\n # and set an OPTION called PASSWORD with the secret value\n # For more information about secrets see the Admin Tool page\n SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD\n"})}),"\n",(0,i.jsx)(t.h4,{id:"packet-definitions-1",children:"Packet Definitions"}),"\n",(0,i.jsx)(t.p,{children:"The MQTT Streaming Interface utilizes the topic names passed to the interface so no additional information is necessary in the definition."}),"\n",(0,i.jsxs)(t.p,{children:["For a full example, please see the ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-mqtt-test",children:"openc3-cosmos-mqtt-test"})," in the COSMOS source."]}),"\n",(0,i.jsx)(t.h3,{id:"serial-interface",children:"Serial Interface"}),"\n",(0,i.jsx)(t.p,{children:"The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Port"}),(0,i.jsx)(t.td,{children:"Name of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Name of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Baud Rate"}),(0,i.jsx)(t.td,{children:"Baud rate to read and write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Parity"}),(0,i.jsx)(t.td,{children:"Serial port parity. Must be 'NONE', 'EVEN', or 'ODD'."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Stop Bits"}),(0,i.jsx)(t.td,{children:"Number of stop bits, e.g. 1."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read. Pass nil / None to block on read."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Type"}),(0,i.jsx)(t.td,{children:"See Protocols."}),(0,i.jsx)(t.td,{children:"No"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Arguments"}),(0,i.jsx)(t.td,{children:"See Protocols for the arguments each stream protocol takes."}),(0,i.jsx)(t.td,{children:"No"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"interface-options-4",children:"Interface Options"}),"\n",(0,i.jsx)(t.p,{children:"Options are added directly beneath the interface definition as shown in the example."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"FLOW_CONTROL"}),(0,i.jsx)(t.td,{children:"Serial port flow control. Must be one of NONE or RTSCTS."}),(0,i.jsx)(t.td,{children:"NONE"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"DATA_BITS"}),(0,i.jsx)(t.td,{children:"Number of data bits."}),(0,i.jsx)(t.td,{children:"8"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true\nINTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol\n OPTION FLOW_CONTROL RTSCTS\n OPTION DATA_BITS 7\n"})}),"\n",(0,i.jsx)(t.h3,{id:"snmp-interface-enterprise",children:"SNMP Interface (Enterprise)"}),"\n",(0,i.jsx)(t.p,{children:"The SNMP Interface is for connecting to Simple Network Management Protocol devices. The SNMP Interface is currently only implemented in Ruby."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Host name of the SNMP device"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Port"}),(0,i.jsx)(t.td,{children:"Port on the SNMP device"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"161"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"interface-options-5",children:"Interface Options"}),"\n",(0,i.jsx)(t.p,{children:"Options are added directly beneath the interface definition as shown in the example."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"VERSION"}),(0,i.jsx)(t.td,{children:"SNMP Version: 1, 2, or 3"}),(0,i.jsx)(t.td,{children:"1"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"COMMUNITY"}),(0,i.jsx)(t.td,{children:"Password or user ID that allows access to a device"}),(0,i.jsx)(t.td,{children:"private"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"USERNAME"}),(0,i.jsx)(t.td,{children:"Username"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"RETRIES"}),(0,i.jsx)(t.td,{children:"Retries when sending requests"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"TIMEOUT"}),(0,i.jsx)(t.td,{children:"Timeout waiting for a response from an agent"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"CONTEXT"}),(0,i.jsx)(t.td,{children:"SNMP context"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"SECURITY_LEVEL"}),(0,i.jsx)(t.td,{children:"Must be one of NO_AUTH, AUTH_PRIV, or AUTH_NO_PRIV"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"AUTH_PROTOCOL"}),(0,i.jsx)(t.td,{children:"Must be one of MD5, SHA, or SHA256"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"PRIV_PROTOCOL"}),(0,i.jsx)(t.td,{children:"Must be one of DES or AES"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"AUTH_PASSWORD"}),(0,i.jsx)(t.td,{children:"Auth password"}),(0,i.jsx)(t.td,{children:"N/A"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"PRIV_PASSWORD"}),(0,i.jsx)(t.td,{children:"Priv password"}),(0,i.jsx)(t.td,{children:"N/A"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE SNMP_INT snmp_interface.rb 192.168.1.249 161\n OPTION VERSION 1\n"})}),"\n",(0,i.jsxs)(t.p,{children:["For a full example, please see the ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-apc-switched-pdu",children:"openc3-cosmos-apc-switched-pdu"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,i.jsx)(t.h3,{id:"snmp-trap-interface-enterprise",children:"SNMP Trap Interface (Enterprise)"}),"\n",(0,i.jsx)(t.p,{children:"The SNMP Trap Interface is for receiving Simple Network Management Protocol traps. The SNMP Trap Interface is currently only implemented in Ruby."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Port to read from"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"162"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Read timeout"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Bind Address"}),(0,i.jsx)(t.td,{children:"Address to bind UDP port to"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"0.0.0.0"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"interface-options-6",children:"Interface Options"}),"\n",(0,i.jsx)(t.p,{children:"Options are added directly beneath the interface definition as shown in the example."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Option"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"VERSION"}),(0,i.jsx)(t.td,{children:"SNMP Version: 1, 2, or 3"}),(0,i.jsx)(t.td,{children:"1"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE SNMP_INT snmp_trap_interface.rb 162\n OPTION VERSION 1\n"})}),"\n",(0,i.jsxs)(t.p,{children:["For a full example, please see the ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-apc-switched-pdu",children:"openc3-cosmos-apc-switched-pdu"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,i.jsx)(t.h3,{id:"grpc-interface-enterprise",children:"gRPC Interface (Enterprise)"}),"\n",(0,i.jsxs)(t.p,{children:["The gRPC Interface is for interacting with ",(0,i.jsx)(t.a,{href:"https://grpc.io/",children:"gRPC"}),". The gRPC Interface is currently only implemented in Ruby."]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Hostname"}),(0,i.jsx)(t.td,{children:"gRPC server"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Port"}),(0,i.jsx)(t.td,{children:"gRPC port"}),(0,i.jsx)(t.td,{children:"Yes"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE GRPC_INT grpc_interface.rb my.grpc.org 8080\n"})}),"\n",(0,i.jsx)(t.h4,{id:"commands",children:"Commands"}),"\n",(0,i.jsxs)(t.p,{children:["Using the GrpcInterface for ",(0,i.jsx)(t.a,{href:"command",children:"command definitions"})," requires the use of ",(0,i.jsx)(t.a,{href:"command#meta",children:"META"})," to define a GRPC_METHOD to use for each command."]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"COMMAND PROTO GET_USER BIG_ENDIAN 'Get a User'\n META GRPC_METHOD /example.photoservice.ExamplePhotoService/GetUser\n"})}),"\n",(0,i.jsxs)(t.p,{children:["For a full example, please see the ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-proto-target",children:"openc3-cosmos-proto-target"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,i.jsx)(t.h2,{id:"custom-interfaces",children:"Custom Interfaces"}),"\n",(0,i.jsx)(t.p,{children:"Interfaces have the following methods that must be implemented:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"connect"})," - Open the socket or port or somehow establish the connection to the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"connected?"})," - Return true or false depending on the connection state. Note: This method should return immediately."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"disconnect"})," - Close the socket or port of somehow disconnect from the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"read_interface"})," - Lowest level read of data on the interface. Note: This method should block until data is available or the interface disconnects. On a clean disconnect it should return nil."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write_interface"})," - Lowest level write of data on the interface. Note: This method may not block indefinitely."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Interfaces also have the following methods that exist and have default implementations. They can be overridden if necessary but be sure to call super() to allow the default implementation to be executed."}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"read_interface_base"})," - This method should always be called from read_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes read count, the most recent raw data read, and it handles raw logging if enabled."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write_interface_base"})," - This method should always be called from write_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes written count, the most recent raw data written, and it handles raw logging if enabled."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"read"})," - Read the next packet from the interface. COSMOS implements this method to allow the Protocol system to operate on the data and the packet before it is returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write"})," - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write_raw"})," - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data."]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"Naming Conventions",type:"warning",children:(0,i.jsx)(t.p,{children:'When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization.'})})]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},65:function(e,t,n){n.d(t,{Z:function(){return d},a:function(){return c}});var r=n(7294);let i={},s=r.createContext(i);function c(e){let t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/a677c089.bb7b5156.js b/docs/assets/js/a677c089.bb7b5156.js deleted file mode 100644 index 36a40ba79f..0000000000 --- a/docs/assets/js/a677c089.bb7b5156.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7452],{8617:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"configuration/interfaces","title":"Interfaces","description":"Built-in COSMOS interfaces including how to create one","source":"@site/docs/configuration/interfaces.md","sourceDirName":"configuration","slug":"/configuration/interfaces","permalink":"/docs/configuration/interfaces","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/interfaces.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6,"title":"Interfaces","description":"Built-in COSMOS interfaces including how to create one","sidebar_custom_props":{"myEmoji":"\ud83d\udca1"}},"sidebar":"defaultSidebar","previous":{"title":"Telemetry","permalink":"/docs/configuration/telemetry"},"next":{"title":"Protocols","permalink":"/docs/configuration/protocols"}}');var i=n(4848),o=n(8453);const s={sidebar_position:6,title:"Interfaces",description:"Built-in COSMOS interfaces including how to create one",sidebar_custom_props:{myEmoji:"\ud83d\udca1"}},c=void 0,a={},d=[{value:"Provided Interfaces",id:"provided-interfaces",level:2},{value:"TCPIP Client Interface",id:"tcpip-client-interface",level:3},{value:"TCPIP Server Interface",id:"tcpip-server-interface",level:3},{value:"UDP Interface",id:"udp-interface",level:3},{value:"Serial Interface",id:"serial-interface",level:3},{value:"Streams",id:"streams",level:2},{value:"Protocols",id:"protocols",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["Interfaces are the connection to the external embedded systems called targets. Interfaces are defined by the top level ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface-1",children:"INTERFACE"})," keyword in the plugin.txt file."]}),"\n",(0,i.jsxs)(t.p,{children:["Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, GPIB, Firewire, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with ",(0,i.jsx)(t.a,{href:"/docs/configuration/protocols",children:"Protocols"})," rather than implementing a new interface."]}),"\n",(0,i.jsx)(t.admonition,{title:"Interface and Routers Are Very Similar",type:"info",children:(0,i.jsx)(t.p,{children:"Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target."})}),"\n",(0,i.jsx)(t.p,{children:"Interfaces have the following methods that must be implemented:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"connect"})," - Open the socket or port or somehow establish the connection to the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"connected?"})," - Return true or false depending on the connection state. Note: This method should return immediately."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"disconnect"})," - Close the socket or port of somehow disconnect from the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"read_interface"})," - Lowest level read of data on the interface. Note: This method should block until data is available or the interface disconnects. On a clean disconnect it should return nil."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write_interface"})," - Lowest level write of data on the interface. Note: This method may not block indefinitely."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"Interfaces also have the following methods that exist and have default implementations. They can be overridden if necessary but be sure to call super() to allow the default implementation to be executed."}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"read_interface_base"})," - This method should always be called from read_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes read count, the most recent raw data read, and it handles raw logging if enabled."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write_interface_base"})," - This method should always be called from write_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes written count, the most recent raw data written, and it handles raw logging if enabled."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"read"})," - Read the next packet from the interface. COSMOS implements this method to allow the Protocol system to operate on the data and the packet before it is returned."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write"})," - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"write_raw"})," - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data."]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"Naming Conventions",type:"warning",children:(0,i.jsx)(t.p,{children:'When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization.'})}),"\n",(0,i.jsx)(t.h2,{id:"provided-interfaces",children:"Provided Interfaces"}),"\n",(0,i.jsxs)(t.p,{children:["COSMOS provides the following interfaces for use: TCPIP Client, TCPIP Server, UDP, and Serial. The interface to use is defined by the ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface",children:"INTERFACE"})," and ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#router",children:"ROUTER"})," keywords."]}),"\n",(0,i.jsx)(t.h3,{id:"tcpip-client-interface",children:"TCPIP Client Interface"}),"\n",(0,i.jsx)(t.p,{children:"The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Machine name to connect to"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Port"}),(0,i.jsx)(t.td,{children:"Port to write commands to (can be the same as read port). Pass nil / None to make the interface read only."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Port to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read. Pass nil / None to block on read."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Type"}),(0,i.jsx)(t.td,{children:"See Protocols."}),(0,i.jsx)(t.td,{children:"No"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Arguments"}),(0,i.jsx)(t.td,{children:"See Protocols for the arguments each stream protocol takes."}),(0,i.jsx)(t.td,{children:"No"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsxs)(t.p,{children:["See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface",children:"INTERFACE"})," for a description of the INTERFACE keyword. See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface-modifiers",children:"Interface Modifiers"})," for a description of the keywords which can follow the INTERFACE keyword."]}),"\n",(0,i.jsx)(t.h3,{id:"tcpip-server-interface",children:"TCPIP Server Interface"}),"\n",(0,i.jsx)(t.p,{children:"The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Port"}),(0,i.jsx)(t.td,{children:"Port to write commands to (can be the same as read port)"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Port to read telemetry from (can be the same as write port)"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read. Pass nil / None to block on read."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Type"}),(0,i.jsx)(t.td,{children:"See Protocols."}),(0,i.jsx)(t.td,{children:"No"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Arguments"}),(0,i.jsx)(t.td,{children:"See Protocols for the arguments each stream protocol takes."}),(0,i.jsx)(t.td,{children:"No"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsxs)(t.p,{children:["See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface",children:"INTERFACE"})," for a description of the INTERFACE keyword. See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface-modifiers",children:"Interface Modifiers"})," for a description of the keywords which can follow the INTERFACE keyword. Note, TcpipServerInterface processes the ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#option",children:"OPTION"})," modifier."]}),"\n",(0,i.jsx)(t.h3,{id:"udp-interface",children:"UDP Interface"}),"\n",(0,i.jsx)(t.p,{children:"The UDP interface uses UDP packets to send and receive telemetry from the target."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Host"}),(0,i.jsx)(t.td,{children:"Host name or IP address of the machine to send and receive data with"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Dest Port"}),(0,i.jsx)(t.td,{children:"Port on the remote machine to send commands to"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Port on the remote machine to read telemetry from"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Source Port"}),(0,i.jsx)(t.td,{children:"Port on the local machine to send commands from"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil (socket is not bound to an outgoing port)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Interface Address"}),(0,i.jsx)(t.td,{children:"If the remote machine supports multicast the interface address is used to configure the outgoing multicast address"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil (not used)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"TTL"}),(0,i.jsx)(t.td,{children:"Time to Live. The number of intermediate routers allowed before dropping the packet."}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"128 (Windows)"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"10.0"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"nil (block on read)"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Example:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil\n"})}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Python Example:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None\n"})}),"\n",(0,i.jsxs)(t.p,{children:["See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface",children:"INTERFACE"})," for a description of the INTERFACE keyword. See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface-modifiers",children:"Interface Modifiers"})," for a description of the keywords which can follow the INTERFACE keyword."]}),"\n",(0,i.jsx)(t.h3,{id:"serial-interface",children:"Serial Interface"}),"\n",(0,i.jsx)(t.p,{children:"The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Parameter"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Required"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Port"}),(0,i.jsx)(t.td,{children:"Name of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Port"}),(0,i.jsx)(t.td,{children:"Name of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Baud Rate"}),(0,i.jsx)(t.td,{children:"Baud rate to read and write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Parity"}),(0,i.jsx)(t.td,{children:"Serial port parity. Must be 'NONE', 'EVEN', or 'ODD'."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Stop Bits"}),(0,i.jsx)(t.td,{children:"Number of stop bits, e.g. 1."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Write Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the write"}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Read Timeout"}),(0,i.jsx)(t.td,{children:"Number of seconds to wait before aborting the read. Pass nil / None to block on read."}),(0,i.jsx)(t.td,{children:"Yes"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Type"}),(0,i.jsx)(t.td,{children:"See Protocols."}),(0,i.jsx)(t.td,{children:"No"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"Protocol Arguments"}),(0,i.jsx)(t.td,{children:"See Protocols for the arguments each stream protocol takes."}),(0,i.jsx)(t.td,{children:"No"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"plugin.txt Ruby Examples:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11\nINTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true\nINTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE\nINTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol\n"})}),"\n",(0,i.jsxs)(t.p,{children:["See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface",children:"INTERFACE"})," for a description of the INTERFACE keyword. See ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#interface-modifiers",children:"Interface Modifiers"})," for a description of the keywords which can follow the INTERFACE keyword. Note, SerialInterface processes the ",(0,i.jsx)(t.a,{href:"/docs/configuration/plugins#option",children:"OPTION"})," modifier."]}),"\n",(0,i.jsx)(t.h2,{id:"streams",children:"Streams"}),"\n",(0,i.jsx)(t.p,{children:"Streams are low level classes that implement read, read_nonblock, write, connect, connected? and disconnect methods. The built-in Stream classes are SerialStream, TcpipSocketStream and TcpipClientStream and they are automatically used when creating a Serial Interface, TCP/IP Server Interface, or TCP/IP Client Interface."}),"\n",(0,i.jsx)(t.h2,{id:"protocols",children:"Protocols"}),"\n",(0,i.jsx)(t.p,{children:"Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. COSMOS defines the following built-in protocols which can be used with the above interfaces:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Name"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#burst-protocol",children:"Burst"})}),(0,i.jsx)(t.td,{children:"Reads as much data as possible from the interface"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#fixed-protocol",children:"Fixed"})}),(0,i.jsx)(t.td,{children:"Processes fixed length packets with a known ID position"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#length-protocol",children:"Length"})}),(0,i.jsx)(t.td,{children:"Processes a length field at a fixed location and then reads the remainder of the data"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#terminated-protocol",children:"Terminated"})}),(0,i.jsx)(t.td,{children:"Delineates packets uses termination characters at the end of each packet"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#template-protocol",children:"Template"})}),(0,i.jsx)(t.td,{children:"Processes text based command / response data such as SCPI interfaces"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#preidentified-protocol",children:"Preidentified"})}),(0,i.jsx)(t.td,{children:"Internal COSMOS protocol used by COSMOS tools"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"These protocols are declared directly after the interface:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE\n"})}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA\nINTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE\n"})}),"\n",(0,i.jsx)(t.p,{children:"COSMOS also defines the following helper protocols:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Name"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#crc-protocol",children:"CRC"})}),(0,i.jsx)(t.td,{children:"Adds CRCs to outgoing packets and verifies CRCs on incoming packets"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#ignore-packet-protocol",children:"Ignore"})}),(0,i.jsx)(t.td,{children:"Ignores the specified packet by dropping it"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"These protocols are declared after the INTERFACE:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF\n TARGET TGT\n PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters\n"})}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ruby",children:"INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF\n TARGET TGT\n PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters\n"})}),"\n",(0,i.jsx)(t.p,{children:"Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific."}),"\n",(0,i.jsxs)(t.p,{children:["In addition, you can define your own protocols which are declared like the COSMOS helper protocols after your interface. See the ",(0,i.jsx)(t.a,{href:"/docs/configuration/protocols#custom-protocols",children:"Custom Protocols"})," documentation for more information."]}),"\n",(0,i.jsx)(t.admonition,{title:"Protocol Run Order",type:"info",children:(0,i.jsx)(t.p,{children:"Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first)."})})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var r=n(6540);const i={},o=r.createContext(i);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/a9987364.b8154f8e.js b/docs/assets/js/a9987364.e9b743b9.js similarity index 90% rename from docs/assets/js/a9987364.b8154f8e.js rename to docs/assets/js/a9987364.e9b743b9.js index 72ad3f51e4..93c28ea8a6 100644 --- a/docs/assets/js/a9987364.b8154f8e.js +++ b/docs/assets/js/a9987364.e9b743b9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6830],{5055:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"getting-started/gettingstarted","title":"Getting Started","description":"Getting starting with COSMOS","source":"@site/docs/getting-started/gettingstarted.md","sourceDirName":"getting-started","slug":"/getting-started/gettingstarted","permalink":"/docs/getting-started/gettingstarted","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/gettingstarted.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"title":"Getting Started","description":"Getting starting with COSMOS","sidebar_custom_props":{"myEmoji":"\ud83e\uddd1\u200d\ud83d\udcbb"}},"sidebar":"defaultSidebar","previous":{"title":"Installation","permalink":"/docs/getting-started/installation"},"next":{"title":"Code Generators","permalink":"/docs/getting-started/generators"}}');var a=n(4848),o=n(8453);const s={sidebar_position:2,title:"Getting Started",description:"Getting starting with COSMOS",sidebar_custom_props:{myEmoji:"\ud83e\uddd1\u200d\ud83d\udcbb"}},r=void 0,l={},c=[{value:"Interfacing with Your Hardware",id:"interfacing-with-your-hardware",level:2},{value:"Building Your Plugin",id:"building-your-plugin",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Welcome to the OpenC3 COSMOS system... Let's get started! This guide is a high level overview that will help with setting up your first COSMOS project."}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["Get COSMOS Installed onto your computer by following the ",(0,a.jsx)(t.a,{href:"installation",children:"Installation Guide"}),".","\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"You should now have COSMOS installed and a Demo project available that we can make changes to."}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["Browse to ",(0,a.jsx)(t.a,{href:"http://localhost:2900",children:"http://localhost:2900"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:'The COSMOS Command and Telemetry Server will appear. This tool provides real-time information about each "target" in the system. Targets are external systems that receive commands and generate telemetry, often over ethernet or serial connections.'}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["Experiment with other COSMOS tools. This is a DEMO environment so you can't break anything. Some things to try:","\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Use Command Sender to send individual commands."}),"\n",(0,a.jsx)(t.li,{children:"Use Limits Monitor to watch for telemetry limits violations"}),"\n",(0,a.jsx)(t.li,{children:"Run some of the example scripts in Script Runner and Test Runner"}),"\n",(0,a.jsx)(t.li,{children:"View individual Telemetry packets in Packet Viewer"}),"\n",(0,a.jsx)(t.li,{children:"View detailed telemetry displays in Telemetry Viewer"}),"\n",(0,a.jsx)(t.li,{children:"Graph some data in Telemetry Grapher"}),"\n",(0,a.jsx)(t.li,{children:"View log type data in Data Viewer"}),"\n",(0,a.jsx)(t.li,{children:"Process log data with Data Extractor"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.admonition,{title:"Browser Version Issue",type:"info",children:[(0,a.jsxs)(t.p,{children:["When you try to load the page and it fails to load, check with the built-in web development tools / DevTools. We have seen some strange things with version of browsers. You can build to a version of browser if you need to by reading about the ",(0,a.jsx)(t.a,{href:"https://github.com/browserslist/browserslist",children:"browserslist"}),". A typical failure results in:"]}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"unexpected token ||=\n"})}),(0,a.jsxs)(t.p,{children:["To fix this make sure your browsers is compliant with the current settings in the ",(0,a.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/openc3-tool-base/.browserslistrc",children:".browserlistrc"})," file. You can change this and rebuild the image. Note: This can cause build speeds to increase or decrease."]})]}),"\n",(0,a.jsx)(t.h2,{id:"interfacing-with-your-hardware",children:"Interfacing with Your Hardware"}),"\n",(0,a.jsx)(t.p,{children:"Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it!"}),"\n",(0,a.jsx)(t.admonition,{title:"Install and Platform",type:"info",children:(0,a.jsx)(t.p,{children:"This guide assumes we're on Windows and COSMOS is installed in C:\\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory."})}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces."}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["If you followed the ",(0,a.jsx)(t.a,{href:"installation",children:"Installation Guide"})," you should already be inside a cloned ",(0,a.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-project",children:"openc3-project"})," which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (",(0,a.jsx)(t.a,{href:"https://www.markdownguide.org/",children:"Markdown"}),") to describe your program / project."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure."}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.admonition,{title:"Python vs Ruby",type:"info",children:(0,a.jsxs)(t.p,{children:["Each CLI command requires the use of ",(0,a.jsx)(t.code,{children:"--python"})," or ",(0,a.jsx)(t.code,{children:"--ruby"})," unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'."]})}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"C:\\openc3-project> openc3.bat cli generate plugin BOB --python\nPlugin openc3-cosmos-bob successfully generated!\n"})}),"\n",(0,a.jsxs)(t.p,{children:['This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the ',(0,a.jsx)(t.a,{href:"generators#plugin-generator",children:"Plugin Generator"})," page."]}),"\n",(0,a.jsx)(t.admonition,{title:"Run as the Root user",type:"info",children:(0,a.jsxs)(t.p,{children:["The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively ",(0,a.jsx)(t.code,{children:"docker run --user=root"})," ) by running ",(0,a.jsx)(t.code,{children:"cliroot"})," instead of ",(0,a.jsx)(t.code,{children:"cli"})," in any of the examples."]})}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["Starting with ",(0,a.jsx)(t.a,{href:"https://openc3.com/news/2023/02/23/openc3-cosmos-5-5-0-released/",children:"COSMOS v5.5.0"}),", the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target."]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"C:\\openc3-project> cd openc3-cosmos-bob\nopenc3-cosmos-bob> openc3.bat cli generate target BOB --python\nTarget BOB successfully generated!\n"})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.admonition,{title:"Generators",type:"info",children:(0,a.jsxs)(t.p,{children:["There are a number of generators available. Run ",(0,a.jsx)(t.code,{children:"openc3.bat cli generate"})," to see all the available options."]})}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:'COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"\n # Keyword Name BitSize Type Min Max Default Description\n APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"\n APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value"\n APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"\n'})}),"\n",(0,a.jsx)(t.p,{children:"What does this all mean?"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"We created a COMMAND for target BOB named EXAMPLE."}),"\n",(0,a.jsx)(t.li,{children:'The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don\'t have to worry about defining the bit offset into the packet.'}),"\n",(0,a.jsx)(t.li,{children:'First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".'}),"\n",(0,a.jsx)(t.li,{children:"Next we APPEND_PARAMETER a parameter called VALUE that is a 32-bit float (FLOAT) that has a minimum value of 0, a maximum value of 10.5, and a default value of 2.5."}),"\n",(0,a.jsx)(t.li,{children:"Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1."}),"\n",(0,a.jsx)(t.li,{children:"Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of \"OpenC3\". Strings don't have minimum or maximum values as that doesn't make sense for STRING types."}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["Check out the full ",(0,a.jsx)(t.a,{href:"../configuration/command",children:"Command"})," documentation for more."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:'TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description"\n # Keyword Name BitSize Type ID Description\n APPEND_ID_ITEM ID 16 INT 1 "Identifier"\n APPEND_ITEM VALUE 32 FLOAT "Value"\n APPEND_ITEM BOOL 8 UINT "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_ITEM LABEL 0 STRING "The label to apply"\n'})}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:'This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".'}),"\n",(0,a.jsx)(t.li,{children:'We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don\'t match).'}),"\n",(0,a.jsx)(t.li,{children:"Next we define three items similar to the command definition above."}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["Check out the full ",(0,a.jsx)(t.a,{href:"../configuration/telemetry",children:"Telemetry"})," documentation for more."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ",(0,a.jsx)(t.a,{href:"../configuration/command#id_parameter",children:"ID_PARAMETER"})," and ",(0,a.jsx)(t.a,{href:"../configuration/telemetry#id_item",children:"ID_ITEM"})," so your packets can be distinguished from each other."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now we need to tell COSMOS how to connect to our BOB target. Open the openc3-cosmos-bob/plugin.txt file:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:"# Set VARIABLEs here to allow variation in your plugin\n# See [Plugins](../configuration/plugins) for more information\nVARIABLE bob_target_name BOB\n\n# Modify this according to your actual target connection\n# See [Interfaces](../configuration/interfaces) for more information\nTARGET BOB <%= bob_target_name %>\nINTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST\n MAP_TARGET <%= bob_target_name %>\n"})}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:'This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.'}),"\n",(0,a.jsx)(t.li,{children:"The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name."}),"\n",(0,a.jsxs)(t.li,{children:["The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS ",(0,a.jsx)(t.a,{href:"../configuration/protocols#burst-protocol",children:"BURST"})," protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the ",(0,a.jsx)(t.a,{href:"../configuration/interfaces",children:"Interface Guide"}),". The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.admonition,{title:"Variables Support Reusability",type:"note",children:(0,a.jsx)(t.p,{children:"In a plugin that you plan to reuse you should make things like hostnames and ports variables"})}),"\n",(0,a.jsx)(t.h2,{id:"building-your-plugin",children:"Building Your Plugin"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now we need to build our plugin and upload it to COSMOS."}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0\n Successfully built RubyGem\n Name: openc3-cosmos-bob\n Version: 1.0.0\n File: openc3-cosmos-bob-1.0.0.gem\n"})}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["Note that the VERSION is required to specify the version to build. We recommend ",(0,a.jsx)(t.a,{href:"https://semver.org/",children:"semantic versioning"})," when building your plugin so people using your plugin (including you) know when there are breaking changes."]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on \"Click to install plugin\" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target."}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:'Let\'s modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value".'}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:'COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"\n # Keyword Name BitSize Type Min Max Default Description\n APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"\n APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value"\n APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"\n'})}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1\n Successfully built RubyGem\n Name: openc3-cosmos-bob\n Version: 1.0.1\n File: openc3-cosmos-bob-1.0.1.gem\n"})}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:'Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don\'t change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin!'}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our ",(0,a.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/issues",children:"Github Issues"})," page. If you would like to enquire about support contracts or professional COSMOS development please contact us at ",(0,a.jsx)(t.a,{href:"mailto:support@openc3.com",children:"support@openc3.com"}),"."]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>r});var i=n(6540);const a={},o=i.createContext(a);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["1364"],{1908:function(e,t,n){n.r(t),n.d(t,{metadata:()=>i,contentTitle:()=>r,default:()=>h,assets:()=>l,toc:()=>c,frontMatter:()=>s});var i=JSON.parse('{"id":"getting-started/gettingstarted","title":"Getting Started","description":"Getting starting with COSMOS","source":"@site/docs/getting-started/gettingstarted.md","sourceDirName":"getting-started","slug":"/getting-started/gettingstarted","permalink":"/docs/getting-started/gettingstarted","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/gettingstarted.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"title":"Getting Started","description":"Getting starting with COSMOS","sidebar_custom_props":{"myEmoji":"\uD83E\uDDD1\u200D\uD83D\uDCBB"}},"sidebar":"defaultSidebar","previous":{"title":"Installation","permalink":"/docs/getting-started/installation"},"next":{"title":"Code Generators","permalink":"/docs/getting-started/generators"}}'),a=n("5893"),o=n("65");let s={sidebar_position:2,title:"Getting Started",description:"Getting starting with COSMOS",sidebar_custom_props:{myEmoji:"\uD83E\uDDD1\u200D\uD83D\uDCBB"}},r=void 0,l={},c=[{value:"Interfacing with Your Hardware",id:"interfacing-with-your-hardware",level:2},{value:"Building Your Plugin",id:"building-your-plugin",level:2}];function d(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Welcome to the OpenC3 COSMOS system... Let's get started! This guide is a high level overview that will help with setting up your first COSMOS project."}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["Get COSMOS Installed onto your computer by following the ",(0,a.jsx)(t.a,{href:"installation",children:"Installation Guide"}),".","\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"You should now have COSMOS installed and a Demo project available that we can make changes to."}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["Browse to ",(0,a.jsx)(t.a,{href:"http://localhost:2900",children:"http://localhost:2900"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:'The COSMOS Command and Telemetry Server will appear. This tool provides real-time information about each "target" in the system. Targets are external systems that receive commands and generate telemetry, often over ethernet or serial connections.'}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["Experiment with other COSMOS tools. This is a DEMO environment so you can't break anything. Some things to try:","\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Use Command Sender to send individual commands."}),"\n",(0,a.jsx)(t.li,{children:"Use Limits Monitor to watch for telemetry limits violations"}),"\n",(0,a.jsx)(t.li,{children:"Run some of the example scripts in Script Runner and Test Runner"}),"\n",(0,a.jsx)(t.li,{children:"View individual Telemetry packets in Packet Viewer"}),"\n",(0,a.jsx)(t.li,{children:"View detailed telemetry displays in Telemetry Viewer"}),"\n",(0,a.jsx)(t.li,{children:"Graph some data in Telemetry Grapher"}),"\n",(0,a.jsx)(t.li,{children:"View log type data in Data Viewer"}),"\n",(0,a.jsx)(t.li,{children:"Process log data with Data Extractor"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.admonition,{title:"Browser Version Issue",type:"info",children:[(0,a.jsxs)(t.p,{children:["When you try to load the page and it fails to load, check with the built-in web development tools / DevTools. We have seen some strange things with version of browsers. You can build to a version of browser if you need to by reading about the ",(0,a.jsx)(t.a,{href:"https://github.com/browserslist/browserslist",children:"browserslist"}),". A typical failure results in:"]}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:"unexpected token ||=\n"})}),(0,a.jsxs)(t.p,{children:["To fix this make sure your browsers is compliant with the current settings in the ",(0,a.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/openc3-tool-base/.browserslistrc",children:".browserlistrc"})," file. You can change this and rebuild the image. Note: This can cause build speeds to increase or decrease."]})]}),"\n",(0,a.jsx)(t.h2,{id:"interfacing-with-your-hardware",children:"Interfacing with Your Hardware"}),"\n",(0,a.jsx)(t.p,{children:"Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it!"}),"\n",(0,a.jsx)(t.admonition,{title:"Install and Platform",type:"info",children:(0,a.jsx)(t.p,{children:"This guide assumes we're on Windows and COSMOS is installed in C:\\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory."})}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces."}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["If you followed the ",(0,a.jsx)(t.a,{href:"installation",children:"Installation Guide"})," you should already be inside a cloned ",(0,a.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-project",children:"openc3-project"})," which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (",(0,a.jsx)(t.a,{href:"https://www.markdownguide.org/",children:"Markdown"}),") to describe your program / project."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure."}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.admonition,{title:"Python vs Ruby",type:"info",children:(0,a.jsxs)(t.p,{children:["Each CLI command requires the use of ",(0,a.jsx)(t.code,{children:"--python"})," or ",(0,a.jsx)(t.code,{children:"--ruby"})," unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'."]})}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"C:\\openc3-project> openc3.bat cli generate plugin BOB --python\nPlugin openc3-cosmos-bob successfully generated!\n"})}),"\n",(0,a.jsxs)(t.p,{children:['This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the ',(0,a.jsx)(t.a,{href:"generators#plugin-generator",children:"Plugin Generator"})," page."]}),"\n",(0,a.jsx)(t.admonition,{title:"Run as the Root user",type:"info",children:(0,a.jsxs)(t.p,{children:["The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively ",(0,a.jsx)(t.code,{children:"docker run --user=root"})," ) by running ",(0,a.jsx)(t.code,{children:"cliroot"})," instead of ",(0,a.jsx)(t.code,{children:"cli"})," in any of the examples."]})}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["Starting with ",(0,a.jsx)(t.a,{href:"https://openc3.com/news/2023/02/23/openc3-cosmos-5-5-0-released/",children:"COSMOS v5.5.0"}),", the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target."]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"C:\\openc3-project> cd openc3-cosmos-bob\nopenc3-cosmos-bob> openc3.bat cli generate target BOB --python\nTarget BOB successfully generated!\n"})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.admonition,{title:"Generators",type:"info",children:(0,a.jsxs)(t.p,{children:["There are a number of generators available. Run ",(0,a.jsx)(t.code,{children:"openc3.bat cli generate"})," to see all the available options."]})}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:'COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"\n # Keyword Name BitSize Type Min Max Default Description\n APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"\n APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value"\n APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"\n'})}),"\n",(0,a.jsx)(t.p,{children:"What does this all mean?"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"We created a COMMAND for target BOB named EXAMPLE."}),"\n",(0,a.jsx)(t.li,{children:'The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don\'t have to worry about defining the bit offset into the packet.'}),"\n",(0,a.jsx)(t.li,{children:'First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".'}),"\n",(0,a.jsx)(t.li,{children:"Next we APPEND_PARAMETER a parameter called VALUE that is a 32-bit float (FLOAT) that has a minimum value of 0, a maximum value of 10.5, and a default value of 2.5."}),"\n",(0,a.jsx)(t.li,{children:"Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1."}),"\n",(0,a.jsx)(t.li,{children:"Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of \"OpenC3\". Strings don't have minimum or maximum values as that doesn't make sense for STRING types."}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["Check out the full ",(0,a.jsx)(t.a,{href:"../configuration/command",children:"Command"})," documentation for more."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:'TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description"\n # Keyword Name BitSize Type ID Description\n APPEND_ID_ITEM ID 16 INT 1 "Identifier"\n APPEND_ITEM VALUE 32 FLOAT "Value"\n APPEND_ITEM BOOL 8 UINT "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_ITEM LABEL 0 STRING "The label to apply"\n'})}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:'This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".'}),"\n",(0,a.jsx)(t.li,{children:'We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don\'t match).'}),"\n",(0,a.jsx)(t.li,{children:"Next we define three items similar to the command definition above."}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["Check out the full ",(0,a.jsx)(t.a,{href:"../configuration/telemetry",children:"Telemetry"})," documentation for more."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ",(0,a.jsx)(t.a,{href:"../configuration/command#id_parameter",children:"ID_PARAMETER"})," and ",(0,a.jsx)(t.a,{href:"../configuration/telemetry#id_item",children:"ID_ITEM"})," so your packets can be distinguished from each other."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now we need to tell COSMOS how to connect to our BOB target. Open the openc3-cosmos-bob/plugin.txt file:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:"# Set VARIABLEs here to allow variation in your plugin\n# See [Plugins](../configuration/plugins) for more information\nVARIABLE bob_target_name BOB\n\n# Modify this according to your actual target connection\n# See [Interfaces](../configuration/interfaces) for more information\nTARGET BOB <%= bob_target_name %>\nINTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST\n MAP_TARGET <%= bob_target_name %>\n"})}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:'This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.'}),"\n",(0,a.jsx)(t.li,{children:"The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name."}),"\n",(0,a.jsxs)(t.li,{children:["The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS ",(0,a.jsx)(t.a,{href:"../configuration/protocols#burst-protocol",children:"BURST"})," protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the ",(0,a.jsx)(t.a,{href:"../configuration/interfaces",children:"Interface Guide"}),". The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.admonition,{title:"Variables Support Reusability",type:"note",children:(0,a.jsx)(t.p,{children:"In a plugin that you plan to reuse you should make things like hostnames and ports variables"})}),"\n",(0,a.jsx)(t.h2,{id:"building-your-plugin",children:"Building Your Plugin"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Now we need to build our plugin and upload it to COSMOS."}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0\n Successfully built RubyGem\n Name: openc3-cosmos-bob\n Version: 1.0.0\n File: openc3-cosmos-bob-1.0.0.gem\n"})}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["Note that the VERSION is required to specify the version to build. We recommend ",(0,a.jsx)(t.a,{href:"https://semver.org/",children:"semantic versioning"})," when building your plugin so people using your plugin (including you) know when there are breaking changes."]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on \"Click to install plugin\" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target."}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:'Let\'s modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value".'}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-ruby",children:'COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"\n # Keyword Name BitSize Type Min Max Default Description\n APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"\n APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value"\n APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"\n STATE FALSE 0\n STATE TRUE 1\n APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"\n'})}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:"Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-batch",children:"openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1\n Successfully built RubyGem\n Name: openc3-cosmos-bob\n Version: 1.0.1\n File: openc3-cosmos-bob-1.0.1.gem\n"})}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsx)(t.p,{children:'Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don\'t change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin!'}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:["At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our ",(0,a.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/issues",children:"Github Issues"})," page. If you would like to enquire about support contracts or professional COSMOS development please contact us at ",(0,a.jsx)(t.a,{href:"mailto:support@openc3.com",children:"support@openc3.com"}),"."]}),"\n"]}),"\n"]})]})}function h(e={}){let{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},65:function(e,t,n){n.d(t,{Z:function(){return r},a:function(){return s}});var i=n(7294);let a={},o=i.createContext(a);function s(e){let t=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/aa6b6c1b.2983e37f.js b/docs/assets/js/aa6b6c1b.2983e37f.js new file mode 100644 index 0000000000..c05d779c27 --- /dev/null +++ b/docs/assets/js/aa6b6c1b.2983e37f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3800"],{556:function(e,t,n){n.r(t),n.d(t,{metadata:()=>r,contentTitle:()=>l,default:()=>o,assets:()=>d,toc:()=>c,frontMatter:()=>i});var r=JSON.parse('{"id":"guides/scripting-api","title":"Scripting API Guide","description":"Scripting API methods, deprecations and migrations","source":"@site/docs/guides/scripting-api.md","sourceDirName":"guides","slug":"/guides/scripting-api","permalink":"/docs/guides/scripting-api","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/scripting-api.md","tags":[],"version":"current","frontMatter":{"title":"Scripting API Guide","description":"Scripting API methods, deprecations and migrations","sidebar_custom_props":{"myEmoji":"\uD83D\uDCDD"}},"sidebar":"defaultSidebar","previous":{"title":"Script Writing Guide","permalink":"/docs/guides/script-writing"},"next":{"title":"Development","permalink":"/docs/development"}}'),s=n("5893"),a=n("65");let i={title:"Scripting API Guide",description:"Scripting API methods, deprecations and migrations",sidebar_custom_props:{myEmoji:"\uD83D\uDCDD"}},l=void 0,d={},c=[{value:"Concepts",id:"concepts",level:2},{value:"Programming Languages",id:"programming-languages",level:3},{value:"Using Script Runner",id:"using-script-runner",level:3},{value:"Telemetry Types",id:"telemetry-types",level:3},{value:"Script Runner API",id:"script-runner-api",level:2},{value:"Migration from COSMOS v5 to v6",id:"migration-from-cosmos-v5-to-v6",level:3},{value:"Migration from COSMOS v4 to v5",id:"migration-from-cosmos-v4-to-v5",level:3},{value:"Retrieving User Input",id:"retrieving-user-input",level:2},{value:"ask",id:"ask",level:3},{value:"ask_string",id:"ask_string",level:3},{value:"message_box",id:"message_box",level:3},{value:"vertical_message_box",id:"vertical_message_box",level:3},{value:"combo_box",id:"combo_box",level:3},{value:"get_target_file",id:"get_target_file",level:3},{value:"put_target_file",id:"put_target_file",level:3},{value:"delete_target_file",id:"delete_target_file",level:3},{value:"open_file_dialog",id:"open_file_dialog",level:3},{value:"open_files_dialog",id:"open_files_dialog",level:3},{value:"Providing information to the user",id:"providing-information-to-the-user",level:2},{value:"prompt",id:"prompt",level:3},{value:"Commands",id:"commands",level:2},{value:"cmd",id:"cmd",level:3},{value:"cmd_no_range_check",id:"cmd_no_range_check",level:3},{value:"cmd_no_hazardous_check",id:"cmd_no_hazardous_check",level:3},{value:"cmd_no_checks",id:"cmd_no_checks",level:3},{value:"cmd_raw",id:"cmd_raw",level:3},{value:"cmd_raw_no_range_check",id:"cmd_raw_no_range_check",level:3},{value:"cmd_raw_no_hazardous_check",id:"cmd_raw_no_hazardous_check",level:3},{value:"cmd_raw_no_checks",id:"cmd_raw_no_checks",level:3},{value:"build_cmd (since 5.13.0, since 5.8.0 as build_command)",id:"build_cmd-since-5130-since-580-as-build_command",level:3},{value:"send_raw",id:"send_raw",level:3},{value:"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)",id:"get_all_cmds-since-5130-since-500-as-get_all_commands",level:3},{value:"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)",id:"get_all_cmd_names-since-5130-since-506-as-get_all_command_names",level:3},{value:"get_cmd (since 5.13.0, since 5.0.0 as get_command)",id:"get_cmd-since-5130-since-500-as-get_command",level:3},{value:"get_param (since 5.13.0, since 5.0.0 as get_parameter)",id:"get_param-since-5130-since-500-as-get_parameter",level:3},{value:"get_cmd_buffer",id:"get_cmd_buffer",level:3},{value:"get_cmd_hazardous",id:"get_cmd_hazardous",level:3},{value:"get_cmd_value",id:"get_cmd_value",level:3},{value:"get_cmd_time",id:"get_cmd_time",level:3},{value:"get_cmd_cnt",id:"get_cmd_cnt",level:3},{value:"Handling Telemetry",id:"handling-telemetry",level:2},{value:"check, check_raw, check_formatted, check_with_units",id:"check-check_raw-check_formatted-check_with_units",level:3},{value:"check_tolerance",id:"check_tolerance",level:3},{value:"check_expression",id:"check_expression",level:3},{value:"check_exception",id:"check_exception",level:3},{value:"tlm, tlm_raw, tlm_formatted, tlm_with_units",id:"tlm-tlm_raw-tlm_formatted-tlm_with_units",level:3},{value:"get_tlm_buffer",id:"get_tlm_buffer",level:3},{value:"get_tlm_packet",id:"get_tlm_packet",level:3},{value:"get_tlm_values (modified in 5.0.0)",id:"get_tlm_values-modified-in-500",level:3},{value:"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)",id:"get_all_tlm-since-5130-since-500-as-get_all_telemetry",level:3},{value:"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)",id:"get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names",level:3},{value:"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)",id:"get_tlm-since-5130-since-500-as-get_telemetry",level:3},{value:"get_item (since 5.0.0)",id:"get_item-since-500",level:3},{value:"get_tlm_cnt",id:"get_tlm_cnt",level:3},{value:"set_tlm",id:"set_tlm",level:3},{value:"inject_tlm",id:"inject_tlm",level:3},{value:"override_tlm",id:"override_tlm",level:3},{value:"normalize_tlm",id:"normalize_tlm",level:3},{value:"get_overrides",id:"get_overrides",level:3},{value:"Packet Data Subscriptions",id:"packet-data-subscriptions",level:2},{value:"subscribe_packets (since 5.0.3)",id:"subscribe_packets-since-503",level:3},{value:"get_packets (since 5.0.3)",id:"get_packets-since-503",level:3},{value:"get_tlm_cnt",id:"get_tlm_cnt-1",level:3},{value:"get_tlm_cnts",id:"get_tlm_cnts",level:3},{value:"get_packet_derived_items",id:"get_packet_derived_items",level:3},{value:"Delays",id:"delays",level:2},{value:"wait",id:"wait",level:3},{value:"wait_tolerance",id:"wait_tolerance",level:3},{value:"wait_expression",id:"wait_expression",level:3},{value:"wait_packet",id:"wait_packet",level:3},{value:"wait_check",id:"wait_check",level:3},{value:"wait_check_tolerance",id:"wait_check_tolerance",level:3},{value:"wait_check_expression",id:"wait_check_expression",level:3},{value:"wait_check_packet",id:"wait_check_packet",level:3},{value:"Limits",id:"limits",level:2},{value:"limits_enabled?, limits_enabled",id:"limits_enabled-limits_enabled",level:3},{value:"enable_limits",id:"enable_limits",level:3},{value:"disable_limits",id:"disable_limits",level:3},{value:"enable_limits_group",id:"enable_limits_group",level:3},{value:"disable_limits_group",id:"disable_limits_group",level:3},{value:"get_limits_groups",id:"get_limits_groups",level:3},{value:"set_limits_set",id:"set_limits_set",level:3},{value:"get_limits_set",id:"get_limits_set",level:3},{value:"get_limits_sets",id:"get_limits_sets",level:3},{value:"get_limits",id:"get_limits",level:3},{value:"set_limits",id:"set_limits",level:3},{value:"get_out_of_limits",id:"get_out_of_limits",level:3},{value:"get_overall_limits_state",id:"get_overall_limits_state",level:3},{value:"get_limits_events",id:"get_limits_events",level:3},{value:"Targets",id:"targets",level:2},{value:"get_target_names",id:"get_target_names",level:3},{value:"get_target",id:"get_target",level:3},{value:"get_target_interfaces",id:"get_target_interfaces",level:3},{value:"Interfaces",id:"interfaces",level:2},{value:"get_interface (since 5.0.0)",id:"get_interface-since-500",level:3},{value:"get_interface_names",id:"get_interface_names",level:3},{value:"connect_interface",id:"connect_interface",level:3},{value:"disconnect_interface",id:"disconnect_interface",level:3},{value:"start_raw_logging_interface",id:"start_raw_logging_interface",level:3},{value:"stop_raw_logging_interface",id:"stop_raw_logging_interface",level:3},{value:"get_all_interface_info",id:"get_all_interface_info",level:3},{value:"map_target_to_interface",id:"map_target_to_interface",level:3},{value:"interface_cmd",id:"interface_cmd",level:3},{value:"interface_protocol_cmd",id:"interface_protocol_cmd",level:3},{value:"Routers",id:"routers",level:2},{value:"connect_router",id:"connect_router",level:3},{value:"disconnect_router",id:"disconnect_router",level:3},{value:"get_router_names",id:"get_router_names",level:3},{value:"get_router (since 5.0.0)",id:"get_router-since-500",level:3},{value:"get_all_router_info",id:"get_all_router_info",level:3},{value:"start_raw_logging_router",id:"start_raw_logging_router",level:3},{value:"stop_raw_logging_router",id:"stop_raw_logging_router",level:3},{value:"router_cmd",id:"router_cmd",level:3},{value:"router_protocol_cmd",id:"router_protocol_cmd",level:3},{value:"Stashing Data",id:"stashing-data",level:2},{value:"stash_set",id:"stash_set",level:3},{value:"stash_get",id:"stash_get",level:3},{value:"stash_all",id:"stash_all",level:3},{value:"stash_keys",id:"stash_keys",level:3},{value:"stash_delete",id:"stash_delete",level:3},{value:"Executing Other Procedures",id:"executing-other-procedures",level:2},{value:"start",id:"start",level:3},{value:"load_utility",id:"load_utility",level:3},{value:"Opening, Closing & Creating Telemetry Screens",id:"opening-closing--creating-telemetry-screens",level:2},{value:"display_screen",id:"display_screen",level:3},{value:"clear_screen",id:"clear_screen",level:3},{value:"clear_all_screens",id:"clear_all_screens",level:3},{value:"delete_screen",id:"delete_screen",level:3},{value:"get_screen_list",id:"get_screen_list",level:3},{value:"get_screen_definition",id:"get_screen_definition",level:3},{value:"create_screen",id:"create_screen",level:3},{value:"local_screen",id:"local_screen",level:3},{value:"Script Runner Settings",id:"script-runner-settings",level:2},{value:"set_line_delay",id:"set_line_delay",level:3},{value:"get_line_delay",id:"get_line_delay",level:3},{value:"set_max_output",id:"set_max_output",level:3},{value:"get_max_output",id:"get_max_output",level:3},{value:"disable_instrumentation",id:"disable_instrumentation",level:3},{value:"Script Runner Suites",id:"script-runner-suites",level:2},{value:"add_group, add_group_setup, add_group_teardown, add_script",id:"add_group-add_group_setup-add_group_teardown-add_script",level:3},{value:"Script Runner Debugging",id:"script-runner-debugging",level:2},{value:"step_mode",id:"step_mode",level:3},{value:"run_mode",id:"run_mode",level:3},{value:"disconnect_script",id:"disconnect_script",level:3},{value:"Metadata",id:"metadata",level:2},{value:"metadata_all",id:"metadata_all",level:3},{value:"metadata_get",id:"metadata_get",level:3},{value:"metadata_set",id:"metadata_set",level:3},{value:"metadata_update",id:"metadata_update",level:3},{value:"metadata_input",id:"metadata_input",level:3},{value:"Settings",id:"settings",level:2},{value:"list_settings",id:"list_settings",level:3},{value:"get_all_settings",id:"get_all_settings",level:3},{value:"get_setting, get_settings",id:"get_setting-get_settings",level:3},{value:"set_setting",id:"set_setting",level:3},{value:"Configuration",id:"configuration",level:2},{value:"config_tool_names",id:"config_tool_names",level:3},{value:"list_configs",id:"list_configs",level:3},{value:"load_config",id:"load_config",level:3},{value:"save_config",id:"save_config",level:3},{value:"delete_config",id:"delete_config",level:3}];function h(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"This document provides the information necessary to write test procedures using the COSMOS scripting API. Scripting in COSMOS is designed to be simple and intuitive. The code completion ability for command and telemetry mnemonics makes Script Runner the ideal place to write your procedures, however any text editor will do. If there is functionality that you don't see here or perhaps an easier syntax for doing something, please submit a ticket."}),"\n",(0,s.jsx)(t.h2,{id:"concepts",children:"Concepts"}),"\n",(0,s.jsx)(t.h3,{id:"programming-languages",children:"Programming Languages"}),"\n",(0,s.jsxs)(t.p,{children:["COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the ",(0,s.jsx)(t.a,{href:"/docs/guides/script-writing",children:"Script Writing Guide"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"using-script-runner",children:"Using Script Runner"}),"\n",(0,s.jsx)(t.p,{children:"Script Runner is a graphical application that provides the ideal environment for running and implementing your test procedures. The Script Runner tool is broken into 4 main sections. At the top of the tool is a menu bar that allows you to do such things as open and save files, perform a syntax check, and execute your script."}),"\n",(0,s.jsx)(t.p,{children:'Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time.'}),"\n",(0,s.jsx)(t.p,{children:"Third is the display of the actual script. While the script is not running, you may edit and compose scripts in this area. A handy code completion feature is provided that will list out the available commands or telemetry points as you are writing your script. Simply begin writing a cmd( or tlm( line to bring up code completion. This feature greatly reduces typos in command and telemetry mnemonics."}),"\n",(0,s.jsx)(t.p,{children:"Finally, the bottom of the display is the log messages. All commands that are sent, errors that occur, and user print statements appear in this area."}),"\n",(0,s.jsx)(t.h3,{id:"telemetry-types",children:"Telemetry Types"}),"\n",(0,s.jsx)(t.p,{children:"There are four different ways that telemetry values can be retrieved in COSMOS. The following chart explains their differences."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Telemetry Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Raw"}),(0,s.jsx)(t.td,{children:"Raw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Converted"}),(0,s.jsx)(t.td,{children:"Converted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Formatted"}),(0,s.jsx)(t.td,{children:"Formatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Formatted with Units"}),(0,s.jsx)(t.td,{children:"Formatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-api",children:"Script Runner API"}),"\n",(0,s.jsx)(t.p,{children:"The following methods are designed to be used in Script Runner procedures. Many can also be used in custom built COSMOS tools. Please see the COSMOS Tool API section for methods that are more efficient to use in custom tools."}),"\n",(0,s.jsx)(t.h3,{id:"migration-from-cosmos-v5-to-v6",children:"Migration from COSMOS v5 to v6"}),"\n",(0,s.jsx)(t.p,{children:"The following API methods have been removed from COSMOS v6. Most of the deprecated API methods still remain for backwards compatibility."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Method"}),(0,s.jsx)(t.th,{children:"Tool"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_target_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Removed, use get_target_interfaces"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"play_wav_file"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Removed"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"status_bar"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Removed"})]})]})]}),"\n",(0,s.jsx)(t.h3,{id:"migration-from-cosmos-v4-to-v5",children:"Migration from COSMOS v4 to v5"}),"\n",(0,s.jsx)(t.p,{children:"The following API methods are either deprecated (will not be ported to COSMOS 5) or currently unimplemented (eventually will be ported to COSMOS 5):"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Method"}),(0,s.jsx)(t.th,{children:"Tool"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"clear"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use clear_screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"clear_all"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use clear_all_screens"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"close_local_screens"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use clear_screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"clear_disconnected_targets"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cmd_tlm_clear_counters"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cmd_tlm_reload"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"display"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use display_screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_packet_logger_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_target_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target_interfaces"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_background_tasks"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_cmd_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_all_cmds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_tlm_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_all_tlm"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_all_cmds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_param_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_cmd"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_tlm_disconnect"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use $disconnect"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_disconnected_targets"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Unimplemented"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_interface_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_interface_targets"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_output_logs_filenames"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet_data"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet_logger_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet_loggers"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_replay_mode"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_router_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_scriptrunner_message_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_server_message"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_server_message_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_server_status"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_stale"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_ignored_items"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_ignored_parameters"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target_names"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_details"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_item_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"interface_state"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"override_tlm_raw"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use override_tlm"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"open_directory_dialog"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"play_wav_file"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_move_end"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_move_index"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_move_start"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_play"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_reverse_play"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_select_file"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_set_playback_delay"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_status"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_step_back"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_step_forward"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_stop"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"require_utility"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated but exists for backwards compatibility, use load_utility"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"router_state"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"save_file_dialog"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"save_setting"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated but exists for backwards compatibility, use set_setting"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_cmd_tlm_disconnect"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use disconnect_script"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_disconnected_targets"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Unimplemented"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_replay_mode"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_stdout_max_lines"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_tlm_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use set_tlm"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"show_backtrace"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, backtrace always shown"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"status_bar"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"shutdown_cmd_tlm"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_cmd_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_logging"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_new_scriptrunner_message_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_new_server_message_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_tlm_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_background_task"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_cmd_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_logging"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_tlm_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"subscribe_limits_events"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"subscribe_packet_data"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use subscribe_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"subscribe_server_messages"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Unimplemented"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tlm_variable"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use tlm() and pass type"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unsubscribe_limits_events"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unsubscribe_packet_data"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unsubscribe_server_messages"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait(..., type: ",":RAW",")"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_check_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait_check(..., type: ",":RAW",")"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_tolerance_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait_tolerance(..., type: ",":RAW",")"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_check_tolerance_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait_check_tolerance(..., type: ",":RAW",")"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"retrieving-user-input",children:"Retrieving User Input"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to enter values that are needed by the script."}),"\n",(0,s.jsx)(t.h3,{id:"ask",children:"ask"}),"\n",(0,s.jsx)(t.p,{children:'Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned.'}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'ask("<question>", <blank_or_default>, <password>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"question"}),(0,s.jsx)(t.td,{children:"Question to prompt the user with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"blank_or_default"}),(0,s.jsx)(t.td,{children:"Whether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"Whether to treat the entry as a password which is displayed with dots and not logged. Default is false."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'value = ask("Enter an integer")\nvalue = ask("Enter a value or nothing", true)\nvalue = ask("Enter a value", 10)\npassword = ask("Enter your password", false, true)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'value = ask("Enter an integer")\nvalue = ask("Enter a value or nothing", True)\nvalue = ask("Enter a value", 10)\npassword = ask("Enter your password", False, True)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"ask_string",children:"ask_string"}),"\n",(0,s.jsx)(t.p,{children:'Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned.'}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'ask_string("<question>", <blank_or_default>, <password>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"question"}),(0,s.jsx)(t.td,{children:"Question to prompt the user with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"blank_or_default"}),(0,s.jsx)(t.td,{children:"Whether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"Whether to treat the entry as a password which is displayed with dots and not logged. Default is false."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'string = ask_string("Enter a String")\nstring = ask_string("Enter a value or nothing", true)\nstring = ask_string("Enter a value", "test")\npassword = ask_string("Enter your password", false, true)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'string = ask_string("Enter a String")\nstring = ask_string("Enter a value or nothing", True)\nstring = ask_string("Enter a value", "test")\npassword = ask_string("Enter your password", False, True)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"message_box",children:"message_box"}),"\n",(0,s.jsx)(t.h3,{id:"vertical_message_box",children:"vertical_message_box"}),"\n",(0,s.jsx)(t.h3,{id:"combo_box",children:"combo_box"}),"\n",(0,s.jsx)(t.p,{children:"The message_box, vertical_message_box, and combo_box methods create a message box with arbitrary buttons or selections that the user can click. The text of the button clicked is returned."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'message_box("<message>", "<button text 1>", ...)\nvertical_message_box("<message>", "<button text 1>", ...)\ncombo_box("<message>", "<selection text 1>", ...)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"message"}),(0,s.jsx)(t.td,{children:"Message to prompt the user with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"button/selection text"}),(0,s.jsx)(t.td,{children:"Text for a button or selection"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"value = message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = vertical_message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = combo_box(\"Select the sensor number\", 'One', 'Two')\ncase value\nwhen 'One'\n puts 'Sensor One'\nwhen 'Two'\n puts 'Sensor Two'\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"value = message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = vertical_message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = combo_box(\"Select the sensor number\", 'One', 'Two')\nmatch value:\n case 'One':\n print('Sensor One')\n case 'Two':\n print('Sensor Two')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_target_file",children:"get_target_file"}),"\n",(0,s.jsx)(t.p,{children:"Return a file handle to a file in the target directory"}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_target_file("<File Path>", original: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_target_file("<File Path>", original=False)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"The path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"original"}),(0,s.jsx)(t.td,{children:"Whether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'file = get_target_file("INST/data/attitude.bin")\nputs file.read().formatted # format a binary file\nfile.unlink # delete file\nfile = get_target_file("INST/procedures/checks.rb", original: true)\nputs file.read()\nfile.unlink # delete file\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'from openc3.utilities.string import formatted\n\nfile = get_target_file("INST/data/attitude.bin")\nprint(formatted(file.read())) # format a binary file\nfile.close() # delete file\nfile = get_target_file("INST/procedures/checks.rb", original=True)\nprint(file.read())\nfile.close() # delete file\n'})}),"\n",(0,s.jsx)(t.h3,{id:"put_target_file",children:"put_target_file"}),"\n",(0,s.jsx)(t.p,{children:"Writes a file to the target directory"}),"\n",(0,s.jsx)(t.p,{children:"Ruby or Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'put_target_file("<File Path>", "IO or String")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"The path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"data"}),(0,s.jsx)(t.td,{children:"The data can be an IO object or String"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'put_target_file("INST/test1.txt", "this is a string test")\nfile = Tempfile.new(\'test\')\nfile.write("this is a Io test")\nfile.rewind\nput_target_file("INST/test2.txt", file)\nput_target_file("INST/test3.bin", "\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'put_target_file("INST/test1.txt", "this is a string test")\nfile = tempfile.NamedTemporaryFile(mode="w+t")\nfile.write("this is a Io test")\nfile.seek(0)\nput_target_file("INST/test2.txt", file)\nput_target_file("INST/test3.bin", b"\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary\n'})}),"\n",(0,s.jsx)(t.h3,{id:"delete_target_file",children:"delete_target_file"}),"\n",(0,s.jsx)(t.p,{children:"Delete a file in the target directory"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'delete_target_file("<File Path>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"The path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'put_target_file("INST/delete_me.txt", "to be deleted")\ndelete_target_file("INST/delete_me.txt")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"open_file_dialog",children:"open_file_dialog"}),"\n",(0,s.jsx)(t.h3,{id:"open_files_dialog",children:"open_files_dialog"}),"\n",(0,s.jsx)(t.p,{children:"The open_file_dialog and open_files_dialog methods create a file dialog box so the user can select a single or multiple files. The selected file(s) is returned."}),"\n",(0,s.jsx)(t.p,{children:"Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'open_file_dialog("<title>", "<message>", filter: "<filter>")\nopen_files_dialog("<title>", "<message>", filter: "<filter>")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'open_file_dialog("<title>", "<message>", filter="<filter>")\nopen_files_dialog("<title>", "<message>", filter="<filter>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Title"}),(0,s.jsx)(t.td,{children:"The title to put on the dialog. Required."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Message"}),(0,s.jsx)(t.td,{children:"The message to display in the dialog box. Optional parameter."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"filter"}),(0,s.jsxs)(t.td,{children:['Named parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See ',(0,s.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept",children:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept"})," for more information."]})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt")\nputs file # Ruby File object\nputs file.read\nfile.delete\n\nfiles = open_files_dialog("Open multiple files") # message is optional\nputs files # Array of File objects (even if you select only one)\nfiles.each do |file|\n puts file\n puts file.read\n file.delete\nend\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt")\nprint(file)\nprint(file.read())\nfile.close()\n\nfiles = open_files_dialog("Open multiple files") # message is optional\nprint(files) # Array of File objects (even if you select only one)\nfor file in files:\n print(file)\n print(file.read())\n file.close()\n'})}),"\n",(0,s.jsx)(t.h2,{id:"providing-information-to-the-user",children:"Providing information to the user"}),"\n",(0,s.jsx)(t.p,{children:"These methods notify the user that something has occurred."}),"\n",(0,s.jsx)(t.h3,{id:"prompt",children:"prompt"}),"\n",(0,s.jsx)(t.p,{children:"Displays a message to the user and waits for them to press an ok button."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'prompt("<message>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"message"}),(0,s.jsx)(t.td,{children:"Message to prompt the user with."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'prompt("Press OK to continue")\n'})}),"\n",(0,s.jsx)(t.h2,{id:"commands",children:"Commands"}),"\n",(0,s.jsx)(t.p,{children:"These methods provide capability to send commands to a target and receive information about commands in the system."}),"\n",(0,s.jsx)(t.h3,{id:"cmd",children:"cmd"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd("INST COLLECT with DURATION 10, TYPE NORMAL")\n# In Ruby the brackets around parameters are optional\ncmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL")\ncmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" })\ncmd("INST ABORT", timeout: 10, log_message: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd("INST COLLECT with DURATION 10, TYPE NORMAL")\ncmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" })\ncmd("INST ABORT", timeout=10, log_message=False)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_no_range_check",children:"cmd_no_range_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")\ncmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")\ncmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_no_hazardous_check",children:"cmd_no_hazardous_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_hazardous_check("INST CLEAR")\ncmd_no_hazardous_check("INST", "CLEAR")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_no_checks",children:"cmd_no_checks"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")\ncmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")\ncmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw",children:"cmd_raw"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw("INST COLLECT with DURATION 10, TYPE 0")\ncmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw("INST COLLECT with DURATION 10, TYPE 0")\ncmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw_no_range_check",children:"cmd_raw_no_range_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions or performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")\ncmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")\ncmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw_no_hazardous_check",children:"cmd_raw_no_hazardous_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions or performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_hazardous_check("INST CLEAR")\ncmd_raw_no_hazardous_check("INST", "CLEAR")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw_no_checks",children:"cmd_raw_no_checks"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")\ncmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")\ncmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"build_cmd-since-5130-since-580-as-build_command",children:"build_cmd (since 5.13.0, since 5.8.0 as build_command)"}),"\n",(0,s.jsx)(t.p,{children:"Builds a command binary string"}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"build_cmd(<ARGS>, range_check: true, raw: false)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"build_cmd(<ARGS>, range_check=True, raw=False)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ARGS"}),(0,s.jsx)(t.td,{children:"Command parameters (see cmd)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"range_check"}),(0,s.jsx)(t.td,{children:"Whether to perform range checking on the command. Default is true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"raw"}),(0,s.jsx)(t.td,{children:"Whether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL")\nputs x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00A \\x00\\x00\\xAB\\x00\\x00\\x00\\x00"}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"x = build_cmd(\"INST COLLECT with DURATION 10, TYPE NORMAL\")\nprint(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00A \\x00\\x00\\xab\\x00\\x00\\x00\\x00')}\n"})}),"\n",(0,s.jsx)(t.h3,{id:"send_raw",children:"send_raw"}),"\n",(0,s.jsx)(t.p,{children:"Sends raw data on an interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"send_raw(<Interface Name>, <Data>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface to send the raw data on."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Raw ruby string of data to send."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'send_raw("INST_INT", data)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_cmds-since-5130-since-500-as-get_all_commands",children:"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of the commands that are available for a particular target. The returned array is an array of hashes which fully describe the command packet."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_cmds("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_list = get_all_cmds("INST")\nputs cmd_list #=>\n# [{"target_name"=>"INST",\n# "packet_name"=>"ABORT",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Aborts a collect on the instrument",\n# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]\n# ...\n# }]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"cmd_list = get_all_cmds(\"INST\")\nprint(cmd_list) #=>\n# [{'target_name': 'INST',\n# 'packet_name': 'ABORT',\n# 'endianness': 'BIG_ENDIAN',\n# 'description': 'Aborts a collect on the INST instrument',\n# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]\n# ...\n# }]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_cmd_names-since-5130-since-506-as-get_all_command_names",children:"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of the command names for a particular target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_cmd_names("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"cmd_list = get_all_cmd_names(\"INST\")\nputs cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"cmd_list = get_all_cmd_names(\"INST\")\nprint(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd-since-5130-since-500-as-get_command",children:"get_cmd (since 5.13.0, since 5.0.0 as get_command)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a command hash which fully describes the command packet."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd("<Target Name> <Packet Name>")\nget_cmd("<Target Name>", "<Packet Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'abort_cmd = get_cmd("INST ABORT")\nputs abort_cmd #=>\n# [{"target_name"=>"INST",\n# "packet_name"=>"ABORT",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Aborts a collect on the instrument",\n# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]\n# ...\n# }]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"abort_cmd = get_cmd(\"INST ABORT\")\nprint(abort_cmd) #=>\n# [{'target_name': 'INST',\n# 'packet_name': 'ABORT',\n# 'endianness': 'BIG_ENDIAN',\n# 'description': 'Aborts a collect on the INST instrument',\n# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]\n# ...\n# }]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_param-since-5130-since-500-as-get_parameter",children:"get_param (since 5.13.0, since 5.0.0 as get_parameter)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a hash of the given command parameter"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_param("<Target Name> <Command Name> <Parameter Name>")\nget_param("<Target Name>", "<Command Name>", "<Parameter Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Parameter Name"}),(0,s.jsx)(t.td,{children:"Name of the parameter."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'param = get_param("INST COLLECT TYPE")\nputs param #=>\n# {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT",\n# "description"=>"Collect type which can be normal or special", "default"=>0,\n# "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR",\n# "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"param = get_param(\"INST COLLECT TYPE\")\nprint(param) #=>\n# {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT',\n# 'description': 'Collect type which can be normal or special', 'default': 0,\n# 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR',\n# 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}}\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_buffer",children:"get_cmd_buffer"}),"\n",(0,s.jsx)(t.p,{children:"Returns a packet hash (similar to get_cmd) along with the raw packet buffer as a Ruby string."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'buffer = get_cmd_buffer("<Target Name> <Packet Name>")[\'buffer\']\nbuffer = get_cmd_buffer("<Target Name>", "<Packet Name>")[\'buffer\']\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'packet = get_cmd_buffer("INST COLLECT")\nputs packet #=>\n# {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420",\n# "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false",\n# "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xE0\\x00\\x00\\xAB\\x00\\x00\\x00\\x00"}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"packet = get_cmd_buffer(\"INST COLLECT\")\nprint(packet) #=>\n# {'time': '1697298923745982470', 'received_time': '1697298923745982470',\n# 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false',\n# 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00')}\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_hazardous",children:"get_cmd_hazardous"}),"\n",(0,s.jsx)(t.p,{children:"Returns true/false indicating whether a particular command is flagged as hazardous."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Params"}),(0,s.jsx)(t.td,{children:"Hash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"hazardous = get_cmd_hazardous(\"INST\", \"COLLECT\", {'TYPE' => 'SPECIAL'})\nputs hazardous #=> true\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"hazardous = get_cmd_hazardous(\"INST\", \"COLLECT\", {'TYPE': 'SPECIAL'})\nprint(hazardous) #=> True\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_value",children:"get_cmd_value"}),"\n",(0,s.jsx)(t.p,{children:"Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Parameter Name"}),(0,s.jsx)(t.td,{children:"Name of the command parameter."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Value Type"}),(0,s.jsx)(t.td,{children:"Value Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW)\nputs value #=> 0.0\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW")\nprint(value) #=> 0.0\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_time",children:"get_cmd_time"}),"\n",(0,s.jsx)(t.p,{children:"Returns the time of the most recent command sent."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_time("<Target Name - optional>", "<Command Name - optional>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target. If not given, then the most recent command time to any target will be returned"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command. If not given, then the most recent command time to the given target will be returned"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time\ntarget_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time\ntarget_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_cnt",children:"get_cmd_cnt"}),"\n",(0,s.jsx)(t.p,{children:"Returns the number of times a specified command has been sent."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_cnt("<Target Name> <Command Name>")\nget_cmd_cnt("<Target Name>", "<Command Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent\n'})}),"\n",(0,s.jsx)(t.h2,{id:"handling-telemetry",children:"Handling Telemetry"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to interact with telemetry items."}),"\n",(0,s.jsx)(t.h3,{id:"check-check_raw-check_formatted-check_with_units",children:"check, check_raw, check_formatted, check_with_units"}),"\n",(0,s.jsx)(t.p,{children:"Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Comparison"}),(0,s.jsx)(t.td,{children:"A comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check("INST HEALTH_STATUS COLLECTS > 1")\ncheck_raw("INST HEALTH_STATUS COLLECTS > 1")\ncheck_formatted("INST HEALTH_STATUS COLLECTS > 1")\ncheck_with_units("INST HEALTH_STATUS COLLECTS > 1")\n# Ruby passes type as symbol\ncheck("INST HEALTH_STATUS COLLECTS > 1", type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'check("INST HEALTH_STATUS COLLECTS > 1")\ncheck_raw("INST HEALTH_STATUS COLLECTS > 1")\ncheck_formatted("INST HEALTH_STATUS COLLECTS > 1")\ncheck_with_units("INST HEALTH_STATUS COLLECTS > 1")\n# Python passes type as string\ncheck("INST HEALTH_STATUS COLLECTS > 1", type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"check_tolerance",children:"check_tolerance"}),"\n",(0,s.jsx)(t.p,{children:"Checks a converted telemetry item against an expected value with a tolerance. If the verification fails then the script will be paused with an error. Note: In most cases using wait_check_tolerance is a better choice than using check_tolerance."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expected Value"}),(0,s.jsx)(t.td,{children:"Expected value of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tolerance"}),(0,s.jsx)(t.td,{children:"\xb1 Tolerance on the expected value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"CONVERTED (default) or RAW (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)\ncheck_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)\ncheck_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"check_expression",children:"check_expression"}),"\n",(0,s.jsxs)(t.p,{children:["Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using ",(0,s.jsx)(t.a,{href:"#wait_check_expression",children:"wait_check_expression"})," is a better choice than using check_expression."]}),"\n",(0,s.jsx)(t.p,{children:"Remember that everything inside the check_expression string will be evaluated directly and thus must be valid syntax. A common mistake is to check a variable like so (Ruby variable interpolation):"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"check_expression(\"#{answer} == 'yes'\") # where answer contains 'yes'"})}),"\n",(0,s.jsxs)(t.p,{children:["This evaluates to ",(0,s.jsx)(t.code,{children:"yes == 'yes'"})," which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"check_expression(\"'#{answer}' == 'yes'\") # where answer contains 'yes'"})}),"\n",(0,s.jsxs)(t.p,{children:["Now this evaluates to ",(0,s.jsx)(t.code,{children:"'yes' == 'yes'"})," which is true so the check passes."]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_expression("<Expression>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expression"}),(0,s.jsx)(t.td,{children:"An expression to evaluate."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"check_expression(\"tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0\")\n"})}),"\n",(0,s.jsx)(t.h3,{id:"check_exception",children:"check_exception"}),"\n",(0,s.jsx)(t.p,{children:"Executes a method and expects an exception to be raised. If the method does not raise an exception, a CheckError is raised."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_exception("<Method Name>", "<Method Params - optional>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Method Name"}),(0,s.jsx)(t.td,{children:"The COSMOS scripting method to execute, e.g. 'cmd', etc."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Method Params"}),(0,s.jsx)(t.td,{children:"Parameters for the method"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"tlm-tlm_raw-tlm_formatted-tlm_with_units",children:"tlm, tlm_raw, tlm_formatted, tlm_with_units"}),"\n",(0,s.jsx)(t.p,{children:"Reads the specified form of a telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'tlm("<Target Name> <Packet Name> <Item Name>")\ntlm("<Target Name>", "<Packet Name>", "<Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'value = tlm("INST HEALTH_STATUS COLLECTS")\nvalue = tlm("INST", "HEALTH_STATUS", "COLLECTS")\nvalue = tlm_raw("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_formatted("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_with_units("INST HEALTH_STATUS COLLECTS")\n# Equivalent to tlm_raw\nraw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'value = tlm("INST HEALTH_STATUS COLLECTS")\nvalue = tlm("INST", "HEALTH_STATUS", "COLLECTS")\nvalue = tlm_raw("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_formatted("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_with_units("INST HEALTH_STATUS COLLECTS")\n# Equivalent to tlm_raw\nraw_value = tlm("INST HEALTH_STATUS COLLECTS", type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_buffer",children:"get_tlm_buffer"}),"\n",(0,s.jsx)(t.p,{children:"Returns a packet hash (similar to get_tlm) along with the raw packet buffer."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'buffer = get_tlm_buffer("<Target Name> <Packet Name>")[\'buffer\']\nbuffer = get_tlm_buffer("<Target Name>", "<Packet Name>")[\'buffer\']\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"packet = get_tlm_buffer(\"INST HEALTH_STATUS\")\npacket['buffer']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_packet",children:"get_tlm_packet"}),"\n",(0,s.jsx)(t.p,{children:"Returns the names, values, and limits states of all telemetry items in a specified packet. The value is returned as an array of arrays with each entry containing [item_name, item_value, limits_state]."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_packet("<Target Name> <Packet Name>", <type>)\nget_tlm_packet("<Target Name>", "<Packet Name>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"names_values_and_limits_states = get_tlm_packet(\"INST HEALTH_STATUS\", type='FORMATTED')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_values-modified-in-500",children:"get_tlm_values (modified in 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns the values and current limits state for a specified set of telemetry items. Items can be in any telemetry packet in the system. They can all be retrieved using the same value type or a specific value type can be specified for each item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Items"}),(0,s.jsx)(t.td,{children:"Array of strings of the form ['TGT__PKT__ITEM__TYPE', ... ]"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"])\nprint(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]]\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_tlm-since-5130-since-500-as-get_all_telemetry",children:"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of all target packet hashes."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_tlm("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'packets = get_all_tlm("INST")\nprint(packets)\n#[{"target_name"=>"INST",\n# "packet_name"=>"ADCS",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Position and attitude data",\n# "stale"=>true,\n# "items"=>\n# [{"name"=>"CCSDSVER",\n# "bit_offset"=>0,\n# "bit_size"=>3,\n# ...\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names",children:"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of all target packet names."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_tlm_names("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_tlm_names("INST") #=> ["ADCS", "HEALTH_STATUS", ...]\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm-since-5130-since-500-as-get_telemetry",children:"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a packet hash."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm("<Target Name> <Packet Name>")\nget_tlm("<Target Name>", "<Packet Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'packet = get_tlm("INST HEALTH_STATUS")\nprint(packet)\n#{"target_name"=>"INST",\n# "packet_name"=>"HEALTH_STATUS",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Health and status from the instrument",\n# "stale"=>true,\n# "processors"=>\n# [{"name"=>"TEMP1STAT",\n# "class"=>"OpenC3::StatisticsProcessor",\n# "params"=>["TEMP1", 100, "CONVERTED"]},\n# {"name"=>"TEMP1WATER",\n# "class"=>"OpenC3::WatermarkProcessor",\n# "params"=>["TEMP1", "CONVERTED"]}],\n# "items"=>\n# [{"name"=>"CCSDSVER",\n# "bit_offset"=>0,\n# "bit_size"=>3,\n# ...\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_item-since-500",children:"get_item (since 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an item hash."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_item("<Target Name> <Packet Name> <Item Name>")\nget_item("<Target Name>", "<Packet Name>", "<Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'item = get_item("INST HEALTH_STATUS CCSDSVER")\nprint(item)\n#{"name"=>"CCSDSVER",\n# "bit_offset"=>0,\n# "bit_size"=>3,\n# "data_type"=>"UINT",\n# "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)",\n# "endianness"=>"BIG_ENDIAN",\n# "required"=>false,\n# "overflow"=>"ERROR"}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_cnt",children:"get_tlm_cnt"}),"\n",(0,s.jsx)(t.p,{children:"Returns the number of times a specified telemetry packet has been received."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnt("<Target Name> <Packet Name>")\nget_tlm_cnt("<Target Name>", "<Packet Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received.\n'})}),"\n",(0,s.jsx)(t.h3,{id:"set_tlm",children:"set_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Sets a telemetry item value in the Command and Telemetry Server. This value will be overwritten if a new packet is received from an interface. For that reason this method is most useful if interfaces are disconnected or for testing via the Script Runner disconnect mode. Manually setting telemetry values allows for the execution of many logical paths in scripts."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_tlm("<Target> <Packet> <Item> = <Value>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item"}),(0,s.jsx)(t.td,{children:"Item name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Value"}),(0,s.jsx)(t.td,{children:"Value to set"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Value type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default\ncheck("INST HEALTH_STATUS COLLECTS == 5")\nset_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW)\ncheck("INST HEALTH_STATUS COLLECTS == 10", type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default\ncheck("INST HEALTH_STATUS COLLECTS == 5")\nset_tlm("INST HEALTH_STATUS COLLECTS = 10", type=\'RAW\')\ncheck("INST HEALTH_STATUS COLLECTS == 10", type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"inject_tlm",children:"inject_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Injects a packet into the system as if it was received from an interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Packet Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Hash"}),(0,s.jsx)(t.td,{children:"Hash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Type of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"inject_tlm(\"INST\", \"PARAMS\", {'VALUE1' => 5.0, 'VALUE2' => 7.0})\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"inject_tlm(\"INST\", \"PARAMS\", {'VALUE1': 5.0, 'VALUE2': 7.0})\n"})}),"\n",(0,s.jsx)(t.h3,{id:"override_tlm",children:"override_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Sets the converted value for a telmetry point in the Command and Telemetry Server. This value will be maintained even if a new packet is received on the interface unless the override is canceled with the normalize_tlm method."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'override_tlm("<Target> <Packet> <Item> = <Value>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item"}),(0,s.jsx)(t.td,{children:"Item name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Value"}),(0,s.jsx)(t.td,{children:"Value to set"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Type to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5\noverride_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5\noverride_tlm("INST HEALTH_STATUS TEMP2 = 0", type=\'RAW\') # Only RAW tlm set to 0\n'})}),"\n",(0,s.jsx)(t.h3,{id:"normalize_tlm",children:"normalize_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Clears the override of a telmetry point in the Command and Telemetry Server."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'normalize_tlm("<Target> <Packet> <Item>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item"}),(0,s.jsx)(t.td,{children:"Item name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Type to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides\nnormalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides\nnormalize_tlm("INST HEALTH_STATUS TEMP1", type=\'RAW\') # clear only the RAW override\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_overrides",children:"get_overrides"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_overrides()\n"})}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'override_tlm("INST HEALTH_STATUS TEMP1 = 5")\nputs get_overrides() #=>\n# [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5}\n# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5}\n# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"}\n# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"override_tlm(\"INST HEALTH_STATUS TEMP1 = 5\")\nprint(get_overrides()) #=>\n# [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5},\n# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5},\n# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'},\n# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ]\n"})}),"\n",(0,s.jsx)(t.h2,{id:"packet-data-subscriptions",children:"Packet Data Subscriptions"}),"\n",(0,s.jsx)(t.p,{children:"Methods for subscribing to specific packets of data. This provides an interface to ensure that each telemetry packet is received and handled rather than relying on polling where some data may be missed."}),"\n",(0,s.jsx)(t.h3,{id:"subscribe_packets-since-503",children:"subscribe_packets (since 5.0.3)"}),"\n",(0,s.jsx)(t.p,{children:"Allows the user to listen for one or more telemetry packets of data to arrive. A unique id is returned which is used to retrieve the data."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"subscribe_packets(packets)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"packets"}),(0,s.jsx)(t.td,{children:"Nested array of target name/packet name pairs that the user wishes to subscribe to."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_packets-since-503",children:"get_packets (since 5.0.3)"}),"\n",(0,s.jsx)(t.p,{children:"Streams packet data from a previous subscription."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_packets(id, block: nil, count: 1000)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"get_packets(id, block=None, count=1000)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"id"}),(0,s.jsx)(t.td,{children:"Unique id returned by subscribe_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"block"}),(0,s.jsx)(t.td,{children:"Number of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"count"}),(0,s.jsx)(t.td,{children:"Maximum number of packets to return from EACH packet stream"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait 0.1\nid, packets = get_packets(id)\npackets.each do |packet|\n puts \"#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}\"\nend\n# Reuse ID from last call, allow for 1s wait, only get 1 packet\nid, packets = get_packets(id, block: 1000, count: 1)\npackets.each do |packet|\n puts \"#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}\"\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait(0.1)\nid, packets = get_packets(id)\nfor packet in packets:\n print(f\"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}\")\n\n# Reuse ID from last call, allow for 1s wait, only get 1 packet\nid, packets = get_packets(id, block=1000, count=1)\nfor packet in packets:\n print(f\"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}\")\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_cnt-1",children:"get_tlm_cnt"}),"\n",(0,s.jsx)(t.p,{children:"Get the receive count for a telemetry packet"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnt("<Target> <Packet>")\nget_tlm_cnt("<Target>", "<Packet>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnt("INST HEALTH_STATUS") #=> 10\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_cnts",children:"get_tlm_cnts"}),"\n",(0,s.jsx)(t.p,{children:"Get the receive counts for an array of telemetry packets"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]])\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]]) #=> [100, 10]\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_packet_derived_items",children:"get_packet_derived_items"}),"\n",(0,s.jsx)(t.p,{children:"Get the list of derived telemetry items for a packet"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_packet_derived_items("<Target> <Packet>")\nget_packet_derived_items("<Target>", "<Packet>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_packet_derived_items(\"INST HEALTH_STATUS\") #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...]\n"})}),"\n",(0,s.jsx)(t.h2,{id:"delays",children:"Delays"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to pause the script to wait for telemetry to change or for an amount of time to pass."}),"\n",(0,s.jsx)(t.h3,{id:"wait",children:"wait"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script for a configurable amount of time (minimum 10ms) or until a converted telemetry item meets given criteria. It supports three different syntaxes as shown. If no parameters are given then an infinite wait occurs until the user presses Go. Note that on a timeout, wait does not stop the script, usually wait_check is a better choice."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"elapsed = wait() #=> Returns the actual time waited\nelapsed = wait(<Time>) #=> Returns the actual time waited\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Time"}),(0,s.jsx)(t.td,{children:"Time in Seconds to delay for."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the expression is true or false\nsuccess = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Comparison"}),(0,s.jsx)(t.td,{children:"A comparison to perform against the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'elapsed = wait\nelapsed = wait 5\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10)\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'elapsed = wait()\nelapsed = wait(5)\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10)\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type=\'RAW\', quiet=False)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_tolerance",children:"wait_tolerance"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script for a configurable amount of time or until a converted telemetry item meets equals an expected value within a tolerance. Note that on a timeout, wait_tolerance does not stop the script, usually wait_check_tolerance is a better choice."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the expression is true or false\nsuccess = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expected Value"}),(0,s.jsx)(t.td,{children:"Expected value of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tolerance"}),(0,s.jsx)(t.td,{children:"\xb1 Tolerance on the expected value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Examples:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nsuccess = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Examples:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nsuccess = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type=\'RAW\', quiet=True)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_expression",children:"wait_expression"}),"\n",(0,s.jsxs)(t.p,{children:["Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually ",(0,s.jsx)(t.a,{href:"#wait_check_expression",children:"wait_check_expression"})," is a better choice."]}),"\n",(0,s.jsx)(t.p,{children:"Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the expression is true or false\nsuccess = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expression"}),(0,s.jsx)(t.td,{children:"A ruby expression to evaluate."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"success = wait_expression(\"tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0\", 10)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"wait_packet",children:"wait_packet"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script until a certain number of packets have been received. If a timeout occurs the script will continue. Note that on a timeout, wait_packet does not stop the script, usually wait_check_packet is a better choice."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the packet was received\nsuccess = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"The target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"The packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Num Packets"}),(0,s.jsx)(t.td,{children:"The number of packets to receive"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s\n"})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check",children:"wait_check"}),"\n",(0,s.jsx)(t.p,{children:"Combines the wait and check keywords into one. This pauses the script until the converted value of a telemetry item meets given criteria or times out. On a timeout the script stops."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the expression\nelapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Comparison"}),(0,s.jsx)(t.td,{children:"A comparison to perform against the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)\nelapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)\nelapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check_tolerance",children:"wait_check_tolerance"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script for a configurable amount of time or until a converted telemetry item equals an expected value within a tolerance. On a timeout the script stops."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the expression\nelapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expected Value"}),(0,s.jsx)(t.td,{children:"Expected value of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tolerance"}),(0,s.jsx)(t.td,{children:"\xb1 Tolerance on the expected value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nelapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nelapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check_expression",children:"wait_check_expression"}),"\n",(0,s.jsxs)(t.p,{children:["Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for ",(0,s.jsx)(t.a,{href:"#check_expression",children:"check_expression"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the expression\nelapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expression"}),(0,s.jsx)(t.td,{children:"A ruby expression to evaluate."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"elapsed = wait_check_expression(\"tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0\", 10)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check_packet",children:"wait_check_packet"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script until a certain number of packets have been received. If a timeout occurs the script will stop."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the packets\nelapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"The target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"The packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Num Packets"}),(0,s.jsx)(t.td,{children:"The number of packets to receive"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting specified number of packets."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s\n"})}),"\n",(0,s.jsx)(t.h2,{id:"limits",children:"Limits"}),"\n",(0,s.jsx)(t.p,{children:"These methods deal with handling telemetry limits."}),"\n",(0,s.jsx)(t.h3,{id:"limits_enabled-limits_enabled",children:"limits_enabled?, limits_enabled"}),"\n",(0,s.jsx)(t.p,{children:"The limits_enabled? method returns true/false depending on whether limits are enabled for a telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'limits_enabled?("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'limits_enabled("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False\n'})}),"\n",(0,s.jsx)(t.h3,{id:"enable_limits",children:"enable_limits"}),"\n",(0,s.jsx)(t.p,{children:"Enables limits monitoring for the specified telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits("INST HEALTH_STATUS TEMP1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disable_limits",children:"disable_limits"}),"\n",(0,s.jsx)(t.p,{children:"Disables limits monitoring for the specified telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits("INST HEALTH_STATUS TEMP1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"enable_limits_group",children:"enable_limits_group"}),"\n",(0,s.jsx)(t.p,{children:"Enables limits monitoring on a set of telemetry items specified in a limits group."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits_group("<Limits Group Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Group Name"}),(0,s.jsx)(t.td,{children:"Name of the limits group."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits_group("SAFE_MODE")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disable_limits_group",children:"disable_limits_group"}),"\n",(0,s.jsx)(t.p,{children:"Disables limits monitoring on a set of telemetry items specified in a limits group."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits_group("<Limits Group Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Group Name"}),(0,s.jsx)(t.td,{children:"Name of the limits group."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits_group("SAFE_MODE")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_groups",children:"get_limits_groups"}),"\n",(0,s.jsx)(t.p,{children:"Returns the list of limits groups in the system."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"limits_groups = get_limits_groups()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_limits_set",children:"set_limits_set"}),"\n",(0,s.jsx)(t.p,{children:"Sets the current limits set. The default limits set is DEFAULT."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_limits_set("<Limits Set Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Set Name"}),(0,s.jsx)(t.td,{children:"Name of the limits set."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_limits_set("DEFAULT")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_set",children:"get_limits_set"}),"\n",(0,s.jsx)(t.p,{children:"Returns the name of the current limits set. The default limits set is DEFAULT."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"limits_set = get_limits_set()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_sets",children:"get_limits_sets"}),"\n",(0,s.jsx)(t.p,{children:"Returns the list of limits sets in the system."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"limits_sets = get_limits_sets()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits",children:"get_limits"}),"\n",(0,s.jsx)(t.p,{children:"Returns hash / dict of all the limits settings for a telemetry point."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_limits(<Target Name>, <Packet Name>, <Item Name>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')\nputs result #=> {\"DEFAULT\"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], \"TVAC\"=>[-80.0, -30.0, 30.0, 80.0]}\nputs result.keys #=> ['DEFAULT', 'TVAC']\nputs result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')\nprint(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]}\nprint(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC'])\nprint(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_limits",children:"set_limits"}),"\n",(0,s.jsx)(t.p,{children:"The set_limits_method sets limits settings for a telemetry point. Note: In most cases it would be better to update your config files or use different limits sets rather than changing limits settings in realtime."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Red Low"}),(0,s.jsx)(t.td,{children:"Red Low setting for this limits set. Any value below this value will be make the item red."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Yellow Low"}),(0,s.jsx)(t.td,{children:"Yellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Yellow High"}),(0,s.jsx)(t.td,{children:"Yellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Red High"}),(0,s.jsx)(t.td,{children:"Red High setting for this limits set. Any value above this value will be make the item red."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Green Low"}),(0,s.jsx)(t.td,{children:"Optional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Green High"}),(0,s.jsx)(t.td,{children:"Optional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Set"}),(0,s.jsx)(t.td,{children:"Optional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Persistence"}),(0,s.jsx)(t.td,{children:"Optional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Enabled"}),(0,s.jsx)(t.td,{children:"Optional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_out_of_limits",children:"get_out_of_limits"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array with the target_name, packet_name, item_name, and limits_state of all items that are out of their limits ranges."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"out_of_limits_items = get_out_of_limits()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_overall_limits_state",children:"get_overall_limits_state"}),"\n",(0,s.jsx)(t.p,{children:"Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_overall_limits_state(<Ignored Items> (optional))\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Ignored Items"}),(0,s.jsx)(t.td,{children:"Array of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...]"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"overall_limits_state = get_overall_limits_state()\noverall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']])\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_events",children:"get_limits_events"}),"\n",(0,s.jsx)(t.p,{children:"Returns limits events based on an offset returned from the last time it was called."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_limits_event(<Offset>, count)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Offset"}),(0,s.jsx)(t.td,{children:"Offset returned by the previous call to get_limits_event. Default is nil for the initial call"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"count"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the maximum number of limits events to return. Default is 100"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'events = get_limits_event()\nprint(events)\n#[["1613077715557-0",\n# {"type"=>"LIMITS_CHANGE",\n# "target_name"=>"TGT",\n# "packet_name"=>"PKT",\n# "item_name"=>"ITEM",\n# "old_limits_state"=>"YELLOW_LOW",\n# "new_limits_state"=>"RED_LOW",\n# "time_nsec"=>"1",\n# "message"=>"message"}],\n# ["1613077715557-1",\n# {"type"=>"LIMITS_CHANGE",\n# "target_name"=>"TGT",\n# "packet_name"=>"PKT",\n# "item_name"=>"ITEM",\n# "old_limits_state"=>"RED_LOW",\n# "new_limits_state"=>"YELLOW_LOW",\n# "time_nsec"=>"2",\n# "message"=>"message"}]]\n# The last offset is the first item ([0]) in the last event ([-1])\nevents = get_limits_event(events[-1][0])\nprint(events)\n#[["1613077715657-0",\n# {"type"=>"LIMITS_CHANGE",\n# ...\n'})}),"\n",(0,s.jsx)(t.h2,{id:"targets",children:"Targets"}),"\n",(0,s.jsx)(t.p,{children:"Methods for getting knowledge about targets."}),"\n",(0,s.jsx)(t.h3,{id:"get_target_names",children:"get_target_names"}),"\n",(0,s.jsx)(t.p,{children:"Returns a list of the targets in the system in an array."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_target",children:"get_target"}),"\n",(0,s.jsx)(t.p,{children:"Returns a target hash containing all the information about the target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_target("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'target = get_target("INST")\nprint(target)\n#{"name"=>"INST",\n# "folder_name"=>"INST",\n# "requires"=>[],\n# "ignored_parameters"=>\n# ["CCSDSVER",\n# "CCSDSTYPE",\n# "CCSDSSHF",\n# "CCSDSAPID",\n# "CCSDSSEQFLAGS",\n# "CCSDSSEQCNT",\n# "CCSDSLENGTH",\n# "PKTID"],\n# "ignored_items"=>\n# ["CCSDSVER",\n# "CCSDSTYPE",\n# "CCSDSSHF",\n# "CCSDSAPID",\n# "CCSDSSEQFLAGS",\n# "CCSDSSEQCNT",\n# "CCSDSLENGTH",\n# "RECEIVED_COUNT",\n# "RECEIVED_TIMESECONDS",\n# "RECEIVED_TIMEFORMATTED"],\n# "limits_groups"=>[],\n# "cmd_tlm_files"=>\n# [".../targets/INST/cmd_tlm/inst_cmds.txt",\n# ".../targets/INST/cmd_tlm/inst_tlm.txt"],\n# "cmd_unique_id_mode"=>false,\n# "tlm_unique_id_mode"=>false,\n# "id"=>nil,\n# "updated_at"=>1613077058266815900,\n# "plugin"=>nil}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_target_interfaces",children:"get_target_interfaces"}),"\n",(0,s.jsx)(t.p,{children:"Returns the interfaces for all targets. The return value is an array of arrays where each subarray contains the target name, and a String of all the interface names."}),"\n",(0,s.jsx)(t.p,{children:"Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'target_ints = get_target_interfaces()\ntarget_ints.each do |target_name, interfaces|\n puts "Target: #{target_name}, Interfaces: #{interfaces}"\nend\n'})}),"\n",(0,s.jsx)(t.h2,{id:"interfaces",children:"Interfaces"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to manipulate COSMOS interfaces."}),"\n",(0,s.jsx)(t.h3,{id:"get_interface-since-500",children:"get_interface (since 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an interface status including the as built interface and its current status (cmd/tlm counters, etc)."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:'get_interface("<Interface Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface = get_interface("INST_INT")\nprint(interface)\n#{"name"=>"INST_INT",\n# "config_params"=>["interface.rb"],\n# "target_names"=>["INST"],\n# "connect_on_startup"=>true,\n# "auto_reconnect"=>true,\n# "reconnect_delay"=>5.0,\n# "disable_disconnect"=>false,\n# "options"=>[],\n# "protocols"=>[],\n# "log"=>true,\n# "log_raw"=>false,\n# "plugin"=>nil,\n# "updated_at"=>1613076213535979900,\n# "state"=>"CONNECTED",\n# "clients"=>0,\n# "txsize"=>0,\n# "rxsize"=>0,\n# "txbytes"=>0,\n# "rxbytes"=>0,\n# "txcnt"=>0,\n# "rxcnt"=>0}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_interface_names",children:"get_interface_names"}),"\n",(0,s.jsx)(t.p,{children:"Returns a list of the interfaces in the system in an array."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"connect_interface",children:"connect_interface"}),"\n",(0,s.jsx)(t.p,{children:"Connects to targets associated with a COSMOS interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_interface("<Interface Name>", <Interface Parameters (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Parameters"}),(0,s.jsx)(t.td,{children:"Parameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_interface("INT1")\nconnect_interface("INT1", hostname, port)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disconnect_interface",children:"disconnect_interface"}),"\n",(0,s.jsx)(t.p,{children:"Disconnects from targets associated with a COSMOS interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_interface("<Interface Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_interface("INT1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"start_raw_logging_interface",children:"start_raw_logging_interface"}),"\n",(0,s.jsx)(t.p,{children:"Starts logging of raw data on one or all interfaces. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_interface("<Interface Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_interface("int1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"stop_raw_logging_interface",children:"stop_raw_logging_interface"}),"\n",(0,s.jsx)(t.p,{children:"Stops logging of raw data on one or all interfaces. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_interface("<Interface Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_interface("int1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_interface_info",children:"get_all_interface_info"}),"\n",(0,s.jsx)(t.p,{children:"Returns information about all interfaces. The return value is an array of arrays where each subarray contains the interface name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, command count, and telemetry count."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_info = get_all_interface_info()\ninterface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count|\n puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"\n puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"\n puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}"\nend\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'interface_info = get_all_interface_info()\nfor interface in interface_info():\n # [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count]\n print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}")\n print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}")\n print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"map_target_to_interface",children:"map_target_to_interface"}),"\n",(0,s.jsx)(t.p,{children:"Map a target to an interface allowing target commands and telemetry to be processed by that interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cmd_only"}),(0,s.jsx)(t.td,{children:"Named parameter whether to map target commands only to the interface (default: false)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tlm_only"}),(0,s.jsx)(t.td,{children:"Named parameter whether to map target telemetry only to the interface (default: false)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unmap_old"}),(0,s.jsx)(t.td,{children:"Named parameter whether remove the target from all existing interfaces (default: true)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'map_target_to_interface("INST", "INST_INT", unmap_old: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'map_target_to_interface("INST", "INST_INT", unmap_old=False)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"interface_cmd",children:"interface_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to an interface. This has no effect in the standard COSMOS interfaces but can be implemented by a custom interface to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_cmd("INST", "DISABLE_CRC")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"interface_protocol_cmd",children:"interface_protocol_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to an interface protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"read_write"}),(0,s.jsx)(t.td,{children:"Whether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index"}),(0,s.jsx)(t.td,{children:"Which protocol in the stack the command should apply to. The default is -1 which applies the command to all."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'interface_protocol_cmd("INST", "DISABLE_CRC", read_write=\'READ_WRITE\', index=-1)\n'})}),"\n",(0,s.jsx)(t.h2,{id:"routers",children:"Routers"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to manipulate COSMOS routers."}),"\n",(0,s.jsx)(t.h3,{id:"connect_router",children:"connect_router"}),"\n",(0,s.jsx)(t.p,{children:"Connects a COSMOS router."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_router("<Router Name>", <Router Parameters (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Parameters"}),(0,s.jsx)(t.td,{children:"Parameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_ROUTER("INST_ROUTER")\nconnect_router("INST_ROUTER", 7779, 7779, nil, 10.0, \'PREIDENTIFIED\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disconnect_router",children:"disconnect_router"}),"\n",(0,s.jsx)(t.p,{children:"Disconnects a COSMOS router."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_router("<Router Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_router("INT1_ROUTER")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_router_names",children:"get_router_names"}),"\n",(0,s.jsx)(t.p,{children:"Returns a list of the routers in the system in an array."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"router_names = get_router_names() #=> ['ROUTER_INT']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_router-since-500",children:"get_router (since 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a router status including the as built router and its current status (cmd/tlm counters, etc)."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_router("<Router Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router = get_router("ROUTER_INT")\nprint(router)\n#{"name"=>"ROUTER_INT",\n# "config_params"=>["router.rb"],\n# "target_names"=>["INST"],\n# "connect_on_startup"=>true,\n# "auto_reconnect"=>true,\n# "reconnect_delay"=>5.0,\n# "disable_disconnect"=>false,\n# "options"=>[],\n# "protocols"=>[],\n# "log"=>true,\n# "log_raw"=>false,\n# "plugin"=>nil,\n# "updated_at"=>1613076213535979900,\n# "state"=>"CONNECTED",\n# "clients"=>0,\n# "txsize"=>0,\n# "rxsize"=>0,\n# "txbytes"=>0,\n# "rxbytes"=>0,\n# "txcnt"=>0,\n# "rxcnt"=>0}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_router_info",children:"get_all_router_info"}),"\n",(0,s.jsx)(t.p,{children:"Returns information about all routers. The return value is an array of arrays where each subarray contains the router name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, packets received, and packets sent."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_info = get_all_router_info()\nrouter_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent|\n puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"\n puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"\n puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}"\nend\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'router_info = get_all_router_info()\n# router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent\nfor router in router_info:\n print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}")\n print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}")\n print(f"Packets received: {router[7]}, Packets sent: {router[8]}")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"start_raw_logging_router",children:"start_raw_logging_router"}),"\n",(0,s.jsx)(t.p,{children:"Starts logging of raw data on one or all routers. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_router("<Router Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_router("router1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"stop_raw_logging_router",children:"stop_raw_logging_router"}),"\n",(0,s.jsx)(t.p,{children:"Stops logging of raw data on one or all routers. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_router("<Router Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_router("router1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"router_cmd",children:"router_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to a router. This has no effect in the standard COSMOS routers but can be implemented by a custom router to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_cmd("INST", "DISABLE_CRC")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"router_protocol_cmd",children:"router_protocol_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to an router protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"read_write"}),(0,s.jsx)(t.td,{children:"Whether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index"}),(0,s.jsx)(t.td,{children:"Which protocol in the stack the command should apply to. The default is -1 which applies the command to all."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'router_protocol_cmd("INST", "DISABLE_CRC", read_write=\'READ_WRITE\', index=-1)\n'})}),"\n",(0,s.jsx)(t.h2,{id:"stashing-data",children:"Stashing Data"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to store temporary data into COSMOS and retrieve it. The storage is implemented as a key / value storage (Ruby hash or Python dict). This can be used in scripts to store information that applies across multiple scripts or multiple runs of a single script."}),"\n",(0,s.jsx)(t.h3,{id:"stash_set",children:"stash_set"}),"\n",(0,s.jsx)(t.p,{children:"Sets a stash item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_set("<Stash Key>", <Stash Value>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Key"}),(0,s.jsx)(t.td,{children:"Name of the stash key to set"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Value"}),(0,s.jsx)(t.td,{children:"Value to set"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_set('run_count', 5)\nstash_set('setpoint', 23.4)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_get",children:"stash_get"}),"\n",(0,s.jsx)(t.p,{children:"Returns the specified stash item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_get("<Stash Key>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Key"}),(0,s.jsx)(t.td,{children:"Name of the stash key to return"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_get('run_count') #=> 5\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_all",children:"stash_all"}),"\n",(0,s.jsx)(t.p,{children:"Returns all the stash items as a Ruby hash or Python dict."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_all() #=> ['run_count' => 5, 'setpoint' => 23.4]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_all() #=> ['run_count': 5, 'setpoint': 23.4]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_keys",children:"stash_keys"}),"\n",(0,s.jsx)(t.p,{children:"Returns all the stash keys."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_keys() #=> ['run_count', 'setpoint']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_delete",children:"stash_delete"}),"\n",(0,s.jsx)(t.p,{children:"Deletes a stash item. Note this actions is permanent!"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_delete("<Stash Key>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Key"}),(0,s.jsx)(t.td,{children:"Name of the stash key to delete"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_delete("run_count")\n'})}),"\n",(0,s.jsx)(t.h2,{id:"executing-other-procedures",children:"Executing Other Procedures"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to bring in files of subroutines and execute other test procedures."}),"\n",(0,s.jsx)(t.h3,{id:"start",children:"start"}),"\n",(0,s.jsx)(t.p,{children:"Starts execution of another high level test procedure. No parameters can be given to high level test procedures. If parameters are necessary, then consider using a subroutine."}),"\n",(0,s.jsx)(t.p,{children:"Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start("<Procedure Filename>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Procedure Filename"}),(0,s.jsx)(t.td,{children:"Name of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start("test1.rb")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"load_utility",children:"load_utility"}),"\n",(0,s.jsx)(t.p,{children:"Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'load_utility("TARGET/lib/<Utility Filename>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Utility Filename"}),(0,s.jsx)(t.td,{children:"Name of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'load_utility("TARGET/lib/mode_changes.rb") # Ruby\nload_utility("TARGET/lib/mode_changes.py") # Python\n'})}),"\n",(0,s.jsx)(t.h2,{id:"opening-closing--creating-telemetry-screens",children:"Opening, Closing & Creating Telemetry Screens"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to open, close or create unique telemetry screens from within a test procedure."}),"\n",(0,s.jsx)(t.h3,{id:"display_screen",children:"display_screen"}),"\n",(0,s.jsx)(t.p,{children:"Opens a telemetry screen at the specified position."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"X Position"}),(0,s.jsx)(t.td,{children:"X coordinate for the upper left hand corner of the screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Y Position"}),(0,s.jsx)(t.td,{children:"Y coordinate for the upper left hand corner of the screen"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'display_screen("INST", "ADCS", 100, 200)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"clear_screen",children:"clear_screen"}),"\n",(0,s.jsx)(t.p,{children:"Closes an open telemetry screen."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'clear_screen("<Target Name>", "<Screen Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'clear_screen("INST", "ADCS")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"clear_all_screens",children:"clear_all_screens"}),"\n",(0,s.jsx)(t.p,{children:"Closes all open screens."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"clear_all_screens()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"delete_screen",children:"delete_screen"}),"\n",(0,s.jsx)(t.p,{children:"Deletes an existing Telemetry Viewer screen."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'delete_screen("<Target Name>", "<Screen Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'delete_screen("INST", "ADCS")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_screen_list",children:"get_screen_list"}),"\n",(0,s.jsx)(t.p,{children:"The get_screen_list returns a list of available telemetry screens."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_screen_definition",children:"get_screen_definition"}),"\n",(0,s.jsx)(t.p,{children:"The get_screen_definition returns the text file contents of a telemetry screen definition."}),"\n",(0,s.jsx)(t.p,{children:"Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_screen_definition("<Target Name>", "<Screen Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'screen_definition = get_screen_definition("INST", "HS")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"create_screen",children:"create_screen"}),"\n",(0,s.jsx)(t.p,{children:"The create_screen allows you to create a screen directly from a script. This screen is saved to Telemetry Viewer for future use in that application."}),"\n",(0,s.jsx)(t.p,{children:"Python / Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'create_screen("<Target Name>", "<Screen Name>" "<Definition>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Definition"}),(0,s.jsx)(t.td,{children:"The entire screen definition as a String"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'screen_def = \'\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "New Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n\'\n# Here we pass in the screen definition as a string\ncreate_screen("INST", "LOCAL", screen_def)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'screen_def = \'\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "New Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n\'\n# Here we pass in the screen definition as a string\ncreate_screen("INST", "LOCAL", screen_def)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"local_screen",children:"local_screen"}),"\n",(0,s.jsx)(t.p,{children:"The local_screen allows you to create a local screen directly from a script which is not permanently saved to the Telemetry Viewer screen list. This is useful for one off screens that help users interact with scripts."}),"\n",(0,s.jsx)(t.p,{children:"Python / Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Definition"}),(0,s.jsx)(t.td,{children:"The entire screen definition as a String"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"X Position"}),(0,s.jsx)(t.td,{children:"X coordinate for the upper left hand corner of the screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Y Position"}),(0,s.jsx)(t.td,{children:"Y coordinate for the upper left hand corner of the screen"})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["NOTE: It is possible to specify a X, Y location off the visible display. If you do so and try to re-create the screen it will not display (because it is already displayed). Try issuing a ",(0,s.jsx)(t.code,{children:"clear_all_screens()"})," first to clear any screens off the visible display space."]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'screen_def = \'\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "Local Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n\'\n# Here we pass in the screen definition as a string\nlocal_screen("TESTING", screen_def, 600, 75)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'screen_def = """\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "Local Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n"""\n# Here we pass in the screen definition as a string\nlocal_screen("TESTING", screen_def, 600, 75)\n'})}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-settings",children:"Script Runner Settings"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to control various Script Runner settings."}),"\n",(0,s.jsx)(t.h3,{id:"set_line_delay",children:"set_line_delay"}),"\n",(0,s.jsx)(t.p,{children:"This method sets the line delay in script runner."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_line_delay(<Delay>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Delay"}),(0,s.jsx)(t.td,{children:"The amount of time script runner will wait between lines when executing a script, in seconds. Should be \u2265 0.0"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_line_delay(0.0)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_line_delay",children:"get_line_delay"}),"\n",(0,s.jsx)(t.p,{children:"The method gets the line delay that script runner is currently using."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"curr_line_delay = get_line_delay()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_max_output",children:"set_max_output"}),"\n",(0,s.jsx)(t.p,{children:"This method sets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_max_output(<Characters>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Characters"}),(0,s.jsx)(t.td,{children:"Number of characters to output before truncating"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_max_output(100)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_max_output",children:"get_max_output"}),"\n",(0,s.jsx)(t.p,{children:"The method gets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"print(get_max_output()) #=> 50000\n"})}),"\n",(0,s.jsx)(t.h3,{id:"disable_instrumentation",children:"disable_instrumentation"}),"\n",(0,s.jsx)(t.p,{children:"Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented.\nConsider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script."}),"\n",(0,s.jsx)(t.admonition,{title:"Use with Caution",type:"warning",children:(0,s.jsx)(t.p,{children:"Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop."})}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"disable_instrumentation do\n 1000.times do\n # Don't want this to have to highlight 1000 times\n end\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"with disable_instrumentation():\n for x in range(1000):\n # Don't want this to have to highlight 1000 times\n"})}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-suites",children:"Script Runner Suites"}),"\n",(0,s.jsxs)(t.p,{children:["Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see ",(0,s.jsx)(t.a,{href:"/docs/tools/script-runner#running-script-suites",children:"running script suites"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"add_group-add_group_setup-add_group_teardown-add_script",children:"add_group, add_group_setup, add_group_teardown, add_script"}),"\n",(0,s.jsx)(t.p,{children:"Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"add_group(<Group Class>)\nadd_group_setup(<Group Class>)\nadd_group_teardown(<Group Class>)\nadd_script(<Group Class>, <Method>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Group Class"}),(0,s.jsx)(t.td,{children:"Name of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Method"}),(0,s.jsx)(t.td,{children:"Name of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"load 'openc3/script/suite.rb'\n\nclass ExampleGroup < OpenC3::Group\n def script_1\n # Insert test code here ...\n end\nend\nclass WrapperGroup < OpenC3::Group\n def setup\n # Insert test code here ...\n end\n def my_method\n # Insert test code here ...\n end\n def teardown\n # Insert test code here ...\n end\nend\n\nclass MySuite < OpenC3::Suite\n def initialize\n super()\n add_group('ExampleGroup')\n add_group_setup('WrapperGroup')\n add_script('WrapperGroup', 'my_method')\n add_group_teardown('WrapperGroup')\n end\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"from openc3.script import *\nfrom openc3.script.suite import Group, Suite\n\nclass ExampleGroup(Group):\n def script_1(self):\n # Insert test code here ...\n pass\nclass WrapperGroup(Group):\n def setup(self):\n # Insert test code here ...\n pass\n def my_method(self):\n # Insert test code here ...\n pass\n def teardown(self):\n # Insert test code here ...\n pass\nclass MySuite(Suite):\n def __init__(self):\n super().__init__()\n self.add_group(ExampleGroup)\n self.add_group_setup(WrapperGroup)\n self.add_script(WrapperGroup, 'my_method')\n self.add_group_teardown(WrapperGroup)\n"})}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-debugging",children:"Script Runner Debugging"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to debug scripts with ScriptRunner."}),"\n",(0,s.jsx)(t.h3,{id:"step_mode",children:"step_mode"}),"\n",(0,s.jsx)(t.p,{children:"Places ScriptRunner into step mode where Go must be hit to proceed to the next line."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"step_mode()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"run_mode",children:"run_mode"}),"\n",(0,s.jsx)(t.p,{children:"Places ScriptRunner into run mode where the next line is run automatically."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"run_mode()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"disconnect_script",children:"disconnect_script"}),"\n",(0,s.jsx)(t.p,{children:"Puts scripting into disconnect mode. In disconnect mode, commands are not sent to targets, checks are all successful, and waits expire instantly. Requests for telemetry (tlm()) typically return 0. Disconnect mode is useful for dry-running scripts without having connected targets."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"disconnect_script()\n"})}),"\n",(0,s.jsx)(t.h2,{id:"metadata",children:"Metadata"}),"\n",(0,s.jsx)(t.p,{children:"Metadata allows you to mark the regular target / packet data logged in COSMOS with your own fields. This metadata can then be searched and used to filter data when using other COSMOS tools."}),"\n",(0,s.jsx)(t.h3,{id:"metadata_all",children:"metadata_all"}),"\n",(0,s.jsx)(t.p,{children:"Returns all the metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_all()\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"limit"}),(0,s.jsx)(t.td,{children:"Amount of metadata items to return. Default is 100."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_all(limit: 500)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_all(limit='500')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_get",children:"metadata_get"}),"\n",(0,s.jsx)(t.p,{children:"Returns metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_get(start)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start"}),(0,s.jsx)(t.td,{children:"Named parameter, time at which to retrieve metadata as integer seconds from epoch"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_get(start: 500)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_get(start='500')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_set",children:"metadata_set"}),"\n",(0,s.jsx)(t.p,{children:"Returns metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_set(<Metadata>, start, color)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Metadata"}),(0,s.jsx)(t.td,{children:"Hash or dict of key value pairs to store as metadata."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start"}),(0,s.jsx)(t.td,{children:"Named parameter, time at which to store metadata. Default is now."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"color"}),(0,s.jsx)(t.td,{children:"Named parameter, color to display metadata in the calendar. Default is #003784."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_set({ 'key' => 'value' })\nmetadata_set({ 'key' => 'value' }, color: '#ff5252')\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_set({ 'key': 'value' })\nmetadata_set({ 'key': 'value' }, color='ff5252')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_update",children:"metadata_update"}),"\n",(0,s.jsx)(t.p,{children:"Updates metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_update(<Metadata>, start, color)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Metadata"}),(0,s.jsx)(t.td,{children:"Hash or dict of key value pairs to update as metadata."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start"}),(0,s.jsx)(t.td,{children:"Named parameter, time at which to update metadata. Default is latest metadata."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"color"}),(0,s.jsx)(t.td,{children:"Named parameter, color to display metadata in the calendar. Default is #003784."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_update({ 'key' => 'value' })\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_update({ 'key': 'value' })\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_input",children:"metadata_input"}),"\n",(0,s.jsx)(t.p,{children:"Prompts the user to set existing metadata values or create new a new one."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_input()\n"})}),"\n",(0,s.jsx)(t.h2,{id:"settings",children:"Settings"}),"\n",(0,s.jsx)(t.p,{children:"COSMOS has several settings typically accessed through the Admin Settings tab. These APIs allow programmatic access to those same settings."}),"\n",(0,s.jsx)(t.h3,{id:"list_settings",children:"list_settings"}),"\n",(0,s.jsx)(t.p,{children:"Return all the current COSMOS setting name. These are the names that should be used in the other APIs."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_settings",children:"get_all_settings"}),"\n",(0,s.jsx)(t.p,{children:"Return all the current COSMOS settings along with their values."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'puts get_all_settings() #=>\n# { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507},\n# "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007},\n# "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465},\n# "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} }\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"print(get_all_settings()) #=>\n# { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507},\n# 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007},\n# 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465},\n# 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} }\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_setting-get_settings",children:"get_setting, get_settings"}),"\n",(0,s.jsx)(t.p,{children:"Return the data from the given COSMOS setting. Returns nil (Ruby) or None (Python) if the setting does not exist."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_setting(<Setting Name>)\nget_settings(<Setting Name1>, <Setting Name2>, ...)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Setting Name"}),(0,s.jsx)(t.td,{children:"Name of the setting to return"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"puts get_setting('version') #=> \"5.11.4-beta0\"\nputs get_settings('version', 'rubygems_url') #=> [\"5.11.4-beta0\", \"https://rubygems.org\"]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"print(get_setting('version')) #=> '5.11.4-beta0'\nprint(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_setting",children:"set_setting"}),"\n",(0,s.jsx)(t.p,{children:"Sets the given setting value."}),"\n",(0,s.jsx)(t.admonition,{title:"Admin Passwork Required",type:"note",children:(0,s.jsx)(t.p,{children:"This API is only accessible externally (not within Script Runner) and requires the admin password."})}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_setting(<Setting Name>, <Setting Value>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Setting Name"}),(0,s.jsx)(t.td,{children:"Name of the setting to change"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Setting Value"}),(0,s.jsx)(t.td,{children:"Setting value to set"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_setting('rubygems_url', 'https://mygemserver')\nputs get_settings('rubygems_url') #=> \"https://mygemserver\"\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"set_setting('pypi_url', 'https://mypypiserver')\nprint(get_settings('pypi_url')) #=> 'https://mypypiserver'\n"})}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(t.p,{children:"Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration."}),"\n",(0,s.jsx)(t.h3,{id:"config_tool_names",children:"config_tool_names"}),"\n",(0,s.jsx)(t.p,{children:"List all the configuration tool names which are used as the first parameter in the other APIs."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'names = config_tool_names()\npp names #=> ["telemetry_grapher", "data_viewer"]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"names = config_tool_names()\nprint(names) #=> ['telemetry_grapher', 'data_viewer']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"list_configs",children:"list_configs"}),"\n",(0,s.jsx)(t.p,{children:"List all the saved configuration names under the given tool name."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"list_configs(<Tool Name>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool to retrieve configuration names from"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"configs = list_configs('telemetry_grapher')\npp configs #=> ['adcs', 'temps']\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"configs = list_configs('telemetry_grapher')\nprint(configs) #=> ['adcs', 'temps']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"load_config",children:"load_config"}),"\n",(0,s.jsx)(t.p,{children:"Load a particular tool configuration."}),"\n",(0,s.jsx)(t.admonition,{title:"Tool Configuration",type:"note",children:(0,s.jsx)(t.p,{children:"Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys."})}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"load_config(<Tool Name>, <Configuration Name>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Configuration Name"}),(0,s.jsx)(t.td,{children:"Name of the configuration"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'config = load_config(\'telemetry_grapher\', \'adcs\')\nprint(config) #=>\n# [ {\n# "items": [\n# {\n# "targetName": "INST",\n# "packetName": "ADCS",\n# "itemName": "CCSDSVER",\n# ...\n'})}),"\n",(0,s.jsx)(t.h3,{id:"save_config",children:"save_config"}),"\n",(0,s.jsx)(t.p,{children:"Save a particular tool configuration."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"save_config(<Tool Name>, <Configuration Name>, local_mode)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Configuration Name"}),(0,s.jsx)(t.td,{children:"Name of the configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"local_mode"}),(0,s.jsx)(t.td,{children:"Whether to save the configuration in local mode"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"save_config('telemetry_grapher', 'adcs', config)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"delete_config",children:"delete_config"}),"\n",(0,s.jsx)(t.p,{children:"Delete a particular tool configuration."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"delete_config(<Tool Name>, <Configuration Name>, local_mode)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Configuration Name"}),(0,s.jsx)(t.td,{children:"Name of the configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"local_mode"}),(0,s.jsx)(t.td,{children:"Whether to delete the configuration in local mode"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"delete_config('telemetry_grapher', 'adcs')\n"})})]})}function o(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},65:function(e,t,n){n.d(t,{Z:function(){return l},a:function(){return i}});var r=n(7294);let s={},a=r.createContext(s);function i(e){let t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/aa6b6c1b.965ec36f.js b/docs/assets/js/aa6b6c1b.965ec36f.js deleted file mode 100644 index a0bbeea830..0000000000 --- a/docs/assets/js/aa6b6c1b.965ec36f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6885],{4623:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>o,frontMatter:()=>i,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"guides/scripting-api","title":"Scripting API Guide","description":"Scripting API methods, deprecations and migrations","source":"@site/docs/guides/scripting-api.md","sourceDirName":"guides","slug":"/guides/scripting-api","permalink":"/docs/guides/scripting-api","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/scripting-api.md","tags":[],"version":"current","frontMatter":{"title":"Scripting API Guide","description":"Scripting API methods, deprecations and migrations","sidebar_custom_props":{"myEmoji":"\ud83d\udcdd"}},"sidebar":"defaultSidebar","previous":{"title":"Script Writing Guide","permalink":"/docs/guides/script-writing"},"next":{"title":"Development","permalink":"/docs/development"}}');var s=n(4848),a=n(8453);const i={title:"Scripting API Guide",description:"Scripting API methods, deprecations and migrations",sidebar_custom_props:{myEmoji:"\ud83d\udcdd"}},l=void 0,d={},c=[{value:"Concepts",id:"concepts",level:2},{value:"Programming Languages",id:"programming-languages",level:3},{value:"Using Script Runner",id:"using-script-runner",level:3},{value:"Telemetry Types",id:"telemetry-types",level:3},{value:"Script Runner API",id:"script-runner-api",level:2},{value:"Migration from COSMOS v5 to v6",id:"migration-from-cosmos-v5-to-v6",level:3},{value:"Migration from COSMOS v4 to v5",id:"migration-from-cosmos-v4-to-v5",level:3},{value:"Retrieving User Input",id:"retrieving-user-input",level:2},{value:"ask",id:"ask",level:3},{value:"ask_string",id:"ask_string",level:3},{value:"message_box",id:"message_box",level:3},{value:"vertical_message_box",id:"vertical_message_box",level:3},{value:"combo_box",id:"combo_box",level:3},{value:"get_target_file",id:"get_target_file",level:3},{value:"put_target_file",id:"put_target_file",level:3},{value:"delete_target_file",id:"delete_target_file",level:3},{value:"open_file_dialog",id:"open_file_dialog",level:3},{value:"open_files_dialog",id:"open_files_dialog",level:3},{value:"Providing information to the user",id:"providing-information-to-the-user",level:2},{value:"prompt",id:"prompt",level:3},{value:"Commands",id:"commands",level:2},{value:"cmd",id:"cmd",level:3},{value:"cmd_no_range_check",id:"cmd_no_range_check",level:3},{value:"cmd_no_hazardous_check",id:"cmd_no_hazardous_check",level:3},{value:"cmd_no_checks",id:"cmd_no_checks",level:3},{value:"cmd_raw",id:"cmd_raw",level:3},{value:"cmd_raw_no_range_check",id:"cmd_raw_no_range_check",level:3},{value:"cmd_raw_no_hazardous_check",id:"cmd_raw_no_hazardous_check",level:3},{value:"cmd_raw_no_checks",id:"cmd_raw_no_checks",level:3},{value:"build_cmd (since 5.13.0, since 5.8.0 as build_command)",id:"build_cmd-since-5130-since-580-as-build_command",level:3},{value:"send_raw",id:"send_raw",level:3},{value:"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)",id:"get_all_cmds-since-5130-since-500-as-get_all_commands",level:3},{value:"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)",id:"get_all_cmd_names-since-5130-since-506-as-get_all_command_names",level:3},{value:"get_cmd (since 5.13.0, since 5.0.0 as get_command)",id:"get_cmd-since-5130-since-500-as-get_command",level:3},{value:"get_param (since 5.13.0, since 5.0.0 as get_parameter)",id:"get_param-since-5130-since-500-as-get_parameter",level:3},{value:"get_cmd_buffer",id:"get_cmd_buffer",level:3},{value:"get_cmd_hazardous",id:"get_cmd_hazardous",level:3},{value:"get_cmd_value",id:"get_cmd_value",level:3},{value:"get_cmd_time",id:"get_cmd_time",level:3},{value:"get_cmd_cnt",id:"get_cmd_cnt",level:3},{value:"Handling Telemetry",id:"handling-telemetry",level:2},{value:"check, check_raw, check_formatted, check_with_units",id:"check-check_raw-check_formatted-check_with_units",level:3},{value:"check_tolerance",id:"check_tolerance",level:3},{value:"check_expression",id:"check_expression",level:3},{value:"check_exception",id:"check_exception",level:3},{value:"tlm, tlm_raw, tlm_formatted, tlm_with_units",id:"tlm-tlm_raw-tlm_formatted-tlm_with_units",level:3},{value:"get_tlm_buffer",id:"get_tlm_buffer",level:3},{value:"get_tlm_packet",id:"get_tlm_packet",level:3},{value:"get_tlm_values (modified in 5.0.0)",id:"get_tlm_values-modified-in-500",level:3},{value:"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)",id:"get_all_tlm-since-5130-since-500-as-get_all_telemetry",level:3},{value:"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)",id:"get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names",level:3},{value:"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)",id:"get_tlm-since-5130-since-500-as-get_telemetry",level:3},{value:"get_item (since 5.0.0)",id:"get_item-since-500",level:3},{value:"get_tlm_cnt",id:"get_tlm_cnt",level:3},{value:"set_tlm",id:"set_tlm",level:3},{value:"inject_tlm",id:"inject_tlm",level:3},{value:"override_tlm",id:"override_tlm",level:3},{value:"normalize_tlm",id:"normalize_tlm",level:3},{value:"get_overrides",id:"get_overrides",level:3},{value:"Packet Data Subscriptions",id:"packet-data-subscriptions",level:2},{value:"subscribe_packets (since 5.0.3)",id:"subscribe_packets-since-503",level:3},{value:"get_packets (since 5.0.3)",id:"get_packets-since-503",level:3},{value:"get_tlm_cnt",id:"get_tlm_cnt-1",level:3},{value:"get_tlm_cnts",id:"get_tlm_cnts",level:3},{value:"get_packet_derived_items",id:"get_packet_derived_items",level:3},{value:"Delays",id:"delays",level:2},{value:"wait",id:"wait",level:3},{value:"wait_tolerance",id:"wait_tolerance",level:3},{value:"wait_expression",id:"wait_expression",level:3},{value:"wait_packet",id:"wait_packet",level:3},{value:"wait_check",id:"wait_check",level:3},{value:"wait_check_tolerance",id:"wait_check_tolerance",level:3},{value:"wait_check_expression",id:"wait_check_expression",level:3},{value:"wait_check_packet",id:"wait_check_packet",level:3},{value:"Limits",id:"limits",level:2},{value:"limits_enabled?, limits_enabled",id:"limits_enabled-limits_enabled",level:3},{value:"enable_limits",id:"enable_limits",level:3},{value:"disable_limits",id:"disable_limits",level:3},{value:"enable_limits_group",id:"enable_limits_group",level:3},{value:"disable_limits_group",id:"disable_limits_group",level:3},{value:"get_limits_groups",id:"get_limits_groups",level:3},{value:"set_limits_set",id:"set_limits_set",level:3},{value:"get_limits_set",id:"get_limits_set",level:3},{value:"get_limits_sets",id:"get_limits_sets",level:3},{value:"get_limits",id:"get_limits",level:3},{value:"set_limits",id:"set_limits",level:3},{value:"get_out_of_limits",id:"get_out_of_limits",level:3},{value:"get_overall_limits_state",id:"get_overall_limits_state",level:3},{value:"get_limits_events",id:"get_limits_events",level:3},{value:"Targets",id:"targets",level:2},{value:"get_target_names",id:"get_target_names",level:3},{value:"get_target",id:"get_target",level:3},{value:"get_target_interfaces",id:"get_target_interfaces",level:3},{value:"Interfaces",id:"interfaces",level:2},{value:"get_interface (since 5.0.0)",id:"get_interface-since-500",level:3},{value:"get_interface_names",id:"get_interface_names",level:3},{value:"connect_interface",id:"connect_interface",level:3},{value:"disconnect_interface",id:"disconnect_interface",level:3},{value:"start_raw_logging_interface",id:"start_raw_logging_interface",level:3},{value:"stop_raw_logging_interface",id:"stop_raw_logging_interface",level:3},{value:"get_all_interface_info",id:"get_all_interface_info",level:3},{value:"map_target_to_interface",id:"map_target_to_interface",level:3},{value:"interface_cmd",id:"interface_cmd",level:3},{value:"interface_protocol_cmd",id:"interface_protocol_cmd",level:3},{value:"Routers",id:"routers",level:2},{value:"connect_router",id:"connect_router",level:3},{value:"disconnect_router",id:"disconnect_router",level:3},{value:"get_router_names",id:"get_router_names",level:3},{value:"get_router (since 5.0.0)",id:"get_router-since-500",level:3},{value:"get_all_router_info",id:"get_all_router_info",level:3},{value:"start_raw_logging_router",id:"start_raw_logging_router",level:3},{value:"stop_raw_logging_router",id:"stop_raw_logging_router",level:3},{value:"router_cmd",id:"router_cmd",level:3},{value:"router_protocol_cmd",id:"router_protocol_cmd",level:3},{value:"Stashing Data",id:"stashing-data",level:2},{value:"stash_set",id:"stash_set",level:3},{value:"stash_get",id:"stash_get",level:3},{value:"stash_all",id:"stash_all",level:3},{value:"stash_keys",id:"stash_keys",level:3},{value:"stash_delete",id:"stash_delete",level:3},{value:"Executing Other Procedures",id:"executing-other-procedures",level:2},{value:"start",id:"start",level:3},{value:"load_utility",id:"load_utility",level:3},{value:"Opening, Closing & Creating Telemetry Screens",id:"opening-closing--creating-telemetry-screens",level:2},{value:"display_screen",id:"display_screen",level:3},{value:"clear_screen",id:"clear_screen",level:3},{value:"clear_all_screens",id:"clear_all_screens",level:3},{value:"delete_screen",id:"delete_screen",level:3},{value:"get_screen_list",id:"get_screen_list",level:3},{value:"get_screen_definition",id:"get_screen_definition",level:3},{value:"create_screen",id:"create_screen",level:3},{value:"local_screen",id:"local_screen",level:3},{value:"Script Runner Settings",id:"script-runner-settings",level:2},{value:"set_line_delay",id:"set_line_delay",level:3},{value:"get_line_delay",id:"get_line_delay",level:3},{value:"set_max_output",id:"set_max_output",level:3},{value:"get_max_output",id:"get_max_output",level:3},{value:"disable_instrumentation",id:"disable_instrumentation",level:3},{value:"Script Runner Suites",id:"script-runner-suites",level:2},{value:"add_group, add_group_setup, add_group_teardown, add_script",id:"add_group-add_group_setup-add_group_teardown-add_script",level:3},{value:"Script Runner Debugging",id:"script-runner-debugging",level:2},{value:"step_mode",id:"step_mode",level:3},{value:"run_mode",id:"run_mode",level:3},{value:"disconnect_script",id:"disconnect_script",level:3},{value:"Metadata",id:"metadata",level:2},{value:"metadata_all",id:"metadata_all",level:3},{value:"metadata_get",id:"metadata_get",level:3},{value:"metadata_set",id:"metadata_set",level:3},{value:"metadata_update",id:"metadata_update",level:3},{value:"metadata_input",id:"metadata_input",level:3},{value:"Settings",id:"settings",level:2},{value:"list_settings",id:"list_settings",level:3},{value:"get_all_settings",id:"get_all_settings",level:3},{value:"get_setting, get_settings",id:"get_setting-get_settings",level:3},{value:"set_setting",id:"set_setting",level:3},{value:"Configuration",id:"configuration",level:2},{value:"config_tool_names",id:"config_tool_names",level:3},{value:"list_configs",id:"list_configs",level:3},{value:"load_config",id:"load_config",level:3},{value:"save_config",id:"save_config",level:3},{value:"delete_config",id:"delete_config",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"This document provides the information necessary to write test procedures using the COSMOS scripting API. Scripting in COSMOS is designed to be simple and intuitive. The code completion ability for command and telemetry mnemonics makes Script Runner the ideal place to write your procedures, however any text editor will do. If there is functionality that you don't see here or perhaps an easier syntax for doing something, please submit a ticket."}),"\n",(0,s.jsx)(t.h2,{id:"concepts",children:"Concepts"}),"\n",(0,s.jsx)(t.h3,{id:"programming-languages",children:"Programming Languages"}),"\n",(0,s.jsxs)(t.p,{children:["COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the ",(0,s.jsx)(t.a,{href:"/docs/guides/script-writing",children:"Script Writing Guide"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"using-script-runner",children:"Using Script Runner"}),"\n",(0,s.jsx)(t.p,{children:"Script Runner is a graphical application that provides the ideal environment for running and implementing your test procedures. The Script Runner tool is broken into 4 main sections. At the top of the tool is a menu bar that allows you to do such things as open and save files, perform a syntax check, and execute your script."}),"\n",(0,s.jsx)(t.p,{children:'Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time.'}),"\n",(0,s.jsx)(t.p,{children:"Third is the display of the actual script. While the script is not running, you may edit and compose scripts in this area. A handy code completion feature is provided that will list out the available commands or telemetry points as you are writing your script. Simply begin writing a cmd( or tlm( line to bring up code completion. This feature greatly reduces typos in command and telemetry mnemonics."}),"\n",(0,s.jsx)(t.p,{children:"Finally, the bottom of the display is the log messages. All commands that are sent, errors that occur, and user print statements appear in this area."}),"\n",(0,s.jsx)(t.h3,{id:"telemetry-types",children:"Telemetry Types"}),"\n",(0,s.jsx)(t.p,{children:"There are four different ways that telemetry values can be retrieved in COSMOS. The following chart explains their differences."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Telemetry Type"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Raw"}),(0,s.jsx)(t.td,{children:"Raw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Converted"}),(0,s.jsx)(t.td,{children:"Converted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Formatted"}),(0,s.jsx)(t.td,{children:"Formatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Formatted with Units"}),(0,s.jsx)(t.td,{children:"Formatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-api",children:"Script Runner API"}),"\n",(0,s.jsx)(t.p,{children:"The following methods are designed to be used in Script Runner procedures. Many can also be used in custom built COSMOS tools. Please see the COSMOS Tool API section for methods that are more efficient to use in custom tools."}),"\n",(0,s.jsx)(t.h3,{id:"migration-from-cosmos-v5-to-v6",children:"Migration from COSMOS v5 to v6"}),"\n",(0,s.jsx)(t.p,{children:"The following API methods have been removed from COSMOS v6. Most of the deprecated API methods still remain for backwards compatibility."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Method"}),(0,s.jsx)(t.th,{children:"Tool"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_target_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Removed, use get_target_interfaces"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"play_wav_file"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Removed"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"status_bar"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Removed"})]})]})]}),"\n",(0,s.jsx)(t.h3,{id:"migration-from-cosmos-v4-to-v5",children:"Migration from COSMOS v4 to v5"}),"\n",(0,s.jsx)(t.p,{children:"The following API methods are either deprecated (will not be ported to COSMOS 5) or currently unimplemented (eventually will be ported to COSMOS 5):"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Method"}),(0,s.jsx)(t.th,{children:"Tool"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"clear"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use clear_screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"clear_all"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use clear_all_screens"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"close_local_screens"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use clear_screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"clear_disconnected_targets"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cmd_tlm_clear_counters"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cmd_tlm_reload"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"display"}),(0,s.jsx)(t.td,{children:"Telemetry Viewer"}),(0,s.jsx)(t.td,{children:"Deprecated, use display_screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_packet_logger_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_target_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target_interfaces"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_background_tasks"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_cmd_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_all_cmds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_all_tlm_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_all_tlm"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_all_cmds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_param_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_cmd"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_cmd_tlm_disconnect"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use $disconnect"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_disconnected_targets"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Unimplemented"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_interface_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_interface_targets"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_output_logs_filenames"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet_data"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet_logger_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_packet_loggers"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_replay_mode"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_router_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_scriptrunner_message_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_server_message"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_server_message_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_server_status"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_stale"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_ignored_items"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_ignored_parameters"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_info"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_target_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_target_names"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_details"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_item_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_list"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"get_tlm_log_filename"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"interface_state"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"override_tlm_raw"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use override_tlm"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"open_directory_dialog"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"play_wav_file"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_move_end"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_move_index"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_move_start"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_play"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_reverse_play"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_select_file"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_set_playback_delay"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_status"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_step_back"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_step_forward"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"replay_stop"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"require_utility"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated but exists for backwards compatibility, use load_utility"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"router_state"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use get_router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"save_file_dialog"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"save_setting"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated but exists for backwards compatibility, use set_setting"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_cmd_tlm_disconnect"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use disconnect_script"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_disconnected_targets"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Unimplemented"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_replay_mode"}),(0,s.jsx)(t.td,{children:"Replay"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_stdout_max_lines"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"set_tlm_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use set_tlm"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"show_backtrace"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, backtrace always shown"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"status_bar"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"shutdown_cmd_tlm"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_cmd_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_logging"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_new_scriptrunner_message_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_new_server_message_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start_tlm_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_background_task"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_cmd_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_logging"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"stop_tlm_log"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"subscribe_limits_events"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"subscribe_packet_data"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated, use subscribe_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"subscribe_server_messages"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Unimplemented"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tlm_variable"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsx)(t.td,{children:"Deprecated, use tlm() and pass type"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unsubscribe_limits_events"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unsubscribe_packet_data"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unsubscribe_server_messages"}),(0,s.jsx)(t.td,{children:"Command and Telemetry Server"}),(0,s.jsx)(t.td,{children:"Deprecated"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait(..., type: ",":RAW",")"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_check_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait_check(..., type: ",":RAW",")"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_tolerance_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait_tolerance(..., type: ",":RAW",")"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"wait_check_tolerance_raw"}),(0,s.jsx)(t.td,{children:"Script Runner"}),(0,s.jsxs)(t.td,{children:["Deprecated, use wait_check_tolerance(..., type: ",":RAW",")"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"retrieving-user-input",children:"Retrieving User Input"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to enter values that are needed by the script."}),"\n",(0,s.jsx)(t.h3,{id:"ask",children:"ask"}),"\n",(0,s.jsx)(t.p,{children:'Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned.'}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'ask("<question>", <blank_or_default>, <password>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"question"}),(0,s.jsx)(t.td,{children:"Question to prompt the user with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"blank_or_default"}),(0,s.jsx)(t.td,{children:"Whether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"Whether to treat the entry as a password which is displayed with dots and not logged. Default is false."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'value = ask("Enter an integer")\nvalue = ask("Enter a value or nothing", true)\nvalue = ask("Enter a value", 10)\npassword = ask("Enter your password", false, true)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'value = ask("Enter an integer")\nvalue = ask("Enter a value or nothing", True)\nvalue = ask("Enter a value", 10)\npassword = ask("Enter your password", False, True)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"ask_string",children:"ask_string"}),"\n",(0,s.jsx)(t.p,{children:'Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned.'}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'ask_string("<question>", <blank_or_default>, <password>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"question"}),(0,s.jsx)(t.td,{children:"Question to prompt the user with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"blank_or_default"}),(0,s.jsx)(t.td,{children:"Whether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"password"}),(0,s.jsx)(t.td,{children:"Whether to treat the entry as a password which is displayed with dots and not logged. Default is false."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'string = ask_string("Enter a String")\nstring = ask_string("Enter a value or nothing", true)\nstring = ask_string("Enter a value", "test")\npassword = ask_string("Enter your password", false, true)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'string = ask_string("Enter a String")\nstring = ask_string("Enter a value or nothing", True)\nstring = ask_string("Enter a value", "test")\npassword = ask_string("Enter your password", False, True)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"message_box",children:"message_box"}),"\n",(0,s.jsx)(t.h3,{id:"vertical_message_box",children:"vertical_message_box"}),"\n",(0,s.jsx)(t.h3,{id:"combo_box",children:"combo_box"}),"\n",(0,s.jsx)(t.p,{children:"The message_box, vertical_message_box, and combo_box methods create a message box with arbitrary buttons or selections that the user can click. The text of the button clicked is returned."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'message_box("<message>", "<button text 1>", ...)\nvertical_message_box("<message>", "<button text 1>", ...)\ncombo_box("<message>", "<selection text 1>", ...)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"message"}),(0,s.jsx)(t.td,{children:"Message to prompt the user with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"button/selection text"}),(0,s.jsx)(t.td,{children:"Text for a button or selection"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"value = message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = vertical_message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = combo_box(\"Select the sensor number\", 'One', 'Two')\ncase value\nwhen 'One'\n puts 'Sensor One'\nwhen 'Two'\n puts 'Sensor Two'\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"value = message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = vertical_message_box(\"Select the sensor number\", 'One', 'Two')\nvalue = combo_box(\"Select the sensor number\", 'One', 'Two')\nmatch value:\n case 'One':\n print('Sensor One')\n case 'Two':\n print('Sensor Two')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_target_file",children:"get_target_file"}),"\n",(0,s.jsx)(t.p,{children:"Return a file handle to a file in the target directory"}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_target_file("<File Path>", original: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_target_file("<File Path>", original=False)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"The path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"original"}),(0,s.jsx)(t.td,{children:"Whether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'file = get_target_file("INST/data/attitude.bin")\nputs file.read().formatted # format a binary file\nfile.unlink # delete file\nfile = get_target_file("INST/procedures/checks.rb", original: true)\nputs file.read()\nfile.unlink # delete file\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'from openc3.utilities.string import formatted\n\nfile = get_target_file("INST/data/attitude.bin")\nprint(formatted(file.read())) # format a binary file\nfile.close() # delete file\nfile = get_target_file("INST/procedures/checks.rb", original=True)\nprint(file.read())\nfile.close() # delete file\n'})}),"\n",(0,s.jsx)(t.h3,{id:"put_target_file",children:"put_target_file"}),"\n",(0,s.jsx)(t.p,{children:"Writes a file to the target directory"}),"\n",(0,s.jsx)(t.p,{children:"Ruby or Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'put_target_file("<File Path>", "IO or String")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"The path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"data"}),(0,s.jsx)(t.td,{children:"The data can be an IO object or String"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'put_target_file("INST/test1.txt", "this is a string test")\nfile = Tempfile.new(\'test\')\nfile.write("this is a Io test")\nfile.rewind\nput_target_file("INST/test2.txt", file)\nput_target_file("INST/test3.bin", "\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'put_target_file("INST/test1.txt", "this is a string test")\nfile = tempfile.NamedTemporaryFile(mode="w+t")\nfile.write("this is a Io test")\nfile.seek(0)\nput_target_file("INST/test2.txt", file)\nput_target_file("INST/test3.bin", b"\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary\n'})}),"\n",(0,s.jsx)(t.h3,{id:"delete_target_file",children:"delete_target_file"}),"\n",(0,s.jsx)(t.p,{children:"Delete a file in the target directory"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'delete_target_file("<File Path>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"path"}),(0,s.jsx)(t.td,{children:"The path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'put_target_file("INST/delete_me.txt", "to be deleted")\ndelete_target_file("INST/delete_me.txt")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"open_file_dialog",children:"open_file_dialog"}),"\n",(0,s.jsx)(t.h3,{id:"open_files_dialog",children:"open_files_dialog"}),"\n",(0,s.jsx)(t.p,{children:"The open_file_dialog and open_files_dialog methods create a file dialog box so the user can select a single or multiple files. The selected file(s) is returned."}),"\n",(0,s.jsx)(t.p,{children:"Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'open_file_dialog("<title>", "<message>", filter: "<filter>")\nopen_files_dialog("<title>", "<message>", filter: "<filter>")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'open_file_dialog("<title>", "<message>", filter="<filter>")\nopen_files_dialog("<title>", "<message>", filter="<filter>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Title"}),(0,s.jsx)(t.td,{children:"The title to put on the dialog. Required."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Message"}),(0,s.jsx)(t.td,{children:"The message to display in the dialog box. Optional parameter."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"filter"}),(0,s.jsxs)(t.td,{children:['Named parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See ',(0,s.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept",children:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept"})," for more information."]})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt")\nputs file # Ruby File object\nputs file.read\nfile.delete\n\nfiles = open_files_dialog("Open multiple files") # message is optional\nputs files # Array of File objects (even if you select only one)\nfiles.each do |file|\n puts file\n puts file.read\n file.delete\nend\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt")\nprint(file)\nprint(file.read())\nfile.close()\n\nfiles = open_files_dialog("Open multiple files") # message is optional\nprint(files) # Array of File objects (even if you select only one)\nfor file in files:\n print(file)\n print(file.read())\n file.close()\n'})}),"\n",(0,s.jsx)(t.h2,{id:"providing-information-to-the-user",children:"Providing information to the user"}),"\n",(0,s.jsx)(t.p,{children:"These methods notify the user that something has occurred."}),"\n",(0,s.jsx)(t.h3,{id:"prompt",children:"prompt"}),"\n",(0,s.jsx)(t.p,{children:"Displays a message to the user and waits for them to press an ok button."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'prompt("<message>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"message"}),(0,s.jsx)(t.td,{children:"Message to prompt the user with."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'prompt("Press OK to continue")\n'})}),"\n",(0,s.jsx)(t.h2,{id:"commands",children:"Commands"}),"\n",(0,s.jsx)(t.p,{children:"These methods provide capability to send commands to a target and receive information about commands in the system."}),"\n",(0,s.jsx)(t.h3,{id:"cmd",children:"cmd"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd("INST COLLECT with DURATION 10, TYPE NORMAL")\n# In Ruby the brackets around parameters are optional\ncmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL")\ncmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" })\ncmd("INST ABORT", timeout: 10, log_message: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd("INST COLLECT with DURATION 10, TYPE NORMAL")\ncmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" })\ncmd("INST ABORT", timeout=10, log_message=False)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_no_range_check",children:"cmd_no_range_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")\ncmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")\ncmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_no_hazardous_check",children:"cmd_no_hazardous_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_hazardous_check("INST CLEAR")\ncmd_no_hazardous_check("INST", "CLEAR")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_no_checks",children:"cmd_no_checks"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")\ncmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")\ncmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw",children:"cmd_raw"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw("INST COLLECT with DURATION 10, TYPE 0")\ncmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw("INST COLLECT with DURATION 10, TYPE 0")\ncmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw_no_range_check",children:"cmd_raw_no_range_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions or performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")\ncmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")\ncmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw_no_hazardous_check",children:"cmd_raw_no_hazardous_check"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions or performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_hazardous_check("INST CLEAR")\ncmd_raw_no_hazardous_check("INST", "CLEAR")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"cmd_raw_no_checks",children:"cmd_raw_no_checks"}),"\n",(0,s.jsx)(t.p,{children:"Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")\ncmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target this command is associated with."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of this command. Also referred to as its mnemonic."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Name"}),(0,s.jsx)(t.td,{children:"Name of a command parameter. If there are no parameters then the 'with' keyword should not be given."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Param #x Value"}),(0,s.jsx)(t.td,{children:"Value of the command parameter. Values are automatically converted to the appropriate type."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"timeout"}),(0,s.jsx)(t.td,{children:"Optional named parameter to change the default timeout value of 5 seconds"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"log_message"}),(0,s.jsx)(t.td,{children:"Optional named parameter to prevent logging of the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")\ncmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")\ncmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"build_cmd-since-5130-since-580-as-build_command",children:"build_cmd (since 5.13.0, since 5.8.0 as build_command)"}),"\n",(0,s.jsx)(t.p,{children:"Builds a command binary string"}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"build_cmd(<ARGS>, range_check: true, raw: false)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"build_cmd(<ARGS>, range_check=True, raw=False)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ARGS"}),(0,s.jsx)(t.td,{children:"Command parameters (see cmd)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"range_check"}),(0,s.jsx)(t.td,{children:"Whether to perform range checking on the command. Default is true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"raw"}),(0,s.jsx)(t.td,{children:"Whether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL")\nputs x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00A \\x00\\x00\\xAB\\x00\\x00\\x00\\x00"}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"x = build_cmd(\"INST COLLECT with DURATION 10, TYPE NORMAL\")\nprint(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00A \\x00\\x00\\xab\\x00\\x00\\x00\\x00')}\n"})}),"\n",(0,s.jsx)(t.h3,{id:"send_raw",children:"send_raw"}),"\n",(0,s.jsx)(t.p,{children:"Sends raw data on an interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"send_raw(<Interface Name>, <Data>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface to send the raw data on."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Data"}),(0,s.jsx)(t.td,{children:"Raw ruby string of data to send."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'send_raw("INST_INT", data)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_cmds-since-5130-since-500-as-get_all_commands",children:"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of the commands that are available for a particular target. The returned array is an array of hashes which fully describe the command packet."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_cmds("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_list = get_all_cmds("INST")\nputs cmd_list #=>\n# [{"target_name"=>"INST",\n# "packet_name"=>"ABORT",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Aborts a collect on the instrument",\n# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]\n# ...\n# }]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"cmd_list = get_all_cmds(\"INST\")\nprint(cmd_list) #=>\n# [{'target_name': 'INST',\n# 'packet_name': 'ABORT',\n# 'endianness': 'BIG_ENDIAN',\n# 'description': 'Aborts a collect on the INST instrument',\n# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]\n# ...\n# }]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_cmd_names-since-5130-since-506-as-get_all_command_names",children:"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of the command names for a particular target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_cmd_names("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"cmd_list = get_all_cmd_names(\"INST\")\nputs cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"cmd_list = get_all_cmd_names(\"INST\")\nprint(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd-since-5130-since-500-as-get_command",children:"get_cmd (since 5.13.0, since 5.0.0 as get_command)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a command hash which fully describes the command packet."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd("<Target Name> <Packet Name>")\nget_cmd("<Target Name>", "<Packet Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'abort_cmd = get_cmd("INST ABORT")\nputs abort_cmd #=>\n# [{"target_name"=>"INST",\n# "packet_name"=>"ABORT",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Aborts a collect on the instrument",\n# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]\n# ...\n# }]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"abort_cmd = get_cmd(\"INST ABORT\")\nprint(abort_cmd) #=>\n# [{'target_name': 'INST',\n# 'packet_name': 'ABORT',\n# 'endianness': 'BIG_ENDIAN',\n# 'description': 'Aborts a collect on the INST instrument',\n# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]\n# ...\n# }]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_param-since-5130-since-500-as-get_parameter",children:"get_param (since 5.13.0, since 5.0.0 as get_parameter)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a hash of the given command parameter"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_param("<Target Name> <Command Name> <Parameter Name>")\nget_param("<Target Name>", "<Command Name>", "<Parameter Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Parameter Name"}),(0,s.jsx)(t.td,{children:"Name of the parameter."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'param = get_param("INST COLLECT TYPE")\nputs param #=>\n# {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT",\n# "description"=>"Collect type which can be normal or special", "default"=>0,\n# "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR",\n# "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"param = get_param(\"INST COLLECT TYPE\")\nprint(param) #=>\n# {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT',\n# 'description': 'Collect type which can be normal or special', 'default': 0,\n# 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR',\n# 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}}\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_buffer",children:"get_cmd_buffer"}),"\n",(0,s.jsx)(t.p,{children:"Returns a packet hash (similar to get_cmd) along with the raw packet buffer as a Ruby string."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'buffer = get_cmd_buffer("<Target Name> <Packet Name>")[\'buffer\']\nbuffer = get_cmd_buffer("<Target Name>", "<Packet Name>")[\'buffer\']\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'packet = get_cmd_buffer("INST COLLECT")\nputs packet #=>\n# {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420",\n# "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false",\n# "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xE0\\x00\\x00\\xAB\\x00\\x00\\x00\\x00"}\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"packet = get_cmd_buffer(\"INST COLLECT\")\nprint(packet) #=>\n# {'time': '1697298923745982470', 'received_time': '1697298923745982470',\n# 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false',\n# 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00')}\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_hazardous",children:"get_cmd_hazardous"}),"\n",(0,s.jsx)(t.p,{children:"Returns true/false indicating whether a particular command is flagged as hazardous."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Params"}),(0,s.jsx)(t.td,{children:"Hash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"hazardous = get_cmd_hazardous(\"INST\", \"COLLECT\", {'TYPE' => 'SPECIAL'})\nputs hazardous #=> true\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"hazardous = get_cmd_hazardous(\"INST\", \"COLLECT\", {'TYPE': 'SPECIAL'})\nprint(hazardous) #=> True\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_value",children:"get_cmd_value"}),"\n",(0,s.jsx)(t.p,{children:"Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Parameter Name"}),(0,s.jsx)(t.td,{children:"Name of the command parameter."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Value Type"}),(0,s.jsx)(t.td,{children:"Value Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW)\nputs value #=> 0.0\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW")\nprint(value) #=> 0.0\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_time",children:"get_cmd_time"}),"\n",(0,s.jsx)(t.p,{children:"Returns the time of the most recent command sent."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_time("<Target Name - optional>", "<Command Name - optional>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target. If not given, then the most recent command time to any target will be returned"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command. If not given, then the most recent command time to the given target will be returned"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time\ntarget_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time\ntarget_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_cmd_cnt",children:"get_cmd_cnt"}),"\n",(0,s.jsx)(t.p,{children:"Returns the number of times a specified command has been sent."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_cmd_cnt("<Target Name> <Command Name>")\nget_cmd_cnt("<Target Name>", "<Command Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent\n'})}),"\n",(0,s.jsx)(t.h2,{id:"handling-telemetry",children:"Handling Telemetry"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to interact with telemetry items."}),"\n",(0,s.jsx)(t.h3,{id:"check-check_raw-check_formatted-check_with_units",children:"check, check_raw, check_formatted, check_with_units"}),"\n",(0,s.jsx)(t.p,{children:"Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Comparison"}),(0,s.jsx)(t.td,{children:"A comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check("INST HEALTH_STATUS COLLECTS > 1")\ncheck_raw("INST HEALTH_STATUS COLLECTS > 1")\ncheck_formatted("INST HEALTH_STATUS COLLECTS > 1")\ncheck_with_units("INST HEALTH_STATUS COLLECTS > 1")\n# Ruby passes type as symbol\ncheck("INST HEALTH_STATUS COLLECTS > 1", type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'check("INST HEALTH_STATUS COLLECTS > 1")\ncheck_raw("INST HEALTH_STATUS COLLECTS > 1")\ncheck_formatted("INST HEALTH_STATUS COLLECTS > 1")\ncheck_with_units("INST HEALTH_STATUS COLLECTS > 1")\n# Python passes type as string\ncheck("INST HEALTH_STATUS COLLECTS > 1", type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"check_tolerance",children:"check_tolerance"}),"\n",(0,s.jsx)(t.p,{children:"Checks a converted telemetry item against an expected value with a tolerance. If the verification fails then the script will be paused with an error. Note: In most cases using wait_check_tolerance is a better choice than using check_tolerance."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expected Value"}),(0,s.jsx)(t.td,{children:"Expected value of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tolerance"}),(0,s.jsx)(t.td,{children:"\xb1 Tolerance on the expected value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"CONVERTED (default) or RAW (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)\ncheck_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)\ncheck_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"check_expression",children:"check_expression"}),"\n",(0,s.jsxs)(t.p,{children:["Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using ",(0,s.jsx)(t.a,{href:"#wait_check_expression",children:"wait_check_expression"})," is a better choice than using check_expression."]}),"\n",(0,s.jsx)(t.p,{children:"Remember that everything inside the check_expression string will be evaluated directly and thus must be valid syntax. A common mistake is to check a variable like so (Ruby variable interpolation):"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"check_expression(\"#{answer} == 'yes'\") # where answer contains 'yes'"})}),"\n",(0,s.jsxs)(t.p,{children:["This evaluates to ",(0,s.jsx)(t.code,{children:"yes == 'yes'"})," which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows:"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.code,{children:"check_expression(\"'#{answer}' == 'yes'\") # where answer contains 'yes'"})}),"\n",(0,s.jsxs)(t.p,{children:["Now this evaluates to ",(0,s.jsx)(t.code,{children:"'yes' == 'yes'"})," which is true so the check passes."]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_expression("<Expression>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expression"}),(0,s.jsx)(t.td,{children:"An expression to evaluate."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"check_expression(\"tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0\")\n"})}),"\n",(0,s.jsx)(t.h3,{id:"check_exception",children:"check_exception"}),"\n",(0,s.jsx)(t.p,{children:"Executes a method and expects an exception to be raised. If the method does not raise an exception, a CheckError is raised."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_exception("<Method Name>", "<Method Params - optional>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Method Name"}),(0,s.jsx)(t.td,{children:"The COSMOS scripting method to execute, e.g. 'cmd', etc."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Method Params"}),(0,s.jsx)(t.td,{children:"Parameters for the method"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"})\n'})}),"\n",(0,s.jsx)(t.h3,{id:"tlm-tlm_raw-tlm_formatted-tlm_with_units",children:"tlm, tlm_raw, tlm_formatted, tlm_with_units"}),"\n",(0,s.jsx)(t.p,{children:"Reads the specified form of a telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'tlm("<Target Name> <Packet Name> <Item Name>")\ntlm("<Target Name>", "<Packet Name>", "<Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'value = tlm("INST HEALTH_STATUS COLLECTS")\nvalue = tlm("INST", "HEALTH_STATUS", "COLLECTS")\nvalue = tlm_raw("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_formatted("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_with_units("INST HEALTH_STATUS COLLECTS")\n# Equivalent to tlm_raw\nraw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'value = tlm("INST HEALTH_STATUS COLLECTS")\nvalue = tlm("INST", "HEALTH_STATUS", "COLLECTS")\nvalue = tlm_raw("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_formatted("INST HEALTH_STATUS COLLECTS")\nvalue = tlm_with_units("INST HEALTH_STATUS COLLECTS")\n# Equivalent to tlm_raw\nraw_value = tlm("INST HEALTH_STATUS COLLECTS", type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_buffer",children:"get_tlm_buffer"}),"\n",(0,s.jsx)(t.p,{children:"Returns a packet hash (similar to get_tlm) along with the raw packet buffer."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'buffer = get_tlm_buffer("<Target Name> <Packet Name>")[\'buffer\']\nbuffer = get_tlm_buffer("<Target Name>", "<Packet Name>")[\'buffer\']\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"packet = get_tlm_buffer(\"INST HEALTH_STATUS\")\npacket['buffer']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_packet",children:"get_tlm_packet"}),"\n",(0,s.jsx)(t.p,{children:"Returns the names, values, and limits states of all telemetry items in a specified packet. The value is returned as an array of arrays with each entry containing [item_name, item_value, limits_state]."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_packet("<Target Name> <Packet Name>", <type>)\nget_tlm_packet("<Target Name>", "<Packet Name>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"names_values_and_limits_states = get_tlm_packet(\"INST HEALTH_STATUS\", type='FORMATTED')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_values-modified-in-500",children:"get_tlm_values (modified in 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns the values and current limits state for a specified set of telemetry items. Items can be in any telemetry packet in the system. They can all be retrieved using the same value type or a specific value type can be specified for each item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Items"}),(0,s.jsx)(t.td,{children:"Array of strings of the form ['TGT__PKT__ITEM__TYPE', ... ]"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"])\nprint(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]]\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_tlm-since-5130-since-500-as-get_all_telemetry",children:"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of all target packet hashes."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_tlm("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'packets = get_all_tlm("INST")\nprint(packets)\n#[{"target_name"=>"INST",\n# "packet_name"=>"ADCS",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Position and attitude data",\n# "stale"=>true,\n# "items"=>\n# [{"name"=>"CCSDSVER",\n# "bit_offset"=>0,\n# "bit_size"=>3,\n# ...\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names",children:"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of all target packet names."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_tlm_names("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_all_tlm_names("INST") #=> ["ADCS", "HEALTH_STATUS", ...]\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm-since-5130-since-500-as-get_telemetry",children:"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a packet hash."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm("<Target Name> <Packet Name>")\nget_tlm("<Target Name>", "<Packet Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'packet = get_tlm("INST HEALTH_STATUS")\nprint(packet)\n#{"target_name"=>"INST",\n# "packet_name"=>"HEALTH_STATUS",\n# "endianness"=>"BIG_ENDIAN",\n# "description"=>"Health and status from the instrument",\n# "stale"=>true,\n# "processors"=>\n# [{"name"=>"TEMP1STAT",\n# "class"=>"OpenC3::StatisticsProcessor",\n# "params"=>["TEMP1", 100, "CONVERTED"]},\n# {"name"=>"TEMP1WATER",\n# "class"=>"OpenC3::WatermarkProcessor",\n# "params"=>["TEMP1", "CONVERTED"]}],\n# "items"=>\n# [{"name"=>"CCSDSVER",\n# "bit_offset"=>0,\n# "bit_size"=>3,\n# ...\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_item-since-500",children:"get_item (since 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an item hash."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_item("<Target Name> <Packet Name> <Item Name>")\nget_item("<Target Name>", "<Packet Name>", "<Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the packet."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'item = get_item("INST HEALTH_STATUS CCSDSVER")\nprint(item)\n#{"name"=>"CCSDSVER",\n# "bit_offset"=>0,\n# "bit_size"=>3,\n# "data_type"=>"UINT",\n# "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)",\n# "endianness"=>"BIG_ENDIAN",\n# "required"=>false,\n# "overflow"=>"ERROR"}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_cnt",children:"get_tlm_cnt"}),"\n",(0,s.jsx)(t.p,{children:"Returns the number of times a specified telemetry packet has been received."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnt("<Target Name> <Packet Name>")\nget_tlm_cnt("<Target Name>", "<Packet Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received.\n'})}),"\n",(0,s.jsx)(t.h3,{id:"set_tlm",children:"set_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Sets a telemetry item value in the Command and Telemetry Server. This value will be overwritten if a new packet is received from an interface. For that reason this method is most useful if interfaces are disconnected or for testing via the Script Runner disconnect mode. Manually setting telemetry values allows for the execution of many logical paths in scripts."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_tlm("<Target> <Packet> <Item> = <Value>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item"}),(0,s.jsx)(t.td,{children:"Item name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Value"}),(0,s.jsx)(t.td,{children:"Value to set"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Value type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default\ncheck("INST HEALTH_STATUS COLLECTS == 5")\nset_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW)\ncheck("INST HEALTH_STATUS COLLECTS == 10", type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default\ncheck("INST HEALTH_STATUS COLLECTS == 5")\nset_tlm("INST HEALTH_STATUS COLLECTS = 10", type=\'RAW\')\ncheck("INST HEALTH_STATUS COLLECTS == 10", type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"inject_tlm",children:"inject_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Injects a packet into the system as if it was received from an interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Packet Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Hash"}),(0,s.jsx)(t.td,{children:"Hash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Type of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"inject_tlm(\"INST\", \"PARAMS\", {'VALUE1' => 5.0, 'VALUE2' => 7.0})\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"inject_tlm(\"INST\", \"PARAMS\", {'VALUE1': 5.0, 'VALUE2': 7.0})\n"})}),"\n",(0,s.jsx)(t.h3,{id:"override_tlm",children:"override_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Sets the converted value for a telmetry point in the Command and Telemetry Server. This value will be maintained even if a new packet is received on the interface unless the override is canceled with the normalize_tlm method."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'override_tlm("<Target> <Packet> <Item> = <Value>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item"}),(0,s.jsx)(t.td,{children:"Item name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Value"}),(0,s.jsx)(t.td,{children:"Value to set"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Type to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5\noverride_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5\noverride_tlm("INST HEALTH_STATUS TEMP2 = 0", type=\'RAW\') # Only RAW tlm set to 0\n'})}),"\n",(0,s.jsx)(t.h3,{id:"normalize_tlm",children:"normalize_tlm"}),"\n",(0,s.jsx)(t.p,{children:"Clears the override of a telmetry point in the Command and Telemetry Server."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'normalize_tlm("<Target> <Packet> <Item>", <type>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item"}),(0,s.jsx)(t.td,{children:"Item name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Type to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides\nnormalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides\nnormalize_tlm("INST HEALTH_STATUS TEMP1", type=\'RAW\') # clear only the RAW override\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_overrides",children:"get_overrides"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_overrides()\n"})}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'override_tlm("INST HEALTH_STATUS TEMP1 = 5")\nputs get_overrides() #=>\n# [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5}\n# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5}\n# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"}\n# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"override_tlm(\"INST HEALTH_STATUS TEMP1 = 5\")\nprint(get_overrides()) #=>\n# [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5},\n# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5},\n# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'},\n# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ]\n"})}),"\n",(0,s.jsx)(t.h2,{id:"packet-data-subscriptions",children:"Packet Data Subscriptions"}),"\n",(0,s.jsx)(t.p,{children:"Methods for subscribing to specific packets of data. This provides an interface to ensure that each telemetry packet is received and handled rather than relying on polling where some data may be missed."}),"\n",(0,s.jsx)(t.h3,{id:"subscribe_packets-since-503",children:"subscribe_packets (since 5.0.3)"}),"\n",(0,s.jsx)(t.p,{children:"Allows the user to listen for one or more telemetry packets of data to arrive. A unique id is returned which is used to retrieve the data."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"subscribe_packets(packets)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"packets"}),(0,s.jsx)(t.td,{children:"Nested array of target name/packet name pairs that the user wishes to subscribe to."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_packets-since-503",children:"get_packets (since 5.0.3)"}),"\n",(0,s.jsx)(t.p,{children:"Streams packet data from a previous subscription."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_packets(id, block: nil, count: 1000)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"get_packets(id, block=None, count=1000)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"id"}),(0,s.jsx)(t.td,{children:"Unique id returned by subscribe_packets"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"block"}),(0,s.jsx)(t.td,{children:"Number of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"count"}),(0,s.jsx)(t.td,{children:"Maximum number of packets to return from EACH packet stream"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait 0.1\nid, packets = get_packets(id)\npackets.each do |packet|\n puts \"#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}\"\nend\n# Reuse ID from last call, allow for 1s wait, only get 1 packet\nid, packets = get_packets(id, block: 1000, count: 1)\npackets.each do |packet|\n puts \"#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}\"\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])\nwait(0.1)\nid, packets = get_packets(id)\nfor packet in packets:\n print(f\"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}\")\n\n# Reuse ID from last call, allow for 1s wait, only get 1 packet\nid, packets = get_packets(id, block=1000, count=1)\nfor packet in packets:\n print(f\"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}\")\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_cnt-1",children:"get_tlm_cnt"}),"\n",(0,s.jsx)(t.p,{children:"Get the receive count for a telemetry packet"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnt("<Target> <Packet>")\nget_tlm_cnt("<Target>", "<Packet>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnt("INST HEALTH_STATUS") #=> 10\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_tlm_cnts",children:"get_tlm_cnts"}),"\n",(0,s.jsx)(t.p,{children:"Get the receive counts for an array of telemetry packets"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]])\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]]) #=> [100, 10]\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_packet_derived_items",children:"get_packet_derived_items"}),"\n",(0,s.jsx)(t.p,{children:"Get the list of derived telemetry items for a packet"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_packet_derived_items("<Target> <Packet>")\nget_packet_derived_items("<Target>", "<Packet>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"Target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"Packet name"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_packet_derived_items(\"INST HEALTH_STATUS\") #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...]\n"})}),"\n",(0,s.jsx)(t.h2,{id:"delays",children:"Delays"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to pause the script to wait for telemetry to change or for an amount of time to pass."}),"\n",(0,s.jsx)(t.h3,{id:"wait",children:"wait"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script for a configurable amount of time (minimum 10ms) or until a converted telemetry item meets given criteria. It supports three different syntaxes as shown. If no parameters are given then an infinite wait occurs until the user presses Go. Note that on a timeout, wait does not stop the script, usually wait_check is a better choice."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"elapsed = wait() #=> Returns the actual time waited\nelapsed = wait(<Time>) #=> Returns the actual time waited\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Time"}),(0,s.jsx)(t.td,{children:"Time in Seconds to delay for."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the expression is true or false\nsuccess = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Comparison"}),(0,s.jsx)(t.td,{children:"A comparison to perform against the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'elapsed = wait\nelapsed = wait 5\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10)\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'elapsed = wait()\nelapsed = wait(5)\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10)\nsuccess = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type=\'RAW\', quiet=False)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_tolerance",children:"wait_tolerance"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script for a configurable amount of time or until a converted telemetry item meets equals an expected value within a tolerance. Note that on a timeout, wait_tolerance does not stop the script, usually wait_check_tolerance is a better choice."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the expression is true or false\nsuccess = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expected Value"}),(0,s.jsx)(t.td,{children:"Expected value of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tolerance"}),(0,s.jsx)(t.td,{children:"\xb1 Tolerance on the expected value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Examples:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nsuccess = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Examples:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nsuccess = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type=\'RAW\', quiet=True)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_expression",children:"wait_expression"}),"\n",(0,s.jsxs)(t.p,{children:["Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually ",(0,s.jsx)(t.a,{href:"#wait_check_expression",children:"wait_check_expression"})," is a better choice."]}),"\n",(0,s.jsx)(t.p,{children:"Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the expression is true or false\nsuccess = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expression"}),(0,s.jsx)(t.td,{children:"A ruby expression to evaluate."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"success = wait_expression(\"tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0\", 10)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"wait_packet",children:"wait_packet"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script until a certain number of packets have been received. If a timeout occurs the script will continue. Note that on a timeout, wait_packet does not stop the script, usually wait_check_packet is a better choice."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns true or false based on the whether the packet was received\nsuccess = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"The target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"The packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Num Packets"}),(0,s.jsx)(t.td,{children:"The number of packets to receive"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s\n"})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check",children:"wait_check"}),"\n",(0,s.jsx)(t.p,{children:"Combines the wait and check keywords into one. This pauses the script until the converted value of a telemetry item meets given criteria or times out. On a timeout the script stops."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the expression\nelapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Comparison"}),(0,s.jsx)(t.td,{children:"A comparison to perform against the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)\nelapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)\nelapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check_tolerance",children:"wait_check_tolerance"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script for a configurable amount of time or until a converted telemetry item equals an expected value within a tolerance. On a timeout the script stops."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the expression\nelapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expected Value"}),(0,s.jsx)(t.td,{children:"Expected value of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tolerance"}),(0,s.jsx)(t.td,{children:"\xb1 Tolerance on the expected value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"type"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nelapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)\nelapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type=\'RAW\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check_expression",children:"wait_check_expression"}),"\n",(0,s.jsxs)(t.p,{children:["Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for ",(0,s.jsx)(t.a,{href:"#check_expression",children:"check_expression"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the expression\nelapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Expression"}),(0,s.jsx)(t.td,{children:"A ruby expression to evaluate."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"elapsed = wait_check_expression(\"tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0\", 10)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"wait_check_packet",children:"wait_check_packet"}),"\n",(0,s.jsx)(t.p,{children:"Pauses the script until a certain number of packets have been received. If a timeout occurs the script will stop."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'# Returns the amount of time elapsed waiting for the packets\nelapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target"}),(0,s.jsx)(t.td,{children:"The target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet"}),(0,s.jsx)(t.td,{children:"The packet name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Num Packets"}),(0,s.jsx)(t.td,{children:"The number of packets to receive"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Timeout"}),(0,s.jsx)(t.td,{children:"Timeout in seconds. Script will stop if the wait statement times out waiting specified number of packets."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Polling Rate"}),(0,s.jsx)(t.td,{children:"How often the comparison is evaluated in seconds. Defaults to 0.25 if not specified."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"quiet"}),(0,s.jsx)(t.td,{children:"Named parameter indicating whether to log the result. Defaults to true."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s\n"})}),"\n",(0,s.jsx)(t.h2,{id:"limits",children:"Limits"}),"\n",(0,s.jsx)(t.p,{children:"These methods deal with handling telemetry limits."}),"\n",(0,s.jsx)(t.h3,{id:"limits_enabled-limits_enabled",children:"limits_enabled?, limits_enabled"}),"\n",(0,s.jsx)(t.p,{children:"The limits_enabled? method returns true/false depending on whether limits are enabled for a telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'limits_enabled?("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'limits_enabled("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False\n'})}),"\n",(0,s.jsx)(t.h3,{id:"enable_limits",children:"enable_limits"}),"\n",(0,s.jsx)(t.p,{children:"Enables limits monitoring for the specified telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits("INST HEALTH_STATUS TEMP1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disable_limits",children:"disable_limits"}),"\n",(0,s.jsx)(t.p,{children:"Disables limits monitoring for the specified telemetry item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits("<Target Name> <Packet Name> <Item Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits("INST HEALTH_STATUS TEMP1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"enable_limits_group",children:"enable_limits_group"}),"\n",(0,s.jsx)(t.p,{children:"Enables limits monitoring on a set of telemetry items specified in a limits group."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits_group("<Limits Group Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Group Name"}),(0,s.jsx)(t.td,{children:"Name of the limits group."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'enable_limits_group("SAFE_MODE")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disable_limits_group",children:"disable_limits_group"}),"\n",(0,s.jsx)(t.p,{children:"Disables limits monitoring on a set of telemetry items specified in a limits group."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits_group("<Limits Group Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Group Name"}),(0,s.jsx)(t.td,{children:"Name of the limits group."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disable_limits_group("SAFE_MODE")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_groups",children:"get_limits_groups"}),"\n",(0,s.jsx)(t.p,{children:"Returns the list of limits groups in the system."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"limits_groups = get_limits_groups()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_limits_set",children:"set_limits_set"}),"\n",(0,s.jsx)(t.p,{children:"Sets the current limits set. The default limits set is DEFAULT."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_limits_set("<Limits Set Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Set Name"}),(0,s.jsx)(t.td,{children:"Name of the limits set."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'set_limits_set("DEFAULT")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_set",children:"get_limits_set"}),"\n",(0,s.jsx)(t.p,{children:"Returns the name of the current limits set. The default limits set is DEFAULT."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"limits_set = get_limits_set()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_sets",children:"get_limits_sets"}),"\n",(0,s.jsx)(t.p,{children:"Returns the list of limits sets in the system."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"limits_sets = get_limits_sets()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits",children:"get_limits"}),"\n",(0,s.jsx)(t.p,{children:"Returns hash / dict of all the limits settings for a telemetry point."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_limits(<Target Name>, <Packet Name>, <Item Name>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')\nputs result #=> {\"DEFAULT\"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], \"TVAC\"=>[-80.0, -30.0, 30.0, 80.0]}\nputs result.keys #=> ['DEFAULT', 'TVAC']\nputs result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')\nprint(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]}\nprint(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC'])\nprint(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_limits",children:"set_limits"}),"\n",(0,s.jsx)(t.p,{children:"The set_limits_method sets limits settings for a telemetry point. Note: In most cases it would be better to update your config files or use different limits sets rather than changing limits settings in realtime."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Packet Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry packet of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Item Name"}),(0,s.jsx)(t.td,{children:"Name of the telemetry item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Red Low"}),(0,s.jsx)(t.td,{children:"Red Low setting for this limits set. Any value below this value will be make the item red."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Yellow Low"}),(0,s.jsx)(t.td,{children:"Yellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Yellow High"}),(0,s.jsx)(t.td,{children:"Yellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Red High"}),(0,s.jsx)(t.td,{children:"Red High setting for this limits set. Any value above this value will be make the item red."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Green Low"}),(0,s.jsx)(t.td,{children:"Optional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Green High"}),(0,s.jsx)(t.td,{children:"Optional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Limits Set"}),(0,s.jsx)(t.td,{children:"Optional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Persistence"}),(0,s.jsx)(t.td,{children:"Optional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Enabled"}),(0,s.jsx)(t.td,{children:"Optional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_out_of_limits",children:"get_out_of_limits"}),"\n",(0,s.jsx)(t.p,{children:"Returns an array with the target_name, packet_name, item_name, and limits_state of all items that are out of their limits ranges."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"out_of_limits_items = get_out_of_limits()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_overall_limits_state",children:"get_overall_limits_state"}),"\n",(0,s.jsx)(t.p,{children:"Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_overall_limits_state(<Ignored Items> (optional))\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Ignored Items"}),(0,s.jsx)(t.td,{children:"Array of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...]"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"overall_limits_state = get_overall_limits_state()\noverall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']])\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_limits_events",children:"get_limits_events"}),"\n",(0,s.jsx)(t.p,{children:"Returns limits events based on an offset returned from the last time it was called."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_limits_event(<Offset>, count)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Offset"}),(0,s.jsx)(t.td,{children:"Offset returned by the previous call to get_limits_event. Default is nil for the initial call"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"count"}),(0,s.jsx)(t.td,{children:"Named parameter specifying the maximum number of limits events to return. Default is 100"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'events = get_limits_event()\nprint(events)\n#[["1613077715557-0",\n# {"type"=>"LIMITS_CHANGE",\n# "target_name"=>"TGT",\n# "packet_name"=>"PKT",\n# "item_name"=>"ITEM",\n# "old_limits_state"=>"YELLOW_LOW",\n# "new_limits_state"=>"RED_LOW",\n# "time_nsec"=>"1",\n# "message"=>"message"}],\n# ["1613077715557-1",\n# {"type"=>"LIMITS_CHANGE",\n# "target_name"=>"TGT",\n# "packet_name"=>"PKT",\n# "item_name"=>"ITEM",\n# "old_limits_state"=>"RED_LOW",\n# "new_limits_state"=>"YELLOW_LOW",\n# "time_nsec"=>"2",\n# "message"=>"message"}]]\n# The last offset is the first item ([0]) in the last event ([-1])\nevents = get_limits_event(events[-1][0])\nprint(events)\n#[["1613077715657-0",\n# {"type"=>"LIMITS_CHANGE",\n# ...\n'})}),"\n",(0,s.jsx)(t.h2,{id:"targets",children:"Targets"}),"\n",(0,s.jsx)(t.p,{children:"Methods for getting knowledge about targets."}),"\n",(0,s.jsx)(t.h3,{id:"get_target_names",children:"get_target_names"}),"\n",(0,s.jsx)(t.p,{children:"Returns a list of the targets in the system in an array."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_target",children:"get_target"}),"\n",(0,s.jsx)(t.p,{children:"Returns a target hash containing all the information about the target."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_target("<Target Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'target = get_target("INST")\nprint(target)\n#{"name"=>"INST",\n# "folder_name"=>"INST",\n# "requires"=>[],\n# "ignored_parameters"=>\n# ["CCSDSVER",\n# "CCSDSTYPE",\n# "CCSDSSHF",\n# "CCSDSAPID",\n# "CCSDSSEQFLAGS",\n# "CCSDSSEQCNT",\n# "CCSDSLENGTH",\n# "PKTID"],\n# "ignored_items"=>\n# ["CCSDSVER",\n# "CCSDSTYPE",\n# "CCSDSSHF",\n# "CCSDSAPID",\n# "CCSDSSEQFLAGS",\n# "CCSDSSEQCNT",\n# "CCSDSLENGTH",\n# "RECEIVED_COUNT",\n# "RECEIVED_TIMESECONDS",\n# "RECEIVED_TIMEFORMATTED"],\n# "limits_groups"=>[],\n# "cmd_tlm_files"=>\n# [".../targets/INST/cmd_tlm/inst_cmds.txt",\n# ".../targets/INST/cmd_tlm/inst_tlm.txt"],\n# "cmd_unique_id_mode"=>false,\n# "tlm_unique_id_mode"=>false,\n# "id"=>nil,\n# "updated_at"=>1613077058266815900,\n# "plugin"=>nil}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_target_interfaces",children:"get_target_interfaces"}),"\n",(0,s.jsx)(t.p,{children:"Returns the interfaces for all targets. The return value is an array of arrays where each subarray contains the target name, and a String of all the interface names."}),"\n",(0,s.jsx)(t.p,{children:"Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'target_ints = get_target_interfaces()\ntarget_ints.each do |target_name, interfaces|\n puts "Target: #{target_name}, Interfaces: #{interfaces}"\nend\n'})}),"\n",(0,s.jsx)(t.h2,{id:"interfaces",children:"Interfaces"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to manipulate COSMOS interfaces."}),"\n",(0,s.jsx)(t.h3,{id:"get_interface-since-500",children:"get_interface (since 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns an interface status including the as built interface and its current status (cmd/tlm counters, etc)."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:'get_interface("<Interface Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface = get_interface("INST_INT")\nprint(interface)\n#{"name"=>"INST_INT",\n# "config_params"=>["interface.rb"],\n# "target_names"=>["INST"],\n# "connect_on_startup"=>true,\n# "auto_reconnect"=>true,\n# "reconnect_delay"=>5.0,\n# "disable_disconnect"=>false,\n# "options"=>[],\n# "protocols"=>[],\n# "log"=>true,\n# "log_raw"=>false,\n# "plugin"=>nil,\n# "updated_at"=>1613076213535979900,\n# "state"=>"CONNECTED",\n# "clients"=>0,\n# "txsize"=>0,\n# "rxsize"=>0,\n# "txbytes"=>0,\n# "rxbytes"=>0,\n# "txcnt"=>0,\n# "rxcnt"=>0}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_interface_names",children:"get_interface_names"}),"\n",(0,s.jsx)(t.p,{children:"Returns a list of the interfaces in the system in an array."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"connect_interface",children:"connect_interface"}),"\n",(0,s.jsx)(t.p,{children:"Connects to targets associated with a COSMOS interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_interface("<Interface Name>", <Interface Parameters (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Parameters"}),(0,s.jsx)(t.td,{children:"Parameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_interface("INT1")\nconnect_interface("INT1", hostname, port)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disconnect_interface",children:"disconnect_interface"}),"\n",(0,s.jsx)(t.p,{children:"Disconnects from targets associated with a COSMOS interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_interface("<Interface Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_interface("INT1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"start_raw_logging_interface",children:"start_raw_logging_interface"}),"\n",(0,s.jsx)(t.p,{children:"Starts logging of raw data on one or all interfaces. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_interface("<Interface Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_interface("int1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"stop_raw_logging_interface",children:"stop_raw_logging_interface"}),"\n",(0,s.jsx)(t.p,{children:"Stops logging of raw data on one or all interfaces. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_interface("<Interface Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_interface("int1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_interface_info",children:"get_all_interface_info"}),"\n",(0,s.jsx)(t.p,{children:"Returns information about all interfaces. The return value is an array of arrays where each subarray contains the interface name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, command count, and telemetry count."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_info = get_all_interface_info()\ninterface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count|\n puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"\n puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"\n puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}"\nend\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'interface_info = get_all_interface_info()\nfor interface in interface_info():\n # [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count]\n print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}")\n print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}")\n print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"map_target_to_interface",children:"map_target_to_interface"}),"\n",(0,s.jsx)(t.p,{children:"Map a target to an interface allowing target commands and telemetry to be processed by that interface."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Name of the target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"cmd_only"}),(0,s.jsx)(t.td,{children:"Named parameter whether to map target commands only to the interface (default: false)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tlm_only"}),(0,s.jsx)(t.td,{children:"Named parameter whether to map target telemetry only to the interface (default: false)"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"unmap_old"}),(0,s.jsx)(t.td,{children:"Named parameter whether remove the target from all existing interfaces (default: true)"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'map_target_to_interface("INST", "INST_INT", unmap_old: false)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'map_target_to_interface("INST", "INST_INT", unmap_old=False)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"interface_cmd",children:"interface_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to an interface. This has no effect in the standard COSMOS interfaces but can be implemented by a custom interface to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_cmd("INST", "DISABLE_CRC")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"interface_protocol_cmd",children:"interface_protocol_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to an interface protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Interface Name"}),(0,s.jsx)(t.td,{children:"Name of the interface"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"read_write"}),(0,s.jsx)(t.td,{children:"Whether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index"}),(0,s.jsx)(t.td,{children:"Which protocol in the stack the command should apply to. The default is -1 which applies the command to all."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'interface_protocol_cmd("INST", "DISABLE_CRC", read_write=\'READ_WRITE\', index=-1)\n'})}),"\n",(0,s.jsx)(t.h2,{id:"routers",children:"Routers"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to manipulate COSMOS routers."}),"\n",(0,s.jsx)(t.h3,{id:"connect_router",children:"connect_router"}),"\n",(0,s.jsx)(t.p,{children:"Connects a COSMOS router."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_router("<Router Name>", <Router Parameters (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Parameters"}),(0,s.jsx)(t.td,{children:"Parameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'connect_ROUTER("INST_ROUTER")\nconnect_router("INST_ROUTER", 7779, 7779, nil, 10.0, \'PREIDENTIFIED\')\n'})}),"\n",(0,s.jsx)(t.h3,{id:"disconnect_router",children:"disconnect_router"}),"\n",(0,s.jsx)(t.p,{children:"Disconnects a COSMOS router."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_router("<Router Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'disconnect_router("INT1_ROUTER")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_router_names",children:"get_router_names"}),"\n",(0,s.jsx)(t.p,{children:"Returns a list of the routers in the system in an array."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"router_names = get_router_names() #=> ['ROUTER_INT']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_router-since-500",children:"get_router (since 5.0.0)"}),"\n",(0,s.jsx)(t.p,{children:"Returns a router status including the as built router and its current status (cmd/tlm counters, etc)."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_router("<Router Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router = get_router("ROUTER_INT")\nprint(router)\n#{"name"=>"ROUTER_INT",\n# "config_params"=>["router.rb"],\n# "target_names"=>["INST"],\n# "connect_on_startup"=>true,\n# "auto_reconnect"=>true,\n# "reconnect_delay"=>5.0,\n# "disable_disconnect"=>false,\n# "options"=>[],\n# "protocols"=>[],\n# "log"=>true,\n# "log_raw"=>false,\n# "plugin"=>nil,\n# "updated_at"=>1613076213535979900,\n# "state"=>"CONNECTED",\n# "clients"=>0,\n# "txsize"=>0,\n# "rxsize"=>0,\n# "txbytes"=>0,\n# "rxbytes"=>0,\n# "txcnt"=>0,\n# "rxcnt"=>0}\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_router_info",children:"get_all_router_info"}),"\n",(0,s.jsx)(t.p,{children:"Returns information about all routers. The return value is an array of arrays where each subarray contains the router name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, packets received, and packets sent."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_info = get_all_router_info()\nrouter_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent|\n puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"\n puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"\n puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}"\nend\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'router_info = get_all_router_info()\n# router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent\nfor router in router_info:\n print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}")\n print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}")\n print(f"Packets received: {router[7]}, Packets sent: {router[8]}")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"start_raw_logging_router",children:"start_raw_logging_router"}),"\n",(0,s.jsx)(t.p,{children:"Starts logging of raw data on one or all routers. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_router("<Router Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start_raw_logging_router("router1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"stop_raw_logging_router",children:"stop_raw_logging_router"}),"\n",(0,s.jsx)(t.p,{children:"Stops logging of raw data on one or all routers. This is for debugging purposes only."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_router("<Router Name (optional)>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stop_raw_logging_router("router1")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"router_cmd",children:"router_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to a router. This has no effect in the standard COSMOS routers but can be implemented by a custom router to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_cmd("INST", "DISABLE_CRC")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"router_protocol_cmd",children:"router_protocol_cmd"}),"\n",(0,s.jsx)(t.p,{children:"Send a command directly to an router protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Router Name"}),(0,s.jsx)(t.td,{children:"Name of the router"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Name"}),(0,s.jsx)(t.td,{children:"Name of the command to send"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Command Parameters"}),(0,s.jsx)(t.td,{children:"Any parameters to send with the command"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"read_write"}),(0,s.jsx)(t.td,{children:"Whether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"index"}),(0,s.jsx)(t.td,{children:"Which protocol in the stack the command should apply to. The default is -1 which applies the command to all."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'router_protocol_cmd("INST", "DISABLE_CRC", read_write=\'READ_WRITE\', index=-1)\n'})}),"\n",(0,s.jsx)(t.h2,{id:"stashing-data",children:"Stashing Data"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to store temporary data into COSMOS and retrieve it. The storage is implemented as a key / value storage (Ruby hash or Python dict). This can be used in scripts to store information that applies across multiple scripts or multiple runs of a single script."}),"\n",(0,s.jsx)(t.h3,{id:"stash_set",children:"stash_set"}),"\n",(0,s.jsx)(t.p,{children:"Sets a stash item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_set("<Stash Key>", <Stash Value>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Key"}),(0,s.jsx)(t.td,{children:"Name of the stash key to set"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Value"}),(0,s.jsx)(t.td,{children:"Value to set"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_set('run_count', 5)\nstash_set('setpoint', 23.4)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_get",children:"stash_get"}),"\n",(0,s.jsx)(t.p,{children:"Returns the specified stash item."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_get("<Stash Key>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Key"}),(0,s.jsx)(t.td,{children:"Name of the stash key to return"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_get('run_count') #=> 5\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_all",children:"stash_all"}),"\n",(0,s.jsx)(t.p,{children:"Returns all the stash items as a Ruby hash or Python dict."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_all() #=> ['run_count' => 5, 'setpoint' => 23.4]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_all() #=> ['run_count': 5, 'setpoint': 23.4]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_keys",children:"stash_keys"}),"\n",(0,s.jsx)(t.p,{children:"Returns all the stash keys."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"stash_keys() #=> ['run_count', 'setpoint']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"stash_delete",children:"stash_delete"}),"\n",(0,s.jsx)(t.p,{children:"Deletes a stash item. Note this actions is permanent!"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_delete("<Stash Key>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Stash Key"}),(0,s.jsx)(t.td,{children:"Name of the stash key to delete"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'stash_delete("run_count")\n'})}),"\n",(0,s.jsx)(t.h2,{id:"executing-other-procedures",children:"Executing Other Procedures"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to bring in files of subroutines and execute other test procedures."}),"\n",(0,s.jsx)(t.h3,{id:"start",children:"start"}),"\n",(0,s.jsx)(t.p,{children:"Starts execution of another high level test procedure. No parameters can be given to high level test procedures. If parameters are necessary, then consider using a subroutine."}),"\n",(0,s.jsx)(t.p,{children:"Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start("<Procedure Filename>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Procedure Filename"}),(0,s.jsx)(t.td,{children:"Name of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'start("test1.rb")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"load_utility",children:"load_utility"}),"\n",(0,s.jsx)(t.p,{children:"Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'load_utility("TARGET/lib/<Utility Filename>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Utility Filename"}),(0,s.jsx)(t.td,{children:"Name of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'load_utility("TARGET/lib/mode_changes.rb") # Ruby\nload_utility("TARGET/lib/mode_changes.py") # Python\n'})}),"\n",(0,s.jsx)(t.h2,{id:"opening-closing--creating-telemetry-screens",children:"Opening, Closing & Creating Telemetry Screens"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to open, close or create unique telemetry screens from within a test procedure."}),"\n",(0,s.jsx)(t.h3,{id:"display_screen",children:"display_screen"}),"\n",(0,s.jsx)(t.p,{children:"Opens a telemetry screen at the specified position."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"X Position"}),(0,s.jsx)(t.td,{children:"X coordinate for the upper left hand corner of the screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Y Position"}),(0,s.jsx)(t.td,{children:"Y coordinate for the upper left hand corner of the screen"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'display_screen("INST", "ADCS", 100, 200)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"clear_screen",children:"clear_screen"}),"\n",(0,s.jsx)(t.p,{children:"Closes an open telemetry screen."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'clear_screen("<Target Name>", "<Screen Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'clear_screen("INST", "ADCS")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"clear_all_screens",children:"clear_all_screens"}),"\n",(0,s.jsx)(t.p,{children:"Closes all open screens."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"clear_all_screens()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"delete_screen",children:"delete_screen"}),"\n",(0,s.jsx)(t.p,{children:"Deletes an existing Telemetry Viewer screen."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'delete_screen("<Target Name>", "<Screen Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'delete_screen("INST", "ADCS")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"get_screen_list",children:"get_screen_list"}),"\n",(0,s.jsx)(t.p,{children:"The get_screen_list returns a list of available telemetry screens."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...]\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_screen_definition",children:"get_screen_definition"}),"\n",(0,s.jsx)(t.p,{children:"The get_screen_definition returns the text file contents of a telemetry screen definition."}),"\n",(0,s.jsx)(t.p,{children:"Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'get_screen_definition("<Target Name>", "<Screen Name>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'screen_definition = get_screen_definition("INST", "HS")\n'})}),"\n",(0,s.jsx)(t.h3,{id:"create_screen",children:"create_screen"}),"\n",(0,s.jsx)(t.p,{children:"The create_screen allows you to create a screen directly from a script. This screen is saved to Telemetry Viewer for future use in that application."}),"\n",(0,s.jsx)(t.p,{children:"Python / Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'create_screen("<Target Name>", "<Screen Name>" "<Definition>")\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Target Name"}),(0,s.jsx)(t.td,{children:"Telemetry screen target name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Definition"}),(0,s.jsx)(t.td,{children:"The entire screen definition as a String"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'screen_def = \'\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "New Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n\'\n# Here we pass in the screen definition as a string\ncreate_screen("INST", "LOCAL", screen_def)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'screen_def = \'\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "New Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n\'\n# Here we pass in the screen definition as a string\ncreate_screen("INST", "LOCAL", screen_def)\n'})}),"\n",(0,s.jsx)(t.h3,{id:"local_screen",children:"local_screen"}),"\n",(0,s.jsx)(t.p,{children:"The local_screen allows you to create a local screen directly from a script which is not permanently saved to the Telemetry Viewer screen list. This is useful for one off screens that help users interact with scripts."}),"\n",(0,s.jsx)(t.p,{children:"Python / Ruby Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>)\n'})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Screen Name"}),(0,s.jsx)(t.td,{children:"Screen name within the specified target"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Definition"}),(0,s.jsx)(t.td,{children:"The entire screen definition as a String"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"X Position"}),(0,s.jsx)(t.td,{children:"X coordinate for the upper left hand corner of the screen"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Y Position"}),(0,s.jsx)(t.td,{children:"Y coordinate for the upper left hand corner of the screen"})]})]})]}),"\n",(0,s.jsxs)(t.p,{children:["NOTE: It is possible to specify a X, Y location off the visible display. If you do so and try to re-create the screen it will not display (because it is already displayed). Try issuing a ",(0,s.jsx)(t.code,{children:"clear_all_screens()"})," first to clear any screens off the visible display space."]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'screen_def = \'\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "Local Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n\'\n# Here we pass in the screen definition as a string\nlocal_screen("TESTING", screen_def, 600, 75)\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'screen_def = """\n SCREEN AUTO AUTO 0.1 FIXED\n VERTICAL\n TITLE "Local Screen"\n VERTICALBOX\n LABELVALUE INST HEALTH_STATUS TEMP1\n END\n END\n"""\n# Here we pass in the screen definition as a string\nlocal_screen("TESTING", screen_def, 600, 75)\n'})}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-settings",children:"Script Runner Settings"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to control various Script Runner settings."}),"\n",(0,s.jsx)(t.h3,{id:"set_line_delay",children:"set_line_delay"}),"\n",(0,s.jsx)(t.p,{children:"This method sets the line delay in script runner."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_line_delay(<Delay>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Delay"}),(0,s.jsx)(t.td,{children:"The amount of time script runner will wait between lines when executing a script, in seconds. Should be \u2265 0.0"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_line_delay(0.0)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_line_delay",children:"get_line_delay"}),"\n",(0,s.jsx)(t.p,{children:"The method gets the line delay that script runner is currently using."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"curr_line_delay = get_line_delay()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_max_output",children:"set_max_output"}),"\n",(0,s.jsx)(t.p,{children:"This method sets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_max_output(<Characters>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Characters"}),(0,s.jsx)(t.td,{children:"Number of characters to output before truncating"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_max_output(100)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_max_output",children:"get_max_output"}),"\n",(0,s.jsx)(t.p,{children:"The method gets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"print(get_max_output()) #=> 50000\n"})}),"\n",(0,s.jsx)(t.h3,{id:"disable_instrumentation",children:"disable_instrumentation"}),"\n",(0,s.jsx)(t.p,{children:"Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented.\nConsider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script."}),"\n",(0,s.jsx)(t.admonition,{title:"Use with Caution",type:"warning",children:(0,s.jsx)(t.p,{children:"Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop."})}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"disable_instrumentation do\n 1000.times do\n # Don't want this to have to highlight 1000 times\n end\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"with disable_instrumentation():\n for x in range(1000):\n # Don't want this to have to highlight 1000 times\n"})}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-suites",children:"Script Runner Suites"}),"\n",(0,s.jsxs)(t.p,{children:["Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see ",(0,s.jsx)(t.a,{href:"/docs/tools/script-runner#running-script-suites",children:"running script suites"}),"."]}),"\n",(0,s.jsx)(t.h3,{id:"add_group-add_group_setup-add_group_teardown-add_script",children:"add_group, add_group_setup, add_group_teardown, add_script"}),"\n",(0,s.jsx)(t.p,{children:"Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"add_group(<Group Class>)\nadd_group_setup(<Group Class>)\nadd_group_teardown(<Group Class>)\nadd_script(<Group Class>, <Method>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Group Class"}),(0,s.jsx)(t.td,{children:"Name of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Method"}),(0,s.jsx)(t.td,{children:"Name of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"load 'openc3/script/suite.rb'\n\nclass ExampleGroup < OpenC3::Group\n def script_1\n # Insert test code here ...\n end\nend\nclass WrapperGroup < OpenC3::Group\n def setup\n # Insert test code here ...\n end\n def my_method\n # Insert test code here ...\n end\n def teardown\n # Insert test code here ...\n end\nend\n\nclass MySuite < OpenC3::Suite\n def initialize\n super()\n add_group('ExampleGroup')\n add_group_setup('WrapperGroup')\n add_script('WrapperGroup', 'my_method')\n add_group_teardown('WrapperGroup')\n end\nend\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"from openc3.script import *\nfrom openc3.script.suite import Group, Suite\n\nclass ExampleGroup(Group):\n def script_1(self):\n # Insert test code here ...\n pass\nclass WrapperGroup(Group):\n def setup(self):\n # Insert test code here ...\n pass\n def my_method(self):\n # Insert test code here ...\n pass\n def teardown(self):\n # Insert test code here ...\n pass\nclass MySuite(Suite):\n def __init__(self):\n super().__init__()\n self.add_group(ExampleGroup)\n self.add_group_setup(WrapperGroup)\n self.add_script(WrapperGroup, 'my_method')\n self.add_group_teardown(WrapperGroup)\n"})}),"\n",(0,s.jsx)(t.h2,{id:"script-runner-debugging",children:"Script Runner Debugging"}),"\n",(0,s.jsx)(t.p,{children:"These methods allow the user to debug scripts with ScriptRunner."}),"\n",(0,s.jsx)(t.h3,{id:"step_mode",children:"step_mode"}),"\n",(0,s.jsx)(t.p,{children:"Places ScriptRunner into step mode where Go must be hit to proceed to the next line."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"step_mode()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"run_mode",children:"run_mode"}),"\n",(0,s.jsx)(t.p,{children:"Places ScriptRunner into run mode where the next line is run automatically."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"run_mode()\n"})}),"\n",(0,s.jsx)(t.h3,{id:"disconnect_script",children:"disconnect_script"}),"\n",(0,s.jsx)(t.p,{children:"Puts scripting into disconnect mode. In disconnect mode, commands are not sent to targets, checks are all successful, and waits expire instantly. Requests for telemetry (tlm()) typically return 0. Disconnect mode is useful for dry-running scripts without having connected targets."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"disconnect_script()\n"})}),"\n",(0,s.jsx)(t.h2,{id:"metadata",children:"Metadata"}),"\n",(0,s.jsx)(t.p,{children:"Metadata allows you to mark the regular target / packet data logged in COSMOS with your own fields. This metadata can then be searched and used to filter data when using other COSMOS tools."}),"\n",(0,s.jsx)(t.h3,{id:"metadata_all",children:"metadata_all"}),"\n",(0,s.jsx)(t.p,{children:"Returns all the metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_all()\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"limit"}),(0,s.jsx)(t.td,{children:"Amount of metadata items to return. Default is 100."})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_all(limit: 500)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_all(limit='500')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_get",children:"metadata_get"}),"\n",(0,s.jsx)(t.p,{children:"Returns metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_get(start)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start"}),(0,s.jsx)(t.td,{children:"Named parameter, time at which to retrieve metadata as integer seconds from epoch"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_get(start: 500)\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_get(start='500')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_set",children:"metadata_set"}),"\n",(0,s.jsx)(t.p,{children:"Returns metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_set(<Metadata>, start, color)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Metadata"}),(0,s.jsx)(t.td,{children:"Hash or dict of key value pairs to store as metadata."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start"}),(0,s.jsx)(t.td,{children:"Named parameter, time at which to store metadata. Default is now."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"color"}),(0,s.jsx)(t.td,{children:"Named parameter, color to display metadata in the calendar. Default is #003784."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_set({ 'key' => 'value' })\nmetadata_set({ 'key' => 'value' }, color: '#ff5252')\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_set({ 'key': 'value' })\nmetadata_set({ 'key': 'value' }, color='ff5252')\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_update",children:"metadata_update"}),"\n",(0,s.jsx)(t.p,{children:"Updates metadata that was previously set"}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_update(<Metadata>, start, color)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Metadata"}),(0,s.jsx)(t.td,{children:"Hash or dict of key value pairs to update as metadata."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"start"}),(0,s.jsx)(t.td,{children:"Named parameter, time at which to update metadata. Default is latest metadata."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"color"}),(0,s.jsx)(t.td,{children:"Named parameter, color to display metadata in the calendar. Default is #003784."})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_update({ 'key' => 'value' })\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"metadata_update({ 'key': 'value' })\n"})}),"\n",(0,s.jsx)(t.h3,{id:"metadata_input",children:"metadata_input"}),"\n",(0,s.jsx)(t.p,{children:"Prompts the user to set existing metadata values or create new a new one."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"metadata_input()\n"})}),"\n",(0,s.jsx)(t.h2,{id:"settings",children:"Settings"}),"\n",(0,s.jsx)(t.p,{children:"COSMOS has several settings typically accessed through the Admin Settings tab. These APIs allow programmatic access to those same settings."}),"\n",(0,s.jsx)(t.h3,{id:"list_settings",children:"list_settings"}),"\n",(0,s.jsx)(t.p,{children:"Return all the current COSMOS setting name. These are the names that should be used in the other APIs."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_all_settings",children:"get_all_settings"}),"\n",(0,s.jsx)(t.p,{children:"Return all the current COSMOS settings along with their values."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'puts get_all_settings() #=>\n# { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507},\n# "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007},\n# "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465},\n# "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} }\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"print(get_all_settings()) #=>\n# { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507},\n# 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007},\n# 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465},\n# 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} }\n"})}),"\n",(0,s.jsx)(t.h3,{id:"get_setting-get_settings",children:"get_setting, get_settings"}),"\n",(0,s.jsx)(t.p,{children:"Return the data from the given COSMOS setting. Returns nil (Ruby) or None (Python) if the setting does not exist."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"get_setting(<Setting Name>)\nget_settings(<Setting Name1>, <Setting Name2>, ...)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Setting Name"}),(0,s.jsx)(t.td,{children:"Name of the setting to return"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"puts get_setting('version') #=> \"5.11.4-beta0\"\nputs get_settings('version', 'rubygems_url') #=> [\"5.11.4-beta0\", \"https://rubygems.org\"]\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"print(get_setting('version')) #=> '5.11.4-beta0'\nprint(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"set_setting",children:"set_setting"}),"\n",(0,s.jsx)(t.p,{children:"Sets the given setting value."}),"\n",(0,s.jsx)(t.admonition,{title:"Admin Passwork Required",type:"note",children:(0,s.jsx)(t.p,{children:"This API is only accessible externally (not within Script Runner) and requires the admin password."})}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_setting(<Setting Name>, <Setting Value>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Setting Name"}),(0,s.jsx)(t.td,{children:"Name of the setting to change"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Setting Value"}),(0,s.jsx)(t.td,{children:"Setting value to set"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"set_setting('rubygems_url', 'https://mygemserver')\nputs get_settings('rubygems_url') #=> \"https://mygemserver\"\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"set_setting('pypi_url', 'https://mypypiserver')\nprint(get_settings('pypi_url')) #=> 'https://mypypiserver'\n"})}),"\n",(0,s.jsx)(t.h2,{id:"configuration",children:"Configuration"}),"\n",(0,s.jsx)(t.p,{children:"Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration."}),"\n",(0,s.jsx)(t.h3,{id:"config_tool_names",children:"config_tool_names"}),"\n",(0,s.jsx)(t.p,{children:"List all the configuration tool names which are used as the first parameter in the other APIs."}),"\n",(0,s.jsx)(t.p,{children:"Ruby Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'names = config_tool_names()\npp names #=> ["telemetry_grapher", "data_viewer"]\n'})}),"\n",(0,s.jsx)(t.p,{children:"Python Syntax / Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"names = config_tool_names()\nprint(names) #=> ['telemetry_grapher', 'data_viewer']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"list_configs",children:"list_configs"}),"\n",(0,s.jsx)(t.p,{children:"List all the saved configuration names under the given tool name."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"list_configs(<Tool Name>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool to retrieve configuration names from"})]})})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"configs = list_configs('telemetry_grapher')\npp configs #=> ['adcs', 'temps']\n"})}),"\n",(0,s.jsx)(t.p,{children:"Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"configs = list_configs('telemetry_grapher')\nprint(configs) #=> ['adcs', 'temps']\n"})}),"\n",(0,s.jsx)(t.h3,{id:"load_config",children:"load_config"}),"\n",(0,s.jsx)(t.p,{children:"Load a particular tool configuration."}),"\n",(0,s.jsx)(t.admonition,{title:"Tool Configuration",type:"note",children:(0,s.jsx)(t.p,{children:"Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys."})}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"load_config(<Tool Name>, <Configuration Name>)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Configuration Name"}),(0,s.jsx)(t.td,{children:"Name of the configuration"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:'config = load_config(\'telemetry_grapher\', \'adcs\')\nprint(config) #=>\n# [ {\n# "items": [\n# {\n# "targetName": "INST",\n# "packetName": "ADCS",\n# "itemName": "CCSDSVER",\n# ...\n'})}),"\n",(0,s.jsx)(t.h3,{id:"save_config",children:"save_config"}),"\n",(0,s.jsx)(t.p,{children:"Save a particular tool configuration."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"save_config(<Tool Name>, <Configuration Name>, local_mode)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Configuration Name"}),(0,s.jsx)(t.td,{children:"Name of the configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"local_mode"}),(0,s.jsx)(t.td,{children:"Whether to save the configuration in local mode"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"save_config('telemetry_grapher', 'adcs', config)\n"})}),"\n",(0,s.jsx)(t.h3,{id:"delete_config",children:"delete_config"}),"\n",(0,s.jsx)(t.p,{children:"Delete a particular tool configuration."}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Syntax:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"delete_config(<Tool Name>, <Configuration Name>, local_mode)\n"})}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Parameter"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool Name"}),(0,s.jsx)(t.td,{children:"Name of the tool"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Configuration Name"}),(0,s.jsx)(t.td,{children:"Name of the configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"local_mode"}),(0,s.jsx)(t.td,{children:"Whether to delete the configuration in local mode"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Ruby / Python Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ruby",children:"delete_config('telemetry_grapher', 'adcs')\n"})})]})}function o(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var r=n(6540);const s={},a=r.createContext(s);function i(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b4596165.f65aac7d.js b/docs/assets/js/b4596165.7e6f52c6.js similarity index 66% rename from docs/assets/js/b4596165.f65aac7d.js rename to docs/assets/js/b4596165.7e6f52c6.js index 2ecc57df4d..7833358b58 100644 --- a/docs/assets/js/b4596165.f65aac7d.js +++ b/docs/assets/js/b4596165.7e6f52c6.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8499],{6950:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>s});const i=JSON.parse('{"id":"tools/table-manager","title":"Table Manager","description":"Binary file editor with upload / download","source":"@site/docs/tools/table-manager.md","sourceDirName":"tools","slug":"/tools/table-manager","permalink":"/docs/tools/table-manager","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/table-manager.md","tags":[],"version":"current","frontMatter":{"title":"Table Manager","description":"Binary file editor with upload / download","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Script Runner","permalink":"/docs/tools/script-runner"},"next":{"title":"Telemetry Grapher","permalink":"/docs/tools/tlm-grapher"}}');var o=n(4848),a=n(8453);const l={title:"Table Manager",description:"Binary file editor with upload / download",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},r=void 0,d={},s=[{value:"Introduction",id:"introduction",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"File Download",id:"file-download",level:2},{value:"Upload / Download",id:"upload--download",level:2},{value:"upload.rb",id:"uploadrb",level:3},{value:"download.rb",id:"downloadrb",level:3}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,o.jsxs)(t.p,{children:["Table Manager is a binary file editor. It takes binary file ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definitions"})," similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Table Manager",src:n(4097).A+"",width:"1272",height:"849"})}),"\n",(0,o.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,o.jsx)("img",{src:n(5167).A,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Create a new binary based on ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definition"})]}),"\n",(0,o.jsx)(t.li,{children:"Open an existing binary"}),"\n",(0,o.jsx)(t.li,{children:"Save the current binary"}),"\n",(0,o.jsx)(t.li,{children:"Rename the current binary"}),"\n",(0,o.jsx)(t.li,{children:"Delete the current binary"}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"file-download",children:"File Download"}),"\n",(0,o.jsxs)(t.p,{children:["The three buttons next to File Download download the binary file, the ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definition"})," file, and the report file. The binary is the raw bits defined by the table. The ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definition"})," is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary."]}),"\n",(0,o.jsx)(t.h2,{id:"upload--download",children:"Upload / Download"}),"\n",(0,o.jsxs)(t.p,{children:["Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called ",(0,o.jsx)(t.code,{children:"upload.rb"})," is found in the Target's procedures directory then the Upload button becomes active. If a file called ",(0,o.jsx)(t.code,{children:"download.rb"})," is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script."]}),"\n",(0,o.jsx)(t.h3,{id:"uploadrb",children:"upload.rb"}),"\n",(0,o.jsxs)(t.p,{children:["The COSMOS demo creates the following ",(0,o.jsx)(t.code,{children:"upload.rb"})," script. Note that the ",(0,o.jsx)(t.code,{children:"ENV['TBL_FILENAME']"})," is set to the name of the table file and the script uses ",(0,o.jsx)(t.code,{children:"get_target_file"})," to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:'# TBL_FILENAME is set to the name of the table file\nputs "file:#{ENV[\'TBL_FILENAME\']}"\n# Open the file\nfile = get_target_file(ENV[\'TBL_FILENAME\'])\nbuffer = file.read\n# puts buffer.formatted\n# Implement custom commanding logic to upload the table\n# Note that buffer is a Ruby string of bytes\n# You probably want to do something like:\n# buf_size = 512 # Size of a buffer in the upload command\n# i = 0\n# while i < buffer.length\n# # Send a part of the buffer\n# # NOTE: triple dots means start index, up to but not including, end index\n# # while double dots means start index, up to AND including, end index\n# cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)])\n# i += buf_size\n# end\nfile.delete\n'})}),"\n",(0,o.jsx)(t.h3,{id:"downloadrb",children:"download.rb"}),"\n",(0,o.jsxs)(t.p,{children:["The COSMOS demo creates the following ",(0,o.jsx)(t.code,{children:"download.rb"})," script. Note that the ",(0,o.jsx)(t.code,{children:"ENV['TBL_FILENAME']"})," is set to the name of the table file to OVERWRITE and the script uses ",(0,o.jsx)(t.code,{children:"put_target_file"})," to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:"# TBL_FILENAME is set to the name of the table file to overwrite\nputs \"file:#{ENV['TBL_FILENAME']}\"\n# Download the file\n# Implement custom commanding logic to download the table\n# You probably want to do something like:\nbuffer = ''\n# i = 1\n# num_segments = 5 # calculate based on TBL_FILENAME\n# table_id = 1 # calculate based on TBL_FILENAME\n# while i < num_segments\n# # Request a part of the table buffer\n# cmd(\"TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}\")\n# buffer += tlm(\"TGT DUMP_PKT DATA\")\n# i += 1\n# end\nput_target_file(ENV['TBL_FILENAME'], buffer)\n"})})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},5167:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/file_menu-d672c1f8064e5f847a2464397c1e75ee423452f1ba4a7d0861319bc7c7891196.png"},4097:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/table_manager-816d7a683e6883cb8049e5ec8ffef3076b37a489edcc0e5331bc5d81ab506da2.png"},8453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>r});var i=n(6540);const o={},a=i.createContext(o);function l(e){const t=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2358"],{1621:function(e,t,n){n.r(t),n.d(t,{metadata:()=>i,contentTitle:()=>r,default:()=>h,assets:()=>d,toc:()=>s,frontMatter:()=>l});var i=JSON.parse('{"id":"tools/table-manager","title":"Table Manager","description":"Binary file editor with upload / download","source":"@site/docs/tools/table-manager.md","sourceDirName":"tools","slug":"/tools/table-manager","permalink":"/docs/tools/table-manager","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/table-manager.md","tags":[],"version":"current","frontMatter":{"title":"Table Manager","description":"Binary file editor with upload / download","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Script Runner","permalink":"/docs/tools/script-runner"},"next":{"title":"Telemetry Grapher","permalink":"/docs/tools/tlm-grapher"}}'),o=n("5893"),a=n("65");let l={title:"Table Manager",description:"Binary file editor with upload / download",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},r=void 0,d={},s=[{value:"Introduction",id:"introduction",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"File Download",id:"file-download",level:2},{value:"Upload / Download",id:"upload--download",level:2},{value:"upload.rb",id:"uploadrb",level:3},{value:"download.rb",id:"downloadrb",level:3}];function c(e){let t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,o.jsxs)(t.p,{children:["Table Manager is a binary file editor. It takes binary file ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definitions"})," similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Table Manager",src:n(7534).Z+"",width:"1272",height:"849"})}),"\n",(0,o.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,o.jsx)("img",{src:n(8705).Z,alt:"File Menu",style:{float:"left","margin-right":"50px",height:"150px"}}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Create a new binary based on ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definition"})]}),"\n",(0,o.jsx)(t.li,{children:"Open an existing binary"}),"\n",(0,o.jsx)(t.li,{children:"Save the current binary"}),"\n",(0,o.jsx)(t.li,{children:"Rename the current binary"}),"\n",(0,o.jsx)(t.li,{children:"Delete the current binary"}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"file-download",children:"File Download"}),"\n",(0,o.jsxs)(t.p,{children:["The three buttons next to File Download download the binary file, the ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definition"})," file, and the report file. The binary is the raw bits defined by the table. The ",(0,o.jsx)(t.a,{href:"/docs/configuration/table",children:"definition"})," is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary."]}),"\n",(0,o.jsx)(t.h2,{id:"upload--download",children:"Upload / Download"}),"\n",(0,o.jsxs)(t.p,{children:["Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called ",(0,o.jsx)(t.code,{children:"upload.rb"})," is found in the Target's procedures directory then the Upload button becomes active. If a file called ",(0,o.jsx)(t.code,{children:"download.rb"})," is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script."]}),"\n",(0,o.jsx)(t.h3,{id:"uploadrb",children:"upload.rb"}),"\n",(0,o.jsxs)(t.p,{children:["The COSMOS demo creates the following ",(0,o.jsx)(t.code,{children:"upload.rb"})," script. Note that the ",(0,o.jsx)(t.code,{children:"ENV['TBL_FILENAME']"})," is set to the name of the table file and the script uses ",(0,o.jsx)(t.code,{children:"get_target_file"})," to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:'# TBL_FILENAME is set to the name of the table file\nputs "file:#{ENV[\'TBL_FILENAME\']}"\n# Open the file\nfile = get_target_file(ENV[\'TBL_FILENAME\'])\nbuffer = file.read\n# puts buffer.formatted\n# Implement custom commanding logic to upload the table\n# Note that buffer is a Ruby string of bytes\n# You probably want to do something like:\n# buf_size = 512 # Size of a buffer in the upload command\n# i = 0\n# while i < buffer.length\n# # Send a part of the buffer\n# # NOTE: triple dots means start index, up to but not including, end index\n# # while double dots means start index, up to AND including, end index\n# cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)])\n# i += buf_size\n# end\nfile.delete\n'})}),"\n",(0,o.jsx)(t.h3,{id:"downloadrb",children:"download.rb"}),"\n",(0,o.jsxs)(t.p,{children:["The COSMOS demo creates the following ",(0,o.jsx)(t.code,{children:"download.rb"})," script. Note that the ",(0,o.jsx)(t.code,{children:"ENV['TBL_FILENAME']"})," is set to the name of the table file to OVERWRITE and the script uses ",(0,o.jsx)(t.code,{children:"put_target_file"})," to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given."]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-ruby",children:"# TBL_FILENAME is set to the name of the table file to overwrite\nputs \"file:#{ENV['TBL_FILENAME']}\"\n# Download the file\n# Implement custom commanding logic to download the table\n# You probably want to do something like:\nbuffer = ''\n# i = 1\n# num_segments = 5 # calculate based on TBL_FILENAME\n# table_id = 1 # calculate based on TBL_FILENAME\n# while i < num_segments\n# # Request a part of the table buffer\n# cmd(\"TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}\")\n# buffer += tlm(\"TGT DUMP_PKT DATA\")\n# i += 1\n# end\nput_target_file(ENV['TBL_FILENAME'], buffer)\n"})})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8705:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/file_menu-d672c1f8064e5f847a2464397c1e75ee423452f1ba4a7d0861319bc7c7891196.png"},7534:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/table_manager-816d7a683e6883cb8049e5ec8ffef3076b37a489edcc0e5331bc5d81ab506da2.png"},65:function(e,t,n){n.d(t,{Z:function(){return r},a:function(){return l}});var i=n(7294);let o={},a=i.createContext(o);function l(e){let t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b6d70f94.02fc8ffc.js b/docs/assets/js/b6d70f94.02fc8ffc.js new file mode 100644 index 0000000000..e4b747423d --- /dev/null +++ b/docs/assets/js/b6d70f94.02fc8ffc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8197"],{503:function(e,t,n){n.r(t),n.d(t,{metadata:()=>s,contentTitle:()=>o,default:()=>h,assets:()=>d,toc:()=>c,frontMatter:()=>a});var s=JSON.parse('{"id":"configuration/protocols","title":"Protocols","description":"Built-in COSMOS protocols including how to create one","source":"@site/docs/configuration/protocols.md","sourceDirName":"configuration","slug":"/configuration/protocols","permalink":"/docs/configuration/protocols","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/protocols.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_position":7,"title":"Protocols","description":"Built-in COSMOS protocols including how to create one","sidebar_custom_props":{"myEmoji":"\uD83D\uDCA1"}},"sidebar":"defaultSidebar","previous":{"title":"Interfaces","permalink":"/docs/configuration/interfaces"},"next":{"title":"Accessors","permalink":"/docs/configuration/accessors"}}'),r=n("5893"),i=n("65");let a={sidebar_position:7,title:"Protocols",description:"Built-in COSMOS protocols including how to create one",sidebar_custom_props:{myEmoji:"\uD83D\uDCA1"}},o=void 0,d={},c=[{value:"Packet Delineation Protocols",id:"packet-delineation-protocols",level:2},{value:"COBS Protocol",id:"cobs-protocol",level:3},{value:"SLIP Protocol",id:"slip-protocol",level:3},{value:"Burst Protocol",id:"burst-protocol",level:3},{value:"Fixed Protocol",id:"fixed-protocol",level:3},{value:"Length Protocol",id:"length-protocol",level:3},{value:"Terminated Protocol",id:"terminated-protocol",level:3},{value:"GEMS Protocol (Enterprise)",id:"gems-protocol-enterprise",level:3},{value:"CCSDS CLTU Protocol (Enterprise)",id:"ccsds-cltu-protocol-enterprise",level:3},{value:"CCSDS TCTF Protocol (Enterprise)",id:"ccsds-tctf-protocol-enterprise",level:3},{value:"CCSDS TMTF Protocol (Enterprise)",id:"ccsds-tmtf-protocol-enterprise",level:3},{value:"Template Protocol (Deprecated)",id:"template-protocol-deprecated",level:3},{value:"Preidentified Protocol (Internal)",id:"preidentified-protocol-internal",level:3},{value:"Helper Protocols",id:"helper-protocols",level:2},{value:"CmdResponse Protocol",id:"cmdresponse-protocol",level:3},{value:"Packet Definitions",id:"packet-definitions",level:4},{value:"CRC Protocol",id:"crc-protocol",level:3},{value:"Ignore Packet Protocol",id:"ignore-packet-protocol",level:3},{value:"Custom Protocols",id:"custom-protocols",level:2},{value:"Method discussions",id:"method-discussions",level:2},{value:"initialize or <strong>init</strong>",id:"initialize-or-init",level:3},{value:"reset",id:"reset",level:3},{value:"connect_reset",id:"connect_reset",level:3},{value:"disconnect_reset",id:"disconnect_reset",level:3},{value:"read_data",id:"read_data",level:3},{value:"read_packet",id:"read_packet",level:3},{value:"write_packet",id:"write_packet",level:3},{value:"write_data",id:"write_data",level:3},{value:"post_write_interface",id:"post_write_interface",level:3},{value:"protocol_cmd",id:"protocol_cmd",level:3},{value:"Examples",id:"examples",level:2}];function l(e){let t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["Protocols process data on behalf of an ",(0,r.jsx)(t.a,{href:"interfaces",children:"Interface"}),". They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol."]}),"\n",(0,r.jsx)(t.admonition,{title:"Protocol Run Order",type:"info",children:(0,r.jsx)(t.p,{children:"Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first)."})}),"\n",(0,r.jsx)(t.p,{children:"Protocols are typically used to define the logic to delineate packets and manipulate data as it written to and read from Interfaces. COSMOS includes Interfaces for TCP/IP Client, TCP/IP Server, Udp Client / Server, and Serial connections. For 99% of use cases these Interfaces should not require any changes as they universally handle the low-level details of reading and writing from these types of connections. All unique behavior should now be defined in Protocols."}),"\n",(0,r.jsx)(t.p,{children:"At a minimum, any byte stream based Interface will require a Protocol to delineate packets. TCP/IP and Serial are examples of byte stream based Interfaces. A byte stream is just a simple stream of bytes and thus you need some way to know where packets begin and end within the stream."}),"\n",(0,r.jsx)(t.p,{children:"TCP/IP is a friendly byte stream. Unless you are dealing with a very poorly written system, the first byte received on a TCP/IP connection will always be the start of a packet. Also, TCP/IP is a reliable connection in that it ensures that all data is received in the correct order, that no data is lost, and that the data is not corrupted (TCP/IP is protected by a CRC32 which is pretty good for avoiding unrecognized data corruption)."}),"\n",(0,r.jsx)(t.p,{children:"Serial is a much less friendly byte stream. With serial connections, it is very likely that when you open a serial port and start receiving data you will receive the middle of a message. (This problem is only avoided when interfacing with a system that only writes to the serial port in response to a command). For this reason, sync patterns are highly beneficial for serial interfaces. Additionally, serial interfaces may use some method to protect against unrecognized data corruption (Checksums, CRCs, etc.)"}),"\n",(0,r.jsx)(t.p,{children:"UDP is an inherently packet based connection. If you read from a UDP socket, you will always receive back an entire packet. The best UDP based Protocols take advantage of this fact. Some implementations try to make UDP act like a byte stream, but this is a misuse of the protocol because it is highly likely that you will lose data and have no way to recover."}),"\n",(0,r.jsxs)(t.p,{children:["For more information about how Protocols fit with Interfaces and Accessors see ",(0,r.jsx)(t.a,{href:"https://www.openc3.com/news/interoperability-without-standards",children:"Interoperability Without Standards"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"packet-delineation-protocols",children:"Packet Delineation Protocols"}),"\n",(0,r.jsx)(t.p,{children:"COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream."}),"\n",(0,r.jsx)(t.p,{children:"COSMOS Enterprise provides the following packet delineation protocols: CCSDS CLTU (with BCH Encoding), CCSDS TCTF (with Randomizer), CCSDS TMTF (with Randomizer), and GEMS."}),"\n",(0,r.jsxs)(t.p,{children:['Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning ',":STOP","). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the ",(0,r.jsx)(t.a,{href:"/docs/configuration/protocols#custom-protocols",children:"Custom Protocols"})," documentation."]}),"\n",(0,r.jsx)(t.p,{children:"Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific."}),"\n",(0,r.jsx)(t.h3,{id:"cobs-protocol",children:"COBS Protocol"}),"\n",(0,r.jsxs)(t.p,{children:["The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See ",(0,r.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing",children:"https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing"})," for more)."]}),"\n",(0,r.jsx)(t.h3,{id:"slip-protocol",children:"SLIP Protocol"}),"\n",(0,r.jsxs)(t.p,{children:["The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See ",(0,r.jsx)(t.a,{href:"https://datatracker.ietf.org/doc/html/rfc1055",children:"https://datatracker.ietf.org/doc/html/rfc1055"})," for more)."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Start Char"}),(0,r.jsx)(t.td,{children:"Character to place at the start of frames"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no character)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Strip Characters"}),(0,r.jsx)(t.td,{children:"Strip off start_char and end_char from reads"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Enable Escaping"}),(0,r.jsx)(t.td,{children:"Whether to enable character escaping on reads"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Enable Escaping"}),(0,r.jsx)(t.td,{children:"Whether to enable character escaping on writes"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"End Char"}),(0,r.jsx)(t.td,{children:"Character to place at the end of frames"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xC0"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Esc Char"}),(0,r.jsx)(t.td,{children:"Escape character"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xDB"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Escape End Char"}),(0,r.jsx)(t.td,{children:"Character to escape End character"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xDC"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Escape Esc Char"}),(0,r.jsx)(t.td,{children:"Character to escape Esc character"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xDD"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"burst-protocol",children:"Burst Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Burst Protocol simply reads as much data as it can from the interface before returning the data as a COSMOS Packet (It returns a packet for each burst of data read). This Protocol relies on regular bursts of data delimited by time and thus is not very robust. However, it can utilize a sync pattern which does allow it to re-sync if necessary. It can also discard bytes from the incoming data to remove the sync pattern. Finally, it can add sync patterns to data being written out of the Interface."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"fixed-protocol",children:"Fixed Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Fixed Protocol reads a preset minimum amount of data which is necessary to properly identify all the defined packets using the interface. It then identifies the packet and proceeds to read as much data from the interface as necessary to create the packet which it then returns. This protocol relies on all the packets on the interface being fixed in length. For example, all the packets using the interface are a fixed size and contain a simple header with a 32-bit sync pattern followed by a 16 bit ID. The Fixed Protocol would elegantly handle this case with a minimum read size of 6 bytes. The Fixed Protocol also supports a sync pattern, discarding leading bytes, and filling the sync pattern similar to the Burst Protocol."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Minimum ID Size"}),(0,r.jsx)(t.td,{children:"The minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Telemetry"}),(0,r.jsx)(t.td,{children:"Whether the data is telemetry"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true (false means command)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Unknown Raise"}),(0,r.jsx)(t.td,{children:"Whether to raise an exception for an unknown packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"length-protocol",children:"Length Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Length Protocol depends on a length field at a fixed location in the defined packets using the interface. It then reads enough data to grab the length field, decodes it, and reads the remaining length of the packet. For example, all the packets using the interface contain a CCSDS header with a length field. The Length Protocol can be set up to handle the length field and even the length offset CCSDS uses. The Length Protocol also supports a sync pattern, discarding leading bytes, and filling the length and sync pattern similar to the Burst Protocol."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Bit Offset"}),(0,r.jsx)(t.td,{children:"The bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present)."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 bits"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Bit Size"}),(0,r.jsx)(t.td,{children:"The size in bits of the length field"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"16 bits"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Value Offset"}),(0,r.jsx)(t.td,{children:"The offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present)."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bytes per Count"}),(0,r.jsx)(t.td,{children:"The number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"1 byte"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Endianness"}),(0,r.jsx)(t.td,{children:"The endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"'BIG_ENDIAN'"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Max Length"}),(0,r.jsx)(t.td,{children:"The maximum allowed value in the length field"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no maximum length)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Length and Sync Pattern"}),(0,r.jsx)(t.td,{children:"Setting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.p,{children:"The most confusing aspect of the Length Protocol is calculating the Length Value Offset. This is especially true in the commonly used CCSDS Space Packet Protocol. The best way to illustrate this is with an example. Suppose you have CCSDS Space Packets prepended with a Sync Pattern of 0x1ACFFC1D. This would look like the following:"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Sync (4 bytes)"}),(0,r.jsx)(t.th,{children:"Header (4 bytes)"}),(0,r.jsx)(t.th,{children:"Length (2 bytes)"}),(0,r.jsx)(t.th,{children:"Data (4 bytes)"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"0x1ACFFC1D"}),(0,r.jsx)(t.td,{children:"0x0001CADB"}),(0,r.jsx)(t.td,{children:"0x0003"}),(0,r.jsx)(t.td,{children:"0xDEADBEEF"})]})})]}),"\n",(0,r.jsxs)(t.p,{children:["In this case the total length of the packet is 14 bytes: ",(0,r.jsx)(t.strong,{children:"4 + 4 + 2 + 4 = 14"}),". With 4 bytes of data, the length field is 3 because in CCSDS the length field is calculated as (data length - 1). So how would we calculate the Length Value Offset? COSMOS reads all the bytes in the packet (including the Sync Pattern) so the total length is 14 bytes. The length field is 3 so the Length Value Offset (offset to apply to the length field value) should be 11 (",(0,r.jsx)(t.strong,{children:"3 + 11 = 14"}),")."]}),"\n",(0,r.jsx)(t.h3,{id:"terminated-protocol",children:"Terminated Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Terminated Protocol delineates packets using termination characters found at the end of every packet. It continuously reads data until the termination characters are found at which point it returns the packet data. For example, all the packets using the interface are followed by 0xABCD. This data can either be a part of each packet that is kept or something which is known only by the Terminated Protocol and simply thrown away."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Termination Characters"}),(0,r.jsx)(t.td,{children:"The data to write after writing a command packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Termination Characters"}),(0,r.jsx)(t.td,{children:"The characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Strip Read Termination"}),(0,r.jsx)(t.td,{children:"Whether to remove the read termination characters before returning the telemetry packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"gems-protocol-enterprise",children:"GEMS Protocol (Enterprise)"}),"\n",(0,r.jsx)(t.p,{children:"The GEMS Protocol implements the Ground Equipment Monitoring Service protocol. It is added along with the TerminatedProtocol which delineates packets using '|END'. The GEMS Interface is currently only implemented in Ruby."}),"\n",(0,r.jsx)(t.p,{children:"The GEMS protocol doesn't take any parameters but should be added to an interface after the TerminatedProtocol and CmdResponseProtocol."}),"\n",(0,r.jsx)(t.p,{children:"plugin.txt Ruby Example:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"INTERFACE GEMS_INT tcpip_client_interface.rb openc3-operator 8080 8080 10.0 nil nil\n # TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false ... means:\n # wtc rtc strip discard sync fill\n # where wtc = write termination characters, end of the gems protocol: 0x7C454E44 == '|END'\n # rtc = read termination characters, end of the gems protocol: 0x7C454E44 == '|END'\n # strip = strip read termination (false)\n # discard = 0 bytes\n # sync pattern = beginning of the GEMS protocol: 0x7C47454D53 == '|GEMS'\n # fill = whether to fill in the sync pattern (false as we specify fill in our cmd/tlm definitions)\n PROTOCOL READ TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false\n # CmdResponseProtocol 5.0 0.2 true means:\n # 5 sec response timeout, 0.2 sec response polling,\n # and true to raise exceptions when protocol errors occur\n PROTOCOL READ_WRITE CmdResponseProtocol 5.0 0.2 true\n PROTOCOL READ_WRITE GemsProtocol\n"})}),"\n",(0,r.jsxs)(t.p,{children:["For a full example, please see the ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-gems-interface",children:"openc3-cosmos-gems-interface"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(t.h3,{id:"ccsds-cltu-protocol-enterprise",children:"CCSDS CLTU Protocol (Enterprise)"}),"\n",(0,r.jsx)(t.p,{children:"The CCSDS CLTU Protocol handles the CLTU (Communicates Link Transfer Unit) for Command Streams. It encodes outgoing messages with a BCH encoding and then applies a header and footer to the data."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Header"}),(0,r.jsx)(t.td,{children:"Header before BCH encoded data"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xEB90"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Footer"}),(0,r.jsx)(t.td,{children:"Footer after BCH encoded data"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xC5C5C5C5C5C5C579"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Byte"}),(0,r.jsx)(t.td,{children:"BCH encoding fill byte"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0x55"})]})]})]}),"\n",(0,r.jsxs)(t.p,{children:["For a full example, please see the ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-ccsds-protocols",children:"openc3-cosmos-ccsds-protocols"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(t.h3,{id:"ccsds-tctf-protocol-enterprise",children:"CCSDS TCTF Protocol (Enterprise)"}),"\n",(0,r.jsx)(t.p,{children:"The CCSDS TCTF Protocol handles the Telecommand Transfer Frame for Command Streams."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Randomization"}),(0,r.jsx)(t.td,{children:"Whether to encode and randomize the transfer frame"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Error Control"}),(0,r.jsx)(t.td,{children:"Whether to use the Frame Error Control Field and apply a 16 bit CRC"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bypass"}),(0,r.jsx)(t.td,{children:"Bypass bit where 0 is Type-A and 1 is Type-B (bypass frame acceptance checks)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"1"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"SCID"}),(0,r.jsx)(t.td,{children:"Spacecraft Identifier (10 bits)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"VCID"}),(0,r.jsx)(t.td,{children:"Virtual Channel Identifier (6 bits)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0"})]})]})]}),"\n",(0,r.jsxs)(t.p,{children:["For a full example, please see the ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-ccsds-protocols",children:"openc3-cosmos-ccsds-protocols"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(t.h3,{id:"ccsds-tmtf-protocol-enterprise",children:"CCSDS TMTF Protocol (Enterprise)"}),"\n",(0,r.jsx)(t.p,{children:"The CCSDS TMTF Protocol handles the Telemetry Transfer Frame for Telemetry Streams. It adds VCID, MC_FRM_CNT, VC_FRM_CNT to extra which will be included in the Decom data."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"SCID"}),(0,r.jsx)(t.td,{children:"Spacecraft Identifier (10 bits)"}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Frame Length"}),(0,r.jsx)(t.td,{}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"2048"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Randomization"}),(0,r.jsx)(t.td,{children:"Whether the transfer frame was encoded and randomized"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0x1ACFFC1D"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]})]})]}),"\n",(0,r.jsxs)(t.p,{children:["For a full example, please see the ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-ccsds-protocols",children:"openc3-cosmos-ccsds-protocols"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(t.h3,{id:"template-protocol-deprecated",children:"Template Protocol (Deprecated)"}),"\n",(0,r.jsx)(t.p,{children:"This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead."}),"\n",(0,r.jsxs)(t.p,{children:["The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets ",(0,r.jsx)(t.code,{children:'"<EXAMPLE>"'}),". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Termination Characters"}),(0,r.jsx)(t.td,{children:"The data to write after writing a command packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Termination Characters"}),(0,r.jsx)(t.td,{children:"The characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Ignore Lines"}),(0,r.jsx)(t.td,{children:"Number of response lines to ignore (completely drop)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 lines"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Initial Read Delay"}),(0,r.jsx)(t.td,{children:"An initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no initial read)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Lines"}),(0,r.jsx)(t.td,{children:"The number of lines that make up expected responses"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"1 line"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Strip Read Termination"}),(0,r.jsx)(t.td,{children:"Whether to remove the read termination characters before returning the telemetry packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Timeout"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait for a response before timing out"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"5.0"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Polling Period"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait between polling for a response"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0.02"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Raise Exceptions"}),(0,r.jsx)(t.td,{children:"Whether to raise exceptions when errors occur like timeouts or unexpected responses"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"preidentified-protocol-internal",children:"Preidentified Protocol (Internal)"}),"\n",(0,r.jsx)(t.p,{children:"The Preidentified Protocol delineates packets using a custom COSMOS header. This internal Protocol was created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Max Length"}),(0,r.jsx)(t.td,{children:"The maximum allowed value in the length field"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no maximum length)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Mode"}),(0,r.jsx)(t.td,{children:"The Version of the preidentified protocol to support (2 or 4).3"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"4"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"helper-protocols",children:"Helper Protocols"}),"\n",(0,r.jsx)(t.p,{children:"COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. These protocols provide helper functionality to Interfaces."}),"\n",(0,r.jsx)(t.h3,{id:"cmdresponse-protocol",children:"CmdResponse Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The CmdResponse Protocol waits for a response for any commands with a defined response packet."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Timeout"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait before timing out when waiting for a response"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"5"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Polling Period"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait between polling for a response"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0.02"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Raise Exceptions"}),(0,r.jsx)(t.td,{children:"Whether to raise exceptions when errors occur in the protocol like unexpected responses or response timeouts"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h4,{id:"packet-definitions",children:"Packet Definitions"}),"\n",(0,r.jsxs)(t.p,{children:["The CmdResponseProtocol utilizes the ",(0,r.jsx)(t.a,{href:"../configuration/command#response",children:"RESPONSE"})," keyword in the command definition to determine which telemetry packet should be expected when the given command is sent."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:'COMMAND SCPI_PS GET_STATUS BIG_ENDIAN "Gets status"\n ACCESSOR TemplateAccessor\n TEMPLATE ":MEAS:VOLT? (@1:2)"\n RESPONSE SCPI_PS STATUS\n'})}),"\n",(0,r.jsx)(t.p,{children:"The Response packet (STATUS) should be defined to contain the response data."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:'TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Status"\n ACCESSOR TemplateAccessor\n TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>"\n APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Voltage Reading for Channel 1"\n UNITS VOLTS V\n FORMAT_STRING %0.3f\n APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Voltage Reading for Channel 2"\n UNITS VOLTS V\n FORMAT_STRING %0.3f\n'})}),"\n",(0,r.jsxs)(t.p,{children:["For a full example, please see the ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-scpi-power-supply",children:"openc3-cosmos-scpi-power-supply"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(t.h3,{id:"crc-protocol",children:"CRC Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Item Name"}),(0,r.jsx)(t.td,{children:"Item to fill with calculated CRC value for outgoing packets (nil = don't fill)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Strip CRC"}),(0,r.jsx)(t.td,{children:"Whether to remove the CRC from incoming packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bad Strategy"}),(0,r.jsx)(t.td,{children:"How to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interface"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:'"ERROR"'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bit Offset"}),(0,r.jsx)(t.td,{children:"Bit offset of the CRC in the data. Can be negative to indicate distance from end of packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"-32"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bit Size"}),(0,r.jsx)(t.td,{children:"Bit size of the CRC - Must be 16, 32, or 64"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"32"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Endianness"}),(0,r.jsx)(t.td,{children:"Endianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:'"BIG_ENDIAN"'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Poly"}),(0,r.jsx)(t.td,{children:"Polynomial to use when calculating the CRC expressed as an integer"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Seed"}),(0,r.jsx)(t.td,{children:"Seed value to start the calculation"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Xor"}),(0,r.jsx)(t.td,{children:"Whether to XOR the CRC result with 0xFFFF"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Reflect"}),(0,r.jsx)(t.td,{children:"Whether to bit reverse each byte of data before calculating the CRC"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"ignore-packet-protocol",children:"Ignore Packet Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Ignore Packet protocol drops specified command packets sent by COSMOS or drops incoming telemetry packets."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Target Name"}),(0,r.jsx)(t.td,{children:"Target name of the packet to ignore"}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{children:"nil"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Packet Name"}),(0,r.jsx)(t.td,{children:"Packet name of the packet to ignore"}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{children:"nil"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"custom-protocols",children:"Custom Protocols"}),"\n",(0,r.jsx)(t.p,{children:"Creating a custom protocol is easy and should be the default solution for customizing COSMOS Interfaces (rather than creating a new Interface class). However, creating custom Interfaces is still useful for defaulting parameters to values that always are fixed for your target and for including the necessary Protocols. The base COSMOS Interfaces take a lot of parameters that can be confusing to your end users. Thus you may want to create a custom Interface just to hard coded these values and cut the available parameters down to something like the hostname and port to connect to."}),"\n",(0,r.jsxs)(t.p,{children:["All custom Protocols should derive from the Protocol class ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/interfaces/protocols/protocol.rb",children:"openc3/interfaces/protocols/protocol.rb"})," (Ruby) and ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/interfaces/protocols/protocol.py",children:"openc3/interfaces/protocols/protocol.py"})," (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols."]}),"\n",(0,r.jsx)(t.admonition,{title:"Ruby Protocol APIs",type:"info",children:(0,r.jsxs)(t.p,{children:["Protocols should not ",(0,r.jsx)(t.code,{children:"require 'openc3/script'"})," since they are part of a COSMOS interface. They should use the COSMOS library code directly like ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/system/system.rb",children:"System"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/packets/packet.rb",children:"Packet"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/utilities/bucket.rb",children:"Bucket"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/accessors/binary_accessor.rb",children:"BinaryAccessor"}),", etc. When in doubt, consult the existing COSMOS ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3/lib/openc3/interfaces/protocols",children:"protocol"})," classes."]})}),"\n",(0,r.jsx)(t.admonition,{title:"Python Protocol APIs",type:"info",children:(0,r.jsxs)(t.p,{children:["Protocols should not ",(0,r.jsx)(t.code,{children:"from openc3.script import *"})," since they are part of a COSMOS interface. They should use the COSMOS library code directly like ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/system/system.py",children:"System"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/packets/packet.py",children:"Packet"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/utilities/bucket.py",children:"Bucket"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/accessors/binary_accessor.py",children:"BinaryAccessor"}),", etc. When in doubt, consult the existing COSMOS ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3/python/openc3/interfaces/protocols",children:"protocol"})," classes."]})}),"\n",(0,r.jsx)(t.p,{children:"To really understand how Protocols work, you first must understand the logic within the base Interface class read and write methods."}),"\n",(0,r.jsx)(t.p,{children:"Let's first discuss the read method."}),"\n",(0,r.jsx)(t.admonition,{title:"Ruby Symbols, Python Strings",type:"info",children:(0,r.jsxs)(t.p,{children:["In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means ",":STOP",' in Ruby and "STOP" in Python.']})}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Interface Read Logic",src:n(2869).Z+"",width:"1063",height:"542"})}),"\n",(0,r.jsxs)(t.p,{children:["On ",(0,r.jsx)(t.em,{children:"every"}),' call to read, an empty string "" is first passed down to each of the read Protocol\'s ',(0,r.jsx)(t.code,{children:"read_data()"})," method ",(0,r.jsx)(t.em,{children:"before"})," new raw data is attempted to be read using the Interface's ",(0,r.jsx)(t.code,{children:"read_interface()"})," method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols ",(0,r.jsx)(t.code,{children:"read_data()"})," methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's ",(0,r.jsx)(t.code,{children:"read_data()"})," method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's ",(0,r.jsx)(t.code,{children:"read_data()"})," method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's ",(0,r.jsx)(t.code,{children:"read_data()"})," methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in ",(0,r.jsx)(t.code,{children:"read_data()"}),"), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Interface Write Logic",src:n(1366).Z+"",width:"931",height:"944"})}),"\n",(0,r.jsx)(t.p,{children:"The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.)"}),"\n",(0,r.jsx)(t.p,{children:"First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message."}),"\n",(0,r.jsx)(t.h2,{id:"method-discussions",children:"Method discussions"}),"\n",(0,r.jsxs)(t.h3,{id:"initialize-or-init",children:["initialize or ",(0,r.jsx)(t.strong,{children:"init"})]}),"\n",(0,r.jsx)(t.p,{children:"This is the constructor for your custom Protocol. It should always call super(allow_empty_data) to initialize the base Protocol class."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"# @param allow_empty_data [true/false] Whether STOP should be returned on empty data\ndef initialize(allow_empty_data = false)\n @interface = nil\n @allow_empty_data = ConfigParser.handle_true_false(allow_empty_data)\n reset()\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def __init__(self, allow_empty_data=None):\n self.interface = None\n self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data)\n self.reset()\n"})}),"\n",(0,r.jsxs)(t.p,{children:["As you can see, every Protocol maintains state on at least two items. The interface variable holds the Interface class instance that the protocol is associated with. This is sometimes necessary to introspect details that only the Interface knows. allow_empty_data is a flag used by the ",(0,r.jsx)(t.code,{children:"read_data(data)"})," method that is discussed later in this document."]}),"\n",(0,r.jsx)(t.h3,{id:"reset",children:"reset"}),"\n",(0,r.jsx)(t.p,{children:"The reset method is used to reset internal protocol state when the Interface is connected and/or disconnected. This method should be used for common resetting logic. Connect and Disconnect specific logic are handled in the next two methods."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def reset\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def reset(self):\n pass\n"})}),"\n",(0,r.jsx)(t.p,{children:"As you can see, the base class reset implementation doesn't do anything."}),"\n",(0,r.jsx)(t.h3,{id:"connect_reset",children:"connect_reset"}),"\n",(0,r.jsx)(t.p,{children:"The connect_reset method is used to reset internal Protocol state each time the Interface is connected."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def connect_reset\n reset()\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def connect_reset(self):\n self.reset()\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class connect_reset implementation just calls the reset method to ensure common reset logic is run."}),"\n",(0,r.jsx)(t.h3,{id:"disconnect_reset",children:"disconnect_reset"}),"\n",(0,r.jsx)(t.p,{children:"The disconnect_reset method is used to reset internal Protocol state each time the Interface is disconnected."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def disconnect_reset\n reset()\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def disconnect_reset(self):\n self.reset()\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class disconnect_reset implementation just calls the reset method to ensure common reset logic is run."}),"\n",(0,r.jsx)(t.h3,{id:"read_data",children:"read_data"}),"\n",(0,r.jsx)(t.p,{children:"The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected)."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def read_data(data)\n if (data.length <= 0)\n if @allow_empty_data.nil?\n if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data\n return :STOP\n end\n elsif !@allow_empty_data # Don't @allow_empty_data means STOP\n return :STOP\n end\n end\n data\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:'def read_data(self, data, extra=None):\n if len(data) <= 0:\n if self.allow_empty_data is None:\n if self.interface and self.interface.read_protocols[-1] == self:\n # Last read interface in chain with auto self.allow_empty_data\n return ("STOP", extra)\n elif self.allow_empty_data:\n # Don\'t self.allow_empty_data means STOP\n return ("STOP", extra)\n return (data, extra)\n'})}),"\n",(0,r.jsxs)(t.p,{children:["The base class implementation does nothing except return the data it was given. The only exception to this is when handling an empty string. If the allow_empty_data flag is false / False or if it is nil / None and the Protocol is the last in the chain, then the base implementation will return STOP to indicate that it is time to call the Interface ",(0,r.jsx)(t.code,{children:"read_interface()"})," method to get more data. Blank strings are used to signal Protocols that they have an opportunity to return a cached packet."]}),"\n",(0,r.jsx)(t.h3,{id:"read_packet",children:"read_packet"}),"\n",(0,r.jsx)(t.p,{children:"The read_packet method is used to analyze and potentially modify a COSMOS packet before it is returned by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be returned, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). This method is where a Protocol would set the stored flag on a packet if it determines that the packet is stored telemetry instead of real-time telemetry."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def read_packet(packet)\n return packet\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def read_packet(self, packet):\n return packet\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the packet given."}),"\n",(0,r.jsx)(t.h3,{id:"write_packet",children:"write_packet"}),"\n",(0,r.jsx)(t.p,{children:"The write_packet method is used to analyze and potentially modify a COSMOS packet before it is output by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected)."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def write_packet(packet)\n return packet\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def write_packet(self, packet):\n return packet\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the packet given."}),"\n",(0,r.jsx)(t.h3,{id:"write_data",children:"write_data"}),"\n",(0,r.jsx)(t.p,{children:"The write_data method is used to analyze and potentially modify data before it is written out by the Interface. It takes one parameter as the current state of the data to be analyzed and sent. It can return either a string of data, STOP, or DISCONNECT. If it returns a string of data, then it believes that the data is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the data should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected)."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def write_data(data)\n return data\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def write_data(self, data, extra=None):\n return (data, extra)\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the data given."}),"\n",(0,r.jsx)(t.h3,{id:"post_write_interface",children:"post_write_interface"}),"\n",(0,r.jsxs)(t.p,{children:["The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by ",(0,r.jsx)(t.code,{children:"write_packet()"})," and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols ",(0,r.jsx)(t.code,{children:"post_write_interface()"}),' methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return.']}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def post_write_interface(packet, data)\n return packet, data\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def post_write_interface(self, packet, data, extra=None):\n return (packet, data, extra)\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the packet/data given."}),"\n",(0,r.jsx)(t.h3,{id:"protocol_cmd",children:"protocol_cmd"}),"\n",(0,r.jsxs)(t.p,{children:["The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See ",(0,r.jsx)(t.a,{href:"../guides/scripting-api#interface_protocol_cmd",children:"interface_protocol_cmd"})," for more information."]}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def protocol_cmd(cmd_name, *cmd_args)\n # Default do nothing - Implemented by subclasses\n return false\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def protocol_cmd(self, cmd_name, *cmd_args):\n # Default do nothing - Implemented by subclasses\n return False\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class does nothing as this is special functionality implemented by subclasses."}),"\n",(0,r.jsx)(t.h2,{id:"examples",children:"Examples"}),"\n",(0,r.jsxs)(t.p,{children:["Please see the linked ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/interfaces/protocols",children:"Ruby Protocol"})," and ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/interfaces/protocols",children:"Python Protocol"})," code for examples of the above methods in action."]})]})}function h(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},2869:function(e,t,n){n.d(t,{Z:function(){return s}});let s=n.p+"assets/images/interface_read_logic-0deef27c1d2fec9de2a3720a3c9ecedb21a00dca7aabd13da0b8815c037e4c26.png"},1366:function(e,t,n){n.d(t,{Z:function(){return s}});let s=n.p+"assets/images/interface_write_logic-3360afe1b4af20b10dafba848a21e09baccaacc06e2ec8b6c132ac7a3c99e994.png"},65:function(e,t,n){n.d(t,{Z:function(){return o},a:function(){return a}});var s=n(7294);let r={},i=s.createContext(r);function a(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b6d70f94.42d5b4c5.js b/docs/assets/js/b6d70f94.42d5b4c5.js deleted file mode 100644 index 7db8e4ddd5..0000000000 --- a/docs/assets/js/b6d70f94.42d5b4c5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[9005],{779:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"configuration/protocols","title":"Protocols","description":"Built-in COSMOS protocols including how to create one","source":"@site/docs/configuration/protocols.md","sourceDirName":"configuration","slug":"/configuration/protocols","permalink":"/docs/configuration/protocols","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/protocols.md","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_position":7,"title":"Protocols","description":"Built-in COSMOS protocols including how to create one","sidebar_custom_props":{"myEmoji":"\ud83d\udca1"}},"sidebar":"defaultSidebar","previous":{"title":"Interfaces","permalink":"/docs/configuration/interfaces"},"next":{"title":"Tables","permalink":"/docs/configuration/table"}}');var r=n(4848),a=n(8453);const i={sidebar_position:7,title:"Protocols",description:"Built-in COSMOS protocols including how to create one",sidebar_custom_props:{myEmoji:"\ud83d\udca1"}},o=void 0,d={},c=[{value:"Packet Delineation Protocols",id:"packet-delineation-protocols",level:2},{value:"COBS Protocol",id:"cobs-protocol",level:3},{value:"SLIP Protocol",id:"slip-protocol",level:3},{value:"Burst Protocol",id:"burst-protocol",level:3},{value:"Fixed Protocol",id:"fixed-protocol",level:3},{value:"Length Protocol",id:"length-protocol",level:3},{value:"Terminated Protocol",id:"terminated-protocol",level:3},{value:"Template Protocol",id:"template-protocol",level:3},{value:"Preidentified Protocol",id:"preidentified-protocol",level:3},{value:"Helper Protocols",id:"helper-protocols",level:2},{value:"CmdResponse Protocol",id:"cmdresponse-protocol",level:3},{value:"CRC Protocol",id:"crc-protocol",level:3},{value:"Ignore Packet Protocol",id:"ignore-packet-protocol",level:3},{value:"Custom Protocols",id:"custom-protocols",level:2},{value:"Method discussions",id:"method-discussions",level:2},{value:"initialize or <strong>init</strong>",id:"initialize-or-init",level:3},{value:"reset",id:"reset",level:3},{value:"connect_reset",id:"connect_reset",level:3},{value:"disconnect_reset",id:"disconnect_reset",level:3},{value:"read_data",id:"read_data",level:3},{value:"read_packet",id:"read_packet",level:3},{value:"write_packet",id:"write_packet",level:3},{value:"write_data",id:"write_data",level:3},{value:"post_write_interface",id:"post_write_interface",level:3},{value:"protocol_cmd",id:"protocol_cmd",level:3},{value:"Examples",id:"examples",level:2}];function l(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"Protocols process data on behalf of an Interface. They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol."}),"\n",(0,r.jsx)(t.admonition,{title:"Protocol Run Order",type:"info",children:(0,r.jsx)(t.p,{children:"Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first)."})}),"\n",(0,r.jsx)(t.p,{children:"Protocols are typically used to define the logic to delineate packets and manipulate data as it written to and read from Interfaces. COSMOS includes Interfaces for TCP/IP Client, TCP/IP Server, Udp Client / Server, and Serial connections. For 99% of use cases these Interfaces should not require any changes as they universally handle the low-level details of reading and writing from these types of connections. All unique behavior should now be defined in Protocols."}),"\n",(0,r.jsx)(t.p,{children:"At a minimum, any byte stream based Interface will require a Protocol to delineate packets. TCP/IP and Serial are examples of byte stream based Interfaces. A byte stream is just a simple stream of bytes and thus you need some way to know where packets begin and end within the stream."}),"\n",(0,r.jsx)(t.p,{children:"TCP/IP is a friendly byte stream. Unless you are dealing with a very poorly written system, the first byte received on a TCP/IP connection will always be the start of a packet. Also, TCP/IP is a reliable connection in that it ensures that all data is received in the correct order, that no data is lost, and that the data is not corrupted (TCP/IP is protected by a CRC32 which is pretty good for avoiding unrecognized data corruption)."}),"\n",(0,r.jsx)(t.p,{children:"Serial is a much less friendly byte stream. With serial connections, it is very likely that when you open a serial port and start receiving data you will receive the middle of a message. (This problem is only avoided when interfacing with a system that only writes to the serial port in response to a command). For this reason, sync patterns are highly beneficial for serial interfaces. Additionally, serial interfaces may use some method to protect against unrecognized data corruption (Checksums, CRCs, etc.)"}),"\n",(0,r.jsx)(t.p,{children:"UDP is an inherently packet based connection. If you read from a UDP socket, you will always receive back an entire packet. The best UDP based Protocols take advantage of this fact. Some implementations try to make UDP act like a byte stream, but this is a misuse of the protocol because it is highly likely that you will lose data and have no way to recover."}),"\n",(0,r.jsx)(t.h2,{id:"packet-delineation-protocols",children:"Packet Delineation Protocols"}),"\n",(0,r.jsx)(t.p,{children:"COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream."}),"\n",(0,r.jsxs)(t.p,{children:['Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning ',":STOP","). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the ",(0,r.jsx)(t.a,{href:"/docs/configuration/protocols#custom-protocols",children:"Custom Protocols"})," documentation."]}),"\n",(0,r.jsx)(t.h3,{id:"cobs-protocol",children:"COBS Protocol"}),"\n",(0,r.jsxs)(t.p,{children:["The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See ",(0,r.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing",children:"https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing"})," for more)."]}),"\n",(0,r.jsx)(t.h3,{id:"slip-protocol",children:"SLIP Protocol"}),"\n",(0,r.jsxs)(t.p,{children:["The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See ",(0,r.jsx)(t.a,{href:"https://datatracker.ietf.org/doc/html/rfc1055",children:"https://datatracker.ietf.org/doc/html/rfc1055"})," for more)."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Start Char"}),(0,r.jsx)(t.td,{children:"Character to place at the start of frames"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no character)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Strip Characters"}),(0,r.jsx)(t.td,{children:"Strip off start_char and end_char from reads"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Enable Escaping"}),(0,r.jsx)(t.td,{children:"Whether to enable character escaping on reads"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Enable Escaping"}),(0,r.jsx)(t.td,{children:"Whether to enable character escaping on writes"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"End Char"}),(0,r.jsx)(t.td,{children:"Character to place at the end of frames"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xC0"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Esc Char"}),(0,r.jsx)(t.td,{children:"Escape character"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xDB"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Escape End Char"}),(0,r.jsx)(t.td,{children:"Character to escape End character"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xDC"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Escape Esc Char"}),(0,r.jsx)(t.td,{children:"Character to escape Esc character"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0xDD"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"burst-protocol",children:"Burst Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Burst Protocol simply reads as much data as it can from the interface before returning the data as a COSMOS Packet (It returns a packet for each burst of data read). This Protocol relies on regular bursts of data delimited by time and thus is not very robust. However, it can utilize a sync pattern which does allow it to re-sync if necessary. It can also discard bytes from the incoming data to remove the sync pattern. Finally, it can add sync patterns to data being written out of the Interface."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"fixed-protocol",children:"Fixed Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Fixed Protocol reads a preset minimum amount of data which is necessary to properly identify all the defined packets using the interface. It then identifies the packet and proceeds to read as much data from the interface as necessary to create the packet which it then returns. This protocol relies on all the packets on the interface being fixed in length. For example, all the packets using the interface are a fixed size and contain a simple header with a 32-bit sync pattern followed by a 16 bit ID. The Fixed Protocol would elegantly handle this case with a minimum read size of 6 bytes. The Fixed Protocol also supports a sync pattern, discarding leading bytes, and filling the sync pattern similar to the Burst Protocol."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Minimum ID Size"}),(0,r.jsx)(t.td,{children:"The minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Telemetry"}),(0,r.jsx)(t.td,{children:"Whether the data is telemetry"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true (false means command)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Unknown Raise"}),(0,r.jsx)(t.td,{children:"Whether to raise an exception for an unknown packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"length-protocol",children:"Length Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Length Protocol depends on a length field at a fixed location in the defined packets using the interface. It then reads enough data to grab the length field, decodes it, and reads the remaining length of the packet. For example, all the packets using the interface contain a CCSDS header with a length field. The Length Protocol can be set up to handle the length field and even the length offset CCSDS uses. The Length Protocol also supports a sync pattern, discarding leading bytes, and filling the length and sync pattern similar to the Burst Protocol."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Bit Offset"}),(0,r.jsx)(t.td,{children:"The bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present)."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 bits"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Bit Size"}),(0,r.jsx)(t.td,{children:"The size in bits of the length field"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"16 bits"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Value Offset"}),(0,r.jsx)(t.td,{children:"The offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present)."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bytes per Count"}),(0,r.jsx)(t.td,{children:"The number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"1 byte"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Length Endianness"}),(0,r.jsx)(t.td,{children:"The endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"'BIG_ENDIAN'"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Max Length"}),(0,r.jsx)(t.td,{children:"The maximum allowed value in the length field"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no maximum length)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Length and Sync Pattern"}),(0,r.jsx)(t.td,{children:"Setting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.p,{children:"The most confusing aspect of the Length Protocol is calculating the Length Value Offset. This is especially true in the commonly used CCSDS Space Packet Protocol. The best way to illustrate this is with an example. Suppose you have CCSDS Space Packets prepended with a Sync Pattern of 0x1ACFFC1D. This would look like the following:"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Sync (4 bytes)"}),(0,r.jsx)(t.th,{children:"Header (4 bytes)"}),(0,r.jsx)(t.th,{children:"Length (2 bytes)"}),(0,r.jsx)(t.th,{children:"Data (4 bytes)"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"0x1ACFFC1D"}),(0,r.jsx)(t.td,{children:"0x0001CADB"}),(0,r.jsx)(t.td,{children:"0x0003"}),(0,r.jsx)(t.td,{children:"0xDEADBEEF"})]})})]}),"\n",(0,r.jsxs)(t.p,{children:["In this case the total length of the packet is 14 bytes: ",(0,r.jsx)(t.strong,{children:"4 + 4 + 2 + 4 = 14"}),". With 4 bytes of data, the length field is 3 because in CCSDS the length field is calculated as (data length - 1). So how would we calculate the Length Value Offset? COSMOS reads all the bytes in the packet (including the Sync Pattern) so the total length is 14 bytes. The length field is 3 so the Length Value Offset (offset to apply to the length field value) should be 11 (",(0,r.jsx)(t.strong,{children:"3 + 11 = 14"}),")."]}),"\n",(0,r.jsx)(t.h3,{id:"terminated-protocol",children:"Terminated Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Terminated Protocol delineates packets using termination characters found at the end of every packet. It continuously reads data until the termination characters are found at which point it returns the packet data. For example, all the packets using the interface are followed by 0xABCD. This data can either be a part of each packet that is kept or something which is known only by the Terminated Protocol and simply thrown away."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Termination Characters"}),(0,r.jsx)(t.td,{children:"The data to write after writing a command packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Termination Characters"}),(0,r.jsx)(t.td,{children:"The characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Strip Read Termination"}),(0,r.jsx)(t.td,{children:"Whether to remove the read termination characters before returning the telemetry packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"template-protocol",children:"Template Protocol"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Deprecated"})}),"\n",(0,r.jsx)(t.p,{children:"This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead."}),"\n",(0,r.jsxs)(t.p,{children:["The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets ",(0,r.jsx)(t.code,{children:'"<EXAMPLE>"'}),". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Termination Characters"}),(0,r.jsx)(t.td,{children:"The data to write after writing a command packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Read Termination Characters"}),(0,r.jsx)(t.td,{children:"The characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD."}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Ignore Lines"}),(0,r.jsx)(t.td,{children:"Number of response lines to ignore (completely drop)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 lines"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Initial Read Delay"}),(0,r.jsx)(t.td,{children:"An initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no initial read)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Lines"}),(0,r.jsx)(t.td,{children:"The number of lines that make up expected responses"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"1 line"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Strip Read Termination"}),(0,r.jsx)(t.td,{children:"Whether to remove the read termination characters before returning the telemetry packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"true"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Discard Leading Bytes"}),(0,r.jsx)(t.td,{children:"The number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0 (do not discard bytes)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Fill Fields"}),(0,r.jsx)(t.td,{children:"Whether to fill in the sync pattern on outgoing packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Timeout"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait for a response before timing out"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"5.0"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Polling Period"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait between polling for a response"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0.02"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Raise Exceptions"}),(0,r.jsx)(t.td,{children:"Whether to raise exceptions when errors occur like timeouts or unexpected responses"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"preidentified-protocol",children:"Preidentified Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Preidentified Protocol delineates packets using a custom COSMOS header. This Protocol is created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Sync Pattern"}),(0,r.jsx)(t.td,{children:"Hex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded."}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no sync pattern)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Max Length"}),(0,r.jsx)(t.td,{children:"The maximum allowed value in the length field"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (no maximum length)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Mode"}),(0,r.jsx)(t.td,{children:"The Version of the preidentified protocol to support (2 or 4).3"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"4"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"helper-protocols",children:"Helper Protocols"}),"\n",(0,r.jsx)(t.p,{children:"COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. These protocols provide helper functionality to Interfaces."}),"\n",(0,r.jsx)(t.h3,{id:"cmdresponse-protocol",children:"CmdResponse Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The CmdResponse Protocol waits for a response for any commands with a defined response packet (TODO: More documentation and examples)."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Timeout"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait before timing out when waiting for a response"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"5"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Response Polling Period"}),(0,r.jsx)(t.td,{children:"Number of seconds to wait between polling for a response"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"0.02"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Raise Exceptions"}),(0,r.jsx)(t.td,{children:"Whether to raise exceptions when errors occur in the protocol like unexpected responses or response timeouts"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"crc-protocol",children:"CRC Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Write Item Name"}),(0,r.jsx)(t.td,{children:"Item to fill with calculated CRC value for outgoing packets (nil = don't fill)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Strip CRC"}),(0,r.jsx)(t.td,{children:"Whether to remove the CRC from incoming packets"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"false"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bad Strategy"}),(0,r.jsx)(t.td,{children:"How to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interface"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:'"ERROR"'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bit Offset"}),(0,r.jsx)(t.td,{children:"Bit offset of the CRC in the data. Can be negative to indicate distance from end of packet"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"-32"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Bit Size"}),(0,r.jsx)(t.td,{children:"Bit size of the CRC - Must be 16, 32, or 64"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"32"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Endianness"}),(0,r.jsx)(t.td,{children:"Endianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:'"BIG_ENDIAN"'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Poly"}),(0,r.jsx)(t.td,{children:"Polynomial to use when calculating the CRC expressed as an integer"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Seed"}),(0,r.jsx)(t.td,{children:"Seed value to start the calculation"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Xor"}),(0,r.jsx)(t.td,{children:"Whether to XOR the CRC result with 0xFFFF"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Reflect"}),(0,r.jsx)(t.td,{children:"Whether to bit reverse each byte of data before calculating the CRC"}),(0,r.jsx)(t.td,{children:"No"}),(0,r.jsx)(t.td,{children:"nil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)"})]})]})]}),"\n",(0,r.jsx)(t.h3,{id:"ignore-packet-protocol",children:"Ignore Packet Protocol"}),"\n",(0,r.jsx)(t.p,{children:"The Ignore Packet protocol drops specified command packets sent by COSMOS or drops incoming telemetry packets."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"}),(0,r.jsx)(t.th,{children:"Default"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Target Name"}),(0,r.jsx)(t.td,{children:"Target name of the packet to ignore"}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{children:"nil"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Packet Name"}),(0,r.jsx)(t.td,{children:"Packet name of the packet to ignore"}),(0,r.jsx)(t.td,{children:"Yes"}),(0,r.jsx)(t.td,{children:"nil"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"custom-protocols",children:"Custom Protocols"}),"\n",(0,r.jsx)(t.p,{children:"Creating a custom protocol is easy and should be the default solution for customizing COSMOS Interfaces (rather than creating a new Interface class). However, creating custom Interfaces is still useful for defaulting parameters to values that always are fixed for your target and for including the necessary Protocols. The base COSMOS Interfaces take a lot of parameters that can be confusing to your end users. Thus you may want to create a custom Interface just to hard coded these values and cut the available parameters down to something like the hostname and port to connect to."}),"\n",(0,r.jsxs)(t.p,{children:["All custom Protocols should derive from the Protocol class ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/interfaces/protocols/protocol.rb",children:"openc3/interfaces/protocols/protocol.rb"})," (Ruby) and ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/interfaces/protocols/protocol.py",children:"openc3/interfaces/protocols/protocol.py"})," (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols."]}),"\n",(0,r.jsx)(t.admonition,{title:"Ruby Protocol APIs",type:"info",children:(0,r.jsxs)(t.p,{children:["Protocols should not ",(0,r.jsx)(t.code,{children:"require 'openc3/script'"})," since they are part of a COSMOS interface. They should use the COSMOS library code directly like ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/system/system.rb",children:"System"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/packets/packet.rb",children:"Packet"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/utilities/bucket.rb",children:"Bucket"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/accessors/binary_accessor.rb",children:"BinaryAccessor"}),", etc. When in doubt, consult the existing COSMOS ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3/lib/openc3/interfaces/protocols",children:"protocol"})," classes."]})}),"\n",(0,r.jsx)(t.admonition,{title:"Python Protocol APIs",type:"info",children:(0,r.jsxs)(t.p,{children:["Protocols should not ",(0,r.jsx)(t.code,{children:"from openc3.script import *"})," since they are part of a COSMOS interface. They should use the COSMOS library code directly like ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/system/system.py",children:"System"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/packets/packet.py",children:"Packet"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/utilities/bucket.py",children:"Bucket"}),", ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/accessors/binary_accessor.py",children:"BinaryAccessor"}),", etc. When in doubt, consult the existing COSMOS ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3/python/openc3/interfaces/protocols",children:"protocol"})," classes."]})}),"\n",(0,r.jsx)(t.p,{children:"To really understand how Protocols work, you first must understand the logic within the base Interface class read and write methods."}),"\n",(0,r.jsx)(t.p,{children:"Let's first discuss the read method."}),"\n",(0,r.jsx)(t.admonition,{title:"Ruby Symbols, Python Strings",type:"info",children:(0,r.jsxs)(t.p,{children:["In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means ",":STOP",' in Ruby and "STOP" in Python.']})}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Interface Read Logic",src:n(413).A+"",width:"1063",height:"542"})}),"\n",(0,r.jsxs)(t.p,{children:["On ",(0,r.jsx)(t.em,{children:"every"}),' call to read, an empty string "" is first passed down to each of the read Protocol\'s ',(0,r.jsx)(t.code,{children:"read_data()"})," method ",(0,r.jsx)(t.em,{children:"before"})," new raw data is attempted to be read using the Interface's ",(0,r.jsx)(t.code,{children:"read_interface()"})," method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols ",(0,r.jsx)(t.code,{children:"read_data()"})," methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's ",(0,r.jsx)(t.code,{children:"read_data()"})," method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's ",(0,r.jsx)(t.code,{children:"read_data()"})," method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's ",(0,r.jsx)(t.code,{children:"read_data()"})," methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in ",(0,r.jsx)(t.code,{children:"read_data()"}),"), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Interface Write Logic",src:n(7274).A+"",width:"931",height:"944"})}),"\n",(0,r.jsx)(t.p,{children:"The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.)"}),"\n",(0,r.jsx)(t.p,{children:"First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message."}),"\n",(0,r.jsx)(t.h2,{id:"method-discussions",children:"Method discussions"}),"\n",(0,r.jsxs)(t.h3,{id:"initialize-or-init",children:["initialize or ",(0,r.jsx)(t.strong,{children:"init"})]}),"\n",(0,r.jsx)(t.p,{children:"This is the constructor for your custom Protocol. It should always call super(allow_empty_data) to initialize the base Protocol class."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"# @param allow_empty_data [true/false] Whether STOP should be returned on empty data\ndef initialize(allow_empty_data = false)\n @interface = nil\n @allow_empty_data = ConfigParser.handle_true_false(allow_empty_data)\n reset()\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def __init__(self, allow_empty_data=None):\n self.interface = None\n self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data)\n self.reset()\n"})}),"\n",(0,r.jsxs)(t.p,{children:["As you can see, every Protocol maintains state on at least two items. The interface variable holds the Interface class instance that the protocol is associated with. This is sometimes necessary to introspect details that only the Interface knows. allow_empty_data is a flag used by the ",(0,r.jsx)(t.code,{children:"read_data(data)"})," method that is discussed later in this document."]}),"\n",(0,r.jsx)(t.h3,{id:"reset",children:"reset"}),"\n",(0,r.jsx)(t.p,{children:"The reset method is used to reset internal protocol state when the Interface is connected and/or disconnected. This method should be used for common resetting logic. Connect and Disconnect specific logic are handled in the next two methods."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def reset\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def reset(self):\n pass\n"})}),"\n",(0,r.jsx)(t.p,{children:"As you can see, the base class reset implementation doesn't do anything."}),"\n",(0,r.jsx)(t.h3,{id:"connect_reset",children:"connect_reset"}),"\n",(0,r.jsx)(t.p,{children:"The connect_reset method is used to reset internal Protocol state each time the Interface is connected."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def connect_reset\n reset()\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def connect_reset(self):\n self.reset()\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class connect_reset implementation just calls the reset method to ensure common reset logic is run."}),"\n",(0,r.jsx)(t.h3,{id:"disconnect_reset",children:"disconnect_reset"}),"\n",(0,r.jsx)(t.p,{children:"The disconnect_reset method is used to reset internal Protocol state each time the Interface is disconnected."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def disconnect_reset\n reset()\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def disconnect_reset(self):\n self.reset()\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class disconnect_reset implementation just calls the reset method to ensure common reset logic is run."}),"\n",(0,r.jsx)(t.h3,{id:"read_data",children:"read_data"}),"\n",(0,r.jsx)(t.p,{children:"The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected)."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def read_data(data)\n if (data.length <= 0)\n if @allow_empty_data.nil?\n if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data\n return :STOP\n end\n elsif !@allow_empty_data # Don't @allow_empty_data means STOP\n return :STOP\n end\n end\n data\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:'def read_data(self, data, extra=None):\n if len(data) <= 0:\n if self.allow_empty_data is None:\n if self.interface and self.interface.read_protocols[-1] == self:\n # Last read interface in chain with auto self.allow_empty_data\n return ("STOP", extra)\n elif self.allow_empty_data:\n # Don\'t self.allow_empty_data means STOP\n return ("STOP", extra)\n return (data, extra)\n'})}),"\n",(0,r.jsxs)(t.p,{children:["The base class implementation does nothing except return the data it was given. The only exception to this is when handling an empty string. If the allow_empty_data flag is false / False or if it is nil / None and the Protocol is the last in the chain, then the base implementation will return STOP to indicate that it is time to call the Interface ",(0,r.jsx)(t.code,{children:"read_interface()"})," method to get more data. Blank strings are used to signal Protocols that they have an opportunity to return a cached packet."]}),"\n",(0,r.jsx)(t.h3,{id:"read_packet",children:"read_packet"}),"\n",(0,r.jsx)(t.p,{children:"The read_packet method is used to analyze and potentially modify a COSMOS packet before it is returned by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be returned, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). This method is where a Protocol would set the stored flag on a packet if it determines that the packet is stored telemetry instead of real-time telemetry."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def read_packet(packet)\n return packet\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def read_packet(self, packet):\n return packet\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the packet given."}),"\n",(0,r.jsx)(t.h3,{id:"write_packet",children:"write_packet"}),"\n",(0,r.jsx)(t.p,{children:"The write_packet method is used to analyze and potentially modify a COSMOS packet before it is output by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected)."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def write_packet(packet)\n return packet\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def write_packet(self, packet):\n return packet\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the packet given."}),"\n",(0,r.jsx)(t.h3,{id:"write_data",children:"write_data"}),"\n",(0,r.jsx)(t.p,{children:"The write_data method is used to analyze and potentially modify data before it is written out by the Interface. It takes one parameter as the current state of the data to be analyzed and sent. It can return either a string of data, STOP, or DISCONNECT. If it returns a string of data, then it believes that the data is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the data should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected)."}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def write_data(data)\n return data\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def write_data(self, data, extra=None):\n return (data, extra)\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the data given."}),"\n",(0,r.jsx)(t.h3,{id:"post_write_interface",children:"post_write_interface"}),"\n",(0,r.jsxs)(t.p,{children:["The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by ",(0,r.jsx)(t.code,{children:"write_packet()"})," and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols ",(0,r.jsx)(t.code,{children:"post_write_interface()"}),' methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return.']}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def post_write_interface(packet, data)\n return packet, data\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def post_write_interface(self, packet, data, extra=None):\n return (packet, data, extra)\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class always just returns the packet/data given."}),"\n",(0,r.jsx)(t.h3,{id:"protocol_cmd",children:"protocol_cmd"}),"\n",(0,r.jsxs)(t.p,{children:["The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See ",(0,r.jsx)(t.a,{href:"../guides/scripting-api#interface_protocol_cmd",children:"interface_protocol_cmd"})," for more information."]}),"\n",(0,r.jsx)(t.p,{children:"Base class Ruby implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"def protocol_cmd(cmd_name, *cmd_args)\n # Default do nothing - Implemented by subclasses\n return false\nend\n"})}),"\n",(0,r.jsx)(t.p,{children:"Base class Python implementation:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"def protocol_cmd(self, cmd_name, *cmd_args):\n # Default do nothing - Implemented by subclasses\n return False\n"})}),"\n",(0,r.jsx)(t.p,{children:"The base class does nothing as this is special functionality implemented by subclasses."}),"\n",(0,r.jsx)(t.h2,{id:"examples",children:"Examples"}),"\n",(0,r.jsxs)(t.p,{children:["Please see the linked ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/lib/openc3/interfaces/protocols",children:"Ruby Protocol"})," and ",(0,r.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos/blob/main/openc3/python/openc3/interfaces/protocols",children:"Python Protocol"})," code for examples of the above methods in action."]})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},413:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/interface_read_logic-0deef27c1d2fec9de2a3720a3c9ecedb21a00dca7aabd13da0b8815c037e4c26.png"},7274:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/interface_write_logic-3360afe1b4af20b10dafba848a21e09baccaacc06e2ec8b6c132ac7a3c99e994.png"},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>o});var s=n(6540);const r={},a=s.createContext(r);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/b9f60ba6.673635d9.js b/docs/assets/js/b9f60ba6.dc0554f8.js similarity index 80% rename from docs/assets/js/b9f60ba6.673635d9.js rename to docs/assets/js/b9f60ba6.dc0554f8.js index ba30eed593..95363da4c7 100644 --- a/docs/assets/js/b9f60ba6.673635d9.js +++ b/docs/assets/js/b9f60ba6.dc0554f8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3307],{2686:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>d,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"configuration/target","title":"Targets","description":"Target definition file format and keywords","source":"@site/docs/configuration/target.md","sourceDirName":"configuration","slug":"/configuration/target","permalink":"/docs/configuration/target","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/target.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Targets","description":"Target definition file format and keywords","sidebar_custom_props":{"myEmoji":"\ud83d\udef0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Plugins","permalink":"/docs/configuration/plugins"},"next":{"title":"Commands","permalink":"/docs/configuration/command"}}');var r=i(4848),s=i(8453);const d={sidebar_position:3,title:"Targets",description:"Target definition file format and keywords",sidebar_custom_props:{myEmoji:"\ud83d\udef0\ufe0f"}},l="target.txt Keywords",a={},o=[{value:"LANGUAGE",id:"language",level:2},{value:"REQUIRE",id:"require",level:2},{value:"IGNORE_PARAMETER",id:"ignore_parameter",level:2},{value:"IGNORE_ITEM",id:"ignore_item",level:2},{value:"COMMANDS",id:"commands",level:2},{value:"TELEMETRY",id:"telemetry",level:2},{value:"CMD_UNIQUE_ID_MODE",id:"cmd_unique_id_mode",level:2},{value:"TLM_UNIQUE_ID_MODE",id:"tlm_unique_id_mode",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["Targets are the external embedded systems that COSMOS connects to. Targets are defined by the top level ",(0,r.jsx)(t.a,{href:"/docs/configuration/plugins#target-1",children:"TARGET"})," keyword in the plugin.txt file. Each target is self contained in a target directory named after the target. In the root of the target directory there is a configuration file named target.txt which configures the individual target."]}),"\n",(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"targettxt-keywords",children:"target.txt Keywords"})}),"\n",(0,r.jsx)(t.h2,{id:"language",children:"LANGUAGE"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)("div",{class:"right",children:"(Since 5.11.1)"}),(0,r.jsx)(t.strong,{children:"Programming language of the target interfaces and microservices"})]}),"\n",(0,r.jsx)(t.p,{children:"The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{}),(0,r.jsxs)(t.td,{children:["Ruby or Python",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Valid Values: ",(0,r.jsx)("span",{class:"values",children:"ruby, python"})]}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"LANGUAGE python\n"})}),"\n",(0,r.jsx)(t.h2,{id:"require",children:"REQUIRE"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Requires a Ruby file"})}),"\n",(0,r.jsx)(t.p,{children:"List the Ruby files required to explicitly declare dependencies. This is now completely optional."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filename"}),(0,r.jsx)(t.td,{children:'Filename to require. For files in the target\'s lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.'}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"REQUIRE limits_response.rb\n"})}),"\n",(0,r.jsx)(t.h2,{id:"ignore_parameter",children:"IGNORE_PARAMETER"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Ignore the given command parameter"})}),"\n",(0,r.jsx)(t.p,{children:"Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Parameter Name"}),(0,r.jsx)(t.td,{children:"The name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in."}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"IGNORE_PARAMETER CCSDS_VERSION\n"})}),"\n",(0,r.jsx)(t.h2,{id:"ignore_item",children:"IGNORE_ITEM"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Ignore the given telemetry item"})}),"\n",(0,r.jsx)(t.p,{children:"Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Item name"}),(0,r.jsx)(t.td,{children:"The name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in."}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"IGNORE_ITEM CCSDS_VERSION\n"})}),"\n",(0,r.jsx)(t.h2,{id:"commands",children:"COMMANDS"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Process the given command definition file"})}),"\n",(0,r.jsx)(t.p,{children:"This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process."})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filename"}),(0,r.jsx)(t.td,{children:'Name of a command definition file in the target\'s cmd_tlm directory, e.g. "cmd.txt".'}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"COMMANDS inst_cmds_v2.txt\nTELEMETRY inst_tlm_v2.txt\n"})}),"\n",(0,r.jsx)(t.h2,{id:"telemetry",children:"TELEMETRY"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Process the given telemetry definition file"})}),"\n",(0,r.jsx)(t.p,{children:"This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process."})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filename"}),(0,r.jsx)(t.td,{children:'Name of a telemetry definition file in the target\'s cmd_tlm directory, e.g. "tlm.txt".'}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"COMMANDS inst_cmds_v2.txt\nTELEMETRY inst_tlm_v2.txt\n"})}),"\n",(0,r.jsx)(t.h2,{id:"cmd_unique_id_mode",children:"CMD_UNIQUE_ID_MODE"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)("div",{class:"right",children:"(Since 4.4.0)"}),(0,r.jsx)(t.strong,{children:"Command packet identifiers don't all share the same bit offset, size, and type"})]}),"\n",(0,r.jsx)(t.p,{children:"Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Using this mode significantly slows packet identification"})}),"\n",(0,r.jsx)(t.h2,{id:"tlm_unique_id_mode",children:"TLM_UNIQUE_ID_MODE"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)("div",{class:"right",children:"(Since 4.4.0)"}),(0,r.jsx)(t.strong,{children:"Telemetry packets identifiers don't all share the same bit offset, size, and type"})]}),"\n",(0,r.jsx)(t.p,{children:"Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Using this mode significantly slows packet identification"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>d,x:()=>l});var n=i(6540);const r={},s=n.createContext(r);function d(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9474"],{1986:function(e,t,i){i.r(t),i.d(t,{metadata:()=>n,contentTitle:()=>l,default:()=>h,assets:()=>a,toc:()=>o,frontMatter:()=>d});var n=JSON.parse('{"id":"configuration/target","title":"Targets","description":"Target definition file format and keywords","source":"@site/docs/configuration/target.md","sourceDirName":"configuration","slug":"/configuration/target","permalink":"/docs/configuration/target","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/target.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Targets","description":"Target definition file format and keywords","sidebar_custom_props":{"myEmoji":"\uD83D\uDEF0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Plugins","permalink":"/docs/configuration/plugins"},"next":{"title":"Commands","permalink":"/docs/configuration/command"}}'),r=i("5893"),s=i("65");let d={sidebar_position:3,title:"Targets",description:"Target definition file format and keywords",sidebar_custom_props:{myEmoji:"\uD83D\uDEF0\uFE0F"}},l="target.txt Keywords",a={},o=[{value:"LANGUAGE",id:"language",level:2},{value:"REQUIRE",id:"require",level:2},{value:"IGNORE_PARAMETER",id:"ignore_parameter",level:2},{value:"IGNORE_ITEM",id:"ignore_item",level:2},{value:"COMMANDS",id:"commands",level:2},{value:"TELEMETRY",id:"telemetry",level:2},{value:"CMD_UNIQUE_ID_MODE",id:"cmd_unique_id_mode",level:2},{value:"TLM_UNIQUE_ID_MODE",id:"tlm_unique_id_mode",level:2}];function c(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["Targets are the external embedded systems that COSMOS connects to. Targets are defined by the top level ",(0,r.jsx)(t.a,{href:"/docs/configuration/plugins#target-1",children:"TARGET"})," keyword in the plugin.txt file. Each target is self contained in a target directory named after the target. In the root of the target directory there is a configuration file named target.txt which configures the individual target."]}),"\n",(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"targettxt-keywords",children:"target.txt Keywords"})}),"\n",(0,r.jsx)(t.h2,{id:"language",children:"LANGUAGE"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)("div",{class:"right",children:"(Since 5.11.1)"}),(0,r.jsx)(t.strong,{children:"Programming language of the target interfaces and microservices"})]}),"\n",(0,r.jsx)(t.p,{children:"The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{}),(0,r.jsxs)(t.td,{children:["Ruby or Python",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Valid Values: ",(0,r.jsx)("span",{class:"values",children:"ruby, python"})]}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"LANGUAGE python\n"})}),"\n",(0,r.jsx)(t.h2,{id:"require",children:"REQUIRE"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Requires a Ruby file"})}),"\n",(0,r.jsx)(t.p,{children:"List the Ruby files required to explicitly declare dependencies. This is now completely optional."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filename"}),(0,r.jsx)(t.td,{children:'Filename to require. For files in the target\'s lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.'}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"REQUIRE limits_response.rb\n"})}),"\n",(0,r.jsx)(t.h2,{id:"ignore_parameter",children:"IGNORE_PARAMETER"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Ignore the given command parameter"})}),"\n",(0,r.jsx)(t.p,{children:"Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Parameter Name"}),(0,r.jsx)(t.td,{children:"The name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in."}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"IGNORE_PARAMETER CCSDS_VERSION\n"})}),"\n",(0,r.jsx)(t.h2,{id:"ignore_item",children:"IGNORE_ITEM"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Ignore the given telemetry item"})}),"\n",(0,r.jsx)(t.p,{children:"Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Item name"}),(0,r.jsx)(t.td,{children:"The name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in."}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"IGNORE_ITEM CCSDS_VERSION\n"})}),"\n",(0,r.jsx)(t.h2,{id:"commands",children:"COMMANDS"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Process the given command definition file"})}),"\n",(0,r.jsx)(t.p,{children:"This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process."})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filename"}),(0,r.jsx)(t.td,{children:'Name of a command definition file in the target\'s cmd_tlm directory, e.g. "cmd.txt".'}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"COMMANDS inst_cmds_v2.txt\nTELEMETRY inst_tlm_v2.txt\n"})}),"\n",(0,r.jsx)(t.h2,{id:"telemetry",children:"TELEMETRY"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Process the given telemetry definition file"})}),"\n",(0,r.jsx)(t.p,{children:"This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process."})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Description"}),(0,r.jsx)(t.th,{children:"Required"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Filename"}),(0,r.jsx)(t.td,{children:'Name of a telemetry definition file in the target\'s cmd_tlm directory, e.g. "tlm.txt".'}),(0,r.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-ruby",children:"COMMANDS inst_cmds_v2.txt\nTELEMETRY inst_tlm_v2.txt\n"})}),"\n",(0,r.jsx)(t.h2,{id:"cmd_unique_id_mode",children:"CMD_UNIQUE_ID_MODE"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)("div",{class:"right",children:"(Since 4.4.0)"}),(0,r.jsx)(t.strong,{children:"Command packet identifiers don't all share the same bit offset, size, and type"})]}),"\n",(0,r.jsx)(t.p,{children:"Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Using this mode significantly slows packet identification"})}),"\n",(0,r.jsx)(t.h2,{id:"tlm_unique_id_mode",children:"TLM_UNIQUE_ID_MODE"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)("div",{class:"right",children:"(Since 4.4.0)"}),(0,r.jsx)(t.strong,{children:"Telemetry packets identifiers don't all share the same bit offset, size, and type"})]}),"\n",(0,r.jsx)(t.p,{children:"Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method."}),"\n",(0,r.jsx)(t.admonition,{type:"warning",children:(0,r.jsx)(t.p,{children:"Using this mode significantly slows packet identification"})})]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},65:function(e,t,i){i.d(t,{Z:function(){return l},a:function(){return d}});var n=i(7294);let r={},s=n.createContext(r);function d(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/bd0034eb.6a3f19f1.js b/docs/assets/js/bd0034eb.bfc362c6.js similarity index 75% rename from docs/assets/js/bd0034eb.6a3f19f1.js rename to docs/assets/js/bd0034eb.bfc362c6.js index b87bf3f69d..f14ff79bbc 100644 --- a/docs/assets/js/bd0034eb.6a3f19f1.js +++ b/docs/assets/js/bd0034eb.bfc362c6.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[313],{574:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"guides/bridges","title":"Bridges","description":"Bridge data into COSMOS from serial ports, PCI, etc","source":"@site/docs/guides/bridges.md","sourceDirName":"guides","slug":"/guides/bridges","permalink":"/docs/guides/bridges","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/bridges.md","tags":[],"version":"current","frontMatter":{"title":"Bridges","description":"Bridge data into COSMOS from serial ports, PCI, etc","sidebar_custom_props":{"myEmoji":"\ud83c\udf09"}},"sidebar":"defaultSidebar","previous":{"title":"Guides","permalink":"/docs/guides"},"next":{"title":"COSMOS and NASA cFS","permalink":"/docs/guides/cfs"}}');var r=i(4848),s=i(8453);const o={title:"Bridges",description:"Bridge data into COSMOS from serial ports, PCI, etc",sidebar_custom_props:{myEmoji:"\ud83c\udf09"}},a=void 0,d={},c=[{value:"Bridges are Generally Just an Interface and Router",id:"bridges-are-generally-just-an-interface-and-router",level:2},{value:"Host Requirements for Running Bridges",id:"host-requirements-for-running-bridges",level:2},{value:"Bridge Configuration: bridge.txt",id:"bridge-configuration-bridgetxt",level:2},{value:"Bridge Commands: openc3cli",id:"bridge-commands-openc3cli",level:2},{value:"Example Bridge Gems",id:"example-bridge-gems",level:2},{value:"Note on Serial Ports",id:"note-on-serial-ports",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS.\nSerial ports are the most common, but other devices such as USB, PCI cards, and Bluetooth devices can also be\nsupported by using bridges to convert from a host computer accessible device, into an Ethernet byte stream that COSMOS can process from inside of containers."}),"\n",(0,r.jsx)(n.admonition,{title:"Bridges are Meant to be Dumb",type:"warning",children:(0,r.jsx)(n.p,{children:"The purpose of bridges is to get bytes into COSMOS. Processing should be done in COSMOS itself, including details such as\npacket delineation."})}),"\n",(0,r.jsx)(n.h2,{id:"bridges-are-generally-just-an-interface-and-router",children:"Bridges are Generally Just an Interface and Router"}),"\n",(0,r.jsx)(n.p,{children:"Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to\nCOSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation\nprotocol like LENGTH."}),"\n",(0,r.jsx)(n.h2,{id:"host-requirements-for-running-bridges",children:"Host Requirements for Running Bridges"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Requires a host Ruby installation (Ruby 3)"}),"\n",(0,r.jsxs)(n.li,{children:["Install the OpenC3 gem","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"gem install openc3"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Make sure the Ruby gem executable path is in your PATH environment variable","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["You can find this path by running ",(0,r.jsx)(n.code,{children:"gem environment"})," and looking for EXECUTABLE DIRECTORY"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["If successful, you should be able to run ",(0,r.jsx)(n.code,{children:"openc3cli"})," from a terminal"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"bridge-configuration-bridgetxt",children:"Bridge Configuration: bridge.txt"}),"\n",(0,r.jsx)(n.p,{children:"Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword."}),"\n",(0,r.jsxs)(n.p,{children:["The following is the default bridge.txt that is generated by running ",(0,r.jsx)(n.code,{children:"openc3cli bridgesetup"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"# Write serial port name\nVARIABLE write_port_name COM1\n\n# Read serial port name\nVARIABLE read_port_name COM1\n\n# Baud Rate\nVARIABLE baud_rate 115200\n\n# Parity - NONE, ODD, or EVEN\nVARIABLE parity NONE\n\n# Stop bits - 0, 1, or 2\nVARIABLE stop_bits 1\n\n# Write Timeout\nVARIABLE write_timeout 10.0\n\n# Read Timeout\nVARIABLE read_timeout nil\n\n# Flow Control - NONE, or RTSCTS\nVARIABLE flow_control NONE\n\n# Data bits per word - Typically 8\nVARIABLE data_bits 8\n\n# Port to listen for connections from COSMOS - Plugin must match\nVARIABLE router_port 2950\n\n# Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened\n# if COSMOS is on another machine.\nVARIABLE router_listen_address 127.0.0.1\n\nINTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %>\n OPTION FLOW_CONTROL <%= flow_control %>\n OPTION DATA_BITS <%= data_bits %>\n\nROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST\n ROUTE SERIAL_INT\n OPTION LISTEN_ADDRESS <%= router_listen_address %>\n"})}),"\n",(0,r.jsx)(n.p,{children:"VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access\nthis server using the host.docker.internal hostname and the configured port (2950 in this example)."}),"\n",(0,r.jsx)(n.h2,{id:"bridge-commands-openc3cli",children:"Bridge Commands: openc3cli"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"openc3cli bridgesetup"})}),"\n",(0,r.jsx)(n.p,{children:"Generates a bridge.txt example file"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"openc3cli bridge [filename] [variable1=value1] [variable2=value2]"})}),"\n",(0,r.jsx)(n.p,{children:"Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2]"})}),"\n",(0,r.jsx)(n.p,{children:"Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults."}),"\n",(0,r.jsx)(n.h2,{id:"example-bridge-gems",children:"Example Bridge Gems"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Serial Port: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-serial",children:"openc3-cosmos-bridge-serial"})]}),"\n",(0,r.jsxs)(n.li,{children:["Host: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-host",children:"openc3-cosmos-bridge-host"})]}),"\n",(0,r.jsxs)(n.li,{children:["HIDAPI: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-hidapi",children:"openc3-cosmos-bridge-hidapi"})]}),"\n",(0,r.jsxs)(n.li,{children:["PS5 Dual Sense Controller: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-dualsense",children:"openc3-cosmos-bridge-dualsense"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"note-on-serial-ports",children:"Note on Serial Ports"}),"\n",(0,r.jsx)(n.p,{children:"Serial ports can be used directly without bridges on Linux Docker installations."}),"\n",(0,r.jsx)(n.p,{children:"Add the following to the operator service in compose.yaml:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:' devices:\n - "/dev/ttyUSB0:/dev/ttyUSB0"\n'})}),"\n",(0,r.jsx)(n.p,{children:"Make sure the serial device has permissions for the user running Docker to access:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"sudo chmod 666 /dev/ttyUSB0\n"})})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>a});var t=i(6540);const r={},s=t.createContext(r);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["314"],{772:function(e,n,i){i.r(n),i.d(n,{metadata:()=>t,contentTitle:()=>a,default:()=>u,assets:()=>d,toc:()=>l,frontMatter:()=>o});var t=JSON.parse('{"id":"guides/bridges","title":"Bridges","description":"Bridge data into COSMOS from serial ports, PCI, etc","source":"@site/docs/guides/bridges.md","sourceDirName":"guides","slug":"/guides/bridges","permalink":"/docs/guides/bridges","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/bridges.md","tags":[],"version":"current","frontMatter":{"title":"Bridges","description":"Bridge data into COSMOS from serial ports, PCI, etc","sidebar_custom_props":{"myEmoji":"\uD83C\uDF09"}},"sidebar":"defaultSidebar","previous":{"title":"Guides","permalink":"/docs/guides"},"next":{"title":"COSMOS and NASA cFS","permalink":"/docs/guides/cfs"}}'),r=i("5893"),s=i("65");let o={title:"Bridges",description:"Bridge data into COSMOS from serial ports, PCI, etc",sidebar_custom_props:{myEmoji:"\uD83C\uDF09"}},a=void 0,d={},l=[{value:"Bridges are Generally Just an Interface and Router",id:"bridges-are-generally-just-an-interface-and-router",level:2},{value:"Host Requirements for Running Bridges",id:"host-requirements-for-running-bridges",level:2},{value:"Bridge Configuration: bridge.txt",id:"bridge-configuration-bridgetxt",level:2},{value:"Bridge Commands: openc3cli",id:"bridge-commands-openc3cli",level:2},{value:"Example Bridge Gems",id:"example-bridge-gems",level:2},{value:"Note on Serial Ports",id:"note-on-serial-ports",level:2}];function c(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS.\nSerial ports are the most common, but other devices such as USB, PCI cards, and Bluetooth devices can also be\nsupported by using bridges to convert from a host computer accessible device, into an Ethernet byte stream that COSMOS can process from inside of containers."}),"\n",(0,r.jsx)(n.admonition,{title:"Bridges are Meant to be Dumb",type:"warning",children:(0,r.jsx)(n.p,{children:"The purpose of bridges is to get bytes into COSMOS. Processing should be done in COSMOS itself, including details such as\npacket delineation."})}),"\n",(0,r.jsx)(n.h2,{id:"bridges-are-generally-just-an-interface-and-router",children:"Bridges are Generally Just an Interface and Router"}),"\n",(0,r.jsx)(n.p,{children:"Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to\nCOSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation\nprotocol like LENGTH."}),"\n",(0,r.jsx)(n.h2,{id:"host-requirements-for-running-bridges",children:"Host Requirements for Running Bridges"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Requires a host Ruby installation (Ruby 3)"}),"\n",(0,r.jsxs)(n.li,{children:["Install the OpenC3 gem","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"gem install openc3"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Make sure the Ruby gem executable path is in your PATH environment variable","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["You can find this path by running ",(0,r.jsx)(n.code,{children:"gem environment"})," and looking for EXECUTABLE DIRECTORY"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["If successful, you should be able to run ",(0,r.jsx)(n.code,{children:"openc3cli"})," from a terminal"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"bridge-configuration-bridgetxt",children:"Bridge Configuration: bridge.txt"}),"\n",(0,r.jsx)(n.p,{children:"Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword."}),"\n",(0,r.jsxs)(n.p,{children:["The following is the default bridge.txt that is generated by running ",(0,r.jsx)(n.code,{children:"openc3cli bridgesetup"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-ruby",children:"# Write serial port name\nVARIABLE write_port_name COM1\n\n# Read serial port name\nVARIABLE read_port_name COM1\n\n# Baud Rate\nVARIABLE baud_rate 115200\n\n# Parity - NONE, ODD, or EVEN\nVARIABLE parity NONE\n\n# Stop bits - 0, 1, or 2\nVARIABLE stop_bits 1\n\n# Write Timeout\nVARIABLE write_timeout 10.0\n\n# Read Timeout\nVARIABLE read_timeout nil\n\n# Flow Control - NONE, or RTSCTS\nVARIABLE flow_control NONE\n\n# Data bits per word - Typically 8\nVARIABLE data_bits 8\n\n# Port to listen for connections from COSMOS - Plugin must match\nVARIABLE router_port 2950\n\n# Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened\n# if COSMOS is on another machine.\nVARIABLE router_listen_address 127.0.0.1\n\nINTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %>\n OPTION FLOW_CONTROL <%= flow_control %>\n OPTION DATA_BITS <%= data_bits %>\n\nROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST\n ROUTE SERIAL_INT\n OPTION LISTEN_ADDRESS <%= router_listen_address %>\n"})}),"\n",(0,r.jsx)(n.p,{children:"VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access\nthis server using the host.docker.internal hostname and the configured port (2950 in this example)."}),"\n",(0,r.jsx)(n.h2,{id:"bridge-commands-openc3cli",children:"Bridge Commands: openc3cli"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"openc3cli bridgesetup"})}),"\n",(0,r.jsx)(n.p,{children:"Generates a bridge.txt example file"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"openc3cli bridge [filename] [variable1=value1] [variable2=value2]"})}),"\n",(0,r.jsx)(n.p,{children:"Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults."}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.code,{children:"openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2]"})}),"\n",(0,r.jsx)(n.p,{children:"Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults."}),"\n",(0,r.jsx)(n.h2,{id:"example-bridge-gems",children:"Example Bridge Gems"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Serial Port: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-serial",children:"openc3-cosmos-bridge-serial"})]}),"\n",(0,r.jsxs)(n.li,{children:["Host: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-host",children:"openc3-cosmos-bridge-host"})]}),"\n",(0,r.jsxs)(n.li,{children:["HIDAPI: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-hidapi",children:"openc3-cosmos-bridge-hidapi"})]}),"\n",(0,r.jsxs)(n.li,{children:["PS5 Dual Sense Controller: ",(0,r.jsx)(n.a,{href:"https://github.com/OpenC3/openc3-cosmos-bridge-dualsense",children:"openc3-cosmos-bridge-dualsense"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"note-on-serial-ports",children:"Note on Serial Ports"}),"\n",(0,r.jsx)(n.p,{children:"Serial ports can be used directly without bridges on Linux Docker installations."}),"\n",(0,r.jsx)(n.p,{children:"Add the following to the operator service in compose.yaml:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:' devices:\n - "/dev/ttyUSB0:/dev/ttyUSB0"\n'})}),"\n",(0,r.jsx)(n.p,{children:"Make sure the serial device has permissions for the user running Docker to access:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"sudo chmod 666 /dev/ttyUSB0\n"})})]})}function u(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},65:function(e,n,i){i.d(n,{Z:function(){return a},a:function(){return o}});var t=i(7294);let r={},s=t.createContext(r);function o(e){let n=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c24eae19.7b178638.js b/docs/assets/js/c24eae19.7b178638.js deleted file mode 100644 index 1cf90270fa..0000000000 --- a/docs/assets/js/c24eae19.7b178638.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2577],{9653:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"development/developing","title":"Developing COSMOS","description":"Building COSMOS and developing the frontend and backend","source":"@site/docs/development/developing.md","sourceDirName":"development","slug":"/development/developing","permalink":"/docs/development/developing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md","tags":[],"version":"current","frontMatter":{"title":"Developing COSMOS","description":"Building COSMOS and developing the frontend and backend","sidebar_custom_props":{"myEmoji":"\ud83d\udcbb"}},"sidebar":"defaultSidebar","previous":{"title":"Testing with Curl","permalink":"/docs/development/curl"},"next":{"title":"Host Install","permalink":"/docs/development/host-install"}}');var t=o(4848),i=o(8453);const r={title:"Developing COSMOS",description:"Building COSMOS and developing the frontend and backend",sidebar_custom_props:{myEmoji:"\ud83d\udcbb"}},c="Developing COSMOS",l={},a=[{value:"Development Tools",id:"development-tools",level:2},{value:"Running a Frontend Application",id:"running-a-frontend-application",level:2},{value:"Running a Backend Server",id:"running-a-backend-server",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"developing-cosmos",children:"Developing COSMOS"})}),"\n",(0,t.jsxs)(n.p,{children:["So you want to help develop COSMOS? All of our open source COSMOS code is on ",(0,t.jsx)(n.a,{href:"https://github.com/",children:"Github"})," so the first thing to do is get an ",(0,t.jsx)(n.a,{href:"https://github.com/join",children:"account"}),". Next ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository",children:"clone"})," the ",(0,t.jsx)(n.a,{href:"https://github.com/openc3/cosmos",children:"COSMOS"})," repository. We accept contributions from others as ",(0,t.jsx)(n.a,{href:"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests",children:"Pull Requests"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"development-tools",children:"Development Tools"}),"\n",(0,t.jsxs)(n.p,{children:["The core COSMOS team develops with the ",(0,t.jsx)(n.a,{href:"https://code.visualstudio.com/",children:"Visual Studio Code"})," editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our ",(0,t.jsx)(n.code,{children:"openc3.code-workspace"})," configuration for VSCode to help configure these plugins. You also need ",(0,t.jsx)(n.a,{href:"https://www.docker.com/products/docker-desktop",children:"Docker Desktop"})," which you should already have as it is a requirement to run COSMOS. You'll also need ",(0,t.jsx)(n.a,{href:"https://nodejs.org/en/download/",children:"NodeJS"})," and ",(0,t.jsx)(n.a,{href:"https://yarnpkg.com/getting-started/install",children:"yarn"})," installed."]}),"\n",(0,t.jsx)(n.h1,{id:"building-cosmos",children:"Building COSMOS"}),"\n",(0,t.jsx)(n.p,{children:"Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts."}),"\n",(0,t.jsxs)(n.p,{children:["Build COSMOS using the ",(0,t.jsx)(n.code,{children:"openc3.sh"})," script:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"% ./openc3.sh build\n"})}),"\n",(0,t.jsx)(n.p,{children:"This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build!"}),"\n",(0,t.jsx)(n.p,{children:"Once the build completes you can see the built images with the following command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'% docker image ls | grep "openc3"\nopenc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB\nopenc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB\nopenc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB\nopenc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB\nopenc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB\nopenc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB\nopenc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB\nopenc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB\nopenc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB\nopenc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB\n'})}),"\n",(0,t.jsxs)(n.admonition,{title:"Offline Building",type:"info",children:[(0,t.jsxs)(n.p,{children:["If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the ",(0,t.jsx)(n.a,{href:"https://github.com/openc3/cosmos/blob/main/.env",children:".env"})," file. Example values:"]}),(0,t.jsxs)(n.p,{children:["ALPINE_VERSION=3.18",(0,t.jsx)("br",{}),"\nALPINE_BUILD=9",(0,t.jsx)("br",{}),"\nRUBYGEMS_URL=",(0,t.jsx)(n.a,{href:"https://rubygems.org",children:"https://rubygems.org"}),(0,t.jsx)("br",{}),"\nNPM_URL=",(0,t.jsx)(n.a,{href:"https://registry.npmjs.org",children:"https://registry.npmjs.org"}),(0,t.jsx)("br",{}),"\nAPK_URL=",(0,t.jsx)(n.a,{href:"http://dl-cdn.alpinelinux.org",children:"http://dl-cdn.alpinelinux.org"}),(0,t.jsx)("br",{})]})]}),"\n",(0,t.jsx)(n.h1,{id:"running-cosmos",children:"Running COSMOS"}),"\n",(0,t.jsxs)(n.p,{children:["Running COSMOS in development mode enables localhost access to internal API ports as well as sets ",(0,t.jsx)(n.code,{children:"RAILS_ENV=development"})," in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"% ./openc3.sh dev\n"})}),"\n",(0,t.jsx)(n.p,{children:"You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space):"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'% docker ps\nIMAGE COMMAND PORTS NAMES\nopenc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails\u2026" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1\nopenc3/openc3-script-runner-api:latest "/sbin/tini -- rails\u2026" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1\nopenc3/openc3-traefik:latest "/entrypoint.sh trae\u2026" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1\nopenc3/openc3-operator:latest "/sbin/tini -- ruby \u2026" cosmos-openc3-operator-1\nopenc3/openc3-minio:latest "/usr/bin/docker-ent\u2026" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1\nopenc3/openc3-redis:latest "docker-entrypoint.s\u2026" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1\n'})}),"\n",(0,t.jsx)(n.p,{children:"If you go to localhost:2900 you should see COSMOS up and running!"}),"\n",(0,t.jsx)(n.h2,{id:"running-a-frontend-application",children:"Running a Frontend Application"}),"\n",(0,t.jsx)(n.p,{children:"So now that you have COSMOS up and running how do you develop an individual COSMOS application?"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Bootstrap the frontend with yarn"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"openc3-init % yarn\n"})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc)"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"openc3-init % cd plugins/packages/openc3-tool-scriptrunner\nopenc3-tool-scriptrunner % yarn serve\n\nDONE Compiled successfully in 128722ms\nApp running at:\n- Local: http://localhost:2914/tools/scriptrunner/\n- Network: http://localhost:2914/tools/scriptrunner/\n\nNote that the development build is not optimized.\nTo create a production build, run npm run build.\n"})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Set the ",(0,t.jsx)(n.a,{href:"https://single-spa.js.org/",children:"single SPA"})," override for the application"]}),"\n",(0,t.jsxs)(n.p,{children:["Visit localhost:2900 and Right-click 'Inspect'",(0,t.jsx)("br",{}),"\nIn the console paste:"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",children:'localStorage.setItem("devtools", true);\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Refresh and you should see ",(0,t.jsx)(n.code,{children:"{...}"})," in the bottom right",(0,t.jsx)("br",{}),"\nClick the Default button next to the application (@openc3/tool-scriptrunner)",(0,t.jsx)("br",{}),"\nPaste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner)"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"http://localhost:2914/tools/scriptrunner/js/app.js",children:"http://localhost:2914/tools/scriptrunner/js/app.js"})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like ",(0,t.jsx)(n.code,{children:"console.log"}),") the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's ",(0,t.jsx)(n.a,{href:"https://developer.chrome.com/docs/devtools/overview/",children:"development tools"})," if you plan to do frontend development."]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"running-a-backend-server",children:"Running a Backend Server"}),"\n",(0,t.jsx)(n.p,{children:"If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy."}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations."}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"% cd openc3-traefik\nopenc3-traefik % docker ps\n# Look for the container with name including traefik\nopenc3-traefik % docker stop cosmos-openc3-traefik-1\nopenc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev .\nopenc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev\n"})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Run a local copy of the cmd-tlm-api or script-runner-api"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"% cd openc3-cosmos-cmd-tlm-api\nopenc3-cosmos-cmd-tlm-api % docker ps\n# Look for the container with name including cmd-tlm-api\nopenc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1\n# Run the following on Windows:\nopenc3-cosmos-cmd-tlm-api> dev_server.bat\n# In Linux, set all the environment variables in the .env file, but override REDIS to be local\nopenc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a\nopenc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1\nopenc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1\nopenc3-cosmos-cmd-tlm-api % bundle install\nopenc3-cosmos-cmd-tlm-api % bundle exec rails s\n"})}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Once the ",(0,t.jsx)(n.code,{children:"bundle exec rails s"})," command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect."]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>r,x:()=>c});var s=o(6540);const t={},i=s.createContext(t);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c24eae19.ea8b6264.js b/docs/assets/js/c24eae19.ea8b6264.js new file mode 100644 index 0000000000..1ae1ed8c28 --- /dev/null +++ b/docs/assets/js/c24eae19.ea8b6264.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["7306"],{247:function(e,n,o){o.r(n),o.d(n,{metadata:()=>t,contentTitle:()=>c,default:()=>p,assets:()=>l,toc:()=>a,frontMatter:()=>r});var t=JSON.parse('{"id":"development/developing","title":"Developing COSMOS","description":"Building COSMOS and developing the frontend and backend","source":"@site/docs/development/developing.md","sourceDirName":"development","slug":"/development/developing","permalink":"/docs/development/developing","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/developing.md","tags":[],"version":"current","frontMatter":{"title":"Developing COSMOS","description":"Building COSMOS and developing the frontend and backend","sidebar_custom_props":{"myEmoji":"\uD83D\uDCBB"}},"sidebar":"defaultSidebar","previous":{"title":"Testing with Curl","permalink":"/docs/development/curl"},"next":{"title":"JSON API","permalink":"/docs/development/json-api"}}'),s=o("5893"),i=o("65");let r={title:"Developing COSMOS",description:"Building COSMOS and developing the frontend and backend",sidebar_custom_props:{myEmoji:"\uD83D\uDCBB"}},c="Developing COSMOS",l={},a=[{value:"Development Tools",id:"development-tools",level:2},{value:"Running a Frontend Application",id:"running-a-frontend-application",level:2},{value:"Running a Backend Server",id:"running-a-backend-server",level:2}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"developing-cosmos",children:"Developing COSMOS"})}),"\n",(0,s.jsxs)(n.p,{children:["So you want to help develop COSMOS? All of our open source COSMOS code is on ",(0,s.jsx)(n.a,{href:"https://github.com/",children:"Github"})," so the first thing to do is get an ",(0,s.jsx)(n.a,{href:"https://github.com/join",children:"account"}),". Next ",(0,s.jsx)(n.a,{href:"https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository",children:"clone"})," the ",(0,s.jsx)(n.a,{href:"https://github.com/openc3/cosmos",children:"COSMOS"})," repository. We accept contributions from others as ",(0,s.jsx)(n.a,{href:"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests",children:"Pull Requests"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"development-tools",children:"Development Tools"}),"\n",(0,s.jsxs)(n.p,{children:["The core COSMOS team develops with the ",(0,s.jsx)(n.a,{href:"https://code.visualstudio.com/",children:"Visual Studio Code"})," editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our ",(0,s.jsx)(n.code,{children:"openc3.code-workspace"})," configuration for VSCode to help configure these plugins. You also need ",(0,s.jsx)(n.a,{href:"https://www.docker.com/products/docker-desktop",children:"Docker Desktop"})," which you should already have as it is a requirement to run COSMOS. You'll also need ",(0,s.jsx)(n.a,{href:"https://nodejs.org/en/download/",children:"NodeJS"})," and ",(0,s.jsx)(n.a,{href:"https://yarnpkg.com/getting-started/install",children:"yarn"})," installed."]}),"\n",(0,s.jsx)(n.h1,{id:"building-cosmos",children:"Building COSMOS"}),"\n",(0,s.jsx)(n.p,{children:"Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts."}),"\n",(0,s.jsxs)(n.p,{children:["Build COSMOS using the ",(0,s.jsx)(n.code,{children:"openc3.sh"})," script:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"% ./openc3.sh build\n"})}),"\n",(0,s.jsx)(n.p,{children:"This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build!"}),"\n",(0,s.jsx)(n.p,{children:"Once the build completes you can see the built images with the following command:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'% docker image ls | grep "openc3"\nopenc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB\nopenc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB\nopenc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB\nopenc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB\nopenc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB\nopenc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB\nopenc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB\nopenc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB\nopenc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB\nopenc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB\n'})}),"\n",(0,s.jsxs)(n.admonition,{title:"Offline Building",type:"info",children:[(0,s.jsxs)(n.p,{children:["If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the ",(0,s.jsx)(n.a,{href:"https://github.com/openc3/cosmos/blob/main/.env",children:".env"})," file. Example values:"]}),(0,s.jsxs)(n.p,{children:["ALPINE_VERSION=3.18",(0,s.jsx)("br",{}),"\nALPINE_BUILD=9",(0,s.jsx)("br",{}),"\nRUBYGEMS_URL=",(0,s.jsx)(n.a,{href:"https://rubygems.org",children:"https://rubygems.org"}),(0,s.jsx)("br",{}),"\nNPM_URL=",(0,s.jsx)(n.a,{href:"https://registry.npmjs.org",children:"https://registry.npmjs.org"}),(0,s.jsx)("br",{}),"\nAPK_URL=",(0,s.jsx)(n.a,{href:"http://dl-cdn.alpinelinux.org",children:"http://dl-cdn.alpinelinux.org"}),(0,s.jsx)("br",{})]})]}),"\n",(0,s.jsx)(n.h1,{id:"running-cosmos",children:"Running COSMOS"}),"\n",(0,s.jsxs)(n.p,{children:["Running COSMOS in development mode enables localhost access to internal API ports as well as sets ",(0,s.jsx)(n.code,{children:"RAILS_ENV=development"})," in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"% ./openc3.sh dev\n"})}),"\n",(0,s.jsx)(n.p,{children:"You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space):"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'% docker ps\nIMAGE COMMAND PORTS NAMES\nopenc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails\u2026" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1\nopenc3/openc3-script-runner-api:latest "/sbin/tini -- rails\u2026" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1\nopenc3/openc3-traefik:latest "/entrypoint.sh trae\u2026" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1\nopenc3/openc3-operator:latest "/sbin/tini -- ruby \u2026" cosmos-openc3-operator-1\nopenc3/openc3-minio:latest "/usr/bin/docker-ent\u2026" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1\nopenc3/openc3-redis:latest "docker-entrypoint.s\u2026" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1\n'})}),"\n",(0,s.jsx)(n.p,{children:"If you go to localhost:2900 you should see COSMOS up and running!"}),"\n",(0,s.jsx)(n.h2,{id:"running-a-frontend-application",children:"Running a Frontend Application"}),"\n",(0,s.jsx)(n.p,{children:"So now that you have COSMOS up and running how do you develop an individual COSMOS application?"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Bootstrap the frontend with yarn"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"openc3-init % yarn\n"})}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc)"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"openc3-init % cd plugins/packages/openc3-tool-scriptrunner\nopenc3-tool-scriptrunner % yarn serve\n\nDONE Compiled successfully in 128722ms\nApp running at:\n- Local: http://localhost:2914/tools/scriptrunner/\n- Network: http://localhost:2914/tools/scriptrunner/\n\nNote that the development build is not optimized.\nTo create a production build, run npm run build.\n"})}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Set the ",(0,s.jsx)(n.a,{href:"https://single-spa.js.org/",children:"single SPA"})," override for the application"]}),"\n",(0,s.jsxs)(n.p,{children:["Visit localhost:2900 and Right-click 'Inspect'",(0,s.jsx)("br",{}),"\nIn the console paste:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-javascript",children:'localStorage.setItem("devtools", true);\n'})}),"\n",(0,s.jsxs)(n.p,{children:["Refresh and you should see ",(0,s.jsx)(n.code,{children:"{...}"})," in the bottom right",(0,s.jsx)("br",{}),"\nClick the Default button next to the application (@openc3/tool-scriptrunner)",(0,s.jsx)("br",{}),"\nPaste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner)"]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"http://localhost:2914/tools/scriptrunner/js/app.js",children:"http://localhost:2914/tools/scriptrunner/js/app.js"})}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like ",(0,s.jsx)(n.code,{children:"console.log"}),") the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's ",(0,s.jsx)(n.a,{href:"https://developer.chrome.com/docs/devtools/overview/",children:"development tools"})," if you plan to do frontend development."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"running-a-backend-server",children:"Running a Backend Server"}),"\n",(0,s.jsx)(n.p,{children:"If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations."}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"% cd openc3-traefik\nopenc3-traefik % docker ps\n# Look for the container with name including traefik\nopenc3-traefik % docker stop cosmos-openc3-traefik-1\nopenc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev .\nopenc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev\n"})}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"Run a local copy of the cmd-tlm-api or script-runner-api"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"% cd openc3-cosmos-cmd-tlm-api\nopenc3-cosmos-cmd-tlm-api % docker ps\n# Look for the container with name including cmd-tlm-api\nopenc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1\n# Run the following on Windows:\nopenc3-cosmos-cmd-tlm-api> dev_server.bat\n# In Linux, set all the environment variables in the .env file, but override REDIS to be local\nopenc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a\nopenc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1\nopenc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1\nopenc3-cosmos-cmd-tlm-api % bundle install\nopenc3-cosmos-cmd-tlm-api % bundle exec rails s\n"})}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Once the ",(0,s.jsx)(n.code,{children:"bundle exec rails s"})," command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect."]}),"\n"]})]})}function p(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},65:function(e,n,o){o.d(n,{Z:function(){return c},a:function(){return r}});var t=o(7294);let s={},i=t.createContext(s);function r(e){let n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c5388ca4.32f8f561.js b/docs/assets/js/c5388ca4.32f8f561.js new file mode 100644 index 0000000000..57476739a0 --- /dev/null +++ b/docs/assets/js/c5388ca4.32f8f561.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6649"],{2418:function(c){c.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/docs/assets/js/c5388ca4.f526bb0c.js b/docs/assets/js/c5388ca4.f526bb0c.js deleted file mode 100644 index 2315ccbb9d..0000000000 --- a/docs/assets/js/c5388ca4.f526bb0c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2642],{7093:c=>{c.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/docs/assets/js/cb8c3f08.02b69e47.js b/docs/assets/js/cb8c3f08.02b69e47.js deleted file mode 100644 index 434f63588d..0000000000 --- a/docs/assets/js/cb8c3f08.02b69e47.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6360],{3643:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"tools/cmd-sender","title":"Command Sender","description":"Send individual commands","source":"@site/docs/tools/cmd-sender.md","sourceDirName":"tools","slug":"/tools/cmd-sender","permalink":"/docs/tools/cmd-sender","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/cmd-sender.md","tags":[],"version":"current","frontMatter":{"title":"Command Sender","description":"Send individual commands","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Calendar (Enterprise)","permalink":"/docs/tools/calendar"},"next":{"title":"Command and Telemetry Server","permalink":"/docs/tools/cmd-tlm-server"}}');var a=t(4848),d=t(8453);const i={title:"Command Sender",description:"Send individual commands",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},o=void 0,r={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Command Sender Menus",id:"command-sender-menus",level:2},{value:"Mode Menu Items",id:"mode-menu-items",level:3},{value:"Sending Commands",id:"sending-commands",level:2},{value:"Hazardous Commands",id:"hazardous-commands",level:3}];function m(e){const n={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,d.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,a.jsx)(n.p,{children:"Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Command Sender",src:t(5849).A+"",width:"2578",height:"1436"})}),"\n",(0,a.jsx)(n.h2,{id:"command-sender-menus",children:"Command Sender Menus"}),"\n",(0,a.jsx)(n.h3,{id:"mode-menu-items",children:"Mode Menu Items"}),"\n",(0,a.jsx)("img",{src:t(8181).A,alt:"Mode Menu",style:{float:"left","margin-right":"50px",height:"120px"}}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Ignores parameter range checking"}),"\n",(0,a.jsx)(n.li,{children:"Displays parameter state values in hex"}),"\n",(0,a.jsx)(n.li,{children:"Shows ignored parameters"}),"\n",(0,a.jsx)(n.li,{children:"Disables all parameter conversions"}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"sending-commands",children:"Sending Commands"}),"\n",(0,a.jsx)(n.p,{children:"Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"INST COLLECT",src:t(4283).A+"",width:"2576",height:"1446"})}),"\n",(0,a.jsx)(n.p,{children:"Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"States",src:t(1691).A+"",width:"2576",height:"1446"})}),"\n",(0,a.jsx)(n.p,{children:"You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example)."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"History",src:t(7994).A+"",width:"2576",height:"1446"})}),"\n",(0,a.jsx)(n.h3,{id:"hazardous-commands",children:"Hazardous Commands"}),"\n",(0,a.jsxs)(n.p,{children:["Sending ",(0,a.jsx)(n.a,{href:"/docs/configuration/command#hazardous",children:"hazardous"})," commands will prompt the user whether to send the command."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"INST CLEAR",src:t(5318).A+"",width:"2576",height:"1512"})}),"\n",(0,a.jsxs)(n.p,{children:["Commands can also have hazardous ",(0,a.jsx)(n.a,{href:"/docs/configuration/command#state",children:"states"})," (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"INST COLLECT Hazardous",src:t(2329).A+"",width:"2632",height:"2016"})}),"\n",(0,a.jsxs)(n.p,{children:["Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked ",(0,a.jsx)(n.a,{href:"/docs/configuration/command#required",children:"required"}),"."]})]})}function l(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},8181:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/mode_menu-04b9187b57a09ed12481a2699a86c7504fdc1c822579b4f762865ea90cb52dd3.png"},1691:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/collect_states-5418d5b4cb901577f2cbdeccceb254dd2e5b81b1f2c975fb15b5fc679cf23dbf.png"},5849:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/command_sender-83cf2e2343133c2883c405abd0b322f6d3d4a095c6ee800158a04c8eefe474ed.png"},7994:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/history-04aebef1a0fdaaacc5042e5b835f850b48ea04f4fe50271d9bb57803b442d6cd.png"},5318:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/inst_clear-48f37464d774363be4a5c1d30a48d4bc7803cb806a15d80dcd3741d7a9a37811.png"},4283:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/inst_collect-ef36e8a1e97fde625cde7a9c300c3db61aca30140f5431f089ce6a3e5da9d7f4.png"},2329:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/inst_collect_hazardous-02857bda2b5e7e821d3f42d3301962ede2bb4379c469a9d62f4a0e686336f0c4.png"},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>o});var s=t(6540);const a={},d=s.createContext(a);function i(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cb8c3f08.40bcb5c4.js b/docs/assets/js/cb8c3f08.40bcb5c4.js new file mode 100644 index 0000000000..64b8b4294c --- /dev/null +++ b/docs/assets/js/cb8c3f08.40bcb5c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4986"],{9022:function(e,n,t){t.r(n),t.d(n,{metadata:()=>a,contentTitle:()=>o,default:()=>m,assets:()=>r,toc:()=>c,frontMatter:()=>i});var a=JSON.parse('{"id":"tools/cmd-sender","title":"Command Sender","description":"Send individual commands","source":"@site/docs/tools/cmd-sender.md","sourceDirName":"tools","slug":"/tools/cmd-sender","permalink":"/docs/tools/cmd-sender","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/cmd-sender.md","tags":[],"version":"current","frontMatter":{"title":"Command Sender","description":"Send individual commands","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Calendar (Enterprise)","permalink":"/docs/tools/calendar"},"next":{"title":"Command and Telemetry Server","permalink":"/docs/tools/cmd-tlm-server"}}'),s=t("5893"),d=t("65");let i={title:"Command Sender",description:"Send individual commands",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},o=void 0,r={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Command Sender Menus",id:"command-sender-menus",level:2},{value:"Mode Menu Items",id:"mode-menu-items",level:3},{value:"Sending Commands",id:"sending-commands",level:2},{value:"Hazardous Commands",id:"hazardous-commands",level:3}];function l(e){let n={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,d.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(n.p,{children:"Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Command Sender",src:t(6375).Z+"",width:"2578",height:"1436"})}),"\n",(0,s.jsx)(n.h2,{id:"command-sender-menus",children:"Command Sender Menus"}),"\n",(0,s.jsx)(n.h3,{id:"mode-menu-items",children:"Mode Menu Items"}),"\n",(0,s.jsx)("img",{src:t(7230).Z,alt:"Mode Menu",style:{float:"left","margin-right":"50px",height:"120px"}}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Ignores parameter range checking"}),"\n",(0,s.jsx)(n.li,{children:"Displays parameter state values in hex"}),"\n",(0,s.jsx)(n.li,{children:"Shows ignored parameters"}),"\n",(0,s.jsx)(n.li,{children:"Disables all parameter conversions"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sending-commands",children:"Sending Commands"}),"\n",(0,s.jsx)(n.p,{children:"Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"INST COLLECT",src:t(9318).Z+"",width:"2576",height:"1446"})}),"\n",(0,s.jsx)(n.p,{children:"Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"States",src:t(9987).Z+"",width:"2576",height:"1446"})}),"\n",(0,s.jsx)(n.p,{children:"You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example)."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"History",src:t(5080).Z+"",width:"2576",height:"1446"})}),"\n",(0,s.jsx)(n.h3,{id:"hazardous-commands",children:"Hazardous Commands"}),"\n",(0,s.jsxs)(n.p,{children:["Sending ",(0,s.jsx)(n.a,{href:"/docs/configuration/command#hazardous",children:"hazardous"})," commands will prompt the user whether to send the command."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"INST CLEAR",src:t(2540).Z+"",width:"2576",height:"1512"})}),"\n",(0,s.jsxs)(n.p,{children:["Commands can also have hazardous ",(0,s.jsx)(n.a,{href:"/docs/configuration/command#state",children:"states"})," (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"INST COLLECT Hazardous",src:t(1803).Z+"",width:"2632",height:"2016"})}),"\n",(0,s.jsxs)(n.p,{children:["Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked ",(0,s.jsx)(n.a,{href:"/docs/configuration/command#required",children:"required"}),"."]})]})}function m(e={}){let{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},7230:function(e,n,t){t.d(n,{Z:function(){return a}});let a=t.p+"assets/images/mode_menu-04b9187b57a09ed12481a2699a86c7504fdc1c822579b4f762865ea90cb52dd3.png"},9987:function(e,n,t){t.d(n,{Z:function(){return a}});let a=t.p+"assets/images/collect_states-5418d5b4cb901577f2cbdeccceb254dd2e5b81b1f2c975fb15b5fc679cf23dbf.png"},6375:function(e,n,t){t.d(n,{Z:function(){return a}});let a=t.p+"assets/images/command_sender-83cf2e2343133c2883c405abd0b322f6d3d4a095c6ee800158a04c8eefe474ed.png"},5080:function(e,n,t){t.d(n,{Z:function(){return a}});let a=t.p+"assets/images/history-04aebef1a0fdaaacc5042e5b835f850b48ea04f4fe50271d9bb57803b442d6cd.png"},2540:function(e,n,t){t.d(n,{Z:function(){return a}});let a=t.p+"assets/images/inst_clear-48f37464d774363be4a5c1d30a48d4bc7803cb806a15d80dcd3741d7a9a37811.png"},9318:function(e,n,t){t.d(n,{Z:function(){return a}});let a=t.p+"assets/images/inst_collect-ef36e8a1e97fde625cde7a9c300c3db61aca30140f5431f089ce6a3e5da9d7f4.png"},1803:function(e,n,t){t.d(n,{Z:function(){return a}});let a=t.p+"assets/images/inst_collect_hazardous-02857bda2b5e7e821d3f42d3301962ede2bb4379c469a9d62f4a0e686336f0c4.png"},65:function(e,n,t){t.d(n,{Z:function(){return o},a:function(){return i}});var a=t(7294);let s={},d=a.createContext(s);function i(e){let n=a.useContext(d);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cd879be4.5bf836a2.js b/docs/assets/js/cd879be4.5bf836a2.js new file mode 100644 index 0000000000..697afe9d33 --- /dev/null +++ b/docs/assets/js/cd879be4.5bf836a2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2415"],{4633:function(t,e,o){o.r(e),o.d(e,{metadata:()=>n,contentTitle:()=>r,default:()=>m,assets:()=>c,toc:()=>d,frontMatter:()=>s});var n=JSON.parse('{"id":"tools/handbooks","title":"Handbooks","description":"Format the command and telemetry definition into a webpage","source":"@site/docs/tools/handbooks.md","sourceDirName":"tools","slug":"/tools/handbooks","permalink":"/docs/tools/handbooks","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/handbooks.md","tags":[],"version":"current","frontMatter":{"title":"Handbooks","description":"Format the command and telemetry definition into a webpage","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Data Viewer","permalink":"/docs/tools/data-viewer"},"next":{"title":"Limits Monitor","permalink":"/docs/tools/limits-monitor"}}'),a=o("5893"),i=o("65");let s={title:"Handbooks",description:"Format the command and telemetry definition into a webpage",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},r=void 0,c={},d=[{value:"Introduction",id:"introduction",level:2}];function l(t){let e={a:"a",h2:"h2",img:"img",p:"p",...(0,i.a)(),...t.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.h2,{id:"introduction",children:"Introduction"}),"\n",(0,a.jsxs)(e.p,{children:["Handbooks formats the COSMOS ",(0,a.jsx)(e.a,{href:"/docs/configuration/command",children:"command"})," and ",(0,a.jsx)(e.a,{href:"/docs/configuration/telemetry",children:"telemetry"})," definitions into a nicely formatted webpage that can be exported to a PDF."]}),"\n",(0,a.jsx)(e.p,{children:(0,a.jsx)(e.img,{alt:"Handbooks",src:o(4134).Z+"",width:"1270",height:"710"})}),"\n",(0,a.jsx)(e.p,{children:"You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF."})]})}function m(t={}){let{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(l,{...t})}):l(t)}},4134:function(t,e,o){o.d(e,{Z:function(){return n}});let n=o.p+"assets/images/handbooks-948da6f5aad7a4175441235f2aac82668f9233c60412e412439b2e2af0bd1a45.png"},65:function(t,e,o){o.d(e,{Z:function(){return r},a:function(){return s}});var n=o(7294);let a={},i=n.createContext(a);function s(t){let e=n.useContext(i);return n.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:s(t.components),n.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/cd879be4.ea3bcbd6.js b/docs/assets/js/cd879be4.ea3bcbd6.js deleted file mode 100644 index d3904f87ed..0000000000 --- a/docs/assets/js/cd879be4.ea3bcbd6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[407],{9295:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"tools/handbooks","title":"Handbooks","description":"Format the command and telemetry definition into a webpage","source":"@site/docs/tools/handbooks.md","sourceDirName":"tools","slug":"/tools/handbooks","permalink":"/docs/tools/handbooks","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/handbooks.md","tags":[],"version":"current","frontMatter":{"title":"Handbooks","description":"Format the command and telemetry definition into a webpage","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Data Viewer","permalink":"/docs/tools/data-viewer"},"next":{"title":"Limits Monitor","permalink":"/docs/tools/limits-monitor"}}');var s=o(4848),a=o(8453);const i={title:"Handbooks",description:"Format the command and telemetry definition into a webpage",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},r=void 0,c={},d=[{value:"Introduction",id:"introduction",level:2}];function m(t){const e={a:"a",h2:"h2",img:"img",p:"p",...(0,a.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsxs)(e.p,{children:["Handbooks formats the COSMOS ",(0,s.jsx)(e.a,{href:"/docs/configuration/command",children:"command"})," and ",(0,s.jsx)(e.a,{href:"/docs/configuration/telemetry",children:"telemetry"})," definitions into a nicely formatted webpage that can be exported to a PDF."]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"Handbooks",src:o(398).A+"",width:"1270",height:"710"})}),"\n",(0,s.jsx)(e.p,{children:"You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF."})]})}function l(t={}){const{wrapper:e}={...(0,a.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(m,{...t})}):m(t)}},398:(t,e,o)=>{o.d(e,{A:()=>n});const n=o.p+"assets/images/handbooks-948da6f5aad7a4175441235f2aac82668f9233c60412e412439b2e2af0bd1a45.png"},8453:(t,e,o)=>{o.d(e,{R:()=>i,x:()=>r});var n=o(6540);const s={},a=n.createContext(s);function i(t){const e=n.useContext(a);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:i(t.components),n.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d1b923aa.28607466.js b/docs/assets/js/d1b923aa.b61361cc.js similarity index 89% rename from docs/assets/js/d1b923aa.28607466.js rename to docs/assets/js/d1b923aa.b61361cc.js index 8f1932ec39..b57c54bd0a 100644 --- a/docs/assets/js/d1b923aa.28607466.js +++ b/docs/assets/js/d1b923aa.b61361cc.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3718],{1273:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>a,frontMatter:()=>l,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"guides/performance","title":"Performance","description":"Hardware requirements like memory and CPU","source":"@site/docs/guides/performance.md","sourceDirName":"guides","slug":"/guides/performance","permalink":"/docs/guides/performance","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/performance.md","tags":[],"version":"current","frontMatter":{"title":"Performance","description":"Hardware requirements like memory and CPU","sidebar_custom_props":{"myEmoji":"\ud83d\udcca"}},"sidebar":"defaultSidebar","previous":{"title":"Monitoring","permalink":"/docs/guides/monitoring"},"next":{"title":"Raspberry Pi","permalink":"/docs/guides/raspberrypi"}}');var i=s(4848),r=s(8453);const l={title:"Performance",description:"Hardware requirements like memory and CPU",sidebar_custom_props:{myEmoji:"\ud83d\udcca"}},d="COSMOS Hardware Requirements",o={},c=[{value:"Memory",id:"memory",level:2},{value:"CPU",id:"cpu",level:2},{value:"Performance Comparison",id:"performance-comparison",level:2}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",section:"section",sup:"sup",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only ",(0,i.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise Edition"})," supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance."]}),"\n",(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"cosmos-hardware-requirements",children:"COSMOS Hardware Requirements"})}),"\n",(0,i.jsx)(t.h2,{id:"memory",children:"Memory"}),"\n",(0,i.jsx)(t.p,{children:"COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM)."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Base RAM MB Calculator = 800 + (num targets) * 300"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to ",(0,i.jsx)(t.code,{children:"docker stats"}),". Installing the COSMOS ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/openc3-cosmos-load-sim",children:"LoadSim"})," with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB."]}),"\n",(0,i.jsx)(t.h2,{id:"cpu",children:"CPU"}),"\n",(0,i.jsx)(t.p,{children:"Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling."}),"\n",(0,i.jsxs)(t.p,{children:["The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with ",(0,i.jsx)(t.code,{children:"htop"})," to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur."]}),"\n",(0,i.jsx)(t.h2,{id:"performance-comparison",children:"Performance Comparison"}),"\n",(0,i.jsxs)(t.p,{children:["Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per ",(0,i.jsx)(t.a,{href:"https://docs.docker.com/desktop/vm-vdi/#turn-on-nested-virtualization-on-microsoft-hyper-v",children:"Docker"}),". COSMOS ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise/releases/tag/v5.9.1",children:"5.9.1"})," Enterprise Edition was installed on both Windows 11 Pro ",(0,i.jsx)(t.sup,{children:(0,i.jsx)(t.a,{href:"#user-content-fn-1",id:"user-content-fnref-1","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"1"})})," and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using ",(0,i.jsx)(t.code,{children:"htop"}),":"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Platform"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Core CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"RAM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Windows 11 Pro"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"12% 12% 10% 10%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"3.9G / 7.7G"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Headless Ubuntu 22"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"7% 7% 8% 6%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"3.2G / 15.6G"})]})]})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Windows was only allocated 8 GB of RAM due to the ",(0,i.jsx)(t.a,{href:"https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configuration-setting-for-wslconfig",children:".wslconfig"})," settings."]}),"\n",(0,i.jsx)(t.li,{children:"Since Ubuntu was running headless, the screens and graphs were brought up on another machine."}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"docker stats"})," was also run to show individual container cpu and memory usage:"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"NAME"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows CPU %"}),(0,i.jsx)(t.th,{children:"Ubuntu CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows MEM"}),(0,i.jsx)(t.th,{children:"Ubuntu MEM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-traefik-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.16%"}),(0,i.jsx)(t.td,{children:"1.32%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"43.54MiB"}),(0,i.jsx)(t.td,{children:"51.38MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"10.16%"}),(0,i.jsx)(t.td,{children:"6.14%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"401.6MiB"}),(0,i.jsx)(t.td,{children:"392MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-keycloak-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.17%"}),(0,i.jsx)(t.td,{children:"0.13%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"476.8MiB"}),(0,i.jsx)(t.td,{children:"476.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-operator-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"21.27%"}),(0,i.jsx)(t.td,{children:"13.91%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"1.214GiB"}),(0,i.jsx)(t.td,{children:"1.207GiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-script-runner-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"127.4MiB"}),(0,i.jsx)(t.td,{children:"117.1MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-metrics-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.00%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"105.2MiB"}),(0,i.jsx)(t.td,{children:"83.87MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-ephemeral-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.05%"}),(0,i.jsx)(t.td,{children:"1.89%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"46.22MiB"}),(0,i.jsx)(t.td,{children:"69.84MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"1.56%"}),(0,i.jsx)(t.td,{children:"0.72%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"12.82MiB"}),(0,i.jsx)(t.td,{children:"9.484MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-minio-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.00%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"152.9MiB"}),(0,i.jsx)(t.td,{children:"169.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-postgresql-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.00%"}),(0,i.jsx)(t.td,{children:"0.39%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"37.33MiB"}),(0,i.jsx)(t.td,{children:"41.02MiB"})]})]})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"memory profiles are similar between the two platforms"}),"\n",(0,i.jsx)(t.li,{children:"redis-ephemeral isn't using much memory on the base Demo with its small packets"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["At this point the COSMOS ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/openc3-cosmos-load-sim",children:"LoadSim"})," was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated:"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Platform"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Core CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"RAM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Windows 11 Pro"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"40% 35% 39% 42%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.64G / 7.7G"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Headless Ubuntu 22"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"17% 20% 16% 18%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"3.74G / 15.6G"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"docker stats"})," was also run to show individual container cpu and memory usage:"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"NAME"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows CPU %"}),(0,i.jsx)(t.th,{children:"Ubuntu CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows MEM"}),(0,i.jsx)(t.th,{children:"Ubuntu MEM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-traefik-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.09%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"44.3MiB"}),(0,i.jsx)(t.td,{children:"0.34MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"17.78%"}),(0,i.jsx)(t.td,{children:"6.18%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"407.9MiB"}),(0,i.jsx)(t.td,{children:"405.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-keycloak-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.20%"}),(0,i.jsx)(t.td,{children:"0.12%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"480.2MiB"}),(0,i.jsx)(t.td,{children:"481.5MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-operator-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"221.15%"}),(0,i.jsx)(t.td,{children:"66.72%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"1.6GiB"}),(0,i.jsx)(t.td,{children:"1.512GiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-script-runner-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"136.6MiB"}),(0,i.jsx)(t.td,{children:"127.5MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-metrics-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"106.3MiB"}),(0,i.jsx)(t.td,{children:"84.87MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-ephemeral-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"19.63%"}),(0,i.jsx)(t.td,{children:"3.91%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"333.8MiB"}),(0,i.jsx)(t.td,{children:"370.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"7.42%"}),(0,i.jsx)(t.td,{children:"1.49%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"15.87MiB"}),(0,i.jsx)(t.td,{children:"11.81MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-minio-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.10%"}),(0,i.jsx)(t.td,{children:"0.02%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"167.8MiB"}),(0,i.jsx)(t.td,{children:"179.2MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-postgresql-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.00%"}),(0,i.jsx)(t.td,{children:"0.00%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"35.4MiB"}),(0,i.jsx)(t.td,{children:"42.93MiB"})]})]})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"memory profiles are similar between the two platforms"}),"\n",(0,i.jsx)(t.li,{children:"redis-ephemeral is now using much more RAM as it is storing the large LoadSim packets"}),"\n",(0,i.jsx)(t.li,{children:"Windows is using much more CPU power running the operator, cmd-tlm, and redis"}),"\n"]}),"\n",(0,i.jsx)(t.h1,{id:"conclusions",children:"Conclusions"}),"\n",(0,i.jsxs)(t.p,{children:["While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use ",(0,i.jsx)(t.code,{children:"docker stats"})," and ",(0,i.jsx)(t.code,{children:"htop"})," to judge the CPU and memory pressure on the given hardware."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise Edition"})," on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out ",(0,i.jsx)(t.a,{href:"https://openc3.com/news/scaling",children:"this recent talk"})," Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS."]}),"\n",(0,i.jsx)("hr",{}),"\n","\n",(0,i.jsxs)(t.section,{"data-footnotes":!0,className:"footnotes",children:[(0,i.jsx)(t.h2,{className:"sr-only",id:"footnote-label",children:"Footnotes"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{id:"user-content-fn-1",children:["\n",(0,i.jsx)(t.p,{children:"Full specs of the Windows Platform:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"Windows 11 Pro\nDocker Desktop 4.22.0\nWSL version: 1.2.5.0\nKernel version: 5.15.90.1\nWSLg version: 1.0.51\nMSRDC version: 1.2.3770\nDirect3D version: 1.608.2-61064218\nDXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp\nWindows version: 10.0.22621.2134\n"})}),"\n",(0,i.jsx)(t.a,{href:"#user-content-fnref-1","data-footnote-backref":"","aria-label":"Back to reference 1",className:"data-footnote-backref",children:"\u21a9"}),"\n"]}),"\n"]}),"\n"]})]})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>l,x:()=>d});var n=s(6540);const i={},r=n.createContext(i);function l(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4706"],{5351:function(e,t,s){s.r(t),s.d(t,{metadata:()=>n,contentTitle:()=>d,default:()=>a,assets:()=>o,toc:()=>c,frontMatter:()=>l});var n=JSON.parse('{"id":"guides/performance","title":"Performance","description":"Hardware requirements like memory and CPU","source":"@site/docs/guides/performance.md","sourceDirName":"guides","slug":"/guides/performance","permalink":"/docs/guides/performance","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/performance.md","tags":[],"version":"current","frontMatter":{"title":"Performance","description":"Hardware requirements like memory and CPU","sidebar_custom_props":{"myEmoji":"\uD83D\uDCCA"}},"sidebar":"defaultSidebar","previous":{"title":"Monitoring","permalink":"/docs/guides/monitoring"},"next":{"title":"Raspberry Pi","permalink":"/docs/guides/raspberrypi"}}'),i=s("5893"),r=s("65");let l={title:"Performance",description:"Hardware requirements like memory and CPU",sidebar_custom_props:{myEmoji:"\uD83D\uDCCA"}},d="COSMOS Hardware Requirements",o={},c=[{value:"Memory",id:"memory",level:2},{value:"CPU",id:"cpu",level:2},{value:"Performance Comparison",id:"performance-comparison",level:2}];function h(e){let t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",section:"section",sup:"sup",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only ",(0,i.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise Edition"})," supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance."]}),"\n",(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"cosmos-hardware-requirements",children:"COSMOS Hardware Requirements"})}),"\n",(0,i.jsx)(t.h2,{id:"memory",children:"Memory"}),"\n",(0,i.jsx)(t.p,{children:"COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM)."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Base RAM MB Calculator = 800 + (num targets) * 300"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to ",(0,i.jsx)(t.code,{children:"docker stats"}),". Installing the COSMOS ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/openc3-cosmos-load-sim",children:"LoadSim"})," with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB."]}),"\n",(0,i.jsx)(t.h2,{id:"cpu",children:"CPU"}),"\n",(0,i.jsx)(t.p,{children:"Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling."}),"\n",(0,i.jsxs)(t.p,{children:["The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with ",(0,i.jsx)(t.code,{children:"htop"})," to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur."]}),"\n",(0,i.jsx)(t.h2,{id:"performance-comparison",children:"Performance Comparison"}),"\n",(0,i.jsxs)(t.p,{children:["Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per ",(0,i.jsx)(t.a,{href:"https://docs.docker.com/desktop/vm-vdi/#turn-on-nested-virtualization-on-microsoft-hyper-v",children:"Docker"}),". COSMOS ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-enterprise/releases/tag/v5.9.1",children:"5.9.1"})," Enterprise Edition was installed on both Windows 11 Pro ",(0,i.jsx)(t.sup,{children:(0,i.jsx)(t.a,{href:"#user-content-fn-1",id:"user-content-fnref-1","data-footnote-ref":!0,"aria-describedby":"footnote-label",children:"1"})})," and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using ",(0,i.jsx)(t.code,{children:"htop"}),":"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Platform"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Core CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"RAM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Windows 11 Pro"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"12% 12% 10% 10%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"3.9G / 7.7G"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Headless Ubuntu 22"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"7% 7% 8% 6%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"3.2G / 15.6G"})]})]})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Windows was only allocated 8 GB of RAM due to the ",(0,i.jsx)(t.a,{href:"https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configuration-setting-for-wslconfig",children:".wslconfig"})," settings."]}),"\n",(0,i.jsx)(t.li,{children:"Since Ubuntu was running headless, the screens and graphs were brought up on another machine."}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"docker stats"})," was also run to show individual container cpu and memory usage:"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"NAME"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows CPU %"}),(0,i.jsx)(t.th,{children:"Ubuntu CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows MEM"}),(0,i.jsx)(t.th,{children:"Ubuntu MEM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-traefik-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.16%"}),(0,i.jsx)(t.td,{children:"1.32%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"43.54MiB"}),(0,i.jsx)(t.td,{children:"51.38MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"10.16%"}),(0,i.jsx)(t.td,{children:"6.14%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"401.6MiB"}),(0,i.jsx)(t.td,{children:"392MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-keycloak-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.17%"}),(0,i.jsx)(t.td,{children:"0.13%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"476.8MiB"}),(0,i.jsx)(t.td,{children:"476.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-operator-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"21.27%"}),(0,i.jsx)(t.td,{children:"13.91%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"1.214GiB"}),(0,i.jsx)(t.td,{children:"1.207GiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-script-runner-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"127.4MiB"}),(0,i.jsx)(t.td,{children:"117.1MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-metrics-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.00%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"105.2MiB"}),(0,i.jsx)(t.td,{children:"83.87MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-ephemeral-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.05%"}),(0,i.jsx)(t.td,{children:"1.89%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"46.22MiB"}),(0,i.jsx)(t.td,{children:"69.84MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"1.56%"}),(0,i.jsx)(t.td,{children:"0.72%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"12.82MiB"}),(0,i.jsx)(t.td,{children:"9.484MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-minio-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.00%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"152.9MiB"}),(0,i.jsx)(t.td,{children:"169.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-postgresql-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.00%"}),(0,i.jsx)(t.td,{children:"0.39%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"37.33MiB"}),(0,i.jsx)(t.td,{children:"41.02MiB"})]})]})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"memory profiles are similar between the two platforms"}),"\n",(0,i.jsx)(t.li,{children:"redis-ephemeral isn't using much memory on the base Demo with its small packets"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["At this point the COSMOS ",(0,i.jsx)(t.a,{href:"https://github.com/OpenC3/openc3-cosmos-load-sim",children:"LoadSim"})," was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated:"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Platform"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Core CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"RAM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Windows 11 Pro"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"40% 35% 39% 42%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.64G / 7.7G"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Headless Ubuntu 22"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"17% 20% 16% 18%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"3.74G / 15.6G"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"docker stats"})," was also run to show individual container cpu and memory usage:"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"NAME"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows CPU %"}),(0,i.jsx)(t.th,{children:"Ubuntu CPU %"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Windows MEM"}),(0,i.jsx)(t.th,{children:"Ubuntu MEM"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-traefik-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"4.09%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"44.3MiB"}),(0,i.jsx)(t.td,{children:"0.34MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"17.78%"}),(0,i.jsx)(t.td,{children:"6.18%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"407.9MiB"}),(0,i.jsx)(t.td,{children:"405.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-keycloak-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.20%"}),(0,i.jsx)(t.td,{children:"0.12%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"480.2MiB"}),(0,i.jsx)(t.td,{children:"481.5MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-operator-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"221.15%"}),(0,i.jsx)(t.td,{children:"66.72%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"1.6GiB"}),(0,i.jsx)(t.td,{children:"1.512GiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-cosmos-script-runner-api-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"136.6MiB"}),(0,i.jsx)(t.td,{children:"127.5MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-metrics-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.01%"}),(0,i.jsx)(t.td,{children:"0.01%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"106.3MiB"}),(0,i.jsx)(t.td,{children:"84.87MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-ephemeral-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"19.63%"}),(0,i.jsx)(t.td,{children:"3.91%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"333.8MiB"}),(0,i.jsx)(t.td,{children:"370.8MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-redis-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"7.42%"}),(0,i.jsx)(t.td,{children:"1.49%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"15.87MiB"}),(0,i.jsx)(t.td,{children:"11.81MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-minio-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.10%"}),(0,i.jsx)(t.td,{children:"0.02%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"167.8MiB"}),(0,i.jsx)(t.td,{children:"179.2MiB"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"cosmos-enterprise-project-openc3-postgresql-1"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"0.00%"}),(0,i.jsx)(t.td,{children:"0.00%"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"35.4MiB"}),(0,i.jsx)(t.td,{children:"42.93MiB"})]})]})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"memory profiles are similar between the two platforms"}),"\n",(0,i.jsx)(t.li,{children:"redis-ephemeral is now using much more RAM as it is storing the large LoadSim packets"}),"\n",(0,i.jsx)(t.li,{children:"Windows is using much more CPU power running the operator, cmd-tlm, and redis"}),"\n"]}),"\n",(0,i.jsx)(t.h1,{id:"conclusions",children:"Conclusions"}),"\n",(0,i.jsxs)(t.p,{children:["While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use ",(0,i.jsx)(t.code,{children:"docker stats"})," and ",(0,i.jsx)(t.code,{children:"htop"})," to judge the CPU and memory pressure on the given hardware."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise Edition"})," on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out ",(0,i.jsx)(t.a,{href:"https://openc3.com/news/scaling",children:"this recent talk"})," Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS."]}),"\n",(0,i.jsx)("hr",{}),"\n","\n",(0,i.jsxs)(t.section,{"data-footnotes":!0,className:"footnotes",children:[(0,i.jsx)(t.h2,{className:"sr-only",id:"footnote-label",children:"Footnotes"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{id:"user-content-fn-1",children:["\n",(0,i.jsx)(t.p,{children:"Full specs of the Windows Platform:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"Windows 11 Pro\nDocker Desktop 4.22.0\nWSL version: 1.2.5.0\nKernel version: 5.15.90.1\nWSLg version: 1.0.51\nMSRDC version: 1.2.3770\nDirect3D version: 1.608.2-61064218\nDXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp\nWindows version: 10.0.22621.2134\n"})}),"\n",(0,i.jsx)(t.a,{href:"#user-content-fnref-1","data-footnote-backref":"","aria-label":"Back to reference 1",className:"data-footnote-backref",children:"\u21A9"}),"\n"]}),"\n"]}),"\n"]})]})}function a(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},65:function(e,t,s){s.d(t,{Z:function(){return d},a:function(){return l}});var n=s(7294);let i={},r=n.createContext(i);function l(e){let t=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d1bfc316.05e50330.js b/docs/assets/js/d1bfc316.05e50330.js deleted file mode 100644 index 2e542777fa..0000000000 --- a/docs/assets/js/d1bfc316.05e50330.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7209],{1377:(e,t,n)=>{n.r(t),n.d(t,{default:()=>pe});var a=n(6540),o=n(4164),i=n(1003),s=n(7559),l=n(4718),c=n(609),r=n(1312),d=n(3104),u=n(5062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(4848);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.$)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,r.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(3109),x=n(6347),f=n(4581),j=n(6342),_=n(3465);function v(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const g="collapseSidebarButton_PEFL",A="collapseSidebarButtonIcon_kv0_";function C(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,r.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",g),onClick:t,children:(0,b.jsx)(v,{className:A})})}var k=n(5041),S=n(9532);const T=Symbol("EmptyContext"),N=a.createContext(T);function I(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var y=n(1422),B=n(9169),w=n(8774),L=n(2303);function E(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,r.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,r.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function M(e){let{item:t,onItemClick:n,activePath:i,level:c,index:r,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,L.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),v=(0,l.w8)(t,i),g=(0,B.ys)(x,i),{collapsed:A,setCollapsed:C}=(0,y.u)({initialState:()=>!!h&&(!v&&t.collapsed)}),{expandedItem:k,setExpandedItem:I}=function(){const e=(0,a.useContext)(N);if(e===T)throw new S.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=function(e){void 0===e&&(e=!A),I(e?null:r),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:v,collapsed:A,updateCollapsed:M}),(0,a.useEffect)((()=>{h&&null!=k&&k!==r&&f&&C(!0)}),[h,k,r,C,f]),(0,b.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":A},p),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g}),children:[(0,b.jsx)(w.A,{className:(0,o.A)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":v}),onClick:h?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":g?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!A:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(E,{collapsed:A,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,b.jsx)(y.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,b.jsx)(V,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:c+1})})]})}var H=n(6654),G=n(3186);const P="menuExternalLink_NmtK";function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:c,...r}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l.w8)(t,a),x=(0,H.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(w.A,{className:(0,o.A)("menu__link",!x&&P,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...r,children:[u,!x&&(0,b.jsx)(G.A,{})]})},u)}const W="menuHtmlItem_M9Kj";function D(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:c}=t;return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[W,"menu__list-item"],c),dangerouslySetInnerHTML:{__html:i}},a)}function F(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(M,{item:t,...n});case"html":return(0,b.jsx)(D,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function U(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,b.jsx)(I,{children:a.map(((e,t)=>(0,b.jsx)(F,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(U),Y="menu_SIkG",K="menuWithAnnouncementBar_GW3s";function z(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,k.M)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,r.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",Y,l&&K,i),children:(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const q="sidebar_njMd",O="sidebarWithHideableNavbar_wUlq",J="sidebarHidden_VK0M",Q="sidebarLogo_isFc";function X(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,b.jsxs)("div",{className:(0,o.A)(q,s&&O,i&&J),children:[s&&(0,b.jsx)(_.A,{tabIndex:-1,className:Q}),(0,b.jsx)(z,{path:t,sidebar:n}),l&&(0,b.jsx)(C,{onClick:a})]})}const Z=a.memo(X);var $=n(5600),ee=n(9876);const te=e=>{let{sidebar:t,path:n}=e;const a=(0,ee.M)();return(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ne(e){return(0,b.jsx)($.GX,{component:te,props:e})}const ae=a.memo(ne);function oe(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(Z,{...e}),a&&(0,b.jsx)(ae,{...e})]})}const ie={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function se(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ie.expandButton,title:(0,r.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,r.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(v,{className:ie.expandButtonIcon})})}const le={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function ce(e){let{children:t}=e;const n=(0,c.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function re(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[c,r]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{c&&r(!1),!c&&(0,p.O)()&&r(!0),i((e=>!e))}),[i,c]);return(0,b.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,le.docSidebarContainer,n&&le.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(le.docSidebarContainer)&&n&&r(!0)},children:(0,b.jsx)(ce,{children:(0,b.jsxs)("div",{className:(0,o.A)(le.sidebarViewport,c&&le.sidebarViewportHidden),children:[(0,b.jsx)(oe,{sidebar:t,path:l,onCollapse:d,isHidden:c}),c&&(0,b.jsx)(se,{toggleSidebar:d})]})})})}const de={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ue(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,c.t)();return(0,b.jsx)("main",{className:(0,o.A)(de.docMainContainer,(t||!a)&&de.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",de.docItemWrapper,t&&de.docItemWrapperEnhanced),children:n})})}const me={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function be(e){let{children:t}=e;const n=(0,c.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:me.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:me.docRoot,children:[n&&(0,b.jsx)(re,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ue,{hiddenSidebarContainer:o,children:t})]})]})}var he=n(3363);function pe(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(he.A,{});const{docElement:n,sidebarName:a,sidebarItems:r}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,b.jsx)(c.V,{name:a,items:r,children:(0,b.jsx)(be,{children:n})})})}},3363:(e,t,n)=>{n.d(t,{A:()=>l});n(6540);var a=n(4164),o=n(1312),i=n(1107),s=n(4848);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/d1bfc316.08dd163f.js b/docs/assets/js/d1bfc316.08dd163f.js new file mode 100644 index 0000000000..bd5ab0c106 --- /dev/null +++ b/docs/assets/js/d1bfc316.08dd163f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9997"],{2001:function(e,t,n){n.r(t),n.d(t,{default:()=>ec});var a=n("5893"),i=n("7294"),o=n("7026"),r=n("4713"),l=n("4681"),s=n("3413"),d=n("5609"),c=n("6025"),u=n("9599"),m=n("346");let b={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function h(){let{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e,[n,a]=(0,i.useState)(!1),o=(0,i.useRef)(!1),{startScroll:r,cancelScroll:l}=(0,u.Ct)();return(0,u.RF)((e,n)=>{let{scrollY:i}=e,r=n?.scrollY;if(!!r)o.current?o.current=!1:i>=r?(l(),a(!1)):i<t?a(!1):i+window.innerHeight<document.documentElement.scrollHeight&&a(!0)}),(0,m.S)(e=>{e.location.hash&&(o.current=!0,a(!1))}),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return(0,a.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",l.k.common.backToTopButton,b.backToTopButton,e&&b.backToTopButtonShow),type:"button",onClick:t})}var p=n("7504"),x=n("6550"),f=n("4704"),j=n("140"),_=n("4987");function k(e){return(0,a.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,a.jsxs)("g",{fill:"#7a7a7a",children:[(0,a.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,a.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}let g="collapseSidebarButton_PEFL",v="collapseSidebarButtonIcon_kv0_";function S(e){let{onClick:t}=e;return(0,a.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",g),onClick:t,children:(0,a.jsx)(k,{className:v})})}var C=n("2093"),I=n("5346");let N=Symbol("EmptyContext"),T=i.createContext(N);function Z(e){let{children:t}=e,[n,o]=(0,i.useState)(null),r=(0,i.useMemo)(()=>({expandedItem:n,setExpandedItem:o}),[n]);return(0,a.jsx)(T.Provider,{value:r,children:t})}var L=n("7455"),y=n("9246"),B=n("3012"),A=n("7227");function w(e){let{collapsed:t,categoryLabel:n,onClick:i}=e;return(0,a.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:i})}function H(e){let{item:t,onItemClick:n,activePath:r,level:d,index:c,...u}=e,{items:m,label:b,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),_=function(e){let t=(0,A.Z)();return(0,i.useMemo)(()=>{if(e.href&&!e.linkUnlisted)return e.href;if(!t&&!!e.collapsible)return(0,s.LM)(e)},[e,t])}(t),k=(0,s._F)(t,r),g=(0,y.Mg)(x,r),{collapsed:v,setCollapsed:S}=(0,L.u)({initialState:()=>!!h&&!k&&t.collapsed}),{expandedItem:C,setExpandedItem:Z}=function(){let e=(0,i.useContext)(T);if(e===N)throw new I.i6("DocSidebarItemsExpandedStateProvider");return e}(),H=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!v;Z(e?null:c),S(e)};return!function(e){let{isActive:t,collapsed:n,updateCollapsed:a}=e,o=(0,I.D9)(t);(0,i.useEffect)(()=>{t&&!o&&n&&a(!1)},[t,o,n,a])}({isActive:k,collapsed:v,updateCollapsed:H}),(0,i.useEffect)(()=>{h&&null!=C&&C!==c&&f&&S(!0)},[h,C,c,S,f]),(0,a.jsxs)("li",{className:(0,o.Z)(l.k.docs.docSidebarItemCategory,l.k.docs.docSidebarItemCategoryLevel(d),"menu__list-item",{"menu__list-item--collapsed":v},p),children:[(0,a.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g}),children:[(0,a.jsx)(B.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":k}),onClick:h?e=>{n?.(t),x?H(!1):(e.preventDefault(),H())}:()=>{n?.(t)},"aria-current":g?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!v:void 0,href:h?_??"#":_,...u,children:b}),x&&h&&(0,a.jsx)(w,{collapsed:v,categoryLabel:b,onClick:e=>{e.preventDefault(),H()}})]}),(0,a.jsx)(L.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:v,children:(0,a.jsx)(V,{items:m,tabIndex:v?-1:0,onItemClick:n,activePath:r,level:d+1})})]})}var E=n("3150"),M=n("2425");let W={menuExternalLink:"menuExternalLink_NmtK"};function F(e){let{item:t,onItemClick:n,activePath:i,level:r,index:d,...c}=e,{href:u,label:m,className:b,autoAddBaseUrl:h}=t,p=(0,s._F)(t,i),x=(0,E.Z)(u);return(0,a.jsx)("li",{className:(0,o.Z)(l.k.docs.docSidebarItemLink,l.k.docs.docSidebarItemLinkLevel(r),"menu__list-item",b),children:(0,a.jsxs)(B.Z,{className:(0,o.Z)("menu__link",!x&&W.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:u,...x&&{onClick:n?()=>n(t):void 0},...c,children:[m,!x&&(0,a.jsx)(M.Z,{})]})},m)}let R={menuHtmlItem:"menuHtmlItem_M9Kj"};function D(e){let{item:t,level:n,index:i}=e,{value:r,defaultStyle:s,className:d}=t;return(0,a.jsx)("li",{className:(0,o.Z)(l.k.docs.docSidebarItemLink,l.k.docs.docSidebarItemLinkLevel(n),s&&[R.menuHtmlItem,"menu__list-item"],d),dangerouslySetInnerHTML:{__html:r}},i)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,a.jsx)(H,{item:t,...n});case"html":return(0,a.jsx)(D,{item:t,...n});default:return(0,a.jsx)(F,{item:t,...n})}}let V=(0,i.memo)(function(e){let{items:t,...n}=e,i=(0,s.f)(t,n.activePath);return(0,a.jsx)(Z,{children:i.map((e,t)=>(0,a.jsx)(P,{item:e,index:t,...n},t))})}),U={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function K(e){let{path:t,sidebar:n,className:r}=e,s=function(){let{isActive:e}=(0,C.n)(),[t,n]=(0,i.useState)(e);return(0,u.RF)(t=>{let{scrollY:a}=t;e&&n(0===a)},[e]),e&&t}();return(0,a.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,s&&U.menuWithAnnouncementBar,r),children:(0,a.jsx)("ul",{className:(0,o.Z)(l.k.docs.docSidebarMenu,"menu__list"),children:(0,a.jsx)(V,{items:n,activePath:t,level:1})})})}let z={sidebar:"sidebar_njMd",sidebarWithHideableNavbar:"sidebarWithHideableNavbar_wUlq",sidebarHidden:"sidebarHidden_VK0M",sidebarLogo:"sidebarLogo_isFc"},G=i.memo(function(e){let{path:t,sidebar:n,onCollapse:i,isHidden:r}=e,{navbar:{hideOnScroll:l},docs:{sidebar:{hideable:s}}}=(0,j.L)();return(0,a.jsxs)("div",{className:(0,o.Z)(z.sidebar,l&&z.sidebarWithHideableNavbar,r&&z.sidebarHidden),children:[l&&(0,a.jsx)(_.Z,{tabIndex:-1,className:z.sidebarLogo}),(0,a.jsx)(K,{path:t,sidebar:n}),s&&(0,a.jsx)(S,{onClick:i})]})});var Y=n("1179"),q=n("3780");let J=e=>{let{sidebar:t,path:n}=e,i=(0,q.e)();return(0,a.jsx)("ul",{className:(0,o.Z)(l.k.docs.docSidebarMenu,"menu__list"),children:(0,a.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&i.toggle(),"link"===e.type&&i.toggle()},level:1})})},O=i.memo(function(e){return(0,a.jsx)(Y.Zo,{component:J,props:e})});function Q(e){let t=(0,f.i)();return(0,a.jsxs)(a.Fragment,{children:[("desktop"===t||"ssr"===t)&&(0,a.jsx)(G,{...e}),"mobile"===t&&(0,a.jsx)(O,{...e})]})}let X="expandButton_TmdG",$="expandButtonIcon_i1dp";function ee(e){let{toggleSidebar:t}=e;return(0,a.jsx)("div",{className:X,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,a.jsx)(k,{className:$})})}let et={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function en(e){let{children:t}=e,n=(0,d.V)();return(0,a.jsx)(i.Fragment,{children:t},n?.name??"noSidebar")}function ea(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:r}=e,{pathname:s}=(0,x.TH)(),[d,c]=(0,i.useState)(!1),u=(0,i.useCallback)(()=>{d&&c(!1),!d&&(0,p.n)()&&c(!0),r(e=>!e)},[r,d]);return(0,a.jsx)("aside",{className:(0,o.Z)(l.k.docs.docSidebarContainer,et.docSidebarContainer,n&&et.docSidebarContainerHidden),onTransitionEnd:e=>{if(!!e.currentTarget.classList.contains(et.docSidebarContainer))n&&c(!0)},children:(0,a.jsx)(en,{children:(0,a.jsxs)("div",{className:(0,o.Z)(et.sidebarViewport,d&&et.sidebarViewportHidden),children:[(0,a.jsx)(Q,{sidebar:t,path:s,onCollapse:u,isHidden:d}),d&&(0,a.jsx)(ee,{toggleSidebar:u})]})})})}let ei={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function eo(e){let{hiddenSidebarContainer:t,children:n}=e,i=(0,d.V)();return(0,a.jsx)("main",{className:(0,o.Z)(ei.docMainContainer,(t||!i)&&ei.docMainContainerEnhanced),children:(0,a.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",ei.docItemWrapper,t&&ei.docItemWrapperEnhanced),children:n})})}let er="docRoot_UBD9",el="docsWrapper_hBAB";function es(e){let{children:t}=e,n=(0,d.V)(),[o,r]=(0,i.useState)(!1);return(0,a.jsxs)("div",{className:el,children:[(0,a.jsx)(h,{}),(0,a.jsxs)("div",{className:er,children:[n&&(0,a.jsx)(ea,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:r}),(0,a.jsx)(eo,{hiddenSidebarContainer:o,children:t})]})]})}var ed=n("4593");function ec(e){let t=(0,s.SN)(e);if(!t)return(0,a.jsx)(ed.Z,{});let{docElement:n,sidebarName:i,sidebarItems:c}=t;return(0,a.jsx)(r.FG,{className:(0,o.Z)(l.k.page.docsDocPage),children:(0,a.jsx)(d.b,{name:i,items:c,children:(0,a.jsx)(es,{children:n})})})}},4593:function(e,t,n){n.d(t,{Z:function(){return l}});var a=n(5893);n(7294);var i=n(7026),o=n(6025),r=n(4403);function l(e){let{className:t}=e;return(0,a.jsx)("main",{className:(0,i.Z)("container margin-vert--xl",t),children:(0,a.jsx)("div",{className:"row",children:(0,a.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,a.jsx)(r.Z,{as:"h1",className:"hero__title",children:(0,a.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/d24bf9b6.850dc440.js b/docs/assets/js/d24bf9b6.7cf9c38e.js similarity index 82% rename from docs/assets/js/d24bf9b6.850dc440.js rename to docs/assets/js/d24bf9b6.7cf9c38e.js index 539cab11dd..950f15c072 100644 --- a/docs/assets/js/d24bf9b6.850dc440.js +++ b/docs/assets/js/d24bf9b6.7cf9c38e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[1392],{2178:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"configuration/format","title":"File Format","description":"Structure of a COSMOS file, including using ERB","source":"@site/docs/configuration/format.md","sourceDirName":"configuration","slug":"/configuration/format","permalink":"/docs/configuration/format","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/format.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"File Format","description":"Structure of a COSMOS file, including using ERB"},"sidebar":"defaultSidebar","previous":{"title":"Configuration","permalink":"/docs/configuration"},"next":{"title":"Plugins","permalink":"/docs/configuration/plugins"}}');var s=i(4848),r=i(8453);const a={sidebar_position:1,title:"File Format",description:"Structure of a COSMOS file, including using ERB"},o=void 0,l={},d=[{value:"Keyword / Parameters",id:"keyword--parameters",level:2},{value:"ERB",id:"erb",level:2},{value:"render",id:"render",level:3},{value:"Line Continuation",id:"line-continuation",level:2},{value:"String Concatenation",id:"string-concatenation",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"COSMOS configuration files are just text files. They can (and should) be checked into your configuration management system and thus can be easily diffed throughout their history. They support ERB syntax, partials, and various line continuations which make them extremely flexible."}),"\n",(0,s.jsx)(n.h2,{id:"keyword--parameters",children:"Keyword / Parameters"}),"\n",(0,s.jsx)(n.p,{children:"Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND TARGET COLLECT BIG_ENDIAN "Collect command"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["The keyword is ",(0,s.jsx)(n.code,{children:"COMMAND"})," and the parameters are ",(0,s.jsx)(n.code,{children:"TARGET"}),", ",(0,s.jsx)(n.code,{children:"COLLECT"}),", ",(0,s.jsx)(n.code,{children:"BIG_ENDIAN"}),", and ",(0,s.jsx)(n.code,{children:'"Collect command"'}),". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the ",(0,s.jsx)(n.code,{children:"COMMAND"})," keyword above has the following documentation:"]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"PARAMETER"}),(0,s.jsx)(n.th,{children:"DESCRIPTION"}),(0,s.jsx)(n.th,{children:"REQUIRED"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target"}),(0,s.jsx)(n.td,{children:"Name of the target this command is associated with"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Command"}),(0,s.jsx)(n.td,{children:"Name of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)(n.code,{children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description of this command which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsxs)(n.p,{children:["The Target and Command parameters can be any string and are required. The Endianness parameter is required and must be ",(0,s.jsx)(n.code,{children:"BIG_ENDIAN"})," or ",(0,s.jsx)(n.code,{children:"LITTLE_ENDIAN"}),". Other values will cause an error when parsed. The Description parameter must be enclosed in quotes and is optional. All the COSMOS configuration files document their keyword and parameters in this fashion. In addition, Example Usage is provided similar to the example given above."]}),"\n",(0,s.jsx)(n.h2,{id:"erb",children:"ERB"}),"\n",(0,s.jsxs)(n.p,{children:["ERB stands for Embedded Ruby. ",(0,s.jsx)(n.a,{href:"https://github.com/ruby/erb",children:"ERB"})," is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-erb",children:"<% Ruby code -- no output %>\n<%= Ruby expression -- insert result %>\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In a COSMOS ",(0,s.jsx)(n.a,{href:"/docs/configuration/telemetry",children:"Telemetry"})," configuration file we could write the following:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-erb",children:'<% (1..5).each do |i| %>\n APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting"\n<% end %>\n'})}),"\n",(0,s.jsxs)(n.p,{children:["The first line is Ruby code which iterates from 1 up to and including 5 and places the value in the variable i. The code inside the block will be output to the file every time the iteration runs. The APPEND_ITEM line uses the value of i and directly outputs it to the file by using the ",(0,s.jsx)(n.code,{children:"<%="})," syntax. The result of the parsing will look like the following:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'APPEND_ITEM VALUE1 16 UINT "Value 1 setting"\nAPPEND_ITEM VALUE2 16 UINT "Value 2 setting"\nAPPEND_ITEM VALUE3 16 UINT "Value 3 setting"\nAPPEND_ITEM VALUE4 16 UINT "Value 4 setting"\nAPPEND_ITEM VALUE5 16 UINT "Value 5 setting"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS uses ERB syntax extensively in a Plugin's ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins#plugintxt-configuration-file",children:"plugin.txt"})," configuration file."]}),"\n",(0,s.jsx)(n.h3,{id:"render",children:"render"}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS provides a method used inside ERB called ",(0,s.jsx)(n.code,{children:"render"})," which renders a configuration file into another configuration file. For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"\n <%= render "_ccsds_apid.txt", locals: {apid: 1} %>\n APPEND_ITEM COLLECTS 16 UINT "Number of collects"\n ...\n'})}),"\n",(0,s.jsx)(n.p,{children:"The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:' APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id"\n'})}),"\n",(0,s.jsx)(n.p,{children:"This would result in output as follows:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"\n APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id"\n APPEND_ITEM COLLECTS 16 UINT "Number of collects"\n ...\n'})}),"\n",(0,s.jsxs)(n.p,{children:["Note the variable ",(0,s.jsx)(n.code,{children:"apid"})," was set to 1 using the ",(0,s.jsx)(n.code,{children:"locals:"})," syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/cmd_tlm",children:"Demo"})," for a more comprehensive example."]}),"\n",(0,s.jsx)(n.h2,{id:"line-continuation",children:"Line Continuation"}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: ",(0,s.jsx)(n.code,{children:"&"}),". For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN &\n "Health and status"\n'})}),"\n",(0,s.jsx)(n.p,{children:"This will strip the ampersand character and merge the two lines to result in:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Spaces around the second line are stripped so indentation does not matter."}),"\n",(0,s.jsx)(n.h2,{id:"string-concatenation",children:"String Concatenation"}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS supports two different string concatenation characters in configuration files. To concatenate strings with a newline use the plus character: ",(0,s.jsx)(n.code,{children:"+"}),". For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" +\n "Additional description"\n'})}),"\n",(0,s.jsx)(n.p,{children:"The strings will be merged with a newline to result in:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\\nAdditional description"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["To concatenate strings without a newline use the backslash character: ",(0,s.jsx)(n.code,{children:"\\"}),". For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \\\n 'Additional description'\n"})}),"\n",(0,s.jsx)(n.p,{children:"The strings will be merged without a newline to result in:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description'\n"})}),"\n",(0,s.jsx)(n.p,{children:"The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>o});var t=i(6540);const s={},r=t.createContext(s);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["2977"],{7891:function(e,n,i){i.r(n),i.d(n,{metadata:()=>t,contentTitle:()=>o,default:()=>h,assets:()=>l,toc:()=>d,frontMatter:()=>a});var t=JSON.parse('{"id":"configuration/format","title":"File Format","description":"Structure of a COSMOS file, including using ERB","source":"@site/docs/configuration/format.md","sourceDirName":"configuration","slug":"/configuration/format","permalink":"/docs/configuration/format","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/format.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"File Format","description":"Structure of a COSMOS file, including using ERB"},"sidebar":"defaultSidebar","previous":{"title":"Configuration","permalink":"/docs/configuration"},"next":{"title":"Plugins","permalink":"/docs/configuration/plugins"}}'),s=i("5893"),r=i("65");let a={sidebar_position:1,title:"File Format",description:"Structure of a COSMOS file, including using ERB"},o=void 0,l={},d=[{value:"Keyword / Parameters",id:"keyword--parameters",level:2},{value:"ERB",id:"erb",level:2},{value:"render",id:"render",level:3},{value:"Line Continuation",id:"line-continuation",level:2},{value:"String Concatenation",id:"string-concatenation",level:2}];function c(e){let n={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"COSMOS configuration files are just text files. They can (and should) be checked into your configuration management system and thus can be easily diffed throughout their history. They support ERB syntax, partials, and various line continuations which make them extremely flexible."}),"\n",(0,s.jsx)(n.h2,{id:"keyword--parameters",children:"Keyword / Parameters"}),"\n",(0,s.jsx)(n.p,{children:"Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'COMMAND TARGET COLLECT BIG_ENDIAN "Collect command"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["The keyword is ",(0,s.jsx)(n.code,{children:"COMMAND"})," and the parameters are ",(0,s.jsx)(n.code,{children:"TARGET"}),", ",(0,s.jsx)(n.code,{children:"COLLECT"}),", ",(0,s.jsx)(n.code,{children:"BIG_ENDIAN"}),", and ",(0,s.jsx)(n.code,{children:'"Collect command"'}),". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the ",(0,s.jsx)(n.code,{children:"COMMAND"})," keyword above has the following documentation:"]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"PARAMETER"}),(0,s.jsx)(n.th,{children:"DESCRIPTION"}),(0,s.jsx)(n.th,{children:"REQUIRED"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Target"}),(0,s.jsx)(n.td,{children:"Name of the target this command is associated with"}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Command"}),(0,s.jsx)(n.td,{children:"Name of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible."}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Endianness"}),(0,s.jsxs)(n.td,{children:["Indicates if the data in this command is to be sent in Big Endian or Little Endian format",(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"Valid Values: ",(0,s.jsx)(n.code,{children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,s.jsx)(n.td,{children:"True"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Description"}),(0,s.jsx)(n.td,{children:"Description of this command which must be enclosed with quotes"}),(0,s.jsx)(n.td,{children:"False"})]})]})]}),"\n",(0,s.jsxs)(n.p,{children:["The Target and Command parameters can be any string and are required. The Endianness parameter is required and must be ",(0,s.jsx)(n.code,{children:"BIG_ENDIAN"})," or ",(0,s.jsx)(n.code,{children:"LITTLE_ENDIAN"}),". Other values will cause an error when parsed. The Description parameter must be enclosed in quotes and is optional. All the COSMOS configuration files document their keyword and parameters in this fashion. In addition, Example Usage is provided similar to the example given above."]}),"\n",(0,s.jsx)(n.h2,{id:"erb",children:"ERB"}),"\n",(0,s.jsxs)(n.p,{children:["ERB stands for Embedded Ruby. ",(0,s.jsx)(n.a,{href:"https://github.com/ruby/erb",children:"ERB"})," is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-erb",children:"<% Ruby code -- no output %>\n<%= Ruby expression -- insert result %>\n"})}),"\n",(0,s.jsxs)(n.p,{children:["In a COSMOS ",(0,s.jsx)(n.a,{href:"/docs/configuration/telemetry",children:"Telemetry"})," configuration file we could write the following:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-erb",children:'<% (1..5).each do |i| %>\n APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting"\n<% end %>\n'})}),"\n",(0,s.jsxs)(n.p,{children:["The first line is Ruby code which iterates from 1 up to and including 5 and places the value in the variable i. The code inside the block will be output to the file every time the iteration runs. The APPEND_ITEM line uses the value of i and directly outputs it to the file by using the ",(0,s.jsx)(n.code,{children:"<%="})," syntax. The result of the parsing will look like the following:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'APPEND_ITEM VALUE1 16 UINT "Value 1 setting"\nAPPEND_ITEM VALUE2 16 UINT "Value 2 setting"\nAPPEND_ITEM VALUE3 16 UINT "Value 3 setting"\nAPPEND_ITEM VALUE4 16 UINT "Value 4 setting"\nAPPEND_ITEM VALUE5 16 UINT "Value 5 setting"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS uses ERB syntax extensively in a Plugin's ",(0,s.jsx)(n.a,{href:"/docs/configuration/plugins#plugintxt-configuration-file",children:"plugin.txt"})," configuration file."]}),"\n",(0,s.jsx)(n.h3,{id:"render",children:"render"}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS provides a method used inside ERB called ",(0,s.jsx)(n.code,{children:"render"})," which renders a configuration file into another configuration file. For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"\n <%= render "_ccsds_apid.txt", locals: {apid: 1} %>\n APPEND_ITEM COLLECTS 16 UINT "Number of collects"\n ...\n'})}),"\n",(0,s.jsx)(n.p,{children:"The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:' APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id"\n'})}),"\n",(0,s.jsx)(n.p,{children:"This would result in output as follows:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"\n APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id"\n APPEND_ITEM COLLECTS 16 UINT "Number of collects"\n ...\n'})}),"\n",(0,s.jsxs)(n.p,{children:["Note the variable ",(0,s.jsx)(n.code,{children:"apid"})," was set to 1 using the ",(0,s.jsx)(n.code,{children:"locals:"})," syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/tree/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/cmd_tlm",children:"Demo"})," for a more comprehensive example."]}),"\n",(0,s.jsx)(n.h2,{id:"line-continuation",children:"Line Continuation"}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: ",(0,s.jsx)(n.code,{children:"&"}),". For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN &\n "Health and status"\n'})}),"\n",(0,s.jsx)(n.p,{children:"This will strip the ampersand character and merge the two lines to result in:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"\n'})}),"\n",(0,s.jsx)(n.p,{children:"Spaces around the second line are stripped so indentation does not matter."}),"\n",(0,s.jsx)(n.h2,{id:"string-concatenation",children:"String Concatenation"}),"\n",(0,s.jsxs)(n.p,{children:["COSMOS supports two different string concatenation characters in configuration files. To concatenate strings with a newline use the plus character: ",(0,s.jsx)(n.code,{children:"+"}),". For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" +\n "Additional description"\n'})}),"\n",(0,s.jsx)(n.p,{children:"The strings will be merged with a newline to result in:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\\nAdditional description"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["To concatenate strings without a newline use the backslash character: ",(0,s.jsx)(n.code,{children:"\\"}),". For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \\\n 'Additional description'\n"})}),"\n",(0,s.jsx)(n.p,{children:"The strings will be merged without a newline to result in:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-ruby",children:"TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description'\n"})}),"\n",(0,s.jsx)(n.p,{children:"The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped."})]})}function h(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},65:function(e,n,i){i.d(n,{Z:function(){return o},a:function(){return a}});var t=i(7294);let s={},r=t.createContext(s);function a(e){let n=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d57a4b5d.d805a5b4.js b/docs/assets/js/d57a4b5d.d805a5b4.js new file mode 100644 index 0000000000..db7ed7754d --- /dev/null +++ b/docs/assets/js/d57a4b5d.d805a5b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["3054"],{9383:function(e,t,n){n.r(t),n.d(t,{metadata:()=>s,contentTitle:()=>o,default:()=>l,assets:()=>d,toc:()=>h,frontMatter:()=>a});var s=JSON.parse('{"id":"development/json-api","title":"JSON API","description":"Interfacing to the COSMOS APIs using JSON-RPC","source":"@site/docs/development/json-api.md","sourceDirName":"development","slug":"/development/json-api","permalink":"/docs/development/json-api","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/json-api.md","tags":[],"version":"current","frontMatter":{"title":"JSON API","description":"Interfacing to the COSMOS APIs using JSON-RPC","sidebar_custom_props":{"myEmoji":"\uD83D\uDDA5\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Developing COSMOS","permalink":"/docs/development/developing"},"next":{"title":"Log Structure","permalink":"/docs/development/log-structure"}}'),r=n("5893"),i=n("65");let a={title:"JSON API",description:"Interfacing to the COSMOS APIs using JSON-RPC",sidebar_custom_props:{myEmoji:"\uD83D\uDDA5\uFE0F"}},o=void 0,d={},h=[{value:"Authorization",id:"authorization",level:2},{value:"JSON-RPC 2.0",id:"json-rpc-20",level:2},{value:"Socket Connections",id:"socket-connections",level:2},{value:"Supported Methods",id:"supported-methods",level:2},{value:"Existing Implementations",id:"existing-implementations",level:2},{value:"Example Usage",id:"example-usage",level:2},{value:"Sending Commands",id:"sending-commands",level:3},{value:"Getting Telemetry",id:"getting-telemetry",level:3},{value:"Further Debugging",id:"further-debugging",level:2}];function c(e){let t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.admonition,{title:"This documentation is for COSMOS Developers",type:"note",children:(0,r.jsxs)(t.p,{children:["If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the ",(0,r.jsx)(t.a,{href:"/docs/guides/scripting-api",children:"Scripting API Guide"})," page. If you're trying to interface to COSMOS from an external application using any language then this is the right place."]})}),"\n",(0,r.jsx)(t.p,{children:"This document provides the information necessary for external applications to interact with COSMOS using the COSMOS API. External applications written in any language can send commands and retrieve individual telemetry points using this API. External applications also have the option of connecting to the COSMOS Command and Telemetry server to interact with raw tcp/ip streams of commands/telemetry. However, the COSMOS JSON API removes the requirement that external applications have knowledge of the binary formats of packets."}),"\n",(0,r.jsx)(t.h2,{id:"authorization",children:"Authorization"}),"\n",(0,r.jsx)(t.p,{children:"The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"Authorization: <token/password>\n"})}),"\n",(0,r.jsx)(t.h2,{id:"json-rpc-20",children:"JSON-RPC 2.0"}),"\n",(0,r.jsxs)(t.p,{children:["The COSMOS API implements a relaxed version of the ",(0,r.jsx)(t.a,{href:"http://www.jsonrpc.org/specification",children:"JSON-RPC 2.0 Specification"}),'. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal\'s such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a ',(0,r.jsx)(t.code,{children:'"keyword_params"'})," object."]}),"\n",(0,r.jsx)(t.h2,{id:"socket-connections",children:"Socket Connections"}),"\n",(0,r.jsx)(t.p,{children:"The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777)."}),"\n",(0,r.jsxs)(t.p,{children:["COSMOS listens for HTTP API requests at the default 2900 port at the ",(0,r.jsx)(t.code,{children:"/openc3-api/api"})," endpoint."]}),"\n",(0,r.jsx)(t.h2,{id:"supported-methods",children:"Supported Methods"}),"\n",(0,r.jsxs)(t.p,{children:["The list of methods supported by the COSMOS API may be found in the ",(0,r.jsx)(t.a,{href:"https://github.com/openc3/cosmos/tree/main/openc3/lib/openc3/api",children:"api"})," source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the ",(0,r.jsx)(t.a,{href:"/docs/guides/script-writing",children:"Scripting Writing Guide"}),". This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here."]}),"\n",(0,r.jsx)(t.h2,{id:"existing-implementations",children:"Existing Implementations"}),"\n",(0,r.jsx)(t.p,{children:"The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript."}),"\n",(0,r.jsx)(t.h2,{id:"example-usage",children:"Example Usage"}),"\n",(0,r.jsx)(t.h3,{id:"sending-commands",children:"Sending Commands"}),"\n",(0,r.jsx)(t.p,{children:"The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks"}),"\n",(0,r.jsx)(t.p,{children:"The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors."}),"\n",(0,r.jsx)(t.p,{children:"Two parameter syntaxes are supported."}),"\n",(0,r.jsx)(t.p,{children:'The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values.'}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"command_string"}),(0,r.jsx)(t.td,{children:"string"}),(0,r.jsx)(t.td,{children:"A single string containing all required information for the command"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"target_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the target to send the command to"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"command_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"The name of the command"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"command_params"}),(0,r.jsx)(t.td,{children:"Hash"}),(0,r.jsx)(t.td,{children:"Optional hash of command parameters"})]})]})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'--\x3e {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE \'NORMAL\'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}\n\n--\x3e {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}\n'})}),"\n",(0,r.jsx)(t.h3,{id:"getting-telemetry",children:"Getting Telemetry"}),"\n",(0,r.jsx)(t.p,{children:"The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units"}),"\n",(0,r.jsx)(t.p,{children:"The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end."}),"\n",(0,r.jsx)(t.p,{children:"Two parameter syntaxes are supported."}),"\n",(0,r.jsx)(t.p,{children:'The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME"'}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"tlm_string"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"A single string containing all required information for the telemetry item"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"target_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the target to get the telemetry value from"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"packet_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the packet to get the telemetry value from"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"item_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the telemetry item"})]})]})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'--\x3e {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}\n\n--\x3e {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}\n'})}),"\n",(0,r.jsx)(t.h2,{id:"further-debugging",children:"Further Debugging"}),"\n",(0,r.jsx)(t.p,{children:"If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation."}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Launch COSMOS"}),"\n",(0,r.jsx)(t.li,{children:"Open Command Sender"}),"\n",(0,r.jsx)(t.li,{children:"Open browser developer tools (right-click->Inspect in Chrome)"}),"\n",(0,r.jsxs)(t.li,{children:['Click "Network" tab (may need to add it with ',(0,r.jsx)(t.code,{children:"+"})," button)"]}),"\n",(0,r.jsx)(t.li,{children:"Send a command with the GUI"}),"\n",(0,r.jsx)(t.li,{children:'View the request in the developer tool. Click the "Payload" sub-tab to view the JSON'}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["You can also try sending these raw commands from the terminal with a program like ",(0,r.jsx)(t.code,{children:"curl"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'curl -d \'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}\' http://localhost:2900/openc3-api/api -H "Authorization: password"\n'})})]})}function l(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},65:function(e,t,n){n.d(t,{Z:function(){return o},a:function(){return a}});var s=n(7294);let r={},i=s.createContext(r);function a(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d57a4b5d.dab17205.js b/docs/assets/js/d57a4b5d.dab17205.js deleted file mode 100644 index d39f3c14a0..0000000000 --- a/docs/assets/js/d57a4b5d.dab17205.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8283],{5267:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"development/json-api","title":"JSON API","description":"Interfacing to the COSMOS APIs using JSON-RPC","source":"@site/docs/development/json-api.md","sourceDirName":"development","slug":"/development/json-api","permalink":"/docs/development/json-api","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/json-api.md","tags":[],"version":"current","frontMatter":{"title":"JSON API","description":"Interfacing to the COSMOS APIs using JSON-RPC","sidebar_custom_props":{"myEmoji":"\ud83d\udda5\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Host Install","permalink":"/docs/development/host-install"},"next":{"title":"Log Structure","permalink":"/docs/development/log-structure"}}');var r=n(4848),i=n(8453);const o={title:"JSON API",description:"Interfacing to the COSMOS APIs using JSON-RPC",sidebar_custom_props:{myEmoji:"\ud83d\udda5\ufe0f"}},a=void 0,d={},h=[{value:"Authorization",id:"authorization",level:2},{value:"JSON-RPC 2.0",id:"json-rpc-20",level:2},{value:"Socket Connections",id:"socket-connections",level:2},{value:"Supported Methods",id:"supported-methods",level:2},{value:"Existing Implementations",id:"existing-implementations",level:2},{value:"Example Usage",id:"example-usage",level:2},{value:"Sending Commands",id:"sending-commands",level:3},{value:"Getting Telemetry",id:"getting-telemetry",level:3},{value:"Further Debugging",id:"further-debugging",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.admonition,{title:"This documentation is for COSMOS Developers",type:"note",children:(0,r.jsxs)(t.p,{children:["If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the ",(0,r.jsx)(t.a,{href:"/docs/guides/scripting-api",children:"Scripting API Guide"})," page. If you're trying to interface to COSMOS from an external application using any language then this is the right place."]})}),"\n",(0,r.jsx)(t.p,{children:"This document provides the information necessary for external applications to interact with COSMOS using the COSMOS API. External applications written in any language can send commands and retrieve individual telemetry points using this API. External applications also have the option of connecting to the COSMOS Command and Telemetry server to interact with raw tcp/ip streams of commands/telemetry. However, the COSMOS JSON API removes the requirement that external applications have knowledge of the binary formats of packets."}),"\n",(0,r.jsx)(t.h2,{id:"authorization",children:"Authorization"}),"\n",(0,r.jsx)(t.p,{children:"The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{children:"Authorization: <token/password>\n"})}),"\n",(0,r.jsx)(t.h2,{id:"json-rpc-20",children:"JSON-RPC 2.0"}),"\n",(0,r.jsxs)(t.p,{children:["The COSMOS API implements a relaxed version of the ",(0,r.jsx)(t.a,{href:"http://www.jsonrpc.org/specification",children:"JSON-RPC 2.0 Specification"}),'. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal\'s such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a ',(0,r.jsx)(t.code,{children:'"keyword_params"'})," object."]}),"\n",(0,r.jsx)(t.h2,{id:"socket-connections",children:"Socket Connections"}),"\n",(0,r.jsx)(t.p,{children:"The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777)."}),"\n",(0,r.jsxs)(t.p,{children:["COSMOS listens for HTTP API requests at the default 2900 port at the ",(0,r.jsx)(t.code,{children:"/openc3-api/api"})," endpoint."]}),"\n",(0,r.jsx)(t.h2,{id:"supported-methods",children:"Supported Methods"}),"\n",(0,r.jsxs)(t.p,{children:["The list of methods supported by the COSMOS API may be found in the ",(0,r.jsx)(t.a,{href:"https://github.com/openc3/cosmos/tree/main/openc3/lib/openc3/api",children:"api"})," source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the ",(0,r.jsx)(t.a,{href:"/docs/guides/script-writing",children:"Scripting Writing Guide"}),". This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here."]}),"\n",(0,r.jsx)(t.h2,{id:"existing-implementations",children:"Existing Implementations"}),"\n",(0,r.jsx)(t.p,{children:"The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript."}),"\n",(0,r.jsx)(t.h2,{id:"example-usage",children:"Example Usage"}),"\n",(0,r.jsx)(t.h3,{id:"sending-commands",children:"Sending Commands"}),"\n",(0,r.jsx)(t.p,{children:"The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks"}),"\n",(0,r.jsx)(t.p,{children:"The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors."}),"\n",(0,r.jsx)(t.p,{children:"Two parameter syntaxes are supported."}),"\n",(0,r.jsx)(t.p,{children:'The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values.'}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"command_string"}),(0,r.jsx)(t.td,{children:"string"}),(0,r.jsx)(t.td,{children:"A single string containing all required information for the command"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"target_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the target to send the command to"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"command_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"The name of the command"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"command_params"}),(0,r.jsx)(t.td,{children:"Hash"}),(0,r.jsx)(t.td,{children:"Optional hash of command parameters"})]})]})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'--\x3e {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE \'NORMAL\'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}\n\n--\x3e {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}\n'})}),"\n",(0,r.jsx)(t.h3,{id:"getting-telemetry",children:"Getting Telemetry"}),"\n",(0,r.jsx)(t.p,{children:"The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units"}),"\n",(0,r.jsx)(t.p,{children:"The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end."}),"\n",(0,r.jsx)(t.p,{children:"Two parameter syntaxes are supported."}),"\n",(0,r.jsx)(t.p,{children:'The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME"'}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"tlm_string"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"A single string containing all required information for the telemetry item"})]})})]}),"\n",(0,r.jsx)(t.p,{children:"The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name."}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Parameter"}),(0,r.jsx)(t.th,{children:"Data Type"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"target_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the target to get the telemetry value from"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"packet_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the packet to get the telemetry value from"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"item_name"}),(0,r.jsx)(t.td,{children:"String"}),(0,r.jsx)(t.td,{children:"Name of the telemetry item"})]})]})]}),"\n",(0,r.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'--\x3e {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}\n\n--\x3e {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}\n<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}\n'})}),"\n",(0,r.jsx)(t.h2,{id:"further-debugging",children:"Further Debugging"}),"\n",(0,r.jsx)(t.p,{children:"If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation."}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Launch COSMOS"}),"\n",(0,r.jsx)(t.li,{children:"Open Command Sender"}),"\n",(0,r.jsx)(t.li,{children:"Open browser developer tools (right-click->Inspect in Chrome)"}),"\n",(0,r.jsxs)(t.li,{children:['Click "Network" tab (may need to add it with ',(0,r.jsx)(t.code,{children:"+"})," button)"]}),"\n",(0,r.jsx)(t.li,{children:"Send a command with the GUI"}),"\n",(0,r.jsx)(t.li,{children:'View the request in the developer tool. Click the "Payload" sub-tab to view the JSON'}),"\n"]}),"\n",(0,r.jsxs)(t.p,{children:["You can also try sending these raw commands from the terminal with a program like ",(0,r.jsx)(t.code,{children:"curl"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:'curl -d \'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}\' http://localhost:2900/openc3-api/api -H "Authorization: password"\n'})})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var s=n(6540);const r={},i=s.createContext(r);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d5d77c37.74690123.js b/docs/assets/js/d5d77c37.74690123.js new file mode 100644 index 0000000000..c68748d454 --- /dev/null +++ b/docs/assets/js/d5d77c37.74690123.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["5360"],{3611:function(e,t,n){n.r(t),n.d(t,{metadata:()=>a,contentTitle:()=>d,default:()=>A,assets:()=>l,toc:()=>o,frontMatter:()=>r});var a=JSON.parse('{"id":"tools/cmd-tlm-server","title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","source":"@site/docs/tools/cmd-tlm-server.md","sourceDirName":"tools","slug":"/tools/cmd-tlm-server","permalink":"/docs/tools/cmd-tlm-server","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/cmd-tlm-server.md","tags":[],"version":"current","frontMatter":{"title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Command Sender","permalink":"/docs/tools/cmd-sender"},"next":{"title":"Command History (Enterprise)","permalink":"/docs/tools/command_history"}}'),s=n("5893"),i=n("65");let r={title:"Command and Telemetry Server",description:"Status about interfaces, targets and log messages",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},d=void 0,l={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Command and Telemetry Server Menus",id:"command-and-telemetry-server-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Interfaces Tab",id:"interfaces-tab",level:2},{value:"Targets Tab",id:"targets-tab",level:2},{value:"Command Packets Tab",id:"command-packets-tab",level:2},{value:"Telemetry Packets Tab",id:"telemetry-packets-tab",level:2},{value:"Status Tab",id:"status-tab",level:2},{value:"Log Messages",id:"log-messages",level:2}];function c(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsxs)(t.p,{children:["The Command and Telemetry Server application provides status about the ",(0,s.jsx)(t.a,{href:"/docs/configuration/interfaces",children:"interfaces"})," and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view\nboth raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Cmd Tlm Server",src:n(3437).Z+"",width:"2788",height:"2052"})}),"\n",(0,s.jsx)(t.h2,{id:"command-and-telemetry-server-menus",children:"Command and Telemetry Server Menus"}),"\n",(0,s.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)(t.p,{children:"The Command and Telemetry Server has one menu under File -> Options:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"File Menu",src:n(2414).Z+"",width:"302",height:"114"})}),"\n",(0,s.jsx)(t.p,{children:"This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated."}),"\n",(0,s.jsx)(t.h2,{id:"interfaces-tab",children:"Interfaces Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Interfaces",src:n(9559).Z+"",width:"1259",height:"431"})}),"\n",(0,s.jsx)(t.h2,{id:"targets-tab",children:"Targets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only)."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Targets",src:n(3786).Z+"",width:"2212",height:"1058"})}),"\n",(0,s.jsx)(t.p,{children:"Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Command Authority",src:n(8180).Z+"",width:"2788",height:"1282"})}),"\n",(0,s.jsx)(t.p,{children:"The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding."}),"\n",(0,s.jsx)(t.p,{children:"Here is an example of sending a HAZARDOUS command in Command Sender when Critical Command Mode is set to NORMAL."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Critical Command",src:n(4153).Z+"",width:"2288",height:"758"})}),"\n",(0,s.jsx)(t.h2,{id:"command-packets-tab",children:"Command Packets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Commands",src:n(8751).Z+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.p,{children:"Clicking on View Raw opens a dialog displaying the raw bytes for that command."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Raw Command",src:n(5722).Z+"",width:"782",height:"301"})}),"\n",(0,s.jsxs)(t.p,{children:["Clicking View in Command Sender opens up a new ",(0,s.jsx)(t.a,{href:"/docs/tools/cmd-sender",children:"Command Sender"})," window with the specified command."]}),"\n",(0,s.jsx)(t.h2,{id:"telemetry-packets-tab",children:"Telemetry Packets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Telemetry",src:n(162).Z+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.p,{children:"Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Raw Telemetry",src:n(614).Z+"",width:"782",height:"406"})}),"\n",(0,s.jsxs)(t.p,{children:["Clicking View in Packet Viewer opens up a new ",(0,s.jsx)(t.a,{href:"/docs/tools/packet-viewer",children:"Packet Viewer"})," window with the specified telemetry packet."]}),"\n",(0,s.jsx)(t.h2,{id:"status-tab",children:"Status Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Status tab displays COSMOS system metrics."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Status",src:n(9770).Z+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.h2,{id:"log-messages",children:"Log Messages"}),"\n",(0,s.jsx)(t.p,{children:"The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Log Messages",src:n(9962).Z+"",width:"2788",height:"1172"})})]})}function A(e={}){let{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8180:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/cmd_authority-34cde391ad5109ad53bca40b55cb74d59e8cd1d0e70eedb3e5bf4d258c324787.png"},8751:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/cmd_packets-160c7b28230a14f05433d063cdccc63958bb5d90f4e6b80492cd9568b0761a75.png"},5722:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/cmd_raw-28307ac400b66050ada7ecc8b7701deffe8fb7f01129b63ec35a54857cb886b7.png"},3437:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/cmd_tlm_server-dbc02e99c1c837efabeba52831d1d2a3445904fb06b758aaa747496725423fe5.png"},4153:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/critical_cmd_sender-dd81e845489cf1efd3e08cec87da2262eb9f22dbeb3d89359edf0c58146524a1.png"},2414:function(e,t,n){n.d(t,{Z:function(){return a}});let a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAS4AAAByCAYAAADtezx7AAAKqWlDQ1BJQ0MgUHJvZmlsZQAASImVlwdQU+kWgP9700MCgQQEpIQaivQWQErooUY6iEpIAoQSQiCo2JXFFVxRRERAEXRVRMFVKWJHFNuioALWBVlElHWxYMPyLjCE3X3z3pt3Zs6cb849//nP/889d84FgEzhisVpMAWAdFG2JNTXgx4dE0vHDQMSUAAUYAjUuLwsMYvDCQSIzNi/y/seAE3aO2aTuf79+X8VRb4giwcAxEE4gZ/FS0f4JKIveGJJNgCovYhfb2m2eJLbEaZJkAIR7pvkpGkeneSEKUaDqZjwUE+EaQDgSVyuJAkAEh3x03N4SUgekjvCliK+UISwGGHX9PQMPsLHEDZCYhAfaTI/M+EveZL+ljNBlpPLTZLx9FmmBO8lzBKncZf/n9fxvyU9TTqzhyGipGSJXyhilZA760vNCJCxKCE4ZIaF/Kn4KU6W+kXMMC/LM3aG+VyvANnatODAGU4U+rBlebLZ4TMsyPIOm2FJRqhsr0SJJ2uGuZLZfaWpETJ/soAty5+bHB41wznCyOAZzkoNC5iN8ZT5JdJQWf0Cka/H7L4+srOnZ/3lvEK2bG12crif7Ozc2foFItZszqxoWW18gZf3bEyELF6c7SHbS5zGkcUL0nxl/qycMNnabOSFnF3Lkd1hCtefM8PAD3AAHUQi1hrYAkvABSBbsCx78iCeGeLlEmFScjadhXSYgM4W8czn0a0trW0AmOzX6dfhbd9UH0Iq+FkffwgAm8meMpr1pSDdfvo90nqNsz7GAACU3QBc4PCkkpxp31QvYQAR+RLQgBrQAnrACJgh1dkDZ+AOvIE/CAHhIAYsBjyQDNKBBCwFK8E6kA8KwVawA5SDKrAPHAJHwXHQDM6Ai+AKuAFug3vgIegHQ+AlGAPvwQQEQTiIDFEhNUgbMoBMIWuICblC3lAgFArFQPFQEiSCpNBKaANUCBVD5VA1VAv9Ap2CLkLXoC7oPjQAjUBvoM8wCibBNFgTNoQtYCbMggPgcHgRnARnwrlwHrwFLoNr4CNwE3wRvgHfg/vhl/A4CqDkUCooHZQZionyRIWgYlGJKAlqNaoAVYqqQdWjWlEdqDuoftQo6hMai6ai6WgztDPaDx2B5qEz0avRm9Hl6EPoJnQ7+g56AD2G/oYhYzQwphgnDBsTjUnCLMXkY0oxBzCNmMuYe5ghzHssFquCZWAdsH7YGGwKdgV2M3Y3tgF7AduFHcSO43A4NZwpzgUXguPisnH5uF24I7jzuG7cEO4jXg6vjbfG++Bj8SL8enwp/jD+HL4bP4yfIFAIBgQnQgiBT1hOKCLsJ7QSbhGGCBNERSKD6EIMJ6YQ1xHLiPXEy8RHxLdycnK6co5yC+SEcmvlyuSOyV2VG5D7RFIimZA8SXEkKWkL6SDpAuk+6S2ZTDYku5NjydnkLeRa8iXyE/JHeaq8uTxbni+/Rr5Cvkm+W/6VAkHBQIGlsFghV6FU4YTCLYVRCoFiSPGkcCmrKRWUU5ReyrgiVdFKMUQxXXGz4mHFa4rPlXBKhkreSnylPKV9SpeUBqkoqh7Vk8qjbqDup16mDtGwNAaNTUuhFdKO0jppY8pKyrbKkcrLlCuUzyr3q6BUDFXYKmkqRSrHVXpUPs/RnMOaI5izaU79nO45H1TnqrqrClQLVBtU76l+VqOreaulqm1Ta1Z7rI5WN1FfoL5UfY/6ZfXRubS5znN5cwvmHp/7QAPWMNEI1VihsU/jpsa4ppamr6ZYc5fmJc1RLRUtd60UrRKtc1oj2lRtV22hdon2ee0XdGU6i55GL6O308d0NHT8dKQ61TqdOhO6DN0I3fW6DbqP9Yh6TL1EvRK9Nr0xfW39IP2V+nX6DwwIBkyDZIOdBh0GHwwZhlGGGw2bDZ8zVBlsRi6jjvHIiGzkZpRpVGN01xhrzDRONd5tfNsENrEzSTapMLllCpvamwpNd5t2zcPMc5wnmlczr9eMZMYyyzGrMxswVzEPNF9v3mz+ykLfItZim0WHxTdLO8s0y/2WD62UrPyt1lu1Wr2xNrHmWVdY37Uh2/jYrLFpsXlta2orsN1j22dHtQuy22jXZvfV3sFeYl9vP+Kg7xDvUOnQy6QxOczNzKuOGEcPxzWOZxw/Odk7ZTsdd/rT2cw51fmw8/P5jPmC+fvnD7rounBdql36Xemu8a57XfvddNy4bjVuT9313PnuB9yHWcasFNYR1isPSw+JR6PHB08nz1WeF7xQXr5eBV6d3kreEd7l3k98dH2SfOp8xnztfFf4XvDD+AX4bfPrZWuyeexa9pi/g/8q//YAUkBYQHnA00CTQElgaxAc5B+0PehRsEGwKLg5BISwQ7aHPOYwOJmc0wuwCzgLKhY8C7UKXRnaEUYNWxJ2OOx9uEd4UfjDCKMIaURbpEJkXGRt5Icor6jiqP5oi+hV0Tdi1GOEMS2xuNjI2AOx4wu9F+5YOBRnF5cf17OIsWjZomuL1RenLT67RGEJd8mJeEx8VPzh+C/cEG4NdzyBnVCZMMbz5O3kveS780v4IwIXQbFgONElsTjxeZJL0vakkWS35NLkUaGnsFz4OsUvpSrlQ2pI6sHU72lRaQ3p+PT49FMiJVGqqD1DK2NZRpfYVJwv7s90ytyROSYJkBzIgrIWZbVk05DB6KbUSPqDdCDHNaci5+PSyKUnlikuEy27udxk+ablw7k+uT+vQK/grWhbqbNy3cqBVaxV1auh1Qmr29borclbM7TWd+2hdcR1qet+XW+5vnj9uw1RG1rzNPPW5g3+4PtDXb58viS/d6Pzxqof0T8Kf+zcZLNp16ZvBfyC64WWhaWFXzbzNl//yeqnsp++b0nc0llkX7RnK3araGvPNrdth4oVi3OLB7cHbW8qoZcUlLzbsWTHtVLb0qqdxJ3Snf1lgWUtu/R3bd31pTy5/F6FR0VDpUblpsoPu/m7u/e476mv0qwqrPq8V7i3r9q3uqnGsKZ0H3Zfzr5n+yP3d/zM/Ln2gPqBwgNfD4oO9h8KPdRe61Bbe1jjcFEdXCetGzkSd+T2Ua+jLfVm9dUNKg2Fx8Ax6bEXv8T/0nM84HjbCeaJ+pMGJysbqY0FTVDT8qax5uTm/paYlq5T/qfaWp1bG0+bnz54RudMxVnls0XniOfyzn0/n3t+/IL4wujFpIuDbUvaHl6KvnS3fUF75+WAy1ev+Fy51MHqOH/V5eqZa07XTl1nXm++YX+j6abdzcZf7X5t7LTvbLrlcKvltuPt1q75Xee63bov3vG6c+Uu++6Ne8H3unoievp643r7+/h9z++n3X/9IOfBxMO1jzCPCh5THpc+0XhS85vxbw399v1nB7wGbj4Ne/pwkDf48ves378M5T0jPysd1h6ufW79/MyIz8jtFwtfDL0Uv5wYzf9D8Y/KV0avTv7p/ufNseixodeS19/fbH6r9vbgO9t3beOc8Sfv099PfCj4qPbx0Cfmp47PUZ+HJ5Z+wX0p+2r8tfVbwLdH39O/fxdzJdypUQCFKJyYCMCbgwCQYwCg3gaAuHB6np4SaPofYIrAf+LpmXtK7AFAUiHjDgCh7gBUIspAVGEtABzEhrsD2MZGpjOz79ScPim68gDYViCTA9Tn3Q3+KdMz/F/q/qcFsqx/s/8ChOcBmClFzDgAAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAS6gAwAEAAAAAQAAAHIAAAAAQVNDSUkAAABTY3JlZW5zaG90nlxVngAAAdZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTE0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjMwMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpFlOPSAAAUBklEQVR4Ae2dCXgUVbbHT5LubJCQPYQAYd+DCCg4goBBWQZZlNVRQT6UeejAMONTYHw+3iDz6TeO6DwHGVcUfCLogOgIOgRl32STHQIhkBCyAIEEErK+cy5W0/R0Jd1JJVSn/5eP1Hbq1rm/Sv9z7rnVt3zi23WtKPHxp/IKQgEBEAABUxPw9SGyVhSTr+hVOfEWCgiAAAiYnICmVb5ELF0VCLdMfr/gHgiAgBBgrZJ/LFwoIHCDgNViMQyFn5+fYXWhIhBwJGDcb6pjzdj2CAIWix9NePgh6t61M0VGhFPKqTT614bNtG3XXpf9Dw4OooiwMEo/l6nOaR7fhObNmUkzX5xPFy/luVwPDEHAVQJ+IZGxc8sI+uUqsPpm99Tj46lNqxb0zkfL6Iuvv6Wi4mKaNP4ROn0mg7Jycl1qbo87EmnG0xPp6+/WK/uCa9fo+MlUOpN+zqXzYQQC7hDwqygjv5AIFi4fCJc74OqLbcd2renxsSPptbfepVNpZ6no+nVKO5vBaYQKGj18MK1N3qia2rNbotrXumUC3dPjTgoJaUiZWdnqWGLH9hytdaIWzePpSn4B5RdcJR8e62nLYpieeZ7Ky8uVXQOOyiSq63FHF/L19aXcC5dsGKV+H/4XFxtD99zVXZ1zMe+y7bishIWG0L29elJsVCTlXrxEpWVltxzHhvcQ8COEWt5zt520tFVCc7rCQnOaxcq+7Ni9n8aPGkYhDRsoIRoxZCCFslidz86hktIyGjNiCHcnt9DiT7+g6KgIiooMV2KU0DSeUlLTqEFQEE15bCz9uO8AlZSUUmR4GM19YQYVF5dQWnoGnz+Uvlu/iZasWKUuK/VLfu06H5cob+TQB+jb7zfRii+/UccTO7Wn6U9NpF17f6KwRqE0ddIEen7uq5Rz4aK921j3IgIItbzoZjs2NaFZPB05nqKiKftjF/Nu5KWaN21Ch46eUIdk+c7Hy9R67553KmFa8tlKWr9pG10rLKKWzZvR4mVfqOOS47IvTz0xjrue6bRg0YcqmpJobO7z02n77n104tRpZZqde0Edl2hv0IC+lNTvXptw/fKBAfTDlu30yeerle2kCY9Q184dKHnjVvvLYN1rCKhRRTwK4TX326Ghftxlky6aY6n4+WlkX5+bg84SbWllz/6DZOEISXJjVRXpFrZr3VJFX1q3UcQqh7uKnTu0tZ0ukZqIlhSJAOMbx5A2Mnny9BnVTRw+OIlio6NUpAfRsqHzyhVEXF552280WrptQwb255yUj0005EgEd+2kyHFnpbikhLuQBdSExeVYyilnJrZ9DRsEU4C/P2VkZtn2yUoOR1hyrLIiuTIp0mWUiK13z27cjXxQ+bXwg6VcB7qKNwh538+bf1K9r+1e3+KTqWcolPNY0iW0L93v6EySHJdku7MSHRnBjz80osPHUpwdvmWf1CFJfxkI0IrVaqG2rVvwQEDVo44SFUqO69CxE/S/735M055/SXU3x474pVYdll5IAMLlhTdda/Jhzm/t2LOfJj86huLjYsnfaiUZ4Xt42CD6mPNX9qVX927UiEf2JEkvx89n59oel7jEIhcYGMARVAP7U2zr6zZspQF9elOn9m1UlCWJ/6vXCunA4aM2G72VMh6VlMczfvXIcAoMCFBm0pU9n3Wz66p3LvbXTwKSUbCovMK/pznqZ4vRqlsIyL1/+8NPaCILw5yZ05QwneVnr5b942s1gmdvfDk/n+b/4fdKnAqLimjh+0tthyVnlZqWTm+/9kf623tL6Nz5G49KaAaff7WGgljYXpg+lbukRGczztGf+RGMvCv5mkmlywWLPqBpkx+jRX+Zp0YmJdJbs35DpefgYH0mUEE+cW06V5T4BtXnVqJtLhCQPFdQUCBd40jIscybPVMJ2eq1ySrikme1tES6va08PlFw9ZrTY2InyfYAf6sahbQ/z9X1oMBAkvxaGZ7hchVZvbSzlhfikfl6eWer0SgRImei5ViVXt5L7ETQKisiONcKq//gqER6KCAgBJDjwu9BlQTkKfeqRKnKSmAAAgYSQFfRQJioCgRAoPYJSFfRV6bjQgEBEAABjyHAmoWuosfcLTgKAiBwgwC+8oPfBBAAAQ8koOac90C/4TIIgICXEpDslvquoiUAz3F56e8Amg0CnkeAJ6pEjsvzbhs8BgGvJwDh8vpfAQAAAc8jAOHyvHsGj0HAywnIqKJ86xUFBEAABDyFAJ7j8pQ7BT9BAATsCaCraE8D6yAAAh5BAMLlEbcJToIACNgTgHDZ08A6CICARxCAcHnEbYKTIAAC9gQgXPY0sA4CIOARBCBcHnGb4CQIgIA9AQiXPQ2sgwAIeAABTGvjATcJLoIACDgSQMTlSATbIAACpicA4TL9LYKDIAACjgQgXI5EsA0CIGB6ArdFuOTlow2Cg00P53Y6GBkeRo2jo2rsQquEZhTML3pFAYH6QkDmhaiWcInwjB0xRP0f89BguqtbFwrkV6y7UhI7tKU/v/Qc/fbpJ1wxr9Jm+pTHaECfXlXajRySROGNQqu0qyuDiWNH0qghA51eLioinJ6b9iSVlZc7Pe7OTnkJ68ypkyBe7kCDrekJVFu4hg3sR1f5des5Fy5SYsd2tOB/ZlGzJo2rbPDg+/vSym/W0fw3FlVpa6TBoP59qFFoSKVV+lut9Dq3Q5a3s4wdMZjWrN+k2NbUj7T0c7T34GES7iggUF8IVEu4tMZv272Pfti6kz749B9qeX+f3tohatggmO7p2Y3uujORLH5+an/3xE7UqkUzCuPIp3l8nIoCunXpSPFxsXTv3d2VjcVioa6d2lPfXj0oNKShrT5ZEWHsw/udRU4Sycn1Avz9bznH2UaPrp1VV7VX965KdH19fXk7iO5mX6MiwpTP4r8UPX+kjujICOr/i7tVm1o2b2q7VERYI+rcvo3a9uO2Sxv7cPtCGjaw2eitxEZHUpsWCbRx24/KpF2rFuxTON2Z2JH63XMXhYeFkr+/lXre0ZmEp8ZWjKUdndq1Vv4HBtzksGn7brr/3l5kv0/v+tgPAp5AwCL9RR8DPC0vr1BiJVXFREXSrN9Mof2HjlFsTCT1692TXnv7Q4rhD6Uff7jkAy8f4gq++LOTH6Xz2bl06FgK7bRaaNazT9Hl/Hy6VlhEjwx7kGbNf52Kiq7TaF5v36YVHT+ZqtYXf7aK9h08ojyX6O/g0RQKDg6kcdyFnfnSK6puvWZN+dVoyszKoZTTadS2ZYISlU9X/pMax9zIKcXx8shxK1kr8UfquJJfQKlnMyj/6lXl0+z5C9QlH+j3C7U8fPwkzZn+NOVdyVdtHD9qKL361vt0NiNTzzXq1rkDnck4Zzs+JKkvNWXBlrYK11FDByrfz7H/4uewB/rTH19fqOz/MGMqZXMEfJVfJjBp3EgSf8TH/IKrJPbCb/+ho7a6sQICnkrAIgJSUE3v7+6WyB+SQpIEsEQECxd/qmoax12d9Zt30Nf/+oEkH/aXuS8ooVrL3Z+h3GVZv3k7fzgzVQRVznmcP735dyVUA++7h4quX6e/vrdU1fPrieOpS/u29OP+gyrSWvTRZ3Q05RR3fY6oKERze/POPar7KdvS1WvRLJ5Sz6Rrh50uV3y1lo6cOKXqmT97Br2zZDmt/u57Gj7ofrUsLi6hyvyRShcvX8UCd1K18fHRwykuNlqJiuT83uQ2BAUG0uaduzka3aWEtKKinPpz1LTk89VOfZKdMZyQTz2Tccvx75nlN8kb1XXefHkO/XT4mOpKSjT49isvkUR4FosfJTRrwsL4HhWXlNCptHT+AxGuhEsqu3Apj2L4DwYKCHg6AdEsi/w19mlYvRG+uNgYJTTdu3aiFavXcjR0WjFp3aI5RUdFqC6f7AgIsFIX7spt+3GfOm7/43pxsRIt2SfnSdQzhyMHKdItKubjIlySF3tm8gQ6cSqNduz5Sf1XRvxDIhqt5F2+orqSqdoOnaV2jtiLwEj3yzEZXpk/Uq2cK0Uix6279nJXsyvtOXCYfS6xRVWZWbn0xJgR1LxpHIWFhlJKapo6R+9HBLfZUXQl+pQi17nIApTJEaqU0tJSKuDoSrrUksvawgL+2n//J/twRPlz8vRZZSc/LjOjiPBGtm2sgICnEhDNstTE+S+/TeYP0mX1IR2adB9t4Q+vfLik27hu4zY6euKmfBRwd6qqUsHRl3T5/rlug81UhE3Khm271AezCw8EDH9wALVtlUBLP//KZlcbK5X543g9EY1nnnyU/Px8FQc5Lo8h/Mek8bTg7x8pYXmQu5ASnVZWLl8poJCf82uV2TkeE+4fLltJy4PXcv6rC4v8o8xnNe3ad1CZimhJFIYCAvWBQI2S8xoAESzux1Df3j3UrgNHjqvE8RXOVWXnXqD2rVuoxLFmr7c8cOQEJ8vbUmlZqTpPEuVhPBIoAvC3V/5Ldesk17Nx+y6KjjC+21NWVs7XLuMkdsDP7XDujzP/M85nU2l5mUrWa5GldB1FUNIzs1jQ/EhEV5aVlewLFzjSdD8ykpHdP83+LV2/XqxEXrrB8iyYVprGNVZMtW0sQcCTCdQo4tIaLh/O5dxVnDx+FG3fvZ/X19DUx8fRgnmzqYAfmTjBXUjtw6yd42wpo5TSpXr1xd+rSE7OfeuDT1RXcvmXa+nF3/1aJZqL+MP5ESfnjS7yzJN0+V6eNYP++u4S0vNH77pbd+7lXF8nuph3WZlIV00GHd6YN0vlvnIv5lFTHkGtrBziiFNye+6Ww3ydY8z5DWaez9ykSykjvlJELCUPJt1sFBCoDwR8Ylt2qPBpGF0rbZFHE0QMJIpxp8jIo5VzTjKa6FjkQVdn+x3tarItEV4hX1sEWUpl/rhyHRmdLCkpdcVU2Tw3bTKtWrOO82FnXD5HMxRf/ThRL3k2rQzhARGJvpZ+Ubtda+16WIJAbRKoKMip3pPzrjol+Sl3RUvqliS5njjp7XfVJ1fsJBmuiVZV/rhSnzuiJfV9tuobklHK6nxVR9jZi1aTxjF0H49kfsUjvCggUF8I1GrEVV8g3Y52JDRtoi4ro4U1KfJgruTftO5rTerCuSBgBgIScUG4zHAn4AMIgIDLBGq9q+iyJzAEARAAATcIGPI4hBvXgykIgAAI1JgAhKvGCFEBCIBAXRMw5DmuunYa1wMBEDAXgU7R1Z8K6nDOzUd3XG0VIi5XScEOBEDANAQgXKa5FXAEBEDAVQKGdBXlqewObVvyl6D5O4sOJZSnoJAJBhN4qpk0nrsqmae0kW932xejbOzrxDoIgED9JVDt57isPBdUEs+fJRP3JfXtTd9v2UETfzP7FlLy1PaKdxeo2UYPHj2hprmRL16PnjKTJ9bLUbZG2dxyYWyAAAjUKYHKclzJycmUlJSk64+7Oa4aPcf15vw5tJBnbJB559PPZTl1SqZ5kfnb+z88kR575nnqP+oJ/hpLEE17coLN3igbW4VYAQEQMA0BES0p2tIox6qd45IZQxP7j6Bn57xMWTm5/N2+f3dJphVeuSbZNuGefO3ky7Xr1SyomrVRNlp9WIIACJiDgKNYOW7XxMtqC9e+g0fVtM16F5eXOMjUwY7ftTt7LpPnoY9S83MZZaPnA/aDAAjcHgJ6IqW3310vDUnOO7uoTLss881LV9K+5BdcU2+mkemGrTz9ihE22hTK9tfBOgiAwO0jUFlOywivqh1xVXVxeVWWlAr+Z1+0bdY026yo2j7NTtt21UY7D0sQAAHvIFBrEZe8aUaKvInGvshEd1KKim7MJS/rRtlIXSggAAL1n8CtqmJgey/lXVHzn8uUwfZFnvmSKZkLi4rUf5kjvaY29vVjHQRAoP4TqLWuoqA7fuo0yTsG7Yu8f1H2a8UoG60+LEEABOo/gVoVLnmhxWCe73zMQ4NVVCVvph40oM8trxUzyqb+3yq0EAQ8h4CMHur9N6IVtdZVFOf+j19rL6+Pf+XF36n502Uu97fe/4SW8ZzqWjHKRqsPSxAAgdtPQEYVnT36YNRoY7W/8uMOGhlhjImKVO/1K+eXOTgrRtk4qxv7QAAEapeA3ld+7MVLT7Tq9Cs/7mAQsZLvJuqJltRllI07fsEWBECgdgloYqUtjbparea4jHIS9YAACHguAaNFS0hAuDz39wGeg4DXEoBwee2tR8NBwHMJ1OqooudigecgAALuEHA3we5O3c5sEXE5o4J9IAACpiYA4TL17YFzIAACzghAuJxRwT4QAAFTE4Bwmfr2wDkQAAFnBCBczqhgHwiAgKkJVGtUMfOnjaZuFJwDARDwHAJxXe9z29lqCVd1LuS2ZzgBBEAABHQIoKuoAwa7QQAEzEsAwmXeewPPQAAEdAhAuHTAYDcIgIB5CUC4zHtv4BkIgIAOAQiXDhjsBgEQMC8BCJd57w08AwEQ0CEA4dIBg90gAALmJQDhMu+9gWcgAAI6BCBcOmCwGwRAwLwEIFzmvTfwDARAQIcAhEsHDHaDAAiYlwCEy7z3Bp6BAAjoEIBw6YDBbhAAAfMSgHCZ997AMxAAAR0CEC4dMNgNAiBgXgIQLvPeG3gGAiCgQwDCpQMGu0EABMxLAMJl3nsDz0AABHQIQLh0wGA3CICAeQn4Fl7KNq938AwEQAAEHAgUXsoiX19Ltd6X4VAVNkEABECgbgj4WqwsXD4QrrrBjauAAAgYQUA0y9fHz8eIulAHCIAACNQJAdEsTs4jP18ntHEREAABgwgo4TKoLlQDAiAAAnVEAOFWHYHGZUAABIwiIBEXUlxG0UQ9IAACdUQAEVcdgcZlQAAEjCPgKwFXRUW5cTWiJhAAARCoJQKaVqmIq7zwci1dBtWCAAiAgHEElFZxtPX/7To9v4OFa8EAAAAASUVORK5CYII="},9559:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/interfaces-0fe2a4a02d9b8a16bbf178f0d4ee393a79ca606e8cf27ff7d8508bd2cb9b0643.png"},9962:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/log_messages-6da2901ac63928daa3dcaf39a78ca9e455482c48d4ba917ee704f697e5210818.png"},9770:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/status-8ba274306305afaa5642162904c234b69086870b56e1048b1fdffa481aa0e96b.png"},3786:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/targets-6b17daf175185b13bea9eddafd4773e5f41d1ef4e953134f30bee0799c1e5c31.png"},162:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/tlm_packets-0b02f1f3799948a8278e90f11e7d7f283d9686d3dac18c68b41d25ef49568d22.png"},614:function(e,t,n){n.d(t,{Z:function(){return a}});let a=n.p+"assets/images/tlm_raw-cc2223b25e8fc732557856168fd7fa04e7b3459bbd163825639fb6235a8e6180.png"},65:function(e,t,n){n.d(t,{Z:function(){return d},a:function(){return r}});var a=n(7294);let s={},i=a.createContext(s);function r(e){let t=a.useContext(i);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d5d77c37.bf40c272.js b/docs/assets/js/d5d77c37.bf40c272.js deleted file mode 100644 index 0a93ad6722..0000000000 --- a/docs/assets/js/d5d77c37.bf40c272.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2905],{3276:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>A,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"tools/cmd-tlm-server","title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","source":"@site/docs/tools/cmd-tlm-server.md","sourceDirName":"tools","slug":"/tools/cmd-tlm-server","permalink":"/docs/tools/cmd-tlm-server","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/cmd-tlm-server.md","tags":[],"version":"current","frontMatter":{"title":"Command and Telemetry Server","description":"Status about interfaces, targets and log messages","sidebar_custom_props":{"myEmoji":"\ud83d\udee0\ufe0f"}},"sidebar":"defaultSidebar","previous":{"title":"Command Sender","permalink":"/docs/tools/cmd-sender"},"next":{"title":"Command History (Enterprise)","permalink":"/docs/tools/command_history"}}');var s=a(4848),d=a(8453);const i={title:"Command and Telemetry Server",description:"Status about interfaces, targets and log messages",sidebar_custom_props:{myEmoji:"\ud83d\udee0\ufe0f"}},r=void 0,A={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Command and Telemetry Server Menus",id:"command-and-telemetry-server-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Interfaces Tab",id:"interfaces-tab",level:2},{value:"Targets Tab",id:"targets-tab",level:2},{value:"Command Packets Tab",id:"command-packets-tab",level:2},{value:"Telemetry Packets Tab",id:"telemetry-packets-tab",level:2},{value:"Status Tab",id:"status-tab",level:2},{value:"Log Messages",id:"log-messages",level:2}];function l(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsxs)(t.p,{children:["The Command and Telemetry Server application provides status about the ",(0,s.jsx)(t.a,{href:"/docs/configuration/interfaces",children:"interfaces"})," and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view\nboth raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Cmd Tlm Server",src:a(4675).A+"",width:"2788",height:"2052"})}),"\n",(0,s.jsx)(t.h2,{id:"command-and-telemetry-server-menus",children:"Command and Telemetry Server Menus"}),"\n",(0,s.jsx)(t.h3,{id:"file-menu-items",children:"File Menu Items"}),"\n",(0,s.jsx)(t.p,{children:"The Command and Telemetry Server has one menu under File -> Options:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"File Menu",src:a(3417).A+"",width:"302",height:"114"})}),"\n",(0,s.jsx)(t.p,{children:"This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated."}),"\n",(0,s.jsx)(t.h2,{id:"interfaces-tab",children:"Interfaces Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Interfaces",src:a(5793).A+"",width:"1259",height:"431"})}),"\n",(0,s.jsx)(t.h2,{id:"targets-tab",children:"Targets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only)."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Targets",src:a(9051).A+"",width:"2212",height:"1058"})}),"\n",(0,s.jsx)(t.p,{children:"Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Command Authority",src:a(5759).A+"",width:"2788",height:"1282"})}),"\n",(0,s.jsx)(t.p,{children:"The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding."}),"\n",(0,s.jsx)(t.h2,{id:"command-packets-tab",children:"Command Packets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Commands",src:a(5739).A+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.p,{children:"Clicking on View Raw opens a dialog displaying the raw bytes for that command."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Raw Command",src:a(7966).A+"",width:"782",height:"301"})}),"\n",(0,s.jsxs)(t.p,{children:["Clicking View in Command Sender opens up a new ",(0,s.jsx)(t.a,{href:"/docs/tools/cmd-sender",children:"Command Sender"})," window with the specified command."]}),"\n",(0,s.jsx)(t.h2,{id:"telemetry-packets-tab",children:"Telemetry Packets Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Telemetry",src:a(510).A+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.p,{children:"Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Raw Telemetry",src:a(3131).A+"",width:"782",height:"406"})}),"\n",(0,s.jsxs)(t.p,{children:["Clicking View in Packet Viewer opens up a new ",(0,s.jsx)(t.a,{href:"/docs/tools/packet-viewer",children:"Packet Viewer"})," window with the specified telemetry packet."]}),"\n",(0,s.jsx)(t.h2,{id:"status-tab",children:"Status Tab"}),"\n",(0,s.jsx)(t.p,{children:"The Status tab displays COSMOS system metrics."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Status",src:a(9831).A+"",width:"1259",height:"718"})}),"\n",(0,s.jsx)(t.h2,{id:"log-messages",children:"Log Messages"}),"\n",(0,s.jsx)(t.p,{children:"The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Log Messages",src:a(1332).A+"",width:"2788",height:"1172"})})]})}function c(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},5759:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/cmd_authority-34cde391ad5109ad53bca40b55cb74d59e8cd1d0e70eedb3e5bf4d258c324787.png"},5739:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/cmd_packets-160c7b28230a14f05433d063cdccc63958bb5d90f4e6b80492cd9568b0761a75.png"},7966:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/cmd_raw-28307ac400b66050ada7ecc8b7701deffe8fb7f01129b63ec35a54857cb886b7.png"},4675:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/cmd_tlm_server-dbc02e99c1c837efabeba52831d1d2a3445904fb06b758aaa747496725423fe5.png"},3417:(e,t,a)=>{a.d(t,{A:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAS4AAAByCAYAAADtezx7AAAKqWlDQ1BJQ0MgUHJvZmlsZQAASImVlwdQU+kWgP9700MCgQQEpIQaivQWQErooUY6iEpIAoQSQiCo2JXFFVxRRERAEXRVRMFVKWJHFNuioALWBVlElHWxYMPyLjCE3X3z3pt3Zs6cb849//nP/889d84FgEzhisVpMAWAdFG2JNTXgx4dE0vHDQMSUAAUYAjUuLwsMYvDCQSIzNi/y/seAE3aO2aTuf79+X8VRb4giwcAxEE4gZ/FS0f4JKIveGJJNgCovYhfb2m2eJLbEaZJkAIR7pvkpGkeneSEKUaDqZjwUE+EaQDgSVyuJAkAEh3x03N4SUgekjvCliK+UISwGGHX9PQMPsLHEDZCYhAfaTI/M+EveZL+ljNBlpPLTZLx9FmmBO8lzBKncZf/n9fxvyU9TTqzhyGipGSJXyhilZA760vNCJCxKCE4ZIaF/Kn4KU6W+kXMMC/LM3aG+VyvANnatODAGU4U+rBlebLZ4TMsyPIOm2FJRqhsr0SJJ2uGuZLZfaWpETJ/soAty5+bHB41wznCyOAZzkoNC5iN8ZT5JdJQWf0Cka/H7L4+srOnZ/3lvEK2bG12crif7Ozc2foFItZszqxoWW18gZf3bEyELF6c7SHbS5zGkcUL0nxl/qycMNnabOSFnF3Lkd1hCtefM8PAD3AAHUQi1hrYAkvABSBbsCx78iCeGeLlEmFScjadhXSYgM4W8czn0a0trW0AmOzX6dfhbd9UH0Iq+FkffwgAm8meMpr1pSDdfvo90nqNsz7GAACU3QBc4PCkkpxp31QvYQAR+RLQgBrQAnrACJgh1dkDZ+AOvIE/CAHhIAYsBjyQDNKBBCwFK8E6kA8KwVawA5SDKrAPHAJHwXHQDM6Ai+AKuAFug3vgIegHQ+AlGAPvwQQEQTiIDFEhNUgbMoBMIWuICblC3lAgFArFQPFQEiSCpNBKaANUCBVD5VA1VAv9Ap2CLkLXoC7oPjQAjUBvoM8wCibBNFgTNoQtYCbMggPgcHgRnARnwrlwHrwFLoNr4CNwE3wRvgHfg/vhl/A4CqDkUCooHZQZionyRIWgYlGJKAlqNaoAVYqqQdWjWlEdqDuoftQo6hMai6ai6WgztDPaDx2B5qEz0avRm9Hl6EPoJnQ7+g56AD2G/oYhYzQwphgnDBsTjUnCLMXkY0oxBzCNmMuYe5ghzHssFquCZWAdsH7YGGwKdgV2M3Y3tgF7AduFHcSO43A4NZwpzgUXguPisnH5uF24I7jzuG7cEO4jXg6vjbfG++Bj8SL8enwp/jD+HL4bP4yfIFAIBgQnQgiBT1hOKCLsJ7QSbhGGCBNERSKD6EIMJ6YQ1xHLiPXEy8RHxLdycnK6co5yC+SEcmvlyuSOyV2VG5D7RFIimZA8SXEkKWkL6SDpAuk+6S2ZTDYku5NjydnkLeRa8iXyE/JHeaq8uTxbni+/Rr5Cvkm+W/6VAkHBQIGlsFghV6FU4YTCLYVRCoFiSPGkcCmrKRWUU5ReyrgiVdFKMUQxXXGz4mHFa4rPlXBKhkreSnylPKV9SpeUBqkoqh7Vk8qjbqDup16mDtGwNAaNTUuhFdKO0jppY8pKyrbKkcrLlCuUzyr3q6BUDFXYKmkqRSrHVXpUPs/RnMOaI5izaU79nO45H1TnqrqrClQLVBtU76l+VqOreaulqm1Ta1Z7rI5WN1FfoL5UfY/6ZfXRubS5znN5cwvmHp/7QAPWMNEI1VihsU/jpsa4ppamr6ZYc5fmJc1RLRUtd60UrRKtc1oj2lRtV22hdon2ee0XdGU6i55GL6O308d0NHT8dKQ61TqdOhO6DN0I3fW6DbqP9Yh6TL1EvRK9Nr0xfW39IP2V+nX6DwwIBkyDZIOdBh0GHwwZhlGGGw2bDZ8zVBlsRi6jjvHIiGzkZpRpVGN01xhrzDRONd5tfNsENrEzSTapMLllCpvamwpNd5t2zcPMc5wnmlczr9eMZMYyyzGrMxswVzEPNF9v3mz+ykLfItZim0WHxTdLO8s0y/2WD62UrPyt1lu1Wr2xNrHmWVdY37Uh2/jYrLFpsXlta2orsN1j22dHtQuy22jXZvfV3sFeYl9vP+Kg7xDvUOnQy6QxOczNzKuOGEcPxzWOZxw/Odk7ZTsdd/rT2cw51fmw8/P5jPmC+fvnD7rounBdql36Xemu8a57XfvddNy4bjVuT9313PnuB9yHWcasFNYR1isPSw+JR6PHB08nz1WeF7xQXr5eBV6d3kreEd7l3k98dH2SfOp8xnztfFf4XvDD+AX4bfPrZWuyeexa9pi/g/8q//YAUkBYQHnA00CTQElgaxAc5B+0PehRsEGwKLg5BISwQ7aHPOYwOJmc0wuwCzgLKhY8C7UKXRnaEUYNWxJ2OOx9uEd4UfjDCKMIaURbpEJkXGRt5Icor6jiqP5oi+hV0Tdi1GOEMS2xuNjI2AOx4wu9F+5YOBRnF5cf17OIsWjZomuL1RenLT67RGEJd8mJeEx8VPzh+C/cEG4NdzyBnVCZMMbz5O3kveS780v4IwIXQbFgONElsTjxeZJL0vakkWS35NLkUaGnsFz4OsUvpSrlQ2pI6sHU72lRaQ3p+PT49FMiJVGqqD1DK2NZRpfYVJwv7s90ytyROSYJkBzIgrIWZbVk05DB6KbUSPqDdCDHNaci5+PSyKUnlikuEy27udxk+ablw7k+uT+vQK/grWhbqbNy3cqBVaxV1auh1Qmr29borclbM7TWd+2hdcR1qet+XW+5vnj9uw1RG1rzNPPW5g3+4PtDXb58viS/d6Pzxqof0T8Kf+zcZLNp16ZvBfyC64WWhaWFXzbzNl//yeqnsp++b0nc0llkX7RnK3araGvPNrdth4oVi3OLB7cHbW8qoZcUlLzbsWTHtVLb0qqdxJ3Snf1lgWUtu/R3bd31pTy5/F6FR0VDpUblpsoPu/m7u/e476mv0qwqrPq8V7i3r9q3uqnGsKZ0H3Zfzr5n+yP3d/zM/Ln2gPqBwgNfD4oO9h8KPdRe61Bbe1jjcFEdXCetGzkSd+T2Ua+jLfVm9dUNKg2Fx8Ax6bEXv8T/0nM84HjbCeaJ+pMGJysbqY0FTVDT8qax5uTm/paYlq5T/qfaWp1bG0+bnz54RudMxVnls0XniOfyzn0/n3t+/IL4wujFpIuDbUvaHl6KvnS3fUF75+WAy1ev+Fy51MHqOH/V5eqZa07XTl1nXm++YX+j6abdzcZf7X5t7LTvbLrlcKvltuPt1q75Xee63bov3vG6c+Uu++6Ne8H3unoievp643r7+/h9z++n3X/9IOfBxMO1jzCPCh5THpc+0XhS85vxbw399v1nB7wGbj4Ne/pwkDf48ves378M5T0jPysd1h6ufW79/MyIz8jtFwtfDL0Uv5wYzf9D8Y/KV0avTv7p/ufNseixodeS19/fbH6r9vbgO9t3beOc8Sfv099PfCj4qPbx0Cfmp47PUZ+HJ5Z+wX0p+2r8tfVbwLdH39O/fxdzJdypUQCFKJyYCMCbgwCQYwCg3gaAuHB6np4SaPofYIrAf+LpmXtK7AFAUiHjDgCh7gBUIspAVGEtABzEhrsD2MZGpjOz79ScPim68gDYViCTA9Tn3Q3+KdMz/F/q/qcFsqx/s/8ChOcBmClFzDgAAABWZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAS6gAwAEAAAAAQAAAHIAAAAAQVNDSUkAAABTY3JlZW5zaG90nlxVngAAAdZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTE0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjMwMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpFlOPSAAAUBklEQVR4Ae2dCXgUVbbHT5LubJCQPYQAYd+DCCg4goBBWQZZlNVRQT6UeejAMONTYHw+3iDz6TeO6DwHGVcUfCLogOgIOgRl32STHQIhkBCyAIEEErK+cy5W0/R0Jd1JJVSn/5eP1Hbq1rm/Sv9z7rnVt3zi23WtKPHxp/IKQgEBEAABUxPw9SGyVhSTr+hVOfEWCgiAAAiYnICmVb5ELF0VCLdMfr/gHgiAgBBgrZJ/LFwoIHCDgNViMQyFn5+fYXWhIhBwJGDcb6pjzdj2CAIWix9NePgh6t61M0VGhFPKqTT614bNtG3XXpf9Dw4OooiwMEo/l6nOaR7fhObNmUkzX5xPFy/luVwPDEHAVQJ+IZGxc8sI+uUqsPpm99Tj46lNqxb0zkfL6Iuvv6Wi4mKaNP4ROn0mg7Jycl1qbo87EmnG0xPp6+/WK/uCa9fo+MlUOpN+zqXzYQQC7hDwqygjv5AIFi4fCJc74OqLbcd2renxsSPptbfepVNpZ6no+nVKO5vBaYQKGj18MK1N3qia2rNbotrXumUC3dPjTgoJaUiZWdnqWGLH9hytdaIWzePpSn4B5RdcJR8e62nLYpieeZ7Ky8uVXQOOyiSq63FHF/L19aXcC5dsGKV+H/4XFxtD99zVXZ1zMe+y7bishIWG0L29elJsVCTlXrxEpWVltxzHhvcQ8COEWt5zt520tFVCc7rCQnOaxcq+7Ni9n8aPGkYhDRsoIRoxZCCFslidz86hktIyGjNiCHcnt9DiT7+g6KgIiooMV2KU0DSeUlLTqEFQEE15bCz9uO8AlZSUUmR4GM19YQYVF5dQWnoGnz+Uvlu/iZasWKUuK/VLfu06H5cob+TQB+jb7zfRii+/UccTO7Wn6U9NpF17f6KwRqE0ddIEen7uq5Rz4aK921j3IgIItbzoZjs2NaFZPB05nqKiKftjF/Nu5KWaN21Ch46eUIdk+c7Hy9R67553KmFa8tlKWr9pG10rLKKWzZvR4mVfqOOS47IvTz0xjrue6bRg0YcqmpJobO7z02n77n104tRpZZqde0Edl2hv0IC+lNTvXptw/fKBAfTDlu30yeerle2kCY9Q184dKHnjVvvLYN1rCKhRRTwK4TX326Ghftxlky6aY6n4+WlkX5+bg84SbWllz/6DZOEISXJjVRXpFrZr3VJFX1q3UcQqh7uKnTu0tZ0ukZqIlhSJAOMbx5A2Mnny9BnVTRw+OIlio6NUpAfRsqHzyhVEXF552280WrptQwb255yUj0005EgEd+2kyHFnpbikhLuQBdSExeVYyilnJrZ9DRsEU4C/P2VkZtn2yUoOR1hyrLIiuTIp0mWUiK13z27cjXxQ+bXwg6VcB7qKNwh538+bf1K9r+1e3+KTqWcolPNY0iW0L93v6EySHJdku7MSHRnBjz80osPHUpwdvmWf1CFJfxkI0IrVaqG2rVvwQEDVo44SFUqO69CxE/S/735M055/SXU3x474pVYdll5IAMLlhTdda/Jhzm/t2LOfJj86huLjYsnfaiUZ4Xt42CD6mPNX9qVX927UiEf2JEkvx89n59oel7jEIhcYGMARVAP7U2zr6zZspQF9elOn9m1UlCWJ/6vXCunA4aM2G72VMh6VlMczfvXIcAoMCFBm0pU9n3Wz66p3LvbXTwKSUbCovMK/pznqZ4vRqlsIyL1/+8NPaCILw5yZ05QwneVnr5b942s1gmdvfDk/n+b/4fdKnAqLimjh+0tthyVnlZqWTm+/9kf623tL6Nz5G49KaAaff7WGgljYXpg+lbukRGczztGf+RGMvCv5mkmlywWLPqBpkx+jRX+Zp0YmJdJbs35DpefgYH0mUEE+cW06V5T4BtXnVqJtLhCQPFdQUCBd40jIscybPVMJ2eq1ySrikme1tES6va08PlFw9ZrTY2InyfYAf6sahbQ/z9X1oMBAkvxaGZ7hchVZvbSzlhfikfl6eWer0SgRImei5ViVXt5L7ETQKisiONcKq//gqER6KCAgBJDjwu9BlQTkKfeqRKnKSmAAAgYSQFfRQJioCgRAoPYJSFfRV6bjQgEBEAABjyHAmoWuosfcLTgKAiBwgwC+8oPfBBAAAQ8koOac90C/4TIIgICXEpDslvquoiUAz3F56e8Amg0CnkeAJ6pEjsvzbhs8BgGvJwDh8vpfAQAAAc8jAOHyvHsGj0HAywnIqKJ86xUFBEAABDyFAJ7j8pQ7BT9BAATsCaCraE8D6yAAAh5BAMLlEbcJToIACNgTgHDZ08A6CICARxCAcHnEbYKTIAAC9gQgXPY0sA4CIOARBCBcHnGb4CQIgIA9AQiXPQ2sgwAIeAABTGvjATcJLoIACDgSQMTlSATbIAACpicA4TL9LYKDIAACjgQgXI5EsA0CIGB6ArdFuOTlow2Cg00P53Y6GBkeRo2jo2rsQquEZhTML3pFAYH6QkDmhaiWcInwjB0xRP0f89BguqtbFwrkV6y7UhI7tKU/v/Qc/fbpJ1wxr9Jm+pTHaECfXlXajRySROGNQqu0qyuDiWNH0qghA51eLioinJ6b9iSVlZc7Pe7OTnkJ68ypkyBe7kCDrekJVFu4hg3sR1f5des5Fy5SYsd2tOB/ZlGzJo2rbPDg+/vSym/W0fw3FlVpa6TBoP59qFFoSKVV+lut9Dq3Q5a3s4wdMZjWrN+k2NbUj7T0c7T34GES7iggUF8IVEu4tMZv272Pfti6kz749B9qeX+f3tohatggmO7p2Y3uujORLH5+an/3xE7UqkUzCuPIp3l8nIoCunXpSPFxsXTv3d2VjcVioa6d2lPfXj0oNKShrT5ZEWHsw/udRU4Sycn1Avz9bznH2UaPrp1VV7VX965KdH19fXk7iO5mX6MiwpTP4r8UPX+kjujICOr/i7tVm1o2b2q7VERYI+rcvo3a9uO2Sxv7cPtCGjaw2eitxEZHUpsWCbRx24/KpF2rFuxTON2Z2JH63XMXhYeFkr+/lXre0ZmEp8ZWjKUdndq1Vv4HBtzksGn7brr/3l5kv0/v+tgPAp5AwCL9RR8DPC0vr1BiJVXFREXSrN9Mof2HjlFsTCT1692TXnv7Q4rhD6Uff7jkAy8f4gq++LOTH6Xz2bl06FgK7bRaaNazT9Hl/Hy6VlhEjwx7kGbNf52Kiq7TaF5v36YVHT+ZqtYXf7aK9h08ojyX6O/g0RQKDg6kcdyFnfnSK6puvWZN+dVoyszKoZTTadS2ZYISlU9X/pMax9zIKcXx8shxK1kr8UfquJJfQKlnMyj/6lXl0+z5C9QlH+j3C7U8fPwkzZn+NOVdyVdtHD9qKL361vt0NiNTzzXq1rkDnck4Zzs+JKkvNWXBlrYK11FDByrfz7H/4uewB/rTH19fqOz/MGMqZXMEfJVfJjBp3EgSf8TH/IKrJPbCb/+ho7a6sQICnkrAIgJSUE3v7+6WyB+SQpIEsEQECxd/qmoax12d9Zt30Nf/+oEkH/aXuS8ooVrL3Z+h3GVZv3k7fzgzVQRVznmcP735dyVUA++7h4quX6e/vrdU1fPrieOpS/u29OP+gyrSWvTRZ3Q05RR3fY6oKERze/POPar7KdvS1WvRLJ5Sz6Rrh50uV3y1lo6cOKXqmT97Br2zZDmt/u57Gj7ofrUsLi6hyvyRShcvX8UCd1K18fHRwykuNlqJiuT83uQ2BAUG0uaduzka3aWEtKKinPpz1LTk89VOfZKdMZyQTz2Tccvx75nlN8kb1XXefHkO/XT4mOpKSjT49isvkUR4FosfJTRrwsL4HhWXlNCptHT+AxGuhEsqu3Apj2L4DwYKCHg6AdEsi/w19mlYvRG+uNgYJTTdu3aiFavXcjR0WjFp3aI5RUdFqC6f7AgIsFIX7spt+3GfOm7/43pxsRIt2SfnSdQzhyMHKdItKubjIlySF3tm8gQ6cSqNduz5Sf1XRvxDIhqt5F2+orqSqdoOnaV2jtiLwEj3yzEZXpk/Uq2cK0Uix6279nJXsyvtOXCYfS6xRVWZWbn0xJgR1LxpHIWFhlJKapo6R+9HBLfZUXQl+pQi17nIApTJEaqU0tJSKuDoSrrUksvawgL+2n//J/twRPlz8vRZZSc/LjOjiPBGtm2sgICnEhDNstTE+S+/TeYP0mX1IR2adB9t4Q+vfLik27hu4zY6euKmfBRwd6qqUsHRl3T5/rlug81UhE3Khm271AezCw8EDH9wALVtlUBLP//KZlcbK5X543g9EY1nnnyU/Px8FQc5Lo8h/Mek8bTg7x8pYXmQu5ASnVZWLl8poJCf82uV2TkeE+4fLltJy4PXcv6rC4v8o8xnNe3ad1CZimhJFIYCAvWBQI2S8xoAESzux1Df3j3UrgNHjqvE8RXOVWXnXqD2rVuoxLFmr7c8cOQEJ8vbUmlZqTpPEuVhPBIoAvC3V/5Ldesk17Nx+y6KjjC+21NWVs7XLuMkdsDP7XDujzP/M85nU2l5mUrWa5GldB1FUNIzs1jQ/EhEV5aVlewLFzjSdD8ykpHdP83+LV2/XqxEXrrB8iyYVprGNVZMtW0sQcCTCdQo4tIaLh/O5dxVnDx+FG3fvZ/X19DUx8fRgnmzqYAfmTjBXUjtw6yd42wpo5TSpXr1xd+rSE7OfeuDT1RXcvmXa+nF3/1aJZqL+MP5ESfnjS7yzJN0+V6eNYP++u4S0vNH77pbd+7lXF8nuph3WZlIV00GHd6YN0vlvnIv5lFTHkGtrBziiFNye+6Ww3ydY8z5DWaez9ykSykjvlJELCUPJt1sFBCoDwR8Ylt2qPBpGF0rbZFHE0QMJIpxp8jIo5VzTjKa6FjkQVdn+x3tarItEV4hX1sEWUpl/rhyHRmdLCkpdcVU2Tw3bTKtWrOO82FnXD5HMxRf/ThRL3k2rQzhARGJvpZ+Ubtda+16WIJAbRKoKMip3pPzrjol+Sl3RUvqliS5njjp7XfVJ1fsJBmuiVZV/rhSnzuiJfV9tuobklHK6nxVR9jZi1aTxjF0H49kfsUjvCggUF8I1GrEVV8g3Y52JDRtoi4ro4U1KfJgruTftO5rTerCuSBgBgIScUG4zHAn4AMIgIDLBGq9q+iyJzAEARAAATcIGPI4hBvXgykIgAAI1JgAhKvGCFEBCIBAXRMw5DmuunYa1wMBEDAXgU7R1Z8K6nDOzUd3XG0VIi5XScEOBEDANAQgXKa5FXAEBEDAVQKGdBXlqewObVvyl6D5O4sOJZSnoJAJBhN4qpk0nrsqmae0kW932xejbOzrxDoIgED9JVDt57isPBdUEs+fJRP3JfXtTd9v2UETfzP7FlLy1PaKdxeo2UYPHj2hprmRL16PnjKTJ9bLUbZG2dxyYWyAAAjUKYHKclzJycmUlJSk64+7Oa4aPcf15vw5tJBnbJB559PPZTl1SqZ5kfnb+z88kR575nnqP+oJ/hpLEE17coLN3igbW4VYAQEQMA0BES0p2tIox6qd45IZQxP7j6Bn57xMWTm5/N2+f3dJphVeuSbZNuGefO3ky7Xr1SyomrVRNlp9WIIACJiDgKNYOW7XxMtqC9e+g0fVtM16F5eXOMjUwY7ftTt7LpPnoY9S83MZZaPnA/aDAAjcHgJ6IqW3310vDUnOO7uoTLss881LV9K+5BdcU2+mkemGrTz9ihE22hTK9tfBOgiAwO0jUFlOywivqh1xVXVxeVWWlAr+Z1+0bdY026yo2j7NTtt21UY7D0sQAAHvIFBrEZe8aUaKvInGvshEd1KKim7MJS/rRtlIXSggAAL1n8CtqmJgey/lXVHzn8uUwfZFnvmSKZkLi4rUf5kjvaY29vVjHQRAoP4TqLWuoqA7fuo0yTsG7Yu8f1H2a8UoG60+LEEABOo/gVoVLnmhxWCe73zMQ4NVVCVvph40oM8trxUzyqb+3yq0EAQ8h4CMHur9N6IVtdZVFOf+j19rL6+Pf+XF36n502Uu97fe/4SW8ZzqWjHKRqsPSxAAgdtPQEYVnT36YNRoY7W/8uMOGhlhjImKVO/1K+eXOTgrRtk4qxv7QAAEapeA3ld+7MVLT7Tq9Cs/7mAQsZLvJuqJltRllI07fsEWBECgdgloYqUtjbparea4jHIS9YAACHguAaNFS0hAuDz39wGeg4DXEoBwee2tR8NBwHMJ1OqooudigecgAALuEHA3we5O3c5sEXE5o4J9IAACpiYA4TL17YFzIAACzghAuJxRwT4QAAFTE4Bwmfr2wDkQAAFnBCBczqhgHwiAgKkJVGtUMfOnjaZuFJwDARDwHAJxXe9z29lqCVd1LuS2ZzgBBEAABHQIoKuoAwa7QQAEzEsAwmXeewPPQAAEdAhAuHTAYDcIgIB5CUC4zHtv4BkIgIAOAQiXDhjsBgEQMC8BCJd57w08AwEQ0CEA4dIBg90gAALmJQDhMu+9gWcgAAI6BCBcOmCwGwRAwLwEIFzmvTfwDARAQIcAhEsHDHaDAAiYlwCEy7z3Bp6BAAjoEIBw6YDBbhAAAfMSgHCZ997AMxAAAR0CEC4dMNgNAiBgXgIQLvPeG3gGAiCgQwDCpQMGu0EABMxLAMJl3nsDz0AABHQIQLh0wGA3CICAeQn4Fl7KNq938AwEQAAEHAgUXsoiX19Ltd6X4VAVNkEABECgbgj4WqwsXD4QrrrBjauAAAgYQUA0y9fHz8eIulAHCIAACNQJAdEsTs4jP18ntHEREAABgwgo4TKoLlQDAiAAAnVEAOFWHYHGZUAABIwiIBEXUlxG0UQ9IAACdUQAEVcdgcZlQAAEjCPgKwFXRUW5cTWiJhAAARCoJQKaVqmIq7zwci1dBtWCAAiAgHEElFZxtPX/7To9v4OFa8EAAAAASUVORK5CYII="},5793:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/interfaces-0fe2a4a02d9b8a16bbf178f0d4ee393a79ca606e8cf27ff7d8508bd2cb9b0643.png"},1332:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/log_messages-6da2901ac63928daa3dcaf39a78ca9e455482c48d4ba917ee704f697e5210818.png"},9831:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/status-8ba274306305afaa5642162904c234b69086870b56e1048b1fdffa481aa0e96b.png"},9051:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/targets-6b17daf175185b13bea9eddafd4773e5f41d1ef4e953134f30bee0799c1e5c31.png"},510:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/tlm_packets-0b02f1f3799948a8278e90f11e7d7f283d9686d3dac18c68b41d25ef49568d22.png"},3131:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/tlm_raw-cc2223b25e8fc732557856168fd7fa04e7b3459bbd163825639fb6235a8e6180.png"},8453:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>r});var n=a(6540);const s={},d=n.createContext(s);function i(e){const t=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d66bf9c0.2fb0f26c.js b/docs/assets/js/d66bf9c0.2fb0f26c.js new file mode 100644 index 0000000000..b9fd87c229 --- /dev/null +++ b/docs/assets/js/d66bf9c0.2fb0f26c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6868"],{4946:function(e,s,t){t.r(s),t.d(s,{metadata:()=>n,contentTitle:()=>o,default:()=>h,assets:()=>c,toc:()=>l,frontMatter:()=>a});var n=JSON.parse('{"id":"configuration/accessors","title":"Accessors","description":"Responsible for reading and writing data to a buffer","source":"@site/docs/configuration/accessors.md","sourceDirName":"configuration","slug":"/configuration/accessors","permalink":"/docs/configuration/accessors","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/accessors.md","tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"sidebar_position":8,"title":"Accessors","description":"Responsible for reading and writing data to a buffer","sidebar_custom_props":{"myEmoji":"\u270F\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Protocols","permalink":"/docs/configuration/protocols"},"next":{"title":"Tables","permalink":"/docs/configuration/table"}}'),r=t("5893"),i=t("65");let a={sidebar_position:8,title:"Accessors",description:"Responsible for reading and writing data to a buffer",sidebar_custom_props:{myEmoji:"\u270F\uFE0F"}},o=void 0,c={},l=[{value:"Binary Accessor",id:"binary-accessor",level:3},{value:"Commands",id:"commands",level:4},{value:"Telemetry",id:"telemetry",level:4},{value:"CBOR Accessor",id:"cbor-accessor",level:3},{value:"Commands",id:"commands-1",level:4},{value:"Telemetry",id:"telemetry-1",level:4},{value:"Form Accessor",id:"form-accessor",level:3},{value:"Commands",id:"commands-2",level:4},{value:"Telemetry",id:"telemetry-2",level:4},{value:"HTML Accessor",id:"html-accessor",level:3},{value:"Commands",id:"commands-3",level:4},{value:"Telemetry",id:"telemetry-3",level:4},{value:"HTTP Accessor",id:"http-accessor",level:3},{value:"Commands",id:"commands-4",level:4},{value:"Telemetry",id:"telemetry-4",level:4},{value:"JSON Accessor",id:"json-accessor",level:3},{value:"Commands",id:"commands-5",level:4},{value:"Telemetry",id:"telemetry-5",level:4},{value:"Template Accessor",id:"template-accessor",level:3},{value:"Commands",id:"commands-6",level:4},{value:"Telemetry",id:"telemetry-6",level:4},{value:"XML Accessor",id:"xml-accessor",level:3},{value:"Commands",id:"commands-7",level:4},{value:"Telemetry",id:"telemetry-7",level:4},{value:"GEMS Ascii (Enterprise)",id:"gems-ascii-enterprise",level:3},{value:"Prometheus (Enterprise)",id:"prometheus-enterprise",level:3},{value:"Protocol Buffer (Enterprise)",id:"protocol-buffer-enterprise",level:3}];function d(e){let s={a:"a",code:"code",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.p,{children:"Accessors are the low level code which know how to read and write data into a buffer. The buffer data then gets written out an interface which uses protocols to potentially change the data before it goes to the target. Accessors handle the different serializations formats such as binary (CCSDS), JSON, CBOR, XML, HTML, Protocol Buffers, etc."}),"\n",(0,r.jsxs)(s.p,{children:["For more information about how Accessors fit with Interfaces and Protocols see ",(0,r.jsx)(s.a,{href:"https://www.openc3.com/news/interoperability-without-standards",children:"Interoperability Without Standards"}),"."]}),"\n",(0,r.jsx)(s.p,{children:"COSMOS provides the following built-in accessors: Binary, CBOR, Form, HTML, HTTP, JSON, Template, XML."}),"\n",(0,r.jsx)(s.p,{children:"COSMOS Enterprise provides the following accessors: GEMS Ascii, Prometheus, Protocol Buffer."}),"\n",(0,r.jsx)(s.h3,{id:"binary-accessor",children:"Binary Accessor"}),"\n",(0,r.jsx)(s.p,{children:"The Binary Accessor serializes data into a binary format when writing to the buffer. This is how many devices expect their data including those following the CCSDS standard. COSMOS handles converting signed and unsigned integers, floats, strings, etc. into their binary representation in the buffer. This includes handling big and little endian, bitfields, and variable length fields. Since binary is so common this is the default Accessor and will be used if no other accessors are given."}),"\n",(0,r.jsx)(s.h4,{id:"commands",children:"Commands"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'COMMAND INST COLLECT BIG_ENDIAN "Starts a collect"\n ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default\n PARAMETER TYPE 64 16 UINT MIN MAX 0 "Collect type"\n PARAMETER DURATION 80 32 FLOAT 0.0 10.0 1.0 "Collect duration"\n PARAMETER OPCODE 112 8 UINT 0x0 0xFF 0xAB "Collect opcode"\n'})}),"\n",(0,r.jsx)(s.h4,{id:"telemetry",children:"Telemetry"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"\n ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default\n APPEND_ITEM CMD_ACPT_CNT 32 UINT "Command accept count"\n APPEND_ITEM COLLECTS 16 UINT "Number of collects"\n APPEND_ITEM DURATION 32 FLOAT "Most recent collect duration"\n'})}),"\n",(0,r.jsx)(s.h3,{id:"cbor-accessor",children:"CBOR Accessor"}),"\n",(0,r.jsxs)(s.p,{children:["The Concise Binary Object Representation (",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/CBOR",children:"CBOR"}),") Accessor serializes data into a binary format loosely based on JSON. It is a subclass of the JSON Accessor and is what COSMOS uses natively to store log files."]}),"\n",(0,r.jsx)(s.h4,{id:"commands-1",children:"Commands"}),"\n",(0,r.jsxs)(s.p,{children:["Using the CBOR Accessor for ",(0,r.jsx)(s.a,{href:"command",children:"command definitions"})," requires the use of ",(0,r.jsx)(s.a,{href:"command#template_file",children:"TEMPLATE_FILE"})," and ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to allow the user to set values in the CBOR data. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/JSONPath",children:"JSONPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'COMMAND CBOR CBORCMD BIG_ENDIAN "CBOR Accessor Command"\n ACCESSOR CborAccessor\n TEMPLATE_FILE _cbor_template.bin\n APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item"\n KEY $.id_item\n APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"\n KEY $.item1\n UNITS CELSIUS C\n APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3"\n KEY $.more.item2\n FORMAT_STRING "0x%X"\n APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item"\n KEY $.more.item3\n APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item"\n KEY $.more.item4\n APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item"\n KEY $.more.item5\n'})}),"\n",(0,r.jsx)(s.p,{children:"Creating the template file requires the use of the Ruby or Python CBOR libraries. Here is an example from Ruby:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'require \'cbor\'\ndata = {"id_item" : 2, "item1" : 101, "more" : { "item2" : 12, "item3" : 3.14, "item4" : "Example", "item5" : [4, 3, 2, 1] } }\nFile.open("_cbor_template.bin", \'wb\') do |file|\n file.write(data.to_cbor)\nend\n'})}),"\n",(0,r.jsx)(s.h4,{id:"telemetry-1",children:"Telemetry"}),"\n",(0,r.jsxs)(s.p,{children:["Using the CBOR Accessor for ",(0,r.jsx)(s.a,{href:"telemetry",children:"telemetry definitions"})," only requires the use of ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to pull values from the CBOR data. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/JSONPath",children:"JSONPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY CBOR CBORTLM BIG_ENDIAN "CBOR Accessor Telemetry"\n ACCESSOR CborAccessor\n APPEND_ID_ITEM ID_ITEM 32 INT 2 "Int Item"\n KEY $.id_item\n APPEND_ITEM ITEM1 16 UINT "Int Item 2"\n KEY $.item1\n GENERIC_READ_CONVERSION_START UINT 16\n value * 2\n GENERIC_READ_CONVERSION_END\n UNITS CELSIUS C\n APPEND_ITEM ITEM2 16 UINT "Int Item 3"\n KEY $.more.item2\n FORMAT_STRING "0x%X"\n APPEND_ITEM ITEM3 64 FLOAT "Float Item"\n KEY $.more.item3\n APPEND_ITEM ITEM4 128 STRING "String Item"\n KEY $.more.item4\n APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item"\n KEY $.more.item5\n'})}),"\n",(0,r.jsx)(s.h3,{id:"form-accessor",children:"Form Accessor"}),"\n",(0,r.jsxs)(s.p,{children:["The Form Accessor is typically used with the ",(0,r.jsx)(s.a,{href:"interfaces#http-client-interface",children:"HTTP Client"})," interface to submit forms to a remote HTTP Server."]}),"\n",(0,r.jsx)(s.h4,{id:"commands-2",children:"Commands"}),"\n",(0,r.jsxs)(s.p,{children:["Using the Form Accessor for ",(0,r.jsx)(s.a,{href:"command",children:"command definitions"})," requires the use of ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to allow the user to set values in the HTTP form. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/XPath",children:"XPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'COMMAND FORM FORMCMD BIG_ENDIAN "Form Accessor Command"\n ACCESSOR FormAccessor\n APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item"\n KEY $.id_item\n APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"\n KEY $.item1\n UNITS CELSIUS C\n'})}),"\n",(0,r.jsx)(s.h4,{id:"telemetry-2",children:"Telemetry"}),"\n",(0,r.jsxs)(s.p,{children:["Using the Form Accessor for ",(0,r.jsx)(s.a,{href:"telemetry",children:"telemetry definitions"})," only requires the use of ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to pull values from the HTTP response data. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/XPath",children:"XPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY FORM FORMTLM BIG_ENDIAN "Form Accessor Telemetry"\n ACCESSOR FormAccessor\n APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item"\n KEY $.id_item\n APPEND_ITEM ITEM1 16 UINT "Int Item 2"\n KEY $.item1\n'})}),"\n",(0,r.jsx)(s.h3,{id:"html-accessor",children:"HTML Accessor"}),"\n",(0,r.jsxs)(s.p,{children:["The HTML Accessor is typically used with the ",(0,r.jsx)(s.a,{href:"interfaces#http-client-interface",children:"HTTP Client"})," interface to parse a web page."]}),"\n",(0,r.jsxs)(s.p,{children:["For a full example see ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-get",children:"openc3-cosmos-http-get"}),"."]}),"\n",(0,r.jsx)(s.h4,{id:"commands-3",children:"Commands"}),"\n",(0,r.jsx)(s.p,{children:"HTML Accessor is not typically used for commands but it would be similar to Telemetry using XPath Keys."}),"\n",(0,r.jsx)(s.h4,{id:"telemetry-3",children:"Telemetry"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results"\n # Typically you use the HtmlAccessor to parse out the page that is returned\n # HtmlAccessor is passed to HttpAccessor and used internally\n ACCESSOR HttpAccessor HtmlAccessor\n APPEND_ITEM NAME 240 STRING\n # Keys were located by doing a manual search and then inspecting the page\n # Right click the text you\'re looking for and then Copy -> Copy XPath\n KEY normalize-space(//main/div/a[2]/span/h2/text())\n APPEND_ITEM DESCRIPTION 480 STRING\n KEY //main/div/a[2]/span/p/text()\n APPEND_ITEM VERSION 200 STRING\n KEY //main/div/a[2]/span/h2/span/text()\n APPEND_ITEM DOWNLOADS 112 STRING\n KEY normalize-space(//main/div/a[2]/p/text())\n'})}),"\n",(0,r.jsx)(s.h3,{id:"http-accessor",children:"HTTP Accessor"}),"\n",(0,r.jsxs)(s.p,{children:["HTTP Accessor is typically used with the ",(0,r.jsx)(s.a,{href:"interfaces#http-client-interface",children:"HTTP Client"})," or ",(0,r.jsx)(s.a,{href:"interfaces#http-server-interface",children:"HTTP Server"})," interface to parse a web page. It takes another accessor to do the low level reading and writing of the items. The default accessor is FormAccessor. HtlmAccessor, XmlAccessor and JsonAccessor are also common for manipulating HTML, XML and JSON respectively."]}),"\n",(0,r.jsxs)(s.p,{children:["For a full example see ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-http-get",children:"openc3-cosmos-http-get"}),"."]}),"\n",(0,r.jsx)(s.h4,{id:"commands-4",children:"Commands"}),"\n",(0,r.jsx)(s.p,{children:"When used with the HTTP Client Interface, HTTP Accessor utilizes the following command parameters:"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Parameter"}),(0,r.jsx)(s.th,{children:"Description"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_PATH"}),(0,r.jsx)(s.td,{children:"requests at this path"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_METHOD"}),(0,r.jsx)(s.td,{children:"request method (GET, POST, DELETE)"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_PACKET"}),(0,r.jsx)(s.td,{children:"telemetry packet to store the response"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_ERROR_PACKET"}),(0,r.jsx)(s.td,{children:"telemetry packet to store error responses (status code >= 300)"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_QUERY_XXX"}),(0,r.jsx)(s.td,{children:"sets a value in the params passed to the request (XXX => value, or KEY => value), see example below"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_HEADER_XXX"}),(0,r.jsx)(s.td,{children:"sets a value in the headers passed to the request (XXX => value, or KEY => value), see example below"})]})]})]}),"\n",(0,r.jsx)(s.p,{children:"When used with the HTTP Server Interface, HTTP Accessor utilizes the following command parameters:"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Parameter"}),(0,r.jsx)(s.th,{children:"Description"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_STATUS"}),(0,r.jsx)(s.td,{children:"status to return to clients"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_PATH"}),(0,r.jsx)(s.td,{children:"mount point for server"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_PACKET"}),(0,r.jsx)(s.td,{children:"telemetry packet to store the request"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_HEADER_XXX"}),(0,r.jsx)(s.td,{children:"sets a value in the response headers (XXX => value, or KEY => value), see example below"})]})]})]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'COMMAND HTML SEARCH BIG_ENDIAN "Searches Rubygems.org"\n # Note FormAccessor is the default argument for HttpAccessor so it is typically not specified\n ACCESSOR HttpAccessor\n PARAMETER HTTP_PATH 0 0 DERIVED nil nil "/search"\n PARAMETER HTTP_METHOD 0 0 DERIVED nil nil "GET"\n PARAMETER HTTP_PACKET 0 0 DERIVED nil nil "RESPONSE"\n PARAMETER HTTP_ERROR_PACKET 0 0 DERIVED nil nil "ERROR"\n # This sets parameter query=openc3+cosmos\n # Note the parameter name \'query\' based on HTTP_QUERY_QUERY\n PARAMETER HTTP_QUERY_QUERY 0 0 DERIVED nil nil "openc3 cosmos"\n GENERIC_READ_CONVERSION_START\n value.split.join(\'+\')\n GENERIC_READ_CONVERSION_END\n # This sets header Content-Type=text/html\n # Note that TYPE is not used since the KEY is specified\n PARAMETER HTTP_HEADER_TYPE 0 0 DERIVED nil nil "text/html"\n KEY Content-Type\n'})}),"\n",(0,r.jsx)(s.h4,{id:"telemetry-4",children:"Telemetry"}),"\n",(0,r.jsx)(s.p,{children:"HTTP Accessor utilizes the following telemetry items:"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Parameter"}),(0,r.jsx)(s.th,{children:"Description"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_STATUS"}),(0,r.jsx)(s.td,{children:"the request status"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_HEADERS"}),(0,r.jsx)(s.td,{children:"hash of the response headers"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"HTTP_REQUEST"}),(0,r.jsxs)(s.td,{children:["optional hash which returns all the request parameters, see ",(0,r.jsx)(s.a,{href:"interfaces#http-client-interface",children:"HTTP Client Interface"})]})]})]})]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results"\n # Typically you use the HtmlAccessor to parse out the page that is returned\n ACCESSOR HttpAccessor HtmlAccessor\n APPEND_ITEM NAME 240 STRING\n # Keys were located by doing a manual search and then inspecting the page\n # Right click the text you\'re looking for and then Copy -> Copy XPath\n KEY normalize-space(//main/div/a[2]/span/h2/text())\n APPEND_ITEM DESCRIPTION 480 STRING\n KEY //main/div/a[2]/span/p/text()\n APPEND_ITEM VERSION 200 STRING\n KEY //main/div/a[2]/span/h2/span/text()\n APPEND_ITEM DOWNLOADS 112 STRING\n KEY normalize-space(//main/div/a[2]/p/text())\n'})}),"\n",(0,r.jsx)(s.h3,{id:"json-accessor",children:"JSON Accessor"}),"\n",(0,r.jsxs)(s.p,{children:["The JSON Accessor serializes data into JavaScript Object Notation (",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/JSON",children:"JSON"}),"). JSON is a data interchange format that uses human-readable text to transmit data consisting of key value pairs and arrays."]}),"\n",(0,r.jsxs)(s.p,{children:["For a full example see ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-accessor-test",children:"openc3-cosmos-accessor-test"}),"."]}),"\n",(0,r.jsx)(s.h4,{id:"commands-5",children:"Commands"}),"\n",(0,r.jsxs)(s.p,{children:["Using the JSON Accessor for ",(0,r.jsx)(s.a,{href:"command",children:"command definitions"})," requires the use of ",(0,r.jsx)(s.a,{href:"command#template",children:"TEMPLATE"})," and ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to allow the user to set values in the JSON data. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/JSONPath",children:"JSONPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'COMMAND JSON JSONCMD BIG_ENDIAN "JSON Accessor Command"\n ACCESSOR JsonAccessor\n TEMPLATE \'{"id_item":1, "item1":101, "more": { "item2":12, "item3":3.14, "item4":"Example", "item5":[4, 3, 2, 1] } }\'\n APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item"\n KEY $.id_item\n APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"\n KEY $.item1\n UNITS CELSIUS C\n APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3"\n KEY $.more.item2\n FORMAT_STRING "0x%X"\n APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item"\n KEY $.more.item3\n APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item"\n KEY $.more.item4\n APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item"\n KEY $.more.item5\n'})}),"\n",(0,r.jsx)(s.h4,{id:"telemetry-5",children:"Telemetry"}),"\n",(0,r.jsxs)(s.p,{children:["Using the JSON Accessor for ",(0,r.jsx)(s.a,{href:"telemetry",children:"telemetry definitions"})," only requires the use of ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to pull values from the JSON data. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/JSONPath",children:"JSONPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY JSON JSONTLM BIG_ENDIAN "JSON Accessor Telemetry"\n ACCESSOR JsonAccessor\n APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item"\n KEY $.id_item\n APPEND_ITEM ITEM1 16 UINT "Int Item 2"\n KEY $.item1\n GENERIC_READ_CONVERSION_START UINT 16\n value * 2\n GENERIC_READ_CONVERSION_END\n UNITS CELSIUS C\n APPEND_ITEM ITEM2 16 UINT "Int Item 3"\n KEY $.more.item2\n FORMAT_STRING "0x%X"\n APPEND_ITEM ITEM3 64 FLOAT "Float Item"\n KEY $.more.item3\n APPEND_ITEM ITEM4 128 STRING "String Item"\n KEY $.more.item4\n APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item"\n KEY $.more.item5\n'})}),"\n",(0,r.jsx)(s.h3,{id:"template-accessor",children:"Template Accessor"}),"\n",(0,r.jsxs)(s.p,{children:["The Template Accessor is commonly used with string based command / response protocols such as the ",(0,r.jsx)(s.a,{href:"protocols#cmdresponse-protocol",children:"CmdResponseProtocol"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["For a full example see ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-scpi-power-supply",children:"openc3-cosmos-scpi-power-supply"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(s.h4,{id:"commands-6",children:"Commands"}),"\n",(0,r.jsxs)(s.p,{children:["Using the Template Accessor for ",(0,r.jsx)(s.a,{href:"command",children:"command definitions"})," requires the use of ",(0,r.jsx)(s.a,{href:"command#template",children:"TEMPLATE"})," to define a string template with optional parameters that are populated using the command parameters."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'# Some commands don\'t have any parameters and the template is sent as-is\nCOMMAND SCPI_PS RESET BIG_ENDIAN "Reset the power supply state"\n ACCESSOR TemplateAccessor\n TEMPLATE "*RST"\n\n# This command has two parameters in the template defined by <XXX>\nCOMMAND SCPI_PS VOLTAGE BIG_ENDIAN "Sets the voltage of a power supply channel"\n ACCESSOR TemplateAccessor\n # <VOLTAGE> and <CHANNEL> are replaced by the parameter values\n TEMPLATE "VOLT <VOLTAGE>, (@<CHANNEL>)"\n APPEND_PARAMETER VOLTAGE 32 FLOAT MIN MAX 0.0 "Voltage Setting"\n UNITS VOLTS V\n APPEND_PARAMETER CHANNEL 8 UINT 1 2 1 "Output Channel"\n'})}),"\n",(0,r.jsx)(s.h4,{id:"telemetry-6",children:"Telemetry"}),"\n",(0,r.jsxs)(s.p,{children:["Using the Template Accessor for ",(0,r.jsx)(s.a,{href:"telemetry",children:"telemetry definitions"})," requires the use of ",(0,r.jsx)(s.a,{href:"telemetry#template",children:"TEMPLATE"})," to define a template where telemetry values are pulled from the string buffer."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Power supply status"\n ACCESSOR TemplateAccessor\n # The raw string from the target is something like "1.234,2.345"\n # String is split by the comma and pushed into MEAS_VOLTAGE_1, MEAS_VOLTAGE_2\n TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>"\n APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Current Reading for Channel 1"\n APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Current Reading for Channel 2"\n'})}),"\n",(0,r.jsx)(s.h3,{id:"xml-accessor",children:"XML Accessor"}),"\n",(0,r.jsxs)(s.p,{children:["The XML Accessor is typically used with the ",(0,r.jsx)(s.a,{href:"interfaces#http-client-interface",children:"HTTP Client"})," interface to send and receive XML from a web server."]}),"\n",(0,r.jsxs)(s.p,{children:["For a full example see ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos/tree/main/examples/openc3-cosmos-accessor-test",children:"openc3-cosmos-accessor-test"}),"."]}),"\n",(0,r.jsx)(s.h4,{id:"commands-7",children:"Commands"}),"\n",(0,r.jsxs)(s.p,{children:["Using the XML Accessor for ",(0,r.jsx)(s.a,{href:"command",children:"command definitions"})," requires the use of ",(0,r.jsx)(s.a,{href:"command#template",children:"TEMPLATE"})," and ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to allow the user to set values in the XML data. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/XPath",children:"XPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'COMMAND XML XMLCMD BIG_ENDIAN "XML Accessor Command"\n ACCESSOR XmlAccessor\n TEMPLATE \'<html><head><script src="3"><\/script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>\'\n APPEND_ID_PARAMETER ID_ITEM 32 INT 3 3 3 "Int Item"\n KEY "/html/head/script/@src"\n APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"\n KEY "/html/head/noscript/text()"\n UNITS CELSIUS C\n APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3"\n KEY "/html/body/img/@src"\n FORMAT_STRING "0x%X"\n APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item"\n KEY "/html/body/div/ul/li[1]/text()"\n APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item"\n KEY "/html/body/div/ul/li[2]/text()"\n'})}),"\n",(0,r.jsx)(s.h4,{id:"telemetry-7",children:"Telemetry"}),"\n",(0,r.jsxs)(s.p,{children:["Using the XML Accessor for ",(0,r.jsx)(s.a,{href:"telemetry",children:"telemetry definitions"})," only requires the use of ",(0,r.jsx)(s.a,{href:"command#key",children:"KEY"})," to pull values from the XML data. Note that the KEY values use ",(0,r.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/XPath",children:"XPath"}),"."]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-ruby",children:'TELEMETRY XML XMLTLM BIG_ENDIAN "XML Accessor Telemetry"\n ACCESSOR XmlAccessor\n # Template is not required for telemetry, but is useful for simulation\n TEMPLATE \'<html><head><script src="3"><\/script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>\'\n APPEND_ID_ITEM ID_ITEM 32 INT 3 "Int Item"\n KEY "/html/head/script/@src"\n APPEND_ITEM ITEM1 16 UINT "Int Item 2"\n KEY "/html/head/noscript/text()"\n GENERIC_READ_CONVERSION_START UINT 16\n value * 2\n GENERIC_READ_CONVERSION_END\n UNITS CELSIUS C\n APPEND_ITEM ITEM2 16 UINT "Int Item 3"\n KEY "/html/body/img/@src"\n FORMAT_STRING "0x%X"\n APPEND_ITEM ITEM3 64 FLOAT "Float Item"\n KEY "/html/body/div/ul/li[1]/text()"\n APPEND_ITEM ITEM4 128 STRING "String Item"\n KEY "/html/body/div/ul/li[2]/text()"\n'})}),"\n",(0,r.jsx)(s.h3,{id:"gems-ascii-enterprise",children:"GEMS Ascii (Enterprise)"}),"\n",(0,r.jsxs)(s.p,{children:["The GemsAsciiAccessor inherits from ",(0,r.jsx)(s.a,{href:"accessors#template-accessor",children:"TemplateAccessor"}),' to escape the following characters in outgoing commands: "&" => "&a", "|" => "&b", "," => "&c", and ";" => "&d" and reverse them in telemetry. See the ',(0,r.jsx)(s.a,{href:"https://www.omg.org/spec/GEMS/1.3/PDF",children:"GEMS Spec"})," for more information."]}),"\n",(0,r.jsxs)(s.p,{children:["For a full example, please see the ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-gems-interface",children:"openc3-cosmos-gems-interface"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(s.h3,{id:"prometheus-enterprise",children:"Prometheus (Enterprise)"}),"\n",(0,r.jsx)(s.p,{children:"The PrometheusAccessor is used to read from a Prometheus endpoint and can automatically parse the results into a packet. The PrometheusAccessor is currently only implemented in Ruby."}),"\n",(0,r.jsxs)(s.p,{children:["For a full example, please see the ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-prometheus-metrics",children:"openc3-cosmos-prometheus-metrics"})," in the COSMOS Enterprise Plugins."]}),"\n",(0,r.jsx)(s.h3,{id:"protocol-buffer-enterprise",children:"Protocol Buffer (Enterprise)"}),"\n",(0,r.jsxs)(s.p,{children:["The ProtoAccessor is used to read and write protocol buffers. It is primarily used in conjunction with the ",(0,r.jsx)(s.a,{href:"interfaces#grpc-interface-enterprise",children:"GrpcInterface"}),". The ProtoAccessor is currently only implemented in Ruby."]}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Parameter"}),(0,r.jsx)(s.th,{children:"Description"}),(0,r.jsx)(s.th,{children:"Required"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Filename"}),(0,r.jsx)(s.td,{children:"File generated by the protocol buffer compiler"}),(0,r.jsx)(s.td,{children:"Yes"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Class"}),(0,r.jsx)(s.td,{children:"Class to use when encoding and decoding the buffer"}),(0,r.jsx)(s.td,{children:"Yes"})]})]})]}),"\n",(0,r.jsxs)(s.p,{children:["For a full example, please see the ",(0,r.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-enterprise-plugins/tree/main/openc3-cosmos-proto-target",children:"openc3-cosmos-proto-target"})," in the COSMOS Enterprise Plugins."]})]})}function h(e={}){let{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},65:function(e,s,t){t.d(s,{Z:function(){return o},a:function(){return a}});var n=t(7294);let r={},i=n.createContext(r);function a(e){let s=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d8ca4191.06fb3583.js b/docs/assets/js/d8ca4191.06fb3583.js new file mode 100644 index 0000000000..7bfbd44b10 --- /dev/null +++ b/docs/assets/js/d8ca4191.06fb3583.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8593"],{713:function(e,t,i){i.r(t),i.d(t,{metadata:()=>n,contentTitle:()=>l,default:()=>f,assets:()=>d,toc:()=>r,frontMatter:()=>o});var n=JSON.parse('{"id":"guides/little-endian-bitfields","title":"Little Endian Bitfields","description":"Defining little endian bitfields","source":"@site/docs/guides/little-endian-bitfields.md","sourceDirName":"guides","slug":"/guides/little-endian-bitfields","permalink":"/docs/guides/little-endian-bitfields","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/little-endian-bitfields.md","tags":[],"version":"current","frontMatter":{"title":"Little Endian Bitfields","description":"Defining little endian bitfields","sidebar_custom_props":{"myEmoji":"\uD83D\uDCBB"}},"sidebar":"defaultSidebar","previous":{"title":"Custom Widgets","permalink":"/docs/guides/custom-widgets"},"next":{"title":"Local Mode","permalink":"/docs/guides/local-mode"}}'),s=i("5893"),a=i("65");let o={title:"Little Endian Bitfields",description:"Defining little endian bitfields",sidebar_custom_props:{myEmoji:"\uD83D\uDCBB"}},l=void 0,d={},r=[];function c(e){let t={code:"code",li:"li",ol:"ol",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields."}),"\n",(0,s.jsx)(t.p,{children:"Here are the rules on how COSMOS handles LITTLE_ENDIAN data:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"COSMOS bit offsets are always defined in BIG_ENDIAN terms. Bit 0 is always the most significant bit of the first byte in a packet, and increasing from there."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"All 8, 16, 32, and 64-bit byte-aligned LITTLE_ENDIAN data types define their bit_offset as the most significant bit of the first byte in the packet that contains part of the item. (This is exactly the same as BIG_ENDIAN). Note that for all except 8-bit LITTLE_ENDIAN items, this is the LEAST significant byte of the item."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"LITTLE_ENDIAN bit fields are defined as any LITTLE_ENDIAN INT or UINT item that is not 8, 16, 32, or 64-bit and byte aligned."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"LITTLE_ENDIAN bit fields must define their bit_offset as the location of the most significant bit of the bitfield in BIG_ENDIAN space as described in rule 1 above. So for example. The following C struct at the beginning of a packet would be defined like so:"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-c",children:'struct {\n unsigned short a:4;\n unsigned short b:8;\n unsigned short c:4;\n}\n\nITEM A 4 4 UINT "struct item a"\nITEM B 12 8 UINT "struct item b"\nITEM C 8 4 UINT "struct item c"\n'})}),"\n",(0,s.jsx)(t.p,{children:"This is hard to visualize, but the structure above gets spread out in a byte array like the following after byte swapping: least significant 4 bits of b, 4-bits a, 4-bits c, most significant 4 bits of b."}),"\n",(0,s.jsx)(t.p,{children:"The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary."})]})}function f(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},65:function(e,t,i){i.d(t,{Z:function(){return l},a:function(){return o}});var n=i(7294);let s={},a=n.createContext(s);function o(e){let t=n.useContext(a);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d8ca4191.f3c0d5a6.js b/docs/assets/js/d8ca4191.f3c0d5a6.js deleted file mode 100644 index 1c8ca2c919..0000000000 --- a/docs/assets/js/d8ca4191.f3c0d5a6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5772],{6215:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>f,frontMatter:()=>a,metadata:()=>n,toc:()=>r});const n=JSON.parse('{"id":"guides/little-endian-bitfields","title":"Little Endian Bitfields","description":"Defining little endian bitfields","source":"@site/docs/guides/little-endian-bitfields.md","sourceDirName":"guides","slug":"/guides/little-endian-bitfields","permalink":"/docs/guides/little-endian-bitfields","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/little-endian-bitfields.md","tags":[],"version":"current","frontMatter":{"title":"Little Endian Bitfields","description":"Defining little endian bitfields","sidebar_custom_props":{"myEmoji":"\ud83d\udcbb"}},"sidebar":"defaultSidebar","previous":{"title":"Custom Widgets","permalink":"/docs/guides/custom-widgets"},"next":{"title":"Local Mode","permalink":"/docs/guides/local-mode"}}');var s=i(4848),o=i(8453);const a={title:"Little Endian Bitfields",description:"Defining little endian bitfields",sidebar_custom_props:{myEmoji:"\ud83d\udcbb"}},d=void 0,l={},r=[];function c(e){const t={code:"code",li:"li",ol:"ol",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields."}),"\n",(0,s.jsx)(t.p,{children:"Here are the rules on how COSMOS handles LITTLE_ENDIAN data:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"COSMOS bit offsets are always defined in BIG_ENDIAN terms. Bit 0 is always the most significant bit of the first byte in a packet, and increasing from there."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"All 8, 16, 32, and 64-bit byte-aligned LITTLE_ENDIAN data types define their bit_offset as the most significant bit of the first byte in the packet that contains part of the item. (This is exactly the same as BIG_ENDIAN). Note that for all except 8-bit LITTLE_ENDIAN items, this is the LEAST significant byte of the item."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"LITTLE_ENDIAN bit fields are defined as any LITTLE_ENDIAN INT or UINT item that is not 8, 16, 32, or 64-bit and byte aligned."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"LITTLE_ENDIAN bit fields must define their bit_offset as the location of the most significant bit of the bitfield in BIG_ENDIAN space as described in rule 1 above. So for example. The following C struct at the beginning of a packet would be defined like so:"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-c",children:'struct {\n unsigned short a:4;\n unsigned short b:8;\n unsigned short c:4;\n}\n\nITEM A 4 4 UINT "struct item a"\nITEM B 12 8 UINT "struct item b"\nITEM C 8 4 UINT "struct item c"\n'})}),"\n",(0,s.jsx)(t.p,{children:"This is hard to visualize, but the structure above gets spread out in a byte array like the following after byte swapping: least significant 4 bits of b, 4-bits a, 4-bits c, most significant 4 bits of b."}),"\n",(0,s.jsx)(t.p,{children:"The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary."})]})}function f(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>a,x:()=>d});var n=i(6540);const s={},o=n.createContext(s);function a(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d9b92eba.1ec770bc.js b/docs/assets/js/d9b92eba.1ec770bc.js new file mode 100644 index 0000000000..800cbcca56 --- /dev/null +++ b/docs/assets/js/d9b92eba.1ec770bc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9148"],{7728:function(e,t,n){n.r(t),n.d(t,{metadata:()=>o,contentTitle:()=>a,default:()=>d,assets:()=>l,toc:()=>c,frontMatter:()=>r});var o=JSON.parse('{"id":"meta/philosophy","title":"Philosophy","description":"COSMOS goals and philosophy","source":"@site/docs/meta/philosophy.md","sourceDirName":"meta","slug":"/meta/philosophy","permalink":"/docs/meta/philosophy","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/philosophy.md","tags":[],"version":"current","frontMatter":{"title":"Philosophy","description":"COSMOS goals and philosophy","sidebar_custom_props":{"myEmoji":"\uD83E\uDD14"}},"sidebar":"defaultSidebar","previous":{"title":"Licenses","permalink":"/docs/meta/licenses"},"next":{"title":"XTCE Support","permalink":"/docs/meta/xtce"}}'),i=n("5893"),s=n("65");let r={title:"Philosophy",description:"COSMOS goals and philosophy",sidebar_custom_props:{myEmoji:"\uD83E\uDD14"}},a=void 0,l={},c=[];function h(e){let t={li:"li",ol:"ol",p:"p",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"COSMOS is a C3 (Command, Control and Communication) system with the following primary goals:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Interface with Anything"}),"\n",(0,i.jsx)(t.p,{children:"COSMOS should be able to communicate with anything that provides a computer-to-computer interface, regardless of what the interface is. This means that COSMOS adapts to what other systems are doing and evolves over time. It does not publish an API that hardware must adhere to if it wants to communicate with COSMOS."}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Log Everything"}),"\n",(0,i.jsx)(t.p,{children:"All data that flows into and out of COSMOS is logged. This provides history as well as attribution for what happened when and why. Keeping accurate logs is an essential and critical aspect of COSMOS."}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Open Architecture and Source"}),"\n",(0,i.jsx)(t.p,{children:"Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation."}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Be Modular"}),"\n",(0,i.jsx)(t.p,{children:"There are infinite number of things for COSMOS to connect to, but it is impossible to ship COSMOS with all the code it would need to talk to everything. For this reason, COSMOS is designed to be modular in all the places that matter."}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Use Configuration when Possible, and Code When Logic Is Needed"}),"\n",(0,i.jsx)(t.p,{children:"Configuration is great for making COSMOS as usable as possible by non-software engineers. It also shows where common patterns exist. However, configuration is horrible when logic or custom math are needed."}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:"Empower Developers"}),"\n",(0,i.jsx)(t.p,{children:"COSMOS is meant to be easy enough to be used by everyone, not just C2 software experts."}),"\n"]}),"\n"]})]})}function d(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},65:function(e,t,n){n.d(t,{Z:function(){return a},a:function(){return r}});var o=n(7294);let i={},s=o.createContext(i);function r(e){let t=o.useContext(s);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/d9b92eba.beb12598.js b/docs/assets/js/d9b92eba.beb12598.js deleted file mode 100644 index bfab4512e1..0000000000 --- a/docs/assets/js/d9b92eba.beb12598.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6637],{735:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"meta/philosophy","title":"Philosophy","description":"COSMOS goals and philosophy","source":"@site/docs/meta/philosophy.md","sourceDirName":"meta","slug":"/meta/philosophy","permalink":"/docs/meta/philosophy","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/meta/philosophy.md","tags":[],"version":"current","frontMatter":{"title":"Philosophy","description":"COSMOS goals and philosophy","sidebar_custom_props":{"myEmoji":"\ud83e\udd14"}},"sidebar":"defaultSidebar","previous":{"title":"Licenses","permalink":"/docs/meta/licenses"},"next":{"title":"XTCE Support","permalink":"/docs/meta/xtce"}}');var s=o(4848),i=o(8453);const r={title:"Philosophy",description:"COSMOS goals and philosophy",sidebar_custom_props:{myEmoji:"\ud83e\udd14"}},a=void 0,l={},c=[];function h(e){const t={li:"li",ol:"ol",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"COSMOS is a C3 (Command, Control and Communication) system with the following primary goals:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"Interface with Anything"}),"\n",(0,s.jsx)(t.p,{children:"COSMOS should be able to communicate with anything that provides a computer-to-computer interface, regardless of what the interface is. This means that COSMOS adapts to what other systems are doing and evolves over time. It does not publish an API that hardware must adhere to if it wants to communicate with COSMOS."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"Log Everything"}),"\n",(0,s.jsx)(t.p,{children:"All data that flows into and out of COSMOS is logged. This provides history as well as attribution for what happened when and why. Keeping accurate logs is an essential and critical aspect of COSMOS."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"Open Architecture and Source"}),"\n",(0,s.jsx)(t.p,{children:"Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"Be Modular"}),"\n",(0,s.jsx)(t.p,{children:"There are infinite number of things for COSMOS to connect to, but it is impossible to ship COSMOS with all the code it would need to talk to everything. For this reason, COSMOS is designed to be modular in all the places that matter."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"Use Configuration when Possible, and Code When Logic Is Needed"}),"\n",(0,s.jsx)(t.p,{children:"Configuration is great for making COSMOS as usable as possible by non-software engineers. It also shows where common patterns exist. However, configuration is horrible when logic or custom math are needed."}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsx)(t.p,{children:"Empower Developers"}),"\n",(0,s.jsx)(t.p,{children:"COSMOS is meant to be easy enough to be used by everyone, not just C2 software experts."}),"\n"]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>a});var n=o(6540);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/db8fa1d0.5ee66a06.js b/docs/assets/js/db8fa1d0.7a966c4c.js similarity index 80% rename from docs/assets/js/db8fa1d0.5ee66a06.js rename to docs/assets/js/db8fa1d0.7a966c4c.js index b6c698e7bd..e7750bbeb8 100644 --- a/docs/assets/js/db8fa1d0.5ee66a06.js +++ b/docs/assets/js/db8fa1d0.7a966c4c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8657],{1263:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"getting-started/installation","title":"Installation","description":"Installing OpenC3 COSMOS","source":"@site/docs/getting-started/installation.md","sourceDirName":"getting-started","slug":"/getting-started/installation","permalink":"/docs/getting-started/installation","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/installation.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Installation","description":"Installing OpenC3 COSMOS","sidebar_custom_props":{"myEmoji":"\ud83d\udcbe"}},"sidebar":"defaultSidebar","previous":{"title":"Getting Started","permalink":"/docs/getting-started"},"next":{"title":"Getting Started","permalink":"/docs/getting-started/gettingstarted"}}');var s=t(4848),i=t(8453);const r={sidebar_position:1,title:"Installation",description:"Installing OpenC3 COSMOS",sidebar_custom_props:{myEmoji:"\ud83d\udcbe"}},c=void 0,l={},a=[{value:"Installing OpenC3 COSMOS",id:"installing-openc3-cosmos",level:2},{value:"Installing OpenC3 COSMOS on Host Machines",id:"installing-openc3-cosmos-on-host-machines",level:2},{value:"PREREQUISITES",id:"prerequisites",level:3},{value:"CLONE PROJECT",id:"clone-project",level:3},{value:"CERTIFICATES",id:"certificates",level:3},{value:"RUN",id:"run",level:3},{value:"CONNECT",id:"connect",level:3},{value:"NEXT STEPS",id:"next-steps",level:3},{value:"Feedback",id:"feedback",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"installing-openc3-cosmos",children:"Installing OpenC3 COSMOS"}),"\n",(0,s.jsx)(n.p,{children:"The following sections describe how to get OpenC3 COSMOS installed on various operating systems. This document should help you setup you host machine to allow you to have a running version of COSMOS in no time."}),"\n",(0,s.jsx)(n.h2,{id:"installing-openc3-cosmos-on-host-machines",children:"Installing OpenC3 COSMOS on Host Machines"}),"\n",(0,s.jsx)(n.h3,{id:"prerequisites",children:"PREREQUISITES"}),"\n",(0,s.jsxs)(n.p,{children:["If you're on Linux (recommended for production), we recommend installing Docker using the ",(0,s.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"Install Docker Engine"})," instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the ",(0,s.jsx)(n.a,{href:"podman",children:"Podman"})," documentation. If you're on Windows or Mac, install ",(0,s.jsx)(n.a,{href:"https://docs.docker.com/get-docker/",children:"Docker Desktop"}),". All platforms also need to install ",(0,s.jsx)(n.a,{href:"https://docs.docker.com/compose/install/",children:"Docker Compose"}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Docker on Windows with WSL2:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["WSL2 consumes 50% of total memory on Windows or 8GB, whichever is less. However, on Windows builds before 20175 (use ",(0,s.jsx)(n.code,{children:"winver"})," to check) it consumes 80% of your total memory. This can have a negative effect on Windows performance!"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["On Windows builds < 20175 or for more fine grained control, create C:\\Users\\<username>\\",(0,s.jsx)(n.a,{href:"https://docs.microsoft.com/en-us/windows/wsl/wsl-config",children:".wslconfig"}),". Suggested contents on a 32GB machine:"]}),"\n",(0,s.jsx)(n.p,{children:"[wsl2]\nmemory=16GB\nswap=0"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{title:"Important: Modify Docker Connection Timeouts",type:"warning",children:(0,s.jsxs)(n.p,{children:['Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don\'t adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value ',(0,s.jsx)(n.code,{children:"vpnKitMaxPortIdleTime"})," to change the timeout (recommend setting to 0). ",(0,s.jsx)(n.strong,{children:"Note:"})," 0 means no timeout (idle connections not dropped)"]})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Note:"})," As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image."]}),"\n",(0,s.jsx)(n.h3,{id:"clone-project",children:"CLONE PROJECT"}),"\n",(0,s.jsxs)(n.p,{children:["We recommend using the COSMOS ",(0,s.jsx)(n.a,{href:"key_concepts#projects",children:"project template"})," to get started."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/OpenC3/cosmos-project.git\ngit clone https://github.com/OpenC3/cosmos-enterprise-project.git\n"})}),"\n",(0,s.jsxs)(n.admonition,{title:"Offline Installation",type:"info",children:[(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:"If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers:"}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:(0,s.jsx)("code",{children:"./openc3.sh util save docker.io openc3inc 5.16.2"})}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:"This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with:"}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:(0,s.jsx)("code",{children:"./openc3.sh util load 5.16.2"})}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:"Note the version specified in save needs to match the version in load."})]}),"\n",(0,s.jsx)(n.h3,{id:"certificates",children:"CERTIFICATES"}),"\n",(0,s.jsxs)(n.p,{children:["The COSMOS containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. ",(0,s.jsx)(n.strong,{children:"Note"}),": If you set the path to the ssl file in the ",(0,s.jsx)(n.code,{children:"SSL_CERT_FILE"})," environment variables the openc3 setup script will copy it and place it for the docker container to load."]}),"\n",(0,s.jsxs)(n.admonition,{title:"SSL Issues",type:"warning",children:[(0,s.jsx)(n.p,{children:'Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else.'}),(0,s.jsx)(n.p,{children:"The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\\Shared\\Ball.pem). Doesn't matter just somewhere with no spaces."}),(0,s.jsx)(n.p,{children:"Then set the following environment variables to that path (ie. C:\\Shared\\Ball.pem)"}),(0,s.jsxs)(n.p,{children:["SSL_CERT_FILE",(0,s.jsx)("br",{}),"\nCURL_CA_BUNDLE",(0,s.jsx)("br",{}),"\nREQUESTS_CA_BUNDLE",(0,s.jsx)("br",{})]}),(0,s.jsxs)(n.p,{children:["Here are some directions on environment variables in Windows: ",(0,s.jsx)(n.a,{href:"https://www.computerhope.com/issues/ch000549.htm",children:"Windows Environment Variables"})]}),(0,s.jsx)(n.p,{children:"You will need to create new ones with the names above and set their value to the full path to the certificate file."})]}),"\n",(0,s.jsx)(n.h3,{id:"run",children:"RUN"}),"\n",(0,s.jsxs)(n.p,{children:['Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\\openc3-project" to the PATH. In Linux you would edit your shell\'s rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: ',(0,s.jsx)(n.code,{children:"export PATH=~/cosmos-project:$PATH"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["Run ",(0,s.jsx)(n.code,{children:"openc3.bat run"})," (Windows), or ",(0,s.jsx)(n.code,{children:"./openc3.sh run"})," (linux/Mac)."]}),"\n",(0,s.jsx)(n.p,{children:"Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'."}),"\n",(0,s.jsxs)(n.p,{children:["If you see an error indicating docker daemon is not running ensure Docker and Docker compose is installed and running. If it errors please try to run ",(0,s.jsx)(n.code,{children:"docker --version"})," or ",(0,s.jsx)(n.code,{children:"docker-compose --version"})," and try to run the start command again. If the error continues please include the version in your issue if you choose to create one."]}),"\n",(0,s.jsxs)(n.p,{children:["Running ",(0,s.jsx)(n.code,{children:"docker ps"})," can help show the running containers."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"openc3.*"})," takes multiple arguments. Run with no arguments for help. An example run of openc3.sh with no arguments will show a usage guide."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"./openc3.sh\nUsage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util]\n* cli: run a cli command as the default user ('cli help' for more info)\n* cliroot: run a cli command as the root user ('cli help' for more info)\n* start: start the docker-compose openc3\n* stop: stop the running dockers for openc3\n* cleanup: cleanup network and volumes for openc3\n* run: run the prebuilt containers for openc3\n* util: various helper commands\n"})}),"\n",(0,s.jsx)(n.h3,{id:"connect",children:"CONNECT"}),"\n",(0,s.jsxs)(n.p,{children:["Connect a web browser to ",(0,s.jsx)(n.a,{href:"http://localhost:2900",children:"http://localhost:2900"}),". Set the password to whatever you want."]}),"\n",(0,s.jsx)(n.h3,{id:"next-steps",children:"NEXT STEPS"}),"\n",(0,s.jsxs)(n.p,{children:["Continue to ",(0,s.jsx)(n.a,{href:"gettingstarted",children:"Getting Started"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"feedback",children:"Feedback"}),"\n",(0,s.jsx)(n.admonition,{title:"Find a problem in the documentation?",type:"note",children:(0,s.jsxs)(n.p,{children:["Please ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/issues/new/choose",children:"create an issue"})," on\nGitHub describing what we can do to make it better."]})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var o=t(6540);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4737"],{6823:function(e,n,t){t.r(n),t.d(n,{metadata:()=>o,contentTitle:()=>c,default:()=>h,assets:()=>l,toc:()=>a,frontMatter:()=>r});var o=JSON.parse('{"id":"getting-started/installation","title":"Installation","description":"Installing OpenC3 COSMOS","source":"@site/docs/getting-started/installation.md","sourceDirName":"getting-started","slug":"/getting-started/installation","permalink":"/docs/getting-started/installation","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/installation.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"title":"Installation","description":"Installing OpenC3 COSMOS","sidebar_custom_props":{"myEmoji":"\uD83D\uDCBE"}},"sidebar":"defaultSidebar","previous":{"title":"Getting Started","permalink":"/docs/getting-started"},"next":{"title":"Getting Started","permalink":"/docs/getting-started/gettingstarted"}}'),s=t("5893"),i=t("65");let r={sidebar_position:1,title:"Installation",description:"Installing OpenC3 COSMOS",sidebar_custom_props:{myEmoji:"\uD83D\uDCBE"}},c=void 0,l={},a=[{value:"Installing OpenC3 COSMOS",id:"installing-openc3-cosmos",level:2},{value:"Installing OpenC3 COSMOS on Host Machines",id:"installing-openc3-cosmos-on-host-machines",level:2},{value:"PREREQUISITES",id:"prerequisites",level:3},{value:"CLONE PROJECT",id:"clone-project",level:3},{value:"CERTIFICATES",id:"certificates",level:3},{value:"RUN",id:"run",level:3},{value:"CONNECT",id:"connect",level:3},{value:"NEXT STEPS",id:"next-steps",level:3},{value:"Feedback",id:"feedback",level:3}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"installing-openc3-cosmos",children:"Installing OpenC3 COSMOS"}),"\n",(0,s.jsx)(n.p,{children:"The following sections describe how to get OpenC3 COSMOS installed on various operating systems. This document should help you setup you host machine to allow you to have a running version of COSMOS in no time."}),"\n",(0,s.jsx)(n.h2,{id:"installing-openc3-cosmos-on-host-machines",children:"Installing OpenC3 COSMOS on Host Machines"}),"\n",(0,s.jsx)(n.h3,{id:"prerequisites",children:"PREREQUISITES"}),"\n",(0,s.jsxs)(n.p,{children:["If you're on Linux (recommended for production), we recommend installing Docker using the ",(0,s.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"Install Docker Engine"})," instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the ",(0,s.jsx)(n.a,{href:"podman",children:"Podman"})," documentation. If you're on Windows or Mac, install ",(0,s.jsx)(n.a,{href:"https://docs.docker.com/get-docker/",children:"Docker Desktop"}),". All platforms also need to install ",(0,s.jsx)(n.a,{href:"https://docs.docker.com/compose/install/",children:"Docker Compose"}),"."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk"}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Docker on Windows with WSL2:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["WSL2 consumes 50% of total memory on Windows or 8GB, whichever is less. However, on Windows builds before 20175 (use ",(0,s.jsx)(n.code,{children:"winver"})," to check) it consumes 80% of your total memory. This can have a negative effect on Windows performance!"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["On Windows builds < 20175 or for more fine grained control, create C:\\Users\\<username>\\",(0,s.jsx)(n.a,{href:"https://docs.microsoft.com/en-us/windows/wsl/wsl-config",children:".wslconfig"}),". Suggested contents on a 32GB machine:"]}),"\n",(0,s.jsx)(n.p,{children:"[wsl2]\nmemory=16GB\nswap=0"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{title:"Important: Modify Docker Connection Timeouts",type:"warning",children:(0,s.jsxs)(n.p,{children:['Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don\'t adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value ',(0,s.jsx)(n.code,{children:"vpnKitMaxPortIdleTime"})," to change the timeout (recommend setting to 0). ",(0,s.jsx)(n.strong,{children:"Note:"})," 0 means no timeout (idle connections not dropped)"]})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"Note:"})," As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image."]}),"\n",(0,s.jsx)(n.h3,{id:"clone-project",children:"CLONE PROJECT"}),"\n",(0,s.jsxs)(n.p,{children:["We recommend using the COSMOS ",(0,s.jsx)(n.a,{href:"key_concepts#projects",children:"project template"})," to get started."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/OpenC3/cosmos-project.git\ngit clone https://github.com/OpenC3/cosmos-enterprise-project.git\n"})}),"\n",(0,s.jsxs)(n.admonition,{title:"Offline Installation",type:"info",children:[(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:"If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers:"}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:(0,s.jsx)("code",{children:"./openc3.sh util save docker.io openc3inc 5.16.2"})}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:"This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with:"}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:(0,s.jsx)("code",{children:"./openc3.sh util load 5.16.2"})}),(0,s.jsx)("p",{style:{"margin-bottom":"20px"},children:"Note the version specified in save needs to match the version in load."})]}),"\n",(0,s.jsx)(n.h3,{id:"certificates",children:"CERTIFICATES"}),"\n",(0,s.jsxs)(n.p,{children:["The COSMOS containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. ",(0,s.jsx)(n.strong,{children:"Note"}),": If you set the path to the ssl file in the ",(0,s.jsx)(n.code,{children:"SSL_CERT_FILE"})," environment variables the openc3 setup script will copy it and place it for the docker container to load."]}),"\n",(0,s.jsxs)(n.admonition,{title:"SSL Issues",type:"warning",children:[(0,s.jsx)(n.p,{children:'Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else.'}),(0,s.jsx)(n.p,{children:"The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\\Shared\\Ball.pem). Doesn't matter just somewhere with no spaces."}),(0,s.jsx)(n.p,{children:"Then set the following environment variables to that path (ie. C:\\Shared\\Ball.pem)"}),(0,s.jsxs)(n.p,{children:["SSL_CERT_FILE",(0,s.jsx)("br",{}),"\nCURL_CA_BUNDLE",(0,s.jsx)("br",{}),"\nREQUESTS_CA_BUNDLE",(0,s.jsx)("br",{})]}),(0,s.jsxs)(n.p,{children:["Here are some directions on environment variables in Windows: ",(0,s.jsx)(n.a,{href:"https://www.computerhope.com/issues/ch000549.htm",children:"Windows Environment Variables"})]}),(0,s.jsx)(n.p,{children:"You will need to create new ones with the names above and set their value to the full path to the certificate file."})]}),"\n",(0,s.jsx)(n.h3,{id:"run",children:"RUN"}),"\n",(0,s.jsxs)(n.p,{children:['Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\\openc3-project" to the PATH. In Linux you would edit your shell\'s rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: ',(0,s.jsx)(n.code,{children:"export PATH=~/cosmos-project:$PATH"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["Run ",(0,s.jsx)(n.code,{children:"openc3.bat run"})," (Windows), or ",(0,s.jsx)(n.code,{children:"./openc3.sh run"})," (linux/Mac)."]}),"\n",(0,s.jsx)(n.p,{children:"Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'."}),"\n",(0,s.jsxs)(n.p,{children:["If you see an error indicating docker daemon is not running ensure Docker and Docker compose is installed and running. If it errors please try to run ",(0,s.jsx)(n.code,{children:"docker --version"})," or ",(0,s.jsx)(n.code,{children:"docker-compose --version"})," and try to run the start command again. If the error continues please include the version in your issue if you choose to create one."]}),"\n",(0,s.jsxs)(n.p,{children:["Running ",(0,s.jsx)(n.code,{children:"docker ps"})," can help show the running containers."]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"openc3.*"})," takes multiple arguments. Run with no arguments for help. An example run of openc3.sh with no arguments will show a usage guide."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"./openc3.sh\nUsage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util]\n* cli: run a cli command as the default user ('cli help' for more info)\n* cliroot: run a cli command as the root user ('cli help' for more info)\n* start: start the docker-compose openc3\n* stop: stop the running dockers for openc3\n* cleanup: cleanup network and volumes for openc3\n* run: run the prebuilt containers for openc3\n* util: various helper commands\n"})}),"\n",(0,s.jsx)(n.h3,{id:"connect",children:"CONNECT"}),"\n",(0,s.jsxs)(n.p,{children:["Connect a web browser to ",(0,s.jsx)(n.a,{href:"http://localhost:2900",children:"http://localhost:2900"}),". Set the password to whatever you want."]}),"\n",(0,s.jsx)(n.h3,{id:"next-steps",children:"NEXT STEPS"}),"\n",(0,s.jsxs)(n.p,{children:["Continue to ",(0,s.jsx)(n.a,{href:"gettingstarted",children:"Getting Started"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.h3,{id:"feedback",children:"Feedback"}),"\n",(0,s.jsx)(n.admonition,{title:"Find a problem in the documentation?",type:"note",children:(0,s.jsxs)(n.p,{children:["Please ",(0,s.jsx)(n.a,{href:"https://github.com/OpenC3/cosmos/issues/new/choose",children:"create an issue"})," on\nGitHub describing what we can do to make it better."]})})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},65:function(e,n,t){t.d(n,{Z:function(){return c},a:function(){return r}});var o=t(7294);let s={},i=o.createContext(s);function r(e){let n=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/dbe31111.99d6cfe3.js b/docs/assets/js/dbe31111.99d6cfe3.js new file mode 100644 index 0000000000..6c522aead3 --- /dev/null +++ b/docs/assets/js/dbe31111.99d6cfe3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9564"],{8729:function(e,t,n){n.r(t),n.d(t,{metadata:()=>i,contentTitle:()=>c,default:()=>h,assets:()=>l,toc:()=>o,frontMatter:()=>r});var i=JSON.parse('{"id":"tools/admin","title":"Admin","description":"Administer COSMOS, install plugins, change settings","source":"@site/docs/tools/admin.md","sourceDirName":"tools","slug":"/tools/admin","permalink":"/docs/tools/admin","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/admin.md","tags":[],"version":"current","frontMatter":{"title":"Admin","description":"Administer COSMOS, install plugins, change settings","sidebar_custom_props":{"myEmoji":"\uD83D\uDEE0\uFE0F"}},"sidebar":"defaultSidebar","previous":{"title":"Tools","permalink":"/docs/tools"},"next":{"title":"Autonomic (Enterprise)","permalink":"/docs/tools/autonomic"}}'),s=n("5893"),a=n("65");let r={title:"Admin",description:"Administer COSMOS, install plugins, change settings",sidebar_custom_props:{myEmoji:"\uD83D\uDEE0\uFE0F"}},c=void 0,l={},o=[{value:"Introduction",id:"introduction",level:2},{value:"Plugins",id:"plugins",level:3},{value:"Targets",id:"targets",level:3},{value:"Interfaces",id:"interfaces",level:3},{value:"Routers",id:"routers",level:3},{value:"Microservices",id:"microservices",level:3},{value:"Packages",id:"packages",level:3},{value:"Tools",id:"tools",level:3},{value:"Redis",id:"redis",level:3},{value:"Secrets",id:"secrets",level:3},{value:"Settings",id:"settings",level:3}];function d(e){let t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(t.p,{children:"Admin has it's own dedicated button at the top of the tools list. It is responsible for administering the COSMOS system including installing new plugins, viewing configuration, storing secrets and changing settings."}),"\n",(0,s.jsx)(t.h3,{id:"plugins",children:"Plugins"}),"\n",(0,s.jsx)(t.p,{children:"The Plugins tab is where you install new plugins into the COSMOS system. Plugins can dynamically add targets, microservices, interfaces, protocols, Telemetry Viewer widgets, and entire tools into the COSMOS runtime. The following screenshot shows the Plugins tab when only the COSMOS Demo is installed:"}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Plugins",src:n(6380).Z+"",width:"2200",height:"874"})}),"\n",(0,s.jsx)(t.p,{children:"The plugin gem name is listed along with all the targets it contains. You can Download, Edit, Upgrade, or Delete (uninstall) the plugin using the buttons to the right. If a plugin's target has been modified, the target name turns into a link which when clicked will download the changed files. New plugins are installed by clicking the top field."}),"\n",(0,s.jsx)(t.h3,{id:"targets",children:"Targets"}),"\n",(0,s.jsx)(t.p,{children:"The Targets tab shows all the targets installed and what plugin they came from. Clicking the eyeball shows the raw JSON that makes up the target configuration."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Targets",src:n(4091).Z+"",width:"2200",height:"964"})}),"\n",(0,s.jsx)(t.h3,{id:"interfaces",children:"Interfaces"}),"\n",(0,s.jsx)(t.p,{children:"The Interfaces tab shows all the interfaces installed. Clicking the eyeball shows the raw JSON that makes up the interface configuration."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Interfaces",src:n(6041).Z+"",width:"2200",height:"766"})}),"\n",(0,s.jsx)(t.h3,{id:"routers",children:"Routers"}),"\n",(0,s.jsx)(t.p,{children:"The Routers tab shows all the routers installed. Clicking the eyeball shows the raw JSON that makes up the router configuration."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Routers",src:n(1518).Z+"",width:"2200",height:"480"})}),"\n",(0,s.jsx)(t.h3,{id:"microservices",children:"Microservices"}),"\n",(0,s.jsx)(t.p,{children:"The Microservices tab shows all the microservices installed, their update time, state, and count. Clicking the eyeball shows the raw JSON that makes up the microservice configuration."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Microservices",src:n(9101).Z+"",width:"2200",height:"1226"})}),"\n",(0,s.jsx)(t.h3,{id:"packages",children:"Packages"}),"\n",(0,s.jsx)(t.p,{children:"The Packages tab shows all the Ruby gems and Python packages installed in the system. You can also install packages from this tab if you're in an offline (air gapped) environment where COSMOS can't pull dependencies from Rubygems or Pypi."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Packages",src:n(7154).Z+"",width:"2200",height:"2620"})}),"\n",(0,s.jsx)(t.h3,{id:"tools",children:"Tools"}),"\n",(0,s.jsx)(t.p,{children:"The Tools tab lists all the tools installed. You can reorder the tools in the Navigation bar by dragging and dropping the left side grab handle."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Tools",src:n(7523).Z+"",width:"2200",height:"2192"})}),"\n",(0,s.jsxs)(t.p,{children:["You can also add links to existing tools in the navigation bar by using the Add button. Any ",(0,s.jsx)(t.a,{href:"https://pictogrammers.com/library/mdi/",children:"material design icons"})," can be used as the Tool icon."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Add Tool",src:n(8713).Z+"",width:"2060",height:"232"})}),"\n",(0,s.jsx)(t.h3,{id:"redis",children:"Redis"}),"\n",(0,s.jsx)(t.p,{children:"The Redis tab allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. THIS IS DANGEROUS, and should only be performed by COSMOS developers."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Redis",src:n(3792).Z+"",width:"2200",height:"1254"})}),"\n",(0,s.jsx)(t.h3,{id:"secrets",children:"Secrets"}),"\n",(0,s.jsxs)(t.p,{children:["The Secrets tab allows you to create secrets that can be used by Interfaces or Microservices using the ",(0,s.jsx)(t.a,{href:"../configuration/plugins#secret",children:"SECRET"})," keyword. Secrets require setting the Secret Name and then can be set to an individual value using the Secret Value, or to the contents of a file (like a certificate file) using the file selector. In the following example the USERNAME and PASSWORD were set to values while CA_FILE was set using an uploaded certificate file."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Secrets",src:n(5895).Z+"",width:"2200",height:"962"})}),"\n",(0,s.jsx)(t.h3,{id:"settings",children:"Settings"}),"\n",(0,s.jsx)(t.p,{children:"The Settings tab contains various settings used throughout COSMOS. These including clearing saved tool configuration, hiding the Astro Clock, changing the system time zone, adding a top and bottom banner, creating a subtitle in the navigation bar, and changing the URLs of the various package libraries."}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.img,{alt:"Settings1",src:n(4755).Z+"",width:"2200",height:"2172"}),"\n",(0,s.jsx)(t.img,{alt:"Settings2",src:n(2797).Z+"",width:"2200",height:"2436"})]})]})}function h(e={}){let{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8713:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/add_tool-6919be6e6c05db133a8816a9fc03bf98b0789a8525da4cdaa7b041b25bf9edb8.png"},6041:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/interfaces-fa10646a27eb9045b70c2c485498a864bed1896ff171b7f31f8698288e08ae73.png"},9101:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/microservices-805cc7d137958ac8183579cdb9a9845e7aef79db19723f0773f4ea4d957b48a1.png"},7154:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/packages-3bfae1a91b0534077280c323a40e879a8ac6a7c3ac45376b3c706a098dab12c3.png"},6380:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/plugins-aabbe060bec19e6fa2490b737f20758af9000066121f5af85f260a3b14f9b3d8.png"},3792:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/redis-4553b5b35292cca3df1fa08577f2175efef34e0fdfe512f30ca70785b086b24f.png"},1518:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/routers-489fe07165973feede7a63adf71781cca7ecb1f7d17c069761c1c57e70cf926e.png"},5895:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/secrets-c8daf324829a0d4dde1d30f9da89d884ca06ce458e400dfa5d1de4ccb10395a1.png"},4755:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/settings1-36a446ec0455ae5ab3a6d225647264647e517e1e2d83da5c639a63756e0339a6.png"},2797:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/settings2-c18e478b65ba569bea37a2bb185b4702e347aecc570fbc7b26a6e66aeecc9129.png"},4091:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/targets-c02c28769712aa226fdcbd3b90329285aeb39e775b9be1df6ab0e2ad31231518.png"},7523:function(e,t,n){n.d(t,{Z:function(){return i}});let i=n.p+"assets/images/tools-d3ea80e2fdc04e5b85743146ebaf1fc7f1406b7b5e6ec9b700ed35dedc8d16e6.png"},65:function(e,t,n){n.d(t,{Z:function(){return c},a:function(){return r}});var i=n(7294);let s={},a=i.createContext(s);function r(e){let t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/dc5f7beb.7170219f.js b/docs/assets/js/dc5f7beb.7170219f.js deleted file mode 100644 index d11c5d42a9..0000000000 --- a/docs/assets/js/dc5f7beb.7170219f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[1839],{1243:(e,t,n)=>{n.d(t,{A:()=>v});n(6540);var s=n(4164),a=n(7559),i=n(4718),o=n(9169),l=n(8774),r=n(1312),c=n(6025),d=n(4848);function m(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const u={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function h(){const e=(0,c.Ay)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.A,{"aria-label":(0,r.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(m,{className:u.breadcrumbHomeIcon})})})}const b={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function x(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,d.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,d.jsx)(l.A,{className:a,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:a,children:t})}function p(e){let{children:t,active:n,index:a,addMicrodata:i}=e;return(0,d.jsxs)("li",{...i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(a+1)})]})}function v(){const e=(0,i.OF)(),t=(0,o.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(a.G.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,r.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(p,{active:s,index:n,addMicrodata:!!a,children:(0,d.jsx)(x,{href:a,isLast:s,children:t.label})},n)}))]})}):null}},8632:(e,t,n)=>{n.r(t),n.d(t,{default:()=>O});var s=n(6540),a=n(1003),i=n(9532),o=n(4848);const l=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,o.jsx)(l.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(l);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,o.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var m=n(4164),u=n(4581),h=n(6929);function b(){const{metadata:e}=c();return(0,o.jsx)(h.A,{previous:e.previous,next:e.next})}var x=n(1878),p=n(4267),v=n(7559),g=n(1312),j=n(8774);const f={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function A(e){let{permalink:t,label:n,count:s,description:a}=e;return(0,o.jsxs)(j.A,{href:t,title:a,className:(0,m.A)(f.tag,s?f.tagWithCount:f.tagRegular),children:[n,s&&(0,o.jsx)("span",{children:s})]})}const _={tags:"tags_jXut",tag:"tag_QGVx"};function N(e){let{tags:t}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("b",{children:(0,o.jsx)(g.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,o.jsx)("ul",{className:(0,m.A)(_.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,o.jsx)("li",{className:_.tag,children:(0,o.jsx)(A,{...e})},e.permalink)))})]})}var C=n(2153);function L(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,l=!!(t||n||s);return i||l?(0,o.jsxs)("footer",{className:(0,m.A)(v.G.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,o.jsx)("div",{className:(0,m.A)("row margin-top--sm",v.G.docs.docFooterTagsRow),children:(0,o.jsx)("div",{className:"col",children:(0,o.jsx)(N,{tags:a})})}),l&&(0,o.jsx)(C.A,{className:(0,m.A)("margin-top--sm",v.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var T=n(1422),k=n(5195);const M={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function w(e){let{collapsed:t,...n}=e;return(0,o.jsx)("button",{type:"button",...n,className:(0,m.A)("clean-btn",M.tocCollapsibleButton,!t&&M.tocCollapsibleButtonExpanded,n.className),children:(0,o.jsx)(g.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const B={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function I(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:l}=(0,T.u)({initialState:!0});return(0,o.jsxs)("div",{className:(0,m.A)(B.tocCollapsible,!i&&B.tocCollapsibleExpanded,n),children:[(0,o.jsx)(w,{collapsed:i,onClick:l}),(0,o.jsx)(T.N,{lazy:!0,className:B.tocCollapsibleContent,collapsed:i,children:(0,o.jsx)(k.A,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const V={tocMobile:"tocMobile_ITEo"};function H(){const{toc:e,frontMatter:t}=c();return(0,o.jsx)(I,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,m.A)(v.G.docs.docTocMobile,V.tocMobile)})}var y=n(7763);function E(){const{toc:e,frontMatter:t}=c();return(0,o.jsx)(y.A,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:v.G.docs.docTocDesktop})}var G=n(1107),P=n(8509);function F(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,o.jsxs)("div",{className:(0,m.A)(v.G.docs.docMarkdown,"markdown"),children:[n&&(0,o.jsx)("header",{children:(0,o.jsx)(G.A,{as:"h1",children:n})}),(0,o.jsx)(P.A,{children:t})]})}var R=n(1243),D=n(6896);const S={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function U(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,u.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,o.jsx)(H,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,o.jsx)(E,{})}}(),{metadata:s}=c();return(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:(0,m.A)("col",!n.hidden&&S.docItemCol),children:[(0,o.jsx)(D.A,{metadata:s}),(0,o.jsx)(x.A,{}),(0,o.jsxs)("div",{className:S.docItemContainer,children:[(0,o.jsxs)("article",{children:[(0,o.jsx)(R.A,{}),(0,o.jsx)(p.A,{}),n.mobile,(0,o.jsx)(F,{children:t}),(0,o.jsx)(L,{})]}),(0,o.jsx)(b,{})]})]}),n.desktop&&(0,o.jsx)("div",{className:"col col--3",children:n.desktop})]})}function O(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,o.jsx)(r,{content:e.content,children:(0,o.jsxs)(a.e3,{className:t,children:[(0,o.jsx)(d,{}),(0,o.jsx)(U,{children:(0,o.jsx)(n,{})})]})})}},6929:(e,t,n)=>{n.d(t,{A:()=>r});n(6540);var s=n(1312),a=n(4164),i=n(8774),o=n(4848);function l(e){const{permalink:t,title:n,subLabel:s,isNext:l}=e;return(0,o.jsxs)(i.A,{className:(0,a.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,o.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,o.jsx)("div",{className:"pagination-nav__label",children:n})]})}function r(e){const{previous:t,next:n}=e;return(0,o.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,o.jsx)(l,{...t,subLabel:(0,o.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,o.jsx)(l,{...n,subLabel:(0,o.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4267:(e,t,n)=>{n.d(t,{A:()=>r});n(6540);var s=n(4164),a=n(1312),i=n(7559),o=n(3025),l=n(4848);function r(e){let{className:t}=e;const n=(0,o.r)();return n.badge?(0,l.jsx)("span",{className:(0,s.A)(t,i.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(a.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},1878:(e,t,n)=>{n.d(t,{A:()=>p});n(6540);var s=n(4164),a=n(4586),i=n(8774),o=n(1312),l=n(8295),r=n(7559),c=n(3886),d=n(3025),m=n(4848);const u={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,m.jsx)(o.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,m.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,m.jsx)(o.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,m.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=u[e.versionMetadata.banner];return(0,m.jsx)(t,{...e})}function b(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,m.jsx)(o.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,m.jsx)("b",{children:(0,m.jsx)(i.A,{to:n,onClick:s,children:(0,m.jsx)(o.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:i}}=(0,a.A)(),{pluginId:o}=(0,l.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,c.g1)(o),{latestDocSuggestion:u,latestVersionSuggestion:x}=(0,l.HW)(o),p=u??(v=x).docs.find((e=>e.id===v.mainDocId));var v;return(0,m.jsxs)("div",{className:(0,s.A)(t,r.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,m.jsx)("div",{children:(0,m.jsx)(h,{siteTitle:i,versionMetadata:n})}),(0,m.jsx)("div",{className:"margin-top--md",children:(0,m.jsx)(b,{versionLabel:x.label,to:p.path,onClick:()=>d(x.name)})})]})}function p(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,m.jsx)(x,{className:t,versionMetadata:n}):null}}}]); \ No newline at end of file diff --git a/docs/assets/js/dc5f7beb.a2dd0d43.js b/docs/assets/js/dc5f7beb.a2dd0d43.js new file mode 100644 index 0000000000..fb455ac4cd --- /dev/null +++ b/docs/assets/js/dc5f7beb.a2dd0d43.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["1029"],{2520:function(e,t,n){n.d(t,{Z:()=>p});var s=n("5893");n("7294");var a=n("7026"),l=n("4681"),i=n("3413"),o=n("9246"),r=n("3012"),c=n("6025"),d=n("4757");function u(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}let m="breadcrumbHomeIcon_YNFT";function h(){let e=(0,d.ZP)("/");return(0,s.jsx)("li",{className:"breadcrumbs__item",children:(0,s.jsx)(r.Z,{"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,s.jsx)(u,{className:m})})})}let b="breadcrumbsContainer_Z_bl";function x(e){let{children:t,href:n,isLast:a}=e,l="breadcrumbs__link";return a?(0,s.jsx)("span",{className:l,itemProp:"name",children:t}):n?(0,s.jsx)(r.Z,{className:l,href:n,itemProp:"item",children:(0,s.jsx)("span",{itemProp:"name",children:t})}):(0,s.jsx)("span",{className:l,children:t})}function v(e){let{children:t,active:n,index:l,addMicrodata:i}=e;return(0,s.jsxs)("li",{...i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,a.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,s.jsx)("meta",{itemProp:"position",content:String(l+1)})]})}function p(){let e=(0,i.s1)(),t=(0,o.Ns)();return e?(0,s.jsx)("nav",{className:(0,a.Z)(l.k.docs.docBreadcrumbs,b),"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,s.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,s.jsx)(h,{}),e.map((t,n)=>{let a=n===e.length-1,l="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,s.jsx)(v,{active:a,index:n,addMicrodata:!!l,children:(0,s.jsx)(x,{href:l,isLast:a,children:t.label})},n)})]})}):null}},5390:function(e,t,n){n.r(t),n.d(t,{default:()=>U});var s=n("5893"),a=n("7294"),l=n("4713"),i=n("5346");let o=a.createContext(null);function r(e){var t;let{children:n,content:l}=e;let i=(t=l,(0,a.useMemo)(()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,contentTitle:t.contentTitle,toc:t.toc}),[t]));return(0,s.jsx)(o.Provider,{value:i,children:n})}function c(){let e=(0,a.useContext)(o);if(null===e)throw new i.i6("DocProvider");return e}function d(){let{metadata:e,frontMatter:t,assets:n}=c();return(0,s.jsx)(l.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n("7026"),m=n("4704"),h=n("3944");function b(){let{metadata:e}=c();return(0,s.jsx)(h.Z,{previous:e.previous,next:e.next})}var x=n("9580"),v=n("6035"),p=n("4681"),j=n("6025"),g=n("3012");let f={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function _(e){let{permalink:t,label:n,count:a,description:l}=e;return(0,s.jsxs)(g.Z,{href:t,title:l,className:(0,u.Z)(f.tag,a?f.tagWithCount:f.tagRegular),children:[n,a&&(0,s.jsx)("span",{children:a})]})}let Z="tags_jXut",C="tag_QGVx";function N(e){let{tags:t}=e;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("b",{children:(0,s.jsx)(j.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,s.jsx)("ul",{className:(0,u.Z)(Z,"padding--none","margin-left--sm"),children:t.map(e=>(0,s.jsx)("li",{className:C,children:(0,s.jsx)(_,{...e})},e.permalink))})]})}var k=n("6594");function L(){let{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,tags:l}=e,i=l.length>0,o=!!(t||n||a);return i||o?(0,s.jsxs)("footer",{className:(0,u.Z)(p.k.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,s.jsx)("div",{className:(0,u.Z)("row margin-top--sm",p.k.docs.docFooterTagsRow),children:(0,s.jsx)("div",{className:"col",children:(0,s.jsx)(N,{tags:l})})}),o&&(0,s.jsx)(k.Z,{className:(0,u.Z)("margin-top--sm",p.k.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a})]}):null}var T=n("7455"),w=n("6365");let I={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function B(e){let{collapsed:t,...n}=e;return(0,s.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",I.tocCollapsibleButton,!t&&I.tocCollapsibleButtonExpanded,n.className),children:(0,s.jsx)(j.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}let E={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function M(e){let{toc:t,className:n,minHeadingLevel:a,maxHeadingLevel:l}=e,{collapsed:i,toggleCollapsed:o}=(0,T.u)({initialState:!0});return(0,s.jsxs)("div",{className:(0,u.Z)(E.tocCollapsible,!i&&E.tocCollapsibleExpanded,n),children:[(0,s.jsx)(B,{collapsed:i,onClick:o}),(0,s.jsx)(T.z,{lazy:!0,className:E.tocCollapsibleContent,collapsed:i,children:(0,s.jsx)(w.Z,{toc:t,minHeadingLevel:a,maxHeadingLevel:l})})]})}let V="tocMobile_ITEo";function y(){let{toc:e,frontMatter:t}=c();return(0,s.jsx)(M,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(p.k.docs.docTocMobile,V)})}var A=n("1397");function H(){let{toc:e,frontMatter:t}=c();return(0,s.jsx)(A.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:p.k.docs.docTocDesktop})}var P=n("4403"),F=n("6798");function R(e){let{children:t}=e,n=function(){let{metadata:e,frontMatter:t,contentTitle:n}=c();return!t.hide_title&&void 0===n?e.title:null}();return(0,s.jsxs)("div",{className:(0,u.Z)(p.k.docs.docMarkdown,"markdown"),children:[n&&(0,s.jsx)("header",{children:(0,s.jsx)(P.Z,{as:"h1",children:n})}),(0,s.jsx)(F.Z,{children:t})]})}var D=n("2520"),O=n("5427");let S={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function z(e){let{children:t}=e,n=function(){let{frontMatter:e,toc:t}=c(),n=(0,m.i)(),a=e.hide_table_of_contents,l=!a&&t.length>0,i=l?(0,s.jsx)(y,{}):void 0;return{hidden:a,mobile:i,desktop:l&&("desktop"===n||"ssr"===n)?(0,s.jsx)(H,{}):void 0}}(),{metadata:a}=c();return(0,s.jsxs)("div",{className:"row",children:[(0,s.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&S.docItemCol),children:[(0,s.jsx)(O.Z,{metadata:a}),(0,s.jsx)(x.Z,{}),(0,s.jsxs)("div",{className:S.docItemContainer,children:[(0,s.jsxs)("article",{children:[(0,s.jsx)(D.Z,{}),(0,s.jsx)(v.Z,{}),n.mobile,(0,s.jsx)(R,{children:t}),(0,s.jsx)(L,{})]}),(0,s.jsx)(b,{})]})]}),n.desktop&&(0,s.jsx)("div",{className:"col col--3",children:n.desktop})]})}function U(e){let t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,s.jsx)(r,{content:e.content,children:(0,s.jsxs)(l.FG,{className:t,children:[(0,s.jsx)(d,{}),(0,s.jsx)(z,{children:(0,s.jsx)(n,{})})]})})}},3944:function(e,t,n){n.d(t,{Z:()=>r});var s=n("5893");n("7294");var a=n("6025"),l=n("7026"),i=n("3012");function o(e){let{permalink:t,title:n,subLabel:a,isNext:o}=e;return(0,s.jsxs)(i.Z,{className:(0,l.Z)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[a&&(0,s.jsx)("div",{className:"pagination-nav__sublabel",children:a}),(0,s.jsx)("div",{className:"pagination-nav__label",children:n})]})}function r(e){let{previous:t,next:n}=e;return(0,s.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,a.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,s.jsx)(o,{...t,subLabel:(0,s.jsx)(a.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,s.jsx)(o,{...n,subLabel:(0,s.jsx)(a.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},6035:function(e,t,n){n.d(t,{Z:function(){return r}});var s=n(5893);n(7294);var a=n(7026),l=n(6025),i=n(4681),o=n(8529);function r(e){let{className:t}=e,n=(0,o.E)();return n.badge?(0,s.jsx)("span",{className:(0,a.Z)(t,i.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,s.jsx)(l.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},9580:function(e,t,n){n.d(t,{Z:function(){return v}});var s=n(5893);n(7294);var a=n(7026),l=n(2933),i=n(3012),o=n(6025),r=n(1723),c=n(4681),d=n(3896),u=n(8529);let m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,s.jsx)(o.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,s.jsx)(o.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){let t=m[e.versionMetadata.banner];return(0,s.jsx)(t,{...e})}function b(e){let{versionLabel:t,to:n,onClick:a}=e;return(0,s.jsx)(o.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,s.jsx)("b",{children:(0,s.jsx)(i.Z,{to:n,onClick:a,children:(0,s.jsx)(o.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let t,{className:n,versionMetadata:i}=e,{siteConfig:{title:o}}=(0,l.Z)(),{pluginId:u}=(0,r.gA)({failfast:!0}),{savePreferredVersionName:m}=(0,d.J)(u),{latestDocSuggestion:x,latestVersionSuggestion:v}=(0,r.Jo)(u);let p=x??(t=v).docs.find(e=>e.id===t.mainDocId);return(0,s.jsxs)("div",{className:(0,a.Z)(n,c.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,s.jsx)("div",{children:(0,s.jsx)(h,{siteTitle:o,versionMetadata:i})}),(0,s.jsx)("div",{className:"margin-top--md",children:(0,s.jsx)(b,{versionLabel:v.label,to:p.path,onClick:()=>m(v.name)})})]})}function v(e){let{className:t}=e,n=(0,u.E)();return n.banner?(0,s.jsx)(x,{className:t,versionMetadata:n}):null}}}]); \ No newline at end of file diff --git a/docs/assets/js/e07a6232.8927d86e.js b/docs/assets/js/e07a6232.8927d86e.js deleted file mode 100644 index 6c08418750..0000000000 --- a/docs/assets/js/e07a6232.8927d86e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[783],{3084:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Development","slug":"/development","permalink":"/docs/development","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Scripting API Guide","permalink":"/docs/guides/scripting-api"},"next":{"title":"Testing with Curl","permalink":"/docs/development/curl"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/e07a6232.d0bbf0d5.js b/docs/assets/js/e07a6232.d0bbf0d5.js new file mode 100644 index 0000000000..778ee3969d --- /dev/null +++ b/docs/assets/js/e07a6232.d0bbf0d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6477"],{3176:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Development","slug":"/development","permalink":"/docs/development","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Scripting API Guide","permalink":"/docs/guides/scripting-api"},"next":{"title":"Testing with Curl","permalink":"/docs/development/curl"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/e501b0d1.01eb324b.js b/docs/assets/js/e501b0d1.01eb324b.js deleted file mode 100644 index c206b3659e..0000000000 --- a/docs/assets/js/e501b0d1.01eb324b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3343],{6545:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"guides/local-mode","title":"Local Mode","description":"Edit scripts and screens directly on the host file system","source":"@site/docs/guides/local-mode.md","sourceDirName":"guides","slug":"/guides/local-mode","permalink":"/docs/guides/local-mode","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/local-mode.md","tags":[],"version":"current","frontMatter":{"title":"Local Mode","description":"Edit scripts and screens directly on the host file system","sidebar_custom_props":{"myEmoji":"\ud83e\udded"}},"sidebar":"defaultSidebar","previous":{"title":"Little Endian Bitfields","permalink":"/docs/guides/little-endian-bitfields"},"next":{"title":"Logging","permalink":"/docs/guides/logging"}}');var o=i(4848),s=i(8453);const c={title:"Local Mode",description:"Edit scripts and screens directly on the host file system",sidebar_custom_props:{myEmoji:"\ud83e\udded"}},a=void 0,d={},l=[{value:"Using Local Mode",id:"using-local-mode",level:2},{value:"Editing scripts",id:"editing-scripts",level:3},{value:"Disabling Local Mode",id:"disabling-local-mode",level:3},{value:"Configuration Management",id:"configuration-management",level:2}];function r(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions."}),"\n",(0,o.jsx)(t.h2,{id:"using-local-mode",children:"Using Local Mode"}),"\n",(0,o.jsxs)(t.p,{children:["In this tutorial we will use the COSMOS Demo as configured by the ",(0,o.jsx)(t.a,{href:"/docs/getting-started/installation",children:"Installation Guide"}),". You should have cloned a ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-project",children:"cosmos-project"})," and started it using ",(0,o.jsx)(t.code,{children:"openc3.sh run"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["If you check the project directory you should see a ",(0,o.jsx)(t.code,{children:"plugins/DEFAULT/openc3-cosmos-demo"})," directory. This will contain both the gem that was installed and a ",(0,o.jsx)(t.code,{children:"plugin_instance.json"})," file. The ",(0,o.jsx)(t.code,{children:"plugin_instance.json"})," file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later."]}),"\n",(0,o.jsx)(t.h3,{id:"editing-scripts",children:"Editing scripts"}),"\n",(0,o.jsx)(t.admonition,{title:"Visual Studio Code",type:"info",children:(0,o.jsxs)(t.p,{children:["This tutorial will use ",(0,o.jsx)(t.a,{href:"https://code.visualstudio.com",children:"VS Code"})," which is the editor used by the COSMOS developers."]})}),"\n",(0,o.jsxs)(t.p,{children:["The most common use case for Local Mode is script development. Launch Script Runner and open the ",(0,o.jsx)(t.code,{children:"INST/procedures/checks.rb"})," file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to ",(0,o.jsx)(t.code,{children:"plugins/targets_modified/INST/procedures/checks.rb"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(1073).A+"",width:"991",height:"547"})}),"\n",(0,o.jsxs)(t.p,{children:["At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: ",(0,o.jsx)(t.code,{children:"# This is a script"}),". Now if we go back to Script Runner the changes have not ",(0,o.jsx)(t.em,{children:"automatically"})," appeared. However, there is a Reload button next to the filename that will refresh the file from the backend."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(9222).A+"",width:"839",height:"532"})}),"\n",(0,o.jsx)(t.p,{children:"Clicking this reloads the file which has been synced into COSMOS and now we see our comment."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(2740).A+"",width:"839",height:"232"})}),"\n",(0,o.jsx)(t.h3,{id:"disabling-local-mode",children:"Disabling Local Mode"}),"\n",(0,o.jsxs)(t.p,{children:["If you want to disable Local Mode you can edit the .env file and delete the setting ",(0,o.jsx)(t.code,{children:"OPENC3_LOCAL_MODE=1"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"configuration-management",children:"Configuration Management"}),"\n",(0,o.jsx)(t.p,{children:"It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory."}),"\n",(0,o.jsx)(t.p,{children:"At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:"openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1\n Successfully built RubyGem\n Name: openc3-cosmos-demo\n Version: 1.0.1\n File: openc3-cosmos-demo-1.0.1.gem\n"})}),"\n",(0,o.jsx)(t.p,{children:"Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(3239).A+"",width:"1272",height:"619"})}),"\n",(0,o.jsxs)(t.p,{children:["When the new plugin is installed, the project's ",(0,o.jsx)(t.code,{children:"plugins"})," directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install."]}),"\n",(0,o.jsx)(t.p,{children:"Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS."})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(r,{...e})}):r(e)}},3239:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/delete_modified-ecf9beabf5e6cc6b8cc9d249ba9e313bd18d51c671ebc36029b4cebd729fa2d0.png"},1073:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/project-c521374330008c1292b4da1b9a1c8af6647ab59f1617b470f26e76a521fe8059.png"},9222:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/reload_file-056b240b1d48539a9fecfe2ad1bac0c27d83f5dddcd29af6cf719986869406ee.png"},2740:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/reloaded-516bc4c257f9b7f6ce3714f5a06eeef8ad47a8461e21613ba26989d5e56260ec.png"},8453:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>a});var n=i(6540);const o={},s=n.createContext(o);function c(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e501b0d1.9f75a539.js b/docs/assets/js/e501b0d1.9f75a539.js new file mode 100644 index 0000000000..2a7db0e673 --- /dev/null +++ b/docs/assets/js/e501b0d1.9f75a539.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8884"],{1433:function(e,t,i){i.r(t),i.d(t,{metadata:()=>n,contentTitle:()=>a,default:()=>h,assets:()=>d,toc:()=>l,frontMatter:()=>c});var n=JSON.parse('{"id":"guides/local-mode","title":"Local Mode","description":"Edit scripts and screens directly on the host file system","source":"@site/docs/guides/local-mode.md","sourceDirName":"guides","slug":"/guides/local-mode","permalink":"/docs/guides/local-mode","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/local-mode.md","tags":[],"version":"current","frontMatter":{"title":"Local Mode","description":"Edit scripts and screens directly on the host file system","sidebar_custom_props":{"myEmoji":"\uD83E\uDDED"}},"sidebar":"defaultSidebar","previous":{"title":"Little Endian Bitfields","permalink":"/docs/guides/little-endian-bitfields"},"next":{"title":"Logging","permalink":"/docs/guides/logging"}}'),o=i("5893"),s=i("65");let c={title:"Local Mode",description:"Edit scripts and screens directly on the host file system",sidebar_custom_props:{myEmoji:"\uD83E\uDDED"}},a=void 0,d={},l=[{value:"Using Local Mode",id:"using-local-mode",level:2},{value:"Editing scripts",id:"editing-scripts",level:3},{value:"Disabling Local Mode",id:"disabling-local-mode",level:3},{value:"Configuration Management",id:"configuration-management",level:2}];function r(e){let t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions."}),"\n",(0,o.jsx)(t.h2,{id:"using-local-mode",children:"Using Local Mode"}),"\n",(0,o.jsxs)(t.p,{children:["In this tutorial we will use the COSMOS Demo as configured by the ",(0,o.jsx)(t.a,{href:"/docs/getting-started/installation",children:"Installation Guide"}),". You should have cloned a ",(0,o.jsx)(t.a,{href:"https://github.com/OpenC3/cosmos-project",children:"cosmos-project"})," and started it using ",(0,o.jsx)(t.code,{children:"openc3.sh run"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["If you check the project directory you should see a ",(0,o.jsx)(t.code,{children:"plugins/DEFAULT/openc3-cosmos-demo"})," directory. This will contain both the gem that was installed and a ",(0,o.jsx)(t.code,{children:"plugin_instance.json"})," file. The ",(0,o.jsx)(t.code,{children:"plugin_instance.json"})," file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later."]}),"\n",(0,o.jsx)(t.h3,{id:"editing-scripts",children:"Editing scripts"}),"\n",(0,o.jsx)(t.admonition,{title:"Visual Studio Code",type:"info",children:(0,o.jsxs)(t.p,{children:["This tutorial will use ",(0,o.jsx)(t.a,{href:"https://code.visualstudio.com",children:"VS Code"})," which is the editor used by the COSMOS developers."]})}),"\n",(0,o.jsxs)(t.p,{children:["The most common use case for Local Mode is script development. Launch Script Runner and open the ",(0,o.jsx)(t.code,{children:"INST/procedures/checks.rb"})," file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to ",(0,o.jsx)(t.code,{children:"plugins/targets_modified/INST/procedures/checks.rb"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(3831).Z+"",width:"991",height:"547"})}),"\n",(0,o.jsxs)(t.p,{children:["At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: ",(0,o.jsx)(t.code,{children:"# This is a script"}),". Now if we go back to Script Runner the changes have not ",(0,o.jsx)(t.em,{children:"automatically"})," appeared. However, there is a Reload button next to the filename that will refresh the file from the backend."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(2166).Z+"",width:"839",height:"532"})}),"\n",(0,o.jsx)(t.p,{children:"Clicking this reloads the file which has been synced into COSMOS and now we see our comment."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(500).Z+"",width:"839",height:"232"})}),"\n",(0,o.jsx)(t.h3,{id:"disabling-local-mode",children:"Disabling Local Mode"}),"\n",(0,o.jsxs)(t.p,{children:["If you want to disable Local Mode you can edit the .env file and delete the setting ",(0,o.jsx)(t.code,{children:"OPENC3_LOCAL_MODE=1"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"configuration-management",children:"Configuration Management"}),"\n",(0,o.jsx)(t.p,{children:"It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory."}),"\n",(0,o.jsx)(t.p,{children:"At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:"openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1\n Successfully built RubyGem\n Name: openc3-cosmos-demo\n Version: 1.0.1\n File: openc3-cosmos-demo-1.0.1.gem\n"})}),"\n",(0,o.jsx)(t.p,{children:"Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Project Layout",src:i(6273).Z+"",width:"1272",height:"619"})}),"\n",(0,o.jsxs)(t.p,{children:["When the new plugin is installed, the project's ",(0,o.jsx)(t.code,{children:"plugins"})," directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install."]}),"\n",(0,o.jsx)(t.p,{children:"Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS."})]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(r,{...e})}):r(e)}},6273:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/delete_modified-ecf9beabf5e6cc6b8cc9d249ba9e313bd18d51c671ebc36029b4cebd729fa2d0.png"},3831:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/project-c521374330008c1292b4da1b9a1c8af6647ab59f1617b470f26e76a521fe8059.png"},2166:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/reload_file-056b240b1d48539a9fecfe2ad1bac0c27d83f5dddcd29af6cf719986869406ee.png"},500:function(e,t,i){i.d(t,{Z:function(){return n}});let n=i.p+"assets/images/reloaded-516bc4c257f9b7f6ce3714f5a06eeef8ad47a8461e21613ba26989d5e56260ec.png"},65:function(e,t,i){i.d(t,{Z:function(){return a},a:function(){return c}});var n=i(7294);let o={},s=n.createContext(o);function c(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e91075a4.b09a7b94.js b/docs/assets/js/e91075a4.b09a7b94.js deleted file mode 100644 index 95f82e7dc9..0000000000 --- a/docs/assets/js/e91075a4.b09a7b94.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3641],{3045:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Getting Started","description":"Get started with OpenC3 COSMOS","slug":"/getting-started","permalink":"/docs/getting-started","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Introduction","permalink":"/docs/"},"next":{"title":"Installation","permalink":"/docs/getting-started/installation"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/e91075a4.ceeaa3e3.js b/docs/assets/js/e91075a4.ceeaa3e3.js new file mode 100644 index 0000000000..4c4a3a4093 --- /dev/null +++ b/docs/assets/js/e91075a4.ceeaa3e3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["9578"],{8445:function(t){t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Getting Started","description":"Get started with OpenC3 COSMOS","slug":"/getting-started","permalink":"/docs/getting-started","sidebar":"defaultSidebar","navigation":{"previous":{"title":"Introduction","permalink":"/docs/"},"next":{"title":"Installation","permalink":"/docs/getting-started/installation"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/ebec1ccb.b96ede4d.js b/docs/assets/js/ebec1ccb.8ebd318a.js similarity index 83% rename from docs/assets/js/ebec1ccb.b96ede4d.js rename to docs/assets/js/ebec1ccb.8ebd318a.js index 28200f478c..ea3940e2d8 100644 --- a/docs/assets/js/ebec1ccb.b96ede4d.js +++ b/docs/assets/js/ebec1ccb.8ebd318a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6417],{3238:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"getting-started/key_concepts","title":"Key Concepts","description":"Projects, Containerization, Frontend, Backend","source":"@site/docs/getting-started/key_concepts.md","sourceDirName":"getting-started","slug":"/getting-started/key_concepts","permalink":"/docs/getting-started/key_concepts","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/key_concepts.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"title":"Key Concepts","description":"Projects, Containerization, Frontend, Backend","sidebar_custom_props":{"myEmoji":"\ud83d\udca1"}},"sidebar":"defaultSidebar","previous":{"title":"Upgrading","permalink":"/docs/getting-started/upgrading"},"next":{"title":"Requirements and Design","permalink":"/docs/getting-started/requirements"}}');var o=t(4848),r=t(8453);const i={sidebar_position:5,title:"Key Concepts",description:"Projects, Containerization, Frontend, Backend",sidebar_custom_props:{myEmoji:"\ud83d\udca1"}},a="OpenC3 COSMOS Key Concepts",c={},d=[{value:"Projects",id:"projects",level:2},{value:"Containerization",id:"containerization",level:2},{value:"Images",id:"images",level:3},{value:"Containers",id:"containers",level:3},{value:"Docker Compose",id:"docker-compose",level:3},{value:"Environment File",id:"environment-file",level:3},{value:"Kubernetes",id:"kubernetes",level:3},{value:"Frontend",id:"frontend",level:2},{value:"Vue.js",id:"vuejs",level:3},{value:"Single-Spa",id:"single-spa",level:3},{value:"Astro UX",id:"astro-ux",level:3},{value:"Backend",id:"backend",level:2},{value:"Redis",id:"redis",level:3},{value:"MinIO",id:"minio",level:3},{value:"Ruby on Rails",id:"ruby-on-rails",level:3}];function l(e){const s={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"openc3-cosmos-key-concepts",children:"OpenC3 COSMOS Key Concepts"})}),"\n",(0,o.jsx)(s.h2,{id:"projects",children:"Projects"}),"\n",(0,o.jsxs)(s.p,{children:["The main COSMOS ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos",children:"repo"})," contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project",children:"project"})," to launch COSMOS. The project consists of the ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/openc3.sh",children:"openc3.sh"})," and ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/openc3.bat",children:"openc3.bat"})," files for starting and stopping COSMOS, the ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/compose.yaml",children:"compose.yaml"})," for configuring the COSMOS containers, and the ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/.env",children:".env"})," file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik."]}),"\n",(0,o.jsx)(s.h2,{id:"containerization",children:"Containerization"}),"\n",(0,o.jsx)(s.h3,{id:"images",children:"Images"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/get-started/overview/#images",children:"Docker"}),', "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called ',(0,o.jsx)(s.a,{href:"https://www.alpinelinux.org/",children:"Alpine Linux"}),". It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/engine/reference/builder/",children:"Dockerfile"})," to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend."]}),"\n",(0,o.jsx)(s.h3,{id:"containers",children:"Containers"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://www.docker.com/resources/what-container/",children:"Docker"}),', "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per ',(0,o.jsx)(s.a,{href:"https://docs.docker.com/guides/walkthroughs/what-is-a-container/",children:"Docker"}),', "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks.']}),"\n",(0,o.jsx)(s.p,{children:"The COSMOS Open Source containers consist of the following:"}),"\n",(0,o.jsxs)(s.table,{children:[(0,o.jsx)(s.thead,{children:(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.th,{children:"Name"}),(0,o.jsx)(s.th,{children:"Description"})]})}),(0,o.jsxs)(s.tbody,{children:[(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-cosmos-init-1"}),(0,o.jsx)(s.td,{children:"Copies files to Minio and configures COSMOS then exits"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-operator-1"}),(0,o.jsx)(s.td,{children:"Main COSMOS container that runs the interfaces and target microservices"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-cosmos-cmd-tlm-api-1"}),(0,o.jsx)(s.td,{children:"Rails server that provides all the COSMOS API endpoints"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-cosmos-script-runner-api-1"}),(0,o.jsx)(s.td,{children:"Rails server that provides the Script API endpoints"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-redis-1"}),(0,o.jsx)(s.td,{children:"Serves the static target configuration"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-redis-ephemeral-1"}),(0,o.jsxs)(s.td,{children:["Serves the ",(0,o.jsx)(s.a,{href:"https://redis.io/docs/data-types/streams",children:"streams"})," containing the raw and decomutated data"]})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-minio-1"}),(0,o.jsx)(s.td,{children:"Provides a S3 like bucket storage interface and also serves as a static webserver for the tool files"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-traefik-1"}),(0,o.jsx)(s.td,{children:"Provides a reverse proxy and load balancer with routes to the COSMOS endpoints"})]})]})]}),"\n",(0,o.jsxs)(s.p,{children:["The container list for ",(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"Enterprise COSMOS"})," consists of the following:"]}),"\n",(0,o.jsxs)(s.table,{children:[(0,o.jsx)(s.thead,{children:(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.th,{children:"Name"}),(0,o.jsx)(s.th,{children:"Description"})]})}),(0,o.jsxs)(s.tbody,{children:[(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-enterprise-openc3-metrics-1"}),(0,o.jsx)(s.td,{children:"Rails server that provides metrics on COSMOS performance"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-enterprise-openc3-keycloak-1"}),(0,o.jsx)(s.td,{children:"Single-Sign On service for authentication"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-enterprise-openc3-postgresql-1"}),(0,o.jsx)(s.td,{children:"SQL Database for use by Keycloak"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"openc3-nfs *"}),(0,o.jsx)(s.td,{children:"Network File System pod only for use in Kubernetes to share code libraries between containers"})]})]})]}),"\n",(0,o.jsx)(s.h3,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/compose/",children:"Docker"}),', "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application\'s services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The ',(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/compose.yaml",children:"compose.yaml"})," is where ports are exposed and environment variables are used."]}),"\n",(0,o.jsx)(s.h3,{id:"environment-file",children:"Environment File"}),"\n",(0,o.jsxs)(s.p,{children:["COSMOS uses an ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/compose/environment-variables/env-file/",children:"environment file"})," along with Docker Compose to pass environment variables into the COSMOS runtime. This ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/.env",children:".env"})," file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more."]}),"\n",(0,o.jsx)(s.h3,{id:"kubernetes",children:"Kubernetes"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://kubernetes.io/",children:"Kubernetes.io"}),', "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." ',(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," provides ",(0,o.jsx)(s.a,{href:"https://helm.sh/docs/topics/charts/",children:"Helm charts"})," for easy deployment to Kubernetes in various cloud environments."]}),"\n",(0,o.jsxs)(s.p,{children:["COSMOS Enterprise also provides ",(0,o.jsx)(s.a,{href:"https://www.terraform.io/",children:"Terraform"})," scripts to deploy COSMOS infrastructure on various cloud environments."]}),"\n",(0,o.jsx)(s.h2,{id:"frontend",children:"Frontend"}),"\n",(0,o.jsx)(s.h3,{id:"vuejs",children:"Vue.js"}),"\n",(0,o.jsxs)(s.p,{children:["The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per ",(0,o.jsx)(s.a,{href:"https://vuejs.org/guide/introduction.html",children:"Vue.js"}),', "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the ',(0,o.jsx)(s.a,{href:"https://vuetifyjs.com/en/",children:"Vuetify"})," Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x."]}),"\n",(0,o.jsx)(s.h3,{id:"single-spa",children:"Single-Spa"}),"\n",(0,o.jsxs)(s.p,{children:["While COSMOS itself is written in Vue.js, we utilize a technology called ",(0,o.jsx)(s.a,{href:"https://single-spa.js.org/",children:"single-spa"})," to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue."]}),"\n",(0,o.jsx)(s.h3,{id:"astro-ux",children:"Astro UX"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://www.astrouxds.com/",children:"AstroUXDS"}),', "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. ',(0,o.jsx)(s.a,{href:"https://www.astrouxds.com/components/clock/",children:"Astro Clock"}),", COSMOS directly incorporates Astro components."]}),"\n",(0,o.jsx)(s.h2,{id:"backend",children:"Backend"}),"\n",(0,o.jsx)(s.h3,{id:"redis",children:"Redis"}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.a,{href:"https://redis.io/",children:"Redis"})," is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our ",(0,o.jsx)(s.a,{href:"/docs/getting-started/key_concepts#containers",children:"container list"})," you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into ",(0,o.jsx)(s.a,{href:"https://redis.io/docs/data-types/streams/",children:"Redis streams"}),". The other redis container contains COSMOS configuration that is meant to persist. ",(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," provides helm charts that setup ",(0,o.jsx)(s.a,{href:"https://redis.io/docs/management/scaling/",children:"Redis Cluster"})," to perform horizontal scaling where data is shared across multiple Redis nodes."]}),"\n",(0,o.jsx)(s.h3,{id:"minio",children:"MinIO"}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.a,{href:"https://min.io/",children:"MinIO"})," is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. ",(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example."]}),"\n",(0,o.jsx)(s.h3,{id:"ruby-on-rails",children:"Ruby on Rails"}),"\n",(0,o.jsxs)(s.p,{children:["The COSMOS API and Script Runner backends are powered by ",(0,o.jsx)(s.a,{href:"https://rubyonrails.org/",children:"Ruby on Rails"}),". Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks."]})]})}function h(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>a});var n=t(6540);const o={},r=n.createContext(o);function i(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8713"],{7989:function(e,s,t){t.r(s),t.d(s,{metadata:()=>n,contentTitle:()=>a,default:()=>h,assets:()=>c,toc:()=>d,frontMatter:()=>i});var n=JSON.parse('{"id":"getting-started/key_concepts","title":"Key Concepts","description":"Projects, Containerization, Frontend, Backend","source":"@site/docs/getting-started/key_concepts.md","sourceDirName":"getting-started","slug":"/getting-started/key_concepts","permalink":"/docs/getting-started/key_concepts","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/getting-started/key_concepts.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"title":"Key Concepts","description":"Projects, Containerization, Frontend, Backend","sidebar_custom_props":{"myEmoji":"\uD83D\uDCA1"}},"sidebar":"defaultSidebar","previous":{"title":"Upgrading","permalink":"/docs/getting-started/upgrading"},"next":{"title":"Requirements and Design","permalink":"/docs/getting-started/requirements"}}'),o=t("5893"),r=t("65");let i={sidebar_position:5,title:"Key Concepts",description:"Projects, Containerization, Frontend, Backend",sidebar_custom_props:{myEmoji:"\uD83D\uDCA1"}},a="OpenC3 COSMOS Key Concepts",c={},d=[{value:"Projects",id:"projects",level:2},{value:"Containerization",id:"containerization",level:2},{value:"Images",id:"images",level:3},{value:"Containers",id:"containers",level:3},{value:"Docker Compose",id:"docker-compose",level:3},{value:"Environment File",id:"environment-file",level:3},{value:"Kubernetes",id:"kubernetes",level:3},{value:"Frontend",id:"frontend",level:2},{value:"Vue.js",id:"vuejs",level:3},{value:"Single-Spa",id:"single-spa",level:3},{value:"Astro UX",id:"astro-ux",level:3},{value:"Backend",id:"backend",level:2},{value:"Redis",id:"redis",level:3},{value:"MinIO",id:"minio",level:3},{value:"Ruby on Rails",id:"ruby-on-rails",level:3}];function l(e){let s={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"openc3-cosmos-key-concepts",children:"OpenC3 COSMOS Key Concepts"})}),"\n",(0,o.jsx)(s.h2,{id:"projects",children:"Projects"}),"\n",(0,o.jsxs)(s.p,{children:["The main COSMOS ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos",children:"repo"})," contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project",children:"project"})," to launch COSMOS. The project consists of the ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/openc3.sh",children:"openc3.sh"})," and ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/openc3.bat",children:"openc3.bat"})," files for starting and stopping COSMOS, the ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/compose.yaml",children:"compose.yaml"})," for configuring the COSMOS containers, and the ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/.env",children:".env"})," file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik."]}),"\n",(0,o.jsx)(s.h2,{id:"containerization",children:"Containerization"}),"\n",(0,o.jsx)(s.h3,{id:"images",children:"Images"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/get-started/overview/#images",children:"Docker"}),', "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called ',(0,o.jsx)(s.a,{href:"https://www.alpinelinux.org/",children:"Alpine Linux"}),". It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/engine/reference/builder/",children:"Dockerfile"})," to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend."]}),"\n",(0,o.jsx)(s.h3,{id:"containers",children:"Containers"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://www.docker.com/resources/what-container/",children:"Docker"}),', "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per ',(0,o.jsx)(s.a,{href:"https://docs.docker.com/guides/walkthroughs/what-is-a-container/",children:"Docker"}),', "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks.']}),"\n",(0,o.jsx)(s.p,{children:"The COSMOS Open Source containers consist of the following:"}),"\n",(0,o.jsxs)(s.table,{children:[(0,o.jsx)(s.thead,{children:(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.th,{children:"Name"}),(0,o.jsx)(s.th,{children:"Description"})]})}),(0,o.jsxs)(s.tbody,{children:[(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-cosmos-init-1"}),(0,o.jsx)(s.td,{children:"Copies files to Minio and configures COSMOS then exits"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-operator-1"}),(0,o.jsx)(s.td,{children:"Main COSMOS container that runs the interfaces and target microservices"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-cosmos-cmd-tlm-api-1"}),(0,o.jsx)(s.td,{children:"Rails server that provides all the COSMOS API endpoints"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-cosmos-script-runner-api-1"}),(0,o.jsx)(s.td,{children:"Rails server that provides the Script API endpoints"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-redis-1"}),(0,o.jsx)(s.td,{children:"Serves the static target configuration"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-redis-ephemeral-1"}),(0,o.jsxs)(s.td,{children:["Serves the ",(0,o.jsx)(s.a,{href:"https://redis.io/docs/data-types/streams",children:"streams"})," containing the raw and decomutated data"]})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-minio-1"}),(0,o.jsx)(s.td,{children:"Provides a S3 like bucket storage interface and also serves as a static webserver for the tool files"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-openc3-traefik-1"}),(0,o.jsx)(s.td,{children:"Provides a reverse proxy and load balancer with routes to the COSMOS endpoints"})]})]})]}),"\n",(0,o.jsxs)(s.p,{children:["The container list for ",(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"Enterprise COSMOS"})," consists of the following:"]}),"\n",(0,o.jsxs)(s.table,{children:[(0,o.jsx)(s.thead,{children:(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.th,{children:"Name"}),(0,o.jsx)(s.th,{children:"Description"})]})}),(0,o.jsxs)(s.tbody,{children:[(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-enterprise-openc3-metrics-1"}),(0,o.jsx)(s.td,{children:"Rails server that provides metrics on COSMOS performance"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-enterprise-openc3-keycloak-1"}),(0,o.jsx)(s.td,{children:"Single-Sign On service for authentication"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"cosmos-enterprise-openc3-postgresql-1"}),(0,o.jsx)(s.td,{children:"SQL Database for use by Keycloak"})]}),(0,o.jsxs)(s.tr,{children:[(0,o.jsx)(s.td,{children:"openc3-nfs *"}),(0,o.jsx)(s.td,{children:"Network File System pod only for use in Kubernetes to share code libraries between containers"})]})]})]}),"\n",(0,o.jsx)(s.h3,{id:"docker-compose",children:"Docker Compose"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/compose/",children:"Docker"}),', "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application\'s services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The ',(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/compose.yaml",children:"compose.yaml"})," is where ports are exposed and environment variables are used."]}),"\n",(0,o.jsx)(s.h3,{id:"environment-file",children:"Environment File"}),"\n",(0,o.jsxs)(s.p,{children:["COSMOS uses an ",(0,o.jsx)(s.a,{href:"https://docs.docker.com/compose/environment-variables/env-file/",children:"environment file"})," along with Docker Compose to pass environment variables into the COSMOS runtime. This ",(0,o.jsx)(s.a,{href:"https://github.com/OpenC3/cosmos-project/blob/main/.env",children:".env"})," file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more."]}),"\n",(0,o.jsx)(s.h3,{id:"kubernetes",children:"Kubernetes"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://kubernetes.io/",children:"Kubernetes.io"}),', "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." ',(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," provides ",(0,o.jsx)(s.a,{href:"https://helm.sh/docs/topics/charts/",children:"Helm charts"})," for easy deployment to Kubernetes in various cloud environments."]}),"\n",(0,o.jsxs)(s.p,{children:["COSMOS Enterprise also provides ",(0,o.jsx)(s.a,{href:"https://www.terraform.io/",children:"Terraform"})," scripts to deploy COSMOS infrastructure on various cloud environments."]}),"\n",(0,o.jsx)(s.h2,{id:"frontend",children:"Frontend"}),"\n",(0,o.jsx)(s.h3,{id:"vuejs",children:"Vue.js"}),"\n",(0,o.jsxs)(s.p,{children:["The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per ",(0,o.jsx)(s.a,{href:"https://vuejs.org/guide/introduction.html",children:"Vue.js"}),', "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the ',(0,o.jsx)(s.a,{href:"https://vuetifyjs.com/en/",children:"Vuetify"})," Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x."]}),"\n",(0,o.jsx)(s.h3,{id:"single-spa",children:"Single-Spa"}),"\n",(0,o.jsxs)(s.p,{children:["While COSMOS itself is written in Vue.js, we utilize a technology called ",(0,o.jsx)(s.a,{href:"https://single-spa.js.org/",children:"single-spa"})," to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue."]}),"\n",(0,o.jsx)(s.h3,{id:"astro-ux",children:"Astro UX"}),"\n",(0,o.jsxs)(s.p,{children:["Per ",(0,o.jsx)(s.a,{href:"https://www.astrouxds.com/",children:"AstroUXDS"}),', "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. ',(0,o.jsx)(s.a,{href:"https://www.astrouxds.com/components/clock/",children:"Astro Clock"}),", COSMOS directly incorporates Astro components."]}),"\n",(0,o.jsx)(s.h2,{id:"backend",children:"Backend"}),"\n",(0,o.jsx)(s.h3,{id:"redis",children:"Redis"}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.a,{href:"https://redis.io/",children:"Redis"})," is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our ",(0,o.jsx)(s.a,{href:"/docs/getting-started/key_concepts#containers",children:"container list"})," you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into ",(0,o.jsx)(s.a,{href:"https://redis.io/docs/data-types/streams/",children:"Redis streams"}),". The other redis container contains COSMOS configuration that is meant to persist. ",(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," provides helm charts that setup ",(0,o.jsx)(s.a,{href:"https://redis.io/docs/management/scaling/",children:"Redis Cluster"})," to perform horizontal scaling where data is shared across multiple Redis nodes."]}),"\n",(0,o.jsx)(s.h3,{id:"minio",children:"MinIO"}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.a,{href:"https://min.io/",children:"MinIO"})," is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. ",(0,o.jsx)(s.a,{href:"https://openc3.com/enterprise",children:"COSMOS Enterprise"})," deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example."]}),"\n",(0,o.jsx)(s.h3,{id:"ruby-on-rails",children:"Ruby on Rails"}),"\n",(0,o.jsxs)(s.p,{children:["The COSMOS API and Script Runner backends are powered by ",(0,o.jsx)(s.a,{href:"https://rubyonrails.org/",children:"Ruby on Rails"}),". Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks."]})]})}function h(e={}){let{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},65:function(e,s,t){t.d(s,{Z:function(){return a},a:function(){return i}});var n=t(7294);let o={},r=n.createContext(o);function i(e){let s=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f15615f1.45e53cde.js b/docs/assets/js/f15615f1.45e53cde.js new file mode 100644 index 0000000000..b7513fca55 --- /dev/null +++ b/docs/assets/js/f15615f1.45e53cde.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["8501"],{7303:function(e,t,i){i.r(t),i.d(t,{metadata:()=>s,contentTitle:()=>d,default:()=>o,assets:()=>a,toc:()=>h,frontMatter:()=>l});var s=JSON.parse('{"id":"configuration/telemetry","title":"Telemetry","description":"Telemetry definition file format and keywords","source":"@site/docs/configuration/telemetry.md","sourceDirName":"configuration","slug":"/configuration/telemetry","permalink":"/docs/configuration/telemetry","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/telemetry.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"title":"Telemetry","description":"Telemetry definition file format and keywords","sidebar_custom_props":{"myEmoji":"\uD83D\uDCE1"}},"sidebar":"defaultSidebar","previous":{"title":"Commands","permalink":"/docs/configuration/command"},"next":{"title":"Interfaces","permalink":"/docs/configuration/interfaces"}}'),n=i("5893"),r=i("65");let l={sidebar_position:5,title:"Telemetry",description:"Telemetry definition file format and keywords",sidebar_custom_props:{myEmoji:"\uD83D\uDCE1"}},d=void 0,a={},h=[{value:"Telemetry Definition Files",id:"telemetry-definition-files",level:2},{value:"ID Items",id:"id-items",level:3},{value:"Variable Sized Items",id:"variable-sized-items",level:3},{value:"Derived Items",id:"derived-items",level:3},{value:"Received Time and Packet Time",id:"received-time-and-packet-time",level:3},{value:"Example",id:"example",level:4},{value:"TELEMETRY",id:"telemetry",level:2},{value:"TELEMETRY Modifiers",id:"telemetry-modifiers",level:2},{value:"ITEM",id:"item",level:3},{value:"ITEM Modifiers",id:"item-modifiers",level:3},{value:"FORMAT_STRING",id:"format_string",level:4},{value:"UNITS",id:"units",level:4},{value:"DESCRIPTION",id:"description",level:4},{value:"META",id:"meta",level:4},{value:"OVERLAP",id:"overlap",level:4},{value:"KEY",id:"key",level:4},{value:"VARIABLE_BIT_SIZE",id:"variable_bit_size",level:4},{value:"STATE",id:"state",level:4},{value:"READ_CONVERSION",id:"read_conversion",level:4},{value:"POLY_READ_CONVERSION",id:"poly_read_conversion",level:4},{value:"SEG_POLY_READ_CONVERSION",id:"seg_poly_read_conversion",level:4},{value:"GENERIC_READ_CONVERSION_START",id:"generic_read_conversion_start",level:4},{value:"GENERIC_READ_CONVERSION_END",id:"generic_read_conversion_end",level:4},{value:"LIMITS",id:"limits",level:4},{value:"LIMITS_RESPONSE",id:"limits_response",level:4},{value:"APPEND_ITEM",id:"append_item",level:3},{value:"ID_ITEM",id:"id_item",level:3},{value:"APPEND_ID_ITEM",id:"append_id_item",level:3},{value:"ARRAY_ITEM",id:"array_item",level:3},{value:"APPEND_ARRAY_ITEM",id:"append_array_item",level:3},{value:"SELECT_ITEM",id:"select_item",level:3},{value:"DELETE_ITEM",id:"delete_item",level:3},{value:"META",id:"meta-1",level:3},{value:"PROCESSOR",id:"processor",level:3},{value:"ALLOW_SHORT",id:"allow_short",level:3},{value:"HIDDEN",id:"hidden",level:3},{value:"ACCESSOR",id:"accessor",level:3},{value:"TEMPLATE",id:"template",level:3},{value:"TEMPLATE_FILE",id:"template_file",level:3},{value:"IGNORE_OVERLAP",id:"ignore_overlap",level:3},{value:"VIRTUAL",id:"virtual",level:3},{value:"SELECT_TELEMETRY",id:"select_telemetry",level:2},{value:"LIMITS_GROUP",id:"limits_group",level:2},{value:"LIMITS_GROUP_ITEM",id:"limits_group_item",level:2},{value:"Example File",id:"example-file",level:2}];function c(e){let t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"telemetry-definition-files",children:"Telemetry Definition Files"}),"\n",(0,n.jsxs)(t.p,{children:["Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ",(0,n.jsx)(t.a,{href:"http://www.asciitable.com/",children:"ASCII Table"})," is structured, files beginning with capital letters are processed before lower case letters."]}),"\n",(0,n.jsx)(t.p,{children:"When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items."}),"\n",(0,n.jsx)(t.admonition,{title:"Printing Data",type:"info",children:(0,n.jsxs)(t.p,{children:["Most data types can be printed in a COSMOS script simply by doing ",(0,n.jsx)("code",{children:'print(tlm("TGT PKT ITEM"))'}),". However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called ",(0,n.jsx)("code",{children:"formatted"})," to help you view binary data. If ITEM is a BLOCK type containing binary try ",(0,n.jsx)("code",{children:'puts tlm("TGT PKT ITEM").formatted'})," (Ruby) and ",(0,n.jsx)("code",{children:'print(formatted(tlm("TGT PKT ITEM")))'})," (Python) which will print the bytes out as hex."]})}),"\n",(0,n.jsx)(t.h3,{id:"id-items",children:"ID Items"}),"\n",(0,n.jsxs)(t.p,{children:["All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ",(0,n.jsx)(t.a,{href:"/docs/configuration/telemetry#id_item",children:"ID_ITEM"})," and ",(0,n.jsx)(t.a,{href:"/docs/configuration/telemetry#append_id_item",children:"APPEND_ID_ITEM"}),". As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set ",(0,n.jsx)(t.a,{href:"/docs/configuration/target#tlm_unique_id_mode",children:"TLM_UNIQUE_ID_MODE"})," in the target.txt file which incurs a performance penalty on every packet identification."]}),"\n",(0,n.jsx)(t.h3,{id:"variable-sized-items",children:"Variable Sized Items"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet."}),"\n",(0,n.jsx)(t.h3,{id:"derived-items",children:"Derived Items"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4"\n'})}),"\n",(0,n.jsxs)(t.p,{children:["Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. ",(0,n.jsx)(t.a,{href:"/docs/configuration/telemetry#read_conversion",children:"READ_CONVERSION"}),", to generate the value."]}),"\n",(0,n.jsx)(t.h3,{id:"received-time-and-packet-time",children:"Received Time and Packet Time"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS automatically creates several telemetry items on every packet: PACKET_TIMESECONDS, PACKET_TIMEFORMATTED, RECEIVED_COUNT, RECEIVED_TIMEFORMATTED, and RECEIVED_TIMESECONDS."}),"\n",(0,n.jsx)(t.p,{children:"RECEIVED_TIME is the time that COSMOS receives the packet. This is set by the interface which is connected to the target and is receiving the raw data. Once a packet has been created out of the raw data the time is set."}),"\n",(0,n.jsx)(t.p,{children:"PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected."}),"\n",(0,n.jsxs)(t.p,{children:["The _TIMEFORMATTED items returns the date and time in a YYYY/MM/DD HH:MM",":SS",".sss format and the _TIMESECONDS returns the Unix seconds of the time. Internally these are both stored as either a Ruby Time object or Python date object."]}),"\n",(0,n.jsx)(t.h4,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS provides a Unix time conversion class which returns a Ruby Time object or Python date object based on the number of seconds and (optionally) microseconds since the Unix epoch. Note: This returns a native object and not a float or string!"}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"\n READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS\n'})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:'ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS"\n READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS\n'})}),"\n",(0,n.jsx)(t.p,{children:"Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet."}),"\n",(0,n.jsx)("div",{style:{clear:"both"}}),"\n",(0,n.jsx)(t.h1,{id:"telemetry-keywords",children:"Telemetry Keywords"}),"\n",(0,n.jsx)(t.h2,{id:"telemetry",children:"TELEMETRY"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a new telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target"}),(0,n.jsx)(t.td,{children:"Name of the target this telemetry packet is associated with"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Command"}),(0,n.jsx)(t.td,{children:"Name of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the data in this packet is in Big Endian or Little Endian format",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description of this telemetry packet which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status"\n'})}),"\n",(0,n.jsx)(t.h2,{id:"telemetry-modifiers",children:"TELEMETRY Modifiers"}),"\n",(0,n.jsx)(t.p,{children:"The following keywords must follow a TELEMETRY keyword."}),"\n",(0,n.jsx)(t.h3,{id:"item",children:"ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Offset"}),(0,n.jsx)(t.td,{children:"Bit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ITEM PKTID 112 16 UINT "Packet ID"\nITEM DATA 0 0 DERIVED "Derived data"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"item-modifiers",children:"ITEM Modifiers"}),"\n",(0,n.jsx)(t.p,{children:"The following keywords must follow a ITEM keyword."}),"\n",(0,n.jsx)(t.h4,{id:"format_string",children:"FORMAT_STRING"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds printf style formatting"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Format"}),(0,n.jsx)(t.td,{children:"How to format using printf syntax. For example, '0x%0X' will display the value in hex."}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'FORMAT_STRING "0x%0X"\n'})}),"\n",(0,n.jsx)(t.h4,{id:"units",children:"UNITS"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Add displayed units"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Full Name"}),(0,n.jsx)(t.td,{children:"Full name of the units type, e.g. Celsius"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Abbreviated"}),(0,n.jsx)(t.td,{children:"Abbreviation for the units, e.g. C"}),(0,n.jsx)(t.td,{children:"True"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"UNITS Celsius C\nUNITS Kilometers KM\n"})}),"\n",(0,n.jsx)(t.h4,{id:"description",children:"DESCRIPTION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Override the defined description"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Value"}),(0,n.jsx)(t.td,{children:"The new description"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"meta",children:"META"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Stores custom user metadata"})}),"\n",(0,n.jsx)(t.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Name"}),(0,n.jsx)(t.td,{children:"Name of the metadata to store"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Values"}),(0,n.jsx)(t.td,{children:"One or more values to be stored for this Meta Name"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'META TEST "This parameter is for test purposes only"\n'})}),"\n",(0,n.jsx)(t.h4,{id:"overlap",children:"OVERLAP"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,n.jsx)(t.strong,{children:"This item is allowed to overlap other items in the packet"})]}),"\n",(0,n.jsx)(t.p,{children:"If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message."}),"\n",(0,n.jsx)(t.h4,{id:"key",children:"KEY"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,n.jsx)(t.strong,{children:"Defines the key used to access this raw value in the packet."})]}),"\n",(0,n.jsxs)(t.p,{children:["Keys are often ",(0,n.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/JSONPath",children:"JSONPath"})," or ",(0,n.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/XPath",children:"XPath"})," strings"]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Key string"}),(0,n.jsx)(t.td,{children:"The key to access this item"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"KEY $.book.title\n"})}),"\n",(0,n.jsx)(t.h4,{id:"variable_bit_size",children:"VARIABLE_BIT_SIZE"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,n.jsx)(t.strong,{children:"Marks an item as having its bit size defined by another length item"})]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Length Item Name"}),(0,n.jsx)(t.td,{children:"The name of the associated length item"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Length Bits Per Count"}),(0,n.jsx)(t.td,{children:"Bits per count of the length item. Defaults to 8"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Length Value Bit Offset"}),(0,n.jsx)(t.td,{children:"Offset in Bits to Apply to Length Field Value. Defaults to 0"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"state",children:"STATE"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a key/value pair for the current item"})}),"\n",(0,n.jsx)(t.p,{children:"Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the telemetry item and allows for much greater clarity and less chance for user error. A catch all value of ANY applies to all other values not already defined as state values."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Key"}),(0,n.jsx)(t.td,{children:"The string state name"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Value"}),(0,n.jsx)(t.td,{children:"The numerical state value or ANY to apply the state to all other values"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Color"}),(0,n.jsxs)(t.td,{children:["The color the state should be displayed as",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"GREEN, YELLOW, RED"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ITEM ENABLE 32 UINT "Enable setting"\n STATE FALSE 0\n STATE TRUE 1\n STATE ERROR ANY # Match all other values to ERROR\nAPPEND_ITEM STRING 1024 STRING "String"\n STATE "NOOP" "NOOP" GREEN\n STATE "ARM LASER" "ARM LASER" YELLOW\n STATE "FIRE LASER" "FIRE LASER" RED\n'})}),"\n",(0,n.jsx)(t.h4,{id:"read_conversion",children:"READ_CONVERSION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Applies a conversion to the current telemetry item"})}),"\n",(0,n.jsxs)(t.p,{children:["Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the ",(0,n.jsx)(t.code,{children:"initialize"})," (Ruby) or ",(0,n.jsx)(t.code,{children:"__init__"})," (Python) method if it takes extra parameters and must always implement the ",(0,n.jsx)(t.code,{children:"call"})," method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog."]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Class Filename"}),(0,n.jsx)(t.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Parameter"}),(0,n.jsx)(t.td,{children:"Additional parameter values for the conversion which are passed to the class constructor."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"READ_CONVERSION the_great_conversion.rb 1000\n\nDefined in the_great_conversion.rb:\n\nrequire 'openc3/conversions/conversion'\nmodule OpenC3\n class TheGreatConversion < Conversion\n def initialize(multiplier)\n super()\n @multiplier = multiplier.to_f\n end\n def call(value, packet, buffer)\n return value * @multiplier\n end\n end\nend\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"READ_CONVERSION the_great_conversion.py 1000\n\nDefined in the_great_conversion.py:\n\nfrom openc3.conversions.conversion import Conversion\nclass TheGreatConversion(Conversion):\n def __init__(self, multiplier):\n super().__init__()\n self.multiplier = float(multiplier)\n def call(self, value, packet, buffer):\n return value * self.multiplier\n"})}),"\n",(0,n.jsx)(t.h4,{id:"poly_read_conversion",children:"POLY_READ_CONVERSION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds a polynomial conversion factor to the current telemetry item"})}),"\n",(0,n.jsx)(t.p,{children:"The conversion factor is applied to raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"C0"}),(0,n.jsx)(t.td,{children:"Coefficient"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Cx"}),(0,n.jsx)(t.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"POLY_READ_CONVERSION 10 0.5 0.25\n"})}),"\n",(0,n.jsx)(t.h4,{id:"seg_poly_read_conversion",children:"SEG_POLY_READ_CONVERSION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds a segmented polynomial conversion factor to the current telemetry item"})}),"\n",(0,n.jsx)(t.p,{children:"This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Lower Bound"}),(0,n.jsx)(t.td,{children:"Defines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"C0"}),(0,n.jsx)(t.td,{children:"Coefficient"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Cx"}),(0,n.jsx)(t.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50\nSEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100\nSEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100\n"})}),"\n",(0,n.jsx)(t.h4,{id:"generic_read_conversion_start",children:"GENERIC_READ_CONVERSION_START"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Start a generic read conversion"})}),"\n",(0,n.jsx)(t.p,{children:"Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given."}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance."})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Converted Type"}),(0,n.jsxs)(t.td,{children:["Type of the converted value",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK"})]}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Converted Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of converted value"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"APPEND_ITEM ITEM1 32 UINT\n GENERIC_READ_CONVERSION_START\n return (value * 1.5).to_i # Convert the value by a scale factor\n GENERIC_READ_CONVERSION_END\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"APPEND_ITEM ITEM1 32 UINT\n GENERIC_READ_CONVERSION_START\n return int(value * 1.5) # Convert the value by a scale factor\n GENERIC_READ_CONVERSION_END\n"})}),"\n",(0,n.jsx)(t.h4,{id:"generic_read_conversion_end",children:"GENERIC_READ_CONVERSION_END"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Complete a generic read conversion"})}),"\n",(0,n.jsx)(t.h4,{id:"limits",children:"LIMITS"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a set of limits for a telemetry item"})}),"\n",(0,n.jsx)(t.p,{children:'If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Limits Set"}),(0,n.jsx)(t.td,{children:"Name of the limits set. If you have no unique limits sets use the keyword DEFAULT."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Persistence"}),(0,n.jsx)(t.td,{children:"Number of consecutive times the telemetry item must be within a different limits range before changing limits state."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Initial State"}),(0,n.jsxs)(t.td,{children:["Whether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"ENABLED, DISABLED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Red Low Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is less than or equal to this value a Red Low condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Yellow Low Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Yellow High Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Red High Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is greater than or equal to this value a Red High condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Green Low Limit"}),(0,n.jsx)(t.td,{children:'Setting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.'}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Green High Limit"}),(0,n.jsx)(t.td,{children:'Setting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.'}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0\nLIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0\n"})}),"\n",(0,n.jsx)(t.h4,{id:"limits_response",children:"LIMITS_RESPONSE"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a response class that is called when the limits state of the current item changes"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Response Class Filename"}),(0,n.jsx)(t.td,{children:"Name of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Response Specific Options"}),(0,n.jsx)(t.td,{children:"Variable length number of options that will be passed to the class constructor"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"LIMITS_RESPONSE example_limits_response.rb 10\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"LIMITS_RESPONSE example_limits_response.py 10\n"})}),"\n",(0,n.jsx)(t.h3,{id:"append_item",children:"APPEND_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ITEM PKTID 16 UINT "Packet ID"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"id_item",children:"ID_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:'Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet.'})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Offset"}),(0,n.jsx)(t.td,{children:"Bit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ID Value"}),(0,n.jsx)(t.td,{children:"The value of this telemetry item that uniquely identifies this telemetry packet"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"append_id_item",children:"APPEND_ID_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ID Value"}),(0,n.jsx)(t.td,{children:"The value of this telemetry item that uniquely identifies this telemetry packet"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"array_item",children:"ARRAY_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet that is an array"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Offset"}),(0,n.jsx)(t.td,{children:"Bit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of each array item"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of each array item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Array Bit Size"}),(0,n.jsx)(t.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"append_array_item",children:"APPEND_ARRAY_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet that is an array"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of each array item"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of each array item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Array Bit Size"}),(0,n.jsx)(t.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"select_item",children:"SELECT_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Selects an existing telemetry item for editing"})}),"\n",(0,n.jsx)(t.p,{children:"Must be used in conjunction with SELECT_TELEMETRY to first select the packet. Typically used to override generated values or make specific changes to telemetry that only affect a particular instance of a target used multiple times."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item"}),(0,n.jsx)(t.td,{children:"Name of the item to select for modification"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SELECT_TELEMETRY INST HEALTH_STATUS\n SELECT_ITEM TEMP1\n # Define limits for this item, overrides or replaces any existing\n LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0\n"})}),"\n",(0,n.jsx)(t.h3,{id:"delete_item",children:"DELETE_ITEM"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,n.jsx)(t.strong,{children:"Delete an existing telemetry item from the packet definition"})]}),"\n",(0,n.jsx)(t.p,{children:'Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item"}),(0,n.jsx)(t.td,{children:"Name of the item to delete"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SELECT_TELEMETRY INST HEALTH_STATUS\n DELETE_ITEM TEMP4\n"})}),"\n",(0,n.jsx)(t.h3,{id:"meta-1",children:"META"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Stores metadata for the current telemetry packet"})}),"\n",(0,n.jsx)(t.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Name"}),(0,n.jsx)(t.td,{children:"Name of the metadata to store"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Values"}),(0,n.jsx)(t.td,{children:"One or more values to be stored for this Meta Name"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'META FSW_TYPE "struct tlm_packet"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"processor",children:"PROCESSOR"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a processor class that executes code every time a packet is received"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Processor Name"}),(0,n.jsx)(t.td,{children:"The name of the processor"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Processor Class Filename"}),(0,n.jsx)(t.td,{children:"Name of the Ruby or Python file which implements the processor. This file should be in the target's lib directory."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Processor Specific Options"}),(0,n.jsx)(t.td,{children:"Variable length number of options that will be passed to the class constructor."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"PROCESSOR TEMP1HIGH watermark_processor.py TEMP1\n"})}),"\n",(0,n.jsx)(t.h3,{id:"allow_short",children:"ALLOW_SHORT"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Process telemetry packets which are less than their defined length"})}),"\n",(0,n.jsx)(t.p,{children:"Allows the telemetry packet to be received with a data portion that is smaller than the defined size without warnings. Any extra space in the packet will be filled in with zeros by OpenC3."}),"\n",(0,n.jsx)(t.h3,{id:"hidden",children:"HIDDEN"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Hides this telemetry packet from all the OpenC3 tools"})}),"\n",(0,n.jsx)(t.p,{children:"This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator. It also hides this telemetry from appearing in the Script Runner popup helper when writing scripts. The telemetry still exists in the system and can received and checked by scripts."}),"\n",(0,n.jsx)(t.h3,{id:"accessor",children:"ACCESSOR"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,n.jsx)(t.strong,{children:"Defines the class used to read and write raw values from the packet"})]}),"\n",(0,n.jsxs)(t.p,{children:["Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see ",(0,n.jsx)(t.a,{href:"accessors",children:"Accessors"}),"."]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Accessor Class Name"}),(0,n.jsx)(t.td,{children:"The name of the accessor class"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h3,{id:"template",children:"TEMPLATE"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,n.jsx)(t.strong,{children:"Defines a template string used to pull telemetry values from a string buffer"})]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Template"}),(0,n.jsx)(t.td,{children:"The template string which should be enclosed in quotes"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h3,{id:"template_file",children:"TEMPLATE_FILE"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,n.jsx)(t.strong,{children:"Defines a template file used to pull telemetry values from a string buffer"})]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Template File Path"}),(0,n.jsx)(t.td,{children:"The relative path to the template file. Filename should generally start with an underscore."}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h3,{id:"ignore_overlap",children:"IGNORE_OVERLAP"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.16.0)"}),(0,n.jsx)(t.strong,{children:"Ignores any packet items which overlap"})]}),"\n",(0,n.jsx)(t.p,{children:"Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword. This ignores overlaps across the entire packet."}),"\n",(0,n.jsx)(t.h3,{id:"virtual",children:"VIRTUAL"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,n.jsx)(t.strong,{children:"Marks this packet as virtual and not participating in identification"})]}),"\n",(0,n.jsx)(t.p,{children:"Used for packet definitions that can be used as structures for items with a given packet."}),"\n",(0,n.jsx)(t.h2,{id:"select_telemetry",children:"SELECT_TELEMETRY"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Selects an existing telemetry packet for editing"})}),"\n",(0,n.jsx)(t.p,{children:"Typically used in a separate configuration file from where the original telemetry is defined to override or add to the existing telemetry definition. Must be used in conjunction with SELECT_ITEM to change an individual item."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target Name"}),(0,n.jsx)(t.td,{children:"Name of the target this telemetry packet is associated with"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Packet Name"}),(0,n.jsx)(t.td,{children:"Name of the telemetry packet to select"}),(0,n.jsx)(t.td,{children:"True"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SELECT_TELEMETRY INST HEALTH_STATUS\n SELECT_ITEM TEMP1\n # Define limits for this item, overrides or replaces any existing\n LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0\n"})}),"\n",(0,n.jsx)(t.h2,{id:"limits_group",children:"LIMITS_GROUP"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a group of related limits Items"})}),"\n",(0,n.jsx)(t.p,{children:'Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Group Name"}),(0,n.jsx)(t.td,{children:"Name of the limits group"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h2,{id:"limits_group_item",children:"LIMITS_GROUP_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds the specified telemetry item to the last defined LIMITS_GROUP"})}),"\n",(0,n.jsx)(t.p,{children:"Limits group information is typically kept in a separate configuration file in the config/TARGET/cmd_tlm folder named limits_groups.txt."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target Name"}),(0,n.jsx)(t.td,{children:"Name of the target"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Packet Name"}),(0,n.jsx)(t.td,{children:"Name of the packet"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Name"}),(0,n.jsx)(t.td,{children:"Name of the telemetry item to add to the group"}),(0,n.jsx)(t.td,{children:"True"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"LIMITS_GROUP SUBSYSTEM\n LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1\n LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2\n LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3\n"})}),"\n",(0,n.jsx)(t.h2,{id:"example-file",children:"Example File"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Example File: TARGET/cmd_tlm/tlm.txt"})}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target"\n ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)"\n ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)"\n STATE TLM 0\n STATE CMD 1\n ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG"\n STATE FALSE 0\n STATE TRUE 1\n ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID"\n ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS"\n STATE FIRST 0\n STATE CONT 1\n STATE LAST 2\n STATE NOGROUP 3\n ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT"\n ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH"\n ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)"\n ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)"\n ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)"\n ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees"\n POLY_READ_CONVERSION 0 57.295\n ITEM MODE 128 8 UINT "Instrument Mode"\n STATE NORMAL 0 GREEN\n STATE DIAG 1 YELLOW\n ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS"\n GENERIC_READ_CONVERSION_START FLOAT 32\n ((packet.read(\'ccsdsday\') * 86400.0) + (packet.read(\'ccsdsmsod\') / 1000.0) + (packet.read(\'ccsdsusoms\') / 1000000.0) )\n GENERIC_READ_CONVERSION_END\n ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING"\n GENERIC_READ_CONVERSION_START STRING 216\n time = Time.ccsds2mdy(packet.read(\'ccsdsday\'), packet.read(\'ccsdsmsod\'), packet.read(\'ccsdsusoms\'))\n sprintf(\'%04u/%02u/%02u %02u:%02u:%02u.%06u\', time[0], time[1], time[2], time[3], time[4], time[5], time[6])\n GENERIC_READ_CONVERSION_END\n'})})]})}function o(e={}){let{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},65:function(e,t,i){i.d(t,{Z:function(){return d},a:function(){return l}});var s=i(7294);let n={},r=s.createContext(n);function l(e){let t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f15615f1.ac10db36.js b/docs/assets/js/f15615f1.ac10db36.js deleted file mode 100644 index b6f73e109f..0000000000 --- a/docs/assets/js/f15615f1.ac10db36.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3724],{4932:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>o,frontMatter:()=>l,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"configuration/telemetry","title":"Telemetry","description":"Telemetry definition file format and keywords","source":"@site/docs/configuration/telemetry.md","sourceDirName":"configuration","slug":"/configuration/telemetry","permalink":"/docs/configuration/telemetry","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/configuration/telemetry.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"title":"Telemetry","description":"Telemetry definition file format and keywords","sidebar_custom_props":{"myEmoji":"\ud83d\udce1"}},"sidebar":"defaultSidebar","previous":{"title":"Commands","permalink":"/docs/configuration/command"},"next":{"title":"Interfaces","permalink":"/docs/configuration/interfaces"}}');var n=i(4848),r=i(8453);const l={sidebar_position:5,title:"Telemetry",description:"Telemetry definition file format and keywords",sidebar_custom_props:{myEmoji:"\ud83d\udce1"}},d=void 0,a={},h=[{value:"Telemetry Definition Files",id:"telemetry-definition-files",level:2},{value:"ID Items",id:"id-items",level:3},{value:"Variable Sized Items",id:"variable-sized-items",level:3},{value:"Derived Items",id:"derived-items",level:3},{value:"Received Time and Packet Time",id:"received-time-and-packet-time",level:3},{value:"Example",id:"example",level:4},{value:"TELEMETRY",id:"telemetry",level:2},{value:"TELEMETRY Modifiers",id:"telemetry-modifiers",level:2},{value:"ITEM",id:"item",level:3},{value:"ITEM Modifiers",id:"item-modifiers",level:3},{value:"FORMAT_STRING",id:"format_string",level:4},{value:"UNITS",id:"units",level:4},{value:"DESCRIPTION",id:"description",level:4},{value:"META",id:"meta",level:4},{value:"OVERLAP",id:"overlap",level:4},{value:"KEY",id:"key",level:4},{value:"VARIABLE_BIT_SIZE",id:"variable_bit_size",level:4},{value:"STATE",id:"state",level:4},{value:"READ_CONVERSION",id:"read_conversion",level:4},{value:"POLY_READ_CONVERSION",id:"poly_read_conversion",level:4},{value:"SEG_POLY_READ_CONVERSION",id:"seg_poly_read_conversion",level:4},{value:"GENERIC_READ_CONVERSION_START",id:"generic_read_conversion_start",level:4},{value:"GENERIC_READ_CONVERSION_END",id:"generic_read_conversion_end",level:4},{value:"LIMITS",id:"limits",level:4},{value:"LIMITS_RESPONSE",id:"limits_response",level:4},{value:"APPEND_ITEM",id:"append_item",level:3},{value:"ID_ITEM",id:"id_item",level:3},{value:"APPEND_ID_ITEM",id:"append_id_item",level:3},{value:"ARRAY_ITEM",id:"array_item",level:3},{value:"APPEND_ARRAY_ITEM",id:"append_array_item",level:3},{value:"SELECT_ITEM",id:"select_item",level:3},{value:"DELETE_ITEM",id:"delete_item",level:3},{value:"META",id:"meta-1",level:3},{value:"PROCESSOR",id:"processor",level:3},{value:"ALLOW_SHORT",id:"allow_short",level:3},{value:"HIDDEN",id:"hidden",level:3},{value:"ACCESSOR",id:"accessor",level:3},{value:"IGNORE_OVERLAP",id:"ignore_overlap",level:3},{value:"VIRTUAL",id:"virtual",level:3},{value:"SELECT_TELEMETRY",id:"select_telemetry",level:2},{value:"LIMITS_GROUP",id:"limits_group",level:2},{value:"LIMITS_GROUP_ITEM",id:"limits_group_item",level:2},{value:"Example File",id:"example-file",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"telemetry-definition-files",children:"Telemetry Definition Files"}),"\n",(0,n.jsxs)(t.p,{children:["Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ",(0,n.jsx)(t.a,{href:"http://www.asciitable.com/",children:"ASCII Table"})," is structured, files beginning with capital letters are processed before lower case letters."]}),"\n",(0,n.jsx)(t.p,{children:"When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items."}),"\n",(0,n.jsx)(t.admonition,{title:"Printing Data",type:"info",children:(0,n.jsxs)(t.p,{children:["Most data types can be printed in a COSMOS script simply by doing ",(0,n.jsx)("code",{children:'print(tlm("TGT PKT ITEM"))'}),". However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called ",(0,n.jsx)("code",{children:"formatted"})," to help you view binary data. If ITEM is a BLOCK type containing binary try ",(0,n.jsx)("code",{children:'puts tlm("TGT PKT ITEM").formatted'})," (Ruby) and ",(0,n.jsx)("code",{children:'print(formatted(tlm("TGT PKT ITEM")))'})," (Python) which will print the bytes out as hex."]})}),"\n",(0,n.jsx)(t.h3,{id:"id-items",children:"ID Items"}),"\n",(0,n.jsxs)(t.p,{children:["All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ",(0,n.jsx)(t.a,{href:"/docs/configuration/telemetry#id_item",children:"ID_ITEM"})," and ",(0,n.jsx)(t.a,{href:"/docs/configuration/telemetry#append_id_item",children:"APPEND_ID_ITEM"}),". As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set ",(0,n.jsx)(t.a,{href:"/docs/configuration/target#tlm_unique_id_mode",children:"TLM_UNIQUE_ID_MODE"})," in the target.txt file which incurs a performance penalty on every packet identification."]}),"\n",(0,n.jsx)(t.h3,{id:"variable-sized-items",children:"Variable Sized Items"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet."}),"\n",(0,n.jsx)(t.h3,{id:"derived-items",children:"Derived Items"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition."}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4"\n'})}),"\n",(0,n.jsxs)(t.p,{children:["Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. ",(0,n.jsx)(t.a,{href:"/docs/configuration/telemetry#read_conversion",children:"READ_CONVERSION"}),", to generate the value."]}),"\n",(0,n.jsx)(t.h3,{id:"received-time-and-packet-time",children:"Received Time and Packet Time"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS automatically creates several telemetry items on every packet: PACKET_TIMESECONDS, PACKET_TIMEFORMATTED, RECEIVED_COUNT, RECEIVED_TIMEFORMATTED, and RECEIVED_TIMESECONDS."}),"\n",(0,n.jsx)(t.p,{children:"RECEIVED_TIME is the time that COSMOS receives the packet. This is set by the interface which is connected to the target and is receiving the raw data. Once a packet has been created out of the raw data the time is set."}),"\n",(0,n.jsx)(t.p,{children:"PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected."}),"\n",(0,n.jsxs)(t.p,{children:["The _TIMEFORMATTED items returns the date and time in a YYYY/MM/DD HH:MM",":SS",".sss format and the _TIMESECONDS returns the Unix seconds of the time. Internally these are both stored as either a Ruby Time object or Python date object."]}),"\n",(0,n.jsx)(t.h4,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.p,{children:"COSMOS provides a Unix time conversion class which returns a Ruby Time object or Python date object based on the number of seconds and (optionally) microseconds since the Unix epoch. Note: This returns a native object and not a float or string!"}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"\n READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS\n'})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:'ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS"\n READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS\n'})}),"\n",(0,n.jsx)(t.p,{children:"Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet."}),"\n",(0,n.jsx)("div",{style:{clear:"both"}}),"\n",(0,n.jsx)(t.h1,{id:"telemetry-keywords",children:"Telemetry Keywords"}),"\n",(0,n.jsx)(t.h2,{id:"telemetry",children:"TELEMETRY"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a new telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target"}),(0,n.jsx)(t.td,{children:"Name of the target this telemetry packet is associated with"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Command"}),(0,n.jsx)(t.td,{children:"Name of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the data in this packet is in Big Endian or Little Endian format",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description of this telemetry packet which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status"\n'})}),"\n",(0,n.jsx)(t.h2,{id:"telemetry-modifiers",children:"TELEMETRY Modifiers"}),"\n",(0,n.jsx)(t.p,{children:"The following keywords must follow a TELEMETRY keyword."}),"\n",(0,n.jsx)(t.h3,{id:"item",children:"ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Offset"}),(0,n.jsx)(t.td,{children:"Bit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ITEM PKTID 112 16 UINT "Packet ID"\nITEM DATA 0 0 DERIVED "Derived data"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"item-modifiers",children:"ITEM Modifiers"}),"\n",(0,n.jsx)(t.p,{children:"The following keywords must follow a ITEM keyword."}),"\n",(0,n.jsx)(t.h4,{id:"format_string",children:"FORMAT_STRING"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds printf style formatting"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Format"}),(0,n.jsx)(t.td,{children:"How to format using printf syntax. For example, '0x%0X' will display the value in hex."}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'FORMAT_STRING "0x%0X"\n'})}),"\n",(0,n.jsx)(t.h4,{id:"units",children:"UNITS"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Add displayed units"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Full Name"}),(0,n.jsx)(t.td,{children:"Full name of the units type, e.g. Celsius"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Abbreviated"}),(0,n.jsx)(t.td,{children:"Abbreviation for the units, e.g. C"}),(0,n.jsx)(t.td,{children:"True"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"UNITS Celsius C\nUNITS Kilometers KM\n"})}),"\n",(0,n.jsx)(t.h4,{id:"description",children:"DESCRIPTION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Override the defined description"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Value"}),(0,n.jsx)(t.td,{children:"The new description"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"meta",children:"META"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Stores custom user metadata"})}),"\n",(0,n.jsx)(t.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Name"}),(0,n.jsx)(t.td,{children:"Name of the metadata to store"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Values"}),(0,n.jsx)(t.td,{children:"One or more values to be stored for this Meta Name"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'META TEST "This parameter is for test purposes only"\n'})}),"\n",(0,n.jsx)(t.h4,{id:"overlap",children:"OVERLAP"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,n.jsx)(t.strong,{children:"This item is allowed to overlap other items in the packet"})]}),"\n",(0,n.jsx)(t.p,{children:"If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message."}),"\n",(0,n.jsx)(t.h4,{id:"key",children:"KEY"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,n.jsx)(t.strong,{children:"Defines the key used to access this raw value in the packet."})]}),"\n",(0,n.jsx)(t.p,{children:"Keys are often JsonPath or XPath strings"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Key string"}),(0,n.jsx)(t.td,{children:"The key to access this item"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"KEY $.book.title\n"})}),"\n",(0,n.jsx)(t.h4,{id:"variable_bit_size",children:"VARIABLE_BIT_SIZE"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,n.jsx)(t.strong,{children:"Marks an item as having its bit size defined by another length item"})]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Length Item Name"}),(0,n.jsx)(t.td,{children:"The name of the associated length item"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Length Bits Per Count"}),(0,n.jsx)(t.td,{children:"Bits per count of the length item. Defaults to 8"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Length Value Bit Offset"}),(0,n.jsx)(t.td,{children:"Offset in Bits to Apply to Length Field Value. Defaults to 0"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.h4,{id:"state",children:"STATE"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a key/value pair for the current item"})}),"\n",(0,n.jsx)(t.p,{children:"Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the telemetry item and allows for much greater clarity and less chance for user error. A catch all value of ANY applies to all other values not already defined as state values."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Key"}),(0,n.jsx)(t.td,{children:"The string state name"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Value"}),(0,n.jsx)(t.td,{children:"The numerical state value or ANY to apply the state to all other values"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Color"}),(0,n.jsxs)(t.td,{children:["The color the state should be displayed as",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"GREEN, YELLOW, RED"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ITEM ENABLE 32 UINT "Enable setting"\n STATE FALSE 0\n STATE TRUE 1\n STATE ERROR ANY # Match all other values to ERROR\nAPPEND_ITEM STRING 1024 STRING "String"\n STATE "NOOP" "NOOP" GREEN\n STATE "ARM LASER" "ARM LASER" YELLOW\n STATE "FIRE LASER" "FIRE LASER" RED\n'})}),"\n",(0,n.jsx)(t.h4,{id:"read_conversion",children:"READ_CONVERSION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Applies a conversion to the current telemetry item"})}),"\n",(0,n.jsxs)(t.p,{children:["Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the ",(0,n.jsx)(t.code,{children:"initialize"})," (Ruby) or ",(0,n.jsx)(t.code,{children:"__init__"})," (Python) method if it takes extra parameters and must always implement the ",(0,n.jsx)(t.code,{children:"call"})," method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog."]}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Class Filename"}),(0,n.jsx)(t.td,{children:"The filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Parameter"}),(0,n.jsx)(t.td,{children:"Additional parameter values for the conversion which are passed to the class constructor."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"READ_CONVERSION the_great_conversion.rb 1000\n\nDefined in the_great_conversion.rb:\n\nrequire 'openc3/conversions/conversion'\nmodule OpenC3\n class TheGreatConversion < Conversion\n def initialize(multiplier)\n super()\n @multiplier = multiplier.to_f\n end\n def call(value, packet, buffer)\n return value * @multiplier\n end\n end\nend\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"READ_CONVERSION the_great_conversion.py 1000\n\nDefined in the_great_conversion.py:\n\nfrom openc3.conversions.conversion import Conversion\nclass TheGreatConversion(Conversion):\n def __init__(self, multiplier):\n super().__init__()\n self.multiplier = float(multiplier)\n def call(self, value, packet, buffer):\n return value * multiplier\n"})}),"\n",(0,n.jsx)(t.h4,{id:"poly_read_conversion",children:"POLY_READ_CONVERSION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds a polynomial conversion factor to the current telemetry item"})}),"\n",(0,n.jsx)(t.p,{children:"The conversion factor is applied to raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"C0"}),(0,n.jsx)(t.td,{children:"Coefficient"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Cx"}),(0,n.jsx)(t.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"POLY_READ_CONVERSION 10 0.5 0.25\n"})}),"\n",(0,n.jsx)(t.h4,{id:"seg_poly_read_conversion",children:"SEG_POLY_READ_CONVERSION"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds a segmented polynomial conversion factor to the current telemetry item"})}),"\n",(0,n.jsx)(t.p,{children:"This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Lower Bound"}),(0,n.jsx)(t.td,{children:"Defines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"C0"}),(0,n.jsx)(t.td,{children:"Coefficient"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Cx"}),(0,n.jsx)(t.td,{children:"Additional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50\nSEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100\nSEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100\n"})}),"\n",(0,n.jsx)(t.h4,{id:"generic_read_conversion_start",children:"GENERIC_READ_CONVERSION_START"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Start a generic read conversion"})}),"\n",(0,n.jsx)(t.p,{children:"Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given."}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance."})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Converted Type"}),(0,n.jsxs)(t.td,{children:["Type of the converted value",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK"})]}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Converted Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of converted value"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"APPEND_ITEM ITEM1 32 UINT\n GENERIC_READ_CONVERSION_START\n return (value * 1.5).to_i # Convert the value by a scale factor\n GENERIC_READ_CONVERSION_END\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"APPEND_ITEM ITEM1 32 UINT\n GENERIC_READ_CONVERSION_START\n return int(value * 1.5) # Convert the value by a scale factor\n GENERIC_READ_CONVERSION_END\n"})}),"\n",(0,n.jsx)(t.h4,{id:"generic_read_conversion_end",children:"GENERIC_READ_CONVERSION_END"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Complete a generic read conversion"})}),"\n",(0,n.jsx)(t.h4,{id:"limits",children:"LIMITS"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a set of limits for a telemetry item"})}),"\n",(0,n.jsx)(t.p,{children:'If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Limits Set"}),(0,n.jsx)(t.td,{children:"Name of the limits set. If you have no unique limits sets use the keyword DEFAULT."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Persistence"}),(0,n.jsx)(t.td,{children:"Number of consecutive times the telemetry item must be within a different limits range before changing limits state."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Initial State"}),(0,n.jsxs)(t.td,{children:["Whether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"ENABLED, DISABLED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Red Low Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is less than or equal to this value a Red Low condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Yellow Low Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Yellow High Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Red High Limit"}),(0,n.jsx)(t.td,{children:"If the telemetry value is greater than or equal to this value a Red High condition will be detected"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Green Low Limit"}),(0,n.jsx)(t.td,{children:'Setting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.'}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Green High Limit"}),(0,n.jsx)(t.td,{children:'Setting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.'}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0\nLIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0\n"})}),"\n",(0,n.jsx)(t.h4,{id:"limits_response",children:"LIMITS_RESPONSE"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a response class that is called when the limits state of the current item changes"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Response Class Filename"}),(0,n.jsx)(t.td,{children:"Name of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Response Specific Options"}),(0,n.jsx)(t.td,{children:"Variable length number of options that will be passed to the class constructor"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"LIMITS_RESPONSE example_limits_response.rb 10\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"LIMITS_RESPONSE example_limits_response.py 10\n"})}),"\n",(0,n.jsx)(t.h3,{id:"append_item",children:"APPEND_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ITEM PKTID 16 UINT "Packet ID"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"id_item",children:"ID_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:'Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet.'})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Offset"}),(0,n.jsx)(t.td,{children:"Bit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ID Value"}),(0,n.jsx)(t.td,{children:"The value of this telemetry item that uniquely identifies this telemetry packet"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"append_id_item",children:"APPEND_ID_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of this telemetry item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"ID Value"}),(0,n.jsx)(t.td,{children:"The value of this telemetry item that uniquely identifies this telemetry packet"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description for this telemetry item which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on ",(0,n.jsx)(t.a,{href:"/docs/guides/little-endian-bitfields",children:"Little Endian Bitfields"}),".",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"array_item",children:"ARRAY_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet that is an array"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Bit Offset"}),(0,n.jsx)(t.td,{children:"Bit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of each array item"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of each array item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Array Bit Size"}),(0,n.jsx)(t.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"append_array_item",children:"APPEND_ARRAY_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a telemetry item in the current telemetry packet that is an array"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Name"}),(0,n.jsx)(t.td,{children:"Name of the telemety item. Must be unique within the packet."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Bit Size"}),(0,n.jsx)(t.td,{children:"Bit size of each array item"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Data Type"}),(0,n.jsxs)(t.td,{children:["Data Type of each array item",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"INT, UINT, FLOAT, STRING, BLOCK, DERIVED"})]}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Array Bit Size"}),(0,n.jsx)(t.td,{children:"Total Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Description"}),(0,n.jsx)(t.td,{children:"Description which must be enclosed with quotes"}),(0,n.jsx)(t.td,{children:"False"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Endianness"}),(0,n.jsxs)(t.td,{children:["Indicates if the data is to be sent in Big Endian or Little Endian format",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Valid Values: ",(0,n.jsx)("span",{class:"values",children:"BIG_ENDIAN, LITTLE_ENDIAN"})]}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"select_item",children:"SELECT_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Selects an existing telemetry item for editing"})}),"\n",(0,n.jsx)(t.p,{children:"Must be used in conjunction with SELECT_TELEMETRY to first select the packet. Typically used to override generated values or make specific changes to telemetry that only affect a particular instance of a target used multiple times."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item"}),(0,n.jsx)(t.td,{children:"Name of the item to select for modification"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SELECT_TELEMETRY INST HEALTH_STATUS\n SELECT_ITEM TEMP1\n # Define limits for this item, overrides or replaces any existing\n LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0\n"})}),"\n",(0,n.jsx)(t.h3,{id:"delete_item",children:"DELETE_ITEM"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 4.4.1)"}),(0,n.jsx)(t.strong,{children:"Delete an existing telemetry item from the packet definition"})]}),"\n",(0,n.jsx)(t.p,{children:'Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item"}),(0,n.jsx)(t.td,{children:"Name of the item to delete"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SELECT_TELEMETRY INST HEALTH_STATUS\n DELETE_ITEM TEMP4\n"})}),"\n",(0,n.jsx)(t.h3,{id:"meta-1",children:"META"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Stores metadata for the current telemetry packet"})}),"\n",(0,n.jsx)(t.p,{children:"Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Name"}),(0,n.jsx)(t.td,{children:"Name of the metadata to store"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Meta Values"}),(0,n.jsx)(t.td,{children:"One or more values to be stored for this Meta Name"}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'META FSW_TYPE "struct tlm_packet"\n'})}),"\n",(0,n.jsx)(t.h3,{id:"processor",children:"PROCESSOR"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a processor class that executes code every time a packet is received"})}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Processor Name"}),(0,n.jsx)(t.td,{children:"The name of the processor"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Processor Class Filename"}),(0,n.jsx)(t.td,{children:"Name of the Ruby or Python file which implements the processor. This file should be in the target's lib directory."}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Processor Specific Options"}),(0,n.jsx)(t.td,{children:"Variable length number of options that will be passed to the class constructor."}),(0,n.jsx)(t.td,{children:"False"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Ruby Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1\n"})}),"\n",(0,n.jsx)(t.p,{children:"Python Example:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"PROCESSOR TEMP1HIGH watermark_processor.py TEMP1\n"})}),"\n",(0,n.jsx)(t.h3,{id:"allow_short",children:"ALLOW_SHORT"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Process telemetry packets which are less than their defined length"})}),"\n",(0,n.jsx)(t.p,{children:"Allows the telemetry packet to be received with a data portion that is smaller than the defined size without warnings. Any extra space in the packet will be filled in with zeros by OpenC3."}),"\n",(0,n.jsx)(t.h3,{id:"hidden",children:"HIDDEN"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Hides this telemetry packet from all the OpenC3 tools"})}),"\n",(0,n.jsx)(t.p,{children:"This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator. It also hides this telemetry from appearing in the Script Runner popup helper when writing scripts. The telemetry still exists in the system and can received and checked by scripts."}),"\n",(0,n.jsx)(t.h3,{id:"accessor",children:"ACCESSOR"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.0.10)"}),(0,n.jsx)(t.strong,{children:"Defines the class used to read and write raw values from the packet"})]}),"\n",(0,n.jsx)(t.p,{children:"Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Accessor Class Name"}),(0,n.jsx)(t.td,{children:"The name of the accessor class"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h3,{id:"ignore_overlap",children:"IGNORE_OVERLAP"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.16.0)"}),(0,n.jsx)(t.strong,{children:"Ignores any packet items which overlap"})]}),"\n",(0,n.jsx)(t.p,{children:"Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword. This ignores overlaps across the entire packet."}),"\n",(0,n.jsx)(t.h3,{id:"virtual",children:"VIRTUAL"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)("div",{class:"right",children:"(Since 5.18.0)"}),(0,n.jsx)(t.strong,{children:"Marks this packet as virtual and not participating in identification"})]}),"\n",(0,n.jsx)(t.p,{children:"Used for packet definitions that can be used as structures for items with a given packet."}),"\n",(0,n.jsx)(t.h2,{id:"select_telemetry",children:"SELECT_TELEMETRY"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Selects an existing telemetry packet for editing"})}),"\n",(0,n.jsx)(t.p,{children:"Typically used in a separate configuration file from where the original telemetry is defined to override or add to the existing telemetry definition. Must be used in conjunction with SELECT_ITEM to change an individual item."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target Name"}),(0,n.jsx)(t.td,{children:"Name of the target this telemetry packet is associated with"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Packet Name"}),(0,n.jsx)(t.td,{children:"Name of the telemetry packet to select"}),(0,n.jsx)(t.td,{children:"True"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"SELECT_TELEMETRY INST HEALTH_STATUS\n SELECT_ITEM TEMP1\n # Define limits for this item, overrides or replaces any existing\n LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0\n"})}),"\n",(0,n.jsx)(t.h2,{id:"limits_group",children:"LIMITS_GROUP"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Defines a group of related limits Items"})}),"\n",(0,n.jsx)(t.p,{children:'Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled.'}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Group Name"}),(0,n.jsx)(t.td,{children:"Name of the limits group"}),(0,n.jsx)(t.td,{children:"True"})]})})]}),"\n",(0,n.jsx)(t.h2,{id:"limits_group_item",children:"LIMITS_GROUP_ITEM"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Adds the specified telemetry item to the last defined LIMITS_GROUP"})}),"\n",(0,n.jsx)(t.p,{children:"Limits group information is typically kept in a separate configuration file in the config/TARGET/cmd_tlm folder named limits_groups.txt."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Parameter"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Required"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Target Name"}),(0,n.jsx)(t.td,{children:"Name of the target"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Packet Name"}),(0,n.jsx)(t.td,{children:"Name of the packet"}),(0,n.jsx)(t.td,{children:"True"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Item Name"}),(0,n.jsx)(t.td,{children:"Name of the telemetry item to add to the group"}),(0,n.jsx)(t.td,{children:"True"})]})]})]}),"\n",(0,n.jsx)(t.p,{children:"Example Usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:"LIMITS_GROUP SUBSYSTEM\n LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1\n LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2\n LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3\n"})}),"\n",(0,n.jsx)(t.h2,{id:"example-file",children:"Example File"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Example File: TARGET/cmd_tlm/tlm.txt"})}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-ruby",children:'TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target"\n ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)"\n ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)"\n STATE TLM 0\n STATE CMD 1\n ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG"\n STATE FALSE 0\n STATE TRUE 1\n ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID"\n ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS"\n STATE FIRST 0\n STATE CONT 1\n STATE LAST 2\n STATE NOGROUP 3\n ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT"\n ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH"\n ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)"\n ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)"\n ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)"\n ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees"\n POLY_READ_CONVERSION 0 57.295\n ITEM MODE 128 8 UINT "Instrument Mode"\n STATE NORMAL 0 GREEN\n STATE DIAG 1 YELLOW\n ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS"\n GENERIC_READ_CONVERSION_START FLOAT 32\n ((packet.read(\'ccsdsday\') * 86400.0) + (packet.read(\'ccsdsmsod\') / 1000.0) + (packet.read(\'ccsdsusoms\') / 1000000.0) )\n GENERIC_READ_CONVERSION_END\n ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING"\n GENERIC_READ_CONVERSION_START STRING 216\n time = Time.ccsds2mdy(packet.read(\'ccsdsday\'), packet.read(\'ccsdsmsod\'), packet.read(\'ccsdsusoms\'))\n sprintf(\'%04u/%02u/%02u %02u:%02u:%02u.%06u\', time[0], time[1], time[2], time[3], time[4], time[5], time[6])\n GENERIC_READ_CONVERSION_END\n'})})]})}function o(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>l,x:()=>d});var s=i(6540);const n={},r=s.createContext(n);function l(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/f9ac6a79.315eaf83.js b/docs/assets/js/f9ac6a79.315eaf83.js deleted file mode 100644 index 69f6b9b7f7..0000000000 --- a/docs/assets/js/f9ac6a79.315eaf83.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7355],{4108:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tools","slug":"/tools","permalink":"/docs/tools","sidebar":"defaultSidebar","navigation":{"previous":{"title":"SSL-TLS","permalink":"/docs/configuration/ssl-tls"},"next":{"title":"Autonomic (Enterprise)","permalink":"/docs/tools/autonomic"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/f9ac6a79.523ed1d4.js b/docs/assets/js/f9ac6a79.523ed1d4.js new file mode 100644 index 0000000000..15e799b952 --- /dev/null +++ b/docs/assets/js/f9ac6a79.523ed1d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6239"],{2645:function(e){e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tools","slug":"/tools","permalink":"/docs/tools","sidebar":"defaultSidebar","navigation":{"previous":{"title":"SSL-TLS","permalink":"/docs/configuration/ssl-tls"},"next":{"title":"Admin","permalink":"/docs/tools/admin"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/fd886806.1932a5f5.js b/docs/assets/js/fd886806.1932a5f5.js deleted file mode 100644 index 23898fa280..0000000000 --- a/docs/assets/js/fd886806.1932a5f5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7605],{1243:(e,t,n)=>{n.d(t,{A:()=>g});n(6540);var s=n(4164),r=n(7559),i=n(4718),a=n(9169),o=n(8774),l=n(1312),c=n(6025),d=n(4848);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function h(){const e=(0,c.Ay)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(o.A,{"aria-label":(0,l.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const b={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function p(e){let{children:t,href:n,isLast:s}=e;const r="breadcrumbs__link";return s?(0,d.jsx)("span",{className:r,itemProp:"name",children:t}):n?(0,d.jsx)(o.A,{className:r,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:r,children:t})}function x(e){let{children:t,active:n,index:r,addMicrodata:i}=e;return(0,d.jsxs)("li",{...i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(r+1)})]})}function g(){const e=(0,i.OF)(),t=(0,a.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(r.G.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,l.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,r="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(x,{active:s,index:n,addMicrodata:!!r,children:(0,d.jsx)(p,{href:r,isLast:s,children:t.label})},n)}))]})}):null}},7700:(e,t,n)=>{n.r(t),n.d(t,{default:()=>S});var s=n(6540),r=n(1003),i=n(4718),a=n(6025),o=n(4164),l=n(8774),c=n(4586);const d=["zero","one","two","few","many","other"];function u(e){return d.filter((t=>e.includes(t)))}const m={locale:"en",pluralForms:u(["one","other"]),select:e=>1===e?"one":"other"};function h(){const{i18n:{currentLocale:e}}=(0,c.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:u(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),m}}),[e])}function b(){const e=h();return{selectMessage:(t,n)=>function(e,t,n){const s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const r=n.select(t),i=n.pluralForms.indexOf(r);return s[Math.min(i,s.length-1)]}(n,t,e)}}var p=n(6654),x=n(1312),g=n(1107);const v={cardContainer:"cardContainer_S8oU",cardTitle:"cardTitle_HoSo",cardDescription:"cardDescription_c27F"};var f=n(4848);function j(e){let{href:t,children:n}=e;return(0,f.jsx)(l.A,{href:t,className:(0,o.A)("card padding--lg",v.cardContainer),children:n})}function A(e){let{href:t,icon:n,title:s,description:r}=e;return(0,f.jsxs)(j,{href:t,children:[(0,f.jsxs)(g.A,{as:"h2",className:(0,o.A)("text--truncate",v.cardTitle),title:s,children:[n," ",s]}),r&&(0,f.jsx)("p",{className:(0,o.A)("text--truncate",v.cardDescription),title:r,children:r})]})}function N(e){let{item:t}=e;const n=(0,i.Nr)(t),s=function(){const{selectMessage:e}=b();return t=>e(t,(0,x.T)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return n?(0,f.jsx)(A,{href:n,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:t.description??s(t.items.length)}):null}function _(e){let{item:t}=e;const n=t?.customProps?.myEmoji??((0,p.A)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17"),s=(0,i.cC)(t.docId??void 0);return(0,f.jsx)(A,{href:t.href,icon:n,title:t.label,description:t.description??s?.description})}function T(e){let{item:t}=e;switch(t.type){case"link":return(0,f.jsx)(_,{item:t});case"category":return(0,f.jsx)(N,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function L(e){let{className:t}=e;const n=(0,i.$S)();return(0,f.jsx)(k,{items:n.items,className:t})}function k(e){const{items:t,className:n}=e;if(!t)return(0,f.jsx)(L,{...e});const s=(0,i.d1)(t);return(0,f.jsx)("section",{className:(0,o.A)("row",n),children:s.map(((e,t)=>(0,f.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,f.jsx)(T,{item:e})},t)))})}var y=n(6929),w=n(1878),I=n(4267),C=n(1243);const F={generatedIndexPage:"generatedIndexPage_vN6x",list:"list_eTzJ",title:"title_kItE"};function M(e){let{categoryGeneratedIndex:t}=e;return(0,f.jsx)(r.be,{title:t.title,description:t.description,keywords:t.keywords,image:(0,a.Ay)(t.image)})}function P(e){let{categoryGeneratedIndex:t}=e;const n=(0,i.$S)();return(0,f.jsxs)("div",{className:F.generatedIndexPage,children:[(0,f.jsx)(w.A,{}),(0,f.jsx)(C.A,{}),(0,f.jsx)(I.A,{}),(0,f.jsxs)("header",{children:[(0,f.jsx)(g.A,{as:"h1",className:F.title,children:t.title}),t.description&&(0,f.jsx)("p",{children:t.description})]}),(0,f.jsx)("article",{className:"margin-top--lg",children:(0,f.jsx)(k,{items:n.items,className:F.list})}),(0,f.jsx)("footer",{className:"margin-top--lg",children:(0,f.jsx)(y.A,{previous:t.navigation.previous,next:t.navigation.next})})]})}function S(e){return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(M,{...e}),(0,f.jsx)(P,{...e})]})}},6929:(e,t,n)=>{n.d(t,{A:()=>l});n(6540);var s=n(1312),r=n(4164),i=n(8774),a=n(4848);function o(e){const{permalink:t,title:n,subLabel:s,isNext:o}=e;return(0,a.jsxs)(i.A,{className:(0,r.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,a.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,a.jsx)("div",{className:"pagination-nav__label",children:n})]})}function l(e){const{previous:t,next:n}=e;return(0,a.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,a.jsx)(o,{...t,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,a.jsx)(o,{...n,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},4267:(e,t,n)=>{n.d(t,{A:()=>l});n(6540);var s=n(4164),r=n(1312),i=n(7559),a=n(3025),o=n(4848);function l(e){let{className:t}=e;const n=(0,a.r)();return n.badge?(0,o.jsx)("span",{className:(0,s.A)(t,i.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,o.jsx)(r.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},1878:(e,t,n)=>{n.d(t,{A:()=>x});n(6540);var s=n(4164),r=n(4586),i=n(8774),a=n(1312),o=n(8295),l=n(7559),c=n(3886),d=n(3025),u=n(4848);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function b(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(i.A,{to:n,onClick:s,children:(0,u.jsx)(a.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function p(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:i}}=(0,r.A)(),{pluginId:a}=(0,o.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,c.g1)(a),{latestDocSuggestion:m,latestVersionSuggestion:p}=(0,o.HW)(a),x=m??(g=p).docs.find((e=>e.id===g.mainDocId));var g;return(0,u.jsxs)("div",{className:(0,s.A)(t,l.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:i,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(b,{versionLabel:p.label,to:x.path,onClick:()=>d(p.name)})})]})}function x(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,u.jsx)(p,{className:t,versionMetadata:n}):null}}}]); \ No newline at end of file diff --git a/docs/assets/js/fd886806.769d3aaa.js b/docs/assets/js/fd886806.769d3aaa.js new file mode 100644 index 0000000000..5a64743c00 --- /dev/null +++ b/docs/assets/js/fd886806.769d3aaa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["4521"],{4310:function(e,t,r){r.d(t,{Z:()=>x});var i=r("5893");r("7294");var c=r("7026"),n=r("3012"),o=r("3413"),s=r("3115"),a=r("3150"),d=r("6025"),l=r("4403");let u={cardContainer:"cardContainer_S8oU",cardTitle:"cardTitle_HoSo",cardDescription:"cardDescription_c27F"};function h(e){let{href:t,children:r}=e;return(0,i.jsx)(n.Z,{href:t,className:(0,c.Z)("card padding--lg",u.cardContainer),children:r})}function p(e){let{href:t,icon:r,title:n,description:o}=e;return(0,i.jsxs)(h,{href:t,children:[(0,i.jsxs)(l.Z,{as:"h2",className:(0,c.Z)("text--truncate",u.cardTitle),title:n,children:[r," ",n]}),o&&(0,i.jsx)("p",{className:(0,c.Z)("text--truncate",u.cardDescription),title:o,children:o})]})}function f(e){let{item:t}=e,r=(0,o.LM)(t),c=function(){let{selectMessage:e}=(0,s.c)();return t=>e(t,(0,d.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return r?(0,i.jsx)(p,{href:r,icon:"\uD83D\uDDC3\uFE0F",title:t.label,description:t.description??c(t.items.length)}):null}function m(e){let{item:t}=e,r=t?.customProps?.myEmoji??((0,a.Z)(t.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17"),c=(0,o.xz)(t.docId??void 0);return(0,i.jsx)(p,{href:t.href,icon:r,title:t.label,description:t.description??c?.description})}function x(e){let{item:t}=e;switch(t.type){case"link":return(0,i.jsx)(m,{item:t});case"category":return(0,i.jsx)(f,{item:t});default:throw Error(`unknown item type ${JSON.stringify(t)}`)}}}}]); \ No newline at end of file diff --git a/docs/assets/js/main.584702dd.js b/docs/assets/js/main.584702dd.js deleted file mode 100644 index f0ba4b6db4..0000000000 --- a/docs/assets/js/main.584702dd.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.584702dd.js.LICENSE.txt */ -(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8792],{8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"019369f3":[()=>n.e(1532).then(n.bind(n,5886)),"@site/docs/guides/monitoring.md",5886],"058ffc22":[()=>n.e(5989).then(n.bind(n,9077)),"@site/docs/meta/xtce.md",9077],"0686a885":[()=>n.e(9433).then(n.bind(n,3992)),"@site/docs/development/log-structure.md",3992],"078dbab0":[()=>n.e(5425).then(n.bind(n,3718)),"@site/src/pages/markdown-page.md",3718],"0f5d161c":[()=>n.e(2327).then(n.bind(n,1620)),"@site/docs/tools/script-runner.md",1620],"0ff569c9":[()=>n.e(5961).then(n.bind(n,1067)),"@site/docs/introduction.md",1067],"103cc3be":[()=>n.e(3467).then(n.bind(n,5711)),"@site/docs/tools/autonomic.md",5711],13196248:[()=>n.e(6677).then(n.bind(n,5985)),"@site/docs/tools/calendar.md",5985],"13c1b4e4":[()=>n.e(9698).then(n.bind(n,2083)),"@site/docs/tools/data-viewer.md",2083],"2047b354":[()=>n.e(4688).then(n.bind(n,5269)),"@site/docs/tools/packet-viewer.md",5269],"22b3ac48":[()=>n.e(8150).then(n.bind(n,4571)),"@site/docs/guides/raspberrypi.md",4571],"26b8abb2":[()=>n.e(6544).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"2bb7bf90":[()=>n.e(7757).then(n.bind(n,496)),"@site/docs/getting-started/generators.md",496],"3dd7ef3b":[()=>n.e(8619).then(n.bind(n,1403)),"@site/docs/meta/contributing.md",1403],"40365d27":[()=>n.e(9014).then(n.bind(n,355)),"@site/docs/tools/tlm-grapher.md",355],"411898ad":[()=>n.e(7593).then(n.bind(n,5111)),"@site/docs/development/curl.md",5111],42170351:[()=>n.e(3440).then(n.bind(n,9262)),"@site/docs/guides/script-writing.md",9262],"43652efd":[()=>n.e(5750).then(n.bind(n,8733)),"@site/docs/tools/data-extractor.md",8733],"53ca7c5b":[()=>n.e(2932).then(n.bind(n,1723)),"@theme/DocVersionRoot",1723],"54d0d530":[()=>n.e(6464).then(n.bind(n,39)),"@site/docs/tools/limits-monitor.md",39],"5b233ba7":[()=>n.e(8444).then(n.bind(n,5740)),"@site/docs/meta/licenses.md",5740],"5bc719f6":[()=>n.e(3942).then(n.bind(n,7414)),"@site/docs/getting-started/podman.md",7414],"5c6ce5ec":[()=>n.e(5380).then(n.bind(n,9677)),"@site/docs/development/streaming-api.md",9677],"5e3ed378":[()=>Promise.all([n.e(1869),n.e(8608),n.e(3135)]).then(n.bind(n,7973)),"@theme/MDXPage",7973],"5fe211ef":[()=>n.e(864).then(n.bind(n,1470)),"@site/docs/configuration/table.md",1470],"6831b732":[()=>n.e(9527).then(n.bind(n,6197)),"@site/docs/configuration/plugins.md",6197],"68598e7e":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"696b4199":[()=>n.e(4875).then(n.bind(n,6073)),"@site/docs/configuration/ssl-tls.md",6073],"6b210247":[()=>n.e(8353).then(n.bind(n,665)),"@site/docs/getting-started/requirements.md",665],"6b65133b":[()=>n.e(7827).then(n.bind(n,7413)),"@site/docs/tools/tlm-viewer.md",7413],"6f92e431":[()=>n.e(9729).then(n.bind(n,9427)),"@site/docs/development/roadmap.md",9427],"6f9ac1e3":[()=>n.e(3581).then(n.t.bind(n,7971,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-meta-7f3.json",7971],"72c6d8a8":[()=>n.e(1524).then(n.bind(n,9037)),"@site/docs/configuration/command.md",9037],75897369:[()=>n.e(2827).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],"75e64983":[()=>n.e(7388).then(n.bind(n,2792)),"@site/docs/getting-started/upgrading.md",2792],"7f8d7499":[()=>n.e(3851).then(n.t.bind(n,3688,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-configuration-a41.json",3688],"80a8ecf5":[()=>n.e(3479).then(n.t.bind(n,5493,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-guides-790.json",5493],"80c97f38":[()=>n.e(2717).then(n.bind(n,9743)),"@site/docs/tools/command_history.md",9743],"848bfa8e":[()=>n.e(4619).then(n.t.bind(n,8912,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-18d.json",8912],"867640d5":[()=>n.e(7719).then(n.bind(n,3959)),"@site/docs/guides/cfs.md",3959],"89e76475":[()=>n.e(7660).then(n.bind(n,4454)),"@site/docs/tools/bucket-explorer.md",4454],"8f7843ee":[()=>n.e(1281).then(n.bind(n,3945)),"@site/docs/guides/logging.md",3945],"9424f0b3":[()=>n.e(4909).then(n.bind(n,7417)),"@site/docs/configuration/telemetry-screens.md",7417],97535711:[()=>n.e(437).then(n.bind(n,8095)),"@site/docs/development/testing.md",8095],"99581c43":[()=>n.e(413).then(n.bind(n,7233)),"@site/docs/guides/custom-widgets.md",7233],"9d6e81d0":[()=>Promise.all([n.e(1869),n.e(5250)]).then(n.bind(n,6467)),"@site/src/pages/index.js",6467],"9fb6059a":[()=>n.e(4725).then(n.bind(n,8842)),"@site/docs/privacy.md",8842],a507c363:[()=>n.e(7257).then(n.bind(n,2842)),"@site/docs/development/host-install.md",2842],a677c089:[()=>n.e(7452).then(n.bind(n,8617)),"@site/docs/configuration/interfaces.md",8617],a9987364:[()=>n.e(6830).then(n.bind(n,5055)),"@site/docs/getting-started/gettingstarted.md",5055],aa6b6c1b:[()=>n.e(6885).then(n.bind(n,4623)),"@site/docs/guides/scripting-api.md",4623],b4596165:[()=>n.e(8499).then(n.bind(n,6950)),"@site/docs/tools/table-manager.md",6950],b6d70f94:[()=>n.e(9005).then(n.bind(n,779)),"@site/docs/configuration/protocols.md",779],b9f60ba6:[()=>n.e(3307).then(n.bind(n,2686)),"@site/docs/configuration/target.md",2686],bd0034eb:[()=>n.e(313).then(n.bind(n,574)),"@site/docs/guides/bridges.md",574],c24eae19:[()=>n.e(2577).then(n.bind(n,9653)),"@site/docs/development/developing.md",9653],c5388ca4:[()=>n.e(2642).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],cb8c3f08:[()=>n.e(6360).then(n.bind(n,3643)),"@site/docs/tools/cmd-sender.md",3643],cd879be4:[()=>n.e(407).then(n.bind(n,9295)),"@site/docs/tools/handbooks.md",9295],d1b923aa:[()=>n.e(3718).then(n.bind(n,1273)),"@site/docs/guides/performance.md",1273],d1bfc316:[()=>Promise.all([n.e(1869),n.e(7209)]).then(n.bind(n,1377)),"@theme/DocRoot",1377],d24bf9b6:[()=>n.e(1392).then(n.bind(n,2178)),"@site/docs/configuration/format.md",2178],d57a4b5d:[()=>n.e(8283).then(n.bind(n,5267)),"@site/docs/development/json-api.md",5267],d5d77c37:[()=>n.e(2905).then(n.bind(n,3276)),"@site/docs/tools/cmd-tlm-server.md",3276],d8ca4191:[()=>n.e(5772).then(n.bind(n,6215)),"@site/docs/guides/little-endian-bitfields.md",6215],d9b92eba:[()=>n.e(6637).then(n.bind(n,735)),"@site/docs/meta/philosophy.md",735],db8fa1d0:[()=>n.e(8657).then(n.bind(n,1263)),"@site/docs/getting-started/installation.md",1263],dc5f7beb:[()=>Promise.all([n.e(1869),n.e(8608),n.e(1839)]).then(n.bind(n,8632)),"@theme/DocItem",8632],e07a6232:[()=>n.e(783).then(n.t.bind(n,3084,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-development-1fb.json",3084],e501b0d1:[()=>n.e(3343).then(n.bind(n,6545)),"@site/docs/guides/local-mode.md",6545],e91075a4:[()=>n.e(3641).then(n.t.bind(n,3045,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-getting-started-1c9.json",3045],ebec1ccb:[()=>n.e(6417).then(n.bind(n,3238)),"@site/docs/getting-started/key_concepts.md",3238],f15615f1:[()=>n.e(3724).then(n.bind(n,4932)),"@site/docs/configuration/telemetry.md",4932],f9ac6a79:[()=>n.e(7355).then(n.t.bind(n,4108,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-tools-36f.json",4108],fd886806:[()=>Promise.all([n.e(1869),n.e(7605)]).then(n.bind(n,7700)),"@theme/DocCategoryGeneratedIndexPage",7700]};var s=n(4848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(6921),u=n(3102);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(2237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},f=[],p=[],g=(0,c.A)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),o().Map({loading:l,loader:d,modules:f,webpack:()=>p,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const f=[{path:"/markdown-page",component:d("/markdown-page","661"),exact:!0},{path:"/docs",component:d("/docs","686"),routes:[{path:"/docs",component:d("/docs","f6a"),routes:[{path:"/docs",component:d("/docs","e89"),routes:[{path:"/docs",component:d("/docs","81e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration",component:d("/docs/configuration","0d9"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/command",component:d("/docs/configuration/command","858"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/format",component:d("/docs/configuration/format","61b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/interfaces",component:d("/docs/configuration/interfaces","90e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/plugins",component:d("/docs/configuration/plugins","8ae"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/protocols",component:d("/docs/configuration/protocols","53e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/ssl-tls",component:d("/docs/configuration/ssl-tls","eae"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/table",component:d("/docs/configuration/table","295"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/target",component:d("/docs/configuration/target","ea0"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/telemetry",component:d("/docs/configuration/telemetry","106"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/telemetry-screens",component:d("/docs/configuration/telemetry-screens","8d4"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development",component:d("/docs/development","59e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/curl",component:d("/docs/development/curl","724"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/developing",component:d("/docs/development/developing","929"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/host-install",component:d("/docs/development/host-install","cb7"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/json-api",component:d("/docs/development/json-api","b5b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/log-structure",component:d("/docs/development/log-structure","e3a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/roadmap",component:d("/docs/development/roadmap","e2d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/streaming-api",component:d("/docs/development/streaming-api","8fc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/testing",component:d("/docs/development/testing","93d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started",component:d("/docs/getting-started","625"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/generators",component:d("/docs/getting-started/generators","6a7"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/gettingstarted",component:d("/docs/getting-started/gettingstarted","c63"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/installation",component:d("/docs/getting-started/installation","fb0"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/key_concepts",component:d("/docs/getting-started/key_concepts","0ac"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/podman",component:d("/docs/getting-started/podman","d73"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/requirements",component:d("/docs/getting-started/requirements","b1f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/upgrading",component:d("/docs/getting-started/upgrading","1c3"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides",component:d("/docs/guides","85b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/bridges",component:d("/docs/guides/bridges","8f6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/cfs",component:d("/docs/guides/cfs","175"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/custom-widgets",component:d("/docs/guides/custom-widgets","664"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/little-endian-bitfields",component:d("/docs/guides/little-endian-bitfields","862"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/local-mode",component:d("/docs/guides/local-mode","02e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/logging",component:d("/docs/guides/logging","672"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/monitoring",component:d("/docs/guides/monitoring","fc1"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/performance",component:d("/docs/guides/performance","4c2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/raspberrypi",component:d("/docs/guides/raspberrypi","472"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/script-writing",component:d("/docs/guides/script-writing","325"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/scripting-api",component:d("/docs/guides/scripting-api","585"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta",component:d("/docs/meta","f76"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/contributing",component:d("/docs/meta/contributing","04d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/licenses",component:d("/docs/meta/licenses","c2c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/philosophy",component:d("/docs/meta/philosophy","19e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/xtce",component:d("/docs/meta/xtce","33c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/privacy",component:d("/docs/privacy","90d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools",component:d("/docs/tools","35e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/autonomic",component:d("/docs/tools/autonomic","bdf"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/bucket-explorer",component:d("/docs/tools/bucket-explorer","f54"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/calendar",component:d("/docs/tools/calendar","a99"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/cmd-sender",component:d("/docs/tools/cmd-sender","b54"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/cmd-tlm-server",component:d("/docs/tools/cmd-tlm-server","6ff"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/command_history",component:d("/docs/tools/command_history","bb9"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/data-extractor",component:d("/docs/tools/data-extractor","107"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/data-viewer",component:d("/docs/tools/data-viewer","7f2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/handbooks",component:d("/docs/tools/handbooks","611"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/limits-monitor",component:d("/docs/tools/limits-monitor","ae6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/packet-viewer",component:d("/docs/tools/packet-viewer","b7d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/script-runner",component:d("/docs/tools/script-runner","244"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/table-manager",component:d("/docs/tools/table-manager","1ae"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/tlm-grapher",component:d("/docs/tools/tlm-grapher","518"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/tlm-viewer",component:d("/docs/tools/tlm-viewer","e41"),exact:!0,sidebar:"defaultSidebar"}]}]}]},{path:"/",component:d("/","408"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},7815:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(545),i=n(4625),s=n(4784),l=n(8193);const c=[n(119),n(6134),n(6294),n(1043)];var u=n(8328),d=n(6347),f=n(2831),p=n(4848);function g(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5260),h=n(4586),b=n(6025),y=n(6342),v=n(1003),w=n(2131),k=n(4090);var x=n(440),S=n(1463);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.A)(),{pathname:r}=(0,d.zy)();return e+(0,x.Ks)((0,b.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,y.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(S.A,{tag:"default",locale:e}),(0,p.jsx)(m.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const A=new Map;var T=n(6125),N=n(6988),O=n(205);function j(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const o=c.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,O.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),j("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,f.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?j("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=j("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),R(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const L=I,D="__docusaurus-base-url-issue-banner-suggestion-container";function M(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${D}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${D}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function F(){const{siteConfig:{baseUrl:e}}=(0,h.A)();return(0,p.jsx)(p.Fragment,{children:!l.A.canUseDOM&&(0,p.jsx)(m.A,{children:(0,p.jsx)("script",{children:M(e)})})})}function z(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.A)(),{pathname:n}=(0,d.zy)();return t&&n===e?(0,p.jsx)(F,{}):null}function B(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:o}}=(0,h.A)(),a=(0,b.Ay)(e),{htmlLang:i,direction:s}=o[r];return(0,p.jsxs)(m.A,{children:[(0,p.jsx)("html",{lang:i,dir:s}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:a})]})}var $=n(7489),U=n(2303);function H(){const e=(0,U.A)();return(0,p.jsx)(m.A,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}const W=(0,f.v)(u.A);function V(){const e=function(e){if(A.has(e.pathname))return{...e,pathname:A.get(e.pathname)};if((0,f.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(L,{location:e,children:W})}function G(){return(0,p.jsx)($.A,{children:(0,p.jsx)(N.l,{children:(0,p.jsxs)(T.x,{children:[(0,p.jsxs)(g,{children:[(0,p.jsx)(B,{}),(0,p.jsx)(C,{}),(0,p.jsx)(z,{}),(0,p.jsx)(V,{})]}),(0,p.jsx)(H,{})]})})})}var q=n(4054);const Y=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var K=n(6921);const Q=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J={prefetch:e=>{if(!(e=>!X()&&!Z.has(e)&&!Q.has(e))(e))return!1;Q.add(e);const t=(0,f.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!Z.has(e))(e)&&(Z.add(e),R(e))},ee=Object.freeze(J);function te(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,p.jsx)(i.I9,{children:t}):(0,p.jsx)(i.Kd,{children:t})}const ne=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=ee;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(a.vd,{children:(0,p.jsx)(te,{children:(0,p.jsx)(G,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ne)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};R(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(6540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"introduction","docs":[{"id":"configuration/command","path":"/docs/configuration/command","sidebar":"defaultSidebar"},{"id":"configuration/format","path":"/docs/configuration/format","sidebar":"defaultSidebar"},{"id":"configuration/interfaces","path":"/docs/configuration/interfaces","sidebar":"defaultSidebar"},{"id":"configuration/plugins","path":"/docs/configuration/plugins","sidebar":"defaultSidebar"},{"id":"configuration/protocols","path":"/docs/configuration/protocols","sidebar":"defaultSidebar"},{"id":"configuration/ssl-tls","path":"/docs/configuration/ssl-tls","sidebar":"defaultSidebar"},{"id":"configuration/table","path":"/docs/configuration/table","sidebar":"defaultSidebar"},{"id":"configuration/target","path":"/docs/configuration/target","sidebar":"defaultSidebar"},{"id":"configuration/telemetry","path":"/docs/configuration/telemetry","sidebar":"defaultSidebar"},{"id":"configuration/telemetry-screens","path":"/docs/configuration/telemetry-screens","sidebar":"defaultSidebar"},{"id":"development/curl","path":"/docs/development/curl","sidebar":"defaultSidebar"},{"id":"development/developing","path":"/docs/development/developing","sidebar":"defaultSidebar"},{"id":"development/host-install","path":"/docs/development/host-install","sidebar":"defaultSidebar"},{"id":"development/json-api","path":"/docs/development/json-api","sidebar":"defaultSidebar"},{"id":"development/log-structure","path":"/docs/development/log-structure","sidebar":"defaultSidebar"},{"id":"development/roadmap","path":"/docs/development/roadmap","sidebar":"defaultSidebar"},{"id":"development/streaming-api","path":"/docs/development/streaming-api","sidebar":"defaultSidebar"},{"id":"development/testing","path":"/docs/development/testing","sidebar":"defaultSidebar"},{"id":"getting-started/generators","path":"/docs/getting-started/generators","sidebar":"defaultSidebar"},{"id":"getting-started/gettingstarted","path":"/docs/getting-started/gettingstarted","sidebar":"defaultSidebar"},{"id":"getting-started/installation","path":"/docs/getting-started/installation","sidebar":"defaultSidebar"},{"id":"getting-started/key_concepts","path":"/docs/getting-started/key_concepts","sidebar":"defaultSidebar"},{"id":"getting-started/podman","path":"/docs/getting-started/podman","sidebar":"defaultSidebar"},{"id":"getting-started/requirements","path":"/docs/getting-started/requirements","sidebar":"defaultSidebar"},{"id":"getting-started/upgrading","path":"/docs/getting-started/upgrading","sidebar":"defaultSidebar"},{"id":"guides/bridges","path":"/docs/guides/bridges","sidebar":"defaultSidebar"},{"id":"guides/cfs","path":"/docs/guides/cfs","sidebar":"defaultSidebar"},{"id":"guides/custom-widgets","path":"/docs/guides/custom-widgets","sidebar":"defaultSidebar"},{"id":"guides/little-endian-bitfields","path":"/docs/guides/little-endian-bitfields","sidebar":"defaultSidebar"},{"id":"guides/local-mode","path":"/docs/guides/local-mode","sidebar":"defaultSidebar"},{"id":"guides/logging","path":"/docs/guides/logging","sidebar":"defaultSidebar"},{"id":"guides/monitoring","path":"/docs/guides/monitoring","sidebar":"defaultSidebar"},{"id":"guides/performance","path":"/docs/guides/performance","sidebar":"defaultSidebar"},{"id":"guides/raspberrypi","path":"/docs/guides/raspberrypi","sidebar":"defaultSidebar"},{"id":"guides/script-writing","path":"/docs/guides/script-writing","sidebar":"defaultSidebar"},{"id":"guides/scripting-api","path":"/docs/guides/scripting-api","sidebar":"defaultSidebar"},{"id":"introduction","path":"/docs/","sidebar":"defaultSidebar"},{"id":"meta/contributing","path":"/docs/meta/contributing","sidebar":"defaultSidebar"},{"id":"meta/licenses","path":"/docs/meta/licenses","sidebar":"defaultSidebar"},{"id":"meta/philosophy","path":"/docs/meta/philosophy","sidebar":"defaultSidebar"},{"id":"meta/xtce","path":"/docs/meta/xtce","sidebar":"defaultSidebar"},{"id":"privacy","path":"/docs/privacy","sidebar":"defaultSidebar"},{"id":"tools/autonomic","path":"/docs/tools/autonomic","sidebar":"defaultSidebar"},{"id":"tools/bucket-explorer","path":"/docs/tools/bucket-explorer","sidebar":"defaultSidebar"},{"id":"tools/calendar","path":"/docs/tools/calendar","sidebar":"defaultSidebar"},{"id":"tools/cmd-sender","path":"/docs/tools/cmd-sender","sidebar":"defaultSidebar"},{"id":"tools/cmd-tlm-server","path":"/docs/tools/cmd-tlm-server","sidebar":"defaultSidebar"},{"id":"tools/command_history","path":"/docs/tools/command_history","sidebar":"defaultSidebar"},{"id":"tools/data-extractor","path":"/docs/tools/data-extractor","sidebar":"defaultSidebar"},{"id":"tools/data-viewer","path":"/docs/tools/data-viewer","sidebar":"defaultSidebar"},{"id":"tools/handbooks","path":"/docs/tools/handbooks","sidebar":"defaultSidebar"},{"id":"tools/limits-monitor","path":"/docs/tools/limits-monitor","sidebar":"defaultSidebar"},{"id":"tools/packet-viewer","path":"/docs/tools/packet-viewer","sidebar":"defaultSidebar"},{"id":"tools/script-runner","path":"/docs/tools/script-runner","sidebar":"defaultSidebar"},{"id":"tools/table-manager","path":"/docs/tools/table-manager","sidebar":"defaultSidebar"},{"id":"tools/tlm-grapher","path":"/docs/tools/tlm-grapher","sidebar":"defaultSidebar"},{"id":"tools/tlm-viewer","path":"/docs/tools/tlm-viewer","sidebar":"defaultSidebar"},{"id":"/getting-started","path":"/docs/getting-started","sidebar":"defaultSidebar"},{"id":"/configuration","path":"/docs/configuration","sidebar":"defaultSidebar"},{"id":"/tools","path":"/docs/tools","sidebar":"defaultSidebar"},{"id":"/guides","path":"/docs/guides","sidebar":"defaultSidebar"},{"id":"/development","path":"/docs/development","sidebar":"defaultSidebar"},{"id":"/meta","path":"/docs/meta","sidebar":"defaultSidebar"}],"draftIds":[],"sidebars":{"defaultSidebar":{"link":{"path":"/docs/","label":"introduction"}}}}],"breadcrumbs":true}},"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1731457472213.json","lunrIndex":"lunr-index-1731457472213.json"}}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.6.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.6.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.6.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.6.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.6.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.6.1"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.6.1"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"3.5.0"}}}');var c=n(4848);const u={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(u);function f(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var r=n(6540),o=n(8193),a=n(5260),i=n(440),s=n(7907),l=n(3102),c=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,c.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(f,{children:(0,c.jsxs)(m,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const g=e=>(0,c.jsx)(p,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??g)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(545),o=n(4848);function a(e){return(0,o.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),o=n(4625),a=n(440),i=n(4586),s=n(6654),l=n(8193),c=n(3427),u=n(6025),d=n(4848);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:g,isActive:m,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,u.hH)(),_=(0,c.A)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const C=f||p;const A=(0,s.A)(C),T=C?.replace("pathname://","");let N=void 0!==T?(O=T,b&&(e=>e.startsWith("/"))(O)?S(O):O):void 0;var O;"hash"===x&&N?.startsWith("./")&&(N=N?.slice(1)),N&&A&&(N=(0,a.Ks)(N,{trailingSlash:w,baseUrl:k}));const j=(0,r.useRef)(!1),P=n?o.k2:o.N_,R=l.A.canUseIntersectionObserver,I=(0,r.useRef)(),L=()=>{j.current||null==N||(window.docusaurus.preload(N),j.current=!0)};(0,r.useEffect)((()=>(!R&&A&&l.A.canUseDOM&&null!=N&&window.docusaurus.prefetch(N),()=>{R&&I.current&&I.current.disconnect()})),[I,N,R,A]);const D=N?.startsWith("#")??!1,M=!y.target||"_self"===y.target,F=!N||!A||!M||D&&"hash"!==x;h||!D&&F||_.collectLink(N),y.id&&_.collectAnchor(y.id);const z={};return F?(0,d.jsx)("a",{ref:E,href:N,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...y,...z}):(0,d.jsx)(P,{...y,onMouseEnter:L,onTouchStart:L,innerRef:e=>{E.current=e,R&&e&&A&&(I.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=N&&window.docusaurus.prefetch(N))}))})),I.current.observe(e))},to:N,...n&&{isActive:m,activeClassName:g},...z})}const p=r.forwardRef(f)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>l});var r=n(6540),o=n(4848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(6540),o=n(4586),a=n(6654);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6988);function a(){return(0,r.useContext)(o.o)}},6588:(e,t,n)=>{"use strict";n.d(t,{P_:()=>i,kh:()=>a});var r=n(4586),o=n(7065);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540);const o=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(6540),o=n(4848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},3886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>h,g1:()=>y});var r=n(6540),o=n(8295),a=n(7065),i=n(6342),s=n(679),l=n(9532),c=n(4848);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function g(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=g();return(0,c.jsx)(p.Provider,{value:n,children:t})}function h(e){let{children:t}=e;return(0,c.jsx)(m,{children:t})}function b(){const e=(0,r.useContext)(p);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},609:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>c});var r=n(6540),o=n(9532),a=n(4848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},4718:(e,t,n)=>{"use strict";n.d(t,{d1:()=>C,Nr:()=>p,w8:()=>b,$S:()=>g,cC:()=>f,B5:()=>E,Vd:()=>x,QB:()=>_,fW:()=>S,OF:()=>k,Y:()=>v});var r=n(6540),o=n(6347),a=n(2831),i=n(8295),s=n(9169);function l(e){return Array.from(new Set(e))}var c=n(3886),u=n(3025),d=n(609);function f(e){const t=(0,u.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}function g(){const{pathname:e}=(0,o.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=w({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const m=(e,t)=>void 0!==e&&(0,s.ys)(e,t),h=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||h(e.items,t))}function y(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function v(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function w(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,s.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,s.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function k(){const e=(0,d.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?w({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>l([t,n,o].filter(Boolean))),[t,n,o])}function S(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function _(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${l(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,u.r)(),i=t.routes,s=i.find((e=>(0,o.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.v)(i),sidebarName:l,sidebarItems:c}}function C(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!p(e)))}},3025:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},8295:(e,t,n)=>{"use strict";n.d(t,{zK:()=>p,vT:()=>u,Gy:()=>l,HW:()=>g,ht:()=>c,r7:()=>f,jh:()=>d});var r=n(6347),o=n(6588);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const s={},l=()=>(0,o.kh)("docusaurus-plugin-content-docs")??s,c=e=>{try{return(0,o.P_)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function u(e){void 0===e&&(e={});const t=l(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function d(e){return c(e).versions}function f(e){const t=c(e);return a(t)}function p(e){const t=c(e),{pathname:n}=(0,r.zy)();return i(t,n)}function g(e){const t=c(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=a(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},6134:(e,t,n)=>{"use strict";var r=n(1765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t,a=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(2747)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==a&&(globalThis.Prism=e)}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(4164),o=n(1312),a=n(6342),i=n(8774),s=n(3427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(4848);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:f}}=(0,a.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const p=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",f?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(4848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},7907:(e,t,n)=>{"use strict";n.d(t,{A:()=>vt});var r=n(6540),o=n(4164),a=n(7489),i=n(1003),s=n(6347),l=n(1312),c=n(5062),u=n(4848);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,l.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??g,{containerRef:n,onClick:r}=p();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(7559),b=n(4090);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(m,{className:y.skipToContent})}var w=n(6342),k=n(5041);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function _(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.A)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:A.announcementBarPlaceholder}),(0,u.jsx)(C,{className:A.announcementBarContent}),a&&(0,u.jsx)(_,{onClick:n,className:A.announcementBarClose})]})}var N=n(9876),O=n(3104);var j=n(9532),P=n(5600);const R=r.createContext(null);function I(e){let{children:t}=e;const n=function(){const e=(0,N.M)(),t=(0,P.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,j.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(R.Provider,{value:n,children:t})}function L(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(R);if(!e)throw new j.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,P.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:L(a)})),[o,a,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var F=n(5293),z=n(2303);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.A)(),s=(0,l.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.A)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,u.jsx)(B,{className:(0,o.A)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,o.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const W=r.memo(H),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,F.G)();return r?null:(0,u.jsx)(W,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var q=n(3465);function Y(){return(0,u.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,N.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Q(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(Y,{}),(0,u.jsx)(G,{className:"margin-right--md"}),(0,u.jsx)(K,{})]})}var Z=n(8774),X=n(6025),J=n(6654);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.Ay)(r),f=(0,X.Ay)(t),p=(0,X.Ay)(o,{forcePrependBaseUrl:!0}),g=a&&o&&!(0,J.A)(o),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,g&&(0,u.jsx)(te.A,{...s&&{width:12,height:12}})]})};return o?(0,u.jsx)(Z.A,{href:l?p:o,...c,...m}):(0,u.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...c,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),se=n(9169),le=n(4586);const ce="dropdownNavbarItemMobile_S0Fm";function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.A)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(je,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:a,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[c,d,g]),(0,u.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.A)(ce,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),p()},children:l.children??l.label}),(0,u.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(je,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,u.jsx)(r,{...n})}var ge=n(2131);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";function be(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=be(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}const ye=function(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=be(e))&&(r&&(r+=" "),r+=t);return r};var ve=n(6588),we=n(689),ke=n.n(we);function xe(){const e=(0,s.zy)(),t=(0,s.W6)(),{siteConfig:{baseUrl:n}}=(0,le.A)(),[o,a]=(0,r.useState)({wordToHighlight:"",isTitleSuggestion:!1,titleText:""});return(0,r.useEffect)((()=>{if(!e.state?.highlightState||0===e.state.highlightState.wordToHighlight.length)return;a(e.state.highlightState);const{highlightState:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.highlightState,t,e]),(0,r.useEffect)((()=>{if(0===o.wordToHighlight.length)return;const e=document.getElementsByTagName("article")[0]??document.getElementsByTagName("main")[0];if(!e)return;const t=new(ke())(e),n={ignoreJoiners:!0};return t.mark(o.wordToHighlight,n),()=>t.unmark(n)}),[o,n]),null}const Se=e=>{const t=(0,r.useRef)(!1),o=(0,r.useRef)(null),[a,i]=(0,r.useState)(!1),l=(0,s.W6)(),{siteConfig:c={}}=(0,le.A)(),d=(c.plugins||[]).find((e=>Array.isArray(e)&&"string"==typeof e[0]&&e[0].includes("docusaurus-lunr-search"))),f=(0,z.A)(),{baseUrl:p}=c,g=d&&d[1]?.assetUrl||p,m=(0,ve.P_)("docusaurus-lunr-search"),h=()=>{t.current||(Promise.all([fetch(`${g}${m.fileNames.searchDoc}`).then((e=>e.json())),fetch(`${g}${m.fileNames.lunrIndex}`).then((e=>e.json())),Promise.all([n.e(8591),n.e(8577)]).then(n.bind(n,5765)),Promise.all([n.e(1869),n.e(9278)]).then(n.bind(n,9278))]).then((e=>{let[t,n,{default:r}]=e;const{searchDocs:o,options:a}=t;o&&0!==o.length&&(((e,t,n,r)=>{new n({searchDocs:e,searchIndex:t,baseUrl:p,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{const o=n.url||"/";document.createElement("a").href=o,e.setVal(""),t.target.blur();let a="";if(r.highlightResult)try{const e=(n.text||n.subcategory||n.title).match(new RegExp("<span.+span>\\w*","g"));if(e&&e.length>0){const t=document.createElement("div");t.innerHTML=e[0],a=t.textContent}}catch(i){console.log(i)}l.push(o,{highlightState:{wordToHighlight:a}})},maxHits:r.maxHits})})(o,n,r,a),i(!0))})),t.current=!0)},b=(0,r.useCallback)((t=>{o.current.contains(t.target)||o.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);let y;return f&&(h(),y=window.navigator.platform.startsWith("Mac")?"Search \u2318+K":"Search Ctrl+K"),(0,r.useEffect)((()=>{e.autoFocus&&a&&o.current.focus()}),[a]),(0,u.jsxs)("div",{className:"navbar__search",children:[(0,u.jsx)("span",{"aria-label":"expand searchbar",role:"button",className:ye("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:b,onKeyDown:b,tabIndex:0}),(0,u.jsx)("input",{id:"search_input_react",type:"search",placeholder:a?y:"Loading...","aria-label":"Search",className:ye("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:h,onMouseOver:h,onFocus:b,onBlur:b,ref:o,disabled:!a}),(0,u.jsx)(xe,{})]},"search-box")},_e={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ee(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.A)(n,_e.navbarSearchContainer),children:t})}var Ce=n(8295),Ae=n(4718);var Te=n(3886);function Ne(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const Oe={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.A)(),f=(0,ge.o)(),{search:p,hash:g}=(0,s.zy)(),m=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,l.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(pe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(me,{className:he}),h]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Ee,{className:n,children:(0,u.jsx)(Se,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Ce.zK)(r),i=(0,Ae.QB)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Ce.zK)(r),i=(0,Ae.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Ae.Vd)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,s.zy)(),f=(0,Ce.zK)(n),p=(0,Ce.jh)(n),{savePreferredVersionName:g}=(0,Te.g1)(n),m=[...o,...p.map((function(e){const t=Ne(e,f);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...a],h=(0,Ae.Vd)(n)[0],b=t&&m.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,y=t&&m.length>1?void 0:Ne(h,f).path;return m.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(pe,{...i,mobile:t,label:b,to:y,items:m,isActive:r?()=>!1:void 0})}};function je(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Oe[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function Pe(){const e=(0,N.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(je,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Re(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ie(){const e=0===(0,w.p)().navbar.items.length,t=D();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Re,{onClick:()=>t.hide()}),t.content]})}function Le(){const e=(0,N.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(M,{header:(0,u.jsx)(Q,{}),primaryMenu:(0,u.jsx)(Pe,{}),secondaryMenu:(0,u.jsx)(Ie,{})}):null}const De={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Me(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Fe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,N.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,O.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<a.current)return void n(!0);if(o.current)return void(o.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-a.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,c.$)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[De.navbarHideable,!d&&De.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Me,{onClick:i.toggle}),(0,u.jsx)(Le,{})]})}var ze=n(440);const Be={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function $e(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ue(e){let{error:t}=e;const n=(0,ze.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Be.errorBoundaryError,children:n})}class He extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const We="right";function Ve(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ge(){const{toggle:e,shown:t}=(0,N.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(Ve,{})})}const qe={colorModeToggle:"colorModeToggle_DEke"};function Ye(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(He,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(je,{...e})},t)))})}function Ke(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Qe(){const e=(0,N.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??We)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(Ke,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Ge,{}),(0,u.jsx)(Y,{}),(0,u.jsx)(Ye,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Ye,{items:r}),(0,u.jsx)(G,{className:qe.colorModeToggle}),!o&&(0,u.jsx)(Ee,{children:(0,u.jsx)(Se,{})})]})})}function Ze(){return(0,u.jsx)(Fe,{children:(0,u.jsx)(Qe,{})})}function Xe(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,X.Ay)(n),l=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,J.A)(r)&&(0,u.jsx)(te.A,{})]})}function Je(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Xe,{item:t})},t.href??t.to)}function et(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(Je,{item:e},t)))})]})}function tt(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(et,{column:e},t)))})}function nt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function rt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Xe,{item:t})}function ot(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(rt,{item:e}),t.length!==n+1&&(0,u.jsx)(nt,{})]},n)))})})}function at(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(tt,{columns:t}):(0,u.jsx)(ot,{links:t})}var it=n(1122);const st="footerLogoLink_BH7S";function lt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(it.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function ct(e){let{logo:t}=e;return t.href?(0,u.jsx)(Z.A,{href:t.href,className:st,target:t.target,children:(0,u.jsx)(lt,{logo:t})}):(0,u.jsx)(lt,{logo:t})}function ut(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function dt(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ft(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(dt,{style:o,links:n&&n.length>0&&(0,u.jsx)(at,{links:n}),logo:r&&(0,u.jsx)(ct,{logo:r}),copyright:t&&(0,u.jsx)(ut,{copyright:t})})}const pt=r.memo(ft),gt=(0,j.fM)([F.a,k.o,O.Tv,Te.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(P.y_,{children:(0,u.jsx)(N.e,{children:(0,u.jsx)(I,{children:t})})})}]);function mt(e){let{children:t}=e;return(0,u.jsx)(gt,{children:t})}var ht=n(1107);function bt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(ht.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)($e,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Ue,{error:t})})]})})})}const yt={mainWrapper:"mainWrapper_z2l0"};function vt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,b.J)(),(0,u.jsxs)(mt,{children:[(0,u.jsx)(i.be,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(T,{}),(0,u.jsx)(Ze,{}),(0,u.jsx)("div",{id:d,className:(0,o.A)(h.G.wrapper.main,yt.mainWrapper,r),children:(0,u.jsx)(a.A,{fallback:e=>(0,u.jsx)(bt,{...e}),children:t})}),!n&&(0,u.jsx)(pt,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(8774),o=n(6025),a=n(4586),i=n(6342),s=n(1122),l=n(4848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...f}=e,p=(0,o.Ay)(s?.href||"/"),g=n?"":t,m=s?.alt??g;return(0,l.jsxs)(r.A,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:m,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(5260),o=n(4848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(6540),o=n(4164),a=n(2303),i=n(5293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(4848);function c(e){let{className:t,children:n}=e;const c=(0,a.A)(),{colorMode:u}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>c});var r=n(6540),o=n(8193),a=n(205),i=n(3109),s=n(4848);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return f(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function g(e){if(!o.A.canUseDOM)return e?u:d}function m(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return p({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(u.current,n),i?.(n))},className:l,children:o})}function h(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(m,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?h:m;return(0,s.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{M:()=>m,o:()=>g});var r=n(6540),o=n(2303),a=n(679),i=n(9532),s=n(6342),l=n(4848);const c=(0,a.Wf)("docusaurus.announcement.dismiss"),u=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),f=e=>c.set(String(e)),p=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&f(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(p.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>h});var r=n(6540),o=n(8193),a=n(9532),i=n(679),s=n(6342),l=n(4848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,g=e=>o.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{d.set(p(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[o,a]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},9876:(e,t,n)=>{"use strict";n.d(t,{e:()=>p,M:()=>g});var r=n(6540),o=n(5600),a=n(4581),i=n(6347),s=n(9532);function l(e){!function(e){const t=(0,i.W6)(),n=(0,s._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6342),u=n(4848);const d=r.createContext(void 0);function f(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,c.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function p(e){let{children:t}=e;const n=f();return(0,u.jsx)(d.Provider,{value:n,children:t})}function g(){const e=r.useContext(d);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>l,y_:()=>s});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(6540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(6540),o=n(8193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1003:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>d,Jx:()=>g});var r=n(6540),o=n(4164),a=n(5260),i=n(3102);function s(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(6025),c=n(4586);var u=n(4848);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const s=function(e){const{siteConfig:t}=(0,c.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.hH)(),f=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(a.A,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,u.jsx)("meta",{property:"og:image",content:f}),f&&(0,u.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),s=(0,o.A)(i,t);return(0,u.jsxs)(f.Provider,{value:s,children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("html",{className:s})}),n]})}function g(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(p,{className:(0,o.A)(r,a),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>u});var r=n(6540),o=n(205),a=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(6540),o=n(8328),a=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>c,gk:()=>p});var r=n(6540),o=n(8193),a=n(2303),i=(n(205),n(9532)),s=n(4848);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c});n(6540);const r=JSON.parse('{"N":"localStorage","M":""}'),o=r.N;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const o=i(t?.persistence);return null===o?l:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),o=n(6347),a=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,o.zy)(),c=(0,a.Ks)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),o=n(6347),a=n(9532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(4586);function o(){return(0,r.A)().siteConfig.themeConfig}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?o(l):a(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(2566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},440:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(1635);var o=n(2983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(2566);var i=n(253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>p,sC:()=>T,AO:()=>f});var r=n(8168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&o(e),l=t&&o(t),c=s||l;if(e&&o(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var s=n(1561);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var m=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),m||(0,s.A)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,w=void 0!==c&&c,k=i.getUserConfirmation,x=void 0===k?h:k,S=i.keyLength,_=void 0===S?6:S,E=e.basename?d(l(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,o=window.location,a=o.pathname+o.search+o.hash;return E&&(a=u(a,E)),p(a,r,n)}function A(){return Math.random().toString(36).substr(2,_)}var T=g();function N(e){(0,r.A)($,e),$.length=n.length,T.notifyListeners($.location,$.action)}function O(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||R(C(e.state))}function j(){R(C(v()))}var P=!1;function R(e){if(P)P=!1,N();else{T.confirmTransitionTo(e,"POP",x,(function(t){t?N({action:"POP",location:e}):function(e){var t=$.location,n=L.indexOf(t.key);-1===n&&(n=0);var r=L.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(P=!0,M(o))}(e)}))}}var I=C(v()),L=[I.key];function D(e){return E+f(e)}function M(e){n.go(e)}var F=0;function z(e){1===(F+=e)&&1===e?(window.addEventListener(b,O),a&&window.addEventListener(y,j)):0===F&&(window.removeEventListener(b,O),a&&window.removeEventListener(y,j))}var B=!1;var $={length:n.length,action:"POP",location:I,createHref:D,push:function(e,t){var r="PUSH",a=p(e,t,A(),$.location);T.confirmTransitionTo(a,r,x,(function(e){if(e){var t=D(a),i=a.key,s=a.state;if(o)if(n.pushState({key:i,state:s},null,t),w)window.location.href=t;else{var l=L.indexOf($.location.key),c=L.slice(0,l+1);c.push(a.key),L=c,N({action:r,location:a})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,A(),$.location);T.confirmTransitionTo(a,r,x,(function(e){if(e){var t=D(a),i=a.key,s=a.state;if(o)if(n.replaceState({key:i,state:s},null,t),w)window.location.replace(t);else{var l=L.indexOf($.location.key);-1!==l&&(L[l]=a.key),N({action:r,location:a})}else window.location.replace(t)}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=T.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function _(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),m||(0,s.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?h:o,i=n.hashType,c=void 0===i?"slash":i,b=e.basename?d(l(e.basename)):"",y=x[c],v=y.encodePath,w=y.decodePath;function C(){var e=w(_());return b&&(e=u(e,b)),p(e)}var A=g();function T(e){(0,r.A)(B,e),B.length=t.length,A.notifyListeners(B.location,B.action)}var N=!1,O=null;function j(){var e,t,n=_(),r=v(n);if(n!==r)E(r);else{var o=C(),i=B.location;if(!N&&(t=o,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(O===f(o))return;O=null,function(e){if(N)N=!1,T();else{var t="POP";A.confirmTransitionTo(e,t,a,(function(n){n?T({action:t,location:e}):function(e){var t=B.location,n=L.lastIndexOf(f(t));-1===n&&(n=0);var r=L.lastIndexOf(f(e));-1===r&&(r=0);var o=n-r;o&&(N=!0,D(o))}(e)}))}}(o)}}var P=_(),R=v(P);P!==R&&E(R);var I=C(),L=[f(I)];function D(e){t.go(e)}var M=0;function F(e){1===(M+=e)&&1===e?window.addEventListener(k,j):0===M&&window.removeEventListener(k,j)}var z=!1;var B={length:t.length,action:"POP",location:I,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(b+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,B.location);A.confirmTransitionTo(r,n,a,(function(e){if(e){var t=f(r),o=v(b+t);if(_()!==o){O=t,function(e){window.location.hash=e}(o);var a=L.lastIndexOf(f(B.location)),i=L.slice(0,a+1);i.push(t),L=i,T({action:n,location:r})}else T()}}))},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,B.location);A.confirmTransitionTo(r,n,a,(function(e){if(e){var t=f(r),o=v(b+t);_()!==o&&(O=t,E(o));var a=L.indexOf(f(B.location));-1!==a&&(L[a]=t),T({action:n,location:r})}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=A.setPrompt(e);return z||(F(1),z=!0),function(){return z&&(z=!1,F(-1)),t()}},listen:function(e){var t=A.appendListener(e);return F(1),function(){F(-1),t()}}};return B}function A(e,t,n){return Math.min(Math.max(e,t),n)}function T(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=g();function d(e){(0,r.A)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function m(){return Math.random().toString(36).substr(2,c)}var h=A(s,0,a.length-1),b=a.map((function(e){return p(e,void 0,"string"==typeof e?m():e.key||m())})),y=f;function v(e){var t=A(w.index+e,0,w.entries.length-1),r=w.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[h],index:h,entries:b,createHref:y,push:function(e,t){var r="PUSH",o=p(e,t,m(),w.location);u.confirmTransitionTo(o,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,m(),w.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},4146:(e,t,n)=>{"use strict";var r=n(4363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var o=p(n);o&&o!==g&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),h=0;h<i.length;++h){var b=i[h];if(!(a[b]||r&&r[b]||m&&m[b]||s&&s[b])){var y=f(n,b);try{c(t,b,y)}catch(v){}}}}return t}},311:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},689:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,l=0;i=Array.prototype.slice.call(i);var c=function(){--s<=0&&a(l)};s||c(),i.forEach((function(t){e.matches(t,o.exclude)?c():o.onIframeReady(t,(function(e){n(t)&&(l++,r(e)),c()}),c)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),s=[],l=[],c=void 0,u=void 0,d=function(){var e=a.getIteratorNode(i);return u=e.prevNode,c=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(c,u,e,s)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(c);l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var s=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,s=parseInt(e.start,10)-i;return(r=(s=s>a?a:s)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),s<0||r-s<0||s>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,s){var l=e.nodes[s+1];if(void 0===l||l.start>t){if(!r(i.node))return!1;var c=t-i.start,u=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),f=e.value.substr(u+i.start);if(i.node=a.wrapRangeInTextNode(i.node,c,u),e.value=d+f,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var s=o.index;if(0!==i)for(var l=1;l<i;l++)s+=o[l].length;t=a.wrapRangeInTextNode(t,s,s+o[i].length),r(t.previousSibling),e.lastIndex=0}})),o()}))}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&""!==s[i];){var l=s.index;if(0!==i)for(var c=1;c<i;c++)l+=s[c].length;var u=l+s[i].length;a.wrapRangeInMappedTextNode(t,l,u,(function(e){return n(s[i],e)}),(function(t,n){e.lastIndex=n,r(t)}))}o()}))}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var o=this;this.getTextNodes((function(a){var i=a.value.length;e.forEach((function(e,r){var s=o.checkWhitespaceRanges(e,i,a.value),l=s.start,c=s.end;s.valid&&o.wrapRangeInMappedTextNode(a,l,c,(function(n){return t(n,e,a.value.substring(l,c),r)}),(function(t){n(t,e)}))})),r()}))}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,o="wrapMatches",a=function(e){r++,n.opt.each(e)};this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),this[o](e,this.opt.ignoreGroups,(function(e,t){return n.opt.filter(t,e,r)}),a,(function(){0===r&&n.opt.noMatch(e),n.opt.done(r)}))}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,o="wrapMatches",a=this.getSeparatedKeywords("string"==typeof e?[e]:e),i=a.keywords,s=a.length,l=this.opt.caseSensitive?"":"i",c=function e(t){var a=new RegExp(n.createRegExp(t),"gm"+l),c=0;n.log('Searching with expression "'+a+'"'),n[o](a,1,(function(e,o){return n.opt.filter(o,t,r,c)}),(function(e){c++,r++,n.opt.each(e)}),(function(){0===c&&n.opt.noMatch(t),i[s-1]===t?n.opt.done(r):e(i[i.indexOf(t)+1])}))};this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),0===s?this.opt.done(r):c(i[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,o=this.checkRanges(e);o&&o.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(o)),this.wrapRangeFromIndex(o,(function(e,t,r,o){return n.opt.filter(e,t,r,o)}),(function(e,t){r++,n.opt.each(e,t)}),(function(){n.opt.done(r)}))):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,(function(e){t.unwrapMatches(e)}),(function(e){var r=o.matches(e,n),a=t.matchesExclude(e);return!r||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new o(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),a}();function i(e){var t=this,n=new a(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}return i}()},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},7022:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i<o.length;i++)a[o[i]]=e.languages.bash[o[i]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},7839:()=>{!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],o=[];/^\w+$/.test(n)||o.push(/\w+/.exec(n)[0]),"diff"===n&&o.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(Prism)},2514:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(o>=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),g=f.indexOf(p);if(g>-1){++o;var m=f.substring(0,g),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(g+p.length),y=[];m&&y.push.apply(y,i([m])),y.push(h),b&&y.push.apply(y,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},2342:()=>{Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},1648:()=>{!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism)},2747:(e,t,n)=>{var r={"./prism-bash":7022,"./prism-diff":7839,"./prism-json":2514,"./prism-python":2342,"./prism-ruby":1648};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=2747},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),o=n(9982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},g={};function m(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new m(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,r){var o=h.hasOwnProperty(t)?h[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(g,e)||!d.call(p,e)&&(f.test(e)?g[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,y);h[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,y);h[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,y);h[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),A=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),N=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),P=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var R=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var I=Symbol.iterator;function L(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=I&&e[I]||e["@@iterator"])?e:null}var D,M=Object.assign;function F(e){if(void 0===D)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);D=t&&t[1]||""}return"\n"+D+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var o=c.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(1!==i||1!==s)do{if(i--,0>--s||o[i]!==a[s]){var l="\n"+o[i].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=i&&0<=s);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F(e):""}function $(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case E:return"Profiler";case _:return"StrictMode";case N:return"Suspense";case O:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case A:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case T:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case j:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===_?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function W(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Y(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function K(e,t){var n=t.checked;return M({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Q(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=W(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){Z(e,t);var n=W(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,W(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Y(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+W(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return M({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:W(n)}}function ae(e,t){var n=W(t.value),r=W(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function fe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ge=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(pe).forEach((function(e){ge.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var be=M({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,_e=null;function Ee(e){if(e=wo(e)){if("function"!=typeof xe)throw Error(a(280));var t=e.stateNode;t&&(t=xo(t),xe(e.stateNode,e.type,t))}}function Ce(e){Se?_e?_e.push(e):_e=[e]:Se=e}function Ae(){if(Se){var e=Se,t=_e;if(_e=Se=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Te(e,t){return e(t)}function Ne(){}var Oe=!1;function je(e,t,n){if(Oe)return e(t,n);Oe=!0;try{return Te(e,t,n)}finally{Oe=!1,(null!==Se||null!==_e)&&(Ne(),Ae())}}function Pe(e,t){var n=e.stateNode;if(null===n)return null;var r=xo(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Re=!1;if(u)try{var Ie={};Object.defineProperty(Ie,"passive",{get:function(){Re=!0}}),window.addEventListener("test",Ie,Ie),window.removeEventListener("test",Ie,Ie)}catch(ue){Re=!1}function Le(e,t,n,r,o,a,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var De=!1,Me=null,Fe=!1,ze=null,Be={onError:function(e){De=!0,Me=e}};function $e(e,t,n,r,o,a,i,s,l){De=!1,Me=null,Le.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function We(e){if(Ue(e)!==e)throw Error(a(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return We(o),e;if(i===r)return We(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var s=!1,l=o.child;l;){if(l===n){s=!0,n=o,r=i;break}if(l===r){s=!0,r=o,n=i;break}l=l.sibling}if(!s){for(l=i.child;l;){if(l===n){s=!0,n=i,r=o;break}if(l===r){s=!0,r=i,n=o;break}l=l.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var qe=o.unstable_scheduleCallback,Ye=o.unstable_cancelCallback,Ke=o.unstable_shouldYield,Qe=o.unstable_requestPaint,Ze=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,at=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ft(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~o;0!==s?r=dt(s):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&!(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&4194240&a))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-it(t)),r|=e[n],t&=~o;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function gt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var vt=0;function wt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var kt,xt,St,_t,Et,Ct=!1,At=[],Tt=null,Nt=null,Ot=null,jt=new Map,Pt=new Map,Rt=[],It="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Lt(e,t){switch(e){case"focusin":case"focusout":Tt=null;break;case"dragenter":case"dragleave":Nt=null;break;case"mouseover":case"mouseout":Ot=null;break;case"pointerover":case"pointerout":jt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Dt(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=wo(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Mt(e){var t=vo(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void Et(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=wo(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Ft(e)&&n.delete(t)}function Bt(){Ct=!1,null!==Tt&&Ft(Tt)&&(Tt=null),null!==Nt&&Ft(Nt)&&(Nt=null),null!==Ot&&Ft(Ot)&&(Ot=null),jt.forEach(zt),Pt.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<At.length){$t(At[0],e);for(var n=1;n<At.length;n++){var r=At[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Tt&&$t(Tt,e),null!==Nt&&$t(Nt,e),null!==Ot&&$t(Ot,e),jt.forEach(t),Pt.forEach(t),n=0;n<Rt.length;n++)(r=Rt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Rt.length&&null===(n=Rt[0]).blockedOn;)Mt(n),null===n.blockedOn&&Rt.shift()}var Ht=w.ReactCurrentBatchConfig,Wt=!0;function Vt(e,t,n,r){var o=vt,a=Ht.transition;Ht.transition=null;try{vt=1,qt(e,t,n,r)}finally{vt=o,Ht.transition=a}}function Gt(e,t,n,r){var o=vt,a=Ht.transition;Ht.transition=null;try{vt=4,qt(e,t,n,r)}finally{vt=o,Ht.transition=a}}function qt(e,t,n,r){if(Wt){var o=Kt(e,t,n,r);if(null===o)Wr(e,t,r,Yt,n),Lt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return Tt=Dt(Tt,e,t,n,r,o),!0;case"dragenter":return Nt=Dt(Nt,e,t,n,r,o),!0;case"mouseover":return Ot=Dt(Ot,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return jt.set(a,Dt(jt.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Pt.set(a,Dt(Pt.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(Lt(e,r),4&t&&-1<It.indexOf(e)){for(;null!==o;){var a=wo(o);if(null!==a&&kt(a),null===(a=Kt(e,t,n,r))&&Wr(e,t,r,Yt,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else Wr(e,t,r,null,n)}}var Yt=null;function Kt(e,t,n,r){if(Yt=null,null!==(e=vo(e=ke(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Yt=e,null}function Qt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Zt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,o="value"in Zt?Zt.value:Zt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return M(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=M({},cn,{view:0,detail:0}),fn=on(dn),pn=M({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(an=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=an=0,ln=e),an)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),gn=on(pn),mn=on(M({},pn,{dataTransfer:0})),hn=on(M({},dn,{relatedTarget:0})),bn=on(M({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=M({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=on(yn),wn=on(M({},cn,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _n(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function En(){return _n}var Cn=M({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),An=on(Cn),Tn=on(M({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Nn=on(M({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),On=on(M({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),jn=M({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=on(jn),Rn=[9,13,27,32],In=u&&"CompositionEvent"in window,Ln=null;u&&"documentMode"in document&&(Ln=document.documentMode);var Dn=u&&"TextEvent"in window&&!Ln,Mn=u&&(!In||Ln&&8<Ln&&11>=Ln),Fn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Rn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Vn(e,t,n,r){Ce(r),0<(t=Gr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,qn=null;function Yn(e){Fr(e,0)}function Kn(e){if(q(ko(e)))return e}function Qn(e,t){if("change"===e)return t}var Zn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Zn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Gn&&(Gn.detachEvent("onpropertychange",nr),qn=Gn=null)}function nr(e){if("value"===e.propertyName&&Kn(qn)){var t=[];Vn(t,qn,e,ke(e)),je(Yn,t)}}function rr(e,t,n){"focusin"===e?(tr(),qn=n,(Gn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn(qn)}function ar(e,t){if("click"===e)return Kn(t)}function ir(e,t){if("input"===e||"change"===e)return Kn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!sr(e[o],t[o]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fr(){for(var e=window,t=Y();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Y((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function gr(e){var t=fr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=ur(n,a);var i=ur(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=u&&"documentMode"in document&&11>=document.documentMode,hr=null,br=null,yr=null,vr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==hr||hr!==Y(r)||("selectionStart"in(r=hr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&lr(yr,r)||(yr=r,0<(r=Gr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},_r={};function Er(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in _r)return Sr[e]=n[t];return e}u&&(_r=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var Cr=Er("animationend"),Ar=Er("animationiteration"),Tr=Er("animationstart"),Nr=Er("transitionend"),Or=new Map,jr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Pr(e,t){Or.set(e,t),l(t,[e])}for(var Rr=0;Rr<jr.length;Rr++){var Ir=jr[Rr];Pr(Ir.toLowerCase(),"on"+(Ir[0].toUpperCase()+Ir.slice(1)))}Pr(Cr,"onAnimationEnd"),Pr(Ar,"onAnimationIteration"),Pr(Tr,"onAnimationStart"),Pr("dblclick","onDoubleClick"),Pr("focusin","onFocus"),Pr("focusout","onBlur"),Pr(Nr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Lr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Dr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Lr));function Mr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,i,s,l,c){if($e.apply(this,arguments),De){if(!De)throw Error(a(198));var u=Me;De=!1,Me=null,Fe||(Fe=!0,ze=u)}}(r,t,void 0,e),e.currentTarget=null}function Fr(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==a&&o.isPropagationStopped())break e;Mr(o,s,c),a=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==a&&o.isPropagationStopped())break e;Mr(o,s,c),a=l}}}if(Fe)throw e=ze,Fe=!1,ze=null,e}function zr(e,t){var n=t[ho];void 0===n&&(n=t[ho]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Dr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function Hr(e,t,n,r){switch(Qt(t)){case 1:var o=Vt;break;case 4:o=Gt;break;default:o=qt}n=o.bind(null,t,n,e),o=void 0,!Re||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Wr(e,t,n,r,o){var a=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===o||8===s.nodeType&&s.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===o||8===l.nodeType&&l.parentNode===o))return;i=i.return}for(;null!==s;){if(null===(i=vo(s)))return;if(5===(l=i.tag)||6===l){r=a=i;continue e}s=s.parentNode}}r=r.return}je((function(){var r=a,o=ke(n),i=[];e:{var s=Or.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=An;break;case"focusin":c="focus",l=hn;break;case"focusout":c="blur",l=hn;break;case"beforeblur":case"afterblur":l=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Nn;break;case Cr:case Ar:case Tr:l=bn;break;case Nr:l=On;break;case"scroll":l=fn;break;case"wheel":l=Pn;break;case"copy":case"cut":case"paste":l=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Tn}var u=!!(4&t),d=!u&&"scroll"===e,f=u?null!==s?s+"Capture":null:s;u=[];for(var p,g=r;null!==g;){var m=(p=g).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==f&&(null!=(m=Pe(g,f))&&u.push(Vr(g,m,p)))),d)break;g=g.return}0<u.length&&(s=new l(s,c,null,n,o),i.push({event:s,listeners:u}))}}if(!(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===we||!(c=n.relatedTarget||n.fromElement)||!vo(c)&&!c[mo])&&(l||s)&&(s=o.window===o?o:(s=o.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?vo(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=gn,m="onMouseLeave",f="onMouseEnter",g="mouse","pointerout"!==e&&"pointerover"!==e||(u=Tn,m="onPointerLeave",f="onPointerEnter",g="pointer"),d=null==l?s:ko(l),p=null==c?s:ko(c),(s=new u(m,g+"leave",l,n,o)).target=d,s.relatedTarget=p,m=null,vo(o)===r&&((u=new u(f,g+"enter",c,n,o)).target=p,u.relatedTarget=d,m=u),d=m,l&&c)e:{for(f=c,g=0,p=u=l;p;p=qr(p))g++;for(p=0,m=f;m;m=qr(m))p++;for(;0<g-p;)u=qr(u),g--;for(;0<p-g;)f=qr(f),p--;for(;g--;){if(u===f||null!==f&&u===f.alternate)break e;u=qr(u),f=qr(f)}u=null}else u=null;null!==l&&Yr(i,s,l,u,!1),null!==c&&null!==d&&Yr(i,d,c,u,!0)}if("select"===(l=(s=r?ko(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var h=Qn;else if(Wn(s))if(Zn)h=ir;else{h=or;var b=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(h=ar);switch(h&&(h=h(e,r))?Vn(i,h,n,o):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=r?ko(r):window,e){case"focusin":(Wn(b)||"true"===b.contentEditable)&&(hr=b,br=r,yr=null);break;case"focusout":yr=br=hr=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,wr(i,n,o);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":wr(i,n,o)}var y;if(In)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Mn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(y=en()):(Xt="value"in(Zt=o)?Zt.value:Zt.textContent,Un=!0)),0<(b=Gr(r,v)).length&&(v=new wn(v,e,null,n,o),i.push({event:v,listeners:b}),y?v.data=y:null!==(y=$n(n))&&(v.data=y))),(y=Dn?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Fn);case"textInput":return(e=t.data)===Fn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!In&&Bn(e,t)?(e=en(),Jt=Xt=Zt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Mn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Gr(r,"onBeforeInput")).length&&(o=new wn("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=y))}Fr(i,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Pe(e,n))&&r.unshift(Vr(e,a,o)),null!=(a=Pe(e,t))&&r.push(Vr(e,a,o))),e=e.return}return r}function qr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Yr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,o?null!=(l=Pe(n,a))&&i.unshift(Vr(n,l,s)):o||null!=(l=Pe(n,a))&&i.push(Vr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Kr=/\r\n?/g,Qr=/\u0000|\uFFFD/g;function Zr(e){return("string"==typeof e?e:""+e).replace(Kr,"\n").replace(Qr,"")}function Xr(e,t,n){if(t=Zr(t),Zr(e)!==t&&n)throw Error(a(425))}function Jr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(so)}:ro;function so(e){setTimeout((function(){throw e}))}function lo(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Ut(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var fo=Math.random().toString(36).slice(2),po="__reactFiber$"+fo,go="__reactProps$"+fo,mo="__reactContainer$"+fo,ho="__reactEvents$"+fo,bo="__reactListeners$"+fo,yo="__reactHandles$"+fo;function vo(e){var t=e[po];if(t)return t;for(var n=e.parentNode;n;){if(t=n[mo]||n[po]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[po])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function wo(e){return!(e=e[po]||e[mo])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ko(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function xo(e){return e[go]||null}var So=[],_o=-1;function Eo(e){return{current:e}}function Co(e){0>_o||(e.current=So[_o],So[_o]=null,_o--)}function Ao(e,t){_o++,So[_o]=e.current,e.current=t}var To={},No=Eo(To),Oo=Eo(!1),jo=To;function Po(e,t){var n=e.type.contextTypes;if(!n)return To;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Ro(e){return null!=(e=e.childContextTypes)}function Io(){Co(Oo),Co(No)}function Lo(e,t,n){if(No.current!==To)throw Error(a(168));Ao(No,t),Ao(Oo,n)}function Do(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,H(e)||"Unknown",o));return M({},n,r)}function Mo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||To,jo=No.current,Ao(No,e),Ao(Oo,Oo.current),!0}function Fo(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Do(e,t,jo),r.__reactInternalMemoizedMergedChildContext=e,Co(Oo),Co(No),Ao(No,e)):Co(Oo),Ao(Oo,n)}var zo=null,Bo=!1,$o=!1;function Uo(e){null===zo?zo=[e]:zo.push(e)}function Ho(){if(!$o&&null!==zo){$o=!0;var e=0,t=vt;try{var n=zo;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}zo=null,Bo=!1}catch(o){throw null!==zo&&(zo=zo.slice(e+1)),qe(Je,Ho),o}finally{vt=t,$o=!1}}return null}var Wo=[],Vo=0,Go=null,qo=0,Yo=[],Ko=0,Qo=null,Zo=1,Xo="";function Jo(e,t){Wo[Vo++]=qo,Wo[Vo++]=Go,Go=e,qo=t}function ea(e,t,n){Yo[Ko++]=Zo,Yo[Ko++]=Xo,Yo[Ko++]=Qo,Qo=e;var r=Zo;e=Xo;var o=32-it(r)-1;r&=~(1<<o),n+=1;var a=32-it(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Zo=1<<32-it(t)+o|n<<o|r,Xo=a+e}else Zo=1<<a|n<<o|r,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Go;)Go=Wo[--Vo],Wo[Vo]=null,qo=Wo[--Vo],Wo[Vo]=null;for(;e===Qo;)Qo=Yo[--Ko],Yo[Ko]=null,Xo=Yo[--Ko],Yo[Ko]=null,Zo=Yo[--Ko],Yo[Ko]=null}var ra=null,oa=null,aa=!1,ia=null;function sa(e,t){var n=jc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function la(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ra=e,oa=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ra=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qo?{id:Zo,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=jc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ra=e,oa=null,!0);default:return!1}}function ca(e){return!(!(1&e.mode)||128&e.flags)}function ua(e){if(aa){var t=oa;if(t){var n=t;if(!la(e,t)){if(ca(e))throw Error(a(418));t=co(n.nextSibling);var r=ra;t&&la(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,aa=!1,ra=e)}}else{if(ca(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,ra=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ra=e}function fa(e){if(e!==ra)return!1;if(!aa)return da(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(ca(e))throw pa(),Error(a(418));for(;t;)sa(e,t),t=co(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=co(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=ra?co(e.stateNode.nextSibling):null;return!0}function pa(){for(var e=oa;e;)e=co(e.nextSibling)}function ga(){oa=ra=null,aa=!1}function ma(e){null===ia?ia=[e]:ia.push(e)}var ha=w.ReactCurrentBatchConfig;function ba(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var o=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function ya(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function va(e){return(0,e._init)(e._payload)}function wa(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Rc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Mc(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===P&&va(a)===t.type)?((r=o(t,n.props)).ref=ba(e,t,n),r.return=e,r):((r=Ic(n.type,n.key,n.props,null,e.mode,r)).ref=ba(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fc(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Lc(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Mc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Ic(t.type,t.key,t.props,null,e.mode,n)).ref=ba(e,null,t),n.return=e,n;case x:return(t=Fc(t,e.mode,n)).return=e,t;case P:return f(e,(0,t._init)(t._payload),n)}if(te(t)||L(t))return(t=Lc(t,e.mode,n,null)).return=e,t;ya(e,t)}return null}function p(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===o?c(e,t,n,r):null;case x:return n.key===o?u(e,t,n,r):null;case P:return p(e,t,(o=n._init)(n._payload),r)}if(te(n)||L(n))return null!==o?null:d(e,t,n,r,null);ya(e,n)}return null}function g(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case P:return g(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||L(r))return d(t,e=e.get(n)||null,r,o,null);ya(t,r)}return null}function m(o,a,s,l){for(var c=null,u=null,d=a,m=a=0,h=null;null!==d&&m<s.length;m++){d.index>m?(h=d,d=null):h=d.sibling;var b=p(o,d,s[m],l);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(o,d),a=i(b,a,m),null===u?c=b:u.sibling=b,u=b,d=h}if(m===s.length)return n(o,d),aa&&Jo(o,m),c;if(null===d){for(;m<s.length;m++)null!==(d=f(o,s[m],l))&&(a=i(d,a,m),null===u?c=d:u.sibling=d,u=d);return aa&&Jo(o,m),c}for(d=r(o,d);m<s.length;m++)null!==(h=g(d,o,m,s[m],l))&&(e&&null!==h.alternate&&d.delete(null===h.key?m:h.key),a=i(h,a,m),null===u?c=h:u.sibling=h,u=h);return e&&d.forEach((function(e){return t(o,e)})),aa&&Jo(o,m),c}function h(o,s,l,c){var u=L(l);if("function"!=typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var d=u=null,m=s,h=s=0,b=null,y=l.next();null!==m&&!y.done;h++,y=l.next()){m.index>h?(b=m,m=null):b=m.sibling;var v=p(o,m,y.value,c);if(null===v){null===m&&(m=b);break}e&&m&&null===v.alternate&&t(o,m),s=i(v,s,h),null===d?u=v:d.sibling=v,d=v,m=b}if(y.done)return n(o,m),aa&&Jo(o,h),u;if(null===m){for(;!y.done;h++,y=l.next())null!==(y=f(o,y.value,c))&&(s=i(y,s,h),null===d?u=y:d.sibling=y,d=y);return aa&&Jo(o,h),u}for(m=r(o,m);!y.done;h++,y=l.next())null!==(y=g(m,o,h,y.value,c))&&(e&&null!==y.alternate&&m.delete(null===y.key?h:y.key),s=i(y,s,h),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(o,e)})),aa&&Jo(o,h),u}return function e(r,a,i,l){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var c=i.key,u=a;null!==u;){if(u.key===c){if((c=i.type)===S){if(7===u.tag){n(r,u.sibling),(a=o(u,i.props.children)).return=r,r=a;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===P&&va(c)===u.type){n(r,u.sibling),(a=o(u,i.props)).ref=ba(r,u,i),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((a=Lc(i.props.children,r.mode,l,i.key)).return=r,r=a):((l=Ic(i.type,i.key,i.props,null,r.mode,l)).ref=ba(r,a,i),l.return=r,r=l)}return s(r);case x:e:{for(u=i.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=Fc(i,r.mode,l)).return=r,r=a}return s(r);case P:return e(r,a,(u=i._init)(i._payload),l)}if(te(i))return m(r,a,i,l);if(L(i))return h(r,a,i,l);ya(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Mc(i,r.mode,l)).return=r,r=a),s(r)):n(r,a)}}var ka=wa(!0),xa=wa(!1),Sa=Eo(null),_a=null,Ea=null,Ca=null;function Aa(){Ca=Ea=_a=null}function Ta(e){var t=Sa.current;Co(Sa),e._currentValue=t}function Na(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Oa(e,t){_a=e,Ca=Ea=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(vs=!0),e.firstContext=null)}function ja(e){var t=e._currentValue;if(Ca!==e)if(e={context:e,memoizedValue:t,next:null},null===Ea){if(null===_a)throw Error(a(308));Ea=e,_a.dependencies={lanes:0,firstContext:e}}else Ea=Ea.next=e;return t}var Pa=null;function Ra(e){null===Pa?Pa=[e]:Pa.push(e)}function Ia(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Ra(t)):(n.next=o.next,o.next=n),t.interleaved=n,La(e,r)}function La(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Da=!1;function Ma(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function za(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&Tl){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,La(e,n)}return null===(o=r.interleaved)?(t.next=t,Ra(r)):(t.next=o.next,o.next=t),r.interleaved=t,La(e,n)}function $a(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ha(e,t,n,r){var o=e.updateQueue;Da=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var l=s,c=l.next;l.next=null,null===i?a=c:i.next=c,i=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==a){var d=o.baseState;for(i=0,u=c=l=null,s=a;;){var f=s.lane,p=s.eventTime;if((r&f)===f){null!==u&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var g=e,m=s;switch(f=t,p=n,m.tag){case 1:if("function"==typeof(g=m.payload)){d=g.call(p,d,f);break e}d=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(f="function"==typeof(g=m.payload)?g.call(p,d,f):g))break e;d=M({},d,f);break e;case 2:Da=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(f=o.effects)?o.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=p,l=d):u=u.next=p,i|=f;if(null===(s=s.next)){if(null===(s=o.shared.pending))break;s=(f=s).next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}if(null===u&&(l=d),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Dl|=i,e.lanes=i,e.memoizedState=d}}function Wa(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(a(191,o));o.call(r)}}}var Va={},Ga=Eo(Va),qa=Eo(Va),Ya=Eo(Va);function Ka(e){if(e===Va)throw Error(a(174));return e}function Qa(e,t){switch(Ao(Ya,t),Ao(qa,e),Ao(Ga,Va),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Co(Ga),Ao(Ga,t)}function Za(){Co(Ga),Co(qa),Co(Ya)}function Xa(e){Ka(Ya.current);var t=Ka(Ga.current),n=le(t,e.type);t!==n&&(Ao(qa,e),Ao(Ga,n))}function Ja(e){qa.current===e&&(Co(Ga),Co(qa))}var ei=Eo(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ri(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var oi=w.ReactCurrentDispatcher,ai=w.ReactCurrentBatchConfig,ii=0,si=null,li=null,ci=null,ui=!1,di=!1,fi=0,pi=0;function gi(){throw Error(a(321))}function mi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function hi(e,t,n,r,o,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oi.current=null===e||null===e.memoizedState?Ji:es,e=n(r,o),di){i=0;do{if(di=!1,fi=0,25<=i)throw Error(a(301));i+=1,ci=li=null,t.updateQueue=null,oi.current=ts,e=n(r,o)}while(di)}if(oi.current=Xi,t=null!==li&&null!==li.next,ii=0,ci=li=si=null,ui=!1,t)throw Error(a(300));return e}function bi(){var e=0!==fi;return fi=0,e}function yi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ci?si.memoizedState=ci=e:ci=ci.next=e,ci}function vi(){if(null===li){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=li.next;var t=null===ci?si.memoizedState:ci.next;if(null!==t)ci=t,li=e;else{if(null===e)throw Error(a(310));e={memoizedState:(li=e).memoizedState,baseState:li.baseState,baseQueue:li.baseQueue,queue:li.queue,next:null},null===ci?si.memoizedState=ci=e:ci=ci.next=e}return ci}function wi(e,t){return"function"==typeof t?t(e):t}function ki(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=li,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var s=o.next;o.next=i.next,i.next=s}r.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,r=r.baseState;var l=s=null,c=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=f,s=r):c=c.next=f,si.lanes|=d,Dl|=d}u=u.next}while(null!==u&&u!==i);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(vs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,si.lanes|=i,Dl|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function xi(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var s=o=o.next;do{i=e(i,s.action),s=s.next}while(s!==o);sr(i,t.memoizedState)||(vs=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Si(){}function _i(e,t){var n=si,r=vi(),o=t(),i=!sr(r.memoizedState,o);if(i&&(r.memoizedState=o,vs=!0),r=r.queue,Di(Ai.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==ci&&1&ci.memoizedState.tag){if(n.flags|=2048,ji(9,Ci.bind(null,n,r,o,t),void 0,null),null===Nl)throw Error(a(349));30&ii||Ei(n,t,o)}return o}function Ei(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Ci(e,t,n,r){t.value=n,t.getSnapshot=r,Ti(t)&&Ni(e)}function Ai(e,t,n){return n((function(){Ti(t)&&Ni(e)}))}function Ti(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Ni(e){var t=La(e,1);null!==t&&nc(t,e,1,-1)}function Oi(e){var t=yi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:wi,lastRenderedState:e},t.queue=e,e=e.dispatch=Yi.bind(null,si,e),[t.memoizedState,e]}function ji(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Pi(){return vi().memoizedState}function Ri(e,t,n,r){var o=yi();si.flags|=e,o.memoizedState=ji(1|t,n,void 0,void 0===r?null:r)}function Ii(e,t,n,r){var o=vi();r=void 0===r?null:r;var a=void 0;if(null!==li){var i=li.memoizedState;if(a=i.destroy,null!==r&&mi(r,i.deps))return void(o.memoizedState=ji(t,n,a,r))}si.flags|=e,o.memoizedState=ji(1|t,n,a,r)}function Li(e,t){return Ri(8390656,8,e,t)}function Di(e,t){return Ii(2048,8,e,t)}function Mi(e,t){return Ii(4,2,e,t)}function Fi(e,t){return Ii(4,4,e,t)}function zi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Ii(4,4,zi.bind(null,t,e),n)}function $i(){}function Ui(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&mi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Hi(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&mi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Wi(e,t,n){return 21&ii?(sr(n,t)||(n=mt(),si.lanes|=n,Dl|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,vs=!0),e.memoizedState=n)}function Vi(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=ai.transition;ai.transition={};try{e(!1),t()}finally{vt=n,ai.transition=r}}function Gi(){return vi().memoizedState}function qi(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ki(e))Qi(t,n);else if(null!==(n=Ia(e,t,n,r))){nc(n,e,r,ec()),Zi(n,t,r)}}function Yi(e,t,n){var r=tc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ki(e))Qi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=a(i,n);if(o.hasEagerState=!0,o.eagerState=s,sr(s,i)){var l=t.interleaved;return null===l?(o.next=o,Ra(t)):(o.next=l.next,l.next=o),void(t.interleaved=o)}}catch(c){}null!==(n=Ia(e,t,o,r))&&(nc(n,e,r,o=ec()),Zi(n,t,r))}}function Ki(e){var t=e.alternate;return e===si||null!==t&&t===si}function Qi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Zi(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var Xi={readContext:ja,useCallback:gi,useContext:gi,useEffect:gi,useImperativeHandle:gi,useInsertionEffect:gi,useLayoutEffect:gi,useMemo:gi,useReducer:gi,useRef:gi,useState:gi,useDebugValue:gi,useDeferredValue:gi,useTransition:gi,useMutableSource:gi,useSyncExternalStore:gi,useId:gi,unstable_isNewReconciler:!1},Ji={readContext:ja,useCallback:function(e,t){return yi().memoizedState=[e,void 0===t?null:t],e},useContext:ja,useEffect:Li,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ri(4194308,4,zi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ri(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ri(4,2,e,t)},useMemo:function(e,t){var n=yi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=yi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=qi.bind(null,si,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},yi().memoizedState=e},useState:Oi,useDebugValue:$i,useDeferredValue:function(e){return yi().memoizedState=e},useTransition:function(){var e=Oi(!1),t=e[0];return e=Vi.bind(null,e[1]),yi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=si,o=yi();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Nl)throw Error(a(349));30&ii||Ei(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Li(Ai.bind(null,r,i,e),[e]),r.flags|=2048,ji(9,Ci.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=yi(),t=Nl.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Zo&~(1<<32-it(Zo)-1)).toString(32)+n),0<(n=fi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=pi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:ja,useCallback:Ui,useContext:ja,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Mi,useLayoutEffect:Fi,useMemo:Hi,useReducer:ki,useRef:Pi,useState:function(){return ki(wi)},useDebugValue:$i,useDeferredValue:function(e){return Wi(vi(),li.memoizedState,e)},useTransition:function(){return[ki(wi)[0],vi().memoizedState]},useMutableSource:Si,useSyncExternalStore:_i,useId:Gi,unstable_isNewReconciler:!1},ts={readContext:ja,useCallback:Ui,useContext:ja,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Mi,useLayoutEffect:Fi,useMemo:Hi,useReducer:xi,useRef:Pi,useState:function(){return xi(wi)},useDebugValue:$i,useDeferredValue:function(e){var t=vi();return null===li?t.memoizedState=e:Wi(t,li.memoizedState,e)},useTransition:function(){return[xi(wi)[0],vi().memoizedState]},useMutableSource:Si,useSyncExternalStore:_i,useId:Gi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=M({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:M({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var os={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=za(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),$a(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=za(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),$a(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),o=za(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=Ba(e,o,r))&&(nc(t,e,r,n),$a(t,e,r))}};function as(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(o,a))}function is(e,t,n){var r=!1,o=To,a=t.contextType;return"object"==typeof a&&null!==a?a=ja(a):(o=Ro(t)?jo:No.current,a=(r=null!=(r=t.contextTypes))?Po(e,o):To),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=os,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ss(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&os.enqueueReplaceState(t,t.state,null)}function ls(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Ma(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=ja(a):(a=Ro(t)?jo:No.current,o.context=Po(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(rs(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&os.enqueueReplaceState(o,o.state,null),Ha(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function cs(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fs="function"==typeof WeakMap?WeakMap:Map;function ps(e,t,n){(n=za(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Wl||(Wl=!0,Vl=r),ds(0,t)},n}function gs(e,t,n){(n=za(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){ds(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof r&&(null===Gl?Gl=new Set([this]):Gl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function ms(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fs;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Ec.bind(null,e,t,n),t.then(e,e))}function hs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bs(e,t,n,r,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=za(-1,1)).tag=2,Ba(n,t,1))),n.lanes|=1),e)}var ys=w.ReactCurrentOwner,vs=!1;function ws(e,t,n,r){t.child=null===e?xa(t,null,n,r):ka(t,e.child,n,r)}function ks(e,t,n,r,o){n=n.render;var a=t.ref;return Oa(t,o),r=hi(e,t,n,r,a,o),n=bi(),null===e||vs?(aa&&n&&ta(t),t.flags|=1,ws(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Ws(e,t,o))}function xs(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Pc(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ic(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ss(e,t,a,r,o))}if(a=e.child,!(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(i,r)&&e.ref===t.ref)return Ws(e,t,o)}return t.flags|=1,(e=Rc(a,r)).ref=t.ref,e.return=t,t.child=e}function Ss(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref){if(vs=!1,t.pendingProps=r=a,!(e.lanes&o))return t.lanes=e.lanes,Ws(e,t,o);131072&e.flags&&(vs=!0)}}return Cs(e,t,n,r,o)}function _s(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ao(Rl,Pl),Pl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,Ao(Rl,Pl),Pl|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ao(Rl,Pl),Pl|=n;else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,Ao(Rl,Pl),Pl|=r;return ws(e,t,o,n),t.child}function Es(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Cs(e,t,n,r,o){var a=Ro(n)?jo:No.current;return a=Po(t,a),Oa(t,o),n=hi(e,t,n,r,a,o),r=bi(),null===e||vs?(aa&&r&&ta(t),t.flags|=1,ws(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Ws(e,t,o))}function As(e,t,n,r,o){if(Ro(n)){var a=!0;Mo(t)}else a=!1;if(Oa(t,o),null===t.stateNode)Hs(e,t),is(t,n,r),ls(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=ja(c):c=Po(t,c=Ro(n)?jo:No.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&ss(t,i,r,c),Da=!1;var f=t.memoizedState;i.state=f,Ha(t,r,i,o),l=t.memoizedState,s!==r||f!==l||Oo.current||Da?("function"==typeof u&&(rs(t,n,u,r),l=t.memoizedState),(s=Da||as(t,n,s,r,f,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Fa(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:ns(t.type,s),i.props=c,d=t.pendingProps,f=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=ja(l):l=Po(t,l=Ro(n)?jo:No.current);var p=n.getDerivedStateFromProps;(u="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||f!==l)&&ss(t,i,r,l),Da=!1,f=t.memoizedState,i.state=f,Ha(t,r,i,o);var g=t.memoizedState;s!==d||f!==g||Oo.current||Da?("function"==typeof p&&(rs(t,n,p,r),g=t.memoizedState),(c=Da||as(t,n,c,r,f,g,l)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,g,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,g,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),i.props=r,i.state=g,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Ts(e,t,n,r,a,o)}function Ts(e,t,n,r,o,a){Es(e,t);var i=!!(128&t.flags);if(!r&&!i)return o&&Fo(t,n,!1),Ws(e,t,a);r=t.stateNode,ys.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=ka(t,e.child,null,a),t.child=ka(t,null,s,a)):ws(e,t,s,a),t.memoizedState=r.state,o&&Fo(t,n,!0),t.child}function Ns(e){var t=e.stateNode;t.pendingContext?Lo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Lo(0,t.context,!1),Qa(e,t.containerInfo)}function Os(e,t,n,r,o){return ga(),ma(o),t.flags|=256,ws(e,t,n,r),t.child}var js,Ps,Rs,Is,Ls={dehydrated:null,treeContext:null,retryLane:0};function Ds(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ms(e,t,n){var r,o=t.pendingProps,i=ei.current,s=!1,l=!!(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&!!(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Ao(ei,1&i),null===e)return ua(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=o.children,e=o.fallback,s?(o=t.mode,s=t.child,l={mode:"hidden",children:l},1&o||null===s?s=Dc(l,o,0,null):(s.childLanes=0,s.pendingProps=l),e=Lc(e,o,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ds(n),t.memoizedState=Ls,e):Fs(t,l));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,s){if(n)return 256&t.flags?(t.flags&=-257,zs(e,t,s,r=us(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Dc({mode:"visible",children:r.children},o,0,null),(i=Lc(i,o,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,1&t.mode&&ka(t,e.child,null,s),t.child.memoizedState=Ds(s),t.memoizedState=Ls,i);if(!(1&t.mode))return zs(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,zs(e,t,s,r=us(i=Error(a(419)),r,void 0))}if(l=!!(s&e.childLanes),vs||l){if(null!==(r=Nl)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(r.suspendedLanes|s)?0:o)&&o!==i.retryLane&&(i.retryLane=o,La(e,o),nc(r,e,o,-1))}return mc(),zs(e,t,s,r=us(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Ac.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=co(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(Yo[Ko++]=Zo,Yo[Ko++]=Xo,Yo[Ko++]=Qo,Zo=e.id,Xo=e.overflow,Qo=t),t=Fs(t,r.children),t.flags|=4096,t)}(e,t,l,o,r,i,n);if(s){s=o.fallback,l=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:o.children};return 1&l||t.child===i?(o=Rc(i,c)).subtreeFlags=14680064&i.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null),null!==r?s=Rc(r,s):(s=Lc(s,l,n,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,l=null===(l=e.child.memoizedState)?Ds(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Ls,o}return e=(s=e.child).sibling,o=Rc(s,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Fs(e,t){return(t=Dc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function zs(e,t,n,r){return null!==r&&ma(r),ka(t,e.child,null,n),(e=Fs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Na(e.return,t,n)}function $s(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function Us(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(ws(e,t,r.children,n),2&(r=ei.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ao(ei,r),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),$s(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}$s(t,!0,n,null,a);break;case"together":$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Hs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ws(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dl|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Rc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Rc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Gs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function qs(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Gs(t),null;case 1:case 17:return Ro(t.type)&&Io(),Gs(t),null;case 3:return r=t.stateNode,Za(),Co(Oo),Co(No),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(fa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ia&&(ic(ia),ia=null))),Ps(e,t),Gs(t),null;case 5:Ja(t);var o=Ka(Ya.current);if(n=t.type,null!==e&&null!=t.stateNode)Rs(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Gs(t),null}if(e=Ka(Ga.current),fa(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[po]=t,r[go]=i,e=!!(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(o=0;o<Lr.length;o++)zr(Lr[o],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Q(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":oe(r,i),zr("invalid",r)}for(var l in ye(n,i),o=null,i)if(i.hasOwnProperty(l)){var c=i[l];"children"===l?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&zr("scroll",r)}switch(n){case"input":G(r),J(r,i,!0);break;case"textarea":G(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[po]=t,e[go]=r,js(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),o=r;break;case"iframe":case"object":case"embed":zr("load",e),o=r;break;case"video":case"audio":for(o=0;o<Lr.length;o++)zr(Lr[o],e);o=r;break;case"source":zr("error",e),o=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),o=r;break;case"details":zr("toggle",e),o=r;break;case"input":Q(e,r),o=K(e,r),zr("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=M({},r,{value:void 0}),zr("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),zr("invalid",e)}for(i in ye(n,o),c=o)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?he(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&fe(e,u):"number"==typeof u&&fe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&zr("scroll",e):null!=u&&v(e,i,u,l))}switch(n){case"input":G(e),J(e,r,!1);break;case"textarea":G(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+W(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Gs(t),null;case 6:if(e&&null!=t.stateNode)Is(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));if(n=Ka(Ya.current),Ka(Ga.current),fa(t)){if(r=t.stateNode,n=t.memoizedProps,r[po]=t,(i=r.nodeValue!==n)&&null!==(e=ra))switch(e.tag){case 3:Xr(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[po]=t,t.stateNode=r}return Gs(t),null;case 13:if(Co(ei),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&1&t.mode&&!(128&t.flags))pa(),ga(),t.flags|=98560,i=!1;else if(i=fa(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(a(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(a(317));i[po]=t}else ga(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Gs(t),i=!1}else null!==ia&&(ic(ia),ia=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Il&&(Il=3):mc())),null!==t.updateQueue&&(t.flags|=4),Gs(t),null);case 4:return Za(),Ps(e,t),null===e&&Ur(t.stateNode.containerInfo),Gs(t),null;case 10:return Ta(t.type._context),Gs(t),null;case 19:if(Co(ei),null===(i=t.memoizedState))return Gs(t),null;if(r=!!(128&t.flags),null===(l=i.rendering))if(r)Vs(i,!1);else{if(0!==Il||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=ti(e))){for(t.flags|=128,Vs(i,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(l=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ao(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Ze()>Ul&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!l.alternate&&!aa)return Gs(t),null}else 2*Ze()-i.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=i.last)?n.sibling=l:t.child=l,i.last=l)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ze(),t.sibling=null,n=ei.current,Ao(ei,r?1&n|2:1&n),t):(Gs(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&Pl)&&(Gs(t),6&t.subtreeFlags&&(t.flags|=8192)):Gs(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Ys(e,t){switch(na(t),t.tag){case 1:return Ro(t.type)&&Io(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Za(),Co(Oo),Co(No),ri(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ja(t),null;case 13:if(Co(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ga()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Co(ei),null;case 4:return Za(),null;case 10:return Ta(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}js=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ps=function(){},Rs=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Ka(Ga.current);var a,i=null;switch(n){case"input":o=K(e,o),r=K(e,r),i=[];break;case"select":o=M({},o,{value:void 0}),r=M({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ye(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var l=o[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&zr("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Is=function(e,t,n,r){n!==r&&(t.flags|=4)};var Ks=!1,Qs=!1,Zs="function"==typeof WeakSet?WeakSet:Set,Xs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){_c(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){_c(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&el(t,n,a)}o=o.next}while(o!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ol(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function al(e){var t=e.alternate;null!==t&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[po],delete t[go],delete t[ho],delete t[bo],delete t[yo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function il(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||il(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function fl(e,t,n){for(n=n.child;null!==n;)pl(e,t,n),n=n.sibling}function pl(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(s){}switch(n.tag){case 5:Qs||Js(n,t);case 6:var r=ul,o=dl;ul=null,fl(e,t,n),dl=o,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?lo(e.parentNode,n):1===e.nodeType&&lo(e,n),Ut(e)):lo(ul,n.stateNode));break;case 4:r=ul,o=dl,ul=n.stateNode.containerInfo,dl=!0,fl(e,t,n),ul=r,dl=o;break;case 0:case 11:case 14:case 15:if(!Qs&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(2&a||4&a)&&el(n,t,i),o=o.next}while(o!==r)}fl(e,t,n);break;case 1:if(!Qs&&(Js(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){_c(n,t,s)}fl(e,t,n);break;case 21:fl(e,t,n);break;case 22:1&n.mode?(Qs=(r=Qs)||null!==n.memoizedState,fl(e,t,n),Qs=r):fl(e,t,n);break;default:fl(e,t,n)}}function gl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Zs),t.forEach((function(t){var r=Tc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function ml(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(a(160));pl(i,s,o),ul=null,dl=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(u){_c(o,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)hl(t,e),t=t.sibling}function hl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ml(t,e),bl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(h){_c(e,e.return,h)}try{nl(5,e,e.return)}catch(h){_c(e,e.return,h)}}break;case 1:ml(t,e),bl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(ml(t,e),bl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var o=e.stateNode;try{fe(o,"")}catch(h){_c(e,e.return,h)}}if(4&r&&null!=(o=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===i.type&&null!=i.name&&Z(o,i),ve(l,s);var u=ve(l,i);for(s=0;s<c.length;s+=2){var d=c[s],f=c[s+1];"style"===d?he(o,f):"dangerouslySetInnerHTML"===d?de(o,f):"children"===d?fe(o,f):v(o,d,f,u)}switch(l){case"input":X(o,i);break;case"textarea":ae(o,i);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var g=i.value;null!=g?ne(o,!!i.multiple,g,!1):p!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[go]=i}catch(h){_c(e,e.return,h)}}break;case 6:if(ml(t,e),bl(e),4&r){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(h){_c(e,e.return,h)}}break;case 3:if(ml(t,e),bl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(h){_c(e,e.return,h)}break;case 4:default:ml(t,e),bl(e);break;case 13:ml(t,e),bl(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||($l=Ze())),4&r&&gl(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Qs=(u=Qs)||d,ml(t,e),Qs=u):ml(t,e),bl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Xs=e,d=e.child;null!==d;){for(f=Xs=d;null!==Xs;){switch(g=(p=Xs).child,p.tag){case 0:case 11:case 14:case 15:nl(4,p,p.return);break;case 1:Js(p,p.return);var m=p.stateNode;if("function"==typeof m.componentWillUnmount){r=p,n=p.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(h){_c(r,n,h)}}break;case 5:Js(p,p.return);break;case 22:if(null!==p.memoizedState){kl(f);continue}}null!==g?(g.return=p,Xs=g):kl(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{o=f.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(l=f.stateNode,s=null!=(c=f.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=me("display",s))}catch(h){_c(e,e.return,h)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(h){_c(e,e.return,h)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:ml(t,e),bl(e),4&r&&gl(e);case 21:}}function bl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(il(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(fe(o,""),r.flags&=-33),cl(e,sl(e),o);break;case 3:case 4:var i=r.stateNode.containerInfo;ll(e,sl(e),i);break;default:throw Error(a(161))}}catch(s){_c(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yl(e,t,n){Xs=e,vl(e,t,n)}function vl(e,t,n){for(var r=!!(1&e.mode);null!==Xs;){var o=Xs,a=o.child;if(22===o.tag&&r){var i=null!==o.memoizedState||Ks;if(!i){var s=o.alternate,l=null!==s&&null!==s.memoizedState||Qs;s=Ks;var c=Qs;if(Ks=i,(Qs=l)&&!c)for(Xs=o;null!==Xs;)l=(i=Xs).child,22===i.tag&&null!==i.memoizedState?xl(o):null!==l?(l.return=i,Xs=l):xl(o);for(;null!==a;)Xs=a,vl(a,t,n),a=a.sibling;Xs=o,Ks=s,Qs=c}wl(e)}else 8772&o.subtreeFlags&&null!==a?(a.return=o,Xs=a):wl(e)}}function wl(e){for(;null!==Xs;){var t=Xs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Qs||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Qs)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Wa(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Wa(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&Ut(f)}}}break;default:throw Error(a(163))}Qs||512&t.flags&&ol(t)}catch(p){_c(t,t.return,p)}}if(t===e){Xs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Xs=n;break}Xs=t.return}}function kl(e){for(;null!==Xs;){var t=Xs;if(t===e){Xs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Xs=n;break}Xs=t.return}}function xl(e){for(;null!==Xs;){var t=Xs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){_c(t,n,l)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(l){_c(t,o,l)}}var a=t.return;try{ol(t)}catch(l){_c(t,a,l)}break;case 5:var i=t.return;try{ol(t)}catch(l){_c(t,i,l)}}}catch(l){_c(t,t.return,l)}if(t===e){Xs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Xs=s;break}Xs=t.return}}var Sl,_l=Math.ceil,El=w.ReactCurrentDispatcher,Cl=w.ReactCurrentOwner,Al=w.ReactCurrentBatchConfig,Tl=0,Nl=null,Ol=null,jl=0,Pl=0,Rl=Eo(0),Il=0,Ll=null,Dl=0,Ml=0,Fl=0,zl=null,Bl=null,$l=0,Ul=1/0,Hl=null,Wl=!1,Vl=null,Gl=null,ql=!1,Yl=null,Kl=0,Ql=0,Zl=null,Xl=-1,Jl=0;function ec(){return 6&Tl?Ze():-1!==Xl?Xl:Xl=Ze()}function tc(e){return 1&e.mode?2&Tl&&0!==jl?jl&-jl:null!==ha.transition?(0===Jl&&(Jl=mt()),Jl):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Qt(e.type):1}function nc(e,t,n,r){if(50<Ql)throw Ql=0,Zl=null,Error(a(185));bt(e,n,r),2&Tl&&e===Nl||(e===Nl&&(!(2&Tl)&&(Ml|=n),4===Il&&sc(e,jl)),rc(e,r),1===n&&0===Tl&&!(1&t.mode)&&(Ul=Ze()+500,Bo&&Ho()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-it(a),s=1<<i,l=o[i];-1===l?s&n&&!(s&r)||(o[i]=pt(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}(e,t);var r=ft(e,e===Nl?jl:0);if(0===r)null!==n&&Ye(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ye(n),1===t)0===e.tag?function(e){Bo=!0,Uo(e)}(lc.bind(null,e)):Uo(lc.bind(null,e)),io((function(){!(6&Tl)&&Ho()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Nc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Xl=-1,Jl=0,6&Tl)throw Error(a(327));var n=e.callbackNode;if(xc()&&e.callbackNode!==n)return null;var r=ft(e,e===Nl?jl:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=hc(e,r);else{t=r;var o=Tl;Tl|=2;var i=gc();for(Nl===e&&jl===t||(Hl=null,Ul=Ze()+500,fc(e,t));;)try{yc();break}catch(l){pc(e,l)}Aa(),El.current=i,Tl=o,null!==Ol?t=0:(Nl=null,jl=0,t=Il)}if(0!==t){if(2===t&&(0!==(o=gt(e))&&(r=o,t=ac(e,o))),1===t)throw n=Ll,fc(e,0),sc(e,r),rc(e,Ze()),n;if(6===t)sc(e,r);else{if(o=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!sr(a(),o))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=hc(e,r),2===t&&(i=gt(e),0!==i&&(r=i,t=ac(e,i))),1!==t)))throw n=Ll,fc(e,0),sc(e,r),rc(e,Ze()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:kc(e,Bl,Hl);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=$l+500-Ze())){if(0!==ft(e,0))break;if(((o=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(kc.bind(null,e,Bl,Hl),t);break}kc(e,Bl,Hl);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>o&&(o=s),r&=~i}if(r=o,10<(r=(120>(r=Ze()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_l(r/1960))-r)){e.timeoutHandle=ro(kc.bind(null,e,Bl,Hl),r);break}kc(e,Bl,Hl);break;default:throw Error(a(329))}}}return rc(e,Ze()),e.callbackNode===n?oc.bind(null,e):null}function ac(e,t){var n=zl;return e.current.memoizedState.isDehydrated&&(fc(e,t).flags|=256),2!==(e=hc(e,t))&&(t=Bl,Bl=n,null!==t&&ic(t)),e}function ic(e){null===Bl?Bl=e:Bl.push.apply(Bl,e)}function sc(e,t){for(t&=~Fl,t&=~Ml,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(6&Tl)throw Error(a(327));xc();var t=ft(e,0);if(!(1&t))return rc(e,Ze()),null;var n=hc(e,t);if(0!==e.tag&&2===n){var r=gt(e);0!==r&&(t=r,n=ac(e,r))}if(1===n)throw n=Ll,fc(e,0),sc(e,t),rc(e,Ze()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,kc(e,Bl,Hl),rc(e,Ze()),null}function cc(e,t){var n=Tl;Tl|=1;try{return e(t)}finally{0===(Tl=n)&&(Ul=Ze()+500,Bo&&Ho())}}function uc(e){null!==Yl&&0===Yl.tag&&!(6&Tl)&&xc();var t=Tl;Tl|=1;var n=Al.transition,r=vt;try{if(Al.transition=null,vt=1,e)return e()}finally{vt=r,Al.transition=n,!(6&(Tl=t))&&Ho()}}function dc(){Pl=Rl.current,Co(Rl)}function fc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Ol)for(n=Ol.return;null!==n;){var r=n;switch(na(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Io();break;case 3:Za(),Co(Oo),Co(No),ri();break;case 5:Ja(r);break;case 4:Za();break;case 13:case 19:Co(ei);break;case 10:Ta(r.type._context);break;case 22:case 23:dc()}n=n.return}if(Nl=e,Ol=e=Rc(e.current,null),jl=Pl=t,Il=0,Ll=null,Fl=Ml=Dl=0,Bl=zl=null,null!==Pa){for(t=0;t<Pa.length;t++)if(null!==(r=(n=Pa[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}Pa=null}return e}function pc(e,t){for(;;){var n=Ol;try{if(Aa(),oi.current=Xi,ui){for(var r=si.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ui=!1}if(ii=0,ci=li=si=null,di=!1,fi=0,Cl.current=null,null===n||null===n.return){Il=1,Ll=t,Ol=null;break}e:{var i=e,s=n.return,l=n,c=t;if(t=jl,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,f=d.tag;if(!(1&d.mode||0!==f&&11!==f&&15!==f)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var g=hs(s);if(null!==g){g.flags&=-257,bs(g,s,l,0,t),1&g.mode&&ms(i,u,t),c=u;var m=(t=g).updateQueue;if(null===m){var h=new Set;h.add(c),t.updateQueue=h}else m.add(c);break e}if(!(1&t)){ms(i,u,t),mc();break e}c=Error(a(426))}else if(aa&&1&l.mode){var b=hs(s);if(null!==b){!(65536&b.flags)&&(b.flags|=256),bs(b,s,l,0,t),ma(cs(c,l));break e}}i=c=cs(c,l),4!==Il&&(Il=2),null===zl?zl=[i]:zl.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,ps(0,c,t));break e;case 1:l=c;var y=i.type,v=i.stateNode;if(!(128&i.flags||"function"!=typeof y.getDerivedStateFromError&&(null===v||"function"!=typeof v.componentDidCatch||null!==Gl&&Gl.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,gs(i,l,t));break e}}i=i.return}while(null!==i)}wc(n)}catch(w){t=w,Ol===n&&null!==n&&(Ol=n=n.return);continue}break}}function gc(){var e=El.current;return El.current=Xi,null===e?Xi:e}function mc(){0!==Il&&3!==Il&&2!==Il||(Il=4),null===Nl||!(268435455&Dl)&&!(268435455&Ml)||sc(Nl,jl)}function hc(e,t){var n=Tl;Tl|=2;var r=gc();for(Nl===e&&jl===t||(Hl=null,fc(e,t));;)try{bc();break}catch(o){pc(e,o)}if(Aa(),Tl=n,El.current=r,null!==Ol)throw Error(a(261));return Nl=null,jl=0,Il}function bc(){for(;null!==Ol;)vc(Ol)}function yc(){for(;null!==Ol&&!Ke();)vc(Ol)}function vc(e){var t=Sl(e.alternate,e,Pl);e.memoizedProps=e.pendingProps,null===t?wc(e):Ol=t,Cl.current=null}function wc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ys(n,t)))return n.flags&=32767,void(Ol=n);if(null===e)return Il=6,void(Ol=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=qs(n,t,Pl)))return void(Ol=n);if(null!==(t=t.sibling))return void(Ol=t);Ol=t=e}while(null!==t);0===Il&&(Il=5)}function kc(e,t,n){var r=vt,o=Al.transition;try{Al.transition=null,vt=1,function(e,t,n,r){do{xc()}while(null!==Yl);if(6&Tl)throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,i),e===Nl&&(Ol=Nl=null,jl=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||ql||(ql=!0,Nc(tt,(function(){return xc(),null}))),i=!!(15990&n.flags),!!(15990&n.subtreeFlags)||i){i=Al.transition,Al.transition=null;var s=vt;vt=1;var l=Tl;Tl|=4,Cl.current=null,function(e,t){if(eo=Wt,pr(e=fr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||0!==o&&3!==f.nodeType||(l=s+o),f!==i||0!==r&&3!==f.nodeType||(c=s+r),3===f.nodeType&&(s+=f.nodeValue.length),null!==(g=f.firstChild);)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===o&&(l=s),p===i&&++d===r&&(c=s),null!==(g=f.nextSibling))break;p=(f=p).parentNode}f=g}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Wt=!1,Xs=t;null!==Xs;)if(e=(t=Xs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Xs=e;else for(;null!==Xs;){t=Xs;try{var m=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var h=m.memoizedProps,b=m.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?h:ns(t.type,h),b);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(a(163))}}catch(k){_c(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Xs=e;break}Xs=t.return}m=tl,tl=!1}(e,n),hl(n,e),gr(to),Wt=!!eo,to=eo=null,e.current=n,yl(n,e,o),Qe(),Tl=l,vt=s,Al.transition=i}else e.current=n;if(ql&&(ql=!1,Yl=e,Kl=o),i=e.pendingLanes,0===i&&(Gl=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ze()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(Wl)throw Wl=!1,e=Vl,Vl=null,e;!!(1&Kl)&&0!==e.tag&&xc(),i=e.pendingLanes,1&i?e===Zl?Ql++:(Ql=0,Zl=e):Ql=0,Ho()}(e,t,n,r)}finally{Al.transition=o,vt=r}return null}function xc(){if(null!==Yl){var e=wt(Kl),t=Al.transition,n=vt;try{if(Al.transition=null,vt=16>e?16:e,null===Yl)var r=!1;else{if(e=Yl,Yl=null,Kl=0,6&Tl)throw Error(a(331));var o=Tl;for(Tl|=4,Xs=e.current;null!==Xs;){var i=Xs,s=i.child;if(16&Xs.flags){var l=i.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Xs=u;null!==Xs;){var d=Xs;switch(d.tag){case 0:case 11:case 15:nl(8,d,i)}var f=d.child;if(null!==f)f.return=d,Xs=f;else for(;null!==Xs;){var p=(d=Xs).sibling,g=d.return;if(al(d),d===u){Xs=null;break}if(null!==p){p.return=g,Xs=p;break}Xs=g}}}var m=i.alternate;if(null!==m){var h=m.child;if(null!==h){m.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}Xs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Xs=s;else e:for(;null!==Xs;){if(2048&(i=Xs).flags)switch(i.tag){case 0:case 11:case 15:nl(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Xs=y;break e}Xs=i.return}}var v=e.current;for(Xs=v;null!==Xs;){var w=(s=Xs).child;if(2064&s.subtreeFlags&&null!==w)w.return=s,Xs=w;else e:for(s=v;null!==Xs;){if(2048&(l=Xs).flags)try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(x){_c(l,l.return,x)}if(l===s){Xs=null;break e}var k=l.sibling;if(null!==k){k.return=l.return,Xs=k;break e}Xs=l.return}}if(Tl=o,Ho(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(x){}r=!0}return r}finally{vt=n,Al.transition=t}}return!1}function Sc(e,t,n){e=Ba(e,t=ps(0,t=cs(n,t),1),1),t=ec(),null!==e&&(bt(e,1,t),rc(e,t))}function _c(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Gl||!Gl.has(r))){t=Ba(t,e=gs(t,e=cs(n,e),1),1),e=ec(),null!==t&&(bt(t,1,e),rc(t,e));break}}t=t.return}}function Ec(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,Nl===e&&(jl&n)===n&&(4===Il||3===Il&&(130023424&jl)===jl&&500>Ze()-$l?fc(e,0):Fl|=n),rc(e,t)}function Cc(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=ec();null!==(e=La(e,t))&&(bt(e,t,n),rc(e,n))}function Ac(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cc(e,n)}function Tc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Cc(e,n)}function Nc(e,t){return qe(e,t)}function Oc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function jc(e,t,n,r){return new Oc(e,t,n,r)}function Pc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Rc(e,t){var n=e.alternate;return null===n?((n=jc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ic(e,t,n,r,o,i){var s=2;if(r=e,"function"==typeof e)Pc(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case S:return Lc(n.children,o,i,t);case _:s=8,o|=8;break;case E:return(e=jc(12,n,t,2|o)).elementType=E,e.lanes=i,e;case N:return(e=jc(13,n,t,o)).elementType=N,e.lanes=i,e;case O:return(e=jc(19,n,t,o)).elementType=O,e.lanes=i,e;case R:return Dc(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:s=10;break e;case A:s=9;break e;case T:s=11;break e;case j:s=14;break e;case P:s=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=jc(s,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function Lc(e,t,n,r){return(e=jc(7,e,r,t)).lanes=n,e}function Dc(e,t,n,r){return(e=jc(22,e,r,t)).elementType=R,e.lanes=n,e.stateNode={isHidden:!1},e}function Mc(e,t,n){return(e=jc(6,e,null,t)).lanes=n,e}function Fc(e,t,n){return(t=jc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zc(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,r,o,a,i,s,l){return e=new zc(e,t,n,s,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=jc(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ma(a),e}function $c(e){if(!e)return To;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ro(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Ro(n))return Do(e,n,t)}return t}function Uc(e,t,n,r,o,a,i,s,l){return(e=Bc(n,r,!0,e,0,a,0,s,l)).context=$c(null),n=e.current,(a=za(r=ec(),o=tc(n))).callback=null!=t?t:null,Ba(n,a,o),e.current.lanes=o,bt(e,o,r),rc(e,r),e}function Hc(e,t,n,r){var o=t.current,a=ec(),i=tc(o);return n=$c(n),null===t.context?t.context=n:t.pendingContext=n,(t=za(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ba(o,t,i))&&(nc(e,o,i,a),$a(e,o,i)),i}function Wc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Gc(e,t){Vc(e,t),(e=e.alternate)&&Vc(e,t)}Sl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Oo.current)vs=!0;else{if(!(e.lanes&n||128&t.flags))return vs=!1,function(e,t,n){switch(t.tag){case 3:Ns(t),ga();break;case 5:Xa(t);break;case 1:Ro(t.type)&&Mo(t);break;case 4:Qa(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Ao(Sa,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ao(ei,1&ei.current),t.flags|=128,null):n&t.child.childLanes?Ms(e,t,n):(Ao(ei,1&ei.current),null!==(e=Ws(e,t,n))?e.sibling:null);Ao(ei,1&ei.current);break;case 19:if(r=!!(n&t.childLanes),128&e.flags){if(r)return Us(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),Ao(ei,ei.current),r)break;return null;case 22:case 23:return t.lanes=0,_s(e,t,n)}return Ws(e,t,n)}(e,t,n);vs=!!(131072&e.flags)}else vs=!1,aa&&1048576&t.flags&&ea(t,qo,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hs(e,t),e=t.pendingProps;var o=Po(t,No.current);Oa(t,n),o=hi(null,t,r,e,o,n);var i=bi();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ro(r)?(i=!0,Mo(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Ma(t),o.updater=os,t.stateNode=o,o._reactInternals=t,ls(t,r,e,n),t=Ts(null,t,r,!0,i,n)):(t.tag=0,aa&&i&&ta(t),ws(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hs(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Pc(e)?1:0;if(null!=e){if((e=e.$$typeof)===T)return 11;if(e===j)return 14}return 2}(r),e=ns(r,e),o){case 0:t=Cs(null,t,r,e,n);break e;case 1:t=As(null,t,r,e,n);break e;case 11:t=ks(null,t,r,e,n);break e;case 14:t=xs(null,t,r,ns(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Cs(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 1:return r=t.type,o=t.pendingProps,As(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 3:e:{if(Ns(t),null===e)throw Error(a(387));r=t.pendingProps,o=(i=t.memoizedState).element,Fa(e,t),Ha(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Os(e,t,r,n,o=cs(Error(a(423)),t));break e}if(r!==o){t=Os(e,t,r,n,o=cs(Error(a(424)),t));break e}for(oa=co(t.stateNode.containerInfo.firstChild),ra=t,aa=!0,ia=null,n=xa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ga(),r===o){t=Ws(e,t,n);break e}ws(e,t,r,n)}t=t.child}return t;case 5:return Xa(t),null===e&&ua(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,s=o.children,no(r,o)?s=null:null!==i&&no(r,i)&&(t.flags|=32),Es(e,t),ws(e,t,s,n),t.child;case 6:return null===e&&ua(t),null;case 13:return Ms(e,t,n);case 4:return Qa(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=ka(t,null,r,n):ws(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,ks(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 7:return ws(e,t,t.pendingProps,n),t.child;case 8:case 12:return ws(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,Ao(Sa,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===o.children&&!Oo.current){t=Ws(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var l=i.dependencies;if(null!==l){s=i.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=za(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),Na(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(a(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),Na(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}ws(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Oa(t,n),r=r(o=ja(o)),t.flags|=1,ws(e,t,r,n),t.child;case 14:return o=ns(r=t.type,t.pendingProps),xs(e,t,r,o=ns(r.type,o),n);case 15:return Ss(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ns(r,o),Hs(e,t),t.tag=1,Ro(r)?(e=!0,Mo(t)):e=!1,Oa(t,n),is(t,r,o),ls(t,r,o,n),Ts(null,t,r,!0,e,n);case 19:return Us(e,t,n);case 22:return _s(e,t,n)}throw Error(a(156,t.tag))};var qc="function"==typeof reportError?reportError:function(e){console.error(e)};function Yc(e){this._internalRoot=e}function Kc(e){this._internalRoot=e}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Xc(){}function Jc(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var s=o;o=function(){var e=Wc(i);s.call(e)}}Hc(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=Wc(i);a.call(e)}}var i=Uc(t,r,e,0,null,!1,0,"",Xc);return e._reactRootContainer=i,e[mo]=i.current,Ur(8===e.nodeType?e.parentNode:e),uc(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var s=r;r=function(){var e=Wc(l);s.call(e)}}var l=Bc(e,0,!1,null,0,!1,0,"",Xc);return e._reactRootContainer=l,e[mo]=l.current,Ur(8===e.nodeType?e.parentNode:e),uc((function(){Hc(t,l,n,r)})),l}(n,t,e,o,r);return Wc(i)}Kc.prototype.render=Yc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Hc(e,t,null,null)},Kc.prototype.unmount=Yc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){Hc(null,e,null,null)})),t[mo]=null}},Kc.prototype.unstable_scheduleHydration=function(e){if(e){var t=_t();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Rt.length&&0!==t&&t<Rt[n].priority;n++);Rt.splice(n,0,e),0===n&&Mt(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),rc(t,Ze()),!(6&Tl)&&(Ul=Ze()+500,Ho()))}break;case 13:uc((function(){var t=La(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Gc(e,1)}},xt=function(e){if(13===e.tag){var t=La(e,134217728);if(null!==t)nc(t,e,134217728,ec());Gc(e,134217728)}},St=function(e){if(13===e.tag){var t=tc(e),n=La(e,t);if(null!==n)nc(n,e,t,ec());Gc(e,t)}},_t=function(){return vt},Et=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=xo(r);if(!o)throw Error(a(90));q(r),X(r,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Te=cc,Ne=uc;var eu={usingClientEntryPoint:!1,Events:[wo,ko,xo,Ce,Ae,cc]},tu={findFiberByHostInstance:vo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{ot=ru.inject(nu),at=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Qc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Qc(e))throw Error(a(299));var n=!1,r="",o=qc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Bc(e,1,!1,null,0,n,0,r,o),e[mo]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Yc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Zc(t))throw Error(a(200));return Jc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Qc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,o=!1,i="",s=qc;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,o,0,i,s),e[mo]=t.current,Ur(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Kc(t)},t.render=function(e,t,n){if(!Zc(t))throw Error(a(200));return Jc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Zc(e))throw Error(a(40));return!!e._reactRootContainer&&(uc((function(){Jc(null,null,e,!1,(function(){e._reactRootContainer=null,e[mo]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Zc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return Jc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},5338:(e,t,n)=>{"use strict";var r=n(961);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(2551)},115:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!a(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!a(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!a(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},545:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>V});var r=n(6540),o=n(5556),a=n.n(o),i=n(115),s=n.n(i),l=n(311),c=n.n(l),u=n(2833),d=n.n(u);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},g(e,t)}function m(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},_=function(e){var t=S(e,h.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},E=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},A=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o+=1){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},T=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),i=0;i<a.length;i+=1){var s=a[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][c]&&(o[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),i=0;i<a.length;i+=1){var s=a[i],l=f({},r[s],o[s]);r[s]=l}return e}),[]).reverse()},N=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},O=function(e){return Array.isArray(e)?e.join(""):e},j=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},P=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},R=[h.NOSCRIPT,h.SCRIPT,h.STYLE],I=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},L=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},D=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},M=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),r.createElement(e,a)}))},F=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=D(n,o),[r.createElement(h.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,r){var o=L(n),a=O(t);return o?"<"+e+' data-rh="true" '+o+">"+I(a,r)+"</"+e+">":"<"+e+' data-rh="true">'+I(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return D(t)},toString:function(){return L(t)}};default:return{toComponent:function(){return M(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+I(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===R.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var g=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,o=j(e.metaTags,v),a=j(t,b),i=j(n,y);return{priorityMethods:{toComponent:function(){return[].concat(M(h.META,o.priority),M(h.LINK,a.priority),M(h.SCRIPT,i.priority))},toString:function(){return F(h.META,o.priority,r)+" "+F(h.LINK,a.priority,r)+" "+F(h.SCRIPT,i.priority,r)}},metaTags:o.default,linkTags:a.default,scriptTags:i.default}}(e);p=g.priorityMethods,u=g.linkTags,d=g.metaTags,f=g.scriptTags}return{priority:p,base:F(h.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",o,r),link:F(h.LINK,u,r),meta:F(h.META,d,r),noscript:F(h.NOSCRIPT,a,r),script:F(h.SCRIPT,f,r),style:F(h.STYLE,i,r),title:F(h.TITLE,{title:l,titleAttributes:c},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),W="undefined"!=typeof document,V=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);V.canUseDOM=W,V.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var G=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),o=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?r.innerHTML=t.innerHTML:"cssText"===o?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(o,void 0===t[o]?"":t[o]));r.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,r.isEqualNode(e)}))?a.splice(n,1):i.push(r)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:a,newTags:i}},q=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===o.indexOf(l)&&o.push(l);var u=a.indexOf(l);-1!==u&&a.splice(u,1)}for(var d=a.length-1;d>=0;d-=1)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},Y=function(e,t){var n=e.baseTag,r=e.htmlAttributes,o=e.linkTags,a=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;q(h.BODY,e.bodyAttributes),q(h.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=O(e)),q(h.TITLE,t)}(u,d);var f={baseTag:G(h.BASE,n),linkTags:G(h.LINK,o),metaTags:G(h.META,a),noscriptTags:G(h.NOSCRIPT,i),scriptTags:G(h.SCRIPT,l),styleTags:G(h.STYLE,c)},p={},g={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(g[e]=f[e].oldTags)})),t&&t(),s(e,p,g)},K=null,Q=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=f({},e.props);return delete t.context,t})),{baseTag:A(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:T(h.LINK,["rel","href"],e),metaTags:T(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:T(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:T(h.SCRIPT,["src","innerHTML"],e),styleTags:T(h.STYLE,["cssText"],e),title:_(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:N(e,"prioritizeSeoTags")});V.canUseDOM?(t=a,K&&cancelAnimationFrame(K),t.defer?K=requestAnimationFrame((function(){Y(t,(function(){K=null}))})):(Y(t),K=null)):z&&(o=z(a)),r(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Q.propTypes={context:H.isRequired},Q.displayName="HelmetDispatcher";var Z=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(P(this.props,"helmetData"),P(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return f({},o,((t={})[r.type]=i,t.titleAttributes=f({},a),t));case h.BODY:return f({},o,{bodyAttributes:f({},a)});case h.HTML:return f({},o,{htmlAttributes:f({},a)});default:return f({},o,((n={})[r.type]=f({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,a=r.children,i=m(r,Z),s=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,a),l){case h.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:s,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,X),o=f({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof $||(a=new $(a.context,a.instances)),a?r.createElement(Q,f({},o,{context:a.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Q,f({},o,{context:e}))}))},t}(r.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},2799:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,g=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case s:case i:case p:return e;default:switch(e=e&&e.$$typeof){case c:case f:case h:case m:case l:return e;default:return t}}case o:return t}}}function x(e){return k(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=a,t.Lazy=h,t.Memo=m,t.Portal=o,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return x(e)||k(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===f},t.isFragment=function(e){return k(e)===a},t.isLazy=function(e){return k(e)===h},t.isMemo=function(e){return k(e)===m},t.isPortal=function(e){return k(e)===o},t.isProfiler=function(e){return k(e)===s},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===s||e===i||e===p||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===f||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=k},4363:(e,t,n)=>{"use strict";e.exports=n(2799)},3259:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(6540),l=[],c=[];var u=s.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var o=d(e[r]);o.loading?t.loading=!0:(t.loaded[r]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function p(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function g(e,t){var d,f;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var g=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),m=null;function h(){return m||(m=e(g.loader)),m.promise}return l.push(h),"function"==typeof g.webpack&&c.push((function(){if((0,g.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return h()})),f=d=function(t){function n(n){var r;return a(o(o(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),m=e(g.loader),r._loadModule()})),h(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(g.modules)&&g.modules.forEach((function(t){e.context.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof g.delay&&(0===g.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),g.delay)),"number"==typeof g.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),g.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(g.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?g.render(this.state.loaded,this.props):null},n}(s.Component),a(d,"contextType",u),f}function m(e){return g(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return g(f,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return s.createElement(u.Provider,{value:{report:this.props.report}},s.Children.only(this.props.children))},t}(s.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}m.Capture=h,m.preloadAll=function(){return new Promise((function(e,t){b(l).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){b(c).then(e,e)}))},e.exports=m},2831:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,v:()=>s});var r=n(6347),o=n(8168),a=n(6540);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&i(e.routes,t,n)),o})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(r.dO,n,e.map((function(e,n){return a.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.A)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.A)({},n,t,{route:e}))}})}))):null}},4625:(e,t,n)=>{"use strict";n.d(t,{I9:()=>d,Kd:()=>u,N_:()=>b,k2:()=>w});var r=n(6347),o=n(2892),a=n(6540),i=n(1513),s=n(8168),l=n(8587),c=n(1561),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.zR)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(a.Component);var d=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.TM)(t.props),t}return(0,o.A)(t,e),t.prototype.render=function(){return a.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(a.Component);var f=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.yJ)(e,null,null,t):e},g=function(e){return e},m=a.forwardRef;void 0===m&&(m=g);var h=m((function(e,t){var n=e.innerRef,r=e.navigate,o=e.onClick,i=(0,l.A)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.A)({},i,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=g!==m&&t||n,a.createElement("a",u)}));var b=m((function(e,t){var n=e.component,o=void 0===n?h:n,u=e.replace,d=e.to,b=e.innerRef,y=(0,l.A)(e,["component","replace","to","innerRef"]);return a.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=e.history,r=p(f(d,e.location),e.location),l=r?n.createHref(r):"",h=(0,s.A)({},y,{href:l,navigate:function(){var t=f(d,e.location),r=(0,i.AO)(e.location)===(0,i.AO)(p(t));(u||r?n.replace:n.push)(t)}});return g!==m?h.ref=t||b:h.innerRef=b,a.createElement(o,h)}))})),y=function(e){return e},v=a.forwardRef;void 0===v&&(v=y);var w=v((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,d=e.activeStyle,g=e.className,m=e.exact,h=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,_=e.to,E=e.innerRef,C=(0,l.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=w||e.location,i=p(f(_,n),n),l=i.pathname,A=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),T=A?(0,r.B6)(n.pathname,{path:A,exact:m,sensitive:k,strict:x}):null,N=!!(h?h(T,n):T),O="function"==typeof g?g(N):g,j="function"==typeof S?S(N):S;N&&(O=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(O,u),j=(0,s.A)({},j,d));var P=(0,s.A)({"aria-current":N&&o||null,className:O,style:j,to:i},C);return y!==v?P.ref=t||E:P.innerRef=E,a.createElement(b,P)}))}))},6347:(e,t,n)=>{"use strict";n.d(t,{B6:()=>S,Ix:()=>v,W6:()=>P,XZ:()=>y,dO:()=>O,qh:()=>_,zy:()=>R});var r=n(2892),o=n(6540),a=n(5556),i=n.n(a),s=n(1513),l=n(1561),c=n(8168),u=n(8505),d=n.n(u),f=(n(4363),n(8587)),p=(n(4146),1073741823),g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var m=o.createContext||function(e,t){var n,a,s="__create-react-context-"+function(){var e="__global_unique_id__";return g[e]=(g[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.A)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):p,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,i},o.render=function(){return this.props.children},n}(o.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,r.A)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?p:t},o.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p:e},o.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},o.getValue=function(){return this.context[s]?this.context[s].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return c.contextTypes=((a={})[s]=i().object,a),{Provider:l,Consumer:c}},h=function(e){var t=m();return t.displayName=e,t},b=h("Router-History"),y=h("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var o=[],a={regexp:d()(e,o,t),keys:o};return x<k&&(r[e]=a,x++),a}(n,{end:a,strict:s,sensitive:c}),o=r.regexp,i=r.keys,l=o.exec(e);if(!l)return null;var u=l[0],f=l.slice(1),p=e===u;return a&&!p?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var _=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.A)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,a=(0,c.A)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===o.Children.count(e)}(s)&&(s=null),o.createElement(y.Provider,{value:a},a.match?s?"function"==typeof s?s(a):s:u?o.createElement(u,a):d?d(a):null:"function"==typeof s?s(a):null)}))},t}(o.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,c.A)({},t,{pathname:t.pathname.substr(n.length)})}function A(e){return"string"==typeof e?e:(0,s.AO)(e)}function T(e){return function(){(0,l.A)(!1)}}function N(){}o.Component;var O=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.A)(!1);var n,r,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==r&&o.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(a.pathname,(0,c.A)({},e.props,{path:i})):t.match}})),r?o.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.Component);var j=o.useContext;function P(){return j(b)}function R(){return j(y).location}},8505:(e,t,n)=>{var r=n(4634);e.exports=g,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,s=0,l="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(s,p),s=p+d.length,f)l+=f[1];else{var g=e[s],m=n[2],h=n[3],b=n[4],y=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=m&&null!=g&&g!==m,x="+"===v||"*"===v,S="?"===v||"*"===v,_=m||c,E=b||y,C=m||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:h||a++,prefix:m||"",delimiter:_,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:E?u(E):w?".*":i(_,C)})}}return s<e.length&&(l+=e.substr(s)),l&&r.push(l),r}function i(e,t){return!t||t.indexOf(e)>-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",f(t)));return function(t,o){for(var a="",i=t||{},l=(o||{}).pretty?s:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,f=i[u.name];if(null==f){if(u.optional){u.partial&&(a+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(f)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=l(f[p]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");a+=(0===p?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(f),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');a+=u.prefix+d}}else a+=u}return a}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function d(e,t){return e.keys=t,e}function f(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,i="",s=0;s<e.length;s++){var l=e[s];if("string"==typeof l)i+=c(l);else{var u=c(l.prefix),p="(?:"+l.pattern+")";t.push(l),l.repeat&&(p+="(?:"+u+p+")*"),i+=p=l.optional?l.partial?u+"("+p+")?":"(?:"+u+"("+p+"))?":u+"("+p+")"}}var g=c(n.delimiter||"/"),m=i.slice(-g.length)===g;return o||(i=(m?i.slice(0,-g.length):i)+"(?:"+g+"(?=$))?"),i+=a?"$":o&&m?"":"(?="+g+"|$)",d(new RegExp("^"+i,f(n)),t)}function g(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return d(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],o=0;o<e.length;o++)r.push(g(e[o],t,n).source);return d(new RegExp("(?:"+r.join("|")+")",f(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},1020:(e,t,n)=>{"use strict";var r=n(6540),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!l.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:s.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},5287:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||g}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||g}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var w=v.prototype=new y;w.constructor=v,m(w,b.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var o,a={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,o)&&!_.hasOwnProperty(o)&&(a[o]=t[o]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(o in l=e.defaultProps)void 0===a[o]&&(a[o]=l[o]);return{$$typeof:n,type:e,key:i,ref:s,props:a,_owner:S.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var A=/\/+/g;function T(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function N(e,t,o,a,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return i=i(l=e),e=""===a?"."+T(l,0):a,k(i)?(o="",null!=e&&(o=e.replace(A,"$&/")+"/"),N(i,t,o,"",(function(e){return e}))):null!=i&&(C(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(A,"$&/")+"/")+e)),t.push(i)),1;if(l=0,a=""===a?".":a+":",k(e))for(var c=0;c<e.length;c++){var u=a+T(s=e[c],c);l+=N(s,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=N(s=s.value,t,o,u=a+T(s,c++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function O(e,t,n){if(null==e)return e;var r=[],o=0;return N(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function j(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var P={current:null},R={transition:null},I={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:R,ReactCurrentOwner:S};function L(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:O,forEach:function(e,t,n){O(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return O(e,(function(){t++})),t},toArray:function(e){return O(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=o,t.Profiler=i,t.PureComponent=v,t.StrictMode=a,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,t.act=L,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=m({},e.props),a=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=S.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)x.call(t,c)&&!_.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:j}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=R.transition;R.transition={};try{e()}finally{R.transition=t}},t.unstable_act=L,t.useCallback=function(e,t){return P.current.useCallback(e,t)},t.useContext=function(e){return P.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return P.current.useDeferredValue(e)},t.useEffect=function(e,t){return P.current.useEffect(e,t)},t.useId=function(){return P.current.useId()},t.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return P.current.useMemo(e,t)},t.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},t.useRef=function(e){return P.current.useRef(e)},t.useState=function(e){return P.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return P.current.useTransition()},t.version="18.3.1"},6540:(e,t,n)=>{"use strict";e.exports=n(5287)},4848:(e,t,n)=>{"use strict";e.exports=n(1020)},7463:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<a(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>a(l,n))c<o&&0>a(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<o&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,f=null,p=3,g=!1,m=!1,h=!1,b="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function k(e){if(h=!1,w(e),!m)if(null!==r(c))m=!0,R(x);else{var t=r(u);null!==t&&I(k,t.startTime-e)}}function x(e,n){m=!1,h&&(h=!1,y(C),C=-1),g=!0;var a=p;try{for(w(n),f=r(c);null!==f&&(!(f.expirationTime>n)||e&&!N());){var i=f.callback;if("function"==typeof i){f.callback=null,p=f.priorityLevel;var s=i(f.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?f.callback=s:f===r(c)&&o(c),w(n)}else o(c);f=r(c)}if(null!==f)var l=!0;else{var d=r(u);null!==d&&I(k,d.startTime-n),l=!1}return l}finally{f=null,p=a,g=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,_=!1,E=null,C=-1,A=5,T=-1;function N(){return!(t.unstable_now()-T<A)}function O(){if(null!==E){var e=t.unstable_now();T=e;var n=!0;try{n=E(!0,e)}finally{n?S():(_=!1,E=null)}}else _=!1}if("function"==typeof v)S=function(){v(O)};else if("undefined"!=typeof MessageChannel){var j=new MessageChannel,P=j.port2;j.port1.onmessage=O,S=function(){P.postMessage(null)}}else S=function(){b(O,0)};function R(e){E=e,_||(_=!0,S())}function I(e,n){C=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||g||(m=!0,R(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):A=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?i+a:i:a=i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:s=a+s,sortIndex:-1},a>i?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(h?(y(C),C=-1):h=!0,I(k,a-i))):(e.sortIndex=s,n(c,e),m||g||(m=!0,R(x))),e},t.unstable_shouldYield=N,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},9982:(e,t,n)=>{"use strict";e.exports=n(7463)},2833:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<a.length;l++){var c=a[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(o=n?n.call(r,u,d,c):void 0)||void 0===o&&u!==d)return!1}return!0}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"OpenC3 Docs",tagline:"OpenC3 COSMOS Documentation",favicon:"img/favicon.png",url:"https://docs.openc3.com",baseUrl:"/",trailingSlash:!1,organizationName:"OpenC3",projectName:"cosmos",onBrokenLinks:"throw",onBrokenMarkdownLinks:"throw",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["@docusaurus/plugin-client-redirects",{redirects:[{to:"/docs/",from:"/docs/v5/"},{to:"/docs/tools",from:"/docs/v5/tools"},{to:"/docs/getting-started/installation",from:"/docs/v5/installation"},{to:"/docs/getting-started/gettingstarted",from:"/docs/v5/gettingstarted"},{to:"/docs/getting-started/upgrading",from:"/docs/v5/upgrading"},{to:"/docs/getting-started/requirements",from:"/docs/v5/requirements"},{to:"/docs/getting-started/podman",from:"/docs/v5/podman"},{to:"/docs/configuration/format",from:"/docs/v5/format"},{to:"/docs/configuration/plugins",from:"/docs/v5/plugins"},{to:"/docs/configuration/target",from:"/docs/v5/target"},{to:"/docs/configuration/command",from:"/docs/v5/command"},{to:"/docs/configuration/telemetry",from:"/docs/v5/telemetry"},{to:"/docs/configuration/interfaces",from:"/docs/v5/interfaces"},{to:"/docs/configuration/protocols",from:"/docs/v5/protocols"},{to:"/docs/configuration/table",from:"/docs/v5/table"},{to:"/docs/configuration/telemetry-screens",from:"/docs/v5/telemetry-screens"},{to:"/docs/configuration/ssl-tls",from:"/docs/v5/ssl-tls"},{to:"/docs/tools/cmd-tlm-server",from:"/docs/v5/cmd-tlm-server"},{to:"/docs/tools/limits-monitor",from:"/docs/v5/limits-monitor"},{to:"/docs/tools/cmd-sender",from:"/docs/v5/cmd-sender"},{to:"/docs/tools/script-runner",from:"/docs/v5/script-runner"},{to:"/docs/tools/packet-viewer",from:"/docs/v5/packet-viewer"},{to:"/docs/tools/tlm-viewer",from:"/docs/v5/tlm-viewer"},{to:"/docs/tools/tlm-grapher",from:"/docs/v5/tlm-grapher"},{to:"/docs/tools/data-extractor",from:"/docs/v5/data-extractor"},{to:"/docs/tools/data-viewer",from:"/docs/v5/data-viewer"},{to:"/docs/tools/bucket-explorer",from:"/docs/v5/bucket-explorer"},{to:"/docs/tools/table-manager",from:"/docs/v5/table-manager"},{to:"/docs/tools/handbooks",from:"/docs/v5/handbooks"},{to:"/docs/tools/calendar",from:"/docs/v5/calendar"},{to:"/docs/guides/bridges",from:"/docs/v5/bridges"},{to:"/docs/guides/cfs",from:"/docs/v5/cfs"},{to:"/docs/guides/custom-widgets",from:"/docs/v5/custom-widgets"},{to:"/docs/guides/little-endian-bitfields",from:"/docs/v5/little-endian-bitfields"},{to:"/docs/guides/local-mode",from:"/docs/v5/local-mode"},{to:"/docs/guides/logging",from:"/docs/v5/logging"},{to:"/docs/guides/monitoring",from:"/docs/v5/monitoring"},{to:"/docs/guides/performance",from:"/docs/v5/performance"},{to:"/docs/guides/raspberrypi",from:"/docs/v5/raspberrypi"},{to:"/docs/guides/scripting-api",from:"/docs/v5/scripting-api"},{to:"/docs/guides/script-writing",from:"/docs/v5/script-writing"},{to:"/docs/development/roadmap",from:"/docs/v5/roadmap"},{to:"/docs/development/developing",from:"/docs/v5/development"},{to:"/docs/development/testing",from:"/docs/v5/testing"},{to:"/docs/development/json-api",from:"/docs/v5/json-api"},{to:"/docs/development/streaming-api",from:"/docs/v5/streaming-api"},{to:"/docs/development/log-structure",from:"/docs/v5/log-structure"},{to:"/docs/development/host-install",from:"/docs/v5/host-install"},{to:"/docs/meta/contributing",from:"/docs/v5/contributing"},{to:"/docs/meta/philosophy",from:"/docs/v5/philosophy"},{to:"/docs/meta/xtce",from:"/docs/v5/xtce"}]}],"/Users/sydjaythomas/Development/cosmos/docs.openc3.com/node_modules/docusaurus-lunr-search/src/index.js"],presets:[["classic",{docs:{editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/"},theme:{customCss:"/Users/sydjaythomas/Development/cosmos/docs.openc3.com/src/css/custom.css"}}]],themeConfig:{navbar:{title:"OpenC3 Docs",logo:{alt:"OpenC3 Logo",src:"img/logo.svg"},items:[{to:"https://openc3.com",label:"Home",position:"left"},{to:"https://openc3.com/enterprise/",label:"Enterprise",position:"left"},{type:"docSidebar",sidebarId:"defaultSidebar",position:"left",label:"Documentation"},{to:"https://openc3.com/news/",label:"News",position:"left"},{to:"https://openc3.com/contact/",label:"Contact",position:"left"},{to:"https://openc3.com/about/",label:"About",position:"left"},{to:"https://github.com/OpenC3/cosmos",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Homepage",items:[{label:"Home",to:"https://openc3.com"}]},{title:"Docs",items:[{label:"Documentation",to:"/docs"}]},{title:"Community",items:[{label:"LinkedIn",href:"https://www.linkedin.com/company/openc3"}]},{title:"More",items:[{label:"GitHub",href:"https://github.com/OpenC3/cosmos"},{label:"Privacy",to:"/docs/privacy"}]}],copyright:"Copyright \xa9 2024 OpenC3, Inc."},prism:{theme:{plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},darkTheme:{plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},additionalLanguages:["ruby","python","bash","diff","json"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"dark",disableSwitch:!1,respectPrefersColorScheme:!1},tableOfContents:{minHeadingLevel:2,maxHeadingLevel:5},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[]},baseUrlIssueBanner:!0,future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},8168:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(null,arguments)}n.d(t,{A:()=>r})},2892:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>o})},8587:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},4164:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{A:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(o&&(o+=" "),o+=t);return o}},1765:(e,t,n)=>{"use strict";n.d(t,{My:()=>A,f4:()=>ne});var r,o,a,i,s,l,c,u=n(6540),d=n(4164),f=Object.create,p=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(y)for(var n of y(t))k.call(t,n)&&x(e,n,t[n]);return e},_=(e,t)=>g(e,h(t)),E=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&y)for(var r of y(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},C=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},r.util.type(t)){case"Object":if(a=r.util.objId(t),n[a])return n[a];for(var i in o={},n[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],n));return o;case"Array":return a=r.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,r){o[r]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||r.languages)[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=a[s])}var c=o[e];return o[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,o,a){a=a||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],o||s);var l=t[s],c=r.util.type(l);"Object"!==c||a[i(l)]?"Array"!==c||a[i(l)]||(a[i(l)]=!0,e(l,n,s,a)):(a[i(l)]=!0,e(l,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run("after-tokenize",a),o.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var o=new s;return l(o,o.head,e),i(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(e,t,n,s,u,d){for(var f in n)if(n.hasOwnProperty(f)&&n[f]){var p=n[f];p=Array.isArray(p)?p:[p];for(var g=0;g<p.length;++g){if(d&&d.cause==f+","+g)return;var m=p[g],h=m.inside,b=!!m.lookbehind,y=!!m.greedy,v=m.alias;if(y&&!m.pattern.global){var w=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,w+"g")}for(var k=m.pattern||m,x=s.next,S=u;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var _=x.value;if(t.length>e.length)return;if(!(_ instanceof o)){var E,C=1;if(y){if(!(E=a(k,S,e,b))||E.index>=e.length)break;var A=E.index,T=E.index+E[0].length,N=S;for(N+=x.value.length;A>=N;)N+=(x=x.next).value.length;if(S=N-=x.value.length,x.value instanceof o)continue;for(var O=x;O!==t.tail&&(N<T||"string"==typeof O.value);O=O.next)C++,N+=O.value.length;C--,_=e.slice(S,N),E.index-=S}else if(!(E=a(k,0,_,b)))continue;A=E.index;var j=E[0],P=_.slice(0,A),R=_.slice(A+j.length),I=S+_.length;d&&I>d.reach&&(d.reach=I);var L=x.prev;if(P&&(L=l(t,L,P),S+=P.length),c(t,L,C),x=l(t,L,new o(f,h?r.tokenize(j,h):j,v,j)),R&&l(t,x,R),C>1){var D={cause:f+","+g,reach:I};i(e,t,n,x.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o<n&&r!==e.tail;o++)r=r.next;t.next=r,r.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),r.hooks.run("wrap",a);var s="";for(var l in a.attributes)s+=" "+l+'="'+(a.attributes[l]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},r}();t.exports=n,n.default=n}},function(){return o||(0,r[b(r)[0]])((o={exports:{}}).exports,o),o.exports}),A=((e,t,n)=>(n=null!=e?f(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of b(t))w.call(e,o)||o===n||p(e,o,{get:()=>t[o],enumerable:!(r=m(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:p(n,"default",{value:e,enumerable:!0}),e)))(C());A.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},A.languages.markup.tag.inside["attr-value"].inside.entity=A.languages.markup.entity,A.languages.markup.doctype.inside["internal-subset"].inside=A.languages.markup,A.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(A.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:A.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:A.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},A.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(A.languages.markup.tag,"addAttribute",{value:function(e,t){A.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:A.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),A.languages.html=A.languages.markup,A.languages.mathml=A.languages.markup,A.languages.svg=A.languages.markup,A.languages.xml=A.languages.extend("markup",{}),A.languages.ssml=A.languages.xml,A.languages.atom=A.languages.xml,A.languages.rss=A.languages.xml,a=A,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},l="(?:[^\\\\-]|"+(s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",l=RegExp(l+"-"+l),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:l,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:s}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},A.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},A.languages.javascript=A.languages.extend("clike",{"class-name":[A.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),A.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,A.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:A.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:A.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:A.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:A.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:A.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),A.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:A.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),A.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),A.languages.markup&&(A.languages.markup.tag.addInlined("script","javascript"),A.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),A.languages.js=A.languages.javascript,A.languages.actionscript=A.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),A.languages.actionscript["class-name"].alias="function",delete A.languages.actionscript.parameter,delete A.languages.actionscript["literal-property"],A.languages.markup&&A.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:A.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(A),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,i=a[o];if((i=i||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(i=a[o]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),r(i[s]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(A),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(A),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(A),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(A),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,o=t.classes.length;r<o;r++){var a=t.classes[r];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(A),A.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:A.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},A.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var a=f(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var i=u(0);"variable"===i.type&&(p(i,"variable-input"),o.push(i.content))}n=a+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,p(u(0),"property-mutation"),0<o.length)){var s=f(/^\{$/,/^\}$/);if(-1!==s)for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&0<=o.indexOf(c.content)&&p(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function f(e,r){for(var o=1,a=n;a<t.length;a++){var i=t[a],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))o++;else if(r.test(s)&&0==--o)return a}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),A.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),c=0,u={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var a=0;a<n.length;a++){if(c>=d.length)return;var i,l,f,p,g,m,h,b=n[a];"string"==typeof b||"string"==typeof b.content?(i=d[c],-1!==(h=(m="string"==typeof b?b:b.content).indexOf(i))&&(++c,l=m.substring(0,h),g=u[i],f=void 0,(p={})["interpolation-punctuation"]=o,3===(p=e.tokenize(g,p)).length&&((f=[1,1]).push.apply(f,s(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,g),p=m.substring(h+i.length),g=[],l&&g.push(l),g.push(f),p&&(t(m=[p]),g.push.apply(g,m)),"string"==typeof b?(n.splice.apply(n,[a,1].concat(g)),a+=g.length-1):b.content=g)):(h=b.content,Array.isArray(h)?t(h):t([h]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,o=n.length;r<o;r++){var a,i,s,c=n[r];"string"!=typeof c&&(a=c.content,Array.isArray(a)?"template-string"===c.type?(c=a[1],3===a.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,s=e.languages[c])&&(a[1]=l(i,s,c))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(A),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(A),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(A),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(A),A.languages.n4js=A.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),A.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),A.languages.n4jsd=A.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var o=n[r],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(A),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var o=t[r],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:s(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=s(o),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(a+=s(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(a=s(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&i(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(A),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(A),A.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},A.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=A.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(A),A.languages.c=A.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),A.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),A.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},A.languages.c.string],char:A.languages.c.char,comment:A.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:A.languages.c}}}}),A.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete A.languages.c.boolean,A.languages.objectivec=A.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete A.languages.objectivec["class-name"],A.languages.objc=A.languages.objectivec,A.languages.reason=A.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),A.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete A.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(A),A.languages.go=A.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),A.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete A.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(A),A.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},A.languages.python["string-interpolation"].inside.interpolation.inside.rest=A.languages.python,A.languages.py=A.languages.python,A.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},A.languages.webmanifest=A.languages.json;((e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>T,duotoneDark:()=>N,duotoneLight:()=>O,github:()=>j,gruvboxMaterialDark:()=>Y,gruvboxMaterialLight:()=>K,jettwaveDark:()=>W,jettwaveLight:()=>V,nightOwl:()=>P,nightOwlLight:()=>R,oceanicNext:()=>D,okaidia:()=>M,oneDark:()=>G,oneLight:()=>q,palenight:()=>F,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>$,vsDark:()=>U,vsLight:()=>H});var T={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},N={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},O={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},j={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},P={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},R={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},I="#c5a5c5",L="#8dc891",D={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:I}},{types:["attr-value"],style:{color:L}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:L}},{types:["punctuation"],style:{color:L}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:I}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},M={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},F={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},$={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},W={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},G={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},Y={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},K={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},Q=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:o}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),o);e[t]=n})),e}),{});return r.root=n,r.plain=_(S({},n),{backgroundColor:void 0}),r},Z=/\r\n|\r|\n/,X=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},J=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},ee=e=>{const t=[[]],n=[e],r=[0],o=[e.length];let a=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(a=r[i]++)<o[i];){let e,c=t[i];const u=n[i][a];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=J(c,u.type),u.alias&&(c=J(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),o.push(e.length);continue}const d=e.split(Z),f=d.length;s.push({types:c,content:d[0]});for(let t=1;t<f;t++)X(s),l.push(s=[]),s.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),o.pop()}return X(s),l},te=({children:e,language:t,code:n,theme:r,prism:o})=>{const a=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,u.useState)(Q(t,e)),o=(0,u.useRef)(),a=(0,u.useRef)();return(0,u.useEffect)((()=>{t===o.current&&e===a.current||(o.current=t,a.current=e,r(Q(t,e)))}),[e,t]),n})(a,r),s=(e=>(0,u.useCallback)((t=>{var n=t,{className:r,style:o,line:a}=n,i=E(n,["className","style","line"]);const s=_(S({},i),{className:(0,d.A)("token-line",r)});return"object"==typeof e&&"plain"in e&&(s.style=e.plain),"object"==typeof o&&(s.style=S(S({},s.style||{}),o)),s}),[e]))(i),l=(e=>{const t=(0,u.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,u.useCallback)((e=>{var n=e,{token:r,className:o,style:a}=n,i=E(n,["token","className","style"]);const s=_(S({},i),{className:(0,d.A)("token",...r.types,o),children:r.content,style:t(r)});return null!=a&&(s.style=S(S({},s.style||{}),a)),s}),[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>{const o=(0,u.useRef)(e);return(0,u.useMemo)((()=>{if(null==n)return ee([t]);const e={code:t,grammar:n,language:r,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),ee(e.tokens)}),[t,n,r])})({prism:o,language:a,code:n,grammar:o.languages[a]});return e({tokens:c,className:`prism-code language-${a}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:l})},ne=e=>(0,u.createElement)(te,_(S({},e),{prism:e.prism||A,theme:e.theme||U,code:e.code,language:e.language}))},1561:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},1635:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>L,__assign:()=>a,__asyncDelegator:()=>E,__asyncGenerator:()=>_,__asyncValues:()=>C,__await:()=>S,__awaiter:()=>g,__classPrivateFieldGet:()=>P,__classPrivateFieldIn:()=>I,__classPrivateFieldSet:()=>R,__createBinding:()=>h,__decorate:()=>s,__disposeResources:()=>M,__esDecorate:()=>c,__exportStar:()=>b,__extends:()=>o,__generator:()=>m,__importDefault:()=>j,__importStar:()=>O,__makeTemplateObject:()=>A,__metadata:()=>p,__param:()=>l,__propKey:()=>d,__read:()=>v,__rest:()=>i,__rewriteRelativeImportExtension:()=>F,__runInitializers:()=>u,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>x,__spreadArrays:()=>k,__values:()=>y,default:()=>z});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function c(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var g={};for(var m in r)g[m]="access"===m?{}:r[m];for(var m in r.access)g.access[m]=r.access[m];g.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var h=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[c],g);if("accessor"===l){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw new TypeError("Object expected");(s=i(h.get))&&(d.get=s),(s=i(h.set))&&(d.set=s),(s=i(h.init))&&o.unshift(s)}else(s=i(h))&&("field"===l?o.unshift(s):d[c]=s)}u&&Object.defineProperty(u,r.name,d),f=!0}function u(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function g(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((r=r.apply(e,t||[])).next())}))}function m(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(l){s=[6,l],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var h=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function b(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||h(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function k(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var a=arguments[t],i=0,s=a.length;i<s;i++,o++)r[o]=a[i];return r}function x(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function S(e){return this instanceof S?(this.v=e,this):new S(e)}function _(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),i("next"),i("throw"),i("return",(function(e){return function(t){return Promise.resolve(t).then(e,c)}})),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))},t&&(r[e]=t(r[e])))}function s(e,t){try{(n=o[e](t)).value instanceof S?Promise.resolve(n.value.v).then(l,c):u(a[0][2],n)}catch(r){u(a[0][3],r)}var n}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function E(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:S(e[r](t)),done:!1}:o?o(t):t}:o}}function C(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function A(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},N=function(e){return N=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},N(e)};function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=N(e),r=0;r<n.length;r++)"default"!==n[r]&&h(t,e,n[r]);return T(t,e),t}function j(e){return e&&e.__esModule?e:{default:e}}function P(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function R(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function I(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function L(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var D="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function M(e){function t(t){e.error=e.hasError?new D(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function o(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var a=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(a).then(o,(function(e){return t(e),o()}))}else r|=1}catch(i){t(i)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function F(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,(function(e,n,r,o,a){return n?t?".jsx":".js":!r||o&&a?r+o+"."+a.toLowerCase()+"js":e})):e}const z={__extends:o,__assign:a,__rest:i,__decorate:s,__param:l,__esDecorate:c,__runInitializers:u,__propKey:d,__setFunctionName:f,__metadata:p,__awaiter:g,__generator:m,__createBinding:h,__exportStar:b,__values:y,__read:v,__spread:w,__spreadArrays:k,__spreadArray:x,__await:S,__asyncGenerator:_,__asyncDelegator:E,__asyncValues:C,__makeTemplateObject:A,__importStar:O,__importDefault:j,__classPrivateFieldGet:P,__classPrivateFieldSet:R,__classPrivateFieldIn:I,__addDisposableResource:L,__disposeResources:M,__rewriteRelativeImportExtension:F}},2654:e=>{"use strict";e.exports={}},4054:e=>{"use strict";e.exports=JSON.parse('{"/markdown-page-661":{"__comp":"5e3ed378","__context":{"plugin":"75897369"},"content":"078dbab0"},"/docs-686":{"__comp":"26b8abb2","__context":{"plugin":"c5388ca4"}},"/docs-f6a":{"__comp":"53ca7c5b","__props":"848bfa8e"},"/docs-e89":{"__comp":"d1bfc316"},"/docs-81e":{"__comp":"dc5f7beb","content":"0ff569c9"},"/docs/configuration-0d9":{"__comp":"fd886806","__props":"7f8d7499"},"/docs/configuration/command-858":{"__comp":"dc5f7beb","content":"72c6d8a8"},"/docs/configuration/format-61b":{"__comp":"dc5f7beb","content":"d24bf9b6"},"/docs/configuration/interfaces-90e":{"__comp":"dc5f7beb","content":"a677c089"},"/docs/configuration/plugins-8ae":{"__comp":"dc5f7beb","content":"6831b732"},"/docs/configuration/protocols-53e":{"__comp":"dc5f7beb","content":"b6d70f94"},"/docs/configuration/ssl-tls-eae":{"__comp":"dc5f7beb","content":"696b4199"},"/docs/configuration/table-295":{"__comp":"dc5f7beb","content":"5fe211ef"},"/docs/configuration/target-ea0":{"__comp":"dc5f7beb","content":"b9f60ba6"},"/docs/configuration/telemetry-106":{"__comp":"dc5f7beb","content":"f15615f1"},"/docs/configuration/telemetry-screens-8d4":{"__comp":"dc5f7beb","content":"9424f0b3"},"/docs/development-59e":{"__comp":"fd886806","__props":"e07a6232"},"/docs/development/curl-724":{"__comp":"dc5f7beb","content":"411898ad"},"/docs/development/developing-929":{"__comp":"dc5f7beb","content":"c24eae19"},"/docs/development/host-install-cb7":{"__comp":"dc5f7beb","content":"a507c363"},"/docs/development/json-api-b5b":{"__comp":"dc5f7beb","content":"d57a4b5d"},"/docs/development/log-structure-e3a":{"__comp":"dc5f7beb","content":"0686a885"},"/docs/development/roadmap-e2d":{"__comp":"dc5f7beb","content":"6f92e431"},"/docs/development/streaming-api-8fc":{"__comp":"dc5f7beb","content":"5c6ce5ec"},"/docs/development/testing-93d":{"__comp":"dc5f7beb","content":"97535711"},"/docs/getting-started-625":{"__comp":"fd886806","__props":"e91075a4"},"/docs/getting-started/generators-6a7":{"__comp":"dc5f7beb","content":"2bb7bf90"},"/docs/getting-started/gettingstarted-c63":{"__comp":"dc5f7beb","content":"a9987364"},"/docs/getting-started/installation-fb0":{"__comp":"dc5f7beb","content":"db8fa1d0"},"/docs/getting-started/key_concepts-0ac":{"__comp":"dc5f7beb","content":"ebec1ccb"},"/docs/getting-started/podman-d73":{"__comp":"dc5f7beb","content":"5bc719f6"},"/docs/getting-started/requirements-b1f":{"__comp":"dc5f7beb","content":"6b210247"},"/docs/getting-started/upgrading-1c3":{"__comp":"dc5f7beb","content":"75e64983"},"/docs/guides-85b":{"__comp":"fd886806","__props":"80a8ecf5"},"/docs/guides/bridges-8f6":{"__comp":"dc5f7beb","content":"bd0034eb"},"/docs/guides/cfs-175":{"__comp":"dc5f7beb","content":"867640d5"},"/docs/guides/custom-widgets-664":{"__comp":"dc5f7beb","content":"99581c43"},"/docs/guides/little-endian-bitfields-862":{"__comp":"dc5f7beb","content":"d8ca4191"},"/docs/guides/local-mode-02e":{"__comp":"dc5f7beb","content":"e501b0d1"},"/docs/guides/logging-672":{"__comp":"dc5f7beb","content":"8f7843ee"},"/docs/guides/monitoring-fc1":{"__comp":"dc5f7beb","content":"019369f3"},"/docs/guides/performance-4c2":{"__comp":"dc5f7beb","content":"d1b923aa"},"/docs/guides/raspberrypi-472":{"__comp":"dc5f7beb","content":"22b3ac48"},"/docs/guides/script-writing-325":{"__comp":"dc5f7beb","content":"42170351"},"/docs/guides/scripting-api-585":{"__comp":"dc5f7beb","content":"aa6b6c1b"},"/docs/meta-f76":{"__comp":"fd886806","__props":"6f9ac1e3"},"/docs/meta/contributing-04d":{"__comp":"dc5f7beb","content":"3dd7ef3b"},"/docs/meta/licenses-c2c":{"__comp":"dc5f7beb","content":"5b233ba7"},"/docs/meta/philosophy-19e":{"__comp":"dc5f7beb","content":"d9b92eba"},"/docs/meta/xtce-33c":{"__comp":"dc5f7beb","content":"058ffc22"},"/docs/privacy-90d":{"__comp":"dc5f7beb","content":"9fb6059a"},"/docs/tools-35e":{"__comp":"fd886806","__props":"f9ac6a79"},"/docs/tools/autonomic-bdf":{"__comp":"dc5f7beb","content":"103cc3be"},"/docs/tools/bucket-explorer-f54":{"__comp":"dc5f7beb","content":"89e76475"},"/docs/tools/calendar-a99":{"__comp":"dc5f7beb","content":"13196248"},"/docs/tools/cmd-sender-b54":{"__comp":"dc5f7beb","content":"cb8c3f08"},"/docs/tools/cmd-tlm-server-6ff":{"__comp":"dc5f7beb","content":"d5d77c37"},"/docs/tools/command_history-bb9":{"__comp":"dc5f7beb","content":"80c97f38"},"/docs/tools/data-extractor-107":{"__comp":"dc5f7beb","content":"43652efd"},"/docs/tools/data-viewer-7f2":{"__comp":"dc5f7beb","content":"13c1b4e4"},"/docs/tools/handbooks-611":{"__comp":"dc5f7beb","content":"cd879be4"},"/docs/tools/limits-monitor-ae6":{"__comp":"dc5f7beb","content":"54d0d530"},"/docs/tools/packet-viewer-b7d":{"__comp":"dc5f7beb","content":"2047b354"},"/docs/tools/script-runner-244":{"__comp":"dc5f7beb","content":"0f5d161c"},"/docs/tools/table-manager-1ae":{"__comp":"dc5f7beb","content":"b4596165"},"/docs/tools/tlm-grapher-518":{"__comp":"dc5f7beb","content":"40365d27"},"/docs/tools/tlm-viewer-e41":{"__comp":"dc5f7beb","content":"6b65133b"},"/-408":{"__comp":"9d6e81d0","__context":{"plugin":"75897369"},"config":"68598e7e"}}')}},e=>{e.O(0,[1869],(()=>{return t=7815,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/docs/assets/js/main.584702dd.js.LICENSE.txt b/docs/assets/js/main.584702dd.js.LICENSE.txt deleted file mode 100644 index ae63de0ab6..0000000000 --- a/docs/assets/js/main.584702dd.js.LICENSE.txt +++ /dev/null @@ -1,71 +0,0 @@ -/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */ - -/*! Bundled license information: - -prismjs/prism.js: - (** - * Prism: Lightweight, robust, elegant syntax highlighting - * - * @license MIT <https://opensource.org/licenses/MIT> - * @author Lea Verou <https://lea.verou.me> - * @namespace - * @public - *) -*/ - -/*!*************************************************** -* mark.js v8.11.1 -* https://markjs.io/ -* Copyright (c) 2014–2018, Julian Kühnel -* Released under the MIT license https://git.io/vwTVl -*****************************************************/ - -/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * react-jsx-runtime.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** - * @license React - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/docs/assets/js/main.ef4b51b1.js b/docs/assets/js/main.ef4b51b1.js new file mode 100644 index 0000000000..7613505b9d --- /dev/null +++ b/docs/assets/js/main.ef4b51b1.js @@ -0,0 +1,36 @@ +(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([["6909"],{3601:function(e,t,n){"use strict";n.r(t)},7686:function(e,t,n){"use strict";n.r(t)},1381:function(e,t,n){"use strict";n.d(t,{PP:()=>N,Ep:()=>f,lX:()=>w,q_:()=>C,ob:()=>p});var r=n("6019");function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}let i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&o(e),s=t&&o(t),u=l||s;if(e&&o(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");u&&""!==i[0]&&(!i[0]||!o(i[0]))&&i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var l=n("1835");function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){var n,r;return(n=e,r=t,0===n.toLowerCase().indexOf(r.toLowerCase())&&-1!=="/?#".indexOf(n.charAt(r.length)))?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a,l,s,u,c,d;if("string"==typeof e){;s="",u="",-1!==(c=(l=e||"/").indexOf("#"))&&(u=l.substr(c),l=l.substr(0,c)),-1!==(d=l.indexOf("?"))&&(s=l.substr(d),l=l.substr(0,d)),(a={pathname:l,search:"?"===s?"":s,hash:"#"===u?"":u}).state=t}else void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t);try{a.pathname=decodeURI(a.pathname)}catch(e){if(e instanceof URIError)throw URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.');throw e}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:!a.pathname&&(a.pathname="/"),a}function g(){var e=null,t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach(function(e){return e.apply(void 0,n)})}}}var m=!!("undefined"!=typeof window&&window.document&&window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),m||(0,l.Z)(!1);var t,n=window.history;var o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=-1!==window.navigator.userAgent.indexOf("Trident"),i=e,u=i.forceRefresh,w=void 0!==u&&u,x=i.getUserConfirmation,k=void 0===x?h:x,S=i.keyLength,E=void 0===S?6:S,_=e.basename?d(s(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,o=window.location,a=o.pathname+o.search+o.hash;return _&&(a=c(a,_)),p(a,r,n)}function T(){return Math.random().toString(36).substr(2,E)}var N=g();function O(e){(0,r.Z)(B,e),B.length=n.length,N.notifyListeners(B.location,B.action)}function A(e){if(!(void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")))L(C(e.state))}function j(){L(C(v()))}var P=!1;function L(e){P?(P=!1,O()):N.confirmTransitionTo(e,"POP",k,function(t){t?O({action:"POP",location:e}):function(e){var t=B.location,n=I.indexOf(t.key);-1===n&&(n=0);var r=I.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(P=!0,D(o))}(e)})}var R=C(v()),I=[R.key];function F(e){return _+f(e)}function D(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(b,A),a&&window.addEventListener(y,j)):0===M&&(window.removeEventListener(b,A),a&&window.removeEventListener(y,j))}var $=!1,B={length:n.length,action:"POP",location:R,createHref:F,push:function(e,t){var r="PUSH",a=p(e,t,T(),B.location);N.confirmTransitionTo(a,r,k,function(e){if(e){var t=F(a),i=a.key,l=a.state;if(o){if(n.pushState({key:i,state:l},null,t),w)window.location.href=t;else{var s=I.indexOf(B.location.key),u=I.slice(0,s+1);u.push(a.key),I=u,O({action:r,location:a})}}else window.location.href=t}})},replace:function(e,t){var r="REPLACE",a=p(e,t,T(),B.location);N.confirmTransitionTo(a,r,k,function(e){if(e){var t=F(a),i=a.key,l=a.state;if(o){if(n.replaceState({key:i,state:l},null,t),w)window.location.replace(t);else{var s=I.indexOf(B.location.key);-1!==s&&(I[s]=a.key),O({action:r,location:a})}}else window.location.replace(t)}})},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=N.setPrompt(e);return!$&&(z(1),$=!0),function(){return $&&($=!1,z(-1)),t()}},listen:function(e){var t=N.appendListener(e);return z(1),function(){z(-1),t()}}};return B}var x="hashchange",k={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return -1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return -1===t?"":e.substring(t+1)}function _(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),m||(0,l.Z)(!1);var t=window.history;window.navigator.userAgent.indexOf("Firefox");var n=e,o=n.getUserConfirmation,a=void 0===o?h:o,i=n.hashType,u=e.basename?d(s(e.basename)):"",b=k[void 0===i?"slash":i],y=b.encodePath,v=b.decodePath;function w(){var e=v(E());return u&&(e=c(e,u)),p(e)}var C=g();function T(e){(0,r.Z)(z,e),z.length=t.length,C.notifyListeners(z.location,z.action)}var N=!1,O=null;function A(){var e=E(),t=y(e);if(e!==t)_(t);else{var n,r,o=w(),i=z.location;if(!N&&(n=i,r=o,n.pathname===r.pathname&&n.search===r.search&&n.hash===r.hash)||O===f(o))return;O=null,function(e){N?(N=!1,T()):C.confirmTransitionTo(e,"POP",a,function(t){t?T({action:"POP",location:e}):function(e){var t=z.location,n=R.lastIndexOf(f(t));-1===n&&(n=0);var r=R.lastIndexOf(f(e));-1===r&&(r=0);var o=n-r;o&&(N=!0,I(o))}(e)})}(o)}}var j=E(),P=y(j);j!==P&&_(P);var L=w(),R=[f(L)];function I(e){t.go(e)}var F=0;function D(e){1===(F+=e)&&1===e?window.addEventListener(x,A):0===F&&window.removeEventListener(x,A)}var M=!1,z={length:t.length,action:"POP",location:L,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+y(u+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,z.location);C.confirmTransitionTo(r,n,a,function(e){if(e){var t=f(r),o=y(u+t);if(E()!==o){O=t,a=o,window.location.hash=a;var a,i=R.lastIndexOf(f(z.location)),l=R.slice(0,i+1);l.push(t),R=l,T({action:n,location:r})}else T()}})},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,z.location);C.confirmTransitionTo(r,n,a,function(e){if(e){var t=f(r),o=y(u+t);E()!==o&&(O=t,_(o));var a=R.indexOf(f(z.location));-1!==a&&(R[a]=t),T({action:n,location:r})}})},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=C.setPrompt(e);return!M&&(D(1),M=!0),function(){return M&&(M=!1,D(-1)),t()}},listen:function(e){var t=C.appendListener(e);return D(1),function(){D(-1),t()}}};return z}function T(e,t,n){return Math.min(Math.max(e,t),n)}function N(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,i=t.initialIndex,l=t.keyLength,s=void 0===l?6:l,u=g();function c(e){(0,r.Z)(y,e),y.length=y.entries.length,u.notifyListeners(y.location,y.action)}function d(){return Math.random().toString(36).substr(2,s)}var m=T(void 0===i?0:i,0,a.length-1),h=a.map(function(e){return"string"==typeof e?p(e,void 0,d()):p(e,void 0,e.key||d())});function b(e){var t=T(y.index+e,0,y.entries.length-1),r=y.entries[t];u.confirmTransitionTo(r,"POP",n,function(e){e?c({action:"POP",location:r,index:t}):c()})}var y={length:h.length,action:"POP",location:h[m],index:m,entries:h,createHref:f,push:function(e,t){var r="PUSH",o=p(e,t,d(),y.location);u.confirmTransitionTo(o,r,n,function(e){if(e){var t=y.index+1,n=y.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),c({action:r,location:o,index:t,entries:n})}})},replace:function(e,t){var r="REPLACE",o=p(e,t,d(),y.location);u.confirmTransitionTo(o,r,n,function(e){e&&(y.entries[y.index]=o,c({action:r,location:o}))})},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=y.index+e;return t>=0&&t<y.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return y}},8679:function(e,t,n){"use strict";var r=n(9864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var o=p(n);o&&o!==g&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),m=s(n),h=0;h<i.length;++h){var b=i[h];if(!a[b]&&!(r&&r[b])&&!(m&&m[b])&&!(l&&l[b])){var y=f(n,b);try{u(t,b,y)}catch(e){}}}}return t}},1143:function(e){"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,o,a,i,l],c=0;(s=Error(t.replace(/%s/g,function(){return u[c++]}))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:function(e){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},813:function(e){var t,n;t=0,n=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(n){var r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=void 0,t=[];return void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):e=Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:e=[],e.forEach(function(e){var n=t.filter(function(t){return t.contains(e)}).length>0;-1===t.indexOf(e)&&!n&&t.push(e)}),t}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{!r.isIframeBlank(e)&&(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){!--r&&t()})},function(e){!e&&t()})}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),l=i.length,s=0;i=Array.prototype.slice.call(i);var u=function(){--l<=0&&a(s)};!l&&u(),i.forEach(function(t){e.matches(t,o.exclude)?u():o.onIframeReady(t,function(e){n(t)&&(s++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode(),n=void 0;return n=null===t?e.nextNode():e.nextNode()&&e.nextNode(),{prevNode:t,node:n}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return(r.forEach(function(e,t){e.val===n&&(o=t,a=e.handled)}),this.compareNodeIframe(e,t,n))?(!1!==o||a?!1!==o&&!a&&(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach(function(e){!e.handled&&o.getIframeContents(e.val,function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){var a,i=this,l=this.createIterator(t,e,r),s=[],u=[],c=void 0,d=void 0;for(;d=(a=i.getIteratorNode(l)).prevNode,c=a.node;)this.iframes&&this.forEachIframe(t,function(e){return i.checkIframeFilter(c,d,e,s)},function(t){i.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(c);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(s,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;!i&&o(),a.forEach(function(a){var l=function(){r.iterateThroughNodes(e,a,t,n,function(){--i<=0&&o()})};r.iframes?r.waitForIframes(a,l):l()})}}],[{key:"matches",value:function(e,t){var n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(!n)return!1;var r=!1;return("string"==typeof t?[t]:t).every(function(t){return!n.call(e,t)||(r=!0,!1)}),r}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;if(!!this.opt.debug)(void 0===r?"undefined":e(r))==="object"&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),l="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==l&&(e=e.replace(RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(l)+")","gm"+n),r+("("+this.processSynomyms(i))+"|"+this.processSynomyms(l)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":"\x01"})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":"\x02"})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1EA3\xe3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xe2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xe4\xe5\u0101\u0105","A\xc0\xc1\u1EA2\xc3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xc2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xc4\xc5\u0100\u0104","c\xe7\u0107\u010D","C\xc7\u0106\u010C","d\u0111\u010F","D\u0110\u010E","e\xe8\xe9\u1EBB\u1EBD\u1EB9\xea\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xeb\u011B\u0113\u0119","E\xc8\xc9\u1EBA\u1EBC\u1EB8\xca\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xcb\u011A\u0112\u0118","i\xec\xed\u1EC9\u0129\u1ECB\xee\xef\u012B","I\xcc\xcd\u1EC8\u0128\u1ECA\xce\xcf\u012A","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ECF\xf5\u1ECD\xf4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xf6\xf8\u014D","O\xd2\xd3\u1ECE\xd5\u1ECC\xd4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xd6\xd8\u014C","r\u0159","R\u0158","s\u0161\u015B\u0219\u015F","S\u0160\u015A\u0218\u015E","t\u0165\u021B\u0163","T\u0164\u021A\u0162","u\xf9\xfa\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xfb\xfc\u016F\u016B","U\xd9\xda\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xdb\xdc\u016E\u016A","y\xfd\u1EF3\u1EF7\u1EF9\u1EF5\xff","Y\xdd\u1EF2\u1EF6\u1EF8\u1EF4\u0178","z\u017E\u017C\u017A","Z\u017D\u017B\u0179"]:["a\xe0\xe1\u1EA3\xe3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xe2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xe4\xe5\u0101\u0105A\xc0\xc1\u1EA2\xc3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xc2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xc4\xc5\u0100\u0104","c\xe7\u0107\u010DC\xc7\u0106\u010C","d\u0111\u010FD\u0110\u010E","e\xe8\xe9\u1EBB\u1EBD\u1EB9\xea\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xeb\u011B\u0113\u0119E\xc8\xc9\u1EBA\u1EBC\u1EB8\xca\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xcb\u011A\u0112\u0118","i\xec\xed\u1EC9\u0129\u1ECB\xee\xef\u012BI\xcc\xcd\u1EC8\u0128\u1ECA\xce\xcf\u012A","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ECF\xf5\u1ECD\xf4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xf6\xf8\u014DO\xd2\xd3\u1ECE\xd5\u1ECC\xd4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xd6\xd8\u014C","r\u0159R\u0158","s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E","t\u0165\u021B\u0163T\u0164\u021A\u0162","u\xf9\xfa\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xfb\xfc\u016F\u016BU\xd9\xda\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xdb\xdc\u016E\u016A","y\xfd\u1EF3\u1EF7\u1EF9\u1EF5\xffY\xdd\u1EF2\u1EF6\u1EF8\u1EF4\u0178","z\u017E\u017C\u017AZ\u017D\u017B\u0179"],r=[];return e.split("").forEach(function(o){n.every(function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gmi,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,o="string"==typeof n?[]:n.limiters,a="";switch(o.forEach(function(e){a+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(a="\\s"+(a||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf")))+"]*"+e+"[^"+a+"]*)";case"exactly":return"(^|\\s"+a+")("+e+")(?=$|\\s"+a+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,l=parseInt(e.start,10)-i;return(r=(l=l>a?a:l)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),l<0||r-l<0||l>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(l,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every(function(i,l){var s=e.nodes[l+1];if(void 0===s||s.start>t){if(!r(i.node))return!1;var u=t-i.start,c=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),f=e.value.substr(c+i.start);if(i.node=a.wrapRangeInTextNode(i.node,u,c),e.value=d+f,e.nodes.forEach(function(t,n){n>=l&&(e.nodes[n].start>0&&n!==l&&(e.nodes[n].start-=c),e.nodes[n].end-=c)}),n-=c,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0})}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];){if(!!n(o[i],t)){var l=o.index;if(0!==i)for(var s=1;s<i;s++)l+=o[s].length;r((t=a.wrapRangeInTextNode(t,l,l+o[i].length)).previousSibling),e.lastIndex=0}}}),o()})}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes(function(t){for(var l=void 0;null!==(l=e.exec(t.value))&&""!==l[i];){var s=l.index;if(0!==i)for(var u=1;u<i;u++)s+=l[u].length;var c=s+l[i].length;a.wrapRangeInMappedTextNode(t,s,c,function(e){return n(l[i],e)},function(t,n){e.lastIndex=n,r(t)})}o()})}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var o=this;this.getTextNodes(function(a){var i=a.value.length;e.forEach(function(e,r){var l=o.checkWhitespaceRanges(e,i,a.value),s=l.start,u=l.end;l.valid&&o.wrapRangeInMappedTextNode(a,s,u,function(n){return t(n,e,a.value.substring(s,u),r)},function(t){n(t,e)})}),r()})}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(!!e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,o="wrapMatches";this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),this[o](e,this.opt.ignoreGroups,function(e,t){return n.opt.filter(t,e,r)},function(e){r++,n.opt.each(e)},function(){0===r&&n.opt.noMatch(e),n.opt.done(r)})}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,o="wrapMatches",a=this.getSeparatedKeywords("string"==typeof e?[e]:e),i=a.keywords,l=a.length,s=this.opt.caseSensitive?"":"i";this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),0===l?this.opt.done(r):!function e(t){var a=RegExp(n.createRegExp(t),"gm"+s),u=0;n.log('Searching with expression "'+a+'"'),n[o](a,1,function(e,o){return n.opt.filter(o,t,r,u)},function(e){u++,r++,n.opt.each(e)},function(){0===u&&n.opt.noMatch(t),i[l-1]===t?n.opt.done(r):e(i[i.indexOf(t)+1])})}(i[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,o=this.checkRanges(e);o&&o.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(o)),this.wrapRangeFromIndex(o,function(e,t,r,o){return n.opt.filter(e,t,r,o)},function(e,t){r++,n.opt.each(e,t)},function(){n.opt.done(r)})):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(e){t.unwrapMatches(e)},function(e){var r=o.matches(e,n),a=t.matchesExclude(e);return!r||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new o(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),a}();return function(e){var t=this,n=new a(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}},e.exports=n()},4865:function(e){var t,n;t=0,n=function(){var e,t,n,r={};r.version="0.2.0";var o=r.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function i(e){return(-1+e)*100}r.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(o[t]=n);return this},r.status=null,r.set=function(e){var t=r.isStarted();e=a(e,o.minimum,1),r.status=1===e?null:e;var n=r.render(!t),i=n.querySelector(o.barSelector),u=o.speed,c=o.easing;return n.offsetWidth,l(function(t){""===o.positionUsing&&(o.positionUsing=r.getPositioningCSS()),s(i,function(e,t,n){var r;if("translate3d"===o.positionUsing)r={transform:"translate3d("+(-1+e)*100+"%,0,0)"};else if("translate"===o.positionUsing)r={transform:"translate("+(-1+e)*100+"%,0)"};else r={"margin-left":(-1+e)*100+"%"};return r.transition="all "+t+"ms "+n,r}(e,u,c)),1===e?(s(n,{transition:"none",opacity:1}),n.offsetWidth,setTimeout(function(){s(n,{transition:"all "+u+"ms linear",opacity:0}),setTimeout(function(){r.remove(),t()},u)},u)):setTimeout(t,u)}),this},r.isStarted=function(){return"number"==typeof r.status},r.start=function(){!r.status&&r.set(0);var e=function(){setTimeout(function(){r.status&&(r.trickle(),e())},o.trickleSpeed)};return o.trickle&&e(),this},r.done=function(e){return e||r.status?r.inc(.3+.5*Math.random()).set(1):this},r.inc=function(e){var t=r.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),r.set(t)):r.start()},r.trickle=function(){return r.inc(Math.random()*o.trickleRate)},e=0,t=0,r.promise=function(n){return n&&"resolved"!==n.state()?(0===t&&r.start(),e++,t++,n.always(function(){0==--t?(e=0,r.done()):r.set((e-t)/e)}),this):this},r.render=function(e){if(r.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=o.template;var n,a=t.querySelector(o.barSelector),i=e?"-100":function(e){return(-1+e)*100}(r.status||0),l=document.querySelector(o.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+i+"%,0,0)"}),!o.showSpinner&&(n=t.querySelector(o.spinnerSelector))&&p(n),l!=document.body&&c(l,"nprogress-custom-parent"),l.appendChild(t),t},r.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(o.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},r.isRendered=function(){return!!document.getElementById("nprogress")},r.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=(n=[],function(e){n.push(e),1==n.length&&!function e(){var t=n.shift();t&&t(e)}()}),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n,r,o){r=function(n){return t[n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}(n))}(r),n.style[r]=o}return function(e,t){var r,o,a=arguments;if(2==a.length)for(r in t)void 0!==(o=t[r])&&t.hasOwnProperty(r)&&n(e,r,o);else n(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;!u(n,t)&&(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return r},"function"==typeof define&&define.amd?define(n):e.exports=n()},7874:function(){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i<o.length;i++)a[o[i]]=e.languages.bash[o[i]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},728:function(){var e,t;(e=Prism).languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]},Object.keys(t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"}).forEach(function(n){var r=t[n],o=[];!/^\w+$/.test(n)&&o.push(/\w+/.exec(n)[0]),"diff"===n&&o.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})},4277:function(){Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},6854:function(){!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&!!n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s<l.length&&!(o>=a.length);s++){;var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),g=f.indexOf(p);if(g>-1){++o;var m=f.substring(0,g),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(g+p.length),y=[];m&&y.push.apply(y,i([m])),y.push(h),b&&y.push.apply(y,i([b])),"string"==typeof u?l.splice.apply(l,[s,1].concat(y)):u.content=y}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},366:function(){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},9385:function(){var e,t,n,r;(e=Prism).languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}},delete e.languages.ruby.function,n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source,e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby},9099:function(e,t,n){var r={"./prism-bash":"7874","./prism-diff":"728","./prism-json":"4277","./prism-python":"366","./prism-ruby":"9385"};function o(e){return n(a(e))}function a(e){if(!n.o(r,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id="9099"},2703:function(e,t,n){"use strict";var r=n(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5697:function(e,t,n){e.exports=n(2703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:function(e,t,n){"use strict";var r,o,a,i,l,s,u=n(7294),c=n(3840);function d(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var f=new Set,p={};function g(e,t){m(e,t),m(e+"Capture",t)}function m(e,t){for(p[e]=t,e=0;e<t.length;e++)f.add(t[e])}var h=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),b=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},w={};function x(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var k={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){k[e]=new x(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];k[t]=new x(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){k[e]=new x(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){k[e]=new x(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){k[e]=new x(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){k[e]=new x(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){k[e]=new x(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){k[e]=new x(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){k[e]=new x(e,5,!1,e.toLowerCase(),null,!1,!1)});var S=/[\-:]([a-z])/g;function E(e){return e[1].toUpperCase()}function _(e,t,n,r){var o,a=k.hasOwnProperty(t)?k[t]:null;if(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1]){;(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":if(r)return!1;if(null!==n)return!n.acceptsBooleans;return"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e;default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1})(t,n,a,r)&&(n=null),r||null===a?(o=t,(!!b.call(w,o)||!b.call(v,o)&&(y.test(o)?w[o]=!0:(v[o]=!0,!1)))&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n))):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n)))}}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(S,E);k[t]=new x(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(S,E);k[t]=new x(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(S,E);k[t]=new x(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){k[e]=new x(e,1,!1,e.toLowerCase(),null,!1,!1)}),k.xlinkHref=new x("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){k[e]=new x(e,1,!1,e.toLowerCase(),null,!0,!0)});var C=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,T=Symbol.for("react.element"),N=Symbol.for("react.portal"),O=Symbol.for("react.fragment"),A=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),P=Symbol.for("react.provider"),L=Symbol.for("react.context"),R=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),F=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),M=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var z=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var $=Symbol.iterator;function B(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=$&&e[$]||e["@@iterator"])?e:null}var U,H=Object.assign;function Z(e){if(void 0===U)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);U=t&&t[1]||""}return"\n"+U+e}var W=!1;function V(e,t){if(!e||W)return"";W=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t){if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&"string"==typeof t.stack){for(var o=t.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,l=a.length-1;1<=i&&0<=l&&o[i]!==a[l];)l--;for(;1<=i&&0<=l;i--,l--)if(o[i]!==a[l]){if(1!==i||1!==l)do if(i--,0>--l||o[i]!==a[l]){var s="\n"+o[i].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=i&&0<=l);break}}}finally{W=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Z(e):""}function G(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=q(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=q(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function X(e,t){var n=t.checked;return H({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function J(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=G(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function ee(e,t){null!=(t=t.checked)&&_(e,"checked",t,!1)}function et(e,t){ee(e,t);var n=G(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r){e.removeAttribute("value");return}t.hasOwnProperty("value")?er(e,t.type,n):t.hasOwnProperty("defaultValue")&&er(e,t.type,G(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function en(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function er(e,t,n){("number"!==t||Q(e.ownerDocument)!==e)&&(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var eo=Array.isArray;function ea(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(o=0,n=""+G(n),t=null;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function ei(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(d(91));return H({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function el(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(d(92));if(eo(n)){if(1<n.length)throw Error(d(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:G(n)}}function es(e,t){var n=G(t.value),r=G(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function eu(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ec(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ed(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ec(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ef,ep,eg=(ef=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ep=ep||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ep.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return ef(e,t,n,r)})}:ef);function em(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType){n.nodeValue=t;return}}e.textContent=t}var eh={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},eb=["Webkit","ms","Moz","O"];function ey(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||eh.hasOwnProperty(e)&&eh[e]?(""+t).trim():t+"px"}function ev(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=ey(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(eh).forEach(function(e){eb.forEach(function(t){eh[t=t+e.charAt(0).toUpperCase()+e.substring(1)]=eh[e]})});var ew=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ex(e,t){if(t){if(ew[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(d(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(d(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(d(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(d(62))}}function ek(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var eS=null;function eE(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var e_=null,eC=null,eT=null;function eN(e){if(e=rF(e)){if("function"!=typeof e_)throw Error(d(280));var t=e.stateNode;t&&(t=rM(t),e_(e.stateNode,e.type,t))}}function eO(e){eC?eT?eT.push(e):eT=[e]:eC=e}function eA(){if(eC){var e=eC,t=eT;if(eT=eC=null,eN(e),t)for(e=0;e<t.length;e++)eN(t[e])}}function ej(e,t){return e(t)}function eP(){}var eL=!1;function eR(e,t,n){if(eL)return e(t,n);eL=!0;try{return ej(e,t,n)}finally{eL=!1,(null!==eC||null!==eT)&&(eP(),eA())}}function eI(e,t){var n=e.stateNode;if(null===n)return null;var r=rM(n);if(null===r)return null;switch(n=r[t],t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(d(231,t,typeof n));return n}var eF=!1;if(h)try{var eD={};Object.defineProperty(eD,"passive",{get:function(){eF=!0}}),window.addEventListener("test",eD,eD),window.removeEventListener("test",eD,eD)}catch(e){eF=!1}function eM(e,t,n,r,o,a,i,l,s){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(e){this.onError(e)}}var ez=!1,e$=null,eB=!1,eU=null,eH={onError:function(e){ez=!0,e$=e}};function eZ(e,t,n,r,o,a,i,l,s){ez=!1,e$=null,eM.apply(eH,arguments)}function eW(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do 0!=(4098&(t=e).flags)&&(n=t.return),e=t.return;while(e)}return 3===t.tag?n:null}function eV(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function eG(e){if(eW(e)!==e)throw Error(d(188))}function eq(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=eW(e)))throw Error(d(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(r=o.return)){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return eG(o),e;if(a===r)return eG(o),t;a=a.sibling}throw Error(d(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(d(189))}}if(n.alternate!==r)throw Error(d(190))}if(3!==n.tag)throw Error(d(188));return n.stateNode.current===n?e:t}(e))?function e(t){if(5===t.tag||6===t.tag)return t;for(t=t.child;null!==t;){var n=e(t);if(null!==n)return n;t=t.sibling}return null}(e):null}var eY=c.unstable_scheduleCallback,eK=c.unstable_cancelCallback,eQ=c.unstable_shouldYield,eX=c.unstable_requestPaint,eJ=c.unstable_now,e0=c.unstable_getCurrentPriorityLevel,e1=c.unstable_ImmediatePriority,e2=c.unstable_UserBlockingPriority,e3=c.unstable_NormalPriority,e5=c.unstable_LowPriority,e4=c.unstable_IdlePriority,e9=null,e6=null,e8=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(e7(e)/te|0)|0},e7=Math.log,te=Math.LN2,tt=64,tn=4194304;function tr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:case 0x4000000:return 0x7c00000&e;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0x40000000;default:return e}}function to(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=0xfffffff&n;if(0!==i){var l=i&~o;0!==l?r=tr(l):0!=(a&=i)&&(r=tr(a))}else 0!=(i=n&~o)?r=tr(i):0!==a&&(r=tr(a));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-e8(t)),r|=e[n],t&=~o;return r}function ta(e){return 0!=(e=-0x40000001&e.pendingLanes)?e:0x40000000&e?0x40000000:0}function ti(){var e=tt;return 0==(4194240&(tt<<=1))&&(tt=64),e}function tl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ts(e,t,n){e.pendingLanes|=t,0x20000000!==t&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,e[t=31-e8(t)]=n}function tu(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-e8(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var tc=0;function td(e){return 1<(e&=-e)?4<e?0!=(0xfffffff&e)?16:0x20000000:4:1}var tf,tp,tg,tm,th,tb=!1,ty=[],tv=null,tw=null,tx=null,tk=new Map,tS=new Map,tE=[],t_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function tC(e,t){switch(e){case"focusin":case"focusout":tv=null;break;case"dragenter":case"dragleave":tw=null;break;case"mouseover":case"mouseout":tx=null;break;case"pointerover":case"pointerout":tk.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":tS.delete(t.pointerId)}}function tT(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&null!==(t=rF(t))&&tp(t),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function tN(e){var t=rI(e.target);if(null!==t){var n=eW(t);if(null!==n){if(13===(t=n.tag)){if(null!==(t=eV(n))){e.blockedOn=t,th(e.priority,function(){tg(n)});return}}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=3===n.tag?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function tO(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=t$(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=rF(n))&&tp(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);eS=r,n.target.dispatchEvent(r),eS=null;t.shift()}return!0}function tA(e,t,n){tO(e)&&n.delete(t)}function tj(){tb=!1,null!==tv&&tO(tv)&&(tv=null),null!==tw&&tO(tw)&&(tw=null),null!==tx&&tO(tx)&&(tx=null),tk.forEach(tA),tS.forEach(tA)}function tP(e,t){e.blockedOn===t&&(e.blockedOn=null,tb||(tb=!0,c.unstable_scheduleCallback(c.unstable_NormalPriority,tj)))}function tL(e){function t(t){return tP(t,e)}if(0<ty.length){tP(ty[0],e);for(var n=1;n<ty.length;n++){var r=ty[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==tv&&tP(tv,e),null!==tw&&tP(tw,e),null!==tx&&tP(tx,e),tk.forEach(t),tS.forEach(t),n=0;n<tE.length;n++)(r=tE[n]).blockedOn===e&&(r.blockedOn=null);for(;0<tE.length&&null===(n=tE[0]).blockedOn;)tN(n),null===n.blockedOn&&tE.shift()}var tR=C.ReactCurrentBatchConfig,tI=!0;function tF(e,t,n,r){var o=tc,a=tR.transition;tR.transition=null;try{tc=1,tM(e,t,n,r)}finally{tc=o,tR.transition=a}}function tD(e,t,n,r){var o=tc,a=tR.transition;tR.transition=null;try{tc=4,tM(e,t,n,r)}finally{tc=o,tR.transition=a}}function tM(e,t,n,r){if(tI){var o=t$(e,t,n,r);if(null===o)rl(e,t,r,tz,n),tC(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return tv=tT(tv,e,t,n,r,o),!0;case"dragenter":return tw=tT(tw,e,t,n,r,o),!0;case"mouseover":return tx=tT(tx,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return tk.set(a,tT(tk.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,tS.set(a,tT(tS.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(tC(e,r),4&t&&-1<t_.indexOf(e)){for(;null!==o;){var a=rF(o);if(null!==a&&tf(a),null===(a=t$(e,t,n,r))&&rl(e,t,r,tz,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else rl(e,t,r,null,n)}}var tz=null;function t$(e,t,n,r){if(tz=null,null!==(e=rI(e=eE(r)))){if(null===(t=eW(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=eV(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}return tz=e,null}function tB(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(e0()){case e1:return 1;case e2:return 4;case e3:case e5:return 16;case e4:return 0x20000000;default:return 16}default:return 16}}var tU=null,tH=null,tZ=null;function tW(){if(tZ)return tZ;var e,t,n=tH,r=n.length,o="value"in tU?tU.value:tU.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return tZ=o.slice(e,1<t?1-t:void 0)}function tV(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function tG(){return!0}function tq(){return!1}function tY(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?tG:tq,this.isPropagationStopped=tq,this}return H(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=tG)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=tG)},persist:function(){},isPersistent:tG}),t}var tK,tQ,tX,tJ={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},t0=tY(tJ),t1=H({},tJ,{view:0,detail:0}),t2=tY(t1),t3=H({},t1,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:no,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==tX&&(tX&&"mousemove"===e.type?(tK=e.screenX-tX.screenX,tQ=e.screenY-tX.screenY):tQ=tK=0,tX=e),tK)},movementY:function(e){return"movementY"in e?e.movementY:tQ}}),t5=tY(t3),t4=tY(H({},t3,{dataTransfer:0})),t9=tY(H({},t1,{relatedTarget:0})),t6=tY(H({},tJ,{animationName:0,elapsedTime:0,pseudoElement:0})),t8=tY(H({},tJ,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),t7=tY(H({},tJ,{data:0})),ne={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},nt={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},nn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=nn[e])&&!!t[e]}function no(){return nr}var na=tY(H({},t1,{key:function(e){if(e.key){var t=ne[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tV(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?nt[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:no,charCode:function(e){return"keypress"===e.type?tV(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tV(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),ni=tY(H({},t3,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),nl=tY(H({},t1,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:no})),ns=tY(H({},tJ,{propertyName:0,elapsedTime:0,pseudoElement:0})),nu=tY(H({},t3,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),nc=[9,13,27,32],nd=h&&"CompositionEvent"in window,nf=null;h&&"documentMode"in document&&(nf=document.documentMode);var np=h&&"TextEvent"in window&&!nf,ng=h&&(!nd||nf&&8<nf&&11>=nf),nm=!1;function nh(e,t){switch(e){case"keyup":return -1!==nc.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nb(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ny=!1,nv={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!nv[e.type]:"textarea"===t}function nx(e,t,n,r){eO(r),0<(t=ru(t,"onChange")).length&&(n=new t0("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var nk=null,nS=null;function nE(e){rt(e,0)}function n_(e){if(K(rD(e)))return e}function nC(e,t){if("change"===e)return t}var nT=!1;if(h){if(h){var nN="oninput"in document;if(!nN){var nO=document.createElement("div");nO.setAttribute("oninput","return;"),nN="function"==typeof nO.oninput}r=nN}else r=!1;nT=r&&(!document.documentMode||9<document.documentMode)}function nA(){nk&&(nk.detachEvent("onpropertychange",nj),nS=nk=null)}function nj(e){if("value"===e.propertyName&&n_(nS)){var t=[];nx(t,nS,e,eE(e)),eR(nE,t)}}function nP(e,t,n){"focusin"===e?(nA(),nk=t,nS=n,nk.attachEvent("onpropertychange",nj)):"focusout"===e&&nA()}function nL(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return n_(nS)}function nR(e,t){if("click"===e)return n_(t)}function nI(e,t){if("input"===e||"change"===e)return n_(t)}var nF="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function nD(e,t){if(nF(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!b.call(t,o)||!nF(e[o],t[o]))return!1}return!0}function nM(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function nz(e,t){var n,r=nM(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nM(r)}}function n$(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=Q(e.document)}return t}function nB(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nU=h&&"documentMode"in document&&11>=document.documentMode,nH=null,nZ=null,nW=null,nV=!1;function nG(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;nV||null==nH||nH!==Q(r)||(r="selectionStart"in(r=nH)&&nB(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},nW&&nD(nW,r)||(nW=r,0<(r=ru(nZ,"onSelect")).length&&(t=new t0("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nH)))}function nq(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var nY={animationend:nq("Animation","AnimationEnd"),animationiteration:nq("Animation","AnimationIteration"),animationstart:nq("Animation","AnimationStart"),transitionend:nq("Transition","TransitionEnd")},nK={},nQ={};function nX(e){if(nK[e])return nK[e];if(!nY[e])return e;var t,n=nY[e];for(t in n)if(n.hasOwnProperty(t)&&t in nQ)return nK[e]=n[t];return e}h&&(nQ=document.createElement("div").style,"AnimationEvent"in window||(delete nY.animationend.animation,delete nY.animationiteration.animation,delete nY.animationstart.animation),"TransitionEvent"in window||delete nY.transitionend.transition);var nJ=nX("animationend"),n0=nX("animationiteration"),n1=nX("animationstart"),n2=nX("transitionend"),n3=new Map,n5="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function n4(e,t){n3.set(e,t),g(t,[e])}for(var n9=0;n9<n5.length;n9++){var n6=n5[n9];n4(n6.toLowerCase(),"on"+(n6[0].toUpperCase()+n6.slice(1)))}n4(nJ,"onAnimationEnd"),n4(n0,"onAnimationIteration"),n4(n1,"onAnimationStart"),n4("dblclick","onDoubleClick"),n4("focusin","onFocus"),n4("focusout","onBlur"),n4(n2,"onTransitionEnd"),m("onMouseEnter",["mouseout","mouseover"]),m("onMouseLeave",["mouseout","mouseover"]),m("onPointerEnter",["pointerout","pointerover"]),m("onPointerLeave",["pointerout","pointerover"]),g("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),g("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),g("onBeforeInput",["compositionend","keypress","textInput","paste"]),g("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),g("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),g("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var n8="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),n7=new Set("cancel close invalid load scroll toggle".split(" ").concat(n8));function re(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,!function(e,t,n,r,o,a,i,l,s){if(eZ.apply(this,arguments),ez){if(ez){var u=e$;ez=!1,e$=null}else throw Error(d(198));eB||(eB=!0,eU=u)}}(r,t,void 0,e),e.currentTarget=null}function rt(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,u=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;re(o,l,u),a=s}else for(i=0;i<r.length;i++){if(s=(l=r[i]).instance,u=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;re(o,l,u),a=s}}}if(eB)throw e=eU,eB=!1,eU=null,e}function rn(e,t){var n=t[rP];void 0===n&&(n=t[rP]=new Set);var r=e+"__bubble";n.has(r)||(ri(t,e,2,!1),n.add(r))}function rr(e,t,n){var r=0;t&&(r|=4),ri(n,e,r,t)}var ro="_reactListening"+Math.random().toString(36).slice(2);function ra(e){if(!e[ro]){e[ro]=!0,f.forEach(function(t){"selectionchange"!==t&&(n7.has(t)||rr(t,!1,e),rr(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[ro]||(t[ro]=!0,rr("selectionchange",!1,t))}}function ri(e,t,n,r){switch(tB(t)){case 1:var o=tF;break;case 4:o=tD;break;default:o=tM}n=o.bind(null,t,n,e),o=void 0,eF&&("touchstart"===t||"touchmove"===t||"wheel"===t)&&(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function rl(e,t,n,r,o){var a=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===o||8===l.nodeType&&l.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&((s=i.stateNode.containerInfo)===o||8===s.nodeType&&s.parentNode===o))return;i=i.return}for(;null!==l;){if(null===(i=rI(l)))return;if(5===(s=i.tag)||6===s){r=a=i;continue e}l=l.parentNode}}r=r.return}eR(function(){var r=a,o=eE(n),i=[];e:{var l=n3.get(e);if(void 0!==l){var s=t0,u=e;switch(e){case"keypress":if(0===tV(n))break e;case"keydown":case"keyup":s=na;break;case"focusin":u="focus",s=t9;break;case"focusout":u="blur",s=t9;break;case"beforeblur":case"afterblur":s=t9;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=t5;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=t4;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=nl;break;case nJ:case n0:case n1:s=t6;break;case n2:s=ns;break;case"scroll":s=t2;break;case"wheel":s=nu;break;case"copy":case"cut":case"paste":s=t8;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=ni}var c=0!=(4&t),d=!c&&"scroll"===e,f=c?null!==l?l+"Capture":null:l;c=[];for(var p,g=r;null!==g;){var m=(p=g).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==f&&null!=(m=eI(g,f))&&c.push(rs(g,m,p))),d)break;g=g.return}0<c.length&&(l=new s(l,u,null,n,o),i.push({event:l,listeners:c}))}}if(0==(7&t)){e:if(l="mouseover"===e||"pointerover"===e,s="mouseout"===e||"pointerout"===e,!(l&&n!==eS&&(u=n.relatedTarget||n.fromElement)&&(rI(u)||u[rj]))){if((s||l)&&(l=o.window===o?o:(l=o.ownerDocument)?l.defaultView||l.parentWindow:window,s?(u=n.relatedTarget||n.toElement,s=r,null!==(u=u?rI(u):null)&&(d=eW(u),u!==d||5!==u.tag&&6!==u.tag)&&(u=null)):(s=null,u=r),s!==u)){if(c=t5,m="onMouseLeave",f="onMouseEnter",g="mouse",("pointerout"===e||"pointerover"===e)&&(c=ni,m="onPointerLeave",f="onPointerEnter",g="pointer"),d=null==s?l:rD(s),p=null==u?l:rD(u),(l=new c(m,g+"leave",s,n,o)).target=d,l.relatedTarget=p,m=null,rI(o)===r&&((c=new c(f,g+"enter",u,n,o)).target=p,c.relatedTarget=d,m=c),d=m,s&&u)t:{for(c=s,f=u,g=0,p=c;p;p=rc(p))g++;for(p=0,m=f;m;m=rc(m))p++;for(;0<g-p;)c=rc(c),g--;for(;0<p-g;)f=rc(f),p--;for(;g--;){if(c===f||null!==f&&c===f.alternate)break t;c=rc(c),f=rc(f)}c=null}else c=null;null!==s&&rd(i,l,s,c,!1),null!==u&&null!==d&&rd(i,d,u,c,!0)}}e:{if("select"===(s=(l=r?rD(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var h,b=nC;else if(nw(l)){if(nT)b=nI;else{b=nL;var y=nP}}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(b=nR);if(b&&(b=b(e,r))){nx(i,b,n,o);break e}y&&y(e,l,r),"focusout"===e&&(y=l._wrapperState)&&y.controlled&&"number"===l.type&&er(l,"number",l.value)}switch(y=r?rD(r):window,e){case"focusin":(nw(y)||"true"===y.contentEditable)&&(nH=y,nZ=r,nW=null);break;case"focusout":nW=nZ=nH=null;break;case"mousedown":nV=!0;break;case"contextmenu":case"mouseup":case"dragend":nV=!1,nG(i,n,o);break;case"selectionchange":if(nU)break;case"keydown":case"keyup":nG(i,n,o)}if(nd)t:{switch(e){case"compositionstart":var v="onCompositionStart";break t;case"compositionend":v="onCompositionEnd";break t;case"compositionupdate":v="onCompositionUpdate";break t}v=void 0}else ny?nh(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(ng&&"ko"!==n.locale&&(ny||"onCompositionStart"!==v?"onCompositionEnd"===v&&ny&&(h=tW()):(tH="value"in(tU=o)?tU.value:tU.textContent,ny=!0)),0<(y=ru(r,v)).length&&(v=new t7(v,e,null,n,o),i.push({event:v,listeners:y}),h?v.data=h:null!==(h=nb(n))&&(v.data=h))),(h=np?function(e,t){switch(e){case"compositionend":return nb(t);case"keypress":if(32!==t.which)return null;return nm=!0," ";case"textInput":return" "===(e=t.data)&&nm?null:e;default:return null}}(e,n):function(e,t){if(ny)return"compositionend"===e||!nd&&nh(e,t)?(e=tW(),tZ=tH=tU=null,ny=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ng&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(r=ru(r,"onBeforeInput")).length&&(o=new t7("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=h)}rt(i,t)})}function rs(e,t,n){return{instance:e,listener:t,currentTarget:n}}function ru(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=eI(e,n))&&r.unshift(rs(e,a,o)),null!=(a=eI(e,t))&&r.push(rs(e,a,o))),e=e.return}return r}function rc(e){if(null===e)return null;do e=e.return;while(e&&5!==e.tag);return e||null}function rd(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,u=l.stateNode;if(null!==s&&s===r)break;5===l.tag&&null!==u&&(l=u,o?null!=(s=eI(n,a))&&i.unshift(rs(n,s,l)):o||null!=(s=eI(n,a))&&i.push(rs(n,s,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var rf=/\r\n?/g,rp=/\u0000|\uFFFD/g;function rg(e){return("string"==typeof e?e:""+e).replace(rf,"\n").replace(rp,"")}function rm(e,t,n){if(t=rg(t),rg(e)!==t&&n)throw Error(d(425))}function rh(){}var rb=null,ry=null;function rv(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var rw="function"==typeof setTimeout?setTimeout:void 0,rx="function"==typeof clearTimeout?clearTimeout:void 0,rk="function"==typeof Promise?Promise:void 0,rS="function"==typeof queueMicrotask?queueMicrotask:void 0!==rk?function(e){return rk.resolve(null).then(e).catch(rE)}:rw;function rE(e){setTimeout(function(){throw e})}function r_(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType){if("/$"===(n=o.data)){if(0===r){e.removeChild(o),tL(t);return}r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++}n=o}while(n);tL(t)}function rC(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function rT(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var rN=Math.random().toString(36).slice(2),rO="__reactFiber$"+rN,rA="__reactProps$"+rN,rj="__reactContainer$"+rN,rP="__reactEvents$"+rN,rL="__reactListeners$"+rN,rR="__reactHandles$"+rN;function rI(e){var t=e[rO];if(t)return t;for(var n=e.parentNode;n;){if(t=n[rj]||n[rO]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=rT(e);null!==e;){if(n=e[rO])return n;e=rT(e)}return t}n=(e=n).parentNode}return null}function rF(e){return(e=e[rO]||e[rj])&&(5===e.tag||6===e.tag||13===e.tag||3===e.tag)?e:null}function rD(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(d(33))}function rM(e){return e[rA]||null}var rz=[],r$=-1;function rB(e){return{current:e}}function rU(e){0>r$||(e.current=rz[r$],rz[r$]=null,r$--)}function rH(e,t){rz[++r$]=e.current,e.current=t}var rZ={},rW=rB(rZ),rV=rB(!1),rG=rZ;function rq(e,t){var n=e.type.contextTypes;if(!n)return rZ;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function rY(e){return null!=(e=e.childContextTypes)}function rK(){rU(rV),rU(rW)}function rQ(e,t,n){if(rW.current!==rZ)throw Error(d(168));rH(rW,t),rH(rV,n)}function rX(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(d(108,function(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return function e(t){if(null==t)return null;if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case O:return"Fragment";case N:return"Portal";case j:return"Profiler";case A:return"StrictMode";case I:return"Suspense";case F:return"SuspenseList"}if("object"==typeof t)switch(t.$$typeof){case L:return(t.displayName||"Context")+".Consumer";case P:return(t._context.displayName||"Context")+".Provider";case R:var n=t.render;return(t=t.displayName)||(t=""!==(t=n.displayName||n.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case D:return null!==(n=t.displayName||null)?n:e(t.type)||"Memo";case M:n=t._payload,t=t._init;try{return e(t(n))}catch(e){}}return null}(t);case 8:return t===A?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}(e)||"Unknown",o));return H({},n,r)}function rJ(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rZ,rG=rW.current,rH(rW,e),rH(rV,rV.current),!0}function r0(e,t,n){var r=e.stateNode;if(!r)throw Error(d(169));n?(e=rX(e,t,rG),r.__reactInternalMemoizedMergedChildContext=e,rU(rV),rU(rW),rH(rW,e)):rU(rV),rH(rV,n)}var r1=null,r2=!1,r3=!1;function r5(e){null===r1?r1=[e]:r1.push(e)}function r4(){if(!r3&&null!==r1){r3=!0;var e=0,t=tc;try{var n=r1;for(tc=1;e<n.length;e++){var r=n[e];do r=r(!0);while(null!==r)}r1=null,r2=!1}catch(t){throw null!==r1&&(r1=r1.slice(e+1)),eY(e1,r4),t}finally{tc=t,r3=!1}}return null}var r9=[],r6=0,r8=null,r7=0,oe=[],ot=0,on=null,or=1,oo="";function oa(e,t){r9[r6++]=r7,r9[r6++]=r8,r8=e,r7=t}function oi(e,t,n){oe[ot++]=or,oe[ot++]=oo,oe[ot++]=on,on=e;var r=or;e=oo;var o=32-e8(r)-1;r&=~(1<<o),n+=1;var a=32-e8(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,or=1<<32-e8(t)+o|n<<o|r,oo=a+e}else or=1<<a|n<<o|r,oo=e}function ol(e){null!==e.return&&(oa(e,1),oi(e,1,0))}function os(e){for(;e===r8;)r8=r9[--r6],r9[r6]=null,r7=r9[--r6],r9[r6]=null;for(;e===on;)on=oe[--ot],oe[ot]=null,oo=oe[--ot],oe[ot]=null,or=oe[--ot],oe[ot]=null}var ou=null,oc=null,od=!1,of=null;function op(e,t){var n=lY(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function og(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ou=e,oc=rC(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ou=e,oc=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==on?{id:or,overflow:oo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:0x40000000},(n=lY(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ou=e,oc=null,!0);default:return!1}}function om(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function oh(e){if(od){var t=oc;if(t){var n=t;if(!og(e,t)){if(om(e))throw Error(d(418));t=rC(n.nextSibling);var r=ou;t&&og(e,t)?op(r,n):(e.flags=-4097&e.flags|2,od=!1,ou=e)}}else{if(om(e))throw Error(d(418));e.flags=-4097&e.flags|2,od=!1,ou=e}}}function ob(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ou=e}function oy(e){if(e!==ou)return!1;if(!od)return ob(e),od=!0,!1;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!rv(e.type,e.memoizedProps)),t&&(t=oc)){if(om(e))throw ov(),Error(d(418));for(;t;)op(e,t),t=rC(t.nextSibling)}if(ob(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(d(317));e:{for(t=0,e=e.nextSibling;e;){if(8===e.nodeType){var t,n=e.data;if("/$"===n){if(0===t){oc=rC(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oc=null}}else oc=ou?rC(e.stateNode.nextSibling):null;return!0}function ov(){for(var e=oc;e;)e=rC(e.nextSibling)}function ow(){oc=ou=null,od=!1}function ox(e){null===of?of=[e]:of.push(e)}var ok=C.ReactCurrentBatchConfig;function oS(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(d(309));var r=n.stateNode}if(!r)throw Error(d(147,e));var o=r,a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:((t=function(e){var t=o.refs;null===e?delete t[a]:t[a]=e})._stringRef=a,t)}if("string"!=typeof e)throw Error(d(284));if(!n._owner)throw Error(d(290,e))}return e}function oE(e,t){throw Error(d(31,"[object Object]"===(e=Object.prototype.toString.call(t))?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function o_(e){return(0,e._init)(e._payload)}function oC(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=lQ(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return(t.index=r,e)?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function i(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=l1(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function s(e,t,n,r){var a=n.type;return a===O?c(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===M&&o_(a)===t.type)?((r=o(t,n.props)).ref=oS(e,t,n),r.return=e,r):((r=lX(n.type,n.key,n.props,null,e.mode,r)).ref=oS(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=l2(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function c(e,t,n,r,a){return null===t||7!==t.tag?((t=lJ(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=l1(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case T:return(n=lX(t.type,t.key,t.props,null,e.mode,n)).ref=oS(e,null,t),n.return=e,n;case N:return(t=l2(t,e.mode,n)).return=e,t;case M:return f(e,(0,t._init)(t._payload),n)}if(eo(t)||B(t))return(t=lJ(t,e.mode,n,null)).return=e,t;oE(e,t)}return null}function p(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case T:return n.key===o?s(e,t,n,r):null;case N:return n.key===o?u(e,t,n,r):null;case M:return p(e,t,(o=n._init)(n._payload),r)}if(eo(n)||B(n))return null!==o?null:c(e,t,n,r,null);oE(e,n)}return null}function g(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case T:return s(t,e=e.get(null===r.key?n:r.key)||null,r,o);case N:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case M:return g(e,t,n,(0,r._init)(r._payload),o)}if(eo(r)||B(r))return c(t,e=e.get(n)||null,r,o,null);oE(t,r)}return null}return function l(s,u,c,m){if("object"==typeof c&&null!==c&&c.type===O&&null===c.key&&(c=c.props.children),"object"==typeof c&&null!==c){switch(c.$$typeof){case T:e:{for(var h=c.key,b=u;null!==b;){if(b.key===h){if((h=c.type)===O){if(7===b.tag){n(s,b.sibling),(u=o(b,c.props.children)).return=s,s=u;break e}}else if(b.elementType===h||"object"==typeof h&&null!==h&&h.$$typeof===M&&o_(h)===b.type){n(s,b.sibling),(u=o(b,c.props)).ref=oS(s,b,c),u.return=s,s=u;break e}n(s,b);break}t(s,b);b=b.sibling}c.type===O?((u=lJ(c.props.children,s.mode,m,c.key)).return=s,s=u):((m=lX(c.type,c.key,c.props,null,s.mode,m)).ref=oS(s,u,c),m.return=s,s=m)}return i(s);case N:e:{for(b=c.key;null!==u;){if(u.key===b){if(4===u.tag&&u.stateNode.containerInfo===c.containerInfo&&u.stateNode.implementation===c.implementation){n(s,u.sibling),(u=o(u,c.children||[])).return=s,s=u;break e}else{n(s,u);break}}t(s,u);u=u.sibling}(u=l2(c,s.mode,m)).return=s,s=u}return i(s);case M:return l(s,u,(b=c._init)(c._payload),m)}if(eo(c))return function(o,i,l,s){for(var u=null,c=null,d=i,m=i=0,h=null;null!==d&&m<l.length;m++){d.index>m?(h=d,d=null):h=d.sibling;var b=p(o,d,l[m],s);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(o,d),i=a(b,i,m),null===c?u=b:c.sibling=b,c=b,d=h}if(m===l.length)return n(o,d),od&&oa(o,m),u;if(null===d){for(;m<l.length;m++)null!==(d=f(o,l[m],s))&&(i=a(d,i,m),null===c?u=d:c.sibling=d,c=d);return od&&oa(o,m),u}for(d=r(o,d);m<l.length;m++)null!==(h=g(d,o,m,l[m],s))&&(e&&null!==h.alternate&&d.delete(null===h.key?m:h.key),i=a(h,i,m),null===c?u=h:c.sibling=h,c=h);return e&&d.forEach(function(e){return t(o,e)}),od&&oa(o,m),u}(s,u,c,m);if(B(c))return function(o,i,l,s){var u=B(l);if("function"!=typeof u)throw Error(d(150));if(null==(l=u.call(l)))throw Error(d(151));for(var c=u=null,m=i,h=i=0,b=null,y=l.next();null!==m&&!y.done;h++,y=l.next()){m.index>h?(b=m,m=null):b=m.sibling;var v=p(o,m,y.value,s);if(null===v){null===m&&(m=b);break}e&&m&&null===v.alternate&&t(o,m),i=a(v,i,h),null===c?u=v:c.sibling=v,c=v,m=b}if(y.done)return n(o,m),od&&oa(o,h),u;if(null===m){for(;!y.done;h++,y=l.next())null!==(y=f(o,y.value,s))&&(i=a(y,i,h),null===c?u=y:c.sibling=y,c=y);return od&&oa(o,h),u}for(m=r(o,m);!y.done;h++,y=l.next())null!==(y=g(m,o,h,y.value,s))&&(e&&null!==y.alternate&&m.delete(null===y.key?h:y.key),i=a(y,i,h),null===c?u=y:c.sibling=y,c=y);return e&&m.forEach(function(e){return t(o,e)}),od&&oa(o,h),u}(s,u,c,m);oE(s,c)}return"string"==typeof c&&""!==c||"number"==typeof c?(c=""+c,null!==u&&6===u.tag?(n(s,u.sibling),(u=o(u,c)).return=s):(n(s,u),(u=l1(c,s.mode,m)).return=s),i(s=u)):n(s,u)}}var oT=oC(!0),oN=oC(!1),oO=rB(null),oA=null,oj=null,oP=null;function oL(){oP=oj=oA=null}function oR(e){var t=oO.current;rU(oO),e._currentValue=t}function oI(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function oF(e,t){oA=e,oP=oj=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(ii=!0),e.firstContext=null)}function oD(e){var t=e._currentValue;if(oP!==e){if(e={context:e,memoizedValue:t,next:null},null===oj){if(null===oA)throw Error(d(308));oj=e,oA.dependencies={lanes:0,firstContext:e}}else oj=oj.next=e}return t}var oM=null;function oz(e){null===oM?oM=[e]:oM.push(e)}function o$(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,oz(t)):(n.next=o.next,o.next=n),t.interleaved=n,oB(e,r)}function oB(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var oU=!1;function oH(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function oZ(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function oW(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function oV(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&i5)){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,oB(e,n)}return null===(o=r.interleaved)?(t.next=t,oz(r)):(t.next=o.next,o.next=t),r.interleaved=t,oB(e,n)}function oG(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}function oq(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function oY(e,t,n,r){var o=e.updateQueue;oU=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?a=u:i.next=u,i=s;var c=e.alternate;null!==c&&(l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s)}if(null!==a){var d=o.baseState;for(i=0,c=u=s=null,l=a;;){var f=l.lane,p=l.eventTime;if((r&f)===f){null!==c&&(c=c.next={eventTime:p,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var g=e,m=l;switch(f=t,p=n,m.tag){case 1:if("function"==typeof(g=m.payload)){d=g.call(p,d,f);break e}d=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(f="function"==typeof(g=m.payload)?g.call(p,d,f):g))break e;d=H({},d,f);break e;case 2:oU=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(f=o.effects)?o.effects=[l]:f.push(l))}else p={eventTime:p,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=p,s=d):c=c.next=p,i|=f;if(null===(l=l.next)){if(null===(l=o.shared.pending))break;else l=(f=l).next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}if(null===c&&(s=d),o.baseState=s,o.firstBaseUpdate=u,o.lastBaseUpdate=c,null!==(t=o.shared.interleaved)){o=t;do i|=o.lane,o=o.next;while(o!==t)}else null===a&&(o.shared.lanes=0);ln|=i,e.lanes=i,e.memoizedState=d}}function oK(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(d(191,o));o.call(r)}}}var oQ={},oX=rB(oQ),oJ=rB(oQ),o0=rB(oQ);function o1(e){if(e===oQ)throw Error(d(174));return e}function o2(e,t){switch(rH(o0,t),rH(oJ,e),rH(oX,oQ),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ed(null,"");break;default:t=(e=8===e?t.parentNode:t).namespaceURI||null,t=ed(t,e=e.tagName)}rU(oX),rH(oX,t)}function o3(){rU(oX),rU(oJ),rU(o0)}function o5(e){o1(o0.current);var t=o1(oX.current),n=ed(t,e.type);t!==n&&(rH(oJ,e),rH(oX,n))}function o4(e){oJ.current===e&&(rU(oX),rU(oJ))}var o9=rB(0);function o6(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var o8=[];function o7(){for(var e=0;e<o8.length;e++)o8[e]._workInProgressVersionPrimary=null;o8.length=0}var ae=C.ReactCurrentDispatcher,at=C.ReactCurrentBatchConfig,an=0,ar=null,ao=null,aa=null,ai=!1,al=!1,as=0,au=0;function ac(){throw Error(d(321))}function ad(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!nF(e[n],t[n]))return!1;return!0}function af(e,t,n,r,o,a){if(an=a,ar=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ae.current=null===e||null===e.memoizedState?aY:aK,e=n(r,o),al){a=0;do{if(al=!1,as=0,25<=a)throw Error(d(301));a+=1,aa=ao=null,t.updateQueue=null,ae.current=aQ,e=n(r,o)}while(al)}if(ae.current=aq,t=null!==ao&&null!==ao.next,an=0,aa=ao=ar=null,ai=!1,t)throw Error(d(300));return e}function ap(){var e=0!==as;return as=0,e}function ag(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===aa?ar.memoizedState=aa=e:aa=aa.next=e,aa}function am(){if(null===ao){var e=ar.alternate;e=null!==e?e.memoizedState:null}else e=ao.next;var t=null===aa?ar.memoizedState:aa.next;if(null!==t)aa=t,ao=e;else{if(null===e)throw Error(d(310));e={memoizedState:(ao=e).memoizedState,baseState:ao.baseState,baseQueue:ao.baseQueue,queue:ao.queue,next:null},null===aa?ar.memoizedState=aa=e:aa=aa.next=e}return aa}function ah(e,t){return"function"==typeof t?t(e):t}function ab(e){var t=am(),n=t.queue;if(null===n)throw Error(d(311));n.lastRenderedReducer=e;var r=ao,o=r.baseQueue,a=n.pending;if(null!==a){if(null!==o){var i=o.next;o.next=a.next,a.next=i}r.baseQueue=o=a,n.pending=null}if(null!==o){a=o.next,r=r.baseState;var l=i=null,s=null,u=a;do{var c=u.lane;if((an&c)===c)null!==s&&(s=s.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var f={lane:c,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===s?(l=s=f,i=r):s=s.next=f,ar.lanes|=c,ln|=c}u=u.next}while(null!==u&&u!==a);null===s?i=r:s.next=l,nF(r,t.memoizedState)||(ii=!0),t.memoizedState=r,t.baseState=i,t.baseQueue=s,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do a=o.lane,ar.lanes|=a,ln|=a,o=o.next;while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ay(e){var t=am(),n=t.queue;if(null===n)throw Error(d(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(null!==o){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);nF(a,t.memoizedState)||(ii=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function av(){}function aw(e,t){var n=ar,r=am(),o=t(),a=!nF(r.memoizedState,o);if(a&&(r.memoizedState=o,ii=!0),r=r.queue,aP(aS.bind(null,n,r,e),[e]),r.getSnapshot!==t||a||null!==aa&&1&aa.memoizedState.tag){if(n.flags|=2048,aT(9,ak.bind(null,n,r,o,t),void 0,null),null===i4)throw Error(d(349));0!=(30&an)||ax(n,t,o)}return o}function ax(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=ar.updateQueue)?(t={lastEffect:null,stores:null},ar.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function ak(e,t,n,r){t.value=n,t.getSnapshot=r,aE(t)&&a_(e)}function aS(e,t,n){return n(function(){aE(t)&&a_(e)})}function aE(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!nF(e,n)}catch(e){return!0}}function a_(e){var t=oB(e,1);null!==t&&lk(t,e,1,-1)}function aC(e){var t=ag();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ah,lastRenderedState:e},t.queue=e,e=e.dispatch=aZ.bind(null,ar,e),[t.memoizedState,e]}function aT(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=ar.updateQueue)?(t={lastEffect:null,stores:null},ar.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function aN(){return am().memoizedState}function aO(e,t,n,r){var o=ag();ar.flags|=e,o.memoizedState=aT(1|t,n,void 0,void 0===r?null:r)}function aA(e,t,n,r){var o=am();r=void 0===r?null:r;var a=void 0;if(null!==ao){var i=ao.memoizedState;if(a=i.destroy,null!==r&&ad(r,i.deps)){o.memoizedState=aT(t,n,a,r);return}}ar.flags|=e,o.memoizedState=aT(1|t,n,a,r)}function aj(e,t){return aO(8390656,8,e,t)}function aP(e,t){return aA(2048,8,e,t)}function aL(e,t){return aA(4,2,e,t)}function aR(e,t){return aA(4,4,e,t)}function aI(e,t){return"function"==typeof t?(t(e=e()),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function aF(e,t,n){return n=null!=n?n.concat([e]):null,aA(4,4,aI.bind(null,t,e),n)}function aD(){}function aM(e,t){var n=am();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ad(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function az(e,t){var n=am();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ad(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function a$(e,t,n){return 0==(21&an)?(e.baseState&&(e.baseState=!1,ii=!0),e.memoizedState=n):(nF(n,t)||(n=ti(),ar.lanes|=n,ln|=n,e.baseState=!0),t)}function aB(e,t){var n=tc;tc=0!==n&&4>n?n:4,e(!0);var r=at.transition;at.transition={};try{e(!1),t()}finally{tc=n,at.transition=r}}function aU(){return am().memoizedState}function aH(e,t,n){var r=lx(e);n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},aW(e)?aV(t,n):null!==(n=o$(e,t,n,r))&&(lk(n,e,r,lw()),aG(n,t,r))}function aZ(e,t,n){var r=lx(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(aW(e))aV(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,nF(l,i)){var s=t.interleaved;null===s?(o.next=o,oz(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch(e){}finally{}null!==(n=o$(e,t,o,r))&&(lk(n,e,r,o=lw()),aG(n,t,r))}}function aW(e){var t=e.alternate;return e===ar||null!==t&&t===ar}function aV(e,t){al=ai=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function aG(e,t,n){if(0!=(4194240&n)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tu(e,n)}}var aq={readContext:oD,useCallback:ac,useContext:ac,useEffect:ac,useImperativeHandle:ac,useInsertionEffect:ac,useLayoutEffect:ac,useMemo:ac,useReducer:ac,useRef:ac,useState:ac,useDebugValue:ac,useDeferredValue:ac,useTransition:ac,useMutableSource:ac,useSyncExternalStore:ac,useId:ac,unstable_isNewReconciler:!1},aY={readContext:oD,useCallback:function(e,t){return ag().memoizedState=[e,void 0===t?null:t],e},useContext:oD,useEffect:aj,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,aO(4194308,4,aI.bind(null,t,e),n)},useLayoutEffect:function(e,t){return aO(4194308,4,e,t)},useInsertionEffect:function(e,t){return aO(4,2,e,t)},useMemo:function(e,t){var n=ag();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=ag();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=aH.bind(null,ar,e),[r.memoizedState,e]},useRef:function(e){var t=ag();return e={current:e},t.memoizedState=e},useState:aC,useDebugValue:aD,useDeferredValue:function(e){return ag().memoizedState=e},useTransition:function(){var e=aC(!1),t=e[0];return e=aB.bind(null,e[1]),ag().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ar,o=ag();if(od){if(void 0===n)throw Error(d(407));n=n()}else{if(n=t(),null===i4)throw Error(d(349));0!=(30&an)||ax(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,aj(aS.bind(null,r,a,e),[e]),r.flags|=2048,aT(9,ak.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=ag(),t=i4.identifierPrefix;if(od){var n=oo,r=or;t=":"+t+"R"+(n=(r&~(1<<32-e8(r)-1)).toString(32)+n),0<(n=as++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=au++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},aK={readContext:oD,useCallback:aM,useContext:oD,useEffect:aP,useImperativeHandle:aF,useInsertionEffect:aL,useLayoutEffect:aR,useMemo:az,useReducer:ab,useRef:aN,useState:function(){return ab(ah)},useDebugValue:aD,useDeferredValue:function(e){return a$(am(),ao.memoizedState,e)},useTransition:function(){return[ab(ah)[0],am().memoizedState]},useMutableSource:av,useSyncExternalStore:aw,useId:aU,unstable_isNewReconciler:!1},aQ={readContext:oD,useCallback:aM,useContext:oD,useEffect:aP,useImperativeHandle:aF,useInsertionEffect:aL,useLayoutEffect:aR,useMemo:az,useReducer:ay,useRef:aN,useState:function(){return ay(ah)},useDebugValue:aD,useDeferredValue:function(e){var t=am();return null===ao?t.memoizedState=e:a$(t,ao.memoizedState,e)},useTransition:function(){return[ay(ah)[0],am().memoizedState]},useMutableSource:av,useSyncExternalStore:aw,useId:aU,unstable_isNewReconciler:!1};function aX(e,t){if(e&&e.defaultProps)for(var n in t=H({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}function aJ(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:H({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var a0={isMounted:function(e){return!!(e=e._reactInternals)&&eW(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=lw(),o=lx(e),a=oW(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=oV(e,a,o))&&(lk(t,e,o,r),oG(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=lw(),o=lx(e),a=oW(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=oV(e,a,o))&&(lk(t,e,o,r),oG(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=lw(),r=lx(e),o=oW(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=oV(e,o,r))&&(lk(t,e,r,n),oG(t,e,r))}};function a1(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||!nD(n,r)||!nD(o,a)}function a2(e,t,n){var r=!1,o=rZ,a=t.contextType;return"object"==typeof a&&null!==a?a=oD(a):(o=rY(t)?rG:rW.current,a=(r=null!=(r=t.contextTypes))?rq(e,o):rZ),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=a0,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function a3(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&a0.enqueueReplaceState(t,t.state,null)}function a5(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},oH(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=oD(a):(a=rY(t)?rG:rW.current,o.context=rq(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(aJ(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&a0.enqueueReplaceState(o,o.state,null),oY(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function a4(e,t){try{var n="",r=t;do n+=function(e){switch(e.tag){case 5:return Z(e.type);case 16:return Z("Lazy");case 13:return Z("Suspense");case 19:return Z("SuspenseList");case 0:case 2:case 15:return e=V(e.type,!1);case 11:return e=V(e.type.render,!1);case 1:return e=V(e.type,!0);default:return""}}(r),r=r.return;while(r);var o=n}catch(e){o="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:o,digest:null}}function a9(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function a6(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var a8="function"==typeof WeakMap?WeakMap:Map;function a7(e,t,n){(n=oW(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){lc||(lc=!0,ld=r),a6(e,t)},n}function ie(e,t,n){(n=oW(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){a6(e,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){a6(e,t),"function"!=typeof r&&(null===lf?lf=new Set([this]):lf.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}function it(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new a8;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=lH.bind(null,e,t,n),t.then(e,e))}function ir(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function io(e,t,n,r,o){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=oW(-1,1)).tag=2,oV(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var ia=C.ReactCurrentOwner,ii=!1;function il(e,t,n,r){t.child=null===e?oN(t,null,n,r):oT(t,e.child,n,r)}function is(e,t,n,r,o){n=n.render;var a=t.ref;return(oF(t,o),r=af(e,t,n,r,a,o),n=ap(),null===e||ii)?(od&&n&&ol(t),t.flags|=1,il(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,iN(e,t,o))}function iu(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||lK(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=lX(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,ic(e,t,a,r,o))}if(a=e.child,0==(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:nD)(i,r)&&e.ref===t.ref)return iN(e,t,o)}return t.flags|=1,(e=lQ(a,r)).ref=t.ref,e.return=t,t.child=e}function ic(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(nD(a,r)&&e.ref===t.ref){if(ii=!1,t.pendingProps=r=a,0==(e.lanes&o))return t.lanes=e.lanes,iN(e,t,o);else 0!=(131072&e.flags)&&(ii=!0)}}return ig(e,t,n,r,o)}function id(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode){if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},rH(i7,i8),i8|=n;else{if(0==(0x40000000&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=0x40000000,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,rH(i7,i8),i8|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,rH(i7,i8),i8|=r}}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,rH(i7,i8),i8|=r;return il(e,t,o,n),t.child}function ip(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function ig(e,t,n,r,o){var a=rY(n)?rG:rW.current;return(a=rq(t,a),oF(t,o),n=af(e,t,n,r,a,o),r=ap(),null===e||ii)?(od&&r&&ol(t),t.flags|=1,il(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,iN(e,t,o))}function im(e,t,n,r,o){if(rY(n)){var a=!0;rJ(t)}else a=!1;if(oF(t,o),null===t.stateNode)iT(e,t),a2(t,n,r),a5(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var s=i.context,u=n.contextType;u="object"==typeof u&&null!==u?oD(u):rq(t,u=rY(n)?rG:rW.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==r||s!==u)&&a3(t,i,r,u),oU=!1;var f=t.memoizedState;i.state=f,oY(t,r,i,o),s=t.memoizedState,l!==r||f!==s||rV.current||oU?("function"==typeof c&&(aJ(t,n,c,r),s=t.memoizedState),(l=oU||a1(t,n,l,r,f,s,u))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=u,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,oZ(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:aX(t.type,l),i.props=u,d=t.pendingProps,f=i.context,s="object"==typeof(s=n.contextType)&&null!==s?oD(s):rq(t,s=rY(n)?rG:rW.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==d||f!==s)&&a3(t,i,r,s),oU=!1,f=t.memoizedState,i.state=f,oY(t,r,i,o);var g=t.memoizedState;l!==d||f!==g||rV.current||oU?("function"==typeof p&&(aJ(t,n,p,r),g=t.memoizedState),(u=oU||a1(t,n,u,r,f,g,s)||!1)?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,g,s),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,g,s)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),i.props=r,i.state=g,i.context=s,r=u):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return ih(e,t,n,r,a,o)}function ih(e,t,n,r,o,a){ip(e,t);var i=0!=(128&t.flags);if(!r&&!i)return o&&r0(t,n,!1),iN(e,t,a);r=t.stateNode,ia.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=oT(t,e.child,null,a),t.child=oT(t,null,l,a)):il(e,t,l,a),t.memoizedState=r.state,o&&r0(t,n,!0),t.child}function ib(e){var t=e.stateNode;t.pendingContext?rQ(e,t.pendingContext,t.pendingContext!==t.context):t.context&&rQ(e,t.context,!1),o2(e,t.containerInfo)}function iy(e,t,n,r,o){return ow(),ox(o),t.flags|=256,il(e,t,n,r),t.child}var iv={dehydrated:null,treeContext:null,retryLane:0};function iw(e){return{baseLanes:e,cachePool:null,transitions:null}}function ix(e,t,n){var r,o=t.pendingProps,a=o9.current,i=!1,l=0!=(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!=(2&a)),r?(i=!0,t.flags&=-129):(null===e||null!==e.memoizedState)&&(a|=1),rH(o9,1&a),null===e)return(oh(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated))?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=0x40000000,null):(l=o.children,e=o.fallback,i?(o=t.mode,i=t.child,l={mode:"hidden",children:l},0==(1&o)&&null!==i?(i.childLanes=0,i.pendingProps=l):i=l0(l,o,0,null),e=lJ(e,o,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=iw(n),t.memoizedState=iv,e):ik(t,l));if(null!==(a=e.memoizedState)&&null!==(r=a.dehydrated))return function(e,t,n,r,o,a,i){if(n)return 256&t.flags?(t.flags&=-257,iS(e,t,i,r=a9(Error(d(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(a=r.fallback,o=t.mode,r=l0({mode:"visible",children:r.children},o,0,null),a=lJ(a,o,i,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,0!=(1&t.mode)&&oT(t,e.child,null,i),t.child.memoizedState=iw(i),t.memoizedState=iv,a);if(0==(1&t.mode))return iS(e,t,i,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,iS(e,t,i,r=a9(a=Error(d(419)),r,void 0))}if(l=0!=(i&e.childLanes),ii||l){if(null!==(r=i4)){switch(i&-i){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 0x1000000:case 0x2000000:case 0x4000000:o=32;break;case 0x20000000:o=0x10000000;break;default:o=0}0!==(o=0!=(o&(r.suspendedLanes|i))?0:o)&&o!==a.retryLane&&(a.retryLane=o,oB(e,o),lk(r,e,o,-1))}return lI(),iS(e,t,i,r=a9(Error(d(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=lW.bind(null,e),o._reactRetry=t,null):(e=a.treeContext,oc=rC(o.nextSibling),ou=t,od=!0,of=null,null!==e&&(oe[ot++]=or,oe[ot++]=oo,oe[ot++]=on,or=e.id,oo=e.overflow,on=t),t=ik(t,r.children),t.flags|=4096,t)}(e,t,l,o,r,a,n);if(i){i=o.fallback,l=t.mode,r=(a=e.child).sibling;var s={mode:"hidden",children:o.children};return 0==(1&l)&&t.child!==a?((o=t.child).childLanes=0,o.pendingProps=s,t.deletions=null):(o=lQ(a,s)).subtreeFlags=0xe00000&a.subtreeFlags,null!==r?i=lQ(r,i):(i=lJ(i,l,n,null),i.flags|=2),i.return=t,o.return=t,o.sibling=i,t.child=o,o=i,i=t.child,l=null===(l=e.child.memoizedState)?iw(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},i.memoizedState=l,i.childLanes=e.childLanes&~n,t.memoizedState=iv,o}return e=(i=e.child).sibling,o=lQ(i,{mode:"visible",children:o.children}),0==(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function ik(e,t){return(t=l0({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function iS(e,t,n,r){return null!==r&&ox(r),oT(t,e.child,null,n),e=ik(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function iE(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),oI(e.return,t,n)}function i_(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function iC(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(il(e,t,r.children,n),0!=(2&(r=o9.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&iE(e,n,t);else if(19===e.tag)iE(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(rH(o9,r),0==(1&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(o=null,n=t.child;null!==n;)null!==(e=n.alternate)&&null===o6(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),i_(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===o6(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}i_(t,!0,n,null,a);break;case"together":i_(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function iT(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function iN(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),ln|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(d(153));if(null!==t.child){for(n=lQ(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=lQ(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function iO(e,t){if(!od)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function iA(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=0xe00000&o.subtreeFlags,r|=0xe00000&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}o=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},a=function(){},i=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,o1(oX.current);var a,i=null;switch(n){case"input":o=X(e,o),r=X(e,r),i=[];break;case"select":o=H({},o,{value:void 0}),r=H({},r,{value:void 0}),i=[];break;case"textarea":o=ei(e,o),r=ei(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=rh)}for(u in ex(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u]){if("style"===u){var l=o[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(p.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null))}for(u in r){var s=r[u];if(l=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&s!==l&&(null!=s||null!=l)){if("style"===u){if(l){for(a in l)!l.hasOwnProperty(a)||s&&s.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in s)s.hasOwnProperty(a)&&l[a]!==s[a]&&(n||(n={}),n[a]=s[a])}else n||(i||(i=[]),i.push(u,n)),n=s}else"dangerouslySetInnerHTML"===u?(s=s?s.__html:void 0,l=l?l.__html:void 0,null!=s&&l!==s&&(i=i||[]).push(u,s)):"children"===u?"string"!=typeof s&&"number"!=typeof s||(i=i||[]).push(u,""+s):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(p.hasOwnProperty(u)?(null!=s&&"onScroll"===u&&rn("scroll",e),i||l===s||(i=[])):(i=i||[]).push(u,s))}}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},l=function(e,t,n,r){n!==r&&(t.flags|=4)};var ij=!1,iP=!1,iL="function"==typeof WeakSet?WeakSet:Set,iR=null;function iI(e,t){var n=e.ref;if(null!==n){if("function"==typeof n)try{n(null)}catch(n){lU(e,t,n)}else n.current=null}}function iF(e,t,n){try{n()}catch(n){lU(e,t,n)}}var iD=!1;function iM(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&iF(t,n,a)}o=o.next}while(o!==r)}}function iz(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function i$(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag;e=n;"function"==typeof t?t(e):t.current=e}}function iB(e){return 5===e.tag||3===e.tag||4===e.tag}function iU(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||iB(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}var iH=null,iZ=!1;function iW(e,t,n){for(n=n.child;null!==n;)iV(e,t,n),n=n.sibling}function iV(e,t,n){if(e6&&"function"==typeof e6.onCommitFiberUnmount)try{e6.onCommitFiberUnmount(e9,n)}catch(e){}switch(n.tag){case 5:iP||iI(n,t);case 6:var r=iH,o=iZ;iH=null,iW(e,t,n),iH=r,iZ=o,null!==iH&&(iZ?(e=iH,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):iH.removeChild(n.stateNode));break;case 18:null!==iH&&(iZ?(e=iH,n=n.stateNode,8===e.nodeType?r_(e.parentNode,n):1===e.nodeType&&r_(e,n),tL(e)):r_(iH,n.stateNode));break;case 4:r=iH,o=iZ,iH=n.stateNode.containerInfo,iZ=!0,iW(e,t,n),iH=r,iZ=o;break;case 0:case 11:case 14:case 15:if(!iP&&null!==(r=n.updateQueue)&&null!==(r=r.lastEffect)){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(0!=(2&a)?iF(n,t,i):0!=(4&a)&&iF(n,t,i)),o=o.next}while(o!==r)}iW(e,t,n);break;case 1:if(!iP&&(iI(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){lU(n,t,e)}iW(e,t,n);break;case 21:default:iW(e,t,n);break;case 22:1&n.mode?(iP=(r=iP)||null!==n.memoizedState,iW(e,t,n),iP=r):iW(e,t,n)}}function iG(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new iL),t.forEach(function(t){var r=lV.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function iq(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var a=t,i=a;e:for(;null!==i;){switch(i.tag){case 5:iH=i.stateNode,iZ=!1;break e;case 3:case 4:iH=i.stateNode.containerInfo,iZ=!0;break e}i=i.return}if(null===iH)throw Error(d(160));iV(e,a,o),iH=null,iZ=!1;var l=o.alternate;null!==l&&(l.return=null),o.return=null}catch(e){lU(o,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)iY(t,e),t=t.sibling}function iY(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(iq(t,e),iK(e),4&r){try{iM(3,e,e.return),iz(3,e)}catch(t){lU(e,e.return,t)}try{iM(5,e,e.return)}catch(t){lU(e,e.return,t)}}break;case 1:iq(t,e),iK(e),512&r&&null!==n&&iI(n,n.return);break;case 5:if(iq(t,e),iK(e),512&r&&null!==n&&iI(n,n.return),32&e.flags){var o=e.stateNode;try{em(o,"")}catch(t){lU(e,e.return,t)}}if(4&r&&null!=(o=e.stateNode)){var a=e.memoizedProps,i=null!==n?n.memoizedProps:a,l=e.type,s=e.updateQueue;if(e.updateQueue=null,null!==s)try{"input"===l&&"radio"===a.type&&null!=a.name&&ee(o,a),ek(l,i);var u=ek(l,a);for(i=0;i<s.length;i+=2){var c=s[i],f=s[i+1];"style"===c?ev(o,f):"dangerouslySetInnerHTML"===c?eg(o,f):"children"===c?em(o,f):_(o,c,f,u)}switch(l){case"input":et(o,a);break;case"textarea":es(o,a);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var g=a.value;null!=g?ea(o,!!a.multiple,g,!1):!!a.multiple!==p&&(null!=a.defaultValue?ea(o,!!a.multiple,a.defaultValue,!0):ea(o,!!a.multiple,a.multiple?[]:"",!1))}o[rA]=a}catch(t){lU(e,e.return,t)}}break;case 6:if(iq(t,e),iK(e),4&r){if(null===e.stateNode)throw Error(d(162));o=e.stateNode,a=e.memoizedProps;try{o.nodeValue=a}catch(t){lU(e,e.return,t)}}break;case 3:if(iq(t,e),iK(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{tL(t.containerInfo)}catch(t){lU(e,e.return,t)}break;case 4:default:iq(t,e),iK(e);break;case 13:iq(t,e),iK(e),8192&(o=e.child).flags&&(a=null!==o.memoizedState,o.stateNode.isHidden=a,a&&(null===o.alternate||null===o.alternate.memoizedState)&&(ll=eJ())),4&r&&iG(e);break;case 22:if(c=null!==n&&null!==n.memoizedState,1&e.mode?(iP=(u=iP)||c,iq(t,e),iP=u):iq(t,e),iK(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!c&&0!=(1&e.mode))for(iR=e,c=e.child;null!==c;){for(f=iR=c;null!==iR;){switch(g=(p=iR).child,p.tag){case 0:case 11:case 14:case 15:iM(4,p,p.return);break;case 1:iI(p,p.return);var m=p.stateNode;if("function"==typeof m.componentWillUnmount){r=p,n=p.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(e){lU(r,n,e)}}break;case 5:iI(p,p.return);break;case 22:if(null!==p.memoizedState){iX(f);continue}}null!==g?(g.return=p,iR=g):iX(f)}c=c.sibling}e:for(c=null,f=e;;){if(5===f.tag){if(null===c){c=f;try{o=f.stateNode,u?(a=o.style,"function"==typeof a.setProperty?a.setProperty("display","none","important"):a.display="none"):(l=f.stateNode,i=null!=(s=f.memoizedProps.style)&&s.hasOwnProperty("display")?s.display:null,l.style.display=ey("display",i))}catch(t){lU(e,e.return,t)}}}else if(6===f.tag){if(null===c)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(t){lU(e,e.return,t)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;c===f&&(c=null),f=f.return}c===f&&(c=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:iq(t,e),iK(e),4&r&&iG(e);case 21:}}function iK(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(iB(n)){var r=n;break e}n=n.return}throw Error(d(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(em(o,""),r.flags&=-33);var a=iU(e);!function e(t,n,r){var o=t.tag;if(5===o||6===o)t=t.stateNode,n?r.insertBefore(t,n):r.appendChild(t);else if(4!==o&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,a,o);break;case 3:case 4:var i=r.stateNode.containerInfo,l=iU(e);!function e(t,n,r){var o=t.tag;if(5===o||6===o)t=t.stateNode,n?8===r.nodeType?r.parentNode.insertBefore(t,n):r.insertBefore(t,n):(8===r.nodeType?(n=r.parentNode).insertBefore(t,r):(n=r).appendChild(t),null!=(r=r._reactRootContainer)||null!==n.onclick||(n.onclick=rh));else if(4!==o&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,l,i);break;default:throw Error(d(161))}}catch(t){lU(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function iQ(e){for(;null!==iR;){var t=iR;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:iP||iz(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!iP){if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:aX(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}}var a=t.updateQueue;null!==a&&oK(t,a,r);break;case 3:var i=t.updateQueue;if(null!==i){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}oK(t,i,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var s=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":s.autoFocus&&n.focus();break;case"img":s.src&&(n.src=s.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var c=u.memoizedState;if(null!==c){var f=c.dehydrated;null!==f&&tL(f)}}}break;default:throw Error(d(163))}iP||512&t.flags&&i$(t)}catch(e){lU(t,t.return,e)}}if(t===e){iR=null;break}if(null!==(n=t.sibling)){n.return=t.return,iR=n;break}iR=t.return}}function iX(e){for(;null!==iR;){var t=iR;if(t===e){iR=null;break}var n=t.sibling;if(null!==n){n.return=t.return,iR=n;break}iR=t.return}}function iJ(e){for(;null!==iR;){var t=iR;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{iz(4,t)}catch(e){lU(t,n,e)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(e){lU(t,o,e)}}var a=t.return;try{i$(t)}catch(e){lU(t,a,e)}break;case 5:var i=t.return;try{i$(t)}catch(e){lU(t,i,e)}}}catch(e){lU(t,t.return,e)}if(t===e){iR=null;break}var l=t.sibling;if(null!==l){l.return=t.return,iR=l;break}iR=t.return}}var i0=Math.ceil,i1=C.ReactCurrentDispatcher,i2=C.ReactCurrentOwner,i3=C.ReactCurrentBatchConfig,i5=0,i4=null,i9=null,i6=0,i8=0,i7=rB(0),le=0,lt=null,ln=0,lr=0,lo=0,la=null,li=null,ll=0,ls=1/0,lu=null,lc=!1,ld=null,lf=null,lp=!1,lg=null,lm=0,lh=0,lb=null,ly=-1,lv=0;function lw(){return 0!=(6&i5)?eJ():-1!==ly?ly:ly=eJ()}function lx(e){return 0==(1&e.mode)?1:0!=(2&i5)&&0!==i6?i6&-i6:null!==ok.transition?(0===lv&&(lv=ti()),lv):0!==(e=tc)?e:e=void 0===(e=window.event)?16:tB(e.type)}function lk(e,t,n,r){if(50<lh)throw lh=0,lb=null,Error(d(185));ts(e,n,r),(0==(2&i5)||e!==i4)&&(e===i4&&(0==(2&i5)&&(lr|=n),4===le&&lT(e,i6)),lS(e,r),1===n&&0===i5&&0==(1&t.mode)&&(ls=eJ()+500,r2&&r4()))}function lS(e,t){var n,r=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-e8(a),l=1<<i,s=o[i];-1===s?(0==(l&n)||0!=(l&r))&&(o[i]=function(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return -1}}(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}}(e,t);var o=to(e,e===i4?i6:0);if(0===o)null!==r&&eK(r),e.callbackNode=null,e.callbackPriority=0;else if(t=o&-o,e.callbackPriority!==t){if(null!=r&&eK(r),1===t){;0===e.tag?(n=lN.bind(null,e),r2=!0,r5(n)):r5(lN.bind(null,e)),rS(function(){0==(6&i5)&&r4()}),r=null}else{switch(td(o)){case 1:r=e1;break;case 4:r=e2;break;case 16:default:r=e3;break;case 0x20000000:r=e4}r=function(e,t){return eY(e,t)}(r,lE.bind(null,e))}e.callbackPriority=t,e.callbackNode=r}}function lE(e,t){if(ly=-1,lv=0,0!=(6&i5))throw Error(d(327));var n=e.callbackNode;if(l$()&&e.callbackNode!==n)return null;var r=to(e,e===i4?i6:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=lF(e,r);else{t=r;var o=i5;i5|=2;var a=lR();for((i4!==e||i6!==t)&&(lu=null,ls=eJ()+500,lP(e,t));;)try{(function(){for(;null!==i9&&!eQ();)lD(i9)})();break}catch(t){lL(e,t)}oL(),i1.current=a,i5=o,null!==i9?t=0:(i4=null,i6=0,t=le)}if(0!==t){if(2===t&&0!==(o=ta(e))&&(r=o,t=l_(e,o)),1===t)throw n=lt,lP(e,0),lT(e,r),lS(e,eJ()),n;if(6===t)lT(e,r);else{if(o=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!nF(a(),o))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)&&(2===(t=lF(e,r))&&0!==(a=ta(e))&&(r=a,t=l_(e,a)),1===t))throw n=lt,lP(e,0),lT(e,r),lS(e,eJ()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(d(345));case 2:case 5:lz(e,li,lu);break;case 3:if(lT(e,r),(0x7c00000&r)===r&&10<(t=ll+500-eJ())){if(0!==to(e,0))break;if(((o=e.suspendedLanes)&r)!==r){lw(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=rw(lz.bind(null,e,li,lu),t);break}lz(e,li,lu);break;case 4:if(lT(e,r),(4194240&r)===r)break;for(o=-1,t=e.eventTimes;0<r;){var i=31-e8(r);a=1<<i,(i=t[i])>o&&(o=i),r&=~a}if(r=o,10<(r=(120>(r=eJ()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*i0(r/1960))-r)){e.timeoutHandle=rw(lz.bind(null,e,li,lu),r);break}lz(e,li,lu);break;default:throw Error(d(329))}}}return lS(e,eJ()),e.callbackNode===n?lE.bind(null,e):null}function l_(e,t){var n=la;return e.current.memoizedState.isDehydrated&&(lP(e,t).flags|=256),2!==(e=lF(e,t))&&(t=li,li=n,null!==t&&lC(t)),e}function lC(e){null===li?li=e:li.push.apply(li,e)}function lT(e,t){for(t&=~lo,t&=~lr,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-e8(t),r=1<<n;e[n]=-1,t&=~r}}function lN(e){if(0!=(6&i5))throw Error(d(327));l$();var t=to(e,0);if(0==(1&t))return lS(e,eJ()),null;var n=lF(e,t);if(0!==e.tag&&2===n){var r=ta(e);0!==r&&(t=r,n=l_(e,r))}if(1===n)throw n=lt,lP(e,0),lT(e,t),lS(e,eJ()),n;if(6===n)throw Error(d(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,lz(e,li,lu),lS(e,eJ()),null}function lO(e,t){var n=i5;i5|=1;try{return e(t)}finally{0===(i5=n)&&(ls=eJ()+500,r2&&r4())}}function lA(e){null!==lg&&0===lg.tag&&0==(6&i5)&&l$();var t=i5;i5|=1;var n=i3.transition,r=tc;try{if(i3.transition=null,tc=1,e)return e()}finally{tc=r,i3.transition=n,0==(6&(i5=t))&&r4()}}function lj(){i8=i7.current,rU(i7)}function lP(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,rx(n)),null!==i9)for(n=i9.return;null!==n;){var r=n;switch(os(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&rK();break;case 3:o3(),rU(rV),rU(rW),o7();break;case 5:o4(r);break;case 4:o3();break;case 13:case 19:rU(o9);break;case 10:oR(r.type._context);break;case 22:case 23:lj()}n=n.return}if(i4=e,i9=e=lQ(e.current,null),i6=i8=t,le=0,lt=null,lo=lr=ln=0,li=la=null,null!==oM){for(t=0;t<oM.length;t++)if(null!==(r=(n=oM[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}oM=null}return e}function lL(e,t){for(;;){var n=i9;try{if(oL(),ae.current=aq,ai){for(var r=ar.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ai=!1}if(an=0,aa=ao=ar=null,al=!1,as=0,i2.current=null,null===n||null===n.return){le=1,lt=t,i9=null;break}e:{var a=e,i=n.return,l=n,s=t;if(t=i6,l.flags|=32768,null!==s&&"object"==typeof s&&"function"==typeof s.then){var u=s,c=l,f=c.tag;if(0==(1&c.mode)&&(0===f||11===f||15===f)){var p=c.alternate;p?(c.updateQueue=p.updateQueue,c.memoizedState=p.memoizedState,c.lanes=p.lanes):(c.updateQueue=null,c.memoizedState=null)}var g=ir(i);if(null!==g){g.flags&=-257,io(g,i,l,a,t),1&g.mode&&it(a,u,t),t=g,s=u;var m=t.updateQueue;if(null===m){var h=new Set;h.add(s),t.updateQueue=h}else m.add(s);break e}if(0==(1&t)){it(a,u,t),lI();break e}s=Error(d(426))}else if(od&&1&l.mode){var b=ir(i);if(null!==b){0==(65536&b.flags)&&(b.flags|=256),io(b,i,l,a,t),ox(a4(s,l));break e}}a=s=a4(s,l),4!==le&&(le=2),null===la?la=[a]:la.push(a),a=i;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var y=a7(a,s,t);oq(a,y);break e;case 1:l=s;var v=a.type,w=a.stateNode;if(0==(128&a.flags)&&("function"==typeof v.getDerivedStateFromError||null!==w&&"function"==typeof w.componentDidCatch&&(null===lf||!lf.has(w)))){a.flags|=65536,t&=-t,a.lanes|=t;var x=ie(a,l,t);oq(a,x);break e}}a=a.return}while(null!==a)}lM(n)}catch(e){t=e,i9===n&&null!==n&&(i9=n=n.return);continue}break}}function lR(){var e=i1.current;return i1.current=aq,null===e?aq:e}function lI(){(0===le||3===le||2===le)&&(le=4),null===i4||0==(0xfffffff&ln)&&0==(0xfffffff&lr)||lT(i4,i6)}function lF(e,t){var n=i5;i5|=2;var r=lR();for((i4!==e||i6!==t)&&(lu=null,lP(e,t));;)try{(function(){for(;null!==i9;)lD(i9)})();break}catch(t){lL(e,t)}if(oL(),i5=n,i1.current=r,null!==i9)throw Error(d(261));return i4=null,i6=0,le}function lD(e){var t=s(e.alternate,e,i8);e.memoizedProps=e.pendingProps,null===t?lM(e):i9=t,i2.current=null}function lM(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=function(e,t,n){var r=t.pendingProps;switch(os(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return iA(t),null;case 1:case 17:return rY(t.type)&&rK(),iA(t),null;case 3:return r=t.stateNode,o3(),rU(rV),rU(rW),o7(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(null===e||null===e.child)&&(oy(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==of&&(lC(of),of=null))),a(e,t),iA(t),null;case 5:o4(t);var s=o1(o0.current);if(n=t.type,null!==e&&null!=t.stateNode)i(e,t,n,r,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(d(166));return iA(t),null}if(e=o1(oX.current),oy(t)){r=t.stateNode,n=t.type;var u=t.memoizedProps;switch(r[rO]=t,r[rA]=u,e=0!=(1&t.mode),n){case"dialog":rn("cancel",r),rn("close",r);break;case"iframe":case"object":case"embed":rn("load",r);break;case"video":case"audio":for(s=0;s<n8.length;s++)rn(n8[s],r);break;case"source":rn("error",r);break;case"img":case"image":case"link":rn("error",r),rn("load",r);break;case"details":rn("toggle",r);break;case"input":J(r,u),rn("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!u.multiple},rn("invalid",r);break;case"textarea":el(r,u),rn("invalid",r)}for(var c in ex(n,u),s=null,u)if(u.hasOwnProperty(c)){var f=u[c];"children"===c?"string"==typeof f?r.textContent!==f&&(!0!==u.suppressHydrationWarning&&rm(r.textContent,f,e),s=["children",f]):"number"==typeof f&&r.textContent!==""+f&&(!0!==u.suppressHydrationWarning&&rm(r.textContent,f,e),s=["children",""+f]):p.hasOwnProperty(c)&&null!=f&&"onScroll"===c&&rn("scroll",r)}switch(n){case"input":Y(r),en(r,u,!0);break;case"textarea":Y(r),eu(r);break;case"select":case"option":break;default:"function"==typeof u.onClick&&(r.onclick=rh)}r=s,t.updateQueue=r,null!==r&&(t.flags|=4)}else{c=9===s.nodeType?s:s.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ec(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),"select"===n&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[rO]=t,e[rA]=r,o(e,t,!1,!1),t.stateNode=e;e:{switch(c=ek(n,r),n){case"dialog":rn("cancel",e),rn("close",e),s=r;break;case"iframe":case"object":case"embed":rn("load",e),s=r;break;case"video":case"audio":for(s=0;s<n8.length;s++)rn(n8[s],e);s=r;break;case"source":rn("error",e),s=r;break;case"img":case"image":case"link":rn("error",e),rn("load",e),s=r;break;case"details":rn("toggle",e),s=r;break;case"input":J(e,r),s=X(e,r),rn("invalid",e);break;case"option":default:s=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},s=H({},r,{value:void 0}),rn("invalid",e);break;case"textarea":el(e,r),s=ei(e,r),rn("invalid",e)}for(u in ex(n,s),f=s)if(f.hasOwnProperty(u)){var g=f[u];"style"===u?ev(e,g):"dangerouslySetInnerHTML"===u?null!=(g=g?g.__html:void 0)&&eg(e,g):"children"===u?"string"==typeof g?("textarea"!==n||""!==g)&&em(e,g):"number"==typeof g&&em(e,""+g):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(p.hasOwnProperty(u)?null!=g&&"onScroll"===u&&rn("scroll",e):null!=g&&_(e,u,g,c))}switch(n){case"input":Y(e),en(e,r,!1);break;case"textarea":Y(e),eu(e);break;case"option":null!=r.value&&e.setAttribute("value",""+G(r.value));break;case"select":e.multiple=!!r.multiple,null!=(u=r.value)?ea(e,!!r.multiple,u,!1):null!=r.defaultValue&&ea(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof s.onClick&&(e.onclick=rh)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return iA(t),null;case 6:if(e&&null!=t.stateNode)l(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(d(166));if(n=o1(o0.current),o1(oX.current),oy(t)){if(r=t.stateNode,n=t.memoizedProps,r[rO]=t,(u=r.nodeValue!==n)&&null!==(e=ou))switch(e.tag){case 3:rm(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&rm(r.nodeValue,n,0!=(1&e.mode))}u&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[rO]=t,t.stateNode=r}return iA(t),null;case 13:if(rU(o9),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(od&&null!==oc&&0!=(1&t.mode)&&0==(128&t.flags))ov(),ow(),t.flags|=98560,u=!1;else if(u=oy(t),null!==r&&null!==r.dehydrated){if(null===e){if(!u)throw Error(d(318));if(!(u=null!==(u=t.memoizedState)?u.dehydrated:null))throw Error(d(317));u[rO]=t}else ow(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;iA(t),u=!1}else null!==of&&(lC(of),of=null),u=!0;if(!u)return 65536&t.flags?t:null}if(0!=(128&t.flags))return t.lanes=n,t;return(r=null!==r)!=(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&o9.current)?0===le&&(le=3):lI())),null!==t.updateQueue&&(t.flags|=4),iA(t),null;case 4:return o3(),a(e,t),null===e&&ra(t.stateNode.containerInfo),iA(t),null;case 10:return oR(t.type._context),iA(t),null;case 19:if(rU(o9),null===(u=t.memoizedState))return iA(t),null;if(r=0!=(128&t.flags),null===(c=u.rendering)){if(r)iO(u,!1);else{if(0!==le||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(c=o6(e))){for(t.flags|=128,iO(u,!1),null!==(r=c.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)u=n,e=r,u.flags&=0xe00002,null===(c=u.alternate)?(u.childLanes=0,u.lanes=e,u.child=null,u.subtreeFlags=0,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=c.childLanes,u.lanes=c.lanes,u.child=c.child,u.subtreeFlags=0,u.deletions=null,u.memoizedProps=c.memoizedProps,u.memoizedState=c.memoizedState,u.updateQueue=c.updateQueue,u.type=c.type,e=c.dependencies,u.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return rH(o9,1&o9.current|2),t.child}e=e.sibling}null!==u.tail&&eJ()>ls&&(t.flags|=128,r=!0,iO(u,!1),t.lanes=4194304)}}else{if(!r){if(null!==(e=o6(c))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),iO(u,!0),null===u.tail&&"hidden"===u.tailMode&&!c.alternate&&!od)return iA(t),null}else 2*eJ()-u.renderingStartTime>ls&&0x40000000!==n&&(t.flags|=128,r=!0,iO(u,!1),t.lanes=4194304)}u.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=u.last)?n.sibling=c:t.child=c,u.last=c)}if(null!==u.tail)return t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=eJ(),t.sibling=null,n=o9.current,rH(o9,r?1&n|2:1&n),t;return iA(t),null;case 22:case 23:return lj(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(0x40000000&i8)&&(iA(t),6&t.subtreeFlags&&(t.flags|=8192)):iA(t),null;case 24:case 25:return null}throw Error(d(156,t.tag))}(n,t,i8))){i9=n;return}}else{if(null!==(n=function(e,t){switch(os(t),t.tag){case 1:return rY(t.type)&&rK(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return o3(),rU(rV),rU(rW),o7(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return o4(t),null;case 13:if(rU(o9),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(d(340));ow()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return rU(o9),null;case 4:return o3(),null;case 10:return oR(t.type._context),null;case 22:case 23:return lj(),null;default:return null}}(n,t))){n.flags&=32767,i9=n;return}if(null!==e)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{le=6,i9=null;return}}if(null!==(t=t.sibling)){i9=t;return}i9=t=e}while(null!==t);0===le&&(le=5)}function lz(e,t,n){var r=tc,o=i3.transition;try{i3.transition=null,tc=1,function(e,t,n,r){do l$();while(null!==lg);if(0!=(6&i5))throw Error(d(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(d(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(!function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-e8(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,a),e===i4&&(i9=i4=null,i6=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||lp||(lp=!0,lG(e3,function(){return l$(),null})),a=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||a){a=i3.transition,i3.transition=null;var i,l,s,u=tc;tc=1;var c=i5;i5|=4,i2.current=null,!function(e,t){if(rb=tI,nB(e=n$())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o,a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(e){n=null;break e}var l=0,s=-1,u=-1,c=0,f=0,p=e,g=null;t:for(;;){for(;p!==n||0!==a&&3!==p.nodeType||(s=l+a),p!==i||0!==r&&3!==p.nodeType||(u=l+r),3===p.nodeType&&(l+=p.nodeValue.length),null!==(o=p.firstChild);){;g=p,p=o}for(;;){if(p===e)break t;if(g===n&&++c===a&&(s=l),g===i&&++f===r&&(u=l),null!==(o=p.nextSibling))break;g=(p=g).parentNode}p=o}n=-1===s||-1===u?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ry={focusedElem:e,selectionRange:n},tI=!1,iR=t;null!==iR;)if(e=(t=iR).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,iR=e;else for(;null!==iR;){t=iR;try{var m=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var h=m.memoizedProps,b=m.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?h:aX(t.type,h),b);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(d(163))}}catch(e){lU(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,iR=e;break}iR=t.return}m=iD,iD=!1}(e,n),iY(n,e),!function(e){var t=n$(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&function e(t,n){return!!t&&!!n&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(n.ownerDocument.documentElement,n)){if(null!==r&&nB(n)){if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=nz(n,a);var i=nz(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}(ry),tI=!!rb,ry=rb=null,e.current=n,i=n,l=e,s=o,iR=i,function e(t,n,r){for(var o=0!=(1&t.mode);null!==iR;){var a=iR,i=a.child;if(22===a.tag&&o){var l=null!==a.memoizedState||ij;if(!l){var s=a.alternate,u=null!==s&&null!==s.memoizedState||iP;s=ij;var c=iP;if(ij=l,(iP=u)&&!c)for(iR=a;null!==iR;)u=(l=iR).child,22===l.tag&&null!==l.memoizedState?iJ(a):null!==u?(u.return=l,iR=u):iJ(a);for(;null!==i;)iR=i,e(i,n,r),i=i.sibling;iR=a,ij=s,iP=c}iQ(t,n,r)}else 0!=(8772&a.subtreeFlags)&&null!==i?(i.return=a,iR=i):iQ(t,n,r)}}(i,l,s),eX(),i5=c,tc=u,i3.transition=a}else e.current=n;if(lp&&(lp=!1,lg=e,lm=o),0===(a=e.pendingLanes)&&(lf=null),!function(e){if(e6&&"function"==typeof e6.onCommitFiberRoot)try{e6.onCommitFiberRoot(e9,e,void 0,128==(128&e.current.flags))}catch(e){}}(n.stateNode,r),lS(e,eJ()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)r((o=t[n]).value,{componentStack:o.stack,digest:o.digest});if(lc)throw lc=!1,e=ld,ld=null,e;0!=(1&lm)&&0!==e.tag&&l$(),0!=(1&(a=e.pendingLanes))?e===lb?lh++:(lh=0,lb=e):lh=0,r4()}(e,t,n,r)}finally{i3.transition=o,tc=r}return null}function l$(){if(null!==lg){var e=td(lm),t=i3.transition,n=tc;try{if(i3.transition=null,tc=16>e?16:e,null===lg)var r=!1;else{if(e=lg,lg=null,lm=0,0!=(6&i5))throw Error(d(331));var o=i5;for(i5|=4,iR=e.current;null!==iR;){var a=iR,i=a.child;if(0!=(16&iR.flags)){var l=a.deletions;if(null!==l){for(var s=0;s<l.length;s++){var u=l[s];for(iR=u;null!==iR;){var c=iR;switch(c.tag){case 0:case 11:case 15:iM(8,c,a)}var f=c.child;if(null!==f)f.return=c,iR=f;else for(;null!==iR;){var p=(c=iR).sibling,g=c.return;if(!function e(t){var n=t.alternate;null!==n&&(t.alternate=null,e(n)),t.child=null,t.deletions=null,t.sibling=null,5===t.tag&&null!==(n=t.stateNode)&&(delete n[rO],delete n[rA],delete n[rP],delete n[rL],delete n[rR]),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}(c),c===u){iR=null;break}if(null!==p){p.return=g,iR=p;break}iR=g}}}var m=a.alternate;if(null!==m){var h=m.child;if(null!==h){m.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}iR=a}}if(0!=(2064&a.subtreeFlags)&&null!==i)i.return=a,iR=i;else for(;null!==iR;){if(a=iR,0!=(2048&a.flags))switch(a.tag){case 0:case 11:case 15:iM(9,a,a.return)}var y=a.sibling;if(null!==y){y.return=a.return,iR=y;break}iR=a.return}}var v=e.current;for(iR=v;null!==iR;){var w=(i=iR).child;if(0!=(2064&i.subtreeFlags)&&null!==w)w.return=i,iR=w;else for(i=v;null!==iR;){if(l=iR,0!=(2048&l.flags))try{switch(l.tag){case 0:case 11:case 15:iz(9,l)}}catch(e){lU(l,l.return,e)}if(l===i){iR=null;break}var x=l.sibling;if(null!==x){x.return=l.return,iR=x;break}iR=l.return}}if(i5=o,r4(),e6&&"function"==typeof e6.onPostCommitFiberRoot)try{e6.onPostCommitFiberRoot(e9,e)}catch(e){}r=!0}return r}finally{tc=n,i3.transition=t}}return!1}function lB(e,t,n){t=a7(e,t=a4(n,t),1),e=oV(e,t,1),t=lw(),null!==e&&(ts(e,1,t),lS(e,t))}function lU(e,t,n){if(3===e.tag)lB(e,e,n);else for(;null!==t;){if(3===t.tag){lB(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===lf||!lf.has(r))){e=ie(t,e=a4(n,e),1),t=oV(t,e,1),e=lw(),null!==t&&(ts(t,1,e),lS(t,e));break}}t=t.return}}function lH(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=lw(),e.pingedLanes|=e.suspendedLanes&n,i4===e&&(i6&n)===n&&(4===le||3===le&&(0x7c00000&i6)===i6&&500>eJ()-ll?lP(e,0):lo|=n),lS(e,t)}function lZ(e,t){0===t&&(0==(1&e.mode)?t=1:(t=tn,0==(0x7c00000&(tn<<=1))&&(tn=4194304)));var n=lw();null!==(e=oB(e,t))&&(ts(e,t,n),lS(e,n))}function lW(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),lZ(e,n)}function lV(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(d(314))}null!==r&&r.delete(t),lZ(e,n)}function lG(e,t){return eY(e,t)}function lq(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function lY(e,t,n,r){return new lq(e,t,n,r)}function lK(e){return!(!(e=e.prototype)||!e.isReactComponent)}s=function(e,t,n){if(null!==e){if(e.memoizedProps!==t.pendingProps||rV.current)ii=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return ii=!1,function(e,t,n){switch(t.tag){case 3:ib(t),ow();break;case 5:o5(t);break;case 1:rY(t.type)&&rJ(t);break;case 4:o2(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;rH(oO,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState)){if(null!==r.dehydrated)return rH(o9,1&o9.current),t.flags|=128,null;if(0!=(n&t.child.childLanes))return ix(e,t,n);return rH(o9,1&o9.current),null!==(e=iN(e,t,n))?e.sibling:null}rH(o9,1&o9.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return iC(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),rH(o9,o9.current),!r)return null;break;case 22:case 23:return t.lanes=0,id(e,t,n)}return iN(e,t,n)}(e,t,n);ii=0!=(131072&e.flags)}}else ii=!1,od&&0!=(1048576&t.flags)&&oi(t,r7,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iT(e,t),e=t.pendingProps;var o=rq(t,rW.current);oF(t,n),o=af(null,t,r,e,o,n);var a=ap();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,rY(r)?(a=!0,rJ(t)):a=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,oH(t),o.updater=a0,t.stateNode=o,o._reactInternals=t,a5(t,r,e,n),t=ih(null,t,r,!0,a,n)):(t.tag=0,od&&a&&ol(t),il(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iT(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return lK(e)?1:0;if(null!=e){if((e=e.$$typeof)===R)return 11;if(e===D)return 14}return 2}(r),e=aX(r,e),o){case 0:t=ig(null,t,r,e,n);break e;case 1:t=im(null,t,r,e,n);break e;case 11:t=is(null,t,r,e,n);break e;case 14:t=iu(null,t,r,aX(r.type,e),n);break e}throw Error(d(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:aX(r,o),ig(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:aX(r,o),im(e,t,r,o,n);case 3:e:{if(ib(t),null===e)throw Error(d(387));r=t.pendingProps,o=(a=t.memoizedState).element,oZ(e,t),oY(t,r,null,n);var i=t.memoizedState;if(r=i.element,a.isDehydrated){if(a={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=a,t.memoizedState=a,256&t.flags){o=a4(Error(d(423)),t),t=iy(e,t,r,n,o);break e}else if(r!==o){o=a4(Error(d(424)),t),t=iy(e,t,r,n,o);break e}else for(oc=rC(t.stateNode.containerInfo.firstChild),ou=t,od=!0,of=null,n=oN(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ow(),r===o){t=iN(e,t,n);break e}il(e,t,r,n)}t=t.child}return t;case 5:return o5(t),null===e&&oh(t),r=t.type,o=t.pendingProps,a=null!==e?e.memoizedProps:null,i=o.children,rv(r,o)?i=null:null!==a&&rv(r,a)&&(t.flags|=32),ip(e,t),il(e,t,i,n),t.child;case 6:return null===e&&oh(t),null;case 13:return ix(e,t,n);case 4:return o2(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=oT(t,null,r,n):il(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:aX(r,o),is(e,t,r,o,n);case 7:return il(e,t,t.pendingProps,n),t.child;case 8:case 12:return il(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,a=t.memoizedProps,i=o.value,rH(oO,r._currentValue),r._currentValue=i,null!==a){if(nF(a.value,i)){if(a.children===o.children&&!rV.current){t=iN(e,t,n);break e}}else for(null!==(a=t.child)&&(a.return=t);null!==a;){var l=a.dependencies;if(null!==l){i=a.child;for(var s=l.firstContext;null!==s;){if(s.context===r){if(1===a.tag){(s=oW(-1,n&-n)).tag=2;var u=a.updateQueue;if(null!==u){var c=(u=u.shared).pending;null===c?s.next=s:(s.next=c.next,c.next=s),u.pending=s}}a.lanes|=n,null!==(s=a.alternate)&&(s.lanes|=n),oI(a.return,n,t),l.lanes|=n;break}s=s.next}}else if(10===a.tag)i=a.type===t.type?null:a.child;else if(18===a.tag){if(null===(i=a.return))throw Error(d(341));i.lanes|=n,null!==(l=i.alternate)&&(l.lanes|=n),oI(i,n,t),i=a.sibling}else i=a.child;if(null!==i)i.return=a;else for(i=a;null!==i;){if(i===t){i=null;break}if(null!==(a=i.sibling)){a.return=i.return,i=a;break}i=i.return}a=i}}il(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,oF(t,n),r=r(o=oD(o)),t.flags|=1,il(e,t,r,n),t.child;case 14:return o=aX(r=t.type,t.pendingProps),o=aX(r.type,o),iu(e,t,r,o,n);case 15:return ic(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:aX(r,o),iT(e,t),t.tag=1,rY(r)?(e=!0,rJ(t)):e=!1,oF(t,n),a2(t,r,o),a5(t,r,o,n),ih(null,t,r,!0,e,n);case 19:return iC(e,t,n);case 22:return id(e,t,n)}throw Error(d(156,t.tag))};function lQ(e,t){var n=e.alternate;return null===n?((n=lY(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=0xe00000&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lX(e,t,n,r,o,a){var i=2;if(r=e,"function"==typeof e)lK(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case O:return lJ(n.children,o,a,t);case A:i=8,o|=8;break;case j:return(e=lY(12,n,t,2|o)).elementType=j,e.lanes=a,e;case I:return(e=lY(13,n,t,o)).elementType=I,e.lanes=a,e;case F:return(e=lY(19,n,t,o)).elementType=F,e.lanes=a,e;case z:return l0(n,o,a,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case P:i=10;break e;case L:i=9;break e;case R:i=11;break e;case D:i=14;break e;case M:i=16,r=null;break e}throw Error(d(130,null==e?e:typeof e,""))}return(t=lY(i,n,t,o)).elementType=e,t.type=r,t.lanes=a,t}function lJ(e,t,n,r){return(e=lY(7,e,r,t)).lanes=n,e}function l0(e,t,n,r){return(e=lY(22,e,r,t)).elementType=z,e.lanes=n,e.stateNode={isHidden:!1},e}function l1(e,t,n){return(e=lY(6,e,null,t)).lanes=n,e}function l2(e,t,n){return(t=lY(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function l3(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=tl(0),this.expirationTimes=tl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=tl(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function l5(e,t,n,r,o,a,i,l,s){return e=new l3(e,t,n,l,s),1===t?(t=1,!0===a&&(t|=8)):t=0,a=lY(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},oH(a),e}function l4(e){if(!e)return rZ;e=e._reactInternals;e:{if(eW(e)!==e||1!==e.tag)throw Error(d(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(rY(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(d(171))}if(1===e.tag){var n=e.type;if(rY(n))return rX(e,n,t)}return t}function l9(e,t,n,r,o,a,i,l,s){return(e=l5(n,r,!0,e,o,a,i,l,s)).context=l4(null),n=e.current,r=lw(),(a=oW(r,o=lx(n))).callback=null!=t?t:null,oV(n,a,o),e.current.lanes=o,ts(e,o,r),lS(e,r),e}function l6(e,t,n,r){var o=t.current,a=lw(),i=lx(o);return n=l4(n),null===t.context?t.context=n:t.pendingContext=n,(t=oW(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=oV(o,t,i))&&(lk(e,o,i,a),oG(e,o,i)),i}function l8(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function l7(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function se(e,t){l7(e,t),(e=e.alternate)&&l7(e,t)}var st="function"==typeof reportError?reportError:function(e){console.error(e)};function sn(e){this._internalRoot=e}function sr(e){this._internalRoot=e}function so(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function sa(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function si(){}sr.prototype.render=sn.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(d(409));l6(e,t,null,null)},sr.prototype.unmount=sn.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;lA(function(){l6(null,e,null,null)}),t[rj]=null}},sr.prototype.unstable_scheduleHydration=function(e){if(e){var t=tm();e={blockedOn:null,target:e,priority:t};for(var n=0;n<tE.length&&0!==t&&t<tE[n].priority;n++);tE.splice(n,0,e),0===n&&tN(e)}};function sl(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var l=o;o=function(){var e=l8(i);l.call(e)}}l6(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=l8(i);a.call(e)}}var i=l9(t,r,e,0,null,!1,!1,"",si);return e._reactRootContainer=i,e[rj]=i.current,ra(8===e.nodeType?e.parentNode:e),lA(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var l=r;r=function(){var e=l8(s);l.call(e)}}var s=l5(e,0,!1,null,null,!1,!1,"",si);return e._reactRootContainer=s,e[rj]=s.current,ra(8===e.nodeType?e.parentNode:e),lA(function(){l6(t,s,n,r)}),s}(n,t,e,o,r);return l8(i)}tf=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=tr(t.pendingLanes);0!==n&&(tu(t,1|n),lS(t,eJ()),0==(6&i5)&&(ls=eJ()+500,r4()))}break;case 13:lA(function(){var t=oB(e,1);null!==t&&lk(t,e,1,lw())}),se(e,1)}},tp=function(e){if(13===e.tag){var t=oB(e,0x8000000);null!==t&&lk(t,e,0x8000000,lw()),se(e,0x8000000)}},tg=function(e){if(13===e.tag){var t=lx(e),n=oB(e,t);null!==n&&lk(n,e,t,lw()),se(e,t)}},tm=function(){return tc},th=function(e,t){var n=tc;try{return tc=e,t()}finally{tc=n}},e_=function(e,t,n){switch(t){case"input":if(et(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=rM(r);if(!o)throw Error(d(90));K(r),et(r,o)}}}break;case"textarea":es(e,n);break;case"select":null!=(t=n.value)&&ea(e,!!n.multiple,t,!1)}},ej=lO,eP=lA;var ss={findFiberByHostInstance:rI,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},su={bundleType:ss.bundleType,version:ss.version,rendererPackageName:ss.rendererPackageName,rendererConfig:ss.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=eq(e))?null:e.stateNode},findFiberByHostInstance:ss.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var sc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sc.isDisabled&&sc.supportsFiber)try{e9=sc.inject(su),e6=sc}catch(e){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED={usingClientEntryPoint:!1,Events:[rF,rD,rM,eO,eA,lO]},t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!so(t))throw Error(d(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:N,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!so(e))throw Error(d(299));var n=!1,r="",o=st;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=l5(e,1,!1,null,null,n,!1,r,o),e[rj]=t.current,ra(8===e.nodeType?e.parentNode:e),new sn(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(d(188));throw Error(d(268,e=Object.keys(e).join(",")))}return e=null===(e=eq(t))?null:e.stateNode},t.flushSync=function(e){return lA(e)},t.hydrate=function(e,t,n){if(!sa(t))throw Error(d(200));return sl(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!so(e))throw Error(d(405));var r=null!=n&&n.hydratedSources||null,o=!1,a="",i=st;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(a=n.identifierPrefix),void 0!==n.onRecoverableError&&(i=n.onRecoverableError)),t=l9(t,null,e,1,null!=n?n:null,o,!1,a,i),e[rj]=t.current,ra(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new sr(t)},t.render=function(e,t,n){if(!sa(t))throw Error(d(200));return sl(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!sa(e))throw Error(d(40));return!!e._reactRootContainer&&(lA(function(){sl(null,null,e,!1,function(){e._reactRootContainer=null,e[rj]=null})}),!0)},t.unstable_batchedUpdates=lO,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!sa(n))throw Error(d(200));if(null==e||void 0===e._reactInternals)throw Error(d(38));return sl(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},745:function(e,t,n){"use strict";var r=n(3935);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},3935:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(4448)},9590:function(e){var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;e.exports=function(e,a){try{return function e(a,i){if(a===i)return!0;if(a&&i&&"object"==typeof a&&"object"==typeof i){var l,s,u,c;if(a.constructor!==i.constructor)return!1;if(Array.isArray(a)){if((l=a.length)!=i.length)return!1;for(s=l;0!=s--;)if(!e(a[s],i[s]))return!1;return!0}if(n&&a instanceof Map&&i instanceof Map){if(a.size!==i.size)return!1;for(c=a.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;for(c=a.entries();!(s=c.next()).done;)if(!e(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&a instanceof Set&&i instanceof Set){if(a.size!==i.size)return!1;for(c=a.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(a)&&ArrayBuffer.isView(i)){if((l=a.length)!=i.length)return!1;for(s=l;0!=s--;)if(a[s]!==i[s])return!1;return!0}if(a.constructor===RegExp)return a.source===i.source&&a.flags===i.flags;if(a.valueOf!==Object.prototype.valueOf&&"function"==typeof a.valueOf&&"function"==typeof i.valueOf)return a.valueOf()===i.valueOf();if(a.toString!==Object.prototype.toString&&"function"==typeof a.toString&&"function"==typeof i.toString)return a.toString()===i.toString();if((l=(u=Object.keys(a)).length)!==Object.keys(i).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(i,u[s]))return!1;if(t&&a instanceof Element)return!1;for(s=l;0!=s--;){if("_owner"!==u[s]&&"__v"!==u[s]&&"__o"!==u[s]||!a.$$typeof){if(!e(a[u[s]],i[u[s]]))return!1}}return!0}return a!=a&&i!=i}(e,a)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}},405:function(e,t,n){"use strict";n.d(t,{B6:function(){return H},ql:function(){return Q}});var r=n(7294),o=n(5697),a=n.n(o),i=n(9590),l=n.n(i),s=n(1143),u=n.n(s),c=n(6774),d=n.n(c);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function m(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map(function(e){return h[e]}),x={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},k=Object.keys(x).reduce(function(e,t){return e[x[t]]=t,e},{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,h.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,function(){return t});var r=S(e,"defaultTitle");return t||r||void 0},_=function(e,t){return t.filter(function(t){return void 0!==t[e]}).map(function(t){return t[e]}).reduce(function(e,t){return f({},e,t)},{})},C=function(e,t,n){var r={};return n.filter(function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)}).map(function(t){return t[e]}).reverse().reduce(function(e,n){var o={};n.filter(function(e){for(var n,a=Object.keys(e),i=0;i<a.length;i+=1){var l=a[i],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][u]&&(o[n][u]=!0,!0)}).reverse().forEach(function(t){return e.push(t)});for(var a=Object.keys(o),i=0;i<a.length;i+=1){var l=a[i],s=f({},r[l],o[l]);r[l]=s}return e},[]).reverse()},T=function(e,t){if(Array.isArray(e)&&e.length){for(var n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},N=function(e){return Array.isArray(e)?e.join(""):e},O=function(e,t){return Array.isArray(e)?e.reduce(function(e,n){return!function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.default.push(n):e.priority.push(n),e},{priority:[],default:[]}):{default:e}},A=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},j=[h.NOSCRIPT,h.SCRIPT,h.STYLE],P=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},L=function(e){return Object.keys(e).reduce(function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r},"")},R=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce(function(t,n){return t[x[n]||n]=e[n],t},t)},I=function(e,t){return t.map(function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach(function(e){var n=x[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]}),r.createElement(e,a)})},F=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){var e,n,o,a;return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=R(n,o),[r.createElement(h.TITLE,a,e)]},toString:function(){var r,o,a,i,l,s;return r=e,o=t.title,a=t.titleAttributes,i=n,l=L(a),s=N(o),l?"<"+r+' data-rh="true" '+l+">"+P(s,i)+"</"+r+">":"<"+r+' data-rh="true">'+P(s,i)+"</"+r+">"}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return R(t)},toString:function(){return L(t)}};default:return{toComponent:function(){return I(e,t)},toString:function(){var r,o,a;return r=e,o=t,a=n,o.reduce(function(e,t){var n=Object.keys(t).filter(function(e){return!("innerHTML"===e||"cssText"===e)}).reduce(function(e,n){var r=void 0===t[n]?n:n+'="'+P(t[n],a)+'"';return e?e+" "+r:r},""),o=t.innerHTML||t.cssText||"",i=-1===j.indexOf(r);return e+"<"+r+' data-rh="true" '+n+(i?"/>":">"+o+"</"+r+">")},"")}}}},D=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.noscriptTags,i=e.styleTags,l=e.title,s=e.titleAttributes,u=e.linkTags,c=e.metaTags,d=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var p,g,m,w,x,k,S,E=(g=(p=e).linkTags,m=p.scriptTags,w=p.encode,x=O(p.metaTags,v),k=O(g,b),S=O(m,y),{priorityMethods:{toComponent:function(){return[].concat(I(h.META,x.priority),I(h.LINK,k.priority),I(h.SCRIPT,S.priority))},toString:function(){return F(h.META,x.priority,w)+" "+F(h.LINK,k.priority,w)+" "+F(h.SCRIPT,S.priority,w)}},metaTags:x.default,linkTags:k.default,scriptTags:S.default});f=E.priorityMethods,u=E.linkTags,c=E.metaTags,d=E.scriptTags}return{priority:f,base:F(h.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",o,r),link:F(h.LINK,u,r),meta:F(h.META,c,r),noscript:F(h.NOSCRIPT,a,r),script:F(h.SCRIPT,d,r),style:F(h.STYLE,i,r),title:F(h.TITLE,{title:void 0===l?"":l,titleAttributes:s},r)}},M=[],z=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?M:n.instances},add:function(e){(n.canUseDOM?M:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?M:n.instances).indexOf(e);(n.canUseDOM?M:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=D({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},$=r.createContext({}),B=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),U="undefined"!=typeof document,H=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new z(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement($.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);H.canUseDOM=U,H.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},H.defaultProps={context:{}},H.displayName="HelmetProvider";var Z=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),o=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),i=[];return t&&t.length&&t.forEach(function(t){var r=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?r.innerHTML=t.innerHTML:"cssText"===o?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(o,void 0===t[o]?"":t[o]));r.setAttribute("data-rh","true"),a.some(function(e,t){return n=t,r.isEqualNode(e)})?a.splice(n,1):i.push(r)}),a.forEach(function(e){return e.parentNode.removeChild(e)}),i.forEach(function(e){return r.appendChild(e)}),{oldTags:a,newTags:i}},W=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),l=0;l<i.length;l+=1){var s=i[l],u=t[s]||"";n.getAttribute(s)!==u&&n.setAttribute(s,u),-1===o.indexOf(s)&&o.push(s);var c=a.indexOf(s);-1!==c&&a.splice(c,1)}for(var d=a.length-1;d>=0;d-=1)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},V=function(e,t){var n,r,o=e.baseTag,a=e.htmlAttributes,i=e.linkTags,l=e.metaTags,s=e.noscriptTags,u=e.onChangeClientState,c=e.scriptTags,d=e.styleTags,f=e.title,p=e.titleAttributes;W(h.BODY,e.bodyAttributes),W(h.HTML,a),n=f,r=p,void 0!==n&&document.title!==n&&(document.title=N(n)),W(h.TITLE,r);var g={baseTag:Z(h.BASE,o),linkTags:Z(h.LINK,i),metaTags:Z(h.META,l),noscriptTags:Z(h.NOSCRIPT,s),scriptTags:Z(h.SCRIPT,c),styleTags:Z(h.STYLE,d)},m={},b={};Object.keys(g).forEach(function(e){var t=g[e],n=t.newTags,r=t.oldTags;n.length&&(m[e]=n),r.length&&(b[e]=g[e].oldTags)}),t&&t(),u(e,m,b)},G=null,q=function(e){function t(){for(var t,n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,o=null,a={baseTag:(e=["href"],(t=n.helmetInstances.get().map(function(e){var t=f({},e.props);return delete t.context,t})).filter(function(e){return void 0!==e[h.BASE]}).map(function(e){return e[h.BASE]}).reverse().reduce(function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o+=1){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t},[])),bodyAttributes:_("bodyAttributes",t),defer:S(t,"defer"),encode:S(t,"encodeSpecialCharacters"),htmlAttributes:_("htmlAttributes",t),linkTags:C(h.LINK,["rel","href"],t),metaTags:C(h.META,["name","charset","http-equiv","property","itemprop"],t),noscriptTags:C(h.NOSCRIPT,["innerHTML"],t),onChangeClientState:S(t,"onChangeClientState")||function(){},scriptTags:C(h.SCRIPT,["src","innerHTML"],t),styleTags:C(h.STYLE,["cssText"],t),title:E(t),titleAttributes:_("titleAttributes",t),prioritizeSeoTags:T(t,"prioritizeSeoTags")};H.canUseDOM?(G&&cancelAnimationFrame(G),a.defer?G=requestAnimationFrame(function(){V(a,function(){G=null})}):(V(a),G=null)):D&&(o=D(a)),r(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);q.propTypes={context:B.isRequired},q.displayName="HelmetDispatcher";var Y=["children"],K=["children"],Q=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(A(this.props,"helmetData"),A(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return f({},o,((t={})[r.type]=i,t.titleAttributes=f({},a),t));case h.BODY:return f({},o,{bodyAttributes:f({},a)});case h.HTML:return f({},o,{htmlAttributes:f({},a)});default:return f({},o,((n={})[r.type]=f({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach(function(t){var r;n=f({},n,((r={})[t]=e[t],r))}),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some(function(t){return e.type===t}),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some(function(e){return"string"!=typeof e}),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return r.Children.forEach(e,function(e){if(e&&e.props){var r=e.props,a=r.children,i=m(r,Y),l=Object.keys(i).reduce(function(e,t){return e[k[t]||t]=i[t],e},{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,a),s){case h.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:l,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:a})}}}),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,K),o=f({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof z||(a=new z(a.context,a.instances)),a?r.createElement(q,f({},o,{context:a.value,helmetData:void 0})):r.createElement($.Consumer,null,function(e){return r.createElement(q,f({},o,{context:e}))})},t}(r.Component);Q.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},Q.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},Q.displayName="Helmet"},9921:function(e,t){"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,g=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function x(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case a:case l:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case h:case m:case s:return e;default:return t}}case o:return t}}}function k(e){return x(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=a,t.Lazy=h,t.Memo=m,t.Portal=o,t.Profiler=l,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return k(e)||x(e)===c},t.isConcurrentMode=k,t.isContextConsumer=function(e){return x(e)===u},t.isContextProvider=function(e){return x(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return x(e)===f},t.isFragment=function(e){return x(e)===a},t.isLazy=function(e){return x(e)===h},t.isMemo=function(e){return x(e)===m},t.isPortal=function(e){return x(e)===o},t.isProfiler=function(e){return x(e)===l},t.isStrictMode=function(e){return x(e)===i},t.isSuspense=function(e){return x(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===l||e===i||e===p||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===u||e.$$typeof===f||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=x},9864:function(e,t,n){"use strict";e.exports=n(9921)},8356:function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var l=n(7294),s=[],u=[],c=l.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then(function(e){return n.loading=!1,n.loaded=e,e}).catch(function(e){throw n.loading=!1,n.error=e,e}),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach(function(r){var o=d(e[r]);o.loading?t.loading=!0:(t.loaded[r]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then(function(e){t.loaded[r]=e}).catch(function(e){t.error=e})})}catch(e){t.error=e}return t.promise=Promise.all(n).then(function(e){return t.loading=!1,e}).catch(function(e){throw t.loading=!1,e}),t}function p(e,t){var n;return l.createElement((n=e)&&n.__esModule?n.default:n,t)}function g(e,t){if(!t.loading)throw Error("react-loadable requires a `loading` component");var d,f,g=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),m=null;function h(){return!m&&(m=e(g.loader)),m.promise}return s.push(h),"function"==typeof g.webpack&&u.push(function(){if((0,g.webpack)().every(function(e){return void 0!==e&&void 0!==n.m[e]}))return h()}),f=d=function(t){function n(n){var r;return a(o(o(r=t.call(this,n)||this)),"retry",function(){r.setState({error:null,loading:!0,timedOut:!1}),m=e(g.loader),r._loadModule()}),h(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(g.modules)&&g.modules.forEach(function(t){e.context.report(t)}),!!m.loading){var t=function(t){if(!!e._mounted)e.setState(t)};"number"==typeof g.delay&&(0===g.delay?this.setState({pastDelay:!0}):this._delay=setTimeout(function(){t({pastDelay:!0})},g.delay)),"number"==typeof g.timeout&&(this._timeout=setTimeout(function(){t({timedOut:!0})},g.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then(function(){return n(),null}).catch(function(e){return n(),null})}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?l.createElement(g.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?g.render(this.state.loaded,this.props):null},n}(l.Component),a(d,"contextType",c),f}function m(e){return g(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw Error("LoadableMap requires a `render(loaded, props)` function");return g(f,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return l.createElement(c.Provider,{value:{report:this.props.report}},l.Children.only(this.props.children))},t}(l.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then(function(){if(e.length)return b(e)})}m.Capture=h,m.preloadAll=function(){return new Promise(function(e,t){b(s).then(e,t)})},m.preloadReady=function(){return new Promise(function(e,t){b(u).then(e,e)})},e.exports=m},8790:function(e,t,n){"use strict";n.d(t,{H:function(){return i},f:function(){return function e(t,n,o){return void 0===o&&(o=[]),t.some(function(t){var a=t.path?(0,r.LX)(n,t):o.length?o[o.length-1].match:r.F0.computeRootMatch(n);return a&&(o.push({route:t,match:a}),t.routes&&e(t.routes,n,o)),a}),o}}});var r=n(6550),o=n(6019),a=n(7294);function i(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(r.rs,n,e.map(function(e,n){return a.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.Z)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.Z)({},n,t,{route:e}))}})})):null}},3727:function(e,t,n){"use strict";n.d(t,{OL:function(){return w},UT:function(){return d},VK:function(){return c},rU:function(){return b}});var r=n(6550),o=n(5091),a=n(7294),i=n(1381),l=n(6019),s=n(443),u=n(1835),c=function(e){function t(){for(var t,n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(r.F0,{history:this.history,children:this.props.children})},t}(a.Component),d=function(e){function t(){for(var t,n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.q_)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(r.F0,{history:this.history,children:this.props.children})},t}(a.Component),f=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},g=function(e){return e},m=a.forwardRef;void 0===m&&(m=g);var h=m(function(e,t){var n=e.innerRef,r=e.navigate,o=e.onClick,i=(0,s.Z)(e,["innerRef","navigate","onClick"]),u=i.target,c=(0,l.Z)({},i,{onClick:function(e){var t;try{o&&o(e)}catch(t){throw e.preventDefault(),t}if(!e.defaultPrevented&&0===e.button&&(!u||"_self"===u)&&!((t=e).metaKey||t.altKey||t.ctrlKey||t.shiftKey))e.preventDefault(),r()}});return g!==m?c.ref=t||n:c.ref=n,a.createElement("a",c)}),b=m(function(e,t){var n=e.component,o=void 0===n?h:n,c=e.replace,d=e.to,b=e.innerRef,y=(0,s.Z)(e,["component","replace","to","innerRef"]);return a.createElement(r.s6.Consumer,null,function(e){e||(0,u.Z)(!1);var n=e.history,r=p(f(d,e.location),e.location),s=r?n.createHref(r):"",h=(0,l.Z)({},y,{href:s,navigate:function(){var t=f(d,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(p(t));(c||r?n.replace:n.push)(t)}});return g!==m?h.ref=t||b:h.innerRef=b,a.createElement(o,h)})}),y=function(e){return e},v=a.forwardRef;void 0===v&&(v=y);var w=v(function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,d=e.activeStyle,g=e.className,m=e.exact,h=e.isActive,w=e.location,x=e.sensitive,k=e.strict,S=e.style,E=e.to,_=e.innerRef,C=(0,s.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(r.s6.Consumer,null,function(e){e||(0,u.Z)(!1);var n=w||e.location,i=p(f(E,n),n),s=i.pathname,T=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),N=T?(0,r.LX)(n.pathname,{path:T,exact:m,sensitive:x,strict:k}):null,O=!!(h?h(N,n):N),A="function"==typeof g?g(O):g,j="function"==typeof S?S(O):S;O&&(A=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return e}).join(" ")}(A,c),j=(0,l.Z)({},j,d));var P=(0,l.Z)({"aria-current":O&&o||null,className:A,style:j,to:i},C);return y!==v?P.ref=t||_:P.innerRef=_,a.createElement(b,P)})})},6550:function(e,t,n){"use strict";n.d(t,{AW:function(){return x},F0:function(){return b},LX:function(){return w},TH:function(){return C},k6:function(){return _},rs:function(){return S},s6:function(){return h}});var r=n(5091),o=n(7294),a=n(5697),i=n.n(a),l=n(1381),s=n(1835),u=n(6019),c=n(9658),d=n.n(c);n(9864),n(443),n(8679);var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{},p=o.createContext||function(e,t){var n,a,l,s="__create-react-context-"+(f[n="__global_unique_id__"]=(f[n]||0)+1)+"__",u=function(e){function n(){for(var t,n,r,o=arguments.length,a=Array(o),i=0;i<o;i++)a[i]=arguments[i];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter(function(t){return t!==e})},get:function(){return n},set:function(e,t){n=e,r.forEach(function(e){return e(n,t)})}}),t}(0,r.Z)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r,o,a=this.props.value,i=e.value;if((n=a)===(r=i)?0!==n||1/n==1/r:n!=n&&r!=r)o=0;else{o="function"==typeof t?t(a,i):0x3fffffff;0!=(o|=0)&&this.emitter.set(e.value,o)}}},o.render=function(){return this.props.children},n}(o.Component);u.childContextTypes=((a={})[s]=i().object.isRequired,a);var c=function(t){function n(){for(var e,n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){((0|e.observedBits)&n)!=0&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?0x3fffffff:t},o.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?0x3fffffff:e},o.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},o.getValue=function(){return this.context[s]?this.context[s].get():e},o.render=function(){var e;return(Array.isArray(e=this.props.children)?e[0]:e)(this.state.value)},n}(o.Component);return c.contextTypes=((l={})[s]=i().object,l),{Provider:u,Consumer:c}},g=function(e){var t=p();return t.displayName=e,t},m=g("Router-History"),h=g("Router"),b=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,!t.staticContext&&(n.unlisten=t.history.listen(function(e){n._pendingLocation=e})),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),!this.props.staticContext&&(this.unlisten=this.props.history.listen(function(t){e._isMounted&&e.setState({location:t})})),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(h.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var y={},v=0;function w(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,l=void 0!==i&&i,s=n.sensitive,u=void 0!==s&&s;return[].concat(r).reduce(function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=y[n]||(y[n]={});if(r[e])return r[e];var o=[],a={regexp:d()(e,o,t),keys:o};return v<1e4&&(r[e]=a,v++),a}(n,{end:a,strict:l,sensitive:u}),o=r.regexp,i=r.keys,s=o.exec(e);if(!s)return null;var c=s[0],f=s.slice(1),p=e===c;return a&&!p?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:p,params:i.reduce(function(e,t,n){return e[t.name]=f[n],e},{})}},null)}var x=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(h.Consumer,null,function(t){t||(0,s.Z)(!1);var n,r=e.props.location||t.location,a=e.props.computedMatch?e.props.computedMatch:e.props.path?w(r.pathname,e.props):t.match,i=(0,u.Z)({},t,{location:r,match:a}),l=e.props,c=l.children,d=l.component,f=l.render;if(Array.isArray(c)&&(n=c,0===o.Children.count(n)))c=null;return o.createElement(h.Provider,{value:i},i.match?c?"function"==typeof c?c(i):c:d?o.createElement(d,i):f?f(i):null:"function"==typeof c?c(i):null)})},t}(o.Component);function k(e){return"/"===e.charAt(0)?e:"/"+e}o.Component;var S=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(h.Consumer,null,function(t){t||(0,s.Z)(!1);var n,r,a=e.props.location||t.location;return o.Children.forEach(e.props.children,function(e){if(null==r&&o.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?w(a.pathname,(0,u.Z)({},e.props,{path:i})):t.match}}),r?o.cloneElement(n,{location:a,computedMatch:r}):null})},t}(o.Component),E=o.useContext;function _(){return E(m)}function C(){return E(h).location}},9658:function(e,t,n){var r=n(5826);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=d;var o=RegExp("(\\\\.)|([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))","g");function a(e,t){for(var n,r=[],a=0,i=0,l="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var c=n[0],d=n[1],f=n.index;if(l+=e.slice(i,f),i=f+c.length,d){l+=d[1];continue}var p=e[i],g=n[2],m=n[3],h=n[4],b=n[5],y=n[6],v=n[7];l&&(r.push(l),l="");var w=null!=g&&null!=p&&p!==g,x="+"===y||"*"===y,k="?"===y||"*"===y,S=g||u,E=h||b,_=g||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:m||a++,prefix:g||"",delimiter:S,optional:k,repeat:x,partial:w,asterisk:!!v,pattern:E?function(e){return e.replace(/([=!:$\/()])/g,"\\$1")}(E):v?".*":function(e,t){return!t||t.indexOf(e)>-1?"[^"+s(e)+"]+?":s(t)+"|(?:(?!"+s(t)+")[^"+s(e)+"])+?"}(S,_)})}return i<e.length&&(l+=e.substr(i)),l&&r.push(l),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function l(e,t){for(var n=Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=RegExp("^(?:"+e[o].pattern+")$",c(t)));return function(t,o){for(var a="",l=t||{},s=(o||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c,d=e[u];if("string"==typeof d){a+=d;continue}var f=l[d.name];if(null==f){if(d.optional){d.partial&&(a+=d.prefix);continue}throw TypeError('Expected "'+d.name+'" to be defined')}if(r(f)){if(!d.repeat)throw TypeError('Expected "'+d.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(d.optional)continue;throw TypeError('Expected "'+d.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(c=s(f[p]),!n[u].test(c))throw TypeError('Expected all "'+d.name+'" to match "'+d.pattern+'", but received `'+JSON.stringify(c)+"`");a+=(0===p?d.prefix:d.delimiter)+c}continue}if(c=d.asterisk?encodeURI(f).replace(/[?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}):s(f),!n[u].test(c))throw TypeError('Expected "'+d.name+'" to match "'+d.pattern+'", but received "'+c+'"');a+=d.prefix+c}return a}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e,t){return e.keys=t,e}function c(e){return e&&e.sensitive?"":"i"}function d(e,t,n){!r(t)&&(n=t||n,t=[]);for(var o,a,i=(n=n||{}).strict,l=!1!==n.end,u="",d=0;d<e.length;d++){var f=e[d];if("string"==typeof f)u+=s(f);else{var p=s(f.prefix),g="(?:"+f.pattern+")";t.push(f),f.repeat&&(g+="(?:"+p+g+")*"),u+=g=f.optional?f.partial?p+"("+g+")?":"(?:"+p+"("+g+"))?":p+"("+g+")"}}var m=s(n.delimiter||"/"),h=u.slice(-m.length)===m;return!i&&(u=(h?u.slice(0,-m.length):u)+"(?:"+m+"(?=$))?"),l?u+="$":u+=i&&h?"":"(?="+m+"|$)",o=RegExp("^"+u,c(n)),a=t,o.keys=a,o}function f(e,t,n){var o,i,l;if(!r(t)&&(n=t||n,t=[]),n=n||{},e instanceof RegExp)return function(e,t){var n,r,o=e.source.match(/\((?!\?)/g);if(o)for(var a=0;a<o.length;a++)t.push({name:a,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return n=e,r=t,n.keys=r,n}(e,t);if(r(e))return function(e,t,n){for(var r,o,a=[],i=0;i<e.length;i++)a.push(f(e[i],t,n).source);return r=RegExp("(?:"+a.join("|")+")",c(n)),o=t,r.keys=o,r}(e,t,n);return o=e,i=t,d(a(o,l=n),i,l)}},5251:function(e,t,n){"use strict";var r=n(7294),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,a={},u=null,c=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:u,ref:c,props:a,_owner:l.current}}t.Fragment=a,t.jsx=u,t.jsxs=u},2408:function(e,t){"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||g}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||g}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=b.prototype;var w=v.prototype=new y;w.constructor=v,m(w,b.prototype),w.isPureReactComponent=!0;var x=Array.isArray,k=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var o,a={},i=null,l=null;if(null!=t)for(o in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)k.call(t,o)&&!E.hasOwnProperty(o)&&(a[o]=t[o]);var s=arguments.length-2;if(1===s)a.children=r;else if(1<s){for(var u=Array(s),c=0;c<s;c++)u[c]=arguments[c+2];a.children=u}if(e&&e.defaultProps)for(o in s=e.defaultProps)void 0===a[o]&&(a[o]=s[o]);return{$$typeof:n,type:e,key:i,ref:l,props:a,_owner:S.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function N(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function O(e,t,o){if(null==e)return e;var a=[],i=0;return!function e(t,o,a,i,l){var s,u,c,d=typeof t;("undefined"===d||"boolean"===d)&&(t=null);var f=!1;if(null===t)f=!0;else switch(d){case"string":case"number":f=!0;break;case"object":switch(t.$$typeof){case n:case r:f=!0}}if(f){;return l=l(f=t),t=""===i?"."+N(f,0):i,x(l)?(a="",null!=t&&(a=t.replace(T,"$&/")+"/"),e(l,o,a,"",function(e){return e})):null!=l&&(C(l)&&(s=l,u=a+(!l.key||f&&f.key===l.key?"":(""+l.key).replace(T,"$&/")+"/")+t,l={$$typeof:n,type:s.type,key:u,ref:s.ref,props:s.props,_owner:s._owner}),o.push(l)),1}if(f=0,i=""===i?".":i+":",x(t))for(var g=0;g<t.length;g++){var m=i+N(d=t[g],g);f+=e(d,o,a,m,l)}else{;if("function"==typeof(m=null===(c=t)||"object"!=typeof c?null:"function"==typeof(c=p&&c[p]||c["@@iterator"])?c:null))for(t=m.call(t),g=0;!(d=t.next()).done;)m=i+N(d=d.value,g++),f+=e(d,o,a,m,l);else if("object"===d)throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(o=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":o)+"). If you meant to render a collection of children, use an array instead.")}return f}(e,a,"","",function(e){return t.call(o,e,i++)}),a}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var j={current:null},P={transition:null};function L(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:O,forEach:function(e,t,n){O(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return O(e,function(){t++}),t},toArray:function(e){return O(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=o,t.Profiler=i,t.PureComponent=v,t.StrictMode=a,t.Suspense=c,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED={ReactCurrentDispatcher:j,ReactCurrentBatchConfig:P,ReactCurrentOwner:S},t.act=L,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=m({},e.props),a=e.key,i=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,l=S.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)k.call(t,u)&&!E.hasOwnProperty(u)&&(o[u]=void 0===t[u]&&void 0!==s?s[u]:t[u])}var u=arguments.length-2;if(1===u)o.children=r;else if(1<u){s=Array(u);for(var c=0;c<u;c++)s[c]=arguments[c+2];o.children=s}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:l}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=_,t.createFactory=function(e){var t=_.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=L,t.useCallback=function(e,t){return j.current.useCallback(e,t)},t.useContext=function(e){return j.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return j.current.useDeferredValue(e)},t.useEffect=function(e,t){return j.current.useEffect(e,t)},t.useId=function(){return j.current.useId()},t.useImperativeHandle=function(e,t,n){return j.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return j.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return j.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return j.current.useMemo(e,t)},t.useReducer=function(e,t,n){return j.current.useReducer(e,t,n)},t.useRef=function(e){return j.current.useRef(e)},t.useState=function(e){return j.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return j.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return j.current.useTransition()},t.version="18.3.1"},7294:function(e,t,n){"use strict";e.exports=n(2408)},5893:function(e,t,n){"use strict";e.exports=n(5251)},53:function(e,t){"use strict";function n(e,t){var n=e.length;for(e.push(t);0<n;){var r=n-1>>>1,o=e[r];if(0<a(o,t))e[r]=t,e[n]=o,n=r;else break}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;for(var r=0,o=e.length,i=o>>>1;r<i;){var l=2*(r+1)-1,s=e[l],u=l+1,c=e[u];if(0>a(s,n))u<o&&0>a(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[l]=n,r=l);else if(u<o&&0>a(c,n))e[r]=c,e[u]=n,r=u;else break}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i,l=performance;t.unstable_now=function(){return l.now()}}else{var s=Date,u=s.now();t.unstable_now=function(){return s.now()-u}}var c=[],d=[],f=1,p=null,g=3,m=!1,h=!1,b=!1,y="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=r(d);null!==t;){if(null===t.callback)o(d);else if(t.startTime<=e)o(d),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(d)}}function k(e){if(b=!1,x(e),!h){if(null!==r(c))h=!0,L(S);else{var t=r(d);null!==t&&R(k,t.startTime-e)}}}function S(e,n){h=!1,b&&(b=!1,v(C),C=-1),m=!0;var a=g;try{for(x(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!O());){var i=p.callback;if("function"==typeof i){p.callback=null,g=p.priorityLevel;var l=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?p.callback=l:p===r(c)&&o(c),x(n)}else o(c);p=r(c)}if(null!==p)var s=!0;else{var u=r(d);null!==u&&R(k,u.startTime-n),s=!1}return s}finally{p=null,g=a,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var E=!1,_=null,C=-1,T=5,N=-1;function O(){return!(t.unstable_now()-N<T)}function A(){if(null!==_){var e=t.unstable_now();N=e;var n=!0;try{n=_(!0,e)}finally{n?i():(E=!1,_=null)}}else E=!1}if("function"==typeof w)i=function(){w(A)};else if("undefined"!=typeof MessageChannel){var j=new MessageChannel,P=j.port2;j.port1.onmessage=A,i=function(){P.postMessage(null)}}else i=function(){y(A,0)};function L(e){_=e,E||(E=!0,i())}function R(e,n){C=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||m||(h=!0,L(S))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return g},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(g){case 1:case 2:case 3:var t=3;break;default:t=g}var n=g;g=t;try{return e()}finally{g=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=g;g=e;try{return t()}finally{g=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch(a="object"==typeof a&&null!==a?"number"==typeof(a=a.delay)&&0<a?i+a:i:i,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=0x3fffffff;break;case 4:l=1e4;break;default:l=5e3}return l=a+l,e={id:f++,callback:o,priorityLevel:e,startTime:a,expirationTime:l,sortIndex:-1},a>i?(e.sortIndex=a,n(d,e),null===r(c)&&e===r(d)&&(b?(v(C),C=-1):b=!0,R(k,a-i))):(e.sortIndex=l,n(c,e),h||m||(h=!0,L(S))),e},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(e){var t=g;return function(){var n=g;g=t;try{return e.apply(this,arguments)}finally{g=n}}}},3840:function(e,t,n){"use strict";e.exports=n(53)},6774:function(e){e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<a.length;s++){var u=a[s];if(!l(u))return!1;var c=e[u],d=t[u];if(!1===(o=n?n.call(r,c,d,u):void 0)||void 0===o&&c!==d)return!1}return!0}},4143:function(e,t,n){"use strict";n.d(t,{Z:()=>f}),n("7294");var r=n("5893"),o=n("8356"),a=n.n(o),i=n("7138");let l={"019369f3":[()=>n.e("4958").then(n.bind(n,937)),"@site/docs/guides/monitoring.md",937],"058ffc22":[()=>n.e("7495").then(n.bind(n,4273)),"@site/docs/meta/xtce.md",4273],"0686a885":[()=>n.e("7739").then(n.bind(n,561)),"@site/docs/development/log-structure.md",561],"078dbab0":[()=>n.e("6603").then(n.bind(n,657)),"@site/src/pages/markdown-page.md",657],"0f5d161c":[()=>n.e("7243").then(n.bind(n,7456)),"@site/docs/tools/script-runner.md",7456],"0ff569c9":[()=>n.e("4045").then(n.bind(n,6974)),"@site/docs/introduction.md",6974],"103cc3be":[()=>n.e("9607").then(n.bind(n,9275)),"@site/docs/tools/autonomic.md",9275],0xc95bd8:[()=>n.e("8530").then(n.bind(n,3304)),"@site/docs/tools/calendar.md",3304],"13c1b4e4":[()=>n.e("3350").then(n.bind(n,8818)),"@site/docs/tools/data-viewer.md",8818],"2047b354":[()=>n.e("442").then(n.bind(n,6112)),"@site/docs/tools/packet-viewer.md",6112],"22b3ac48":[()=>n.e("9146").then(n.bind(n,317)),"@site/docs/guides/raspberrypi.md",317],"26b8abb2":[()=>n.e("3380").then(n.bind(n,1359)),"@theme/DocsRoot",1359],"2bb7bf90":[()=>n.e("7637").then(n.bind(n,9230)),"@site/docs/getting-started/generators.md",9230],"3dd7ef3b":[()=>n.e("7810").then(n.bind(n,70)),"@site/docs/meta/contributing.md",70],"40365d27":[()=>n.e("4593").then(n.bind(n,254)),"@site/docs/tools/tlm-grapher.md",254],"411898ad":[()=>n.e("602").then(n.bind(n,2079)),"@site/docs/development/curl.md",2079],0x28377ef:[()=>n.e("8847").then(n.bind(n,8593)),"@site/docs/guides/script-writing.md",8593],"43652efd":[()=>n.e("9945").then(n.bind(n,4736)),"@site/docs/tools/data-extractor.md",4736],"53ca7c5b":[()=>n.e("1286").then(n.bind(n,8688)),"@theme/DocVersionRoot",8688],"54d0d530":[()=>n.e("7471").then(n.bind(n,9598)),"@site/docs/tools/limits-monitor.md",9598],"5b233ba7":[()=>n.e("3522").then(n.bind(n,170)),"@site/docs/meta/licenses.md",170],"5bc719f6":[()=>n.e("659").then(n.bind(n,3850)),"@site/docs/getting-started/podman.md",3850],"5c6ce5ec":[()=>n.e("7258").then(n.bind(n,3514)),"@site/docs/development/streaming-api.md",3514],"5e3ed378":[()=>Promise.all([n.e("6212"),n.e("9395"),n.e("1848")]).then(n.bind(n,8402)),"@theme/MDXPage",8402],"5fe211ef":[()=>n.e("9879").then(n.bind(n,6277)),"@site/docs/configuration/table.md",6277],"6831b732":[()=>n.e("3927").then(n.bind(n,2784)),"@site/docs/configuration/plugins.md",2784],"68598e7e":[()=>Promise.resolve().then(n.bind(n,5150)),"@generated/docusaurus.config",5150],"696b4199":[()=>n.e("9880").then(n.bind(n,9267)),"@site/docs/configuration/ssl-tls.md",9267],"6b210247":[()=>n.e("3041").then(n.bind(n,2559)),"@site/docs/getting-started/requirements.md",2559],"6b65133b":[()=>n.e("1417").then(n.bind(n,1624)),"@site/docs/tools/tlm-viewer.md",1624],"6f92e431":[()=>n.e("5390").then(n.bind(n,9280)),"@site/docs/development/roadmap.md",9280],"6f9ac1e3":[()=>n.e("9270").then(n.t.bind(n,5172,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-meta-7f3.json",5172],"72c6d8a8":[()=>n.e("9278").then(n.bind(n,2812)),"@site/docs/configuration/command.md",2812],0x4861a19:[()=>n.e("4592").then(n.t.bind(n,2050,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",2050],"75e64983":[()=>n.e("2448").then(n.bind(n,8944)),"@site/docs/getting-started/upgrading.md",8944],"7f8d7499":[()=>n.e("1246").then(n.t.bind(n,8654,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-configuration-a41.json",8654],"80a8ecf5":[()=>n.e("3822").then(n.t.bind(n,5440,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-guides-790.json",5440],"80c97f38":[()=>n.e("7072").then(n.bind(n,5066)),"@site/docs/tools/command_history.md",5066],"848bfa8e":[()=>n.e("7658").then(n.t.bind(n,3657,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-18d.json",3657],"867640d5":[()=>n.e("3649").then(n.bind(n,1362)),"@site/docs/guides/cfs.md",1362],"89e76475":[()=>n.e("4456").then(n.bind(n,1867)),"@site/docs/tools/bucket-explorer.md",1867],"8f7843ee":[()=>n.e("6449").then(n.bind(n,7993)),"@site/docs/guides/logging.md",7993],"9424f0b3":[()=>n.e("8156").then(n.bind(n,1956)),"@site/docs/configuration/telemetry-screens.md",1956],0x5d046df:[()=>n.e("3824").then(n.bind(n,7319)),"@site/docs/development/testing.md",7319],"99581c43":[()=>n.e("1615").then(n.bind(n,8749)),"@site/docs/guides/custom-widgets.md",8749],"9d6e81d0":[()=>Promise.all([n.e("6212"),n.e("2278")]).then(n.bind(n,104)),"@site/src/pages/index.js",104],"9fb6059a":[()=>n.e("5878").then(n.bind(n,2595)),"@site/docs/privacy.md",2595],a677c089:[()=>n.e("8519").then(n.bind(n,3368)),"@site/docs/configuration/interfaces.md",3368],a9987364:[()=>n.e("1364").then(n.bind(n,1908)),"@site/docs/getting-started/gettingstarted.md",1908],aa6b6c1b:[()=>n.e("3800").then(n.bind(n,556)),"@site/docs/guides/scripting-api.md",556],b4596165:[()=>n.e("2358").then(n.bind(n,1621)),"@site/docs/tools/table-manager.md",1621],b6d70f94:[()=>n.e("8197").then(n.bind(n,503)),"@site/docs/configuration/protocols.md",503],b9f60ba6:[()=>n.e("9474").then(n.bind(n,1986)),"@site/docs/configuration/target.md",1986],bd0034eb:[()=>n.e("314").then(n.bind(n,772)),"@site/docs/guides/bridges.md",772],c24eae19:[()=>n.e("7306").then(n.bind(n,247)),"@site/docs/development/developing.md",247],c5388ca4:[()=>n.e("6649").then(n.t.bind(n,2418,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",2418],cb8c3f08:[()=>n.e("4986").then(n.bind(n,9022)),"@site/docs/tools/cmd-sender.md",9022],cd879be4:[()=>n.e("2415").then(n.bind(n,4633)),"@site/docs/tools/handbooks.md",4633],d1b923aa:[()=>n.e("4706").then(n.bind(n,5351)),"@site/docs/guides/performance.md",5351],d1bfc316:[()=>Promise.all([n.e("6212"),n.e("9997")]).then(n.bind(n,2001)),"@theme/DocRoot",2001],d24bf9b6:[()=>n.e("2977").then(n.bind(n,7891)),"@site/docs/configuration/format.md",7891],d57a4b5d:[()=>n.e("3054").then(n.bind(n,9383)),"@site/docs/development/json-api.md",9383],d5d77c37:[()=>n.e("5360").then(n.bind(n,3611)),"@site/docs/tools/cmd-tlm-server.md",3611],d66bf9c0:[()=>n.e("6868").then(n.bind(n,4946)),"@site/docs/configuration/accessors.md",4946],d8ca4191:[()=>n.e("8593").then(n.bind(n,713)),"@site/docs/guides/little-endian-bitfields.md",713],d9b92eba:[()=>n.e("9148").then(n.bind(n,7728)),"@site/docs/meta/philosophy.md",7728],db8fa1d0:[()=>n.e("4737").then(n.bind(n,6823)),"@site/docs/getting-started/installation.md",6823],dbe31111:[()=>n.e("9564").then(n.bind(n,8729)),"@site/docs/tools/admin.md",8729],dc5f7beb:[()=>Promise.all([n.e("6212"),n.e("9395"),n.e("1029")]).then(n.bind(n,5390)),"@theme/DocItem",5390],e07a6232:[()=>n.e("6477").then(n.t.bind(n,3176,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-development-1fb.json",3176],e501b0d1:[()=>n.e("8884").then(n.bind(n,1433)),"@site/docs/guides/local-mode.md",1433],e91075a4:[()=>n.e("9578").then(n.t.bind(n,8445,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-getting-started-1c9.json",8445],ebec1ccb:[()=>n.e("8713").then(n.bind(n,7989)),"@site/docs/getting-started/key_concepts.md",7989],f15615f1:[()=>n.e("8501").then(n.bind(n,7303)),"@site/docs/configuration/telemetry.md",7303],f9ac6a79:[()=>n.e("6239").then(n.t.bind(n,2645,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-tools-36f.json",2645],fd886806:[()=>Promise.all([n.e("6212"),n.e("4809"),n.e("4521")]).then(n.bind(n,3543)),"@theme/DocCategoryGeneratedIndexPage",3543]};function s(e){let{error:t,retry:n,pastDelay:o}=e;return t?(0,r.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,r.jsx)("p",{children:String(t)}),(0,r.jsx)("div",{children:(0,r.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):o?(0,r.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,r.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,r.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,r.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,r.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,r.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,r.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,r.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,r.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n("6464"),c=n("4879");function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e("9196").then(n.bind(n,5672)),modules:["@theme/NotFound"],webpack:()=>[5672],render(e,t){let n=e.default;return(0,r.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,r.jsx)(n,{...t})})}});let o=i[`${e}-${t}`],d={},f=[],p=[];return Object.entries((0,u.Z)(o)).forEach(e=>{let[t,n]=e,r=l[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))}),a().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){let a=JSON.parse(JSON.stringify(o));Object.entries(t).forEach(t=>{let[n,r]=t,o=r.default;if(!o)throw Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);("object"==typeof o||"function"==typeof o)&&Object.keys(r).filter(e=>"default"!==e).forEach(e=>{o[e]=r[e]});let i=a,l=n.split(".");l.slice(0,-1).forEach(e=>{i=i[e]}),i[l[l.length-1]]=o});let i=a.__comp;delete a.__comp;let l=a.__context;delete a.__context;let s=a.__props;return delete a.__props,(0,r.jsx)(c.z,{value:l,children:(0,r.jsx)(i,{...a,...s,...n})})}})}let f=[{path:"/markdown-page",component:d("/markdown-page","661"),exact:!0},{path:"/docs",component:d("/docs","34d"),routes:[{path:"/docs",component:d("/docs","9ba"),routes:[{path:"/docs",component:d("/docs","6ec"),routes:[{path:"/docs",component:d("/docs","81e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration",component:d("/docs/configuration","0d9"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/accessors",component:d("/docs/configuration/accessors","768"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/command",component:d("/docs/configuration/command","858"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/format",component:d("/docs/configuration/format","61b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/interfaces",component:d("/docs/configuration/interfaces","90e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/plugins",component:d("/docs/configuration/plugins","8ae"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/protocols",component:d("/docs/configuration/protocols","53e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/ssl-tls",component:d("/docs/configuration/ssl-tls","eae"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/table",component:d("/docs/configuration/table","295"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/target",component:d("/docs/configuration/target","ea0"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/telemetry",component:d("/docs/configuration/telemetry","106"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/configuration/telemetry-screens",component:d("/docs/configuration/telemetry-screens","8d4"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development",component:d("/docs/development","59e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/curl",component:d("/docs/development/curl","724"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/developing",component:d("/docs/development/developing","929"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/json-api",component:d("/docs/development/json-api","b5b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/log-structure",component:d("/docs/development/log-structure","e3a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/roadmap",component:d("/docs/development/roadmap","e2d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/streaming-api",component:d("/docs/development/streaming-api","8fc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/development/testing",component:d("/docs/development/testing","93d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started",component:d("/docs/getting-started","625"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/generators",component:d("/docs/getting-started/generators","6a7"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/gettingstarted",component:d("/docs/getting-started/gettingstarted","c63"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/installation",component:d("/docs/getting-started/installation","fb0"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/key_concepts",component:d("/docs/getting-started/key_concepts","0ac"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/podman",component:d("/docs/getting-started/podman","d73"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/requirements",component:d("/docs/getting-started/requirements","b1f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/getting-started/upgrading",component:d("/docs/getting-started/upgrading","1c3"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides",component:d("/docs/guides","85b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/bridges",component:d("/docs/guides/bridges","8f6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/cfs",component:d("/docs/guides/cfs","175"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/custom-widgets",component:d("/docs/guides/custom-widgets","664"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/little-endian-bitfields",component:d("/docs/guides/little-endian-bitfields","862"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/local-mode",component:d("/docs/guides/local-mode","02e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/logging",component:d("/docs/guides/logging","672"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/monitoring",component:d("/docs/guides/monitoring","fc1"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/performance",component:d("/docs/guides/performance","4c2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/raspberrypi",component:d("/docs/guides/raspberrypi","472"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/script-writing",component:d("/docs/guides/script-writing","325"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/guides/scripting-api",component:d("/docs/guides/scripting-api","585"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta",component:d("/docs/meta","f76"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/contributing",component:d("/docs/meta/contributing","04d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/licenses",component:d("/docs/meta/licenses","c2c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/philosophy",component:d("/docs/meta/philosophy","19e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/meta/xtce",component:d("/docs/meta/xtce","33c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/privacy",component:d("/docs/privacy","90d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools",component:d("/docs/tools","35e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/admin",component:d("/docs/tools/admin","0a2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/autonomic",component:d("/docs/tools/autonomic","bdf"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/bucket-explorer",component:d("/docs/tools/bucket-explorer","f54"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/calendar",component:d("/docs/tools/calendar","a99"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/cmd-sender",component:d("/docs/tools/cmd-sender","b54"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/cmd-tlm-server",component:d("/docs/tools/cmd-tlm-server","6ff"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/command_history",component:d("/docs/tools/command_history","bb9"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/data-extractor",component:d("/docs/tools/data-extractor","107"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/data-viewer",component:d("/docs/tools/data-viewer","7f2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/handbooks",component:d("/docs/tools/handbooks","611"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/limits-monitor",component:d("/docs/tools/limits-monitor","ae6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/packet-viewer",component:d("/docs/tools/packet-viewer","b7d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/script-runner",component:d("/docs/tools/script-runner","244"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/table-manager",component:d("/docs/tools/table-manager","1ae"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/tlm-grapher",component:d("/docs/tools/tlm-grapher","518"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/tools/tlm-viewer",component:d("/docs/tools/tlm-viewer","e41"),exact:!0,sidebar:"defaultSidebar"}]}]}]},{path:"/",component:d("/","408"),exact:!0},{path:"*",component:d("*")}]},258:function(e,t,n){"use strict";n.d(t,{_:function(){return a},t:function(){return i}});var r=n(5893),o=n(7294);let a=o.createContext(!1);function i(e){let{children:t}=e,[n,i]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{i(!0)},[]),(0,r.jsx)(a.Provider,{value:n,children:t})}},2465:function(e,t,n){"use strict";var r=n("5893"),o=n("7294"),a=n("745"),i=n("405"),l=n("3727"),s=n("5150"),u=n("7565");let c=[n(3601),n(1569),n(1987),n(7686)];var d=n("4143"),f=n("6550"),p=n("8790");function g(e){let{children:t}=e;return(0,r.jsx)(r.Fragment,{children:t})}var m=n("4819"),h=n("2933"),b=n("4757"),y=n("140"),v=n("4713"),w=n("8910"),x=n("6959"),k=n("8365"),S=n("4315");function E(){let{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),o=(0,w.l)(),a=n[e].htmlLang,i=e=>e.replace("-","_");return(0,r.jsxs)(m.Z,{children:[Object.entries(n).map(e=>{let[t,{htmlLang:n}]=e;return(0,r.jsx)("link",{rel:"alternate",href:o.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)}),(0,r.jsx)("link",{rel:"alternate",href:o.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,r.jsx)("meta",{property:"og:locale",content:i(a)}),Object.values(n).filter(e=>a!==e.htmlLang).map(e=>(0,r.jsx)("meta",{property:"og:locale:alternate",content:i(e.htmlLang)},`meta-og-${e.htmlLang}`))]})}function _(e){let{permalink:t}=e,{siteConfig:{url:n}}=(0,h.Z)(),o=function(){let{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,f.TH)();return e+(0,k.applyTrailingSlash)((0,b.ZP)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:o;return(0,r.jsxs)(m.Z,{children:[(0,r.jsx)("meta",{property:"og:url",content:a}),(0,r.jsx)("link",{rel:"canonical",href:a})]})}function C(){let{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(m.Z,{children:[(0,r.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,r.jsx)("body",{className:x.h})]}),n&&(0,r.jsx)(v.d,{image:n}),(0,r.jsx)(_,{}),(0,r.jsx)(E,{}),(0,r.jsx)(S.Z,{tag:"default",locale:e}),(0,r.jsx)(m.Z,{children:t.map((e,t)=>(0,r.jsx)("meta",{...e},t))})]})}let T=new Map;var N=n("258"),O=n("1716"),A=n("2000");function j(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];let o=c.map(t=>{let r=t.default?.[e]??t[e];return r?.(...n)});return()=>o.forEach(e=>e?.())}let P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,A.Z)(()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;let r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;let{hash:i}=t;if(i){let e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),j("onRouteDidUpdate",{previousLocation:r,location:n}))},[r,n]),t};function L(e){return Promise.all(Array.from(new Set([e,decodeURI(e)])).map(e=>(0,p.f)(d.Z,e)).flat().map(e=>e.route.component.preload?.()))}class R extends o.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=u.Z.canUseDOM?j("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;let n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=j("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then(()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})}).catch(e=>{console.warn(e),window.location.reload()}),!1}render(){let{children:e,location:t}=this.props;return(0,r.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,r.jsx)(f.AW,{location:t,render:()=>e})})}}let I="__docusaurus-base-url-issue-banner-suggestion-container";function F(){var e,t;let{siteConfig:{baseUrl:n}}=(0,h.Z)();return(0,r.jsx)(r.Fragment,{children:!u.Z.canUseDOM&&(0,r.jsx)(m.Z,{children:(0,r.jsx)("script",{children:(e=n,` +document.addEventListener('DOMContentLoaded', function maybeInsertBanner() { + var shouldInsert = typeof window['docusaurus'] === 'undefined'; + shouldInsert && insertBanner(); +}); + +function insertBanner() { + var bannerContainer = document.createElement('div'); + bannerContainer.id = '__docusaurus-base-url-issue-banner-container'; + var bannerHtml = ${JSON.stringify((t=e,` +<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;"> + <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p> + <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p> + <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${t}</span> ${"/"===t?" (default value)":""}</p> + <p>We suggest trying baseUrl = <span id="${I}" style="font-weight: bold; color: green;"></span></p> +</div> +`)).replace(/</g,"\\<")}; + bannerContainer.innerHTML = bannerHtml; + document.body.prepend(bannerContainer); + var suggestionContainer = document.getElementById('${I}'); + var actualHomePagePath = window.location.pathname; + var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/' + ? actualHomePagePath + : actualHomePagePath + '/'; + suggestionContainer.innerHTML = suggestedBaseUrl; +} +`)})})})}function D(){let{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,f.TH)();return t&&n===e?(0,r.jsx)(F,{}):null}function M(){let{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:o,localeConfigs:a}}=(0,h.Z)(),i=(0,b.ZP)(e),{htmlLang:l,direction:s}=a[o];return(0,r.jsxs)(m.Z,{children:[(0,r.jsx)("html",{lang:l,dir:s}),(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,r.jsx)("link",{rel:"icon",href:i})]})}var z=n("6893"),$=n("7227");function B(){let e=(0,$.Z)();return(0,r.jsx)(m.Z,{children:(0,r.jsx)("html",{"data-has-hydrated":e})})}let U=(0,p.H)(d.Z);function H(){let e=function(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,p.f)(d.Z,e.pathname).some(e=>{let{route:t}=e;return!0===t.exact}))return T.set(e.pathname,e.pathname),e;let t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}((0,f.TH)());return(0,r.jsx)(R,{location:e,children:U})}var Z=n("7138");let W=!function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)})}:function(e){return new Promise((t,n)=>{if("undefined"==typeof document){n();return}let r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();let o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)})};var V=n("6464");let G=new Set,q=new Set,Y=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,K=e=>!Y()&&!q.has(e)&&!G.has(e),Q=e=>!Y()&&!q.has(e),X=e=>Object.entries(Z).filter(t=>{let[n]=t;return n.replace(/-[^-]+$/,"")===e}).flatMap(e=>{let[,t]=e;return Object.values((0,V.Z)(t))}),J=Object.freeze({prefetch:e=>!!K(e)&&(G.add(e),Promise.all((0,p.f)(d.Z,e).flatMap(e=>X(e.route.path)).map(e=>{let t=n.gca(e);if(t&&!t.includes("undefined"))return W(t).catch(()=>{});return Promise.resolve()}))),preload:e=>!!Q(e)&&(q.add(e),L(e))});e=n.hmd(e);if(u.Z.canUseDOM){window.docusaurus=J;let t=document.getElementById("__docusaurus"),n=(0,r.jsx)(i.B6,{children:(0,r.jsx)(function(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,r.jsx)(l.UT,{children:t}):(0,r.jsx)(l.VK,{children:t})},{children:(0,r.jsx)(function(){return(0,r.jsx)(z.Z,{children:(0,r.jsx)(O.M,{children:(0,r.jsxs)(N.t,{children:[(0,r.jsxs)(g,{children:[(0,r.jsx)(M,{}),(0,r.jsx)(C,{}),(0,r.jsx)(D,{}),(0,r.jsx)(H,{})]}),(0,r.jsx)(B,{})]})})})},{})})}),u=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},c=()=>{if(window.docusaurusRoot){window.docusaurusRoot.render(n);return}window.docusaurusRoot=a.hydrateRoot(t,n,{onRecoverableError:u})};L(window.location.pathname).then(()=>{(0,o.startTransition)(c)}),e.hot&&e.hot.accept()}},1716:function(e,t,n){"use strict";n.d(t,{_:()=>d,M:()=>f});var r=n("5893"),o=n("7294"),a=n("5150"),i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"introduction","docs":[{"id":"configuration/accessors","path":"/docs/configuration/accessors","sidebar":"defaultSidebar"},{"id":"configuration/command","path":"/docs/configuration/command","sidebar":"defaultSidebar"},{"id":"configuration/format","path":"/docs/configuration/format","sidebar":"defaultSidebar"},{"id":"configuration/interfaces","path":"/docs/configuration/interfaces","sidebar":"defaultSidebar"},{"id":"configuration/plugins","path":"/docs/configuration/plugins","sidebar":"defaultSidebar"},{"id":"configuration/protocols","path":"/docs/configuration/protocols","sidebar":"defaultSidebar"},{"id":"configuration/ssl-tls","path":"/docs/configuration/ssl-tls","sidebar":"defaultSidebar"},{"id":"configuration/table","path":"/docs/configuration/table","sidebar":"defaultSidebar"},{"id":"configuration/target","path":"/docs/configuration/target","sidebar":"defaultSidebar"},{"id":"configuration/telemetry","path":"/docs/configuration/telemetry","sidebar":"defaultSidebar"},{"id":"configuration/telemetry-screens","path":"/docs/configuration/telemetry-screens","sidebar":"defaultSidebar"},{"id":"development/curl","path":"/docs/development/curl","sidebar":"defaultSidebar"},{"id":"development/developing","path":"/docs/development/developing","sidebar":"defaultSidebar"},{"id":"development/json-api","path":"/docs/development/json-api","sidebar":"defaultSidebar"},{"id":"development/log-structure","path":"/docs/development/log-structure","sidebar":"defaultSidebar"},{"id":"development/roadmap","path":"/docs/development/roadmap","sidebar":"defaultSidebar"},{"id":"development/streaming-api","path":"/docs/development/streaming-api","sidebar":"defaultSidebar"},{"id":"development/testing","path":"/docs/development/testing","sidebar":"defaultSidebar"},{"id":"getting-started/generators","path":"/docs/getting-started/generators","sidebar":"defaultSidebar"},{"id":"getting-started/gettingstarted","path":"/docs/getting-started/gettingstarted","sidebar":"defaultSidebar"},{"id":"getting-started/installation","path":"/docs/getting-started/installation","sidebar":"defaultSidebar"},{"id":"getting-started/key_concepts","path":"/docs/getting-started/key_concepts","sidebar":"defaultSidebar"},{"id":"getting-started/podman","path":"/docs/getting-started/podman","sidebar":"defaultSidebar"},{"id":"getting-started/requirements","path":"/docs/getting-started/requirements","sidebar":"defaultSidebar"},{"id":"getting-started/upgrading","path":"/docs/getting-started/upgrading","sidebar":"defaultSidebar"},{"id":"guides/bridges","path":"/docs/guides/bridges","sidebar":"defaultSidebar"},{"id":"guides/cfs","path":"/docs/guides/cfs","sidebar":"defaultSidebar"},{"id":"guides/custom-widgets","path":"/docs/guides/custom-widgets","sidebar":"defaultSidebar"},{"id":"guides/little-endian-bitfields","path":"/docs/guides/little-endian-bitfields","sidebar":"defaultSidebar"},{"id":"guides/local-mode","path":"/docs/guides/local-mode","sidebar":"defaultSidebar"},{"id":"guides/logging","path":"/docs/guides/logging","sidebar":"defaultSidebar"},{"id":"guides/monitoring","path":"/docs/guides/monitoring","sidebar":"defaultSidebar"},{"id":"guides/performance","path":"/docs/guides/performance","sidebar":"defaultSidebar"},{"id":"guides/raspberrypi","path":"/docs/guides/raspberrypi","sidebar":"defaultSidebar"},{"id":"guides/script-writing","path":"/docs/guides/script-writing","sidebar":"defaultSidebar"},{"id":"guides/scripting-api","path":"/docs/guides/scripting-api","sidebar":"defaultSidebar"},{"id":"introduction","path":"/docs/","sidebar":"defaultSidebar"},{"id":"meta/contributing","path":"/docs/meta/contributing","sidebar":"defaultSidebar"},{"id":"meta/licenses","path":"/docs/meta/licenses","sidebar":"defaultSidebar"},{"id":"meta/philosophy","path":"/docs/meta/philosophy","sidebar":"defaultSidebar"},{"id":"meta/xtce","path":"/docs/meta/xtce","sidebar":"defaultSidebar"},{"id":"privacy","path":"/docs/privacy","sidebar":"defaultSidebar"},{"id":"tools/admin","path":"/docs/tools/admin","sidebar":"defaultSidebar"},{"id":"tools/autonomic","path":"/docs/tools/autonomic","sidebar":"defaultSidebar"},{"id":"tools/bucket-explorer","path":"/docs/tools/bucket-explorer","sidebar":"defaultSidebar"},{"id":"tools/calendar","path":"/docs/tools/calendar","sidebar":"defaultSidebar"},{"id":"tools/cmd-sender","path":"/docs/tools/cmd-sender","sidebar":"defaultSidebar"},{"id":"tools/cmd-tlm-server","path":"/docs/tools/cmd-tlm-server","sidebar":"defaultSidebar"},{"id":"tools/command_history","path":"/docs/tools/command_history","sidebar":"defaultSidebar"},{"id":"tools/data-extractor","path":"/docs/tools/data-extractor","sidebar":"defaultSidebar"},{"id":"tools/data-viewer","path":"/docs/tools/data-viewer","sidebar":"defaultSidebar"},{"id":"tools/handbooks","path":"/docs/tools/handbooks","sidebar":"defaultSidebar"},{"id":"tools/limits-monitor","path":"/docs/tools/limits-monitor","sidebar":"defaultSidebar"},{"id":"tools/packet-viewer","path":"/docs/tools/packet-viewer","sidebar":"defaultSidebar"},{"id":"tools/script-runner","path":"/docs/tools/script-runner","sidebar":"defaultSidebar"},{"id":"tools/table-manager","path":"/docs/tools/table-manager","sidebar":"defaultSidebar"},{"id":"tools/tlm-grapher","path":"/docs/tools/tlm-grapher","sidebar":"defaultSidebar"},{"id":"tools/tlm-viewer","path":"/docs/tools/tlm-viewer","sidebar":"defaultSidebar"},{"id":"/getting-started","path":"/docs/getting-started","sidebar":"defaultSidebar"},{"id":"/configuration","path":"/docs/configuration","sidebar":"defaultSidebar"},{"id":"/tools","path":"/docs/tools","sidebar":"defaultSidebar"},{"id":"/guides","path":"/docs/guides","sidebar":"defaultSidebar"},{"id":"/development","path":"/docs/development","sidebar":"defaultSidebar"},{"id":"/meta","path":"/docs/meta","sidebar":"defaultSidebar"}],"draftIds":[],"sidebars":{"defaultSidebar":{"link":{"path":"/docs/","label":"introduction"}}}}],"breadcrumbs":true}},"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1733631336358.json","lunrIndex":"lunr-index-1733631336358.json"}}}}'),l=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}'),s=n("2627"),u=JSON.parse('{"docusaurusVersion":"3.6.3","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.6.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.6.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.6.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.6.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.6.3"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.6.3"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"3.5.0"}}}');let c={siteConfig:a.default,siteMetadata:u,globalData:i,i18n:l,codeTranslations:s},d=o.createContext(c);function f(e){let{children:t}=e;return(0,r.jsx)(d.Provider,{value:c,children:t})}},6893:function(e,t,n){"use strict";n.d(t,{Z:()=>m});var r=n("5893"),o=n("7294"),a=n("7565"),i=n("4819"),l=n("8365"),s=n("6036"),u=n("4879");function c(e){let{error:t,tryAgain:n}=e;return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,r.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,r.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,r.jsx)(d,{error:t})]})}function d(e){let{error:t}=e,n=(0,l.getErrorCausalChain)(t).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,r.jsx)(u.z,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,r.jsx)(f,{children:(0,r.jsxs)(m,{fallback:()=>(0,r.jsx)(c,{error:t,tryAgain:n}),children:[(0,r.jsx)(i.Z,{children:(0,r.jsx)("title",{children:"Page Error"})}),(0,r.jsx)(s.Z,{children:(0,r.jsx)(c,{error:t,tryAgain:n})})]})})}let g=e=>(0,r.jsx)(p,{...e});class m extends o.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){let{children:e}=this.props,{error:t}=this.state;return t?(this.props.fallback??g)({error:t,tryAgain:()=>this.setState({error:null})}):e??null}}},7565:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});let r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},4819:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5893);n(7294);var o=n(405);function a(e){return(0,r.jsx)(o.ql,{...e})}},3012:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(5893),o=n(7294),a=n(3727),i=n(8365),l=n(2933),s=n(3150),u=n(7565),c=n(1065),d=n(4757);let f=e=>e.startsWith("/"),p=o.forwardRef(function(e,t){var n;let{isNavLink:p,to:g,href:m,activeClassName:h,isActive:b,"data-noBrokenLinkCheck":y,autoAddBaseUrl:v=!0,...w}=e,{siteConfig:x}=(0,l.Z)(),{trailingSlash:k,baseUrl:S}=x,E=x.future.experimental_router,{withBaseUrl:_}=(0,d.Cg)(),C=(0,c.Z)(),T=(0,o.useRef)(null);(0,o.useImperativeHandle)(t,()=>T.current);let N=g||m,O=(0,s.Z)(N),A=N?.replace("pathname://","");let j=void 0!==A?(n=A,v&&f(n)?_(n):n):void 0;"hash"===E&&j?.startsWith("./")&&(j=j?.slice(1)),j&&O&&(j=(0,i.applyTrailingSlash)(j,{trailingSlash:k,baseUrl:S}));let P=(0,o.useRef)(!1),L=p?a.OL:a.rU,R=u.Z.canUseIntersectionObserver,I=(0,o.useRef)(),F=()=>{!P.current&&null!=j&&(window.docusaurus.preload(j),P.current=!0)};(0,o.useEffect)(()=>(!R&&O&&u.Z.canUseDOM&&null!=j&&window.docusaurus.prefetch(j),()=>{R&&I.current&&I.current.disconnect()}),[I,j,R,O]);let D=j?.startsWith("#")??!1,M=!w.target||"_self"===w.target,z=!j||!O||!M||D&&"hash"!==E;!y&&(D||!z)&&C.collectLink(j),w.id&&C.collectAnchor(w.id);let $={};return z?(0,r.jsx)("a",{ref:T,href:j,...N&&!O&&{target:"_blank",rel:"noopener noreferrer"},...w,...$}):(0,r.jsx)(L,{...w,onMouseEnter:F,onTouchStart:F,innerRef:e=>{T.current=e,R&&e&&O&&(I.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))})}),I.current.observe(e))},to:j,...p&&{isActive:b,activeClassName:h},...$})})},6025:function(e,t,n){"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n("5893"),o=n("7294");function a(e,t){let n=e.split(/(\{\w+\})/).map((e,n)=>{if(n%2==1){let n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e});return n.some(e=>(0,o.isValidElement)(e))?n.map((e,t)=>(0,o.isValidElement)(e)?o.cloneElement(e,{key:t}):e).filter(e=>""!==e):n.join("")}var i=n("2627");function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),Error("The Docusaurus <Translate> component only accept simple string values");let i=l({message:t,id:n});return(0,r.jsx)(r.Fragment,{children:a(i,o)})}},7710:function(e,t,n){"use strict";n.d(t,{m:function(){return r}});let r="default"},3150:function(e,t,n){"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:function(){return o},b:function(){return r}})},4757:function(e,t,n){"use strict";n.d(t,{Cg:function(){return i},ZP:function(){return l}});var r=n(7294),o=n(2933),a=n(3150);function i(){let{siteConfig:e}=(0,o.Z)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router;return{withBaseUrl:(0,r.useCallback)((e,r)=>(function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:l}=e;if(!r||r.startsWith("#")||(0,a.b)(r))return r;if("hash"===l)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;let s=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+s:s})({siteUrl:n,baseUrl:t,url:e,options:r,router:i}),[n,t,i])}}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{withBaseUrl:n}=i();return n(e,t)}},1065:function(e,t,n){"use strict";n.d(t,{Z:()=>i}),n("5893");var r=n("7294");let o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},2933:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294),o=n(1716);function a(){return(0,r.useContext)(o._)}},1672:function(e,t,n){"use strict";n.d(t,{OD:function(){return a},eZ:function(){return i}});var r=n(2933),o=n(7710);function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(){let{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.m,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=a(e),i=r?.[t];if(!i&&n.failfast)throw Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},7227:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294),o=n(258);function a(){return(0,r.useContext)(o._)}},2e3:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7294);let o=n(7565).Z.canUseDOM?r.useLayoutEffect:r.useEffect},6464:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});let r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){let t={};return!function e(n,o){Object.entries(n).forEach(n=>{let[a,i]=n,l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i})}(e),t}},4879:function(e,t,n){"use strict";n.d(t,{_:function(){return a},z:function(){return i}});var r=n(5893),o=n(7294);let a=o.createContext(null);function i(e){let{children:t,value:n}=e,i=o.useContext(a),l=(0,o.useMemo)(()=>(function(e){let{parent:t,value:n}=e;if(!t){if(n){if(!("plugin"in n))throw Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute")}else throw Error("Unexpected: no Docusaurus route context found");return n}let r={...t.data,...n?.data};return{plugin:t.plugin,data:r}})({parent:i,value:n}),[i,n]);return(0,r.jsx)(a.Provider,{value:l,children:t})}},3896:function(e,t,n){"use strict";n.d(t,{J:function(){return y},L5:function(){return b}});var r=n(5893),o=n(7294),a=n(1723),i=n(7710),l=n(140),s=n(6009),u=n(5346);let c=e=>`docs-preferred-version-${e}`,d=(e,t,n)=>{(0,s.WA)(c(e),{persistence:t}).set(n)},f=(e,t)=>(0,s.WA)(c(e),{persistence:t}).get(),p=(e,t)=>{(0,s.WA)(c(e),{persistence:t}).del()},g=e=>Object.fromEntries(e.map(e=>[e,{preferredVersionName:null}])),m=o.createContext(null);function h(e){let{children:t}=e,n=function(){let e=(0,a._r)(),t=(0,l.L)().docs.versionPersistence,n=(0,o.useMemo)(()=>Object.keys(e),[e]),[r,i]=(0,o.useState)(()=>g(n));return(0,o.useEffect)(()=>{i(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;return Object.fromEntries(t.map(e=>[e,function(e){let t=f(e,n);return r[e].versions.some(e=>e.name===t)?{preferredVersionName:t}:(p(e,n),{preferredVersionName:null})}(e)]))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]),[r,(0,o.useMemo)(()=>({savePreferredVersion:function(e,n){d(e,t,n),i(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}();return(0,r.jsx)(m.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return(0,r.jsx)(h,{children:t})}function y(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.m,t=(0,a.zh)(e),[n,r]=function(){let e=(0,o.useContext)(m);if(!e)throw new u.i6("DocsPreferredVersionContextProvider");return e}(),{preferredVersionName:l}=n[e],s=t.versions.find(e=>e.name===l)??null;return{preferredVersion:s,savePreferredVersionName:(0,o.useCallback)(t=>{r.savePreferredVersion(e,t)},[r,e])}}},5609:function(e,t,n){"use strict";n.d(t,{V:function(){return u},b:function(){return s}});var r=n(5893),o=n(7294),a=n(5346);let i=Symbol("EmptyContext"),l=o.createContext(i);function s(e){let{children:t,name:n,items:a}=e,i=(0,o.useMemo)(()=>n&&a?{name:n,items:a}:null,[n,a]);return(0,r.jsx)(l.Provider,{value:i,children:t})}function u(){let e=(0,o.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},3413:function(e,t,n){"use strict";n.d(t,{jA:()=>g,xz:()=>f,SN:()=>E,lO:()=>x,MN:()=>_,LM:()=>p,_F:()=>b,vY:()=>S,oz:()=>k,s1:()=>w,f:()=>y});var r=n("7294"),o=n("6550"),a=n("8790"),i=n("1723"),l=n("9246");function s(e){return Array.from(new Set(e))}var u=n("3896"),c=n("8529"),d=n("5609");function f(e){let t=(0,c.E)();if(!e)return;let n=t.docs[e];if(!n)throw Error(`no version doc found by id=${e}`);return n}function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(let t of e.items){let e=p(t);if(e)return e}}(e):void 0:e.href}function g(){let{pathname:e}=(0,o.TH)(),t=(0,d.V)();if(!t)throw Error("Unexpected: cant find current sidebar in context");let n=v({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}let m=(e,t)=>void 0!==e&&(0,l.Mg)(e,t),h=(e,t)=>e.some(e=>b(e,t));function b(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||h(e.items,t))}function y(e,t){return(0,r.useMemo)(()=>e.filter(e=>(function e(t,n){switch(t.type){case"category":return b(t,n)||t.items.some(t=>e(t,n));case"link":return!t.unlisted||b(t,n);default:return!0}})(e,t)),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e,o=[];return!function e(t){for(let a of t)if("category"===a.type&&((0,l.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,l.Mg)(a.href,n))return!(r&&"category"!==a.type)&&o.unshift(a),!0;return!1}(t),o}function w(){let e=(0,d.V)(),{pathname:t}=(0,o.TH)();return!1!==i.gA()?.pluginData.breadcrumbs&&e?v({sidebarItems:e.items,pathname:t}):null}function x(e){let{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,u.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)(()=>s([t,n,o].filter(Boolean)),[t,n,o])}function k(e,t){let n=x(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.sidebars?Object.entries(e.sidebars):[]),r=t.find(t=>t[0]===e);if(!r)throw Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map(e=>e.name).join(", ")}". +Available sidebar ids are: +- ${t.map(e=>e[0]).join("\n- ")}`);return r[1]},[e,n])}function S(e,t){let n=x(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.docs),r=t.find(t=>t.id===e);if(!r){if(n.flatMap(e=>e.draftIds).includes(e))return null;throw Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map(e=>e.name).join(", ")}". +Available doc ids are: +- ${s(t.map(e=>e.id)).join("\n- ")}`)}return r},[e,n])}function E(e){let{route:t}=e,n=(0,o.TH)(),r=(0,c.E)(),i=t.routes,l=i.find(e=>(0,o.LX)(n.pathname,e));if(!l)return null;let s=l.sidebar,u=s?r.docsSidebars[s]:void 0;return{docElement:(0,a.H)(i),sidebarName:s,sidebarItems:u}}function _(e){return e.filter(e=>"category"!==e.type&&"link"!==e.type||!!p(e))}},8529:function(e,t,n){"use strict";n.d(t,{E:function(){return s},q:function(){return l}});var r=n(5893),o=n(7294),a=n(5346);let i=o.createContext(null);function l(e){let{children:t,version:n}=e;return(0,r.jsx)(i.Provider,{value:n,children:t})}function s(){let e=(0,o.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},1723:function(e,t,n){"use strict";n.d(t,{Jo:()=>g,zh:()=>u,yW:()=>f,gB:()=>d,Iw:()=>p,gA:()=>c,_r:()=>s});var r=n("6550"),o=n("1672");let a=e=>e.versions.find(e=>e.isLast);function i(e,t){var n,o;let a=(n=e,o=t,[...n.versions].sort((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0).find(e=>!!(0,r.LX)(o,{path:e.path,exact:!1,strict:!1}))),i=a?.docs.find(e=>!!r.LX(t,{path:e.path,exact:!0,strict:!1})),l=i?function(t){let n={};return e.versions.forEach(e=>{e.docs.forEach(r=>{r.id===t&&(n[e.name]=r)})}),n}(i.id):{};return{activeVersion:a,activeDoc:i,alternateDocVersions:l}}let l={},s=()=>(0,o.OD)("docusaurus-plugin-content-docs")??l,u=e=>{try{return(0,o.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw Error(`You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled${"Default"===e?"":` (pluginId=${e}`}`,{cause:t})}};function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=s(),{pathname:n}=(0,r.TH)();return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Object.entries(e).sort((e,t)=>t[1].path.localeCompare(e[1].path)).find(e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})}),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map(e=>e.path).join(", ")}`);return a}(t,n,e)}function d(e){return u(e).versions}function f(e){return a(u(e))}function p(e){let t=u(e),{pathname:n}=(0,r.TH)();return i(t,n)}function g(e){let t=u(e),{pathname:n}=(0,r.TH)();return function(e,t){let n=a(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},1987:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return a}});var r=n(4865),o=n.n(r);o().configure({showSpinner:!1});let a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){let e=window.setTimeout(()=>{o().start()},200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},1569:function(e,t,n){"use strict";var r=n("3229"),o=n("5150");!function(e){let{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t,a=globalThis.Prism;globalThis.Prism=e,r.forEach(e=>{"php"===e&&n(6854),n(9099)(`./prism-${e}`)}),delete globalThis.Prism,void 0!==a&&(globalThis.Prism=e)}(r.p1)},4403:function(e,t,n){"use strict";n.d(t,{Z:()=>c});var r=n("5893");n("7294");var o=n("7026"),a=n("6025"),i=n("140"),l=n("3012"),s=n("1065");let u={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};function c(e){let{as:t,id:n,...c}=e,d=(0,s.Z)(),{navbar:{hideOnScroll:f}}=(0,i.L)();if("h1"===t||!n)return(0,r.jsx)(t,{...c,id:void 0});d.collectAnchor(n);let p=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,r.jsxs)(t,{...c,className:(0,o.Z)("anchor",f?u.anchorWithHideOnScrollNavbar:u.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,r.jsx)(l.Z,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200B"})]})}},2425:function(e,t,n){"use strict";n.d(t,{Z:()=>a});var r=n("5893");n("7294");let o="iconExternalLink_nPIU";function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,r.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:o,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},6036:function(e,t,n){"use strict";n.d(t,{Z:()=>tr});var r=n("5893"),o=n("7294"),a=n("7026"),i=n("6893"),l=n("4713"),s=n("6550"),u=n("6025"),c=n("346");let d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}let p=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){let t=e.children??p,{containerRef:n,onClick:a}=function(){let e=(0,o.useRef)(null),{action:t}=(0,s.k6)(),n=(0,o.useCallback)(e=>{e.preventDefault();let t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)},[]);return(0,c.S)(n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)}),{containerRef:e,onClick:n}}();return(0,r.jsx)("div",{ref:n,role:"region","aria-label":p,children:(0,r.jsx)("a",{...e,href:`#${d}`,onClick:a,children:t})})}var m=n("4681"),h=n("6959");let b="skipToContent_fXgn";function y(){return(0,r.jsx)(g,{className:b})}var v=n("140"),w=n("2093");function x(e){let{width:t=21,height:n=21,color:o="currentColor",strokeWidth:a=1.2,className:i,...l}=e;return(0,r.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...l,children:(0,r.jsx)("g",{stroke:o,strokeWidth:a,children:(0,r.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}let k="closeButton_CVFx";function S(e){return(0,r.jsx)("button",{type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",k,e.className),children:(0,r.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}let E="content_knG7";function _(e){let{announcementBar:t}=(0,v.L)(),{content:n}=t;return(0,r.jsx)("div",{...e,className:(0,a.Z)(E,e.className),dangerouslySetInnerHTML:{__html:n}})}let C={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){let{announcementBar:e}=(0,v.L)(),{isActive:t,close:n}=(0,w.n)();if(!t)return null;let{backgroundColor:o,textColor:a,isCloseable:i}=e;return(0,r.jsxs)("div",{className:C.announcementBar,style:{backgroundColor:o,color:a},role:"banner",children:[i&&(0,r.jsx)("div",{className:C.announcementBarPlaceholder}),(0,r.jsx)(_,{className:C.announcementBarContent}),i&&(0,r.jsx)(S,{onClick:n,className:C.announcementBarClose})]})}var N=n("3780"),O=n("9599"),A=n("5346"),j=n("1179");let P=o.createContext(null);function L(e){let{children:t}=e,n=function(){let e=(0,N.e)(),t=(0,j.HY)(),[n,r]=(0,o.useState)(!1),a=null!==t.component,i=(0,A.D9)(a);return(0,o.useEffect)(()=>{a&&!i&&r(!0)},[a,i]),(0,o.useEffect)(()=>{if(!a){r(!1);return}!e.shown&&r(!0)},[e.shown,a]),(0,o.useMemo)(()=>[n,r],[n])}();return(0,r.jsx)(P.Provider,{value:n,children:t})}function R(){let e=(0,o.useContext)(P);if(!e)throw new A.i6("NavbarSecondaryMenuDisplayProvider");let[t,n]=e,a=(0,o.useCallback)(()=>n(!1),[n]),i=(0,j.HY)();return(0,o.useMemo)(()=>({shown:t,hide:a,content:function(e){if(e.component){let t=e.component;return(0,r.jsx)(t,{...e.props})}}(i)}),[a,i,t])}function I(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e,{shown:i}=R();return(0,r.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,r.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i}),children:[(0,r.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,r.jsx)("div",{className:"navbar-sidebar__item menu",children:o})]})]})}var F=n("4239"),D=n("7227");function M(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function z(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}let $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"},B=o.memo(function(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e,l=(0,D.Z)(),s=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,r.jsx)("div",{className:(0,a.Z)($.toggle,t),children:(0,r.jsxs)("button",{className:(0,a.Z)("clean-btn",$.toggleButton,!l&&$.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!l,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===o?"true":"false",children:[(0,r.jsx)(M,{className:(0,a.Z)($.toggleIcon,$.lightToggleIcon)}),(0,r.jsx)(z,{className:(0,a.Z)($.toggleIcon,$.darkToggleIcon)})]})})}),U={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function H(e){let{className:t}=e,n=(0,v.L)().navbar.style,o=(0,v.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:i}=(0,F.I)();return o?null:(0,r.jsx)(B,{className:t,buttonClassName:"dark"===n?U.darkNavbarColorModeToggle:void 0,value:a,onChange:i})}var Z=n("4987");function W(){return(0,r.jsx)(Z.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function V(){let e=(0,N.e)();return(0,r.jsx)("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,r.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function G(){return(0,r.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,r.jsx)(W,{}),(0,r.jsx)(H,{className:"margin-right--md"}),(0,r.jsx)(V,{})]})}var q=n("3012"),Y=n("4757"),K=n("3150");function Q(e,t){return void 0!==e&&void 0!==t&&RegExp(e,"gi").test(t)}var X=n("2425");function J(e){let{activeBasePath:t,activeBaseRegex:n,to:o,href:a,label:i,html:l,isDropdownLink:s,prependBaseUrlToHref:u,...c}=e,d=(0,Y.ZP)(o),f=(0,Y.ZP)(t),p=(0,Y.ZP)(a,{forcePrependBaseUrl:!0}),g=i&&a&&!(0,K.Z)(a),m=l?{dangerouslySetInnerHTML:{__html:l}}:{children:(0,r.jsxs)(r.Fragment,{children:[i,g&&(0,r.jsx)(X.Z,{...s&&{width:12,height:12}})]})};return a?(0,r.jsx)(q.Z,{href:u?p:a,...c,...m}):(0,r.jsx)(q.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?Q(n,t.pathname):t.pathname.startsWith(f)},...c,...m})}function ee(e){let{className:t,isDropdownItem:n=!1,...o}=e,i=(0,r.jsx)(J,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...o});return n?(0,r.jsx)("li",{children:i}):i}function et(e){let{className:t,isDropdownItem:n,...o}=e;return(0,r.jsx)("li",{className:"menu__list-item",children:(0,r.jsx)(J,{className:(0,a.Z)("menu__link",t),...o})})}function en(e){let{mobile:t=!1,position:n,...o}=e;return(0,r.jsx)(t?et:ee,{...o,activeClassName:o.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var er=n("7455"),eo=n("9246"),ea=n("2933");let ei="dropdownNavbarItemMobile_S0Fm";function el(e){let{items:t,position:n,className:i,onClick:l,...s}=e,u=(0,o.useRef)(null),[c,d]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{let e=e=>{if(!(!u.current||u.current.contains(e.target)))d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}},[u]),(0,r.jsxs)("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,r.jsx)(J,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",i),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,r.jsx)("ul",{className:"dropdown__menu",children:t.map((e,t)=>(0,o.createElement)(eT,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t}))})]})}function es(e){var t,n;let{items:i,className:l,position:u,onClick:c,...d}=e,f=function(){let{siteConfig:{baseUrl:e}}=(0,ea.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}();let p=(t=i,n=f,t.some(e=>{var t,r;return t=e,r=n,!!((0,eo.Mg)(t.to,r)||Q(t.activeBaseRegex,r)||t.activeBasePath&&r.startsWith(t.activeBasePath))||!1})),{collapsed:g,toggleCollapsed:m,setCollapsed:h}=(0,er.u)({initialState:()=>!p});return(0,o.useEffect)(()=>{p&&h(!p)},[f,p,h]),(0,r.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":g}),children:[(0,r.jsx)(J,{role:"button",className:(0,a.Z)(ei,"menu__link menu__link--sublist menu__link--sublist-caret",l),...d,onClick:e=>{e.preventDefault(),m()},children:d.children??d.label}),(0,r.jsx)(er.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:i.map((e,t)=>(0,o.createElement)(eT,{mobile:!0,isDropdownItem:!0,onClick:c,activeClassName:"menu__link--active",...e,key:t}))})]})}function eu(e){let{mobile:t=!1,...n}=e;return(0,r.jsx)(t?es:el,{...n})}var ec=n("8910");function ed(e){let{width:t=20,height:n=20,...o}=e;return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...o,children:(0,r.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}let ef="iconLanguage_nlXk",ep=function(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=function e(t){var n,r,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t){if(Array.isArray(t))for(n=0;n<t.length;n++)t[n]&&(r=e(t[n]))&&(o&&(o+=" "),o+=r);else for(n in t)t[n]&&(o&&(o+=" "),o+=n)}return o}(e))&&(r&&(r+=" "),r+=t);return r};var eg=n("1672"),em=n("813"),eh=n.n(em);function eb(){let e=(0,s.TH)(),t=(0,s.k6)(),{siteConfig:{baseUrl:n}}=(0,ea.Z)(),[r,a]=(0,o.useState)({wordToHighlight:"",isTitleSuggestion:!1,titleText:""});return(0,o.useEffect)(()=>{if(!e.state?.highlightState||0===e.state.highlightState.wordToHighlight.length)return;a(e.state.highlightState);let{highlightState:n,...r}=e.state;t.replace({...e,state:r})},[e.state?.highlightState,t,e]),(0,o.useEffect)(()=>{if(0===r.wordToHighlight.length)return;let e=document.getElementsByTagName("article")[0]??document.getElementsByTagName("main")[0];if(!e)return;let t=new(eh())(e),n={ignoreJoiners:!0};return t.mark(r.wordToHighlight,n),()=>t.unmark(n)},[r,n]),null}let ey=e=>{let t;let a=(0,o.useRef)(!1),i=(0,o.useRef)(null),[l,u]=(0,o.useState)(!1),c=(0,s.k6)(),{siteConfig:d={}}=(0,ea.Z)(),f=(d.plugins||[]).find(e=>Array.isArray(e)&&"string"==typeof e[0]&&e[0].includes("docusaurus-lunr-search")),p=(0,D.Z)(),{baseUrl:g}=d,m=f&&f[1]?.assetUrl||g,h=(e,t,n,r)=>{new n({searchDocs:e,searchIndex:t,baseUrl:g,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{let o=n.url||"/";document.createElement("a").href=o,e.setVal(""),t.target.blur();let a="";if(r.highlightResult)try{let e=(n.text||n.subcategory||n.title).match(RegExp("<span.+span>\\w*","g"));if(e&&e.length>0){let t=document.createElement("div");t.innerHTML=e[0],a=t.textContent}}catch(e){console.log(e)}c.push(o,{highlightState:{wordToHighlight:a}})},maxHits:r.maxHits})},b=(0,eg.eZ)("docusaurus-lunr-search"),y=()=>fetch(`${m}${b.fileNames.searchDoc}`).then(e=>e.json()),v=()=>fetch(`${m}${b.fileNames.lunrIndex}`).then(e=>e.json()),w=()=>{!a.current&&(Promise.all([y(),v(),Promise.all([n.e("4294"),n.e("9990")]).then(n.bind(n,5322)),Promise.all([n.e("6212"),n.e("2061")]).then(n.bind(n,8544))]).then(e=>{let[t,n,{default:r}]=e,{searchDocs:o,options:a}=t;if(!!o&&0!==o.length)h(o,n,r,a),u(!0)}),a.current=!0)},x=(0,o.useCallback)(t=>{!i.current.contains(t.target)&&i.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)},[e.isSearchBarExpanded]);return p&&(w(),t=window.navigator.platform.startsWith("Mac")?"Search \u2318+K":"Search Ctrl+K"),(0,o.useEffect)(()=>{e.autoFocus&&l&&i.current.focus()},[l]),(0,r.jsxs)("div",{className:"navbar__search",children:[(0,r.jsx)("span",{"aria-label":"expand searchbar",role:"button",className:ep("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:x,onKeyDown:x,tabIndex:0}),(0,r.jsx)("input",{id:"search_input_react",type:"search",placeholder:l?t:"Loading...","aria-label":"Search",className:ep("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:w,onMouseOver:w,onFocus:x,onBlur:x,ref:i,disabled:!l}),(0,r.jsx)(eb,{})]},"search-box")},ev="navbarSearchContainer_Bca1";function ew(e){let{children:t,className:n}=e;return(0,r.jsx)("div",{className:(0,a.Z)(n,ev),children:t})}var ex=n("1723"),ek=n("3413");let eS=e=>e.docs.find(t=>t.id===e.mainDocId);var eE=n("3896");function e_(e,t){var n;return t.alternateDocVersions[e.name]??(n=e).docs.find(e=>e.id===n.mainDocId)}let eC={default:en,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:o,queryString:a="",...i}=e,{i18n:{currentLocale:l,locales:c,localeConfigs:d}}=(0,ea.Z)(),f=(0,ec.l)(),{search:p,hash:g}=(0,s.TH)(),m=[...n,...c.map(e=>{let n=`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`,r=`${n}${p}${g}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:r,target:"_self",autoAddBaseUrl:!1,className:e===l?t?"menu__link--active":"dropdown__link--active":""}}),...o],h=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[l].label;return(0,r.jsx)(eu,{...i,mobile:t,label:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ed,{className:ef}),h]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,r.jsx)(ew,{className:n,children:(0,r.jsx)(ey,{})})},dropdown:eu,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;return(0,r.jsx)(i?"li":"div",{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:o,...a}=e,{activeDoc:i}=(0,ex.Iw)(o),l=(0,ek.vY)(t,o),s=i?.path===l?.path;return null===l||l.unlisted&&!s?null:(0,r.jsx)(en,{exact:!0,...a,isActive:()=>s||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:o,...a}=e,{activeDoc:i}=(0,ex.Iw)(o),l=(0,ek.oz)(t,o).link;if(!l)throw Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,r.jsx)(en,{exact:!0,...a,isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:o,...a}=e,i=(0,ek.lO)(o)[0],l=t??i.label,s=n??eS(i).path;return(0,r.jsx)(en,{...a,label:l,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:o,dropdownItemsBefore:a,dropdownItemsAfter:i,...l}=e,{search:c,hash:d}=(0,s.TH)(),f=(0,ex.Iw)(n),p=(0,ex.gB)(n),{savePreferredVersionName:g}=(0,eE.J)(n),m=[...a,...p.map(function(e){let t=e_(e,f);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}}),...i],h=(0,ek.lO)(n)[0],b=t&&m.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,y=t&&m.length>1?void 0:e_(h,f).path;return m.length<=1?(0,r.jsx)(en,{...l,mobile:t,label:b,to:y,isActive:o?()=>!1:void 0}):(0,r.jsx)(eu,{...l,mobile:t,label:b,to:y,items:m,isActive:o?()=>!1:void 0})}};function eT(e){var t,n;let{type:o,...a}=e;let i=eC[t=o,n=a,t&&"default"!==t?t:"items"in n?"dropdown":"default"];if(!i)throw Error(`No NavbarItem component found for type "${o}".`);return(0,r.jsx)(i,{...a})}function eN(){let e=(0,N.e)(),t=(0,v.L)().navbar.items;return(0,r.jsx)("ul",{className:"menu__list",children:t.map((t,n)=>(0,o.createElement)(eT,{mobile:!0,...t,onClick:()=>e.toggle(),key:n}))})}function eO(e){return(0,r.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,r.jsx)(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function eA(){let e=0===(0,v.L)().navbar.items.length,t=R();return(0,r.jsxs)(r.Fragment,{children:[!e&&(0,r.jsx)(eO,{onClick:()=>t.hide()}),t.content]})}function ej(){let e=(0,N.e)();return(!function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];(0,o.useEffect)(()=>(document.body.style.overflow=e?"hidden":"visible",()=>{document.body.style.overflow="visible"}),[e])}(e.shown),e.shouldRender)?(0,r.jsx)(I,{header:(0,r.jsx)(G,{}),primaryMenu:(0,r.jsx)(eN,{}),secondaryMenu:(0,r.jsx)(eA,{})}):null}let eP={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function eL(e){return(0,r.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function eR(e){let{children:t}=e,{navbar:{hideOnScroll:n,style:i}}=(0,v.L)(),l=(0,N.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){let[t,n]=(0,o.useState)(e),r=(0,o.useRef)(!1),a=(0,o.useRef)(0),i=(0,o.useCallback)(e=>{null!==e&&(a.current=e.getBoundingClientRect().height)},[]);return(0,O.RF)((t,o)=>{let{scrollY:i}=t;if(!e)return;if(i<a.current){n(!0);return}if(r.current){r.current=!1;return}let l=o?.scrollY,s=document.documentElement.scrollHeight-a.current,u=window.innerHeight;l&&i>=l?n(!1):i+u<s&&n(!0)}),(0,c.S)(t=>{if(!e)return;let o=t.location.hash;if(o?document.getElementById(o.substring(1)):void 0){r.current=!0,n(!1);return}n(!0)}),{navbarRef:i,isNavbarVisible:t}}(n);return(0,r.jsxs)("nav",{ref:s,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[eP.navbarHideable,!d&&eP.navbarHidden],{"navbar--dark":"dark"===i,"navbar--primary":"primary"===i,"navbar-sidebar--show":l.shown}),children:[t,(0,r.jsx)(eL,{onClick:l.toggle}),(0,r.jsx)(ej,{})]})}var eI=n("8365");let eF="errorBoundaryError_a6uf";function eD(e){return(0,r.jsx)("button",{type:"button",...e,children:(0,r.jsx)(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function eM(e){let{error:t}=e,n=(0,eI.getErrorCausalChain)(t).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{className:eF,children:n})}class ez extends o.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}function e$(e){let{width:t=30,height:n=30,className:o,...a}=e;return(0,r.jsx)("svg",{className:o,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,r.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function eB(){let{toggle:e,shown:t}=(0,N.e)();return(0,r.jsx)("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,r.jsx)(e$,{})})}let eU="colorModeToggle_DEke";function eH(e){let{items:t}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e,t)=>(0,r.jsx)(ez,{onError:t=>Error(`A theme navbar item failed to render. +Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: +${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,r.jsx)(eT,{...e})},t))})}function eZ(e){let{left:t,right:n}=e;return(0,r.jsxs)("div",{className:"navbar__inner",children:[(0,r.jsx)("div",{className:"navbar__items",children:t}),(0,r.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function eW(){let e=(0,N.e)(),t=(0,v.L)().navbar.items,[n,o]=function(e){function t(e){return(e.position??"right")==="left"}let n=e.filter(t);return[n,e.filter(e=>!t(e))]}(t),a=t.find(e=>"search"===e.type);return(0,r.jsx)(eZ,{left:(0,r.jsxs)(r.Fragment,{children:[!e.disabled&&(0,r.jsx)(eB,{}),(0,r.jsx)(W,{}),(0,r.jsx)(eH,{items:n})]}),right:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eH,{items:o}),(0,r.jsx)(H,{className:eU}),!a&&(0,r.jsx)(ew,{children:(0,r.jsx)(ey,{})})]})})}function eV(){return(0,r.jsx)(eR,{children:(0,r.jsx)(eW,{})})}function eG(e){let{item:t}=e,{to:n,href:o,label:a,prependBaseUrlToHref:i,...l}=t,s=(0,Y.ZP)(n),u=(0,Y.ZP)(o,{forcePrependBaseUrl:!0});return(0,r.jsxs)(q.Z,{className:"footer__link-item",...o?{href:i?u:o}:{to:s},...l,children:[a,o&&!(0,K.Z)(o)&&(0,r.jsx)(X.Z,{})]})}function eq(e){let{item:t}=e;return t.html?(0,r.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,r.jsx)("li",{className:"footer__item",children:(0,r.jsx)(eG,{item:t})},t.href??t.to)}function eY(e){let{column:t}=e;return(0,r.jsxs)("div",{className:"col footer__col",children:[(0,r.jsx)("div",{className:"footer__title",children:t.title}),(0,r.jsx)("ul",{className:"footer__items clean-list",children:t.items.map((e,t)=>(0,r.jsx)(eq,{item:e},t))})]})}function eK(e){let{columns:t}=e;return(0,r.jsx)("div",{className:"row footer__links",children:t.map((e,t)=>(0,r.jsx)(eY,{column:e},t))})}function eQ(){return(0,r.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function eX(e){let{item:t}=e;return t.html?(0,r.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,r.jsx)(eG,{item:t})}function eJ(e){let{links:t}=e;return(0,r.jsx)("div",{className:"footer__links text--center",children:(0,r.jsx)("div",{className:"footer__links",children:t.map((e,n)=>(0,r.jsxs)(o.Fragment,{children:[(0,r.jsx)(eX,{item:e}),t.length!==n+1&&(0,r.jsx)(eQ,{})]},n))})})}function e0(e){let{links:t}=e;return"title"in t[0]?(0,r.jsx)(eK,{columns:t}):(0,r.jsx)(eJ,{links:t})}var e1=n("6561");let e2={footerLogoLink:"footerLogoLink_BH7S"};function e3(e){let{logo:t}=e,{withBaseUrl:n}=(0,Y.Cg)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,r.jsx)(e1.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function e5(e){let{logo:t}=e;return t.href?(0,r.jsx)(q.Z,{href:t.href,className:e2.footerLogoLink,target:t.target,children:(0,r.jsx)(e3,{logo:t})}):(0,r.jsx)(e3,{logo:t})}function e4(e){let{copyright:t}=e;return(0,r.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function e9(e){let{style:t,links:n,logo:o,copyright:i}=e;return(0,r.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,r.jsxs)("div",{className:"container container-fluid",children:[n,(o||i)&&(0,r.jsxs)("div",{className:"footer__bottom text--center",children:[o&&(0,r.jsx)("div",{className:"margin-bottom--sm",children:o}),i]})]})})}let e6=o.memo(function(){let{footer:e}=(0,v.L)();if(!e)return null;let{copyright:t,links:n,logo:o,style:a}=e;return(0,r.jsx)(e9,{style:a,links:n&&n.length>0&&(0,r.jsx)(e0,{links:n}),logo:o&&(0,r.jsx)(e5,{logo:o}),copyright:t&&(0,r.jsx)(e4,{copyright:t})})}),e8=(0,A.Qc)([F.S,w.p,O.OC,eE.L5,l.VC,function(e){let{children:t}=e;return(0,r.jsx)(j.n2,{children:(0,r.jsx)(N.M,{children:(0,r.jsx)(L,{children:t})})})}]);function e7(e){let{children:t}=e;return(0,r.jsx)(e8,{children:t})}var te=n("4403");function tt(e){let{error:t,tryAgain:n}=e;return(0,r.jsx)("main",{className:"container margin-vert--xl",children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(te.Z,{as:"h1",className:"hero__title",children:(0,r.jsx)(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,r.jsx)("div",{className:"margin-vert--lg",children:(0,r.jsx)(eD,{onClick:n,className:"button button--primary shadow--lw"})}),(0,r.jsx)("hr",{}),(0,r.jsx)("div",{className:"margin-vert--md",children:(0,r.jsx)(eM,{error:t})})]})})})}let tn="mainWrapper_z2l0";function tr(e){let{children:t,noFooter:n,wrapperClassName:o,title:s,description:u}=e;return(0,h.t)(),(0,r.jsxs)(e7,{children:[(0,r.jsx)(l.d,{title:s,description:u}),(0,r.jsx)(y,{}),(0,r.jsx)(T,{}),(0,r.jsx)(eV,{}),(0,r.jsx)("div",{id:d,className:(0,a.Z)(m.k.wrapper.main,tn,o),children:(0,r.jsx)(i.Z,{fallback:e=>(0,r.jsx)(tt,{...e}),children:t})}),!n&&(0,r.jsx)(e6,{})]})}},4987:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(5893);n(7294);var o=n(3012),a=n(4757),i=n(2933),l=n(140),s=n(6561);function u(e){let{logo:t,alt:n,imageClassName:o}=e,i={light:(0,a.ZP)(t.src),dark:(0,a.ZP)(t.srcDark||t.src)},l=(0,r.jsx)(s.Z,{className:t.className,sources:i,height:t.height,width:t.width,alt:n,style:t.style});return o?(0,r.jsx)("div",{className:o,children:l}):l}function c(e){let{siteConfig:{title:t}}=(0,i.Z)(),{navbar:{title:n,logo:s}}=(0,l.L)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,a.ZP)(s?.href||"/"),g=s?.alt??(n?"":t);return(0,r.jsxs)(o.Z,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,r.jsx)(u,{logo:s,alt:g,imageClassName:c}),null!=n&&(0,r.jsx)("b",{className:d,children:n})]})}},4315:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(5893);n(7294);var o=n(4819);function a(e){let{locale:t,version:n,tag:a}=e;return(0,r.jsxs)(o.Z,{children:[t&&(0,r.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,r.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,r.jsx)("meta",{name:"docusaurus_tag",content:a}),t&&(0,r.jsx)("meta",{name:"docsearch:language",content:t}),n&&(0,r.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,r.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},6561:function(e,t,n){"use strict";n.d(t,{Z:()=>c});var r=n("5893"),o=n("7294"),a=n("7026"),i=n("7227"),l=n("4239");let s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};function u(e){let{className:t,children:n}=e,u=(0,i.Z)(),{colorMode:c}=(0,l.I)();return(0,r.jsx)(r.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map(e=>{let i=n({theme:e,className:(0,a.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,r.jsx)(o.Fragment,{children:i},e)})})}function c(e){let{sources:t,className:n,alt:o,...a}=e;return(0,r.jsx)(u,{className:n,children:e=>{let{theme:n,className:i}=e;return(0,r.jsx)("img",{src:t[n],alt:o,className:i,...a})}})}},7455:function(e,t,n){"use strict";n.d(t,{u:function(){return s},z:function(){return g}});var r=n(5893),o=n(7294),a=n(7565),i=n(2e3),l=n(7504);function s(e){let{initialState:t}=e,[n,r]=(0,o.useState)(t??!1),a=(0,o.useCallback)(()=>{r(e=>!e)},[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:a}}let u={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function d(e,t){let n=t?u:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{as:t="div",collapsed:n,children:i,animation:s,onCollapseTransitionEnd:f,className:p,disableSSRStyle:g}=e,m=(0,o.useRef)(null);return!function(e){let{collapsibleRef:t,collapsed:n,animation:r}=e,a=(0,o.useRef)(!1);(0,o.useEffect)(()=>{let e=t.current;function o(){let t=function(){let t=e.scrollHeight,n=r?.duration??function(e){if((0,l.n)())return 1;let t=e/36;return Math.round((4+15*t**.25+t/5)*10)}(t),o=r?.easing??"ease-in-out";return{transition:`height ${n}ms ${o}`,height:`${t}px`}}();e.style.transition=t.transition,e.style.height=t.height}if(!a.current){d(e,n),a.current=!0;return}return e.style.willChange="height",function(){let t=requestAnimationFrame(()=>{n?(o(),requestAnimationFrame(()=>{e.style.height=u.height,e.style.overflow=u.overflow})):(e.style.display="block",requestAnimationFrame(()=>{o()}))});return()=>cancelAnimationFrame(t)}()},[t,n,r])}({collapsibleRef:m,collapsed:n,animation:s}),(0,r.jsx)(t,{ref:m,style:g?void 0:function(e){if(!a.Z.canUseDOM)return e?u:c}(n),onTransitionEnd:e=>{if("height"===e.propertyName)d(m.current,n),f?.(n)},className:p,children:i})}function p(e){let{collapsed:t,...n}=e,[a,l]=(0,o.useState)(!t),[s,u]=(0,o.useState)(t);return(0,i.Z)(()=>{!t&&l(!0)},[t]),(0,i.Z)(()=>{a&&u(t)},[a,t]),a?(0,r.jsx)(f,{...n,collapsed:s}):null}function g(e){let{lazy:t,...n}=e;return(0,r.jsx)(t?p:f,{...n})}},2093:function(e,t,n){"use strict";n.d(t,{n:function(){return m},p:function(){return g}});var r=n(5893),o=n(7294),a=n(7227),i=n(6009),l=n(5346),s=n(140);let u=(0,i.WA)("docusaurus.announcement.dismiss"),c=(0,i.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=o.createContext(null);function g(e){let{children:t}=e,n=function(){let{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,r]=(0,o.useState)(()=>!!t&&d());(0,o.useEffect)(()=>{r(d())},[]);let i=(0,o.useCallback)(()=>{f(!0),r(!0)},[]);return(0,o.useEffect)(()=>{if(!e)return;let{id:t}=e,n=c.get();"annoucement-bar"===n&&(n="announcement-bar");let o=t!==n;c.set(t),o&&f(!1),(o||!d())&&r(!1)},[e]),(0,o.useMemo)(()=>({isActive:!!e&&!n,close:i}),[e,n,i])}();return(0,r.jsx)(p.Provider,{value:n,children:t})}function m(){let e=(0,o.useContext)(p);if(!e)throw new l.i6("AnnouncementBarProvider");return e}},4239:function(e,t,n){"use strict";n.d(t,{I:function(){return b},S:function(){return h}});var r=n(5893),o=n(7294),a=n(7565),i=n(5346),l=n(6009),s=n(140);let u=o.createContext(void 0),c="theme",d=(0,l.WA)(c),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,g=e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{d.set(p(e))};function h(e){let{children:t}=e,n=function(){let{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[r,a]=(0,o.useState)(g(e));(0,o.useEffect)(()=>{t&&d.del()},[t]);let i=(0,o.useCallback)(function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{persist:o=!0}=r;t?(a(t),o&&m(t)):(n?a(window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light):a(e),d.del())},[n,e]);(0,o.useEffect)(()=>{document.documentElement.setAttribute("data-theme",p(r))},[r]),(0,o.useEffect)(()=>{if(t)return;let e=e=>{if(e.key!==c)return;let t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[t,i]);let l=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{if(t&&!n)return;let e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{if(window.matchMedia("print").matches||l.current){l.current=window.matchMedia("print").matches;return}i(null)};return e.addListener(r),()=>e.removeListener(r)},[i,t,n]),(0,o.useMemo)(()=>({colorMode:r,setColorMode:i,get isDarkTheme(){return r===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}}),[r,i])}();return(0,r.jsx)(u.Provider,{value:n,children:t})}function b(){let e=(0,o.useContext)(u);if(null==e)throw new i.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},3780:function(e,t,n){"use strict";n.d(t,{M:()=>d,e:()=>f});var r=n("5893"),o=n("7294"),a=n("1179"),i=n("4704"),l=n("6550"),s=n("5346"),u=n("140");let c=o.createContext(void 0);function d(e){let{children:t}=e,n=function(){var e;let t=function(){let e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),n=(0,i.i)(),r=!t&&"mobile"===n,[c,d]=(0,o.useState)(!1);e=()=>{if(c)return d(!1),!1},function(e){let t=(0,l.k6)(),n=(0,s.zX)(e);(0,o.useEffect)(()=>t.block((e,t)=>n(e,t)),[t,n])}((t,n)=>{if("POP"===n)return e(t,n)});let f=(0,o.useCallback)(()=>{d(e=>!e)},[]);return(0,o.useEffect)(()=>{"desktop"===n&&d(!1)},[n]),(0,o.useMemo)(()=>({disabled:t,shouldRender:r,toggle:f,shown:c}),[t,r,f,c])}();return(0,r.jsx)(c.Provider,{value:n,children:t})}function f(){let e=o.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},1179:function(e,t,n){"use strict";n.d(t,{HY:function(){return s},Zo:function(){return u},n2:function(){return l}});var r=n(5893),o=n(7294),a=n(5346);let i=o.createContext(null);function l(e){let{children:t}=e,n=(0,o.useState)({component:null,props:null});return(0,r.jsx)(i.Provider,{value:n,children:t})}function s(){let e=(0,o.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e,r=(0,o.useContext)(i);if(!r)throw new a.i6("NavbarSecondaryMenuContentProvider");let[,l]=r,s=(0,a.Ql)(n);return(0,o.useEffect)(()=>{l({component:t,props:s})},[l,t,s]),(0,o.useEffect)(()=>()=>l({component:null,props:null}),[l]),null}},6959:function(e,t,n){"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n("7294");let o="navigation-with-keyboard";function a(){(0,r.useEffect)(()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}},[])}},4704:function(e,t,n){"use strict";n.d(t,{i:function(){return i}});var r=n(7294),o=n(7565);let a={desktop:"desktop",mobile:"mobile"};function i(){let{desktopBreakpoint:e=996}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,n]=(0,r.useState)(()=>"ssr");return(0,r.useEffect)(()=>{function t(){n(function(e){if(!o.Z.canUseDOM)throw Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(e))}return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]),t}},4681:function(e,t,n){"use strict";n.d(t,{k:function(){return r}});let r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},7504:function(e,t,n){"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:function(){return r}})},4713:function(e,t,n){"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n("5893"),o=n("7294"),a=n("7026"),i=n("4819"),l=n("4879"),s=n("4757"),u=n("2933");function c(e){let{title:t,description:n,keywords:o,image:a,children:l}=e,c=function(e){let{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.Cg)(),f=a?d(a,{absolute:!0}):void 0;return(0,r.jsxs)(i.Z,{children:[t&&(0,r.jsx)("title",{children:c}),t&&(0,r.jsx)("meta",{property:"og:title",content:c}),n&&(0,r.jsx)("meta",{name:"description",content:n}),n&&(0,r.jsx)("meta",{property:"og:description",content:n}),o&&(0,r.jsx)("meta",{name:"keywords",content:Array.isArray(o)?o.join(","):o}),f&&(0,r.jsx)("meta",{property:"og:image",content:f}),f&&(0,r.jsx)("meta",{name:"twitter:image",content:f}),l]})}let d=o.createContext(void 0);function f(e){let{className:t,children:n}=e,l=o.useContext(d),s=(0,a.Z)(l,t);return(0,r.jsxs)(d.Provider,{value:s,children:[(0,r.jsx)(i.Z,{children:(0,r.jsx)("html",{className:s})}),n]})}function p(e){var t;let{children:n}=e,i=function(){let e=o.useContext(l._);if(!e)throw Error("Unexpected: no Docusaurus route context found");return e}();let s=(t=i.plugin.name,`plugin-${t.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`),u=`plugin-id-${i.plugin.id}`;return(0,r.jsx)(f,{className:(0,a.Z)(s,u),children:n})}},5346:function(e,t,n){"use strict";n.d(t,{D9:function(){return l},Qc:function(){return c},Ql:function(){return u},i6:function(){return s},zX:function(){return i}});var r=n(5893),o=n(7294),a=n(2e3);function i(e){let t=(0,o.useRef)(e);return(0,a.Z)(()=>{t.current=e},[e]),(0,o.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.current(...n)},[])}function l(e){let t=(0,o.useRef)();return(0,a.Z)(()=>{t.current=e}),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){let t=Object.entries(e);return t.sort((e,t)=>e[0].localeCompare(t[0])),(0,o.useMemo)(()=>e,t.flat())}function c(e){return t=>{let{children:n}=t;return(0,r.jsx)(r.Fragment,{children:e.reduceRight((e,t)=>(0,r.jsx)(t,{children:e}),n)})}}},9246:function(e,t,n){"use strict";n.d(t,{Mg:function(){return i},Ns:function(){return l}});var r=n(7294),o=n(4143),a=n(2933);function i(e,t){let n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){let{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)(()=>(function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;let n=t.find(r);return n?n:e(t.filter(o).flatMap(e=>e.routes??[]))}(n)})({routes:o.Z,baseUrl:e}),[e])}},9599:function(e,t,n){"use strict";n.d(t,{Ct:function(){return f},OC:function(){return u},RF:function(){return d}});var r=n(5893),o=n(7294),a=n(7565),i=n(7227);n(2e3);var l=n(5346);let s=o.createContext(void 0);function u(e){let{children:t}=e,n=function(){let e=(0,o.useRef)(!0);return(0,o.useMemo)(()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}}),[])}();return(0,r.jsx)(s.Provider,{value:n,children:t})}let c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],{scrollEventsEnabledRef:n}=function(){let e=(0,o.useContext)(s);if(null==e)throw new l.i6("ScrollControllerProvider");return e}(),r=(0,o.useRef)(c()),a=(0,l.zX)(e);(0,o.useEffect)(()=>{let e=()=>{if(!n.current)return;let e=c();a(e,r.current),r.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)},[a,n,...t])}function f(){let e=(0,o.useRef)(null),t=(0,i.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{var r;e.current=t?(r=n,window.scrollTo({top:r,behavior:"smooth"}),()=>{}):function(e){let t=null,n=document.documentElement.scrollTop>e;return!function r(){let o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor((o-e)*.85)+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},6009:function(e,t,n){"use strict";n.d(t,{WA:()=>s}),n("7294");var r=JSON.parse('{"d":"localStorage","u":""}');let o=r.d;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;let a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}let i=!1,l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){var n;let s=(n=e,`${n}${r.u}`);if("undefined"==typeof window)return function(e){function t(){throw Error(`Illegal storage API usage for storage key "${e}". +Docusaurus storage APIs are not supposed to be called on the server-rendering process. +Please only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(s);let u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o;if("undefined"==typeof window)throw Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(e){return function(e){!i&&(console.warn(`Docusaurus browser storage is not available. +Possible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.`,e),i=!0)}(e),null}}(t?.persistence);return null===u?l:{get:()=>{try{return u.getItem(s)}catch(e){return console.error(`Docusaurus storage error, can't get key=${s}`,e),null}},set:e=>{try{let t=u.getItem(s);u.setItem(s,e),a({key:s,oldValue:t,newValue:e,storage:u})}catch(t){console.error(`Docusaurus storage error, can't set ${s}=${e}`,t)}},del:()=>{try{let e=u.getItem(s);u.removeItem(s),a({key:s,oldValue:e,newValue:null,storage:u})}catch(e){console.error(`Docusaurus storage error, can't delete key=${s}`,e)}},listen:e=>{try{let t=t=>{t.storageArea===u&&t.key===s&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(e){return console.error(`Docusaurus storage error, can't listen for changes of key=${s}`,e),()=>{}}}}}},8910:function(e,t,n){"use strict";n.d(t,{l:function(){return i}});var r=n(2933),o=n(6550),a=n(8365);function i(){let{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,o.TH)(),u=(0,a.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){var n;let{locale:r,fullyQualified:o}=e;return`${o?t:""}${(n=r)===i?`${c}`:`${c}${n}/`}${d}`}}}},346:function(e,t,n){"use strict";n.d(t,{S:function(){return i}});var r=n(7294),o=n(6550),a=n(5346);function i(e){let t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)(()=>{if(!!n)t!==n&&i({location:t,previousLocation:n})},[i,t,n])}},140:function(e,t,n){"use strict";n.d(t,{L:function(){return o}});var r=n(2933);function o(){return(0,r.Z)().siteConfig.themeConfig}},4994:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){var n;let{trailingSlash:r,baseUrl:i}=t;if(e.startsWith("#"))return e;if(void 0===r)return e;let[l]=e.split(/[#?]/);let s="/"===l||l===i?l:(n=l,r?o(n):a(n));return e.replace(l,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;let r=n(8411);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},4202:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8365:function(e,t,n){"use strict";t.getErrorCausalChain=t.applyTrailingSlash=void 0;let r=n(8395);var o,a=n(4994);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r.__importDefault(a).default}}),n(8411);var i=n(4202);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},8411:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},5150:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return r}});let r={title:"OpenC3 Docs",tagline:"OpenC3 COSMOS Documentation",favicon:"img/favicon.png",future:{experimental_faster:{swcJsLoader:!0,swcJsMinimizer:!0,swcHtmlMinimizer:!0,lightningCssMinimizer:!0,mdxCrossCompilerCache:!0,rspackBundler:!0},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},url:"https://docs.openc3.com",baseUrl:"/",trailingSlash:!1,organizationName:"OpenC3",projectName:"cosmos",onBrokenLinks:"throw",onBrokenMarkdownLinks:"throw",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["@docusaurus/plugin-client-redirects",{redirects:[{to:"/docs/",from:"/docs/v5/"},{to:"/docs/tools",from:"/docs/v5/tools"},{to:"/docs/getting-started/installation",from:"/docs/v5/installation"},{to:"/docs/getting-started/gettingstarted",from:"/docs/v5/gettingstarted"},{to:"/docs/getting-started/upgrading",from:"/docs/v5/upgrading"},{to:"/docs/getting-started/requirements",from:"/docs/v5/requirements"},{to:"/docs/getting-started/podman",from:"/docs/v5/podman"},{to:"/docs/configuration/format",from:"/docs/v5/format"},{to:"/docs/configuration/plugins",from:"/docs/v5/plugins"},{to:"/docs/configuration/target",from:"/docs/v5/target"},{to:"/docs/configuration/command",from:"/docs/v5/command"},{to:"/docs/configuration/telemetry",from:"/docs/v5/telemetry"},{to:"/docs/configuration/interfaces",from:"/docs/v5/interfaces"},{to:"/docs/configuration/protocols",from:"/docs/v5/protocols"},{to:"/docs/configuration/table",from:"/docs/v5/table"},{to:"/docs/configuration/telemetry-screens",from:"/docs/v5/telemetry-screens"},{to:"/docs/configuration/ssl-tls",from:"/docs/v5/ssl-tls"},{to:"/docs/tools/cmd-tlm-server",from:"/docs/v5/cmd-tlm-server"},{to:"/docs/tools/limits-monitor",from:"/docs/v5/limits-monitor"},{to:"/docs/tools/cmd-sender",from:"/docs/v5/cmd-sender"},{to:"/docs/tools/script-runner",from:"/docs/v5/script-runner"},{to:"/docs/tools/packet-viewer",from:"/docs/v5/packet-viewer"},{to:"/docs/tools/tlm-viewer",from:"/docs/v5/tlm-viewer"},{to:"/docs/tools/tlm-grapher",from:"/docs/v5/tlm-grapher"},{to:"/docs/tools/data-extractor",from:"/docs/v5/data-extractor"},{to:"/docs/tools/data-viewer",from:"/docs/v5/data-viewer"},{to:"/docs/tools/bucket-explorer",from:"/docs/v5/bucket-explorer"},{to:"/docs/tools/table-manager",from:"/docs/v5/table-manager"},{to:"/docs/tools/handbooks",from:"/docs/v5/handbooks"},{to:"/docs/tools/calendar",from:"/docs/v5/calendar"},{to:"/docs/guides/bridges",from:"/docs/v5/bridges"},{to:"/docs/guides/cfs",from:"/docs/v5/cfs"},{to:"/docs/guides/custom-widgets",from:"/docs/v5/custom-widgets"},{to:"/docs/guides/little-endian-bitfields",from:"/docs/v5/little-endian-bitfields"},{to:"/docs/guides/local-mode",from:"/docs/v5/local-mode"},{to:"/docs/guides/logging",from:"/docs/v5/logging"},{to:"/docs/guides/monitoring",from:"/docs/v5/monitoring"},{to:"/docs/guides/performance",from:"/docs/v5/performance"},{to:"/docs/guides/raspberrypi",from:"/docs/v5/raspberrypi"},{to:"/docs/guides/scripting-api",from:"/docs/v5/scripting-api"},{to:"/docs/guides/script-writing",from:"/docs/v5/script-writing"},{to:"/docs/development/roadmap",from:"/docs/v5/roadmap"},{to:"/docs/development/developing",from:"/docs/v5/development"},{to:"/docs/development/testing",from:"/docs/v5/testing"},{to:"/docs/development/json-api",from:"/docs/v5/json-api"},{to:"/docs/development/streaming-api",from:"/docs/v5/streaming-api"},{to:"/docs/development/log-structure",from:"/docs/v5/log-structure"},{to:"/docs/meta/contributing",from:"/docs/v5/contributing"},{to:"/docs/meta/philosophy",from:"/docs/v5/philosophy"},{to:"/docs/meta/xtce",from:"/docs/v5/xtce"}]}],"/Users/ryanmelt/git/openc3/cosmos/docs.openc3.com/node_modules/docusaurus-lunr-search/src/index.js"],presets:[["classic",{docs:{editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/"},theme:{customCss:"/Users/ryanmelt/git/openc3/cosmos/docs.openc3.com/src/css/custom.css"}}]],themeConfig:{navbar:{title:"OpenC3 Docs",logo:{alt:"OpenC3 Logo",src:"img/logo.svg"},items:[{to:"https://openc3.com",label:"Home",position:"left"},{to:"https://openc3.com/enterprise/",label:"Enterprise",position:"left"},{type:"docSidebar",sidebarId:"defaultSidebar",position:"left",label:"Documentation"},{to:"https://openc3.com/news/",label:"News",position:"left"},{to:"https://openc3.com/contact/",label:"Contact",position:"left"},{to:"https://openc3.com/about/",label:"About",position:"left"},{to:"https://github.com/OpenC3/cosmos",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Homepage",items:[{label:"Home",to:"https://openc3.com"}]},{title:"Docs",items:[{label:"Documentation",to:"/docs"}]},{title:"Community",items:[{label:"LinkedIn",href:"https://www.linkedin.com/company/openc3"}]},{title:"More",items:[{label:"GitHub",href:"https://github.com/OpenC3/cosmos"},{label:"Privacy",to:"/docs/privacy"}]}],copyright:"Copyright \xa9 2024 OpenC3, Inc."},prism:{theme:{plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},darkTheme:{plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},additionalLanguages:["ruby","python","bash","diff","json"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"dark",disableSwitch:!1,respectPrefersColorScheme:!1},tableOfContents:{minHeadingLevel:2,maxHeadingLevel:5},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[]},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},6019:function(e,t,n){"use strict";function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}n.d(t,{Z:function(){return r}})},5091:function(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>o})},443:function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}n.d(t,{Z:function(){return r}})},7026:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=function(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=function e(t){var n,r,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t){if(Array.isArray(t)){var a=t.length;for(n=0;n<a;n++)t[n]&&(r=e(t[n]))&&(o&&(o+=" "),o+=r)}else for(r in t)t[r]&&(o&&(o+=" "),o+=r)}return o}(e))&&(r&&(r+=" "),r+=t);return r}},3229:function(e,t,n){"use strict";let r,o,a,i,l;n.d(t,{p1:function(){return Q},y$:function(){return eM}});var s,u,c,d,f,p,g,m,h,b,y,v,w,x,k,S,E,_,C,T,N,O,A,j,P,L,R=n(7294),I=n(7026),F=Object.create,D=Object.defineProperty,M=Object.defineProperties,z=Object.getOwnPropertyDescriptor,$=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertyNames,U=Object.getOwnPropertySymbols,H=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,V=(e,t,n)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G=(e,t)=>{for(var n in t||(t={}))Z.call(t,n)&&V(e,n,t[n]);if(U)for(var n of U(t))W.call(t,n)&&V(e,n,t[n]);return e},q=(e,t)=>M(e,$(t)),Y=(e,t)=>{var n={};for(var r in e)Z.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&U)for(var r of U(e))0>t.indexOf(r)&&W.call(e,r)&&(n[r]=e[r]);return n},K=(e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of B(t))!Z.call(e,o)&&o!==n&&D(e,o,{get:()=>t[o],enumerable:!(r=z(t,o))||r.enumerable});return e};var Q=(l=null!=(a=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},r.util.type(t)){case"Object":if(n[a=r.util.objId(t)])return n[a];for(var i in o={},n[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],n));return o;case"Array":if(n[a=r.util.objId(t)])return n[a];return o=[],n[a]=o,t.forEach(function(t,r){o[r]=e(t,n)}),o;default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||r.languages)[e],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(l)||(i[l]=a[l])}var u=o[e];return o[e]=i,r.languages.DFS(r.languages,function(t,n){n===u&&t!=e&&(this[t]=i)}),i},DFS:function e(t,n,o,a){a=a||{};var i=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],o||l);var s=t[l],u=r.util.type(s);"Object"!==u||a[i(s)]?"Array"!==u||a[i(s)]||(a[i(s)]=!0,e(s,n,l,a)):(a[i(s)]=!0,e(s,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",a),!a.grammar)throw Error('The language "'+a.language+'" has no grammar.');return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run("after-tokenize",a),o.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var s in n)t[s]=n[s];delete t.rest}var u=new i;return l(u,u.head,e),function e(t,n,i,s,u,c){for(var d in i){if(!!i.hasOwnProperty(d)&&!!i[d]){var f=i[d];f=Array.isArray(f)?f:[f];for(var p=0;p<f.length;++p){if(c&&c.cause==d+","+p)return;var g=f[p],m=g.inside,h=!!g.lookbehind,b=!!g.greedy,y=g.alias;if(b&&!g.pattern.global){var v=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,v+"g")}for(var w=g.pattern||g,x=s.next,k=u;x!==n.tail&&(!c||!(k>=c.reach));k+=x.value.length,x=x.next){;var S,E=x.value;if(n.length>t.length)return;if(!(E instanceof o)){var _=1;if(b){if(!(S=a(w,k,t,h))||S.index>=t.length)break;var C=S.index,T=S.index+S[0].length,N=k;for(N+=x.value.length;C>=N;)N+=(x=x.next).value.length;if(N-=x.value.length,k=N,x.value instanceof o)continue;for(var O=x;O!==n.tail&&(N<T||"string"==typeof O.value);O=O.next)_++,N+=O.value.length;_--,E=t.slice(k,N),S.index-=k}else if(!(S=a(w,0,E,h)))continue;var C=S.index,A=S[0],j=E.slice(0,C),P=E.slice(C+A.length),L=k+E.length;c&&L>c.reach&&(c.reach=L);var R=x.prev;if(j&&(R=l(n,R,j),k+=j.length),function(e,t,n){for(var r=t.next,o=0;o<n&&r!==e.tail;o++)r=r.next;t.next=r,r.prev=t,e.length-=o}(n,R,_),x=l(n,R,new o(d,m?r.tokenize(A,m):A,y,A)),P&&l(n,x,P),_>1){var I={cause:d+","+p,reach:L};e(t,n,i,x.prev,k,I),c&&I.reach>c.reach&&(c.reach=I.reach)}}}}}}}(e,u,t,u.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(u)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(!!n&&!!n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach(function(t){o+=e(t,n)}),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),r.hooks.run("wrap",a);var l="";for(var s in a.attributes)l+=" "+s+'="'+(a.attributes[s]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+l+">"+a.content+"</"+a.tag+">"},r}();t.exports=n,n.default=n}},function(){return o||(0,r[B(r)[0]])((o={exports:{}}).exports,o),o.exports})())?F(H(a)):{},K(!i&&a&&a.__esModule?l:D(l,"default",{value:a,enumerable:!0}),a));Q.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Q.languages.markup.tag.inside["attr-value"].inside.entity=Q.languages.markup.entity,Q.languages.markup.doctype.inside["internal-subset"].inside=Q.languages.markup,Q.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(Q.languages.markup.tag,"addInlined",{value:function(e,t){var n={},n=(n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Q.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}),t=(n["language-"+t]={pattern:/[\s\S]+/,inside:Q.languages[t]},{});t[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},Q.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(Q.languages.markup.tag,"addAttribute",{value:function(e,t){Q.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Q.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Q.languages.html=Q.languages.markup,Q.languages.mathml=Q.languages.markup,Q.languages.svg=Q.languages.markup,Q.languages.xml=Q.languages.extend("markup",{}),Q.languages.ssml=Q.languages.xml,Q.languages.atom=Q.languages.xml,Q.languages.rss=Q.languages.xml,s=Q,u={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},d=RegExp((d="(?:[^\\\\-]|"+(c=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")")+"-"+d),f={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},s.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:d,inside:{escape:c,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":u,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:c}},"special-escape":u,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":f}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:c,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":f}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},Q.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},Q.languages.javascript=Q.languages.extend("clike",{"class-name":[Q.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Q.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Q.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Q.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Q.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Q.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Q.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Q.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Q.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Q.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Q.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Q.languages.markup&&(Q.languages.markup.tag.addInlined("script","javascript"),Q.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Q.languages.js=Q.languages.javascript,Q.languages.actionscript=Q.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),Q.languages.actionscript["class-name"].alias="function",delete Q.languages.actionscript.parameter,delete Q.languages.actionscript["literal-property"],Q.languages.markup&&Q.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:Q.languages.markup}}),g=/#(?!\{).+/,m={pattern:/#\{[^}]+\}/,alias:"variable"},(p=Q).languages.coffeescript=p.languages.extend("javascript",{comment:g,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:m}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),p.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:g,interpolation:m}}}),p.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:p.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:m}}]}),p.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete p.languages.coffeescript["template-string"],p.languages.coffee=p.languages.coffeescript,Object.defineProperty(b=(h=Q).languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/},"addSupport",{value:function(e,t){(e="string"==typeof e?[e]:e).forEach(function(e){var n=function(e){e.inside||(e.inside={}),e.inside.rest=t},r="doc-comment";if(o=h.languages[e]){var o,a=o[r];if((a=a||(o=h.languages.insertBefore(e,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[r])instanceof RegExp&&(a=o[r]={pattern:a}),Array.isArray(a))for(var i=0,l=a.length;i<l;i++)a[i]instanceof RegExp&&(a[i]={pattern:a[i]}),n(a[i]);else n(a)}})}}),b.addSupport(["java","javascript","php"],b),v=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,(v=((y=Q).languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+v.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+v.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+v.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+v.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:v,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},y.languages.css.atrule.inside.rest=y.languages.css,y.languages.markup))&&(v.tag.addInlined("style","css"),v.tag.addAttribute("style","css")),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(Q),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){return t=(t||"").replace(/m/g,"")+"m",RegExp(/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e}),t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return"(?:"+o+"|"+a+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Q),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)}),e.hooks.add("wrap",function(t){if("code-block"===t.type){for(var n,r="",o=0,a=t.classes.length;o<a;o++){var u=t.classes[o],u=/language-(.+)/.exec(u);if(u){r=u[1];break}}var c,d=e.languages[r];d?t.content=e.highlight(n=(n=(n=t.content).replace(i,"")).replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(e,t){return"#"===(t=t.toLowerCase())[0]?s("x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1))):l[t]||e}),d,r):r&&"none"!==r&&e.plugins.autoloader&&(c="md-"+new Date().valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(r,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[r],r))}))}}),RegExp(e.languages.markup.tag.pattern.source,"gi")),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(Q),Q.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:Q.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},Q.hooks.add("after-tokenize",function(e){if("graphql"===e.language)for(var t=e.tokens.filter(function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type}),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===function(e){return t[n+e]}(1).content){n+=2;var a=f(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var i=function(e){return t[n+e]}(0);"variable"===i.type&&(p(i,"variable-input"),o.push(i.content))}n=a+1}if(d(["punctuation","property-query"])&&"{"===function(e){return t[n+e]}(0).content&&(n++,p(function(e){return t[n+e]}(0),"property-mutation"),0<o.length)){var l=f(/^\{$/,/^\}$/);if(-1!==l)for(var s=n;s<l;s++){var u=t[s];"variable"===u.type&&0<=o.indexOf(u.content)&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,r){r=r||0;for(var o=0;o<e.length;o++){var a=t[n+(o+r)];if(!a||a.type!==e[o])return}return 1}function f(e,r){for(var o=1,a=n;a<t.length;a++){var i=t[a],l=i.content;if("punctuation"===i.type&&"string"==typeof l){if(e.test(l))o++;else if(r.test(l)&&0==--o)return a}}return -1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}}),Q.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var s={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};e.hooks.add("after-tokenize",function(t){t.language in s&&function t(n){for(var i=0,s=n.length;i<s;i++){var u,c,d,f=n[i];"string"!=typeof f&&(Array.isArray(u=f.content)?"template-string"===f.type?(f=u[1],3===u.length&&"string"!=typeof f&&"embedded-code"===f.type&&(c=function e(t){return"string"==typeof t?t:Array.isArray(t)?t.map(e).join(""):e(t.content)}(f),f=Array.isArray(f=f.alias)?f[0]:f,d=e.languages[f])&&(u[1]=function(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),u=0,c={},s=l(s.map(function(e){if("string"==typeof e)return e;for(var n,r,e=e.content;-1!==t.indexOf((r=u++,n="___"+i.toUpperCase()+"_"+r+"___")););return c[n]=e,n}).join(""),n,i),d=Object.keys(c);return u=0,function t(n){for(var a=0;a<n.length;a++){if(u>=d.length)return;var i,s,f,p,g,m,h,b=n[a];"string"==typeof b||"string"==typeof b.content?(i=d[u],-1!==(h=(m="string"==typeof b?b:b.content).indexOf(i))&&(++u,s=m.substring(0,h),g=c[i],f=void 0,(p={})["interpolation-punctuation"]=o,3===(p=e.tokenize(g,p)).length&&((f=[1,1]).push.apply(f,l(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,g),p=m.substring(h+i.length),g=[],s&&g.push(s),g.push(f),p&&(t(m=[p]),g.push.apply(g,m)),"string"==typeof b?(n.splice.apply(n,[a,1].concat(g)),a+=g.length-1):b.content=g)):Array.isArray(h=b.content)?t(h):t([h])}}(s),new e.Token(i,s,"language-"+i,t)}(c,d,f))):t(u):"string"!=typeof u&&t([u]))}}(t.tokens)})}(Q),(w=Q).languages.typescript=w.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),w.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete w.languages.typescript.parameter,delete w.languages.typescript["literal-property"],x=w.languages.extend("typescript",{}),delete x["class-name"],w.languages.typescript["class-name"].inside=x,w.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:x}}}}),w.languages.ts=w.languages.typescript,S=(k=Q).languages.javascript,_="(@(?:arg|argument|param|property)\\s+(?:"+(E=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source)+"\\s+)?)",k.languages.jsdoc=k.languages.extend("javadoclike",{parameter:{pattern:RegExp(_+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),k.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(_+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:S,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,function(){return E})),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+E),lookbehind:!0,inside:{string:S.string,number:S.number,boolean:S.boolean,keyword:k.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:S,alias:"language-javascript"}}}}),k.languages.javadoclike.addSupport("javascript",k.languages.jsdoc),(C=Q).languages.flow=C.languages.extend("javascript",{}),C.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),C.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete C.languages.flow.parameter,C.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(C.languages.flow.keyword)||(C.languages.flow.keyword=[C.languages.flow.keyword]),C.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0}),Q.languages.n4js=Q.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),Q.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),Q.languages.n4jsd=Q.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source}),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var o=n[r],a=e.languages.javascript[o],o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(Q),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return RegExp(e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return o}),t)}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""};e.hooks.add("after-tokenize",function(t){"jsx"!==t.language&&"tsx"!==t.language||function t(n){for(var r=[],o=0;o<n.length;o++){var a=n[o],l=!1;"string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?0<r.length&&r[r.length-1].tagName===i(a.content[0].content[1])&&r.pop():"/>"!==a.content[a.content.length-1].content&&r.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0<r.length&&"punctuation"===a.type&&"{"===a.content?r[r.length-1].openedBraces++:0<r.length&&0<r[r.length-1].openedBraces&&"punctuation"===a.type&&"}"===a.content?r[r.length-1].openedBraces--:l=!0),(l||"string"==typeof a)&&0<r.length&&0===r[r.length-1].openedBraces&&(l=i(a),o<n.length-1&&("string"==typeof n[o+1]||"plain-text"===n[o+1].type)&&(l+=i(n[o+1]),n.splice(o+1,1)),0<o&&("string"==typeof n[o-1]||"plain-text"===n[o-1].type)&&(l=i(n[o-1])+l,n.splice(o-1,1),o--),n[o]=new e.Token("plain-text",l,null,l)),a.content&&"string"!=typeof a.content&&t(a.content)}}(t.tokens)})}(Q),N=(T=Q).util.clone(T.languages.typescript),(N=(T.languages.tsx=T.languages.extend("jsx",N),delete T.languages.tsx.parameter,delete T.languages.tsx["literal-property"],T.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+N.pattern.source+")",N.pattern.flags),N.lookbehind=!0,Q.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ ]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Q.languages.swift["string-literal"].forEach(function(e){e.inside.interpolation.inside=Q.languages.swift}),(O=Q).languages.kotlin=O.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete O.languages.kotlin["class-name"],A={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:O.languages.kotlin}},O.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:A},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:A},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete O.languages.kotlin.string,O.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),O.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),O.languages.kt=O.languages.kotlin,O.languages.kts=O.languages.kotlin,Q.languages.c=Q.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Q.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Q.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Q.languages.c.string],char:Q.languages.c.char,comment:Q.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Q.languages.c}}}}),Q.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Q.languages.c.boolean,Q.languages.objectivec=Q.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete Q.languages.objectivec["class-name"],Q.languages.objc=Q.languages.objectivec,Q.languages.reason=Q.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),Q.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete Q.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Q),Q.languages.go=Q.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Q.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Q.languages.go["class-name"],j=Q,P=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,L=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return P.source}),j.languages.cpp=j.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return P.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:P,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),j.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return L})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),j.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:j.languages.cpp}}}}),j.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),j.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:j.languages.extend("cpp",{})}}),j.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},j.languages.cpp["base-clause"]),Q.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Q.languages.python["string-interpolation"].inside.interpolation.inside.rest=Q.languages.python,Q.languages.py=Q.languages.python,Q.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Q.languages.webmanifest=Q.languages.json;((e,t)=>{for(var n in t)D(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>X,duotoneDark:()=>J,duotoneLight:()=>ee,github:()=>et,gruvboxMaterialDark:()=>eC,gruvboxMaterialLight:()=>eT,jettwaveDark:()=>ek,jettwaveLight:()=>eS,nightOwl:()=>en,nightOwlLight:()=>er,oceanicNext:()=>eg,okaidia:()=>em,oneDark:()=>eE,oneLight:()=>e_,palenight:()=>eh,shadesOfPurple:()=>eb,synthwave84:()=>ey,ultramin:()=>ev,vsDark:()=>ew,vsLight:()=>ex});var X={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},J={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},ee={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},et={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},en={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},er={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},eo="#D8DEE9",ea="#999999",ei="#c5a5c5",el="#5a9bcf",es="#8dc891",eu="#d7deea",ec="#ff8b50",ed="#fc929e",ef="#79b6f2",ep="#FAC863",eg={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:ei}},{types:["attr-value"],style:{color:es}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:ea}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:el}},{types:["boolean"],style:{color:ec}},{types:["tag"],style:{color:ed}},{types:["string"],style:{color:es}},{types:["punctuation"],style:{color:es}},{types:["selector","char","builtin","inserted"],style:{color:eo}},{types:["function"],style:{color:ef}},{types:["operator","entity","url","variable"],style:{color:eu}},{types:["keyword"],style:{color:ei}},{types:["atrule","class-name"],style:{color:ep}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},em={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},eh={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},eb={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},ey={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},ev={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},ew={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},ex={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},ek={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},eS={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},eE={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},e_={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},eC={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},eT={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},eN=(e,t)=>{let{plain:n}=e,r=e.styles.reduce((e,n)=>{let{languages:r,style:o}=n;return r&&!r.includes(t)?e:(n.types.forEach(t=>{let n=G(G({},e[t]),o);e[t]=n}),e)},{});return r.root=n,r.plain=q(G({},n),{backgroundColor:void 0}),r},eO=(e,t)=>{let[n,r]=(0,R.useState)(eN(t,e)),o=(0,R.useRef)(),a=(0,R.useRef)();return(0,R.useEffect)(()=>{(t!==o.current||e!==a.current)&&(o.current=t,a.current=e,r(eN(t,e)))},[e,t]),n},eA=e=>(0,R.useCallback)(t=>{var{className:n,style:r,line:o}=t;let a=q(G({},Y(t,["className","style","line"])),{className:(0,I.Z)("token-line",n)});return"object"==typeof e&&"plain"in e&&(a.style=e.plain),"object"==typeof r&&(a.style=G(G({},a.style||{}),r)),a},[e]),ej=e=>{let t=(0,R.useCallback)(({types:t,empty:n})=>{if(null!=e){if(1===t.length&&"plain"===t[0])return null!=n?{display:"inline-block"}:void 0;if(1===t.length&&null!=n)return e[t[0]];return Object.assign(null!=n?{display:"inline-block"}:{},...t.map(t=>e[t]))}},[e]);return(0,R.useCallback)(e=>{var{token:n,className:r,style:o}=e;let a=q(G({},Y(e,["token","className","style"])),{className:(0,I.Z)("token",...n.types,r),children:n.content,style:t(n)});return null!=o&&(a.style=G(G({},a.style||{}),o)),a},[t])},eP=/\r\n|\r|\n/,eL=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},eR=(e,t)=>{let n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},eI=e=>{let t=[[]],n=[e],r=[0],o=[e.length],a=0,i=0,l=[],s=[l];for(;i>-1;){for(;(a=r[i]++)<o[i];){let e;let u=t[i],c=n[i][a];if("string"==typeof c?(u=i>0?u:["plain"],e=c):(u=eR(u,c.type),c.alias&&(u=eR(u,c.alias)),e=c.content),"string"!=typeof e){i++,t.push(u),n.push(e),r.push(0),o.push(e.length);continue}let d=e.split(eP),f=d.length;l.push({types:u,content:d[0]});for(let e=1;e<f;e++)eL(l),s.push(l=[]),l.push({types:u,content:d[e]})}i--,t.pop(),n.pop(),r.pop(),o.pop()}return eL(l),s},eF=({prism:e,code:t,grammar:n,language:r})=>{let o=(0,R.useRef)(e);return(0,R.useMemo)(()=>{if(null==n)return eI([t]);let e={code:t,grammar:n,language:r,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),eI(e.tokens)},[t,n,r])},eD=({children:e,language:t,code:n,theme:r,prism:o})=>{let a=t.toLowerCase(),i=eO(a,r),l=eA(i),s=ej(i),u=o.languages[a];return e({tokens:eF({prism:o,language:a,code:n,grammar:u}),className:`prism-code language-${a}`,style:null!=i?i.root:{},getLineProps:l,getTokenProps:s})},eM=e=>(0,R.createElement)(eD,q(G({},e),{prism:e.prism||Q,theme:e.theme||ew,code:e.code,language:e.language}))},1835:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r="Invariant failed";function o(e,t){var n;if(!e)throw Error(r)}},8395:function(e,t,n){"use strict";n.r(t),n.d(t,{__addDisposableResource:function(){return I},__assign:function(){return a},__asyncDelegator:function(){return _},__asyncGenerator:function(){return E},__asyncValues:function(){return C},__await:function(){return S},__awaiter:function(){return g},__classPrivateFieldGet:function(){return P},__classPrivateFieldIn:function(){return R},__classPrivateFieldSet:function(){return L},__createBinding:function(){return h},__decorate:function(){return l},__disposeResources:function(){return D},__esDecorate:function(){return u},__exportStar:function(){return b},__extends:function(){return o},__generator:function(){return m},__importDefault:function(){return j},__importStar:function(){return A},__makeTemplateObject:function(){return T},__metadata:function(){return p},__param:function(){return s},__propKey:function(){return d},__read:function(){return v},__rest:function(){return i},__rewriteRelativeImportExtension:function(){return M},__runInitializers:function(){return c},__setFunctionName:function(){return f},__spread:function(){return w},__spreadArray:function(){return k},__spreadArrays:function(){return x},__values:function(){return y},default:function(){return z}});var r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function l(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function s(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var l=r.kind,s="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,c=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var g={};for(var m in r)g[m]="access"===m?{}:r[m];for(var m in r.access)g.access[m]=r.access[m];g.addInitializer=function(e){if(f)throw TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var h=(0,n[p])("accessor"===l?{get:c.get,set:c.set}:c[s],g);if("accessor"===l){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(d=i(h.get))&&(c.get=d),(d=i(h.set))&&(c.set=d),(d=i(h.init))&&o.unshift(d)}else(d=i(h))&&("field"===l?o.unshift(d):c[s]=d)}u&&Object.defineProperty(u,r.name,c),f=!0}function c(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function g(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{s(r.next(e))}catch(e){a(e)}}function l(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?o(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(i,l)}s((r=r.apply(e,t||[])).next())})}function m(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=l(0),i.throw=l(1),i.return=l(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(l){return function(s){return function(l){if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,s])}}}var h=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function b(e,t){for(var n in e)"default"!==n&&!Object.prototype.hasOwnProperty.call(t,n)&&h(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function x(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),o=0,t=0;t<n;t++)for(var a=arguments[t],i=0,l=a.length;i<l;i++,o++)r[o]=a[i];return r}function k(e,t,n){if(n||2==arguments.length)for(var r,o=0,a=t.length;o<a;o++)(r||!(o in t))&&(!r&&(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function S(e){return this instanceof S?(this.v=e,this):new S(e)}function E(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),i("next"),i("throw"),i("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){o[e]&&(r[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||l(e,t)})},t&&(r[e]=t(r[e])))}function l(e,t){try{(function(e){e.value instanceof S?Promise.resolve(e.value.v).then(s,u):c(a[0][2],e)})(o[e](t))}catch(e){c(a[0][3],e)}}function s(e){l("next",e)}function u(e){l("throw",e)}function c(e,t){e(t),a.shift(),a.length&&l(a[0][0],a[0][1])}}function _(e){var t,n;return t={},r("next"),r("throw",function(e){throw e}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:S(e[r](t)),done:!1}:o?o(t):t}:o}}function C(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,o){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,o,(t=e[n](t)).done,t.value)})}}}function T(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var N=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},O=function(e){return(O=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)};function A(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=O(e),r=0;r<n.length;r++)"default"!==n[r]&&h(t,e,n[r]);return N(t,e),t}function j(e){return e&&e.__esModule?e:{default:e}}function P(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function L(e,t,n,r,o){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function I(e,t,n){if(null!=t){var r,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(n){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var F="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function D(e){function t(t){e.error=e.hasError?new F(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function o(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var a=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(a).then(o,function(e){return t(e),o()})}else r|=1}catch(e){t(e)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function M(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,o,a){return n?t?".jsx":".js":!r||o&&a?r+o+"."+a.toLowerCase()+"js":e}):e}let z={__extends:o,__assign:a,__rest:i,__decorate:l,__param:s,__esDecorate:u,__runInitializers:c,__propKey:d,__setFunctionName:f,__metadata:p,__awaiter:g,__generator:m,__createBinding:h,__exportStar:b,__values:y,__read:v,__spread:w,__spreadArrays:x,__spreadArray:k,__await:S,__asyncGenerator:E,__asyncDelegator:_,__asyncValues:C,__makeTemplateObject:T,__importStar:A,__importDefault:j,__classPrivateFieldGet:P,__classPrivateFieldSet:L,__classPrivateFieldIn:R,__addDisposableResource:I,__disposeResources:D,__rewriteRelativeImportExtension:M}},2627:function(e){"use strict";e.exports={}},7138:function(e){"use strict";e.exports=JSON.parse('{"/markdown-page-661":{"__comp":"5e3ed378","__context":{"plugin":"75897369"},"content":"078dbab0"},"/docs-34d":{"__comp":"26b8abb2","__context":{"plugin":"c5388ca4"}},"/docs-9ba":{"__comp":"53ca7c5b","__props":"848bfa8e"},"/docs-6ec":{"__comp":"d1bfc316"},"/docs-81e":{"__comp":"dc5f7beb","content":"0ff569c9"},"/docs/configuration-0d9":{"__comp":"fd886806","__props":"7f8d7499"},"/docs/configuration/accessors-768":{"__comp":"dc5f7beb","content":"d66bf9c0"},"/docs/configuration/command-858":{"__comp":"dc5f7beb","content":"72c6d8a8"},"/docs/configuration/format-61b":{"__comp":"dc5f7beb","content":"d24bf9b6"},"/docs/configuration/interfaces-90e":{"__comp":"dc5f7beb","content":"a677c089"},"/docs/configuration/plugins-8ae":{"__comp":"dc5f7beb","content":"6831b732"},"/docs/configuration/protocols-53e":{"__comp":"dc5f7beb","content":"b6d70f94"},"/docs/configuration/ssl-tls-eae":{"__comp":"dc5f7beb","content":"696b4199"},"/docs/configuration/table-295":{"__comp":"dc5f7beb","content":"5fe211ef"},"/docs/configuration/target-ea0":{"__comp":"dc5f7beb","content":"b9f60ba6"},"/docs/configuration/telemetry-106":{"__comp":"dc5f7beb","content":"f15615f1"},"/docs/configuration/telemetry-screens-8d4":{"__comp":"dc5f7beb","content":"9424f0b3"},"/docs/development-59e":{"__comp":"fd886806","__props":"e07a6232"},"/docs/development/curl-724":{"__comp":"dc5f7beb","content":"411898ad"},"/docs/development/developing-929":{"__comp":"dc5f7beb","content":"c24eae19"},"/docs/development/json-api-b5b":{"__comp":"dc5f7beb","content":"d57a4b5d"},"/docs/development/log-structure-e3a":{"__comp":"dc5f7beb","content":"0686a885"},"/docs/development/roadmap-e2d":{"__comp":"dc5f7beb","content":"6f92e431"},"/docs/development/streaming-api-8fc":{"__comp":"dc5f7beb","content":"5c6ce5ec"},"/docs/development/testing-93d":{"__comp":"dc5f7beb","content":"97535711"},"/docs/getting-started-625":{"__comp":"fd886806","__props":"e91075a4"},"/docs/getting-started/generators-6a7":{"__comp":"dc5f7beb","content":"2bb7bf90"},"/docs/getting-started/gettingstarted-c63":{"__comp":"dc5f7beb","content":"a9987364"},"/docs/getting-started/installation-fb0":{"__comp":"dc5f7beb","content":"db8fa1d0"},"/docs/getting-started/key_concepts-0ac":{"__comp":"dc5f7beb","content":"ebec1ccb"},"/docs/getting-started/podman-d73":{"__comp":"dc5f7beb","content":"5bc719f6"},"/docs/getting-started/requirements-b1f":{"__comp":"dc5f7beb","content":"6b210247"},"/docs/getting-started/upgrading-1c3":{"__comp":"dc5f7beb","content":"75e64983"},"/docs/guides-85b":{"__comp":"fd886806","__props":"80a8ecf5"},"/docs/guides/bridges-8f6":{"__comp":"dc5f7beb","content":"bd0034eb"},"/docs/guides/cfs-175":{"__comp":"dc5f7beb","content":"867640d5"},"/docs/guides/custom-widgets-664":{"__comp":"dc5f7beb","content":"99581c43"},"/docs/guides/little-endian-bitfields-862":{"__comp":"dc5f7beb","content":"d8ca4191"},"/docs/guides/local-mode-02e":{"__comp":"dc5f7beb","content":"e501b0d1"},"/docs/guides/logging-672":{"__comp":"dc5f7beb","content":"8f7843ee"},"/docs/guides/monitoring-fc1":{"__comp":"dc5f7beb","content":"019369f3"},"/docs/guides/performance-4c2":{"__comp":"dc5f7beb","content":"d1b923aa"},"/docs/guides/raspberrypi-472":{"__comp":"dc5f7beb","content":"22b3ac48"},"/docs/guides/script-writing-325":{"__comp":"dc5f7beb","content":"42170351"},"/docs/guides/scripting-api-585":{"__comp":"dc5f7beb","content":"aa6b6c1b"},"/docs/meta-f76":{"__comp":"fd886806","__props":"6f9ac1e3"},"/docs/meta/contributing-04d":{"__comp":"dc5f7beb","content":"3dd7ef3b"},"/docs/meta/licenses-c2c":{"__comp":"dc5f7beb","content":"5b233ba7"},"/docs/meta/philosophy-19e":{"__comp":"dc5f7beb","content":"d9b92eba"},"/docs/meta/xtce-33c":{"__comp":"dc5f7beb","content":"058ffc22"},"/docs/privacy-90d":{"__comp":"dc5f7beb","content":"9fb6059a"},"/docs/tools-35e":{"__comp":"fd886806","__props":"f9ac6a79"},"/docs/tools/admin-0a2":{"__comp":"dc5f7beb","content":"dbe31111"},"/docs/tools/autonomic-bdf":{"__comp":"dc5f7beb","content":"103cc3be"},"/docs/tools/bucket-explorer-f54":{"__comp":"dc5f7beb","content":"89e76475"},"/docs/tools/calendar-a99":{"__comp":"dc5f7beb","content":"13196248"},"/docs/tools/cmd-sender-b54":{"__comp":"dc5f7beb","content":"cb8c3f08"},"/docs/tools/cmd-tlm-server-6ff":{"__comp":"dc5f7beb","content":"d5d77c37"},"/docs/tools/command_history-bb9":{"__comp":"dc5f7beb","content":"80c97f38"},"/docs/tools/data-extractor-107":{"__comp":"dc5f7beb","content":"43652efd"},"/docs/tools/data-viewer-7f2":{"__comp":"dc5f7beb","content":"13c1b4e4"},"/docs/tools/handbooks-611":{"__comp":"dc5f7beb","content":"cd879be4"},"/docs/tools/limits-monitor-ae6":{"__comp":"dc5f7beb","content":"54d0d530"},"/docs/tools/packet-viewer-b7d":{"__comp":"dc5f7beb","content":"2047b354"},"/docs/tools/script-runner-244":{"__comp":"dc5f7beb","content":"0f5d161c"},"/docs/tools/table-manager-1ae":{"__comp":"dc5f7beb","content":"b4596165"},"/docs/tools/tlm-grapher-518":{"__comp":"dc5f7beb","content":"40365d27"},"/docs/tools/tlm-viewer-e41":{"__comp":"dc5f7beb","content":"6b65133b"},"/-408":{"__comp":"9d6e81d0","__context":{"plugin":"75897369"},"config":"68598e7e"}}')}},function(e){e.O(0,["6212"],function(){return e(e.s="2465")}),e.O()}]); \ No newline at end of file diff --git a/docs/assets/js/runtime~main.554c1cce.js b/docs/assets/js/runtime~main.554c1cce.js new file mode 100644 index 0000000000..1f8aa64f9f --- /dev/null +++ b/docs/assets/js/runtime~main.554c1cce.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,f,t,c,b,n,r,a,d={},o={};function u(e){var f=o[e];if(void 0!==f)return f.exports;var t=o[e]={id:e,loaded:!1,exports:{}};return d[e].call(t.exports,t,t.exports,u),t.loaded=!0,t.exports}u.m=d,u.n=function(e){var f=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(f,{a:f}),f},f=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},u.t=function(t,c){if(1&c&&(t=this(t)),8&c||"object"==typeof t&&t&&(4&c&&t.__esModule||16&c&&"function"==typeof t.then))return t;var b=Object.create(null);u.r(b);var n={};e=e||[null,f({}),f([]),f(f)];for(var r=2&c&&t;"object"==typeof r&&!~e.indexOf(r);r=f(r))Object.getOwnPropertyNames(r).forEach(function(e){n[e]=function(){return t[e]}});return n.default=function(){return t},u.d(b,n),b},u.d=function(e,f){for(var t in f)u.o(f,t)&&!u.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:f[t]})},u.f={},u.e=function(e){return Promise.all(Object.keys(u.f).reduce(function(f,t){return u.f[t](e,f),f},[]))},u.hmd=function(e){return!(e=Object.create(e)).children&&(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},u.u=function(e){return"assets/js/"+(({1029:"dc5f7beb",1246:"7f8d7499",1286:"53ca7c5b",1364:"a9987364",1417:"6b65133b",1615:"99581c43",1848:"5e3ed378",2278:"9d6e81d0",2358:"b4596165",2415:"cd879be4",2448:"75e64983",2977:"d24bf9b6",3041:"6b210247",3054:"d57a4b5d",314:"bd0034eb",3350:"13c1b4e4",3380:"26b8abb2",3522:"5b233ba7",3649:"867640d5",3800:"aa6b6c1b",3822:"80a8ecf5",3824:"97535711",3927:"6831b732",4045:"0ff569c9",442:"2047b354",4456:"89e76475",4521:"fd886806",4592:"75897369",4593:"40365d27",4706:"d1b923aa",4737:"db8fa1d0",4958:"019369f3",4986:"cb8c3f08",5360:"d5d77c37",5390:"6f92e431",5878:"9fb6059a",602:"411898ad",6239:"f9ac6a79",6449:"8f7843ee",6477:"e07a6232",659:"5bc719f6",6603:"078dbab0",6649:"c5388ca4",6868:"d66bf9c0",7072:"80c97f38",7243:"0f5d161c",7258:"5c6ce5ec",7306:"c24eae19",7471:"54d0d530",7495:"058ffc22",7637:"2bb7bf90",7658:"848bfa8e",7739:"0686a885",7810:"3dd7ef3b",8156:"9424f0b3",8197:"b6d70f94",8501:"f15615f1",8519:"a677c089",8530:"13196248",8593:"d8ca4191",8713:"ebec1ccb",8847:"42170351",8884:"e501b0d1",9146:"22b3ac48",9148:"d9b92eba",9270:"6f9ac1e3",9278:"72c6d8a8",9474:"b9f60ba6",9564:"dbe31111",9578:"e91075a4",9607:"103cc3be",9879:"5fe211ef",9880:"696b4199",9945:"43652efd",9997:"d1bfc316"})[e]||e)+"."+({1029:"a2dd0d43",1246:"85f3ecbc",1286:"98d5e7d1",1364:"e9b743b9",1417:"2d32ecfa",1615:"66e9b026",1848:"1aebd68b",2061:"1e19e0b3",2278:"eeb88dfd",2358:"7e6f52c6",2415:"5bf836a2",2448:"255a094b",2977:"7cf9c38e",3041:"8741ff53",3054:"d805a5b4",314:"bfc362c6",3350:"71bb0489",3380:"50638247",3522:"0de7d63f",3649:"d2dc7c29",3800:"2983e37f",3822:"c59c2f04",3824:"20deb6fa",3927:"e81eaa4d",4045:"26d099b4",4294:"d913d836",442:"6262d9b5",4456:"9b88bca9",4521:"769d3aaa",4592:"522ccdd7",4593:"c3358f99",4706:"b61361cc",4737:"7a966c4c",4809:"b09447e2",4958:"b908935e",4986:"40bcb5c4",5360:"74690123",5390:"afcb5584",5878:"9b51588e",602:"6181014d",6239:"523ed1d4",6449:"76955511",6477:"d0bbf0d5",659:"19dac147",6603:"37ec4951",6649:"32f8f561",6868:"2fb0f26c",7072:"e6336c1b",7243:"2ae0eb29",7258:"6889c007",7306:"ea8b6264",7471:"ff5f55f3",7495:"55b30e60",7637:"707d14bd",7658:"386aeed8",7739:"4e7f372d",7810:"e940a9c6",8156:"c159e762",8197:"02fc8ffc",8501:"45e53cde",8519:"1ca7287c",8530:"cf6a255f",8593:"06fb3583",8713:"8ebd318a",8847:"f669bca7",8884:"9f75a539",9146:"aed3fa59",9148:"1ec770bc",9196:"4aa80f3d",9270:"a7b44ac3",9278:"277788ca",9395:"e194c975",9474:"dc0554f8",9564:"99d6cfe3",9578:"ceeaa3e3",9607:"f8d4fd5f",9879:"a50aa370",9880:"b1a9db24",9945:"9bbcc68e",9990:"802ea41a",9997:"08dd163f"})[e]+".js"},u.miniCssF=function(e){return""+e+".css"},u.h=function(){return"db25bb082ffa0853"},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),u.o=function(e,f){return Object.prototype.hasOwnProperty.call(e,f)},t={},c="docs-openc3-com:",u.l=function(e,f,b,n){if(t[e]){t[e].push(f);return}if(void 0!==b){for(var r,a,d=document.getElementsByTagName("script"),o=0;o<d.length;o++){var i=d[o];if(i.getAttribute("src")==e||i.getAttribute("data-webpack")==c+b){r=i;break}}}!r&&(a=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,u.nc&&r.setAttribute("nonce",u.nc),r.setAttribute("data-webpack",c+b),r.src=e),t[e]=[f];var s=function(f,c){r.onerror=r.onload=null,clearTimeout(l);var b=t[e];if(delete t[e],r.parentNode&&r.parentNode.removeChild(r),b&&b.forEach(function(e){return e(c)}),f)return f(c)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=s.bind(null,r.onerror),r.onload=s.bind(null,r.onload),a&&document.head.appendChild(r)},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b=[],u.O=function(e,f,t,c){if(f){c=c||0;for(var n=b.length;n>0&&b[n-1][2]>c;n--)b[n]=b[n-1];b[n]=[f,t,c];return}for(var r=1/0,n=0;n<b.length;n++){for(var f=b[n][0],t=b[n][1],c=b[n][2],a=!0,d=0;d<f.length;d++)(!1&c||r>=c)&&Object.keys(u.O).every(function(e){return u.O[e](f[d])})?f.splice(d--,1):(a=!1,c<r&&(r=c));if(a){b.splice(n--,1);var o=t();void 0!==o&&(e=o)}}return e},u.p="/",u.rv=function(){return"1.1.4"},u.gca=function(e){return e=({0xc95bd8:"8530",0x28377ef:"8847",0x4861a19:"4592",0x5d046df:"3824",bd0034eb:"314","2047b354":"442","411898ad":"602","5bc719f6":"659",dc5f7beb:"1029","7f8d7499":"1246","53ca7c5b":"1286",a9987364:"1364","6b65133b":"1417","99581c43":"1615","5e3ed378":"1848","9d6e81d0":"2278",b4596165:"2358",cd879be4:"2415","75e64983":"2448",d24bf9b6:"2977","6b210247":"3041",d57a4b5d:"3054","13c1b4e4":"3350","26b8abb2":"3380","5b233ba7":"3522","867640d5":"3649",aa6b6c1b:"3800","80a8ecf5":"3822","6831b732":"3927","0ff569c9":"4045","89e76475":"4456",fd886806:"4521","40365d27":"4593",d1b923aa:"4706",db8fa1d0:"4737","019369f3":"4958",cb8c3f08:"4986",d5d77c37:"5360","6f92e431":"5390","9fb6059a":"5878",f9ac6a79:"6239","8f7843ee":"6449",e07a6232:"6477","078dbab0":"6603",c5388ca4:"6649",d66bf9c0:"6868","80c97f38":"7072","0f5d161c":"7243","5c6ce5ec":"7258",c24eae19:"7306","54d0d530":"7471","058ffc22":"7495","2bb7bf90":"7637","848bfa8e":"7658","0686a885":"7739","3dd7ef3b":"7810","9424f0b3":"8156",b6d70f94:"8197",f15615f1:"8501",a677c089:"8519",d8ca4191:"8593",ebec1ccb:"8713",e501b0d1:"8884","22b3ac48":"9146",d9b92eba:"9148","6f9ac1e3":"9270","72c6d8a8":"9278",b9f60ba6:"9474",dbe31111:"9564",e91075a4:"9578","103cc3be":"9607","5fe211ef":"9879","696b4199":"9880","43652efd":"9945",d1bfc316:"9997"})[e]||e,u.p+u.u(e)},n={2580:0,6212:0},u.f.j=function(e,f){var t=u.o(n,e)?n[e]:void 0;if(0!==t){if(t)f.push(t[2]);else if(/^(2580|6212)$/.test(e))n[e]=0;else{var c=new Promise(function(f,c){t=n[e]=[f,c]});f.push(t[2]=c);var b=u.p+u.u(e),r=Error();u.l(b,function(f){if(u.o(n,e)&&(0!==(t=n[e])&&(n[e]=void 0),t)){var c=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;r.message="Loading chunk "+e+" failed.\n("+c+": "+b+")",r.name="ChunkLoadError",r.type=c,r.request=b,t[1](r)}},"chunk-"+e,e)}}},u.O.j=function(e){return 0===n[e]},r=function(e,f){var t=f[0],c=f[1],b=f[2],r,a,d=0;if(t.some(function(e){return 0!==n[e]})){for(r in c)u.o(c,r)&&(u.m[r]=c[r]);if(b)var o=b(u)}for(e&&e(f);d<t.length;d++)a=t[d],u.o(n,a)&&n[a]&&n[a][0](),n[a]=0;return u.O(o)},(a=self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).forEach(r.bind(null,0)),a.push=r.bind(null,a.push.bind(a))})(); \ No newline at end of file diff --git a/docs/assets/js/runtime~main.d66adfdc.js b/docs/assets/js/runtime~main.d66adfdc.js deleted file mode 100644 index b6bf7fde76..0000000000 --- a/docs/assets/js/runtime~main.d66adfdc.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,c,a,b,d,f={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={exports:{}};return f[e].call(a.exports,a,a.exports,r),a.exports}r.m=f,e=[],r.O=(c,a,b,d)=>{if(!a){var f=1/0;for(i=0;i<e.length;i++){a=e[i][0],b=e[i][1],d=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&d||f>=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d<f&&(f=d));if(t){e.splice(i--,1);var n=b();void 0!==n&&(c=n)}}return c}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,b,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,b){if(1&b&&(e=this(e)),8&b)return e;if("object"==typeof e&&e){if(4&b&&e.__esModule)return e;if(16&b&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var f={};c=c||[null,a({}),a([]),a(a)];for(var t=2&b&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>f[c]=()=>e[c]));return f.default=()=>e,r.d(d,f),d},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({313:"bd0034eb",407:"cd879be4",413:"99581c43",437:"97535711",783:"e07a6232",864:"5fe211ef",1281:"8f7843ee",1392:"d24bf9b6",1524:"72c6d8a8",1532:"019369f3",1839:"dc5f7beb",2327:"0f5d161c",2577:"c24eae19",2642:"c5388ca4",2717:"80c97f38",2827:"75897369",2905:"d5d77c37",2932:"53ca7c5b",3135:"5e3ed378",3307:"b9f60ba6",3343:"e501b0d1",3440:"42170351",3467:"103cc3be",3479:"80a8ecf5",3581:"6f9ac1e3",3641:"e91075a4",3718:"d1b923aa",3724:"f15615f1",3851:"7f8d7499",3942:"5bc719f6",4619:"848bfa8e",4688:"2047b354",4725:"9fb6059a",4875:"696b4199",4909:"9424f0b3",5250:"9d6e81d0",5380:"5c6ce5ec",5425:"078dbab0",5750:"43652efd",5772:"d8ca4191",5961:"0ff569c9",5989:"058ffc22",6360:"cb8c3f08",6417:"ebec1ccb",6464:"54d0d530",6544:"26b8abb2",6637:"d9b92eba",6677:"13196248",6830:"a9987364",6885:"aa6b6c1b",7209:"d1bfc316",7257:"a507c363",7355:"f9ac6a79",7388:"75e64983",7452:"a677c089",7593:"411898ad",7605:"fd886806",7660:"89e76475",7719:"867640d5",7757:"2bb7bf90",7827:"6b65133b",8150:"22b3ac48",8283:"d57a4b5d",8353:"6b210247",8444:"5b233ba7",8499:"b4596165",8619:"3dd7ef3b",8657:"db8fa1d0",9005:"b6d70f94",9014:"40365d27",9433:"0686a885",9527:"6831b732",9698:"13c1b4e4",9729:"6f92e431"}[e]||e)+"."+{313:"6a3f19f1",407:"ea3bcbd6",413:"ca540326",437:"f8410007",783:"8927d86e",864:"8574a1fc",1281:"615eea9f",1392:"850dc440",1524:"5f064f28",1532:"fc76502e",1839:"7170219f",2237:"cc3a4ec2",2327:"1362d403",2577:"7b178638",2642:"f526bb0c",2717:"79118eb0",2827:"7b31b03e",2905:"bf40c272",2932:"27fd8d83",3135:"6858f9b6",3307:"673635d9",3343:"01eb324b",3440:"2811ab84",3467:"dba04d6f",3479:"fd0e8363",3581:"9cb82545",3641:"b09a7b94",3718:"28607466",3724:"ac10db36",3851:"c7c8b990",3942:"fcab44f1",4619:"158f89c1",4688:"f18f2905",4725:"cb1d8ad1",4875:"d61ba085",4909:"e6a68f5e",5250:"6b99d25d",5380:"9c924bc7",5425:"057190fa",5750:"dd5d769b",5772:"f3c0d5a6",5961:"61977b1e",5989:"8ea29916",6360:"02b69e47",6417:"b96ede4d",6464:"f03732ff",6544:"a805685f",6637:"beb12598",6677:"506f464f",6830:"b8154f8e",6885:"965ec36f",7209:"05e50330",7257:"85986332",7355:"315eaf83",7388:"e53e7dfc",7452:"bb7b5156",7593:"21aeab54",7605:"1932a5f5",7660:"85075a3c",7719:"3637d525",7757:"3f6ab38f",7827:"65ae9442",8150:"c8687d82",8283:"dab17205",8353:"bee2002a",8444:"e3154746",8499:"f65aac7d",8577:"21d9cfab",8591:"5d6eead6",8608:"e3695806",8619:"077ecc44",8657:"5ee66a06",9005:"42d5b4c5",9014:"a9431b10",9278:"8fb0718e",9433:"1b30ef50",9527:"ae90ea81",9698:"39066f25",9729:"6347fd67"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),b={},d="docs-openc3-com:",r.l=(e,c,a,f)=>{if(b[e])b[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==d+a){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+a),t.src=e),b[e]=[c];var l=(c,a)=>{t.onerror=t.onload=null,clearTimeout(s);var d=b[e];if(delete b[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={13196248:"6677",42170351:"3440",75897369:"2827",97535711:"437",bd0034eb:"313",cd879be4:"407","99581c43":"413",e07a6232:"783","5fe211ef":"864","8f7843ee":"1281",d24bf9b6:"1392","72c6d8a8":"1524","019369f3":"1532",dc5f7beb:"1839","0f5d161c":"2327",c24eae19:"2577",c5388ca4:"2642","80c97f38":"2717",d5d77c37:"2905","53ca7c5b":"2932","5e3ed378":"3135",b9f60ba6:"3307",e501b0d1:"3343","103cc3be":"3467","80a8ecf5":"3479","6f9ac1e3":"3581",e91075a4:"3641",d1b923aa:"3718",f15615f1:"3724","7f8d7499":"3851","5bc719f6":"3942","848bfa8e":"4619","2047b354":"4688","9fb6059a":"4725","696b4199":"4875","9424f0b3":"4909","9d6e81d0":"5250","5c6ce5ec":"5380","078dbab0":"5425","43652efd":"5750",d8ca4191:"5772","0ff569c9":"5961","058ffc22":"5989",cb8c3f08:"6360",ebec1ccb:"6417","54d0d530":"6464","26b8abb2":"6544",d9b92eba:"6637",a9987364:"6830",aa6b6c1b:"6885",d1bfc316:"7209",a507c363:"7257",f9ac6a79:"7355","75e64983":"7388",a677c089:"7452","411898ad":"7593",fd886806:"7605","89e76475":"7660","867640d5":"7719","2bb7bf90":"7757","6b65133b":"7827","22b3ac48":"8150",d57a4b5d:"8283","6b210247":"8353","5b233ba7":"8444",b4596165:"8499","3dd7ef3b":"8619",db8fa1d0:"8657",b6d70f94:"9005","40365d27":"9014","0686a885":"9433","6831b732":"9527","13c1b4e4":"9698","6f92e431":"9729"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(c,a)=>{var b=r.o(e,c)?e[c]:void 0;if(0!==b)if(b)a.push(b[2]);else if(/^(1869|5354)$/.test(c))e[c]=0;else{var d=new Promise(((a,d)=>b=e[c]=[a,d]));a.push(b[2]=d);var f=r.p+r.u(c),t=new Error;r.l(f,(a=>{if(r.o(e,c)&&(0!==(b=e[c])&&(e[c]=void 0),b)){var d=a&&("load"===a.type?"missing":a.type),f=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+f+")",t.name="ChunkLoadError",t.type=d,t.request=f,b[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var b,d,f=a[0],t=a[1],o=a[2],n=0;if(f.some((c=>0!==e[c]))){for(b in t)r.o(t,b)&&(r.m[b]=t[b]);if(o)var i=o(r)}for(c&&c(a);n<f.length;n++)d=f[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},a=self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[];a.forEach(c.bind(null,0)),a.push=c.bind(null,a.push.bind(a))})()})(); \ No newline at end of file diff --git a/docs/docs.html b/docs/docs.html index b19a6279d7..6bcb4d8cea 100644 --- a/docs/docs.html +++ b/docs/docs.html @@ -1,34 +1,22 @@ -<!doctype html> -<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-introduction" data-has-hydrated="false"> -<head> -<meta charset="UTF-8"> -<meta name="generator" content="Docusaurus v3.6.1"> -<title data-rh="true">Introduction | OpenC3 Docs - - - - -

Introduction

This site aims to be a comprehensive guide to OpenC3 COSMOS. We'll cover topics such +Introduction | OpenC3 Docs

Introduction

This site aims to be a comprehensive guide to OpenC3 COSMOS. We'll cover topics such as getting your configuration up and running, developing test and operations scripts, building custom telemetry screens, and give you some advice on participating in the future development of COSMOS itself.

-

So what is COSMOS, exactly?

+

So what is COSMOS, exactly?

COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be anything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to development boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites.

-

COSMOS Architecture

-

COSMOS Architecture

+

COSMOS Architecture

+

COSMOS Architecture

COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer.

Keep reading for an in-depth discussion of each of the COSMOS Tools.

-

Helpful Hints

+

Helpful Hints

Throughout this guide there are a number of small-but-handy pieces of information that can make using COSMOS easier, more interesting, and less -hazardous. Here's what to look out for.

-
ProTips™ help you get more from COSMOS

These are tips and tricks that will help you be a COSMOS wizard!

-
Notes are handy pieces of information

These are for the extra tidbits sometimes necessary to understand COSMOS.

-
Warnings help you not blow things up

Be aware of these messages if you wish to avoid certain death.

-
Find a problem in the documentation or in COSMOS itself?

Both using and hacking on COSMOS should be fun, simple, and easy, so if for -some reason you find it's a pain, please create an issue on -GitHub describing your experience so we can make it better.

- - \ No newline at end of file +hazardous. Here's what to look out for.

+
ProTips™ help you get more from COSMOS

These are tips and tricks that will help you be a COSMOS wizard!

+
Notes are handy pieces of information

These are for the extra tidbits sometimes necessary to understand COSMOS.

+
Warnings help you not blow things up

Be aware of these messages if you wish to avoid certain death.

+
Find a problem in the documentation or in COSMOS itself?

Both using and hacking on COSMOS should be fun, simple, and easy, so if for +some reason you find it's a pain, please create an issue on +GitHub describing your experience so we can make it better.

\ No newline at end of file diff --git a/docs/docs/configuration.html b/docs/docs/configuration.html index 7fd5a84400..7637d5a9a2 100644 --- a/docs/docs/configuration.html +++ b/docs/docs/configuration.html @@ -1,13 +1 @@ - - - - - -Configuration | OpenC3 Docs - - - - - - - \ No newline at end of file +Configuration | OpenC3 Docs \ No newline at end of file diff --git a/docs/docs/configuration/accessors.html b/docs/docs/configuration/accessors.html new file mode 100644 index 0000000000..2c41bc50de --- /dev/null +++ b/docs/docs/configuration/accessors.html @@ -0,0 +1,85 @@ +Accessors | OpenC3 Docs

Accessors

Accessors are the low level code which know how to read and write data into a buffer. The buffer data then gets written out an interface which uses protocols to potentially change the data before it goes to the target. Accessors handle the different serializations formats such as binary (CCSDS), JSON, CBOR, XML, HTML, Protocol Buffers, etc.

+

For more information about how Accessors fit with Interfaces and Protocols see Interoperability Without Standards.

+

COSMOS provides the following built-in accessors: Binary, CBOR, Form, HTML, HTTP, JSON, Template, XML.

+

COSMOS Enterprise provides the following accessors: GEMS Ascii, Prometheus, Protocol Buffer.

+

Binary Accessor

+

The Binary Accessor serializes data into a binary format when writing to the buffer. This is how many devices expect their data including those following the CCSDS standard. COSMOS handles converting signed and unsigned integers, floats, strings, etc. into their binary representation in the buffer. This includes handling big and little endian, bitfields, and variable length fields. Since binary is so common this is the default Accessor and will be used if no other accessors are given.

+

Commands

+
COMMAND INST COLLECT BIG_ENDIAN "Starts a collect"
ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default
PARAMETER TYPE 64 16 UINT MIN MAX 0 "Collect type"
PARAMETER DURATION 80 32 FLOAT 0.0 10.0 1.0 "Collect duration"
PARAMETER OPCODE 112 8 UINT 0x0 0xFF 0xAB "Collect opcode"
+

Telemetry

+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"
ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default
APPEND_ITEM CMD_ACPT_CNT 32 UINT "Command accept count"
APPEND_ITEM COLLECTS 16 UINT "Number of collects"
APPEND_ITEM DURATION 32 FLOAT "Most recent collect duration"
+

CBOR Accessor

+

The Concise Binary Object Representation (CBOR) Accessor serializes data into a binary format loosely based on JSON. It is a subclass of the JSON Accessor and is what COSMOS uses natively to store log files.

+

Commands

+

Using the CBOR Accessor for command definitions requires the use of TEMPLATE_FILE and KEY to allow the user to set values in the CBOR data. Note that the KEY values use JSONPath.

+
COMMAND CBOR CBORCMD BIG_ENDIAN "CBOR Accessor Command"
ACCESSOR CborAccessor
TEMPLATE_FILE _cbor_template.bin
APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item"
KEY $.id_item
APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"
KEY $.item1
UNITS CELSIUS C
APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3"
KEY $.more.item2
FORMAT_STRING "0x%X"
APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item"
KEY $.more.item3
APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item"
KEY $.more.item4
APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item"
KEY $.more.item5
+

Creating the template file requires the use of the Ruby or Python CBOR libraries. Here is an example from Ruby:

+
require 'cbor'
data = {"id_item" : 2, "item1" : 101, "more" : { "item2" : 12, "item3" : 3.14, "item4" : "Example", "item5" : [4, 3, 2, 1] } }
File.open("_cbor_template.bin", 'wb') do |file|
file.write(data.to_cbor)
end
+

Telemetry

+

Using the CBOR Accessor for telemetry definitions only requires the use of KEY to pull values from the CBOR data. Note that the KEY values use JSONPath.

+
TELEMETRY CBOR CBORTLM BIG_ENDIAN "CBOR Accessor Telemetry"
ACCESSOR CborAccessor
APPEND_ID_ITEM ID_ITEM 32 INT 2 "Int Item"
KEY $.id_item
APPEND_ITEM ITEM1 16 UINT "Int Item 2"
KEY $.item1
GENERIC_READ_CONVERSION_START UINT 16
value * 2
GENERIC_READ_CONVERSION_END
UNITS CELSIUS C
APPEND_ITEM ITEM2 16 UINT "Int Item 3"
KEY $.more.item2
FORMAT_STRING "0x%X"
APPEND_ITEM ITEM3 64 FLOAT "Float Item"
KEY $.more.item3
APPEND_ITEM ITEM4 128 STRING "String Item"
KEY $.more.item4
APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item"
KEY $.more.item5
+

Form Accessor

+

The Form Accessor is typically used with the HTTP Client interface to submit forms to a remote HTTP Server.

+

Commands

+

Using the Form Accessor for command definitions requires the use of KEY to allow the user to set values in the HTTP form. Note that the KEY values use XPath.

+
COMMAND FORM FORMCMD BIG_ENDIAN "Form Accessor Command"
ACCESSOR FormAccessor
APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item"
KEY $.id_item
APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"
KEY $.item1
UNITS CELSIUS C
+

Telemetry

+

Using the Form Accessor for telemetry definitions only requires the use of KEY to pull values from the HTTP response data. Note that the KEY values use XPath.

+
TELEMETRY FORM FORMTLM BIG_ENDIAN "Form Accessor Telemetry"
ACCESSOR FormAccessor
APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item"
KEY $.id_item
APPEND_ITEM ITEM1 16 UINT "Int Item 2"
KEY $.item1
+

HTML Accessor

+

The HTML Accessor is typically used with the HTTP Client interface to parse a web page.

+

For a full example see openc3-cosmos-http-get.

+

Commands

+

HTML Accessor is not typically used for commands but it would be similar to Telemetry using XPath Keys.

+

Telemetry

+
TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results"
# Typically you use the HtmlAccessor to parse out the page that is returned
# HtmlAccessor is passed to HttpAccessor and used internally
ACCESSOR HttpAccessor HtmlAccessor
APPEND_ITEM NAME 240 STRING
# Keys were located by doing a manual search and then inspecting the page
# Right click the text you're looking for and then Copy -> Copy XPath
KEY normalize-space(//main/div/a[2]/span/h2/text())
APPEND_ITEM DESCRIPTION 480 STRING
KEY //main/div/a[2]/span/p/text()
APPEND_ITEM VERSION 200 STRING
KEY //main/div/a[2]/span/h2/span/text()
APPEND_ITEM DOWNLOADS 112 STRING
KEY normalize-space(//main/div/a[2]/p/text())
+

HTTP Accessor

+

HTTP Accessor is typically used with the HTTP Client or HTTP Server interface to parse a web page. It takes another accessor to do the low level reading and writing of the items. The default accessor is FormAccessor. HtlmAccessor, XmlAccessor and JsonAccessor are also common for manipulating HTML, XML and JSON respectively.

+

For a full example see openc3-cosmos-http-get.

+

Commands

+

When used with the HTTP Client Interface, HTTP Accessor utilizes the following command parameters:

+
ParameterDescription
HTTP_PATHrequests at this path
HTTP_METHODrequest method (GET, POST, DELETE)
HTTP_PACKETtelemetry packet to store the response
HTTP_ERROR_PACKETtelemetry packet to store error responses (status code >= 300)
HTTP_QUERY_XXXsets a value in the params passed to the request (XXX => value, or KEY => value), see example below
HTTP_HEADER_XXXsets a value in the headers passed to the request (XXX => value, or KEY => value), see example below
+

When used with the HTTP Server Interface, HTTP Accessor utilizes the following command parameters:

+
ParameterDescription
HTTP_STATUSstatus to return to clients
HTTP_PATHmount point for server
HTTP_PACKETtelemetry packet to store the request
HTTP_HEADER_XXXsets a value in the response headers (XXX => value, or KEY => value), see example below
+
COMMAND HTML SEARCH BIG_ENDIAN "Searches Rubygems.org"
# Note FormAccessor is the default argument for HttpAccessor so it is typically not specified
ACCESSOR HttpAccessor
PARAMETER HTTP_PATH 0 0 DERIVED nil nil "/search"
PARAMETER HTTP_METHOD 0 0 DERIVED nil nil "GET"
PARAMETER HTTP_PACKET 0 0 DERIVED nil nil "RESPONSE"
PARAMETER HTTP_ERROR_PACKET 0 0 DERIVED nil nil "ERROR"
# This sets parameter query=openc3+cosmos
# Note the parameter name 'query' based on HTTP_QUERY_QUERY
PARAMETER HTTP_QUERY_QUERY 0 0 DERIVED nil nil "openc3 cosmos"
GENERIC_READ_CONVERSION_START
value.split.join('+')
GENERIC_READ_CONVERSION_END
# This sets header Content-Type=text/html
# Note that TYPE is not used since the KEY is specified
PARAMETER HTTP_HEADER_TYPE 0 0 DERIVED nil nil "text/html"
KEY Content-Type
+

Telemetry

+

HTTP Accessor utilizes the following telemetry items:

+
ParameterDescription
HTTP_STATUSthe request status
HTTP_HEADERShash of the response headers
HTTP_REQUESToptional hash which returns all the request parameters, see HTTP Client Interface
+
TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results"
# Typically you use the HtmlAccessor to parse out the page that is returned
ACCESSOR HttpAccessor HtmlAccessor
APPEND_ITEM NAME 240 STRING
# Keys were located by doing a manual search and then inspecting the page
# Right click the text you're looking for and then Copy -> Copy XPath
KEY normalize-space(//main/div/a[2]/span/h2/text())
APPEND_ITEM DESCRIPTION 480 STRING
KEY //main/div/a[2]/span/p/text()
APPEND_ITEM VERSION 200 STRING
KEY //main/div/a[2]/span/h2/span/text()
APPEND_ITEM DOWNLOADS 112 STRING
KEY normalize-space(//main/div/a[2]/p/text())
+

JSON Accessor

+

The JSON Accessor serializes data into JavaScript Object Notation (JSON). JSON is a data interchange format that uses human-readable text to transmit data consisting of key value pairs and arrays.

+

For a full example see openc3-cosmos-accessor-test.

+

Commands

+

Using the JSON Accessor for command definitions requires the use of TEMPLATE and KEY to allow the user to set values in the JSON data. Note that the KEY values use JSONPath.

+
COMMAND JSON JSONCMD BIG_ENDIAN "JSON Accessor Command"
ACCESSOR JsonAccessor
TEMPLATE '{"id_item":1, "item1":101, "more": { "item2":12, "item3":3.14, "item4":"Example", "item5":[4, 3, 2, 1] } }'
APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item"
KEY $.id_item
APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"
KEY $.item1
UNITS CELSIUS C
APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3"
KEY $.more.item2
FORMAT_STRING "0x%X"
APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item"
KEY $.more.item3
APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item"
KEY $.more.item4
APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item"
KEY $.more.item5
+

Telemetry

+

Using the JSON Accessor for telemetry definitions only requires the use of KEY to pull values from the JSON data. Note that the KEY values use JSONPath.

+
TELEMETRY JSON JSONTLM BIG_ENDIAN "JSON Accessor Telemetry"
ACCESSOR JsonAccessor
APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item"
KEY $.id_item
APPEND_ITEM ITEM1 16 UINT "Int Item 2"
KEY $.item1
GENERIC_READ_CONVERSION_START UINT 16
value * 2
GENERIC_READ_CONVERSION_END
UNITS CELSIUS C
APPEND_ITEM ITEM2 16 UINT "Int Item 3"
KEY $.more.item2
FORMAT_STRING "0x%X"
APPEND_ITEM ITEM3 64 FLOAT "Float Item"
KEY $.more.item3
APPEND_ITEM ITEM4 128 STRING "String Item"
KEY $.more.item4
APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item"
KEY $.more.item5
+

Template Accessor

+

The Template Accessor is commonly used with string based command / response protocols such as the CmdResponseProtocol.

+

For a full example see openc3-cosmos-scpi-power-supply in the COSMOS Enterprise Plugins.

+

Commands

+

Using the Template Accessor for command definitions requires the use of TEMPLATE to define a string template with optional parameters that are populated using the command parameters.

+
# Some commands don't have any parameters and the template is sent as-is
COMMAND SCPI_PS RESET BIG_ENDIAN "Reset the power supply state"
ACCESSOR TemplateAccessor
TEMPLATE "*RST"

# This command has two parameters in the template defined by <XXX>
COMMAND SCPI_PS VOLTAGE BIG_ENDIAN "Sets the voltage of a power supply channel"
ACCESSOR TemplateAccessor
# <VOLTAGE> and <CHANNEL> are replaced by the parameter values
TEMPLATE "VOLT <VOLTAGE>, (@<CHANNEL>)"
APPEND_PARAMETER VOLTAGE 32 FLOAT MIN MAX 0.0 "Voltage Setting"
UNITS VOLTS V
APPEND_PARAMETER CHANNEL 8 UINT 1 2 1 "Output Channel"
+

Telemetry

+

Using the Template Accessor for telemetry definitions requires the use of TEMPLATE to define a template where telemetry values are pulled from the string buffer.

+
TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Power supply status"
ACCESSOR TemplateAccessor
# The raw string from the target is something like "1.234,2.345"
# String is split by the comma and pushed into MEAS_VOLTAGE_1, MEAS_VOLTAGE_2
TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>"
APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Current Reading for Channel 1"
APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Current Reading for Channel 2"
+

XML Accessor

+

The XML Accessor is typically used with the HTTP Client interface to send and receive XML from a web server.

+

For a full example see openc3-cosmos-accessor-test.

+

Commands

+

Using the XML Accessor for command definitions requires the use of TEMPLATE and KEY to allow the user to set values in the XML data. Note that the KEY values use XPath.

+
COMMAND XML XMLCMD BIG_ENDIAN "XML Accessor Command"
ACCESSOR XmlAccessor
TEMPLATE '<html><head><script src="3"></script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>'
APPEND_ID_PARAMETER ID_ITEM 32 INT 3 3 3 "Int Item"
KEY "/html/head/script/@src"
APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2"
KEY "/html/head/noscript/text()"
UNITS CELSIUS C
APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3"
KEY "/html/body/img/@src"
FORMAT_STRING "0x%X"
APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item"
KEY "/html/body/div/ul/li[1]/text()"
APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item"
KEY "/html/body/div/ul/li[2]/text()"
+

Telemetry

+

Using the XML Accessor for telemetry definitions only requires the use of KEY to pull values from the XML data. Note that the KEY values use XPath.

+
TELEMETRY XML XMLTLM BIG_ENDIAN "XML Accessor Telemetry"
ACCESSOR XmlAccessor
# Template is not required for telemetry, but is useful for simulation
TEMPLATE '<html><head><script src="3"></script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>'
APPEND_ID_ITEM ID_ITEM 32 INT 3 "Int Item"
KEY "/html/head/script/@src"
APPEND_ITEM ITEM1 16 UINT "Int Item 2"
KEY "/html/head/noscript/text()"
GENERIC_READ_CONVERSION_START UINT 16
value * 2
GENERIC_READ_CONVERSION_END
UNITS CELSIUS C
APPEND_ITEM ITEM2 16 UINT "Int Item 3"
KEY "/html/body/img/@src"
FORMAT_STRING "0x%X"
APPEND_ITEM ITEM3 64 FLOAT "Float Item"
KEY "/html/body/div/ul/li[1]/text()"
APPEND_ITEM ITEM4 128 STRING "String Item"
KEY "/html/body/div/ul/li[2]/text()"
+

GEMS Ascii (Enterprise)

+

The GemsAsciiAccessor inherits from TemplateAccessor to escape the following characters in outgoing commands: "&" => "&a", "|" => "&b", "," => "&c", and ";" => "&d" and reverse them in telemetry. See the GEMS Spec for more information.

+

For a full example, please see the openc3-cosmos-gems-interface in the COSMOS Enterprise Plugins.

+

Prometheus (Enterprise)

+

The PrometheusAccessor is used to read from a Prometheus endpoint and can automatically parse the results into a packet. The PrometheusAccessor is currently only implemented in Ruby.

+

For a full example, please see the openc3-cosmos-prometheus-metrics in the COSMOS Enterprise Plugins.

+

Protocol Buffer (Enterprise)

+

The ProtoAccessor is used to read and write protocol buffers. It is primarily used in conjunction with the GrpcInterface. The ProtoAccessor is currently only implemented in Ruby.

+
ParameterDescriptionRequired
FilenameFile generated by the protocol buffer compilerYes
ClassClass to use when encoding and decoding the bufferYes
+

For a full example, please see the openc3-cosmos-proto-target in the COSMOS Enterprise Plugins.

\ No newline at end of file diff --git a/docs/docs/configuration/command.html b/docs/docs/configuration/command.html index 48d76ff225..23260fd99c 100644 --- a/docs/docs/configuration/command.html +++ b/docs/docs/configuration/command.html @@ -1,261 +1,249 @@ - - - - - -Commands | OpenC3 Docs - - - - -

Commands

Command Definition Files

-

Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters.

-

When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters.

-
+Commands | OpenC3 Docs

Commands

Command Definition Files

+

Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters.

+

When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters.

+

Command Keywords

-

COMMAND

+

COMMAND

Defines a new command packet

-
ParameterDescriptionRequired
TargetName of the target this command is associated withTrue
CommandName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.True
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DescriptionDescription of this command which must be enclosed with quotesFalse
+
ParameterDescriptionRequired
TargetName of the target this command is associated withTrue
CommandName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.True
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DescriptionDescription of this command which must be enclosed with quotesFalse

Example Usage:

-
COMMAND INST COLLECT BIG_ENDIAN "Start collect"
-

COMMAND Modifiers

+
COMMAND INST COLLECT BIG_ENDIAN "Start collect"
+

COMMAND Modifiers

The following keywords must follow a COMMAND keyword.

-

PARAMETER

+

PARAMETER

Defines a command parameter in the current command packet

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit OffsetBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit OffsetBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True

When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:

-
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

When Data Type is STRING, BLOCK the remaining parameters are:

-
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
PARAMETER DATA 32 32 INT MIN MAX 0 "Data value"
PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5
PARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply"
PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data"
-

PARAMETER Modifiers

+
PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
PARAMETER DATA 32 32 INT MIN MAX 0 "Data value"
PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5
PARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply"
PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data"
+

PARAMETER Modifiers

The following keywords must follow a PARAMETER keyword.

-

FORMAT_STRING

+

FORMAT_STRING

Adds printf style formatting

-
ParameterDescriptionRequired
FormatHow to format using printf syntax. For example, '0x%0X' will display the value in hex.True
+
ParameterDescriptionRequired
FormatHow to format using printf syntax. For example, '0x%0X' will display the value in hex.True

Example Usage:

-
FORMAT_STRING "0x%0X"
-

UNITS

+
FORMAT_STRING "0x%0X"
+

UNITS

Add displayed units

-
ParameterDescriptionRequired
Full NameFull name of the units type, e.g. CelsiusTrue
AbbreviatedAbbreviation for the units, e.g. CTrue
+
ParameterDescriptionRequired
Full NameFull name of the units type, e.g. CelsiusTrue
AbbreviatedAbbreviation for the units, e.g. CTrue

Example Usage:

-
UNITS Celsius C
UNITS Kilometers KM
-

DESCRIPTION

+
UNITS Celsius C
UNITS Kilometers KM
+

DESCRIPTION

Override the defined description

-
ParameterDescriptionRequired
ValueThe new descriptionTrue
-

META

+
ParameterDescriptionRequired
ValueThe new descriptionTrue
+

META

Stores custom user metadata

Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files.

-
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse
-

Example Usage:

-
META TEST "This parameter is for test purposes only"
-

OVERLAP

-

(Since 4.4.1)
This item is allowed to overlap other items in the packet

-

If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message.

-

KEY

-

(Since 5.0.10)
Defines the key used to access this raw value in the packet.

-

Keys are often JsonPath or XPath strings

-
ParameterDescriptionRequired
Key stringThe key to access this itemTrue
-

Example Usage:

-
KEY $.book.title
-

VARIABLE_BIT_SIZE

-

(Since 5.18.0)
Marks an item as having its bit size defined by another length item

-
ParameterDescriptionRequired
Length Item NameThe name of the associated length itemTrue
Length Bits Per CountBits per count of the length item. Defaults to 8False
Length Value Bit OffsetOffset in Bits to Apply to Length Field Value. Defaults to 0False
-

REQUIRED

+
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse
+

Example Usage:

+
META TEST "This parameter is for test purposes only"
+

OVERLAP

+

(Since 4.4.1)
This item is allowed to overlap other items in the packet

+

If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message.

+

KEY

+

(Since 5.0.10)
Defines the key used to access this raw value in the packet.

+

Keys are often JSONPath or XPath strings

+
ParameterDescriptionRequired
Key stringThe key to access this itemTrue
+

Example Usage:

+
KEY $.book.title
+

VARIABLE_BIT_SIZE

+

(Since 5.18.0)
Marks an item as having its bit size defined by another length item

+
ParameterDescriptionRequired
Length Item NameThe name of the associated length itemTrue
Length Bits Per CountBits per count of the length item. Defaults to 8False
Length Value Bit OffsetOffset in Bits to Apply to Length Field Value. Defaults to 0False
+

REQUIRED

Parameter is required to be populated in scripts

When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition.

-

MINIMUM_VALUE

+

MINIMUM_VALUE

Override the defined minimum value

-
ParameterDescriptionRequired
ValueThe new minimum value for the parameterTrue
-

MAXIMUM_VALUE

+
ParameterDescriptionRequired
ValueThe new minimum value for the parameterTrue
+

MAXIMUM_VALUE

Override the defined maximum value

-
ParameterDescriptionRequired
ValueThe new maximum value for the parameterTrue
-

DEFAULT_VALUE

+
ParameterDescriptionRequired
ValueThe new maximum value for the parameterTrue
+

DEFAULT_VALUE

Override the defined default value

-
ParameterDescriptionRequired
ValueThe new default value for the parameterTrue
-

STATE

+
ParameterDescriptionRequired
ValueThe new default value for the parameterTrue
+

STATE

Defines a key/value pair for the current command parameter

Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error.

-
ParameterDescriptionRequired
KeyThe string state nameTrue
ValueThe numerical state valueTrue
Hazardous / Disable MessagesIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.

Valid Values: HAZARDOUS
False
Hazardous DescriptionString describing why this state is hazardousFalse
+
ParameterDescriptionRequired
KeyThe string state nameTrue
ValueThe numerical state valueTrue
Hazardous / Disable MessagesIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.

Valid Values: HAZARDOUS
False
Hazardous DescriptionString describing why this state is hazardousFalse

Example Usage:

-
APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"
STATE FALSE 0
STATE TRUE 1
APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"
STATE "NOOP" "NOOP" DISABLE_MESSAGES
STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"
STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"
-

WRITE_CONVERSION

+
APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"
STATE FALSE 0
STATE TRUE 1
APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"
STATE "NOOP" "NOOP" DISABLE_MESSAGES
STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"
STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"
+

WRITE_CONVERSION

Applies a conversion when writing the current command parameter

Conversions are implemented in a custom Ruby or Python file which should be -located in the target's lib folder. The class must inherit from Conversion. +located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent.

-
Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) +

Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided -values to the command. That can be used to check parameter values passed in.

-
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.True
ParameterAdditional parameter values for the conversion which are passed to the class constructor.False
+values to the command. That can be used to check parameter values passed in.
+
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.True
ParameterAdditional parameter values for the conversion which are passed to the class constructor.False

Ruby Example:

-
WRITE_CONVERSION the_great_conversion.rb 1000

Defined in the_great_conversion.rb:

require 'openc3/conversions/conversion'
module OpenC3
class TheGreatConversion < Conversion
def initialize(multiplier)
super()
@multiplier = multiplier.to_f
end
def call(value, packet, buffer)
return value * multiplier
end
end
end
+
WRITE_CONVERSION the_great_conversion.rb 1000

Defined in the_great_conversion.rb:

require 'openc3/conversions/conversion'
module OpenC3
class TheGreatConversion < Conversion
def initialize(multiplier)
super()
@multiplier = multiplier.to_f
end
def call(value, packet, buffer)
return value * multiplier
end
end
end

Python Example:

-
WRITE_CONVERSION the_great_conversion.py 1000

Defined in the_great_conversion.py:

from openc3.conversions.conversion import Conversion
class TheGreatConversion(Conversion):
def __init__(self, multiplier):
super().__init__()
self.multiplier = float(multiplier)
def call(self, value, packet, buffer):
return value * multiplier
-

POLY_WRITE_CONVERSION

+
WRITE_CONVERSION the_great_conversion.py 1000

Defined in the_great_conversion.py:

from openc3.conversions.conversion import Conversion
class TheGreatConversion(Conversion):
def __init__(self, multiplier):
super().__init__()
self.multiplier = float(multiplier)
def call(self, value, packet, buffer):
return value * self.multiplier
+

POLY_WRITE_CONVERSION

Adds a polynomial conversion factor to the current command parameter

The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent.

-
ParameterDescriptionRequired
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False
+
ParameterDescriptionRequired
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False

Example Usage:

-
POLY_WRITE_CONVERSION 10 0.5 0.25
-

SEG_POLY_WRITE_CONVERSION

+
POLY_WRITE_CONVERSION 10 0.5 0.25
+

SEG_POLY_WRITE_CONVERSION

Adds a segmented polynomial conversion factor to the current command parameter

This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent.

-
ParameterDescriptionRequired
Lower BoundDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.True
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False
+
ParameterDescriptionRequired
Lower BoundDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.True
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False

Example Usage:

-
SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
-

GENERIC_WRITE_CONVERSION_START

+
SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
+

GENERIC_WRITE_CONVERSION_START

Start a generic write conversion

Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified -as Ruby or Python code that receives two implied parameters. 'value' which is the raw -value being written and 'packet' which is a reference to the command packet -class (Note, referencing the packet as 'myself' is still supported for backwards +as Ruby or Python code that receives two implied parameters. 'value' which is the raw +value being written and 'packet' which is a reference to the command packet +class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given.

-
Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) +

Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided -values to the command. That can be used to check parameter values passed in.

-
warning

Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance.

+values to the command. That can be used to check parameter values passed in.
+
warning

Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance.

Ruby Example:

-
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return (value * 1.5).to_i # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END
+
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return (value * 1.5).to_i # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END

Python Example:

-
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return int(value * 1.5) # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END
-

GENERIC_WRITE_CONVERSION_END

+
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return int(value * 1.5) # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END
+

GENERIC_WRITE_CONVERSION_END

Complete a generic write conversion

-

OVERFLOW

+

OVERFLOW

Set the behavior when writing a value overflows the type

-

By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value.

-
ParameterDescriptionRequired
BehaviorHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.

Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE
True
+

By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value.

+
ParameterDescriptionRequired
BehaviorHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.

Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE
True

Example Usage:

-
OVERFLOW TRUNCATE
-

APPEND_PARAMETER

+
OVERFLOW TRUNCATE
+

APPEND_PARAMETER

Defines a command parameter in the current command packet

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True

When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:

-
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

When Data Type is STRING, BLOCK the remaining parameters are:

-
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5
APPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply"
-

ID_PARAMETER

+
APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern"
APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5
APPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply"
+

ID_PARAMETER

Defines an identification command parameter in the current command packet

ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified.

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit OffsetBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit OffsetBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True

When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:

-
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
ID ValueIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
ID ValueIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

When Data Type is STRING, BLOCK the remaining parameters are:

-
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier"
-

APPEND_ID_PARAMETER

+
ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier"
+

APPEND_ID_PARAMETER

Defines an identification command parameter in the current command packet

ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified.

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True

When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:

-
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
ID ValueIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
ID ValueIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

When Data Type is STRING, BLOCK the remaining parameters are:

-
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier"
-

ARRAY_PARAMETER

+
APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier"
+

ARRAY_PARAMETER

Defines a command parameter in the current command packet that is an array

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit OffsetBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Bit OffsetBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats"
-

APPEND_ARRAY_PARAMETER

+
ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats"
+

APPEND_ARRAY_PARAMETER

Defines a command parameter in the current command packet that is an array

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the command.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats"
-

SELECT_PARAMETER

+
APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats"
+

SELECT_PARAMETER

Selects an existing command parameter for editing

Must be used in conjunction with SELECT_COMMAND to first select the packet. Typically used to override generated values or make specific changes to commands that only affect a particular instance of a target used multiple times.

-
ParameterDescriptionRequired
ParameterName of the parameter to select for modificationTrue
+
ParameterDescriptionRequired
ParameterName of the parameter to select for modificationTrue

Example Usage:

-
SELECT_COMMAND INST COLLECT
SELECT_PARAMETER DURATION
# Add units
UNITS Seconds S
-

DELETE_PARAMETER

-

(Since 4.4.1)
Deletes an existing command parameter from the packet definition

-

Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter.

-
ParameterDescriptionRequired
ParameterName of the parameter to deleteTrue
+
SELECT_COMMAND INST COLLECT
SELECT_PARAMETER DURATION
# Add units
UNITS Seconds S
+

DELETE_PARAMETER

+

(Since 4.4.1)
Deletes an existing command parameter from the packet definition

+

Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter.

+
ParameterDescriptionRequired
ParameterName of the parameter to deleteTrue

Example Usage:

-
SELECT_COMMAND INST COLLECT
DELETE_PARAMETER DURATION
-

HIDDEN

+
SELECT_COMMAND INST COLLECT
DELETE_PARAMETER DURATION
+

HIDDEN

Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator

Hidden commands do not appear in the Script Runner popup helper when writing scripts. The command still exists in the system and can be sent by scripts.

-

DISABLED

+

DISABLED

Disables this command from being sent

Hides the command and also disables it from being sent by scripts. Attempts to send DISABLED commands result in an error message.

-

DISABLE_MESSAGES

+

DISABLE_MESSAGES

Disable the Server from printing cmd(...) messages. Commands are still logged.

-

META

+

META

Stores metadata for the current command

Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files.

-
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse
+
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse

Example Usage:

-
META FSW_TYPE "struct command"
-

HAZARDOUS

+
META FSW_TYPE "struct command"
+

HAZARDOUS

Designates the current command as hazardous

Sending a hazardous command causes a dialog asking for confirmation before sending the command

-
ParameterDescriptionRequired
DescriptionDescription for why the command is hazardous which must be enclosed with quotesFalse
-

ACCESSOR

-

(Since 5.0.10)
Defines the class used to read and write raw values from the packet

-

Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor.

-
ParameterDescriptionRequired
Accessor Class NameThe name of the accessor classTrue
ArgumentAdditional argument passed to the accessor class constructorFalse
-

TEMPLATE

-

(Since 5.0.10)
Defines a template string used to initialize the command before default values are filled in

+
ParameterDescriptionRequired
DescriptionDescription for why the command is hazardous which must be enclosed with quotesFalse
+

ACCESSOR

+

(Since 5.0.10)
Defines the class used to read and write raw values from the packet

+

Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see Accessors.

+
ParameterDescriptionRequired
Accessor Class NameThe name of the accessor classTrue
ArgumentAdditional argument passed to the accessor class constructorFalse
+

TEMPLATE

+

(Since 5.0.10)
Defines a template string used to initialize the command before default values are filled in

Generally the template string is formatted in JSON or HTML and then values are filled in with command parameters. Must be UTF-8 encoded.

-
ParameterDescriptionRequired
TemplateThe template string which should be enclosed in quotesTrue
-

TEMPLATE_FILE

-

(Since 5.0.10)
Defines a template file used to initialize the command before default values are filled in

+
ParameterDescriptionRequired
TemplateThe template string which should be enclosed in quotesTrue
+

TEMPLATE_FILE

+

(Since 5.0.10)
Defines a template file used to initialize the command before default values are filled in

Generally the template file is formatted in JSON or HTML and then values are filled in with command parameters. Can be binary or UTF-8.

-
ParameterDescriptionRequired
Template File PathThe relative path to the template file. Filename should generally start with an underscore.True
-

RESPONSE

-

(Since 5.14.0)
Indicates the expected telemetry packet response to this command

-
ParameterDescriptionRequired
Target NameTarget Name of telemetry response packetTrue
Packet NamePacket Name of telemetry response packetTrue
-

ERROR_RESPONSE

-

(Since 5.14.0)
Indicates the expected telemetry packet error response to this command

-
ParameterDescriptionRequired
Target NameTarget Name of telemetry error response packetTrue
Packet NamePacket Name of telemetry error response packetTrue
- -

(Since 5.14.0)
Defines a related telemetry item to this command

-
ParameterDescriptionRequired
Target NameTarget Name of related telemetry itemTrue
Packet NamePacket Name of related telemetry itemTrue
Item NameItem Name of related telemetry itemTrue
-

SCREEN

-

(Since 5.14.0)
Defines a related telemetry screen to this command

-
ParameterDescriptionRequired
Target NameTarget Name of related telemetry screenTrue
Screen NameScreen Name of related telemetry screenTrue
-

VIRTUAL

-

(Since 5.18.0)
Marks this packet as virtual and not participating in identification

+
ParameterDescriptionRequired
Template File PathThe relative path to the template file. Filename should generally start with an underscore.True
+

RESPONSE

+

(Since 5.14.0)
Indicates the expected telemetry packet response to this command

+
ParameterDescriptionRequired
Target NameTarget Name of telemetry response packetTrue
Packet NamePacket Name of telemetry response packetTrue
+

ERROR_RESPONSE

+

(Since 5.14.0)
Indicates the expected telemetry packet error response to this command

+
ParameterDescriptionRequired
Target NameTarget Name of telemetry error response packetTrue
Packet NamePacket Name of telemetry error response packetTrue
+ +

(Since 5.14.0)
Defines a related telemetry item to this command

+
ParameterDescriptionRequired
Target NameTarget Name of related telemetry itemTrue
Packet NamePacket Name of related telemetry itemTrue
Item NameItem Name of related telemetry itemTrue
+

SCREEN

+

(Since 5.14.0)
Defines a related telemetry screen to this command

+
ParameterDescriptionRequired
Target NameTarget Name of related telemetry screenTrue
Screen NameScreen Name of related telemetry screenTrue
+

VIRTUAL

+

(Since 5.18.0)
Marks this packet as virtual and not participating in identification

Used for packet definitions that can be used as structures for items with a given packet.

-

RESTRICTED

-

(Since 5.20.0)
Marks this packet as restricted and will require approval if critical commanding is enabled

+

RESTRICTED

+

(Since 5.20.0)
Marks this packet as restricted and will require approval if critical commanding is enabled

Used as one of the two types of critical commands (HAZARDOUS and RESTRICTED)

-

VALIDATOR

-

(Since 5.19.0)
Defines a validator class for a command

+

VALIDATOR

+

(Since 5.19.0)
Defines a validator class for a command

Validator class is used to validate the command success or failure with both a pre_check and post_check method.

-
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'.True
ArgumentAdditional argument passed to the validator class constructorFalse
+
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'.True
ArgumentAdditional argument passed to the validator class constructorFalse

Ruby Example:

-
VALIDATOR custom_validator.rb

Defined in custom_validator.rb:

require 'openc3/packets/command_validator'
class CustomValidator < OpenC3::CommandValidator
def pre_check(packet)
if tlm("TGT PKT ITEM") == 0
return [false, "TGT PKT ITEM is 0"]
end
@cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT")
return [true, nil]
end
def post_check(packet)
wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10)
return [true, nil]
end
end
+
VALIDATOR custom_validator.rb

Defined in custom_validator.rb:

require 'openc3/packets/command_validator'
class CustomValidator < OpenC3::CommandValidator
# Both the pre_check and post_check are passed the command packet that was sent
# You can inspect the command in your checks as follows:
# packet.target_name => target name
# packet.packet_name => packet name (command name)
# packet.read("ITEM") => converted value
# packet.read("ITEM", :RAW) => raw value
def pre_check(packet)
if tlm("TGT PKT ITEM") == 0
return [false, "TGT PKT ITEM is 0"]
end
@cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT")
return [true, nil]
end
def post_check(packet)
wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10)
return [true, nil]
end
end

Python Example:

-
VALIDATOR custom_validator.rb

Defined in custom_validator.py:

class CustomValidator(CommandValidator):
def pre_check(self, command):
if tlm("TGT PKT ITEM") == 0:
return [False, "TGT PKT ITEM is 0"]
self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT")
return [True, None]

def post_check(self, command):
wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10)
return [True, None]
-

SELECT_COMMAND

+
VALIDATOR custom_validator.rb

Defined in custom_validator.py:

class CustomValidator(CommandValidator):
# Both the pre_check and post_check are passed the command packet that was sent
# You can inspect the command in your checks as follows:
# packet.target_name => target name
# packet.packet_name => packet name (command name)
# packet.read("ITEM") => converted value
# packet.read("ITEM", :RAW) => raw value
def pre_check(self, command):
if tlm("TGT PKT ITEM") == 0:
return [False, "TGT PKT ITEM is 0"]
self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT")
return [True, None]

def post_check(self, command):
wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10)
return [True, None]
+

SELECT_COMMAND

Selects an existing command packet for editing

Typically used in a separate configuration file from where the original command is defined to override or add to the existing command definition. Must be used in conjunction with SELECT_PARAMETER to change an individual parameter.

-
ParameterDescriptionRequired
Target NameName of the target this command is associated withTrue
Command NameName of the command to selectTrue
+
ParameterDescriptionRequired
Target NameName of the target this command is associated withTrue
Command NameName of the command to selectTrue

Example Usage:

-
SELECT_COMMAND INST COLLECT
SELECT_PARAMETER DURATION
# Add units
UNITS Seconds S
-

Example File

+
SELECT_COMMAND INST COLLECT
SELECT_PARAMETER DURATION
# Add units
UNITS Seconds S
+

Example File

Example File: TARGET/cmd_tlm/cmd.txt

-
COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data"
PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"
PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"
PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"
ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID"
PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"
PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"
PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH"
PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES"
POLY_WRITE_CONVERSION 0 0.01745 0 0
PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE"
STATE NORMAL 0
STATE DIAG 1
COMMAND TARGET NOOP BIG_ENDIAN "Do Nothing"
PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"
PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"
PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"
ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID"
PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"
PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"
PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"
PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA"
COMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings"
PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"
PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"
PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"
ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID"
PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"
PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"
PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"
<% 5.times do |x| %>
APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>"
<% end %>
- - \ No newline at end of file +
COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data"
PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"
PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"
PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"
ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID"
PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"
PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"
PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH"
PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES"
POLY_WRITE_CONVERSION 0 0.01745 0 0
PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE"
STATE NORMAL 0
STATE DIAG 1
COMMAND TARGET NOOP BIG_ENDIAN "Do Nothing"
PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"
PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"
PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"
ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID"
PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"
PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"
PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"
PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA"
COMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings"
PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER"
PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE"
PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG"
ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID"
PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS"
PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT"
PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH"
<% 5.times do |x| %>
APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>"
<% end %>
\ No newline at end of file diff --git a/docs/docs/configuration/format.html b/docs/docs/configuration/format.html index c2ca7457c1..a3dd7c6a53 100644 --- a/docs/docs/configuration/format.html +++ b/docs/docs/configuration/format.html @@ -1,51 +1,39 @@ - - - - - -File Format | OpenC3 Docs - - - - -

File Format

COSMOS configuration files are just text files. They can (and should) be checked into your configuration management system and thus can be easily diffed throughout their history. They support ERB syntax, partials, and various line continuations which make them extremely flexible.

-

Keyword / Parameters

+File Format | OpenC3 Docs

File Format

COSMOS configuration files are just text files. They can (and should) be checked into your configuration management system and thus can be easily diffed throughout their history. They support ERB syntax, partials, and various line continuations which make them extremely flexible.

+

Keyword / Parameters

Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example:

-
COMMAND TARGET COLLECT BIG_ENDIAN "Collect command"
-

The keyword is COMMAND and the parameters are TARGET, COLLECT, BIG_ENDIAN, and "Collect command". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the COMMAND keyword above has the following documentation:

-
PARAMETERDESCRIPTIONREQUIRED
TargetName of the target this command is associated withTrue
CommandName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.True
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DescriptionDescription of this command which must be enclosed with quotesFalse
+
COMMAND TARGET COLLECT BIG_ENDIAN "Collect command"
+

The keyword is COMMAND and the parameters are TARGET, COLLECT, BIG_ENDIAN, and "Collect command". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the COMMAND keyword above has the following documentation:

+
PARAMETERDESCRIPTIONREQUIRED
TargetName of the target this command is associated withTrue
CommandName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.True
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DescriptionDescription of this command which must be enclosed with quotesFalse

The Target and Command parameters can be any string and are required. The Endianness parameter is required and must be BIG_ENDIAN or LITTLE_ENDIAN. Other values will cause an error when parsed. The Description parameter must be enclosed in quotes and is optional. All the COSMOS configuration files document their keyword and parameters in this fashion. In addition, Example Usage is provided similar to the example given above.

-

ERB

-

ERB stands for Embedded Ruby. ERB is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB:

-
<% Ruby code -- no output %>
<%= Ruby expression -- insert result %>
-

In a COSMOS Telemetry configuration file we could write the following:

-
<% (1..5).each do |i| %>
APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting"
<% end %>
+

ERB

+

ERB stands for Embedded Ruby. ERB is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB:

+
<% Ruby code -- no output %>
<%= Ruby expression -- insert result %>
+

In a COSMOS Telemetry configuration file we could write the following:

+
<% (1..5).each do |i| %>
APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting"
<% end %>

The first line is Ruby code which iterates from 1 up to and including 5 and places the value in the variable i. The code inside the block will be output to the file every time the iteration runs. The APPEND_ITEM line uses the value of i and directly outputs it to the file by using the <%= syntax. The result of the parsing will look like the following:

-
APPEND_ITEM VALUE1 16 UINT "Value 1 setting"
APPEND_ITEM VALUE2 16 UINT "Value 2 setting"
APPEND_ITEM VALUE3 16 UINT "Value 3 setting"
APPEND_ITEM VALUE4 16 UINT "Value 4 setting"
APPEND_ITEM VALUE5 16 UINT "Value 5 setting"
-

COSMOS uses ERB syntax extensively in a Plugin's plugin.txt configuration file.

-

render

+
APPEND_ITEM VALUE1 16 UINT "Value 1 setting"
APPEND_ITEM VALUE2 16 UINT "Value 2 setting"
APPEND_ITEM VALUE3 16 UINT "Value 3 setting"
APPEND_ITEM VALUE4 16 UINT "Value 4 setting"
APPEND_ITEM VALUE5 16 UINT "Value 5 setting"
+

COSMOS uses ERB syntax extensively in a Plugin's plugin.txt configuration file.

+

render

COSMOS provides a method used inside ERB called render which renders a configuration file into another configuration file. For example:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"
<%= render "_ccsds_apid.txt", locals: {apid: 1} %>
APPEND_ITEM COLLECTS 16 UINT "Number of collects"
...
-

The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows:

-
  APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id"
+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"
<%= render "_ccsds_apid.txt", locals: {apid: 1} %>
APPEND_ITEM COLLECTS 16 UINT "Number of collects"
...
+

The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows:

+
  APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id"

This would result in output as follows:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"
APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id"
APPEND_ITEM COLLECTS 16 UINT "Number of collects"
...
-

Note the variable apid was set to 1 using the locals: syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the Demo for a more comprehensive example.

-

Line Continuation

-

COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: &. For example:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN &
"Health and status"
+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"
APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id"
APPEND_ITEM COLLECTS 16 UINT "Number of collects"
...
+

Note the variable apid was set to 1 using the locals: syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the Demo for a more comprehensive example.

+

Line Continuation

+

COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: &. For example:

+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN &
"Health and status"

This will strip the ampersand character and merge the two lines to result in:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"
+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status"

Spaces around the second line are stripped so indentation does not matter.

-

String Concatenation

+

String Concatenation

COSMOS supports two different string concatenation characters in configuration files. To concatenate strings with a newline use the plus character: +. For example:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" +
"Additional description"
+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" +
"Additional description"

The strings will be merged with a newline to result in:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\nAdditional description"
+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\nAdditional description"

To concatenate strings without a newline use the backslash character: \. For example:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \
'Additional description'
+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \
'Additional description'

The strings will be merged without a newline to result in:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description'
-

The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped.

- - \ No newline at end of file +
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description'
+

The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped.

\ No newline at end of file diff --git a/docs/docs/configuration/interfaces.html b/docs/docs/configuration/interfaces.html index 63e387511e..a676277f44 100644 --- a/docs/docs/configuration/interfaces.html +++ b/docs/docs/configuration/interfaces.html @@ -1,16 +1,121 @@ - - - - - -Interfaces | OpenC3 Docs - - - - -

Interfaces

Interfaces are the connection to the external embedded systems called targets. Interfaces are defined by the top level INTERFACE keyword in the plugin.txt file.

-

Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, GPIB, Firewire, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with Protocols rather than implementing a new interface.

-
Interface and Routers Are Very Similar

Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target.

+Interfaces | OpenC3 Docs

Interfaces

Overview

+

Interfaces are the connection to the external embedded systems called targets. Interfaces are defined by the top level INTERFACE keyword in the plugin.txt file.

+

Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, MQTT, SNMP, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with Protocols rather than implementing a new interface.

+
Interface and Routers Are Very Similar

Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target.

+

Protocols

+

Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. See Protocols for more information.

+

Accessors

+

Accessors are responsible for reading and writing the buffer which is transmitted by the interface to the target. See Accessors for more information.

+

For more information about how Interfaces fit with Protocols and Accessors see Interoperability Without Standards.

+

Provided Interfaces

+

COSMOS provides the following interfaces: TCPIP Client, TCPIP Server, UDP, HTTP Client, HTTP Server, MQTT and Serial. The interface to use is defined by the INTERFACE and ROUTER keywords. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword.

+

COSMOS Enterprise provides the following interfaces: SNMP, SNMP Trap, GEMS, InfluxDB.

+

TCPIP Client Interface

+

The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface.

+
ParameterDescriptionRequired
HostMachine name to connect toYes
Write PortPort to write commands to (can be the same as read port). Pass nil / None to make the interface read only.Yes
Read PortPort to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only.Yes
Write TimeoutNumber of seconds to wait before aborting the writeYes
Read TimeoutNumber of seconds to wait before aborting the read. Pass nil / None to block on read.Yes
Protocol TypeSee Protocols.No
Protocol ArgumentsSee Protocols for the arguments each stream protocol takes.No
+

plugin.txt Ruby Examples:

+
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol
+

plugin.txt Python Examples:

+
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol
+

TCPIP Server Interface

+

The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server.

+
ParameterDescriptionRequired
Write PortPort to write commands to (can be the same as read port)Yes
Read PortPort to read telemetry from (can be the same as write port)Yes
Write TimeoutNumber of seconds to wait before aborting the writeYes
Read TimeoutNumber of seconds to wait before aborting the read. Pass nil / None to block on read.Yes
Protocol TypeSee Protocols.No
Protocol ArgumentsSee Protocols for the arguments each stream protocol takes.No
+

Interface Options

+

Options are added directly beneath the interface definition as shown in the example.

+
OptionDescriptionDefault
LISTEN_ADDRESSIP address to accept connections on0.0.0.0
+

plugin.txt Ruby Examples:

+
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol
OPTION LISTEN_ADDRESS 127.0.0.1
+

plugin.txt Python Examples:

+
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol
+

UDP Interface

+

The UDP interface uses UDP packets to send and receive telemetry from the target.

+
ParameterDescriptionRequiredDefault
HostHost name or IP address of the machine to send and receive data withYes
Write Dest PortPort on the remote machine to send commands toYes
Read PortPort on the remote machine to read telemetry fromYes
Write Source PortPort on the local machine to send commands fromNonil (socket is not bound to an outgoing port)
Interface AddressIf the remote machine supports multicast the interface address is used to configure the outgoing multicast addressNonil (not used)
TTLTime to Live. The number of intermediate routers allowed before dropping the packet.No128 (Windows)
Write TimeoutNumber of seconds to wait before aborting the writeNo10.0
Read TimeoutNumber of seconds to wait before aborting the readNonil (block on read)
+

plugin.txt Ruby Example:

+
INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil
+

plugin.txt Python Example:

+
INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None
+

HTTP Client Interface

+

The HTTP client interface connects to a HTTP server to send commands and receive telemetry. This interface is commonly used with the HttpAccessor and JsonAccessor. See the openc3-cosmos-http-example for more information.

+
ParameterDescriptionRequiredDefault
HostMachine name to connect toYes
PortPort to write commands to and read telemetry fromNo80
ProtocolHTTP or HTTPS protocolNoHTTP
Write TimeoutNumber of seconds to wait before aborting the write. Pass nil / None to block on write.No5
Read TimeoutNumber of seconds to wait before aborting the read. Pass nil / None to block on read.Nonil / None
Connect TimeoutNumber of seconds to wait before aborting the connectionNo5
Include Request In ResponseWhether to include the request in the extra dataNofalse
+

plugin.txt Ruby Examples:

+
INTERFACE INTERFACE_NAME http_client_interface.rb myserver.com 80
+

plugin.txt Python Examples:

+
INTERFACE INTERFACE_NAME openc3/interfaces/http_client_interface.py mysecure.com 443 HTTPS
+

HTTP Server Interface

+

The HTTP server interface creates a simple unencrypted, unauthenticated HTTP server. This interface is commonly used with the HttpAccessor and JsonAccessor. See the openc3-cosmos-http-example for more information.

+
ParameterDescriptionRequiredDefault
PortPort to write commands to and read telemetry fromNo80
+

Interface Options

+

Options are added directly beneath the interface definition as shown in the example.

+
OptionDescriptionDefault
LISTEN_ADDRESSIP address to accept connections on0.0.0.0
+

plugin.txt Ruby Examples:

+
INTERFACE INTERFACE_NAME http_server_interface.rb
LISTEN_ADDRESS 127.0.0.1
+

plugin.txt Python Examples:

+
INTERFACE INTERFACE_NAME openc3/interfaces/http_server_interface.py 88
+

MQTT Interface

+

The MQTT interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Streaming Interface in that the commands and telemetry are transmitted over topics given by META TOPIC in the command and telemetry definitions.

+
ParameterDescriptionRequiredDefault
HostHost name or IP address of the MQTT brokerYes
PortPort on the MQTT broker to connect to. Keep in mind whether you're using SSL or not.No1883
SSLWhether to use SSL to connectNofalse
+

Interface Options

+

Options are added directly beneath the interface definition as shown in the example.

+
OptionDescription
ACK_TIMEOUTTime to wait when connecting to the MQTT broker
USERNAMEUsername for authentication with the MQTT broker
PASSWORDPassword for authentication with the MQTT broker
CERTPEM encoded client certificate filename used with KEY for client TLS based authentication
KEYPEM encoded client private keys filename
KEYFILE_PASSWORDPassword to decrypt the CERT and KEY files (Python only)
CA_FILECertificate Authority certificate filename that is to be treated as trusted by this client
+

plugin.txt Ruby Example:

+
INTERFACE MQTT_INT mqtt_interface.rb test.mosquitto.org 1883
+

plugin.txt Python Example (Note: This example uses the SECRET keyword to set the PASSWORD option in the Interface):

+
INTERFACE MQTT_INT openc3/interfaces/mqtt_interface.py test.mosquitto.org 8884
OPTION USERNAME rw
# Create an env variable called MQTT_PASSWORD with the secret named PASSWORD
# and set an OPTION called PASSWORD with the secret value
# For more information about secrets see the Admin Tool page
SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD
+

Packet Definitions

+

The MQTT Interface utilizes 'META TOPIC <topic name>' in the command and telemetry definition files to determine which topics to publish and receive messages from. Thus to send to the topic 'TEST' you would create a command like the following (Note: The command name 'TEST' does NOT have to match the topic name):

+
COMMAND MQTT TEST BIG_ENDIAN "Test"
META TOPIC TEST # <- The topic name is 'TEST'
APPEND_PARAMETER DATA 0 BLOCK '' "MQTT Data"
+

Similarly to receive from the topic 'TEST' you would create a telemetry packet like the following (Note: The telemetry name 'TEST' does NOT have to match the topic name):

+
TELEMETRY MQTT TEST BIG_ENDIAN "Test"
META TOPIC TEST # <- The topic name is 'TEST'
APPEND_ITEM DATA 0 BLOCK "MQTT Data"
+

For a full example, please see the openc3-cosmos-mqtt-test in the COSMOS source.

+

MQTT Streaming Interface

+

The MQTT streaming interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT streaming interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Interface in that all the commands are transmitted on a single topic and all telemetry is received on a single topic.

+
ParameterDescriptionRequiredDefault
HostHost name or IP address of the MQTT brokerYes
PortPort on the MQTT broker to connect to. Keep in mind whether you're using SSL or not.No1883
SSLWhether to use SSL to connectNofalse
Write TopicName of the write topic for all commands. Pass nil / None to make interface read only.Nonil / None
Read TopicName of the read topic for all telemetry. Pass nil / None to make interface write only.Nonil / None
Protocol TypeSee Protocols.No
Protocol ArgumentsSee Protocols for the arguments each stream protocol takes.No
+

Interface Options

+

Options are added directly beneath the interface definition as shown in the example.

+
OptionDescription
ACK_TIMEOUTTime to wait when connecting to the MQTT broker
USERNAMEUsername for authentication with the MQTT broker
PASSWORDPassword for authentication with the MQTT broker
CERTPEM encoded client certificate filename used with KEY for client TLS based authentication
KEYPEM encoded client private keys filename
KEYFILE_PASSWORDPassword to decrypt the CERT and KEY files (Python only)
CA_FILECertificate Authority certificate filename that is to be treated as trusted by this client
+

plugin.txt Ruby Example:

+
INTERFACE MQTT_INT mqtt_stream_interface.rb test.mosquitto.org 1883 false write read
+

plugin.txt Python Example (Note: This example uses the SECRET keyword to set the PASSWORD option in the Interface):

+
INTERFACE MQTT_INT openc3/interfaces/mqtt_stream_interface.py test.mosquitto.org 8884 False write read
OPTION USERNAME rw
# Create an env variable called MQTT_PASSWORD with the secret named PASSWORD
# and set an OPTION called PASSWORD with the secret value
# For more information about secrets see the Admin Tool page
SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD
+

Packet Definitions

+

The MQTT Streaming Interface utilizes the topic names passed to the interface so no additional information is necessary in the definition.

+

For a full example, please see the openc3-cosmos-mqtt-test in the COSMOS source.

+

Serial Interface

+

The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby.

+
ParameterDescriptionRequired
Write PortName of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing.Yes
Read PortName of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading.Yes
Baud RateBaud rate to read and writeYes
ParitySerial port parity. Must be 'NONE', 'EVEN', or 'ODD'.Yes
Stop BitsNumber of stop bits, e.g. 1.Yes
Write TimeoutNumber of seconds to wait before aborting the writeYes
Read TimeoutNumber of seconds to wait before aborting the read. Pass nil / None to block on read.Yes
Protocol TypeSee Protocols.No
Protocol ArgumentsSee Protocols for the arguments each stream protocol takes.No
+

Interface Options

+

Options are added directly beneath the interface definition as shown in the example.

+
OptionDescriptionDefault
FLOW_CONTROLSerial port flow control. Must be one of NONE or RTSCTS.NONE
DATA_BITSNumber of data bits.8
+

plugin.txt Ruby Examples:

+
INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true
INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol
OPTION FLOW_CONTROL RTSCTS
OPTION DATA_BITS 7
+

SNMP Interface (Enterprise)

+

The SNMP Interface is for connecting to Simple Network Management Protocol devices. The SNMP Interface is currently only implemented in Ruby.

+
ParameterDescriptionRequiredDefault
HostHost name of the SNMP deviceYes
PortPort on the SNMP deviceNo161
+

Interface Options

+

Options are added directly beneath the interface definition as shown in the example.

+
OptionDescriptionDefault
VERSIONSNMP Version: 1, 2, or 31
COMMUNITYPassword or user ID that allows access to a deviceprivate
USERNAMEUsernameN/A
RETRIESRetries when sending requestsN/A
TIMEOUTTimeout waiting for a response from an agentN/A
CONTEXTSNMP contextN/A
SECURITY_LEVELMust be one of NO_AUTH, AUTH_PRIV, or AUTH_NO_PRIVN/A
AUTH_PROTOCOLMust be one of MD5, SHA, or SHA256N/A
PRIV_PROTOCOLMust be one of DES or AESN/A
AUTH_PASSWORDAuth passwordN/A
PRIV_PASSWORDPriv passwordN/A
+

plugin.txt Ruby Examples:

+
INTERFACE SNMP_INT snmp_interface.rb 192.168.1.249 161
OPTION VERSION 1
+

For a full example, please see the openc3-cosmos-apc-switched-pdu in the COSMOS Enterprise Plugins.

+

SNMP Trap Interface (Enterprise)

+

The SNMP Trap Interface is for receiving Simple Network Management Protocol traps. The SNMP Trap Interface is currently only implemented in Ruby.

+
ParameterDescriptionRequiredDefault
Read PortPort to read fromNo162
Read TimeoutRead timeoutNonil
Bind AddressAddress to bind UDP port toYes0.0.0.0
+

Interface Options

+

Options are added directly beneath the interface definition as shown in the example.

+
OptionDescriptionDefault
VERSIONSNMP Version: 1, 2, or 31
+

plugin.txt Ruby Examples:

+
INTERFACE SNMP_INT snmp_trap_interface.rb 162
OPTION VERSION 1
+

For a full example, please see the openc3-cosmos-apc-switched-pdu in the COSMOS Enterprise Plugins.

+

gRPC Interface (Enterprise)

+

The gRPC Interface is for interacting with gRPC. The gRPC Interface is currently only implemented in Ruby.

+
ParameterDescriptionRequired
HostnamegRPC serverYes
PortgRPC portYes
+

plugin.txt Ruby Examples:

+
INTERFACE GRPC_INT grpc_interface.rb my.grpc.org 8080
+

Commands

+

Using the GrpcInterface for command definitions requires the use of META to define a GRPC_METHOD to use for each command.

+
COMMAND PROTO GET_USER BIG_ENDIAN 'Get a User'
META GRPC_METHOD /example.photoservice.ExamplePhotoService/GetUser
+

For a full example, please see the openc3-cosmos-proto-target in the COSMOS Enterprise Plugins.

+

Custom Interfaces

Interfaces have the following methods that must be implemented:

  1. connect - Open the socket or port or somehow establish the connection to the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation.
  2. @@ -27,54 +132,4 @@
  3. write - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent.
  4. write_raw - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data.
-
Naming Conventions

When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization.

-

Provided Interfaces

-

COSMOS provides the following interfaces for use: TCPIP Client, TCPIP Server, UDP, and Serial. The interface to use is defined by the INTERFACE and ROUTER keywords.

-

TCPIP Client Interface

-

The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface.

-
ParameterDescriptionRequired
HostMachine name to connect toYes
Write PortPort to write commands to (can be the same as read port). Pass nil / None to make the interface read only.Yes
Read PortPort to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only.Yes
Write TimeoutNumber of seconds to wait before aborting the writeYes
Read TimeoutNumber of seconds to wait before aborting the read. Pass nil / None to block on read.Yes
Protocol TypeSee Protocols.No
Protocol ArgumentsSee Protocols for the arguments each stream protocol takes.No
-

plugin.txt Ruby Examples:

-
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol
-

plugin.txt Python Examples:

-
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol
-

See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword.

-

TCPIP Server Interface

-

The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server.

-
ParameterDescriptionRequired
Write PortPort to write commands to (can be the same as read port)Yes
Read PortPort to read telemetry from (can be the same as write port)Yes
Write TimeoutNumber of seconds to wait before aborting the writeYes
Read TimeoutNumber of seconds to wait before aborting the read. Pass nil / None to block on read.Yes
Protocol TypeSee Protocols.No
Protocol ArgumentsSee Protocols for the arguments each stream protocol takes.No
-

plugin.txt Ruby Examples:

-
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol
-

plugin.txt Python Examples:

-
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol
-

See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. Note, TcpipServerInterface processes the OPTION modifier.

-

UDP Interface

-

The UDP interface uses UDP packets to send and receive telemetry from the target.

-
ParameterDescriptionRequiredDefault
HostHost name or IP address of the machine to send and receive data withYes
Write Dest PortPort on the remote machine to send commands toYes
Read PortPort on the remote machine to read telemetry fromYes
Write Source PortPort on the local machine to send commands fromNonil (socket is not bound to an outgoing port)
Interface AddressIf the remote machine supports multicast the interface address is used to configure the outgoing multicast addressNonil (not used)
TTLTime to Live. The number of intermediate routers allowed before dropping the packet.No128 (Windows)
Write TimeoutNumber of seconds to wait before aborting the writeNo10.0
Read TimeoutNumber of seconds to wait before aborting the readNonil (block on read)
-

plugin.txt Ruby Example:

-
INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil
-

plugin.txt Python Example:

-
INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None
-

See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword.

-

Serial Interface

-

The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby.

-
ParameterDescriptionRequired
Write PortName of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing.Yes
Read PortName of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading.Yes
Baud RateBaud rate to read and writeYes
ParitySerial port parity. Must be 'NONE', 'EVEN', or 'ODD'.Yes
Stop BitsNumber of stop bits, e.g. 1.Yes
Write TimeoutNumber of seconds to wait before aborting the writeYes
Read TimeoutNumber of seconds to wait before aborting the read. Pass nil / None to block on read.Yes
Protocol TypeSee Protocols.No
Protocol ArgumentsSee Protocols for the arguments each stream protocol takes.No
-

plugin.txt Ruby Examples:

-
INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true
INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE
INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol
-

See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. Note, SerialInterface processes the OPTION modifier.

-

Streams

-

Streams are low level classes that implement read, read_nonblock, write, connect, connected? and disconnect methods. The built-in Stream classes are SerialStream, TcpipSocketStream and TcpipClientStream and they are automatically used when creating a Serial Interface, TCP/IP Server Interface, or TCP/IP Client Interface.

-

Protocols

-

Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. COSMOS defines the following built-in protocols which can be used with the above interfaces:

-
NameDescription
BurstReads as much data as possible from the interface
FixedProcesses fixed length packets with a known ID position
LengthProcesses a length field at a fixed location and then reads the remainder of the data
TerminatedDelineates packets uses termination characters at the end of each packet
TemplateProcesses text based command / response data such as SCPI interfaces
PreidentifiedInternal COSMOS protocol used by COSMOS tools
-

These protocols are declared directly after the interface:

-
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE
-
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE
-

COSMOS also defines the following helper protocols:

-
NameDescription
CRCAdds CRCs to outgoing packets and verifies CRCs on incoming packets
IgnoreIgnores the specified packet by dropping it
-

These protocols are declared after the INTERFACE:

-
INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF
TARGET TGT
PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters
-
INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF
TARGET TGT
PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters
-

Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific.

-

In addition, you can define your own protocols which are declared like the COSMOS helper protocols after your interface. See the Custom Protocols documentation for more information.

-
Protocol Run Order

Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first).

- - \ No newline at end of file +
Naming Conventions

When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization.

\ No newline at end of file diff --git a/docs/docs/configuration/plugins.html b/docs/docs/configuration/plugins.html index 4f656f9306..1793aa5279 100644 --- a/docs/docs/configuration/plugins.html +++ b/docs/docs/configuration/plugins.html @@ -1,350 +1,359 @@ - - - - - -Plugins | OpenC3 Docs - - - - -

Plugins

Introduction

+Plugins | OpenC3 Docs

Plugins

Introduction

This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS.

Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality.

Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains.

-

Concepts

-

Target

+

Concepts

+

Target

Targets are the external pieces of hardware and/or software that COSMOS communicates with. These are things like Front End Processors (FEPs), ground support equipment (GSE), custom software tools, and pieces of hardware like satellites themselves. A target is anything that COSMOS can send commands to and receive telemetry from.

-

Interface

+

Interface

Interfaces implement the physical connection to one or more targets. They are typically ethernet connections implemented using TCP or UDP but can be other connections like serial ports. Interfaces send commands to targets and receive telemetry from targets.

-

Router

+

Router

Routers flow streams of telemetry packets out of COSMOS and receive streams of commands into COSMOS. The commands are forwarded by COSMOS to associated interfaces. Telemetry comes from associated interfaces.

-

Tool

+

Tool

COSMOS Tools are web-based applications the communicate with the COSMOS APIs to perform takes like displaying telemetry, sending commands, and running scripts.

-

Microservice

+

Microservice

Microservices are persistent running backend code that runs within the COSMOS environment. They can process data and perform other useful tasks.

-

Plugin Directory Structure

-

COSMOS plugins have a well-defined directory structure described in detail in the Code Generator documentation.

-

plugin.txt Configuration File

+

Plugin Directory Structure

+

COSMOS plugins have a well-defined directory structure described in detail in the Code Generator documentation.

+

plugin.txt Configuration File

A plugin.txt configuration file is required for any COSMOS plugin. It declares the contents of the plugin and provides variables that allow the plugin to be configured at the time it is initially installed or upgraded. This file follows the standard COSMOS configuration file format of keywords followed by zero or more space separated parameters. The following keywords are supported by the plugin.txt config file:

-

VARIABLE

+

VARIABLE

Define a configurable variable for the plugin

The VARIABLE keyword defines a variable that will be requested for the user to enter during plugin installation. Variables can be used to handle details of targets that are user defined such as specific IP addresses and ports. Variables should also be used to allow users to rename targets to whatever name they want and support multiple installations of the same target with different names. Variables can be used later in plugin.txt or in any other configuration file included in a plugin using Ruby ERB syntax. The variables are assigned to accessible local variables in the file. At a high level, ERB allows you to run Ruby code in configuration files.

-
ParameterDescriptionRequired
Variable NameThe name of the variableTrue
Default ValueDefault value of the variableTrue
-

NEEDS_DEPENDENCIES

-

(Since 5.5.0)
Indicates the plugin needs dependencies and sets the GEM_HOME environment variable

+
ParameterDescriptionRequired
Variable NameThe name of the variableTrue
Default ValueDefault value of the variableTrue
+

NEEDS_DEPENDENCIES

+

(Since 5.5.0)
Indicates the plugin needs dependencies and sets the GEM_HOME environment variable

If the plugin has a top level lib folder or lists runtime dependencies in the gemspec, NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having NEEDS_DEPENDENCIES adds the NFS volume mount to the Kubernetes pod.

-

INTERFACE

+

INTERFACE

Defines a connection to a physical target

Interfaces are what OpenC3 uses to talk to a particular piece of hardware. Interfaces require a Ruby or Python file which implements all the interface methods necessary to talk to the hardware. OpenC3 defines many built in interfaces or you can define your own as long as it implements the interface protocol.

-
ParameterDescriptionRequired
Interface NameName of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target.True
FilenameRuby or Python file to use when instantiating the interface.

Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface
True
-

Additional parameters are required. Please see the Interfaces documentation for more details.

-

INTERFACE Modifiers

+
ParameterDescriptionRequired
Interface NameName of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target.True
FilenameRuby or Python file to use when instantiating the interface.

Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface
True
+

Additional parameters are required. Please see the Interfaces documentation for more details.

+

INTERFACE Modifiers

The following keywords must follow a INTERFACE keyword.

-

MAP_TARGET

+

MAP_TARGET

Maps a target name to an interface

-
ParameterDescriptionRequired
Target NameTarget name to map to this interfaceTrue
+
ParameterDescriptionRequired
Target NameTarget name to map to this interfaceTrue

Ruby Example:

-
INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET DATA
+
INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET DATA

Python Example:

-
INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET DATA
-

MAP_CMD_TARGET

-

(Since 5.2.0)
Maps a target name to an interface for commands only

-
ParameterDescriptionRequired
Target NameCommand target name to map to this interfaceTrue
+
INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET DATA
+

MAP_CMD_TARGET

+

(Since 5.2.0)
Maps a target name to an interface for commands only

+
ParameterDescriptionRequired
Target NameCommand target name to map to this interfaceTrue

Ruby Example:

-
INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface
+
INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface

Python Example:

-
INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface
-

MAP_TLM_TARGET

-

(Since 5.2.0)
Maps a target name to an interface for telemetry only

-
ParameterDescriptionRequired
Target NameTelemetry target name to map to this interfaceTrue
+
INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface
+

MAP_TLM_TARGET

+

(Since 5.2.0)
Maps a target name to an interface for telemetry only

+
ParameterDescriptionRequired
Target NameTelemetry target name to map to this interfaceTrue

Ruby Example:

-
INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface
+
INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface

Python Example:

-
INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface
-

DONT_CONNECT

+
INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface
+

DONT_CONNECT

Server will not automatically try to connect to the interface at startup

-

DONT_RECONNECT

+

DONT_RECONNECT

Server will not try to reconnect to the interface if the connection is lost

-

RECONNECT_DELAY

+

RECONNECT_DELAY

Reconnect delay in seconds

If DONT_RECONNECT is not present the Server will try to reconnect to an interface if the connection is lost. Reconnect delay sets the interval in seconds between reconnect tries.

-
ParameterDescriptionRequired
DelayDelay in seconds between reconnect attempts. The default is 15 seconds.True
-

DISABLE_DISCONNECT

+
ParameterDescriptionRequired
DelayDelay in seconds between reconnect attempts. The default is 15 seconds.True
+

DISABLE_DISCONNECT

Disable the Disconnect button on the Interfaces tab in the Server

-

Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target.

-

LOG_RAW

+

Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target.

+

LOG_RAW

Deprecated, use LOG_STREAM

-

LOG_STREAM

-

(Since 5.5.2)
Log all data on the interface exactly as it is sent and received

+

LOG_STREAM

+

(Since 5.5.2)
Log all data on the interface exactly as it is sent and received

LOG_STREAM does not add any OpenC3 headers and thus can not be read by OpenC3 tools. It is primarily useful for low level debugging of an interface. You will have to manually parse these logs yourself using a hex editor or other application.

-
ParameterDescriptionRequired
Cycle TimeAmount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute.False
Cycle SizeAmount of data to write before cycling the log file. Default is 50MB.False
Cycle HourThe time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil.False
Cycle MinuteSee Cycle Hour.False
+
ParameterDescriptionRequired
Cycle TimeAmount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute.False
Cycle SizeAmount of data to write before cycling the log file. Default is 50MB.False
Cycle HourThe time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil.False
Cycle MinuteSee Cycle Hour.False

Example Usage:

-
INTERFACE EXAMPLE example_interface.rb
# Override the default log time of 600
LOG_STREAM 60
-

PROTOCOL

-

(Since 4.0.0)
Protocols modify the interface by processing the data

-

Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing.

For information on creating your own custom protocol please see Protocols

-
ParameterDescriptionRequired
TypeWhether to apply the protocol on incoming data, outgoing data, or both

Valid Values: READ, WRITE, READ_WRITE
True
Protocol Filename or ClassnameRuby or Python filename or class name which implements the protocolTrue
Protocol specific parametersAdditional parameters used by the protocolFalse
+
INTERFACE EXAMPLE example_interface.rb
# Override the default log time of 600
LOG_STREAM 60
+

PROTOCOL

+

(Since 4.0.0)
Protocols modify the interface by processing the data

+

Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing.

For information on creating your own custom protocol please see Protocols

+
ParameterDescriptionRequired
TypeWhether to apply the protocol on incoming data, outgoing data, or both

Valid Values: READ, WRITE, READ_WRITE
True
Protocol Filename or ClassnameRuby or Python filename or class name which implements the protocolTrue
Protocol specific parametersAdditional parameters used by the protocolFalse

Ruby Example:

-
INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil
MAP_TARGET DATA
# Rather than defining the LENGTH protocol on the INTERFACE line we define it here
PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11
+
INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil
MAP_TARGET DATA
# Rather than defining the LENGTH protocol on the INTERFACE line we define it here
PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11

Python Example:

-
INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET DATA
PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets
-

OPTION

+
INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET DATA
PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets
+

OPTION

Set a parameter on an interface

When an option is set the interface class calls the set_option method. Custom interfaces can override set_option to handle any additional options they want.

-
ParameterDescriptionRequired
NameThe option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0).True
ParametersParameters to pass to the optionFalse
+
ParameterDescriptionRequired
NameThe option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0).True
ParametersParameters to pass to the optionFalse

Example Usage:

-
INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil
OPTION FLOW_CONTROL RTSCTS
OPTION DATA_BITS 8
ROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST
ROUTE SERIAL_INT
OPTION LISTEN_ADDRESS 127.0.0.1
-

SECRET

-

(Since 5.3.0)
Define a secret needed by this interface

-

Defines a secret for this interface and optionally assigns its value to an option

-
ParameterDescriptionRequired
TypeENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.True
Secret NameThe name of the secret to retrieveTrue
Environment Variable or File PathEnvironment variable name or file path to store secretTrue
Option NameInterface option to pass the secret valueFalse
Secret Store NameName of the secret store for stores with multipart keysFalse
+
INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil
OPTION FLOW_CONTROL RTSCTS
OPTION DATA_BITS 8
ROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST
ROUTE SERIAL_INT
OPTION LISTEN_ADDRESS 127.0.0.1
+

SECRET

+

(Since 5.3.0)
Define a secret needed by this interface

+

Defines a secret for this interface and optionally assigns its value to an option. For more information see Admin Secrets.

+
ParameterDescriptionRequired
TypeENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.True
Secret NameThe name of the secret to retrieve from the Admin / Secrets tab. For more information see Admin Secrets.True
Environment Variable or File PathEnvironment variable name or file path to store secret. Note that if you use the Option Name to set an option to the secret value, this value doesn't really matter as long as it is unique.True
Option NameInterface option to pass the secret value. This is the primary way to pass secrets to interfaces.False
Secret Store NameName of the secret store for stores with multipart keysFalse

Example Usage:

-
SECRET ENV USERNAME ENV_USERNAME USERNAME
SECRET FILE KEY "/tmp/DATA/cert" KEY
-

ENV

-

(Since 5.7.0)
Sets an environment variable in the microservice.

-
ParameterDescriptionRequired
KeyEnvironment variable nameTrue
ValueEnvironment variable valueTrue
+
SECRET ENV USERNAME ENV_USERNAME USERNAME
SECRET FILE KEY "/tmp/DATA/cert" KEY
+

ENV

+

(Since 5.7.0)
Sets an environment variable in the microservice.

+
ParameterDescriptionRequired
KeyEnvironment variable nameTrue
ValueEnvironment variable valueTrue

Example Usage:

-
ENV COMPANY OpenC3
-

WORK_DIR

-

(Since 5.7.0)
Set the working directory

+
ENV COMPANY OpenC3
+

WORK_DIR

+

(Since 5.7.0)
Set the working directory

Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.

-
ParameterDescriptionRequired
DirectoryWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.True
+
ParameterDescriptionRequired
DirectoryWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.True

Example Usage:

-
WORK_DIR '/openc3/lib/openc3/microservices'
-

PORT

-

(Since 5.7.0)
Open port for the microservice

+
WORK_DIR '/openc3/lib/openc3/microservices'
+

PORT

+

(Since 5.7.0)
Open port for the microservice

Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support

-
ParameterDescriptionRequired
NumberPort numberTrue
ProtocolPort protocol. Default is TCP.False
+
ParameterDescriptionRequired
NumberPort numberTrue
ProtocolPort protocol. Default is TCP.False

Example Usage:

-
PORT 7272
-

CMD

-

(Since 5.7.0)
Command line to execute to run the microservice.

+
PORT 7272
+

CMD

+

(Since 5.7.0)
Command line to execute to run the microservice.

Command line to execute to run the microservice.

-
ParameterDescriptionRequired
ArgsOne or more arguments to exec to run the microservice.True
+
ParameterDescriptionRequired
ArgsOne or more arguments to exec to run the microservice.True

Ruby Example:

-
CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1
+
CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1

Python Example:

-
CMD python interface_microservice.py DEFAULT__INTERFACE__INT1
-

CONTAINER

-

(Since 5.7.0)
Docker Container

+
CMD python interface_microservice.py DEFAULT__INTERFACE__INT1
+

CONTAINER

+

(Since 5.7.0)
Docker Container

Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition.

-
ParameterDescriptionRequired
ArgsName of the containerFalse
-

ROUTE_PREFIX

-

(Since 5.7.0)
Prefix of route

+
ParameterDescriptionRequired
ArgsName of the containerFalse
+

ROUTE_PREFIX

+

(Since 5.7.0)
Prefix of route

Prefix of route to the microservice to expose externally with Traefik

-
ParameterDescriptionRequired
Route PrefixRoute prefix. Must be unique across all scopes. Something like /myprefixTrue
+
ParameterDescriptionRequired
Route PrefixRoute prefix. Must be unique across all scopes. Something like /myprefixTrue

Example Usage:

-
ROUTE_PREFIX /interface
-

ROUTER

+
ROUTE_PREFIX /interface
+

SHARD

+

(Since 6.0.0)
Operator shard to run target microservices on

+

Operator Shard. Only used if running multiple operator containers typically in Kubernetes

+
ParameterDescriptionRequired
ShardShard number starting from 0False
+

Example Usage:

+
SHARD 0
+

ROUTER

Create router to receive commands and output telemetry packets from one or more interfaces

Creates an router which receives command packets from their remote clients and sends them to associated interfaces. They receive telemetry packets from their interfaces and send them to their remote clients. This allows routers to be intermediaries between an external client and an actual device.

-
ParameterDescriptionRequired
NameName of the routerTrue
FilenameRuby or Python file to use when instantiating the interface.

Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface
True
-

Additional parameters are required. Please see the Interfaces documentation for more details.

-

TARGET

+
ParameterDescriptionRequired
NameName of the routerTrue
FilenameRuby or Python file to use when instantiating the interface.

Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface
True
+

Additional parameters are required. Please see the Interfaces documentation for more details.

+

TARGET

Defines a new target

-
ParameterDescriptionRequired
Folder NameThe target folderTrue
NameThe target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder.True
+
ParameterDescriptionRequired
Folder NameThe target folderTrue
NameThe target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder.True

Example Usage:

-
TARGET INST INST
-

TARGET Modifiers

+
TARGET INST INST
+

TARGET Modifiers

The following keywords must follow a TARGET keyword.

-

CMD_BUFFER_DEPTH

-

(Since 5.2.0)
Number of commands to buffer to ensure logged in order

-
ParameterDescriptionRequired
Buffer DepthBuffer depth in packets (Default = 5)True
-

CMD_LOG_CYCLE_TIME

+

CMD_BUFFER_DEPTH

+

(Since 5.2.0)
Number of commands to buffer to ensure logged in order

+
ParameterDescriptionRequired
Buffer DepthBuffer depth in packets (Default = 5)True
+

CMD_LOG_CYCLE_TIME

Command binary logs can be cycled on a time interval.

-
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
-

CMD_LOG_CYCLE_SIZE

+
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
+

CMD_LOG_CYCLE_SIZE

Command binary logs can be cycled after a certain log file size is reached.

-
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
-

CMD_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
+

CMD_LOG_RETAIN_TIME

How long to keep raw command logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep raw command logs (default = nil = Forever)True
-

CMD_DECOM_LOG_CYCLE_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep raw command logs (default = nil = Forever)True
+

CMD_DECOM_LOG_CYCLE_TIME

Command decommutation logs can be cycled on a time interval.

-
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
-

CMD_DECOM_LOG_CYCLE_SIZE

+
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
+

CMD_DECOM_LOG_CYCLE_SIZE

Command decommutation logs can be cycled after a certain log file size is reached.

-
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
-

CMD_DECOM_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
+

CMD_DECOM_LOG_RETAIN_TIME

How long to keep decom command logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep decom command logs (default = nil = Forever)True
-

TLM_BUFFER_DEPTH

-

(Since 5.2.0)
Number of telemetry packets to buffer to ensure logged in order

-
ParameterDescriptionRequired
Buffer DepthBuffer depth in packets (Default = 60)True
-

TLM_LOG_CYCLE_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep decom command logs (default = nil = Forever)True
+

TLM_BUFFER_DEPTH

+

(Since 5.2.0)
Number of telemetry packets to buffer to ensure logged in order

+
ParameterDescriptionRequired
Buffer DepthBuffer depth in packets (Default = 60)True
+

TLM_LOG_CYCLE_TIME

Telemetry binary logs can be cycled on a time interval.

-
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
-

TLM_LOG_CYCLE_SIZE

+
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
+

TLM_LOG_CYCLE_SIZE

Telemetry binary logs can be cycled after a certain log file size is reached.

-
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
-

TLM_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
+

TLM_LOG_RETAIN_TIME

How long to keep raw telemetry logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep raw telemetry logs (default = nil = Forever)True
-

TLM_DECOM_LOG_CYCLE_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep raw telemetry logs (default = nil = Forever)True
+

TLM_DECOM_LOG_CYCLE_TIME

Telemetry decommutation logs can be cycled on a time interval.

-
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
-

TLM_DECOM_LOG_CYCLE_SIZE

+
ParameterDescriptionRequired
TimeMaximum time between files in seconds (default = 600)True
+

TLM_DECOM_LOG_CYCLE_SIZE

Telemetry decommutation logs can be cycled after a certain log file size is reached.

-
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
-

TLM_DECOM_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
SizeMaximum file size in bytes (default = 50_000_000)True
+

TLM_DECOM_LOG_RETAIN_TIME

How long to keep decom telemetry logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep decom telemetry logs (default = nil = Forever)True
-

REDUCED_MINUTE_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep decom telemetry logs (default = nil = Forever)True
+

REDUCED_MINUTE_LOG_RETAIN_TIME

How long to keep reduced minute telemetry logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep reduced minute telemetry logs (default = nil = Forever)True
-

REDUCED_HOUR_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep reduced minute telemetry logs (default = nil = Forever)True
+

REDUCED_HOUR_LOG_RETAIN_TIME

How long to keep reduced hour telemetry logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep reduced hour telemetry logs (default = nil = Forever)True
-

REDUCED_DAY_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep reduced hour telemetry logs (default = nil = Forever)True
+

REDUCED_DAY_LOG_RETAIN_TIME

How long to keep reduced day telemetry logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep reduced day telemetry logs (default = nil = Forever)True
-

LOG_RETAIN_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep reduced day telemetry logs (default = nil = Forever)True
+

LOG_RETAIN_TIME

How long to keep all regular telemetry logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep all regular telemetry logs (default = nil = Forever)True
-

REDUCED_LOG_RETAIN_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep all regular telemetry logs (default = nil = Forever)True
+

REDUCED_LOG_RETAIN_TIME

How long to keep all reduced telemetry logs in seconds.

-
ParameterDescriptionRequired
TimeNumber of seconds to keep all reduced telemetry logs (default = nil = Forever)True
-

CLEANUP_POLL_TIME

+
ParameterDescriptionRequired
TimeNumber of seconds to keep all reduced telemetry logs (default = nil = Forever)True
+

CLEANUP_POLL_TIME

Period at which to run the cleanup process.

-
ParameterDescriptionRequired
TimeNumber of seconds between runs of the cleanup process (default = 900 = 15 minutes)True
-

REDUCER_DISABLE

+
ParameterDescriptionRequired
TimeNumber of seconds between runs of the cleanup process (default = 900 = 15 minutes)True
+

REDUCER_DISABLE

Disables the data reduction microservice for the target

-

REDUCER_MAX_CPU_UTILIZATION

+

REDUCER_MAX_CPU_UTILIZATION

Maximum amount of CPU utilization to apply to data reduction

-
ParameterDescriptionRequired
Percentage0 to 100 percent (default = 30)True
-

TARGET_MICROSERVICE

-

(Since 5.2.0)
Breaks a target microservice out into its own process.

+
ParameterDescriptionRequired
Percentage0 to 100 percent (default = 30)True
+

TARGET_MICROSERVICE

+

(Since 5.2.0)
Breaks a target microservice out into its own process.

Can be used to give more resources to processing that is falling behind. If defined multiple times for the same type, will create multiple processes. Each process can be given specific packets to process with the PACKET keyword.

-
ParameterDescriptionRequired
TypeThe target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUPTrue
-

PACKET

-

(Since 5.2.0)
Packet Name to allocate to the current TARGET_MICROSERVICE.

-
ParameterDescriptionRequired
Packet NameThe packet name. Does not apply to REDUCER or CLEANUP target microservice types.True
-

DISABLE_ERB

-

(Since 5.12.0)
Disable ERB processing

+
ParameterDescriptionRequired
TypeThe target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUPTrue
+

PACKET

+

(Since 5.2.0)
Packet Name to allocate to the current TARGET_MICROSERVICE.

+
ParameterDescriptionRequired
Packet NameThe packet name. Does not apply to REDUCER or CLEANUP target microservice types.True
+

DISABLE_ERB

+

(Since 5.12.0)
Disable ERB processing

Disable ERB processing for the entire target or a set of regular expressions over its filenames

-
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
-

MICROSERVICE

+
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
+

SHARD

+

(Since 6.0.0)
Operator shard to run target microservices on

+

Operator Shard. Only used if running multiple operator containers typically in Kubernetes

+
ParameterDescriptionRequired
ShardShard number starting from 0False
+

Example Usage:

+
SHARD 0
+

MICROSERVICE

Defines a new microservice

Defines a microservice that the plugin adds to the OpenC3 system. Microservices are background software processes that perform persistent processing.

-
ParameterDescriptionRequired
Microservice Folder NameThe exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderNameTrue
Microservice NameThe specific name of this instance of the microservice in the OpenC3 systemTrue
+
ParameterDescriptionRequired
Microservice Folder NameThe exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderNameTrue
Microservice NameThe specific name of this instance of the microservice in the OpenC3 systemTrue

Example Usage:

-
MICROSERVICE EXAMPLE openc3-example
-

MICROSERVICE Modifiers

+
MICROSERVICE EXAMPLE openc3-example
+

MICROSERVICE Modifiers

The following keywords must follow a MICROSERVICE keyword.

-

ENV

+

ENV

Sets an environment variable in the microservice.

-
ParameterDescriptionRequired
KeyEnvironment variable nameTrue
ValueEnvironment variable valueTrue
+
ParameterDescriptionRequired
KeyEnvironment variable nameTrue
ValueEnvironment variable valueTrue

Example Usage:

-
MICROSERVICE EXAMPLE openc3-example
ENV COMPANY OpenC3
-

WORK_DIR

+
MICROSERVICE EXAMPLE openc3-example
ENV COMPANY OpenC3
+

WORK_DIR

Set the working directory

Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.

-
ParameterDescriptionRequired
DirectoryWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.True
+
ParameterDescriptionRequired
DirectoryWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.True

Example Usage:

-
MICROSERVICE EXAMPLE openc3-example
WORK_DIR .
-

PORT

-

(Since 5.0.10)
Open port for the microservice

+
MICROSERVICE EXAMPLE openc3-example
WORK_DIR .
+

PORT

+

(Since 5.0.10)
Open port for the microservice

Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support

-
ParameterDescriptionRequired
NumberPort numberTrue
ProtocolPort protocol. Default is TCP.False
+
ParameterDescriptionRequired
NumberPort numberTrue
ProtocolPort protocol. Default is TCP.False

Example Usage:

-
MICROSERVICE EXAMPLE openc3-example
PORT 7272
-

TOPIC

+
MICROSERVICE EXAMPLE openc3-example
PORT 7272
+

TOPIC

Associate a Redis topic

Redis topic to associate with this microservice. Standard OpenC3 microservices such as decom_microservice use this information to know what packet streams to subscribe to. The TOPIC keyword can be used as many times as necessary to associate all needed topics.

-
ParameterDescriptionRequired
Topic NameRedis Topic to associate with the microserviceTrue
+
ParameterDescriptionRequired
Topic NameRedis Topic to associate with the microserviceTrue

Example Usage:

-
MICROSERVICE EXAMPLE openc3-example
# Manually assigning topics is an advanced topic and requires
# intimate knowledge of the internal COSMOS data structures.
TOPIC DEFAULT__openc3_log_messages
TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS
-

TARGET_NAME

+
MICROSERVICE EXAMPLE openc3-example
# Manually assigning topics is an advanced topic and requires
# intimate knowledge of the internal COSMOS data structures.
TOPIC DEFAULT__openc3_log_messages
TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS
+

TARGET_NAME

Associate a OpenC3 target

OpenC3 target to associate with the microservice. For standard OpenC3 microservices such as decom_microservice this causes the target configuration to get loaded into the container for the microservice.

-
ParameterDescriptionRequired
Target NameOpenC3 target to associate with the microserviceTrue
+
ParameterDescriptionRequired
Target NameOpenC3 target to associate with the microserviceTrue

Example Usage:

-
MICROSERVICE EXAMPLE openc3-example
TARGET_NAME EXAMPLE
-

CMD

+
MICROSERVICE EXAMPLE openc3-example
TARGET_NAME EXAMPLE
+

CMD

Command line to execute to run the microservice.

Command line to execute to run the microservice.

-
ParameterDescriptionRequired
ArgsOne or more arguments to exec to run the microservice.True
+
ParameterDescriptionRequired
ArgsOne or more arguments to exec to run the microservice.True

Ruby Example:

-
MICROSERVICE EXAMPLE openc3-example
CMD ruby example_target.rb
+
MICROSERVICE EXAMPLE openc3-example
CMD ruby example_target.rb

Python Example:

-
MICROSERVICE EXAMPLE openc3-example
CMD python example_target.py
-

OPTION

+
MICROSERVICE EXAMPLE openc3-example
CMD python example_target.py
+

OPTION

Pass an option to the microservice

Generic key/value(s) options to pass to the microservice. These take the form of KEYWORD/PARAMS like a line in a OpenC3 configuration file. Multiple OPTION keywords can be used to pass multiple options to the microservice.

-
ParameterDescriptionRequired
Option NameName of the optionTrue
Option Value(s)One or more values to associate with the optionTrue
-

CONTAINER

+
ParameterDescriptionRequired
Option NameName of the optionTrue
Option Value(s)One or more values to associate with the optionTrue
+

CONTAINER

Docker Container

Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition.

-
ParameterDescriptionRequired
ArgsName of the containerFalse
-

SECRET

-

(Since 5.3.0)
Define a secret needed by this microservice

-

Defines a secret for this microservice

-
ParameterDescriptionRequired
TypeENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.True
Secret NameThe name of the secret to retrieveTrue
Environment Variable or File PathEnvironment variable name or file path to store secretTrue
Secret Store NameName of the secret store for stores with multipart keysFalse
+
ParameterDescriptionRequired
ArgsName of the containerFalse
+

SECRET

+

(Since 5.3.0)
Define a secret needed by this microservice

+

Defines a secret for this microservice. For more information see Admin Secrets.

+
ParameterDescriptionRequired
TypeENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.True
Secret NameThe name of the secret to retrieve from the Admin / Secrets tab. For more information see Admin Secrets.True
Environment Variable or File PathEnvironment variable name or file path to store secretTrue
Secret Store NameName of the secret store for stores with multipart keysFalse

Example Usage:

-
SECRET ENV USERNAME ENV_USERNAME
SECRET FILE KEY "/tmp/DATA/cert"
-

ROUTE_PREFIX

-

(Since 5.5.0)
Prefix of route

+
SECRET ENV USERNAME ENV_USERNAME
SECRET FILE KEY "/tmp/DATA/cert"
+

ROUTE_PREFIX

+

(Since 5.5.0)
Prefix of route

Prefix of route to the microservice to expose externally with Traefik

-
ParameterDescriptionRequired
Route PrefixRoute prefix. Must be unique across all scopes. Something like /myprefixTrue
+
ParameterDescriptionRequired
Route PrefixRoute prefix. Must be unique across all scopes. Something like /myprefixTrue

Example Usage:

-
MICROSERVICE CFDP CFDP
ROUTE_PREFIX /cfdp
-

DISABLE_ERB

-

(Since 5.12.0)
Disable ERB processing

+
MICROSERVICE CFDP CFDP
ROUTE_PREFIX /cfdp
+

DISABLE_ERB

+

(Since 5.12.0)
Disable ERB processing

Disable ERB processing for the entire microservice or a set of regular expressions over its filenames

-
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
-

TOOL

+
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
+

SHARD

+

(Since 6.0.0)
Operator shard to run target microservices on

+

Operator Shard. Only used if running multiple operator containers typically in Kubernetes

+
ParameterDescriptionRequired
ShardShard number starting from 0False
+

Example Usage:

+
SHARD 0
+

TOOL

Define a tool

Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices.

-
ParameterDescriptionRequired
Tool Folder NameThe exact name of the tool folder in the plugin. ie. tools/ToolFolderNameTrue
Tool NameName of the tool that is displayed in the OpenC3 Navigation menuTrue
+
ParameterDescriptionRequired
Tool Folder NameThe exact name of the tool folder in the plugin. ie. tools/ToolFolderNameTrue
Tool NameName of the tool that is displayed in the OpenC3 Navigation menuTrue

Example Usage:

-
TOOL DEMO Demo
-

TOOL Modifiers

+
TOOL DEMO Demo
+

TOOL Modifiers

The following keywords must follow a TOOL keyword.

-

URL

+

URL

Url used to access the tool

-

The relative url used to access the tool. Defaults to "/tools/ToolFolderName".

-
ParameterDescriptionRequired
UrlThe url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools.True
-

INLINE_URL

+

The relative url used to access the tool. Defaults to "/tools/ToolFolderName".

+
ParameterDescriptionRequired
UrlThe url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools.True
+

INLINE_URL

Internal url to load a tool

-

The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js".

-
ParameterDescriptionRequired
UrlThe inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.True
-

WINDOW

+

The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js".

+
ParameterDescriptionRequired
UrlThe inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.True
+

WINDOW

How to display the tool when navigated to

The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB.

-
ParameterDescriptionRequired
Window ModeTool display mode

Valid Values: INLINE, IFRAME, NEW
True
-

ICON

+
ParameterDescriptionRequired
Window ModeTool display mode

Valid Values: INLINE, IFRAME, NEW
True
+

ICON

Set tool icon

Icon shown next to the tool name in the OpenC3 navigation menu.

-
ParameterDescriptionRequired
Icon NameIcon to display next to the tool name. Icons come from Font Awesome, Material Design (https://materialdesignicons.com/), and Astro.True
-

CATEGORY

+
ParameterDescriptionRequired
Icon NameIcon to display next to the tool name. Icons come from Font Awesome, Material Design (https://materialdesignicons.com/), and Astro.True
+

CATEGORY

Category for the tool

Associates the tool with a category which becomes a submenu in the Navigation menu.

-
ParameterDescriptionRequired
Category NameCategory to associate the tool withTrue
-

SHOWN

+
ParameterDescriptionRequired
Category NameCategory to associate the tool withTrue
+

SHOWN

Show the tool or not

Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool.

-
ParameterDescriptionRequired
ShownWhether or not the tool is shown. TRUE or FALSE

Valid Values: true, false
True
-

POSITION

-

(Since 5.0.8)
Position of the tool in the nav bar

+
ParameterDescriptionRequired
ShownWhether or not the tool is shown. TRUE or FALSE

Valid Values: true, false
True
+

POSITION

+

(Since 5.0.8)
Position of the tool in the nav bar

Position of the tool starting at 2 (1 is reserved for Admin Console). Tools without a position are appended to the end as they are installed. All COSMOS open source tools have consecutive integer values for position.

-
ParameterDescriptionRequired
PositionNumerical positionTrue
-

DISABLE_ERB

-

(Since 5.12.0)
Disable ERB processing

+
ParameterDescriptionRequired
PositionNumerical positionTrue
+

DISABLE_ERB

+

(Since 5.12.0)
Disable ERB processing

Disable ERB processing for the entire tool or a set of regular expressions over its filenames

-
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
-

WIDGET

+
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
+

IMPORT_MAP_ITEM

+

(Since 6.0.0)
Add an item to the import map

+
ParameterDescriptionRequired
keyImport Map KeyTrue
valueImport Map ValueTrue
+

WIDGET

Define a custom widget

Defines a custom widget that can be used in Telemetry Viewer screens.

-
ParameterDescriptionRequired
Widget NameThe name of the widget will be used to build a path to the widget implementation. For example, WIDGET HELLOWORLD will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the Custom Widgets guide for more details.True
LabelThe label for the widget that will appear in the Data Viewer component drop downFalse
+
ParameterDescriptionRequired
Widget NameThe name of the widget will be used to build a path to the widget implementation. For example, WIDGET HELLOWORLD will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the Custom Widgets guide for more details.True
LabelThe label for the widget that will appear in the Data Viewer component drop downFalse

Example Usage:

-
WIDGET HELLOWORLD
-

WIDGET Modifiers

+
WIDGET HELLOWORLD
+

WIDGET Modifiers

The following keywords must follow a WIDGET keyword.

-

DISABLE_ERB

-

(Since 5.12.0)
Disable ERB processing

+

DISABLE_ERB

+

(Since 5.12.0)
Disable ERB processing

Disable ERB processing for the entire widget or a set of regular expressions over its filenames

-
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
- - \ No newline at end of file +
ParameterDescriptionRequired
RegexRegex to match against filenames. If match, then no ERB processingFalse
\ No newline at end of file diff --git a/docs/docs/configuration/protocols.html b/docs/docs/configuration/protocols.html index 10363d5abc..cdd8ab74ef 100644 --- a/docs/docs/configuration/protocols.html +++ b/docs/docs/configuration/protocols.html @@ -1,147 +1,161 @@ - - - - - -Protocols | OpenC3 Docs - - - - -

Protocols

Protocols process data on behalf of an Interface. They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol.

-
Protocol Run Order

Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first).

+Protocols | OpenC3 Docs

Protocols

Protocols process data on behalf of an Interface. They can modify the data being written, data being read, or both. Protocols can also mark a packet as stored instead of real-time which means COSMOS will not update the current value table with the packet data. Protocols can be layered and will be processed in order. For example, if you have a low-level encryption layer that must be first removed before processing a higher level buffer length protocol.

+
Protocol Run Order

Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first).

Protocols are typically used to define the logic to delineate packets and manipulate data as it written to and read from Interfaces. COSMOS includes Interfaces for TCP/IP Client, TCP/IP Server, Udp Client / Server, and Serial connections. For 99% of use cases these Interfaces should not require any changes as they universally handle the low-level details of reading and writing from these types of connections. All unique behavior should now be defined in Protocols.

At a minimum, any byte stream based Interface will require a Protocol to delineate packets. TCP/IP and Serial are examples of byte stream based Interfaces. A byte stream is just a simple stream of bytes and thus you need some way to know where packets begin and end within the stream.

TCP/IP is a friendly byte stream. Unless you are dealing with a very poorly written system, the first byte received on a TCP/IP connection will always be the start of a packet. Also, TCP/IP is a reliable connection in that it ensures that all data is received in the correct order, that no data is lost, and that the data is not corrupted (TCP/IP is protected by a CRC32 which is pretty good for avoiding unrecognized data corruption).

Serial is a much less friendly byte stream. With serial connections, it is very likely that when you open a serial port and start receiving data you will receive the middle of a message. (This problem is only avoided when interfacing with a system that only writes to the serial port in response to a command). For this reason, sync patterns are highly beneficial for serial interfaces. Additionally, serial interfaces may use some method to protect against unrecognized data corruption (Checksums, CRCs, etc.)

UDP is an inherently packet based connection. If you read from a UDP socket, you will always receive back an entire packet. The best UDP based Protocols take advantage of this fact. Some implementations try to make UDP act like a byte stream, but this is a misuse of the protocol because it is highly likely that you will lose data and have no way to recover.

-

Packet Delineation Protocols

+

For more information about how Protocols fit with Interfaces and Accessors see Interoperability Without Standards.

+

Packet Delineation Protocols

COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream.

-

Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning :STOP). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the Custom Protocols documentation.

-

COBS Protocol

-

The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing for more).

-

SLIP Protocol

-

The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See https://datatracker.ietf.org/doc/html/rfc1055 for more).

-
ParameterDescriptionRequiredDefault
Start CharCharacter to place at the start of framesNonil (no character)
Read Strip CharactersStrip off start_char and end_char from readsNotrue
Read Enable EscapingWhether to enable character escaping on readsNotrue
Write Enable EscapingWhether to enable character escaping on writesNotrue
End CharCharacter to place at the end of framesNo0xC0
Esc CharEscape characterNo0xDB
Escape End CharCharacter to escape End characterNo0xDC
Escape Esc CharCharacter to escape Esc characterNo0xDD
-

Burst Protocol

+

COSMOS Enterprise provides the following packet delineation protocols: CCSDS CLTU (with BCH Encoding), CCSDS TCTF (with Randomizer), CCSDS TMTF (with Randomizer), and GEMS.

+

Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning :STOP). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the Custom Protocols documentation.

+

Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific.

+

COBS Protocol

+

The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing for more).

+

SLIP Protocol

+

The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See https://datatracker.ietf.org/doc/html/rfc1055 for more).

+
ParameterDescriptionRequiredDefault
Start CharCharacter to place at the start of framesNonil (no character)
Read Strip CharactersStrip off start_char and end_char from readsNotrue
Read Enable EscapingWhether to enable character escaping on readsNotrue
Write Enable EscapingWhether to enable character escaping on writesNotrue
End CharCharacter to place at the end of framesNo0xC0
Esc CharEscape characterNo0xDB
Escape End CharCharacter to escape End characterNo0xDC
Escape Esc CharCharacter to escape Esc characterNo0xDD
+

Burst Protocol

The Burst Protocol simply reads as much data as it can from the interface before returning the data as a COSMOS Packet (It returns a packet for each burst of data read). This Protocol relies on regular bursts of data delimited by time and thus is not very robust. However, it can utilize a sync pattern which does allow it to re-sync if necessary. It can also discard bytes from the incoming data to remove the sync pattern. Finally, it can add sync patterns to data being written out of the Interface.

-
ParameterDescriptionRequiredDefault
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returnedNonil (no sync pattern)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
-

Fixed Protocol

+
ParameterDescriptionRequiredDefault
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returnedNonil (no sync pattern)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
+

Fixed Protocol

The Fixed Protocol reads a preset minimum amount of data which is necessary to properly identify all the defined packets using the interface. It then identifies the packet and proceeds to read as much data from the interface as necessary to create the packet which it then returns. This protocol relies on all the packets on the interface being fixed in length. For example, all the packets using the interface are a fixed size and contain a simple header with a 32-bit sync pattern followed by a 16 bit ID. The Fixed Protocol would elegantly handle this case with a minimum read size of 6 bytes. The Fixed Protocol also supports a sync pattern, discarding leading bytes, and filling the sync pattern similar to the Burst Protocol.

-
ParameterDescriptionRequiredDefault
Minimum ID SizeThe minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes.Yes
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
TelemetryWhether the data is telemetryNotrue (false means command)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
Unknown RaiseWhether to raise an exception for an unknown packetNofalse
-

Length Protocol

+
ParameterDescriptionRequiredDefault
Minimum ID SizeThe minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes.Yes
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
TelemetryWhether the data is telemetryNotrue (false means command)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
Unknown RaiseWhether to raise an exception for an unknown packetNofalse
+

Length Protocol

The Length Protocol depends on a length field at a fixed location in the defined packets using the interface. It then reads enough data to grab the length field, decodes it, and reads the remaining length of the packet. For example, all the packets using the interface contain a CCSDS header with a length field. The Length Protocol can be set up to handle the length field and even the length offset CCSDS uses. The Length Protocol also supports a sync pattern, discarding leading bytes, and filling the length and sync pattern similar to the Burst Protocol.

-
ParameterDescriptionRequiredDefault
Length Bit OffsetThe bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present).No0 bits
Length Bit SizeThe size in bits of the length fieldNo16 bits
Length Value OffsetThe offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present).No0
Bytes per CountThe number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words.No1 byte
Length EndiannessThe endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'.No'BIG_ENDIAN'
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
Max LengthThe maximum allowed value in the length fieldNonil (no maximum length)
Fill Length and Sync PatternSetting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets.Nofalse
+
ParameterDescriptionRequiredDefault
Length Bit OffsetThe bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present).No0 bits
Length Bit SizeThe size in bits of the length fieldNo16 bits
Length Value OffsetThe offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present).No0
Bytes per CountThe number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words.No1 byte
Length EndiannessThe endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'.No'BIG_ENDIAN'
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
Max LengthThe maximum allowed value in the length fieldNonil (no maximum length)
Fill Length and Sync PatternSetting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets.Nofalse

The most confusing aspect of the Length Protocol is calculating the Length Value Offset. This is especially true in the commonly used CCSDS Space Packet Protocol. The best way to illustrate this is with an example. Suppose you have CCSDS Space Packets prepended with a Sync Pattern of 0x1ACFFC1D. This would look like the following:

-
Sync (4 bytes)Header (4 bytes)Length (2 bytes)Data (4 bytes)
0x1ACFFC1D0x0001CADB0x00030xDEADBEEF
+
Sync (4 bytes)Header (4 bytes)Length (2 bytes)Data (4 bytes)
0x1ACFFC1D0x0001CADB0x00030xDEADBEEF

In this case the total length of the packet is 14 bytes: 4 + 4 + 2 + 4 = 14. With 4 bytes of data, the length field is 3 because in CCSDS the length field is calculated as (data length - 1). So how would we calculate the Length Value Offset? COSMOS reads all the bytes in the packet (including the Sync Pattern) so the total length is 14 bytes. The length field is 3 so the Length Value Offset (offset to apply to the length field value) should be 11 (3 + 11 = 14).

-

Terminated Protocol

+

Terminated Protocol

The Terminated Protocol delineates packets using termination characters found at the end of every packet. It continuously reads data until the termination characters are found at which point it returns the packet data. For example, all the packets using the interface are followed by 0xABCD. This data can either be a part of each packet that is kept or something which is known only by the Terminated Protocol and simply thrown away.

-
ParameterDescriptionRequiredDefault
Write Termination CharactersThe data to write after writing a command packet. Given as a hex string such as 0xABCD.Yes
Read Termination CharactersThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.Yes
Strip Read TerminationWhether to remove the read termination characters before returning the telemetry packetNotrue
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
-

Template Protocol

-

Deprecated

+
ParameterDescriptionRequiredDefault
Write Termination CharactersThe data to write after writing a command packet. Given as a hex string such as 0xABCD.Yes
Read Termination CharactersThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.Yes
Strip Read TerminationWhether to remove the read termination characters before returning the telemetry packetNotrue
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
+

GEMS Protocol (Enterprise)

+

The GEMS Protocol implements the Ground Equipment Monitoring Service protocol. It is added along with the TerminatedProtocol which delineates packets using '|END'. The GEMS Interface is currently only implemented in Ruby.

+

The GEMS protocol doesn't take any parameters but should be added to an interface after the TerminatedProtocol and CmdResponseProtocol.

+

plugin.txt Ruby Example:

+
INTERFACE GEMS_INT tcpip_client_interface.rb openc3-operator 8080 8080 10.0 nil nil
# TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false ... means:
# wtc rtc strip discard sync fill
# where wtc = write termination characters, end of the gems protocol: 0x7C454E44 == '|END'
# rtc = read termination characters, end of the gems protocol: 0x7C454E44 == '|END'
# strip = strip read termination (false)
# discard = 0 bytes
# sync pattern = beginning of the GEMS protocol: 0x7C47454D53 == '|GEMS'
# fill = whether to fill in the sync pattern (false as we specify fill in our cmd/tlm definitions)
PROTOCOL READ TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false
# CmdResponseProtocol 5.0 0.2 true means:
# 5 sec response timeout, 0.2 sec response polling,
# and true to raise exceptions when protocol errors occur
PROTOCOL READ_WRITE CmdResponseProtocol 5.0 0.2 true
PROTOCOL READ_WRITE GemsProtocol
+

For a full example, please see the openc3-cosmos-gems-interface in the COSMOS Enterprise Plugins.

+

CCSDS CLTU Protocol (Enterprise)

+

The CCSDS CLTU Protocol handles the CLTU (Communicates Link Transfer Unit) for Command Streams. It encodes outgoing messages with a BCH encoding and then applies a header and footer to the data.

+
ParameterDescriptionRequiredDefault
HeaderHeader before BCH encoded dataNo0xEB90
FooterFooter after BCH encoded dataNo0xC5C5C5C5C5C5C579
Fill ByteBCH encoding fill byteNo0x55
+

For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins.

+

CCSDS TCTF Protocol (Enterprise)

+

The CCSDS TCTF Protocol handles the Telecommand Transfer Frame for Command Streams.

+
ParameterDescriptionRequiredDefault
RandomizationWhether to encode and randomize the transfer frameNotrue
Error ControlWhether to use the Frame Error Control Field and apply a 16 bit CRCNofalse
BypassBypass bit where 0 is Type-A and 1 is Type-B (bypass frame acceptance checks)No1
SCIDSpacecraft Identifier (10 bits)No0
VCIDVirtual Channel Identifier (6 bits)No0
+

For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins.

+

CCSDS TMTF Protocol (Enterprise)

+

The CCSDS TMTF Protocol handles the Telemetry Transfer Frame for Telemetry Streams. It adds VCID, MC_FRM_CNT, VC_FRM_CNT to extra which will be included in the Decom data.

+
ParameterDescriptionRequiredDefault
SCIDSpacecraft Identifier (10 bits)Yes
Frame LengthNo2048
RandomizationWhether the transfer frame was encoded and randomizedNotrue
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.No0x1ACFFC1D
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNotrue
+

For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins.

+

Template Protocol (Deprecated)

This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead.

-

The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets "<EXAMPLE>". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage.

-
ParameterDescriptionRequiredDefault
Write Termination CharactersThe data to write after writing a command packet. Given as a hex string such as 0xABCD.Yes
Read Termination CharactersThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.Yes
Ignore LinesNumber of response lines to ignore (completely drop)No0 lines
Initial Read DelayAn initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts.Nonil (no initial read)
Response LinesThe number of lines that make up expected responsesNo1 line
Strip Read TerminationWhether to remove the read termination characters before returning the telemetry packetNotrue
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
Response TimeoutNumber of seconds to wait for a response before timing outNo5.0
Response Polling PeriodNumber of seconds to wait between polling for a responseNo0.02
Raise ExceptionsWhether to raise exceptions when errors occur like timeouts or unexpected responsesNofalse
-

Preidentified Protocol

-

The Preidentified Protocol delineates packets using a custom COSMOS header. This Protocol is created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation.

-
ParameterDescriptionRequiredDefault
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded.Nonil (no sync pattern)
Max LengthThe maximum allowed value in the length fieldNonil (no maximum length)
ModeThe Version of the preidentified protocol to support (2 or 4).3No4
-

Helper Protocols

+

The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets "<EXAMPLE>". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage.

+
ParameterDescriptionRequiredDefault
Write Termination CharactersThe data to write after writing a command packet. Given as a hex string such as 0xABCD.Yes
Read Termination CharactersThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.Yes
Ignore LinesNumber of response lines to ignore (completely drop)No0 lines
Initial Read DelayAn initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts.Nonil (no initial read)
Response LinesThe number of lines that make up expected responsesNo1 line
Strip Read TerminationWhether to remove the read termination characters before returning the telemetry packetNotrue
Discard Leading BytesThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.No0 (do not discard bytes)
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.Nonil (no sync pattern)
Fill FieldsWhether to fill in the sync pattern on outgoing packetsNofalse
Response TimeoutNumber of seconds to wait for a response before timing outNo5.0
Response Polling PeriodNumber of seconds to wait between polling for a responseNo0.02
Raise ExceptionsWhether to raise exceptions when errors occur like timeouts or unexpected responsesNofalse
+

Preidentified Protocol (Internal)

+

The Preidentified Protocol delineates packets using a custom COSMOS header. This internal Protocol was created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation.

+
ParameterDescriptionRequiredDefault
Sync PatternHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded.Nonil (no sync pattern)
Max LengthThe maximum allowed value in the length fieldNonil (no maximum length)
ModeThe Version of the preidentified protocol to support (2 or 4).3No4
+

Helper Protocols

COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. These protocols provide helper functionality to Interfaces.

-

CmdResponse Protocol

-

The CmdResponse Protocol waits for a response for any commands with a defined response packet (TODO: More documentation and examples).

-
ParameterDescriptionRequiredDefault
Response TimeoutNumber of seconds to wait before timing out when waiting for a responseNo5
Response Polling PeriodNumber of seconds to wait between polling for a responseNo0.02
Raise ExceptionsWhether to raise exceptions when errors occur in the protocol like unexpected responses or response timeoutsNofalse
-

CRC Protocol

+

CmdResponse Protocol

+

The CmdResponse Protocol waits for a response for any commands with a defined response packet.

+
ParameterDescriptionRequiredDefault
Response TimeoutNumber of seconds to wait before timing out when waiting for a responseNo5
Response Polling PeriodNumber of seconds to wait between polling for a responseNo0.02
Raise ExceptionsWhether to raise exceptions when errors occur in the protocol like unexpected responses or response timeoutsNofalse
+

Packet Definitions

+

The CmdResponseProtocol utilizes the RESPONSE keyword in the command definition to determine which telemetry packet should be expected when the given command is sent.

+
COMMAND SCPI_PS GET_STATUS BIG_ENDIAN "Gets status"
ACCESSOR TemplateAccessor
TEMPLATE ":MEAS:VOLT? (@1:2)"
RESPONSE SCPI_PS STATUS
+

The Response packet (STATUS) should be defined to contain the response data.

+
TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Status"
ACCESSOR TemplateAccessor
TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>"
APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Voltage Reading for Channel 1"
UNITS VOLTS V
FORMAT_STRING %0.3f
APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Voltage Reading for Channel 2"
UNITS VOLTS V
FORMAT_STRING %0.3f
+

For a full example, please see the openc3-cosmos-scpi-power-supply in the COSMOS Enterprise Plugins.

+

CRC Protocol

The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets.

-
ParameterDescriptionRequiredDefault
Write Item NameItem to fill with calculated CRC value for outgoing packets (nil = don't fill)Nonil
Strip CRCWhether to remove the CRC from incoming packetsNofalse
Bad StrategyHow to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interfaceNo"ERROR"
Bit OffsetBit offset of the CRC in the data. Can be negative to indicate distance from end of packetNo-32
Bit SizeBit size of the CRC - Must be 16, 32, or 64No32
EndiannessEndianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)No"BIG_ENDIAN"
PolyPolynomial to use when calculating the CRC expressed as an integerNonil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693)
SeedSeed value to start the calculationNonil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF)
XorWhether to XOR the CRC result with 0xFFFFNonil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)
ReflectWhether to bit reverse each byte of data before calculating the CRCNonil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)
-

Ignore Packet Protocol

+
ParameterDescriptionRequiredDefault
Write Item NameItem to fill with calculated CRC value for outgoing packets (nil = don't fill)Nonil
Strip CRCWhether to remove the CRC from incoming packetsNofalse
Bad StrategyHow to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interfaceNo"ERROR"
Bit OffsetBit offset of the CRC in the data. Can be negative to indicate distance from end of packetNo-32
Bit SizeBit size of the CRC - Must be 16, 32, or 64No32
EndiannessEndianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)No"BIG_ENDIAN"
PolyPolynomial to use when calculating the CRC expressed as an integerNonil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693)
SeedSeed value to start the calculationNonil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF)
XorWhether to XOR the CRC result with 0xFFFFNonil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)
ReflectWhether to bit reverse each byte of data before calculating the CRCNonil (use default value - 16-bit=false, 32-bit=true, 64-bit=true)
+

Ignore Packet Protocol

The Ignore Packet protocol drops specified command packets sent by COSMOS or drops incoming telemetry packets.

-
ParameterDescriptionRequiredDefault
Target NameTarget name of the packet to ignoreYesnil
Packet NamePacket name of the packet to ignoreYesnil
-

Custom Protocols

+
ParameterDescriptionRequiredDefault
Target NameTarget name of the packet to ignoreYesnil
Packet NamePacket name of the packet to ignoreYesnil
+

Custom Protocols

Creating a custom protocol is easy and should be the default solution for customizing COSMOS Interfaces (rather than creating a new Interface class). However, creating custom Interfaces is still useful for defaulting parameters to values that always are fixed for your target and for including the necessary Protocols. The base COSMOS Interfaces take a lot of parameters that can be confusing to your end users. Thus you may want to create a custom Interface just to hard coded these values and cut the available parameters down to something like the hostname and port to connect to.

-

All custom Protocols should derive from the Protocol class openc3/interfaces/protocols/protocol.rb (Ruby) and openc3/interfaces/protocols/protocol.py (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols.

-
Ruby Protocol APIs

Protocols should not require 'openc3/script' since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes.

-
Python Protocol APIs

Protocols should not from openc3.script import * since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes.

+

All custom Protocols should derive from the Protocol class openc3/interfaces/protocols/protocol.rb (Ruby) and openc3/interfaces/protocols/protocol.py (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols.

+
Ruby Protocol APIs

Protocols should not require 'openc3/script' since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes.

+
Python Protocol APIs

Protocols should not from openc3.script import * since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes.

To really understand how Protocols work, you first must understand the logic within the base Interface class read and write methods.

-

Let's first discuss the read method.

-
Ruby Symbols, Python Strings

In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means :STOP in Ruby and "STOP" in Python.

-

Interface Read Logic

-

On every call to read, an empty string "" is first passed down to each of the read Protocol's read_data() method before new raw data is attempted to be read using the Interface's read_interface() method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols read_data() methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's read_data() method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's read_data() method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's read_data() methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in read_data()), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface.

-

Interface Write Logic

-

The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.)

-

First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message.

-

Method discussions

-

initialize or init

+

Let's first discuss the read method.

+
Ruby Symbols, Python Strings

In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means :STOP in Ruby and "STOP" in Python.

+

Interface Read Logic

+

On every call to read, an empty string "" is first passed down to each of the read Protocol's read_data() method before new raw data is attempted to be read using the Interface's read_interface() method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols read_data() methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's read_data() method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's read_data() method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's read_data() methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in read_data()), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface.

+

Interface Write Logic

+

The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.)

+

First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message.

+

Method discussions

+

initialize or init

This is the constructor for your custom Protocol. It should always call super(allow_empty_data) to initialize the base Protocol class.

Base class Ruby implementation:

-
# @param allow_empty_data [true/false] Whether STOP should be returned on empty data
def initialize(allow_empty_data = false)
@interface = nil
@allow_empty_data = ConfigParser.handle_true_false(allow_empty_data)
reset()
end
+
# @param allow_empty_data [true/false] Whether STOP should be returned on empty data
def initialize(allow_empty_data = false)
@interface = nil
@allow_empty_data = ConfigParser.handle_true_false(allow_empty_data)
reset()
end

Base class Python implementation:

-
def __init__(self, allow_empty_data=None):
self.interface = None
self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data)
self.reset()
+
def __init__(self, allow_empty_data=None):
self.interface = None
self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data)
self.reset()

As you can see, every Protocol maintains state on at least two items. The interface variable holds the Interface class instance that the protocol is associated with. This is sometimes necessary to introspect details that only the Interface knows. allow_empty_data is a flag used by the read_data(data) method that is discussed later in this document.

-

reset

+

reset

The reset method is used to reset internal protocol state when the Interface is connected and/or disconnected. This method should be used for common resetting logic. Connect and Disconnect specific logic are handled in the next two methods.

Base class Ruby implementation:

-
def reset
end
+
def reset
end

Base class Python implementation:

-
def reset(self):
pass
-

As you can see, the base class reset implementation doesn't do anything.

-

connect_reset

+
def reset(self):
pass
+

As you can see, the base class reset implementation doesn't do anything.

+

connect_reset

The connect_reset method is used to reset internal Protocol state each time the Interface is connected.

Base class Ruby implementation:

-
def connect_reset
reset()
end
+
def connect_reset
reset()
end

Base class Python implementation:

-
def connect_reset(self):
self.reset()
+
def connect_reset(self):
self.reset()

The base class connect_reset implementation just calls the reset method to ensure common reset logic is run.

-

disconnect_reset

+

disconnect_reset

The disconnect_reset method is used to reset internal Protocol state each time the Interface is disconnected.

Base class Ruby implementation:

-
def disconnect_reset
reset()
end
+
def disconnect_reset
reset()
end

Base class Python implementation:

-
def disconnect_reset(self):
self.reset()
+
def disconnect_reset(self):
self.reset()

The base class disconnect_reset implementation just calls the reset method to ensure common reset logic is run.

-

read_data

+

read_data

The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected).

Base class Ruby implementation:

-
def read_data(data)
if (data.length <= 0)
if @allow_empty_data.nil?
if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data
return :STOP
end
elsif !@allow_empty_data # Don't @allow_empty_data means STOP
return :STOP
end
end
data
end
+
def read_data(data)
if (data.length <= 0)
if @allow_empty_data.nil?
if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data
return :STOP
end
elsif !@allow_empty_data # Don't @allow_empty_data means STOP
return :STOP
end
end
data
end

Base class Python implementation:

-
def read_data(self, data, extra=None):
if len(data) <= 0:
if self.allow_empty_data is None:
if self.interface and self.interface.read_protocols[-1] == self:
# Last read interface in chain with auto self.allow_empty_data
return ("STOP", extra)
elif self.allow_empty_data:
# Don't self.allow_empty_data means STOP
return ("STOP", extra)
return (data, extra)
+
def read_data(self, data, extra=None):
if len(data) <= 0:
if self.allow_empty_data is None:
if self.interface and self.interface.read_protocols[-1] == self:
# Last read interface in chain with auto self.allow_empty_data
return ("STOP", extra)
elif self.allow_empty_data:
# Don't self.allow_empty_data means STOP
return ("STOP", extra)
return (data, extra)

The base class implementation does nothing except return the data it was given. The only exception to this is when handling an empty string. If the allow_empty_data flag is false / False or if it is nil / None and the Protocol is the last in the chain, then the base implementation will return STOP to indicate that it is time to call the Interface read_interface() method to get more data. Blank strings are used to signal Protocols that they have an opportunity to return a cached packet.

-

read_packet

+

read_packet

The read_packet method is used to analyze and potentially modify a COSMOS packet before it is returned by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be returned, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). This method is where a Protocol would set the stored flag on a packet if it determines that the packet is stored telemetry instead of real-time telemetry.

Base class Ruby implementation:

-
def read_packet(packet)
return packet
end
+
def read_packet(packet)
return packet
end

Base class Python implementation:

-
def read_packet(self, packet):
return packet
+
def read_packet(self, packet):
return packet

The base class always just returns the packet given.

-

write_packet

+

write_packet

The write_packet method is used to analyze and potentially modify a COSMOS packet before it is output by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected).

Base class Ruby implementation:

-
def write_packet(packet)
return packet
end
+
def write_packet(packet)
return packet
end

Base class Python implementation:

-
def write_packet(self, packet):
return packet
+
def write_packet(self, packet):
return packet

The base class always just returns the packet given.

-

write_data

+

write_data

The write_data method is used to analyze and potentially modify data before it is written out by the Interface. It takes one parameter as the current state of the data to be analyzed and sent. It can return either a string of data, STOP, or DISCONNECT. If it returns a string of data, then it believes that the data is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the data should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected).

Base class Ruby implementation:

-
def write_data(data)
return data
end
+
def write_data(data)
return data
end

Base class Python implementation:

-
def write_data(self, data, extra=None):
return (data, extra)
+
def write_data(self, data, extra=None):
return (data, extra)

The base class always just returns the data given.

-

post_write_interface

-

The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by write_packet() and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols post_write_interface() methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return.

+

post_write_interface

+

The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by write_packet() and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols post_write_interface() methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return.

Base class Ruby implementation:

-
def post_write_interface(packet, data)
return packet, data
end
+
def post_write_interface(packet, data)
return packet, data
end

Base class Python implementation:

-
def post_write_interface(self, packet, data, extra=None):
return (packet, data, extra)
+
def post_write_interface(self, packet, data, extra=None):
return (packet, data, extra)

The base class always just returns the packet/data given.

-

protocol_cmd

-

The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See interface_protocol_cmd for more information.

+

protocol_cmd

+

The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See interface_protocol_cmd for more information.

Base class Ruby implementation:

-
def protocol_cmd(cmd_name, *cmd_args)
# Default do nothing - Implemented by subclasses
return false
end
+
def protocol_cmd(cmd_name, *cmd_args)
# Default do nothing - Implemented by subclasses
return false
end

Base class Python implementation:

-
def protocol_cmd(self, cmd_name, *cmd_args):
# Default do nothing - Implemented by subclasses
return False
+
def protocol_cmd(self, cmd_name, *cmd_args):
# Default do nothing - Implemented by subclasses
return False

The base class does nothing as this is special functionality implemented by subclasses.

-

Examples

-

Please see the linked Ruby Protocol and Python Protocol code for examples of the above methods in action.

- - \ No newline at end of file +

Examples

+

Please see the linked Ruby Protocol and Python Protocol code for examples of the above methods in action.

\ No newline at end of file diff --git a/docs/docs/configuration/ssl-tls.html b/docs/docs/configuration/ssl-tls.html index 98eddedb75..f8d6213498 100644 --- a/docs/docs/configuration/ssl-tls.html +++ b/docs/docs/configuration/ssl-tls.html @@ -1,21 +1,11 @@ - - - - - -SSL-TLS | OpenC3 Docs - - - - -

SSL-TLS

COSMOS 5 is a container based service which does not use SSL/TLS out of the box. This guide will help you configure SSL and TLS. Learn more at the Traefik docs.

-

Generate the certificate

+SSL-TLS | OpenC3 Docs

SSL-TLS

COSMOS 5 is a container based service which does not use SSL/TLS out of the box. This guide will help you configure SSL and TLS. Learn more at the Traefik docs.

+

Generate the certificate

Note: Self-signed certificates are considered insecure for the Internet. Firefox will treat the site as having an invalid certificate, while Chrome will act as if the connection was plain HTTP.

To create a new Self-Signed SSL Certificate, use the openssl req command (run on linux from the cosmos-project root):

-
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out ./openc3-traefik/cert.crt \
-keyout ./openc3-traefik/cert.key

Country Name (2 letter code) [XX]:.
State or Province Name (full name) []:.
Locality Name (eg, city) [Default City]:.
Organization Name (eg, company) [Default Company Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server hostname) []: <!-- UPDATE WITH YOUR HOSTNAME HERE -->
Email Address []:
-

Let's breakdown the command and understand what each option means:

+
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out ./openc3-traefik/cert.crt \
-keyout ./openc3-traefik/cert.key

Country Name (2 letter code) [XX]:.
State or Province Name (full name) []:.
Locality Name (eg, city) [Default City]:.
Organization Name (eg, company) [Default Company Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server hostname) []: <!-- UPDATE WITH YOUR HOSTNAME HERE -->
Email Address []:
+

Let's breakdown the command and understand what each option means:

  • newkey rsa:4096 - Creates a new certificate request and 4096 bit RSA key. The default one is 2048 bits.
  • x509 - Creates a X.509 Certificate.
  • @@ -25,39 +15,39 @@

    Gen
  • out ./openc3-traefik/cert.crt - Specifies the filename to write the newly created certificate to. You can specify any file name.
  • keyout ./openc3-traefik/cert.key - Specifies the filename to write the newly created private key to. You can specify any file name.
-

For more information about the openssl req command options, visit the OpenSSL req documentation page.

-

Updating the openc3-traefik Dockerfile

+

For more information about the openssl req command options, visit the OpenSSL req documentation page.

+

Updating the openc3-traefik Dockerfile

Add the new cert to the traefik Docker container.

-
--- a/openc3-traefik/Dockerfile
+++ b/openc3-traefik/Dockerfile
@@ -1,3 +1,4 @@
FROM traefik:2.4
COPY ./traefik.yaml /etc/traefik/traefik.yaml
+COPY ./cert.crt ./cert.key /etc/certs/
EXPOSE 80
-

Updating the Traefik config

+
--- a/openc3-traefik/Dockerfile
+++ b/openc3-traefik/Dockerfile
@@ -1,3 +1,4 @@
FROM traefik:2.4
COPY ./traefik.yaml /etc/traefik/traefik.yaml
+COPY ./cert.crt ./cert.key /etc/certs/
EXPOSE 80
+

Updating the Traefik config

Configure Traefik to use the new cert file.

openc3-traefik/traefik.yaml

-
--- a/openc3-traefik/traefik.yaml
+++ b/openc3-traefik/traefik.yaml
@@ -3,6 +3,17 @@
+tls:
+ certificates:
+ - certFile: "/etc/certs/cert.crt"
+ keyFile: "/etc/certs/cert.key"
# Listen for everything coming in on the standard HTTP port
entrypoints:
web:
address: ":2900"
+ http:
+ redirections:
+ entryPoint:
+ to: websecure
+ scheme: https
+ websecure:
+ address: ":2943"
+ http:
+ tls:
+ domains:
+ - main: "<!-- UPDATE WITH YOUR HOSTNAME HERE -->"
-

Update docker-compose.yaml

+
--- a/openc3-traefik/traefik.yaml
+++ b/openc3-traefik/traefik.yaml
@@ -3,6 +3,17 @@
+tls:
+ certificates:
+ - certFile: "/etc/certs/cert.crt"
+ keyFile: "/etc/certs/cert.key"
# Listen for everything coming in on the standard HTTP port
entrypoints:
web:
address: ":2900"
+ http:
+ redirections:
+ entryPoint:
+ to: websecure
+ scheme: https
+ websecure:
+ address: ":2943"
+ http:
+ tls:
+ domains:
+ - main: "<!-- UPDATE WITH YOUR HOSTNAME HERE -->"
+

Update docker-compose.yaml

Update traefik to use secure port 443 instead of port 80.

-
--- a/compose.yaml
+++ b/compose.yaml
services:
openc3-minio:
@@ -70,7 +70,7 @@ services:
openc3-traefik:
image: "ballaerospace/openc3-traefik:${OPENC3_TAG}"
ports:
- - "80:2900"
+ - "443:2943"
restart: "unless-stopped"
depends_on:
+
--- a/compose.yaml
+++ b/compose.yaml
services:
openc3-minio:
@@ -70,7 +70,7 @@ services:
openc3-traefik:
image: "ballaerospace/openc3-traefik:${OPENC3_TAG}"
ports:
- - "80:2900"
+ - "443:2943"
restart: "unless-stopped"
depends_on:

Now you can run ./openc3.sh start to rebuild the Traefik container and it should include your new cert file.

-

Let's Encrypt

-

KEY

-

privkey.pem is the "key" file

+

Let's Encrypt

+

KEY

+

privkey.pem is the "key" file

Sometimes it is named as cert.key or example.com.key.

-

CRT

-

fullchain.pem is your "crt" file.

+

CRT

+

fullchain.pem is your "crt" file.

Sometimes it is named as example.com.crt.

-

CRT/KEY Bundle

-

bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem

+

CRT/KEY Bundle

+

bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem

HAProxy is the only server that I know of that uses bundle.pem.

-

cert.pem

+

cert.pem

cert.pem contains ONLY your certificate, which can only be used by itself if the browser already has the certificate which signed it, which may work in testing (which makes it seem like it may be the right file), but will actually fail for many of your users in production with a security error of untrusted certificate.

-

However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem.

-

chain.pem

+

However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem.

+

chain.pem

chain.pem is the intermediary signed authority, signed by the root authority - which is what all browsers are guaranteed to have in their pre-built cache.

-

Checking certs

+

Checking certs

You can inspect the cert like so:

-
openssl x509 -in cert.pem -text -noout
-

Extracting the certificate and keys from a .pfx file

+
openssl x509 -in cert.pem -text -noout
+

Extracting the certificate and keys from a .pfx file

The .pfx file, which is in a PKCS#12 format, contains the SSL certificate (public keys) and the corresponding private keys. You might have to import the certificate and private keys separately in an unencrypted plain text format to use it on another system. This topic provides instructions on how to convert the .pfx file to .crt and .key files.

-

Extract .crt and .key files from .pfx file

+

Extract .crt and .key files from .pfx file

PREREQUISITE: Ensure OpenSSL is installed in the server that contains the SSL certificate.

@@ -72,26 +62,24 @@

openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key]

+
openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key]

You will be prompted to type the import password. Type the password that you used to protect your keypair when you created the .pfx file. You will be prompted again to provide a new password to protect the .key file that you are creating. Store the password to your key file in a secure place to avoid misuse.

  1. Run the following command to extract the certificate:
-
openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt]
+
openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt]
  1. Run the following command to decrypt the private key:
-
openssl rsa -in [drlive.key] -out [drlive-decrypted.key]
+
openssl rsa -in [drlive.key] -out [drlive-decrypted.key]

Type the password that you created to protect the private key file in the previous step. The .crt file and the decrypted and encrypted .key files are available in the path, where you started OpenSSL.

-

Convert .pfx file to .pem format

+

Convert .pfx file to .pem format

There might be instances where you might have to convert the .pfx file into .pem format. Run the following command to convert it into PEM format.

-
openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key]
-

TLS1.2 INADEQUATE_SECURITY Errors

+
openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key]
+

TLS1.2 INADEQUATE_SECURITY Errors

-
tls:
options:
default:
cipherSuites:
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
- - \ No newline at end of file +
tls:
options:
default:
cipherSuites:
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
\ No newline at end of file diff --git a/docs/docs/configuration/table.html b/docs/docs/configuration/table.html index 00a855f2f7..9b5bcc8739 100644 --- a/docs/docs/configuration/table.html +++ b/docs/docs/configuration/table.html @@ -1,172 +1,160 @@ - - - - - -Tables | OpenC3 Docs - - - - -

Tables

Table Definition Files

-

Table definition files define the binary tables that can be displayed in COSMOS Table Manager -. Table definitions are defined in the target's tables/config directory and are typically named after the table such as PPSSelectionTable_def.txt. The _def.txt extension helps to identify the file as a table definition. Table definitions can be combined using the TABLEFILE keyword. This allows you to build individual table components into a larger binary.

-

The Table definition files share a lot of similarity with the Command Configuration. You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data.

-
+Tables | OpenC3 Docs

Tables

Table Definition Files

+

Table definition files define the binary tables that can be displayed in COSMOS Table Manager +. Table definitions are defined in the target's tables/config directory and are typically named after the table such as PPSSelectionTable_def.txt. The _def.txt extension helps to identify the file as a table definition. Table definitions can be combined using the TABLEFILE keyword. This allows you to build individual table components into a larger binary.

+

The Table definition files share a lot of similarity with the Command Configuration. You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data.

+

Table Keywords

-

TABLEFILE

+

TABLEFILE

Specify another file to open and process for table definitions

-
ParameterDescriptionRequired
File NameName of the file. The file will be looked for in the directory of the current definition file.True
-

TABLE

+
ParameterDescriptionRequired
File NameName of the file. The file will be looked for in the directory of the current definition file.True
+

TABLE

Start a new table definition

-
ParameterDescriptionRequired
NameName of the table in quotes. The name will appear on the GUI tab.True
EndiannessIndicates if the data in this table is in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DisplayIndicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values.

Valid Values: KEY_VALUE, ROW_COLUMN
False
+
ParameterDescriptionRequired
NameName of the table in quotes. The name will appear on the GUI tab.True
EndiannessIndicates if the data in this table is in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DisplayIndicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values.

Valid Values: KEY_VALUE, ROW_COLUMN
False

When Display is KEY_VALUE the remaining parameters are:

-
ParameterDescriptionRequired
DescriptionDescription of the table in quotes. The description is used in mouseover popups and status line information.False
+
ParameterDescriptionRequired
DescriptionDescription of the table in quotes. The description is used in mouseover popups and status line information.False

When Display is ROW_COLUMN the remaining parameters are:

-
ParameterDescriptionRequired
RowsThe number of rows in the tableFalse
DescriptionDescription of the table in quotes. The description is used in mouseover popups and status line information.False
-

TABLE Modifiers

+
ParameterDescriptionRequired
RowsThe number of rows in the tableFalse
DescriptionDescription of the table in quotes. The description is used in mouseover popups and status line information.False
+

TABLE Modifiers

The following keywords must follow a TABLE keyword.

-

PARAMETER

+

PARAMETER

Defines a parameter in the current table

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the table.True
Bit OffsetBit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the table.True
Bit OffsetBit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True

When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:

-
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

When Data Type is STRING, BLOCK the remaining parameters are:

-
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
-

PARAMETER Modifiers

+
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+

PARAMETER Modifiers

The following keywords must follow a PARAMETER keyword.

-

FORMAT_STRING

+

FORMAT_STRING

Adds printf style formatting

-
ParameterDescriptionRequired
FormatHow to format using printf syntax. For example, '0x%0X' will display the value in hex.True
+
ParameterDescriptionRequired
FormatHow to format using printf syntax. For example, '0x%0X' will display the value in hex.True

Example Usage:

-
FORMAT_STRING "0x%0X"
-

UNITS

+
FORMAT_STRING "0x%0X"
+

UNITS

Add displayed units

-
ParameterDescriptionRequired
Full NameFull name of the units type, e.g. CelsiusTrue
AbbreviatedAbbreviation for the units, e.g. CTrue
+
ParameterDescriptionRequired
Full NameFull name of the units type, e.g. CelsiusTrue
AbbreviatedAbbreviation for the units, e.g. CTrue

Example Usage:

-
UNITS Celsius C
UNITS Kilometers KM
-

DESCRIPTION

+
UNITS Celsius C
UNITS Kilometers KM
+

DESCRIPTION

Override the defined description

-
ParameterDescriptionRequired
ValueThe new descriptionTrue
-

META

+
ParameterDescriptionRequired
ValueThe new descriptionTrue
+

META

Stores custom user metadata

Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files.

-
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse
+
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse

Example Usage:

-
META TEST "This parameter is for test purposes only"
-

OVERLAP

-

(Since 4.4.1)
This item is allowed to overlap other items in the packet

-

If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message.

-

KEY

-

(Since 5.0.10)
Defines the key used to access this raw value in the packet.

-

Keys are often JsonPath or XPath strings

-
ParameterDescriptionRequired
Key stringThe key to access this itemTrue
+
META TEST "This parameter is for test purposes only"
+

OVERLAP

+

(Since 4.4.1)
This item is allowed to overlap other items in the packet

+

If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message.

+

KEY

+

(Since 5.0.10)
Defines the key used to access this raw value in the packet.

+

Keys are often JSONPath or XPath strings

+
ParameterDescriptionRequired
Key stringThe key to access this itemTrue

Example Usage:

-
KEY $.book.title
-

VARIABLE_BIT_SIZE

-

(Since 5.18.0)
Marks an item as having its bit size defined by another length item

-
ParameterDescriptionRequired
Length Item NameThe name of the associated length itemTrue
Length Bits Per CountBits per count of the length item. Defaults to 8False
Length Value Bit OffsetOffset in Bits to Apply to Length Field Value. Defaults to 0False
-

REQUIRED

+
KEY $.book.title
+

VARIABLE_BIT_SIZE

+

(Since 5.18.0)
Marks an item as having its bit size defined by another length item

+
ParameterDescriptionRequired
Length Item NameThe name of the associated length itemTrue
Length Bits Per CountBits per count of the length item. Defaults to 8False
Length Value Bit OffsetOffset in Bits to Apply to Length Field Value. Defaults to 0False
+

REQUIRED

Parameter is required to be populated in scripts

When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition.

-

MINIMUM_VALUE

+

MINIMUM_VALUE

Override the defined minimum value

-
ParameterDescriptionRequired
ValueThe new minimum value for the parameterTrue
-

MAXIMUM_VALUE

+
ParameterDescriptionRequired
ValueThe new minimum value for the parameterTrue
+

MAXIMUM_VALUE

Override the defined maximum value

-
ParameterDescriptionRequired
ValueThe new maximum value for the parameterTrue
-

DEFAULT_VALUE

+
ParameterDescriptionRequired
ValueThe new maximum value for the parameterTrue
+

DEFAULT_VALUE

Override the defined default value

-
ParameterDescriptionRequired
ValueThe new default value for the parameterTrue
-

STATE

+
ParameterDescriptionRequired
ValueThe new default value for the parameterTrue
+

STATE

Defines a key/value pair for the current command parameter

Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error.

-
ParameterDescriptionRequired
KeyThe string state nameTrue
ValueThe numerical state valueTrue
Hazardous / Disable MessagesIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.

Valid Values: HAZARDOUS
False
Hazardous DescriptionString describing why this state is hazardousFalse
+
ParameterDescriptionRequired
KeyThe string state nameTrue
ValueThe numerical state valueTrue
Hazardous / Disable MessagesIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state.

Valid Values: HAZARDOUS
False
Hazardous DescriptionString describing why this state is hazardousFalse

Example Usage:

-
APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"
STATE FALSE 0
STATE TRUE 1
APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"
STATE "NOOP" "NOOP" DISABLE_MESSAGES
STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"
STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"
-

WRITE_CONVERSION

+
APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting"
STATE FALSE 0
STATE TRUE 1
APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter"
STATE "NOOP" "NOOP" DISABLE_MESSAGES
STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard"
STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!"
+

WRITE_CONVERSION

Applies a conversion when writing the current command parameter

Conversions are implemented in a custom Ruby or Python file which should be -located in the target's lib folder. The class must inherit from Conversion. +located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent.

-
Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) +

Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided -values to the command. That can be used to check parameter values passed in.

-
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.True
ParameterAdditional parameter values for the conversion which are passed to the class constructor.False
+values to the command. That can be used to check parameter values passed in.
+
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.True
ParameterAdditional parameter values for the conversion which are passed to the class constructor.False

Ruby Example:

-
WRITE_CONVERSION the_great_conversion.rb 1000

Defined in the_great_conversion.rb:

require 'openc3/conversions/conversion'
module OpenC3
class TheGreatConversion < Conversion
def initialize(multiplier)
super()
@multiplier = multiplier.to_f
end
def call(value, packet, buffer)
return value * multiplier
end
end
end
+
WRITE_CONVERSION the_great_conversion.rb 1000

Defined in the_great_conversion.rb:

require 'openc3/conversions/conversion'
module OpenC3
class TheGreatConversion < Conversion
def initialize(multiplier)
super()
@multiplier = multiplier.to_f
end
def call(value, packet, buffer)
return value * multiplier
end
end
end

Python Example:

-
WRITE_CONVERSION the_great_conversion.py 1000

Defined in the_great_conversion.py:

from openc3.conversions.conversion import Conversion
class TheGreatConversion(Conversion):
def __init__(self, multiplier):
super().__init__()
self.multiplier = float(multiplier)
def call(self, value, packet, buffer):
return value * multiplier
-

POLY_WRITE_CONVERSION

+
WRITE_CONVERSION the_great_conversion.py 1000

Defined in the_great_conversion.py:

from openc3.conversions.conversion import Conversion
class TheGreatConversion(Conversion):
def __init__(self, multiplier):
super().__init__()
self.multiplier = float(multiplier)
def call(self, value, packet, buffer):
return value * self.multiplier
+

POLY_WRITE_CONVERSION

Adds a polynomial conversion factor to the current command parameter

The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent.

-
ParameterDescriptionRequired
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False
+
ParameterDescriptionRequired
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False

Example Usage:

-
POLY_WRITE_CONVERSION 10 0.5 0.25
-

SEG_POLY_WRITE_CONVERSION

+
POLY_WRITE_CONVERSION 10 0.5 0.25
+

SEG_POLY_WRITE_CONVERSION

Adds a segmented polynomial conversion factor to the current command parameter

This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent.

-
ParameterDescriptionRequired
Lower BoundDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.True
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False
+
ParameterDescriptionRequired
Lower BoundDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.True
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False

Example Usage:

-
SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
-

GENERIC_WRITE_CONVERSION_START

+
SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
+

GENERIC_WRITE_CONVERSION_START

Start a generic write conversion

Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified -as Ruby or Python code that receives two implied parameters. 'value' which is the raw -value being written and 'packet' which is a reference to the command packet -class (Note, referencing the packet as 'myself' is still supported for backwards +as Ruby or Python code that receives two implied parameters. 'value' which is the raw +value being written and 'packet' which is a reference to the command packet +class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given.

-
Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) +

Multiple write conversions on command parameters

When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided -values to the command. That can be used to check parameter values passed in.

-
warning

Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance.

+values to the command. That can be used to check parameter values passed in.
+
warning

Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance.

Ruby Example:

-
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return (value * 1.5).to_i # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END
+
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return (value * 1.5).to_i # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END

Python Example:

-
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return int(value * 1.5) # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END
-

GENERIC_WRITE_CONVERSION_END

+
APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0
GENERIC_WRITE_CONVERSION_START
return int(value * 1.5) # Convert the value by a scale factor
GENERIC_WRITE_CONVERSION_END
+

GENERIC_WRITE_CONVERSION_END

Complete a generic write conversion

-

OVERFLOW

+

OVERFLOW

Set the behavior when writing a value overflows the type

-

By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value.

-
ParameterDescriptionRequired
BehaviorHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.

Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE
True
+

By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value.

+
ParameterDescriptionRequired
BehaviorHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types.

Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE
True

Example Usage:

-
OVERFLOW TRUNCATE
-

HIDDEN

+
OVERFLOW TRUNCATE
+

HIDDEN

Indicates that the parameter should not be shown to the user in the Table Manager GUI

Hidden parameters still exist and will be saved to the resulting binary. This is useful for padding and other essential but non-user editable fields.

-

UNEDITABLE

+

UNEDITABLE

Indicates that the parameter should be shown to the user but not editable.

Uneditable parameters are useful for control fields which the user may be interested in but should not be able to edit.

-

APPEND_PARAMETER

+

APPEND_PARAMETER

Defines a parameter in the current table

-
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the table.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True
+
ParameterDescriptionRequired
NameName of the parameter. Must be unique within the table.True
Bit SizeBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this parameter

Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK
True

When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are:

-
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
Minimum ValueMinimum allowed value for this parameterTrue
Maximum ValueMaximum allowed value for this parameterTrue
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

When Data Type is STRING, BLOCK the remaining parameters are:

-
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
-

SELECT_TABLE

+
ParameterDescriptionRequired
Default ValueDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.True
DescriptionDescription for this parameter which must be enclosed with quotesFalse
EndiannessIndicates if the data in this command is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+

SELECT_TABLE

Select an existing table for editing, typically done to override an existing definition

-
ParameterDescriptionRequired
TableThe name of the existing tableTrue
-

DEFAULT

+
ParameterDescriptionRequired
TableThe name of the existing tableTrue
+

DEFAULT

Specify default values for a SINGLE row in a multi-column table

If you have multiple rows you need a DEFAULT line for each row. If all your rows are identical consider using ERB as shown in the OpenC3 demo.

-
ParameterDescriptionRequired
Default valuesA STATE value or data value corresponding to the data typeFalse
-

Example File

+
ParameterDescriptionRequired
Default valuesA STATE value or data value corresponding to the data typeFalse
+

Example File

Example File: TARGET/tables/config/MCConfigurationTable_def.txt

-
TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table"
APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets"
APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1
STATE DISABLE 0
STATE ENABLE 1
APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3
APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field"
FORMAT_STRING "0x%0X"
UNEDITABLE
APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field"
STATE DISABLE 0
STATE ENABLE 1
UNEDITABLE
APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field"
STATE UNCHECKED 0
STATE CHECKED 1
UNEDITABLE
APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string"
APPEND_PARAMETER "Pad" 16 UINT 0 0 0
HIDDEN
- - \ No newline at end of file +
TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table"
APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF
FORMAT_STRING "0x%0X"
APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets"
APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1
STATE DISABLE 0
STATE ENABLE 1
APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3
APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field"
FORMAT_STRING "0x%0X"
UNEDITABLE
APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field"
STATE DISABLE 0
STATE ENABLE 1
UNEDITABLE
APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field"
STATE UNCHECKED 0
STATE CHECKED 1
UNEDITABLE
APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string"
APPEND_PARAMETER "Pad" 16 UINT 0 0 0
HIDDEN
\ No newline at end of file diff --git a/docs/docs/configuration/target.html b/docs/docs/configuration/target.html index bd91c54b8a..ea5d7dd08b 100644 --- a/docs/docs/configuration/target.html +++ b/docs/docs/configuration/target.html @@ -1,60 +1,48 @@ - - - - - -Targets | OpenC3 Docs - - - - -

Targets are the external embedded systems that COSMOS connects to. Targets are defined by the top level TARGET keyword in the plugin.txt file. Each target is self contained in a target directory named after the target. In the root of the target directory there is a configuration file named target.txt which configures the individual target.

+Targets | OpenC3 Docs

Targets are the external embedded systems that COSMOS connects to. Targets are defined by the top level TARGET keyword in the plugin.txt file. Each target is self contained in a target directory named after the target. In the root of the target directory there is a configuration file named target.txt which configures the individual target.

target.txt Keywords

-

LANGUAGE

-

(Since 5.11.1)
Programming language of the target interfaces and microservices

-

The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating.

-
ParameterDescriptionRequired
Ruby or Python

Valid Values: ruby, python
True
+

LANGUAGE

+

(Since 5.11.1)
Programming language of the target interfaces and microservices

+

The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating.

+
ParameterDescriptionRequired
Ruby or Python

Valid Values: ruby, python
True

Example Usage:

-
LANGUAGE python
-

REQUIRE

+
LANGUAGE python
+

REQUIRE

Requires a Ruby file

List the Ruby files required to explicitly declare dependencies. This is now completely optional.

-
ParameterDescriptionRequired
FilenameFilename to require. For files in the target's lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.True
+
ParameterDescriptionRequired
FilenameFilename to require. For files in the target's lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.True

Example Usage:

-
REQUIRE limits_response.rb
-

IGNORE_PARAMETER

+
REQUIRE limits_response.rb
+

IGNORE_PARAMETER

Ignore the given command parameter

Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter.

-
ParameterDescriptionRequired
Parameter NameThe name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in.True
+
ParameterDescriptionRequired
Parameter NameThe name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in.True

Example Usage:

-
IGNORE_PARAMETER CCSDS_VERSION
-

IGNORE_ITEM

+
IGNORE_PARAMETER CCSDS_VERSION
+

IGNORE_ITEM

Ignore the given telemetry item

Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet.

-
ParameterDescriptionRequired
Item nameThe name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in.True
+
ParameterDescriptionRequired
Item nameThe name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in.True

Example Usage:

-
IGNORE_ITEM CCSDS_VERSION
-

COMMANDS

+
IGNORE_ITEM CCSDS_VERSION
+

COMMANDS

Process the given command definition file

This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process.

-
warning

Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process.

-
ParameterDescriptionRequired
FilenameName of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".True
+
warning

Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process.

+
ParameterDescriptionRequired
FilenameName of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".True

Example Usage:

-
COMMANDS inst_cmds_v2.txt
TELEMETRY inst_tlm_v2.txt
-

TELEMETRY

+
COMMANDS inst_cmds_v2.txt
TELEMETRY inst_tlm_v2.txt
+

TELEMETRY

Process the given telemetry definition file

This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process.

-
warning

Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process.

-
ParameterDescriptionRequired
FilenameName of a telemetry definition file in the target's cmd_tlm directory, e.g. "tlm.txt".True
+
warning

Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process.

+
ParameterDescriptionRequired
FilenameName of a telemetry definition file in the target's cmd_tlm directory, e.g. "tlm.txt".True

Example Usage:

-
COMMANDS inst_cmds_v2.txt
TELEMETRY inst_tlm_v2.txt
-

CMD_UNIQUE_ID_MODE

-

(Since 4.4.0)
Command packet identifiers don't all share the same bit offset, size, and type

+
COMMANDS inst_cmds_v2.txt
TELEMETRY inst_tlm_v2.txt
+

CMD_UNIQUE_ID_MODE

+

(Since 4.4.0)
Command packet identifiers don't all share the same bit offset, size, and type

Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method.

-
warning

Using this mode significantly slows packet identification

-

TLM_UNIQUE_ID_MODE

-

(Since 4.4.0)
Telemetry packets identifiers don't all share the same bit offset, size, and type

+
warning

Using this mode significantly slows packet identification

+

TLM_UNIQUE_ID_MODE

+

(Since 4.4.0)
Telemetry packets identifiers don't all share the same bit offset, size, and type

Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method.

-
warning

Using this mode significantly slows packet identification

- - \ No newline at end of file +
warning

Using this mode significantly slows packet identification

\ No newline at end of file diff --git a/docs/docs/configuration/telemetry-screens.html b/docs/docs/configuration/telemetry-screens.html index 21f5f1d8cc..1a5d3e839e 100644 --- a/docs/docs/configuration/telemetry-screens.html +++ b/docs/docs/configuration/telemetry-screens.html @@ -1,48 +1,38 @@ - - - - - -Screens | OpenC3 Docs - - - - -

Screens

This document provides the information necessary to generate and use COSMOS Telemetry Screens, which are displayed by the COSMOS Telemetry Viewer application.

-
-

Definitions

-
NameDefinition
WidgetA widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task.
ScreenA screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion.
Screen Definition FileA screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them.
-

Telemetry Screen Definition Files

-

Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase.

-

New Widgets

-

When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the Custom Widgets guide.

+Screens | OpenC3 Docs

Screens

This document provides the information necessary to generate and use COSMOS Telemetry Screens, which are displayed by the COSMOS Telemetry Viewer application.

+
+

Definitions

+
NameDefinition
WidgetA widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task.
ScreenA screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion.
Screen Definition FileA screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them.
+

Telemetry Screen Definition Files

+

Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase.

+

New Widgets

+

When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the Custom Widgets guide.

Screen Keywords

-

SCREEN

+

SCREEN

Define a telemetry viewer screen

The SCREEN keyword is the first keyword in any telemetry screen definition. It defines the name of the screen and parameters that affect the screen overall.

-
ParameterDescriptionRequired
WidthWidth in pixels or AUTO to let Telemetry Viewer automatically layout the screenTrue
HeightHeight in pixels or AUTO to let Telemetry Viewer automatically layout the screenTrue
Polling PeriodNumber of seconds between screen updatesTrue
+
ParameterDescriptionRequired
WidthWidth in pixels or AUTO to let Telemetry Viewer automatically layout the screenTrue
HeightHeight in pixels or AUTO to let Telemetry Viewer automatically layout the screenTrue
Polling PeriodNumber of seconds between screen updatesTrue

Example Usage:

-
SCREEN AUTO AUTO 1.0 FIXED
-

END

+
SCREEN AUTO AUTO 1.0 FIXED
+

END

Indicates the close of a layout widget

All layout widgets must be closed to properly identify where they stop. For example, a VERTICALBOX keyword must be matched with an END keyword to indicate where the VERTICALBOX ends.

-

STALE_TIME

-

(Since 5.1.0)
Values are marked stale if the packet time is more than Stale Time seconds in the past

-
ParameterDescriptionRequired
valueItems from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.True
+

STALE_TIME

+

(Since 5.1.0)
Values are marked stale if the packet time is more than Stale Time seconds in the past

+
ParameterDescriptionRequired
valueItems from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.True

Example Usage:

-
STALE_TIME 5 # Number of seconds to wait before marking data stale
-

GLOBAL_SETTING

+
STALE_TIME 5 # Number of seconds to wait before marking data stale
+

GLOBAL_SETTING

Applies a widget setting to all widgets of a certain type

-
ParameterDescriptionRequired
Widget Class NameThe name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON.True
Setting NameSee SETTING for details.True
Setting Value(s)See SETTING for details.False
+
ParameterDescriptionRequired
Widget Class NameThe name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON.True
Setting NameSee SETTING for details.True
Setting Value(s)See SETTING for details.False

Example Usage:

-
GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK
-

GLOBAL_SUBSETTING

+
GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK
+

GLOBAL_SUBSETTING

Applies a widget subsetting to all widgets of a certain type

Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget.

-
ParameterDescriptionRequired
Widget Class NameThe name of the class of widgets that this setting will be applied to. For example, LABELVALUE.True
Subwidget IndexIndex to the desired subwidgetTrue
Setting NameSee SETTING for details.True
Setting Value(s)See SETTING for details.False
+
ParameterDescriptionRequired
Widget Class NameThe name of the class of widgets that this setting will be applied to. For example, LABELVALUE.True
Subwidget IndexIndex to the desired subwidgetTrue
Setting NameSee SETTING for details.True
Setting Value(s)See SETTING for details.False

Example Usage:

-
# Set all text color to white for labelvaluelimitsbars
GLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white
-

SETTING

+
# Set all text color to white for labelvaluelimitsbars
GLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white
+

SETTING

Applies a widget setting to the previously defined widget

Settings allow for additional tweaks and options to be applied to widgets that are not available in their parameters. These settings are all configured @@ -51,541 +41,539 @@

SETTINGWIDTH

+

WIDTH

Sets the widget width

-

WIDTH supports css units with the default (no units) of px (pixels)

-
ParameterDescriptionRequired
WidthWidth in pixels or explicitly declared with unitsTrue
+

WIDTH supports css units with the default (no units) of px (pixels)

+
ParameterDescriptionRequired
WidthWidth in pixels or explicitly declared with unitsTrue

Example Usage:

-
LABEL "THIS IS A TEST"
SETTING WIDTH 50
LABEL "THIS IS A TEST"
SETTING WIDTH 20em
-

WIDTH

-

HEIGHT

+
LABEL "THIS IS A TEST"
SETTING WIDTH 50
LABEL "THIS IS A TEST"
SETTING WIDTH 20em
+

WIDTH

+

HEIGHT

Sets the widget height

-

HEIGHT supports css units with the default (no units) of px (pixels)

-
ParameterDescriptionRequired
HeightHeight in pixels or explicitly declared with unitsTrue
+

HEIGHT supports css units with the default (no units) of px (pixels)

+
ParameterDescriptionRequired
HeightHeight in pixels or explicitly declared with unitsTrue

Example Usage:

-
LABEL "THIS IS A TEST"
SETTING BACKCOLOR BLUE
SETTING HEIGHT 50
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREY
SETTING HEIGHT 2em
-

HEIGHT

-

MARGIN

+
LABEL "THIS IS A TEST"
SETTING BACKCOLOR BLUE
SETTING HEIGHT 50
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREY
SETTING HEIGHT 2em
+

HEIGHT

+

MARGIN

Sets the widget margin

-

MARGIN supports css units with the default (no units) of px (pixels)

-
ParameterDescriptionRequired
SizeSize in pixels or explicitly declared with unitsTrue
+

MARGIN supports css units with the default (no units) of px (pixels)

+
ParameterDescriptionRequired
SizeSize in pixels or explicitly declared with unitsTrue

Example Usage:

-
LABEL "THIS IS A TEST"
SETTING BACKCOLOR BLUE
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREY
SETTING MARGIN 10
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREEN
-

MARGIN

-

PADDING

+
LABEL "THIS IS A TEST"
SETTING BACKCOLOR BLUE
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREY
SETTING MARGIN 10
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREEN
+

MARGIN

+

PADDING

Sets the widget padding

-

PADDING supports css units with the default (no units) of px (pixels)

-
ParameterDescriptionRequired
SizeSize in pixels or explicitly declared with unitsTrue
+

PADDING supports css units with the default (no units) of px (pixels)

+
ParameterDescriptionRequired
SizeSize in pixels or explicitly declared with unitsTrue

Example Usage:

-
LABEL "THIS IS A TEST"
SETTING BACKCOLOR BLUE
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREY
SETTING PADDING 10
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREEN
-

PADDING

-

BACKCOLOR

+
LABEL "THIS IS A TEST"
SETTING BACKCOLOR BLUE
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREY
SETTING PADDING 10
LABEL "THIS IS A TEST"
SETTING BACKCOLOR GREEN
+

PADDING

+

BACKCOLOR

The BACKCOLOR setting sets the background color for a widget

-
ParameterDescriptionRequired
Color name or Red valueCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB valueTrue
Green valueGreen value of the RGB valueFalse
Blue valueBlue value of the RGB valueFalse
+
ParameterDescriptionRequired
Color name or Red valueCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB valueTrue
Green valueGreen value of the RGB valueFalse
Blue valueBlue value of the RGB valueFalse

Example Usage:

-
LABEL "THIS IS A TEST"
SETTING BACKCOLOR red
LABEL "THIS IS A TEST"
SETTING BACKCOLOR 155 50 155
-

BACKCOLOR

-

TEXTCOLOR

+
LABEL "THIS IS A TEST"
SETTING BACKCOLOR red
LABEL "THIS IS A TEST"
SETTING BACKCOLOR 155 50 155
+

BACKCOLOR

+

TEXTCOLOR

The TEXTCOLOR setting sets the text color for a widget

-
ParameterDescriptionRequired
Color name or Red valueCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB valueTrue
Green valueGreen value of the RGB valueFalse
Blue valueBlue value of the RGB valueFalse
+
ParameterDescriptionRequired
Color name or Red valueCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB valueTrue
Green valueGreen value of the RGB valueFalse
Blue valueBlue value of the RGB valueFalse

Example Usage:

-
LABEL "THIS IS A TEST"
SETTING TEXTCOLOR red
LABEL "THIS IS A TEST"
SETTING TEXTCOLOR 155 50 155
-

TEXTCOLOR

-

BORDERCOLOR

+
LABEL "THIS IS A TEST"
SETTING TEXTCOLOR red
LABEL "THIS IS A TEST"
SETTING TEXTCOLOR 155 50 155
+

TEXTCOLOR

+

BORDERCOLOR

The BORDERCOLOR setting sets the border color for a layout widget

-
ParameterDescriptionRequired
Color name or Red valueCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB valueTrue
Green valueGreen value of the RGB valueFalse
Blue valueBlue value of the RGB valueFalse
+
ParameterDescriptionRequired
Color name or Red valueCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB valueTrue
Green valueGreen value of the RGB valueFalse
Blue valueBlue value of the RGB valueFalse

Example Usage:

-
HORIZONTAL
LABEL "Label 1"
END
SETTING BORDERCOLOR red
VERTICAL
LABEL "Label 2"
END
SETTING BORDERCOLOR 155 50 155
-

BORDERCOLOR

-

RAW

+
HORIZONTAL
LABEL "Label 1"
END
SETTING BORDERCOLOR red
VERTICAL
LABEL "Label 2"
END
SETTING BORDERCOLOR 155 50 155
+

BORDERCOLOR

+

RAW

Apply a raw CSS stylesheet key and value

-
ParameterDescriptionRequired
KeyCSS key like font-size, max-width, etcTrue
ValueCSS ValueTrue
+
ParameterDescriptionRequired
KeyCSS key like font-size, max-width, etcTrue
ValueCSS ValueTrue

Example Usage:

-
LABEL "Label 1"
SETTING RAW font-size 30px
-

RAW

-

SUBSETTING

+
LABEL "Label 1"
SETTING RAW font-size 30px
+

RAW

+

SUBSETTING

Applies a widget subsetting to the previously defined widget

Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget.

-
ParameterDescriptionRequired
Subwidget IndexIndex to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget.True
Setting NameSee SETTING for details.True
Setting Value(s)See SETTING for details.False
+
ParameterDescriptionRequired
Subwidget IndexIndex to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget.True
Setting NameSee SETTING for details.True
Setting Value(s)See SETTING for details.False

Example Usage:

-
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue
LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
SUBSETTING 0 TEXTCOLOR green # Change the label's text to green
END
-

SUBSETTING

-

NAMED_WIDGET

+
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue
LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
SUBSETTING 0 TEXTCOLOR green # Change the label's text to green
END
+

SUBSETTING

+

NAMED_WIDGET

Name a widget to allow access to it via the getNamedWidget method

To programmatically access parts of a telemetry screen you need to name the widget. This is useful when creating screens with buttons that read values from other widgets.

-
warning

getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget

-
ParameterDescriptionRequired
Widget NameThe unique name applied to the following widget instance. Names must be unique per screen.True
Widget TypeOne of the widget types listed in Widget DescriptionsTrue
Widget ParametersThe unique parameters for the given widget typeTrue
+
warning

getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget

+
ParameterDescriptionRequired
Widget NameThe unique name applied to the following widget instance. Names must be unique per screen.True
Widget TypeOne of the widget types listed in Widget DescriptionsTrue
Widget ParametersThe unique parameters for the given widget typeTrue

Example Usage:

-
NAMED_WIDGET DURATION TEXTFIELD
BUTTON "Push" "screen.getNamedWidget('DURATION').text()"
-

NAMED_WIDGET

-

Layout Widgets

+
NAMED_WIDGET DURATION TEXTFIELD
BUTTON "Push" "screen.getNamedWidget('DURATION').text()"
+

NAMED_WIDGET

+

Layout Widgets


Layout widgets are used to position other widgets on the screen. For example, the HORIZONTAL layout widget places the widgets it encapsulates horizontally on the screen.

-

VERTICAL

+

VERTICAL

Places the widgets it encapsulates vertically

The screen defaults to a vertical layout, so if no layout widgets are specified, all widgets will be automatically placed within a VERTICAL layout widget. The VERTICAL widget sizes itself to fit its contents.

-
ParameterDescriptionRequired
MarginMargin between widgets (default = 0px)False
+
ParameterDescriptionRequired
MarginMargin between widgets (default = 0px)False

Example Usage:

-
VERTICAL 5px
LABEL "TEST"
LABEL "SCREEN"
END
-

VERTICAL

-

VERTICALBOX

+
VERTICAL 5px
LABEL "TEST"
LABEL "SCREEN"
END
+

VERTICAL

+

VERTICALBOX

Places the widgets it encapsulates vertically inside a thin border

The VERTICALBOX widget sizes itself to fit its contents vertically and to fit the screen horizontally

-
ParameterDescriptionRequired
TitleText to place within the border to label the boxFalse
MarginMargin between widgets (default = 0px)False
+
ParameterDescriptionRequired
TitleText to place within the border to label the boxFalse
MarginMargin between widgets (default = 0px)False

Example Usage:

-
VERTICALBOX Info
LABEL "TEST"
LABEL "SCREEN"
END
-

VERTICALBOX

-

HORIZONTAL

+
VERTICALBOX Info
LABEL "TEST"
LABEL "SCREEN"
END
+

VERTICALBOX

+

HORIZONTAL

Places the widgets it encapsulates horizontally

The HORIZONTAL widget sizes itself to fit its contents

-
ParameterDescriptionRequired
MarginMargin between widgets (default = 0px)False
+
ParameterDescriptionRequired
MarginMargin between widgets (default = 0px)False

Example Usage:

-
HORIZONTAL 100
LABEL "TEST"
LABEL "SCREEN"
END
-

HORIZONTAL

-

HORIZONTALBOX

+
HORIZONTAL 100
LABEL "TEST"
LABEL "SCREEN"
END
+

HORIZONTAL

+

HORIZONTALBOX

Places the widgets it encapsulates horizontally inside a thin border

The HORIZONTALBOX widget sizes itself to fit its contents

-
ParameterDescriptionRequired
TitleText to place within the border to label the boxFalse
MarginMargin between widgets (default = 0px)False
+
ParameterDescriptionRequired
TitleText to place within the border to label the boxFalse
MarginMargin between widgets (default = 0px)False

Example Usage:

-
HORIZONTALBOX Info 10
LABEL "TEST"
LABEL "SCREEN"
END
-

HORIZONTALBOX

-

MATRIXBYCOLUMNS

+
HORIZONTALBOX Info 10
LABEL "TEST"
LABEL "SCREEN"
END
+

HORIZONTALBOX

+

MATRIXBYCOLUMNS

Places the widgets into a table-like matrix

The MATRIXBYCOLUMNS widget sizes itself to fit its contents

-
ParameterDescriptionRequired
ColumnsThe number of columns to createTrue
MarginMargin between widgets (default = 0px)False
+
ParameterDescriptionRequired
ColumnsThe number of columns to createTrue
MarginMargin between widgets (default = 0px)False

Example Usage:

-
MATRIXBYCOLUMNS 3 10
LABEL "COL 1"
LABEL "COL 2"
LABEL "COL 3"
LABEL "100"
LABEL "200"
LABEL "300"
END
-

MATRIXBYCOLUMNS

-

SCROLLWINDOW

+
MATRIXBYCOLUMNS 3 10
LABEL "COL 1"
LABEL "COL 2"
LABEL "COL 3"
LABEL "100"
LABEL "200"
LABEL "300"
END
+

MATRIXBYCOLUMNS

+

SCROLLWINDOW

Places the widgets inside of it into a scrollable area

The SCROLLWINDOW widget sizes itself to fit the screen in which it is contained

-
ParameterDescriptionRequired
HeightMaximum height of the scroll window in pixels (default = 200)False
MarginMargin between widgets (default = 0px)False
+
ParameterDescriptionRequired
HeightMaximum height of the scroll window in pixels (default = 200)False
MarginMargin between widgets (default = 0px)False

Example Usage:

-
SCROLLWINDOW 100 10
VERTICAL
LABEL "100"
LABEL "200"
LABEL "300"
LABEL "400"
LABEL "500"
LABEL "600"
LABEL "700"
LABEL "800"
LABEL "900"
END
END
-

SCROLLWINDOW

-

TABBOOK

+
SCROLLWINDOW 100 10
VERTICAL
LABEL "100"
LABEL "200"
LABEL "300"
LABEL "400"
LABEL "500"
LABEL "600"
LABEL "700"
LABEL "800"
LABEL "900"
END
END
+

SCROLLWINDOW

+

TABBOOK

Creates a tabbed area in which to place TABITEM widgets

-

TABITEM

+

TABITEM

Creates a VERTICAL layout tab into which to place widgets

-
ParameterDescriptionRequired
Tab textText to display in the tabTrue
+
ParameterDescriptionRequired
Tab textText to display in the tabTrue

Example Usage:

-
TABBOOK
TABITEM "Tab 1"
LABEL "100"
LABEL "200"
END
TABITEM "Tab 2"
LABEL "300"
LABEL "400"
END
END
-

TABITEM

-

IFRAME

+
TABBOOK
TABITEM "Tab 1"
LABEL "100"
LABEL "200"
END
TABITEM "Tab 2"
LABEL "300"
LABEL "400"
END
END
+

TABITEM

+

IFRAME

Open external tools in an Iframe within OpenC3

-
ParameterDescriptionRequired
URLThe path to the page to display in the iframeTrue
WidthWidth of the widgetFalse
HeightHeight of the widgetFalse
+
ParameterDescriptionRequired
URLThe path to the page to display in the iframeTrue
WidthWidth of the widgetFalse
HeightHeight of the widgetFalse

Example Usage:

-
IFRAME https://openc3.com 900 450
-

IFRAME

-

Decoration Widgets

+
IFRAME https://openc3.com 900 450
+

IFRAME

+

Decoration Widgets


Decoration widgets are used to enhance the appearance of the screen. They do not respond to input, nor does the output vary with telemetry.

-

LABEL

+

LABEL

Displays text on the screen

Generally, label widgets contain a telemetry mnemonic and are placed next to the telemetry VALUE widget.

-
ParameterDescriptionRequired
TextText to display on the labelTrue
+
ParameterDescriptionRequired
TextText to display on the labelTrue

Example Usage:

-
LABEL "Note: This is only a warning"
-

LABEL

-

HORIZONTALLINE

-

(Since 5.5.1)
Displays a horizontal line on the screen that can be used as a separator

+
LABEL "Note: This is only a warning"
+

LABEL

+

HORIZONTALLINE

+

(Since 5.5.1)
Displays a horizontal line on the screen that can be used as a separator

Example Usage:

-
LABEL Over
HORIZONTALLINE
LABEL Under
-

HORIZONTALLINE

-

TITLE

+
LABEL Over
HORIZONTALLINE
LABEL Under
+

HORIZONTALLINE

+

TITLE

Displays a large centered title on the screen

-
ParameterDescriptionRequired
TextText to displayTrue
+
ParameterDescriptionRequired
TextText to displayTrue

Example Usage:

-
TITLE "Title"
HORIZONTALLINE
LABEL "Label"
-

TITLE

-

SPACER

+
TITLE "Title"
HORIZONTALLINE
LABEL "Label"
+

TITLE

+

SPACER

Places a fixed size spacer in between widgets

-
ParameterDescriptionRequired
WidthWidth of the spacer in pixelsTrue
HeightHeight of the spacer in pixelsTrue
+
ParameterDescriptionRequired
WidthWidth of the spacer in pixelsTrue
HeightHeight of the spacer in pixelsTrue

Example Usage:

-
VERTICAL 3
LABEL "Spacer below"
SPACER 0 100
LABEL "Spacer above"
END
-

SPACER

-

Telemetry Widgets

+
VERTICAL 3
LABEL "Spacer below"
SPACER 0 100
LABEL "Spacer above"
END
+

SPACER

+

Telemetry Widgets


Telemetry widgets are used to display telemetry values. The first parameters to each of these widgets is a telemetry mnemonic. Depending on the type and purpose of the telemetry item, the screen designer may select from a wide selection of widgets to display the value in the most useful format.

-

ARRAY

+

ARRAY

Displays ARRAY data organized into rows and space separated

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
WidthWidth of the widget (default = 200)False
HeightHeight of the widget (default = 100)False
Format stringFormat string applied to each array item (default = nil)False
Items per rowNumber of array items per row (default = 4)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
WidthWidth of the widget (default = 200)False
HeightHeight of the widget (default = 100)False
Format stringFormat string applied to each array item (default = nil)False
Items per rowNumber of array items per row (default = 4)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False

Example Usage:

-
ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED
ARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS
-

ARRAY

-

BLOCK

+
ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED
ARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS
+

ARRAY

+

BLOCK

Displays BLOCK data organized into rows and space separated

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
WidthWidth of the widget (default = 200)False
HeightHeight of the widget (default = 100)False
Format stringFormat string applied to each array item (default = nil)False
Bytes per wordNumber of bytes per word (default = 4)False
Words per rowNumber of words per row (default = 4False
Address formatFormat for the address printed at the beginning of each line (default = nil which means do not print an address)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
WidthWidth of the widget (default = 200)False
HeightHeight of the widget (default = 100)False
Format stringFormat string applied to each array item (default = nil)False
Bytes per wordNumber of bytes per word (default = 4)False
Words per rowNumber of words per row (default = 4False
Address formatFormat for the address printed at the beginning of each line (default = nil which means do not print an address)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False

Example Usage:

-
BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:"
-

BLOCK

-

FORMATVALUE

+
BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:"
+

BLOCK

+

FORMATVALUE

Displays a box with a formatted value

Data is formatted by the specified string rather than by a format string given in the telemetry definition files. The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits).

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Format stringPrintf style format string to apply to the telemetry itemFalse
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Format stringPrintf style format string to apply to the telemetry itemFalse
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False

Example Usage:

-
FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20
FORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20
-

FORMATVALUE

-

LABELLED

+
FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20
FORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20
+

FORMATVALUE

+

LABELLED

Displays a LABEL followed by a LED

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the LED circle (default = 15)False
HeightHeight of the LED circle (default = 15)False
JustificationHow to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite.

Valid Values: SPLIT, CENTER, LEFT, RIGHT
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the LED circle (default = 15)False
HeightHeight of the LED circle (default = 15)False
JustificationHow to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite.

Valid Values: SPLIT, CENTER, LEFT, RIGHT
False

Example Usage:

-
LABELLED INST PARAMS VALUE1
SETTING LED_COLOR GOOD GREEN
SETTING LED_COLOR BAD RED
-

LABELLED

+
LABELLED INST PARAMS VALUE1
SETTING LED_COLOR GOOD GREEN
SETTING LED_COLOR BAD RED
+

LABELLED

The following settings apply to LABELLED. They are applied using the SETTING keyword.

-

LED_COLOR

+

LED_COLOR

Map a state or value to a color

-
ParameterDescriptionRequired
ValueState or value. ANY used to match any value or state not declared.True
LED colorColor of the LEDTrue
-

LABELPROGRESSBAR

+
ParameterDescriptionRequired
ValueState or value. ANY used to match any value or state not declared.True
LED colorColor of the LEDTrue
+

LABELPROGRESSBAR

Displays a LABEL with the item name followed by a PROGRESSBAR

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Scale factorValue to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.False
WidthWidth of the progress bar (default = 80 pixelsFalse
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Scale factorValue to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.False
WidthWidth of the progress bar (default = 80 pixelsFalse
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False

Example Usage:

-
LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW
LABELPROGRESSBAR INST ADCS POSPROGRESS
-

LABELPROGRESSBAR

-

LABELVALUE

+
LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW
LABELPROGRESSBAR INST ADCS POSPROGRESS
+

LABELPROGRESSBAR

+

LABELVALUE

Displays a LABEL with the item name followed by a VALUE

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False

Example Usage:

-
LABELVALUE INST LATEST TIMESEC CONVERTED 18
LABELVALUE INST LATEST COLLECT_TYPE
-

LABELVALUE

-

LABELVALUEDESC

+
LABELVALUE INST LATEST TIMESEC CONVERTED 18
LABELVALUE INST LATEST COLLECT_TYPE
+

LABELVALUE

+

LABELVALUEDESC

Displays a LABEL with the items description followed by a VALUE

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
DescriptionThe description to display in the label (default is to display the description text associated with the telemetry item)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
DescriptionThe description to display in the label (default is to display the description text associated with the telemetry item)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False

Example Usage:

-
LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18
LABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE
-

LABELVALUEDESC

-

LABELVALUELIMITSBAR

+
LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18
LABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE
+

LABELVALUEDESC

+

LABELVALUELIMITSBAR

Displays a LABEL with the item name followed by VALUE and LIMITSBAR widgets

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
-

LABELVALUELIMITSCOLUMN

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
+

LABELVALUELIMITSCOLUMN

Displays a LABEL with the item name followed by VALUE and LIMITSCOLUMN widgets

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False

Example Usage:

-
LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18
LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1
-

LABELVALUELIMITSCOLUMN

-

LABELVALUERANGEBAR

+
LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18
LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1
+

LABELVALUELIMITSCOLUMN

+

LABELVALUERANGEBAR

Displays a LABEL with the item name followed by VALUE and RANGEBAR widgets

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Low ValueMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.True
High ValueMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.True
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Low ValueMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.True
High ValueMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.True
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False

Example Usage:

-
LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40
LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120
-

LABELVALUERANGEBAR

-

LED

+
LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40
LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120
+

LABELVALUERANGEBAR

+

LED

Displays a LED which changes color based on telemetry values

By default TRUE is green and FALSE is red and all other values are black. Additional values can be added by using the LED_COLOR setting. For example LED INST PARAMS VALUE3 RAW can be followed by SETTING LED_COLOR 0 GREEN, SETTING LED_COLOR 1 RED, and SETTING LED_COLOR ANY ORANGE.

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the LED circle (default = 15)False
HeightHeight of the LED circle (default = 15)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the LED circle (default = 15)False
HeightHeight of the LED circle (default = 15)False

Example Usage:

-
LED INST PARAMS VALUE5 RAW 25 20 # Ellipse
SETTING LED_COLOR 0 GREEN
SETTING LED_COLOR 1 RED
SETTING LED_COLOR ANY YELLOW
-

LED

+
LED INST PARAMS VALUE5 RAW 25 20 # Ellipse
SETTING LED_COLOR 0 GREEN
SETTING LED_COLOR 1 RED
SETTING LED_COLOR ANY YELLOW
+

LED

The following settings apply to LED. They are applied using the SETTING keyword.

-

LED_COLOR

+

LED_COLOR

Map a state or value to a color

-
ParameterDescriptionRequired
ValueState or value. ANY used to match any value or state not declared.True
LED colorColor of the LEDTrue
-

LIMITSBAR

-

Displays an item's current value within its colored limits horizontally

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False
-

Example Usage:

-
LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50
LIMITSBAR INST HEALTH_STATUS TEMP1
-

LIMITSBAR

-

LIMITSCOLUMN

-

Displays an item's current value within its colored limits vertically

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False
-

Example Usage:

-
LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200
LIMITSCOLUMN INST HEALTH_STATUS TEMP1
-

LIMITSCOLUMN

-

LIMITSCOLOR

+
ParameterDescriptionRequired
ValueState or value. ANY used to match any value or state not declared.True
LED colorColor of the LEDTrue
+

LIMITSBAR

+

Displays an item's current value within its colored limits horizontally

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False
+

Example Usage:

+
LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50
LIMITSBAR INST HEALTH_STATUS TEMP1
+

LIMITSBAR

+

LIMITSCOLUMN

+

Displays an item's current value within its colored limits vertically

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False
+

Example Usage:

+
LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200
LIMITSCOLUMN INST HEALTH_STATUS TEMP1
+

LIMITSCOLUMN

+

LIMITSCOLOR

Displays a circle depicting the limits color of an item

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
RadiusRadius of the circle (default is 10)False
Full Item NameShow the full item name (default is false)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
RadiusRadius of the circle (default is 10)False
Full Item NameShow the full item name (default is false)False

Example Usage:

-
LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE
LIMITSCOLOR INST HEALTH_STATUS TEMP1
-

LIMITSCOLOR

-

VALUELIMITSBAR

+
LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE
LIMITSCOLOR INST HEALTH_STATUS TEMP1
+

LIMITSCOLOR

+

VALUELIMITSBAR

Displays an item VALUE followed by LIMITSBAR

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False

Example Usage:

-
VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18
VALUELIMITSBAR INST HEALTH_STATUS TEMP1
-

VALUELIMITSBAR

-

VALUELIMITSCOLUMN

+
VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18
VALUELIMITSBAR INST HEALTH_STATUS TEMP1
+

VALUELIMITSBAR

+

VALUELIMITSCOLUMN

Displays an item VALUE followed by LIMITSCOLUMN

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 8)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 8)False

Example Usage:

-
VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18
VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1
-

VALUELIMITSCOLUMN

-

VALUERANGEBAR

+
VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18
VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1
+

VALUELIMITSCOLUMN

+

VALUERANGEBAR

Displays an item VALUE followed by RANGEBAR

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Low ValueMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.True
High ValueMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.True
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Low ValueMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.True
High ValueMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.True
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
WidthWidth of the range bar (default = 160)False
HeightHeight of the range bar (default = 25)False

Example Usage:

-
VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40
VALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120
-

VALUERANGEBAR

-

LINEGRAPH

+
VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40
VALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120
+

VALUERANGEBAR

+

LINEGRAPH

Displays a line graph of a telemetry item

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False

Example Usage:

-
LINEGRAPH INST HEALTH_STATUS TEMP1
SETTING ITEM INST ADCS Q1 # Add additional item to graph
-

LINEGRAPH

+
LINEGRAPH INST HEALTH_STATUS TEMP1
SETTING ITEM INST ADCS Q1 # Add additional item to graph
+

LINEGRAPH

The following settings apply to LINEGRAPH. They are applied using the SETTING keyword.

-

ITEM

+

ITEM

Add a telemetry item to the graph

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
-

STARTTIME

-

(Since 5.5.1)
Start the graph history at the designated Time

-
ParameterDescriptionRequired
Start TimeStart time as formatted 'YYYY/MM/DD HH:MM:SS'True
-

HISTORY

-

(Since 5.5.1)
Display an initial history of data

-
ParameterDescriptionRequired
ValueValue(d,h,m,s). For example 1d, 2h, 30m, 15sTrue
-

SECONDSGRAPHED

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
+

STARTTIME

+

(Since 5.5.1)
Start the graph history at the designated Time

+
ParameterDescriptionRequired
Start TimeStart time as formatted 'YYYY/MM/DD HH:MM:SS'True
+

HISTORY

+

(Since 5.5.1)
Display an initial history of data

+
ParameterDescriptionRequired
ValueValue(d,h,m,s). For example 1d, 2h, 30m, 15sTrue
+

SECONDSGRAPHED

Display the specified number of seconds in the graph

-
ParameterDescriptionRequired
TimeNumber of seconds to displayTrue
-

POINTSSAVED

+
ParameterDescriptionRequired
TimeNumber of seconds to displayTrue
+

POINTSSAVED

Save the number of seconds in graph memory

-
ParameterDescriptionRequired
TimeNumber of seconds to saveTrue
-

POINTSGRAPHED

+
ParameterDescriptionRequired
TimeNumber of seconds to saveTrue
+

POINTSGRAPHED

Number of points to display on the graph

-
ParameterDescriptionRequired
TimeNumber of points to graphTrue
-

SIZE

+
ParameterDescriptionRequired
TimeNumber of points to graphTrue
+

SIZE

Size of the graph

-
ParameterDescriptionRequired
WidthWidth in pixelsTrue
HeightHeight in pixelsTrue
-

SPARKLINE

+
ParameterDescriptionRequired
WidthWidth in pixelsTrue
HeightHeight in pixelsTrue
+

SPARKLINE

Displays a sparkline graph (no cursor, scale or legend) of a telemetry item

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False

Example Usage:

-
SPARKLINE INST HEALTH_STATUS TEMP1
SETTING SIZE 400 50
SETTING HISTORY 30s # Add 30 seconds of data into graph
-

SPARKLINE

+
SPARKLINE INST HEALTH_STATUS TEMP1
SETTING SIZE 400 50
SETTING HISTORY 30s # Add 30 seconds of data into graph
+

SPARKLINE

The following settings apply to SPARKLINE. They are applied using the SETTING keyword.

-

ITEM

+

ITEM

Add a telemetry item to the graph

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
-

STARTTIME

-

(Since 5.5.1)
Start the graph history at the designated Time

-
ParameterDescriptionRequired
Start TimeStart time as formatted 'YYYY/MM/DD HH:MM:SS'True
-

HISTORY

-

(Since 5.5.1)
Display an initial history of data

-
ParameterDescriptionRequired
ValueValue(d,h,m,s). For example 1d, 2h, 30m, 15sTrue
-

SECONDSGRAPHED

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
+

STARTTIME

+

(Since 5.5.1)
Start the graph history at the designated Time

+
ParameterDescriptionRequired
Start TimeStart time as formatted 'YYYY/MM/DD HH:MM:SS'True
+

HISTORY

+

(Since 5.5.1)
Display an initial history of data

+
ParameterDescriptionRequired
ValueValue(d,h,m,s). For example 1d, 2h, 30m, 15sTrue
+

SECONDSGRAPHED

Display the specified number of seconds in the graph

-
ParameterDescriptionRequired
TimeNumber of seconds to displayTrue
-

POINTSSAVED

+
ParameterDescriptionRequired
TimeNumber of seconds to displayTrue
+

POINTSSAVED

Save the number of seconds in graph memory

-
ParameterDescriptionRequired
TimeNumber of seconds to saveTrue
-

POINTSGRAPHED

+
ParameterDescriptionRequired
TimeNumber of seconds to saveTrue
+

POINTSGRAPHED

Number of points to display on the graph

-
ParameterDescriptionRequired
TimeNumber of points to graphTrue
-

SIZE

+
ParameterDescriptionRequired
TimeNumber of points to graphTrue
+

SIZE

Size of the graph

-
ParameterDescriptionRequired
WidthWidth in pixelsTrue
HeightHeight in pixelsTrue
-

LABELSPARKLINE

+
ParameterDescriptionRequired
WidthWidth in pixelsTrue
HeightHeight in pixelsTrue
+

LABELSPARKLINE

Displays a LABEL with the item name followed by a SPARKLINE

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False

Example Usage:

-
LABELSPARKLINE INST HEALTH_STATUS TEMP1
SETTING HISTORY 5m # Add 5 minutes of data into graph
-

LABELSPARKLINE

+
LABELSPARKLINE INST HEALTH_STATUS TEMP1
SETTING HISTORY 5m # Add 5 minutes of data into graph
+

LABELSPARKLINE

The following settings apply to LABELSPARKLINE. They are applied using the SETTING keyword.

-

ITEM

+

ITEM

Add a telemetry item to the graph

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
-

STARTTIME

-

(Since 5.5.1)
Start the graph history at the designated Time

-
ParameterDescriptionRequired
Start TimeStart time as formatted 'YYYY/MM/DD HH:MM:SS'True
-

HISTORY

-

(Since 5.5.1)
Display an initial history of data

-
ParameterDescriptionRequired
ValueValue(d,h,m,s). For example 1d, 2h, 30m, 15sTrue
-

SECONDSGRAPHED

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
ReducedWhether to display reduced data. Default is DECOM.

Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY
False
Reduced TypeThe type of reduce data to display. Only applies if Reduced is not DECOM.

Valid Values: MIN, MAX, AVG, STDDEV
False
+

STARTTIME

+

(Since 5.5.1)
Start the graph history at the designated Time

+
ParameterDescriptionRequired
Start TimeStart time as formatted 'YYYY/MM/DD HH:MM:SS'True
+

HISTORY

+

(Since 5.5.1)
Display an initial history of data

+
ParameterDescriptionRequired
ValueValue(d,h,m,s). For example 1d, 2h, 30m, 15sTrue
+

SECONDSGRAPHED

Display the specified number of seconds in the graph

-
ParameterDescriptionRequired
TimeNumber of seconds to displayTrue
-

POINTSSAVED

+
ParameterDescriptionRequired
TimeNumber of seconds to displayTrue
+

POINTSSAVED

Save the number of seconds in graph memory

-
ParameterDescriptionRequired
TimeNumber of seconds to saveTrue
-

POINTSGRAPHED

+
ParameterDescriptionRequired
TimeNumber of seconds to saveTrue
+

POINTSGRAPHED

Number of points to display on the graph

-
ParameterDescriptionRequired
TimeNumber of points to graphTrue
-

SIZE

+
ParameterDescriptionRequired
TimeNumber of points to graphTrue
+

SIZE

Size of the graph

-
ParameterDescriptionRequired
WidthWidth in pixelsTrue
HeightHeight in pixelsTrue
-

IMAGEVIEWER

+
ParameterDescriptionRequired
WidthWidth in pixelsTrue
HeightHeight in pixelsTrue
+

IMAGEVIEWER

Display a base64 image from a TLM packet

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item.True
FormatThe image format of the base64 data (e.g. jpg, png, etc)True
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item.True
FormatThe image format of the base64 data (e.g. jpg, png, etc)True

Example Usage:

-
IMAGEVIEWER INST IMAGE IMAGE jpg
-

IMAGEVIEWER

-

PROGRESSBAR

+
IMAGEVIEWER INST IMAGE IMAGE jpg
+

IMAGEVIEWER

+

PROGRESSBAR

Displays a progress bar that is useful for displaying percentages

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Scale factorValue to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.False
WidthWidth of the progress bar (default = 100 pixels)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Scale factorValue to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.False
WidthWidth of the progress bar (default = 100 pixels)False
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False

Example Usage:

-
PROGRESSBAR INST ADCS POSPROGRESS 0.5 200
PROGRESSBAR INST ADCS POSPROGRESS
-

PROGRESSBAR

-

RANGEBAR

+
PROGRESSBAR INST ADCS POSPROGRESS 0.5 200
PROGRESSBAR INST ADCS POSPROGRESS
+

PROGRESSBAR

+

RANGEBAR

Displays a custom range bar displaying the item value

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Low ValueMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.True
High ValueMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.True
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the range bar (default = 100)False
HeightHeight of the range bar (default = 25)False
-

Example Usage:

-
RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50
RANGEBAR INST HEALTH_STATUS TEMP1 -100 100
-

RANGEBAR

-

ROLLUP

-

(Since 5.17.1)
Displays a notification icon which changes color based on a rollup telemetry

-
ParameterDescriptionRequired
Icon nameThe astro UX icon to display. Valid choices are 'astro' icons taken from https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json.True
Icon labelText to apply to the icon labelFalse
Icon sublabelText to apply to the icon sublabelFalse
-

Example Usage:

-
ROLLUP satellite-transmit "SAT 1" "Details"
# Screen to open on click
SETTING SCREEN INST HS
# Telemetry items to rollup status
SETTING TLM INST HEALTH_STATUS TEMP1
SETTING TLM INST HEALTH_STATUS TEMP2
ROLLUP antenna "GND 2" "Location"
# Screen to open on click
SETTING SCREEN INST HS
# Telemetry items to rollup status
SETTING TLM INST HEALTH_STATUS TEMP3
SETTING TLM INST HEALTH_STATUS TEMP4
-

ROLLUP

-

SIGNAL

-

(Since 5.17.2)
Displays a cellular signal icon which changes based on telemetry value

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
-

Example Usage:

-
SIGNAL INST HEALTH_STATUS TEMP1
# Screen to open on click
SETTING SCREEN INST HS
# Values to compare when setting the 1-bar, 2-bar and 3-bar icons
# Default is 30, 60, 90 (e.g. 0 to 100 range)
# Value < -50 display no bars
# Value >= -50 and < 0 displays 1 bar
# Value >= 0 and < 50 displays 2 bars
# Value >= 50 displays 5 bars
SETTING RANGE -50 0 50
-

SIGNAL

-

TEXTBOX

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Low ValueMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.True
High ValueMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.True
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
WidthWidth of the range bar (default = 100)False
HeightHeight of the range bar (default = 25)False
+

Example Usage:

+
RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50
RANGEBAR INST HEALTH_STATUS TEMP1 -100 100
+

RANGEBAR

+

ROLLUP

+

(Since 5.17.1)
Displays a notification icon which changes color based on a rollup telemetry

+
ParameterDescriptionRequired
Icon nameThe astro UX icon to display. Valid choices are 'astro' icons taken from https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json.True
Icon labelText to apply to the icon labelFalse
Icon sublabelText to apply to the icon sublabelFalse
+

Example Usage:

+
ROLLUP satellite-transmit "SAT 1" "Details"
# Screen to open on click
SETTING SCREEN INST HS
# Telemetry items to rollup status
SETTING TLM INST HEALTH_STATUS TEMP1
SETTING TLM INST HEALTH_STATUS TEMP2
ROLLUP antenna "GND 2" "Location"
# Screen to open on click
SETTING SCREEN INST HS
# Telemetry items to rollup status
SETTING TLM INST HEALTH_STATUS TEMP3
SETTING TLM INST HEALTH_STATUS TEMP4
+

ROLLUP

+

SIGNAL

+

(Since 5.17.2)
Displays a cellular signal icon which changes based on telemetry value

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED
False
+

Example Usage:

+
SIGNAL INST HEALTH_STATUS TEMP1
# Screen to open on click
SETTING SCREEN INST HS
# Values to compare when setting the 1-bar, 2-bar and 3-bar icons
# Default is 30, 60, 90 (e.g. 0 to 100 range)
# Value < -50 display no bars
# Value >= -50 and < 0 displays 1 bar
# Value >= 0 and < 50 displays 2 bars
# Value >= 50 displays 5 bars
SETTING RANGE -50 0 50
+

SIGNAL

+

TEXTBOX

Provides a large box for multiline text

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
WidthWidth of the textbox in px (default = 200)False
HeightHeight of the textbox in px (default = 200)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
WidthWidth of the textbox in px (default = 200)False
HeightHeight of the textbox in px (default = 200)False

Example Usage:

-
TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70
-

TEXTBOX

-

VALUE

+
TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70
+

TEXTBOX

+

VALUE

Displays a box with a telemetry item value

The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits).

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
Number of charactersThe number of characters wide to make the value box (default = 12)False

Example Usage:

-
VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18
VALUE INST HEALTH_STATUS TEMP1
-

VALUE

-

Interactive Widgets

+
VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18
VALUE INST HEALTH_STATUS TEMP1
+

VALUE

+

Interactive Widgets


Interactive widgets are used to gather input from the user. Unlike all other widgets, which only output some graphical representation, interactive widgets permit input either from the keyboard or mouse.

-

BUTTON

+

BUTTON

Displays a rectangular clickable button

Upon clicking, the button executes the Javascript code assigned. Buttons can be used to send commands and perform other tasks. If you want your button to use values from other widgets, define them as named widgets and read their -values using the screen.getNamedWidget("WIDGET_NAME").text() method. +values using the screen.getNamedWidget("WIDGET_NAME").text() method. See the example in CHECKBUTTON.

Button code can get rather complex so remember to use string concatenation to make things more readable. If you use + newlines are inserted automatically -during string concatenation. If you use \ you'll need to separate lines with a +during string concatenation. If you use \ you'll need to separate lines with a single semicolon ;. COSMOS uses double semicolon ;; to indicate lines should be evaluated separately. Note that all OpenC3 commands (using api.cmd) must be separated by ;;.

You can send commands with buttons using api.cmd(). The cmd() syntax looks exactly like the standard COSMOS scripting syntax. You can also request and use telemetry in screens using Javascript Promises.

-

api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))"

+

api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))"

The api.tlm() function returns a Promise which is resolved with then() at which point we send the command with the telemetry value we received.

Scripts can be launched from a BUTTON using the runScript() method. runScript() takes three parameters, the name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of -environment variables. For example: runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'})

-
ParameterDescriptionRequired
Button TextText displayed on the buttonTrue
Button CodeJavascript code to execute when the button is pressedTrue
+environment variables. For example: runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'})

+
ParameterDescriptionRequired
Button TextText displayed on the buttonTrue
Button CodeJavascript code to execute when the button is pressedTrue

Example Usage:

-
BUTTON 'Start Collect' 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION 5")'
BUTTON 'Run Checks' 'runScript("INST/procedures/checks.rb")'
# More complex example with background checkbox and env vars
NAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb
NAMED_WIDGET BG CHECKBUTTON 'Background'
BUTTON 'Run Script' "var script=screen.getNamedWidget('SCRIPTNAME').text();" \
# Set an environment variable to be used by the script as ENV['TYPE']
"var env = {}; env['TYPE'] = 'TEST';" \
"runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)"
-

BUTTON

-

CHECKBUTTON

+
BUTTON 'Start Collect' 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION 5")'
BUTTON 'Run Checks' 'runScript("INST/procedures/checks.rb")'
# More complex example with background checkbox and env vars
NAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb
NAMED_WIDGET BG CHECKBUTTON 'Background'
BUTTON 'Run Script' "var script=screen.getNamedWidget('SCRIPTNAME').text();" \
# Set an environment variable to be used by the script as ENV['TYPE']
"var env = {}; env['TYPE'] = 'TEST';" \
"runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)"
+

BUTTON

+

CHECKBUTTON

Displays a check box

Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET.

-
ParameterDescriptionRequired
Checkbox TextText displayed next to the checkboxTrue
+
ParameterDescriptionRequired
Checkbox TextText displayed next to the checkboxTrue

Example Usage:

-
NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks'
BUTTON 'Send' 'screen.getNamedWidget("CHECK").checked() ? ' \
'api.cmd_no_hazardous_check("INST CLEAR") : api.cmd("INST CLEAR")'
-

CHECKBUTTON

-

COMBOBOX

+
NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks'
BUTTON 'Send' 'screen.getNamedWidget("CHECK").checked() ? ' \
'api.cmd_no_hazardous_check("INST CLEAR") : api.cmd("INST CLEAR")'
+

CHECKBUTTON

+

COMBOBOX

Displays a drop down list of text items

Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET.

-
ParameterDescriptionRequired
Option Text 1Text to display in the selection drop downTrue
Option Text nText to display in the selection drop downFalse
+
ParameterDescriptionRequired
Option Text 1Text to display in the selection drop downTrue
Option Text nText to display in the selection drop downFalse

Example Usage:

-
BUTTON 'Start Collect' 'var type = screen.getNamedWidget("COLLECT_TYPE").text();' +
'api.cmd("INST COLLECT with TYPE "+type+", DURATION 10.0")'
NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL
-

COMBOBOX

-

DATE

+
BUTTON 'Start Collect' 'var type = screen.getNamedWidget("COLLECT_TYPE").text();' +
'api.cmd("INST COLLECT with TYPE "+type+", DURATION 10.0")'
NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL
+

COMBOBOX

+

DATE

Displays a date picker

Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET.

-
ParameterDescriptionRequired
Date labelText to label the data selection ('Date' by default)False
+
ParameterDescriptionRequired
Date labelText to label the data selection ('Date' by default)False

Example Usage:

-
BUTTON 'Alert Date' 'var date = screen.getNamedWidget("DATE").text();' +
'alert("Date:"+date)'
NAMED_WIDGET DATE DATE
-

DATE

-

RADIOGROUP

+
BUTTON 'Alert Date' 'var date = screen.getNamedWidget("DATE").text();' +
'alert("Date:"+date)'
NAMED_WIDGET DATE DATE
+

DATE

+

RADIOGROUP

Creates a group of RADIOBUTTONs

RADIOBUTTONs must be part of a group to enable selection logic

-
ParameterDescriptionRequired
Initial selected buttonSelects a radio button at initialization (0-based)False
-

RADIOBUTTON

+
ParameterDescriptionRequired
Initial selected buttonSelects a radio button at initialization (0-based)False
+

RADIOBUTTON

Displays a radio button and text

Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. It must be contained by a RADIOGROUP to enable typical selection of a single RADIOBUTTON.

-
ParameterDescriptionRequired
TextText to display next to the radio buttonTrue
+
ParameterDescriptionRequired
TextText to display next to the radio buttonTrue

Example Usage:

-
NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index
RADIOBUTTON 'Abort'
RADIOBUTTON 'Clear'
END
BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? " +
"api.cmd('INST ABORT') : api.cmd('INST CLEAR')"
-

RADIOBUTTON

-

TEXTFIELD

+
NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index
RADIOBUTTON 'Abort'
RADIOBUTTON 'Clear'
END
BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? " +
"api.cmd('INST ABORT') : api.cmd('INST CLEAR')"
+

RADIOBUTTON

+

TEXTFIELD

Displays a rectangular box where the user can enter text

-
ParameterDescriptionRequired
CharactersWidth of the text field in characters (default = 12)False
TextDefault text to put in the text field (default is blank)False
+
ParameterDescriptionRequired
CharactersWidth of the text field in characters (default = 12)False
TextDefault text to put in the text field (default is blank)False

Example Usage:

-
NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"
BUTTON 'Start Collect' 'var dur = screen.getNamedWidget("DURATION").text();' +
'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")'
-

TEXTFIELD

-

TIME

+
NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"
BUTTON 'Start Collect' 'var dur = screen.getNamedWidget("DURATION").text();' +
'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")'
+

TEXTFIELD

+

TIME

Displays a time picker

Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET.

-
ParameterDescriptionRequired
Time labelText to label the time selection ('Time' by default)False
+
ParameterDescriptionRequired
Time labelText to label the time selection ('Time' by default)False

Example Usage:

-
BUTTON 'Alert Time' 'var time = screen.getNamedWidget("TIME").text();' +
'alert("Time:"+time)'
NAMED_WIDGET TIME TIME
-

TIME

-

Canvas Widgets

+
BUTTON 'Alert Time' 'var time = screen.getNamedWidget("TIME").text();' +
'alert("Time:"+time)'
NAMED_WIDGET TIME TIME
+

TIME

+

Canvas Widgets


Canvas Widgets are used to draw custom displays into telemetry screens. The canvas coordinate frame places (0,0) in the upper-left corner of the canvas.

-

CANVAS

+

CANVAS

Layout widget for the other canvas widgets

All canvas widgets must be enclosed within a CANVAS widget.

-
warning

The canvas coordinate frame places (0,0) in the upper-left corner of the canvas.

-
ParameterDescriptionRequired
WidthWidth of the canvasTrue
HeightHeight of the canvasTrue
-

CANVASLABEL

+
warning

The canvas coordinate frame places (0,0) in the upper-left corner of the canvas.

+
ParameterDescriptionRequired
WidthWidth of the canvasTrue
HeightHeight of the canvasTrue
+

CANVASLABEL

Draws text onto the canvas

-
ParameterDescriptionRequired
X PositionX position of the upper-left corner of the text on the canvasTrue
Y PositionY position of the upper-left corner of the text on the canvasTrue
TextText to draw onto the canvasTrue
Font SizeFont size of the text (Default = 12)False
ColorColor of the textFalse
+
ParameterDescriptionRequired
X PositionX position of the upper-left corner of the text on the canvasTrue
Y PositionY position of the upper-left corner of the text on the canvasTrue
TextText to draw onto the canvasTrue
Font SizeFont size of the text (Default = 12)False
ColorColor of the textFalse

Example Usage:

-
CANVAS 100 100
CANVASLABEL 5 34 "Label1" 24 red
CANVASLABEL 5 70 "Label2" 18 blue
END
-

CANVASLABEL

-

CANVASLABELVALUE

+
CANVAS 100 100
CANVASLABEL 5 34 "Label1" 24 red
CANVASLABEL 5 70 "Label2" 18 blue
END
+

CANVASLABEL

+

CANVASLABELVALUE

Draws the text value of a telemetry item onto the canvas in an optional frame

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
X PositionX position of the upper-left corner of the text on the canvasTrue
Y PositionY position of the upper-left corner of the text on the canvasTrue
Font SizeFont size of the text (Default = 12)False
ColorColor of the textFalse
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
X PositionX position of the upper-left corner of the text on the canvasTrue
Y PositionY position of the upper-left corner of the text on the canvasTrue
Font SizeFont size of the text (Default = 12)False
ColorColor of the textFalse
Value typeThe type of the value to display. Default is CONVERTED.

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False

Example Usage:

-
CANVAS 200 100
CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red
CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS
END
-

CANVASLABELVALUE

-

CANVASIMAGE

+
CANVAS 200 100
CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red
CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS
END
+

CANVASLABELVALUE

+

CANVASIMAGE

Displays an image on the canvas

-
ParameterDescriptionRequired
Image filenameName of a image file. The file must be in the plugin's targets/TARGET/public directory.True
X PositionX position of the upper-left corner of the image on the canvasTrue
Y PositionY position of the upper-left corner of the image on the canvasTrue
+
ParameterDescriptionRequired
Image filenameName of a image file. The file must be in the plugin's targets/TARGET/public directory.True
X PositionX position of the upper-left corner of the image on the canvasTrue
Y PositionY position of the upper-left corner of the image on the canvasTrue

Example Usage:

-
CANVAS 250 430
CANVASIMAGE "satellite.png" 10 10 200 200
SETTING SCREEN INST HS
CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150
END
-

CANVASIMAGE

+
CANVAS 250 430
CANVASIMAGE "satellite.png" 10 10 200 200
SETTING SCREEN INST HS
CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150
END
+

CANVASIMAGE

The following settings apply to CANVASIMAGE. They are applied using the SETTING keyword.

-

SCREEN

+

SCREEN

Open another screen when clicked

-
ParameterDescriptionRequired
Target nameName of the targetTrue
Screen nameName of the screenTrue
-

CANVASIMAGEVALUE

+
ParameterDescriptionRequired
Target nameName of the targetTrue
Screen nameName of the screenTrue
+

CANVASIMAGEVALUE

Displays an image on the canvas that changes with a telemetry value

-

Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example.

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
True
Default image filenameThe default image to display. The file must be in the targets/TARGET/public directory.True
X PositionX position of the upper-left corner of the image on the canvasTrue
Y PositionY position of the upper-left corner of the image on the canvasTrue
Image widthWidth of the image (default is 100%)False
Image heightHeight of the image (default is 100%)False
+

Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example.

+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Value typeThe type of the value to display

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
True
Default image filenameThe default image to display. The file must be in the targets/TARGET/public directory.True
X PositionX position of the upper-left corner of the image on the canvasTrue
Y PositionY position of the upper-left corner of the image on the canvasTrue
Image widthWidth of the image (default is 100%)False
Image heightHeight of the image (default is 100%)False

Example Usage:

-
CANVAS 230 230
CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180
SETTING IMAGE CONNECTED "ground_on.png" 10 10
SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10
SETTING SCREEN INST HS
END
-

CANVASIMAGEVALUE

+
CANVAS 230 230
CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180
SETTING IMAGE CONNECTED "ground_on.png" 10 10
SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10
SETTING SCREEN INST HS
END
+

CANVASIMAGEVALUE

The following settings apply to CANVASIMAGEVALUE. They are applied using the SETTING keyword.

-

IMAGE

+

IMAGE

Map an image to a state or value

-
ParameterDescriptionRequired
ValueState or valueTrue
Image filenameImage to display. The file must be in the targets/TARGET/public directory.True
X PositionX position of the upper-left corner of the image on the canvasTrue
Y PositionY position of the upper-left corner of the image on the canvasTrue
-

SCREEN

+
ParameterDescriptionRequired
ValueState or valueTrue
Image filenameImage to display. The file must be in the targets/TARGET/public directory.True
X PositionX position of the upper-left corner of the image on the canvasTrue
Y PositionY position of the upper-left corner of the image on the canvasTrue
+

SCREEN

Open another screen when clicked

-
ParameterDescriptionRequired
Target nameName of the targetTrue
Screen nameName of the screenTrue
-

CANVASLINE

+
ParameterDescriptionRequired
Target nameName of the targetTrue
Screen nameName of the screenTrue
+

CANVASLINE

Draws a line onto the canvas

-
ParameterDescriptionRequired
Start X PositionX position of the start of the line on the canvasTrue
Start Y PositionY position of the start of the line on the canvasTrue
End X PositionX position of the end of the line on the canvasTrue
End Y PositionY position of the end of the line on the canvasTrue
ColorColor of the lineFalse
WidthWidth of the line in pixels (default = 1)False
+
ParameterDescriptionRequired
Start X PositionX position of the start of the line on the canvasTrue
Start Y PositionY position of the start of the line on the canvasTrue
End X PositionX position of the end of the line on the canvasTrue
End Y PositionY position of the end of the line on the canvasTrue
ColorColor of the lineFalse
WidthWidth of the line in pixels (default = 1)False

Example Usage:

-
CANVAS 100 50
CANVASLINE 5 5 95 5
CANVASLINE 5 5 5 45 green 2
CANVASLINE 95 5 95 45 blue 3
END
-

CANVASLINE

-

CANVASLINEVALUE

+
CANVAS 100 50
CANVASLINE 5 5 95 5
CANVASLINE 5 5 5 45 green 2
CANVASLINE 95 5 95 45 blue 3
END
+

CANVASLINE

+

CANVASLINEVALUE

Draws a color changing line onto the canvas

The line is represented by one of two colors based on the value of the associated telemetry item

-
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Start X PositionX position of the start of the line on the canvasTrue
Start Y PositionY position of the start of the line on the canvasTrue
End X PositionX position of the end of the line on the canvasTrue
End Y PositionY position of the end of the line on the canvasTrue
WidthWidth of the line in pixels (default = 3)False
Value typeThe type of the value to display. Default is CONVERTED

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False
+
ParameterDescriptionRequired
Target nameThe target nameTrue
Packet nameThe packet nameTrue
Item nameThe item nameTrue
Start X PositionX position of the start of the line on the canvasTrue
Start Y PositionY position of the start of the line on the canvasTrue
End X PositionX position of the end of the line on the canvasTrue
End Y PositionY position of the end of the line on the canvasTrue
WidthWidth of the line in pixels (default = 3)False
Value typeThe type of the value to display. Default is CONVERTED

Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS
False

Example Usage:

-
CANVAS 120 50
CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black
CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW
SETTING VALUE_EQ 1 GREEN
SETTING VALUE_EQ 0 RED
CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45
SETTING VALUE_EQ CONNECTED GREEN
SETTING VALUE_EQ UNAVAILABLE RED
END
-

CANVASLINEVALUE

+
CANVAS 120 50
CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black
CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW
SETTING VALUE_EQ 1 GREEN
SETTING VALUE_EQ 0 RED
CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45
SETTING VALUE_EQ CONNECTED GREEN
SETTING VALUE_EQ UNAVAILABLE RED
END
+

CANVASLINEVALUE

The following settings apply to CANVASLINEVALUE. They are applied using the SETTING keyword.

-

VALUE_EQ

-

(Since 5.5.1)
Map a value to a color

-
ParameterDescriptionRequired
ValueState or valueTrue
ColorColor of the lineTrue
-

CANVASDOT

+

VALUE_EQ

+

(Since 5.5.1)
Map a value to a color

+
ParameterDescriptionRequired
ValueState or valueTrue
ColorColor of the lineTrue
+

CANVASDOT

Draws a dot onto the canvas

-
ParameterDescriptionRequired
X PositionX position of the dotTrue
Y PositionY position of the dotTrue
ColorColor of the dotTrue
RadiusRadius of the dot in pixelsTrue
+
ParameterDescriptionRequired
X PositionX position of the dotTrue
Y PositionY position of the dotTrue
ColorColor of the dotTrue
RadiusRadius of the dot in pixelsTrue

Example Usage:

-
CANVAS 50 50
CANVASDOT 10 15 BLUE 5
END
-

CANVASDOT

-

Example File

+
CANVAS 50 50
CANVASDOT 10 15 BLUE 5
END
+

CANVASDOT

+

Example File

Example File: TARGET/myscreen.txt

-
SCREEN AUTO AUTO 0.5
VERTICAL
TITLE "<%= target_name %> Commanding Examples"
LABELVALUE INST HEALTH_STATUS COLLECTS
LABELVALUE INST HEALTH_STATUS COLLECT_TYPE
LABELVALUE INST HEALTH_STATUS DURATION
VERTICALBOX "Send Collect Command:"
HORIZONTAL
LABEL "Type: "
NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL
END
HORIZONTAL
LABEL " Duration: "
NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"
END
BUTTON 'Start Collect' "api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())"
END
SETTING BACKCOLOR 163 185 163
VERTICALBOX "Parameter-less Commands:"
NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index
RADIOBUTTON 'Abort'
RADIOBUTTON 'Clear'
END
NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED
BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))"
END
SETTING BACKCOLOR 163 185 163
END
- - \ No newline at end of file +
SCREEN AUTO AUTO 0.5
VERTICAL
TITLE "<%= target_name %> Commanding Examples"
LABELVALUE INST HEALTH_STATUS COLLECTS
LABELVALUE INST HEALTH_STATUS COLLECT_TYPE
LABELVALUE INST HEALTH_STATUS DURATION
VERTICALBOX "Send Collect Command:"
HORIZONTAL
LABEL "Type: "
NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL
END
HORIZONTAL
LABEL " Duration: "
NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"
END
BUTTON 'Start Collect' "api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())"
END
SETTING BACKCOLOR 163 185 163
VERTICALBOX "Parameter-less Commands:"
NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index
RADIOBUTTON 'Abort'
RADIOBUTTON 'Clear'
END
NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED
BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))"
END
SETTING BACKCOLOR 163 185 163
END
\ No newline at end of file diff --git a/docs/docs/configuration/telemetry.html b/docs/docs/configuration/telemetry.html index 87e6f591cb..404d37595e 100644 --- a/docs/docs/configuration/telemetry.html +++ b/docs/docs/configuration/telemetry.html @@ -1,218 +1,212 @@ - - - - - -Telemetry | OpenC3 Docs - - - - -

Telemetry

Telemetry Definition Files

-

Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters.

+Telemetry | OpenC3 Docs

Telemetry

Telemetry Definition Files

+

Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters.

When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items.

-
Printing Data

Most data types can be printed in a COSMOS script simply by doing print(tlm("TGT PKT ITEM")). However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called formatted to help you view binary data. If ITEM is a BLOCK type containing binary try puts tlm("TGT PKT ITEM").formatted (Ruby) and print(formatted(tlm("TGT PKT ITEM"))) (Python) which will print the bytes out as hex.

-

ID Items

-

All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ID_ITEM and APPEND_ID_ITEM. As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set TLM_UNIQUE_ID_MODE in the target.txt file which incurs a performance penalty on every packet identification.

-

Variable Sized Items

-

COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet.

-

Derived Items

-

COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition.

-
ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4"
-

Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. READ_CONVERSION, to generate the value.

-

Received Time and Packet Time

+
Printing Data

Most data types can be printed in a COSMOS script simply by doing print(tlm("TGT PKT ITEM")). However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called formatted to help you view binary data. If ITEM is a BLOCK type containing binary try puts tlm("TGT PKT ITEM").formatted (Ruby) and print(formatted(tlm("TGT PKT ITEM"))) (Python) which will print the bytes out as hex.

+

ID Items

+

All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ID_ITEM and APPEND_ID_ITEM. As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set TLM_UNIQUE_ID_MODE in the target.txt file which incurs a performance penalty on every packet identification.

+

Variable Sized Items

+

COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet.

+

Derived Items

+

COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition.

+
ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4"
+

Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. READ_CONVERSION, to generate the value.

+

Received Time and Packet Time

COSMOS automatically creates several telemetry items on every packet: PACKET_TIMESECONDS, PACKET_TIMEFORMATTED, RECEIVED_COUNT, RECEIVED_TIMEFORMATTED, and RECEIVED_TIMESECONDS.

RECEIVED_TIME is the time that COSMOS receives the packet. This is set by the interface which is connected to the target and is receiving the raw data. Once a packet has been created out of the raw data the time is set.

-

PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected.

+

PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected.

The _TIMEFORMATTED items returns the date and time in a YYYY/MM/DD HH:MM:SS.sss format and the _TIMESECONDS returns the Unix seconds of the time. Internally these are both stored as either a Ruby Time object or Python date object.

-

Example

+

Example

COSMOS provides a Unix time conversion class which returns a Ruby Time object or Python date object based on the number of seconds and (optionally) microseconds since the Unix epoch. Note: This returns a native object and not a float or string!

Ruby Example:

-
ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
+
ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS

Python Example:

-
ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS"
READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS
+
ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS"
READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS

Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet.

-
+

Telemetry Keywords

-

TELEMETRY

+

TELEMETRY

Defines a new telemetry packet

-
ParameterDescriptionRequired
TargetName of the target this telemetry packet is associated withTrue
CommandName of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.True
EndiannessIndicates if the data in this packet is in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DescriptionDescription of this telemetry packet which must be enclosed with quotesFalse
+
ParameterDescriptionRequired
TargetName of the target this telemetry packet is associated withTrue
CommandName of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.True
EndiannessIndicates if the data in this packet is in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
True
DescriptionDescription of this telemetry packet which must be enclosed with quotesFalse

Example Usage:

-
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status"
-

TELEMETRY Modifiers

+
TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status"
+

TELEMETRY Modifiers

The following keywords must follow a TELEMETRY keyword.

-

ITEM

+

ITEM

Defines a telemetry item in the current telemetry packet

-
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit OffsetBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit OffsetBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
ITEM PKTID 112 16 UINT "Packet ID"
ITEM DATA 0 0 DERIVED "Derived data"
-

ITEM Modifiers

+
ITEM PKTID 112 16 UINT "Packet ID"
ITEM DATA 0 0 DERIVED "Derived data"
+

ITEM Modifiers

The following keywords must follow a ITEM keyword.

-

FORMAT_STRING

+

FORMAT_STRING

Adds printf style formatting

-
ParameterDescriptionRequired
FormatHow to format using printf syntax. For example, '0x%0X' will display the value in hex.True
+
ParameterDescriptionRequired
FormatHow to format using printf syntax. For example, '0x%0X' will display the value in hex.True

Example Usage:

-
FORMAT_STRING "0x%0X"
-

UNITS

+
FORMAT_STRING "0x%0X"
+

UNITS

Add displayed units

-
ParameterDescriptionRequired
Full NameFull name of the units type, e.g. CelsiusTrue
AbbreviatedAbbreviation for the units, e.g. CTrue
+
ParameterDescriptionRequired
Full NameFull name of the units type, e.g. CelsiusTrue
AbbreviatedAbbreviation for the units, e.g. CTrue

Example Usage:

-
UNITS Celsius C
UNITS Kilometers KM
-

DESCRIPTION

+
UNITS Celsius C
UNITS Kilometers KM
+

DESCRIPTION

Override the defined description

-
ParameterDescriptionRequired
ValueThe new descriptionTrue
-

META

+
ParameterDescriptionRequired
ValueThe new descriptionTrue
+

META

Stores custom user metadata

Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files.

-
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse
-

Example Usage:

-
META TEST "This parameter is for test purposes only"
-

OVERLAP

-

(Since 4.4.1)
This item is allowed to overlap other items in the packet

-

If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message.

-

KEY

-

(Since 5.0.10)
Defines the key used to access this raw value in the packet.

-

Keys are often JsonPath or XPath strings

-
ParameterDescriptionRequired
Key stringThe key to access this itemTrue
-

Example Usage:

-
KEY $.book.title
-

VARIABLE_BIT_SIZE

-

(Since 5.18.0)
Marks an item as having its bit size defined by another length item

-
ParameterDescriptionRequired
Length Item NameThe name of the associated length itemTrue
Length Bits Per CountBits per count of the length item. Defaults to 8False
Length Value Bit OffsetOffset in Bits to Apply to Length Field Value. Defaults to 0False
-

STATE

+
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse
+

Example Usage:

+
META TEST "This parameter is for test purposes only"
+

OVERLAP

+

(Since 4.4.1)
This item is allowed to overlap other items in the packet

+

If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message.

+

KEY

+

(Since 5.0.10)
Defines the key used to access this raw value in the packet.

+

Keys are often JSONPath or XPath strings

+
ParameterDescriptionRequired
Key stringThe key to access this itemTrue
+

Example Usage:

+
KEY $.book.title
+

VARIABLE_BIT_SIZE

+

(Since 5.18.0)
Marks an item as having its bit size defined by another length item

+
ParameterDescriptionRequired
Length Item NameThe name of the associated length itemTrue
Length Bits Per CountBits per count of the length item. Defaults to 8False
Length Value Bit OffsetOffset in Bits to Apply to Length Field Value. Defaults to 0False
+

STATE

Defines a key/value pair for the current item

Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the telemetry item and allows for much greater clarity and less chance for user error. A catch all value of ANY applies to all other values not already defined as state values.

-
ParameterDescriptionRequired
KeyThe string state nameTrue
ValueThe numerical state value or ANY to apply the state to all other valuesTrue
ColorThe color the state should be displayed as

Valid Values: GREEN, YELLOW, RED
False
+
ParameterDescriptionRequired
KeyThe string state nameTrue
ValueThe numerical state value or ANY to apply the state to all other valuesTrue
ColorThe color the state should be displayed as

Valid Values: GREEN, YELLOW, RED
False

Example Usage:

-
APPEND_ITEM ENABLE 32 UINT "Enable setting"
STATE FALSE 0
STATE TRUE 1
STATE ERROR ANY # Match all other values to ERROR
APPEND_ITEM STRING 1024 STRING "String"
STATE "NOOP" "NOOP" GREEN
STATE "ARM LASER" "ARM LASER" YELLOW
STATE "FIRE LASER" "FIRE LASER" RED
-

READ_CONVERSION

+
APPEND_ITEM ENABLE 32 UINT "Enable setting"
STATE FALSE 0
STATE TRUE 1
STATE ERROR ANY # Match all other values to ERROR
APPEND_ITEM STRING 1024 STRING "String"
STATE "NOOP" "NOOP" GREEN
STATE "ARM LASER" "ARM LASER" YELLOW
STATE "FIRE LASER" "FIRE LASER" RED
+

READ_CONVERSION

Applies a conversion to the current telemetry item

-

Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog.

-
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.True
ParameterAdditional parameter values for the conversion which are passed to the class constructor.False
+

Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog.

+
ParameterDescriptionRequired
Class FilenameThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.True
ParameterAdditional parameter values for the conversion which are passed to the class constructor.False

Ruby Example:

-
READ_CONVERSION the_great_conversion.rb 1000

Defined in the_great_conversion.rb:

require 'openc3/conversions/conversion'
module OpenC3
class TheGreatConversion < Conversion
def initialize(multiplier)
super()
@multiplier = multiplier.to_f
end
def call(value, packet, buffer)
return value * @multiplier
end
end
end
+
READ_CONVERSION the_great_conversion.rb 1000

Defined in the_great_conversion.rb:

require 'openc3/conversions/conversion'
module OpenC3
class TheGreatConversion < Conversion
def initialize(multiplier)
super()
@multiplier = multiplier.to_f
end
def call(value, packet, buffer)
return value * @multiplier
end
end
end

Python Example:

-
READ_CONVERSION the_great_conversion.py 1000

Defined in the_great_conversion.py:

from openc3.conversions.conversion import Conversion
class TheGreatConversion(Conversion):
def __init__(self, multiplier):
super().__init__()
self.multiplier = float(multiplier)
def call(self, value, packet, buffer):
return value * multiplier
-

POLY_READ_CONVERSION

+
READ_CONVERSION the_great_conversion.py 1000

Defined in the_great_conversion.py:

from openc3.conversions.conversion import Conversion
class TheGreatConversion(Conversion):
def __init__(self, multiplier):
super().__init__()
self.multiplier = float(multiplier)
def call(self, value, packet, buffer):
return value * self.multiplier
+

POLY_READ_CONVERSION

Adds a polynomial conversion factor to the current telemetry item

The conversion factor is applied to raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog.

-
ParameterDescriptionRequired
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False
+
ParameterDescriptionRequired
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False

Example Usage:

-
POLY_READ_CONVERSION 10 0.5 0.25
-

SEG_POLY_READ_CONVERSION

+
POLY_READ_CONVERSION 10 0.5 0.25
+

SEG_POLY_READ_CONVERSION

Adds a segmented polynomial conversion factor to the current telemetry item

This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog.

-
ParameterDescriptionRequired
Lower BoundDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.True
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False
+
ParameterDescriptionRequired
Lower BoundDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.True
C0CoefficientTrue
CxAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.False

Example Usage:

-
SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
SEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
SEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
-

GENERIC_READ_CONVERSION_START

+
SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50
SEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100
SEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100
+

GENERIC_READ_CONVERSION_START

Start a generic read conversion

-

Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given.

-
warning

Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance.

-
ParameterDescriptionRequired
Converted TypeType of the converted value

Valid Values: INT, UINT, FLOAT, STRING, BLOCK
False
Converted Bit SizeBit size of converted valueFalse
+

Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given.

+
warning

Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance.

+
ParameterDescriptionRequired
Converted TypeType of the converted value

Valid Values: INT, UINT, FLOAT, STRING, BLOCK
False
Converted Bit SizeBit size of converted valueFalse

Ruby Example:

-
APPEND_ITEM ITEM1 32 UINT
GENERIC_READ_CONVERSION_START
return (value * 1.5).to_i # Convert the value by a scale factor
GENERIC_READ_CONVERSION_END
+
APPEND_ITEM ITEM1 32 UINT
GENERIC_READ_CONVERSION_START
return (value * 1.5).to_i # Convert the value by a scale factor
GENERIC_READ_CONVERSION_END

Python Example:

-
APPEND_ITEM ITEM1 32 UINT
GENERIC_READ_CONVERSION_START
return int(value * 1.5) # Convert the value by a scale factor
GENERIC_READ_CONVERSION_END
-

GENERIC_READ_CONVERSION_END

+
APPEND_ITEM ITEM1 32 UINT
GENERIC_READ_CONVERSION_START
return int(value * 1.5) # Convert the value by a scale factor
GENERIC_READ_CONVERSION_END
+

GENERIC_READ_CONVERSION_END

Complete a generic read conversion

-

LIMITS

+

LIMITS

Defines a set of limits for a telemetry item

-

If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing.

-
ParameterDescriptionRequired
Limits SetName of the limits set. If you have no unique limits sets use the keyword DEFAULT.True
PersistenceNumber of consecutive times the telemetry item must be within a different limits range before changing limits state.True
Initial StateWhether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state.

Valid Values: ENABLED, DISABLED
True
Red Low LimitIf the telemetry value is less than or equal to this value a Red Low condition will be detectedTrue
Yellow Low LimitIf the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detectedTrue
Yellow High LimitIf the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detectedTrue
Red High LimitIf the telemetry value is greater than or equal to this value a Red High condition will be detectedTrue
Green Low LimitSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.False
Green High LimitSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.False
+

If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing.

+
ParameterDescriptionRequired
Limits SetName of the limits set. If you have no unique limits sets use the keyword DEFAULT.True
PersistenceNumber of consecutive times the telemetry item must be within a different limits range before changing limits state.True
Initial StateWhether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state.

Valid Values: ENABLED, DISABLED
True
Red Low LimitIf the telemetry value is less than or equal to this value a Red Low condition will be detectedTrue
Yellow Low LimitIf the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detectedTrue
Yellow High LimitIf the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detectedTrue
Red High LimitIf the telemetry value is greater than or equal to this value a Red High condition will be detectedTrue
Green Low LimitSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.False
Green High LimitSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.False

Example Usage:

-
LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
LIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0
-

LIMITS_RESPONSE

+
LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
LIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0
+

LIMITS_RESPONSE

Defines a response class that is called when the limits state of the current item changes

-
ParameterDescriptionRequired
Response Class FilenameName of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory.True
Response Specific OptionsVariable length number of options that will be passed to the class constructorFalse
+
ParameterDescriptionRequired
Response Class FilenameName of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory.True
Response Specific OptionsVariable length number of options that will be passed to the class constructorFalse

Ruby Example:

-
LIMITS_RESPONSE example_limits_response.rb 10
+
LIMITS_RESPONSE example_limits_response.rb 10

Python Example:

-
LIMITS_RESPONSE example_limits_response.py 10
-

APPEND_ITEM

+
LIMITS_RESPONSE example_limits_response.py 10
+

APPEND_ITEM

Defines a telemetry item in the current telemetry packet

-
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
APPEND_ITEM PKTID 16 UINT "Packet ID"
-

ID_ITEM

-

Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet.

-
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit OffsetBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK
True
ID ValueThe value of this telemetry item that uniquely identifies this telemetry packetTrue
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
APPEND_ITEM PKTID 16 UINT "Packet ID"
+

ID_ITEM

+

Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet.

+
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit OffsetBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK
True
ID ValueThe value of this telemetry item that uniquely identifies this telemetry packetTrue
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1"
-

APPEND_ID_ITEM

+
ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1"
+

APPEND_ID_ITEM

Defines a telemetry item in the current telemetry packet

-
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK
True
ID ValueThe value of this telemetry item that uniquely identifies this telemetry packetTrue
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit SizeBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.True
Data TypeData Type of this telemetry item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK
True
ID ValueThe value of this telemetry item that uniquely identifies this telemetry packetTrue
DescriptionDescription for this telemetry item which must be enclosed with quotesFalse
EndiannessIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields.

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1"
-

ARRAY_ITEM

+
APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1"
+

ARRAY_ITEM

Defines a telemetry item in the current telemetry packet that is an array

-
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit OffsetBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Bit OffsetBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats"
-

APPEND_ARRAY_ITEM

+
ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats"
+

APPEND_ARRAY_ITEM

Defines a telemetry item in the current telemetry packet that is an array

-
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False
+
ParameterDescriptionRequired
NameName of the telemety item. Must be unique within the packet.True
Item Bit SizeBit size of each array itemTrue
Item Data TypeData Type of each array item

Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED
True
Array Bit SizeTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.True
DescriptionDescription which must be enclosed with quotesFalse
EndiannessIndicates if the data is to be sent in Big Endian or Little Endian format

Valid Values: BIG_ENDIAN, LITTLE_ENDIAN
False

Example Usage:

-
APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats"
-

SELECT_ITEM

+
APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats"
+

SELECT_ITEM

Selects an existing telemetry item for editing

Must be used in conjunction with SELECT_TELEMETRY to first select the packet. Typically used to override generated values or make specific changes to telemetry that only affect a particular instance of a target used multiple times.

-
ParameterDescriptionRequired
ItemName of the item to select for modificationTrue
+
ParameterDescriptionRequired
ItemName of the item to select for modificationTrue

Example Usage:

-
SELECT_TELEMETRY INST HEALTH_STATUS
SELECT_ITEM TEMP1
# Define limits for this item, overrides or replaces any existing
LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0
-

DELETE_ITEM

-

(Since 4.4.1)
Delete an existing telemetry item from the packet definition

-

Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item.

-
ParameterDescriptionRequired
ItemName of the item to deleteTrue
+
SELECT_TELEMETRY INST HEALTH_STATUS
SELECT_ITEM TEMP1
# Define limits for this item, overrides or replaces any existing
LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0
+

DELETE_ITEM

+

(Since 4.4.1)
Delete an existing telemetry item from the packet definition

+

Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item.

+
ParameterDescriptionRequired
ItemName of the item to deleteTrue

Example Usage:

-
SELECT_TELEMETRY INST HEALTH_STATUS
DELETE_ITEM TEMP4
-

META

+
SELECT_TELEMETRY INST HEALTH_STATUS
DELETE_ITEM TEMP4
+

META

Stores metadata for the current telemetry packet

Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files.

-
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse
+
ParameterDescriptionRequired
Meta NameName of the metadata to storeTrue
Meta ValuesOne or more values to be stored for this Meta NameFalse

Example Usage:

-
META FSW_TYPE "struct tlm_packet"
-

PROCESSOR

+
META FSW_TYPE "struct tlm_packet"
+

PROCESSOR

Defines a processor class that executes code every time a packet is received

-
ParameterDescriptionRequired
Processor NameThe name of the processorTrue
Processor Class FilenameName of the Ruby or Python file which implements the processor. This file should be in the target's lib directory.True
Processor Specific OptionsVariable length number of options that will be passed to the class constructor.False
+
ParameterDescriptionRequired
Processor NameThe name of the processorTrue
Processor Class FilenameName of the Ruby or Python file which implements the processor. This file should be in the target's lib directory.True
Processor Specific OptionsVariable length number of options that will be passed to the class constructor.False

Ruby Example:

-
PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1
+
PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1

Python Example:

-
PROCESSOR TEMP1HIGH watermark_processor.py TEMP1
-

ALLOW_SHORT

+
PROCESSOR TEMP1HIGH watermark_processor.py TEMP1
+

ALLOW_SHORT

Process telemetry packets which are less than their defined length

Allows the telemetry packet to be received with a data portion that is smaller than the defined size without warnings. Any extra space in the packet will be filled in with zeros by OpenC3.

-

HIDDEN

+

HIDDEN

Hides this telemetry packet from all the OpenC3 tools

This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator. It also hides this telemetry from appearing in the Script Runner popup helper when writing scripts. The telemetry still exists in the system and can received and checked by scripts.

-

ACCESSOR

-

(Since 5.0.10)
Defines the class used to read and write raw values from the packet

-

Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor.

-
ParameterDescriptionRequired
Accessor Class NameThe name of the accessor classTrue
-

IGNORE_OVERLAP

-

(Since 5.16.0)
Ignores any packet items which overlap

+

ACCESSOR

+

(Since 5.0.10)
Defines the class used to read and write raw values from the packet

+

Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see Accessors.

+
ParameterDescriptionRequired
Accessor Class NameThe name of the accessor classTrue
+

TEMPLATE

+

(Since 5.0.10)
Defines a template string used to pull telemetry values from a string buffer

+
ParameterDescriptionRequired
TemplateThe template string which should be enclosed in quotesTrue
+

TEMPLATE_FILE

+

(Since 5.0.10)
Defines a template file used to pull telemetry values from a string buffer

+
ParameterDescriptionRequired
Template File PathThe relative path to the template file. Filename should generally start with an underscore.True
+

IGNORE_OVERLAP

+

(Since 5.16.0)
Ignores any packet items which overlap

Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword. This ignores overlaps across the entire packet.

-

VIRTUAL

-

(Since 5.18.0)
Marks this packet as virtual and not participating in identification

+

VIRTUAL

+

(Since 5.18.0)
Marks this packet as virtual and not participating in identification

Used for packet definitions that can be used as structures for items with a given packet.

-

SELECT_TELEMETRY

+

SELECT_TELEMETRY

Selects an existing telemetry packet for editing

Typically used in a separate configuration file from where the original telemetry is defined to override or add to the existing telemetry definition. Must be used in conjunction with SELECT_ITEM to change an individual item.

-
ParameterDescriptionRequired
Target NameName of the target this telemetry packet is associated withTrue
Packet NameName of the telemetry packet to selectTrue
+
ParameterDescriptionRequired
Target NameName of the target this telemetry packet is associated withTrue
Packet NameName of the telemetry packet to selectTrue

Example Usage:

-
SELECT_TELEMETRY INST HEALTH_STATUS
SELECT_ITEM TEMP1
# Define limits for this item, overrides or replaces any existing
LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0
-

LIMITS_GROUP

+
SELECT_TELEMETRY INST HEALTH_STATUS
SELECT_ITEM TEMP1
# Define limits for this item, overrides or replaces any existing
LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0
+

LIMITS_GROUP

Defines a group of related limits Items

-

Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled.

-
ParameterDescriptionRequired
Group NameName of the limits groupTrue
-

LIMITS_GROUP_ITEM

+

Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled.

+
ParameterDescriptionRequired
Group NameName of the limits groupTrue
+

LIMITS_GROUP_ITEM

Adds the specified telemetry item to the last defined LIMITS_GROUP

Limits group information is typically kept in a separate configuration file in the config/TARGET/cmd_tlm folder named limits_groups.txt.

-
ParameterDescriptionRequired
Target NameName of the targetTrue
Packet NameName of the packetTrue
Item NameName of the telemetry item to add to the groupTrue
+
ParameterDescriptionRequired
Target NameName of the targetTrue
Packet NameName of the packetTrue
Item NameName of the telemetry item to add to the groupTrue

Example Usage:

-
LIMITS_GROUP SUBSYSTEM
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3
-

Example File

+
LIMITS_GROUP SUBSYSTEM
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3
+

Example File

Example File: TARGET/cmd_tlm/tlm.txt

-
TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target"
ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)"
ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)"
STATE TLM 0
STATE CMD 1
ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG"
STATE FALSE 0
STATE TRUE 1
ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID"
ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS"
STATE FIRST 0
STATE CONT 1
STATE LAST 2
STATE NOGROUP 3
ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT"
ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH"
ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)"
ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)"
ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)"
ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees"
POLY_READ_CONVERSION 0 57.295
ITEM MODE 128 8 UINT "Instrument Mode"
STATE NORMAL 0 GREEN
STATE DIAG 1 YELLOW
ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS"
GENERIC_READ_CONVERSION_START FLOAT 32
((packet.read('ccsdsday') * 86400.0) + (packet.read('ccsdsmsod') / 1000.0) + (packet.read('ccsdsusoms') / 1000000.0) )
GENERIC_READ_CONVERSION_END
ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING"
GENERIC_READ_CONVERSION_START STRING 216
time = Time.ccsds2mdy(packet.read('ccsdsday'), packet.read('ccsdsmsod'), packet.read('ccsdsusoms'))
sprintf('%04u/%02u/%02u %02u:%02u:%02u.%06u', time[0], time[1], time[2], time[3], time[4], time[5], time[6])
GENERIC_READ_CONVERSION_END
- - \ No newline at end of file +
TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target"
ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)"
ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)"
STATE TLM 0
STATE CMD 1
ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG"
STATE FALSE 0
STATE TRUE 1
ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID"
ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS"
STATE FIRST 0
STATE CONT 1
STATE LAST 2
STATE NOGROUP 3
ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT"
ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH"
ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)"
ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)"
ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)"
ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees"
POLY_READ_CONVERSION 0 57.295
ITEM MODE 128 8 UINT "Instrument Mode"
STATE NORMAL 0 GREEN
STATE DIAG 1 YELLOW
ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS"
GENERIC_READ_CONVERSION_START FLOAT 32
((packet.read('ccsdsday') * 86400.0) + (packet.read('ccsdsmsod') / 1000.0) + (packet.read('ccsdsusoms') / 1000000.0) )
GENERIC_READ_CONVERSION_END
ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING"
GENERIC_READ_CONVERSION_START STRING 216
time = Time.ccsds2mdy(packet.read('ccsdsday'), packet.read('ccsdsmsod'), packet.read('ccsdsusoms'))
sprintf('%04u/%02u/%02u %02u:%02u:%02u.%06u', time[0], time[1], time[2], time[3], time[4], time[5], time[6])
GENERIC_READ_CONVERSION_END
\ No newline at end of file diff --git a/docs/docs/development.html b/docs/docs/development.html index 4a66e36e44..db1384d427 100644 --- a/docs/docs/development.html +++ b/docs/docs/development.html @@ -1,13 +1 @@ - - - - - -Development | OpenC3 Docs - - - - - - - \ No newline at end of file +Development | OpenC3 Docs \ No newline at end of file diff --git a/docs/docs/development/curl.html b/docs/docs/development/curl.html index d7f69d8f51..fe319284a9 100644 --- a/docs/docs/development/curl.html +++ b/docs/docs/development/curl.html @@ -1,37 +1,27 @@ - - - - - -Testing with Curl | OpenC3 Docs - - - - -

Testing with Curl

This documentation is for COSMOS Developers

This information is just generally used behind the scenes in COSMOS tools

+Testing with Curl | OpenC3 Docs

Testing with Curl

This documentation is for COSMOS Developers

This information is just generally used behind the scenes in COSMOS tools

The COSMOS APIs are all served over HTTP, which means you can use curl to experiment with them. Curl is a great tool for seeing exactly how the API responds to any given request.

-

Curl Example with OpenC3 COSMOS Open Source

+

Curl Example with OpenC3 COSMOS Open Source

OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this.

Request:

-
curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api
+
curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api

Response:

-
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 51
Content-Type: application/json-rpc
Etag: W/"e806aacfdbed0b325e7a5928e3bb5cf4"
Vary: Origin
X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939
X-Runtime: 0.059044
Date: Sat, 04 Nov 2023 21:34:47 GMT

{"jsonrpc":"2.0","id":8,"result":53.26555000000001}
-

Curl Example with OpenC3 COSMOS Enterprise

+
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 51
Content-Type: application/json-rpc
Etag: W/"e806aacfdbed0b325e7a5928e3bb5cf4"
Vary: Origin
X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939
X-Runtime: 0.059044
Date: Sat, 04 Nov 2023 21:34:47 GMT

{"jsonrpc":"2.0","id":8,"result":53.26555000000001}
+

Curl Example with OpenC3 COSMOS Enterprise

OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request.

Keycloak Request:

-
# Get tokens from Keycloak - You will need to update the username and password with your account
curl -i -H "Content-Type: application/x-www-form-urlencoded" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token
+
# Get tokens from Keycloak - You will need to update the username and password with your account
curl -i -H "Content-Type: application/x-www-form-urlencoded" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token

Keycloak Response:

-
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Length: 3207
Content-Type: application/json
Pragma: no-cache
Referrer-Policy: no-referrer
Set-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly
Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Date: Wed, 10 May 2023 00:40:40 GMT

{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"}
+
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Length: 3207
Content-Type: application/json
Pragma: no-cache
Referrer-Policy: no-referrer
Set-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly
Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Date: Wed, 10 May 2023 00:40:40 GMT

{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"}

COSMOS Request:

-
# COSMOS Request now looks like this:

curl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api
+
# COSMOS Request now looks like this:

curl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api

COSMOS Response:

-
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Type: application/json-rpc
Etag: W/"1e44c0878528687014e1e60a1cbebdae"
Vary: Origin
X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c
X-Runtime: 0.046477
Date: Wed, 10 May 2023 00:41:33 GMT
Transfer-Encoding: chunked

{"jsonrpc":"2.0","id":8,"result":29.204100000000007}
-

Suite Runner Example

-

It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser: -Network Traffic in browser developer tools

-

You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as curl" (depends on the browser). Here is an example of the second one:

-
curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \
-X 'POST' \
-H 'Accept: application/json' \
-H 'Accept-Language: en-US,en;q=0.9' \
-H 'Authorization: pass' \
-H 'Connection: keep-alive' \
-H 'Content-Length: 0' \
-H 'Origin: http://ascportal:2900' \
-H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \
--insecure
-

Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case POST). If we inspect all of these we'll find out what each one does:

+
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Type: application/json-rpc
Etag: W/"1e44c0878528687014e1e60a1cbebdae"
Vary: Origin
X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c
X-Runtime: 0.046477
Date: Wed, 10 May 2023 00:41:33 GMT
Transfer-Encoding: chunked

{"jsonrpc":"2.0","id":8,"result":29.204100000000007}
+

Suite Runner Example

+

It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser: +Network Traffic in browser developer tools

+

You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as curl" (depends on the browser). Here is an example of the second one:

+
curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \
-X 'POST' \
-H 'Accept: application/json' \
-H 'Accept-Language: en-US,en;q=0.9' \
-H 'Authorization: pass' \
-H 'Connection: keep-alive' \
-H 'Content-Length: 0' \
-H 'Origin: http://ascportal:2900' \
-H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \
--insecure
+

Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case POST). If we inspect all of these we'll find out what each one does:

  1. Set the script contents
      @@ -39,12 +29,10 @@

      Suite R
    • Note that this is a different request to GET the script contents. This is done on the page load.
  2. -
  3. Lock the script (so other users can't edit it during execution)
  4. +
  5. Lock the script (so other users can't edit it during execution)
  6. Run script (this takes a JSON with options)
  7. Open Websocket for logs
  8. Request Result (this URL is a little different because the results are saved in redis)

Below is a bash script which does all the above given some options. It requires curl for the web requests and jq for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result.

-
#!/bin/bash
set -e
TARGET=${1:-'TARGET'}
SCRIPT=${2:-'procedures/cmd_tlm_test.rb'}
SUITE=${3:-'TestSuite'}
COSMOS_HOST='http://localhost:2900'
SCRIPT_API="$COSMOS_HOST/script-api"
SCRIPT_PATH="scripts/$TARGET/$SCRIPT"
CURL_ARGS=(
-H 'Accept: application/json'
-H 'Authorization: password'
-H 'Accept-Language: en-US,en;q=0.9'
-H 'Connection: keep-alive'
-H 'Content-Type: application/json'
--insecure
--silent )

# Lock script #
curl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}"

# Run script #
RUN_OPTS=$(cat <<-json
{
"environment": [],
"suiteRunner": {
"method": "start",
"suite": "$SUITE",
"options": [
"continueAfterError"
]
}
}
json
)
RUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .)
ID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}")

echo "Starting Script '$SCRIPT_PATH' at $(date) (may take up to 15 minutes)" > /dev/stderr
echo "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr
# Loop while Script ID is still running #
while true; do
SCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")"
if [[ -z $SCRIPT_STATUS ]]; then
break;
fi
sleep 2
done

# Request results #
BUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\
jq '[.[]|select(.name | test("'"${SCRIPT_PATH#scripts/}"' "))][0] | .log | @uri' -r)"

URL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)"

curl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}"
- - \ No newline at end of file +
#!/bin/bash
set -e
TARGET=${1:-'TARGET'}
SCRIPT=${2:-'procedures/cmd_tlm_test.rb'}
SUITE=${3:-'TestSuite'}
COSMOS_HOST='http://localhost:2900'
SCRIPT_API="$COSMOS_HOST/script-api"
SCRIPT_PATH="scripts/$TARGET/$SCRIPT"
CURL_ARGS=(
-H 'Accept: application/json'
-H 'Authorization: password'
-H 'Accept-Language: en-US,en;q=0.9'
-H 'Connection: keep-alive'
-H 'Content-Type: application/json'
--insecure
--silent )

# Lock script #
curl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}"

# Run script #
RUN_OPTS=$(cat <<-json
{
"environment": [],
"suiteRunner": {
"method": "start",
"suite": "$SUITE",
"options": [
"continueAfterError"
]
}
}
json
)
RUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .)
ID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}")

echo "Starting Script '$SCRIPT_PATH' at $(date) (may take up to 15 minutes)" > /dev/stderr
echo "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr
# Loop while Script ID is still running #
while true; do
SCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")"
if [[ -z $SCRIPT_STATUS ]]; then
break;
fi
sleep 2
done

# Request results #
BUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\
jq '[.[]|select(.name | test("'"${SCRIPT_PATH#scripts/}"' "))][0] | .log | @uri' -r)"

URL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)"

curl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}"
\ No newline at end of file diff --git a/docs/docs/development/developing.html b/docs/docs/development/developing.html index 8525621412..b6010050e1 100644 --- a/docs/docs/development/developing.html +++ b/docs/docs/development/developing.html @@ -1,72 +1,60 @@ - - - - - -Developing COSMOS | OpenC3 Docs - - - - -

Developing COSMOS

-

So you want to help develop COSMOS? All of our open source COSMOS code is on Github so the first thing to do is get an account. Next clone the COSMOS repository. We accept contributions from others as Pull Requests.

-

Development Tools

-

The core COSMOS team develops with the Visual Studio Code editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our openc3.code-workspace configuration for VSCode to help configure these plugins. You also need Docker Desktop which you should already have as it is a requirement to run COSMOS. You'll also need NodeJS and yarn installed.

+Developing COSMOS | OpenC3 Docs

Developing COSMOS

+

So you want to help develop COSMOS? All of our open source COSMOS code is on Github so the first thing to do is get an account. Next clone the COSMOS repository. We accept contributions from others as Pull Requests.

+

Development Tools

+

The core COSMOS team develops with the Visual Studio Code editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our openc3.code-workspace configuration for VSCode to help configure these plugins. You also need Docker Desktop which you should already have as it is a requirement to run COSMOS. You'll also need NodeJS and yarn installed.

Building COSMOS

Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts.

Build COSMOS using the openc3.sh script:

-
% ./openc3.sh build
+
% ./openc3.sh build

This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build!

Once the build completes you can see the built images with the following command:

-
% docker image ls | grep "openc3"
openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB
openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB
openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB
openc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB
openc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB
openc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB
openc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB
openc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB
openc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB
openc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB
-
Offline Building

If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the .env file. Example values:

ALPINE_VERSION=3.18
+

% docker image ls | grep "openc3"
openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB
openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB
openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB
openc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB
openc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB
openc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB
openc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB
openc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB
openc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB
openc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB
+
Offline Building

If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the .env file. Example values:

ALPINE_VERSION=3.18
ALPINE_BUILD=9
-RUBYGEMS_URL=https://rubygems.org
-NPM_URL=https://registry.npmjs.org
-APK_URL=http://dl-cdn.alpinelinux.org

+RUBYGEMS_URL=https://rubygems.org
+NPM_URL=https://registry.npmjs.org
+APK_URL=http://dl-cdn.alpinelinux.org

Running COSMOS

Running COSMOS in development mode enables localhost access to internal API ports as well as sets RAILS_ENV=development in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode:

-
% ./openc3.sh dev
+
% ./openc3.sh dev

You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space):

-
% docker ps
IMAGE COMMAND PORTS NAMES
openc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails…" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1
openc3/openc3-script-runner-api:latest "/sbin/tini -- rails…" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1
openc3/openc3-traefik:latest "/entrypoint.sh trae…" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1
openc3/openc3-operator:latest "/sbin/tini -- ruby …" cosmos-openc3-operator-1
openc3/openc3-minio:latest "/usr/bin/docker-ent…" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1
openc3/openc3-redis:latest "docker-entrypoint.s…" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1
+
% docker ps
IMAGE COMMAND PORTS NAMES
openc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails…" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1
openc3/openc3-script-runner-api:latest "/sbin/tini -- rails…" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1
openc3/openc3-traefik:latest "/entrypoint.sh trae…" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1
openc3/openc3-operator:latest "/sbin/tini -- ruby …" cosmos-openc3-operator-1
openc3/openc3-minio:latest "/usr/bin/docker-ent…" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1
openc3/openc3-redis:latest "docker-entrypoint.s…" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1

If you go to localhost:2900 you should see COSMOS up and running!

-

Running a Frontend Application

+

Running a Frontend Application

So now that you have COSMOS up and running how do you develop an individual COSMOS application?

  1. Bootstrap the frontend with yarn
-
openc3-init % yarn
+
openc3-init % yarn
  1. Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc)
-
openc3-init % cd plugins/packages/openc3-tool-scriptrunner
openc3-tool-scriptrunner % yarn serve

DONE Compiled successfully in 128722ms
App running at:
- Local: http://localhost:2914/tools/scriptrunner/
- Network: http://localhost:2914/tools/scriptrunner/

Note that the development build is not optimized.
To create a production build, run npm run build.
+
openc3-init % cd plugins/packages/openc3-tool-scriptrunner
openc3-tool-scriptrunner % yarn serve

DONE Compiled successfully in 128722ms
App running at:
- Local: http://localhost:2914/tools/scriptrunner/
- Network: http://localhost:2914/tools/scriptrunner/

Note that the development build is not optimized.
To create a production build, run npm run build.
  1. -

    Set the single SPA override for the application

    -

    Visit localhost:2900 and Right-click 'Inspect'
    +

    Set the single SPA override for the application

    +

    Visit localhost:2900 and Right-click 'Inspect'
    In the console paste:

-
localStorage.setItem("devtools", true);
+
localStorage.setItem("devtools", true);

Refresh and you should see {...} in the bottom right
Click the Default button next to the application (@openc3/tool-scriptrunner)
Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner)

-

http://localhost:2914/tools/scriptrunner/js/app.js

+

http://localhost:2914/tools/scriptrunner/js/app.js

    -
  1. Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like console.log) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's development tools if you plan to do frontend development.
  2. +
  3. Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like console.log) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's development tools if you plan to do frontend development.
-

Running a Backend Server

+

Running a Backend Server

If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy.

  1. Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations.
-
% cd openc3-traefik
openc3-traefik % docker ps
# Look for the container with name including traefik
openc3-traefik % docker stop cosmos-openc3-traefik-1
openc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev .
openc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev
+
% cd openc3-traefik
openc3-traefik % docker ps
# Look for the container with name including traefik
openc3-traefik % docker stop cosmos-openc3-traefik-1
openc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev .
openc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev
  1. Run a local copy of the cmd-tlm-api or script-runner-api
-
% cd openc3-cosmos-cmd-tlm-api
openc3-cosmos-cmd-tlm-api % docker ps
# Look for the container with name including cmd-tlm-api
openc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1
# Run the following on Windows:
openc3-cosmos-cmd-tlm-api> dev_server.bat
# In Linux, set all the environment variables in the .env file, but override REDIS to be local
openc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a
openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1
openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1
openc3-cosmos-cmd-tlm-api % bundle install
openc3-cosmos-cmd-tlm-api % bundle exec rails s
+
% cd openc3-cosmos-cmd-tlm-api
openc3-cosmos-cmd-tlm-api % docker ps
# Look for the container with name including cmd-tlm-api
openc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1
# Run the following on Windows:
openc3-cosmos-cmd-tlm-api> dev_server.bat
# In Linux, set all the environment variables in the .env file, but override REDIS to be local
openc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a
openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1
openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1
openc3-cosmos-cmd-tlm-api % bundle install
openc3-cosmos-cmd-tlm-api % bundle exec rails s
  1. Once the bundle exec rails s command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect.
  2. -
- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/development/host-install.html b/docs/docs/development/host-install.html deleted file mode 100644 index 6f9a910acb..0000000000 --- a/docs/docs/development/host-install.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -Host Install | OpenC3 Docs - - - - -

Host Install

Installing COSMOS Directly onto a Host (No Containers)

-

Note: THIS IS NOT A RECOMMENDED CONFIGURATION.

-

COSMOS 5 is released as containers and intended to be run as containers. However, for various reasons someone might want to run COSMOS directly on a host. These instructions will walk through getting COSMOS 5 installed and running directly on RHEL 7 or Centos 7. This configuration will create a working install, but falls short of the ideal in that it does not setup the COSMOS processes as proper services on the host OS (that restart themselves on boot, and maintain themselves running in case of errors). Contributions that add that functionality are welcome.

-

Let's get started.

-
    -
  1. -

    The starting assumption is that you have a fresh install of either RHEL 7 or Centos 7. You are running as a normal user that has sudo permissions, and has git installed.

    -
  2. -
  3. -

    Start by downloading the latest working version of COSMOS from Github

    -
    cd ~
    git clone https://github.com/openc3/cosmos.git
    -
  4. -
  5. -

    Run the COSMOS installation script

    -

    If you are feeling brave, you can run the one large installer script that installs everything in one step:

    -
    cd cosmos/examples/hostinstall/centos7
    ./openc3_install.sh
    -

    Or, you may want to break it down to the same steps that are in that script, and make sure each individual step is successful:

    -
    cd cosmos/examples/hostinstall/centos7
    ./openc3_install_packages.sh
    ./openc3_install_ruby.sh
    ./openc3_install_redis.sh
    ./openc3_install_minio.sh
    ./openc3_install_traefik.sh
    ./openc3_install_openc3.sh
    ./openc3_start_services.sh
    ./openc3_first_init.sh
    -
  6. -
  7. -

    If all was successful, you should be able to open Firefox, and goto: http://localhost:2900. Congrats you have COSMOS running directly on a host.

    -
  8. -
  9. -

    As stated at the beginning, this is not currently a supported configuration. Contributions that help to improve it are welcome.

    -
  10. -
- - \ No newline at end of file diff --git a/docs/docs/development/json-api.html b/docs/docs/development/json-api.html index 377705a9af..5e54fd3c45 100644 --- a/docs/docs/development/json-api.html +++ b/docs/docs/development/json-api.html @@ -1,59 +1,47 @@ - - - - - -JSON API | OpenC3 Docs - - - - -

JSON API

This documentation is for COSMOS Developers

If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the Scripting API Guide page. If you're trying to interface to COSMOS from an external application using any language then this is the right place.

+JSON API | OpenC3 Docs

JSON API

This documentation is for COSMOS Developers

If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the Scripting API Guide page. If you're trying to interface to COSMOS from an external application using any language then this is the right place.

This document provides the information necessary for external applications to interact with COSMOS using the COSMOS API. External applications written in any language can send commands and retrieve individual telemetry points using this API. External applications also have the option of connecting to the COSMOS Command and Telemetry server to interact with raw tcp/ip streams of commands/telemetry. However, the COSMOS JSON API removes the requirement that external applications have knowledge of the binary formats of packets.

-

Authorization

+

Authorization

The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header.

-
Authorization: <token/password>
-

JSON-RPC 2.0

-

The COSMOS API implements a relaxed version of the JSON-RPC 2.0 Specification. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal's such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a "keyword_params" object.

-

Socket Connections

+
Authorization: <token/password>
+

JSON-RPC 2.0

+

The COSMOS API implements a relaxed version of the JSON-RPC 2.0 Specification. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal's such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a "keyword_params" object.

+

Socket Connections

The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777).

COSMOS listens for HTTP API requests at the default 2900 port at the /openc3-api/api endpoint.

-

Supported Methods

-

The list of methods supported by the COSMOS API may be found in the api source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the Scripting Writing Guide. This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here.

-

Existing Implementations

+

Supported Methods

+

The list of methods supported by the COSMOS API may be found in the api source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the Scripting Writing Guide. This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here.

+

Existing Implementations

The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript.

-

Example Usage

-

Sending Commands

+

Example Usage

+

Sending Commands

The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks

The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors.

Two parameter syntaxes are supported.

-

The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values.

-
ParameterData TypeDescription
command_stringstringA single string containing all required information for the command
+

The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values.

+
ParameterData TypeDescription
command_stringstringA single string containing all required information for the command

The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used.

-
ParameterData TypeDescription
target_nameStringName of the target to send the command to
command_nameStringThe name of the command
command_paramsHashOptional hash of command parameters
+
ParameterData TypeDescription
target_nameStringName of the target to send the command to
command_nameStringThe name of the command
command_paramsHashOptional hash of command parameters

Example Usage:

-
--> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}

--> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}
-

Getting Telemetry

+
--> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}

--> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1}
+

Getting Telemetry

The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units

The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end.

Two parameter syntaxes are supported.

-

The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME"

-
ParameterData TypeDescription
tlm_stringStringA single string containing all required information for the telemetry item
+

The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME"

+
ParameterData TypeDescription
tlm_stringStringA single string containing all required information for the telemetry item

The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name.

-
ParameterData TypeDescription
target_nameStringName of the target to get the telemetry value from
packet_nameStringName of the packet to get the telemetry value from
item_nameStringName of the telemetry item
+
ParameterData TypeDescription
target_nameStringName of the target to get the telemetry value from
packet_nameStringName of the packet to get the telemetry value from
item_nameStringName of the telemetry item

Example Usage:

-
--> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}

--> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}
-

Further Debugging

+
--> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}

--> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}}
<-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2}
+

Further Debugging

If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation.

  1. Launch COSMOS
  2. Open Command Sender
  3. -
  4. Open browser developer tools (right-click->Inspect in Chrome)
  5. -
  6. Click "Network" tab (may need to add it with + button)
  7. +
  8. Open browser developer tools (right-click->Inspect in Chrome)
  9. +
  10. Click "Network" tab (may need to add it with + button)
  11. Send a command with the GUI
  12. -
  13. View the request in the developer tool. Click the "Payload" sub-tab to view the JSON
  14. +
  15. View the request in the developer tool. Click the "Payload" sub-tab to view the JSON

You can also try sending these raw commands from the terminal with a program like curl:

-
curl -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}' http://localhost:2900/openc3-api/api  -H "Authorization: password"
- - \ No newline at end of file +
curl -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}' http://localhost:2900/openc3-api/api  -H "Authorization: password"
\ No newline at end of file diff --git a/docs/docs/development/log-structure.html b/docs/docs/development/log-structure.html index 96bdd4f174..da2575bbcb 100644 --- a/docs/docs/development/log-structure.html +++ b/docs/docs/development/log-structure.html @@ -1,38 +1,26 @@ - - - - - -Log Structure | OpenC3 Docs - - - - -

Log Structure

Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0

-

Packet Log File Format

+Log Structure | OpenC3 Docs

Log Structure

Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0

+

Packet Log File Format

Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as well as decommutated packets stored as JSON structures.

-

File Header

-

COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions.

-

Entry Types

+

File Header

+

COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions.

+

Entry Types

Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data.

-

Common Entry Format

+

Common Entry Format

This common format is used for all packet log entries:

-
FieldData TypeDescription
Length32-bit Unsigned IntegerTotal length of the entry in bytes not including the length field. Max entry size is therefore 4GiB.
Entry Type4-bit Unsigned IntegerEntry Type:
1 = Target Declaration
2 = Packet Declaraction
3 = Raw Packet
4 = JSON/CBOR Packet
5 = Offset Marker
6 = Key Map
Cmd/Tlm Flag1-bit Unsigned Integer1 = Command
0 = Telemetry
Stored Flag1-bit Unsigned Integer1 = Stored Data
0 = Realtime Data
Id Flag1-bit Unsigned Integer1 = ID present
0 = ID not present
CBOR Flag1-bit Unsigned IntegerOnly Valid for "JSON/CBOR Packets"
1 = CBOR Data
0 = JSON Data
Extra Flag1-bit Unsigned Integer1 = Extra present
0 = Extra Not Present (Added COSMOS 5.11)
Received Time Flag1-bit Unsigned Integer1 = Received Time Present
0 = No Received Time (Added COSMOS 5.11.0)
Reserved6-bit Unsigned IntegerReserved for Future expansion. Should be set to 0 if unused.
Entry DataVariableUnique data based on entry type. See Entry Types Below
Id (Optional)32-byte Binary HashIf the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration
-

Target Declaration Entry

+
FieldData TypeDescription
Length32-bit Unsigned IntegerTotal length of the entry in bytes not including the length field. Max entry size is therefore 4GiB.
Entry Type4-bit Unsigned IntegerEntry Type:
1 = Target Declaration
2 = Packet Declaraction
3 = Raw Packet
4 = JSON/CBOR Packet
5 = Offset Marker
6 = Key Map
Cmd/Tlm Flag1-bit Unsigned Integer1 = Command
0 = Telemetry
Stored Flag1-bit Unsigned Integer1 = Stored Data
0 = Realtime Data
Id Flag1-bit Unsigned Integer1 = ID present
0 = ID not present
CBOR Flag1-bit Unsigned IntegerOnly Valid for "JSON/CBOR Packets"
1 = CBOR Data
0 = JSON Data
Extra Flag1-bit Unsigned Integer1 = Extra present
0 = Extra Not Present (Added COSMOS 5.11)
Received Time Flag1-bit Unsigned Integer1 = Received Time Present
0 = No Received Time (Added COSMOS 5.11.0)
Reserved6-bit Unsigned IntegerReserved for Future expansion. Should be set to 0 if unused.
Entry DataVariableUnique data based on entry type. See Entry Types Below
Id (Optional)32-byte Binary HashIf the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration
+

Target Declaration Entry

Declares the name of a target the first time it is seen when writing the log file.

-
FieldData TypeDescription
Target NameVariable-Length ASCII StringTarget Name
-

Packet Declaration Entry

+
FieldData TypeDescription
Target NameVariable-Length ASCII StringTarget Name
+

Packet Declaration Entry

Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index.

-
FieldData TypeDescription
Target Index16-bit Unsigned IntegerIndex into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc.
Packet NameVariable-Length ASCII StringPacket Name
-

Raw Packet and JSON Packet Entries

-

Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size.

-
FieldData TypeDescription
Packet Index16-bit Unsigned IntegerIndex into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536.
Packet Timestamp64-bit Unsigned IntegerPacket timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the “packet time” for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed.
Received Timestamp (Optional)64-bit Unsigned IntegerOnly present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time” for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed.
Extra Length (Optional)32-bit Unsigned IntegerOnly Present if Extra Flag is Set. Length of extra data in bytes not including itself.
Extra Data (Optional)Variable-Length Block DataOnly Present if Extra Flag is Set. CBOR or JSON encoded object of extra data.
Packet DataVariable-Length Block DataThe Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry.
-

Offset Marker Entry

+
FieldData TypeDescription
Target Index16-bit Unsigned IntegerIndex into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc.
Packet NameVariable-Length ASCII StringPacket Name
+

Raw Packet and JSON Packet Entries

+

Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size.

+
FieldData TypeDescription
Packet Index16-bit Unsigned IntegerIndex into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536.
Packet Timestamp64-bit Unsigned IntegerPacket timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the “packet time” for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed.
Received Timestamp (Optional)64-bit Unsigned IntegerOnly present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time” for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed.
Extra Length (Optional)32-bit Unsigned IntegerOnly Present if Extra Flag is Set. Length of extra data in bytes not including itself.
Extra Data (Optional)Variable-Length Block DataOnly Present if Extra Flag is Set. CBOR or JSON encoded object of extra data.
Packet DataVariable-Length Block DataThe Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry.
+

Offset Marker Entry

This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS.

-
FieldData TypeDescription
Offset MarkerVariable-Length ASCII StringRedis Offset Marker
-

Key Map Entry

-

The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file.

-
FieldData TypeDescription
Packet Index16-bit Unsigned IntegerIndex into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc.
Key MapVariable-Length ASCII StringKey Map Data with Mapping from numeric key to actual packet item name
- - \ No newline at end of file +
FieldData TypeDescription
Offset MarkerVariable-Length ASCII StringRedis Offset Marker
+

Key Map Entry

+

The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file.

+
FieldData TypeDescription
Packet Index16-bit Unsigned IntegerIndex into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc.
Key MapVariable-Length ASCII StringKey Map Data with Mapping from numeric key to actual packet item name
\ No newline at end of file diff --git a/docs/docs/development/roadmap.html b/docs/docs/development/roadmap.html index d1649faf84..9579e2d62a 100644 --- a/docs/docs/development/roadmap.html +++ b/docs/docs/development/roadmap.html @@ -1,20 +1,10 @@ - - - - - -Roadmap | OpenC3 Docs - - - - -

Roadmap

Key Features Still to Come in OpenC3 COSMOS 5.x:

+Roadmap | OpenC3 Docs

Roadmap

Key Features Still to Come in OpenC3 COSMOS 5.x:

  Python Support
  Standardized Mission Planning Interface (aka Command Load Generator (CLG))
  Protocol buffer support
  Command Authority (Enterprise)
  Critical Commanding (Two Operators - Enterprise)

-

OpenC3 COSMOS 6.0 (Late 2024)

+

OpenC3 COSMOS 6.0 (Late 2024)

Core Features:

  Upgrade Tools to Vue 3 / Vuetify 3
  Traefik v3
@@ -31,11 +21,9 @@

O   Integration with ground networks (Atlas, RBC Signals)
  Integration with mission planning (Orbit Logic, Cognitive Space)
  Integration with flight dynamics (Kayhan, SEE, Exotrail)

-

OpenC3 COSMOS 7.0

+

OpenC3 COSMOS 7.0

Core Features:

  Super Bridge - This will enable SaaS COSMOS and provide a secure method to communicate from a cloud server to an intranet for hardware control

-

Near-term Planning

-

Our near-term planning linking to specific tickets is on our Github Planning Project.

-

If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo.

- - \ No newline at end of file +

Near-term Planning

+

Our near-term planning linking to specific tickets is on our Github Planning Project.

+

If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo.

\ No newline at end of file diff --git a/docs/docs/development/streaming-api.html b/docs/docs/development/streaming-api.html index 36ee8984d8..776d1e1562 100644 --- a/docs/docs/development/streaming-api.html +++ b/docs/docs/development/streaming-api.html @@ -1,37 +1,25 @@ - - - - - -Streaming API | OpenC3 Docs - - - - -

Streaming API

This documentation is for COSMOS Developers

This information is just generally used behind the scenes in COSMOS tools

+Streaming API | OpenC3 Docs

Streaming API

This documentation is for COSMOS Developers

This information is just generally used behind the scenes in COSMOS tools

The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested.

This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend.

The following interactions are all shown in Javascript, but would be very similar in any language. Connecting to this API begins by initiating an ActionCable connection.

-
cable = ActionCable.createConsumer('/openc3-api/cable')
+
cable = ActionCable.createConsumer('/openc3-api/cable')

This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple “subscriptions”.

A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this:

-
subscription = cable.subscriptions.create(
{
channel: "StreamingChannel",
scope: "DEFAULT",
token: token,
},
{
received: (data) => {
// Handle received data
},
connected: () => {
// First chance to add what you want to stream here
},
disconnected: () => {
// Handle the subscription being disconnected
},
rejected: () => {
// Handle the subscription being rejected
},
}
);
+
subscription = cable.subscriptions.create(
{
channel: "StreamingChannel",
scope: "DEFAULT",
token: token,
},
{
received: (data) => {
// Handle received data
},
connected: () => {
// First chance to add what you want to stream here
},
disconnected: () => {
// Handle the subscription being disconnected
},
rejected: () => {
// Handle the subscription being rejected
},
}
);

Subscribing to the StreamingApi requires passing a channel name set to “StreamingChannel”, a scope which is typically “DEFAULT”, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are connected and received.

connected runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open.

Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet.

Adding items to stream is done as follows:

-
var items = [
["DECOM__TLM__INST__ADCS__Q1__RAW", "0"],
["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"],
];
OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {
this.subscription.perform("add", {
scope: window.openc3Scope,
token: localStorage.openc3Token,
items: items,
start_time: this.startDateTime,
end_time: this.endDateTime,
});
});
-

The values in the item name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<ITEM NAME>__<VALUE TYPE>__<REDUCED TYPE>. Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV.

+
var items = [
["DECOM__TLM__INST__ADCS__Q1__RAW", "0"],
["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"],
];
OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {
this.subscription.perform("add", {
scope: window.openc3Scope,
token: localStorage.openc3Token,
items: items,
start_time: this.startDateTime,
end_time: this.endDateTime,
});
});
+

The values in the item name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<ITEM NAME>__<VALUE TYPE>__<REDUCED TYPE>. Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV.

Adding packets to stream is done as follows:

-
var packets = [
["RAW__TLM__INST__ADCS", "0"],
["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"],
];
OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {
this.subscription.perform("add", {
scope: window.openc3Scope,
token: localStorage.openc3Token,
packets: packets,
start_time: this.startDateTime,
end_time: this.endDateTime,
});
});
-

The values in the packet name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<VALUE TYPE>. Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS.

+
var packets = [
["RAW__TLM__INST__ADCS", "0"],
["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"],
];
OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {
this.subscription.perform("add", {
scope: window.openc3Scope,
token: localStorage.openc3Token,
packets: packets,
start_time: this.startDateTime,
end_time: this.endDateTime,
});
});
+

The values in the packet name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<VALUE TYPE>. Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS.

For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS). start_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data.

Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator.

-

For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet.

-
[
{
"time": 1234657585858,
"TLM__INST__ADCS__Q1__RAW": 50.0,
"TLM__INST__ADCS__Q2__RAW": 100.0
},
{
"time": 1234657585859,
"TLM__INST__ADCS__Q1__RAW": 60.0,
"TLM__INST__ADCS__Q2__RAW": 110.0
}
]
+

For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet.

+
[
{
"time": 1234657585858,
"TLM__INST__ADCS__Q1__RAW": 50.0,
"TLM__INST__ADCS__Q2__RAW": 100.0
},
{
"time": 1234657585859,
"TLM__INST__ADCS__Q1__RAW": 60.0,
"TLM__INST__ADCS__Q2__RAW": 110.0
}
]

For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data.

-
[
{
"time": 1234657585858,
"packet": "DEFAULT__TELEMETRY__INST__ADCS",
"buffer": "SkdfjGodkdfjdfoekfsg"
},
{
"time": 1234657585859,
"packet": "DEFAULT__TELEMETRY__INST__ADCS",
"buffer": "3i5n49dmnfg9fl32k3"
}
]
- - \ No newline at end of file +
[
{
"time": 1234657585858,
"packet": "DEFAULT__TELEMETRY__INST__ADCS",
"buffer": "SkdfjGodkdfjdfoekfsg"
},
{
"time": 1234657585859,
"packet": "DEFAULT__TELEMETRY__INST__ADCS",
"buffer": "3i5n49dmnfg9fl32k3"
}
]
\ No newline at end of file diff --git a/docs/docs/development/testing.html b/docs/docs/development/testing.html index 7e51769816..f44548a2e2 100644 --- a/docs/docs/development/testing.html +++ b/docs/docs/development/testing.html @@ -1,68 +1,56 @@ - - - - - -Testing COSMOS | OpenC3 Docs - - - - -

Testing COSMOS

Playwright

-

Prerequesits

+Testing COSMOS | OpenC3 Docs

Testing COSMOS

Playwright

+

Prerequesits

  1. Install Yarn

    -
    npm install --global yarn
    +
    npm install --global yarn
  2. Clone the COSMOS Playwright repo

    -
    git clone https://github.com/OpenC3/cosmos-playwright
    +
    git clone https://github.com/OpenC3/cosmos-playwright
  3. Install Playwright and dependencies

    -
    cosmos-playwright % yarn install
    +
    cosmos-playwright % yarn install
-

Playwright Testing

+

Playwright Testing

  1. Start COSMOS

    -
    cosmos % openc3.sh start
    +
    cosmos % openc3.sh start
  2. -

    Open COSMOS in your browser. At the login screen, set the password to "password".

    +

    Open COSMOS in your browser. At the login screen, set the password to "password".

  3. Run tests (Note the --headed option visually displays tests, leave it off to run in the background)

    -
    cosmos-playwright % yarn playwright test --project=chromium --headed
    +
    cosmos-playwright % yarn playwright test --project=chromium --headed
  4. [Optional] Fix istanbul/nyc coverage source lookups (use fixwindows if not on Linux).

    -

    Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work.

    -
    cosmos-playwright % yarn fixlinux
    +

    Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work.

    +
    cosmos-playwright % yarn fixlinux
  5. Generate code coverage

    -
    cosmos-playwright % yarn coverage
    +
    cosmos-playwright % yarn coverage

Code coverage reports can be viewed at openc3-playwright/coverage/index.html

-

Ruby Unit Tests

+

Ruby Unit Tests

  1. Navigate to cosmos/openc3 folder. Run the command:

    -
    cosmos/openc3 % rake build
    cosmos/openc3 % bundle exec rspec
    +
    cosmos/openc3 % rake build
    cosmos/openc3 % bundle exec rspec

Code coverage reports can be found at cosmos/openc3/coverage/index.html

-

Python Unit Tests

+

Python Unit Tests

  1. Navigate to cosmos/openc3/python folder. Run the command:

    -
    cosmos/openc3/python % python -m pip install -r requirements-dev.txt
    cosmos/openc3/python % python -m pip install -r requirements.txt
    cosmos/openc3/python % coverage run -m pytest
    cosmos/openc3/python % coverage html
    +
    cosmos/openc3/python % python -m pip install -r requirements-dev.txt
    cosmos/openc3/python % python -m pip install -r requirements.txt
    cosmos/openc3/python % coverage run -m pytest
    cosmos/openc3/python % coverage html
-

Code coverage reports can be found at cosmos/openc3/python/coverage/index.html

- - \ No newline at end of file +

Code coverage reports can be found at cosmos/openc3/python/coverage/index.html

\ No newline at end of file diff --git a/docs/docs/getting-started.html b/docs/docs/getting-started.html index ae71757e42..248b53cb4a 100644 --- a/docs/docs/getting-started.html +++ b/docs/docs/getting-started.html @@ -1,13 +1 @@ - - - - - -Getting Started | OpenC3 Docs - - - - - - - \ No newline at end of file +Getting Started | OpenC3 Docs \ No newline at end of file diff --git a/docs/docs/getting-started/generators.html b/docs/docs/getting-started/generators.html index 692e7c0bb8..da5d359cd0 100644 --- a/docs/docs/getting-started/generators.html +++ b/docs/docs/getting-started/generators.html @@ -1,64 +1,52 @@ - - - - - -Code Generators | OpenC3 Docs - - - - -

Code Generators

The COSMOS Code Generators are built into the scripts openc3.sh and openc3.bat that are included in the COSMOS project (more about projects).

-

If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available code generators type the following:

-
% openc3.sh cli generate
Unknown generator ''. Valid generators: plugin, target, microservice, widget, conversion,
limits_response, tool, tool_vue, tool_angular, tool_react, tool_svelte
-
Training Available

If any of this gets confusing, contact us at support@openc3.com. We have training classes available!

-

Plugin Generator

-

The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called openc3-cosmos-<name>. For example:

-
% openc3.sh cli generate plugin
Usage: cli generate plugin <NAME>

% openc3.sh cli generate plugin GSE
Plugin openc3-cosmos-gse successfully generated!
+Code Generators | OpenC3 Docs

Code Generators

The COSMOS Code Generators are built into the scripts openc3.sh and openc3.bat that are included in the COSMOS project (more about projects).

+

If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). To see all the available code generators type the following:

+
% openc3.sh cli generate
Unknown generator ''. Valid generators: plugin, target, microservice, widget, conversion,
limits_response, tool, tool_vue, tool_angular, tool_react, tool_svelte
+
Training Available

If any of this gets confusing, contact us at support@openc3.com. We have training classes available!

+

Plugin Generator

+

The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called openc3-cosmos-<name>. For example:

+
% openc3.sh cli generate plugin
Usage: cli generate plugin <NAME>

% openc3.sh cli generate plugin GSE
Plugin openc3-cosmos-gse successfully generated!

This creates the following files:

-
NameDescription
.gitignoreTells git to ignore any node_modules directory (for tool development)
LICENSE.txtLicense for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition.
openc3-cosmos-gse.gemspecGemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: https://guides.rubygems.org/specification-reference/
plugin.txtCOSMOS specific file for Plugin creation. Learn more here.
RakefileRuby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number
README.mdMarkdown file used to document the plugin
requirements.txtPython dependencies file (only for Python plugins)
+
NameDescription
.gitignoreTells git to ignore any node_modules directory (for tool development)
LICENSE.txtLicense for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition.
openc3-cosmos-gse.gemspecGemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: https://guides.rubygems.org/specification-reference/
plugin.txtCOSMOS specific file for Plugin creation. Learn more here.
RakefileRuby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number
README.mdMarkdown file used to document the plugin
requirements.txtPython dependencies file (only for Python plugins)

While this structure is required, it is not very useful by itself. The plugin generator just creates the framework for other generators to use.

-

Target Generator

+

Target Generator

The target generator creates the scaffolding for a new COSMOS Target. It must operate inside an existing COSMOS plugin and requires a target name. For example:

-
openc3-cosmos-gse % openc3.sh cli generate target
Usage: cli generate target <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate target GSE
Target GSE successfully generated!
+
openc3-cosmos-gse % openc3.sh cli generate target
Usage: cli generate target <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate target GSE
Target GSE successfully generated!

This creates the following files and directories:

-
NameDescription
targets/GSEContains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation.
targets/GSE/cmd_tlmContains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined).
targets/GSE/cmd_tlm/cmd.txtExample command configuration. Will need to be edited for the target specific commands.
targets/GSE/cmd_tlm/tlm.txtExample telemetry configuration. Will need to be edited for the target specific telemetry.
targets/GSE/libContains any custom code required by the target. Good examples of custom code are library files, custom interface classes and protocols.
targets/GSE/lib/gse.rb/pyExample library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse.
targets/GSE/proceduresThis folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the Scripting Guide for more information.
targets/GSE/procedures/procedure.rb/pyProcedure with an example of sending a command and checking telemetry
targets/GSE/publicPut image files here for use in Telemetry Viewer Canvas Image widgets such as CANVASIMAGE and CANVASIMAGEVALUE
targets/GSE/screensContains telemetry screens for the target
targets/GSE/screens/status.txtExample screen to display telemetry values
targets/GSE/target.txtTarget configuration such as ignoring command and telemetry items and how to process the cmd/tlm files
+
NameDescription
targets/GSEContains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation.
targets/GSE/cmd_tlmContains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined).
targets/GSE/cmd_tlm/cmd.txtExample command configuration. Will need to be edited for the target specific commands.
targets/GSE/cmd_tlm/tlm.txtExample telemetry configuration. Will need to be edited for the target specific telemetry.
targets/GSE/libContains any custom code required by the target. Good examples of custom code are library files, custom interface classes and protocols.
targets/GSE/lib/gse.rb/pyExample library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse.
targets/GSE/proceduresThis folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the Scripting Guide for more information.
targets/GSE/procedures/procedure.rb/pyProcedure with an example of sending a command and checking telemetry
targets/GSE/publicPut image files here for use in Telemetry Viewer Canvas Image widgets such as CANVASIMAGE and CANVASIMAGEVALUE
targets/GSE/screensContains telemetry screens for the target
targets/GSE/screens/status.txtExample screen to display telemetry values
targets/GSE/target.txtTarget configuration such as ignoring command and telemetry items and how to process the cmd/tlm files

It also updates the plugin.txt file to add the new target:

-
VARIABLE gse_target_name GSE

TARGET GSE <%= gse_target_name %>
INTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET <%= gse_target_name %>
-

Microservice Generator

+
VARIABLE gse_target_name GSE

TARGET GSE <%= gse_target_name %>
INTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST
MAP_TARGET <%= gse_target_name %>
+

Microservice Generator

The microservice generator creates the scaffolding for a new COSMOS Microservice. It must operate inside an existing COSMOS plugin and requires a target name. For example:

-
openc3-cosmos-gse % openc3.sh cli generate microservice
Usage: cli generate microservice <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate microservice background
Microservice BACKGROUND successfully generated!
+
openc3-cosmos-gse % openc3.sh cli generate microservice
Usage: cli generate microservice <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate microservice background
Microservice BACKGROUND successfully generated!

This creates the following files and directories:

-
NameDescription
microservices/BACKGROUNDContains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation.
microservices/BACKGROUND/background.rbFully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response).
+
NameDescription
microservices/BACKGROUNDContains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation.
microservices/BACKGROUND/background.rbFully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response).

It also updates the plugin.txt file to add the new microservice:

-
MICROSERVICE BACKGROUND background-microservice
CMD ruby background.rb
-

Conversion Generator

-

The conversion generator creates the scaffolding for a new COSMOS Conversion. It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example:

-
openc3-cosmos-gse % openc3.sh cli generate conversion
Usage: cli generate conversion <TARGET> <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate limits_response GSE double
Conversion targets/GSE/lib/double_conversion.rb successfully generated!
To use the conversion add the following to a telemetry item:
READ_CONVERSION double_conversion.rb
+
MICROSERVICE BACKGROUND background-microservice
CMD ruby background.rb
+

Conversion Generator

+

The conversion generator creates the scaffolding for a new COSMOS Conversion. It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example:

+
openc3-cosmos-gse % openc3.sh cli generate conversion
Usage: cli generate conversion <TARGET> <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate limits_response GSE double
Conversion targets/GSE/lib/double_conversion.rb successfully generated!
To use the conversion add the following to a telemetry item:
READ_CONVERSION double_conversion.rb

This creates the following files and directories:

-
NameDescription
targets/GSE/lib/double_conversion.rbFully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values.
+
NameDescription
targets/GSE/lib/double_conversion.rbFully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values.

As the generator states, to use this conversion code you must add it to a telemetry item. For example:

-
TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"
# Keyword Name BitSize Type ID Description
APPEND_ID_ITEM ID 16 INT 1 "Identifier"
APPEND_ITEM VALUE 32 FLOAT "Value"
READ_CONVERSION double_conversion.rb
APPEND_ITEM BOOL 8 UINT "Boolean"
STATE FALSE 0
STATE TRUE 1
APPEND_ITEM LABEL 0 STRING "The label to apply"
-

Limits Response Generator

-

The limits_response generator creates the scaffolding for a new COSMOS Limits Response. It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example:

-
openc3-cosmos-gse % openc3.sh cli generate limits_response
Usage: cli generate limits_response <TARGET> <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe
Limits response targets/GSE/lib/safe_limits_response.rb successfully generated!
To use the limits response add the following to a telemetry item:
LIMITS_RESPONSE safe_limits_response.rb
+
TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"
# Keyword Name BitSize Type ID Description
APPEND_ID_ITEM ID 16 INT 1 "Identifier"
APPEND_ITEM VALUE 32 FLOAT "Value"
READ_CONVERSION double_conversion.rb
APPEND_ITEM BOOL 8 UINT "Boolean"
STATE FALSE 0
STATE TRUE 1
APPEND_ITEM LABEL 0 STRING "The label to apply"
+

Limits Response Generator

+

The limits_response generator creates the scaffolding for a new COSMOS Limits Response. It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example:

+
openc3-cosmos-gse % openc3.sh cli generate limits_response
Usage: cli generate limits_response <TARGET> <NAME> (--ruby or --python)

openc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe
Limits response targets/GSE/lib/safe_limits_response.rb successfully generated!
To use the limits response add the following to a telemetry item:
LIMITS_RESPONSE safe_limits_response.rb

This creates the following files and directories:

-
NameDescription
targets/GSE/lib/safe_limits_response.rbFully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item
+
NameDescription
targets/GSE/lib/safe_limits_response.rbFully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item

As the generator states, to use this limits code you must add it to a telemetry item which has limits defined. In the generated GSE target, none of the items have limits defined so you first need to add limits and then add the response.

-
TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"
# Keyword Name BitSize Type ID Description
APPEND_ID_ITEM ID 16 INT 1 "Identifier"
APPEND_ITEM VALUE 32 FLOAT "Value"
LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
LIMITS_RESPONSE safe_limits_response.rb
APPEND_ITEM BOOL 8 UINT "Boolean"
STATE FALSE 0
STATE TRUE 1
APPEND_ITEM LABEL 0 STRING "The label to apply"
-

Widget Generator

-

The conversion generator creates the scaffolding for a new COSMOS Widget for use in Telemetry Viewer Screens. For more information see the Custom Widget guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example:

-
openc3-cosmos-gse % openc3.sh cli generate widget
Usage: cli generate widget <SuperdataWidget>

openc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget
Widget HelloworldWidget successfully generated!
Please be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens
+
TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description"
# Keyword Name BitSize Type ID Description
APPEND_ID_ITEM ID 16 INT 1 "Identifier"
APPEND_ITEM VALUE 32 FLOAT "Value"
LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
LIMITS_RESPONSE safe_limits_response.rb
APPEND_ITEM BOOL 8 UINT "Boolean"
STATE FALSE 0
STATE TRUE 1
APPEND_ITEM LABEL 0 STRING "The label to apply"
+

Widget Generator

+

The conversion generator creates the scaffolding for a new COSMOS Widget for use in Telemetry Viewer Screens. For more information see the Custom Widget guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example:

+
openc3-cosmos-gse % openc3.sh cli generate widget
Usage: cli generate widget <SuperdataWidget>

openc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget
Widget HelloworldWidget successfully generated!
Please be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens

This creates the following files and directories:

-
NameDescription
src/HelloworldWidget.vueFully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable.
+
NameDescription
src/HelloworldWidget.vueFully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable.

It also updates the plugin.txt file to add the new widget:

-
WIDGET Helloworld
-

Tool Generator

-

The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see Running a Frontend Application.

-
openc3-cosmos-gse % openc3.sh cli generate tool
Usage: cli generate tool 'Tool Name'

openc3-cosmos-gse % openc3.sh cli generate widget DataVis
Tool datavis successfully generated!
Please be sure datavis does not conflict with any other tools
+
WIDGET Helloworld
+

Tool Generator

+

The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see Running a Frontend Application.

+
openc3-cosmos-gse % openc3.sh cli generate tool
Usage: cli generate tool 'Tool Name'

openc3-cosmos-gse % openc3.sh cli generate widget DataVis
Tool datavis successfully generated!
Please be sure datavis does not conflict with any other tools

This creates the following files and directories:

-
NameDescription
src/App.vueBasic Vue template to render the application.
src/main.jsEntry point for the new tool which loads Vue, Vuetify, and other libraries.
src/router.jsVue component router.
src/tools/datavisContains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation.
src/tools/datavis/datavis.vueFully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable.
package.jsonBuild and dependency definition file. Used by npm or yarn to build the tool.
vue.config.jsVue configuration file used to serve the application in development and build the application.
<dotfiles>Various dotfiles which help configure formatters and tools for Javascript frontend development
-

It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found here.

-
TOOL datavis "DataVis"
INLINE_URL js/app.js
ICON mdi-file-cad-box
- - \ No newline at end of file +
NameDescription
src/App.vueBasic Vue template to render the application.
src/main.jsEntry point for the new tool which loads Vue, Vuetify, and other libraries.
src/router.jsVue component router.
src/tools/datavisContains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation.
src/tools/datavis/datavis.vueFully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable.
package.jsonBuild and dependency definition file. Used by npm or yarn to build the tool.
vue.config.jsVue configuration file used to serve the application in development and build the application.
<dotfiles>Various dotfiles which help configure formatters and tools for Javascript frontend development
+

It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found here.

+
TOOL datavis "DataVis"
INLINE_URL js/app.js
ICON mdi-file-cad-box
\ No newline at end of file diff --git a/docs/docs/getting-started/gettingstarted.html b/docs/docs/getting-started/gettingstarted.html index a00f8c99ef..f22ed44313 100644 --- a/docs/docs/getting-started/gettingstarted.html +++ b/docs/docs/getting-started/gettingstarted.html @@ -1,26 +1,16 @@ - - - - - -Getting Started | OpenC3 Docs - - - - -

Getting Started

Welcome to the OpenC3 COSMOS system... Let's get started! This guide is a high level overview that will help with setting up your first COSMOS project.

+Getting Started | OpenC3 Docs

Getting Started

Welcome to the OpenC3 COSMOS system... Let's get started! This guide is a high level overview that will help with setting up your first COSMOS project.

    -
  1. Get COSMOS Installed onto your computer by following the Installation Guide. +
  2. Get COSMOS Installed onto your computer by following the Installation Guide.
    • You should now have COSMOS installed and a Demo project available that we can make changes to.
  3. -
  4. Browse to http://localhost:2900 +
  5. Browse to http://localhost:2900
      -
    • The COSMOS Command and Telemetry Server will appear. This tool provides real-time information about each "target" in the system. Targets are external systems that receive commands and generate telemetry, often over ethernet or serial connections.
    • +
    • The COSMOS Command and Telemetry Server will appear. This tool provides real-time information about each "target" in the system. Targets are external systems that receive commands and generate telemetry, often over ethernet or serial connections.
  6. -
  7. Experiment with other COSMOS tools. This is a DEMO environment so you can't break anything. Some things to try: +
  8. Experiment with other COSMOS tools. This is a DEMO environment so you can't break anything. Some things to try:
    • Use Command Sender to send individual commands.
    • Use Limits Monitor to watch for telemetry limits violations
    • @@ -33,97 +23,95 @@
-
Browser Version Issue

When you try to load the page and it fails to load, check with the built-in web development tools / DevTools. We have seen some strange things with version of browsers. You can build to a version of browser if you need to by reading about the browserslist. A typical failure results in:

unexpected token ||=

To fix this make sure your browsers is compliant with the current settings in the .browserlistrc file. You can change this and rebuild the image. Note: This can cause build speeds to increase or decrease.

-

Interfacing with Your Hardware

-

Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it!

-
Install and Platform

This guide assumes we're on Windows and COSMOS is installed in C:\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory.

+
Browser Version Issue

When you try to load the page and it fails to load, check with the built-in web development tools / DevTools. We have seen some strange things with version of browsers. You can build to a version of browser if you need to by reading about the browserslist. A typical failure results in:

unexpected token ||=

To fix this make sure your browsers is compliant with the current settings in the .browserlistrc file. You can change this and rebuild the image. Note: This can cause build speeds to increase or decrease.

+

Interfacing with Your Hardware

+

Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it!

+
Install and Platform

This guide assumes we're on Windows and COSMOS is installed in C:\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory.

  1. -

    Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces.

    +

    Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces.

  2. -

    If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (Markdown) to describe your program / project.

    +

    If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (Markdown) to describe your program / project.

  3. Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure.

-
Python vs Ruby

Each CLI command requires the use of --python or --ruby unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'.

-
C:\openc3-project> openc3.bat cli generate plugin BOB --python
Plugin openc3-cosmos-bob successfully generated!
-

This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the Plugin Generator page.

-
Run as the Root user

The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively docker run --user=root ) by running cliroot instead of cli in any of the examples.

+
Python vs Ruby

Each CLI command requires the use of --python or --ruby unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'.

+
C:\openc3-project> openc3.bat cli generate plugin BOB --python
Plugin openc3-cosmos-bob successfully generated!
+

This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the Plugin Generator page.

+
Run as the Root user

The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively docker run --user=root ) by running cliroot instead of cli in any of the examples.

  1. -

    Starting with COSMOS v5.5.0, the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target.

    -
    C:\openc3-project> cd openc3-cosmos-bob
    openc3-cosmos-bob> openc3.bat cli generate target BOB --python
    Target BOB successfully generated!
    +

    Starting with COSMOS v5.5.0, the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target.

    +
    C:\openc3-project> cd openc3-cosmos-bob
    openc3-cosmos-bob> openc3.bat cli generate target BOB --python
    Target BOB successfully generated!
-
Generators

There are a number of generators available. Run openc3.bat cli generate to see all the available options.

+
Generators

There are a number of generators available. Run openc3.bat cli generate to see all the available options.

  1. The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt:

    -
    COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"
    # Keyword Name BitSize Type Min Max Default Description
    APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"
    APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value"
    APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"
    STATE FALSE 0
    STATE TRUE 1
    APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"
    +
    COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"
    # Keyword Name BitSize Type Min Max Default Description
    APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"
    APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value"
    APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"
    STATE FALSE 0
    STATE TRUE 1
    APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"

    What does this all mean?

    • We created a COMMAND for target BOB named EXAMPLE.
    • -
    • The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don't have to worry about defining the bit offset into the packet.
    • -
    • First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".
    • +
    • The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don't have to worry about defining the bit offset into the packet.
    • +
    • First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".
    • Next we APPEND_PARAMETER a parameter called VALUE that is a 32-bit float (FLOAT) that has a minimum value of 0, a maximum value of 10.5, and a default value of 2.5.
    • Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1.
    • -
    • Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of "OpenC3". Strings don't have minimum or maximum values as that doesn't make sense for STRING types.
    • +
    • Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of "OpenC3". Strings don't have minimum or maximum values as that doesn't make sense for STRING types.
    -

    Check out the full Command documentation for more.

    +

    Check out the full Command documentation for more.

  2. Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt:

    -
    TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description"
    # Keyword Name BitSize Type ID Description
    APPEND_ID_ITEM ID 16 INT 1 "Identifier"
    APPEND_ITEM VALUE 32 FLOAT "Value"
    APPEND_ITEM BOOL 8 UINT "Boolean"
    STATE FALSE 0
    STATE TRUE 1
    APPEND_ITEM LABEL 0 STRING "The label to apply"
    +
    TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description"
    # Keyword Name BitSize Type ID Description
    APPEND_ID_ITEM ID 16 INT 1 "Identifier"
    APPEND_ITEM VALUE 32 FLOAT "Value"
    APPEND_ITEM BOOL 8 UINT "Boolean"
    STATE FALSE 0
    STATE TRUE 1
    APPEND_ITEM LABEL 0 STRING "The label to apply"
      -
    • This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".
    • -
    • We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don't match).
    • +
    • This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".
    • +
    • We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don't match).
    • Next we define three items similar to the command definition above.
    -

    Check out the full Telemetry documentation for more.

    +

    Check out the full Telemetry documentation for more.

  3. -

    COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ID_PARAMETER and ID_ITEM so your packets can be distinguished from each other.

    +

    COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ID_PARAMETER and ID_ITEM so your packets can be distinguished from each other.

  4. Now we need to tell COSMOS how to connect to our BOB target. Open the openc3-cosmos-bob/plugin.txt file:

    -
    # Set VARIABLEs here to allow variation in your plugin
    # See [Plugins](../configuration/plugins) for more information
    VARIABLE bob_target_name BOB

    # Modify this according to your actual target connection
    # See [Interfaces](../configuration/interfaces) for more information
    TARGET BOB <%= bob_target_name %>
    INTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST
    MAP_TARGET <%= bob_target_name %>
    +
    # Set VARIABLEs here to allow variation in your plugin
    # See [Plugins](../configuration/plugins) for more information
    VARIABLE bob_target_name BOB

    # Modify this according to your actual target connection
    # See [Interfaces](../configuration/interfaces) for more information
    TARGET BOB <%= bob_target_name %>
    INTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST
    MAP_TARGET <%= bob_target_name %>
      -
    • This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.
    • -
    • The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name.
    • -
    • The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS BURST protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the Interface Guide. The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface.
    • +
    • This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.
    • +
    • The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name.
    • +
    • The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS BURST protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the Interface Guide. The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface.
-
Variables Support Reusability

In a plugin that you plan to reuse you should make things like hostnames and ports variables

-

Building Your Plugin

+
Variables Support Reusability

In a plugin that you plan to reuse you should make things like hostnames and ports variables

+

Building Your Plugin

  1. Now we need to build our plugin and upload it to COSMOS.

    -
    openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0
    Successfully built RubyGem
    Name: openc3-cosmos-bob
    Version: 1.0.0
    File: openc3-cosmos-bob-1.0.0.gem
    +
    openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0
    Successfully built RubyGem
    Name: openc3-cosmos-bob
    Version: 1.0.0
    File: openc3-cosmos-bob-1.0.0.gem
      -
    • Note that the VERSION is required to specify the version to build. We recommend semantic versioning when building your plugin so people using your plugin (including you) know when there are breaking changes.
    • +
    • Note that the VERSION is required to specify the version to build. We recommend semantic versioning when building your plugin so people using your plugin (including you) know when there are breaking changes.
  2. -

    Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on "Click to install plugin" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target.

    +

    Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on "Click to install plugin" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target.

  3. -

    Let's modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value".

    -
    COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"
    # Keyword Name BitSize Type Min Max Default Description
    APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"
    APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value"
    APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"
    STATE FALSE 0
    STATE TRUE 1
    APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"
    +

    Let's modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value".

    +
    COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description"
    # Keyword Name BitSize Type Min Max Default Description
    APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier"
    APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value"
    APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean"
    STATE FALSE 0
    STATE TRUE 1
    APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply"
  4. -

    Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number:

    -
    openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1
    Successfully built RubyGem
    Name: openc3-cosmos-bob
    Version: 1.0.1
    File: openc3-cosmos-bob-1.0.1.gem
    +

    Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number:

    +
    openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1
    Successfully built RubyGem
    Name: openc3-cosmos-bob
    Version: 1.0.1
    File: openc3-cosmos-bob-1.0.1.gem
  5. -

    Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don't change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin!

    +

    Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don't change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin!

  6. -

    At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our Github Issues page. If you would like to enquire about support contracts or professional COSMOS development please contact us at support@openc3.com.

    +

    At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our Github Issues page. If you would like to enquire about support contracts or professional COSMOS development please contact us at support@openc3.com.

  7. -
- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/getting-started/installation.html b/docs/docs/getting-started/installation.html index 4294380641..23df126fae 100644 --- a/docs/docs/getting-started/installation.html +++ b/docs/docs/getting-started/installation.html @@ -1,18 +1,8 @@ - - - - - -Installation | OpenC3 Docs - - - - -

Installation

Installing OpenC3 COSMOS

+Installation | OpenC3 Docs

Installation

Installing OpenC3 COSMOS

The following sections describe how to get OpenC3 COSMOS installed on various operating systems. This document should help you setup you host machine to allow you to have a running version of COSMOS in no time.

-

Installing OpenC3 COSMOS on Host Machines

-

PREREQUISITES

-

If you're on Linux (recommended for production), we recommend installing Docker using the Install Docker Engine instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the Podman documentation. If you're on Windows or Mac, install Docker Desktop. All platforms also need to install Docker Compose.

+

Installing OpenC3 COSMOS on Host Machines

+

PREREQUISITES

+

If you're on Linux (recommended for production), we recommend installing Docker using the Install Docker Engine instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the Podman documentation. If you're on Windows or Mac, install Docker Desktop. All platforms also need to install Docker Compose.

  • Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk

    @@ -27,7 +17,7 @@

    PREREQUISITES<

    WSL2 consumes 50% of total memory on Windows or 8GB, whichever is less. However, on Windows builds before 20175 (use winver to check) it consumes 80% of your total memory. This can have a negative effect on Windows performance!

  • -

    On Windows builds < 20175 or for more fine grained control, create C:\Users\<username>\.wslconfig. Suggested contents on a 32GB machine:

    +

    On Windows builds < 20175 or for more fine grained control, create C:\Users\<username>\.wslconfig. Suggested contents on a 32GB machine:

    [wsl2] memory=16GB swap=0

    @@ -35,32 +25,30 @@

    PREREQUISITES<

-
Important: Modify Docker Connection Timeouts

Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\Users\username\AppData\Roaming\Docker\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value vpnKitMaxPortIdleTime to change the timeout (recommend setting to 0). Note: 0 means no timeout (idle connections not dropped)

+
Important: Modify Docker Connection Timeouts

Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\Users\username\AppData\Roaming\Docker\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value vpnKitMaxPortIdleTime to change the timeout (recommend setting to 0). Note: 0 means no timeout (idle connections not dropped)

Note: As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image.

-

CLONE PROJECT

-

We recommend using the COSMOS project template to get started.

-
git clone https://github.com/OpenC3/cosmos-project.git
git clone https://github.com/OpenC3/cosmos-enterprise-project.git
-
Offline Installation

If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers:

./openc3.sh util save docker.io openc3inc 5.16.2

This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with:

./openc3.sh util load 5.16.2

Note the version specified in save needs to match the version in load.

-

CERTIFICATES

+

CLONE PROJECT

+

We recommend using the COSMOS project template to get started.

+
git clone https://github.com/OpenC3/cosmos-project.git
git clone https://github.com/OpenC3/cosmos-enterprise-project.git
+
Offline Installation

If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers:

./openc3.sh util save docker.io openc3inc 5.16.2

This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with:

./openc3.sh util load 5.16.2

Note the version specified in save needs to match the version in load.

+

CERTIFICATES

The COSMOS containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. Note: If you set the path to the ssl file in the SSL_CERT_FILE environment variables the openc3 setup script will copy it and place it for the docker container to load.

-
SSL Issues

Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else.

The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\Shared\Ball.pem). Doesn't matter just somewhere with no spaces.

Then set the following environment variables to that path (ie. C:\Shared\Ball.pem)

SSL_CERT_FILE
+

SSL Issues

Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else.

The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\Shared\Ball.pem). Doesn't matter just somewhere with no spaces.

Then set the following environment variables to that path (ie. C:\Shared\Ball.pem)

SSL_CERT_FILE
CURL_CA_BUNDLE
-REQUESTS_CA_BUNDLE

Here are some directions on environment variables in Windows: Windows Environment Variables

You will need to create new ones with the names above and set their value to the full path to the certificate file.

-

RUN

-

Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\openc3-project" to the PATH. In Linux you would edit your shell's rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: export PATH=~/cosmos-project:$PATH.

+REQUESTS_CA_BUNDLE

Here are some directions on environment variables in Windows: Windows Environment Variables

You will need to create new ones with the names above and set their value to the full path to the certificate file.

+

RUN

+

Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\openc3-project" to the PATH. In Linux you would edit your shell's rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: export PATH=~/cosmos-project:$PATH.

Run openc3.bat run (Windows), or ./openc3.sh run (linux/Mac).

-

Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'.

+

Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'.

If you see an error indicating docker daemon is not running ensure Docker and Docker compose is installed and running. If it errors please try to run docker --version or docker-compose --version and try to run the start command again. If the error continues please include the version in your issue if you choose to create one.

Running docker ps can help show the running containers.

openc3.* takes multiple arguments. Run with no arguments for help. An example run of openc3.sh with no arguments will show a usage guide.

-
./openc3.sh
Usage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util]
* cli: run a cli command as the default user ('cli help' for more info)
* cliroot: run a cli command as the root user ('cli help' for more info)
* start: start the docker-compose openc3
* stop: stop the running dockers for openc3
* cleanup: cleanup network and volumes for openc3
* run: run the prebuilt containers for openc3
* util: various helper commands
-

CONNECT

-

Connect a web browser to http://localhost:2900. Set the password to whatever you want.

-

NEXT STEPS

-

Continue to Getting Started.

+
./openc3.sh
Usage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util]
* cli: run a cli command as the default user ('cli help' for more info)
* cliroot: run a cli command as the root user ('cli help' for more info)
* start: start the docker-compose openc3
* stop: stop the running dockers for openc3
* cleanup: cleanup network and volumes for openc3
* run: run the prebuilt containers for openc3
* util: various helper commands
+

CONNECT

+

Connect a web browser to http://localhost:2900. Set the password to whatever you want.

+

NEXT STEPS

+

Continue to Getting Started.


-

Feedback

-
Find a problem in the documentation?

Please create an issue on -GitHub describing what we can do to make it better.

- - \ No newline at end of file +

Feedback

+
Find a problem in the documentation?

Please create an issue on +GitHub describing what we can do to make it better.

\ No newline at end of file diff --git a/docs/docs/getting-started/key_concepts.html b/docs/docs/getting-started/key_concepts.html index 20b021bc28..18fb5c04d1 100644 --- a/docs/docs/getting-started/key_concepts.html +++ b/docs/docs/getting-started/key_concepts.html @@ -1,45 +1,33 @@ - - - - - -Key Concepts | OpenC3 Docs - - - - -

OpenC3 COSMOS Key Concepts

-

Projects

-

The main COSMOS repo contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS project to launch COSMOS. The project consists of the openc3.sh and openc3.bat files for starting and stopping COSMOS, the compose.yaml for configuring the COSMOS containers, and the .env file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik.

-

Containerization

-

Images

-

Per Docker, "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called Alpine Linux. It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a Dockerfile to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend.

-

Containers

-

Per Docker, "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per Docker, "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks.

+Key Concepts | OpenC3 Docs

OpenC3 COSMOS Key Concepts

+

Projects

+

The main COSMOS repo contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS project to launch COSMOS. The project consists of the openc3.sh and openc3.bat files for starting and stopping COSMOS, the compose.yaml for configuring the COSMOS containers, and the .env file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik.

+

Containerization

+

Images

+

Per Docker, "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called Alpine Linux. It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a Dockerfile to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend.

+

Containers

+

Per Docker, "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per Docker, "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks.

The COSMOS Open Source containers consist of the following:

-
NameDescription
cosmos-openc3-cosmos-init-1Copies files to Minio and configures COSMOS then exits
cosmos-openc3-operator-1Main COSMOS container that runs the interfaces and target microservices
cosmos-openc3-cosmos-cmd-tlm-api-1Rails server that provides all the COSMOS API endpoints
cosmos-openc3-cosmos-script-runner-api-1Rails server that provides the Script API endpoints
cosmos-openc3-redis-1Serves the static target configuration
cosmos-openc3-redis-ephemeral-1Serves the streams containing the raw and decomutated data
cosmos-openc3-minio-1Provides a S3 like bucket storage interface and also serves as a static webserver for the tool files
cosmos-openc3-traefik-1Provides a reverse proxy and load balancer with routes to the COSMOS endpoints
-

The container list for Enterprise COSMOS consists of the following:

-
NameDescription
cosmos-enterprise-openc3-metrics-1Rails server that provides metrics on COSMOS performance
cosmos-enterprise-openc3-keycloak-1Single-Sign On service for authentication
cosmos-enterprise-openc3-postgresql-1SQL Database for use by Keycloak
openc3-nfs *Network File System pod only for use in Kubernetes to share code libraries between containers
-

Docker Compose

-

Per Docker, "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The compose.yaml is where ports are exposed and environment variables are used.

-

Environment File

-

COSMOS uses an environment file along with Docker Compose to pass environment variables into the COSMOS runtime. This .env file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more.

-

Kubernetes

-

Per Kubernetes.io, "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." COSMOS Enterprise provides Helm charts for easy deployment to Kubernetes in various cloud environments.

-

COSMOS Enterprise also provides Terraform scripts to deploy COSMOS infrastructure on various cloud environments.

-

Frontend

-

Vue.js

-

The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per Vue.js, "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the Vuetify Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x.

-

Single-Spa

-

While COSMOS itself is written in Vue.js, we utilize a technology called single-spa to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue.

-

Astro UX

-

Per AstroUXDS, "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. Astro Clock, COSMOS directly incorporates Astro components.

-

Backend

-

Redis

-

Redis is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our container list you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into Redis streams. The other redis container contains COSMOS configuration that is meant to persist. COSMOS Enterprise provides helm charts that setup Redis Cluster to perform horizontal scaling where data is shared across multiple Redis nodes.

-

MinIO

-

MinIO is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. COSMOS Enterprise deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example.

-

Ruby on Rails

-

The COSMOS API and Script Runner backends are powered by Ruby on Rails. Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks.

- - \ No newline at end of file +
NameDescription
cosmos-openc3-cosmos-init-1Copies files to Minio and configures COSMOS then exits
cosmos-openc3-operator-1Main COSMOS container that runs the interfaces and target microservices
cosmos-openc3-cosmos-cmd-tlm-api-1Rails server that provides all the COSMOS API endpoints
cosmos-openc3-cosmos-script-runner-api-1Rails server that provides the Script API endpoints
cosmos-openc3-redis-1Serves the static target configuration
cosmos-openc3-redis-ephemeral-1Serves the streams containing the raw and decomutated data
cosmos-openc3-minio-1Provides a S3 like bucket storage interface and also serves as a static webserver for the tool files
cosmos-openc3-traefik-1Provides a reverse proxy and load balancer with routes to the COSMOS endpoints
+

The container list for Enterprise COSMOS consists of the following:

+
NameDescription
cosmos-enterprise-openc3-metrics-1Rails server that provides metrics on COSMOS performance
cosmos-enterprise-openc3-keycloak-1Single-Sign On service for authentication
cosmos-enterprise-openc3-postgresql-1SQL Database for use by Keycloak
openc3-nfs *Network File System pod only for use in Kubernetes to share code libraries between containers
+

Docker Compose

+

Per Docker, "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The compose.yaml is where ports are exposed and environment variables are used.

+

Environment File

+

COSMOS uses an environment file along with Docker Compose to pass environment variables into the COSMOS runtime. This .env file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more.

+

Kubernetes

+

Per Kubernetes.io, "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." COSMOS Enterprise provides Helm charts for easy deployment to Kubernetes in various cloud environments.

+

COSMOS Enterprise also provides Terraform scripts to deploy COSMOS infrastructure on various cloud environments.

+

Frontend

+

Vue.js

+

The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per Vue.js, "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the Vuetify Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x.

+

Single-Spa

+

While COSMOS itself is written in Vue.js, we utilize a technology called single-spa to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue.

+

Astro UX

+

Per AstroUXDS, "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. Astro Clock, COSMOS directly incorporates Astro components.

+

Backend

+

Redis

+

Redis is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our container list you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into Redis streams. The other redis container contains COSMOS configuration that is meant to persist. COSMOS Enterprise provides helm charts that setup Redis Cluster to perform horizontal scaling where data is shared across multiple Redis nodes.

+

MinIO

+

MinIO is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. COSMOS Enterprise deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example.

+

Ruby on Rails

+

The COSMOS API and Script Runner backends are powered by Ruby on Rails. Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks.

\ No newline at end of file diff --git a/docs/docs/getting-started/podman.html b/docs/docs/getting-started/podman.html index 5cd3ea667f..a9ba1b81e3 100644 --- a/docs/docs/getting-started/podman.html +++ b/docs/docs/getting-started/podman.html @@ -1,95 +1,83 @@ - - - - - -Podman | OpenC3 Docs - - - - -

Podman

OpenC3 COSMOS Using Rootless Podman and Docker-Compose

-
Optional Installation Option

These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method.

+Podman | OpenC3 Docs

Podman

OpenC3 COSMOS Using Rootless Podman and Docker-Compose

+
Optional Installation Option

These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method.

Podman is an alternative container technology to Docker that is actively promoted by RedHat. The key benefit is that Podman can run without a root-level daemon service, making it significantly more secure by design, over standard Docker. However, it is a little more complicated to use. These directions will get you up and running with Podman. The following directions have been tested against RHEL 8.8, and RHEL 9.2, but should be similar on other operating systems.

-
Rootless Podman Does Not Work (Directly) with NFS Home Directories

NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [https://www.redhat.com/sysadmin/rootless-podman-nfs]https://www.redhat.com/sysadmin/rootless-podman-nfs). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See https://www.redhat.com/sysadmin/nfs-rootless-podman

+
Rootless Podman Does Not Work (Directly) with NFS Home Directories

NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [https://www.redhat.com/sysadmin/rootless-podman-nfs]https://www.redhat.com/sysadmin/rootless-podman-nfs). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See https://www.redhat.com/sysadmin/nfs-rootless-podman

Redhat 8.8 and 9.2 Instructions

  1. Install Prerequisite Packages

    Note: This downloads and installs docker-compose from the latest 2.x release on Github. If your operating system has a docker-compose package, it will be easier to install using that instead. RHEL8 does not have a docker-compose package.

    -
    sudo yum update
    sudo yum install git podman-docker netavark
    curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose
    sudo mv docker-compose /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    +
    sudo yum update
    sudo yum install git podman-docker netavark
    curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose
    sudo mv docker-compose /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  2. Configure Host OS for Redis

    -
    sudo su
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    sysctl -w vm.max_map_count=262144
    exit
    +
    sudo su
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    sysctl -w vm.max_map_count=262144
    exit
  3. Configure Podman to use Netavark for DNS

    -
    sudo cp /usr/share/containers/containers.conf /etc/containers/.
    sudo vi /etc/containers/containers.conf
    -

    Then edit the network_backend line to be "netavark" instead of "cni"

    +
    sudo cp /usr/share/containers/containers.conf /etc/containers/.
    sudo vi /etc/containers/containers.conf
    +

    Then edit the network_backend line to be "netavark" instead of "cni"

  4. Start rootless podman socket service

    -
    systemctl enable --now --user podman.socket
    +
    systemctl enable --now --user podman.socket
  5. Put the following into your .bashrc file (or .bash_profile or whatever)

    -
    export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"
    +
    export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"
  6. Source the profile file for your current terminal

    -
    source .bashrc
    +
    source .bashrc
  7. Get COSMOS - A release or the current main branch (main branch shown)

    -
    git clone https://github.com/OpenC3/cosmos.git
    +
    git clone https://github.com/OpenC3/cosmos.git
  8. Optional - Set Default Container Registry

    -

    If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly)

    -
    mkdir -p $HOME/.config/containers
    cp /etc/containers/registries.conf $HOME/.config/containers/.
    vi $HOME/.config/containers/registries.conf
    +

    If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly)

    +
    mkdir -p $HOME/.config/containers
    cp /etc/containers/registries.conf $HOME/.config/containers/.
    vi $HOME/.config/containers/registries.conf

    Then edit the unqualified-search-registries = line to just have the registry you care about (probably docker.io)

  9. Edit cosmos/compose.yaml

    -
    cd cosmos
    vi compose.yaml
    -

    Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. +

    cd cosmos
    vi compose.yaml
    +

    Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. You may also want to update the traefik configuration to allow access from the internet by removing 127.0.0.1 and probably switching to either an SSL config file, or the allow http one. Also make sure your firewall allows whatever port you choose to use in. Rootless podman will need to use a higher numbered port (not 1-1023).

  10. Run COSMOS

    -
    ./openc3.sh run
    +
    ./openc3.sh run
  11. -

    Wait until everything is built and running and then goto http://localhost:2900 in your browser

    +

    Wait until everything is built and running and then goto http://localhost:2900 in your browser

-
Podman on MacOS

Podman can also be used on MacOS, though we still generally recommend Docker Desktop

-

MacOS Instructions

+
Podman on MacOS

Podman can also be used on MacOS, though we still generally recommend Docker Desktop

+

MacOS Instructions

  1. Install podman

    -
    brew install podman
    +
    brew install podman
  2. Start the podman virtual machine

    -
    podman machine init
    podman machine start
    # Note: update to your username in the next line or copy paste from what 'podman machine start' says
    export DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock'
    +
    podman machine init
    podman machine start
    # Note: update to your username in the next line or copy paste from what 'podman machine start' says
    export DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock'
  3. Install docker-compose

    -
    brew install docker-compose # Optional if you already have Docker Desktop
    +
    brew install docker-compose # Optional if you already have Docker Desktop
  4. Edit cosmos/compose.yaml

    -

    Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines.

    +

    Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines.

    Important: on MacOS you must also remove all :z from the volume mount lines

    You may also want to update the traefik configuration to allow access from the internet.

  5. Run COSMOS

    -
    cd cosmos
    ./openc3.sh run
    +
    cd cosmos
    ./openc3.sh run
  6. -
- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/getting-started/requirements.html b/docs/docs/getting-started/requirements.html index 69c6ec1b8f..489b826e12 100644 --- a/docs/docs/getting-started/requirements.html +++ b/docs/docs/getting-started/requirements.html @@ -1,14 +1,4 @@ - - - - - -Requirements and Design | OpenC3 Docs - - - - -

Requirements and Design

OpenC3 COSMOS is a command and control system providing commanding, scripting, and data visualization capabilities for embedded systems and systems of systems. COSMOS is intended for use during all phases of testing (board, box, integrated system) and during operations.

+Requirements and Design | OpenC3 Docs

Requirements and Design

OpenC3 COSMOS is a command and control system providing commanding, scripting, and data visualization capabilities for embedded systems and systems of systems. COSMOS is intended for use during all phases of testing (board, box, integrated system) and during operations.

COSMOS is currently made up of the following applications:

  1. Command and Telemetry Server - Provides status of realtime commanding, telemetry reception, logging, limits monitoring, and packet routing.
  2. @@ -27,12 +17,12 @@
  3. Admin - Provides an administrative interface to COSMOS.

More detailed descriptions, requirements, and design for each tool are found later in this document. Additionally, each of the above applications is built using COSMOS libraries that are available for use as a framework to develop custom program/project applications.

-

Terminology

+

Terminology

The COSMOS system uses several terms that are important to understand. The following table defines these terms.

-
TermDefinition
TargetA COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from.
CommandA packet of information telling a target to perform an action of some sort.
Telemetry PacketA packet of information providing status from a target.
InterfaceA Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system.
RubyThe powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures.
Configuration FilesCOSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable.
Packet Log FilesBinary files containing either logged commands or telemetry packets.
Message Log FilesText files containing messages generated by the system.
ToolAnother name for a COSMOS application.
-

Overall Architecture and Context Diagram

+
TermDefinition
TargetA COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from.
CommandA packet of information telling a target to perform an action of some sort.
Telemetry PacketA packet of information providing status from a target.
InterfaceA Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system.
RubyThe powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures.
Configuration FilesCOSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable.
Packet Log FilesBinary files containing either logged commands or telemetry packets.
Message Log FilesText files containing messages generated by the system.
ToolAnother name for a COSMOS application.
+

Overall Architecture and Context Diagram

The following diagram shows the COSMOS 5 architecture.

-

COSMOS Architecture

+

COSMOS Architecture

Key aspects of this architecture:

COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer.

    @@ -42,43 +32,41 @@

    Overall Requirements

    -
    Reqt. IDDescriptionTest Description
    COSMOS-1All COSMOS core functionality shall be containerized.Verify COSMOS is running in Docker
    COSMOS-2The COSMOS user interface shall be accessible from Chromium based web browsersOpen COSMOS in Chrome/Edge
    COSMOS-3The COSMOS user interface shall be accessible from the Firefox web browserOpen COSMOS in Firefox
    COSMOS-4COSMOS shall log all commands sent
    COSMOS-5COSMOS shall log all telemetry received
    COSMOS-6COSMOS shall decommutate all telemetry packets received
    COSMOS-7COSMOS shall support autonomously attempting to connect to targets.Verify targets are connected upon starting the CTS.
    COSMOS-8COSMOS shall time stamp telemetry packets upon receipt.Verify logged packets are timestamped.
    COSMOS-9COSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed.View time stamps in log.
    COSMOS-10COSMOS shall time stamp received telemetry with a UTC timestamp.Verify logged time stamps are as expected.
    COSMOS-11COSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered.View COSMOS message log.
    -

    Api Requirements

    -
    Reqt. IDDescriptionTest Description
    API-1The COSMOS API shall allow scripted connection and disconnection of interfaces.Disconnect and connect an interface from a script.
    API-2The COSMOS API shall allow scripted connection and disconnection of routers.Disconnect and connect a router from a script.
    API-3The COSMOS API shall allow scripted setting of the current limits set.Select a different limits set from a script.
    API-4The COSMOS API shall allow commanding of targetsSend a command
    API-5The COSMOS API shall allow reading the current value of any telemetry itemRead a telemetry point
    API-6The COSMOS API shall allow streaming realtime and logged telemetry packetsStream telemetry packets
    API-7The COSMOS API shall allow streaming realtime and logged command packetsStream command packets
    API-8The COSMOS API shall allow starting COSMOS scriptsStart a script using the API
    -

    Command and Telemetry Server

    +

    Overall Requirements

    +
    Reqt. IDDescriptionTest Description
    COSMOS-1All COSMOS core functionality shall be containerized.Verify COSMOS is running in Docker
    COSMOS-2The COSMOS user interface shall be accessible from Chromium based web browsersOpen COSMOS in Chrome/Edge
    COSMOS-3The COSMOS user interface shall be accessible from the Firefox web browserOpen COSMOS in Firefox
    COSMOS-4COSMOS shall log all commands sent
    COSMOS-5COSMOS shall log all telemetry received
    COSMOS-6COSMOS shall decommutate all telemetry packets received
    COSMOS-7COSMOS shall support autonomously attempting to connect to targets.Verify targets are connected upon starting the CTS.
    COSMOS-8COSMOS shall time stamp telemetry packets upon receipt.Verify logged packets are timestamped.
    COSMOS-9COSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed.View time stamps in log.
    COSMOS-10COSMOS shall time stamp received telemetry with a UTC timestamp.Verify logged time stamps are as expected.
    COSMOS-11COSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered.View COSMOS message log.
    +

    Api Requirements

    +
    Reqt. IDDescriptionTest Description
    API-1The COSMOS API shall allow scripted connection and disconnection of interfaces.Disconnect and connect an interface from a script.
    API-2The COSMOS API shall allow scripted connection and disconnection of routers.Disconnect and connect a router from a script.
    API-3The COSMOS API shall allow scripted setting of the current limits set.Select a different limits set from a script.
    API-4The COSMOS API shall allow commanding of targetsSend a command
    API-5The COSMOS API shall allow reading the current value of any telemetry itemRead a telemetry point
    API-6The COSMOS API shall allow streaming realtime and logged telemetry packetsStream telemetry packets
    API-7The COSMOS API shall allow streaming realtime and logged command packetsStream command packets
    API-8The COSMOS API shall allow starting COSMOS scriptsStart a script using the API
    +

    Command and Telemetry Server

    The Command and Telemetry server provides status on the the overall COSMOS installation for a specific scope.

    -
    Reqt. IDDescriptionTest Description
    CTS-1The Command and Telemetry Server shall display a list of all interfaces.View the Interfaces tab.
    CTS-2The Command and Telemetry Server shall allow manual connection and disconnection of interfaces.Press a GUI button to disconnect and connect an interface.
    CTS-3The Command and Telemetry Server shall display a list of all targets.View the Targets tab.
    CTS-4The Command and Telemetry Server shall display a list of known commands.View the Cmd Packets tab.
    CTS-5The Command and Telemetry Server shall display raw command data for the most recent command received.View the Cmd Packets tab and click the View Raw button for a command.
    CTS-6The Command and Telemetry Server shall display a list of known telemetry packets.View the Tlm Packets tab.
    CTS-7The Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received.View the Tlm Packets tab and click the View Raw button for a telemetry packet.
    CTS-8The Command and Telemetry Server shall display a list of all routers.View the Routers tab.
    CTS-9The Command and Telemetry Server shall allow manual connection and disconnection of routers.Press a GUI button to disconnect and connect a router.
    CTS-10The Command and Telemetry Server shall allow manually setting the current limits set.Select a different limits set from the combobox.
    CTS-11The Command and Telemetry Server shall support opening telemetry packets in Packet Viewer.On the Tlm Packets tab click View in Packet Viewer for a telemetry packet.
    CTS-12The Command and Telemetry Server shall display time stamps in local time.View time stamps in log.
    -

    Limits Monitor

    +
    Reqt. IDDescriptionTest Description
    CTS-1The Command and Telemetry Server shall display a list of all interfaces.View the Interfaces tab.
    CTS-2The Command and Telemetry Server shall allow manual connection and disconnection of interfaces.Press a GUI button to disconnect and connect an interface.
    CTS-3The Command and Telemetry Server shall display a list of all targets.View the Targets tab.
    CTS-4The Command and Telemetry Server shall display a list of known commands.View the Cmd Packets tab.
    CTS-5The Command and Telemetry Server shall display raw command data for the most recent command received.View the Cmd Packets tab and click the View Raw button for a command.
    CTS-6The Command and Telemetry Server shall display a list of known telemetry packets.View the Tlm Packets tab.
    CTS-7The Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received.View the Tlm Packets tab and click the View Raw button for a telemetry packet.
    CTS-8The Command and Telemetry Server shall display a list of all routers.View the Routers tab.
    CTS-9The Command and Telemetry Server shall allow manual connection and disconnection of routers.Press a GUI button to disconnect and connect a router.
    CTS-10The Command and Telemetry Server shall allow manually setting the current limits set.Select a different limits set from the combobox.
    CTS-11The Command and Telemetry Server shall support opening telemetry packets in Packet Viewer.On the Tlm Packets tab click View in Packet Viewer for a telemetry packet.
    CTS-12The Command and Telemetry Server shall display time stamps in local time.View time stamps in log.
    +

    Limits Monitor

    Limits Monitor displays all telemetry points that are currently out of limits and also shows any telemetry points that have gone out of limits since Limits Monitor was started.

    -
    Reqt. IDDescriptionTest Description
    LM-1Limits Monitor shall display all telemetry points currently out of limits.View displayed telemetry points.
    LM-2Limits Monitor shall support ignoring telemetry points.Click ignore on a telemetry point.
    LM-3Limits Monitor shall keep a displayed log of limits violations.View the log tab.
    LM-4Limits Monitor shall continue displaying a telemetry point that temporarily went out of limits.Watch until a telemetry points returns to green.
    LM-5Limits Monitor shall support saving its configuration.Save the configuration.
    LM-6Limits Monitor shall support loading its configuration.Load the configuration.
    -

    Command Sender

    +
    Reqt. IDDescriptionTest Description
    LM-1Limits Monitor shall display all telemetry points currently out of limits.View displayed telemetry points.
    LM-2Limits Monitor shall support ignoring telemetry points.Click ignore on a telemetry point.
    LM-3Limits Monitor shall keep a displayed log of limits violations.View the log tab.
    LM-4Limits Monitor shall continue displaying a telemetry point that temporarily went out of limits.Watch until a telemetry points returns to green.
    LM-5Limits Monitor shall support saving its configuration.Save the configuration.
    LM-6Limits Monitor shall support loading its configuration.Load the configuration.
    +

    Command Sender

    Command Sender provides an easy method to send single commands to targets. The graphical user interface provides simple dropdowns to quickly select the desired command to send organized by target name and command name. After the user has selected the command, they then fill in the desired command parameters and click send to send the command to the target.

    -
    Reqt. IDDescriptionTest Description
    CMD-1Command Sender shall allow selection of a command by target name and packet name.Select a specific command by target name and packet name in the drop down menus.
    CMD-2Command Sender shall allow sending the selected command.Send the selected command by pressing the Send button.
    CMD-3Command Sender shall display non-ignored parameters for the selected command.Select a specific command and verify the expected parameters are shown.
    CMD-4Command Sender shall provide a mechanism to select state values for command parameters with states.Select a specific state value for a specific command with states.
    CMD-5Command Sender shall allow sending a manually entered value for a command parameter with states.Manually enter a value for a specific command with states.
    CMD-6Command Sender shall refuse to send commands if required parameters are not provided.Attempt to send a command with a required parameter not filled out.
    CMD-7Command Sender shall support sending commands while ignoring range checking.Enter Ignore Range Checking mode and then send a command with an out of range parameter.
    CMD-8Command Sender shall optionally display state values in hex.Enter "Display State Values in Hex" mode and verify state values are displayed as hex.
    CMD-9Command Sender shall optionally display ignored command parameters.Enter "Show Ignored Parameters" mode and verify ignored parameters are displayed.
    CMD-10Command Sender shall respect hazardous commands and notify the user before proceeding.Send a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send.
    CMD-11Command Sender shall keep a command history of each command sent.Send a command and verify that it shows up in the command history box.
    CMD-12Command Sender shall allow resending of any command in the command history.Resend one of the commands in the command history box.
    -

    Script Runner

    +
    Reqt. IDDescriptionTest Description
    CMD-1Command Sender shall allow selection of a command by target name and packet name.Select a specific command by target name and packet name in the drop down menus.
    CMD-2Command Sender shall allow sending the selected command.Send the selected command by pressing the Send button.
    CMD-3Command Sender shall display non-ignored parameters for the selected command.Select a specific command and verify the expected parameters are shown.
    CMD-4Command Sender shall provide a mechanism to select state values for command parameters with states.Select a specific state value for a specific command with states.
    CMD-5Command Sender shall allow sending a manually entered value for a command parameter with states.Manually enter a value for a specific command with states.
    CMD-6Command Sender shall refuse to send commands if required parameters are not provided.Attempt to send a command with a required parameter not filled out.
    CMD-7Command Sender shall support sending commands while ignoring range checking.Enter Ignore Range Checking mode and then send a command with an out of range parameter.
    CMD-8Command Sender shall optionally display state values in hex.Enter "Display State Values in Hex" mode and verify state values are displayed as hex.
    CMD-9Command Sender shall optionally display ignored command parameters.Enter "Show Ignored Parameters" mode and verify ignored parameters are displayed.
    CMD-10Command Sender shall respect hazardous commands and notify the user before proceeding.Send a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send.
    CMD-11Command Sender shall keep a command history of each command sent.Send a command and verify that it shows up in the command history box.
    CMD-12Command Sender shall allow resending of any command in the command history.Resend one of the commands in the command history box.
    +

    Script Runner

    Script Runner provides a visual interface for editing and executing scripts/procedures. A full featured text editor provides syntax highlighting and code completion while developing scripts. During script execution, the currently executing line is highlighted and any logged messages are highlighted to the user. If any failure occurs, the script is paused and the user alerted. The user can then decide whether to stop the script, or ignore the failure and continue. The user can also retry the failed lines, or other nearby lines before proceeding.

    Script Runner now also provides a structured methodology for designing system level scripting that mirrors the very successful pattern used in software unit tests (previously implemented in the Test Runner tool). System level tests/procedures are built up of cases that are organized into groups. For example, you might have one group that verified all of the requirements associated with a particular mechanism. Ideally you would break this down into individual cases for different scenarios. One perhaps for opening a shutter, another for closing it, etc. Cases are ideally small and independent tasks. A number of these groups are then combined into an overall suite which would be run to execute a major test such as EMI, or software FQT.

    -
    Reqt. IDDescriptionTest Description
    SR-1Script Runner shall provide a text editor for developing test scripts.Open Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines.
    SR-2Script Runner shall provide search and replace functionality.Perform all standard search and replace functionality, including search, replace, find next, and find previous.
    SR-3Script Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported.Create a script and exercise code completion on the mentioned keywords.
    SR-4Script Runner shall execute Ruby-based COSMOS scripts.Press start and execute a script.
    SR-5Script Runner shall highlight the currently executing line of the script.Verify that lines are highlighted as a test script executes.
    SR-6Script Runner shall allow pausing an executing script.Press pause button and verify script is paused. Press start to resume.
    SR-7Script Runner shall allow stopping an executing script.Press stop and verify script stops.
    SR-8Script Runner shall pause an executing script upon the occurrence of an error.Create a script with a statement that is guaranteed to fail and verify that the script is paused.
    SR-9Script Runner shall log commands sent.Execute a script that sends a command and verify it is logged.
    SR-10Script Runner shall log text written to STDOUT. Note: Typically through the puts method.Execute a script that uses puts to write a message and verify it is logged.
    SR-11Script Runner shall log wait times.Execute a script that includes a wait method and verify wait time is logged.
    SR-12Script Runner shall log errors that occur while the script is executing.Create a script with a check statement that is guaranteed to fail and verify it is logged.
    SR-13Script Runner shall log check statement success and failure.Create a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged.
    SR-14Script Runner shall support executing selected lines.Select a set of lines and execute them using Script->Execute Selected Lines.
    SR-15Script Runner shall support executing selected lines while paused.Select a set of lines and execute them from the right-click context menu.
    SR-16Script Runner shall support starting a script from any line.Place the mouse cursor at the desired first line and then select Script->Execute From Cursor.
    SR-17Script Runner shall support a mnemonic checking function.Select Script->Mnemonic Check.
    SR-18Script Runner shall support a syntax checking function.Select Script->Ruby Syntax Check.
    SR-19Script Runner shall support viewing the script instrumentation.Select Script->View Instrumented Script.
    SR-20Script Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server.Select Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion.
    SR-21Script Runner shall support a Debug terminal to aid in debugging scripts.Select Script->Toggle Debug.
    SR-22Script Runner shall support a step mode where the script will stop and wait for use interaction after each line.Press Step to progress through the script.
    SR-23Script Runner shall support breakpoint functionality.Create a breakpoint then execute the script and verify it stops at the specified line.
    SR-25Script Runner Suite Mode shall support executing individual test suites.Execute an individual test suite.
    SR-26Script Runner Suite Mode shall support executing individual test groups.Execute an individual test group.
    SR-27Script Runner Suite Mode shall support executing individual test cases.Execute an individual test case.
    SR-28Script Runner Suite Mode shall support executing test group setup and teardown methods individually.Execute a test group setup. Execute a test group teardown.
    SR-29Script Runner Suite Mode shall support executing test suite setup and teardown methods individually.Execute a test suite setup. Execute a test suite teardown.
    SR-30Script Runner Suite Mode shall create a report after executing any suite test.Verify a report is generated after executing a suite.
    SR-31Script Runner Suite Mode shall support pausing when an error occurs.Execute a test script with the pause on error box checked and without.
    SR-32Script Runner Suite Mode shall support allowing the user to proceed on an error.Execute a test script with the Allow go/retry on error box checked and without.
    SR-33Script Runner Suite Mode shall support aborting execution on an error.Execute a test script with the abort on error box checked and without.
    SR-34Script Runner Suite Mode shall support looping a test.Execute a test script with the loop testing box checked and without.
    SR-35Script Runner Suite Mode shall support breaking the looping of a test on error.Execute a test script with the break loop on error box checked and without.
    SR-36Script Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring.Execute a test script that checks the $loop_testing variable while looping and again while not looping.
    SR-37Script Runner Suite Mode shall support a user readable flag indicating manual operations are desired.Execute a test script with the manual box checked and without.
    -

    Packet Viewer

    +
    Reqt. IDDescriptionTest Description
    SR-1Script Runner shall provide a text editor for developing test scripts.Open Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines.
    SR-2Script Runner shall provide search and replace functionality.Perform all standard search and replace functionality, including search, replace, find next, and find previous.
    SR-3Script Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported.Create a script and exercise code completion on the mentioned keywords.
    SR-4Script Runner shall execute Ruby-based COSMOS scripts.Press start and execute a script.
    SR-5Script Runner shall highlight the currently executing line of the script.Verify that lines are highlighted as a test script executes.
    SR-6Script Runner shall allow pausing an executing script.Press pause button and verify script is paused. Press start to resume.
    SR-7Script Runner shall allow stopping an executing script.Press stop and verify script stops.
    SR-8Script Runner shall pause an executing script upon the occurrence of an error.Create a script with a statement that is guaranteed to fail and verify that the script is paused.
    SR-9Script Runner shall log commands sent.Execute a script that sends a command and verify it is logged.
    SR-10Script Runner shall log text written to STDOUT. Note: Typically through the puts method.Execute a script that uses puts to write a message and verify it is logged.
    SR-11Script Runner shall log wait times.Execute a script that includes a wait method and verify wait time is logged.
    SR-12Script Runner shall log errors that occur while the script is executing.Create a script with a check statement that is guaranteed to fail and verify it is logged.
    SR-13Script Runner shall log check statement success and failure.Create a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged.
    SR-14Script Runner shall support executing selected lines.Select a set of lines and execute them using Script->Execute Selected Lines.
    SR-15Script Runner shall support executing selected lines while paused.Select a set of lines and execute them from the right-click context menu.
    SR-16Script Runner shall support starting a script from any line.Place the mouse cursor at the desired first line and then select Script->Execute From Cursor.
    SR-17Script Runner shall support a mnemonic checking function.Select Script->Mnemonic Check.
    SR-18Script Runner shall support a syntax checking function.Select Script->Ruby Syntax Check.
    SR-19Script Runner shall support viewing the script instrumentation.Select Script->View Instrumented Script.
    SR-20Script Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server.Select Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion.
    SR-21Script Runner shall support a Debug terminal to aid in debugging scripts.Select Script->Toggle Debug.
    SR-22Script Runner shall support a step mode where the script will stop and wait for use interaction after each line.Press Step to progress through the script.
    SR-23Script Runner shall support breakpoint functionality.Create a breakpoint then execute the script and verify it stops at the specified line.
    SR-25Script Runner Suite Mode shall support executing individual test suites.Execute an individual test suite.
    SR-26Script Runner Suite Mode shall support executing individual test groups.Execute an individual test group.
    SR-27Script Runner Suite Mode shall support executing individual test cases.Execute an individual test case.
    SR-28Script Runner Suite Mode shall support executing test group setup and teardown methods individually.Execute a test group setup. Execute a test group teardown.
    SR-29Script Runner Suite Mode shall support executing test suite setup and teardown methods individually.Execute a test suite setup. Execute a test suite teardown.
    SR-30Script Runner Suite Mode shall create a report after executing any suite test.Verify a report is generated after executing a suite.
    SR-31Script Runner Suite Mode shall support pausing when an error occurs.Execute a test script with the pause on error box checked and without.
    SR-32Script Runner Suite Mode shall support allowing the user to proceed on an error.Execute a test script with the Allow go/retry on error box checked and without.
    SR-33Script Runner Suite Mode shall support aborting execution on an error.Execute a test script with the abort on error box checked and without.
    SR-34Script Runner Suite Mode shall support looping a test.Execute a test script with the loop testing box checked and without.
    SR-35Script Runner Suite Mode shall support breaking the looping of a test on error.Execute a test script with the break loop on error box checked and without.
    SR-36Script Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring.Execute a test script that checks the $loop_testing variable while looping and again while not looping.
    SR-37Script Runner Suite Mode shall support a user readable flag indicating manual operations are desired.Execute a test script with the manual box checked and without.
    +

    Packet Viewer

    Packet Viewer provides a simple tool to view the realtime contents of any telemetry packet defined in the system in a tabular, key-value format.

    -
    Reqt. IDDescriptionTest Description
    PV-1Packet Viewer shall allow selection of a telemetry packet by target name and packet name.Select a specific telemetry packet by target name and packet name in the drop down menus.
    PV-2Packet Viewer shall display the contents of the selected telemetry packet.Ensure all items of the selected telemetry packet are displayed and updating.
    PV-3Packet Viewer shall provide a mechanism to get detailed information on a telemetry item.Right click on a telemetry item and select "Details" from the context menu.
    PV-4Packet Viewer shall provide a mechanism to view a graph of any telemetry item.Right click on a telemetry item and select "Graph" from the context menu.
    PV-5Packet Viewer shall color telemetry values based upon limits state.View a packet with items containing limits and verify they are colored.
    PV-6Packet Viewer shall support a configurable polling rate.Select File->Options and change the polling rate.
    PV-7Packet Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind.Select View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color.
    PV-8Packet Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)In the View menu, select each of the four value types and verify values are displayed accordingly.
    -

    Telemetry Viewer

    -

    Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways.

    -
    Reqt. IDDescriptionTest Description
    TV-1Telemetry Viewer shall display user-defined telemetry screens.Open a telemetry
    TV-2Telemetry Viewer shall display realtime data.Verify telemetry screens show realtime data.
    TV-3Telemetry Viewer shall support saving open telemetry screens and their positions.Open three telemetry screens and then select File->Save Configuration.
    -

    Telemetry Grapher

    +
    Reqt. IDDescriptionTest Description
    PV-1Packet Viewer shall allow selection of a telemetry packet by target name and packet name.Select a specific telemetry packet by target name and packet name in the drop down menus.
    PV-2Packet Viewer shall display the contents of the selected telemetry packet.Ensure all items of the selected telemetry packet are displayed and updating.
    PV-3Packet Viewer shall provide a mechanism to get detailed information on a telemetry item.Right click on a telemetry item and select "Details" from the context menu.
    PV-4Packet Viewer shall provide a mechanism to view a graph of any telemetry item.Right click on a telemetry item and select "Graph" from the context menu.
    PV-5Packet Viewer shall color telemetry values based upon limits state.View a packet with items containing limits and verify they are colored.
    PV-6Packet Viewer shall support a configurable polling rate.Select File->Options and change the polling rate.
    PV-7Packet Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind.Select View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color.
    PV-8Packet Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)In the View menu, select each of the four value types and verify values are displayed accordingly.
    +

    Telemetry Viewer

    +

    Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways.

    +
    Reqt. IDDescriptionTest Description
    TV-1Telemetry Viewer shall display user-defined telemetry screens.Open a telemetry
    TV-2Telemetry Viewer shall display realtime data.Verify telemetry screens show realtime data.
    TV-3Telemetry Viewer shall support saving open telemetry screens and their positions.Open three telemetry screens and then select File->Save Configuration.
    +

    Telemetry Grapher

    Telemetry Grapher performs graphing of telemetry points in both realtime and log file playback.

    -
    Reqt. IDDescriptionTest Description
    TG-1Telemetry Grapher shall provide line graphs of telemetry points.Add several housekeeping data objects to a plot.
    TG-2Telemetry Grapher shall support realtime graphing of telemetry.Press Start to start realtime graphing.
    TG-3Telemetry Grapher shall support graphing data from logged telemetry.Select the menu option to graph data from a logged data
    TG-4Telemetry Grapher shall support multiple plots per browser tab.Add multiple plots.
    TG-5Telemetry Grapher shall support multiple telemetry points per plot.Add multiple data objects to one plot.
    TG-6Telemetry Grapher shall support saving a variable number of data points.Edit Points Saved.
    TG-7Telemetry Grapher shall support graphing a variable duration of time.Edit Seconds Plotted.
    TG-8Telemetry Grapher shall support graphing a variable number of data points.Edit Points Plotted.
    TG-9Telemetry Grapher shall support saving its configuration.Save the current configuration.
    TG-10Telemetry Grapher shall support loading its configuration.Load the previously saved configuration.
    -

    Data Extractor

    +
    Reqt. IDDescriptionTest Description
    TG-1Telemetry Grapher shall provide line graphs of telemetry points.Add several housekeeping data objects to a plot.
    TG-2Telemetry Grapher shall support realtime graphing of telemetry.Press Start to start realtime graphing.
    TG-3Telemetry Grapher shall support graphing data from logged telemetry.Select the menu option to graph data from a logged data
    TG-4Telemetry Grapher shall support multiple plots per browser tab.Add multiple plots.
    TG-5Telemetry Grapher shall support multiple telemetry points per plot.Add multiple data objects to one plot.
    TG-6Telemetry Grapher shall support saving a variable number of data points.Edit Points Saved.
    TG-7Telemetry Grapher shall support graphing a variable duration of time.Edit Seconds Plotted.
    TG-8Telemetry Grapher shall support graphing a variable number of data points.Edit Points Plotted.
    TG-9Telemetry Grapher shall support saving its configuration.Save the current configuration.
    TG-10Telemetry Grapher shall support loading its configuration.Load the previously saved configuration.
    +

    Data Extractor

    Data Extractor processes logged data and extracts data into a CSV format for analysis in Excel or other tools.

    -
    Reqt. IDDescriptionTest Description
    DE-1Data Extractor shall support adding individual telemetry points.Add an individual telemetry point.
    DE-2Data Extractor shall support adding entire telemetry packets.Add an entire packet.
    DE-3Data Extractor shall support adding entire telemetry targets.Add all packets for a target.
    DE-4Data Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)Click an item and change the value type.
    DE-5Data Extractor shall support saving configurations.Select File->Save Config
    DE-6Data Extractor shall support loading configurations.Select File->Load Config
    DE-7Data Extractor shall support deleting itemsSelect an Item and press delete
    -

    Data Viewer

    +
    Reqt. IDDescriptionTest Description
    DE-1Data Extractor shall support adding individual telemetry points.Add an individual telemetry point.
    DE-2Data Extractor shall support adding entire telemetry packets.Add an entire packet.
    DE-3Data Extractor shall support adding entire telemetry targets.Add all packets for a target.
    DE-4Data Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)Click an item and change the value type.
    DE-5Data Extractor shall support saving configurations.Select File->Save Config
    DE-6Data Extractor shall support loading configurations.Select File->Load Config
    DE-7Data Extractor shall support deleting itemsSelect an Item and press delete
    +

    Data Viewer

    Data Viewer provides for textual display of telemetry packets where other display methods are not a good fit. It is especially useful for memory dumps and for log message type data display.

    -
    Reqt. IDDescriptionTest Description
    DV-1Data Viewer shall support realtime processing of telemetry packets.Press Start to start realtime processing.
    DV-2Data Viewer shall support logged playback of telemetry packets.Select a time range to playback.
    DV-3Data Viewer shall support textual display of telemetry packets.View the display of data.
    DV-4Data Viewer shall support multiple tabs for data display.Switch between several tabs of data.
    DV-5Data Viewer shall support deleting tabs.Delete a tab.
    -

    Calendar

    +
    Reqt. IDDescriptionTest Description
    DV-1Data Viewer shall support realtime processing of telemetry packets.Press Start to start realtime processing.
    DV-2Data Viewer shall support logged playback of telemetry packets.Select a time range to playback.
    DV-3Data Viewer shall support textual display of telemetry packets.View the display of data.
    DV-4Data Viewer shall support multiple tabs for data display.Switch between several tabs of data.
    DV-5Data Viewer shall support deleting tabs.Delete a tab.
    +

    Calendar

    The Calendar tool provides a user interface and API for initiating scheduled actions in COSMOS

    -
    Reqt. IDDescriptionTest Description
    TL-1Calendar shall allow creating new timelinesClick the button and create a new timeline
    TL-2Calendar shall allow scheduling commands for future execectionAdd a command to a timeline
    TL-3Calendar shall allow scheduling scripts for future executionAdd a script to a timeline
    TL-4Calendar shall allow for reserving a resourceAdd a reservation to a timeline
    TL-5Calendar shall track success or failure of commandsLook at status from a completed command
    TL-6Calendar shall track success or failure of scriptsLook at status from a completed script
    TL-7Calendar shall allow deleting activities from timelinesDelete a preexisting item from a timeline
    TL-8Calendar shall allow deleting timelinesDelete a timeline
    -

    Admin

    +
    Reqt. IDDescriptionTest Description
    TL-1Calendar shall allow creating new timelinesClick the button and create a new timeline
    TL-2Calendar shall allow scheduling commands for future execectionAdd a command to a timeline
    TL-3Calendar shall allow scheduling scripts for future executionAdd a script to a timeline
    TL-4Calendar shall allow for reserving a resourceAdd a reservation to a timeline
    TL-5Calendar shall track success or failure of commandsLook at status from a completed command
    TL-6Calendar shall track success or failure of scriptsLook at status from a completed script
    TL-7Calendar shall allow deleting activities from timelinesDelete a preexisting item from a timeline
    TL-8Calendar shall allow deleting timelinesDelete a timeline
    +

    Admin

    The Admin tool provides administrative functionality including managing plugins for the COSMOS system

    -
    Reqt. IDDescriptionTest Description
    AD-1The Admin Tool shall allow installing pluginsUpload and Install a Plugin
    AD-2The Admin Tool shall support upgrading pluginsUpgrade an installed plugin
    AD-3The Admin Tool shall support uninstalling pluginsUninstall a plugin
    AD-4The Admin Tool shall display information on installed pluginsView info on Interfaces, Microservices, etc
    AD-5The Admin Tool shall support editing microservicesEdit the settings for a microservice
    AD-6The Admin Tool shall support discovery of pluginsDiscover and download a plugin
    AD-7The Admin Tool shall support adding links to external toolsAdd a link to Google
    AD-8The Admin Tool shall support reordering toolsReorder tools on the tools tab
    AD-9The Admin Tool shall support configuring a classification barAdd a classification bar on the settings tab
- - \ No newline at end of file +
Reqt. IDDescriptionTest Description
AD-1The Admin Tool shall allow installing pluginsUpload and Install a Plugin
AD-2The Admin Tool shall support upgrading pluginsUpgrade an installed plugin
AD-3The Admin Tool shall support uninstalling pluginsUninstall a plugin
AD-4The Admin Tool shall display information on installed pluginsView info on Interfaces, Microservices, etc
AD-5The Admin Tool shall support editing microservicesEdit the settings for a microservice
AD-6The Admin Tool shall support discovery of pluginsDiscover and download a plugin
AD-7The Admin Tool shall support adding links to external toolsAdd a link to Google
AD-8The Admin Tool shall support reordering toolsReorder tools on the tools tab
AD-9The Admin Tool shall support configuring a classification barAdd a classification bar on the settings tab
\ No newline at end of file diff --git a/docs/docs/getting-started/upgrading.html b/docs/docs/getting-started/upgrading.html index 08ad2b11ef..df3c78875d 100644 --- a/docs/docs/getting-started/upgrading.html +++ b/docs/docs/getting-started/upgrading.html @@ -1,47 +1,36 @@ - - - - - -Upgrading | OpenC3 Docs - - - - -

Upgrading

COSMOS Upgrades

-

COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release.

+Upgrading | OpenC3 Docs

Upgrading

COSMOS Upgrades

+

COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release.

This example assumes an existing COSMOS project at C:\cosmos-project.

  1. Stop the current COSMOS application

    -
    C:\cosmos-project> openc3.bat stop
    +
    C:\cosmos-project> openc3.bat stop
  2. Change the release in the .env file to the desired release

    -
    OPENC3_TAG=5.1.1
    +
    OPENC3_TAG=5.1.1
  3. Run the new COSMOS application

    -
    C:\cosmos-project> openc3.bat run
    +
    C:\cosmos-project> openc3.bat run
-

Migrating From COSMOS 4 to COSMOS 5

-

COSMOS 5 is a new architecture and treats targets as independent plugins. Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment.

+
Downgrades

Downgrades are not necessarily supported. When upgrading COSMOS we need to upgrade databases and sometimes migrate internal data structures. While we perform a full regression test on every release, we recommend upgrading an individual machine with your specific plugins and do local testing before rolling out the upgrade to your production system.

In general, patch releases (x.y.Z) can be downgraded, minor releases (x.Y.z) might be able to be downgraded and major releases (X.y.z) are NOT able to be downgraded.

+

Migrating From COSMOS 4 to COSMOS 5

+

COSMOS 5 is a new architecture and treats targets as independent plugins. Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment.

COSMOS 5 includes a migration tool for converting an existing COSMOS 4 configuration into a COSMOS 5 plugin. This example assumes an existing COSMOS 4 configuration at C:\COSMOS and a new COSMOS 5 installation at C:\cosmos-project. Linux users can adjust paths and change from .bat to .sh to follow along.

  1. Change to the existing COSMOS 4 configuration directory. You should see the config, lib, procedures, outputs directory. You can then run the migration tool by specifying the absolute path to the COSMOS 5 installation.

    -
    C:\COSMOS> C:\cosmos-project\openc3.bat cli migrate -a demo
    +
    C:\COSMOS> C:\cosmos-project\openc3.bat cli migrate -a demo

    This creates a new COSMOS 5 plugin called openc3-cosmos-demo with a target named DEMO containing the existing lib and procedures files as well as all the existing targets.

    -
    C:\COSMOS> C:\cosmos-project\openc3.bat cli migrate demo-part INST
    +
    C:\COSMOS> C:\cosmos-project\openc3.bat cli migrate demo-part INST

    This would create a new COSMOS 5 plugin called openc3-cosmos-demo-part with a target named DEMO_PART containing the existing lib and procedures files as well as the INST target (but no others).

  2. -

    Open the new COSMOS 5 plugin and ensure the plugin.txt file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually.

    +

    Open the new COSMOS 5 plugin and ensure the plugin.txt file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually.

  3. -

    Follow the building your plugin part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5.

    +

    Follow the building your plugin part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5.

  4. -
- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/guides.html b/docs/docs/guides.html index df0e6c9dbd..19fd32960f 100644 --- a/docs/docs/guides.html +++ b/docs/docs/guides.html @@ -1,13 +1 @@ - - - - - -Guides | OpenC3 Docs - - - - - - - \ No newline at end of file +Guides | OpenC3 Docs \ No newline at end of file diff --git a/docs/docs/guides/bridges.html b/docs/docs/guides/bridges.html index 69cb708a18..ecd63978cf 100644 --- a/docs/docs/guides/bridges.html +++ b/docs/docs/guides/bridges.html @@ -1,23 +1,13 @@ - - - - - -Bridges | OpenC3 Docs - - - - -

Bridges

COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS. +Bridges | OpenC3 Docs

Bridges

COSMOS Bridges provide an easy solution for getting data from devices that don't speak Ethernet into COSMOS. Serial ports are the most common, but other devices such as USB, PCI cards, and Bluetooth devices can also be supported by using bridges to convert from a host computer accessible device, into an Ethernet byte stream that COSMOS can process from inside of containers.

-
Bridges are Meant to be Dumb

The purpose of bridges is to get bytes into COSMOS. Processing should be done in COSMOS itself, including details such as -packet delineation.

-

Bridges are Generally Just an Interface and Router

+
Bridges are Meant to be Dumb

The purpose of bridges is to get bytes into COSMOS. Processing should be done in COSMOS itself, including details such as +packet delineation.

+

Bridges are Generally Just an Interface and Router

Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to COSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation protocol like LENGTH.

-

Host Requirements for Running Bridges

+

Host Requirements for Running Bridges

  • Requires a host Ruby installation (Ruby 3)
  • Install the OpenC3 gem @@ -32,31 +22,29 @@

    Bridge Configuration: bridge.txt

    +

    Bridge Configuration: bridge.txt

    Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword.

    The following is the default bridge.txt that is generated by running openc3cli bridgesetup

    -
    # Write serial port name
    VARIABLE write_port_name COM1

    # Read serial port name
    VARIABLE read_port_name COM1

    # Baud Rate
    VARIABLE baud_rate 115200

    # Parity - NONE, ODD, or EVEN
    VARIABLE parity NONE

    # Stop bits - 0, 1, or 2
    VARIABLE stop_bits 1

    # Write Timeout
    VARIABLE write_timeout 10.0

    # Read Timeout
    VARIABLE read_timeout nil

    # Flow Control - NONE, or RTSCTS
    VARIABLE flow_control NONE

    # Data bits per word - Typically 8
    VARIABLE data_bits 8

    # Port to listen for connections from COSMOS - Plugin must match
    VARIABLE router_port 2950

    # Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened
    # if COSMOS is on another machine.
    VARIABLE router_listen_address 127.0.0.1

    INTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %>
    OPTION FLOW_CONTROL <%= flow_control %>
    OPTION DATA_BITS <%= data_bits %>

    ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST
    ROUTE SERIAL_INT
    OPTION LISTEN_ADDRESS <%= router_listen_address %>
    +
    # Write serial port name
    VARIABLE write_port_name COM1

    # Read serial port name
    VARIABLE read_port_name COM1

    # Baud Rate
    VARIABLE baud_rate 115200

    # Parity - NONE, ODD, or EVEN
    VARIABLE parity NONE

    # Stop bits - 0, 1, or 2
    VARIABLE stop_bits 1

    # Write Timeout
    VARIABLE write_timeout 10.0

    # Read Timeout
    VARIABLE read_timeout nil

    # Flow Control - NONE, or RTSCTS
    VARIABLE flow_control NONE

    # Data bits per word - Typically 8
    VARIABLE data_bits 8

    # Port to listen for connections from COSMOS - Plugin must match
    VARIABLE router_port 2950

    # Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened
    # if COSMOS is on another machine.
    VARIABLE router_listen_address 127.0.0.1

    INTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %>
    OPTION FLOW_CONTROL <%= flow_control %>
    OPTION DATA_BITS <%= data_bits %>

    ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST
    ROUTE SERIAL_INT
    OPTION LISTEN_ADDRESS <%= router_listen_address %>

    VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access this server using the host.docker.internal hostname and the configured port (2950 in this example).

    -

    Bridge Commands: openc3cli

    +

    Bridge Commands: openc3cli

    openc3cli bridgesetup

    Generates a bridge.txt example file

    openc3cli bridge [filename] [variable1=value1] [variable2=value2]

    Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults.

    openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2]

    Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults.

    -

    Example Bridge Gems

    +

    Example Bridge Gems

    -

    Note on Serial Ports

    +

    Note on Serial Ports

    Serial ports can be used directly without bridges on Linux Docker installations.

    Add the following to the operator service in compose.yaml:

    -
       devices:
    - "/dev/ttyUSB0:/dev/ttyUSB0"
    +
       devices:
    - "/dev/ttyUSB0:/dev/ttyUSB0"

    Make sure the serial device has permissions for the user running Docker to access:

    -
    sudo chmod 666 /dev/ttyUSB0
- - \ No newline at end of file +
sudo chmod 666 /dev/ttyUSB0
\ No newline at end of file diff --git a/docs/docs/guides/cfs.html b/docs/docs/guides/cfs.html index c94c72a800..4b2e6d1d96 100644 --- a/docs/docs/guides/cfs.html +++ b/docs/docs/guides/cfs.html @@ -1,62 +1,52 @@ - - - - - -COSMOS and NASA cFS | OpenC3 Docs - - - - -

COSMOS and NASA cFS

Working configuration

+COSMOS and NASA cFS | OpenC3 Docs

COSMOS and NASA cFS

Working configuration

This tutorial has been tested using the following components:

    -
  • COSMOS v5 release 5.0.6
  • +
  • COSMOS v5 release 5.0.6
  • cFS master-branch commit: 561b128 (June 1, 2022)
  • Docker Desktop 4.9.0 on Windows
-

Replace all <xxxxxx> with your matching paths and names. Example: <USERNAME>.

-

Setting up COSMOS

-

Install COSMOS according to the official installation instructions.

-

Configuring COSMOS

+

Replace all <xxxxxx> with your matching paths and names. Example: <USERNAME>.

+

Setting up COSMOS

+

Install COSMOS according to the official installation instructions.

+

Configuring COSMOS

Change the Docker configuration for the interoperability with NASA cFS. For subscribing to the telemetry, you have to append a port binding in the file compose.yaml under the section openc3-operator. The port number has to match with the port number cFS is sending the telemetry on.

-
openc3-operator:
ports:
- "1235:1235/udp"
+
openc3-operator:
ports:
- "1235:1235/udp"

Run COSMOS, the first run takes a while (~15 min).

-
openc3.sh start
-

When started, connect with a browser to http://localhost:2900.

+
openc3.sh start
+

When started, connect with a browser to http://localhost:2900.

For shutting down COSMOS:

-
openc3.sh stop
-

Setting up cFS

-

To run NASA cFS as a Docker container do the following:

-

Clone cFS

-
git clone --recurse-submodules https://github.com/nasa/cFS.git
-

Create Dockerfile in cFS dir

-
FROM ubuntu:22.10 AS builder

ARG DEBIAN_FRONTEND=noninteractive
ARG SIMULATION=native
ENV SIMULATION=${SIMULATION}
ARG BUILDTYPE=debug
ENV BUILDTYPE=${BUILDTYPE}
ARG OMIT_DEPRECATED=true
ENV OMIT_DEPRECATED=${OMIT_DEPRECATED}

RUN \
apt-get update && \
apt-get -y upgrade && \
apt-get install -y build-essential git cmake && \
rm -rf /var/lib/apt/lists/*

WORKDIR /cFS
COPY . .

RUN git submodule init \
&& git submodule update \
&& cp cfe/cmake/Makefile.sample Makefile \
&& cp -r cfe/cmake/sample_defs .

RUN make prep
RUN make
RUN make install

FROM ubuntu:22.10
COPY --from=builder /cFS/build /cFS/build
WORKDIR /cFS/build/exe/cpu1
ENTRYPOINT [ "./core-cpu1" ]
-

Build and run cFS

-

Note we're connecting to the COSMOS network (docker network ls) and exposing the cFS ports.

-
docker build -t cfs .
docker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs
-

Creating a COSMOS plugin for TM/TC interface with cFS

+
openc3.sh stop
+

Setting up cFS

+

To run NASA cFS as a Docker container do the following:

+

Clone cFS

+
git clone --recurse-submodules https://github.com/nasa/cFS.git
+

Create Dockerfile in cFS dir

+
FROM ubuntu:22.10 AS builder

ARG DEBIAN_FRONTEND=noninteractive
ARG SIMULATION=native
ENV SIMULATION=${SIMULATION}
ARG BUILDTYPE=debug
ENV BUILDTYPE=${BUILDTYPE}
ARG OMIT_DEPRECATED=true
ENV OMIT_DEPRECATED=${OMIT_DEPRECATED}

RUN \
apt-get update && \
apt-get -y upgrade && \
apt-get install -y build-essential git cmake && \
rm -rf /var/lib/apt/lists/*

WORKDIR /cFS
COPY . .

RUN git submodule init \
&& git submodule update \
&& cp cfe/cmake/Makefile.sample Makefile \
&& cp -r cfe/cmake/sample_defs .

RUN make prep
RUN make
RUN make install

FROM ubuntu:22.10
COPY --from=builder /cFS/build /cFS/build
WORKDIR /cFS/build/exe/cpu1
ENTRYPOINT [ "./core-cpu1" ]
+

Build and run cFS

+

Note we're connecting to the COSMOS network (docker network ls) and exposing the cFS ports.

+
docker build -t cfs .
docker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs
+

Creating a COSMOS plugin for TM/TC interface with cFS

The detailed instructions how to create a plugin, can be found -here, in the chapter "Interfacing with Your Hardware".

+here, in the chapter "Interfacing with Your Hardware".

Create a new plugin with the name CFS. CFS is the name of the plugin and must be in capital letters according to the COSMOS documentation. This command should create the plugin structure. Then cd into the plugin to create the target.

-
# cd .. to the location of the cfs dir
$PATH_TO_OPENC3/openc3.sh cli generate plugin CFS
cd openc3-cosmos-cfs
$PATH_TO_OPENC3/openc3.sh cli generate target CFS
+
# cd .. to the location of the cfs dir
$PATH_TO_OPENC3/openc3.sh cli generate plugin CFS
cd openc3-cosmos-cfs
$PATH_TO_OPENC3/openc3.sh cli generate target CFS

In this newly created plugin, change the plugin.txt file, so that the communication happens over UDP. port_tm is the port number on which cFS sends the telemetry messages. port_tc indicates the port on which cFS listens to the telecommands.

-
VARIABLE ip 127.0.0.1
VARIABLE port_tm 1235
VARIABLE port_tc 1234
VARIABLE cfs_target_name CFS

TARGET CFS <%= cfs_target_name %>
# hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address
INTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil
MAP_TARGET <%= cfs_target_name %>
+
VARIABLE ip 127.0.0.1
VARIABLE port_tm 1235
VARIABLE port_tc 1234
VARIABLE cfs_target_name CFS

TARGET CFS <%= cfs_target_name %>
# hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address
INTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil
MAP_TARGET <%= cfs_target_name %>

Note that the two arguments to the TARGET parameter are:

  1. the physical target name that should match the name of the plugin, i.e. CFS. This name must match the folder name in the targets folder. Example: for the CFS plugin, the target specifications must be under -openc3-cfs/targets/CFS. If you don't follow this +openc3-cfs/targets/CFS. If you don't follow this convention, the server will refuse to install your plugin at the following steps.

  2. @@ -64,49 +54,47 @@

    Creating TM/TC definitions

    +

    Creating TM/TC definitions

    Change to the target folder and remove the existing files and create own files.

    -
    cd openc3-cfs/targets/CFS/cmd_tlm
    rm *
    touch cfs_cmds.txt
    touch cfs_tlm.txt
    touch to_lab_cmds.txt
    +
    cd openc3-cfs/targets/CFS/cmd_tlm
    rm *
    touch cfs_cmds.txt
    touch cfs_tlm.txt
    touch to_lab_cmds.txt

    Open these newly created files in a text editor and fill them with following content.

    to_lab_cmds.txt:

    -
    COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry"
    # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet"
    APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 ""
    FORMAT_STRING "0x%2X"
    APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57"
    -
    Enabling Telemetry

    The command 0x1880 is needed to enable telemetry. When the cFS receives +

    COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry"
    # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet"
    APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 ""
    FORMAT_STRING "0x%2X"
    APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57"
    +
    Enabling Telemetry

    The command 0x1880 is needed to enable telemetry. When the cFS receives this command, it starts sending telemetry to the IP address provided via the -DEST_IP field.

    +DEST_IP field.

    cfs_cmds.txt:

    -
    COMMAND CFS NOOP BIG_ENDIAN "NOOP Command"
    # cFS primary header
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
    # cFS CMD secondary header
    APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""

    COMMAND CFS RESET BIG_ENDIAN "Reset Counters Command"
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
    APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""

    COMMAND CFS PROCESS BIG_ENDIAN "Process Command"
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
    APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""
    +
    COMMAND CFS NOOP BIG_ENDIAN "NOOP Command"
    # cFS primary header
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
    # cFS CMD secondary header
    APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""

    COMMAND CFS RESET BIG_ENDIAN "Reset Counters Command"
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
    APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""

    COMMAND CFS PROCESS BIG_ENDIAN "Process Command"
    APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification"
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 ""
    FORMAT_STRING "0x%04X"
    APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length"
    APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 ""
    APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 ""

    cfs_tlm.txt:

    -
    TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry"
    # NAME BITS TYPE ID DESCRIPTION
    APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID"
    FORMAT_STRING "0x%04X"
    APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence"
    FORMAT_STRING "0x%04X"
    APPEND_ITEM PKT_LEN 16 UINT "Length of the packet"
    # telemetry secondary header
    APPEND_ITEM SECONDS 32 UINT ""
    UNITS Seconds sec
    APPEND_ITEM SUBSECS 16 UINT ""
    UNITS Milliseconds ms
    # some bytes not known for what
    APPEND_ITEM SPARE2ALIGN 32 UINT "Spares"
    # payload
    APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter"
    APPEND_ITEM CMD_CNT 8 UINT "Command Counter"
    # spare / alignment
    APPEND_ITEM SPARE 16 UINT "Spares"
    +
    TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry"
    # NAME BITS TYPE ID DESCRIPTION
    APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID"
    FORMAT_STRING "0x%04X"
    APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence"
    FORMAT_STRING "0x%04X"
    APPEND_ITEM PKT_LEN 16 UINT "Length of the packet"
    # telemetry secondary header
    APPEND_ITEM SECONDS 32 UINT ""
    UNITS Seconds sec
    APPEND_ITEM SUBSECS 16 UINT ""
    UNITS Milliseconds ms
    # some bytes not known for what
    APPEND_ITEM SPARE2ALIGN 32 UINT "Spares"
    # payload
    APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter"
    APPEND_ITEM CMD_CNT 8 UINT "Command Counter"
    # spare / alignment
    APPEND_ITEM SPARE 16 UINT "Spares"

    Build the plugin from the base of your plugin folder:

    -
    # cd openc3-cfs
    $PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0
    -
    Plugin versioning

    Do not forget to change the version number with every build if you want to +

    # cd openc3-cfs
    $PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0
    +
    Plugin versioning

    Do not forget to change the version number with every build if you want to better distinguish between the versions of the plugin. When the version is -seen in the plugin's .gem file name, it is easier to visualize the existing -versions and the newly uploaded versions.

    -
    Plugin parameters

    Multiple parameters are available for the plugin configuration. See the plugin page.

    -

    Uploading the plugin

    +seen in the plugin's .gem file name, it is easier to visualize the existing +versions and the newly uploaded versions.
    +
    Plugin parameters

    Multiple parameters are available for the plugin configuration. See the plugin page.

    +

    Uploading the plugin

    After the plugin has been built, you can import the plugin in the admin area of the page.

    Connect with a browser to -http://localhost:2900/tools/admin.

    +http://localhost:2900/tools/admin.

    Click on the clip icon and navigate to where your plugin is stored and select the openc3-cosmos-cfs-1.0.0.gem file. Right of the selection line click on UPLOAD.

    Determine the IP address the cFS container and COSMOS operator container are running at:

    -
    docker network ls
    NETWORK ID NAME DRIVER SCOPE
    d842f813f1c7 openc3-cosmos-network bridge local

    docker network inspect openc3-cosmos-network
    [
    {
    "Name": "openc3-cosmos-network",
    ...
    "Containers": {
    "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": {
    "Name": "cfs",
    "IPv4Address": "172.20.0.9/16",
    },
    "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": {
    "Name": "openc3_openc3-operator_1",
    "IPv4Address": "172.20.0.8/16",
    }
    }
    ...
    }
    ]
    +
    docker network ls
    NETWORK ID NAME DRIVER SCOPE
    d842f813f1c7 openc3-cosmos-network bridge local

    docker network inspect openc3-cosmos-network
    [
    {
    "Name": "openc3-cosmos-network",
    ...
    "Containers": {
    "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": {
    "Name": "cfs",
    "IPv4Address": "172.20.0.9/16",
    },
    "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": {
    "Name": "openc3_openc3-operator_1",
    "IPv4Address": "172.20.0.8/16",
    }
    }
    ...
    }
    ]

    When using this plugin, make sure to change the ip variable during uploading to match where cFS is running. In the example above you would set it to 172.20.0.9. port_tm is the port number on which cFS is sending the telemetry messages. port_tc indicates the port on cFS is listening for telecommands.

    Under cfs_target_name you can change the target name of this plugin. This step is optional as long as you are fine with your plugin showing up as CFS.

    -

    Plugin Variable Settings

    -
    Port subscription

    The last uploaded plugin on COSMOS will subscribe to TM on port 1235. -Other plugins will not receive any TM anymore.

    -
    Typo errors

    Presence of typos in one of the plugin files can cause problems when uploading and installing -the plugin's .gem file. Make sure your configuration is typo-free.

    +

    Plugin Variable Settings

    +
    Port subscription

    The last uploaded plugin on COSMOS will subscribe to TM on port 1235. +Other plugins will not receive any TM anymore.

    +
    Typo errors

    Presence of typos in one of the plugin files can cause problems when uploading and installing +the plugin's .gem file. Make sure your configuration is typo-free.

    In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect to -http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE. Change the DEST_IP to the IP address of the operator image (172.20.0.8) and send the command.

    -

    Under http://localhost:2900/tools/cmdtlmserver/tlm-packets, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader.

- - \ No newline at end of file +http://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE. Change the DEST_IP to the IP address of the operator image (172.20.0.8) and send the command.

+

Under http://localhost:2900/tools/cmdtlmserver/tlm-packets, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader.

\ No newline at end of file diff --git a/docs/docs/guides/custom-widgets.html b/docs/docs/guides/custom-widgets.html index 4073f622d2..232bbd7907 100644 --- a/docs/docs/guides/custom-widgets.html +++ b/docs/docs/guides/custom-widgets.html @@ -1,30 +1,18 @@ - - - - - -Custom Widgets | OpenC3 Docs - - - - -

Custom Widgets

COSMOS allows you to build custom widgets which can be deployed with your plugin and used in Telemetry Viewer. Building custom widgets can utilize any javascript frameworks but since COSMOS is written with Vue.js, we will use that framework in this tutorial. Please see the Widget Generator guide for information about generating the scaffolding for a custom widget.

-

Custom Widgets

-

We're basically going to follow the COSMOS Demo and explain how that custom widget was created.

-

If you look at the bottom of the Demo's plugin.txt file you'll see we declare the widgets:

-
WIDGET BIG
WIDGET HELLOWORLD
-

When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at tools/widgets/BigWidget/BigWidget.umd.min.js. Similarly it looks for HELLOWORLD at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. These directories and file names may seem mysterious but it's all about how the widgets get built.

-

Helloworld Widget

-

The Helloworld Widget source code is found in the plugin's src directory and is called HelloworldWidget.vue. The basic structure is as follows:

-
<template>
<!-- Implement widget here -->
</template>

<script>
import Widget from "@openc3/tool-common/src/components/widgets/Widget";
export default {
mixins: [Widget],
data() {
return {
// Reactive data items
};
},
};
</script>
<style scoped>
/* widget specific style */
</style>
-
Vue & Vuetify

For more information about how the COSMOS frontend is built (including all the Widgets) please check out Vue.js and Vuetify.

-

To build this custom widget we changed the Demo Rakefile to call yarn run build when the plugin is built. yarn run XXX looks for 'scripts' to run in the package.json file. If we open package.json we find the following:

-
  "scripts": {
"build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget"
},
-

This uses the vue-cli-service to build the code found at src/HelloworldWidget.vue and formats as umd-min and puts it in the tools/widgets/HelloworldWidget directory. So this is why the plugin looks for the plugin at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. Click here for the vue-cli-service build documentation.

-

If you look at the Demo plugin's simple.txt screen you'll see we're using the widgets:

-
SCREEN AUTO AUTO 0.5
LABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT
HELLOWORLD
BIG <%= target_name %> HEALTH_STATUS TEMP1
+Custom Widgets | OpenC3 Docs

Custom Widgets

COSMOS allows you to build custom widgets which can be deployed with your plugin and used in Telemetry Viewer. Building custom widgets can utilize any javascript frameworks but since COSMOS is written with Vue.js, we will use that framework in this tutorial. Please see the Widget Generator guide for information about generating the scaffolding for a custom widget.

+

Custom Widgets

+

We're basically going to follow the COSMOS Demo and explain how that custom widget was created.

+

If you look at the bottom of the Demo's plugin.txt file you'll see we declare the widgets:

+
WIDGET BIG
WIDGET HELLOWORLD
+

When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at tools/widgets/BigWidget/BigWidget.umd.min.js. Similarly it looks for HELLOWORLD at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. These directories and file names may seem mysterious but it's all about how the widgets get built.

+

Helloworld Widget

+

The Helloworld Widget source code is found in the plugin's src directory and is called HelloworldWidget.vue. The basic structure is as follows:

+
<template>
<!-- Implement widget here -->
</template>

<script>
import Widget from "@openc3/tool-common/src/components/widgets/Widget";
export default {
mixins: [Widget],
data() {
return {
// Reactive data items
};
},
};
</script>
<style scoped>
/* widget specific style */
</style>
+
Vue & Vuetify

For more information about how the COSMOS frontend is built (including all the Widgets) please check out Vue.js and Vuetify.

+

To build this custom widget we changed the Demo Rakefile to call yarn run build when the plugin is built. yarn run XXX looks for 'scripts' to run in the package.json file. If we open package.json we find the following:

+
  "scripts": {
"build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget"
},
+

This uses the vue-cli-service to build the code found at src/HelloworldWidget.vue and formats as umd-min and puts it in the tools/widgets/HelloworldWidget directory. So this is why the plugin looks for the plugin at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. Click here for the vue-cli-service build documentation.

+

If you look at the Demo plugin's simple.txt screen you'll see we're using the widgets:

+
SCREEN AUTO AUTO 0.5
LABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT
HELLOWORLD
BIG <%= target_name %> HEALTH_STATUS TEMP1

Opening this screen in Telemetry Viewer results in the following:

-

Simple Screen

-

While this is a simple example the possibilities with custom widgets are limitless!

- - \ No newline at end of file +

Simple Screen

+

While this is a simple example the possibilities with custom widgets are limitless!

\ No newline at end of file diff --git a/docs/docs/guides/little-endian-bitfields.html b/docs/docs/guides/little-endian-bitfields.html index 7e56a94799..e8d651d202 100644 --- a/docs/docs/guides/little-endian-bitfields.html +++ b/docs/docs/guides/little-endian-bitfields.html @@ -1,14 +1,4 @@ - - - - - -Little Endian Bitfields | OpenC3 Docs - - - - -

Little Endian Bitfields

Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields.

+Little Endian Bitfields | OpenC3 Docs

Little Endian Bitfields

Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields.

Here are the rules on how COSMOS handles LITTLE_ENDIAN data:

  1. @@ -24,8 +14,6 @@

    LITTLE_ENDIAN bit fields must define their bit_offset as the location of the most significant bit of the bitfield in BIG_ENDIAN space as described in rule 1 above. So for example. The following C struct at the beginning of a packet would be defined like so:

-
struct {
unsigned short a:4;
unsigned short b:8;
unsigned short c:4;
}

ITEM A 4 4 UINT "struct item a"
ITEM B 12 8 UINT "struct item b"
ITEM C 8 4 UINT "struct item c"
+
struct {
unsigned short a:4;
unsigned short b:8;
unsigned short c:4;
}

ITEM A 4 4 UINT "struct item a"
ITEM B 12 8 UINT "struct item b"
ITEM C 8 4 UINT "struct item c"

This is hard to visualize, but the structure above gets spread out in a byte array like the following after byte swapping: least significant 4 bits of b, 4-bits a, 4-bits c, most significant 4 bits of b.

-

The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary.

- - \ No newline at end of file +

The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary.

\ No newline at end of file diff --git a/docs/docs/guides/local-mode.html b/docs/docs/guides/local-mode.html index ff8102d790..54f46caa95 100644 --- a/docs/docs/guides/local-mode.html +++ b/docs/docs/guides/local-mode.html @@ -1,34 +1,22 @@ - - - - - -Local Mode | OpenC3 Docs - - - - -

Local Mode

Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions.

-

Using Local Mode

-

In this tutorial we will use the COSMOS Demo as configured by the Installation Guide. You should have cloned a cosmos-project and started it using openc3.sh run.

+Local Mode | OpenC3 Docs

Local Mode

Local Mode is a new feature in the 5.0.9 COSMOS release. It is intended to capture the configuration of an edited plugin so it can be configuration managed. It allows you to edit portions of a plugin (scripts and screens) locally in the editor of your choice and instantly have those changes appear in the COSMOS plugin. This avoids the plugin build / install cycle which is required when editing command and telemetry or interface definitions.

+

Using Local Mode

+

In this tutorial we will use the COSMOS Demo as configured by the Installation Guide. You should have cloned a cosmos-project and started it using openc3.sh run.

If you check the project directory you should see a plugins/DEFAULT/openc3-cosmos-demo directory. This will contain both the gem that was installed and a plugin_instance.json file. The plugin_instance.json file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later.

-

Editing scripts

-
Visual Studio Code

This tutorial will use VS Code which is the editor used by the COSMOS developers.

-

The most common use case for Local Mode is script development. Launch Script Runner and open the INST/procedures/checks.rb file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to plugins/targets_modified/INST/procedures/checks.rb.

-

Project Layout

-

At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: # This is a script. Now if we go back to Script Runner the changes have not automatically appeared. However, there is a Reload button next to the filename that will refresh the file from the backend.

-

Project Layout

+

Editing scripts

+
Visual Studio Code

This tutorial will use VS Code which is the editor used by the COSMOS developers.

+

The most common use case for Local Mode is script development. Launch Script Runner and open the INST/procedures/checks.rb file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to plugins/targets_modified/INST/procedures/checks.rb.

+

Project Layout

+

At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: # This is a script. Now if we go back to Script Runner the changes have not automatically appeared. However, there is a Reload button next to the filename that will refresh the file from the backend.

+

Project Layout

Clicking this reloads the file which has been synced into COSMOS and now we see our comment.

-

Project Layout

-

Disabling Local Mode

+

Project Layout

+

Disabling Local Mode

If you want to disable Local Mode you can edit the .env file and delete the setting OPENC3_LOCAL_MODE=1.

-

Configuration Management

+

Configuration Management

It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory.

At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI.

-
openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1
Successfully built RubyGem
Name: openc3-cosmos-demo
Version: 1.0.1
File: openc3-cosmos-demo-1.0.1.gem
+
openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1
Successfully built RubyGem
Name: openc3-cosmos-demo
Version: 1.0.1
File: openc3-cosmos-demo-1.0.1.gem

Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL.

-

Project Layout

-

When the new plugin is installed, the project's plugins directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install.

-

Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS.

- - \ No newline at end of file +

Project Layout

+

When the new plugin is installed, the project's plugins directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install.

+

Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS.

\ No newline at end of file diff --git a/docs/docs/guides/logging.html b/docs/docs/guides/logging.html index 0ebc63947e..75fef7d716 100644 --- a/docs/docs/guides/logging.html +++ b/docs/docs/guides/logging.html @@ -1,27 +1,15 @@ - - - - - -Logging | OpenC3 Docs - - - - -

Logging

The COSMOS Bucket Explorer tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to http://localhost:2900/tools/bucketexplorer and you should see the list of buckets at the top:

-

Bucket Explorer

+Logging | OpenC3 Docs

Logging

The COSMOS Bucket Explorer tool provides a way to browse the COSMOS bucket storage backend whether you are running locally or in a cloud environment. Browse to http://localhost:2900/tools/bucketexplorer and you should see the list of buckets at the top:

+

Bucket Explorer

Note the config and logs buckets are organized by scopes of which there initially is just one: DEFAULT. Clicking the DEFAULT folder in the logs bucket shows the decom_logs, raw_logs, reduced_xxx_logs, text_logs and tool_logs.

-

decom_logs & raw_logs

-

The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory:

-

raw_tlm_logs

-

Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the Log Structure developer documentation.

+

decom_logs & raw_logs

+

The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory:

+

raw_tlm_logs

+

Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the Log Structure developer documentation.

The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first.

-

To change the logging settings add the various CYCLE_TIME Target Modifiers under the declared TARGET name in your plugin.txt.

-

text_logs

+

To change the logging settings add the various CYCLE_TIME Target Modifiers under the declared TARGET name in your plugin.txt.

+

text_logs

The text_logs folder contains openc3_log_messages which contains text files that are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked. These log messages files are long term records of the messages in the CmdTlmServer Log Messages window:

-

log_messages

-

tool_logs

-

The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file.

-

log_messages

- - \ No newline at end of file +

log_messages

+

tool_logs

+

The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file.

+

log_messages

\ No newline at end of file diff --git a/docs/docs/guides/monitoring.html b/docs/docs/guides/monitoring.html index be8fbd755a..6d981f20d4 100644 --- a/docs/docs/guides/monitoring.html +++ b/docs/docs/guides/monitoring.html @@ -1,52 +1,40 @@ - - - - - -Monitoring | OpenC3 Docs - - - - -

Monitoring

Monitoring and observability

-

With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about Monitoring Distributed Systems

-

Fluent/Fluentd

+Monitoring | OpenC3 Docs

Monitoring

Monitoring and observability

+

With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about Monitoring Distributed Systems

+

Fluent/Fluentd

Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data.

-

Notes

+

Notes

in_docker.conf

-
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match *.metric>
@type copy
<store>
@type elasticsearch
host openc3-elasticsearch
port 9200
logstash_format true
logstash_prefix metric
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
tag_key @log_name
flush_interval 1s
</store>
<store>
@type stdout
</store>
</match>
<match *__openc3.log>
@type copy
<store>
@type elasticsearch
host openc3-elasticsearch
port 9200
logstash_format true
logstash_prefix openc3
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
tag_key @log_name
flush_interval 1s
</store>
<store>
@type stdout
</store>
</match>
<match *.**>
@type copy
<store>
@type elasticsearch
host openc3-elasticsearch
port 9200
logstash_format true
logstash_prefix fluentd
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
tag_key @log_name
flush_interval 1s
</store>
<store>
@type stdout
</store>
</match>
+
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match *.metric>
@type copy
<store>
@type elasticsearch
host openc3-elasticsearch
port 9200
logstash_format true
logstash_prefix metric
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
tag_key @log_name
flush_interval 1s
</store>
<store>
@type stdout
</store>
</match>
<match *__openc3.log>
@type copy
<store>
@type elasticsearch
host openc3-elasticsearch
port 9200
logstash_format true
logstash_prefix openc3
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
tag_key @log_name
flush_interval 1s
</store>
<store>
@type stdout
</store>
</match>
<match *.**>
@type copy
<store>
@type elasticsearch
host openc3-elasticsearch
port 9200
logstash_format true
logstash_prefix fluentd
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
tag_key @log_name
flush_interval 1s
</store>
<store>
@type stdout
</store>
</match>

Dockerfile

-
FROM fluent/fluentd:v1.10.3-1.0

COPY ./in_docker.conf /fluentd/etc/fluent.conf
USER root
RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \
&& gem install fluent-plugin-prometheus --no-document --version 1.8.5
USER fluent
-

OpenDistro

+
FROM fluent/fluentd:v1.10.3-1.0

COPY ./in_docker.conf /fluentd/etc/fluent.conf
USER root
RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \
&& gem install fluent-plugin-prometheus --no-document --version 1.8.5
USER fluent
+

OpenDistro

Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts.

-

Notes

+

Notes

When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file.

Dockerfile

-
FROM amazon/opendistro-for-elasticsearch:1.12.0

RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security
-

Prometheus

+
FROM amazon/opendistro-for-elasticsearch:1.12.0

RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security
+

Prometheus

Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data.

-

Notes

+

Notes

prometheus.yaml

-
global:
scrape_interval: 15s
evaluation_interval: 15s

rule_files:
# - "first.rules"
# - "second.rules"

scrape_configs:
- job_name: prometheus
static_configs:
- targets: ["localhost:9090"]

- job_name: openc3-internal-metrics
metrics_path: "/openc3-api/internal/metrics"
static_configs:
- targets: ["openc3-cmd-tlm-api:2901"]

- job_name: openc3-cmd-tlm-api
metrics_path: "/openc3-api/metrics"
static_configs:
- targets: ["openc3-cmd-tlm-api:2901"]

- job_name: openc3-script-runner-api
metrics_path: "/script-api/metrics"
static_configs:
- targets: ["openc3-script-runner-api:2902"]

- job_name: minio-job
metrics_path: /minio/v2/metrics/cluster
scheme: http
static_configs:
- targets: ['openc3-minio:9000']
+
global:
scrape_interval: 15s
evaluation_interval: 15s

rule_files:
# - "first.rules"
# - "second.rules"

scrape_configs:
- job_name: prometheus
static_configs:
- targets: ["localhost:9090"]

- job_name: openc3-internal-metrics
metrics_path: "/openc3-api/internal/metrics"
static_configs:
- targets: ["openc3-cmd-tlm-api:2901"]

- job_name: openc3-cmd-tlm-api
metrics_path: "/openc3-api/metrics"
static_configs:
- targets: ["openc3-cmd-tlm-api:2901"]

- job_name: openc3-script-runner-api
metrics_path: "/script-api/metrics"
static_configs:
- targets: ["openc3-script-runner-api:2902"]

- job_name: minio-job
metrics_path: /minio/v2/metrics/cluster
scheme: http
static_configs:
- targets: ['openc3-minio:9000']

Dockerfile

-
FROM prom/prometheus:v2.24.1
ADD prometheus.yaml /etc/prometheus/
-

Grafana

+
FROM prom/prometheus:v2.24.1
ADD prometheus.yaml /etc/prometheus/
+

Grafana

Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources.

-

Notes

+

Notes

datasource.yaml

-
apiVersion: 1

datasources:
- name: Prometheus
type: prometheus
# Access mode - proxy (server in the UI) or direct (browser in the UI).
access: proxy
url: http://openc3-prometheus:9090
+
apiVersion: 1

datasources:
- name: Prometheus
type: prometheus
# Access mode - proxy (server in the UI) or direct (browser in the UI).
access: proxy
url: http://openc3-prometheus:9090

Dockerfile

-
FROM grafana/grafana

COPY datasource.yaml /etc/grafana/provisioning/datasources/
- - \ No newline at end of file +
FROM grafana/grafana

COPY datasource.yaml /etc/grafana/provisioning/datasources/
\ No newline at end of file diff --git a/docs/docs/guides/performance.html b/docs/docs/guides/performance.html index 7d184e1ac6..e0f0a794a6 100644 --- a/docs/docs/guides/performance.html +++ b/docs/docs/guides/performance.html @@ -1,42 +1,32 @@ - - - - - -Performance | OpenC3 Docs - - - - -

The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only COSMOS Enterprise Edition supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance.

+Performance | OpenC3 Docs

The COSMOS architecture was created with scalability in mind. Our goal is to support an unlimited number of connections and use cloud technologies to scale. Only COSMOS Enterprise Edition supports Kubernetes and the various cloud platforms which allow this level of scalability. While true scalability is only achieved in COSMOS Enterprise, both Open Source and Enterprise have various levels of observability and configuration settings which can affect performance.

COSMOS Hardware Requirements

-

Memory

-

COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM).

+

Memory

+

COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM).

  • Base RAM MB Calculator = 800 + (num targets) * 300
-

In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to docker stats. Installing the COSMOS LoadSim with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB.

-

CPU

+

In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to docker stats. Installing the COSMOS LoadSim with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB.

+

CPU

Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling.

-

The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with htop to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur.

-

Performance Comparison

-

Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per Docker. COSMOS 5.9.1 Enterprise Edition was installed on both Windows 11 Pro 1 and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using htop:

-
PlatformCore CPU %RAM
Windows 11 Pro12% 12% 10% 10%3.9G / 7.7G
Headless Ubuntu 227% 7% 8% 6%3.2G / 15.6G
+

The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with htop to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur.

+

Performance Comparison

+

Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per Docker. COSMOS 5.9.1 Enterprise Edition was installed on both Windows 11 Pro 1 and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using htop:

+
PlatformCore CPU %RAM
Windows 11 Pro12% 12% 10% 10%3.9G / 7.7G
Headless Ubuntu 227% 7% 8% 6%3.2G / 15.6G
    -
  • Windows was only allocated 8 GB of RAM due to the .wslconfig settings.
  • +
  • Windows was only allocated 8 GB of RAM due to the .wslconfig settings.
  • Since Ubuntu was running headless, the screens and graphs were brought up on another machine.

docker stats was also run to show individual container cpu and memory usage:

-
NAMEWindows CPU %Ubuntu CPU %Windows MEMUbuntu MEM
cosmos-enterprise-project-openc3-traefik-14.16%1.32%43.54MiB51.38MiB
cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-110.16%6.14%401.6MiB392MiB
cosmos-enterprise-project-openc3-keycloak-10.17%0.13%476.8MiB476.8MiB
cosmos-enterprise-project-openc3-operator-121.27%13.91%1.214GiB1.207GiB
cosmos-enterprise-project-openc3-cosmos-script-runner-api-10.01%0.01%127.4MiB117.1MiB
cosmos-enterprise-project-openc3-metrics-10.01%0.00%105.2MiB83.87MiB
cosmos-enterprise-project-openc3-redis-ephemeral-14.05%1.89%46.22MiB69.84MiB
cosmos-enterprise-project-openc3-redis-11.56%0.72%12.82MiB9.484MiB
cosmos-enterprise-project-openc3-minio-10.01%0.00%152.9MiB169.8MiB
cosmos-enterprise-project-openc3-postgresql-10.00%0.39%37.33MiB41.02MiB
+
NAMEWindows CPU %Ubuntu CPU %Windows MEMUbuntu MEM
cosmos-enterprise-project-openc3-traefik-14.16%1.32%43.54MiB51.38MiB
cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-110.16%6.14%401.6MiB392MiB
cosmos-enterprise-project-openc3-keycloak-10.17%0.13%476.8MiB476.8MiB
cosmos-enterprise-project-openc3-operator-121.27%13.91%1.214GiB1.207GiB
cosmos-enterprise-project-openc3-cosmos-script-runner-api-10.01%0.01%127.4MiB117.1MiB
cosmos-enterprise-project-openc3-metrics-10.01%0.00%105.2MiB83.87MiB
cosmos-enterprise-project-openc3-redis-ephemeral-14.05%1.89%46.22MiB69.84MiB
cosmos-enterprise-project-openc3-redis-11.56%0.72%12.82MiB9.484MiB
cosmos-enterprise-project-openc3-minio-10.01%0.00%152.9MiB169.8MiB
cosmos-enterprise-project-openc3-postgresql-10.00%0.39%37.33MiB41.02MiB
  • memory profiles are similar between the two platforms
  • -
  • redis-ephemeral isn't using much memory on the base Demo with its small packets
  • +
  • redis-ephemeral isn't using much memory on the base Demo with its small packets
-

At this point the COSMOS LoadSim was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated:

-
PlatformCore CPU %RAM
Windows 11 Pro40% 35% 39% 42%4.64G / 7.7G
Headless Ubuntu 2217% 20% 16% 18%3.74G / 15.6G
+

At this point the COSMOS LoadSim was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated:

+
PlatformCore CPU %RAM
Windows 11 Pro40% 35% 39% 42%4.64G / 7.7G
Headless Ubuntu 2217% 20% 16% 18%3.74G / 15.6G

The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant.

docker stats was also run to show individual container cpu and memory usage:

-
NAMEWindows CPU %Ubuntu CPU %Windows MEMUbuntu MEM
cosmos-enterprise-project-openc3-traefik-14.09%0.01%44.3MiB0.34MiB
cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-117.78%6.18%407.9MiB405.8MiB
cosmos-enterprise-project-openc3-keycloak-10.20%0.12%480.2MiB481.5MiB
cosmos-enterprise-project-openc3-operator-1221.15%66.72%1.6GiB1.512GiB
cosmos-enterprise-project-openc3-cosmos-script-runner-api-10.01%0.01%136.6MiB127.5MiB
cosmos-enterprise-project-openc3-metrics-10.01%0.01%106.3MiB84.87MiB
cosmos-enterprise-project-openc3-redis-ephemeral-119.63%3.91%333.8MiB370.8MiB
cosmos-enterprise-project-openc3-redis-17.42%1.49%15.87MiB11.81MiB
cosmos-enterprise-project-openc3-minio-10.10%0.02%167.8MiB179.2MiB
cosmos-enterprise-project-openc3-postgresql-10.00%0.00%35.4MiB42.93MiB
+
NAMEWindows CPU %Ubuntu CPU %Windows MEMUbuntu MEM
cosmos-enterprise-project-openc3-traefik-14.09%0.01%44.3MiB0.34MiB
cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-117.78%6.18%407.9MiB405.8MiB
cosmos-enterprise-project-openc3-keycloak-10.20%0.12%480.2MiB481.5MiB
cosmos-enterprise-project-openc3-operator-1221.15%66.72%1.6GiB1.512GiB
cosmos-enterprise-project-openc3-cosmos-script-runner-api-10.01%0.01%136.6MiB127.5MiB
cosmos-enterprise-project-openc3-metrics-10.01%0.01%106.3MiB84.87MiB
cosmos-enterprise-project-openc3-redis-ephemeral-119.63%3.91%333.8MiB370.8MiB
cosmos-enterprise-project-openc3-redis-17.42%1.49%15.87MiB11.81MiB
cosmos-enterprise-project-openc3-minio-10.10%0.02%167.8MiB179.2MiB
cosmos-enterprise-project-openc3-postgresql-10.00%0.00%35.4MiB42.93MiB
  • memory profiles are similar between the two platforms
  • redis-ephemeral is now using much more RAM as it is storing the large LoadSim packets
  • @@ -44,17 +34,15 @@

    Perfo

Conclusions

While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use docker stats and htop to judge the CPU and memory pressure on the given hardware.

-

COSMOS Enterprise Edition on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out this recent talk Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS.

+

COSMOS Enterprise Edition on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out this recent talk Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS.


-

Footnotes

+

Footnotes

    -
  1. +
  2. Full specs of the Windows Platform:

    -
    Windows 11 Pro
    Docker Desktop 4.22.0
    WSL version: 1.2.5.0
    Kernel version: 5.15.90.1
    WSLg version: 1.0.51
    MSRDC version: 1.2.3770
    Direct3D version: 1.608.2-61064218
    DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
    Windows version: 10.0.22621.2134
    - +
    Windows 11 Pro
    Docker Desktop 4.22.0
    WSL version: 1.2.5.0
    Kernel version: 5.15.90.1
    WSLg version: 1.0.51
    MSRDC version: 1.2.3770
    Direct3D version: 1.608.2-61064218
    DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
    Windows version: 10.0.22621.2134
    +
-
- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/guides/raspberrypi.html b/docs/docs/guides/raspberrypi.html index ef07a4e7b4..bded96afee 100644 --- a/docs/docs/guides/raspberrypi.html +++ b/docs/docs/guides/raspberrypi.html @@ -1,16 +1,6 @@ - - - - - -Raspberry Pi | OpenC3 Docs - - - - -

Raspberry Pi

COSMOS Running on Raspberry Pi 4

+Raspberry Pi | OpenC3 Docs

Raspberry Pi

COSMOS Running on Raspberry Pi 4

The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running.

-

What you'll need:

+

What you'll need:

  • Raspberry Pi 4 board (tested with 8GB RAM)
  • A Pi Case but Optional
  • @@ -18,20 +8,20 @@
  • 32GB or Larger SD Card - Also faster the better
  • A Laptop with a way to write SD Cards
-

Let's get started!

+

Let's get started!

  1. Setup 64-bit Raspian OS Lite on the SD Card

    -

    Make sure you have the Raspberry Pi Imager app from: https://www.raspberrypi.com/software/

    +

    Make sure you have the Raspberry Pi Imager app from: https://www.raspberrypi.com/software/

    1. Insert the SD Card into your computer (Note this process will erase all data on the SD card!)
    2. Open the Raspberry Pi Imager App
    3. -
    4. Click the "Choose Device" Button
    5. +
    6. Click the "Choose Device" Button
    7. Pick Your Raspberry Pi Model
    8. -
    9. Click the "Choose OS" Button
    10. -
    11. Select "Raspberry Pi OS (other)"
    12. -
    13. Select "Raspberry Pi OS Lite (64-bit)"
    14. -
    15. Click the "Choose Storage" Button
    16. +
    17. Click the "Choose OS" Button
    18. +
    19. Select "Raspberry Pi OS (other)"
    20. +
    21. Select "Raspberry Pi OS Lite (64-bit)"
    22. +
    23. Click the "Choose Storage" Button
    24. Select Your SD Card
    25. Click Edit Settings
    26. If prompted if you would like to prefill the Wifi information, select OK
    27. @@ -41,9 +31,9 @@
    28. Set the correct time zone
    29. Goto the Services Tab and Enable SSH
    30. You can either use Password auth, or public-key only if your computer is already setup for passwordless SSH
    31. -
    32. Goto the Options tab and make sure "Enable Telemetry" is not checked
    33. -
    34. Click "Save" when everything is filled out
    35. -
    36. Click "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete
    37. +
    38. Goto the Options tab and make sure "Enable Telemetry" is not checked
    39. +
    40. Click "Save" when everything is filled out
    41. +
    42. Click "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete
  2. @@ -61,7 +51,7 @@
  3. Open a terminal window and use ssh to connect to your Pi

      -
    1. On Mac / Linux: ssh yourusername@cosmos.local
    2. +
    3. On Mac / Linux: ssh yourusername@cosmos.local
    4. On Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well.
  4. @@ -71,14 +61,12 @@

    From SSH, Enter the following commands

-
   sudo sysctl -w vm.max_map_count=262144
sudo sysctl -w vm.overcommit_memory=1
sudo apt update
sudo apt upgrade
sudo apt install git -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
git clone https://github.com/OpenC3/cosmos-project.git cosmos
cd cosmos
# Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service
./openc3.sh run
+
   sudo sysctl -w vm.max_map_count=262144
sudo sysctl -w vm.overcommit_memory=1
sudo apt update
sudo apt upgrade
sudo apt install git -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
git clone https://github.com/OpenC3/cosmos-project.git cosmos
cd cosmos
# Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service
./openc3.sh run
  1. -

    After about 2 minutes, open a web browser on your computer, and goto: http://cosmos.local:2900

    +

    After about 2 minutes, open a web browser on your computer, and goto: http://cosmos.local:2900

  2. Congratulations! You now have COSMOS running on a Raspberry Pi!

  3. -
- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/guides/script-writing.html b/docs/docs/guides/script-writing.html index 365c7b0990..1e9acccee2 100644 --- a/docs/docs/guides/script-writing.html +++ b/docs/docs/guides/script-writing.html @@ -1,18 +1,8 @@ - - - - - -Script Writing Guide | OpenC3 Docs - - - - -

Script Writing Guide

Introduction

+Script Writing Guide | OpenC3 Docs

Script Writing Guide

Introduction

This guide aims to provide the best practices for using the scripting capabilities provided by COSMOS. Scripts are used to automate a series of activities for operations or testing. The goal of this document is to ensure scripts are written that are simple, easy to understand, maintainable, and correct. Guidance on some of the key details of using the COSMOS Script Runner is also provided.

-

Concepts

+

Concepts

COSMOS supports both Ruby and Python for writing scripts. Ruby and Python are very similar scripting languages and most of this guide applies directly to both. Where examples are used, both a Ruby and Python example are given.

-

Ruby vs Python in COSMOS

+

Ruby vs Python in COSMOS

There are many similarities and a few key differences between Ruby and Python when it comes to writing COSMOS scripts.

  1. There is no 80 character limit on line length. Lines can be as long as you like, but be careful to not make them too long as it makes printed reviews of scripts more difficult.
  2. @@ -25,8 +15,8 @@

    Rub
  3. Variables do not have to be declared ahead of time and can be reassigned later, i.e. Ruby and Python are dynamically typed.
  4. Variable interpolation:
      -
    1. Ruby: Variable values can be placed into strings using the "#{variable}" syntax.
    2. -
    3. Python: Variable values can be placed into f-strings using the f"{variable}" syntax.
    4. +
    5. Ruby: Variable values can be placed into strings using the "#{variable}" syntax.
    6. +
    7. Python: Variable values can be placed into f-strings using the f"{variable}" syntax.
  5. A variable declared inside of a block or loop will not exist outside of that block unless it was already declared.
  6. @@ -41,175 +31,175 @@

    Rub
  7. Variable names and method names should be in lowercase with underscores
      -
    • last_name = "Smith"
    • +
    • last_name = "Smith"
    • perform_setup_operation()
  8. Class names (when used) should be camel case and the files which contain them should match but be lowercase with underscores
      -
    • class DataUploader # in 'data_uploader.rb'
    • -
    • class CcsdsUtility: # in 'ccsds_utility.py'
    • +
    • class DataUploader # in 'data_uploader.rb'
    • +
    • class CcsdsUtility: # in 'ccsds_utility.py'
  9. -
  10. Don't add useless comments but instead describe intent
  11. +
  12. Don't add useless comments but instead describe intent
  13. -
    +

    The following is an example of good Ruby style:

    -
    load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing
    load_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing

    # Declare constants
    OUR_TARGETS = ['INST','INST2']

    # Clear the collect counter of the passed in target name
    def clear_collects(target)
    cmd("#{target} CLEAR")
    wait_check("#{target} HEALTH_STATUS COLLECTS == 0", 5)
    end

    ######################################
    # START
    ######################################
    helper = HelperUtility.new
    helper.setup

    # Perform collects on all the targets
    OUR_TARGETS.each do |target|
    collects = tlm("#{target} HEALTH_STATUS COLLECTS")
    cmd("#{target} COLLECT with TYPE SPECIAL")
    wait_check("#{target} HEALTH_STATUS COLLECTS == #{collects + 1}", 5)
    end

    clear_collects('INST')
    clear_collects('INST2')
    +
    load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing
    load_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing

    # Declare constants
    OUR_TARGETS = ['INST','INST2']

    # Clear the collect counter of the passed in target name
    def clear_collects(target)
    cmd("#{target} CLEAR")
    wait_check("#{target} HEALTH_STATUS COLLECTS == 0", 5)
    end

    ######################################
    # START
    ######################################
    helper = HelperUtility.new
    helper.setup

    # Perform collects on all the targets
    OUR_TARGETS.each do |target|
    collects = tlm("#{target} HEALTH_STATUS COLLECTS")
    cmd("#{target} COLLECT with TYPE SPECIAL")
    wait_check("#{target} HEALTH_STATUS COLLECTS == #{collects + 1}", 5)
    end

    clear_collects('INST')
    clear_collects('INST2')

    The following is an example of good Python style:

    -
    from openc3.script import *

    import TARGET.lib.upload_utility # library we do NOT want to show executing
    load_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing

    # Declare constants
    OUR_TARGETS = ['INST','INST2']

    # Clear the collect counter of the passed in target name
    def clear_collects(target):
    cmd(f"{target} CLEAR")
    wait_check(f"{target} HEALTH_STATUS COLLECTS == 0", 5)

    ######################################
    # START
    ######################################
    helper = HelperUtility()
    helper.setup()

    # Perform collects on all the targets
    for target in OUR_TARGETS:
    collects = tlm(f"{target} HEALTH_STATUS COLLECTS")
    cmd(f"{target} COLLECT with TYPE SPECIAL")
    wait_check(f"{target} HEALTH_STATUS COLLECTS == {collects + 1}", 5)

    clear_collects('INST')
    clear_collects('INST2')
    -

    Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening.

    +
    from openc3.script import *

    import TARGET.lib.upload_utility # library we do NOT want to show executing
    load_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing

    # Declare constants
    OUR_TARGETS = ['INST','INST2']

    # Clear the collect counter of the passed in target name
    def clear_collects(target):
    cmd(f"{target} CLEAR")
    wait_check(f"{target} HEALTH_STATUS COLLECTS == 0", 5)

    ######################################
    # START
    ######################################
    helper = HelperUtility()
    helper.setup()

    # Perform collects on all the targets
    for target in OUR_TARGETS:
    collects = tlm(f"{target} HEALTH_STATUS COLLECTS")
    cmd(f"{target} COLLECT with TYPE SPECIAL")
    wait_check(f"{target} HEALTH_STATUS COLLECTS == {collects + 1}", 5)

    clear_collects('INST')
    clear_collects('INST2')
    +

    Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening.

    Next we declare our constants and create an array of strings which we store in OUR_TARGETS. Notice the constant is all uppercase with underscores.

    Then we declare our local methods of which we have one called clear_collects. Please provide a comment at the beginning of each method describing what it does and the parameters that it takes.

    -

    The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded.

    -

    The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket # notation and python f-string f" notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment.

    -

    Finally we call our 'clear_collects' method on each target by passing the target name.

    -

    Scripting Philosophy

    -

    A Super Basic Script Example

    +

    The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded.

    +

    The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket # notation and python f-string f" notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment.

    +

    Finally we call our 'clear_collects' method on each target by passing the target name.

    +

    Scripting Philosophy

    +

    A Super Basic Script Example

    Most COSMOS scripts can be broken down into the simple pattern of sending a command to a system/subsystem and then verifying that the command worked as expected. This pattern is most commonly implemented with cmd() followed by wait_check(), like the following:

    -
    cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")
    wait_check("INST HEALTH_STATUS TYPE == 'NORMAL'", 5)
    +
    cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")
    wait_check("INST HEALTH_STATUS TYPE == 'NORMAL'", 5)

    or similarly with a counter that is sampled before the command.

    Ruby:

    -
    count = tlm("INST HEALTH_STATUS COLLECTS")
    cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")
    wait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5)
    +
    count = tlm("INST HEALTH_STATUS COLLECTS")
    cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")
    wait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5)

    Python:

    -
    count = tlm("INST HEALTH_STATUS COLLECTS")
    cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")
    wait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5)
    +
    count = tlm("INST HEALTH_STATUS COLLECTS")
    cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0")
    wait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5)

    90% of the COSMOS scripts you write should be the simple patterns shown above except that you may need to check more than one item after each command to make sure the command worked as expected.

    -

    KISS (Keep It Simple Stupid)

    -

    Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions.

    -

    Keep things DRY (Don't Repeat Yourself)

    +

    KISS (Keep It Simple Stupid)

    +

    Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions.

    +

    Keep things DRY (Don't Repeat Yourself)

    A widespread problem in scripts written for any command and control system is large blocks of code that are repeated multiple times. In extreme cases, this has led to 100,000+ line scripts that are impossible to maintain and review.

    There are two common ways repetition presents itself: exact blocks of code to perform a common action such as powering on a subsystem, and blocks of code that only differ in the name of the mnemonic being checked or the values checked against. Both are solved by removing the repetition using methods (or functions).

    For example, a script that powers on a subsystem and ensures correct telemetry would become:

    Ruby:

    -
    def power_on_subsystem
    # 100 lines of cmd(), wait_check(), etc
    end
    +
    def power_on_subsystem
    # 100 lines of cmd(), wait_check(), etc
    end

    Python:

    -
    def power_on_subsystem():
    # 100 lines of cmd(), wait_check(), etc
    +
    def power_on_subsystem():
    # 100 lines of cmd(), wait_check(), etc

    Ideally, the above methods would be stored in another file where it could be used by other scripts. If it is truly only useful in the one script, then it could be at the top of the file. The updated script would then look like:

    -
    power_on_subsystem()
    # 150 lines operating the subsystem (e.g.)
    # cmd(...)
    # wait_check(...)
    #...
    power_off_subystem()
    # Unrelated activities
    power_on_subsystem()
    # etc.
    +
    power_on_subsystem()
    # 150 lines operating the subsystem (e.g.)
    # cmd(...)
    # wait_check(...)
    #...
    power_off_subystem()
    # Unrelated activities
    power_on_subsystem()
    # etc.

    Blocks of code where only the only variation is the mnemonics or values checked can be replaced by methods with arguments.

    Ruby:

    -
    def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp)
    cmd("TARGET #{enable_cmd_name} with ENABLE TRUE")
    wait_check("TARGET #{enable_tlm} == 'TRUE'", 5)
    wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50)
    end
    +
    def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp)
    cmd("TARGET #{enable_cmd_name} with ENABLE TRUE")
    wait_check("TARGET #{enable_tlm} == 'TRUE'", 5)
    wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50)
    end

    Python:

    -
    def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp):
    cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE")
    wait_check(f"TARGET {enable_tlm} == 'TRUE'", 5)
    wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50)
    -

    Use Comments Appropriately

    +
    def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp):
    cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE")
    wait_check(f"TARGET {enable_tlm} == 'TRUE'", 5)
    wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50)
    +

    Use Comments Appropriately

    Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line.

    -
    # This line sends an abort command - BAD COMMENT, UNNECESSARY
    cmd("INST ABORT")
    # Rotate the gimbal to look at the calibration target - GOOD COMMENT
    cmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT
    -

    Script Runner

    +
    # This line sends an abort command - BAD COMMENT, UNNECESSARY
    cmd("INST ABORT")
    # Rotate the gimbal to look at the calibration target - GOOD COMMENT
    cmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT
    +

    Script Runner

    COSMOS provides two unique ways to run scripts (also known as procedures). Script Runner provides both a script execution environment and a script editor. The script editor includes code completion for both COSMOS methods and command/telemetry item names. It is also a great environment to develop and test scripts. Script Runner provides a framework for users that are familiar with a traditional scripting model with longer style procedures, and for users that want to be able to edit their scripts in place.

    -

    When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc.

    +

    When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc.

    The correct environment for the job is up to individual users, and many programs will use both script formats to complete their goals.

    -

    Looping vs Unrolled Loops

    +

    Looping vs Unrolled Loops

    Loops are powerful constructs that allow you to perform the same operations multiple times without having to rewrite the same code over and over (See the DRY Concept). However, they can make restarting a COSMOS script at the point of a failure difficult or impossible. If there is a low probability of something failing, then loops are an excellent choice. If a script is running a loop over a list of telemetry points, it may be a better choice to “unroll” the loop by making the loop body into a method, and then calling that method directly for each iteration of a loop that would have occurred.

    Ruby:

    -
    10.times do |temperature_number|
    check_temperature(temperature_number + 1)
    end
    +
    10.times do |temperature_number|
    check_temperature(temperature_number + 1)
    end

    Python:

    -
    for temperature_number in range(1, 11):
    check_temperature(temperature_number)
    +
    for temperature_number in range(1, 11):
    check_temperature(temperature_number)

    If the above script was stopped after temperature number 3, there would be no way to restart the loop at temperature number 4. A better solution for small loop counts is to unroll the loop.

    -
    check_temperature(1)
    check_temperature(2)
    check_temperature(3)
    check_temperature(4)
    check_temperature(5)
    check_temperature(6)
    check_temperature(7)
    check_temperature(8)
    check_temperature(9)
    check_temperature(10)
    +
    check_temperature(1)
    check_temperature(2)
    check_temperature(3)
    check_temperature(4)
    check_temperature(5)
    check_temperature(6)
    check_temperature(7)
    check_temperature(8)
    check_temperature(9)
    check_temperature(10)

    In the unrolled version above, the COSMOS “Start script at selected line” feature can be used to resume the script at any point.

    -

    Script Organization

    -

    All scripts must be part of a Plugin. You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing.

    -

    Organizing Your Scripts into a Plugin

    -

    As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures.

    -
    FolderDescription
    targets/TARGET_NAME/libPlace script files containing reusable target specific methods here
    targets/TARGET_NAME/proceduresPlace simple procedures that are centered around one specific target here
    +

    Script Organization

    +

    All scripts must be part of a Plugin. You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing.

    +

    Organizing Your Scripts into a Plugin

    +

    As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures.

    +
    FolderDescription
    targets/TARGET_NAME/libPlace script files containing reusable target specific methods here
    targets/TARGET_NAME/proceduresPlace simple procedures that are centered around one specific target here

    In your main procedure you will usually bring in the other files with instrumentation using load_utility.

    -
    # Ruby:
    load_utility('TARGET/lib/my_other_script.rb')
    # Python:
    load_utility('TARGET/procedures/my_other_script.py')
    -

    Organize Scripts into Methods

    +
    # Ruby:
    load_utility('TARGET/lib/my_other_script.rb')
    # Python:
    load_utility('TARGET/procedures/my_other_script.py')
    +

    Organize Scripts into Methods

    Put each activity into a distinct method. Putting your scripts into methods makes organization easy and gives a great high-level overview of what the overall script does (assuming you name the methods well). There are no bonus points for vague, short method names. Make your method names long and clear.

    Ruby:

    -
    def test_1_heater_zone_control
    puts "Verifies requirements 304, 306, and 310"
    # Test code here
    end

    def script_1_heater_zone_control
    puts "Verifies requirements 304, 306, and 310"
    # Test code here
    end
    +
    def test_1_heater_zone_control
    puts "Verifies requirements 304, 306, and 310"
    # Test code here
    end

    def script_1_heater_zone_control
    puts "Verifies requirements 304, 306, and 310"
    # Test code here
    end

    Python:

    -
    def test_1_heater_zone_control():
    print("Verifies requirements 304, 306, and 310")
    # Test code here

    def script_1_heater_zone_control():
    print("Verifies requirements 304, 306, and 310")
    # Test code here
    -

    Using Classes vs Unscoped Methods

    +
    def test_1_heater_zone_control():
    print("Verifies requirements 304, 306, and 310")
    # Test code here

    def script_1_heater_zone_control():
    print("Verifies requirements 304, 306, and 310")
    # Test code here
    +

    Using Classes vs Unscoped Methods

    Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class.

    NOTE: The convention in COSMOS is to have a TARGET/lib/target.[rb/py] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory.

    Ruby:

    -
    class Gimbal
    attr_accessor :gimbal_steps
    def initialize()
    @gimbal_steps = 0
    end
    def move(steps_to_move)
    # Move the gimbal
    @gimbal_steps += steps_to_move
    end
    def home_gimbal
    # Home the gimbal
    @gimbal_steps = 0
    end
    end

    def perform_common_math(x, y)
    x + y
    end

    gimbal = Gimbal.new
    gimbal.home_gimbal
    gimbal.move(100)
    gimbal.move(200)
    puts "Moved gimbal #{gimbal.gimbal_steps}"
    result = perform_common_math(gimbal.gimbal_steps, 10)
    puts "Math:#{result}"
    +
    class Gimbal
    attr_accessor :gimbal_steps
    def initialize()
    @gimbal_steps = 0
    end
    def move(steps_to_move)
    # Move the gimbal
    @gimbal_steps += steps_to_move
    end
    def home_gimbal
    # Home the gimbal
    @gimbal_steps = 0
    end
    end

    def perform_common_math(x, y)
    x + y
    end

    gimbal = Gimbal.new
    gimbal.home_gimbal
    gimbal.move(100)
    gimbal.move(200)
    puts "Moved gimbal #{gimbal.gimbal_steps}"
    result = perform_common_math(gimbal.gimbal_steps, 10)
    puts "Math:#{result}"

    Python:

    -
    class Gimbal:
    def __init__(self):
    self.gimbal_steps = 0

    def move(self, steps_to_move):
    # Move the gimbal
    self.gimbal_steps += steps_to_move

    def home_gimbal(self):
    # Home the gimbal
    self.gimbal_steps = 0

    def perform_common_math(x, y):
    return x + y

    gimbal = Gimbal()
    gimbal.home_gimbal()
    gimbal.move(100)
    gimbal.move(200)
    print(f"Moved gimbal {gimbal.gimbal_steps}")
    result = perform_common_math(gimbal.gimbal_steps, 10)
    print(f"Math:{result}")
    -

    Instrumented vs Uninstrumented Lines (require vs load)

    +
    class Gimbal:
    def __init__(self):
    self.gimbal_steps = 0

    def move(self, steps_to_move):
    # Move the gimbal
    self.gimbal_steps += steps_to_move

    def home_gimbal(self):
    # Home the gimbal
    self.gimbal_steps = 0

    def perform_common_math(x, y):
    return x + y

    gimbal = Gimbal()
    gimbal.home_gimbal()
    gimbal.move(100)
    gimbal.move(200)
    print(f"Moved gimbal {gimbal.gimbal_steps}")
    result = perform_common_math(gimbal.gimbal_steps, 10)
    print(f"Math:{result}")
    +

    Instrumented vs Uninstrumented Lines (require vs load)

    COSMOS scripts are normally “instrumented”. This means that each line has some extra code added behind the scenes that primarily highlights the current executing line and catches exceptions if things fail such as a wait_check. If your script needs to use code in other files, there are a few ways to bring in that code. Some techniques bring in instrumented code and others bring in uninstrumented code. There are reasons to use both.

    load_utility (and the deprecated require_utility), bring in instrumented code from other files. When COSMOS runs the code in the other file, Script Runner will dive into the other file and show each line highlighted as it executes. This should be the default way to bring in other files, as it allows continuing if something fails, and provides better visibility to operators.

    -

    However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the “load” keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. “require” is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not.

    +

    However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the “load” keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. “require” is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not.

    In Python, libraries are included using the import syntax. Any code imported using import is not instrumented. Only the code imported using load_utility is instrumented.

    Finally, COSMOS scripting has a special syntax for disabling instrumentation in the middle of an instrumented script, with the disable_instrumentation method. This allows you to disable instrumentation for large loops and other activities that are too slow when running instrumented.

    Ruby:

    -
    temp = 0
    disable_instrumentation do
    # Make sure nothing in here will raise exceptions!
    5000000.times do
    temp += 1
    end
    end
    puts temp
    +
    temp = 0
    disable_instrumentation do
    # Make sure nothing in here will raise exceptions!
    5000000.times do
    temp += 1
    end
    end
    puts temp

    Python:

    -
    temp = 0
    with disable_instrumentation():
    # Make sure nothing in here will raise exceptions!
    for x in range(0,5000000):
    temp += 1
    print(temp)
    -
    When Running Uninstrumented Code

    Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop.

    -

    Debugging and Auditing

    -

    Built-In Debugging Capabilities

    +
    temp = 0
    with disable_instrumentation():
    # Make sure nothing in here will raise exceptions!
    for x in range(0,5000000):
    temp += 1
    print(temp)
    +
    When Running Uninstrumented Code

    Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop.

    +

    Debugging and Auditing

    +

    Built-In Debugging Capabilities

    Script Runner has built in debugging capabilities that can be useful in determining why your script is behaving in a certain way. Of primary importance is the ability to inspect and set script variables.

    To use the debugging functionality, first select the “Toggle Debug” option from the Script Menu. This will add a small Debug: prompt to the bottom of the tool. Any code entered in this prompt will be executed when Enter is pressed. To inspect variables in a running script, pause the script and then type the variable name to print out the value of the variable in the debug prompt.

    -
    variable_name
    +
    variable_name

    Variables can also be set simply by using equals.

    -
    variable_name = 5
    +
    variable_name = 5

    If necessary, you can also inject commands from the debug prompt using the normal commanding methods. These commands will be logged to the Script Runner message log, which may be advantageous over using a different COSMOS tool like CmdSender (where the command would only be logged in the CmdTlmServer message log).

    -
    cmd("INST COLLECT with TYPE NORMAL")
    +
    cmd("INST COLLECT with TYPE NORMAL")

    Note that the debug prompt keeps the command history and you can scroll through the history by using the up and down arrows.

    -

    Breakpoints

    +

    Breakpoints

    You can click the line number (left side gutter) in Script Runner to add a breakpoint. The script will automatically pause when it hits the breakpoint. Once stopped at the breakpoint, you can evaluate variables using the Debug line.

    -

    Using Disconnect Mode

    -

    Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments.

    -

    While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware.

    -

    Auditing your Scripts

    +

    Using Disconnect Mode

    +

    Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments.

    +

    While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware.

    +

    Auditing your Scripts

    Script Runner includes several tools to help audit your scripts both before and after execution.

    -

    Ruby Syntax Check

    +

    Ruby Syntax Check

    The Ruby Syntax Check tool is found under the Script Menu. This tool uses the ruby executable with the -c flag to run a syntax check on your script. If any syntax errors are found the exact message presented by the Ruby interpreter is shown to the user. These can be cryptic, but the most common faults are not closing a quoted string, forgetting an “end” keyword, or using a block but forgetting the proceeding “do” keyword.

    -

    Common Scenarios

    -

    User Input Best Practices

    +

    Common Scenarios

    +

    User Input Best Practices

    COSMOS provides several different methods to gather manual user input in scripts. When using user input methods that allow for arbitrary values (like ask() and ask_string()), it is very important to validate the value given in your script before moving on. When asking for text input, it is extra important to handle different casing possibilities and to ensure that invalid input will either re-prompt the user or take a safe path.

    Ruby:

    -
    answer = ask_string("Do you want to continue (y/n)?")
    if answer != 'y' and answer != 'Y'
    raise "User entered: #{answer}"
    end

    temp = 0.0
    while temp < 10.0 or temp > 50.0
    temp = ask("Enter the desired temperature between 10.0 and 50.0")
    end
    +
    answer = ask_string("Do you want to continue (y/n)?")
    if answer != 'y' and answer != 'Y'
    raise "User entered: #{answer}"
    end

    temp = 0.0
    while temp < 10.0 or temp > 50.0
    temp = ask("Enter the desired temperature between 10.0 and 50.0")
    end

    Python:

    -
    answer = ask_string("Do you want to continue (y/n)?")
    if answer != 'y' and answer != 'Y':
    raise RuntimeError(f"User entered: {answer}")

    temp = 0.0
    while temp < 10.0 or temp > 50.0:
    temp = ask("Enter the desired temperature between 10.0 and 50.0")
    +
    answer = ask_string("Do you want to continue (y/n)?")
    if answer != 'y' and answer != 'Y':
    raise RuntimeError(f"User entered: {answer}")

    temp = 0.0
    while temp < 10.0 or temp > 50.0:
    temp = ask("Enter the desired temperature between 10.0 and 50.0")

    When possible, always use one of the other user input methods that has a constrained list of choices for your users (message_box, vertical_message_box, combo_box).

    Note that all these user input methods provide the user the option to “Cancel”. When cancel is clicked, the script is paused but remains at the user input line. When hitting “Go” to the continue, the user will be re-prompted to enter the value.

    -

    Conditionally Require Manual User Input Steps

    +

    Conditionally Require Manual User Input Steps

    When possible, a useful design pattern is to write your scripts such that they can run without prompting for any user input. This allows the scripts to be more easily tested and provides a documented default value for any user input choices or values. To implement this pattern, all manual steps such as ask(), prompt(), and infinite wait() statements need to be wrapped with an if statement that checks the value of $manual in Ruby or RunningScript.manual in Python. If the variable is set, then the manual steps should be executed. If not, then a default value should be used.

    Ruby Example:

    -
    if $manual
    temp = ask("Please enter the temperature")
    else
    temp = 20.0
    end
    if !$manual
    puts "Skipping infinite wait in auto mode"
    else
    wait
    end
    +
    if $manual
    temp = ask("Please enter the temperature")
    else
    temp = 20.0
    end
    if !$manual
    puts "Skipping infinite wait in auto mode"
    else
    wait
    end

    Python Example:

    -
    if RunningScript.manual:
    temp = ask("Please enter the temperature")
    else:
    temp = 20.0
    if not RunningScript.manual:
    print("Skipping infinite wait in auto mode")
    else:
    wait()
    +
    if RunningScript.manual:
    temp = ask("Please enter the temperature")
    else:
    temp = 20.0
    if not RunningScript.manual:
    print("Skipping infinite wait in auto mode")
    else:
    wait()

    When running suites, there is a checkbox at the top of the tool called “Manual” that affects this $manual variable directly.

    -

    Outputting Extra Information to a Report

    +

    Outputting Extra Information to a Report

    COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log.

    Ruby:

    -
    class MyGroup < OpenC3::Group
    def script_1
    # The following text will be placed in the report
    OpenC3::Group.puts "Verifies requirements 304, 306, 310"
    # This puts line will show up in the sr_messages log file
    puts "script_1 complete"
    end
    end
    +
    class MyGroup < OpenC3::Group
    def script_1
    # The following text will be placed in the report
    OpenC3::Group.puts "Verifies requirements 304, 306, 310"
    # This puts line will show up in the sr_messages log file
    puts "script_1 complete"
    end
    end

    Python:

    -
    from openc3.script.suite import Group
    class MyGroup(Group):
    def script_1():
    # The following text will be placed in the report
    Group.print("Verifies requirements 304, 306, 310")
    # This puts line will show up in the sr_messages log file
    print("script_1 complete")
    -

    Getting the Most Recent Value of a Telemetry Point from Multiple Packets

    +
    from openc3.script.suite import Group
    class MyGroup(Group):
    def script_1():
    # The following text will be placed in the report
    Group.print("Verifies requirements 304, 306, 310")
    # This puts line will show up in the sr_messages log file
    print("script_1 complete")
    +

    Getting the Most Recent Value of a Telemetry Point from Multiple Packets

    Some systems include high rate data points with the same name in every packet. COSMOS supports getting the most recent value of a telemetry point that is in multiple packets using a special packet name of LATEST. Assume the target INST has two packets, PACKET1 and PACKET2. Both packets have a telemetry point called TEMP.

    -
    # Get the value of TEMP from the most recently received PACKET1
    value = tlm("INST PACKET1 TEMP")
    # Get the value of TEMP from the most recently received PACKET2
    value = tlm("INST PACKET2 TEMP")
    # Get the value of TEMP from the most recently received PACKET1 or PACKET2
    value = tlm("INST LATEST TEMP")
    -

    Checking Every Single Sample of a Telemetry Point

    +
    # Get the value of TEMP from the most recently received PACKET1
    value = tlm("INST PACKET1 TEMP")
    # Get the value of TEMP from the most recently received PACKET2
    value = tlm("INST PACKET2 TEMP")
    # Get the value of TEMP from the most recently received PACKET1 or PACKET2
    value = tlm("INST LATEST TEMP")
    +

    Checking Every Single Sample of a Telemetry Point

    When writing COSMOS scripts, checking the most recent value of a telemetry point normally gets the job done. The tlm(), tlm_raw(), etc methods all retrieve the most recent value of a telemetry point. Sometimes you need to perform analysis on every single sample of a telemetry point. This can be done using the COSMOS packet subscription system. The packet subscription system lets you choose one or more packets and receive them all from a queue. You can then pick out the specific telemetry points you care about from each packet.

    Ruby:

    -
    id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
    wait 1.5
    id, packets = get_packets(id)
    packets.each do |packet|
    puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}"
    end
    # Wait for some time later and reuse the last returned ID
    id, packets = get_packets(id)
    +
    id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
    wait 1.5
    id, packets = get_packets(id)
    packets.each do |packet|
    puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}"
    end
    # Wait for some time later and reuse the last returned ID
    id, packets = get_packets(id)

    Python:

    -
    id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
    wait(1.5)
    id, packets = get_packets(id)
    for packet in packets:
    print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}")
    # Wait for some time later and reuse the last returned ID
    id, packets = get_packets(id)
    -

    Using Variables in Mnemonics

    +
    id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
    wait(1.5)
    id, packets = get_packets(id)
    for packet in packets:
    print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}")
    # Wait for some time later and reuse the last returned ID
    id, packets = get_packets(id)
    +

    Using Variables in Mnemonics

    Because command and telemetry mnemonics are just strings in COSMOS scripts, you can make use of variables in some contexts to make reusable code. For example, a method can take a target name as an input to support multiple instances of a target. You could also pass in the value for a set of numbered telemetry points.

    Ruby:

    -
    def example(target_name, temp_number)
    cmd("#{target_name} COLLECT with TYPE NORMAL")
    wait_check("#{target_name} TEMP#{temp_number} > 50.0")
    end
    +
    def example(target_name, temp_number)
    cmd("#{target_name} COLLECT with TYPE NORMAL")
    wait_check("#{target_name} TEMP#{temp_number} > 50.0")
    end

    Python:

    -
    def example(target_name, temp_number):
    cmd(f"{target_name} COLLECT with TYPE NORMAL")
    wait_check(f"{target_name} TEMP{temp_number} > 50.0")
    -

    This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the Looping vs Unrolled Loops section.

    -

    Using Custom wait_check_expression

    +
    def example(target_name, temp_number):
    cmd(f"{target_name} COLLECT with TYPE NORMAL")
    wait_check(f"{target_name} TEMP{temp_number} > 50.0")
    +

    This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the Looping vs Unrolled Loops section.

    +

    Using Custom wait_check_expression

    The COSMOS wait_check_expression (and check_expression) allow you to perform more complicated checks and still stop the script with a CHECK error message if something goes wrong. For example, you can check variables against each other or check a telemetry point against a range. The exact string of text passed to wait_check_expression is repeatedly evaluated until it passes, or a timeout occurs. It is important to not use string interpolation within the actual expression or the values inside of the string interpolation syntax will only be evaluated once when it is converted into a string.

    Ruby:

    -
    one = 1
    two = 2

    wait_check_expression("one == two", 1)
    # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds

    # Checking an integer range
    wait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1)
    +
    one = 1
    two = 2

    wait_check_expression("one == two", 1)
    # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds

    # Checking an integer range
    wait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1)

    Python:

    -
    one = 1
    two = 2

    wait_check_expression("one == two", 1, 0.25, locals())
    # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds

    # Checking an integer range
    wait_check_expression("one > 0 and one < 10", 1, 0.25, locals())
    -

    COSMOS Scripting Differences from Regular Ruby Scripting

    -

    Do not use single line if statements

    -

    COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts).

    -

    Don't do this:

    -
    run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0
    +
    one = 1
    two = 2

    wait_check_expression("one == two", 1, 0.25, locals())
    # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds

    # Checking an integer range
    wait_check_expression("one > 0 and one < 10", 1, 0.25, locals())
    +

    COSMOS Scripting Differences from Regular Ruby Scripting

    +

    Do not use single line if statements

    +

    COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts).

    +

    Don't do this:

    +
    run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0

    Do this instead:

    -
    # It is best not to execute any code that could fail in an if statement, ie
    # tlm() could fail if the CmdTlmServer was not running or a mnemonic
    # was misspelled
    temp1 = tlm("INST HEALTH_STATUS TEMP1")
    if temp1 > 10.0
    run_method()
    end
    -

    When Things Go Wrong

    -

    Common Reasons Checks Fail

    +
    # It is best not to execute any code that could fail in an if statement, ie
    # tlm() could fail if the CmdTlmServer was not running or a mnemonic
    # was misspelled
    temp1 = tlm("INST HEALTH_STATUS TEMP1")
    if temp1 > 10.0
    run_method()
    end
    +

    When Things Go Wrong

    +

    Common Reasons Checks Fail

    There are three common reasons that checks fail in COSMOS scripts:

    1. @@ -218,14 +208,14 @@

      C

    2. The range or value checked against was incorrect or too stringent

      -

      Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value.

      +

      Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value.

    3. The check really failed

      Of course, sometimes there are real failures. See the next section for how to handle them and recover.

    -

    How to Recover from Anomalies

    +

    How to Recover from Anomalies

    Once something has failed, and your script has stopped with a pink highlighted line, how can you recover? Fortunately, COSMOS provides several mechanisms that can be used to recover after something in your script fails.

    1. @@ -234,27 +224,25 @@

    2. Run from here

      -

      By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script.

      +

      By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script.

    -

    Advanced Topics

    -

    Advanced Script Configuration with CSV or Excel

    +

    Advanced Topics

    +

    Advanced Script Configuration with CSV or Excel

    Using a spreadsheet to store the values for use by a script can be a great option if you have a CM-controlled script but need to be able to tweak some values for a test or if you need to use different values for different serial numbers.

    The Ruby CSV class be used to easily read data from CSV files (recommended for cross platform projects).

    -
    require 'csv'
    values = CSV.read('test.csv')
    puts values[0][0]
    +
    require 'csv'
    values = CSV.read('test.csv')
    puts values[0][0]

    If you are only using Windows, COSMOS also contains a library for reading Excel files.

    -
    require 'openc3/win32/excel'
    ss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx')
    puts ss[0][0][0]
    -

    When to use Ruby Modules

    -

    Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though.

    +
    require 'openc3/win32/excel'
    ss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx')
    puts ss[0][0][0]
    +

    When to use Ruby Modules

    +

    Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though.

    Mixins allow adding common methods to classes without using inheritance. Mixins can be useful to add common functionality to some classes but not others, or to break up classes into multiple files.

    -
    module MyModule
    def module_method
    end
    end
    class MyTest < OpenC3::Group
    include MyModule
    def test_1
    module_method()
    end
    end
- - \ No newline at end of file +
module MyModule
def module_method
end
end
class MyTest < OpenC3::Group
include MyModule
def test_1
module_method()
end
end
\ No newline at end of file diff --git a/docs/docs/guides/scripting-api.html b/docs/docs/guides/scripting-api.html index 6b410c3219..93d4d4f42b 100644 --- a/docs/docs/guides/scripting-api.html +++ b/docs/docs/guides/scripting-api.html @@ -1,1078 +1,1066 @@ - - - - - -Scripting API Guide | OpenC3 Docs - - - - -

Scripting API Guide

This document provides the information necessary to write test procedures using the COSMOS scripting API. Scripting in COSMOS is designed to be simple and intuitive. The code completion ability for command and telemetry mnemonics makes Script Runner the ideal place to write your procedures, however any text editor will do. If there is functionality that you don't see here or perhaps an easier syntax for doing something, please submit a ticket.

-

Concepts

-

Programming Languages

-

COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the Script Writing Guide.

-

Using Script Runner

+Scripting API Guide | OpenC3 Docs

Scripting API Guide

This document provides the information necessary to write test procedures using the COSMOS scripting API. Scripting in COSMOS is designed to be simple and intuitive. The code completion ability for command and telemetry mnemonics makes Script Runner the ideal place to write your procedures, however any text editor will do. If there is functionality that you don't see here or perhaps an easier syntax for doing something, please submit a ticket.

+

Concepts

+

Programming Languages

+

COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the Script Writing Guide.

+

Using Script Runner

Script Runner is a graphical application that provides the ideal environment for running and implementing your test procedures. The Script Runner tool is broken into 4 main sections. At the top of the tool is a menu bar that allows you to do such things as open and save files, perform a syntax check, and execute your script.

-

Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time.

+

Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time.

Third is the display of the actual script. While the script is not running, you may edit and compose scripts in this area. A handy code completion feature is provided that will list out the available commands or telemetry points as you are writing your script. Simply begin writing a cmd( or tlm( line to bring up code completion. This feature greatly reduces typos in command and telemetry mnemonics.

Finally, the bottom of the display is the log messages. All commands that are sent, errors that occur, and user print statements appear in this area.

-

Telemetry Types

+

Telemetry Types

There are four different ways that telemetry values can be retrieved in COSMOS. The following chart explains their differences.

-
Telemetry TypeDescription
RawRaw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil.
ConvertedConverted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts.
FormattedFormatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string.
Formatted with UnitsFormatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry.
-

Script Runner API

+
Telemetry TypeDescription
RawRaw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil.
ConvertedConverted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts.
FormattedFormatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string.
Formatted with UnitsFormatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry.
+

Script Runner API

The following methods are designed to be used in Script Runner procedures. Many can also be used in custom built COSMOS tools. Please see the COSMOS Tool API section for methods that are more efficient to use in custom tools.

-

Migration from COSMOS v5 to v6

+

Migration from COSMOS v5 to v6

The following API methods have been removed from COSMOS v6. Most of the deprecated API methods still remain for backwards compatibility.

-
MethodToolStatus
get_all_target_infoCommand and Telemetry ServerRemoved, use get_target_interfaces
play_wav_fileScript RunnerRemoved
status_barScript RunnerRemoved
-

Migration from COSMOS v4 to v5

+
MethodToolStatus
get_all_target_infoCommand and Telemetry ServerRemoved, use get_target_interfaces
play_wav_fileScript RunnerRemoved
status_barScript RunnerRemoved
+

Migration from COSMOS v4 to v5

The following API methods are either deprecated (will not be ported to COSMOS 5) or currently unimplemented (eventually will be ported to COSMOS 5):

-
MethodToolStatus
clearTelemetry ViewerDeprecated, use clear_screen
clear_allTelemetry ViewerDeprecated, use clear_all_screens
close_local_screensTelemetry ViewerDeprecated, use clear_screen
clear_disconnected_targetsScript RunnerDeprecated
cmd_tlm_clear_countersCommand and Telemetry ServerDeprecated
cmd_tlm_reloadCommand and Telemetry ServerDeprecated
displayTelemetry ViewerDeprecated, use display_screen
get_all_packet_logger_infoCommand and Telemetry ServerDeprecated
get_all_target_infoCommand and Telemetry ServerDeprecated, use get_target_interfaces
get_background_tasksCommand and Telemetry ServerDeprecated
get_all_cmd_infoCommand and Telemetry ServerDeprecated, use get_all_cmds
get_all_tlm_infoCommand and Telemetry ServerDeprecated, use get_all_tlm
get_cmd_listCommand and Telemetry ServerDeprecated, use get_all_cmds
get_cmd_log_filenameCommand and Telemetry ServerDeprecated
get_cmd_param_listCommand and Telemetry ServerDeprecated, use get_cmd
get_cmd_tlm_disconnectScript RunnerDeprecated, use $disconnect
get_disconnected_targetsScript RunnerUnimplemented
get_interface_infoCommand and Telemetry ServerDeprecated, use get_interface
get_interface_targetsCommand and Telemetry ServerDeprecated
get_output_logs_filenamesCommand and Telemetry ServerDeprecated
get_packetCommand and Telemetry ServerDeprecated, use get_packets
get_packet_dataCommand and Telemetry ServerDeprecated, use get_packets
get_packet_logger_infoCommand and Telemetry ServerDeprecated
get_packet_loggersCommand and Telemetry ServerDeprecated
get_replay_modeReplayDeprecated
get_router_infoCommand and Telemetry ServerDeprecated, use get_router
get_scriptrunner_message_log_filenameCommand and Telemetry ServerDeprecated
get_server_messageCommand and Telemetry ServerDeprecated
get_server_message_log_filenameCommand and Telemetry ServerDeprecated
get_server_statusCommand and Telemetry ServerDeprecated
get_staleCommand and Telemetry ServerDeprecated
get_target_ignored_itemsCommand and Telemetry ServerDeprecated, use get_target
get_target_ignored_parametersCommand and Telemetry ServerDeprecated, use get_target
get_target_infoCommand and Telemetry ServerDeprecated, use get_target
get_target_listCommand and Telemetry ServerDeprecated, use get_target_names
get_tlm_detailsCommand and Telemetry ServerDeprecated
get_tlm_item_listCommand and Telemetry ServerDeprecated
get_tlm_listCommand and Telemetry ServerDeprecated
get_tlm_log_filenameCommand and Telemetry ServerDeprecated
interface_stateCommand and Telemetry ServerDeprecated, use get_interface
override_tlm_rawCommand and Telemetry ServerDeprecated, use override_tlm
open_directory_dialogScript RunnerDeprecated
play_wav_fileScript RunnerDeprecated
replay_move_endReplayDeprecated
replay_move_indexReplayDeprecated
replay_move_startReplayDeprecated
replay_playReplayDeprecated
replay_reverse_playReplayDeprecated
replay_select_fileReplayDeprecated
replay_set_playback_delayReplayDeprecated
replay_statusReplayDeprecated
replay_step_backReplayDeprecated
replay_step_forwardReplayDeprecated
replay_stopReplayDeprecated
require_utilityScript RunnerDeprecated but exists for backwards compatibility, use load_utility
router_stateCommand and Telemetry ServerDeprecated, use get_router
save_file_dialogScript RunnerDeprecated
save_settingCommand and Telemetry ServerDeprecated but exists for backwards compatibility, use set_setting
set_cmd_tlm_disconnectScript RunnerDeprecated, use disconnect_script
set_disconnected_targetsScript RunnerUnimplemented
set_replay_modeReplayDeprecated
set_stdout_max_linesScript RunnerDeprecated
set_tlm_rawScript RunnerDeprecated, use set_tlm
show_backtraceScript RunnerDeprecated, backtrace always shown
status_barScript RunnerDeprecated
shutdown_cmd_tlmCommand and Telemetry ServerDeprecated
start_cmd_logCommand and Telemetry ServerDeprecated
start_loggingCommand and Telemetry ServerDeprecated
start_new_scriptrunner_message_logCommand and Telemetry ServerDeprecated
start_new_server_message_logCommand and Telemetry ServerDeprecated
start_tlm_logCommand and Telemetry ServerDeprecated
stop_background_taskCommand and Telemetry ServerDeprecated
stop_cmd_logCommand and Telemetry ServerDeprecated
stop_loggingCommand and Telemetry ServerDeprecated
stop_tlm_logCommand and Telemetry ServerDeprecated
subscribe_limits_eventsCommand and Telemetry ServerDeprecated
subscribe_packet_dataCommand and Telemetry ServerDeprecated, use subscribe_packets
subscribe_server_messagesCommand and Telemetry ServerUnimplemented
tlm_variableScript RunnerDeprecated, use tlm() and pass type
unsubscribe_limits_eventsCommand and Telemetry ServerDeprecated
unsubscribe_packet_dataCommand and Telemetry ServerDeprecated
unsubscribe_server_messagesCommand and Telemetry ServerDeprecated
wait_rawScript RunnerDeprecated, use wait(..., type: :RAW)
wait_check_rawScript RunnerDeprecated, use wait_check(..., type: :RAW)
wait_tolerance_rawScript RunnerDeprecated, use wait_tolerance(..., type: :RAW)
wait_check_tolerance_rawScript RunnerDeprecated, use wait_check_tolerance(..., type: :RAW)
-

Retrieving User Input

+
MethodToolStatus
clearTelemetry ViewerDeprecated, use clear_screen
clear_allTelemetry ViewerDeprecated, use clear_all_screens
close_local_screensTelemetry ViewerDeprecated, use clear_screen
clear_disconnected_targetsScript RunnerDeprecated
cmd_tlm_clear_countersCommand and Telemetry ServerDeprecated
cmd_tlm_reloadCommand and Telemetry ServerDeprecated
displayTelemetry ViewerDeprecated, use display_screen
get_all_packet_logger_infoCommand and Telemetry ServerDeprecated
get_all_target_infoCommand and Telemetry ServerDeprecated, use get_target_interfaces
get_background_tasksCommand and Telemetry ServerDeprecated
get_all_cmd_infoCommand and Telemetry ServerDeprecated, use get_all_cmds
get_all_tlm_infoCommand and Telemetry ServerDeprecated, use get_all_tlm
get_cmd_listCommand and Telemetry ServerDeprecated, use get_all_cmds
get_cmd_log_filenameCommand and Telemetry ServerDeprecated
get_cmd_param_listCommand and Telemetry ServerDeprecated, use get_cmd
get_cmd_tlm_disconnectScript RunnerDeprecated, use $disconnect
get_disconnected_targetsScript RunnerUnimplemented
get_interface_infoCommand and Telemetry ServerDeprecated, use get_interface
get_interface_targetsCommand and Telemetry ServerDeprecated
get_output_logs_filenamesCommand and Telemetry ServerDeprecated
get_packetCommand and Telemetry ServerDeprecated, use get_packets
get_packet_dataCommand and Telemetry ServerDeprecated, use get_packets
get_packet_logger_infoCommand and Telemetry ServerDeprecated
get_packet_loggersCommand and Telemetry ServerDeprecated
get_replay_modeReplayDeprecated
get_router_infoCommand and Telemetry ServerDeprecated, use get_router
get_scriptrunner_message_log_filenameCommand and Telemetry ServerDeprecated
get_server_messageCommand and Telemetry ServerDeprecated
get_server_message_log_filenameCommand and Telemetry ServerDeprecated
get_server_statusCommand and Telemetry ServerDeprecated
get_staleCommand and Telemetry ServerDeprecated
get_target_ignored_itemsCommand and Telemetry ServerDeprecated, use get_target
get_target_ignored_parametersCommand and Telemetry ServerDeprecated, use get_target
get_target_infoCommand and Telemetry ServerDeprecated, use get_target
get_target_listCommand and Telemetry ServerDeprecated, use get_target_names
get_tlm_detailsCommand and Telemetry ServerDeprecated
get_tlm_item_listCommand and Telemetry ServerDeprecated
get_tlm_listCommand and Telemetry ServerDeprecated
get_tlm_log_filenameCommand and Telemetry ServerDeprecated
interface_stateCommand and Telemetry ServerDeprecated, use get_interface
override_tlm_rawCommand and Telemetry ServerDeprecated, use override_tlm
open_directory_dialogScript RunnerDeprecated
play_wav_fileScript RunnerDeprecated
replay_move_endReplayDeprecated
replay_move_indexReplayDeprecated
replay_move_startReplayDeprecated
replay_playReplayDeprecated
replay_reverse_playReplayDeprecated
replay_select_fileReplayDeprecated
replay_set_playback_delayReplayDeprecated
replay_statusReplayDeprecated
replay_step_backReplayDeprecated
replay_step_forwardReplayDeprecated
replay_stopReplayDeprecated
require_utilityScript RunnerDeprecated but exists for backwards compatibility, use load_utility
router_stateCommand and Telemetry ServerDeprecated, use get_router
save_file_dialogScript RunnerDeprecated
save_settingCommand and Telemetry ServerDeprecated but exists for backwards compatibility, use set_setting
set_cmd_tlm_disconnectScript RunnerDeprecated, use disconnect_script
set_disconnected_targetsScript RunnerUnimplemented
set_replay_modeReplayDeprecated
set_stdout_max_linesScript RunnerDeprecated
set_tlm_rawScript RunnerDeprecated, use set_tlm
show_backtraceScript RunnerDeprecated, backtrace always shown
status_barScript RunnerDeprecated
shutdown_cmd_tlmCommand and Telemetry ServerDeprecated
start_cmd_logCommand and Telemetry ServerDeprecated
start_loggingCommand and Telemetry ServerDeprecated
start_new_scriptrunner_message_logCommand and Telemetry ServerDeprecated
start_new_server_message_logCommand and Telemetry ServerDeprecated
start_tlm_logCommand and Telemetry ServerDeprecated
stop_background_taskCommand and Telemetry ServerDeprecated
stop_cmd_logCommand and Telemetry ServerDeprecated
stop_loggingCommand and Telemetry ServerDeprecated
stop_tlm_logCommand and Telemetry ServerDeprecated
subscribe_limits_eventsCommand and Telemetry ServerDeprecated
subscribe_packet_dataCommand and Telemetry ServerDeprecated, use subscribe_packets
subscribe_server_messagesCommand and Telemetry ServerUnimplemented
tlm_variableScript RunnerDeprecated, use tlm() and pass type
unsubscribe_limits_eventsCommand and Telemetry ServerDeprecated
unsubscribe_packet_dataCommand and Telemetry ServerDeprecated
unsubscribe_server_messagesCommand and Telemetry ServerDeprecated
wait_rawScript RunnerDeprecated, use wait(..., type: :RAW)
wait_check_rawScript RunnerDeprecated, use wait_check(..., type: :RAW)
wait_tolerance_rawScript RunnerDeprecated, use wait_tolerance(..., type: :RAW)
wait_check_tolerance_rawScript RunnerDeprecated, use wait_check_tolerance(..., type: :RAW)
+

Retrieving User Input

These methods allow the user to enter values that are needed by the script.

-

ask

-

Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned.

+

ask

+

Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned.

Ruby / Python Syntax:

-
ask("<question>", <blank_or_default>, <password>)
-
ParameterDescription
questionQuestion to prompt the user with.
blank_or_defaultWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value.
passwordWhether to treat the entry as a password which is displayed with dots and not logged. Default is false.
+
ask("<question>", <blank_or_default>, <password>)
+
ParameterDescription
questionQuestion to prompt the user with.
blank_or_defaultWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value.
passwordWhether to treat the entry as a password which is displayed with dots and not logged. Default is false.

Ruby Example:

-
value = ask("Enter an integer")
value = ask("Enter a value or nothing", true)
value = ask("Enter a value", 10)
password = ask("Enter your password", false, true)
+
value = ask("Enter an integer")
value = ask("Enter a value or nothing", true)
value = ask("Enter a value", 10)
password = ask("Enter your password", false, true)

Python Example:

-
value = ask("Enter an integer")
value = ask("Enter a value or nothing", True)
value = ask("Enter a value", 10)
password = ask("Enter your password", False, True)
-

ask_string

-

Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned.

+
value = ask("Enter an integer")
value = ask("Enter a value or nothing", True)
value = ask("Enter a value", 10)
password = ask("Enter your password", False, True)
+

ask_string

+

Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned.

Ruby / Python Syntax:

-
ask_string("<question>", <blank_or_default>, <password>)
-
ParameterDescription
questionQuestion to prompt the user with.
blank_or_defaultWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value.
passwordWhether to treat the entry as a password which is displayed with dots and not logged. Default is false.
+
ask_string("<question>", <blank_or_default>, <password>)
+
ParameterDescription
questionQuestion to prompt the user with.
blank_or_defaultWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value.
passwordWhether to treat the entry as a password which is displayed with dots and not logged. Default is false.

Ruby Example:

-
string = ask_string("Enter a String")
string = ask_string("Enter a value or nothing", true)
string = ask_string("Enter a value", "test")
password = ask_string("Enter your password", false, true)
+
string = ask_string("Enter a String")
string = ask_string("Enter a value or nothing", true)
string = ask_string("Enter a value", "test")
password = ask_string("Enter your password", false, true)

Python Example:

-
string = ask_string("Enter a String")
string = ask_string("Enter a value or nothing", True)
string = ask_string("Enter a value", "test")
password = ask_string("Enter your password", False, True)
-

message_box

-

vertical_message_box

-

combo_box

+
string = ask_string("Enter a String")
string = ask_string("Enter a value or nothing", True)
string = ask_string("Enter a value", "test")
password = ask_string("Enter your password", False, True)
+

message_box

+

vertical_message_box

+

combo_box

The message_box, vertical_message_box, and combo_box methods create a message box with arbitrary buttons or selections that the user can click. The text of the button clicked is returned.

Ruby / Python Syntax:

-
message_box("<message>", "<button text 1>", ...)
vertical_message_box("<message>", "<button text 1>", ...)
combo_box("<message>", "<selection text 1>", ...)
-
ParameterDescription
messageMessage to prompt the user with.
button/selection textText for a button or selection
+
message_box("<message>", "<button text 1>", ...)
vertical_message_box("<message>", "<button text 1>", ...)
combo_box("<message>", "<selection text 1>", ...)
+
ParameterDescription
messageMessage to prompt the user with.
button/selection textText for a button or selection

Ruby Example:

-
value = message_box("Select the sensor number", 'One', 'Two')
value = vertical_message_box("Select the sensor number", 'One', 'Two')
value = combo_box("Select the sensor number", 'One', 'Two')
case value
when 'One'
puts 'Sensor One'
when 'Two'
puts 'Sensor Two'
end
+
value = message_box("Select the sensor number", 'One', 'Two')
value = vertical_message_box("Select the sensor number", 'One', 'Two')
value = combo_box("Select the sensor number", 'One', 'Two')
case value
when 'One'
puts 'Sensor One'
when 'Two'
puts 'Sensor Two'
end

Python Example:

-
value = message_box("Select the sensor number", 'One', 'Two')
value = vertical_message_box("Select the sensor number", 'One', 'Two')
value = combo_box("Select the sensor number", 'One', 'Two')
match value:
case 'One':
print('Sensor One')
case 'Two':
print('Sensor Two')
-

get_target_file

+
value = message_box("Select the sensor number", 'One', 'Two')
value = vertical_message_box("Select the sensor number", 'One', 'Two')
value = combo_box("Select the sensor number", 'One', 'Two')
match value:
case 'One':
print('Sensor One')
case 'Two':
print('Sensor Two')
+

get_target_file

Return a file handle to a file in the target directory

Ruby Syntax:

-
get_target_file("<File Path>", original: false)
+
get_target_file("<File Path>", original: false)

Python Syntax:

-
get_target_file("<File Path>", original=False)
-
ParameterDescription
pathThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb
originalWhether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original.
+
get_target_file("<File Path>", original=False)
+
ParameterDescription
pathThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb
originalWhether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original.

Ruby Example:

-
file = get_target_file("INST/data/attitude.bin")
puts file.read().formatted # format a binary file
file.unlink # delete file
file = get_target_file("INST/procedures/checks.rb", original: true)
puts file.read()
file.unlink # delete file
+
file = get_target_file("INST/data/attitude.bin")
puts file.read().formatted # format a binary file
file.unlink # delete file
file = get_target_file("INST/procedures/checks.rb", original: true)
puts file.read()
file.unlink # delete file

Python Example:

-
from openc3.utilities.string import formatted

file = get_target_file("INST/data/attitude.bin")
print(formatted(file.read())) # format a binary file
file.close() # delete file
file = get_target_file("INST/procedures/checks.rb", original=True)
print(file.read())
file.close() # delete file
-

put_target_file

+
from openc3.utilities.string import formatted

file = get_target_file("INST/data/attitude.bin")
print(formatted(file.read())) # format a binary file
file.close() # delete file
file = get_target_file("INST/procedures/checks.rb", original=True)
print(file.read())
file.close() # delete file
+

put_target_file

Writes a file to the target directory

Ruby or Python Syntax:

-
put_target_file("<File Path>", "IO or String")
-
ParameterDescription
pathThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten.
dataThe data can be an IO object or String
+
put_target_file("<File Path>", "IO or String")
+
ParameterDescription
pathThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten.
dataThe data can be an IO object or String

Ruby Example:

-
put_target_file("INST/test1.txt", "this is a string test")
file = Tempfile.new('test')
file.write("this is a Io test")
file.rewind
put_target_file("INST/test2.txt", file)
put_target_file("INST/test3.bin", "\x00\x01\x02\x03\xFF\xEE\xDD\xCC") # binary
+
put_target_file("INST/test1.txt", "this is a string test")
file = Tempfile.new('test')
file.write("this is a Io test")
file.rewind
put_target_file("INST/test2.txt", file)
put_target_file("INST/test3.bin", "\x00\x01\x02\x03\xFF\xEE\xDD\xCC") # binary

Python Example:

-
put_target_file("INST/test1.txt", "this is a string test")
file = tempfile.NamedTemporaryFile(mode="w+t")
file.write("this is a Io test")
file.seek(0)
put_target_file("INST/test2.txt", file)
put_target_file("INST/test3.bin", b"\x00\x01\x02\x03\xFF\xEE\xDD\xCC") # binary
-

delete_target_file

+
put_target_file("INST/test1.txt", "this is a string test")
file = tempfile.NamedTemporaryFile(mode="w+t")
file.write("this is a Io test")
file.seek(0)
put_target_file("INST/test2.txt", file)
put_target_file("INST/test3.bin", b"\x00\x01\x02\x03\xFF\xEE\xDD\xCC") # binary
+

delete_target_file

Delete a file in the target directory

Ruby / Python Syntax:

-
delete_target_file("<File Path>")
-
ParameterDescription
pathThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain.
+
delete_target_file("<File Path>")
+
ParameterDescription
pathThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain.

Ruby / Python Example:

-
put_target_file("INST/delete_me.txt", "to be deleted")
delete_target_file("INST/delete_me.txt")
-

open_file_dialog

-

open_files_dialog

+
put_target_file("INST/delete_me.txt", "to be deleted")
delete_target_file("INST/delete_me.txt")
+

open_file_dialog

+

open_files_dialog

The open_file_dialog and open_files_dialog methods create a file dialog box so the user can select a single or multiple files. The selected file(s) is returned.

-

Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files.

+

Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files.

Ruby Syntax:

-
open_file_dialog("<title>", "<message>", filter: "<filter>")
open_files_dialog("<title>", "<message>", filter: "<filter>")
+
open_file_dialog("<title>", "<message>", filter: "<filter>")
open_files_dialog("<title>", "<message>", filter: "<filter>")

Python Syntax:

-
open_file_dialog("<title>", "<message>", filter="<filter>")
open_files_dialog("<title>", "<message>", filter="<filter>")
-
ParameterDescription
TitleThe title to put on the dialog. Required.
MessageThe message to display in the dialog box. Optional parameter.
filterNamed parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept for more information.
+
open_file_dialog("<title>", "<message>", filter="<filter>")
open_files_dialog("<title>", "<message>", filter="<filter>")
+
ParameterDescription
TitleThe title to put on the dialog. Required.
MessageThe message to display in the dialog box. Optional parameter.
filterNamed parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept for more information.

Ruby Example:

-
file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt")
puts file # Ruby File object
puts file.read
file.delete

files = open_files_dialog("Open multiple files") # message is optional
puts files # Array of File objects (even if you select only one)
files.each do |file|
puts file
puts file.read
file.delete
end
+
file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt")
puts file # Ruby File object
puts file.read
file.delete

files = open_files_dialog("Open multiple files") # message is optional
puts files # Array of File objects (even if you select only one)
files.each do |file|
puts file
puts file.read
file.delete
end

Python Example:

-
file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt")
print(file)
print(file.read())
file.close()

files = open_files_dialog("Open multiple files") # message is optional
print(files) # Array of File objects (even if you select only one)
for file in files:
print(file)
print(file.read())
file.close()
-

Providing information to the user

+
file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt")
print(file)
print(file.read())
file.close()

files = open_files_dialog("Open multiple files") # message is optional
print(files) # Array of File objects (even if you select only one)
for file in files:
print(file)
print(file.read())
file.close()
+

Providing information to the user

These methods notify the user that something has occurred.

-

prompt

+

prompt

Displays a message to the user and waits for them to press an ok button.

Ruby / Python Syntax:

-
prompt("<message>")
-
ParameterDescription
messageMessage to prompt the user with.
+
prompt("<message>")
+
ParameterDescription
messageMessage to prompt the user with.

Ruby / Python Example:

-
prompt("Press OK to continue")
-

Commands

+
prompt("Press OK to continue")
+

Commands

These methods provide capability to send commands to a target and receive information about commands in the system.

-

cmd

+

cmd

Sends a specified command.

Ruby Syntax:

-
cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)
+
cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)

Python Syntax:

-
cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby Example:

-
cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
# In Ruby the brackets around parameters are optional
cmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL")
cmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" })
cmd("INST ABORT", timeout: 10, log_message: false)
+
cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
# In Ruby the brackets around parameters are optional
cmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL")
cmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" })
cmd("INST ABORT", timeout: 10, log_message: false)

Python Example:

-
cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
cmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" })
cmd("INST ABORT", timeout=10, log_message=False)
-

cmd_no_range_check

+
cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
cmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" })
cmd("INST ABORT", timeout=10, log_message=False)
+

cmd_no_range_check

Sends a specified command without performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target.

Ruby Syntax:

-
cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)
+
cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)

Python Syntax:

-
cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby Example:

-
cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")
cmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL")
+
cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")
cmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL")

Python Example:

-
cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")
cmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"})
-

cmd_no_hazardous_check

+
cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL")
cmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"})
+

cmd_no_hazardous_check

Sends a specified command without performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands.

Ruby Syntax:

-
cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)
+
cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)

Python Syntax:

-
cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby / Python Example:

-
cmd_no_hazardous_check("INST CLEAR")
cmd_no_hazardous_check("INST", "CLEAR")
-

cmd_no_checks

+
cmd_no_hazardous_check("INST CLEAR")
cmd_no_hazardous_check("INST", "CLEAR")
+

cmd_no_checks

Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters.

Ruby Syntax:

-
cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)
+
cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...)

Python Syntax:

-
cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby Example:

-
cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")
cmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL")
+
cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")
cmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL")

Python Example:

-
cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")
cmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"})
-

cmd_raw

+
cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL")
cmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"})
+

cmd_raw

Sends a specified command without running conversions.

Ruby Syntax:

-
cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)
+
cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)

Python Syntax:

-
cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby Example:

-
cmd_raw("INST COLLECT with DURATION 10, TYPE 0")
cmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0)
+
cmd_raw("INST COLLECT with DURATION 10, TYPE 0")
cmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0)

Python Example:

-
cmd_raw("INST COLLECT with DURATION 10, TYPE 0")
cmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0})
-

cmd_raw_no_range_check

+
cmd_raw("INST COLLECT with DURATION 10, TYPE 0")
cmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0})
+

cmd_raw_no_range_check

Sends a specified command without running conversions or performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target.

Ruby Syntax:

-
cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)
+
cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)

Python Syntax:

-
cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby Example:

-
cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")
cmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0)
+
cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")
cmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0)

Python Example:

-
cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")
cmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0})
-

cmd_raw_no_hazardous_check

+
cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0")
cmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0})
+

cmd_raw_no_hazardous_check

Sends a specified command without running conversions or performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands.

Ruby Syntax:

-
cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)
+
cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)

Python Syntax:

-
cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby / Python Example:

-
cmd_raw_no_hazardous_check("INST CLEAR")
cmd_raw_no_hazardous_check("INST", "CLEAR")
-

cmd_raw_no_checks

+
cmd_raw_no_hazardous_check("INST CLEAR")
cmd_raw_no_hazardous_check("INST", "CLEAR")
+

cmd_raw_no_checks

Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters.

Ruby Syntax:

-
cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)
+
cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...)

Python Syntax:

-
cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
-
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command
+
cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...")
cmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...})
+
ParameterDescription
Target NameName of the target this command is associated with.
Command NameName of this command. Also referred to as its mnemonic.
Param #x NameName of a command parameter. If there are no parameters then the 'with' keyword should not be given.
Param #x ValueValue of the command parameter. Values are automatically converted to the appropriate type.
timeoutOptional named parameter to change the default timeout value of 5 seconds
log_messageOptional named parameter to prevent logging of the command

Ruby Example:

-
cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")
cmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1)
+
cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")
cmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1)

Python Example:

-
cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")
cmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1})
-

build_cmd (since 5.13.0, since 5.8.0 as build_command)

+
cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1")
cmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1})
+

build_cmd (since 5.13.0, since 5.8.0 as build_command)

Builds a command binary string

Ruby Syntax:

-
build_cmd(<ARGS>, range_check: true, raw: false)
+
build_cmd(<ARGS>, range_check: true, raw: false)

Python Syntax:

-
build_cmd(<ARGS>, range_check=True, raw=False)
-
ParameterDescription
ARGSCommand parameters (see cmd)
range_checkWhether to perform range checking on the command. Default is true.
rawWhether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED.
+
build_cmd(<ARGS>, range_check=True, raw=False)
+
ParameterDescription
ARGSCommand parameters (see cmd)
range_checkWhether to perform range checking on the command. Default is true.
rawWhether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED.

Ruby Example:

-
x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
puts x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\x13\xE7\xC0\x00\x00\f\x00\x01\x00\x00A \x00\x00\xAB\x00\x00\x00\x00"}
+
x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
puts x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\x13\xE7\xC0\x00\x00\f\x00\x01\x00\x00A \x00\x00\xAB\x00\x00\x00\x00"}

Python Example:

-
x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
print(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\x13\xe7\xc0\x00\x00\x0c\x00\x01\x00\x00A \x00\x00\xab\x00\x00\x00\x00')}
-

send_raw

+
x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL")
print(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\x13\xe7\xc0\x00\x00\x0c\x00\x01\x00\x00A \x00\x00\xab\x00\x00\x00\x00')}
+

send_raw

Sends raw data on an interface.

Ruby / Python Syntax:

-
send_raw(<Interface Name>, <Data>)
-
ParameterDescription
Interface NameName of the interface to send the raw data on.
DataRaw ruby string of data to send.
+
send_raw(<Interface Name>, <Data>)
+
ParameterDescription
Interface NameName of the interface to send the raw data on.
DataRaw ruby string of data to send.

Ruby / Python Example:

-
send_raw("INST_INT", data)
-

get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)

+
send_raw("INST_INT", data)
+

get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)

Returns an array of the commands that are available for a particular target. The returned array is an array of hashes which fully describe the command packet.

Ruby / Python Syntax:

-
get_all_cmds("<Target Name>")
-
ParameterDescription
Target NameName of the target.
+
get_all_cmds("<Target Name>")
+
ParameterDescription
Target NameName of the target.

Ruby Example:

-
cmd_list = get_all_cmds("INST")
puts cmd_list #=>
# [{"target_name"=>"INST",
# "packet_name"=>"ABORT",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Aborts a collect on the instrument",
# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]
# ...
# }]
+
cmd_list = get_all_cmds("INST")
puts cmd_list #=>
# [{"target_name"=>"INST",
# "packet_name"=>"ABORT",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Aborts a collect on the instrument",
# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]
# ...
# }]

Python Example:

-
cmd_list = get_all_cmds("INST")
print(cmd_list) #=>
# [{'target_name': 'INST',
# 'packet_name': 'ABORT',
# 'endianness': 'BIG_ENDIAN',
# 'description': 'Aborts a collect on the INST instrument',
# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]
# ...
# }]
-

get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)

+
cmd_list = get_all_cmds("INST")
print(cmd_list) #=>
# [{'target_name': 'INST',
# 'packet_name': 'ABORT',
# 'endianness': 'BIG_ENDIAN',
# 'description': 'Aborts a collect on the INST instrument',
# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]
# ...
# }]
+

get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)

Returns an array of the command names for a particular target.

Ruby / Python Syntax:

-
get_all_cmd_names("<Target Name>")
-
ParameterDescription
Target NameName of the target
+
get_all_cmd_names("<Target Name>")
+
ParameterDescription
Target NameName of the target

Ruby Example:

-
cmd_list = get_all_cmd_names("INST")
puts cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]
+
cmd_list = get_all_cmd_names("INST")
puts cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]

Python Example:

-
cmd_list = get_all_cmd_names("INST")
print(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]
-

get_cmd (since 5.13.0, since 5.0.0 as get_command)

+
cmd_list = get_all_cmd_names("INST")
print(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...]
+

get_cmd (since 5.13.0, since 5.0.0 as get_command)

Returns a command hash which fully describes the command packet.

Ruby / Python Syntax:

-
get_cmd("<Target Name> <Packet Name>")
get_cmd("<Target Name>", "<Packet Name>")
-
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
+
get_cmd("<Target Name> <Packet Name>")
get_cmd("<Target Name>", "<Packet Name>")
+
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.

Ruby / Python Example:

-
abort_cmd = get_cmd("INST ABORT")
puts abort_cmd #=>
# [{"target_name"=>"INST",
# "packet_name"=>"ABORT",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Aborts a collect on the instrument",
# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]
# ...
# }]
+
abort_cmd = get_cmd("INST ABORT")
puts abort_cmd #=>
# [{"target_name"=>"INST",
# "packet_name"=>"ABORT",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Aborts a collect on the instrument",
# "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }]
# ...
# }]

Python Example:

-
abort_cmd = get_cmd("INST ABORT")
print(abort_cmd) #=>
# [{'target_name': 'INST',
# 'packet_name': 'ABORT',
# 'endianness': 'BIG_ENDIAN',
# 'description': 'Aborts a collect on the INST instrument',
# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]
# ...
# }]
-

get_param (since 5.13.0, since 5.0.0 as get_parameter)

+
abort_cmd = get_cmd("INST ABORT")
print(abort_cmd) #=>
# [{'target_name': 'INST',
# 'packet_name': 'ABORT',
# 'endianness': 'BIG_ENDIAN',
# 'description': 'Aborts a collect on the INST instrument',
# 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }]
# ...
# }]
+

get_param (since 5.13.0, since 5.0.0 as get_parameter)

Returns a hash of the given command parameter

Ruby / Python Syntax:

-
get_param("<Target Name> <Command Name> <Parameter Name>")
get_param("<Target Name>", "<Command Name>", "<Parameter Name>")
-
ParameterDescription
Target NameName of the target.
Command NameName of the command.
Parameter NameName of the parameter.
+
get_param("<Target Name> <Command Name> <Parameter Name>")
get_param("<Target Name>", "<Command Name>", "<Parameter Name>")
+
ParameterDescription
Target NameName of the target.
Command NameName of the command.
Parameter NameName of the parameter.

Ruby Example:

-
param = get_param("INST COLLECT TYPE")
puts param #=>
# {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT",
# "description"=>"Collect type which can be normal or special", "default"=>0,
# "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR",
# "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}}
+
param = get_param("INST COLLECT TYPE")
puts param #=>
# {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT",
# "description"=>"Collect type which can be normal or special", "default"=>0,
# "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR",
# "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}}

Python Example:

-
param = get_param("INST COLLECT TYPE")
print(param) #=>
# {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT',
# 'description': 'Collect type which can be normal or special', 'default': 0,
# 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR',
# 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}}
-

get_cmd_buffer

+
param = get_param("INST COLLECT TYPE")
print(param) #=>
# {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT',
# 'description': 'Collect type which can be normal or special', 'default': 0,
# 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR',
# 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}}
+

get_cmd_buffer

Returns a packet hash (similar to get_cmd) along with the raw packet buffer as a Ruby string.

Ruby / Python Syntax:

-
buffer = get_cmd_buffer("<Target Name> <Packet Name>")['buffer']
buffer = get_cmd_buffer("<Target Name>", "<Packet Name>")['buffer']
-
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
+
buffer = get_cmd_buffer("<Target Name> <Packet Name>")['buffer']
buffer = get_cmd_buffer("<Target Name>", "<Packet Name>")['buffer']
+
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.

Ruby Example:

-
packet = get_cmd_buffer("INST COLLECT")
puts packet #=>
# {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420",
# "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false",
# "buffer"=>"\x13\xE7\xC0\x00\x00\f\x00\x01\x00\x00@\xE0\x00\x00\xAB\x00\x00\x00\x00"}
+
packet = get_cmd_buffer("INST COLLECT")
puts packet #=>
# {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420",
# "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false",
# "buffer"=>"\x13\xE7\xC0\x00\x00\f\x00\x01\x00\x00@\xE0\x00\x00\xAB\x00\x00\x00\x00"}

Python Example:

-
packet = get_cmd_buffer("INST COLLECT")
print(packet) #=>
# {'time': '1697298923745982470', 'received_time': '1697298923745982470',
# 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false',
# 'buffer': bytearray(b'\x13\xe7\xc0\x00\x00\x0c\x00\x01\x00\x00@\xe0\x00\x00\xab\x00\x00\x00\x00')}
-

get_cmd_hazardous

+
packet = get_cmd_buffer("INST COLLECT")
print(packet) #=>
# {'time': '1697298923745982470', 'received_time': '1697298923745982470',
# 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false',
# 'buffer': bytearray(b'\x13\xe7\xc0\x00\x00\x0c\x00\x01\x00\x00@\xe0\x00\x00\xab\x00\x00\x00\x00')}
+

get_cmd_hazardous

Returns true/false indicating whether a particular command is flagged as hazardous.

Ruby / Python Syntax:

-
get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>)
-
ParameterDescription
Target NameName of the target.
Command NameName of the command.
Command ParamsHash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states.
+
get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>)
+
ParameterDescription
Target NameName of the target.
Command NameName of the command.
Command ParamsHash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states.

Ruby Example:

-
hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE' => 'SPECIAL'})
puts hazardous #=> true
+
hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE' => 'SPECIAL'})
puts hazardous #=> true

Python Example:

-
hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE': 'SPECIAL'})
print(hazardous) #=> True
-

get_cmd_value

-

Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported.

+
hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE': 'SPECIAL'})
print(hazardous) #=> True
+

get_cmd_value

+

Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported.

Ruby / Python Syntax:

-
get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>)
-
ParameterDescription
Target NameName of the target.
Command NameName of the command.
Parameter NameName of the command parameter.
Value TypeValue Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python
+
get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>)
+
ParameterDescription
Target NameName of the target.
Command NameName of the command.
Parameter NameName of the command parameter.
Value TypeValue Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python

Ruby Example:

-
value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW)
puts value #=> 0.0
+
value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW)
puts value #=> 0.0

Python Example:

-
value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW")
print(value) #=> 0.0
-

get_cmd_time

+
value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW")
print(value) #=> 0.0
+

get_cmd_time

Returns the time of the most recent command sent.

Ruby / Python Syntax:

-
get_cmd_time("<Target Name - optional>", "<Command Name - optional>")
-
ParameterDescription
Target NameName of the target. If not given, then the most recent command time to any target will be returned
Command NameName of the command. If not given, then the most recent command time to the given target will be returned
+
get_cmd_time("<Target Name - optional>", "<Command Name - optional>")
+
ParameterDescription
Target NameName of the target. If not given, then the most recent command time to any target will be returned
Command NameName of the command. If not given, then the most recent command time to the given target will be returned

Ruby / Python Example:

-
target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time
target_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time
target_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time
-

get_cmd_cnt

+
target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time
target_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time
target_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time
+

get_cmd_cnt

Returns the number of times a specified command has been sent.

Ruby / Python Syntax:

-
get_cmd_cnt("<Target Name> <Command Name>")
get_cmd_cnt("<Target Name>", "<Command Name>")
-
ParameterDescription
Target NameName of the target.
Command NameName of the command.
+
get_cmd_cnt("<Target Name> <Command Name>")
get_cmd_cnt("<Target Name>", "<Command Name>")
+
ParameterDescription
Target NameName of the target.
Command NameName of the command.

Ruby / Python Example:

-
cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent
-

Handling Telemetry

+
cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent
+

Handling Telemetry

These methods allow the user to interact with telemetry items.

-

check, check_raw, check_formatted, check_with_units

+

check, check_raw, check_formatted, check_with_units

Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check.

Ruby / Python Syntax:

-
check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>")
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
ComparisonA comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log.
+
check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>")
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
ComparisonA comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log.

Ruby Example:

-
check("INST HEALTH_STATUS COLLECTS > 1")
check_raw("INST HEALTH_STATUS COLLECTS > 1")
check_formatted("INST HEALTH_STATUS COLLECTS > 1")
check_with_units("INST HEALTH_STATUS COLLECTS > 1")
# Ruby passes type as symbol
check("INST HEALTH_STATUS COLLECTS > 1", type: :RAW)
+
check("INST HEALTH_STATUS COLLECTS > 1")
check_raw("INST HEALTH_STATUS COLLECTS > 1")
check_formatted("INST HEALTH_STATUS COLLECTS > 1")
check_with_units("INST HEALTH_STATUS COLLECTS > 1")
# Ruby passes type as symbol
check("INST HEALTH_STATUS COLLECTS > 1", type: :RAW)

Python Example:

-
check("INST HEALTH_STATUS COLLECTS > 1")
check_raw("INST HEALTH_STATUS COLLECTS > 1")
check_formatted("INST HEALTH_STATUS COLLECTS > 1")
check_with_units("INST HEALTH_STATUS COLLECTS > 1")
# Python passes type as string
check("INST HEALTH_STATUS COLLECTS > 1", type='RAW')
-

check_tolerance

+
check("INST HEALTH_STATUS COLLECTS > 1")
check_raw("INST HEALTH_STATUS COLLECTS > 1")
check_formatted("INST HEALTH_STATUS COLLECTS > 1")
check_with_units("INST HEALTH_STATUS COLLECTS > 1")
# Python passes type as string
check("INST HEALTH_STATUS COLLECTS > 1", type='RAW')
+

check_tolerance

Checks a converted telemetry item against an expected value with a tolerance. If the verification fails then the script will be paused with an error. Note: In most cases using wait_check_tolerance is a better choice than using check_tolerance.

Ruby / Python Syntax:

-
check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>)
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Expected ValueExpected value of the telemetry item.
Tolerance± Tolerance on the expected value.
typeCONVERTED (default) or RAW (Ruby symbol, Python string)
+
check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>)
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Expected ValueExpected value of the telemetry item.
Tolerance± Tolerance on the expected value.
typeCONVERTED (default) or RAW (Ruby symbol, Python string)

Ruby Example:

-
check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)
check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW)
+
check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)
check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW)

Python Example:

-
check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)
check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type='RAW')
-

check_expression

-

Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using wait_check_expression is a better choice than using check_expression.

+
check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0)
check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type='RAW')
+

check_expression

+

Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using wait_check_expression is a better choice than using check_expression.

Remember that everything inside the check_expression string will be evaluated directly and thus must be valid syntax. A common mistake is to check a variable like so (Ruby variable interpolation):

-

check_expression("#{answer} == 'yes'") # where answer contains 'yes'

-

This evaluates to yes == 'yes' which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows:

-

check_expression("'#{answer}' == 'yes'") # where answer contains 'yes'

-

Now this evaluates to 'yes' == 'yes' which is true so the check passes.

+

check_expression("#{answer} == 'yes'") # where answer contains 'yes'

+

This evaluates to yes == 'yes' which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows:

+

check_expression("'#{answer}' == 'yes'") # where answer contains 'yes'

+

Now this evaluates to 'yes' == 'yes' which is true so the check passes.

Ruby / Python Syntax:

-
check_expression("<Expression>")
-
ParameterDescription
ExpressionAn expression to evaluate.
+
check_expression("<Expression>")
+
ParameterDescription
ExpressionAn expression to evaluate.

Ruby / Python Example:

-
check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0")
-

check_exception

+
check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0")
+

check_exception

Executes a method and expects an exception to be raised. If the method does not raise an exception, a CheckError is raised.

Ruby / Python Syntax:

-
check_exception("<Method Name>", "<Method Params - optional>")
-
ParameterDescription
Method NameThe COSMOS scripting method to execute, e.g. 'cmd', etc.
Method ParamsParameters for the method
+
check_exception("<Method Name>", "<Method Params - optional>")
+
ParameterDescription
Method NameThe COSMOS scripting method to execute, e.g. 'cmd', etc.
Method ParamsParameters for the method

Ruby Example:

-
check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL")
+
check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL")

Python Example:

-
check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"})
-

tlm, tlm_raw, tlm_formatted, tlm_with_units

+
check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"})
+

tlm, tlm_raw, tlm_formatted, tlm_with_units

Reads the specified form of a telemetry item.

Ruby / Python Syntax:

-
tlm("<Target Name> <Packet Name> <Item Name>")
tlm("<Target Name>", "<Packet Name>", "<Item Name>")
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).
+
tlm("<Target Name> <Packet Name> <Item Name>")
tlm("<Target Name>", "<Packet Name>", "<Item Name>")
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).

Ruby Example:

-
value = tlm("INST HEALTH_STATUS COLLECTS")
value = tlm("INST", "HEALTH_STATUS", "COLLECTS")
value = tlm_raw("INST HEALTH_STATUS COLLECTS")
value = tlm_formatted("INST HEALTH_STATUS COLLECTS")
value = tlm_with_units("INST HEALTH_STATUS COLLECTS")
# Equivalent to tlm_raw
raw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW)
+
value = tlm("INST HEALTH_STATUS COLLECTS")
value = tlm("INST", "HEALTH_STATUS", "COLLECTS")
value = tlm_raw("INST HEALTH_STATUS COLLECTS")
value = tlm_formatted("INST HEALTH_STATUS COLLECTS")
value = tlm_with_units("INST HEALTH_STATUS COLLECTS")
# Equivalent to tlm_raw
raw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW)

Python Example:

-
value = tlm("INST HEALTH_STATUS COLLECTS")
value = tlm("INST", "HEALTH_STATUS", "COLLECTS")
value = tlm_raw("INST HEALTH_STATUS COLLECTS")
value = tlm_formatted("INST HEALTH_STATUS COLLECTS")
value = tlm_with_units("INST HEALTH_STATUS COLLECTS")
# Equivalent to tlm_raw
raw_value = tlm("INST HEALTH_STATUS COLLECTS", type='RAW')
-

get_tlm_buffer

+
value = tlm("INST HEALTH_STATUS COLLECTS")
value = tlm("INST", "HEALTH_STATUS", "COLLECTS")
value = tlm_raw("INST HEALTH_STATUS COLLECTS")
value = tlm_formatted("INST HEALTH_STATUS COLLECTS")
value = tlm_with_units("INST HEALTH_STATUS COLLECTS")
# Equivalent to tlm_raw
raw_value = tlm("INST HEALTH_STATUS COLLECTS", type='RAW')
+

get_tlm_buffer

Returns a packet hash (similar to get_tlm) along with the raw packet buffer.

Ruby / Python Syntax:

-
buffer = get_tlm_buffer("<Target Name> <Packet Name>")['buffer']
buffer = get_tlm_buffer("<Target Name>", "<Packet Name>")['buffer']
-
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
+
buffer = get_tlm_buffer("<Target Name> <Packet Name>")['buffer']
buffer = get_tlm_buffer("<Target Name>", "<Packet Name>")['buffer']
+
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.

Ruby / Python Example:

-
packet = get_tlm_buffer("INST HEALTH_STATUS")
packet['buffer']
-

get_tlm_packet

+
packet = get_tlm_buffer("INST HEALTH_STATUS")
packet['buffer']
+

get_tlm_packet

Returns the names, values, and limits states of all telemetry items in a specified packet. The value is returned as an array of arrays with each entry containing [item_name, item_value, limits_state].

Ruby / Python Syntax:

-
get_tlm_packet("<Target Name> <Packet Name>", <type>)
get_tlm_packet("<Target Name>", "<Packet Name>", <type>)
-
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string).
+
get_tlm_packet("<Target Name> <Packet Name>", <type>)
get_tlm_packet("<Target Name>", "<Packet Name>", <type>)
+
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string).

Ruby Example:

-
names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED)
+
names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED)

Python Example:

-
names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type='FORMATTED')
-

get_tlm_values (modified in 5.0.0)

+
names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type='FORMATTED')
+

get_tlm_values (modified in 5.0.0)

Returns the values and current limits state for a specified set of telemetry items. Items can be in any telemetry packet in the system. They can all be retrieved using the same value type or a specific value type can be specified for each item.

Ruby / Python Syntax:

-
values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>)
-
ParameterDescription
ItemsArray of strings of the form ['TGT__PKT__ITEM__TYPE', ... ]
+
values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>)
+
ParameterDescription
ItemsArray of strings of the form ['TGT__PKT__ITEM__TYPE', ... ]

Ruby / Python Example:

-
values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"])
print(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]]
-

get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)

+
values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"])
print(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]]
+

get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)

Returns an array of all target packet hashes.

Ruby / Python Syntax:

-
get_all_tlm("<Target Name>")
-
ParameterDescription
Target NameName of the target.
+
get_all_tlm("<Target Name>")
+
ParameterDescription
Target NameName of the target.

Ruby / Python Example:

-
packets = get_all_tlm("INST")
print(packets)
#[{"target_name"=>"INST",
# "packet_name"=>"ADCS",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Position and attitude data",
# "stale"=>true,
# "items"=>
# [{"name"=>"CCSDSVER",
# "bit_offset"=>0,
# "bit_size"=>3,
# ...
-

get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)

+
packets = get_all_tlm("INST")
print(packets)
#[{"target_name"=>"INST",
# "packet_name"=>"ADCS",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Position and attitude data",
# "stale"=>true,
# "items"=>
# [{"name"=>"CCSDSVER",
# "bit_offset"=>0,
# "bit_size"=>3,
# ...
+

get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)

Returns an array of all target packet names.

Ruby / Python Syntax:

-
get_all_tlm_names("<Target Name>")
-
ParameterDescription
Target NameName of the target
+
get_all_tlm_names("<Target Name>")
+
ParameterDescription
Target NameName of the target

Ruby / Python Example:

-
get_all_tlm_names("INST")  #=> ["ADCS", "HEALTH_STATUS", ...]
-

get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)

+
get_all_tlm_names("INST")  #=> ["ADCS", "HEALTH_STATUS", ...]
+

get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)

Returns a packet hash.

Ruby / Python Syntax:

-
get_tlm("<Target Name> <Packet Name>")
get_tlm("<Target Name>", "<Packet Name>")
-
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
+
get_tlm("<Target Name> <Packet Name>")
get_tlm("<Target Name>", "<Packet Name>")
+
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.

Ruby / Python Example:

-
packet = get_tlm("INST HEALTH_STATUS")
print(packet)
#{"target_name"=>"INST",
# "packet_name"=>"HEALTH_STATUS",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Health and status from the instrument",
# "stale"=>true,
# "processors"=>
# [{"name"=>"TEMP1STAT",
# "class"=>"OpenC3::StatisticsProcessor",
# "params"=>["TEMP1", 100, "CONVERTED"]},
# {"name"=>"TEMP1WATER",
# "class"=>"OpenC3::WatermarkProcessor",
# "params"=>["TEMP1", "CONVERTED"]}],
# "items"=>
# [{"name"=>"CCSDSVER",
# "bit_offset"=>0,
# "bit_size"=>3,
# ...
-

get_item (since 5.0.0)

+
packet = get_tlm("INST HEALTH_STATUS")
print(packet)
#{"target_name"=>"INST",
# "packet_name"=>"HEALTH_STATUS",
# "endianness"=>"BIG_ENDIAN",
# "description"=>"Health and status from the instrument",
# "stale"=>true,
# "processors"=>
# [{"name"=>"TEMP1STAT",
# "class"=>"OpenC3::StatisticsProcessor",
# "params"=>["TEMP1", 100, "CONVERTED"]},
# {"name"=>"TEMP1WATER",
# "class"=>"OpenC3::WatermarkProcessor",
# "params"=>["TEMP1", "CONVERTED"]}],
# "items"=>
# [{"name"=>"CCSDSVER",
# "bit_offset"=>0,
# "bit_size"=>3,
# ...
+

get_item (since 5.0.0)

Returns an item hash.

Ruby / Python Syntax:

-
get_item("<Target Name> <Packet Name> <Item Name>")
get_item("<Target Name>", "<Packet Name>", "<Item Name>")
-
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
Item NameName of the item.
+
get_item("<Target Name> <Packet Name> <Item Name>")
get_item("<Target Name>", "<Packet Name>", "<Item Name>")
+
ParameterDescription
Target NameName of the target.
Packet NameName of the packet.
Item NameName of the item.

Ruby / Python Example:

-
item = get_item("INST HEALTH_STATUS CCSDSVER")
print(item)
#{"name"=>"CCSDSVER",
# "bit_offset"=>0,
# "bit_size"=>3,
# "data_type"=>"UINT",
# "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)",
# "endianness"=>"BIG_ENDIAN",
# "required"=>false,
# "overflow"=>"ERROR"}
-

get_tlm_cnt

+
item = get_item("INST HEALTH_STATUS CCSDSVER")
print(item)
#{"name"=>"CCSDSVER",
# "bit_offset"=>0,
# "bit_size"=>3,
# "data_type"=>"UINT",
# "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)",
# "endianness"=>"BIG_ENDIAN",
# "required"=>false,
# "overflow"=>"ERROR"}
+

get_tlm_cnt

Returns the number of times a specified telemetry packet has been received.

Ruby / Python Syntax:

-
get_tlm_cnt("<Target Name> <Packet Name>")
get_tlm_cnt("<Target Name>", "<Packet Name>")
-
ParameterDescription
Target NameName of the target.
Packet NameName of the telemetry packet.
+
get_tlm_cnt("<Target Name> <Packet Name>")
get_tlm_cnt("<Target Name>", "<Packet Name>")
+
ParameterDescription
Target NameName of the target.
Packet NameName of the telemetry packet.

Ruby / Python Example:

-
tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received.
-

set_tlm

+
tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received.
+

set_tlm

Sets a telemetry item value in the Command and Telemetry Server. This value will be overwritten if a new packet is received from an interface. For that reason this method is most useful if interfaces are disconnected or for testing via the Script Runner disconnect mode. Manually setting telemetry values allows for the execution of many logical paths in scripts.

Ruby / Python Syntax:

-
set_tlm("<Target> <Packet> <Item> = <Value>", <type>)
-
ParameterDescription
TargetTarget name
PacketPacket name
ItemItem name
ValueValue to set
typeValue type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)
+
set_tlm("<Target> <Packet> <Item> = <Value>", <type>)
+
ParameterDescription
TargetTarget name
PacketPacket name
ItemItem name
ValueValue to set
typeValue type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)

Ruby Example:

-
set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default
check("INST HEALTH_STATUS COLLECTS == 5")
set_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW)
check("INST HEALTH_STATUS COLLECTS == 10", type: :RAW)
+
set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default
check("INST HEALTH_STATUS COLLECTS == 5")
set_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW)
check("INST HEALTH_STATUS COLLECTS == 10", type: :RAW)

Python Example:

-
set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default
check("INST HEALTH_STATUS COLLECTS == 5")
set_tlm("INST HEALTH_STATUS COLLECTS = 10", type='RAW')
check("INST HEALTH_STATUS COLLECTS == 10", type='RAW')
-

inject_tlm

+
set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default
check("INST HEALTH_STATUS COLLECTS == 5")
set_tlm("INST HEALTH_STATUS COLLECTS = 10", type='RAW')
check("INST HEALTH_STATUS COLLECTS == 10", type='RAW')
+

inject_tlm

Injects a packet into the system as if it was received from an interface.

Ruby / Packet Syntax:

-
inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>)
-
ParameterDescription
TargetTarget name
PacketPacket name
Item HashHash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil.
typeType of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)
+
inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>)
+
ParameterDescription
TargetTarget name
PacketPacket name
Item HashHash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil.
typeType of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string)

Ruby Example:

-
inject_tlm("INST", "PARAMS", {'VALUE1' => 5.0, 'VALUE2' => 7.0})
+
inject_tlm("INST", "PARAMS", {'VALUE1' => 5.0, 'VALUE2' => 7.0})

Python Example:

-
inject_tlm("INST", "PARAMS", {'VALUE1': 5.0, 'VALUE2': 7.0})
-

override_tlm

+
inject_tlm("INST", "PARAMS", {'VALUE1': 5.0, 'VALUE2': 7.0})
+

override_tlm

Sets the converted value for a telmetry point in the Command and Telemetry Server. This value will be maintained even if a new packet is received on the interface unless the override is canceled with the normalize_tlm method.

Ruby / Python Syntax:

-
override_tlm("<Target> <Packet> <Item> = <Value>", <type>)
-
ParameterDescription
TargetTarget name
PacketPacket name
ItemItem name
ValueValue to set
typeType to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)
+
override_tlm("<Target> <Packet> <Item> = <Value>", <type>)
+
ParameterDescription
TargetTarget name
PacketPacket name
ItemItem name
ValueValue to set
typeType to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)

Ruby Example:

-
override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5
override_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0
+
override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5
override_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0

Python Example:

-
override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5
override_tlm("INST HEALTH_STATUS TEMP2 = 0", type='RAW') # Only RAW tlm set to 0
-

normalize_tlm

+
override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5
override_tlm("INST HEALTH_STATUS TEMP2 = 0", type='RAW') # Only RAW tlm set to 0
+

normalize_tlm

Clears the override of a telmetry point in the Command and Telemetry Server.

Ruby / Python Syntax:

-
normalize_tlm("<Target> <Packet> <Item>", <type>)
-
ParameterDescription
TargetTarget name
PacketPacket name
ItemItem name
typeType to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)
+
normalize_tlm("<Target> <Packet> <Item>", <type>)
+
ParameterDescription
TargetTarget name
PacketPacket name
ItemItem name
typeType to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string)

Ruby Example:

-
normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides
normalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override
+
normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides
normalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override

Python Example:

-
normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides
normalize_tlm("INST HEALTH_STATUS TEMP1", type='RAW') # clear only the RAW override
-

get_overrides

+
normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides
normalize_tlm("INST HEALTH_STATUS TEMP1", type='RAW') # clear only the RAW override
+

get_overrides

Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm.

Ruby / Python Syntax:

-
get_overrides()
+
get_overrides()

Ruby Example:

-
override_tlm("INST HEALTH_STATUS TEMP1 = 5")
puts get_overrides() #=>
# [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5}
# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5}
# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"}
# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ]
+
override_tlm("INST HEALTH_STATUS TEMP1 = 5")
puts get_overrides() #=>
# [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5}
# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5}
# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"}
# {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ]

Python Example:

-
override_tlm("INST HEALTH_STATUS TEMP1 = 5")
print(get_overrides()) #=>
# [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5},
# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5},
# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'},
# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ]
-

Packet Data Subscriptions

+
override_tlm("INST HEALTH_STATUS TEMP1 = 5")
print(get_overrides()) #=>
# [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5},
# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5},
# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'},
# {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ]
+

Packet Data Subscriptions

Methods for subscribing to specific packets of data. This provides an interface to ensure that each telemetry packet is received and handled rather than relying on polling where some data may be missed.

-

subscribe_packets (since 5.0.3)

+

subscribe_packets (since 5.0.3)

Allows the user to listen for one or more telemetry packets of data to arrive. A unique id is returned which is used to retrieve the data.

Ruby / Python Syntax:

-
subscribe_packets(packets)
-
ParameterDescription
packetsNested array of target name/packet name pairs that the user wishes to subscribe to.
+
subscribe_packets(packets)
+
ParameterDescription
packetsNested array of target name/packet name pairs that the user wishes to subscribe to.

Ruby / Python Example:

-
id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
-

get_packets (since 5.0.3)

+
id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
+

get_packets (since 5.0.3)

Streams packet data from a previous subscription.

Ruby Syntax:

-
get_packets(id, block: nil, count: 1000)
+
get_packets(id, block: nil, count: 1000)

Python Syntax:

-
get_packets(id, block=None, count=1000)
-
ParameterDescription
idUnique id returned by subscribe_packets
blockNumber of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block)
countMaximum number of packets to return from EACH packet stream
+
get_packets(id, block=None, count=1000)
+
ParameterDescription
idUnique id returned by subscribe_packets
blockNumber of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block)
countMaximum number of packets to return from EACH packet stream

Ruby Example:

-
id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
wait 0.1
id, packets = get_packets(id)
packets.each do |packet|
puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}"
end
# Reuse ID from last call, allow for 1s wait, only get 1 packet
id, packets = get_packets(id, block: 1000, count: 1)
packets.each do |packet|
puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}"
end
+
id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
wait 0.1
id, packets = get_packets(id)
packets.each do |packet|
puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}"
end
# Reuse ID from last call, allow for 1s wait, only get 1 packet
id, packets = get_packets(id, block: 1000, count: 1)
packets.each do |packet|
puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}"
end

Python Example:

-
id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
wait(0.1)
id, packets = get_packets(id)
for packet in packets:
print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}")

# Reuse ID from last call, allow for 1s wait, only get 1 packet
id, packets = get_packets(id, block=1000, count=1)
for packet in packets:
print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}")
-

get_tlm_cnt

+
id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']])
wait(0.1)
id, packets = get_packets(id)
for packet in packets:
print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}")

# Reuse ID from last call, allow for 1s wait, only get 1 packet
id, packets = get_packets(id, block=1000, count=1)
for packet in packets:
print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}")
+

get_tlm_cnt

Get the receive count for a telemetry packet

Ruby / Python Syntax:

-
get_tlm_cnt("<Target> <Packet>")
get_tlm_cnt("<Target>", "<Packet>")
-
ParameterDescription
TargetTarget name
PacketPacket name
+
get_tlm_cnt("<Target> <Packet>")
get_tlm_cnt("<Target>", "<Packet>")
+
ParameterDescription
TargetTarget name
PacketPacket name

Ruby / Python Example:

-
get_tlm_cnt("INST HEALTH_STATUS")  #=> 10
-

get_tlm_cnts

+
get_tlm_cnt("INST HEALTH_STATUS")  #=> 10
+

get_tlm_cnts

Get the receive counts for an array of telemetry packets

Ruby / Python Syntax:

-
get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]])
-
ParameterDescription
TargetTarget name
PacketPacket name
+
get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]])
+
ParameterDescription
TargetTarget name
PacketPacket name

Ruby / Python Example:

-
get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]])  #=> [100, 10]
-

get_packet_derived_items

+
get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]])  #=> [100, 10]
+

get_packet_derived_items

Get the list of derived telemetry items for a packet

Ruby / Python Syntax:

-
get_packet_derived_items("<Target> <Packet>")
get_packet_derived_items("<Target>", "<Packet>")
-
ParameterDescription
TargetTarget name
PacketPacket name
+
get_packet_derived_items("<Target> <Packet>")
get_packet_derived_items("<Target>", "<Packet>")
+
ParameterDescription
TargetTarget name
PacketPacket name

Ruby / Python Example:

-
get_packet_derived_items("INST HEALTH_STATUS")  #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...]
-

Delays

+
get_packet_derived_items("INST HEALTH_STATUS")  #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...]
+

Delays

These methods allow the user to pause the script to wait for telemetry to change or for an amount of time to pass.

-

wait

+

wait

Pauses the script for a configurable amount of time (minimum 10ms) or until a converted telemetry item meets given criteria. It supports three different syntaxes as shown. If no parameters are given then an infinite wait occurs until the user presses Go. Note that on a timeout, wait does not stop the script, usually wait_check is a better choice.

Ruby / Python Syntax:

-
elapsed = wait() #=> Returns the actual time waited
elapsed = wait(<Time>) #=> Returns the actual time waited
-
ParameterDescription
TimeTime in Seconds to delay for.
+
elapsed = wait() #=> Returns the actual time waited
elapsed = wait(<Time>) #=> Returns the actual time waited
+
ParameterDescription
TimeTime in Seconds to delay for.

Ruby / Python Syntax:

-
# Returns true or false based on the whether the expression is true or false
success = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet)
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
ComparisonA comparison to perform against the telemetry item.
TimeoutTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).
quietNamed parameter indicating whether to log the result. Defaults to true.
+
# Returns true or false based on the whether the expression is true or false
success = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet)
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
ComparisonA comparison to perform against the telemetry item.
TimeoutTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).
quietNamed parameter indicating whether to log the result. Defaults to true.

Ruby Example:

-
elapsed = wait
elapsed = wait 5
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10)
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false)
+
elapsed = wait
elapsed = wait 5
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10)
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false)

Python Example:

-
elapsed = wait()
elapsed = wait(5)
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10)
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type='RAW', quiet=False)
-

wait_tolerance

+
elapsed = wait()
elapsed = wait(5)
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10)
success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type='RAW', quiet=False)
+

wait_tolerance

Pauses the script for a configurable amount of time or until a converted telemetry item meets equals an expected value within a tolerance. Note that on a timeout, wait_tolerance does not stop the script, usually wait_check_tolerance is a better choice.

Ruby Python Syntax:

-
# Returns true or false based on the whether the expression is true or false
success = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>)
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Expected ValueExpected value of the telemetry item.
Tolerance± Tolerance on the expected value.
TimeoutTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).
quietNamed parameter indicating whether to log the result. Defaults to true.
+
# Returns true or false based on the whether the expression is true or false
success = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>)
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Expected ValueExpected value of the telemetry item.
Tolerance± Tolerance on the expected value.
TimeoutTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).
quietNamed parameter indicating whether to log the result. Defaults to true.

Ruby Examples:

-
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true)
+
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true)

Python Examples:

-
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW', quiet=True)
-

wait_expression

-

Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually wait_check_expression is a better choice.

+
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW', quiet=True)
+

wait_expression

+

Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually wait_check_expression is a better choice.

Syntax:

-
# Returns true or false based on the whether the expression is true or false
success = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet)
-
ParameterDescription
ExpressionA ruby expression to evaluate.
TimeoutTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
quietNamed parameter indicating whether to log the result. Defaults to true.
+
# Returns true or false based on the whether the expression is true or false
success = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet)
+
ParameterDescription
ExpressionA ruby expression to evaluate.
TimeoutTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
quietNamed parameter indicating whether to log the result. Defaults to true.

Ruby / Python Example:

-
success = wait_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10)
-

wait_packet

+
success = wait_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10)
+

wait_packet

Pauses the script until a certain number of packets have been received. If a timeout occurs the script will continue. Note that on a timeout, wait_packet does not stop the script, usually wait_check_packet is a better choice.

Ruby / Python Syntax:

-
# Returns true or false based on the whether the packet was received
success = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)
-
ParameterDescription
TargetThe target name
PacketThe packet name
Num PacketsThe number of packets to receive
TimeoutTimeout in seconds.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
quietNamed parameter indicating whether to log the result. Defaults to true.
+
# Returns true or false based on the whether the packet was received
success = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)
+
ParameterDescription
TargetThe target name
PacketThe packet name
Num PacketsThe number of packets to receive
TimeoutTimeout in seconds.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
quietNamed parameter indicating whether to log the result. Defaults to true.

Ruby / Python Example:

-
success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s
-

wait_check

+
success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s
+

wait_check

Combines the wait and check keywords into one. This pauses the script until the converted value of a telemetry item meets given criteria or times out. On a timeout the script stops.

Ruby / Python Syntax:

-
# Returns the amount of time elapsed waiting for the expression
elapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type)
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
ComparisonA comparison to perform against the telemetry item.
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).
+
# Returns the amount of time elapsed waiting for the expression
elapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type)
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
ComparisonA comparison to perform against the telemetry item.
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).

Ruby Example:

-
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW)
+
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW)

Python Example:

-
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type='RAW')
-

wait_check_tolerance

+
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10)
elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type='RAW')
+

wait_check_tolerance

Pauses the script for a configurable amount of time or until a converted telemetry item equals an expected value within a tolerance. On a timeout the script stops.

Ruby / Python Syntax:

-
# Returns the amount of time elapsed waiting for the expression
elapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type)
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Expected ValueExpected value of the telemetry item.
Tolerance± Tolerance on the expected value.
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).
+
# Returns the amount of time elapsed waiting for the expression
elapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type)
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Expected ValueExpected value of the telemetry item.
Tolerance± Tolerance on the expected value.
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
typeNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string).

Ruby Example:

-
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW)
+
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW)

Python Example:

-
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW')
-

wait_check_expression

-

Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for check_expression.

+
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10)
elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW')
+

wait_check_expression

+

Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for check_expression.

Ruby / Python Syntax:

-
# Returns the amount of time elapsed waiting for the expression
elapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>)
-
ParameterDescription
ExpressionA ruby expression to evaluate.
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
+
# Returns the amount of time elapsed waiting for the expression
elapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>)
+
ParameterDescription
ExpressionA ruby expression to evaluate.
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.

Ruby / Python Example:

-
elapsed = wait_check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10)
-

wait_check_packet

+
elapsed = wait_check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10)
+

wait_check_packet

Pauses the script until a certain number of packets have been received. If a timeout occurs the script will stop.

Ruby / Python Syntax:

-
# Returns the amount of time elapsed waiting for the packets
elapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)
-
ParameterDescription
TargetThe target name
PacketThe packet name
Num PacketsThe number of packets to receive
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting specified number of packets.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
quietNamed parameter indicating whether to log the result. Defaults to true.
+
# Returns the amount of time elapsed waiting for the packets
elapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet)
+
ParameterDescription
TargetThe target name
PacketThe packet name
Num PacketsThe number of packets to receive
TimeoutTimeout in seconds. Script will stop if the wait statement times out waiting specified number of packets.
Polling RateHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified.
quietNamed parameter indicating whether to log the result. Defaults to true.

Ruby / Python Example:

-
elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s
-

Limits

+
elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s
+

Limits

These methods deal with handling telemetry limits.

-

limits_enabled?, limits_enabled

+

limits_enabled?, limits_enabled

The limits_enabled? method returns true/false depending on whether limits are enabled for a telemetry item.

Ruby Syntax:

-
limits_enabled?("<Target Name> <Packet Name> <Item Name>")
+
limits_enabled?("<Target Name> <Packet Name> <Item Name>")

Python Syntax:

-
limits_enabled("<Target Name> <Packet Name> <Item Name>")
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
+
limits_enabled("<Target Name> <Packet Name> <Item Name>")
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.

Ruby Example:

-
enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false
+
enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false

Python Example:

-
enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False
-

enable_limits

+
enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False
+

enable_limits

Enables limits monitoring for the specified telemetry item.

Ruby / Python Syntax:

-
enable_limits("<Target Name> <Packet Name> <Item Name>")
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
+
enable_limits("<Target Name> <Packet Name> <Item Name>")
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.

Ruby / Python Example:

-
enable_limits("INST HEALTH_STATUS TEMP1")
-

disable_limits

+
enable_limits("INST HEALTH_STATUS TEMP1")
+

disable_limits

Disables limits monitoring for the specified telemetry item.

Ruby / Python Syntax:

-
disable_limits("<Target Name> <Packet Name> <Item Name>")
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
+
disable_limits("<Target Name> <Packet Name> <Item Name>")
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.

Ruby / Python Example:

-
disable_limits("INST HEALTH_STATUS TEMP1")
-

enable_limits_group

+
disable_limits("INST HEALTH_STATUS TEMP1")
+

enable_limits_group

Enables limits monitoring on a set of telemetry items specified in a limits group.

Ruby / Python Syntax:

-
enable_limits_group("<Limits Group Name>")
-
ParameterDescription
Limits Group NameName of the limits group.
+
enable_limits_group("<Limits Group Name>")
+
ParameterDescription
Limits Group NameName of the limits group.

Ruby / Python Example:

-
enable_limits_group("SAFE_MODE")
-

disable_limits_group

+
enable_limits_group("SAFE_MODE")
+

disable_limits_group

Disables limits monitoring on a set of telemetry items specified in a limits group.

Ruby / Python Syntax:

-
disable_limits_group("<Limits Group Name>")
-
ParameterDescription
Limits Group NameName of the limits group.
+
disable_limits_group("<Limits Group Name>")
+
ParameterDescription
Limits Group NameName of the limits group.

Ruby / Python Example:

-
disable_limits_group("SAFE_MODE")
-

get_limits_groups

+
disable_limits_group("SAFE_MODE")
+

get_limits_groups

Returns the list of limits groups in the system.

Ruby / Python Syntax / Example:

-
limits_groups = get_limits_groups()
-

set_limits_set

+
limits_groups = get_limits_groups()
+

set_limits_set

Sets the current limits set. The default limits set is DEFAULT.

Ruby / Python Syntax:

-
set_limits_set("<Limits Set Name>")
-
ParameterDescription
Limits Set NameName of the limits set.
+
set_limits_set("<Limits Set Name>")
+
ParameterDescription
Limits Set NameName of the limits set.

Ruby / Python Example:

-
set_limits_set("DEFAULT")
-

get_limits_set

+
set_limits_set("DEFAULT")
+

get_limits_set

Returns the name of the current limits set. The default limits set is DEFAULT.

Ruby / Python Syntax / Example:

-
limits_set = get_limits_set()
-

get_limits_sets

+
limits_set = get_limits_set()
+

get_limits_sets

Returns the list of limits sets in the system.

Ruby / Python Syntax / Example:

-
limits_sets = get_limits_sets()
-

get_limits

+
limits_sets = get_limits_sets()
+

get_limits

Returns hash / dict of all the limits settings for a telemetry point.

Ruby / Python Syntax:

-
get_limits(<Target Name>, <Packet Name>, <Item Name>)
-
ParameterDescription
Target NameName of the target of the telemetry item
Packet NameName of the telemetry packet of the telemetry item
Item NameName of the telemetry item
+
get_limits(<Target Name>, <Packet Name>, <Item Name>)
+
ParameterDescription
Target NameName of the target of the telemetry item
Packet NameName of the telemetry packet of the telemetry item
Item NameName of the telemetry item

Ruby Example:

-
result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')
puts result #=> {"DEFAULT"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], "TVAC"=>[-80.0, -30.0, 30.0, 80.0]}
puts result.keys #=> ['DEFAULT', 'TVAC']
puts result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]
+
result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')
puts result #=> {"DEFAULT"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], "TVAC"=>[-80.0, -30.0, 30.0, 80.0]}
puts result.keys #=> ['DEFAULT', 'TVAC']
puts result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]

Python Example:

-
result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')
print(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]}
print(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC'])
print(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]
-

set_limits

+
result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1')
print(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]}
print(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC'])
print(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0]
+

set_limits

The set_limits_method sets limits settings for a telemetry point. Note: In most cases it would be better to update your config files or use different limits sets rather than changing limits settings in realtime.

Ruby / Python Syntax:

-
set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>)
-
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Red LowRed Low setting for this limits set. Any value below this value will be make the item red.
Yellow LowYellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow.
Yellow HighYellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow.
Red HighRed High setting for this limits set. Any value above this value will be make the item red.
Green LowOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value.
Green HighOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value.
Limits SetOptional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set.
PersistenceOptional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets.
EnabledOptional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets.
+
set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>)
+
ParameterDescription
Target NameName of the target of the telemetry item.
Packet NameName of the telemetry packet of the telemetry item.
Item NameName of the telemetry item.
Red LowRed Low setting for this limits set. Any value below this value will be make the item red.
Yellow LowYellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow.
Yellow HighYellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow.
Red HighRed High setting for this limits set. Any value above this value will be make the item red.
Green LowOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value.
Green HighOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value.
Limits SetOptional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set.
PersistenceOptional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets.
EnabledOptional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets.

Ruby / Python Example:

-
set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true)
-

get_out_of_limits

+
set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true)
+

get_out_of_limits

Returns an array with the target_name, packet_name, item_name, and limits_state of all items that are out of their limits ranges.

Ruby / Python Syntax / Example:

-
out_of_limits_items = get_out_of_limits()
-

get_overall_limits_state

-

Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'.

+
out_of_limits_items = get_out_of_limits()
+

get_overall_limits_state

+

Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'.

Ruby / Python Syntax:

-
get_overall_limits_state(<Ignored Items> (optional))
-
ParameterDescription
Ignored ItemsArray of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...]
+
get_overall_limits_state(<Ignored Items> (optional))
+
ParameterDescription
Ignored ItemsArray of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...]

Ruby / Python Example:

-
overall_limits_state = get_overall_limits_state()
overall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']])
-

get_limits_events

+
overall_limits_state = get_overall_limits_state()
overall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']])
+

get_limits_events

Returns limits events based on an offset returned from the last time it was called.

Ruby / Python Syntax:

-
get_limits_event(<Offset>, count)
-
ParameterDescription
OffsetOffset returned by the previous call to get_limits_event. Default is nil for the initial call
countNamed parameter specifying the maximum number of limits events to return. Default is 100
+
get_limits_event(<Offset>, count)
+
ParameterDescription
OffsetOffset returned by the previous call to get_limits_event. Default is nil for the initial call
countNamed parameter specifying the maximum number of limits events to return. Default is 100

Ruby / Python Example:

-
events = get_limits_event()
print(events)
#[["1613077715557-0",
# {"type"=>"LIMITS_CHANGE",
# "target_name"=>"TGT",
# "packet_name"=>"PKT",
# "item_name"=>"ITEM",
# "old_limits_state"=>"YELLOW_LOW",
# "new_limits_state"=>"RED_LOW",
# "time_nsec"=>"1",
# "message"=>"message"}],
# ["1613077715557-1",
# {"type"=>"LIMITS_CHANGE",
# "target_name"=>"TGT",
# "packet_name"=>"PKT",
# "item_name"=>"ITEM",
# "old_limits_state"=>"RED_LOW",
# "new_limits_state"=>"YELLOW_LOW",
# "time_nsec"=>"2",
# "message"=>"message"}]]
# The last offset is the first item ([0]) in the last event ([-1])
events = get_limits_event(events[-1][0])
print(events)
#[["1613077715657-0",
# {"type"=>"LIMITS_CHANGE",
# ...
-

Targets

+
events = get_limits_event()
print(events)
#[["1613077715557-0",
# {"type"=>"LIMITS_CHANGE",
# "target_name"=>"TGT",
# "packet_name"=>"PKT",
# "item_name"=>"ITEM",
# "old_limits_state"=>"YELLOW_LOW",
# "new_limits_state"=>"RED_LOW",
# "time_nsec"=>"1",
# "message"=>"message"}],
# ["1613077715557-1",
# {"type"=>"LIMITS_CHANGE",
# "target_name"=>"TGT",
# "packet_name"=>"PKT",
# "item_name"=>"ITEM",
# "old_limits_state"=>"RED_LOW",
# "new_limits_state"=>"YELLOW_LOW",
# "time_nsec"=>"2",
# "message"=>"message"}]]
# The last offset is the first item ([0]) in the last event ([-1])
events = get_limits_event(events[-1][0])
print(events)
#[["1613077715657-0",
# {"type"=>"LIMITS_CHANGE",
# ...
+

Targets

Methods for getting knowledge about targets.

-

get_target_names

+

get_target_names

Returns a list of the targets in the system in an array.

Ruby Syntax / Example:

-
targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED']
-

get_target

+
targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED']
+

get_target

Returns a target hash containing all the information about the target.

Ruby Syntax:

-
get_target("<Target Name>")
-
ParameterDescription
Target NameName of the target.
+
get_target("<Target Name>")
+
ParameterDescription
Target NameName of the target.

Ruby Example:

-
target = get_target("INST")
print(target)
#{"name"=>"INST",
# "folder_name"=>"INST",
# "requires"=>[],
# "ignored_parameters"=>
# ["CCSDSVER",
# "CCSDSTYPE",
# "CCSDSSHF",
# "CCSDSAPID",
# "CCSDSSEQFLAGS",
# "CCSDSSEQCNT",
# "CCSDSLENGTH",
# "PKTID"],
# "ignored_items"=>
# ["CCSDSVER",
# "CCSDSTYPE",
# "CCSDSSHF",
# "CCSDSAPID",
# "CCSDSSEQFLAGS",
# "CCSDSSEQCNT",
# "CCSDSLENGTH",
# "RECEIVED_COUNT",
# "RECEIVED_TIMESECONDS",
# "RECEIVED_TIMEFORMATTED"],
# "limits_groups"=>[],
# "cmd_tlm_files"=>
# [".../targets/INST/cmd_tlm/inst_cmds.txt",
# ".../targets/INST/cmd_tlm/inst_tlm.txt"],
# "cmd_unique_id_mode"=>false,
# "tlm_unique_id_mode"=>false,
# "id"=>nil,
# "updated_at"=>1613077058266815900,
# "plugin"=>nil}
-

get_target_interfaces

+
target = get_target("INST")
print(target)
#{"name"=>"INST",
# "folder_name"=>"INST",
# "requires"=>[],
# "ignored_parameters"=>
# ["CCSDSVER",
# "CCSDSTYPE",
# "CCSDSSHF",
# "CCSDSAPID",
# "CCSDSSEQFLAGS",
# "CCSDSSEQCNT",
# "CCSDSLENGTH",
# "PKTID"],
# "ignored_items"=>
# ["CCSDSVER",
# "CCSDSTYPE",
# "CCSDSSHF",
# "CCSDSAPID",
# "CCSDSSEQFLAGS",
# "CCSDSSEQCNT",
# "CCSDSLENGTH",
# "RECEIVED_COUNT",
# "RECEIVED_TIMESECONDS",
# "RECEIVED_TIMEFORMATTED"],
# "limits_groups"=>[],
# "cmd_tlm_files"=>
# [".../targets/INST/cmd_tlm/inst_cmds.txt",
# ".../targets/INST/cmd_tlm/inst_tlm.txt"],
# "cmd_unique_id_mode"=>false,
# "tlm_unique_id_mode"=>false,
# "id"=>nil,
# "updated_at"=>1613077058266815900,
# "plugin"=>nil}
+

get_target_interfaces

Returns the interfaces for all targets. The return value is an array of arrays where each subarray contains the target name, and a String of all the interface names.

Syntax / Example:

-
target_ints = get_target_interfaces()
target_ints.each do |target_name, interfaces|
puts "Target: #{target_name}, Interfaces: #{interfaces}"
end
-

Interfaces

+
target_ints = get_target_interfaces()
target_ints.each do |target_name, interfaces|
puts "Target: #{target_name}, Interfaces: #{interfaces}"
end
+

Interfaces

These methods allow the user to manipulate COSMOS interfaces.

-

get_interface (since 5.0.0)

+

get_interface (since 5.0.0)

Returns an interface status including the as built interface and its current status (cmd/tlm counters, etc).

Ruby / Python Syntax:

-
get_interface("<Interface Name>")
-
ParameterDescription
Interface NameName of the interface.
+
get_interface("<Interface Name>")
+
ParameterDescription
Interface NameName of the interface.

Ruby / Python Example:

-
interface = get_interface("INST_INT")
print(interface)
#{"name"=>"INST_INT",
# "config_params"=>["interface.rb"],
# "target_names"=>["INST"],
# "connect_on_startup"=>true,
# "auto_reconnect"=>true,
# "reconnect_delay"=>5.0,
# "disable_disconnect"=>false,
# "options"=>[],
# "protocols"=>[],
# "log"=>true,
# "log_raw"=>false,
# "plugin"=>nil,
# "updated_at"=>1613076213535979900,
# "state"=>"CONNECTED",
# "clients"=>0,
# "txsize"=>0,
# "rxsize"=>0,
# "txbytes"=>0,
# "rxbytes"=>0,
# "txcnt"=>0,
# "rxcnt"=>0}
-

get_interface_names

+
interface = get_interface("INST_INT")
print(interface)
#{"name"=>"INST_INT",
# "config_params"=>["interface.rb"],
# "target_names"=>["INST"],
# "connect_on_startup"=>true,
# "auto_reconnect"=>true,
# "reconnect_delay"=>5.0,
# "disable_disconnect"=>false,
# "options"=>[],
# "protocols"=>[],
# "log"=>true,
# "log_raw"=>false,
# "plugin"=>nil,
# "updated_at"=>1613076213535979900,
# "state"=>"CONNECTED",
# "clients"=>0,
# "txsize"=>0,
# "rxsize"=>0,
# "txbytes"=>0,
# "rxbytes"=>0,
# "txcnt"=>0,
# "rxcnt"=>0}
+

get_interface_names

Returns a list of the interfaces in the system in an array.

Ruby / Python Syntax / Example:

-
interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT']
-

connect_interface

+
interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT']
+

connect_interface

Connects to targets associated with a COSMOS interface.

Ruby / Python Syntax:

-
connect_interface("<Interface Name>", <Interface Parameters (optional)>)
-
ParameterDescription
Interface NameName of the interface.
Interface ParametersParameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file.
+
connect_interface("<Interface Name>", <Interface Parameters (optional)>)
+
ParameterDescription
Interface NameName of the interface.
Interface ParametersParameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file.

Ruby / Python Example:

-
connect_interface("INT1")
connect_interface("INT1", hostname, port)
-

disconnect_interface

+
connect_interface("INT1")
connect_interface("INT1", hostname, port)
+

disconnect_interface

Disconnects from targets associated with a COSMOS interface.

Ruby / Python Syntax:

-
disconnect_interface("<Interface Name>")
-
ParameterDescription
Interface NameName of the interface.
+
disconnect_interface("<Interface Name>")
+
ParameterDescription
Interface NameName of the interface.

Ruby / Python Example:

-
disconnect_interface("INT1")
-

start_raw_logging_interface

+
disconnect_interface("INT1")
+

start_raw_logging_interface

Starts logging of raw data on one or all interfaces. This is for debugging purposes only.

Ruby / Python Syntax:

-
start_raw_logging_interface("<Interface Name (optional)>")
-
ParameterDescription
Interface NameName of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data.
+
start_raw_logging_interface("<Interface Name (optional)>")
+
ParameterDescription
Interface NameName of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data.

Ruby / Python Example:

-
start_raw_logging_interface("int1")
-

stop_raw_logging_interface

+
start_raw_logging_interface("int1")
+

stop_raw_logging_interface

Stops logging of raw data on one or all interfaces. This is for debugging purposes only.

Ruby / Python Syntax:

-
stop_raw_logging_interface("<Interface Name (optional)>")
-
ParameterDescription
Interface NameName of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data.
+
stop_raw_logging_interface("<Interface Name (optional)>")
+
ParameterDescription
Interface NameName of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data.

Ruby / Python Example:

-
stop_raw_logging_interface("int1")
-

get_all_interface_info

+
stop_raw_logging_interface("int1")
+

get_all_interface_info

Returns information about all interfaces. The return value is an array of arrays where each subarray contains the interface name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, command count, and telemetry count.

Ruby Syntax / Example:

-
interface_info = get_all_interface_info()
interface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count|
puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"
puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"
puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}"
end
+
interface_info = get_all_interface_info()
interface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count|
puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"
puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"
puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}"
end

Python Syntax / Example:

-
interface_info = get_all_interface_info()
for interface in interface_info():
# [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count]
print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}")
print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}")
print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}")
-

map_target_to_interface

+
interface_info = get_all_interface_info()
for interface in interface_info():
# [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count]
print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}")
print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}")
print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}")
+

map_target_to_interface

Map a target to an interface allowing target commands and telemetry to be processed by that interface.

Ruby / Python Syntax:

-
map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old)
-
ParameterDescription
Target NameName of the target
Interface NameName of the interface
cmd_onlyNamed parameter whether to map target commands only to the interface (default: false)
tlm_onlyNamed parameter whether to map target telemetry only to the interface (default: false)
unmap_oldNamed parameter whether remove the target from all existing interfaces (default: true)
+
map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old)
+
ParameterDescription
Target NameName of the target
Interface NameName of the interface
cmd_onlyNamed parameter whether to map target commands only to the interface (default: false)
tlm_onlyNamed parameter whether to map target telemetry only to the interface (default: false)
unmap_oldNamed parameter whether remove the target from all existing interfaces (default: true)

Ruby Example:

-
map_target_to_interface("INST", "INST_INT", unmap_old: false)
+
map_target_to_interface("INST", "INST_INT", unmap_old: false)

Python Example:

-
map_target_to_interface("INST", "INST_INT", unmap_old=False)
-

interface_cmd

+
map_target_to_interface("INST", "INST_INT", unmap_old=False)
+

interface_cmd

Send a command directly to an interface. This has no effect in the standard COSMOS interfaces but can be implemented by a custom interface to change behavior.

Ruby / Python Syntax:

-
interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")
-
ParameterDescription
Interface NameName of the interface
Command NameName of the command to send
Command ParametersAny parameters to send with the command
+
interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")
+
ParameterDescription
Interface NameName of the interface
Command NameName of the command to send
Command ParametersAny parameters to send with the command

Ruby / Python Example:

-
interface_cmd("INST", "DISABLE_CRC")
-

interface_protocol_cmd

+
interface_cmd("INST", "DISABLE_CRC")
+

interface_protocol_cmd

Send a command directly to an interface protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior.

Ruby / Python Syntax:

-
interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")
-
ParameterDescription
Interface NameName of the interface
Command NameName of the command to send
Command ParametersAny parameters to send with the command
read_writeWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE.
indexWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all.
+
interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>")
+
ParameterDescription
Interface NameName of the interface
Command NameName of the command to send
Command ParametersAny parameters to send with the command
read_writeWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE.
indexWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all.

Ruby Example:

-
interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)
+
interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)

Python Example:

-
interface_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1)
-

Routers

+
interface_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1)
+

Routers

These methods allow the user to manipulate COSMOS routers.

-

connect_router

+

connect_router

Connects a COSMOS router.

Ruby / Python Syntax:

-
connect_router("<Router Name>", <Router Parameters (optional)>)
-
ParameterDescription
Router NameName of the router.
Router ParametersParameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file.
+
connect_router("<Router Name>", <Router Parameters (optional)>)
+
ParameterDescription
Router NameName of the router.
Router ParametersParameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file.

Ruby / Python Example:

-
connect_ROUTER("INST_ROUTER")
connect_router("INST_ROUTER", 7779, 7779, nil, 10.0, 'PREIDENTIFIED')
-

disconnect_router

+
connect_ROUTER("INST_ROUTER")
connect_router("INST_ROUTER", 7779, 7779, nil, 10.0, 'PREIDENTIFIED')
+

disconnect_router

Disconnects a COSMOS router.

Ruby / Python Syntax:

-
disconnect_router("<Router Name>")
-
ParameterDescription
Router NameName of the router.
+
disconnect_router("<Router Name>")
+
ParameterDescription
Router NameName of the router.

Ruby / Python Example:

-
disconnect_router("INT1_ROUTER")
-

get_router_names

+
disconnect_router("INT1_ROUTER")
+

get_router_names

Returns a list of the routers in the system in an array.

Ruby / Python Syntax / Example:

-
router_names = get_router_names() #=> ['ROUTER_INT']
-

get_router (since 5.0.0)

+
router_names = get_router_names() #=> ['ROUTER_INT']
+

get_router (since 5.0.0)

Returns a router status including the as built router and its current status (cmd/tlm counters, etc).

Ruby / Python Syntax:

-
get_router("<Router Name>")
-
ParameterDescription
Router NameName of the router.
+
get_router("<Router Name>")
+
ParameterDescription
Router NameName of the router.

Ruby / Python Example:

-
router = get_router("ROUTER_INT")
print(router)
#{"name"=>"ROUTER_INT",
# "config_params"=>["router.rb"],
# "target_names"=>["INST"],
# "connect_on_startup"=>true,
# "auto_reconnect"=>true,
# "reconnect_delay"=>5.0,
# "disable_disconnect"=>false,
# "options"=>[],
# "protocols"=>[],
# "log"=>true,
# "log_raw"=>false,
# "plugin"=>nil,
# "updated_at"=>1613076213535979900,
# "state"=>"CONNECTED",
# "clients"=>0,
# "txsize"=>0,
# "rxsize"=>0,
# "txbytes"=>0,
# "rxbytes"=>0,
# "txcnt"=>0,
# "rxcnt"=>0}
-

get_all_router_info

+
router = get_router("ROUTER_INT")
print(router)
#{"name"=>"ROUTER_INT",
# "config_params"=>["router.rb"],
# "target_names"=>["INST"],
# "connect_on_startup"=>true,
# "auto_reconnect"=>true,
# "reconnect_delay"=>5.0,
# "disable_disconnect"=>false,
# "options"=>[],
# "protocols"=>[],
# "log"=>true,
# "log_raw"=>false,
# "plugin"=>nil,
# "updated_at"=>1613076213535979900,
# "state"=>"CONNECTED",
# "clients"=>0,
# "txsize"=>0,
# "rxsize"=>0,
# "txbytes"=>0,
# "rxbytes"=>0,
# "txcnt"=>0,
# "rxcnt"=>0}
+

get_all_router_info

Returns information about all routers. The return value is an array of arrays where each subarray contains the router name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, packets received, and packets sent.

Ruby Syntax / Example:

-
router_info = get_all_router_info()
router_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent|
puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"
puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"
puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}"
end
+
router_info = get_all_router_info()
router_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent|
puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}"
puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}"
puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}"
end

Python Syntax / Example:

-
router_info = get_all_router_info()
# router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent
for router in router_info:
print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}")
print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}")
print(f"Packets received: {router[7]}, Packets sent: {router[8]}")
-

start_raw_logging_router

+
router_info = get_all_router_info()
# router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent
for router in router_info:
print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}")
print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}")
print(f"Packets received: {router[7]}, Packets sent: {router[8]}")
+

start_raw_logging_router

Starts logging of raw data on one or all routers. This is for debugging purposes only.

Ruby / Python Syntax:

-
start_raw_logging_router("<Router Name (optional)>")
-
ParameterDescription
Router NameName of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data.
+
start_raw_logging_router("<Router Name (optional)>")
+
ParameterDescription
Router NameName of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data.

Ruby / Python Example:

-
start_raw_logging_router("router1")
-

stop_raw_logging_router

+
start_raw_logging_router("router1")
+

stop_raw_logging_router

Stops logging of raw data on one or all routers. This is for debugging purposes only.

Ruby / Python Syntax:

-
stop_raw_logging_router("<Router Name (optional)>")
-
ParameterDescription
Router NameName of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data.
+
stop_raw_logging_router("<Router Name (optional)>")
+
ParameterDescription
Router NameName of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data.

Ruby / Python Example:

-
stop_raw_logging_router("router1")
-

router_cmd

+
stop_raw_logging_router("router1")
+

router_cmd

Send a command directly to a router. This has no effect in the standard COSMOS routers but can be implemented by a custom router to change behavior.

Ruby / Python Syntax:

-
router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>")
-
ParameterDescription
Router NameName of the router
Command NameName of the command to send
Command ParametersAny parameters to send with the command
+
router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>")
+
ParameterDescription
Router NameName of the router
Command NameName of the command to send
Command ParametersAny parameters to send with the command

Ruby / Python Example:

-
router_cmd("INST", "DISABLE_CRC")
-

router_protocol_cmd

+
router_cmd("INST", "DISABLE_CRC")
+

router_protocol_cmd

Send a command directly to an router protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior.

Ruby / Python Syntax:

-
router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index)
-
ParameterDescription
Router NameName of the router
Command NameName of the command to send
Command ParametersAny parameters to send with the command
read_writeWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE.
indexWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all.
+
router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index)
+
ParameterDescription
Router NameName of the router
Command NameName of the command to send
Command ParametersAny parameters to send with the command
read_writeWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE.
indexWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all.

Ruby Example:

-
router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)
+
router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1)

Python Example:

-
router_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1)
-

Stashing Data

+
router_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1)
+

Stashing Data

These methods allow the user to store temporary data into COSMOS and retrieve it. The storage is implemented as a key / value storage (Ruby hash or Python dict). This can be used in scripts to store information that applies across multiple scripts or multiple runs of a single script.

-

stash_set

+

stash_set

Sets a stash item.

Ruby / Python Syntax:

-
stash_set("<Stash Key>", <Stash Value>)
-
ParameterDescription
Stash KeyName of the stash key to set
Stash ValueValue to set
+
stash_set("<Stash Key>", <Stash Value>)
+
ParameterDescription
Stash KeyName of the stash key to set
Stash ValueValue to set

Ruby / Python Example:

-
stash_set('run_count', 5)
stash_set('setpoint', 23.4)
-

stash_get

+
stash_set('run_count', 5)
stash_set('setpoint', 23.4)
+

stash_get

Returns the specified stash item.

Ruby / Python Syntax:

-
stash_get("<Stash Key>")
-
ParameterDescription
Stash KeyName of the stash key to return
+
stash_get("<Stash Key>")
+
ParameterDescription
Stash KeyName of the stash key to return

Ruby / Python Example:

-
stash_get('run_count')  #=> 5
-

stash_all

+
stash_get('run_count')  #=> 5
+

stash_all

Returns all the stash items as a Ruby hash or Python dict.

Ruby Syntax / Example:

-
stash_all()  #=> ['run_count' => 5, 'setpoint' => 23.4]
+
stash_all()  #=> ['run_count' => 5, 'setpoint' => 23.4]

Python Syntax / Example:

-
stash_all()  #=> ['run_count': 5, 'setpoint': 23.4]
-

stash_keys

+
stash_all()  #=> ['run_count': 5, 'setpoint': 23.4]
+

stash_keys

Returns all the stash keys.

Ruby / Python Syntax / Example:

-
stash_keys()  #=> ['run_count', 'setpoint']
-

stash_delete

+
stash_keys()  #=> ['run_count', 'setpoint']
+

stash_delete

Deletes a stash item. Note this actions is permanent!

Ruby / Python Syntax:

-
stash_delete("<Stash Key>")
-
ParameterDescription
Stash KeyName of the stash key to delete
+
stash_delete("<Stash Key>")
+
ParameterDescription
Stash KeyName of the stash key to delete

Ruby / Python Example:

-
stash_delete("run_count")
-

Executing Other Procedures

+
stash_delete("run_count")
+

Executing Other Procedures

These methods allow the user to bring in files of subroutines and execute other test procedures.

-

start

+

start

Starts execution of another high level test procedure. No parameters can be given to high level test procedures. If parameters are necessary, then consider using a subroutine.

Syntax:

-
start("<Procedure Filename>")
-
ParameterDescription
Procedure FilenameName of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported.
+
start("<Procedure Filename>")
+
ParameterDescription
Procedure FilenameName of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported.

Example:

-
start("test1.rb")
-

load_utility

-

Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement.

+
start("test1.rb")
+

load_utility

+

Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement.

Ruby / Python Syntax:

-
load_utility("TARGET/lib/<Utility Filename>")
-
ParameterDescription
Utility FilenameName of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb
+
load_utility("TARGET/lib/<Utility Filename>")
+
ParameterDescription
Utility FilenameName of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb

Example:

-
load_utility("TARGET/lib/mode_changes.rb") # Ruby
load_utility("TARGET/lib/mode_changes.py") # Python
-

Opening, Closing & Creating Telemetry Screens

+
load_utility("TARGET/lib/mode_changes.rb") # Ruby
load_utility("TARGET/lib/mode_changes.py") # Python
+

Opening, Closing & Creating Telemetry Screens

These methods allow the user to open, close or create unique telemetry screens from within a test procedure.

-

display_screen

+

display_screen

Opens a telemetry screen at the specified position.

Ruby / Python Syntax:

-
display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>)
-
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target
X PositionX coordinate for the upper left hand corner of the screen
Y PositionY coordinate for the upper left hand corner of the screen
+
display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>)
+
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target
X PositionX coordinate for the upper left hand corner of the screen
Y PositionY coordinate for the upper left hand corner of the screen

Ruby / Python Example:

-
display_screen("INST", "ADCS", 100, 200)
-

clear_screen

+
display_screen("INST", "ADCS", 100, 200)
+

clear_screen

Closes an open telemetry screen.

Ruby / Python Syntax:

-
clear_screen("<Target Name>", "<Screen Name>")
-
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target
+
clear_screen("<Target Name>", "<Screen Name>")
+
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target

Ruby / Python Example:

-
clear_screen("INST", "ADCS")
-

clear_all_screens

+
clear_screen("INST", "ADCS")
+

clear_all_screens

Closes all open screens.

Ruby / Python Syntax / Example:

-
clear_all_screens()
-

delete_screen

+
clear_all_screens()
+

delete_screen

Deletes an existing Telemetry Viewer screen.

Ruby / Python Syntax:

-
delete_screen("<Target Name>", "<Screen Name>")
-
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target
+
delete_screen("<Target Name>", "<Screen Name>")
+
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target

Ruby / Python Example:

-
delete_screen("INST", "ADCS")
-

get_screen_list

+
delete_screen("INST", "ADCS")
+

get_screen_list

The get_screen_list returns a list of available telemetry screens.

Ruby / Python Syntax / Example:

-
get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...]
-

get_screen_definition

+
get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...]
+

get_screen_definition

The get_screen_definition returns the text file contents of a telemetry screen definition.

Syntax:

-
get_screen_definition("<Target Name>", "<Screen Name>")
-
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target
+
get_screen_definition("<Target Name>", "<Screen Name>")
+
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target

Ruby / Python Example:

-
screen_definition = get_screen_definition("INST", "HS")
-

create_screen

+
screen_definition = get_screen_definition("INST", "HS")
+

create_screen

The create_screen allows you to create a screen directly from a script. This screen is saved to Telemetry Viewer for future use in that application.

Python / Ruby Syntax:

-
create_screen("<Target Name>", "<Screen Name>" "<Definition>")
-
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target
DefinitionThe entire screen definition as a String
+
create_screen("<Target Name>", "<Screen Name>" "<Definition>")
+
ParameterDescription
Target NameTelemetry screen target name
Screen NameScreen name within the specified target
DefinitionThe entire screen definition as a String

Ruby Example:

-
screen_def = '
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "New Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
'
# Here we pass in the screen definition as a string
create_screen("INST", "LOCAL", screen_def)
+
screen_def = '
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "New Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
'
# Here we pass in the screen definition as a string
create_screen("INST", "LOCAL", screen_def)

Python Example:

-
screen_def = '
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "New Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
'
# Here we pass in the screen definition as a string
create_screen("INST", "LOCAL", screen_def)
-

local_screen

+
screen_def = '
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "New Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
'
# Here we pass in the screen definition as a string
create_screen("INST", "LOCAL", screen_def)
+

local_screen

The local_screen allows you to create a local screen directly from a script which is not permanently saved to the Telemetry Viewer screen list. This is useful for one off screens that help users interact with scripts.

Python / Ruby Syntax:

-
local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>)
-
ParameterDescription
Screen NameScreen name within the specified target
DefinitionThe entire screen definition as a String
X PositionX coordinate for the upper left hand corner of the screen
Y PositionY coordinate for the upper left hand corner of the screen
+
local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>)
+
ParameterDescription
Screen NameScreen name within the specified target
DefinitionThe entire screen definition as a String
X PositionX coordinate for the upper left hand corner of the screen
Y PositionY coordinate for the upper left hand corner of the screen

NOTE: It is possible to specify a X, Y location off the visible display. If you do so and try to re-create the screen it will not display (because it is already displayed). Try issuing a clear_all_screens() first to clear any screens off the visible display space.

Ruby Example:

-
screen_def = '
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "Local Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
'
# Here we pass in the screen definition as a string
local_screen("TESTING", screen_def, 600, 75)
+
screen_def = '
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "Local Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
'
# Here we pass in the screen definition as a string
local_screen("TESTING", screen_def, 600, 75)

Python Example:

-
screen_def = """
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "Local Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
"""
# Here we pass in the screen definition as a string
local_screen("TESTING", screen_def, 600, 75)
-

Script Runner Settings

+
screen_def = """
SCREEN AUTO AUTO 0.1 FIXED
VERTICAL
TITLE "Local Screen"
VERTICALBOX
LABELVALUE INST HEALTH_STATUS TEMP1
END
END
"""
# Here we pass in the screen definition as a string
local_screen("TESTING", screen_def, 600, 75)
+

Script Runner Settings

These methods allow the user to control various Script Runner settings.

-

set_line_delay

+

set_line_delay

This method sets the line delay in script runner.

Ruby / Python Syntax:

-
set_line_delay(<Delay>)
-
ParameterDescription
DelayThe amount of time script runner will wait between lines when executing a script, in seconds. Should be ≥ 0.0
+
set_line_delay(<Delay>)
+
ParameterDescription
DelayThe amount of time script runner will wait between lines when executing a script, in seconds. Should be ≥ 0.0

Ruby / Python Example:

-
set_line_delay(0.0)
-

get_line_delay

+
set_line_delay(0.0)
+

get_line_delay

The method gets the line delay that script runner is currently using.

Ruby / Python Syntax / Example:

-
curr_line_delay = get_line_delay()
-

set_max_output

+
curr_line_delay = get_line_delay()
+

set_max_output

This method sets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters.

Ruby / Python Syntax:

-
set_max_output(<Characters>)
-
ParameterDescription
CharactersNumber of characters to output before truncating
+
set_max_output(<Characters>)
+
ParameterDescription
CharactersNumber of characters to output before truncating

Ruby / Python Example:

-
set_max_output(100)
-

get_max_output

+
set_max_output(100)
+

get_max_output

The method gets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters.

Ruby / Python Syntax / Example:

-
print(get_max_output()) #=> 50000
-

disable_instrumentation

+
print(get_max_output()) #=> 50000
+

disable_instrumentation

Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented. Consider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script.

-
Use with Caution

Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop.

+
Use with Caution

Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop.

Ruby Syntax / Example:

-
disable_instrumentation do
1000.times do
# Don't want this to have to highlight 1000 times
end
end
+
disable_instrumentation do
1000.times do
# Don't want this to have to highlight 1000 times
end
end

Python Syntax / Example:

-
with disable_instrumentation():
for x in range(1000):
# Don't want this to have to highlight 1000 times
-

Script Runner Suites

-

Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see running script suites.

-

add_group, add_group_setup, add_group_teardown, add_script

-

Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'.

-

Ruby / Python Syntax:

-
add_group(<Group Class>)
add_group_setup(<Group Class>)
add_group_teardown(<Group Class>)
add_script(<Group Class>, <Method>)
-
ParameterDescription
Group ClassName of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly.
MethodName of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly.
+
with disable_instrumentation():
for x in range(1000):
# Don't want this to have to highlight 1000 times
+

Script Runner Suites

+

Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see running script suites.

+

add_group, add_group_setup, add_group_teardown, add_script

+

Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'.

+

Ruby / Python Syntax:

+
add_group(<Group Class>)
add_group_setup(<Group Class>)
add_group_teardown(<Group Class>)
add_script(<Group Class>, <Method>)
+
ParameterDescription
Group ClassName of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly.
MethodName of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly.

Ruby Example:

-
load 'openc3/script/suite.rb'

class ExampleGroup < OpenC3::Group
def script_1
# Insert test code here ...
end
end
class WrapperGroup < OpenC3::Group
def setup
# Insert test code here ...
end
def my_method
# Insert test code here ...
end
def teardown
# Insert test code here ...
end
end

class MySuite < OpenC3::Suite
def initialize
super()
add_group('ExampleGroup')
add_group_setup('WrapperGroup')
add_script('WrapperGroup', 'my_method')
add_group_teardown('WrapperGroup')
end
end
+
load 'openc3/script/suite.rb'

class ExampleGroup < OpenC3::Group
def script_1
# Insert test code here ...
end
end
class WrapperGroup < OpenC3::Group
def setup
# Insert test code here ...
end
def my_method
# Insert test code here ...
end
def teardown
# Insert test code here ...
end
end

class MySuite < OpenC3::Suite
def initialize
super()
add_group('ExampleGroup')
add_group_setup('WrapperGroup')
add_script('WrapperGroup', 'my_method')
add_group_teardown('WrapperGroup')
end
end

Python Example:

-
from openc3.script import *
from openc3.script.suite import Group, Suite

class ExampleGroup(Group):
def script_1(self):
# Insert test code here ...
pass
class WrapperGroup(Group):
def setup(self):
# Insert test code here ...
pass
def my_method(self):
# Insert test code here ...
pass
def teardown(self):
# Insert test code here ...
pass
class MySuite(Suite):
def __init__(self):
super().__init__()
self.add_group(ExampleGroup)
self.add_group_setup(WrapperGroup)
self.add_script(WrapperGroup, 'my_method')
self.add_group_teardown(WrapperGroup)
-

Script Runner Debugging

+
from openc3.script import *
from openc3.script.suite import Group, Suite

class ExampleGroup(Group):
def script_1(self):
# Insert test code here ...
pass
class WrapperGroup(Group):
def setup(self):
# Insert test code here ...
pass
def my_method(self):
# Insert test code here ...
pass
def teardown(self):
# Insert test code here ...
pass
class MySuite(Suite):
def __init__(self):
super().__init__()
self.add_group(ExampleGroup)
self.add_group_setup(WrapperGroup)
self.add_script(WrapperGroup, 'my_method')
self.add_group_teardown(WrapperGroup)
+

Script Runner Debugging

These methods allow the user to debug scripts with ScriptRunner.

-

step_mode

+

step_mode

Places ScriptRunner into step mode where Go must be hit to proceed to the next line.

Ruby / Python Syntax / Example:

-
step_mode()
-

run_mode

+
step_mode()
+

run_mode

Places ScriptRunner into run mode where the next line is run automatically.

Ruby / Python Syntax / Example:

-
run_mode()
-

disconnect_script

+
run_mode()
+

disconnect_script

Puts scripting into disconnect mode. In disconnect mode, commands are not sent to targets, checks are all successful, and waits expire instantly. Requests for telemetry (tlm()) typically return 0. Disconnect mode is useful for dry-running scripts without having connected targets.

Ruby / Python Syntax / Example:

-
disconnect_script()
-

Metadata

+
disconnect_script()
+

Metadata

Metadata allows you to mark the regular target / packet data logged in COSMOS with your own fields. This metadata can then be searched and used to filter data when using other COSMOS tools.

-

metadata_all

+

metadata_all

Returns all the metadata that was previously set

Ruby / Python Syntax:

-
metadata_all()
-
ParameterDescription
limitAmount of metadata items to return. Default is 100.
+
metadata_all()
+
ParameterDescription
limitAmount of metadata items to return. Default is 100.

Ruby Example:

-
metadata_all(limit: 500)
+
metadata_all(limit: 500)

Python Example:

-
metadata_all(limit='500')
-

metadata_get

+
metadata_all(limit='500')
+

metadata_get

Returns metadata that was previously set

Ruby / Python Syntax:

-
metadata_get(start)
-
ParameterDescription
startNamed parameter, time at which to retrieve metadata as integer seconds from epoch
+
metadata_get(start)
+
ParameterDescription
startNamed parameter, time at which to retrieve metadata as integer seconds from epoch

Ruby Example:

-
metadata_get(start: 500)
+
metadata_get(start: 500)

Python Example:

-
metadata_get(start='500')
-

metadata_set

+
metadata_get(start='500')
+

metadata_set

Returns metadata that was previously set

Ruby / Python Syntax:

-
metadata_set(<Metadata>, start, color)
-
ParameterDescription
MetadataHash or dict of key value pairs to store as metadata.
startNamed parameter, time at which to store metadata. Default is now.
colorNamed parameter, color to display metadata in the calendar. Default is #003784.
+
metadata_set(<Metadata>, start, color)
+
ParameterDescription
MetadataHash or dict of key value pairs to store as metadata.
startNamed parameter, time at which to store metadata. Default is now.
colorNamed parameter, color to display metadata in the calendar. Default is #003784.

Ruby Example:

-
metadata_set({ 'key' => 'value' })
metadata_set({ 'key' => 'value' }, color: '#ff5252')
+
metadata_set({ 'key' => 'value' })
metadata_set({ 'key' => 'value' }, color: '#ff5252')

Python Example:

-
metadata_set({ 'key': 'value' })
metadata_set({ 'key': 'value' }, color='ff5252')
-

metadata_update

+
metadata_set({ 'key': 'value' })
metadata_set({ 'key': 'value' }, color='ff5252')
+

metadata_update

Updates metadata that was previously set

Ruby / Python Syntax:

-
metadata_update(<Metadata>, start, color)
-
ParameterDescription
MetadataHash or dict of key value pairs to update as metadata.
startNamed parameter, time at which to update metadata. Default is latest metadata.
colorNamed parameter, color to display metadata in the calendar. Default is #003784.
+
metadata_update(<Metadata>, start, color)
+
ParameterDescription
MetadataHash or dict of key value pairs to update as metadata.
startNamed parameter, time at which to update metadata. Default is latest metadata.
colorNamed parameter, color to display metadata in the calendar. Default is #003784.

Ruby Example:

-
metadata_update({ 'key' => 'value' })
+
metadata_update({ 'key' => 'value' })

Python Example:

-
metadata_update({ 'key': 'value' })
-

metadata_input

+
metadata_update({ 'key': 'value' })
+

metadata_input

Prompts the user to set existing metadata values or create new a new one.

Ruby / Python Syntax / Example:

-
metadata_input()
-

Settings

+
metadata_input()
+

Settings

COSMOS has several settings typically accessed through the Admin Settings tab. These APIs allow programmatic access to those same settings.

-

list_settings

+

list_settings

Return all the current COSMOS setting name. These are the names that should be used in the other APIs.

Ruby Syntax / Example:

-
puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"]
+
puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"]

Python Syntax / Example:

-
print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version']
-

get_all_settings

+
print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version']
+

get_all_settings

Return all the current COSMOS settings along with their values.

Ruby Syntax / Example:

-
puts get_all_settings() #=>
# { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507},
# "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007},
# "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465},
# "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} }
+
puts get_all_settings() #=>
# { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507},
# "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007},
# "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465},
# "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} }

Python Syntax / Example:

-
print(get_all_settings()) #=>
# { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507},
# 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007},
# 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465},
# 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} }
-

get_setting, get_settings

+
print(get_all_settings()) #=>
# { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507},
# 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007},
# 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465},
# 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} }
+

get_setting, get_settings

Return the data from the given COSMOS setting. Returns nil (Ruby) or None (Python) if the setting does not exist.

Ruby / Python Syntax:

-
get_setting(<Setting Name>)
get_settings(<Setting Name1>, <Setting Name2>, ...)
-
ParameterDescription
Setting NameName of the setting to return
+
get_setting(<Setting Name>)
get_settings(<Setting Name1>, <Setting Name2>, ...)
+
ParameterDescription
Setting NameName of the setting to return

Ruby Example:

-
puts get_setting('version') #=> "5.11.4-beta0"
puts get_settings('version', 'rubygems_url') #=> ["5.11.4-beta0", "https://rubygems.org"]
+
puts get_setting('version') #=> "5.11.4-beta0"
puts get_settings('version', 'rubygems_url') #=> ["5.11.4-beta0", "https://rubygems.org"]

Python Example:

-
print(get_setting('version')) #=> '5.11.4-beta0'
print(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org']
-

set_setting

+
print(get_setting('version')) #=> '5.11.4-beta0'
print(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org']
+

set_setting

Sets the given setting value.

-
Admin Passwork Required

This API is only accessible externally (not within Script Runner) and requires the admin password.

+
Admin Passwork Required

This API is only accessible externally (not within Script Runner) and requires the admin password.

Ruby / Python Syntax:

-
set_setting(<Setting Name>, <Setting Value>)
-
ParameterDescription
Setting NameName of the setting to change
Setting ValueSetting value to set
+
set_setting(<Setting Name>, <Setting Value>)
+
ParameterDescription
Setting NameName of the setting to change
Setting ValueSetting value to set

Ruby Example:

-
set_setting('rubygems_url', 'https://mygemserver')
puts get_settings('rubygems_url') #=> "https://mygemserver"
+
set_setting('rubygems_url', 'https://mygemserver')
puts get_settings('rubygems_url') #=> "https://mygemserver"

Python Example:

-
set_setting('pypi_url', 'https://mypypiserver')
print(get_settings('pypi_url')) #=> 'https://mypypiserver'
-

Configuration

+
set_setting('pypi_url', 'https://mypypiserver')
print(get_settings('pypi_url')) #=> 'https://mypypiserver'
+

Configuration

Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration.

-

config_tool_names

+

config_tool_names

List all the configuration tool names which are used as the first parameter in the other APIs.

Ruby Syntax / Example:

-
names = config_tool_names()
pp names #=> ["telemetry_grapher", "data_viewer"]
+
names = config_tool_names()
pp names #=> ["telemetry_grapher", "data_viewer"]

Python Syntax / Example:

-
names = config_tool_names()
print(names) #=> ['telemetry_grapher', 'data_viewer']
-

list_configs

+
names = config_tool_names()
print(names) #=> ['telemetry_grapher', 'data_viewer']
+

list_configs

List all the saved configuration names under the given tool name.

Ruby / Python Syntax:

-
list_configs(<Tool Name>)
-
ParameterDescription
Tool NameName of the tool to retrieve configuration names from
+
list_configs(<Tool Name>)
+
ParameterDescription
Tool NameName of the tool to retrieve configuration names from

Ruby Example:

-
configs = list_configs('telemetry_grapher')
pp configs #=> ['adcs', 'temps']
+
configs = list_configs('telemetry_grapher')
pp configs #=> ['adcs', 'temps']

Python Example:

-
configs = list_configs('telemetry_grapher')
print(configs) #=> ['adcs', 'temps']
-

load_config

+
configs = list_configs('telemetry_grapher')
print(configs) #=> ['adcs', 'temps']
+

load_config

Load a particular tool configuration.

-
Tool Configuration

Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys.

+
Tool Configuration

Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys.

Ruby / Python Syntax:

-
load_config(<Tool Name>, <Configuration Name>)
-
ParameterDescription
Tool NameName of the tool
Configuration NameName of the configuration
+
load_config(<Tool Name>, <Configuration Name>)
+
ParameterDescription
Tool NameName of the tool
Configuration NameName of the configuration

Ruby / Python Example:

-
config = load_config('telemetry_grapher', 'adcs')
print(config) #=>
# [ {
# "items": [
# {
# "targetName": "INST",
# "packetName": "ADCS",
# "itemName": "CCSDSVER",
# ...
-

save_config

+
config = load_config('telemetry_grapher', 'adcs')
print(config) #=>
# [ {
# "items": [
# {
# "targetName": "INST",
# "packetName": "ADCS",
# "itemName": "CCSDSVER",
# ...
+

save_config

Save a particular tool configuration.

Ruby / Python Syntax:

-
save_config(<Tool Name>, <Configuration Name>, local_mode)
-
ParameterDescription
Tool NameName of the tool
Configuration NameName of the configuration
local_modeWhether to save the configuration in local mode
+
save_config(<Tool Name>, <Configuration Name>, local_mode)
+
ParameterDescription
Tool NameName of the tool
Configuration NameName of the configuration
local_modeWhether to save the configuration in local mode

Ruby / Python Example:

-
save_config('telemetry_grapher', 'adcs', config)
-

delete_config

+
save_config('telemetry_grapher', 'adcs', config)
+

delete_config

Delete a particular tool configuration.

Ruby / Python Syntax:

-
delete_config(<Tool Name>, <Configuration Name>, local_mode)
-
ParameterDescription
Tool NameName of the tool
Configuration NameName of the configuration
local_modeWhether to delete the configuration in local mode
+
delete_config(<Tool Name>, <Configuration Name>, local_mode)
+
ParameterDescription
Tool NameName of the tool
Configuration NameName of the configuration
local_modeWhether to delete the configuration in local mode

Ruby / Python Example:

-
delete_config('telemetry_grapher', 'adcs')
- - \ No newline at end of file +
delete_config('telemetry_grapher', 'adcs')
\ No newline at end of file diff --git a/docs/docs/meta.html b/docs/docs/meta.html index 1772e2bb08..17e0f2aafa 100644 --- a/docs/docs/meta.html +++ b/docs/docs/meta.html @@ -1,13 +1 @@ - - - - - -Meta | OpenC3 Docs - - - - - - - \ No newline at end of file +Meta | OpenC3 Docs \ No newline at end of file diff --git a/docs/docs/meta/contributing.html b/docs/docs/meta/contributing.html index dd13d3154b..f6c91553e8 100644 --- a/docs/docs/meta/contributing.html +++ b/docs/docs/meta/contributing.html @@ -1,52 +1,40 @@ - - - - - -Contributing | OpenC3 Docs - - - - -

Contributing

So you've got an awesome idea to throw into COSMOS. Great! This is the basic process:

+Contributing | OpenC3 Docs

Contributing

So you've got an awesome idea to throw into COSMOS. Great! This is the basic process:

  1. Fork the project on Github
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request
-
Don't Forget the Contributor License Agreement!

By contributing to this project, you accept our Contributor License Agreement which is found here: Contributor License Agreement

This protects both you and us and you retain full rights to any code you write.

-

Test Dependencies

-

To run the test suite and build the gem you'll need to install COSMOS's +

Don't Forget the Contributor License Agreement!

By contributing to this project, you accept our Contributor License Agreement which is found here: Contributor License Agreement

This protects both you and us and you retain full rights to any code you write.

+

Test Dependencies

+

To run the test suite and build the gem you'll need to install COSMOS's dependencies. COSMOS uses Bundler, so a quick run of the bundle command and -you're all set!

-
\$ bundle
+you're all set!

+
\$ bundle

Before you start, run the tests and make sure that they pass (to confirm your environment is configured properly):

-
\$ bundle exec rake build spec
-

Workflow

-

Here's the most direct way to get your work merged into the project:

+
\$ bundle exec rake build spec
+

Workflow

+

Here's the most direct way to get your work merged into the project:

  • Fork the project.
  • Clone down your fork:
-
git clone git://github.com/<username>/openc3.git
+
git clone git://github.com/<username>/openc3.git
  • Create a topic branch to contain your change:
-
git checkout -b my_awesome_feature
+
git checkout -b my_awesome_feature
  • Hack away, add tests. Not necessarily in that order.
  • Make sure everything still passes by running bundle exec rake.
  • If necessary, rebase your commits into logical chunks, without errors.
  • Push the branch up:
-
git push origin my_awesome_feature
+
git push origin my_awesome_feature
  • Create a pull request against openc3/cosmos:main and describe what your change does and the why you think it should be merged.
-
Find a problem in the code or documentation?

Please create an issue on -GitHub describing what we can do to make it better.

- - \ No newline at end of file +
Find a problem in the code or documentation?

Please create an issue on +GitHub describing what we can do to make it better.

\ No newline at end of file diff --git a/docs/docs/meta/licenses.html b/docs/docs/meta/licenses.html index 0b6a384bf0..d5c0f88c1a 100644 --- a/docs/docs/meta/licenses.html +++ b/docs/docs/meta/licenses.html @@ -1,16 +1,6 @@ - - - - - -Licenses | OpenC3 Docs - - - - -

Licenses

OpenC3 COSMOS is offered under a tri-licensing model allowing users to choose between the following three options:

-

AGPLv3

-

This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: OpenC3 AGPLv3

+Licenses | OpenC3 Docs

Licenses

OpenC3 COSMOS is offered under a tri-licensing model allowing users to choose between the following three options:

+

AGPLv3

+

This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: OpenC3 AGPLv3

Obviously, the actual license text applies, but here is a short summary:

  • @@ -47,17 +37,17 @@

    AGPLv3Evaluation and Education Use Only

    -

    This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: CFDP Plugin

    +

    Evaluation and Education Use Only

    +

    This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: CFDP Plugin

    You can read the whole license here:

    -
    # OpenC3 Evaluation and Educational License
    #
    # Copyright 2023 OpenC3, Inc.
    #
    # This work is licensed for evaluation and educational purposes only.
    # It may NOT be used for formal development, integration and test, operations
    # or any other commercial purpose without the purchase of a commercial license
    # from OpenC3, Inc.
    #
    # The above copyright notice and this permission notice shall be included in all copies
    # or substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
    # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -

    This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license.

    -

    Commercial License

    +
    # OpenC3 Evaluation and Educational License
    #
    # Copyright 2023 OpenC3, Inc.
    #
    # This work is licensed for evaluation and educational purposes only.
    # It may NOT be used for formal development, integration and test, operations
    # or any other commercial purpose without the purchase of a commercial license
    # from OpenC3, Inc.
    #
    # The above copyright notice and this permission notice shall be included in all copies
    # or substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
    # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +

    This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license.

    +

    Commercial License

    This license is a signed contract with OpenC3. It allows use of our code for a program under contractual terms where you do not have to follow the AGPLv3.

    Generally we license to a specific project with terms that allow for unlimited users, and installs as needed by that project. Any code and plugins that you develop under the commercial license can be kept proprietary.

    These licenses are sold as yearly subscriptions, or as a non-expiring perpetual license. We also offer site licenses, and licenses to support unlimited missions on a government framework architecture.

    Of course with our commercial license, you also get all the extra functionality of our Enterprise product.

    -

    Why you should buy a Commercial License

    +

    Why you should buy a Commercial License

    1. You want to save years and tens of millions of dollars developing the same functionality yourself.

      @@ -73,14 +63,14 @@

      Enterprise page

    2. +
    3. Lots more - See our Enterprise page
  • -

    You don't want to follow the AGPLv3

    +

    You don't want to follow the AGPLv3

    1. You want to keep the code and plugins you develop proprietary
    2. -
    3. You don't want to publish an accessible link to your source code
    4. +
    5. You don't want to publish an accessible link to your source code
  • @@ -88,11 +78,11 @@

    FAQs

    +

    FAQs

    1. -

      I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean?

      -

      OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3.

      +

      I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean?

      +

      OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3.

    2. What are the limits of the COSMOS Enterprise Edition? How many users can we have? How many times can it be installed?

      @@ -104,12 +94,10 @@

      FAQs
    3. How is the COSMOS Enterprise Edition license applied? Per company? Per program?

      -

      COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at sales@openc3.com for more information.

      +

      COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at sales@openc3.com for more information.

    4. Do you license to foreign companies? How do you handle ITAR or the EAR?

      -

      We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at sales@openc3.com for more information.

      +

      We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at sales@openc3.com for more information.

    5. -

- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/meta/philosophy.html b/docs/docs/meta/philosophy.html index 524023b2f4..f427a907d6 100644 --- a/docs/docs/meta/philosophy.html +++ b/docs/docs/meta/philosophy.html @@ -1,14 +1,4 @@ - - - - - -Philosophy | OpenC3 Docs - - - - -

Philosophy

COSMOS is a C3 (Command, Control and Communication) system with the following primary goals:

+Philosophy | OpenC3 Docs

Philosophy

COSMOS is a C3 (Command, Control and Communication) system with the following primary goals:

  1. Interface with Anything

    @@ -20,7 +10,7 @@
  2. Open Architecture and Source

    -

    Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation.

    +

    Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation.

  3. Be Modular

    @@ -34,6 +24,4 @@

    Empower Developers

    COSMOS is meant to be easy enough to be used by everyone, not just C2 software experts.

  4. -
- - \ No newline at end of file +
\ No newline at end of file diff --git a/docs/docs/meta/xtce.html b/docs/docs/meta/xtce.html index dca180c89a..540c190d9e 100644 --- a/docs/docs/meta/xtce.html +++ b/docs/docs/meta/xtce.html @@ -1,23 +1,13 @@ - - - - - -XTCE Support | OpenC3 Docs - - - - -

XTCE Support

COSMOS now has support for the XTCE Command and Telemetry Definition Standard. This is an open standard designed to allow command and telemetry definitions to be transferred between different ground systems. COSMOS can run directly using the .xtce files, or can convert them into the COSMOS configuration file format.

-

Running COSMOS using an .xtce definition file

-

A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions.

-

Converting a .xtce file into a COSMOS configuration

+XTCE Support | OpenC3 Docs

XTCE Support

COSMOS now has support for the XTCE Command and Telemetry Definition Standard. This is an open standard designed to allow command and telemetry definitions to be transferred between different ground systems. COSMOS can run directly using the .xtce files, or can convert them into the COSMOS configuration file format.

+

Running COSMOS using an .xtce definition file

+

A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions.

+

Converting a .xtce file into a COSMOS configuration

Use the following command to convert a .xtce file into COSMOS configuration files. The converted configuration files will be placed into a target folder in the given output directory.

-
openc3.bat cli xtce_converter --import <xtce_filename> --output <output_dir>
-

Converting a COSMOS Configuration to XTCE

+
openc3.bat cli xtce_converter --import <xtce_filename> --output <output_dir>
+

Converting a COSMOS Configuration to XTCE

Use the following command to convert your openc3 plugin into .xtce files, one per target. The converted .xtce files will be placed into a target folder in the given output directory.

-
openc3.bat cli xtce_converter --plugin <plugin.gem> --output <output_dir>
-

High-level Overview of Current Support

+
openc3.bat cli xtce_converter --plugin <plugin.gem> --output <output_dir>
+

High-level Overview of Current Support

  1. Integer, Float, Enumerated, String, and Binary Parameter/Argument Types are Supported
  2. All DataEncodings are supported
  3. @@ -29,7 +19,7 @@

    Supported Elements and Attributes

    +

    Supported Elements and Attributes

    The following elements and associated attributes are currently supported.

    • SpaceSystem
    • @@ -62,7 +52,7 @@

      Ignored Elements

      +

      Ignored Elements

      The following elements are simply ignored by COSMOS:

      • Header
      • AliasSet
      • Alias
      -

      Unsupported Elements

      +

      Unsupported Elements

      Any elements not listed above are currently unsupported. Near term support for the following elements and features are planned and priority will be determined by user requests.

      • SplineCalibrator
      • @@ -105,6 +95,4 @@

        Unsuppo
      • Additional Data Types
      • Container References
      -

      If there is a particular element or feature you need supported please submit a ticket on Github.

- - \ No newline at end of file +

If there is a particular element or feature you need supported please submit a ticket on Github.

\ No newline at end of file diff --git a/docs/docs/privacy.html b/docs/docs/privacy.html index 18d54aa212..bbfe4c0519 100644 --- a/docs/docs/privacy.html +++ b/docs/docs/privacy.html @@ -1,15 +1,5 @@ - - - - - -OpenC3, Inc. Privacy Policy | OpenC3 Docs - - - - -

OpenC3, Inc. Privacy Policy

OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR.

-

Our Commitment

+OpenC3, Inc. Privacy Policy | OpenC3 Docs

OpenC3, Inc. Privacy Policy

OpenC3 Inc. is strongly committed to protecting your privacy and complying with your choices. Both personal and non-personal information collected is safeguarded according to the highest privacy and data protection standards adopted worldwide. We have always had a robust and effective data protection program in place which complies with existing law and abides by the data protection principles. However, we recognise our obligations in updating and expanding this program to meet the demands of the GDPR.

+

Our Commitment

• Your information will not be shared, rented or sold to any third party. • We use state-of-the-art security measures to protect your information from unauthorized users. • We give you the possibility to control the information that you shared with us (opt-out)

@@ -21,48 +11,46 @@

Our Commitmen

d. accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay;

e. kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and

f. processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.”

-

1. Notice

-

We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services.

-

2. Usage

+

1. Notice

+

We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services.

+

2. Usage

We use your personal information for the following purposes: • To provide you information that will allow you to use our services • To automatically customize your documents with your information • To alert you of software upgrades, updates, discounts or other services from OpenC3, Inc.

-

We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers.

+

We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers.

We may also collect your name, language, currency, operating system, document searched and country information for a better experience with our products/services.

When you place your order with us, we collect your email in order to communicate with you. We also collect your phone number in order to contact you in case these emails bounce back because of a typo in your email address and if we cannot figure out what the correct email address is.

We also contact the phone number that is provided if we suspect that the cardholder’s credit card information has been compromised, i.e used in a fraudulent way.

We also use our clients’ email in order to notify of the release of updated versions of the software, new services or promotional offers.

- +

When you provide your personal information, you consent that it can be used for the above purposes and that OpenC3, Inc. is an authorized holder of such information. If you choose not to register or provide personal information, you can still use our website but you will not be able to receive additional services or access certain areas that require registration. When you activate your account, you are providing your consent to occasionally receive information from us. In each communication from us you will have the opportunity to unsubscribe from further communications; alternatively, you may contact us to express your choices at the address provided at the bottom of this page.

-

4. Access to your information

+

4. Access to your information

You are entitled to review the personal information you have provided us and ensure that it is accurate and current at all times. To review or update this information simply request that we send you this information.

-

5. Security of information

+

5. Security of information

OpenC3, Inc. is strongly committed to protecting your information and ensuring that your choices are honored. We have taken strong security measures to protect your data from loss, misuse, unauthorized access, disclosure, alteration, or destruction. All sensitive data is stored behind multiple firewalls on secure servers with restricted employee access.

We guarantee that all e-commerce transactions follow the latest security measures and use the best available technologies. Secure Sockets Layer (SSL) technology is employed when you place online orders or transmit sensitive information. SSL is one of the safest methods of passing information over the Internet.

-

6. Retention of information

+

6. Retention of information

We retain information as long as it is necessary to provide the services requested by you and others, subject to any legal obligations to further retain such information. Information associated with your account will generally be kept until it is no longer necessary to provide the services or until you ask us to delete it or your account is deleted whichever comes first. Additionally, we may retain information from deleted accounts to comply with the law, prevent fraud, resolve disputes, troubleshoot problems, assist with investigations, enforce the Terms of Use, and take other actions permitted by law. The information we retain will be handled in accordance with this Privacy Policy. Finally, your data could also be stored for sales statistical purposes.

-

7. EU and EEA Users’ Rights

+

7. EU and EEA Users’ Rights

If you are habitually located in the European Union or European Economic Area, you have the right to access, rectify, download or erase your information, as well as the right to restrict and object to certain processing of your information. While some of these rights apply generally, certain rights apply only in certain limited circumstances. We describe these rights below:

You have the right to access your personal data and, if necessary, have it amended or deleted or restricted. In certain instances, you may have the right to the portability of your data. You can also ask us to not send marketing communications and not to use your personal data when we carry out profiling for direct marketing purposes. You can opt out of receiving email newsletters and other marketing communications by following the opt-out instructions provided to you in those emails. Transactional account messages will be unaffected if you opt-out from marketing communications.

-

8. What we do with the Information you share

+

8. What we do with the Information you share

Your information is never shared outside the company without your permission. Inside the company, data is stored behind multiple firewalls on secure servers with restricted user access.

When you register to our website, you are asked to provide your contact information, including a valid email address. We use this information to send you updates about order confirmations and information about our services. When you order from us, we ask for your credit card number and billing address. We use this information only to bill you for the product(s) you ordered at that time.

We may on occasion require the help of other companies to provide limited services on our behalf, such as packaging, shipping and delivery, customer support and processing event registrations. We will only provide such companies with the information required for them to perform these services; these service providers are bound by strict privacy policies and are prohibited from using your information for any other purpose.

In very rare instances OpenC3, Inc. may disclose your personal information, without notice, only if required to do so by law or in the good faith belief that such action is necessary to: (a) conform to the edicts of the law or comply with legal process served on OpenC3, Inc. or the site; (b) protect and defend the rights or property of OpenC3, Inc. and its family of websites and properties; and (c) act in urgent circumstances to protect the personal safety of users of OpenC3, Inc., its websites, or the public.

-

9. How to opt-out

+

9. How to opt-out

We provide users with the opportunity to opt-out from receiving updates on our products, newsletters and other communications from us. You can opt-out by clicking on the link provided in our electronic mailings or by contacting us at the address at the bottom of this page.

-

10. Does OpenC3 Inc's privacy policy apply to linked websites?

+

10. Does OpenC3 Inc's privacy policy apply to linked websites?

Our Privacy Policy applies solely to information collected on our website or through interactions with our company. The Site contains links to web sites of third parties. OpenC3, Inc. is not responsible for the actions of these third parties, including their privacy practices and any content posted on their web sites. We encourage you to review their privacy policies to learn more about what, why and how they collect and use personal information. OpenC3, Inc. adheres to industry recognized standards to secure any personal information in our possession, and to secure it from unauthorized access and tampering.

However, as is true with all online actions, it is possible that third parties may unlawfully intercept transmissions of personal information, or other users of the Site may misuse or abuse your personal information that they may collect from the Site.

-

11. Changes to this policy

+

11. Changes to this policy

If we make changes to our Privacy Policy, we will post these changes here so that you are always aware of what information we collect, how we use it and under what circumstances, if any, we disclose it. If at any point we decide to use your information in a manner different from that stated at the time it was collected, we will notify you by email.

-

12. Enforcement of policy

+

12. Enforcement of policy

If for some reason you believe OpenC3, Inc. has not adhered to these principles, please notify us and we will do our best to promptly make corrections.

-

13. Questions or comments

-

If you have questions or comments about this privacy policy, please email us at: support@openc3.com

+

13. Questions or comments

+

If you have questions or comments about this privacy policy, please email us at: support@openc3.com

For additional information about how to contact OpenC3, Inc. please visit our help page.

-

Dated: August 11th, 2022

- - \ No newline at end of file +

Dated: August 11th, 2022

\ No newline at end of file diff --git a/docs/docs/tools.html b/docs/docs/tools.html index 2a7d7af6fb..69ddea0ce6 100644 --- a/docs/docs/tools.html +++ b/docs/docs/tools.html @@ -1,13 +1 @@ - - - - - -Tools | OpenC3 Docs - - - - -
- - \ No newline at end of file +Tools | OpenC3 Docs
\ No newline at end of file diff --git a/docs/docs/tools/admin.html b/docs/docs/tools/admin.html new file mode 100644 index 0000000000..43939c5e6f --- /dev/null +++ b/docs/docs/tools/admin.html @@ -0,0 +1,36 @@ +Admin | OpenC3 Docs

Admin

Introduction

+

Admin has it's own dedicated button at the top of the tools list. It is responsible for administering the COSMOS system including installing new plugins, viewing configuration, storing secrets and changing settings.

+

Plugins

+

The Plugins tab is where you install new plugins into the COSMOS system. Plugins can dynamically add targets, microservices, interfaces, protocols, Telemetry Viewer widgets, and entire tools into the COSMOS runtime. The following screenshot shows the Plugins tab when only the COSMOS Demo is installed:

+

Plugins

+

The plugin gem name is listed along with all the targets it contains. You can Download, Edit, Upgrade, or Delete (uninstall) the plugin using the buttons to the right. If a plugin's target has been modified, the target name turns into a link which when clicked will download the changed files. New plugins are installed by clicking the top field.

+

Targets

+

The Targets tab shows all the targets installed and what plugin they came from. Clicking the eyeball shows the raw JSON that makes up the target configuration.

+

Targets

+

Interfaces

+

The Interfaces tab shows all the interfaces installed. Clicking the eyeball shows the raw JSON that makes up the interface configuration.

+

Interfaces

+

Routers

+

The Routers tab shows all the routers installed. Clicking the eyeball shows the raw JSON that makes up the router configuration.

+

Routers

+

Microservices

+

The Microservices tab shows all the microservices installed, their update time, state, and count. Clicking the eyeball shows the raw JSON that makes up the microservice configuration.

+

Microservices

+

Packages

+

The Packages tab shows all the Ruby gems and Python packages installed in the system. You can also install packages from this tab if you're in an offline (air gapped) environment where COSMOS can't pull dependencies from Rubygems or Pypi.

+

Packages

+

Tools

+

The Tools tab lists all the tools installed. You can reorder the tools in the Navigation bar by dragging and dropping the left side grab handle.

+

Tools

+

You can also add links to existing tools in the navigation bar by using the Add button. Any material design icons can be used as the Tool icon.

+

Add Tool

+

Redis

+

The Redis tab allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. THIS IS DANGEROUS, and should only be performed by COSMOS developers.

+

Redis

+

Secrets

+

The Secrets tab allows you to create secrets that can be used by Interfaces or Microservices using the SECRET keyword. Secrets require setting the Secret Name and then can be set to an individual value using the Secret Value, or to the contents of a file (like a certificate file) using the file selector. In the following example the USERNAME and PASSWORD were set to values while CA_FILE was set using an uploaded certificate file.

+

Secrets

+

Settings

+

The Settings tab contains various settings used throughout COSMOS. These including clearing saved tool configuration, hiding the Astro Clock, changing the system time zone, adding a top and bottom banner, creating a subtitle in the navigation bar, and changing the URLs of the various package libraries.

+

Settings1 +Settings2

\ No newline at end of file diff --git a/docs/docs/tools/autonomic.html b/docs/docs/tools/autonomic.html index 70697178b5..7e6541f1d4 100644 --- a/docs/docs/tools/autonomic.html +++ b/docs/docs/tools/autonomic.html @@ -1,44 +1,32 @@ - - - - - -Autonomic (Enterprise) | OpenC3 Docs - - - - -

Autonomic (Enterprise)

Introduction

+Autonomic (Enterprise) | OpenC3 Docs

Autonomic (Enterprise)

Introduction

Autonomic allows for the automated execution of commands and scripts based on user-defined rules.

-

Overview

+

Overview

Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system.

-

Autonomic

-

TriggerGroups

+

Autonomic

+

TriggerGroups

Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed.

-

TriggerGroups

-

Triggers

-

Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger.

-

CreateTrigger1

-

Once you've chosen the "left operand" you need to choose the operator.

-

CreateTrigger2

-

Finally you choose the "right operand" which in this case is a simple value.

-

CreateTrigger3

+

TriggerGroups

+

Triggers

+

Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger.

+

CreateTrigger1

+

Once you've chosen the "left operand" you need to choose the operator.

+

CreateTrigger2

+

Finally you choose the "right operand" which in this case is a simple value.

+

CreateTrigger3

After the trigger is created it is displayed in Autonomic and waits to be activated by the given logic. Active triggers are highlighted in the list.

-

CreateTrigger3

+

CreateTrigger3

Triggers can also be manually disabled and enabled by clicking the plug icon.

-

CreateTrigger3

+

CreateTrigger3

Note in the above screenshot the Events which track everything about the trigger.

-

Reactions

+

Reactions

Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script. Reactions can not exist without a corresponding trigger. The reaction creation dialog specifies whether to treat the trigger as an Edge or Level. It then allows you to select which trigger(s) the reaction will react to. Selecting multiple triggers allows any of the triggers to trigger the reaction (Note: Creating a reaction which responds to Trigger A AND Trigger B is done by creating additional triggers).

-

CreateReaction1

+

CreateReaction1

After the triggers are specified, the dialog prompts for the actions to take. You can either send a command, run a script, or simply push a notification. Commands and scripts can also optionally push a notification. In this example a script is specified with a notification at the WARN level.

-
Spawning Scripts

Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources.

-

CreateReaction2

+
Spawning Scripts

Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources.

+

CreateReaction2

Finally the snooze setting is specified. Snooze is the number of seconds after the reaction runs before the reaction will be allowed to run again. This is especially important in Level triggers where if the trigger remains active the reaction can run continuously.

-

CreateReaction3

+

CreateReaction3

Once the reaction is created it is listed in the interface.

-

InitialReaction

-

When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again.

-

SnoozedReaction

- - \ No newline at end of file +

InitialReaction

+

When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again.

+

SnoozedReaction

\ No newline at end of file diff --git a/docs/docs/tools/bucket-explorer.html b/docs/docs/tools/bucket-explorer.html index c0933e1693..720a5e9a5c 100644 --- a/docs/docs/tools/bucket-explorer.html +++ b/docs/docs/tools/bucket-explorer.html @@ -1,24 +1,12 @@ - - - - - -Bucket Explorer | OpenC3 Docs - - - - -

Bucket Explorer

Introduction

+Bucket Explorer | OpenC3 Docs

Bucket Explorer

Introduction

Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage.

-

Bucket Explorer

-

Browsing Files

-

At the top are the three standard COSMOS buckets: config, logs, and tools. Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is DEFAULT. The config bucket holds the COSMOS configuration which is populated as plugins are installed. The logs bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See Logging for more info). These logs are gzipped to save storage space. The tools bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket.

-
Tools as Static Website

Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3

-

Upload

-

Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in COSMOS Enterprise you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin.

-

Download

+

Bucket Explorer

+

Browsing Files

+

At the top are the three standard COSMOS buckets: config, logs, and tools. Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is DEFAULT. The config bucket holds the COSMOS configuration which is populated as plugins are installed. The logs bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See Logging for more info). These logs are gzipped to save storage space. The tools bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket.

+
Tools as Static Website

Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3

+

Upload

+

Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in COSMOS Enterprise you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin.

+

Download

Click the Download icon to download any of the individual files from any bucket and path.

-

Delete

-

Click the Trash icon to delete an individual file. Note that in COSMOS Enterprise you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin.

- - \ No newline at end of file +

Delete

+

Click the Trash icon to delete an individual file. Note that in COSMOS Enterprise you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin.

\ No newline at end of file diff --git a/docs/docs/tools/calendar.html b/docs/docs/tools/calendar.html index 3b09522e7d..206bd1cf48 100644 --- a/docs/docs/tools/calendar.html +++ b/docs/docs/tools/calendar.html @@ -1,44 +1,32 @@ - - - - - -Calendar (Enterprise) | OpenC3 Docs - - - - -

Calendar (Enterprise)

Introduction

+Calendar (Enterprise) | OpenC3 Docs

Calendar (Enterprise)

Introduction

Calendar visualizes metadata, notes, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times.

-

Calendar

-

Adding Timelines

-

Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary.

-

Types of Events

-

Metadata

+

Calendar

+

Adding Timelines

+

Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary.

+

Types of Events

+

Metadata

Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including operators, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data.

You can create a new metadata item from either the Create menu or by right-clicking on the calendar in the given time slot you want the metadata item to appear. Note that metadata entries only have a start time, they do not have an end time.

-

CreateMetadata1

+

CreateMetadata1

You then add key / value pairs for all the metadata items you want to create.

-

CreateMetadata2

-

Note

+

CreateMetadata2

+

Note

Notes require both a start and end time.

-

CreateNote1

+

CreateNote1

You then record the note to create the note event on the calendar.

-

CreateNote2

-

Activity

+

CreateNote2

+

Activity

Scheduled on a timeline, activities take both a start and end time.

-

CreateActivity1

-

Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping.

-

CreateActivity2

+

CreateActivity1

+

Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping.

+

CreateActivity2

When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (✓). Reserve activities simply have a blank green circle.

-

Calendar

-

Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events.

-

List View

-

Timeline Implementation Details

+

Calendar

+

Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events.

+

List View

+

Timeline Implementation Details

When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue.

-

The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync.

+

The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync.

The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database.

The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database.

-

Timeline Lifecycle

- - \ No newline at end of file +

Timeline Lifecycle

\ No newline at end of file diff --git a/docs/docs/tools/cmd-sender.html b/docs/docs/tools/cmd-sender.html index 9fd15a2c24..1a8f36326e 100644 --- a/docs/docs/tools/cmd-sender.html +++ b/docs/docs/tools/cmd-sender.html @@ -1,37 +1,25 @@ - - - - - -Command Sender | OpenC3 Docs - - - - -

Command Sender

Introduction

+Command Sender | OpenC3 Docs

Command Sender

Introduction

Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history.

-

Command Sender

-

Command Sender Menus

-

Mode Menu Items

-Mode Menu +

Command Sender

+

Command Sender Menus

+

Mode Menu Items

+Mode Menu
  • Ignores parameter range checking
  • Displays parameter state values in hex
  • Shows ignored parameters
  • Disables all parameter conversions
-

Sending Commands

+

Sending Commands

Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters.

-

INST COLLECT

+

INST COLLECT

Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History.

-

States

+

States

You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example).

-

History

-

Hazardous Commands

-

Sending hazardous commands will prompt the user whether to send the command.

-

INST CLEAR

-

Commands can also have hazardous states (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions.

-

INST COLLECT Hazardous

-

Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked required.

- - \ No newline at end of file +

History

+

Hazardous Commands

+

Sending hazardous commands will prompt the user whether to send the command.

+

INST CLEAR

+

Commands can also have hazardous states (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions.

+

INST COLLECT Hazardous

+

Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked required.

\ No newline at end of file diff --git a/docs/docs/tools/cmd-tlm-server.html b/docs/docs/tools/cmd-tlm-server.html index 6b0b41d80c..e59277fc11 100644 --- a/docs/docs/tools/cmd-tlm-server.html +++ b/docs/docs/tools/cmd-tlm-server.html @@ -1,48 +1,38 @@ - - - - - -Command and Telemetry Server | OpenC3 Docs - - - - -

Command and Telemetry Server

Introduction

-

The Command and Telemetry Server application provides status about the interfaces and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view +Command and Telemetry Server | OpenC3 Docs

Command and Telemetry Server

Introduction

+

The Command and Telemetry Server application provides status about the interfaces and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view both raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages.

-

Cmd Tlm Server

-

Command and Telemetry Server Menus

-

File Menu Items

-

The Command and Telemetry Server has one menu under File -> Options:

-

File Menu

+

Cmd Tlm Server

+

Command and Telemetry Server Menus

+

File Menu Items

+

The Command and Telemetry Server has one menu under File -> Options:

+

File Menu

This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated.

-

Interfaces Tab

+

Interfaces Tab

The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts.

-

Interfaces

-

Targets Tab

+

Interfaces

+

Targets Tab

The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only).

-

Targets

+

Targets

Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority.

-

Command Authority

+

Command Authority

The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding.

-

Command Packets Tab

+

Here is an example of sending a HAZARDOUS command in Command Sender when Critical Command Mode is set to NORMAL.

+

Critical Command

+

Command Packets Tab

The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command.

-

Commands

+

Commands

Clicking on View Raw opens a dialog displaying the raw bytes for that command.

-

Raw Command

-

Clicking View in Command Sender opens up a new Command Sender window with the specified command.

-

Telemetry Packets Tab

+

Raw Command

+

Clicking View in Command Sender opens up a new Command Sender window with the specified command.

+

Telemetry Packets Tab

The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet.

-

Telemetry

+

Telemetry

Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet.

-

Raw Telemetry

-

Clicking View in Packet Viewer opens up a new Packet Viewer window with the specified telemetry packet.

-

Status Tab

+

Raw Telemetry

+

Clicking View in Packet Viewer opens up a new Packet Viewer window with the specified telemetry packet.

+

Status Tab

The Status tab displays COSMOS system metrics.

-

Status

-

Log Messages

+

Status

+

Log Messages

The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message.

-

Log Messages

- - \ No newline at end of file +

Log Messages

\ No newline at end of file diff --git a/docs/docs/tools/command_history.html b/docs/docs/tools/command_history.html index d99bf5e944..b0de8204d8 100644 --- a/docs/docs/tools/command_history.html +++ b/docs/docs/tools/command_history.html @@ -1,22 +1,10 @@ - - - - - -Command History (Enterprise) | OpenC3 Docs - - - - -

Command History (Enterprise)

Introduction

+Command History (Enterprise) | OpenC3 Docs

Command History (Enterprise)

Introduction

Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated).

-

Command History

-

Selecting Time

+

Command History

+

Selecting Time

By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers.

-

Commands Table

+

Commands Table

The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description.

As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2).

-

The Result field is the result of executing Command Validators established by the VALIDATOR keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above.

-

For more information read the VALIDATOR documentation and also see the Ruby Example and the Python Example in the COSMOS Demo.

- - \ No newline at end of file +

The Result field is the result of executing Command Validators established by the VALIDATOR keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above.

+

For more information read the VALIDATOR documentation and also see the Ruby Example and the Python Example in the COSMOS Demo.

\ No newline at end of file diff --git a/docs/docs/tools/data-extractor.html b/docs/docs/tools/data-extractor.html index ca4d6b5f1c..9ce97a0f88 100644 --- a/docs/docs/tools/data-extractor.html +++ b/docs/docs/tools/data-extractor.html @@ -1,19 +1,9 @@ - - - - - -Data Extractor | OpenC3 Docs - - - - -

Data Extractor

Introduction

+Data Extractor | OpenC3 Docs

Data Extractor

Introduction

Data Extractor extracts command and telemetry items into comma or tab separated files. Individual items or entire packets can be processed over any time period. Data Extractor also has a number of options to control the output for post processing in Excel or Matlab, for example.

-

Data Extractor

-

Data Extractor Menus

-

File Menu Items

-File Menu +

Data Extractor

+

Data Extractor Menus

+

File Menu Items

+File Menu
  • Opens a saved configuration
  • Save the current configuration (item list)
  • @@ -21,43 +11,41 @@

    File Menu It
  • Delimit output with commas
  • Delimit output with tabs
-

Open Configuration

+

Open Configuration

The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Save Configuration

+

Save Configuration

The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Mode Menu Items

-Mode Menu +

Mode Menu Items

+Mode Menu
  • Fill empty cells with the previous value
  • -
  • Add a Matlab comment ('%') to the header
  • +
  • Add a Matlab comment ('%') to the header
  • Only output changed values
  • Only list item name as column header
  • List full Target Packet Item as header
-

Selecting Items for Output

-

Start/End Date/Time

+

Selecting Items for Output

+

Start/End Date/Time

Data Extractor provides text fields where you specify the time range to extract items. Clicking the Start Date and End Date text fields opens a Date Chooser dialog. Note you can also manually type in the date. Clicking the Start Time and End Time icon opens up a Time Chooser dialog. Note you can also manually type in the time.

-

Adding Target(s) Packet(s) Item(s)

-

Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed.

-

Select Target

-

When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed.

-

Select Packet

-

When you select an individual Item the button changes to "Add Item" and the Description field updates with the item's description.

-

Select Item

-

Removing Items

-

Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header.

-

Delete All Mouseover

-

Editing Items

+

Adding Target(s) Packet(s) Item(s)

+

Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed.

+

Select Target

+

When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed.

+

Select Packet

+

When you select an individual Item the button changes to "Add Item" and the Description field updates with the item's description.

+

Select Item

+

Removing Items

+

Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header.

+

Delete All Mouseover

+

Editing Items

Items can be edited by clicking the Pencil icon next to the item. ALL items can be edited by clicking the pencil icon in the header.

-

Edit All Mouseover

+

Edit All Mouseover

Clicking the Edit All brings up the Edit All Items dialog.

-

Edit All

+

Edit All

This allows you to change the data type of all items in the list. Clicking the pencil next to an individual item brings up a similar dialog to edit the individual item.

-

Edit TEMP1

-

Processing Items

+

Edit TEMP1

+

Processing Items

Clicking the Process button starts the processing of the items list. A progress wheel is shown on the left side of the table and the Process button changes to Cancel to allow canceling the process.

-

Processing

+

Processing

When the processing is complete, the browser shows a file download link. Note this varies by browser. This example is from Chrome.

-

Processing Done

- - \ No newline at end of file +

Processing Done

\ No newline at end of file diff --git a/docs/docs/tools/data-viewer.html b/docs/docs/tools/data-viewer.html index e26643a553..0c220aef4b 100644 --- a/docs/docs/tools/data-viewer.html +++ b/docs/docs/tools/data-viewer.html @@ -1,32 +1,20 @@ - - - - - -Data Viewer | OpenC3 Docs - - - - -

Data Viewer

Introduction

+Data Viewer | OpenC3 Docs

Data Viewer

Introduction

Data Viewer allows you to view packet data or individual item data in both the past and in real time.

-

Data Viewer

-

Data Viewer Menus

-

File Menu Items

-File Menu +

Data Viewer

+

Data Viewer Menus

+

File Menu Items

+File Menu
  • Opens a saved configuration
  • Save the current configuration
  • Reset the configuration (default settings)
-

Open Configuration

+

Open Configuration

The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Save Configuration

+

Save Configuration

The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Adding Components

+

Adding Components

DataViewer displays data in a component. To add a new component to the interface click the plus icon. This brings up the Add Component dialog. First you select the component you want to use to visual the data. Next you add packets which will populate the component. Finally click Create to see the DataViewer component visualization.

-

Add Component

+

Add Component

To adjust the settings of the COSMOS Raw/Decom component click the gear icon to bring up the Display Settings dialog. You can turn on and off various visualizations, increase the number of packets displayed and the history.

-

Add a packet

- - \ No newline at end of file +

Add a packet

\ No newline at end of file diff --git a/docs/docs/tools/handbooks.html b/docs/docs/tools/handbooks.html index 3544828b69..af75004726 100644 --- a/docs/docs/tools/handbooks.html +++ b/docs/docs/tools/handbooks.html @@ -1,16 +1,4 @@ - - - - - -Handbooks | OpenC3 Docs - - - - -

Handbooks

Introduction

-

Handbooks formats the COSMOS command and telemetry definitions into a nicely formatted webpage that can be exported to a PDF.

-

Handbooks

-

You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF.

- - \ No newline at end of file +Handbooks | OpenC3 Docs

Handbooks

Introduction

+

Handbooks formats the COSMOS command and telemetry definitions into a nicely formatted webpage that can be exported to a PDF.

+

Handbooks

+

You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF.

\ No newline at end of file diff --git a/docs/docs/tools/limits-monitor.html b/docs/docs/tools/limits-monitor.html index c57218e13c..76a4b8e258 100644 --- a/docs/docs/tools/limits-monitor.html +++ b/docs/docs/tools/limits-monitor.html @@ -1,19 +1,9 @@ - - - - - -Limits Monitor | OpenC3 Docs - - - - -

Limits Monitor

Introduction

+Limits Monitor | OpenC3 Docs

Limits Monitor

Introduction

The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched.

-

Cmd Tlm Server

-

Limits Monitor Menus

-

File Menu Items

-File Menu +

Cmd Tlm Server

+

Limits Monitor Menus

+

File Menu Items

+File Menu
  • Show the list of ignored items
  • Change the overall COSMOS limits set
  • @@ -21,24 +11,22 @@

    File Menu It
  • Save the current configuration (ignored items)
  • Reset the configuration (defaults settings)
-

Show Ignored

+

Show Ignored

This dialog displays all the items which the user has manually ignored by clicking the ignore icons next to out of limits items. Note that entire Packets which have been ignored are listed as TARGET PACKET without an item (as shown by INST MECH). Ignored items are removed by clicking the Trash icon. This means that the next time this item goes out of limits it will be displayed.

-

Ignored

-

Change Limits Set

-

Limits sets are defined with the LIMITS keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS.

-

Change Limits Set

-

Open Configuration

+

Ignored

+

Change Limits Set

+

Limits sets are defined with the LIMITS keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS.

+

Change Limits Set

+

Open Configuration

The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Save Configuration

+

Save Configuration

The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Limits Items

+

Limits Items

The main interface of Limits Monitor is the top where items are displayed when they violate a yellow or red limit.

-

Limits

-

Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red states are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed.

-

Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate "(Some items ignored)" to indicate the Limits State is potentially being affected by ignored items.

+

Limits

+

Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red states are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed.

+

Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate "(Some items ignored)" to indicate the Limits State is potentially being affected by ignored items.

Clicking the last icon (eye with strike-through) temporarily hides the specified item. This is different from ignoring an item because if this item goes out of limits it will be again be displayed. Hiding an item is useful if the item has gone back to green and you want to continue to track it but want to clean up the current list of items. For example, we might hide the GROUND1STATUS items in the above example as they have transitioned back to green.

-

Limits Log

+

Limits Log

The Log section lists all limits events. Events can be filtered by using the Search box as shown.

-

Log

- - \ No newline at end of file +

Log

\ No newline at end of file diff --git a/docs/docs/tools/packet-viewer.html b/docs/docs/tools/packet-viewer.html index 9c9887ee15..5725eba218 100644 --- a/docs/docs/tools/packet-viewer.html +++ b/docs/docs/tools/packet-viewer.html @@ -1,40 +1,28 @@ - - - - - -Packet Viewer | OpenC3 Docs - - - - -

Packet Viewer

Introduction

+Packet Viewer | OpenC3 Docs

Packet Viewer

Introduction

Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information.

-

Packet Viewer

-

Packet Viewer Menus

-

File Menu Items

-File Menu +

Packet Viewer

+

Packet Viewer Menus

+

File Menu Items

+File Menu
  • Change the refresh and stale interval
  • Opens a saved configuration
  • Save the current configuration (view settings)
  • Reset the configuration (default settings)
-

View Menu Items

-View Menu +

View Menu Items

+View Menu -

Selecting Packets

+

Selecting Packets

Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box.

-

Details

+

Details

Right-clicking an item and selecting Details will open the details dialog.

-

Details

-

This dialog lists everything defined on the telemetry item.

- - \ No newline at end of file +

Details

+

This dialog lists everything defined on the telemetry item.

\ No newline at end of file diff --git a/docs/docs/tools/script-runner.html b/docs/docs/tools/script-runner.html index d031abafe2..92a904a7e8 100644 --- a/docs/docs/tools/script-runner.html +++ b/docs/docs/tools/script-runner.html @@ -1,19 +1,9 @@ - - - - - -Script Runner | OpenC3 Docs - - - - -

Script Runner

Introduction

+Script Runner | OpenC3 Docs

Script Runner

Introduction

Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individual scripts, groups of scripts, or entire suites.

-

Script Runner

-

Script Runner Menus

-

File Menu Items

-File Menu +

Script Runner

+

Script Runner Menus

+

File Menu Items

+File Menu
  • Clears the editor and filename
  • Creates a new test suite in Ruby or Python
  • @@ -27,13 +17,13 @@

    File Menu It

-

File Open

+

File Open

The File Open Dialog displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results.

-

File Open

-

File Save As

+

File Open

+

File Save As

When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted before over-writing an existing file.

-

Script Menu Items

-Script Menu +

Script Menu Items

+Script Menu
  • Display started and finished scripts
  • Show environment variables
  • @@ -43,61 +33,59 @@

    Script Men
  • Perform a script mnemonic check
  • View the instrumented script
  • Shows the script call stack
  • -
  • Display the debug prompt
  • +
  • Display the debug prompt
  • Disconnect from real interfaces
  • Delete all script breakpoints

The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log.

-

Running Scripts

-

Running Scripts

+

Running Scripts

+

Running Scripts

Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script.

-

checks.rb

+

checks.rb

Once you click Start the script is spawned in the Server and the Script State becomes Connecting.

-

connecting

+

connecting

At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried.

-

error

+

error

This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution.

-

Right Click Script

+

Right Click Script

Right clicking a script brings up several options:

-

right-click

-

'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!

-

'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!

-

'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number.

-

Running Script Suites

+

right-click

+

'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!

+

'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables!

+

'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number.

+

Running Script Suites

If a script is structured as a Suite it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus.

-

Suite Script

-

To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language.

-

Group

-

The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example:

-
require 'openc3/script/suite.rb'
class ExampleGroup < OpenC3::Group
def setup
puts "setup"
end
def script_1
puts "script 1"
end
def teardown
puts "teardown"
end
end
+

Suite Script

+

To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language.

+

Group

+

The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example:

+
require 'openc3/script/suite.rb'
class ExampleGroup < OpenC3::Group
def setup
puts "setup"
end
def script_1
puts "script 1"
end
def teardown
puts "teardown"
end
end

Equivalent Python example:

-
from openc3.script.suite import Suite, Group
class ExampleGroup(Group):
def setup(self):
print("setup")
def script_1(self):
print("script 1")
def teardown(self)
print("teardown")
+
from openc3.script.suite import Suite, Group
class ExampleGroup(Group):
def setup(self):
print("setup")
def script_1(self):
print("script 1")
def teardown(self):
print("teardown")

The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method.

-

Suite

+

Suite

Groups are added to Suites by creating a class inheriting from Suite and then calling the add_group method. For example in Ruby:

-
class MySuite < OpenC3::Suite
def initialize
add_group('ExampleGroup')
end
def setup
puts "Suite setup"
end
def teardown
puts "Suite teardown"
end
end
+
class MySuite < OpenC3::Suite
def initialize
add_group('ExampleGroup')
end
def setup
puts "Suite setup"
end
def teardown
puts "Suite teardown"
end
end

In Python:

-
from openc3.script.suite import Suite, Group
class MySuite(Suite):
def __init__(self):
self.add_group('ExampleGroup')
def setup(self):
print("Suite setup")
def teardown(self):
print("Suite teardown")
+
from openc3.script.suite import Suite, Group
class MySuite(Suite):
def __init__(self):
self.add_group(ExampleGroup)
def setup(self):
print("Suite setup")
def teardown(self):
print("Suite teardown")

Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu.

Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script.

-

Script Suite Options

+

Script Suite Options

Opening a Script Suite creates six checkboxes which provide options to the running script.

-

Suite Checkboxes

-

Pause on Error

+

Suite Checkboxes

+

Pause on Error

Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error.

-

Continue after Error

+

Continue after Error

Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group.

-

Abort after Error

-

Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete.

-

Manual

+

Abort after Error

+

Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete.

+

Manual

In Ruby, sets the global variable called $manual to true. In Python, sets RunningScript.manual to True. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use the variable in their scripts.

-

Loop

+

Loop

Loop whatever the user started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen.

-

Break Loop on Error

+

Break Loop on Error

Break the loop if an Error occurs. Only available if the Loop option is set.

-

Debugging Scripts

+

Debugging Scripts

When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing var = 10.

-

Debug

-

The Step button allows you to step line by line through the script. Clicking Go continues regular execution.

- - \ No newline at end of file +

Debug

+

The Step button allows you to step line by line through the script. Clicking Go continues regular execution.

\ No newline at end of file diff --git a/docs/docs/tools/table-manager.html b/docs/docs/tools/table-manager.html index 807e19845a..6bdff97a04 100644 --- a/docs/docs/tools/table-manager.html +++ b/docs/docs/tools/table-manager.html @@ -1,34 +1,22 @@ - - - - - -Table Manager | OpenC3 Docs - - - - -

Table Manager

Introduction

-

Table Manager is a binary file editor. It takes binary file definitions similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file.

-

Table Manager

-

File Menu Items

-File Menu +Table Manager | OpenC3 Docs

Table Manager

Introduction

+

Table Manager is a binary file editor. It takes binary file definitions similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file.

+

Table Manager

+

File Menu Items

+File Menu
    -
  • Create a new binary based on definition
  • +
  • Create a new binary based on definition
  • Open an existing binary
  • Save the current binary
  • Rename the current binary
  • Delete the current binary
-

File Download

-

The three buttons next to File Download download the binary file, the definition file, and the report file. The binary is the raw bits defined by the table. The definition is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary.

-

Upload / Download

-

Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called upload.rb is found in the Target's procedures directory then the Upload button becomes active. If a file called download.rb is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script.

-

upload.rb

-

The COSMOS demo creates the following upload.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file and the script uses get_target_file to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given.

-
# TBL_FILENAME is set to the name of the table file
puts "file:#{ENV['TBL_FILENAME']}"
# Open the file
file = get_target_file(ENV['TBL_FILENAME'])
buffer = file.read
# puts buffer.formatted
# Implement custom commanding logic to upload the table
# Note that buffer is a Ruby string of bytes
# You probably want to do something like:
# buf_size = 512 # Size of a buffer in the upload command
# i = 0
# while i < buffer.length
# # Send a part of the buffer
# # NOTE: triple dots means start index, up to but not including, end index
# # while double dots means start index, up to AND including, end index
# cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)])
# i += buf_size
# end
file.delete
-

download.rb

-

The COSMOS demo creates the following download.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file to OVERWRITE and the script uses put_target_file to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given.

-
# TBL_FILENAME is set to the name of the table file to overwrite
puts "file:#{ENV['TBL_FILENAME']}"
# Download the file
# Implement custom commanding logic to download the table
# You probably want to do something like:
buffer = ''
# i = 1
# num_segments = 5 # calculate based on TBL_FILENAME
# table_id = 1 # calculate based on TBL_FILENAME
# while i < num_segments
# # Request a part of the table buffer
# cmd("TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}")
# buffer += tlm("TGT DUMP_PKT DATA")
# i += 1
# end
put_target_file(ENV['TBL_FILENAME'], buffer)
- - \ No newline at end of file +

File Download

+

The three buttons next to File Download download the binary file, the definition file, and the report file. The binary is the raw bits defined by the table. The definition is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary.

+

Upload / Download

+

Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called upload.rb is found in the Target's procedures directory then the Upload button becomes active. If a file called download.rb is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script.

+

upload.rb

+

The COSMOS demo creates the following upload.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file and the script uses get_target_file to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given.

+
# TBL_FILENAME is set to the name of the table file
puts "file:#{ENV['TBL_FILENAME']}"
# Open the file
file = get_target_file(ENV['TBL_FILENAME'])
buffer = file.read
# puts buffer.formatted
# Implement custom commanding logic to upload the table
# Note that buffer is a Ruby string of bytes
# You probably want to do something like:
# buf_size = 512 # Size of a buffer in the upload command
# i = 0
# while i < buffer.length
# # Send a part of the buffer
# # NOTE: triple dots means start index, up to but not including, end index
# # while double dots means start index, up to AND including, end index
# cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)])
# i += buf_size
# end
file.delete
+

download.rb

+

The COSMOS demo creates the following download.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file to OVERWRITE and the script uses put_target_file to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given.

+
# TBL_FILENAME is set to the name of the table file to overwrite
puts "file:#{ENV['TBL_FILENAME']}"
# Download the file
# Implement custom commanding logic to download the table
# You probably want to do something like:
buffer = ''
# i = 1
# num_segments = 5 # calculate based on TBL_FILENAME
# table_id = 1 # calculate based on TBL_FILENAME
# while i < num_segments
# # Request a part of the table buffer
# cmd("TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}")
# buffer += tlm("TGT DUMP_PKT DATA")
# i += 1
# end
put_target_file(ENV['TBL_FILENAME'], buffer)
\ No newline at end of file diff --git a/docs/docs/tools/tlm-grapher.html b/docs/docs/tools/tlm-grapher.html index 3b6c97bf8c..1f0a250b24 100644 --- a/docs/docs/tools/tlm-grapher.html +++ b/docs/docs/tools/tlm-grapher.html @@ -1,30 +1,20 @@ - - - - - -Telemetry Grapher | OpenC3 Docs - - - - -

Telemetry Grapher

Introductions

+Telemetry Grapher | OpenC3 Docs

Telemetry Grapher

Introductions

Telemetry Grapher is a graphing application that allows for one or more telemetry points per graph. It supports multiple graphs per screen which can be resized and reordered. Multiple configurations can be saved and restored for different situations.

-

Telemetry Grapher

-

Telemetry Grapher Menus

-

File Menu Items

-File Menu +

Telemetry Grapher

+

Telemetry Grapher Menus

+

File Menu Items

+File Menu
  • Open a saved configuration (graphs and items)
  • Save the current configuration
  • Reset the configuration (default settings)
-

Open Configuration

+

Open Configuration

The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Save Configuration

+

Save Configuration

The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Graph Menu Items

-File Menu +

Graph Menu Items

+File Menu
  • Add a new graph
  • Start / Resume graphing
  • @@ -34,27 +24,25 @@

    Graph Menu

Editing the grapher settings brings up a dialog to change settings affecting every graph in the Telemetry Grapher tool. Changing the Seconds Graphed changes the visible windows displaying graph points. The smaller of Seconds Graphed and Points Graphed will be used when calculating the number of points to display. Changing the Points Saved will affect performance of the browser window if set too high. The default of 1,000,000 points can store over 11.5 days of 1Hz data points.

Editing an individual graph by clicking the pencil icon in title bar of the graph brings up the edit graph dialog.

-

Edit Graph

+

Edit Graph

Editing the Start Date and Start Time will re-query the data to begin at the specified time. This operation can take several seconds depending on how far back data is requested. Similarly, specifying the End Date and End Time will limit the data request to the specified time. Leaving the End Date / End Time fields blank will cause Telemetry Grapher to continue to graph items in real-time as they arrive.

Changing the Min Y and Max Y values simply sets the graph scale. Deleting the Min Y and Max Y values allows the graph to scale automatically as values arrive. Compare the following graph with the minimum set to 0 and the maximum set to 100 with the first graph image (auto-scale).

-

Min Max

-

Selecting Items

+

Min Max

+

Selecting Items

Selecting a target from the Select Target drop down automatically updates the available packets in the Select Packet drop down which updates the available items in the Select Item drop down. Clicking Add Item adds the item to the graph which immediately begins graphing.

-

Temp 1

+

Temp 1

As time passes, the main graph fills up and starts scrolling while the overview graph at the bottom shows the entire history.

-

Temp 1 History

+

Temp 1 History

Selecting a new item and adding it to the graph automatically fills the graph with history until the beginning of the first item. This allows you to add items to the graph incrementally and maintain full history.

-

Temp1 Temp2

-

Graph Window Management

+

Temp1 Temp2

+

Graph Window Management

All graphs can be moved around the browser window by clicking their title bar and moving them. Other graphs will move around intelligently to fill the space. This allows you order the graphs no matter which order they were created in.

Each graph has a set of window buttons in the upper right corner. The first shrinks or grows the graph both horizontally and vertically to allow for 4 graphs in the same browser tab. Note that half height graphs no longer show the overview graph.

-

Four Graphs

+

Four Graphs

The second button shrinks or grows the graph horizontally so it will either be half or full width of the browser window. This allows for two full width graphs on top of each other.

-

Two Full Width

+

Two Full Width

The second button shrinks or grows the graph vertically so it will either be half or full height of the browser window. This allows for two full height graphs side by side.

-

Two Full Height

+

Two Full Height

The line button minimizes the graph to effectively hide it. This allows you to focus on a single graph without losing existing graphs.

-

Minimized

-

The final X button closes the graph.

- - \ No newline at end of file +

Minimized

+

The final X button closes the graph.

\ No newline at end of file diff --git a/docs/docs/tools/tlm-viewer.html b/docs/docs/tools/tlm-viewer.html index 66344c0470..8ea80c08f3 100644 --- a/docs/docs/tools/tlm-viewer.html +++ b/docs/docs/tools/tlm-viewer.html @@ -1,45 +1,33 @@ - - - - - -Telemetry Viewer | OpenC3 Docs - - - - -

Telemetry Viewer

Introduction

+Telemetry Viewer | OpenC3 Docs

Telemetry Viewer

Introduction

Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets.

-

Telemetry Viewer

-

File Menu Items

-File Menu +

Telemetry Viewer

+

File Menu Items

+File Menu
  • Open a saved configuration
  • Save the current configuration
  • Reset the configuration (default settings)
-

Open Configuration

+

Open Configuration

The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Save Configuration

+

Save Configuration

The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name.

-

Selecting Screens

+

Selecting Screens

Selecting a target from the Select Target drop down automatically updates the available screens for that target in the Select Screen drop down. Clicking Show Screen causes that screen to display.

-

New Screen

+

New Screen

Clicking New Screen brings up the new screen dialog.

-

Telemetry Viewer

-

Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists.

-

Edit Screen

+

Telemetry Viewer

+

Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists.

+

Edit Screen

Clicking the pencil icon in the title bar of the screen brings up the edit dialog.

-

Telemetry Viewer

+

Telemetry Viewer

The screen source is displayed in an editor with syntax highlighting and auto-completion. You can download the screen source using the download button in the upper right or delete the screen using the trash icon in the upper left. Click Save to save the screen edits at which point Telemetry Viewer will re-render the screen.

-

Screen Window Management

+

Screen Window Management

All screens can be moved around the browser window by clicking their title bar and moving them. Other screens will move around intelligently to fill the space. This allows you to order the screens no matter which order they were created in.

You can also float the screens by clicking the grid icon in the upper left of the title bar. It will change to a balloon icon and allow you to click up and down to change the relative Z index of the window. The image screen is floated in the following screen shot.

The dash button in the upper right of the title bar minimizes the screen to effectively hide it. This allows you to focus on a single screen without closing existing screens. In the screen shot below there are two minimized windows at the very bottom.

-

Float Minimized

+

Float Minimized

The X button closes the screen.

-

Building Screens

+

Building Screens

For documentation on how to build Telemetry Screens and how to configure the -screen widgets please see the Telemetry Screens.

- - \ No newline at end of file +screen widgets please see the Telemetry Screens.
\ No newline at end of file diff --git a/docs/docs/v5/host-install/index.html b/docs/docs/v5/host-install/index.html deleted file mode 100644 index fc8bfa831a..0000000000 --- a/docs/docs/v5/host-install/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/docs/img/admin/add_tool.png b/docs/img/admin/add_tool.png new file mode 100644 index 0000000000..8bbd1b0743 Binary files /dev/null and b/docs/img/admin/add_tool.png differ diff --git a/docs/img/admin/interfaces.png b/docs/img/admin/interfaces.png new file mode 100644 index 0000000000..ad17220f57 Binary files /dev/null and b/docs/img/admin/interfaces.png differ diff --git a/docs/img/admin/microservices.png b/docs/img/admin/microservices.png new file mode 100644 index 0000000000..4d3ebc6321 Binary files /dev/null and b/docs/img/admin/microservices.png differ diff --git a/docs/img/admin/packages.png b/docs/img/admin/packages.png new file mode 100644 index 0000000000..7285c2b018 Binary files /dev/null and b/docs/img/admin/packages.png differ diff --git a/docs/img/admin/plugins.png b/docs/img/admin/plugins.png new file mode 100644 index 0000000000..ae34c6c7e9 Binary files /dev/null and b/docs/img/admin/plugins.png differ diff --git a/docs/img/admin/redis.png b/docs/img/admin/redis.png new file mode 100644 index 0000000000..28bb0db599 Binary files /dev/null and b/docs/img/admin/redis.png differ diff --git a/docs/img/admin/routers.png b/docs/img/admin/routers.png new file mode 100644 index 0000000000..5d2dbd6cc7 Binary files /dev/null and b/docs/img/admin/routers.png differ diff --git a/docs/img/admin/secrets.png b/docs/img/admin/secrets.png new file mode 100644 index 0000000000..aa350c1f1f Binary files /dev/null and b/docs/img/admin/secrets.png differ diff --git a/docs/img/admin/settings1.png b/docs/img/admin/settings1.png new file mode 100644 index 0000000000..d26efe8d68 Binary files /dev/null and b/docs/img/admin/settings1.png differ diff --git a/docs/img/admin/settings2.png b/docs/img/admin/settings2.png new file mode 100644 index 0000000000..39326d1a44 Binary files /dev/null and b/docs/img/admin/settings2.png differ diff --git a/docs/img/admin/targets.png b/docs/img/admin/targets.png new file mode 100644 index 0000000000..e80da51a1f Binary files /dev/null and b/docs/img/admin/targets.png differ diff --git a/docs/img/admin/tools.png b/docs/img/admin/tools.png new file mode 100644 index 0000000000..f6b59af1b9 Binary files /dev/null and b/docs/img/admin/tools.png differ diff --git a/docs/img/cmd_tlm_server/critical_cmd_sender.png b/docs/img/cmd_tlm_server/critical_cmd_sender.png new file mode 100644 index 0000000000..00e46bf9b7 Binary files /dev/null and b/docs/img/cmd_tlm_server/critical_cmd_sender.png differ diff --git a/docs/index.html b/docs/index.html index cc97f69e9f..58739f9366 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,13 +1 @@ - - - - - -Hello from OpenC3 Docs | OpenC3 Docs - - - - -

OpenC3 Docs

OpenC3 COSMOS Documentation

Easy to Configure

OpenC3 COSMOS was designed from the ground up to be easy to configure. Simply define the messages needed to talk to your hardware (commands and telemetry), and you are ready to go!

Modern Architecture

Built with a modern design, cloud native, and ready to scale. OpenC3 COSMOS has a microservice architecture built to scale, and with fully maintained and up-to-date dependencies.

Pick Your Favorite Language

OpenC3 COSMOS supports both Ruby and Python for scripting and connecting to targets. Frontend applications can be written in Vue, React, Angular, or Svelte. Whatever languages your team knows, we support.

- - \ No newline at end of file +Hello from OpenC3 Docs | OpenC3 Docs

OpenC3 Docs

OpenC3 COSMOS Documentation

Easy to Configure

OpenC3 COSMOS was designed from the ground up to be easy to configure. Simply define the messages needed to talk to your hardware (commands and telemetry), and you are ready to go!

Modern Architecture

Built with a modern design, cloud native, and ready to scale. OpenC3 COSMOS has a microservice architecture built to scale, and with fully maintained and up-to-date dependencies.

Pick Your Favorite Language

OpenC3 COSMOS supports both Ruby and Python for scripting and connecting to targets. Frontend applications can be written in Vue, React, Angular, or Svelte. Whatever languages your team knows, we support.

\ No newline at end of file diff --git a/docs/lunr-index-1731457472213.json b/docs/lunr-index-1731457472213.json deleted file mode 100644 index e4c3e13ca4..0000000000 --- a/docs/lunr-index-1731457472213.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,912.046]],["content/0",[]],["keywords/0",[]],["title/1",[1,235.172,2,944.485]],["content/1",[1,3.267,3,9.635,4,8.762,5,2.571,6,9.907,7,4.59,8,12.679,9,8.614,10,12.679,11,6.901,12,14.32,13,12.95,14,14.32,15,16.566,16,13.654,17,11.968,18,6.25,19,13.122,20,11.574,21,8.762,22,15.212,23,16.566,24,13.122,25,13.122,26,16.566,27,13.654]],["keywords/1",[]],["title/2",[1,235.172,28,861.436]],["content/2",[1,4.462,6,7.172,8,9.179,9,8.005,29,4.66,30,8.451,31,8.904,32,9.499,33,8.863,34,10.366,35,2.648,36,8.482,37,7.365,38,6.411,39,6.633,40,6.796,41,6.151,42,7.278,43,7.924,44,7.776,45,3.452,46,5.064,47,7.639,48,6.114,49,8.172,50,5.805,51,4.35,52,2.855,53,5.576,54,9.714,55,6.796,56,10.83,57,8.451,58,5.245,59,5.283,60,5.866,61,5.868,62,4.104,63,7.511,64,4.084,65,7.924,66,7.391,67,6.556,68,8.904,69,7.172,70,7.639,71,7.172,72,6.343,73,10.366,74,6.713,75,5.488,76,10.366,77,9.179,78,4.499,79,4.578]],["keywords/2",[]],["title/3",[80,723.668,81,1030.714]],["content/3",[1,4.524,5,2.673,18,4.73,80,11.939,82,12.535,83,6.933,84,4.082,85,9.307,86,15.813,87,14.194,88,7.034,89,7.322,90,9.307,91,6.497,92,10.836,93,8.632,94,7.391,95,10.836,96,7.608,97,5.293,98,12.535,99,12.535,100,12.535,101,12.535,102,3.876,103,8.128,104,12.535,105,8.632,106,6.701,107,8.833,108,7.985,109,12.535,110,7.851,111,10.332,112,6.246,113,11.511,114,9.056,115,8.128,116,12.535,117,12.135,118,8.833,119,6.366,120,6.933,121,5.736,122,11.511,123,11.511,124,6.561,125,7.985,126,8.283,127,9.056,128,12.535,129,6.933,130,4.335,131,7.726,132,8.833,133,7.985,134,10.332,135,7.496]],["keywords/3",[]],["title/4",[136,278.481,137,410.191]],["content/4",[]],["keywords/4",[]],["title/5",[138,382.649,139,142.147,140,130.131]],["content/5",[1,3.337,7,2.649,35,5.112,37,3.223,45,4.133,48,2.584,50,4.931,52,4.027,78,3.586,119,7.206,136,3.314,137,3.289,138,7.817,140,3.123,141,4.009,142,4.809,143,4.347,144,2.419,145,6.442,146,8.922,147,14.188,148,12.264,149,10.25,150,4.212,151,6.574,152,6.717,153,5.65,154,8.778,155,4.903,156,6.199,157,4.481,158,3.783,159,7.756,160,3.732,161,4.375,162,2.289,163,4.72,164,3.561,165,5.056,166,5.56,167,4.809,168,6.583,169,6.736,170,6.444,171,5.988,172,10.118,173,4.122,174,4.481,175,5.487,176,5.418,177,8.252,178,8.252,179,7.07,180,2.776,181,3.394,182,5.418,183,4.855,184,7.879,185,4.636,186,2.706,187,3.487,188,5.351,189,3.807]],["keywords/5",[]],["title/6",[190,1028.057]],["content/6",[1,2.772,5,2.887,8,7.223,9,3.932,18,3.561,29,5.461,50,4.885,52,3.345,59,4.158,96,5.728,136,4.645,141,5.894,143,4.305,149,6.818,157,4.424,190,12.538,191,9.438,192,4.217,193,5.644,194,2.905,195,5.728,196,6.237,197,3.758,198,4.747,199,7.223,200,6.236,201,11.146,202,6.902,203,9.515,204,7.441,205,5.644,206,7.779,207,7.682,208,1.909,209,4.252,210,9.438,211,14.872,212,9.438,213,11.146,214,10.589,215,20.849,216,17.185,217,3.044,218,12.148,219,5.042,220,4.319,221,4.577,222,5.644,223,4.703,224,3.104,225,2.905,226,5.045,227,3.661,228,8.158,229,8.666,230,4.158,231,8.158,232,4.703,233,9.438,234,4.537,235,8.666,236,6.65,237,7.223,238,5.489]],["keywords/6",[]],["title/7",[239,1208.042]],["content/7",[1,1.869,4,7.456,5,2.188,7,2.626,13,5.936,50,6.479,91,3.576,102,2.931,114,6.848,127,6.848,136,5.189,139,2.047,140,1.26,143,4.319,144,2.175,145,6.401,146,6.72,152,3.401,162,1.529,187,3.457,190,6.389,196,4.207,201,7.536,203,5.371,204,5.031,207,5.181,208,2.851,211,9.708,213,7.536,214,9.466,219,6.04,222,5.668,227,2.469,239,14.765,240,4.776,241,6.778,242,5.371,243,6.425,244,5.381,245,11.619,246,11.619,247,9.478,248,7.303,249,16.832,250,12.945,251,10.467,252,4.443,253,7.812,254,6.146,255,5.752,256,3.294,257,6.848,258,5.512,259,7.526,260,6.263,261,8.703,262,6.263,263,7.037,264,9.478,265,3.117,266,10.185,267,12.186,268,8.431,269,12.186,270,10.79,271,5.752,272,5.44,273,3.846,274,5.371,275,5.242,276,9.478,277,2.017,278,6.451,279,3.515,280,5.936,281,7.254,282,5.668,283,9.478]],["keywords/7",[]],["title/8",[141,500.068,284,624.046]],["content/8",[1,2.978,5,2.344,17,14.084,50,5.248,124,7.902,136,3.526,141,9.568,144,1.951,146,9.292,198,7.595,207,8.254,208,3.943,243,7.441,244,7.441,245,16.067,246,16.067,284,10.202,285,5.73,286,12.392,287,19.494,288,15.441,289,13.051,290,8.451,291,11.556,292,6.05,293,13.051,294,10.908]],["keywords/8",[]],["title/9",[181,423.278,295,1030.714]],["content/9",[1,2.155,5,2.835,17,7.895,50,3.798,102,4.836,121,7.157,136,2.552,139,2.896,141,6.559,142,7.867,144,2.021,146,9.505,160,3.118,179,9.102,181,8.354,185,5.3,198,5.497,207,8.55,208,4.033,227,2.847,243,7.611,244,7.611,245,12.891,246,9.007,284,5.719,285,4.147,286,11.445,289,13.52,292,4.379,293,9.446,294,7.895,295,17.237,296,5.55,297,18.31,298,9.007,299,10.927,300,12.389,301,10.927,302,7.455,303,10.927,304,13.52,305,6.193,306,10.927,307,6.044,308,12.389,309,5.3,310,10.927,311,10.927,312,10.927]],["keywords/9",[]],["title/10",[138,466.131,313,1094.906]],["content/10",[]],["keywords/10",[]],["title/11",[314,955.22]],["content/11",[5,2.393,33,9.111,45,4.083,52,3.669,102,4.766,121,7.053,140,2.049,144,1.992,151,5.989,152,5.531,160,3.073,164,3.244,186,4.362,190,10.39,192,4.65,193,9.218,225,4.744,280,9.654,314,14.401,315,15.413,316,10.39,317,6.223,318,5.19,319,10.614,320,9.355,321,6.892]],["keywords/11",[]],["title/12",[152,547.238]],["content/12",[14,11.841,102,4.235,136,5.345,140,1.821,144,1.77,152,7.882,153,7.282,160,2.731,162,2.21,164,2.883,186,3.877,192,3.699,236,9.652,280,8.579,322,8.239,323,8.726,324,8.192,325,7.862,326,8.442,327,7.576,328,11.841,329,11.743,330,14.506,331,9.42,332,7.576,333,9.029,334,18.287,335,13.698,336,5.421,337,4.641,338,9.672,339,8.192,340,6.457,341,13.698,342,13.698,343,13.698]],["keywords/12",[]],["title/13",[344,1400.437]],["content/13",[35,5.475,79,5.61,81,12.705,102,4.544,140,3.251,144,2.475,160,2.93,162,3.09,164,3.094,186,4.16,189,5.853,202,6.042,259,6.572,327,8.129,337,4.979,344,13.496,345,11.154,346,10.618,347,9.908,348,11.249,349,6.034,350,3.394,351,7.692,352,3.94,353,6.249,354,12.705,355,8.79,356,13.496]],["keywords/13",[]],["title/14",[357,1400.437]],["content/14",[79,5.925,81,13.417,102,4.799,140,2.064,144,2.564,160,3.094,162,3.201,164,3.267,186,4.393,189,6.181,208,4.818,259,6.94,277,4.223,337,5.259,345,11.448,346,11.214,349,4.889,350,3.584,351,8.123,355,9.282,356,14.253,357,14.253,358,5.964,359,7.808,360,13.417]],["keywords/14",[]],["title/15",[35,336.711]],["content/15",[5,3.225,35,5.226,108,8.891,136,5.529,138,8.652,140,1.856,144,1.803,160,2.782,162,2.251,164,2.938,186,5.24,189,5.558,208,4.658,259,9.291,273,5.664,278,9.508,280,8.742,281,10.682,322,6.288,323,8.891,328,12.065,331,6.387,333,6.891,340,4.928,361,8.229,362,6.71,363,12.065,364,13.957,365,12.816,366,12.816]],["keywords/15",[]],["title/16",[208,308.456]],["content/16",[5,3.225,35,5.085,108,8.891,136,5.529,138,8.652,140,1.856,144,1.803,160,2.782,162,2.251,164,2.938,186,5.24,189,5.558,208,4.788,259,9.291,273,5.664,278,9.508,280,8.742,281,10.682,322,6.288,323,8.891,328,12.065,331,6.387,333,6.891,340,4.928,361,8.229,362,6.71,363,12.065,365,12.816,366,12.816,367,13.957]],["keywords/16",[]],["title/17",[368,1525.086]],["content/17",[5,3.026,7,4.184,35,5.037,45,3.121,78,5.664,108,9.618,168,10.397,240,5.115,277,4.148,296,7.668,309,9.454,369,13.864,370,13.306,371,8.902,372,9.79,373,9.538,374,10.31,375,8.346,376,5.447,377,10.178,378,7.595,379,10.178,380,14.084,381,13.864,382,13.737,383,7.821,384,13.051,385,12.444]],["keywords/17",[]],["title/18",[386,1400.437]],["content/18",[5,3.026,7,4.184,45,3.121,78,5.664,108,9.618,168,10.397,208,4.366,240,5.115,277,4.594,296,7.668,309,9.454,369,13.864,370,13.306,371,8.902,372,9.79,373,9.538,374,10.31,375,8.346,376,5.447,377,10.178,378,7.595,379,10.178,380,14.084,381,13.864,382,13.737,383,7.821,384,13.051,385,12.444]],["keywords/18",[]],["title/19",[387,885.315,388,982.769]],["content/19",[]],["keywords/19",[]],["title/20",[197,474.805,389,840.217]],["content/20",[1,1.535,5,2.314,35,3.291,46,3.285,78,2.919,84,2.534,88,3.178,91,2.936,97,3.285,102,2.406,107,5.483,119,3.951,130,6.685,136,2.833,139,3.186,153,4.83,162,3.461,201,4.159,202,3.199,204,2.777,209,5.465,225,2.395,230,3.428,248,4.03,274,4.409,302,3.709,329,6.484,337,5.703,340,5.944,350,3.442,373,5.935,387,5.777,389,13.623,390,11.138,391,8.763,392,5.483,393,7.144,394,6.163,395,6.726,396,5.777,397,6.163,398,5.141,399,6.413,400,7.144,401,6.413,402,6.163,403,5.777,404,4.713,405,13.875,406,16.834,407,5.141,408,4.722,409,5.955,410,12.129,411,12.129,412,7.144,413,7.78,414,9.608,415,14.906,416,6.413,417,12.129,418,7.78,419,12.129,420,6.726,421,6.413,422,7.78,423,3.453,424,7.78,425,4.587,426,16.834,427,12.129,428,4.873,429,9.283,430,7.78,431,7.144,432,4.525,433,5.141,434,3.479,435,8.763,436,3.56,437,4.072,438,5.777,439,4.956,440,5.621,441,7.78,442,4.795,443,4.205,444,7.78,445,6.726,446,7.36,447,2.902,448,7.78,449,7.78,450,7.78,451,7.78,452,7.78,453,7.144,454,4.956,455,4.355,456,7.78,457,7.78,458,7.144,459,7.144,460,4.722,461,7.78,462,7.78,463,9.283,464,7.78,465,5.777,466,6.726,467,4.722]],["keywords/20",[]],["title/21",[71,496.448,337,281.25,436,379.867,468,616.37]],["content/21",[36,8.673,37,5.757,71,10.212,139,3.318,273,6.93,404,6.636,469,13.527,470,15.681,471,21.07,472,15.681,473,17.077,474,17.077,475,17.077,476,12.423,477,17.077,478,17.077,479,17.077,480,15.681,481,17.077,482,13.527,483,12.679]],["keywords/21",[]],["title/22",[71,585.36,436,447.9,484,659.816]],["content/22",[5,2.014,50,4.51,66,7.997,71,7.76,136,3.031,139,3.76,156,8.414,337,4.396,388,14.533,389,9.144,403,15.954,404,5.042,435,9.374,436,5.938,437,6.791,439,11.232,469,10.278,470,11.915,472,11.915,485,20.027,486,12.976,487,12.976,488,12.976,489,12.976,490,11.915,491,12.976,492,9.144,493,8.574,494,7.177,495,6.527,496,16.191,497,12.976,498,12.976,499,17.632,500,11.915,501,12.976,502,12.976,503,8.747,504,11.915,505,11.915]],["keywords/22",[]],["title/23",[36,497.114,436,447.9,506,726.759]],["content/23",[5,2.312,37,5.021,57,10.496,71,12.827,136,3.479,139,3.296,220,6.816,225,4.584,256,5.177,326,9.18,337,6.547,404,5.788,436,6.816,454,9.488,469,11.799,483,11.06,495,10.79,507,14.895,508,9.488,509,14.895,510,14.895,511,11.728,512,19.324,513,8.908,514,14.895,515,14.895,516,14.895,517,14.895,518,11.401,519,14.895,520,14.895,521,14.895,522,8.663,523,12.876]],["keywords/23",[]],["title/24",[440,861.436,524,1030.714]],["content/24",[5,3.009,11,5.078,37,4.109,64,4.151,67,9.235,89,5.183,105,11.633,120,9.343,127,8.807,136,4.527,155,6.252,162,2.725,183,6.191,197,4.854,204,4.351,307,6.742,371,7.187,389,13.66,391,14.005,409,9.33,434,5.451,446,6.019,454,7.765,480,11.194,525,16.892,526,12.19,527,12.19,528,9.656,529,19.385,530,12.19,531,12.19,532,12.19,533,9.33,534,19.385,535,8.807,536,12.19,537,12.19,538,9.33,539,17.8,540,7.635,541,11.194,542,6.664,543,7.765,544,7.635,545,7.399,546,8.217,547,12.19,548,12.19,549,19.385,550,10.538,551,11.633,552,9.051,553,12.19,554,6.252,555,9.656]],["keywords/24",[]],["title/25",[150,525.302,469,944.485]],["content/25",[59,8.735,405,16.343,412,18.208,469,15.706,539,18.208,556,13.972,557,19.828]],["keywords/25",[]],["title/26",[136,168.317,389,507.836,446,355.831,558,520.661,559,551.594]],["content/26",[5,2.497,9,6.701,37,5.422,59,7.086,136,5.194,137,6.983,187,5.867,242,9.115,387,11.943,389,14.303,402,12.741,446,11.532,465,15.071,528,12.741,559,15.535,560,16.085,561,12.311,562,10.843,563,8.507,564,10.246,565,16.085,566,12.311,567,11.335,568,6.14]],["keywords/26",[]],["title/27",[136,241.5,446,314.377,528,504.352,558,460.004,559,487.333]],["content/27",[5,1.647,35,4.344,37,5.163,49,5.193,97,7.588,114,7.668,130,6.214,136,5.233,143,5.506,187,3.871,221,5.147,225,5.531,256,5.324,338,8.1,376,5.021,387,7.88,389,10.792,404,4.124,405,17.915,434,4.746,445,9.174,446,10.732,454,6.761,465,13.342,524,9.174,528,8.407,558,11.065,559,11.722,563,5.613,569,9.174,570,6.173,571,4.576,572,10.613,573,4.226,574,10.595,575,6.092,576,15.316,577,15.316,578,10.613,579,15.316,580,13.784,581,14.234,582,10.613,583,7.154,584,9.174,585,10.613,586,10.613,587,10.613,588,14.064,589,10.613,590,10.613,591,8.407,592,6.441,593,6.258,594,5.87]],["keywords/27",[]],["title/28",[136,168.317,137,247.924,559,551.594,568,275.096,595,622.975]],["content/28",[35,3.86,97,7.381,136,4.083,137,7.353,143,5.356,225,5.38,405,14.408,445,15.111,490,19.628,524,15.111,559,13.38,568,8.159,595,19.959,596,12.038,597,17.481,598,17.481,599,17.481]],["keywords/28",[]],["title/29",[183,497.114,600,978.814,601,978.814]],["content/29",[153,7.493,350,4.345,388,15.51,602,18.818,603,18.818,604,17.28,605,18.818,606,18.818,607,18.818,608,18.818,609,18.818,610,18.818,611,18.818]],["keywords/29",[]],["title/30",[53,709.091]],["content/30",[]],["keywords/30",[]],["title/31",[53,455.101,136,228.606,278,447.9]],["content/31",[1,2.501,5,1.968,35,2.799,48,4.69,50,4.407,53,11.448,61,9.683,80,7.695,84,4.129,136,4.622,138,6.785,162,2.045,181,6.161,188,7.097,194,3.902,214,6.439,223,8.649,236,8.934,263,9.414,265,5.707,278,10.199,280,7.941,309,6.149,331,5.802,349,3.994,370,7.814,372,8.221,376,3.543,562,8.547,612,7.814,613,12.679,614,6.568,615,6.204,616,12.679,617,12.679,618,9.704,619,11.642,620,6.318,621,6.853,622,8.731,623,10.45,624,7.012,625,9.179,626,11.056,627,9.16,628,5.669]],["keywords/31",[]],["title/32",[619,1400.437]],["content/32",[51,6.443,53,8.258,96,10.78,136,5.648,140,2.361,160,3.541,162,3.482,164,3.738,242,10.066,259,7.942,278,9.876,331,8.128,340,6.272,573,7.073,629,17.762]],["keywords/32",[]],["title/33",[53,709.091]],["content/33",[5,2.48,37,5.386,48,3.043,52,4.421,53,10.833,78,4.224,84,3.667,88,6.526,137,3.874,140,2.838,141,6.701,146,5.368,151,6.209,160,4.645,162,2.578,164,3.363,167,5.664,172,10.039,173,6.889,175,6.463,176,6.382,177,6.549,179,9.255,180,5.87,256,3.914,278,5.153,296,5.719,305,9.055,333,5.56,349,5.85,355,6.734,404,4.376,630,6.834,631,8.619,632,5.611,633,17.054,634,16.66,635,18.572,636,8.619,637,10.008,638,10.34,639,15.979,640,12.23,641,11.261]],["keywords/33",[]],["title/34",[53,554.39,642,594.176]],["content/34",[53,9.387,138,9.103,143,7.134]],["keywords/34",[]],["title/35",[140,202.756]],["content/35",[5,1.837,7,2.09,18,2.846,35,2.613,48,5.393,51,2.736,52,5.565,53,7.695,83,4.171,137,4.072,140,3.229,146,5.642,151,5.678,152,4.248,155,3.868,160,3.978,162,1.217,164,4.349,167,3.794,172,10.787,173,7.136,174,5.549,175,6.794,176,8.28,177,6.885,178,6.885,179,5.899,180,4.807,181,5.187,187,4.318,194,3.643,214,6.012,217,3.818,223,5.899,265,2.48,277,2.519,279,2.797,340,5.159,350,4.152,352,3.173,373,10.111,374,10.093,375,6.255,376,5.025,380,8.552,624,6.547,625,6.261,630,4.577,637,7.414,643,3.398,644,5.315,645,7.296,646,5.481,647,10.191,648,4.577,649,3.868,650,5.772,651,4.51,652,6.132,653,6.885,654,4.983,655,5.6]],["keywords/35",[]],["title/36",[140,158.521,642,594.176]],["content/36",[5,2.163,6,1.124,7,2.329,11,1.466,35,3.749,37,1.186,38,1.881,48,1.34,49,3.052,51,3.049,52,5.318,53,0.874,61,3.611,62,1.204,64,5.329,78,1.32,79,0.717,84,0.612,88,0.768,90,1.395,91,1.871,92,1.625,93,1.294,94,5.996,102,1.929,103,1.219,105,2.423,108,3.16,112,1.753,120,1.946,130,0.65,131,1.158,133,1.197,136,0.822,137,1.21,138,2.439,139,2.023,140,2.76,141,1.476,143,1.078,144,1.919,150,1.55,151,1.367,152,1.78,155,1.804,160,3.12,162,1.764,163,0.928,164,3.294,165,0.994,173,2.138,174,2.924,180,3.176,181,3.312,182,1.994,183,2.519,185,3.025,186,2.878,187,2.692,189,1.401,192,1.7,194,3.13,197,2.939,198,0.945,201,2.652,202,2.565,204,1.256,207,1.027,209,6.491,214,2.519,216,1.549,217,2.012,219,2.238,225,2.587,227,0.49,240,2.114,241,0.904,242,2.811,252,2.325,256,0.653,257,1.358,258,1.093,259,1.573,263,2.612,265,4.038,268,1.124,273,2.995,275,1.039,277,2.856,278,0.86,280,1.177,285,0.713,318,1.835,320,3.01,321,0.84,323,1.197,327,1.039,329,3.335,330,1.324,333,3.08,337,2.847,338,0.994,340,2.203,345,0.984,347,1.267,349,1.108,350,2.525,352,0.943,353,0.799,358,3.488,361,3.678,373,5.351,374,2.623,375,0.805,376,2.062,378,3.138,391,3.583,392,1.324,396,1.395,398,1.242,404,2.424,423,5.958,425,1.108,432,4.888,446,4.15,447,1.312,455,1.969,508,1.197,540,2.204,552,2.612,554,1.804,563,0.994,568,1.893,583,2.372,612,1.158,615,0.92,626,1.197,627,1.358,631,1.438,640,1.438,646,4.365,651,2.966,652,3.232,653,1.093,656,2.787,657,2.787,658,1.324,659,1.625,660,1.625,661,2.281,662,1.549,663,1.625,664,3.041,665,3.041,666,2.542,667,1.625,668,1.625,669,4.205,670,5.479,671,2.201,672,2.204,673,0.86,674,1.065,675,1.994,676,0.768,677,1.027,678,1.489,679,1.294,680,1.625,681,4.632,682,1.489,683,1.438,684,1.625,685,1.358,686,1.823,687,1.625,688,1.625,689,2.693,690,1.625,691,1.625,692,1.489,693,4.763,694,1.625,695,1.923,696,2.135,697,2.519,698,5.619,699,2.612,700,2.053,701,1.358,702,1.197,703,1.489,704,1.267,705,1.726,706,1.726,707,1.726,708,1.625,709,2.423,710,1.625,711,1.395,712,1.267,713,1.489,714,1.625,715,1.489,716,1.438,717,1.039,718,1.242,719,1.489,720,2.372,721,3.041,722,1.242,723,4.296,724,0.945,725,2.811,726,1.489,727,1.625,728,4.288,729,1.726,730,1.726,731,4.288,732,5.393,733,3.231,734,1.625,735,1.489,736,1.726,737,3.041,738,1.726,739,1.726,740,6.776,741,12.295,742,2.201,743,1.219,744,5.5,745,1.438,746,1.016,747,1.625,748,7.166,749,3.628,750,2.855,751,8.201,752,1.691,753,2.046,754,2.135,755,3.231,756,3.231,757,2.325,758,2.218,759,1.549,760,1.549,761,1.005,762,4.288,763,3.041,764,1.395,765,2.542,766,1.625,767,1.489,768,3.45,769,1.625,770,1.438,771,5.142,772,1.625,773,1.625,774,2.241,775,2.463,776,3.041,777,1.625,778,1.625,779,1.395,780,1.549,781,1.625,782,1.625,783,1.625,784,3.041,785,9.727,786,1.625,787,5.393,788,3.041,789,6.54,790,1.787,791,2.423,792,2.542,793,3.041,794,2.693,795,1.573,796,4.775,797,2.325,798,5.728,799,4.088,800,1.625,801,3.929,802,2.693,803,1.016,804,1.549,805,1.625,806,2.924,807,1.625,808,2.623,809,1.052,810,1.625,811,4.555,812,1.027,813,0.828,814,1.549,815,1.438,816,1.625,817,1.489,818,1.358,819,1.027,820,5.728,821,1.242,822,1.052,823,1.197,824,1.395,825,1.052,826,1.489,827,3.041,828,3.231,829,1.625,830,2.325,831,1.625,832,1.549,833,7.265,834,2.542,835,1.726,836,1.141,837,3.041,838,4.088,839,1.625,840,1.158,841,3.231,842,1.324,843,1.158,844,3.231,845,1.158,846,1.726,847,2.693,848,0.81,849,0.928,850,1.625,851,1.549,852,2.325,853,3.231]],["keywords/36",[]],["title/37",[723,1050.255]],["content/37",[5,1.261,7,2.251,18,3.065,35,2.769,48,5.543,51,2.946,52,5.648,53,5.831,83,4.493,137,4.314,140,3.228,146,5.978,151,5.952,152,4.5,160,4.089,162,1.31,164,4.317,167,4.086,172,11.086,173,6.604,174,5.879,175,7.198,176,8.681,177,7.294,178,7.294,179,6.249,180,5.003,181,5.438,187,4.574,194,3.86,214,6.369,217,2.62,223,6.249,265,2.671,277,2.669,279,3.013,340,5.409,350,4.299,352,3.362,373,8.429,374,6.633,375,6.558,376,5.202,380,9.06,624,6.936,625,6.633,630,4.93,637,7.855,643,3.66,645,5.006,646,4.705,647,9.762,648,4.93,649,4.166,650,6.217,651,4.858,652,6.497,653,7.294,654,5.367,655,6.031]],["keywords/37",[]],["title/38",[854,1525.086]],["content/38",[53,10.235,140,2.44,160,3.658,162,2.96,164,3.862,278,8.397,361,10.819,614,9.506,848,10.167,852,8.602,855,7.696,856,14.045,857,18.35]],["keywords/38",[]],["title/39",[350,352.168]],["content/39",[5,2.461,38,8.476,48,5.436,52,5.531,53,7.372,78,5.948,140,2.108,141,6.649,142,7.975,160,3.161,180,4.605,190,10.688,282,9.482,337,5.372,340,5.598,350,4.645,376,4.43,392,11.172,423,7.037,562,10.688,634,19.15,636,12.135,655,11.772,676,6.476,752,7.622,858,13.705,859,12.135]],["keywords/39",[]],["title/40",[136,278.481,144,154.065]],["content/40",[6,5.413,50,3.146,53,4.209,136,2.114,144,1.17,146,4.315,150,3.988,181,3.213,213,8.754,214,11.783,219,7.643,230,3.988,232,6.787,250,8.312,292,3.627,423,9.111,633,8.312,646,9.082,656,15.475,662,16.103,697,6.918,717,7.533,723,16.189,724,6.851,725,12.07,847,6.928,853,15.037,860,9.052,861,9.052,862,9.052,863,9.052,864,9.052,865,9.052,866,9.052,867,13.621,868,9.052,869,9.052,870,9.052,871,13.621,872,9.052,873,9.052,874,4.429,875,4.553,876,7.461,877,5.981,878,8.312,879,9.052,880,9.052,881,9.052,882,10.431,883,10.093,884,9.84,885,16.376,886,16.376,887,9.052,888,9.052,889,7.461,890,9.052,891,9.052,892,7.461,893,9.052]],["keywords/40",[]],["title/41",[11,496.721,894,821.123]],["content/41",[]],["keywords/41",[]],["title/42",[1,125.581,144,82.27,337,215.718,573,253.544,677,348.082,894,438.476]],["content/42",[1,2.353,6,7.133,64,4.062,142,8.37,244,4.553,337,4.041,376,4.649,443,10.357,465,8.856,555,9.448,573,4.75,580,7.881,676,4.872,677,6.521,693,6.76,697,6.058,758,5.334,790,9.731,791,8.214,883,7.351,894,8.214,895,9.129,896,10.311,897,13.714,898,10.953,899,14.383,900,10.953,901,10.311,902,9.831,903,9.831,904,9.448,905,9.448,906,9.129,907,9.831,908,9.129,909,9.448,910,8.214,911,10.311,912,10.953,913,10.311,914,9.129,915,9.129,916,10.953,917,9.831,918,6.76,919,10.953,920,7.351,921,8.04,922,10.953,923,10.953,924,10.098,925,11.928,926,9.831,927,10.953,928,11.928,929,7.881,930,5.785,931,11.928,932,11.928,933,11.928,934,11.928,935,11.928,936,8.856,937,11.928,938,7.471,939,11.928,940,11.928,941,11.928,942,10.311,943,11.928,944,10.953,945,11.928]],["keywords/42",[]],["title/43",[1,142.14,144,93.118,337,244.163,894,496.295,946,393.982]],["content/43",[1,2.996,5,1.629,6,6.274,7,2.907,9,2.701,29,2.519,49,3.172,89,2.756,96,3.934,139,1.524,142,3.261,153,4.178,157,3.039,200,4.283,219,2.326,244,2.475,326,3.995,337,2.196,350,1.497,376,4.662,391,4.683,436,2.966,443,10.159,454,4.129,465,4.813,555,10.469,580,6.933,581,5.135,676,4.285,693,3.674,697,3.292,709,4.464,750,6.048,790,9.545,791,4.464,795,4.691,883,9.361,894,7.225,895,4.962,896,11.425,897,10.893,898,9.634,899,11.425,900,5.953,901,5.604,903,8.648,904,5.135,905,5.135,906,4.962,907,5.343,908,4.962,909,5.135,910,4.464,911,5.604,912,5.953,913,5.604,914,4.962,915,8.03,916,5.953,917,5.343,918,5.946,919,9.634,920,6.466,921,7.072,922,12.136,923,5.953,924,9.218,926,5.343,927,5.953,929,4.283,930,3.144,936,4.813,938,6.571,942,9.069,944,13.947,946,3.544,947,14.421,948,8.03,949,9.069,950,4.568,951,4.962,952,3.144,953,6.483,954,5.953,955,6.483,956,6.483,957,6.483,958,6.483,959,6.483,960,6.483,961,10.492,962,4.464,963,13.216,964,6.483,965,10.492,966,6.483,967,10.492,968,10.492,969,9.634,970,9.069,971,10.492,972,10.492,973,10.492,974,6.483,975,5.953,976,6.483,977,6.483,978,6.483,979,6.483,980,4.962,981,6.483,982,6.483,983,6.483,984,10.492,985,6.483,986,6.483,987,10.492,988,10.492,989,10.492,990,10.492,991,10.492,992,10.492,993,10.492,994,6.483,995,6.483,996,6.483,997,6.483,998,6.483,999,6.483,1000,6.483,1001,6.483,1002,6.483,1003,6.483,1004,6.483,1005,6.483,1006,6.483,1007,6.483,1008,6.483,1009,5.343,1010,6.483,1011,6.483,1012,6.483,1013,6.483,1014,6.483,1015,6.483,1016,6.483,1017,6.483,1018,6.483,1019,6.483,1020,6.483,1021,5.953,1022,4.962,1023,5.953,1024,6.483]],["keywords/43",[]],["title/44",[3,569.283,144,126.472,353,416.153]],["content/44",[1,0.967,3,4.841,5,0.761,7,2.306,11,3.467,18,3.141,21,2.594,29,1.906,35,1.083,45,1.014,46,3.515,47,3.124,48,1.325,60,1.722,62,1.678,64,2.834,66,5.13,67,5.928,72,2.594,74,4.659,78,1.84,79,1.872,97,3.515,110,3.072,115,3.18,117,3.456,137,1.687,139,3.529,144,1.075,149,3.543,150,2.16,152,4.585,153,1.953,159,2.681,164,1.032,165,2.594,176,2.779,189,1.953,194,1.509,204,2.971,207,6.986,225,5.104,230,2.16,248,2.54,252,3.902,271,2.976,275,2.712,279,3.087,284,4.356,292,1.965,296,4.227,305,2.779,314,5.213,320,2.976,325,2.815,336,1.941,352,5.442,353,2.085,376,1.37,393,7.643,434,2.193,436,2.244,437,5.676,443,8.408,447,3.105,467,2.976,542,2.681,545,2.976,551,5.732,556,3.456,563,2.594,573,1.953,580,3.24,631,3.753,646,1.84,673,2.244,675,2.779,693,2.779,758,2.193,790,4.227,849,2.421,852,2.299,856,6.371,894,8.8,897,16.735,899,9.374,906,3.753,915,6.371,918,2.779,924,7.756,929,3.24,930,2.378,938,3.072,1025,4.239,1026,4.904,1027,2.358,1028,4.503,1029,3.753,1030,4.503,1031,5.052,1032,5.865,1033,4.904,1034,4.904,1035,3.884,1036,5.611,1037,4.503,1038,7.195,1039,3.543,1040,4.503,1041,3.314,1042,4.904,1043,4.904,1044,4.904,1045,4.904,1046,9.781,1047,8.324,1048,8.324,1049,8.324,1050,4.904,1051,4.904,1052,4.503,1053,4.904,1054,2.594,1055,4.904,1056,2.815,1057,4.904,1058,4.904,1059,4.904,1060,4.904,1061,4.904,1062,4.904,1063,4.904,1064,4.904,1065,3.543,1066,8.3,1067,2.651,1068,4.904,1069,4.904,1070,9.958,1071,4.503,1072,3.641,1073,4.904,1074,8.444,1075,4.904,1076,4.503,1077,4.904,1078,4.503,1079,14.311,1080,4.904,1081,4.239,1082,4.904,1083,4.904,1084,4.904,1085,4.904,1086,4.904,1087,4.904,1088,4.904,1089,4.904,1090,4.904,1091,4.904,1092,4.042,1093,4.904,1094,4.904,1095,15.555,1096,4.904,1097,4.904,1098,4.904,1099,4.904,1100,4.904,1101,4.904,1102,4.904,1103,4.904,1104,4.904,1105,4.904,1106,4.503,1107,4.904,1108,4.904,1109,4.904,1110,7.643,1111,4.503,1112,4.904,1113,3.124,1114,4.904,1115,8.324,1116,4.904,1117,4.904,1118,3.377,1119,4.904,1120,4.904,1121,4.904,1122,4.904,1123,4.239,1124,4.904,1125,3.24,1126,4.904,1127,4.904,1128,4.904,1129,4.904,1130,4.904,1131,4.904,1132,4.904,1133,4.904,1134,4.904,1135,8.324,1136,4.904,1137,4.904,1138,4.904,1139,4.904]],["keywords/44",[]],["title/45",[571,514.077,1140,746.821]],["content/45",[]],["keywords/45",[]],["title/46",[1,125.581,37,214.634,226,340.39,571,274.515,1140,398.8,1141,487.333]],["content/46",[1,4.172,29,5.213,37,4.522,50,5.623,51,3.218,64,3.021,69,5.305,78,3.328,80,5.384,89,3.771,102,2.743,126,5.861,130,3.067,132,6.251,139,1.288,168,6.109,169,6.251,183,4.505,225,6.704,226,8.648,256,5.623,259,3.967,273,3.6,285,3.366,307,7.419,309,4.302,352,4.336,395,7.668,423,3.937,440,6.409,447,5.004,493,5.861,511,5.384,518,6.79,567,6.251,571,9.12,573,3.532,592,9.818,621,4.795,674,5.027,753,5.159,761,4.742,812,4.849,877,5.861,1067,4.795,1125,5.861,1140,10.132,1142,5.384,1143,6.251,1144,8.871,1145,8.146,1146,6.564,1147,8.871,1148,12.318,1149,11.487,1150,13.414,1151,7.668,1152,6.251,1153,7.668,1154,7.668,1155,10.626,1156,8.146,1157,6.586,1158,12.318,1159,13.414,1160,8.871,1161,8.146,1162,5.23,1163,7.311,1164,7.311,1165,9.238,1166,5.23,1167,6.109,1168,11.399,1169,5.861,1170,8.146,1171,8.871,1172,8.871,1173,13.414,1174,8.871,1175,4.849,1176,5.467,1177,8.545,1178,8.871,1179,8.871,1180,8.871,1181,8.871,1182,8.871,1183,8.871,1184,8.871,1185,8.871,1186,7.668,1187,7.311,1188,8.871,1189,5.98,1190,8.871]],["keywords/46",[]],["title/47",[317,480.389]],["content/47",[]],["keywords/47",[]],["title/48",[187,434.914,317,375.584]],["content/48",[1,3.589,5,3.4,138,7.115,143,5.576,187,6.638,265,5.985,317,7.401,434,8.138,1191,17.35,1192,12.533,1193,13.513,1194,11.593,1195,9.837]],["keywords/48",[]],["title/49",[317,308.318,1191,775.333,1192,674.064]],["content/49",[5,0.878,35,2.071,45,1.169,46,5.076,55,3.205,75,8.109,78,2.121,84,3.055,89,3.988,138,4.699,139,2.253,140,0.752,143,1.733,144,1.212,146,4.472,160,2.397,162,0.912,164,2.945,192,1.144,193,5.61,208,1.897,209,7.538,213,5.015,219,3.366,223,2.818,234,6.726,238,5.456,252,2.651,274,3.205,279,5.189,292,3.759,309,4.55,317,7.417,318,1.235,376,2.621,495,8.415,554,4.811,573,2.252,642,2.818,646,6.957,693,5.316,700,2.34,750,4.293,758,5.375,813,2.491,874,5.882,884,6.777,1056,13.229,1191,7.431,1192,3.894,1196,6.965,1197,5.655,1198,3.985,1199,10.458,1200,8.42,1201,11.43,1202,5.015,1203,6.199,1204,7.333,1205,6.199,1206,16.003,1207,12.803,1208,14.843,1209,16.14,1210,6.46,1211,7.732,1212,5.61,1213,5.876,1214,5.251,1215,6.083,1216,11.531,1217,7.732,1218,11.531,1219,6.777,1220,7.732,1221,12.803]],["keywords/49",[]],["title/50",[317,308.318,434,437.682,1191,775.333]],["content/50",[5,0.94,35,1.337,45,2.052,46,4.192,55,3.433,75,7.914,78,2.272,84,3.233,102,1.873,130,3.433,138,4.931,139,1.832,140,0.805,143,1.856,144,1.283,146,4.732,153,2.412,160,2.515,164,3.071,192,1.225,193,5.937,208,1.225,209,6.573,213,5.307,219,3.562,223,3.018,234,7.014,238,5.774,252,2.839,259,2.708,279,5.411,292,3.978,309,4.815,317,7.36,318,1.323,376,1.693,434,5.641,492,4.268,495,8.7,554,5.092,573,2.412,642,4.947,646,7.152,693,5.626,750,4.543,758,2.708,836,3.676,874,4.858,884,7.172,1056,13.411,1191,7.864,1196,7.371,1199,9.834,1200,7.853,1201,10.66,1202,5.307,1203,6.56,1204,7.558,1205,6.56,1206,16.297,1207,7.172,1209,16.316,1210,6.837,1211,8.183,1212,5.937,1213,6.218,1214,5.557,1215,6.437,1216,12.024,1217,8.183,1218,12.024,1219,7.172,1220,8.183,1221,7.172,1222,4.171,1223,4.497,1224,4.002,1225,5.562,1226,13.918,1227,16.1,1228,5.562]],["keywords/50",[]],["title/51",[317,375.584,1193,885.315]],["content/51",[5,2.542,35,3.007,45,1.871,48,2.446,50,3.146,75,8.94,84,5.333,138,6.402,140,1.203,143,2.773,144,1.76,152,3.248,160,3.265,162,1.46,192,1.831,194,2.786,208,2.755,209,8.208,223,4.511,224,2.977,238,7.922,248,4.689,277,2.898,279,5.052,285,3.435,292,5.458,317,7.063,318,1.976,439,11.605,495,10.714,642,4.511,677,4.949,700,7.539,750,7.493,801,7.17,813,6.001,874,6.665,1025,14.156,1054,4.787,1056,9.399,1140,5.67,1193,10.113,1195,4.893,1196,6.721,1198,13.767,1199,11.039,1200,8.87,1201,8.395,1202,7.282,1203,9,1206,10.113,1208,9.38,1209,9.182,1210,9.38,1229,9.052,1230,6.379,1231,8.312,1232,9.598,1233,13.621,1234,8.312,1235,7.17,1236,9.052,1237,5.13,1238,14.156,1239,8.312,1240,13.621,1241,9.052]],["keywords/51",[]],["title/52",[317,375.584,1194,759.545]],["content/52",[1,1.279,9,2.701,45,1.34,46,2.737,51,2.352,55,3.674,75,8.6,78,2.432,84,4.304,102,2.004,121,2.966,138,5.167,139,2.206,140,0.862,143,1.986,144,0.838,146,3.09,153,2.581,160,2.635,162,1.693,164,2.208,187,2.364,192,2.122,193,3.877,209,7.516,213,3.466,219,7.254,223,3.23,234,5.044,238,3.77,252,3.039,259,2.899,279,5.634,292,4.204,317,6.933,333,6.526,336,2.565,373,5.134,376,1.811,495,8.98,554,3.325,642,5.228,646,5.698,693,3.674,717,5.803,742,2.877,750,4.801,758,5.91,874,5.134,884,4.683,1054,3.429,1056,11.92,1194,11.372,1199,12.67,1200,8.885,1201,12.46,1202,5.609,1203,6.933,1204,7.388,1205,6.933,1206,13.955,1211,5.343,1212,3.877,1213,4.06,1214,3.629,1215,4.204,1216,8.648,1217,5.343,1218,8.648,1219,4.683,1220,5.343,1225,5.953,1242,3.504,1243,9.634,1244,6.483,1245,5.343,1246,13.13,1247,15.189,1248,9.634,1249,6.571,1250,9.069,1251,7.58,1252,9.634,1253,5.001,1254,16.247,1255,6.483,1256,10.492,1257,6.483,1258,10.492,1259,6.483,1260,17.853,1261,11.425,1262,6.483,1263,5.953]],["keywords/52",[]],["title/53",[55,864.282]],["content/53",[5,2.571,46,8.731,55,11.718,75,7.581,130,5.728,209,7.464,240,5.613,255,10.054,317,7.1,362,7.964,434,7.408,554,8.496,742,7.352,744,9.773,1192,11.408,1194,10.553,1264,11.408,1265,16.566,1266,9.056,1267,16.566,1268,16.566,1269,16.566,1270,16.378]],["keywords/53",[]],["title/54",[1204,631.123]],["content/54",[1,2.808,5,1.672,35,1.824,45,1.708,48,3.434,59,2.141,70,3.096,75,6.515,78,1.824,79,1.855,88,1.985,91,1.834,102,1.503,106,2.599,119,5.472,138,1.9,139,1.565,140,1.893,143,2.531,146,3.938,157,5.956,159,2.657,162,1.738,164,2.674,171,3.045,185,2.357,193,6.443,208,0.983,209,6.415,213,4.417,217,1.568,219,2.964,220,2.224,225,2.543,226,2.599,234,7.443,259,4.818,265,4.178,273,1.973,277,3.856,279,3.996,286,2.79,317,7.09,324,6.443,329,2.599,336,1.924,340,4.487,345,4.324,378,2.445,460,2.95,554,2.493,615,2.378,642,2.422,646,6.52,671,2.157,673,2.224,693,8.069,698,3.78,712,3.277,743,3.152,744,2.298,789,6.443,819,2.657,884,9.18,918,2.755,930,2.357,952,2.357,1056,12.54,1200,7.029,1201,9.542,1204,9.14,1206,15.321,1207,11.93,1208,14.21,1209,15.721,1210,5.689,1212,7.598,1213,8.918,1214,4.624,1215,8.239,1216,10.472,1217,6.809,1218,10.472,1219,7.784,1220,6.809,1221,11.185,1222,5.689,1232,5.822,1237,2.755,1271,4.861,1272,4.464,1273,4.464,1274,4.861,1275,3.425,1276,4.861,1277,3.609,1278,4.464,1279,5.822,1280,4.861,1281,10.472,1282,3.425,1283,8.261,1284,8.261,1285,4.861,1286,4.006,1287,5.136,1288,4.006]],["keywords/54",[]],["title/55",[1204,631.123]],["content/55",[]],["keywords/55",[]],["title/56",[277,208.292,1204,405.061,1277,726.759]],["content/56",[1,2.501,55,7.185,64,4.317,75,5.802,78,4.756,88,5.179,91,4.784,97,5.354,102,3.92,119,6.439,140,2.307,143,3.884,155,6.503,164,3.653,173,5.466,180,3.682,181,4.501,187,4.625,193,7.582,194,3.902,217,4.089,241,6.095,252,5.943,277,3.693,332,7.012,508,8.076,564,8.076,671,5.627,675,7.185,693,7.185,758,5.669,775,4.231,819,6.931,843,7.814,1175,6.931,1200,7.88,1204,10.072,1212,7.582,1213,7.941,1215,8.221,1219,9.16,1253,6.043,1277,9.414,1289,10.96,1290,10.96,1291,9.414,1292,9.414,1293,6.568,1294,12.679,1295,12.23,1296,9.704,1297,6.043,1298,9.414,1299,9.414,1300,7.941,1301,10.96,1302,10.96]],["keywords/56",[]],["title/57",[1204,493.432,1289,1030.714]],["content/57",[4,7.07,48,5.495,52,4.84,78,5.015,89,5.683,91,5.044,125,8.515,173,5.763,207,7.308,277,5.084,279,4.958,355,7.994,648,13.201,720,9.011,754,10.918,813,5.889,842,9.419,875,6.724,924,8.113,980,10.231,1022,10.231,1204,5.532,1273,16.519,1289,11.555,1293,11.759,1303,9.925,1304,13.367,1305,13.367,1306,17.99,1307,11.555,1308,12.275,1309,13.367,1310,12.275,1311,11.018,1312,13.367,1313,12.275,1314,9.925,1315,9.657,1316,8.515,1317,13.367,1318,13.367]],["keywords/57",[]],["title/58",[1204,493.432,1290,1030.714]],["content/58",[17,10.088,48,4.515,75,8.476,91,3.531,140,1.244,141,5.856,152,3.358,160,1.866,164,3.516,174,7.831,198,8.403,202,3.847,209,6.292,217,7.14,221,6.772,256,4.854,265,4.592,277,3.942,279,3.471,286,14.079,309,6.772,332,5.176,348,12.786,508,8.895,700,5.779,724,9.317,819,5.116,980,12.786,1140,5.861,1194,8.895,1200,4.249,1204,3.873,1230,9.84,1290,12.071,1293,10.266,1297,6.656,1316,5.961,1319,22.136,1320,13.964,1321,13.964,1322,13.964,1323,13.964,1324,7.413,1325,9.358,1326,9.358,1327,19.816,1328,9.358,1329,9.358,1330,22.626]],["keywords/58",[]],["title/59",[1204,493.432,1212,713.067]],["content/59",[1,2.054,5,1.616,43,9.982,48,6.286,61,5.095,62,3.564,75,8.135,78,3.907,84,3.391,97,4.397,102,3.22,106,5.567,140,1.384,152,3.737,160,2.076,180,3.024,181,3.697,194,3.205,220,4.765,224,3.425,256,3.62,258,8.786,260,6.881,271,6.32,273,4.226,277,4.15,317,4.759,332,5.76,378,5.238,646,3.907,649,7.748,661,6.753,698,4.765,703,8.249,712,7.02,750,4.765,751,6.634,754,6.32,775,5.933,843,6.418,1200,4.728,1204,6.252,1212,10.631,1222,7.171,1232,7.338,1293,11.187,1297,4.964,1315,10.914,1331,10.414,1332,6.753,1333,15.61,1334,16.131,1335,6.881,1336,13.606,1337,5.902,1338,10.414,1339,7.732,1340,6.057,1341,6.418]],["keywords/59",[]],["title/60",[1204,493.432,1213,746.821]],["content/60",[5,2.4,35,1.82,37,2.779,43,8.381,48,5.349,61,4.034,62,2.821,75,7.944,84,5.035,102,2.549,106,6.781,124,4.314,130,2.851,140,1.096,143,2.526,144,1.065,152,2.958,160,1.643,164,1.735,180,4.49,181,2.926,188,4.614,189,3.283,208,2.566,213,4.407,220,3.772,256,2.865,258,7.377,265,2.711,275,4.559,277,4.744,278,3.772,285,3.128,317,5.469,324,4.93,370,9.529,373,6.207,375,6.619,378,4.147,442,5.081,643,3.714,646,3.093,649,7.93,651,9.246,661,5.345,676,3.367,693,4.672,698,3.772,703,6.53,712,5.557,725,4.672,775,4.233,930,6.152,1067,4.456,1199,5.557,1200,3.743,1204,7.756,1212,4.93,1213,11.74,1214,4.614,1232,5.809,1293,11.31,1297,7.37,1315,5.956,1333,14.426,1334,15.291,1336,13.288,1339,9.418,1340,4.794,1341,5.081,1342,8.244,1343,5.447,1344,6.794,1345,6.309,1346,8.244,1347,4.794,1348,8.244,1349,8.244,1350,10.965,1351,9.418,1352,5.251]],["keywords/60",[]],["title/61",[693,675.723,1204,493.432]],["content/61",[1,0.922,5,2.515,7,2.215,18,1.764,20,2.618,37,1.576,43,5.282,48,4.819,52,4.534,61,2.288,62,1.6,75,6.368,78,1.754,84,3.409,96,2.838,102,1.446,120,2.586,139,2.202,140,0.622,143,1.433,144,1.353,146,3.81,152,2.868,159,2.556,160,0.932,164,1.682,172,4.321,173,2.016,177,2.72,180,1.358,181,1.66,182,2.65,188,2.618,194,1.439,213,2.5,219,2.868,220,5.668,230,3.521,232,5.217,234,7.79,256,1.625,258,2.72,265,1.538,268,4.78,271,2.838,272,2.684,275,4.421,277,4.255,285,1.775,290,4.474,298,3.854,309,5.077,317,3.297,325,2.684,333,2.309,362,2.248,373,7.42,374,10.074,375,5.303,377,3.152,378,11.224,379,3.152,432,2.72,447,3.905,543,2.979,592,2.838,615,2.288,637,2.929,646,3.927,649,5.369,652,4.141,661,3.032,676,1.91,693,14.028,695,4.37,696,6.353,698,4.79,711,3.472,743,5.183,750,2.14,775,1.561,819,2.556,883,2.882,884,3.378,895,8.012,1039,5.775,1067,2.528,1176,4.926,1200,3.629,1204,6.275,1212,2.796,1213,2.929,1232,3.295,1251,3.378,1293,11.207,1315,3.378,1333,13.71,1334,14.204,1336,11.606,1339,5.935,1340,2.72,1341,2.882,1347,2.72,1353,4.042,1354,4.294,1355,4.676,1356,11.023,1357,4.676,1358,2.72,1359,8.292,1360,3.579,1361,4.676,1362,2.838,1363,4.294,1364,3.854,1365,8.012,1366,3.704,1367,4.294,1368,3.032,1369,4.676,1370,4.676,1371,4.676,1372,4.676,1373,4.676,1374,4.676,1375,4.676,1376,10.209]],["keywords/61",[]],["title/62",[1204,493.432,1215,773.178]],["content/62",[5,2.561,17,6.621,35,2.023,43,9.084,48,5.78,61,4.484,62,3.137,75,8.987,78,3.438,84,2.984,102,2.834,140,1.218,143,2.808,144,1.184,152,3.288,160,1.827,164,1.929,180,2.662,181,5.856,189,5.474,208,2.78,209,6.194,217,4.434,220,6.291,258,5.33,262,6.055,277,4.876,284,4.796,286,11.837,317,2.887,332,5.069,378,4.61,615,6.727,628,4.098,646,3.438,649,7.051,661,10.698,698,4.194,750,4.194,775,5.506,1199,9.267,1200,4.161,1204,5.689,1215,14.265,1232,6.458,1275,6.458,1277,10.207,1293,10.175,1297,6.553,1315,6.621,1333,13.627,1334,14.829,1336,12.627,1337,5.194,1339,6.804,1340,5.33,1341,10.168,1362,5.562,1377,5.562,1378,15.149,1379,7.014,1380,9.164,1381,8.415,1382,7.922]],["keywords/62",[]],["title/63",[193,713.067,1204,493.432]],["content/63",[1,1.858,5,2.178,17,4.107,18,2.145,35,2.664,37,3.176,43,6.225,45,1.175,46,3.978,48,4.533,50,1.976,59,4.15,60,1.997,61,2.781,62,3.224,75,8.504,78,3.534,84,5.067,89,2.417,97,3.978,102,1.758,112,2.832,129,3.144,140,0.756,141,7.794,144,0.734,152,2.04,160,1.133,162,0.917,164,1.196,165,3.006,174,2.664,180,2.736,181,5.954,183,2.887,186,1.609,189,3.751,193,8.393,208,1.905,209,4.245,217,1.833,219,2.04,220,5.521,224,1.869,258,3.306,272,3.263,275,3.144,277,4.434,279,2.108,282,3.399,286,8.055,292,3.775,307,3.144,309,2.757,317,2.968,326,3.503,327,3.144,336,2.249,345,4.931,358,2.359,376,1.588,378,7.059,494,3.144,508,3.621,558,4.107,562,3.832,574,3.351,615,5.903,620,2.832,643,5.436,646,3.534,649,7.979,658,4.005,661,7.823,698,2.601,712,3.832,746,7.586,750,4.311,758,2.542,775,3.144,848,2.451,874,4.61,875,2.859,918,11.553,929,6.225,1199,6.351,1200,4.277,1202,5.036,1204,6.438,1215,10.875,1232,8.502,1237,5.339,1277,8.958,1278,8.651,1291,6.995,1293,8.059,1295,4.005,1297,5.751,1315,4.107,1333,11.082,1334,12.527,1336,10.741,1337,3.221,1339,4.22,1340,3.306,1341,3.503,1351,6.995,1352,8.94,1378,8.651,1382,4.913,1383,4.685,1384,5.684,1385,5.684,1386,3.306,1387,5.684,1388,3.756,1389,4.005,1390,9.421,1391,7.685,1392,4.502,1393,5.684,1394,4.913,1395,5.684,1396,5.684,1397,9.421,1398,9.421,1399,6.806,1400,5.684,1401,4.502,1402,6.109,1403,4.22,1404,4.913,1405,3.56,1406,5.22]],["keywords/63",[]],["title/64",[1204,493.432,1219,861.436]],["content/64",[1,3.344,5,2.632,31,9.101,39,6.78,43,11.204,46,5.176,48,4.583,52,2.918,55,6.947,62,4.195,66,7.555,79,4.679,120,6.78,130,4.239,140,1.63,152,4.398,154,11.256,160,2.444,181,4.351,194,5.219,230,5.4,234,5.893,275,6.78,277,4.137,285,4.652,378,6.166,383,6.35,404,4.763,596,8.441,652,8.784,661,7.948,671,5.44,676,5.007,693,11.018,742,5.44,761,6.553,775,4.091,813,5.4,883,7.555,1200,7.699,1204,8.045,1219,12.251,1277,9.101,1293,6.35,1301,10.596,1315,8.856,1333,12.846,1334,15.355,1336,9.382,1340,7.129,1341,7.555,1407,10.103,1408,11.256,1409,12.258,1410,12.258]],["keywords/64",[]],["title/65",[1204,493.432,1279,840.217]],["content/65",[1,3.711,143,5.765,187,8.15,317,5.927,345,9.849,812,10.287,1204,9.247,1279,15.746,1281,15.51,1411,16.267]],["keywords/65",[]],["title/66",[1204,493.432,1411,1030.714]],["content/66",[29,5.6,35,3.182,84,6.159,91,5.437,97,6.085,119,7.319,140,1.916,144,1.862,152,5.171,160,2.873,180,4.185,183,7.319,224,4.739,265,4.739,277,3.067,292,7.578,750,6.594,874,10.966,875,7.249,918,13.795,1202,10.11,1204,7.826,1297,6.869,1351,14.041,1352,12.047,1402,12.263,1403,10.7,1404,12.457,1405,9.026,1406,13.233,1411,12.457,1412,14.411,1413,14.411]],["keywords/66",[]],["title/67",[1204,493.432,1281,982.769]],["content/67",[5,2.996,17,6.358,35,1.943,48,3.604,52,4.275,60,3.091,78,3.301,139,2.338,140,1.17,152,3.158,160,1.754,162,1.42,172,7.207,173,3.794,180,2.556,183,8.176,205,5.263,207,4.811,208,1.78,213,10.317,217,2.838,256,3.059,273,3.571,277,4.107,317,2.772,350,4.147,358,3.338,371,5.189,373,9.443,374,7.052,375,5.708,626,5.606,645,5.424,649,6.838,725,11.955,750,4.027,785,10.562,1200,9.221,1204,3.642,1222,11.086,1232,9.396,1266,7.289,1281,19.482,1282,6.201,1288,7.253,1293,4.559,1297,7.673,1337,4.987,1347,5.118,1365,13.746,1382,7.607,1414,6.971,1415,8.8,1416,8.8,1417,8.8,1418,13.009,1419,8.8,1420,8.8,1421,8.8,1422,8.8,1423,8.8,1424,8.8,1425,16.098,1426,8.8,1427,8.8,1428,8.8,1429,13.334,1430,8.081,1431,13.334,1432,17.959,1433,8.8]],["keywords/67",[]],["title/68",[277,208.292,345,512.282,1204,405.061]],["content/68",[1,3.196,35,3.577,45,3.349,140,2.154,152,5.814,160,3.23,162,3.778,174,7.595,208,3.277,277,5.322,340,5.721,345,11.678,1199,13.746,1200,9.258,1204,6.705,1222,11.158,1237,11.556,1434,16.203]],["keywords/68",[]],["title/69",[671,529.196,1204,493.432]],["content/69",[1,3.356,5,2.412,7,1.064,9,2.808,17,2.775,18,3.398,20,3.773,45,0.794,46,1.622,48,5.537,52,1.605,54,2.234,61,1.879,62,1.315,64,1.308,69,7.368,75,8.067,77,6.894,78,5.829,89,4.603,91,4.085,97,4.572,106,3.604,107,4.75,110,2.406,112,1.914,121,1.758,125,2.447,130,3.744,139,0.558,140,1.197,143,2.065,152,3.885,153,1.53,155,1.97,157,5.075,165,2.031,171,4.222,173,1.656,181,4.374,184,3.166,185,1.863,188,2.15,189,1.53,192,2.745,194,1.182,195,2.331,197,1.53,202,3.703,203,3.82,209,7.943,217,1.239,220,3.084,225,2.075,226,3.604,240,7.475,241,5.205,252,1.801,255,2.331,258,2.234,262,4.454,265,1.263,271,2.331,277,4.525,284,2.01,307,3.728,309,3.269,317,6.454,318,2.69,320,2.331,336,3.564,350,2.5,404,3.5,435,2.775,440,2.775,442,5.551,447,3.36,495,1.932,508,4.294,543,2.447,555,7.135,563,2.031,568,2.573,593,3.974,614,4.666,615,1.879,623,3.166,642,6.14,643,1.731,647,2.177,671,5.468,711,2.852,715,5.339,742,1.705,744,6.914,750,4.122,751,5.738,754,2.331,758,4.841,775,5.449,789,4.031,802,2.94,824,2.852,836,2.331,843,4.154,848,2.906,851,3.166,874,1.879,918,3.82,952,1.863,1027,3.241,1036,2.589,1146,1.879,1175,4.924,1204,8.891,1213,2.406,1253,6.973,1266,7.418,1288,5.556,1295,4.75,1352,2.447,1362,4.091,1363,3.527,1435,3.32,1436,3.527,1437,3.841,1438,3.841,1439,2.707,1440,3.527,1441,3.32,1442,3.841,1443,4.371,1444,4.87,1445,5.827,1446,6.741,1447,6.741,1448,3.32,1449,3.32,1450,4.091,1451,3.043,1452,3.32,1453,3.527,1454,14.628,1455,11.73,1456,2.94,1457,9.007,1458,3.527,1459,3.043,1460,3.527,1461,2.707,1462,2.589,1463,5.827,1464,2.94,1465,2.775,1466,3.32,1467,3.841,1468,5.827,1469,5.159,1470,5.827,1471,3.043,1472,3.527,1473,2.94,1474,4.75,1475,6.19,1476,2.15,1477,5.556,1478,2.645,1479,2.645,1480,3.841,1481,5.827,1482,2.775,1483,3.841,1484,3.841,1485,3.32]],["keywords/69",[]],["title/70",[77,912.615,240,403.969]],["content/70",[]],["keywords/70",[]],["title/71",[746,644.506,1486,861.436]],["content/71",[5,1.892,48,3.295,77,9.33,105,8.395,106,6.517,119,6.191,139,3.302,155,6.252,163,6.019,180,3.54,192,2.466,196,5.41,198,6.132,217,3.932,240,4.13,241,5.861,279,4.521,317,6.592,318,2.662,336,7.671,358,3.052,379,8.217,423,5.41,538,9.33,596,8.395,671,5.41,742,7.497,744,9.892,746,6.589,764,9.051,768,9.343,775,4.068,779,9.051,1157,9.051,1200,5.535,1201,7.513,1204,8.661,1253,5.811,1295,8.59,1297,5.811,1298,9.051,1487,12.19,1488,7.399,1489,17.8,1490,10.538,1491,12.19,1492,12.19,1493,9.33,1494,12.19,1495,11.194,1496,11.194,1497,12.19,1498,10.538,1499,9.051,1500,12.19,1501,6.997,1502,11.194]],["keywords/71",[]],["title/72",[1493,1167.278]],["content/72",[5,2.987,10,11.324,46,8.124,70,9.425,192,2.993,195,11.677,198,7.443,217,4.772,240,7.244,274,8.385,279,5.488,317,4.661,318,3.231,336,8.461,423,6.567,673,6.77,742,9.489,744,10.106,758,6.616,768,10.641,952,7.176,1204,6.123,1266,10.518,1347,8.605,1493,17.963,1503,12.195,1504,14.796,1505,10.986]],["keywords/72",[]],["title/73",[1506,1400.437]],["content/73",[5,2.409,46,6.554,70,9.887,78,5.823,192,3.139,195,9.42,217,5.006,224,5.104,225,4.777,240,6.723,241,7.462,274,8.796,317,4.889,318,3.389,336,8.656,423,6.889,570,9.027,742,9.708,744,10.339,768,10.975,1204,6.423,1493,17.644,1498,13.417,1506,20.085,1507,15.521]],["keywords/73",[]],["title/74",[1508,1400.437]],["content/74",[5,2.409,70,9.887,78,5.823,192,3.139,195,9.42,217,5.006,224,5.104,225,4.777,240,6.723,241,7.462,274,8.796,317,4.889,318,3.389,336,8.656,423,6.889,570,9.027,742,9.708,744,10.339,768,10.975,1204,6.423,1266,8.485,1493,17.644,1498,13.417,1508,20.085,1509,15.521]],["keywords/74",[]],["title/75",[1455,1318.333]],["content/75",[5,1.909,48,5.959,51,2.873,62,2.71,75,6.898,91,4.64,103,9.775,139,3.051,140,1.053,143,2.426,173,3.414,180,3.572,181,6.033,189,3.154,192,1.602,201,6.574,217,5.482,219,4.413,224,2.604,240,4.166,241,3.807,252,3.712,259,3.541,277,3.208,317,6.134,318,1.729,327,4.38,336,6.726,362,3.807,371,7.251,379,5.338,390,11.292,423,3.515,425,7.251,442,7.579,447,2.954,555,6.273,614,4.103,642,3.946,646,4.613,676,3.235,742,7.543,744,7.126,768,6.801,775,7.61,819,8.241,1200,3.596,1201,7.579,1204,7.615,1253,9.687,1266,8.241,1295,5.581,1301,13.032,1347,4.606,1352,7.834,1452,10.63,1455,6.846,1458,7.272,1459,6.273,1465,5.721,1478,5.454,1489,15.606,1495,7.272,1496,15.606,1502,7.272,1510,10.136,1511,11.538,1512,9.741,1513,7.919,1514,7.919,1515,7.919,1516,8.666,1517,7.919,1518,7.919,1519,6.846,1520,7.919,1521,7.919,1522,7.919,1523,6.527,1524,6.273,1525,6.527]],["keywords/75",[]],["title/76",[1468,1318.333]],["content/76",[1,3.704,5,1.784,7,3.185,49,7.933,51,4.17,140,1.528,143,3.522,151,4.466,155,5.895,189,4.577,192,2.325,208,3.279,217,3.707,224,3.78,240,5.493,252,5.388,259,5.14,277,5.244,317,5.107,318,2.51,319,7.916,336,7.433,362,5.526,379,7.748,423,5.101,447,4.288,508,7.322,614,5.955,642,5.728,742,7.195,744,8.878,750,5.26,768,8.967,775,7.948,1092,9.474,1204,8.442,1237,6.514,1253,7.728,1266,10.268,1465,8.304,1468,9.936,1478,7.916,1510,13.363,1511,14.376,1512,9.105,1526,7.453,1527,11.494,1528,11.494]],["keywords/76",[]],["title/77",[1477,1257.008]],["content/77",[1,3.834,5,1.903,51,4.446,97,5.176,140,1.63,143,3.756,151,4.763,155,6.287,189,4.881,192,2.479,203,6.947,217,3.954,240,4.153,252,5.746,259,5.481,277,5.205,317,6.124,318,2.676,336,7.694,362,5.893,423,5.44,447,4.572,614,6.35,642,6.108,742,7.526,744,9.189,750,5.609,751,7.808,768,9.379,775,7.794,1092,10.103,1204,8.045,1237,6.947,1253,8.083,1266,10.628,1465,8.856,1477,10.103,1478,8.441,1510,13.976,1511,14.88,1512,9.709,1529,12.258,1530,12.258]],["keywords/77",[]],["title/78",[1481,1318.333]],["content/78",[5,1.872,48,6.588,51,4.374,97,7.079,103,7.819,140,1.603,143,3.694,151,4.685,155,6.184,174,5.652,181,5.951,189,4.801,192,2.439,217,3.889,240,4.085,252,5.652,259,5.392,317,6.071,318,2.633,336,7.627,362,5.797,423,5.351,447,4.498,614,6.246,642,6.008,742,7.44,744,9.109,750,5.517,751,10.679,768,9.272,775,7.758,1092,9.938,1204,7.975,1237,6.833,1253,7.991,1266,10.536,1465,8.711,1478,8.303,1481,10.423,1510,13.818,1511,14.751,1512,9.551,1519,10.423,1531,12.058,1532,12.058]],["keywords/78",[]],["title/79",[1485,1318.333]],["content/79",[5,1.663,35,2.366,48,5.894,97,6.512,102,3.313,103,6.949,140,2.05,150,4.721,155,7.91,157,5.023,187,3.909,189,4.267,192,2.167,198,5.39,209,4.828,217,3.456,240,6.121,241,8.686,252,5.023,277,4.205,309,5.197,317,6.596,318,2.34,327,5.927,336,7.15,362,5.152,376,2.994,543,6.826,614,7.989,709,10.621,742,8.019,744,8.54,751,9.824,758,4.792,768,8.53,775,7.675,918,8.74,1204,7.477,1253,8.612,1266,10.804,1391,6.826,1465,7.742,1477,8.832,1485,13.332,1511,8.202,1519,9.263,1533,10.716,1534,10.716,1535,8.832,1536,8.202,1537,18.067,1538,7.742,1539,9.84,1540,10.716,1541,10.716]],["keywords/79",[]],["title/80",[1542,1400.437]],["content/80",[5,2.874,35,3.081,88,5.701,91,5.266,120,7.719,139,2.689,180,5.378,192,2.823,217,4.502,240,4.729,279,5.177,318,3.047,336,8.223,350,4.276,700,5.776,742,10.221,744,9.821,768,10.241,775,6.18,812,7.63,834,10.083,936,10.363,1072,10.363,1204,7.662,1316,8.891,1523,17.126,1542,12.816,1543,5.297,1544,12.816,1545,13.957,1546,18.516,1547,20.779,1548,13.957,1549,13.957]],["keywords/80",[]],["title/81",[144,197.056]],["content/81",[129,10.497,144,2.452,159,10.375,192,3.839,202,7.803,240,6.43,279,7.039,318,4.144,1204,9.294,1550,12.307,1551,11.519]],["keywords/81",[]],["title/82",[1,235.172,21,630.625]],["content/82",[]],["keywords/82",[]],["title/83",[21,630.625,79,455.148]],["content/83",[1,4.342,5,1.317,7,1.39,18,1.892,21,6.858,35,2.434,36,6.585,37,4.371,47,5.404,50,2.949,52,1.194,54,2.917,57,5.978,58,2.193,70,3.195,71,5.073,80,3.044,84,1.633,91,1.892,102,2.623,130,1.734,136,1.981,139,2.106,143,2.599,144,0.648,152,1.799,157,2.351,162,0.809,165,2.652,179,2.499,192,2.23,196,2.226,202,2.062,219,5.647,220,2.295,224,1.649,225,4.844,232,5.494,236,3.534,248,2.598,252,2.351,279,4.089,290,2.807,305,2.842,309,2.432,318,1.095,325,2.878,326,3.091,327,2.774,333,2.476,336,1.985,337,5.332,352,4.493,353,5.513,383,4.394,414,13.959,416,4.133,434,3.793,436,2.295,437,2.625,465,3.724,495,4.267,513,6.593,522,6.412,540,3.141,554,2.572,571,2.162,575,2.878,620,8.782,676,3.465,686,2.598,697,7.363,724,2.523,822,2.807,848,2.162,849,2.476,930,2.432,1027,8.059,1054,2.652,1078,4.605,1142,3.044,1146,2.454,1167,13.075,1332,3.252,1337,2.842,1366,3.972,1474,3.534,1486,3.623,1552,3.623,1553,5.015,1554,3.252,1555,4.605,1556,3.314,1557,4.605,1558,3.454,1559,5.015,1560,5.015,1561,5.015,1562,5.015,1563,3.724,1564,5.015,1565,5.015,1566,5.015,1567,3.724,1568,3.454,1569,4.605,1570,3.838,1571,3.623,1572,3.972,1573,4.133,1574,3.838,1575,3.091,1576,4.335,1577,5.015,1578,3.972,1579,18.987,1580,5.015,1581,7.79,1582,6.719,1583,18.987,1584,5.015,1585,5.015,1586,5.015,1587,6.932,1588,7.442,1589,5.015,1590,5.015,1591,4.078,1592,5.015,1593,8.483,1594,5.015,1595,5.015,1596,5.015,1597,5.015,1598,5.015,1599,5.015,1600,5.015,1601,5.015,1602,5.015,1603,5.015,1604,5.015,1605,7.79,1606,4.585,1607,4.133,1608,4.133,1609,5.015,1610,5.015,1611,4.133,1612,5.015,1613,5.015,1614,3.141,1615,5.015,1616,5.015,1617,5.015,1618,5.015,1619,5.015,1620,5.015,1621,4.605,1622,5.015,1623,3.838,1624,4.605,1625,4.335,1626,15.739,1627,8.483,1628,11.024,1629,8.483,1630,5.015,1631,5.015,1632,5.015,1633,5.015,1634,5.015,1635,5.015,1636,5.015,1637,5.015,1638,5.015,1639,5.015,1640,5.015,1641,5.015,1642,5.015,1643,5.015,1644,5.015,1645,5.015,1646,5.015,1647,5.015,1648,5.015,1649,5.015,1650,4.605]],["keywords/83",[]],["title/84",[4,517.683,225,301.263,1651,659.816]],["content/84",[1,3.345,4,10.594,7,2.66,18,3.623,20,5.374,21,10.594,67,5.249,79,7.16,102,2.969,130,3.32,139,2.724,142,4.83,144,1.241,162,1.549,164,2.021,202,5.851,225,5.773,248,9.717,273,3.896,279,5.279,325,5.511,326,5.918,337,5.746,349,3.024,350,2.217,352,2.574,353,4.082,361,5.661,404,3.731,466,8.3,467,5.827,476,5.661,495,4.83,542,7.781,546,6.472,556,6.766,594,5.31,620,8.452,621,5.19,775,3.204,845,5.918,856,7.349,951,12.981,952,4.656,1030,8.817,1032,6.766,1041,5.668,1054,5.078,1142,5.827,1168,6.766,1223,7.129,1314,12.593,1335,6.344,1486,10.283,1557,8.817,1570,15.332,1608,7.914,1650,8.817,1651,9.595,1652,9.601,1653,7.349,1654,15.867,1655,9.601,1656,13.07,1657,9.601,1658,7.605,1659,14.233,1660,8.817,1661,7.349,1662,8.3,1663,10.03,1664,9.601,1665,6.612,1666,4.656,1667,9.601,1668,9.601,1669,9.601,1670,8.3,1671,7.129]],["keywords/84",[]],["title/85",[225,301.263,434,437.682,1672,689.738]],["content/85",[1,4.449,5,1.049,7,3.767,21,7.19,35,1.492,36,9.241,37,3.658,47,4.306,65,4.466,71,12.859,96,6.586,136,1.579,139,3.412,143,2.071,156,4.383,162,1.751,192,1.367,196,3,202,6.398,219,3.894,220,4.966,225,4.79,248,5.622,273,2.743,279,4.025,337,7.96,352,2.909,353,4.614,361,3.985,407,4.466,434,4.852,443,5.866,476,6.398,518,5.174,533,10.405,571,2.914,592,4.102,620,5.408,666,4.883,676,2.761,677,3.695,686,3.502,724,3.4,743,4.383,761,3.614,775,2.256,825,3.784,1027,11.2,1032,4.763,1054,3.575,1146,3.307,1168,7.647,1253,6.48,1575,4.166,1587,12.059,1588,12.947,1606,3.654,1614,6.797,1623,8.306,1624,9.965,1625,9.38,1651,4.557,1672,4.763,1673,4.102,1674,5.019,1675,4.466,1676,6.207,1677,6.759,1678,6.759,1679,6.207,1680,6.759,1681,6.207,1682,6.759,1683,5.843,1684,6.759,1685,6.759,1686,7.84,1687,6.759,1688,6.759,1689,8.306,1690,8.596,1691,4.383,1692,6.759,1693,4.466]],["keywords/85",[]],["title/86",[1027,573.248,1074,787.86]],["content/86",[]],["keywords/86",[]],["title/87",[551,1050.255]],["content/87",[37,5.893,64,5.953,275,11.822,305,9.907,403,12.98,434,9.558,443,9.449,551,14.72,954,16.052,1052,16.052,1389,12.318,1694,17.481,1695,19.628,1696,16.052,1697,14.408,1698,17.481,1699,14.408,1700,17.481]],["keywords/87",[]],["title/88",[926,806.76,1074,646.758,1701,898.814]],["content/88",[1,3.879,37,5.16,84,4.985,139,2.223,162,2.469,181,5.434,285,8.247,340,6.945,433,10.114,443,10.631,460,9.29,615,7.49,673,7.004,720,10.318,742,6.794,761,8.183,911,13.232,914,11.716,926,12.616,1027,7.359,1074,10.114,1214,8.568,1316,9.751,1488,9.29,1573,12.616,1591,7.359,1701,14.056,1702,15.307,1703,12.616,1704,15.307,1705,15.307,1706,15.307,1707,13.232,1708,11.059,1709,10.541]],["keywords/88",[]],["title/89",[46,503.475,1196,885.315]],["content/89",[1,4.522,35,3.8,46,7.267,208,3.481,337,5.831,350,4.889,403,15.719,434,9.467,443,9.302,492,14.918,495,10.649,917,14.184,1027,10.178,1710,17.21,1711,17.21,1712,15.803]],["keywords/89",[]],["title/90",[240,403.969,285,452.499]],["content/90",[1,3.607,5,2.126,83,10.114,102,4.235,119,9.287,132,9.652,144,1.77,149,9.896,165,7.245,196,6.079,202,5.631,209,6.172,240,7.977,285,5.198,322,8.239,323,8.726,351,9.571,352,5.518,425,8.076,437,7.169,443,9.885,467,11.099,562,9.234,620,6.826,677,7.488,746,7.404,918,10.363,1027,11.004,1046,10.484,1074,12.083,1205,9.051,1341,8.442,1713,13.698,1714,7.096,1715,11.841,1716,10.85,1717,13.698]],["keywords/90",[]],["title/91",[742,529.196,848,514.077]],["content/91",[1,3.842,143,5.968,192,3.94,314,12.201,318,4.253,742,8.645,1027,9.365,1074,12.871,1718,14.073]],["keywords/91",[]],["title/92",[144,154.065,186,337.46]],["content/92",[]],["keywords/92",[]],["title/93",[35,263.251,700,493.432]],["content/93",[1,1.388,5,2.168,9,2.932,35,4.887,37,3.778,45,2.887,48,3.775,52,1.676,59,3.101,61,3.444,88,2.875,94,9.39,137,2.421,140,2.833,142,5.638,143,2.156,144,0.909,145,3.196,152,2.526,153,5.562,157,5.254,162,2.569,174,5.254,179,5.585,181,7.16,183,5.692,186,1.992,189,2.803,194,3.45,198,5.638,200,4.651,201,5.992,204,4,205,4.209,219,5.715,227,1.834,240,6.583,252,3.299,258,9.263,285,2.671,292,4.491,309,6.773,345,5.866,350,1.625,376,3.903,455,7.818,544,4.409,653,4.094,700,7.196,803,6.059,904,12.615,905,12.615,906,8.579,908,8.579,909,5.575,914,12.189,1456,5.387,1462,4.745,1587,7.467,1719,12.825,1720,12.825,1721,12.825,1722,6.463,1723,10.292,1724,7.039,1725,7.039,1726,7.039,1727,7.039,1728,7.039,1729,5.387,1730,7.039,1731,7.039,1732,6.463,1733,5.387,1734,7.039,1735,5.387,1736,5.575,1737,6.463,1738,7.039,1739,11.208,1740,4.209,1741,12.615,1742,5.085,1743,12.189,1744,6.463,1745,10.292,1746,10.292,1747,11.063,1748,9.415,1749,10.37,1750,12.825,1751,10.09,1752,11.511]],["keywords/93",[]],["title/94",[208,241.161,753,693.483]],["content/94",[5,1.371,37,2.978,45,2.764,48,3.614,51,6.528,52,4.842,62,3.024,88,3.609,137,4.601,140,2.57,142,6.727,143,2.707,144,1.142,152,3.17,157,6.269,162,3.281,181,7.906,186,2.501,198,4.444,200,5.838,201,7.15,204,4.773,208,4.505,217,2.85,227,2.302,230,7.928,240,6.55,244,3.373,258,9.385,277,2.846,285,3.353,292,5.359,358,4.04,376,3.737,432,5.139,568,3.373,628,8.047,775,6.006,904,14.255,905,14.255,906,10.236,907,11.023,908,10.236,909,6.999,910,6.085,914,13.774,1462,5.956,1588,7.676,1722,8.113,1732,8.113,1733,6.762,1737,8.113,1745,12.281,1746,12.281,1747,6.999,1753,11.023,1754,12.281,1755,12.281,1756,6.56,1757,9.662,1758,8.835,1759,8.835,1760,6.999,1761,13.374,1762,7.282,1763,8.835]],["keywords/94",[]],["title/95",[825,667.427,1538,861.436]],["content/95",[21,10.163,35,4.243,62,4.104,67,6.556,79,6.375,112,5.976,139,1.742,143,3.674,157,5.622,174,5.622,192,3.378,230,5.283,242,6.796,244,4.578,272,6.883,273,4.867,279,4.448,285,4.551,309,5.816,314,7.511,316,8.084,317,5.261,377,8.084,383,6.212,443,9.028,542,6.556,632,8.323,676,4.898,700,6.911,724,6.032,742,5.322,825,9.349,836,7.278,894,11.501,897,9.884,901,10.366,902,9.884,903,9.884,904,9.499,905,9.499,906,9.179,907,9.884,908,9.179,909,9.499,910,8.259,914,9.179,917,9.884,918,6.796,1027,5.765,1041,6.651,1074,11.036,1215,7.776,1368,7.776,1764,9.499,1765,11.992,1766,11.992,1767,11.992,1768,11.992,1769,11.992,1770,11.992,1771,11.992,1772,11.992,1773,11.012,1774,6.796,1775,11.992,1776,11.992]],["keywords/95",[]],["title/96",[60,418.815,1358,693.483]],["content/96",[]],["keywords/96",[]],["title/97",[60,291.586,136,193.883,137,285.581,277,176.654]],["content/97",[1,3.531,5,2.779,29,6.958,45,3.701,49,10.612,54,10.414,56,11.61,60,6.289,61,8.761,62,6.128,277,4.965,337,6.066,674,10.147,813,7.888,1074,11.831,1358,10.414]],["keywords/97",[]],["title/98",[136,278.481,275,659.477]],["content/98",[1,3.503,5,2.757,29,6.902,60,6.239,136,5.041,256,6.174,277,3.78,286,10.195,329,9.495,348,13.594,370,10.947,376,4.963,697,9.021,761,9.495,1272,16.31,1777,17.762,1778,13.188,1779,17.762,1780,17.762]],["keywords/98",[]],["title/99",[376,333.189,1781,840.217]],["content/99",[1,1.725,5,1.572,7,3.136,18,1.083,20,3.988,29,1.115,35,0.634,37,2.402,45,3.059,47,4.538,48,5.735,49,5.537,50,1.807,51,1.041,52,1.237,53,3.312,55,2.946,56,7.338,60,4.661,61,4.278,62,4.541,63,5.477,78,1.077,84,0.935,102,2.203,103,9.129,120,1.588,121,2.379,136,3.745,137,2.451,139,2.704,142,1.444,151,1.115,153,3.482,157,5.305,158,1.136,162,2.75,163,1.417,165,1.518,167,3.584,172,1.552,175,1.648,181,3.104,188,1.607,189,1.143,194,0.883,196,5.484,197,4.032,208,0.581,209,2.342,213,3.809,219,6.423,220,2.379,223,2.59,224,4.867,230,1.265,232,1.43,234,2.499,274,4.037,275,1.588,277,4.879,279,1.065,285,1.089,292,2.855,296,2.64,324,10.197,326,1.769,336,1.136,358,0.719,370,1.769,371,1.692,373,8.759,374,4.624,375,4.335,376,4.629,378,7.771,379,9.977,446,6.951,453,2.636,455,2.91,503,1.935,543,1.829,554,3.654,558,3.756,614,1.487,626,11.143,627,12.638,643,1.293,646,5.796,676,2.123,693,8.388,696,1.742,716,3.979,725,4.037,750,1.314,753,6.582,789,4.26,813,6.52,819,1.569,878,2.636,883,3.204,930,5.488,938,3.256,969,4.773,970,4.494,1022,3.979,1036,1.935,1039,2.074,1074,10.208,1214,3.988,1223,5.29,1245,4.285,1293,3.691,1359,10.51,1418,3.504,1476,2.91,1499,3.86,1538,3.756,1543,1.973,1709,1.977,1736,8.02,1781,14.57,1782,2.87,1783,6.926,1784,5.198,1785,2.87,1786,2.274,1787,2.87,1788,2.87,1789,2.87,1790,8.744,1791,8.509,1792,2.274,1793,2.023,1794,10.125,1795,2.87,1796,2.87,1797,2.87,1798,4.285,1799,2.87,1800,5.198,1801,4.773,1802,2.226,1803,11.673,1804,2.87,1805,5.198,1806,2.131,1807,4.773,1808,2.87,1809,2.636,1810,2.87,1811,2.87,1812,7.207,1813,4.773,1814,4.118,1815,4.494,1816,4.773,1817,2.87,1818,2.636,1819,2.023,1820,2.636,1821,2.87,1822,2.636,1823,2.87,1824,2.481,1825,2.87,1826,2.366,1827,2.87]],["keywords/99",[]],["title/100",[1,235.172,11,496.721]],["content/100",[]],["keywords/100",[]],["title/101",[1828,1257.008]],["content/101",[]],["keywords/101",[]],["title/102",[1829,1525.086]],["content/102",[1,4.216,139,2.539,325,10.034,571,10.37,1165,12.038,1169,14.124,1570,17.672,1608,14.408,1828,19.825,1830,15.111,1831,14.408,1832,14.408]],["keywords/102",[]],["title/103",[11,496.721,1828,982.769]],["content/103",[1,4.516,5,1.935,7,3.454,11,8.802,67,6.814,102,3.854,139,3.068,141,7.194,153,6.831,197,4.963,202,7.052,225,6.037,256,5.963,302,5.941,307,6.894,337,4.223,349,3.926,407,8.236,522,7.249,573,4.963,580,8.236,592,7.565,677,6.814,845,7.682,1213,7.807,1302,10.775,1554,8.083,1570,15.012,1774,7.064,1828,17.414,1833,12.465,1834,5.124,1835,12.465,1836,17.154,1837,9.005,1838,12.465,1839,12.465,1840,19.793,1841,11.446,1842,12.465,1843,10.775,1844,11.446,1845,12.465,1846,9.005,1847,12.465]],["keywords/103",[]],["title/104",[11,407.761,192,197.97,432,569.283]],["content/104",[35,3.953,139,3.15,202,7.361,225,5.511,338,9.47,533,13.704,620,8.922,1341,11.036,1689,13.704,1840,15.478,1846,12.936,1848,12.936,1849,23.332,1850,13.704,1851,17.905,1852,17.905]],["keywords/104",[]],["title/105",[11,407.761,318,213.719,432,569.283]],["content/105",[35,3.451,139,3.356,152,5.609,202,6.426,225,6.135,318,4.352,338,8.267,571,8.594,1341,9.634,1392,12.381,1840,18.97,1846,11.293,1848,11.293,1853,23.874,1854,21.945,1855,19.932,1856,18.303,1857,15.631,1858,14.353,1859,15.631,1860,15.631]],["keywords/105",[]],["title/106",[1861,1525.086]],["content/106",[]],["keywords/106",[]],["title/107",[1,112.477,156,369.793,320,346.114,337,193.209,446,281.573,1862,376.815,1863,570.278]],["content/107",[35,5.011,72,8.895,139,3.543,197,6.697,198,8.46,285,7.921,317,5.297,318,3.672,494,9.302,551,11.581,774,10.713,946,11.41,1204,6.96,1591,8.085,1671,12.487,1864,13.861,1865,16.818,1866,16.818,1867,13.861]],["keywords/107",[]],["title/108",[1,142.14,337,244.163,1868,720.675,1869,720.675,1870,720.675]],["content/108",[1,3.107,9,4.598,20,8.817,48,2.983,49,5.4,50,3.836,58,4.827,60,3.876,71,6.6,79,7.011,112,7.849,139,3.653,188,6.178,192,2.232,195,6.698,208,2.232,232,7.849,274,8.926,279,4.093,290,8.817,304,9.54,317,5.785,318,2.41,359,5.552,494,6.104,812,6.033,946,8.611,1032,7.777,1204,6.518,1223,8.194,1250,9.54,1459,8.742,1552,7.973,1591,5.306,1658,8.742,1671,8.194,1834,4.537,1862,7.292,1864,9.096,1871,7.292,1872,9.096,1873,9.096,1874,11.036,1875,11.036,1876,7.44,1877,9.096,1878,9.54,1879,11.036,1880,11.036,1881,11.036,1882,11.036,1883,11.036,1884,15.751,1885,11.036,1886,11.036,1887,9.096,1888,11.036,1889,15.138,1890,9.54,1891,11.036,1892,11.036,1893,10.134,1894,11.036,1895,10.134,1896,11.036,1897,11.036]],["keywords/108",[]],["title/109",[1,193.054,337,331.62,1898,898.814]],["content/109",[1,3.589,6,10.884,30,12.824,139,2.643,187,6.638,240,6.166,434,8.138,454,11.593,724,9.155,770,13.929,1224,12.025,1552,13.148,1862,12.025,1899,11.801,1900,18.199,1901,18.199,1902,12.533]],["keywords/109",[]],["title/110",[823,623.514,1671,726.759,1903,846.118]],["content/110",[1,3.531,129,9.903,131,11.036,132,15.283,408,10.867,503,12.07,673,8.193,823,11.406,1162,10.557,1550,11.61,1563,13.294,1671,16.104,1831,14.758,1862,11.831,1903,15.478,1904,16.442,1905,17.905]],["keywords/110",[]],["title/111",[58,667.006]],["content/111",[]],["keywords/111",[]],["title/112",[0,912.046]],["content/112",[1,4.279,5,2.062,33,6.128,35,2.934,37,4.479,45,3.703,48,3.591,50,7.046,55,7.53,58,10.207,62,4.548,64,4.524,78,4.985,79,5.072,88,5.427,97,5.61,106,7.103,119,6.748,136,4.185,185,6.444,187,6.535,192,2.687,196,5.897,208,2.687,225,4.09,238,7.728,265,5.892,273,5.392,277,2.827,278,6.08,317,6.385,324,7.946,404,6.962,554,6.815,562,8.957,620,6.621,676,5.427,754,8.064,812,7.264,1195,7.182,1906,11.486,1907,10.525,1908,8.957,1909,13.287,1910,12.201]],["keywords/112",[]],["title/113",[1911,1101.818]],["content/113",[]],["keywords/113",[]],["title/114",[45,315.219]],["content/114",[1,4.04,10,12.493,12,14.109,27,13.453,35,3.604,44,10.584,45,4.234,79,6.23,87,16.884,110,10.223,208,3.301,217,5.264,285,6.194,671,7.244,700,6.754,813,7.191,1155,12.929,1224,10.785,1503,13.453,1890,14.109,1902,14.107,1912,14.107,1913,16.322,1914,14.109,1915,16.322,1916,11.502]],["keywords/114",[]],["title/115",[317,480.389]],["content/115",[5,2.671,35,3.8,45,4.739,46,9.682,91,6.493,208,3.481,317,6.669,447,6.419,495,8.657,614,8.915,700,7.122,742,9.396,813,7.582,1193,12.778,1194,10.963,1917,14.877,1918,17.21,1919,14.877]],["keywords/115",[]],["title/116",[1195,824.354]],["content/116",[1,4.586,35,4.765,55,12.231,97,7.5,156,11.517,163,10.657,208,4.365,277,3.78,317,6.798,813,7.825,1195,9.601,1920,14.069,1921,14.639]],["keywords/116",[]],["title/117",[79,582.156]],["content/117",[1,4.341,4,9.705,35,4.051,66,11.31,79,7.005,208,3.711,225,5.648,252,8.602,321,8.205,336,7.262,349,5.78,352,4.919,700,7.594,1027,8.822,1224,12.125]],["keywords/117",[]],["title/118",[33,703.416]],["content/118",[1,3.68,5,2.896,33,8.606,48,5.043,202,7.671,225,6.843,259,8.344,321,8.344,643,8.407,1029,14.281,1606,10.086,1672,13.149,1922,14.78]],["keywords/118",[]],["title/119",[58,428.091,331,447.9,1358,569.283]],["content/119",[1,3.776,54,11.134,58,8.372,119,9.722,133,12.194,197,7.623,202,7.87,265,6.295,331,8.76,1358,11.134,1501,10.988]],["keywords/119",[]],["title/120",[50,340.228,136,228.606,238,569.283]],["content/120",[1,3.914,50,7.603,58,9.566,91,5.856,136,5.384,137,5.34,138,7.757,140,2.064,143,6.701,152,5.569,187,5.661,194,4.777,196,6.889,224,5.104,238,11.541,285,5.89,290,8.688,324,9.282,484,10.463,494,8.585,564,9.887,571,6.692,648,9.42,746,8.39,924,9.42,1871,10.256]],["keywords/120",[]],["title/121",[196,676.867]],["content/121",[5,3.211,45,3.949,50,6.641,52,3.946,58,8.356,64,6.506,136,4.462,138,4.638,140,1.577,160,2.365,162,3.337,164,3.489,190,11.174,192,3.353,194,5.102,196,10.784,202,4.877,220,5.429,225,3.651,227,3.091,238,6.9,248,6.146,255,7.2,265,6.283,285,4.502,296,6.025,309,5.754,350,3.828,439,7.557,443,6.413,495,5.968,571,7.147,615,5.805,673,5.429,686,6.146,749,6.9,752,5.704,840,7.312,1072,8.809,1146,5.805,1230,8.36,1298,8.809,1347,6.9,1501,6.81,1923,9.778,1924,9.397,1925,9.778,1926,11.864]],["keywords/121",[]],["title/122",[1927,1400.437]],["content/122",[7,5.624,58,8.877,102,4.973,173,6.935,196,7.139,254,10.43,255,9.762,273,6.528,322,7.247,325,11.651,330,11.335,338,8.507,398,10.628,540,10.075,676,6.57,852,7.54,936,11.943,946,8.793,1558,11.077,1606,8.694,1693,10.628,1927,18.639,1928,14.77,1929,16.085,1930,14.77,1931,13.904,1932,13.258,1933,12.741,1934,14.77]],["keywords/122",[]],["title/123",[317,480.389]],["content/123",[5,2.583,45,3.96,46,5.036,52,2.839,87,9.831,91,4.5,106,6.377,119,6.058,129,6.597,136,3.886,138,4.663,140,2.212,151,4.635,152,5.97,160,2.378,162,3.518,164,3.502,185,5.785,192,3.365,240,4.041,243,4.553,265,6.301,279,4.424,317,7.662,318,3.633,329,6.377,333,5.889,337,6.492,355,7.133,434,5.334,545,7.239,554,6.117,632,5.944,742,7.385,815,9.129,822,6.677,1204,4.936,1501,6.846,1756,8.856,1902,11.458,1907,13.18,1917,10.311,1935,7.033,1936,11.928,1937,9.831,1938,11.928,1939,10.953,1940,10.311,1941,10.953,1942,10.953,1943,10.953,1944,10.953]],["keywords/123",[]],["title/124",[317,375.584,642,594.176]],["content/124",[138,9.103,143,7.134,317,6.36]],["keywords/124",[]],["title/125",[1945,1132.359]],["content/125",[45,4.083,48,5.339,140,2.049,144,2.552,160,3.073,161,7.053,162,3.517,164,3.244,192,3.117,317,7.242,318,3.365,1056,11.339,1200,8.969,1207,11.136,1208,13.604,1209,13.317,1210,13.604,1212,11.814,1221,11.136,1791,13.604,1945,14.668,1946,18.14]],["keywords/125",[]],["title/126",[1947,1400.437]],["content/126",[35,4.886,45,3.827,48,5.981,139,2.689,140,1.856,144,2.392,160,2.782,161,6.387,162,3.352,164,2.938,192,2.823,317,7.456,318,3.047,575,10.628,1056,10.628,1200,8.407,1207,10.083,1208,12.751,1209,12.482,1210,12.751,1212,11.073,1221,10.083,1791,12.751,1947,17.003,1948,10.682,1949,22.131]],["keywords/126",[]],["title/127",[1950,1400.437]],["content/127",[45,3.827,48,5.981,139,2.689,140,1.856,144,2.392,160,2.782,161,6.387,162,3.352,164,2.938,192,2.823,208,4.476,317,7.456,318,3.047,813,8.157,1056,10.628,1200,8.407,1207,10.083,1208,12.751,1209,12.482,1210,12.751,1212,11.073,1221,10.083,1791,12.751,1948,10.682,1950,17.003,1951,22.131]],["keywords/127",[]],["title/128",[1952,1525.086]],["content/128",[46,8.448,317,6.302,362,9.619,434,8.946,836,12.143,1953,20.007]],["keywords/128",[]],["title/129",[1954,1400.437]],["content/129",[46,8.448,317,6.302,434,8.946,836,12.143,1465,14.455,1955,18.372]],["keywords/129",[]],["title/130",[1956,1525.086]],["content/130",[7,4.523,46,6.892,140,2.17,160,3.254,164,3.435,292,9.409,317,5.141,350,3.769,434,7.298,836,12.433,875,10.305,1113,10.397,1359,12.929,1399,16.175,1456,12.493,1465,17.474,1954,14.988,1955,14.988,1957,12.929,1958,16.322]],["keywords/130",[]],["title/131",[1959,1525.086]],["content/131",[5,3.334,45,3.642,64,7.314,138,6.888,317,6.766,434,7.879,546,11.878,614,9.128,632,8.78,702,11.224,717,9.745,1146,8.622,1266,12.666,1606,9.524,1666,8.545,1960,17.62]],["keywords/131",[]],["title/132",[1961,1525.086]],["content/132",[5,3.192,1291,15.269,1962,17.777]],["keywords/132",[]],["title/133",[1962,1318.333]],["content/133",[2,8.327,4,5.56,5,2.361,48,4.111,60,8.036,75,4.81,79,4.013,136,3.552,139,1.527,140,1.398,144,1.965,149,7.595,160,2.096,165,5.56,174,4.928,180,5.689,186,2.975,209,4.737,224,7.124,255,6.38,273,4.266,275,5.814,279,3.899,317,5.63,337,5.153,340,5.371,350,4.127,361,6.198,375,4.501,618,8.046,661,6.817,698,4.81,750,6.96,754,6.38,795,4.701,813,4.631,825,5.884,874,5.144,882,6.697,950,13.802,1035,8.327,1200,8.115,1264,7.24,1343,10.05,1556,6.946,1571,7.595,1582,14.157,1962,13.148,1963,10.513,1964,6.38,1965,10.513,1966,17.373,1967,9.653,1968,10.513,1969,10.513,1970,10.513,1971,8.046,1972,9.087]],["keywords/133",[]],["title/134",[1204,631.123]],["content/134",[5,1.497,48,5.877,52,2.296,75,9.616,88,3.939,97,4.072,121,6.534,129,5.333,130,3.335,139,2.074,140,2.261,141,4.044,144,1.845,146,4.597,151,3.747,160,1.922,162,1.556,164,3.005,174,4.52,180,2.801,185,4.677,192,2.888,209,8.469,213,5.155,219,3.46,234,4.636,243,5.451,259,4.312,265,4.696,277,2.052,279,3.577,317,6.321,318,3.118,329,7.634,401,11.769,437,5.047,513,8.539,642,4.805,646,5.357,671,4.28,673,4.413,693,5.465,698,6.534,742,4.28,744,4.558,750,4.413,813,4.248,1056,8.196,1200,7.72,1204,10.051,1207,6.967,1208,9.833,1209,9.625,1210,9.833,1211,7.948,1212,5.767,1221,6.967,1222,6.641,1232,6.795,1237,5.465,1286,14.015,1297,4.597,1945,10.602,1946,13.112,1973,9.643,1974,7.948,1975,9.643,1976,9.643,1977,9.643]],["keywords/134",[]],["title/135",[153,607.298]],["content/135",[7,5.19,46,4.828,48,3.09,68,8.49,140,2.706,144,1.478,153,9.315,160,2.28,164,2.407,180,3.321,185,5.546,186,3.236,187,4.171,219,4.103,240,3.874,241,5.498,265,6.159,317,7.019,337,3.874,350,3.73,361,6.742,373,5.595,439,7.284,630,6.94,671,5.075,697,5.808,744,5.405,758,5.113,1046,8.752,1056,9.272,1146,5.595,1194,7.284,1195,6.181,1200,7.334,1201,9.956,1212,6.839,1226,9.885,1228,10.5,1230,8.058,1246,13.963,1254,9.885,1261,9.885,1263,10.5,1347,6.651,1543,4.34,1552,8.261,1673,6.94,1978,16.153,1979,14.833,1980,14.833,1981,14.833,1982,11.435,1983,14.833,1984,10.5,1985,14.833,1986,10.5,1987,14.833,1988,9.058]],["keywords/135",[]],["title/136",[1989,1208.042]],["content/136",[49,10.289,52,4.052,136,5.329,140,1.639,144,1.593,153,8.374,160,2.457,162,3.681,164,4.104,180,4.944,186,3.488,196,8.654,265,5.598,317,6.142,446,9.627,594,9.415,676,5.034,757,8.144,758,5.512,948,13.029,1606,10.54,1614,12.213,1925,10.159,1933,13.483,1974,10.159,1989,19.756,1990,11.318,1991,11.318,1992,11.318,1993,11.318]],["keywords/136",[]],["title/137",[1614,955.22]],["content/137",[7,4.844,33,8.063,52,5.088,140,2.324,144,2.259,160,3.485,162,2.82,164,4.499,186,4.947,196,10.247,337,5.923,429,13.38,689,13.38,1606,12.48,1614,10.949,1994,13.38]],["keywords/137",[]],["title/138",[1995,1257.008]],["content/138",[7,4.184,33,11.156,37,6.571,58,8.526,140,2.007,144,1.951,160,3.01,164,3.178,186,4.273,225,7.022,307,11.94,331,9.879,338,10.31,594,12.619,1587,10.421,1994,11.556,1995,12.444,1996,14.92,1997,16.067,1998,13.864,1999,15.098]],["keywords/138",[]],["title/139",[495,767.157]],["content/139",[33,7.641,84,5.395,140,2.202,144,2.14,152,5.944,160,3.303,164,3.487,180,4.811,186,4.689,285,6.287,350,3.825,495,12.22,511,10.054,573,8.234,676,6.766,698,7.581,1204,8.557,1558,14.239,1919,14.32,1994,12.679,2000,15.212,2001,15.212]],["keywords/139",[]],["title/140",[1587,815.315]],["content/140",[33,10.257,35,4.481,91,6.069,140,2.138,141,8.513,144,2.623,160,3.207,164,3.386,192,4.105,225,6.845,318,4.432,447,6,1205,10.628,1287,9.675,1587,10.851,1689,12.311,1994,12.311,2002,13.258,2003,16.085,2004,20.298,2005,16.085]],["keywords/140",[]],["title/141",[37,514.1]],["content/141",[1,3.589,5,2.825,33,8.394,36,9.243,37,7.921,140,2.42,160,3.628,162,2.936,180,5.286,225,5.601,852,8.531,946,9.949,1287,8.675,1994,13.929,2002,15]],["keywords/141",[]],["title/142",[2006,1257.008]],["content/142",[33,7.938,44,11.159,68,17.025,71,10.292,140,2.288,144,2.224,160,3.431,164,3.622,167,8.657,186,4.871,317,5.421,482,13.632,1362,10.445,1708,12.433,1994,13.172,2006,14.184,2007,20.68,2008,15.803,2009,15.803]],["keywords/142",[]],["title/143",[1195,824.354]],["content/143",[5,2.038,19,10.4,35,3.924,44,8.514,52,3.125,91,6.706,119,6.668,129,7.262,130,6.146,136,3.066,140,2.363,151,5.102,152,4.711,160,2.618,162,2.118,163,6.483,164,3.741,185,6.368,192,2.656,194,4.041,203,7.441,208,3.595,277,4.288,279,4.87,317,7.107,318,2.867,329,7.019,447,4.897,543,8.364,550,11.35,630,7.969,700,7.355,813,8.877,875,6.604,1025,15.364,1192,13.876,1195,11.671,1501,7.536,1940,11.35,1941,12.056,1942,12.056,1943,12.056,1944,12.056]],["keywords/143",[]],["title/144",[45,315.219]],["content/144",[45,5.102,130,5.644,140,2.17,144,2.109,155,8.371,160,3.254,162,3.788,164,4.312,186,4.619,243,7.82,265,5.367,296,8.289,309,9.935,336,6.459,338,11.841,404,6.342,752,7.847,2010,16.322]],["keywords/144",[]],["title/145",[45,246.448,642,594.176]],["content/145",[45,4.173,138,9.103,143,7.134]],["keywords/145",[]],["title/146",[2011,1525.086]],["content/146",[29,7.014,35,3.985,60,6.34,76,18.841,84,5.879,139,2.621,140,2.4,160,3.599,164,3.799,277,3.841,350,4.168,570,10.499,774,13.884,789,10.795,1948,13.816,2012,16.576]],["keywords/146",[]],["title/147",[2013,1525.086]],["content/147",[35,3.985,60,6.34,61,8.832,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/147",[]],["title/148",[2015,1525.086]],["content/148",[35,3.921,60,7.581,61,8.691,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/148",[]],["title/149",[2019,1525.086]],["content/149",[35,4.742,60,7.544,62,7.351,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/149",[]],["title/150",[2021,1525.086]],["content/150",[35,3.985,56,11.705,60,6.34,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/150",[]],["title/151",[2022,1525.086]],["content/151",[35,3.921,56,11.517,60,7.581,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/151",[]],["title/152",[2023,1525.086]],["content/152",[35,4.742,60,7.544,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134,2024,15.947]],["keywords/152",[]],["title/153",[2025,1525.086]],["content/153",[60,6.289,76,18.748,84,5.831,139,2.6,140,2.38,160,3.57,164,3.769,208,3.621,277,4.615,350,4.135,570,10.414,774,13.816,789,10.708,1948,13.704,1972,15.478,2012,16.442]],["keywords/153",[]],["title/154",[2026,1525.086]],["content/154",[60,6.34,61,8.832,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,208,3.651,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/154",[]],["title/155",[2027,1525.086]],["content/155",[60,7.581,61,8.691,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,208,3.592,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/155",[]],["title/156",[2028,1525.086]],["content/156",[60,7.544,62,7.351,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/156",[]],["title/157",[2029,1525.086]],["content/157",[56,11.705,60,6.34,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,208,3.651,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/157",[]],["title/158",[2030,1525.086]],["content/158",[56,11.517,60,7.581,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,208,3.592,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/158",[]],["title/159",[2031,1525.086]],["content/159",[60,7.544,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134,2024,15.947]],["keywords/159",[]],["title/160",[2032,1525.086]],["content/160",[60,7.472,63,13.324,74,11.907,84,5.648,139,3.089,140,2.306,160,3.458,164,3.651,208,4.302,292,8.524,350,4.005,822,9.709,950,14.99,1200,7.875,2014,10.372,2020,11.944]],["keywords/160",[]],["title/161",[2033,1525.086]],["content/161",[60,7.472,63,13.324,74,11.907,84,5.648,139,3.089,140,2.306,160,3.458,164,3.651,208,4.302,292,8.524,350,4.005,822,9.709,1200,7.875,1582,16.85,2014,10.372,2020,11.944]],["keywords/161",[]],["title/162",[2034,1525.086]],["content/162",[60,7.472,63,13.324,74,11.907,84,5.648,139,3.089,140,2.306,160,3.458,164,3.651,208,4.302,292,8.524,350,4.005,414,16.85,822,9.709,1200,7.875,2014,10.372,2020,11.944]],["keywords/162",[]],["title/163",[2035,1525.086]],["content/163",[60,7.544,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,260,14.192,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/163",[]],["title/164",[2036,1525.086]],["content/164",[60,7.544,63,13.453,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/164",[]],["title/165",[2037,1525.086]],["content/165",[84,5.784,139,3.134,140,2.361,160,3.541,164,3.738,225,6.643,259,9.651,292,7.117,350,4.101,875,8.934,950,12.516,1113,11.314,1403,13.188,2014,10.622,2038,17.789,2039,16.31]],["keywords/165",[]],["title/166",[2040,1525.086]],["content/166",[33,9.312,45,4.173,48,5.456,717,11.167,1826,16.641]],["keywords/166",[]],["title/167",[2041,1525.086]],["content/167",[48,4.919,139,2.643,140,2.42,160,3.628,164,3.831,350,4.203,646,6.827,652,9.428,698,8.328,808,9.625,1332,11.801,1343,12.025,1826,15,2042,14.416,2043,18.199,2044,18.199,2045,13.929]],["keywords/167",[]],["title/168",[2046,1400.437]],["content/168",[5,2.312,33,8.913,45,3.994,63,9.329,78,5.588,91,5.62,97,6.29,130,5.151,138,5.823,140,1.98,160,2.97,164,3.135,189,5.931,224,4.898,259,10.517,265,4.898,277,4.112,309,7.224,376,5.4,447,5.556,673,6.816,752,9.29,1125,9.842,1151,12.876,1482,10.761,1948,11.401,1974,12.277,2024,11.06,2038,12.277,2047,11.799,2048,11.799,2049,14.895,2050,14.895,2051,14.895,2052,14.895]],["keywords/168",[]],["title/169",[277,324.538]],["content/169",[33,8.258,45,3.701,51,6.495,63,11.215,140,2.38,160,3.57,162,3.764,164,3.769,277,4.615,376,5.003,698,8.193,1948,13.704,2038,14.758,2046,16.442,2053,15.478,2054,17.905]],["keywords/169",[]],["title/170",[2055,1257.008]],["content/170",[7,4.732,39,9.445,45,3.53,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696]],["keywords/170",[]],["title/171",[33,703.416]],["content/171",[9,8.05,33,11.316,58,8.451,140,1.98,144,2.771,160,2.97,162,3.662,164,4.067,186,4.216,259,8.641,265,6.355,273,6.045,321,6.66,337,7.267,338,10.22,377,10.041,404,5.788,596,10.258,673,6.816,1837,10.761,1912,10.258,1922,11.799,2061,14.895,2062,11.799,2063,14.895]],["keywords/171",[]],["title/172",[33,549.953,642,594.176]],["content/172",[33,9.312,138,9.103,143,7.134]],["keywords/172",[]],["title/173",[1614,955.22]],["content/173",[7,4.732,33,9.718,52,5.016,140,2.27,144,2.953,160,3.405,162,2.755,164,4.435,186,4.833,196,10.142,337,7.138,429,13.07,689,13.07,1606,12.352,1614,10.696]],["keywords/173",[]],["title/174",[1995,1257.008]],["content/174",[7,4.1,33,11.298,37,6.486,58,8.415,139,2.149,140,1.967,144,2.763,160,2.95,164,3.114,186,4.187,225,6.968,307,11.825,331,9.784,337,5.013,338,10.176,594,12.522,1587,10.286,1995,12.195,1996,14.726,1997,15.858,1998,13.586]],["keywords/174",[]],["title/175",[495,767.157]],["content/175",[33,9.362,84,5.238,140,2.138,144,2.874,152,5.772,160,3.207,164,3.386,180,4.672,186,4.552,285,6.104,337,5.45,350,3.714,495,12.114,511,9.762,573,8.083,676,6.57,685,11.621,698,7.36,1204,8.4,1558,13.978,1919,13.904,2000,14.77,2001,14.77]],["keywords/175",[]],["title/176",[566,1167.278]],["content/176",[1,2.652,5,2.804,33,10.057,47,12.993,48,3.635,55,7.621,70,8.567,88,5.493,106,7.19,138,5.257,139,2.623,140,1.788,144,2.635,152,4.826,160,2.681,162,2.169,163,10.766,164,2.831,186,3.806,224,4.422,277,2.862,337,6.12,494,7.438,538,10.293,545,8.162,566,18.859,615,6.58,676,5.493,1358,7.822,1925,11.084,1964,8.162,2064,12.349,2065,9.716,2066,13.448,2067,11.625,2068,13.448,2069,10.653,2070,13.448,2071,13.448]],["keywords/176",[]],["title/177",[2072,988.931]],["content/177",[33,11.059,37,5.345,45,4.802,50,5.511,72,8.385,140,2.108,144,3.002,160,3.161,161,7.255,162,2.558,163,10.907,164,3.337,182,8.985,186,4.487,337,8.124,494,8.769,615,7.758,2064,14.559,2072,10.281]],["keywords/177",[]],["title/178",[1587,815.315]],["content/178",[33,10.988,35,4.381,91,5.856,140,2.064,141,8.322,144,3.148,160,3.094,164,3.267,192,4.013,225,6.732,318,4.333,337,6.723,447,5.79,1205,10.256,1287,9.458,1587,10.608,1689,11.88,2002,12.793,2073,15.521,2074,15.521]],["keywords/178",[]],["title/179",[153,607.298]],["content/179",[5,2.409,33,10.089,50,5.395,52,3.695,91,5.856,136,3.625,138,6.068,140,2.064,141,6.51,153,9.863,160,3.094,162,3.201,163,7.664,164,4.177,197,6.181,200,10.256,252,7.276,337,5.259,447,5.79,752,9.54,758,9.781,2075,15.521,2076,15.521,2077,14.253,2078,12.793]],["keywords/179",[]],["title/180",[37,514.1]],["content/180",[1,3.619,5,2.848,33,8.464,36,9.32,37,7.949,140,2.44,160,3.658,162,2.96,180,5.329,225,5.648,852,8.602,946,10.032,1287,8.747,2002,15.125]],["keywords/180",[]],["title/181",[1989,1208.042]],["content/181",[33,8.297,49,10.643,136,5.461,140,1.777,144,1.727,160,2.665,162,3.662,164,4.28,180,3.882,186,3.783,196,9.025,265,5.916,446,8.882,594,9.95,676,5.46,757,8.832,948,10.231,1606,10.991,1614,12.736,1933,14.25,1974,11.018,1989,19.873,1990,12.275,1991,12.275,1992,12.275,1993,12.275]],["keywords/181",[]],["title/182",[2006,1257.008]],["content/182",[33,9.626,44,10.905,68,16.851,71,10.057,140,2.236,144,2.173,160,3.353,164,3.54,167,8.46,186,4.76,482,13.321,1362,10.207,1708,12.15,1928,15.443,2006,13.861,2007,20.514,2008,15.443,2009,15.443,2079,19.618]],["keywords/182",[]],["title/183",[2055,1257.008]],["content/183",[7,4.732,33,7.876,39,9.445,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696]],["keywords/183",[]],["title/184",[79,582.156]],["content/184",[4,7.428,5,2.18,9,7.746,33,6.478,58,8.132,66,8.657,79,9.234,89,5.971,140,1.867,142,7.065,144,1.815,160,2.8,162,3.579,164,3.914,186,3.975,194,4.323,225,4.323,265,6.115,273,5.7,282,11.12,336,5.558,337,6.3,338,9.834,349,4.424,377,9.468,1223,10.428,1443,9.108,1476,7.862,1651,9.468,1661,10.75,1718,10.147,1778,10.428,1848,10.147,2062,11.125,2080,14.045,2081,12.897,2082,6.639]],["keywords/184",[]],["title/185",[79,455.148,642,594.176]],["content/185",[79,7.707,138,9.103,143,7.134]],["keywords/185",[]],["title/186",[1066,1167.278]],["content/186",[5,3.271,44,11.073,79,8.723,140,2.27,160,3.405,164,3.594,189,8.39,197,6.8,350,4.865,686,10.915,1066,17.49,1300,10.696,1550,11.073,1996,13.07,2081,15.681,2083,17.077,2084,14.762]],["keywords/186",[]],["title/187",[2085,1400.437]],["content/187",[5,3.195,70,10.474,72,10.885,79,7.856,136,3.84,140,2.186,142,8.271,160,3.278,164,3.461,189,8.195,197,6.548,329,8.791,350,4.752,494,9.094,720,11.084,1066,17.194,1300,10.299,1661,12.585,1718,11.88,2084,14.214,2086,16.443,2087,15.099,2088,15.099]],["keywords/187",[]],["title/188",[1054,806.599]],["content/188",[5,3,44,9.659,52,3.546,70,9.488,79,9.2,140,1.98,142,7.493,151,5.788,160,2.97,164,3.135,302,7.1,337,5.046,349,6.756,383,11.112,404,8.335,467,9.04,573,8.541,632,7.423,643,6.711,951,11.401,1054,7.878,1661,11.401,1848,10.761,1887,17.679,2087,17.744,2089,10.258,2090,14.895]],["keywords/188",[]],["title/189",[2091,815.315]],["content/189",[7,4.59,38,8.856,79,8.604,140,2.202,156,10.742,160,3.303,162,3.636,164,3.487,337,5.613,349,5.218,952,10.028,1386,9.635,1848,11.968,2082,7.83,2091,12.619,2092,15.212,2093,13.654,2094,16.566,2095,15.212,2096,16.566,2097,13.654]],["keywords/189",[]],["title/190",[2098,1400.437]],["content/190",[79,8.969,140,2.42,160,3.628,162,2.936,163,10.815,164,3.831,1848,13.148,2082,8.602,2098,21.577,2099,13.513,2100,18.199,2101,18.199]],["keywords/190",[]],["title/191",[38,815.315]],["content/191",[38,11.211,52,4.034,79,9.083,140,2.253,151,6.585,160,3.378,164,5.008,180,6.09,197,6.748,336,6.706,337,5.741,351,8.869,1297,9.996,1352,10.795,1848,12.243,2082,8.01,2102,16.946]],["keywords/191",[]],["title/192",[460,925.606]],["content/192",[1,3.172,52,3.829,79,8.916,140,2.138,160,3.207,164,3.386,217,5.188,219,5.772,230,7.086,256,5.591,302,7.667,460,14.616,571,6.935,573,6.405,626,10.246,677,8.793,716,12.311,1662,13.904,1756,11.943,1798,13.258,2103,16.085,2104,16.085,2105,9.619,2106,10.43,2107,14.77,2108,16.085]],["keywords/192",[]],["title/193",[2055,1257.008]],["content/193",[7,4.732,39,9.445,79,6.519,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696]],["keywords/193",[]],["title/194",[2109,614.984]],["content/194",[5,2.936,48,3.895,83,7.97,91,5.437,117,10.155,136,3.366,140,1.916,144,2.444,160,2.873,162,3.051,164,3.033,180,4.185,186,4.078,208,2.915,265,6.219,279,5.345,355,8.618,359,9.513,554,7.391,594,7.97,620,7.181,622,9.924,671,9.369,742,6.396,1175,7.878,1237,8.167,1501,8.272,1834,5.924,2109,9.959,2110,11.878,2111,14.98,2112,12.457,2113,8.722]],["keywords/194",[]],["title/195",[642,594.176,2109,480.814]],["content/195",[138,9.103,143,7.134,2109,8.141]],["keywords/195",[]],["title/196",[2055,1257.008]],["content/196",[7,4.732,39,9.445,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696,2109,6.886]],["keywords/196",[]],["title/197",[35,336.711]],["content/197",[]],["keywords/197",[]],["title/198",[35,216.104,136,228.606,278,447.9]],["content/198",[1,3.262,5,2.141,18,3.472,35,5.064,45,1.902,48,4.964,53,4.279,59,4.054,60,4.844,61,6.748,75,6.31,84,2.997,102,4.264,127,6.648,130,3.182,136,5.002,138,3.598,140,1.833,143,2.819,144,1.189,162,2.225,174,4.314,181,6.985,209,4.146,214,4.674,221,4.463,223,8.241,236,6.485,259,6.166,265,5.439,272,7.915,273,3.735,277,2.935,278,7.568,280,5.764,281,7.043,296,4.674,320,5.585,325,7.915,331,4.211,333,4.544,351,4.816,361,5.426,376,3.853,421,11.366,447,3.433,540,5.764,562,6.203,624,5.09,625,7.293,626,8.784,627,6.648,628,4.115,646,5.173,704,6.203,750,4.211,752,4.424,758,4.115,802,7.043,819,5.031,848,5.946,875,4.629,877,6.081,1067,4.974,1189,6.203,1253,4.386,1293,7.144,1358,5.352,1703,11.366,1736,7.289,1786,7.289,1876,6.203,1906,7.955,2114,8.45,2115,8.45,2116,7.585,2117,6.833,2118,7.955,2119,13.79,2120,9.202,2121,6.833,2122,7.955,2123,6.081,2124,6.833,2125,8.45,2126,7.955]],["keywords/198",[]],["title/199",[35,336.711]],["content/199",[35,5.415,45,3.827,48,3.772,52,3.322,137,4.801,140,1.856,144,1.803,145,6.337,146,8.826,151,5.423,160,4.143,161,6.387,162,2.987,163,6.891,164,4.374,165,7.382,166,8.117,167,7.021,168,9.611,169,9.835,170,9.408,171,8.742,172,11.232,173,6.017,174,6.542,175,8.011,176,7.909,177,8.117,178,8.117,179,6.955,180,4.053,186,3.95,243,5.328,265,4.59,277,2.97,404,5.423,1111,12.816,2127,12.065]],["keywords/199",[]],["title/200",[35,263.251,642,594.176]],["content/200",[35,4.458,138,9.103,143,7.134]],["keywords/200",[]],["title/201",[140,202.756]],["content/201",[5,1.617,7,1.781,18,2.425,35,3.926,48,5.271,51,2.331,52,5.433,61,3.144,83,3.554,137,3.584,140,3.232,144,0.83,146,4.966,151,5.105,152,3.738,155,3.296,160,3.733,162,1.037,164,4.105,167,3.232,172,10.122,173,6.515,174,4.883,175,5.98,176,7.446,177,6.059,178,6.059,179,5.191,180,4.389,181,5.364,186,1.819,187,3.8,194,3.206,214,6.673,217,3.36,223,7.53,265,2.113,277,3.534,279,2.383,340,4.639,350,3.835,352,2.792,373,9.544,374,9.404,375,5.625,376,4.641,380,7.526,624,7.266,625,6.949,630,3.9,637,6.525,643,2.895,644,4.528,645,6.421,646,7.025,647,9.412,648,3.9,649,3.296,650,4.918,651,3.843,652,5.397,653,6.059,654,4.246,655,4.771,725,8.564,882,4.093,883,3.961,884,9.492,1296,4.918,1333,4.246,1418,4.332,1578,5.09,2113,4.805,2128,5.901,2129,5.901,2130,5.901,2131,5.297,2132,5.297,2133,5.297,2134,9.566,2135,4.771,2136,4.918,2137,6.426,2138,6.426,2139,6.426]],["keywords/201",[]],["title/202",[140,158.521,642,594.176]],["content/202",[5,2.034,7,2.383,11,1.509,35,3.796,37,1.221,48,1.378,49,3.132,51,3.12,52,5.351,61,3.132,62,1.24,64,4.822,78,1.359,79,0.74,84,0.631,88,0.792,90,1.439,91,1.923,93,1.335,94,6.123,102,1.979,103,1.257,105,2.494,108,3.247,112,1.805,120,2.003,130,0.67,131,1.195,133,1.235,136,0.846,137,1.246,138,2.502,139,2.057,140,2.714,141,1.519,143,1.11,144,1.948,150,1.596,151,1.407,152,1.829,155,1.858,160,3.164,162,1.8,163,0.957,164,3.341,165,1.025,173,0.836,174,3,180,3.24,181,3.385,182,2.052,183,2.589,185,3.104,186,2.939,187,2.758,189,1.442,192,1.739,194,3.196,197,3.011,198,0.975,201,2.725,202,2.631,204,1.293,209,6.594,214,2.589,216,1.598,217,2.064,219,2.297,225,2.647,227,0.505,240,2.168,241,0.932,242,2.889,252,2.389,256,0.674,257,1.401,258,1.127,259,1.619,263,2.689,265,4.113,268,1.159,273,3.068,275,1.072,277,2.905,278,0.887,280,1.214,285,0.736,318,1.878,320,2.198,321,0.867,323,1.235,327,1.072,329,3.422,330,1.366,333,3.16,337,2.914,338,1.025,340,2.26,345,1.015,347,1.307,349,1.141,350,2.576,352,0.971,353,0.824,358,3.546,361,3.774,373,5.458,374,2.696,375,0.83,376,2.113,378,1.822,391,3.682,392,1.366,396,1.439,398,1.281,404,2.487,423,6.059,425,1.143,432,5.002,446,4.246,447,1.351,455,2.027,508,1.235,540,2.268,552,2.689,554,1.858,563,1.025,568,1.946,583,2.441,615,0.949,626,1.235,627,1.401,640,1.484,646,4.449,651,3.048,652,3.316,653,1.127,656,2.869,657,2.869,658,1.366,659,1.676,660,1.676,661,2.348,662,1.598,663,1.676,664,3.131,665,3.131,666,2.617,667,1.676,668,1.676,669,4.315,670,5.614,671,2.262,672,2.268,673,0.887,674,1.099,675,2.052,676,0.792,677,1.06,678,1.536,679,1.335,680,1.676,681,4.752,682,1.536,683,1.484,684,1.676,685,1.401,686,1.876,687,1.676,688,1.676,689,2.772,690,1.676,691,1.676,692,1.536,693,4.874,694,1.676,695,1.98,696,2.198,697,2.589,698,5.723,699,2.689,700,2.109,701,1.401,702,1.235,703,1.536,704,1.307,705,1.78,706,1.78,707,1.78,708,1.676,709,2.494,710,1.676,711,1.439,712,1.307,713,1.536,714,1.676,715,1.536,716,1.484,717,1.072,718,1.281,719,1.536,720,1.307,721,3.131,722,1.281,723,4.408,724,0.975,725,2.889,726,1.536,727,1.676,728,4.406,729,1.78,730,1.78,731,4.406,732,5.533,733,3.326,734,1.676,735,1.536,736,1.78,737,3.131,738,1.78,739,1.78,740,6.943,741,12.411,742,2.262,743,1.257,744,5.606,745,1.484,746,1.048,747,1.676,748,7.317,749,3.723,750,2.929,751,8.346,752,1.741,753,2.106,754,2.198,755,3.326,756,3.326,757,2.393,758,2.279,759,1.598,760,1.598,761,1.036,762,4.406,763,3.131,764,1.439,765,2.617,766,1.676,767,1.536,768,3.54,769,1.676,770,1.484,771,5.275,772,1.676,773,1.676,774,2.307,775,2.523,776,3.131,777,1.676,778,1.676,779,1.439,780,1.598,781,1.676,782,1.676,783,1.676,784,3.131,785,9.907,786,1.676,787,5.533,788,3.131,789,6.671,790,1.839,791,2.494,792,2.617,793,3.131,794,2.772,795,1.619,796,4.899,797,2.393,798,5.877,799,4.201,800,1.676,801,4.037,802,2.772,803,1.048,804,1.598,805,1.676,806,3.005,807,1.676,808,2.696,809,1.085,810,1.676,811,4.68,812,1.06,813,0.854,814,1.598,815,1.484,816,1.676,817,1.536,818,1.401,819,1.06,820,5.877,821,1.281,822,1.085,823,1.235,824,1.439,825,1.085,826,1.536,827,3.131,828,3.326,829,1.676,830,2.393,831,1.676,832,1.598,833,7.434,834,2.617,835,1.78,836,1.177,837,3.131,838,4.201,839,1.676,840,1.195,841,3.326,842,1.366,843,1.195,844,3.326,845,1.195,846,1.78]],["keywords/202",[]],["title/203",[723,1050.255]],["content/203",[5,1.143,7,2.041,18,2.779,35,3.926,48,5.345,51,2.672,52,5.591,83,4.074,137,3.997,140,3.174,144,0.952,146,5.539,151,5.592,152,4.17,160,3.943,162,1.188,164,4.163,167,3.705,172,10.69,173,6.204,174,5.447,175,6.67,176,8.155,177,6.758,178,6.758,179,5.79,180,4.745,181,5.799,186,2.085,187,4.238,194,3.576,214,7.308,217,2.376,223,5.79,265,2.422,277,3.062,279,2.732,340,5.081,350,4.106,352,3.115,373,7.994,374,6.146,375,6.161,376,4.968,380,8.395,624,6.427,625,7.611,630,4.471,637,7.278,643,3.319,645,4.54,646,6.129,647,9.258,648,4.471,649,3.778,650,5.638,651,4.405,652,6.02,653,6.758,654,4.867,655,5.469,723,9.91,725,6.585,884,10.396,1333,4.867,1578,5.835,2113,5.36,2128,6.764,2129,6.764,2132,6.071,2133,6.071,2135,5.469,2136,5.638]],["keywords/203",[]],["title/204",[2140,1208.042]],["content/204",[5,1.718,7,1.92,18,2.614,35,4.565,48,5.731,51,2.513,52,5.465,61,6.763,83,3.832,91,2.614,137,3.808,140,3.162,144,0.895,146,5.276,151,5.371,152,2.486,160,3.85,162,1.118,164,4.221,167,3.485,172,10.437,173,6.805,174,5.188,175,6.353,176,7.833,177,6.437,178,6.437,179,5.516,180,4.584,181,4.906,186,1.961,187,2.527,194,3.407,214,7.019,217,3.57,223,6.887,230,6.089,265,2.278,277,4.109,279,2.57,340,3.908,350,2.556,352,1.857,370,8.519,373,9.448,374,9.126,375,5.917,376,4.821,380,5.006,382,7.8,447,2.584,624,6.122,625,5.854,630,4.205,637,6.933,643,3.122,644,4.882,645,6.822,646,4.152,647,8.945,648,4.205,649,3.553,650,5.303,651,4.143,652,5.734,653,4.03,654,4.578,655,5.144,725,6.273,774,4.414,930,5.368,1935,4.085,2059,6.353,2140,8.767,2141,6.362,2142,6.362,2143,6.362]],["keywords/204",[]],["title/205",[2144,1208.042]],["content/205",[5,1.79,7,2.021,18,2.752,35,4.51,48,5.82,51,2.646,52,5.526,61,6.996,83,4.034,91,2.752,137,3.966,140,3.168,144,0.942,146,5.496,151,5.555,152,2.617,160,3.928,162,1.177,164,4.147,167,3.669,172,10.65,173,6.164,174,5.404,175,6.618,176,8.102,177,6.705,178,6.705,179,5.745,180,4.719,181,5.075,186,2.064,187,2.66,194,3.549,214,7.261,217,2.352,223,7.124,230,6.299,265,2.398,277,3.766,279,2.705,340,4.071,350,2.662,352,1.955,370,8.812,373,7.95,374,6.098,375,6.121,376,4.945,380,5.269,382,8.124,447,2.721,624,6.377,625,6.098,630,4.427,637,7.221,643,3.286,645,4.495,646,4.325,647,9.207,648,4.427,649,3.741,650,5.582,651,4.362,652,5.973,653,4.242,654,4.819,655,5.415,725,4.133,774,4.646,930,5.591,1935,4.3,2059,6.618,2140,5.777,2141,6.697,2142,6.697,2143,6.697,2144,5.777]],["keywords/205",[]],["title/206",[2145,1400.437]],["content/206",[5,2.275,18,3.77,35,4.222,48,4.691,51,3.624,52,4.552,78,5.498,137,3.437,140,2.707,144,1.291,146,4.762,151,5.695,155,5.124,160,3.461,162,1.612,164,4.286,167,5.026,172,9.383,173,7.484,174,4.683,175,5.735,176,5.662,177,5.811,178,5.811,179,4.979,180,4.257,181,3.547,186,2.828,214,5.074,217,4.727,223,4.979,265,3.286,277,4.333,340,3.528,358,4.787,373,11.038,374,10.77,375,8.187,376,4.096,624,5.526,625,7.752,630,6.064,643,4.502,644,7.04,645,9.034,646,3.748,647,8.306,648,6.064,649,5.124,795,4.468,1039,7.218,1418,9.88,1714,11.394,2145,9.174,2146,9.174,2147,8.235,2148,9.174,2149,8.235]],["keywords/206",[]],["title/207",[2150,1400.437]],["content/207",[5,1.73,18,4.206,35,4.078,48,4.991,51,4.044,52,4.79,78,5.951,137,3.835,140,2.455,144,1.44,146,5.314,151,6.164,160,3.682,162,1.798,164,4.235,167,5.607,172,9.983,173,6.84,174,5.225,175,6.398,176,6.317,177,6.483,178,6.483,179,5.555,180,4.607,181,3.957,186,3.155,214,5.661,217,3.595,223,5.555,265,3.666,277,3.93,340,3.936,358,5.038,373,9.845,374,5.896,375,8.614,376,4.433,624,6.165,625,8.39,630,6.766,643,5.023,645,6.871,647,6.317,648,6.766,649,5.717,795,4.985,1039,8.054,1418,7.514,1714,11.778,2146,10.236,2147,9.188,2148,10.236,2149,9.188,2150,10.236]],["keywords/207",[]],["title/208",[2151,1318.333]],["content/208",[5,3.287,35,4.193,45,2.998,52,3.453,89,6.167,139,2.106,140,2.815,144,1.874,145,6.586,157,6.799,160,2.892,162,2.34,164,3.053,186,4.105,197,5.776,224,4.77,243,5.537,273,5.887,277,3.087,292,5.812,354,12.539,361,8.552,432,11.046,596,9.989,614,7.514,673,6.637,704,9.778,752,6.974,848,6.254,852,6.799,855,8.881,1536,11.102,1543,5.505,1690,11.49,1740,8.674,1935,8.552,2151,12.539,2152,10.221,2153,15.654]],["keywords/208",[]],["title/209",[2154,1400.437]],["content/209",[5,2.312,35,4.266,48,4.026,140,3.306,144,1.925,145,6.763,160,2.97,162,2.403,164,3.135,186,4.216,243,5.686,265,6.355,277,4.112,278,8.842,290,8.338,354,12.876,404,7.509,682,11.799,686,7.716,754,9.04,848,6.422,1300,9.329,1337,8.441,1740,8.908,2153,15.927,2154,13.678,2155,11.726,2156,13.678,2157,13.678]],["keywords/209",[]],["title/210",[847,1167.278]],["content/210",[9,7.169,35,5.282,79,6.569,174,8.067,209,7.754,320,10.445,337,5.831,346,12.433,347,11.601,352,6.146,353,7.317,355,10.292,615,8.421,640,13.172,847,13.172,848,7.42,1279,12.127,2158,14.184,2159,15.803]],["keywords/210",[]],["title/211",[717,843.502]],["content/211",[35,5.188,112,9.069,174,10.267,183,9.243,207,9.949,258,12.739,346,13.148,352,4.878,700,7.531,717,12.996,1456,13.929]],["keywords/211",[]],["title/212",[721,1318.333]],["content/212",[35,4.339,60,6.903,112,9.793,320,11.927,434,8.788,717,10.869,722,12.985,1587,10.506]],["keywords/212",[]],["title/213",[670,1132.359]],["content/213",[5,2.252,35,3.202,48,5.133,49,10.994,51,5.262,52,4.521,64,4.939,79,5.537,88,5.925,91,5.473,136,3.388,140,1.928,144,2.454,148,12.539,160,2.892,162,3.416,164,3.053,180,4.213,185,7.035,186,4.105,197,5.776,202,5.963,275,8.023,447,7.084,670,16.682,671,6.438,672,11.896,673,6.637,674,8.22,675,8.22,676,5.925,677,7.93,678,11.49,2160,13.32,2161,12.539]],["keywords/213",[]],["title/214",[94,899.2]],["content/214",[35,5.296,51,6.292,94,13.566,140,2.306,160,4.241,178,10.088,179,8.643,180,5.037,182,9.829,638,15.927,700,8.803,718,11.46,719,13.739,750,7.937,1386,10.088,2162,9.829]],["keywords/214",[]],["title/215",[2163,1257.008]],["content/215",[5,3.026,52,4.64,62,6.672,75,8.92,140,2.007,160,3.01,162,3.145,164,3.178,180,4.385,185,7.322,187,5.507,209,6.803,220,6.909,265,6.41,277,4.148,350,3.486,685,10.908,744,11.164,758,6.751,764,11.21,1205,12.881,1445,13.051,2163,17.794,2164,13.864,2165,13.864,2166,13.864,2167,13.864,2168,13.864]],["keywords/215",[]],["title/216",[193,912.046]],["content/216",[5,2.515,35,4.502,52,4.854,137,5.574,140,2.711,160,3.23,164,3.41,178,9.423,179,8.074,181,7.921,193,13.344,197,6.452,265,5.328,350,3.741,649,10.458,685,11.706,697,8.229,746,8.758,750,7.414,1022,12.401,1074,10.706,1392,12.834,2169,14.878,2170,14.878]],["keywords/216",[]],["title/217",[2171,1525.086]],["content/217",[5,2.409,35,4.381,52,4.724,61,7.595,136,5.384,137,5.34,140,2.638,160,3.094,164,3.267,193,13.081,197,7.902,256,5.395,257,11.214,265,5.104,329,8.298,350,3.584,594,10.975,649,10.177,685,11.214,697,7.883,746,8.39,750,7.102,1074,10.256,1392,12.295,1996,11.88,2169,14.253,2170,14.253]],["keywords/217",[]],["title/218",[918,864.282]],["content/218",[35,3.77,45,3.53,140,2.27,160,3.405,161,7.814,162,3.849,164,4.435,173,7.363,208,4.622,277,5.215,918,12.95,1391,10.878,2172,14.075]],["keywords/218",[]],["title/219",[2173,1525.086]],["content/219",[35,3.685,45,3.45,140,2.219,160,3.328,161,7.638,162,3.818,164,4.372,173,7.196,183,11.487,208,4.575,277,5.181,918,12.818,1391,10.632,2172,13.757]],["keywords/219",[]],["title/220",[2174,1525.086]],["content/220",[35,3.577,45,3.349,140,2.154,160,3.23,161,7.414,162,3.974,164,4.697,208,4.736,265,5.328,277,4.339,358,6.168,2172,13.354,2175,16.919]],["keywords/220",[]],["title/221",[1834,626.987]],["content/221",[35,3.8,45,3.557,140,2.288,160,3.431,161,7.875,162,3.859,164,4.456,208,4.638,265,5.659,1834,10.098,2172,14.184,2175,16.566]],["keywords/221",[]],["title/222",[2176,1167.278]],["content/222",[5,3.451,189,7.43,277,5.054,278,8.538,358,4.672,382,13.149,653,10.852,692,14.78,1358,10.852,2176,14.281,2177,17.134]],["keywords/222",[]],["title/223",[2178,1132.359]],["content/223",[5,2.825,35,4.836,94,10.73,152,6.53,198,9.155,277,3.873,376,5.086,447,6.789,653,10.585,724,9.155,1867,18.053,2178,16.263,2179,18.199,2180,16.712]],["keywords/223",[]],["title/224",[151,592.616]],["content/224",[5,1.417,35,4.039,37,4.62,121,4.176,139,2.657,140,1.213,144,2.126,151,8.001,152,3.275,160,1.82,162,1.472,164,4.127,180,4.78,185,4.426,192,2.772,201,4.879,204,4.891,217,5.9,240,3.092,244,5.231,257,6.594,265,5.412,318,2.992,329,9.78,358,3.431,615,4.466,646,5.141,744,10.622,758,4.081,759,7.522,760,7.522,761,4.879,764,6.776,768,10.118,775,6.872,795,6.128,1177,5.814,1200,6.223,1201,8.447,1205,9.056,2181,9.127,2182,6.594,2183,8.381,2184,8.381,2185,9.127,2186,9.127,2187,16.457,2188,9.127,2189,9.127,2190,9.127,2191,9.127,2192,14.226,2193,18.908,2194,11.847,2195,13.705,2196,10.176,2197,16.457,2198,13.705,2199,9.127,2200,9.127,2201,9.127,2202,9.127,2203,9.127,2204,9.127,2205,9.127,2206,7.229,2207,9.127,2208,8.381,2209,9.127]],["keywords/224",[]],["title/225",[2153,1257.008]],["content/225",[5,2.898,35,5.245,45,2.922,50,4.913,136,3.301,139,2.053,140,2.482,144,1.826,145,6.418,160,2.818,161,6.468,162,3.588,163,6.979,164,3.93,186,4,243,5.396,265,4.648,273,7.578,277,3.008,278,6.468,292,5.664,361,8.334,432,10.86,564,9.004,614,7.322,621,7.64,848,8.05,852,6.626,855,7.831,929,9.34,1543,5.364,1690,11.196,1740,8.453,2151,16.141,2152,9.96,2153,11.65]],["keywords/225",[]],["title/226",[136,278.481,144,154.065]],["content/226",[4,5.554,7,1.301,29,4.826,35,2.319,45,2.567,136,1.097,140,2.995,144,0.607,145,3.642,146,5.006,152,1.685,201,5.614,204,3.748,213,8.68,214,11.616,217,1.515,219,7.771,230,4.626,232,10.352,234,7.307,267,9.078,268,6.28,269,19.307,270,8.038,275,12.65,277,3.234,348,11.633,383,2.433,423,3.56,483,3.487,505,4.312,625,2.484,646,9.35,697,4.074,723,3.234,725,7.039,761,5.614,784,4.059,790,5.333,808,2.484,1162,2.769,1292,16.584,1293,2.433,1296,6.14,1356,3.72,1376,8.656,1388,3.103,1743,3.594,2130,4.312,2140,8.318,2210,4.696,2211,4.696,2212,4.312,2213,8.656,2214,9.643,2215,9.643,2216,9.643,2217,9.643,2218,9.078,2219,9.643,2220,10.501,2221,9.643,2222,9.643,2223,9.078,2224,6.81,2225,10.501,2226,9.643,2227,9.643,2228,9.078,2229,4.059,2230,7.366,2231,8.022,2232,4.696,2233,4.312,2234,4.696,2235,4.059,2236,4.312,2237,4.312,2238,4.696,2239,4.059,2240,4.696,2241,4.696,2242,4.696,2243,8.022,2244,4.696,2245,4.312,2246,4.696,2247,4.696]],["keywords/226",[]],["title/227",[55,675.723,1027,573.248]],["content/227",[1,2.976,5,1.498,7,2.673,9,1.364,18,1.235,21,1.731,29,2.273,35,0.723,38,1.75,39,1.81,43,3.866,45,1.209,46,6.032,48,4.862,51,2.122,52,2.931,55,9.316,56,3.794,60,1.15,61,1.602,62,4.889,63,3.664,65,3.866,69,1.958,75,1.498,78,4.16,79,1.25,88,1.337,96,1.987,119,1.662,121,2.677,125,2.085,130,2.023,133,2.085,137,2.013,139,3.46,140,1.055,143,3.397,152,1.175,153,1.303,157,2.742,162,1.789,173,4.78,174,1.534,188,1.832,189,3.842,192,0.662,194,1.008,197,1.303,200,2.163,204,4.394,207,1.79,208,0.662,217,1.056,224,3.173,225,1.801,241,1.574,252,1.534,256,1.138,257,4.227,258,3.403,271,1.987,273,1.328,277,4.515,284,3.062,308,4.634,314,3.664,317,1.031,318,0.715,333,3.916,336,2.315,345,1.713,350,0.756,358,3.957,372,2.123,373,1.602,375,2.505,376,3.098,378,4.853,383,4.109,403,2.43,404,1.272,437,1.713,443,5.993,446,1.616,447,2.959,476,1.93,494,1.81,552,2.43,562,2.207,563,1.731,564,3.727,566,2.505,568,2.233,573,2.33,580,2.163,614,1.696,621,1.769,626,2.085,628,1.464,673,1.498,674,1.855,686,1.696,695,1.79,715,2.593,742,2.597,746,1.769,748,2.307,752,1.574,758,3.547,774,2.085,775,3.701,791,2.254,808,4.195,812,1.79,813,4.885,819,1.79,848,2.522,856,4.478,882,2.085,883,2.018,896,9.585,913,2.83,952,2.837,970,2.83,1022,2.505,1027,5.919,1046,2.505,1066,2.505,1074,7.326,1076,7.284,1146,3.881,1189,2.207,1192,2.254,1242,1.769,1245,2.698,1266,3.198,1275,2.307,1292,2.43,1295,2.307,1337,3.316,1347,5.611,1377,1.987,1418,2.207,1443,2.123,1476,5.401,1499,7.164,1503,2.698,1525,2.698,1539,5.372,1573,7.952,1587,3.128,1588,3.358,1623,2.505,1651,2.207,1703,6.538,1708,6.971,1709,5.462,1714,4.998,1718,8.011,1781,2.307,1793,5.589,1812,6.538,1813,7.284,1814,2.593,1815,2.83,1816,3.006,1824,2.83,1871,2.163,1877,4.822,1878,5.057,2024,4.344,2048,2.593,2065,2.365,2089,2.254,2248,3.006,2249,7.932,2250,3.273,2251,3.273,2252,3.273,2253,12.096,2254,3.273,2255,5.85,2256,3.273,2257,5.85,2258,3.273,2259,3.273,2260,3.273,2261,7.932,2262,3.273,2263,3.273,2264,4.344,2265,3.273,2266,5.85,2267,3.273,2268,5.057,2269,5.85,2270,5.85,2271,5.85,2272,5.85,2273,13.367,2274,5.85,2275,12.313,2276,5.85,2277,5.85,2278,5.85,2279,5.85,2280,3.273,2281,5.85,2282,3.273,2283,5.85,2284,2.698,2285,2.698,2286,2.698,2287,2.837,2288,2.43,2289,2.698,2290,2.698,2291,3.273,2292,3.273,2293,3.273,2294,3.273,2295,3.273,2296,3.006,2297,5.85,2298,3.006,2299,2.698,2300,3.006,2301,3.273,2302,2.83,2303,9.648,2304,5.85,2305,5.85,2306,2.83,2307,5.85,2308,3.006,2309,5.85,2310,2.593,2311,3.273,2312,3.273,2313,5.85,2314,5.85,2315,3.273,2316,3.273]],["keywords/227",[]],["title/228",[197,474.805,202,490.198]],["content/228",[]],["keywords/228",[]],["title/229",[58,521.487,197,474.805]],["content/229",[1,4.401,5,2.914,20,4.632,21,4.376,50,2.876,58,10.581,64,2.818,79,3.158,84,2.695,88,3.38,89,3.518,91,3.122,119,6.461,120,4.576,130,6.015,136,4.977,137,2.846,139,1.847,143,2.535,144,1.069,152,4.565,155,4.244,160,1.65,162,2.5,165,4.376,186,2.342,192,1.674,197,8.222,225,2.547,238,4.812,241,3.978,271,5.022,273,3.358,285,3.14,318,2.778,325,4.749,331,5.821,333,4.085,337,6.361,345,4.331,370,5.1,404,4.943,437,4.331,438,6.144,522,7.399,551,5.698,562,5.578,620,6.339,673,5.821,761,4.423,818,5.978,843,5.1,845,5.1,852,5.963,924,5.022,946,4.523,1165,5.698,1189,5.578,1300,5.183,1358,4.812,1386,4.812,1607,6.82,1656,7.598,1850,6.333,1858,7.598,1908,5.578,1916,10.92,1930,7.598,2007,7.153,2089,5.698,2317,6.144,2318,10.077,2319,10.558,2320,8.274,2321,6.82,2322,8.274,2323,8.274,2324,9.19,2325,7.153,2326,6.554,2327,8.274,2328,8.274,2329,7.153,2330,6.144,2331,8.274,2332,8.274,2333,6.82,2334,7.598,2335,11.681,2336,8.274,2337,8.274,2338,8.274,2339,7.598,2340,7.598]],["keywords/229",[]],["title/230",[45,246.448,197,474.805]],["content/230",[1,3.443,5,1.566,18,2.33,21,3.266,35,4.066,37,5.483,45,4.994,50,5.13,52,1.47,54,3.592,58,2.701,83,3.415,88,2.522,91,2.33,102,1.909,114,4.461,124,3.232,130,3.488,136,4.774,137,2.124,139,1.857,143,1.892,144,2.379,150,2.721,152,3.619,155,3.167,162,2.381,163,3.049,165,3.266,174,2.895,186,1.748,192,1.249,194,1.901,196,2.741,197,6.477,201,6.835,202,5.256,204,3.6,208,4.134,222,3.693,238,3.592,240,3.417,242,3.5,259,4.51,265,3.317,273,2.506,277,2.146,278,4.615,279,2.29,294,4.461,317,3.177,318,1.348,331,2.826,337,3.417,338,5.334,345,3.232,349,1.945,350,2.329,352,1.655,358,1.546,359,3.106,404,3.919,436,2.826,437,3.232,513,6.032,522,5.866,540,3.868,571,2.662,614,3.199,615,4.935,620,3.077,671,5.674,673,5.85,676,4.12,700,2.556,744,2.919,789,3.693,812,3.376,813,2.721,821,4.08,845,3.806,848,2.662,852,4.728,1056,3.545,1142,3.748,1155,4.892,1200,2.804,1204,2.556,1207,4.461,1208,4.253,1209,4.163,1210,4.253,1212,3.693,1279,4.352,1379,4.726,1383,5.09,1386,3.592,1391,3.934,1443,8.29,1451,4.892,1591,2.969,1792,4.892,1834,4.146,1916,13.536,1923,5.09,1945,4.585,2109,2.49,2116,5.09,2317,4.585,2318,4.892,2319,7.759,2341,6.175,2342,6.175,2343,6.175,2344,6.175,2345,6.175,2346,6.175,2347,5.09,2348,6.175,2349,5.671,2350,5.09,2351,6.175,2352,7.879,2353,5.338,2354,6.175,2355,6.175,2356,2.848,2357,4.08,2358,5.338,2359,5.338,2360,6.175,2361,6.175,2362,6.175,2363,14.759,2364,5.338]],["keywords/230",[]],["title/231",[33,549.953,197,474.805]],["content/231",[1,3.772,5,1.551,33,11.273,37,3.368,45,2.065,50,3.473,54,5.811,58,4.37,60,3.509,102,3.089,106,5.341,112,4.979,124,5.229,130,5.068,136,3.423,139,2.521,143,3.061,144,1.291,150,4.402,152,5.259,155,5.124,158,3.954,162,3.085,186,2.828,192,2.964,194,3.075,195,6.064,197,8.109,202,4.107,222,5.975,225,4.511,238,5.811,252,4.683,265,3.286,273,4.055,318,2.181,331,4.572,337,4.966,350,2.307,404,5.695,436,4.572,522,8.525,571,4.308,614,5.176,671,4.434,735,7.914,742,4.434,812,5.462,845,6.158,848,4.308,852,4.683,918,5.662,950,7.04,1146,4.889,1155,7.914,1386,5.811,1451,7.914,1478,6.88,1551,8.896,1587,5.341,1591,4.803,1697,8.235,1837,15.377,1916,10.328,1923,8.235,2317,7.418,2318,7.914,2319,10.536,2365,9.991,2366,9.991,2367,6.479,2368,7.418,2369,7.914,2370,6.479,2371,9.991]],["keywords/231",[]],["title/232",[197,474.805,741,746.821]],["content/232",[1,3.937,5,2.195,45,1.967,52,3.367,58,4.163,121,4.356,130,4.89,136,2.223,138,3.721,139,2.713,143,4.333,144,2.18,146,4.537,152,3.416,160,1.898,162,3.013,164,2.004,180,2.765,181,3.379,186,2.694,192,1.925,197,8.328,202,3.913,208,3.413,211,11.621,213,5.089,214,4.834,219,5.075,222,5.692,240,3.225,241,4.576,266,6.877,273,5.739,300,7.54,305,5.394,308,7.54,318,2.078,331,4.356,337,4.791,358,3.541,376,2.66,404,3.699,423,7.489,522,8.225,568,3.634,624,5.265,625,5.034,646,5.305,697,4.834,725,5.394,741,14.236,742,4.225,812,5.204,845,5.867,848,6.097,930,6.859,1591,4.576,1916,13.162,2113,6.523,2135,7.068,2136,7.286,2317,7.068,2318,7.54,2319,10.241,2367,6.172,2372,8.741,2373,8.228,2374,9.519,2375,11.656,2376,14.142,2377,9.519,2378,8.228,2379,7.846,2380,7.846,2381,8.228,2382,7.846,2383,7.846]],["keywords/232",[]],["title/233",[158,387.36,197,389.769,918,554.704]],["content/233",[1,3.444,5,1.986,45,2.644,51,3.024,52,1.985,58,3.646,121,3.815,130,4.424,136,1.947,138,3.259,139,2.536,143,3.92,144,1.653,146,3.974,152,2.991,157,3.908,158,9.002,160,1.662,162,2.817,164,1.755,180,2.421,181,2.959,186,2.359,192,1.686,197,8.244,202,3.427,208,3.149,211,10.722,213,4.457,214,4.234,219,5.587,222,4.986,240,2.824,241,4.008,252,3.908,265,4.207,266,6.023,273,7.087,300,6.604,305,4.724,318,1.82,331,3.815,336,3.299,337,4.335,350,1.925,358,4.372,376,2.33,404,3.239,423,7.751,522,7.441,624,4.611,625,4.409,646,4.8,676,3.405,697,4.234,724,4.194,725,4.724,742,3.7,812,4.557,845,5.138,848,3.594,918,11.268,930,6.205,1201,5.138,1551,5.06,1591,4.008,1916,13.275,1935,4.915,2113,5.901,2135,6.19,2136,6.381,2310,6.604,2317,6.19,2318,6.604,2319,9.45,2367,5.406,2372,7.655,2373,17.187,2378,7.206,2379,6.871,2380,6.871,2381,7.206,2382,6.871,2383,6.871,2384,7.206,2385,8.337,2386,12.795,2387,8.337,2388,10.135,2389,7.206,2390,9.793]],["keywords/233",[]],["title/234",[197,474.805,2109,480.814]],["content/234",[1,4.226,5,2.498,48,3.075,52,2.708,58,4.976,83,6.292,88,4.647,91,4.292,124,5.954,129,6.292,130,6.458,136,3.759,139,2.337,143,3.485,144,1.47,152,4.082,162,2.596,186,3.22,197,8.532,202,4.677,208,2.301,222,6.803,238,6.617,273,4.617,279,4.22,331,5.206,337,5.453,349,3.583,359,5.723,404,6.254,436,5.206,522,9.361,671,5.049,681,8.447,741,7.125,812,6.219,845,7.012,848,8.052,1176,7.012,1554,7.377,1591,5.469,1834,6.617,1916,11.341,2109,9.824,2111,9.011,2317,8.447,2319,11.335,2347,9.377,2367,7.377,2391,11.376,2392,17.15,2393,11.376,2394,11.376,2395,8.707,2396,10.447]],["keywords/234",[]],["title/235",[79,455.148,197,474.805]],["content/235",[1,3.748,4,8.705,5,2.253,21,9.465,37,2.517,41,3.829,50,4.082,58,3.265,66,4.601,72,3.948,79,9.198,80,7.127,106,3.991,124,3.907,127,5.394,129,4.129,130,5.019,136,4.438,139,1.705,143,2.287,152,4.214,155,3.829,158,2.954,162,2.887,167,3.755,185,3.621,186,2.113,193,4.465,197,7.126,199,5.714,202,3.069,222,4.465,225,2.298,238,4.342,239,5.914,265,2.455,273,3.03,278,3.416,279,2.769,325,4.285,331,3.416,336,2.954,337,3.979,349,2.352,404,6.395,436,3.416,437,3.907,522,6.83,554,3.829,571,3.219,615,3.653,620,7.233,622,5.141,628,3.338,671,3.313,674,4.231,812,4.081,845,4.601,848,5.063,1142,4.531,1176,4.601,1195,4.035,1314,8.719,1341,4.601,1386,4.342,1443,4.841,1543,2.833,1570,5.714,1591,3.589,1608,6.153,1651,9.785,1666,3.621,1718,8.484,1781,5.261,1872,13.565,1873,6.153,1916,8.275,1923,6.153,2069,5.914,2085,6.855,2088,6.855,2089,8.087,2091,7.76,2095,6.855,2109,3.01,2121,5.543,2317,5.543,2319,8.81,2347,6.153,2367,4.841,2395,11.11,2396,6.855,2397,7.466,2398,6.855,2399,6.454,2400,6.855,2401,17.895,2402,6.855,2403,7.466,2404,7.466,2405,7.466,2406,7.466,2407,6.454,2408,6.855,2409,7.466,2410,7.466,2411,6.855,2412,7.466,2413,7.466,2414,7.466,2415,7.466,2416,7.466,2417,7.466,2418,7.466]],["keywords/235",[]],["title/236",[1,163.73,337,281.25,446,409.879,1911,599.745]],["content/236",[]],["keywords/236",[]],["title/237",[408,925.606]],["content/237",[1,4.891,5,2.974,7,4.073,21,7.773,37,7.184,47,9.362,50,5.109,64,6.523,71,8.79,121,6.726,136,4.977,196,6.523,202,6.042,225,4.524,256,5.109,408,12.935,484,9.908,503,9.908,506,10.913,522,8.548,620,7.324,642,7.324,677,8.035,936,10.913,1253,7.006,1303,10.913,1614,9.206,1764,11.642,1831,12.114,2419,10.913,2420,11.249]],["keywords/237",[]],["title/238",[32,1208.042]],["content/238",[]],["keywords/238",[]],["title/239",[513,912.046]],["content/239",[1,2.788,5,2.194,9,7.779,36,10.619,75,6.468,124,7.398,130,7.691,185,6.855,192,2.859,193,8.453,194,4.35,241,6.796,256,4.913,273,5.736,285,7.086,318,3.086,325,8.113,336,5.594,407,9.34,425,8.334,468,10.495,513,14.207,567,9.96,571,6.094,620,7.044,695,7.727,1538,10.212,1569,12.98,1591,6.796,1651,9.528,1672,9.96,1716,11.196,2421,14.135,2422,14.135,2423,17.146,2424,14.135,2425,15.39,2426,10.819]],["keywords/239",[]],["title/240",[37,514.1]],["content/240",[1,4.72,4,3.653,5,1.714,9,4.599,18,2.606,30,4.867,33,3.186,36,7.005,37,7.293,45,2.282,47,7.033,48,1.867,50,3.838,55,3.914,57,7.78,62,2.364,68,5.128,71,4.131,72,3.653,73,5.971,79,2.637,89,2.937,125,4.4,136,3.68,139,1.003,142,3.474,143,3.383,162,1.781,187,7.034,202,6.478,219,7.763,225,4.849,248,3.578,317,3.478,321,3.088,322,3.112,325,3.964,336,2.733,337,7.463,352,2.959,353,2.937,372,4.479,391,4.99,432,4.017,434,7.045,442,4.257,447,2.576,476,4.072,493,4.564,494,3.82,503,4.656,511,4.192,573,2.75,676,2.821,677,3.776,695,6.036,789,4.131,875,3.474,936,5.128,946,8.614,947,9.544,1027,7.575,1032,7.78,1175,3.776,1288,5.693,1303,10.241,1308,6.342,1314,10.241,1332,4.479,1443,4.479,1444,4.99,1486,4.99,1558,4.757,1567,5.128,1587,3.692,1588,3.964,1591,6.631,1606,9.312,1623,10.557,1695,6.342,1712,12.665,1806,5.128,1912,4.757,1931,5.971,1934,6.342,2069,5.471,2425,5.693,2427,10.138,2428,5.971,2429,5.693,2430,6.907,2431,6.907,2432,6.907,2433,4.757,2434,6.907,2435,6.907,2436,6.342,2437,10.138,2438,6.342,2439,9.544,2440,5.971,2441,6.907,2442,5.693,2443,6.907,2444,6.342,2445,8.746,2446,6.342,2447,6.907,2448,6.342]],["keywords/240",[]],["title/241",[36,605.569,2449,840.217]],["content/241",[1,3.083,4,8.267,5,3.406,35,3.451,36,10.123,37,5.269,50,5.433,79,5.967,121,7.153,130,5.405,136,4.655,142,7.863,196,6.937,225,6.135,256,5.433,265,5.14,337,5.296,482,12.381,495,7.863,506,11.606,511,12.097,620,7.789,695,8.545,858,13.512,1606,8.449,2449,14.046,2450,15.631,2451,15.631,2452,15.631,2453,15.631]],["keywords/241",[]],["title/242",[136,278.481,1606,644.506]],["content/242",[1,4.476,5,2.611,36,8.541,37,5.669,52,4.003,91,6.345,124,8.802,136,4.875,196,7.464,446,8.304,580,11.112,709,11.581,712,11.337,758,7.52,761,8.991,936,12.487,948,12.872,1303,12.487,1606,11.282,1614,10.534,2433,11.581,2449,11.851,2454,12.15]],["keywords/242",[]],["title/243",[1558,1050.255]],["content/243",[1,4.203,4,10.132,9,6.123,18,5.545,30,13.499,32,11.642,37,4.954,89,6.249,125,12.203,187,6.987,195,8.92,352,3.94,432,8.548,573,5.853,612,11.807,674,10.856,677,8.035,695,8.035,830,9.711,946,10.473,1275,10.357,1558,10.122,1606,10.355,2433,14.677,2455,14.698,2456,14.698,2457,14.698,2458,10.913,2459,8.035,2460,14.698,2461,13.496,2462,12.114,2463,14.698,2464,14.698]],["keywords/243",[]],["title/244",[1651,1028.057]],["content/244",[]],["keywords/244",[]],["title/245",[2395,1167.278]],["content/245",[1,4.459,21,6.985,29,5.132,31,9.807,64,6.077,67,9.756,79,5.042,80,8.016,124,6.913,187,4.818,225,4.065,254,8.564,316,8.903,317,5.621,324,7.899,336,5.227,494,7.305,620,10.071,622,12.289,695,7.22,742,5.862,1214,7.393,1307,11.417,1332,13.105,1392,10.462,1443,8.564,1651,8.903,1718,12.892,1873,16.658,2089,13.918,2367,8.564,2395,17.303,2465,12.128,2466,10.109,2467,12.128,2468,13.208,2469,12.128,2470,8.273,2471,16.386,2472,17.845]],["keywords/245",[]],["title/246",[142,599.787,1661,912.615]],["content/246",[1,4.258,4,11.418,21,7.985,120,8.351,130,5.221,142,10.86,187,5.507,194,4.647,239,11.96,241,7.259,254,9.79,255,9.163,258,8.781,401,12.444,443,8.161,751,9.618,1195,8.161,1332,9.79,1512,11.96,1651,10.178,1661,16.524,1718,10.908,1872,12.444,2089,13.424,2123,9.976,2288,11.21,2395,11.556,2398,13.864,2399,13.051,2400,13.864,2473,11.556,2474,15.098,2475,12.444]],["keywords/246",[]],["title/247",[2097,982.769,2476,1030.714]],["content/247",[1,3.914,9,6.466,21,8.209,65,10.256,134,12.793,226,8.298,290,11.107,333,7.664,620,7.735,622,10.689,695,8.485,724,7.808,1067,8.39,1332,10.065,1334,10.463,1368,10.065,1386,12.722,1658,12.295,2097,19,2135,11.524,2476,13.417,2477,15.521,2478,15.521,2479,14.253,2480,15.521,2481,14.253,2482,8.585,2483,15.521,2484,15.521,2485,13.417,2486,15.521]],["keywords/247",[]],["title/248",[1672,1074.677]],["content/248",[]],["keywords/248",[]],["title/249",[47,971.494]],["content/249",[1,4.396,5,1.968,7,4.809,37,7.758,47,15.504,48,5.751,49,8.492,50,6.033,55,9.836,91,4.784,96,7.695,121,5.802,181,4.501,187,4.625,198,6.378,219,6.228,224,4.169,285,4.812,321,5.669,322,7.82,337,5.88,372,8.221,416,10.45,455,7.097,752,6.095,830,8.377,946,6.931,1065,9.16,1152,8.934,1526,8.221,1568,8.731,1922,10.043,2440,15.003,2461,11.642,2462,10.45,2487,8.547,2488,9.414,2489,8.934,2490,9.704,2491,10.96,2492,10.45,2493,8.377]],["keywords/249",[]],["title/250",[57,1074.677]],["content/250",[1,4.332,5,3.195,30,12.886,31,10.17,49,6.702,57,9.652,60,4.811,79,6.98,121,6.268,136,3.199,144,1.77,194,4.216,226,7.323,321,6.125,333,6.763,371,8.076,593,8.076,676,5.595,754,8.313,818,9.896,822,7.667,823,8.726,840,8.442,946,7.488,1140,8.579,1155,10.85,1314,10.17,1444,14.872,1606,7.404,1709,9.433,1806,16.31,2433,12.593,2439,11.841,2442,15.072,2473,13.996,2494,12.578,2495,12.578,2496,12.578,2497,12.578,2498,10.484,2499,13.698,2500,13.698]],["keywords/250",[]],["title/251",[192,241.161,1623,912.615]],["content/251",[1,3.267,4,8.762,13,10.376,21,8.762,66,10.21,91,6.25,93,11.408,192,4.559,194,5.099,202,6.811,209,7.464,314,12.95,316,11.167,352,4.44,353,7.043,545,10.054,751,10.553,1027,7.964,1623,17.252,1670,14.32,1672,11.674,2089,14.239,2501,15.212]],["keywords/251",[]],["title/252",[256,414.454,753,693.483]],["content/252",[]],["keywords/252",[]],["title/253",[317,375.584,1902,821.123]],["content/253",[1,3.646,5,2.161,7,0.65,8,1.795,9,0.977,18,2.267,33,1.082,35,3.326,36,1.191,37,2.518,45,3.928,46,2.538,48,1.624,50,2.089,52,4.333,53,1.09,55,1.329,58,7.2,59,1.904,64,2.543,75,2.75,78,1.621,83,3.324,84,0.764,88,2.455,89,2.555,90,1.741,91,3.722,97,1.825,102,0.725,106,2.31,110,1.469,114,1.694,119,2.195,123,2.153,127,1.694,129,1.297,130,5.21,131,1.445,133,5.569,136,2.042,138,1.689,139,1.822,140,1.162,141,3.132,142,3.023,143,0.718,144,0.777,146,3.56,150,1.904,152,0.841,153,1.721,156,1.52,157,2.026,159,1.282,160,1.198,162,1.752,164,1.265,167,1.18,180,1.745,181,3.502,185,1.137,188,1.313,190,1.581,192,1.511,194,1.85,196,5.214,197,6,198,1.18,201,3.993,202,0.964,204,2.145,208,2.683,209,1.947,211,4.139,213,4.674,214,4.44,219,5.21,222,2.584,224,0.771,225,3.342,227,0.611,241,6.378,252,2.026,256,1.502,265,3.244,266,1.694,272,1.346,273,3.031,277,3.206,278,1.073,279,3.243,282,3.594,285,2.281,290,1.313,292,0.94,300,4.76,302,1.118,305,3.406,307,1.297,316,1.581,317,3.42,318,1.909,319,1.615,324,2.584,326,4.603,331,2.75,332,1.297,333,2.134,337,3.98,350,2.713,358,1.87,370,1.445,371,3.543,372,1.52,373,5.748,374,2.285,376,1.679,391,3.122,398,1.549,404,2.335,407,1.549,408,3.647,409,3.307,423,4.819,425,3.543,434,1.048,435,1.694,437,2.262,439,2.753,440,1.694,442,5.388,447,1.612,463,1.795,467,1.423,476,1.383,495,2.174,508,1.494,522,2.513,535,1.694,540,1.469,543,2.753,571,3.769,573,2.393,575,1.346,593,2.548,594,2.39,620,1.168,621,1.267,624,4.131,625,3.95,626,5.569,627,1.694,632,1.168,637,1.469,642,1.168,643,1.056,646,5.652,651,4.467,652,3.869,676,2.455,693,1.329,695,1.282,697,3.052,700,0.97,712,1.581,723,6.793,725,3.406,750,1.073,752,1.127,795,1.048,804,1.933,813,1.033,815,1.795,819,1.282,837,2.027,845,2.663,852,1.099,882,3.828,883,3.704,930,5.266,952,1.137,1041,1.721,1054,1.24,1056,1.346,1067,2.336,1142,2.623,1146,1.147,1168,1.652,1169,1.549,1176,1.445,1192,1.615,1200,1.065,1201,1.445,1202,2.31,1204,0.97,1208,2.976,1209,2.913,1210,2.976,1212,2.584,1221,1.694,1222,1.615,1224,1.549,1230,1.652,1251,1.694,1270,3.423,1293,1.215,1299,3.208,1300,1.469,1358,2.513,1362,1.423,1368,1.52,1462,1.581,1473,1.795,1474,3.045,1479,1.615,1482,1.694,1501,1.346,1505,1.741,1524,1.857,1526,1.52,1543,1.64,1578,3.423,1606,1.267,1666,1.137,1671,1.741,1675,2.855,1693,1.549,1733,1.795,1756,3.208,1781,1.652,1871,1.549,1902,1.615,1907,1.857,1945,3.208,2059,3.449,2089,1.615,2091,1.254,2106,1.52,2113,4.032,2132,3.562,2133,1.933,2135,3.208,2136,3.307,2140,1.857,2144,3.423,2155,1.282,2319,5.986,2321,3.562,2339,2.153,2340,2.153,2350,1.933,2356,1.082,2364,2.027,2378,3.735,2379,3.562,2380,4.953,2381,3.735,2382,6.156,2383,3.562,2402,2.153,2419,6.491,2489,4.235,2497,3.968,2502,2.345,2503,1.795,2504,1.857,2505,2.027,2506,1.933,2507,1.857,2508,2.153,2509,2.153,2510,1.652,2511,1.933,2512,1.741,2513,2.345,2514,2.345,2515,4.321,2516,3.968,2517,15.117,2518,2.027,2519,2.345,2520,2.345,2521,1.933,2522,3.423,2523,2.345,2524,2.153,2525,2.345,2526,1.494,2527,2.153,2528,2.027,2529,2.153,2530,3.122,2531,2.345,2532,2.345,2533,2.027,2534,2.027,2535,2.345,2536,2.345,2537,2.345,2538,2.345,2539,2.345,2540,2.345,2541,2.345,2542,2.345,2543,2.345,2544,4.76,2545,2.345,2546,2.345,2547,2.153,2548,2.153,2549,2.345,2550,2.153,2551,2.027,2552,2.345,2553,2.153,2554,2.345,2555,8.028,2556,1.741,2557,2.345,2558,4.321,2559,2.345,2560,2.345,2561,3.968,2562,2.345,2563,2.345,2564,2.345,2565,2.153,2566,1.857,2567,2.027]],["keywords/253",[]],["title/254",[58,521.487,620,594.176]],["content/254",[1,4.276,5,0.806,21,2.746,29,4.393,35,2.927,45,2.74,46,4.774,52,4.056,58,9.349,79,1.982,84,2.844,89,2.207,96,3.151,102,1.605,112,2.587,129,2.871,130,1.795,131,3.2,132,3.658,136,2.64,138,2.029,139,0.754,140,0.69,144,1.128,146,2.474,152,1.863,160,2.254,162,2.386,164,1.093,180,1.508,181,1.843,196,2.304,208,1.05,213,2.775,214,2.636,219,4.757,220,2.375,224,1.707,225,1.598,256,1.804,258,5.08,265,1.707,278,2.375,279,5.485,285,1.97,300,4.112,317,2.751,322,2.339,326,3.2,332,2.871,337,6.517,340,1.833,347,5.887,350,2.611,355,3.105,371,3.061,376,1.451,404,4.393,423,3.876,436,2.375,440,3.75,463,6.685,467,6.861,476,3.061,492,3.658,495,2.611,523,4.487,538,3.973,554,6.799,571,3.765,573,3.478,574,3.061,575,8.489,620,7.37,624,2.871,625,2.746,628,5.928,632,5.634,642,4.352,646,4.973,676,3.567,697,2.636,723,7.785,724,2.611,725,2.942,761,8.566,824,3.854,836,3.151,845,5.383,855,3.663,882,5.563,883,5.383,921,3.499,930,2.518,952,2.518,1041,6.785,1125,5.771,1142,3.151,1143,3.658,1209,3.499,1300,3.251,1335,3.43,1362,3.151,1449,4.487,1526,3.366,1543,5.612,1575,3.2,1578,4.112,1607,7.199,1653,6.685,1850,6.685,1871,5.771,1908,3.499,2091,2.775,2106,5.663,2113,4.028,2131,9.318,2132,4.279,2133,4.279,2135,3.854,2136,3.973,2144,4.112,2319,5.301,2329,7.55,2379,4.279,2380,4.279,2382,4.279,2383,4.279,2419,6.485,2433,3.575,2485,4.487,2489,9.342,2517,18.158,2527,8.02,2529,4.767,2530,3.75,2555,4.767,2561,4.767,2566,4.112,2568,7.621,2569,4.767,2570,8.734,2571,5.191,2572,5.191,2573,5.191,2574,5.191,2575,4.767,2576,4.279,2577,4.487,2578,10.381,2579,5.191,2580,5.191,2581,5.191,2582,4.767,2583,4.767,2584,8.02,2585,4.279,2586,5.191,2587,5.191,2588,5.191,2589,4.279,2590,5.191,2591,3.854,2592,4.767]],["keywords/254",[]],["title/255",[1871,1007.71]],["content/255",[]],["keywords/255",[]],["title/256",[1,235.172,1871,787.86]],["content/256",[1,4.6,4,11.2,5,2.252,36,9.646,37,6.402,51,5.262,136,3.388,144,1.874,225,6.518,332,8.023,404,7.38,408,11.527,848,8.188,1143,15.832,1166,8.552,1253,10.094,1479,9.989,1543,5.505,1614,9.085,1932,11.955,2419,14.102,2504,11.49,2505,18.305,2516,17.44,2593,10.77,2594,14.505]],["keywords/256",[]],["title/257",[1,225.25,29,280.039,234,346.477,2595,593.996]],["content/257",[1,4.602,28,5.151,29,8.311,33,3.288,37,3.817,45,4.421,50,5.576,54,6.586,58,9.714,64,2.428,78,2.674,79,5.376,91,2.69,126,4.711,130,5.547,136,3.29,143,3.469,144,0.921,162,1.827,194,2.194,196,3.164,203,4.04,220,3.262,225,2.194,234,7.712,238,4.146,241,5.444,243,4.322,256,2.478,262,10.599,271,4.327,279,2.644,282,10.465,309,3.458,317,3.567,330,9.925,331,5.181,333,3.52,337,3.836,340,2.517,372,7.342,396,5.293,404,7.239,407,4.711,408,8.548,484,4.806,495,3.586,564,4.541,568,4.322,570,4.146,571,4.882,573,2.839,594,6.263,618,5.457,620,5.642,671,3.164,673,5.181,676,2.912,753,4.146,754,4.327,761,3.811,848,8.032,1142,4.327,1292,5.293,1347,4.146,1461,7.979,1476,3.991,1478,4.91,1479,4.91,1505,5.293,1543,4.297,1778,10.458,1862,4.711,1902,4.91,1964,4.327,1997,5.876,2117,5.293,2319,6.872,2330,5.293,2349,6.547,2352,8.681,2433,4.91,2454,5.151,2505,13.866,2507,5.647,2568,4.806,2595,14.423,2596,7.129,2597,5.647,2598,7.129,2599,6.547,2600,11.323,2601,11.323,2602,7.129,2603,6.547,2604,7.129,2605,5.876]],["keywords/257",[]],["title/258",[208,308.456]],["content/258",[]],["keywords/258",[]],["title/259",[136,228.606,208,197.97,278,447.9]],["content/259",[1,3.552,5,1.842,18,2.855,37,4.001,45,1.564,48,5.749,49,3.703,52,1.801,53,3.519,61,8.113,75,5.431,80,4.593,84,2.464,97,3.195,102,2.34,130,2.617,136,4.667,137,2.603,143,2.319,144,0.978,156,4.907,162,1.915,181,6.784,192,1.531,203,4.289,208,4.184,214,3.843,221,3.67,222,4.526,223,9.523,236,5.333,240,2.564,241,3.638,259,6.548,265,4.815,272,6.813,273,3.071,277,3.116,278,6.701,280,4.74,281,5.792,296,3.843,307,4.186,318,1.652,325,6.813,331,3.463,332,4.186,333,3.737,349,2.384,351,3.961,352,2.028,358,4.509,359,5.97,361,4.462,376,5.033,421,9.783,447,2.823,540,4.74,554,3.881,562,5.101,624,4.186,625,6.277,626,7.561,627,5.467,628,3.384,643,3.41,646,2.839,661,4.907,720,8.001,722,9.676,750,3.463,752,3.638,802,5.792,813,3.334,819,4.137,836,4.593,848,5.117,875,3.807,877,5,1067,4.091,1189,5.101,1253,3.607,1293,6.149,1358,4.401,1588,4.344,1703,6.237,1736,13.134,1774,4.289,1786,5.994,1844,6.949,1876,5.101,1906,6.542,2114,6.949,2115,6.949,2116,6.237,2117,5.619,2118,6.542,2121,5.619,2122,6.542,2123,5,2124,5.619,2192,6.542,2193,13.447,2194,10.26,2356,3.49,2606,11.869,2607,7.568,2608,7.568,2609,6.542,2610,7.568,2611,7.568,2612,7.568]],["keywords/259",[]],["title/260",[358,298.523,930,578.268]],["content/260",[5,2.923,7,3.967,45,2.959,48,5.687,75,6.552,102,4.427,136,3.344,152,5.137,168,9.86,207,7.827,265,4.708,266,10.344,277,4.942,309,6.944,313,13.147,317,4.51,321,6.402,358,4.715,370,11.606,373,9.214,374,7.572,375,6.13,376,4.001,377,9.651,378,7.202,382,13.27,386,13.147,930,6.944,1067,7.739,1204,5.925,1222,9.86,1358,8.327,1935,8.442,2059,10.809,2544,11.341,2613,14.318,2614,14.318,2615,13.147]],["keywords/260",[]],["title/261",[196,434.419,358,245.059,375,419.053]],["content/261",[1,3.061,5,2.409,37,5.232,48,4.195,84,5.055,102,4.799,196,9.708,265,5.104,277,4.655,323,9.887,325,8.909,340,5.481,358,5.771,370,9.566,373,7.595,375,10.199,447,5.79,614,8.041,646,5.823,695,8.485,791,10.689,876,16.355,1293,8.041,2356,7.159,2487,10.463,2616,13.417]],["keywords/261",[]],["title/262",[358,298.523,647,675.723]],["content/262",[1,3.307,5,2.602,48,5.209,52,2.87,61,5.9,96,7.318,102,3.728,126,7.967,138,4.714,143,3.694,188,6.749,197,4.801,208,3.898,211,8.303,217,3.889,221,5.848,265,3.965,271,7.318,277,2.566,278,8.819,324,7.211,333,5.953,336,4.772,358,6.167,373,8.203,374,6.377,375,5.162,376,4.685,437,6.311,543,7.681,614,8.685,646,7.23,647,13.434,741,7.552,848,5.199,1316,7.681,1352,7.681,1505,8.953,1526,7.819,1911,8.711,2375,9.938,2429,9.938,2617,12.058,2618,12.058,2619,5.9,2620,9.229,2621,10.423,2622,12.058,2623,10.423]],["keywords/262",[]],["title/263",[224,419.379,277,176.654,813,365.724]],["content/263",[1,3.703,7,4.82,31,6.144,45,1.71,46,3.494,48,4.188,49,7.583,50,2.876,51,3.002,52,1.97,53,3.847,62,4.354,70,8.103,79,3.158,80,5.022,84,2.695,91,3.122,97,3.494,102,2.558,121,3.786,126,5.467,130,4.399,136,1.933,137,2.846,138,3.235,144,2.002,153,3.295,181,2.937,187,3.018,192,3.134,194,2.547,208,3.797,224,7.576,265,2.721,277,4.218,285,3.14,292,5.097,317,4.007,318,3.384,336,6.133,350,1.911,358,4.701,362,3.978,379,5.578,615,4.049,625,4.376,646,6.526,647,8.782,741,5.183,744,3.911,775,5.806,813,6.827,938,9.706,1245,12.773,1347,4.812,1365,6.333,1575,5.1,1673,5.022,1709,13.651,1814,6.554,1876,5.578,2060,5.183,2375,10.485,2624,10.996,2625,10.485,2626,6.82,2627,7.598,2628,7.153,2629,10.996,2630,17.395,2631,5.978,2632,7.598,2633,8.274,2634,6.82,2635,8.274,2636,8.274,2637,8.274,2638,8.274,2639,15.037,2640,12.721,2641,8.274,2642,12.721,2643,8.274,2644,8.274]],["keywords/263",[]],["title/264",[208,308.456]],["content/264",[35,3.006,45,3.764,48,3.679,52,3.241,137,4.683,140,1.81,144,1.759,146,8.681,151,5.29,160,4.091,161,6.23,162,2.938,163,6.722,164,4.32,165,7.2,166,7.918,167,6.848,168,9.375,169,9.593,170,9.177,171,8.527,172,11.093,173,5.869,175,7.814,176,7.715,177,7.918,178,7.918,179,6.784,180,3.954,186,3.853,208,4.754,243,5.197,244,5.197,246,11.221,265,4.477,277,5.002,304,11.768,404,5.29,2645,12.501]],["keywords/264",[]],["title/265",[208,241.161,642,594.176]],["content/265",[138,9.103,143,7.134,208,4.083]],["keywords/265",[]],["title/266",[358,381.825]],["content/266",[5,2.195,7,2.638,18,3.591,48,5.048,51,3.453,52,4.446,83,5.265,137,3.275,140,1.88,144,1.23,146,4.537,151,5.495,155,4.882,160,3.364,162,1.536,164,3.932,167,4.788,172,10.096,173,7.275,175,5.464,176,8.015,177,5.536,178,5.536,179,4.743,180,4.107,181,5.02,186,2.694,208,4.23,213,5.089,214,7.183,217,4.561,223,4.743,265,3.13,270,7.286,277,4.451,279,3.531,340,3.361,358,5.791,373,10.885,374,11.062,375,7.224,376,4.715,624,5.265,625,5.034,630,5.777,643,4.289,644,6.708,645,8.716,646,7.488,647,11.311,648,5.777,649,4.882,654,6.29,1296,7.286,1299,7.068,2530,6.877,2646,7.068,2647,7.846,2648,8.228,2649,8.741]],["keywords/266",[]],["title/267",[358,298.523,642,594.176]],["content/267",[5,1.775,7,2.28,11,2.015,35,0.403,37,1.155,40,7.178,48,0.926,49,2.981,51,2.984,52,5.269,62,3.913,64,4.313,75,2.214,79,1.308,84,1.575,88,1.976,90,1.356,91,1.825,93,5.666,97,0.771,102,1.884,103,1.184,105,2.359,108,3.081,112,1.707,130,0.632,131,1.126,136,1.423,137,1.179,138,2.821,139,1.993,140,2.053,141,1.437,143,1.05,144,2.042,151,1.88,152,0.655,153,1.364,155,0.937,158,7.411,160,2.919,162,1.948,163,0.902,164,3.532,165,0.966,167,0.919,173,0.788,180,3.838,181,3.246,183,2.457,185,2.955,186,2.823,189,0.727,192,2.017,194,3.07,196,0.811,197,2.873,198,0.919,201,2.586,202,2.505,204,1.223,208,3.394,211,4.196,214,3.094,216,1.506,217,1.965,219,1.736,223,0.91,224,0.601,227,0.476,232,1.707,240,1.161,241,1.647,242,2.741,252,2.268,256,0.635,257,1.32,258,1.062,259,1.532,263,2.544,265,4.513,268,1.092,273,2.928,275,1.01,277,2.569,279,2.26,280,2.146,285,0.693,296,3.094,309,0.886,318,2.178,320,4.38,321,0.817,323,1.164,327,1.01,329,3.858,330,2.414,331,0.836,333,1.691,337,2.064,338,0.966,340,1.21,345,0.956,349,3.142,350,1.407,358,4.342,361,1.077,373,4.881,374,2.558,375,2.071,376,1.352,378,0.919,392,1.287,398,1.207,404,0.71,423,6.681,425,1.077,432,4.785,434,0.817,436,0.836,446,4.062,447,1.278,508,1.164,540,1.144,563,0.966,568,3.141,615,1.676,624,1.01,625,0.966,643,0.823,646,2.286,653,1.062,656,2.714,657,2.714,658,1.287,659,1.579,660,1.579,661,1.184,662,1.506,663,1.579,664,2.961,665,2.961,666,2.475,667,1.579,668,1.579,669,1.231,670,5.358,671,2.147,672,2.146,673,1.568,674,1.035,675,1.941,676,0.746,677,0.999,678,1.447,679,1.258,680,1.579,681,4.524,682,1.447,683,1.398,684,1.579,685,1.32,686,1.775,687,1.579,688,1.579,689,2.622,690,1.579,691,1.579,692,1.447,693,5.181,694,1.579,695,1.873,696,2.079,697,0.928,698,5.796,700,0.756,708,1.579,709,2.359,710,1.579,711,1.356,712,1.231,713,6.517,714,1.579,715,1.447,716,1.398,717,1.895,722,1.207,724,3.63,725,2.741,726,1.447,727,1.579,728,2.961,731,2.961,732,5.267,735,2.714,737,2.961,741,11.18,742,2.704,743,1.184,744,6.246,745,1.398,746,3.293,747,1.579,748,7.029,750,3.302,752,0.878,758,1.532,759,1.506,760,1.506,761,0.977,762,4.181,763,2.961,764,2.544,765,2.475,766,1.579,767,1.447,768,3.37,769,1.579,770,1.398,771,5.022,772,1.579,773,1.579,774,2.182,775,2.408,776,2.961,777,1.579,778,1.579,779,1.356,780,1.506,781,1.579,782,1.579,783,1.579,785,9.564,786,1.579,787,5.267,788,2.961,789,5.965,790,1.74,791,2.359,792,2.475,793,2.961,794,2.622,795,2.724,796,4.663,797,2.264,799,3.987,800,1.579,801,3.832,802,2.622,803,3.293,804,1.506,805,1.579,806,2.852,807,1.579,808,2.558,809,1.022,810,1.579,812,0.999,813,0.805,814,1.506,815,1.398,816,1.579,817,1.447,818,1.32,819,0.999,821,1.207,822,1.022,823,1.164,824,1.356,825,1.022,826,1.447,827,2.961,829,1.579,830,2.264,831,1.579,832,1.506,840,6.616,918,2.741,1031,1.109,1072,1.356,1146,0.894,1264,7.393,1297,0.871,1360,6.297,1501,3.497,1543,1.836,1591,2.929,1606,1.852,1911,1.32,1922,1.447,2059,1.048,2107,1.677,2162,3.453,2310,1.447,2373,4.181,2375,5.948,2388,4.826,2389,1.579,2390,2.622,2482,3.991,2593,2.544,2650,1.447,2651,5.798,2652,5.881,2653,1.827,2654,4.524,2655,6.092,2656,3.146,2657,6.092,2658,4.442,2659,5.595,2660,1.827,2661,1.398,2662,1.677,2663,1.827,2664,1.827,2665,1.827,2666,1.827,2667,1.677,2668,1.677,2669,1.827,2670,7.112,2671,7.112,2672,3.426,2673,3.426,2674,3.881,2675,3.146,2676,3.426,2677,1.579,2678,2.961,2679,1.827,2680,1.827,2681,1.827]],["keywords/267",[]],["title/268",[211,1050.255]],["content/268",[5,1.696,7,3.028,18,4.123,48,4.937,51,3.964,52,4.747,83,6.044,137,3.759,140,2.079,144,1.412,146,5.209,151,6.077,160,3.642,162,1.763,164,3.845,167,5.497,172,10.778,173,6.743,175,6.272,176,8.863,177,6.355,178,6.355,179,5.445,180,4.542,181,5.552,186,3.093,208,4.268,211,7.525,213,5.842,214,7.943,217,3.525,223,5.445,265,3.593,270,8.364,277,4.243,279,4.053,340,3.859,358,5.496,373,9.757,374,8.272,375,7.82,376,5.104,624,6.044,625,5.779,630,6.632,643,4.923,645,6.735,646,5.867,647,10.351,648,6.632,649,5.604,654,7.22,1299,8.113,2530,7.895,2646,8.113,2647,9.007]],["keywords/268",[]],["title/269",[2544,1208.042]],["content/269",[5,1.465,18,3.561,48,4.537,51,3.424,52,4.963,83,5.22,91,3.561,102,2.918,137,3.247,140,1.255,144,1.219,146,4.499,151,5.461,160,3.347,162,1.522,164,4.186,167,7.069,172,10.054,173,7.239,175,5.417,176,7.964,177,5.489,178,5.489,179,4.703,180,4.081,181,4.989,186,2.671,208,4.488,213,5.045,214,7.137,217,4.533,219,3.386,223,4.703,265,4.621,277,4.912,279,3.5,302,4.499,340,3.333,358,5.556,370,5.817,373,9.731,374,9.837,375,6.016,376,3.927,447,3.52,624,5.22,625,4.991,630,5.728,643,4.252,644,6.65,645,8.661,648,5.728,649,4.84,654,6.236,930,6.815,1162,5.564,1222,6.499,1299,7.007,1350,8.158,2059,5.417,2530,6.818,2544,11.131,2547,8.666,2548,8.666,2646,7.007,2647,7.779,2648,8.158,2682,7.476,2683,6.236]],["keywords/269",[]],["title/270",[266,1101.818]],["content/270",[5,1.705,18,4.143,48,4.242,51,3.984,52,5.234,83,6.074,137,3.778,140,1.46,144,1.419,146,5.235,151,6.099,160,3.652,162,1.772,164,4.206,167,7.895,172,10.802,173,6.767,175,6.303,176,8.895,177,6.387,178,6.387,179,5.472,180,4.558,181,5.572,186,3.108,208,4.578,213,5.871,214,7.971,217,3.542,219,3.94,223,5.472,265,3.611,266,7.934,277,4.499,279,4.073,340,3.878,358,5.667,370,6.768,373,7.68,374,5.808,375,6.72,376,4.386,624,6.074,625,5.808,630,6.665,643,4.948,645,6.768,648,6.665,649,5.632,654,7.256,930,7.612,1299,8.154,2530,7.934,2646,8.154,2647,9.051,2683,7.256]],["keywords/270",[]],["title/271",[2684,1400.437]],["content/271",[5,2.275,18,3.77,48,4.691,51,3.624,52,4.552,78,5.498,137,3.437,140,1.328,144,1.291,146,4.762,151,5.695,155,5.124,160,3.461,162,1.612,164,4.286,167,5.026,172,9.383,173,7.484,174,4.683,175,5.735,176,5.662,177,5.811,178,5.811,179,4.979,180,4.257,181,3.547,186,2.828,208,3.511,214,5.074,217,4.727,223,4.979,265,3.286,277,4.529,340,3.528,358,5.648,373,11.038,374,10.77,375,8.187,376,4.096,624,5.526,625,7.752,630,6.064,643,4.502,644,7.04,645,9.034,646,3.748,647,8.306,648,6.064,649,5.124,725,5.662,795,4.468,1039,7.218,1418,6.735,1714,11.394,2147,8.235,2149,8.235,2646,7.418,2684,9.174,2685,9.174]],["keywords/271",[]],["title/272",[2686,1400.437]],["content/272",[5,1.73,18,4.206,48,4.991,51,4.044,52,4.79,78,5.951,137,3.835,140,1.482,144,1.44,146,5.314,151,6.164,160,3.682,162,1.798,164,4.235,167,5.607,172,9.983,173,6.84,174,5.225,175,6.398,176,6.317,177,6.483,178,6.483,179,5.555,180,4.607,181,3.957,186,3.155,208,3.209,214,5.661,217,3.595,223,5.555,265,3.666,277,4.282,340,3.936,358,5.532,373,9.845,374,5.896,375,8.614,376,4.433,624,6.165,625,8.39,630,6.766,643,5.023,645,6.871,647,6.317,648,6.766,649,5.717,725,6.317,795,4.985,1039,8.054,1714,11.778,2147,9.188,2149,9.188,2646,8.277,2685,10.236,2686,10.236]],["keywords/272",[]],["title/273",[2687,1318.333]],["content/273",[5,3.176,45,2.797,52,3.221,89,5.753,139,1.965,140,1.799,144,1.748,157,6.343,158,7.178,160,2.698,162,2.183,164,2.848,186,3.829,197,5.388,208,3.668,224,4.449,232,6.742,243,5.165,244,5.165,265,4.449,277,2.879,350,3.124,358,5.122,360,11.696,361,10.694,596,9.318,614,7.009,673,6.191,704,9.121,724,6.806,752,6.505,842,9.534,848,7.82,852,6.343,855,8.58,1536,10.356,1543,5.135,1935,7.978,2152,9.534,2388,14.367,2390,13.882,2619,6.62,2687,11.696,2688,14.949,2689,16.655]],["keywords/273",[]],["title/274",[2690,1400.437]],["content/274",[5,2.312,48,4.026,140,1.98,144,1.925,160,2.97,162,2.403,164,3.135,186,4.216,208,3.013,243,5.686,244,5.686,265,6.355,277,4.564,278,8.842,290,8.338,358,6.142,360,12.876,404,7.509,682,11.799,686,7.716,754,9.04,848,6.422,1300,9.329,1337,8.441,2155,11.726,2156,13.678,2157,13.678,2688,15.927,2690,13.678,2691,13.678]],["keywords/274",[]],["title/275",[670,1132.359]],["content/275",[5,2.237,48,5.111,49,10.966,51,5.227,52,4.502,64,4.907,79,5.501,88,5.886,91,5.437,136,3.366,140,1.916,144,2.444,160,2.873,162,3.405,164,3.033,180,4.185,185,6.989,186,4.078,197,5.738,202,5.924,208,2.915,275,7.97,277,3.067,447,7.054,670,16.64,671,6.396,672,11.845,673,6.594,674,8.167,675,8.167,676,5.886,677,7.878,678,11.415,2160,13.233,2161,12.457,2692,14.411]],["keywords/275",[]],["title/276",[1914,1318.333]],["content/276",[84,4.603,136,4.361,140,1.879,144,2.413,153,7.435,160,2.818,162,3.373,164,3.93,180,4.105,192,3.777,196,6.273,202,5.811,224,4.648,265,4.648,277,3.008,280,8.853,318,4.077,329,7.557,330,9.96,331,6.468,673,6.468,693,8.01,742,6.273,744,9.883,758,6.32,764,10.495,813,6.227,1287,6.738,1914,20.943,2619,9.136,2693,14.135,2694,18.672,2695,14.135,2696,14.135]],["keywords/276",[]],["title/277",[2697,1525.086]],["content/277",[48,4.687,93,11.944,103,11.247,108,11.048,194,5.338,208,4.302,259,7.756,265,6.995,277,4.896,290,9.709,302,8.267,337,5.876,375,7.426,648,10.527,649,8.895,693,9.829,813,7.641,1729,13.275,2698,15.927]],["keywords/277",[]],["title/278",[847,1167.278]],["content/278",[9,6.901,79,6.324,150,7.298,208,4.774,209,7.464,277,4.797,320,10.054,337,5.613,346,14.938,352,6.042,353,7.043,355,12.365,359,8.333,640,12.679,813,7.298,848,7.142,1279,11.674,2158,13.654,2159,15.212,2631,11.968]],["keywords/278",[]],["title/279",[2163,1257.008]],["content/279",[5,3.136,52,4.81,62,6.915,75,9.246,140,2.123,160,3.184,162,3.259,164,3.361,187,5.825,209,7.195,220,7.307,265,6.644,277,4.3,350,3.688,685,11.537,744,11.011,1445,13.804,2163,16.653,2164,14.664,2165,14.664,2166,14.664,2167,14.664,2168,14.664]],["keywords/279",[]],["title/280",[2699,1525.086]],["content/280",[39,9.745,78,6.61,108,11.224,138,6.888,197,7.016,277,4.93,345,11.241,358,5.801,621,9.524,681,17.908,1162,10.389,1300,11.036,2700,17.62]],["keywords/280",[]],["title/281",[2176,1167.278]],["content/281",[5,3.451,189,7.43,277,5.054,278,8.538,358,4.672,382,13.149,653,10.852,692,14.78,1358,10.852,2176,14.281,2177,17.134]],["keywords/281",[]],["title/282",[2688,1257.008]],["content/282",[5,2.748,45,2.698,50,4.537,136,3.048,139,1.895,140,1.735,144,1.686,158,7.006,160,2.602,161,5.973,162,3.475,163,6.444,164,3.726,186,3.694,208,4.554,232,6.504,243,4.982,244,4.982,265,5.821,273,5.297,277,4.584,278,5.973,350,3.014,358,4.432,361,10.437,564,8.314,614,6.761,621,7.055,724,6.566,842,9.197,848,8.661,852,6.118,855,7.424,929,8.624,1543,4.953,2152,9.197,2388,14.022,2390,13.549,2619,6.386,2687,15.302,2688,10.758,2689,16.255]],["keywords/282",[]],["title/283",[2701,1318.333]],["content/283",[5,1.968,13,7.941,37,4.274,140,1.686,144,2.243,157,5.943,158,8.422,160,2.528,162,2.8,164,2.669,208,2.564,240,4.295,241,8.344,265,4.169,352,4.652,353,7.379,358,5.58,583,8.547,717,12.73,724,11.854,752,6.095,819,6.931,1407,10.45,1935,7.475,2175,12.539,2459,13.117,2702,14.305,2703,12.679,2704,12.679,2705,17.356,2706,12.679,2707,19.789,2708,17.356,2709,12.679]],["keywords/283",[]],["title/284",[2710,1400.437]],["content/284",[45,2.867,50,4.821,88,5.665,136,3.239,140,1.844,144,1.792,158,5.489,160,2.765,161,6.347,162,3.89,164,4.36,186,3.925,208,3.729,243,7.907,244,7.907,265,4.561,273,7.483,277,3.924,338,7.335,340,4.897,358,5.186,564,8.835,614,7.185,819,7.582,1379,10.615,2459,10.08,2619,6.786,2620,10.615,2621,11.989,2701,15.939,2702,11.431,2710,19.021,2711,13.869,2712,13.869]],["keywords/284",[]],["title/285",[136,278.481,144,154.065]],["content/285",[4,3.711,29,2.726,35,1.549,40,3.976,45,1.45,48,1.896,84,2.285,136,1.639,137,2.414,139,2.818,144,0.907,146,3.344,157,3.289,164,1.477,180,2.038,181,2.491,208,1.419,213,9.282,214,11.037,219,6.638,224,4.583,230,4.925,232,6.945,234,3.373,245,5.783,259,3.137,267,6.065,268,4.196,269,16.775,270,5.37,275,3.881,277,3.383,279,2.602,305,3.976,348,8.557,358,5.622,376,1.961,383,3.635,414,5.558,423,9.447,624,3.881,625,3.711,646,8.298,647,6.336,697,3.563,725,7.898,761,3.751,819,3.836,892,5.783,1162,4.137,1238,6.065,1356,5.558,1376,5.783,1418,4.73,1587,3.751,1588,4.027,1814,11.04,1815,6.065,2134,6.443,2213,5.783,2215,6.443,2217,6.443,2218,6.065,2219,6.443,2221,6.443,2222,6.443,2223,6.065,2224,4.55,2226,6.443,2227,6.443,2228,6.065,2229,6.065,2230,6.443,2233,6.443,2235,6.065,2236,6.443,2245,6.443,2296,6.443,2544,5.558,2645,10.266,2648,6.065,2649,10.266,2651,4.944,2656,6.443,2658,10.266,2659,10.266,2713,7.016,2714,5.37,2715,6.443,2716,6.443,2717,5.21,2718,6.443,2719,7.016,2720,7.016,2721,7.016,2722,7.016,2723,7.016,2724,7.016,2725,7.016,2726,7.016,2727,7.016,2728,7.016,2729,7.016,2730,7.016,2731,5.783,2732,7.016,2733,7.016,2734,7.016,2735,7.016,2736,7.016,2737,7.016,2738,7.016,2739,11.18,2740,7.016,2741,11.18,2742,7.016,2743,7.016,2744,7.016,2745,7.016,2746,7.016,2747,7.016,2748,7.016,2749,7.016,2750,7.016,2751,7.016,2752,7.016,2753,7.016,2754,7.016]],["keywords/285",[]],["title/286",[571,657.529]],["content/286",[]],["keywords/286",[]],["title/287",[1,193.054,337,331.62,571,422.008]],["content/287",[1,4.278,9,7.459,80,10.867,119,9.094,133,11.406,143,5.486,194,5.511,224,5.888,225,5.511,337,6.066,433,11.831,571,7.72,674,10.147,761,9.572,1140,11.215,1152,12.617,1198,12.617,1591,8.608]],["keywords/287",[]],["title/288",[1,142.14,337,244.163,571,310.713,1140,451.387,1198,507.836]],["content/288",[]],["keywords/288",[]],["title/289",[569,1318.333]],["content/289",[1,1.632,5,2.406,6,4.948,7,3.525,29,3.215,36,11.849,37,2.789,46,7.345,48,3.438,52,1.97,64,2.818,75,3.786,91,3.122,93,5.698,102,4.792,117,5.831,118,5.831,119,4.202,130,2.861,136,1.933,150,3.645,182,4.689,201,4.423,219,2.969,230,3.645,256,2.876,321,3.7,332,4.576,336,3.275,350,1.911,371,4.879,407,8.406,442,5.1,483,6.144,513,4.948,544,5.183,546,5.578,563,4.376,567,5.831,571,7.5,583,5.578,620,6.339,642,6.339,645,5.1,646,4.772,651,4.948,676,3.38,750,3.786,806,4.879,924,5.022,950,5.831,1039,9.19,1054,10.92,1125,5.467,1142,10.558,1198,5.831,1202,8.285,1237,7.209,1403,6.144,1466,7.153,1474,8.964,1543,3.14,1567,9.445,1572,6.554,1693,5.467,1920,6.554,2042,10.077,2047,10.077,2053,10.996,2423,7.598,2449,5.831,2487,8.575,2503,6.333,2506,6.82,2507,6.554,2652,4.879,2755,7.598,2756,8.274,2757,6.554,2758,11.681,2759,10.996,2760,8.274,2761,11.681,2762,8.274,2763,8.274,2764,15.497,2765,10.996,2766,7.598,2767,12.721,2768,8.274,2769,7.153,2770,8.274,2771,8.274,2772,8.274,2773,8.274,2774,8.274,2775,8.274,2776,15.497,2777,8.274,2778,8.274,2779,6.554,2780,8.274,2781,8.274,2782,8.274,2783,8.274,2784,8.274,2785,8.274]],["keywords/289",[]],["title/290",[408,723.668,1169,787.86]],["content/290",[1,3.79,5,2.983,37,6.478,50,4.168,72,8.833,102,3.708,130,4.147,136,3.901,157,7.829,193,7.172,226,6.411,256,4.168,279,4.448,331,5.488,340,4.235,408,10.136,522,9.714,563,6.343,571,7.201,676,6.822,761,11.11,849,9.488,946,6.556,1021,15.336,1142,7.278,1165,11.501,1166,7.071,1169,11.036,1332,10.83,1474,8.451,1605,19.083,1606,9.028,1831,13.766,1832,13.766,2059,6.883,2786,15.336,2787,15.336,2788,16.701,2789,19.217,2790,15.336,2791,16.701,2792,16.701,2793,11.992,2794,10.366]],["keywords/290",[]],["title/291",[389,1074.677]],["content/291",[1,2.754,4,4.949,5,2.168,7,5.132,18,3.531,19,11.061,29,3.636,35,3.083,36,4.753,37,4.707,52,2.228,67,5.116,72,4.949,79,5.33,102,4.318,112,4.663,118,9.84,130,3.236,131,5.768,136,4.628,141,5.856,143,2.867,144,1.209,159,5.116,162,1.51,182,5.303,196,8.221,220,4.282,221,6.772,236,6.594,248,4.848,285,3.551,290,5.238,294,6.761,307,7.723,336,3.703,337,3.17,352,2.508,387,14.713,389,13.052,404,3.636,408,5.68,425,5.517,428,8.746,437,4.898,447,3.491,476,5.517,528,7.413,533,7.162,544,5.861,554,4.799,571,4.035,588,8.593,594,9.239,595,12.071,614,4.848,676,5.704,894,9.616,1054,7.385,1152,6.594,1153,8.089,1165,6.444,1362,5.68,1386,5.443,1478,6.444,1505,6.948,1606,10.012,1674,6.948,2062,7.413,2488,6.948,2603,8.593,2795,8.089,2796,9.358,2797,13.964,2798,9.358,2799,9.358,2800,6.948,2801,9.358,2802,9.358,2803,9.358,2804,9.358,2805,9.358,2806,9.358,2807,9.358,2808,9.358,2809,9.358,2810,8.593,2811,8.593,2812,13.964,2813,9.358,2814,9.358,2815,9.358]],["keywords/291",[]],["title/292",[225,469.396]],["content/292",[5,1.265,35,3.811,36,10.771,37,4.24,64,4.283,80,10.475,83,4.509,91,4.745,102,2.521,129,6.956,130,2.819,131,5.025,136,3.586,139,2.982,143,2.498,144,1.625,173,3.515,183,7.798,186,3.559,220,3.731,225,7.427,226,4.358,248,4.223,252,3.822,256,5.999,273,5.104,279,3.024,284,4.267,331,3.731,333,4.025,337,6.318,350,1.883,351,6.582,352,2.185,407,5.387,408,4.948,409,6.24,447,3.041,522,10.038,570,4.742,571,3.515,583,5.496,594,8.492,673,3.731,674,4.62,752,3.919,761,8.208,836,7.633,852,5.895,1032,5.745,1054,6.652,1106,7.486,1143,5.745,1167,5.614,1169,5.387,1205,10.145,1253,7.319,1279,5.745,1332,8.155,1476,4.563,1543,3.094,1573,6.719,1614,5.106,1625,7.047,1686,9.086,1932,6.719,2038,12.655,2123,5.387,2319,11.96,2419,6.053,2449,10.819,2506,6.719,2524,11.549,2816,8.153,2817,8.153,2818,8.153,2819,8.153,2820,8.153,2821,8.153,2822,8.153,2823,8.153,2824,8.153,2825,8.153,2826,7.486,2827,9.626,2828,8.153]],["keywords/292",[]],["title/293",[46,643.969]],["content/293",[7,5.446,46,8.298,66,12.112,67,10.744,580,12.985,1146,9.616,1187,16.198,1924,15.567]],["keywords/293",[]],["title/294",[592,723.668,952,578.268]],["content/294",[256,7.148,284,10.763,753,11.96]],["keywords/294",[]],["title/295",[2829,1525.086]],["content/295",[89,8.21,117,13.607,118,13.607,119,9.807,129,10.68,130,6.677,131,11.901,132,13.607,133,12.301,135,11.548]],["keywords/295",[]],["title/296",[152,427.848,1386,693.483]],["content/296",[]],["keywords/296",[]],["title/297",[2830,1525.086]],["content/297",[1,4.473,4,8.88,5,2.887,8,7.223,9,7.749,11,3.932,13,5.911,35,4.603,37,4.737,45,3.844,46,5.934,50,5.836,53,4.388,54,5.489,59,6.191,60,5.897,61,4.618,78,3.54,79,3.603,88,5.74,107,6.65,112,7.003,124,4.939,125,6.012,136,5.044,143,2.892,156,6.12,162,1.522,187,3.442,192,2.842,197,3.758,208,4.217,209,4.252,242,5.348,265,4.621,273,3.83,277,4.437,285,3.582,305,5.348,314,5.911,316,6.362,317,5.859,321,4.22,352,2.53,402,7.476,434,4.22,538,7.223,563,4.991,671,4.189,700,5.815,744,4.461,789,5.644,813,6.191,823,10.695,1193,7.007,1194,6.012,1198,6.65,1223,7.007,1270,7.476,1443,6.12,1503,11.582,1551,5.728,1673,5.728,2321,7.779,2330,7.007,2352,5.817,2488,7.007,2831,9.438,2832,9.438,2833,14.053]],["keywords/297",[]],["title/298",[28,599.745,2834,584.972,2835,684.219,2836,762.291]],["content/298",[1,4.33,5,1.304,6,5.023,8,9.85,9,8.308,12,7.261,13,5.261,14,7.261,28,9.297,29,5.001,30,5.919,31,6.237,32,6.654,33,7.215,34,7.261,35,3.454,36,6.536,37,6.372,38,4.491,39,4.646,40,4.76,41,4.308,42,5.098,43,5.55,44,5.447,45,3.907,46,8.421,47,5.351,48,5.61,49,6.297,50,6.094,51,3.047,52,2,53,3.906,54,7.485,55,7.293,56,8.345,57,5.919,58,3.674,59,5.669,60,5.495,61,4.11,62,2.875,63,5.261,64,2.86,65,8.503,66,5.177,67,4.592,68,6.237,69,7.696,70,5.351,71,5.023,72,4.443,73,7.261,79,4.912,110,5.261,143,2.574,144,1.085,187,3.064,208,2.603,220,3.844,259,3.756,285,3.188,296,4.266,317,4.927,351,4.396,402,6.654,446,4.147,545,5.098,570,4.885,615,4.11,671,3.728,673,3.844,751,8.198,1193,6.237,1194,5.351,1224,8.503,1242,4.54,1270,6.654,1364,6.923,1443,5.447,1793,9.068,1890,7.261,1895,7.713,1912,5.785,1916,5.919,1920,6.654,2836,7.713,2837,7.713,2838,8.4,2839,8.4,2840,8.4,2841,8.4,2842,8.4,2843,7.261,2844,8.4,2845,7.713,2846,8.4,2847,8.4,2848,8.4]],["keywords/298",[]],["title/299",[152,427.848,2834,840.217]],["content/299",[1,5.001,9,3.581,11,3.581,29,3.34,32,6.809,35,2.892,36,4.365,45,2.707,46,5.53,56,5.574,60,7.35,64,4.46,66,8.072,67,7.16,102,2.658,112,4.283,135,5.14,152,3.084,158,3.402,160,1.714,165,4.546,174,4.029,183,4.365,208,3.863,219,4.7,224,6.618,225,4.031,230,3.787,232,4.283,234,4.132,256,2.988,268,5.14,277,3.776,285,3.262,317,4.125,336,3.402,395,11.322,552,6.382,573,5.215,686,6.785,697,4.365,795,3.843,812,4.699,813,7.817,930,4.169,1037,7.893,1149,5.475,1157,6.382,1214,4.811,1282,12.503,1391,5.475,1439,6.057,1456,6.579,1526,5.574,1552,6.21,1591,4.132,1715,7.43,1774,7.422,1812,13.078,2124,6.382,2368,6.382,2426,10.024,2437,7.893,2661,6.579,2731,7.085,2849,5.574,2850,14.354,2851,8.595,2852,17.538,2853,8.595,2854,13.097,2855,8.595,2856,8.595]],["keywords/299",[]],["title/300",[152,427.848,1027,573.248]],["content/300",[1,4.561,5,1.579,7,4.861,11,4.239,29,3.954,35,4.259,45,2.103,46,8.145,51,5.388,52,2.422,55,10.931,60,5.217,75,6.797,158,5.878,160,2.028,194,6.979,208,3.901,219,3.651,230,4.482,232,5.07,234,4.892,256,5.163,277,4.105,296,5.167,317,4.679,352,6.078,358,2.547,628,4.55,697,5.167,700,4.211,855,4.267,930,4.934,1027,11.949,1149,6.481,1195,8.029,1214,5.695,1266,10.545,1793,10.467,2849,6.598,2850,14.201,2857,10.175]],["keywords/300",[]],["title/301",[35,216.104,208,197.97,434,437.682]],["content/301",[1,1.375,7,3.846,11,2.905,29,2.709,35,5.175,45,2.299,46,6.689,48,3.006,51,2.529,60,2.449,62,5.422,158,4.402,160,1.39,187,2.543,194,4.272,208,4.816,219,2.502,224,4.564,230,3.072,232,3.474,234,3.352,248,3.612,268,4.17,277,4.771,285,2.646,296,3.541,305,3.951,317,4.99,322,7.798,349,6.332,359,5.596,434,10.026,571,3.006,573,2.776,631,8.514,632,10.017,673,3.19,697,3.541,795,3.118,809,3.903,813,4.901,855,2.924,930,3.381,1041,5.527,1149,4.441,1195,8.562,1214,3.903,1266,8.66,1275,7.839,1439,4.913,1587,5.947,1588,7.966,1666,7.682,1708,5.037,1715,18.753,1774,12.294,1819,7.839,1964,8.423,2834,4.913,2849,4.521,2850,13.831,2852,10.215,2858,6.972,2859,7.35,2860,5.523]],["keywords/301",[]],["title/302",[158,471.87,1031,723.668]],["content/302",[11,4.486,29,4.184,40,6.102,50,6.884,51,5.614,60,5.436,72,8.185,74,6.027,97,8.363,158,9.721,160,2.147,208,4.657,219,3.864,230,4.744,232,5.366,234,5.177,256,3.743,284,5.636,285,6.875,345,8.1,349,6.609,351,5.636,628,10.297,632,5.366,775,3.594,849,7.641,930,5.222,1031,13.976,1041,4.288,1214,6.027,1377,6.535,1774,8.771,2661,8.242,2662,9.888,2849,6.982,2850,13.681,2861,9.308,2862,10.768,2863,20.98,2864,9.888,2865,10.768]],["keywords/302",[]],["title/303",[35,263.251,347,803.767]],["content/303",[11,2.418,18,2.19,29,2.255,35,5.606,38,3.102,41,6.279,45,3.252,52,4.267,64,4.169,74,3.248,78,2.177,94,5.651,97,4.047,121,2.656,124,3.037,125,3.697,140,2.661,142,2.919,150,4.222,152,3.439,153,3.816,160,1.157,162,2.733,174,4.493,187,5.185,194,4.375,219,2.082,230,2.557,232,2.892,234,2.79,240,1.966,268,3.47,277,2.039,285,2.202,317,1.828,345,8.867,347,14.397,349,4.956,351,3.037,355,3.47,383,6.342,423,8.623,428,3.635,447,2.165,649,4.915,661,6.215,673,7.2,697,2.947,700,9.11,720,3.912,749,9.151,750,4.386,795,2.595,803,6.617,809,3.248,855,8.395,930,2.814,1041,2.311,1046,4.442,1149,3.697,1175,3.173,1214,3.248,1237,3.289,1282,11.939,1391,3.697,1439,4.089,1456,4.442,1587,10.972,1666,2.814,1964,5.817,2082,2.743,2162,5.431,2428,5.016,2593,7.116,2849,3.763,2850,13.133,2859,3.835,2866,4.783,2867,5.803,2868,5.803,2869,4.597,2870,5.329,2871,5.803,2872,5.803,2873,5.803,2874,5.803,2875,5.329,2876,4.597,2877,5.016,2878,5.803,2879,9.055,2880,9.584]],["keywords/303",[]],["title/304",[352,319.604,353,506.944]],["content/304",[1,0.869,3,10.67,5,1.179,7,1.221,9,1.836,11,8.562,18,0.904,20,1.341,21,2.331,29,0.931,35,1.677,41,5.135,46,1.012,51,1.599,59,2.696,60,4.947,64,3.75,65,1.583,69,2.636,78,0.899,79,0.914,84,0.78,85,1.779,102,1.363,112,2.196,117,3.106,121,1.096,124,1.254,130,3.808,136,0.559,138,0.936,141,6.79,144,0.31,150,7.132,152,0.86,157,1.123,160,0.478,163,1.183,166,1.393,168,3.035,173,1.9,174,1.123,183,6.82,187,3.652,192,0.485,194,2.734,196,1.063,197,0.954,202,2.516,208,0.485,209,1.079,213,1.281,219,0.86,220,2.801,221,1.162,224,1.449,225,1.356,227,1.594,230,1.055,232,1.194,234,1.152,240,3.392,242,1.358,255,2.675,256,2.127,268,1.433,271,1.454,284,1.254,285,7.169,296,1.217,302,5.249,317,0.755,321,2.737,326,1.476,327,4.202,336,0.948,340,0.846,345,1.254,352,6.579,353,9.265,379,2.971,383,8.387,404,0.931,425,1.412,428,1.5,432,1.393,434,1.071,447,2.283,476,1.412,494,3.385,542,1.31,544,4.758,552,5.641,554,1.229,573,2.437,583,1.615,591,1.898,592,2.675,614,1.241,615,2.156,618,1.834,621,6.868,697,1.217,700,0.991,725,1.358,742,1.063,750,1.096,751,1.526,795,1.071,809,1.341,812,4.856,825,3.426,842,4.313,849,2.176,852,2.066,855,6.157,874,3.717,930,1.162,952,1.162,1027,1.152,1029,1.834,1041,0.954,1067,4.801,1072,1.779,1113,1.526,1118,7.584,1125,4.044,1149,1.526,1152,5.353,1175,1.31,1177,3.899,1203,2.912,1214,1.341,1215,1.553,1253,4.773,1266,2.409,1282,10.729,1287,10.587,1297,1.142,1334,1.615,1340,3.56,1345,1.834,1358,1.393,1376,1.974,1386,1.393,1388,2.912,1405,4.758,1436,2.2,1439,1.688,1472,2.2,1554,1.553,1556,2.912,1581,2.2,1587,1.281,1588,1.375,1591,2.942,1663,1.688,1666,1.162,1691,5.76,1774,1.358,1778,1.779,1846,3.184,1862,1.583,1912,3.035,1935,1.412,1964,2.675,2045,1.834,2082,1.132,2182,5.488,2224,1.553,2353,2.071,2356,2.033,2426,1.834,2459,6.508,2526,1.526,2593,3.272,2779,1.898,2834,1.688,2835,1.974,2849,1.553,2850,13.341,2859,5.869,2869,1.898,2877,2.071,2881,2.2,2882,6.595,2883,7.293,2884,1.779,2885,2.2,2886,1.974,2887,2.396,2888,2.396,2889,2.396,2890,2.396,2891,2.071,2892,2.396,2893,2.396,2894,3.106,2895,2.396,2896,2.396,2897,2.396,2898,2.396,2899,2.2,2900,2.396,2901,2.396,2902,2.396,2903,19.433,2904,1.688,2905,2.396,2906,2.2,2907,2.2,2908,2.2,2909,4.407,2910,2.071,2911,3.81,2912,2.2,2913,2.396,2914,2.396,2915,2.396,2916,2.396,2917,1.898,2918,4.407,2919,2.2,2920,2.396,2921,2.2,2922,1.974,2923,2.396,2924,3.491,2925,1.731,2926,2.396,2927,2.396,2928,2.396,2929,6.261,2930,2.396,2931,2.396,2932,2.396,2933,2.071,2934,2.2,2935,2.396,2936,4.047,2937,2.396,2938,2.396]],["keywords/304",[]],["title/305",[277,253.734,359,599.787]],["content/305",[1,1.472,9,3.11,11,3.11,29,2.901,37,2.517,45,2.427,50,2.595,52,4.26,62,2.555,78,4.405,79,2.85,88,3.049,124,3.907,136,1.744,137,4.994,158,7.082,160,1.488,162,2.655,173,3.219,187,5.295,194,3.614,208,4.471,219,2.679,230,3.289,232,3.72,234,3.589,265,2.455,277,5.054,285,5.509,336,2.954,349,5.637,358,4.977,359,10.656,376,3.281,383,6.083,423,6.442,432,4.342,436,3.416,446,3.686,542,6.42,568,2.85,570,4.342,673,3.416,697,3.792,855,8.884,924,7.127,930,3.621,1041,4.676,1149,4.756,1175,4.081,1214,4.179,1237,4.231,1249,7.355,1282,10.229,1402,7.615,1461,5.261,1501,4.285,1543,2.833,1774,10.141,1793,5.261,2082,7.779,2426,5.714,2482,9.898,2551,6.454,2835,9.679,2849,4.841,2850,12.898,2869,9.302,2939,7.466,2940,7.466,2941,19.879,2942,6.855,2943,4.676,2944,7.466,2945,7.466,2946,14.516,2947,7.466,2948,6.855,2949,10.151,2950,7.466]],["keywords/305",[]],["title/306",[208,241.161,359,599.787]],["content/306",[11,5.106,18,4.625,48,5.254,50,4.261,64,4.174,85,9.101,136,2.863,160,2.444,167,8.53,187,4.471,194,3.773,208,5.04,219,4.398,230,5.4,232,6.108,265,4.031,272,9.733,285,4.652,349,6.124,351,6.415,359,10.553,428,10.621,460,7.439,535,8.856,573,7.742,622,8.441,628,5.481,631,9.382,671,5.44,849,6.052,855,5.141,930,5.945,1282,8.638,1462,8.263,1774,6.947,1793,11.949,1834,9.054,2109,4.943,2333,10.103,2849,7.948,2850,12.177,2951,12.258,2952,12.258,2953,16.957,2954,11.256]],["keywords/306",[]],["title/307",[208,241.161,2631,861.436]],["content/307",[11,3.526,29,3.289,48,5.625,50,6.119,51,3.07,60,5.521,67,4.627,72,6.846,84,4.215,121,3.873,136,1.977,141,3.55,153,3.37,160,1.687,187,3.087,196,6.976,208,4.877,219,3.037,224,2.783,230,3.729,232,4.218,234,4.069,256,4.499,273,6.378,285,8.35,292,3.392,321,3.785,447,3.157,628,9.307,632,4.218,695,7.076,697,4.299,752,8.463,795,3.785,849,9.365,852,7.368,855,3.55,930,4.105,1149,5.392,1214,4.738,1439,5.964,1673,5.137,1709,8.914,1740,5.062,1793,11.075,1877,6.976,2082,4.001,2526,5.392,2631,16.495,2849,5.488,2850,14.062,2859,5.593,2943,13.445,2955,8.464,2956,8.464,2957,20.813,2958,22.002]],["keywords/307",[]],["title/308",[48,322.245,1876,803.767]],["content/308",[11,4.219,29,3.936,39,9.677,45,3.06,48,6.344,50,5.146,52,3.524,60,3.557,62,3.466,72,5.357,78,3.799,79,3.866,136,3.458,137,5.093,160,2.019,208,4.141,219,3.634,230,4.462,232,5.047,234,4.869,259,4.529,273,7.101,277,3.723,285,8.382,358,4.38,376,4.137,484,9.979,558,10.695,568,3.866,621,8.002,628,7.824,849,5.001,855,8.072,930,4.912,1041,4.033,1149,6.452,1214,5.669,1476,9.794,1543,3.844,1876,15.265,2155,8.093,2287,4.912,2849,6.567,2850,13.834,2859,6.692,2954,9.3,2959,8.348,2960,8.755,2961,8.023,2962,10.128,2963,21.386,2964,10.128]],["keywords/308",[]],["title/309",[48,322.245,359,599.787]],["content/309",[5,1.757,11,4.715,16,9.329,29,4.398,48,6.502,60,5.633,112,5.64,160,2.256,187,4.128,208,4.097,219,4.061,224,3.722,230,4.986,232,5.64,234,5.441,240,3.835,256,5.574,259,7.171,277,4.311,285,8.116,349,6.995,359,11.171,376,3.163,632,10.095,752,5.441,803,6.118,821,7.479,855,4.747,875,5.693,876,9.329,930,5.489,1366,8.965,1673,6.869,1774,6.414,1793,11.3,1877,13.217,2155,8.767,2487,7.63,2849,7.339,2850,13.394,2859,7.479,2948,14.726,2965,8.177,2966,11.318,2967,20.259]],["keywords/309",[]],["title/310",[2968,1050.255]],["content/310",[1,2.073,11,4.379,29,4.085,35,4.324,64,3.58,79,4.013,96,9.232,130,5.26,160,2.096,187,3.834,194,6.668,219,3.772,230,4.631,232,5.239,234,5.054,273,7.253,305,8.62,317,3.311,327,8.413,352,5.25,358,2.632,388,18.415,404,5.91,697,5.339,746,5.682,930,5.098,1027,5.054,1041,4.186,1149,6.697,1177,9.689,1214,5.884,1287,5.011,1551,6.38,1666,5.098,1783,12.048,1798,12.537,2047,8.327,2155,10.708,2182,10.989,2849,6.817,2850,14.33,2968,16.055,2969,14.731,2970,10.513,2971,17.31,2972,10.513,2973,12.537,2974,6.479,2975,10.513]],["keywords/310",[]],["title/311",[2106,988.931]],["content/311",[1,1.936,7,4.008,9,4.088,11,4.088,20,5.493,29,3.813,33,7.924,44,6.364,50,3.411,58,10.191,79,9.3,88,4.008,160,1.957,187,3.58,194,3.021,219,3.521,220,4.491,230,4.324,232,4.89,234,4.718,273,5.87,285,8.299,317,3.091,349,3.091,363,8.483,571,8.174,612,6.049,632,7.208,697,4.984,812,5.365,852,6.781,930,4.76,1149,6.252,1166,5.786,1214,5.493,1439,6.916,1476,12.825,1550,9.38,1774,5.562,1871,9.558,2105,8.651,2106,15.109,2508,13.283,2568,6.616,2827,7.511,2849,6.364,2850,14.351,2976,9.814,2977,9.814,2978,9.814,2979,9.814,2980,13.283,2981,13.283]],["keywords/311",[]],["title/312",[1,193.054,2982,846.118,2983,634.705]],["content/312",[]],["keywords/312",[]],["title/313",[50,414.454,307,659.477]],["content/313",[1,3.342,5,2.631,11,7.06,143,5.192,144,2.19,162,2.734,219,6.081,594,9.373,622,11.67,842,11.941,1054,8.963,1143,11.941,1563,12.582,1567,12.582,2059,9.727,2605,13.967,2984,13.967,2985,16.946,2986,16.946,2987,14.649,2988,16.946,2989,16.946,2990,16.946,2991,16.946,2992,16.946,2993,16.946]],["keywords/313",[]],["title/314",[1,193.054,7,271.221,18,369.313]],["content/314",[1,3.946,567,14.099,571,9.986,2556,14.855,2994,20.007]],["keywords/314",[]],["title/315",[1,235.172,50,414.454]],["content/315",[1,3.778,36,7.464,46,6.206,50,5.109,67,8.035,84,6.239,157,6.89,208,3.875,225,5.896,252,6.89,256,6.659,337,6.49,339,8.79,433,9.711,495,11.359,522,11.142,700,6.082,882,9.362,1113,9.362,1175,8.035,1187,12.114,1253,7.006,1543,5.578,1591,9.21,1756,10.913,2059,8.436,2065,10.618,2982,12.705,2983,12.422,2995,14.698,2996,13.496,2997,14.698,2998,14.698,2999,14.698]],["keywords/315",[]],["title/316",[7,271.221,18,369.313,2983,634.705]],["content/316",[36,10.161,37,6.744,143,6.13,225,6.158,2982,17.295,2983,12.974]],["keywords/316",[]],["title/317",[1169,787.86,2983,773.178]],["content/317",[1165,13.904,1169,13.341,3000,20.19,3001,18.54,3002,20.19]],["keywords/317",[]],["title/318",[130,287.057,468,616.37,2794,717.6,2983,538.298]],["content/318",[89,8.077,139,3.592,225,6.672,436,7.529,476,9.701,496,10.779,571,7.094,620,5.849,851,9.675,1165,13.082,1486,8.48,1614,11.898,1676,18.906,1683,10.147,1856,10.779,1871,7.756,2983,7.611,3001,15.108,3003,16.453,3004,11.738,3005,11.738,3006,11.738,3007,11.738,3008,11.738,3009,11.738,3010,11.738,3011,11.738,3012,17.444,3013,19.425,3014,10.481,3015,11.738,3016,10.779,3017,11.738,3018,16.453,3019,15.108,3020,11.738,3021,11.738,3022,11.738,3023,11.738,3024,11.738,3025,16.453,3026,11.738,3027,11.738,3028,11.738]],["keywords/318",[]],["title/319",[225,301.263,620,487.762,2983,634.705]],["content/319",[1,4.078,36,11.448,46,6.995,102,5.122,139,2.406,162,2.672,225,5.099,273,6.723,482,13.122,495,8.333,620,8.255,1032,15.884,1451,13.122,1576,14.32,1679,15.212,2504,13.122,2983,15.306,3029,16.566,3030,16.566,3031,16.566,3032,16.566]],["keywords/319",[]],["title/320",[1,125.581,58,278.472,130,220.172,317,200.56,2983,412.874,3033,584.676]],["content/320",[1,2.481,35,1.8,38,4.358,45,4.384,58,9.72,64,2.776,74,4.563,84,2.655,102,2.521,112,4.063,119,4.14,121,3.731,130,6.449,136,1.904,139,2.23,140,1.084,143,3.853,144,1.625,162,3.421,173,3.515,196,7.66,197,5.008,198,4.101,201,10.535,204,6.656,208,1.649,238,4.742,317,3.962,337,2.762,338,6.652,371,4.807,404,3.168,421,6.719,434,3.645,435,5.89,463,6.24,492,5.745,495,6.326,567,5.745,571,3.515,592,4.948,673,3.731,700,3.374,743,5.286,1168,10.819,1193,6.053,1200,7.837,1205,5.387,1224,5.387,1230,8.862,1234,7.486,1238,7.047,1239,7.486,1242,4.407,1358,4.742,1464,6.24,1501,4.679,1543,3.094,1917,7.047,1937,6.719,1945,6.053,1988,6.458,2059,7.219,2122,7.047,2319,7.633,2364,7.047,2556,6.053,2794,7.047,2870,7.486,2983,14.888,3034,8.153,3035,8.153,3036,7.486,3037,8.153,3038,11.549,3039,15.354,3040,15.354,3041,7.486,3042,7.486,3043,8.153,3044,15.849,3045,8.153,3046,8.153,3047,8.153,3048,8.153,3049,7.486,3050,7.486,3051,8.153,3052,6.719,3053,8.153,3054,8.153,3055,8.153]],["keywords/320",[]],["title/321",[130,338.468,278,447.9,3033,898.814]],["content/321",[35,3.133,45,0.858,50,1.443,58,6.668,59,1.829,84,1.352,90,3.082,130,2.494,135,2.482,136,2.669,139,2.642,140,0.959,143,1.272,146,6.168,148,8.268,160,1.438,162,1.543,181,1.473,183,2.108,187,1.514,208,2.617,211,11.119,213,11.046,214,11.697,219,3.432,230,4.214,237,3.177,256,1.443,259,1.856,266,2.999,270,5.52,275,5.29,279,1.539,292,2.89,336,1.643,337,2.444,338,3.815,348,9.904,373,3.529,376,2.015,378,2.088,432,4.195,439,2.644,463,5.52,467,2.519,573,1.653,593,2.447,620,4.766,646,3.588,649,2.129,656,14.412,676,1.695,697,8.938,700,1.718,701,2.999,723,14.229,724,3.628,725,4.087,726,3.288,752,1.995,761,7.587,813,1.829,848,3.11,875,2.088,882,2.644,883,2.558,924,2.519,930,2.013,1146,2.031,1168,5.082,1214,5.354,1230,5.082,1275,2.925,1292,3.082,1293,2.15,1337,2.352,1430,3.811,1453,18.014,1469,3.177,1486,2.999,1493,3.177,1543,2.737,1554,2.691,1556,2.742,1587,2.219,1683,3.588,1801,3.811,1850,3.177,1908,2.798,2144,9.052,2212,6.623,2218,6.235,2228,8.268,2237,3.811,2319,2.519,2530,11.015,2551,3.588,2568,2.798,2569,3.811,2731,3.421,2983,10.973,3038,3.811,3052,3.421,3056,4.15,3057,9.564,3058,7.212,3059,7.212,3060,7.212,3061,4.15,3062,6.623,3063,9.564,3064,12.94,3065,11.428,3066,7.212,3067,17.599,3068,12.94,3069,11.428,3070,12.94,3071,17.599,3072,4.15,3073,7.212,3074,6.623,3075,11.428,3076,11.428,3077,15.247,3078,11.428,3079,4.15,3080,4.15,3081,3.811,3082,4.15,3083,4.15,3084,4.15,3085,4.15,3086,4.15,3087,4.15,3088,4.15,3089,4.15,3090,16.922,3091,9.564,3092,9.564,3093,4.15,3094,4.15,3095,4.15,3096,4.15,3097,4.15,3098,4.15,3099,4.15,3100,4.15,3101,4.15,3102,4.15,3103,7.212,3104,4.15,3105,4.15,3106,7.212,3107,3.811,3108,7.212,3109,3.588,3110,3.811]],["keywords/321",[]],["title/322",[58,521.487,2568,803.767]],["content/322",[1,3.711,5,1.132,7,3.195,18,2.752,35,1.61,36,5.855,37,3.886,42,4.427,45,1.508,46,4.868,49,3.569,50,2.535,58,9.196,67,6.303,84,2.375,89,4.902,102,2.255,118,5.14,136,3.339,139,3.245,141,3.059,144,1.49,153,2.904,159,6.303,162,1.86,173,3.145,182,4.133,183,3.704,196,3.237,208,2.332,225,4.4,237,5.582,248,3.778,265,2.398,277,3.457,279,4.276,319,5.023,337,4.844,339,6.895,351,3.817,425,4.3,439,7.344,447,2.721,467,4.427,492,5.14,495,8.173,513,6.895,542,3.987,554,3.741,556,5.14,563,3.857,571,3.145,575,4.186,592,4.427,700,4.771,724,3.669,813,3.213,819,3.987,822,4.083,855,4.835,930,3.537,1032,12.469,1041,4.591,1072,5.415,1176,7.106,1222,5.023,1230,10.075,1243,6.697,1350,6.305,1543,5.426,1576,6.305,1591,6.874,1653,5.582,1708,5.269,1848,5.269,1899,4.729,1908,4.917,2059,4.186,2065,5.269,2091,3.899,2106,4.729,2253,5.582,2329,6.305,2353,6.305,2518,6.305,2568,10.952,2769,6.305,2795,6.305,2983,12.776,3041,6.697,3042,6.697,3044,6.697,3081,6.697,3111,5.582,3112,7.294,3113,7.294,3114,7.294,3115,14.297,3116,7.294,3117,7.294,3118,7.294,3119,7.294,3120,11.529,3121,7.294,3122,7.294,3123,7.294,3124,7.294,3125,7.294,3126,7.294,3127,7.294,3128,11.529,3129,7.294,3130,12.359,3131,6.697,3132,11.529,3133,7.294,3134,7.294,3135,7.294,3136,7.294]],["keywords/322",[]],["title/323",[2757,1208.042]],["content/323",[]],["keywords/323",[]],["title/324",[1,112.477,5,88.522,36,289.629,337,193.209,2449,401.856,2757,451.725,3137,523.668]],["content/324",[1,2.446,5,2.654,7,2.219,9,3.336,11,1.952,16,3.862,18,1.768,36,9.936,37,4.181,38,2.505,47,2.985,50,3.644,51,2.905,64,4.224,67,2.562,71,2.802,74,2.623,84,1.526,89,3.405,90,3.479,91,3.956,102,2.476,130,1.62,131,2.888,132,3.302,136,2.897,139,0.681,141,5.202,143,2.453,153,4.175,176,2.656,188,2.623,194,3.818,197,1.866,204,2.858,219,1.681,225,4.673,226,4.281,240,1.588,241,2.253,242,2.656,248,2.428,255,2.844,256,1.629,279,2.97,296,2.38,302,2.234,307,4.429,320,2.844,326,2.888,331,2.144,350,1.082,371,2.763,384,4.051,387,3.479,394,3.712,403,3.479,407,3.096,409,3.587,436,3.664,446,2.314,447,1.748,454,2.985,484,3.159,493,3.096,494,2.592,495,4.028,503,7.068,506,5.946,508,6.679,511,4.86,513,2.802,522,2.725,554,2.403,567,3.302,569,4.051,571,6.545,593,4.721,642,3.99,676,1.914,677,4.378,686,2.428,724,2.357,743,5.192,790,2.38,826,3.712,852,5.814,874,2.293,894,3.227,930,3.884,1009,3.862,1110,7.353,1140,5.015,1142,2.844,1143,5.643,1146,3.918,1148,7.353,1154,4.051,1163,14.091,1165,5.514,1166,2.763,1167,3.227,1168,3.302,1169,3.096,1170,4.303,1176,2.888,1186,4.051,1187,3.862,1196,3.479,1215,3.039,1242,2.533,1316,2.985,1337,2.656,1340,2.725,1377,2.844,1386,2.725,1499,3.479,1543,1.778,1567,3.479,1572,6.343,1591,3.85,1674,7.785,1681,4.303,1686,3.386,1690,3.712,1806,7.785,1924,6.343,1931,9.063,1933,3.712,1988,3.712,2060,2.935,2121,3.479,2123,3.096,2302,4.051,2330,3.479,2356,2.161,2425,8.642,2438,4.303,2449,13.033,2459,2.562,2471,4.303,2473,3.587,2566,6.343,2757,16.701,2761,7.353,2787,4.303,2800,3.479,2810,4.303,2826,4.303,2974,2.888,2987,6.922,3019,7.353,3137,11.39,3138,4.686,3139,3.587,3140,4.303,3141,8.008,3142,4.686,3143,3.712,3144,8.008,3145,8.008,3146,4.303,3147,3.479,3148,4.686,3149,4.686,3150,4.686,3151,4.686,3152,4.686,3153,4.686,3154,4.686,3155,4.686,3156,8.008,3157,8.008,3158,4.686,3159,4.686,3160,4.686,3161,4.303,3162,4.686,3163,10.485,3164,4.303,3165,4.686,3166,4.686,3167,4.686,3168,4.686,3169,4.686,3170,4.303,3171,4.303,3172,4.303,3173,4.686,3174,4.686,3175,4.686,3176,10.485,3177,4.686,3178,4.686,3179,4.686,3180,4.686,3181,4.686,3182,4.686,3183,8.008,3184,4.686,3185,4.686,3186,13.933,3187,8.008,3188,8.008,3189,4.686,3190,8.008,3191,4.686,3192,3.862,3193,5.946,3194,4.303,3195,4.303,3196,4.303,3197,3.302,3198,4.303,3199,4.051,3200,4.686,3201,4.303]],["keywords/324",[]],["title/325",[567,840.217,1572,944.485]],["content/325",[1,3.396,36,9.991,50,4.357,64,5.864,71,7.496,102,3.876,139,2.501,141,8.882,153,4.992,194,3.858,225,5.3,256,6.838,394,9.929,436,7.88,476,7.391,506,9.307,522,7.29,540,7.851,563,6.63,571,9.131,686,6.494,852,8.072,948,9.594,952,6.079,1123,10.836,1146,6.133,1168,8.833,1198,14.924,1337,7.104,1486,9.056,1567,9.307,1572,9.929,1663,8.833,1686,9.056,1932,10.332,1933,9.929,2176,9.594,2449,12.135,2757,18.168,3194,11.511,3195,11.511,3196,11.511,3197,8.833,3198,11.511,3202,17.221,3203,12.535]],["keywords/325",[]],["title/326",[671,529.196,2109,480.814]],["content/326",[]],["keywords/326",[]],["title/327",[671,529.196,2109,480.814]],["content/327",[1,3.762,58,6.386,96,13.671,127,10.548,130,5.049,136,4.455,143,4.473,162,2.355,175,10.948,182,8.274,199,11.175,238,8.492,279,5.415,282,8.732,324,8.732,331,6.681,541,13.407,554,9.783,575,8.381,671,6.48,1471,11.565,1568,10.055,1665,10.055,2109,9.986,2111,15.109,2112,12.621,2433,10.055,2504,11.565,2521,12.034,3204,14.601,3205,14.601,3206,14.601]],["keywords/327",[]],["title/328",[2109,480.814,2111,944.485]],["content/328",[1,1.503,5,1.852,45,2.466,48,3.225,58,6.433,88,3.112,91,2.875,96,8.927,97,3.217,117,5.369,119,3.87,124,3.988,129,4.214,136,1.78,137,5.06,139,3.228,143,4.506,144,0.985,150,3.357,162,1.925,171,4.773,175,4.374,199,5.832,201,7.863,202,4.906,204,5.249,207,4.166,208,1.541,220,3.487,225,4.527,237,9.133,241,5.737,244,4.555,279,2.826,282,7.136,288,6.036,330,8.409,331,5.46,350,1.76,352,2.042,358,1.908,359,3.833,437,6.245,511,10.101,554,6.12,563,4.03,573,4.752,620,9.551,658,5.369,671,5.296,673,3.487,677,4.166,742,3.382,775,2.543,796,5.832,882,9.369,1041,3.034,1231,10.958,1341,7.355,1358,4.432,1516,8.409,1543,2.892,1568,5.247,1570,9.133,1651,5.136,1686,5.505,1834,6.047,1872,13.718,1873,9.835,2072,7.738,2109,8.597,2111,9.452,2112,6.587,2223,6.587,2319,10.101,2335,6.997,2356,3.514,2392,6.997,2395,5.832,2411,10.958,2465,6.997,2504,6.036,2619,3.728,3013,6.587,3207,7.62,3208,7.62,3209,7.62,3210,7.62,3211,7.62,3212,7.62,3213,7.62,3214,6.997,3215,7.62,3216,7.62,3217,7.62,3218,7.62,3219,7.62,3220,7.62,3221,7.62,3222,7.62,3223,11.933,3224,14.708,3225,11.933,3226,7.62,3227,7.62,3228,7.62,3229,7.62,3230,5.505,3231,7.62]],["keywords/328",[]],["title/329",[172,529.078,176,554.704,654,646.758]],["content/329",[1,2.92,2,6.099,5,1.195,35,1.7,37,2.595,48,3.251,62,2.635,97,3.251,102,3.72,106,4.116,133,4.904,134,6.346,139,1.747,143,3.686,144,0.995,146,7.058,155,6.17,157,5.639,159,6.577,169,10.434,171,4.822,172,8.003,176,9.486,177,11.195,208,1.557,213,6.431,214,8.501,219,2.763,234,9.669,262,5.087,265,6.33,277,3.562,290,4.31,307,4.258,309,3.734,358,5.477,373,11.368,374,4.072,376,2.151,378,6.051,437,4.03,511,4.673,556,5.425,624,4.258,627,10.697,644,13.564,646,2.888,654,11.06,666,10.697,697,9.223,725,6.818,743,4.992,753,4.478,809,4.31,823,4.904,1189,5.19,1293,10.78,1347,4.478,1352,4.904,1358,4.478,1368,4.992,1418,8.11,1435,6.655,1554,4.992,1714,3.988,1756,5.717,1774,4.363,1862,5.087,2161,12.799,2507,6.099,2717,10.994,3109,10.399,3232,7.699,3233,9.529,3234,6.655,3235,9.916,3236,12.03,3237,7.699,3238,7.699,3239,7.699,3240,7.699,3241,7.699,3242,7.699,3243,7.699,3244,7.699,3245,7.699]],["keywords/329",[]],["title/330",[248,617.686,383,617.686]],["content/330",[]],["keywords/330",[]],["title/331",[5,151.938,248,507.061,383,507.061]],["content/331",[1,4.06,5,2.839,37,4.617,50,7.155,52,3.261,58,7.998,64,4.664,83,7.576,89,5.824,102,4.235,121,6.268,136,4.808,150,8.056,225,4.216,238,7.967,242,7.763,248,7.096,256,4.761,279,5.081,282,10.936,309,6.643,331,9.42,377,9.234,408,13.332,522,7.967,570,7.967,571,8.875,612,8.442,852,6.421,1169,12.083,1298,10.17,1383,11.29,1908,9.234,2491,11.841,2605,11.29,3246,13.698,3247,18.287,3248,13.698]],["keywords/331",[]],["title/332",[352,319.604,852,558.933]],["content/332",[1,3.14,5,2.875,21,8.42,74,6.271,97,4.731,124,5.864,136,4.326,139,1.627,141,4.699,183,5.69,202,6.545,221,5.434,225,4.9,248,10.447,254,7.265,274,6.349,279,4.156,288,8.875,326,11.415,327,6.197,329,5.99,352,6.346,353,6.769,355,6.7,362,5.386,383,9.594,440,11.502,476,6.606,573,4.461,575,6.431,628,5.01,702,7.137,849,7.861,852,7.463,951,8.575,952,5.434,1041,4.461,1065,11.502,1067,6.056,1149,7.137,1213,7.017,1333,10.52,1386,6.516,1439,7.895,1476,6.271,1543,4.252,1554,7.265,1555,10.288,1556,7.403,1568,7.716,1666,5.434,1672,7.895,1716,8.875,1764,8.875,2489,7.895,2512,8.319,2605,9.234,2899,14.62,3197,13.051,3249,11.204,3250,11.204]],["keywords/332",[]],["title/333",[248,507.061,383,507.061,717,541.368]],["content/333",[7,5.351,136,4.51,248,10.003,383,10.003,717,10.68,852,9.052,1146,9.448,1614,12.094,2155,10.556,3251,19.31]],["keywords/333",[]],["title/334",[50,414.454,612,734.894]],["content/334",[1,4.106,5,2.174,9,3.915,13,5.886,21,4.97,39,7.748,41,4.82,50,4.869,58,10.364,64,3.2,108,5.986,130,3.25,136,3.272,139,1.365,150,4.14,162,1.516,194,2.892,220,4.3,248,8.676,256,3.267,272,5.394,282,10.015,331,9.084,332,5.198,337,5.674,339,5.62,352,2.519,362,4.518,383,4.868,404,6.507,408,5.704,436,6.41,463,7.193,476,5.541,493,6.21,522,5.466,523,8.124,554,7.184,571,7.22,612,5.792,620,4.683,628,6.264,632,4.683,636,7.193,718,6.21,753,5.466,761,5.024,845,5.792,848,4.052,855,3.941,929,9.256,1142,5.704,1143,6.622,1146,6.854,1242,5.08,1333,6.21,1337,7.939,1341,5.792,1536,10.722,1543,7.044,1550,6.094,1607,7.746,1764,7.444,1834,3.864,1850,7.193,1871,9.256,2106,6.094,2155,5.138,2319,8.502,2489,9.871,2582,8.63,2583,8.63,2584,8.63,2671,8.124,3147,6.978,3193,6.978,3252,14.008,3253,9.398,3254,9.398,3255,9.398,3256,7.746,3257,9.398,3258,9.398]],["keywords/334",[]],["title/335",[1899,988.931]],["content/335",[]],["keywords/335",[]],["title/336",[197,330.566,317,261.487,1195,448.715,1899,538.298]],["content/336",[1,4.594,5,3.136,18,6.025,19,12.649,46,6.743,48,5.99,174,7.486,197,6.359,277,3.398,317,5.03,535,11.537,693,9.05,744,7.548,1067,8.632,1140,10.002,1195,8.632,1204,8.361,1212,9.55,1242,8.632,1270,12.649,1277,11.857,1574,12.222,1675,10.552,1899,10.355,1921,13.162,2384,13.804,3259,12.649]],["keywords/336",[]],["title/337",[152,297.874,225,255.503,1140,519.949,1899,538.298]],["content/337",[89,6.889,96,9.834,117,11.417,152,5.814,192,4.513,196,7.191,225,6.276,331,7.414,337,6.908,571,8.791,594,12.341,1140,10.148,1176,9.986,1177,10.321,1215,10.506,1287,9.72,1606,11.022,1908,15.786,3260,16.203,3261,13.354]],["keywords/337",[]],["title/338",[50,340.228,1899,634.705,3262,846.118]],["content/338",[1,3.016,5,2.605,6,3.923,7,1.818,9,2.733,36,3.331,45,1.356,46,5.625,48,2.863,50,5.316,52,1.561,58,2.869,68,7.865,75,4.847,136,2.474,138,4.141,139,3.154,143,2.01,144,1.721,153,5.305,162,2.149,163,5.23,187,2.393,196,9.939,197,2.612,201,11.612,204,7.752,209,4.772,219,3.801,220,3.001,225,4.1,227,1.709,230,2.89,238,3.815,242,3.717,256,2.28,285,2.489,309,3.181,317,4.817,350,3.076,351,3.433,373,5.183,434,2.933,435,4.739,454,4.178,492,7.464,494,3.628,495,9.029,508,4.178,573,2.612,614,3.398,642,3.269,646,2.461,676,2.679,686,5.487,695,3.586,697,5.379,702,4.178,711,4.87,744,3.1,1056,6.08,1140,4.108,1194,8.487,1195,8.267,1198,7.464,1200,4.809,1201,9.426,1202,5.663,1208,4.517,1212,3.923,1226,9.156,1246,9.156,1248,6.023,1249,4.108,1250,11.516,1251,4.739,1252,6.023,1253,3.127,1254,9.156,1261,5.67,1543,2.489,1621,6.023,1899,8.639,1920,5.196,1945,4.87,1979,12.234,1980,6.023,1981,12.234,1983,9.726,1985,9.726,1986,6.023,1987,9.726,1988,8.39,2059,3.765,2069,5.196,2597,5.196,3049,9.726,3050,9.726,3261,5.406,3262,9.156,3263,5.02,3264,6.023,3265,10.592,3266,10.592,3267,10.592,3268,10.592,3269,13.322,3270,10.592]],["keywords/338",[]],["title/339",[35,216.104,1899,634.705,3261,806.76]],["content/339",[5,2.344,50,5.248,51,5.477,136,4.553,144,1.951,187,5.507,189,6.012,196,10.126,197,6.012,225,6,329,8.072,331,6.909,350,4.985,361,11.494,758,8.717,1899,14.794,1908,10.178,3261,17.794,3262,18.662,3264,13.864,3271,19.494,3272,19.494,3273,15.098,3274,15.098]],["keywords/339",[]],["title/340",[144,126.472,1899,634.705,1908,659.816]],["content/340",[1,4.757,6,10.537,337,8.171,495,8.863,1194,11.224,1473,13.486,1899,15.64,3275,17.62,3276,17.62,3277,17.62,3278,16.18,3279,17.62]],["keywords/340",[]],["title/341",[102,302.649,495,492.368,1194,623.514]],["content/341",[5,2.571,19,16.378,36,10.501,64,5.641,89,7.043,143,5.076,225,5.099,226,8.856,273,6.723,302,7.896,407,10.946,495,8.333,506,12.3,511,10.054,571,7.142,686,8.582,1163,13.654,1164,13.654,1176,10.21,1194,13.171,1591,7.964,1899,10.742,3164,15.212,3280,16.566,3281,16.566,3282,16.566]],["keywords/341",[]],["title/342",[60,535.684]],["content/342",[]],["keywords/342",[]],["title/343",[139,142.147,3283,898.814,3284,898.814]],["content/343",[7,4.735,21,6.555,33,5.717,35,2.737,37,5.76,45,4.042,48,5.285,56,8.037,60,7.404,61,6.065,62,5.848,88,5.063,91,4.677,102,3.832,119,6.295,121,5.672,136,4.567,144,1.602,156,8.037,157,8.01,162,2,208,2.507,238,7.209,256,4.308,273,5.03,277,2.638,279,4.597,282,7.412,324,7.412,331,5.672,338,6.555,339,7.412,350,2.862,404,4.816,642,6.177,653,7.209,674,7.024,795,7.641,938,7.763,950,12.041,1067,6.7,1175,6.776,1249,7.763,1264,8.536,1358,9.938,1538,8.955,1543,4.704,1967,11.382,2585,10.216,2795,10.715,3283,11.382,3284,11.382,3285,10.715,3286,12.395,3287,11.382,3288,12.395,3289,10.216,3290,12.395]],["keywords/343",[]],["title/344",[3291,1400.437]],["content/344",[33,9.071,35,3.379,37,7.325,45,3.164,59,8.664,60,8.055,112,11.428,136,4.593,150,6.744,156,9.926,174,7.175,208,3.096,220,7.004,338,8.096,402,12.125,434,6.845,583,10.318,674,8.675,754,9.29,822,8.568,823,9.751,938,9.587,1054,8.096,1653,11.716,1812,12.616,2488,11.365,3291,14.056,3292,15.307,3293,12.125]],["keywords/344",[]],["title/345",[3294,1400.437]],["content/345",[1,2.621,37,6.04,60,7.12,79,8.282,102,4.108,112,10.102,120,7.349,130,6.196,136,3.103,144,1.717,194,4.09,203,7.53,207,7.264,225,6.239,226,7.103,279,4.928,331,9.929,352,6.502,353,8.619,355,7.946,404,5.163,593,7.834,674,7.53,819,7.264,1036,8.957,1041,5.291,1067,9.685,1166,10.564,1499,9.865,1550,8.616,1773,12.201,2903,12.201,3294,12.201,3295,17.917,3296,13.287,3297,13.287]],["keywords/345",[]],["title/346",[24,944.485,25,944.485]],["content/346",[]],["keywords/346",[]],["title/347",[1,142.14,24,570.857,25,570.857,225,221.812,234,346.477]],["content/347",[1,2.781,5,1.883,7,3.361,9,2.386,11,2.386,13,8.832,18,2.161,22,5.26,24,15.784,25,17.379,35,1.265,36,4.815,46,4.004,48,1.548,54,3.332,64,1.951,66,3.53,67,3.132,71,3.426,88,2.34,89,5.995,102,1.771,139,1.377,143,1.755,153,2.281,206,7.815,209,2.581,219,2.055,224,1.884,225,5.182,230,2.524,234,4.558,248,2.967,256,1.991,259,2.561,263,4.253,272,3.288,307,3.168,326,3.53,327,3.168,336,2.267,337,1.941,350,1.323,373,2.803,407,8.016,420,4.952,433,3.785,435,4.138,436,2.621,439,3.649,440,4.138,446,2.828,493,3.785,495,2.881,506,4.253,511,5.754,513,5.67,522,3.332,540,3.588,561,4.384,571,4.088,573,3.776,574,3.377,580,8.016,632,4.725,649,2.938,671,2.542,676,2.34,698,4.339,724,2.881,726,4.537,749,3.332,852,4.445,855,2.402,874,4.639,894,3.945,948,9.285,950,6.681,1054,6.416,1067,3.096,1152,6.681,1154,12.189,1156,5.26,1163,14.69,1165,6.529,1168,4.036,1169,3.785,1176,8.691,1186,4.952,1199,3.861,1215,3.714,1264,3.945,1337,5.373,1418,6.391,1568,3.945,1658,4.537,1674,4.253,1675,3.785,1832,4.721,1871,3.785,1988,4.537,2062,4.537,2429,11.622,2506,4.721,2599,5.26,2758,5.26,2786,5.26,2827,4.384,3012,11.139,3014,3.649,3062,5.26,3161,5.26,3170,8.706,3171,8.706,3172,5.26,3193,4.253,3298,5.728,3299,5.728,3300,5.728,3301,5.728,3302,5.728,3303,5.728,3304,5.728,3305,17.823,3306,13.505,3307,5.26,3308,5.728,3309,5.728,3310,5.728,3311,9.481,3312,5.728,3313,4.952,3314,5.728,3315,5.728,3316,11.139,3317,5.728,3318,5.728,3319,5.728,3320,5.728,3321,9.481,3322,9.481,3323,5.728,3324,5.728,3325,5.728,3326,5.728,3327,5.728,3328,5.728,3329,9.481,3330,5.728,3331,5.728,3332,5.728,3333,3.714,3334,5.728,3335,5.728,3336,5.728,3337,5.728,3338,5.728,3339,5.728,3340,5.728,3341,5.728,3342,5.728,3343,5.728,3344,5.26,3345,14.101,3346,5.728,3347,5.728,3348,5.728,3349,5.728,3350,5.728,3351,5.728,3352,9.481,3353,5.728,3354,5.728,3355,5.728,3356,5.728,3357,5.728]],["keywords/347",[]],["title/348",[1031,925.606]],["content/348",[]],["keywords/348",[]],["title/349",[1031,723.668,3358,1192.361]],["content/349",[1,4.522,5,2.671,9,7.169,37,5.801,44,11.159,70,10.963,75,7.875,88,7.029,91,6.493,135,10.292,272,9.878,336,6.811,437,9.007,511,12.849,676,7.029,1031,13.917,1146,8.421,3147,12.778,3359,17.21]],["keywords/349",[]],["title/350",[3360,1525.086]],["content/350",[5,1.355,48,4.33,58,5.797,64,4.513,102,2.7,107,6.152,119,6.731,135,5.221,139,1.268,145,3.964,164,4.261,204,3.116,225,2.687,337,6.06,376,6.325,409,6.682,468,6.483,476,10.546,495,8.998,571,5.714,573,3.477,677,4.773,761,7.086,1140,10.034,1741,6.916,1908,8.934,1921,7.196,1984,8.017,2445,6.916,2528,7.547,2906,14.711,2996,8.017,3013,7.547,3361,13.254,3362,8.731,3363,8.731,3364,8.731,3365,13.254,3366,8.731,3367,8.731,3368,8.731,3369,16.02,3370,8.731,3371,20.246,3372,19.319,3373,16.02,3374,16.02,3375,16.02,3376,16.02,3377,16.02,3378,16.02,3379,16.02,3380,16.02,3381,16.02,3382,16.02,3383,16.02,3384,14.711,3385,20.246,3386,16.02,3387,8.731,3388,8.731,3389,8.731,3390,16.02,3391,8.731,3392,7.196,3393,8.731]],["keywords/350",[]],["title/351",[3394,1400.437]],["content/351",[5,2.208,7,3.942,9,5.926,11,5.926,13,11.745,18,5.367,36,9.523,48,3.845,58,6.222,60,4.997,102,4.399,125,11.945,136,3.322,144,1.838,187,5.189,225,4.378,317,4.481,325,8.165,362,6.839,437,7.445,454,9.062,468,10.562,573,5.665,612,8.768,700,5.887,717,7.868,724,7.156,1027,6.839,1031,11.381,1337,8.062,1341,11.557,2370,9.224,2884,13.923,3372,13.063,3394,13.063,3395,14.226,3396,10.562,3397,14.226,3398,13.063,3399,14.226,3400,14.226,3401,14.226,3402,14.226,3403,14.226,3404,14.226]],["keywords/351",[]],["title/352",[3392,1257.008]],["content/352",[5,1.587,45,4.248,48,4.754,49,5.001,57,7.203,70,6.511,102,3.16,139,2.164,145,4.641,169,7.203,197,4.07,224,3.361,225,3.146,226,5.464,248,5.295,273,4.148,337,6.549,352,3.995,353,6.336,403,7.589,404,3.972,468,7.589,500,9.386,550,8.836,701,7.385,848,4.407,1027,8.456,1113,9.494,1235,8.097,1242,5.525,1388,6.754,1554,6.628,1587,9.403,1588,10.096,1830,8.836,2288,7.589,2445,11.805,2490,7.823,2518,15.205,2565,9.386,2682,13.933,2765,8.836,2884,7.589,3233,8.097,3293,8.097,3392,12.284,3405,14.903,3406,10.222,3407,8.097,3408,8.836,3409,14.903,3410,10.222,3411,10.222,3412,10.222,3413,10.222,3414,10.222,3415,10.222,3416,20.552,3417,20.552,3418,10.222,3419,19.331,3420,14.903,3421,10.222,3422,14.903,3423,14.903,3424,10.222,3425,10.222,3426,10.222,3427,10.222,3428,10.222,3429,10.222]],["keywords/352",[]],["title/353",[3408,1318.333]],["content/353",[4,7.722,46,6.165,48,3.946,65,9.647,66,11.756,67,7.982,102,4.515,139,2.12,162,2.355,187,5.326,219,5.239,285,5.541,376,4.08,383,7.564,434,6.529,468,10.841,476,8.609,573,5.814,677,10.428,686,9.881,858,12.621,1066,11.175,1554,9.468,1674,10.841,2444,17.515,2462,12.034,2469,17.515,2503,11.175,2884,10.841,2943,9.145,3392,15.721,3408,12.621,3430,14.601,3431,19.074,3432,14.601,3433,14.601,3434,14.601,3435,14.601,3436,14.601,3437,14.601]],["keywords/353",[]],["title/354",[1,193.054,152,351.222,1902,674.064]],["content/354",[]],["keywords/354",[]],["title/355",[2487,1028.057]],["content/355",[1,3.806,18,3.32,24,6.971,25,6.971,30,6.201,36,4.469,37,5.427,45,4.598,47,10.254,48,3.604,55,4.987,56,5.706,62,3.012,78,3.301,84,2.866,121,4.027,124,8.425,139,2.338,144,1.723,152,4.784,182,4.987,185,4.268,186,3.774,193,5.263,198,6.707,225,2.709,234,4.231,243,5.09,252,6.25,254,5.706,265,2.894,277,3.822,279,3.264,282,7.974,288,12.751,321,3.935,336,6.371,358,4.03,446,4.345,447,3.283,571,3.794,628,3.935,653,5.118,748,6.201,754,5.341,765,6.358,791,6.06,795,5.962,806,5.189,808,4.654,819,4.811,821,5.815,840,5.424,874,4.306,882,5.606,1113,5.606,1365,6.736,1558,6.06,1996,6.736,2369,12.751,2487,8.988,2490,6.736,2492,7.253,2503,6.736,2556,6.534,2759,18.236,2917,6.971,2949,7.607,3233,6.971,3438,21.096,3439,7.607,3440,17.959,3441,8.081,3442,8.8,3443,13.334,3444,10.99,3445,6.971,3446,8.8,3447,8.081,3448,8.8,3449,8.081,3450,8.081,3451,12.244,3452,13.334,3453,8.081,3454,8.081,3455,8.8]],["keywords/355",[]],["title/356",[2042,1208.042]],["content/356",[1,4.042,9,4.839,28,8.391,33,5.357,35,2.564,37,3.915,45,3.376,48,4.414,56,7.532,60,4.08,72,8.638,78,4.357,127,8.391,142,5.843,187,4.237,194,3.575,197,6.503,208,2.349,224,3.82,225,3.575,230,5.117,242,6.582,259,5.194,277,2.472,321,7.303,350,2.682,352,3.113,372,7.532,434,5.194,447,4.333,571,5.008,573,4.625,618,8.89,674,6.582,677,6.35,695,6.35,696,7.049,753,6.755,808,6.143,830,7.675,852,7.656,946,6.35,1027,7.852,1031,7.049,1368,7.532,1391,7.399,1405,7.275,1435,10.04,1552,15.601,1554,7.532,1558,7.999,1778,8.624,1826,9.573,2042,9.2,2099,8.624,2433,7.999,2485,10.04,2492,9.573,2493,7.675,2522,9.2,3233,9.2,3441,10.666,3456,10.666,3457,9.2,3458,11.615,3459,7.532,3460,11.615,3461,10.666,3462,10.666,3463,11.615,3464,11.615,3465,11.615]],["keywords/356",[]],["title/357",[321,533.171,3466,803.767]],["content/357",[1,4.246,5,1.709,7,0.898,9,1.35,11,1.35,13,2.029,18,1.222,27,2.67,35,0.715,36,6.748,37,1.954,43,2.141,45,1.979,46,1.368,47,7.014,48,0.876,49,1.585,57,4.085,71,3.467,78,1.215,80,1.966,84,1.055,85,2.406,91,2.187,97,1.368,102,1.002,121,2.653,124,1.696,125,2.064,130,2.005,131,1.997,139,2.376,143,0.993,144,0.419,145,1.471,150,1.427,152,1.163,158,1.282,162,0.935,173,1.397,182,1.836,186,1.641,188,3.245,189,1.29,193,1.938,194,1.784,198,3.957,207,1.771,213,3.099,219,7.362,223,1.615,225,3.765,234,3.782,242,1.836,243,3.655,244,1.237,256,1.126,263,2.406,268,5.726,277,1.674,282,3.467,321,3.517,326,3.573,336,1.282,337,6.779,350,0.748,351,4.117,352,1.554,353,2.465,358,0.811,375,2.482,407,2.141,408,12.144,416,2.67,425,1.91,494,1.792,571,3.391,573,1.29,621,3.133,628,1.449,632,1.615,676,1.323,695,1.771,697,2.944,712,5.303,761,7.103,765,2.341,795,3.517,809,3.245,824,2.406,830,3.83,839,2.801,852,3.687,875,2.916,877,2.141,946,11.341,947,5.011,1009,4.778,1027,4.603,1054,7.939,1149,3.693,1167,2.231,1198,4.085,1214,1.814,1242,1.751,1249,2.029,1303,2.406,1332,3.759,1368,2.101,1404,2.801,1488,1.966,1552,4.188,1558,5.417,1567,2.406,1587,4.205,1588,4.515,1591,3.782,1675,2.141,1707,2.801,1714,1.678,1819,2.283,1834,2.383,1902,5.417,1907,2.566,2042,12.961,2053,2.801,2121,2.406,2123,2.141,2176,2.48,2224,2.101,2369,2.566,2440,8.277,2445,4.592,2446,5.323,2487,8.957,2492,4.778,2496,2.975,2503,8.427,2616,2.801,2714,2.48,2759,5.011,2800,2.406,2912,2.975,2917,2.566,2921,7.223,2934,2.975,2943,3.631,2984,2.67,3234,5.011,3344,2.975,3444,2.67,3451,2.975,3453,7.223,3454,7.223,3462,7.223,3467,3.24,3468,3.24,3469,3.24,3470,3.24,3471,2.801,3472,3.24,3473,9.575,3474,14.205,3475,3.24,3476,5.101,3477,3.24,3478,3.24,3479,3.24,3480,3.24,3481,3.24,3482,5.797,3483,3.24,3484,5.797,3485,7.866,3486,3.24,3487,5.797,3488,3.24,3489,3.24,3490,3.24,3491,3.24,3492,5.797,3493,5.797,3494,3.24,3495,3.24,3496,3.24,3497,3.24,3498,3.24,3499,3.24,3500,3.24,3501,3.24,3502,3.24,3503,3.24,3504,5.797,3505,3.24,3506,3.24,3507,3.24,3508,3.24,3509,15.011,3510,3.24,3511,3.24,3512,11.011,3513,3.24,3514,3.24,3515,3.24,3516,3.24,3517,3.24,3518,3.24,3519,3.24,3520,3.24,3521,3.24,3522,3.24,3523,3.24,3524,3.24,3525,3.24,3526,3.24,3527,3.24,3528,5.797,3529,3.24,3530,3.24,3531,3.24,3532,2.801,3533,3.24,3534,3.24,3535,3.24,3536,3.24,3537,3.24,3538,3.24,3539,3.24,3540,3.24,3541,3.24,3542,3.24,3543,3.24,3544,3.24,3545,3.24,3546,3.24,3547,3.24,3548,3.24,3549,3.24,3550,3.24,3551,3.24,3552,3.24,3553,3.24,3554,3.24,3555,3.24,3556,3.24,3557,3.24,3558,3.24,3559,3.24,3560,3.24,3561,3.24,3562,3.24,3563,3.24,3564,3.24,3565,3.24,3566,3.24,3567,3.24,3568,3.24,3569,3.24,3570,3.24,3571,3.24,3572,3.24,3573,3.24,3574,3.24,3575,3.24,3576,2.67,3577,3.24,3578,3.24,3579,3.24,3580,2.566,3581,3.24,3582,3.24,3583,3.24,3584,3.24,3585,3.24,3586,3.24,3587,3.24,3588,3.24,3589,3.24,3590,3.24,3591,3.24,3592,3.24,3593,3.24,3594,3.24,3595,3.24,3596,3.24,3597,3.24,3598,3.24,3599,3.24,3600,3.24,3601,3.24,3602,3.24]],["keywords/357",[]],["title/358",[2324,1101.818]],["content/358",[]],["keywords/358",[]],["title/359",[2326,1208.042]],["content/359",[1,2.888,4,4.002,5,2.966,10,11.208,20,4.236,42,4.593,50,2.63,54,4.401,58,7.252,59,3.334,64,6.508,66,7.315,74,4.236,75,3.463,110,4.74,143,2.319,159,4.137,169,5.333,173,3.263,184,6.237,187,6.048,188,4.236,189,3.013,194,4.507,202,8.215,220,5.431,252,6.864,296,3.843,307,4.186,309,3.67,337,5.618,339,8.757,350,1.747,394,9.402,437,6.212,446,3.737,447,2.823,465,5.619,476,4.462,535,5.467,542,8.005,543,4.821,546,9.871,561,5.792,573,5.831,647,4.289,671,3.359,677,9.847,686,7.586,698,3.463,818,8.575,822,4.236,823,9.328,1032,8.364,1070,6.949,1142,4.593,1146,7.165,1230,5.333,1275,5.333,1476,4.236,1536,9.084,1550,7.696,1552,5.467,1658,5.994,1912,8.174,2020,5.211,2324,16.722,2326,16.851,2550,6.949,2661,5.792,3131,10.899,3278,6.949,3471,6.542,3603,7.568,3604,7.568,3605,10.899,3606,7.568,3607,7.568,3608,7.568,3609,5.333,3610,11.869,3611,6.949,3612,6.949,3613,7.568,3614,6.949,3615,7.568,3616,6.949,3617,7.568,3618,7.568,3619,10.873,3620,6.542,3621,7.568,3622,6.949,3623,7.568,3624,6.237,3625,6.949,3626,6.542,3627,6.542,3628,7.568,3629,6.949,3630,6.949,3631,6.949]],["keywords/359",[]],["title/360",[5,151.938,3632,577.115,3633,898.814]],["content/360",[5,3.038,11,5.692,16,7.491,21,7.226,46,3.838,51,3.297,58,7.984,75,4.159,97,3.838,139,3.59,158,3.597,159,4.969,187,3.315,202,3.737,205,5.436,220,6.252,252,4.261,302,6.512,307,7.557,337,5.562,339,5.436,437,4.757,446,4.488,476,5.359,546,6.127,551,6.259,675,9.303,814,7.491,823,5.79,942,7.857,1065,9.871,1071,8.346,1164,7.491,1297,4.332,1300,5.693,1339,6.749,1356,7.2,1526,5.894,1551,5.516,1591,6.569,1693,6.006,1729,6.957,1889,11.261,1912,12.572,1921,7.491,1935,5.359,2079,11.81,2324,15.409,2370,5.894,2427,8.346,2589,7.491,2837,8.346,2850,8.557,2965,6.567,3605,8.346,3612,12.546,3619,12.189,3620,11.81,3624,7.491,3626,14.19,3627,7.857,3632,9.679,3633,15.074,3634,8.346,3635,9.21,3636,12.546,3637,9.089,3638,9.089,3639,9.089,3640,9.089,3641,9.089,3642,9.089,3643,8.346,3644,9.089,3645,9.089,3646,9.089,3647,9.089,3648,8.346,3649,9.089,3650,9.089]],["keywords/360",[]],["title/361",[2324,861.436,3619,885.315]],["content/361",[5,2.126,21,7.245,28,9.896,58,5.991,64,4.664,103,8.882,143,4.197,194,5.628,197,5.455,202,7.518,285,5.198,316,9.234,337,4.641,339,10.936,391,9.896,397,10.85,408,11.099,546,9.234,571,5.906,673,6.268,676,5.595,720,9.234,812,7.488,823,11.649,946,7.488,949,11.841,1379,10.484,1864,11.29,2089,9.433,2253,10.484,2324,17.645,2326,10.85,2589,11.29,3614,12.578,3619,13.578,3651,13.698,3652,18.287,3653,12.578,3654,13.698,3655,13.698,3656,12.578,3657,13.698,3658,12.578]],["keywords/361",[]],["title/362",[2324,707.157,3619,726.759,3659,978.814]],["content/362",[1,3.926,5,1.991,21,10.529,58,5.609,64,4.367,74,7.179,89,5.453,91,4.839,143,3.929,171,8.033,202,7.191,279,4.757,284,6.712,285,4.867,309,6.22,336,5.076,337,4.345,371,10.314,458,11.777,459,11.777,467,7.784,542,7.011,546,8.646,671,5.692,677,7.011,686,9.062,812,9.563,849,6.333,852,6.012,946,11.69,1035,10.159,1146,11.301,1550,8.317,2079,11.087,2326,10.159,2433,8.832,3619,9.523,3624,10.571,3660,12.825,3661,12.825,3662,12.825,3663,12.825,3664,12.825,3665,12.825,3666,12.825,3667,12.825,3668,12.825,3669,12.825,3670,12.825,3671,12.825,3672,12.825,3673,11.777]],["keywords/362",[]],["title/363",[3674,1525.086]],["content/363",[1,4.061,6,9.842,54,7.971,64,4.667,69,5.458,70,5.814,88,5.598,91,5.171,119,4.635,121,4.176,129,7.58,158,5.424,162,1.472,185,4.426,224,3.001,275,5.048,279,3.385,288,10.856,302,4.35,307,5.048,316,6.152,337,5.575,339,5.458,397,7.229,429,12.596,442,5.625,542,4.989,545,8.318,554,4.681,571,5.909,612,5.625,614,4.728,671,6.083,676,3.728,695,7.492,698,4.176,701,6.594,852,9.652,929,6.03,946,11.257,1347,5.308,1482,6.594,1501,5.239,1673,5.539,1686,9.901,1864,11.296,1912,6.285,2324,16.794,2459,4.989,2473,10.489,2521,7.522,2589,7.522,2591,10.176,2811,8.381,2981,8.381,3619,10.176,3620,7.889,3626,7.889,3629,15.112,3630,15.112,3631,8.381,3635,9.238,3675,13.705,3676,9.127,3677,8.381,3678,9.127,3679,9.127,3680,11.847,3681,8.381,3682,7.522,3683,13.705,3684,9.127,3685,13.705,3686,13.705,3687,7.522,3688,9.127,3689,9.127,3690,9.127,3691,8.381,3692,9.127,3693,8.381]],["keywords/363",[]],["title/364",[3694,1318.333]],["content/364",[1,4.702,5,2.057,6,5.221,9,5.521,10,12.262,21,4.618,28,6.308,35,1.928,46,3.687,48,2.36,50,5.568,54,5.078,60,5.627,64,2.973,74,4.887,84,2.843,89,3.712,97,3.687,110,5.468,118,6.152,125,5.562,126,5.769,143,2.675,158,3.455,171,8.301,187,5.843,195,8.044,202,6.586,221,4.234,224,2.871,274,4.948,294,6.308,302,4.162,317,5.046,351,4.569,371,5.148,398,5.769,442,5.381,493,10.585,556,6.152,573,5.278,593,5.148,642,4.351,671,3.875,676,7.855,677,7.246,720,5.885,742,3.875,794,6.682,847,6.682,848,3.764,851,7.196,852,6.213,946,4.773,1027,4.198,1046,6.682,1224,10.585,1242,4.719,1251,6.308,1292,6.483,1310,8.017,1334,5.885,1353,7.547,1364,7.196,1386,5.078,1464,6.682,1501,5.011,1523,7.196,1867,7.196,1889,7.196,1902,6.013,1907,6.916,1912,9.127,1920,6.916,1989,6.916,2178,6.483,2429,10.924,2491,11.457,2534,7.547,2566,6.916,2609,7.547,2755,8.017,2843,7.547,2879,5.562,3611,8.017,3624,7.196,3625,8.017,3694,7.547,3695,8.731,3696,7.547,3697,8.731,3698,8.731,3699,7.547,3700,7.547,3701,8.731,3702,13.254,3703,7.547,3704,7.547,3705,6.916,3706,8.731,3707,8.731,3708,8.731,3709,8.731,3710,8.731,3711,8.731]],["keywords/364",[]],["title/365",[1834,626.987]],["content/365",[]],["keywords/365",[]],["title/366",[278,697.87]],["content/366",[1,2.753,5,2.166,18,5.266,37,4.705,48,3.772,59,6.149,84,4.545,97,5.893,136,4.853,141,5.853,142,7.021,162,2.251,184,11.503,187,5.091,208,4.203,265,4.59,278,8.473,321,6.241,349,6.545,359,7.021,428,8.742,535,10.083,628,6.241,1029,10.682,1054,7.382,1666,6.769,1736,11.055,1834,9.929,2109,7.467,2321,11.503,2866,11.503,2943,8.742,3407,11.055,3712,13.957,3713,10.363,3714,13.957,3715,9.222,3716,13.957,3717,10.363,3718,13.957]],["keywords/366",[]],["title/367",[136,193.883,208,167.9,278,379.867,1834,341.284]],["content/367",[45,3.254,136,5.142,138,7.827,143,4.823,144,2.034,197,6.269,200,10.402,208,4.453,252,7.379,265,6.584,278,10.075,280,9.86,331,7.203,575,9.036,673,7.203,924,9.554,1834,10.216,1935,9.282,2109,6.348,2407,13.608,3407,12.469,3719,15.742]],["keywords/367",[]],["title/368",[404,463.326,2109,480.814]],["content/368",[9,6.421,37,5.196,75,7.053,83,8.525,88,6.296,91,5.816,129,8.525,130,5.33,136,3.6,137,5.302,138,7.723,149,11.136,200,10.185,208,3.995,241,7.41,278,9.04,302,7.347,404,5.989,671,8.768,744,7.285,848,6.645,1476,8.628,1479,10.614,1543,5.849,1834,8.963,1937,12.704,2109,8.791,2124,11.444,3720,15.413,3721,15.413,3722,15.413]],["keywords/368",[]],["title/369",[1834,626.987]],["content/369",[84,4.517,138,7.208,140,2.451,144,1.792,157,6.501,160,2.765,162,2.237,164,4.36,186,3.925,208,4.465,265,6.064,278,6.347,292,5.558,359,10.42,362,8.865,436,6.347,704,9.349,875,6.977,1213,8.687,1402,8.993,1403,10.298,1516,15.556,1741,10.986,1834,10.193,2834,9.773,3723,10.298,3724,7.415,3725,11.549,3726,13.322,3727,10.45]],["keywords/369",[]],["title/370",[217,491.902]],["content/370",[138,8.479,144,2.314,173,9.351,217,6.995,370,11.036,1253,8.535,1344,14.758,2059,10.277,2109,8.746,2894,15.283,3726,15.669,3728,16.104]],["keywords/370",[]],["title/371",[3729,1400.437]],["content/371",[29,5.711,48,3.972,52,4.56,84,4.786,91,5.545,114,10.618,139,2.134,140,1.954,144,1.899,160,2.93,164,3.094,180,4.269,186,4.16,224,6.3,277,4.077,292,7.676,350,3.394,358,3.68,460,8.92,651,8.79,653,12.395,669,9.908,713,11.642,750,6.726,874,7.192,1142,8.92,1663,13.499,2045,11.249,2121,10.913,2628,12.705,2670,12.705,3729,13.496,3730,14.698,3731,20.737,3732,14.698,3733,14.698]],["keywords/371",[]],["title/372",[3734,1318.333]],["content/372",[7,6.752,115,10.065,140,2.064,144,2.564,160,3.094,162,3.529,164,4.177,180,4.508,186,4.393,279,7.36,376,4.337,698,9.08,744,9.379,1501,11.39,1666,7.528,2078,12.793,2109,8.82,2110,12.793,2113,7.159,3734,13.417,3735,12.793,3736,12.295,3737,11.88]],["keywords/372",[]],["title/373",[3738,1318.333]],["content/373",[7,6.422,18,6.93,52,3.75,59,4.862,91,4.164,115,7.156,139,1.603,140,1.467,144,2.373,151,4.288,160,2.2,162,2.963,164,3.866,180,3.205,186,3.123,194,3.397,219,5.652,230,4.862,279,5.842,333,5.449,376,3.084,447,4.117,535,13.269,646,6.89,673,5.05,698,7.208,744,7.445,752,5.306,758,8.213,1501,9.041,1803,14.925,2078,9.096,2109,9.346,2110,9.096,2113,7.265,2482,6.104,2593,8.194,3230,11.38,3263,12.056,3735,15.138,3736,8.742,3738,9.54,3739,21.284,3740,8.447,3741,12.983]],["keywords/373",[]],["title/374",[7,422.589]],["content/374",[7,6.766,50,5.075,69,8.732,119,7.415,138,5.708,140,1.941,153,5.814,167,7.344,185,7.081,194,4.494,265,7.407,274,8.274,339,8.732,437,7.642,593,8.609,673,6.681,698,10.307,750,6.681,1535,12.034,2109,9.846,2526,9.301,3263,14.599,3734,16.488,3738,16.488,3742,13.407,3743,14.601]],["keywords/374",[]],["title/375",[3724,815.315]],["content/375",[7,6.142,140,2.123,144,2.063,160,3.184,164,3.361,186,4.52,285,6.06,323,10.172,324,9.55,350,3.688,432,12.891,679,13.914,806,9.415,2109,6.439,2113,9.319,2466,12.222,3723,11.857,3724,12.846,3725,12.655,3744,12.649,3745,15.002,3746,15.969]],["keywords/375",[]],["title/376",[3727,864.282]],["content/376",[7,6.573,140,2.035,144,1.978,160,3.052,164,3.222,186,4.332,285,5.809,323,9.751,324,9.154,350,3.535,432,12.638,679,13.544,806,9.025,2109,6.172,2113,9.071,2466,11.716,2674,9.751,3725,12.318,3727,13.443,3744,12.125,3745,14.602,3747,14.056,3748,15.053,3749,13.232,3750,15.307]],["keywords/376",[]],["title/377",[3751,1101.818]],["content/377",[7,6.531,40,8.498,140,1.994,144,1.938,160,2.99,164,3.156,186,4.244,285,5.691,323,9.553,324,8.968,350,3.463,375,6.42,432,12.516,679,14.819,795,6.706,2017,11.478,2109,6.047,2113,9.925,2466,11.478,2674,9.553,3725,12.156,3744,11.879,3745,15.978,3748,16.47,3749,12.963,3751,15.547]],["keywords/377",[]],["title/378",[850,1318.333]],["content/378",[7,6.531,40,8.498,140,1.994,144,1.938,160,2.99,164,3.156,186,4.244,285,5.691,323,9.553,324,8.968,350,3.463,375,6.42,432,12.516,679,14.819,795,6.706,850,18.602,2017,11.478,2109,6.047,2113,9.925,2466,11.478,2674,9.553,3725,12.156,3744,11.879,3745,15.978,3748,16.47,3749,12.963]],["keywords/378",[]],["title/379",[3748,1167.278]],["content/379",[7,6.057,20,7.574,40,10.279,52,5.873,91,5.105,140,2.411,144,1.748,160,2.698,162,2.926,164,2.848,180,5.268,186,3.829,198,6.806,274,7.668,333,6.681,679,12.49,758,6.05,806,7.978,1837,9.775,2109,5.456,2113,8.365,2482,10.031,2652,12.888,2674,11.554,3139,10.356,3737,10.356,3745,13.467,3748,15.659,3752,11.696,3753,17.685,3754,15.678]],["keywords/379",[]],["title/380",[3736,1208.042]],["content/380",[7,6.057,20,7.574,40,10.279,52,5.873,59,5.961,91,5.105,140,2.411,144,1.748,160,2.698,162,2.926,164,2.848,180,5.268,186,3.829,198,6.806,274,7.668,333,6.681,679,12.49,758,6.05,806,7.978,2109,5.456,2113,8.365,2482,10.031,2652,12.888,2674,11.554,3139,10.356,3736,16.206,3737,10.356,3745,13.467,3752,11.696,3753,17.685,3754,15.678]],["keywords/380",[]],["title/381",[3755,1400.437]],["content/381",[7,5.983,20,7.349,40,10.072,52,5.837,91,4.954,140,2.363,144,1.696,160,2.618,162,2.867,164,2.764,180,5.162,186,3.716,198,6.604,217,5.733,274,7.441,333,6.483,758,5.871,806,7.741,2109,5.294,2113,8.198,2482,9.83,2493,8.675,2652,12.731,2674,11.322,2683,8.675,3139,10.049,3726,9.486,3737,10.049,3752,11.35,3753,17.417,3754,15.364,3755,18.502,3756,11.35,3757,16.321,3758,8.514,3759,10.822]],["keywords/381",[]],["title/382",[62,521.972]],["content/382",[7,4.523,20,9.136,52,5.33,62,7.011,140,2.17,144,2.109,160,3.254,164,4.312,186,4.619,375,8.77,446,10.115,689,12.493,698,7.469,883,10.06,2093,16.884,2113,7.528,2466,17.136,2683,10.785,3724,8.726,3757,14.988,3760,16.322,3761,16.322]],["keywords/382",[]],["title/383",[3263,1167.278]],["content/383",[7,6.182,18,6.725,40,8.59,52,3.608,59,6.678,91,3.948,139,2.201,140,1.391,144,1.959,151,4.066,160,2.086,162,1.688,164,3.191,180,3.039,186,2.961,194,3.22,217,3.375,219,5.439,230,4.61,243,5.786,244,5.786,265,3.441,279,5.622,333,5.166,447,3.903,535,12.878,646,7.332,673,4.788,698,6.936,752,5.03,758,7.971,1501,8.701,1543,5.753,1803,14.618,2078,8.624,2109,9.214,2113,6.992,2526,6.665,2593,7.769,2619,7.417,2674,9.656,3230,10.951,3263,14.959,3728,7.769,3735,12.494,3736,12.007,3739,20.982,3740,8.008,3762,10.463,3763,10.463,3764,15.158]],["keywords/383",[]],["title/384",[3765,1050.255]],["content/384",[5,2.663,31,9.255,52,2.967,75,5.704,108,7.94,120,6.894,130,4.31,140,2.608,143,3.819,144,1.611,160,3.42,162,3.574,164,4.128,167,9.866,186,3.528,189,4.963,194,3.836,208,2.521,240,5.812,262,8.236,322,5.616,376,5.481,447,4.649,596,8.584,676,5.091,686,8.886,695,6.814,698,5.704,701,9.005,754,7.565,775,4.16,1591,5.993,1666,8.319,1740,7.454,1834,8.063,2109,9.993,2110,10.274,3765,8.584,3766,17.154,3767,10.775,3768,10.274,3769,12.465,3770,12.465]],["keywords/384",[]],["title/385",[2109,480.814,3726,861.436]],["content/385",[5,2.872,144,2.391,221,8.974,460,11.23,1834,9.095,2109,9.887,2493,14.617,3726,15.982,3771,14.657]],["keywords/385",[]],["title/386",[3758,988.931]],["content/386",[120,8.294,139,2.178,140,1.994,144,1.938,160,2.99,180,4.355,186,4.244,217,4.837,221,9.413,340,5.295,350,4.482,362,7.21,375,6.42,643,6.757,875,7.543,924,9.101,1834,6.165,2109,9.736,2113,8.952,2965,10.834,3726,15.547,3751,10.834,3758,15.283,3771,11.879,3772,13.77,3773,11.478,3774,14.996,3775,11.879,3776,12.36]],["keywords/386",[]],["title/387",[3728,1132.359]],["content/387",[41,7.639,59,6.562,120,8.238,139,2.163,140,1.98,144,1.925,160,2.97,180,5.612,186,4.216,217,4.804,221,9.372,222,8.908,350,3.44,375,6.377,643,6.711,875,7.493,924,9.04,1834,6.124,2109,8.649,2113,9.893,2493,9.842,2827,11.401,2965,13.961,3728,14.348,3751,13.961,3756,16.704,3758,12.53,3771,11.799,3773,11.401,3775,11.799,3776,12.277,3777,13.678,3778,13.678]],["keywords/387",[]],["title/388",[2493,1007.71]],["content/388",[120,9.162,139,2.406,140,2.202,144,2.14,160,3.303,180,4.811,186,4.689,217,5.343,221,8.034,350,3.825,375,7.092,808,8.762,875,8.333,924,10.054,2109,9.089,2113,9.537,2493,14.894,2965,11.968,3751,11.968,3771,13.122,3772,15.212,3773,12.679,3775,13.122,3776,13.654]],["keywords/388",[]],["title/389",[3779,1400.437]],["content/389",[41,7.797,59,6.697,120,8.408,139,2.208,140,2.021,144,1.964,160,3.031,180,5.687,186,4.302,217,4.903,221,9.496,222,9.091,350,3.51,375,6.508,643,6.849,795,6.798,875,7.647,924,9.226,2109,8.734,2113,9.99,2493,10.045,2827,11.635,2965,10.983,3751,14.146,3756,16.926,3771,12.042,3773,11.635,3775,12.042,3776,12.53,3777,13.959,3778,13.959,3779,17.98]],["keywords/389",[]],["title/390",[3780,1400.437]],["content/390",[53,6.834,84,4.786,120,8.129,130,5.082,139,2.134,140,1.954,144,1.899,160,2.93,164,3.094,180,4.269,186,4.16,217,4.741,221,7.128,232,7.324,350,3.394,375,6.292,795,6.572,859,11.249,875,7.393,924,8.92,2109,8.594,2113,11.076,2683,9.711,2965,10.618,3751,13.84,3759,12.114,3773,11.249,3780,17.591,3781,14.698,3782,14.698,3783,21.312,3784,13.496,3785,12.705,3786,12.705,3787,12.705]],["keywords/390",[]],["title/391",[3788,1400.437]],["content/391",[37,4.589,120,7.529,139,2.645,140,1.81,144,1.759,160,2.714,180,5.289,186,3.853,217,5.874,221,6.602,222,8.141,350,4.205,375,5.828,652,7.052,795,6.087,808,7.2,875,6.848,920,8.391,1054,7.2,1834,5.597,2109,8.275,2113,11.393,2965,9.835,3111,10.42,3725,8.527,3727,7.715,3747,12.501,3751,13.157,3758,8.828,3773,10.42,3785,11.768,3786,11.768,3787,11.768,3788,16.723,3789,13.614,3790,11.768,3791,12.501,3792,13.614,3793,13.614,3794,13.614,3795,13.614,3796,13.614]],["keywords/391",[]],["title/392",[3797,1400.437]],["content/392",[130,6.918,221,9.703,632,9.97,2109,8.068,3111,15.313,3798,17.295]],["keywords/392",[]],["title/393",[3798,1318.333]],["content/393",[59,8.901,130,5.522,140,2.123,144,2.063,160,3.184,164,3.361,186,4.52,217,7.149,221,7.745,349,5.03,632,10.069,2109,6.439,2113,10.744,2683,10.552,3726,11.537,3758,10.355,3759,13.162,3785,13.804,3786,13.804,3787,13.804,3791,14.664,3797,14.664,3798,17.466,3799,15.969,3800,20.205]],["keywords/393",[]],["title/394",[1887,1257.008]],["content/394",[44,10.823,79,6.371,140,2.219,144,2.157,160,3.328,164,3.513,180,6.033,186,4.724,337,5.655,349,5.257,467,10.13,573,6.646,594,9.231,643,7.52,1887,18.642,2039,15.327,2084,14.428,2109,8.377,3724,11.106,3727,11.773,3801,16.691,3802,16.691]],["keywords/394",[]],["title/395",[2109,480.814,3803,1094.906]],["content/395",[5,2.971,203,10.848,208,3.872,355,11.448,791,13.183,1697,15.778,1822,17.578,1834,7.87,2109,7.719,3715,12.649,3803,17.578]],["keywords/395",[]],["title/396",[2113,703.416]],["content/396",[37,5.713,52,4.034,59,9.239,140,2.253,144,2.19,160,3.378,164,3.567,166,9.856,186,4.796,197,6.748,208,4.241,221,8.219,349,6.605,952,8.219,1834,6.967,2109,8.456,2113,10.503,3804,14.649,3805,16.946,3806,16.946]],["keywords/396",[]],["title/397",[3807,1318.333]],["content/397",[5,2.896,141,7.826,144,2.411,186,5.281,339,11.159,349,5.877,564,11.886,1242,10.086,1834,7.671,2113,10.255,2493,12.329,3807,16.13,3808,14.78]],["keywords/397",[]],["title/398",[3809,1050.255]],["content/398",[59,7.952,140,2.4,144,2.332,160,3.599,164,3.799,186,5.109,349,6.865,877,11.927,1834,7.421,2113,8.326,3682,14.878,3804,15.604,3807,15.604,3809,15.009,3810,18.051,3811,18.051]],["keywords/398",[]],["title/399",[3812,1400.437]],["content/399",[140,2.154,144,2.094,160,3.23,164,4.292,186,4.586,217,5.226,221,7.858,232,8.074,375,6.937,646,6.078,808,8.569,875,8.15,1213,10.148,2109,6.534,2113,9.405,3723,12.03,3724,8.662,3725,12.772,3727,11.556,3758,10.506,3812,21.504,3813,20.391,3814,16.203,3815,16.203]],["keywords/399",[]],["title/400",[208,241.161,2109,480.814]],["content/400",[5,3.24,52,4.968,78,6.309,137,5.786,140,2.236,157,7.883,166,9.781,208,4.8,325,9.653,349,6.574,358,4.211,376,4.699,675,9.531,855,8.753,1386,9.781,1834,6.914,2109,9.152,3459,10.905]],["keywords/400",[]],["title/401",[1714,790.05]],["content/401",[45,2.281,48,2.983,52,4.372,62,3.777,78,4.14,84,3.594,137,6.891,139,2.909,140,1.467,144,1.426,151,4.288,160,2.2,161,5.05,162,3.553,164,3.866,180,6.152,181,5.592,186,3.123,234,7.573,243,6.013,244,6.013,277,3.352,290,6.178,349,4.962,350,4.891,358,5.303,376,4.401,428,6.912,483,8.194,564,7.03,568,6.013,634,15.138,695,8.611,698,5.05,808,8.331,920,9.708,1200,7.152,1214,6.178,1714,10.972,2109,6.352,2287,7.639,3724,8.421,3727,8.926,3816,11.036,3817,10.134,3818,11.036,3819,11.036]],["keywords/401",[]],["title/402",[223,759.979]],["content/402",[45,2.103,48,2.75,52,4.176,62,3.482,78,5.572,84,4.837,137,7.057,139,3.111,140,1.353,141,4.267,144,1.315,151,3.954,160,2.028,161,4.656,162,3.456,164,3.692,180,6.424,181,5.273,186,2.88,223,7.402,234,9.273,243,3.884,277,3.161,290,5.695,349,4.679,350,5.108,358,4.392,376,4.151,428,6.373,439,11.175,442,6.271,513,8.883,564,6.481,568,5.67,634,14.459,695,10.545,698,4.656,711,14.322,722,9.815,808,5.381,920,9.155,1189,6.859,1200,6.744,1293,7.695,1714,5.271,2109,5.99,2287,4.934,3724,7.941,3727,8.418,3820,10.175,3821,10.175,3822,10.175]],["keywords/402",[]],["title/403",[3823,1400.437]],["content/403",[41,9.118,45,2.152,48,2.814,52,5.432,62,3.564,78,3.907,84,4.92,89,4.427,97,4.397,136,2.432,137,7.429,139,1.512,140,1.384,144,1.952,151,4.047,158,5.978,160,2.076,161,4.765,162,3.484,164,3.742,180,5.163,181,6.923,186,2.947,189,4.147,208,3.055,224,3.425,243,5.767,277,3.215,278,4.765,286,8.671,336,4.121,340,3.677,349,4.759,350,3.488,358,4.882,376,4.221,423,4.622,568,7.444,637,6.523,657,8.249,658,7.338,698,4.765,809,5.829,1167,10.403,1543,3.952,1729,7.971,2287,5.05,2420,7.971,2482,5.76,2619,5.095,2639,9.002,2652,6.14,2917,11.966,3459,6.753,3741,12.451,3823,13.872,3824,9.563,3825,9.563,3826,9.563,3827,9.563,3828,10.414,3829,10.414]],["keywords/403",[]],["title/404",[2113,703.416]],["content/404",[5,2.154,7,5.111,40,5.259,42,11.195,45,1.918,52,5.112,62,3.176,137,3.192,138,3.628,139,2.015,140,1.845,143,4.251,144,1.199,151,5.392,160,2.767,161,4.246,162,3.342,164,4.156,180,5.357,185,6.73,186,2.626,228,8.022,243,3.542,277,2.953,290,9.304,324,5.549,349,4.371,350,4.259,358,3.474,376,3.878,423,7.377,542,10.084,568,5.297,575,7.965,669,6.255,698,6.35,821,6.131,875,4.668,1113,8.839,1407,11.437,1414,7.35,1488,5.632,1791,6.39,2059,5.326,2113,9.556,2287,4.5,2482,9.193,2490,10.621,2652,5.471,2875,8.521,3109,8.022,3259,7.35,3682,11.437,3691,8.521,3724,7.418,3727,7.864,3830,18.199,3831,11.437,3832,9.28,3833,13.877,3834,9.28,3835,15.263]],["keywords/404",[]],["title/405",[3836,1400.437]],["content/405",[45,2.52,52,5.232,62,5.782,137,4.194,139,1.77,140,1.621,143,3.735,144,1.575,151,4.737,160,2.43,161,5.578,162,3.761,164,4.08,180,5.63,186,3.45,208,2.466,230,5.37,243,6.448,277,3.595,349,6.106,350,4.476,358,5.24,376,4.72,483,9.051,568,6.448,646,4.573,748,8.59,750,5.578,771,10.047,803,6.589,808,6.447,830,8.055,843,7.513,920,7.513,1741,9.656,2105,10.102,2113,5.623,2287,5.912,2922,13.923,3476,10.954,3724,9.031,3725,7.635,3836,15.512,3837,10.538,3838,15.512]],["keywords/405",[]],["title/406",[3230,1101.818]],["content/406",[41,6.856,45,2.763,52,5.404,62,4.575,84,5.859,89,5.683,137,4.599,139,1.941,140,1.777,143,4.095,144,1.727,151,5.194,160,2.665,161,6.117,162,3.854,164,4.28,180,5.225,186,3.783,243,6.867,277,3.828,286,10.326,349,5.667,350,4.154,358,5.091,376,5.027,568,7.762,809,7.482,1167,12.389,2113,6.165,2224,8.668,2287,6.483,2639,11.555,3230,12.997,3459,8.668,3839,11.018]],["keywords/406",[]],["title/407",[3840,1400.437]],["content/407",[41,6.287,45,2.534,52,5.243,59,5.4,62,5.804,84,6.331,89,5.211,137,4.217,139,1.78,140,1.63,143,3.756,144,1.584,151,4.763,160,4.391,161,5.609,162,3.675,163,6.052,164,4.092,180,5.646,186,3.469,208,2.479,243,6.473,244,6.473,277,3.608,286,9.733,349,6.608,350,4.489,358,5.252,376,4.738,568,6.473,809,6.861,2113,7.821,2224,7.948,2287,5.945,2619,5.998,2683,8.099,3459,7.948,3839,10.103,3840,15.571,3841,12.258]],["keywords/407",[]],["title/408",[3735,1257.008]],["content/408",[41,7.296,45,2.94,52,5.517,62,4.869,84,6.107,89,6.048,137,4.894,139,2.066,140,1.891,143,4.358,151,5.528,160,2.836,161,6.51,162,3.914,164,4.415,180,5.446,277,3.99,286,10.763,349,5.906,350,4.33,358,5.252,376,5.24,568,7.158,809,7.963,2109,5.736,2113,6.561,2287,6.899,3459,9.224,3740,10.888]],["keywords/408",[]],["title/409",[3842,1400.437]],["content/409",[41,6.774,45,2.73,52,5.382,62,4.52,84,5.811,89,5.615,137,4.544,139,1.918,140,1.756,143,4.047,144,1.707,151,5.132,160,2.633,161,6.044,162,3.842,164,4.254,180,5.183,186,3.738,243,6.812,244,6.812,277,3.797,286,10.243,349,5.621,350,4.121,358,5.06,376,4.987,568,7.715,809,7.393,2109,5.326,2113,6.092,2224,8.564,2287,6.405,2619,8.732,3459,8.564,3842,16.386,3843,10.886]],["keywords/409",[]],["title/410",[3844,1400.437]],["content/410",[41,5.078,45,2.047,52,5.636,62,4.983,84,4.742,89,4.21,137,3.406,139,2.508,140,1.316,143,3.034,144,1.279,151,3.848,159,5.413,160,1.974,161,4.531,162,3.538,164,4.27,180,5.53,186,2.802,208,2.945,217,4.696,243,5.558,244,5.558,277,3.099,286,8.358,349,5.997,350,4.397,358,5.079,376,4.069,568,5.558,646,3.715,651,5.922,652,5.129,803,10.292,809,5.542,840,8.974,920,6.103,1036,6.675,1264,10.027,2105,12.688,2109,3.993,2113,4.567,2224,6.421,2287,4.802,2619,7.125,2925,7.154,3459,6.421,3532,8.559,3580,7.843,3724,7.784,3727,8.252,3844,13.371,3845,8.161,3846,11.144,3847,12.587,3848,8.559,3849,12.587]],["keywords/410",[]],["title/411",[3830,1257.008]],["content/411",[5,2.567,7,6.241,40,9.373,45,1.902,52,5.362,62,5.66,137,3.166,138,3.598,139,2.402,140,1.833,143,4.225,144,1.782,151,3.576,160,2.749,161,4.211,162,3.332,164,4.347,180,5.335,185,4.463,186,2.604,208,1.861,219,4.948,231,7.955,235,8.45,243,5.264,277,2.935,324,5.503,336,3.642,349,4.344,350,4.242,358,3.453,376,3.853,423,7.34,568,5.264,646,5.173,669,6.203,698,6.31,1113,8.784,1476,5.151,1488,8.37,1543,3.492,1791,6.337,2059,5.282,2287,4.463,2482,10.16,2651,6.485,2652,9.751,2917,7.289,2925,6.648,3724,7.372,3727,7.815,3737,7.043,3830,18.154,3831,11.366,3835,20.225,3850,9.202,3851,9.202]],["keywords/411",[]],["title/412",[3740,1167.278]],["content/412",[45,2.651,51,4.652,52,5.09,62,4.39,137,4.412,139,2.54,140,1.705,144,1.657,151,4.984,158,5.076,160,2.557,161,5.869,162,3.726,164,4.19,180,5.782,186,3.63,243,6.677,244,6.677,277,3.722,349,5.51,350,4.597,358,4.38,376,4.888,568,7.599,643,5.779,683,9.816,803,9.455,806,7.562,920,7.905,2105,10.461,2287,6.22,2482,7.094,2493,8.474,2619,8.559,2925,9.266,3580,10.159,3724,9.352,3727,9.913,3740,13.389]],["keywords/412",[]],["title/413",[3843,1257.008]],["content/413",[45,2.651,51,4.652,52,5.09,62,4.39,137,4.412,139,2.54,140,1.705,144,1.657,151,4.984,158,5.076,160,2.557,161,5.869,162,3.726,164,4.19,180,5.782,186,3.63,243,6.677,244,6.677,277,3.722,349,5.51,350,4.597,358,4.38,376,4.888,568,7.599,643,5.779,683,9.816,803,9.455,806,7.562,920,7.905,2105,10.461,2287,6.22,2482,7.094,2619,8.559,2925,9.266,3580,10.159,3724,9.352,3727,9.913,3758,8.317,3843,14.418]],["keywords/413",[]],["title/414",[3852,1400.437]],["content/414",[45,2.682,52,4.768,62,4.441,137,4.464,140,1.725,144,1.677,151,5.042,158,5.135,160,2.587,161,5.938,162,3.892,164,4.523,180,6.241,186,3.672,243,6.73,244,6.73,277,3.752,349,5.554,350,4.625,351,6.791,358,5.626,376,4.927,425,10.396,568,7.645,795,5.802,2045,9.931,2287,6.293,2482,7.177,2619,8.627,3831,14.533,3852,16.191,3853,12.976,3854,16.191]],["keywords/414",[]],["title/415",[3855,1400.437]],["content/415",[41,6.897,45,2.78,52,5.415,62,4.603,84,5.883,89,5.718,137,4.626,139,1.953,140,1.788,143,4.12,144,1.738,151,5.226,160,2.681,161,6.154,162,3.778,164,4.293,180,5.246,186,3.806,243,6.895,244,6.895,277,3.844,286,10.368,349,5.69,350,4.171,358,5.106,376,5.048,568,7.786,809,7.528,2224,8.72,2287,6.522,2619,8.838,3459,8.72,3740,10.293,3855,16.587]],["keywords/415",[]],["title/416",[3856,1400.437]],["content/416",[41,6.897,45,2.78,52,5.415,62,4.603,84,5.883,89,5.718,137,4.626,139,1.953,140,1.788,143,4.12,144,1.738,151,5.226,160,2.681,161,6.154,162,3.778,164,4.293,180,5.246,186,3.806,243,6.895,244,6.895,277,3.844,286,10.368,349,5.69,350,4.171,358,5.106,376,5.048,568,7.786,697,6.83,2224,8.72,2287,6.522,2619,8.838,3459,8.72,3843,11.084,3856,16.587]],["keywords/416",[]],["title/417",[3857,1400.437]],["content/417",[41,5.147,45,2.074,52,5.652,62,5.033,84,4.789,89,4.267,137,3.453,139,2.528,140,1.334,143,3.075,144,1.297,151,3.9,159,5.487,160,2.001,161,4.593,162,3.439,164,4.294,180,5.566,186,2.84,208,2.974,217,4.743,243,5.613,244,5.613,277,3.129,286,8.441,349,6.036,350,4.425,358,5.107,376,4.109,568,5.613,646,3.765,651,6.002,652,5.199,803,10.358,809,5.618,840,9.064,920,6.186,1036,6.765,1264,10.127,2105,12.749,2224,6.508,2287,4.867,2619,7.195,2925,7.251,3459,6.508,3532,8.676,3580,7.95,3724,7.862,3727,8.334,3845,8.272,3846,11.255,3847,12.712,3848,8.676,3849,12.712,3857,13.504]],["keywords/417",[]],["title/418",[3858,1400.437]],["content/418",[5,1.009,7,3.669,45,2.174,48,4.515,52,4.948,62,3.599,63,13.019,84,5.822,137,2.237,138,2.542,139,0.944,140,2.605,141,2.727,143,1.992,144,1.359,151,6.947,160,3.906,161,4.812,162,3.495,164,4.636,180,5.192,185,3.153,186,1.84,208,2.127,224,4.355,243,4.014,244,2.482,256,3.656,273,4.268,277,3.238,292,6.097,340,2.296,349,6.696,350,3.513,358,5.067,375,4.502,376,5.474,568,5.808,628,4.703,669,4.383,698,6.962,746,3.514,849,5.193,882,6.699,883,6.482,1113,4.142,1297,5.013,1386,3.781,2014,7.92,2024,13.273,2284,8.668,2285,8.668,2286,8.668,2289,8.668,2290,8.668,2299,5.359,2487,4.383,2619,3.181,2634,5.359,2879,8.436,2943,12.675,3476,4.216,3723,4.827,3724,3.476,3725,6.587,3727,5.96,3808,8.33,3858,9.657,3859,6.502,3860,5.359,3861,5.62,3862,5.62,3863,5.62,3864,5.62,3865,5.62,3866,5.62,3867,5.62,3868,5.62]],["keywords/418",[]],["title/419",[3869,1318.333]],["content/419",[5,0.992,7,4.173,45,2.143,48,4.793,52,4.92,62,3.549,63,12.946,84,5.775,137,2.198,138,2.498,139,0.928,140,2.587,143,1.957,144,1.34,151,6.891,160,3.88,161,4.745,162,3.478,164,4.615,180,5.15,186,1.808,208,2.097,224,4.303,243,2.439,244,2.439,256,3.604,273,4.208,277,3.205,292,6.635,340,2.256,349,6.661,350,3.478,358,4.677,375,5.603,376,5.438,568,5.749,628,4.637,669,4.307,698,6.891,746,3.453,806,3.767,830,4.222,849,5.12,882,6.605,883,6.391,1113,4.07,1297,4.943,1386,3.716,2014,7.826,2024,13.167,2045,7.936,2284,8.546,2285,8.546,2286,8.546,2289,8.546,2290,8.546,2299,5.266,2487,4.307,2619,3.126,2634,5.266,2879,9.593,2911,5.523,2943,12.599,3439,5.523,3723,4.744,3724,3.416,3725,6.495,3727,5.876,3808,8.213,3860,5.266,3861,5.523,3862,5.523,3863,5.523,3864,5.523,3865,5.523,3866,5.523,3867,5.523,3868,5.523,3869,11.312,3870,6.389]],["keywords/419",[]],["title/420",[3871,1400.437]],["content/420",[5,1.009,7,3.669,29,2.526,45,2.174,48,4.831,52,4.948,62,3.599,63,13.019,84,5.822,137,2.237,138,2.542,139,0.944,140,2.605,143,3.222,144,1.359,151,6.947,160,3.906,161,4.812,162,3.553,164,4.636,180,5.192,186,1.84,208,1.315,224,4.355,243,2.482,244,2.482,256,3.656,273,4.268,277,3.238,292,6.097,340,2.296,349,6.696,350,3.513,358,4.711,375,4.502,376,5.474,568,5.808,628,4.703,669,4.383,698,6.962,746,3.514,849,5.193,882,6.699,883,6.482,950,4.581,1113,4.142,1297,5.013,1386,3.781,2014,7.92,2024,13.273,2113,2.999,2284,8.668,2285,8.668,2286,8.668,2289,8.668,2290,8.668,2299,5.359,2487,4.383,2619,3.181,2634,5.359,2879,9.692,2943,12.27,3723,4.827,3724,3.476,3725,6.587,3727,5.96,3808,8.33,3860,5.359,3861,5.62,3862,5.62,3863,5.62,3864,5.62,3865,5.62,3866,5.62,3867,5.62,3868,5.62,3869,5.62,3871,9.657,3872,6.502]],["keywords/420",[]],["title/421",[3873,1400.437]],["content/421",[5,2.208,20,7.963,45,2.94,48,3.845,52,3.386,137,6.451,140,1.891,144,1.838,160,2.836,161,6.51,162,3.839,164,4.693,185,6.899,186,4.026,243,5.43,259,6.361,277,4.464,333,7.024,349,4.481,358,5.252,392,10.024,513,13.335,568,5.43,647,8.062,676,5.81,1022,10.888,1574,10.888,1588,8.165,1824,18.132,3873,13.063,3874,18.751,3875,14.226]],["keywords/421",[]],["title/422",[3837,1318.333]],["content/422",[5,1.903,45,2.534,52,5.243,62,4.195,137,4.217,139,1.78,140,1.63,144,1.584,151,4.763,160,2.444,161,5.609,162,3.675,164,4.092,180,5.646,186,3.469,208,2.479,243,6.473,277,3.608,349,6.608,350,4.489,358,4.867,376,4.738,568,6.473,646,4.598,748,8.638,750,5.609,752,5.893,796,9.382,803,6.626,808,8.968,830,8.099,843,7.555,920,7.555,1741,9.709,2105,11.627,2287,5.945,2922,16.024,3476,10.996,3724,9.065,3725,7.677,3837,14.658,3838,15.571,3876,12.258]],["keywords/422",[]],["title/423",[3845,1257.008]],["content/423",[45,2.183,52,5.642,62,5.224,137,3.634,139,2.217,140,1.404,144,1.365,151,4.104,159,5.774,160,2.106,161,4.833,162,3.501,164,4.383,180,5.205,186,2.989,208,3.087,217,4.923,243,5.826,244,5.826,277,3.248,349,6.559,350,4.138,358,5.213,376,4.265,568,5.826,646,3.963,651,6.317,652,5.472,671,4.688,803,11.255,806,6.228,808,9.478,840,9.407,920,6.51,1036,7.12,1264,10.511,2105,13.381,2287,5.123,2619,7.468,2925,7.631,3724,8.16,3727,8.65,3845,12.58,3846,11.682,3847,13.194,3848,9.131]],["keywords/423",[]],["title/424",[3877,1400.437]],["content/424",[7,6.073,27,8.962,59,6.866,139,2.889,140,1.446,144,1.405,151,4.225,160,2.168,162,1.754,164,2.289,180,4.526,186,3.077,208,3.684,243,8.365,244,7.594,305,8.832,336,4.303,349,4.909,358,3.902,573,6.206,698,7.132,1041,6.206,1324,8.613,1543,4.127,1588,11.419,1834,8.179,2091,12.066,2092,9.985,2097,12.846,2113,7.188,2470,6.811,2476,9.4,2482,6.014,2619,5.321,2620,8.323,2621,9.4,2683,7.185,2691,9.985,2714,11.929,2942,9.985,3396,8.074,3759,8.962,3877,19.339,3878,10.874,3879,8.962,3880,10.874,3881,10.874,3882,10.874,3883,15.585,3884,10.874,3885,10.874,3886,10.874,3887,10.874]],["keywords/424",[]],["title/425",[1459,1208.042]],["content/425",[7,4.926,29,4.047,45,2.152,52,5.537,62,3.564,139,3.235,140,1.384,144,1.346,151,4.047,160,2.076,161,4.765,162,3.484,164,3.742,180,3.024,186,2.947,201,9.504,204,6.345,208,2.106,219,5.421,230,6.655,232,5.189,243,5.767,244,3.975,277,3.215,333,5.142,336,4.121,349,6.802,350,3.488,358,3.782,376,4.221,568,5.767,573,4.147,646,7.316,803,8.166,806,12.732,808,5.508,1041,4.147,1459,11.966,1543,3.952,1834,6.211,1972,9.002,2045,7.971,2091,8.076,2105,13.323,2619,5.095,2714,7.971,3888,10.414,3889,10.414,3890,9.563,3891,9.563]],["keywords/425",[]],["title/426",[3892,1400.437]],["content/426",[41,7.538,45,3.038,59,6.475,139,2.782,140,1.954,144,1.899,160,2.93,161,6.726,162,3.874,164,4.486,180,5.564,186,4.16,187,5.361,243,5.61,244,5.61,277,4.077,350,4.424,358,4.796,877,9.711,920,11.807,2625,12.114,3724,10.241,3727,10.856,3744,15.174,3892,19.57,3893,14.698,3894,12.705,3895,12.705]],["keywords/426",[]],["title/427",[52,363.045]],["content/427",[41,9.715,45,2.413,52,5.765,62,3.996,78,4.38,84,5.338,89,4.964,97,4.93,137,4.017,139,1.696,140,1.552,144,2.118,151,4.537,158,6.487,160,2.328,161,5.343,162,3.619,164,3.987,180,4.761,186,3.305,208,2.362,224,3.84,243,6.257,244,6.257,277,3.488,286,9.409,336,4.621,349,5.163,350,3.785,358,5.143,376,4.581,423,5.182,568,7.231,637,7.313,809,6.536,1543,4.431,1729,8.937,2224,7.571,2287,5.663,2420,8.937,2482,6.458,2619,8.021,2652,6.884,3459,7.571,3741,13.511,3824,10.722,3825,10.722,3826,10.722,3827,10.722]],["keywords/427",[]],["title/428",[65,787.86,2109,480.814]],["content/428",[5,2.825,64,6.197,65,14.473,203,10.314,2109,9.475,2866,15,2910,15.732,3715,14.473,3896,16.712,3897,18.199,3898,16.712,3899,15.732,3900,18.199]],["keywords/428",[]],["title/429",[1666,739.633]],["content/429",[1,2.156,2,5.404,5,3.462,7,1.89,35,3.454,52,3.724,59,4.816,75,3.122,89,2.9,91,4.125,96,4.14,102,2.109,110,4.273,139,3.239,140,1.453,141,4.585,142,3.432,144,2.021,145,6.211,150,3.005,160,1.36,162,1.764,164,2.879,173,2.941,180,1.981,181,3.881,186,1.931,196,4.852,202,6.432,204,2.435,206,5.623,208,2.211,225,3.365,227,2.848,231,5.897,240,3.704,252,3.198,256,2.371,265,2.243,279,2.53,295,9.45,297,6.264,308,5.404,321,3.05,337,2.311,349,3.443,350,1.575,352,5.144,353,2.9,362,3.28,376,3.055,443,3.687,455,3.819,494,3.773,564,8.714,573,2.717,628,3.05,676,2.786,700,5.661,775,2.277,812,3.729,813,3.005,1029,5.221,1041,2.717,1072,5.065,1146,3.338,1162,6.446,1287,5.211,1297,3.252,1462,4.599,1488,4.14,1568,4.698,1587,3.647,1606,5.909,1614,6.847,1666,10.815,1718,9.883,1740,6.538,1764,5.404,1834,2.805,1837,7.898,1925,5.623,2109,4.408,2264,8.117,2369,8.659,2426,5.221,2511,5.623,2859,4.508,2860,5.404,2936,6.264,3632,4.022,3765,7.528,3901,6.264,3902,6.822,3903,6.822,3904,9.01,3905,5.897,3906,10.932,3907,10.932,3908,10.932,3909,6.822,3910,6.822,3911,5.897,3912,6.822,3913,6.822,3914,10.932,3915,6.822,3916,6.822,3917,6.822,3918,5.623,3919,5.404,3920,6.822,3921,5.404,3922,6.822,3923,6.822,3924,6.822,3925,6.822,3926,10.932,3927,6.822,3928,10.932,3929,6.822,3930,6.822,3931,6.822,3932,6.822]],["keywords/429",[]],["title/430",[3904,1257.008]],["content/430",[5,3.066,41,7.905,59,8.703,94,9.088,102,4.766,120,8.525,139,3.339,140,2.049,144,1.992,150,9.605,158,6.1,160,3.073,164,3.244,186,4.362,345,8.067,349,6.223,700,6.378,952,7.475,1571,11.136,1666,7.475,2152,10.861,3765,13.604,3904,12.704,3918,12.704,3921,12.209,3933,15.413,3934,15.413,3935,15.413,3936,16.282]],["keywords/430",[]],["title/431",[2860,1208.042]],["content/431",[5,2.862,59,10.125,102,4.288,120,7.671,139,2.678,140,1.844,144,1.792,145,8.372,153,5.523,158,5.489,160,2.765,164,2.919,180,4.028,186,3.925,219,4.977,256,4.821,322,6.249,349,6.525,358,3.472,376,5.153,855,7.733,1162,8.177,1175,11.324,1237,11.739,1316,8.835,1571,10.02,1666,6.726,1740,8.294,2077,12.736,2152,9.773,2264,10.298,2860,10.986,3765,12.698,3839,11.431,3918,11.431,3937,13.869,3938,13.869,3939,13.869,3940,12.736]],["keywords/431",[]],["title/432",[938,955.22]],["content/432",[5,3.108,48,4.254,59,6.935,102,4.867,120,8.707,139,2.908,140,2.093,144,2.034,158,6.23,160,3.138,180,4.572,186,4.455,349,4.959,350,3.635,855,6.602,938,15.317,1571,11.373,1666,7.635,2113,9.235,2152,11.093,2264,11.688,2884,11.688,3765,13.788,3941,14.455,3942,15.742,3943,15.742,3944,15.742]],["keywords/432",[]],["title/433",[3945,1318.333]],["content/433",[130,6.093,140,2.343,160,3.513,180,5.117,195,10.694,262,11.643,336,6.973,646,6.61,724,8.863,746,9.524,855,9.717,1666,10.417,2459,11.742,3946,17.703,3947,17.62,3948,16.18]],["keywords/433",[]],["title/434",[3946,1257.008]],["content/434",[5,2.815,37,4.561,59,7.99,102,4.184,120,7.484,139,3.31,140,1.799,142,6.806,144,1.748,158,5.355,160,2.698,164,2.848,170,12.226,179,6.742,186,3.829,217,4.364,219,4.855,336,5.355,349,5.713,614,7.009,646,6.804,700,5.599,724,6.806,746,7.314,855,7.607,952,6.562,1203,11.984,1571,9.775,1666,9.922,1803,9.534,2152,9.534,2459,7.397,3765,12.49,3804,11.696,3911,11.696,3945,15.678,3946,16.863,3948,16.655,3949,12.425,3950,12.425,3951,13.53]],["keywords/434",[]],["title/435",[3768,1257.008]],["content/435",[41,7.488,59,10.296,64,4.972,139,3.085,140,1.941,144,1.887,145,8.66,160,2.911,180,5.54,186,4.132,256,5.075,286,8.381,349,4.599,350,4.906,376,4.08,378,9.595,749,8.492,809,10.677,1162,8.609,1524,11.565,1666,7.081,1740,11.407,2264,10.841,2356,6.734,3724,7.806,3765,10.055,3768,12.034,3901,13.407,3918,12.034,3952,14.601,3953,13.407,3954,14.601,3955,14.601,3956,14.601]],["keywords/435",[]],["title/436",[224,501.519]],["content/436",[5,3.108,59,6.935,102,4.867,120,8.707,139,2.908,140,2.093,144,2.034,158,6.23,160,3.138,180,4.572,186,4.455,224,8.171,349,4.959,350,3.635,855,6.602,1571,11.373,1666,7.635,2014,9.414,2113,9.235,2152,11.093,2264,11.688,2884,11.688,3765,13.788,3941,14.455,3957,15.742,3958,15.742]],["keywords/436",[]],["title/437",[2109,480.814,2357,787.86]],["content/437",[5,2.825,42,11.046,208,3.681,221,8.826,349,5.733,671,8.077,980,13.929,1834,7.482,2109,7.339,2357,15.526,3717,13.513,3959,15,3960,16.712,3961,12.268,3962,12.824]],["keywords/437",[]],["title/438",[2357,1007.71]],["content/438",[42,9.98,108,10.474,140,2.186,160,3.278,164,4.332,178,9.563,221,7.975,643,7.409,980,12.585,2109,9.493,2357,16.578,3723,12.209,3724,8.791,3726,11.88,3727,11.663,3959,13.553,3960,15.099,3961,11.084,3962,11.587]],["keywords/438",[]],["title/439",[3963,1400.437]],["content/439",[29,6.934,42,10.83,59,10.493,139,1.918,140,1.756,144,1.707,160,2.633,164,4.254,180,5.183,186,3.738,217,4.26,350,3.05,375,7.64,460,13.137,790,6.708,808,9.438,809,7.393,1141,13.658,2093,14.708,2224,8.564,2357,14.938,2482,9.87,2652,7.787,2674,8.413,2933,11.417,3014,11.367,3717,13.25,3895,11.417,3961,12.029,3962,12.575,3963,16.386,3964,12.128,3965,13.208,3966,13.208,3967,13.208]],["keywords/439",[]],["title/440",[3968,1318.333]],["content/440",[29,6.121,42,9.56,45,2.281,52,4.768,59,9.331,62,3.777,137,3.797,139,1.603,140,1.467,144,1.426,151,4.288,153,4.395,160,2.2,161,5.05,162,3.553,164,4.458,180,5.334,186,3.123,208,2.232,217,3.56,243,6.013,244,6.013,277,3.352,349,3.476,350,3.637,358,4.598,375,6.743,376,4.401,460,12.157,568,6.013,790,8,795,4.935,808,5.837,809,8.817,920,6.802,980,8.447,1141,8.447,2093,12.983,2287,7.639,2357,13.235,2482,8.712,2619,5.4,2620,8.447,2652,6.507,2674,7.03,2933,9.54,3014,10.034,3717,8.194,3895,9.54,3961,10.618,3962,11.099,3968,13.616]],["keywords/440",[]],["title/441",[2358,1318.333]],["content/441",[5,1.822,7,5.264,42,9.986,45,2.426,136,3.843,138,4.589,140,2.187,143,3.596,144,1.517,160,3.28,161,5.371,162,3.497,164,4.563,186,3.322,217,3.786,237,8.984,242,6.652,243,4.481,329,6.275,331,5.371,349,3.697,460,12.496,513,12.312,573,4.674,646,4.403,698,7.529,790,8.356,795,7.357,920,10.141,1041,4.674,1834,8.912,2357,13.604,2358,16.422,2714,8.984,3014,10.481,3817,17.444,3894,10.147,3961,11.091,3962,11.594,3969,11.738,3970,10.779,3971,11.738,3972,11.738,3973,11.738,3974,11.738,3975,11.738]],["keywords/441",[]],["title/442",[2359,1318.333]],["content/442",[5,1.808,7,5.487,42,9.934,45,2.408,46,4.919,52,4.714,62,2.53,136,2.721,137,2.543,138,2.889,140,1.917,143,2.264,144,1.863,151,2.872,160,2.875,161,5.331,162,3.487,164,4.786,173,3.187,180,3.384,186,2.092,208,2.356,217,2.384,242,4.189,243,4.447,244,2.821,277,2.479,279,2.741,282,4.42,327,4.088,329,6.228,331,5.331,336,2.925,349,5.61,350,3.779,358,2.917,376,3.256,423,5.171,460,12.455,513,14.386,568,4.447,573,2.943,669,4.982,674,4.189,698,5.331,790,8.312,795,8.46,808,7.627,1041,2.943,1543,2.805,1791,5.09,1834,7.322,2287,3.584,2357,12.502,2359,10.071,2714,5.657,3014,10.426,3439,6.389,3724,6.228,3727,6.603,3961,11.033,3962,11.533,3970,10.698,3976,11.651,3977,11.651,3978,6.389,3979,7.391,3980,10.698,3981,6.787,3982,7.391]],["keywords/442",[]],["title/443",[3983,1400.437]],["content/443",[29,9.033,40,6.833,139,1.751,140,1.603,141,9.75,144,1.558,160,2.404,164,4.384,180,4.869,186,3.413,217,7.061,219,4.327,230,5.312,232,6.008,256,6.699,350,2.784,460,14.387,790,10.579,806,7.109,808,6.377,1141,9.229,2357,14.974,2482,9.272,2674,7.681,3014,13.269,3717,8.953,3724,8.962,3725,7.552,3860,9.938,3983,17.697,3984,19.272,3985,15.394]],["keywords/443",[]],["title/444",[3986,1400.437]],["content/444",[5,1.289,7,5.501,29,6.036,40,7.23,43,5.488,45,1.717,46,3.507,52,4.726,62,4.366,137,2.857,138,3.247,139,1.206,140,1.696,141,8.948,143,2.545,144,1.073,151,3.227,160,2.543,161,3.8,162,3.203,163,4.101,164,4.606,180,3.705,186,2.351,198,4.178,208,1.68,217,6.066,219,2.98,232,4.139,243,5.929,244,5.929,256,6.058,277,2.715,336,3.287,349,2.616,350,2.946,358,3.889,376,3.565,423,3.686,447,3.098,460,12.949,568,4.87,646,4.786,669,5.599,698,5.838,790,8.852,806,4.897,809,7.141,1141,6.357,1543,3.152,1791,5.72,2287,4.028,2357,13.118,2482,10.402,2652,7.522,2925,9.217,3014,11.103,3717,6.167,3724,6.82,3725,5.202,3737,6.357,3808,6.579,3849,7.179,3968,7.179,3978,13.428,3981,7.627,3985,11.715,3986,14.264,3987,12.758,3988,18.807]],["keywords/444",[]],["title/445",[3989,1400.437]],["content/445",[29,6.031,140,2.064,144,2.006,160,3.094,164,4.852,186,4.393,217,5.006,460,13.991,790,7.883,795,6.94,806,11.7,1113,9.887,1141,11.88,2357,13.111,2482,10.975,2674,9.887,3014,12.64,3717,11.524,3725,9.722,3854,18.221,3964,14.253,3989,14.253,3990,19.635]],["keywords/445",[]],["title/446",[136,278.481,144,154.065]],["content/446",[7,4.035,35,2.186,93,6.819,94,5.838,136,2.313,139,3.185,144,1.279,145,8.645,150,6.415,153,3.943,170,11.641,179,8.606,204,3.534,217,6.843,219,3.553,243,6.592,244,6.592,256,3.442,336,3.919,345,5.182,350,2.286,376,2.767,504,9.092,646,5.462,700,4.098,746,5.352,796,7.579,809,5.542,855,4.153,889,8.161,1162,5.838,1203,9.621,1316,6.307,1516,10.26,1666,7.062,1740,11.386,1803,6.977,1834,4.071,2072,6.421,2113,6.716,2459,5.413,2493,9.621,2860,7.843,3230,12.476,3728,10.811,3748,11.144,3758,6.421,3765,13.112,3768,8.161,3809,6.819,3839,12.001,3904,8.161,3911,12.587,3945,8.559,3946,12.001,3949,9.092,3950,9.092,3953,9.092,3991,9.902,3992,9.902,3993,9.902,3994,9.902,3995,9.902,3996,9.902,3997,9.902,3998,19.04,3999,14.561,4000,9.902,4001,9.902,4002,9.902,4003,9.902,4004,9.902]],["keywords/446",[]],["title/447",[1158,1400.437]],["content/447",[]],["keywords/447",[]],["title/448",[11,496.721,325,684.396]],["content/448",[1,3.061,3,9.027,5,2.409,7,4.301,11,8.266,35,3.427,50,5.395,89,6.599,139,2.882,225,6.732,256,5.395,325,8.909,533,16.741,571,6.692,620,9.888,676,6.34,719,12.295,750,7.102,758,6.94,1176,9.566,1344,12.793,1474,10.937,1568,10.689,1606,8.39,1689,11.88,1707,13.417,1850,11.88,1908,10.463,4005,15.521,4006,15.521,4007,13.417]],["keywords/448",[]],["title/449",[4008,1525.086]],["content/449",[11,5.312,18,4.811,37,4.299,89,5.421,95,11.023,106,6.817,117,8.986,118,8.986,119,6.476,122,11.709,129,7.053,130,6.863,131,7.859,132,8.986,133,11.099,135,7.626,195,7.739,202,5.242,225,3.925,272,7.319,273,5.175,289,15.062,302,6.078,307,7.053,320,7.739,408,7.739,443,6.893,493,8.426,533,9.76,566,9.76,758,5.702,929,8.426,1023,11.709,1165,13.668,1169,8.426,1175,6.971,1176,7.859,1381,11.709,1543,6.612,1563,9.468,1574,9.76,1674,9.468,1689,9.76,1696,11.709,2060,7.987,2490,9.76,2717,9.468,2987,15.062,4009,17.424,4010,12.752,4011,12.752,4012,11.709,4013,17.424,4014,12.752,4015,12.752,4016,12.752,4017,12.752,4018,12.752,4019,12.752]],["keywords/449",[]],["title/450",[285,452.499,4020,861.436]],["content/450",[]],["keywords/450",[]],["title/451",[1,125.581,5,98.835,136,148.708,225,195.97,278,291.357,4020,460.004]],["content/451",[1,4.078,5,3.21,35,4.977,37,5.584,45,3.424,136,5.265,142,8.333,208,4.559,221,10.028,278,10.315,280,12.95,281,12.679,332,9.162,338,8.762,1162,9.767,4020,14.938]],["keywords/451",[]],["title/452",[1,142.14,50,250.501,136,168.317,568,275.096,4020,520.661]],["content/452",[1,3.368,5,2.651,35,3.77,45,3.53,50,7.324,136,5.337,143,5.232,189,6.8,203,11.94,221,8.282,331,7.814,338,9.032,563,9.032,568,8.043,2319,10.364,2419,12.679,4020,12.337,4021,15.681,4022,17.077,4023,15.681]],["keywords/452",[]],["title/453",[1,163.73,50,288.55,568,316.881,4020,599.745]],["content/453",[5,2.611,35,3.713,45,4.314,58,9.128,136,4.875,143,5.153,189,6.697,203,11.828,221,8.156,331,7.696,337,5.698,338,8.895,447,6.273,568,7.967,695,9.194,2319,10.207,2419,12.487,4020,15.079,4021,15.443,4023,15.443,4024,16.818]],["keywords/453",[]],["title/454",[51,261.426,255,437.393,285,273.495,840,444.178,4025,570.857]],["content/454",[35,3.77,61,8.356,181,6.062,358,4.275,376,4.772,382,12.034,447,6.37,625,9.032,626,10.878,695,9.336,875,8.59,2436,15.681,4020,12.337,4026,17.077,4027,17.077,4028,17.077,4029,17.077,4030,17.077,4031,17.077,4032,17.077,4033,17.077,4034,17.077,4035,17.077,4036,17.077,4037,17.077]],["keywords/454",[]],["title/455",[285,371.458,3700,846.118,3713,726.759]],["content/455",[51,7.193,143,6.075,163,9.79,285,7.525,3700,17.14,3713,14.722,4038,19.828]],["keywords/455",[]],["title/456",[345,624.046,3713,885.315]],["content/456",[1,3.946,143,6.13,332,11.066,345,10.471,3713,14.855,4039,20.007]],["keywords/456",[]],["title/457",[3713,885.315,4040,1094.906]],["content/457",[48,4.285,51,5.751,64,5.399,129,8.769,132,11.172,143,4.858,159,8.667,165,8.385,240,5.372,285,7.633,319,10.918,322,7.143,340,5.598,374,8.385,443,8.57,676,6.476,823,10.1,1671,11.772,1862,13.29,1903,13.705,1904,14.559,1935,9.348,3713,16.402,4040,14.559,4041,14.559,4042,15.855,4043,15.855,4044,15.855,4045,15.855,4046,15.855,4047,15.855]],["keywords/457",[]],["title/458",[337,281.25,962,571.679,3635,559.596,4048,616.37]],["content/458",[]],["keywords/458",[]],["title/459",[1563,1132.359]],["content/459",[5,1.904,6,4.719,18,2.977,29,3.066,48,5.671,49,3.861,64,2.687,88,6.144,92,10.601,97,3.332,106,8.041,126,5.214,139,2.184,145,3.583,152,4.4,158,3.123,171,4.943,200,5.214,220,3.611,259,9.849,302,3.761,337,2.674,339,4.719,340,2.786,372,7.952,382,5.561,392,5.561,398,5.214,423,3.502,454,7.812,542,4.314,561,9.386,570,7.132,581,9.714,592,4.789,621,6.629,666,5.701,675,12.911,742,3.502,746,4.265,789,4.719,792,8.86,794,6.04,903,6.504,918,4.472,938,4.943,1081,6.821,1379,9.386,1399,5.701,1403,5.859,1440,7.246,1461,5.561,1482,5.701,1538,8.86,1563,5.859,1699,6.504,1733,6.04,1843,10.601,1878,10.601,2060,7.681,2175,8.86,2325,13.002,2408,11.261,2556,5.859,2717,5.859,2850,7.681,3313,6.821,3333,9.753,3449,7.246,3609,13.703,3635,5.319,3643,7.246,3653,7.246,3687,10.108,3879,6.504,3899,6.821,4049,7.891,4050,7.246,4051,7.891,4052,13.812,4053,6.504,4054,15.041,4055,7.891,4056,7.891,4057,7.891,4058,7.891,4059,7.891,4060,12.263,4061,12.263,4062,12.263,4063,12.263,4064,7.891,4065,7.891,4066,7.246,4067,7.246,4068,7.891,4069,7.246,4070,12.263,4071,7.891,4072,7.891,4073,7.246,4074,7.891,4075,7.891,4076,7.891,4077,7.246,4078,7.246]],["keywords/459",[]],["title/460",[219,427.848,1065,861.436]],["content/460",[88,9.53,187,6.531,197,7.13,370,11.036,436,8.193,443,9.678,511,10.867,546,12.07,718,11.831,2065,12.936,2470,11.215,3609,12.617,4079,17.905,4080,17.905,4081,17.905,4082,14.758,4083,15.478]],["keywords/460",[]],["title/461",[186,337.46,230,525.302]],["content/461",[5,3.202,9,4.298,84,4.886,88,8.792,89,4.386,97,4.356,119,7.62,134,8.503,135,6.17,139,2.568,143,3.161,145,9.366,162,1.664,187,5.473,194,3.175,221,5.003,272,5.922,314,6.462,337,5.083,362,4.96,404,4.009,420,8.918,436,6.866,438,16.494,439,9.558,511,11.784,546,6.954,615,5.048,671,4.579,675,8.503,700,6.209,761,5.515,789,12.336,1028,9.474,1067,5.576,1143,7.27,1192,7.105,1224,9.914,1340,6,1368,6.69,1591,4.96,1675,6.817,1871,6.817,1912,10.333,2065,7.453,2489,7.27,2591,11.141,2876,8.172,2884,7.66,3052,8.503,3130,8.918,3140,13.778,3306,8.918,3609,7.27,3635,6.954,3656,13.778,4082,8.503,4084,10.317,4085,9.474,4086,10.317,4087,10.317,4088,15.004,4089,10.317,4090,10.317,4091,10.317,4092,9.474,4093,10.317,4094,10.317]],["keywords/461",[]],["title/462",[232,594.176,4095,1094.906]],["content/462",[5,2.923,78,5.371,88,9.131,115,9.284,152,5.137,159,7.827,185,6.944,187,8.154,205,8.562,320,8.69,337,4.851,439,9.12,467,8.69,511,8.69,551,9.86,615,7.006,675,8.114,686,7.417,813,8.296,895,10.958,1224,12.443,1525,11.801,1538,10.344,1665,9.86,2123,9.46,2298,13.147,2470,8.968,2498,10.958,2591,10.631,2974,8.824,3111,10.958,3139,10.958,3609,13.27,3627,12.377,3635,9.651,4095,17.292,4096,13.147,4097,13.147,4098,14.318]],["keywords/462",[]],["title/463",[88,399.796,234,470.582,686,507.061]],["content/463",[51,6.656,88,9.631,187,6.693,224,6.034,332,10.149,436,8.397,443,9.919,570,10.672,700,7.594,794,14.045,3609,12.931,4099,18.35,4100,18.143]],["keywords/463",[]],["title/464",[29,380.346,88,399.796,454,623.514]],["content/464",[5,2.026,48,4.784,49,6.386,88,8.205,143,3.999,221,6.33,240,4.422,337,4.422,387,13.144,394,10.339,434,5.836,447,4.869,454,13.721,552,9.691,570,7.591,581,14.022,584,11.283,593,7.696,686,9.17,752,6.275,758,5.836,789,7.806,1038,11.283,1081,11.283,1167,8.988,1196,9.691,1242,7.055,1313,11.985,1324,10.339,1368,8.464,1475,11.985,1563,9.691,1699,10.758,2048,10.339,2178,9.691,2470,8.175,2473,13.549,3199,11.283,3635,8.798,3693,11.985,3879,10.758,4052,16.255,4077,11.985,4078,11.985,4083,11.283,4101,13.052,4102,13.052,4103,13.052,4104,13.052,4105,13.052,4106,17.702,4107,13.052,4108,13.052]],["keywords/464",[]],["title/465",[88,399.796,1214,547.894,4109,978.814]],["content/465",[5,2.002,48,3.486,49,6.312,88,9.159,106,9.389,118,9.09,156,8.365,157,6.047,163,6.369,187,6.406,197,5.137,252,6.047,443,6.973,511,10.659,615,6.312,675,7.311,702,8.217,718,8.524,792,9.32,822,7.221,823,8.217,843,7.951,895,15.283,962,8.884,1040,11.846,1347,7.503,1377,10.659,1379,9.874,1538,9.32,1551,7.829,1843,11.151,2117,9.578,2126,11.151,2155,10.916,2420,9.874,2511,10.633,2556,9.578,2766,11.846,3680,11.151,3687,10.633,3899,11.151,4048,9.578,4110,21.435,4111,12.9,4112,11.846,4113,16.127,4114,12.9,4115,12.9,4116,12.9,4117,12.9,4118,12.9]],["keywords/465",[]],["title/466",[64,245.403,542,393.982,1149,459.077,4119,720.675,4120,720.675]],["content/466",[5,1.862,48,5.193,54,6.975,88,6.822,97,8.775,106,6.411,112,5.976,115,13.476,133,7.639,143,3.674,158,4.746,187,4.374,197,4.775,259,5.362,438,12.401,542,12.69,567,8.451,596,8.259,675,6.796,686,8.652,698,7.642,700,4.963,718,7.924,743,7.776,813,5.283,895,9.179,1009,9.884,1036,8.084,1038,10.366,1166,7.071,1224,12.698,1461,8.451,1674,8.904,1709,8.259,2155,6.556,2178,12.401,2632,11.012,3111,9.179,3313,10.366,3609,11.769,4053,15.839,4067,11.012,4082,9.884,4121,11.992,4122,16.701,4123,11.992,4124,11.992,4125,10.366,4126,11.992,4127,11.992,4128,20.782,4129,11.992]],["keywords/466",[]],["title/467",[88,399.796,372,634.705,697,497.114]],["content/467",[5,2.58,48,2.508,49,4.54,64,4.725,80,5.632,84,3.022,88,9.019,106,4.961,151,3.606,152,5.964,158,3.672,187,6.728,220,4.246,222,5.549,224,3.052,259,6.205,271,5.632,285,3.522,302,6.614,321,4.149,337,6.249,372,6.017,397,7.35,401,7.648,429,14.118,434,4.149,436,4.246,438,6.89,439,8.839,454,5.911,511,11.195,542,5.073,561,7.102,581,10.992,596,6.39,615,8.133,666,6.704,671,4.118,675,5.259,686,4.807,700,3.84,718,9.169,719,7.35,735,7.35,752,4.461,789,9.94,801,7.35,821,6.131,962,6.39,975,8.521,1065,6.704,1164,7.648,1314,6.89,1408,8.521,1551,5.632,2048,7.35,2126,8.022,2178,6.89,2370,6.017,2425,7.648,2498,12.722,2566,7.35,2591,6.89,2597,7.35,2717,6.89,2843,8.022,3199,8.022,3306,8.022,3609,9.778,3635,12.434,3677,12.742,4048,6.89,4092,8.521,4096,8.521,4097,8.521,4112,8.521,4113,12.742,4125,8.022,4130,13.877,4131,9.28,4132,9.28,4133,9.28,4134,9.28,4135,9.28,4136,8.521,4137,9.28,4138,9.28,4139,9.28,4140,9.28,4141,9.28,4142,9.28,4143,9.28]],["keywords/467",[]],["title/468",[97,413.305,1439,689.738,4053,806.76]],["content/468",[64,6,97,9.069,187,7.834,436,8.063,439,11.224,467,10.694,546,11.878,813,7.763,1041,7.016,1224,11.643,1525,14.523,1550,11.426,1665,12.134,2591,13.083,4053,17.703,4082,14.523,4144,17.62,4145,17.62]],["keywords/468",[]],["title/469",[337,174.954,698,236.299,795,230.909,962,355.617,1550,334.853,2498,395.241,4048,383.418,4085,474.189]],["content/469",[5,1.935,37,4.202,64,4.244,65,8.236,66,10.573,69,7.454,88,9.049,91,4.703,145,8.905,164,2.624,171,7.807,220,5.704,337,5.812,397,17.549,429,9.54,454,10.927,494,6.894,584,10.775,686,6.457,698,5.704,915,9.54,918,7.064,924,7.565,962,11.813,1550,8.083,1551,10.411,1699,10.274,1733,15.012,2334,11.446,2498,9.54,2522,9.873,3609,14.888,3635,11.563,3699,10.775,4048,14.563,4050,18.011,4069,11.446,4083,10.775,4100,10.274,4146,12.465,4147,12.465,4148,12.465,4149,12.465,4150,12.465,4151,12.465,4152,12.465,4153,12.465,4154,12.465]],["keywords/469",[]],["title/470",[268,585.36,962,674.064,1543,371.458]],["content/470",[5,3.255,88,8.565,89,7.205,111,13.967,145,9.521,155,8.691,224,5.573,296,8.607,339,10.134,423,7.521,437,8.869,438,12.582,628,7.578,915,12.97,962,11.67,1543,7.958,2325,14.649,2876,13.423,2885,15.561,4048,12.582,4125,14.649,4136,15.561]],["keywords/470",[]],["title/471",[809,547.894,962,674.064,3680,846.118]],["content/471",[89,8.069,126,12.54,129,10.497,337,6.43,1368,12.307,1511,14.526,1675,12.54,2876,15.033,3635,12.794,3699,16.406,4155,18.979,4156,18.979]],["keywords/471",[]],["title/472",[2907,898.814,3197,689.738,4157,806.76]],["content/472",[80,10.78,88,7.255,129,11.937,185,8.614,337,6.018,438,13.188,466,15.354,467,10.78,938,11.125,962,12.232,2591,13.188,2592,16.31,3197,12.516,3635,11.973,4048,13.188,4157,14.639,4158,17.762,4159,17.762,4160,17.762]],["keywords/472",[]],["title/473",[83,541.368,209,441.015,352,262.365]],["content/473",[]],["keywords/473",[]],["title/474",[0,912.046]],["content/474",[1,3.967,5,3.429,11,6.605,83,8.769,107,11.172,119,8.052,124,8.298,125,10.1,187,8.058,352,6.228,353,6.741,446,7.828,570,9.221,751,10.1,1157,11.772,1368,10.281,1501,9.1,1591,7.622,1675,10.476,1735,12.135,2458,11.772,2522,12.559,2974,9.772,3407,12.559,3696,13.705,4161,15.855,4162,15.855]],["keywords/474",[]],["title/475",[1911,1101.818]],["content/475",[1,3.394,5,2.671,83,9.518,121,10.492,144,2.735,188,9.633,189,6.853,192,4.638,209,7.754,226,9.2,271,10.445,285,6.531,314,10.779,318,5.007,352,5.675,698,7.875]],["keywords/475",[]],["title/476",[1,163.73,192,167.9,318,181.257,2512,616.37]],["content/476",[1,1.375,5,2.581,13,4.368,29,4.323,35,0.882,37,1.346,38,2.135,45,3.275,49,1.954,52,1.66,64,1.36,72,5.885,78,2.616,89,2.965,91,1.507,102,1.235,107,2.814,121,3.191,129,2.209,130,3.21,133,4.443,136,1.629,138,1.561,139,3.419,140,0.531,141,4.666,143,2.844,144,1.438,145,9.128,150,3.072,156,6.02,157,1.872,158,1.58,162,2.556,170,4.701,181,4.928,185,3.382,187,2.544,188,3.904,192,3.021,196,6.63,202,5.707,203,2.263,208,0.808,209,3.142,217,2.994,218,3.452,221,4.502,222,4.171,223,5.544,224,2.293,225,1.229,227,1.04,230,1.759,234,1.92,240,3.77,241,3.353,244,5.299,248,2.069,251,5.178,252,3.269,256,2.424,257,8.038,273,1.621,286,2.292,290,5.197,293,8.025,296,3.542,314,2.501,318,2.758,319,4.803,321,3.118,324,8.933,351,7.818,352,4.004,353,1.698,371,2.355,376,1.949,446,1.972,447,1.49,483,2.965,494,3.857,508,2.544,513,2.388,540,2.501,545,2.424,563,4.91,604,10.217,615,1.954,623,3.291,644,4.914,658,6.542,676,1.631,693,2.263,695,2.183,696,2.424,722,2.639,744,4.388,758,4.151,768,3.857,821,6.134,822,5.197,843,2.461,848,1.722,875,3.508,918,2.263,952,1.937,1065,5.038,1067,2.159,1118,4.803,1145,3.667,1146,6.18,1189,2.692,1223,2.965,1242,2.159,1251,2.885,1279,4.914,1287,7.12,1298,5.178,1300,2.501,1303,2.965,1394,6.029,1443,7.215,1448,3.452,1451,3.163,1464,3.056,1469,5.338,1470,3.452,1499,2.965,1551,2.424,1554,2.589,1673,2.424,1690,3.163,1714,3.613,1716,3.163,1786,3.163,1862,2.639,1924,3.163,2059,2.292,2196,5.178,2356,3.217,2407,6.029,2454,2.885,2481,3.667,2526,2.544,2575,3.667,2597,3.163,2960,3.452,3052,3.291,3192,3.291,3197,4.914,3705,5.524,3741,3.291,3905,3.452,3936,5.748,4073,6.404,4100,3.291,4163,3.993,4164,3.993,4165,3.993,4166,3.993,4167,3.452,4168,3.993,4169,3.993,4170,3.993,4171,3.993,4172,3.993,4173,3.993,4174,3.993,4175,3.993,4176,3.993,4177,3.993,4178,3.993,4179,3.993,4180,3.993,4181,3.993,4182,3.993,4183,3.993,4184,3.993,4185,3.993,4186,7.354,4187,3.993,4188,11.126,4189,6.974,4190,6.974,4191,6.974,4192,6.974,4193,3.993,4194,6.974,4195,3.993,4196,3.993,4197,6.029,4198,6.404,4199,6.974,4200,6.974,4201,3.993,4202,3.993,4203,6.974,4204,6.974,4205,3.993,4206,3.993,4207,3.993,4208,6.974,4209,3.993,4210,3.667,4211,6.974,4212,3.993]],["keywords/476",[]],["title/477",[352,319.604,3694,1030.714]],["content/477",[]],["keywords/477",[]],["title/478",[144,107.262,199,635.377,352,222.514,770,635.377]],["content/478",[1,3.085,29,7.098,35,4.658,38,5.842,78,4.099,89,4.646,91,4.123,124,8.186,139,3.064,143,4.792,145,9.58,150,4.814,159,5.974,192,2.21,204,5.582,209,4.923,244,8.054,251,11.613,307,8.65,318,2.386,352,4.192,358,2.736,376,5.572,447,4.076,676,4.463,696,12.102,700,4.522,742,4.85,750,5,1162,10.77,1175,5.974,1176,6.735,1282,7.7,1334,12.313,1352,6.961,1367,10.034,1391,9.963,1469,8.364,1471,8.656,1587,5.842,1742,13.196,1744,10.034,2206,12.389,2208,10.034,2288,8.113,2904,7.7,3285,9.446,3891,10.034,3940,16.773,4198,14.362,4213,10.927,4214,15.055,4215,14.362]],["keywords/478",[]],["title/479",[74,464.673,124,434.471,4216,830.14,4217,830.14]],["content/479",[13,9.654,18,5.816,107,10.861,110,9.654,119,7.828,130,5.33,155,7.905,171,9.654,189,6.138,192,3.117,205,11.814,240,5.222,260,13.053,271,9.355,272,8.847,309,7.475,314,9.654,318,3.365,447,7.369,545,9.355,1035,15.648,1125,10.185,1298,11.444,1568,10.614,2117,11.444,2118,13.324,2123,10.185,2347,12.704,2369,15.648,2501,14.154,3673,14.154,4218,19.755,4219,15.413]],["keywords/479",[]],["title/480",[74,356.403,110,398.8,371,375.412,1035,504.352,4220,550.398,4221,584.676]],["content/480",[5,2.383,6,4.875,9,3.396,13,7.877,20,8.594,29,4.887,35,1.8,49,3.989,52,2.994,96,4.948,118,5.745,120,4.509,121,3.731,136,2.937,139,3.228,141,7.239,144,1.053,150,6.764,159,4.457,162,1.315,166,7.315,168,5.614,192,2.544,198,4.101,202,7.096,204,4.489,208,1.649,217,4.056,223,8.601,224,2.681,240,5.202,242,4.62,254,5.286,258,4.742,272,4.679,274,7.127,296,4.14,318,2.746,321,3.645,333,4.025,352,5.282,377,5.496,436,3.731,447,3.041,570,4.742,615,3.989,724,6.326,751,5.193,752,3.919,768,9.546,806,7.415,808,6.652,812,4.457,842,5.745,877,5.387,1067,4.407,1157,6.053,1205,5.387,1337,4.62,1359,6.458,1551,4.948,1587,8.208,1591,3.919,1675,5.387,2060,5.106,2099,6.053,2553,7.486,2702,12.655,2904,10.819,2974,5.025,3447,7.486,3704,7.047,3830,6.719,3894,7.047,4100,6.719,4221,7.486,4222,8.153,4223,8.153,4224,8.153,4225,12.577,4226,8.153,4227,17.26,4228,8.153,4229,8.153,4230,12.577,4231,17.26,4232,17.26,4233,12.577,4234,8.153,4235,12.577,4236,12.577,4237,12.577,4238,12.577,4239,12.577,4240,8.153,4241,12.577]],["keywords/480",[]],["title/481",[5,151.938,3197,689.738,3333,634.705]],["content/481",[5,2.126,7,3.796,35,3.024,45,2.831,84,4.461,96,8.313,97,5.784,114,9.896,139,3.19,141,8.634,192,2.77,202,5.631,255,8.313,256,4.761,318,2.991,675,7.763,700,5.669,821,9.051,826,10.85,836,8.313,1203,9.051,1333,9.051,1414,14.485,1450,8.313,1501,7.862,2099,10.17,2229,11.841,2356,6.318,2609,11.841,2623,11.841,3197,16.592,3980,12.578,4210,12.578,4214,15.072,4242,13.698,4243,13.698,4244,13.698,4245,11.841,4246,20.586,4247,12.578,4248,13.698,4249,13.698,4250,13.698]],["keywords/481",[]],["title/482",[352,319.604,353,506.944]],["content/482",[1,2.538,3,11.599,5,1.304,7,2.328,11,6.517,13,5.261,18,3.169,20,4.702,21,4.443,37,2.832,39,4.646,64,5.327,91,6.615,121,7.158,136,3.006,137,2.89,139,1.22,145,3.814,162,2.076,167,4.225,187,6.395,194,2.585,198,4.225,202,3.453,220,3.844,221,4.074,224,2.762,225,4.815,240,4.36,255,5.098,272,4.821,316,5.662,321,3.756,327,7.118,352,6.619,353,7.454,358,2.103,362,4.038,447,4.8,544,8.06,545,5.098,573,3.345,614,4.351,615,8.579,621,8.456,658,5.919,673,5.889,696,5.098,758,5.754,792,6.069,852,3.938,877,8.503,1125,5.55,1146,4.11,1175,4.592,1275,5.919,1287,4.004,1383,10.607,1556,8.503,1591,4.038,1606,9.477,1670,7.261,1675,5.55,1846,6.069,1893,7.713,1911,6.069,2089,5.785,2125,7.713,2175,9.297,2330,6.237,2352,9.641,2459,9.585,2467,7.713,2667,7.713,2668,7.713,2682,6.654,2702,6.923,2845,7.713,2869,6.654,2891,7.261,2974,5.177,3016,7.713,3407,6.654,3636,7.713,3696,7.261,3705,6.654,4012,11.817,4066,7.713,4251,8.4,4252,8.4,4253,8.4]],["keywords/482",[]],["title/483",[1118,878.242,2512,616.37,4254,717.6]],["content/483",[1,2.959,5,1.601,13,6.462,78,3.87,84,4.886,85,7.66,89,6.379,135,8.973,139,1.498,141,4.327,159,8.203,192,2.087,194,3.175,202,4.241,208,2.087,217,3.328,218,8.918,219,3.702,224,3.393,225,3.175,226,5.515,232,5.141,234,4.96,240,5.083,241,4.96,256,3.586,268,6.17,272,5.922,279,3.827,302,4.918,309,7.277,318,2.253,321,4.613,322,4.648,352,5.529,398,6.817,518,11.484,544,6.462,628,7.907,696,6.261,752,4.96,761,5.515,824,7.66,855,4.327,1118,15.98,1242,9.558,1253,4.918,1264,7.105,1362,6.261,1405,6.462,1591,4.96,1862,6.817,1911,7.453,2182,7.453,2470,9.398,2779,8.172,2961,8.172,3193,7.66,3622,9.474,3704,8.918,4220,8.918,4254,15.285,4255,10.317,4256,10.317,4257,10.317,4258,10.317,4259,15.004,4260,15.004,4261,10.317,4262,13.778,4263,10.317,4264,10.317,4265,10.317,4266,10.317,4267,10.317,4268,10.317,4269,10.317,4270,10.317,4271,10.317,4272,10.317]],["keywords/483",[]],["title/484",[352,319.604,428,746.821]],["content/484",[1,3.368,33,7.876,37,5.757,49,8.356,58,9.994,124,8.938,130,5.905,208,3.454,241,8.21,259,7.636,262,11.284,265,5.616,302,8.14,330,12.034,331,7.814,352,6.125,1792,13.527,2352,12.986,2671,14.762,3457,13.527]],["keywords/484",[]],["title/485",[58,428.091,352,262.365,428,613.069]],["content/485",[5,2.18,18,5.299,37,4.735,45,3.843,58,6.143,89,5.971,124,7.351,136,4.868,139,2.7,192,2.841,221,9.018,237,10.75,240,6.3,291,10.75,318,3.067,338,7.428,352,4.984,428,8.797,437,10.909,447,5.239,503,9.468,545,8.524,643,6.328,673,8.508,752,6.752,877,9.28,1125,9.28,1142,8.524,1388,9.28,1389,9.897,1473,10.75,2099,10.428,2352,11.46,2567,12.141,2881,12.897,3682,11.576,4186,11.125,4273,14.045,4274,14.045,4275,9.28,4276,14.045,4277,14.045]],["keywords/485",[]],["title/486",[240,331.62,352,262.365,428,613.069]],["content/486",[11,8.597,54,6.863,78,4.427,89,7.021,125,7.517,139,2.997,152,7.405,162,3.073,169,8.315,170,7.955,192,2.387,202,8.484,217,5.327,240,7.359,255,7.162,318,2.577,352,4.427,428,7.391,437,10.8,628,5.277,768,11.414,822,6.605,840,7.273,1479,8.127,1482,8.525,2356,9.518,2675,10.836,2834,8.315,2974,7.273,3705,9.347,4025,9.347,4278,11.801,4279,11.801,4280,16.515,4281,15.165,4282,18.95,4283,18.95,4284,18.95,4285,16.515,4286,16.515]],["keywords/486",[]],["title/487",[5,111.868,240,244.163,744,340.637,2512,535.093,4287,720.675]],["content/487",[1,1.626,5,1.28,7,2.284,34,7.126,37,2.779,45,2.622,74,4.614,77,6.309,84,2.685,102,2.549,136,1.925,139,3.485,144,1.065,162,2.046,163,4.07,165,4.36,192,1.667,194,2.537,202,3.389,207,6.934,217,6.045,221,3.998,224,2.711,240,5.882,241,3.963,291,6.309,302,3.929,307,4.559,316,5.557,318,1.8,321,3.686,331,3.772,352,3.4,372,5.345,423,5.63,428,5.163,476,4.86,563,4.36,592,5.003,646,6.513,676,6.315,744,9.356,746,4.456,752,3.963,768,11.772,775,2.751,779,6.121,790,6.442,795,5.672,1279,5.809,1362,5.003,1364,6.794,1464,6.309,1663,5.809,1709,5.677,1937,6.794,2175,5.956,2356,5.851,2973,6.794,3014,11.059,3146,11.648,3147,12.891,3193,6.121,4247,21.138,4288,8.244,4289,8.244,4290,8.244,4291,8.244,4292,17.361,4293,8.244,4294,15.461,4295,8.244,4296,12.685,4297,8.244,4298,12.685,4299,12.685,4300,12.685,4301,8.244,4302,12.685,4303,12.685,4304,8.244,4305,15.461,4306,8.244,4307,8.244,4308,8.244,4309,8.244]],["keywords/487",[]],["title/488",[72,301.613,141,239.171,152,204.63,1388,376.815,2512,701.398,4310,523.668]],["content/488",[1,2.901,5,2.702,21,3.248,37,2.07,39,3.397,44,3.982,51,2.228,72,9.207,78,3.766,89,5.415,103,3.982,105,4.229,110,3.846,121,2.81,126,4.058,135,3.673,136,4.88,138,3.925,139,2.528,141,6.802,150,2.705,152,6.592,157,2.879,187,3.662,192,2.031,194,3.09,197,3.998,198,3.089,202,9.385,217,3.238,219,3.603,220,5.828,224,2.019,225,3.92,227,2.616,236,4.327,240,3.402,241,2.952,242,5.69,252,2.879,272,7.31,284,3.214,318,2.192,329,3.283,349,1.934,350,1.418,351,3.214,352,5.138,353,4.269,371,3.621,385,5.062,425,3.621,436,2.81,437,5.255,442,3.785,447,2.291,518,4.7,544,6.288,563,7.78,615,3.005,646,3.766,676,2.508,712,4.14,717,5.553,790,3.119,822,3.437,843,3.785,877,6.634,952,2.978,1118,6.914,1142,3.727,1146,3.005,1162,3.621,1176,7.849,1242,3.319,1253,2.927,1287,7.012,1291,4.56,1316,3.912,1335,4.058,1351,10.922,1352,10.331,1362,3.727,1388,13.806,1443,6.51,1476,3.437,1523,8.275,1543,4.833,1571,4.437,1575,3.785,1591,2.952,1660,5.639,1716,4.864,1742,11.717,1786,4.864,2048,4.864,2117,4.56,2182,4.437,2248,5.639,2356,2.832,2650,4.864,2882,9.456,2904,4.327,2974,3.785,3307,5.639,4186,7.953,4275,13.482,4310,13.507,4311,6.141,4312,5.639,4313,6.141,4314,5.309,4315,6.141,4316,5.639,4317,11.009,4318,6.141,4319,6.141,4320,6.141]],["keywords/488",[]],["title/489",[825,667.427,4321,1030.714]],["content/489",[]],["keywords/489",[]],["title/490",[554,502.009,825,547.894,1735,749.17]],["content/490",[1,2.054,5,3.352,7,4.186,18,3.929,29,4.047,35,4.571,52,2.479,60,6.85,69,6.228,74,5.829,79,5.767,85,7.732,97,4.397,102,3.22,106,5.567,112,7.528,115,6.753,139,1.512,145,4.728,153,4.147,157,4.882,162,1.68,196,9.19,202,4.281,225,3.205,240,3.528,253,8.583,272,5.977,273,4.226,296,5.289,319,7.171,332,5.76,352,5.971,353,6.423,376,4.221,554,5.341,556,10.645,563,5.508,574,12.208,722,6.881,749,8.786,812,5.693,825,12.47,855,4.367,1162,6.14,1175,5.693,1242,5.629,1287,4.964,1292,7.732,1360,7.971,1653,7.971,1665,7.171,1735,7.971,2082,4.922,2654,7.732,2859,6.881,2879,9.623,2883,5.977,3790,9.002,4214,8.583,4322,10.414,4323,9.002,4324,15.107,4325,10.414,4326,10.414,4327,8.249,4328,10.414]],["keywords/490",[]],["title/491",[2924,1208.042]],["content/491",[5,2.692,42,10.527,84,5.648,141,8.921,196,7.698,273,7.039,352,5.702,353,7.374,362,8.339,825,9.709,1041,6.907,1253,8.267,1575,10.69,2883,9.955,2924,18.226,3259,13.739,3289,14.296,3632,10.226,4329,17.344]],["keywords/491",[]],["title/492",[5,151.938,383,507.061,1266,535.102]],["content/492",[5,1.872,11,6.984,35,2.662,45,4.525,64,4.106,69,7.211,97,5.091,150,5.312,153,4.801,155,6.184,183,8.514,194,5.932,195,7.318,204,4.303,208,2.439,225,3.711,256,4.191,261,11.072,302,9.186,350,2.784,352,6.075,353,5.126,383,9.984,398,7.967,574,7.109,673,5.517,812,6.592,834,8.711,836,7.318,855,8.736,1118,8.303,1153,10.423,1177,7.681,1266,12.959,1526,10.871,1535,9.938,1575,7.431,1606,9.062,1862,7.967,1889,9.938,1902,13.272,2352,7.431,2420,9.229,2534,10.423,2908,11.072,3263,9.229,4007,10.423,4323,10.423]],["keywords/492",[]],["title/493",[352,319.604,4321,1030.714]],["content/493",[5,2.85,38,7.368,64,4.693,79,7.882,80,8.365,112,6.868,121,6.307,138,7.179,150,9.097,179,6.868,181,4.893,183,7,192,4.454,217,4.446,220,6.307,223,6.868,225,4.242,227,5.737,274,7.811,339,8.243,352,5.903,353,5.86,377,9.291,379,9.291,666,9.958,750,6.307,1287,8.753,1299,10.234,1341,11.318,1359,10.918,1673,8.365,2082,6.515,2877,11.915,2894,9.712,3110,16.862,4321,11.915,4330,13.783,4331,13.783]],["keywords/493",[]],["title/494",[274,675.723,2891,1030.714]],["content/494",[]],["keywords/494",[]],["title/495",[64,282.678,1368,538.298,2522,657.566,3715,548.521]],["content/495",[1,1.695,5,2.033,52,3.777,59,3.787,64,7.525,102,2.658,103,5.574,139,3.274,141,3.605,151,3.34,153,3.423,155,4.408,171,8.203,187,4.777,189,3.423,192,1.738,194,2.646,201,7.002,204,4.674,217,4.224,240,6.012,252,4.029,271,5.217,284,8.304,296,6.652,318,1.877,322,3.873,352,4.253,399,7.085,447,3.206,563,6.927,570,4.999,574,7.722,575,4.934,594,4.754,637,5.384,718,8.654,749,9.228,750,3.933,875,6.588,1041,3.423,1056,10.185,1067,4.646,1146,6.408,1335,8.654,1347,4.999,1351,9.724,1673,5.217,1742,15.583,1743,10.024,1964,5.217,2306,11.322,2384,7.43,2470,5.384,2576,10.795,2593,9.724,2883,4.934,3014,11.303,3147,6.382,3289,7.085,3715,13.826,3896,7.893,4262,12.027,4332,6.809,4333,7.893,4334,18.479,4335,13.097,4336,13.097,4337,8.595,4338,13.097,4339,12.027,4340,12.027,4341,8.595,4342,8.595,4343,7.43,4344,7.43,4345,7.43]],["keywords/495",[]],["title/496",[64,216.814,152,228.469,592,386.436,1964,386.436,3715,420.714,4346,636.716]],["content/496",[3,6.232,5,2.394,7,2.969,11,4.464,52,4.704,64,5.252,79,4.091,91,4.043,119,5.442,139,2.87,144,1.993,150,4.721,171,6.712,187,3.909,192,3.119,194,3.298,196,6.845,209,4.828,217,4.974,225,4.747,226,5.729,241,5.152,254,6.949,302,5.108,318,3.367,350,3.561,352,4.134,574,9.093,592,9.36,615,7.546,676,4.377,704,7.224,718,7.081,742,4.756,749,8.97,874,10.246,1287,5.108,1334,10.396,1386,6.232,1516,10.868,1691,10,1742,14.277,1964,13.639,2235,13.332,2330,7.956,2356,4.943,2390,11.804,2470,6.712,3703,15.618,3715,10.19,3921,8.488,4347,10.716,4348,16.591,4349,15.422,4350,15.422,4351,10.716,4352,10.716]],["keywords/496",[]],["title/497",[88,339.07,103,538.298,203,470.449,1846,599.745]],["content/497",[1,2.255,3,6.651,5,2.507,18,6.095,59,8.966,60,6.579,78,4.29,112,5.698,136,3.773,139,2.956,141,6.775,143,5.738,144,1.478,152,5.796,192,2.313,197,4.554,201,6.113,217,5.21,221,7.834,253,9.425,318,2.497,332,6.325,351,9.802,352,5.455,353,6.868,362,5.498,423,5.075,563,6.048,722,7.556,744,7.635,768,8.934,1591,5.498,1846,14.704,2356,8.638,2459,6.251,3139,8.752,4281,10.5,4282,14.833,4283,14.833,4284,14.833,4332,9.058,4353,11.435,4354,11.435,4355,9.425,4356,13.963,4357,11.435,4358,16.153,4359,11.435,4360,16.153,4361,9.425,4362,11.435,4363,11.435,4364,11.435]],["keywords/497",[]],["title/498",[52,135.754,208,115.342,277,121.355,628,255.003,752,274.171,753,331.676,1819,401.856]],["content/498",[1,2.501,5,1.968,9,5.282,45,2.621,48,3.426,52,5.61,121,5.802,139,3.342,162,2.8,198,6.378,208,3.51,220,5.802,241,6.095,243,4.84,277,4.743,285,4.812,309,6.149,628,8.849,752,6.095,753,7.374,813,8.718,840,7.814,1167,11.952,1249,7.941,1316,8.076,1479,8.731,1742,15.374,1819,14.996,2206,15.675,4365,21.281,4366,21.281,4367,19.789]],["keywords/498",[]],["title/499",[142,362.518,150,317.498,208,145.76,628,322.254,2288,535.093]],["content/499",[1,2.92,5,1.572,9,6.167,20,5.669,52,3.524,78,3.799,91,3.821,97,4.277,105,6.975,139,3.289,142,5.095,150,4.462,192,2.048,208,3.893,209,4.563,217,3.267,224,4.868,240,3.431,243,5.651,244,5.651,277,5.063,318,2.211,321,4.529,352,2.715,447,3.778,628,8.606,673,4.635,676,4.137,753,5.891,757,6.692,775,4.941,813,4.462,819,8.093,832,8.348,856,11.331,874,8.561,930,10.982,1162,5.972,1298,10.992,1588,5.813,1753,8.348,1819,10.432,2123,6.692,2253,11.331,2288,7.52,2350,12.202,2356,4.671,2528,8.755,2682,8.023,2960,8.755,3192,8.348,3476,9.599,4368,8.348,4369,10.128,4370,12.797,4371,17.674,4372,9.3,4373,9.3,4374,13.594,4375,13.594,4376,10.128,4377,9.3]],["keywords/499",[]],["title/500",[5,151.938,166,569.283,196,434.419]],["content/500",[1,2.501,5,2.694,7,4.809,35,2.799,45,3.587,52,3.018,69,7.582,77,9.704,84,5.652,89,7.379,144,1.638,145,7.88,162,2.045,166,7.374,181,4.501,192,2.564,196,5.627,202,5.212,204,6.194,208,4.002,217,4.089,240,4.295,252,5.943,285,4.812,318,2.768,352,3.398,376,4.85,433,8.377,596,8.731,628,7.761,752,6.095,758,5.669,768,9.599,1118,14.655,2512,9.414,2567,10.96,2835,10.45,3456,11.642,3715,8.377,4254,10.96,4327,13.748,4340,15.937,4378,17.356,4379,17.356,4380,12.679,4381,12.679,4382,12.679,4383,12.679,4384,12.679,4385,12.679,4386,12.679]],["keywords/500",[]],["title/501",[5,151.938,671,434.419,4387,775.333]],["content/501",[1,1.877,5,1.478,52,3.367,59,4.194,78,3.571,91,3.591,112,4.743,139,3.519,144,1.23,150,9.801,180,4.107,181,6.631,183,8.57,192,1.925,194,2.93,196,4.225,198,9.396,201,7.561,204,5.047,205,5.692,208,1.925,219,7.505,222,5.692,227,2.48,230,6.23,248,7.326,292,5.667,318,2.078,320,5.777,321,4.256,352,2.551,377,6.417,447,8.078,543,6.064,563,5.034,568,3.634,626,9.009,628,4.256,643,4.289,646,5.305,758,6.324,795,4.256,797,9.345,803,9.121,874,6.92,1202,5.089,1253,4.537,1362,5.777,1377,5.777,1405,5.962,1486,6.877,1575,5.867,2060,8.858,3143,7.54,3632,8.338,3846,7.286,4167,12.225,4387,11.202,4388,7.846,4389,8.228,4390,9.519,4391,18.679,4392,14.142,4393,14.142,4394,9.519,4395,8.741]],["keywords/501",[]],["title/502",[1,125.581,192,128.779,260,420.714,296,323.372,352,277.162]],["content/502",[1,3.779,5,2.974,39,6.597,78,4.475,110,7.471,139,3.011,141,9.145,142,10.429,166,6.937,192,2.412,202,6.84,204,5.938,217,3.847,225,3.671,244,6.351,262,7.881,284,8.708,317,3.757,352,5.557,371,7.033,508,7.598,538,9.129,544,12.001,575,6.846,910,11.458,1056,9.55,1253,5.685,1287,5.685,1344,9.831,1347,6.937,1351,8.856,1352,12.206,1368,7.734,1388,7.881,1505,8.856,1588,6.846,1653,9.129,1691,14.645,2062,9.448,2206,13.18,2619,8.141,2650,9.448,2769,10.311,4389,10.311,4396,16.639,4397,11.928]],["keywords/502",[]],["title/503",[110,613.069,575,561.824,4389,846.118]],["content/503",[]],["keywords/503",[]],["title/504",[126,548.521,150,365.724,274,470.449,544,519.949]],["content/504",[1,2.166,5,2.436,9,4.575,11,4.575,52,4.757,84,3.576,89,4.669,102,3.395,105,7.563,126,7.256,150,10.198,169,7.738,173,4.735,185,5.326,189,4.373,208,3.705,224,3.611,240,3.721,252,5.148,274,6.223,279,4.073,284,5.747,327,6.074,339,6.567,352,4.91,433,7.256,436,5.025,543,6.995,544,9.831,570,6.387,625,5.808,628,7.018,676,4.485,754,6.665,758,4.91,792,7.934,803,8.484,813,4.838,815,8.405,822,6.147,845,6.768,874,7.68,877,7.256,921,7.403,952,5.326,1202,9.792,1282,7.738,1311,9.051,1347,6.387,1353,9.493,1391,6.995,1399,7.934,1449,9.493,1462,7.403,1473,8.405,1474,7.738,1526,7.121,1551,6.665,2060,9.831,2182,11.339,2615,10.084,2670,9.493,2904,7.738,3333,7.121,3634,10.084,3658,10.084,4398,10.084,4399,10.982,4400,10.982,4401,10.982,4402,10.982,4403,8.699,4404,10.982,4405,9.051]],["keywords/504",[]],["title/505",[1311,982.769,4406,1192.361]],["content/505",[1,1.971,5,2.968,54,5.811,64,3.402,80,6.064,85,10.883,89,4.248,102,3.089,131,9.034,141,6.147,152,3.585,183,5.074,187,3.644,194,3.075,196,6.505,204,3.566,224,3.286,225,5.885,278,4.572,284,5.229,302,4.762,307,5.526,319,6.88,321,4.468,352,6.496,353,4.248,433,6.602,436,4.572,437,5.229,518,7.647,542,5.462,544,11.977,556,7.04,574,5.891,628,4.468,676,5.987,825,8.204,848,4.308,855,7.28,952,4.845,1041,6.913,1176,6.158,1253,8.275,1287,9.115,1311,12.081,1335,6.602,1362,10.536,1543,3.792,1551,6.064,1575,6.158,1666,7.108,1673,6.064,1675,6.602,1729,7.647,2121,7.418,2182,12.541,2511,8.235,2869,7.914,2882,7.418,2883,8.413,2886,14.308,4323,8.637,4332,11.61,4407,9.991,4408,9.991,4409,9.991,4410,8.637,4411,9.991,4412,9.991,4413,9.991,4414,9.174]],["keywords/505",[]],["title/506",[566,912.615,2067,1030.714]],["content/506",[]],["keywords/506",[]],["title/507",[50,250.501,352,193.172,2067,622.975,2959,593.996,2961,570.857]],["content/507",[1,2.702,5,3.553,6,8.192,11,5.706,37,4.617,48,3.702,49,6.702,52,5.229,75,8.368,84,4.461,136,4.271,139,2.656,152,6.562,153,5.455,192,2.77,296,9.287,352,4.902,408,8.313,676,7.469,744,6.474,1054,7.245,1142,8.313,1194,8.726,1443,8.882,2330,10.17,2356,8.434,2503,10.484,2959,16.967,2961,10.85,3705,10.85,3742,12.578,4415,13.698,4416,13.698,4417,13.698,4418,13.698,4419,13.698,4420,13.698,4421,13.698,4422,13.698,4423,13.698]],["keywords/507",[]],["title/508",[5,151.938,192,197.97,767,775.333]],["content/508",[1,3.437,5,3.081,18,4.811,136,2.978,144,1.648,162,2.057,192,3.524,194,5.363,198,6.414,201,6.817,217,6.88,220,5.835,240,5.903,242,7.226,273,5.175,274,9.874,277,3.708,296,6.476,302,6.078,309,6.184,352,3.418,398,8.426,442,7.859,614,6.606,675,7.226,744,11.155,745,9.76,752,6.131,767,13.802,768,9.637,812,6.971,1125,8.426,1443,8.269,1476,7.138,2117,9.468,2616,11.023,2790,18.226,3201,11.709,3214,18.226,4355,10.51,4424,17.424,4425,17.424,4426,12.752,4427,12.752]],["keywords/508",[]],["title/509",[946,651.845,2368,885.315]],["content/509",[]],["keywords/509",[]],["title/510",[0,912.046]],["content/510",[35,4.263,64,6.575,194,5.943,265,6.35,336,7.642,352,5.176,1287,9.204,2368,14.337,2458,14.337,3233,15.296]],["keywords/510",[]],["title/511",[4025,1208.042]],["content/511",[9,6.75,10,12.401,164,3.41,180,4.706,194,4.987,195,9.834,199,12.401,223,10.161,321,7.245,332,8.961,336,6.412,340,5.721,447,6.044,545,9.834,575,9.3,620,8.074,1407,13.354,1550,10.506,1551,12.376,1591,7.79,2368,12.03,2459,8.858,3632,9.553,3879,13.354,4428,18.55,4429,17.627]],["keywords/511",[]],["title/512",[4430,1525.086]],["content/512",[5,2.631,9,7.06,78,6.357,121,7.755,130,5.86,194,5.216,428,13.134,570,9.856,676,6.922,681,12.582,830,11.197,840,10.445,1778,12.582,2047,13.423,2459,12.449,3457,13.423,3632,9.992,4041,15.561,4428,18.848,4431,16.946]],["keywords/512",[]],["title/513",[4428,1208.042]],["content/513",[52,3.089,102,4.012,124,6.791,130,6.097,159,7.094,164,2.731,180,3.769,189,5.167,195,10.701,208,2.624,322,5.846,340,6.226,349,4.087,358,3.249,493,8.574,622,8.936,676,5.3,717,7.177,724,6.527,843,7.997,848,5.594,874,6.349,1041,5.167,1067,7.014,1575,7.997,1591,6.238,1964,7.875,2091,6.937,2123,11.65,2162,7.353,2333,10.695,2368,9.634,2370,8.414,2459,7.094,2475,10.695,2882,9.634,2973,10.695,2974,10.867,3471,11.217,3632,10.396,4428,19.59,4432,12.976,4433,11.915,4434,17.632,4435,20.027,4436,11.915,4437,12.976,4438,12.976]],["keywords/513",[]],["title/514",[4429,1318.333]],["content/514",[7,2.55,35,3.651,84,2.997,102,2.845,108,5.862,111,7.585,130,5.719,144,1.189,153,3.664,164,1.937,173,3.968,185,4.463,194,5.654,225,6.779,252,4.314,255,10.038,258,5.352,284,4.816,292,3.687,302,4.386,317,2.899,321,4.115,322,4.146,327,5.09,332,5.09,340,6.486,352,5.904,396,6.833,436,4.211,545,5.585,562,6.203,563,4.867,574,5.426,583,9.296,615,4.503,637,5.764,700,5.707,750,6.31,752,4.424,843,5.672,848,3.968,855,5.784,856,7.043,874,6.748,1297,6.573,1339,6.833,1366,7.289,1543,3.492,1551,8.37,1575,5.672,1697,7.585,2047,7.289,2091,4.92,2162,7.815,2333,7.585,2399,7.955,2490,10.555,2717,6.833,2765,7.955,2974,5.672,3396,12.28,3457,13.1,3632,5.426,4428,18.687,4429,20.393,4439,9.202,4440,9.202,4441,9.202,4442,9.202,4443,16.539,4444,9.202,4445,9.202,4446,9.202]],["keywords/514",[]],["title/515",[1444,861.436,2577,1030.714]],["content/515",[]],["keywords/515",[]],["title/516",[0,912.046]],["content/516",[1,3.949,9,6.558,30,15.515,54,9.156,67,10.946,121,7.203,136,5.142,194,4.845,248,8.155,307,8.707,571,6.787,615,7.703,1166,9.282,1332,10.208,1444,15.907,1672,11.093,1774,8.921,1806,16.348,2433,10.841,2442,12.975,2494,14.455,2495,14.455,2577,17.308,3398,14.455,4447,15.742]],["keywords/516",[]],["title/517",[136,278.481,2585,982.769]],["content/517",[1,4.373,5,1.748,30,7.935,33,5.194,37,3.796,39,6.228,41,5.775,50,3.914,51,4.085,54,6.549,58,6.988,60,7.497,64,3.834,78,4.224,79,8.463,91,4.249,102,3.482,130,3.894,136,2.63,162,1.817,194,3.466,197,4.484,202,4.629,226,6.02,254,10.361,255,6.834,279,4.177,290,6.303,333,5.56,338,5.956,350,2.6,484,10.771,494,6.228,554,5.775,561,8.619,571,6.889,573,4.484,674,6.382,677,8.735,699,8.361,754,6.834,849,5.56,852,5.279,1314,8.361,1340,10.802,1444,16.833,1460,10.34,1462,7.591,1499,13.79,1708,11.544,1806,11.864,1834,4.629,2439,13.812,2442,9.281,2473,8.619,2498,12.23,2827,8.619,3287,10.34]],["keywords/517",[]],["title/518",[2568,1028.057]],["content/518",[1,3.421,18,6.544,51,6.292,67,9.482,102,5.363,136,5.374,338,9.173,594,9.593,855,7.274,946,9.482,1041,6.907,1300,10.863,1444,12.531,1474,12.222,2091,9.272,2106,11.247,2568,15.51,4275,11.46,4448,15.927]],["keywords/518",[]],["title/519",[1166,899.2]],["content/519",[136,4.59,594,10.869,621,10.623,1041,7.826,1166,13.516,1444,14.198,2091,10.506]],["keywords/519",[]],["title/520",[2155,833.74]],["content/520",[1,3.619,102,5.674,136,5.141,338,9.705,621,9.919,946,10.032,1041,7.307,1300,11.493,1474,12.931,2091,9.81,2106,11.899,2155,12.034,2510,12.931,4448,16.85]],["keywords/520",[]],["title/521",[946,651.845,2968,821.123]],["content/521",[]],["keywords/521",[]],["title/522",[0,912.046]],["content/522",[35,3.921,88,7.255,102,5.492,107,12.516,124,9.296,125,11.314,194,5.467,221,8.614,224,5.841,336,7.029,352,4.761,447,6.625,672,11.125,938,11.125,1287,8.466,1554,11.517,1783,14.069,2968,12.232,2971,16.025]],["keywords/522",[]],["title/523",[1476,667.427,2971,885.315]],["content/523",[1,3.243,78,6.169,106,8.791,124,8.606,130,7.768,162,2.653,167,8.271,185,7.975,189,6.548,204,5.868,431,15.099,675,9.318,681,15.281,1041,6.548,1303,12.209,1476,9.204,1482,11.88,1673,9.98,2971,18.361,2974,12.684,4449,15.099]],["keywords/523",[]],["title/524",[376,333.189,2370,773.178]],["content/524",[]],["keywords/524",[]],["title/525",[672,955.22]],["content/525",[1,2.59,9,5.47,20,7.349,45,2.714,48,4.803,52,3.125,64,4.471,102,4.06,130,6.967,139,1.907,144,1.696,189,5.228,194,5.47,208,3.595,217,4.235,220,6.008,224,6.626,256,4.564,273,5.328,336,5.196,355,7.852,358,5.045,378,6.604,404,5.102,446,6.483,542,7.178,592,7.969,593,7.741,672,14.567,709,9.042,718,8.675,748,9.252,1041,5.228,1146,8.697,1151,11.35,1340,7.636,1591,6.312,1781,9.252,2082,6.206,2175,9.486,2352,8.092,2597,10.4,2968,9.042,3293,10.4,3715,8.675,4332,10.4,4450,13.13,4451,13.13,4452,13.13]],["keywords/525",[]],["title/526",[102,471.555]],["content/526",[102,7.396,121,8.685,130,6.563,152,6.81,217,6.121,224,6.241,256,6.597,2370,12.307,2968,13.07,3293,15.033]],["keywords/526",[]],["title/527",[2974,939.964]],["content/527",[35,2.934,37,6.04,40,11.488,53,6.178,121,8.199,136,3.103,137,4.571,139,2.602,142,6.684,165,7.027,217,4.286,224,4.369,225,5.515,252,6.228,256,4.618,285,5.042,290,7.437,298,10.951,322,8.073,327,7.349,332,9.91,349,4.185,352,3.561,355,7.946,701,9.599,845,8.189,1524,10.525,1543,5.042,1575,8.189,1663,9.363,1774,7.53,1783,10.525,1798,10.951,2091,7.103,2370,11.618,2968,13.96,2969,14.768,2971,9.865,2974,13.373,3831,16.708,3921,10.525,4453,13.287,4454,13.287,4455,13.287,4456,11.486]],["keywords/527",[]],["title/528",[742,434.419,1501,561.824,2971,726.759]],["content/528",[20,4.83,33,6.059,37,2.909,51,3.13,53,4.012,64,2.938,66,8.096,89,5.585,91,3.256,93,5.942,130,2.984,150,7.007,152,3.096,155,4.426,164,1.816,183,6.671,221,4.185,223,6.546,224,5.23,225,5.472,256,6.18,273,5.331,292,5.264,322,3.888,327,4.772,336,3.415,376,2.411,404,3.353,436,8.136,443,4.664,447,3.219,492,6.08,503,10.722,570,5.019,612,9.803,643,3.888,653,5.019,753,7.64,819,4.717,836,5.237,849,4.26,1029,10.054,1113,5.497,1140,5.405,1176,5.318,1196,9.753,1287,4.113,1333,5.702,1337,4.89,1360,6.604,1377,5.237,1476,4.83,1543,6.036,1551,9.653,1574,6.604,1575,5.318,1582,6.835,1841,7.924,2370,5.595,2448,17.568,2487,5.817,2526,5.497,2682,10.405,2969,18.235,2971,14.205,2974,14.138,3293,10.405,3632,5.088,4368,14.654,4449,20.316,4457,8.629,4458,8.629,4459,8.629,4460,8.629,4461,15.905,4462,15.905,4463,13.136]],["keywords/528",[]],["title/529",[35,263.251,347,803.767]],["content/529",[]],["keywords/529",[]],["title/530",[0,912.046]],["content/530",[1,3.04,5,2.393,35,5.529,45,3.186,49,7.542,140,2.049,187,5.622,208,3.117,265,5.069,277,3.28,347,10.39,349,4.855,378,7.753,542,8.426,699,11.444,700,6.378,749,8.965,852,7.225,855,6.464,952,7.475,1175,8.426,1237,8.735,1287,7.347,1335,10.185,1665,10.614,1834,6.337,2175,11.136,2654,11.444,2859,10.185,2879,13.888]],["keywords/530",[]],["title/531",[35,216.104,347,659.816,2082,462.65]],["content/531",[]],["keywords/531",[]],["title/532",[358,245.059,383,507.061,2082,462.65]],["content/532",[52,4.518,140,3.18,345,11.754,423,8.423,741,11.887,803,10.259,4464,18.979,4465,18.979,4466,18.979]],["keywords/532",[]],["title/533",[35,263.251,700,493.432]],["content/533",[18,4.452,35,5.359,45,4.265,52,3.931,53,5.487,59,7.276,84,3.843,140,2.744,141,7.99,144,2.134,153,4.699,157,5.532,159,6.451,174,5.532,197,4.699,224,3.881,226,6.309,232,5.88,277,2.511,305,9.359,309,5.723,349,3.717,362,5.673,376,3.298,378,5.936,404,4.585,423,8.455,436,8.718,699,8.762,700,4.883,749,11.08,852,5.532,855,9.44,952,8.009,1041,4.699,1175,9.028,1237,9.359,1287,5.625,1543,7.23,1673,7.162,2859,10.912,2879,12.136,4275,7.797]],["keywords/533",[]],["title/534",[35,263.251,94,703.024]],["content/534",[35,4.85,38,7.323,52,3.261,64,6.227,94,10.782,102,4.235,140,2.92,144,1.77,145,6.219,150,8.056,152,4.915,153,7.282,209,6.172,243,5.229,279,5.081,323,8.726,345,7.169,349,4.315,351,7.169,352,3.672,376,3.828,423,8.116,436,6.268,574,10.782,653,7.967,661,8.882,700,8.519,717,10.114,741,8.579,765,9.896,803,7.404,855,5.745,1199,9.234,1297,6.529,1300,8.579,1316,11.649,1740,8.192,2082,6.474,2879,8.726,4467,13.698,4468,13.698]],["keywords/534",[]],["title/535",[35,216.104,208,197.97,434,437.682]],["content/535",[]],["keywords/535",[]],["title/536",[0,912.046]],["content/536",[1,3.845,4,10.31,9,6.29,35,4.766,45,3.121,46,6.375,60,5.303,62,6.672,69,9.029,112,9.714,121,6.909,137,5.194,187,7.11,208,4.366,277,3.213,305,8.556,317,6.14,351,7.902,434,9.654,571,6.509,575,8.666,696,9.163,775,5.039,1266,8.254,1293,7.821,1665,10.397,1774,8.556,1940,13.051,4007,13.051,4469,15.098]],["keywords/536",[]],["title/537",[35,183.28,208,167.9,434,371.202,2082,392.377]],["content/537",[]],["keywords/537",[]],["title/538",[136,228.606,358,245.059,2082,462.65]],["content/538",[4,8.326,35,4.421,60,5.529,63,9.86,67,8.606,72,8.326,102,4.867,112,9.978,121,7.203,136,3.677,153,6.269,197,6.269,204,5.618,208,4.05,284,8.239,339,9.414,434,9.845,436,7.203,447,5.872,632,7.845,674,8.921,951,15.325,1054,8.326,1249,12.541,1543,7.598,1672,11.093,2082,7.441,2162,8.921]],["keywords/538",[]],["title/539",[317,375.584,632,594.176]],["content/539",[1,3.649,46,7.813,62,6.333,265,6.085,277,3.938,317,7.454,349,5.828,571,7.978,632,9.221,696,11.23,1266,10.115,1293,9.585,1774,10.486]],["keywords/539",[]],["title/540",[45,246.448,632,594.176]],["content/540",[35,5.581,38,6.589,45,4.346,64,6.64,78,4.624,94,7.267,102,3.811,152,4.423,153,4.908,252,5.778,256,4.284,296,6.26,302,5.875,305,6.985,317,3.883,322,5.554,339,7.371,349,3.883,352,5.226,383,6.385,551,15.714,621,6.663,632,6.142,686,6.385,700,5.101,704,8.309,724,11.1,946,6.738,1482,8.905,1575,7.597,1662,10.655,1708,12.298,1791,8.488,1867,14.03,1964,7.481,2106,7.993,2178,9.152,2180,11.318,2368,9.152,2454,8.905,2968,8.488,2969,10.159,3459,7.993,4470,12.326]],["keywords/540",[]],["title/541",[35,216.104,277,208.292,632,487.762]],["content/541",[18,5.697,35,5.506,53,9.064,62,6.672,275,8.351,277,3.213,285,5.73,340,5.331,347,13.141,349,6.14,404,5.867,467,9.163,573,7.763,593,8.902,632,7.524,859,11.556,1041,8.597,1054,7.985,1293,7.821,1340,11.338,1774,11.047,2105,9.029,2162,8.556,2488,11.21,4456,13.051,4471,13.864]],["keywords/541",[]],["title/542",[208,197.97,277,208.292,632,487.762]],["content/542",[18,5.545,53,8.907,62,6.557,208,4.857,275,8.129,277,5.204,285,5.578,340,5.19,349,6.034,359,9.636,404,5.711,467,8.92,573,7.628,593,8.666,632,7.324,859,11.249,1041,8.487,1054,7.773,1293,7.614,1340,11.142,1774,10.856,2105,8.79,2162,8.329,2488,10.913,4456,12.705,4471,13.496]],["keywords/542",[]],["title/543",[305,675.723,632,594.176]],["content/543",[1,3.946,9,8.335,305,11.338,349,6.302,632,9.97,2445,15.848]],["keywords/543",[]],["title/544",[60,418.815,112,594.176]],["content/544",[4,8.096,35,3.379,40,8.675,41,7.851,46,6.463,52,4.682,53,7.117,60,6.908,112,10.828,136,3.575,158,6.058,208,3.096,317,4.822,349,4.822,404,7.642,434,8.794,556,10.786,615,7.49,621,8.274,632,7.628,749,8.903,1036,10.318,1266,8.368,1340,8.903,1673,9.29,2370,14.091,2651,10.786,2652,9.025,2779,12.125,2883,8.786,4472,15.307,4473,11.365]],["keywords/544",[]],["title/545",[35,216.104,946,535.102,2879,623.514]],["content/545",[]],["keywords/545",[]],["title/546",[0,912.046]],["content/546",[1,3.531,35,5.354,151,6.958,174,10.167,187,6.531,220,8.193,224,5.888,279,6.641,322,8.067,789,10.708,1177,11.406,1287,8.535,1297,8.535,2654,13.294,2879,11.406]],["keywords/546",[]],["title/547",[224,392.104,855,500.068]],["content/547",[5,2.651,35,5.045,55,9.678,139,3.06,174,8.005,217,5.508,224,7.514,256,5.936,284,8.938,296,8.673,349,5.379,350,3.943,803,9.231,819,9.336,855,7.162,938,13.197,1582,13.527,2879,10.878,4474,15.681]],["keywords/547",[]],["title/548",[35,263.251,53,554.39]],["content/548",[1,2.574,5,2.026,9,5.437,35,5.126,38,6.978,53,6.069,64,6.84,75,5.973,88,5.331,91,4.925,119,6.629,121,5.973,138,5.102,144,2.596,151,8.749,153,5.197,159,9.678,160,3.529,189,5.197,192,3.58,207,10.982,224,4.292,240,4.422,259,7.916,279,4.841,282,7.806,318,3.865,322,5.881,378,6.566,543,8.314,544,8.175,744,6.169,1177,8.314,1287,6.221,1389,9.197,1591,6.275,1837,9.43,2106,8.464,2182,9.43,2183,11.985,2184,11.985,2479,11.985,2488,9.691,4475,13.052,4476,13.052]],["keywords/548",[]],["title/549",[48,322.245,1876,803.767]],["content/549",[]],["keywords/549",[]],["title/550",[0,912.046]],["content/550",[6,9.907,35,3.657,39,9.162,48,5.588,84,5.395,136,3.869,144,2.14,153,6.597,203,9.388,208,3.351,224,5.448,259,9.246,277,3.525,358,5.177,558,11.968,564,10.553,621,8.954,632,8.255,915,12.679,1242,8.954,1403,12.3,1876,13.938,2961,13.122,4477,15.212,4478,15.212]],["keywords/550",[]],["title/551",[48,264.532,1876,659.816,2082,462.65]],["content/551",[]],["keywords/551",[]],["title/552",[136,228.606,358,245.059,2082,462.65]],["content/552",[50,8.888,51,4.68,59,5.683,72,6.823,162,3.458,203,9.953,322,7.913,349,5.532,350,2.979,358,3.23,378,6.489,404,5.013,573,7.951,632,6.428,749,7.503,848,7.572,849,11.423,855,5.41,921,11.838,952,8.517,1041,8.929,2091,9.389,2155,9.601,2162,9.953,2510,12.375,4479,10.218,4480,12.9,4481,12.9,4482,12.9]],["keywords/552",[]],["title/553",[358,245.059,383,507.061,2082,462.65]],["content/553",[45,3.613,139,2.539,162,2.82,203,9.907,275,9.669,277,3.72,322,7.876,358,5.351,425,10.307,591,13.847,649,8.966,859,13.38,1295,12.318,1543,6.634,3197,12.318,4478,16.052,4483,17.481,4484,17.481,4485,17.481,4486,17.481,4487,17.481]],["keywords/553",[]],["title/554",[203,554.704,358,245.059,855,410.509]],["content/554",[]],["keywords/554",[]],["title/555",[4488,1192.361,4489,1192.361]],["content/555",[18,5.775,48,4.137,59,8.664,102,6.081,187,5.583,217,6.343,224,7.801,256,6.836,340,5.405,358,3.832,376,5.496,378,9.893,558,11.059,573,7.831,803,8.274,938,14.364,1041,7.831,1876,10.318,1964,11.936,2091,8.183,2162,11.145,4474,18.059]],["keywords/555",[]],["title/556",[1476,464.673,1910,762.291,4490,830.14,4491,830.14]],["content/556",[7,4.847,45,4.115,48,3.466,102,5.409,160,3.487,187,4.678,208,3.538,265,5.752,273,7.099,277,4.762,340,4.529,350,4.039,358,5.782,378,6.452,436,5.869,621,6.933,623,14.418,628,9.562,683,9.816,855,8.968,1146,6.276,1175,10.883,1237,11.282,1337,9.913,1476,9.792,1543,4.867,1666,9.655,1686,9.266,1876,8.646,2194,11.087,2715,11.777,3074,11.777,4492,19.907]],["keywords/556",[]],["title/557",[358,298.523,1337,675.723]],["content/557",[53,8.193,275,9.745,322,7.939,358,6.297,952,8.545,1041,8.553,1337,12.172,1476,9.863,1575,10.86,2091,11.482,2510,15.135,4436,16.18]],["keywords/557",[]],["title/558",[358,298.523,852,558.933]],["content/558",[18,7.487,48,4.195,188,8.688,194,4.777,275,8.585,322,6.993,358,6.201,376,4.337,621,10.726,852,11.167,952,9.623,1041,9.18,1543,5.89,2091,10.608,2162,11.245,4275,13.111,4493,18.908]],["keywords/558",[]],["title/559",[259,533.171,358,298.523]],["content/559",[38,8.662,42,9.834,53,7.533,67,11.147,102,5.01,136,3.784,144,2.094,194,4.987,256,5.632,259,10.792,322,7.3,327,8.961,351,8.48,358,4.057,400,14.878,791,11.158,1041,6.452,1166,9.553,1543,6.149,1550,10.506,1666,9.889,2576,16.807,2922,13.354,3259,12.834,4494,16.203]],["keywords/559",[]],["title/560",[48,322.245,359,599.787]],["content/560",[]],["keywords/560",[]],["title/561",[0,912.046]],["content/561",[48,6.441,121,8.611,194,5.792,224,6.188,277,4.004,358,4.711,359,9.466,621,10.172,1526,12.202,1663,13.26,1774,10.664]],["keywords/561",[]],["title/562",[48,264.532,359,492.368,2082,462.65]],["content/562",[]],["keywords/562",[]],["title/563",[136,228.606,358,245.059,2082,462.65]],["content/563",[7,3.704,50,8.888,51,4.849,59,5.889,72,7.07,162,3.509,322,8.106,349,5.667,350,3.087,378,6.724,404,5.194,573,8.097,749,7.774,848,7.756,849,11.544,855,5.606,921,12.127,952,8.725,1041,9.039,2091,9.617,2155,9.835,2162,10.195,2510,12.677,4479,10.588,4495,11.555]],["keywords/563",[]],["title/564",[622,821.123,1476,667.427]],["content/564",[1,2.718,5,2.139,7,5.088,18,6.928,48,4.963,84,4.489,130,4.766,157,6.461,273,8.38,277,3.908,279,5.112,298,11.36,317,4.342,349,6.504,404,5.356,622,16.581,674,7.811,699,10.234,843,8.495,855,5.781,952,6.684,1041,8.223,1146,6.744,1463,11.915,1554,13.39,2091,9.817,2162,10.406,2507,10.918,2879,8.78,3234,11.915,4275,12.133,4496,18.363,4497,13.783,4498,13.783]],["keywords/564",[]],["title/565",[2158,1257.008]],["content/565",[]],["keywords/565",[]],["title/566",[0,912.046]],["content/566",[1,3.196,5,2.515,35,3.577,45,3.349,67,11.147,84,5.277,137,7.015,207,8.858,208,3.277,278,7.414,349,6.423,467,13.543,722,13.473,849,10.068,855,6.795,859,12.401,1146,7.928,1686,11.706,1735,12.401,2158,13.354,4499,16.203,4500,16.203,4501,22.314]],["keywords/566",[]],["title/567",[277,253.734,359,599.787]],["content/567",[]],["keywords/567",[]],["title/568",[0,912.046]],["content/568",[40,9.318,45,3.399,50,5.715,51,7.466,52,3.914,88,6.716,152,5.9,158,6.507,208,3.326,265,5.407,277,4.38,349,6.483,358,5.624,359,10.352,423,7.298,542,8.989,1041,6.548,1235,13.025,1501,9.438,2482,9.094,2556,12.209,2651,11.587,2652,9.695,2674,10.474]],["keywords/568",[]],["title/569",[277,208.292,359,492.368,2082,462.65]],["content/569",[]],["keywords/569",[]],["title/570",[136,228.606,358,245.059,2082,462.65]],["content/570",[7,5.214,50,7.767,51,6.826,350,4.345,849,9.291,951,14.403,1543,7.141,1774,10.664,3731,17.28,4479,14.906,4502,18.818,4503,18.818]],["keywords/570",[]],["title/571",[358,245.059,1774,554.704,2082,462.65]],["content/571",[62,6.333,137,7.61,345,9.684,351,9.684,358,5.925,568,7.063,647,10.486,4504,23.665,4505,18.503,4506,18.503]],["keywords/571",[]],["title/572",[277,253.734,855,500.068]],["content/572",[41,8.826,45,3.557,53,8.002,157,8.067,277,4.879,322,7.754,358,5.3,359,8.657,376,4.809,404,6.687,436,7.875,573,8.43,746,9.302,1041,6.853,1175,9.408,1237,9.753,1340,10.009,2082,8.134,2116,14.184,4473,12.778]],["keywords/572",[]],["title/573",[1501,875.375]],["content/573",[208,3.774,265,6.136,322,8.407,358,5.566,493,12.329,542,10.201,573,7.43,855,7.826,1041,7.43,1501,12.761,2162,12.6]],["keywords/573",[]],["title/574",[158,471.87,1031,723.668]],["content/574",[]],["keywords/574",[]],["title/575",[0,912.046]],["content/575",[4,8.267,38,10.656,39,8.645,53,7.268,60,5.49,97,6.6,111,12.883,131,9.634,158,9.448,185,7.581,187,5.701,208,3.161,277,3.326,284,8.181,323,9.957,345,8.181,358,5.494,621,8.449,1031,9.487,1275,11.015,1340,9.091,1377,9.487,1964,9.487,2370,10.136,2651,11.015,2652,9.216,2661,11.964,4410,13.512,4473,11.606,4507,15.631]],["keywords/575",[]],["title/576",[158,387.36,1031,594.063,2082,462.65]],["content/576",[]],["keywords/576",[]],["title/577",[136,228.606,358,245.059,2082,462.65]],["content/577",[1,3.167,7,5.838,38,4.686,39,4.848,45,1.812,50,8.367,51,3.18,52,2.087,59,3.862,64,4.527,72,4.636,78,3.288,97,5.613,102,2.71,138,3.427,142,4.409,158,9.112,162,3.108,194,2.698,208,1.773,224,4.372,243,3.346,265,2.882,277,2.829,302,4.178,322,8.075,345,11.026,349,5.646,350,3.07,351,6.957,358,5.274,378,4.409,404,5.166,442,5.402,447,3.27,573,5.294,698,4.011,749,5.098,848,5.731,849,10.012,855,3.676,921,8.961,952,8.692,1041,8.389,1337,4.967,1543,5.045,1964,5.32,2091,9.582,2155,7.267,2162,10.157,2510,11.316,2834,6.177,2974,8.193,3846,6.709,4479,6.943,4508,8.765,4509,8.765,4510,8.765,4511,8.765]],["keywords/577",[]],["title/578",[158,471.87,358,298.523]],["content/578",[1,1.626,5,1.969,18,3.11,37,2.779,38,6.781,39,4.559,40,8.762,41,4.228,45,2.622,51,4.601,52,3.681,69,4.93,97,5.356,121,3.772,144,1.639,157,3.864,158,8.977,159,4.507,162,2.494,173,5.469,185,3.998,243,3.147,244,4.842,254,5.345,258,4.794,265,2.711,277,3.989,282,4.93,284,4.314,290,4.614,292,3.303,296,6.442,317,2.597,322,3.714,332,4.559,340,2.911,345,10.359,346,11.17,349,6.495,358,6.131,423,7.705,425,4.86,436,3.772,503,5.557,575,4.732,583,5.557,636,6.309,643,5.715,673,3.772,674,4.672,704,5.557,734,7.126,790,6.442,819,4.507,849,4.07,1031,9.384,1041,6.157,1146,6.207,1242,4.456,1478,5.677,1742,5.956,1818,7.57,2091,6.781,2105,4.93,2482,4.559,2489,8.938,2509,7.57,2620,9.709,2651,10.895,2652,9.116,2661,6.309,2834,5.809,2861,7.126,2864,7.57,2910,7.126,2973,6.794,3444,6.794,3846,6.309,3978,10.965,4316,7.57,4512,8.244,4513,7.57,4514,8.244,4515,8.244,4516,8.244,4517,8.244]],["keywords/578",[]],["title/579",[60,418.815,158,471.87]],["content/579",[5,2.971,38,10.234,41,9.818,60,6.724,158,7.576,322,8.625,433,12.649,1340,11.134,2370,14.637,4473,14.213]],["keywords/579",[]],["title/580",[53,554.39,612,734.894]],["content/580",[]],["keywords/580",[]],["title/581",[0,912.046]],["content/581",[1,3.503,35,3.921,53,8.258,61,11.377,136,5.43,188,9.942,252,8.326,277,3.78,278,9.876,378,8.934,612,10.947,620,8.851,631,13.594,852,8.326,1556,11.736]],["keywords/581",[]],["title/582",[136,228.606,358,245.059,2082,462.65]],["content/582",[51,8.646,61,10.933,130,6.507,336,7.447,404,7.312,848,8.113,4518,18.818,4519,18.818,4520,18.818,4521,18.818]],["keywords/582",[]],["title/583",[136,278.481,1166,703.024]],["content/583",[52,3.829,53,10.34,61,10.882,62,6.947,136,5.624,197,6.405,265,5.289,278,10.176,351,8.418,373,9.932,612,9.914,952,7.801,1166,11.968,1358,9.355,1461,11.335,1462,10.843,1666,7.801,1846,14.664,2959,13.258]],["keywords/583",[]],["title/584",[139,142.147,1166,577.115,2568,659.816]],["content/584",[1,2.685,41,6.982,45,2.814,53,8.468,61,6.661,136,5.118,139,1.977,141,7.638,173,5.869,225,4.19,226,7.278,241,9.866,280,11.407,331,8.334,351,7.125,352,5.873,353,5.788,404,5.29,612,11.225,889,11.221,1054,7.2,1166,12.1,1287,6.489,1297,6.489,1341,11.225,1666,9.953,1837,9.835,2099,13.522,2352,11.225,2568,13.834,2654,10.108,2974,11.225,4522,11.768,4523,11.768,4524,13.614]],["keywords/584",[]],["title/585",[4522,1318.333]],["content/585",[1,1.919,5,1.51,7,3.982,18,5.423,35,3.773,45,2.97,53,7.947,102,5.285,130,3.364,136,4.924,139,3.722,143,2.98,144,1.257,162,2.318,181,3.453,189,3.874,192,1.967,195,8.722,201,5.2,204,3.472,217,5.513,220,6.576,256,4.995,262,6.428,265,3.199,282,5.817,308,7.705,352,4.581,375,4.165,442,8.858,573,3.874,628,4.35,646,3.649,671,4.317,673,4.451,686,5.039,700,4.026,742,4.317,774,12.025,1146,4.76,1293,5.039,1362,5.904,1803,13.303,2356,6.629,2568,11.521,3193,7.223,3990,11.845,4522,8.409,4525,8.933,4526,8.933,4527,8.933,4528,8.933,4529,9.728,4530,8.409,4531,9.728,4532,17.091,4533,9.728,4534,9.728,4535,9.728,4536,9.728,4537,9.728,4538,9.728,4539,9.728,4540,8.933]],["keywords/585",[]],["title/586",[4523,1318.333]],["content/586",[1,2.093,5,1.647,7,4.244,29,4.124,35,3.381,45,3.166,53,9.148,102,3.282,130,3.67,136,4.872,139,3.735,143,3.252,144,1.371,162,2.471,189,4.226,195,9.295,201,5.674,217,3.423,219,6.448,262,7.013,265,3.49,282,6.347,336,6.061,352,4.817,443,5.737,628,4.746,671,4.71,673,4.857,686,5.498,742,4.71,774,12.533,799,8.748,876,8.748,1146,5.193,1166,10.595,1296,8.123,1362,6.441,1365,11.722,2192,9.174,2356,4.895,3193,7.88,4523,9.174,4525,9.746,4527,16.501,4528,9.746,4541,15.316,4542,8.748,4543,15.316,4544,17.97,4545,10.613,4546,10.613,4547,10.613,4548,10.613]],["keywords/586",[]],["title/587",[208,241.161,359,599.787]],["content/587",[]],["keywords/587",[]],["title/588",[0,912.046]],["content/588",[50,6.224,59,7.888,69,10.708,124,9.371,136,4.182,208,4.387,349,5.64,359,10.91,554,11.124,671,7.947,716,13.704,1235,14.183,1332,11.61,1834,8.917,2109,7.22]],["keywords/588",[]],["title/589",[136,228.606,358,245.059,2082,462.65]],["content/589",[7,3.704,50,8.888,51,4.849,59,5.889,72,7.07,162,3.509,322,8.106,349,5.667,350,3.087,378,6.724,404,5.194,573,8.097,749,7.774,848,7.756,849,11.544,855,5.606,921,12.127,952,8.725,1041,9.039,2091,9.617,2155,9.835,2162,10.195,2510,12.677,4479,10.588,4495,11.555]],["keywords/589",[]],["title/590",[855,500.068,1834,490.198]],["content/590",[45,4.789,182,9.986,349,5.55,351,9.222,362,8.471,436,8.063,593,10.389,855,9.717,1041,7.016,1175,11.742,1237,12.172,1834,9.916]],["keywords/590",[]],["title/591",[404,463.326,1834,490.198]],["content/591",[7,4.046,18,5.509,45,3.942,102,4.515,124,7.642,130,5.049,162,3.077,167,7.344,188,8.173,197,5.814,256,5.075,277,4.521,336,5.778,358,3.655,359,7.344,404,7.412,540,9.145,615,7.144,628,6.529,671,6.48,821,9.647,848,6.295,855,6.123,1041,5.814,1834,10.388,1935,8.609,2123,9.647,2162,8.274,3476,9.468,3758,9.468,4275,9.647,4433,13.407,4549,14.601]],["keywords/591",[]],["title/592",[852,558.933,1834,490.198]],["content/592",[5,3,18,5.62,42,9.04,208,3.013,227,3.881,239,11.799,327,8.238,349,4.692,359,7.493,542,8.143,628,6.66,677,10.564,849,9.541,852,9.058,1041,7.695,1166,11.393,1335,9.842,1516,10.496,1556,9.842,1666,7.224,1834,9.908,2091,10.331,2105,8.908,2155,8.143,2162,8.441,2510,10.496,2882,11.06,3809,10.258,3961,13.026,4275,9.842,4493,12.876]],["keywords/592",[]],["title/593",[612,603.278,1054,517.683,1834,402.406]],["content/593",[18,4.574,42,7.358,67,6.628,130,4.192,142,6.098,143,3.714,194,5.949,198,6.098,271,7.358,290,6.786,291,12.88,294,8.759,302,5.779,346,8.759,513,7.25,542,6.628,625,8.9,649,6.218,789,10.064,790,6.157,848,5.227,1036,8.172,1041,7.697,1054,10.223,1123,10.48,1175,6.628,1543,6.386,1665,8.349,1666,8.161,1693,8.011,1803,8.543,1834,10.137,1996,9.279,2091,8.996,2105,11.559,2894,11.858,3147,14.351,3809,13.311,3961,11.344,4550,11.133,4551,12.124,4552,12.124,4553,16.828,4554,12.124,4555,15.453,4556,11.133]],["keywords/593",[]],["title/594",[620,594.176,1834,490.198]],["content/594",[50,6.654,119,9.722,129,10.588,208,4.565,279,7.1,620,9.539,1834,9.869,2109,7.719]],["keywords/594",[]],["title/595",[208,241.161,2631,861.436]],["content/595",[]],["keywords/595",[]],["title/596",[0,912.046]],["content/596",[4,9.102,50,5.982,91,6.493,194,5.297,208,4.282,285,6.531,296,8.74,447,6.419,628,7.695,695,11.574,752,10.178,849,8.497,1834,7.075,2631,12.433,2943,14.362,2980,15.803,4410,14.877,4557,17.21,4558,17.21]],["keywords/596",[]],["title/597",[208,197.97,2082,462.65,2631,707.157]],["content/597",[]],["keywords/597",[]],["title/598",[136,228.606,358,245.059,2082,462.65]],["content/598",[7,3.66,50,8.916,51,4.791,59,5.819,72,6.985,162,3.492,322,8.04,349,5.621,350,3.05,378,6.644,404,5.132,573,8.048,749,7.682,848,7.694,849,11.503,855,5.539,921,12.029,952,8.654,1041,9.002,2091,9.54,2155,9.756,2162,10.113,2510,12.575,2943,8.273,4495,11.417,4559,13.208]],["keywords/598",[]],["title/599",[358,245.059,2082,462.65,2943,613.069]],["content/599",[5,1.304,7,5.752,18,4.856,48,4.738,49,4.11,52,3.724,67,4.592,79,3.206,84,2.736,139,1.869,143,2.574,157,3.938,158,3.324,182,4.76,194,2.585,208,2.603,217,5.655,224,6.558,252,3.938,256,4.473,273,3.409,284,4.396,292,6.268,321,3.756,325,4.821,332,4.646,340,5.524,349,4.054,350,1.94,358,2.103,362,4.038,378,4.225,404,3.264,414,6.654,443,6.956,513,5.023,621,4.54,628,8.917,646,3.151,651,5.023,652,4.351,704,8.675,808,4.443,830,10.336,840,5.177,849,4.147,852,8.219,882,8.198,883,7.932,938,9.798,1041,3.345,1054,6.806,1189,5.662,1242,4.54,1302,7.261,1335,5.55,1365,6.429,1471,6.654,1516,5.919,1524,6.654,1526,5.447,1543,7.174,1591,4.038,1673,5.098,2091,4.491,2105,5.023,2155,4.592,2162,7.293,2302,7.261,2489,5.919,2631,12.667,2698,7.713,2779,6.654,2943,14.66,3014,11.169,3450,7.713,3809,5.785,3890,7.713,4275,8.503,4314,7.261,4493,7.261,4560,8.4,4561,8.4,4562,8.4,4563,8.4,4564,8.4,4565,8.4,4566,8.4,4567,11.817]],["keywords/599",[]],["title/600",[358,298.523,855,500.068]],["content/600",[18,4.925,39,7.219,45,3.659,157,6.118,194,4.017,224,4.292,256,4.537,273,8.152,277,3.767,351,6.831,358,5.945,362,8.511,404,5.072,425,7.696,436,8.1,503,8.798,593,10.437,649,9.079,758,5.836,855,9.443,1041,5.197,1157,9.691,1175,10.982,1189,11.933,1237,11.384,1377,7.922,1470,11.283,1476,7.306,1535,10.758,1665,8.988,2879,12.796,2943,14.872,3790,11.283,4025,10.339]],["keywords/600",[]],["title/601",[612,603.278,1054,517.683,2943,613.069]],["content/601",[7,2.927,67,10.732,78,5.726,102,3.266,121,4.833,130,3.653,141,4.43,142,5.313,157,4.951,194,6.409,198,7.678,234,5.078,254,6.849,290,5.912,291,11.682,292,6.116,294,7.631,302,5.035,309,5.123,346,7.631,351,5.528,425,11.574,542,5.774,632,5.264,649,5.417,789,9.128,790,5.365,792,7.631,843,6.51,848,4.554,1041,4.206,1054,10.382,1666,10.098,1693,6.979,2105,6.317,2493,10.085,2894,7.443,2943,15.655,3147,13.306,3259,12.09,3616,9.699,3724,8.16,3727,10.156,3758,9.897,3809,7.274,3961,7.12,3962,7.443,4025,8.367,4550,9.699,4555,9.699,4556,9.699,4568,17.921,4569,17.921,4570,17.921]],["keywords/601",[]],["title/602",[352,319.604,353,506.944]],["content/602",[]],["keywords/602",[]],["title/603",[0,912.046]],["content/603",[1,3.896,3,11.489,39,8.525,45,3.186,49,7.542,54,8.965,121,7.053,136,4.614,153,6.138,185,7.475,187,7.205,225,4.744,352,6.78,353,9.269,573,7.866,621,8.331,643,6.945,849,7.61,1166,9.088,1287,7.347,1556,10.185,2155,8.426,2459,8.426,2654,11.444]],["keywords/603",[]],["title/604",[352,262.365,353,416.153,2082,462.65]],["content/604",[]],["keywords/604",[]],["title/605",[136,228.606,358,245.059,2082,462.65]],["content/605",[3,6.451,5,2.859,11,4.621,41,5.689,45,3.267,51,7.282,97,4.683,136,5.767,157,5.199,162,1.789,170,7.477,188,6.209,192,2.243,207,6.064,209,4.997,224,3.647,254,7.192,256,3.855,262,7.329,307,6.135,329,9.846,338,9.741,349,4.979,355,6.633,376,3.099,378,5.579,404,4.31,571,6.815,573,8.45,574,6.54,649,5.689,750,7.233,848,4.782,849,9.912,855,6.63,921,7.477,1041,6.295,1146,5.427,1242,5.995,1340,6.451,1556,7.329,1774,8.958,1819,7.816,1964,6.732,2162,11.377,2585,9.142,3256,9.142,4473,8.235,4571,11.092,4572,11.092,4573,11.092,4574,11.092,4575,11.092,4576,11.092,4577,11.092,4578,15.807]],["keywords/605",[]],["title/606",[352,262.365,358,245.059,2082,462.65]],["content/606",[46,6.007,51,6.802,60,4.997,64,4.844,143,4.358,166,8.274,194,4.378,208,2.877,225,5.771,227,3.706,241,6.839,256,4.945,265,4.678,305,8.062,322,8.449,349,4.481,352,6.601,640,10.888,825,7.963,1166,8.388,1287,9.998,1388,9.4,1441,12.297,1526,9.224,1606,7.689,2454,10.277,2526,9.062,2924,11.268,4398,13.063,4579,14.226,4580,14.226,4581,14.226,4582,14.226,4583,14.226,4584,14.226,4585,14.226,4586,14.226,4587,14.226,4588,14.226]],["keywords/606",[]],["title/607",[225,366.989,352,319.604]],["content/607",[40,7.311,46,5.447,51,4.68,72,6.823,141,8.374,150,5.683,183,8.919,194,5.405,208,3.552,217,4.161,225,3.97,256,6.104,258,7.503,260,8.524,284,6.752,294,9.32,325,7.404,329,6.896,332,7.135,350,2.979,352,6.201,423,5.725,434,5.768,436,8.036,573,6.993,575,7.404,628,5.768,653,7.503,758,5.768,836,7.829,1041,7.951,1235,10.218,1253,6.149,1287,8.371,1335,8.524,1463,11.151,1478,8.884,1543,6.665,1556,8.524,1575,7.951,1666,8.517,1837,9.32,2099,9.578,2124,9.578,2652,7.606,2883,7.404,2886,14.475,3457,10.218]],["keywords/607",[]],["title/608",[352,262.365,542,535.102,1041,389.769]],["content/608",[1,3.344,5,2.632,7,3.397,18,4.625,51,7.052,84,3.992,87,13.976,114,8.856,141,5.141,153,4.881,165,11.095,170,11.431,182,9.61,194,3.773,196,9.311,202,7.993,225,5.219,352,5.903,353,7.209,433,8.099,437,6.415,476,9.998,493,8.099,542,6.701,632,8.45,743,7.948,855,9.236,1041,6.752,1161,15.571,1287,10,1556,8.099,1673,7.439,1778,12.59,2428,10.596,2911,10.596,2924,13.432,3192,13.976,4275,8.099,4414,11.256,4589,16.957]],["keywords/608",[]],["title/609",[3,569.283,225,301.263,352,262.365]],["content/609",[3,14.098,5,2.552,130,5.686,136,4.807,149,11.88,182,9.318,192,3.326,197,6.548,204,5.868,314,10.299,318,3.59,352,6.021,353,6.991,362,7.905,404,7.997,699,12.209,1175,8.989,1237,9.318,1358,9.563,2082,7.772,2123,10.865,2459,8.989]],["keywords/609",[]],["title/610",[2459,833.74]],["content/610",[3,6.387,5,1.705,11,6.539,37,3.702,95,9.493,124,5.747,144,2.367,152,3.94,159,6.003,163,5.422,192,2.221,201,5.871,217,6.446,220,5.025,222,6.567,225,5.637,240,7.162,242,6.223,256,3.817,318,2.398,352,4.91,362,5.28,513,6.567,563,5.808,724,5.524,742,4.874,744,9.446,768,12.161,952,5.326,1041,4.373,1065,7.934,1152,12.907,1175,8.58,1237,8.895,1316,6.995,1568,7.563,1591,5.28,1666,7.612,2082,7.419,2356,8.448,2459,10.925,2683,10.371,2929,15.097,3681,10.084,4355,9.051,4356,9.493,4361,9.051,4590,10.982,4591,10.084,4592,10.084,4593,10.982,4594,10.982,4595,10.982,4596,10.084,4597,10.084,4598,9.493,4599,10.982,4600,10.084,4601,10.982,4602,9.493,4603,10.982]],["keywords/610",[]],["title/611",[3,886.997]],["content/611",[3,12.725,78,4.059,130,5.37,136,2.527,142,5.443,144,1.398,149,7.818,192,2.189,201,5.785,217,6.403,225,5.591,240,5.262,241,5.202,255,9.426,256,6.314,309,5.248,318,2.363,352,5.321,563,5.723,583,7.294,643,4.875,724,5.443,744,8.586,745,8.282,746,5.849,752,5.202,768,12.101,779,8.034,952,7.532,1041,7.234,1152,12.801,1175,8.49,1237,8.801,1471,8.571,1476,8.693,1666,5.248,2082,7.341,2356,7.163,2459,12.321,2929,14.973,4361,8.919,4598,9.354,4602,9.354,4604,9.354,4605,9.936,4606,9.936,4607,9.936,4608,15.53,4609,15.53,4610,15.53,4611,9.936,4612,10.821,4613,15.53]],["keywords/611",[]],["title/612",[3,569.283,153,389.769,352,262.365]],["content/612",[3,7.686,5,2.051,7,5.32,18,3.281,39,8.839,41,8.197,51,3.155,64,6.079,102,2.689,105,5.989,130,3.007,153,5.262,157,6.194,164,2.781,183,12.098,187,3.172,188,4.868,192,1.759,194,4.919,196,5.865,217,2.805,224,2.86,225,2.677,241,4.181,256,4.593,284,10.996,302,4.145,318,1.899,319,5.989,327,4.81,350,3.051,352,6.385,442,5.36,551,9.1,573,3.463,575,4.992,592,5.278,593,5.128,636,10.114,825,4.868,889,10.892,952,4.218,1041,5.262,1118,13.921,1125,8.731,1162,7.791,1203,8.731,1253,4.145,1287,9.636,1405,5.447,1461,6.128,1464,6.656,1591,4.181,1663,6.128,1830,7.518,1924,6.889,1964,9.7,2124,15.01,2426,10.114,2459,8.737,2650,6.889,2883,7.585,3921,6.889,4348,7.986,4614,8.697,4615,8.697,4616,8.697,4617,8.697,4618,8.697]],["keywords/612",[]],["title/613",[352,319.604,825,667.427]],["content/613",[7,4.331,60,7.001,69,9.348,112,9.933,139,2.27,141,9.204,182,8.858,185,7.581,194,4.811,196,8.846,203,8.858,248,10.326,260,10.328,284,8.181,352,5.343,355,9.348,376,5.57,574,9.216,575,8.972,592,12.097,724,7.863,795,6.989,825,8.749,875,7.863,1041,6.224,1287,7.451,1666,7.581,2264,11.606]],["keywords/613",[]],["title/614",[83,541.368,352,262.365,1027,470.582]],["content/614",[]],["keywords/614",[]],["title/615",[1911,1101.818]],["content/615",[]],["keywords/615",[]],["title/616",[314,746.821,316,803.767]],["content/616",[1,4.04,5,2.534,83,11.33,88,6.667,121,7.469,185,7.916,188,9.136,192,4.143,198,8.21,209,7.354,271,9.906,285,6.194,314,12.831,318,4.473,352,6.001,545,9.906,636,12.493,673,7.469,742,7.244,751,10.397,875,8.21,1027,7.847,1067,8.822,1341,10.06]],["keywords/616",[]],["title/617",[5,151.938,352,262.365,353,416.153]],["content/617",[4,4.991,5,1.465,11,3.932,18,3.561,35,3.707,51,3.424,60,3.315,63,5.911,64,3.214,79,6.409,86,8.666,97,3.985,110,5.911,112,4.703,136,2.204,141,5.894,150,4.158,166,5.489,168,6.499,174,4.424,183,9.447,187,5.126,194,2.905,202,5.777,208,2.842,209,6.332,224,3.104,225,4.325,227,2.459,234,4.537,254,6.12,256,3.28,284,4.939,321,4.22,322,4.252,327,7.772,332,5.22,349,5.288,352,6.279,353,5.975,355,5.644,433,6.236,503,6.362,543,6.012,573,3.758,593,5.564,615,4.618,628,4.22,722,6.236,742,4.189,843,8.661,849,4.66,852,4.424,874,4.618,952,4.577,1189,6.362,1253,6.698,1287,9.48,1335,6.236,1405,5.911,1452,8.158,1462,6.362,1543,3.582,1587,5.045,1588,5.417,1606,5.101,1663,6.65,1665,6.499,1666,9.645,1691,6.12,1733,7.223,1862,9.285,2082,4.461,2105,8.404,2124,7.007,2352,5.817,2449,6.65,2866,7.779,2883,8.066,2886,7.779,3111,10.756,3130,8.158,3285,8.158,4275,6.236,4619,9.438,4620,9.438,4621,9.438,4622,9.438,4623,9.438]],["keywords/617",[]],["title/618",[208,241.161,376,333.189]],["content/618",[1,1.944,2,7.808,5,1.53,43,6.513,52,3.455,62,6.931,69,8.679,137,7.891,143,3.02,155,5.056,181,7.189,208,5.16,217,3.179,265,5.664,272,5.658,274,5.586,277,3.088,290,5.518,296,7.371,309,9.214,352,2.642,358,5.07,376,4.813,423,4.375,432,11.05,443,5.328,568,7.73,615,4.823,628,6.49,647,8.225,657,7.808,658,6.946,741,13.267,743,6.392,748,6.946,750,4.511,757,6.513,775,3.29,785,7.808,1200,4.476,1352,10.972,1526,6.392,1756,7.319,2462,8.125,2521,8.125,2646,7.319,2861,12.545,2949,8.521,3898,9.052,4624,9.858]],["keywords/618",[]],["title/619",[352,262.365,353,416.153,1027,470.582]],["content/619",[1,4.156,5,3.547,79,8.723,91,6.443,129,9.445,143,5.232,240,7.138,279,6.334,352,4.577,353,7.26,433,11.284,545,10.364,554,8.758,671,9.351,1027,8.21,1307,14.762,1386,9.932,2352,10.525]],["keywords/619",[]],["title/620",[1,163.73,2595,684.219,2984,684.219,4625,762.291]],["content/620",[1,3.243,5,2.552,35,3.63,79,6.277,143,5.038,208,3.326,240,7.611,320,9.98,352,5.516,353,8.75,434,7.353,637,10.299,817,13.025,818,11.88,1027,9.894,1291,12.209,1337,13.342,4625,15.099,4626,16.443,4627,13.553,4628,15.099,4629,15.099]],["keywords/620",[]],["title/621",[1,163.73,2595,684.219,2984,684.219,4630,830.14]],["content/621",[1,1.317,5,3.554,29,2.596,35,5.41,38,2.032,51,1.379,62,3.679,79,1.451,143,1.165,155,1.95,208,4.996,240,2.263,349,1.197,352,5.475,353,8.684,359,5.407,376,3.42,434,10.957,495,3.36,758,1.7,817,5.291,818,4.826,848,2.88,874,1.86,1027,1.828,1266,2.078,1291,19.008,1466,3.286,1588,2.182,2904,2.679,4186,3.011,4312,3.491,4403,3.011,4627,3.133,4628,3.491,4629,3.491,4631,10.748,4632,3.801,4633,6.134,4634,3.801,4635,3.133,4636,3.801,4637,3.801,4638,3.801,4639,3.801,4640,3.491,4641,3.801,4642,3.801,4643,3.801,4644,3.801,4645,6.134,4646,3.801,4647,3.491,4648,3.801,4649,3.801,4650,3.801,4651,3.286,4652,3.801,4653,3.801,4654,3.801,4655,6.134,4656,3.801,4657,3.801,4658,8.204,4659,3.801,4660,3.801,4661,3.801,4662,3.801,4663,18.587,4664,3.801,4665,6.134,4666,3.801,4667,3.801,4668,3.801,4669,3.801,4670,3.801,4671,3.801,4672,8.204,4673,3.801,4674,3.801,4675,3.801,4676,3.286,4677,3.801,4678,3.801,4679,3.801,4680,3.801,4681,3.801,4682,3.801,4683,3.286,4684,3.491,4685,3.801,4686,3.801,4687,3.801,4688,3.801,4689,3.801,4690,3.801,4691,3.801,4692,3.801,4693,3.801,4694,3.801,4695,3.801,4696,3.801,4697,3.491,4698,3.801,4699,3.491,4700,3.801,4701,3.286,4702,3.801,4703,3.801,4704,3.801,4705,3.801,4706,3.491,4707,3.801,4708,3.801,4709,3.801,4710,3.801,4711,3.801,4712,3.801,4713,3.801,4714,3.801,4715,3.801,4716,3.801,4717,3.801,4718,3.801,4719,3.801,4720,3.801,4721,3.286,4722,3.801,4723,3.801,4724,3.801,4725,3.801,4726,3.801,4727,3.801,4728,3.801,4729,3.801,4730,3.286,4731,3.801]],["keywords/621",[]],["title/622",[64,333.304,757,646.758,3715,646.758]],["content/622",[52,4.72,64,6.752,194,6.103,240,6.718,352,5.315,676,8.099,749,11.532]],["keywords/622",[]],["title/623",[718,1007.71]],["content/623",[5,1.655,48,2.882,52,5.654,60,3.746,64,6.714,84,3.473,139,3.398,140,1.418,144,2.328,153,4.247,164,4.15,180,5.727,181,3.786,192,3.108,194,3.282,219,3.827,227,2.778,318,3.356,349,3.359,350,4.161,362,5.127,376,2.98,396,7.918,568,4.071,574,9.062,580,13.029,626,6.793,720,7.189,749,6.202,758,4.769,775,3.559,795,6.872,902,12.667,918,6.044,1295,7.515,1297,7.326,1781,7.515,2131,12.667,2239,13.285,2268,9.219,3333,6.915,3715,10.155,3990,8.79,4157,12.667,4339,21.09,4732,10.664,4733,9.793,4734,9.793,4735,9.793,4736,9.793,4737,9.793,4738,15.369]],["keywords/623",[]],["title/624",[4333,1400.437]],["content/624",[5,1.688,52,4.736,60,3.819,64,6.775,139,3.414,140,1.446,144,2.354,153,4.33,155,5.577,164,4.188,180,5.778,181,8.196,192,3.152,194,3.347,227,2.833,318,3.403,349,3.425,350,4.206,396,8.074,574,9.189,580,13.146,720,7.33,749,6.324,758,4.862,775,5.201,892,12.846,902,12.846,918,6.162,1295,7.662,1297,7.429,1781,7.662,2131,12.846,2239,13.472,2268,13.472,3715,10.298,3775,12.345,3990,8.962,4157,12.846,4733,9.985,4734,9.985,4735,9.985,4736,9.985,4737,9.985,4739,10.874,4740,23.087]],["keywords/624",[]],["title/625",[4343,1318.333]],["content/625",[]],["keywords/625",[]],["title/626",[4344,1318.333]],["content/626",[]],["keywords/626",[]],["title/627",[4345,1318.333]],["content/627",[41,5.242,52,5.404,59,9.452,64,5.075,112,7.427,130,3.535,139,3.416,140,1.359,144,1.926,192,3.014,198,11.833,217,3.297,227,2.663,240,3.463,318,3.254,447,8.775,574,6.027,775,3.411,855,6.25,1041,5.935,1067,9.507,1666,8.53,2059,5.867,2214,19.702,2356,6.874,4332,8.097,4343,8.836,4344,8.836,4345,8.836,4741,10.222,4742,14.903,4743,17.589,4744,10.222,4745,10.222,4746,10.222,4747,9.386,4748,10.222,4749,14.903,4750,22.703,4751,14.903,4752,14.903,4753,14.903]],["keywords/627",[]],["title/628",[4526,1400.437]],["content/628",[45,3.734,61,7.546,136,5.881,137,6.215,139,3.453,140,1.425,144,1.993,162,1.729,164,2.256,180,4.479,192,3.119,227,4.018,256,3.725,318,3.367,331,7.057,333,5.291,350,2.475,362,5.152,442,6.605,563,5.668,594,5.927,642,7.685,775,3.576,836,6.504,848,4.62,929,13.836,1027,5.152,1297,5.108,1347,6.232,1354,9.84,1479,7.38,1536,8.202,1574,8.202,2155,10.804,2356,7.113,2475,8.832,4530,9.263,4754,15.422,4755,13.332,4756,10.716,4757,9.263,4758,9.263,4759,15.422,4760,10.716,4761,15.422,4762,15.422,4763,10.716,4764,10.716,4765,14.162,4766,10.716,4767,9.84]],["keywords/628",[]],["title/629",[4542,1257.008]],["content/629",[45,3.995,48,4.548,61,8.234,102,3.749,136,5.629,139,3.032,140,1.612,144,2.174,162,1.956,181,6.861,192,3.404,209,5.462,227,3.158,256,4.214,318,3.674,331,7.7,333,5.986,594,6.705,642,8.386,679,11.589,848,7.255,892,9.992,929,8.011,1479,8.349,1709,8.349,2475,9.992,2526,7.723,3745,15.503,4755,10.48,4757,10.48,4758,10.48,4768,12.124,4769,12.124,4770,11.133,4771,19.328,4772,16.828,4773,12.124,4774,16.828,4775,12.124,4776,16.828,4777,16.828,4778,12.124,4779,12.124,4780,12.124,4781,12.124]],["keywords/629",[]],["title/630",[4782,1525.086]],["content/630",[45,4.491,58,6.695,102,4.733,130,5.293,136,5.356,139,2.856,140,2.035,144,1.978,162,2.469,192,3.978,227,3.988,256,5.321,318,4.294,331,8.999,333,7.558,571,6.599,594,8.466,637,9.587,929,10.114,1479,10.541,2155,10.752,4542,12.616,4755,13.232,4757,13.232,4758,13.232,4783,15.307,4784,15.307,4785,15.307,4786,15.307,4787,15.307]],["keywords/630",[]],["title/631",[4788,1400.437]],["content/631",[]],["keywords/631",[]],["title/632",[4789,1400.437]],["content/632",[1,1.579,28,5.783,29,3.111,41,6.36,45,1.655,64,2.726,88,3.27,89,3.403,91,3.02,102,2.475,112,8.518,130,2.768,136,5.693,139,3.143,140,2.273,142,7.635,144,1.602,152,2.872,153,6.807,162,1.291,192,3.07,194,2.464,209,3.607,217,2.582,227,3.231,240,4.201,279,2.969,318,2.708,333,3.953,340,2.827,349,2.522,376,3.465,404,3.111,443,4.327,447,4.626,621,4.327,752,7.297,775,2.672,842,5.641,855,7.169,1146,3.917,1251,8.959,1291,5.944,1315,5.783,1362,7.526,1473,6.127,1505,5.944,1709,10.453,1714,6.424,2162,8.602,2356,9.022,2489,5.641,3316,11.387,3809,5.513,4473,13.731,4477,7.351,4530,10.719,4540,11.387,4542,6.598,4684,11.387,4697,11.387,4765,11.387,4767,11.387,4788,7.351,4789,7.351,4790,8.005,4791,12.401,4792,17.093,4793,12.401,4794,12.401,4795,12.401,4796,8.005,4797,8.005,4798,8.005,4799,8.005,4800,12.401,4801,12.401,4802,12.401,4803,8.005,4804,12.401,4805,12.401,4806,8.005,4807,8.005,4808,15.179]],["keywords/632",[]],["title/633",[64,333.304,88,399.796,187,357.023]],["content/633",[64,6.875,240,6.84,1362,12.254,1405,12.646,2876,15.993]],["keywords/633",[]],["title/634",[574,899.2]],["content/634",[64,7.209,112,10.55,139,3.074,140,2.288,144,2.224,192,4.282,227,4.484,318,4.622,349,5.421,574,10.147,874,8.421,921,14.271,1666,8.346,2859,11.371,4747,15.803,4809,17.21,4810,17.21,4811,17.21]],["keywords/634",[]],["title/635",[35,336.711]],["content/635",[9,8.044,35,5.009,45,3.991,88,7.887,187,7.043,240,6.542,700,7.991,813,8.507,1735,14.779]],["keywords/635",[]],["title/636",[1587,815.315]],["content/636",[29,2.971,35,4.429,45,1.58,52,3.969,60,2.686,138,2.989,139,2.913,140,2.667,144,1.546,145,5.433,153,5.87,162,3.349,163,3.775,165,4.044,166,4.447,179,5.963,180,2.221,189,3.045,192,2.981,204,6.85,219,7.45,227,3.117,230,9.146,291,5.852,292,3.064,318,2.613,340,2.7,350,1.766,362,3.676,376,4.119,568,2.919,700,3.164,702,4.871,790,6.077,795,8.582,1202,7.881,1394,6.609,1488,7.262,1543,2.902,1740,7.156,1748,9.937,1749,10.945,1751,10.65,1752,12.15,1802,3.273,3333,4.958,4214,13.744,4245,10.343,4327,9.478,4812,16.675,4813,10.159,4814,8.066,4815,16.333,4816,13.462,4817,7.189,4818,7.262,4819,13.744,4820,13.744,4821,8.644,4822,14.741,4823,7.646,4824,7.646]],["keywords/636",[]],["title/637",[1719,1400.437]],["content/637",[5,1.247,11,3.347,29,3.122,35,4.66,45,2.57,52,4.077,60,2.822,106,4.295,138,3.141,139,1.806,140,2.806,144,1.607,145,5.646,150,3.54,153,4.952,162,3.405,163,3.967,165,4.249,166,4.673,179,6.197,189,3.199,192,2.515,204,6.112,219,7.574,227,3.24,230,9.299,268,10.242,292,3.219,302,3.83,318,2.715,321,3.593,340,2.837,350,1.855,362,3.863,376,4.251,568,3.067,700,5.146,702,5.118,790,6.316,803,4.343,1202,6.648,1414,6.364,1488,7.547,1543,3.049,1740,7.437,1748,8.383,1749,9.233,1751,8.984,1752,10.25,1802,3.44,3333,5.21,4327,9.85,4813,10.328,4814,8.383,4815,16.53,4816,13.687,4817,7.384,4818,7.547,4819,14.116,4820,14.116,4821,5.804,4825,6.622,4826,17.126,4827,12.435,4828,12.435]],["keywords/637",[]],["title/638",[1720,1400.437]],["content/638",[5,1.361,11,3.652,29,3.406,35,4.906,45,1.812,52,4.267,60,3.079,94,7.838,106,4.686,138,3.427,139,2.332,140,2.696,144,1.133,153,5.294,162,3.501,163,4.328,165,4.636,166,5.098,179,6.624,189,3.49,192,2.689,204,4.744,219,7.787,227,3.463,230,9.561,292,3.512,302,4.178,318,2.903,321,3.92,340,3.095,350,2.024,362,4.214,376,2.449,568,3.346,700,3.627,702,5.584,790,6.751,1202,7.107,1488,8.068,1543,3.326,1802,3.753,2367,5.684,2458,6.508,2800,6.508,3333,5.684,3396,6.508,3936,7.225,4813,10.619,4814,8.961,4815,16.864,4816,14.072,4817,7.727,4818,8.068,4819,14.773,4820,14.773,4821,6.333,4829,17.923,4830,8.765,4831,8.765,4832,8.049]],["keywords/638",[]],["title/639",[1721,1400.437]],["content/639",[5,1.225,11,3.287,29,3.066,35,4.758,45,1.631,52,4.038,60,2.772,94,7.231,106,4.219,138,3.085,139,1.781,140,2.79,144,1.585,145,5.568,150,3.476,153,4.883,162,3.385,163,3.896,165,4.174,166,4.59,179,6.111,189,3.142,192,2.48,204,6.054,219,7.529,227,3.195,230,9.244,268,10.144,292,3.162,302,3.761,318,2.678,321,3.529,340,2.786,350,1.822,362,3.794,376,4.203,399,6.504,568,3.012,700,3.266,702,5.027,790,6.228,803,4.265,1202,6.556,1488,7.443,1543,2.995,1740,7.334,1748,8.267,1749,9.105,1751,8.86,1802,3.378,2367,5.117,2458,5.859,2800,5.859,3333,5.117,3396,5.859,4197,10.601,4813,10.267,4814,8.267,4815,16.459,4816,13.606,4817,7.313,4818,7.443,4819,13.981,4820,13.981,4821,5.701,4825,6.504,4833,16.962,4834,12.263,4835,12.263,4836,12.263]],["keywords/639",[]],["title/640",[4837,1525.086]],["content/640",[29,3.252,35,4.577,45,1.73,52,4.165,60,2.939,138,3.271,139,1.863,140,2.647,144,1.658,145,5.826,153,5.11,162,3.45,163,4.132,165,4.426,166,4.867,179,6.394,189,3.332,192,2.595,204,6.245,219,7.674,225,2.576,227,3.343,230,9.422,292,3.353,302,3.989,318,2.802,340,2.955,350,1.932,362,4.023,376,4.361,568,3.194,646,4.814,700,3.463,702,5.331,741,5.241,790,6.517,795,7.824,1202,6.86,1488,7.788,1543,3.176,1740,7.674,1748,8.65,1749,9.527,1751,9.27,1802,3.583,2196,9.527,3333,5.426,4813,10.465,4814,8.65,4815,16.688,4816,13.869,4817,9.221,4818,7.788,4821,6.046,4838,17.498,4839,14.423,4840,12.832,4841,12.832]],["keywords/640",[]],["title/641",[4842,1525.086]],["content/641",[5,1.238,11,3.323,29,3.099,35,4.649,45,2.556,52,4.061,60,2.802,106,4.264,138,3.118,139,1.796,140,2.8,144,1.598,145,5.615,150,3.514,153,4.924,162,3.397,163,3.938,165,4.219,166,4.639,179,6.162,189,3.176,192,2.501,204,6.089,219,7.556,225,2.455,227,3.222,230,9.277,268,10.203,292,3.196,302,3.802,318,2.7,321,3.567,340,2.817,350,1.842,362,3.835,376,4.232,568,3.045,646,4.639,700,5.117,702,5.081,741,4.996,790,6.28,803,4.311,1202,6.611,1414,6.318,1488,7.505,1543,3.027,1740,7.395,1748,8.336,1749,9.182,1751,8.934,1802,3.415,2196,9.182,3333,5.172,4813,10.303,4814,8.336,4815,16.502,4816,13.654,4817,9.079,4818,7.505,4821,5.763,4825,6.574,4839,14.062,4843,17.06,4844,12.366,4845,12.366]],["keywords/641",[]],["title/642",[4846,1525.086]],["content/642",[5,1.35,11,3.623,29,3.379,35,4.895,45,1.797,52,4.249,60,3.055,94,7.791,106,4.649,138,3.4,139,2.321,140,2.688,144,1.124,153,5.262,162,3.492,163,4.294,165,4.6,166,5.058,179,6.585,189,3.463,192,2.673,204,4.716,219,7.768,225,2.677,227,3.443,230,9.538,292,3.485,302,4.145,318,2.885,321,3.889,340,3.071,350,2.008,362,4.181,376,2.43,568,3.32,700,3.599,702,5.54,741,5.447,790,6.711,1202,7.064,1488,8.02,1543,3.3,1802,3.723,2367,5.639,2458,6.457,2800,6.457,3333,5.639,3396,6.457,3936,7.168,4813,10.593,4814,8.908,4815,16.834,4816,14.038,4817,9.334,4818,8.02,4821,6.283,4832,7.986,4839,14.713,4847,17.851,4848,8.697,4849,8.697]],["keywords/642",[]],["title/643",[4850,1525.086]],["content/643",[5,1.216,11,3.264,29,3.045,35,4.748,45,1.619,52,4.022,60,2.752,94,7.191,106,4.189,138,3.063,139,1.771,140,2.783,144,1.576,145,5.537,150,3.452,153,4.856,162,3.377,163,3.869,165,4.144,166,4.557,179,6.077,189,3.12,192,2.467,204,6.031,219,7.888,225,2.412,227,3.177,230,9.222,268,10.105,292,3.14,302,3.735,318,2.663,321,3.504,340,2.767,350,1.809,362,3.767,376,4.184,399,6.458,568,2.991,700,3.242,702,4.991,741,4.908,790,6.194,803,4.235,1202,6.52,1488,7.402,1543,2.973,1740,7.293,1748,8.221,1749,9.055,1751,8.811,1802,3.354,2367,5.081,2458,5.818,2683,8.058,2800,5.818,3333,5.081,3396,5.818,4813,10.243,4814,8.221,4815,16.431,4816,13.574,4817,9.025,4818,7.402,4821,5.661,4825,6.458,4839,13.927,4851,16.898,4852,12.196,4853,12.196]],["keywords/643",[]],["title/644",[4854,830.14,4855,599.745,4856,830.14,4857,830.14]],["content/644",[35,4.452,52,2.667,61,5.482,62,6.339,139,2.312,140,2.117,144,2.057,145,8.409,150,4.936,164,3.351,180,3.254,181,3.977,192,3.22,204,5.682,207,6.125,209,5.048,224,3.684,227,4.148,230,4.936,243,4.277,279,4.156,318,3.476,321,5.01,350,3.676,376,4.449,568,6.077,620,5.583,646,4.203,774,7.137,790,9.406,795,7.119,803,6.056,930,5.434,1177,7.137,1205,7.403,1297,7.589,1587,5.99,1740,9.521,1757,8.094,2072,7.265,2196,8.319,2356,5.168,2626,9.234,2629,9.685,4327,12.611,4858,15.921,4859,15.921,4860,11.204,4861,11.204,4862,11.204,4863,15.921,4864,11.204,4865,11.204,4866,11.204,4867,11.204,4868,8.319,4869,10.288,4870,11.204,4871,11.204,4872,11.204,4873,11.204,4874,11.204,4875,15.921,4876,11.204,4877,11.204]],["keywords/644",[]],["title/645",[4878,1525.086]],["content/645",[48,6.537,62,7.663,139,2.975,140,2.17,144,2.109,162,3.305,181,5.794,192,4.528,227,4.252,317,6.453,318,4.473,700,9.265,4813,7.986,4879,16.322,4880,16.322,4881,11.792,4882,16.322]],["keywords/645",[]],["title/646",[4645,762.291,4855,599.745,4883,584.972,4884,830.14]],["content/646",[35,3.553,45,3.327,133,7.247,139,3.779,140,1.512,144,2.08,145,7.308,146,5.423,160,2.268,162,3.013,172,6.149,192,3.255,204,5.744,227,2.964,232,5.669,243,6.144,277,2.421,318,3.514,358,2.848,455,6.368,593,6.708,646,4.268,775,5.371,1203,10.635,1388,7.517,1714,9.675,1757,8.219,1802,4.87,1935,6.708,2072,7.377,2213,9.377,2356,5.247,2367,7.377,3235,9.377,4817,4.905,4868,8.447,4885,11.376,4886,17.15,4887,16.095,4888,10.447,4889,8.707,4890,10.447,4891,9.834,4892,9.377,4893,9.011,4894,9.011,4895,9.011,4896,10.447,4897,9.834]],["keywords/646",[]],["title/647",[4855,599.745,4898,830.14,4899,762.291,4900,830.14]],["content/647",[35,3.379,45,4.065,139,3.445,140,2.035,144,2.541,162,3.505,192,3.978,204,7.019,227,3.988,318,4.294,775,5.109,1203,12.995,1714,7.93,1802,6.553,1935,9.025,2356,7.06,4817,6.599,4886,19.954,4896,14.056,4901,15.307,4902,19.667,4903,19.667,4904,19.667]],["keywords/647",[]],["title/648",[4651,717.6,4855,599.745,4883,584.972,4905,830.14]],["content/648",[35,3.465,45,2.27,133,6.995,139,3.775,140,1.46,144,2.028,145,7.126,146,5.235,160,2.189,162,3.41,172,5.936,192,3.174,204,5.602,227,2.861,232,5.472,243,5.991,277,3.898,318,3.999,358,2.749,455,6.147,646,4.12,775,3.665,1203,10.371,1388,7.256,1757,7.934,1802,4.701,2072,7.121,2213,9.051,2356,5.065,2367,7.121,3235,9.051,4245,13.568,4813,5.373,4817,7.897,4868,8.154,4888,10.084,4889,8.405,4890,10.084,4891,9.493,4892,9.051,4893,8.699,4894,8.699,4895,8.699,4897,9.493,4906,15.695,4907,6.475,4908,7.934,4909,18.316,4910,15.695,4911,10.982]],["keywords/648",[]],["title/649",[4855,599.745,4883,584.972,4912,830.14,4913,830.14]],["content/649",[35,3.853,45,2.084,52,3.512,94,5.944,139,3.525,140,2.553,144,1.906,145,7.923,146,4.806,152,3.618,158,3.99,160,2.01,162,3.558,164,2.122,172,5.45,183,5.12,189,4.015,192,2.984,204,5.266,213,5.39,214,5.12,219,3.618,227,2.627,318,3.222,350,2.328,376,4.876,423,4.475,455,5.643,646,6.546,651,6.029,652,5.223,775,3.365,833,8.715,1162,10.289,1316,9.399,1418,6.796,1488,10.591,1802,4.316,2216,13.549,2356,4.65,3235,8.31,4197,8.715,4813,7.219,4814,6.796,4817,8.28,4818,6.119,4889,7.717,4897,8.715,4914,14.755,4915,10.082,4916,9.258,4917,14.755,4918,10.082,4919,10.082,4920,10.082,4921,9.258,4922,10.082,4923,10.082,4924,10.082,4925,10.082,4926,10.082,4927,9.258,4928,10.082,4929,10.082,4930,10.082,4931,10.082,4932,10.082,4933,10.082,4934,10.082]],["keywords/649",[]],["title/650",[4935,1525.086]],["content/650",[45,2.479,49,5.868,62,4.104,139,3.574,140,1.594,144,2.158,145,5.445,162,3.352,180,3.483,181,4.257,188,6.713,192,3.887,204,5.961,224,3.944,227,3.124,243,4.578,277,4.939,318,3.647,455,6.713,774,13.238,775,4.002,1757,8.664,1802,5.134,2072,7.776,2127,14.437,2356,5.531,2454,8.664,2626,9.884,2629,10.366,2919,11.012,4651,10.366,4813,5.868,4817,5.17,4868,8.904,4869,11.012,4907,7.071,4908,8.664,4936,16.701,4937,15.336,4938,16.701,4939,11.992,4940,11.992,4941,11.992,4942,11.992,4943,11.992,4944,10.366,4945,16.701,4946,11.992]],["keywords/650",[]],["title/651",[4947,1525.086]],["content/651",[35,5.126,45,2.698,94,13.275,102,4.036,139,2.917,140,2.671,144,2.287,153,5.197,162,3.475,164,3.726,173,5.627,189,5.197,192,3.58,204,7.169,227,3.4,318,3.865,336,5.165,376,4.947,379,8.798,423,5.793,455,7.306,775,4.356,1297,6.221,1316,11.277,1488,10.744,1490,11.283,1748,11.933,1802,5.588,1935,7.696,2356,6.02,4814,8.798,4817,7.632,4818,7.922,4948,13.052,4949,11.985,4950,17.702,4951,13.052]],["keywords/651",[]],["title/652",[4952,1525.086]],["content/652",[35,4.599,45,2.492,52,5.395,62,5.738,75,7.671,102,3.728,137,4.148,139,2.799,140,2.769,144,2.166,162,3.656,174,5.652,192,3.898,204,5.983,227,3.141,277,2.566,285,4.576,318,4.208,376,5.385,568,4.603,775,4.024,1450,7.318,1743,12.831,1748,11.301,1750,15.394,1802,5.162,1819,8.497,2287,5.848,2356,5.561,2624,10.423,2625,9.938,2626,9.938,2627,11.072,2628,10.423,4817,8.309,4818,7.318,4916,11.072,4949,11.072,4953,12.058,4954,12.058,4955,12.058,4956,12.058,4957,16.765,4958,12.058,4959,11.072]],["keywords/652",[]],["title/653",[4960,1400.437]],["content/653",[35,5.234,45,4.525,139,3.443,140,1.603,144,1.558,145,5.475,162,3.884,174,9.034,189,7.674,192,3.391,224,7.917,227,3.141,243,6.399,318,3.66,775,6.432,1723,17.697,1748,8.128,1802,5.162,1819,15.969,2072,12.497,4818,7.318,4960,11.072,4961,12.058,4962,14.492,4963,16.765]],["keywords/653",[]],["title/654",[4964,1525.086]],["content/654",[35,5.037,45,3.121,84,6.348,139,3.313,140,2.007,144,1.951,145,6.855,162,3.68,174,9.138,192,3.943,224,6.41,227,3.933,243,5.763,318,4.256,340,5.331,775,5.039,1802,6.464,2127,13.051,3107,13.864,4813,7.388,4814,10.178,4817,9.308,4818,9.163,4965,19.494,4966,15.098]],["keywords/654",[]],["title/655",[208,241.161,1347,693.483]],["content/655",[64,6.813,65,13.22,194,6.158,208,4.047,240,6.778,358,5.009]],["keywords/655",[]],["title/656",[150,365.724,4967,830.14,4968,830.14,4969,830.14]],["content/656",[5,2.536,45,1.863,60,3.167,62,3.086,102,2.787,135,5.391,139,2.372,140,1.199,144,1.755,145,10.361,150,5.982,162,3.306,181,3.2,183,4.579,189,5.407,192,3.304,203,5.109,204,8.145,208,4.53,227,2.349,244,8.711,277,2.89,318,3.567,321,6.072,332,4.986,340,3.183,352,4.379,358,5.48,376,5.08,544,5.647,722,8.972,758,6.072,1067,4.873,1450,5.471,1802,3.86,2060,5.647,2470,5.647,2683,15.079,2883,5.175,2904,6.353,3466,12.255,4813,7.993,4907,5.315,4962,7.793,4970,12.469,4971,9.015,4972,5.846,4973,9.015,4974,16.695,4975,13.579,4976,13.579,4977,13.579,4978,6.208]],["keywords/656",[]],["title/657",[4979,1400.437]],["content/657",[5,2.419,45,2.247,52,4.736,62,5.334,102,3.362,135,6.503,139,2.263,140,1.446,144,2.014,150,4.791,162,3.535,181,3.86,183,5.523,192,3.684,208,4.432,227,2.833,244,7.594,251,11.572,277,3.316,318,3.977,350,2.511,352,2.915,358,5.487,376,4.355,544,6.811,568,5.949,910,10.733,1056,8.946,1067,5.878,1391,12.673,1401,12.345,1450,6.6,1802,4.655,2060,6.811,2470,6.811,2883,6.241,4403,8.613,4405,15.014,4813,7.626,4816,7.051,4817,4.688,4907,6.411,4970,9.985,4972,7.051,4978,7.488,4979,9.985,4980,10.874,4981,9.4,4982,9.4,4983,19.895,4984,14.311,4985,15.585]],["keywords/657",[]],["title/658",[4388,1257.008]],["content/658",[5,3.061,29,4.144,37,5.181,38,5.701,91,4.024,102,3.297,135,6.378,139,3.335,140,1.418,143,3.267,144,1.986,145,4.842,150,7.938,151,5.972,164,2.245,180,3.097,181,3.786,183,5.416,192,3.644,196,7.997,204,5.485,205,11.792,209,4.805,222,6.378,226,5.701,227,4.694,240,3.613,244,5.867,265,3.507,272,6.121,274,6.044,318,3.356,321,4.769,326,6.573,352,2.859,493,7.047,754,6.472,758,4.769,1067,5.764,1199,15.126,1389,7.515,1675,7.047,2470,6.68,2619,5.218,2883,6.121,3143,8.447,3466,7.189,3632,12.837,3905,9.219,4167,9.219,4334,14.113,4387,8.447,4388,12.667,4986,10.664,4987,10.664,4988,15.369,4989,10.664,4990,10.664,4991,9.219,4992,10.664,4993,9.219,4994,9.219]],["keywords/658",[]],["title/659",[4995,1525.086]],["content/659",[1,2.861,20,8.119,139,2.106,140,2.525,144,2.454,162,2.34,192,3.841,204,5.177,227,3.779,240,7.901,318,4.147,333,7.162,352,3.888,1287,9.053,1351,15.723,1352,12.098,1391,9.24,1488,11.527,1587,7.754,1747,15.044,1748,12.803,1751,13.721,1752,15.654,4817,6.254,4962,12.539,4996,14.505,4997,14.505,4998,14.505,4999,14.505,5000,18.992]],["keywords/659",[]],["title/660",[1588,476.487,1753,684.219,1754,762.291,1755,762.291]],["content/660",[45,1.976,52,5.512,62,4.856,75,4.375,137,3.289,139,3.55,140,1.886,144,1.833,162,3.498,181,3.394,192,3.422,200,6.317,208,4.044,227,2.491,244,8.839,251,17.192,277,3.019,318,3.694,340,5.01,350,2.208,358,5.006,376,4.727,568,3.649,1450,5.802,1753,11.694,1762,11.694,1802,4.093,2206,14.827,2287,4.636,4596,13.028,4813,6.942,4817,8.07,4907,5.637,4908,6.907,4972,6.199,4978,6.583,5001,14.188,5002,8.778,5003,14.188,5004,14.188,5005,14.188,5006,14.188,5007,14.188,5008,14.188]],["keywords/660",[]],["title/661",[5009,1525.086]],["content/661",[45,3.1,62,5.133,139,3.423,140,1.994,144,1.938,162,3.671,188,8.394,192,3.925,227,3.907,277,5.016,318,4.238,455,8.394,774,13.708,775,5.005,1802,6.42,2454,10.834,4813,7.338,4817,6.465,4907,8.842,4908,10.834,4937,17.822,5010,13.77,5011,19.408,5012,14.996,5013,11.478,5014,14.996]],["keywords/661",[]],["title/662",[5015,1525.086]],["content/662",[37,4.25,45,2.606,52,4.115,62,4.315,78,4.729,137,5.947,139,2.865,140,2.298,144,2.234,158,4.989,162,3.706,181,4.475,192,3.991,208,2.55,227,3.284,277,4.199,318,4.308,340,6.105,350,2.911,358,3.156,376,5.513,423,5.595,568,4.812,775,5.77,1450,7.651,1714,8.956,1760,9.986,1781,8.883,1802,5.397,2287,6.114,4813,6.168,4817,8.506,4907,7.433,4908,9.108,5013,13.232,5016,12.606,5017,10.897,5018,17.288,5019,13.694,5020,17.288,5021,17.288,5022,12.606]],["keywords/662",[]],["title/663",[642,487.762,4883,689.738,5023,978.814]],["content/663",[5,2.126,7,3.796,9,5.706,51,4.969,52,5.448,78,5.139,139,3.547,140,1.821,144,1.77,158,5.421,181,4.863,192,3.699,200,9.051,208,3.699,227,3.569,277,2.915,309,6.643,318,3.993,340,6.457,358,5.154,376,5.11,423,6.079,646,5.139,673,6.268,757,9.051,775,4.572,1714,7.096,2308,12.578,4959,12.578,5017,11.841,5024,15.808,5025,13.698,5026,13.698,5027,13.698,5028,13.698,5029,13.698,5030,18.287]],["keywords/663",[]],["title/664",[4647,762.291,4855,599.745,4883,584.972,5031,830.14]],["content/664",[45,3.977,139,3.746,140,1.967,144,1.912,162,3.104,192,3.891,227,3.855,277,4.094,318,4.201,455,8.282,775,4.938,1296,11.324,1714,7.665,1802,6.334,4817,6.379,4868,10.986,4889,11.324,4892,12.195,4893,11.72,4894,11.72,4895,11.72,4944,12.79,5032,14.796,5033,14.796,5034,14.796,5035,14.796,5036,14.796,5037,13.586]],["keywords/664",[]],["title/665",[4855,599.745,4899,762.291,5038,830.14,5039,830.14]],["content/665",[45,4.355,139,3.318,140,2.27,144,2.207,162,3.686,192,4.261,204,6.095,227,4.449,277,3.634,318,4.6,775,5.699,1714,8.846,1762,14.075,1802,7.311,4817,7.363,5040,17.077,5041,17.077,5042,13.07]],["keywords/665",[]],["title/666",[4855,599.745,4883,584.972,5010,762.291,5043,830.14]],["content/666",[45,2.606,139,3.771,140,1.676,144,1.629,162,3.425,192,3.497,227,3.284,277,4.518,305,7.144,318,3.775,455,7.057,775,4.207,808,6.667,1802,5.397,4813,6.168,4817,8.506,4868,9.36,4889,9.649,4891,10.897,4892,10.391,4893,9.986,4894,9.986,4895,9.986,4907,7.433,4908,9.108,4944,10.897,5013,9.649,5037,11.576,5044,17.288,5045,12.606,5046,11.576,5047,12.606,5048,12.606,5049,12.606,5050,12.606,5051,17.288,5052,17.288,5053,12.606,5054,12.606]],["keywords/666",[]],["title/667",[4883,840.217,5055,1192.361]],["content/667",[45,2.698,84,4.251,139,3.596,140,1.735,144,1.686,162,3.745,192,3.58,227,3.4,244,4.982,277,4.275,279,4.841,318,3.865,358,5.393,455,7.306,761,6.978,775,4.356,1356,10.339,1802,5.588,2716,11.985,2717,9.691,2718,11.985,4813,8.662,4817,9.286,4889,9.99,4893,10.339,4894,10.339,4895,10.339,4907,7.696,4908,9.43,4921,11.985,4927,11.985,4972,8.464,5002,11.985,5056,17.702,5057,13.052,5058,13.052,5059,13.052,5060,13.052,5061,13.052]],["keywords/667",[]],["title/668",[5062,1318.333]],["content/668",[45,3.058,84,6.266,139,3.288,140,1.967,144,1.912,162,3.652,192,3.891,208,4.324,224,6.327,227,3.855,243,5.648,244,5.648,277,4.818,318,4.201,340,5.224,775,4.938,813,8.476,1802,6.334,4813,7.24,4817,9.218,4907,8.724,4908,10.689,5013,11.324,5063,19.24,5064,14.796,5065,13.586]],["keywords/668",[]],["title/669",[4706,1400.437]],["content/669",[5,1.484,7,4.688,11,3.982,35,2.111,45,1.976,52,4.987,62,5.79,126,6.317,137,3.289,139,3.454,140,1.271,144,1.833,145,10.114,162,2.729,181,3.394,192,3.422,194,2.942,195,5.802,208,3.422,227,2.491,240,3.239,244,8.503,277,3.6,317,4.469,318,3.694,350,3.907,352,3.803,353,4.064,358,4.235,376,5.854,383,4.952,404,3.715,434,4.275,545,5.802,568,6.458,594,5.287,701,6.907,813,4.212,1266,7.756,1287,4.557,1450,5.802,1802,4.093,1964,5.802,2287,4.636,3919,14.827,4395,17.188,4770,8.778,4974,17.188,4978,9.77,5019,7.572,5066,9.56,5067,8.264,5068,8.778,5069,8.778,5070,18.718]],["keywords/669",[]],["title/670",[5071,1525.086]],["content/670",[5,1.957,9,5.252,45,2.606,51,4.573,52,4.697,53,5.861,62,4.315,78,4.729,137,4.337,139,1.831,140,2.298,144,2.234,153,5.02,162,2.789,181,4.475,192,3.991,204,6.17,227,3.284,228,14.944,229,15.875,253,10.391,277,4.518,317,3.971,318,3.775,340,4.451,350,3.992,358,5.569,376,4.831,455,11.883,568,4.812,813,5.554,908,13.232,1200,5.724,1401,13.694,1450,7.651,1802,5.397,1898,15.875,2287,6.114,5019,9.986,5072,12.606,5073,12.606,5074,12.606,5075,12.606,5076,17.288]],["keywords/670",[]],["title/671",[4683,1318.333]],["content/671",[7,5.476,29,5.993,35,2.366,45,2.215,52,4.704,62,6.764,137,3.686,139,3.453,140,1.425,144,1.993,162,2.915,181,3.804,192,3.654,208,2.167,227,2.792,240,3.631,244,7.544,277,3.845,317,3.375,318,3.945,350,2.475,358,3.861,361,9.093,376,5.049,404,4.164,434,4.792,443,8.336,568,5.887,628,4.792,646,5.786,775,5.147,813,4.721,1157,7.956,1251,7.742,1300,6.712,1450,6.504,1588,8.852,1802,4.588,2196,11.451,2287,5.197,2576,8.832,2619,9.67,2620,11.804,3919,12.216,4978,7.38,5019,8.488,5067,9.263,5068,9.84,5069,9.84,5077,9.84,5078,9.84,5079,10.716,5080,18.147]],["keywords/671",[]],["title/672",[5078,1400.437]],["content/672",[35,2.799,45,2.621,62,7.283,137,4.362,139,3.237,140,1.686,144,2.243,162,3.192,170,15.025,181,4.501,192,4.002,208,2.564,227,3.303,244,8.123,277,3.693,318,4.321,350,2.928,358,4.345,361,13.142,376,5.53,434,5.669,568,4.84,628,5.669,910,14.655,1162,7.475,1450,7.695,1802,5.428,2287,6.149,4978,8.731,5019,10.043,5067,10.96,5077,11.642,5081,12.679,5082,12.679,5083,21.281]],["keywords/672",[]],["title/673",[5084,1400.437]],["content/673",[5,1.572,7,2.806,29,7.479,51,3.674,52,5.258,62,3.466,102,3.132,137,3.484,139,3.584,144,1.913,192,2.994,204,5.283,227,2.639,234,4.869,243,7.347,244,8.164,318,3.232,350,2.339,376,4.137,568,3.866,775,4.941,1441,12.797,1714,5.247,1757,13.905,1760,15.246,2072,12.48,2287,4.912,2356,4.671,2619,10.464,3919,11.726,4683,12.797,4868,14.291,5046,17.674,5080,13.594,5084,13.594,5085,19.247,5086,10.128,5087,14.804,5088,10.128,5089,10.128,5090,14.804,5091,10.128,5092,10.128,5093,19.247]],["keywords/673",[]],["title/674",[48,264.532,277,208.292,2253,749.17]],["content/674",[48,5.92,78,6.827,187,6.638,208,3.681,240,6.166,277,4.661,317,5.733,570,10.585,673,8.328,703,14.416,813,8.018,1347,10.585,1402,11.801,2065,13.148,5094,18.199]],["keywords/674",[]],["title/675",[4721,1030.714,5095,1094.906]],["content/675",[5,2.36,45,3.142,48,5.292,64,6.667,91,5.736,113,13.959,139,3.145,140,2.021,144,1.964,162,2.452,167,7.647,192,3.96,194,4.679,208,3.075,227,3.96,243,5.803,244,5.803,277,3.235,318,4.275,447,5.67,492,10.712,709,10.469,757,10.045,775,5.074,930,9.496,1714,7.875,1807,13.959,1809,13.959,2065,10.983,3476,9.858,4370,13.141,4513,13.959,4567,13.959,5096,15.202]],["keywords/675",[]],["title/676",[4658,1094.906,5095,1094.906]],["content/676",[48,2.562,55,9.539,78,3.556,84,4.591,139,3.297,140,1.26,144,1.822,167,4.768,192,2.851,194,4.339,200,6.263,217,4.547,219,6.04,223,9.928,227,3.673,241,6.778,243,5.381,244,5.381,277,5.23,318,3.078,350,2.189,591,7.508,652,4.91,696,10.216,765,10.185,775,4.705,819,7.707,874,9.12,930,11.011,1200,6.401,1201,5.842,2253,7.254,2350,11.619,2356,6.502,2731,7.812,3384,12.945,3476,9.141,4370,12.186,4371,19.175,4372,12.945,4373,12.945,4374,17.116,4375,17.116,4377,12.945,4721,8.193,5097,9.478,5098,9.478,5099,9.478,5100,8.193,5101,9.478,5102,9.478,5103,9.478]],["keywords/676",[]],["title/677",[5062,1318.333]],["content/677",[45,3.476,139,3.031,140,2.236,144,2.173,162,3.367,192,4.221,204,6.002,208,3.401,227,4.381,277,4.829,318,4.557,696,10.207,795,7.52,813,7.409,1802,7.2,5013,12.872,5065,15.443,5104,16.818,5105,15.443,5106,16.818,5107,13.321]],["keywords/677",[]],["title/678",[5062,1318.333]],["content/678",[45,3.374,139,2.975,140,2.17,144,2.109,162,3.305,192,4.143,204,5.825,208,3.301,227,4.252,277,4.764,318,4.473,696,9.906,795,7.298,808,8.632,813,7.191,1714,8.455,1747,12.929,1762,13.453,1802,6.988,5042,12.493,5107,16.227,5108,16.322,5109,16.322,5110,16.322]],["keywords/678",[]],["title/679",[5111,1525.086]],["content/679",[45,3.399,139,3.262,140,2.186,144,2.125,162,3.32,192,4.162,204,5.868,208,3.326,227,4.284,277,4.78,318,4.494,322,7.409,358,4.117,647,9.318,1802,7.04,2624,14.214,2625,13.553,5013,12.585,5105,15.099,5107,13.025,5112,16.443,5113,16.443,5114,16.443]],["keywords/679",[]],["title/680",[1399,1101.818]],["content/680",[64,6.519,194,5.892,208,3.872,224,6.295,240,6.486,352,5.131,758,8.56,874,9.367,1343,12.649,1543,7.265,2883,10.988]],["keywords/680",[]],["title/681",[874,746.228]],["content/681",[29,2.709,38,3.727,45,1.441,50,2.423,60,2.449,62,3.807,64,2.374,97,2.944,102,2.156,135,4.17,137,2.399,139,3.432,140,2.301,144,1.437,145,7.192,162,3.243,164,3.334,173,3.006,180,4.031,181,2.475,189,4.43,192,3.204,204,3.97,205,4.17,207,3.812,208,3.731,224,5.692,227,3.616,244,6.047,277,2.367,285,2.646,292,5.561,296,3.541,318,3.459,321,3.118,336,2.759,340,3.928,350,3.205,352,3.72,358,4.619,376,4.426,543,7.086,568,4.246,575,4.002,651,4.17,775,4.632,795,7.083,797,4.607,874,10.395,1177,11.025,1202,7.42,1249,6.967,1253,3.323,1297,5.302,1343,4.607,1345,5.336,1377,6.751,1389,4.913,1399,5.037,1402,4.521,1405,4.367,1450,4.232,1462,4.7,1691,4.521,1802,2.985,2060,4.367,2287,3.381,2470,4.367,2859,4.607,2883,4.002,2904,4.913,3466,10.678,3576,5.747,3632,4.111,3703,6.027,3784,14.546,4813,6.791,4907,4.111,4972,4.521,4978,4.801,5115,6.972,5116,6.402,5117,14.613,5118,6.972,5119,6.972,5120,6.972,5121,6.402,5122,5.037,5123,5.037,5124,4.607,5125,10.994,5126,15.84,5127,6.972,5128,6.972]],["keywords/681",[]],["title/682",[4730,1318.333]],["content/682",[45,1.679,50,2.823,52,4.101,60,2.853,62,4.292,97,3.43,102,2.512,135,4.858,137,2.794,139,2.979,140,2.037,144,1.62,153,3.234,162,3.417,164,3.919,173,3.502,180,3.642,181,2.883,192,3.098,205,4.858,207,4.441,208,3.98,224,4.124,227,2.116,244,6.576,251,12.79,277,2.669,292,5.025,318,3.345,336,3.214,340,4.428,350,3.537,352,4.106,358,4.926,376,4.814,568,4.787,643,3.66,775,2.711,795,7.703,797,5.367,874,6.136,1056,9.888,1177,11.859,1202,8.189,1249,7.855,1253,3.872,1297,5.978,1343,5.367,1345,6.217,1360,6.217,1377,4.93,1389,5.724,1391,10.973,1401,13.645,1402,5.267,1450,4.93,1691,5.267,1802,3.477,2287,3.939,2470,5.088,2883,4.662,3466,8.454,3576,6.695,3632,4.789,4403,6.434,4405,12.626,4730,7.021,4813,6.136,4816,5.267,4817,3.502,4907,4.789,4972,5.267,4978,5.594,4981,7.021,4982,7.021,5122,5.868,5123,5.868,5125,9.934,5129,8.123,5130,8.123,5131,17.226,5132,8.123]],["keywords/682",[]],["title/683",[5133,1400.437]],["content/683",[5,2.411,29,4.205,38,5.785,60,3.801,91,4.083,97,4.569,102,3.346,135,6.471,139,2.883,140,2.065,144,2.007,145,4.913,162,1.746,164,4.424,173,4.665,180,4.511,192,3.141,204,5.543,205,10.864,207,5.915,224,3.558,227,2.819,240,3.666,244,5.928,284,5.663,292,6.223,318,2.363,321,4.839,336,4.282,340,3.821,350,3.586,352,5.321,775,3.611,795,4.839,797,7.15,874,8.889,1177,9.893,1202,11.237,1249,9.727,1253,5.158,1297,7.403,1345,8.282,1377,6.567,1389,7.625,1402,7.017,1405,9.727,1691,7.017,2470,6.777,2619,5.295,2883,6.211,3143,8.571,3466,12.246,3632,10.711,4387,8.571,4991,9.354,4993,9.354,4994,9.354,5122,7.818,5123,7.818,5124,7.15,5125,12.302,5133,9.936,5134,10.821,5135,10.821]],["keywords/683",[]],["title/684",[5136,1400.437]],["content/684",[29,6.187,45,2.316,60,3.935,84,5.185,102,3.464,115,7.265,135,6.7,139,3.214,140,2.117,144,1.448,162,2.988,164,3.351,173,4.83,180,3.254,192,3.22,207,6.125,227,2.919,243,4.277,244,6.077,277,4.845,284,5.864,292,6.38,318,3.476,336,4.434,340,3.956,350,3.676,352,4.964,775,3.739,795,7.119,797,7.403,813,8.159,874,5.482,1177,10.142,1202,10.781,1242,6.056,1249,9.972,1253,5.34,1297,7.589,1377,6.8,1389,7.895,1402,7.265,1405,7.017,1802,4.797,2470,7.017,2883,6.431,3445,8.875,3466,7.552,3632,6.606,5107,8.875,5122,8.094,5123,8.094,5124,7.403,5125,12.611,5136,10.288,5137,10.288,5138,11.204,5139,10.288,5140,10.288,5141,11.204]],["keywords/684",[]],["title/685",[2904,1074.677]],["content/685",[45,1.848,52,2.129,62,4.619,97,5.699,137,3.076,138,3.496,139,3.08,140,1.794,144,1.744,145,8.221,150,3.94,162,3.422,164,1.882,181,3.174,189,3.561,192,3.288,204,6.462,205,5.348,208,4.133,224,5.346,227,2.33,244,6.912,277,2.872,292,5.408,318,3.549,321,3.999,340,4.766,350,3.116,352,4.357,358,5.116,376,5.06,447,3.336,568,5.152,618,6.844,775,2.984,795,8.096,797,5.909,874,8.859,1202,8.69,1249,8.453,1253,6.433,1343,5.909,1377,5.427,1402,5.799,1450,5.427,1691,5.799,1802,3.828,2060,5.601,2287,4.337,2883,5.133,3466,12.205,3576,7.37,3632,5.272,3919,14.342,4215,16.626,4813,7.954,4907,5.272,4972,5.799,4978,6.158,5116,8.211,5117,16.185,5121,8.211,5122,6.461,5123,6.461,5124,5.909,5142,8.942]],["keywords/685",[]],["title/686",[4403,1208.042]],["content/686",[45,1.819,50,3.059,52,4.275,62,4.564,97,3.716,137,3.027,139,3.155,140,1.773,144,1.723,162,3.403,164,1.852,181,3.124,192,3.256,205,5.263,208,4.107,224,5.294,227,2.293,244,6.855,251,13.335,277,2.837,292,5.343,318,3.515,340,4.708,350,3.079,352,4.315,358,5.084,376,5.019,568,5.09,643,3.965,775,2.937,795,8.031,797,5.815,874,7.877,1056,10.308,1202,8.606,1249,8.351,1253,6.356,1343,8.81,1360,6.736,1377,5.341,1391,11.44,1401,14.226,1402,5.706,1450,5.341,1691,5.706,1802,3.768,2287,4.268,2883,5.051,3466,8.988,3632,5.189,4405,13.268,4813,6.524,4816,5.706,4817,3.794,4907,5.189,4972,5.706,4978,6.06,4981,7.607,4982,7.607,5117,16.086,5122,6.358,5123,6.358,5124,5.815,5143,8.8,5144,17.959]],["keywords/686",[]],["title/687",[4387,1208.042]],["content/687",[5,2.535,29,4.513,38,6.209,91,4.382,97,4.904,102,3.591,139,3.136,140,1.544,144,2.11,145,5.274,164,3.438,192,3.82,204,5.829,205,11.296,224,5.371,227,4.255,240,3.935,244,6.234,279,4.308,292,6.544,318,3.566,321,5.194,340,4.101,350,2.682,352,5.063,775,3.876,795,5.194,797,7.675,874,10.027,1202,10.956,1249,10.229,1253,7.785,1343,7.675,1377,7.049,1402,7.532,1405,10.229,1691,7.532,2619,5.683,2883,6.667,3143,9.2,3466,12.733,3632,11.137,4388,9.573,4991,10.04,4993,10.04,4994,10.04,5117,14.962,5122,8.391,5123,8.391,5124,7.675,5145,11.615,5146,11.615]],["keywords/687",[]],["title/688",[5137,1400.437]],["content/688",[29,6.187,45,2.316,60,3.935,84,6.031,97,4.731,115,7.265,139,3.214,140,2.117,144,1.448,162,2.988,164,2.358,173,4.83,192,3.22,207,6.125,224,5.236,227,2.919,243,4.277,244,6.077,277,4.952,292,6.38,318,3.476,340,5.622,350,3.676,352,4.964,775,3.739,795,7.119,797,7.403,813,7.014,874,9.868,1202,9.901,1242,6.056,1249,9.972,1253,7.589,1297,5.34,1343,7.403,1377,6.8,1402,7.265,1405,7.017,1691,7.265,1802,4.797,2883,6.431,3445,8.875,3466,7.552,3632,6.606,5107,8.875,5117,14.67,5122,8.094,5123,8.094,5124,7.403,5125,12.611,5139,10.288,5140,10.288,5147,11.204,5148,11.204]],["keywords/688",[]],["title/689",[158,603.544]],["content/689",[158,7.99,208,4.083,240,6.84,1347,11.742,3648,18.54]],["keywords/689",[]],["title/690",[5149,1527.505]],["content/690",[45,2.698,139,2.571,140,1.735,144,2.287,158,5.165,162,3.745,164,3.726,180,5.141,192,3.58,204,6.318,208,4.554,227,4.612,240,4.422,244,6.757,277,3.767,318,3.865,325,7.492,358,5.637,724,10.105,775,4.356,910,12.191,1297,6.221,1490,11.283,1802,5.588,4813,10.539,4817,7.632,4907,10.437,4972,11.479,5149,11.985,5150,13.052,5151,13.052,5152,13.052,5153,13.052]],["keywords/690",[]],["title/691",[5154,1525.086]],["content/691",[45,3.121,139,2.831,140,2.007,144,1.951,158,5.975,162,3.902,192,3.943,208,4.777,227,3.933,244,5.763,277,4.148,318,4.256,340,5.331,358,5.913,724,7.595,910,10.397,1031,9.163,1802,6.464,4813,9.538,4817,6.509,4907,8.902,4972,9.79,5155,15.098,5156,15.098]],["keywords/691",[]],["title/692",[5157,1525.086]],["content/692",[45,3.121,139,2.831,140,2.007,144,1.951,158,5.975,162,3.902,192,3.943,208,4.777,227,3.933,244,5.763,277,4.148,318,4.256,340,5.331,358,5.913,717,8.351,910,10.397,1031,9.163,1802,6.464,4813,9.538,4817,6.509,4907,8.902,4972,9.79,5158,15.098,5159,15.098]],["keywords/692",[]],["title/693",[5160,1525.086]],["content/693",[7,4.625,139,3.017,140,2.219,144,2.157,158,8.951,162,3.351,192,4.202,208,3.376,227,4.348,318,4.536,340,5.894,358,4.179,724,8.396,1031,10.13,2459,12.939,4817,7.196,5161,16.691,5162,13.757,5163,16.691]],["keywords/693",[]],["title/694",[5164,1525.086]],["content/694",[7,4.625,139,3.017,140,2.219,144,2.157,158,8.951,162,3.351,192,4.202,208,3.376,227,4.348,318,4.536,340,5.894,358,4.179,717,9.231,1031,10.13,2459,12.939,4817,7.196,5162,13.757,5165,16.691,5166,16.691]],["keywords/694",[]],["title/695",[5167,1400.437]],["content/695",[9,7.773,139,3.449,144,2.411,158,7.384,192,3.774,227,4.861,318,4.074,322,8.407,775,6.227,2459,10.201,2701,16.13,5167,17.134]],["keywords/695",[]],["title/696",[5168,1525.086]],["content/696",[7,6.891,51,6.101,139,3.031,140,2.236,144,2.173,158,8.981,162,3.367,192,4.221,227,4.381,318,4.557,350,4.82,4817,7.251,5162,13.861,5169,16.818,5170,16.818]],["keywords/696",[]],["title/697",[5171,1257.008]],["content/697",[7,6.039,51,6.548,139,3.4,144,2.332,158,8.625,162,2.912,192,3.651,227,4.703,318,3.941,350,5.033,775,6.024,5024,15.604,5171,14.878]],["keywords/697",[]],["title/698",[5171,1257.008]],["content/698",[7,5.17,9,7.773,139,3.449,144,2.411,158,7.384,192,3.774,227,4.861,318,4.074,322,8.407,775,6.227,5024,16.13,5171,15.379]],["keywords/698",[]],["title/699",[5172,1525.086]],["content/699",[7,2.886,45,2.152,139,3.136,140,1.384,144,1.952,158,4.121,162,3.484,192,3.055,204,7.707,207,9.719,208,4.188,227,2.713,244,5.767,277,3.215,318,3.298,350,2.405,358,4.882,455,5.829,628,4.657,775,3.476,1802,4.458,2310,15.447,2356,8.199,2388,19.163,2389,16.857,2390,17.466,2619,7.392,2677,13.059,2678,16.857,4813,8.698,4907,6.14,4972,6.753,5173,8.249,5174,10.414,5175,15.107,5176,10.414,5177,10.414,5178,10.414,5179,10.414,5180,10.414,5181,10.414,5182,10.414,5183,10.414,5184,10.414,5185,10.414]],["keywords/699",[]],["title/700",[5186,1525.086]],["content/700",[5,1.037,7,6.71,40,8.758,45,1.38,52,5.196,84,2.175,89,7.694,93,9.286,97,2.82,102,4.169,135,3.994,136,1.56,139,1.561,140,0.888,144,0.863,153,6.745,158,9.349,159,5.875,162,2.919,164,2.262,173,4.633,189,5.37,192,2.173,208,3.426,219,2.396,227,1.74,244,2.549,277,2.287,296,3.392,318,2.346,350,3.114,358,5.465,423,2.964,436,3.056,484,4.502,628,2.986,671,2.964,673,3.056,704,7.244,713,10.681,724,5.406,750,3.056,821,7.101,840,11.726,1036,7.244,1056,3.833,1067,3.61,1264,14.065,1297,3.183,1543,5.117,1591,5.166,1743,5.111,1793,4.706,1802,2.859,1922,5.29,2288,4.958,2306,5.773,2310,5.29,2619,3.268,2651,12.752,2652,11.667,2674,6.845,2677,5.773,2678,5.773,4813,6.598,4907,3.937,4972,4.33,5124,11.192,5187,6.678,5188,6.678,5189,10.746,5190,10.746,5191,10.746,5192,10.746,5193,10.746,5194,6.678,5195,6.678,5196,6.678,5197,10.746,5198,6.678,5199,6.678]],["keywords/700",[]],["title/701",[5200,1400.437]],["content/701",[97,7.56,139,3.388,144,2.314,158,7.086,192,3.621,227,4.665,318,3.909,358,4.483,775,5.976,803,9.678,1714,9.275,1757,12.936,1760,14.183,2072,11.61,5017,15.478,5200,16.442,5201,17.905]],["keywords/701",[]],["title/702",[5202,1400.437]],["content/702",[1,2.938,9,6.205,40,8.441,139,3.416,140,1.98,144,1.925,153,5.931,158,7.647,192,3.908,227,3.881,244,5.686,318,4.219,319,10.258,345,7.796,358,4.838,423,8.576,775,6.449,1714,10.01,1757,10.761,1760,11.799,2072,9.659,2619,7.288,2651,10.496,2652,8.782,2834,13.617,5202,13.678,5203,14.895,5204,14.895,5205,14.895,5206,19.324,5207,14.895]],["keywords/702",[]],["title/703",[5208,1400.437]],["content/703",[84,3.473,139,3.765,140,2.043,144,1.378,157,4.999,158,6.082,162,1.72,192,3.108,219,3.827,224,3.507,227,2.778,241,8.663,318,3.356,336,4.22,340,3.766,350,3.549,358,2.67,374,9.53,591,8.447,646,4.001,652,5.525,696,9.328,746,5.764,775,6.581,808,5.64,819,9.85,1200,4.842,1820,9.793,2196,11.411,2370,13.553,2683,7.047,5208,14.113,5209,10.664,5210,15.369,5211,15.369,5212,18.018,5213,15.369,5214,15.369,5215,15.369,5216,10.664,5217,10.664,5218,10.664,5219,15.369,5220,10.664,5221,10.664,5222,10.664,5223,10.664,5224,10.664,5225,10.664]],["keywords/703",[]],["title/704",[45,315.219]],["content/704",[45,4.211,240,6.903,753,11.85,2069,16.14]],["keywords/704",[]],["title/705",[4676,1318.333]],["content/705",[9,7.582,45,4.527,139,3.181,144,2.83,192,3.681,193,10.884,204,6.495,227,4.741,243,6.947,322,8.2,775,6.074,1714,9.428,3444,15,4676,15.732]],["keywords/705",[]],["title/706",[4672,1400.437]],["content/706",[37,3.957,45,4.255,88,4.794,139,3.833,140,1.561,144,1.517,162,2.654,192,3.328,227,3.058,455,6.57,775,3.918,1802,5.025,4817,5.061,5226,11.738,5227,11.738,5228,11.738,5229,11.738,5230,11.738,5231,11.738,5232,11.738,5233,15.108,5234,16.453,5235,16.453,5236,16.453,5237,16.453,5238,16.453,5239,16.453,5240,11.738,5241,11.738,5242,11.738,5243,11.738,5244,11.738,5245,11.738,5246,11.738,5247,11.738,5248,11.738,5249,11.738,5250,11.738,5251,11.738,5252,11.738,5253,10.147]],["keywords/706",[]],["title/707",[4627,1257.008]],["content/707",[37,5.543,45,4.254,52,3.914,78,6.169,139,2.989,144,2.125,162,3.32,181,5.837,217,5.304,227,4.284,317,7.416,775,6.869,1714,10.661,2072,13.345,2356,7.584,4627,13.553,5254,14.214,5255,16.443,5256,16.443,5257,16.443,5258,16.443]],["keywords/707",[]],["title/708",[317,480.389]],["content/708",[1,3.946,64,6.813,194,6.158,240,6.778,317,6.302,5259,18.372]],["keywords/708",[]],["title/709",[4655,1094.906,4883,840.217]],["content/709",[20,7.057,51,4.573,139,3.799,140,1.676,144,1.629,162,2.789,192,3.497,220,5.769,227,3.284,305,9.797,317,6.687,318,3.775,554,6.466,775,4.207,1469,9.649,1792,9.986,4817,5.435,4881,9.108,5253,10.897,5260,12.606,5261,12.606,5262,12.606,5263,12.606,5264,12.606,5265,11.576,5266,11.576,5267,11.576,5268,11.576,5269,11.576,5270,11.576,5271,11.576,5272,11.576,5273,11.576,5274,11.576,5275,11.576,5276,11.576,5277,11.576,5278,11.576,5279,11.576,5280,11.576,5281,11.576,5282,11.576]],["keywords/709",[]],["title/710",[5283,1400.437]],["content/710",[9,7.459,139,3.388,144,2.314,192,3.621,204,6.39,227,4.665,317,5.64,318,3.909,322,8.067,775,5.976,1206,13.294,1714,9.275,1939,16.442,5283,16.442,5284,17.905,5285,17.905,5286,17.905]],["keywords/710",[]],["title/711",[5287,1525.086]],["content/711",[1,2.978,5,3.026,45,3.121,46,6.375,50,5.248,136,3.526,139,2.831,140,3.14,144,1.951,162,3.145,163,7.455,189,7.763,192,3.943,227,3.933,317,7.44,318,4.256,434,6.751,435,10.908,495,7.595,746,8.161,1201,9.306,4817,6.509,4881,10.908,5124,9.976,5288,15.098,5289,15.098,5290,19.494]],["keywords/711",[]],["title/712",[5291,1525.086]],["content/712",[1,3.475,45,3.642,139,3.119,140,2.343,144,2.277,162,3.465,163,8.7,192,4.344,227,4.591,317,6.766,318,4.69,1266,9.633,4817,7.597,4881,12.73,5292,17.62,5293,17.62]],["keywords/712",[]],["title/713",[5294,1525.086]],["content/713",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,256,7.529,285,5.769,317,6.822,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,4881,10.983,5295,15.202,5296,12.53,5297,15.202]],["keywords/713",[]],["title/714",[5298,1525.086]],["content/714",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,285,5.769,317,6.822,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,1253,10.324,4881,10.983,5296,12.53,5299,15.202,5300,15.202]],["keywords/714",[]],["title/715",[5301,1400.437]],["content/715",[35,2.093,37,3.195,46,8.818,52,2.256,78,3.556,84,3.087,88,3.871,139,2.893,144,1.822,162,1.529,192,1.917,208,1.917,217,3.057,227,3.673,317,5.302,318,2.069,375,8.94,423,7.47,696,12.674,775,4.705,813,9.2,1192,11.591,1206,12.497,1293,10.818,1324,14.765,1588,8.092,1714,7.303,2356,7.763,3036,8.703,3445,11.167,4368,17.212,5254,8.193,5301,12.945,5302,16.832,5303,9.478,5304,15.456,5305,12.945,5306,15.456,5307,15.456,5308,15.456,5309,12.945,5310,16.832,5311,14.097,5312,8.703,5313,8.703,5314,8.703,5315,9.478,5316,9.478,5317,9.478,5318,9.478,5319,9.478,5320,9.478,5321,8.703,5322,9.478,5323,9.478,5324,9.478,5325,9.478,5326,9.478,5327,9.478,5328,9.478]],["keywords/715",[]],["title/716",[5329,1525.086]],["content/716",[35,3.832,45,4.757,139,1.841,140,2.829,144,2.243,162,3.801,164,2.669,180,5.747,192,3.51,194,3.902,208,3.51,227,3.303,259,5.669,317,7.423,318,3.79,350,4.57,848,5.466,1297,9.433,1337,7.185,1791,13.628,1802,5.428,4817,7.483,5330,12.679,5331,12.679,5332,17.356,5333,17.356,5334,19.789,5335,17.356,5336,17.356,5337,12.679]],["keywords/716",[]],["title/717",[5338,1525.086]],["content/717",[1,2.938,35,5.193,139,2.806,140,2.852,144,1.925,162,3.662,192,3.908,226,7.963,227,3.881,317,7.15,318,4.219,494,8.238,671,6.611,700,8.876,742,6.611,834,10.761,1543,5.653,1693,9.842,4817,8.331,4818,11.728,4881,10.761,5339,14.895,5340,12.277,5341,14.895,5342,12.277]],["keywords/717",[]],["title/718",[1544,1400.437]],["content/718",[1,2.353,35,5.22,75,7.614,139,1.732,140,2.547,144,2.15,162,3.345,181,4.234,192,3.875,209,7.497,219,6.876,226,6.377,227,3.107,317,5.241,318,4.184,350,3.842,447,4.449,494,6.597,671,5.294,698,7.614,700,8.58,742,5.294,753,6.937,834,8.617,1204,9.024,1286,17.973,1297,5.685,1450,7.239,1543,4.527,1693,7.881,1803,13.502,2533,10.311,4817,7.174,4818,10.098,4881,8.617,5340,9.831,5342,13.714,5343,11.928,5344,16.639,5345,10.953]],["keywords/718",[]],["title/719",[1195,824.354]],["content/719",[1,3.946,64,6.813,194,6.158,240,6.778,1195,10.815,5259,18.372]],["keywords/719",[]],["title/720",[5346,1525.086]],["content/720",[1,2.958,5,3.013,46,6.332,50,5.212,136,3.502,139,2.819,140,3.133,144,1.938,162,3.131,189,7.729,192,3.925,227,3.907,318,4.238,434,6.706,746,8.106,1056,8.607,1195,12.74,1200,6.809,1201,9.243,1219,10.834,4817,6.465,5124,9.909,5347,14.996,5348,14.996,5349,11.134,5350,19.408,5351,19.408]],["keywords/720",[]],["title/721",[5352,1525.086]],["content/721",[1,3.531,139,3.15,140,2.38,144,2.314,162,3.499,192,4.387,227,4.665,318,4.736,1195,11.723,1266,9.788,4817,7.72,5349,13.294,5353,17.905,5354,17.905]],["keywords/721",[]],["title/722",[5355,1400.437]],["content/722",[9,7.644,139,3.424,144,2.371,192,3.711,204,6.549,227,4.781,318,4.007,322,8.268,775,6.124,1195,9.919,1714,9.506,5355,16.85,5356,16.85,5357,18.35]],["keywords/722",[]],["title/723",[4665,1094.906,4883,840.217]],["content/723",[20,7.057,51,4.573,139,3.799,140,1.676,144,1.629,162,2.789,192,3.497,220,5.769,227,3.284,305,9.797,318,3.775,554,6.466,775,4.207,1195,11.475,1469,9.649,1792,9.986,4817,5.435,5253,10.897,5265,11.576,5266,11.576,5267,11.576,5268,11.576,5269,11.576,5270,11.576,5271,11.576,5272,11.576,5273,11.576,5274,11.576,5275,11.576,5276,11.576,5277,11.576,5278,11.576,5279,11.576,5280,11.576,5281,11.576,5282,11.576,5349,9.36,5358,12.606,5359,12.606,5360,12.606,5361,12.606,5362,12.606]],["keywords/723",[]],["title/724",[5363,1400.437]],["content/724",[37,3.195,46,8.818,52,2.256,78,3.556,84,3.087,88,3.871,139,2.893,144,1.822,162,1.529,174,7.89,192,1.917,217,3.057,227,3.673,277,3.966,318,2.069,375,8.94,423,7.47,775,4.705,813,10.002,1192,11.591,1195,9.098,1293,10.818,1324,14.765,1714,7.303,2356,7.763,2530,6.848,3445,11.167,4368,17.212,5254,8.193,5304,15.456,5305,12.945,5306,15.456,5307,15.456,5308,15.456,5309,12.945,5312,8.703,5313,8.703,5314,8.703,5321,8.703,5356,15.456,5363,12.945,5364,16.832,5365,9.478,5366,16.832,5367,14.097,5368,9.478,5369,9.478,5370,9.478,5371,9.478,5372,9.478,5373,9.478,5374,9.478,5375,9.478,5376,9.478,5377,9.478,5378,9.478,5379,9.478,5380,9.478]],["keywords/724",[]],["title/725",[5381,1525.086]],["content/725",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,256,7.529,285,5.769,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,1195,11.707,5296,12.53,5349,11.287,5382,15.202,5383,15.202]],["keywords/725",[]],["title/726",[5384,1525.086]],["content/726",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,285,5.769,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,1195,11.707,1253,10.324,5296,12.53,5349,11.287,5385,15.202,5386,15.202]],["keywords/726",[]],["title/727",[5387,1525.086]],["content/727",[1,2.938,35,5.193,139,2.806,140,2.852,144,1.925,162,3.662,192,3.908,226,7.963,227,3.881,318,4.219,494,8.238,671,6.611,700,8.876,742,6.611,834,10.761,1195,12.269,1543,5.653,1693,9.842,4817,8.331,4818,11.728,5340,12.277,5342,12.277,5349,11.06,5388,14.895,5389,14.895]],["keywords/727",[]],["title/728",[5390,1525.086]],["content/728",[1,2.327,35,5.206,75,7.557,139,1.714,140,2.533,144,2.134,162,3.329,181,4.189,192,3.853,209,7.441,219,6.836,226,6.309,227,3.074,318,4.16,350,3.813,447,4.402,494,6.527,671,5.237,698,7.557,700,8.54,742,5.237,753,6.863,834,8.525,1195,8.927,1204,8.989,1286,18.552,1297,5.625,1450,7.162,1543,4.478,1693,7.797,1803,14.542,2533,10.201,4817,7.12,4818,10.023,5340,9.726,5342,13.612,5345,10.836,5349,8.762,5391,11.801,5392,16.515]],["keywords/728",[]],["title/729",[48,322.245,5393,912.615]],["content/729",[1,3.267,5,2.571,48,4.477,49,10.117,52,3.944,64,5.641,88,6.766,139,2.406,142,8.333,192,3.351,194,5.099,225,5.099,240,5.613,318,3.617,352,6.042,446,8.179,455,9.273,698,7.581,742,7.352,752,9.941,757,10.946,1806,15.352,2300,15.212,5173,13.122]],["keywords/729",[]],["title/730",[5394,1525.086]],["content/730",[7,6.225,29,6.389,52,4.899,139,2.989,140,2.186,144,2.125,162,2.653,192,4.162,227,4.284,318,4.494,358,4.117,446,10.162,4816,10.662,5393,17.194,5395,16.443,5396,14.214,5397,16.443,5398,14.214,5399,16.443,5400,16.443,5401,15.099]],["keywords/730",[]],["title/731",[5402,1525.086]],["content/731",[29,6.687,139,3.074,140,2.288,144,2.224,162,2.776,192,4.282,204,6.142,227,4.484,318,4.622,340,6.077,358,4.309,446,10.453,775,7.066,5393,16.204,5396,14.877,5398,14.877,5403,17.21,5404,17.21]],["keywords/731",[]],["title/732",[5405,1400.437]],["content/732",[29,8.034,139,3.003,144,2.672,192,4.182,204,8.425,227,5.387,318,4.515,358,4.148,455,9.273,775,5.529,5173,13.122,5393,12.679,5401,18.987,5405,18.987,5406,18.987,5407,18.987]],["keywords/732",[]],["title/733",[5408,1400.437]],["content/733",[139,3.245,144,2.431,192,3.806,204,6.716,227,4.902,318,4.109,446,9.291,775,6.28,5393,14.403,5406,17.28,5407,17.28,5408,17.28]],["keywords/733",[]],["title/734",[5409,1525.086]],["content/734",[102,5.321,139,3.074,140,2.288,144,2.224,162,2.776,192,4.282,227,4.484,318,4.622,358,4.309,446,10.453,1551,10.445,2155,11.574,3256,14.184,5393,16.204,5396,14.877,5398,14.877,5410,17.21,5411,17.21]],["keywords/734",[]],["title/735",[1287,568.356,2352,734.894]],["content/735",[11,8.115,64,6.633,136,4.55,194,5.995,240,6.6,1287,9.285,2352,12.006,4275,12.871,5412,16.839]],["keywords/735",[]],["title/736",[256,530.107]],["content/736",[5,2.344,11,8.994,106,8.072,136,4.553,140,2.87,144,1.951,162,2.436,189,6.012,192,3.054,227,3.933,242,8.556,255,11.831,256,5.248,285,5.73,329,8.072,338,7.985,392,10.639,594,10.782,840,12.015,1162,8.902,1287,7.197,1340,8.781,1997,12.444,2352,14.062,2420,11.556,2623,13.051,5412,13.051,5413,15.098,5414,13.864,5415,15.098,5416,15.098]],["keywords/736",[]],["title/737",[4186,1208.042]],["content/737",[5,3.118,11,5.437,37,5.967,45,2.698,72,6.903,75,5.973,136,4.134,139,2.917,140,1.735,141,7.424,144,1.686,152,4.683,162,2.856,192,4.063,220,8.1,225,4.017,227,3.4,236,9.197,318,4.386,329,6.978,352,4.745,425,7.696,494,7.219,563,9.363,594,7.219,615,6.386,676,5.331,1146,8.662,1654,14.022,1691,11.479,2352,8.044,2882,13.144,5412,18.619,5414,11.985,5417,17.702,5418,13.052,5419,13.052,5420,13.052,5421,13.052,5422,13.052,5423,13.052,5424,13.052]],["keywords/737",[]],["title/738",[130,220.172,139,92.466,208,128.779,573,253.544,1834,261.764,2894,448.672]],["content/738",[11,7.906,64,6.463,130,6.563,167,9.547,194,5.841,208,3.839,240,6.43,573,7.558,643,8.551,1834,7.803,2352,11.697,2894,13.374]],["keywords/738",[]],["title/739",[4640,1400.437]],["content/739",[42,11.008,45,3.749,139,2.634,140,1.799,144,1.748,162,3.526,192,3.668,208,3.668,227,3.525,318,3.96,340,6.404,460,13.834,573,5.388,643,6.096,790,9.211,808,7.156,920,8.339,1802,5.793,1834,9.646,3014,11.554,3959,14.949,3961,12.226,3962,12.781,4817,7.82,5042,10.356,5124,11.984,5425,13.53,5426,10.718,5427,12.425,5428,12.425,5429,16.655,5430,13.53]],["keywords/739",[]],["title/740",[4633,1400.437]],["content/740",[45,4.215,139,2.961,140,2.154,144,2.094,162,3.778,192,4.124,208,4.124,227,4.221,318,4.452,340,5.721,573,6.452,643,7.3,1802,6.937,1834,9.627,2894,11.417,4817,8.791,5042,12.401,5426,12.834,5431,16.203,5432,16.203]],["keywords/740",[]],["title/741",[4635,1257.008]],["content/741",[139,3.295,144,2.495,192,3.905,227,5.031,318,4.216,573,7.689,1834,7.939,2894,13.607,4635,15.916]],["keywords/741",[]],["title/742",[5433,1525.086]],["content/742",[45,4.195,139,2.948,140,2.138,144,2.078,162,3.768,192,4.105,208,4.105,227,4.191,318,4.432,340,5.68,359,8.091,643,7.247,848,6.935,1802,6.886,1834,9.602,2155,8.793,4817,8.751,5042,12.311,5426,12.741,5434,16.085,5435,16.085]],["keywords/742",[]],["title/743",[5436,1400.437]],["content/743",[35,3.953,139,3.388,144,2.314,192,3.621,204,6.39,208,3.621,227,4.665,243,8.279,318,3.909,322,8.067,593,10.557,775,5.976,1834,7.361,3476,11.61,5436,19.916]],["keywords/743",[]],["title/744",[5437,1400.437]],["content/744",[45,4.157,59,6.985,136,3.703,139,2.921,140,2.108,144,2.049,162,3.748,192,3.207,208,4.068,227,4.131,278,7.255,318,3.462,340,5.598,643,7.143,775,5.291,924,9.623,1802,6.788,1834,9.552,4817,8.672,5426,12.559,5437,14.559,5438,15.855,5439,15.855,5440,15.855,5441,15.855]],["keywords/744",[]],["title/745",[5442,1400.437]],["content/745",[4,5.64,5,1.655,39,5.898,45,3.177,130,3.688,139,3.398,140,1.418,144,1.986,162,3.181,181,6.396,192,3.108,194,3.282,208,3.108,217,6.36,226,5.701,227,2.778,243,5.867,244,5.867,278,9.023,318,3.356,340,3.766,352,2.859,359,5.364,437,8.044,643,4.805,758,6.872,849,5.266,1213,9.626,1516,13.895,1783,8.447,1802,4.566,1834,9.764,2578,14.113,2619,7.52,3230,11.103,3728,11.411,3758,9.966,3809,10.584,4817,6.626,5100,13.285,5426,8.447,5442,9.793,5443,10.664,5444,9.793,5445,18.106,5446,14.113,5447,15.369,5448,15.369]],["keywords/745",[]],["title/746",[5449,1400.437]],["content/746",[5,1.339,39,4.772,42,7.972,45,1.783,64,2.938,65,5.702,80,5.237,102,2.668,130,4.542,131,5.318,139,3.043,140,1.147,144,1.697,157,4.045,162,2.119,170,5.817,171,5.405,181,5.646,192,2.657,194,2.656,208,1.745,217,5.735,226,4.613,227,2.248,243,5.014,244,5.014,248,4.47,278,8.136,290,4.83,318,2.868,322,3.888,340,4.638,349,5.6,352,3.521,359,4.341,437,6.875,447,3.219,460,10.791,540,5.405,643,3.888,743,5.595,758,5.874,790,8.078,836,7.972,849,4.26,1213,8.228,1335,5.702,1516,12.528,1834,9.678,1971,10.054,2619,6.427,3014,10.132,3230,9.49,3256,7.112,3728,9.753,3758,8.518,3809,9.046,3959,10.827,3961,8.855,3962,9.256,4314,11.355,4635,7.112,4817,3.72,5100,11.355,5124,8.68,5427,7.924,5428,7.924,5429,12.062,5444,7.924,5445,16.326,5446,12.062,5449,7.924,5450,8.629,5451,8.629,5452,13.136,5453,13.136,5454,13.136,5455,13.136]],["keywords/746",[]],["title/747",[7,271.221,352,262.365,353,416.153]],["content/747",[6,11.753,7,5.446,64,6.692,194,6.049,240,6.658,352,5.268,353,8.355,674,11.137]],["keywords/747",[]],["title/748",[5456,1525.086]],["content/748",[7,4.556,139,3.262,140,2.186,141,8.631,144,2.125,192,4.162,224,5.407,227,4.284,240,5.571,292,6.589,318,4.494,352,6.021,353,8.75,874,8.046,875,8.271,1287,7.838,1343,10.865,1399,11.88,1743,12.585,5457,16.443,5458,16.443,5459,16.443]],["keywords/748",[]],["title/749",[5460,1400.437]],["content/749",[5,2.825,51,6.602,139,3.412,141,7.633,144,2.352,192,3.681,227,4.741,240,6.166,318,3.974,352,4.878,353,7.738,753,10.585,1399,13.148,5460,16.712,5461,18.199]],["keywords/749",[]],["title/750",[5462,1525.086]],["content/750",[7,4.523,84,6.671,139,2.975,140,2.17,144,2.109,192,4.143,203,11.609,227,4.252,240,5.53,286,12.851,318,4.473,349,5.141,350,3.769,352,4.375,353,6.939,652,8.455,750,9.374,838,16.884,5463,14.988,5464,16.322,5465,16.322,5466,16.322]],["keywords/750",[]],["title/751",[5467,1525.086]],["content/751",[84,5.648,139,3.089,144,2.241,192,3.508,203,9.829,204,6.19,227,4.519,240,5.876,286,12.21,318,3.787,349,5.463,350,4.005,352,4.649,353,7.374,652,8.985,750,7.937,753,10.088,838,14.296,4984,15.927,5463,15.927,5468,17.344]],["keywords/751",[]],["title/752",[4317,1318.333]],["content/752",[5,3.054,18,4.73,75,5.736,136,4.022,139,3.076,141,7.222,144,2.225,182,9.759,183,8.746,192,2.535,194,3.858,202,7.08,217,5.554,223,6.246,224,5.663,227,4.486,271,7.608,309,6.079,318,2.737,320,7.608,327,6.933,352,4.616,371,10.153,385,10.332,392,8.833,564,7.985,717,10.88,765,12.441,790,6.366,1118,8.632,1125,8.283,1146,8.426,1253,5.975,1352,7.985,1366,9.929,1388,12.998,1405,7.851,1693,8.283,2650,9.929,2882,14.606,3461,11.511,4317,14.886,5469,12.535,5470,12.535,5471,12.535,5472,12.535,5473,12.535]],["keywords/752",[]],["title/753",[3,569.283,352,262.365,353,416.153]],["content/753",[3,13.666,88,7.433,91,6.867,129,10.066,130,6.293,225,5.601,265,5.985,273,7.386,279,6.75,352,5.871,353,7.738,1027,8.75,1332,11.801,2459,9.949]],["keywords/753",[]],["title/754",[4604,717.6,5474,762.291,5475,762.291,5476,762.291]],["content/754",[3,7.891,11,8.271,72,3.564,102,2.084,139,3.41,140,0.896,144,1.399,162,2.745,181,3.843,192,3.142,201,7.253,202,8.162,206,16.364,217,6.404,220,4.953,226,5.787,227,1.756,240,7.636,256,2.342,265,4.462,273,7.374,318,3.392,337,3.668,437,10.391,563,5.725,621,3.643,744,10.654,745,5.158,746,3.643,758,8.878,768,11.628,770,5.158,779,5.004,780,5.554,1027,7.469,1152,9.56,1448,5.825,1461,4.749,2459,11.2,2526,4.293,2929,11.182,4355,8.922,4356,5.825,4361,5.554,4591,6.188,4592,6.188,4597,6.188,4598,5.825,4600,6.188,4602,5.825,4604,5.825,4605,6.188,4606,6.188,4607,6.188,4611,6.188,5474,6.188,5475,6.188,5476,9.94,5477,6.739,5478,10.825,5479,10.825,5480,6.739,5481,15.535,5482,6.739,5483,6.739,5484,6.739,5485,6.739,5486,6.739,5487,6.739,5488,13.567,5489,6.739,5490,6.739,5491,6.739,5492,6.739,5493,6.739,5494,6.739,5495,6.739,5496,6.739,5497,6.739]],["keywords/754",[]],["title/755",[352,262.365,353,416.153,825,547.894]],["content/755",[64,6.813,194,6.158,240,6.778,352,5.363,825,11.199,1654,15.848]],["keywords/755",[]],["title/756",[5498,1400.437]],["content/756",[139,3.197,141,7.696,144,2.371,192,3.711,221,8.899,227,4.781,318,4.007,383,9.506,575,10.533,592,11.137,952,8.899,1345,14.045,1654,14.535,3289,15.125,5498,16.85]],["keywords/756",[]],["title/757",[5499,1400.437]],["content/757",[139,3.213,141,7.76,144,2.391,192,3.742,221,8.974,225,6.809,227,4.821,318,4.04,362,8.896,383,9.585,952,8.974,1654,14.657,5499,16.991]],["keywords/757",[]],["title/758",[4701,1318.333]],["content/758",[5,2.426,35,3.451,45,4.12,46,6.6,139,2.895,144,2.02,150,6.886,174,7.327,192,3.161,208,3.161,225,4.811,227,4.072,302,7.451,318,3.413,352,5.343,383,11.368,398,10.328,443,8.449,614,8.097,646,5.864,775,5.217,874,7.648,949,13.512,1177,9.957,1266,11.997,1588,8.972,2356,7.209,4220,13.512,4701,13.512,5500,15.631]],["keywords/758",[]],["title/759",[672,955.22]],["content/759",[1,4.278,5,3.367,45,3.701,48,5.862,60,6.289,79,6.835,139,2.6,194,5.511,260,11.831,277,3.81,378,9.007,653,10.414,672,13.584,1340,10.414,4473,13.294]],["keywords/759",[]],["title/760",[5501,1400.437]],["content/760",[7,4.769,139,2.499,140,2.288,144,2.735,192,4.282,227,4.484,318,4.622,350,3.974,358,4.309,672,13.26,775,7.066,808,9.102,1343,11.371,2526,10.963,5162,14.184,5501,15.803,5502,17.21,5503,15.803,5504,17.21]],["keywords/760",[]],["title/761",[5505,1525.086]],["content/761",[7,4.696,139,2.461,140,2.788,144,2.71,162,2.734,192,4.241,224,5.573,227,4.415,292,6.79,318,4.579,626,10.795,672,13.134,757,11.197,775,5.656,1814,13.423,2526,10.795,5503,15.561,5506,20.97,5507,16.946,5508,16.946]],["keywords/761",[]],["title/762",[5509,1400.437]],["content/762",[7,3.682,49,8.767,52,5.393,139,3.29,140,2.695,144,2.315,162,2.89,192,3.624,204,6.395,224,4.369,227,3.462,256,6.228,318,3.912,326,8.189,349,4.185,350,4.137,446,11.185,455,7.437,672,13.59,709,9.15,775,4.434,2482,12.001,2526,8.464,2968,9.15,5173,10.525,5509,19.924,5510,13.287,5511,12.201,5512,12.201,5513,13.287,5514,13.287]],["keywords/762",[]],["title/763",[5515,1400.437]],["content/763",[7,3.942,52,4.993,139,3.046,140,2.789,144,2.423,162,3.025,192,3.793,204,5.077,224,4.678,227,3.706,256,6.518,318,4.094,349,4.481,350,4.33,436,9.598,446,10.357,455,7.963,672,14.515,709,9.797,1167,9.797,2482,11.601,2526,9.062,2968,9.797,5173,11.268,5511,13.063,5512,13.063,5515,17.219,5516,14.226]],["keywords/763",[]],["title/764",[5517,1400.437]],["content/764",[7,5.043,52,4.332,64,6.197,130,6.293,139,3.181,144,2.352,192,3.681,227,4.741,318,3.974,404,8.511,447,6.789,574,10.73,672,11.399,848,7.846,5517,16.712]],["keywords/764",[]],["title/765",[7,422.589]],["content/765",[1,3.619,7,6.534,69,10.974,194,5.648,309,8.899,614,9.506,632,9.144,686,11.403,1027,8.822,1461,12.931,1673,11.137,2106,11.899,3767,15.862]],["keywords/765",[]],["title/766",[5518,1400.437]],["content/766",[1,3.267,5,2.571,7,4.59,51,6.009,139,3.003,144,2.672,162,3.335,192,3.351,204,7.379,227,5.387,318,3.617,761,8.856,775,5.529,1027,7.964,1611,13.654,2356,7.641,5518,15.212,5519,16.566,5520,16.566,5521,16.566,5522,16.566,5523,16.566,5524,15.212,5525,15.212]],["keywords/766",[]],["title/767",[5526,1400.437]],["content/767",[1,2.458,7,3.454,48,5.71,51,4.522,52,2.967,139,3.677,144,2.216,162,3.408,192,2.521,204,6.122,227,4.469,318,2.722,761,9.171,775,4.16,1611,14.139,1832,10.274,2356,5.749,2454,9.005,5524,15.752,5525,15.752,5526,11.446,5527,12.465,5528,12.465,5529,11.446,5530,12.465,5531,12.465,5532,12.465,5533,12.465,5534,12.465,5535,12.465,5536,12.465,5537,12.465,5538,12.465,5539,12.465,5540,12.465,5541,11.446,5542,11.446,5543,21.128,5544,12.465,5545,12.465,5546,12.465,5547,11.446,5548,12.465,5549,12.465]],["keywords/767",[]],["title/768",[5550,1663.464]],["content/768",[1,2.735,7,5.74,48,3.748,139,2.678,140,1.844,144,2.383,162,2.975,189,5.523,192,4.19,204,7.879,227,3.613,318,4.523,775,6.913,848,5.98,1200,6.297,1201,8.548,1611,15.198,2356,8.505,4813,6.786,5529,16.932,5541,16.932,5542,16.932,5547,12.736,5551,13.869,5552,13.869,5553,13.869,5554,12.736,5555,13.869,5556,12.736,5557,13.869,5558,18.439,5559,13.869,5560,13.869,5561,18.439]],["keywords/768",[]],["title/769",[4699,1400.437]],["content/769",[7,6.606,44,9.284,52,5.009,139,2.079,140,1.903,144,2.433,152,6.757,162,3.038,189,5.701,192,3.809,204,6.721,227,3.73,318,4.112,352,3.838,353,6.087,580,9.46,643,6.451,686,7.417,1027,6.883,1543,5.433,2106,12.211,2356,6.604,4813,7.006,4816,9.284,5554,13.147,5556,13.147,5562,14.318,5563,14.318,5564,14.318,5565,14.318,5566,14.318,5567,14.318,5568,14.318,5569,18.831,5570,14.318]],["keywords/769",[]],["title/770",[50,530.107]],["content/770",[1,3.711,50,7.767,72,11.818,79,7.183,194,5.792,545,11.421,849,11.033,1027,9.047,2654,13.972,3767,16.267]],["keywords/770",[]],["title/771",[5571,1400.437]],["content/771",[5,2.534,50,5.673,79,6.23,139,3.41,140,2.17,144,2.647,157,7.651,162,3.788,192,3.301,204,7.311,227,5.337,318,3.564,322,7.354,1027,7.847,5571,18.811,5572,14.988,5573,16.322,5574,16.322,5575,16.322,5576,16.322,5577,16.322]],["keywords/771",[]],["title/772",[5578,1525.086]],["content/772",[50,6.806,79,7.474,139,3.145,140,2.021,144,2.53,162,3.818,189,6.053,192,3.96,204,6.988,227,3.96,318,4.275,322,6.849,339,9.091,484,14.6,757,10.045,849,7.506,1742,14.146,3476,12.696,4813,7.438,5572,13.959,5579,15.202,5580,12.53,5581,19.58,5582,13.959]],["keywords/772",[]],["title/773",[5583,1400.437]],["content/773",[50,7.81,52,3.089,72,6.863,79,8.202,119,6.59,139,3.716,140,1.725,144,1.677,162,3.466,192,3.566,204,4.631,227,3.38,318,3.85,446,6.407,484,8.747,642,6.466,775,4.331,875,6.527,1143,9.144,1543,6.691,1747,10.278,1935,7.651,2367,8.414,3476,8.414,3687,10.695,4813,8.627,5042,9.931,5233,11.915,5580,10.695,5582,11.915,5583,11.915,5584,12.976,5585,11.217,5586,12.976,5587,12.976,5588,12.976,5589,12.976,5590,12.976]],["keywords/773",[]],["title/774",[5591,1525.086]],["content/774",[50,8.076,79,7.678,139,2.921,140,2.108,144,2.049,162,3.748,192,4.068,227,4.131,248,8.213,318,4.392,383,8.213,484,10.688,849,9.931,1297,7.557,1935,9.348,3476,10.281,4813,9.841,5580,13.068,5585,13.705,5592,15.855,5593,18.469,5594,15.855]],["keywords/774",[]],["title/775",[5595,1525.086]],["content/775",[50,8.097,79,7.713,139,2.934,140,2.123,144,2.063,162,3.758,192,4.087,227,4.16,248,8.273,318,4.412,383,8.273,1297,7.612,1935,9.415,2155,11.046,3476,10.355,4813,9.886,5580,13.162,5585,13.804,5593,18.554,5596,15.969,5597,15.969]],["keywords/775",[]]],"invertedIndex":[["",{"_index":139,"title":{"5":{"position":[[8,1]]},"343":{"position":[[11,1]]},"584":{"position":[[7,1]]},"738":{"position":[[17,1]]}},"content":{"7":{"position":[[335,3],[1020,3]]},"9":{"position":[[149,2],[236,1],[498,2],[575,1]]},"20":{"position":[[344,1],[352,1],[362,1],[375,1],[384,1],[417,1],[524,4],[666,4],[723,3],[787,3]]},"21":{"position":[[84,3],[116,2],[129,2]]},"22":{"position":[[109,3],[143,2],[157,2],[166,1],[182,1],[228,1],[271,1],[376,1],[384,1],[400,1],[414,1],[430,1],[446,1],[459,1],[488,1],[496,1],[503,1],[514,1]]},"23":{"position":[[79,3],[122,2],[137,2],[259,1]]},"36":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7494,1],[7581,1],[7681,1],[9288,1],[9300,1],[9480,1],[9487,1]]},"43":{"position":[[315,1],[4668,1]]},"44":{"position":[[794,1],[806,1],[838,1],[877,1],[904,1],[934,1],[959,1],[996,1],[1097,1],[1242,1],[2491,1],[2493,1],[2507,1],[2618,1],[2631,1],[2662,1],[2689,3],[2718,1],[2819,1],[2852,1],[2854,1],[2856,1],[2863,1],[2917,2],[3263,1],[3303,1],[3428,1],[3476,2],[3497,3],[3529,1],[3547,1],[3662,2],[3687,1],[3751,1],[3758,1]]},"46":{"position":[[877,1]]},"49":{"position":[[365,1],[489,1],[678,1],[1652,1],[2640,1]]},"50":{"position":[[565,1],[1392,1],[2233,1]]},"52":{"position":[[320,1],[432,1],[757,1],[1658,1]]},"54":{"position":[[569,1],[2643,1],[2855,1]]},"61":{"position":[[3031,1],[3035,1],[3039,1],[3043,1],[3426,1],[3431,1]]},"67":{"position":[[219,1],[372,1],[405,1]]},"69":{"position":[[1327,1]]},"71":{"position":[[170,1],[287,1],[307,1],[331,1],[489,1],[518,1]]},"75":{"position":[[751,2],[759,1],[860,1],[1115,2],[1124,1],[1248,1],[1524,1],[1548,1]]},"80":{"position":[[254,1],[402,1]]},"83":{"position":[[657,1],[913,1],[931,1],[2223,1],[2343,1]]},"84":{"position":[[144,1],[233,1],[305,1],[775,5]]},"85":{"position":[[262,1],[297,1],[309,1],[377,1],[430,1],[511,1],[528,1],[674,1],[731,1],[743,1],[826,1],[875,1],[952,1],[1073,1],[1132,1],[1199,1],[1276,1],[1319,1]]},"88":{"position":[[205,2]]},"95":{"position":[[438,1]]},"99":{"position":[[411,1],[434,1],[458,1],[473,1],[494,1],[512,1],[560,1],[572,1],[621,1],[637,1],[686,1],[701,1],[798,1],[812,1],[860,1],[878,1],[962,1],[988,1]]},"102":{"position":[[181,1]]},"103":{"position":[[21,1],[249,1],[526,1],[583,1]]},"104":{"position":[[66,1],[93,1]]},"105":{"position":[[80,1],[149,1],[214,1],[260,1]]},"107":{"position":[[1,1],[18,1],[95,1],[121,1],[154,1]]},"108":{"position":[[17,1],[42,1],[54,1],[67,1],[76,1],[146,1],[165,1],[199,1],[241,1],[295,1],[339,1],[414,1],[464,1],[536,1],[592,1],[659,1]]},"109":{"position":[[17,1]]},"126":{"position":[[289,1],[485,1]]},"127":{"position":[[292,1],[491,1]]},"133":{"position":[[897,1]]},"134":{"position":[[821,1],[1156,1]]},"146":{"position":[[149,1]]},"147":{"position":[[138,1]]},"148":{"position":[[149,1]]},"149":{"position":[[135,1],[141,1]]},"150":{"position":[[145,1]]},"151":{"position":[[156,1]]},"152":{"position":[[139,1],[145,1]]},"153":{"position":[[158,1]]},"154":{"position":[[140,1]]},"155":{"position":[[151,1]]},"156":{"position":[[139,1],[145,1]]},"157":{"position":[[147,1]]},"158":{"position":[[158,1]]},"159":{"position":[[143,1],[149,1]]},"160":{"position":[[161,1],[167,1]]},"161":{"position":[[157,1],[163,1]]},"162":{"position":[[155,1],[161,1]]},"163":{"position":[[155,1],[161,1]]},"164":{"position":[[155,1],[161,1]]},"165":{"position":[[144,1],[150,1]]},"167":{"position":[[130,1]]},"174":{"position":[[492,1]]},"176":{"position":[[434,1],[496,1]]},"202":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7494,1],[7581,1],[7681,1],[9288,1],[9300,1],[9480,1],[9487,1]]},"208":{"position":[[447,1]]},"224":{"position":[[773,2],[842,1],[1211,2],[1281,1]]},"225":{"position":[[498,1]]},"227":{"position":[[891,1],[1236,1],[1266,1],[1349,2],[1352,1],[1377,1],[1379,2],[1403,2],[1417,2],[1426,1],[1428,2],[1480,2],[1497,2],[1506,1],[1508,2],[1554,2],[1567,2],[1576,1],[1578,2],[1620,2],[1623,1],[1625,2],[2387,1],[2389,1],[2531,2],[2602,1],[2647,1],[2783,3],[2787,3],[3406,1],[3408,1],[3534,2],[3605,1],[3650,1],[3790,3],[3794,3],[5638,1],[5640,1],[5763,2],[5766,1],[5889,1],[5891,1],[6211,1],[6213,1],[6365,2],[6368,1],[6518,1],[6520,1]]},"229":{"position":[[178,1],[250,1]]},"230":{"position":[[180,1],[252,1],[291,1]]},"231":{"position":[[192,1],[276,1],[315,1]]},"232":{"position":[[213,1],[308,1],[347,1],[970,1]]},"233":{"position":[[228,1],[333,1],[372,1],[1187,1]]},"234":{"position":[[270,1],[371,1]]},"235":{"position":[[478,1],[563,1]]},"240":{"position":[[1866,1]]},"253":{"position":[[804,1],[928,1],[1931,1],[2799,1],[4801,1],[6456,1],[6511,1],[6603,1],[6660,1]]},"254":{"position":[[1397,1]]},"267":{"position":[[2057,1],[2069,1],[2671,1],[4120,1],[4187,1],[4471,1],[4543,1],[6094,1],[6180,1],[6279,1],[7571,1],[7583,1],[7741,1],[7748,1]]},"273":{"position":[[437,1]]},"282":{"position":[[511,1]]},"285":{"position":[[1273,1],[1284,1],[1312,1],[1322,1],[1351,1],[1364,1],[1530,1]]},"292":{"position":[[1122,1],[1194,1],[1267,1],[1308,1],[1352,1],[1402,1],[1448,1]]},"318":{"position":[[231,1],[259,1],[291,1],[349,1],[397,1],[399,1],[424,1],[458,1],[509,1],[550,1],[691,1],[717,1]]},"319":{"position":[[114,1]]},"320":{"position":[[364,1],[369,2],[903,1]]},"321":{"position":[[119,1],[353,1],[1230,1],[1566,1],[2803,1],[3081,1],[3232,1],[3315,1],[3442,1],[3450,1],[3564,1]]},"322":{"position":[[545,1],[547,1],[602,3],[630,1],[710,1],[799,2],[880,1],[990,1],[992,1],[994,3],[998,1],[1000,1]]},"324":{"position":[[3282,1]]},"325":{"position":[[110,1],[362,1]]},"328":{"position":[[330,1],[357,1],[366,1],[368,2],[391,2],[394,2],[397,2],[437,2],[462,2],[868,1],[1171,2]]},"329":{"position":[[1104,1],[1166,1]]},"332":{"position":[[693,1]]},"334":{"position":[[543,1]]},"338":{"position":[[434,1],[489,1],[542,1],[580,1],[631,1],[677,1],[721,1],[762,1],[822,1],[878,1],[969,1],[1077,1]]},"347":{"position":[[1928,1],[2456,1]]},"350":{"position":[[1392,1]]},"352":{"position":[[448,1],[476,1]]},"353":{"position":[[280,1]]},"355":{"position":[[644,1],[650,1],[666,1]]},"357":{"position":[[738,1],[779,1],[822,1],[1091,1],[1104,1],[2223,1],[2265,1],[2313,1],[2582,1],[2595,1],[4525,1]]},"360":{"position":[[225,1],[269,1],[271,1],[301,1],[303,1],[373,1],[451,1],[530,1],[550,1],[552,1],[640,1],[683,1],[685,1],[781,1],[861,1],[946,1],[1030,1],[1111,1]]},"371":{"position":[[374,1]]},"373":{"position":[[807,1]]},"383":{"position":[[842,1],[950,1]]},"386":{"position":[[327,1]]},"387":{"position":[[302,1]]},"388":{"position":[[175,1]]},"389":{"position":[[260,1]]},"390":{"position":[[221,1]]},"391":{"position":[[230,1],[282,1]]},"401":{"position":[[222,1],[272,1],[349,1],[415,1]]},"402":{"position":[[222,1],[272,1],[349,1],[411,1],[469,1],[564,1]]},"403":{"position":[[805,1]]},"404":{"position":[[326,1],[379,1]]},"405":{"position":[[392,1]]},"406":{"position":[[390,1]]},"407":{"position":[[536,1]]},"408":{"position":[[410,1]]},"409":{"position":[[413,1]]},"410":{"position":[[687,1],[737,1],[790,1]]},"411":{"position":[[634,1],[687,1],[749,1]]},"412":{"position":[[362,1],[415,1]]},"413":{"position":[[360,1],[413,1]]},"415":{"position":[[379,1]]},"416":{"position":[[382,1]]},"417":{"position":[[656,1],[706,1],[759,1]]},"418":{"position":[[606,1]]},"419":{"position":[[654,1]]},"420":{"position":[[622,1]]},"422":{"position":[[400,1]]},"423":{"position":[[622,1],[675,1]]},"424":{"position":[[499,1],[548,1],[711,1],[760,1]]},"425":{"position":[[366,1],[415,1],[481,1],[527,1],[560,1],[604,1],[648,1]]},"426":{"position":[[209,1],[266,1]]},"427":{"position":[[618,1]]},"429":{"position":[[499,1],[577,1],[633,2],[665,2],[785,3],[1454,1],[1901,1],[2144,1],[2146,1],[2230,1],[2232,3],[2248,1],[2264,1]]},"430":{"position":[[343,1],[345,1],[347,1],[401,1]]},"431":{"position":[[342,1],[401,1]]},"432":{"position":[[267,1],[318,1]]},"434":{"position":[[350,1],[498,3],[504,1],[513,1],[543,1]]},"435":{"position":[[147,1],[328,1],[383,1]]},"436":{"position":[[267,1],[318,1]]},"439":{"position":[[295,1]]},"440":{"position":[[402,1]]},"443":{"position":[[414,1]]},"444":{"position":[[592,1]]},"446":{"position":[[768,1],[911,1],[1009,3],[1015,1],[1039,1],[1083,1],[1126,1]]},"448":{"position":[[166,2],[294,2]]},"459":{"position":[[1,1],[75,1],[172,1]]},"461":{"position":[[62,1],[131,1],[197,1]]},"476":{"position":[[1362,1],[1374,1],[1471,1],[1660,1],[1703,1],[1870,1],[1957,1],[1996,1],[2028,1],[2047,1],[2214,2],[2233,38],[2272,1],[2280,38],[2326,1],[2359,1],[2435,1],[2590,2],[2604,1],[2749,1],[2784,1],[2872,1],[2911,1],[2943,1],[2962,1],[3130,2],[3145,38],[3184,1],[3192,38],[3238,1],[3271,1],[3345,1],[3500,2],[3513,1],[4671,1]]},"478":{"position":[[362,2],[464,1],[628,1],[660,1],[824,1]]},"480":{"position":[[677,1],[758,1],[1050,1],[1093,1],[1104,1],[1122,4],[1148,1],[1192,1],[1506,2],[1786,2]]},"481":{"position":[[257,1],[304,1],[394,1],[509,1]]},"482":{"position":[[1374,1]]},"483":{"position":[[678,1]]},"485":{"position":[[515,1],[569,1]]},"486":{"position":[[401,1],[512,1],[637,1],[749,1]]},"487":{"position":[[833,1],[865,1],[897,2],[934,1],[966,1],[1010,1],[1025,1],[1151,1],[1293,1],[1328,1],[1364,2],[1404,1],[1440,1],[1484,1],[1495,1],[1623,1]]},"488":{"position":[[2254,1],[2285,1],[2358,2],[2397,1],[2433,1],[2516,2]]},"490":{"position":[[671,1]]},"495":{"position":[[449,1],[516,2],[534,2],[592,1],[642,1],[735,1],[802,2],[820,2],[889,1],[940,1]]},"496":{"position":[[612,1],[670,1],[809,1],[868,1]]},"497":{"position":[[358,1],[475,1],[663,1],[774,1]]},"498":{"position":[[325,1],[395,1],[432,1],[502,1],[539,1],[620,1]]},"499":{"position":[[545,1],[633,1],[780,1],[850,1],[882,1],[971,1],[1112,1],[1182,1]]},"501":{"position":[[608,1],[616,1],[652,2],[669,1],[689,2],[736,1],[819,1],[836,1],[870,1],[878,1],[914,2],[947,1],[967,2],[1014,1]]},"502":{"position":[[623,1],[699,1],[768,1],[791,1]]},"507":{"position":[[367,1],[530,1]]},"525":{"position":[[598,1]]},"527":{"position":[[302,4],[396,4]]},"547":{"position":[[179,1],[199,1]]},"553":{"position":[[64,5]]},"584":{"position":[[418,1]]},"585":{"position":[[333,1],[430,1],[451,1],[497,1],[509,1],[533,1],[589,1],[634,1],[676,1],[687,1],[693,1],[734,1],[738,1],[742,1],[771,1],[773,1],[801,1],[803,1],[877,1],[879,1],[949,1],[1029,1],[1043,1],[1047,2],[1059,1]]},"586":{"position":[[352,1],[462,1],[482,1],[540,1],[589,1],[591,2],[594,1],[598,1],[602,1],[617,1],[621,1],[655,1],[666,1],[670,1],[704,1],[732,1],[734,1],[771,1],[839,1],[848,2],[886,1],[890,2],[895,1]]},"599":{"position":[[24,1],[983,1]]},"613":{"position":[[226,1]]},"623":{"position":[[224,1],[674,1],[716,1],[772,1],[818,1],[895,1],[937,1],[993,1],[1039,1]]},"624":{"position":[[183,1],[641,1],[689,1],[753,1],[820,1],[905,1],[953,1],[1017,1],[1084,1]]},"627":{"position":[[195,1],[289,4],[379,4],[461,4],[605,1],[677,1],[758,1],[920,1],[992,1],[1073,1]]},"628":{"position":[[622,1],[703,1],[738,1],[757,1],[859,1],[943,1],[1027,1],[1063,1],[1082,1],[1186,1]]},"629":{"position":[[582,1],[799,1],[911,1],[1159,1]]},"630":{"position":[[45,1],[385,1]]},"632":{"position":[[1323,1],[1452,1],[1504,1],[1557,1],[1590,1],[1730,1],[1898,1],[1951,1],[1986,1]]},"634":{"position":[[80,1],[204,1]]},"636":{"position":[[385,4],[741,5],[1354,1],[1568,1],[1643,2],[1829,1],[1894,2]]},"637":{"position":[[577,4],[963,5]]},"638":{"position":[[590,4],[984,5],[1527,1]]},"639":{"position":[[641,4],[1017,5]]},"640":{"position":[[437,4],[817,5]]},"641":{"position":[[624,4],[1034,5]]},"642":{"position":[[637,4],[1055,5],[1598,1]]},"643":{"position":[[688,4],[1088,5]]},"644":{"position":[[419,1],[978,1]]},"645":{"position":[[39,1],[233,1]]},"646":{"position":[[166,1],[310,1],[364,1],[414,1],[463,1],[516,1],[594,1],[722,3],[726,2],[729,1],[731,3],[735,1],[737,2],[768,1],[824,1],[851,1],[877,1],[907,1],[967,1],[1032,3],[1036,2],[1039,1],[1041,3],[1045,1],[1047,2]]},"647":{"position":[[70,1],[218,1],[309,4],[342,1],[435,4]]},"648":{"position":[[72,1],[318,1],[347,1],[403,1],[453,1],[502,1],[555,1],[633,1],[761,3],[765,2],[768,1],[770,3],[774,1],[776,2],[808,1],[866,1],[893,1],[919,1],[949,1],[1009,1],[1074,3],[1078,2],[1081,1],[1083,3],[1087,1],[1089,2]]},"649":{"position":[[53,1],[420,1],[481,1],[627,1],[741,1],[927,1],[1147,1],[1210,1],[1284,1],[1362,1],[1463,1],[1537,5],[1553,3]]},"650":{"position":[[101,1],[126,1],[213,1],[416,1],[478,1],[598,1],[784,1],[920,1],[984,1],[1058,1],[1152,1]]},"651":{"position":[[91,1],[485,1],[626,1]]},"652":{"position":[[232,1],[667,1],[793,1]]},"653":{"position":[[57,1],[436,1],[487,1],[504,1],[598,1],[631,1],[730,1],[784,1]]},"654":{"position":[[70,1],[328,1],[355,1],[395,1]]},"656":{"position":[[332,1],[1051,1],[1406,1]]},"657":{"position":[[251,1],[641,1]]},"658":{"position":[[538,2],[554,1],[607,2],[785,2],[801,1],[860,2],[910,1],[1044,1]]},"659":{"position":[[131,1]]},"660":{"position":[[53,1],[568,1],[621,1],[700,1],[757,1],[820,1],[878,1],[912,1],[996,1],[1049,1],[1128,1],[1185,1],[1248,1],[1306,1],[1340,1]]},"661":{"position":[[84,1],[109,1],[196,1],[382,1],[408,1]]},"662":{"position":[[208,1],[660,1],[777,1]]},"663":{"position":[[252,1],[321,1],[436,3],[440,1],[448,1],[474,1],[603,1],[605,2]]},"664":{"position":[[53,1],[177,1],[204,1],[300,1],[348,1],[401,1],[471,1],[501,1],[526,1],[573,1],[605,1],[635,1],[637,3]]},"665":{"position":[[52,1],[181,1],[289,4]]},"666":{"position":[[30,1],[276,1],[302,1],[406,1],[463,1],[516,1],[597,1],[627,1],[657,1],[705,1],[770,1],[845,1],[893,1],[957,1],[1028,1],[1053,1],[1100,1],[1132,1],[1162,1],[1164,3]]},"667":{"position":[[29,1],[354,1],[378,1],[487,1],[519,1],[549,1],[595,1],[688,1],[741,1],[775,1]]},"668":{"position":[[83,1],[347,1],[374,1],[420,1]]},"669":{"position":[[371,1],[446,1],[729,1],[740,1],[812,2],[866,1],[930,2],[1016,1],[1027,1],[1098,2],[1152,1],[1216,2]]},"670":{"position":[[81,1]]},"671":{"position":[[233,1],[313,1],[610,1],[621,1],[699,1],[722,1],[809,1],[820,1],[898,1],[921,1]]},"672":{"position":[[84,1],[436,1],[522,1],[623,1],[709,1]]},"673":{"position":[[207,1],[302,1],[341,1],[343,1],[561,1],[785,1],[1021,1],[1258,1],[1323,1],[1364,1],[1366,1],[1480,1],[1600,1],[1722,1],[1844,1]]},"675":{"position":[[146,1],[312,1],[334,1]]},"676":{"position":[[324,1],[431,1],[519,1],[666,1],[742,1],[934,1],[1023,1],[1164,1],[1240,1]]},"677":{"position":[[52,1],[260,1]]},"678":{"position":[[64,1],[280,1]]},"679":{"position":[[60,1],[294,1],[424,4]]},"681":{"position":[[356,1],[382,1],[437,1],[560,1],[578,1],[663,1],[1504,1],[1519,1],[1536,1],[1577,2],[1601,1],[1642,2],[1711,1],[1728,1],[1746,1],[1787,2],[1811,1],[1852,2]]},"682":{"position":[[276,1],[361,1],[797,1],[1272,1],[1353,1],[1479,1],[1560,1]]},"683":{"position":[[361,1],[446,1],[919,1],[946,1]]},"684":{"position":[[233,1],[251,1],[328,1],[800,1],[827,1],[873,1]]},"685":{"position":[[189,1],[207,1],[279,1],[1038,1],[1111,1],[1215,1],[1288,1]]},"686":{"position":[[171,1],[189,1],[261,1],[696,1],[1089,1],[1176,1],[1294,1],[1381,1]]},"687":{"position":[[285,1],[303,1],[375,1],[766,1],[793,1]]},"688":{"position":[[121,1],[139,1],[208,1],[772,1],[799,1],[851,1]]},"690":{"position":[[518,1],[622,1]]},"691":{"position":[[67,1],[355,1]]},"692":{"position":[[68,1],[357,1]]},"693":{"position":[[90,1],[240,1]]},"694":{"position":[[91,1],[242,1]]},"695":{"position":[[56,1],[72,1],[98,1]]},"696":{"position":[[71,1],[210,1]]},"697":{"position":[[86,1],[102,1],[125,1]]},"698":{"position":[[54,1],[70,1],[94,1]]},"699":{"position":[[14,1],[77,1],[366,1],[621,1],[687,1],[941,1]]},"700":{"position":[[219,1],[1961,1]]},"701":{"position":[[137,1],[153,1],[185,1]]},"702":{"position":[[100,1],[340,4],[351,1],[391,1],[441,1]]},"703":{"position":[[91,1],[374,1],[400,1],[467,1],[518,1],[565,1],[612,1],[658,1],[717,1],[773,1],[816,1],[865,1],[897,1],[948,1],[995,1],[1042,1],[1088,1],[1144,1],[1203,1],[1246,1],[1295,1],[1355,2],[1369,1],[1449,1],[1500,1],[1502,3]]},"705":{"position":[[71,1],[91,1]]},"706":{"position":[[209,1],[295,1],[343,1],[374,1],[412,1],[437,1],[462,1],[486,1],[511,1],[540,1],[567,1],[594,1],[616,1],[649,1],[674,1],[699,1],[723,1],[748,1],[777,1],[804,1],[831,1],[861,1],[897,1],[936,1],[972,1],[1005,1],[1060,1],[1114,1],[1158,1],[1202,1],[1228,1],[1278,1]]},"707":{"position":[[175,1],[199,1]]},"709":{"position":[[116,1],[251,1],[280,1],[380,1],[440,1],[491,1],[534,1],[573,1],[612,1],[656,1],[686,1],[718,1],[746,1],[779,1],[809,1],[859,1],[906,1],[935,1],[963,1],[991,1],[1020,1],[1049,1],[1076,1]]},"710":{"position":[[67,1],[83,1],[111,1]]},"711":{"position":[[63,1],[420,1]]},"712":{"position":[[68,1],[210,1]]},"713":{"position":[[97,1],[397,1]]},"714":{"position":[[96,1],[393,1]]},"715":{"position":[[303,1],[330,1],[848,1],[875,1],[937,1]]},"716":{"position":[[110,1]]},"717":{"position":[[166,1],[474,1]]},"718":{"position":[[173,1]]},"720":{"position":[[33,1],[366,1]]},"721":{"position":[[36,1],[166,1]]},"722":{"position":[[64,1],[80,1],[105,1]]},"723":{"position":[[109,1],[232,1],[258,1],[356,1],[413,1],[464,1],[507,1],[546,1],[585,1],[629,1],[659,1],[691,1],[719,1],[752,1],[782,1],[832,1],[879,1],[908,1],[936,1],[964,1],[993,1],[1022,1],[1049,1]]},"724":{"position":[[297,1],[321,1],[834,1],[858,1],[882,1]]},"725":{"position":[[94,1],[379,1]]},"726":{"position":[[93,1],[375,1]]},"727":{"position":[[156,1],[452,1]]},"728":{"position":[[170,1]]},"729":{"position":[[119,1]]},"730":{"position":[[26,1],[199,1]]},"731":{"position":[[41,1],[171,1]]},"732":{"position":[[73,1],[165,1]]},"733":{"position":[[35,1],[51,1]]},"734":{"position":[[61,1],[194,1]]},"737":{"position":[[379,1],[726,1],[786,1]]},"739":{"position":[[59,1],[480,1]]},"740":{"position":[[40,1],[259,1]]},"741":{"position":[[32,1],[48,1]]},"742":{"position":[[52,1],[272,1]]},"743":{"position":[[74,1],[90,1],[160,4]]},"744":{"position":[[312,1],[349,1]]},"745":{"position":[[158,1],[480,1],[482,1],[605,1],[607,1],[752,1],[754,1],[877,1],[879,1]]},"746":{"position":[[227,1],[940,1],[942,1],[1067,1],[1069,1],[1206,1],[1369,1]]},"748":{"position":[[57,1],[238,1],[250,1]]},"749":{"position":[[77,1],[93,1],[121,1]]},"750":{"position":[[141,1],[283,1]]},"751":{"position":[[140,1],[156,1]]},"752":{"position":[[508,1],[561,1],[635,1],[701,1]]},"754":{"position":[[496,1],[1147,1],[1171,3],[1231,1],[1255,3],[1277,1],[1301,3],[1322,1],[1346,3],[1600,1],[1694,1],[1718,3],[1771,1],[1795,3],[1825,1],[1849,3],[1878,1],[1902,3]]},"756":{"position":[[92,1],[108,1]]},"757":{"position":[[83,1],[99,1]]},"758":{"position":[[288,1],[304,1]]},"759":{"position":[[48,1]]},"760":{"position":[[56,1]]},"761":{"position":[[48,1]]},"762":{"position":[[48,1],[406,2],[444,2],[514,2],[547,2]]},"763":{"position":[[48,1],[426,2],[481,2]]},"764":{"position":[[81,1],[97,1]]},"766":{"position":[[117,1],[267,1]]},"767":{"position":[[78,1],[121,1],[123,1],[288,1],[466,1],[649,1],[839,1],[857,1],[902,1],[904,1],[997,1],[1103,1],[1214,1],[1332,1]]},"768":{"position":[[121,1],[232,4]]},"769":{"position":[[161,1]]},"771":{"position":[[109,1],[127,1],[238,1],[256,1]]},"772":{"position":[[73,1],[234,1],[333,1]]},"773":{"position":[[221,1],[399,1],[425,1],[489,1],[491,1],[493,1],[495,1],[516,1],[518,1],[520,1],[522,1],[566,1],[610,1],[656,1],[658,3]]},"774":{"position":[[45,1],[294,1]]},"775":{"position":[[47,1],[300,1]]}},"keywords":{}}],["0",{"_index":646,"title":{},"content":{"35":{"position":[[315,1],[548,1],[566,1]]},"36":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7480,1],[9228,1],[9241,1],[9417,1],[9430,1]]},"37":{"position":[[341,1],[359,1]]},"40":{"position":[[232,1],[245,1],[340,1],[459,1],[471,1],[566,1],[684,1],[821,1],[841,1],[1125,1],[1170,1],[1307,1],[1460,1],[1462,1],[1464,1]]},"44":{"position":[[956,2]]},"49":{"position":[[947,1],[952,1],[1189,1],[1322,1],[1823,1],[1828,1],[2103,1],[2255,1]]},"50":{"position":[[813,1],[818,1],[1013,1],[1125,1],[1542,1],[1547,1],[1780,1],[1911,1]]},"52":{"position":[[1011,1],[1016,1],[1236,1],[1356,1]]},"54":{"position":[[939,1],[1048,1],[1053,1],[1192,1],[1679,1],[1808,1],[1813,1],[1970,1]]},"59":{"position":[[733,1]]},"60":{"position":[[1131,1]]},"61":{"position":[[897,1],[1404,1],[2031,1]]},"62":{"position":[[1033,1]]},"63":{"position":[[1622,1],[2217,1]]},"75":{"position":[[674,2],[1022,2]]},"99":{"position":[[570,1],[635,1],[699,1],[810,1],[876,1],[986,1],[1109,1],[1936,2],[2598,2],[4510,1],[5097,2]]},"134":{"position":[[933,1],[938,1]]},"167":{"position":[[104,1]]},"198":{"position":[[1163,4],[1319,3]]},"201":{"position":[[344,1],[577,1],[595,1],[1964,1],[2065,1],[2118,1],[2228,1]]},"202":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7480,1],[9228,1],[9241,1],[9417,1],[9430,1]]},"203":{"position":[[360,1],[378,1],[1852,1],[1886,1]]},"204":{"position":[[747,1],[765,1]]},"205":{"position":[[583,1],[601,1]]},"206":{"position":[[361,1]]},"224":{"position":[[776,1],[1214,2]]},"226":{"position":[[144,1],[153,1],[155,1],[157,1],[315,1],[317,1],[319,1],[409,1],[589,1],[597,1],[843,1],[853,1],[855,1],[882,1],[886,1],[934,1],[1022,1],[1031,1],[1033,1],[1035,1],[1193,1],[1195,1],[1197,1],[1287,1],[1467,1],[1475,1],[1558,1],[1560,1],[1562,1],[1637,1],[1639,1],[1641,1],[1792,1],[1801,1],[1803,1],[1805,1],[1963,1],[1965,1],[1967,1],[2057,1],[2237,1],[2245,1],[2328,1],[2330,1],[2332,1],[2455,1],[2459,1]]},"232":{"position":[[1201,1],[1234,1]]},"233":{"position":[[1479,1],[1512,1]]},"253":{"position":[[2946,1],[3012,1],[3046,1],[3084,1],[3867,2],[4095,3],[4188,2],[4278,1],[4318,1],[4408,1],[4995,1],[5028,1],[5522,1]]},"254":{"position":[[1544,1],[1612,1],[1646,1],[1684,1]]},"259":{"position":[[1179,4]]},"261":{"position":[[59,2]]},"262":{"position":[[366,1],[368,1],[466,1]]},"263":{"position":[[1297,1],[1299,1],[1450,1],[1452,1]]},"266":{"position":[[343,1],[575,1],[593,1],[1118,1],[1120,1]]},"267":{"position":[[1900,1],[2071,2],[2640,1],[6080,1]]},"268":{"position":[[367,1],[385,1]]},"271":{"position":[[360,1]]},"285":{"position":[[128,1],[286,1],[375,1],[537,1],[850,2],[932,2],[1032,1],[1103,1],[1148,1],[1150,1],[1413,1],[1415,1]]},"289":{"position":[[1484,3],[1494,1]]},"321":{"position":[[1624,1],[1626,1],[1628,1]]},"329":{"position":[[296,1]]},"338":{"position":[[645,2]]},"373":{"position":[[212,1],[410,1],[900,1]]},"383":{"position":[[212,1],[410,1],[825,1],[932,1]]},"399":{"position":[[228,1]]},"405":{"position":[[319,1]]},"410":{"position":[[863,1]]},"411":{"position":[[276,1],[777,1]]},"417":{"position":[[827,1]]},"422":{"position":[[327,1]]},"423":{"position":[[738,1]]},"425":{"position":[[511,1],[587,1],[618,1],[699,1]]},"433":{"position":[[193,2]]},"434":{"position":[[378,1],[502,1]]},"441":{"position":[[586,1]]},"444":{"position":[[808,1],[931,1]]},"446":{"position":[[796,1],[1013,1]]},"487":{"position":[[835,1],[968,1],[1295,1],[1442,1]]},"488":{"position":[[2256,1],[2399,1]]},"501":{"position":[[801,1],[1079,1]]},"585":{"position":[[740,1]]},"599":{"position":[[1304,1]]},"640":{"position":[[1530,2],[1703,3]]},"641":{"position":[[1777,2],[1980,3]]},"644":{"position":[[1084,3]]},"646":{"position":[[1014,2]]},"648":{"position":[[1056,2]]},"649":{"position":[[1359,2],[1375,2],[1496,3]]},"663":{"position":[[626,3]]},"671":{"position":[[744,1],[943,1]]},"703":{"position":[[1331,5]]},"758":{"position":[[195,2]]}},"keywords":{}}],["0"",{"_index":2196,"title":{},"content":{"224":{"position":[[815,8],[1254,8]]},"476":{"position":[[2217,8],[3133,8]]},"640":{"position":[[1420,8],[1602,8]]},"641":{"position":[[1652,8],[1864,8]]},"644":{"position":[[541,8]]},"671":{"position":[[701,8],[900,8]]},"703":{"position":[[458,8],[1440,8]]}},"keywords":{}}],["0,0",{"_index":3960,"title":{},"content":{"437":{"position":[[110,5]]},"438":{"position":[[149,5]]}},"keywords":{}}],["0.0",{"_index":1743,"title":{},"content":{"93":{"position":[[1816,4],[2082,4],[2335,4],[2619,4]]},"226":{"position":[[774,3]]},"495":{"position":[[594,3],[891,3]]},"652":{"position":[[764,3],[903,3]]},"700":{"position":[[2032,4]]},"748":{"position":[[240,3]]}},"keywords":{}}],["0.0.0.0",{"_index":1984,"title":{},"content":{"135":{"position":[[585,9]]},"350":{"position":[[214,7]]}},"keywords":{}}],["0.0.0.0:2900",{"_index":1637,"title":{},"content":{"83":{"position":[[2699,12]]}},"keywords":{}}],["0.00",{"_index":3512,"title":{},"content":{"357":{"position":[[1573,5],[1796,5],[1866,5],[3357,5],[3363,5]]}},"keywords":{}}],["0.01",{"_index":3509,"title":{},"content":{"357":{"position":[[1494,5],[1500,5],[1567,5],[1790,5],[2668,5],[2984,5],[2990,5],[3057,5],[3063,5]]}},"keywords":{}}],["0.01745",{"_index":2234,"title":{},"content":{"226":{"position":[[845,7]]}},"keywords":{}}],["0.02",{"_index":1404,"title":{},"content":{"63":{"position":[[2713,4]]},"66":{"position":[[353,4]]},"357":{"position":[[3287,5]]}},"keywords":{}}],["0.046477",{"_index":1019,"title":{},"content":{"43":{"position":[[6538,8]]}},"keywords":{}}],["0.059044",{"_index":937,"title":{},"content":{"42":{"position":[[797,8]]}},"keywords":{}}],["0.1",{"_index":5100,"title":{},"content":{"676":{"position":[[503,3]]},"745":{"position":[[501,3],[773,3]]},"746":{"position":[[961,3],[1244,3]]}},"keywords":{}}],["0.10",{"_index":3567,"title":{},"content":{"357":{"position":[[3281,5]]}},"keywords":{}}],["0.12",{"_index":3548,"title":{},"content":{"357":{"position":[[2825,5]]}},"keywords":{}}],["0.13",{"_index":3503,"title":{},"content":{"357":{"position":[[1334,5]]}},"keywords":{}}],["0.17",{"_index":3502,"title":{},"content":{"357":{"position":[[1328,5]]}},"keywords":{}}],["0.20",{"_index":3547,"title":{},"content":{"357":{"position":[[2819,5]]}},"keywords":{}}],["0.25",{"_index":797,"title":{},"content":{"36":{"position":[[6687,4],[7489,4]]},"202":{"position":[[6687,4],[7489,4]]},"267":{"position":[[5225,4],[6089,4]]},"501":{"position":[[931,5],[1107,5]]},"681":{"position":[[1259,4]]},"682":{"position":[[1026,4]]},"683":{"position":[[812,4]]},"684":{"position":[[693,4]]},"685":{"position":[[871,4]]},"686":{"position":[[922,4]]},"687":{"position":[[737,4]]},"688":{"position":[[665,4]]}},"keywords":{}}],["0.275",{"_index":807,"title":{},"content":{"36":{"position":[[7575,5]]},"202":{"position":[[7575,5]]},"267":{"position":[[6174,5]]}},"keywords":{}}],["0.3",{"_index":810,"title":{},"content":{"36":{"position":[[7677,3]]},"202":{"position":[[7677,3]]},"267":{"position":[[6275,3]]}},"keywords":{}}],["0.34mib",{"_index":3542,"title":{},"content":{"357":{"position":[[2682,7]]}},"keywords":{}}],["0.39",{"_index":3525,"title":{},"content":{"357":{"position":[[1872,5]]}},"keywords":{}}],["0.5",{"_index":796,"title":{},"content":{"36":{"position":[[6683,3],[7485,3],[7571,3],[7673,3]]},"202":{"position":[[6683,3],[7485,3],[7571,3],[7673,3]]},"267":{"position":[[5221,3],[6085,3],[6170,3],[6271,3]]},"328":{"position":[[1614,3]]},"422":{"position":[[596,3]]},"446":{"position":[[53,3]]}},"keywords":{}}],["0.72",{"_index":3520,"title":{},"content":{"357":{"position":[[1725,5]]}},"keywords":{}}],["003784",{"_index":5512,"title":{},"content":{"762":{"position":[[346,8]]},"763":{"position":[[363,8]]}},"keywords":{}}],["00:00:10",{"_index":971,"title":{},"content":{"43":{"position":[[917,8],[1039,8]]}},"keywords":{}}],["00:40:40",{"_index":985,"title":{},"content":{"43":{"position":[[1278,8]]}},"keywords":{}}],["00:41:33",{"_index":1020,"title":{},"content":{"43":{"position":[[6570,8]]}},"keywords":{}}],["01",{"_index":968,"title":{},"content":{"43":{"position":[[905,2],[1027,2]]}},"keywords":{}}],["012u",{"_index":3828,"title":{},"content":{"403":{"position":[[866,5]]}},"keywords":{}}],["02u:%02u:%02u.%06u",{"_index":2747,"title":{},"content":{"285":{"position":[[1649,21]]}},"keywords":{}}],["04",{"_index":940,"title":{},"content":{"42":{"position":[[817,2]]}},"keywords":{}}],["0:0",{"_index":3196,"title":{},"content":{"324":{"position":[[3444,3]]},"325":{"position":[[475,3]]}},"keywords":{}}],["0px",{"_index":3773,"title":{},"content":{"386":{"position":[[329,4]]},"387":{"position":[[304,4]]},"388":{"position":[[177,4]]},"389":{"position":[[262,4]]},"390":{"position":[[223,4]]},"391":{"position":[[284,4]]}},"keywords":{}}],["0x%0x",{"_index":660,"title":{},"content":{"36":{"position":[[189,7]]},"202":{"position":[[189,7]]},"267":{"position":[[184,7]]}},"keywords":{}}],["0x0",{"_index":2138,"title":{},"content":{"201":{"position":[[2236,3]]}},"keywords":{}}],["0x0001",{"_index":3071,"title":{},"content":{"321":{"position":[[659,6],[1519,6],[1526,6],[1533,6],[2051,6],[2058,6],[2065,6],[2551,6],[2558,6],[2565,6]]}},"keywords":{}}],["0x0001cadb",{"_index":1374,"title":{},"content":{"61":{"position":[[2942,10]]}},"keywords":{}}],["0x0003",{"_index":1375,"title":{},"content":{"61":{"position":[[2953,6]]}},"keywords":{}}],["0x0012",{"_index":3072,"title":{},"content":{"321":{"position":[[673,6]]}},"keywords":{}}],["0x03ffffb",{"_index":869,"title":{},"content":{"40":{"position":[[461,9]]}},"keywords":{}}],["0x03fffff",{"_index":871,"title":{},"content":{"40":{"position":[[568,9],[578,9]]}},"keywords":{}}],["0x03fffffb",{"_index":865,"title":{},"content":{"40":{"position":[[234,10]]}},"keywords":{}}],["0x03ffffff",{"_index":867,"title":{},"content":{"40":{"position":[[342,10],[353,10]]}},"keywords":{}}],["0x0883",{"_index":3097,"title":{},"content":{"321":{"position":[[2868,6]]}},"keywords":{}}],["0x0d0a",{"_index":1216,"title":{},"content":{"49":{"position":[[1303,6],[1310,6],[2236,6],[2243,6]]},"50":{"position":[[1106,6],[1113,6],[1892,6],[1899,6]]},"52":{"position":[[1337,6],[1344,6]]},"54":{"position":[[1173,6],[1180,6],[1951,6],[1958,6]]}},"keywords":{}}],["0x0ffffffff",{"_index":873,"title":{},"content":{"40":{"position":[[686,11]]}},"keywords":{}}],["0x1",{"_index":4468,"title":{},"content":{"534":{"position":[[309,5]]}},"keywords":{}}],["0x1880",{"_index":3065,"title":{},"content":{"321":{"position":[[445,6],[452,6],[459,6],[1010,6]]}},"keywords":{}}],["0x1882",{"_index":3090,"title":{},"content":{"321":{"position":[[1289,6],[1296,6],[1303,6],[1821,6],[1828,6],[1835,6],[2321,6],[2328,6],[2335,6]]}},"keywords":{}}],["0x1acffc1d",{"_index":1372,"title":{},"content":{"61":{"position":[[2819,11]]}},"keywords":{}}],["0x98",{"_index":3079,"title":{},"content":{"321":{"position":[[816,4]]}},"keywords":{}}],["0xa",{"_index":1218,"title":{},"content":{"49":{"position":[[1436,3],[1440,3],[2387,3],[2391,3]]},"50":{"position":[[1218,3],[1222,3],[2022,3],[2026,3]]},"52":{"position":[[1457,3],[1461,3]]},"54":{"position":[[1306,3],[1310,3],[2102,3],[2106,3]]}},"keywords":{}}],["0xabcd",{"_index":1378,"title":{},"content":{"62":{"position":[[285,7],[584,7],[716,7]]},"63":{"position":[[1409,7],[1541,7]]}},"keywords":{}}],["0xba5eba11",{"_index":1211,"title":{},"content":{"49":{"position":[[969,10],[1845,10]]},"50":{"position":[[835,10],[1564,10]]},"52":{"position":[[1033,10]]},"134":{"position":[[955,10]]}},"keywords":{}}],["0xc0",{"_index":1320,"title":{},"content":{"58":{"position":[[164,4],[1008,4]]}},"keywords":{}}],["0xc000",{"_index":3068,"title":{},"content":{"321":{"position":[[555,6],[573,6],[1433,6],[1965,6],[2465,6]]}},"keywords":{}}],["0xcafebab",{"_index":1220,"title":{},"content":{"49":{"position":[[1549,10],[2519,10]]},"50":{"position":[[1310,10],[2133,10]]},"52":{"position":[[1568,10]]},"54":{"position":[[1419,10],[2234,10]]}},"keywords":{}}],["0xdb",{"_index":1321,"title":{},"content":{"58":{"position":[[180,5],[1042,4]]}},"keywords":{}}],["0xdc",{"_index":1322,"title":{},"content":{"58":{"position":[[343,4],[1100,4]]}},"keywords":{}}],["0xdd",{"_index":1323,"title":{},"content":{"58":{"position":[[446,4],[1158,4]]}},"keywords":{}}],["0xdeadbeef",{"_index":884,"title":{},"content":{"40":{"position":[[980,10],[1382,10]]},"49":{"position":[[1079,10],[1974,10]]},"50":{"position":[[924,10],[1672,10]]},"52":{"position":[[1140,10]]},"54":{"position":[[829,10],[1550,10],[2590,10],[2802,10]]},"61":{"position":[[2960,10]]},"201":{"position":[[1974,10],[1985,10],[1996,10]]},"203":{"position":[[1762,10],[1773,10],[1784,10]]}},"keywords":{}}],["0xf005ba11",{"_index":1217,"title":{},"content":{"49":{"position":[[1324,10],[2257,10]]},"50":{"position":[[1127,10],[1913,10]]},"52":{"position":[[1358,10]]},"54":{"position":[[1194,10],[1972,10]]}},"keywords":{}}],["0xffff",{"_index":1430,"title":{},"content":{"67":{"position":[[1037,6]]},"321":{"position":[[666,6]]}},"keywords":{}}],["0xffffffff",{"_index":828,"title":{},"content":{"36":{"position":[[9230,10],[9419,10]]},"202":{"position":[[9230,10],[9419,10]]}},"keywords":{}}],["1",{"_index":219,"title":{"460":{"position":[[0,2]]}},"content":{"6":{"position":[[508,1],[857,1]]},"7":{"position":[[266,2],[917,1],[1060,1]]},"36":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"40":{"position":[[823,1],[825,1],[856,1],[913,1],[1185,1],[1260,1],[1323,1]]},"43":{"position":[[1241,2]]},"49":{"position":[[954,1],[1830,1]]},"50":{"position":[[820,1],[1549,1]]},"52":{"position":[[606,2],[993,1],[1018,1],[1121,1],[1217,1],[1314,1],[1436,1],[1543,1],[1646,1]]},"54":{"position":[[1055,1],[1815,1]]},"61":{"position":[[1597,1],[3159,3]]},"63":{"position":[[1905,1]]},"75":{"position":[[748,2],[1112,2]]},"83":{"position":[[2501,1],[2635,1],[2745,1],[2833,1],[2943,1],[3053,1]]},"85":{"position":[[413,1],[873,1]]},"93":{"position":[[1859,2],[2143,2],[2396,2],[2680,2]]},"99":{"position":[[409,1],[535,1],[558,1],[596,1],[619,1],[661,1],[684,1],[728,1],[796,1],[835,1],[858,1],[937,1],[960,1],[1980,2],[2642,2],[5141,2]]},"134":{"position":[[940,1]]},"135":{"position":[[730,1]]},"192":{"position":[[89,2]]},"202":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"226":{"position":[[229,1],[236,1],[238,1],[240,1],[308,1],[884,1],[947,1],[1107,1],[1114,1],[1116,1],[1118,1],[1186,1],[1688,1],[1877,1],[1884,1],[1886,1],[1888,1],[1956,1]]},"232":{"position":[[1038,1],[1214,1]]},"233":{"position":[[1255,1],[1340,1],[1492,1]]},"240":{"position":[[812,1],[892,1],[999,1],[1096,1],[1170,1],[1241,1],[1322,1],[1447,1],[1647,1],[1740,1],[1820,1]]},"249":{"position":[[268,1],[304,2]]},"253":{"position":[[2885,1],[2887,1],[2889,1],[3059,1],[3659,2],[3681,2],[3707,2],[4284,2],[4869,1],[5008,1],[5323,1],[5505,2]]},"254":{"position":[[1483,1],[1485,1],[1487,1],[1659,1]]},"267":{"position":[[2059,1],[2132,1],[2653,1]]},"269":{"position":[[1183,1]]},"270":{"position":[[855,1]]},"285":{"position":[[216,1],[298,1],[316,1],[388,1],[550,1],[1122,1]]},"289":{"position":[[375,1]]},"299":{"position":[[45,1],[819,1]]},"300":{"position":[[42,1]]},"301":{"position":[[153,1]]},"302":{"position":[[219,1]]},"303":{"position":[[402,1]]},"304":{"position":[[1337,1]]},"305":{"position":[[187,1]]},"306":{"position":[[306,1]]},"307":{"position":[[138,1]]},"308":{"position":[[153,1]]},"309":{"position":[[232,1]]},"310":{"position":[[137,1]]},"311":{"position":[[144,1]]},"313":{"position":[[127,2]]},"321":{"position":[[2129,1],[2131,1],[2133,1]]},"324":{"position":[[3851,1]]},"329":{"position":[[994,1]]},"338":{"position":[[648,2],[675,1]]},"347":{"position":[[1815,1]]},"353":{"position":[[229,1]]},"357":{"position":[[211,1],[1169,1],[1253,1],[1326,1],[1400,1],[1492,1],[1565,1],[1646,1],[1717,1],[1788,1],[1864,1],[2173,1],[2660,1],[2742,1],[2817,1],[2891,1],[2982,1],[3055,1],[3136,1],[3208,1],[3279,1],[3355,1]]},"373":{"position":[[245,2],[441,1]]},"383":{"position":[[245,2],[441,1]]},"411":{"position":[[303,1],[803,1]]},"425":{"position":[[452,1],[598,1]]},"431":{"position":[[179,1]]},"434":{"position":[[348,1]]},"443":{"position":[[416,2]]},"444":{"position":[[906,1]]},"446":{"position":[[766,1]]},"483":{"position":[[680,2]]},"488":{"position":[[2361,1],[2519,1]]},"501":{"position":[[610,1],[666,2],[852,2],[872,1],[928,2],[1104,2]]},"586":{"position":[[600,1],[668,1],[893,1]]},"623":{"position":[[184,1]]},"636":{"position":[[109,2],[131,2],[285,2],[315,2],[474,2],[496,2],[651,2],[676,2]]},"637":{"position":[[286,2],[308,2],[477,2],[507,2],[681,2],[703,2],[873,2],[898,2]]},"638":{"position":[[295,2],[317,2],[490,2],[520,2],[698,2],[720,2],[894,2],[919,2]]},"639":{"position":[[355,2],[377,2],[541,2],[571,2],[740,2],[762,2],[927,2],[952,2]]},"640":{"position":[[141,2],[163,2],[325,2],[359,2],[530,2],[552,2],[715,2],[744,2]]},"641":{"position":[[313,2],[335,2],[512,2],[546,2],[732,2],[754,2],[932,2],[961,2]]},"642":{"position":[[322,2],[344,2],[525,2],[559,2],[749,2],[771,2],[953,2],[982,2]]},"643":{"position":[[382,2],[404,2],[576,2],[610,2],[791,2],[813,2],[986,2],[1015,2],[1821,2],[2014,3]]},"649":{"position":[[1521,2]]},"676":{"position":[[721,1],[780,2],[1219,1]]},"700":{"position":[[2069,2]]},"703":{"position":[[1358,3]]},"718":{"position":[[729,1],[880,2],[1000,2]]},"728":{"position":[[733,1],[881,2],[998,2]]}},"keywords":{}}],["1>"",{"_index":4743,"title":{},"content":{"627":{"position":[[276,12],[366,12],[448,12]]}},"keywords":{}}],["1"",{"_index":2683,"title":{},"content":{"269":{"position":[[1215,7]]},"270":{"position":[[887,7]]},"381":{"position":[[405,7]]},"382":{"position":[[177,7]]},"390":{"position":[[288,7]]},"393":{"position":[[174,7]]},"407":{"position":[[630,7]]},"424":{"position":[[471,7]]},"610":{"position":[[493,7],[735,8]]},"643":{"position":[[1701,8],[1903,8]]},"656":{"position":[[855,8],[913,8],[977,8],[1042,8],[1125,8],[1210,8],[1268,8],[1332,8],[1397,8],[1482,8]]},"703":{"position":[[888,8]]}},"keywords":{}}],["1)"",{"_index":2718,"title":{},"content":{"285":{"position":[[190,8]]},"667":{"position":[[678,9]]}},"keywords":{}}],["1,000,000",{"_index":4564,"title":{},"content":{"599":{"position":[[504,9]]}},"keywords":{}}],["1,3",{"_index":473,"title":{},"content":{"21":{"position":[[120,3]]}},"keywords":{}}],["1,4",{"_index":474,"title":{},"content":{"21":{"position":[[124,4]]}},"keywords":{}}],["1..5).each",{"_index":210,"title":{},"content":{"6":{"position":[[336,11]]}},"keywords":{}}],["1.0",{"_index":1741,"title":{},"content":{"93":{"position":[[1806,4],[2059,4],[2312,4],[2596,4]]},"350":{"position":[[1257,3]]},"369":{"position":[[502,3]]},"405":{"position":[[340,4]]},"422":{"position":[[348,4]]}},"keywords":{}}],["1.0.0",{"_index":2570,"title":{},"content":{"254":{"position":[[180,5],[2144,5]]}},"keywords":{}}],["1.0.0.gem",{"_index":2329,"title":{},"content":{"229":{"position":[[919,10]]},"254":{"position":[[210,9],[616,9]]},"322":{"position":[[253,9]]}},"keywords":{}}],["1.0.1",{"_index":2583,"title":{},"content":{"254":{"position":[[1994,5]]},"334":{"position":[[647,5]]}},"keywords":{}}],["1.0.1.gem",{"_index":2584,"title":{},"content":{"254":{"position":[[2024,9],[2455,10]]},"334":{"position":[[678,9]]}},"keywords":{}}],["1.0.51",{"_index":3589,"title":{},"content":{"357":{"position":[[4361,6]]}},"keywords":{}}],["1.017035",{"_index":4393,"title":{},"content":{"501":{"position":[[719,8],[997,8]]}},"keywords":{}}],["1.2.3770",{"_index":3591,"title":{},"content":{"357":{"position":[[4383,8]]}},"keywords":{}}],["1.2.5.0",{"_index":3585,"title":{},"content":{"357":{"position":[[4313,7]]}},"keywords":{}}],["1.207gib",{"_index":3508,"title":{},"content":{"357":{"position":[[1425,8]]}},"keywords":{}}],["1.214gib",{"_index":3507,"title":{},"content":{"357":{"position":[[1416,8]]}},"keywords":{}}],["1.32",{"_index":3495,"title":{},"content":{"357":{"position":[[1177,5]]}},"keywords":{}}],["1.49",{"_index":3564,"title":{},"content":{"357":{"position":[[3216,5]]}},"keywords":{}}],["1.5",{"_index":832,"title":{},"content":{"36":{"position":[[9482,4]]},"202":{"position":[[9482,4]]},"267":{"position":[[7743,4]]},"499":{"position":[[617,3]]}},"keywords":{}}],["1.5).to_i",{"_index":829,"title":{},"content":{"36":{"position":[[9290,9]]},"202":{"position":[[9290,9]]},"267":{"position":[[7573,9]]}},"keywords":{}}],["1.512gib",{"_index":3554,"title":{},"content":{"357":{"position":[[2915,8]]}},"keywords":{}}],["1.56",{"_index":3519,"title":{},"content":{"357":{"position":[[1719,5]]}},"keywords":{}}],["1.608.2",{"_index":3593,"title":{},"content":{"357":{"position":[[4410,7]]}},"keywords":{}}],["1.6gib",{"_index":3553,"title":{},"content":{"357":{"position":[[2908,6]]}},"keywords":{}}],["1.8.5",{"_index":3393,"title":{},"content":{"350":{"position":[[1466,5]]}},"keywords":{}}],["1.89",{"_index":3516,"title":{},"content":{"357":{"position":[[1654,5]]}},"keywords":{}}],["1.final",{"_index":2540,"title":{},"content":{"253":{"position":[[4354,9]]}},"keywords":{}}],["10",{"_index":795,"title":{"469":{"position":[[0,3]]}},"content":{"36":{"position":[[6680,2],[7482,2]]},"43":{"position":[[1266,2],[6558,2]]},"133":{"position":[[430,2]]},"202":{"position":[[6680,2],[7482,2]]},"206":{"position":[[1002,2]]},"207":{"position":[[789,2]]},"224":{"position":[[995,3],[1465,3]]},"253":{"position":[[7862,2]]},"267":{"position":[[5218,2],[6082,2],[10818,2],[10883,2]]},"271":{"position":[[990,2]]},"272":{"position":[[786,2]]},"299":{"position":[[1012,2]]},"301":{"position":[[1370,2]]},"303":{"position":[[1841,2]]},"304":{"position":[[2825,2]]},"307":{"position":[[1087,2]]},"343":{"position":[[513,2],[600,2]]},"355":{"position":[[721,2],[1100,2]]},"357":{"position":[[766,3],[770,3],[2114,2]]},"377":{"position":[[328,2]]},"378":{"position":[[331,2]]},"389":{"position":[[309,2]]},"390":{"position":[[269,2]]},"391":{"position":[[329,2]]},"414":{"position":[[348,3]]},"440":{"position":[[702,2]]},"441":{"position":[[400,2],[403,2]]},"442":{"position":[[1004,2],[1007,2],[1068,2],[1071,2],[1127,2],[1130,2]]},"445":{"position":[[244,2]]},"487":{"position":[[1194,3],[1666,3]]},"501":{"position":[[816,2]]},"613":{"position":[[228,3]]},"623":{"position":[[805,3],[1026,3]]},"636":{"position":[[1331,3],[1478,3],[1597,3],[1683,3],[1763,3],[1853,3]]},"640":{"position":[[1411,3],[1503,3],[1593,3],[1681,3]]},"644":{"position":[[464,3],[1023,3]]},"677":{"position":[[330,2]]},"678":{"position":[[412,3]]},"681":{"position":[[1589,3],[1654,3],[1799,3],[1864,3]]},"682":{"position":[[1341,3],[1422,3],[1548,3],[1629,3]]},"683":{"position":[[1065,3]]},"684":{"position":[[869,3],[918,3]]},"685":{"position":[[1099,3],[1172,3],[1276,3],[1349,3]]},"686":{"position":[[1164,3],[1251,3],[1369,3],[1456,3]]},"687":{"position":[[918,3]]},"688":{"position":[[847,3],[896,3]]}},"keywords":{}}],["10"",{"_index":4395,"title":{},"content":{"501":{"position":[[1094,9]]},"669":{"position":[[868,9],[933,9],[1154,9],[1219,9]]}},"keywords":{}}],["10.0",{"_index":1056,"title":{},"content":{"44":{"position":[[1139,5]]},"49":{"position":[[931,4],[1062,4],[1172,4],[1282,4],[1287,4],[1417,4],[1422,4],[1526,4],[1642,4],[1647,4],[1806,4],[1956,4],[2085,4],[2215,4],[2220,4],[2368,4],[2373,4],[2495,4],[2630,4],[2635,4]]},"50":{"position":[[797,4],[907,4],[996,4],[1085,4],[1090,4],[1199,4],[1204,4],[1287,4],[1382,4],[1387,4],[1525,4],[1654,4],[1762,4],[1871,4],[1876,4],[2003,4],[2008,4],[2109,4],[2223,4],[2228,4]]},"51":{"position":[[772,4],[977,4],[1121,4]]},"52":{"position":[[995,4],[1123,4],[1219,4],[1316,4],[1321,4],[1438,4],[1443,4],[1545,4],[1648,4],[1653,4]]},"54":{"position":[[812,4],[922,4],[1032,4],[1152,4],[1157,4],[1287,4],[1292,4],[1396,4],[1532,4],[1661,4],[1791,4],[1930,4],[1935,4],[2083,4],[2088,4],[2210,4],[2573,4],[2784,4]]},"125":{"position":[[213,4],[357,4]]},"126":{"position":[[254,4],[450,4]]},"127":{"position":[[257,4],[456,4]]},"134":{"position":[[792,4],[1079,4]]},"135":{"position":[[732,4],[844,4]]},"230":{"position":[[2704,4]]},"253":{"position":[[6887,4]]},"338":{"position":[[716,4],[1553,4]]},"495":{"position":[[614,4],[692,4],[911,4],[990,4]]},"502":{"position":[[598,4],[849,4]]},"657":{"position":[[810,5],[977,5]]},"682":{"position":[[1330,5],[1411,5],[1537,5],[1618,5]]},"686":{"position":[[1153,5],[1240,5],[1358,5],[1445,5]]},"700":{"position":[[2026,5]]},"720":{"position":[[482,5]]}},"keywords":{}}],["10.0"",{"_index":3940,"title":{},"content":{"431":{"position":[[470,12]]},"478":{"position":[[309,11],[557,11],[753,11]]}},"keywords":{}}],["10.0.22621.2134",{"_index":3602,"title":{},"content":{"357":{"position":[[4509,15]]}},"keywords":{}}],["10.0.25131.1002",{"_index":3596,"title":{},"content":{"357":{"position":[[4443,15]]}},"keywords":{}}],["10.16",{"_index":3498,"title":{},"content":{"357":{"position":[[1255,6]]}},"keywords":{}}],["10.5",{"_index":2132,"title":{},"content":{"201":{"position":[[2120,4]]},"203":{"position":[[1854,4]]},"253":{"position":[[2948,4],[3889,5]]},"254":{"position":[[1546,4]]}},"keywords":{}}],["10.time",{"_index":4258,"title":{},"content":{"483":{"position":[[608,8]]}},"keywords":{}}],["100",{"_index":808,"title":{},"content":{"36":{"position":[[7636,3],[7666,3],[7724,3]]},"167":{"position":[[109,3]]},"202":{"position":[[7636,3],[7666,3],[7724,3]]},"226":{"position":[[416,3]]},"227":{"position":[[5080,3],[5127,3],[5141,3]]},"267":{"position":[[6235,3],[6264,3],[6322,3]]},"355":{"position":[[234,3]]},"356":{"position":[[813,6]]},"388":{"position":[[216,3]]},"391":{"position":[[325,3]]},"399":{"position":[[230,3]]},"401":{"position":[[274,4],[667,3]]},"402":{"position":[[274,4]]},"405":{"position":[[324,4]]},"422":{"position":[[332,4],[402,3]]},"423":{"position":[[624,4],[793,3],[797,3]]},"425":{"position":[[516,3]]},"439":{"position":[[361,3],[365,3]]},"440":{"position":[[597,3]]},"442":{"position":[[229,4],[814,5],[871,5]]},"443":{"position":[[449,3]]},"480":{"position":[[679,3],[760,3]]},"599":{"position":[[1329,3]]},"666":{"position":[[815,4]]},"678":{"position":[[406,5]]},"703":{"position":[[364,3]]},"739":{"position":[[550,4]]},"760":{"position":[[165,4]]}},"keywords":{}}],["100,000",{"_index":4224,"title":{},"content":{"480":{"position":[[168,8]]}},"keywords":{}}],["100.0",{"_index":2308,"title":{},"content":{"227":{"position":[[5757,5]]},"663":{"position":[[608,6]]}},"keywords":{}}],["1000",{"_index":765,"title":{},"content":{"36":{"position":[[5457,4],[5792,4]]},"202":{"position":[[5457,4],[5792,4]]},"267":{"position":[[3937,4],[4272,4]]},"355":{"position":[[1116,4]]},"357":{"position":[[2130,4]]},"534":{"position":[[349,6]]},"676":{"position":[[101,5],[767,5]]},"752":{"position":[[600,4],[740,4]]}},"keywords":{}}],["1000.0",{"_index":2740,"title":{},"content":{"285":{"position":[[1314,7]]}},"keywords":{}}],["1000.time",{"_index":5472,"title":{},"content":{"752":{"position":[[547,10]]}},"keywords":{}}],["100000",{"_index":3848,"title":{},"content":{"410":{"position":[[865,6]]},"417":{"position":[[829,6]]},"423":{"position":[[740,6]]}},"keywords":{}}],["1000000.0",{"_index":2742,"title":{},"content":{"285":{"position":[[1353,10]]}},"keywords":{}}],["100gb",{"_index":2763,"title":{},"content":{"289":{"position":[[454,5]]}},"keywords":{}}],["101",{"_index":2240,"title":{},"content":{"226":{"position":[[1294,3]]}},"keywords":{}}],["102",{"_index":2245,"title":{},"content":{"226":{"position":[[2064,3]]},"285":{"position":[[418,3]]}},"keywords":{}}],["1023",{"_index":3200,"title":{},"content":{"324":{"position":[[3853,6]]}},"keywords":{}}],["1024",{"_index":727,"title":{},"content":{"36":{"position":[[3619,4]]},"202":{"position":[[3619,4]]},"267":{"position":[[2724,4]]}},"keywords":{}}],["104mb",{"_index":1598,"title":{},"content":{"83":{"position":[[1417,5]]}},"keywords":{}}],["105.2mib",{"_index":3513,"title":{},"content":{"357":{"position":[[1579,8]]}},"keywords":{}}],["106.3mib",{"_index":3557,"title":{},"content":{"357":{"position":[[3069,8]]}},"keywords":{}}],["10hz",{"_index":3451,"title":{},"content":{"355":{"position":[[968,4],[1135,4]]},"357":{"position":[[2149,4]]}},"keywords":{}}],["10m",{"_index":5115,"title":{},"content":{"681":{"position":[[62,5]]}},"keywords":{}}],["11",{"_index":268,"title":{"470":{"position":[[0,3]]}},"content":{"7":{"position":[[704,2],[909,2]]},"36":{"position":[[7568,2]]},"61":{"position":[[3420,2],[3428,2]]},"202":{"position":[[7568,2]]},"226":{"position":[[401,2],[1279,2],[2049,2]]},"267":{"position":[[6167,2]]},"285":{"position":[[410,2]]},"299":{"position":[[1130,2]]},"301":{"position":[[1512,2]]},"303":{"position":[[2076,2]]},"304":{"position":[[2996,2]]},"357":{"position":[[204,2],[751,2],[2236,2],[4271,2]]},"483":{"position":[[733,4]]},"637":{"position":[[1568,3],[1676,3],[1794,3],[1898,3]]},"639":{"position":[[1617,3],[1721,3],[1835,3],[1935,3]]},"641":{"position":[[1643,3],[1750,3],[1855,3],[1958,3]]},"643":{"position":[[1692,3],[1794,3],[1894,3],[1992,3]]}},"keywords":{}}],["11.5",{"_index":4565,"title":{},"content":{"599":{"position":[[536,4]]}},"keywords":{}}],["11.81mib",{"_index":3566,"title":{},"content":{"357":{"position":[[3231,8]]}},"keywords":{}}],["110.0",{"_index":2311,"title":{},"content":{"227":{"position":[[5883,5]]}},"keywords":{}}],["110kb/",{"_index":3529,"title":{},"content":{"357":{"position":[[2154,10]]}},"keywords":{}}],["111mb",{"_index":1596,"title":{},"content":{"83":{"position":[[1355,5]]}},"keywords":{}}],["112",{"_index":2648,"title":{},"content":{"266":{"position":[[1074,3]]},"269":{"position":[[1171,3]]},"285":{"position":[[960,3]]}},"keywords":{}}],["115",{"_index":3987,"title":{},"content":{"444":{"position":[[876,3],[991,3]]}},"keywords":{}}],["115200",{"_index":1261,"title":{},"content":{"52":{"position":[[1302,6],[1424,6],[1634,6]]},"135":{"position":[[718,6]]},"338":{"position":[[573,6]]}},"keywords":{}}],["117.1mib",{"_index":3511,"title":{},"content":{"357":{"position":[[1515,8]]}},"keywords":{}}],["11th",{"_index":4159,"title":{},"content":{"472":{"position":[[206,5]]}},"keywords":{}}],["12",{"_index":809,"title":{"471":{"position":[[0,3]]}},"content":{"36":{"position":[[7670,2]]},"202":{"position":[[7670,2]]},"267":{"position":[[6268,2]]},"301":{"position":[[1685,2]]},"303":{"position":[[2220,2]]},"304":{"position":[[3115,2]]},"329":{"position":[[1217,2]]},"357":{"position":[[758,3],[762,3]]},"403":{"position":[[807,3]]},"406":{"position":[[392,3]]},"407":{"position":[[538,3]]},"408":{"position":[[412,3]]},"409":{"position":[[415,3]]},"410":{"position":[[689,3]]},"415":{"position":[[381,3]]},"417":{"position":[[658,3]]},"427":{"position":[[620,3]]},"435":{"position":[[149,3],[276,2]]},"439":{"position":[[297,3]]},"440":{"position":[[404,3],[648,2]]},"444":{"position":[[810,2],[813,2]]},"446":{"position":[[459,2]]}},"keywords":{}}],["12.82mib",{"_index":3521,"title":{},"content":{"357":{"position":[[1731,8]]}},"keywords":{}}],["120",{"_index":3849,"title":{},"content":{"410":{"position":[[931,3],[935,3]]},"417":{"position":[[890,3],[894,3]]},"444":{"position":[[751,3]]}},"keywords":{}}],["1234",{"_index":3043,"title":{},"content":{"320":{"position":[[829,4]]}},"keywords":{}}],["1234657585858",{"_index":2304,"title":{},"content":{"227":{"position":[[5660,14],[6233,14]]}},"keywords":{}}],["1234657585859",{"_index":2309,"title":{},"content":{"227":{"position":[[5786,14],[6388,14]]}},"keywords":{}}],["1235",{"_index":3042,"title":{},"content":{"320":{"position":[[807,4]]},"322":{"position":[[1540,5]]}},"keywords":{}}],["127.0.0.1",{"_index":1988,"title":{},"content":{"135":{"position":[[898,9]]},"320":{"position":[[780,9]]},"324":{"position":[[3632,9]]},"338":{"position":[[1143,9],[1989,9]]},"347":{"position":[[2487,10]]}},"keywords":{}}],["127.0.0.1:2901",{"_index":1630,"title":{},"content":{"83":{"position":[[2447,14]]}},"keywords":{}}],["127.0.0.1:2902",{"_index":1632,"title":{},"content":{"83":{"position":[[2575,14]]}},"keywords":{}}],["127.0.0.1:6379",{"_index":1648,"title":{},"content":{"83":{"position":[[3005,14]]}},"keywords":{}}],["127.0.0.1:9000",{"_index":1643,"title":{},"content":{"83":{"position":[[2895,14]]}},"keywords":{}}],["127.4mib",{"_index":3510,"title":{},"content":{"357":{"position":[[1506,8]]}},"keywords":{}}],["127.5mib",{"_index":3556,"title":{},"content":{"357":{"position":[[3005,8]]}},"keywords":{}}],["128",{"_index":1238,"title":{},"content":{"51":{"position":[[689,3],[973,3],[1117,3]]},"285":{"position":[[1051,3]]},"320":{"position":[[1143,3]]}},"keywords":{}}],["128722m",{"_index":1657,"title":{},"content":{"84":{"position":[[348,8]]}},"keywords":{}}],["13",{"_index":2907,"title":{"472":{"position":[[0,3]]}},"content":{"304":{"position":[[3285,2]]}},"keywords":{}}],["13.91",{"_index":3506,"title":{},"content":{"357":{"position":[[1409,6]]}},"keywords":{}}],["133.0",{"_index":2716,"title":{},"content":{"285":{"position":[[182,5]]},"667":{"position":[[670,5]]}},"keywords":{}}],["1348",{"_index":1015,"title":{},"content":{"43":{"position":[[6499,4]]}},"keywords":{}}],["136.6mib",{"_index":3555,"title":{},"content":{"357":{"position":[[2996,8]]}},"keywords":{}}],["14",{"_index":1376,"title":{},"content":{"61":{"position":[[3019,2],[3045,3],[3307,2],[3433,4]]},"226":{"position":[[581,2],[1459,2],[2229,2]]},"285":{"position":[[601,2]]},"304":{"position":[[3505,2]]}},"keywords":{}}],["144",{"_index":3082,"title":{},"content":{"321":{"position":[[891,3]]}},"keywords":{}}],["15",{"_index":1113,"title":{},"content":{"44":{"position":[[3116,2]]},"130":{"position":[[305,2]]},"165":{"position":[[152,2]]},"304":{"position":[[3645,2]]},"315":{"position":[[378,4]]},"352":{"position":[[407,3],[432,3]]},"355":{"position":[[950,3]]},"404":{"position":[[328,3],[381,3]]},"411":{"position":[[636,3],[689,3]]},"418":{"position":[[1564,3]]},"419":{"position":[[1617,3]]},"420":{"position":[[1589,3]]},"445":{"position":[[247,2]]},"528":{"position":[[1093,2]]}},"keywords":{}}],["15.6g",{"_index":3487,"title":{},"content":{"357":{"position":[[824,5],[2315,5]]}},"keywords":{}}],["15.87mib",{"_index":3565,"title":{},"content":{"357":{"position":[[3222,8]]}},"keywords":{}}],["150",{"_index":3894,"title":{},"content":{"426":{"position":[[344,3]]},"441":{"position":[[596,3]]},"480":{"position":[[1052,3]]}},"keywords":{}}],["152.9mib",{"_index":3523,"title":{},"content":{"357":{"position":[[1802,8]]}},"keywords":{}}],["155",{"_index":3754,"title":{},"content":{"379":{"position":[[477,3],[484,3]]},"380":{"position":[[471,3],[478,3]]},"381":{"position":[[500,3],[507,3]]}},"keywords":{}}],["15min",{"_index":3446,"title":{},"content":{"355":{"position":[[799,6]]}},"keywords":{}}],["16",{"_index":213,"title":{},"content":{"6":{"position":[[393,2],[837,2],[892,2],[947,2],[1002,2],[1057,2]]},"7":{"position":[[296,2],[981,2]]},"40":{"position":[[1109,2],[1244,2],[1452,2]]},"49":{"position":[[949,2],[1825,2]]},"50":{"position":[[815,2],[1544,2]]},"52":{"position":[[1013,2]]},"54":{"position":[[1050,2],[1810,2]]},"60":{"position":[[498,2]]},"61":{"position":[[960,2]]},"67":{"position":[[597,3],[808,2],[937,2],[1072,2],[1216,2]]},"99":{"position":[[1753,2],[2386,2],[4914,2]]},"134":{"position":[[935,2]]},"226":{"position":[[492,2],[672,2],[1370,2],[1550,2],[2140,2],[2320,2],[2447,2]]},"232":{"position":[[1031,2]]},"233":{"position":[[1248,2]]},"253":{"position":[[2878,2],[3607,2],[4862,2],[5275,2],[5576,2]]},"254":{"position":[[1476,2]]},"266":{"position":[[1078,2]]},"268":{"position":[[873,2]]},"269":{"position":[[1175,2]]},"270":{"position":[[847,2]]},"285":{"position":[[482,2],[669,2],[731,2],[890,2],[964,2]]},"304":{"position":[[3792,2]]},"321":{"position":[[437,2],[547,2],[651,2],[1281,2],[1403,2],[1511,2],[1813,2],[1935,2],[2043,2],[2313,2],[2435,2],[2543,2],[2860,2],[2951,2],[3040,2],[3189,2],[3480,2]]},"329":{"position":[[398,3],[803,3]]},"357":{"position":[[84,2],[2299,3]]},"649":{"position":[[1259,3]]}},"keywords":{}}],["160",{"_index":3580,"title":{},"content":{"357":{"position":[[4157,3]]},"410":{"position":[[739,4]]},"412":{"position":[[364,4]]},"413":{"position":[[362,4]]},"417":{"position":[[708,4]]}},"keywords":{}}],["163",{"_index":3998,"title":{},"content":{"446":{"position":[[675,3],[683,3],[1179,3],[1187,3]]}},"keywords":{}}],["16383",{"_index":2225,"title":{},"content":{"226":{"position":[[591,5],[1469,5],[2239,5]]}},"keywords":{}}],["167.8mib",{"_index":3568,"title":{},"content":{"357":{"position":[[3293,8]]}},"keywords":{}}],["169.8mib",{"_index":3524,"title":{},"content":{"357":{"position":[[1811,8]]}},"keywords":{}}],["1697298167748",{"_index":4874,"title":{},"content":{"644":{"position":[[1069,14]]}},"keywords":{}}],["1697298167749155717",{"_index":4875,"title":{},"content":{"644":{"position":[[1117,22],[1157,22]]}},"keywords":{}}],["1697298923745982470",{"_index":4945,"title":{},"content":{"650":{"position":[[995,22],[1035,22]]}},"keywords":{}}],["1698026776573904132",{"_index":5549,"title":{},"content":{"767":{"position":[[1311,20]]}},"keywords":{}}],["1698026776574105465",{"_index":5548,"title":{},"content":{"767":{"position":[[1192,21]]}},"keywords":{}}],["1698026776574347007",{"_index":5546,"title":{},"content":{"767":{"position":[[1081,21]]}},"keywords":{}}],["1698074299509456507",{"_index":5544,"title":{},"content":{"767":{"position":[[975,21]]}},"keywords":{}}],["16gb",{"_index":2762,"title":{},"content":{"289":{"position":[[435,4]]}},"keywords":{}}],["17",{"_index":2912,"title":{},"content":{"304":{"position":[[3956,2]]},"357":{"position":[[2291,3]]}},"keywords":{}}],["17.78",{"_index":3543,"title":{},"content":{"357":{"position":[[2744,6]]}},"keywords":{}}],["1700.r",{"_index":3598,"title":{},"content":{"357":{"position":[[4466,7]]}},"keywords":{}}],["172.16.9.112",{"_index":3085,"title":{},"content":{"321":{"position":[[951,13]]}},"keywords":{}}],["172.20.0.8",{"_index":3132,"title":{},"content":{"322":{"position":[[1823,11],[2004,12]]}},"keywords":{}}],["172.20.0.9.port_tm",{"_index":3126,"title":{},"content":{"322":{"position":[[1153,18]]}},"keywords":{}}],["179.2mib",{"_index":3569,"title":{},"content":{"357":{"position":[[3302,8]]}},"keywords":{}}],["18",{"_index":2224,"title":{},"content":{"226":{"position":[[578,2],[1456,2],[2226,2]]},"285":{"position":[[598,2]]},"304":{"position":[[4054,2]]},"357":{"position":[[2303,3]]},"406":{"position":[[460,2]]},"407":{"position":[[642,2]]},"409":{"position":[[500,2]]},"410":{"position":[[876,2]]},"415":{"position":[[458,2]]},"416":{"position":[[463,2]]},"417":{"position":[[840,2]]},"427":{"position":[[688,2]]},"439":{"position":[[448,2]]}},"keywords":{}}],["180",{"_index":3980,"title":{},"content":{"442":{"position":[[1010,3],[1014,3]]},"481":{"position":[[518,3]]}},"keywords":{}}],["180.0",{"_index":2231,"title":{},"content":{"226":{"position":[[762,5],[768,5]]}},"keywords":{}}],["180.0"",{"_index":4249,"title":{},"content":{"481":{"position":[[496,12]]}},"keywords":{}}],["185",{"_index":3999,"title":{},"content":{"446":{"position":[[679,3],[1183,3]]}},"keywords":{}}],["19",{"_index":2915,"title":{},"content":{"304":{"position":[[4153,2]]}},"keywords":{}}],["19.63",{"_index":3559,"title":{},"content":{"357":{"position":[[3138,6]]}},"keywords":{}}],["192",{"_index":2137,"title":{},"content":{"201":{"position":[[2224,3]]}},"keywords":{}}],["19200",{"_index":1259,"title":{},"content":{"52":{"position":[[1206,5]]}},"keywords":{}}],["1958",{"_index":2724,"title":{},"content":{"285":{"position":[[776,5]]}},"keywords":{}}],["1970",{"_index":970,"title":{},"content":{"43":{"position":[[912,4],[1034,4]]},"99":{"position":[[2830,5],[3264,5]]},"227":{"position":[[4370,6]]}},"keywords":{}}],["1][0",{"_index":5224,"title":{},"content":{"703":{"position":[[1396,6]]}},"keywords":{}}],["1d",{"_index":3863,"title":{},"content":{"418":{"position":[[1551,3]]},"419":{"position":[[1604,3]]},"420":{"position":[[1576,3]]}},"keywords":{}}],["1hr",{"_index":3481,"title":{},"content":{"357":{"position":[[676,3]]}},"keywords":{}}],["1hz",{"_index":3450,"title":{},"content":{"355":{"position":[[936,3]]},"599":{"position":[[549,3]]}},"keywords":{}}],["1ivz2l0b",{"_index":989,"title":{},"content":{"43":{"position":[[2365,8],[5830,8]]}},"keywords":{}}],["1s",{"_index":3384,"title":{},"content":{"350":{"position":[[488,2],[818,2],[1140,2]]},"676":{"position":[[703,2],[1201,2]]}},"keywords":{}}],["1st",{"_index":1815,"title":{},"content":{"99":{"position":[[2825,4],[3259,4]]},"227":{"position":[[4365,4]]},"285":{"position":[[771,4]]}},"keywords":{}}],["1}"",{"_index":4198,"title":{},"content":{"476":{"position":[[2606,9],[3515,9]]},"478":{"position":[[630,9],[826,9]]}},"keywords":{}}],["2",{"_index":230,"title":{"461":{"position":[[0,2]]}},"content":{"6":{"position":[[912,1]]},"20":{"position":[[466,2]]},"40":{"position":[[698,1]]},"44":{"position":[[3522,1]]},"61":{"position":[[2907,2],[3037,1]]},"64":{"position":[[741,2]]},"94":{"position":[[1280,2],[1442,2],[1630,2],[1792,2]]},"95":{"position":[[820,2]]},"99":{"position":[[432,1]]},"192":{"position":[[87,1]]},"204":{"position":[[2124,1],[2126,1],[2128,1]]},"205":{"position":[[1964,1],[1966,1],[1968,1]]},"226":{"position":[[495,1],[1373,1],[2143,1]]},"285":{"position":[[485,1],[563,1]]},"289":{"position":[[445,2]]},"299":{"position":[[143,1]]},"300":{"position":[[179,1]]},"301":{"position":[[257,1]]},"302":{"position":[[332,1]]},"303":{"position":[[571,1]]},"304":{"position":[[1676,1]]},"305":{"position":[[372,1]]},"306":{"position":[[391,1]]},"307":{"position":[[257,1]]},"308":{"position":[[258,1]]},"309":{"position":[[347,1]]},"310":{"position":[[229,1]]},"311":{"position":[[223,1]]},"321":{"position":[[2629,1],[2631,1],[2633,1]]},"338":{"position":[[654,1]]},"347":{"position":[[2581,1]]},"356":{"position":[[104,1]]},"373":{"position":[[469,1]]},"383":{"position":[[469,1]]},"405":{"position":[[591,1]]},"425":{"position":[[459,1],[641,1]]},"443":{"position":[[502,1]]},"476":{"position":[[424,1]]},"501":{"position":[[618,1],[880,1]]},"636":{"position":[[155,2],[177,2],[341,2],[371,2],[520,2],[542,2],[702,2],[727,2]]},"637":{"position":[[332,2],[354,2],[533,2],[563,2],[727,2],[749,2],[924,2],[949,2]]},"638":{"position":[[341,2],[363,2],[546,2],[576,2],[744,2],[766,2],[945,2],[970,2]]},"639":{"position":[[401,2],[423,2],[597,2],[627,2],[786,2],[808,2],[978,2],[1003,2]]},"640":{"position":[[187,2],[209,2],[389,2],[423,2],[576,2],[598,2],[774,2],[803,2]]},"641":{"position":[[359,2],[381,2],[576,2],[610,2],[778,2],[800,2],[991,2],[1020,2]]},"642":{"position":[[368,2],[390,2],[589,2],[623,2],[795,2],[817,2],[1012,2],[1041,2]]},"643":{"position":[[428,2],[450,2],[640,2],[674,2],[837,2],[859,2],[1045,2],[1074,2]]},"644":{"position":[[1247,4]]}},"keywords":{}}],["2"",{"_index":3759,"title":{},"content":{"381":{"position":[[468,7]]},"390":{"position":[[312,7]]},"393":{"position":[[248,7]]},"424":{"position":[[682,7]]}},"keywords":{}}],["2.0",{"_index":1701,"title":{"88":{"position":[[9,4]]}},"content":{"88":{"position":[[61,3]]}},"keywords":{}}],["2.5",{"_index":2133,"title":{},"content":{"201":{"position":[[2125,3]]},"203":{"position":[[1859,3]]},"253":{"position":[[2953,3]]},"254":{"position":[[1185,4]]}},"keywords":{}}],["2.5.then",{"_index":2537,"title":{},"content":{"253":{"position":[[3918,8]]}},"keywords":{}}],["2.x",{"_index":2471,"title":{},"content":{"245":{"position":[[538,3],[554,3]]},"324":{"position":[[1467,3]]}},"keywords":{}}],["20",{"_index":2917,"title":{},"content":{"304":{"position":[[4267,2]]},"355":{"position":[[985,2]]},"357":{"position":[[2295,3]]},"403":{"position":[[882,2],[930,2]]},"411":{"position":[[746,2]]}},"keywords":{}}],["20.0",{"_index":2390,"title":{},"content":{"233":{"position":[[1373,4],[1378,4]]},"267":{"position":[[10303,4],[10308,4]]},"273":{"position":[[551,4],[556,4]]},"282":{"position":[[625,4],[630,4]]},"496":{"position":[[672,4],[870,4]]},"699":{"position":[[485,5],[491,6],[649,5],[655,5],[798,5],[804,6],[969,5],[975,5]]}},"keywords":{}}],["200",{"_index":920,"title":{},"content":{"42":{"position":[[557,3]]},"43":{"position":[[697,3],[6317,3]]},"391":{"position":[[232,4]]},"401":{"position":[[224,4],[663,3]]},"402":{"position":[[224,4],[782,3]]},"405":{"position":[[593,3]]},"410":{"position":[[879,3]]},"412":{"position":[[489,3]]},"413":{"position":[[493,3]]},"417":{"position":[[843,3]]},"422":{"position":[[600,3]]},"423":{"position":[[751,3]]},"426":{"position":[[211,4],[268,4]]},"440":{"position":[[593,3]]},"441":{"position":[[406,3],[410,3]]},"739":{"position":[[555,4]]}},"keywords":{}}],["20000",{"_index":4985,"title":{},"content":{"657":{"position":[[882,6],[1049,6]]}},"keywords":{}}],["20175",{"_index":2767,"title":{},"content":{"289":{"position":[[600,5],[745,5]]}},"keywords":{}}],["2021",{"_index":2785,"title":{},"content":{"289":{"position":[[1566,4]]}},"keywords":{}}],["2022",{"_index":4160,"title":{},"content":{"472":{"position":[[212,4]]}},"keywords":{}}],["2022)docker",{"_index":2990,"title":{},"content":{"313":{"position":[[130,11]]}},"keywords":{}}],["2023",{"_index":942,"title":{},"content":{"42":{"position":[[824,4]]},"43":{"position":[[1273,4],[6565,4]]},"360":{"position":[[283,4]]}},"keywords":{}}],["2024",{"_index":1870,"title":{"108":{"position":[[24,6]]}},"content":{},"keywords":{}}],["2047",{"_index":2220,"title":{},"content":{"226":{"position":[[411,4],[1289,4],[2059,4]]}},"keywords":{}}],["2048",{"_index":448,"title":{},"content":{"20":{"position":[[954,4]]}},"keywords":{}}],["20em",{"_index":3746,"title":{},"content":{"375":{"position":[[298,4]]}},"keywords":{}}],["21",{"_index":2919,"title":{},"content":{"304":{"position":[[4539,2]]},"650":{"position":[[1127,5]]}},"keywords":{}}],["21.27",{"_index":3505,"title":{},"content":{"357":{"position":[[1402,6]]}},"keywords":{}}],["216",{"_index":2744,"title":{},"content":{"285":{"position":[[1521,3]]}},"keywords":{}}],["21:34:47",{"_index":943,"title":{},"content":{"42":{"position":[[829,8]]}},"keywords":{}}],["22",{"_index":2921,"title":{},"content":{"304":{"position":[[4651,2]]},"357":{"position":[[224,3],[802,2],[2288,2]]}},"keywords":{}}],["220531",{"_index":3597,"title":{},"content":{"357":{"position":[[4459,6]]}},"keywords":{}}],["221.15",{"_index":3551,"title":{},"content":{"357":{"position":[[2893,7]]}},"keywords":{}}],["223e98129fe9",{"_index":1592,"title":{},"content":{"83":{"position":[[1212,12]]}},"keywords":{}}],["23",{"_index":2923,"title":{},"content":{"304":{"position":[[4813,2]]}},"keywords":{}}],["23.4",{"_index":5401,"title":{},"content":{"730":{"position":[[266,5]]},"732":{"position":[[143,5],[225,5]]}},"keywords":{}}],["230",{"_index":3977,"title":{},"content":{"442":{"position":[[907,3],[911,3]]}},"keywords":{}}],["238mb",{"_index":1600,"title":{},"content":{"83":{"position":[[1477,5]]}},"keywords":{}}],["24",{"_index":3966,"title":{},"content":{"439":{"position":[[405,2]]}},"keywords":{}}],["24224",{"_index":3367,"title":{},"content":{"350":{"position":[[203,5]]}},"keywords":{}}],["25",{"_index":2925,"title":{},"content":{"304":{"position":[[4960,2]]},"410":{"position":[[792,3]]},"411":{"position":[[743,2]]},"412":{"position":[[417,3]]},"413":{"position":[[415,3]]},"417":{"position":[[761,3]]},"423":{"position":[[677,3]]},"444":{"position":[[873,2],[880,2]]}},"keywords":{}}],["25.0"",{"_index":4994,"title":{},"content":{"658":{"position":[[1169,11]]},"683":{"position":[[1053,11]]},"687":{"position":[[906,11]]}},"keywords":{}}],["250",{"_index":3817,"title":{},"content":{"401":{"position":[[597,3]]},"441":{"position":[[354,3],[588,3],[592,3]]}},"keywords":{}}],["255",{"_index":837,"title":{},"content":{"36":{"position":[[9804,3],[10204,3]]},"202":{"position":[[9804,3],[10204,3]]},"253":{"position":[[4159,5]]}},"keywords":{}}],["256",{"_index":1800,"title":{},"content":{"99":{"position":[[1272,3],[1284,3]]}},"keywords":{}}],["256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426"",{"_index":3975,"title":{},"content":{"441":{"position":[[508,77]]}},"keywords":{}}],["26",{"_index":2926,"title":{},"content":{"304":{"position":[[5073,2]]}},"keywords":{}}],["265",{"_index":452,"title":{},"content":{"20":{"position":[[1012,3]]}},"keywords":{}}],["27",{"_index":2927,"title":{},"content":{"304":{"position":[[5186,2]]}},"keywords":{}}],["28",{"_index":2928,"title":{},"content":{"304":{"position":[[5297,2]]}},"keywords":{}}],["29",{"_index":1581,"title":{},"content":{"83":{"position":[[1006,2],[1087,2]]},"304":{"position":[[5463,2]]}},"keywords":{}}],["2900",{"_index":1711,"title":{},"content":{"89":{"position":[[178,4]]}},"keywords":{}}],["2900:2900",{"_index":1682,"title":{},"content":{"85":{"position":[[576,9]]}},"keywords":{}}],["2950",{"_index":1987,"title":{},"content":{"135":{"position":[[834,4],[839,4]]},"338":{"position":[[964,4],[2188,5]]}},"keywords":{}}],["299792458",{"_index":4174,"title":{},"content":{"476":{"position":[[1364,9]]}},"keywords":{}}],["2a46",{"_index":1005,"title":{},"content":{"43":{"position":[[4563,4]]}},"keywords":{}}],["2em",{"_index":3750,"title":{},"content":{"376":{"position":[[350,3]]}},"keywords":{}}],["2f",{"_index":3829,"title":{},"content":{"403":{"position":[[915,4]]}},"keywords":{}}],["2h",{"_index":3864,"title":{},"content":{"418":{"position":[[1555,3]]},"419":{"position":[[1608,3]]},"420":{"position":[[1580,3]]}},"keywords":{}}],["2s",{"_index":3732,"title":{},"content":{"371":{"position":[[287,2]]}},"keywords":{}}],["3",{"_index":232,"title":{"462":{"position":[[0,2]]}},"content":{"6":{"position":[[967,1]]},"40":{"position":[[915,1],[917,1]]},"61":{"position":[[3091,1],[3337,1],[3423,2]]},"83":{"position":[[1162,1],[1225,1],[1284,1]]},"99":{"position":[[456,1]]},"108":{"position":[[40,1],[52,1]]},"226":{"position":[[146,1],[227,1],[502,1],[504,1],[506,1],[1024,1],[1105,1],[1380,1],[1382,1],[1384,1],[1794,1],[1875,1],[2150,1],[2152,1],[2154,1]]},"267":{"position":[[10270,1],[10325,1]]},"273":{"position":[[518,1]]},"282":{"position":[[592,1]]},"285":{"position":[[130,1],[214,1],[579,1]]},"299":{"position":[[258,1]]},"300":{"position":[[309,1]]},"301":{"position":[[418,1]]},"302":{"position":[[428,1]]},"303":{"position":[[689,1]]},"304":{"position":[[1855,1]]},"305":{"position":[[530,1]]},"306":{"position":[[487,1]]},"307":{"position":[[366,1]]},"308":{"position":[[347,1]]},"309":{"position":[[449,1]]},"310":{"position":[[325,1]]},"311":{"position":[[303,1]]},"390":{"position":[[267,1]]},"399":{"position":[[188,1]]},"425":{"position":[[469,1]]},"443":{"position":[[531,1]]},"444":{"position":[[594,2]]},"483":{"position":[[835,2]]},"533":{"position":[[818,2]]},"646":{"position":[[1029,2]]},"648":{"position":[[1071,2]]}},"keywords":{}}],["3"",{"_index":3784,"title":{},"content":{"390":{"position":[[336,7]]},"681":{"position":[[1580,8],[1645,8],[1790,8],[1855,8]]}},"keywords":{}}],["3)instal",{"_index":3260,"title":{},"content":{"337":{"position":[[41,9]]}},"keywords":{}}],["3,17",{"_index":487,"title":{},"content":{"22":{"position":[[151,5]]}},"keywords":{}}],["3,6",{"_index":486,"title":{},"content":{"22":{"position":[[147,3]]}},"keywords":{}}],["3.2g",{"_index":3486,"title":{},"content":{"357":{"position":[[817,4]]}},"keywords":{}}],["3.74g",{"_index":3536,"title":{},"content":{"357":{"position":[[2307,5]]}},"keywords":{}}],["3.91",{"_index":3560,"title":{},"content":{"357":{"position":[[3145,5]]}},"keywords":{}}],["3.9g",{"_index":3483,"title":{},"content":{"357":{"position":[[774,4]]}},"keywords":{}}],["3.x",{"_index":2472,"title":{},"content":{"245":{"position":[[589,3],[605,4]]}},"keywords":{}}],["30",{"_index":2045,"title":{},"content":{"167":{"position":[[132,3]]},"304":{"position":[[5629,2]]},"371":{"position":[[259,4]]},"414":{"position":[[486,2]]},"419":{"position":[[650,3],[660,2]]},"425":{"position":[[494,3]]}},"keywords":{}}],["30.0",{"_index":2678,"title":{},"content":{"267":{"position":[[10342,4],[10347,4]]},"699":{"position":[[528,5],[534,5],[831,5],[837,5]]},"700":{"position":[[2049,5]]}},"keywords":{}}],["300",{"_index":3443,"title":{},"content":{"355":{"position":[[379,3],[668,3]]}},"keywords":{}}],["304",{"_index":4282,"title":{},"content":{"486":{"position":[[377,4],[488,4],[612,4],[724,4]]},"497":{"position":[[455,4],[753,4]]}},"keywords":{}}],["306",{"_index":4283,"title":{},"content":{"486":{"position":[[382,4],[493,4],[617,4],[729,4]]},"497":{"position":[[460,4],[758,4]]}},"keywords":{}}],["30m",{"_index":3865,"title":{},"content":{"418":{"position":[[1559,4]]},"419":{"position":[[1612,4]]},"420":{"position":[[1584,4]]}},"keywords":{}}],["30px",{"_index":3761,"title":{},"content":{"382":{"position":[[207,4]]}},"keywords":{}}],["31",{"_index":2930,"title":{},"content":{"304":{"position":[[5768,2]]}},"keywords":{}}],["310"",{"_index":4284,"title":{},"content":{"486":{"position":[[391,9],[502,9],[626,10],[738,10]]},"497":{"position":[[465,9],[763,10]]}},"keywords":{}}],["32",{"_index":725,"title":{},"content":{"36":{"position":[[3527,2],[9220,2],[9409,2]]},"40":{"position":[[224,2],[332,2],[451,2],[558,2],[676,2],[964,2],[1372,2]]},"60":{"position":[[464,2]]},"67":{"position":[[555,2],[601,3],[614,2],[823,2],[952,2],[1086,2],[1230,2]]},"99":{"position":[[238,2],[1211,2],[3514,2]]},"201":{"position":[[1966,2],[2047,2],[2050,2],[2109,2]]},"202":{"position":[[3527,2],[9220,2],[9409,2]]},"203":{"position":[[1754,2],[1843,2]]},"204":{"position":[[2113,2],[2116,2]]},"205":{"position":[[1956,2]]},"226":{"position":[[669,2],[752,2],[1547,2],[2317,2]]},"232":{"position":[[1081,2]]},"233":{"position":[[1298,2]]},"253":{"position":[[2937,2],[3818,2],[4912,2]]},"254":{"position":[[1535,2]]},"267":{"position":[[2593,2],[7519,2],[7686,2]]},"271":{"position":[[962,2]]},"272":{"position":[[758,2]]},"285":{"position":[[666,2],[816,2],[1244,2]]},"304":{"position":[[5914,2]]},"321":{"position":[[3130,2],[3288,2]]},"329":{"position":[[402,3],[807,3]]}},"keywords":{}}],["320",{"_index":2685,"title":{},"content":{"271":{"position":[[971,3]]},"272":{"position":[[767,3]]}},"keywords":{}}],["3207",{"_index":959,"title":{},"content":{"43":{"position":[[744,4]]}},"keywords":{}}],["326mb",{"_index":1604,"title":{},"content":{"83":{"position":[[1595,5]]}},"keywords":{}}],["32gb",{"_index":2773,"title":{},"content":{"289":{"position":[[854,4]]}},"keywords":{}}],["33",{"_index":2932,"title":{},"content":{"304":{"position":[[6081,2]]}},"keywords":{}}],["333.8mib",{"_index":3561,"title":{},"content":{"357":{"position":[[3151,8]]}},"keywords":{}}],["33xxwnbu6pnslqhpvlqu5vmzlk0iofk",{"_index":995,"title":{},"content":{"43":{"position":[[4203,31]]}},"keywords":{}}],["34",{"_index":2933,"title":{},"content":{"304":{"position":[[6229,2]]},"439":{"position":[[383,2]]},"440":{"position":[[645,2]]}},"keywords":{}}],["35",{"_index":2934,"title":{},"content":{"304":{"position":[[6359,2]]},"357":{"position":[[2247,3]]}},"keywords":{}}],["35.4mib",{"_index":3570,"title":{},"content":{"357":{"position":[[3369,7]]}},"keywords":{}}],["350",{"_index":3455,"title":{},"content":{"355":{"position":[[1179,3]]}},"keywords":{}}],["36",{"_index":2935,"title":{},"content":{"304":{"position":[[6521,2]]}},"keywords":{}}],["3650",{"_index":415,"title":{},"content":{"20":{"position":[[370,4],[1053,4],[1111,4]]}},"keywords":{}}],["37",{"_index":2938,"title":{},"content":{"304":{"position":[[6734,2]]}},"keywords":{}}],["37.33mib",{"_index":3526,"title":{},"content":{"357":{"position":[[1878,8]]}},"keywords":{}}],["370.8mib",{"_index":3562,"title":{},"content":{"357":{"position":[[3160,8]]}},"keywords":{}}],["372mb",{"_index":1602,"title":{},"content":{"83":{"position":[[1536,5]]}},"keywords":{}}],["38400",{"_index":1257,"title":{},"content":{"52":{"position":[[1111,5]]}},"keywords":{}}],["39",{"_index":3533,"title":{},"content":{"357":{"position":[[2251,3]]}},"keywords":{}}],["392mib",{"_index":3501,"title":{},"content":{"357":{"position":[[1277,6]]}},"keywords":{}}],["4",{"_index":234,"title":{"257":{"position":[[22,1]]},"347":{"position":[[31,2]]},"463":{"position":[[0,2]]}},"content":{"6":{"position":[[1022,1]]},"49":{"position":[[967,1],[1077,1],[1843,1],[1972,1]]},"50":{"position":[[833,1],[922,1],[1562,1],[1670,1]]},"52":{"position":[[1031,1],[1138,1]]},"54":{"position":[[827,1],[1068,1],[1548,1],[1828,1],[2588,1],[2800,1]]},"61":{"position":[[2873,2],[2890,2],[2922,2],[3029,1],[3033,1],[3041,1],[3054,1]]},"64":{"position":[[755,1]]},"99":{"position":[[374,1],[471,1]]},"134":{"position":[[953,1]]},"226":{"position":[[306,1],[680,1],[682,1],[684,1],[1184,1],[1954,1]]},"257":{"position":[[122,1],[664,1],[744,1],[932,1]]},"285":{"position":[[314,1]]},"299":{"position":[[365,1]]},"300":{"position":[[431,1]]},"301":{"position":[[516,1]]},"302":{"position":[[515,1]]},"303":{"position":[[845,1]]},"304":{"position":[[2074,1]]},"305":{"position":[[710,1]]},"307":{"position":[[496,1]]},"308":{"position":[[444,1]]},"309":{"position":[[544,1]]},"310":{"position":[[418,1]]},"311":{"position":[[377,1]]},"329":{"position":[[1175,1],[1177,1],[1262,1],[1436,1],[1449,1],[1459,1],[1486,1]]},"347":{"position":[[18,1],[220,1]]},"355":{"position":[[452,1]]},"357":{"position":[[74,2],[594,2],[4177,1]]},"401":{"position":[[417,2],[675,1]]},"402":{"position":[[413,2],[471,1],[803,1],[805,1]]},"476":{"position":[[522,1]]},"483":{"position":[[902,2]]},"601":{"position":[[386,1]]},"617":{"position":[[167,1]]},"673":{"position":[[161,1]]}},"keywords":{}}],["4).3",{"_index":1410,"title":{},"content":{"64":{"position":[[747,4]]}},"keywords":{}}],["4.0.0",{"_index":1973,"title":{},"content":{"134":{"position":[[9,6]]}},"keywords":{}}],["4.0.7",{"_index":3391,"title":{},"content":{"350":{"position":[[1386,5]]}},"keywords":{}}],["4.05",{"_index":3515,"title":{},"content":{"357":{"position":[[1648,5]]}},"keywords":{}}],["4.09",{"_index":3540,"title":{},"content":{"357":{"position":[[2662,5]]}},"keywords":{}}],["4.16",{"_index":3494,"title":{},"content":{"357":{"position":[[1171,5]]}},"keywords":{}}],["4.22.0",{"_index":3583,"title":{},"content":{"357":{"position":[[4293,6]]}},"keywords":{}}],["4.4.0",{"_index":369,"title":{},"content":{"17":{"position":[[9,6]]},"18":{"position":[[9,6]]}},"keywords":{}}],["4.4.1",{"_index":682,"title":{},"content":{"36":{"position":[[1077,6]]},"202":{"position":[[1077,6]]},"209":{"position":[[9,6]]},"267":{"position":[[1072,6]]},"274":{"position":[[9,6]]}},"keywords":{}}],["4.64g",{"_index":3535,"title":{},"content":{"357":{"position":[[2259,5]]}},"keywords":{}}],["4.9.0",{"_index":2991,"title":{},"content":{"313":{"position":[[150,5]]}},"keywords":{}}],["40",{"_index":3532,"title":{},"content":{"357":{"position":[[2243,3]]},"410":{"position":[[883,2]]},"417":{"position":[[847,2]]}},"keywords":{}}],["40.0",{"_index":5199,"title":{},"content":{"700":{"position":[[2055,5]]}},"keywords":{}}],["400",{"_index":3439,"title":{},"content":{"355":{"position":[[274,3]]},"419":{"position":[[627,3]]},"442":{"position":[[225,3]]}},"keywords":{}}],["401",{"_index":1698,"title":{},"content":{"87":{"position":[[176,3]]}},"keywords":{}}],["401.6mib",{"_index":3500,"title":{},"content":{"357":{"position":[[1268,8]]}},"keywords":{}}],["405.8mib",{"_index":3546,"title":{},"content":{"357":{"position":[[2766,8]]}},"keywords":{}}],["405mb",{"_index":1593,"title":{},"content":{"83":{"position":[[1236,5],[1295,5]]}},"keywords":{}}],["407.9mib",{"_index":3545,"title":{},"content":{"357":{"position":[[2757,8]]}},"keywords":{}}],["4096",{"_index":444,"title":{},"content":{"20":{"position":[[917,4]]}},"keywords":{}}],["41.02mib",{"_index":3527,"title":{},"content":{"357":{"position":[[1887,8]]}},"keywords":{}}],["42",{"_index":3534,"title":{},"content":{"357":{"position":[[2255,3]]}},"keywords":{}}],["42.93mib",{"_index":3571,"title":{},"content":{"357":{"position":[[3377,8]]}},"keywords":{}}],["43.54mib",{"_index":3496,"title":{},"content":{"357":{"position":[[1183,8]]}},"keywords":{}}],["430",{"_index":3971,"title":{},"content":{"441":{"position":[[358,3]]}},"keywords":{}}],["431mb",{"_index":1586,"title":{},"content":{"83":{"position":[[1100,5]]}},"keywords":{}}],["432mb",{"_index":1590,"title":{},"content":{"83":{"position":[[1173,5]]}},"keywords":{}}],["4374",{"_index":933,"title":{},"content":{"42":{"position":[[763,4]]}},"keywords":{}}],["44.3mib",{"_index":3541,"title":{},"content":{"357":{"position":[[2674,7]]}},"keywords":{}}],["443",{"_index":507,"title":{},"content":{"23":{"position":[[35,3]]}},"keywords":{}}],["446mb",{"_index":1584,"title":{},"content":{"83":{"position":[[1019,5]]}},"keywords":{}}],["45",{"_index":3985,"title":{},"content":{"443":{"position":[[493,2],[523,2]]},"444":{"position":[[988,2],[995,2]]}},"keywords":{}}],["450",{"_index":3802,"title":{},"content":{"394":{"position":[[247,3]]}},"keywords":{}}],["46.22mib",{"_index":3517,"title":{},"content":{"357":{"position":[[1660,8]]}},"keywords":{}}],["4693",{"_index":1016,"title":{},"content":{"43":{"position":[[6504,4]]}},"keywords":{}}],["476.8mib",{"_index":3504,"title":{},"content":{"357":{"position":[[1340,8],[1349,8]]}},"keywords":{}}],["47a8dd26",{"_index":1014,"title":{},"content":{"43":{"position":[[6490,8]]}},"keywords":{}}],["48",{"_index":2230,"title":{},"content":{"226":{"position":[[749,2],[1627,2]]},"285":{"position":[[728,2]]}},"keywords":{}}],["480.2mib",{"_index":3549,"title":{},"content":{"357":{"position":[[2831,8]]}},"keywords":{}}],["481.5mib",{"_index":3550,"title":{},"content":{"357":{"position":[[2840,8]]}},"keywords":{}}],["4aacbaf49f7a",{"_index":1585,"title":{},"content":{"83":{"position":[[1074,12]]}},"keywords":{}}],["4c12",{"_index":1006,"title":{},"content":{"43":{"position":[[4568,4]]}},"keywords":{}}],["4cac7a3ea9d3",{"_index":1580,"title":{},"content":{"83":{"position":[[993,12]]}},"keywords":{}}],["4gib",{"_index":1787,"title":{},"content":{"99":{"position":[[357,5]]}},"keywords":{}}],["5",{"_index":29,"title":{"257":{"position":[[34,2]]},"464":{"position":[[0,2]]}},"content":{"2":{"position":[[10,1]]},"6":{"position":[[530,1],[1077,1]]},"43":{"position":[[214,1]]},"44":{"position":[[512,1]]},"46":{"position":[[56,1],[256,1]]},"66":{"position":[[267,1]]},"97":{"position":[[30,1]]},"98":{"position":[[8,1]]},"99":{"position":[[492,1]]},"146":{"position":[[151,2]]},"226":{"position":[[399,1],[1277,1],[2047,1],[2457,1]]},"227":{"position":[[143,1],[686,1]]},"245":{"position":[[520,1]]},"254":{"position":[[1287,1],[1551,1],[2546,1]]},"257":{"position":[[8,1],[134,1],[602,1],[694,1],[790,1],[1104,1],[1209,1],[1456,1],[1639,1],[1960,2]]},"285":{"position":[[408,1]]},"289":{"position":[[1014,1]]},"291":{"position":[[176,1]]},"298":{"position":[[40,1],[101,1]]},"299":{"position":[[409,1]]},"300":{"position":[[501,1]]},"301":{"position":[[621,1]]},"302":{"position":[[665,1]]},"303":{"position":[[1017,1]]},"304":{"position":[[2168,1]]},"305":{"position":[[878,1]]},"307":{"position":[[585,1]]},"308":{"position":[[620,1]]},"309":{"position":[[644,1]]},"310":{"position":[[501,1]]},"311":{"position":[[488,1]]},"371":{"position":[[372,1]]},"420":{"position":[[628,1]]},"425":{"position":[[674,1]]},"439":{"position":[[381,1],[424,1]]},"440":{"position":[[643,1],[697,1]]},"443":{"position":[[467,1],[469,1],[474,1],[487,1],[489,1],[491,1],[518,1]]},"444":{"position":[[871,1],[883,1],[986,1]]},"445":{"position":[[255,1]]},"459":{"position":[[373,1]]},"476":{"position":[[2226,2],[2616,2],[3142,2],[3525,2]]},"478":{"position":[[381,2],[640,2],[836,2]]},"480":{"position":[[1523,2],[1803,2]]},"490":{"position":[[673,1]]},"586":{"position":[[619,1]]},"621":{"position":[[79,2],[146,3]]},"632":{"position":[[176,1]]},"636":{"position":[[1197,1]]},"637":{"position":[[1419,1]]},"638":{"position":[[1440,1]]},"639":{"position":[[1473,1]]},"640":{"position":[[1273,1]]},"641":{"position":[[1490,1]]},"642":{"position":[[1511,1]]},"643":{"position":[[1544,1]]},"658":{"position":[[1126,1]]},"671":{"position":[[653,1],[852,1]]},"673":{"position":[[1476,3],[1596,3],[1716,5],[1839,4]]},"681":{"position":[[1526,1]]},"683":{"position":[[1010,1]]},"684":{"position":[[866,2],[884,1]]},"687":{"position":[[863,1]]},"688":{"position":[[844,2],[862,1]]},"730":{"position":[[241,2]]},"731":{"position":[[220,1]]},"732":{"position":[[123,2],[210,2]]}},"keywords":{}}],["5"",{"_index":3919,"title":{},"content":{"429":{"position":[[1820,9]]},"669":{"position":[[731,8],[815,8],[1018,8],[1101,8]]},"671":{"position":[[612,8],[811,8]]},"673":{"position":[[304,8],[1325,8]]},"685":{"position":[[1090,8],[1163,8],[1267,8],[1340,8]]}},"keywords":{}}],["5.0",{"_index":1401,"title":{},"content":{"63":{"position":[[2625,3]]},"657":{"position":[[816,4],[983,4]]},"670":{"position":[[637,4],[742,4]]},"682":{"position":[[1336,4],[1417,4],[1543,4],[1624,4]]},"686":{"position":[[1159,4],[1246,4],[1364,4],[1451,4]]}},"keywords":{}}],["5.0.0",{"_index":4883,"title":{"646":{"position":[[34,5]]},"648":{"position":[[29,5]]},"649":{"position":[[31,5]]},"663":{"position":[[28,7]]},"664":{"position":[[33,5]]},"666":{"position":[[29,5]]},"667":{"position":[[16,7]]},"709":{"position":[[21,7]]},"723":{"position":[[18,7]]}},"content":{},"keywords":{}}],["5.0.10",{"_index":685,"title":{},"content":{"36":{"position":[[1325,7]]},"175":{"position":[[9,7]]},"202":{"position":[[1325,7]]},"215":{"position":[[9,7]]},"216":{"position":[[9,7]]},"217":{"position":[[9,7]]},"267":{"position":[[1320,7]]},"279":{"position":[[9,7]]}},"keywords":{}}],["5.0.3",{"_index":5095,"title":{"675":{"position":[[25,7]]},"676":{"position":[[19,7]]}},"content":{},"keywords":{}}],["5.0.6",{"_index":4899,"title":{"647":{"position":[[39,5]]},"665":{"position":[[39,5]]}},"content":{},"keywords":{}}],["5.0.6cf",{"_index":2985,"title":{},"content":{"313":{"position":[[82,8]]}},"keywords":{}}],["5.0.8",{"_index":2103,"title":{},"content":{"192":{"position":[[9,6]]}},"keywords":{}}],["5.0.9",{"_index":2825,"title":{},"content":{"292":{"position":[[488,6]]}},"keywords":{}}],["5.1.0",{"_index":3730,"title":{},"content":{"371":{"position":[[9,6]]}},"keywords":{}}],["5.11",{"_index":1796,"title":{},"content":{"99":{"position":[[912,5]]}},"keywords":{}}],["5.11.0",{"_index":1797,"title":{},"content":{"99":{"position":[[1021,7]]}},"keywords":{}}],["5.11.1",{"_index":315,"title":{},"content":{"11":{"position":[[9,7]]}},"keywords":{}}],["5.11.4",{"_index":5541,"title":{},"content":{"767":{"position":[[945,7]]},"768":{"position":[[548,7],[616,8]]}},"keywords":{}}],["5.12.0",{"_index":2056,"title":{},"content":{"170":{"position":[[9,7]]},"183":{"position":[[9,7]]},"193":{"position":[[9,7]]},"196":{"position":[[9,7]]}},"keywords":{}}],["5.13.0",{"_index":4855,"title":{"644":{"position":[[17,7]]},"646":{"position":[[20,7]]},"647":{"position":[[25,7]]},"648":{"position":[[15,7]]},"649":{"position":[[17,7]]},"664":{"position":[[19,7]]},"665":{"position":[[25,7]]},"666":{"position":[[15,7]]}},"content":{},"keywords":{}}],["5.14.0",{"_index":2172,"title":{},"content":{"218":{"position":[[9,7]]},"219":{"position":[[9,7]]},"220":{"position":[[9,7]]},"221":{"position":[[9,7]]}},"keywords":{}}],["5.15.90.1",{"_index":3587,"title":{},"content":{"357":{"position":[[4337,9]]}},"keywords":{}}],["5.16.0",{"_index":2700,"title":{},"content":{"280":{"position":[[9,7]]}},"keywords":{}}],["5.16.2",{"_index":2789,"title":{},"content":{"290":{"position":[[416,6],[530,7],[804,6]]}},"keywords":{}}],["5.17.1",{"_index":3878,"title":{},"content":{"424":{"position":[[9,7]]}},"keywords":{}}],["5.17.2",{"_index":3888,"title":{},"content":{"425":{"position":[[9,7]]}},"keywords":{}}],["5.18.0",{"_index":692,"title":{},"content":{"36":{"position":[[1576,7]]},"202":{"position":[[1576,7]]},"222":{"position":[[9,7]]},"267":{"position":[[1571,7]]},"281":{"position":[[9,7]]}},"keywords":{}}],["5.19.0",{"_index":2181,"title":{},"content":{"224":{"position":[[9,7]]}},"keywords":{}}],["5.2.0",{"_index":1948,"title":{},"content":{"126":{"position":[[9,6]]},"127":{"position":[[9,6]]},"146":{"position":[[9,6]]},"153":{"position":[[9,6]]},"168":{"position":[[9,6]]},"169":{"position":[[9,6]]}},"keywords":{}}],["5.20.0",{"_index":2179,"title":{},"content":{"223":{"position":[[9,7]]}},"keywords":{}}],["5.3.0",{"_index":1990,"title":{},"content":{"136":{"position":[[9,6]]},"181":{"position":[[9,6]]}},"keywords":{}}],["5.5.0",{"_index":1928,"title":{},"content":{"122":{"position":[[9,6]]},"182":{"position":[[9,6]]}},"keywords":{}}],["5.5.1",{"_index":3808,"title":{},"content":{"397":{"position":[[9,6]]},"418":{"position":[[1276,6],[1443,6]]},"419":{"position":[[1329,6],[1496,6]]},"420":{"position":[[1301,6],[1468,6]]},"444":{"position":[[1185,6]]}},"keywords":{}}],["5.5.2",{"_index":1963,"title":{},"content":{"133":{"position":[[9,6]]}},"keywords":{}}],["5.7.0",{"_index":1994,"title":{},"content":{"137":{"position":[[9,6]]},"138":{"position":[[9,6]]},"139":{"position":[[9,6]]},"140":{"position":[[9,6]]},"141":{"position":[[9,6]]},"142":{"position":[[9,6]]}},"keywords":{}}],["5.8.0",{"_index":4856,"title":{"644":{"position":[[31,5]]}},"content":{},"keywords":{}}],["5.9.1",{"_index":3472,"title":{},"content":{"357":{"position":[[149,5]]}},"keywords":{}}],["5.time",{"_index":2246,"title":{},"content":{"226":{"position":[[2387,7]]}},"keywords":{}}],["5.x",{"_index":1863,"title":{"107":{"position":[[44,5]]}},"content":{},"keywords":{}}],["50",{"_index":806,"title":{},"content":{"36":{"position":[[7536,2],[7565,2],[7624,2]]},"202":{"position":[[7536,2],[7565,2],[7624,2]]},"267":{"position":[[6136,2],[6164,2],[6223,2]]},"289":{"position":[[508,3]]},"355":{"position":[[1012,2]]},"375":{"position":[[248,2]]},"376":{"position":[[276,2]]},"379":{"position":[[481,2]]},"380":{"position":[[475,2]]},"381":{"position":[[504,2]]},"412":{"position":[[493,2]]},"413":{"position":[[490,2]]},"419":{"position":[[631,2]]},"423":{"position":[[755,2]]},"425":{"position":[[541,2],[575,2],[629,2],[662,2],[696,2],[701,2]]},"443":{"position":[[453,2]]},"444":{"position":[[755,2]]},"445":{"position":[[228,2],[231,2]]},"480":{"position":[[1592,3],[1871,3]]}},"keywords":{}}],["50,000",{"_index":5463,"title":{},"content":{"750":{"position":[[116,6]]},"751":{"position":[[115,6]]}},"keywords":{}}],["50.0",{"_index":2306,"title":{},"content":{"227":{"position":[[5713,5]]},"495":{"position":[[632,4],[929,5]]},"700":{"position":[[2037,5]]}},"keywords":{}}],["50.0"",{"_index":4340,"title":{},"content":{"495":{"position":[[701,11],[999,11]]},"500":{"position":[[479,11],[657,11]]}},"keywords":{}}],["500",{"_index":5503,"title":{},"content":{"760":{"position":[[206,4]]},"761":{"position":[[233,4]]}},"keywords":{}}],["50000",{"_index":4984,"title":{},"content":{"657":{"position":[[875,6],[1042,6]]},"751":{"position":[[199,5]]}},"keywords":{}}],["5000000.time",{"_index":4318,"title":{},"content":{"488":{"position":[[2336,13]]}},"keywords":{}}],["50_000_000",{"_index":2018,"title":{},"content":{"148":{"position":[[151,11]]},"151":{"position":[[158,11]]},"155":{"position":[[153,11]]},"158":{"position":[[160,11]]}},"keywords":{}}],["50mb",{"_index":1967,"title":{},"content":{"133":{"position":[[564,5]]},"343":{"position":[[527,5]]}},"keywords":{}}],["51",{"_index":925,"title":{},"content":{"42":{"position":[[631,2]]}},"keywords":{}}],["51.38mib",{"_index":3497,"title":{},"content":{"357":{"position":[[1192,8]]}},"keywords":{}}],["512",{"_index":4533,"title":{},"content":{"585":{"position":[[689,3]]}},"keywords":{}}],["5375f60abc6c",{"_index":1018,"title":{},"content":{"43":{"position":[[6514,12]]}},"keywords":{}}],["561b128",{"_index":2988,"title":{},"content":{"313":{"position":[[113,7]]}},"keywords":{}}],["57"",{"_index":3087,"title":{},"content":{"321":{"position":[[968,8]]}},"keywords":{}}],["57.295",{"_index":2734,"title":{},"content":{"285":{"position":[[1034,6]]}},"keywords":{}}],["57600",{"_index":1262,"title":{},"content":{"52":{"position":[[1532,5]]}},"keywords":{}}],["5a3003a49199",{"_index":1595,"title":{},"content":{"83":{"position":[[1331,12]]}},"keywords":{}}],["5d002c1",{"_index":3689,"title":{},"content":{"363":{"position":[[1269,8]]}},"keywords":{}}],["5m",{"_index":3872,"title":{},"content":{"420":{"position":[[619,2]]}},"keywords":{}}],["5px",{"_index":3774,"title":{},"content":{"386":{"position":[[366,3]]}},"keywords":{}}],["6",{"_index":1214,"title":{"465":{"position":[[0,2]]}},"content":{"49":{"position":[[1187,1],[2101,1]]},"50":{"position":[[1011,1],[1778,1]]},"52":{"position":[[1234,1]]},"54":{"position":[[937,1],[1677,1]]},"60":{"position":[[589,1]]},"88":{"position":[[293,1]]},"99":{"position":[[23,1],[510,1],[1038,1]]},"245":{"position":[[571,1]]},"299":{"position":[[458,1]]},"300":{"position":[[605,1]]},"301":{"position":[[799,1]]},"302":{"position":[[749,1]]},"303":{"position":[[1179,1]]},"304":{"position":[[2308,1]]},"305":{"position":[[1023,1]]},"307":{"position":[[697,1]]},"308":{"position":[[705,1]]},"310":{"position":[[598,1]]},"311":{"position":[[581,1]]},"321":{"position":[[744,1],[746,1],[748,1]]},"357":{"position":[[814,2]]},"401":{"position":[[621,1]]}},"keywords":{}}],["6.0",{"_index":1868,"title":{"108":{"position":[[14,3]]}},"content":{},"keywords":{}}],["6.1",{"_index":1875,"title":{},"content":{"108":{"position":[[139,5]]}},"keywords":{}}],["6.14",{"_index":3499,"title":{},"content":{"357":{"position":[[1262,5]]}},"keywords":{}}],["6.18",{"_index":3544,"title":{},"content":{"357":{"position":[[2751,5]]}},"keywords":{}}],["60",{"_index":1972,"title":{},"content":{"133":{"position":[[947,2]]},"153":{"position":[[160,3]]},"425":{"position":[[498,3]]}},"keywords":{}}],["60.0",{"_index":2310,"title":{},"content":{"227":{"position":[[5839,5]]},"233":{"position":[[1362,4]]},"267":{"position":[[10292,4]]},"699":{"position":[[472,5],[636,5],[785,5],[956,5]]},"700":{"position":[[2043,5]]}},"keywords":{}}],["600",{"_index":1971,"title":{},"content":{"133":{"position":[[932,3]]},"147":{"position":[[140,4]]},"150":{"position":[[147,4]]},"154":{"position":[[142,4]]},"157":{"position":[[149,4]]},"746":{"position":[[1167,4],[1467,4]]}},"keywords":{}}],["61064218",{"_index":3594,"title":{},"content":{"357":{"position":[[4418,8]]}},"keywords":{}}],["620",{"_index":3820,"title":{},"content":{"402":{"position":[[778,3]]}},"keywords":{}}],["64",{"_index":1418,"title":{},"content":{"67":{"position":[[608,2],[842,2],[971,2],[1099,2],[1243,2]]},"99":{"position":[[2744,2],[3099,2]]},"201":{"position":[[2106,2]]},"206":{"position":[[971,2],[974,2]]},"207":{"position":[[761,2]]},"227":{"position":[[4285,2]]},"271":{"position":[[959,2]]},"285":{"position":[[813,2]]},"329":{"position":[[410,2],[814,2]]},"347":{"position":[[409,2],[847,3]]},"649":{"position":[[1243,3]]}},"keywords":{}}],["640",{"_index":2146,"title":{},"content":{"206":{"position":[[983,3]]},"207":{"position":[[770,3]]}},"keywords":{}}],["64bit",{"_index":2148,"title":{},"content":{"206":{"position":[[1005,5]]},"207":{"position":[[792,5]]}},"keywords":{}}],["65535",{"_index":4934,"title":{},"content":{"649":{"position":[[1389,6]]}},"keywords":{}}],["65536",{"_index":1811,"title":{},"content":{"99":{"position":[[2720,6]]}},"keywords":{}}],["66.72",{"_index":3552,"title":{},"content":{"357":{"position":[[2901,6]]}},"keywords":{}}],["666",{"_index":3281,"title":{},"content":{"341":{"position":[[290,3]]}},"keywords":{}}],["69.84mib",{"_index":3518,"title":{},"content":{"357":{"position":[[1669,8]]}},"keywords":{}}],["6d22",{"_index":932,"title":{},"content":{"42":{"position":[[758,4]]}},"keywords":{}}],["7",{"_index":1149,"title":{"466":{"position":[[0,2]]}},"content":{"46":{"position":[[297,1],[309,2],[706,1],[718,2]]},"299":{"position":[[523,1]]},"300":{"position":[[711,1]]},"301":{"position":[[913,1]]},"303":{"position":[[1339,1]]},"304":{"position":[[2439,1]]},"305":{"position":[[1138,1]]},"307":{"position":[[794,1]]},"308":{"position":[[791,1]]},"310":{"position":[[693,1]]},"311":{"position":[[667,1]]},"332":{"position":[[383,1]]},"357":{"position":[[805,2],[808,2]]}},"keywords":{}}],["7.0",{"_index":1898,"title":{"109":{"position":[[14,4]]}},"content":{"670":{"position":[[657,5],[757,5]]}},"keywords":{}}],["7.42",{"_index":3563,"title":{},"content":{"357":{"position":[[3210,5]]}},"keywords":{}}],["7.7g",{"_index":3484,"title":{},"content":{"357":{"position":[[781,4],[2267,4]]}},"keywords":{}}],["70",{"_index":3895,"title":{},"content":{"426":{"position":[[348,2]]},"439":{"position":[[426,2]]},"440":{"position":[[699,2]]}},"keywords":{}}],["70,7",{"_index":512,"title":{},"content":{"23":{"position":[[126,4],[131,5]]}},"keywords":{}}],["70.0",{"_index":2389,"title":{},"content":{"233":{"position":[[1357,4]]},"267":{"position":[[10287,4]]},"699":{"position":[[466,5],[630,5],[779,5],[950,5]]}},"keywords":{}}],["7272",{"_index":2001,"title":{},"content":{"139":{"position":[[271,4]]},"175":{"position":[[308,4]]}},"keywords":{}}],["75",{"_index":5454,"title":{},"content":{"746":{"position":[[1172,3],[1472,3]]}},"keywords":{}}],["7777",{"_index":1710,"title":{},"content":{"89":{"position":[[118,6]]}},"keywords":{}}],["7779",{"_index":5351,"title":{},"content":{"720":{"position":[[465,5],[471,5]]}},"keywords":{}}],["787f6e3fc0b",{"_index":1599,"title":{},"content":{"83":{"position":[[1453,12]]}},"keywords":{}}],["8",{"_index":697,"title":{"467":{"position":[[0,2]]}},"content":{"36":{"position":[[1814,1],[9813,1],[10213,1]]},"40":{"position":[[814,1],[906,1]]},"42":{"position":[[486,3]]},"43":{"position":[[6239,3]]},"83":{"position":[[1344,1],[1406,1],[1466,1],[1525,1],[1584,1]]},"98":{"position":[[42,1]]},"135":{"position":[[785,1]]},"202":{"position":[[1814,1],[9813,1],[10213,1]]},"216":{"position":[[238,1]]},"217":{"position":[[243,2]]},"226":{"position":[[875,1],[1630,1]]},"232":{"position":[[1162,1]]},"233":{"position":[[1440,1]]},"253":{"position":[[2997,1],[3988,1],[4956,1]]},"254":{"position":[[1597,1]]},"267":{"position":[[1809,1]]},"285":{"position":[[1055,1]]},"299":{"position":[[652,1]]},"300":{"position":[[813,1]]},"301":{"position":[[1118,1]]},"303":{"position":[[1511,1]]},"304":{"position":[[2536,1]]},"305":{"position":[[1394,1]]},"307":{"position":[[891,1]]},"310":{"position":[[796,1]]},"311":{"position":[[753,1]]},"321":{"position":[[737,1],[789,1],[1617,1],[1669,1],[2122,1],[2174,1],[2622,1],[2674,1],[3346,1],[3407,1]]},"329":{"position":[[395,2],[638,1],[800,2],[1220,1],[1260,1]]},"338":{"position":[[855,1],[876,1]]},"357":{"position":[[811,2],[858,1]]},"416":{"position":[[384,2]]}},"keywords":{}}],["8.8",{"_index":3144,"title":{},"content":{"324":{"position":[[574,4],[1346,3]]}},"keywords":{}}],["80",{"_index":483,"title":{},"content":{"21":{"position":[[242,2]]},"23":{"position":[[55,3]]},"226":{"position":[[872,2]]},"289":{"position":[[640,3]]},"401":{"position":[[601,2]]},"405":{"position":[[394,2]]},"476":{"position":[[133,2]]}},"keywords":{}}],["80.0",{"_index":2388,"title":{},"content":{"233":{"position":[[1351,4],[1367,4]]},"267":{"position":[[10281,4],[10297,4],[10336,4],[10352,4]]},"273":{"position":[[535,4],[540,4]]},"282":{"position":[[609,4],[614,4]]},"699":{"position":[[459,5],[478,5],[521,5],[540,6],[623,5],[642,5],[772,5],[791,5],[824,5],[843,6],[943,5],[962,5]]}},"keywords":{}}],["800",{"_index":3440,"title":{},"content":{"355":{"position":[[323,3],[560,3],[589,3],[646,3]]}},"keywords":{}}],["8080",{"_index":1209,"title":{},"content":{"49":{"position":[[921,4],[1052,4],[1057,4],[1162,4],[1167,4],[1272,4],[1277,4],[1407,4],[1412,4],[1516,4],[1521,4],[1632,4],[1637,4],[1796,4],[1946,4],[1951,4],[2075,4],[2080,4],[2205,4],[2210,4],[2358,4],[2363,4],[2485,4],[2490,4],[2620,4],[2625,4]]},"50":{"position":[[787,4],[897,4],[902,4],[986,4],[991,4],[1075,4],[1080,4],[1189,4],[1194,4],[1277,4],[1282,4],[1372,4],[1377,4],[1515,4],[1644,4],[1649,4],[1752,4],[1757,4],[1861,4],[1866,4],[1993,4],[1998,4],[2099,4],[2104,4],[2213,4],[2218,4]]},"51":{"position":[[954,4],[1097,4]]},"54":{"position":[[802,4],[807,4],[912,4],[917,4],[1022,4],[1142,4],[1147,4],[1277,4],[1282,4],[1386,4],[1391,4],[1522,4],[1527,4],[1651,4],[1656,4],[1781,4],[1920,4],[1925,4],[2073,4],[2078,4],[2200,4],[2205,4],[2563,4],[2568,4],[2774,4],[2779,4]]},"125":{"position":[[203,4],[347,4]]},"126":{"position":[[244,4],[440,4]]},"127":{"position":[[247,4],[446,4]]},"134":{"position":[[782,4],[1069,4]]},"230":{"position":[[2694,4]]},"253":{"position":[[6877,4],[7792,4]]},"254":{"position":[[882,4]]}},"keywords":{}}],["8081",{"_index":1210,"title":{},"content":{"49":{"position":[[926,4],[1801,4]]},"50":{"position":[[792,4],[1520,4]]},"51":{"position":[[959,4],[1102,4]]},"54":{"position":[[1027,4],[1786,4]]},"125":{"position":[[208,4],[352,4]]},"126":{"position":[[249,4],[445,4]]},"127":{"position":[[252,4],[451,4]]},"134":{"position":[[787,4],[1074,4]]},"230":{"position":[[2699,4]]},"253":{"position":[[6882,4],[7813,4]]}},"keywords":{}}],["8082",{"_index":1240,"title":{},"content":{"51":{"position":[[964,4],[1107,4]]}},"keywords":{}}],["80gb",{"_index":2760,"title":{},"content":{"289":{"position":[[382,4]]}},"keywords":{}}],["83.87mib",{"_index":3514,"title":{},"content":{"357":{"position":[[1588,8]]}},"keywords":{}}],["84.87mib",{"_index":3558,"title":{},"content":{"357":{"position":[[3078,8]]}},"keywords":{}}],["86399999)"",{"_index":2728,"title":{},"content":{"285":{"position":[[855,15]]}},"keywords":{}}],["86400.0",{"_index":2738,"title":{},"content":{"285":{"position":[[1275,8]]}},"keywords":{}}],["8df1",{"_index":1017,"title":{},"content":{"43":{"position":[[6509,4]]}},"keywords":{}}],["8gb",{"_index":2758,"title":{},"content":{"289":{"position":[[366,3],[542,4]]},"347":{"position":[[241,3]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa"",{"_index":1012,"title":{},"content":{"43":{"position":[[5931,81]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyjhbgcioijiuzi1niisinr5ccigoiaislduiiwia2lkiia6ici5njnlmjjims0wzmywltrmzjktytg0zi1hogi4mzcxowfimdeifq.eyjlehaioje2odm2odewndasimlhdci6mty4mzy3oti0mcwianrpijoimmqyyjiynmitnjjkos00yjrjlwi3ytytmgewyjk4mgqymjmwiiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisimf1zci6imh0dha6ly9sb2nhbghvc3q6mjkwmc9hdxrol3jlywxtcy9vcgvuyzmilcjzdwiioijhy2uxztzhms05mze5ltq3nmutymy0my02zjnjywi5zwuyzguilcj0exaioijszwzyzxnoiiwiyxpwijoiyxbpiiwic2vzc2lvbl9zdgf0zsi6imyznzg1oty3ltjhndytngmxmi1hzdbjlwnmzjdmyzq3n2rmosisinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkifq.1hlkdxqkal5tyuhtxsocelzfmnnll9bjoa4oul70x9m","token_type":"bearer","id_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwiyxv0af90aw1lijowlcjqdgkioijhndjkoty1zs1lmzu0ltrim2qtotiyys1howe0zdgwzwyxmtkilcjpc3mioijodhrwoi8vbg9jywxob3n0oji5mdavyxv0ac9yzwfsbxmvb3blbmmziiwiyxvkijoiyxbpiiwic3viijoiywnlmwu2ytetotmxos00nzzllwjmndmtnmyzy2fiowvlmmrliiwidhlwijoisuqilcjhenaioijhcgkilcjzzxnzaw9ux3n0yxrlijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwiyxrfagfzaci6ijnbwe9iskfkyzfpvldld2y0a0q4tkeilcjhy3iioiixiiwic2lkijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwizw1hawxfdmvyawzpzwqiomzhbhnllcjuyw1lijoivghlie9wzxjhdg9yiiwichjlzmvycmvkx3vzzxjuyw1lijoib3blcmf0b3iilcjnaxzlbl9uyw1lijoivghliiwizmftawx5x25hbwuioijpcgvyyxrvcij9.gdll6kokiiadl6jyeuaxqrgcnvuwlqb3rdnwrhjdqyfxshiwofbilmfrersi",{"_index":994,"title":{},"content":{"43":{"position":[[2466,1736]]}},"keywords":{}}],["9",{"_index":1439,"title":{"468":{"position":[[0,2]]}},"content":{"69":{"position":[[769,1]]},"299":{"position":[[756,1]]},"301":{"position":[[1216,1]]},"303":{"position":[[1675,1]]},"304":{"position":[[2718,1]]},"307":{"position":[[992,1]]},"311":{"position":[[835,1]]},"332":{"position":[[391,1]]}},"keywords":{}}],["9.2",{"_index":3145,"title":{},"content":{"324":{"position":[[588,4],[1354,3]]}},"keywords":{}}],["9.484mib",{"_index":3522,"title":{},"content":{"357":{"position":[[1740,8]]}},"keywords":{}}],["90",{"_index":3891,"title":{},"content":{"425":{"position":[[502,2]]},"478":{"position":[[841,3]]}},"keywords":{}}],["90.0",{"_index":2689,"title":{},"content":{"273":{"position":[[529,4],[545,4]]},"282":{"position":[[603,4],[619,4]]}},"keywords":{}}],["900",{"_index":2039,"title":{},"content":{"165":{"position":[[146,3]]},"394":{"position":[[243,3]]}},"keywords":{}}],["9200",{"_index":3373,"title":{},"content":{"350":{"position":[[337,4],[667,4],[988,4]]}},"keywords":{}}],["94.9438",{"_index":1761,"title":{},"content":{"94":{"position":[[1417,8],[1767,8]]}},"keywords":{}}],["95",{"_index":3984,"title":{},"content":{"443":{"position":[[471,2],[515,2],[520,2]]}},"keywords":{}}],["96",{"_index":2134,"title":{},"content":{"201":{"position":[[2145,2],[2148,2]]},"285":{"position":[[887,2]]}},"keywords":{}}],["9600",{"_index":1255,"title":{},"content":{"52":{"position":[[983,4]]}},"keywords":{}}],["98df5c0378c2",{"_index":1594,"title":{},"content":{"83":{"position":[[1271,12]]}},"keywords":{}}],["999)"",{"_index":2732,"title":{},"content":{"285":{"position":[[935,10]]}},"keywords":{}}],["9a8806bd4be3",{"_index":1589,"title":{},"content":{"83":{"position":[[1149,12]]}},"keywords":{}}],["__init__",{"_index":747,"title":{},"content":{"36":{"position":[[4232,8]]},"202":{"position":[[4232,8]]},"267":{"position":[[3181,8]]}},"keywords":{}}],["__init__(self",{"_index":779,"title":{},"content":{"36":{"position":[[5928,14]]},"71":{"position":[[435,14]]},"202":{"position":[[5928,14]]},"267":{"position":[[4408,14]]},"487":{"position":[[1259,15]]},"611":{"position":[[390,15]]},"754":{"position":[[1937,15]]}},"keywords":{}}],["__openc3.log>",{"_index":3387,"title":{},"content":{"350":{"position":[[573,17]]}},"keywords":{}}],["_ccsds_apid.txt",{"_index":264,"title":{},"content":{"7":{"position":[[638,15]]}},"keywords":{}}],["_def.txt",{"_index":617,"title":{},"content":{"31":{"position":[[245,8]]}},"keywords":{}}],["_int",{"_index":1938,"title":{},"content":{"123":{"position":[[592,6]]}},"keywords":{}}],["_timeformat",{"_index":2633,"title":{},"content":{"263":{"position":[[781,14]]}},"keywords":{}}],["_timesecond",{"_index":2636,"title":{},"content":{"263":{"position":[[872,12]]}},"keywords":{}}],["a"",{"_index":3240,"title":{},"content":{"329":{"position":[[1202,7]]}},"keywords":{}}],["a/compose.yaml",{"_index":509,"title":{},"content":{"23":{"position":[[64,14]]}},"keywords":{}}],["a/openc3",{"_index":470,"title":{},"content":{"21":{"position":[[56,8]]},"22":{"position":[[79,8]]}},"keywords":{}}],["a86f",{"_index":934,"title":{},"content":{"42":{"position":[[768,4]]}},"keywords":{}}],["a:4",{"_index":3237,"title":{},"content":{"329":{"position":[[1121,4]]}},"keywords":{}}],["aa158bbb9539",{"_index":1603,"title":{},"content":{"83":{"position":[[1571,12]]}},"keywords":{}}],["abbrevi",{"_index":665,"title":{},"content":{"36":{"position":[[400,11],[412,12]]},"202":{"position":[[400,11],[412,12]]},"267":{"position":[[395,11],[407,12]]}},"keywords":{}}],["abil",{"_index":2654,"title":{},"content":{"267":{"position":[[3411,7],[4777,7],[5470,7],[6593,7]]},"490":{"position":[[160,7]]},"530":{"position":[[29,7]]},"546":{"position":[[30,7]]},"584":{"position":[[23,7]]},"603":{"position":[[158,7]]},"770":{"position":[[28,7]]}},"keywords":{}}],["abort",{"_index":1203,"title":{},"content":{"49":{"position":[[581,8],[650,8]]},"50":{"position":[[468,8],[537,8]]},"51":{"position":[[750,8],[823,8]]},"52":{"position":[[660,8],[729,8]]},"304":{"position":[[6123,8],[6186,5]]},"434":{"position":[[404,7],[535,7]]},"446":{"position":[[822,7],[1031,7]]},"481":{"position":[[325,5]]},"612":{"position":[[676,5],[696,5]]},"646":{"position":[[868,8],[924,7]]},"647":{"position":[[277,9],[403,9]]},"648":{"position":[[910,8],[966,7]]}},"keywords":{}}],["abort"",{"_index":4245,"title":{},"content":{"481":{"position":[[381,12]]},"636":{"position":[[1661,12],[1912,12]]},"648":{"position":[[368,12],[829,12]]}},"keywords":{}}],["abort_cmd",{"_index":4909,"title":{},"content":{"648":{"position":[[337,9],[386,9],[798,9]]}},"keywords":{}}],["abov",{"_index":159,"title":{},"content":{"5":{"position":[[521,5],[1464,6]]},"44":{"position":[[1869,5]]},"54":{"position":[[201,5]]},"61":{"position":[[1970,5]]},"81":{"position":[[82,5]]},"253":{"position":[[5867,6]]},"291":{"position":[[1433,5]]},"322":{"position":[[1127,5],[1783,6]]},"329":{"position":[[996,6],[1340,5]]},"359":{"position":[[978,6]]},"360":{"position":[[558,5]]},"410":{"position":[[421,5]]},"417":{"position":[[390,5]]},"423":{"position":[[400,5]]},"457":{"position":[[25,5]]},"462":{"position":[[85,5]]},"478":{"position":[[913,5]]},"480":{"position":[[813,5]]},"483":{"position":[[785,5],[1206,6]]},"513":{"position":[[721,5]]},"533":{"position":[[326,5]]},"548":{"position":[[133,6],[602,6]]},"578":{"position":[[1542,5]]},"610":{"position":[[235,5]]},"700":{"position":[[1011,5],[1138,5]]}},"keywords":{}}],["above"",{"_index":3815,"title":{},"content":{"399":{"position":[[253,11]]}},"keywords":{}}],["absolut",{"_index":1997,"title":{},"content":{"138":{"position":[[165,8],[384,8]]},"174":{"position":[[149,8],[368,8]]},"257":{"position":[[1076,8]]},"736":{"position":[[417,8]]}},"keywords":{}}],["abus",{"_index":4154,"title":{},"content":{"469":{"position":[[802,5]]}},"keywords":{}}],["accept",{"_index":1046,"title":{},"content":{"44":{"position":[[811,8],[843,7],[2314,8],[2373,7]]},"90":{"position":[[168,8]]},"135":{"position":[[554,6]]},"227":{"position":[[2022,8]]},"303":{"position":[[2028,9]]},"364":{"position":[[969,6]]}},"keywords":{}}],["access",{"_index":686,"title":{"463":{"position":[[3,6]]}},"content":{"36":{"position":[[1357,6],[1490,6]]},"83":{"position":[[2071,6]]},"85":{"position":[[123,6]]},"121":{"position":[[592,10]]},"186":{"position":[[13,6],[55,6]]},"202":{"position":[[1357,6],[1490,6]]},"209":{"position":[[297,11]]},"227":{"position":[[1764,6]]},"267":{"position":[[1352,6],[1485,6]]},"274":{"position":[[278,11]]},"299":{"position":[[180,10],[295,10]]},"324":{"position":[[3595,6]]},"325":{"position":[[702,6]]},"338":{"position":[[2026,6],[2105,6]]},"341":{"position":[[270,7]]},"353":{"position":[[282,6],[352,7]]},"359":{"position":[[469,6],[578,6],[666,6]]},"362":{"position":[[198,6],[539,10]]},"384":{"position":[[24,6],[88,6]]},"462":{"position":[[319,6]]},"464":{"position":[[203,7],[349,7]]},"466":{"position":[[102,7],[401,6]]},"467":{"position":[[179,7]]},"469":{"position":[[595,6]]},"540":{"position":[[340,6]]},"585":{"position":[[171,6]]},"586":{"position":[[186,6]]},"765":{"position":[[39,8],[110,6]]},"769":{"position":[[73,10]]}},"keywords":{}}],["access_log",{"_index":3380,"title":{},"content":{"350":{"position":[[444,10],[774,10],[1096,10]]}},"keywords":{}}],["accessor",{"_index":2163,"title":{"215":{"position":[[0,9]]},"279":{"position":[[0,9]]}},"content":{"215":{"position":[[192,9],[341,8],[404,8]]},"279":{"position":[[192,9],[341,8]]}},"keywords":{}}],["accident",{"_index":4076,"title":{},"content":{"459":{"position":[[1909,10]]}},"keywords":{}}],["accomplish",{"_index":2501,"title":{},"content":{"251":{"position":[[237,13]]},"479":{"position":[[63,10]]}},"keywords":{}}],["accord",{"_index":2556,"title":{},"content":{"253":{"position":[[6617,9]]},"314":{"position":[[16,9]]},"320":{"position":[[229,9]]},"355":{"position":[[1038,9]]},"459":{"position":[[312,10]]},"465":{"position":[[657,10]]},"568":{"position":[[213,9]]}},"keywords":{}}],["accordingli",{"_index":2950,"title":{},"content":{"305":{"position":[[1624,12]]}},"keywords":{}}],["account",{"_index":895,"title":{},"content":{"42":{"position":[[50,8]]},"43":{"position":[[404,7]]},"61":{"position":[[823,7],[1330,7],[1984,7]]},"462":{"position":[[390,8]]},"465":{"position":[[205,7],[333,7],[428,8]]},"466":{"position":[[883,7]]}},"keywords":{}}],["accountsrol",{"_index":3662,"title":{},"content":{"362":{"position":[[179,12]]}},"keywords":{}}],["accur",{"_index":794,"title":{},"content":{"36":{"position":[[6625,9],[7421,9]]},"202":{"position":[[6625,9],[7421,9]]},"267":{"position":[[5164,9],[6022,9]]},"364":{"position":[[599,8]]},"459":{"position":[[975,8]]},"463":{"position":[[96,8]]}},"keywords":{}}],["accuraci",{"_index":2855,"title":{},"content":{"299":{"position":[[949,8]]}},"keywords":{}}],["act",{"_index":401,"title":{},"content":{"20":{"position":[[154,3]]},"134":{"position":[[139,3],[193,4]]},"246":{"position":[[221,4]]},"467":{"position":[[1408,3]]}},"keywords":{}}],["action",{"_index":1551,"title":{},"content":{"81":{"position":[[99,7]]},"231":{"position":[[1069,6],[1090,7]]},"233":{"position":[[818,6]]},"297":{"position":[[373,6]]},"310":{"position":[[78,7]]},"360":{"position":[[1023,6]]},"465":{"position":[[586,7]]},"467":{"position":[[1169,6]]},"469":{"position":[[212,7],[654,8]]},"476":{"position":[[3637,7]]},"480":{"position":[[330,6]]},"504":{"position":[[302,6]]},"505":{"position":[[636,7]]},"511":{"position":[[222,6],[268,6]]},"514":{"position":[[65,7],[594,7]]},"528":{"position":[[738,6],[765,7],[852,7]]},"734":{"position":[[33,7]]}},"keywords":{}}],["actionc",{"_index":2249,"title":{},"content":{"227":{"position":[[467,11],[490,11],[861,11]]}},"keywords":{}}],["actioncable.createconsumer('/openc3",{"_index":2251,"title":{},"content":{"227":{"position":[[893,35]]}},"keywords":{}}],["activ",{"_index":2974,"title":{"527":{"position":[[0,9]]}},"content":{"310":{"position":[[725,10]]},"324":{"position":[[238,8]]},"462":{"position":[[376,8]]},"474":{"position":[[145,10]]},"480":{"position":[[1160,10]]},"482":{"position":[[1169,10]]},"486":{"position":[[10,8]]},"488":{"position":[[2185,10]]},"513":{"position":[[550,9],[580,6]]},"514":{"position":[[1239,6]]},"523":{"position":[[177,10],[194,10]]},"527":{"position":[[26,10],[72,10],[227,10],[409,10]]},"528":{"position":[[280,9],[374,8],[399,8],[559,11],[1179,8],[1233,8],[1284,8],[1368,8],[1469,9],[1504,8],[1641,8]]},"577":{"position":[[803,6],[865,6]]},"584":{"position":[[243,7],[359,7]]}},"keywords":{}}],["activemq",{"_index":1883,"title":{},"content":{"108":{"position":[[399,9]]}},"keywords":{}}],["actual",{"_index":543,"title":{},"content":{"24":{"position":[[593,8]]},"61":{"position":[[1039,6]]},"69":{"position":[[4914,6]]},"79":{"position":[[362,8]]},"99":{"position":[[5232,6]]},"143":{"position":[[376,6]]},"253":{"position":[[6164,6],[6635,6]]},"262":{"position":[[79,8]]},"359":{"position":[[256,6]]},"501":{"position":[[458,6]]},"504":{"position":[[603,6]]},"548":{"position":[[159,6]]},"617":{"position":[[811,6]]},"681":{"position":[[410,6],[477,6]]}},"keywords":{}}],["ad",{"_index":1476,"title":{"523":{"position":[[0,6]]},"556":{"position":[[0,6]]},"564":{"position":[[0,6]]}},"content":{"69":{"position":[[3800,6]]},"99":{"position":[[898,6],[1007,6]]},"184":{"position":[[193,5]]},"227":{"position":[[2160,5],[2233,5],[2334,6],[3349,6]]},"257":{"position":[[1826,5]]},"292":{"position":[[136,6]]},"308":{"position":[[184,6],[289,6],[378,6]]},"311":{"position":[[220,2],[300,2],[374,2],[485,2],[578,2],[664,2],[698,6],[750,2],[832,2]]},"332":{"position":[[657,6]]},"359":{"position":[[828,6]]},"368":{"position":[[257,5]]},"411":{"position":[[162,5]]},"488":{"position":[[91,5]]},"508":{"position":[[344,6]]},"523":{"position":[[1,6]]},"528":{"position":[[529,7]]},"556":{"position":[[327,5],[580,5]]},"557":{"position":[[13,5]]},"600":{"position":[[429,6]]},"611":{"position":[[12,5],[745,5]]}},"keywords":{}}],["ad0c",{"_index":1007,"title":{},"content":{"43":{"position":[[4573,4]]}},"keywords":{}}],["adapt",{"_index":3697,"title":{},"content":{"364":{"position":[[287,6]]}},"keywords":{}}],["adc",{"_index":3476,"title":{},"content":{"357":{"position":[[437,6],[606,4],[631,4]]},"405":{"position":[[574,4],[623,4]]},"418":{"position":[[598,4]]},"422":{"position":[[579,4],[621,4]]},"499":{"position":[[602,9],[939,9]]},"591":{"position":[[440,6]]},"675":{"position":[[391,9]]},"676":{"position":[[488,9],[991,9]]},"743":{"position":[[134,6]]},"772":{"position":[[288,8],[391,8]]},"773":{"position":[[460,7]]},"774":{"position":[[346,7]]},"775":{"position":[[354,7]]}},"keywords":{}}],["adcs2",{"_index":4549,"title":{},"content":{"591":{"position":[[423,7]]}},"keywords":{}}],["add",{"_index":273,"title":{},"content":{"7":{"position":[[1119,3]]},"15":{"position":[[79,3]]},"16":{"position":[[81,3]]},"21":{"position":[[1,3]]},"36":{"position":[[74,4],[292,3],[6102,4],[6722,4],[7797,4]]},"46":{"position":[[577,3]]},"54":{"position":[[2320,4]]},"59":{"position":[[442,3]]},"67":{"position":[[22,3]]},"84":{"position":[[1181,3]]},"85":{"position":[[1470,3]]},"95":{"position":[[426,3]]},"112":{"position":[[372,3]]},"122":{"position":[[294,4]]},"133":{"position":[[103,3]]},"171":{"position":[[68,4]]},"184":{"position":[[47,4]]},"198":{"position":[[477,3]]},"202":{"position":[[74,4],[292,3],[6102,4],[6722,4],[7797,4]]},"208":{"position":[[449,3]]},"225":{"position":[[155,3],[500,3]]},"227":{"position":[[1447,3]]},"229":{"position":[[714,3]]},"230":{"position":[[2514,3]]},"231":{"position":[[1177,3]]},"232":{"position":[[493,3],[862,3]]},"233":{"position":[[529,3],[941,3],[1082,3],[1102,3]]},"234":{"position":[[887,3]]},"235":{"position":[[1708,3]]},"239":{"position":[[323,3]]},"253":{"position":[[990,3],[6082,3],[6248,3],[7706,4]]},"259":{"position":[[508,3]]},"267":{"position":[[69,4],[287,3],[4581,4],[5259,4],[6393,4]]},"282":{"position":[[159,3]]},"284":{"position":[[1,4],[349,3]]},"292":{"position":[[1,3],[274,3]]},"297":{"position":[[674,3]]},"307":{"position":[[205,3],[562,3],[655,3]]},"308":{"position":[[220,3],[322,3],[411,3]]},"310":{"position":[[294,3],[388,3],[466,3]]},"311":{"position":[[729,3],[899,3]]},"319":{"position":[[133,3]]},"341":{"position":[[83,3]]},"343":{"position":[[661,3]]},"352":{"position":[[1219,3]]},"418":{"position":[[608,3],[736,3]]},"419":{"position":[[656,3],[789,3]]},"420":{"position":[[624,3],[761,3]]},"449":{"position":[[263,3]]},"476":{"position":[[1733,3]]},"490":{"position":[[313,3]]},"491":{"position":[[70,3]]},"508":{"position":[[428,3]]},"525":{"position":[[590,3]]},"528":{"position":[[391,3],[1263,4]]},"556":{"position":[[221,3],[480,3]]},"564":{"position":[[45,3],[122,3],[220,3]]},"599":{"position":[[3,3]]},"600":{"position":[[201,3],[210,4],[553,3]]},"753":{"position":[[48,3]]},"754":{"position":[[1,4],[59,4],[196,4],[281,4],[361,4],[422,3]]}},"keywords":{}}],["add_group",{"_index":4604,"title":{"754":{"position":[[0,10]]}},"content":{"611":{"position":[[91,9]]},"754":{"position":[[42,9]]}},"keywords":{}}],["add_group(<group",{"_index":5480,"title":{},"content":{"754":{"position":[[514,19]]}},"keywords":{}}],["add_group('examplegroup",{"_index":4607,"title":{},"content":{"611":{"position":[[179,25]]},"754":{"position":[[1414,25]]}},"keywords":{}}],["add_group_setup",{"_index":5474,"title":{"754":{"position":[[11,16]]}},"content":{"754":{"position":[[173,15]]}},"keywords":{}}],["add_group_setup(<group",{"_index":5482,"title":{},"content":{"754":{"position":[[545,25]]}},"keywords":{}}],["add_group_setup('wrappergroup",{"_index":5489,"title":{},"content":{"754":{"position":[[1440,31]]}},"keywords":{}}],["add_group_teardown",{"_index":5475,"title":{"754":{"position":[[28,19]]}},"content":{"754":{"position":[[255,18]]}},"keywords":{}}],["add_group_teardown(<group",{"_index":5483,"title":{},"content":{"754":{"position":[[582,28]]}},"keywords":{}}],["add_group_teardown('wrappergroup",{"_index":5491,"title":{},"content":{"754":{"position":[[1512,34]]}},"keywords":{}}],["add_script",{"_index":5476,"title":{"754":{"position":[[48,11]]}},"content":{"754":{"position":[[343,10],[407,10]]}},"keywords":{}}],["add_script(<group",{"_index":5484,"title":{},"content":{"754":{"position":[[622,20]]}},"keywords":{}}],["add_script('wrappergroup",{"_index":5490,"title":{},"content":{"754":{"position":[[1472,26]]}},"keywords":{}}],["addit",{"_index":185,"title":{},"content":{"5":{"position":[[1399,9]]},"9":{"position":[[577,11]]},"36":{"position":[[764,10],[5304,10],[6354,10],[7150,10]]},"54":{"position":[[3213,9]]},"69":{"position":[[2575,10]]},"112":{"position":[[436,10]]},"123":{"position":[[831,10]]},"134":{"position":[[651,10]]},"135":{"position":[[161,10]]},"143":{"position":[[621,10]]},"202":{"position":[[764,10],[5304,10],[6354,10],[7150,10]]},"213":{"position":[[153,10]]},"215":{"position":[[370,10]]},"224":{"position":[[477,10]]},"235":{"position":[[382,10]]},"239":{"position":[[486,10]]},"253":{"position":[[6105,10]]},"267":{"position":[[759,10],[3785,10],[4893,10],[5751,10]]},"275":{"position":[[162,10]]},"355":{"position":[[676,9]]},"363":{"position":[[738,10]]},"374":{"position":[[79,10]]},"404":{"position":[[534,10],[623,10]]},"411":{"position":[[137,10]]},"418":{"position":[[612,10]]},"421":{"position":[[200,10]]},"462":{"position":[[296,10]]},"472":{"position":[[106,10]]},"476":{"position":[[3735,10],[4790,10]]},"504":{"position":[[482,10]]},"514":{"position":[[508,10]]},"523":{"position":[[252,10]]},"575":{"position":[[312,9]]},"578":{"position":[[789,10]]},"603":{"position":[[272,10]]},"613":{"position":[[37,10]]},"616":{"position":[[223,10]]}},"keywords":{}}],["addition",{"_index":2420,"title":{},"content":{"237":{"position":[[369,13]]},"403":{"position":[[286,12]]},"427":{"position":[[177,12]]},"465":{"position":[[375,13]]},"492":{"position":[[591,13]]},"736":{"position":[[403,13]]}},"keywords":{}}],["address",{"_index":439,"title":{},"content":{"20":{"position":[[779,7]]},"22":{"position":[[349,8],[461,8]]},"51":{"position":[[143,7],[456,7],[519,7],[571,7]]},"121":{"position":[[254,9]]},"135":{"position":[[543,7]]},"253":{"position":[[7671,7],[7749,7]]},"321":{"position":[[1122,7]]},"322":{"position":[[332,7],[1974,7]]},"347":{"position":[[2065,9]]},"402":{"position":[[479,7],[509,7],[598,8]]},"461":{"position":[[943,7],[1002,7]]},"462":{"position":[[644,7]]},"467":{"position":[[297,8],[483,8]]},"468":{"position":[[239,7]]}},"keywords":{}}],["adequ",{"_index":4064,"title":{},"content":{"459":{"position":[[861,9]]}},"keywords":{}}],["adher",{"_index":3699,"title":{},"content":{"364":{"position":[[395,6]]},"469":{"position":[[465,7]]},"471":{"position":[[53,7]]}},"keywords":{}}],["adjust",{"_index":2507,"title":{},"content":{"253":{"position":[[259,6]]},"257":{"position":[[843,6]]},"289":{"position":[[1098,6]]},"329":{"position":[[1637,6]]},"564":{"position":[[341,6]]}},"keywords":{}}],["admin",{"_index":2106,"title":{"311":{"position":[[0,6]]}},"content":{"192":{"position":[[108,5]]},"253":{"position":[[456,5]]},"254":{"position":[[500,5],[2049,5]]},"311":{"position":[[5,5],[150,5],[229,5],[309,5],[383,5],[494,5],[587,5],[673,5],[759,5],[841,5]]},"322":{"position":[[67,5]]},"334":{"position":[[719,5]]},"518":{"position":[[231,6]]},"520":{"position":[[172,6]]},"540":{"position":[[168,5]]},"548":{"position":[[185,7]]},"765":{"position":[[60,5]]},"769":{"position":[[32,5],[139,5]]}},"keywords":{}}],["administr",{"_index":2976,"title":{},"content":{"311":{"position":[[25,14]]}},"keywords":{}}],["advanc",{"_index":2067,"title":{"506":{"position":[[0,8]]},"507":{"position":[[0,8]]}},"content":{"176":{"position":[[468,8]]}},"keywords":{}}],["advantag",{"_index":4325,"title":{},"content":{"490":{"position":[[856,12]]}},"keywords":{}}],["advic",{"_index":3245,"title":{},"content":{"329":{"position":[[1508,6]]}},"keywords":{}}],["aerospac",{"_index":3630,"title":{},"content":{"359":{"position":[[2159,9]]},"363":{"position":[[17,9],[196,9],[314,10]]}},"keywords":{}}],["affect",{"_index":704,"title":{},"content":{"36":{"position":[[2162,6]]},"198":{"position":[[1250,6]]},"202":{"position":[[2162,6]]},"208":{"position":[[219,6]]},"273":{"position":[[219,6]]},"369":{"position":[[165,6]]},"496":{"position":[[1059,7]]},"540":{"position":[[527,8]]},"578":{"position":[[1113,8]]},"599":{"position":[[152,9],[431,6]]},"700":{"position":[[1763,7],[1907,7]]}},"keywords":{}}],["afterward",{"_index":1484,"title":{},"content":{"69":{"position":[[4801,11]]}},"keywords":{}}],["ag",{"_index":3354,"title":{},"content":{"347":{"position":[[2354,2]]}},"keywords":{}}],["again",{"_index":583,"title":{},"content":{"27":{"position":[[488,5]]},"36":{"position":[[4636,6],[8628,6]]},"202":{"position":[[4636,6],[8628,6]]},"283":{"position":[[690,5]]},"289":{"position":[[1240,6]]},"292":{"position":[[746,6]]},"304":{"position":[[6706,5]]},"344":{"position":[[86,5]]},"514":{"position":[[1156,6],[1527,6]]},"578":{"position":[[1319,5]]},"611":{"position":[[541,5]]}},"keywords":{}}],["against",{"_index":2060,"title":{},"content":{"170":{"position":[[190,7]]},"183":{"position":[[196,7]]},"193":{"position":[[188,7]]},"196":{"position":[[190,7]]},"263":{"position":[[1683,7]]},"324":{"position":[[561,7]]},"449":{"position":[[516,7]]},"459":{"position":[[1853,7],[1901,7]]},"480":{"position":[[470,8]]},"501":{"position":[[217,7],[263,7]]},"504":{"position":[[554,7],[664,7]]},"656":{"position":[[671,7]]},"657":{"position":[[35,7]]},"681":{"position":[[1037,7]]},"685":{"position":[[652,7]]}},"keywords":{}}],["age=0",{"_index":922,"title":{},"content":{"42":{"position":[[583,6]]},"43":{"position":[[935,6],[1057,6],[6343,6]]}},"keywords":{}}],["age=31536000",{"_index":977,"title":{},"content":{"43":{"position":[[1131,13]]}},"keywords":{}}],["agent",{"_index":1052,"title":{},"content":{"44":{"position":[[1108,6]]},"87":{"position":[[87,5]]}},"keywords":{}}],["aggreg",{"_index":3406,"title":{},"content":{"352":{"position":[[204,9]]}},"keywords":{}}],["agil",{"_index":2841,"title":{},"content":{"298":{"position":[[991,7]]}},"keywords":{}}],["ago",{"_index":1583,"title":{},"content":{"83":{"position":[[1015,3],[1096,3],[1169,3],[1232,3],[1291,3],[1351,3],[1413,3],[1473,3],[1532,3],[1591,3]]}},"keywords":{}}],["agpl",{"_index":3607,"title":{},"content":{"359":{"position":[[319,4]]}},"keywords":{}}],["agplv3",{"_index":2326,"title":{"359":{"position":[[0,7]]}},"content":{"229":{"position":[[571,7]]},"359":{"position":[[87,6],[233,6],[773,7],[1188,6],[1361,6],[1476,6],[1580,6],[1634,6],[1847,6]]},"361":{"position":[[148,7]]},"362":{"position":[[442,6]]}},"keywords":{}}],["agreement",{"_index":3631,"title":{},"content":{"359":{"position":[[2190,10]]},"363":{"position":[[162,9]]}},"keywords":{}}],["ahead",{"_index":2575,"title":{},"content":{"254":{"position":[[798,5]]},"476":{"position":[[569,5]]}},"keywords":{}}],["aid",{"_index":2920,"title":{},"content":{"304":{"position":[[4590,3]]}},"keywords":{}}],["aim",{"_index":4161,"title":{},"content":{"474":{"position":[[12,4]]}},"keywords":{}}],["air",{"_index":2435,"title":{},"content":{"240":{"position":[[687,3]]}},"keywords":{}}],["aka",{"_index":1865,"title":{},"content":{"107":{"position":[[60,4]]}},"keywords":{}}],["alert",{"_index":2884,"title":{},"content":{"304":{"position":[[371,8]]},"351":{"position":[[85,8],[280,7]]},"352":{"position":[[272,7]]},"353":{"position":[[130,6]]},"432":{"position":[[244,6]]},"436":{"position":[[244,6]]},"461":{"position":[[202,5]]}},"keywords":{}}],["alert("date:"+d",{"_index":3944,"title":{},"content":{"432":{"position":[[320,31]]}},"keywords":{}}],["alert("time:"+tim",{"_index":3958,"title":{},"content":{"436":{"position":[[320,31]]}},"keywords":{}}],["algorithm",{"_index":1306,"title":{},"content":{"57":{"position":[[61,9],[400,9]]}},"keywords":{}}],["algorithm).day",{"_index":456,"title":{},"content":{"20":{"position":[[1037,15]]}},"keywords":{}}],["align",{"_index":3109,"title":{},"content":{"321":{"position":[[3452,9]]},"329":{"position":[[422,7],[830,8]]},"404":{"position":[[471,6]]}},"keywords":{}}],["aliv",{"_index":1049,"title":{},"content":{"44":{"position":[[927,6],[2428,6]]}},"keywords":{}}],["all"",{"_index":2548,"title":{},"content":{"253":{"position":[[5719,9]]},"269":{"position":[[126,9]]}},"keywords":{}}],["alloc",{"_index":2053,"title":{},"content":{"169":{"position":[[31,8]]},"289":{"position":[[345,9],[414,9]]},"357":{"position":[[848,9]]}},"keywords":{}}],["allow",{"_index":194,"title":{},"content":{"6":{"position":[[73,6]]},"31":{"position":[[382,6]]},"35":{"position":[[876,7],[936,7]]},"36":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9868,6],[10043,9],[10127,5]]},"37":{"position":[[669,7],[729,7]]},"44":{"position":[[112,6]]},"51":{"position":[[650,7]]},"56":{"position":[[368,5]]},"59":{"position":[[315,5]]},"61":{"position":[[2306,7]]},"64":{"position":[[105,5],[622,7]]},"69":{"position":[[4968,6]]},"93":{"position":[[312,6],[393,6]]},"99":{"position":[[4115,6]]},"120":{"position":[[135,5]]},"121":{"position":[[308,5],[653,6]]},"143":{"position":[[306,6]]},"184":{"position":[[163,6]]},"201":{"position":[[905,7],[965,7]]},"202":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9868,6],[10043,9],[10127,5]]},"203":{"position":[[688,7],[748,7]]},"204":{"position":[[1075,7],[1135,7]]},"205":{"position":[[911,7],[971,7]]},"227":{"position":[[639,5]]},"230":{"position":[[618,5]]},"231":{"position":[[722,5]]},"239":{"position":[[236,6]]},"246":{"position":[[88,5]]},"250":{"position":[[344,6]]},"251":{"position":[[202,6]]},"253":{"position":[[6480,5],[7216,6],[7427,6]]},"257":{"position":[[372,6]]},"263":{"position":[[1611,6]]},"267":{"position":[[1092,7],[1235,6],[1980,5],[2079,6],[2170,6],[8235,5],[9605,6],[9992,6]]},"277":{"position":[[69,6]]},"287":{"position":[[154,5]]},"300":{"position":[[65,5],[202,5],[332,5],[454,5],[524,5],[628,5],[734,5],[836,5]]},"301":{"position":[[298,5],[1257,5],[1412,5]]},"303":{"position":[[425,5],[594,5],[1040,5],[2244,5]]},"304":{"position":[[2330,5],[2461,5],[4322,5],[5956,8],[6029,5]]},"305":{"position":[[209,5],[1190,5]]},"306":{"position":[[99,5]]},"310":{"position":[[154,5],[246,5],[342,5],[435,5],[710,5],[813,5]]},"311":{"position":[[167,5]]},"324":{"position":[[1157,6],[3589,5],[3702,5],[3747,6]]},"325":{"position":[[696,5]]},"334":{"position":[[105,5]]},"345":{"position":[[613,6]]},"356":{"position":[[351,8]]},"357":{"position":[[109,5],[657,7]]},"359":{"position":[[324,6],[709,7],[1430,6]]},"361":{"position":[[51,6],[216,5]]},"373":{"position":[[253,6]]},"374":{"position":[[69,5]]},"383":{"position":[[253,6]]},"384":{"position":[[18,5]]},"461":{"position":[[101,5]]},"482":{"position":[[1224,6]]},"483":{"position":[[36,5]]},"487":{"position":[[40,5]]},"488":{"position":[[731,6],[2121,6]]},"492":{"position":[[52,6],[323,6],[684,6]]},"495":{"position":[[118,5]]},"496":{"position":[[131,6]]},"501":{"position":[[57,5]]},"505":{"position":[[437,5]]},"508":{"position":[[72,6],[338,5]]},"510":{"position":[[11,6]]},"511":{"position":[[255,5]]},"512":{"position":[[117,6]]},"514":{"position":[[274,6],[368,6],[1141,7],[1512,7]]},"516":{"position":[[83,6]]},"517":{"position":[[739,6]]},"522":{"position":[[106,5]]},"525":{"position":[[10,6],[239,6]]},"558":{"position":[[204,6]]},"559":{"position":[[170,5]]},"561":{"position":[[13,6]]},"577":{"position":[[835,6]]},"593":{"position":[[166,6],[373,5],[611,6]]},"596":{"position":[[50,6]]},"599":{"position":[[1194,6]]},"600":{"position":[[539,6]]},"601":{"position":[[164,6],[376,5],[613,6],[796,6],[912,6]]},"606":{"position":[[381,6]]},"607":{"position":[[441,5],[480,6]]},"608":{"position":[[757,6]]},"612":{"position":[[248,6],[908,7],[1078,6]]},"613":{"position":[[251,6]]},"617":{"position":[[226,6]]},"622":{"position":[[15,5]]},"623":{"position":[[421,5]]},"624":{"position":[[387,5]]},"632":{"position":[[1091,7]]},"655":{"position":[[15,5]]},"669":{"position":[[306,6]]},"675":{"position":[[1,6]]},"676":{"position":[[693,5],[1191,5]]},"680":{"position":[[15,5]]},"708":{"position":[[15,5]]},"716":{"position":[[30,8]]},"719":{"position":[[15,5]]},"729":{"position":[[15,5]]},"735":{"position":[[15,5]]},"738":{"position":[[15,5]]},"745":{"position":[[19,6]]},"746":{"position":[[18,6]]},"747":{"position":[[15,5]]},"752":{"position":[[317,8]]},"755":{"position":[[15,5]]},"759":{"position":[[10,6]]},"765":{"position":[[91,5]]},"770":{"position":[[81,5]]}},"keywords":{}}],["allow_empty_data",{"_index":1489,"title":{},"content":{"71":{"position":[[179,16],[313,17],[836,16]]},"75":{"position":[[800,17],[841,18],[868,17],[1493,16]]}},"keywords":{}}],["allow_empty_data.nil",{"_index":1514,"title":{},"content":{"75":{"position":[[680,22]]}},"keywords":{}}],["allow_empty_data=non",{"_index":1494,"title":{},"content":{"71":{"position":[[450,23]]}},"keywords":{}}],["allow_short",{"_index":2697,"title":{"277":{"position":[[0,12]]}},"content":{},"keywords":{}}],["along",{"_index":2454,"title":{},"content":{"242":{"position":[[33,5]]},"257":{"position":[[894,6]]},"476":{"position":[[1155,5]]},"540":{"position":[[70,5]]},"606":{"position":[[441,5]]},"650":{"position":[[44,5]]},"661":{"position":[[44,5]]},"767":{"position":[[40,5]]}},"keywords":{}}],["alphabet",{"_index":2116,"title":{},"content":{"198":{"position":[[291,15]]},"230":{"position":[[975,12]]},"259":{"position":[[319,15]]},"572":{"position":[[53,12]]}},"keywords":{}}],["alpin",{"_index":2423,"title":{},"content":{"239":{"position":[[157,6],[289,7]]},"289":{"position":[[1617,6]]}},"keywords":{}}],["alpine_build=9",{"_index":1616,"title":{},"content":{"83":{"position":[[1878,14]]}},"keywords":{}}],["alpine_version=3.18",{"_index":1615,"title":{},"content":{"83":{"position":[[1858,19]]}},"keywords":{}}],["alreadi",{"_index":540,"title":{},"content":{"24":{"position":[[460,7]]},"36":{"position":[[4789,7],[8781,7]]},"83":{"position":[[355,7]]},"122":{"position":[[222,7]]},"198":{"position":[[540,7]]},"202":{"position":[[4789,7],[8781,7]]},"230":{"position":[[1073,7]]},"253":{"position":[[714,7]]},"259":{"position":[[571,7]]},"267":{"position":[[2291,7]]},"325":{"position":[[380,7]]},"347":{"position":[[1373,7]]},"476":{"position":[[961,7]]},"591":{"position":[[454,7]]},"746":{"position":[[801,7]]}},"keywords":{}}],["alter",{"_index":4105,"title":{},"content":{"464":{"position":[[223,11]]}},"keywords":{}}],["altern",{"_index":3139,"title":{},"content":{"324":{"position":[[187,11]]},"379":{"position":[[170,13]]},"380":{"position":[[164,13]]},"381":{"position":[[175,13]]},"462":{"position":[[579,14]]},"497":{"position":[[223,14]]}},"keywords":{}}],["although",{"_index":154,"title":{},"content":{"5":{"position":[[388,8]]},"64":{"position":[[221,8]]}},"keywords":{}}],["alway",{"_index":155,"title":{},"content":{"5":{"position":[[417,6]]},"24":{"position":[[762,6]]},"35":{"position":[[288,6]]},"36":{"position":[[2031,6],[4295,6]]},"56":{"position":[[609,6]]},"69":{"position":[[244,6]]},"71":{"position":[[61,6]]},"76":{"position":[[954,6]]},"77":{"position":[[817,6]]},"78":{"position":[[823,6]]},"79":{"position":[[208,6],[1159,6]]},"144":{"position":[[131,6]]},"201":{"position":[[317,6]]},"202":{"position":[[2031,6],[4295,6]]},"206":{"position":[[334,6]]},"229":{"position":[[952,6]]},"230":{"position":[[509,6]]},"231":{"position":[[601,6]]},"235":{"position":[[1057,6]]},"266":{"position":[[316,6]]},"267":{"position":[[3244,6]]},"271":{"position":[[333,6]]},"329":{"position":[[256,6],[301,6]]},"470":{"position":[[91,6]]},"479":{"position":[[102,6]]},"492":{"position":[[575,6]]},"495":{"position":[[1028,6]]},"528":{"position":[[952,6]]},"618":{"position":[[880,6]]},"621":{"position":[[3946,6]]},"624":{"position":[[59,6]]}},"keywords":{}}],["amazon/opendistro",{"_index":3401,"title":{},"content":{"351":{"position":[[486,17]]}},"keywords":{}}],["amend",{"_index":4126,"title":{},"content":{"466":{"position":[[454,7]]}},"keywords":{}}],["amount",{"_index":1343,"title":{},"content":{"60":{"position":[[43,6]]},"133":{"position":[[367,6],[500,6]]},"167":{"position":[[9,6]]},"680":{"position":[[92,6]]},"681":{"position":[[38,6]]},"682":{"position":[[38,6]]},"685":{"position":[[221,6]]},"686":{"position":[[38,6],[203,6]]},"687":{"position":[[317,6]]},"688":{"position":[[153,6]]},"748":{"position":[[138,6]]},"760":{"position":[[118,6]]}},"keywords":{}}],["amp",{"_index":288,"title":{},"content":{"8":{"position":[[131,6],[192,5]]},"328":{"position":[[486,5]]},"332":{"position":[[385,5]]},"355":{"position":[[481,5],[529,5],[888,5]]},"363":{"position":[[27,5],[206,5]]}},"keywords":{}}],["amp;&",{"_index":3013,"title":{},"content":{"318":{"position":[[248,10],[280,10],[338,10],[426,10],[460,10],[511,10]]},"328":{"position":[[1035,10]]},"350":{"position":[[1394,10]]}},"keywords":{}}],["ampersand",{"_index":287,"title":{},"content":{"8":{"position":[[110,9],[250,9]]}},"keywords":{}}],["analysi",{"_index":2960,"title":{},"content":{"308":{"position":[[78,8]]},"476":{"position":[[3889,8]]},"499":{"position":[[231,8]]}},"keywords":{}}],["analyt",{"_index":3430,"title":{},"content":{"353":{"position":[[41,9]]}},"keywords":{}}],["analyz",{"_index":1510,"title":{},"content":{"75":{"position":[[33,7],[161,9]]},"76":{"position":[[35,7],[186,9]]},"77":{"position":[[36,7],[185,9]]},"78":{"position":[[34,7],[175,8]]}},"keywords":{}}],["and/or",{"_index":1503,"title":{},"content":{"72":{"position":[[91,6]]},"114":{"position":[[45,6]]},"227":{"position":[[229,6]]},"297":{"position":[[279,6],[525,6]]}},"keywords":{}}],["angl",{"_index":2229,"title":{},"content":{"226":{"position":[[743,5]]},"285":{"position":[[988,5]]},"481":{"position":[[490,5]]}},"keywords":{}}],["angledeg",{"_index":2733,"title":{},"content":{"285":{"position":[[951,8]]}},"keywords":{}}],["angular",{"_index":2398,"title":{},"content":{"235":{"position":[[243,8]]},"246":{"position":[[360,8]]}},"keywords":{}}],["anomali",{"_index":4406,"title":{"505":{"position":[[20,10]]}},"content":{},"keywords":{}}],["anoth",{"_index":242,"title":{},"content":{"7":{"position":[[96,7]]},"26":{"position":[[243,7]]},"32":{"position":[[9,7]]},"36":{"position":[[1177,7],[1266,7],[1632,7]]},"95":{"position":[[50,7]]},"202":{"position":[[1177,7],[1266,7],[1632,7]]},"230":{"position":[[1051,7]]},"267":{"position":[[1172,7],[1261,7],[1627,7]]},"297":{"position":[[1236,7]]},"304":{"position":[[1082,7]]},"324":{"position":[[883,7]]},"331":{"position":[[590,7]]},"338":{"position":[[1095,7]]},"356":{"position":[[1,7]]},"357":{"position":[[978,7]]},"441":{"position":[[712,7]]},"442":{"position":[[1625,7]]},"480":{"position":[[846,7]]},"488":{"position":[[1266,7],[1435,7]]},"508":{"position":[[227,7]]},"610":{"position":[[324,7]]},"736":{"position":[[21,7]]}},"keywords":{}}],["another."",{"_index":2430,"title":{},"content":{"240":{"position":[[188,14]]}},"keywords":{}}],["answer",{"_index":4334,"title":{},"content":{"495":{"position":[[442,6],[509,6],[527,6],[728,6],[795,6],[813,6]]},"658":{"position":[[562,6],[809,6]]}},"keywords":{}}],["answer}"",{"_index":4338,"title":{},"content":{"495":{"position":[[567,15],[868,15]]}},"keywords":{}}],["antenna",{"_index":3885,"title":{},"content":{"424":{"position":[[664,7]]}},"keywords":{}}],["anymor",{"_index":3129,"title":{},"content":{"322":{"position":[[1584,8]]}},"keywords":{}}],["anyon",{"_index":3610,"title":{},"content":{"359":{"position":[[452,6],[566,6]]}},"keywords":{}}],["anyth",{"_index":10,"title":{},"content":{"1":{"position":[[111,8]]},"72":{"position":[[414,9]]},"114":{"position":[[261,8]]},"359":{"position":[[819,8],[1001,8],[1104,8]]},"364":{"position":[[119,8],[170,8],[1048,8]]},"511":{"position":[[296,8]]}},"keywords":{}}],["anything.al",{"_index":2846,"title":{},"content":{"298":{"position":[[1274,12]]}},"keywords":{}}],["anywher",{"_index":2623,"title":{},"content":{"262":{"position":[[603,8]]},"481":{"position":[[283,8]]},"736":{"position":[[369,8]]}},"keywords":{}}],["api",{"_index":1027,"title":{"86":{"position":[[5,3]]},"227":{"position":[[10,3]]},"300":{"position":[[0,3]]},"614":{"position":[[10,3]]},"619":{"position":[[14,4]]}},"content":{"44":{"position":[[108,3]]},"69":{"position":[[1005,4],[1275,4]]},"83":{"position":[[1063,3],[1138,3],[2090,3],[2153,3],[2175,3],[2497,3],[2631,3]]},"85":{"position":[[48,3],[69,3],[222,3],[648,3],[669,3],[701,3],[727,3],[796,3],[822,3],[869,3],[1069,3],[1128,3],[1195,3],[1272,3],[1315,3],[1403,3],[1527,3]]},"88":{"position":[[12,3]]},"89":{"position":[[79,3],[150,3]]},"90":{"position":[[45,3],[69,3],[260,4],[302,3],[349,3]]},"91":{"position":[[17,3]]},"95":{"position":[[41,3]]},"117":{"position":[[73,4]]},"227":{"position":[[10,3],[155,3],[416,3],[833,3],[1160,3],[4863,3]]},"240":{"position":[[995,3],[1043,3],[1092,3],[1136,3]]},"251":{"position":[[12,3]]},"300":{"position":[[55,3],[175,3],[192,3],[305,3],[322,3],[427,3],[444,3],[497,3],[514,3],[601,3],[618,3],[707,3],[724,3],[809,3],[826,3],[891,3]]},"304":{"position":[[1943,3]]},"310":{"position":[[49,3]]},"351":{"position":[[243,4]]},"352":{"position":[[297,3],[783,3],[931,3]]},"356":{"position":[[414,3],[437,3]]},"357":{"position":[[1249,3],[1488,3],[2738,3],[2978,3]]},"364":{"position":[[372,3]]},"616":{"position":[[144,4]]},"619":{"position":[[155,3]]},"620":{"position":[[15,3],[84,3]]},"621":{"position":[[15,3]]},"628":{"position":[[552,3]]},"753":{"position":[[40,4]]},"754":{"position":[[795,3],[854,3],[953,3],[1013,3]]},"765":{"position":[[86,4]]},"766":{"position":[[98,5]]},"769":{"position":[[61,3]]},"770":{"position":[[76,4]]},"771":{"position":[[90,5]]}},"keywords":{}}],["api>",{"_index":1684,"title":{},"content":{"85":{"position":[[929,7]]}},"keywords":{}}],["api"",{"_index":1089,"title":{},"content":{"44":{"position":[[2241,9]]}},"keywords":{}}],["api.cmd",{"_index":3907,"title":{},"content":{"429":{"position":[[755,8],[831,10]]}},"keywords":{}}],["api.cmd("inst",{"_index":3918,"title":{},"content":{"429":{"position":[[1765,19]]},"430":{"position":[[403,18]]},"431":{"position":[[403,19]]},"435":{"position":[[385,19]]}},"keywords":{}}],["api.cmd('inst",{"_index":3911,"title":{},"content":{"429":{"position":[[1046,13]]},"434":{"position":[[545,13]]},"446":{"position":[[1017,13],[1128,13]]}},"keywords":{}}],["api.cmd_no_hazardous_check("inst",{"_index":3935,"title":{},"content":{"430":{"position":[[349,38]]}},"keywords":{}}],["api.cmd_no_hazardous_check('inst",{"_index":4003,"title":{},"content":{"446":{"position":[[1085,32]]}},"keywords":{}}],["api.tlm",{"_index":3913,"title":{},"content":{"429":{"position":[[1114,9]]}},"keywords":{}}],["api.tlm('inst",{"_index":3909,"title":{},"content":{"429":{"position":[[994,13]]}},"keywords":{}}],["api/api",{"_index":917,"title":{},"content":{"42":{"position":[[527,7]]},"43":{"position":[[6280,7]]},"89":{"position":[[203,7]]},"95":{"position":[[961,7]]}},"keywords":{}}],["api/c",{"_index":2252,"title":{},"content":{"227":{"position":[[929,11]]}},"keywords":{}}],["api/internal/metrics"",{"_index":3421,"title":{},"content":{"352":{"position":[[664,26]]}},"keywords":{}}],["api/metrics"",{"_index":3423,"title":{},"content":{"352":{"position":[[815,17],[963,17]]}},"keywords":{}}],["api/scripts/target/procedures/cmd_tlm_test.rb/lock?scope=default",{"_index":1045,"title":{},"content":{"44":{"position":[[728,65]]}},"keywords":{}}],["api/storage/download/$bucket_file_uri?bucket=openc3_logs_bucket&scope=default"",{"_index":1138,"title":{},"content":{"44":{"position":[[3819,87]]}},"keywords":{}}],["api:2901"",{"_index":3422,"title":{},"content":{"352":{"position":[[740,15],[882,15]]}},"keywords":{}}],["api:2902"",{"_index":3425,"title":{},"content":{"352":{"position":[[1036,15]]}},"keywords":{}}],["api:latest",{"_index":1627,"title":{},"content":{"83":{"position":[[2403,10],[2531,10]]}},"keywords":{}}],["api_whitelist",{"_index":1713,"title":{},"content":{"90":{"position":[[100,14]]}},"keywords":{}}],["apid",{"_index":249,"title":{},"content":{"7":{"position":[[259,6],[719,4],[1044,4]]}},"keywords":{}}],["apivers",{"_index":3432,"title":{},"content":{"353":{"position":[[217,11]]}},"keywords":{}}],["apk",{"_index":1609,"title":{},"content":{"83":{"position":[[1706,3]]}},"keywords":{}}],["apk_url",{"_index":1613,"title":{},"content":{"83":{"position":[[1806,8]]}},"keywords":{}}],["apk_url=http://dl",{"_index":1619,"title":{},"content":{"83":{"position":[[1962,17]]}},"keywords":{}}],["app",{"_index":1658,"title":{},"content":{"84":{"position":[[357,3]]},"108":{"position":[[155,3]]},"247":{"position":[[108,3]]},"347":{"position":[[490,3]]},"359":{"position":[[484,4]]}},"keywords":{}}],["appclick",{"_index":3315,"title":{},"content":{"347":{"position":[[660,8]]}},"keywords":{}}],["appear",{"_index":355,"title":{},"content":{"13":{"position":[[461,7]]},"14":{"position":[[352,7]]},"33":{"position":[[109,6]]},"57":{"position":[[493,6]]},"123":{"position":[[438,6]]},"194":{"position":[[432,6]]},"210":{"position":[[110,6]]},"254":{"position":[[768,6]]},"278":{"position":[[77,6],[176,9]]},"303":{"position":[[1980,7]]},"332":{"position":[[783,9]]},"345":{"position":[[299,7]]},"395":{"position":[[46,10]]},"525":{"position":[[489,7]]},"527":{"position":[[257,6]]},"605":{"position":[[641,8]]},"613":{"position":[[53,7]]},"617":{"position":[[1315,6]]}},"keywords":{}}],["append",{"_index":1756,"title":{},"content":{"94":{"position":[[420,8]]},"123":{"position":[[599,8]]},"192":{"position":[[153,8]]},"253":{"position":[[3340,6],[5534,6]]},"315":{"position":[[119,6]]},"329":{"position":[[121,6]]},"618":{"position":[[1213,8]]}},"keywords":{}}],["append_array_item",{"_index":2686,"title":{"272":{"position":[[0,18]]}},"content":{"272":{"position":[[734,17]]}},"keywords":{}}],["append_array_paramet",{"_index":2150,"title":{"207":{"position":[[0,23]]}},"content":{"207":{"position":[[732,22]]}},"keywords":{}}],["append_id_item",{"_index":266,"title":{"270":{"position":[[0,15]]}},"content":{"7":{"position":[[679,14],[884,14]]},"232":{"position":[[1013,14]]},"233":{"position":[[1230,14]]},"253":{"position":[[4844,14]]},"260":{"position":[[147,15]]},"270":{"position":[[826,14]]},"321":{"position":[[2835,14]]}},"keywords":{}}],["append_id_paramet",{"_index":2144,"title":{"205":{"position":[[0,20]]}},"content":{"205":{"position":[[1929,19]]},"253":{"position":[[2855,19],[3518,19]]},"254":{"position":[[1453,19]]},"321":{"position":[[407,19],[1251,19],[1783,19],[2283,19]]}},"keywords":{}}],["append_item",{"_index":211,"title":{"268":{"position":[[0,12]]}},"content":{"6":{"position":[[361,11],[660,11],[818,11],[873,11],[928,11],[983,11],[1038,11]]},"7":{"position":[[275,11],[960,11]]},"232":{"position":[[1063,11],[1145,11],[1216,11]]},"233":{"position":[[1280,11],[1423,11],[1494,11]]},"253":{"position":[[4894,11],[4939,11],[5010,11]]},"262":{"position":[[570,12]]},"267":{"position":[[2574,11],[2705,11],[7501,11],[7668,11]]},"268":{"position":[[855,11]]},"321":{"position":[[2930,11],[3020,11],[3110,11],[3169,11],[3264,11],[3325,11],[3387,11],[3462,11]]}},"keywords":{}}],["append_paramet",{"_index":723,"title":{"37":{"position":[[0,17]]},"203":{"position":[[0,17]]}},"content":{"36":{"position":[[3503,16],[3595,16],[9197,16],[9386,16]]},"40":{"position":[[169,16],[279,16],[396,16],[505,16],[620,16],[768,16],[858,16],[919,16],[1063,16],[1198,16],[1336,16],[1419,16]]},"202":{"position":[[3503,16],[3595,16],[9197,16],[9386,16]]},"203":{"position":[[1732,16],[1820,16],[1863,16]]},"226":{"position":[[2408,16]]},"253":{"position":[[2914,16],[2975,16],[3061,16],[3766,16],[3930,16],[4367,16]]},"254":{"position":[[1512,16],[1575,16],[1661,16]]},"321":{"position":[[521,16],[626,16],[713,16],[763,16],[866,16],[1377,16],[1486,16],[1593,16],[1643,16],[1909,16],[2018,16],[2098,16],[2148,16],[2409,16],[2518,16],[2598,16],[2648,16]]}},"keywords":{}}],["applewebkit/537.36",{"_index":1059,"title":{},"content":{"44":{"position":[[1157,18]]}},"keywords":{}}],["appli",{"_index":698,"title":{"469":{"position":[[37,5]]}},"content":{"36":{"position":[[1864,5],[3972,7],[4354,7],[6197,7],[6828,7],[7052,7],[7496,5],[7583,5],[7683,5],[7892,7],[10315,7]]},"54":{"position":[[2958,5],[3011,7]]},"59":{"position":[[647,7]]},"60":{"position":[[1045,7]]},"61":{"position":[[1002,5],[1826,7],[3377,5]]},"62":{"position":[[951,7]]},"63":{"position":[[2135,7]]},"133":{"position":[[770,7]]},"134":{"position":[[244,7],[415,5]]},"139":{"position":[[82,7]]},"167":{"position":[[38,5]]},"169":{"position":[[146,5]]},"175":{"position":[[83,7]]},"202":{"position":[[1864,5],[3972,7],[4354,7],[6197,7],[6828,7],[7052,7],[7496,5],[7583,5],[7683,5],[7892,7],[10315,7]]},"267":{"position":[[1859,5],[2259,7],[2428,5],[2934,7],[3303,7],[4673,7],[5362,7],[5653,7],[6096,5],[6182,5],[6281,5],[6485,7]]},"347":{"position":[[1562,5],[1760,5]]},"359":{"position":[[276,8]]},"363":{"position":[[813,8]]},"372":{"position":[[1,7],[167,7]]},"373":{"position":[[1,7],[605,7]]},"374":{"position":[[1,7],[115,7],[315,7],[410,7]]},"382":{"position":[[1,5]]},"383":{"position":[[1,7],[587,5]]},"384":{"position":[[413,7]]},"401":{"position":[[313,7]]},"402":{"position":[[313,7]]},"403":{"position":[[564,5]]},"404":{"position":[[928,5],[956,7]]},"411":{"position":[[865,5],[888,7]]},"418":{"position":[[453,7],[664,5],[693,7],[1180,7]]},"419":{"position":[[487,7],[717,5],[746,7],[1233,7]]},"420":{"position":[[471,7],[684,5],[718,7],[1205,7]]},"424":{"position":[[333,5],[385,5]]},"441":{"position":[[631,5],[662,7]]},"442":{"position":[[1187,5],[1223,7]]},"444":{"position":[[1095,5],[1130,7]]},"466":{"position":[[269,5],[301,5]]},"469":{"position":[[20,7]]},"475":{"position":[[135,7]]},"577":{"position":[[887,5]]},"718":{"position":[[703,5],[737,7]]},"728":{"position":[[707,5],[741,7]]},"729":{"position":[[217,7]]}},"keywords":{}}],["applic",{"_index":4,"title":{"84":{"position":[[19,12]]}},"content":{"1":{"position":[[22,12]]},"7":{"position":[[742,11],[931,11]]},"57":{"position":[[223,12]]},"84":{"position":[[84,12],[174,11],[614,11],[838,11],[1117,11]]},"117":{"position":[[28,12]]},"133":{"position":[[312,12]]},"184":{"position":[[94,12]]},"226":{"position":[[447,11],[1325,11],[2095,11]]},"235":{"position":[[446,12],[816,12],[1502,11],[1543,12]]},"240":{"position":[[116,11]]},"241":{"position":[[85,13]]},"243":{"position":[[150,13],[201,11]]},"246":{"position":[[122,12],[262,11],[314,12]]},"251":{"position":[[88,11]]},"256":{"position":[[129,12],[277,11],[422,11]]},"285":{"position":[[434,11]]},"291":{"position":[[819,13]]},"297":{"position":[[765,12],[980,12],[1262,12]]},"353":{"position":[[85,12]]},"359":{"position":[[860,12]]},"536":{"position":[[34,11],[219,11]]},"538":{"position":[[283,12]]},"544":{"position":[[84,12]]},"575":{"position":[[20,11]]},"596":{"position":[[33,11]]},"617":{"position":[[30,11]]},"745":{"position":[[137,12]]}},"keywords":{}}],["application'",{"_index":2452,"title":{},"content":{"241":{"position":[[151,13]]}},"keywords":{}}],["application/json",{"_index":899,"title":{},"content":{"42":{"position":[[194,16],[648,16]]},"43":{"position":[[763,16],[4737,16],[6389,16]]},"44":{"position":[[820,17],[2323,17],[2453,17]]}},"keywords":{}}],["application/x",{"_index":953,"title":{},"content":{"43":{"position":[[443,13]]}},"keywords":{}}],["apply"",{"_index":2136,"title":{},"content":{"201":{"position":[[2196,11]]},"203":{"position":[[1933,11]]},"232":{"position":[[1262,11]]},"233":{"position":[[1540,11]]},"253":{"position":[[3131,11],[5056,11]]},"254":{"position":[[1731,11]]}},"keywords":{}}],["appreci",{"_index":3672,"title":{},"content":{"362":{"position":[[662,10]]}},"keywords":{}}],["appropri",{"_index":3333,"title":{"481":{"position":[[13,14]]}},"content":{"347":{"position":[[1217,13]]},"459":{"position":[[1613,11],[1789,11],[1955,11]]},"504":{"position":[[863,11]]},"623":{"position":[[104,11]]},"636":{"position":[[1107,11]]},"637":{"position":[[1329,11]]},"638":{"position":[[1350,11]]},"639":{"position":[[1383,11]]},"640":{"position":[[1183,11]]},"641":{"position":[[1400,11]]},"642":{"position":[[1421,11]]},"643":{"position":[[1454,11]]}},"keywords":{}}],["approv",{"_index":2180,"title":{},"content":{"223":{"position":[[66,8]]},"540":{"position":[[681,7]]}},"keywords":{}}],["approxim",{"_index":3344,"title":{},"content":{"347":{"position":[[1801,13]]},"357":{"position":[[3778,12]]}},"keywords":{}}],["apt",{"_index":3012,"title":{},"content":{"318":{"position":[[233,3],[261,3],[293,3]]},"347":{"position":[[2215,3],[2231,3],[2248,3]]}},"keywords":{}}],["arbitrari",{"_index":4332,"title":{},"content":{"495":{"position":[[128,9]]},"497":{"position":[[161,9]]},"505":{"position":[[626,9],[1153,9]]},"525":{"position":[[31,9]]},"627":{"position":[[88,9]]}},"keywords":{}}],["architectur",{"_index":28,"title":{"2":{"position":[[7,13]]},"298":{"position":[[8,12]]}},"content":{"257":{"position":[[19,12]]},"298":{"position":[[42,13],[79,13]]},"356":{"position":[[589,14]]},"361":{"position":[[563,13]]},"364":{"position":[[665,12]]},"632":{"position":[[397,12]]}},"keywords":{}}],["archiv",{"_index":4061,"title":{},"content":{"459":{"position":[[677,9],[1470,9]]}},"keywords":{}}],["arduino",{"_index":23,"title":{},"content":{"1":{"position":[[236,10]]}},"keywords":{}}],["area",{"_index":3111,"title":{},"content":{"322":{"position":[[73,4]]},"391":{"position":[[51,4]]},"392":{"position":[[18,4]]},"462":{"position":[[334,5]]},"466":{"position":[[74,5]]},"617":{"position":[[900,5],[1330,5]]}},"keywords":{}}],["arg",{"_index":1676,"title":{},"content":{"85":{"position":[[453,3]]},"318":{"position":[[30,3],[65,3],[116,3],[163,3]]}},"keywords":{}}],["argument",{"_index":1205,"title":{},"content":{"49":{"position":[[748,9],[780,9]]},"50":{"position":[[635,9],[667,9]]},"52":{"position":[[827,9],[859,9]]},"90":{"position":[[222,8]]},"140":{"position":[[164,9]]},"178":{"position":[[148,9]]},"215":{"position":[[361,8],[381,8]]},"224":{"position":[[468,8],[488,8]]},"292":{"position":[[928,10],[951,9],[1007,9]]},"320":{"position":[[1215,9]]},"480":{"position":[[1313,10]]},"644":{"position":[[342,9]]}},"keywords":{}}],["ari",{"_index":3816,"title":{},"content":{"401":{"position":[[593,3]]}},"keywords":{}}],["aris",{"_index":3647,"title":{},"content":{"360":{"position":[[1064,7]]}},"keywords":{}}],["arm",{"_index":3299,"title":{},"content":{"347":{"position":[[43,3]]}},"keywords":{}}],["around",{"_index":291,"title":{},"content":{"8":{"position":[[388,6]]},"485":{"position":[[375,6]]},"487":{"position":[[237,7]]},"593":{"position":[[26,6],[121,6]]},"601":{"position":[[25,6],[119,6]]},"636":{"position":[[1377,6]]}},"keywords":{}}],["array",{"_index":1714,"title":{"401":{"position":[[0,6]]}},"content":{"90":{"position":[[147,5]]},"206":{"position":[[70,5],[423,5],[472,5],[543,5],[580,6],[639,5],[965,5]]},"207":{"position":[[70,5],[206,5],[255,5],[326,5],[363,6],[422,5],[755,5]]},"227":{"position":[[4945,6],[4978,5],[5111,5],[5287,5]]},"271":{"position":[[69,5],[416,5],[465,5],[536,5],[573,6],[632,5],[953,5]]},"272":{"position":[[69,5],[208,5],[257,5],[328,5],[365,6],[424,5],[752,5]]},"329":{"position":[[1372,5]]},"357":{"position":[[444,6]]},"401":{"position":[[10,5],[329,5],[386,5],[568,5],[633,5]]},"402":{"position":[[329,5]]},"476":{"position":[[4092,5],[4551,5]]},"632":{"position":[[1592,5],[1988,5]]},"646":{"position":[[12,5],[91,5],[103,5]]},"647":{"position":[[12,5]]},"662":{"position":[[120,5],[129,6]]},"663":{"position":[[382,5]]},"664":{"position":[[12,5]]},"665":{"position":[[12,5]]},"673":{"position":[[12,5]]},"675":{"position":[[229,5]]},"678":{"position":[[31,5]]},"701":{"position":[[12,5]]},"702":{"position":[[214,5],[223,6]]},"705":{"position":[[51,6]]},"707":{"position":[[64,5],[73,6]]},"710":{"position":[[54,6]]},"715":{"position":[[66,5],[75,6]]},"722":{"position":[[51,6]]},"724":{"position":[[63,5],[72,6]]}},"keywords":{}}],["array_item",{"_index":2684,"title":{"271":{"position":[[0,11]]}},"content":{"271":{"position":[[942,10]]}},"keywords":{}}],["array_paramet",{"_index":2145,"title":{"206":{"position":[[0,16]]}},"content":{"206":{"position":[[949,15]]}},"keywords":{}}],["arriv",{"_index":4567,"title":{},"content":{"599":{"position":[[1084,7],[1244,7]]},"675":{"position":[[72,7]]}},"keywords":{}}],["arrow",{"_index":4328,"title":{},"content":{"490":{"position":[[1160,7]]}},"keywords":{}}],["art",{"_index":4051,"title":{},"content":{"459":{"position":[[97,3]]}},"keywords":{}}],["articl",{"_index":4055,"title":{},"content":{"459":{"position":[[365,7]]}},"keywords":{}}],["ary2",{"_index":3819,"title":{},"content":{"401":{"position":[[658,4]]}},"keywords":{}}],["arycmd",{"_index":4903,"title":{},"content":{"647":{"position":[[287,9],[413,9]]}},"keywords":{}}],["ascii",{"_index":1736,"title":{},"content":{"93":{"position":[[1237,5]]},"99":{"position":[[1528,5],[2016,5],[3846,5],[4287,5],[5173,5]]},"198":{"position":[[684,5]]},"259":{"position":[[711,5],[1323,5],[1357,5],[1574,6]]},"366":{"position":[[364,5]]}},"keywords":{}}],["asciicmd",{"_index":4904,"title":{},"content":{"647":{"position":[[297,11],[423,11]]}},"keywords":{}}],["ask",{"_index":718,"title":{"623":{"position":[[0,4]]}},"content":{"36":{"position":[[3214,3]]},"202":{"position":[[3214,3]]},"214":{"position":[[90,6]]},"334":{"position":[[840,4]]},"460":{"position":[[114,5]]},"465":{"position":[[305,3]]},"466":{"position":[[579,3]]},"467":{"position":[[230,5],[439,3]]},"495":{"position":[[151,5],[263,6]]},"496":{"position":[[305,6]]},"525":{"position":[[93,3]]}},"keywords":{}}],["ask("<question>"",{"_index":4732,"title":{},"content":{"623":{"position":[[242,33]]}},"keywords":{}}],["ask("ent",{"_index":4339,"title":{},"content":{"495":{"position":[[644,15],[942,15]]},"623":{"position":[[676,15],[718,15],[774,15],[820,15],[897,15],[939,15],[995,15],[1041,15]]}},"keywords":{}}],["ask("pleas",{"_index":4349,"title":{},"content":{"496":{"position":[[614,16],[811,16]]}},"keywords":{}}],["ask_str",{"_index":4333,"title":{"624":{"position":[[0,11]]}},"content":{"495":{"position":[[161,14]]}},"keywords":{}}],["ask_string("<question>"",{"_index":4739,"title":{},"content":{"624":{"position":[[201,40]]}},"keywords":{}}],["ask_string("do",{"_index":4335,"title":{},"content":{"495":{"position":[[451,19],[737,19]]}},"keywords":{}}],["ask_string("ent",{"_index":4740,"title":{},"content":{"624":{"position":[[643,22],[691,22],[755,22],[822,22],[907,22],[955,22],[1019,22],[1086,22]]}},"keywords":{}}],["aspect",{"_index":1364,"title":{},"content":{"61":{"position":[[2553,6]]},"298":{"position":[[63,7]]},"364":{"position":[[642,6]]},"487":{"position":[[133,6]]}},"keywords":{}}],["assign",{"_index":1925,"title":{},"content":{"121":{"position":[[580,8]]},"136":{"position":[[110,7]]},"176":{"position":[[445,9]]},"429":{"position":[[97,9]]}},"keywords":{}}],["assist",{"_index":4117,"title":{},"content":{"465":{"position":[[517,6]]}},"keywords":{}}],["associ",{"_index":163,"title":{},"content":{"5":{"position":[[633,10]]},"36":{"position":[[1717,10]]},"71":{"position":[[738,10]]},"99":{"position":[[1679,10]]},"116":{"position":[[142,10],[186,10]]},"143":{"position":[[186,10]]},"176":{"position":[[1,9],[41,9],[258,9],[344,9]]},"177":{"position":[[1,9],[45,9],[291,9]]},"179":{"position":[[365,9]]},"190":{"position":[[24,10],[165,9]]},"199":{"position":[[103,10]]},"202":{"position":[[1717,10]]},"225":{"position":[[358,10]]},"230":{"position":[[1898,10]]},"264":{"position":[[114,10]]},"267":{"position":[[1712,10]]},"282":{"position":[[363,10]]},"304":{"position":[[926,10]]},"338":{"position":[[168,10],[289,10]]},"407":{"position":[[287,10]]},"444":{"position":[[117,10]]},"455":{"position":[[28,10]]},"465":{"position":[[184,10]]},"487":{"position":[[96,10]]},"610":{"position":[[954,10]]},"636":{"position":[[817,10]]},"637":{"position":[[1039,10]]},"638":{"position":[[1060,10]]},"639":{"position":[[1093,10]]},"640":{"position":[[893,10]]},"641":{"position":[[1110,10]]},"642":{"position":[[1131,10]]},"643":{"position":[[1164,10]]},"711":{"position":[[21,10]]},"712":{"position":[[26,10]]}},"keywords":{}}],["assum",{"_index":1479,"title":{},"content":{"69":{"position":[[4159,7]]},"253":{"position":[[144,7]]},"256":{"position":[[195,7]]},"257":{"position":[[717,7]]},"368":{"position":[[103,7]]},"486":{"position":[[171,9]]},"498":{"position":[[214,6]]},"628":{"position":[[297,6]]},"629":{"position":[[218,6]]},"630":{"position":[[194,6]]}},"keywords":{}}],["assumpt",{"_index":1160,"title":{},"content":{"46":{"position":[[647,10]]}},"keywords":{}}],["astro",{"_index":2097,"title":{"247":{"position":[[0,5]]}},"content":{"189":{"position":[[246,6]]},"247":{"position":[[26,5],[208,5],[290,5],[332,5]]},"424":{"position":[[140,5],[184,7]]}},"keywords":{}}],["astrouxd",{"_index":2477,"title":{},"content":{"247":{"position":[[5,10]]}},"keywords":{}}],["atla",{"_index":1891,"title":{},"content":{"108":{"position":[[571,7]]}},"keywords":{}}],["attach",{"_index":3255,"title":{},"content":{"334":{"position":[[898,8]]}},"keywords":{}}],["attempt",{"_index":1456,"title":{},"content":{"69":{"position":[[2048,9]]},"93":{"position":[[1305,8]]},"130":{"position":[[280,9]]},"211":{"position":[[107,8]]},"299":{"position":[[559,10]]},"303":{"position":[[1267,7]]}},"keywords":{}}],["attitud",{"_index":5036,"title":{},"content":{"664":{"position":[[450,8]]}},"keywords":{}}],["attr_accessor",{"_index":4291,"title":{},"content":{"487":{"position":[[774,13]]}},"keywords":{}}],["attribut",{"_index":3700,"title":{"455":{"position":[[23,11]]}},"content":{"364":{"position":[[547,11]]},"455":{"position":[[39,10]]}},"keywords":{}}],["aubruze6r0pji6pe1hblpmupbcx3uuiwxu2",{"_index":1000,"title":{},"content":{"43":{"position":[[4353,35]]}},"keywords":{}}],["audit",{"_index":4321,"title":{"489":{"position":[[14,9]]},"493":{"position":[[0,8]]}},"content":{"493":{"position":[[46,5]]}},"keywords":{}}],["august",{"_index":4158,"title":{},"content":{"472":{"position":[[199,6]]}},"keywords":{}}],["auth",{"_index":3337,"title":{},"content":{"347":{"position":[[1328,5]]}},"keywords":{}}],["authent",{"_index":1695,"title":{},"content":{"87":{"position":[[67,12],[212,12]]},"240":{"position":[[1769,14]]}},"keywords":{}}],["author",{"_index":551,"title":{"87":{"position":[[0,14]]}},"content":{"24":{"position":[[860,10],[890,9]]},"44":{"position":[[882,15],[2344,15]]},"87":{"position":[[10,13],[234,14]]},"107":{"position":[[131,9]]},"229":{"position":[[762,8]]},"360":{"position":[[925,7]]},"462":{"position":[[128,10]]},"540":{"position":[[93,9],[140,9],[222,9],[287,9],[379,10],[547,10]]},"612":{"position":[[1096,6],[1190,6]]}},"keywords":{}}],["auto",{"_index":1516,"title":{},"content":{"75":{"position":[[795,4],[1160,4]]},"328":{"position":[[1604,4],[1609,4]]},"369":{"position":[[248,4],[341,4],[492,4],[497,4]]},"446":{"position":[[43,4],[48,4]]},"496":{"position":[[730,4],[942,4]]},"592":{"position":[[160,4]]},"599":{"position":[[1360,5]]},"745":{"position":[[491,4],[496,4],[763,4],[768,4]]},"746":{"position":[[951,4],[956,4],[1234,4],[1239,4]]}},"keywords":{}}],["autom",{"_index":2458,"title":{},"content":{"243":{"position":[[86,10]]},"474":{"position":[[124,8]]},"510":{"position":[[26,9]]},"638":{"position":[[148,8]]},"639":{"position":[[174,8]]},"642":{"position":[[171,8]]},"643":{"position":[[197,8]]}},"keywords":{}}],["automat",{"_index":362,"title":{},"content":{"15":{"position":[[207,9]]},"16":{"position":[[211,9]]},"53":{"position":[[217,13]]},"61":{"position":[[2489,13]]},"75":{"position":[[570,13]]},"76":{"position":[[596,13]]},"77":{"position":[[612,13]]},"78":{"position":[[609,13]]},"79":{"position":[[786,13]]},"128":{"position":[[17,13]]},"263":{"position":[[8,13]]},"332":{"position":[[769,13]]},"334":{"position":[[1362,13]]},"351":{"position":[[159,13]]},"369":{"position":[[277,13],[370,13]]},"386":{"position":[[149,13]]},"429":{"position":[[523,13]]},"461":{"position":[[136,13]]},"482":{"position":[[1319,13]]},"491":{"position":[[104,13]]},"497":{"position":[[50,13]]},"533":{"position":[[102,13]]},"590":{"position":[[53,13]]},"599":{"position":[[1220,13]]},"600":{"position":[[53,13],[452,13]]},"609":{"position":[[41,13]]},"610":{"position":[[173,13]]},"623":{"position":[[59,13]]},"628":{"position":[[561,13]]},"636":{"position":[[1076,13]]},"637":{"position":[[1298,13]]},"638":{"position":[[1319,13]]},"639":{"position":[[1352,13]]},"640":{"position":[[1152,13]]},"641":{"position":[[1369,13]]},"642":{"position":[[1390,13]]},"643":{"position":[[1423,13]]},"757":{"position":[[62,14]]}},"keywords":{}}],["autonom",{"_index":2368,"title":{"509":{"position":[[0,9]]}},"content":{"231":{"position":[[1021,12]]},"299":{"position":[[546,12]]},"510":{"position":[[1,9]]},"511":{"position":[[1,9]]},"513":{"position":[[524,9]]},"540":{"position":[[509,9]]}},"keywords":{}}],["avail",{"_index":593,"title":{},"content":{"27":{"position":[[1030,9]]},"69":{"position":[[504,9],[4591,9]]},"250":{"position":[[223,9]]},"253":{"position":[[2380,10],[2434,9]]},"321":{"position":[[3966,9]]},"324":{"position":[[136,10],[824,9]]},"345":{"position":[[437,9]]},"364":{"position":[[864,9]]},"374":{"position":[[147,9]]},"464":{"position":[[457,9]]},"525":{"position":[[140,9]]},"541":{"position":[[42,9]]},"542":{"position":[[44,9]]},"590":{"position":[[79,9]]},"600":{"position":[[79,9],[146,9]]},"612":{"position":[[1521,9]]},"617":{"position":[[973,9]]},"646":{"position":[[43,9]]},"743":{"position":[[39,9]]}},"keywords":{}}],["averag",{"_index":3442,"title":{},"content":{"355":{"position":[[365,7]]}},"keywords":{}}],["avg",{"_index":2289,"title":{},"content":{"227":{"position":[[3333,4]]},"418":{"position":[[510,4],[1237,4]]},"419":{"position":[[544,4],[1290,4]]},"420":{"position":[[528,4],[1262,4]]}},"keywords":{}}],["avoid",{"_index":114,"title":{},"content":{"3":{"position":[[483,5]]},"7":{"position":[[506,5]]},"27":{"position":[[625,5]]},"230":{"position":[[1635,5]]},"253":{"position":[[7191,5]]},"371":{"position":[[293,5]]},"481":{"position":[[110,5]]},"608":{"position":[[564,5]]}},"keywords":{}}],["aw",{"_index":2494,"title":{},"content":{"250":{"position":[[278,3]]},"516":{"position":[[293,3]]}},"keywords":{}}],["awar",{"_index":111,"title":{},"content":{"3":{"position":[[444,5]]},"470":{"position":[[98,5]]},"514":{"position":[[847,5]]},"575":{"position":[[53,9]]}},"keywords":{}}],["away",{"_index":1381,"title":{},"content":{"62":{"position":[[430,5]]},"449":{"position":[[257,5]]}},"keywords":{}}],["awesom",{"_index":2094,"title":{},"content":{"189":{"position":[[181,8]]}},"keywords":{}}],["azur",{"_index":2496,"title":{},"content":{"250":{"position":[[303,5]]},"357":{"position":[[47,5]]}},"keywords":{}}],["b",{"_index":2717,"title":{},"content":{"285":{"position":[[188,1]]},"329":{"position":[[1215,1],[1446,2],[1496,2]]},"449":{"position":[[229,1]]},"459":{"position":[[513,2]]},"467":{"position":[[1295,3]]},"514":{"position":[[486,1]]},"667":{"position":[[676,1]]}},"keywords":{}}],["b"",{"_index":3241,"title":{},"content":{"329":{"position":[[1245,7]]}},"keywords":{}}],["b"\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":4781,"title":{},"content":{"629":{"position":[[1112,46]]}},"keywords":{}}],["b/compose.yaml",{"_index":510,"title":{},"content":{"23":{"position":[[83,14]]}},"keywords":{}}],["b/g",{"_index":4524,"title":{},"content":{"584":{"position":[[371,3]]}},"keywords":{}}],["b/openc3",{"_index":472,"title":{},"content":{"21":{"position":[[88,8]]},"22":{"position":[[113,8]]}},"keywords":{}}],["b3ee86d3620a",{"_index":1601,"title":{},"content":{"83":{"position":[[1512,12]]}},"keywords":{}}],["b411xqprpt",{"_index":992,"title":{},"content":{"43":{"position":[[2440,10],[5905,10]]}},"keywords":{}}],["b4ynq0dna1tv1kmnxrl8w1ultqyvzjdsn",{"_index":996,"title":{},"content":{"43":{"position":[[4235,33]]}},"keywords":{}}],["b5b0b95e6939",{"_index":935,"title":{},"content":{"42":{"position":[[773,12]]}},"keywords":{}}],["b:8",{"_index":3238,"title":{},"content":{"329":{"position":[[1141,4]]}},"keywords":{}}],["back",{"_index":2489,"title":{},"content":{"249":{"position":[[185,4]]},"253":{"position":[[573,4],[3395,4],[3403,4]]},"254":{"position":[[488,4],[654,4],[2037,4],[2469,4]]},"332":{"position":[[726,4]]},"334":{"position":[[340,4],[438,4]]},"461":{"position":[[906,4]]},"578":{"position":[[1385,4],[1582,4]]},"599":{"position":[[839,4]]},"632":{"position":[[329,4]]}},"keywords":{}}],["backcolor",{"_index":3748,"title":{"379":{"position":[[0,10]]}},"content":{"376":{"position":[[246,9],[320,9]]},"377":{"position":[[242,9],[298,9],[372,9]]},"378":{"position":[[244,9],[300,9],[375,9]]},"379":{"position":[[5,9],[412,9],[467,9]]},"446":{"position":[[665,9],[1169,9]]}},"keywords":{}}],["backend",{"_index":1672,"title":{"85":{"position":[[10,7]]},"248":{"position":[[0,8]]}},"content":{"85":{"position":[[73,7]]},"118":{"position":[[38,7]]},"239":{"position":[[519,8]]},"251":{"position":[[34,8]]},"332":{"position":[[884,8]]},"516":{"position":[[49,7]]},"538":{"position":[[200,7]]}},"keywords":{}}],["background",{"_index":1837,"title":{},"content":{"103":{"position":[[219,11]]},"171":{"position":[[113,10]]},"231":{"position":[[353,10],[377,10],[564,10],[949,11],[1217,10],[1228,10]]},"379":{"position":[[32,10]]},"429":{"position":[[1929,10],[2044,12]]},"548":{"position":[[208,10]]},"584":{"position":[[444,11]]},"607":{"position":[[596,11]]}},"keywords":{}}],["background.rb",{"_index":2371,"title":{},"content":{"231":{"position":[[1261,13]]}},"keywords":{}}],["backslash",{"_index":303,"title":{},"content":{"9":{"position":[[477,9]]}},"keywords":{}}],["backtrac",{"_index":4708,"title":{},"content":{"621":{"position":[[3936,9]]}},"keywords":{}}],["backward",{"_index":817,"title":{},"content":{"36":{"position":[[8256,9]]},"202":{"position":[[8256,9]]},"267":{"position":[[6915,9]]},"620":{"position":[[113,9]]},"621":{"position":[[3379,9],[3600,9]]}},"keywords":{}}],["bad",{"_index":1414,"title":{},"content":{"67":{"position":[[307,3]]},"404":{"position":[[893,3]]},"481":{"position":[[341,3],[532,3]]},"637":{"position":[[150,3]]},"641":{"position":[[173,3]]}},"keywords":{}}],["bae",{"_index":3678,"title":{},"content":{"363":{"position":[[177,3]]}},"keywords":{}}],["balanc",{"_index":73,"title":{},"content":{"2":{"position":[[709,9]]},"240":{"position":[[1483,8]]},"298":{"position":[[800,9]]}},"keywords":{}}],["ball",{"_index":3629,"title":{},"content":{"359":{"position":[[2154,4]]},"363":{"position":[[12,4],[191,4],[309,4]]}},"keywords":{}}],["balloon",{"_index":4552,"title":{},"content":{"593":{"position":[[356,7]]}},"keywords":{}}],["bar",{"_index":2105,"title":{},"content":{"192":{"position":[[48,3]]},"311":{"position":[[895,3],[920,3]]},"405":{"position":[[276,4],[379,3]]},"410":{"position":[[250,4],[303,3],[389,4],[442,3],[724,3],[777,3]]},"412":{"position":[[349,3],[402,3]]},"413":{"position":[[347,3],[400,3]]},"417":{"position":[[219,4],[272,3],[358,4],[411,3],[693,3],[746,3]]},"422":{"position":[[21,3],[284,4],[387,3]]},"423":{"position":[[25,3],[229,4],[282,3],[368,4],[421,3],[609,3],[662,3]]},"425":{"position":[[454,4],[461,3],[471,3],[555,4],[600,3],[643,4],[676,4]]},"541":{"position":[[189,3]]},"542":{"position":[[201,3]]},"578":{"position":[[190,3]]},"592":{"position":[[39,3]]},"593":{"position":[[76,3],[331,4],[557,3]]},"599":{"position":[[632,3]]},"601":{"position":[[75,3]]},"617":{"position":[[217,3],[344,3]]}},"keywords":{}}],["base",{"_index":336,"title":{},"content":{"12":{"position":[[297,4]]},"44":{"position":[[469,5]]},"52":{"position":[[131,5]]},"54":{"position":[[555,5]]},"63":{"position":[[293,5]]},"69":{"position":[[324,4],[831,4],[1621,4]]},"71":{"position":[[115,4],[137,4],[396,4]]},"72":{"position":[[243,4],[292,4],[371,4]]},"73":{"position":[[106,4],[171,4],[250,4]]},"74":{"position":[[112,4],[180,4],[262,4]]},"75":{"position":[[599,4],[929,4],[1349,4],[1607,4]]},"76":{"position":[[780,4],[857,4],[943,4]]},"77":{"position":[[641,4],[719,4],[806,4]]},"78":{"position":[[638,4],[710,4],[812,4]]},"79":{"position":[[922,4],[1020,4],[1148,4]]},"80":{"position":[[183,4],[322,4],[470,4]]},"83":{"position":[[1259,4]]},"99":{"position":[[1154,5]]},"117":{"position":[[22,5]]},"144":{"position":[[209,5]]},"184":{"position":[[88,5]]},"191":{"position":[[128,4]]},"227":{"position":[[699,5],[5220,5]]},"233":{"position":[[825,5]]},"235":{"position":[[1019,5]]},"239":{"position":[[113,4]]},"240":{"position":[[503,4]]},"245":{"position":[[263,5]]},"262":{"position":[[151,5]]},"263":{"position":[[1119,5],[1325,5],[1480,5]]},"289":{"position":[[1604,5]]},"291":{"position":[[157,4]]},"299":{"position":[[205,5]]},"304":{"position":[[2109,5]]},"305":{"position":[[923,5]]},"321":{"position":[[3535,4]]},"347":{"position":[[47,5]]},"349":{"position":[[33,5]]},"355":{"position":[[286,4],[599,4],[621,4]]},"357":{"position":[[1997,4]]},"362":{"position":[[192,5]]},"403":{"position":[[320,5]]},"411":{"position":[[36,5]]},"424":{"position":[[66,5]]},"425":{"position":[[63,5]]},"427":{"position":[[211,5]]},"433":{"position":[[196,6]]},"434":{"position":[[380,5]]},"442":{"position":[[142,5]]},"444":{"position":[[91,5]]},"446":{"position":[[798,5]]},"510":{"position":[[70,5]]},"511":{"position":[[287,5]]},"522":{"position":[[161,5]]},"525":{"position":[[269,5]]},"528":{"position":[[343,5]]},"582":{"position":[[23,5]]},"586":{"position":[[633,5],[682,5]]},"591":{"position":[[160,5]]},"651":{"position":[[432,5]]},"681":{"position":[[602,5]]},"682":{"position":[[300,5]]},"683":{"position":[[385,5]]},"684":{"position":[[275,5]]},"703":{"position":[[23,5]]}},"keywords":{}}],["base2",{"_index":3600,"title":{},"content":{"357":{"position":[[4482,5]]}},"keywords":{}}],["base64",{"_index":1824,"title":{},"content":{"99":{"position":[[4657,7]]},"227":{"position":[[6171,6]]},"421":{"position":[[11,6],[222,7],[317,6]]}},"keywords":{}}],["bash",{"_index":1078,"title":{},"content":{"44":{"position":[[1838,4]]},"83":{"position":[[547,4]]}},"keywords":{}}],["bash_profil",{"_index":3184,"title":{},"content":{"324":{"position":[[2531,13]]}},"keywords":{}}],["bashrc",{"_index":3183,"title":{},"content":{"324":{"position":[[2514,7],[2689,7]]}},"keywords":{}}],["basic",{"_index":199,"title":{"478":{"position":[[8,5]]}},"content":{"6":{"position":[[154,5]]},"235":{"position":[[783,5]]},"327":{"position":[[7,9]]},"328":{"position":[[114,5]]},"511":{"position":[[30,5]]}},"keywords":{}}],["bat",{"_index":2598,"title":{},"content":{"257":{"position":[[872,4]]}},"keywords":{}}],["batch",{"_index":1573,"title":{},"content":{"83":{"position":[[599,5]]},"88":{"position":[[308,5]]},"227":{"position":[[5022,8],[5100,5],[5157,5],[5186,7]]},"292":{"position":[[83,5]]}},"keywords":{}}],["baud",{"_index":1248,"title":{},"content":{"52":{"position":[[463,4],[473,4]]},"338":{"position":[[544,4]]}},"keywords":{}}],["baud_rat",{"_index":3267,"title":{},"content":{"338":{"position":[[563,9],[1258,9]]}},"keywords":{}}],["bbad6c6b",{"_index":931,"title":{},"content":{"42":{"position":[[749,8]]}},"keywords":{}}],["be",{"_index":258,"title":{},"content":{"7":{"position":[[512,5]]},"36":{"position":[[8115,5]]},"59":{"position":[[468,5],[718,5]]},"60":{"position":[[340,5],[1116,5]]},"61":{"position":[[1893,5]]},"62":{"position":[[1018,5]]},"63":{"position":[[2202,5]]},"69":{"position":[[3978,5]]},"93":{"position":[[959,5],[1011,5],[1071,5],[1218,5]]},"94":{"position":[[750,5],[802,5],[853,5]]},"202":{"position":[[8115,5]]},"211":{"position":[[28,5],[84,5]]},"227":{"position":[[1535,5],[1605,5]]},"246":{"position":[[274,5]]},"254":{"position":[[709,5],[2374,5]]},"267":{"position":[[6775,5]]},"480":{"position":[[434,5]]},"514":{"position":[[1506,5]]},"578":{"position":[[1107,5]]},"607":{"position":[[570,5]]}},"keywords":{}}],["beaglebon",{"_index":26,"title":{},"content":{"1":{"position":[[261,11]]}},"keywords":{}}],["becom",{"_index":2099,"title":{},"content":{"190":{"position":[[66,7]]},"356":{"position":[[286,7]]},"480":{"position":[[638,7]]},"481":{"position":[[174,6]]},"485":{"position":[[17,6]]},"584":{"position":[[235,7],[351,7]]},"607":{"position":[[262,7]]}},"keywords":{}}],["befor",{"_index":750,"title":{},"content":{"36":{"position":[[4395,6],[6238,6],[6869,6],[7933,6]]},"43":{"position":[[151,6],[269,6],[4500,6]]},"49":{"position":[[574,6],[643,6]]},"50":{"position":[[461,6],[530,6]]},"51":{"position":[[658,6],[743,6],[816,6]]},"52":{"position":[[653,6],[722,6]]},"59":{"position":[[75,6]]},"61":{"position":[[2009,6]]},"62":{"position":[[801,6]]},"63":{"position":[[1985,6],[2604,6]]},"66":{"position":[[218,6]]},"67":{"position":[[1161,6]]},"69":{"position":[[2025,6],[2232,6],[4199,6]]},"76":{"position":[[82,6]]},"77":{"position":[[83,6]]},"78":{"position":[[70,6]]},"99":{"position":[[2138,6]]},"133":{"position":[[390,6],[524,6]]},"134":{"position":[[210,6]]},"198":{"position":[[762,6]]},"202":{"position":[[4395,6],[6238,6],[6869,6],[7933,6]]},"214":{"position":[[114,6]]},"216":{"position":[[74,6]]},"217":{"position":[[72,6]]},"253":{"position":[[324,6]]},"259":{"position":[[789,6]]},"267":{"position":[[3352,6],[4718,6],[5411,6],[6534,6],[8658,6]]},"289":{"position":[[593,6]]},"303":{"position":[[1912,6],[1988,6]]},"304":{"position":[[533,6]]},"371":{"position":[[402,6]]},"374":{"position":[[362,6]]},"405":{"position":[[242,6]]},"422":{"position":[[246,6]]},"448":{"position":[[178,6]]},"478":{"position":[[430,6]]},"493":{"position":[[70,6]]},"495":{"position":[[240,6]]},"514":{"position":[[1113,6],[1499,6]]},"605":{"position":[[851,6],[892,6]]},"618":{"position":[[218,6]]},"700":{"position":[[1699,6]]},"750":{"position":[[86,6],[259,6]]},"751":{"position":[[85,6]]}},"keywords":{}}],["begin",{"_index":1189,"title":{},"content":{"46":{"position":[[1666,10]]},"198":{"position":[[717,9]]},"227":{"position":[[837,6]]},"229":{"position":[[959,5]]},"259":{"position":[[744,9]]},"329":{"position":[[1049,9]]},"402":{"position":[[532,9]]},"476":{"position":[[4306,9]]},"599":{"position":[[749,5]]},"600":{"position":[[255,6],[505,9]]},"617":{"position":[[1051,5]]}},"keywords":{}}],["behalf",{"_index":4133,"title":{},"content":{"467":{"position":[[669,7]]}},"keywords":{}}],["behav",{"_index":4322,"title":{},"content":{"490":{"position":[[104,8]]}},"keywords":{}}],["behavior",{"_index":834,"title":{},"content":{"36":{"position":[[9643,8],[9854,8]]},"80":{"position":[[108,8]]},"202":{"position":[[9643,8],[9854,8]]},"492":{"position":[[813,8]]},"717":{"position":[[150,9]]},"718":{"position":[[157,9]]},"727":{"position":[[140,9]]},"728":{"position":[[154,9]]}},"keywords":{}}],["behaviour",{"_index":1271,"title":{},"content":{"54":{"position":[[22,9]]}},"keywords":{}}],["behind",{"_index":2048,"title":{},"content":{"168":{"position":[[138,7]]},"227":{"position":[[98,6]]},"464":{"position":[[280,6]]},"467":{"position":[[114,6]]},"488":{"position":[[97,6]]}},"keywords":{}}],["belief",{"_index":4138,"title":{},"content":{"467":{"position":[[1152,6]]}},"keywords":{}}],["believ",{"_index":1511,"title":{},"content":{"75":{"position":[[263,8],[410,8],[509,8]]},"76":{"position":[[294,8],[443,8],[535,8]]},"77":{"position":[[293,8],[459,8],[551,8]]},"78":{"position":[[294,8],[458,8],[548,8]]},"79":{"position":[[725,8]]},"471":{"position":[[24,7]]}},"keywords":{}}],["belong",{"_index":2705,"title":{},"content":{"283":{"position":[[449,6],[556,7]]}},"keywords":{}}],["below",{"_index":1036,"title":{},"content":{"44":{"position":[[408,5],[1827,5]]},"69":{"position":[[885,5]]},"99":{"position":[[1191,5]]},"345":{"position":[[521,5]]},"410":{"position":[[282,5]]},"417":{"position":[[251,5]]},"423":{"position":[[261,5]]},"466":{"position":[[371,6]]},"544":{"position":[[29,5]]},"593":{"position":[[703,5]]},"700":{"position":[[771,5],[876,5]]}},"keywords":{}}],["below"",{"_index":3814,"title":{},"content":{"399":{"position":[[209,11]]}},"keywords":{}}],["benefit",{"_index":3142,"title":{},"content":{"324":{"position":[[275,7]]}},"keywords":{}}],["best",{"_index":1368,"title":{"495":{"position":[[11,4]]}},"content":{"61":{"position":[[2701,4]]},"95":{"position":[[72,4]]},"247":{"position":[[166,4]]},"253":{"position":[[2510,4]]},"329":{"position":[[1503,4]]},"356":{"position":[[639,4]]},"357":{"position":[[3799,4]]},"461":{"position":[[470,4]]},"464":{"position":[[452,4]]},"471":{"position":[[118,4]]},"474":{"position":[[32,4]]},"502":{"position":[[631,4]]}},"keywords":{}}],["beta0",{"_index":5542,"title":{},"content":{"767":{"position":[[953,7]]},"768":{"position":[[556,6],[625,7]]}},"keywords":{}}],["beta0"",{"_index":5529,"title":{},"content":{"767":{"position":[[226,12]]},"768":{"position":[[367,11],[445,12]]}},"keywords":{}}],["better",{"_index":135,"title":{},"content":{"3":{"position":[[750,7]]},"295":{"position":[[108,7]]},"299":{"position":[[836,7]]},"321":{"position":[[3730,6]]},"349":{"position":[[60,6]]},"350":{"position":[[106,6]]},"449":{"position":[[737,7]]},"461":{"position":[[682,6]]},"483":{"position":[[433,6],[907,6]]},"488":{"position":[[782,6]]},"656":{"position":[[294,6]]},"657":{"position":[[203,6]]},"658":{"position":[[263,6]]},"681":{"position":[[335,6]]},"682":{"position":[[239,6]]},"683":{"position":[[336,6]]},"684":{"position":[[212,6]]},"700":{"position":[[99,6]]}},"keywords":{}}],["bettera",{"_index":3308,"title":{},"content":{"347":{"position":[[338,7]]}},"keywords":{}}],["between",{"_index":875,"title":{},"content":{"40":{"position":[[732,7]]},"57":{"position":[[378,7]]},"63":{"position":[[2679,7]]},"66":{"position":[[319,7]]},"130":{"position":[[183,7],[262,7]]},"143":{"position":[[342,7]]},"147":{"position":[[104,7]]},"150":{"position":[[111,7]]},"154":{"position":[[106,7]]},"157":{"position":[[113,7]]},"165":{"position":[[99,7]]},"198":{"position":[[1030,7]]},"240":{"position":[[1943,7]]},"259":{"position":[[1069,7]]},"309":{"position":[[611,7]]},"321":{"position":[[3749,7]]},"357":{"position":[[1925,7],[3415,7]]},"369":{"position":[[440,7]]},"386":{"position":[[302,7]]},"387":{"position":[[277,7]]},"388":{"position":[[150,7]]},"389":{"position":[[235,7]]},"390":{"position":[[196,7]]},"391":{"position":[[257,7]]},"399":{"position":[[31,7]]},"404":{"position":[[557,7]]},"454":{"position":[[325,7]]},"476":{"position":[[55,7],[3667,7]]},"495":{"position":[[684,7],[982,7]]},"613":{"position":[[61,7]]},"616":{"position":[[163,7]]},"748":{"position":[[177,7]]},"773":{"position":[[126,7]]}},"keywords":{}}],["bg",{"_index":3925,"title":{},"content":{"429":{"position":[[2029,2]]}},"keywords":{}}],["big",{"_index":175,"title":{},"content":{"5":{"position":[[880,3]]},"33":{"position":[[190,3]]},"35":{"position":[[1291,3],[1822,3]]},"37":{"position":[[1084,3],[1615,3]]},"99":{"position":[[101,3]]},"199":{"position":[[350,3]]},"201":{"position":[[1320,3],[1851,3]]},"203":{"position":[[1103,3],[1634,3]]},"204":{"position":[[1464,3],[1995,3]]},"205":{"position":[[1300,3],[1831,3]]},"206":{"position":[[851,3]]},"207":{"position":[[634,3]]},"264":{"position":[[367,3]]},"266":{"position":[[926,3]]},"268":{"position":[[718,3]]},"269":{"position":[[1020,3]]},"270":{"position":[[689,3]]},"271":{"position":[[844,3]]},"272":{"position":[[636,3]]},"327":{"position":[[197,3],[310,3]]},"328":{"position":[[1691,3]]}},"keywords":{}}],["big_endian",{"_index":146,"title":{},"content":{"5":{"position":[[129,10],[233,11],[929,11],[1161,10]]},"7":{"position":[[167,10],[843,10]]},"8":{"position":[[181,10],[338,10]]},"9":{"position":[[195,10],[361,10],[544,10],[693,10]]},"33":{"position":[[239,11]]},"35":{"position":[[1379,11],[1871,11]]},"37":{"position":[[1172,11],[1664,11]]},"40":{"position":[[101,10]]},"49":{"position":[[956,10],[1832,10]]},"50":{"position":[[822,10],[1551,10]]},"52":{"position":[[1020,10]]},"54":{"position":[[1057,10],[1817,10]]},"61":{"position":[[1673,12],[1709,12]]},"134":{"position":[[942,10]]},"199":{"position":[[399,11],[549,10]]},"201":{"position":[[1408,11],[1900,11]]},"203":{"position":[[1191,11],[1683,11]]},"204":{"position":[[1552,11],[2044,11]]},"205":{"position":[[1388,11],[1880,11]]},"206":{"position":[[900,11]]},"207":{"position":[[683,11]]},"226":{"position":[[67,10],[969,10],[1733,10]]},"232":{"position":[[925,10]]},"233":{"position":[[1142,10]]},"253":{"position":[[2757,10],[3244,10],[4756,10],[5151,10]]},"254":{"position":[[1355,10]]},"264":{"position":[[416,11],[583,10]]},"266":{"position":[[1014,11]]},"268":{"position":[[806,11]]},"269":{"position":[[1108,11]]},"270":{"position":[[777,11]]},"271":{"position":[[893,11]]},"272":{"position":[[685,11]]},"285":{"position":[[59,10]]},"321":{"position":[[313,10],[1194,10],[1737,10],[2244,10],[2757,10]]},"329":{"position":[[274,10],[600,12],[956,10]]},"646":{"position":[[893,13]]},"648":{"position":[[935,13]]},"649":{"position":[[1410,13]]}},"keywords":{}}],["big_endian/little_endian",{"_index":1419,"title":{},"content":{"67":{"position":[[650,26]]}},"keywords":{}}],["bigwidget"",{"_index":3228,"title":{},"content":{"328":{"position":[[1155,15]]}},"keywords":{}}],["bill",{"_index":4130,"title":{},"content":{"467":{"position":[[475,7],[524,4]]}},"keywords":{}}],["bin",{"_index":3288,"title":{},"content":{"343":{"position":[[280,4]]}},"keywords":{}}],["bin/bash",{"_index":1080,"title":{},"content":{"44":{"position":[[2061,11]]}},"keywords":{}}],["binari",{"_index":61,"title":{},"content":{"2":{"position":[[556,6]]},"31":{"position":[[35,6],[444,7],[686,6]]},"36":{"position":[[4425,6],[6268,6],[6899,6],[7963,6],[10626,7]]},"59":{"position":[[605,6]]},"60":{"position":[[1003,6]]},"61":{"position":[[1784,6]]},"62":{"position":[[909,6]]},"63":{"position":[[2093,6]]},"69":{"position":[[4382,6]]},"93":{"position":[[1183,6]]},"97":{"position":[[54,6]]},"99":{"position":[[112,6],[1219,6],[1265,6],[3799,6]]},"147":{"position":[[9,6]]},"148":{"position":[[9,6]]},"154":{"position":[[11,6]]},"155":{"position":[[11,6]]},"198":{"position":[[987,6],[1082,6]]},"201":{"position":[[2255,6]]},"202":{"position":[[4425,6],[6268,6],[6899,6],[7963,6]]},"204":{"position":[[115,6],[236,6],[1227,6]]},"205":{"position":[[115,6],[236,6],[1063,6]]},"217":{"position":[[229,6]]},"227":{"position":[[349,6]]},"259":{"position":[[1011,6],[1562,6],[1678,6],[1726,6]]},"262":{"position":[[101,6]]},"297":{"position":[[1088,6]]},"298":{"position":[[647,6]]},"343":{"position":[[313,6]]},"454":{"position":[[41,6]]},"581":{"position":[[20,6],[49,6],[165,6]]},"582":{"position":[[16,6],[132,6]]},"583":{"position":[[54,6],[113,6],[308,7]]},"584":{"position":[[76,6]]},"628":{"position":[[714,6],[1038,6]]},"629":{"position":[[801,6],[1161,6]]},"644":{"position":[[18,6]]}},"keywords":{}}],["binaryaccessor",{"_index":1445,"title":{},"content":{"69":{"position":[[1176,15],[1450,15]]},"215":{"position":[[167,15]]},"279":{"position":[[167,15]]}},"keywords":{}}],["binarydelet",{"_index":4521,"title":{},"content":{"582":{"position":[[107,12]]}},"keywords":{}}],["binaryrenam",{"_index":4520,"title":{},"content":{"582":{"position":[[82,12]]}},"keywords":{}}],["binarysav",{"_index":4519,"title":{},"content":{"582":{"position":[[59,10]]}},"keywords":{}}],["bind",{"_index":2996,"title":{},"content":{"315":{"position":[[133,7]]},"350":{"position":[[209,4]]}},"keywords":{}}],["bind_address",{"_index":3051,"title":{},"content":{"320":{"position":[[1004,12]]}},"keywords":{}}],["bit",{"_index":373,"title":{},"content":{"17":{"position":[[68,3],[167,3]]},"18":{"position":[[71,3],[171,3]]},"20":{"position":[[922,3],[1016,3]]},"35":{"position":[[139,3],[150,3],[200,3],[301,3],[346,3],[355,3],[534,3],[554,3]]},"36":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9815,3],[9940,5],[10215,3]]},"37":{"position":[[139,3],[148,3],[327,3],[347,3]]},"52":{"position":[[575,4],[595,5]]},"60":{"position":[[467,3],[501,3]]},"61":{"position":[[607,3],[622,3],[899,4],[911,3],[932,4],[963,4]]},"67":{"position":[[449,3],[460,3],[558,3],[567,3],[1131,3]]},"99":{"position":[[241,3],[376,3],[537,3],[598,3],[663,3],[730,3],[837,3],[939,3],[1040,3],[1276,3],[1756,3],[2389,3],[2747,3],[3102,3],[3517,3],[4917,3]]},"135":{"position":[[426,4]]},"201":{"position":[[158,3],[169,3],[228,3],[330,3],[375,3],[384,3],[563,3],[583,3]]},"202":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9815,3],[9940,5],[10215,3]]},"203":{"position":[[158,3],[167,3],[346,3],[366,3]]},"204":{"position":[[381,3],[392,3],[451,3],[545,3],[554,3],[733,3],[753,3]]},"205":{"position":[[381,3],[390,3],[569,3],[589,3]]},"206":{"position":[[175,3],[186,3],[245,3],[347,3],[397,3],[406,3],[549,3],[564,3]]},"207":{"position":[[180,3],[189,3],[332,3],[347,3]]},"227":{"position":[[4288,3]]},"253":{"position":[[3482,3],[3610,3],[3821,3],[3990,3],[4410,3],[5278,3],[5511,3],[5579,3]]},"260":{"position":[[372,3],[384,3]]},"261":{"position":[[47,3]]},"262":{"position":[[439,3],[454,3]]},"266":{"position":[[160,3],[171,3],[232,3],[329,3],[368,3],[377,3],[561,3],[581,3]]},"267":{"position":[[1152,3],[1607,3],[1747,4],[1762,4],[1830,3],[1851,4],[7442,3],[7451,3]]},"268":{"position":[[160,3],[169,3],[353,3],[373,3]]},"269":{"position":[[330,3],[341,3],[402,3],[491,3],[500,3]]},"270":{"position":[[160,3],[169,3]]},"271":{"position":[[177,3],[188,3],[249,3],[346,3],[390,3],[399,3],[542,3],[557,3]]},"272":{"position":[[182,3],[191,3],[334,3],[349,3]]},"321":{"position":[[360,4],[2810,4]]},"329":{"position":[[240,3],[292,3],[329,3],[413,3],[503,3],[640,3],[727,3],[817,3],[853,3],[933,3],[1438,4],[1451,4],[1461,4],[1488,4]]},"338":{"position":[[638,4],[829,4]]},"347":{"position":[[412,3]]},"583":{"position":[[131,4],[214,5]]}},"keywords":{}}],["bit)"click",{"_index":3324,"title":{},"content":{"347":{"position":[[851,15]]}},"keywords":{}}],["bit=0x04c11db7",{"_index":1423,"title":{},"content":{"67":{"position":[[826,15]]}},"keywords":{}}],["bit=0x1021",{"_index":1422,"title":{},"content":{"67":{"position":[[811,11]]}},"keywords":{}}],["bit=0x42f0e1eba9ea3693",{"_index":1424,"title":{},"content":{"67":{"position":[[845,23]]}},"keywords":{}}],["bit=0xffff",{"_index":1426,"title":{},"content":{"67":{"position":[[940,11]]}},"keywords":{}}],["bit=0xffffffff",{"_index":1427,"title":{},"content":{"67":{"position":[[955,15]]}},"keywords":{}}],["bit=0xffffffffffffffff",{"_index":1428,"title":{},"content":{"67":{"position":[[974,23]]}},"keywords":{}}],["bit=fals",{"_index":1431,"title":{},"content":{"67":{"position":[[1075,10],[1219,10]]}},"keywords":{}}],["bit=tru",{"_index":1432,"title":{},"content":{"67":{"position":[[1089,9],[1102,9],[1233,9],[1246,9]]}},"keywords":{}}],["bit_offset",{"_index":3235,"title":{},"content":{"329":{"position":[[468,10],[882,10]]},"646":{"position":[[1000,13]]},"648":{"position":[[1042,13]]},"649":{"position":[[1229,13]]}},"keywords":{}}],["bit_siz",{"_index":4897,"title":{},"content":{"646":{"position":[[1017,11]]},"648":{"position":[[1059,11]]},"649":{"position":[[1247,11]]}},"keywords":{}}],["bitfield",{"_index":654,"title":{"329":{"position":[[14,9]]}},"content":{"35":{"position":[[1354,10]]},"37":{"position":[[1147,10]]},"201":{"position":[[1383,10]]},"203":{"position":[[1166,10]]},"204":{"position":[[1527,10]]},"205":{"position":[[1363,10]]},"266":{"position":[[989,10]]},"268":{"position":[[781,10]]},"269":{"position":[[1083,10]]},"270":{"position":[[752,10]]},"329":{"position":[[14,9],[47,9],[161,10],[944,8]]}},"keywords":{}}],["bits.x509",{"_index":449,"title":{},"content":{"20":{"position":[[959,9]]}},"keywords":{}}],["bitsiz",{"_index":2379,"title":{},"content":{"232":{"position":[[985,7]]},"233":{"position":[[1202,7]]},"253":{"position":[[2814,7],[4816,7]]},"254":{"position":[[1412,7]]}},"keywords":{}}],["black",{"_index":3737,"title":{},"content":{"372":{"position":[[367,5]]},"379":{"position":[[149,8]]},"380":{"position":[[143,8]]},"381":{"position":[[154,8]]},"411":{"position":[[130,6]]},"444":{"position":[[816,5]]}},"keywords":{}}],["blank",{"_index":1524,"title":{},"content":{"75":{"position":[[1736,5]]},"253":{"position":[[632,5]]},"435":{"position":[[214,6]]},"527":{"position":[[434,5]]},"599":{"position":[[1001,5]]}},"keywords":{}}],["blank_or_default",{"_index":4736,"title":{},"content":{"623":{"position":[[386,16]]},"624":{"position":[[352,16]]}},"keywords":{}}],["blind",{"_index":2946,"title":{},"content":{"305":{"position":[[1176,5],[1249,6],[1278,5]]}},"keywords":{}}],["blob",{"_index":2497,"title":{},"content":{"250":{"position":[[309,4]]},"253":{"position":[[5405,5],[5475,4]]}},"keywords":{}}],["block",{"_index":223,"title":{"402":{"position":[[0,6]]}},"content":{"6":{"position":[[592,5]]},"31":{"position":[[594,6],[693,6]]},"35":{"position":[[737,5],[1438,5]]},"37":{"position":[[530,5],[1231,5]]},"49":{"position":[[688,5]]},"50":{"position":[[575,5]]},"51":{"position":[[848,6]]},"52":{"position":[[767,5]]},"99":{"position":[[3663,5],[3780,5]]},"198":{"position":[[895,6],[994,6],[1051,5]]},"201":{"position":[[766,5],[1467,5],[2218,5],[2230,5]]},"203":{"position":[[549,5],[1250,5]]},"204":{"position":[[122,5],[936,5],[1611,5]]},"205":{"position":[[122,5],[772,5],[1447,5]]},"206":{"position":[[523,6]]},"207":{"position":[[306,6]]},"259":{"position":[[919,6],[1018,6],[1090,5],[1341,5],[1533,5],[1704,5]]},"266":{"position":[[760,6]]},"267":{"position":[[7420,5]]},"268":{"position":[[552,6]]},"269":{"position":[[769,5]]},"270":{"position":[[438,5]]},"271":{"position":[[516,6]]},"272":{"position":[[308,6]]},"357":{"position":[[451,6]]},"402":{"position":[[10,5],[755,5]]},"476":{"position":[[398,6],[496,6],[896,5],[941,5]]},"480":{"position":[[85,6],[295,6],[374,6],[1201,6]]},"493":{"position":[[495,5]]},"511":{"position":[[45,7],[122,6]]},"528":{"position":[[444,5],[1340,5]]},"676":{"position":[[82,6],[231,5],[263,5],[339,6],[760,6]]},"752":{"position":[[32,5]]}},"keywords":{}}],["block=1000",{"_index":5102,"title":{},"content":{"676":{"position":[[1258,11]]}},"keywords":{}}],["block=non",{"_index":5097,"title":{},"content":{"676":{"position":[[141,11]]}},"keywords":{}}],["blow",{"_index":109,"title":{},"content":{"3":{"position":[[426,4]]}},"keywords":{}}],["blue",{"_index":2674,"title":{},"content":{"267":{"position":[[9584,4],[9801,4],[9971,4],[10187,4]]},"376":{"position":[[256,4]]},"377":{"position":[[252,4]]},"378":{"position":[[254,4]]},"379":{"position":[[309,4],[320,4]]},"380":{"position":[[303,4],[314,4]]},"381":{"position":[[314,4],[325,4]]},"383":{"position":[[837,4],[871,4]]},"439":{"position":[[451,4]]},"440":{"position":[[705,4]]},"443":{"position":[[526,4]]},"445":{"position":[[250,4]]},"568":{"position":[[183,6]]},"700":{"position":[[1289,4],[1439,4]]}},"keywords":{}}],["board",{"_index":22,"title":{},"content":{"1":{"position":[[229,6]]},"347":{"position":[[222,5]]}},"keywords":{}}],["bob",{"_index":2517,"title":{},"content":{"253":{"position":[[1468,3],[1502,3],[2229,3],[2286,3],[2306,3],[2505,4],[2745,3],[3200,3],[4745,3],[5119,3],[6400,3],[6599,3],[6736,3],[7258,3],[7324,3],[8231,3]]},"254":{"position":[[167,3],[206,3],[612,3],[1012,3],[1041,3],[1128,3],[1343,3],[1981,3],[2020,3],[2140,3],[2451,3]]}},"keywords":{}}],["bob>",{"_index":2527,"title":{},"content":{"253":{"position":[[2247,7]]},"254":{"position":[[72,7],[1886,7]]}},"keywords":{}}],["bob"",{"_index":2519,"title":{},"content":{"253":{"position":[[1594,9]]}},"keywords":{}}],["bob/plugin.txt",{"_index":2552,"title":{},"content":{"253":{"position":[[6435,14]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/cmd.txt",{"_index":2529,"title":{},"content":{"253":{"position":[[2704,32]]},"254":{"position":[[1213,31]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/tlm.txt",{"_index":2541,"title":{},"content":{"253":{"position":[[4702,32]]}},"keywords":{}}],["bob_int",{"_index":2561,"title":{},"content":{"253":{"position":[[7579,7],[8252,7]]},"254":{"position":[[743,7]]}},"keywords":{}}],["bob_target_nam",{"_index":2555,"title":{},"content":{"253":{"position":[[6583,15],[6747,15],[6786,15],[6921,15],[6993,15]]},"254":{"position":[[2270,17]]}},"keywords":{}}],["bob_target_name.th",{"_index":2560,"title":{},"content":{"253":{"position":[[7504,19]]}},"keywords":{}}],["bodi",{"_index":4257,"title":{},"content":{"483":{"position":[[487,4]]}},"keywords":{}}],["bonjour",{"_index":3348,"title":{},"content":{"347":{"position":[[2034,7]]}},"keywords":{}}],["bonu",{"_index":4278,"title":{},"content":{"486":{"position":[[222,5]]}},"keywords":{}}],["book.titl",{"_index":690,"title":{},"content":{"36":{"position":[[1533,12]]},"202":{"position":[[1533,12]]},"267":{"position":[[1528,12]]}},"keywords":{}}],["bookkeep",{"_index":4454,"title":{},"content":{"527":{"position":[[197,12]]}},"keywords":{}}],["bool",{"_index":2382,"title":{},"content":{"232":{"position":[[1157,4]]},"233":{"position":[[1435,4]]},"253":{"position":[[2992,4],[3972,4],[4191,4],[4951,4]]},"254":{"position":[[1592,4]]}},"keywords":{}}],["boolean",{"_index":4737,"title":{},"content":{"623":{"position":[[484,7]]},"624":{"position":[[450,7]]}},"keywords":{}}],["boot",{"_index":1156,"title":{},"content":{"46":{"position":[[500,5]]},"347":{"position":[[1834,4]]}},"keywords":{}}],["bootstrap",{"_index":1652,"title":{},"content":{"84":{"position":[[98,9]]}},"keywords":{}}],["border",{"_index":3756,"title":{},"content":{"381":{"position":[[34,6]]},"387":{"position":[[61,6],[233,6]]},"389":{"position":[[63,6],[191,6]]}},"keywords":{}}],["bordercolor",{"_index":3755,"title":{"381":{"position":[[0,12]]}},"content":{"381":{"position":[[5,11],[425,11],[488,11]]}},"keywords":{}}],["both",{"_index":121,"title":{},"content":{"3":{"position":[[562,4]]},"9":{"position":[[793,4],[844,4]]},"11":{"position":[[223,4]]},"52":{"position":[[91,4]]},"69":{"position":[[4874,4]]},"99":{"position":[[2889,4],[3324,4]]},"134":{"position":[[268,4],[470,4]]},"224":{"position":[[131,4]]},"227":{"position":[[296,4],[4731,4]]},"232":{"position":[[141,4]]},"233":{"position":[[151,4]]},"237":{"position":[[444,4]]},"241":{"position":[[302,4]]},"249":{"position":[[140,4]]},"250":{"position":[[102,4]]},"263":{"position":[[944,4]]},"303":{"position":[[2023,4]]},"304":{"position":[[3461,4]]},"307":{"position":[[60,4]]},"320":{"position":[[1683,4]]},"331":{"position":[[280,4]]},"343":{"position":[[98,4]]},"355":{"position":[[731,4]]},"357":{"position":[[191,4],[2384,4]]},"363":{"position":[[7,4]]},"475":{"position":[[17,4],[155,5],[186,4]]},"476":{"position":[[980,4],[3577,4]]},"480":{"position":[[479,4]]},"482":{"position":[[99,4],[203,4],[1485,4]]},"488":{"position":[[430,5]]},"493":{"position":[[65,4]]},"498":{"position":[[275,4]]},"512":{"position":[[54,4]]},"516":{"position":[[188,4]]},"526":{"position":[[15,4]]},"527":{"position":[[42,4],[579,4]]},"536":{"position":[[269,4]]},"538":{"position":[[167,4]]},"548":{"position":[[491,4]]},"561":{"position":[[71,4]]},"578":{"position":[[428,4]]},"601":{"position":[[340,4]]},"603":{"position":[[18,4]]},"616":{"position":[[213,4]]}},"keywords":{}}],["bottom",{"_index":1665,"title":{},"content":{"84":{"position":[[788,6]]},"327":{"position":[[117,6]]},"462":{"position":[[668,6]]},"468":{"position":[[254,6]]},"490":{"position":[[346,6]]},"530":{"position":[[362,6]]},"536":{"position":[[367,6]]},"593":{"position":[[753,7]]},"600":{"position":[[368,6]]},"617":{"position":[[1199,6]]}},"keywords":{}}],["bounc",{"_index":4089,"title":{},"content":{"461":{"position":[[899,6]]}},"keywords":{}}],["bound",{"_index":801,"title":{},"content":{"36":{"position":[[6968,5],[6992,5],[7115,6]]},"51":{"position":[[419,5]]},"202":{"position":[[6968,5],[6992,5],[7115,6]]},"267":{"position":[[5569,5],[5593,5],[5716,6]]},"467":{"position":[[902,5]]}},"keywords":{}}],["boundari",{"_index":1273,"title":{},"content":{"54":{"position":[[82,10]]},"57":{"position":[[369,8],[551,10]]}},"keywords":{}}],["box",{"_index":41,"title":{},"content":{"2":{"position":[[223,5]]},"235":{"position":[[1871,3]]},"298":{"position":[[314,5]]},"303":{"position":[[1976,3],[2211,4],[2349,4]]},"304":{"position":[[5886,3],[6053,3],[6201,3],[6331,3],[6493,3],[6877,3]]},"334":{"position":[[1037,3]]},"387":{"position":[[253,3]]},"389":{"position":[[211,3]]},"403":{"position":[[12,3],[179,3],[792,3]]},"406":{"position":[[377,3]]},"407":{"position":[[523,3]]},"408":{"position":[[397,3]]},"409":{"position":[[400,3]]},"410":{"position":[[674,3]]},"415":{"position":[[366,3]]},"416":{"position":[[369,3]]},"417":{"position":[[643,3]]},"426":{"position":[[18,3]]},"427":{"position":[[12,3],[70,3],[605,3]]},"430":{"position":[[18,3]]},"435":{"position":[[24,3]]},"517":{"position":[[597,3]]},"544":{"position":[[327,4]]},"572":{"position":[[209,4]]},"578":{"position":[[649,3]]},"579":{"position":[[85,3]]},"584":{"position":[[476,3]]},"605":{"position":[[461,3]]},"612":{"position":[[244,3],[535,3],[1069,3]]},"627":{"position":[[79,3]]},"632":{"position":[[73,3],[1033,4]]}},"keywords":{}}],["bracket",{"_index":1394,"title":{},"content":{"63":{"position":[[733,8]]},"476":{"position":[[4663,7],[4817,8]]},"636":{"position":[[1368,8]]}},"keywords":{}}],["branch",{"_index":2987,"title":{},"content":{"313":{"position":[[98,6]]},"324":{"position":[[2740,6],[2753,6]]},"449":{"position":[[183,6],[445,6]]}},"keywords":{}}],["brave",{"_index":1172,"title":{},"content":{"46":{"position":[[980,6]]}},"keywords":{}}],["break",{"_index":1125,"title":{},"content":{"44":{"position":[[3506,6]]},"46":{"position":[[1147,5]]},"168":{"position":[[16,6]]},"254":{"position":[[410,8],[1814,8]]},"289":{"position":[[963,5]]},"304":{"position":[[984,5],[6401,8],[6473,5]]},"479":{"position":[[327,8]]},"482":{"position":[[667,6]]},"485":{"position":[[67,5]]},"508":{"position":[[491,5]]},"612":{"position":[[1459,5],[1481,5]]},"752":{"position":[[193,8]]}},"keywords":{}}],["breakdown",{"_index":441,"title":{},"content":{"20":{"position":[[799,9]]}},"keywords":{}}],["breakpoint",{"_index":2924,"title":{"491":{"position":[[0,12]]}},"content":{"304":{"position":[[4844,10],[4879,10]]},"491":{"position":[[76,11],[141,11],[173,11]]},"606":{"position":[[299,11]]},"608":{"position":[[744,12],[785,11]]}},"keywords":{}}],["brew",{"_index":3202,"title":{},"content":{"325":{"position":[[16,4],[334,4]]}},"keywords":{}}],["bridg",{"_index":1899,"title":{"335":{"position":[[0,7]]},"336":{"position":[[0,7]]},"337":{"position":[[30,8]]},"338":{"position":[[0,6]]},"339":{"position":[[0,6]]},"340":{"position":[[8,6]]}},"content":{"109":{"position":[[25,6]]},"322":{"position":[[487,6]]},"336":{"position":[[1,7]]},"338":{"position":[[1,7],[207,7],[1719,6]]},"339":{"position":[[71,6],[135,6],[367,6],[409,6]]},"340":{"position":[[28,6],[61,6],[94,6],[148,6]]},"341":{"position":[[43,7]]}},"keywords":{}}],["bridge.txt",{"_index":3262,"title":{"338":{"position":[[22,11]]}},"content":{"338":{"position":[[51,11],[371,10]]},"339":{"position":[[36,10],[187,10],[384,10]]}},"keywords":{}}],["bridgegem",{"_index":3273,"title":{},"content":{"339":{"position":[[300,9]]}},"keywords":{}}],["bridgesetup",{"_index":3264,"title":{},"content":{"338":{"position":[[421,11]]},"339":{"position":[[11,11]]}},"keywords":{}}],["brighten",{"_index":3827,"title":{},"content":{"403":{"position":[[238,9]]},"427":{"position":[[129,9]]}},"keywords":{}}],["bring",{"_index":4275,"title":{},"content":{"485":{"position":[[448,5]]},"488":{"position":[[301,5],[337,5],[375,5],[488,5],[703,5],[1170,5],[1243,5],[1288,5],[1412,5],[1580,5]]},"518":{"position":[[26,5]]},"533":{"position":[[341,6]]},"558":{"position":[[159,6],[312,6]]},"564":{"position":[[108,6],[418,5]]},"591":{"position":[[21,6]]},"592":{"position":[[57,6]]},"599":{"position":[[114,6],[649,6]]},"608":{"position":[[25,6]]},"617":{"position":[[1088,5]]},"735":{"position":[[33,5]]}},"keywords":{}}],["broken",{"_index":3285,"title":{},"content":{"343":{"position":[[115,6]]},"478":{"position":[[28,6]]},"617":{"position":[[155,6]]}},"keywords":{}}],["brought",{"_index":3491,"title":{},"content":{"357":{"position":[[964,7]]}},"keywords":{}}],["brows",{"_index":2585,"title":{"517":{"position":[[0,8]]}},"content":{"254":{"position":[[2173,6]]},"343":{"position":[[170,8]]},"605":{"position":[[403,6]]}},"keywords":{}}],["browser",{"_index":67,"title":{},"content":{"2":{"position":[[654,7]]},"24":{"position":[[452,7],[920,8]]},"44":{"position":[[475,8],[644,9],[1269,7]]},"84":{"position":[[1251,7]]},"95":{"position":[[324,7]]},"103":{"position":[[59,8]]},"245":{"position":[[30,7],[489,7]]},"291":{"position":[[771,8]]},"293":{"position":[[15,7]]},"298":{"position":[[745,7]]},"299":{"position":[[215,8],[327,7]]},"307":{"position":[[549,7]]},"315":{"position":[[437,7]]},"322":{"position":[[107,7],[1866,7]]},"324":{"position":[[3974,7]]},"347":{"position":[[2603,7]]},"353":{"position":[[331,8]]},"516":{"position":[[27,7],[129,7]]},"518":{"position":[[42,7]]},"538":{"position":[[177,7]]},"559":{"position":[[239,7],[295,8]]},"566":{"position":[[248,7],[280,8]]},"593":{"position":[[37,7]]},"599":{"position":[[457,7]]},"601":{"position":[[36,7],[407,7],[592,7],[775,7]]}},"keywords":{}}],["browser'",{"_index":1030,"title":{},"content":{"44":{"position":[[218,9]]},"84":{"position":[[1351,9]]}},"keywords":{}}],["browserdelet",{"_index":4577,"title":{},"content":{"605":{"position":[[236,14]]}},"keywords":{}}],["brute",{"_index":381,"title":{},"content":{"17":{"position":[[289,5]]},"18":{"position":[[294,5]]}},"keywords":{}}],["bucket",{"_index":1444,"title":{"515":{"position":[[0,6]]}},"content":{"69":{"position":[[1168,7],[1442,7]]},"240":{"position":[[1343,6]]},"250":{"position":[[246,6],[290,8],[329,6]]},"516":{"position":[[1,6],[57,6],[166,6]]},"517":{"position":[[42,8],[81,6],[203,6],[295,6],[465,6],[685,7],[724,6],[830,6]]},"518":{"position":[[94,6]]},"519":{"position":[[74,6]]}},"keywords":{}}],["bucket_file_uri="$(curl",{"_index":1128,"title":{},"content":{"44":{"position":[[3549,28]]}},"keywords":{}}],["buf_siz",{"_index":4532,"title":{},"content":{"585":{"position":[[678,8],[1031,11],[1050,8]]}},"keywords":{}}],["buffer",{"_index":774,"title":{},"content":{"36":{"position":[[5686,7],[6041,8]]},"107":{"position":[[106,6]]},"146":{"position":[[38,6],[116,6]]},"153":{"position":[[47,6],[125,6]]},"202":{"position":[[5686,7],[6041,8]]},"204":{"position":[[1269,6]]},"205":{"position":[[1105,6]]},"227":{"position":[[6148,6]]},"267":{"position":[[4166,7],[4521,8]]},"585":{"position":[[490,6],[601,6],[705,6],[794,6]]},"586":{"position":[[582,6],[764,6],[841,6],[938,7]]},"644":{"position":[[1252,9]]},"650":{"position":[[70,6],[119,6],[206,6],[1154,9]]},"661":{"position":[[70,7],[102,6],[189,6]]}},"keywords":{}}],["buffer.format",{"_index":4531,"title":{},"content":{"585":{"position":[[516,16]]}},"keywords":{}}],["buffer.length",{"_index":4534,"title":{},"content":{"585":{"position":[[757,13]]}},"keywords":{}}],["buffer[i...(i",{"_index":4539,"title":{},"content":{"585":{"position":[[1015,13]]}},"keywords":{}}],["build",{"_index":620,"title":{"254":{"position":[[0,8]]},"319":{"position":[[0,5]]},"594":{"position":[[0,8]]}},"content":{"31":{"position":[[396,5]]},"63":{"position":[[1141,5]]},"83":{"position":[[451,8],[615,5],[671,5],[736,5],[822,6],[839,5],[1611,8],[1630,8]]},"84":{"position":[[503,5],[550,6],[569,6]]},"85":{"position":[[439,5],[447,5]]},"90":{"position":[[540,5]]},"104":{"position":[[73,5]]},"112":{"position":[[568,6]]},"194":{"position":[[177,5]]},"229":{"position":[[1264,8],[1320,5]]},"230":{"position":[[1604,8]]},"235":{"position":[[1370,5],[1431,5],[1533,5]]},"237":{"position":[[59,5]]},"239":{"position":[[411,5]]},"241":{"position":[[307,5]]},"245":{"position":[[141,8],[170,6],[445,5]]},"247":{"position":[[91,5]]},"253":{"position":[[3414,6]]},"254":{"position":[[16,5],[100,5],[280,6],[325,8],[1914,5]]},"257":{"position":[[1853,8],[1914,5]]},"289":{"position":[[586,6],[733,6]]},"318":{"position":[[312,5]]},"319":{"position":[[101,5]]},"321":{"position":[[3509,5],[3615,5],[3709,5]]},"328":{"position":[[629,5],[700,5],[911,5],[1062,5],[1209,5],[1487,5]]},"334":{"position":[[566,5]]},"448":{"position":[[27,5],[314,5]]},"511":{"position":[[36,8]]},"581":{"position":[[126,6]]},"594":{"position":[[29,5]]},"644":{"position":[[1,6]]}},"keywords":{}}],["build_cmd",{"_index":4854,"title":{"644":{"position":[[0,9]]}},"content":{},"keywords":{}}],["build_cmd(<args>",{"_index":4858,"title":{},"content":{"644":{"position":[[47,23],[120,23]]}},"keywords":{}}],["build_cmd("inst",{"_index":4863,"title":{},"content":{"644":{"position":[[421,20],[980,20]]}},"keywords":{}}],["build_command",{"_index":4857,"title":{"644":{"position":[[40,15]]}},"content":{},"keywords":{}}],["builder",{"_index":3004,"title":{},"content":{"318":{"position":[[22,7]]}},"keywords":{}}],["buildtype=${buildtyp",{"_index":3009,"title":{},"content":{"318":{"position":[[140,22]]}},"keywords":{}}],["buildtype=debug",{"_index":3008,"title":{},"content":{"318":{"position":[[120,15]]}},"keywords":{}}],["built",{"_index":554,"title":{"490":{"position":[[0,5]]}},"content":{"24":{"position":[[965,5]]},"36":{"position":[[4525,6],[8517,6]]},"49":{"position":[[1657,5],[2645,5]]},"50":{"position":[[1397,5],[2238,5]]},"52":{"position":[[1663,5]]},"53":{"position":[[122,5]]},"54":{"position":[[155,5]]},"83":{"position":[[871,5]]},"99":{"position":[[1802,5],[2435,5],[4963,5]]},"112":{"position":[[507,5]]},"123":{"position":[[258,5]]},"194":{"position":[[268,5]]},"202":{"position":[[4525,6],[8517,6]]},"235":{"position":[[301,5]]},"254":{"position":[[133,5],[447,5],[1947,5],[2193,5]]},"259":{"position":[[1628,5]]},"291":{"position":[[51,5]]},"304":{"position":[[800,5]]},"322":{"position":[[27,6]]},"324":{"position":[[3912,5]]},"327":{"position":[[287,5],[587,6]]},"328":{"position":[[554,5],[725,6]]},"334":{"position":[[599,5],[786,5]]},"363":{"position":[[300,5]]},"490":{"position":[[19,5]]},"517":{"position":[[502,5]]},"588":{"position":[[67,5],[154,5]]},"619":{"position":[[108,5]]},"709":{"position":[[46,5]]},"723":{"position":[[42,5]]}},"keywords":{}}],["bump",{"_index":2580,"title":{},"content":{"254":{"position":[[1841,4]]}},"keywords":{}}],["bunch",{"_index":2520,"title":{},"content":{"253":{"position":[[1611,5]]}},"keywords":{}}],["bundl",{"_index":533,"title":{},"content":{"24":{"position":[[205,7]]},"85":{"position":[[1278,6],[1321,6],[1352,6]]},"104":{"position":[[95,6]]},"291":{"position":[[908,7]]},"448":{"position":[[130,6],[169,6],[297,6]]},"449":{"position":[[349,6]]}},"keywords":{}}],["bundle.pem",{"_index":534,"title":{},"content":{"24":{"position":[[214,10],[283,10],[347,11]]}},"keywords":{}}],["bundler",{"_index":4006,"title":{},"content":{"448":{"position":[[99,8]]}},"keywords":{}}],["burst",{"_index":1212,"title":{"59":{"position":[[0,5]]}},"content":{"49":{"position":[[1071,5],[1966,5]]},"50":{"position":[[916,5],[1664,5]]},"52":{"position":[[1132,5]]},"54":{"position":[[821,5],[1542,5],[2582,5],[2794,5]]},"56":{"position":[[73,6]]},"59":{"position":[[5,5],[150,5],[203,6]]},"60":{"position":[[717,5]]},"61":{"position":[[545,5]]},"125":{"position":[[222,5],[366,5]]},"126":{"position":[[263,5],[459,5]]},"127":{"position":[[266,5],[465,5]]},"134":{"position":[[1088,5]]},"135":{"position":[[853,5]]},"230":{"position":[[2713,5]]},"253":{"position":[[6897,5],[7964,5]]},"336":{"position":[[223,5]]},"338":{"position":[[1562,5]]}},"keywords":{}}],["buse",{"_index":1881,"title":{},"content":{"108":{"position":[[384,5]]}},"keywords":{}}],["busi",{"_index":3608,"title":{},"content":{"359":{"position":[[376,9]]}},"keywords":{}}],["button",{"_index":1666,"title":{"429":{"position":[[0,7]]}},"content":{"84":{"position":[[819,6]]},"131":{"position":[[24,6]]},"235":{"position":[[1263,7]]},"253":{"position":[[462,6]]},"301":{"position":[[367,6],[773,6],[1083,6],[1323,6]]},"303":{"position":[[677,7]]},"304":{"position":[[2377,6]]},"310":{"position":[[193,6]]},"332":{"position":[[820,6]]},"366":{"position":[[130,7]]},"372":{"position":[[201,7]]},"384":{"position":[[194,7],[684,6]]},"429":{"position":[[34,6],[61,6],[107,7],[186,6],[383,6],[817,7],[1286,6],[1642,6],[1654,6],[1702,6],[1742,6],[1830,6],[2057,6]]},"430":{"position":[[277,6]]},"431":{"position":[[309,6]]},"432":{"position":[[237,6]]},"433":{"position":[[145,6],[168,6]]},"434":{"position":[[18,6],[289,6],[436,6]]},"435":{"position":[[296,6]]},"436":{"position":[[237,6]]},"446":{"position":[[483,6],[947,6]]},"505":{"position":[[271,6],[320,6]]},"556":{"position":[[176,6],[435,6],[650,6]]},"559":{"position":[[22,6],[142,6]]},"583":{"position":[[11,7]]},"584":{"position":[[228,6],[344,6],[375,6]]},"592":{"position":[[231,6]]},"593":{"position":[[518,6],[770,6]]},"601":{"position":[[268,7],[498,6],[682,6],[856,6],[997,6]]},"607":{"position":[[82,7],[414,6]]},"610":{"position":[[880,7],[937,7]]},"611":{"position":[[620,7]]},"613":{"position":[[244,6]]},"617":{"position":[[403,8],[494,6],[580,6],[657,6],[731,6]]},"627":{"position":[[98,7],[161,6],[563,6]]},"634":{"position":[[66,7]]}},"keywords":{}}],["button)send",{"_index":1770,"title":{},"content":{"95":{"position":[[440,11]]}},"keywords":{}}],["button/select",{"_index":4748,"title":{},"content":{"627":{"position":[[530,16]]}},"keywords":{}}],["buttonpick",{"_index":3318,"title":{},"content":{"347":{"position":[[699,10]]}},"keywords":{}}],["buttonselect",{"_index":3321,"title":{},"content":{"347":{"position":[[765,12],[898,12]]}},"keywords":{}}],["buy",{"_index":3659,"title":{"362":{"position":[[15,3]]}},"content":{},"keywords":{}}],["byte",{"_index":1293,"title":{},"content":{"56":{"position":[[229,4]]},"57":{"position":[[25,4],[89,5],[291,4],[434,4],[482,5]]},"58":{"position":[[272,4],[318,4],[375,5],[421,4],[482,4]]},"59":{"position":[[369,5],[559,5],[579,5],[658,5],[751,6],[797,4]]},"60":{"position":[[591,6],[666,6],[810,5],[930,6],[957,5],[977,5],[1056,5],[1149,6],[1195,4]]},"61":{"position":[[483,6],[1122,5],[1406,5],[1436,5],[1543,6],[1599,4],[1738,5],[1758,5],[1837,5],[2049,6],[2095,4],[2876,6],[2893,6],[2910,6],[3022,6],[3056,5],[3235,5],[3310,6]]},"62":{"position":[[863,5],[883,5],[962,5],[1051,6],[1097,4]]},"63":{"position":[[2047,5],[2067,5],[2146,5],[2235,6],[2281,4]]},"64":{"position":[[377,4]]},"67":{"position":[[1148,4]]},"99":{"position":[[291,5],[1214,4],[3597,5]]},"148":{"position":[[134,5]]},"151":{"position":[[141,5]]},"155":{"position":[[136,5]]},"158":{"position":[[143,5]]},"198":{"position":[[1158,4],[1313,5]]},"226":{"position":[[1690,4]]},"253":{"position":[[5414,5]]},"259":{"position":[[1174,4],[1871,5]]},"261":{"position":[[291,5]]},"321":{"position":[[3239,5]]},"329":{"position":[[346,4],[417,4],[520,4],[695,4],[825,4],[1367,4],[1403,4],[1613,5]]},"402":{"position":[[362,5],[387,5]]},"536":{"position":[[189,4]]},"539":{"position":[[139,4]]},"541":{"position":[[285,5]]},"542":{"position":[[306,5]]},"585":{"position":[[628,5]]},"715":{"position":[[219,5],[238,5],[696,5],[728,5],[1256,5],[1291,5]]},"724":{"position":[[213,5],[232,5],[672,5],[704,5],[1205,5],[1237,5]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":4946,"title":{},"content":{"650":{"position":[[1164,88]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00a",{"_index":4876,"title":{},"content":{"644":{"position":[[1262,53]]}},"keywords":{}}],["bytes)0x1acffc1d",{"_index":1373,"title":{},"content":{"61":{"position":[[2925,16]]}},"keywords":{}}],["c",{"_index":666,"title":{},"content":{"36":{"position":[[445,1],[483,1]]},"85":{"position":[[1570,2]]},"202":{"position":[[445,1],[483,1]]},"267":{"position":[[440,1],[478,1]]},"329":{"position":[[1033,1],[1258,1],[1466,2]]},"459":{"position":[[858,2]]},"467":{"position":[[1404,3]]},"493":{"position":[[223,1]]}},"keywords":{}}],["c"",{"_index":3242,"title":{},"content":{"329":{"position":[[1287,7]]}},"keywords":{}}],["c0",{"_index":805,"title":{},"content":{"36":{"position":[[7127,2]]},"202":{"position":[[7127,2]]},"267":{"position":[[5728,2]]}},"keywords":{}}],["c2",{"_index":3710,"title":{},"content":{"364":{"position":[[1714,2]]}},"keywords":{}}],["c3",{"_index":3695,"title":{},"content":{"364":{"position":[[23,2]]}},"keywords":{}}],["c:4",{"_index":3239,"title":{},"content":{"329":{"position":[[1161,4]]}},"keywords":{}}],["c:\\cosmo",{"_index":2505,"title":{},"content":{"253":{"position":[[196,10]]},"256":{"position":[[233,9],[289,9],[434,9]]},"257":{"position":[[763,9],[808,9],[1134,9],[1369,9]]}},"keywords":{}}],["c:\\cosmos>",{"_index":2600,"title":{},"content":{"257":{"position":[[1120,13],[1355,13]]}},"keywords":{}}],["c:\\openc3",{"_index":2515,"title":{},"content":{"253":{"position":[[1415,9],[2190,9]]}},"keywords":{}}],["c:\\shared\\ball.pem",{"_index":2812,"title":{},"content":{"291":{"position":[[1095,20],[1225,19]]}},"keywords":{}}],["c:\\users\\<username>\\.wslconfig",{"_index":2771,"title":{},"content":{"289":{"position":[[792,37]]}},"keywords":{}}],["c:\\users\\username\\appdata\\roaming\\docker\\settings.json",{"_index":2780,"title":{},"content":{"289":{"position":[[1264,54]]}},"keywords":{}}],["ca",{"_index":2806,"title":{},"content":{"291":{"position":[[904,3]]}},"keywords":{}}],["cabl",{"_index":2250,"title":{},"content":{"227":{"position":[[885,5]]}},"keywords":{}}],["cable.subscriptions.cr",{"_index":2254,"title":{},"content":{"227":{"position":[[1238,27]]}},"keywords":{}}],["cacert.pem",{"_index":2796,"title":{},"content":{"291":{"position":[[120,10]]}},"keywords":{}}],["cach",{"_index":555,"title":{},"content":{"24":{"position":[[971,6]]},"42":{"position":[[564,5]]},"43":{"position":[[704,5],[791,5],[6324,5]]},"69":{"position":[[2156,6],[2217,6],[2306,6]]},"75":{"position":[[1821,6]]}},"keywords":{}}],["cad",{"_index":2418,"title":{},"content":{"235":{"position":[[1867,3]]}},"keywords":{}}],["calcul",{"_index":1365,"title":{},"content":{"61":{"position":[[2586,11],[3130,10],[3179,9]]},"67":{"position":[[172,10],[731,11],[898,11],[1168,11]]},"263":{"position":[[1672,10]]},"355":{"position":[[633,10]]},"586":{"position":[[623,9],[672,9]]},"599":{"position":[[355,11]]}},"keywords":{}}],["calendar",{"_index":2968,"title":{"310":{"position":[[0,9]]},"521":{"position":[[0,8]]}},"content":{"310":{"position":[[5,8],[139,8],[231,8],[327,8],[420,8],[503,8],[600,8],[695,8],[798,8]]},"522":{"position":[[1,8]]},"525":{"position":[[427,8]]},"526":{"position":[[102,9]]},"527":{"position":[[165,8],[218,8],[457,8]]},"540":{"position":[[497,8]]},"762":{"position":[[325,9]]},"763":{"position":[[342,9]]}},"keywords":{}}],["calibr",{"_index":4248,"title":{},"content":{"481":{"position":[[429,11]]}},"keywords":{}}],["call",{"_index":241,"title":{},"content":{"7":{"position":[[42,6],[574,6]]},"36":{"position":[[4316,4]]},"56":{"position":[[290,6]]},"69":{"position":[[1911,4],[3984,7],[4481,6],[4862,6]]},"71":{"position":[[68,4]]},"73":{"position":[[295,5]]},"74":{"position":[[310,5]]},"75":{"position":[[1675,4]]},"79":{"position":[[36,6],[598,4],[673,7]]},"135":{"position":[[76,5]]},"202":{"position":[[4316,4]]},"227":{"position":[[946,4]]},"229":{"position":[[129,6]]},"232":{"position":[[746,6]]},"233":{"position":[[793,6]]},"239":{"position":[[150,6]]},"246":{"position":[[67,6]]},"253":{"position":[[1567,6],[3586,6],[3795,6],[3965,6],[4384,6],[5123,6],[5255,6],[6986,6],[7396,6],[7559,6]]},"257":{"position":[[1218,6],[1465,6]]},"259":{"position":[[1644,6]]},"267":{"position":[[3265,4],[10410,6]]},"283":{"position":[[282,4],[373,4]]},"324":{"position":[[1252,6]]},"328":{"position":[[81,6],[686,4]]},"368":{"position":[[185,6]]},"476":{"position":[[4251,6],[4899,4]]},"483":{"position":[[516,7]]},"484":{"position":[[70,6]]},"487":{"position":[[668,6]]},"488":{"position":[[1350,4]]},"496":{"position":[[1038,6]]},"498":{"position":[[311,6]]},"584":{"position":[[43,4],[149,6],[261,6]]},"606":{"position":[[216,4]]},"611":{"position":[[79,7]]},"612":{"position":[[986,6]]},"676":{"position":[[687,5],[1185,5]]},"703":{"position":[[77,7],[211,4],[268,4]]}},"keywords":{}}],["call(self",{"_index":783,"title":{},"content":{"36":{"position":[[6015,10]]},"202":{"position":[[6015,10]]},"267":{"position":[[4495,10]]}},"keywords":{}}],["call(valu",{"_index":773,"title":{},"content":{"36":{"position":[[5666,11]]},"202":{"position":[[5666,11]]},"267":{"position":[[4146,11]]}},"keywords":{}}],["callback",{"_index":2261,"title":{},"content":{"227":{"position":[[1849,8],[2054,8],[4894,8]]}},"keywords":{}}],["camel",{"_index":4178,"title":{},"content":{"476":{"position":[[1550,5]]}},"keywords":{}}],["camelcas",{"_index":760,"title":{},"content":{"36":{"position":[[5160,9]]},"202":{"position":[[5160,9]]},"224":{"position":[[339,9]]},"267":{"position":[[3641,9]]}},"keywords":{}}],["can't",{"_index":1071,"title":{},"content":{"44":{"position":[[1642,5]]},"360":{"position":[[1230,5]]}},"keywords":{}}],["cancel",{"_index":2576,"title":{},"content":{"254":{"position":[[814,8]]},"495":{"position":[[1248,9],[1263,6]]},"559":{"position":[[160,6],[176,9]]},"671":{"position":[[187,8]]}},"keywords":{}}],["canva",{"_index":2357,"title":{"437":{"position":[[0,6]]},"438":{"position":[[0,7]]}},"content":{"230":{"position":[[2150,6]]},"437":{"position":[[3,6],[79,6],[148,7]]},"438":{"position":[[29,6],[49,6],[90,6],[118,6],[187,7],[245,6],[278,6]]},"439":{"position":[[21,6],[125,6],[203,6],[242,6],[354,6]]},"440":{"position":[[51,6],[271,6],[349,6],[586,6]]},"441":{"position":[[26,6],[239,6],[318,6],[347,6]]},"442":{"position":[[26,6],[680,6],[759,6],[900,6],[1519,6],[1598,6]]},"443":{"position":[[23,6],[121,6],[193,6],[261,6],[329,6],[442,6]]},"444":{"position":[[38,6],[329,6],[401,6],[469,6],[537,6],[744,6]]},"445":{"position":[[22,6],[221,6]]}},"keywords":{}}],["canvasdot",{"_index":3989,"title":{"445":{"position":[[0,10]]}},"content":{"445":{"position":[[234,9]]}},"keywords":{}}],["canvasimag",{"_index":2358,"title":{"441":{"position":[[0,12]]}},"content":{"230":{"position":[[2179,11]]},"441":{"position":[[362,11],[437,11],[640,12]]}},"keywords":{}}],["canvasimagevalu",{"_index":2359,"title":{"442":{"position":[[0,17]]}},"content":{"230":{"position":[[2195,16]]},"442":{"position":[[915,16],[1196,17]]}},"keywords":{}}],["canvaslabel",{"_index":3963,"title":{"439":{"position":[[0,12]]}},"content":{"439":{"position":[[369,11],[412,11]]}},"keywords":{}}],["canvaslabelvalu",{"_index":3968,"title":{"440":{"position":[[0,17]]}},"content":{"440":{"position":[[601,16],[655,16]]},"444":{"position":[[758,16]]}},"keywords":{}}],["canvaslin",{"_index":3983,"title":{"443":{"position":[[0,11]]}},"content":{"443":{"position":[[456,10],[476,10],[504,10]]}},"keywords":{}}],["canvaslinevalu",{"_index":3986,"title":{"444":{"position":[[0,16]]}},"content":{"444":{"position":[[822,15],[937,15],[1104,16]]}},"keywords":{}}],["cap",{"_index":1451,"title":{},"content":{"69":{"position":[[1770,4]]},"230":{"position":[[531,5]]},"231":{"position":[[623,5]]},"319":{"position":[[129,3]]},"476":{"position":[[1325,4]]}},"keywords":{}}],["cap_sys_resourc",{"_index":3029,"title":{},"content":{"319":{"position":[[137,16]]}},"keywords":{}}],["capabl",{"_index":1735,"title":{"490":{"position":[[19,13]]}},"content":{"93":{"position":[[1207,7]]},"474":{"position":[[71,12]]},"490":{"position":[[38,12]]},"566":{"position":[[298,10]]},"635":{"position":[[23,10]]}},"keywords":{}}],["capit",{"_index":2122,"title":{},"content":{"198":{"position":[[732,7]]},"259":{"position":[[759,7]]},"320":{"position":[[213,7]]}},"keywords":{}}],["captur",{"_index":1383,"title":{},"content":{"63":{"position":[[71,7]]},"230":{"position":[[770,7]]},"331":{"position":[[375,8]]},"482":{"position":[[930,7],[1150,7]]}},"keywords":{}}],["card",{"_index":3306,"title":{},"content":{"347":{"position":[[315,4],[376,5],[442,4],[552,4],[1703,4]]},"461":{"position":[[1108,4]]},"467":{"position":[[459,4]]}},"keywords":{}}],["card!)open",{"_index":3314,"title":{},"content":{"347":{"position":[[625,10]]}},"keywords":{}}],["cardclick",{"_index":3326,"title":{},"content":{"347":{"position":[[919,9]]}},"keywords":{}}],["cardholder’",{"_index":4091,"title":{},"content":{"461":{"position":[[1088,12]]}},"keywords":{}}],["care",{"_index":3192,"title":{},"content":{"324":{"position":[[3319,4]]},"476":{"position":[[209,7]]},"499":{"position":[[505,4]]},"608":{"position":[[257,7],[610,7]]}},"keywords":{}}],["carri",{"_index":4129,"title":{},"content":{"466":{"position":[[665,5]]}},"keywords":{}}],["case",{"_index":1067,"title":{},"content":{"44":{"position":[[1383,4]]},"46":{"position":[[541,4]]},"60":{"position":[[556,4]]},"61":{"position":[[2980,4]]},"198":{"position":[[775,4]]},"247":{"position":[[278,6]]},"253":{"position":[[5465,4],[7483,4]]},"259":{"position":[[802,4]]},"260":{"position":[[440,5]]},"304":{"position":[[812,5],[1016,5],[1111,5],[5254,6],[5288,5]]},"332":{"position":[[123,4]]},"336":{"position":[[172,6]]},"343":{"position":[[564,4]]},"345":{"position":[[387,5],[490,5]]},"347":{"position":[[254,4]]},"461":{"position":[[881,4]]},"476":{"position":[[1556,4]]},"480":{"position":[[145,6]]},"495":{"position":[[328,6]]},"513":{"position":[[449,4]]},"616":{"position":[[127,5]]},"627":{"position":[[822,4],[1150,4],[1182,4]]},"656":{"position":[[266,5]]},"657":{"position":[[165,5]]},"658":{"position":[[224,5]]},"700":{"position":[[81,5]]}},"keywords":{}}],["cat",{"_index":536,"title":{},"content":{"24":{"position":[[248,3]]}},"keywords":{}}],["catch",{"_index":2650,"title":{},"content":{"267":{"position":[[2236,5]]},"488":{"position":[[172,7]]},"502":{"position":[[82,5]]},"612":{"position":[[1387,5]]},"752":{"position":[[79,10]]}},"keywords":{}}],["categori",{"_index":2098,"title":{"190":{"position":[[0,9]]}},"content":{"190":{"position":[[1,8],[51,8],[153,8]]}},"keywords":{}}],["caught",{"_index":5470,"title":{},"content":{"752":{"position":[[339,6]]}},"keywords":{}}],["caus",{"_index":182,"title":{},"content":{"5":{"position":[[1208,5]]},"36":{"position":[[3197,5],[9980,6]]},"61":{"position":[[2422,6]]},"177":{"position":[[144,6]]},"202":{"position":[[3197,5],[9980,6]]},"214":{"position":[[74,6]]},"289":{"position":[[1066,5]]},"291":{"position":[[508,5]]},"322":{"position":[[1655,5]]},"327":{"position":[[254,6]]},"355":{"position":[[1005,6]]},"357":{"position":[[2377,6]]},"590":{"position":[[166,6]]},"599":{"position":[[1012,5]]},"608":{"position":[[75,6],[396,6]]},"609":{"position":[[55,6]]},"613":{"position":[[134,5]]},"713":{"position":[[312,6]]},"714":{"position":[[309,6]]},"725":{"position":[[297,6]]},"726":{"position":[[294,6]]},"752":{"position":[[411,5],[457,5]]}},"keywords":{}}],["caution",{"_index":5471,"title":{},"content":{"752":{"position":[[372,7]]}},"keywords":{}}],["cbor",{"_index":1794,"title":{},"content":{"99":{"position":[[718,4],[800,4],[2299,4],[3709,4],[3866,4]]}},"keywords":{}}],["cboraccessor",{"_index":2165,"title":{},"content":{"215":{"position":[[229,13]]},"279":{"position":[[229,13]]}},"keywords":{}}],["ccsd",{"_index":1356,"title":{},"content":{"61":{"position":[[280,5],[402,5],[2668,5],[2766,5],[3104,5]]},"226":{"position":[[1673,5]]},"285":{"position":[[176,5]]},"360":{"position":[[155,5]]},"667":{"position":[[664,5]]}},"keywords":{}}],["ccsds_utility.pi",{"_index":4182,"title":{},"content":{"476":{"position":[[1708,18]]}},"keywords":{}}],["ccsds_version",{"_index":356,"title":{},"content":{"13":{"position":[[512,13]]},"14":{"position":[[398,13]]}},"keywords":{}}],["ccsdsapid",{"_index":267,"title":{},"content":{"7":{"position":[[694,9],[899,9]]},"226":{"position":[[389,9],[1267,9],[2037,9]]},"285":{"position":[[398,9]]}},"keywords":{}}],["ccsdsday",{"_index":2722,"title":{},"content":{"285":{"position":[[719,8]]}},"keywords":{}}],["ccsdslength",{"_index":2227,"title":{},"content":{"226":{"position":[[657,11],[1535,11],[2305,11]]},"285":{"position":[[654,11]]}},"keywords":{}}],["ccsdsmsod",{"_index":2726,"title":{},"content":{"285":{"position":[[803,9]]}},"keywords":{}}],["ccsdsseqcnt",{"_index":2223,"title":{},"content":{"226":{"position":[[566,11],[1444,11],[2214,11]]},"285":{"position":[[586,11]]},"328":{"position":[[1668,11]]}},"keywords":{}}],["ccsdsseqflag",{"_index":2221,"title":{},"content":{"226":{"position":[[478,13],[1356,13],[2126,13]]},"285":{"position":[[468,13]]}},"keywords":{}}],["ccsdsshf",{"_index":2217,"title":{},"content":{"226":{"position":[[297,8],[1175,8],[1945,8]]},"285":{"position":[[305,8]]}},"keywords":{}}],["ccsdstype",{"_index":2215,"title":{},"content":{"226":{"position":[[217,9],[1095,9],[1865,9]]},"285":{"position":[[204,9]]}},"keywords":{}}],["ccsdsusom",{"_index":2729,"title":{},"content":{"285":{"position":[[876,10]]}},"keywords":{}}],["ccsdsutil",{"_index":4181,"title":{},"content":{"476":{"position":[[1689,13]]}},"keywords":{}}],["ccsdsver",{"_index":2213,"title":{},"content":{"226":{"position":[[135,8],[1013,8],[1783,8]]},"285":{"position":[[119,8]]},"646":{"position":[[988,11]]},"648":{"position":[[1030,11]]}},"keywords":{}}],["ccsdsver"",{"_index":5058,"title":{},"content":{"667":{"position":[[414,15]]}},"keywords":{}}],["cd",{"_index":1168,"title":{},"content":{"46":{"position":[[874,2],[1068,2],[1254,2]]},"84":{"position":[[235,2]]},"85":{"position":[[264,2],[676,2]]},"253":{"position":[[2212,2]]},"320":{"position":[[322,2],[366,2],[453,2]]},"321":{"position":[[82,2],[3566,2]]},"324":{"position":[[3376,2]]},"325":{"position":[[739,2]]},"347":{"position":[[2446,2]]}},"keywords":{}}],["cdn.alpinelinux.org",{"_index":1620,"title":{},"content":{"83":{"position":[[1980,19]]}},"keywords":{}}],["cell",{"_index":4483,"title":{},"content":{"553":{"position":[[14,5]]}},"keywords":{}}],["cellular",{"_index":3889,"title":{},"content":{"425":{"position":[[28,8]]}},"keywords":{}}],["celsiu",{"_index":664,"title":{},"content":{"36":{"position":[[387,7],[475,7]]},"202":{"position":[[387,7],[475,7]]},"267":{"position":[[382,7],[470,7]]}},"keywords":{}}],["center",{"_index":3682,"title":{},"content":{"363":{"position":[[987,6]]},"398":{"position":[[18,8]]},"404":{"position":[[571,8],[775,7]]},"485":{"position":[[366,8]]}},"keywords":{}}],["cento",{"_index":1150,"title":{},"content":{"46":{"position":[[302,6],[711,6]]}},"keywords":{}}],["cer",{"_index":2807,"title":{},"content":{"291":{"position":[[916,5]]}},"keywords":{}}],["cert",{"_index":469,"title":{"25":{"position":[[9,6]]}},"content":{"21":{"position":[[13,4]]},"22":{"position":[[34,4]]},"23":{"position":[[432,4]]},"25":{"position":[[21,4]]}},"keywords":{}}],["cert.crt",{"_index":479,"title":{},"content":{"21":{"position":[[201,10]]}},"keywords":{}}],["cert.key",{"_index":480,"title":{},"content":{"21":{"position":[[212,10]]},"24":{"position":[[73,8]]}},"keywords":{}}],["cert.pem",{"_index":539,"title":{},"content":{"24":{"position":[[360,9],[371,8],[730,8]]},"25":{"position":[[53,8]]}},"keywords":{}}],["certain",{"_index":115,"title":{},"content":{"3":{"position":[[489,7]]},"44":{"position":[[169,7]]},"148":{"position":[[43,7]]},"151":{"position":[[50,7]]},"155":{"position":[[45,7]]},"158":{"position":[[52,7]]},"372":{"position":[[46,7]]},"373":{"position":[[49,7]]},"462":{"position":[[326,7]]},"466":{"position":[[202,7],[286,7],[315,7],[491,7]]},"490":{"position":[[118,7]]},"684":{"position":[[27,7]]},"688":{"position":[[27,7]]}},"keywords":{}}],["certfil",{"_index":488,"title":{},"content":{"22":{"position":[[186,9]]}},"keywords":{}}],["certif",{"_index":389,"title":{"20":{"position":[[13,12]]},"26":{"position":[[15,11]]},"291":{"position":[[0,13]]}},"content":{"20":{"position":[[19,12],[123,12],[228,12],[893,11],[1094,11],[1288,11]]},"22":{"position":[[168,13]]},"24":{"position":[[399,12],[476,11],[679,12]]},"26":{"position":[[63,11],[154,11]]},"27":{"position":[[79,12],[681,12]]},"291":{"position":[[204,12],[569,11],[1005,11],[1483,11]]}},"keywords":{}}],["certifi",{"_index":457,"title":{},"content":{"20":{"position":[[1082,7]]}},"keywords":{}}],["certificate.sha256",{"_index":451,"title":{},"content":{"20":{"position":[[987,18]]}},"keywords":{}}],["cf",{"_index":2983,"title":{"312":{"position":[[16,3]]},"316":{"position":[[11,4]]},"317":{"position":[[6,4]]},"318":{"position":[[21,3]]},"319":{"position":[[14,4]]},"320":{"position":[[50,4]]}},"content":{"315":{"position":[[68,4],[250,3]]},"316":{"position":[[13,3]]},"318":{"position":[[387,4]]},"319":{"position":[[82,3],[110,3],[189,3],[221,3]]},"320":{"position":[[163,4],[168,3],[395,3],[449,3],[470,3],[520,3],[664,3],[734,3],[859,3],[870,3],[1327,4],[1700,4]]},"321":{"position":[[295,3],[1057,3],[1185,3],[1232,3],[1568,3],[1727,3],[2232,3],[2750,3],[3576,3]]},"322":{"position":[[249,3],[344,3],[1096,3],[1200,3],[1268,3],[1450,4],[2239,3]]}},"keywords":{}}],["cfdp",{"_index":2079,"title":{},"content":{"182":{"position":[[256,4],[261,4],[279,5]]},"360":{"position":[[161,4],[174,4]]},"362":{"position":[[290,4]]}},"keywords":{}}],["cfe/cmake/makefile.sampl",{"_index":3020,"title":{},"content":{"318":{"position":[[474,25]]}},"keywords":{}}],["cfe/cmake/sample_def",{"_index":3022,"title":{},"content":{"318":{"position":[[528,21]]}},"keywords":{}}],["cff7fc477df9","scope":"openid",{"_index":1008,"title":{},"content":{"43":{"position":[[4578,49]]}},"keywords":{}}],["cfs/build",{"_index":3025,"title":{},"content":{"318":{"position":[[630,10],[641,10]]}},"keywords":{}}],["cfs/build/exe/cpu1",{"_index":3026,"title":{},"content":{"318":{"position":[[660,19]]}},"keywords":{}}],["cfs/targets/cf",{"_index":3055,"title":{},"content":{"320":{"position":[[1466,16]]}},"keywords":{}}],["cfs/targets/cfs/cmd_tlm",{"_index":3056,"title":{},"content":{"321":{"position":[[92,23]]}},"keywords":{}}],["cfs_cmds.txt",{"_index":3058,"title":{},"content":{"321":{"position":[[127,12],[1162,13]]}},"keywords":{}}],["cfs_int",{"_index":3135,"title":{},"content":{"322":{"position":[[2180,7]]}},"keywords":{}}],["cfs_target_nam",{"_index":3044,"title":{},"content":{"320":{"position":[[843,15],[881,15],[1034,15],[1173,15]]},"322":{"position":[[1310,15]]}},"keywords":{}}],["cfs_tlm.txt",{"_index":3059,"title":{},"content":{"321":{"position":[[146,11],[2726,12]]}},"keywords":{}}],["chain",{"_index":1301,"title":{},"content":{"56":{"position":[[566,6]]},"64":{"position":[[189,5]]},"75":{"position":[[784,5],[1149,5],[1591,6]]}},"keywords":{}}],["chain.pem",{"_index":549,"title":{},"content":{"24":{"position":[[782,9],[811,10],[823,9]]}},"keywords":{}}],["chanc",{"_index":715,"title":{},"content":{"36":{"position":[[3002,6]]},"69":{"position":[[3921,6],[4524,6]]},"202":{"position":[[3002,6]]},"227":{"position":[[1437,6]]},"267":{"position":[[2211,6]]}},"keywords":{}}],["chang",{"_index":1543,"title":{"470":{"position":[[4,7]]}},"content":{"80":{"position":[[92,6]]},"99":{"position":[[4616,8],[4851,6]]},"135":{"position":[[409,7]]},"208":{"position":[[189,7]]},"225":{"position":[[248,6]]},"235":{"position":[[1742,7]]},"253":{"position":[[224,6],[7101,6]]},"254":{"position":[[419,8],[1249,6],[1823,7],[2297,6],[2427,6]]},"256":{"position":[[327,6]]},"257":{"position":[[860,6],[902,6]]},"267":{"position":[[8382,7],[8665,8],[10459,7]]},"273":{"position":[[188,7]]},"282":{"position":[[249,6]]},"289":{"position":[[1443,6]]},"292":{"position":[[442,6]]},"305":{"position":[[1110,6]]},"308":{"position":[[594,6]]},"315":{"position":[[1,6]]},"320":{"position":[[556,6]]},"321":{"position":[[1,6],[3672,6]]},"322":{"position":[[1041,6],[1334,6],[1945,6]]},"324":{"position":[[1183,6]]},"328":{"position":[[657,7]]},"332":{"position":[[752,7]]},"334":{"position":[[332,7],[828,7],[950,8],[988,7]]},"338":{"position":[[1702,7]]},"343":{"position":[[633,6]]},"368":{"position":[[289,6]]},"383":{"position":[[844,6],[952,6]]},"403":{"position":[[277,8]]},"411":{"position":[[22,7]]},"424":{"position":[[52,7]]},"425":{"position":[[55,7]]},"427":{"position":[[168,8]]},"442":{"position":[[38,7]]},"444":{"position":[[15,8]]},"449":{"position":[[206,7],[566,6]]},"470":{"position":[[12,7],[62,7]]},"488":{"position":[[1301,7],[1493,6],[1593,8]]},"505":{"position":[[278,7]]},"514":{"position":[[1392,7]]},"527":{"position":[[348,7]]},"528":{"position":[[489,7],[601,7],[644,7]]},"533":{"position":[[82,8],[553,6],[656,7]]},"538":{"position":[[88,7],[231,7]]},"553":{"position":[[95,7]]},"556":{"position":[[657,7]]},"558":{"position":[[218,6]]},"559":{"position":[[149,7]]},"570":{"position":[[3,6]]},"577":{"position":[[587,6],[854,6]]},"593":{"position":[[344,6],[407,6]]},"599":{"position":[[136,6],[205,8],[234,7],[400,8],[1093,8]]},"607":{"position":[[421,7],[519,8]]},"617":{"position":[[664,7]]},"636":{"position":[[1161,6]]},"637":{"position":[[1383,6]]},"638":{"position":[[1404,6]]},"639":{"position":[[1437,6]]},"640":{"position":[[1237,6]]},"641":{"position":[[1454,6]]},"642":{"position":[[1475,6]]},"643":{"position":[[1508,6]]},"680":{"position":[[75,6]]},"700":{"position":[[175,8],[1706,8],[1744,7]]},"717":{"position":[[143,6]]},"718":{"position":[[150,6]]},"727":{"position":[[133,6]]},"728":{"position":[[147,6]]},"769":{"position":[[295,6]]},"773":{"position":[[119,6],[198,6]]}},"keywords":{}}],["changes)not",{"_index":1069,"title":{},"content":{"44":{"position":[[1505,12]]}},"keywords":{}}],["channel",{"_index":2255,"title":{},"content":{"227":{"position":[[1268,8],[1679,7]]}},"keywords":{}}],["chapter",{"_index":3035,"title":{},"content":{"320":{"position":[[76,7]]}},"keywords":{}}],["char",{"_index":1327,"title":{},"content":{"58":{"position":[[660,4],[960,4],[1017,4],[1058,4],[1116,4]]}},"keywords":{}}],["charact",{"_index":286,"title":{},"content":{"8":{"position":[[37,9],[120,10],[260,9]]},"9":{"position":[[52,10],[138,10],[487,10],[772,10]]},"54":{"position":[[494,10]]},"58":{"position":[[58,10],[132,11],[301,10],[403,10],[523,9],[665,9],[718,10],[740,10],[843,9],[919,9],[965,9],[1029,9],[1063,9],[1087,9],[1121,9],[1145,9]]},"62":{"position":[[62,10],[156,10],[493,10],[613,10],[628,10],[790,10]]},"63":{"position":[[1318,10],[1438,10],[1453,10],[1974,10]]},"98":{"position":[[44,9]]},"403":{"position":[[733,10],[758,10]]},"406":{"position":[[318,10],[343,10]]},"407":{"position":[[464,10],[489,10]]},"408":{"position":[[338,10],[363,10]]},"409":{"position":[[341,10],[366,10]]},"410":{"position":[[615,10],[640,10]]},"415":{"position":[[307,10],[332,10]]},"416":{"position":[[310,10],[335,10]]},"417":{"position":[[584,10],[609,10]]},"427":{"position":[[546,10],[571,10]]},"435":{"position":[[127,10]]},"476":{"position":[[136,9]]},"750":{"position":[[40,10],[123,11],[238,10]]},"751":{"position":[[39,10],[122,11]]}},"keywords":{}}],["character",{"_index":3467,"title":{},"content":{"357":{"position":[[13,16]]}},"keywords":{}}],["chart",{"_index":2462,"title":{},"content":{"243":{"position":[[305,6]]},"249":{"position":[[504,6]]},"353":{"position":[[110,7]]},"618":{"position":[[95,5]]}},"keywords":{}}],["check",{"_index":150,"title":{"25":{"position":[[0,8]]},"499":{"position":[[0,8]]},"504":{"position":[[15,6]]},"656":{"position":[[0,6]]}},"content":{"5":{"position":[[327,7]]},"36":{"position":[[4958,5],[8950,5]]},"40":{"position":[[1315,7]]},"44":{"position":[[2015,6]]},"79":{"position":[[872,7]]},"202":{"position":[[4958,5],[8950,5]]},"230":{"position":[[2063,8]]},"231":{"position":[[1011,5]]},"253":{"position":[[4624,5],[5874,5]]},"278":{"position":[[304,7]]},"289":{"position":[[621,6]]},"303":{"position":[[1408,9],[1437,8]]},"304":{"position":[[3214,5],[3312,5],[3372,5],[3998,8],[4044,6],[4094,8],[4143,6],[4480,5],[5890,7],[6057,7],[6205,7],[6335,7],[6497,7],[6654,6],[6881,7]]},"328":{"position":[[595,5]]},"331":{"position":[[171,5],[575,5]]},"334":{"position":[[1027,5]]},"344":{"position":[[306,8]]},"357":{"position":[[4082,5]]},"429":{"position":[[1842,7]]},"430":{"position":[[12,5],[233,5],[269,7]]},"446":{"position":[[867,5],[903,7]]},"476":{"position":[[4628,8],[4842,8]]},"478":{"position":[[947,5]]},"480":{"position":[[440,7],[462,7],[1273,7]]},"488":{"position":[[2634,5]]},"492":{"position":[[609,6]]},"493":{"position":[[111,6],[135,5],[246,5]]},"496":{"position":[[398,6]]},"499":{"position":[[30,8]]},"501":{"position":[[95,6],[135,5],[201,5],[239,5],[678,6],[738,8],[956,6],[1016,8]]},"504":{"position":[[37,6],[218,6],[401,5],[546,7],[656,7],[708,6],[804,8],[896,5]]},"528":{"position":[[989,6],[1117,5],[1442,5]]},"534":{"position":[[210,7],[330,8]]},"607":{"position":[[487,6]]},"617":{"position":[[296,6]]},"637":{"position":[[52,8]]},"639":{"position":[[66,6]]},"641":{"position":[[75,8]]},"643":{"position":[[89,6]]},"644":{"position":[[267,8]]},"656":{"position":[[182,5],[319,6]]},"657":{"position":[[1,6]]},"658":{"position":[[179,5],[448,5],[890,5]]},"685":{"position":[[23,5]]},"758":{"position":[[92,6]]}},"keywords":{}}],["check("<target",{"_index":4971,"title":{},"content":{"656":{"position":[[350,22]]}},"keywords":{}}],["check("inst",{"_index":4974,"title":{},"content":{"656":{"position":[[810,16],[1080,16],[1165,16],[1437,16]]},"669":{"position":[[772,16],[890,16],[1058,16],[1176,16]]}},"keywords":{}}],["check_except",{"_index":4995,"title":{"659":{"position":[[0,16]]}},"content":{},"keywords":{}}],["check_exception("<method",{"_index":4997,"title":{},"content":{"659":{"position":[[149,32]]}},"keywords":{}}],["check_exception("cmd"",{"_index":5000,"title":{},"content":{"659":{"position":[[392,32],[526,32]]}},"keywords":{}}],["check_express",{"_index":4388,"title":{"658":{"position":[[0,17]]}},"content":{"501":{"position":[[39,17]]},"658":{"position":[[288,17],[343,16]]},"687":{"position":[[261,17]]}},"keywords":{}}],["check_expression("#{answ",{"_index":4987,"title":{},"content":{"658":{"position":[[505,32]]}},"keywords":{}}],["check_expression("<expression>"",{"_index":4990,"title":{},"content":{"658":{"position":[[928,48]]}},"keywords":{}}],["check_expression("'#{answ",{"_index":4989,"title":{},"content":{"658":{"position":[[750,34]]}},"keywords":{}}],["check_expression("tlm('inst",{"_index":4992,"title":{},"content":{"658":{"position":[[1063,32]]}},"keywords":{}}],["check_format",{"_index":4968,"title":{"656":{"position":[[18,16]]}},"content":{},"keywords":{}}],["check_formatted("inst",{"_index":4976,"title":{},"content":{"656":{"position":[[922,26],[1277,26]]}},"keywords":{}}],["check_raw",{"_index":4967,"title":{"656":{"position":[[7,10]]}},"content":{},"keywords":{}}],["check_raw("inst",{"_index":4975,"title":{},"content":{"656":{"position":[[864,20],[1219,20]]}},"keywords":{}}],["check_temperature(1",{"_index":4263,"title":{},"content":{"483":{"position":[[969,20]]}},"keywords":{}}],["check_temperature(10",{"_index":4272,"title":{},"content":{"483":{"position":[[1158,21]]}},"keywords":{}}],["check_temperature(2",{"_index":4264,"title":{},"content":{"483":{"position":[[990,20]]}},"keywords":{}}],["check_temperature(3",{"_index":4265,"title":{},"content":{"483":{"position":[[1011,20]]}},"keywords":{}}],["check_temperature(4",{"_index":4266,"title":{},"content":{"483":{"position":[[1032,20]]}},"keywords":{}}],["check_temperature(5",{"_index":4267,"title":{},"content":{"483":{"position":[[1053,20]]}},"keywords":{}}],["check_temperature(6",{"_index":4268,"title":{},"content":{"483":{"position":[[1074,20]]}},"keywords":{}}],["check_temperature(7",{"_index":4269,"title":{},"content":{"483":{"position":[[1095,20]]}},"keywords":{}}],["check_temperature(8",{"_index":4270,"title":{},"content":{"483":{"position":[[1116,20]]}},"keywords":{}}],["check_temperature(9",{"_index":4271,"title":{},"content":{"483":{"position":[[1137,20]]}},"keywords":{}}],["check_temperature(temperature_numb",{"_index":4260,"title":{},"content":{"483":{"position":[[641,36],[738,37]]}},"keywords":{}}],["check_toler",{"_index":4979,"title":{"657":{"position":[[0,16]]}},"content":{"657":{"position":[[228,16]]}},"keywords":{}}],["check_tolerance("<target",{"_index":4980,"title":{},"content":{"657":{"position":[[269,32]]}},"keywords":{}}],["check_tolerance("inst",{"_index":4983,"title":{},"content":{"657":{"position":[[753,26],[821,26],[920,26],[988,26]]}},"keywords":{}}],["check_with_unit",{"_index":4969,"title":{"656":{"position":[[35,17]]}},"content":{},"keywords":{}}],["check_with_units("inst",{"_index":4977,"title":{},"content":{"656":{"position":[[986,27],[1341,27]]}},"keywords":{}}],["checkbox",{"_index":3921,"title":{},"content":{"429":{"position":[[1940,8]]},"430":{"position":[[189,8]]},"496":{"position":[[1006,8]]},"527":{"position":[[387,8]]},"612":{"position":[[36,10]]}},"keywords":{}}],["checkbutton",{"_index":3904,"title":{"430":{"position":[[0,12]]}},"content":{"429":{"position":[[369,12],[2032,11]]},"430":{"position":[[239,11]]},"446":{"position":[[873,11]]}},"keywords":{}}],["checkedclick",{"_index":3340,"title":{},"content":{"347":{"position":[[1478,12]]}},"keywords":{}}],["checkerror",{"_index":4996,"title":{},"content":{"659":{"position":[[103,10]]}},"keywords":{}}],["checkingdisplay",{"_index":4464,"title":{},"content":{"532":{"position":[[27,16]]}},"keywords":{}}],["checkout",{"_index":4012,"title":{},"content":{"449":{"position":[[219,8]]},"482":{"position":[[913,9],[1132,9]]}},"keywords":{}}],["checkperform",{"_index":4583,"title":{},"content":{"606":{"position":[[135,12]]}},"keywords":{}}],["checks.rb",{"_index":3924,"title":{},"content":{"429":{"position":[[2006,9]]}},"keywords":{}}],["checksum",{"_index":3076,"title":{},"content":{"321":{"position":[[780,8],[1660,8],[2165,8],[2665,8]]}},"keywords":{}}],["checkview",{"_index":4584,"title":{},"content":{"606":{"position":[[166,9]]}},"keywords":{}}],["chmod",{"_index":3164,"title":{},"content":{"324":{"position":[[1873,5]]},"341":{"position":[[284,5]]}},"keywords":{}}],["choic",{"_index":2470,"title":{},"content":{"245":{"position":[[505,7]]},"424":{"position":[[172,7]]},"460":{"position":[[146,6]]},"462":{"position":[[629,7]]},"464":{"position":[[90,7]]},"483":{"position":[[350,7],[440,6]]},"495":{"position":[[1106,7]]},"496":{"position":[[234,7]]},"656":{"position":[[301,6]]},"657":{"position":[[210,6]]},"658":{"position":[[270,6]]},"681":{"position":[[342,7]]},"682":{"position":[[246,7]]},"683":{"position":[[343,7]]},"684":{"position":[[219,7]]}},"keywords":{}}],["choos",{"_index":2123,"title":{},"content":{"198":{"position":[[831,6]]},"246":{"position":[[168,7]]},"259":{"position":[[855,6]]},"292":{"position":[[824,6]]},"324":{"position":[[3772,6]]},"357":{"position":[[3733,8]]},"462":{"position":[[174,6]]},"479":{"position":[[109,6]]},"499":{"position":[[387,6]]},"513":{"position":[[362,6],[398,6]]},"591":{"position":[[103,7]]},"609":{"position":[[217,6]]}},"keywords":{}}],["chooser",{"_index":4474,"title":{},"content":{"547":{"position":[[206,9]]},"555":{"position":[[150,7],[269,7]]}},"keywords":{}}],["chosen",{"_index":3471,"title":{},"content":{"357":{"position":[[99,6]]},"359":{"position":[[1658,6]]},"513":{"position":[[314,6]]}},"keywords":{}}],["chrome",{"_index":400,"title":{},"content":{"20":{"position":[[142,6]]},"559":{"position":[[325,7]]}},"keywords":{}}],["chrome)click",{"_index":1768,"title":{},"content":{"95":{"position":[[376,12]]}},"keywords":{}}],["chrome/124.0.0.0",{"_index":1062,"title":{},"content":{"44":{"position":[[1196,16]]}},"keywords":{}}],["chrome/edg",{"_index":2851,"title":{},"content":{"299":{"position":[[239,11]]}},"keywords":{}}],["chromium",{"_index":1037,"title":{},"content":{"44":{"position":[[460,8]]},"299":{"position":[[196,8]]}},"keywords":{}}],["chunk",{"_index":1023,"title":{},"content":{"43":{"position":[[6602,7]]},"449":{"position":[[413,7]]}},"keywords":{}}],["ciphersuit",{"_index":605,"title":{},"content":{"29":{"position":[[124,13]]}},"keywords":{}}],["circl",{"_index":3831,"title":{},"content":{"404":{"position":[[310,6],[363,6]]},"411":{"position":[[618,6],[671,6]]},"414":{"position":[[12,6],[329,6]]},"527":{"position":[[277,6],[367,6],[446,7]]}},"keywords":{}}],["circumst",{"_index":4125,"title":{},"content":{"466":{"position":[[331,14]]},"467":{"position":[[1422,13]]},"470":{"position":[[165,14]]}},"keywords":{}}],["citi",{"_index":427,"title":{},"content":{"20":{"position":[[548,5],[563,7]]}},"keywords":{}}],["claim",{"_index":3642,"title":{},"content":{"360":{"position":[[974,6]]}},"keywords":{}}],["clariti",{"_index":714,"title":{},"content":{"36":{"position":[[2985,7]]},"202":{"position":[[2985,7]]},"267":{"position":[[2194,7]]}},"keywords":{}}],["class",{"_index":744,"title":{"487":{"position":[[6,7]]}},"content":{"36":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8185,5],[9079,5]]},"53":{"position":[[23,7],[138,7]]},"54":{"position":[[3153,5]]},"69":{"position":[[143,7],[639,5],[751,5],[836,5],[1249,8],[1523,8],[1636,5]]},"71":{"position":[[129,6],[142,5],[401,5],[702,5]]},"72":{"position":[[248,5],[297,5],[376,5]]},"73":{"position":[[111,5],[176,5],[255,5]]},"74":{"position":[[117,5],[185,5],[267,5]]},"75":{"position":[[604,5],[934,5],[1354,5]]},"76":{"position":[[785,5],[862,5],[948,5]]},"77":{"position":[[646,5],[724,5],[811,5]]},"78":{"position":[[643,5],[715,5],[817,5]]},"79":{"position":[[927,5],[1025,5],[1153,5]]},"80":{"position":[[188,5],[327,5],[475,5]]},"134":{"position":[[576,5]]},"135":{"position":[[70,5]]},"202":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8185,5],[9079,5]]},"215":{"position":[[29,5],[99,5],[314,5],[350,5],[413,5]]},"224":{"position":[[37,5],[69,5],[264,6],[308,5],[328,5],[437,6],[521,5],[666,5],[1107,5]]},"230":{"position":[[1466,7]]},"263":{"position":[[1058,5]]},"267":{"position":[[3102,5],[3566,6],[3610,5],[3630,5],[3742,6],[3856,5],[4032,5],[4366,5],[6844,5],[7202,5],[10396,5],[10507,5],[10735,5]]},"276":{"position":[[21,5],[165,5],[388,5]]},"279":{"position":[[29,5],[99,5],[314,5],[350,5]]},"297":{"position":[[484,5]]},"336":{"position":[[53,5]]},"338":{"position":[[1820,6]]},"368":{"position":[[179,5]]},"372":{"position":[[97,5],[124,5]]},"373":{"position":[[535,5],[562,5]]},"476":{"position":[[1516,5],[1641,5],[4455,5]]},"487":{"position":[[1,7],[368,6],[527,6],[662,5],[761,5],[1241,5]]},"497":{"position":[[312,5],[625,5]]},"507":{"position":[[253,5]]},"508":{"position":[[86,7],[217,5],[266,6],[369,7],[461,7],[500,7],[572,5]]},"548":{"position":[[423,5]]},"610":{"position":[[11,5],[163,5],[387,5],[627,5]]},"611":{"position":[[42,5],[131,5],[364,5]]},"754":{"position":[[244,6],[332,6],[699,5],[736,5],[779,6],[875,5],[937,6],[1034,5],[1096,5],[1183,5],[1358,5],[1647,5],[1727,5],[1911,5]]}},"keywords":{}}],["class>",{"_index":5481,"title":{},"content":{"754":{"position":[[534,10],[571,10],[611,10],[643,10]]}},"keywords":{}}],["classif",{"_index":2981,"title":{},"content":{"311":{"position":[[880,14],[905,14]]},"363":{"position":[[1358,14]]}},"keywords":{}}],["classnam",{"_index":1975,"title":{},"content":{"134":{"position":[[539,9]]}},"keywords":{}}],["clcert",{"_index":585,"title":{},"content":{"27":{"position":[[730,7]]}},"keywords":{}}],["clean",{"_index":2509,"title":{},"content":{"253":{"position":[[425,5]]},"578":{"position":[[1448,5]]}},"keywords":{}}],["cleanup",{"_index":2038,"title":{},"content":{"165":{"position":[[28,7],[119,7]]},"168":{"position":[[448,7]]},"169":{"position":[[166,7]]},"292":{"position":[[1102,8],[1354,8],[1363,7]]}},"keywords":{}}],["cleanup_poll_tim",{"_index":2037,"title":{"165":{"position":[[0,18]]}},"content":{},"keywords":{}}],["clear",{"_index":170,"title":{},"content":{"5":{"position":[[790,5]]},"199":{"position":[[260,5]]},"264":{"position":[[289,5]]},"434":{"position":[[359,7],[424,7]]},"446":{"position":[[777,7],[842,7],[1118,7]]},"476":{"position":[[2049,5],[2964,5]]},"486":{"position":[[298,6]]},"605":{"position":[[3,6]]},"608":{"position":[[733,6],[779,5]]},"672":{"position":[[1,6],[438,5],[524,5],[625,5],[711,5]]},"746":{"position":[[864,5]]}},"keywords":{}}],["clear"",{"_index":3936,"title":{},"content":{"430":{"position":[[388,12],[422,13]]},"476":{"position":[[2151,12],[3067,12]]},"638":{"position":[[1580,12]]},"642":{"position":[[1655,12]]}},"keywords":{}}],["clear')"",{"_index":3951,"title":{},"content":{"434":{"position":[[559,13]]}},"keywords":{}}],["clear'))"",{"_index":4004,"title":{},"content":{"446":{"position":[[1142,14]]}},"keywords":{}}],["clear_al",{"_index":4634,"title":{},"content":{"621":{"position":[[221,9]]}},"keywords":{}}],["clear_all_screen",{"_index":4635,"title":{"741":{"position":[[0,18]]}},"content":{"621":{"position":[[264,17]]},"741":{"position":[[60,19]]},"746":{"position":[[835,19]]}},"keywords":{}}],["clear_collect",{"_index":4208,"title":{},"content":{"476":{"position":[[4258,15],[4908,16]]}},"keywords":{}}],["clear_collects('inst",{"_index":4199,"title":{},"content":{"476":{"position":[[2623,22],[3528,22]]}},"keywords":{}}],["clear_collects('inst2",{"_index":4200,"title":{},"content":{"476":{"position":[[2646,23],[3551,23]]}},"keywords":{}}],["clear_collects(target",{"_index":4190,"title":{},"content":{"476":{"position":[[2108,22],[3023,23]]}},"keywords":{}}],["clear_disconnected_target",{"_index":4637,"title":{},"content":{"621":{"position":[[348,26]]}},"keywords":{}}],["clear_screen",{"_index":4633,"title":{"740":{"position":[[0,13]]}},"content":{"621":{"position":[[208,12],[335,12]]}},"keywords":{}}],["clear_screen("<target",{"_index":5431,"title":{},"content":{"740":{"position":[[58,29]]}},"keywords":{}}],["clear_screen("inst"",{"_index":5432,"title":{},"content":{"740":{"position":[[278,30]]}},"keywords":{}}],["clearli",{"_index":4079,"title":{},"content":{"460":{"position":[[9,7]]}},"keywords":{}}],["clg",{"_index":1866,"title":{},"content":{"107":{"position":[[88,6]]}},"keywords":{}}],["cli",{"_index":2319,"title":{},"content":{"229":{"position":[[190,3],[217,3],[262,3],[1311,3]]},"230":{"position":[[192,3],[219,3],[303,3]]},"231":{"position":[[204,3],[237,3],[327,3]]},"232":{"position":[[225,3],[256,3],[359,3]]},"233":{"position":[[240,3],[276,3],[384,3]]},"234":{"position":[[282,3],[309,3],[383,3]]},"235":{"position":[[490,3],[515,3],[575,3]]},"253":{"position":[[1285,3],[1448,3],[1740,3],[1963,3],[2266,3],[2406,3]]},"254":{"position":[[91,3],[1905,3]]},"257":{"position":[[1163,3],[1398,3]]},"292":{"position":[[1074,5],[1124,4],[1135,3],[1167,5],[1211,3],[1240,5]]},"320":{"position":[[429,3],[500,3]]},"321":{"position":[[3606,3]]},"328":{"position":[[899,3],[1050,3],[1194,3],[1475,3]]},"334":{"position":[[518,4],[557,3]]},"452":{"position":[[197,3]]},"453":{"position":[[196,3]]}},"keywords":{}}],["click",{"_index":1041,"title":{"608":{"position":[[6,5]]}},"content":{"44":{"position":[[560,5],[597,5]]},"84":{"position":[[657,5],[801,5]]},"95":{"position":[[355,5],[514,5]]},"253":{"position":[[446,5],[495,5]]},"254":{"position":[[515,5],[538,5],[637,5],[808,5],[2064,5],[2097,5],[2322,5]]},"301":{"position":[[754,5],[1064,5],[1629,5]]},"302":{"position":[[390,5]]},"303":{"position":[[314,5]]},"304":{"position":[[3769,5]]},"305":{"position":[[627,5],[797,5]]},"308":{"position":[[576,5]]},"310":{"position":[[183,5]]},"322":{"position":[[153,5],[297,5]]},"328":{"position":[[1452,5]]},"332":{"position":[[896,8]]},"345":{"position":[[586,8]]},"424":{"position":[[519,5],[731,5]]},"425":{"position":[[386,5]]},"429":{"position":[[47,9]]},"441":{"position":[[732,7]]},"442":{"position":[[1645,7]]},"468":{"position":[[155,8]]},"491":{"position":[[9,5]]},"495":{"position":[[1273,8]]},"505":{"position":[[298,8],[1040,8],[1074,8]]},"513":{"position":[[682,8]]},"518":{"position":[[1,5]]},"519":{"position":[[1,5]]},"520":{"position":[[1,5]]},"523":{"position":[[45,8]]},"525":{"position":[[411,8]]},"533":{"position":[[272,8]]},"541":{"position":[[89,8],[230,8],[312,8]]},"542":{"position":[[92,8],[251,8],[342,8]]},"552":{"position":[[298,5],[361,8],[521,5],[608,5],[668,8]]},"555":{"position":[[88,8],[211,8]]},"557":{"position":[[92,8],[162,8]]},"558":{"position":[[24,8],[94,8],[137,8],[265,8]]},"559":{"position":[[1,8]]},"563":{"position":[[236,5],[299,8],[459,5],[546,5],[606,8]]},"564":{"position":[[82,5],[275,5],[395,5]]},"568":{"position":[[266,7]]},"572":{"position":[[85,5]]},"573":{"position":[[7,8]]},"577":{"position":[[276,8],[478,8],[1067,5],[1130,8],[1290,5],[1377,5],[1437,8]]},"578":{"position":[[700,8],[880,8],[1141,8]]},"589":{"position":[[235,5],[298,8],[458,5],[545,5],[605,8]]},"590":{"position":[[145,8]]},"591":{"position":[[1,8]]},"592":{"position":[[1,8],[318,5]]},"593":{"position":[[55,8],[277,8],[386,5]]},"598":{"position":[[254,5],[317,8],[477,5],[564,5],[624,8]]},"599":{"position":[[598,8]]},"600":{"position":[[192,8]]},"601":{"position":[[54,8]]},"605":{"position":[[770,8],[858,8]]},"607":{"position":[[63,8],[193,5],[621,5]]},"608":{"position":[[7,8],[804,8]]},"610":{"position":[[922,8]]},"611":{"position":[[775,8],[875,8],[944,8]]},"612":{"position":[[337,8],[1300,6]]},"613":{"position":[[303,8]]},"627":{"position":[[138,6],[168,7]]}},"keywords":{}}],["clickabl",{"_index":3902,"title":{},"content":{"429":{"position":[[24,9]]}},"keywords":{}}],["client",{"_index":1192,"title":{"49":{"position":[[6,6]]}},"content":{"48":{"position":[[57,7]]},"49":{"position":[[11,6]]},"53":{"position":[[305,6]]},"143":{"position":[[160,7],[292,8],[362,6]]},"227":{"position":[[502,6]]},"253":{"position":[[7617,6]]},"461":{"position":[[1194,8]]},"715":{"position":[[169,8],[586,8],[1139,8]]},"724":{"position":[[163,8],[562,8],[1097,8]]}},"keywords":{}}],["clip",{"_index":3113,"title":{},"content":{"322":{"position":[[166,4]]}},"keywords":{}}],["cliroot",{"_index":2524,"title":{},"content":{"253":{"position":[[1944,7]]},"292":{"position":[[1080,8],[1196,8]]}},"keywords":{}}],["clock",{"_index":2485,"title":{},"content":{"247":{"position":[[296,6]]},"254":{"position":[[2107,5]]},"356":{"position":[[604,5]]}},"keywords":{}}],["clone",{"_index":1169,"title":{"290":{"position":[[0,5]]},"317":{"position":[[0,5]]}},"content":{"46":{"position":[[883,5]]},"102":{"position":[[40,5],[77,5]]},"253":{"position":[[734,6]]},"290":{"position":[[69,5],[124,5]]},"292":{"position":[[17,6]]},"317":{"position":[[5,5]]},"324":{"position":[[2771,5]]},"331":{"position":[[103,6],[607,5]]},"347":{"position":[[2388,5]]},"449":{"position":[[115,5]]}},"keywords":{}}],["close",{"_index":2894,"title":{"738":{"position":[[9,7]]}},"content":{"304":{"position":[[1094,7],[1528,6]]},"370":{"position":[[15,5],[68,6]]},"493":{"position":[[430,7]]},"593":{"position":[[658,7],[777,6]]},"601":{"position":[[1004,6]]},"738":{"position":[[39,5]]},"740":{"position":[[1,6]]},"741":{"position":[[1,6]]}},"keywords":{}}],["close_local_screen",{"_index":4636,"title":{},"content":{"621":{"position":[[282,19]]}},"keywords":{}}],["cloud",{"_index":30,"title":{},"content":{"2":{"position":[[17,5]]},"109":{"position":[[113,5]]},"240":{"position":[[664,5]]},"243":{"position":[[357,5],[471,5]]},"250":{"position":[[196,5],[233,5]]},"298":{"position":[[108,5]]},"355":{"position":[[68,6]]},"516":{"position":[[239,5],[271,5],[308,5]]},"517":{"position":[[840,5]]}},"keywords":{}}],["cluster",{"_index":2492,"title":{},"content":{"249":{"position":[[528,7]]},"355":{"position":[[53,7]]},"356":{"position":[[343,7]]},"357":{"position":[[4041,7],[4195,7]]}},"keywords":{}}],["cm",{"_index":4416,"title":{},"content":{"507":{"position":[[97,2]]}},"keywords":{}}],["cmake",{"_index":3015,"title":{},"content":{"318":{"position":[[332,5]]}},"keywords":{}}],["cmd",{"_index":1587,"title":{"140":{"position":[[0,4]]},"178":{"position":[[0,4]]},"636":{"position":[[0,4]]}},"content":{"83":{"position":[[1130,3],[2145,3],[2395,3],[2489,3]]},"85":{"position":[[40,3],[640,3],[693,3],[719,3],[788,3],[814,3],[861,3],[921,3],[1061,3],[1120,3],[1187,3],[1264,3],[1307,3],[1519,3]]},"93":{"position":[[50,4],[118,3],[1253,3]]},"138":{"position":[[86,3],[305,3]]},"140":{"position":[[228,3],[307,3]]},"174":{"position":[[70,3],[289,3]]},"178":{"position":[[248,3],[330,3]]},"212":{"position":[[34,8]]},"227":{"position":[[3093,3],[4017,3]]},"231":{"position":[[1252,3]]},"240":{"position":[[987,3]]},"285":{"position":[[294,3]]},"301":{"position":[[600,3],[734,3]]},"303":{"position":[[567,3],[685,3],[841,3],[1013,3],[1175,3],[1335,3],[1507,3],[1671,3],[1837,3],[2072,3],[2216,3]]},"304":{"position":[[1905,6]]},"321":{"position":[[1572,3]]},"352":{"position":[[732,3],[775,3],[874,3]]},"357":{"position":[[1241,3],[2730,3],[3584,3]]},"429":{"position":[[846,5]]},"478":{"position":[[210,5]]},"480":{"position":[[692,6],[773,6],[1095,8]]},"617":{"position":[[1067,4]]},"644":{"position":[[225,4]]},"659":{"position":[[324,6]]}},"keywords":{}}],["cmd("#{target",{"_index":4191,"title":{},"content":{"476":{"position":[[2131,19],[2487,19]]}},"keywords":{}}],["cmd("#{target_nam",{"_index":4380,"title":{},"content":{"500":{"position":[[366,24]]}},"keywords":{}}],["cmd("<target",{"_index":4812,"title":{},"content":{"636":{"position":[[43,20],[202,20],[408,20],[567,20]]}},"keywords":{}}],["cmd("inst",{"_index":4214,"title":{},"content":{"478":{"position":[[263,14],[511,14],[707,14]]},"481":{"position":[[366,14],[463,14]]},"490":{"position":[[994,14]]},"636":{"position":[[1294,14],[1646,14],[1726,14],[1897,14]]}},"keywords":{}}],["cmd("inst"",{"_index":4822,"title":{},"content":{"636":{"position":[[1408,21],[1525,21],[1786,21]]}},"keywords":{}}],["cmd("target",{"_index":4234,"title":{},"content":{"480":{"position":[[1408,16]]}},"keywords":{}}],["cmd("tgt",{"_index":4545,"title":{},"content":{"586":{"position":[[773,13]]}},"keywords":{}}],["cmd("tgt"",{"_index":4536,"title":{},"content":{"585":{"position":[[951,20]]}},"keywords":{}}],["cmd(f"target",{"_index":4240,"title":{},"content":{"480":{"position":[[1688,17]]}},"keywords":{}}],["cmd(f"{target",{"_index":4203,"title":{},"content":{"476":{"position":[[3047,19],[3397,19]]}},"keywords":{}}],["cmd(f"{target_nam",{"_index":4383,"title":{},"content":{"500":{"position":[[545,24]]}},"keywords":{}}],["cmd.txt",{"_index":2119,"title":{},"content":{"198":{"position":[[553,7],[641,8]]}},"keywords":{}}],["cmd/tlm",{"_index":1792,"title":{},"content":{"99":{"position":[[522,7]]},"230":{"position":[[2460,7]]},"484":{"position":[[210,7]]},"709":{"position":[[85,8]]},"723":{"position":[[78,8]]}},"keywords":{}}],["cmd_acpt_cnt",{"_index":2197,"title":{},"content":{"224":{"position":[[828,13],[953,12],[1420,12]]}},"keywords":{}}],["cmd_acpt_cnt"",{"_index":2198,"title":{},"content":{"224":{"position":[[862,19],[1312,19]]}},"keywords":{}}],["cmd_acpt_cnt}"",{"_index":2201,"title":{},"content":{"224":{"position":[[971,23]]}},"keywords":{}}],["cmd_arg",{"_index":1546,"title":{},"content":{"80":{"position":[[243,10],[390,11]]}},"keywords":{}}],["cmd_buffer_depth",{"_index":2011,"title":{"146":{"position":[[0,17]]}},"content":{},"keywords":{}}],["cmd_cnt",{"_index":3107,"title":{},"content":{"321":{"position":[[3399,7]]},"654":{"position":[[347,7]]}},"keywords":{}}],["cmd_count",{"_index":5310,"title":{},"content":{"715":{"position":[[470,10],[784,13],[1029,10]]}},"keywords":{}}],["cmd_decom_log_cycle_s",{"_index":2022,"title":{"151":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_cycle_tim",{"_index":2021,"title":{"150":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_retain_tim",{"_index":2023,"title":{"152":{"position":[[0,26]]}},"content":{},"keywords":{}}],["cmd_err",{"_index":3105,"title":{},"content":{"321":{"position":[[3337,8]]}},"keywords":{}}],["cmd_id",{"_index":3075,"title":{},"content":{"321":{"position":[[730,6],[1610,6],[2115,6],[2615,6]]}},"keywords":{}}],["cmd_int",{"_index":1949,"title":{},"content":{"126":{"position":[[189,7],[320,7],[367,7],[516,7]]}},"keywords":{}}],["cmd_list",{"_index":4886,"title":{},"content":{"646":{"position":[[301,8],[348,8],[759,8]]},"647":{"position":[[209,8],[261,8],[333,8]]}},"keywords":{}}],["cmd_log_cycle_s",{"_index":2015,"title":{"148":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_cycle_tim",{"_index":2013,"title":{"147":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_retain_tim",{"_index":2019,"title":{"149":{"position":[[0,20]]}},"content":{},"keywords":{}}],["cmd_name",{"_index":1549,"title":{},"content":{"80":{"position":[[380,9]]}},"keywords":{}}],["cmd_no_check",{"_index":1721,"title":{"639":{"position":[[0,14]]}},"content":{"93":{"position":[[99,13],[354,13],[1423,13]]}},"keywords":{}}],["cmd_no_checks("<target",{"_index":4833,"title":{},"content":{"639":{"position":[[279,30],[448,30],[664,30],[833,30]]}},"keywords":{}}],["cmd_no_checks("inst",{"_index":4834,"title":{},"content":{"639":{"position":[[1570,24],[1788,24]]}},"keywords":{}}],["cmd_no_checks("inst"",{"_index":4835,"title":{},"content":{"639":{"position":[[1641,31],[1859,31]]}},"keywords":{}}],["cmd_no_hazardous_check",{"_index":1720,"title":{"638":{"position":[[0,23]]}},"content":{"93":{"position":[[75,23],[263,22],[1396,23]]}},"keywords":{}}],["cmd_no_hazardous_check("<target",{"_index":4829,"title":{},"content":{"638":{"position":[[210,39],[388,39],[613,39],[791,39]]}},"keywords":{}}],["cmd_no_hazardous_check("inst",{"_index":4830,"title":{},"content":{"638":{"position":[[1546,33]]}},"keywords":{}}],["cmd_no_hazardous_check("inst"",{"_index":4831,"title":{},"content":{"638":{"position":[[1593,40]]}},"keywords":{}}],["cmd_no_range_check",{"_index":1719,"title":{"637":{"position":[[0,19]]}},"content":{"93":{"position":[[55,19],[183,18],[1261,18]]}},"keywords":{}}],["cmd_no_range_check("<target",{"_index":4826,"title":{},"content":{"637":{"position":[[205,35],[379,35],[600,35],[774,35]]}},"keywords":{}}],["cmd_no_range_check("inst",{"_index":4827,"title":{},"content":{"637":{"position":[[1516,29],[1742,29]]}},"keywords":{}}],["cmd_no_range_check("inst"",{"_index":4828,"title":{},"content":{"637":{"position":[[1591,36],[1817,36]]}},"keywords":{}}],["cmd_onli",{"_index":5332,"title":{},"content":{"716":{"position":[[221,9],[343,8]]}},"keywords":{}}],["cmd_or_tlm/target",{"_index":1808,"title":{},"content":{"99":{"position":[[2450,17]]}},"keywords":{}}],["cmd_override.txt",{"_index":2120,"title":{},"content":{"198":{"position":[[576,16]]}},"keywords":{}}],["cmd_raw",{"_index":4837,"title":{"640":{"position":[[0,8]]}},"content":{},"keywords":{}}],["cmd_raw("<target",{"_index":4838,"title":{},"content":{"640":{"position":[[71,24],[234,24],[460,24],[623,24]]}},"keywords":{}}],["cmd_raw("inst",{"_index":4840,"title":{},"content":{"640":{"position":[[1370,18],[1552,18]]}},"keywords":{}}],["cmd_raw("inst"",{"_index":4841,"title":{},"content":{"640":{"position":[[1429,25],[1611,25]]}},"keywords":{}}],["cmd_raw_no_check",{"_index":4850,"title":{"643":{"position":[[0,18]]}},"content":{},"keywords":{}}],["cmd_raw_no_checks("<target",{"_index":4851,"title":{},"content":{"643":{"position":[[302,34],[475,34],[711,34],[884,34]]}},"keywords":{}}],["cmd_raw_no_checks("inst",{"_index":4852,"title":{},"content":{"643":{"position":[[1641,28],[1843,28]]}},"keywords":{}}],["cmd_raw_no_checks("inst"",{"_index":4853,"title":{},"content":{"643":{"position":[[1710,35],[1912,35]]}},"keywords":{}}],["cmd_raw_no_hazardous_check",{"_index":4846,"title":{"642":{"position":[[0,27]]}},"content":{},"keywords":{}}],["cmd_raw_no_hazardous_check("<target",{"_index":4847,"title":{},"content":{"642":{"position":[[233,43],[415,43],[660,43],[842,43]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst",{"_index":4848,"title":{},"content":{"642":{"position":[[1617,37]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst"",{"_index":4849,"title":{},"content":{"642":{"position":[[1668,44]]}},"keywords":{}}],["cmd_raw_no_range_check",{"_index":4842,"title":{"641":{"position":[[0,23]]}},"content":{},"keywords":{}}],["cmd_raw_no_range_check("<target",{"_index":4843,"title":{},"content":{"641":{"position":[[228,39],[406,39],[647,39],[825,39]]}},"keywords":{}}],["cmd_raw_no_range_check("inst",{"_index":4844,"title":{},"content":{"641":{"position":[[1587,33],[1799,33]]}},"keywords":{}}],["cmd_raw_no_range_check("inst"",{"_index":4845,"title":{},"content":{"641":{"position":[[1661,40],[1873,40]]}},"keywords":{}}],["cmd_templat",{"_index":1390,"title":{},"content":{"63":{"position":[[580,12],[858,13]]}},"keywords":{}}],["cmd_tlm",{"_index":281,"title":{},"content":{"7":{"position":[[1199,7]]},"15":{"position":[[453,7]]},"16":{"position":[[455,7]]},"198":{"position":[[255,7]]},"259":{"position":[[283,7]]},"451":{"position":[[218,7]]}},"keywords":{}}],["cmd_tlm_clear_count",{"_index":4638,"title":{},"content":{"621":{"position":[[400,22]]}},"keywords":{}}],["cmd_tlm_reload",{"_index":4639,"title":{},"content":{"621":{"position":[[463,14]]}},"keywords":{}}],["cmd_unique_id_mod",{"_index":368,"title":{"17":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmdrespons",{"_index":1411,"title":{"66":{"position":[[0,11]]}},"content":{"65":{"position":[[49,12]]},"66":{"position":[[5,11]]}},"keywords":{}}],["cmdresponseprotocol",{"_index":1385,"title":{},"content":{"63":{"position":[[170,19]]}},"keywords":{}}],["cmdsender",{"_index":4326,"title":{},"content":{"490":{"position":[[909,9]]}},"keywords":{}}],["cmdtlmserver",{"_index":1653,"title":{},"content":{"84":{"position":[[186,14]]},"254":{"position":[[666,12],[952,12]]},"322":{"position":[[2149,12]]},"344":{"position":[[385,12]]},"490":{"position":[[966,12]]},"502":{"position":[[725,12]]}},"keywords":{}}],["cob",{"_index":1289,"title":{"57":{"position":[[0,4]]}},"content":{"56":{"position":[[61,5]]},"57":{"position":[[39,6]]}},"keywords":{}}],["code",{"_index":202,"title":{"228":{"position":[[0,4]]}},"content":{"6":{"position":[[186,4],[483,4],[576,4]]},"13":{"position":[[270,4]]},"20":{"position":[[476,5]]},"36":{"position":[[813,4],[8041,4],[8299,4],[8408,4]]},"58":{"position":[[289,4]]},"69":{"position":[[473,5],[1133,4],[1407,4]]},"81":{"position":[[57,4]]},"83":{"position":[[54,4]]},"84":{"position":[[1185,4],[1294,5]]},"85":{"position":[[8,4],[1457,5],[1474,4],[1531,4]]},"90":{"position":[[80,4]]},"103":{"position":[[551,4],[601,4]]},"104":{"position":[[115,4]]},"105":{"position":[[278,4]]},"118":{"position":[[46,4]]},"119":{"position":[[83,4]]},"121":{"position":[[676,4]]},"202":{"position":[[813,4],[8041,4],[8299,4],[8408,4]]},"213":{"position":[[202,4]]},"230":{"position":[[1372,4],[1425,4],[1641,4]]},"231":{"position":[[519,4]]},"232":{"position":[[848,4]]},"233":{"position":[[927,4]]},"234":{"position":[[797,4]]},"235":{"position":[[1321,4]]},"237":{"position":[[46,4]]},"240":{"position":[[79,4],[274,5],[465,4],[1928,4]]},"251":{"position":[[226,4]]},"253":{"position":[[7634,4]]},"267":{"position":[[808,4],[6701,4],[6958,4],[7066,4]]},"275":{"position":[[211,4]]},"276":{"position":[[41,4]]},"304":{"position":[[150,4],[1885,4],[2028,4]]},"328":{"position":[[30,4],[1219,4]]},"332":{"position":[[15,4],[46,4]]},"359":{"position":[[348,4],[691,4],[933,5],[1072,4],[1286,4],[1922,4],[2176,4]]},"360":{"position":[[1245,4]]},"361":{"position":[[69,4],[287,4]]},"362":{"position":[[470,4],[570,4]]},"364":{"position":[[818,4],[1236,4],[1396,4]]},"429":{"position":[[92,4],[390,4],[1661,4],[1677,4]]},"449":{"position":[[644,4]]},"476":{"position":[[393,4],[491,4],[3839,4],[3915,4],[3993,4],[4801,4]]},"480":{"position":[[95,4],[305,4],[384,4],[1211,4]]},"481":{"position":[[213,5]]},"482":{"position":[[183,4]]},"483":{"position":[[127,4]]},"486":{"position":[[408,4],[519,4],[644,4],[756,4]]},"487":{"position":[[212,4]]},"488":{"position":[[86,4],[256,4],[315,5],[359,4],[399,5],[510,4],[554,4],[860,4],[970,4],[1194,5],[1256,4],[1425,4],[1849,4],[1906,4],[2563,4],[2587,4],[2696,5]]},"490":{"position":[[370,4]]},"500":{"position":[[141,5]]},"502":{"position":[[486,5],[655,4]]},"517":{"position":[[489,4]]},"608":{"position":[[104,4],[245,4],[598,4]]},"617":{"position":[[914,4],[1097,4]]},"752":{"position":[[41,4],[202,4]]},"754":{"position":[[1161,4],[1245,4],[1291,4],[1336,4],[1708,4],[1785,4],[1839,4],[1892,4]]}},"keywords":{}}],["coeffici",{"_index":787,"title":{},"content":{"36":{"position":[[6334,11],[6365,11],[7130,11],[7161,11]]},"202":{"position":[[6334,11],[6365,11],[7130,11],[7161,11]]},"267":{"position":[[4873,11],[4904,11],[5731,11],[5762,11]]}},"keywords":{}}],["cognit",{"_index":1894,"title":{},"content":{"108":{"position":[[642,9]]}},"keywords":{}}],["collect",{"_index":145,"title":{},"content":{"5":{"position":[[121,7],[224,8]]},"7":{"position":[[287,8],[972,8]]},"93":{"position":[[1784,7]]},"199":{"position":[[541,7]]},"208":{"position":[[413,7]]},"209":{"position":[[497,7]]},"225":{"position":[[464,7]]},"226":{"position":[[106,7],[899,10]]},"350":{"position":[[73,10]]},"352":{"position":[[340,9]]},"357":{"position":[[697,9]]},"429":{"position":[[1060,7],[1756,8],[1785,7]]},"431":{"position":[[323,8],[423,7]]},"435":{"position":[[310,8],[405,7]]},"446":{"position":[[159,8],[273,7],[497,8],[526,7]]},"459":{"position":[[516,9]]},"461":{"position":[[293,7],[509,7],[577,7],[767,7],[828,7]]},"469":{"position":[[50,9],[414,7],[848,7]]},"470":{"position":[[127,8],[312,10]]},"476":{"position":[[2059,7],[2205,8],[2369,8],[2426,8],[2507,7],[2581,8],[2593,10],[2974,7],[3121,8],[3281,8],[3336,8],[3417,7],[3491,8],[3503,9],[4500,7],[4859,7]]},"478":{"position":[[278,7],[526,7],[605,8],[722,7],[802,8]]},"482":{"position":[[1038,10]]},"490":{"position":[[1009,7]]},"500":{"position":[[391,7],[570,7]]},"534":{"position":[[127,7]]},"636":{"position":[[1309,7],[1741,7]]},"637":{"position":[[1546,7],[1772,7]]},"639":{"position":[[1595,7],[1813,7]]},"640":{"position":[[1389,7],[1571,7]]},"641":{"position":[[1621,7],[1833,7]]},"643":{"position":[[1670,7],[1872,7]]},"644":{"position":[[442,7],[1001,7],[1218,10]]},"646":{"position":[[561,7],[934,7]]},"648":{"position":[[600,7],[976,7]]},"649":{"position":[[443,7],[1170,7],[1301,8]]},"650":{"position":[[1098,10]]},"653":{"position":[[815,7]]},"654":{"position":[[422,7]]},"656":{"position":[[841,8],[899,8],[963,8],[1028,8],[1111,8],[1196,8],[1254,8],[1318,8],[1383,8],[1468,8]]},"658":{"position":[[1110,10]]},"669":{"position":[[720,8],[803,8],[857,8],[921,8],[1007,8],[1089,8],[1143,8],[1207,8]]},"681":{"position":[[1568,8],[1633,8],[1778,8],[1843,8]]},"683":{"position":[[994,10]]},"685":{"position":[[1076,8],[1149,8],[1253,8],[1326,8]]},"687":{"position":[[847,10]]}},"keywords":{}}],["collect"",{"_index":2127,"title":{},"content":{"199":{"position":[[572,13]]},"650":{"position":[[444,14],[948,14]]},"654":{"position":[[380,14]]}},"keywords":{}}],["collect.rb",{"_index":3923,"title":{},"content":{"429":{"position":[[1995,10]]}},"keywords":{}}],["collect_data",{"_index":2211,"title":{},"content":{"226":{"position":[[54,12]]}},"keywords":{}}],["collect_typ",{"_index":3839,"title":{},"content":{"406":{"position":[[486,12]]},"407":{"position":[[679,12]]},"431":{"position":[[496,12]]},"446":{"position":[[198,12],[345,12]]}},"keywords":{}}],["collector",{"_index":3362,"title":{},"content":{"350":{"position":[[32,10]]}},"keywords":{}}],["collects"",{"_index":251,"title":{},"content":{"7":{"position":[[320,14],[1005,14]]},"476":{"position":[[2471,15],[3381,15]]},"478":{"position":[[495,15],[691,15]]},"657":{"position":[[794,15],[961,15]]},"660":{"position":[[599,15],[735,15],[798,15],[862,15],[943,15],[1027,15],[1163,15],[1226,15],[1290,15],[1371,15]]},"682":{"position":[[1314,15],[1395,15],[1521,15],[1602,15]]},"686":{"position":[[1137,15],[1224,15],[1342,15],[1429,15]]}},"keywords":{}}],["color",{"_index":2482,"title":{},"content":{"247":{"position":[[236,6]]},"267":{"position":[[2469,5],[2479,5],[8129,7],[9576,7],[9963,7]]},"305":{"position":[[900,5],[1011,8],[1170,5],[1243,5],[1384,6]]},"373":{"position":[[822,5]]},"379":{"position":[[43,5],[137,6]]},"380":{"position":[[37,5],[131,6]]},"381":{"position":[[41,5],[142,6]]},"403":{"position":[[312,7]]},"404":{"position":[[1030,5],[1149,5],[1155,5]]},"411":{"position":[[30,5],[962,5],[1081,5],[1087,5]]},"412":{"position":[[45,7]]},"413":{"position":[[45,7]]},"414":{"position":[[40,5]]},"424":{"position":[[60,5]]},"427":{"position":[[203,7]]},"439":{"position":[[307,5],[313,5]]},"440":{"position":[[414,5],[420,5]]},"443":{"position":[[341,5],[347,5]]},"444":{"position":[[9,5],[84,6],[1209,5],[1273,5],[1279,5]]},"445":{"position":[[136,5],[142,5]]},"568":{"position":[[175,7]]},"578":{"position":[[368,5]]},"762":{"position":[[104,6],[269,5],[292,5],[447,6]]},"763":{"position":[[107,6],[286,5],[309,5]]}},"keywords":{}}],["color='ff5252",{"_index":5514,"title":{},"content":{"762":{"position":[[550,15]]}},"keywords":{}}],["column",{"_index":859,"title":{},"content":{"39":{"position":[[52,6]]},"390":{"position":[[159,7]]},"541":{"position":[[105,6]]},"542":{"position":[[108,6]]},"553":{"position":[[132,6]]},"566":{"position":[[195,7]]}},"keywords":{}}],["com1",{"_index":1246,"title":{},"content":{"52":{"position":[[287,6],[399,6],[973,4],[978,4]]},"135":{"position":[[708,4],[713,4]]},"338":{"position":[[484,4],[537,4]]}},"keywords":{}}],["com2",{"_index":1258,"title":{},"content":{"52":{"position":[[1196,4],[1201,4]]}},"keywords":{}}],["com4",{"_index":1260,"title":{},"content":{"52":{"position":[[1292,4],[1297,4],[1414,4],[1419,4],[1624,4],[1629,4]]}},"keywords":{}}],["combin",{"_index":618,"title":{},"content":{"31":{"position":[[339,8]]},"133":{"position":[[623,8]]},"257":{"position":[[561,8]]},"304":{"position":[[1192,8]]},"356":{"position":[[136,8]]},"685":{"position":[[1,8]]}},"keywords":{}}],["combo_box",{"_index":4345,"title":{"627":{"position":[[0,10]]}},"content":{"495":{"position":[[1165,11]]},"627":{"position":[[44,9]]}},"keywords":{}}],["combo_box("<message>"",{"_index":4745,"title":{},"content":{"627":{"position":[[384,38]]}},"keywords":{}}],["combo_box("select",{"_index":4752,"title":{},"content":{"627":{"position":[[760,22],[1075,22]]}},"keywords":{}}],["combobox",{"_index":2860,"title":{"431":{"position":[[0,9]]}},"content":{"301":{"position":[[1498,9]]},"429":{"position":[[1986,8]]},"431":{"position":[[509,8]]},"446":{"position":[[358,8]]}},"keywords":{}}],["come",{"_index":156,"title":{"107":{"position":[[22,4]]}},"content":{"5":{"position":[[424,4]]},"22":{"position":[[295,6]]},"85":{"position":[[1416,6]]},"116":{"position":[[175,5]]},"189":{"position":[[166,4]]},"253":{"position":[[5480,5]]},"259":{"position":[[1615,5]]},"297":{"position":[[572,5]]},"343":{"position":[[544,5]]},"344":{"position":[[143,4]]},"465":{"position":[[362,5]]},"476":{"position":[[87,5],[1057,5],[1150,4]]}},"keywords":{}}],["comma",{"_index":4477,"title":{},"content":{"550":{"position":[[58,5]]},"632":{"position":[[1144,5]]}},"keywords":{}}],["command",{"_index":35,"title":{"15":{"position":[[0,9]]},"93":{"position":[[8,9]]},"197":{"position":[[0,8]]},"198":{"position":[[0,7]]},"199":{"position":[[0,8]]},"200":{"position":[[0,7]]},"301":{"position":[[0,7]]},"303":{"position":[[0,7]]},"339":{"position":[[7,9]]},"529":{"position":[[0,7]]},"531":{"position":[[0,7]]},"533":{"position":[[8,9]]},"534":{"position":[[10,9]]},"535":{"position":[[0,7]]},"537":{"position":[[0,7]]},"541":{"position":[[0,7]]},"545":{"position":[[0,7]]},"548":{"position":[[0,8]]},"635":{"position":[[0,9]]}},"content":{"2":{"position":[[68,7]]},"5":{"position":[[106,7],[185,7],[505,7],[622,7],[654,7],[675,8],[736,8],[855,7],[992,7],[1057,7]]},"13":{"position":[[18,7],[87,7],[125,8],[147,7],[166,7],[244,7],[378,7],[449,8]]},"15":{"position":[[19,7],[87,7],[126,7],[217,7],[413,7],[520,8]]},"16":{"position":[[130,7],[221,7],[306,7],[337,7],[522,8]]},"17":{"position":[[16,7],[109,8],[208,8],[224,7]]},"20":{"position":[[261,7],[813,7],[1510,7]]},"27":{"position":[[145,7],[229,7],[658,7],[784,7]]},"28":{"position":[[108,7]]},"31":{"position":[[515,7]]},"35":{"position":[[1266,7],[1797,7]]},"36":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6153,7],[6275,7],[6783,7],[6906,7],[7847,7],[7970,7],[8170,7],[8480,7],[8506,7],[8921,8]]},"37":{"position":[[1059,7],[1590,7]]},"44":{"position":[[338,7]]},"49":{"position":[[63,8],[312,8]]},"50":{"position":[[300,8]]},"51":{"position":[[251,8],[383,8]]},"54":{"position":[[561,7],[3094,11]]},"60":{"position":[[1444,8]]},"62":{"position":[[538,7]]},"63":{"position":[[299,7],[359,8],[1363,7]]},"66":{"position":[[55,8]]},"67":{"position":[[43,8]]},"68":{"position":[[44,7]]},"79":{"position":[[253,8]]},"80":{"position":[[41,8]]},"83":{"position":[[518,8],[903,8],[2361,7]]},"85":{"position":[[1372,7]]},"89":{"position":[[12,7]]},"93":{"position":[[40,9],[137,7],[329,8],[410,8],[887,7],[1035,7],[1145,7],[1324,7],[1382,9],[1541,7],[1588,7],[1633,7]]},"95":{"position":[[305,7],[454,7],[605,8]]},"99":{"position":[[562,7]]},"104":{"position":[[43,8]]},"105":{"position":[[50,8]]},"107":{"position":[[65,7],[123,7],[165,10]]},"112":{"position":[[192,7]]},"114":{"position":[[291,8]]},"115":{"position":[[203,8]]},"116":{"position":[[80,8],[106,8]]},"117":{"position":[[130,9]]},"126":{"position":[[55,8],[113,7],[301,8],[497,8]]},"140":{"position":[[16,7],[67,7]]},"143":{"position":[[26,8],[126,7]]},"146":{"position":[[26,8]]},"147":{"position":[[1,7]]},"148":{"position":[[1,7]]},"149":{"position":[[22,7],[113,7]]},"150":{"position":[[1,7]]},"151":{"position":[[1,7]]},"152":{"position":[[24,7],[117,7]]},"178":{"position":[[1,7],[51,7]]},"198":{"position":[[1,7],[37,7],[130,7],[203,7],[334,7],[409,9],[597,8],[804,7],[1089,7],[1348,7]]},"199":{"position":[[15,7],[92,7],[124,7],[145,8],[206,8],[325,7],[462,7],[528,7]]},"200":{"position":[[38,7]]},"201":{"position":[[11,7],[44,7],[144,8],[189,7],[1295,7],[1826,7]]},"202":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6153,7],[6275,7],[6783,7],[6906,7],[7847,7],[7970,7],[8170,7],[8480,7],[8506,7],[8921,8]]},"203":{"position":[[11,7],[44,7],[144,8],[1078,7],[1609,7]]},"204":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[412,7],[1439,7],[1970,7]]},"205":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[1275,7],[1806,7]]},"206":{"position":[[11,7],[44,7],[161,8],[206,7]]},"207":{"position":[[11,7],[44,7],[161,8]]},"208":{"position":[[21,7],[200,8]]},"209":{"position":[[36,7],[113,7]]},"210":{"position":[[12,7],[50,7],[94,8],[177,7]]},"211":{"position":[[15,7],[50,7],[133,8]]},"212":{"position":[[53,8]]},"213":{"position":[[33,7]]},"214":{"position":[[24,7],[66,7],[133,7],[208,7]]},"216":{"position":[[66,7],[206,7]]},"217":{"position":[[64,7],[202,7]]},"218":{"position":[[74,7]]},"219":{"position":[[80,7]]},"220":{"position":[[58,7]]},"221":{"position":[[60,7]]},"223":{"position":[[87,10],[152,8]]},"224":{"position":[[49,7],[99,7],[1168,9],[1373,9]]},"225":{"position":[[21,7],[121,7],[175,7],[347,7],[379,7],[404,7]]},"226":{"position":[[39,7],[949,7],[1709,7]]},"227":{"position":[[236,7]]},"230":{"position":[[699,7],[796,8],[1137,7],[1207,9],[1864,7],[2051,7],[2409,7]]},"241":{"position":[[195,8]]},"253":{"position":[[585,7],[1127,8],[1289,7],[2737,7],[3181,7],[3222,7],[4643,7],[5848,7],[5957,7],[6049,7],[6116,7],[6214,7],[8215,8]]},"254":{"position":[[1100,7],[1335,7],[2477,7],[2732,7]]},"264":{"position":[[135,7]]},"267":{"position":[[7988,7]]},"285":{"position":[[247,8]]},"291":{"position":[[529,7],[806,7]]},"292":{"position":[[738,7],[1139,7],[1215,7],[1471,8]]},"297":{"position":[[190,7],[267,8],[310,7],[513,8],[919,8],[1126,8]]},"298":{"position":[[159,7],[1373,8],[1569,7]]},"299":{"position":[[388,8],[1176,8]]},"300":{"position":[[460,10],[489,7],[770,7],[793,7]]},"301":{"position":[[5,7],[159,7],[263,7],[424,7],[522,7],[581,9],[627,7],[674,7],[707,7],[786,8],[805,7],[919,7],[1124,7],[1222,7],[1377,7],[1519,7],[1692,7]]},"303":{"position":[[1,7],[55,8],[161,7],[206,7],[252,8],[291,7],[337,7],[404,7],[446,7],[504,7],[573,7],[621,8],[648,7],[691,7],[760,8],[787,7],[847,7],[915,7],[992,7],[1019,7],[1085,7],[1154,7],[1181,7],[1217,8],[1285,7],[1341,7],[1378,8],[1467,7],[1513,7],[1677,7],[1725,7],[1844,7],[1883,8],[1948,7],[1999,7],[2079,7],[2107,7],[2131,7],[2152,7],[2195,7],[2223,7],[2267,7],[2282,7],[2317,8],[2333,7]]},"304":{"position":[[2744,8],[2789,7],[4378,7],[4467,8]]},"310":{"position":[[263,8],[300,7],[546,8],[587,7]]},"320":{"position":[[273,7]]},"321":{"position":[[287,7],[1002,7],[1075,8],[1177,7],[1719,7],[2224,7]]},"322":{"position":[[2030,8]]},"329":{"position":[[1568,7]]},"343":{"position":[[70,7]]},"344":{"position":[[262,8]]},"347":{"position":[[2122,8]]},"356":{"position":[[392,7]]},"357":{"position":[[458,11]]},"364":{"position":[[26,9]]},"429":{"position":[[135,8],[739,8],[803,8],[1208,7]]},"446":{"position":[[103,10]]},"448":{"position":[[137,7]]},"451":{"position":[[36,7],[125,7],[264,7]]},"452":{"position":[[19,7]]},"453":{"position":[[19,7]]},"454":{"position":[[131,8]]},"476":{"position":[[4613,10]]},"478":{"position":[[77,7],[135,7],[441,8],[983,7],[1008,7]]},"480":{"position":[[49,7]]},"481":{"position":[[331,7]]},"490":{"position":[[711,8],[759,10],[785,8],[930,7],[1080,7]]},"492":{"position":[[538,8]]},"500":{"position":[[9,7]]},"510":{"position":[[49,8]]},"514":{"position":[[91,7],[633,8],[687,8]]},"522":{"position":[[140,8]]},"527":{"position":[[98,9]]},"530":{"position":[[1,7],[49,7],[76,8],[162,7],[192,7],[242,8],[258,7],[387,7]]},"533":{"position":[[10,7],[166,8],[200,7],[448,7],[488,7],[534,7],[628,8],[644,7],[698,7],[804,8]]},"534":{"position":[[19,8],[69,8],[81,8],[423,7]]},"536":{"position":[[5,7],[292,7],[381,7]]},"538":{"position":[[5,7],[120,7]]},"540":{"position":[[85,7],[132,7],[214,7],[279,7],[321,7],[371,7],[411,7],[462,8],[539,7],[618,7],[641,10],[694,8],[761,8],[787,11]]},"541":{"position":[[5,7],[52,9],[168,9],[218,8],[300,8],[329,7],[359,7],[400,8]]},"544":{"position":[[55,7]]},"546":{"position":[[1,7],[53,8],[78,8],[147,7]]},"547":{"position":[[13,7],[55,8],[93,8]]},"548":{"position":[[5,8],[74,8],[319,7],[376,7],[459,7],[546,7]]},"550":{"position":[[25,7]]},"566":{"position":[[30,7]]},"581":{"position":[[95,7]]},"585":{"position":[[267,10],[552,10],[726,7]]},"586":{"position":[[286,10],[501,10]]},"617":{"position":[[983,8],[1152,7],[1246,8]]},"620":{"position":[[177,7]]},"621":{"position":[[423,7],[478,7],[601,7],[661,7],[749,7],[806,7],[881,7],[951,7],[1030,7],[1089,7],[1279,7],[1360,7],[1426,7],[1477,7],[1550,7],[1630,7],[1689,7],[1779,7],[1873,7],[1932,7],[2004,7],[2062,7],[2112,7],[2177,7],[2263,7],[2335,7],[2407,7],[2485,7],[2543,7],[2596,7],[2657,7],[2713,7],[2789,7],[3434,7],[3545,7],[4012,7],[4066,7],[4120,7],[4195,7],[4264,7],[4318,7],[4379,7],[4432,7],[4485,7],[4538,7],[4602,7],[4664,7],[4753,7],[4885,7],[4949,7],[5017,7]]},"635":{"position":[[42,8],[93,8]]},"636":{"position":[[19,8],[806,7],[834,7],[860,8],[927,7],[1046,7],[1270,7]]},"637":{"position":[[19,7],[154,7],[1028,7],[1056,7],[1082,8],[1149,7],[1268,7],[1492,7]]},"638":{"position":[[19,7],[84,8],[185,9],[1049,7],[1077,7],[1103,8],[1170,7],[1289,7],[1513,7]]},"639":{"position":[[19,7],[110,8],[211,8],[1082,7],[1110,7],[1136,8],[1203,7],[1322,7],[1546,7]]},"640":{"position":[[19,7],[882,7],[910,7],[936,8],[1003,7],[1122,7],[1346,7]]},"641":{"position":[[19,7],[177,7],[1099,7],[1127,7],[1153,8],[1220,7],[1339,7],[1563,7]]},"642":{"position":[[19,7],[107,8],[208,9],[1120,7],[1148,7],[1174,8],[1241,7],[1360,7],[1584,7]]},"643":{"position":[[19,7],[133,8],[234,8],[1153,7],[1181,7],[1207,8],[1274,7],[1393,7],[1617,7]]},"644":{"position":[[10,7],[201,7],[283,8],[334,7]]},"646":{"position":[[25,8],[144,7]]},"647":{"position":[[25,7]]},"648":{"position":[[11,7],[50,7]]},"649":{"position":[[29,7],[326,7],[351,8]]},"651":{"position":[[52,7],[284,7],[309,8],[318,7],[369,7],[404,8]]},"652":{"position":[[51,7],[453,7],[478,8],[514,7]]},"653":{"position":[[37,7],[267,7],[311,7],[336,8],[380,7],[530,7],[657,7],[823,7]]},"654":{"position":[[41,7],[288,7],[313,8],[430,7]]},"669":{"position":[[36,7]]},"671":{"position":[[54,7]]},"672":{"position":[[48,7]]},"713":{"position":[[253,7]]},"714":{"position":[[251,7]]},"715":{"position":[[254,7]]},"716":{"position":[[46,8],[390,8]]},"717":{"position":[[8,7],[368,7],[393,7],[409,7],[460,7]]},"718":{"position":[[8,7],[384,7],[409,7],[425,7],[476,7],[503,7],[688,7],[749,7]]},"725":{"position":[[238,7]]},"726":{"position":[[236,7]]},"727":{"position":[[8,7],[346,7],[371,7],[387,7],[438,7]]},"728":{"position":[[8,7],[388,7],[413,7],[429,7],[480,7],[507,7],[692,7],[753,7]]},"743":{"position":[[147,12]]},"758":{"position":[[58,8]]}},"keywords":{}}],["command"",{"_index":148,"title":{},"content":{"5":{"position":[[154,13],[263,14]]},"213":{"position":[[410,13]]},"321":{"position":[[1216,13],[1769,13],[2269,13]]}},"keywords":{}}],["command/respons",{"_index":1534,"title":{},"content":{"79":{"position":[[155,16]]}},"keywords":{}}],["command/telemetri",{"_index":4251,"title":{},"content":{"482":{"position":[[227,17]]}},"keywords":{}}],["command:"",{"_index":3994,"title":{},"content":{"446":{"position":[[281,14]]}},"keywords":{}}],["command_nam",{"_index":1723,"title":{},"content":{"93":{"position":[[556,12],[1552,12]]},"653":{"position":[[468,13],[579,13],[711,13]]}},"keywords":{}}],["command_param",{"_index":1738,"title":{},"content":{"93":{"position":[[1596,14]]}},"keywords":{}}],["command_validator.rb",{"_index":2185,"title":{},"content":{"224":{"position":[[399,22]]}},"keywords":{}}],["commandlog",{"_index":2049,"title":{},"content":{"168":{"position":[[390,11]]}},"keywords":{}}],["commands:"",{"_index":4001,"title":{},"content":{"446":{"position":[[720,15]]}},"keywords":{}}],["commandvalid",{"_index":2186,"title":{},"content":{"224":{"position":[[444,18]]}},"keywords":{}}],["commasdelimit",{"_index":4482,"title":{},"content":{"552":{"position":[[134,13]]}},"keywords":{}}],["comment",{"_index":3197,"title":{"472":{"position":[[17,9]]},"481":{"position":[[4,8]]}},"content":{"324":{"position":[[3458,7]]},"325":{"position":[[489,7]]},"332":{"position":[[365,7],[673,7],[980,8]]},"472":{"position":[[26,8]]},"476":{"position":[[1745,8],[4291,7]]},"481":{"position":[[5,8],[154,7],[235,8],[345,8],[455,7],[536,7]]},"553":{"position":[[56,7]]}},"keywords":{}}],["comment/uncom",{"_index":2902,"title":{},"content":{"304":{"position":[[1648,17]]}},"keywords":{}}],["comment=expir",{"_index":966,"title":{},"content":{"43":{"position":[[867,16]]}},"keywords":{}}],["commerc",{"_index":3693,"title":{},"content":{"363":{"position":[[1405,9]]},"464":{"position":[[382,8]]}},"keywords":{}}],["commerci",{"_index":3619,"title":{"361":{"position":[[0,10]]},"362":{"position":[[21,10]]}},"content":{"359":{"position":[[1491,10],[1609,10],[2076,13]]},"360":{"position":[[466,10],[511,10],[1381,10]]},"361":{"position":[[331,10],[597,10]]},"362":{"position":[[684,10]]},"363":{"position":[[260,13],[359,10]]}},"keywords":{}}],["commit",{"_index":1563,"title":{"459":{"position":[[4,11]]}},"content":{"83":{"position":[[218,6]]},"110":{"position":[[109,6]]},"313":{"position":[[105,7]]},"449":{"position":[[392,7]]},"459":{"position":[[280,9]]},"464":{"position":[[26,9]]}},"keywords":{}}],["commod",{"_index":3692,"title":{},"content":{"363":{"position":[[1348,9]]}},"keywords":{}}],["common",{"_index":274,"title":{"494":{"position":[[0,6]]},"504":{"position":[[0,6]]}},"content":{"7":{"position":[[1123,6]]},"20":{"position":[[671,6]]},"49":{"position":[[194,6]]},"72":{"position":[[143,6]]},"73":{"position":[[328,6]]},"74":{"position":[[343,6]]},"99":{"position":[[126,6],[153,6],[3918,6]]},"108":{"position":[[369,6],[510,6]]},"332":{"position":[[112,6]]},"364":{"position":[[1532,6]]},"374":{"position":[[435,6]]},"379":{"position":[[117,6]]},"380":{"position":[[111,6]]},"381":{"position":[[122,6]]},"480":{"position":[[249,6],[323,6]]},"493":{"position":[[408,6]]},"504":{"position":[[17,6]]},"508":{"position":[[351,6],[432,6]]},"618":{"position":[[698,6]]},"658":{"position":[[427,6]]}},"keywords":{}}],["common/src/components/widgets/widget"",{"_index":3213,"title":{},"content":{"328":{"position":[[271,43]]}},"keywords":{}}],["commonli",{"_index":1367,"title":{},"content":{"61":{"position":[[2654,8]]},"478":{"position":[[184,8]]}},"keywords":{}}],["commun",{"_index":1224,"title":{},"content":{"50":{"position":[[128,11]]},"109":{"position":[[94,11]]},"114":{"position":[[73,12]]},"117":{"position":[[45,11]]},"253":{"position":[[1170,11]]},"298":{"position":[[1049,13],[1296,13]]},"320":{"position":[[596,13]]},"364":{"position":[[48,14],[153,11],[420,11]]},"461":{"position":[[396,14],[798,11]]},"462":{"position":[[483,13],[563,15]]},"466":{"position":[[608,14],[783,14],[949,15]]},"468":{"position":[[112,14]]}},"keywords":{}}],["compact",{"_index":2424,"title":{},"content":{"239":{"position":[[190,7]]}},"keywords":{}}],["compani",{"_index":429,"title":{},"content":{"20":{"position":[[594,8],[612,7]]},"137":{"position":[[192,7]]},"173":{"position":[[212,7]]},"363":{"position":[[826,8],[953,7],[1090,10]]},"467":{"position":[[46,7],[90,8],[624,9],[798,9]]},"469":{"position":[[108,8]]}},"keywords":{}}],["compar",{"_index":3890,"title":{},"content":{"425":{"position":[[427,7]]},"599":{"position":[[1252,7]]}},"keywords":{}}],["comparison",{"_index":3466,"title":{"357":{"position":[[12,11]]}},"content":{"656":{"position":[[159,10],[636,10],[649,10],[704,10]]},"658":{"position":[[156,11]]},"681":{"position":[[1002,10],[1015,10],[1161,10],[1211,10]]},"682":{"position":[[928,10],[978,10]]},"683":{"position":[[182,11],[714,10],[764,10]]},"684":{"position":[[645,10]]},"685":{"position":[[617,10],[630,10],[773,10],[823,10]]},"686":{"position":[[824,10],[874,10]]},"687":{"position":[[178,11],[639,10],[689,10]]},"688":{"position":[[617,10]]}},"keywords":{}}],["compat",{"_index":818,"title":{},"content":{"36":{"position":[[8266,15]]},"202":{"position":[[8266,15]]},"229":{"position":[[551,10]]},"250":{"position":[[33,10]]},"267":{"position":[[6925,15]]},"359":{"position":[[1368,10],[1456,10]]},"620":{"position":[[123,14]]},"621":{"position":[[3389,14],[3610,14]]}},"keywords":{}}],["competitor",{"_index":3621,"title":{},"content":{"359":{"position":[[1723,11]]}},"keywords":{}}],["compil",{"_index":1656,"title":{},"content":{"84":{"position":[[323,8],[1235,7]]},"229":{"position":[[827,9]]}},"keywords":{}}],["complet",{"_index":327,"title":{},"content":{"12":{"position":[[100,10]]},"13":{"position":[[275,10]]},"36":{"position":[[9587,8]]},"63":{"position":[[1601,11]]},"75":{"position":[[441,8]]},"79":{"position":[[603,9]]},"83":{"position":[[845,9]]},"202":{"position":[[9587,8]]},"267":{"position":[[7846,8]]},"304":{"position":[[155,10],[1890,10],[2033,10],[4524,11]]},"310":{"position":[[577,9],[673,9]]},"332":{"position":[[339,11]]},"347":{"position":[[1635,8]]},"442":{"position":[[253,8]]},"482":{"position":[[188,10],[1508,8]]},"504":{"position":[[407,9]]},"514":{"position":[[919,11]]},"527":{"position":[[317,8]]},"528":{"position":[[1570,9]]},"559":{"position":[[225,9]]},"592":{"position":[[165,11]]},"612":{"position":[[932,9]]},"617":{"position":[[919,10],[1102,11]]},"752":{"position":[[478,10]]}},"keywords":{}}],["complete"",{"_index":4360,"title":{},"content":{"497":{"position":[[553,14],[853,15]]}},"keywords":{}}],["complex",{"_index":2369,"title":{},"content":{"231":{"position":[[1045,7]]},"355":{"position":[[137,10],[251,7],[467,7]]},"357":{"position":[[3698,10]]},"429":{"position":[[410,7],[1908,7]]},"479":{"position":[[213,7],[304,7]]}},"keywords":{}}],["complex."",{"_index":2468,"title":{},"content":{"245":{"position":[[357,14]]}},"keywords":{}}],["compli",{"_index":4112,"title":{},"content":{"465":{"position":[[440,6]]},"467":{"position":[[1233,6]]}},"keywords":{}}],["complic",{"_index":3143,"title":{},"content":{"324":{"position":[[441,11]]},"501":{"position":[[83,11]]},"658":{"position":[[144,11]]},"683":{"position":[[170,11]]},"687":{"position":[[166,11]]}},"keywords":{}}],["compon",{"_index":622,"title":{"564":{"position":[[7,11]]}},"content":{"31":{"position":[[419,10]]},"194":{"position":[[458,9]]},"235":{"position":[[935,9]]},"245":{"position":[[253,9],[411,9]]},"247":{"position":[[338,11]]},"306":{"position":[[215,10]]},"313":{"position":[[51,11]]},"513":{"position":[[22,10]]},"564":{"position":[[31,10],[55,9],[126,9],[165,9],[256,10],[310,9],[385,9]]}},"keywords":{}}],["components/blob/master/static/json/rux",{"_index":3881,"title":{},"content":{"424":{"position":[[258,38]]}},"keywords":{}}],["compos",{"_index":2449,"title":{"241":{"position":[[7,8]]},"324":{"position":[[47,8]]}},"content":{"241":{"position":[[104,8],[285,7]]},"242":{"position":[[51,7]]},"289":{"position":[[317,8]]},"292":{"position":[[603,7],[695,7],[1293,7]]},"324":{"position":[[1443,7],[1528,7],[1623,7],[1776,7],[1807,7],[1830,7],[1860,7],[1904,7],[1945,7],[1969,7]]},"325":{"position":[[326,7],[354,7]]},"617":{"position":[[876,7]]}},"keywords":{}}],["compose.yaml",{"_index":506,"title":{"23":{"position":[[14,13]]}},"content":{"237":{"position":[[268,12]]},"241":{"position":[[333,12]]},"324":{"position":[[3389,12],[3407,12]]},"325":{"position":[[438,12]]},"341":{"position":[[128,13]]},"347":{"position":[[2463,12]]}},"keywords":{}}],["composit",{"_index":3763,"title":{},"content":{"383":{"position":[[635,9]]}},"keywords":{}}],["comprehens",{"_index":283,"title":{},"content":{"7":{"position":[[1242,13]]}},"keywords":{}}],["compromis",{"_index":4093,"title":{},"content":{"461":{"position":[[1134,12]]}},"keywords":{}}],["comput",{"_index":2429,"title":{},"content":{"240":{"position":[[163,9]]},"262":{"position":[[142,8]]},"347":{"position":[[567,8],[1361,8],[1718,8],[2619,9]]},"364":{"position":[[195,8],[207,8]]}},"keywords":{}}],["concaten",{"_index":295,"title":{"9":{"position":[[7,14]]}},"content":{"9":{"position":[[38,13],[90,11],[431,11],[893,11]]},"429":{"position":[[444,13],[551,14]]}},"keywords":{}}],["concept",{"_index":1911,"title":{"113":{"position":[[0,9]]},"236":{"position":[[18,8]]},"475":{"position":[[0,9]]},"615":{"position":[[0,9]]}},"content":{"262":{"position":[[14,7]]},"267":{"position":[[8186,7]]},"482":{"position":[[771,7]]},"483":{"position":[[159,9]]}},"keywords":{}}],["concern",{"_index":3464,"title":{},"content":{"356":{"position":[[830,7]]}},"keywords":{}}],["conclus",{"_index":3573,"title":{},"content":{"357":{"position":[[3604,11]]}},"keywords":{}}],["condit",{"_index":2670,"title":{},"content":{"267":{"position":[[8995,9],[9153,9],[9314,9],[9434,9],[9818,9],[10204,9]]},"371":{"position":[[327,11]]},"504":{"position":[[516,10]]}},"keywords":{}}],["condition",{"_index":4346,"title":{"496":{"position":[[0,13]]}},"content":{},"keywords":{}}],["config",{"_index":484,"title":{"22":{"position":[[21,7]]}},"content":{"120":{"position":[[404,6]]},"237":{"position":[[427,6]]},"257":{"position":[[978,7]]},"308":{"position":[[695,6],[781,6]]},"324":{"position":[[3682,6]]},"517":{"position":[[51,7],[196,6]]},"700":{"position":[[121,6]]},"772":{"position":[[226,7],[273,7],[325,7]]},"773":{"position":[[418,6]]},"774":{"position":[[354,7]]}},"keywords":{}}],["config/default/targets_modifi",{"_index":4448,"title":{},"content":{"518":{"position":[[175,31]]},"520":{"position":[[116,31]]}},"keywords":{}}],["config/target/cmd_tlm",{"_index":2711,"title":{},"content":{"284":{"position":[[152,21]]}},"keywords":{}}],["config_tool_nam",{"_index":5571,"title":{"771":{"position":[[0,18]]}},"content":{"771":{"position":[[129,19],[258,19]]}},"keywords":{}}],["configparser.handle_true_false(allow_empty_data",{"_index":1492,"title":{},"content":{"71":{"position":[[333,48]]}},"keywords":{}}],["configparser.handle_true_false_none(allow_empty_data",{"_index":1497,"title":{},"content":{"71":{"position":[[520,53]]}},"keywords":{}}],["configur",{"_index":50,"title":{"120":{"position":[[11,13]]},"313":{"position":[[8,14]]},"315":{"position":[[0,11]]},"334":{"position":[[0,13]]},"338":{"position":[[7,14]]},"452":{"position":[[38,14]]},"453":{"position":[[20,13]]},"507":{"position":[[16,13]]},"770":{"position":[[0,14]]}},"content":{"2":{"position":[[347,13],[515,13]]},"5":{"position":[[23,13],[1321,13]]},"6":{"position":[[280,13],[1155,13]]},"7":{"position":[[72,13],[104,13],[402,13],[541,13]]},"8":{"position":[[50,13]]},"9":{"position":[[66,13]]},"22":{"position":[[1,9]]},"31":{"position":[[523,14]]},"40":{"position":[[143,13]]},"46":{"position":[[33,14],[317,13],[1711,14]]},"51":{"position":[[538,9]]},"63":{"position":[[1222,13]]},"83":{"position":[[251,13],[284,9]]},"99":{"position":[[1323,13],[1347,13]]},"108":{"position":[[484,13]]},"112":{"position":[[53,9],[100,9],[245,9]]},"120":{"position":[[14,13],[158,10],[258,13]]},"121":{"position":[[10,12],[499,13],[684,13]]},"177":{"position":[[162,13]]},"179":{"position":[[157,13]]},"225":{"position":[[78,13]]},"229":{"position":[[1242,10]]},"230":{"position":[[456,13],[1145,14],[1263,14],[2378,13]]},"231":{"position":[[542,13]]},"235":{"position":[[1465,13],[1601,9]]},"237":{"position":[[285,11]]},"240":{"position":[[840,10],[1197,13]]},"241":{"position":[[136,9]]},"249":{"position":[[149,13],[432,13]]},"253":{"position":[[349,13],[6948,10],[8077,9]]},"257":{"position":[[666,13],[746,13],[934,13],[1692,11]]},"263":{"position":[[509,13]]},"282":{"position":[[80,13]]},"284":{"position":[[126,13]]},"290":{"position":[[578,13]]},"297":{"position":[[839,13],[889,13],[958,9]]},"298":{"position":[[438,13],[606,13],[1421,10],[1448,13]]},"302":{"position":[[707,14],[731,14],[792,14],[816,14]]},"305":{"position":[[1055,12]]},"306":{"position":[[630,14]]},"307":{"position":[[1037,14],[1069,14],[1134,14],[1175,14]]},"308":{"position":[[658,15],[744,15]]},"311":{"position":[[866,11]]},"315":{"position":[[19,13]]},"321":{"position":[[3991,14]]},"322":{"position":[[1739,13]]},"324":{"position":[[1977,9],[2171,9],[3572,13]]},"325":{"position":[[679,13]]},"331":{"position":[[49,10],[494,13],[648,14]]},"334":{"position":[[22,13],[161,14]]},"338":{"position":[[26,13],[103,13],[1778,10],[2172,10]]},"339":{"position":[[155,13]]},"359":{"position":[[1082,14]]},"364":{"position":[[1363,13],[1422,13],[1564,13]]},"374":{"position":[[201,10]]},"448":{"position":[[271,10]]},"452":{"position":[[63,13],[98,13]]},"517":{"position":[[227,13]]},"552":{"position":[[47,13],[82,13],[171,14],[196,13],[246,15],[275,13],[343,14],[395,13],[421,14],[446,13],[501,15],[531,13],[589,14],[650,14],[702,13]]},"563":{"position":[[70,13],[109,14],[134,13],[184,15],[213,13],[281,14],[333,13],[359,14],[384,13],[439,15],[469,13],[527,14],[588,14],[640,13]]},"568":{"position":[[60,13]]},"570":{"position":[[84,13],[123,13]]},"577":{"position":[[113,13],[152,13],[940,14],[965,13],[1015,15],[1044,13],[1112,14],[1164,13],[1190,14],[1215,13],[1270,15],[1300,13],[1358,14],[1419,14],[1471,13]]},"588":{"position":[[94,10]]},"589":{"position":[[69,13],[108,14],[133,13],[183,15],[212,13],[280,14],[332,13],[358,14],[383,13],[438,15],[468,13],[526,14],[587,14],[639,13]]},"594":{"position":[[64,9]]},"596":{"position":[[185,14]]},"598":{"position":[[16,13],[88,13],[127,14],[152,13],[202,15],[231,13],[299,14],[351,13],[377,14],[402,13],[457,15],[487,13],[545,14],[606,14],[658,13]]},"681":{"position":[[25,12]]},"682":{"position":[[25,12]]},"686":{"position":[[25,12]]},"711":{"position":[[394,13]]},"720":{"position":[[340,13]]},"770":{"position":[[55,14],[129,14]]},"771":{"position":[[14,13]]},"772":{"position":[[20,13],[185,13]]},"773":{"position":[[24,14],[45,13],[64,14],[348,13],[379,13]]},"774":{"position":[[24,14],[184,13],[215,13],[260,13]]},"775":{"position":[[26,14],[188,13],[219,13],[266,13]]}},"keywords":{}}],["configuration."",{"_index":2453,"title":{},"content":{"241":{"position":[[252,20]]}},"keywords":{}}],["configurationreset",{"_index":4495,"title":{},"content":{"563":{"position":[[47,18]]},"589":{"position":[[46,18]]},"598":{"position":[[65,18]]}},"keywords":{}}],["configurationsav",{"_index":4479,"title":{},"content":{"552":{"position":[[17,17]]},"563":{"position":[[17,17]]},"570":{"position":[[54,17]]},"577":{"position":[[83,17]]},"589":{"position":[[16,17]]}},"keywords":{}}],["configurationsth",{"_index":3666,"title":{},"content":{"362":{"position":[[259,17]]}},"keywords":{}}],["confirm",{"_index":719,"title":{},"content":{"36":{"position":[[3227,12]]},"202":{"position":[[3227,12]]},"214":{"position":[[101,12]]},"448":{"position":[[243,7]]},"467":{"position":[[362,13]]}},"keywords":{}}],["conflict",{"_index":2402,"title":{},"content":{"235":{"position":[[672,8]]},"253":{"position":[[7202,9]]}},"keywords":{}}],["conform",{"_index":4139,"title":{},"content":{"467":{"position":[[1197,7]]}},"keywords":{}}],["confus",{"_index":1363,"title":{},"content":{"61":{"position":[[2543,9]]},"69":{"position":[[384,9]]}},"keywords":{}}],["congrat",{"_index":1188,"title":{},"content":{"46":{"position":[[1596,8]]}},"keywords":{}}],["congratul",{"_index":3357,"title":{},"content":{"347":{"position":[[2664,16]]}},"keywords":{}}],["conjunct",{"_index":2152,"title":{},"content":{"208":{"position":[[68,11]]},"225":{"position":[[211,11]]},"273":{"position":[[65,11]]},"282":{"position":[[217,11]]},"430":{"position":[[86,11]]},"431":{"position":[[105,11]]},"432":{"position":[[88,11]]},"434":{"position":[[98,11]]},"436":{"position":[[88,11]]}},"keywords":{}}],["connect",{"_index":46,"title":{"89":{"position":[[7,12]]},"293":{"position":[[0,8]]}},"content":{"2":{"position":[[300,8]]},"20":{"position":[[168,10]]},"44":{"position":[[909,12],[2410,12]]},"49":{"position":[[28,8],[165,11],[272,7]]},"50":{"position":[[78,11],[223,7]]},"52":{"position":[[22,8]]},"53":{"position":[[74,8],[83,10]]},"63":{"position":[[1672,10],[1773,7]]},"64":{"position":[[120,7]]},"69":{"position":[[573,7]]},"72":{"position":[[81,9],[167,7]]},"73":{"position":[[94,10]]},"89":{"position":[[53,11]]},"115":{"position":[[35,10],[98,11],[156,11]]},"123":{"position":[[11,10]]},"128":{"position":[[38,7]]},"129":{"position":[[58,10]]},"130":{"position":[[118,10]]},"135":{"position":[[561,11]]},"227":{"position":[[814,10],[873,11],[966,10],[1025,11],[1042,10],[1406,10],[1958,9],[1982,9]]},"253":{"position":[[6385,7],[6649,10],[7597,7]]},"254":{"position":[[786,8],[903,8],[2786,7]]},"263":{"position":[[277,9]]},"289":{"position":[[920,10],[984,11],[1152,11],[1519,11]]},"293":{"position":[[1,7]]},"297":{"position":[[219,8],[631,12]]},"298":{"position":[[391,8],[822,7],[1080,9],[1133,10],[1179,12],[1263,7]]},"299":{"position":[[573,7],[612,9]]},"300":{"position":[[80,10],[139,7],[217,10],[273,7]]},"301":{"position":[[311,10],[392,7],[1270,10],[1348,7]]},"304":{"position":[[4360,10]]},"315":{"position":[[422,7]]},"319":{"position":[[12,10]]},"322":{"position":[[92,7],[1878,7]]},"336":{"position":[[86,9]]},"338":{"position":[[899,11],[993,11],[1910,7]]},"347":{"position":[[1902,7],[1991,8]]},"353":{"position":[[154,9]]},"357":{"position":[[339,10]]},"360":{"position":[[1091,10]]},"364":{"position":[[1175,7]]},"442":{"position":[[189,9],[1032,9]]},"444":{"position":[[1015,9]]},"536":{"position":[[155,9]]},"539":{"position":[[93,7]]},"544":{"position":[[228,11]]},"606":{"position":[[403,7]]},"607":{"position":[[270,11]]},"711":{"position":[[1,8]]},"715":{"position":[[131,10],[159,9],[533,10],[576,9],[1091,10],[1129,9]]},"720":{"position":[[1,8]]},"724":{"position":[[125,10],[153,9],[509,10],[552,9],[1052,10],[1087,9]]},"758":{"position":[[263,9]]}},"keywords":{}}],["connect/token",{"_index":958,"title":{},"content":{"43":{"position":[[652,13]]}},"keywords":{}}],["connect_interfac",{"_index":5287,"title":{"711":{"position":[[0,18]]}},"content":{},"keywords":{}}],["connect_interface("<interfac",{"_index":5288,"title":{},"content":{"711":{"position":[[81,37]]}},"keywords":{}}],["connect_interface("int1"",{"_index":5290,"title":{},"content":{"711":{"position":[[439,35],[475,35]]}},"keywords":{}}],["connect_reset",{"_index":1506,"title":{"73":{"position":[[0,14]]}},"content":{"73":{"position":[[5,13],[143,13],[261,13]]}},"keywords":{}}],["connect_reset(self",{"_index":1507,"title":{},"content":{"73":{"position":[[210,20]]}},"keywords":{}}],["connect_rout",{"_index":5346,"title":{"720":{"position":[[0,15]]}},"content":{},"keywords":{}}],["connect_router("<rout",{"_index":5347,"title":{},"content":{"720":{"position":[[51,31]]}},"keywords":{}}],["connect_router("inst_router"",{"_index":5350,"title":{},"content":{"720":{"position":[[385,39],[425,39]]}},"keywords":{}}],["connection_st",{"_index":5304,"title":{},"content":{"715":{"position":[[397,17],[551,20],[956,17]]},"724":{"position":[[379,17],[527,20],[897,17]]}},"keywords":{}}],["consecut",{"_index":2107,"title":{},"content":{"192":{"position":[[230,11]]},"267":{"position":[[8581,11]]}},"keywords":{}}],["consent",{"_index":4095,"title":{"462":{"position":[[3,8]]}},"content":{"462":{"position":[[49,7],[422,7]]}},"keywords":{}}],["consid",{"_index":392,"title":{},"content":{"20":{"position":[[36,10]]},"36":{"position":[[9048,8]]},"39":{"position":[[161,8]]},"202":{"position":[[9048,8]]},"267":{"position":[[7171,8]]},"421":{"position":[[250,8]]},"459":{"position":[[800,10]]},"736":{"position":[[148,8]]},"752":{"position":[[184,8]]}},"keywords":{}}],["consider",{"_index":3456,"title":{},"content":{"356":{"position":[[9,13]]},"500":{"position":[[758,11]]}},"keywords":{}}],["consist",{"_index":1303,"title":{},"content":{"57":{"position":[[5,10]]},"237":{"position":[[183,8]]},"240":{"position":[[572,10],[743,7],[1570,8]]},"242":{"position":[[129,8]]},"357":{"position":[[554,10]]},"476":{"position":[[1247,10]]},"523":{"position":[[272,8]]}},"keywords":{}}],["consol",{"_index":1662,"title":{},"content":{"84":{"position":[[680,7]]},"192":{"position":[[114,9]]},"540":{"position":[[174,7]]}},"keywords":{}}],["console.log",{"_index":1669,"title":{},"content":{"84":{"position":[[1196,12]]}},"keywords":{}}],["constant",{"_index":604,"title":{},"content":{"29":{"position":[[90,9]]},"476":{"position":[[2006,9],[2921,9],[4068,9],[4151,8]]}},"keywords":{}}],["constrain",{"_index":4342,"title":{},"content":{"495":{"position":[[1086,11]]}},"keywords":{}}],["construct",{"_index":4255,"title":{},"content":{"483":{"position":[[20,10]]}},"keywords":{}}],["constructor",{"_index":764,"title":{},"content":{"36":{"position":[[5381,12]]},"71":{"position":[[13,11]]},"202":{"position":[[5381,12]]},"215":{"position":[[419,11]]},"224":{"position":[[527,11]]},"267":{"position":[[3862,12],[10741,11]]},"276":{"position":[[394,12]]}},"keywords":{}}],["consult",{"_index":1447,"title":{},"content":{"69":{"position":[[1212,7],[1486,7]]}},"keywords":{}}],["consum",{"_index":2765,"title":{},"content":{"289":{"position":[[499,8],[631,8]]},"352":{"position":[[301,9]]},"514":{"position":[[992,9]]}},"keywords":{}}],["consumpt",{"_index":3364,"title":{},"content":{"350":{"position":[[88,11]]}},"keywords":{}}],["cont",{"_index":2720,"title":{},"content":{"285":{"position":[[545,4]]}},"keywords":{}}],["contact",{"_index":2591,"title":{},"content":{"254":{"position":[[2985,7]]},"363":{"position":[[1011,7],[1422,7]]},"461":{"position":[[866,7],[1023,7]]},"462":{"position":[[602,7]]},"467":{"position":[[252,7]]},"468":{"position":[[218,10]]},"472":{"position":[[142,7]]}},"keywords":{}}],["contain",{"_index":37,"title":{"46":{"position":[[43,12]]},"141":{"position":[[0,10]]},"180":{"position":[[0,10]]},"240":{"position":[[0,11]]}},"content":{"2":{"position":[[136,10],[176,10],[334,8],[437,10],[488,8]]},"5":{"position":[[42,8]]},"21":{"position":[[40,10]]},"23":{"position":[[391,9]]},"24":{"position":[[380,8]]},"26":{"position":[[46,8]]},"27":{"position":[[62,8],[186,8]]},"33":{"position":[[298,8],[391,10]]},"36":{"position":[[5057,8],[5253,7]]},"46":{"position":[[73,10],[110,11]]},"60":{"position":[[433,7]]},"61":{"position":[[270,7]]},"63":{"position":[[530,8],[646,8]]},"83":{"position":[[709,9],[752,11],[2271,10],[2293,9]]},"85":{"position":[[324,9],[758,9]]},"87":{"position":[[39,8]]},"88":{"position":[[151,7]]},"93":{"position":[[843,10],[1153,8]]},"94":{"position":[[634,10]]},"99":{"position":[[2858,8],[3292,8],[4026,8]]},"112":{"position":[[703,9]]},"138":{"position":[[186,9],[405,9]]},"141":{"position":[[23,9],[35,9],[173,9]]},"174":{"position":[[170,9],[389,9]]},"177":{"position":[[199,9]]},"180":{"position":[[8,9],[19,9],[157,9]]},"202":{"position":[[5057,8],[5253,7]]},"224":{"position":[[236,8],[429,7]]},"230":{"position":[[443,8],[686,8],[1352,8],[1709,8],[2232,8]]},"231":{"position":[[506,8]]},"235":{"position":[[971,8]]},"237":{"position":[[22,8],[308,11],[402,8]]},"240":{"position":[[21,9],[228,9],[298,9],[428,10],[548,10],[604,10],[732,10],[906,9],[1262,10],[1533,9],[1951,10]]},"241":{"position":[[68,9]]},"242":{"position":[[169,7]]},"243":{"position":[[174,10]]},"249":{"position":[[197,9],[236,11],[321,9],[331,8],[406,9],[416,8]]},"253":{"position":[[1047,7],[1077,8],[1771,9],[5142,8]]},"256":{"position":[[30,11],[67,10]]},"257":{"position":[[1269,10],[1526,10]]},"259":{"position":[[1553,8],[1715,10]]},"261":{"position":[[221,10]]},"267":{"position":[[3538,8],[3734,7]]},"283":{"position":[[56,7]]},"289":{"position":[[1589,10]]},"290":{"position":[[321,11],[362,11],[453,10]]},"291":{"position":[[12,10],[396,9]]},"292":{"position":[[891,11],[1426,10]]},"297":{"position":[[1101,10],[1186,10]]},"298":{"position":[[227,10],[267,10],[425,8],[528,10],[579,8]]},"305":{"position":[[973,10]]},"316":{"position":[[29,9]]},"322":{"position":[[348,9],[378,9]]},"324":{"position":[[199,9],[741,9],[862,9],[2837,9]]},"329":{"position":[[544,8]]},"331":{"position":[[272,7]]},"343":{"position":[[37,7],[297,7]]},"344":{"position":[[22,8],[57,8],[246,7]]},"345":{"position":[[25,8],[313,8]]},"349":{"position":[[23,9]]},"355":{"position":[[298,10],[604,9],[704,7]]},"356":{"position":[[309,9]]},"357":{"position":[[1041,9],[2532,9]]},"366":{"position":[[224,8]]},"368":{"position":[[168,8]]},"391":{"position":[[127,9]]},"396":{"position":[[55,7]]},"434":{"position":[[140,9]]},"449":{"position":[[193,7]]},"451":{"position":[[21,10]]},"469":{"position":[[126,8]]},"476":{"position":[[1581,7]]},"482":{"position":[[1350,10]]},"484":{"position":[[109,8]]},"485":{"position":[[253,10]]},"487":{"position":[[651,8]]},"488":{"position":[[980,8]]},"507":{"position":[[453,8]]},"517":{"position":[[88,8]]},"527":{"position":[[284,10],[374,10]]},"528":{"position":[[214,8]]},"578":{"position":[[419,8]]},"610":{"position":[[17,8]]},"658":{"position":[[569,8],[816,8]]},"662":{"position":[[152,10]]},"706":{"position":[[23,10]]},"707":{"position":[[100,8]]},"715":{"position":[[102,8]]},"724":{"position":[[99,8]]},"737":{"position":[[29,8],[523,10]]}},"keywords":{}}],["container",{"_index":32,"title":{"238":{"position":[[0,17]]}},"content":{"2":{"position":[[31,14]]},"243":{"position":[[136,13]]},"298":{"position":[[122,14]]},"299":{"position":[[86,14]]}},"keywords":{}}],["container."",{"_index":2422,"title":{},"content":{"239":{"position":[[92,16]]}},"keywords":{}}],["containers/group.com.docker/settings.json",{"_index":2782,"title":{},"content":{"289":{"position":[[1349,41]]}},"keywords":{}}],["containersoutput",{"_index":4043,"title":{},"content":{"457":{"position":[[240,16]]}},"keywords":{}}],["content",{"_index":924,"title":{},"content":{"42":{"position":[[615,7],[634,7]]},"43":{"position":[[728,7],[749,7],[1165,7],[6375,7]]},"44":{"position":[[939,8],[1473,8],[1569,9],[2438,8]]},"57":{"position":[[180,8]]},"120":{"position":[[84,8]]},"229":{"position":[[848,8]]},"289":{"position":[[840,8]]},"305":{"position":[[59,8],[406,8]]},"321":{"position":[[259,8]]},"367":{"position":[[50,8]]},"386":{"position":[[247,9]]},"387":{"position":[[116,8]]},"388":{"position":[[96,8]]},"389":{"position":[[120,8]]},"390":{"position":[[97,8]]},"469":{"position":[[286,7]]},"744":{"position":[[49,8]]}},"keywords":{}}],["context",{"_index":2835,"title":{"298":{"position":[[25,7]]}},"content":{"304":{"position":[[3775,7]]},"305":{"position":[[693,7],[861,7]]},"500":{"position":[[115,8]]}},"keywords":{}}],["continu",{"_index":284,"title":{"8":{"position":[[5,13]]}},"content":{"8":{"position":[[24,12],[89,12]]},"9":{"position":[[759,12]]},"44":{"position":[[68,10],[2003,11]]},"62":{"position":[[110,12]]},"69":{"position":[[2699,9]]},"227":{"position":[[312,12],[4693,8]]},"292":{"position":[[766,9]]},"294":{"position":[[1,8]]},"302":{"position":[[538,8]]},"304":{"position":[[459,9]]},"362":{"position":[[599,9]]},"488":{"position":[[738,10]]},"495":{"position":[[483,8],[769,8],[1364,9]]},"502":{"position":[[241,9],[360,9]]},"504":{"position":[[377,8]]},"505":{"position":[[457,9]]},"514":{"position":[[1267,13]]},"538":{"position":[[318,8]]},"547":{"position":[[73,9]]},"575":{"position":[[172,8]]},"578":{"position":[[1415,8]]},"599":{"position":[[1039,8]]},"607":{"position":[[633,8]]},"612":{"position":[[269,8],[378,8],[401,8],[623,8],[857,8],[919,8],[1274,13]]},"613":{"position":[[315,9]]},"617":{"position":[[533,8]]},"683":{"position":[[120,9]]},"684":{"position":[[109,9]]}},"keywords":{}}],["continue"",{"_index":4811,"title":{},"content":{"634":{"position":[[248,15]]}},"keywords":{}}],["contract",{"_index":2589,"title":{},"content":{"254":{"position":[[2933,9]]},"360":{"position":[[1035,9]]},"361":{"position":[[26,8]]},"363":{"position":[[696,8]]}},"keywords":{}}],["contractu",{"_index":3651,"title":{},"content":{"361":{"position":[[94,11]]}},"keywords":{}}],["contribut",{"_index":1158,"title":{"447":{"position":[[0,12]]}},"content":{"46":{"position":[[558,13],[1726,13]]}},"keywords":{}}],["control",{"_index":6,"title":{},"content":{"1":{"position":[[55,7]]},"2":{"position":[[80,7]]},"36":{"position":[[10838,7]]},"40":{"position":[[135,7]]},"42":{"position":[[570,8]]},"43":{"position":[[710,8],[6330,8]]},"109":{"position":[[154,7]]},"289":{"position":[[776,8]]},"298":{"position":[[171,7]]},"338":{"position":[[769,7]]},"340":{"position":[[122,11]]},"363":{"position":[[758,9],[1211,9],[1235,10]]},"364":{"position":[[36,7]]},"459":{"position":[[205,7]]},"480":{"position":[[61,7]]},"507":{"position":[[100,10]]},"550":{"position":[[209,7]]},"747":{"position":[[33,7]]}},"keywords":{}}],["controlldap",{"_index":3663,"title":{},"content":{"362":{"position":[[205,11]]}},"keywords":{}}],["convent",{"_index":1937,"title":{},"content":{"123":{"position":[[534,10]]},"320":{"position":[[1508,11]]},"368":{"position":[[226,11]]},"487":{"position":[[545,10]]}},"keywords":{}}],["convers",{"_index":741,"title":{"232":{"position":[[0,10]]}},"content":{"36":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6120,10],[6176,10],[6392,11],[6425,10],[6750,10],[6807,10],[7188,11],[7221,10],[7506,10],[7593,10],[7693,10],[7785,10],[7812,10],[7871,10],[7999,10],[8421,10],[8465,11],[8558,11],[8641,11],[8700,11],[9001,11],[9068,10],[9612,10]]},"202":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6120,10],[6176,10],[6392,11],[6425,10],[6750,10],[6807,10],[7188,11],[7221,10],[7506,10],[7593,10],[7693,10],[7785,10],[7812,10],[7871,10],[7999,10],[8421,10],[8465,11],[8558,11],[8641,11],[8700,11],[9001,11],[9068,10],[9612,10]]},"232":{"position":[[5,10],[67,11],[164,10],[238,10],[269,10],[399,10],[482,10],[692,10],[837,10]]},"234":{"position":[[5,10]]},"262":{"position":[[716,10]]},"263":{"position":[[1047,10]]},"267":{"position":[[2944,10],[2986,11],[3126,11],[3282,10],[3821,10],[4062,10],[4355,10],[4599,10],[4652,10],[4931,11],[4964,10],[5287,10],[5341,10],[5789,11],[5822,10],[6106,10],[6192,10],[6291,10],[6381,10],[6408,10],[6464,10],[6659,10],[7079,10],[7124,11],[7191,10],[7870,10]]},"532":{"position":[[120,11]]},"534":{"position":[[379,12]]},"618":{"position":[[229,12],[492,10],[526,10],[553,11],[601,10],[829,10]]},"640":{"position":[[43,12]]},"641":{"position":[[43,11]]},"642":{"position":[[43,11]]},"643":{"position":[[43,11]]}},"keywords":{}}],["convert",{"_index":568,"title":{"28":{"position":[[0,7]]},"452":{"position":[[0,10]]},"453":{"position":[[0,10]]}},"content":{"26":{"position":[[302,7]]},"28":{"position":[[50,7],[119,7]]},"36":{"position":[[8322,9],[9302,7],[9489,7]]},"69":{"position":[[3060,9],[4369,9]]},"94":{"position":[[130,9]]},"202":{"position":[[8322,9],[9302,7],[9489,7]]},"227":{"position":[[3181,10],[4099,10]]},"232":{"position":[[763,7]]},"257":{"position":[[139,10],[634,10]]},"267":{"position":[[6981,9],[7364,9],[7432,9],[7463,9],[7585,7],[7750,7]]},"305":{"position":[[1490,10]]},"308":{"position":[[542,10]]},"401":{"position":[[482,10],[512,10]]},"402":{"position":[[669,10],[699,10]]},"403":{"position":[[654,10],[684,10],[872,9],[920,9]]},"404":{"position":[[218,10],[248,10]]},"405":{"position":[[466,10],[496,10]]},"406":{"position":[[239,10],[269,10],[450,9]]},"407":{"position":[[385,10],[415,10]]},"408":{"position":[[259,10],[289,10]]},"409":{"position":[[262,10],[292,10],[490,9]]},"410":{"position":[[536,10],[566,10]]},"411":{"position":[[526,10],[556,10]]},"412":{"position":[[255,10],[285,10],[479,9]]},"413":{"position":[[253,10],[283,10],[480,9]]},"414":{"position":[[239,10],[269,10],[476,9]]},"415":{"position":[[228,10],[258,10],[448,9]]},"416":{"position":[[231,10],[261,10],[453,9]]},"417":{"position":[[505,10],[535,10]]},"418":{"position":[[225,10],[255,9],[952,10],[982,9]]},"419":{"position":[[259,10],[289,9],[1005,10],[1035,9]]},"420":{"position":[[243,10],[273,9],[977,10],[1007,9]]},"421":{"position":[[175,9]]},"422":{"position":[[476,10],[506,10]]},"423":{"position":[[515,10],[545,10]]},"425":{"position":[[271,10],[301,9]]},"427":{"position":[[467,10],[497,10],[678,9]]},"440":{"position":[[500,10],[530,10]]},"442":{"position":[[460,10],[965,9]]},"444":{"position":[[659,9],[688,10]]},"452":{"position":[[30,7],[88,9]]},"453":{"position":[[30,7],[95,9]]},"501":{"position":[[571,9]]},"571":{"position":[[113,9]]},"618":{"position":[[421,9],[431,9],[626,9],[772,9],[1016,9]]},"623":{"position":[[73,9]]},"636":{"position":[[1090,9]]},"637":{"position":[[1312,9]]},"638":{"position":[[1333,9]]},"639":{"position":[[1366,9]]},"640":{"position":[[1166,9]]},"641":{"position":[[1383,9]]},"642":{"position":[[1404,9]]},"643":{"position":[[1437,9]]},"644":{"position":[[362,9],[390,10]]},"652":{"position":[[569,10]]},"657":{"position":[[10,9],[681,9]]},"660":{"position":[[473,9]]},"662":{"position":[[537,9]]},"669":{"position":[[599,9],[750,10],[1037,9]]},"670":{"position":[[484,9]]},"671":{"position":[[10,9],[488,10]]},"672":{"position":[[306,10]]},"673":{"position":[[1574,12]]},"681":{"position":[[79,9],[1329,9]]},"682":{"position":[[64,9],[1096,9]]},"685":{"position":[[81,9],[941,9]]},"686":{"position":[[64,9],[992,9]]}},"keywords":{}}],["convert_data_to_packet",{"_index":1467,"title":{},"content":{"69":{"position":[[3113,24]]}},"keywords":{}}],["convert_packet_to_data",{"_index":1480,"title":{},"content":{"69":{"position":[[4416,24]]}},"keywords":{}}],["cooki",{"_index":963,"title":{},"content":{"43":{"position":[[830,7],[884,7],[982,7]]}},"keywords":{}}],["coordin",{"_index":3959,"title":{},"content":{"437":{"position":[[86,10]]},"438":{"position":[[125,10]]},"739":{"position":[[349,10],[418,10]]},"746":{"position":[[522,10],[591,10]]}},"keywords":{}}],["copi",{"_index":476,"title":{},"content":{"21":{"position":[[149,4],[195,5]]},"84":{"position":[[1105,4]]},"85":{"position":[[147,5],[628,4]]},"227":{"position":[[6186,4]]},"240":{"position":[[814,6]]},"253":{"position":[[7244,6]]},"254":{"position":[[1072,4]]},"291":{"position":[[360,4]]},"304":{"position":[[1607,5]]},"318":{"position":[[392,4],[610,4]]},"325":{"position":[[162,4]]},"332":{"position":[[464,4]]},"334":{"position":[[388,4]]},"350":{"position":[[267,4],[597,4],[918,4],[1261,4]]},"353":{"position":[[436,4]]},"359":{"position":[[153,4]]},"360":{"position":[[633,6]]},"487":{"position":[[472,4]]},"608":{"position":[[115,6],[460,6]]}},"keywords":{}}],["copyright",{"_index":3626,"title":{},"content":{"359":{"position":[[2004,9]]},"360":{"position":[[273,9],[564,9],[936,9]]},"363":{"position":[[81,9]]}},"keywords":{}}],["core",{"_index":1552,"title":{},"content":{"83":{"position":[[5,4]]},"108":{"position":[[1,4]]},"109":{"position":[[1,4]]},"135":{"position":[[284,4]]},"299":{"position":[[58,4]]},"356":{"position":[[473,4],[512,6],[622,4],[767,6],[792,4]]},"357":{"position":[[729,4],[2214,4]]},"359":{"position":[[1696,4]]}},"keywords":{}}],["corner",{"_index":3962,"title":{},"content":{"437":{"position":[[134,6]]},"438":{"position":[[173,6]]},"439":{"position":[[99,6],[177,6]]},"440":{"position":[[245,6],[323,6]]},"441":{"position":[[212,6],[291,6]]},"442":{"position":[[653,6],[732,6],[1492,6],[1571,6]]},"601":{"position":[[295,7]]},"739":{"position":[[384,6],[453,6]]},"746":{"position":[[557,6],[626,6]]}},"keywords":{}}],["corp",{"_index":3675,"title":{},"content":{"363":{"position":[[46,4],[225,5]]}},"keywords":{}}],["correct",{"_index":1675,"title":{},"content":{"85":{"position":[[242,7]]},"253":{"position":[[1245,7],[7738,7]]},"336":{"position":[[271,7]]},"347":{"position":[[1247,7]]},"357":{"position":[[3746,7]]},"461":{"position":[[988,7]]},"471":{"position":[[140,12]]},"474":{"position":[[297,8]]},"480":{"position":[[614,7]]},"482":{"position":[[1399,7]]},"505":{"position":[[666,7]]},"658":{"position":[[697,7]]}},"keywords":{}}],["correctli",{"_index":2603,"title":{},"content":{"257":{"position":[[1682,9]]},"291":{"position":[[788,9]]}},"keywords":{}}],["correl",{"_index":4451,"title":{},"content":{"525":{"position":[[295,11]]}},"keywords":{}}],["correspond",{"_index":562,"title":{},"content":{"26":{"position":[[97,13]]},"31":{"position":[[607,10]]},"39":{"position":[[283,13]]},"63":{"position":[[1149,13]]},"90":{"position":[[314,10]]},"112":{"position":[[178,13]]},"198":{"position":[[908,10]]},"227":{"position":[[5601,13]]},"229":{"position":[[872,13]]},"259":{"position":[[932,10]]},"514":{"position":[[154,13]]}},"keywords":{}}],["correspondingli",{"_index":1396,"title":{},"content":{"63":{"position":[[956,16]]}},"keywords":{}}],["cosmo",{"_index":1,"title":{"1":{"position":[[11,7]]},"2":{"position":[[0,6]]},"42":{"position":[[25,6]]},"43":{"position":[[25,6]]},"46":{"position":[[11,6]]},"82":{"position":[[11,6]]},"100":{"position":[[8,6]]},"107":{"position":[[37,6]]},"108":{"position":[[7,6]]},"109":{"position":[[7,6]]},"236":{"position":[[7,6]]},"256":{"position":[[0,6]]},"257":{"position":[[15,6],[27,6]]},"287":{"position":[[18,7]]},"288":{"position":[[18,6]]},"312":{"position":[[0,6]]},"314":{"position":[[11,7]]},"315":{"position":[[12,7]]},"320":{"position":[[11,6]]},"324":{"position":[[7,6]]},"347":{"position":[[0,6]]},"354":{"position":[[0,6]]},"451":{"position":[[8,6]]},"452":{"position":[[31,6]]},"453":{"position":[[13,6]]},"476":{"position":[[18,7]]},"502":{"position":[[0,6]]},"620":{"position":[[15,6]]},"621":{"position":[[15,6]]}},"content":{"1":{"position":[[1,6]]},"2":{"position":[[3,6],[104,6],[198,6],[293,6],[636,6],[775,6]]},"3":{"position":[[103,6],[218,6],[275,6],[395,7],[547,6],[588,6]]},"5":{"position":[[16,6],[301,6],[1314,6]]},"6":{"position":[[263,6],[1095,6]]},"7":{"position":[[1,6]]},"8":{"position":[[1,6]]},"9":{"position":[[1,6]]},"20":{"position":[[292,6]]},"31":{"position":[[74,6]]},"42":{"position":[[8,6]]},"43":{"position":[[8,6],[4651,6],[4670,6],[6290,6]]},"44":{"position":[[95,7]]},"46":{"position":[[49,6],[177,6],[249,6],[421,6],[855,6],[934,6],[1614,6]]},"48":{"position":[[1,6]]},"52":{"position":[[63,6]]},"54":{"position":[[126,6],[632,6],[656,6],[2247,6],[3285,6]]},"56":{"position":[[1,6]]},"59":{"position":[[106,6]]},"61":{"position":[[3214,6]]},"63":{"position":[[109,6],[1210,6]]},"64":{"position":[[62,6],[195,6]]},"65":{"position":[[1,6]]},"68":{"position":[[68,6]]},"69":{"position":[[87,6],[329,6],[1080,6],[1118,6],[1233,6],[1354,6],[1392,6],[1507,6],[3077,6],[4655,6]]},"76":{"position":[[68,6],[219,6],[271,6]]},"77":{"position":[[69,6],[218,6],[270,6]]},"83":{"position":[[10,6],[398,7],[460,6],[495,6],[621,6],[702,6],[974,6],[1042,6],[1123,6],[2010,6],[2026,6],[2475,6],[2603,6],[2723,6],[2810,6],[2923,6],[3033,6],[3100,6]]},"84":{"position":[[22,6],[77,6],[167,6]]},"85":{"position":[[192,6],[391,6],[558,6],[686,6],[712,6],[807,6],[840,6],[854,6],[914,6],[1054,6],[1113,6],[1180,6],[1257,6],[1300,6]]},"88":{"position":[[5,6],[348,6]]},"89":{"position":[[5,6],[72,6],[126,6]]},"90":{"position":[[38,6],[332,6]]},"91":{"position":[[5,6]]},"93":{"position":[[150,6]]},"97":{"position":[[23,6]]},"98":{"position":[[1,6]]},"99":{"position":[[905,6],[1014,6],[2149,6],[4221,7]]},"102":{"position":[[50,6],[163,6]]},"103":{"position":[[7,6],[14,6],[44,6],[231,6],[508,6],[565,6]]},"108":{"position":[[416,6],[466,6]]},"109":{"position":[[56,6]]},"110":{"position":[[134,7]]},"112":{"position":[[65,6],[121,7],[352,7],[393,6]]},"114":{"position":[[66,6],[275,6]]},"116":{"position":[[50,6],[94,7],[132,6]]},"117":{"position":[[1,6],[66,6]]},"118":{"position":[[72,6]]},"119":{"position":[[1,6]]},"120":{"position":[[53,6],[251,6]]},"141":{"position":[[98,6]]},"176":{"position":[[533,6]]},"180":{"position":[[82,6]]},"192":{"position":[[200,6]]},"198":{"position":[[73,6],[1065,6],[1266,6]]},"227":{"position":[[40,6],[119,6],[136,6],[281,6],[679,6],[1803,8],[4278,6],[5506,6],[5984,6]]},"229":{"position":[[56,6],[143,6],[300,6],[505,6],[622,6],[656,6],[908,6],[930,6],[981,6],[1160,6]]},"230":{"position":[[56,6],[106,6],[169,6],[280,6],[899,6],[1586,6]]},"231":{"position":[[62,6],[118,6],[181,6],[304,6]]},"232":{"position":[[60,6],[114,6],[202,6],[336,6],[784,6]]},"233":{"position":[[65,6],[124,6],[217,6],[361,6]]},"234":{"position":[[60,6],[196,6],[259,6],[360,6],[783,6]]},"235":{"position":[[54,6],[107,6],[284,6],[467,6],[552,6],[1307,6]]},"237":{"position":[[10,6],[73,7],[116,6],[138,6],[163,7],[256,7],[301,6],[387,6]]},"239":{"position":[[135,6]]},"240":{"position":[[532,6],[713,6],[800,6],[851,6],[869,6],[899,6],[966,6],[980,6],[1036,6],[1057,6],[1071,6],[1150,6],[1211,6],[1302,6],[1425,6],[1511,6],[1563,6],[1687,6],[1706,6],[1784,6]]},"241":{"position":[[321,7]]},"242":{"position":[[1,6],[98,6],[192,6]]},"243":{"position":[[273,6],[378,6],[438,6]]},"245":{"position":[[5,6],[372,6],[459,6],[513,6],[564,6]]},"246":{"position":[[7,6],[94,6],[291,6]]},"247":{"position":[[188,6],[303,6]]},"249":{"position":[[113,6],[248,6],[274,6],[425,6],[472,6]]},"250":{"position":[[58,6],[111,6],[164,6],[351,6]]},"251":{"position":[[5,6]]},"253":{"position":[[18,6],[173,6],[388,6],[431,6],[535,6],[1023,7],[1207,6],[1495,6],[1587,6],[1764,6],[2006,6],[2222,6],[2240,6],[2697,6],[4695,6],[5927,6],[6371,6],[6428,6],[7277,6],[7957,6],[8087,6],[8163,6]]},"254":{"position":[[50,7],[65,6],[160,6],[199,6],[477,7],[605,6],[1080,7],[1118,6],[1206,6],[1879,6],[1974,6],[2013,6],[2133,6],[2444,6],[2776,6],[2959,6]]},"256":{"position":[[1,6],[122,6],[215,6],[270,6],[415,6]]},"257":{"position":[[1,6],[115,6],[127,6],[595,6],[657,6],[687,6],[737,6],[783,6],[925,6],[1097,6],[1202,6],[1232,6],[1449,6],[1479,6],[1632,6],[1953,6]]},"259":{"position":[[97,6],[1041,7],[1104,6],[1439,6],[1608,6]]},"261":{"position":[[1,6]]},"262":{"position":[[1,6],[183,6]]},"263":{"position":[[1,6],[211,6],[626,6],[1019,6],[1736,6]]},"287":{"position":[[51,6],[193,6]]},"289":{"position":[[1575,6]]},"290":{"position":[[24,6],[314,6],[446,6]]},"291":{"position":[[5,6],[169,6]]},"297":{"position":[[5,6],[138,6],[183,6],[565,6],[758,6],[803,6],[859,6],[973,6],[1255,6]]},"298":{"position":[[33,6],[94,6],[195,6],[289,6],[384,6],[727,6],[811,6],[1341,6],[1516,6]]},"299":{"position":[[51,6],[108,6],[136,6],[149,6],[229,6],[251,6],[264,6],[340,6],[358,6],[367,6],[402,6],[411,6],[451,6],[460,6],[516,6],[525,6],[645,6],[654,6],[749,6],[758,6],[894,6],[1005,6],[1015,6],[1123,6],[1133,6],[1243,6]]},"300":{"position":[[48,6],[185,6],[315,6],[437,6],[507,6],[611,6],[717,6],[819,6],[851,6]]},"301":{"position":[[69,6]]},"304":{"position":[[1936,6],[2115,6]]},"305":{"position":[[1465,6]]},"310":{"position":[[89,6]]},"311":{"position":[[89,6]]},"313":{"position":[[64,6]]},"314":{"position":[[9,6]]},"315":{"position":[[342,7],[490,7]]},"319":{"position":[[30,6],[167,6]]},"320":{"position":[[246,6],[463,6]]},"322":{"position":[[242,6],[362,6],[472,6],[530,6],[580,6],[1504,6]]},"324":{"position":[[78,6],[2701,6],[3379,6],[3864,6]]},"325":{"position":[[732,6],[742,6]]},"327":{"position":[[37,6],[261,6]]},"328":{"position":[[535,6]]},"329":{"position":[[94,7],[198,6],[233,6]]},"331":{"position":[[34,6],[112,6],[239,6]]},"332":{"position":[[83,6],[954,6]]},"334":{"position":[[131,6],[531,6],[626,6],[666,6],[800,6],[1394,7]]},"336":{"position":[[36,6],[144,6],[206,6],[251,6]]},"338":{"position":[[916,6],[1010,7],[1082,6],[1899,6]]},"340":{"position":[[21,6],[54,6],[87,6],[141,6]]},"345":{"position":[[56,6]]},"347":{"position":[[133,7],[2439,6],[2449,6],[2694,6]]},"349":{"position":[[13,6],[99,7],[184,7]]},"355":{"position":[[1,6],[291,6],[436,6],[867,6],[1080,6]]},"356":{"position":[[86,6],[232,6],[385,6],[667,6]]},"357":{"position":[[142,6],[326,6],[1201,6],[1234,6],[1284,6],[1358,6],[1434,6],[1467,6],[1524,6],[1597,6],[1678,6],[1749,6],[1820,6],[2049,6],[2690,6],[2723,6],[2775,6],[2849,6],[2924,6],[2957,6],[3014,6],[3087,6],[3169,6],[3240,6],[3311,6],[3641,6],[3941,6]]},"359":{"position":[[879,8],[1715,7],[2169,6]]},"362":{"position":[[148,6],[360,6],[643,6]]},"363":{"position":[[418,6],[513,6],[594,6],[642,6],[779,6],[848,6]]},"364":{"position":[[11,6],[128,6],[280,6],[437,7],[496,6],[652,7],[707,6],[841,6],[1072,6],[1165,6],[1216,6],[1295,6],[1456,6],[1647,6]]},"366":{"position":[[60,6]]},"429":{"position":[[636,6],[891,6]]},"448":{"position":[[87,6]]},"451":{"position":[[118,6],[237,6]]},"452":{"position":[[56,6]]},"456":{"position":[[46,7]]},"474":{"position":[[96,7],[355,6]]},"475":{"position":[[1,6]]},"476":{"position":[[104,6],[3617,6]]},"478":{"position":[[6,6],[852,6]]},"482":{"position":[[1,6],[208,6]]},"483":{"position":[[205,6],[1217,6]]},"484":{"position":[[170,6]]},"487":{"position":[[559,6]]},"488":{"position":[[1,6],[538,6],[1651,6],[1966,6]]},"490":{"position":[[892,6]]},"495":{"position":[[1,6]]},"497":{"position":[[1,6]]},"498":{"position":[[80,6]]},"499":{"position":[[14,6],[312,6]]},"500":{"position":[[61,6]]},"501":{"position":[[5,6]]},"502":{"position":[[40,6],[410,6],[501,6]]},"504":{"position":[[52,6]]},"505":{"position":[[120,6]]},"507":{"position":[[441,6]]},"508":{"position":[[192,6],[305,6]]},"516":{"position":[[42,6],[221,6]]},"517":{"position":[[35,6],[220,6],[312,6],[359,6],[511,6],[746,6]]},"518":{"position":[[124,6]]},"520":{"position":[[65,6]]},"523":{"position":[[22,6]]},"525":{"position":[[55,6]]},"530":{"position":[[68,7]]},"536":{"position":[[116,6],[345,6]]},"539":{"position":[[64,6]]},"543":{"position":[[25,6]]},"546":{"position":[[70,7]]},"548":{"position":[[724,6]]},"564":{"position":[[368,6]]},"566":{"position":[[23,6]]},"577":{"position":[[52,6],[767,6],[924,7]]},"578":{"position":[[407,6]]},"581":{"position":[[88,6]]},"584":{"position":[[50,6]]},"585":{"position":[[5,6]]},"586":{"position":[[5,6]]},"603":{"position":[[36,6],[113,6]]},"608":{"position":[[321,6],[674,6]]},"616":{"position":[[1,6],[137,6]]},"618":{"position":[[73,7]]},"619":{"position":[[114,6],[143,6]]},"620":{"position":[[50,6]]},"621":{"position":[[72,6],[139,6]]},"632":{"position":[[169,6]]},"659":{"position":[[283,6]]},"702":{"position":[[42,6]]},"708":{"position":[[44,6]]},"711":{"position":[[39,6]]},"712":{"position":[[44,6]]},"717":{"position":[[77,6]]},"718":{"position":[[86,6]]},"719":{"position":[[44,6]]},"720":{"position":[[12,6]]},"721":{"position":[[15,6]]},"727":{"position":[[73,6]]},"728":{"position":[[83,6]]},"729":{"position":[[59,6]]},"759":{"position":[[72,6],[177,6]]},"765":{"position":[[1,6]]},"766":{"position":[[24,6]]},"767":{"position":[[24,6]]},"768":{"position":[[32,6]]},"770":{"position":[[6,6]]}},"keywords":{}}],["cosmos'",{"_index":4005,"title":{},"content":{"448":{"position":[[64,8]]}},"keywords":{}}],["cosmos.cosmo",{"_index":2842,"title":{},"content":{"298":{"position":[[1093,13]]}},"keywords":{}}],["cosmos.localset",{"_index":3331,"title":{},"content":{"347":{"position":[[1035,15]]}},"keywords":{}}],["cosmos/compose.yaml",{"_index":3194,"title":{},"content":{"324":{"position":[[3356,19]]},"325":{"position":[[413,19]]}},"keywords":{}}],["cosmos/examples/hostinstall/centos7",{"_index":1173,"title":{},"content":{"46":{"position":[[1071,35],[1257,35]]}},"keywords":{}}],["cosmos/openc3",{"_index":1849,"title":{},"content":{"104":{"position":[[13,13],[52,13],[79,13]]}},"keywords":{}}],["cosmos/openc3/coverage/index.html",{"_index":1852,"title":{},"content":{"104":{"position":[[153,33]]}},"keywords":{}}],["cosmos/openc3/python",{"_index":1853,"title":{},"content":{"105":{"position":[[13,20],[59,20],[128,20],[193,20],[239,20]]}},"keywords":{}}],["cosmos/openc3/python/coverage/index.html",{"_index":1860,"title":{},"content":{"105":{"position":[[316,40]]}},"keywords":{}}],["cosmos_host/tools/scriptrunner/$id"",{"_index":1117,"title":{},"content":{"44":{"position":[[3204,41]]}},"keywords":{}}],["cosmos_host='http://localhost:2900",{"_index":1087,"title":{},"content":{"44":{"position":[[2168,35]]}},"keywords":{}}],["cosmosopen",{"_index":1765,"title":{},"content":{"95":{"position":[[294,10]]}},"keywords":{}}],["cost",{"_index":3298,"title":{},"content":{"347":{"position":[[29,4]]}},"keywords":{}}],["cot",{"_index":2840,"title":{},"content":{"298":{"position":[[967,4]]}},"keywords":{}}],["count",{"_index":696,"title":{},"content":{"36":{"position":[[1761,5],[1776,5]]},"61":{"position":[[1416,5],[1464,8],[1575,5]]},"99":{"position":[[4493,8]]},"202":{"position":[[1761,5],[1776,5]]},"267":{"position":[[1756,5],[1771,5]]},"356":{"position":[[627,7]]},"476":{"position":[[4867,5]]},"478":{"position":[[458,5],[620,7],[654,5],[817,6]]},"482":{"position":[[1381,7]]},"483":{"position":[[938,6]]},"536":{"position":[[194,6]]},"539":{"position":[[155,7]]},"676":{"position":[[94,6],[346,5],[773,6]]},"677":{"position":[[17,5]]},"678":{"position":[[17,6]]},"703":{"position":[[142,6],[273,5]]},"715":{"position":[[262,6],[283,6],[777,6],[802,6],[1346,6],[1373,6]]}},"keywords":{}}],["count"",{"_index":2226,"title":{},"content":{"226":{"position":[[635,11],[1513,11],[2283,11]]},"285":{"position":[[637,11]]}},"keywords":{}}],["count=1",{"_index":5103,"title":{},"content":{"676":{"position":[[1270,8]]}},"keywords":{}}],["count=1000",{"_index":5098,"title":{},"content":{"676":{"position":[[153,11]]}},"keywords":{}}],["counter",{"_index":1469,"title":{},"content":{"69":{"position":[[3456,7],[3861,7]]},"321":{"position":[[1760,8]]},"476":{"position":[[2067,7],[2982,7]]},"478":{"position":[[406,7]]},"709":{"position":[[94,9]]},"723":{"position":[[87,9]]}},"keywords":{}}],["counter"",{"_index":3106,"title":{},"content":{"321":{"position":[[3373,13],[3428,13]]}},"keywords":{}}],["countri",{"_index":420,"title":{},"content":{"20":{"position":[[453,7]]},"347":{"position":[[1209,7]]},"461":{"position":[[656,7]]}},"keywords":{}}],["coupl",{"_index":548,"title":{},"content":{"24":{"position":[[769,7]]}},"keywords":{}}],["cours",{"_index":3658,"title":{},"content":{"361":{"position":[[581,6]]},"504":{"position":[[919,7]]}},"keywords":{}}],["cover",{"_index":2845,"title":{},"content":{"298":{"position":[[1197,6]]},"482":{"position":[[799,5]]}},"keywords":{}}],["coverag",{"_index":1840,"title":{},"content":{"103":{"position":[[328,8],[449,8],[487,8],[556,8],[590,8],[606,8]]},"104":{"position":[[120,8]]},"105":{"position":[[216,8],[262,8],[283,8]]}},"keywords":{}}],["cp",{"_index":3019,"title":{},"content":{"318":{"position":[[471,2],[522,2]]},"324":{"position":[[2217,2],[3132,2]]}},"keywords":{}}],["cpu",{"_index":2042,"title":{"356":{"position":[[0,4]]}},"content":{"167":{"position":[[19,3]]},"289":{"position":[[377,4],[448,5]]},"356":{"position":[[30,3]]},"357":{"position":[[734,3],[1051,3],[1087,3],[1100,3],[2219,3],[2424,3],[2542,3],[2578,3],[2591,3],[3552,3],[3893,3]]}},"keywords":{}}],["cpu1"",{"_index":3028,"title":{},"content":{"318":{"position":[[706,10]]}},"keywords":{}}],["crc",{"_index":1281,"title":{"67":{"position":[[0,3]]}},"content":{"54":{"position":[[2325,4],[2363,4],[2639,3],[2851,3]]},"65":{"position":[[62,3]]},"67":{"position":[[5,3],[26,4],[63,4],[183,3],[246,3],[272,3],[334,3],[478,3],[583,3],[646,3],[747,3],[1021,3],[1184,3]]}},"keywords":{}}],["crcprotocol",{"_index":1284,"title":{},"content":{"54":{"position":[[2627,11],[2839,11]]}},"keywords":{}}],["creat",{"_index":130,"title":{"318":{"position":[[0,6]]},"320":{"position":[[0,8]]},"321":{"position":[[0,8]]},"738":{"position":[[19,8]]}},"content":{"3":{"position":[[679,6]]},"20":{"position":[[199,6],[879,7],[971,7],[1171,7],[1280,7],[1411,7]]},"27":{"position":[[444,7],[558,9],[907,7]]},"36":{"position":[[9057,8]]},"46":{"position":[[336,6]]},"50":{"position":[[28,7],[106,7]]},"53":{"position":[[241,8]]},"60":{"position":[[242,6]]},"64":{"position":[[94,7]]},"69":{"position":[[1,8],[118,8],[160,8],[434,6]]},"83":{"position":[[2307,7]]},"84":{"position":[[530,6]]},"134":{"position":[[313,8]]},"143":{"position":[[1,6],[93,7]]},"144":{"position":[[185,6]]},"168":{"position":[[196,6]]},"198":{"position":[[569,6]]},"202":{"position":[[9057,8]]},"227":{"position":[[619,8],[1182,8]]},"229":{"position":[[22,7],[106,6],[342,7],[1601,7]]},"230":{"position":[[22,7],[369,7]]},"231":{"position":[[28,7],[419,7]]},"232":{"position":[[26,7],[576,7]]},"233":{"position":[[31,7],[615,7]]},"234":{"position":[[26,7],[605,7],[805,6]]},"235":{"position":[[20,7],[709,7],[1329,6]]},"239":{"position":[[74,8],[300,6],[371,6],[436,6]]},"241":{"position":[[208,6]]},"246":{"position":[[115,6]]},"253":{"position":[[331,8],[954,6],[1234,6],[1544,6],[2042,7],[2102,6],[2142,7],[2475,7],[2530,6],[2665,7],[3171,7],[5081,7],[6098,6]]},"254":{"position":[[2645,6]]},"257":{"position":[[183,8],[1188,7],[1436,6],[1731,6]]},"259":{"position":[[600,6]]},"263":{"position":[[22,7],[355,7]]},"267":{"position":[[7180,8]]},"289":{"position":[[785,6]]},"290":{"position":[[606,7]]},"291":{"position":[[1402,6]]},"292":{"position":[[834,6]]},"295":{"position":[[45,6]]},"304":{"position":[[1433,6],[1999,6],[2617,6],[3191,6],[3349,6],[4870,6],[5663,6]]},"310":{"position":[[160,8],[204,6]]},"320":{"position":[[34,6],[129,6],[288,6],[344,6],[540,7]]},"321":{"position":[[63,6],[199,7]]},"324":{"position":[[2937,6]]},"327":{"position":[[88,8]]},"334":{"position":[[188,7]]},"345":{"position":[[154,7],[203,7]]},"357":{"position":[[523,8],[2106,7]]},"368":{"position":[[366,8]]},"384":{"position":[[172,8]]},"390":{"position":[[170,6]]},"392":{"position":[[1,7]]},"393":{"position":[[1,7]]},"433":{"position":[[1,7]]},"449":{"position":[[168,6],[494,6],[674,6]]},"476":{"position":[[4082,6],[4419,8],[4582,7]]},"479":{"position":[[206,6]]},"484":{"position":[[47,6]]},"512":{"position":[[318,7]]},"513":{"position":[[70,8],[497,7]]},"514":{"position":[[426,8],[499,8],[1305,7]]},"517":{"position":[[540,7]]},"523":{"position":[[54,6],[122,7],[308,6]]},"525":{"position":[[344,6],[387,6],[651,7]]},"526":{"position":[[73,6]]},"528":{"position":[[13,7]]},"564":{"position":[[281,6]]},"582":{"position":[[3,6]]},"585":{"position":[[17,7]]},"586":{"position":[[17,7]]},"591":{"position":[[136,8]]},"593":{"position":[[230,7]]},"601":{"position":[[224,7]]},"609":{"position":[[249,6]]},"611":{"position":[[31,8],[697,7]]},"612":{"position":[[24,7]]},"627":{"position":[[62,6]]},"630":{"position":[[277,7]]},"632":{"position":[[52,6]]},"738":{"position":[[48,6]]},"745":{"position":[[33,6]]},"746":{"position":[[32,6],[748,6]]},"753":{"position":[[1,8]]},"764":{"position":[[53,6]]}},"keywords":{}}],["create_screen",{"_index":5442,"title":{"745":{"position":[[0,14]]}},"content":{"745":{"position":[[5,13]]}},"keywords":{}}],["create_screen("<target",{"_index":5443,"title":{},"content":{"745":{"position":[[174,30]]}},"keywords":{}}],["create_screen("inst"",{"_index":5447,"title":{},"content":{"745":{"position":[[659,31],[931,31]]}},"keywords":{}}],["creation",{"_index":2333,"title":{},"content":{"229":{"position":[[1192,9]]},"306":{"position":[[113,8]]},"513":{"position":[[145,8]]},"514":{"position":[[190,8]]}},"keywords":{}}],["creator",{"_index":2159,"title":{},"content":{"210":{"position":[[78,7]]},"278":{"position":[[133,8]]}},"keywords":{}}],["credenti",{"_index":1694,"title":{},"content":{"87":{"position":[[52,11]]}},"keywords":{}}],["credit",{"_index":4092,"title":{},"content":{"461":{"position":[[1101,6]]},"467":{"position":[[452,6]]}},"keywords":{}}],["criteria",{"_index":5116,"title":{},"content":{"681":{"position":[[116,9]]},"685":{"position":[[129,8]]}},"keywords":{}}],["critic",{"_index":1867,"title":{},"content":{"107":{"position":[[156,8]]},"223":{"position":[[78,8],[143,8]]},"364":{"position":[[633,8]]},"540":{"position":[[609,8],[632,8]]}},"keywords":{}}],["cross",{"_index":4417,"title":{},"content":{"507":{"position":[[319,5]]}},"keywords":{}}],["crt",{"_index":528,"title":{"27":{"position":[[8,4]]}},"content":{"24":{"position":[[103,4]]},"26":{"position":[[327,4]]},"27":{"position":[[973,4]]},"291":{"position":[[899,4]]}},"keywords":{}}],["crt/key",{"_index":532,"title":{},"content":{"24":{"position":[[197,7]]}},"keywords":{}}],["cryptic",{"_index":4330,"title":{},"content":{"493":{"position":[[386,8]]}},"keywords":{}}],["css",{"_index":2466,"title":{},"content":{"245":{"position":[[202,4]]},"375":{"position":[[39,3]]},"376":{"position":[[41,3]]},"377":{"position":[[41,3]]},"378":{"position":[[43,3]]},"382":{"position":[[13,3],[77,3],[127,3]]}},"keywords":{}}],["csv",{"_index":2959,"title":{"507":{"position":[[35,3]]}},"content":{"308":{"position":[[63,3]]},"507":{"position":[[249,3],[292,3],[354,5]]},"583":{"position":[[265,3]]}},"keywords":{}}],["csv.read('test.csv",{"_index":4418,"title":{},"content":{"507":{"position":[[369,20]]}},"keywords":{}}],["ct",{"_index":1715,"title":{},"content":{"90":{"position":[[184,4]]},"299":{"position":[[640,4]]},"301":{"position":[[253,3],[414,3],[512,3],[617,3],[795,3],[909,3],[1114,3],[1212,3],[1366,3],[1508,3],[1681,3]]}},"keywords":{}}],["ctrl",{"_index":1692,"title":{},"content":{"85":{"position":[[1564,5]]}},"keywords":{}}],["cubesat",{"_index":1880,"title":{},"content":{"108":{"position":[[314,8]]}},"keywords":{}}],["curl",{"_index":894,"title":{"41":{"position":[[13,4]]},"42":{"position":[[0,4]]},"43":{"position":[[0,4]]}},"content":{"42":{"position":[[163,4]]},"43":{"position":[[412,4],[4706,4]]},"44":{"position":[[693,4],[1907,4],[2509,4],[3954,4]]},"95":{"position":[[652,5],[659,4]]},"291":{"position":[[514,4],[1077,4]]},"324":{"position":[[1700,4]]},"347":{"position":[[2267,4]]}},"keywords":{}}],["curl"",{"_index":1043,"title":{},"content":{"44":{"position":[[617,10]]}},"keywords":{}}],["curl_arg",{"_index":1091,"title":{},"content":{"44":{"position":[[2299,11]]}},"keywords":{}}],["curl_ca_bundl",{"_index":2814,"title":{},"content":{"291":{"position":[[1259,14]]}},"keywords":{}}],["curr_line_delay",{"_index":5461,"title":{},"content":{"749":{"position":[[105,15]]}},"keywords":{}}],["currenc",{"_index":4086,"title":{},"content":{"461":{"position":[[606,9]]}},"keywords":{}}],["current",{"_index":51,"title":{"454":{"position":[[23,7]]}},"content":{"2":{"position":[[392,7]]},"32":{"position":[[175,7]]},"35":{"position":[[28,7]]},"36":{"position":[[2055,7],[2725,7],[4010,7],[6145,7],[6775,7],[7839,7]]},"37":{"position":[[28,7]]},"46":{"position":[[1689,9]]},"52":{"position":[[170,9]]},"75":{"position":[[129,7]]},"76":{"position":[[152,7]]},"77":{"position":[[151,7]]},"78":{"position":[[143,7]]},"94":{"position":[[122,7],[199,7],[276,7],[360,7]]},"99":{"position":[[3171,9]]},"169":{"position":[[47,7]]},"201":{"position":[[36,7]]},"202":{"position":[[2055,7],[2725,7],[4010,7],[6145,7],[6775,7],[7839,7]]},"203":{"position":[[36,7]]},"204":{"position":[[52,7]]},"205":{"position":[[52,7]]},"206":{"position":[[36,7]]},"207":{"position":[[36,7]]},"213":{"position":[[25,7]]},"214":{"position":[[16,7]]},"227":{"position":[[4443,7],[5039,7]]},"233":{"position":[[838,7]]},"256":{"position":[[262,7]]},"263":{"position":[[741,7]]},"266":{"position":[[33,7]]},"267":{"position":[[1950,7],[2962,7],[4624,7],[5312,7],[6435,7],[10446,7]]},"268":{"position":[[33,7]]},"269":{"position":[[33,7]]},"270":{"position":[[33,7]]},"271":{"position":[[33,7]]},"272":{"position":[[33,7]]},"275":{"position":[[25,7]]},"298":{"position":[[483,7]]},"300":{"position":[[362,7],[542,7]]},"301":{"position":[[1439,7]]},"302":{"position":[[55,9],[271,9]]},"304":{"position":[[221,9],[2204,9]]},"307":{"position":[[1061,7]]},"324":{"position":[[2665,7],[2727,7]]},"339":{"position":[[205,7]]},"360":{"position":[[106,9]]},"412":{"position":[[20,7]]},"413":{"position":[[20,7]]},"455":{"position":[[54,9]]},"457":{"position":[[35,9]]},"463":{"position":[[109,7]]},"488":{"position":[[145,7]]},"517":{"position":[[619,7]]},"518":{"position":[[86,7]]},"528":{"position":[[679,7]]},"552":{"position":[[39,7]]},"563":{"position":[[39,7]]},"568":{"position":[[89,7],[232,7]]},"570":{"position":[[76,7]]},"577":{"position":[[105,7]]},"578":{"position":[[215,7],[1461,7]]},"582":{"position":[[74,7],[99,7],[124,7]]},"589":{"position":[[38,7]]},"598":{"position":[[57,7]]},"605":{"position":[[150,9],[190,7],[216,7],[255,7]]},"606":{"position":[[349,9],[456,9]]},"607":{"position":[[303,9]]},"608":{"position":[[185,7],[423,7],[530,7]]},"612":{"position":[[890,7]]},"617":{"position":[[366,9]]},"621":{"position":[[85,9]]},"663":{"position":[[24,7]]},"670":{"position":[[364,7]]},"673":{"position":[[29,9]]},"696":{"position":[[10,7]]},"697":{"position":[[25,7]]},"709":{"position":[[70,7]]},"723":{"position":[[63,7]]},"749":{"position":[[54,9]]},"766":{"position":[[16,7]]},"767":{"position":[[16,7]]}},"keywords":{}}],["cursor",{"_index":2911,"title":{},"content":{"304":{"position":[[3872,6],[3945,7]]},"419":{"position":[[32,7]]},"608":{"position":[[447,6]]}},"keywords":{}}],["custom",{"_index":671,"title":{"69":{"position":[[0,6]]},"326":{"position":[[0,6]]},"327":{"position":[[0,6]]},"501":{"position":[[6,6]]}},"content":{"36":{"position":[[631,6],[705,6],[4070,6]]},"54":{"position":[[3339,6]]},"56":{"position":[[679,6]]},"64":{"position":[[55,6]]},"69":{"position":[[12,6],[75,11],[169,6],[443,6],[590,6]]},"71":{"position":[[34,6]]},"114":{"position":[[175,6]]},"134":{"position":[[331,6]]},"135":{"position":[[105,6]]},"194":{"position":[[10,6],[35,6],[347,6]]},"202":{"position":[[631,6],[705,6],[4070,6]]},"213":{"position":[[94,6]]},"230":{"position":[[1365,6],[1418,6],[1449,6]]},"231":{"position":[[908,6]]},"234":{"position":[[140,6]]},"235":{"position":[[160,6]]},"257":{"position":[[519,6]]},"267":{"position":[[626,6],[700,6],[3019,6]]},"275":{"position":[[103,6]]},"297":{"position":[[644,6]]},"298":{"position":[[1222,6]]},"306":{"position":[[67,6]]},"327":{"position":[[70,6]]},"328":{"position":[[640,6],[1865,6]]},"347":{"position":[[1571,13]]},"359":{"position":[[1899,9]]},"362":{"position":[[695,10]]},"363":{"position":[[325,9],[1166,9]]},"364":{"position":[[1604,6]]},"368":{"position":[[375,6],[406,6]]},"423":{"position":[[12,6]]},"437":{"position":[[35,6]]},"461":{"position":[[150,9]]},"467":{"position":[[719,8]]},"585":{"position":[[545,6]]},"586":{"position":[[494,6]]},"588":{"position":[[60,6]]},"591":{"position":[[334,11]]},"619":{"position":[[101,6],[213,6]]},"700":{"position":[[1600,6]]},"717":{"position":[[123,6]]},"718":{"position":[[131,6]]},"727":{"position":[[116,6]]},"728":{"position":[[128,6]]}},"keywords":{}}],["custom_validator.pi",{"_index":2202,"title":{},"content":{"224":{"position":[[1086,20]]}},"keywords":{}}],["custom_validator.rb",{"_index":2187,"title":{},"content":{"224":{"position":[[571,19],[602,20],[1055,19]]}},"keywords":{}}],["customvalid",{"_index":2189,"title":{},"content":{"224":{"position":[[672,15]]}},"keywords":{}}],["customvalidator(commandvalid",{"_index":2203,"title":{},"content":{"224":{"position":[[1113,34]]}},"keywords":{}}],["cut",{"_index":1436,"title":{},"content":{"69":{"position":[[496,3]]},"304":{"position":[[1602,4]]}},"keywords":{}}],["cx",{"_index":788,"title":{},"content":{"36":{"position":[[6351,2],[7147,2]]},"202":{"position":[[6351,2],[7147,2]]},"267":{"position":[[4890,2],[5748,2]]}},"keywords":{}}],["cycl",{"_index":1966,"title":{},"content":{"133":{"position":[[397,7],[454,5],[469,5],[489,5],[531,7],[576,5],[608,5],[637,5],[653,5],[720,6],[751,5],[781,5],[806,5],[823,5]]},"147":{"position":[[28,6]]},"148":{"position":[[28,6]]},"150":{"position":[[35,6]]},"151":{"position":[[35,6]]},"154":{"position":[[30,6]]},"155":{"position":[[30,6]]},"157":{"position":[[37,6]]},"158":{"position":[[37,6]]}},"keywords":{}}],["cycle_tim",{"_index":3290,"title":{},"content":{"343":{"position":[[677,10]]}},"keywords":{}}],["d",{"_index":903,"title":{},"content":{"42":{"position":[[261,1]]},"43":{"position":[[484,1],[6014,1]]},"95":{"position":[[665,1]]},"459":{"position":[[972,2]]}},"keywords":{}}],["d4",{"_index":3468,"title":{},"content":{"357":{"position":[[67,3]]}},"keywords":{}}],["d842f813f1c7",{"_index":3114,"title":{},"content":{"322":{"position":[[452,12]]}},"keywords":{}}],["daemon",{"_index":2826,"title":{},"content":{"292":{"position":[[556,6]]},"324":{"position":[[327,6]]}},"keywords":{}}],["daili",{"_index":1968,"title":{},"content":{"133":{"position":[[667,5]]}},"keywords":{}}],["damag",{"_index":3643,"title":{},"content":{"360":{"position":[[981,7]]},"459":{"position":[[1941,7]]}},"keywords":{}}],["darken",{"_index":3824,"title":{},"content":{"403":{"position":[[183,7]]},"427":{"position":[[74,7]]}},"keywords":{}}],["dash",{"_index":4554,"title":{},"content":{"593":{"position":[[513,4]]}},"keywords":{}}],["dashboard",{"_index":1886,"title":{},"content":{"108":{"position":[[473,10]]}},"keywords":{}}],["data",{"_index":48,"title":{"308":{"position":[[0,4]]},"309":{"position":[[0,4]]},"549":{"position":[[0,4]]},"551":{"position":[[0,4]]},"560":{"position":[[0,4]]},"562":{"position":[[0,4]]},"674":{"position":[[7,4]]},"729":{"position":[[9,5]]}},"content":{"2":{"position":[[323,4],[424,4],[461,5],[477,4],[529,5],[610,5]]},"5":{"position":[[842,4]]},"31":{"position":[[556,4],[703,5]]},"33":{"position":[[165,4]]},"35":{"position":[[609,4],[650,4],[660,4],[754,4],[1253,4],[1417,4],[1784,4]]},"36":{"position":[[658,4],[680,4],[10354,4]]},"37":{"position":[[402,4],[443,4],[453,4],[547,4],[1046,4],[1210,4],[1577,4]]},"39":{"position":[[272,4],[304,4]]},"44":{"position":[[2987,4]]},"51":{"position":[[186,4]]},"54":{"position":[[107,4],[256,4],[442,4],[580,4]]},"57":{"position":[[84,4],[429,4],[477,4]]},"58":{"position":[[242,4],[267,4],[370,4]]},"59":{"position":[[41,4],[96,4],[159,4],[213,4],[393,4],[463,4],[612,4],[847,5],[904,4]]},"60":{"position":[[53,4],[202,4],[1010,4],[1245,5],[1302,4],[1405,4]]},"61":{"position":[[132,4],[1149,4],[1791,4],[2004,4],[2145,5],[2202,4],[2917,4],[3065,5],[3144,5]]},"62":{"position":[[129,4],[214,5],[298,4],[508,4],[916,4],[1147,5],[1204,4]]},"63":{"position":[[1107,4],[1333,4],[1737,4],[2100,4],[2331,5],[2388,4]]},"64":{"position":[[427,5],[484,4]]},"67":{"position":[[489,5],[1156,4]]},"69":{"position":[[2040,4],[2196,4],[2247,4],[2293,4],[2432,4],[2538,4],[2643,4],[2892,4],[2981,5],[2994,4],[3322,4],[3761,4],[4110,4],[4389,4],[4557,5],[4625,4],[4677,4],[4921,4]]},"71":{"position":[[250,4]]},"75":{"position":[[72,4],[150,4],[204,5],[277,4],[433,4],[918,4],[984,5],[1329,6],[1406,4],[1730,5]]},"78":{"position":[[65,4],[164,4],[227,5],[280,5],[312,4],[471,4],[699,4],[766,5],[792,6],[847,4]]},"79":{"position":[[49,4],[348,4],[988,5],[1009,4],[1094,5],[1129,5]]},"93":{"position":[[784,4],[1190,4],[1470,4]]},"94":{"position":[[579,4],[899,4]]},"99":{"position":[[119,5],[210,4],[630,4],[648,4],[805,4],[819,4],[1128,4],[1149,4],[1479,4],[1719,4],[2094,4],[2133,4],[2210,4],[2352,4],[3053,4],[3474,4],[3589,4],[3631,4],[3669,4],[3746,5],[3759,4],[3786,4],[3813,4],[3857,4],[4204,4],[4236,4],[4551,4],[4880,4],[5194,4]]},"108":{"position":[[290,4]]},"112":{"position":[[340,4]]},"118":{"position":[[109,4]]},"125":{"position":[[239,4],[383,4]]},"126":{"position":[[284,4],[296,4],[480,4],[492,4]]},"127":{"position":[[287,4],[299,4],[486,4],[498,4]]},"133":{"position":[[24,4],[510,4]]},"134":{"position":[[65,4],[150,4],[205,4],[446,5],[461,5],[816,4],[1105,4]]},"135":{"position":[[421,4]]},"166":{"position":[[14,4]]},"167":{"position":[[47,4]]},"176":{"position":[[540,4]]},"194":{"position":[[446,4]]},"198":{"position":[[857,4],[1004,5],[1210,4],[1261,4]]},"199":{"position":[[312,4]]},"201":{"position":[[638,4],[679,4],[689,4],[783,4],[1282,4],[1446,4],[1813,4],[2042,4]]},"202":{"position":[[658,4],[680,4],[10354,4]]},"203":{"position":[[421,4],[462,4],[472,4],[566,4],[1065,4],[1229,4],[1596,4]]},"204":{"position":[[131,4],[243,4],[808,4],[849,4],[859,4],[953,4],[1234,4],[1426,4],[1590,4],[1957,4]]},"205":{"position":[[131,4],[243,4],[644,4],[685,4],[695,4],[789,4],[1070,4],[1262,4],[1426,4],[1793,4]]},"206":{"position":[[444,4],[454,4],[829,4]]},"207":{"position":[[227,4],[237,4],[612,4]]},"209":{"position":[[285,4]]},"213":{"position":[[47,4],[69,4]]},"227":{"position":[[1137,4],[1364,6],[1398,4],[2108,4],[2143,4],[2221,4],[3280,4],[4826,5],[4832,4],[4918,4],[5245,4],[5312,4],[5390,4],[6205,5]]},"234":{"position":[[816,4]]},"240":{"position":[[1297,4]]},"249":{"position":[[23,4],[167,5],[358,4],[572,4]]},"253":{"position":[[5762,4],[5780,4],[8012,4]]},"259":{"position":[[881,4],[1028,5],[1276,4],[1329,4],[1398,4],[1408,4],[1539,4],[1581,4],[1685,5]]},"260":{"position":[[58,4],[166,4],[398,4]]},"261":{"position":[[101,4]]},"262":{"position":[[108,5],[271,4],[476,4]]},"263":{"position":[[326,5],[378,4],[669,4]]},"264":{"position":[[341,4]]},"266":{"position":[[636,4],[677,4],[687,4],[1113,4]]},"267":{"position":[[653,4],[675,4]]},"268":{"position":[[428,4],[469,4],[479,4]]},"269":{"position":[[174,5],[686,4],[696,4]]},"270":{"position":[[355,4],[365,4]]},"271":{"position":[[437,4],[447,4],[822,4]]},"272":{"position":[[229,4],[239,4],[614,4]]},"274":{"position":[[266,4]]},"275":{"position":[[56,4],[78,4]]},"277":{"position":[[119,4]]},"285":{"position":[[696,4]]},"289":{"position":[[978,5],[1207,4]]},"298":{"position":[[414,4],[515,4],[552,5],[568,4],[620,5],[701,5],[1622,5]]},"301":{"position":[[682,4],[983,4]]},"306":{"position":[[165,5],[433,5],[478,5]]},"307":{"position":[[230,4],[409,4],[469,4],[488,4],[668,4],[759,4],[955,4]]},"308":{"position":[[1,4],[33,4],[51,4],[155,4],[260,4],[349,4],[446,4],[622,4],[707,4],[793,4]]},"309":{"position":[[1,4],[177,4],[234,4],[349,4],[451,4],[535,5],[546,4],[590,4],[635,5],[646,4]]},"328":{"position":[[350,6],[380,4]]},"329":{"position":[[227,5],[444,4]]},"336":{"position":[[69,4],[136,4],[179,4]]},"338":{"position":[[824,4],[1933,4]]},"343":{"position":[[92,5],[320,5],[580,4]]},"347":{"position":[[610,4]]},"350":{"position":[[27,4],[68,4],[138,5]]},"351":{"position":[[131,4]]},"352":{"position":[[189,4],[255,4],[350,5]]},"353":{"position":[[177,4]]},"355":{"position":[[420,4],[757,4]]},"356":{"position":[[185,4],[213,4]]},"357":{"position":[[2345,4]]},"364":{"position":[[464,4]]},"366":{"position":[[114,5]]},"371":{"position":[[417,4]]},"401":{"position":[[16,4]]},"402":{"position":[[16,4]]},"403":{"position":[[40,4]]},"418":{"position":[[306,5],[431,4],[1033,5],[1158,4],[1480,4]]},"419":{"position":[[340,5],[465,4],[674,4],[1086,5],[1211,4],[1533,4]]},"420":{"position":[[324,5],[449,4],[641,4],[1058,5],[1183,4],[1505,4]]},"421":{"position":[[324,4]]},"432":{"position":[[179,4]]},"457":{"position":[[288,4]]},"459":{"position":[[304,4],[410,4],[1083,4],[1259,4],[1345,4],[1374,4],[1436,4],[1826,5]]},"464":{"position":[[166,4],[265,4]]},"465":{"position":[[708,4]]},"466":{"position":[[422,4],[560,5],[652,4]]},"467":{"position":[[99,4]]},"498":{"position":[[32,4]]},"507":{"position":[[282,4]]},"525":{"position":[[41,4],[329,5]]},"550":{"position":[[1,4],[162,4]]},"555":{"position":[[1,4]]},"556":{"position":[[1,4]]},"558":{"position":[[229,4]]},"561":{"position":[[1,4],[39,4],[63,4]]},"564":{"position":[[21,4],[205,5]]},"599":{"position":[[553,4],[741,4],[844,4],[926,4]]},"623":{"position":[[116,4]]},"629":{"position":[[438,4],[447,4]]},"645":{"position":[[11,4],[180,4],[189,4],[213,4],[283,5]]},"674":{"position":[[48,5],[184,4]]},"675":{"position":[[64,4],[134,5]]},"676":{"position":[[16,4]]},"713":{"position":[[23,4],[274,4],[351,4],[385,5]]},"714":{"position":[[22,4],[271,4],[348,4],[381,5]]},"725":{"position":[[23,4],[259,4],[333,4],[367,5]]},"726":{"position":[[22,4],[256,4],[330,4],[363,5]]},"729":{"position":[[49,4]]},"759":{"position":[[57,4],[155,4]]},"767":{"position":[[937,7],[1032,7],[1146,7],[1253,7]]},"768":{"position":[[12,4]]}},"keywords":{}}],["data"",{"_index":1296,"title":{},"content":{"56":{"position":[[315,11]]},"201":{"position":[[2262,10]]},"226":{"position":[[114,10],[1698,10]]},"266":{"position":[[1144,10]]},"586":{"position":[[874,11]]},"664":{"position":[[459,11]]}},"keywords":{}}],["data.length",{"_index":1513,"title":{},"content":{"75":{"position":[[655,12]]}},"keywords":{}}],["data_bit",{"_index":1981,"title":{},"content":{"135":{"position":[[393,9],[775,9]]},"338":{"position":[[866,9],[1423,9],[1440,9]]}},"keywords":{}}],["data_int",{"_index":1946,"title":{},"content":{"125":{"position":[[147,8],[273,8]]},"134":{"position":[[726,8],[995,8]]}},"keywords":{}}],["data_typ",{"_index":4933,"title":{},"content":{"649":{"position":[[1263,12]]}},"keywords":{}}],["data_uploader.rb'class",{"_index":4180,"title":{},"content":{"476":{"position":[[1665,23]]}},"keywords":{}}],["data_view",{"_index":5577,"title":{},"content":{"771":{"position":[[320,14]]}},"keywords":{}}],["databas",{"_index":2448,"title":{},"content":{"240":{"position":[[1826,8]]},"528":{"position":[[899,8],[939,8],[1317,9],[1545,8],[1700,9]]}},"keywords":{}}],["dataencod",{"_index":4029,"title":{},"content":{"454":{"position":[[90,13]]}},"keywords":{}}],["datasourc",{"_index":3433,"title":{},"content":{"353":{"position":[[231,12]]}},"keywords":{}}],["datasource.yaml",{"_index":3431,"title":{},"content":{"353":{"position":[[200,15],[441,15]]}},"keywords":{}}],["dataupload",{"_index":4179,"title":{},"content":{"476":{"position":[[1647,12]]}},"keywords":{}}],["datavi",{"_index":2401,"title":{},"content":{"235":{"position":[[595,7],[608,7],[655,7],[1036,8],[1804,7]]}},"keywords":{}}],["dataview",{"_index":4496,"title":{},"content":{"564":{"position":[[1,10],[299,10]]}},"keywords":{}}],["date",{"_index":938,"title":{"432":{"position":[[0,5]]}},"content":{"42":{"position":[[806,5]]},"43":{"position":[[1255,5],[6547,5]]},"44":{"position":[[3092,7]]},"99":{"position":[[2960,6],[3386,6]]},"263":{"position":[[814,4],[995,4],[1107,4]]},"343":{"position":[[151,5]]},"344":{"position":[[102,4]]},"432":{"position":[[12,4],[194,7],[251,5],[262,4],[365,4],[370,4]]},"459":{"position":[[1017,5]]},"472":{"position":[[192,6]]},"522":{"position":[[177,5]]},"547":{"position":[[174,4],[194,4]]},"555":{"position":[[107,4],[120,4],[145,4],[205,5]]},"599":{"position":[[703,4],[893,4],[978,4]]}},"keywords":{}}],["date/tim",{"_index":4489,"title":{"555":{"position":[[10,10]]}},"content":{},"keywords":{}}],["day",{"_index":414,"title":{},"content":{"20":{"position":[[365,4],[1074,4]]},"83":{"position":[[1164,4],[1227,4],[1286,4],[1346,4],[1408,4],[1468,4],[1527,4],[1586,4]]},"162":{"position":[[26,3],[127,3]]},"285":{"position":[[846,3]]},"599":{"position":[[541,4]]}},"keywords":{}}],["de",{"_index":2963,"title":{},"content":{"308":{"position":[[255,2],[344,2],[441,2],[617,2],[702,2],[788,2]]}},"keywords":{}}],["deal",{"_index":3648,"title":{},"content":{"360":{"position":[[1142,8]]},"689":{"position":[[15,4]]}},"keywords":{}}],["death",{"_index":116,"title":{},"content":{"3":{"position":[[497,6]]}},"keywords":{}}],["debian_frontend=noninteract",{"_index":3005,"title":{},"content":{"318":{"position":[[34,30]]}},"keywords":{}}],["debug",{"_index":825,"title":{"95":{"position":[[8,10]]},"489":{"position":[[0,9]]},"490":{"position":[[9,9]]},"613":{"position":[[0,9]]},"755":{"position":[[14,10]]}},"content":{"36":{"position":[[9151,5]]},"85":{"position":[[1490,9]]},"95":{"position":[[84,5],[196,5]]},"133":{"position":[[205,9]]},"202":{"position":[[9151,5]]},"267":{"position":[[7272,5]]},"304":{"position":[[4572,5],[4597,9],[4641,6]]},"490":{"position":[[28,9],[217,9],[267,6],[325,6],[575,5],[729,5],[1057,5]]},"491":{"position":[[222,5]]},"505":{"position":[[557,5],[603,6]]},"606":{"position":[[238,5]]},"612":{"position":[[1397,5]]},"613":{"position":[[21,5]]},"713":{"position":[[66,9]]},"714":{"position":[[65,9]]},"725":{"position":[[63,9]]},"726":{"position":[[62,9]]},"755":{"position":[[33,5]]}},"keywords":{}}],["decemb",{"_index":2784,"title":{},"content":{"289":{"position":[[1557,8]]}},"keywords":{}}],["decid",{"_index":2885,"title":{},"content":{"304":{"position":[[398,6]]},"470":{"position":[[223,6]]}},"keywords":{}}],["declar",{"_index":324,"title":{},"content":{"12":{"position":[[66,7]]},"54":{"position":[[690,8],[2460,8],[3267,8]]},"60":{"position":[[877,7]]},"99":{"position":[[420,11],[1369,11],[1389,8],[1561,11],[1581,8],[1870,12],[1913,11],[1957,11],[2532,12],[2575,11],[2619,11],[5031,12],[5074,11],[5118,11]]},"112":{"position":[[616,8]]},"120":{"position":[[71,8]]},"245":{"position":[[237,11]]},"253":{"position":[[7307,8],[7534,8]]},"262":{"position":[[538,8]]},"327":{"position":[[168,7]]},"343":{"position":[[715,8]]},"375":{"position":[[159,8]]},"376":{"position":[[163,8]]},"377":{"position":[[159,8]]},"378":{"position":[[161,8]]},"404":{"position":[[1130,9]]},"411":{"position":[[1062,9]]},"476":{"position":[[560,8],[875,8],[969,9],[1998,7],[2913,7],[4056,7],[4204,7]]}},"keywords":{}}],["declaract",{"_index":1788,"title":{},"content":{"99":{"position":[[443,12]]}},"keywords":{}}],["declin",{"_index":2878,"title":{},"content":{"303":{"position":[[2053,9]]}},"keywords":{}}],["decod",{"_index":1355,"title":{},"content":{"61":{"position":[[163,7]]}},"keywords":{}}],["decom",{"_index":2024,"title":{},"content":{"152":{"position":[[18,5],[111,5]]},"159":{"position":[[18,5],[113,5]]},"168":{"position":[[383,6]]},"227":{"position":[[3018,6],[3988,6]]},"418":{"position":[[323,6],[344,6],[479,6],[1050,6],[1071,6],[1206,6]]},"419":{"position":[[357,6],[378,6],[513,6],[1103,6],[1124,6],[1259,6]]},"420":{"position":[[341,6],[362,6],[497,6],[1075,6],[1096,6],[1231,6]]}},"keywords":{}}],["decom_log",{"_index":3283,"title":{"343":{"position":[[0,10]]}},"content":{"343":{"position":[[5,10]]}},"keywords":{}}],["decom_microservic",{"_index":2064,"title":{},"content":{"176":{"position":[[113,18]]},"177":{"position":[[120,18]]}},"keywords":{}}],["decomcmdlog",{"_index":2050,"title":{},"content":{"168":{"position":[[402,12]]}},"keywords":{}}],["decomlog",{"_index":2052,"title":{},"content":{"168":{"position":[[426,9]]}},"keywords":{}}],["decommut",{"_index":56,"title":{},"content":{"2":{"position":[[448,12],[584,13]]},"97":{"position":[[114,12]]},"99":{"position":[[2156,13],[2221,14],[2947,12],[3373,12],[4437,12],[4538,12]]},"150":{"position":[[9,13]]},"151":{"position":[[9,13]]},"157":{"position":[[11,13]]},"158":{"position":[[11,13]]},"227":{"position":[[367,12],[5410,12]]},"298":{"position":[[539,12],[675,13]]},"299":{"position":[[473,11]]},"343":{"position":[[49,12]]},"355":{"position":[[744,12]]},"356":{"position":[[164,13]]}},"keywords":{}}],["decomut",{"_index":2441,"title":{},"content":{"240":{"position":[[1285,11]]}},"keywords":{}}],["decor",{"_index":3803,"title":{"395":{"position":[[0,10]]}},"content":{"395":{"position":[[3,10]]}},"keywords":{}}],["decrypt",{"_index":588,"title":{},"content":{"27":{"position":[[795,7],[991,9]]},"291":{"position":[[83,10]]}},"keywords":{}}],["decrypted.key",{"_index":590,"title":{},"content":{"27":{"position":[[863,14]]}},"keywords":{}}],["decryptor",{"_index":2799,"title":{},"content":{"291":{"position":[[481,9]]}},"keywords":{}}],["dedic",{"_index":3458,"title":{},"content":{"356":{"position":[[463,9]]}},"keywords":{}}],["def",{"_index":768,"title":{},"content":{"36":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"71":{"position":[[255,3],[431,3]]},"72":{"position":[[276,3],[327,3]]},"73":{"position":[[139,3],[206,3]]},"74":{"position":[[145,3],[215,3]]},"75":{"position":[[632,3],[964,3]]},"76":{"position":[[813,3],[892,3]]},"77":{"position":[[674,3],[754,3]]},"78":{"position":[[671,3],[745,3]]},"79":{"position":[[955,3],[1055,3]]},"80":{"position":[[216,3],[357,3]]},"202":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"224":{"position":[[718,3],[905,3],[1148,3],[1352,3]]},"267":{"position":[[4073,3],[4142,3],[4404,3],[4491,3]]},"476":{"position":[[2104,3],[3019,3]]},"480":{"position":[[654,3],[732,3],[1332,3],[1611,3]]},"486":{"position":[[313,3],[422,3],[544,3],[654,3]]},"487":{"position":[[802,3],[841,3],[918,3],[978,3],[1255,3],[1297,3],[1381,3],[1444,3]]},"497":{"position":[[345,3],[647,3]]},"500":{"position":[[328,3],[506,3]]},"508":{"position":[[546,3],[621,3]]},"610":{"position":[[425,3],[462,3],[505,3],[654,3],[696,3],[744,3]]},"611":{"position":[[164,3],[209,3],[252,3],[386,3],[437,3],[485,3]]},"754":{"position":[[1134,3],[1221,3],[1263,3],[1309,3],[1391,3],[1674,3],[1754,3],[1804,3],[1858,3],[1933,3]]}},"keywords":{}}],["default",{"_index":350,"title":{"39":{"position":[[0,8]]}},"content":{"13":{"position":[[218,8]]},"14":{"position":[[187,8]]},"20":{"position":[[554,8],[603,8],[939,7]]},"29":{"position":[[115,8]]},"35":{"position":[[974,7],[988,7],[1041,7],[1519,7],[1572,7]]},"36":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8590,7],[9696,7]]},"37":{"position":[[767,7],[781,7],[834,7],[1312,7],[1365,7]]},"39":{"position":[[9,7],[103,7]]},"43":{"position":[[180,7]]},"67":{"position":[[787,7],[922,7],[1056,7],[1200,7]]},"69":{"position":[[54,7],[207,10],[2813,7],[3618,7]]},"80":{"position":[[256,7],[404,7]]},"84":{"position":[[811,7]]},"89":{"position":[[101,8],[170,7]]},"93":{"position":[[757,7]]},"121":{"position":[[780,7],[794,7]]},"130":{"position":[[294,7]]},"133":{"position":[[419,7],[553,7],[912,7]]},"135":{"position":[[369,9],[576,8]]},"139":{"position":[[227,7]]},"146":{"position":[[140,8]]},"147":{"position":[[129,8]]},"148":{"position":[[140,8]]},"149":{"position":[[126,8]]},"150":{"position":[[136,8]]},"151":{"position":[[147,8]]},"152":{"position":[[130,8]]},"153":{"position":[[149,8]]},"154":{"position":[[131,8]]},"155":{"position":[[142,8]]},"156":{"position":[[130,8]]},"157":{"position":[[138,8]]},"158":{"position":[[149,8]]},"159":{"position":[[134,8]]},"160":{"position":[[152,8]]},"161":{"position":[[148,8]]},"162":{"position":[[146,8]]},"163":{"position":[[146,8]]},"164":{"position":[[146,8]]},"165":{"position":[[135,8]]},"167":{"position":[[121,8]]},"175":{"position":[[228,7]]},"186":{"position":[[72,8],[176,8]]},"187":{"position":[[100,8],[199,8]]},"201":{"position":[[1003,7],[1017,7],[1070,7],[1548,7],[1601,7]]},"202":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8590,7],[9696,7]]},"203":{"position":[[786,7],[800,7],[853,7],[1331,7],[1384,7]]},"204":{"position":[[1692,7],[1745,7]]},"205":{"position":[[1528,7],[1581,7]]},"215":{"position":[[155,8]]},"216":{"position":[[81,7]]},"217":{"position":[[79,7]]},"227":{"position":[[1746,10]]},"230":{"position":[[559,7],[997,8]]},"231":{"position":[[651,7]]},"233":{"position":[[1332,7]]},"253":{"position":[[1756,7],[2835,7],[3690,7],[3901,7],[4171,7],[4497,7],[7016,7],[7570,8]]},"254":{"position":[[1260,7],[1433,7],[2519,7]]},"263":{"position":[[413,8]]},"267":{"position":[[1797,8],[1888,8],[8545,8],[10262,7]]},"273":{"position":[[510,7]]},"279":{"position":[[155,8]]},"282":{"position":[[584,7]]},"289":{"position":[[950,7]]},"292":{"position":[[1154,7]]},"324":{"position":[[2829,7]]},"328":{"position":[[322,7]]},"338":{"position":[[363,7],[1018,8],[1662,7]]},"339":{"position":[[175,8],[279,9],[476,9]]},"343":{"position":[[434,7]]},"347":{"position":[[1082,7]]},"356":{"position":[[78,7]]},"357":{"position":[[2083,7]]},"359":{"position":[[13,7]]},"371":{"position":[[248,7]]},"375":{"position":[[58,7]]},"376":{"position":[[60,7]]},"377":{"position":[[60,7]]},"378":{"position":[[62,7]]},"386":{"position":[[59,8],[318,8]]},"387":{"position":[[293,8]]},"388":{"position":[[166,8]]},"389":{"position":[[251,8]]},"390":{"position":[[212,8]]},"391":{"position":[[221,8],[273,8]]},"401":{"position":[[213,8],[263,8],[340,8],[406,8],[471,7]]},"402":{"position":[[213,8],[263,8],[340,8],[402,8],[460,8],[555,8],[658,7]]},"403":{"position":[[643,7],[796,8]]},"404":{"position":[[207,7],[317,8],[370,8],[452,7]]},"405":{"position":[[329,7],[383,8],[455,7]]},"406":{"position":[[228,7],[381,8]]},"407":{"position":[[243,8],[374,7],[527,8]]},"408":{"position":[[248,7],[401,8]]},"409":{"position":[[251,7],[404,8]]},"410":{"position":[[525,7],[678,8],[728,8],[781,8]]},"411":{"position":[[66,7],[515,7],[625,8],[678,8]]},"412":{"position":[[244,7],[353,8],[406,8]]},"413":{"position":[[242,7],[351,8],[404,8]]},"414":{"position":[[228,7],[336,8],[397,8]]},"415":{"position":[[217,7],[370,8]]},"416":{"position":[[220,7],[373,8]]},"417":{"position":[[494,7],[647,8],[697,8],[750,8]]},"418":{"position":[[214,7],[312,7],[941,7],[1039,7]]},"419":{"position":[[248,7],[346,7],[994,7],[1092,7]]},"420":{"position":[[232,7],[330,7],[966,7],[1064,7]]},"422":{"position":[[337,7],[391,8],[465,7]]},"423":{"position":[[504,7],[613,8],[666,8]]},"425":{"position":[[260,7],[483,7]]},"426":{"position":[[200,8],[257,8]]},"427":{"position":[[456,7],[609,8]]},"429":{"position":[[1445,8]]},"432":{"position":[[205,8]]},"435":{"position":[[138,8],[164,7],[202,8]]},"436":{"position":[[205,8]]},"439":{"position":[[286,8]]},"440":{"position":[[393,8],[489,7]]},"442":{"position":[[498,7],[525,7],[802,8],[859,8]]},"443":{"position":[[405,8]]},"444":{"position":[[583,8],[648,7]]},"446":{"position":[[929,7]]},"488":{"position":[[688,7]]},"492":{"position":[[278,8]]},"496":{"position":[[201,7],[550,7]]},"517":{"position":[[183,8]]},"547":{"position":[[4,8]]},"552":{"position":[[96,8]]},"556":{"position":[[143,8],[402,8]]},"563":{"position":[[84,8]]},"570":{"position":[[137,8]]},"577":{"position":[[166,9],[706,7]]},"589":{"position":[[83,8]]},"598":{"position":[[102,8]]},"599":{"position":[[493,7]]},"607":{"position":[[93,7]]},"612":{"position":[[170,7],[461,7]]},"623":{"position":[[455,8],[524,7],[634,7]]},"624":{"position":[[421,8],[490,7],[600,7]]},"628":{"position":[[456,7]]},"636":{"position":[[1172,7]]},"637":{"position":[[1394,7]]},"638":{"position":[[1415,7]]},"639":{"position":[[1448,7]]},"640":{"position":[[1248,7]]},"641":{"position":[[1465,7]]},"642":{"position":[[1486,7]]},"643":{"position":[[1519,7]]},"644":{"position":[[292,7],[379,7]]},"649":{"position":[[1348,10]]},"657":{"position":[[691,9]]},"660":{"position":[[483,10]]},"662":{"position":[[547,10]]},"669":{"position":[[609,10],[764,7],[1050,7]]},"670":{"position":[[424,8],[494,10]]},"671":{"position":[[472,10]]},"672":{"position":[[290,10]]},"673":{"position":[[146,7]]},"676":{"position":[[312,7]]},"681":{"position":[[1247,8],[1339,10],[1462,8]]},"682":{"position":[[1014,8],[1106,10],[1229,8]]},"683":{"position":[[800,8],[895,8]]},"684":{"position":[[681,8],[776,8]]},"685":{"position":[[859,8],[951,10]]},"686":{"position":[[910,8],[1002,10]]},"687":{"position":[[725,8]]},"688":{"position":[[653,8],[748,8]]},"696":{"position":[[34,7],[56,8]]},"697":{"position":[[49,7],[71,8]]},"699":{"position":[[571,11]]},"700":{"position":[[1565,8],[1729,8],[1878,8]]},"703":{"position":[[237,7],[353,7]]},"713":{"position":[[288,8]]},"714":{"position":[[285,8]]},"716":{"position":[[421,9],[517,9],[615,9]]},"718":{"position":[[627,7],[717,7]]},"725":{"position":[[273,8]]},"726":{"position":[[270,8]]},"728":{"position":[[631,7],[721,7]]},"750":{"position":[[105,7]]},"751":{"position":[[104,7]]},"760":{"position":[[154,7]]},"762":{"position":[[253,7],[335,7]]},"763":{"position":[[258,7],[352,7]]}},"keywords":{}}],["default'=>",{"_index":5181,"title":{},"content":{"699":{"position":[[755,16]]}},"keywords":{}}],["default/raw_logs/tlm/inst2/<yyyymmdd>",{"_index":3286,"title":{},"content":{"343":{"position":[[188,44]]}},"keywords":{}}],["default__decom__inst2",{"_index":4476,"title":{},"content":{"548":{"position":[[250,23]]}},"keywords":{}}],["default__interface__int1",{"_index":2004,"title":{},"content":{"140":{"position":[[263,24],[344,24]]}},"keywords":{}}],["default__multi__inst",{"_index":4475,"title":{},"content":{"548":{"position":[[227,22]]}},"keywords":{}}],["default__openc3_log_messag",{"_index":2070,"title":{},"content":{"176":{"position":[[563,28]]}},"keywords":{}}],["default__telemetry__example__statu",{"_index":2071,"title":{},"content":{"176":{"position":[[598,35]]}},"keywords":{}}],["default_valu",{"_index":707,"title":{},"content":{"36":{"position":[[2550,14]]},"202":{"position":[[2550,14]]}},"keywords":{}}],["defaultdiscard",{"_index":1338,"title":{},"content":{"59":{"position":[[536,14]]}},"keywords":{}}],["defaulthost",{"_index":1229,"title":{},"content":{"51":{"position":[[115,11]]}},"keywords":{}}],["defaultlength",{"_index":1357,"title":{},"content":{"61":{"position":[[593,13]]}},"keywords":{}}],["defaultminimum",{"_index":1348,"title":{},"content":{"60":{"position":[[765,14]]}},"keywords":{}}],["defaultrespons",{"_index":1413,"title":{},"content":{"66":{"position":[[168,15]]}},"keywords":{}}],["defaultstart",{"_index":1326,"title":{},"content":{"58":{"position":[[647,12]]}},"keywords":{}}],["defaultsync",{"_index":1409,"title":{},"content":{"64":{"position":[[331,11]]}},"keywords":{}}],["defaulttarget",{"_index":1434,"title":{},"content":{"68":{"position":[[144,13]]}},"keywords":{}}],["defaultwrit",{"_index":1382,"title":{},"content":{"62":{"position":[[468,12]]},"63":{"position":[[1293,12]]},"67":{"position":[[131,12]]}},"keywords":{}}],["defend",{"_index":4141,"title":{},"content":{"467":{"position":[[1311,6]]}},"keywords":{}}],["defin",{"_index":265,"title":{},"content":{"7":{"position":[[657,7]]},"31":{"position":[[24,6],[118,7]]},"35":{"position":[[1,7]]},"36":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6974,7]]},"37":{"position":[[1,7]]},"48":{"position":[[120,7]]},"54":{"position":[[11,6],[133,7],[2259,7],[3231,6]]},"58":{"position":[[36,7],[112,7]]},"60":{"position":[[106,7]]},"61":{"position":[[74,7]]},"66":{"position":[[71,7]]},"69":{"position":[[757,7]]},"112":{"position":[[152,6],[311,6]]},"119":{"position":[[28,7]]},"121":{"position":[[1,6],[69,7],[226,7]]},"123":{"position":[[1,7],[245,7],[289,6]]},"134":{"position":[[835,8],[889,6]]},"135":{"position":[[253,7],[330,7],[505,6]]},"136":{"position":[[16,6],[59,7]]},"144":{"position":[[1,7]]},"168":{"position":[[149,7]]},"171":{"position":[[1,7],[29,7]]},"181":{"position":[[16,6],[62,7]]},"184":{"position":[[1,6],[16,7]]},"194":{"position":[[1,6],[25,7]]},"198":{"position":[[26,6],[119,6],[795,8]]},"199":{"position":[[1,7]]},"201":{"position":[[1,7]]},"202":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6974,7]]},"203":{"position":[[1,7]]},"204":{"position":[[1,7]]},"205":{"position":[[1,7]]},"206":{"position":[[1,7]]},"207":{"position":[[1,7]]},"209":{"position":[[152,7],[358,6]]},"215":{"position":[[17,7],[87,7]]},"216":{"position":[[17,7]]},"217":{"position":[[17,7]]},"220":{"position":[[17,7]]},"221":{"position":[[17,7]]},"224":{"position":[[17,7],[591,7],[1075,7]]},"225":{"position":[[132,7]]},"230":{"position":[[516,7],[1091,9]]},"231":{"position":[[608,7]]},"233":{"position":[[985,8],[1053,7]]},"235":{"position":[[1064,7]]},"241":{"position":[[41,8]]},"253":{"position":[[1106,8],[3357,8],[3469,8],[5673,7],[5814,6],[5938,7]]},"254":{"position":[[1004,7]]},"259":{"position":[[28,6],[143,6],[822,8]]},"260":{"position":[[117,7]]},"261":{"position":[[128,7]]},"262":{"position":[[595,7]]},"263":{"position":[[1590,8]]},"264":{"position":[[1,7]]},"266":{"position":[[1,7]]},"267":{"position":[[529,7],[1328,7],[1616,7],[1917,7],[2036,6],[2299,7],[3942,7],[4277,7],[5575,7],[7891,7],[8224,7],[9526,7],[9913,7],[10377,7]]},"268":{"position":[[1,7]]},"269":{"position":[[1,7],[73,7]]},"270":{"position":[[1,7]]},"271":{"position":[[1,7]]},"272":{"position":[[1,7]]},"273":{"position":[[439,6]]},"274":{"position":[[143,7],[336,6]]},"276":{"position":[[1,7]]},"277":{"position":[[53,7],[157,7]]},"279":{"position":[[17,7],[87,7]]},"282":{"position":[[136,7],[513,6]]},"283":{"position":[[1,7]]},"284":{"position":[[47,7]]},"297":{"position":[[92,7],[912,6]]},"305":{"position":[[92,7]]},"306":{"position":[[344,7]]},"322":{"position":[[2223,6]]},"329":{"position":[[24,8],[263,7],[455,6],[742,7],[869,6],[1080,7]]},"355":{"position":[[173,7]]},"366":{"position":[[483,6]]},"367":{"position":[[35,6],[173,6]]},"369":{"position":[[1,6],[114,7]]},"374":{"position":[[44,7],[342,7],[461,7],[488,6]]},"383":{"position":[[47,7]]},"429":{"position":[[227,6]]},"484":{"position":[[202,7]]},"510":{"position":[[84,7]]},"530":{"position":[[57,7]]},"539":{"position":[[48,7]]},"556":{"position":[[236,7],[495,7]]},"568":{"position":[[112,7]]},"573":{"position":[[108,7]]},"577":{"position":[[623,7]]},"578":{"position":[[245,7]]},"583":{"position":[[136,7]]},"585":{"position":[[278,7]]},"586":{"position":[[297,7]]},"606":{"position":[[70,7]]},"618":{"position":[[612,8],[940,7],[1264,7]]},"658":{"position":[[674,7]]},"753":{"position":[[66,7]]},"754":{"position":[[223,7],[311,7],[728,7]]}},"keywords":{}}],["defininig",{"_index":2543,"title":{},"content":{"253":{"position":[[5234,9]]}},"keywords":{}}],["definit",{"_index":278,"title":{"31":{"position":[[6,10]]},"198":{"position":[[8,10]]},"259":{"position":[[10,10]]},"321":{"position":[[15,12]]},"366":{"position":[[0,12]]},"367":{"position":[[17,10]]},"451":{"position":[[30,10]]}},"content":{"7":{"position":[[1165,11],[1207,11]]},"15":{"position":[[27,10],[95,10],[421,10]]},"16":{"position":[[29,10],[99,10],[423,10]]},"31":{"position":[[7,10],[102,11],[302,11],[320,11],[463,10]]},"32":{"position":[[52,11],[183,10]]},"33":{"position":[[19,10]]},"36":{"position":[[2269,11]]},"38":{"position":[[78,10]]},"60":{"position":[[860,11]]},"112":{"position":[[221,13]]},"198":{"position":[[9,10],[211,10],[626,11]]},"202":{"position":[[2269,11]]},"209":{"position":[[70,10],[121,10]]},"222":{"position":[[104,11]]},"225":{"position":[[183,11]]},"230":{"position":[[721,10],[1886,11]]},"235":{"position":[[1391,10]]},"253":{"position":[[5856,10]]},"254":{"position":[[2754,11]]},"259":{"position":[[11,10],[239,10],[658,11]]},"262":{"position":[[335,11],[626,10],[683,10]]},"274":{"position":[[66,10],[112,10]]},"281":{"position":[[104,11]]},"282":{"position":[[189,11]]},"366":{"position":[[317,10],[342,10]]},"367":{"position":[[18,10],[209,10],[345,10]]},"368":{"position":[[25,10],[320,10]]},"369":{"position":[[99,11]]},"403":{"position":[[136,10]]},"451":{"position":[[58,11],[147,10],[286,12]]},"505":{"position":[[1210,11]]},"566":{"position":[[52,11]]},"581":{"position":[[61,11],[110,11]]},"583":{"position":[[71,10],[162,10],[190,10]]},"744":{"position":[[80,11]]},"745":{"position":[[401,10],[430,10],[636,10],[908,10]]},"746":{"position":[[457,10],[486,10],[1098,10],[1398,10]]}},"keywords":{}}],["definitionopen",{"_index":4518,"title":{},"content":{"582":{"position":[[32,14]]}},"keywords":{}}],["definitiontarget",{"_index":2831,"title":{},"content":{"297":{"position":[[119,16]]}},"keywords":{}}],["definitionwidget",{"_index":3712,"title":{},"content":{"366":{"position":[[6,16]]}},"keywords":{}}],["degre",{"_index":4250,"title":{},"content":{"481":{"position":[[522,7]]}},"keywords":{}}],["degrees"",{"_index":2233,"title":{},"content":{"226":{"position":[[807,13]]},"285":{"position":[[997,13]]}},"keywords":{}}],["delay",{"_index":1399,"title":{"680":{"position":[[0,7]]}},"content":{"63":{"position":[[1643,5],[1660,5]]},"130":{"position":[[11,5],[148,5],[245,5]]},"459":{"position":[[1201,6]]},"504":{"position":[[73,5]]},"681":{"position":[[543,5]]},"748":{"position":[[27,5]]},"749":{"position":[[26,5]]}},"keywords":{}}],["delet",{"_index":2155,"title":{"520":{"position":[[0,7]]}},"content":{"209":{"position":[[16,7],[83,8],[448,6]]},"253":{"position":[[550,6]]},"274":{"position":[[16,6],[79,8],[411,6]]},"308":{"position":[[822,8],[862,6]]},"309":{"position":[[672,8],[687,6]]},"310":{"position":[[716,8],[751,6],[819,8],[838,6]]},"333":{"position":[[66,6]]},"334":{"position":[[860,6]]},"465":{"position":[[315,6],[344,7],[420,7]]},"466":{"position":[[465,7]]},"520":{"position":[[25,6],[96,6]]},"552":{"position":[[327,6],[634,6]]},"563":{"position":[[265,6],[572,6]]},"577":{"position":[[1096,6],[1403,6]]},"589":{"position":[[264,6],[571,6]]},"592":{"position":[[260,6]]},"598":{"position":[[283,6],[590,6]]},"599":{"position":[[1158,8]]},"603":{"position":[[194,6]]},"628":{"position":[[740,6],[861,6],[1065,6],[1188,6]]},"630":{"position":[[1,6],[313,8]]},"734":{"position":[[1,7],[181,6]]},"742":{"position":[[1,7]]},"775":{"position":[[1,6],[255,6]]}},"keywords":{}}],["delete_config",{"_index":5595,"title":{"775":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_config(<tool",{"_index":5596,"title":{},"content":{"775":{"position":[[65,22]]}},"keywords":{}}],["delete_config('telemetry_graph",{"_index":5597,"title":{},"content":{"775":{"position":[[319,34]]}},"keywords":{}}],["delete_item",{"_index":2690,"title":{"274":{"position":[[0,12]]}},"content":{"274":{"position":[[476,11]]}},"keywords":{}}],["delete_paramet",{"_index":2154,"title":{"209":{"position":[[0,17]]}},"content":{"209":{"position":[[505,16]]}},"keywords":{}}],["delete_screen",{"_index":5433,"title":{"742":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_screen("<target",{"_index":5434,"title":{},"content":{"742":{"position":[[70,30]]}},"keywords":{}}],["delete_screen("inst"",{"_index":5435,"title":{},"content":{"742":{"position":[[291,31]]}},"keywords":{}}],["delete_target_fil",{"_index":4782,"title":{"630":{"position":[[0,19]]}},"content":{},"keywords":{}}],["delete_target_file("<fil",{"_index":4783,"title":{},"content":{"630":{"position":[[63,33]]}},"keywords":{}}],["delete_target_file("inst/delete_me.txt"",{"_index":4787,"title":{},"content":{"630":{"position":[[479,50]]}},"keywords":{}}],["deleted"",{"_index":4786,"title":{},"content":{"630":{"position":[[464,14]]}},"keywords":{}}],["delimit",{"_index":1315,"title":{},"content":{"57":{"position":[[323,9]]},"59":{"position":[[218,9],[886,9]]},"60":{"position":[[1284,9]]},"61":{"position":[[2184,9]]},"62":{"position":[[1186,9]]},"63":{"position":[[2370,9]]},"64":{"position":[[466,9]]},"632":{"position":[[1150,9]]}},"keywords":{}}],["delin",{"_index":1277,"title":{"56":{"position":[[7,11]]}},"content":{"54":{"position":[[458,10]]},"56":{"position":[[38,11]]},"62":{"position":[[25,10],[645,9]]},"63":{"position":[[402,10],[700,10],[1470,9]]},"64":{"position":[[28,10]]},"336":{"position":[[286,11]]}},"keywords":{}}],["deliveri",{"_index":4134,"title":{},"content":{"467":{"position":[[709,9]]}},"keywords":{}}],["demand",{"_index":3295,"title":{},"content":{"345":{"position":[[165,7],[214,7]]}},"keywords":{}}],["demo",{"_index":282,"title":{},"content":{"7":{"position":[[1226,4]]},"39":{"position":[[203,5]]},"63":{"position":[[1217,4]]},"184":{"position":[[489,4],[494,4]]},"253":{"position":[[25,4],[395,4],[542,4]]},"257":{"position":[[1178,4],[1239,4],[1264,4],[1410,4],[1486,4]]},"327":{"position":[[44,4]]},"328":{"position":[[669,4],[1528,4]]},"331":{"position":[[41,4],[246,4]]},"334":{"position":[[538,4],[633,4],[673,4]]},"343":{"position":[[590,5]]},"355":{"position":[[443,4],[874,4]]},"357":{"position":[[333,5],[2002,4]]},"442":{"position":[[242,4]]},"548":{"position":[[731,5]]},"578":{"position":[[414,4]]},"585":{"position":[[12,4]]},"586":{"position":[[12,4]]}},"keywords":{}}],["demo'",{"_index":3204,"title":{},"content":{"327":{"position":[[131,6]]}},"keywords":{}}],["demo_part",{"_index":2602,"title":{},"content":{"257":{"position":[[1516,9]]}},"keywords":{}}],["demonstr",{"_index":3248,"title":{},"content":{"331":{"position":[[671,11]]}},"keywords":{}}],["denot",{"_index":1732,"title":{},"content":{"93":{"position":[[974,8]]},"94":{"position":[[765,8]]}},"keywords":{}}],["denser",{"_index":1823,"title":{},"content":{"99":{"position":[[4630,6]]}},"keywords":{}}],["depart",{"_index":2811,"title":{},"content":{"291":{"position":[[1035,10]]},"363":{"position":[[1391,10]]}},"keywords":{}}],["depend",{"_index":325,"title":{"448":{"position":[[5,13]]}},"content":{"12":{"position":[[74,13]]},"44":{"position":[[628,8]]},"61":{"position":[[21,7]]},"83":{"position":[[719,12]]},"84":{"position":[[917,9]]},"102":{"position":[[150,12]]},"122":{"position":[[43,12],[159,12]]},"198":{"position":[[353,6],[611,7]]},"229":{"position":[[1463,12]]},"235":{"position":[[1380,10]]},"239":{"position":[[261,13]]},"240":{"position":[[96,12]]},"259":{"position":[[383,6],[643,7]]},"261":{"position":[[264,9]]},"351":{"position":[[336,9]]},"400":{"position":[[130,9]]},"448":{"position":[[73,13]]},"599":{"position":[[818,9]]},"607":{"position":[[499,6]]},"690":{"position":[[47,9]]}},"keywords":{}}],["depends_on",{"_index":521,"title":{},"content":{"23":{"position":[[320,11]]}},"keywords":{}}],["depict",{"_index":3853,"title":{},"content":{"414":{"position":[[19,9]]}},"keywords":{}}],["deploy",{"_index":2433,"title":{},"content":{"240":{"position":[[631,6]]},"242":{"position":[[199,9]]},"243":{"position":[[97,11],[321,10],[431,6]]},"250":{"position":[[182,8],[432,6]]},"254":{"position":[[715,8]]},"257":{"position":[[582,11]]},"327":{"position":[[240,8]]},"356":{"position":[[327,8]]},"362":{"position":[[248,10]]},"516":{"position":[[245,11]]}},"keywords":{}}],["deprec",{"_index":1291,"title":{},"content":{"56":{"position":[[104,13]]},"63":{"position":[[1,10],[34,10]]},"132":{"position":[[1,11]]},"488":{"position":[[459,10]]},"620":{"position":[[73,10]]},"621":{"position":[[38,10],[192,11],[248,11],[319,11],[389,10],[452,10],[507,10],[543,11],[630,10],[690,11],[778,10],[835,11],[910,11],[980,11],[1059,10],[1118,11],[1179,11],[1308,11],[1389,10],[1455,10],[1506,11],[1579,11],[1659,10],[1718,10],[1752,10],[1808,11],[1902,10],[1961,10],[2033,10],[2091,10],[2141,10],[2206,11],[2292,11],[2364,11],[2436,11],[2514,10],[2572,10],[2625,10],[2686,10],[2742,11],[2818,11],[2883,10],[2922,10],[2956,10],[2992,10],[3028,10],[3058,10],[3096,10],[3133,10],[3177,10],[3209,10],[3244,10],[3282,10],[3312,10],[3353,10],[3463,11],[3521,10],[3574,10],[3678,11],[3788,10],[3834,10],[3871,11],[3924,11],[3984,10],[4041,10],[4095,10],[4149,10],[4224,10],[4293,10],[4347,10],[4408,10],[4461,10],[4514,10],[4567,10],[4631,10],[4693,11],[4823,11],[4914,10],[4978,10],[5046,10],[5080,11],[5147,11],[5224,11],[5311,11]]},"632":{"position":[[182,10]]}},"keywords":{}}],["depth",{"_index":76,"title":{},"content":{"2":{"position":[[743,5]]},"146":{"position":[[110,5],[123,5]]},"153":{"position":[[119,5],[132,5]]}},"keywords":{}}],["deriv",{"_index":647,"title":{"262":{"position":[[0,7]]}},"content":{"35":{"position":[[321,7],[583,7],[634,10],[720,8],[785,7]]},"37":{"position":[[376,7],[427,10],[513,8],[578,7]]},"69":{"position":[[614,6]]},"201":{"position":[[350,7],[612,7],[663,10],[749,8],[814,7]]},"203":{"position":[[395,7],[446,10],[532,8],[597,7]]},"204":{"position":[[782,7],[833,10],[919,8],[984,7]]},"205":{"position":[[618,7],[669,10],[755,8],[820,7]]},"206":{"position":[[367,7],[530,7]]},"207":{"position":[[313,7]]},"262":{"position":[[27,7],[114,7],[190,7],[263,7],[296,7],[370,7],[489,8],[514,7]]},"263":{"position":[[460,7],[1301,7],[1454,7]]},"266":{"position":[[349,7],[610,7],[661,10],[767,7],[1122,7]]},"268":{"position":[[402,7],[453,10],[559,7]]},"271":{"position":[[366,7],[523,7]]},"272":{"position":[[315,7]]},"285":{"position":[[1152,7],[1417,7]]},"359":{"position":[[2064,11]]},"421":{"position":[[267,7]]},"571":{"position":[[30,7]]},"618":{"position":[[295,7],[391,7]]},"679":{"position":[[17,7]]}},"keywords":{}}],["describ",{"_index":133,"title":{},"content":{"3":{"position":[[705,10]]},"36":{"position":[[3441,10]]},"119":{"position":[[56,9]]},"202":{"position":[[3441,10]]},"227":{"position":[[1118,9]]},"253":{"position":[[906,8],[3273,9],[3718,9],[5175,9],[5329,9]]},"287":{"position":[[24,8]]},"295":{"position":[[71,10]]},"329":{"position":[[976,9]]},"449":{"position":[[547,8],[700,10]]},"466":{"position":[[349,8]]},"476":{"position":[[1766,8],[4331,10]]},"646":{"position":[[131,8]]},"648":{"position":[[36,9]]}},"keywords":{}}],["descript",{"_index":160,"title":{},"content":{"5":{"position":[[571,11],[960,11],[972,11],[1240,11]]},"9":{"position":[[589,12],[733,12]]},"11":{"position":[[292,11]]},"12":{"position":[[132,11]]},"13":{"position":[[329,11]]},"14":{"position":[[232,11]]},"15":{"position":[[374,11]]},"16":{"position":[[374,11]]},"32":{"position":[[75,11]]},"33":{"position":[[41,11],[530,11],[562,11],[602,11],[746,11],[809,11],[821,11],[861,11]]},"35":{"position":[[53,11],[834,11],[1141,11],[1153,11],[1485,11],[1672,11],[1684,11]]},"36":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6311,11],[6942,11],[10244,11]]},"37":{"position":[[53,11],[627,11],[934,11],[946,11],[1278,11],[1465,11],[1477,11]]},"38":{"position":[[100,11]]},"39":{"position":[[220,11]]},"49":{"position":[[231,11],[2685,11],[2753,11]]},"50":{"position":[[255,11],[2278,11],[2346,11]]},"51":{"position":[[94,11],[1153,11],[1221,11]]},"52":{"position":[[217,11],[1703,11],[1771,11]]},"58":{"position":[[626,11]]},"59":{"position":[[515,11]]},"60":{"position":[[744,11]]},"61":{"position":[[572,11]]},"62":{"position":[[447,11]]},"63":{"position":[[1272,11]]},"64":{"position":[[310,11]]},"66":{"position":[[147,11]]},"67":{"position":[[110,11]]},"68":{"position":[[123,11]]},"121":{"position":[[716,11]]},"123":{"position":[[365,11]]},"125":{"position":[[47,11]]},"126":{"position":[[81,11]]},"127":{"position":[[82,11]]},"130":{"position":[[219,11]]},"133":{"position":[[336,11]]},"134":{"position":[[379,11]]},"135":{"position":[[202,11]]},"136":{"position":[[152,11]]},"137":{"position":[[78,11]]},"138":{"position":[[233,11]]},"139":{"position":[[159,11]]},"140":{"position":[[127,11]]},"141":{"position":[[136,11]]},"142":{"position":[[115,11]]},"143":{"position":[[402,11]]},"144":{"position":[[33,11]]},"146":{"position":[[83,11]]},"147":{"position":[[66,11]]},"148":{"position":[[88,11]]},"149":{"position":[[58,11]]},"150":{"position":[[73,11]]},"151":{"position":[[95,11]]},"152":{"position":[[60,11]]},"153":{"position":[[92,11]]},"154":{"position":[[68,11]]},"155":{"position":[[90,11]]},"156":{"position":[[60,11]]},"157":{"position":[[75,11]]},"158":{"position":[[97,11]]},"159":{"position":[[62,11]]},"160":{"position":[[71,11]]},"161":{"position":[[69,11]]},"162":{"position":[[68,11]]},"163":{"position":[[68,11]]},"164":{"position":[[68,11]]},"165":{"position":[[56,11]]},"167":{"position":[[73,11]]},"168":{"position":[[313,11]]},"169":{"position":[[88,11]]},"170":{"position":[[149,11]]},"171":{"position":[[190,11]]},"173":{"position":[[62,11]]},"174":{"position":[[217,11]]},"175":{"position":[[160,11]]},"176":{"position":[[298,11]]},"177":{"position":[[242,11]]},"178":{"position":[[111,11]]},"179":{"position":[[271,11]]},"180":{"position":[[120,11]]},"181":{"position":[[112,11]]},"182":{"position":[[115,11]]},"183":{"position":[[155,11]]},"184":{"position":[[271,11]]},"186":{"position":[[130,11]]},"187":{"position":[[146,11]]},"188":{"position":[[279,11]]},"189":{"position":[[91,11]]},"190":{"position":[[119,11]]},"191":{"position":[[150,11]]},"192":{"position":[[282,11]]},"193":{"position":[[147,11]]},"194":{"position":[[106,11]]},"196":{"position":[[149,11]]},"199":{"position":[[41,11],[430,11],[442,11]]},"201":{"position":[[70,11],[863,11],[1170,11],[1182,11],[1514,11],[1701,11],[1713,11]]},"202":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6311,11],[6942,11],[10244,11]]},"203":{"position":[[70,11],[646,11],[953,11],[965,11],[1297,11],[1484,11],[1496,11]]},"204":{"position":[[293,11],[1033,11],[1314,11],[1326,11],[1658,11],[1845,11],[1857,11]]},"205":{"position":[[293,11],[869,11],[1150,11],[1162,11],[1494,11],[1681,11],[1693,11]]},"206":{"position":[[87,11],[736,11],[748,11]]},"207":{"position":[[87,11],[519,11],[531,11]]},"208":{"position":[[292,11]]},"209":{"position":[[393,11]]},"213":{"position":[[232,11]]},"214":{"position":[[152,11],[184,11]]},"215":{"position":[[285,11]]},"216":{"position":[[260,11]]},"217":{"position":[[257,11]]},"218":{"position":[[94,11]]},"219":{"position":[[100,11]]},"220":{"position":[[78,11]]},"221":{"position":[[80,11]]},"224":{"position":[[182,11]]},"225":{"position":[[291,11]]},"229":{"position":[[749,12]]},"232":{"position":[[1001,11]]},"233":{"position":[[1218,11]]},"253":{"position":[[1642,11],[2843,11],[4832,11]]},"254":{"position":[[1297,11],[1441,11],[2556,11]]},"264":{"position":[[43,11],[447,11],[459,11]]},"266":{"position":[[69,11],[780,11],[792,11]]},"267":{"position":[[109,11],[318,11],[502,12],[537,11],[560,11],[594,11],[838,11],[1443,11],[1659,11],[2335,11],[3484,11],[4850,11],[5543,11],[7317,11],[8440,11],[10478,11]]},"268":{"position":[[69,11],[572,11],[584,11]]},"269":{"position":[[239,11],[874,11],[886,11]]},"270":{"position":[[69,11],[543,11],[555,11]]},"271":{"position":[[86,11],[729,11],[741,11]]},"272":{"position":[[86,11],[521,11],[533,11]]},"273":{"position":[[292,11]]},"274":{"position":[[366,11]]},"275":{"position":[[241,11]]},"276":{"position":[[89,11]]},"279":{"position":[[285,11]]},"282":{"position":[[287,11]]},"283":{"position":[[727,11]]},"284":{"position":[[217,11]]},"299":{"position":[[10,11]]},"300":{"position":[[10,11]]},"301":{"position":[[121,11]]},"302":{"position":[[188,11]]},"303":{"position":[[370,11]]},"304":{"position":[[1306,11]]},"305":{"position":[[156,11]]},"306":{"position":[[275,11]]},"307":{"position":[[107,11]]},"308":{"position":[[122,11]]},"309":{"position":[[201,11]]},"310":{"position":[[106,11]]},"311":{"position":[[113,11]]},"321":{"position":[[395,11],[2823,11]]},"369":{"position":[[203,11]]},"371":{"position":[[115,11]]},"372":{"position":[[70,11]]},"373":{"position":[[508,11]]},"375":{"position":[[103,11]]},"376":{"position":[[105,11]]},"377":{"position":[[105,11]]},"378":{"position":[[107,11]]},"379":{"position":[[73,11]]},"380":{"position":[[67,11]]},"381":{"position":[[78,11]]},"382":{"position":[[53,11]]},"383":{"position":[[508,11]]},"384":{"position":[[365,11],[546,12]]},"386":{"position":[[268,11]]},"387":{"position":[[182,11]]},"388":{"position":[[116,11]]},"389":{"position":[[140,11]]},"390":{"position":[[117,11]]},"391":{"position":[[148,11]]},"393":{"position":[[70,11]]},"394":{"position":[[59,11]]},"396":{"position":[[146,11]]},"398":{"position":[[58,11]]},"399":{"position":[[58,11]]},"401":{"position":[[72,11]]},"402":{"position":[[72,11]]},"403":{"position":[[405,11]]},"404":{"position":[[47,11],[1047,11]]},"405":{"position":[[74,11]]},"406":{"position":[[68,11]]},"407":{"position":[[33,11],[76,11],[191,11],[207,11],[270,11]]},"408":{"position":[[88,11]]},"409":{"position":[[91,11]]},"410":{"position":[[87,11]]},"411":{"position":[[355,11],[979,11]]},"412":{"position":[[84,11]]},"413":{"position":[[82,11]]},"414":{"position":[[68,11]]},"415":{"position":[[57,11]]},"416":{"position":[[60,11]]},"417":{"position":[[56,11]]},"418":{"position":[[54,11],[781,11],[1342,11],[1497,11],[1655,11],[1783,11],[1908,11],[2001,11]]},"419":{"position":[[88,11],[834,11],[1395,11],[1550,11],[1708,11],[1836,11],[1961,11],[2054,11]]},"420":{"position":[[72,11],[806,11],[1367,11],[1522,11],[1680,11],[1808,11],[1933,11],[2026,11]]},"421":{"position":[[53,11]]},"422":{"position":[[78,11]]},"423":{"position":[[66,11]]},"424":{"position":[[106,11]]},"425":{"position":[[100,11]]},"426":{"position":[[52,11]]},"427":{"position":[[296,11]]},"429":{"position":[[1588,11]]},"430":{"position":[[128,11]]},"431":{"position":[[147,11]]},"432":{"position":[[130,11]]},"433":{"position":[[108,11]]},"434":{"position":[[230,11]]},"435":{"position":[[69,11]]},"436":{"position":[[130,11]]},"438":{"position":[[206,11]]},"439":{"position":[[39,11]]},"440":{"position":[[90,11]]},"441":{"position":[[44,11],[751,11]]},"442":{"position":[[282,11],[1311,11],[1664,11]]},"443":{"position":[[41,11]]},"444":{"position":[[154,11],[1227,11]]},"445":{"position":[[40,11]]},"548":{"position":[[110,12],[563,11]]},"556":{"position":[[697,11],[739,12]]},"646":{"position":[[909,14]]},"648":{"position":[[951,14]]},"649":{"position":[[1286,14]]}},"keywords":{}}],["description"",{"_index":300,"title":{},"content":{"9":{"position":[[255,17],[408,17]]},"232":{"position":[[952,17]]},"233":{"position":[[1169,17]]},"253":{"position":[[2781,17],[3299,18],[4783,17]]},"254":{"position":[[1379,17]]}},"keywords":{}}],["description".w",{"_index":2542,"title":{},"content":{"253":{"position":[[5204,20]]}},"keywords":{}}],["description.gitignor",{"_index":2320,"title":{},"content":{"229":{"position":[[377,21]]}},"keywords":{}}],["descriptionad",{"_index":2977,"title":{},"content":{"311":{"position":[[130,13]]}},"keywords":{}}],["descriptionapi",{"_index":2857,"title":{},"content":{"300":{"position":[[27,14]]}},"keywords":{}}],["descriptionarg",{"_index":4862,"title":{},"content":{"644":{"position":[[185,15]]}},"keywords":{}}],["descriptionburst",{"_index":1274,"title":{},"content":{"54":{"position":[[225,16]]}},"keywords":{}}],["descriptioncharact",{"_index":5465,"title":{},"content":{"750":{"position":[[206,21]]}},"keywords":{}}],["descriptioncmd",{"_index":2868,"title":{},"content":{"303":{"position":[[387,14]]}},"keywords":{}}],["descriptioncommand_str",{"_index":1731,"title":{},"content":{"93":{"position":[[794,25]]}},"keywords":{}}],["descriptioncosmo",{"_index":2437,"title":{},"content":{"240":{"position":[[775,17],[1603,17]]},"299":{"position":[[27,17]]}},"keywords":{}}],["descriptioncrc",{"_index":1280,"title":{},"content":{"54":{"position":[[2305,14]]}},"keywords":{}}],["descriptionct",{"_index":2858,"title":{},"content":{"301":{"position":[[138,14]]}},"keywords":{}}],["descriptiond",{"_index":2962,"title":{},"content":{"308":{"position":[[139,13]]}},"keywords":{}}],["descriptiondelay",{"_index":5458,"title":{},"content":{"748":{"position":[[117,16]]}},"keywords":{}}],["descriptiondv",{"_index":2966,"title":{},"content":{"309":{"position":[[218,13]]}},"keywords":{}}],["descriptionexpress",{"_index":4991,"title":{},"content":{"658":{"position":[[989,21]]},"683":{"position":[[565,21]]},"687":{"position":[[493,21]]}},"keywords":{}}],["descriptiongroup",{"_index":5486,"title":{},"content":{"754":{"position":[[682,16]]}},"keywords":{}}],["descriptionid",{"_index":5099,"title":{},"content":{"676":{"position":[[177,13]]}},"keywords":{}}],["descriptionignor",{"_index":5205,"title":{},"content":{"702":{"position":[[189,18]]}},"keywords":{}}],["descriptioninterfac",{"_index":4881,"title":{},"content":{"645":{"position":[[116,20]]},"709":{"position":[[196,20]]},"711":{"position":[[188,20]]},"712":{"position":[[155,20]]},"713":{"position":[[202,20]]},"714":{"position":[[200,20]]},"717":{"position":[[320,20]]},"718":{"position":[[336,20]]}},"keywords":{}}],["descriptionitem",{"_index":5026,"title":{},"content":{"663":{"position":[[365,16]]}},"keywords":{}}],["descriptionlength",{"_index":1785,"title":{},"content":{"99":{"position":[[220,17]]}},"keywords":{}}],["descriptionlimit",{"_index":5162,"title":{},"content":{"693":{"position":[[179,17]]},"694":{"position":[[181,17]]},"696":{"position":[[153,17]]},"760":{"position":[[101,16]]}},"keywords":{}}],["descriptionlm",{"_index":2862,"title":{},"content":{"302":{"position":[[205,13]]}},"keywords":{}}],["descriptionmessag",{"_index":4747,"title":{},"content":{"627":{"position":[[478,18]]},"634":{"position":[[146,18]]}},"keywords":{}}],["descriptionmetadata",{"_index":5511,"title":{},"content":{"762":{"position":[[123,19]]},"763":{"position":[[126,19]]}},"keywords":{}}],["descriptionmethod",{"_index":4999,"title":{},"content":{"659":{"position":[[256,17]]}},"keywords":{}}],["descriptionmicroservices/background",{"_index":2365,"title":{},"content":{"231":{"position":[[470,35]]}},"keywords":{}}],["descriptionoffset",{"_index":1820,"title":{},"content":{"99":{"position":[[4246,17]]},"703":{"position":[[161,17]]}},"keywords":{}}],["descriptionpacket",{"_index":1807,"title":{},"content":{"99":{"position":[[2362,17],[4890,17]]},"675":{"position":[[203,18]]}},"keywords":{}}],["descriptionpath",{"_index":4757,"title":{},"content":{"628":{"position":[[228,15]]},"629":{"position":[[149,15]]},"630":{"position":[[125,15]]}},"keywords":{}}],["descriptionprocedur",{"_index":5415,"title":{},"content":{"736":{"position":[[245,20]]}},"keywords":{}}],["descriptionpv",{"_index":2940,"title":{},"content":{"305":{"position":[[173,13]]}},"keywords":{}}],["descriptionquest",{"_index":4735,"title":{},"content":{"623":{"position":[[332,19]]},"624":{"position":[[298,19]]}},"keywords":{}}],["descriptionraw",{"_index":4624,"title":{},"content":{"618":{"position":[[145,14]]}},"keywords":{}}],["descriptionrout",{"_index":5349,"title":{},"content":{"720":{"position":[[149,17]]},"721":{"position":[[117,17]]},"723":{"position":[[183,17]]},"725":{"position":[[193,17]]},"726":{"position":[[191,17]]},"727":{"position":[[304,17]]},"728":{"position":[[346,17]]}},"keywords":{}}],["descriptionscreen",{"_index":5451,"title":{},"content":{"746":{"position":[[394,17]]}},"keywords":{}}],["descriptionset",{"_index":5556,"title":{},"content":{"768":{"position":[[249,18]]},"769":{"position":[[248,18]]}},"keywords":{}}],["descriptionsr",{"_index":2898,"title":{},"content":{"304":{"position":[[1323,13]]}},"keywords":{}}],["descriptionsrc/app.vu",{"_index":2403,"title":{},"content":{"235":{"position":[[760,22]]}},"keywords":{}}],["descriptionsrc/helloworldwidget.vu",{"_index":2394,"title":{},"content":{"234":{"position":[[656,35]]}},"keywords":{}}],["descriptionstart",{"_index":5507,"title":{},"content":{"761":{"position":[[98,16]]}},"keywords":{}}],["descriptionstash",{"_index":5398,"title":{},"content":{"730":{"position":[[118,16]]},"731":{"position":[[112,16]]},"734":{"position":[[135,16]]}},"keywords":{}}],["descriptiontarget",{"_index":1802,"title":{},"content":{"99":{"position":[[1489,17],[1729,17]]},"636":{"position":[[759,17]]},"637":{"position":[[981,17]]},"638":{"position":[[1002,17]]},"639":{"position":[[1035,17]]},"640":{"position":[[835,17]]},"641":{"position":[[1052,17]]},"642":{"position":[[1073,17]]},"643":{"position":[[1106,17]]},"646":{"position":[[242,17]]},"647":{"position":[[151,17]]},"648":{"position":[[237,17]]},"649":{"position":[[283,17]]},"650":{"position":[[318,17]]},"651":{"position":[[241,17]]},"652":{"position":[[410,17]]},"653":{"position":[[189,17]]},"654":{"position":[[245,17]]},"656":{"position":[[469,17]]},"657":{"position":[[411,17]]},"660":{"position":[[259,17]]},"661":{"position":[[301,17]]},"662":{"position":[[415,17]]},"664":{"position":[[128,17]]},"665":{"position":[[133,17]]},"666":{"position":[[195,17]]},"667":{"position":[[245,17]]},"668":{"position":[[256,17]]},"669":{"position":[[495,17]]},"670":{"position":[[221,17]]},"671":{"position":[[362,17]]},"672":{"position":[[198,17]]},"677":{"position":[[205,17]]},"678":{"position":[[225,17]]},"679":{"position":[[239,17]]},"681":{"position":[[835,17]]},"682":{"position":[[567,17]]},"684":{"position":[[488,17]]},"685":{"position":[[450,17]]},"686":{"position":[[466,17]]},"688":{"position":[[374,17]]},"690":{"position":[[327,17]]},"691":{"position":[[182,17]]},"692":{"position":[[184,17]]},"699":{"position":[[179,17]]},"700":{"position":[[549,17]]},"706":{"position":[[143,17]]},"716":{"position":[[264,17]]},"739":{"position":[[232,17]]},"740":{"position":[[149,17]]},"742":{"position":[[162,17]]},"744":{"position":[[202,17]]},"745":{"position":[[297,17]]}},"keywords":{}}],["descriptiontarget_nam",{"_index":1737,"title":{},"content":{"93":{"position":[[1480,22]]},"94":{"position":[[909,22]]}},"keywords":{}}],["descriptiontargets/gs",{"_index":2341,"title":{},"content":{"230":{"position":[[420,22]]}},"keywords":{}}],["descriptiontargets/gse/lib/double_conversion.rb",{"_index":2377,"title":{},"content":{"232":{"position":[[627,47]]}},"keywords":{}}],["descriptiontargets/gse/lib/safe_limits_response.rb",{"_index":2387,"title":{},"content":{"233":{"position":[[666,50]]}},"keywords":{}}],["descriptiontargets/target_name/lib",{"_index":4273,"title":{},"content":{"485":{"position":[[199,34]]}},"keywords":{}}],["descriptiontg",{"_index":2955,"title":{},"content":{"307":{"position":[[124,13]]}},"keywords":{}}],["descriptiontim",{"_index":5119,"title":{},"content":{"681":{"position":[[508,15]]}},"keywords":{}}],["descriptiontitl",{"_index":4796,"title":{},"content":{"632":{"position":[[929,16]]}},"keywords":{}}],["descriptiontl",{"_index":2970,"title":{},"content":{"310":{"position":[[123,13]]}},"keywords":{}}],["descriptiontlm_str",{"_index":1759,"title":{},"content":{"94":{"position":[[589,21]]}},"keywords":{}}],["descriptiontool",{"_index":5580,"title":{},"content":{"772":{"position":[[135,15]]},"773":{"position":[[310,15]]},"774":{"position":[[146,15]]},"775":{"position":[[150,15]]}},"keywords":{}}],["descriptiontv",{"_index":2952,"title":{},"content":{"306":{"position":[[292,13]]}},"keywords":{}}],["descriptionutil",{"_index":5419,"title":{},"content":{"737":{"position":[[471,18]]}},"keywords":{}}],["design",{"_index":1386,"title":{"296":{"position":[[17,6]]}},"content":{"63":{"position":[[275,8]]},"189":{"position":[[199,6]]},"214":{"position":[[1,10]]},"229":{"position":[[595,8]]},"230":{"position":[[596,8]]},"231":{"position":[[694,8]]},"235":{"position":[[1773,6]]},"247":{"position":[[41,6],[78,9],[214,6]]},"291":{"position":[[27,8]]},"304":{"position":[[614,9]]},"324":{"position":[[382,7]]},"332":{"position":[[298,7]]},"364":{"position":[[1305,8]]},"400":{"position":[[198,8]]},"418":{"position":[[1314,10]]},"419":{"position":[[1367,10]]},"420":{"position":[[1339,10]]},"496":{"position":[[25,6]]},"619":{"position":[[27,8]]}},"keywords":{}}],["desir",{"_index":2593,"title":{},"content":{"256":{"position":[[370,7]]},"267":{"position":[[9627,7],[10014,7]]},"303":{"position":[[153,7],[283,7]]},"304":{"position":[[3886,7],[6830,8]]},"373":{"position":[[676,7]]},"383":{"position":[[557,7]]},"495":{"position":[[664,7],[962,7]]}},"keywords":{}}],["desktop",{"_index":1567,"title":{},"content":{"83":{"position":[[330,7]]},"240":{"position":[[419,8]]},"289":{"position":[[145,7],[266,8]]},"313":{"position":[[142,7]]},"324":{"position":[[4076,7]]},"325":{"position":[[400,7]]},"357":{"position":[[4285,7]]}},"keywords":{}}],["dest",{"_index":1231,"title":{},"content":{"51":{"position":[[206,4]]},"328":{"position":[[932,4],[1083,4]]}},"keywords":{}}],["dest_ip",{"_index":3081,"title":{},"content":{"321":{"position":[[883,7]]},"322":{"position":[[1956,7]]}},"keywords":{}}],["destruct",{"_index":4078,"title":{},"content":{"459":{"position":[[1926,11]]},"464":{"position":[[238,12]]}},"keywords":{}}],["detail",{"_index":1501,"title":{"528":{"position":[[24,8]]},"573":{"position":[[0,8]]}},"content":{"71":{"position":[[797,7]]},"119":{"position":[[69,6]]},"121":{"position":[[193,7]]},"123":{"position":[[916,8]]},"143":{"position":[[706,8]]},"194":{"position":[[377,8]]},"253":{"position":[[8059,7]]},"267":{"position":[[3457,7],[4823,7],[5516,7],[6639,7]]},"305":{"position":[[579,8]]},"320":{"position":[[5,8]]},"363":{"position":[[1288,8]]},"364":{"position":[[981,6]]},"372":{"position":[[243,8],[290,8]]},"373":{"position":[[728,8],[775,8]]},"383":{"position":[[687,8],[734,8]]},"474":{"position":[[334,7]]},"481":{"position":[[141,7]]},"568":{"position":[[281,8]]},"573":{"position":[[38,7],[60,7]]}},"keywords":{}}],["detect",{"_index":2671,"title":{},"content":{"267":{"position":[[9013,8],[9171,8],[9332,8],[9452,8],[9836,9],[10222,9]]},"334":{"position":[[807,7]]},"484":{"position":[[177,7]]}},"keywords":{}}],["determin",{"_index":319,"title":{},"content":{"11":{"position":[[147,10]]},"76":{"position":[[700,10]]},"253":{"position":[[5424,9]]},"322":{"position":[[315,9]]},"457":{"position":[[149,10]]},"476":{"position":[[374,9],[481,9]]},"490":{"position":[[73,11]]},"505":{"position":[[764,9]]},"612":{"position":[[1106,9]]},"702":{"position":[[256,11]]}},"keywords":{}}],["dev",{"_index":1624,"title":{},"content":{"83":{"position":[[2237,3]]},"85":{"position":[[507,3],[610,3]]}},"keywords":{}}],["dev.txt",{"_index":1857,"title":{},"content":{"105":{"position":[[120,7]]}},"keywords":{}}],["dev.yaml",{"_index":1678,"title":{},"content":{"85":{"position":[[480,8]]}},"keywords":{}}],["dev/stderr",{"_index":1115,"title":{},"content":{"44":{"position":[[3139,11],[3251,11]]}},"keywords":{}}],["dev/ttys0",{"_index":1247,"title":{},"content":{"52":{"position":[[297,13],[409,13],[1510,10],[1521,10]]}},"keywords":{}}],["dev/ttys1",{"_index":1256,"title":{},"content":{"52":{"position":[[1089,10],[1100,10]]}},"keywords":{}}],["dev/ttyusb0",{"_index":3282,"title":{},"content":{"341":{"position":[[294,12]]}},"keywords":{}}],["dev_server.bat",{"_index":1685,"title":{},"content":{"85":{"position":[[937,14]]}},"keywords":{}}],["develop",{"_index":21,"title":{"82":{"position":[[0,10]]},"83":{"position":[[0,11]]}},"content":{"1":{"position":[[217,11]]},"44":{"position":[[228,9]]},"83":{"position":[[22,8],[487,7],[2036,11],[2204,11]]},"84":{"position":[[55,7],[491,11],[891,11],[1361,11],[1406,12]]},"85":{"position":[[25,7],[135,11],[160,11]]},"95":{"position":[[4,10],[332,9],[498,9]]},"227":{"position":[[47,10]]},"229":{"position":[[456,12]]},"230":{"position":[[1575,10]]},"235":{"position":[[147,10],[365,12],[410,12],[1517,11],[1656,11]]},"237":{"position":[[101,11]]},"245":{"position":[[314,7]]},"246":{"position":[[101,10]]},"247":{"position":[[63,10]]},"251":{"position":[[100,11]]},"254":{"position":[[2966,11]]},"304":{"position":[[172,10],[1385,10]]},"332":{"position":[[90,11],[153,12]]},"334":{"position":[[1305,7]]},"343":{"position":[[404,9]]},"360":{"position":[[405,12],[1297,12]]},"361":{"position":[[313,7]]},"362":{"position":[[56,10],[491,7],[609,11]]},"364":{"position":[[1636,10]]},"482":{"position":[[291,7]]},"488":{"position":[[904,9]]}},"keywords":{}}],["developerslot",{"_index":3669,"title":{},"content":{"362":{"position":[[367,14]]}},"keywords":{}}],["devic",{"_index":19,"title":{},"content":{"1":{"position":[[199,8]]},"143":{"position":[[383,7]]},"291":{"position":[[94,7],[491,6]]},"336":{"position":[[96,7]]},"341":{"position":[[144,8],[216,6]]}},"keywords":{}}],["device"",{"_index":3317,"title":{},"content":{"347":{"position":[[686,12]]}},"keywords":{}}],["dfw4kkva6acgfsf_f8tbh_rzrvqwlvwwzda_eggkzhzwcnac8tdjxrxuawmnogwt0aahzaow8evwmkp",{"_index":988,"title":{},"content":{"43":{"position":[[2285,79],[5750,79]]}},"keywords":{}}],["diag",{"_index":2236,"title":{},"content":{"226":{"position":[[942,4]]},"285":{"position":[[1117,4]]}},"keywords":{}}],["diagram",{"_index":2836,"title":{"298":{"position":[[33,8]]}},"content":{"298":{"position":[[15,7]]}},"keywords":{}}],["dialog",{"_index":2162,"title":{},"content":{"214":{"position":[[83,6]]},"267":{"position":[[3465,7],[4831,7],[5524,7],[6647,7]]},"303":{"position":[[1969,6],[2042,6]]},"513":{"position":[[154,6]]},"514":{"position":[[199,6],[571,6]]},"538":{"position":[[81,6]]},"541":{"position":[[259,6]]},"542":{"position":[[280,6]]},"552":{"position":[[210,6],[460,6]]},"555":{"position":[[158,7],[277,7]]},"558":{"position":[[188,7],[332,6]]},"563":{"position":[[148,6],[398,6]]},"564":{"position":[[136,7],[448,7]]},"573":{"position":[[68,7],[84,6]]},"577":{"position":[[207,6],[828,6],[979,6],[1229,6]]},"589":{"position":[[147,6],[397,6]]},"591":{"position":[[46,7]]},"592":{"position":[[76,7]]},"598":{"position":[[166,6],[416,6]]},"599":{"position":[[126,6],[674,7]]},"605":{"position":[[83,6],[311,6],[634,6],[684,6]]},"632":{"position":[[66,6],[970,7],[1026,6]]}},"keywords":{}}],["dict",{"_index":5173,"title":{},"content":{"699":{"position":[[16,4]]},"729":{"position":[[156,6]]},"732":{"position":[[54,5]]},"762":{"position":[[151,4]]},"763":{"position":[[154,4]]}},"keywords":{}}],["dict_keys(['default",{"_index":5184,"title":{},"content":{"699":{"position":[[878,21]]}},"keywords":{}}],["didn't",{"_index":2579,"title":{},"content":{"254":{"position":[[1798,6]]}},"keywords":{}}],["differ",{"_index":296,"title":{"502":{"position":[[17,11]]}},"content":{"9":{"position":[[21,9]]},"17":{"position":[[244,6]]},"18":{"position":[[249,6]]},"33":{"position":[[402,9]]},"44":{"position":[[1533,9],[1776,9]]},"99":{"position":[[25,9],[4749,9]]},"121":{"position":[[424,9]]},"144":{"position":[[172,9]]},"198":{"position":[[1019,10]]},"259":{"position":[[1058,10]]},"267":{"position":[[8119,9],[8245,9],[8272,9],[8635,9]]},"298":{"position":[[838,9]]},"300":{"position":[[391,9]]},"301":{"position":[[1468,9]]},"304":{"position":[[1026,9]]},"324":{"position":[[910,9]]},"359":{"position":[[1792,9]]},"470":{"position":[[266,9]]},"476":{"position":[[43,11],[3656,10]]},"480":{"position":[[399,6]]},"490":{"position":[[882,9]]},"495":{"position":[[25,9],[318,9]]},"507":{"position":[[192,9],[213,9]]},"508":{"position":[[135,9]]},"540":{"position":[[663,9]]},"547":{"position":[[137,9]]},"578":{"position":[[529,9],[1236,9]]},"596":{"position":[[230,9]]},"618":{"position":[[16,9],[116,12]]},"681":{"position":[[144,9]]},"700":{"position":[[141,9]]}},"keywords":{}}],["differenti",{"_index":1272,"title":{},"content":{"54":{"position":[[59,15]]},"98":{"position":[[159,13]]}},"keywords":{}}],["difficult",{"_index":3622,"title":{},"content":{"359":{"position":[[1863,9]]},"483":{"position":[[245,9]]}},"keywords":{}}],["difficult.indent",{"_index":4163,"title":{},"content":{"476":{"position":[[287,21]]}},"keywords":{}}],["digit",{"_index":3617,"title":{},"content":{"359":{"position":[[1259,7]]}},"keywords":{}}],["dir",{"_index":2794,"title":{"318":{"position":[[25,4]]}},"content":{"290":{"position":[[756,3]]},"320":{"position":[[399,3]]}},"keywords":{}}],["direct",{"_index":1674,"title":{},"content":{"85":{"position":[[215,6]]},"291":{"position":[[1307,10]]},"324":{"position":[[36,10],[467,10],[533,10]]},"347":{"position":[[147,10]]},"353":{"position":[[324,6]]},"449":{"position":[[17,6]]},"466":{"position":[[689,6]]}},"keywords":{}}],["direct3d",{"_index":3592,"title":{},"content":{"357":{"position":[[4392,8]]}},"keywords":{}}],["directli",{"_index":226,"title":{"46":{"position":[[18,8]]}},"content":{"6":{"position":[[701,8]]},"46":{"position":[[184,8],[280,8],[1629,8]]},"54":{"position":[[699,8]]},"69":{"position":[[1138,8],[1412,8]]},"247":{"position":[[310,8]]},"250":{"position":[[361,8]]},"290":{"position":[[297,8]]},"292":{"position":[[66,8]]},"324":{"position":[[674,10],[3088,9]]},"341":{"position":[[26,8]]},"345":{"position":[[428,8]]},"352":{"position":[[59,8]]},"475":{"position":[[143,8]]},"483":{"position":[[536,8]]},"496":{"position":[[1089,9]]},"517":{"position":[[756,8]]},"533":{"position":[[516,8]]},"584":{"position":[[34,8]]},"658":{"position":[[385,8]]},"717":{"position":[[16,8]]},"718":{"position":[[16,8]]},"727":{"position":[[16,8]]},"728":{"position":[[16,8]]},"745":{"position":[[49,8]]},"746":{"position":[[54,8]]},"754":{"position":[[881,9],[1040,9]]}},"keywords":{}}],["directori",{"_index":331,"title":{"119":{"position":[[7,9]]}},"content":{"12":{"position":[[212,9],[313,9],[398,9]]},"15":{"position":[[461,10]]},"16":{"position":[[463,10]]},"31":{"position":[[156,9]]},"32":{"position":[[158,9]]},"119":{"position":[[36,9]]},"138":{"position":[[32,9],[52,9],[271,9]]},"174":{"position":[[17,9],[36,9],[255,9]]},"198":{"position":[[263,9]]},"229":{"position":[[119,9],[436,9]]},"230":{"position":[[401,12]]},"231":{"position":[[451,12]]},"232":{"position":[[608,12]]},"233":{"position":[[647,12]]},"234":{"position":[[637,12]]},"235":{"position":[[741,12]]},"253":{"position":[[312,10],[1557,9],[2157,10]]},"257":{"position":[[948,10],[1011,10]]},"259":{"position":[[291,9]]},"267":{"position":[[10632,10]]},"276":{"position":[[284,10]]},"290":{"position":[[627,9]]},"292":{"position":[[32,9]]},"324":{"position":[[699,11]]},"327":{"position":[[501,11]]},"328":{"position":[[64,9],[1331,10]]},"331":{"position":[[189,9],[251,10],[468,9]]},"334":{"position":[[84,10],[261,10],[428,9],[1113,9],[1198,9]]},"337":{"position":[[238,9]]},"339":{"position":[[213,10]]},"343":{"position":[[233,10]]},"345":{"position":[[15,9],[135,9],[182,11],[406,9]]},"367":{"position":[[286,10]]},"441":{"position":[[156,10]]},"442":{"position":[[597,10],[1436,10]]},"452":{"position":[[174,10]]},"453":{"position":[[173,10]]},"484":{"position":[[137,11]]},"487":{"position":[[742,10]]},"584":{"position":[[202,9],[316,9]]},"628":{"position":[[46,9],[279,10]]},"629":{"position":[[29,9],[200,10]]},"630":{"position":[[29,9],[176,10]]}},"keywords":{}}],["disabl",{"_index":717,"title":{"211":{"position":[[0,9]]},"333":{"position":[[0,9]]}},"content":{"36":{"position":[[3136,7]]},"40":{"position":[[833,7],[1162,7]]},"52":{"position":[[330,7],[442,7]]},"131":{"position":[[1,7]]},"166":{"position":[[1,8]]},"170":{"position":[[17,7],[42,7]]},"183":{"position":[[17,7],[42,7]]},"193":{"position":[[17,7],[42,7]]},"196":{"position":[[17,7],[42,7]]},"202":{"position":[[3136,7]]},"211":{"position":[[1,8],[67,8],[124,8]]},"212":{"position":[[1,7]]},"267":{"position":[[8781,9],[8898,8]]},"283":{"position":[[104,8],[200,8],[357,7],[499,8],[622,7],[654,9]]},"333":{"position":[[16,7]]},"351":{"position":[[411,7]]},"488":{"position":[[2008,9],[2135,7]]},"513":{"position":[[658,8]]},"534":{"position":[[315,8],[360,8]]},"692":{"position":[[1,8]]},"694":{"position":[[1,8]]},"752":{"position":[[1,8],[380,9],[445,8]]}},"keywords":{}}],["disable_disconnect",{"_index":1959,"title":{"131":{"position":[[0,19]]}},"content":{},"keywords":{}}],["disable_erb",{"_index":2055,"title":{"170":{"position":[[0,12]]},"183":{"position":[[0,12]]},"193":{"position":[[0,12]]},"196":{"position":[[0,12]]}},"content":{},"keywords":{}}],["disable_instrument",{"_index":4317,"title":{"752":{"position":[[0,24]]}},"content":{"488":{"position":[[2084,23],[2258,23],[2406,26]]},"752":{"position":[[520,23],[652,26]]}},"keywords":{}}],["disable_limit",{"_index":5157,"title":{"692":{"position":[[0,15]]}},"content":{},"keywords":{}}],["disable_limits("<target",{"_index":5158,"title":{},"content":{"692":{"position":[[86,31]]}},"keywords":{}}],["disable_limits("inst",{"_index":5159,"title":{},"content":{"692":{"position":[[376,25]]}},"keywords":{}}],["disable_limits_group",{"_index":5164,"title":{"694":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disable_limits_group("<limit",{"_index":5165,"title":{},"content":{"694":{"position":[[109,37]]}},"keywords":{}}],["disable_limits_group("name"",{"_index":2704,"title":{},"content":{"283":{"position":[[382,38]]}},"keywords":{}}],["disable_limits_group("safe_mode"",{"_index":5166,"title":{},"content":{"694":{"position":[[261,43]]}},"keywords":{}}],["disable_messag",{"_index":721,"title":{"212":{"position":[[0,17]]}},"content":{"36":{"position":[[3309,16],[3717,16]]},"202":{"position":[[3309,16],[3717,16]]}},"keywords":{}}],["discard",{"_index":1336,"title":{},"content":{"59":{"position":[[361,7],[588,7],[743,7]]},"60":{"position":[[647,10],[941,7],[986,7],[1141,7]]},"61":{"position":[[464,10],[1722,7],[1767,7],[1905,10],[2016,11],[2041,7]]},"62":{"position":[[847,7],[892,7],[1043,7]]},"63":{"position":[[1762,10],[2031,7],[2076,7],[2227,7]]},"64":{"position":[[563,10]]}},"keywords":{}}],["disclos",{"_index":4136,"title":{},"content":{"467":{"position":[[1046,8]]},"470":{"position":[[191,8]]}},"keywords":{}}],["disclosur",{"_index":4104,"title":{},"content":{"464":{"position":[[211,11]]}},"keywords":{}}],["disconnect",{"_index":1266,"title":{"492":{"position":[[6,10]]}},"content":{"53":{"position":[[98,10]]},"67":{"position":[[394,10],[407,10]]},"69":{"position":[[2712,10],[2777,13],[3356,11],[4062,11],[4236,10],[4252,10]]},"72":{"position":[[98,13],[179,10]]},"74":{"position":[[97,13]]},"75":{"position":[[219,11],[468,10],[542,12]]},"76":{"position":[[243,11],[494,10],[568,12]]},"77":{"position":[[242,11],[510,10],[584,12]]},"78":{"position":[[242,11],[507,10],[581,12]]},"79":{"position":[[458,11],[684,10],[758,12],[895,10]]},"131":{"position":[[13,10],[110,13],[248,10]]},"227":{"position":[[1483,13],[1541,12]]},"300":{"position":[[95,13],[124,10],[232,13],[258,10]]},"301":{"position":[[326,13],[377,10],[1285,13],[1333,10]]},"304":{"position":[[4301,12],[4433,11]]},"492":{"position":[[1,10],[128,10],[188,11],[263,11],[303,13],[521,10],[554,12],[619,12]]},"536":{"position":[[168,12]]},"539":{"position":[[104,10]]},"544":{"position":[[244,15]]},"621":{"position":[[1195,11]]},"669":{"position":[[205,12],[255,10]]},"712":{"position":[[1,11]]},"721":{"position":[[1,11]]},"758":{"position":[[21,10],[41,10],[198,10]]}},"keywords":{}}],["disconnect_interfac",{"_index":5291,"title":{"712":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disconnect_interface("<interfac",{"_index":5292,"title":{},"content":{"712":{"position":[[86,40]]}},"keywords":{}}],["disconnect_interface("int1"",{"_index":5293,"title":{},"content":{"712":{"position":[[229,38]]}},"keywords":{}}],["disconnect_reset",{"_index":1508,"title":{"74":{"position":[[0,17]]}},"content":{"74":{"position":[[5,16],[149,16],[273,16]]}},"keywords":{}}],["disconnect_reset(self",{"_index":1509,"title":{},"content":{"74":{"position":[[219,23]]}},"keywords":{}}],["disconnect_rout",{"_index":5352,"title":{"721":{"position":[[0,18]]}},"content":{},"keywords":{}}],["disconnect_router("<rout",{"_index":5353,"title":{},"content":{"721":{"position":[[54,34]]}},"keywords":{}}],["disconnect_router("int1_router"",{"_index":5354,"title":{},"content":{"721":{"position":[[185,42]]}},"keywords":{}}],["disconnect_script",{"_index":4701,"title":{"758":{"position":[[0,18]]}},"content":{"621":{"position":[[3694,17]]},"758":{"position":[[316,19]]}},"keywords":{}}],["discount",{"_index":4084,"title":{},"content":{"461":{"position":[[243,9]]}},"keywords":{}}],["discov",{"_index":2978,"title":{},"content":{"311":{"position":[[633,8]]}},"keywords":{}}],["discoveri",{"_index":363,"title":{},"content":{"15":{"position":[[244,10]]},"16":{"position":[[248,10]]},"311":{"position":[[612,9]]}},"keywords":{}}],["discovery."",{"_index":2460,"title":{},"content":{"243":{"position":[[256,16]]}},"keywords":{}}],["discret",{"_index":2115,"title":{},"content":{"198":{"position":[[191,11]]},"259":{"position":[[217,11]]}},"keywords":{}}],["discuss",{"_index":77,"title":{"70":{"position":[[7,12]]}},"content":{"2":{"position":[[749,10]]},"69":{"position":[[904,10],[1679,7],[1751,11]]},"71":{"position":[[906,9]]},"487":{"position":[[688,10]]},"500":{"position":[[801,9]]}},"keywords":{}}],["disk",{"_index":2761,"title":{},"content":{"289":{"position":[[387,4],[460,4]]},"324":{"position":[[948,5],[980,4]]}},"keywords":{}}],["diskrenam",{"_index":4575,"title":{},"content":{"605":{"position":[[175,10]]}},"keywords":{}}],["dismiss",{"_index":4507,"title":{},"content":{"575":{"position":[[210,10]]}},"keywords":{}}],["display",{"_index":349,"title":{},"content":{"13":{"position":[[192,7],[295,7]]},"14":{"position":[[166,7]]},"31":{"position":[[61,9]]},"33":{"position":[[270,7],[468,7],[683,7]]},"36":{"position":[[202,7],[296,9]]},"84":{"position":[[1274,10]]},"103":{"position":[[176,8]]},"117":{"position":[[100,10]]},"184":{"position":[[422,9]]},"188":{"position":[[8,7],[68,7],[316,7]]},"189":{"position":[[129,7]]},"202":{"position":[[202,7],[296,9]]},"230":{"position":[[2323,7]]},"234":{"position":[[722,8]]},"235":{"position":[[1245,8]]},"259":{"position":[[1203,10]]},"267":{"position":[[197,7],[291,9],[2505,9],[3365,9],[4731,9],[5424,9],[6547,9],[8105,8]]},"301":{"position":[[194,7],[459,7],[557,7],[662,7],[840,7],[954,7],[1159,7],[1727,7]]},"302":{"position":[[16,8],[242,7],[301,9],[458,9],[547,10]]},"303":{"position":[[712,7],[1545,7],[1653,9],[1709,7],[1826,10]]},"305":{"position":[[394,7],[503,9],[1332,9],[1424,10],[1614,9]]},"306":{"position":[[231,7],[331,7],[416,7]]},"309":{"position":[[34,7],[75,7],[182,8],[485,7],[524,7],[595,8]]},"311":{"position":[[400,7]]},"366":{"position":[[94,7],[520,9],[555,7]]},"393":{"position":[[107,7]]},"394":{"position":[[107,7]]},"396":{"position":[[1,8],[179,7]]},"397":{"position":[[16,8]]},"398":{"position":[[1,8],[91,7]]},"400":{"position":[[33,7],[254,7]]},"401":{"position":[[1,8],[462,8]]},"402":{"position":[[1,8],[649,8]]},"403":{"position":[[1,8],[634,8]]},"404":{"position":[[1,8],[198,8]]},"405":{"position":[[1,8],[249,10],[446,8]]},"406":{"position":[[1,8],[219,8]]},"407":{"position":[[1,8],[222,7],[258,7],[365,8]]},"408":{"position":[[1,8],[239,8]]},"409":{"position":[[1,8],[242,8]]},"410":{"position":[[1,8],[229,7],[368,7],[516,8]]},"411":{"position":[[1,8],[506,8]]},"412":{"position":[[1,8],[235,8]]},"413":{"position":[[1,8],[233,8]]},"414":{"position":[[1,8],[219,8]]},"415":{"position":[[1,8],[208,8]]},"416":{"position":[[1,8],[211,8]]},"417":{"position":[[1,8],[198,7],[337,7],[485,8]]},"418":{"position":[[1,8],[205,8],[290,7],[439,8],[932,8],[1017,7],[1166,8],[1450,7],[1591,7],[1701,7],[1876,7]]},"419":{"position":[[1,8],[239,8],[324,7],[473,8],[985,8],[1070,7],[1219,8],[1503,7],[1644,7],[1754,7],[1929,7]]},"420":{"position":[[1,8],[223,8],[308,7],[457,8],[957,8],[1042,7],[1191,8],[1475,7],[1616,7],[1726,7],[1901,7]]},"421":{"position":[[1,7]]},"422":{"position":[[1,8],[44,10],[253,10],[456,8]]},"423":{"position":[[1,8],[29,10],[208,7],[347,7],[495,8]]},"424":{"position":[[17,8],[157,8]]},"425":{"position":[[17,8],[251,8],[544,7],[589,8],[632,8],[665,8]]},"427":{"position":[[1,8],[447,8]]},"429":{"position":[[1,8],[1625,9]]},"430":{"position":[[1,8],[167,9]]},"431":{"position":[[1,8],[189,7],[251,7]]},"432":{"position":[[1,8]]},"434":{"position":[[1,8],[263,7]]},"435":{"position":[[1,8]]},"436":{"position":[[1,8]]},"437":{"position":[[42,8]]},"440":{"position":[[480,8]]},"441":{"position":[[1,8]]},"442":{"position":[[1,8],[132,9],[433,7],[542,8],[1381,8]]},"444":{"position":[[639,8]]},"488":{"position":[[852,7]]},"513":{"position":[[511,9]]},"527":{"position":[[533,7]]},"530":{"position":[[345,9]]},"533":{"position":[[158,7]]},"534":{"position":[[267,7]]},"539":{"position":[[20,8]]},"540":{"position":[[17,8]]},"541":{"position":[[25,8],[266,10]]},"542":{"position":[[27,8],[287,10]]},"543":{"position":[[16,8]]},"544":{"position":[[100,8]]},"547":{"position":[[29,8]]},"552":{"position":[[217,8],[472,8]]},"563":{"position":[[155,8],[410,8]]},"564":{"position":[[12,8],[431,7],[535,9]]},"566":{"position":[[169,7],[206,7]]},"568":{"position":[[77,7],[165,9]]},"577":{"position":[[214,8],[573,10],[986,8],[1241,8]]},"578":{"position":[[65,9],[148,9],[194,10],[341,9],[575,8],[688,10],[1328,10]]},"588":{"position":[[51,8]]},"589":{"position":[[154,8],[409,8]]},"590":{"position":[[188,8]]},"592":{"position":[[108,9]]},"598":{"position":[[173,8],[428,8]]},"599":{"position":[[262,10],[391,8]]},"605":{"position":[[318,8],[691,10]]},"606":{"position":[[3,7]]},"617":{"position":[[353,8],[796,7],[1213,7]]},"621":{"position":[[518,7]]},"623":{"position":[[598,9]]},"624":{"position":[[564,9]]},"632":{"position":[[1011,7]]},"634":{"position":[[1,8]]},"746":{"position":[[712,8],[778,7],[809,11],[898,7]]},"750":{"position":[[54,7]]},"751":{"position":[[53,7]]},"762":{"position":[[301,7]]},"763":{"position":[[318,7]]}},"keywords":{}}],["display/us",{"_index":3714,"title":{},"content":{"366":{"position":[[159,12]]}},"keywords":{}}],["display_screen",{"_index":4640,"title":{"739":{"position":[[0,15]]}},"content":{"621":{"position":[[559,14]]}},"keywords":{}}],["display_screen("<target",{"_index":5425,"title":{},"content":{"739":{"position":[[77,31]]}},"keywords":{}}],["display_screen("inst"",{"_index":5430,"title":{},"content":{"739":{"position":[[499,32]]}},"keywords":{}}],["disput",{"_index":4115,"title":{},"content":{"465":{"position":[[484,9]]}},"keywords":{}}],["distanc",{"_index":1417,"title":{},"content":{"67":{"position":[[523,8]]}},"keywords":{}}],["distinct",{"_index":2675,"title":{},"content":{"267":{"position":[[9618,8],[10005,8]]},"486":{"position":[[26,8]]}},"keywords":{}}],["distinguish",{"_index":2551,"title":{},"content":{"253":{"position":[[6320,13]]},"305":{"position":[[1196,14]]},"321":{"position":[[3737,11]]}},"keywords":{}}],["distribut",{"_index":3359,"title":{},"content":{"349":{"position":[[234,11]]}},"keywords":{}}],["distro",{"_index":3395,"title":{},"content":{"351":{"position":[[6,6]]}},"keywords":{}}],["dive",{"_index":4313,"title":{},"content":{"488":{"position":[[597,4]]}},"keywords":{}}],["dn",{"_index":3173,"title":{},"content":{"324":{"position":[[2208,3]]}},"keywords":{}}],["do",{"_index":2609,"title":{},"content":{"259":{"position":[[1463,5]]},"364":{"position":[[320,5]]},"481":{"position":[[32,5]]}},"keywords":{}}],["docker",{"_index":36,"title":{"23":{"position":[[7,6]]},"241":{"position":[[0,6]]},"324":{"position":[[40,6]]}},"content":{"2":{"position":[[129,6],[160,6]]},"21":{"position":[[33,6]]},"83":{"position":[[143,7],[323,6],[915,6],[2345,6]]},"85":{"position":[[299,6],[379,6],[432,6],[530,6],[733,6],[828,6]]},"141":{"position":[[16,6]]},"180":{"position":[[1,6]]},"239":{"position":[[5,7],[85,6],[386,6]]},"240":{"position":[[5,7],[212,7],[412,6]]},"241":{"position":[[5,7],[78,6]]},"242":{"position":[[44,6]]},"253":{"position":[[1908,6]]},"256":{"position":[[23,6],[60,6]]},"289":{"position":[[74,6],[99,6],[138,6],[259,6],[310,6],[358,7],[427,7],[465,6],[913,6],[940,6],[1109,6],[1582,6],[1624,6]]},"291":{"position":[[389,6]]},"292":{"position":[[549,6],[585,6],[596,6],[668,6],[688,6],[855,6],[1286,6],[1333,7]]},"298":{"position":[[220,6],[251,6]]},"299":{"position":[[129,6]]},"315":{"position":[[12,6]]},"316":{"position":[[22,6]]},"319":{"position":[[45,7],[94,6],[116,6]]},"322":{"position":[[405,6],[500,6]]},"324":{"position":[[109,7],[129,6],[223,6],[404,7],[1436,6],[1521,6],[1616,6],[1684,6],[1800,6],[1823,6],[3020,6],[4069,6]]},"325":{"position":[[319,6],[347,6],[393,6]]},"338":{"position":[[2066,6]]},"341":{"position":[[60,6],[260,6]]},"347":{"position":[[2357,6],[2377,6]]},"351":{"position":[[289,6],[455,6]]},"355":{"position":[[1051,6]]},"357":{"position":[[134,7],[288,7],[996,6],[2487,6],[3655,6],[3858,6],[4278,6]]}},"keywords":{}}],["docker.io",{"_index":2787,"title":{},"content":{"290":{"position":[[396,9],[473,9]]},"324":{"position":[[3340,10]]}},"keywords":{}}],["docker.sh",{"_index":3352,"title":{},"content":{"347":{"position":[[2308,9],[2330,9]]}},"keywords":{}}],["docker_host="unix://$xdg_runtime_dir/podman/podman.sock"",{"_index":3185,"title":{},"content":{"324":{"position":[[2565,66]]}},"keywords":{}}],["docker_host='unix:///users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock",{"_index":3203,"title":{},"content":{"325":{"position":[[218,92]]}},"keywords":{}}],["dockerfil",{"_index":468,"title":{"21":{"position":[[28,11]]},"318":{"position":[[7,10]]}},"content":{"239":{"position":[[309,10]]},"350":{"position":[[1217,10]]},"351":{"position":[[469,10]]},"352":{"position":[[1178,10]]},"353":{"position":[[403,10]]}},"keywords":{}}],["document",{"_index":119,"title":{},"content":{"3":{"position":[[527,13]]},"5":{"position":[[545,14],[1341,8]]},"20":{"position":[[1549,13]]},"54":{"position":[[2653,13],[2865,13],[3356,13]]},"56":{"position":[[696,14]]},"66":{"position":[[107,13]]},"71":{"position":[[930,9]]},"90":{"position":[[361,10],[602,10]]},"112":{"position":[[6,8]]},"119":{"position":[[98,14]]},"123":{"position":[[893,13]]},"143":{"position":[[683,13]]},"227":{"position":[[19,13]]},"229":{"position":[[1081,10],[1419,8]]},"253":{"position":[[4651,13],[5903,13]]},"287":{"position":[[103,8]]},"289":{"position":[[207,14]]},"295":{"position":[[23,14]]},"320":{"position":[[253,14]]},"328":{"position":[[1493,14]]},"343":{"position":[[414,14]]},"350":{"position":[[1367,8],[1447,8]]},"363":{"position":[[1373,8]]},"374":{"position":[[531,10]]},"449":{"position":[[652,14]]},"461":{"position":[[165,9],[634,8]]},"474":{"position":[[200,8]]},"479":{"position":[[343,11]]},"496":{"position":[[190,10]]},"548":{"position":[[650,13]]},"594":{"position":[[5,13]]},"773":{"position":[[93,10]]}},"keywords":{}}],["doesn't",{"_index":1505,"title":{},"content":{"72":{"position":[[403,7]]},"253":{"position":[[4587,7]]},"257":{"position":[[1723,7]]},"262":{"position":[[71,7]]},"291":{"position":[[1116,7]]},"502":{"position":[[173,7]]},"632":{"position":[[371,7]]}},"keywords":{}}],["dollar",{"_index":3661,"title":{},"content":{"362":{"position":[[48,7]]}},"keywords":{}}],["domain",{"_index":502,"title":{},"content":{"22":{"position":[[505,8]]}},"keywords":{}}],["don't",{"_index":371,"title":{"480":{"position":[[16,6]]}},"content":{"17":{"position":[[43,5]]},"18":{"position":[[46,5]]},"24":{"position":[[706,5]]},"67":{"position":[[221,5]]},"75":{"position":[[862,5],[1250,5]]},"99":{"position":[[4845,5]]},"250":{"position":[[418,5]]},"253":{"position":[[3443,5],[4542,5],[5793,5]]},"254":{"position":[[2291,5]]},"289":{"position":[[1092,5]]},"320":{"position":[[1490,5]]},"324":{"position":[[2863,5]]},"362":{"position":[[417,5],[514,5]]},"364":{"position":[[997,5]]},"476":{"position":[[1727,5]]},"488":{"position":[[838,5]]},"502":{"position":[[519,5]]},"752":{"position":[[563,5],[703,5]]}},"keywords":{}}],["done",{"_index":856,"title":{},"content":{"38":{"position":[[49,4]]},"44":{"position":[[1587,4],[3524,4]]},"84":{"position":[[318,4]]},"227":{"position":[[2360,4],[3377,4]]},"499":{"position":[[104,5],[297,4]]},"514":{"position":[[491,4]]}},"keywords":{}}],["dont_connect",{"_index":1952,"title":{"128":{"position":[[0,13]]}},"content":{},"keywords":{}}],["dont_reconnect",{"_index":1954,"title":{"129":{"position":[[0,15]]}},"content":{"130":{"position":[[32,14]]}},"keywords":{}}],["dot",{"_index":3990,"title":{},"content":{"445":{"position":[[9,3],[89,3],[127,3],[155,3],[185,3]]},"585":{"position":[[818,4],[894,4]]},"623":{"position":[[613,4]]},"624":{"position":[[579,4]]}},"keywords":{}}],["dotfil",{"_index":2414,"title":{},"content":{"235":{"position":[[1581,8]]}},"keywords":{}}],["doubl",{"_index":308,"title":{},"content":{"9":{"position":[[808,6],[935,6]]},"227":{"position":[[2836,6],[3845,6]]},"232":{"position":[[392,6]]},"429":{"position":[[648,6]]},"585":{"position":[[887,6]]}},"keywords":{}}],["double_conversion.rb",{"_index":2376,"title":{},"content":{"232":{"position":[[548,20],[1124,20]]}},"keywords":{}}],["doubt",{"_index":1446,"title":{},"content":{"69":{"position":[[1205,6],[1479,6]]}},"keywords":{}}],["down",{"_index":1175,"title":{},"content":{"46":{"position":[[1156,4]]},"56":{"position":[[403,4]]},"69":{"position":[[525,4],[1970,4],[2563,4]]},"194":{"position":[[473,4]]},"240":{"position":[[493,4]]},"303":{"position":[[555,4]]},"304":{"position":[[995,4]]},"305":{"position":[[357,4]]},"315":{"position":[[485,4]]},"343":{"position":[[122,4]]},"431":{"position":[[17,4],[219,4],[281,4]]},"449":{"position":[[94,4]]},"478":{"position":[[35,4]]},"482":{"position":[[682,4]]},"490":{"position":[[1155,4]]},"530":{"position":[[131,4]]},"533":{"position":[[76,5],[358,4]]},"556":{"position":[[51,5],[138,4],[397,4]]},"572":{"position":[[100,4]]},"590":{"position":[[48,4],[139,5]]},"593":{"position":[[399,4]]},"600":{"position":[[48,4],[123,4],[186,5]]},"609":{"position":[[140,4]]},"610":{"position":[[306,4],[911,4]]},"611":{"position":[[651,4],[763,4]]}},"keywords":{}}],["download",{"_index":1166,"title":{"519":{"position":[[0,9]]},"583":{"position":[[5,9]]},"584":{"position":[[9,9]]}},"content":{"46":{"position":[[813,11]]},"256":{"position":[[147,8]]},"290":{"position":[[433,8]]},"311":{"position":[[646,8]]},"324":{"position":[[1413,9]]},"345":{"position":[[599,8],[627,8]]},"466":{"position":[[119,8]]},"516":{"position":[[151,8]]},"519":{"position":[[11,8],[28,8]]},"559":{"position":[[260,8]]},"583":{"position":[[32,8],[41,8]]},"584":{"position":[[103,8],[335,8],[420,8]]},"586":{"position":[[233,8],[464,8],[521,8]]},"592":{"position":[[185,8],[222,8]]},"603":{"position":[[181,8]]},"606":{"position":[[537,8]]}},"keywords":{}}],["download.rb",{"_index":4523,"title":{"586":{"position":[[0,12]]}},"content":{"584":{"position":[[268,11]]},"586":{"position":[[39,11]]}},"keywords":{}}],["downsid",{"_index":4386,"title":{},"content":{"500":{"position":[[777,9]]}},"keywords":{}}],["dramat",{"_index":3537,"title":{},"content":{"357":{"position":[[2402,12]]}},"keywords":{}}],["drastic",{"_index":1821,"title":{},"content":{"99":{"position":[[4518,11]]}},"keywords":{}}],["draw",{"_index":3717,"title":{},"content":{"366":{"position":[[410,4]]},"437":{"position":[[30,4]]},"439":{"position":[[1,5],[228,4]]},"440":{"position":[[1,5]]},"443":{"position":[[1,5]]},"444":{"position":[[1,5]]},"445":{"position":[[1,5]]}},"keywords":{}}],["dri",{"_index":4220,"title":{"480":{"position":[[12,3]]}},"content":{"483":{"position":[[155,3]]},"758":{"position":[[228,3]]}},"keywords":{}}],["drive",{"_index":2586,"title":{},"content":{"254":{"position":[[2801,5]]}},"keywords":{}}],["driver",{"_index":1243,"title":{},"content":{"52":{"position":[[79,7],[114,7]]},"322":{"position":[[439,6]]}},"keywords":{}}],["drlive",{"_index":589,"title":{},"content":{"27":{"position":[[855,7]]}},"keywords":{}}],["drlive.crt",{"_index":587,"title":{},"content":{"27":{"position":[[751,12]]}},"keywords":{}}],["drlive.key",{"_index":579,"title":{},"content":{"27":{"position":[[314,12],[837,12]]}},"keywords":{}}],["drop",{"_index":1237,"title":{},"content":{"51":{"position":[[665,8]]},"54":{"position":[[2427,8]]},"63":{"position":[[1613,5],[1742,8]]},"68":{"position":[[28,5],[78,5]]},"76":{"position":[[482,8]]},"77":{"position":[[498,8]]},"78":{"position":[[495,8]]},"134":{"position":[[1158,4]]},"194":{"position":[[468,4]]},"289":{"position":[[1164,8],[1535,8]]},"303":{"position":[[550,4]]},"305":{"position":[[352,4]]},"431":{"position":[[12,4],[214,4],[276,4]]},"530":{"position":[[126,4]]},"533":{"position":[[71,4],[353,4]]},"556":{"position":[[46,4],[133,4],[392,4]]},"572":{"position":[[95,4]]},"590":{"position":[[43,4],[134,4]]},"600":{"position":[[43,4],[118,4],[181,4]]},"609":{"position":[[135,4]]},"610":{"position":[[301,4],[906,4]]},"611":{"position":[[646,4],[758,4]]}},"keywords":{}}],["dropdown",{"_index":2867,"title":{},"content":{"303":{"position":[[121,9]]}},"keywords":{}}],["dual",{"_index":3278,"title":{},"content":{"340":{"position":[[111,4]]},"359":{"position":[[1530,4]]}},"keywords":{}}],["dualsens",{"_index":3279,"title":{},"content":{"340":{"position":[[155,9]]}},"keywords":{}}],["due",{"_index":2121,"title":{},"content":{"198":{"position":[[665,3]]},"235":{"position":[[1090,3]]},"259":{"position":[[692,3]]},"324":{"position":[[759,3]]},"357":{"position":[[870,3]]},"371":{"position":[[315,3]]},"505":{"position":[[377,3]]}},"keywords":{}}],["dummi",{"_index":2241,"title":{},"content":{"226":{"position":[[1621,5]]}},"keywords":{}}],["dump",{"_index":876,"title":{},"content":{"40":{"position":[[740,7]]},"261":{"position":[[239,5],[297,7]]},"309":{"position":[[146,5]]},"586":{"position":[[787,4]]}},"keywords":{}}],["dump_pkt",{"_index":4547,"title":{},"content":{"586":{"position":[[865,8]]}},"keywords":{}}],["duplic",{"_index":2348,"title":{},"content":{"230":{"position":[[1646,11]]}},"keywords":{}}],["dur",{"_index":3954,"title":{},"content":{"435":{"position":[[324,3]]}},"keywords":{}}],["dur))"",{"_index":3912,"title":{},"content":{"429":{"position":[[1095,13]]}},"keywords":{}}],["durat",{"_index":1740,"title":{},"content":{"93":{"position":[[1797,8]]},"208":{"position":[[438,8]]},"209":{"position":[[522,8]]},"225":{"position":[[489,8]]},"307":{"position":[[848,8]]},"384":{"position":[[665,8]]},"429":{"position":[[1086,8],[1811,8]]},"431":{"position":[[461,8]]},"435":{"position":[[257,8],[431,8]]},"446":{"position":[[241,8],[410,9],[440,8],[594,8]]},"534":{"position":[[339,9]]},"636":{"position":[[1322,8],[1754,8]]},"637":{"position":[[1559,8],[1785,8]]},"639":{"position":[[1608,8],[1826,8]]},"640":{"position":[[1402,8],[1584,8]]},"641":{"position":[[1634,8],[1846,8]]},"643":{"position":[[1683,8],[1885,8]]},"644":{"position":[[455,8],[1014,8]]}},"keywords":{}}],["dure",{"_index":1072,"title":{},"content":{"44":{"position":[[1656,6]]},"80":{"position":[[117,6]]},"121":{"position":[[133,6]]},"267":{"position":[[8398,6]]},"304":{"position":[[192,6]]},"322":{"position":[[1064,6]]},"429":{"position":[[537,6]]}},"keywords":{}}],["dv",{"_index":2967,"title":{},"content":{"309":{"position":[[344,2],[446,2],[541,2],[641,2]]}},"keywords":{}}],["dxcore",{"_index":3595,"title":{},"content":{"357":{"position":[[4427,6]]}},"keywords":{}}],["dynam",{"_index":1223,"title":{},"content":{"50":{"position":[[94,11]]},"84":{"position":[[1169,11]]},"99":{"position":[[1790,11],[2423,11],[4951,11]]},"108":{"position":[[685,8]]},"184":{"position":[[181,11]]},"297":{"position":[[711,7]]},"476":{"position":[[637,11]]}},"keywords":{}}],["e",{"_index":1081,"title":{},"content":{"44":{"position":[[2078,1]]},"459":{"position":[[1209,2]]},"464":{"position":[[380,1]]}},"keywords":{}}],["e.g",{"_index":333,"title":{},"content":{"12":{"position":[[250,4],[447,4]]},"15":{"position":[[472,4]]},"16":{"position":[[474,4]]},"33":{"position":[[322,5]]},"36":{"position":[[382,4],[440,4],[9791,4],[10172,4]]},"52":{"position":[[282,4],[394,4],[601,4]]},"61":{"position":[[1550,4]]},"83":{"position":[[1717,5]]},"123":{"position":[[621,4]]},"198":{"position":[[371,4]]},"202":{"position":[[382,4],[440,4],[9791,4],[10172,4]]},"227":{"position":[[2856,4],[3865,4],[4193,5]]},"229":{"position":[[896,4]]},"247":{"position":[[285,4]]},"250":{"position":[[273,4]]},"253":{"position":[[4091,3],[4154,4]]},"257":{"position":[[513,5]]},"259":{"position":[[401,4]]},"262":{"position":[[736,4]]},"267":{"position":[[377,4],[435,4]]},"292":{"position":[[482,5]]},"373":{"position":[[354,4]]},"379":{"position":[[144,4]]},"380":{"position":[[138,4]]},"381":{"position":[[149,4]]},"383":{"position":[[354,4]]},"421":{"position":[[329,5]]},"425":{"position":[[505,5]]},"480":{"position":[[1086,6]]},"517":{"position":[[650,4]]},"628":{"position":[[333,4]]},"629":{"position":[[254,4]]},"630":{"position":[[230,4]]},"632":{"position":[[1172,4]]},"659":{"position":[[319,4]]}},"keywords":{}}],["each",{"_index":78,"title":{},"content":{"2":{"position":[[763,4]]},"5":{"position":[[1,4]]},"17":{"position":[[203,4]]},"18":{"position":[[207,4]]},"20":{"position":[[841,4]]},"33":{"position":[[328,4]]},"36":{"position":[[4532,4],[8524,4]]},"39":{"position":[[120,4]]},"44":{"position":[[1442,4]]},"46":{"position":[[1218,4]]},"49":{"position":[[790,4]]},"50":{"position":[[677,4]]},"52":{"position":[[869,4]]},"54":{"position":[[519,4]]},"56":{"position":[[148,4]]},"57":{"position":[[419,4]]},"59":{"position":[[145,4]]},"61":{"position":[[1446,4]]},"62":{"position":[[327,4]]},"63":{"position":[[471,4],[517,4]]},"67":{"position":[[1143,4]]},"69":{"position":[[861,4],[1978,4],[2471,4],[2843,4],[3199,4],[3890,4],[4492,4],[4813,4]]},"73":{"position":[[67,4]]},"74":{"position":[[70,4]]},"99":{"position":[[4458,4]]},"112":{"position":[[492,4]]},"168":{"position":[[223,4]]},"202":{"position":[[4532,4],[8524,4]]},"206":{"position":[[418,4],[467,4]]},"207":{"position":[[201,4],[250,4]]},"227":{"position":[[4988,4],[5095,4],[5430,4],[5558,4],[5910,4]]},"253":{"position":[[1280,4],[6339,4]]},"257":{"position":[[204,4]]},"271":{"position":[[411,4],[460,4]]},"272":{"position":[[203,4],[252,4]]},"280":{"position":[[120,4]]},"297":{"position":[[968,4]]},"303":{"position":[[2126,4]]},"304":{"position":[[4756,4]]},"305":{"position":[[1448,4],[1563,4]]},"308":{"position":[[515,4]]},"355":{"position":[[1127,4]]},"356":{"position":[[273,4]]},"357":{"position":[[2141,4]]},"400":{"position":[[83,4]]},"401":{"position":[[324,4]]},"402":{"position":[[324,4],[545,4]]},"403":{"position":[[257,4]]},"427":{"position":[[148,4]]},"462":{"position":[[478,4]]},"476":{"position":[[4319,4],[4935,4]]},"478":{"position":[[978,4]]},"483":{"position":[[549,4]]},"486":{"position":[[5,4]]},"488":{"position":[[61,4],[631,4]]},"497":{"position":[[128,4]]},"499":{"position":[[521,4]]},"501":{"position":[[225,4]]},"502":{"position":[[69,4]]},"512":{"position":[[252,4]]},"517":{"position":[[76,4]]},"523":{"position":[[247,4]]},"540":{"position":[[689,4]]},"577":{"position":[[675,4]]},"601":{"position":[[237,4],[656,4]]},"611":{"position":[[852,4]]},"662":{"position":[[141,4]]},"663":{"position":[[235,4]]},"670":{"position":[[308,4]]},"674":{"position":[[96,4]]},"676":{"position":[[393,4]]},"707":{"position":[[86,4]]},"715":{"position":[[88,4]]},"724":{"position":[[85,4]]}},"keywords":{}}],["ear",{"_index":3686,"title":{},"content":{"363":{"position":[[1131,4],[1256,3]]}},"keywords":{}}],["earlier",{"_index":4414,"title":{},"content":{"505":{"position":[[1228,7]]},"608":{"position":[[580,7]]}},"keywords":{}}],["eas",{"_index":2349,"title":{},"content":{"230":{"position":[[1662,4]]},"257":{"position":[[574,4]]}},"keywords":{}}],["easi",{"_index":125,"title":{},"content":{"3":{"position":[[622,5]]},"57":{"position":[[204,4]]},"69":{"position":[[31,4]]},"227":{"position":[[649,4]]},"240":{"position":[[623,4]]},"243":{"position":[[236,4],[316,4]]},"297":{"position":[[666,4]]},"303":{"position":[[28,4]]},"351":{"position":[[52,4],[254,4]]},"357":{"position":[[3629,4]]},"364":{"position":[[1669,4]]},"474":{"position":[[259,4]]},"486":{"position":[[96,4]]},"522":{"position":[[70,4]]}},"keywords":{}}],["easier",{"_index":90,"title":{},"content":{"3":{"position":[[110,7]]},"36":{"position":[[9141,6]]},"202":{"position":[[9141,6]]},"253":{"position":[[2575,6]]},"267":{"position":[[7262,6]]},"321":{"position":[[3848,6]]},"324":{"position":[[1556,6]]}},"keywords":{}}],["easiest",{"_index":2118,"title":{},"content":{"198":{"position":[[448,7]]},"259":{"position":[[479,7]]},"479":{"position":[[135,7]]}},"keywords":{}}],["easili",{"_index":2330,"title":{},"content":{"229":{"position":[[1008,6]]},"257":{"position":[[426,6]]},"297":{"position":[[1009,6]]},"324":{"position":[[1176,6]]},"482":{"position":[[1303,7]]},"496":{"position":[[161,6]]},"507":{"position":[[270,6]]}},"keywords":{}}],["ec13a8d16a2f",{"_index":1597,"title":{},"content":{"83":{"position":[[1393,12]]}},"keywords":{}}],["eccn",{"_index":3688,"title":{},"content":{"363":{"position":[[1264,4]]}},"keywords":{}}],["echo",{"_index":1110,"title":{},"content":{"44":{"position":[[3047,4],[3151,4]]},"324":{"position":[[2013,4],[2073,4]]}},"keywords":{}}],["econom",{"_index":4124,"title":{},"content":{"466":{"position":[[65,8]]}},"keywords":{}}],["edg",{"_index":4439,"title":{},"content":{"514":{"position":[[251,4]]}},"keywords":{}}],["edg/124.0.0.0",{"_index":1064,"title":{},"content":{"44":{"position":[[1227,14]]}},"keywords":{}}],["edict",{"_index":4140,"title":{},"content":{"467":{"position":[[1212,6]]}},"keywords":{}}],["edit",{"_index":852,"title":{"332":{"position":[[0,7]]},"558":{"position":[[0,7]]},"592":{"position":[[0,4]]}},"content":{"36":{"position":[[10694,8],[10790,9],[10915,5]]},"38":{"position":[[30,8]]},"44":{"position":[[1648,4]]},"122":{"position":[[259,8]]},"141":{"position":[[116,8]]},"180":{"position":[[100,8]]},"208":{"position":[[43,7]]},"225":{"position":[[40,7]]},"229":{"position":[[640,8],[704,6]]},"230":{"position":[[1176,6],[1294,6]]},"231":{"position":[[886,4]]},"253":{"position":[[873,4]]},"273":{"position":[[40,7]]},"282":{"position":[[42,7]]},"292":{"position":[[205,4],[419,4]]},"304":{"position":[[47,7],[1575,7]]},"307":{"position":[[772,4],[866,4],[968,4]]},"311":{"position":[[519,7],[541,4]]},"324":{"position":[[2321,4],[3243,4],[3351,4],[3402,4]]},"325":{"position":[[408,4],[433,4]]},"331":{"position":[[565,5]]},"332":{"position":[[604,4],[632,4]]},"333":{"position":[[43,4]]},"347":{"position":[[929,4],[2458,4]]},"356":{"position":[[66,8],[250,7]]},"357":{"position":[[166,7],[245,7],[3959,7]]},"362":{"position":[[166,7]]},"363":{"position":[[436,8],[531,7],[612,7],[660,7],[797,7],[866,7]]},"364":{"position":[[781,8],[797,9]]},"482":{"position":[[483,4]]},"517":{"position":[[157,7]]},"530":{"position":[[232,9]]},"533":{"position":[[525,4]]},"558":{"position":[[14,6],[84,6],[150,4],[173,4],[342,4]]},"581":{"position":[[142,4]]},"592":{"position":[[71,4],[348,5]]},"599":{"position":[[85,7],[567,7],[663,4],[685,7]]},"617":{"position":[[867,4]]}},"keywords":{}}],["editor",{"_index":1556,"title":{},"content":{"83":{"position":[[59,6]]},"133":{"position":[[296,6]]},"304":{"position":[[110,6],[1374,6]]},"321":{"position":[[223,6]]},"332":{"position":[[64,6]]},"482":{"position":[[148,7],[167,6]]},"581":{"position":[[32,7]]},"592":{"position":[[124,6]]},"603":{"position":[[26,6]]},"605":{"position":[[14,6]]},"607":{"position":[[156,6]]},"608":{"position":[[820,6]]}},"keywords":{}}],["educ",{"_index":3633,"title":{"360":{"position":[[15,9]]}},"content":{"360":{"position":[[89,9],[249,11],[346,11]]}},"keywords":{}}],["eea",{"_index":4120,"title":{"466":{"position":[[10,3]]}},"content":{},"keywords":{}}],["effect",{"_index":1693,"title":{},"content":{"85":{"position":[[1599,7]]},"122":{"position":[[210,11]]},"253":{"position":[[1895,12]]},"289":{"position":[[691,6]]},"360":{"position":[[20,6]]},"593":{"position":[[585,11]]},"601":{"position":[[886,11]]},"717":{"position":[[54,6]]},"718":{"position":[[63,6]]},"727":{"position":[[50,6]]},"728":{"position":[[60,6]]},"752":{"position":[[298,6]]}},"keywords":{}}],["effici",{"_index":1307,"title":{},"content":{"57":{"position":[[111,10]]},"245":{"position":[[302,11]]},"619":{"position":[[193,9]]}},"keywords":{}}],["effort",{"_index":2596,"title":{},"content":{"257":{"position":[[92,6]]}},"keywords":{}}],["eg",{"_index":426,"title":{},"content":{"20":{"position":[[543,4],[589,4],[652,4],[683,4]]}},"keywords":{}}],["ek",{"_index":3581,"title":{},"content":{"357":{"position":[[4206,4]]}},"keywords":{}}],["elaps",{"_index":5117,"title":{},"content":{"681":{"position":[[374,7],[429,7],[1496,7],[1511,7],[1703,7],[1720,7]]},"685":{"position":[[236,7],[271,7],[1030,7],[1103,7],[1207,7],[1280,7]]},"686":{"position":[[218,7],[253,7],[1081,7],[1168,7],[1286,7],[1373,7]]},"687":{"position":[[332,7],[367,7],[785,7]]},"688":{"position":[[168,7],[200,7],[791,7]]}},"keywords":{}}],["elasticsearch",{"_index":3372,"title":{},"content":{"350":{"position":[[292,13],[318,13],[622,13],[648,13],[943,13],[969,13],[1348,13]]},"351":{"position":[[17,13]]}},"keywords":{}}],["elasticsearch:1.12.0",{"_index":3402,"title":{},"content":{"351":{"position":[[508,20]]}},"keywords":{}}],["electron",{"_index":4144,"title":{},"content":{"468":{"position":[[192,10]]}},"keywords":{}}],["elegantli",{"_index":1346,"title":{},"content":{"60":{"position":[[534,9]]}},"keywords":{}}],["element",{"_index":3713,"title":{"455":{"position":[[10,8]]},"456":{"position":[[8,9]]},"457":{"position":[[12,9]]}},"content":{"366":{"position":[[47,7]]},"455":{"position":[[15,8]]},"456":{"position":[[15,8]]},"457":{"position":[[5,8],[94,8],[345,7]]}},"keywords":{}}],["elif",{"_index":1522,"title":{},"content":{"75":{"position":[[1220,4]]}},"keywords":{}}],["elimin",{"_index":839,"title":{},"content":{"36":{"position":[[9913,11]]},"202":{"position":[[9913,11]]},"357":{"position":[[3990,9]]}},"keywords":{}}],["ellips",{"_index":3851,"title":{},"content":{"411":{"position":[[751,7]]}},"keywords":{}}],["elsif",{"_index":1517,"title":{},"content":{"75":{"position":[[835,5]]}},"keywords":{}}],["email",{"_index":438,"title":{},"content":{"20":{"position":[[773,5]]},"229":{"position":[[771,7]]},"461":{"position":[[306,5],[522,5],[780,5],[892,6],[937,5],[996,5],[1203,5]]},"466":{"position":[[745,5],[861,7]]},"467":{"position":[[291,5]]},"470":{"position":[[345,6]]},"472":{"position":[[69,5]]}},"keywords":{}}],["email"",{"_index":1010,"title":{},"content":{"43":{"position":[[4636,12]]}},"keywords":{}}],["embed",{"_index":8,"title":{},"content":{"1":{"position":[[72,8]]},"2":{"position":[[260,8]]},"6":{"position":[[16,8]]},"253":{"position":[[7407,9]]},"297":{"position":[[158,8]]},"298":{"position":[[351,8],[1017,8]]}},"keywords":{}}],["emi",{"_index":2896,"title":{},"content":{"304":{"position":[[1274,4]]}},"keywords":{}}],["employ",{"_index":1313,"title":{},"content":{"57":{"position":[[274,7]]},"464":{"position":[[522,8]]}},"keywords":{}}],["employe",{"_index":4107,"title":{},"content":{"464":{"position":[[340,8]]}},"keywords":{}}],["empow",{"_index":3709,"title":{},"content":{"364":{"position":[[1628,7]]}},"keywords":{}}],["empti",{"_index":1295,"title":{},"content":{"56":{"position":[[309,5],[377,5]]},"63":{"position":[[1727,5]]},"69":{"position":[[1928,5],[2397,5]]},"71":{"position":[[244,5]]},"75":{"position":[[1472,5]]},"227":{"position":[[5281,5]]},"553":{"position":[[8,5]]},"623":{"position":[[427,5]]},"624":{"position":[[393,5]]}},"keywords":{}}],["en",{"_index":1047,"title":{},"content":{"44":{"position":[[861,2],[2391,2]]}},"keywords":{}}],["enabl",{"_index":724,"title":{},"content":{"36":{"position":[[3520,6]]},"40":{"position":[[849,6],[1178,6]]},"58":{"position":[[809,6],[836,6],[885,6],[912,6]]},"83":{"position":[[2053,7]]},"85":{"position":[[116,6]]},"95":{"position":[[183,8]]},"109":{"position":[[44,6]]},"202":{"position":[[3520,6]]},"223":{"position":[[101,7]]},"233":{"position":[[1342,7]]},"247":{"position":[[55,7]]},"254":{"position":[[2769,6]]},"267":{"position":[[2586,6],[8770,7],[8889,8],[10272,7],[10327,7]]},"273":{"position":[[520,7]]},"282":{"position":[[594,7]]},"283":{"position":[[92,7],[189,7],[267,6],[488,7],[599,6],[676,6],[707,8]]},"321":{"position":[[979,8],[1030,6]]},"322":{"position":[[1838,6]]},"324":{"position":[[2452,6]]},"347":{"position":[[1290,6]]},"351":{"position":[[102,8]]},"433":{"position":[[74,6]]},"434":{"position":[[169,6]]},"480":{"position":[[1449,6],[1729,6]]},"513":{"position":[[671,7]]},"540":{"position":[[153,7],[189,7],[235,8],[303,7],[720,7]]},"610":{"position":[[850,6]]},"611":{"position":[[590,6]]},"613":{"position":[[10,6]]},"690":{"position":[[79,7],[510,7],[614,7]]},"691":{"position":[[1,7]]},"693":{"position":[[1,7]]},"700":{"position":[[1811,7],[1855,7]]}},"keywords":{}}],["enable_cmd_nam",{"_index":4235,"title":{},"content":{"480":{"position":[[1425,18],[1706,17]]}},"keywords":{}}],["enable_limit",{"_index":5154,"title":{"691":{"position":[[0,14]]}},"content":{},"keywords":{}}],["enable_limits("<target",{"_index":5155,"title":{},"content":{"691":{"position":[[85,30]]}},"keywords":{}}],["enable_limits("inst",{"_index":5156,"title":{},"content":{"691":{"position":[[374,24]]}},"keywords":{}}],["enable_limits_group",{"_index":5160,"title":{"693":{"position":[[0,20]]}},"content":{},"keywords":{}}],["enable_limits_group("<limit",{"_index":5161,"title":{},"content":{"693":{"position":[[108,36]]}},"keywords":{}}],["enable_limits_group("name"",{"_index":2703,"title":{},"content":{"283":{"position":[[291,37]]}},"keywords":{}}],["enable_limits_group("safe_mode"",{"_index":5163,"title":{},"content":{"693":{"position":[[259,42]]}},"keywords":{}}],["enable_tlm",{"_index":4231,"title":{},"content":{"480":{"position":[[1371,11],[1492,13],[1650,11],[1773,12]]}},"keywords":{}}],["encapsul",{"_index":3771,"title":{},"content":{"385":{"position":[[132,12]]},"386":{"position":[[23,12]]},"387":{"position":[[23,12]]},"388":{"position":[[23,12]]},"389":{"position":[[23,12]]}},"keywords":{}}],["enclos",{"_index":178,"title":{},"content":{"5":{"position":[[1014,8],[1270,8]]},"35":{"position":[[1198,8],[1729,8]]},"37":{"position":[[991,8],[1522,8]]},"199":{"position":[[484,8]]},"201":{"position":[[1227,8],[1758,8]]},"203":{"position":[[1010,8],[1541,8]]},"204":{"position":[[1371,8],[1902,8]]},"205":{"position":[[1207,8],[1738,8]]},"206":{"position":[[774,8]]},"207":{"position":[[557,8]]},"214":{"position":[[243,8]]},"216":{"position":[[325,8]]},"264":{"position":[[510,8]]},"266":{"position":[[842,8]]},"268":{"position":[[634,8]]},"269":{"position":[[936,8]]},"270":{"position":[[605,8]]},"271":{"position":[[767,8]]},"272":{"position":[[559,8]]},"438":{"position":[[72,8]]}},"keywords":{}}],["encod",{"_index":1022,"title":{},"content":{"43":{"position":[[6592,9]]},"57":{"position":[[75,8]]},"99":{"position":[[3722,7],[4637,8]]},"216":{"position":[[240,8]]},"227":{"position":[[6178,7]]},"421":{"position":[[230,9]]}},"keywords":{}}],["encount",{"_index":2124,"title":{},"content":{"198":{"position":[[1140,10]]},"259":{"position":[[1156,10]]},"299":{"position":[[1225,12]]},"368":{"position":[[63,11]]},"607":{"position":[[365,11]]},"612":{"position":[[145,12],[354,12],[436,12],[586,11],[728,12],[790,10]]},"617":{"position":[[635,11]]}},"keywords":{}}],["encourag",{"_index":4146,"title":{},"content":{"469":{"position":[[324,9]]}},"keywords":{}}],["encrypt",{"_index":524,"title":{"24":{"position":[[6,8]]}},"content":{"27":{"position":[[1005,9]]},"28":{"position":[[215,9]]}},"keywords":{}}],["encrypted.key",{"_index":597,"title":{},"content":{"28":{"position":[[173,14]]}},"keywords":{}}],["end",{"_index":217,"title":{"370":{"position":[[0,4]]}},"content":{"6":{"position":[[448,3]]},"35":{"position":[[270,3],[488,3]]},"36":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"37":{"position":[[281,3]]},"54":{"position":[[512,3]]},"56":{"position":[[573,3]]},"58":{"position":[[144,3],[157,3],[297,3],[519,3],[956,3],[991,3],[1054,3],[1083,3]]},"62":{"position":[[86,3],[659,3]]},"63":{"position":[[1484,3]]},"67":{"position":[[537,3]]},"69":{"position":[[402,3]]},"71":{"position":[[390,3]]},"72":{"position":[[286,3]]},"73":{"position":[[165,3]]},"74":{"position":[[174,3]]},"75":{"position":[[831,3],[910,3],[914,3],[923,3]]},"76":{"position":[[851,3]]},"77":{"position":[[713,3]]},"78":{"position":[[704,3]]},"79":{"position":[[1014,3]]},"80":{"position":[[316,3]]},"94":{"position":[[436,4]]},"114":{"position":[[120,3]]},"192":{"position":[[169,3]]},"201":{"position":[[298,3],[517,3]]},"202":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"203":{"position":[[300,3]]},"204":{"position":[[521,3],[687,3]]},"205":{"position":[[523,3]]},"206":{"position":[[315,3],[688,3]]},"207":{"position":[[471,3]]},"224":{"position":[[824,3],[901,3],[1018,3],[1022,3]]},"226":{"position":[[2502,3]]},"227":{"position":[[5383,3]]},"262":{"position":[[669,4]]},"266":{"position":[[297,3],[515,3]]},"267":{"position":[[4138,3],[4201,3],[4205,3],[4209,3]]},"268":{"position":[[307,3]]},"269":{"position":[[467,3],[638,3]]},"270":{"position":[[307,3]]},"271":{"position":[[314,3],[681,3]]},"272":{"position":[[473,3]]},"370":{"position":[[172,3],[218,5]]},"381":{"position":[[413,3],[476,3]]},"383":{"position":[[985,3]]},"386":{"position":[[418,3]]},"387":{"position":[[397,3]]},"388":{"position":[[268,3]]},"389":{"position":[[360,3]]},"390":{"position":[[410,3]]},"391":{"position":[[539,3],[543,3]]},"393":{"position":[[226,3],[300,3],[304,3]]},"399":{"position":[[265,3]]},"410":{"position":[[330,4],[470,4]]},"417":{"position":[[299,4],[439,4]]},"423":{"position":[[309,4],[449,4]]},"434":{"position":[[432,3]]},"439":{"position":[[456,3]]},"440":{"position":[[721,3]]},"441":{"position":[[600,3]]},"442":{"position":[[1156,3]]},"443":{"position":[[205,3],[238,3],[273,3],[306,3],[533,3]]},"444":{"position":[[413,3],[446,3],[481,3],[514,3],[1064,3]]},"445":{"position":[[257,3]]},"446":{"position":[[382,3],[479,3],[653,3],[850,3],[1157,3],[1191,3]]},"476":{"position":[[359,3],[2229,3],[2619,3]]},"480":{"position":[[717,3],[1596,3]]},"483":{"position":[[683,3]]},"486":{"position":[[418,3],[529,3]]},"487":{"position":[[837,3],[914,3],[970,3],[974,3],[1014,3]]},"488":{"position":[[2363,3],[2367,3]]},"493":{"position":[[469,5]]},"495":{"position":[[583,3],[713,3]]},"496":{"position":[[677,3],[756,3]]},"497":{"position":[[568,3],[572,3]]},"499":{"position":[[776,3]]},"500":{"position":[[491,3]]},"502":{"position":[[867,3]]},"508":{"position":[[564,3],[568,3],[648,3],[652,3]]},"525":{"position":[[568,3]]},"526":{"position":[[32,3]]},"527":{"position":[[59,3]]},"547":{"position":[[190,3]]},"555":{"position":[[116,3],[239,3]]},"585":{"position":[[867,3],[939,3],[1061,3]]},"586":{"position":[[897,3]]},"599":{"position":[[889,3],[902,3],[974,3],[985,3]]},"607":{"position":[[668,3]]},"610":{"position":[[458,3],[501,3],[544,3],[548,3]]},"611":{"position":[[205,3],[248,3],[297,3],[301,3]]},"612":{"position":[[566,3]]},"618":{"position":[[1229,3]]},"627":{"position":[[891,3]]},"632":{"position":[[1702,3]]},"676":{"position":[[662,3],[908,3]]},"707":{"position":[[338,3]]},"715":{"position":[[828,3]]},"724":{"position":[[814,3]]},"745":{"position":[[597,3],[601,3],[869,3],[873,3]]},"746":{"position":[[1059,3],[1063,3],[1342,3],[1346,3]]},"752":{"position":[[611,3],[615,3]]},"754":{"position":[[1175,3],[1179,3],[1259,3],[1305,3],[1350,3],[1354,3],[1547,3],[1551,3]]}},"keywords":{}}],["end_char",{"_index":1329,"title":{},"content":{"58":{"position":[[776,8]]}},"keywords":{}}],["end_tim",{"_index":2275,"title":{},"content":{"227":{"position":[[2755,9],[3762,9],[4256,8],[4544,8],[4614,8],[4751,8]]}},"keywords":{}}],["endian",{"_index":172,"title":{"329":{"position":[[7,6]]}},"content":{"5":{"position":[[814,10],[884,6],[901,6],[1116,10]]},"33":{"position":[[137,10],[194,6],[211,6]]},"35":{"position":[[1225,10],[1295,6],[1312,6],[1347,6],[1756,10],[1826,6],[1843,6]]},"37":{"position":[[1018,10],[1088,6],[1105,6],[1140,6],[1549,10],[1619,6],[1636,6]]},"61":{"position":[[1611,10],[1626,10]]},"67":{"position":[[617,10],[628,10]]},"99":{"position":[[105,6]]},"199":{"position":[[284,10],[354,6],[371,6]]},"201":{"position":[[1254,10],[1324,6],[1341,6],[1376,6],[1785,10],[1855,6],[1872,6]]},"203":{"position":[[1037,10],[1107,6],[1124,6],[1159,6],[1568,10],[1638,6],[1655,6]]},"204":{"position":[[1398,10],[1468,6],[1485,6],[1520,6],[1929,10],[1999,6],[2016,6]]},"205":{"position":[[1234,10],[1304,6],[1321,6],[1356,6],[1765,10],[1835,6],[1852,6]]},"206":{"position":[[801,10],[855,6],[872,6]]},"207":{"position":[[584,10],[638,6],[655,6]]},"264":{"position":[[313,10],[371,6],[388,6]]},"266":{"position":[[869,10],[930,6],[947,6],[982,6]]},"268":{"position":[[661,10],[722,6],[739,6],[774,6]]},"269":{"position":[[963,10],[1024,6],[1041,6],[1076,6]]},"270":{"position":[[632,10],[693,6],[710,6],[745,6]]},"271":{"position":[[794,10],[848,6],[865,6]]},"272":{"position":[[586,10],[640,6],[657,6]]},"329":{"position":[[7,6],[40,6],[154,6]]},"646":{"position":[[879,13]]},"648":{"position":[[921,13]]},"649":{"position":[[1396,13]]}},"keywords":{}}],["endpoint",{"_index":1712,"title":{},"content":{"89":{"position":[[211,9]]},"240":{"position":[[1047,9],[1140,9],[1518,9]]}},"keywords":{}}],["enforc",{"_index":3680,"title":{"471":{"position":[[4,11]]}},"content":{"363":{"position":[[628,9],[679,8]]},"465":{"position":[[545,7]]}},"keywords":{}}],["engin",{"_index":2755,"title":{},"content":{"289":{"position":[[106,6]]},"364":{"position":[[1501,10]]}},"keywords":{}}],["enhanc",{"_index":1822,"title":{},"content":{"99":{"position":[[4590,8]]},"395":{"position":[[34,7]]}},"keywords":{}}],["enough",{"_index":1353,"title":{},"content":{"61":{"position":[[125,6]]},"364":{"position":[[1674,6]]},"504":{"position":[[255,6]]}},"keywords":{}}],["enquir",{"_index":2588,"title":{},"content":{"254":{"position":[[2911,7]]}},"keywords":{}}],["ensur",{"_index":570,"title":{},"content":{"27":{"position":[[15,6]]},"73":{"position":[[321,6]]},"74":{"position":[[336,6]]},"146":{"position":[[48,6]]},"153":{"position":[[57,6]]},"257":{"position":[[1652,6]]},"292":{"position":[[578,6]]},"298":{"position":[[1361,7]]},"305":{"position":[[449,6]]},"331":{"position":[[539,7]]},"459":{"position":[[1062,6],[1781,7]]},"463":{"position":[[78,6]]},"464":{"position":[[71,8]]},"474":{"position":[[215,6]]},"480":{"position":[[606,7]]},"495":{"position":[[356,6]]},"504":{"position":[[736,6]]},"512":{"position":[[83,6]]},"528":{"position":[[911,6]]},"674":{"position":[[84,6]]}},"keywords":{}}],["enter",{"_index":749,"title":{},"content":{"36":{"position":[[4375,7],[6218,7],[6849,7],[7913,7]]},"121":{"position":[[127,5]]},"202":{"position":[[4375,7],[6218,7],[6849,7],[7913,7]]},"303":{"position":[[1065,7],[1125,5],[1418,5],[1574,5],[1745,5]]},"347":{"position":[[2102,5]]},"435":{"position":[[47,5]]},"490":{"position":[[375,7],[420,5]]},"495":{"position":[[558,8],[859,8],[1406,5]]},"496":{"position":[[631,5],[828,5]]},"530":{"position":[[305,6]]},"533":{"position":[[588,5],[683,7],[724,5]]},"544":{"position":[[297,8]]},"552":{"position":[[562,5]]},"563":{"position":[[500,5]]},"577":{"position":[[1331,5]]},"589":{"position":[[499,5]]},"598":{"position":[[518,5]]},"622":{"position":[[33,5]]},"623":{"position":[[151,6]]},"624":{"position":[[112,6]]}},"keywords":{}}],["enterpris",{"_index":946,"title":{"43":{"position":[[32,11]]},"509":{"position":[[10,12]]},"521":{"position":[[9,12]]},"545":{"position":[[16,12]]}},"content":{"43":{"position":[[15,10]]},"107":{"position":[[141,12],[193,11]]},"108":{"position":[[186,12],[228,12]]},"122":{"position":[[248,10]]},"141":{"position":[[105,10]]},"180":{"position":[[89,10]]},"229":{"position":[[629,10]]},"240":{"position":[[1552,10],[1621,10],[1713,10],[1791,10]]},"243":{"position":[[280,10],[385,10]]},"249":{"position":[[479,10]]},"250":{"position":[[171,10]]},"290":{"position":[[163,10]]},"356":{"position":[[239,10]]},"357":{"position":[[155,10],[234,10],[1135,10],[1208,10],[1291,10],[1365,10],[1441,10],[1531,10],[1604,10],[1685,10],[1756,10],[1827,10],[2626,10],[2697,10],[2782,10],[2856,10],[2931,10],[3021,10],[3094,10],[3176,10],[3247,10],[3318,10],[3948,10]]},"361":{"position":[[665,10]]},"362":{"position":[[120,10],[155,10],[305,10],[397,10]]},"363":{"position":[[425,10],[520,10],[601,10],[649,10],[786,10],[855,10]]},"364":{"position":[[770,10]]},"518":{"position":[[131,10]]},"520":{"position":[[72,10]]},"540":{"position":[[110,11]]}},"keywords":{}}],["entir",{"_index":39,"title":{},"content":{"2":{"position":[[191,6]]},"64":{"position":[[144,6]]},"170":{"position":[[73,6]]},"183":{"position":[[73,6]]},"193":{"position":[[73,6]]},"196":{"position":[[73,6]]},"227":{"position":[[2319,6]]},"280":{"position":[[199,6]]},"298":{"position":[[282,6]]},"308":{"position":[[296,6],[329,6],[385,6]]},"334":{"position":[[47,6],[397,6]]},"482":{"position":[[1246,6]]},"488":{"position":[[2712,6]]},"502":{"position":[[317,6]]},"517":{"position":[[678,6]]},"550":{"position":[[108,6]]},"575":{"position":[[242,6]]},"577":{"position":[[341,6]]},"578":{"position":[[747,6]]},"600":{"position":[[385,6]]},"603":{"position":[[340,6]]},"612":{"position":[[706,6],[814,6],[1340,6]]},"745":{"position":[[416,6]]},"746":{"position":[[472,6]]}},"keywords":{}}],["entitl",{"_index":4099,"title":{},"content":{"463":{"position":[[9,8]]}},"keywords":{}}],["entri",{"_index":1781,"title":{"99":{"position":[[0,5]]}},"content":{"99":{"position":[[35,5],[83,5],[133,5],[194,8],[282,5],[333,5],[363,5],[397,5],[1122,5],[1163,5],[1179,5],[1381,6],[1573,6],[2069,8],[2914,7],[2983,8],[3340,7],[3409,8],[3833,8],[3900,8],[3925,5],[3991,6],[4013,6],[4109,5],[4329,6],[4349,5]]},"227":{"position":[[5131,9]]},"235":{"position":[[841,5]]},"253":{"position":[[7725,5]]},"525":{"position":[[516,7]]},"623":{"position":[[569,5]]},"624":{"position":[[535,5]]},"662":{"position":[[146,5]]}},"keywords":{}}],["entrypoint",{"_index":496,"title":{},"content":{"22":{"position":[[331,12],[402,11]]},"318":{"position":[[680,10]]}},"keywords":{}}],["entrypoint.s…"",{"_index":1647,"title":{},"content":{"83":{"position":[[2985,19]]}},"keywords":{}}],["ent…"",{"_index":1642,"title":{},"content":{"83":{"position":[[2884,10]]}},"keywords":{}}],["enumer",{"_index":4026,"title":{},"content":{"454":{"position":[[17,11]]}},"keywords":{}}],["env",{"_index":1614,"title":{"137":{"position":[[0,4]]},"173":{"position":[[0,4]]}},"content":{"83":{"position":[[1831,4]]},"85":{"position":[[1005,4],[1090,8]]},"136":{"position":[[177,3],[190,3],[597,3]]},"137":{"position":[[188,3]]},"173":{"position":[[208,3]]},"181":{"position":[[137,3],[150,3],[497,3]]},"237":{"position":[[328,4]]},"242":{"position":[[119,4]]},"256":{"position":[[353,4]]},"292":{"position":[[428,4]]},"318":{"position":[[87,3],[136,3],[188,3]]},"333":{"position":[[52,4]]},"429":{"position":[[1953,3],[2226,3]]}},"keywords":{}}],["env)"",{"_index":3932,"title":{},"content":{"429":{"position":[[2349,10]]}},"keywords":{}}],["env['tbl_filenam",{"_index":4525,"title":{},"content":{"585":{"position":[[71,19]]},"586":{"position":[[73,19]]}},"keywords":{}}],["env['typ",{"_index":3928,"title":{},"content":{"429":{"position":[[2204,11],[2236,11]]}},"keywords":{}}],["env_usernam",{"_index":1992,"title":{},"content":{"136":{"position":[[610,12]]},"181":{"position":[[510,12]]}},"keywords":{}}],["environ",{"_index":1606,"title":{"242":{"position":[[0,11]]}},"content":{"83":{"position":[[1652,11],[1760,11]]},"85":{"position":[[976,11]]},"118":{"position":[[79,12]]},"122":{"position":[[78,11]]},"131":{"position":[[185,11]]},"136":{"position":[[224,11],[339,11],[373,11]]},"137":{"position":[[24,11],[102,11],[139,11]]},"173":{"position":[[9,11],[86,11],[123,11]]},"181":{"position":[[184,11],[299,11],[333,11]]},"240":{"position":[[173,11],[253,11],[381,11],[591,12],[670,13]]},"241":{"position":[[377,11]]},"242":{"position":[[16,11],[67,11]]},"243":{"position":[[363,13],[477,13]]},"250":{"position":[[202,11]]},"253":{"position":[[1370,11]]},"267":{"position":[[8282,13],[8370,11]]},"290":{"position":[[246,11],[676,12]]},"291":{"position":[[309,11],[1185,11],[1321,11],[1363,11]]},"337":{"position":[[140,11],[199,11]]},"429":{"position":[[1477,11],[2155,11]]},"448":{"position":[[256,11]]},"482":{"position":[[123,11],[276,11],[622,11],[1407,11]]},"492":{"position":[[81,11],[497,13]]},"606":{"position":[[44,11]]},"617":{"position":[[66,11]]}},"keywords":{}}],["environment",{"_index":4450,"title":{},"content":{"525":{"position":[[188,13]]}},"keywords":{}}],["environment'",{"_index":2793,"title":{},"content":{"290":{"position":[[728,13]]}},"keywords":{}}],["ephemer",{"_index":2440,"title":{},"content":{"240":{"position":[[1231,9]]},"249":{"position":[[294,9],[311,9]]},"357":{"position":[[1636,9],[1956,9],[3126,9],[3446,9]]}},"keywords":{}}],["epoch",{"_index":1814,"title":{},"content":{"99":{"position":[[2814,5],[3248,5]]},"227":{"position":[[4341,5]]},"263":{"position":[[1195,6]]},"285":{"position":[[756,5],[1185,5],[1450,5]]},"761":{"position":[[191,5]]}},"keywords":{}}],["equal",{"_index":1360,"title":{},"content":{"61":{"position":[[1096,5]]},"267":{"position":[[8965,5],[9083,5],[9245,5],[9403,5],[9742,5],[10126,5]]},"490":{"position":[[648,7]]},"528":{"position":[[1065,5]]},"682":{"position":[[95,6]]},"686":{"position":[[89,6]]}},"keywords":{}}],["equat",{"_index":4432,"title":{},"content":{"513":{"position":[[111,8]]}},"keywords":{}}],["equip",{"_index":12,"title":{},"content":{"1":{"position":[[130,9]]},"114":{"position":[[158,9]]},"298":{"position":[[937,9]]}},"keywords":{}}],["equival",{"_index":4596,"title":{},"content":{"610":{"position":[[554,10]]},"660":{"position":[[880,10],[1308,10]]}},"keywords":{}}],["eras",{"_index":3313,"title":{},"content":{"347":{"position":[[600,5]]},"459":{"position":[[1173,6]]},"466":{"position":[[131,5]]}},"keywords":{}}],["erb",{"_index":190,"title":{"6":{"position":[[0,4]]}},"content":{"6":{"position":[[1,3],[31,3],[169,4],[1107,3]]},"7":{"position":[[38,3]]},"11":{"position":[[254,3]]},"39":{"position":[[176,3]]},"121":{"position":[[550,3],[649,3]]},"170":{"position":[[25,3],[50,3],[227,3]]},"183":{"position":[[25,3],[50,3],[233,3]]},"193":{"position":[[25,3],[50,3],[225,3]]},"196":{"position":[[25,3],[50,3],[227,3]]},"253":{"position":[[7403,3]]}},"keywords":{}}],["error",{"_index":183,"title":{"29":{"position":[[27,7]]}},"content":{"5":{"position":[[1217,5]]},"24":{"position":[[660,5]]},"36":{"position":[[3018,6],[9721,5],[10380,6]]},"46":{"position":[[549,8]]},"63":{"position":[[2768,6]]},"66":{"position":[[408,6]]},"67":{"position":[[338,6],[366,5],[387,6]]},"93":{"position":[[251,7],[449,7]]},"202":{"position":[[3018,6],[9721,5],[10380,6]]},"211":{"position":[[155,5]]},"219":{"position":[[57,5],[157,5],[221,5]]},"267":{"position":[[2227,6],[2661,5],[2699,5]]},"292":{"position":[[532,5],[643,6],[760,5]]},"299":{"position":[[1218,6]]},"304":{"position":[[2610,6],[3142,6],[5826,5],[5880,5],[5991,6],[6047,5],[6148,6],[6195,5],[6435,6],[6487,5]]},"321":{"position":[[3367,5]]},"322":{"position":[[1599,6]]},"332":{"position":[[287,6]]},"492":{"position":[[739,6],[772,6]]},"493":{"position":[[282,6]]},"501":{"position":[[141,5],[671,6],[949,6]]},"505":{"position":[[1016,6]]},"528":{"position":[[1602,5],[1687,5]]},"607":{"position":[[356,5],[651,5]]},"612":{"position":[[104,6],[136,5],[283,6],[370,6],[393,6],[427,5],[598,5],[688,6],[744,6],[804,5],[872,5],[1423,6],[1473,6],[1502,5]]},"617":{"position":[[547,6],[626,5],[699,7],[1270,6]]},"649":{"position":[[1454,8]]},"656":{"position":[[146,6]]},"657":{"position":[[144,6]]},"658":{"position":[[97,6]]},"752":{"position":[[326,6],[421,5]]}},"keywords":{}}],["error_allow_hex",{"_index":844,"title":{},"content":{"36":{"position":[[10098,17],[10387,16]]},"202":{"position":[[10098,17],[10387,16]]}},"keywords":{}}],["error_respons",{"_index":2173,"title":{"219":{"position":[[0,15]]}},"content":{},"keywords":{}}],["errors.push",{"_index":4017,"title":{},"content":{"449":{"position":[[429,11]]}},"keywords":{}}],["esc",{"_index":1319,"title":{},"content":{"58":{"position":[[152,4],[173,3],[335,3],[399,3],[438,3],[1013,3],[1112,3],[1141,3]]}},"keywords":{}}],["escap",{"_index":1330,"title":{},"content":{"58":{"position":[[816,8],[853,8],[892,8],[929,8],[1022,6],[1047,6],[1076,6],[1105,6],[1134,6]]}},"keywords":{}}],["eslint",{"_index":1561,"title":{},"content":{"83":{"position":[[182,7]]}},"keywords":{}}],["especi",{"_index":1366,"title":{},"content":{"61":{"position":[[2631,10]]},"83":{"position":[[796,10]]},"309":{"position":[[117,10]]},"514":{"position":[[1171,10]]},"752":{"position":[[98,10]]}},"keywords":{}}],["essenti",{"_index":851,"title":{},"content":{"36":{"position":[[10671,9]]},"69":{"position":[[3258,11]]},"318":{"position":[[318,9]]},"364":{"position":[[619,9]]}},"keywords":{}}],["establish",{"_index":2479,"title":{},"content":{"247":{"position":[[129,11]]},"548":{"position":[[338,11]]}},"keywords":{}}],["etag",{"_index":927,"title":{},"content":{"42":{"position":[[669,5]]},"43":{"position":[[6410,5]]}},"keywords":{}}],["etc",{"_index":20,"title":{},"content":{"1":{"position":[[208,5],[273,5]]},"61":{"position":[[1219,5]]},"69":{"position":[[1192,4],[1466,4]]},"84":{"position":[[215,4]]},"99":{"position":[[1983,4],[2645,4],[5144,4]]},"108":{"position":[[114,4],[409,4]]},"229":{"position":[[789,4]]},"304":{"position":[[1106,4]]},"311":{"position":[[481,3]]},"359":{"position":[[396,5]]},"379":{"position":[[165,4]]},"380":{"position":[[159,4]]},"381":{"position":[[170,4]]},"382":{"position":[[112,3]]},"421":{"position":[[345,4]]},"480":{"position":[[713,3],[794,3],[1194,4]]},"482":{"position":[[1389,4]]},"499":{"position":[[132,3]]},"525":{"position":[[229,4]]},"528":{"position":[[840,6]]},"659":{"position":[[331,4]]},"709":{"position":[[104,5]]},"723":{"position":[[97,5]]}},"keywords":{}}],["etc/cert",{"_index":481,"title":{},"content":{"21":{"position":[[223,11]]}},"keywords":{}}],["etc/contain",{"_index":3175,"title":{},"content":{"324":{"position":[[2258,17]]}},"keywords":{}}],["etc/containers/containers.conf",{"_index":3177,"title":{},"content":{"324":{"position":[[2284,31]]}},"keywords":{}}],["etc/containers/registries.conf",{"_index":3188,"title":{},"content":{"324":{"position":[[3051,31],[3135,31]]}},"keywords":{}}],["etc/containers/storage.conf",{"_index":3152,"title":{},"content":{"324":{"position":[[1223,28]]}},"keywords":{}}],["etc/grafana/provisioning/datasourc",{"_index":3437,"title":{},"content":{"353":{"position":[[457,38]]}},"keywords":{}}],["etc/host",{"_index":2563,"title":{},"content":{"253":{"position":[[7714,10]]}},"keywords":{}}],["etc/prometheu",{"_index":3429,"title":{},"content":{"352":{"position":[[1239,16]]}},"keywords":{}}],["etc/traefik/traefik.yaml",{"_index":478,"title":{},"content":{"21":{"position":[[169,25]]}},"keywords":{}}],["ethernet",{"_index":1918,"title":{},"content":{"115":{"position":[[89,8]]}},"keywords":{}}],["eu",{"_index":4119,"title":{"466":{"position":[[3,2]]}},"content":{},"keywords":{}}],["european",{"_index":4122,"title":{},"content":{"466":{"position":[[38,8],[56,8]]}},"keywords":{}}],["evalu",{"_index":3632,"title":{"360":{"position":[[0,10]]}},"content":{"360":{"position":[[74,10],[234,10],[331,10]]},"429":{"position":[[696,9]]},"491":{"position":[[193,8]]},"501":{"position":[[351,9],[545,9]]},"511":{"position":[[135,8]]},"512":{"position":[[139,9]]},"513":{"position":[[42,9],[123,9]]},"514":{"position":[[35,9]]},"528":{"position":[[317,8]]},"658":{"position":[[1,9],[44,9],[375,9],[590,9],[841,9],[1028,9]]},"681":{"position":[[1225,9]]},"682":{"position":[[992,9]]},"683":{"position":[[42,9],[608,9],[778,9]]},"684":{"position":[[659,9]]},"685":{"position":[[837,9]]},"686":{"position":[[888,9]]},"687":{"position":[[42,9],[536,9],[703,9]]},"688":{"position":[[631,9]]}},"keywords":{}}],["evaluation_interv",{"_index":3411,"title":{},"content":{"352":{"position":[[411,20]]}},"keywords":{}}],["even",{"_index":1251,"title":{},"content":{"52":{"position":[[548,7],[1212,4]]},"61":{"position":[[379,4]]},"253":{"position":[[5767,5]]},"338":{"position":[[605,4]]},"364":{"position":[[762,4]]},"476":{"position":[[4777,4]]},"632":{"position":[[1614,5],[2010,5]]},"671":{"position":[[114,4]]}},"keywords":{}}],["event",{"_index":2370,"title":{"524":{"position":[[9,7]]}},"content":{"231":{"position":[[1053,6]]},"351":{"position":[[64,5]]},"360":{"position":[[909,5]]},"467":{"position":[[751,5]]},"513":{"position":[[742,6]]},"526":{"position":[[89,5]]},"527":{"position":[[466,6],[600,7]]},"528":{"position":[[1271,5]]},"544":{"position":[[140,6],[188,6],[221,6]]},"575":{"position":[[333,6]]},"579":{"position":[[34,7],[42,6]]},"703":{"position":[[16,6],[335,6],[393,6],[1349,5],[1362,6]]}},"keywords":{}}],["eventu",{"_index":1466,"title":{},"content":{"69":{"position":[[2907,10]]},"289":{"position":[[1055,10]]},"621":{"position":[[109,11]]}},"keywords":{}}],["everyon",{"_index":3625,"title":{},"content":{"359":{"position":[[1986,9]]},"364":{"position":[[1695,9]]}},"keywords":{}}],["everyth",{"_index":493,"title":{},"content":{"22":{"position":[[284,10]]},"46":{"position":[[1044,10]]},"240":{"position":[[444,10]]},"324":{"position":[[3898,10]]},"334":{"position":[[1160,10]]},"347":{"position":[[1513,10]]},"364":{"position":[[449,10],[827,10],[1266,11]]},"449":{"position":[[314,10]]},"513":{"position":[[761,10]]},"573":{"position":[[97,10]]},"608":{"position":[[403,10]]},"658":{"position":[[321,10]]}},"keywords":{}}],["evolv",{"_index":3698,"title":{},"content":{"364":{"position":[[330,7]]}},"keywords":{}}],["exact",{"_index":377,"title":{},"content":{"17":{"position":[[156,5]]},"18":{"position":[[160,5]]},"61":{"position":[[1106,5]]},"95":{"position":[[224,5]]},"171":{"position":[[239,5]]},"184":{"position":[[312,5]]},"260":{"position":[[361,5]]},"331":{"position":[[637,5]]},"480":{"position":[[289,5]]},"493":{"position":[[303,5]]},"501":{"position":[[284,5]]}},"keywords":{}}],["exactli",{"_index":2,"title":{"1":{"position":[[19,9]]}},"content":{"133":{"position":[[46,7]]},"329":{"position":[[580,7]]},"429":{"position":[[865,7]]},"618":{"position":[[177,7]]}},"keywords":{}}],["exampl",{"_index":144,"title":{"40":{"position":[[0,7]]},"42":{"position":[[5,7]]},"43":{"position":[[5,7]]},"44":{"position":[[13,8]]},"81":{"position":[[0,9]]},"92":{"position":[[0,7]]},"226":{"position":[[0,7]]},"285":{"position":[[0,7]]},"340":{"position":[[0,7]]},"446":{"position":[[0,7]]},"478":{"position":[[21,8]]}},"content":{"5":{"position":[[96,8],[492,8],[1409,7],[1450,7]]},"7":{"position":[[128,8],[629,8],[1256,8]]},"8":{"position":[[142,8]]},"9":{"position":[[156,8],[505,8]]},"11":{"position":[[361,7]]},"12":{"position":[[571,7]]},"13":{"position":[[138,8],[479,7]]},"14":{"position":[[134,8],[370,7]]},"15":{"position":[[504,7]]},"16":{"position":[[506,7]]},"36":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6642,7],[7438,7],[9187,8],[9376,8],[10429,7]]},"40":{"position":[[1,7]]},"44":{"position":[[420,7],[665,7]]},"49":{"position":[[838,9],[1695,9]]},"50":{"position":[[725,9],[1435,9]]},"51":{"position":[[881,8],[1006,8]]},"52":{"position":[[917,9]]},"60":{"position":[[367,8]]},"61":{"position":[[225,8],[1229,8],[2740,8]]},"62":{"position":[[224,8]]},"63":{"position":[[1243,7]]},"66":{"position":[[125,10]]},"81":{"position":[[66,8]]},"83":{"position":[[1842,7]]},"84":{"position":[[1152,9]]},"90":{"position":[[430,7]]},"93":{"position":[[1653,7]]},"94":{"position":[[1105,7]]},"125":{"position":[[127,8],[253,8]]},"126":{"position":[[169,8],[347,8]]},"127":{"position":[[172,8],[353,8]]},"133":{"position":[[842,7],[868,7]]},"134":{"position":[[706,8],[975,8]]},"135":{"position":[[651,7]]},"136":{"position":[[574,7]]},"137":{"position":[[172,7]]},"138":{"position":[[447,7]]},"139":{"position":[[250,7]]},"140":{"position":[[218,8],[297,8]]},"142":{"position":[[227,7]]},"144":{"position":[[248,7]]},"171":{"position":[[438,7],[467,7],[482,7]]},"173":{"position":[[156,7],[185,7],[200,7]]},"174":{"position":[[431,7],[460,7],[475,7]]},"175":{"position":[[251,7],[280,7],[295,7]]},"176":{"position":[[382,7],[411,7],[426,7]]},"177":{"position":[[329,7],[358,7],[373,7],[393,7]]},"178":{"position":[[202,8],[225,7],[240,7],[284,8],[307,7],[322,7]]},"181":{"position":[[474,7]]},"182":{"position":[[227,7]]},"184":{"position":[[468,7]]},"194":{"position":[[224,8],[485,7]]},"198":{"position":[[524,8]]},"199":{"position":[[512,7]]},"201":{"position":[[1933,7]]},"202":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6642,7],[7438,7],[9187,8],[9376,8],[10429,7]]},"203":{"position":[[1716,7]]},"204":{"position":[[2077,7]]},"205":{"position":[[1913,7]]},"206":{"position":[[933,7]]},"207":{"position":[[716,7]]},"208":{"position":[[377,7]]},"209":{"position":[[461,7]]},"213":{"position":[[133,7],[367,7]]},"224":{"position":[[390,8],[551,8],[1035,8]]},"225":{"position":[[428,7]]},"226":{"position":[[1,7]]},"229":{"position":[[168,8]]},"230":{"position":[[152,8],[1129,7],[1245,7],[1406,8],[1515,7],[2030,7],[2305,7]]},"231":{"position":[[164,8]]},"232":{"position":[[185,8],[716,7],[894,8]]},"233":{"position":[[200,8],[763,7]]},"234":{"position":[[242,8]]},"250":{"position":[[459,8]]},"253":{"position":[[1981,9],[2749,7],[5949,7]]},"254":{"position":[[1132,7],[1347,7]]},"256":{"position":[[187,7]]},"257":{"position":[[709,7]]},"259":{"position":[[555,8]]},"263":{"position":[[1009,8],[1270,8],[1423,8]]},"264":{"position":[[538,7]]},"266":{"position":[[1047,7]]},"267":{"position":[[175,8],[229,7],[448,7],[739,7],[973,7],[1508,7],[2017,8],[2558,7],[3692,8],[3887,8],[4222,8],[5181,7],[6039,7],[7491,8],[7658,8],[8300,8],[10239,7],[10765,8],[10830,8]]},"268":{"position":[[839,7]]},"269":{"position":[[1141,7]]},"270":{"position":[[810,7]]},"271":{"position":[[926,7]]},"272":{"position":[[718,7]]},"273":{"position":[[367,7]]},"274":{"position":[[424,7]]},"275":{"position":[[142,7],[376,7]]},"276":{"position":[[419,8],[487,8]]},"282":{"position":[[441,7]]},"283":{"position":[[254,9],[536,8]]},"284":{"position":[[372,7]]},"285":{"position":[[1,7]]},"291":{"position":[[1087,7]]},"292":{"position":[[256,8],[974,7]]},"298":{"position":[[870,8]]},"304":{"position":[[854,8]]},"313":{"position":[[231,8]]},"320":{"position":[[1392,8],[1666,8]]},"322":{"position":[[1119,7],[1775,7]]},"328":{"position":[[1834,7]]},"329":{"position":[[1010,8]]},"338":{"position":[[1743,7],[2007,7],[2202,9]]},"339":{"position":[[47,7]]},"343":{"position":[[161,8]]},"345":{"position":[[226,8]]},"351":{"position":[[440,7]]},"355":{"position":[[412,7],[520,8]]},"357":{"position":[[362,9]]},"367":{"position":[[301,8]]},"369":{"position":[[469,7]]},"370":{"position":[[117,8]]},"371":{"position":[[345,7]]},"372":{"position":[[183,8],[306,7]]},"373":{"position":[[151,8],[621,8],[791,7]]},"375":{"position":[[185,7]]},"376":{"position":[[189,7]]},"377":{"position":[[185,7]]},"378":{"position":[[187,7]]},"379":{"position":[[355,7]]},"380":{"position":[[349,7]]},"381":{"position":[[360,7]]},"382":{"position":[[143,7]]},"383":{"position":[[151,8],[750,7]]},"384":{"position":[[636,7]]},"385":{"position":[[72,8]]},"386":{"position":[[341,7]]},"387":{"position":[[316,7]]},"388":{"position":[[189,7]]},"389":{"position":[[274,7]]},"390":{"position":[[235,7]]},"391":{"position":[[296,7]]},"393":{"position":[[132,7]]},"394":{"position":[[201,7]]},"396":{"position":[[206,7]]},"397":{"position":[[91,7]]},"398":{"position":[[105,7]]},"399":{"position":[[163,7]]},"401":{"position":[[552,7]]},"402":{"position":[[739,7]]},"403":{"position":[[361,7],[818,7]]},"404":{"position":[[802,7]]},"405":{"position":[[536,7]]},"406":{"position":[[403,7]]},"407":{"position":[[549,7]]},"409":{"position":[[426,7]]},"410":{"position":[[803,7]]},"411":{"position":[[204,7],[700,7]]},"412":{"position":[[428,7]]},"413":{"position":[[426,7]]},"414":{"position":[[423,7]]},"415":{"position":[[392,7]]},"416":{"position":[[394,7]]},"417":{"position":[[772,7]]},"418":{"position":[[529,7],[1543,7]]},"419":{"position":[[563,7],[1596,7]]},"420":{"position":[[547,7],[1568,7]]},"421":{"position":[[356,7]]},"422":{"position":[[546,7]]},"423":{"position":[[688,7]]},"424":{"position":[[419,7]]},"425":{"position":[[318,7]]},"426":{"position":[[280,7]]},"427":{"position":[[252,7],[631,7]]},"429":{"position":[[358,7],[1504,8],[1726,7],[1916,7]]},"430":{"position":[[204,7]]},"431":{"position":[[293,7]]},"432":{"position":[[221,7]]},"434":{"position":[[302,7]]},"435":{"position":[[228,7]]},"436":{"position":[[221,7]]},"439":{"position":[[338,7]]},"440":{"position":[[570,7]]},"441":{"position":[[331,7]]},"442":{"position":[[166,8],[262,8],[884,7]]},"443":{"position":[[426,7]]},"444":{"position":[[728,7]]},"445":{"position":[[205,7]]},"446":{"position":[[1,7]]},"475":{"position":[[167,8],[209,7]]},"476":{"position":[[1805,7],[2692,7],[3582,8],[4508,7]]},"480":{"position":[[557,8]]},"487":{"position":[[191,8]]},"496":{"position":[[586,8],[769,8]]},"497":{"position":[[203,7]]},"500":{"position":[[151,8]]},"501":{"position":[[184,8]]},"508":{"position":[[159,8]]},"514":{"position":[[757,7]]},"525":{"position":[[74,8]]},"533":{"position":[[332,8],[833,9]]},"534":{"position":[[190,8]]},"548":{"position":[[594,7],[686,7],[709,7]]},"550":{"position":[[272,8]]},"559":{"position":[[309,7]]},"578":{"position":[[1488,8],[1548,7]]},"585":{"position":[[307,7]]},"586":{"position":[[326,7]]},"610":{"position":[[219,8],[344,8],[572,8]]},"611":{"position":[[113,7]]},"623":{"position":[[131,7],[658,8],[879,8]]},"624":{"position":[[92,7],[624,8],[888,8]]},"627":{"position":[[589,8],[904,8]]},"628":{"position":[[607,8],[882,8]]},"629":{"position":[[488,8],[817,8]]},"630":{"position":[[394,8]]},"632":{"position":[[1308,8],[1715,8]]},"634":{"position":[[213,8]]},"636":{"position":[[1284,8],[1716,8]]},"637":{"position":[[1506,8],[1732,8]]},"638":{"position":[[1536,8]]},"639":{"position":[[1560,8],[1778,8]]},"640":{"position":[[1360,8],[1542,8]]},"641":{"position":[[1577,8],[1789,8]]},"642":{"position":[[1607,8]]},"643":{"position":[[1631,8],[1833,8]]},"644":{"position":[[407,8],[966,8]]},"645":{"position":[[242,8]]},"646":{"position":[[291,8],[749,8]]},"647":{"position":[[199,8],[323,8]]},"648":{"position":[[327,8],[788,8]]},"649":{"position":[[404,8],[1131,8]]},"650":{"position":[[399,8],[903,8]]},"651":{"position":[[465,8],[606,8]]},"652":{"position":[[651,8],[777,8]]},"653":{"position":[[445,8]]},"654":{"position":[[337,8]]},"656":{"position":[[800,8],[1155,8]]},"657":{"position":[[743,8],[910,8]]},"658":{"position":[[201,8],[1053,8]]},"659":{"position":[[382,8],[516,8]]},"660":{"position":[[552,8],[980,8]]},"661":{"position":[[391,8]]},"662":{"position":[[619,8],[736,8]]},"663":{"position":[[457,8]]},"664":{"position":[[186,8]]},"665":{"position":[[190,8]]},"666":{"position":[[285,8]]},"667":{"position":[[363,8]]},"668":{"position":[[356,8]]},"669":{"position":[[677,8],[964,8]]},"670":{"position":[[562,8],[672,8]]},"671":{"position":[[556,8],[755,8]]},"672":{"position":[[374,8],[561,8]]},"673":{"position":[[248,8],[1269,8]]},"675":{"position":[[321,8]]},"676":{"position":[[418,8],[921,8]]},"677":{"position":[[269,8]]},"678":{"position":[[289,8]]},"679":{"position":[[303,8]]},"681":{"position":[[1486,8],[1693,8]]},"682":{"position":[[1253,9],[1460,9]]},"683":{"position":[[226,8],[928,8]]},"684":{"position":[[809,8]]},"685":{"position":[[1020,8],[1197,8]]},"686":{"position":[[1071,8],[1276,8]]},"687":{"position":[[222,8],[775,8]]},"688":{"position":[[781,8]]},"690":{"position":[[500,8],[604,8]]},"691":{"position":[[364,8]]},"692":{"position":[[366,8]]},"693":{"position":[[249,8]]},"694":{"position":[[251,8]]},"695":{"position":[[74,8]]},"696":{"position":[[219,8]]},"697":{"position":[[104,8]]},"698":{"position":[[72,8]]},"699":{"position":[[349,8],[670,8]]},"700":{"position":[[1970,8]]},"701":{"position":[[155,8]]},"702":{"position":[[360,8]]},"703":{"position":[[383,8]]},"705":{"position":[[73,8],[137,10]]},"706":{"position":[[192,8]]},"707":{"position":[[177,8]]},"709":{"position":[[260,8]]},"710":{"position":[[85,8]]},"711":{"position":[[429,8]]},"712":{"position":[[219,8]]},"713":{"position":[[406,8]]},"714":{"position":[[402,8]]},"715":{"position":[[305,8],[850,8]]},"716":{"position":[[637,8],[738,8]]},"717":{"position":[[483,8]]},"718":{"position":[[771,8],[892,8]]},"720":{"position":[[375,8]]},"721":{"position":[[175,8]]},"722":{"position":[[82,8]]},"723":{"position":[[241,8]]},"724":{"position":[[299,8],[836,8]]},"725":{"position":[[388,8]]},"726":{"position":[[384,8]]},"727":{"position":[[461,8]]},"728":{"position":[[775,8],[893,8]]},"730":{"position":[[208,8]]},"731":{"position":[[180,8]]},"732":{"position":[[75,8],[167,8]]},"733":{"position":[[53,8]]},"734":{"position":[[203,8]]},"736":{"position":[[448,8]]},"737":{"position":[[663,8]]},"739":{"position":[[489,8]]},"740":{"position":[[268,8]]},"741":{"position":[[50,8]]},"742":{"position":[[281,8]]},"743":{"position":[[92,8]]},"744":{"position":[[321,8]]},"745":{"position":[[459,8],[731,8]]},"746":{"position":[[919,8],[1185,8]]},"748":{"position":[[259,8]]},"749":{"position":[[95,8]]},"750":{"position":[[292,8]]},"751":{"position":[[158,8]]},"752":{"position":[[510,8],[637,8]]},"754":{"position":[[1056,8],[1564,8]]},"756":{"position":[[110,8]]},"757":{"position":[[101,8]]},"758":{"position":[[306,8]]},"760":{"position":[[176,8],[220,8]]},"761":{"position":[[203,8],[247,8]]},"762":{"position":[[361,8],[474,8]]},"763":{"position":[[378,8],[438,8]]},"764":{"position":[[99,8]]},"766":{"position":[[119,8],[269,8]]},"767":{"position":[[80,8],[859,8]]},"768":{"position":[[309,8],[501,8]]},"769":{"position":[[343,8],[486,8]]},"771":{"position":[[111,8],[240,8]]},"772":{"position":[[216,8],[315,8]]},"773":{"position":[[408,8]]},"774":{"position":[[303,8]]},"775":{"position":[[309,8]]}},"keywords":{}}],["example(target_nam",{"_index":4378,"title":{},"content":{"500":{"position":[[332,20],[510,20]]}},"keywords":{}}],["example.com.crt",{"_index":531,"title":{},"content":{"24":{"position":[[179,16]]}},"keywords":{}}],["example.com.key",{"_index":527,"title":{},"content":{"24":{"position":[[85,16]]}},"keywords":{}}],["example.th",{"_index":2531,"title":{},"content":{"253":{"position":[[3210,11]]}},"keywords":{}}],["example_int",{"_index":5285,"title":{},"content":{"710":{"position":[[168,14]]}},"keywords":{}}],["example_interface.rb",{"_index":1970,"title":{},"content":{"133":{"position":[[876,20]]}},"keywords":{}}],["example_limits_response.pi",{"_index":2681,"title":{},"content":{"267":{"position":[[10856,26]]}},"keywords":{}}],["example_limits_response.rb",{"_index":2680,"title":{},"content":{"267":{"position":[[10791,26]]}},"keywords":{}}],["example_target.pi",{"_index":2074,"title":{},"content":{"178":{"position":[[341,17]]}},"keywords":{}}],["example_target.rb",{"_index":2073,"title":{},"content":{"178":{"position":[[257,17]]}},"keywords":{}}],["examplegroup",{"_index":4592,"title":{},"content":{"610":{"position":[[393,12]]},"754":{"position":[[1102,12]]}},"keywords":{}}],["examplegroup(group",{"_index":4597,"title":{},"content":{"610":{"position":[[633,20]]},"754":{"position":[[1653,20]]}},"keywords":{}}],["examples"",{"_index":3992,"title":{},"content":{"446":{"position":[[114,14]]}},"keywords":{}}],["excel",{"_index":2961,"title":{"507":{"position":[[42,6]]}},"content":{"308":{"position":[[90,5]]},"483":{"position":[[340,9]]},"507":{"position":[[484,5]]},"550":{"position":[[251,5]]}},"keywords":{}}],["excelspreadsheet.new('c:/git/cosmos/test.xlsx",{"_index":4422,"title":{},"content":{"507":{"position":[[532,47]]}},"keywords":{}}],["except",{"_index":1352,"title":{},"content":{"60":{"position":[[1564,9]]},"63":{"position":[[262,6],[464,6],[2724,10],[2752,10]]},"66":{"position":[[364,10],[392,10]]},"69":{"position":[[4601,6]]},"75":{"position":[[1388,6],[1434,9]]},"191":{"position":[[106,6]]},"262":{"position":[[235,6]]},"329":{"position":[[631,6]]},"478":{"position":[[919,6]]},"488":{"position":[[180,10],[2324,11],[2472,11],[2611,10],[2656,9]]},"502":{"position":[[88,10],[154,9],[257,9]]},"618":{"position":[[284,6],[1036,6],[1153,6]]},"659":{"position":[[34,9],[90,10]]},"752":{"position":[[69,9]]}},"keywords":{}}],["exclus",{"_index":4470,"title":{},"content":{"540":{"position":[[311,9]]}},"keywords":{}}],["exec",{"_index":1689,"title":{},"content":{"85":{"position":[[1328,4],[1359,4]]},"104":{"position":[[102,4]]},"140":{"position":[[177,4]]},"178":{"position":[[161,4]]},"448":{"position":[[304,4]]},"449":{"position":[[356,4]]}},"keywords":{}}],["execect",{"_index":2972,"title":{},"content":{"310":{"position":[[283,10]]}},"keywords":{}}],["execut",{"_index":1287,"title":{"735":{"position":[[0,9]]}},"content":{"54":{"position":[[3427,7],[3504,7],[3549,8]]},"140":{"position":[[32,7],[83,7]]},"141":{"position":[[48,7]]},"178":{"position":[[17,7],[67,7]]},"180":{"position":[[32,7]]},"276":{"position":[[32,8]]},"304":{"position":[[59,9],[206,10],[231,9],[1245,7],[2096,7],[2147,7],[2214,9],[2295,9],[2347,9],[2479,9],[2567,9],[2759,7],[2917,7],[3035,7],[3180,10],[3536,9],[3588,7],[3676,9],[3741,7],[4332,9],[4445,7],[4895,7],[5002,9],[5036,7],[5115,9],[5149,7],[5228,9],[5261,7],[5339,9],[5401,7],[5429,7],[5505,9],[5567,7],[5595,7],[5685,9],[5746,9],[5840,7],[5998,7],[6132,9],[6155,7],[6287,7],[6442,7],[6627,7],[6839,7]]},"310":{"position":[[378,9]]},"337":{"position":[[108,10],[227,10]]},"429":{"position":[[68,8],[1685,7]]},"476":{"position":[[1903,9],[1986,9],[2817,9],[2901,9],[3800,10],[3981,7],[4782,7]]},"482":{"position":[[113,9]]},"488":{"position":[[153,9],[659,9],[865,9],[1035,7]]},"490":{"position":[[406,8]]},"493":{"position":[[87,10],[202,10]]},"496":{"position":[[525,9]]},"502":{"position":[[643,7]]},"505":{"position":[[335,7],[796,7],[872,8],[912,7]]},"510":{"position":[[36,9]]},"522":{"position":[[127,9]]},"528":{"position":[[117,9]]},"530":{"position":[[284,8]]},"533":{"position":[[616,7]]},"546":{"position":[[106,9]]},"548":{"position":[[309,9]]},"584":{"position":[[534,9]]},"603":{"position":[[62,8]]},"606":{"position":[[316,9],[466,9],[509,8]]},"607":{"position":[[313,9],[683,10]]},"608":{"position":[[55,8],[155,8],[500,8],[570,9]]},"612":{"position":[[218,9],[509,9],[608,9],[713,9],[837,10],[1141,7]]},"613":{"position":[[333,10]]},"617":{"position":[[307,7],[376,9],[602,9],[687,7],[752,9]]},"659":{"position":[[1,8],[310,8]]},"669":{"position":[[321,9]]},"735":{"position":[[67,7]]},"736":{"position":[[8,9]]},"748":{"position":[[196,9]]}},"keywords":{}}],["execution)run",{"_index":1073,"title":{},"content":{"44":{"position":[[1663,13]]}},"keywords":{}}],["exercis",{"_index":2353,"title":{},"content":{"230":{"position":[[1770,8]]},"304":{"position":[[2019,8]]},"322":{"position":[[2260,8]]}},"keywords":{}}],["exist",{"_index":848,"title":{"91":{"position":[[0,8]]}},"content":{"36":{"position":[[10585,5]]},"38":{"position":[[11,8],[69,8],[142,8]]},"63":{"position":[[614,5]]},"69":{"position":[[1224,8],[1498,8]]},"83":{"position":[[579,5]]},"198":{"position":[[400,8],[500,8]]},"208":{"position":[[12,8]]},"209":{"position":[[27,8]]},"210":{"position":[[191,6]]},"225":{"position":[[12,8],[166,8]]},"227":{"position":[[532,5],[601,5]]},"230":{"position":[[97,8]]},"231":{"position":[[109,8]]},"232":{"position":[[105,8],[775,8]]},"233":{"position":[[115,8]]},"234":{"position":[[187,8],[520,8],[774,8]]},"235":{"position":[[98,8],[1298,8]]},"256":{"position":[[113,8],[206,8]]},"257":{"position":[[648,8],[728,8],[916,8],[1284,8],[1337,8],[1541,8]]},"259":{"position":[[430,8],[531,8]]},"262":{"position":[[88,5]]},"273":{"position":[[12,8],[494,8]]},"274":{"position":[[26,8]]},"278":{"position":[[262,6]]},"282":{"position":[[12,8],[170,8],[568,8]]},"321":{"position":[[44,8],[3872,8]]},"334":{"position":[[819,8]]},"352":{"position":[[246,8]]},"364":{"position":[[1548,6]]},"368":{"position":[[156,7]]},"476":{"position":[[919,5]]},"505":{"position":[[1222,5]]},"513":{"position":[[281,8]]},"514":{"position":[[138,5]]},"552":{"position":[[334,8],[641,8]]},"563":{"position":[[272,8],[579,8]]},"577":{"position":[[1103,8],[1410,8]]},"582":{"position":[[50,8]]},"589":{"position":[[271,8],[578,8]]},"591":{"position":[[462,7]]},"593":{"position":[[666,8]]},"598":{"position":[[290,8],[597,8]]},"601":{"position":[[965,8]]},"605":{"position":[[915,8]]},"621":{"position":[[3368,6],[3589,6]]},"628":{"position":[[542,5]]},"629":{"position":[[308,5],[393,8]]},"716":{"position":[[595,8]]},"742":{"position":[[12,8]]},"764":{"position":[[25,8]]},"768":{"position":[[108,6]]}},"keywords":{}}],["exit",{"_index":2438,"title":{},"content":{"240":{"position":[[863,5]]},"324":{"position":[[2166,4]]}},"keywords":{}}],["exotrail",{"_index":1897,"title":{},"content":{"108":{"position":[[708,9]]}},"keywords":{}}],["expand",{"_index":2347,"title":{},"content":{"230":{"position":[[1549,8]]},"234":{"position":[[759,8]]},"235":{"position":[[1283,8]]},"479":{"position":[[294,9]]}},"keywords":{}}],["expans",{"_index":1784,"title":{},"content":{"99":{"position":[[68,10],[1081,10]]}},"keywords":{}}],["expect",{"_index":1391,"title":{},"content":{"63":{"position":[[602,8],[990,8],[1883,8]]},"79":{"position":[[227,8]]},"218":{"position":[[31,8]]},"219":{"position":[[31,8]]},"230":{"position":[[872,8]]},"299":{"position":[[1113,9]]},"303":{"position":[[810,8]]},"356":{"position":[[683,8]]},"478":{"position":[[153,9],[1026,9]]},"504":{"position":[[641,8]]},"657":{"position":[[46,8],[578,8],[593,8],[660,8]]},"659":{"position":[[23,7]]},"682":{"position":[[105,8],[734,8],[749,8],[816,8]]},"686":{"position":[[99,8],[633,8],[648,8],[715,8]]}},"keywords":{}}],["expected_temp",{"_index":4233,"title":{},"content":{"480":{"position":[[1393,14],[1672,15]]}},"keywords":{}}],["expected_temp}"",{"_index":4239,"title":{},"content":{"480":{"position":[[1568,23],[1848,22]]}},"keywords":{}}],["experi",{"_index":134,"title":{},"content":{"3":{"position":[[721,10]]},"247":{"position":[[112,11]]},"329":{"position":[[1521,10]]},"461":{"position":[[689,10]]}},"keywords":{}}],["expert",{"_index":3711,"title":{},"content":{"364":{"position":[[1726,8]]}},"keywords":{}}],["expir",{"_index":949,"title":{},"content":{"43":{"position":[[204,6],[261,7]]},"361":{"position":[[437,8]]},"758":{"position":[[129,6]]}},"keywords":{}}],["expires=thu",{"_index":967,"title":{},"content":{"43":{"position":[[892,12],[1014,12]]}},"keywords":{}}],["explain",{"_index":2521,"title":{},"content":{"253":{"position":[[1674,9]]},"327":{"position":[[53,7]]},"363":{"position":[[1305,10]]},"618":{"position":[[101,8]]}},"keywords":{}}],["explicit",{"_index":4058,"title":{},"content":{"459":{"position":[[541,8]]}},"keywords":{}}],["explicitli",{"_index":323,"title":{},"content":{"12":{"position":[[55,10]]},"15":{"position":[[68,10]]},"16":{"position":[[70,10]]},"36":{"position":[[1229,10]]},"90":{"position":[[591,10]]},"202":{"position":[[1229,10]]},"261":{"position":[[117,10]]},"267":{"position":[[1224,10]]},"375":{"position":[[148,10]]},"376":{"position":[[152,10]]},"377":{"position":[[148,10]]},"378":{"position":[[150,10]]},"534":{"position":[[551,10]]},"575":{"position":[[199,10]]}},"keywords":{}}],["explor",{"_index":2577,"title":{"515":{"position":[[7,8]]}},"content":{"254":{"position":[[934,7]]},"516":{"position":[[8,8],[173,8]]}},"keywords":{}}],["export",{"_index":1686,"title":{},"content":{"85":{"position":[[1134,6],[1201,6]]},"292":{"position":[[235,6],[305,6]]},"324":{"position":[[2558,6]]},"325":{"position":[[211,6]]},"328":{"position":[[315,6]]},"363":{"position":[[1204,6],[1228,6]]},"556":{"position":[[89,7]]},"566":{"position":[[108,8]]}},"keywords":{}}],["expos",{"_index":482,"title":{},"content":{"21":{"position":[[235,6]]},"142":{"position":[[73,6]]},"182":{"position":[[73,6]]},"241":{"position":[[365,7]]},"319":{"position":[[69,8]]}},"keywords":{}}],["express",{"_index":205,"title":{},"content":{"6":{"position":[[222,10]]},"67":{"position":[[751,9]]},"93":{"position":[[1224,9]]},"170":{"position":[[107,11]]},"183":{"position":[[113,11]]},"193":{"position":[[105,11]]},"196":{"position":[[107,11]]},"360":{"position":[[761,7]]},"462":{"position":[[616,7]]},"479":{"position":[[250,12],[363,12]]},"501":{"position":[[465,10]]},"658":{"position":[[14,11],[33,10],[723,10],[1014,10]]},"681":{"position":[[627,10]]},"682":{"position":[[325,10]]},"683":{"position":[[28,10],[410,10],[594,10]]},"685":{"position":[[260,10]]},"686":{"position":[[242,10]]},"687":{"position":[[28,10],[356,10],[522,10]]}},"keywords":{}}],["extend",{"_index":1906,"title":{},"content":{"112":{"position":[[114,6]]},"198":{"position":[[393,6]]},"259":{"position":[[423,6]]}},"keywords":{}}],["extens",{"_index":236,"title":{},"content":{"6":{"position":[[1118,11]]},"12":{"position":[[513,9]]},"31":{"position":[[254,9]]},"83":{"position":[[122,10]]},"198":{"position":[[484,9]]},"259":{"position":[[515,9]]},"291":{"position":[[852,9]]},"488":{"position":[[1738,10]]},"737":{"position":[[571,10]]}},"keywords":{}}],["extern",{"_index":44,"title":{},"content":{"2":{"position":[[251,8]]},"114":{"position":[[17,8]]},"142":{"position":[[80,10]]},"143":{"position":[[353,8]]},"182":{"position":[[80,10]]},"186":{"position":[[258,8]]},"188":{"position":[[192,8]]},"298":{"position":[[342,8]]},"311":{"position":[[714,8]]},"349":{"position":[[138,8]]},"394":{"position":[[6,8]]},"488":{"position":[[893,10]]},"769":{"position":[[84,10]]}},"keywords":{}}],["extra",{"_index":103,"title":{"497":{"position":[[11,5]]}},"content":{"3":{"position":[[347,5]]},"36":{"position":[[4269,5]]},"75":{"position":[[1213,6],[1315,6],[1336,6]]},"78":{"position":[[799,6]]},"79":{"position":[[1135,6]]},"99":{"position":[[824,5],[862,5],[880,5],[3490,5],[3554,5],[3583,5],[3625,5],[3690,5],[3740,5]]},"202":{"position":[[4269,5]]},"267":{"position":[[3218,5]]},"277":{"position":[[192,5]]},"361":{"position":[[638,5]]},"488":{"position":[[80,5]]},"495":{"position":[[292,5]]}},"keywords":{}}],["extra=non",{"_index":1519,"title":{},"content":{"75":{"position":[[990,12]]},"78":{"position":[[772,12]]},"79":{"position":[[1100,12]]}},"keywords":{}}],["extract",{"_index":558,"title":{"26":{"position":[[0,10]]},"27":{"position":[[0,7]]}},"content":{"27":{"position":[[240,7],[669,7]]},"63":{"position":[[1099,7]]},"99":{"position":[[3029,9],[3450,9]]},"308":{"position":[[42,8],[503,7]]},"550":{"position":[[16,8]]},"555":{"position":[[73,7]]}},"keywords":{}}],["extractor",{"_index":1876,"title":{"308":{"position":[[5,10]]},"549":{"position":[[5,9]]},"551":{"position":[[5,9]]}},"content":{"108":{"position":[[213,9]]},"198":{"position":[[1215,10]]},"259":{"position":[[1281,10]]},"263":{"position":[[674,10]]},"308":{"position":[[6,9],[160,9],[265,9],[354,9],[451,9],[627,9],[712,9],[798,9]]},"550":{"position":[[6,9],[167,9]]},"555":{"position":[[6,9]]},"556":{"position":[[6,9]]}},"keywords":{}}],["extrapol",{"_index":1717,"title":{},"content":{"90":{"position":[[521,11]]}},"keywords":{}}],["extrem",{"_index":4223,"title":{},"content":{"480":{"position":[[137,7]]}},"keywords":{}}],["ey",{"_index":734,"title":{},"content":{"36":{"position":[[3823,3]]},"202":{"position":[[3823,3]]},"578":{"position":[[1164,4]]}},"keywords":{}}],["eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":1011,"title":{},"content":{"43":{"position":[[4788,927]]}},"keywords":{}}],["f",{"_index":4073,"title":{},"content":{"459":{"position":[[1751,2]]},"476":{"position":[[812,1],[4693,1]]}},"keywords":{}}],["f"",{"_index":4212,"title":{},"content":{"476":{"position":[[4702,7]]}},"keywords":{}}],["f"{variable}"",{"_index":4170,"title":{},"content":{"476":{"position":[[832,23]]}},"keywords":{}}],["factor",{"_index":748,"title":{},"content":{"36":{"position":[[4344,6],[6131,6],[6187,6],[6761,6],[6818,6],[7882,6],[9331,6],[9518,6]]},"202":{"position":[[4344,6],[6131,6],[6187,6],[6761,6],[6818,6],[7882,6],[9331,6],[9518,6]]},"227":{"position":[[5269,8]]},"267":{"position":[[3293,6],[4610,6],[4663,6],[5298,6],[5352,6],[6475,6],[7614,6],[7779,6]]},"355":{"position":[[112,6]]},"405":{"position":[[195,6]]},"422":{"position":[[199,6]]},"525":{"position":[[202,8]]},"618":{"position":[[503,6]]}},"keywords":{}}],["fail",{"_index":544,"title":{"504":{"position":[[22,5]]}},"content":{"24":{"position":[[602,4]]},"93":{"position":[[1293,4]]},"289":{"position":[[1183,7]]},"291":{"position":[[607,5]]},"304":{"position":[[497,6],[2672,4],[3252,4],[3410,4]]},"482":{"position":[[1204,5],[1376,4]]},"483":{"position":[[313,8]]},"488":{"position":[[201,4],[762,6]]},"502":{"position":[[214,6],[671,4],[713,4]]},"504":{"position":[[44,4],[909,6]]},"505":{"position":[[20,7],[214,6],[356,7],[788,7]]},"548":{"position":[[554,6]]},"656":{"position":[[101,5]]},"657":{"position":[[99,5]]}},"keywords":{}}],["failur",{"_index":2182,"title":{},"content":{"224":{"position":[[118,7]]},"304":{"position":[[321,7],[447,7],[3340,8],[3482,7]]},"310":{"position":[[535,7],[632,7]]},"483":{"position":[[237,7]]},"488":{"position":[[2640,9]]},"504":{"position":[[508,7],[952,9]]},"505":{"position":[[236,8],[368,8],[484,7]]},"548":{"position":[[478,7]]}},"keywords":{}}],["fairli",{"_index":3449,"title":{},"content":{"355":{"position":[[912,6]]},"459":{"position":[[449,6]]}},"keywords":{}}],["faith",{"_index":4137,"title":{},"content":{"467":{"position":[[1146,5]]}},"keywords":{}}],["fall",{"_index":1151,"title":{},"content":{"46":{"position":[[366,5]]},"168":{"position":[[130,7]]},"525":{"position":[[123,4]]}},"keywords":{}}],["fals",{"_index":180,"title":{},"content":{"5":{"position":[[1035,5]]},"33":{"position":[[456,5],[671,5],[803,5],[930,5]]},"35":{"position":[[1219,5],[1405,5],[1750,5],[1897,5]]},"36":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6635,5],[7431,5]]},"37":{"position":[[1012,5],[1198,5],[1543,5],[1690,5]]},"39":{"position":[[314,5]]},"56":{"position":[[470,6]]},"59":{"position":[[1055,5]]},"60":{"position":[[1431,6],[1524,5],[1599,5]]},"61":{"position":[[2527,5]]},"62":{"position":[[1356,5]]},"63":{"position":[[2540,5],[2822,5]]},"66":{"position":[[487,5]]},"67":{"position":[[301,5]]},"71":{"position":[[289,6]]},"75":{"position":[[1518,5],[1526,5]]},"80":{"position":[[310,5],[458,5]]},"133":{"position":[[483,5],[570,5],[800,5],[835,5]]},"134":{"position":[[694,5]]},"135":{"position":[[644,5]]},"136":{"position":[[487,5],[567,5]]},"139":{"position":[[243,5]]},"141":{"position":[[183,5]]},"170":{"position":[[242,5]]},"175":{"position":[[244,5]]},"180":{"position":[[167,5]]},"181":{"position":[[467,5]]},"183":{"position":[[248,5]]},"191":{"position":[[218,5],[244,5]]},"193":{"position":[[240,5]]},"194":{"position":[[478,5]]},"196":{"position":[[242,5]]},"199":{"position":[[505,5]]},"201":{"position":[[1248,5],[1434,5],[1779,5],[1926,5]]},"202":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6635,5],[7431,5]]},"203":{"position":[[1031,5],[1217,5],[1562,5],[1709,5]]},"204":{"position":[[1392,5],[1578,5],[1923,5],[2070,5]]},"205":{"position":[[1228,5],[1414,5],[1759,5],[1906,5]]},"206":{"position":[[795,5],[926,5]]},"207":{"position":[[578,5],[709,5]]},"213":{"position":[[360,5]]},"214":{"position":[[264,5]]},"215":{"position":[[431,5]]},"224":{"position":[[539,5],[785,7],[1224,7]]},"232":{"position":[[1195,5]]},"233":{"position":[[1473,5]]},"253":{"position":[[3040,5],[4297,5],[4989,5]]},"254":{"position":[[1640,5]]},"264":{"position":[[531,5]]},"266":{"position":[[863,5],[1040,5]]},"267":{"position":[[966,5],[1811,5],[1902,5],[2551,5],[2634,5],[3875,5],[5174,5],[6032,5],[7426,5],[7479,5],[9846,5],[10232,5],[10753,5]]},"268":{"position":[[655,5],[832,5]]},"269":{"position":[[957,5],[1134,5]]},"270":{"position":[[626,5],[803,5]]},"271":{"position":[[788,5],[919,5]]},"272":{"position":[[580,5],[711,5]]},"275":{"position":[[369,5]]},"276":{"position":[[407,5]]},"285":{"position":[[369,5]]},"371":{"position":[[299,5]]},"372":{"position":[[299,5]]},"373":{"position":[[784,5]]},"379":{"position":[[303,5],[348,5]]},"380":{"position":[[297,5],[342,5]]},"381":{"position":[[308,5],[353,5]]},"383":{"position":[[743,5]]},"386":{"position":[[334,5]]},"387":{"position":[[257,5],[309,5]]},"388":{"position":[[182,5]]},"389":{"position":[[215,5],[267,5]]},"390":{"position":[[228,5]]},"391":{"position":[[237,5],[289,5]]},"394":{"position":[[160,5],[194,5]]},"401":{"position":[[229,5],[279,5],[356,5],[420,5],[545,5]]},"402":{"position":[[229,5],[279,5],[356,5],[416,5],[473,5],[607,5],[732,5]]},"403":{"position":[[592,5],[717,5],[811,5]]},"404":{"position":[[281,5],[332,5],[385,5],[795,5]]},"405":{"position":[[345,5],[404,5],[529,5]]},"406":{"position":[[302,5],[396,5]]},"407":{"position":[[323,5],[448,5],[542,5]]},"408":{"position":[[322,5],[416,5]]},"409":{"position":[[325,5],[419,5]]},"410":{"position":[[599,5],[693,5],[744,5],[796,5]]},"411":{"position":[[92,5],[589,5],[640,5],[693,5]]},"412":{"position":[[318,5],[369,5],[421,5]]},"413":{"position":[[316,5],[367,5],[419,5]]},"414":{"position":[[302,5],[352,5],[409,6],[416,5]]},"415":{"position":[[291,5],[385,5]]},"416":{"position":[[294,5],[387,5]]},"417":{"position":[[568,5],[662,5],[713,5],[765,5]]},"418":{"position":[[265,5],[393,5],[522,5],[992,5],[1120,5],[1249,5]]},"419":{"position":[[299,5],[427,5],[556,5],[1045,5],[1173,5],[1302,5]]},"420":{"position":[[283,5],[411,5],[540,5],[1017,5],[1145,5],[1274,5]]},"422":{"position":[[353,5],[414,5],[539,5]]},"423":{"position":[[578,5],[629,5],[681,5]]},"424":{"position":[[357,5],[412,5]]},"425":{"position":[[311,5]]},"426":{"position":[[216,5],[273,5]]},"427":{"position":[[530,5],[624,5]]},"429":{"position":[[1552,6]]},"431":{"position":[[286,5]]},"432":{"position":[[214,5]]},"433":{"position":[[203,5]]},"435":{"position":[[153,5],[221,5]]},"436":{"position":[[214,5]]},"439":{"position":[[301,5],[331,5]]},"440":{"position":[[408,5],[438,5],[563,5]]},"442":{"position":[[820,5],[877,5]]},"443":{"position":[[365,5],[419,5]]},"444":{"position":[[597,5],[721,5]]},"501":{"position":[[699,5],[977,5]]},"511":{"position":[[152,6]]},"513":{"position":[[63,6]]},"623":{"position":[[467,7],[645,6],[857,6],[1078,6]]},"624":{"position":[[433,7],[611,6],[866,6],[1130,6]]},"628":{"position":[[128,6],[467,5]]},"636":{"position":[[1700,6]]},"644":{"position":[[95,6]]},"650":{"position":[[1143,8]]},"658":{"position":[[57,5]]},"681":{"position":[[596,5],[649,5],[1677,6]]},"682":{"position":[[294,5],[347,5]]},"683":{"position":[[379,5],[432,5]]},"684":{"position":[[269,5]]},"690":{"position":[[589,5],[692,5]]},"716":{"position":[[431,6],[527,6],[722,6]]}},"keywords":{}}],["famili",{"_index":4142,"title":{},"content":{"467":{"position":[[1365,6]]}},"keywords":{}}],["familiar",{"_index":1670,"title":{},"content":{"84":{"position":[[1332,8]]},"251":{"position":[[179,11]]},"482":{"position":[[371,8]]}},"keywords":{}}],["fanci",{"_index":2539,"title":{},"content":{"253":{"position":[[4228,5]]}},"keywords":{}}],["faq",{"_index":3674,"title":{"363":{"position":[[0,5]]}},"content":{},"keywords":{}}],["far",{"_index":4566,"title":{},"content":{"599":{"position":[[835,3]]}},"keywords":{}}],["fashion",{"_index":184,"title":{},"content":{"5":{"position":[[1387,8]]},"69":{"position":[[3183,7]]},"359":{"position":[[1379,8]]},"366":{"position":[[301,8]]}},"keywords":{}}],["faster",{"_index":3307,"title":{},"content":{"347":{"position":[[327,6]]},"488":{"position":[[1081,6]]}},"keywords":{}}],["fault",{"_index":4331,"title":{},"content":{"493":{"position":[[415,6]]}},"keywords":{}}],["faulti",{"_index":4441,"title":{},"content":{"514":{"position":[[942,6]]}},"keywords":{}}],["featur",{"_index":1862,"title":{"107":{"position":[[4,8]]}},"content":{"108":{"position":[[6,9]]},"109":{"position":[[6,9]]},"110":{"position":[[116,7]]},"257":{"position":[[1804,8]]},"304":{"position":[[96,8]]},"329":{"position":[[1553,7]]},"457":{"position":[[107,8],[356,7]]},"476":{"position":[[3605,8]]},"483":{"position":[[1256,7]]},"492":{"position":[[22,7]]},"617":{"position":[[930,7],[1119,7]]}},"keywords":{}}],["feedback",{"_index":2829,"title":{"295":{"position":[[0,9]]}},"content":{},"keywords":{}}],["feel",{"_index":1171,"title":{},"content":{"46":{"position":[[972,7]]}},"keywords":{}}],["fep",{"_index":1915,"title":{},"content":{"114":{"position":[[135,7]]}},"keywords":{}}],["few",{"_index":1716,"title":{},"content":{"90":{"position":[[426,3]]},"239":{"position":[[349,3]]},"332":{"position":[[283,3]]},"476":{"position":[[35,3]]},"488":{"position":[[289,3]]}},"keywords":{}}],["ff5252",{"_index":5513,"title":{},"content":{"762":{"position":[[454,10]]}},"keywords":{}}],["fi",{"_index":1126,"title":{},"content":{"44":{"position":[[3513,2]]}},"keywords":{}}],["field",{"_index":378,"title":{},"content":{"17":{"position":[[194,5]]},"18":{"position":[[198,5]]},"36":{"position":[[1880,5],[2214,5],[10703,7],[10846,6]]},"54":{"position":[[380,5]]},"59":{"position":[[989,6]]},"60":{"position":[[1458,6]]},"61":{"position":[[41,5],[156,6],[307,6],[369,5],[676,6],[767,5],[951,5],[1022,5],[1066,5],[1191,5],[1252,5],[1458,5],[1513,5],[1569,5],[1651,6],[2334,5],[2440,5],[3082,5],[3121,5],[3328,5],[3397,5]]},"62":{"position":[[1290,6]]},"63":{"position":[[593,5],[640,5],[1064,6],[2474,6]]},"64":{"position":[[650,5]]},"99":{"position":[[204,5],[322,6],[1241,5],[1473,5],[1713,5],[2346,5],[2852,5],[3286,5],[3941,5],[4230,5],[4874,5]]},"202":{"position":[[1880,5],[2214,5]]},"227":{"position":[[5488,5],[5966,5],[6036,5],[6155,5]]},"260":{"position":[[285,7]]},"267":{"position":[[1875,5]]},"321":{"position":[[1154,6]]},"329":{"position":[[731,6],[857,6]]},"435":{"position":[[118,5],[196,5]]},"525":{"position":[[284,6]]},"530":{"position":[[136,6]]},"533":{"position":[[420,5]]},"548":{"position":[[286,5]]},"552":{"position":[[555,6]]},"555":{"position":[[30,6],[130,6]]},"556":{"position":[[709,5]]},"563":{"position":[[493,6]]},"577":{"position":[[1324,6]]},"581":{"position":[[151,6]]},"589":{"position":[[492,6]]},"598":{"position":[[511,6]]},"599":{"position":[[994,6]]},"605":{"position":[[829,5]]},"759":{"position":[[93,7]]}},"keywords":{}}],["field"",{"_index":886,"title":{},"content":{"40":{"position":[[1008,11],[1144,11],[1279,11]]}},"keywords":{}}],["figur",{"_index":1028,"title":{},"content":{"44":{"position":[[132,6]]},"461":{"position":[[968,6]]}},"keywords":{}}],["file",{"_index":136,"title":{"4":{"position":[[0,4]]},"26":{"position":[[48,5]]},"27":{"position":[[22,5],[38,5]]},"28":{"position":[[13,4]]},"31":{"position":[[17,6]]},"40":{"position":[[8,5]]},"97":{"position":[[11,4]]},"98":{"position":[[0,4]]},"120":{"position":[[25,5]]},"198":{"position":[[19,6]]},"226":{"position":[[8,5]]},"242":{"position":[[12,5]]},"259":{"position":[[21,6]]},"285":{"position":[[8,5]]},"367":{"position":[[28,6]]},"446":{"position":[[8,5]]},"451":{"position":[[41,5]]},"452":{"position":[[19,4]]},"517":{"position":[[9,6]]},"538":{"position":[[0,4]]},"552":{"position":[[0,4]]},"563":{"position":[[0,4]]},"570":{"position":[[0,4]]},"577":{"position":[[0,4]]},"582":{"position":[[0,4]]},"583":{"position":[[0,4]]},"589":{"position":[[0,4]]},"598":{"position":[[0,4]]},"605":{"position":[[0,4]]}},"content":{"5":{"position":[[37,4],[1335,5]]},"6":{"position":[[133,6],[294,4],[620,4],[728,4],[1169,5]]},"7":{"position":[[86,4],[118,5],[416,4],[450,5],[461,4],[555,5],[566,4],[619,5]]},"8":{"position":[[64,6]]},"9":{"position":[[80,6]]},"12":{"position":[[17,4],[37,5],[186,5],[284,5],[364,4]]},"15":{"position":[[38,4],[106,4],[148,5],[239,4],[345,5],[432,4]]},"16":{"position":[[40,4],[110,4],[152,5],[243,4],[345,5],[434,4]]},"20":{"position":[[1324,4],[1455,4]]},"22":{"position":[[39,5]]},"23":{"position":[[437,5]]},"24":{"position":[[42,4],[147,5],[577,6]]},"26":{"position":[[10,5],[319,4],[341,6]]},"27":{"position":[[205,5],[461,5],[540,4],[599,4],[942,4],[978,4],[1020,5]]},"28":{"position":[[67,4]]},"31":{"position":[[18,5],[286,4],[474,5]]},"32":{"position":[[17,4],[117,5],[127,4],[194,5]]},"36":{"position":[[825,6],[4092,4]]},"40":{"position":[[9,5]]},"83":{"position":[[573,5],[1836,5]]},"85":{"position":[[1010,5]]},"98":{"position":[[21,5],[126,4]]},"99":{"position":[[12,5],[1466,5],[1658,5],[1890,5],[2552,5],[2712,4],[3192,7],[4098,5],[4157,5],[4385,4],[4867,5],[5051,5]]},"112":{"position":[[557,4],[605,4]]},"120":{"position":[[28,4],[225,4],[272,4],[411,5]]},"121":{"position":[[513,4],[626,5],[698,6]]},"123":{"position":[[155,4],[685,4]]},"133":{"position":[[413,5],[547,5]]},"136":{"position":[[184,5],[246,4],[276,5],[363,4],[402,4],[639,4]]},"143":{"position":[[475,4]]},"147":{"position":[[112,5]]},"148":{"position":[[55,4],[121,4]]},"150":{"position":[[119,5]]},"151":{"position":[[62,4],[128,4]]},"154":{"position":[[114,5]]},"155":{"position":[[57,4],[123,4]]},"157":{"position":[[121,5]]},"158":{"position":[[64,4],[130,4]]},"179":{"position":[[171,5]]},"181":{"position":[[144,5],[206,4],[236,5],[323,4],[362,4],[530,4]]},"187":{"position":[[56,4]]},"194":{"position":[[274,4]]},"198":{"position":[[20,5],[99,4],[159,5],[222,5],[342,5],[509,4],[711,5]]},"202":{"position":[[825,6],[4092,4]]},"213":{"position":[[214,6]]},"217":{"position":[[36,4],[133,4],[286,4],[330,5]]},"225":{"position":[[92,4]]},"226":{"position":[[9,5]]},"229":{"position":[[364,6],[683,4],[811,4],[890,5],[1060,4],[1176,4],[1406,4],[1476,4]]},"230":{"position":[[391,5],[732,5],[764,5],[937,5],[1059,4],[1442,6],[1531,4],[2111,5],[2468,5],[2506,4]]},"231":{"position":[[441,5],[1169,4]]},"232":{"position":[[598,5]]},"233":{"position":[[637,5]]},"234":{"position":[[627,5],[879,4]]},"235":{"position":[[731,5],[988,5],[1402,5],[1479,4],[1700,4],[1862,4]]},"237":{"position":[[224,5],[333,4],[434,5]]},"240":{"position":[[359,6],[821,5],[1419,5],[1876,4]]},"241":{"position":[[128,4],[293,5]]},"242":{"position":[[28,4],[124,4]]},"250":{"position":[[157,6]]},"253":{"position":[[1620,5],[1665,5],[6157,6],[6450,5],[7468,6]]},"254":{"position":[[186,5],[626,5],[2000,5]]},"256":{"position":[[358,4]]},"257":{"position":[[1312,5],[1569,5],[1674,4]]},"259":{"position":[[22,5],[123,4],[185,5],[250,5],[372,5],[540,4],[738,5]]},"260":{"position":[[496,4]]},"263":{"position":[[523,5]]},"267":{"position":[[820,6],[3041,4],[10549,4],[10597,4]]},"275":{"position":[[223,6]]},"276":{"position":[[207,4],[249,4]]},"282":{"position":[[94,4]]},"284":{"position":[[140,4]]},"285":{"position":[[9,5]]},"289":{"position":[[1256,4]]},"290":{"position":[[596,5],[706,5]]},"291":{"position":[[131,4],[283,4],[847,4],[1017,4],[1495,5]]},"292":{"position":[[89,4],[226,4],[433,4]]},"297":{"position":[[853,5],[903,5],[999,5],[1082,5],[1095,5],[1169,5],[1180,5]]},"304":{"position":[[1483,4]]},"305":{"position":[[1089,4]]},"306":{"position":[[616,4]]},"307":{"position":[[82,4]]},"308":{"position":[[681,4],[767,4]]},"320":{"position":[[578,5]]},"321":{"position":[[53,5],[74,6],[207,5],[3831,4]]},"322":{"position":[[263,5],[1645,5],[1718,5]]},"324":{"position":[[2522,4],[2651,4],[3083,4],[3689,5]]},"327":{"position":[[149,4],[517,4]]},"328":{"position":[[792,5]]},"331":{"position":[[339,5],[370,4],[447,5]]},"332":{"position":[[226,5],[870,4],[922,4]]},"333":{"position":[[57,4]]},"334":{"position":[[653,5],[1346,4]]},"338":{"position":[[40,4],[68,4]]},"339":{"position":[[55,4],[169,5]]},"343":{"position":[[285,5],[376,5],[502,4]]},"344":{"position":[[71,5],[334,5]]},"345":{"position":[[656,5]]},"351":{"position":[[462,5]]},"366":{"position":[[328,4],[353,4],[370,4]]},"367":{"position":[[29,5],[220,5],[356,5]]},"368":{"position":[[118,4]]},"403":{"position":[[147,6]]},"441":{"position":[[95,5],[105,4]]},"442":{"position":[[555,4],[1394,4]]},"446":{"position":[[9,5]]},"451":{"position":[[16,4],[158,6],[197,4]]},"452":{"position":[[46,4],[77,6],[112,5]]},"453":{"position":[[68,6],[111,5]]},"476":{"position":[[1569,5],[4474,4]]},"480":{"position":[[854,4],[981,5]]},"482":{"position":[[534,4],[661,5]]},"485":{"position":[[95,5],[247,5],[467,5]]},"487":{"position":[[605,4]]},"488":{"position":[[270,6],[526,6],[572,5],[617,4],[718,6],[886,6],[1274,4],[1316,4],[1443,4],[1504,4],[1571,4]]},"497":{"position":[[528,4],[827,4]]},"507":{"position":[[296,5],[490,6]]},"508":{"position":[[522,6]]},"516":{"position":[[22,4],[102,5],[124,4]]},"517":{"position":[[643,6]]},"518":{"position":[[37,4],[62,4],[162,5]]},"519":{"position":[[59,5]]},"520":{"position":[[46,5],[103,5]]},"527":{"position":[[513,4]]},"538":{"position":[[53,4]]},"544":{"position":[[200,6]]},"550":{"position":[[81,6]]},"559":{"position":[[255,4]]},"581":{"position":[[27,4],[56,4],[172,5]]},"583":{"position":[[27,4],[61,5],[82,5],[103,5],[231,4]]},"584":{"position":[[83,4],[114,4],[144,4],[256,4]]},"585":{"position":[[123,4],[185,5],[229,4],[380,4],[441,4],[446,4]]},"586":{"position":[[125,4],[200,5],[246,4],[399,4],[477,4]]},"588":{"position":[[125,5]]},"603":{"position":[[87,5],[207,6]]},"605":{"position":[[102,4],[167,4],[224,4],[263,4],[285,4],[301,4],[418,4],[540,4],[569,4],[603,4],[621,4],[674,4],[924,5]]},"609":{"position":[[89,4],[187,4]]},"611":{"position":[[717,4]]},"617":{"position":[[272,6]]},"628":{"position":[[10,4],[27,4],[260,4],[399,4],[450,5],[506,5],[528,4],[617,4],[721,4],[747,4],[752,4],[868,4],[938,4],[1045,4],[1072,4],[1077,4],[1195,4]]},"629":{"position":[[10,4],[181,4],[288,4],[341,4],[411,5],[577,4],[703,5],[906,4],[1062,5]]},"630":{"position":[[10,4],[157,4],[271,5],[331,5]]},"632":{"position":[[61,4],[121,6],[324,4],[441,6],[1099,4],[1160,4],[1318,4],[1447,4],[1459,4],[1498,5],[1584,5],[1601,4],[1658,6],[1670,4],[1725,4],[1892,5],[1997,4],[2044,4],[2052,6]]},"700":{"position":[[128,5]]},"711":{"position":[[408,5]]},"720":{"position":[[354,5]]},"735":{"position":[[42,5]]},"736":{"position":[[302,5],[314,5]]},"737":{"position":[[19,4],[518,4]]},"744":{"position":[[44,4]]},"752":{"position":[[233,4],[280,4]]}},"keywords":{}}],["file"",{"_index":4801,"title":{},"content":{"632":{"position":[[1362,11],[1769,11]]}},"keywords":{}}],["file(",{"_index":4790,"title":{},"content":{"632":{"position":[[141,7]]}},"keywords":{}}],["file.clos",{"_index":4765,"title":{},"content":{"628":{"position":[[1050,12],[1173,12]]},"632":{"position":[[1879,12],[2090,12]]}},"keywords":{}}],["file.delet",{"_index":4540,"title":{},"content":{"585":{"position":[[1065,11]]},"632":{"position":[[1486,11],[1690,11]]}},"keywords":{}}],["file.read",{"_index":4530,"title":{},"content":{"585":{"position":[[499,9]]},"628":{"position":[[835,11]]},"632":{"position":[[1476,9],[1680,9]]}},"keywords":{}}],["file.read().format",{"_index":4760,"title":{},"content":{"628":{"position":[[681,21]]}},"keywords":{}}],["file.rewind",{"_index":4775,"title":{},"content":{"629":{"position":[[647,11]]}},"keywords":{}}],["file.seek(0",{"_index":4780,"title":{},"content":{"629":{"position":[[1005,12]]}},"keywords":{}}],["file.unlink",{"_index":4761,"title":{},"content":{"628":{"position":[[726,11],[847,11]]}},"keywords":{}}],["file.write("thi",{"_index":4774,"title":{},"content":{"629":{"position":[[605,21],[963,21]]}},"keywords":{}}],["filecompose.yaml",{"_index":2997,"title":{},"content":{"315":{"position":[[148,16]]}},"keywords":{}}],["filedownload",{"_index":4576,"title":{},"content":{"605":{"position":[[198,13]]}},"keywords":{}}],["filenam",{"_index":329,"title":{},"content":{"12":{"position":[[161,8],[240,9],[349,9],[555,9]]},"20":{"position":[[1252,8],[1383,8]]},"36":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"54":{"position":[[3141,8]]},"98":{"position":[[146,8]]},"123":{"position":[[661,8]]},"134":{"position":[[527,8],[564,8]]},"143":{"position":[[451,8]]},"170":{"position":[[128,9],[198,10]]},"183":{"position":[[134,9],[204,10]]},"187":{"position":[[280,9]]},"193":{"position":[[126,9],[196,10]]},"196":{"position":[[128,9],[198,10]]},"202":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"217":{"position":[[336,8]]},"224":{"position":[[208,8],[221,8],[275,8],[376,9]]},"267":{"position":[[3510,8],[3523,8],[3577,8],[3678,9],[10513,8]]},"276":{"position":[[171,8]]},"332":{"position":[[839,8]]},"339":{"position":[[78,10]]},"441":{"position":[[70,8]]},"442":{"position":[[512,8],[1363,8]]},"488":{"position":[[1719,8]]},"605":{"position":[[505,8],[820,8],[842,8]]},"607":{"position":[[128,8]]},"736":{"position":[[266,8]]},"737":{"position":[[490,8]]}},"keywords":{}}],["filename>"",{"_index":5414,"title":{},"content":{"736":{"position":[[213,19]]},"737":{"position":[[439,19]]}},"keywords":{}}],["filenamecr",{"_index":4571,"title":{},"content":{"605":{"position":[[25,15]]}},"keywords":{}}],["filepacket",{"_index":4037,"title":{},"content":{"454":{"position":[[292,11]]}},"keywords":{}}],["files"",{"_index":4805,"title":{},"content":{"632":{"position":[[1544,12],[1938,12]]}},"keywords":{}}],["files.each",{"_index":4806,"title":{},"content":{"632":{"position":[[1644,10]]}},"keywords":{}}],["files.program",{"_index":2848,"title":{},"content":{"298":{"position":[[1462,13]]}},"keywords":{}}],["filesav",{"_index":4574,"title":{},"content":{"605":{"position":[[136,9]]}},"keywords":{}}],["fill",{"_index":649,"title":{},"content":{"35":{"position":[[445,5]]},"37":{"position":[[238,5]]},"59":{"position":[[984,4],[1007,4]]},"60":{"position":[[677,7],[1453,4],[1476,4]]},"61":{"position":[[494,7],[2367,4],[2482,6]]},"62":{"position":[[1285,4],[1308,4]]},"63":{"position":[[690,6],[846,4],[877,6],[2469,4],[2492,4]]},"67":{"position":[[162,4],[227,5]]},"201":{"position":[[474,5]]},"203":{"position":[[257,5]]},"204":{"position":[[644,5]]},"205":{"position":[[480,5]]},"206":{"position":[[645,5]]},"207":{"position":[[428,5]]},"216":{"position":[[100,6],[191,6]]},"217":{"position":[[98,6],[187,6]]},"266":{"position":[[472,5]]},"268":{"position":[[264,5]]},"269":{"position":[[595,5]]},"270":{"position":[[264,5]]},"271":{"position":[[638,5]]},"272":{"position":[[430,5]]},"277":{"position":[[226,6]]},"303":{"position":[[271,4],[1323,6]]},"321":{"position":[[234,4]]},"347":{"position":[[1527,6]]},"553":{"position":[[3,4]]},"593":{"position":[[145,4]]},"600":{"position":[[306,5],[466,5]]},"601":{"position":[[143,4]]},"605":{"position":[[804,7]]}},"keywords":{}}],["filter",{"_index":4473,"title":{},"content":{"544":{"position":[[270,8]]},"572":{"position":[[157,6]]},"575":{"position":[[284,6]]},"579":{"position":[[56,8]]},"605":{"position":[[517,6]]},"632":{"position":[[536,7],[646,7],[1058,6],[1084,6],[1416,7]]},"759":{"position":[[148,6]]}},"keywords":{}}],["filter="<filter>"",{"_index":4795,"title":{},"content":{"632":{"position":[[773,34],[882,34]]}},"keywords":{}}],["filter=".txt"",{"_index":4807,"title":{},"content":{"632":{"position":[[1823,24]]}},"keywords":{}}],["final",{"_index":843,"title":{},"content":{"36":{"position":[[10074,7]]},"56":{"position":[[274,5]]},"59":{"position":[[426,8]]},"69":{"position":[[4208,5],[4883,5]]},"202":{"position":[[10074,7]]},"229":{"position":[[866,5]]},"405":{"position":[[281,5]]},"422":{"position":[[289,5]]},"465":{"position":[[694,8]]},"476":{"position":[[4888,7]]},"488":{"position":[[1957,8]]},"513":{"position":[[386,7]]},"514":{"position":[[1016,7]]},"564":{"position":[[267,7]]},"601":{"position":[[989,5]]},"617":{"position":[[713,8],[1186,8]]}},"keywords":{}}],["find",{"_index":117,"title":{},"content":{"3":{"position":[[505,4],[654,4]]},"44":{"position":[[1428,4]]},"194":{"position":[[256,4]]},"289":{"position":[[1247,4]]},"295":{"position":[[1,4]]},"304":{"position":[[1822,4],[1837,4]]},"328":{"position":[[825,4]]},"337":{"position":[[169,4]]},"449":{"position":[[622,4]]}},"keywords":{}}],["fine",{"_index":2769,"title":{},"content":{"289":{"position":[[763,4]]},"322":{"position":[[1414,4]]},"502":{"position":[[445,4]]}},"keywords":{}}],["finish",{"_index":4398,"title":{},"content":{"504":{"position":[[291,6]]},"606":{"position":[[23,8]]}},"keywords":{}}],["fired!"",{"_index":739,"title":{},"content":{"36":{"position":[[3938,12]]},"202":{"position":[[3938,12]]}},"keywords":{}}],["firefox",{"_index":395,"title":{},"content":{"20":{"position":[[74,7]]},"46":{"position":[[1554,8]]},"299":{"position":[[315,7],[350,7]]}},"keywords":{}}],["firewal",{"_index":3199,"title":{},"content":{"324":{"position":[[3738,8]]},"464":{"position":[[296,9]]},"467":{"position":[[130,9]]}},"keywords":{}}],["first",{"_index":157,"title":{},"content":{"5":{"position":[[429,6]]},"6":{"position":[[464,5]]},"43":{"position":[[79,5]]},"54":{"position":[[2905,5],[3458,6],[3480,7],[3558,7]]},"69":{"position":[[1578,5],[1673,5],[1957,5],[3837,6]]},"79":{"position":[[833,5]]},"83":{"position":[[816,5]]},"93":{"position":[[501,5],[943,5]]},"94":{"position":[[485,5],[734,5]]},"95":{"position":[[153,6]]},"99":{"position":[[1423,5],[1615,5],[1900,5],[2562,5],[4697,5],[5061,5]]},"208":{"position":[[103,5]]},"227":{"position":[[1431,5],[2070,5]]},"233":{"position":[[1068,5]]},"253":{"position":[[5551,7],[5660,5]]},"273":{"position":[[102,5]]},"283":{"position":[[593,5]]},"285":{"position":[[531,5]]},"290":{"position":[[269,5],[347,5]]},"304":{"position":[[3894,5]]},"315":{"position":[[354,5]]},"329":{"position":[[340,5],[514,5]]},"343":{"position":[[550,6],[622,6]]},"369":{"position":[[61,5]]},"400":{"position":[[63,5]]},"465":{"position":[[368,6]]},"476":{"position":[[3718,5]]},"488":{"position":[[1204,5]]},"490":{"position":[[242,5]]},"533":{"position":[[21,5]]},"564":{"position":[[144,5]]},"572":{"position":[[47,5]]},"578":{"position":[[713,5]]},"599":{"position":[[1342,5]]},"600":{"position":[[522,5]]},"601":{"position":[[307,5]]},"605":{"position":[[582,5]]},"612":{"position":[[580,5],[758,5]]},"703":{"position":[[1320,5]]},"746":{"position":[[855,5]]},"771":{"position":[[61,5]]}},"keywords":{}}],["fit",{"_index":2965,"title":{},"content":{"309":{"position":[[106,4]]},"360":{"position":[[847,7]]},"386":{"position":[[239,3]]},"387":{"position":[[108,3],[143,3]]},"388":{"position":[[88,3]]},"389":{"position":[[112,3]]},"390":{"position":[[89,3]]},"391":{"position":[[97,3]]}},"keywords":{}}],["fix",{"_index":1213,"title":{"60":{"position":[[0,5]]}},"content":{"49":{"position":[[1181,5],[2095,5]]},"50":{"position":[[1005,5],[1772,5]]},"52":{"position":[[1228,5]]},"54":{"position":[[292,5],[308,5],[391,5],[931,5],[1671,5]]},"56":{"position":[[80,6]]},"60":{"position":[[5,5],[346,5],[418,5],[513,5],[602,5]]},"61":{"position":[[52,5]]},"69":{"position":[[255,5]]},"103":{"position":[[311,3]]},"332":{"position":[[357,3]]},"369":{"position":[[506,5]]},"399":{"position":[[10,5]]},"745":{"position":[[505,5],[777,5]]},"746":{"position":[[965,5],[1248,5]]}},"keywords":{}}],["fixlinux",{"_index":1845,"title":{},"content":{"103":{"position":[[533,8]]}},"keywords":{}}],["fixwindow",{"_index":1842,"title":{},"content":{"103":{"position":[[357,10]]}},"keywords":{}}],["flag",{"_index":379,"title":{},"content":{"17":{"position":[[261,4]]},"18":{"position":[[266,4]]},"61":{"position":[[2409,4]]},"71":{"position":[[858,4]]},"75":{"position":[[1510,4]]},"76":{"position":[[677,4]]},"99":{"position":[[530,4],[591,4],[656,4],[723,4],[830,4],[932,4],[3153,4],[3560,4],[3696,4],[3874,4]]},"263":{"position":[[710,4]]},"304":{"position":[[6579,4],[6792,4]]},"493":{"position":[[225,4]]},"651":{"position":[[63,7]]}},"keywords":{}}],["flag"",{"_index":2219,"title":{},"content":{"226":{"position":[[365,10],[1243,10],[2013,10]]},"285":{"position":[[352,10]]}},"keywords":{}}],["flags"",{"_index":2222,"title":{},"content":{"226":{"position":[[544,11],[1422,11],[2192,11]]},"285":{"position":[[513,11]]}},"keywords":{}}],["flavor",{"_index":2532,"title":{},"content":{"253":{"position":[[3347,6]]}},"keywords":{}}],["flight",{"_index":1895,"title":{},"content":{"108":{"position":[[678,6]]},"298":{"position":[[899,6]]}},"keywords":{}}],["float",{"_index":625,"title":{},"content":{"31":{"position":[[579,6],[650,8]]},"35":{"position":[[713,6],[778,6]]},"37":{"position":[[506,6],[571,6]]},"198":{"position":[[880,6],[951,8]]},"201":{"position":[[742,6],[807,6],[2112,5]]},"203":{"position":[[525,6],[590,6],[1846,5]]},"204":{"position":[[912,6],[977,6]]},"205":{"position":[[748,6],[813,6]]},"206":{"position":[[508,6],[977,5]]},"207":{"position":[[291,6],[764,5]]},"226":{"position":[[755,5]]},"232":{"position":[[1084,5]]},"233":{"position":[[1301,5]]},"253":{"position":[[2940,5],[3825,5],[3831,7],[4915,5]]},"254":{"position":[[1538,5]]},"259":{"position":[[904,6],[975,8]]},"263":{"position":[[1247,5]]},"266":{"position":[[745,6]]},"267":{"position":[[7405,6]]},"268":{"position":[[537,6]]},"269":{"position":[[754,6]]},"270":{"position":[[423,6]]},"271":{"position":[[501,6],[965,5]]},"272":{"position":[[293,6],[761,5]]},"285":{"position":[[1238,5]]},"454":{"position":[[10,6]]},"504":{"position":[[813,8]]},"593":{"position":[[256,5],[470,7]]}},"keywords":{}}],["float(multipli",{"_index":782,"title":{},"content":{"36":{"position":[[5993,17]]},"202":{"position":[[5993,17]]},"267":{"position":[[4473,17]]}},"keywords":{}}],["floats"",{"_index":2149,"title":{},"content":{"206":{"position":[[1011,12]]},"207":{"position":[[798,12]]},"271":{"position":[[993,12]]},"272":{"position":[[789,12]]}},"keywords":{}}],["flow",{"_index":1920,"title":{},"content":{"116":{"position":[[9,4]]},"289":{"position":[[1232,7]]},"298":{"position":[[1323,5]]},"338":{"position":[[764,4]]},"364":{"position":[[474,5]]}},"keywords":{}}],["flow_control",{"_index":1979,"title":{},"content":{"135":{"position":[[338,12],[748,12]]},"338":{"position":[[804,12],[1377,12],[1397,12]]}},"keywords":{}}],["fluent",{"_index":3390,"title":{},"content":{"350":{"position":[[1334,6],[1417,6],[1477,6]]}},"keywords":{}}],["fluent/fluentd",{"_index":3360,"title":{"350":{"position":[[0,15]]}},"content":{},"keywords":{}}],["fluent/fluentd:v1.10.3",{"_index":3388,"title":{},"content":{"350":{"position":[[1234,22]]}},"keywords":{}}],["fluentd",{"_index":3361,"title":{},"content":{"350":{"position":[[1,7],[1030,7]]}},"keywords":{}}],["fluentd/etc/fluent.conf",{"_index":3389,"title":{},"content":{"350":{"position":[[1283,24]]}},"keywords":{}}],["flush_interv",{"_index":3383,"title":{},"content":{"350":{"position":[[473,14],[803,14],[1125,14]]}},"keywords":{}}],["fnkgt8h4nynrzr8po2jwebpfyzlr00gvsyk",{"_index":991,"title":{},"content":{"43":{"position":[[2404,35],[5869,35]]}},"keywords":{}}],["focu",{"_index":4556,"title":{},"content":{"593":{"position":[[625,5]]},"601":{"position":[[926,5]]}},"keywords":{}}],["folder",{"_index":338,"title":{},"content":{"12":{"position":[[377,6],[434,6]]},"27":{"position":[[128,7],[174,6]]},"36":{"position":[[4141,7]]},"104":{"position":[[27,7]]},"105":{"position":[[34,7]]},"122":{"position":[[135,6]]},"138":{"position":[[137,6],[356,6]]},"144":{"position":[[76,6],[150,6],[234,7]]},"171":{"position":[[223,6],[270,6]]},"174":{"position":[[121,6],[340,6]]},"184":{"position":[[296,6],[335,6]]},"202":{"position":[[4141,7]]},"230":{"position":[[951,6],[1702,6]]},"267":{"position":[[3090,7]]},"284":{"position":[[174,6]]},"320":{"position":[[1357,6],[1384,7]]},"321":{"position":[[22,6],[3555,7]]},"343":{"position":[[29,7]]},"344":{"position":[[15,6]]},"451":{"position":[[226,6]]},"452":{"position":[[147,6]]},"453":{"position":[[146,6]]},"485":{"position":[[192,6]]},"517":{"position":[[107,7]]},"518":{"position":[[207,6]]},"520":{"position":[[148,6]]},"605":{"position":[[391,7],[760,6],[783,6]]},"736":{"position":[[351,6]]}},"keywords":{}}],["folder/my_file"",{"_index":341,"title":{},"content":{"12":{"position":[[466,21]]}},"keywords":{}}],["follow",{"_index":143,"title":{},"content":{"5":{"position":[[68,8],[535,9]]},"6":{"position":[[318,10],[806,10]]},"7":{"position":[[668,8],[804,8]]},"27":{"position":[[219,9],[648,9],[774,9]]},"28":{"position":[[98,9]]},"34":{"position":[[5,9],[29,6]]},"36":{"position":[[5,9],[29,6]]},"48":{"position":[[21,9]]},"49":{"position":[[2791,6]]},"50":{"position":[[2384,6]]},"51":{"position":[[1259,6]]},"52":{"position":[[1809,6]]},"54":{"position":[[145,9],[2271,9]]},"56":{"position":[[21,9]]},"60":{"position":[[484,8]]},"61":{"position":[[2856,10]]},"62":{"position":[[273,8]]},"65":{"position":[[21,9]]},"69":{"position":[[1741,9],[4975,6]]},"75":{"position":[[351,9]]},"76":{"position":[[384,9]]},"77":{"position":[[400,9]]},"78":{"position":[[399,9]]},"83":{"position":[[893,9],[1750,9]]},"85":{"position":[[885,9]]},"91":{"position":[[49,9]]},"93":{"position":[[5,9]]},"94":{"position":[[5,9]]},"95":{"position":[[169,10]]},"120":{"position":[[230,7],[296,8],[353,9]]},"124":{"position":[[5,9],[29,6]]},"145":{"position":[[5,9],[29,6]]},"172":{"position":[[5,9],[29,6]]},"185":{"position":[[5,9],[29,6]]},"195":{"position":[[5,9],[29,6]]},"198":{"position":[[847,9]]},"200":{"position":[[5,9],[29,6]]},"202":{"position":[[5,9],[29,6]]},"227":{"position":[[719,9],[2368,8],[3104,8],[3385,8],[4028,8]]},"229":{"position":[[354,9]]},"230":{"position":[[381,9]]},"231":{"position":[[431,9]]},"232":{"position":[[501,9],[588,9]]},"233":{"position":[[537,9],[627,9]]},"234":{"position":[[617,9]]},"235":{"position":[[721,9]]},"240":{"position":[[758,10],[1586,10]]},"253":{"position":[[671,8]]},"257":{"position":[[887,6],[1842,6]]},"259":{"position":[[871,9]]},"262":{"position":[[702,8]]},"265":{"position":[[5,9],[29,6]]},"267":{"position":[[5,9],[29,6]]},"287":{"position":[[5,9]]},"291":{"position":[[1175,9]]},"292":{"position":[[282,9]]},"297":{"position":[[76,9]]},"298":{"position":[[5,9]]},"313":{"position":[[41,9]]},"316":{"position":[[46,10]]},"320":{"position":[[1496,6],[1573,9]]},"321":{"position":[[249,9]]},"324":{"position":[[523,9],[2494,9]]},"327":{"position":[[26,6]]},"328":{"position":[[136,8],[834,10],[1797,10]]},"329":{"position":[[1023,9],[1387,9]]},"338":{"position":[[346,9]]},"341":{"position":[[91,9]]},"347":{"position":[[2112,9]]},"357":{"position":[[409,9]]},"359":{"position":[[418,6]]},"361":{"position":[[137,6]]},"362":{"position":[[431,6]]},"364":{"position":[[79,9]]},"367":{"position":[[128,8]]},"384":{"position":[[428,9]]},"404":{"position":[[18,8],[909,9]]},"405":{"position":[[37,8]]},"406":{"position":[[37,8]]},"407":{"position":[[45,8]]},"408":{"position":[[37,8]]},"409":{"position":[[37,8]]},"410":{"position":[[37,8]]},"411":{"position":[[246,8],[846,9]]},"415":{"position":[[24,8]]},"416":{"position":[[24,8]]},"417":{"position":[[24,8]]},"418":{"position":[[645,9]]},"419":{"position":[[698,9]]},"420":{"position":[[37,8],[665,9]]},"441":{"position":[[612,9]]},"442":{"position":[[1168,9]]},"444":{"position":[[1076,9]]},"452":{"position":[[9,9]]},"453":{"position":[[9,9]]},"455":{"position":[[5,9]]},"456":{"position":[[5,9]]},"457":{"position":[[84,9]]},"461":{"position":[[42,9]]},"464":{"position":[[404,6]]},"466":{"position":[[801,9]]},"476":{"position":[[1214,9],[1789,9],[2676,9]]},"478":{"position":[[216,8],[251,10]]},"497":{"position":[[214,8],[364,9],[669,9]]},"585":{"position":[[29,9]]},"586":{"position":[[29,9]]},"593":{"position":[[485,9]]},"599":{"position":[[1264,9]]},"606":{"position":[[434,6]]},"618":{"position":[[85,9]]},"619":{"position":[[5,9]]},"620":{"position":[[5,9]]},"621":{"position":[[5,9]]},"658":{"position":[[740,8]]}},"keywords":{}}],["font",{"_index":2093,"title":{},"content":{"189":{"position":[[176,4]]},"382":{"position":[[90,4],[197,4]]},"439":{"position":[[254,4],[264,4]]},"440":{"position":[[361,4],[371,4]]}},"keywords":{}}],["footer",{"_index":276,"title":{},"content":{"7":{"position":[[1142,6]]}},"keywords":{}}],["footnot",{"_index":3582,"title":{},"content":{"357":{"position":[[4216,10]]}},"keywords":{}}],["forc",{"_index":380,"title":{},"content":{"17":{"position":[[281,5],[295,5]]},"18":{"position":[[286,5],[300,5]]},"35":{"position":[[1109,6],[1640,6]]},"37":{"position":[[902,6],[1433,6]]},"201":{"position":[[1138,6],[1669,6]]},"203":{"position":[[921,6],[1452,6]]},"204":{"position":[[1813,6]]},"205":{"position":[[1649,6]]}},"keywords":{}}],["foreground",{"_index":3915,"title":{},"content":{"429":{"position":[[1417,10]]}},"keywords":{}}],["foreign",{"_index":3684,"title":{},"content":{"363":{"position":[[1082,7]]}},"keywords":{}}],["forev",{"_index":2020,"title":{},"content":{"149":{"position":[[143,8]]},"152":{"position":[[147,8]]},"156":{"position":[[147,8]]},"159":{"position":[[151,8]]},"160":{"position":[[169,8]]},"161":{"position":[[165,8]]},"162":{"position":[[163,8]]},"163":{"position":[[163,8]]},"164":{"position":[[163,8]]},"359":{"position":[[1823,7]]}},"keywords":{}}],["forget",{"_index":3110,"title":{},"content":{"321":{"position":[[3662,6]]},"493":{"position":[[455,10],[505,10]]}},"keywords":{}}],["fork",{"_index":4009,"title":{},"content":{"449":{"position":[[71,4],[104,5]]}},"keywords":{}}],["form",{"_index":200,"title":{},"content":{"6":{"position":[[160,5]]},"43":{"position":[[461,4]]},"93":{"position":[[533,4]]},"94":{"position":[[517,4]]},"179":{"position":[[110,4]]},"227":{"position":[[6092,4]]},"367":{"position":[[103,4]]},"368":{"position":[[130,4]]},"459":{"position":[[1222,4]]},"660":{"position":[[21,4]]},"663":{"position":[[406,4]]},"676":{"position":[[295,4]]}},"keywords":{}}],["formal",{"_index":3636,"title":{},"content":{"360":{"position":[[398,6],[1289,7]]},"482":{"position":[[590,7]]}},"keywords":{}}],["format",{"_index":137,"title":{"4":{"position":[[5,6]]},"28":{"position":[[26,7]]},"97":{"position":[[16,7]]}},"content":{"5":{"position":[[908,6]]},"26":{"position":[[38,7],[223,6]]},"28":{"position":[[82,7],[139,7]]},"33":{"position":[[218,6]]},"35":{"position":[[1319,7],[1850,6]]},"36":{"position":[[92,10],[148,6]]},"37":{"position":[[1112,7],[1643,6]]},"44":{"position":[[1961,11]]},"93":{"position":[[1116,6]]},"94":{"position":[[284,9],[368,9]]},"99":{"position":[[139,7],[160,6],[3931,6]]},"120":{"position":[[277,6]]},"199":{"position":[[378,6]]},"201":{"position":[[1348,7],[1879,6]]},"202":{"position":[[92,10],[148,6]]},"203":{"position":[[1131,7],[1662,6]]},"204":{"position":[[1492,7],[2023,6]]},"205":{"position":[[1328,7],[1859,6]]},"206":{"position":[[879,6]]},"207":{"position":[[662,6]]},"216":{"position":[[145,9]]},"217":{"position":[[141,9]]},"227":{"position":[[3192,10],[4110,10]]},"229":{"position":[[1068,9]]},"230":{"position":[[782,6]]},"259":{"position":[[1651,9]]},"263":{"position":[[857,6]]},"264":{"position":[[395,6]]},"266":{"position":[[954,7]]},"267":{"position":[[87,10],[143,6]]},"268":{"position":[[746,7]]},"269":{"position":[[1048,7]]},"270":{"position":[[717,7]]},"271":{"position":[[872,6]]},"272":{"position":[[664,6]]},"285":{"position":[[1461,9]]},"305":{"position":[[138,7],[1501,10],[1516,9]]},"308":{"position":[[67,6],[553,10]]},"328":{"position":[[970,7],[1114,7],[1262,7]]},"368":{"position":[[331,7]]},"400":{"position":[[291,7]]},"401":{"position":[[285,6],[299,6],[523,10],[623,9]]},"402":{"position":[[285,6],[299,6],[487,6],[494,6],[710,10]]},"403":{"position":[[23,9],[48,9],[99,6],[520,6],[547,6],[695,10]]},"404":{"position":[[259,10]]},"405":{"position":[[507,10]]},"406":{"position":[[280,10]]},"407":{"position":[[426,10]]},"408":{"position":[[300,10]]},"409":{"position":[[303,10]]},"410":{"position":[[577,10]]},"411":{"position":[[567,10]]},"412":{"position":[[296,10]]},"413":{"position":[[294,10]]},"414":{"position":[[280,10]]},"415":{"position":[[269,10]]},"416":{"position":[[272,10]]},"417":{"position":[[546,10]]},"418":{"position":[[1387,9]]},"419":{"position":[[1440,9]]},"420":{"position":[[1412,9]]},"421":{"position":[[286,6],[303,6]]},"422":{"position":[[517,10]]},"423":{"position":[[556,10]]},"427":{"position":[[508,10]]},"440":{"position":[[541,10]]},"442":{"position":[[471,10]]},"444":{"position":[[699,10]]},"482":{"position":[[1497,7]]},"527":{"position":[[502,6]]},"536":{"position":[[282,9]]},"566":{"position":[[11,7],[78,9]]},"571":{"position":[[56,9],[90,9]]},"618":{"position":[[739,9],[749,9],[855,9],[923,6],[976,9],[1066,9],[1087,9],[1133,9],[1323,9]]},"628":{"position":[[705,6],[928,9],[1029,6]]},"652":{"position":[[580,10]]},"660":{"position":[[494,10]]},"662":{"position":[[558,10],[715,11]]},"669":{"position":[[620,10]]},"670":{"position":[[505,10]]},"671":{"position":[[499,10]]},"672":{"position":[[317,10]]},"673":{"position":[[1694,12]]},"681":{"position":[[1350,10]]},"682":{"position":[[1117,10]]},"685":{"position":[[962,10]]},"686":{"position":[[1013,10]]}},"keywords":{}}],["format_str",{"_index":656,"title":{},"content":{"36":{"position":[[58,14],[250,13]]},"40":{"position":[[247,13],[364,13],[473,13],[588,13],[1020,13]]},"202":{"position":[[58,14],[250,13]]},"267":{"position":[[53,14],[245,13]]},"321":{"position":[[488,13],[593,13],[834,13],[1344,13],[1453,13],[1876,13],[1985,13],[2376,13],[2485,13],[2897,13],[2987,13]]}},"keywords":{}}],["formatt",{"_index":2415,"title":{},"content":{"235":{"position":[[1611,10]]}},"keywords":{}}],["formatvalu",{"_index":3823,"title":{"403":{"position":[[0,12]]}},"content":{"403":{"position":[[834,11],[885,11]]}},"keywords":{}}],["formerli",{"_index":3679,"title":{},"content":{"363":{"position":[[181,9]]}},"keywords":{}}],["fortun",{"_index":4408,"title":{},"content":{"505":{"position":[[107,12]]}},"keywords":{}}],["forward",{"_index":1921,"title":{},"content":{"116":{"position":[[119,9]]},"336":{"position":[[122,8]]},"350":{"position":[[190,7]]},"360":{"position":[[1202,8]]}},"keywords":{}}],["found",{"_index":1341,"title":{},"content":{"59":{"position":[[909,5]]},"60":{"position":[[1307,5]]},"61":{"position":[[2207,5]]},"62":{"position":[[73,5],[171,5],[1209,5]]},"63":{"position":[[2393,5]]},"64":{"position":[[489,5]]},"90":{"position":[[56,5]]},"104":{"position":[[144,5]]},"105":{"position":[[307,5]]},"235":{"position":[[1786,5]]},"328":{"position":[[38,5],[1224,5]]},"334":{"position":[[231,5]]},"351":{"position":[[325,5],[396,5]]},"493":{"position":[[149,5],[293,5]]},"584":{"position":[[169,5],[283,5]]},"616":{"position":[[264,5]]}},"keywords":{}}],["foundher",{"_index":3034,"title":{},"content":{"320":{"position":[[58,10]]}},"keywords":{}}],["four",{"_index":2949,"title":{},"content":{"305":{"position":[[1460,4],[1575,4]]},"355":{"position":[[931,4]]},"618":{"position":[[11,4]]}},"keywords":{}}],["fqt",{"_index":2897,"title":{},"content":{"304":{"position":[[1291,4]]}},"keywords":{}}],["frame",{"_index":980,"title":{},"content":{"43":{"position":[[1197,5]]},"57":{"position":[[151,7]]},"58":{"position":[[74,5],[700,6],[998,6]]},"437":{"position":[[97,5]]},"438":{"position":[[136,5]]},"440":{"position":[[73,5]]}},"keywords":{}}],["framework",{"_index":2089,"title":{},"content":{"188":{"position":[[168,10]]},"227":{"position":[[479,10]]},"229":{"position":[[1613,9]]},"235":{"position":[[217,9],[342,9]]},"245":{"position":[[78,10],[127,9],[421,9]]},"246":{"position":[[153,9],[207,9]]},"251":{"position":[[112,9],[286,11]]},"253":{"position":[[2066,9]]},"361":{"position":[[553,9]]},"482":{"position":[[342,9]]}},"keywords":{}}],["fraud",{"_index":4114,"title":{},"content":{"465":{"position":[[469,6]]}},"keywords":{}}],["fraudul",{"_index":4094,"title":{},"content":{"461":{"position":[[1161,10]]}},"keywords":{}}],["free",{"_index":3131,"title":{},"content":{"322":{"position":[[1761,5]]},"359":{"position":[[67,4],[1974,4]]}},"keywords":{}}],["freedom",{"_index":4072,"title":{},"content":{"459":{"position":[[1721,8]]}},"keywords":{}}],["fresh",{"_index":1161,"title":{},"content":{"46":{"position":[[677,5]]},"608":{"position":[[127,5],[472,5]]}},"keywords":{}}],["friendli",{"_index":710,"title":{},"content":{"36":{"position":[[2783,8]]},"202":{"position":[[2783,8]]},"267":{"position":[[1995,8]]}},"keywords":{}}],["from=build",{"_index":3024,"title":{},"content":{"318":{"position":[[617,12]]}},"keywords":{}}],["front",{"_index":1913,"title":{},"content":{"114":{"position":[[114,5]]}},"keywords":{}}],["frontend",{"_index":1651,"title":{"84":{"position":[[10,8]]},"244":{"position":[[0,9]]}},"content":{"84":{"position":[[112,8],[1397,8]]},"85":{"position":[[1448,8]]},"184":{"position":[[236,8]]},"227":{"position":[[705,9]]},"235":{"position":[[401,8],[437,8],[1647,8]]},"239":{"position":[[473,8]]},"245":{"position":[[12,8]]},"246":{"position":[[198,8]]},"328":{"position":[[542,8]]}},"keywords":{}}],["fssl",{"_index":3350,"title":{},"content":{"347":{"position":[[2273,4]]}},"keywords":{}}],["fsw",{"_index":2838,"title":{},"content":{"298":{"position":[[915,6]]}},"keywords":{}}],["fsw_type",{"_index":2160,"title":{},"content":{"213":{"position":[[388,8]]},"275":{"position":[[397,8]]}},"keywords":{}}],["fulfil",{"_index":4462,"title":{},"content":{"528":{"position":[[1219,9],[1513,11],[1662,9]]}},"keywords":{}}],["full",{"_index":425,"title":{},"content":{"20":{"position":[[512,5]]},"36":{"position":[[353,4]]},"75":{"position":[[303,4],[452,4]]},"90":{"position":[[217,4]]},"202":{"position":[[353,4]]},"239":{"position":[[211,4]]},"253":{"position":[[1637,4],[4638,4],[5888,4]]},"267":{"position":[[348,4]]},"291":{"position":[[1466,4]]},"304":{"position":[[91,4]]},"322":{"position":[[2234,4]]},"357":{"position":[[4227,4]]},"414":{"position":[[358,4],[382,4]]},"488":{"position":[[1714,4]]},"553":{"position":[[150,4]]},"578":{"position":[[657,4]]},"600":{"position":[[603,4]]},"601":{"position":[[574,4],[628,4],[756,4],[811,4]]},"737":{"position":[[606,4]]}},"keywords":{}}],["fullchain.pem",{"_index":529,"title":{},"content":{"24":{"position":[[109,13],[252,13],[795,14]]}},"keywords":{}}],["fulli",{"_index":2367,"title":{},"content":{"231":{"position":[[809,5]]},"232":{"position":[[675,5]]},"233":{"position":[[717,5]]},"234":{"position":[[692,5]]},"235":{"position":[[1217,5]]},"245":{"position":[[24,5]]},"638":{"position":[[142,5]]},"639":{"position":[[168,5]]},"642":{"position":[[165,5]]},"643":{"position":[[191,5]]},"646":{"position":[[125,5]]},"648":{"position":[[30,5]]},"773":{"position":[[87,5]]}},"keywords":{}}],["fun",{"_index":123,"title":{},"content":{"3":{"position":[[605,4]]},"253":{"position":[[33,3]]}},"keywords":{}}],["function",{"_index":812,"title":{},"content":{"36":{"position":[[7823,8]]},"46":{"position":[[586,13]]},"65":{"position":[[109,13]]},"80":{"position":[[513,13]]},"108":{"position":[[121,13]]},"112":{"position":[[476,14]]},"202":{"position":[[7823,8]]},"227":{"position":[[1858,9]]},"230":{"position":[[1779,13]]},"231":{"position":[[815,10]]},"232":{"position":[[681,10]]},"233":{"position":[[723,10]]},"234":{"position":[[698,10]]},"235":{"position":[[1223,10]]},"267":{"position":[[6419,8]]},"299":{"position":[[63,13]]},"304":{"position":[[1725,14],[1780,14],[4007,9],[4103,9],[4855,14]]},"311":{"position":[[40,13]]},"361":{"position":[[644,13]]},"362":{"position":[[76,13],[131,13]]},"429":{"position":[[1124,8]]},"480":{"position":[[540,11]]},"490":{"position":[[227,14]]},"492":{"position":[[833,11]]},"508":{"position":[[439,13]]}},"keywords":{}}],["further",{"_index":1538,"title":{"95":{"position":[[0,7]]}},"content":{"79":{"position":[[620,7]]},"99":{"position":[[4366,7],[4582,7]]},"239":{"position":[[403,7]]},"343":{"position":[[107,7]]},"459":{"position":[[582,7],[654,7]]},"462":{"position":[[555,7]]},"465":{"position":[[139,7]]}},"keywords":{}}],["futur",{"_index":1783,"title":{},"content":{"99":{"position":[[61,6],[1074,6],[4606,6],[4729,6]]},"310":{"position":[[276,6],[371,6]]},"522":{"position":[[170,6]]},"527":{"position":[[593,6]]},"745":{"position":[[118,6]]}},"keywords":{}}],["gain",{"_index":1827,"title":{},"content":{"99":{"position":[[4815,7]]}},"keywords":{}}],["gap",{"_index":2436,"title":{},"content":{"240":{"position":[[691,6]]},"454":{"position":[[320,4]]}},"keywords":{}}],["gateway",{"_index":2565,"title":{},"content":{"253":{"position":[[7772,8]]},"352":{"position":[[96,7]]}},"keywords":{}}],["gather",{"_index":3896,"title":{},"content":{"428":{"position":[[35,6]]},"495":{"position":[[46,6]]}},"keywords":{}}],["gave",{"_index":3578,"title":{},"content":{"357":{"position":[[4114,4]]}},"keywords":{}}],["gb",{"_index":3488,"title":{},"content":{"357":{"position":[[860,2]]}},"keywords":{}}],["gcp",{"_index":2495,"title":{},"content":{"250":{"position":[[286,3]]},"516":{"position":[[304,3]]}},"keywords":{}}],["gdpr",{"_index":4054,"title":{},"content":{"459":{"position":[[359,5],[382,4],[1679,4]]}},"keywords":{}}],["gear",{"_index":4498,"title":{},"content":{"564":{"position":[[405,4]]}},"keywords":{}}],["gecko",{"_index":1061,"title":{},"content":{"44":{"position":[[1189,6]]}},"keywords":{}}],["gem",{"_index":1908,"title":{"340":{"position":[[15,5]]}},"content":{"112":{"position":[[523,3]]},"229":{"position":[[886,3]]},"254":{"position":[[2206,3]]},"321":{"position":[[3826,4]]},"322":{"position":[[1713,4]]},"331":{"position":[[289,3]]},"337":{"position":[[62,3],[66,3],[104,3],[195,3]]},"339":{"position":[[416,4]]},"350":{"position":[[1322,3],[1405,3]]},"448":{"position":[[37,3]]}},"keywords":{}}],["gem_hom",{"_index":1929,"title":{},"content":{"122":{"position":[[69,8]]}},"keywords":{}}],["gem_nam",{"_index":3274,"title":{},"content":{"339":{"position":[[310,10]]}},"keywords":{}}],["gemspec",{"_index":1930,"title":{},"content":{"122":{"position":[[179,8]]},"229":{"position":[[675,7]]}},"keywords":{}}],["gener",{"_index":197,"title":{"20":{"position":[[0,8]]},"228":{"position":[[5,10]]},"229":{"position":[[7,10]]},"230":{"position":[[7,10]]},"231":{"position":[[13,10]]},"232":{"position":[[11,10]]},"233":{"position":[[16,10]]},"234":{"position":[[7,10]]},"235":{"position":[[5,10]]},"336":{"position":[[12,9]]}},"content":{"6":{"position":[[119,8]]},"24":{"position":[[712,9]]},"36":{"position":[[797,8],[7771,7],[7804,7],[8993,7],[9598,7]]},"69":{"position":[[2452,8]]},"99":{"position":[[1831,9],[2279,9],[2493,9],[4680,9],[4992,9]]},"103":{"position":[[542,8]]},"107":{"position":[[78,9]]},"119":{"position":[[88,9]]},"179":{"position":[[37,7]]},"186":{"position":[[210,9]]},"187":{"position":[[222,9]]},"191":{"position":[[87,9]]},"202":{"position":[[797,8],[7771,7],[7804,7],[8993,7],[9598,7]]},"208":{"position":[[155,9]]},"213":{"position":[[186,8]]},"216":{"position":[[112,9]]},"217":{"position":[[110,9],[352,9]]},"227":{"position":[[83,9]]},"229":{"position":[[12,9],[194,8],[221,8],[266,8],[324,10],[1586,9],[1633,10]]},"230":{"position":[[12,9],[196,8],[223,8],[307,8],[351,10]]},"231":{"position":[[18,9],[208,8],[241,8],[331,8],[401,10]]},"232":{"position":[[16,9],[229,8],[260,8],[363,8],[460,10],[807,9]]},"233":{"position":[[21,9],[244,8],[280,8],[388,8],[491,10],[890,9],[1001,9]]},"234":{"position":[[16,9],[286,8],[313,8],[387,8],[457,10]]},"235":{"position":[[10,9],[494,8],[519,8],[579,8],[629,10]]},"253":{"position":[[1221,9],[1452,8],[1519,10],[1698,9],[2032,9],[2171,8],[2270,8],[2323,10],[2336,10],[2369,10],[2410,8],[2465,9],[2655,9]]},"262":{"position":[[761,8]]},"267":{"position":[[792,8],[6368,7],[6400,7],[7116,7],[7857,7]]},"273":{"position":[[154,9]]},"275":{"position":[[195,8]]},"280":{"position":[[94,8]]},"297":{"position":[[1206,9]]},"304":{"position":[[5730,9]]},"320":{"position":[[433,8],[504,8]]},"324":{"position":[[4049,9]]},"336":{"position":[[13,9]]},"338":{"position":[[390,9]]},"339":{"position":[[24,9]]},"352":{"position":[[263,8]]},"356":{"position":[[496,9],[542,7]]},"361":{"position":[[157,9]]},"367":{"position":[[95,7]]},"396":{"position":[[30,10]]},"460":{"position":[[175,10]]},"465":{"position":[[218,9]]},"466":{"position":[[275,10]]},"488":{"position":[[924,9],[1605,8]]},"497":{"position":[[64,9]]},"517":{"position":[[334,9]]},"533":{"position":[[234,9]]},"538":{"position":[[353,10]]},"583":{"position":[[255,9]]},"591":{"position":[[236,9]]},"609":{"position":[[158,8]]}},"keywords":{}}],["generic_read_conversion_end",{"_index":2659,"title":{},"content":{"267":{"position":[[7002,27],[7621,27],[7786,27],[7816,28]]},"285":{"position":[[1366,27],[1734,27]]}},"keywords":{}}],["generic_read_conversion_start",{"_index":2658,"title":{},"content":{"267":{"position":[[6328,30],[7527,29],[7694,29]]},"285":{"position":[[1208,29],[1484,29]]}},"keywords":{}}],["generic_write_conversion_end",{"_index":820,"title":{},"content":{"36":{"position":[[8343,28],[9338,28],[9525,28],[9556,29]]},"202":{"position":[[8343,28],[9338,28],[9525,28],[9556,29]]}},"keywords":{}}],["generic_write_conversion_start",{"_index":811,"title":{},"content":{"36":{"position":[[7730,31],[9243,30],[9432,30]]},"202":{"position":[[7730,31],[9243,30],[9432,30]]}},"keywords":{}}],["get",{"_index":753,"title":{"94":{"position":[[0,7]]},"252":{"position":[[0,7]]},"498":{"position":[[0,7]]}},"content":{"36":{"position":[[4542,4],[8534,4]]},"46":{"position":[[241,7]]},"99":{"position":[[1925,4],[1969,4],[2587,4],[2631,4],[5086,4],[5130,4]]},"202":{"position":[[4542,4],[8534,4]]},"257":{"position":[[1886,7]]},"294":{"position":[[13,7]]},"329":{"position":[[1346,4]]},"334":{"position":[[1123,4]]},"356":{"position":[[797,4]]},"498":{"position":[[96,7]]},"499":{"position":[[91,4]]},"528":{"position":[[713,4],[1594,4]]},"704":{"position":[[13,7]]},"718":{"position":[[511,4]]},"728":{"position":[[515,4]]},"749":{"position":[[12,4]]},"751":{"position":[[12,4]]}},"keywords":{}}],["get_all_cmd",{"_index":4645,"title":{"646":{"position":[[0,12]]}},"content":{"621":{"position":[[851,12],[996,12]]}},"keywords":{}}],["get_all_cmd_info",{"_index":4644,"title":{},"content":{"621":{"position":[[789,16]]}},"keywords":{}}],["get_all_cmd_nam",{"_index":4898,"title":{"647":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_cmd_names("<target",{"_index":4901,"title":{},"content":{"647":{"position":[[88,34]]}},"keywords":{}}],["get_all_cmd_names("inst"",{"_index":4902,"title":{},"content":{"647":{"position":[[220,35],[344,35]]}},"keywords":{}}],["get_all_cmds("<target",{"_index":4885,"title":{},"content":{"646":{"position":[[184,29]]}},"keywords":{}}],["get_all_cmds("inst"",{"_index":4887,"title":{},"content":{"646":{"position":[[312,30],[770,30]]}},"keywords":{}}],["get_all_command",{"_index":4884,"title":{"646":{"position":[[43,18]]}},"content":{},"keywords":{}}],["get_all_command_nam",{"_index":4900,"title":{"647":{"position":[[48,23]]}},"content":{},"keywords":{}}],["get_all_interface_info",{"_index":5301,"title":{"715":{"position":[[0,23]]}},"content":{"715":{"position":[[332,24],[877,24]]}},"keywords":{}}],["get_all_packet_logger_info",{"_index":4641,"title":{},"content":{"621":{"position":[[574,26]]}},"keywords":{}}],["get_all_router_info",{"_index":5363,"title":{"724":{"position":[[0,20]]}},"content":{"724":{"position":[[323,21],[860,21]]}},"keywords":{}}],["get_all_set",{"_index":5526,"title":{"767":{"position":[[0,17]]}},"content":{"767":{"position":[[95,18]]}},"keywords":{}}],["get_all_target_info",{"_index":4642,"title":{},"content":{"621":{"position":[[641,19]]}},"keywords":{}}],["get_all_telemetri",{"_index":5031,"title":{"664":{"position":[[42,19]]}},"content":{},"keywords":{}}],["get_all_telemetry_nam",{"_index":5039,"title":{"665":{"position":[[48,25]]}},"content":{},"keywords":{}}],["get_all_tlm",{"_index":4647,"title":{"664":{"position":[[0,11]]}},"content":{"621":{"position":[[926,11]]}},"keywords":{}}],["get_all_tlm("<target",{"_index":5032,"title":{},"content":{"664":{"position":[[71,28]]}},"keywords":{}}],["get_all_tlm("inst"",{"_index":5033,"title":{},"content":{"664":{"position":[[206,29]]}},"keywords":{}}],["get_all_tlm_info",{"_index":4646,"title":{},"content":{"621":{"position":[[864,16]]}},"keywords":{}}],["get_all_tlm_nam",{"_index":5038,"title":{"665":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_tlm_names("<target",{"_index":5040,"title":{},"content":{"665":{"position":[[70,34]]}},"keywords":{}}],["get_all_tlm_names("inst"",{"_index":5041,"title":{},"content":{"665":{"position":[[200,35]]}},"keywords":{}}],["get_background_task",{"_index":4643,"title":{},"content":{"621":{"position":[[728,20]]}},"keywords":{}}],["get_cmd",{"_index":4651,"title":{"648":{"position":[[0,7]]}},"content":{"621":{"position":[[1134,7]]},"650":{"position":[[35,8]]}},"keywords":{}}],["get_cmd("<target",{"_index":4906,"title":{},"content":{"648":{"position":[[90,24],[151,24]]}},"keywords":{}}],["get_cmd("inst",{"_index":4910,"title":{},"content":{"648":{"position":[[349,18],[810,18]]}},"keywords":{}}],["get_cmd_buff",{"_index":4935,"title":{"650":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_cmd_buffer("<target",{"_index":4936,"title":{},"content":{"650":{"position":[[128,31],[215,31]]}},"keywords":{}}],["get_cmd_buffer("inst",{"_index":4938,"title":{},"content":{"650":{"position":[[418,25],[922,25]]}},"keywords":{}}],["get_cmd_cnt",{"_index":4964,"title":{"654":{"position":[[0,12]]}},"content":{},"keywords":{}}],["get_cmd_cnt("<target",{"_index":4965,"title":{},"content":{"654":{"position":[[88,28],[154,28]]}},"keywords":{}}],["get_cmd_cnt("inst",{"_index":4966,"title":{},"content":{"654":{"position":[[357,22]]}},"keywords":{}}],["get_cmd_hazard",{"_index":4947,"title":{"651":{"position":[[0,18]]}},"content":{},"keywords":{}}],["get_cmd_hazardous("<target",{"_index":4948,"title":{},"content":{"651":{"position":[[109,34]]}},"keywords":{}}],["get_cmd_hazardous("inst"",{"_index":4950,"title":{},"content":{"651":{"position":[[487,35],[628,35]]}},"keywords":{}}],["get_cmd_list",{"_index":4648,"title":{},"content":{"621":{"position":[[938,12]]}},"keywords":{}}],["get_cmd_log_filenam",{"_index":4649,"title":{},"content":{"621":{"position":[[1009,20]]}},"keywords":{}}],["get_cmd_param_list",{"_index":4650,"title":{},"content":{"621":{"position":[[1070,18]]}},"keywords":{}}],["get_cmd_tim",{"_index":4960,"title":{"653":{"position":[[0,13]]}},"content":{"653":{"position":[[489,14]]}},"keywords":{}}],["get_cmd_time("<target",{"_index":4961,"title":{},"content":{"653":{"position":[[75,29]]}},"keywords":{}}],["get_cmd_time("inst"",{"_index":4963,"title":{},"content":{"653":{"position":[[600,30],[732,30]]}},"keywords":{}}],["get_cmd_tlm_disconnect",{"_index":4652,"title":{},"content":{"621":{"position":[[1142,22]]}},"keywords":{}}],["get_cmd_valu",{"_index":4952,"title":{"652":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_cmd_value("<target",{"_index":4954,"title":{},"content":{"652":{"position":[[250,30]]}},"keywords":{}}],["get_cmd_value("inst"",{"_index":4957,"title":{},"content":{"652":{"position":[[669,31],[795,31]]}},"keywords":{}}],["get_command",{"_index":4905,"title":{"648":{"position":[[38,13]]}},"content":{},"keywords":{}}],["get_disconnected_target",{"_index":4653,"title":{},"content":{"621":{"position":[[1207,24]]}},"keywords":{}}],["get_interfac",{"_index":4655,"title":{"709":{"position":[[0,13]]}},"content":{"621":{"position":[[1324,13],[2758,13]]}},"keywords":{}}],["get_interface("<interfac",{"_index":5260,"title":{},"content":{"709":{"position":[[134,33]]}},"keywords":{}}],["get_interface("inst_int"",{"_index":5261,"title":{},"content":{"709":{"position":[[282,35]]}},"keywords":{}}],["get_interface_info",{"_index":4654,"title":{},"content":{"621":{"position":[[1260,18]]}},"keywords":{}}],["get_interface_nam",{"_index":5283,"title":{"710":{"position":[[0,20]]}},"content":{"710":{"position":[[113,21]]}},"keywords":{}}],["get_interface_target",{"_index":4656,"title":{},"content":{"621":{"position":[[1338,21]]}},"keywords":{}}],["get_item",{"_index":5055,"title":{"667":{"position":[[0,8]]}},"content":{},"keywords":{}}],["get_item("<target",{"_index":5056,"title":{},"content":{"667":{"position":[[47,25],[127,25]]}},"keywords":{}}],["get_item("inst",{"_index":5057,"title":{},"content":{"667":{"position":[[380,19]]}},"keywords":{}}],["get_limit",{"_index":5172,"title":{"699":{"position":[[0,11]]}},"content":{},"keywords":{}}],["get_limits(<target",{"_index":5174,"title":{},"content":{"699":{"position":[[95,21]]}},"keywords":{}}],["get_limits('inst",{"_index":5175,"title":{},"content":{"699":{"position":[[368,18],[689,18]]}},"keywords":{}}],["get_limits_ev",{"_index":5208,"title":{"703":{"position":[[0,18]]}},"content":{"703":{"position":[[219,17],[402,18]]}},"keywords":{}}],["get_limits_event(<offset>",{"_index":5209,"title":{},"content":{"703":{"position":[[109,32]]}},"keywords":{}}],["get_limits_event(ev",{"_index":5223,"title":{},"content":{"703":{"position":[[1371,24]]}},"keywords":{}}],["get_limits_group",{"_index":5167,"title":{"695":{"position":[[0,18]]}},"content":{"695":{"position":[[100,19]]}},"keywords":{}}],["get_limits_set",{"_index":5171,"title":{"697":{"position":[[0,15]]},"698":{"position":[[0,16]]}},"content":{"697":{"position":[[127,16]]},"698":{"position":[[96,17]]}},"keywords":{}}],["get_line_delay",{"_index":5460,"title":{"749":{"position":[[0,15]]}},"content":{"749":{"position":[[123,16]]}},"keywords":{}}],["get_max_output",{"_index":5467,"title":{"751":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_out_of_limit",{"_index":5200,"title":{"701":{"position":[[0,18]]}},"content":{"701":{"position":[[187,19]]}},"keywords":{}}],["get_output_logs_filenam",{"_index":4657,"title":{},"content":{"621":{"position":[[1400,25]]}},"keywords":{}}],["get_overall_limits_st",{"_index":5202,"title":{"702":{"position":[[0,25]]}},"content":{"702":{"position":[[393,26]]}},"keywords":{}}],["get_overall_limits_state(<ignor",{"_index":5203,"title":{},"content":{"702":{"position":[[118,36]]}},"keywords":{}}],["get_overall_limits_state([['inst",{"_index":5207,"title":{},"content":{"702":{"position":[[443,34]]}},"keywords":{}}],["get_overrid",{"_index":5084,"title":{"673":{"position":[[0,14]]}},"content":{"673":{"position":[[225,15],[318,15]]}},"keywords":{}}],["get_packet",{"_index":4658,"title":{"676":{"position":[[0,11]]}},"content":{"621":{"position":[[1466,10],[1522,11],[1595,11]]}},"keywords":{}}],["get_packet_data",{"_index":4659,"title":{},"content":{"621":{"position":[[1534,15]]}},"keywords":{}}],["get_packet_derived_item",{"_index":5111,"title":{"679":{"position":[[0,25]]}},"content":{},"keywords":{}}],["get_packet_derived_items("<target>",{"_index":5112,"title":{},"content":{"679":{"position":[[78,45]]}},"keywords":{}}],["get_packet_derived_items("<target>"",{"_index":5113,"title":{},"content":{"679":{"position":[[146,52]]}},"keywords":{}}],["get_packet_derived_items("inst",{"_index":5114,"title":{},"content":{"679":{"position":[[313,35]]}},"keywords":{}}],["get_packet_logg",{"_index":4661,"title":{},"content":{"621":{"position":[[1670,18]]}},"keywords":{}}],["get_packet_logger_info",{"_index":4660,"title":{},"content":{"621":{"position":[[1607,22]]}},"keywords":{}}],["get_packets(id",{"_index":4371,"title":{},"content":{"499":{"position":[[635,15],[852,15],[973,15],[1184,15]]},"676":{"position":[[66,15],[125,15],[521,15],[744,15],[1025,15],[1242,15]]}},"keywords":{}}],["get_param",{"_index":4912,"title":{"649":{"position":[[0,9]]}},"content":{},"keywords":{}}],["get_param("<target",{"_index":4914,"title":{},"content":{"649":{"position":[[71,26],[158,26]]}},"keywords":{}}],["get_param("inst",{"_index":4917,"title":{},"content":{"649":{"position":[[422,20],[1149,20]]}},"keywords":{}}],["get_paramet",{"_index":4913,"title":{"649":{"position":[[40,15]]}},"content":{},"keywords":{}}],["get_replay_mod",{"_index":4662,"title":{},"content":{"621":{"position":[[1729,15]]}},"keywords":{}}],["get_rout",{"_index":4665,"title":{"723":{"position":[[0,10]]}},"content":{"621":{"position":[[1824,10],[3479,10]]}},"keywords":{}}],["get_router("<rout",{"_index":5358,"title":{},"content":{"723":{"position":[[127,27]]}},"keywords":{}}],["get_router("router_int"",{"_index":5359,"title":{},"content":{"723":{"position":[[260,34]]}},"keywords":{}}],["get_router_info",{"_index":4664,"title":{},"content":{"621":{"position":[[1763,15]]}},"keywords":{}}],["get_router_nam",{"_index":5355,"title":{"722":{"position":[[0,17]]}},"content":{"722":{"position":[[107,18]]}},"keywords":{}}],["get_screen_definit",{"_index":5437,"title":{"744":{"position":[[0,22]]}},"content":{"744":{"position":[[5,21]]}},"keywords":{}}],["get_screen_definition("<target",{"_index":5438,"title":{},"content":{"744":{"position":[[102,38]]}},"keywords":{}}],["get_screen_definition("inst"",{"_index":5440,"title":{},"content":{"744":{"position":[[351,39]]}},"keywords":{}}],["get_screen_list",{"_index":5436,"title":{"743":{"position":[[0,16]]}},"content":{"743":{"position":[[5,15],[102,17]]}},"keywords":{}}],["get_scriptrunner_message_log_filenam",{"_index":4666,"title":{},"content":{"621":{"position":[[1835,37]]}},"keywords":{}}],["get_server_messag",{"_index":4667,"title":{},"content":{"621":{"position":[[1913,18]]}},"keywords":{}}],["get_server_message_log_filenam",{"_index":4668,"title":{},"content":{"621":{"position":[[1972,31]]}},"keywords":{}}],["get_server_statu",{"_index":4669,"title":{},"content":{"621":{"position":[[2044,17]]}},"keywords":{}}],["get_set",{"_index":5550,"title":{"768":{"position":[[0,12],[13,13]]}},"content":{},"keywords":{}}],["get_setting(<set",{"_index":5551,"title":{},"content":{"768":{"position":[[139,23]]}},"keywords":{}}],["get_setting('vers",{"_index":5557,"title":{},"content":{"768":{"position":[[324,22]]}},"keywords":{}}],["get_settings(<set",{"_index":5552,"title":{},"content":{"768":{"position":[[173,24]]}},"keywords":{}}],["get_settings('rubygems_url",{"_index":5566,"title":{},"content":{"769":{"position":[[409,28]]}},"keywords":{}}],["get_settings('vers",{"_index":5559,"title":{},"content":{"768":{"position":[[384,23]]}},"keywords":{}}],["get_stal",{"_index":4670,"title":{},"content":{"621":{"position":[[2102,9]]}},"keywords":{}}],["get_target",{"_index":4672,"title":{"706":{"position":[[0,11]]}},"content":{"621":{"position":[[2222,10],[2308,10],[2380,10]]}},"keywords":{}}],["get_target("<target",{"_index":5226,"title":{},"content":{"706":{"position":[[87,27]]}},"keywords":{}}],["get_target("inst"",{"_index":5227,"title":{},"content":{"706":{"position":[[211,28]]}},"keywords":{}}],["get_target_fil",{"_index":4526,"title":{"628":{"position":[[0,16]]}},"content":{"585":{"position":[[148,15]]}},"keywords":{}}],["get_target_file("<fil",{"_index":4754,"title":{},"content":{"628":{"position":[[71,30],[153,30]]}},"keywords":{}}],["get_target_file("inst/data/attitude.bin"",{"_index":4759,"title":{},"content":{"628":{"position":[[624,51],[945,51]]}},"keywords":{}}],["get_target_file("inst/procedures/checks.rb"",{"_index":4762,"title":{},"content":{"628":{"position":[[759,54],[1084,54]]}},"keywords":{}}],["get_target_file(env['tbl_filenam",{"_index":4529,"title":{},"content":{"585":{"position":[[453,36]]}},"keywords":{}}],["get_target_ignored_item",{"_index":4671,"title":{},"content":{"621":{"position":[[2152,24]]}},"keywords":{}}],["get_target_ignored_paramet",{"_index":4673,"title":{},"content":{"621":{"position":[[2233,29]]}},"keywords":{}}],["get_target_info",{"_index":4674,"title":{},"content":{"621":{"position":[[2319,15]]}},"keywords":{}}],["get_target_interfac",{"_index":4627,"title":{"707":{"position":[[0,22]]}},"content":{"620":{"position":[[219,21]]},"621":{"position":[[706,21]]},"707":{"position":[[201,23]]}},"keywords":{}}],["get_target_list",{"_index":4675,"title":{},"content":{"621":{"position":[[2391,15]]}},"keywords":{}}],["get_target_nam",{"_index":4676,"title":{"705":{"position":[[0,17]]}},"content":{"621":{"position":[[2452,16]]},"705":{"position":[[93,18]]}},"keywords":{}}],["get_telemetri",{"_index":5043,"title":{"666":{"position":[[38,15]]}},"content":{},"keywords":{}}],["get_tlm",{"_index":5010,"title":{"666":{"position":[[0,7]]}},"content":{"661":{"position":[[35,8]]}},"keywords":{}}],["get_tlm("<target",{"_index":5044,"title":{},"content":{"666":{"position":[[48,24],[109,24]]}},"keywords":{}}],["get_tlm("inst",{"_index":5045,"title":{},"content":{"666":{"position":[[304,18]]}},"keywords":{}}],["get_tlm_buff",{"_index":5009,"title":{"661":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_buffer("<target",{"_index":5011,"title":{},"content":{"661":{"position":[[111,31],[198,31]]}},"keywords":{}}],["get_tlm_buffer("inst",{"_index":5012,"title":{},"content":{"661":{"position":[[410,25]]}},"keywords":{}}],["get_tlm_cnt",{"_index":5062,"title":{"668":{"position":[[0,12]]},"677":{"position":[[0,12]]},"678":{"position":[[0,13]]}},"content":{},"keywords":{}}],["get_tlm_cnt("<target",{"_index":5063,"title":{},"content":{"668":{"position":[[101,28],[166,28]]}},"keywords":{}}],["get_tlm_cnt("<target>",{"_index":5104,"title":{},"content":{"677":{"position":[[70,32]]}},"keywords":{}}],["get_tlm_cnt("<target>"",{"_index":5106,"title":{},"content":{"677":{"position":[[125,39]]}},"keywords":{}}],["get_tlm_cnt("inst",{"_index":5065,"title":{},"content":{"668":{"position":[[376,22]]},"677":{"position":[[279,22]]}},"keywords":{}}],["get_tlm_cnts([["<target>"",{"_index":5108,"title":{},"content":{"678":{"position":[[82,42]]}},"keywords":{}}],["get_tlm_cnts([["inst"",{"_index":5110,"title":{},"content":{"678":{"position":[[299,32]]}},"keywords":{}}],["get_tlm_detail",{"_index":4677,"title":{},"content":{"621":{"position":[[2469,15]]}},"keywords":{}}],["get_tlm_item_list",{"_index":4678,"title":{},"content":{"621":{"position":[[2525,17]]}},"keywords":{}}],["get_tlm_list",{"_index":4679,"title":{},"content":{"621":{"position":[[2583,12]]}},"keywords":{}}],["get_tlm_log_filenam",{"_index":4680,"title":{},"content":{"621":{"position":[[2636,20]]}},"keywords":{}}],["get_tlm_packet",{"_index":5015,"title":{"662":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_packet("<target",{"_index":5018,"title":{},"content":{"662":{"position":[[226,31],[308,31]]}},"keywords":{}}],["get_tlm_packet("inst",{"_index":5021,"title":{},"content":{"662":{"position":[[662,25],[779,25]]}},"keywords":{}}],["get_tlm_valu",{"_index":5023,"title":{"663":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_tlm_values(<items>",{"_index":5025,"title":{},"content":{"663":{"position":[[323,29]]}},"keywords":{}}],["get_tlm_values(["inst__health_status__temp1__converted"",{"_index":5028,"title":{},"content":{"663":{"position":[[476,66]]}},"keywords":{}}],["getnamedwidget",{"_index":3766,"title":{},"content":{"384":{"position":[[45,14],[248,14]]}},"keywords":{}}],["gib",{"_index":3470,"title":{},"content":{"357":{"position":[[87,3]]}},"keywords":{}}],["gimbal",{"_index":4247,"title":{},"content":{"481":{"position":[[407,6]]},"487":{"position":[[230,6],[767,6],[876,6],[945,6],[1018,6],[1108,6],[1247,7],[1339,6],[1415,6],[1488,6],[1497,8],[1580,6]]}},"keywords":{}}],["gimbal.gimbal_steps}"",{"_index":4302,"title":{},"content":{"487":{"position":[[1115,28],[1587,28]]}},"keywords":{}}],["gimbal.home_gimb",{"_index":4298,"title":{},"content":{"487":{"position":[[1038,18],[1506,20]]}},"keywords":{}}],["gimbal.move(100",{"_index":4299,"title":{},"content":{"487":{"position":[[1057,16],[1527,16]]}},"keywords":{}}],["gimbal.move(200",{"_index":4300,"title":{},"content":{"487":{"position":[[1074,16],[1544,16]]}},"keywords":{}}],["gimbal.new",{"_index":4297,"title":{},"content":{"487":{"position":[[1027,10]]}},"keywords":{}}],["gimbal_step",{"_index":4292,"title":{},"content":{"487":{"position":[[788,13],[819,13],[883,13],[952,13]]}},"keywords":{}}],["git",{"_index":1165,"title":{},"content":{"46":{"position":[[789,3],[879,3]]},"102":{"position":[[73,3]]},"229":{"position":[[405,3]]},"290":{"position":[[65,3],[120,3]]},"291":{"position":[[553,3]]},"317":{"position":[[1,3]]},"318":{"position":[[328,3],[405,3],[437,3]]},"324":{"position":[[1673,3],[2767,3]]},"347":{"position":[[2260,3],[2384,3]]},"449":{"position":[[111,3],[215,3],[457,3]]}},"keywords":{}}],["git://github.com/<username>/openc3.git",{"_index":4011,"title":{},"content":{"449":{"position":[[121,44]]}},"keywords":{}}],["github",{"_index":132,"title":{},"content":{"3":{"position":[[698,6]]},"46":{"position":[[867,6]]},"90":{"position":[[88,7]]},"110":{"position":[[62,6],[167,6]]},"254":{"position":[[2870,6]]},"295":{"position":[[64,6]]},"324":{"position":[[1482,7]]},"449":{"position":[[693,6]]},"457":{"position":[[409,7]]}},"keywords":{}}],["gitlen",{"_index":1559,"title":{},"content":{"83":{"position":[[163,8]]}},"keywords":{}}],["give",{"_index":1482,"title":{},"content":{"69":{"position":[[4512,6]]},"168":{"position":[[88,4]]},"253":{"position":[[4241,6]]},"363":{"position":[[237,5]]},"459":{"position":[[177,4]]},"486":{"position":[[105,5]]},"523":{"position":[[80,6]]},"540":{"position":[[265,4]]}},"keywords":{}}],["given",{"_index":189,"title":{},"content":{"5":{"position":[[1458,5]]},"13":{"position":[[12,5]]},"14":{"position":[[12,5]]},"15":{"position":[[13,5]]},"16":{"position":[[13,5]]},"36":{"position":[[2041,5],[8442,6]]},"44":{"position":[[1875,5]]},"60":{"position":[[914,5]]},"62":{"position":[[554,5],[686,5]]},"63":{"position":[[1379,5],[1511,5]]},"69":{"position":[[3913,5]]},"75":{"position":[[1418,6]]},"76":{"position":[[985,6]]},"77":{"position":[[848,6]]},"78":{"position":[[852,6]]},"79":{"position":[[1195,6]]},"93":{"position":[[751,5]]},"99":{"position":[[4472,5]]},"168":{"position":[[243,5]]},"186":{"position":[[170,5],[234,5]]},"187":{"position":[[193,5],[246,5]]},"202":{"position":[[2041,5],[8442,6]]},"222":{"position":[[164,5]]},"227":{"position":[[984,5],[4604,5],[4668,5],[4764,6]]},"267":{"position":[[7100,6]]},"281":{"position":[[164,5]]},"339":{"position":[[149,5]]},"357":{"position":[[3924,5]]},"359":{"position":[[660,5]]},"384":{"position":[[612,5]]},"403":{"position":[[113,5]]},"452":{"position":[[161,5]]},"453":{"position":[[160,5]]},"475":{"position":[[221,6]]},"479":{"position":[[90,5]]},"495":{"position":[[219,5]]},"504":{"position":[[79,5]]},"513":{"position":[[567,5]]},"523":{"position":[[222,5]]},"525":{"position":[[443,5]]},"548":{"position":[[578,5]]},"585":{"position":[[325,6]]},"586":{"position":[[344,6]]},"636":{"position":[[1011,6]]},"637":{"position":[[1233,6]]},"638":{"position":[[1254,6]]},"639":{"position":[[1287,6]]},"640":{"position":[[1087,6]]},"641":{"position":[[1304,6]]},"642":{"position":[[1325,6]]},"643":{"position":[[1358,6]]},"649":{"position":[[23,5]]},"651":{"position":[[356,5]]},"653":{"position":[[239,6],[352,6],[400,5]]},"656":{"position":[[173,5],[722,5]]},"681":{"position":[[110,5],[194,5]]},"685":{"position":[[123,5]]},"700":{"position":[[1205,6],[1355,6],[1551,5]]},"711":{"position":[[315,5],[374,5]]},"720":{"position":[[264,5],[320,5]]},"736":{"position":[[77,5]]},"768":{"position":[[26,5]]},"769":{"position":[[10,5]]},"772":{"position":[[50,5]]}},"keywords":{}}],["given_valu",{"_index":756,"title":{},"content":{"36":{"position":[[4835,14],[8827,14]]},"202":{"position":[[4835,14],[8827,14]]}},"keywords":{}}],["global",{"_index":1830,"title":{},"content":{"102":{"position":[[28,6]]},"352":{"position":[[382,7]]},"612":{"position":[[970,6]]}},"keywords":{}}],["global_set",{"_index":3734,"title":{"372":{"position":[[0,15]]}},"content":{"372":{"position":[[322,14]]},"374":{"position":[[245,14],[373,14]]}},"keywords":{}}],["global_subset",{"_index":3738,"title":{"373":{"position":[[0,18]]}},"content":{"373":{"position":[[862,17]]},"374":{"position":[[264,17],[392,17]]}},"keywords":{}}],["gmt",{"_index":944,"title":{},"content":{"42":{"position":[[838,3]]},"43":{"position":[[926,4],[1048,4],[1287,3],[6579,3]]}},"keywords":{}}],["go",{"_index":575,"title":{"503":{"position":[[12,2]]}},"content":{"27":{"position":[[164,2]]},"83":{"position":[[3064,2]]},"126":{"position":[[310,2],[506,2]]},"253":{"position":[[570,2]]},"254":{"position":[[485,2],[651,2],[795,2],[2034,2],[2466,2]]},"322":{"position":[[1856,2]]},"327":{"position":[[17,5]]},"332":{"position":[[723,2]]},"367":{"position":[[258,2]]},"404":{"position":[[551,5],[731,5]]},"495":{"position":[[1352,4]]},"502":{"position":[[109,2]]},"511":{"position":[[305,5]]},"536":{"position":[[330,2]]},"578":{"position":[[827,2]]},"607":{"position":[[627,2]]},"612":{"position":[[346,2]]},"613":{"position":[[312,2]]},"681":{"position":[[252,3]]},"756":{"position":[[42,2]]}},"keywords":{}}],["go/retri",{"_index":2931,"title":{},"content":{"304":{"position":[[6035,8]]}},"keywords":{}}],["goal",{"_index":3696,"title":{},"content":{"364":{"position":[[97,6]]},"474":{"position":[[187,4]]},"482":{"position":[[1523,6]]}},"keywords":{}}],["goe",{"_index":3846,"title":{},"content":{"410":{"position":[[277,4],[416,4]]},"417":{"position":[[246,4],[385,4]]},"423":{"position":[[256,4],[395,4]]},"501":{"position":[[168,4]]},"577":{"position":[[543,4]]},"578":{"position":[[1289,4]]}},"keywords":{}}],["gone",{"_index":2861,"title":{},"content":{"302":{"position":[[125,4]]},"578":{"position":[[1380,4]]},"618":{"position":[[477,4],[801,4]]}},"keywords":{}}],["good",{"_index":821,"title":{},"content":{"36":{"position":[[9023,4]]},"202":{"position":[[9023,4]]},"230":{"position":[[1401,4]]},"267":{"position":[[7146,4]]},"309":{"position":[[101,4]]},"355":{"position":[[340,4]]},"404":{"position":[[864,4]]},"467":{"position":[[1141,4]]},"476":{"position":[[1816,4],[2703,4],[3821,4]]},"481":{"position":[[450,4]]},"591":{"position":[[310,4]]},"700":{"position":[[1307,4],[1457,4]]}},"keywords":{}}],["googl",{"_index":2979,"title":{},"content":{"311":{"position":[[743,6]]}},"keywords":{}}],["gotcha",{"_index":4315,"title":{},"content":{"488":{"position":[[1673,6]]}},"keywords":{}}],["goto",{"_index":1186,"title":{},"content":{"46":{"position":[[1567,5]]},"324":{"position":[[3939,4]]},"347":{"position":[[2633,5]]}},"keywords":{}}],["govern",{"_index":3657,"title":{},"content":{"361":{"position":[[542,10]]}},"keywords":{}}],["gplv3",{"_index":3603,"title":{},"content":{"359":{"position":[[119,5]]}},"keywords":{}}],["grab",{"_index":1354,"title":{},"content":{"61":{"position":[[140,4]]},"628":{"position":[[488,4]]}},"keywords":{}}],["grafana",{"_index":3408,"title":{"353":{"position":[[0,8]]}},"content":{"352":{"position":[[280,7]]},"353":{"position":[[1,7]]}},"keywords":{}}],["grafana/grafana",{"_index":3436,"title":{},"content":{"353":{"position":[[420,15]]}},"keywords":{}}],["grain",{"_index":2770,"title":{},"content":{"289":{"position":[[768,7]]}},"keywords":{}}],["graph",{"_index":2943,"title":{"599":{"position":[[0,5]]},"601":{"position":[[0,5]]}},"content":{"305":{"position":[[762,5]]},"307":{"position":[[28,8],[177,6],[300,8],[353,9],[400,8],[463,5],[828,8],[925,8]]},"353":{"position":[[118,7]]},"357":{"position":[[547,6],[952,6]]},"366":{"position":[[108,5]]},"418":{"position":[[17,5],[631,5],[764,5],[1293,5],[1638,5],[1759,5],[1891,5],[1953,5],[1984,5]]},"419":{"position":[[22,5],[684,5],[817,5],[1346,5],[1691,5],[1812,5],[1944,5],[2006,5],[2037,5]]},"420":{"position":[[651,5],[789,5],[1318,5],[1663,5],[1784,5],[1916,5],[1978,5],[2009,5]]},"596":{"position":[[24,8],[94,6],[122,6]]},"598":{"position":[[30,7]]},"599":{"position":[[168,5],[226,7],[273,5],[310,7],[329,7],[589,5],[643,5],[668,5],[1051,5],[1145,5],[1205,5],[1274,5],[1348,5]]},"600":{"position":[[231,5],[262,9],[300,5],[355,5],[446,5],[476,5],[570,5]]},"601":{"position":[[5,6],[102,6],[185,6],[242,5],[334,5],[388,6],[442,6],[477,6],[526,5],[639,6],[710,5],[823,6],[877,5],[944,5],[974,7],[1015,6]]}},"keywords":{}}],["graphedit",{"_index":4563,"title":{},"content":{"599":{"position":[[57,9]]}},"keywords":{}}],["grapher",{"_index":2631,"title":{"307":{"position":[[10,8]]},"595":{"position":[[10,7]]},"597":{"position":[[10,7]]}},"content":{"263":{"position":[[657,7]]},"278":{"position":[[112,7]]},"307":{"position":[[11,7],[150,7],[269,7],[378,7],[508,7],[597,7],[709,7],[806,7],[903,7],[1004,7],[1100,7]]},"596":{"position":[[11,7]]},"599":{"position":[[67,7],[97,7],[191,7],[1028,7]]}},"keywords":{}}],["graphic",{"_index":2866,"title":{},"content":{"303":{"position":[[80,9]]},"366":{"position":[[37,9]]},"428":{"position":[[112,9]]},"617":{"position":[[20,9]]}},"keywords":{}}],["graphingpaus",{"_index":4561,"title":{},"content":{"599":{"position":[[33,13]]}},"keywords":{}}],["graphstart",{"_index":4560,"title":{},"content":{"599":{"position":[[13,10]]}},"keywords":{}}],["graphstop",{"_index":4562,"title":{},"content":{"599":{"position":[[47,9]]}},"keywords":{}}],["gray",{"_index":3825,"title":{},"content":{"403":{"position":[[194,4]]},"427":{"position":[[85,4]]}},"keywords":{}}],["great",{"_index":3705,"title":{},"content":{"364":{"position":[[1439,5]]},"476":{"position":[[1045,5],[1063,5]]},"482":{"position":[[270,5]]},"486":{"position":[[113,5]]},"507":{"position":[[70,5]]}},"keywords":{}}],["greater",{"_index":713,"title":{},"content":{"36":{"position":[[2977,7]]},"202":{"position":[[2977,7]]},"267":{"position":[[2186,7],[9108,7],[9229,7],[9387,7],[9726,7],[10151,7]]},"371":{"position":[[186,7]]},"700":{"position":[[897,7],[1222,7],[1372,7]]}},"keywords":{}}],["greatli",{"_index":4623,"title":{},"content":{"617":{"position":[[1127,7]]}},"keywords":{}}],["green",{"_index":40,"title":{},"content":{"2":{"position":[[217,5]]},"267":{"position":[[2532,6],[2795,5],[9466,5],[9494,5],[9508,5],[9680,5],[9781,5],[9852,5],[9881,5],[9895,5],[10067,5],[10168,5]]},"285":{"position":[[1105,5]]},"298":{"position":[[308,5]]},"302":{"position":[[655,6]]},"377":{"position":[[382,5]]},"378":{"position":[[385,5]]},"379":{"position":[[262,5],[274,5]]},"380":{"position":[[256,5],[268,5]]},"381":{"position":[[267,5],[279,5]]},"383":{"position":[[944,5],[979,5]]},"404":{"position":[[869,5]]},"411":{"position":[[82,5],[278,6],[779,5]]},"443":{"position":[[496,5]]},"444":{"position":[[908,5],[1025,5]]},"527":{"position":[[271,5],[361,5],[440,5]]},"544":{"position":[[165,5]]},"568":{"position":[[190,6]]},"578":{"position":[[177,5],[1393,5],[1590,6]]},"607":{"position":[[343,6]]},"700":{"position":[[1182,5],[1235,5],[1331,5],[1385,5]]},"702":{"position":[[65,8]]}},"keywords":{}}],["green_high",{"_index":5197,"title":{},"content":{"700":{"position":[[1259,10],[1409,10]]}},"keywords":{}}],["grep",{"_index":1577,"title":{},"content":{"83":{"position":[[933,4]]}},"keywords":{}}],["grey",{"_index":3749,"title":{},"content":{"376":{"position":[[330,4]]},"377":{"position":[[308,4]]},"378":{"position":[[310,4]]}},"keywords":{}}],["grid",{"_index":4551,"title":{},"content":{"593":{"position":[[290,4]]}},"keywords":{}}],["ground",{"_index":1890,"title":{},"content":{"108":{"position":[[555,6]]},"114":{"position":[[143,6]]},"298":{"position":[[922,6]]}},"keywords":{}}],["ground1statu",{"_index":3978,"title":{},"content":{"442":{"position":[[951,13]]},"444":{"position":[[794,13],[857,13],[972,13]]},"578":{"position":[[387,15],[1515,13]]}},"keywords":{}}],["group",{"_index":2459,"title":{"610":{"position":[[0,6]]}},"content":{"243":{"position":[[167,6]]},"283":{"position":[[11,5],[49,6],[141,5],[276,5],[367,5],[468,6],[508,5],[777,5]]},"284":{"position":[[76,5],[360,5]]},"304":{"position":[[842,7],[882,5],[1176,6],[5141,7],[5176,6],[5354,5],[5416,5],[5444,5]]},"324":{"position":[[791,5]]},"363":{"position":[[918,6]]},"433":{"position":[[11,5],[65,5]]},"434":{"position":[[331,5]]},"446":{"position":[[749,5]]},"482":{"position":[[700,7],[923,6],[1021,5],[1272,7]]},"497":{"position":[[619,5]]},"511":{"position":[[61,7]]},"512":{"position":[[29,7],[43,6],[265,5]]},"513":{"position":[[183,5]]},"603":{"position":[[318,6]]},"609":{"position":[[117,6]]},"610":{"position":[[5,5],[157,5],[621,5],[900,5]]},"611":{"position":[[1,6],[358,5],[683,6],[822,6],[857,6],[897,5],[937,6]]},"612":{"position":[[784,5],[1325,5],[1347,5]]},"693":{"position":[[77,6],[145,5],[197,5],[227,6]]},"694":{"position":[[78,6],[147,5],[199,5],[229,6]]},"695":{"position":[[28,6]]},"753":{"position":[[52,6]]},"754":{"position":[[72,5],[238,5],[326,5],[773,5],[836,6],[869,5],[931,5],[1028,5],[1634,6]]}},"keywords":{}}],["group'",{"_index":5477,"title":{},"content":{"754":{"position":[[8,7]]}},"keywords":{}}],["group.print("verifi",{"_index":4363,"title":{},"content":{"497":{"position":[[713,26]]}},"keywords":{}}],["group1",{"_index":2707,"title":{},"content":{"283":{"position":[[567,6],[606,6],[683,6]]}},"keywords":{}}],["group2",{"_index":2708,"title":{},"content":{"283":{"position":[[578,6],[630,6]]}},"keywords":{}}],["grow",{"_index":4569,"title":{},"content":{"601":{"position":[[324,5],[516,5],[700,5]]}},"keywords":{}}],["gsaw",{"_index":3579,"title":{},"content":{"357":{"position":[[4122,4]]}},"keywords":{}}],["gse",{"_index":1916,"title":{},"content":{"114":{"position":[[168,6]]},"229":{"position":[[282,3],[307,3],[915,3]]},"230":{"position":[[176,3],[287,3],[323,3],[334,3],[478,3],[746,3],[2560,3],[2571,3]]},"231":{"position":[[188,3],[311,3]]},"232":{"position":[[209,3],[343,3],[388,3],[914,3]]},"233":{"position":[[224,3],[368,3],[413,3],[1011,3],[1131,3]]},"234":{"position":[[266,3],[367,3]]},"235":{"position":[[474,3],[559,3]]},"298":{"position":[[947,6]]}},"keywords":{}}],["gse.gemspec",{"_index":2327,"title":{},"content":{"229":{"position":[[663,11]]}},"keywords":{}}],["gse_target_nam",{"_index":2363,"title":{},"content":{"230":{"position":[[2544,15],[2582,15],[2621,15],[2737,15]]}},"keywords":{}}],["gt",{"_index":204,"title":{},"content":{"6":{"position":[[204,5],[250,5],[355,5],[387,5],[422,5],[452,5]]},"7":{"position":[[269,5],[724,5]]},"20":{"position":[[768,4]]},"24":{"position":[[278,4]]},"36":{"position":[[7618,5],[7718,5]]},"44":{"position":[[3134,4],[3246,4]]},"93":{"position":[[1671,4],[2148,4]]},"94":{"position":[[1123,4],[1447,4]]},"202":{"position":[[7618,5],[7718,5]]},"224":{"position":[[966,4],[1433,4]]},"226":{"position":[[2402,5],[2441,5],[2506,5]]},"227":{"position":[[1371,5],[1420,5],[1500,5],[1570,5],[2596,5],[3599,5]]},"230":{"position":[[2598,5],[2753,5]]},"253":{"position":[[6763,5],[6937,5],[7380,5]]},"267":{"position":[[6217,5],[6316,5]]},"320":{"position":[[897,5],[1087,5],[1108,5],[1129,5],[1189,5]]},"324":{"position":[[2024,4],[2084,4]]},"328":{"position":[[195,4],[1648,5],[1714,5]]},"338":{"position":[[1217,5],[1245,5],[1268,5],[1288,5],[1311,5],[1338,5],[1364,5],[1410,5],[1450,5],[1522,5],[1547,5],[1636,5]]},"350":{"position":[[903,8]]},"425":{"position":[[568,5],[612,5],[656,5]]},"429":{"position":[[1040,5]]},"446":{"position":[[97,5]]},"478":{"position":[[614,5],[811,5]]},"480":{"position":[[1562,5],[1842,5]]},"492":{"position":[[176,4]]},"495":{"position":[[627,4],[924,4]]},"500":{"position":[[474,4],[652,4]]},"501":{"position":[[796,4],[1074,4]]},"502":{"position":[[593,4],[844,4]]},"505":{"position":[[591,4]]},"523":{"position":[[62,4]]},"538":{"position":[[59,4]]},"585":{"position":[[1009,5]]},"609":{"position":[[193,4]]},"636":{"position":[[299,5],[355,5],[1472,5],[1499,5],[1591,5],[1618,5]]},"637":{"position":[[491,5],[547,5],[1670,5],[1697,5]]},"638":{"position":[[504,5],[560,5]]},"639":{"position":[[555,5],[611,5],[1715,5],[1742,5]]},"640":{"position":[[343,5],[407,5],[1497,5],[1524,5]]},"641":{"position":[[530,5],[594,5],[1744,5],[1771,5]]},"642":{"position":[[543,5],[607,5]]},"643":{"position":[[594,5],[658,5],[1788,5],[1815,5]]},"644":{"position":[[494,6],[1055,6]]},"646":{"position":[[357,6],[817,6]]},"647":{"position":[[270,6],[396,6]]},"648":{"position":[[396,6],[859,6]]},"649":{"position":[[474,6],[1203,6]]},"650":{"position":[[471,6],[977,6]]},"651":{"position":[[552,5],[585,6],[723,6]]},"652":{"position":[[757,6],[896,6]]},"656":{"position":[[850,4],[908,4],[972,4],[1037,4],[1120,4],[1205,4],[1263,4],[1327,4],[1392,4],[1477,4]]},"658":{"position":[[1121,4],[1164,4]]},"659":{"position":[[481,5]]},"665":{"position":[[236,6]]},"670":{"position":[[631,5],[651,5]]},"673":{"position":[[334,6],[1357,6]]},"677":{"position":[[323,6]]},"678":{"position":[[399,6]]},"679":{"position":[[370,6]]},"681":{"position":[[391,6],[458,6]]},"683":{"position":[[1005,4],[1048,4]]},"685":{"position":[[1085,4],[1158,4],[1262,4],[1335,4]]},"687":{"position":[[858,4],[901,4]]},"690":{"position":[[574,6],[677,6]]},"699":{"position":[[425,6],[564,6],[614,6],[748,6],[871,6],[934,6]]},"705":{"position":[[112,6]]},"710":{"position":[[135,6]]},"722":{"position":[[126,6]]},"731":{"position":[[213,6]]},"732":{"position":[[97,6],[117,5],[137,5],[189,6]]},"733":{"position":[[76,6]]},"743":{"position":[[120,6]]},"751":{"position":[[192,6]]},"762":{"position":[[392,5],[430,5]]},"763":{"position":[[412,5]]},"766":{"position":[[150,6],[302,6]]},"767":{"position":[[114,6],[895,6]]},"768":{"position":[[347,6],[424,6],[541,6],[609,6]]},"769":{"position":[[438,6],[576,6]]},"771":{"position":[[158,6],[291,6]]},"772":{"position":[[281,6],[384,6]]},"773":{"position":[[482,6]]}},"keywords":{}}],["gt;"",{"_index":505,"title":{},"content":{"22":{"position":[[571,10]]},"226":{"position":[[2484,11]]}},"keywords":{}}],["gt;2901/tcp",{"_index":1631,"title":{},"content":{"83":{"position":[[2462,12]]}},"keywords":{}}],["gt;2902/tcp",{"_index":1633,"title":{},"content":{"83":{"position":[[2590,12]]}},"keywords":{}}],["gt;6379/tcp",{"_index":1649,"title":{},"content":{"83":{"position":[[3020,12]]}},"keywords":{}}],["gt;80/tcp",{"_index":1638,"title":{},"content":{"83":{"position":[[2712,10]]}},"keywords":{}}],["gt;9000/tcp",{"_index":1644,"title":{},"content":{"83":{"position":[[2910,12]]}},"keywords":{}}],["gt;_int",{"_index":2364,"title":{},"content":{"230":{"position":[[2637,9]]},"253":{"position":[[6802,9]]},"320":{"position":[[1050,9]]}},"keywords":{}}],["gt;color",{"_index":2947,"title":{},"content":{"305":{"position":[[1268,9]]}},"keywords":{}}],["gt;execut",{"_index":2909,"title":{},"content":{"304":{"position":[[3614,11],[3928,11]]}},"keywords":{}}],["gt;inspect",{"_index":1767,"title":{},"content":{"95":{"position":[[361,11]]}},"keywords":{}}],["gt;load",{"_index":2964,"title":{},"content":{"308":{"position":[[772,8]]}},"keywords":{}}],["gt;mnemon",{"_index":2913,"title":{},"content":{"304":{"position":[[4031,12]]}},"keywords":{}}],["gt;option",{"_index":2945,"title":{},"content":{"305":{"position":[[1094,11]]}},"keywords":{}}],["gt;rubi",{"_index":2914,"title":{},"content":{"304":{"position":[[4127,8]]}},"keywords":{}}],["gt;save",{"_index":2954,"title":{},"content":{"306":{"position":[[621,8]]},"308":{"position":[[686,8]]}},"keywords":{}}],["gt;show",{"_index":4455,"title":{},"content":{"527":{"position":[[518,8]]}},"keywords":{}}],["gt;toggl",{"_index":2918,"title":{},"content":{"304":{"position":[[4422,10],[4630,10]]}},"keywords":{}}],["gt;view",{"_index":2916,"title":{},"content":{"304":{"position":[[4234,8]]}},"keywords":{}}],["guarante",{"_index":552,"title":{},"content":{"24":{"position":[[933,10]]},"36":{"position":[[4756,10],[8748,10]]},"202":{"position":[[4756,10],[8748,10]]},"227":{"position":[[5170,11]]},"299":{"position":[[968,11]]},"304":{"position":[[2658,10],[3238,10],[3396,10],[3431,10]]},"464":{"position":[[361,9]]}},"keywords":{}}],["gui",{"_index":631,"title":{},"content":{"33":{"position":[[123,3]]},"36":{"position":[[10556,3]]},"44":{"position":[[193,3]]},"301":{"position":[[363,3],[1319,3]]},"306":{"position":[[211,3]]},"581":{"position":[[135,3]]}},"keywords":{}}],["guid",{"_index":83,"title":{"473":{"position":[[15,5]]},"614":{"position":[[14,5]]}},"content":{"3":{"position":[[17,5]]},"35":{"position":[[1331,5]]},"37":{"position":[[1124,5]]},"90":{"position":[[397,6],[485,5]]},"194":{"position":[[362,5]]},"201":{"position":[[1360,5]]},"203":{"position":[[1143,5]]},"204":{"position":[[1504,5]]},"205":{"position":[[1340,5]]},"230":{"position":[[1945,5]]},"234":{"position":[[154,6]]},"253":{"position":[[138,5],[697,5],[8130,6]]},"266":{"position":[[966,5]]},"268":{"position":[[758,5]]},"269":{"position":[[1060,5]]},"270":{"position":[[729,5]]},"292":{"position":[[1035,6]]},"331":{"position":[[80,6]]},"368":{"position":[[421,6]]},"474":{"position":[[6,5]]},"475":{"position":[[129,5]]},"616":{"position":[[185,5],[292,6]]}},"keywords":{}}],["guidanc",{"_index":4162,"title":{},"content":{"474":{"position":[[306,8]]}},"keywords":{}}],["guidelin",{"_index":2481,"title":{},"content":{"247":{"position":[[221,10]]},"476":{"position":[[1230,11]]}},"keywords":{}}],["guiview",{"_index":1771,"title":{},"content":{"95":{"position":[[471,7]]}},"keywords":{}}],["gutter",{"_index":4329,"title":{},"content":{"491":{"position":[[42,7]]}},"keywords":{}}],["gzip",{"_index":3287,"title":{},"content":{"343":{"position":[[272,7]]},"517":{"position":[[424,7]]}},"keywords":{}}],["h",{"_index":897,"title":{},"content":{"42":{"position":[[172,1],[222,1]]},"43":{"position":[[421,1],[4715,1],[4765,1]]},"44":{"position":[[809,1],[841,1],[880,1],[907,1],[937,1],[962,1],[999,1],[1100,1],[2312,1],[2342,1],[2371,1],[2408,1],[2436,1]]},"95":{"position":[[970,1]]}},"keywords":{}}],["habitu",{"_index":4121,"title":{},"content":{"466":{"position":[[12,10]]}},"keywords":{}}],["hack",{"_index":122,"title":{},"content":{"3":{"position":[[577,7]]},"449":{"position":[[252,4]]}},"keywords":{}}],["half",{"_index":4570,"title":{},"content":{"601":{"position":[[430,4],[566,4],[748,4]]}},"keywords":{}}],["hand",{"_index":5429,"title":{},"content":{"739":{"position":[[379,4],[448,4]]},"746":{"position":[[552,4],[621,4]]}},"keywords":{}}],["handbook",{"_index":2158,"title":{"565":{"position":[[0,9]]}},"content":{"210":{"position":[[69,8]]},"278":{"position":[[124,8]]},"566":{"position":[[1,9]]}},"keywords":{}}],["handi",{"_index":86,"title":{},"content":{"3":{"position":[[55,5],[301,5]]},"617":{"position":[[908,5]]}},"keywords":{}}],["handl",{"_index":1347,"title":{"655":{"position":[[0,8]]}},"content":{"60":{"position":[[544,6]]},"61":{"position":[[351,6]]},"67":{"position":[[327,6]]},"72":{"position":[[209,7]]},"75":{"position":[[1460,8]]},"121":{"position":[[186,6]]},"135":{"position":[[150,6]]},"227":{"position":[[1382,6],[1511,6],[1581,6],[4870,7]]},"257":{"position":[[1768,6]]},"263":{"position":[[609,7]]},"329":{"position":[[205,7]]},"363":{"position":[[1112,6]]},"465":{"position":[[646,7]]},"495":{"position":[[311,6]]},"502":{"position":[[164,8]]},"504":{"position":[[994,6]]},"628":{"position":[[15,6]]},"674":{"position":[[134,7]]},"689":{"position":[[25,8]]}},"keywords":{}}],["happen",{"_index":1464,"title":{},"content":{"69":{"position":[[2754,8]]},"320":{"position":[[610,7]]},"364":{"position":[[568,8]]},"476":{"position":[[4036,10]]},"487":{"position":[[429,7]]},"612":{"position":[[1450,7]]}},"keywords":{}}],["haproxi",{"_index":537,"title":{},"content":{"24":{"position":[[295,7]]}},"keywords":{}}],["har8x3rauvsluprp2basy1xsmnna1jvb",{"_index":998,"title":{},"content":{"43":{"position":[[4316,32]]}},"keywords":{}}],["hard",{"_index":1435,"title":{},"content":{"69":{"position":[[468,4]]},"329":{"position":[[1303,4]]},"356":{"position":[[524,4]]}},"keywords":{}}],["hardwar",{"_index":1902,"title":{"253":{"position":[[22,9]]},"354":{"position":[[7,8]]}},"content":{"109":{"position":[[145,8]]},"114":{"position":[[36,8],[212,8]]},"123":{"position":[[109,9],[228,9]]},"253":{"position":[[88,9]]},"257":{"position":[[526,9]]},"357":{"position":[[3754,9],[3930,9],[4004,8]]},"364":{"position":[[381,8]]},"492":{"position":[[106,8],[367,9],[848,9]]}},"keywords":{}}],["hardware"",{"_index":3037,"title":{},"content":{"320":{"position":[[112,15]]}},"keywords":{}}],["hash",{"_index":455,"title":{},"content":{"20":{"position":[[1032,4]]},"36":{"position":[[4889,4],[8881,4]]},"93":{"position":[[1079,4],[1611,4],[1625,4]]},"99":{"position":[[1226,4],[1288,4]]},"202":{"position":[[4889,4],[8881,4]]},"249":{"position":[[60,7]]},"429":{"position":[[1469,4]]},"646":{"position":[[112,6]]},"648":{"position":[[19,4]]},"649":{"position":[[11,4]]},"650":{"position":[[18,4]]},"651":{"position":[[333,4]]},"661":{"position":[[18,4]]},"664":{"position":[[39,7]]},"666":{"position":[[18,5]]},"667":{"position":[[17,5]]},"670":{"position":[[275,4],[280,4],[354,5],[473,5]]},"699":{"position":[[9,4]]},"706":{"position":[[18,4]]},"729":{"position":[[141,4]]},"732":{"position":[[39,4]]},"762":{"position":[[143,4]]},"763":{"position":[[146,4]]}},"keywords":{}}],["hat",{"_index":2756,"title":{},"content":{"289":{"position":[[174,3]]}},"keywords":{}}],["have",{"_index":398,"title":{},"content":{"20":{"position":[[105,6]]},"36":{"position":[[1601,6]]},"122":{"position":[[268,6]]},"202":{"position":[[1601,6]]},"253":{"position":[[1831,6]]},"267":{"position":[[1596,6]]},"364":{"position":[[959,6]]},"459":{"position":[[1109,6]]},"483":{"position":[[100,6]]},"492":{"position":[[787,6]]},"508":{"position":[[79,6]]},"758":{"position":[[256,6]]}},"keywords":{}}],["hazard",{"_index":94,"title":{"214":{"position":[[0,10]]},"534":{"position":[[0,9]]}},"content":{"3":{"position":[[145,10]]},"36":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"93":{"position":[[319,9],[400,9],[1353,10],[1372,9]]},"202":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"214":{"position":[[35,9],[56,9],[219,9]]},"223":{"position":[[161,10]]},"303":{"position":[[1873,9],[1938,9]]},"430":{"position":[[259,9]]},"446":{"position":[[893,9]]},"534":{"position":[[9,9],[104,9]]},"540":{"position":[[736,9]]},"638":{"position":[[74,9],[175,9]]},"639":{"position":[[100,9],[201,9]]},"642":{"position":[[97,9],[198,9]]},"643":{"position":[[123,9],[224,9]]},"649":{"position":[[1524,12]]},"651":{"position":[[74,10],[422,9],[475,9],[575,9],[616,9]]}},"keywords":{}}],["hazard"",{"_index":736,"title":{},"content":{"36":{"position":[[3834,12]]},"202":{"position":[[3834,12]]}},"keywords":{}}],["head",{"_index":1836,"title":{},"content":{"103":{"position":[[153,6],[293,6]]}},"keywords":{}}],["header",{"_index":275,"title":{"98":{"position":[[5,7]]}},"content":{"7":{"position":[[1130,7]]},"36":{"position":[[818,6]]},"44":{"position":[[1286,7]]},"60":{"position":[[450,6]]},"61":{"position":[[286,6],[2883,6]]},"63":{"position":[[1781,7]]},"64":{"position":[[69,7]]},"87":{"position":[[32,6],[225,7]]},"99":{"position":[[89,7]]},"133":{"position":[[118,7]]},"202":{"position":[[818,6]]},"213":{"position":[[207,6]]},"226":{"position":[[179,6],[262,6],[341,6],[358,6],[440,6],[528,6],[619,6],[706,6],[1057,6],[1140,6],[1219,6],[1236,6],[1318,6],[1406,6],[1497,6],[1584,6],[1827,6],[1910,6],[1989,6],[2006,6],[2088,6],[2176,6],[2267,6],[2354,6]]},"267":{"position":[[813,6]]},"275":{"position":[[216,6]]},"285":{"position":[[345,6]]},"321":{"position":[[1244,6],[1586,6],[3103,6]]},"363":{"position":[[91,8]]},"541":{"position":[[112,8]]},"542":{"position":[[115,8]]},"553":{"position":[[177,6]]},"557":{"position":[[193,7]]},"558":{"position":[[126,7]]}},"keywords":{}}],["headeraliassetalia",{"_index":4039,"title":{},"content":{"456":{"position":[[55,19]]}},"keywords":{}}],["headerlist",{"_index":4487,"title":{},"content":{"553":{"position":[[139,10]]}},"keywords":{}}],["headeronli",{"_index":4485,"title":{},"content":{"553":{"position":[[77,10]]}},"keywords":{}}],["headless",{"_index":3485,"title":{},"content":{"357":{"position":[[786,8],[926,9],[2272,8]]}},"keywords":{}}],["health",{"_index":304,"title":{},"content":{"9":{"position":[[555,7],[704,7]]},"108":{"position":[[174,6]]},"264":{"position":[[611,6]]}},"keywords":{}}],["health_statu",{"_index":244,"title":{},"content":{"7":{"position":[[153,13],[829,13]]},"8":{"position":[[167,13],[324,13]]},"9":{"position":[[181,13],[347,13],[530,13],[679,13]]},"42":{"position":[[372,13]]},"43":{"position":[[6125,13]]},"94":{"position":[[1236,13]]},"95":{"position":[[776,13]]},"224":{"position":[[1298,13],[1406,13]]},"264":{"position":[[569,13]]},"273":{"position":[[405,13]]},"274":{"position":[[462,13]]},"282":{"position":[[479,13]]},"284":{"position":[[434,13],[477,13],[520,13]]},"328":{"position":[[1654,13],[1720,13]]},"357":{"position":[[573,13]]},"383":{"position":[[794,13],[901,13]]},"401":{"position":[[579,13],[644,13]]},"407":{"position":[[585,13],[665,13]]},"409":{"position":[[470,13],[531,13]]},"410":{"position":[[843,13],[910,13]]},"412":{"position":[[459,13],[511,13]]},"413":{"position":[[460,13],[515,13]]},"414":{"position":[[456,13],[511,13]]},"415":{"position":[[428,13],[481,13]]},"416":{"position":[[433,13],[489,13]]},"417":{"position":[[807,13],[869,13]]},"418":{"position":[[560,13]]},"419":{"position":[[594,13]]},"420":{"position":[[583,13]]},"423":{"position":[[718,13],[772,13]]},"424":{"position":[[600,13],[637,13],[812,13],[849,13]]},"425":{"position":[[346,13]]},"426":{"position":[[309,13]]},"427":{"position":[[658,13],[702,13]]},"440":{"position":[[623,13],[677,13]]},"442":{"position":[[937,13]]},"444":{"position":[[780,13],[843,13],[958,13]]},"446":{"position":[[145,13],[184,13],[227,13]]},"476":{"position":[[2191,13],[2457,13],[2567,13],[3107,13],[3367,13],[3477,13]]},"478":{"position":[[343,13],[481,13],[591,13],[677,13],[788,13]]},"499":{"position":[[575,17],[912,17]]},"502":{"position":[[566,13],[808,13]]},"578":{"position":[[438,13],[468,13]]},"656":{"position":[[827,13],[885,13],[949,13],[1014,13],[1097,13],[1182,13],[1240,13],[1304,13],[1369,13],[1454,13]]},"657":{"position":[[780,13],[848,13],[947,13],[1015,13]]},"658":{"position":[[1096,13],[1142,13]]},"660":{"position":[[585,13],[721,13],[784,13],[848,13],[929,13],[1013,13],[1149,13],[1212,13],[1276,13],[1357,13]]},"667":{"position":[[400,13]]},"668":{"position":[[447,13]]},"669":{"position":[[706,13],[789,13],[843,13],[907,13],[993,13],[1075,13],[1129,13],[1193,13]]},"671":{"position":[[590,13],[679,13],[789,13],[878,13]]},"672":{"position":[[409,13],[483,13],[596,13],[670,13]]},"673":{"position":[[282,13],[1303,13],[1407,16],[1521,16],[1641,16],[1763,16]]},"675":{"position":[[364,17]]},"676":{"position":[[461,17],[964,17]]},"681":{"position":[[1554,13],[1619,13],[1764,13],[1829,13]]},"682":{"position":[[1300,13],[1381,13],[1507,13],[1588,13]]},"683":{"position":[[980,13],[1026,13]]},"684":{"position":[[849,16],[891,13]]},"685":{"position":[[1062,13],[1135,13],[1239,13],[1312,13]]},"686":{"position":[[1123,13],[1210,13],[1328,13],[1415,13]]},"687":{"position":[[833,13],[879,13]]},"688":{"position":[[827,16],[869,13]]},"690":{"position":[[547,13],[650,13]]},"691":{"position":[[399,13]]},"692":{"position":[[402,13]]},"699":{"position":[[387,16],[708,16]]},"700":{"position":[[1999,16]]},"702":{"position":[[478,16]]},"745":{"position":[[577,13],[849,13]]},"746":{"position":[[1039,13],[1322,13]]}},"keywords":{}}],["health_status"",{"_index":5013,"title":{},"content":{"661":{"position":[[436,20]]},"662":{"position":[[688,20],[805,20]]},"666":{"position":[[323,20]]},"668":{"position":[[399,20]]},"677":{"position":[[302,20]]},"679":{"position":[[349,20]]}},"keywords":{}}],["height",{"_index":3727,"title":{"376":{"position":[[0,7]]}},"content":{"369":{"position":[[314,6],[321,6]]},"376":{"position":[[17,6],[25,6],[132,6],[269,6],[343,6]]},"391":{"position":[[183,6]]},"394":{"position":[[166,6],[173,6]]},"399":{"position":[[119,6],[126,6]]},"401":{"position":[[235,6],[242,6]]},"402":{"position":[[235,6],[242,6]]},"404":{"position":[[338,6],[345,6]]},"410":{"position":[[750,6],[757,6]]},"411":{"position":[[646,6],[653,6]]},"412":{"position":[[375,6],[382,6]]},"413":{"position":[[373,6],[380,6]]},"417":{"position":[[719,6],[726,6]]},"418":{"position":[[2048,6],[2055,6]]},"419":{"position":[[2101,6],[2108,6]]},"420":{"position":[[2073,6],[2080,6]]},"423":{"position":[[635,6],[642,6]]},"426":{"position":[[222,6],[229,6]]},"438":{"position":[[257,6],[264,6]]},"442":{"position":[[832,6],[839,6]]},"601":{"position":[[435,6],[761,6],[816,6]]}},"keywords":{}}],["helloworld",{"_index":2111,"title":{"328":{"position":[[0,10]]}},"content":{"194":{"position":[[240,10],[508,10]]},"234":{"position":[[915,10]]},"327":{"position":[[208,10],[421,10]]},"328":{"position":[[5,10],[1680,10]]}},"keywords":{}}],["helloworldwidget",{"_index":2392,"title":{},"content":{"234":{"position":[[403,16],[427,16],[483,16]]},"328":{"position":[[1018,16]]}},"keywords":{}}],["helloworldwidget.vu",{"_index":3208,"title":{},"content":{"328":{"position":[[88,21]]}},"keywords":{}}],["helm",{"_index":2461,"title":{},"content":{"243":{"position":[[300,4]]},"249":{"position":[[499,4]]}},"keywords":{}}],["help",{"_index":80,"title":{"3":{"position":[[0,7]]}},"content":{"3":{"position":[[195,4],[261,4],[413,4]]},"31":{"position":[[264,5]]},"46":{"position":[[1745,4]]},"83":{"position":[[279,4]]},"235":{"position":[[393,4],[1596,4]]},"245":{"position":[[292,5]]},"259":{"position":[[1664,4]]},"263":{"position":[[534,5]]},"287":{"position":[[119,4]]},"292":{"position":[[869,4],[965,5],[1173,5],[1246,5]]},"357":{"position":[[3981,5]]},"467":{"position":[[610,4]]},"472":{"position":[[180,4]]},"493":{"position":[[41,4]]},"505":{"position":[[759,4]]},"746":{"position":[[185,4]]}},"keywords":{}}],["helper",{"_index":1279,"title":{"65":{"position":[[0,6]]}},"content":{"54":{"position":[[2281,6],[3292,6]]},"65":{"position":[[31,6],[102,6]]},"210":{"position":[[144,6]]},"230":{"position":[[1749,6]]},"278":{"position":[[213,6]]},"292":{"position":[[1464,6]]},"476":{"position":[[2319,6],[3231,6]]},"487":{"position":[[394,6]]}},"keywords":{}}],["helper.setup",{"_index":4194,"title":{},"content":{"476":{"position":[[2346,12],[3256,14]]}},"keywords":{}}],["helper_util",{"_index":4209,"title":{},"content":{"476":{"position":[[4394,16]]}},"keywords":{}}],["helperutil",{"_index":4205,"title":{},"content":{"476":{"position":[[3240,15]]}},"keywords":{}}],["helperutility.new",{"_index":4193,"title":{},"content":{"476":{"position":[[2328,17]]}},"keywords":{}}],["here",{"_index":437,"title":{},"content":{"20":{"position":[[761,4]]},"22":{"position":[[564,4]]},"44":{"position":[[654,4],[1342,4],[3198,5]]},"83":{"position":[[527,4]]},"90":{"position":[[613,5]]},"134":{"position":[[899,4]]},"227":{"position":[[1475,4]]},"229":{"position":[[1213,5]]},"230":{"position":[[2117,4]]},"235":{"position":[[1792,5]]},"253":{"position":[[3318,4],[6472,4]]},"262":{"position":[[282,4]]},"291":{"position":[[1293,4]]},"328":{"position":[[188,4],[1458,4]]},"329":{"position":[[172,4]]},"349":{"position":[[110,4]]},"351":{"position":[[429,4]]},"359":{"position":[[220,5],[289,4]]},"360":{"position":[[218,5]]},"374":{"position":[[469,5]]},"470":{"position":[[70,4]]},"485":{"position":[[118,4],[297,4],[402,4]]},"486":{"position":[[413,4],[524,4],[649,4],[761,4]]},"488":{"position":[[2308,4],[2456,4]]},"505":{"position":[[1032,4]]},"608":{"position":[[390,5]]},"745":{"position":[[609,4],[881,4]]},"746":{"position":[[1071,4],[1371,4]]},"754":{"position":[[1166,4],[1250,4],[1296,4],[1341,4],[1713,4],[1790,4],[1844,4],[1897,4]]}},"keywords":{}}],["here"",{"_index":4413,"title":{},"content":{"505":{"position":[[1108,11]]}},"keywords":{}}],["here'",{"_index":95,"title":{},"content":{"3":{"position":[[156,6]]},"449":{"position":[[1,6]]},"610":{"position":[[317,6]]}},"keywords":{}}],["hex",{"_index":661,"title":{},"content":{"36":{"position":[[223,4],[10147,3]]},"59":{"position":[[771,3]]},"60":{"position":[[1169,3]]},"61":{"position":[[2069,3]]},"62":{"position":[[565,3],[697,3],[1071,3]]},"63":{"position":[[1390,3],[1522,3],[2255,3]]},"64":{"position":[[351,3]]},"133":{"position":[[292,3]]},"202":{"position":[[223,4],[10147,3]]},"259":{"position":[[1884,4]]},"267":{"position":[[218,4]]},"303":{"position":[[1569,4],[1666,4]]},"534":{"position":[[291,3]]}},"keywords":{}}],["hex"",{"_index":2872,"title":{},"content":{"303":{"position":[[1610,9]]}},"keywords":{}}],["hexshow",{"_index":4465,"title":{},"content":{"532":{"position":[[70,8]]}},"keywords":{}}],["hh:mm:ss",{"_index":3861,"title":{},"content":{"418":{"position":[[1409,9]]},"419":{"position":[[1462,9]]},"420":{"position":[[1434,9]]}},"keywords":{}}],["hh:mm:ss.sss",{"_index":2635,"title":{},"content":{"263":{"position":[[844,12]]}},"keywords":{}}],["hidapips5",{"_index":3277,"title":{},"content":{"340":{"position":[[101,9]]}},"keywords":{}}],["hidden",{"_index":847,"title":{"210":{"position":[[0,7]]},"278":{"position":[[0,7]]}},"content":{"36":{"position":[[10465,7],[10561,6]]},"40":{"position":[[1466,6]]},"210":{"position":[[87,6]]},"364":{"position":[[754,7]]}},"keywords":{}}],["hide",{"_index":346,"title":{},"content":{"13":{"position":[[67,4]]},"14":{"position":[[64,4]]},"210":{"position":[[1,5]]},"211":{"position":[[40,5]]},"278":{"position":[[1,5],[150,5]]},"578":{"position":[[1202,5],[1339,6],[1506,4]]},"593":{"position":[[597,4]]},"601":{"position":[[898,4]]}},"keywords":{}}],["hierarchi",{"_index":4447,"title":{},"content":{"516":{"position":[[137,9]]}},"keywords":{}}],["high",{"_index":840,"title":{"454":{"position":[[0,4]]}},"content":{"36":{"position":[[9929,4]]},"121":{"position":[[637,4]]},"202":{"position":[[9929,4]]},"250":{"position":[[12,4]]},"267":{"position":[[9192,4],[9288,4],[9309,4],[9350,4],[9429,4],[9514,4],[9787,4],[9858,4],[9901,4]]},"355":{"position":[[828,4]]},"410":{"position":[[340,4],[465,4]]},"417":{"position":[[309,4],[434,4]]},"423":{"position":[[319,4],[444,4]]},"486":{"position":[[119,4]]},"498":{"position":[[22,4]]},"512":{"position":[[219,4]]},"599":{"position":[[483,5]]},"700":{"position":[[425,4],[955,4],[967,4],[1046,4],[1085,4],[1094,4],[1337,4]]},"736":{"position":[[29,4],[86,4]]}},"keywords":{}}],["high>",{"_index":5192,"title":{},"content":{"700":{"position":[[357,9],[375,9]]}},"keywords":{}}],["higher",{"_index":826,"title":{},"content":{"36":{"position":[[9161,6]]},"202":{"position":[[9161,6]]},"267":{"position":[[7286,6]]},"324":{"position":[[3825,6]]},"481":{"position":[[63,6]]}},"keywords":{}}],["highest",{"_index":4253,"title":{},"content":{"482":{"position":[[757,7]]}},"keywords":{}}],["highli",{"_index":1557,"title":{},"content":{"83":{"position":[[73,6]]},"84":{"position":[[1306,6]]}},"keywords":{}}],["highlight",{"_index":2882,"title":{},"content":{"304":{"position":[[133,12],[249,11],[289,11],[2190,9],[2266,11]]},"488":{"position":[[130,10],[641,11],[1048,12]]},"505":{"position":[[68,11]]},"513":{"position":[[600,11]]},"592":{"position":[[143,12]]},"737":{"position":[[167,12],[248,11]]},"752":{"position":[[52,12],[590,9],[730,9]]}},"keywords":{}}],["hint",{"_index":81,"title":{"3":{"position":[[8,6]]}},"content":{"13":{"position":[[37,4]]},"14":{"position":[[34,4]]}},"keywords":{}}],["histor",{"_index":1878,"title":{},"content":{"108":{"position":[[279,10]]},"227":{"position":[[4815,10],[5344,10]]},"459":{"position":[[734,10],[1527,10]]}},"keywords":{}}],["histori",{"_index":2879,"title":{"545":{"position":[[8,7]]}},"content":{"303":{"position":[[2115,7],[2203,7],[2290,8],[2341,7]]},"364":{"position":[[528,7]]},"418":{"position":[[1299,7],[1425,8],[1469,7]]},"419":{"position":[[642,7],[1352,7],[1478,8],[1522,7]]},"420":{"position":[[611,7],[1324,7],[1450,8],[1494,7]]},"490":{"position":[[1088,7],[1127,7]]},"530":{"position":[[200,7],[266,7],[395,8]]},"533":{"position":[[496,8],[542,7],[706,8]]},"534":{"position":[[446,7]]},"546":{"position":[[9,7]]},"547":{"position":[[21,7]]},"564":{"position":[[553,8]]},"600":{"position":[[392,8],[487,7],[608,8]]}},"keywords":{}}],["hit",{"_index":3289,"title":{},"content":{"343":{"position":[[618,3]]},"491":{"position":[[132,4]]},"495":{"position":[[1344,7]]},"756":{"position":[[53,3]]}},"keywords":{}}],["hk",{"_index":3095,"title":{},"content":{"321":{"position":[[2754,2]]}},"keywords":{}}],["hold",{"_index":1499,"title":{},"content":{"71":{"position":[[682,5]]},"99":{"position":[[2079,5],[4180,7]]},"227":{"position":[[5494,7],[5972,7],[6042,7],[6161,7]]},"324":{"position":[[733,7]]},"345":{"position":[[538,5]]},"476":{"position":[[4746,5]]},"517":{"position":[[210,5],[302,5],[472,5]]}},"keywords":{}}],["holder",{"_index":3627,"title":{},"content":{"359":{"position":[[2014,7]]},"360":{"position":[[948,7]]},"462":{"position":[[139,6]]}},"keywords":{}}],["home",{"_index":3146,"title":{},"content":{"324":{"position":[[694,4]]},"487":{"position":[[936,4],[1406,4]]}},"keywords":{}}],["home/.config/contain",{"_index":3190,"title":{},"content":{"324":{"position":[[3107,24],[3167,26]]}},"keywords":{}}],["home/.config/containers/registries.conf",{"_index":3187,"title":{},"content":{"324":{"position":[[2946,40],[3197,40]]}},"keywords":{}}],["home_gimb",{"_index":4295,"title":{},"content":{"487":{"position":[[922,11]]}},"keywords":{}}],["home_gimbal(self",{"_index":4307,"title":{},"content":{"487":{"position":[[1385,18]]}},"keywords":{}}],["homepag",{"_index":2328,"title":{},"content":{"229":{"position":[[779,9]]}},"keywords":{}}],["honor",{"_index":4102,"title":{},"content":{"464":{"position":[[102,8]]}},"keywords":{}}],["hook",{"_index":1533,"title":{},"content":{"79":{"position":[[137,4]]}},"keywords":{}}],["horizont",{"_index":2493,"title":{"388":{"position":[[0,11]]}},"content":{"249":{"position":[[547,10]]},"356":{"position":[[360,10]]},"381":{"position":[[376,10]]},"385":{"position":[[85,10],[145,12]]},"387":{"position":[[158,12]]},"388":{"position":[[36,12],[54,10],[205,10]]},"389":{"position":[[36,12]]},"397":{"position":[[27,10]]},"412":{"position":[[60,12]]},"446":{"position":[[296,10],[386,10]]},"601":{"position":[[345,12],[532,12]]}},"keywords":{}}],["horizontalbox",{"_index":3779,"title":{"389":{"position":[[0,14]]}},"content":{"389":{"position":[[75,13],[290,13]]}},"keywords":{}}],["horizontallin",{"_index":3807,"title":{"397":{"position":[[0,15]]}},"content":{"397":{"position":[[118,14]]},"398":{"position":[[145,14]]}},"keywords":{}}],["horribl",{"_index":3707,"title":{},"content":{"364":{"position":[[1581,8]]}},"keywords":{}}],["host",{"_index":1140,"title":{"45":{"position":[[0,4]]},"46":{"position":[[34,4]]},"288":{"position":[[28,4]]},"337":{"position":[[0,4]]}},"content":{"46":{"position":[[198,5],[464,4],[1643,5]]},"51":{"position":[[127,4]]},"58":{"position":[[211,4]]},"250":{"position":[[97,4]]},"287":{"position":[[138,4]]},"324":{"position":[[937,4],[1987,4]]},"336":{"position":[[81,4]]},"337":{"position":[[12,4]]},"338":{"position":[[2053,4]]},"350":{"position":[[306,4],[636,4],[957,4]]},"528":{"position":[[242,5]]}},"keywords":{}}],["host'",{"_index":2564,"title":{},"content":{"253":{"position":[[7765,6]]}},"keywords":{}}],["host.docker.intern",{"_index":1208,"title":{},"content":{"49":{"position":[[900,20],[1031,20],[1141,20],[1251,20],[1386,20],[1495,20],[1611,20],[1775,20],[1925,20],[2054,20],[2184,20],[2337,20],[2464,20],[2599,20]]},"51":{"position":[[933,20],[1076,20]]},"54":{"position":[[781,20],[891,20],[1001,20],[1121,20],[1256,20],[1365,20],[1501,20],[1630,20],[1760,20],[1899,20],[2052,20],[2179,20],[2542,20],[2753,20]]},"125":{"position":[[182,20],[326,20]]},"126":{"position":[[223,20],[419,20]]},"127":{"position":[[226,20],[425,20]]},"134":{"position":[[761,20],[1048,20]]},"230":{"position":[[2673,20]]},"253":{"position":[[6856,20],[7679,20]]},"338":{"position":[[2134,20]]}},"keywords":{}}],["hosthidapi",{"_index":3276,"title":{},"content":{"340":{"position":[[68,11]]}},"keywords":{}}],["hostnam",{"_index":435,"title":{},"content":{"20":{"position":[[713,9],[752,8]]},"22":{"position":[[555,8]]},"69":{"position":[[552,8]]},"253":{"position":[[8365,9]]},"320":{"position":[[905,8]]},"338":{"position":[[2155,8]]},"347":{"position":[[1022,8]]},"711":{"position":[[511,9]]}},"keywords":{}}],["hour",{"_index":1582,"title":{},"content":{"83":{"position":[[1009,5],[1090,5]]},"133":{"position":[[460,4],[582,4],[829,5]]},"161":{"position":[[26,4],[128,4]]},"528":{"position":[[667,4]]},"547":{"position":[[47,4]]}},"keywords":{}}],["hourli",{"_index":1969,"title":{},"content":{"133":{"position":[[727,6]]}},"keywords":{}}],["housekeep",{"_index":2956,"title":{},"content":{"307":{"position":[[217,12]]}},"keywords":{}}],["hqzfc7dkjmrci1udlfdvdbza9otur",{"_index":990,"title":{},"content":{"43":{"position":[[2374,29],[5839,29]]}},"keywords":{}}],["hr",{"_index":3530,"title":{},"content":{"357":{"position":[[2175,2]]}},"keywords":{}}],["hs",{"_index":2714,"title":{},"content":{"285":{"position":[[56,2]]},"357":{"position":[[470,3]]},"424":{"position":[[545,2],[757,2]]},"425":{"position":[[412,2]]},"441":{"position":[[434,2]]},"442":{"position":[[1153,2]]}},"keywords":{}}],["html",{"_index":1392,"title":{},"content":{"63":{"position":[[718,4]]},"105":{"position":[[271,4]]},"216":{"position":[[166,4]]},"217":{"position":[[162,4]]},"245":{"position":[[196,5]]}},"keywords":{}}],["htmlaccessor",{"_index":2166,"title":{},"content":{"215":{"position":[[243,13]]},"279":{"position":[[243,13]]}},"keywords":{}}],["htop",{"_index":3462,"title":{},"content":{"356":{"position":[[725,4]]},"357":{"position":[[713,5],[2184,4],[3875,4]]}},"keywords":{}}],["http",{"_index":403,"title":{},"content":{"20":{"position":[[189,5]]},"22":{"position":[[321,4],[378,5],[440,5],[490,5]]},"87":{"position":[[5,4]]},"89":{"position":[[89,4],[145,4]]},"227":{"position":[[961,4]]},"324":{"position":[[3708,4]]},"352":{"position":[[1122,4]]}},"keywords":{}}],["http/1.1",{"_index":919,"title":{},"content":{"42":{"position":[[548,8]]},"43":{"position":[[688,8],[6308,8]]}},"keywords":{}}],["http://127.0.0.1:2900/auth/realms/openc3/protocol/openid",{"_index":957,"title":{},"content":{"43":{"position":[[595,56]]}},"keywords":{}}],["http://127.0.0.1:2900/openc3",{"_index":916,"title":{},"content":{"42":{"position":[[498,28]]},"43":{"position":[[6251,28]]}},"keywords":{}}],["http://ascportal:2900",{"_index":1050,"title":{},"content":{"44":{"position":[[973,22]]}},"keywords":{}}],["http://cosmos.local:2900",{"_index":3356,"title":{},"content":{"347":{"position":[[2639,24]]}},"keywords":{}}],["http://localhost:2900",{"_index":1187,"title":{},"content":{"46":{"position":[[1573,22]]},"293":{"position":[[26,22]]},"315":{"position":[[448,22]]},"324":{"position":[[3944,21]]}},"keywords":{}}],["http://localhost:2900/openc3",{"_index":1776,"title":{},"content":{"95":{"position":[[932,28]]}},"keywords":{}}],["http://localhost:2900/script",{"_index":1044,"title":{},"content":{"44":{"position":[[698,29]]}},"keywords":{}}],["http://localhost:2900/tools/cmdtlmserver/tlm",{"_index":3134,"title":{},"content":{"322":{"position":[[2046,44]]}},"keywords":{}}],["http://localhost:2900/tools/scriptrunner/?file=target%2fprocedures%2fcmd_tlm_test.rb",{"_index":1051,"title":{},"content":{"44":{"position":[[1011,85]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunn",{"_index":1659,"title":{},"content":{"84":{"position":[[382,41],[435,41]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunner/js/app.j",{"_index":1668,"title":{},"content":{"84":{"position":[[1006,50]]}},"keywords":{}}],["http://openc3",{"_index":3434,"title":{},"content":{"353":{"position":[[371,13]]}},"keywords":{}}],["httponli",{"_index":973,"title":{},"content":{"43":{"position":[[969,8],[1091,8]]}},"keywords":{}}],["https://datatracker.ietf.org/doc/html/rfc1055",{"_index":1325,"title":{},"content":{"58":{"position":[[558,45]]}},"keywords":{}}],["https://developer.mozilla.org/en",{"_index":4798,"title":{},"content":{"632":{"position":[[1204,32]]}},"keywords":{}}],["https://doc.traefik.io/traefik/https/tls/#ciph",{"_index":602,"title":{},"content":{"29":{"position":[[1,48]]}},"keywords":{}}],["https://docs.openc3.com/docs/configuration/telemetri",{"_index":2393,"title":{},"content":{"234":{"position":[[537,52]]}},"keywords":{}}],["https://en.wikipedia.org/wiki/consistent_overhead_byte_stuf",{"_index":1318,"title":{},"content":{"57":{"position":[[567,63]]}},"keywords":{}}],["https://get.docker.com",{"_index":3351,"title":{},"content":{"347":{"position":[[2278,22]]}},"keywords":{}}],["https://github.com/docker/compose/releases/download/v2.16.0/dock",{"_index":3159,"title":{},"content":{"324":{"position":[[1709,66]]}},"keywords":{}}],["https://github.com/nasa/cfs.git",{"_index":3002,"title":{},"content":{"317":{"position":[[32,31]]}},"keywords":{}}],["https://github.com/openc3/cosmo",{"_index":1832,"title":{},"content":{"102":{"position":[[83,32]]},"290":{"position":[[75,32],[130,32]]},"347":{"position":[[2394,32]]},"767":{"position":[[1261,35]]}},"keywords":{}}],["https://github.com/openc3/cosmos.git",{"_index":1170,"title":{},"content":{"46":{"position":[[889,36]]},"324":{"position":[[2777,36]]}},"keywords":{}}],["https://github.com/rocketcommunicationsinc/astro",{"_index":3880,"title":{},"content":{"424":{"position":[[209,48]]}},"keywords":{}}],["https://guides.rubygems.org/specif",{"_index":2332,"title":{},"content":{"229":{"position":[[1096,41]]}},"keywords":{}}],["https://materialdesignicons.com",{"_index":2096,"title":{},"content":{"189":{"position":[[206,35]]}},"keywords":{}}],["https://mygemserv",{"_index":5565,"title":{},"content":{"769":{"position":[[381,22]]}},"keywords":{}}],["https://mypypiserv",{"_index":5569,"title":{},"content":{"769":{"position":[[520,23],[583,22]]}},"keywords":{}}],["https://openc3.com",{"_index":3801,"title":{},"content":{"394":{"position":[[224,18]]}},"keywords":{}}],["https://pypi.org/simpl",{"_index":5545,"title":{},"content":{"767":{"position":[[1040,26]]}},"keywords":{}}],["https://rubygems.org",{"_index":5547,"title":{},"content":{"767":{"position":[[1154,23]]},"768":{"position":[[633,23]]}},"keywords":{}}],["https://www.raspberrypi.com/softwar",{"_index":3312,"title":{},"content":{"347":{"position":[[500,37]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/nf",{"_index":3154,"title":{},"content":{"324":{"position":[[1286,35]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/rootless",{"_index":3149,"title":{},"content":{"324":{"position":[[997,41]]}},"keywords":{}}],["httpserverinterfac",{"_index":1982,"title":{},"content":{"135":{"position":[[485,19]]}},"keywords":{}}],["human",{"_index":2832,"title":{},"content":{"297":{"position":[[1016,5]]}},"keywords":{}}],["hyp",{"_index":3601,"title":{},"content":{"357":{"position":[[4488,3]]}},"keywords":{}}],["i.",{"_index":3052,"title":{},"content":{"320":{"position":[[1322,4]]},"321":{"position":[[946,4]]},"461":{"position":[[1147,3]]},"476":{"position":[[612,4]]}},"keywords":{}}],["icon",{"_index":2091,"title":{"189":{"position":[[0,5]]}},"content":{"189":{"position":[[10,4],[16,4],[121,4],[160,5]]},"235":{"position":[[1730,4],[1780,5],[1853,4]]},"253":{"position":[[515,4]]},"254":{"position":[[2113,4]]},"322":{"position":[[171,4]]},"424":{"position":[[41,4],[149,4],[192,5],[314,4],[346,4],[363,4],[398,4]]},"425":{"position":[[44,4],[475,5]]},"513":{"position":[[700,5]]},"514":{"position":[[1414,4]]},"518":{"position":[[18,4]]},"519":{"position":[[20,4]]},"520":{"position":[[17,4]]},"527":{"position":[[343,4]]},"552":{"position":[[380,4],[687,4]]},"555":{"position":[[248,4]]},"557":{"position":[[111,4],[181,4]]},"558":{"position":[[44,4],[114,4]]},"563":{"position":[[318,4],[625,4]]},"564":{"position":[[97,5],[410,4]]},"577":{"position":[[296,5],[497,5],[1149,4],[1456,4]]},"578":{"position":[[730,4],[1159,4]]},"589":{"position":[[317,4],[624,4]]},"592":{"position":[[21,4],[294,4]]},"593":{"position":[[295,4],[364,4]]},"598":{"position":[[336,4],[643,4]]},"599":{"position":[[618,4]]}},"keywords":{}}],["iconograpi",{"_index":2484,"title":{},"content":{"247":{"position":[[258,11]]}},"keywords":{}}],["icons.json",{"_index":3882,"title":{},"content":{"424":{"position":[[297,11]]}},"keywords":{}}],["id",{"_index":930,"title":{"260":{"position":[[0,2]]}},"content":{"42":{"position":[[745,3]]},"43":{"position":[[6486,3]]},"44":{"position":[[3283,2]]},"54":{"position":[[342,2]]},"60":{"position":[[505,3],[780,2]]},"83":{"position":[[2303,3]]},"99":{"position":[[653,2],[688,2],[703,2],[1197,2],[1238,2],[3938,2]]},"204":{"position":[[76,2],[1173,2]]},"205":{"position":[[76,2],[1009,2]]},"232":{"position":[[998,2],[1028,2]]},"233":{"position":[[1215,2],[1245,2]]},"253":{"position":[[2875,2],[3593,2],[4829,2],[4859,2],[5262,2],[5311,2],[5366,2]]},"254":{"position":[[1473,2]]},"260":{"position":[[282,2]]},"269":{"position":[[780,2],[1198,2]]},"270":{"position":[[449,2],[870,2]]},"299":{"position":[[7,2]]},"300":{"position":[[7,2]]},"301":{"position":[[118,2]]},"302":{"position":[[185,2]]},"303":{"position":[[367,2]]},"304":{"position":[[1303,2]]},"305":{"position":[[153,2]]},"306":{"position":[[272,2]]},"307":{"position":[[104,2]]},"308":{"position":[[119,2]]},"309":{"position":[[198,2]]},"310":{"position":[[103,2]]},"311":{"position":[[110,2]]},"321":{"position":[[2820,2]]},"322":{"position":[[431,2]]},"324":{"position":[[783,3],[797,4]]},"499":{"position":[[542,2],[621,3],[835,2],[838,3],[879,2],[959,3],[1167,2],[1170,3]]},"644":{"position":[[1062,6]]},"675":{"position":[[89,2],[331,2]]},"676":{"position":[[198,2],[428,2],[507,3],[674,2],[730,3],[931,2],[1011,3],[1172,2],[1228,3]]}},"keywords":{}}],["id"",{"_index":270,"title":{},"content":{"7":{"position":[[762,8],[951,8]]},"226":{"position":[[459,8],[1337,8],[2107,8]]},"266":{"position":[[1099,8]]},"268":{"position":[[894,8]]},"285":{"position":[[454,8]]},"321":{"position":[[479,8],[2888,8]]}},"keywords":{}}],["id=$(curl",{"_index":1107,"title":{},"content":{"44":{"position":[[2920,9]]}},"keywords":{}}],["id_item",{"_index":2544,"title":{"269":{"position":[[0,8]]}},"content":{"253":{"position":[[5247,7],[5693,8],[6289,7]]},"260":{"position":[[135,7]]},"269":{"position":[[101,8],[1157,7]]},"285":{"position":[[390,7]]}},"keywords":{}}],["id_item(",{"_index":1349,"title":{},"content":{"60":{"position":[[891,10]]}},"keywords":{}}],["id_paramet",{"_index":2140,"title":{"204":{"position":[[0,13]]}},"content":{"204":{"position":[[199,13],[2093,12]]},"205":{"position":[[199,13]]},"226":{"position":[[376,12],[1254,12],[2024,12]]},"253":{"position":[[6272,12]]}},"keywords":{}}],["idea",{"_index":1905,"title":{},"content":{"110":{"position":[[124,5]]}},"keywords":{}}],["ideal",{"_index":168,"title":{},"content":{"5":{"position":[[761,7]]},"17":{"position":[[97,7]]},"18":{"position":[[100,7]]},"46":{"position":[[385,5]]},"199":{"position":[[231,7]]},"260":{"position":[[303,7]]},"264":{"position":[[260,7]]},"304":{"position":[[966,7],[1121,7]]},"480":{"position":[[800,8]]},"617":{"position":[[60,5]]}},"keywords":{}}],["ident",{"_index":636,"title":{},"content":{"33":{"position":[[376,9]]},"39":{"position":[[151,9]]},"334":{"position":[[151,9]]},"578":{"position":[[498,11]]},"612":{"position":[[182,9],[473,9]]},"616":{"position":[[153,9]]}},"keywords":{}}],["identif",{"_index":382,"title":{},"content":{"17":{"position":[[301,14],[376,14]]},"18":{"position":[[306,14],[381,14]]},"204":{"position":[[12,14],[1182,14]]},"205":{"position":[[12,14],[1018,14]]},"222":{"position":[[71,14]]},"260":{"position":[[21,14],[552,15]]},"281":{"position":[[71,14]]},"454":{"position":[[160,14]]},"459":{"position":[[1241,14]]}},"keywords":{}}],["identifi",{"_index":370,"title":{},"content":{"17":{"position":[[31,11],[135,10],[232,11]]},"18":{"position":[[34,11],[139,10],[237,11]]},"31":{"position":[[273,8]]},"60":{"position":[[89,8],[151,10],[826,8]]},"98":{"position":[[105,8]]},"99":{"position":[[1302,11]]},"204":{"position":[[102,8],[270,11],[1282,10]]},"205":{"position":[[102,8],[270,11],[1118,10]]},"229":{"position":[[1015,12]]},"253":{"position":[[3566,8]]},"260":{"position":[[251,10],[411,9]]},"261":{"position":[[79,11]]},"269":{"position":[[836,10]]},"270":{"position":[[505,10]]},"370":{"position":[[87,8]]},"460":{"position":[[61,10]]}},"keywords":{}}],["identification"",{"_index":3091,"title":{},"content":{"321":{"position":[[1323,20],[1855,20],[2355,20]]}},"keywords":{}}],["identifier"",{"_index":2143,"title":{},"content":{"204":{"position":[[2143,16]]},"205":{"position":[[1983,16]]}},"keywords":{}}],["idl",{"_index":2776,"title":{},"content":{"289":{"position":[[969,4],[1147,4],[1513,5]]}},"keywords":{}}],["ie",{"_index":2062,"title":{},"content":{"171":{"position":[[292,3]]},"184":{"position":[[357,3]]},"291":{"position":[[1220,4]]},"347":{"position":[[1231,4]]},"502":{"position":[[696,2]]}},"keywords":{}}],["ifram",{"_index":1887,"title":{"394":{"position":[[0,7]]}},"content":{"108":{"position":[[498,7]]},"188":{"position":[[179,6],[213,6],[351,7]]},"394":{"position":[[27,6],[122,6],[217,6]]}},"keywords":{}}],["ignor",{"_index":345,"title":{"68":{"position":[[0,6]]},"456":{"position":[[0,7]]}},"content":{"13":{"position":[[1,6],[75,6],[430,7]]},"14":{"position":[[1,6],[72,6],[320,7]]},"36":{"position":[[7067,7]]},"54":{"position":[[2388,6],[2395,7]]},"63":{"position":[[1553,6],[1594,6]]},"65":{"position":[[70,7]]},"68":{"position":[[5,6],[192,6],[248,6]]},"93":{"position":[[227,7],[435,7]]},"202":{"position":[[7067,7]]},"227":{"position":[[4556,7]]},"229":{"position":[[412,6]]},"230":{"position":[[2400,8]]},"267":{"position":[[5668,7]]},"280":{"position":[[17,7],[171,7]]},"302":{"position":[[363,8],[396,6]]},"303":{"position":[[724,7],[1393,8],[1424,6],[1717,7],[1762,7],[1803,7]]},"304":{"position":[[436,6]]},"430":{"position":[[251,7]]},"446":{"position":[[885,7]]},"456":{"position":[[35,7]]},"532":{"position":[[3,7],[79,7]]},"534":{"position":[[247,7]]},"571":{"position":[[9,7]]},"575":{"position":[[273,7]]},"577":{"position":[[20,7],[127,8],[192,8],[265,7],[289,6],[372,7],[449,7]]},"578":{"position":[[735,7],[853,7],[913,7],[974,7],[1125,7],[1251,8]]},"702":{"position":[[244,6]]}},"keywords":{}}],["ignore_item",{"_index":357,"title":{"14":{"position":[[0,12]]}},"content":{"14":{"position":[[386,11]]}},"keywords":{}}],["ignore_overlap",{"_index":2699,"title":{"280":{"position":[[0,15]]}},"content":{},"keywords":{}}],["ignore_paramet",{"_index":344,"title":{"13":{"position":[[0,17]]}},"content":{"13":{"position":[[495,16]]}},"keywords":{}}],["ignored)"",{"_index":4516,"title":{},"content":{"578":{"position":[[1048,14]]}},"keywords":{}}],["ignorepacketprotocol",{"_index":1977,"title":{},"content":{"134":{"position":[[1124,20]]}},"keywords":{}}],["illustr",{"_index":1369,"title":{},"content":{"61":{"position":[[2713,10]]}},"keywords":{}}],["imag",{"_index":513,"title":{"239":{"position":[[0,7]]}},"content":{"23":{"position":[[166,6]]},"83":{"position":[[877,6],[922,5],[2355,5]]},"134":{"position":[[1150,5],[1172,5]]},"230":{"position":[[2105,5],[2157,5]]},"239":{"position":[[22,5],[198,5],[393,6],[427,5],[452,5],[497,6]]},"289":{"position":[[1631,6]]},"322":{"position":[[1803,5],[1998,5]]},"324":{"position":[[985,6]]},"347":{"position":[[483,6],[653,6]]},"402":{"position":[[766,5],[772,5]]},"421":{"position":[[18,5],[297,5],[389,5],[395,5]]},"441":{"position":[[13,5],[89,5],[226,5],[305,5]]},"442":{"position":[[13,5],[115,6],[183,5],[506,5],[533,5],[667,5],[746,5],[771,5],[796,5],[826,5],[853,5],[1026,5],[1082,5],[1259,6],[1274,5],[1357,5],[1372,5],[1506,5],[1585,5]]},"476":{"position":[[3883,5]]},"593":{"position":[[454,5]]},"599":{"position":[[1354,5]]},"610":{"position":[[241,6]]}},"keywords":{}}],["imageview",{"_index":3873,"title":{"421":{"position":[[0,12]]}},"content":{"421":{"position":[[372,11]]}},"keywords":{}}],["imagin",{"_index":2396,"title":{},"content":{"234":{"position":[[835,11]]},"235":{"position":[[1345,11]]}},"keywords":{}}],["immedi",{"_index":1535,"title":{},"content":{"79":{"position":[[215,11]]},"374":{"position":[[350,11]]},"492":{"position":[[655,11]]},"600":{"position":[[243,11]]}},"keywords":{}}],["imped",{"_index":3615,"title":{},"content":{"359":{"position":[[1143,6]]}},"keywords":{}}],["implement",{"_index":742,"title":{"91":{"position":[[9,16]]},"528":{"position":[[9,14]]}},"content":{"36":{"position":[[4053,11],[4197,9],[4302,9]]},"52":{"position":[[185,11]]},"53":{"position":[[36,9]]},"64":{"position":[[283,15]]},"69":{"position":[[842,14]]},"71":{"position":[[153,15],[414,15]]},"72":{"position":[[259,15],[310,15],[388,14]]},"73":{"position":[[122,15],[189,15],[275,14]]},"74":{"position":[[128,15],[198,15],[290,14]]},"75":{"position":[[615,15],[947,15],[1360,14],[1612,14]]},"76":{"position":[[796,15],[875,15]]},"77":{"position":[[657,15],[737,15]]},"78":{"position":[[654,15],[728,15]]},"79":{"position":[[145,9],[938,15],[1038,15]]},"80":{"position":[[199,15],[277,11],[340,15],[425,11],[527,11]]},"88":{"position":[[16,10]]},"91":{"position":[[30,11]]},"95":{"position":[[270,15]]},"115":{"position":[[12,9],[110,11]]},"123":{"position":[[166,10],[319,10]]},"134":{"position":[[593,10]]},"194":{"position":[[204,15]]},"202":{"position":[[4053,11],[4197,9],[4302,9]]},"227":{"position":[[423,11],[5047,14]]},"231":{"position":[[894,9]]},"232":{"position":[[724,14]]},"233":{"position":[[771,14]]},"245":{"position":[[52,11]]},"267":{"position":[[3002,11],[3146,9],[3251,9],[10560,10]]},"276":{"position":[[218,10]]},"304":{"position":[[728,11]]},"328":{"position":[[171,9]]},"364":{"position":[[717,11]]},"459":{"position":[[1591,14]]},"478":{"position":[[193,11]]},"496":{"position":[[256,9]]},"585":{"position":[[535,9]]},"586":{"position":[[484,9]]},"610":{"position":[[136,11]]},"616":{"position":[[21,11]]},"617":{"position":[[94,12]]},"717":{"position":[[106,11]]},"718":{"position":[[114,11]]},"727":{"position":[[99,11]]},"728":{"position":[[111,11]]},"729":{"position":[[98,11]]}},"keywords":{}}],["impli",{"_index":814,"title":{},"content":{"36":{"position":[[8064,7]]},"202":{"position":[[8064,7]]},"267":{"position":[[6724,7]]},"360":{"position":[[772,8]]}},"keywords":{}}],["implic",{"_index":3613,"title":{},"content":{"359":{"position":[[958,12]]}},"keywords":{}}],["import",{"_index":563,"title":{},"content":{"26":{"position":[[143,6]]},"27":{"position":[[362,6]]},"36":{"position":[[5868,6]]},"44":{"position":[[1316,9]]},"69":{"position":[[1320,6]]},"202":{"position":[[5868,6]]},"227":{"position":[[1935,9]]},"267":{"position":[[4348,6]]},"289":{"position":[[895,10]]},"290":{"position":[[764,6]]},"297":{"position":[[47,9]]},"322":{"position":[[42,6]]},"325":{"position":[[563,10]]},"328":{"position":[[233,6]]},"452":{"position":[[218,6]]},"476":{"position":[[2742,6],[2751,6],[3685,8]]},"487":{"position":[[123,9]]},"488":{"position":[[1830,6],[1854,8],[1869,6],[1911,8]]},"490":{"position":[[142,10]]},"495":{"position":[[187,9],[298,9]]},"497":{"position":[[612,6]]},"501":{"position":[[405,9]]},"514":{"position":[[1182,9]]},"610":{"position":[[607,6]]},"611":{"position":[[344,6]]},"628":{"position":[[921,6]]},"737":{"position":[[195,6],[353,8]]},"754":{"position":[[1593,6],[1627,6]]}},"keywords":{}}],["imposs",{"_index":3704,"title":{},"content":{"364":{"position":[[1197,10]]},"480":{"position":[[199,10]]},"483":{"position":[[258,11]]}},"keywords":{}}],["improv",{"_index":1190,"title":{},"content":{"46":{"position":[[1753,7]]}},"keywords":{}}],["in_docker.conf",{"_index":3365,"title":{},"content":{"350":{"position":[[153,14],[1266,16]]}},"keywords":{}}],["inaccur",{"_index":4065,"title":{},"content":{"459":{"position":[[1097,11]]}},"keywords":{}}],["inadequate_secur",{"_index":601,"title":{"29":{"position":[[7,19]]}},"content":{},"keywords":{}}],["inadvert",{"_index":1960,"title":{},"content":{"131":{"position":[[234,13]]}},"keywords":{}}],["inc",{"_index":3635,"title":{"458":{"position":[[8,4]]}},"content":{"360":{"position":[[296,4],[545,4]]},"363":{"position":[[70,3],[129,3]]},"459":{"position":[[272,4]]},"461":{"position":[[284,4]]},"462":{"position":[[117,4]]},"464":{"position":[[9,4]]},"467":{"position":[[1037,4],[1277,4],[1352,4],[1487,5]]},"469":{"position":[[180,4],[460,4]]},"471":{"position":[[40,4]]},"472":{"position":[[158,4]]}},"keywords":{}}],["inc'",{"_index":4085,"title":{"469":{"position":[[16,5]]}},"content":{"461":{"position":[[424,5]]}},"keywords":{}}],["includ",{"_index":220,"title":{},"content":{"6":{"position":[[520,9]]},"23":{"position":[[415,7]]},"54":{"position":[[49,9]]},"59":{"position":[[915,9]]},"60":{"position":[[1313,9]]},"61":{"position":[[1169,10],[1843,9],[2213,9],[3255,10]]},"62":{"position":[[968,9],[1215,9]]},"63":{"position":[[1026,7],[2152,9],[2399,9]]},"69":{"position":[[285,9],[876,8]]},"83":{"position":[[133,9]]},"85":{"position":[[344,9],[778,9]]},"99":{"position":[[301,9],[3607,9]]},"121":{"position":[[518,8]]},"215":{"position":[[207,7]]},"254":{"position":[[374,10]]},"257":{"position":[[604,8]]},"279":{"position":[[207,7]]},"291":{"position":[[191,8]]},"292":{"position":[[783,7]]},"298":{"position":[[879,7]]},"304":{"position":[[1499,9],[1795,9],[3057,8]]},"311":{"position":[[54,9]]},"328":{"position":[[560,10]]},"334":{"position":[[62,9]]},"338":{"position":[[1835,8]]},"344":{"position":[[179,9]]},"359":{"position":[[786,8],[1307,9]]},"360":{"position":[[617,8],[783,9]]},"459":{"position":[[1832,9]]},"467":{"position":[[273,9]]},"469":{"position":[[244,9]]},"482":{"position":[[174,8]]},"488":{"position":[[1091,8],[1728,9],[1811,8]]},"493":{"position":[[15,8]]},"498":{"position":[[14,7]]},"508":{"position":[[604,7]]},"525":{"position":[[167,9]]},"546":{"position":[[126,7]]},"585":{"position":[[856,10],[928,10]]},"610":{"position":[[187,8]]},"709":{"position":[[29,9]]},"723":{"position":[[25,9]]},"737":{"position":[[546,9],[594,7]]},"754":{"position":[[86,9],[437,9]]}},"keywords":{}}],["include_tag_key",{"_index":3378,"title":{},"content":{"350":{"position":[[413,15],[743,15],[1065,15]]}},"keywords":{}}],["includesubdomain",{"_index":978,"title":{},"content":{"43":{"position":[[1145,17]]}},"keywords":{}}],["incom",{"_index":1222,"title":{},"content":{"50":{"position":[[69,8]]},"54":{"position":[[2371,8],[3035,8]]},"59":{"position":[[384,8]]},"67":{"position":[[71,8],[281,8],[348,8]]},"68":{"position":[[84,8]]},"134":{"position":[[437,8]]},"253":{"position":[[5753,8]]},"260":{"position":[[49,8]]},"269":{"position":[[165,8]]},"322":{"position":[[2119,8]]}},"keywords":{}}],["incompat",{"_index":4060,"title":{},"content":{"459":{"position":[[620,12],[817,12]]}},"keywords":{}}],["incorpor",{"_index":2486,"title":{},"content":{"247":{"position":[[319,12]]}},"keywords":{}}],["incorrect",{"_index":4399,"title":{},"content":{"504":{"position":[[566,9]]}},"keywords":{}}],["increas",{"_index":3234,"title":{},"content":{"329":{"position":[[368,10]]},"357":{"position":[[2415,8],[3672,10]]},"564":{"position":[[504,8]]}},"keywords":{}}],["increasingli",{"_index":2798,"title":{},"content":{"291":{"position":[[427,12]]}},"keywords":{}}],["increment",{"_index":1470,"title":{},"content":{"69":{"position":[[3467,11],[3872,12]]},"476":{"position":[[4876,10]]},"600":{"position":[[576,13]]}},"keywords":{}}],["incur",{"_index":2614,"title":{},"content":{"260":{"position":[[507,6]]}},"keywords":{}}],["indefinit",{"_index":2297,"title":{},"content":{"227":{"position":[[4469,12],[4702,12]]}},"keywords":{}}],["indent",{"_index":293,"title":{},"content":{"8":{"position":[[427,11]]},"9":{"position":[[985,11]]},"476":{"position":[[384,8],[466,11],[1270,11]]}},"keywords":{}}],["independ",{"_index":1778,"title":{},"content":{"98":{"position":[[131,11]]},"184":{"position":[[224,11]]},"257":{"position":[[54,11],[209,11],[346,11]]},"304":{"position":[[1139,11]]},"356":{"position":[[297,11]]},"512":{"position":[[149,13]]},"608":{"position":[[164,13],[509,13]]}},"keywords":{}}],["index",{"_index":1803,"title":{},"content":{"99":{"position":[[1705,6],[1747,5],[1777,5],[1930,5],[1974,5],[2380,5],[2410,5],[2592,5],[2636,5],[4908,5],[4938,5],[5091,5],[5135,5]]},"373":{"position":[[206,5],[239,5],[429,6],[657,5],[663,5]]},"383":{"position":[[206,5],[239,5],[429,6],[538,5],[544,5]]},"434":{"position":[[386,5]]},"446":{"position":[[804,5]]},"585":{"position":[[835,6],[871,5],[911,6],[943,5]]},"593":{"position":[[429,5]]},"718":{"position":[[650,5],[872,6],[993,6]]},"728":{"position":[[327,6],[654,5],[873,6],[991,6]]}},"keywords":{}}],["indic",{"_index":173,"title":{},"content":{"5":{"position":[[825,9]]},"33":{"position":[[148,9],[278,9]]},"35":{"position":[[242,8],[422,8],[1236,9],[1767,9]]},"36":{"position":[[3153,9],[10474,9],[10725,9]]},"37":{"position":[[215,8],[1029,9],[1560,9]]},"56":{"position":[[332,9]]},"57":{"position":[[355,9]]},"61":{"position":[[1258,9]]},"67":{"position":[[514,8]]},"69":{"position":[[2411,10]]},"75":{"position":[[1647,8]]},"122":{"position":[[16,9]]},"199":{"position":[[295,9]]},"201":{"position":[[270,8],[451,8],[1265,9],[1796,9]]},"202":{"position":[[3153,9]]},"203":{"position":[[234,8],[1048,9],[1579,9]]},"204":{"position":[[493,8],[621,8],[1409,9],[1940,9]]},"205":{"position":[[457,8],[1245,9],[1776,9]]},"206":{"position":[[287,8],[626,8],[812,9]]},"207":{"position":[[409,8],[595,9]]},"218":{"position":[[17,9]]},"219":{"position":[[17,9]]},"227":{"position":[[4405,9],[4637,9],[4781,9],[5293,9],[5395,10]]},"264":{"position":[[324,9]]},"266":{"position":[[269,8],[449,8],[880,9]]},"267":{"position":[[8020,8]]},"268":{"position":[[241,8],[672,9]]},"269":{"position":[[439,8],[572,8],[974,9]]},"270":{"position":[[241,8],[643,9]]},"271":{"position":[[286,8],[619,8],[805,9]]},"272":{"position":[[411,8],[597,9]]},"292":{"position":[[538,10]]},"304":{"position":[[6584,10],[6797,10]]},"305":{"position":[[1357,10]]},"320":{"position":[[706,9]]},"322":{"position":[[1246,9]]},"357":{"position":[[2193,10]]},"359":{"position":[[1565,10]]},"370":{"position":[[1,9],[187,8]]},"429":{"position":[[671,8]]},"442":{"position":[[100,8]]},"504":{"position":[[144,9]]},"514":{"position":[[1466,8]]},"578":{"position":[[1021,8],[1066,8]]},"584":{"position":[[382,9]]},"651":{"position":[[20,10]]},"681":{"position":[[1424,10]]},"682":{"position":[[1191,10]]},"683":{"position":[[857,10]]},"684":{"position":[[738,10]]},"688":{"position":[[710,10]]},"700":{"position":[[1294,10],[1444,10]]}},"keywords":{}}],["individu",{"_index":621,"title":{},"content":{"31":{"position":[[402,10]]},"46":{"position":[[1223,10]]},"84":{"position":[[66,10]]},"225":{"position":[[258,10]]},"227":{"position":[[2267,10]]},"253":{"position":[[2616,13]]},"280":{"position":[[125,10]]},"282":{"position":[[259,10]]},"304":{"position":[[1005,10],[5012,10],[5047,10],[5125,10],[5160,10],[5238,10],[5272,10],[5387,13],[5553,13]]},"308":{"position":[[191,10],[227,10]]},"357":{"position":[[1030,10],[2521,10]]},"459":{"position":[[499,12],[1733,12]]},"482":{"position":[[720,11],[1158,10],[1440,10]]},"519":{"position":[[48,10]]},"520":{"position":[[35,10]]},"540":{"position":[[244,10]]},"544":{"position":[[380,10]]},"550":{"position":[[88,10]]},"556":{"position":[[630,10]]},"558":{"position":[[296,10],[351,10]]},"561":{"position":[[47,10]]},"575":{"position":[[221,10]]},"599":{"position":[[578,10]]},"603":{"position":[[298,10]]},"632":{"position":[[430,10]]},"754":{"position":[[369,10]]}},"keywords":{}}],["industri",{"_index":4147,"title":{},"content":{"469":{"position":[[476,8]]}},"keywords":{}}],["inf",{"_index":1706,"title":{},"content":{"88":{"position":[[208,4]]}},"keywords":{}}],["infinit",{"_index":3703,"title":{},"content":{"364":{"position":[[1135,8]]},"496":{"position":[[326,8],[713,8],[925,8]]},"681":{"position":[[208,8]]}},"keywords":{}}],["info",{"_index":2827,"title":{},"content":{"292":{"position":[[1188,5],[1261,5]]},"311":{"position":[[446,4]]},"347":{"position":[[1191,5]]},"387":{"position":[[344,4]]},"389":{"position":[[304,4]]},"517":{"position":[[402,6]]}},"keywords":{}}],["inform",{"_index":88,"title":{"463":{"position":[[18,12]]},"464":{"position":[[15,12]]},"465":{"position":[[16,12]]},"467":{"position":[[23,11]]},"497":{"position":[[17,11]]},"633":{"position":[[10,11]]}},"content":{"3":{"position":[[71,11],[317,11]]},"20":{"position":[[1476,11]]},"33":{"position":[[658,12],[917,12]]},"36":{"position":[[775,11]]},"54":{"position":[[3379,12]]},"56":{"position":[[658,11]]},"80":{"position":[[169,12]]},"93":{"position":[[867,11]]},"94":{"position":[[658,11]]},"112":{"position":[[28,11]]},"134":{"position":[[298,11]]},"176":{"position":[[141,11]]},"202":{"position":[[775,11]]},"213":{"position":[[164,11]]},"227":{"position":[[63,11]]},"229":{"position":[[732,11]]},"230":{"position":[[1960,12]]},"234":{"position":[[120,11]]},"253":{"position":[[1094,11],[6562,11],[6717,11]]},"267":{"position":[[770,11],[8083,11],[8169,12]]},"275":{"position":[[173,11]]},"284":{"position":[[82,11]]},"297":{"position":[[330,11],[423,11]]},"305":{"position":[[588,11]]},"311":{"position":[[408,11]]},"328":{"position":[[509,11]]},"343":{"position":[[335,11]]},"347":{"position":[[992,12]]},"349":{"position":[[123,11]]},"363":{"position":[[1051,12],[1462,12]]},"368":{"position":[[348,11]]},"459":{"position":[[8,11],[135,11],[217,11]]},"460":{"position":[[17,6],[33,11],[191,11]]},"461":{"position":[[22,11],[79,11],[185,11],[382,13],[664,11],[1113,11]]},"462":{"position":[[32,12],[154,12],[217,12],[454,11]]},"463":{"position":[[41,11],[156,11],[205,12]]},"464":{"position":[[55,11],[582,12],[639,11]]},"465":{"position":[[11,11],[159,12],[172,11],[403,11],[616,11]]},"466":{"position":[[142,12],[229,12]]},"467":{"position":[[6,11],[260,12],[318,11],[380,11],[504,11],[817,11],[970,11],[1069,12]]},"469":{"position":[[38,11],[439,12],[529,11],[748,12],[822,11]]},"470":{"position":[[112,11],[242,11]]},"472":{"position":[[117,11]]},"522":{"position":[[51,11]]},"548":{"position":[[619,11]]},"568":{"position":[[290,12]]},"616":{"position":[[252,11]]},"632":{"position":[[1289,12]]},"635":{"position":[[75,11]]},"706":{"position":[[42,11]]},"715":{"position":[[9,11]]},"724":{"position":[[9,11]]},"729":{"position":[[200,11]]},"753":{"position":[[91,11]]}},"keywords":{}}],["information"",{"_index":4081,"title":{},"content":{"460":{"position":[[92,18]]}},"keywords":{}}],["infrastructur",{"_index":2464,"title":{},"content":{"243":{"position":[[445,14]]}},"keywords":{}}],["ingest",{"_index":3400,"title":{},"content":{"351":{"position":[[357,6]]}},"keywords":{}}],["inherit",{"_index":745,"title":{},"content":{"36":{"position":[[4164,7]]},"202":{"position":[[4164,7]]},"267":{"position":[[3113,7]]},"508":{"position":[[391,12]]},"611":{"position":[[48,10]]},"754":{"position":[[748,8]]}},"keywords":{}}],["init",{"_index":1486,"title":{"71":{"position":[[14,5]]}},"content":{"83":{"position":[[981,4]]},"84":{"position":[[139,4],[228,4]]},"240":{"position":[[807,4]]},"318":{"position":[[419,4]]},"321":{"position":[[386,4]]},"325":{"position":[[84,4]]},"501":{"position":[[821,4]]}},"keywords":{}}],["initi",{"_index":746,"title":{"71":{"position":[[0,10]]}},"content":{"36":{"position":[[4211,10]]},"63":{"position":[[1630,7],[1652,7],[1793,7],[1821,7]]},"71":{"position":[[100,10]]},"90":{"position":[[127,11]]},"120":{"position":[[187,9]]},"202":{"position":[[4211,10]]},"216":{"position":[[51,10]]},"217":{"position":[[49,10]]},"227":{"position":[[847,10]]},"267":{"position":[[3160,10],[8693,7],[8760,9],[8860,7]]},"310":{"position":[[57,10]]},"418":{"position":[[1461,7]]},"419":{"position":[[1514,7]]},"420":{"position":[[1486,7]]},"433":{"position":[[178,14]]},"434":{"position":[[367,10]]},"446":{"position":[[785,10]]},"459":{"position":[[839,7]]},"487":{"position":[[806,12]]},"572":{"position":[[1,9]]},"611":{"position":[[168,10]]},"703":{"position":[[260,7]]},"711":{"position":[[277,10]]},"720":{"position":[[229,10]]},"754":{"position":[[1395,10]]}},"keywords":{}}],["initialize(allow_empty_data",{"_index":1491,"title":{},"content":{"71":{"position":[[259,27]]}},"keywords":{}}],["initialize(multipli",{"_index":769,"title":{},"content":{"36":{"position":[[5597,22]]},"202":{"position":[[5597,22]]},"267":{"position":[[4077,22]]}},"keywords":{}}],["inject",{"_index":253,"title":{},"content":{"7":{"position":[[424,6]]},"490":{"position":[[704,6]]},"497":{"position":[[154,6]]},"670":{"position":[[1,7]]}},"keywords":{}}],["inject_tlm",{"_index":5071,"title":{"670":{"position":[[0,11]]}},"content":{},"keywords":{}}],["inject_tlm("<target_name>"",{"_index":5072,"title":{},"content":{"670":{"position":[[99,43]]}},"keywords":{}}],["inject_tlm("inst"",{"_index":5076,"title":{},"content":{"670":{"position":[[572,28],[682,28]]}},"keywords":{}}],["inlin",{"_index":2087,"title":{},"content":{"187":{"position":[[174,6]]},"188":{"position":[[86,6],[343,7]]}},"keywords":{}}],["inline_url",{"_index":2085,"title":{"187":{"position":[[0,11]]}},"content":{"235":{"position":[[1832,10]]}},"keywords":{}}],["innov",{"_index":3671,"title":{},"content":{"362":{"position":[[625,10]]}},"keywords":{}}],["input",{"_index":3715,"title":{"495":{"position":[[5,5]]},"496":{"position":[[34,5]]},"622":{"position":[[16,6]]}},"content":{"366":{"position":[[172,5]]},"395":{"position":[[95,6]]},"428":{"position":[[42,5],[165,5]]},"495":{"position":[[65,5],[99,5],[279,6],[376,5],[1061,5],[1203,5],[1327,5]]},"496":{"position":[[119,6],[228,5]]},"500":{"position":[[198,5]]},"525":{"position":[[110,6]]},"623":{"position":[[22,5],[50,5]]},"624":{"position":[[22,5],[50,5]]}},"keywords":{}}],["insecur",{"_index":393,"title":{},"content":{"20":{"position":[[47,8]]},"44":{"position":[[1246,8],[2473,8]]}},"keywords":{}}],["insert",{"_index":206,"title":{},"content":{"6":{"position":[[236,6]]},"347":{"position":[[538,6],[1731,6]]},"429":{"position":[[514,8]]},"754":{"position":[[1149,6],[1233,6],[1279,6],[1324,6],[1696,6],[1773,6],[1827,6],[1880,6]]}},"keywords":{}}],["insid",{"_index":222,"title":{},"content":{"6":{"position":[[581,6]]},"7":{"position":[[31,6]]},"230":{"position":[[87,6]]},"231":{"position":[[99,6]]},"232":{"position":[[95,6]]},"233":{"position":[[105,6]]},"234":{"position":[[177,6]]},"235":{"position":[[88,6]]},"253":{"position":[[725,6],[833,6]]},"259":{"position":[[1334,6]]},"387":{"position":[[47,6]]},"389":{"position":[[49,6]]},"391":{"position":[[20,6]]},"467":{"position":[[79,6]]},"476":{"position":[[884,6],[4806,6]]},"501":{"position":[[490,6]]},"610":{"position":[[148,6]]},"658":{"position":[[332,6]]}},"keywords":{}}],["insofar",{"_index":4068,"title":{},"content":{"459":{"position":[[1412,7]]}},"keywords":{}}],["inspect",{"_index":556,"title":{},"content":{"25":{"position":[[9,7]]},"44":{"position":[[1401,7]]},"84":{"position":[[663,9]]},"322":{"position":[[515,7]]},"329":{"position":[[1601,7]]},"364":{"position":[[887,7]]},"490":{"position":[[171,7],[441,7]]},"505":{"position":[[738,7]]},"544":{"position":[[369,7]]}},"keywords":{}}],["inst",{"_index":243,"title":{},"content":{"7":{"position":[[148,4],[824,4],[1185,4]]},"8":{"position":[[162,4],[319,4]]},"9":{"position":[[176,4],[342,4],[525,4],[674,4]]},"123":{"position":[[643,4]]},"134":{"position":[[1145,4],[1167,4]]},"144":{"position":[[271,4],[276,4]]},"199":{"position":[[536,4]]},"208":{"position":[[408,4]]},"209":{"position":[[492,4]]},"225":{"position":[[459,4]]},"257":{"position":[[1420,4],[1590,4]]},"264":{"position":[[564,4]]},"273":{"position":[[400,4]]},"274":{"position":[[457,4]]},"282":{"position":[[474,4]]},"284":{"position":[[429,4],[472,4],[515,4]]},"355":{"position":[[475,5],[883,4]]},"357":{"position":[[372,5],[568,4],[601,4],[626,4]]},"383":{"position":[[789,4],[896,4]]},"401":{"position":[[574,4],[639,4]]},"402":{"position":[[761,4]]},"403":{"position":[[846,4],[897,4]]},"404":{"position":[[827,4]]},"405":{"position":[[569,4],[618,4]]},"406":{"position":[[430,4],[474,4]]},"407":{"position":[[580,4],[660,4]]},"409":{"position":[[465,4],[526,4]]},"410":{"position":[[838,4],[905,4]]},"411":{"position":[[216,4],[720,4]]},"412":{"position":[[454,4],[506,4]]},"413":{"position":[[455,4],[510,4]]},"414":{"position":[[451,4],[506,4]]},"415":{"position":[[423,4],[476,4]]},"416":{"position":[[428,4],[484,4]]},"417":{"position":[[802,4],[864,4]]},"418":{"position":[[555,4],[593,4]]},"419":{"position":[[589,4]]},"420":{"position":[[578,4]]},"421":{"position":[[384,4]]},"422":{"position":[[574,4],[616,4]]},"423":{"position":[[713,4],[767,4]]},"424":{"position":[[540,4],[595,4],[632,4],[752,4],[807,4],[844,4]]},"425":{"position":[[341,4],[407,4]]},"426":{"position":[[304,4]]},"427":{"position":[[653,4],[697,4]]},"440":{"position":[[618,4],[672,4]]},"441":{"position":[[429,4]]},"442":{"position":[[932,4],[1148,4]]},"444":{"position":[[775,4],[838,4],[953,4]]},"446":{"position":[[140,4],[179,4],[222,4]]},"498":{"position":[[232,4]]},"499":{"position":[[593,8],[930,8]]},"534":{"position":[[121,5]]},"577":{"position":[[437,4]]},"578":{"position":[[433,4]]},"644":{"position":[[1195,7]]},"646":{"position":[[843,7],[949,4]]},"648":{"position":[[885,7],[991,4]]},"650":{"position":[[1075,7]]},"653":{"position":[[677,4],[810,4]]},"654":{"position":[[417,4]]},"668":{"position":[[442,4]]},"673":{"position":[[1384,7],[1498,7],[1618,7],[1740,7]]},"675":{"position":[[382,8]]},"676":{"position":[[479,8],[982,8]]},"684":{"position":[[886,4]]},"688":{"position":[[864,4]]},"705":{"position":[[119,8]]},"743":{"position":[[127,6],[141,5]]},"745":{"position":[[572,4],[844,4]]},"746":{"position":[[1034,4],[1317,4]]}},"keywords":{}}],["inst','inst2",{"_index":4189,"title":{},"content":{"476":{"position":[[2030,16],[2945,16]]}},"keywords":{}}],["inst/procedures/checks.rb",{"_index":3249,"title":{},"content":{"332":{"position":[[200,25]]}},"keywords":{}}],["inst/procedures/proc.rb",{"_index":4758,"title":{},"content":{"628":{"position":[[338,23]]},"629":{"position":[[259,24]]},"630":{"position":[[235,24]]}},"keywords":{}}],["inst2",{"_index":3444,"title":{},"content":{"355":{"position":[[487,6],[894,5]]},"357":{"position":[[378,6]]},"578":{"position":[[462,5]]},"705":{"position":[[128,8]]}},"keywords":{}}],["inst2_int",{"_index":5284,"title":{},"content":{"710":{"position":[[155,12]]}},"keywords":{}}],["inst_cmds_v2.txt",{"_index":365,"title":{},"content":{"15":{"position":[[529,16]]},"16":{"position":[[531,16]]}},"keywords":{}}],["inst_int",{"_index":1939,"title":{},"content":{"123":{"position":[[626,8]]},"710":{"position":[[142,12]]}},"keywords":{}}],["inst_tlm_v2.txt",{"_index":366,"title":{},"content":{"15":{"position":[[556,15]]},"16":{"position":[[558,15]]}},"keywords":{}}],["instal",{"_index":571,"title":{"45":{"position":[[5,7]]},"46":{"position":[[0,10]]},"286":{"position":[[0,12]]},"287":{"position":[[0,10]]},"288":{"position":[[0,10]]}},"content":{"27":{"position":[[33,9]]},"46":{"position":[[258,9],[353,8],[683,7],[793,10],[941,12],[1013,9],[1035,8]]},"83":{"position":[[439,10]]},"85":{"position":[[1285,7]]},"102":{"position":[[1,7],[18,7],[127,7],[188,7]]},"105":{"position":[[96,7],[165,7]]},"120":{"position":[[197,9]]},"121":{"position":[[147,13],[386,13]]},"192":{"position":[[185,10]]},"230":{"position":[[652,13]]},"231":{"position":[[756,13]]},"235":{"position":[[1173,13]]},"239":{"position":[[249,7]]},"253":{"position":[[112,7],[183,9],[299,12],[684,12],[7053,7]]},"254":{"position":[[562,7],[2380,9]]},"257":{"position":[[792,12],[1106,13]]},"287":{"position":[[58,9]]},"289":{"position":[[63,10],[91,7],[251,7],[302,7]]},"290":{"position":[[196,12],[224,7]]},"291":{"position":[[594,12]]},"292":{"position":[[614,9]]},"301":{"position":[[76,12]]},"311":{"position":[[173,10],[203,7],[283,9],[423,9]]},"314":{"position":[[1,7],[42,12]]},"318":{"position":[[301,7],[584,7]]},"320":{"position":[[1546,7]]},"322":{"position":[[1689,10]]},"324":{"position":[[10,12],[55,10],[1372,7],[1427,8],[1566,7],[1665,7]]},"325":{"position":[[1,7],[21,7],[311,7],[339,7]]},"331":{"position":[[67,12],[302,9],[426,10]]},"334":{"position":[[1045,8],[1080,10],[1263,8]]},"337":{"position":[[22,12],[70,7]]},"341":{"position":[[67,14]]},"347":{"position":[[2026,7],[2252,7]]},"350":{"position":[[1326,7],[1409,7]]},"355":{"position":[[1065,10]]},"356":{"position":[[659,7]]},"357":{"position":[[178,9],[2068,9],[3819,7]]},"361":{"position":[[247,8]]},"363":{"position":[[498,10],[562,12]]},"448":{"position":[[56,7]]},"516":{"position":[[204,13]]},"517":{"position":[[275,10],[554,9]]},"536":{"position":[[123,13]]},"539":{"position":[[71,13]]},"605":{"position":[[346,9],[723,9]]},"630":{"position":[[353,12]]}},"keywords":{}}],["instanc",{"_index":596,"title":{},"content":{"28":{"position":[[16,9]]},"64":{"position":[[202,9]]},"71":{"position":[[708,8]]},"171":{"position":[[382,8]]},"208":{"position":[[239,8]]},"273":{"position":[[239,8]]},"384":{"position":[[445,9]]},"466":{"position":[[499,10]]},"467":{"position":[[1019,9]]},"500":{"position":[[224,9]]}},"keywords":{}}],["instanti",{"_index":1940,"title":{},"content":{"123":{"position":[[702,13]]},"143":{"position":[[492,13]]},"536":{"position":[[95,12]]}},"keywords":{}}],["instantli",{"_index":5500,"title":{},"content":{"758":{"position":[[136,10]]}},"keywords":{}}],["instead",{"_index":508,"title":{},"content":{"23":{"position":[[39,7]]},"36":{"position":[[9112,8]]},"56":{"position":[[427,8]]},"58":{"position":[[356,8],[459,8]]},"63":{"position":[[190,8]]},"69":{"position":[[3310,8],[4642,7]]},"76":{"position":[[747,7]]},"202":{"position":[[9112,8]]},"253":{"position":[[1952,7]]},"267":{"position":[[7234,8]]},"324":{"position":[[98,7],[1585,8],[2378,7]]},"338":{"position":[[248,7]]},"476":{"position":[[1758,7]]},"502":{"position":[[613,8]]}},"keywords":{}}],["instruct",{"_index":567,"title":{"325":{"position":[[6,13]]}},"content":{"26":{"position":[[279,12]]},"46":{"position":[[210,12]]},"239":{"position":[[57,12]]},"289":{"position":[[113,12]]},"314":{"position":[[55,13]]},"320":{"position":[[14,12]]},"324":{"position":[[1358,12]]},"466":{"position":[[823,12]]}},"keywords":{}}],["instrument",{"_index":1388,"title":{"488":{"position":[[0,12]]}},"content":{"63":{"position":[[385,13]]},"226":{"position":[[793,10]]},"304":{"position":[[4203,16],[4243,12]]},"352":{"position":[[33,12]]},"485":{"position":[[478,15]]},"488":{"position":[[29,15],[346,12],[497,12],[952,13],[1126,10],[1883,13],[1942,13],[2018,15],[2054,12],[2143,15],[2227,13]]},"502":{"position":[[57,11]]},"606":{"position":[[180,12]]},"646":{"position":[[954,12]]},"648":{"position":[[996,12]]},"752":{"position":[[10,15],[170,13],[390,15]]}},"keywords":{}}],["instrument"",{"_index":4891,"title":{},"content":{"646":{"position":[[576,17]]},"648":{"position":[[615,17]]},"666":{"position":[[579,17]]}},"keywords":{}}],["int",{"_index":624,"title":{},"content":{"31":{"position":[[568,4]]},"35":{"position":[[702,4],[767,4]]},"37":{"position":[[495,4],[560,4]]},"198":{"position":[[869,4]]},"201":{"position":[[731,4],[796,4],[2053,3]]},"203":{"position":[[514,4],[579,4]]},"204":{"position":[[901,4],[966,4]]},"205":{"position":[[737,4],[802,4]]},"206":{"position":[[497,4]]},"207":{"position":[[280,4]]},"232":{"position":[[1034,3]]},"233":{"position":[[1251,3]]},"253":{"position":[[2881,3],[3629,5],[4865,3],[5297,5]]},"254":{"position":[[1479,3]]},"259":{"position":[[893,4]]},"266":{"position":[[734,4]]},"267":{"position":[[7394,4]]},"268":{"position":[[526,4]]},"269":{"position":[[743,4]]},"270":{"position":[[412,4]]},"271":{"position":[[490,4]]},"272":{"position":[[282,4]]},"285":{"position":[[967,3]]},"329":{"position":[[771,3]]}},"keywords":{}}],["int(valu",{"_index":831,"title":{},"content":{"36":{"position":[[9470,9]]},"202":{"position":[[9470,9]]},"267":{"position":[[7731,9]]}},"keywords":{}}],["integ",{"_index":626,"title":{},"content":{"31":{"position":[[621,9],[640,9]]},"36":{"position":[[10346,7]]},"67":{"position":[[767,7]]},"99":{"position":[[254,7],[389,7],[550,7],[611,7],[676,7],[743,7],[850,7],[952,7],[1053,7],[1769,7],[2402,7],[2760,7],[3115,7],[3530,7],[4930,7]]},"192":{"position":[[242,7]]},"198":{"position":[[922,9],[941,9]]},"202":{"position":[[10346,7]]},"227":{"position":[[4292,7]]},"253":{"position":[[3621,7],[4003,7],[4263,7],[5289,7],[5583,8]]},"259":{"position":[[946,9],[965,9]]},"454":{"position":[[1,8]]},"501":{"position":[[750,7],[1028,7]]},"623":{"position":[[192,7]]},"761":{"position":[[170,7]]}},"keywords":{}}],["integer"",{"_index":4738,"title":{},"content":{"623":{"position":[[695,14],[916,14]]}},"keywords":{}}],["integer.nod",{"_index":461,"title":{},"content":{"20":{"position":[[1155,13]]}},"keywords":{}}],["integr",{"_index":1889,"title":{},"content":{"108":{"position":[[538,11],[594,11],[661,11]]},"360":{"position":[[418,11],[1310,11]]},"364":{"position":[[1038,9]]},"492":{"position":[[486,10]]}},"keywords":{}}],["intellectu",{"_index":3676,"title":{},"content":{"363":{"position":[[140,12]]}},"keywords":{}}],["intellig",{"_index":4550,"title":{},"content":{"593":{"position":[[128,13]]},"601":{"position":[[126,13]]}},"keywords":{}}],["intend",{"_index":1144,"title":{},"content":{"46":{"position":[[88,8]]}},"keywords":{}}],["intens",{"_index":2397,"title":{},"content":{"235":{"position":[[181,9]]}},"keywords":{}}],["intent",{"_index":4184,"title":{},"content":{"476":{"position":[[1775,6]]}},"keywords":{}}],["intention",{"_index":4825,"title":{},"content":{"637":{"position":[[129,13]]},"639":{"position":[[225,13]]},"641":{"position":[[152,13]]},"643":{"position":[[248,13]]}},"keywords":{}}],["interact",{"_index":65,"title":{"428":{"position":[[0,11]]}},"content":{"2":{"position":[[622,8]]},"85":{"position":[[1428,12]]},"227":{"position":[[654,11],[729,12]]},"247":{"position":[[141,11]]},"298":{"position":[[713,8],[1542,8]]},"304":{"position":[[4738,11]]},"353":{"position":[[55,11]]},"428":{"position":[[3,11],[138,11]]},"469":{"position":[[86,12]]},"655":{"position":[[33,8]]},"746":{"position":[[196,8]]}},"keywords":{}}],["intercept",{"_index":4152,"title":{},"content":{"469":{"position":[[712,9]]}},"keywords":{}}],["interest",{"_index":92,"title":{},"content":{"3":{"position":[[123,12]]},"36":{"position":[[10875,10]]},"459":{"position":[[710,9],[1503,9]]}},"keywords":{}}],["interesting"",{"_index":4802,"title":{},"content":{"632":{"position":[[1397,18],[1804,18]]}},"keywords":{}}],["interfac",{"_index":317,"title":{"47":{"position":[[0,10]]},"48":{"position":[[9,11]]},"49":{"position":[[13,10]]},"50":{"position":[[13,10]]},"51":{"position":[[4,10]]},"52":{"position":[[7,10]]},"115":{"position":[[0,10]]},"123":{"position":[[0,10]]},"124":{"position":[[0,9]]},"253":{"position":[[0,11]]},"320":{"position":[[35,9]]},"336":{"position":[[30,9]]},"539":{"position":[[0,10]]},"708":{"position":[[0,11]]}},"content":{"11":{"position":[[52,10],[175,10]]},"48":{"position":[[31,10],[100,9],[135,9]]},"49":{"position":[[18,9],[100,9],[209,10],[384,9],[508,9],[849,9],[980,9],[1090,9],[1200,9],[1335,9],[1444,9],[1560,9],[1706,9],[1856,9],[1985,9],[2115,9],[2268,9],[2395,9],[2530,9],[2669,9],[2704,9],[2727,9],[2802,9]]},"50":{"position":[[18,9],[162,9],[736,9],[846,9],[935,9],[1024,9],[1138,9],[1226,9],[1321,9],[1446,9],[1575,9],[1683,9],[1792,9],[1924,9],[2030,9],[2144,9],[2262,9],[2297,9],[2320,9],[2395,9]]},"51":{"position":[[9,9],[446,9],[509,9],[891,9],[1016,9],[1137,9],[1172,9],[1195,9],[1270,9]]},"52":{"position":[[12,9],[157,9],[928,9],[1044,9],[1151,9],[1247,9],[1369,9],[1465,9],[1579,9],[1687,9],[1722,9],[1745,9],[1820,9]]},"53":{"position":[[259,10],[284,10],[312,10]]},"54":{"position":[[38,10],[207,11],[282,9],[598,10],[718,10],[730,9],[840,9],[950,9],[1070,9],[1205,9],[1314,9],[1432,9],[1561,9],[1691,9],[1830,9],[1983,9],[2110,9],[2479,10],[2491,9],[2684,9],[3320,10]]},"59":{"position":[[65,9],[493,10]]},"60":{"position":[[132,10],[216,9],[330,9],[402,9]]},"61":{"position":[[100,10],[260,9],[707,9]]},"62":{"position":[[259,9]]},"63":{"position":[[325,10],[1699,9]]},"65":{"position":[[126,11]]},"67":{"position":[[418,9]]},"69":{"position":[[94,10],[133,9],[176,10],[336,10],[450,9],[1087,10],[1361,10],[1626,9],[2269,10],[2669,9],[2795,9],[3434,9],[3513,10],[3531,9],[4139,9],[4267,10],[4755,9],[4945,10]]},"71":{"position":[[296,10],[663,9],[692,9],[819,9]]},"72":{"position":[[68,9]]},"73":{"position":[[81,9]]},"74":{"position":[[84,9]]},"75":{"position":[[88,10],[522,9],[706,10],[771,9],[1136,9],[1684,9]]},"76":{"position":[[111,10],[548,9]]},"77":{"position":[[110,10],[354,10],[564,9]]},"78":{"position":[[102,10],[353,10],[561,9]]},"79":{"position":[[79,10],[177,10],[387,10],[580,9],[738,9]]},"95":{"position":[[18,9],[143,9]]},"107":{"position":[[50,9]]},"108":{"position":[[90,12],[304,9],[354,10]]},"112":{"position":[[259,10],[405,10],[673,9]]},"115":{"position":[[1,10],[187,10]]},"116":{"position":[[153,11],[197,11]]},"123":{"position":[[44,10],[119,10],[185,9],[267,10],[334,9],[412,10],[452,10],[556,10],[720,10],[882,10]]},"124":{"position":[[38,9]]},"125":{"position":[[26,9],[106,9],[137,9],[263,9]]},"126":{"position":[[41,9],[148,9],[179,9],[328,9],[357,9],[524,9]]},"127":{"position":[[41,9],[151,9],[182,9],[334,9],[363,9],[533,9]]},"128":{"position":[[53,9]]},"129":{"position":[[41,9]]},"130":{"position":[[101,9]]},"131":{"position":[[38,10],[133,10]]},"133":{"position":[[36,9],[221,10],[858,9]]},"134":{"position":[[37,9],[171,9],[716,9],[871,9],[985,9]]},"135":{"position":[[23,9],[60,9],[112,10],[298,11],[445,10],[667,9]]},"136":{"position":[[47,9],[85,9],[445,9]]},"142":{"position":[[256,10]]},"143":{"position":[[81,10],[197,11],[251,10],[510,10],[672,10]]},"227":{"position":[[174,9]]},"230":{"position":[[1456,9],[2604,9]]},"240":{"position":[[930,10],[1358,9]]},"245":{"position":[[155,11],[327,11]]},"253":{"position":[[652,11],[6769,9],[7549,9],[8036,10],[8094,10],[8120,9],[8260,10]]},"254":{"position":[[751,9],[2718,9]]},"257":{"position":[[242,10],[280,9]]},"260":{"position":[[188,9]]},"263":{"position":[[258,9],[723,9]]},"297":{"position":[[240,9],[467,9],[583,10],[651,10]]},"298":{"position":[[1063,9],[1118,10],[1229,10]]},"299":{"position":[[161,9],[276,9]]},"300":{"position":[[112,11],[150,9]]},"301":{"position":[[216,11],[237,10],[343,11],[403,10]]},"303":{"position":[[95,9]]},"304":{"position":[[33,9]]},"310":{"position":[[35,9]]},"311":{"position":[[454,11]]},"320":{"position":[[1017,9],[1646,10]]},"336":{"position":[[43,9]]},"338":{"position":[[145,10],[276,9],[1153,9],[1760,9]]},"351":{"position":[[220,9]]},"364":{"position":[[104,9],[216,10],[250,9]]},"502":{"position":[[460,10]]},"514":{"position":[[1333,10]]},"536":{"position":[[72,10],[137,10]]},"539":{"position":[[5,10],[37,10],[115,10]]},"540":{"position":[[59,10]]},"544":{"position":[[211,9]]},"564":{"position":[[72,9]]},"578":{"position":[[10,9]]},"645":{"position":[[22,10],[154,9]]},"669":{"position":[[133,10],[190,10]]},"670":{"position":[[64,10]]},"671":{"position":[[154,9]]},"674":{"position":[[71,9]]},"707":{"position":[[13,10],[150,9],[259,11],[306,11]]},"708":{"position":[[51,11]]},"709":{"position":[[12,9],[52,9],[234,10],[270,9]]},"710":{"position":[[23,10]]},"711":{"position":[[46,10],[226,10],[237,9],[292,10],[330,9]]},"712":{"position":[[51,10],[193,10]]},"713":{"position":[[42,11],[240,9],[323,10]]},"714":{"position":[[41,11],[238,9],[320,10]]},"715":{"position":[[31,11],[115,9],[906,9]]},"716":{"position":[[20,9],[93,10],[306,9],[333,9],[411,9],[507,9],[604,10]]},"717":{"position":[[31,10],[84,10],[130,9],[358,9]]},"718":{"position":[[31,9],[374,9]]}},"keywords":{}}],["interface'",{"_index":1457,"title":{},"content":{"69":{"position":[[2079,11],[3101,11],[4404,11]]}},"keywords":{}}],["interface.read_protocol",{"_index":1515,"title":{},"content":{"75":{"position":[[721,26]]}},"keywords":{}}],["interface[0",{"_index":5318,"title":{},"content":{"715":{"position":[[1075,15]]}},"keywords":{}}],["interface[1",{"_index":5319,"title":{},"content":{"715":{"position":[[1109,15]]}},"keywords":{}}],["interface[2]}"",{"_index":5320,"title":{},"content":{"715":{"position":[[1148,21]]}},"keywords":{}}],["interface[3",{"_index":5322,"title":{},"content":{"715":{"position":[[1204,15]]}},"keywords":{}}],["interface[4",{"_index":5323,"title":{},"content":{"715":{"position":[[1240,15]]}},"keywords":{}}],["interface[5",{"_index":5324,"title":{},"content":{"715":{"position":[[1275,15]]}},"keywords":{}}],["interface[6]}"",{"_index":5325,"title":{},"content":{"715":{"position":[[1307,21]]}},"keywords":{}}],["interface[7",{"_index":5327,"title":{},"content":{"715":{"position":[[1353,15]]}},"keywords":{}}],["interface[8]}"",{"_index":5328,"title":{},"content":{"715":{"position":[[1380,21]]}},"keywords":{}}],["interface_address",{"_index":3048,"title":{},"content":{"320":{"position":[[955,17]]}},"keywords":{}}],["interface_cmd",{"_index":5338,"title":{"717":{"position":[[0,14]]}},"content":{},"keywords":{}}],["interface_cmd("<interfac",{"_index":5339,"title":{},"content":{"717":{"position":[[184,33]]}},"keywords":{}}],["interface_cmd("inst"",{"_index":5341,"title":{},"content":{"717":{"position":[[493,31]]}},"keywords":{}}],["interface_info",{"_index":5302,"title":{},"content":{"715":{"position":[[315,14],[860,14],[919,17]]}},"keywords":{}}],["interface_info.each",{"_index":5303,"title":{},"content":{"715":{"position":[[357,19]]}},"keywords":{}}],["interface_microservice.pi",{"_index":2005,"title":{},"content":{"140":{"position":[[318,25]]}},"keywords":{}}],["interface_microservice.rb",{"_index":2003,"title":{},"content":{"140":{"position":[[237,25]]}},"keywords":{}}],["interface_nam",{"_index":1206,"title":{},"content":{"49":{"position":[[859,14],[990,14],[1100,14],[1210,14],[1345,14],[1454,14],[1570,14],[1716,14],[1866,14],[1995,14],[2125,14],[2278,14],[2405,14],[2540,14]]},"50":{"position":[[746,14],[856,14],[945,14],[1034,14],[1148,14],[1236,14],[1331,14],[1456,14],[1585,14],[1693,14],[1802,14],[1934,14],[2040,14],[2154,14]]},"51":{"position":[[901,14],[1026,14]]},"52":{"position":[[938,14],[1054,14],[1161,14],[1257,14],[1379,14],[1475,14],[1589,14]]},"54":{"position":[[740,14],[850,14],[960,14],[1080,14],[1215,14],[1324,14],[1442,14],[1571,14],[1701,14],[1840,14],[1993,14],[2120,14],[2501,14],[2694,14]]},"710":{"position":[[95,15]]},"715":{"position":[[380,16],[514,18],[939,16]]}},"keywords":{}}],["interface_protocol_cmd",{"_index":1544,"title":{"718":{"position":[[0,23]]}},"content":{"80":{"position":[[137,22]]}},"keywords":{}}],["interface_protocol_cmd("<interfac",{"_index":5343,"title":{},"content":{"718":{"position":[[191,42]]}},"keywords":{}}],["interface_protocol_cmd("inst"",{"_index":5344,"title":{},"content":{"718":{"position":[[781,40],[902,40]]}},"keywords":{}}],["interface_st",{"_index":4681,"title":{},"content":{"621":{"position":[[2697,15]]}},"keywords":{}}],["interfaces](../configuration/interfac",{"_index":2557,"title":{},"content":{"253":{"position":[[6666,41]]}},"keywords":{}}],["interfacesdelet",{"_index":4588,"title":{},"content":{"606":{"position":[[271,16]]}},"keywords":{}}],["interfaces}"",{"_index":5258,"title":{},"content":{"707":{"position":[[318,19]]}},"keywords":{}}],["intermedi",{"_index":1236,"title":{},"content":{"51":{"position":[[629,12]]}},"keywords":{}}],["intermediari",{"_index":550,"title":{},"content":{"24":{"position":[[840,12]]},"143":{"position":[[327,14]]},"352":{"position":[[78,12]]}},"keywords":{}}],["intern",{"_index":70,"title":{},"content":{"2":{"position":[[687,8]]},"54":{"position":[[623,8]]},"72":{"position":[[35,8]]},"73":{"position":[[43,8]]},"74":{"position":[[46,8]]},"83":{"position":[[2081,8]]},"176":{"position":[[524,8]]},"187":{"position":[[1,8]]},"188":{"position":[[108,10]]},"263":{"position":[[923,10],[1694,8]]},"298":{"position":[[778,8]]},"349":{"position":[[86,9]]},"352":{"position":[[619,8]]},"363":{"position":[[1152,13]]}},"keywords":{}}],["internet",{"_index":394,"title":{},"content":{"20":{"position":[[64,9]]},"324":{"position":[[3611,8]]},"325":{"position":[[718,9]]},"359":{"position":[[503,9],[1961,8]]},"464":{"position":[[660,9]]}},"keywords":{}}],["interoper",{"_index":2995,"title":{},"content":{"315":{"position":[[41,16]]}},"keywords":{}}],["interpol",{"_index":4167,"title":{},"content":{"476":{"position":[[664,14]]},"501":{"position":[[433,13],[511,13]]},"658":{"position":[[488,15]]}},"keywords":{}}],["interpret",{"_index":1299,"title":{},"content":{"56":{"position":[[498,11]]},"253":{"position":[[5559,11],[7935,11]]},"266":{"position":[[911,11]]},"268":{"position":[[703,11]]},"269":{"position":[[1005,11]]},"270":{"position":[[674,11]]},"493":{"position":[[339,11]]}},"keywords":{}}],["interv",{"_index":1957,"title":{},"content":{"130":{"position":[[163,8]]},"147":{"position":[[45,9]]},"150":{"position":[[52,9]]},"154":{"position":[[47,9]]},"157":{"position":[[54,9]]}},"keywords":{}}],["intervalopen",{"_index":4502,"title":{},"content":{"570":{"position":[[32,13]]}},"keywords":{}}],["intervent",{"_index":4615,"title":{},"content":{"612":{"position":[[303,13]]}},"keywords":{}}],["intim",{"_index":2068,"title":{},"content":{"176":{"position":[[498,8]]}},"keywords":{}}],["intranet",{"_index":1901,"title":{},"content":{"109":{"position":[[132,8]]}},"keywords":{}}],["introduct",{"_index":0,"title":{"0":{"position":[[0,12]]},"112":{"position":[[0,13]]},"474":{"position":[[0,13]]},"510":{"position":[[0,13]]},"516":{"position":[[0,13]]},"522":{"position":[[0,13]]},"530":{"position":[[0,13]]},"536":{"position":[[0,13]]},"546":{"position":[[0,13]]},"550":{"position":[[0,13]]},"561":{"position":[[0,13]]},"566":{"position":[[0,13]]},"568":{"position":[[0,13]]},"575":{"position":[[0,13]]},"581":{"position":[[0,13]]},"588":{"position":[[0,13]]},"596":{"position":[[0,14]]},"603":{"position":[[0,13]]}},"content":{},"keywords":{}}],["introspect",{"_index":1500,"title":{},"content":{"71":{"position":[[786,10]]}},"keywords":{}}],["intuit",{"_index":3398,"title":{},"content":{"351":{"position":[[203,9]]},"516":{"position":[[114,9]]}},"keywords":{}}],["invalid",{"_index":399,"title":{},"content":{"20":{"position":[[115,7]]},"495":{"position":[[368,7]]},"639":{"position":[[244,7]]},"643":{"position":[[267,7]]}},"keywords":{}}],["investig",{"_index":1040,"title":{},"content":{"44":{"position":[[537,11]]},"465":{"position":[[529,15]]}},"keywords":{}}],["involv",{"_index":2800,"title":{},"content":{"291":{"position":[[632,7]]},"324":{"position":[[847,7]]},"357":{"position":[[304,8]]},"638":{"position":[[165,9]]},"639":{"position":[[191,9]]},"642":{"position":[[188,9]]},"643":{"position":[[214,9]]}},"keywords":{}}],["io",{"_index":4771,"title":{},"content":{"629":{"position":[[462,2],[632,2],[990,2]]}},"keywords":{}}],["ip",{"_index":1230,"title":{},"content":{"51":{"position":[[140,2]]},"58":{"position":[[17,2],[80,2]]},"121":{"position":[[251,2]]},"135":{"position":[[540,2]]},"253":{"position":[[7746,2]]},"320":{"position":[[777,2],[1084,2]]},"321":{"position":[[942,3],[1119,2]]},"322":{"position":[[329,2],[1052,2],[1971,2]]},"359":{"position":[[2187,2]]}},"keywords":{}}],["is"",{"_index":3638,"title":{},"content":{"360":{"position":[[721,9]]}},"keywords":{}}],["isn't",{"_index":2616,"title":{},"content":{"261":{"position":[[111,5]]},"357":{"position":[[1966,5]]},"508":{"position":[[278,5]]}},"keywords":{}}],["isol",{"_index":2431,"title":{},"content":{"240":{"position":[[244,8]]}},"keywords":{}}],["issu",{"_index":131,"title":{},"content":{"3":{"position":[[689,5]]},"36":{"position":[[1198,6]]},"110":{"position":[[174,6]]},"202":{"position":[[1198,6]]},"253":{"position":[[1838,6]]},"254":{"position":[[2877,6]]},"267":{"position":[[1193,6]]},"291":{"position":[[420,6]]},"292":{"position":[[811,5]]},"295":{"position":[[55,5]]},"324":{"position":[[766,6]]},"357":{"position":[[4020,5]]},"449":{"position":[[684,5]]},"505":{"position":[[391,7],[427,5]]},"575":{"position":[[301,7]]},"746":{"position":[[825,7]]}},"keywords":{}}],["istanbul/nyc",{"_index":1839,"title":{},"content":{"103":{"position":[[315,12]]}},"keywords":{}}],["it'",{"_index":127,"title":{},"content":{"3":{"position":[[659,4]]},"7":{"position":[[597,4]]},"24":{"position":[[750,4]]},"198":{"position":[[1283,4]]},"235":{"position":[[67,4]]},"253":{"position":[[853,4]]},"327":{"position":[[552,4]]},"356":{"position":[[519,4]]}},"keywords":{}}],["itar",{"_index":3685,"title":{},"content":{"363":{"position":[[1119,4],[1199,4]]}},"keywords":{}}],["item",{"_index":358,"title":{"260":{"position":[[3,6]]},"261":{"position":[[15,6]]},"262":{"position":[[8,6]]},"266":{"position":[[0,5]]},"267":{"position":[[0,4]]},"532":{"position":[[10,6]]},"538":{"position":[[10,6]]},"552":{"position":[[10,6]]},"553":{"position":[[10,6]]},"554":{"position":[[10,5]]},"557":{"position":[[9,6]]},"558":{"position":[[8,6]]},"559":{"position":[[11,6]]},"563":{"position":[[10,6]]},"570":{"position":[[10,6]]},"571":{"position":[[10,6]]},"577":{"position":[[10,6]]},"578":{"position":[[7,6]]},"582":{"position":[[10,6]]},"589":{"position":[[10,6]]},"598":{"position":[[10,6]]},"599":{"position":[[11,6]]},"600":{"position":[[10,6]]},"605":{"position":[[10,6]]},"606":{"position":[[12,6]]}},"content":{"14":{"position":[[28,4],[94,4],[178,4],[286,5],[307,4]]},"36":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8529,4],[8610,5]]},"63":{"position":[[678,5],[813,5]]},"67":{"position":[[144,4],[154,4]]},"71":{"position":[[652,6]]},"94":{"position":[[688,4],[877,4],[1099,4]]},"99":{"position":[[5246,4]]},"202":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8529,4],[8610,5]]},"206":{"position":[[392,4],[429,4],[439,4],[478,4]]},"207":{"position":[[175,4],[212,4],[222,4],[261,4]]},"220":{"position":[[45,4],[143,4],[198,4],[208,4],[218,4],[249,4]]},"222":{"position":[[151,5]]},"224":{"position":[[807,4],[1246,4]]},"227":{"position":[[2278,5],[2341,5],[2381,5],[2709,6],[2716,6],[2809,4],[3139,4],[4488,5],[5423,6],[5580,4]]},"230":{"position":[[2431,5]]},"232":{"position":[[526,5],[884,5]]},"233":{"position":[[562,5],[877,4],[963,4],[1035,5]]},"253":{"position":[[5162,5],[5369,5],[5546,4],[5827,5]]},"259":{"position":[[841,5],[1347,5],[1381,6],[1523,4],[1694,4]]},"260":{"position":[[36,5],[107,5]]},"261":{"position":[[35,4],[172,5],[184,5],[352,4]]},"262":{"position":[[35,4],[61,4],[122,5],[176,6],[198,5],[229,5],[304,4],[348,4],[522,5],[553,4],[678,4]]},"263":{"position":[[48,5],[468,4],[796,5],[1280,4],[1433,4]]},"266":{"position":[[21,4],[115,5],[244,5],[357,5],[404,5],[715,4],[823,4],[897,4],[1063,4],[1108,4]]},"267":{"position":[[38,4],[1084,4],[1117,5],[1180,5],[1245,4],[1497,4],[1588,4],[1642,4],[1686,4],[1730,4],[1791,5],[1958,4],[2161,4],[2980,4],[4642,4],[5330,4],[6453,5],[7931,4],[8032,4],[8147,5],[8613,4],[8752,4],[8824,5],[10454,4]]},"268":{"position":[[21,4],[115,5],[196,5],[507,4],[615,4],[689,4]]},"269":{"position":[[21,4],[285,5],[414,5],[527,5],[724,4],[817,4],[917,4],[991,4]]},"270":{"position":[[21,4],[115,5],[196,5],[393,4],[486,4],[586,4],[660,4]]},"271":{"position":[[21,4],[132,5],[261,5],[374,5],[385,4],[422,4],[432,4],[471,4]]},"272":{"position":[[21,4],[132,5],[177,4],[214,4],[224,4],[263,4]]},"273":{"position":[[31,4],[329,4],[462,5]]},"274":{"position":[[45,4],[91,4],[166,5],[203,5],[328,4],[349,5],[403,4]]},"280":{"position":[[36,5],[65,5],[136,4]]},"281":{"position":[[151,5]]},"282":{"position":[[270,5],[536,5]]},"283":{"position":[[35,5],[74,5],[439,5],[551,4],[641,4]]},"284":{"position":[[30,4],[309,4],[341,4]]},"285":{"position":[[114,4],[199,4],[300,4],[463,4],[581,4],[649,4],[714,4],[798,4],[871,4],[946,4],[1041,4],[1131,4],[1394,4]]},"300":{"position":[[573,4]]},"305":{"position":[[460,5],[615,5],[648,4],[785,5],[818,4],[967,5],[1305,5]]},"308":{"position":[[585,4],[831,5],[847,4]]},"310":{"position":[[772,4]]},"328":{"position":[[385,5]]},"329":{"position":[[565,5],[658,6],[707,5],[783,4],[1168,4],[1197,4],[1210,4],[1240,4],[1253,4],[1282,4]]},"355":{"position":[[954,5],[988,6],[1121,5]]},"357":{"position":[[2135,5]]},"371":{"position":[[141,5]]},"400":{"position":[[181,5]]},"401":{"position":[[158,4],[172,4],[335,4],[362,5],[392,5]]},"402":{"position":[[158,4],[172,4],[335,4]]},"403":{"position":[[333,5],[491,4],[505,4],[587,4]]},"404":{"position":[[133,4],[147,4]]},"405":{"position":[[27,4],[160,4],[174,4],[234,4]]},"406":{"position":[[27,4],[154,4],[168,4]]},"407":{"position":[[27,5],[162,4],[176,4],[317,5]]},"408":{"position":[[27,4],[174,4],[188,4]]},"409":{"position":[[27,4],[177,4],[191,4]]},"410":{"position":[[27,4],[173,4],[187,4],[272,4],[411,4]]},"411":{"position":[[441,4],[455,4]]},"412":{"position":[[170,4],[184,4]]},"413":{"position":[[168,4],[182,4]]},"414":{"position":[[52,4],[154,4],[168,4],[363,4],[387,4]]},"415":{"position":[[13,4],[143,4],[157,4]]},"416":{"position":[[13,4],[146,4],[160,4]]},"417":{"position":[[13,4],[142,4],[156,4],[241,4],[380,4]]},"418":{"position":[[38,4],[140,4],[154,4],[588,4],[623,4],[729,5],[752,4],[867,4],[881,4]]},"419":{"position":[[72,4],[174,4],[188,4],[782,5],[805,4],[920,4],[934,4]]},"420":{"position":[[27,4],[158,4],[172,4],[754,5],[777,4],[892,4],[906,4]]},"421":{"position":[[139,4],[153,4],[275,5]]},"422":{"position":[[164,4],[178,4],[238,4]]},"423":{"position":[[44,4],[152,4],[166,4],[251,4],[390,4]]},"424":{"position":[[560,5],[772,5]]},"425":{"position":[[186,4],[200,4]]},"426":{"position":[[138,4],[152,4]]},"427":{"position":[[33,4],[224,5],[382,4],[396,4]]},"431":{"position":[[35,5]]},"440":{"position":[[37,4],[176,4],[190,4]]},"442":{"position":[[368,4],[382,4]]},"444":{"position":[[138,4],[240,4],[254,4]]},"454":{"position":[[333,5]]},"478":{"position":[[967,4]]},"482":{"position":[[245,4]]},"513":{"position":[[270,4]]},"525":{"position":[[366,4],[481,4],[633,5]]},"550":{"position":[[47,5],[99,5]]},"552":{"position":[[61,5]]},"553":{"position":[[119,4],[169,4]]},"555":{"position":[[81,6]]},"556":{"position":[[41,4],[71,5],[231,4],[387,4],[490,4],[641,4]]},"557":{"position":[[19,5],[29,5],[61,6],[68,5],[128,5],[138,5]]},"558":{"position":[[1,5],[61,5],[71,5],[182,5],[246,5],[307,4],[362,5]]},"559":{"position":[[58,5]]},"561":{"position":[[58,4]]},"568":{"position":[[136,6],[143,5],[247,5]]},"571":{"position":[[38,5],[66,5],[140,5]]},"572":{"position":[[125,5],[176,5]]},"573":{"position":[[19,4],[133,5]]},"575":{"position":[[81,5],[111,5],[232,5]]},"577":{"position":[[231,5],[324,6],[419,4],[457,5],[538,4],[668,6],[680,4]]},"578":{"position":[[55,5],[119,5],[290,7],[298,5],[516,5],[588,4],[771,4],[800,5],[940,5],[964,5],[1042,5],[1133,6],[1222,5],[1263,4],[1284,4],[1349,4],[1371,4],[1477,6],[1529,5]]},"591":{"position":[[196,5]]},"599":{"position":[[1057,5]]},"600":{"position":[[156,5],[176,4],[205,4],[219,4],[420,4],[528,5],[557,5]]},"618":{"position":[[256,5],[399,4],[580,4],[1204,4],[1288,4]]},"646":{"position":[[969,8]]},"648":{"position":[[1011,8]]},"655":{"position":[[57,6]]},"656":{"position":[[40,4],[207,4],[528,5],[592,5],[598,4],[630,5],[693,5],[747,4]]},"657":{"position":[[30,4],[470,5],[534,5],[540,4],[572,5],[625,5]]},"660":{"position":[[41,5],[318,5],[382,5],[388,4],[420,5]]},"662":{"position":[[63,5]]},"663":{"position":[[78,6],[85,5],[240,5]]},"667":{"position":[[12,4],[320,4],[342,5],[373,4]]},"669":{"position":[[18,4],[544,4],[549,4]]},"670":{"position":[[270,4],[288,4],[313,5],[325,4],[468,4]]},"671":{"position":[[411,4],[416,4]]},"672":{"position":[[247,4],[252,4]]},"679":{"position":[[35,5]]},"681":{"position":[[99,4],[894,5],[958,5],[964,4],[996,5],[1059,5]]},"682":{"position":[[84,4],[626,5],[690,5],[696,4],[728,5],[781,5]]},"685":{"position":[[112,4],[509,5],[573,5],[579,4],[611,5],[674,5]]},"686":{"position":[[84,4],[525,5],[589,5],[595,4],[627,5],[680,5]]},"690":{"position":[[103,5],[386,5],[450,5],[456,4],[488,5]]},"691":{"position":[[55,5],[241,5],[305,5],[311,4],[343,5]]},"692":{"position":[[56,5],[243,5],[307,5],[313,4],[345,5]]},"693":{"position":[[49,5]]},"694":{"position":[[50,5]]},"699":{"position":[[238,4],[301,4],[306,4],[338,4]]},"700":{"position":[[608,5],[672,5],[678,4],[710,5],[805,4],[935,4],[1068,4],[1172,4],[1284,4],[1434,4],[1672,4],[1872,5]]},"701":{"position":[[88,5]]},"702":{"position":[[208,5],[235,5]]},"703":{"position":[[1326,4]]},"730":{"position":[[14,5]]},"731":{"position":[[29,5]]},"732":{"position":[[23,5]]},"734":{"position":[[17,5]]},"760":{"position":[[137,5]]}},"keywords":{}}],["item"",{"_index":2194,"title":{},"content":{"224":{"position":[[761,11],[1199,11]]},"259":{"position":[[1493,13],[1827,13]]},"556":{"position":[[678,10]]}},"keywords":{}}],["item").format",{"_index":2611,"title":{},"content":{"259":{"position":[[1760,21]]}},"keywords":{}}],["item'",{"_index":683,"title":{},"content":{"36":{"position":[[1150,6]]},"202":{"position":[[1150,6]]},"267":{"position":[[1145,6]]},"412":{"position":[[13,6]]},"413":{"position":[[13,6]]},"556":{"position":[[732,6]]}},"keywords":{}}],["item(",{"_index":4491,"title":{"556":{"position":[[27,8]]}},"content":{},"keywords":{}}],["item1",{"_index":827,"title":{},"content":{"36":{"position":[[9214,5],[9403,5]]},"202":{"position":[[9214,5],[9403,5]]},"267":{"position":[[7513,5],[7680,5]]}},"keywords":{}}],["item_nam",{"_index":1760,"title":{},"content":{"94":{"position":[[1060,9]]},"662":{"position":[[163,11]]},"673":{"position":[[1424,12],[1538,12],[1658,12],[1780,12]]},"701":{"position":[[53,10]]},"702":{"position":[[326,13]]}},"keywords":{}}],["item_name"",{"_index":1758,"title":{},"content":{"94":{"position":[[552,15]]}},"keywords":{}}],["item_valu",{"_index":5016,"title":{},"content":{"662":{"position":[[175,11]]}},"keywords":{}}],["items>",{"_index":5204,"title":{},"content":{"702":{"position":[[155,9]]}},"keywords":{}}],["items)reset",{"_index":4510,"title":{},"content":{"577":{"position":[[136,11]]}},"keywords":{}}],["items)sav",{"_index":4559,"title":{},"content":{"598":{"position":[[42,10]]}},"keywords":{}}],["itemschang",{"_index":4508,"title":{},"content":{"577":{"position":[[28,11]]}},"keywords":{}}],["itemsdisplay",{"_index":4504,"title":{},"content":{"571":{"position":[[17,12],[100,12],[123,12]]}},"keywords":{}}],["iter",{"_index":218,"title":{},"content":{"6":{"position":[[494,8],[640,9]]},"476":{"position":[[4534,7]]},"483":{"position":[[554,9]]}},"keywords":{}}],["itself",{"_index":120,"title":{},"content":{"3":{"position":[[554,7]]},"24":{"position":[[438,6],[742,7]]},"36":{"position":[[4822,6],[8814,6]]},"61":{"position":[[1197,7]]},"64":{"position":[[553,6]]},"80":{"position":[[66,7]]},"99":{"position":[[3617,7]]},"202":{"position":[[4822,6],[8814,6]]},"229":{"position":[[1567,7]]},"246":{"position":[[14,6]]},"345":{"position":[[461,7]]},"384":{"position":[[282,6]]},"386":{"position":[[229,6]]},"387":{"position":[[98,6]]},"388":{"position":[[78,6]]},"389":{"position":[[102,6]]},"390":{"position":[[79,6]]},"391":{"position":[[87,6]]},"430":{"position":[[54,6]]},"431":{"position":[[73,6]]},"432":{"position":[[56,6]]},"434":{"position":[[66,6]]},"436":{"position":[[56,6]]},"480":{"position":[[281,7]]}},"keywords":{}}],["i}"",{"_index":4546,"title":{},"content":{"586":{"position":[[827,11]]}},"keywords":{}}],["jan",{"_index":969,"title":{},"content":{"43":{"position":[[908,3],[1030,3]]},"99":{"position":[[2820,4],[3254,4]]}},"keywords":{}}],["januari",{"_index":2296,"title":{},"content":{"227":{"position":[[4357,7]]},"285":{"position":[[762,8]]}},"keywords":{}}],["javascript",{"_index":1718,"title":{},"content":{"91":{"position":[[87,11]]},"184":{"position":[[139,10]]},"187":{"position":[[45,10]]},"227":{"position":[[551,11],[688,10],[759,11],[1815,10],[4906,11]]},"235":{"position":[[206,10],[1636,10]]},"245":{"position":[[116,10],[211,10]]},"246":{"position":[[142,10]]},"429":{"position":[[81,10],[972,10],[1666,10]]}},"keywords":{}}],["job",{"_index":2682,"title":{},"content":{"269":{"position":[[201,3]]},"352":{"position":[[46,5],[120,5],[1070,3]]},"482":{"position":[[1427,3]]},"499":{"position":[[100,3]]},"528":{"position":[[1145,4],[1408,3]]}},"keywords":{}}],["job_nam",{"_index":3416,"title":{},"content":{"352":{"position":[[523,9],[602,9],[758,9],[900,9],[1054,9]]}},"keywords":{}}],["jpg",{"_index":3874,"title":{},"content":{"421":{"position":[[335,4],[401,3]]}},"keywords":{}}],["jq",{"_index":1079,"title":{},"content":{"44":{"position":[[1937,2],[2910,2],[3430,2],[3665,2],[3935,3]]}},"keywords":{}}],["js/app.j",{"_index":2088,"title":{},"content":{"187":{"position":[[211,10]]},"235":{"position":[[1843,9]]}},"keywords":{}}],["json",{"_index":1074,"title":{"86":{"position":[[0,4]]},"88":{"position":[[0,4]]}},"content":{"44":{"position":[[1698,4],[1944,4],[2657,4],[2858,4]]},"88":{"position":[[52,4]]},"90":{"position":[[297,4],[438,4]]},"91":{"position":[[12,4]]},"95":{"position":[[36,4],[564,4]]},"97":{"position":[[145,4]]},"99":{"position":[[814,4],[2057,4],[2316,4],[2902,4],[2971,4],[3048,4],[3397,4],[3469,4],[3717,4],[3852,4],[3888,4]]},"216":{"position":[[158,4]]},"217":{"position":[[154,4]]},"227":{"position":[[380,4],[4940,4],[4959,4],[5462,4],[5942,4]]}},"keywords":{}}],["json/cbor",{"_index":1789,"title":{},"content":{"99":{"position":[[475,9]]}},"keywords":{}}],["jsonaccessor",{"_index":2164,"title":{},"content":{"215":{"position":[[215,13]]},"279":{"position":[[215,13]]}},"keywords":{}}],["jsonpath",{"_index":687,"title":{},"content":{"36":{"position":[[1411,8]]},"202":{"position":[[1411,8]]},"267":{"position":[[1406,8]]}},"keywords":{}}],["judg",{"_index":3574,"title":{},"content":{"357":{"position":[[3883,5]]}},"keywords":{}}],["june",{"_index":2989,"title":{},"content":{"313":{"position":[[121,5]]}},"keywords":{}}],["jupyt",{"_index":1885,"title":{},"content":{"108":{"position":[[445,7]]}},"keywords":{}}],["justif",{"_index":3691,"title":{},"content":{"363":{"position":[[1321,13]]},"404":{"position":[[391,13]]}},"keywords":{}}],["justifi",{"_index":3832,"title":{},"content":{"404":{"position":[[412,7]]}},"keywords":{}}],["k8",{"_index":2457,"title":{},"content":{"243":{"position":[[52,4]]}},"keywords":{}}],["kayhan",{"_index":1896,"title":{},"content":{"108":{"position":[[694,8]]}},"keywords":{}}],["kc_restart",{"_index":974,"title":{},"content":{"43":{"position":[[990,12]]}},"keywords":{}}],["keep",{"_index":74,"title":{"479":{"position":[[5,5]]},"480":{"position":[[0,4]]}},"content":{"2":{"position":[[720,4]]},"44":{"position":[[922,4],[2423,4]]},"149":{"position":[[13,4],[104,4]]},"152":{"position":[[13,4],[106,4]]},"156":{"position":[[13,4],[106,4]]},"159":{"position":[[13,4],[108,4]]},"160":{"position":[[13,4],[117,4]]},"161":{"position":[[13,4],[115,4]]},"162":{"position":[[13,4],[114,4]]},"163":{"position":[[13,4],[114,4]]},"164":{"position":[[13,4],[114,4]]},"302":{"position":[[451,4]]},"303":{"position":[[2100,4]]},"320":{"position":[[1678,4]]},"324":{"position":[[2884,4]]},"332":{"position":[[566,5]]},"359":{"position":[[996,4]]},"362":{"position":[[461,4]]},"364":{"position":[[591,7]]},"487":{"position":[[257,4]]},"490":{"position":[[1070,5]]}},"keywords":{}}],["kept",{"_index":1379,"title":{},"content":{"62":{"position":[[347,4]]},"230":{"position":[[1835,4]]},"284":{"position":[[107,4]]},"361":{"position":[[357,4]]},"459":{"position":[[1006,4],[1212,4]]},"465":{"position":[[231,4]]}},"keywords":{}}],["kernel",{"_index":3586,"title":{},"content":{"357":{"position":[[4321,6]]}},"keywords":{}}],["key",{"_index":446,"title":{"26":{"position":[[31,4]]},"27":{"position":[[17,4]]},"107":{"position":[[0,3]]},"236":{"position":[[14,3]]}},"content":{"20":{"position":[[930,4],[1181,3],[1427,3]]},"24":{"position":[[1,4]]},"26":{"position":[[83,5],[119,5],[178,4],[336,4]]},"27":{"position":[[260,4],[535,4],[595,3],[815,4],[938,3],[1015,4]]},"36":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"99":{"position":[[514,3],[4321,3],[4341,3],[4669,3],[4759,5],[4840,4],[5149,3],[5186,3],[5225,3]]},"136":{"position":[[562,4],[644,3],[675,3]]},"181":{"position":[[462,4],[535,3]]},"202":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"227":{"position":[[5585,4]]},"242":{"position":[[148,3]]},"267":{"position":[[1306,4],[1340,3],[1391,4],[1478,3],[1524,3],[1964,3]]},"298":{"position":[[59,3]]},"305":{"position":[[128,3]]},"324":{"position":[[271,3]]},"347":{"position":[[1344,3]]},"355":{"position":[[96,3]]},"359":{"position":[[954,3]]},"360":{"position":[[1219,3]]},"382":{"position":[[28,3],[81,3]]},"474":{"position":[[330,3]]},"476":{"position":[[39,3]]},"525":{"position":[[594,3]]},"729":{"position":[[115,3]]},"730":{"position":[[135,3],[157,3]]},"731":{"position":[[129,3],[151,3]]},"733":{"position":[[23,5]]},"734":{"position":[[152,3],[174,3]]},"762":{"position":[[159,3],[386,5],[424,5],[499,6],[532,6]]},"763":{"position":[[162,3],[406,5],[466,6]]},"773":{"position":[[209,5]]}},"keywords":{}}],["key>"",{"_index":5396,"title":{},"content":{"730":{"position":[[70,14]]},"731":{"position":[[85,14]]},"734":{"position":[[108,14]]}},"keywords":{}}],["key/valu",{"_index":708,"title":{},"content":{"36":{"position":[[2702,9]]},"202":{"position":[[2702,9]]},"267":{"position":[[1927,9]]}},"keywords":{}}],["key/value(",{"_index":2075,"title":{},"content":{"179":{"position":[[45,12]]}},"keywords":{}}],["key_valu",{"_index":633,"title":{},"content":{"33":{"position":[[307,9],[434,10],[479,9]]},"40":{"position":[[112,9]]}},"keywords":{}}],["keyboard",{"_index":3900,"title":{},"content":{"428":{"position":[[187,8]]}},"keywords":{}}],["keycloak",{"_index":947,"title":{},"content":{"43":{"position":[[35,8],[106,8],[296,8],[333,8],[668,8]]},"240":{"position":[[1731,8],[1846,8]]},"357":{"position":[[1317,8],[2808,8]]}},"keywords":{}}],["keycloak_local",{"_index":964,"title":{},"content":{"43":{"position":[[838,17]]}},"keywords":{}}],["keyfil",{"_index":490,"title":{},"content":{"22":{"position":[[230,8]]},"28":{"position":[[164,8],[206,8]]}},"keywords":{}}],["keyout",{"_index":418,"title":{},"content":{"20":{"position":[[420,6]]}},"keywords":{}}],["keypair",{"_index":582,"title":{},"content":{"27":{"position":[[427,7]]}},"keywords":{}}],["keyword",{"_index":138,"title":{"5":{"position":[[0,7]]},"10":{"position":[[11,8]]}},"content":{"5":{"position":[[60,7],[174,7],[278,8],[513,7],[1356,7]]},"15":{"position":[[49,7],[189,7],[263,7],[312,7]]},"16":{"position":[[51,7],[193,7],[267,7],[314,7]]},"31":{"position":[[368,8],[718,8]]},"34":{"position":[[15,8],[44,8]]},"36":{"position":[[15,8],[48,8],[1221,7],[8372,7]]},"48":{"position":[[156,9]]},"49":{"position":[[2714,8],[2772,8],[2812,8]]},"50":{"position":[[2307,8],[2365,8],[2405,8]]},"51":{"position":[[1182,8],[1240,8],[1280,8]]},"52":{"position":[[1732,8],[1790,8],[1830,8]]},"54":{"position":[[2940,7]]},"120":{"position":[[287,8],[363,8]]},"121":{"position":[[61,7]]},"123":{"position":[[513,9]]},"124":{"position":[[15,8],[48,8]]},"131":{"position":[[77,7]]},"145":{"position":[[15,8],[45,8]]},"168":{"position":[[293,8]]},"172":{"position":[[15,8],[51,8]]},"176":{"position":[[208,7]]},"179":{"position":[[193,8]]},"185":{"position":[[15,8],[43,8]]},"195":{"position":[[15,8],[45,8]]},"198":{"position":[[1356,8]]},"200":{"position":[[15,8],[46,8]]},"202":{"position":[[15,8],[48,8],[1221,7],[8372,7]]},"232":{"position":[[972,7]]},"233":{"position":[[1189,7]]},"253":{"position":[[2801,7],[4803,7]]},"254":{"position":[[1399,7]]},"262":{"position":[[727,8]]},"263":{"position":[[1777,8]]},"265":{"position":[[15,8],[48,8]]},"267":{"position":[[15,8],[43,8],[1216,7],[7030,7],[8537,7]]},"280":{"position":[[157,8]]},"304":{"position":[[2061,9]]},"338":{"position":[[188,9],[332,8]]},"367":{"position":[[120,7],[159,8]]},"368":{"position":[[52,7],[436,8]]},"369":{"position":[[46,7],[67,7]]},"370":{"position":[[140,7],[176,7]]},"374":{"position":[[282,9]]},"404":{"position":[[982,8]]},"411":{"position":[[914,8]]},"418":{"position":[[719,8]]},"419":{"position":[[772,8]]},"420":{"position":[[744,8]]},"441":{"position":[[688,8]]},"442":{"position":[[1249,8]]},"444":{"position":[[1156,8]]},"476":{"position":[[363,7]]},"488":{"position":[[1224,8],[1767,7]]},"493":{"position":[[475,8],[536,8]]},"548":{"position":[[367,8]]},"577":{"position":[[647,7]]},"636":{"position":[[989,7]]},"637":{"position":[[1211,7]]},"638":{"position":[[1232,7]]},"639":{"position":[[1265,7]]},"640":{"position":[[1065,7]]},"641":{"position":[[1282,7]]},"642":{"position":[[1303,7]]},"643":{"position":[[1336,7]]},"685":{"position":[[29,8]]}},"keywords":{}}],["keyword/param",{"_index":2076,"title":{},"content":{"179":{"position":[[118,14]]}},"keywords":{}}],["keyword/paramet",{"_index":3718,"title":{},"content":{"366":{"position":[[454,17]]}},"keywords":{}}],["khtml",{"_index":1060,"title":{},"content":{"44":{"position":[[1176,7]]}},"keywords":{}}],["kibana",{"_index":3399,"title":{},"content":{"351":{"position":[[213,6]]}},"keywords":{}}],["kilomet",{"_index":667,"title":{},"content":{"36":{"position":[[491,10]]},"202":{"position":[[491,10]]},"267":{"position":[[486,10]]}},"keywords":{}}],["kind",{"_index":2837,"title":{},"content":{"298":{"position":[[848,5]]},"360":{"position":[[755,5]]}},"keywords":{}}],["kiss",{"_index":4216,"title":{"479":{"position":[[0,4]]}},"content":{},"keywords":{}}],["km",{"_index":668,"title":{},"content":{"36":{"position":[[502,2]]},"202":{"position":[[502,2]]},"267":{"position":[[497,2]]}},"keywords":{}}],["know",{"_index":538,"title":{},"content":{"24":{"position":[[329,4]]},"71":{"position":[[829,6]]},"176":{"position":[[156,4]]},"254":{"position":[[390,4]]},"297":{"position":[[495,5]]},"502":{"position":[[181,4]]}},"keywords":{}}],["knowledg",{"_index":2069,"title":{},"content":{"176":{"position":[[507,9]]},"235":{"position":[[191,9]]},"240":{"position":[[315,9]]},"338":{"position":[[223,9]]},"704":{"position":[[21,9]]}},"keywords":{}}],["known",{"_index":1275,"title":{},"content":{"54":{"position":[[336,5]]},"62":{"position":[[374,5]]},"227":{"position":[[523,5]]},"243":{"position":[[43,5]]},"301":{"position":[[575,5],[858,5]]},"321":{"position":[[3249,5]]},"359":{"position":[[142,5]]},"482":{"position":[[54,5]]},"575":{"position":[[295,5]]}},"keywords":{}}],["kubernet",{"_index":1558,"title":{"243":{"position":[[0,11]]}},"content":{"83":{"position":[[151,11]]},"122":{"position":[[327,10]]},"139":{"position":[[49,10],[129,10]]},"175":{"position":[[50,10],[130,10]]},"240":{"position":[[1908,10]]},"243":{"position":[[335,10]]},"355":{"position":[[42,10]]},"356":{"position":[[261,11]]},"357":{"position":[[271,11],[3970,10],[4184,10]]}},"keywords":{}}],["kubernetes.io",{"_index":2455,"title":{},"content":{"243":{"position":[[5,14]]}},"keywords":{}}],["label",{"_index":2113,"title":{"396":{"position":[[0,6]]},"404":{"position":[[0,9]]}},"content":{"194":{"position":[[391,5],[401,5]]},"201":{"position":[[2139,5],[2187,5]]},"203":{"position":[[1880,5],[1924,5]]},"232":{"position":[[1228,5],[1253,5]]},"233":{"position":[[1506,5],[1531,5]]},"253":{"position":[[3078,5],[3122,5],[4391,5],[5022,5],[5047,5]]},"254":{"position":[[1678,5],[1722,5]]},"372":{"position":[[192,5]]},"373":{"position":[[187,5],[391,5]]},"375":{"position":[[201,5],[251,5]]},"376":{"position":[[205,5],[279,5]]},"377":{"position":[[201,5],[257,5],[331,5]]},"378":{"position":[[203,5],[259,5],[334,5]]},"379":{"position":[[371,5],[426,5]]},"380":{"position":[[365,5],[420,5]]},"381":{"position":[[387,5],[450,5]]},"382":{"position":[[159,5]]},"383":{"position":[[187,5],[391,5]]},"386":{"position":[[370,5],[393,5]]},"387":{"position":[[243,5],[349,5],[372,5]]},"388":{"position":[[220,5],[243,5]]},"389":{"position":[[201,5],[312,5],[335,5]]},"390":{"position":[[272,5],[296,5],[320,5],[344,5],[366,5],[388,5]]},"391":{"position":[[341,5],[363,5],[385,5],[407,5],[429,5],[451,5],[473,5],[495,5],[517,5]]},"393":{"position":[[182,5],[204,5],[256,5],[278,5]]},"396":{"position":[[41,5],[194,5],[222,5]]},"397":{"position":[[107,5],[133,5]]},"398":{"position":[[160,5]]},"399":{"position":[[190,5],[234,5]]},"404":{"position":[[12,5],[424,5],[482,5],[591,5],[818,8],[937,9]]},"405":{"position":[[12,5]]},"406":{"position":[[12,5]]},"407":{"position":[[12,5],[237,5]]},"408":{"position":[[12,5]]},"409":{"position":[[12,5]]},"410":{"position":[[12,5]]},"420":{"position":[[12,5]]},"424":{"position":[[319,5],[351,5]]},"432":{"position":[[155,5],[169,5]]},"436":{"position":[[155,5],[169,5]]},"446":{"position":[[307,5],[397,5]]}},"keywords":{}}],["label'",{"_index":3764,"title":{},"content":{"383":{"position":[[855,7],[963,7]]}},"keywords":{}}],["labelprogressbar",{"_index":3836,"title":{"405":{"position":[[0,17]]}},"content":{"405":{"position":[[552,16],[601,16]]}},"keywords":{}}],["labelsparklin",{"_index":3871,"title":{"420":{"position":[[0,15]]}},"content":{"420":{"position":[[563,14],[693,15]]}},"keywords":{}}],["labelvalu",{"_index":3230,"title":{"406":{"position":[[0,11]]}},"content":{"328":{"position":[[1618,10]]},"373":{"position":[[160,10],[630,11]]},"383":{"position":[[160,10],[778,10]]},"406":{"position":[[419,10],[463,10]]},"446":{"position":[[129,10],[168,10],[211,10]]},"745":{"position":[[561,10],[833,10]]},"746":{"position":[[1023,10],[1306,10]]}},"keywords":{}}],["labelvaluedesc",{"_index":3840,"title":{"407":{"position":[[0,15]]}},"content":{"407":{"position":[[565,14],[645,14]]}},"keywords":{}}],["labelvaluelimitsbar",{"_index":3735,"title":{"408":{"position":[[0,20]]}},"content":{"372":{"position":[[337,19]]},"373":{"position":[[359,20],[841,20],[880,19]]},"383":{"position":[[359,20],[876,19]]}},"keywords":{}}],["labelvaluelimitscolumn",{"_index":3842,"title":{"409":{"position":[[0,23]]}},"content":{"409":{"position":[[442,22],[503,22]]}},"keywords":{}}],["labelvaluerangebar",{"_index":3844,"title":{"410":{"position":[[0,19]]}},"content":{"410":{"position":[[819,18],[886,18]]}},"keywords":{}}],["labview",{"_index":2839,"title":{},"content":{"298":{"position":[[954,8]]}},"keywords":{}}],["languag",{"_index":314,"title":{"11":{"position":[[0,9]]},"616":{"position":[[12,10]]}},"content":{"11":{"position":[[29,8],[94,8],[138,8],[377,8]]},"44":{"position":[[851,9],[2381,9]]},"91":{"position":[[59,10]]},"95":{"position":[[58,9]]},"227":{"position":[[587,9],[804,9]]},"251":{"position":[[154,9],[272,9]]},"297":{"position":[[731,8]]},"461":{"position":[[596,9]]},"475":{"position":[[102,9]]},"476":{"position":[[985,9]]},"479":{"position":[[35,9]]},"609":{"position":[[272,9]]},"616":{"position":[[105,9],[234,8]]}},"keywords":{}}],["laptop",{"_index":3309,"title":{},"content":{"347":{"position":[[346,6]]}},"keywords":{}}],["larg",{"_index":877,"title":{},"content":{"40":{"position":[[748,5]]},"46":{"position":[[1007,5]]},"198":{"position":[[93,5]]},"259":{"position":[[117,5]]},"357":{"position":[[3504,5]]},"398":{"position":[[12,5]]},"426":{"position":[[12,5]]},"480":{"position":[[79,5]]},"482":{"position":[[807,5],[859,5]]},"485":{"position":[[24,5]]},"488":{"position":[[989,5],[2163,5]]},"504":{"position":[[249,5]]}},"keywords":{}}],["larger",{"_index":263,"title":{},"content":{"7":{"position":[[612,6]]},"31":{"position":[[437,6]]},"36":{"position":[[6522,6],[7318,6]]},"202":{"position":[[6522,6],[7318,6]]},"267":{"position":[[5061,6],[5919,6]]},"347":{"position":[[305,6]]},"357":{"position":[[2326,6]]}},"keywords":{}}],["largest",{"_index":2538,"title":{},"content":{"253":{"position":[[4122,8]]}},"keywords":{}}],["laser",{"_index":733,"title":{},"content":{"36":{"position":[[3811,5],[3924,5]]},"202":{"position":[[3811,5],[3924,5]]}},"keywords":{}}],["laser"",{"_index":732,"title":{},"content":{"36":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"202":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"267":{"position":[[2817,11],[2839,11],[2875,11],[2898,11]]}},"keywords":{}}],["last",{"_index":819,"title":{},"content":{"36":{"position":[[8286,4]]},"54":{"position":[[3533,5]]},"56":{"position":[[545,4]]},"58":{"position":[[477,4]]},"61":{"position":[[1935,4]]},"75":{"position":[[761,4],[1126,4],[1579,4]]},"99":{"position":[[4067,4]]},"198":{"position":[[438,5]]},"202":{"position":[[8286,4]]},"227":{"position":[[3222,4]]},"253":{"position":[[7524,4]]},"259":{"position":[[469,5]]},"267":{"position":[[6945,4]]},"283":{"position":[[483,4]]},"284":{"position":[[42,4]]},"285":{"position":[[558,4]]},"322":{"position":[[1480,4]]},"345":{"position":[[573,4]]},"355":{"position":[[716,4]]},"499":{"position":[[821,4],[1153,4]]},"528":{"position":[[1088,4]]},"547":{"position":[[42,4]]},"578":{"position":[[1154,4]]},"676":{"position":[[682,4],[1180,4]]},"703":{"position":[[60,4],[1301,4],[1344,4]]}},"keywords":{}}],["last_nam",{"_index":4176,"title":{},"content":{"476":{"position":[[1461,9]]}},"keywords":{}}],["lastdisplay",{"_index":4505,"title":{},"content":{"571":{"position":[[44,11]]}},"keywords":{}}],["late",{"_index":1869,"title":{"108":{"position":[[18,5]]}},"content":{},"keywords":{}}],["later",{"_index":1298,"title":{},"content":{"56":{"position":[[411,5]]},"71":{"position":[[916,5]]},"121":{"position":[[463,5]]},"331":{"position":[[688,6]]},"476":{"position":[[605,6],[1161,5]]},"479":{"position":[[285,5]]},"499":{"position":[[801,5],[1133,5]]}},"keywords":{}}],["latest",{"_index":1167,"title":{},"content":{"46":{"position":[[829,6]]},"83":{"position":[[986,6],[1067,6],[1142,6],[1205,6],[1264,6],[1324,6],[1386,6],[1446,6],[1505,6],[1564,6]]},"292":{"position":[[507,9]]},"324":{"position":[[1460,6]]},"357":{"position":[[474,7]]},"403":{"position":[[851,6],[902,6]]},"406":{"position":[[435,6],[479,6]]},"464":{"position":[[415,6]]},"498":{"position":[[206,7],[637,6]]},"763":{"position":[[269,6]]}},"keywords":{}}],["launch",{"_index":1764,"title":{},"content":{"95":{"position":[[287,6]]},"237":{"position":[[156,6]]},"332":{"position":[[166,6]]},"334":{"position":[[141,6]]},"429":{"position":[[1270,8]]}},"keywords":{}}],["law",{"_index":4113,"title":{},"content":{"465":{"position":[[456,4],[607,4]]},"467":{"position":[[1127,3],[1226,3]]}},"keywords":{}}],["lawfulli",{"_index":4056,"title":{},"content":{"459":{"position":[[439,9]]}},"keywords":{}}],["lay",{"_index":3716,"title":{},"content":{"366":{"position":[[279,5]]}},"keywords":{}}],["layer",{"_index":1475,"title":{},"content":{"69":{"position":[[3751,6],[3810,6]]},"464":{"position":[[496,5]]}},"keywords":{}}],["layout",{"_index":3726,"title":{"385":{"position":[[0,6]]}},"content":{"369":{"position":[[291,6],[384,6]]},"370":{"position":[[26,6],[45,6]]},"381":{"position":[[53,6]]},"385":{"position":[[3,6],[96,6]]},"386":{"position":[[82,7],[99,6],[188,6]]},"393":{"position":[[20,6]]},"438":{"position":[[1,6]]}},"keywords":{}}],["lead",{"_index":1339,"title":{},"content":{"59":{"position":[[551,7]]},"60":{"position":[[658,7],[949,7]]},"61":{"position":[[475,7],[1730,7]]},"62":{"position":[[855,7]]},"63":{"position":[[2039,7]]},"360":{"position":[[1268,7]]},"514":{"position":[[960,4]]}},"keywords":{}}],["learn",{"_index":2334,"title":{},"content":{"229":{"position":[[1202,5]]},"469":{"position":[[374,5]]}},"keywords":{}}],["leav",{"_index":1302,"title":{},"content":{"56":{"position":[[623,5]]},"103":{"position":[[192,5]]},"599":{"position":[[962,7]]}},"keywords":{}}],["led",{"_index":3830,"title":{"411":{"position":[[0,4]]}},"content":{"404":{"position":[[32,3],[306,3],[359,3],[434,3],[508,3],[601,3],[1145,3],[1168,3]]},"411":{"position":[[12,3],[212,3],[614,3],[667,3],[716,3],[874,4],[1077,3],[1100,3]]},"480":{"position":[[161,3]]}},"keywords":{}}],["led_color",{"_index":3835,"title":{},"content":{"404":{"position":[[854,9],[883,9],[992,10]]},"411":{"position":[[181,9],[266,9],[293,9],[322,9],[767,9],[793,9],[817,9],[924,10]]}},"keywords":{}}],["left",{"_index":42,"title":{},"content":{"2":{"position":[[236,4]]},"298":{"position":[[327,4]]},"322":{"position":[[2272,4]]},"359":{"position":[[158,4]]},"404":{"position":[[495,4],[647,4],[663,6],[783,5]]},"437":{"position":[[129,4]]},"438":{"position":[[168,4]]},"439":{"position":[[94,4],[172,4]]},"440":{"position":[[240,4],[318,4]]},"441":{"position":[[207,4],[286,4]]},"442":{"position":[[648,4],[727,4],[1487,4],[1566,4]]},"491":{"position":[[31,5]]},"559":{"position":[[103,4]]},"592":{"position":[[312,5]]},"593":{"position":[[313,4]]},"739":{"position":[[374,4],[443,4]]},"746":{"position":[[547,4],[616,4]]}},"keywords":{}}],["legaci",{"_index":3628,"title":{},"content":{"359":{"position":[[2147,6]]}},"keywords":{}}],["legal",{"_index":2126,"title":{},"content":{"198":{"position":[[1294,5]]},"465":{"position":[[118,5]]},"467":{"position":[[1245,5]]}},"keywords":{}}],["legend",{"_index":3870,"title":{},"content":{"419":{"position":[[49,7]]}},"keywords":{}}],["legitim",{"_index":4059,"title":{},"content":{"459":{"position":[[554,10]]}},"keywords":{}}],["len(data",{"_index":1520,"title":{},"content":{"75":{"position":[[1006,9]]}},"keywords":{}}],["length",{"_index":693,"title":{"61":{"position":[[0,6]]}},"content":{"36":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"42":{"position":[[623,7]]},"43":{"position":[[736,7]]},"44":{"position":[[948,7]]},"49":{"position":[[940,6],[1816,6]]},"50":{"position":[[806,6],[1535,6]]},"52":{"position":[[1004,6]]},"54":{"position":[[314,6],[354,6],[373,6],[1041,6],[1801,6]]},"56":{"position":[[87,7]]},"60":{"position":[[355,7]]},"61":{"position":[[5,6],[34,6],[149,6],[199,6],[300,6],[318,6],[362,6],[388,6],[418,6],[506,6],[669,6],[760,6],[839,6],[904,6],[944,6],[968,6],[1015,6],[1059,6],[1184,6],[1245,6],[1275,6],[1346,6],[1451,6],[1506,6],[1562,6],[1604,6],[1644,6],[2287,6],[2327,6],[2359,7],[2372,6],[2433,6],[2567,6],[2602,6],[2900,6],[2995,6],[3075,6],[3114,6],[3150,6],[3193,6],[3297,6],[3321,6],[3346,6],[3390,6]]},"64":{"position":[[603,6],[643,6],[675,7]]},"99":{"position":[[268,6],[315,6],[1521,6],[2009,6],[3496,6],[3573,6],[3656,6],[3773,6],[4280,6],[5166,6]]},"134":{"position":[[848,6]]},"202":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"253":{"position":[[5785,7]]},"267":{"position":[[1635,6],[1723,6],[1740,6],[1784,6],[1817,6],[1868,6],[10683,6]]},"276":{"position":[[336,6]]},"277":{"position":[[61,6]]},"336":{"position":[[312,7]]},"476":{"position":[[160,7]]}},"keywords":{}}],["length"",{"_index":2228,"title":{},"content":{"226":{"position":[[720,12],[1598,12],[2368,12]]},"285":{"position":[[701,12]]},"321":{"position":[[1553,12],[2085,12],[2585,12]]}},"keywords":{}}],["lengthprotocol",{"_index":1976,"title":{},"content":{"134":{"position":[[918,14]]}},"keywords":{}}],["less",{"_index":93,"title":{},"content":{"3":{"position":[[140,4]]},"36":{"position":[[2997,4]]},"202":{"position":[[2997,4]]},"251":{"position":[[221,4]]},"267":{"position":[[2206,4],[8952,4],[9070,4],[9270,4],[9767,4],[10113,4]]},"277":{"position":[[37,4]]},"289":{"position":[[560,5]]},"446":{"position":[[715,4]]},"528":{"position":[[1074,4]]},"700":{"position":[[1032,4],[1249,4],[1399,4]]}},"keywords":{}}],["let",{"_index":2528,"title":{},"content":{"253":{"position":[[2630,4]]},"350":{"position":[[49,4]]},"499":{"position":[[378,4]]}},"keywords":{}}],["let'",{"_index":440,"title":{"24":{"position":[[0,5]]}},"content":{"20":{"position":[[793,5]]},"46":{"position":[[614,5]]},"69":{"position":[[1667,5]]},"253":{"position":[[98,5]]},"254":{"position":[[1024,5]]},"332":{"position":[[351,5],[626,5]]},"347":{"position":[[383,5]]}},"keywords":{}}],["letter",{"_index":421,"title":{},"content":{"20":{"position":[[469,6]]},"198":{"position":[[740,7],[780,8]]},"259":{"position":[[767,7],[807,8]]},"320":{"position":[[221,7]]}},"keywords":{}}],["level",{"_index":255,"title":{"454":{"position":[[5,5]]}},"content":{"7":{"position":[[444,5]]},"53":{"position":[[17,5]]},"69":{"position":[[4551,5]]},"121":{"position":[[642,6]]},"122":{"position":[[125,5]]},"133":{"position":[[199,5]]},"246":{"position":[[235,5]]},"304":{"position":[[631,5],[773,5]]},"324":{"position":[[321,5]]},"481":{"position":[[70,5]]},"482":{"position":[[765,5]]},"486":{"position":[[124,5]]},"514":{"position":[[259,6],[819,6],[1195,5]]},"517":{"position":[[101,5]]},"611":{"position":[[803,5],[903,5]]},"736":{"position":[[34,5],[91,5]]}},"keywords":{}}],["li",{"_index":4512,"title":{},"content":{"578":{"position":[[229,4]]}},"keywords":{}}],["liabil",{"_index":3644,"title":{},"content":{"360":{"position":[[998,10]]}},"keywords":{}}],["liabl",{"_index":3641,"title":{},"content":{"360":{"position":[[959,6]]}},"keywords":{}}],["lib",{"_index":330,"title":{},"content":{"12":{"position":[[208,3],[309,3],[394,3]]},"36":{"position":[[4137,3]]},"122":{"position":[[131,3]]},"202":{"position":[[4137,3]]},"257":{"position":[[986,4],[1293,3],[1550,3]]},"267":{"position":[[3086,3],[10628,3]]},"276":{"position":[[280,3]]},"328":{"position":[[926,3],[1077,3]]},"484":{"position":[[118,3]]}},"keywords":{}}],["libcsp",{"_index":1879,"title":{},"content":{"108":{"position":[[297,6]]}},"keywords":{}}],["librari",{"_index":1443,"title":{},"content":{"69":{"position":[[1125,7],[1399,7]]},"184":{"position":[[150,7]]},"227":{"position":[[509,9]]},"230":{"position":[[1434,7],[1523,7],[1616,7]]},"235":{"position":[[906,10]]},"240":{"position":[[1933,9]]},"245":{"position":[[434,7]]},"297":{"position":[[782,9]]},"298":{"position":[[1523,9]]},"476":{"position":[[1872,7],[1959,7],[2786,7],[2874,7]]},"488":{"position":[[914,9],[1797,9]]},"507":{"position":[[464,7]]},"508":{"position":[[240,7]]}},"keywords":{}}],["library/group",{"_index":2781,"title":{},"content":{"289":{"position":[[1333,15]]}},"keywords":{}}],["licens",{"_index":2324,"title":{"358":{"position":[[0,8]]},"361":{"position":[[11,8]]},"362":{"position":[[32,8]]}},"content":{"229":{"position":[[481,7],[530,8]]},"359":{"position":[[33,7],[49,7],[163,7],[182,8],[263,7],[1346,8],[1409,7],[1502,8],[1535,7],[1620,8],[1641,7],[1775,7],[2040,7],[2139,7]]},"360":{"position":[[6,7],[210,7],[261,7],[318,8],[522,7],[1175,7],[1392,8]]},"361":{"position":[[6,7],[170,7],[342,7],[382,8],[456,8],[484,9],[498,8],[608,8]]},"363":{"position":[[370,7],[539,7],[620,7],[668,7],[718,7],[805,7],[887,8],[943,9],[961,9],[994,9],[1071,7]]}},"keywords":{}}],["license.txt",{"_index":2323,"title":{},"content":{"229":{"position":[[469,11]]}},"keywords":{}}],["lifecycl",{"_index":2262,"title":{},"content":{"227":{"position":[[1888,9]]}},"keywords":{}}],["limit",{"_index":158,"title":{"233":{"position":[[0,6]]},"302":{"position":[[0,6]]},"574":{"position":[[0,6]]},"576":{"position":[[0,6]]},"578":{"position":[[0,6]]},"579":{"position":[[0,6]]},"689":{"position":[[0,7]]}},"content":{"5":{"position":[[459,7]]},"99":{"position":[[2655,6]]},"231":{"position":[[1119,6]]},"233":{"position":[[72,6],[174,6],[422,6],[513,6],[734,6],[846,6],[920,6],[978,6],[1046,6],[1086,6],[1325,6]]},"235":{"position":[[1107,12]]},"267":{"position":[[7882,7],[7908,6],[7940,6],[8049,7],[8255,6],[8342,6],[8483,6],[8517,6],[8645,6],[8674,6],[8715,6],[8817,6],[8920,5],[9038,5],[9133,6],[9197,5],[9293,6],[9355,5],[9476,5],[9519,6],[9693,6],[9792,6],[9863,5],[9906,6],[10080,6],[10178,6],[10255,6],[10313,6],[10426,6],[10575,6]]},"273":{"position":[[446,6],[503,6]]},"282":{"position":[[520,6],[577,6]]},"283":{"position":[[28,6],[42,6],[155,6],[770,6]]},"284":{"position":[[69,6]]},"299":{"position":[[1195,6]]},"300":{"position":[[370,6],[401,6]]},"301":{"position":[[1447,6],[1478,6]]},"302":{"position":[[1,6],[72,6],[137,6],[150,6],[221,6],[288,7],[334,6],[430,6],[475,6],[517,6],[605,7],[667,6],[751,6]]},"305":{"position":[[934,6],[984,6],[1211,6],[1316,6],[1371,6]]},"357":{"position":[[482,7]]},"360":{"position":[[801,7]]},"363":{"position":[[404,6],[575,7]]},"364":{"position":[[1102,11]]},"403":{"position":[[339,6],[385,8]]},"412":{"position":[[53,6]]},"413":{"position":[[53,6]]},"414":{"position":[[33,6]]},"427":{"position":[[230,6],[276,8]]},"430":{"position":[[39,7]]},"431":{"position":[[58,7]]},"432":{"position":[[41,7]]},"434":{"position":[[51,7]]},"436":{"position":[[41,7]]},"459":{"position":[[884,7]]},"466":{"position":[[323,7]]},"467":{"position":[[645,7]]},"476":{"position":[[146,5]]},"544":{"position":[[133,6]]},"568":{"position":[[154,6]]},"575":{"position":[[5,6],[92,7],[104,6],[151,6],[326,6]]},"577":{"position":[[59,6],[317,6],[555,6],[594,6],[607,6],[640,6],[714,6],[755,5],[792,6],[872,6],[897,5]]},"578":{"position":[[23,6],[109,6],[130,6],[183,6],[253,6],[555,6],[837,6],[864,6],[994,6],[1079,6],[1301,6]]},"579":{"position":[[27,6]]},"599":{"position":[[916,5]]},"649":{"position":[[1543,9]]},"662":{"position":[[32,6]]},"663":{"position":[[32,6]]},"689":{"position":[[44,7]]},"690":{"position":[[68,6]]},"691":{"position":[[9,6]]},"692":{"position":[[10,6]]},"693":{"position":[[9,6],[70,6],[220,6]]},"694":{"position":[[10,6],[71,6],[222,6]]},"695":{"position":[[21,6]]},"696":{"position":[[18,6],[42,6],[192,6]]},"697":{"position":[[33,6],[57,6]]},"698":{"position":[[21,6]]},"699":{"position":[[32,6]]},"700":{"position":[[28,6],[151,6],[184,6],[749,6],[854,6],[989,6],[1116,6],[1481,6],[1510,6],[1532,6],[1585,6],[1607,6],[1692,6],[1715,6],[1775,6],[1798,6],[1844,6],[1919,6],[1942,6]]},"701":{"position":[[116,6]]},"702":{"position":[[21,6],[280,6]]},"703":{"position":[[9,6],[328,6]]}},"keywords":{}}],["limit"",{"_index":2673,"title":{},"content":{"267":{"position":[[9555,11],[9942,11]]}},"keywords":{}}],["limitless",{"_index":3231,"title":{},"content":{"328":{"position":[[1884,10]]}},"keywords":{}}],["limits_en",{"_index":5149,"title":{"690":{"position":[[0,16],[17,15]]}},"content":{"690":{"position":[[5,15]]}},"keywords":{}}],["limits_enabled("<target",{"_index":5151,"title":{},"content":{"690":{"position":[[229,31]]}},"keywords":{}}],["limits_enabled("inst",{"_index":5153,"title":{},"content":{"690":{"position":[[624,25]]}},"keywords":{}}],["limits_enabled?("<target",{"_index":5150,"title":{},"content":{"690":{"position":[[124,32]]}},"keywords":{}}],["limits_enabled?("inst",{"_index":5152,"title":{},"content":{"690":{"position":[[520,26]]}},"keywords":{}}],["limits_group",{"_index":2701,"title":{"283":{"position":[[0,13]]}},"content":{"284":{"position":[[55,12],[388,12]]},"695":{"position":[[84,13]]}},"keywords":{}}],["limits_group_item",{"_index":2710,"title":{"284":{"position":[[0,18]]}},"content":{"284":{"position":[[411,17],[454,17],[497,17]]}},"keywords":{}}],["limits_groups.txt",{"_index":2712,"title":{},"content":{"284":{"position":[[187,18]]}},"keywords":{}}],["limits_respons",{"_index":2373,"title":{},"content":{"232":{"position":[[372,15]]},"233":{"position":[[5,15],[253,15],[289,15],[397,15],[568,15],[1383,15]]},"267":{"position":[[10359,16],[10775,15],[10840,15]]}},"keywords":{}}],["limits_response.rb",{"_index":343,"title":{},"content":{"12":{"position":[[595,18]]}},"keywords":{}}],["limits_set",{"_index":5024,"title":{},"content":{"663":{"position":[[293,16],[310,10]]},"697":{"position":[[114,10]]},"698":{"position":[[82,11]]}},"keywords":{}}],["limits_st",{"_index":5017,"title":{},"content":{"662":{"position":[[187,14]]},"663":{"position":[[278,14]]},"701":{"position":[[68,12]]}},"keywords":{}}],["limitsbar",{"_index":3740,"title":{"412":{"position":[[0,10]]}},"content":{"373":{"position":[[479,9]]},"383":{"position":[[479,9]]},"408":{"position":[[59,9]]},"412":{"position":[[444,9],[496,9]]},"415":{"position":[[36,9]]}},"keywords":{}}],["limitscolor",{"_index":3852,"title":{"414":{"position":[[0,12]]}},"content":{"414":{"position":[[439,11],[494,11]]}},"keywords":{}}],["limitscolumn",{"_index":3843,"title":{"413":{"position":[[0,13]]}},"content":{"409":{"position":[[59,12]]},"413":{"position":[[442,12],[497,12]]},"416":{"position":[[36,12]]}},"keywords":{}}],["line",{"_index":141,"title":{"8":{"position":[[0,4]]},"488":{"position":[[31,5]]}},"content":{"5":{"position":[[6,4]]},"6":{"position":[[470,4],[672,4]]},"8":{"position":[[19,4],[84,4],[288,5],[406,4]]},"9":{"position":[[849,5],[1011,4]]},"33":{"position":[[653,4],[912,4]]},"36":{"position":[[8291,4],[8399,5]]},"39":{"position":[[111,4]]},"58":{"position":[[12,4],[103,5]]},"63":{"position":[[503,4],[541,4],[1560,5],[1585,5],[1624,5],[1844,5],[1864,5],[1907,4]]},"103":{"position":[[474,4],[482,4]]},"134":{"position":[[881,4]]},"140":{"position":[[24,4],[75,4]]},"178":{"position":[[9,4],[59,4]]},"179":{"position":[[140,4]]},"202":{"position":[[8291,4],[8399,5]]},"253":{"position":[[6138,5],[7302,4],[7529,4],[8152,4]]},"267":{"position":[[6950,4],[7057,5]]},"291":{"position":[[537,4],[814,4]]},"304":{"position":[[241,4],[504,6],[527,5],[1666,6],[2224,4],[2256,5],[3555,6],[3578,5],[3635,6],[3695,5],[3731,5],[3850,5],[3900,4],[4761,5],[4951,5]]},"307":{"position":[[172,4]]},"322":{"position":[[292,4]]},"324":{"position":[[2346,4],[3284,4],[3448,5],[3525,6]]},"325":{"position":[[154,4],[479,5],[556,6],[633,5]]},"332":{"position":[[377,5]]},"366":{"position":[[472,5]]},"397":{"position":[[38,4]]},"402":{"position":[[550,4]]},"418":{"position":[[12,4]]},"429":{"position":[[603,5],[680,5]]},"443":{"position":[[9,4],[109,4],[181,4],[249,4],[317,4],[360,4],[390,4]]},"444":{"position":[[24,4],[50,4],[317,4],[389,4],[457,4],[525,4],[568,4],[1292,4]]},"476":{"position":[[155,4],[168,5],[3998,4],[4006,4]]},"480":{"position":[[177,4],[683,5],[764,5],[1056,5]]},"481":{"position":[[96,6],[297,5],[311,4]]},"483":{"position":[[1250,5]]},"488":{"position":[[66,4],[163,4],[636,4],[1061,6],[1137,6]]},"491":{"position":[[19,4],[228,5]]},"495":{"position":[[1333,5]]},"497":{"position":[[487,4],[786,4]]},"502":{"position":[[19,4],[74,4],[131,4],[289,4],[388,4]]},"505":{"position":[[80,5],[347,4]]},"533":{"position":[[601,4],[670,4],[756,4]]},"584":{"position":[[521,4],[529,4]]},"601":{"position":[[851,4]]},"607":{"position":[[323,4],[381,4],[451,4]]},"608":{"position":[[827,4]]},"613":{"position":[[48,4],[270,4],[278,4]]},"617":{"position":[[707,5],[1080,4]]},"737":{"position":[[153,5],[236,5]]},"748":{"position":[[22,4],[185,5]]},"749":{"position":[[21,4]]},"752":{"position":[[46,5],[160,5]]},"756":{"position":[[80,5]]},"757":{"position":[[50,4]]}},"keywords":{}}],["linegraph",{"_index":3858,"title":{"418":{"position":[[0,10]]}},"content":{"418":{"position":[[545,9],[673,10]]}},"keywords":{}}],["liner",{"_index":4218,"title":{},"content":{"479":{"position":[[225,6],[316,6]]}},"keywords":{}}],["link",{"_index":1550,"title":{"469":{"position":[[46,6]]}},"content":{"81":{"position":[[16,6]]},"110":{"position":[[24,7]]},"186":{"position":[[247,7]]},"311":{"position":[[705,5],[735,4]]},"334":{"position":[[753,5]]},"345":{"position":[[608,4]]},"359":{"position":[[890,4],[1267,4]]},"362":{"position":[[550,4]]},"468":{"position":[[171,4]]},"469":{"position":[[135,5]]},"511":{"position":[[176,6]]},"559":{"position":[[269,5]]}},"keywords":{}}],["linux",{"_index":407,"title":{},"content":{"20":{"position":[[277,5]]},"85":{"position":[[957,6]]},"103":{"position":[[378,7]]},"239":{"position":[[164,6]]},"253":{"position":[[217,6]]},"257":{"position":[[827,5]]},"289":{"position":[[14,5],[156,7]]},"292":{"position":[[189,5]]},"324":{"position":[[1784,5]]},"341":{"position":[[54,5]]},"347":{"position":[[76,6],[110,6],[1930,6]]},"357":{"position":[[2448,5]]}},"keywords":{}}],["linux/mac",{"_index":2823,"title":{},"content":{"292":{"position":[[391,12]]}},"keywords":{}}],["list",{"_index":322,"title":{},"content":{"12":{"position":[[23,4],[340,4]]},"15":{"position":[[118,4]]},"16":{"position":[[122,4]]},"90":{"position":[[5,4],[231,4]]},"122":{"position":[[145,5]]},"240":{"position":[[1543,4]]},"249":{"position":[[68,6],[207,4]]},"254":{"position":[[2417,4]]},"301":{"position":[[204,4],[469,4],[567,4],[850,4],[1169,4]]},"384":{"position":[[529,6]]},"431":{"position":[[22,4]]},"457":{"position":[[18,6]]},"483":{"position":[[395,4]]},"495":{"position":[[1098,4]]},"513":{"position":[[619,5]]},"514":{"position":[[1319,6]]},"527":{"position":[[497,4],[571,7]]},"528":{"position":[[1150,4]]},"540":{"position":[[597,4]]},"546":{"position":[[91,6]]},"548":{"position":[[42,4]]},"552":{"position":[[228,4],[483,4]]},"553":{"position":[[114,4]]},"557":{"position":[[53,4]]},"558":{"position":[[259,5]]},"559":{"position":[[64,5]]},"563":{"position":[[166,4],[421,4]]},"572":{"position":[[168,4]]},"573":{"position":[[91,5]]},"577":{"position":[[12,4],[384,6],[997,4],[1252,4]]},"578":{"position":[[1469,4]]},"579":{"position":[[17,5]]},"589":{"position":[[165,4],[420,4]]},"598":{"position":[[184,4],[439,4]]},"606":{"position":[[339,5],[492,5]]},"617":{"position":[[960,4]]},"679":{"position":[[9,4]]},"695":{"position":[[13,4]]},"698":{"position":[[13,4]]},"705":{"position":[[11,4]]},"710":{"position":[[11,4]]},"722":{"position":[[11,4]]},"743":{"position":[[31,4]]},"746":{"position":[[139,5]]},"771":{"position":[[1,4]]},"772":{"position":[[1,4]]}},"keywords":{}}],["list)reset",{"_index":4480,"title":{},"content":{"552":{"position":[[67,10]]}},"keywords":{}}],["list_config",{"_index":5578,"title":{"772":{"position":[[0,13]]}},"content":{},"keywords":{}}],["list_configs(<tool",{"_index":5579,"title":{},"content":{"772":{"position":[[91,21]]}},"keywords":{}}],["list_configs('telemetry_graph",{"_index":5581,"title":{},"content":{"772":{"position":[[236,33],[335,33]]}},"keywords":{}}],["list_set",{"_index":5518,"title":{"766":{"position":[[0,14]]}},"content":{"766":{"position":[[134,15]]}},"keywords":{}}],["listen",{"_index":492,"title":{},"content":{"22":{"position":[[273,6]]},"50":{"position":[[57,7]]},"89":{"position":[[41,7],[133,7]]},"254":{"position":[[864,9]]},"320":{"position":[[738,7]]},"322":{"position":[[1275,9]]},"338":{"position":[[888,6],[979,6]]},"528":{"position":[[471,6]]},"675":{"position":[[20,6]]}},"keywords":{}}],["listen_address",{"_index":1983,"title":{},"content":{"135":{"position":[[512,14],[883,14]]},"338":{"position":[[1592,14],[1964,14]]}},"keywords":{}}],["lite",{"_index":3311,"title":{},"content":{"347":{"position":[[427,4],[842,4]]}},"keywords":{}}],["literal'",{"_index":1704,"title":{},"content":{"88":{"position":[[178,9]]}},"keywords":{}}],["littl",{"_index":176,"title":{"329":{"position":[[0,6]]}},"content":{"5":{"position":[[894,6]]},"33":{"position":[[204,6]]},"35":{"position":[[1305,6],[1340,6],[1836,6]]},"37":{"position":[[1098,6],[1133,6],[1629,6]]},"44":{"position":[[1769,6]]},"199":{"position":[[364,6]]},"201":{"position":[[1334,6],[1369,6],[1865,6]]},"203":{"position":[[1117,6],[1152,6],[1648,6]]},"204":{"position":[[1478,6],[1513,6],[2009,6]]},"205":{"position":[[1314,6],[1349,6],[1845,6]]},"206":{"position":[[865,6]]},"207":{"position":[[648,6]]},"264":{"position":[[381,6]]},"266":{"position":[[940,6],[975,6]]},"268":{"position":[[732,6],[767,6]]},"269":{"position":[[1034,6],[1069,6]]},"270":{"position":[[703,6],[738,6]]},"271":{"position":[[858,6]]},"272":{"position":[[650,6]]},"324":{"position":[[429,6]]},"329":{"position":[[0,6],[33,6],[62,6],[147,6]]}},"keywords":{}}],["little_endian",{"_index":177,"title":{},"content":{"5":{"position":[[941,13],[1175,14]]},"33":{"position":[[251,13]]},"35":{"position":[[1391,13],[1883,13]]},"37":{"position":[[1184,13],[1676,13]]},"61":{"position":[[1689,16]]},"199":{"position":[[411,13]]},"201":{"position":[[1420,13],[1912,13]]},"203":{"position":[[1203,13],[1695,13]]},"204":{"position":[[1564,13],[2056,13]]},"205":{"position":[[1400,13],[1892,13]]},"206":{"position":[[912,13]]},"207":{"position":[[695,13]]},"264":{"position":[[428,13]]},"266":{"position":[[1026,13]]},"268":{"position":[[818,13]]},"269":{"position":[[1120,13]]},"270":{"position":[[789,13]]},"271":{"position":[[905,13]]},"272":{"position":[[697,13]]},"329":{"position":[[213,13],[430,13],[644,13],[713,13],[757,13],[839,13]]}},"keywords":{}}],["live",{"_index":1235,"title":{},"content":{"51":{"position":[[609,5]]},"352":{"position":[[114,5]]},"568":{"position":[[20,4]]},"588":{"position":[[23,4]]},"607":{"position":[[584,4]]}},"keywords":{}}],["lm",{"_index":2863,"title":{},"content":{"302":{"position":[[329,2],[425,2],[512,2],[662,2],[746,2]]}},"keywords":{}}],["ln",{"_index":3165,"title":{},"content":{"324":{"position":[[1917,2]]}},"keywords":{}}],["load",{"_index":72,"title":{"488":{"position":[[49,6]]}},"content":{"2":{"position":[[704,4]]},"44":{"position":[[1604,5]]},"107":{"position":[[73,4]]},"177":{"position":[[183,6]]},"187":{"position":[[17,4],[69,4]]},"235":{"position":[[876,5]]},"240":{"position":[[1478,4]]},"290":{"position":[[799,4],[876,5]]},"291":{"position":[[409,5]]},"298":{"position":[[795,4]]},"302":{"position":[[780,7],[807,4]]},"307":{"position":[[1122,7],[1149,4]]},"308":{"position":[[736,7]]},"356":{"position":[[692,4],[747,4]]},"476":{"position":[[1834,4],[3675,6],[3730,4],[4487,7]]},"488":{"position":[[1217,6],[1233,4],[1358,5],[1382,4],[1614,4],[1685,4]]},"538":{"position":[[159,4]]},"552":{"position":[[310,4]]},"563":{"position":[[248,4]]},"577":{"position":[[1079,4]]},"589":{"position":[[247,4]]},"598":{"position":[[266,4]]},"607":{"position":[[163,5]]},"737":{"position":[[313,6]]},"754":{"position":[[1066,4]]},"770":{"position":[[39,4],[111,4]]},"773":{"position":[[1,4]]}},"keywords":{}}],["load_config",{"_index":5583,"title":{"773":{"position":[[0,12]]}},"content":{"773":{"position":[[175,11]]}},"keywords":{}}],["load_config(<tool",{"_index":5584,"title":{},"content":{"773":{"position":[[239,20]]}},"keywords":{}}],["load_config('telemetry_graph",{"_index":5586,"title":{},"content":{"773":{"position":[[427,32]]}},"keywords":{}}],["load_util",{"_index":4186,"title":{"737":{"position":[[0,13]]}},"content":{"476":{"position":[[1913,12],[3698,15],[3952,14]]},"485":{"position":[[500,13]]},"488":{"position":[[437,12],[1926,12]]},"621":{"position":[[3408,12]]}},"keywords":{}}],["load_utility("target/lib/<util",{"_index":5418,"title":{},"content":{"737":{"position":[[397,41]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.py"",{"_index":5424,"title":{},"content":{"737":{"position":[[733,52]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.rb"",{"_index":5423,"title":{},"content":{"737":{"position":[[673,52]]}},"keywords":{}}],["load_utility('target/lib/helper_utility.rb",{"_index":4202,"title":{},"content":{"476":{"position":[[2827,44]]}},"keywords":{}}],["load_utility('target/lib/my_other_script.rb",{"_index":4276,"title":{},"content":{"485":{"position":[[523,45]]}},"keywords":{}}],["load_utility('target/procedures/my_other_script.pi",{"_index":4277,"title":{},"content":{"485":{"position":[[579,52]]}},"keywords":{}}],["loadsim",{"_index":3454,"title":{},"content":{"355":{"position":[[1087,7]]},"357":{"position":[[2056,7],[2362,7],[3510,7]]}},"keywords":{}}],["local",{"_index":248,"title":{"330":{"position":[[0,5]]},"331":{"position":[[6,5]]},"333":{"position":[[10,5]]}},"content":{"7":{"position":[[251,7],[1072,7]]},"20":{"position":[[529,8]]},"44":{"position":[[1499,5]]},"51":{"position":[[361,5]]},"83":{"position":[[746,5]]},"84":{"position":[[161,5],[375,6],[955,5],[1099,5]]},"85":{"position":[[622,5],[1041,5]]},"121":{"position":[[603,5]]},"240":{"position":[[641,5]]},"291":{"position":[[999,5]]},"292":{"position":[[9,7]]},"301":{"position":[[1750,5]]},"322":{"position":[[494,5]]},"324":{"position":[[942,5]]},"331":{"position":[[559,5]]},"332":{"position":[[132,5],[441,5],[555,5],[641,5]]},"333":{"position":[[24,5]]},"334":{"position":[[326,5],[1273,5],[1340,5]]},"347":{"position":[[2058,6]]},"352":{"position":[[156,7]]},"476":{"position":[[4216,5]]},"501":{"position":[[937,9],[1113,9]]},"516":{"position":[[198,5]]},"613":{"position":[[115,5],[196,5]]},"746":{"position":[[41,5]]},"774":{"position":[[277,5]]},"775":{"position":[[283,5]]}},"keywords":{}}],["local_mod",{"_index":5593,"title":{},"content":{"774":{"position":[[122,11],[229,10]]},"775":{"position":[[126,11],[233,10]]}},"keywords":{}}],["local_screen",{"_index":5449,"title":{"746":{"position":[[0,13]]}},"content":{"746":{"position":[[5,12]]}},"keywords":{}}],["local_screen("<screen",{"_index":5450,"title":{},"content":{"746":{"position":[[243,29]]}},"keywords":{}}],["local_screen("testing"",{"_index":5453,"title":{},"content":{"746":{"position":[[1121,33],[1421,33]]}},"keywords":{}}],["localhost",{"_index":1621,"title":{},"content":{"83":{"position":[[2061,9]]},"338":{"position":[[1030,9]]}},"keywords":{}}],["localhost:2900",{"_index":1650,"title":{},"content":{"83":{"position":[[3070,14]]},"84":{"position":[[632,14]]}},"keywords":{}}],["localstorage.openc3token",{"_index":2272,"title":{},"content":{"227":{"position":[[2683,25],[3686,25]]}},"keywords":{}}],["localstorage.setitem("devtools"",{"_index":1664,"title":{},"content":{"84":{"position":[[696,42]]}},"keywords":{}}],["locat",{"_index":743,"title":{},"content":{"36":{"position":[[4113,7]]},"54":{"position":[[397,8]]},"61":{"position":[[58,8],[802,9]]},"85":{"position":[[250,10]]},"202":{"position":[[4113,7]]},"267":{"position":[[3062,7]]},"320":{"position":[[379,8]]},"324":{"position":[[891,9],[1208,8]]},"329":{"position":[[900,8]]},"466":{"position":[[23,7]]},"608":{"position":[[431,8]]},"618":{"position":[[339,8]]},"746":{"position":[[687,8]]}},"keywords":{}}],["lock",{"_index":1070,"title":{},"content":{"44":{"position":[[1610,4],[1976,5],[2495,4]]},"359":{"position":[[1831,6]]}},"keywords":{}}],["log",{"_index":60,"title":{"96":{"position":[[0,3]]},"97":{"position":[[7,3]]},"342":{"position":[[0,7]]},"544":{"position":[[0,3]]},"579":{"position":[[7,4]]}},"content":{"2":{"position":[[540,4],[563,4]]},"44":{"position":[[3753,4]]},"63":{"position":[[120,8]]},"67":{"position":[[379,3]]},"97":{"position":[[8,4]]},"98":{"position":[[17,3]]},"99":{"position":[[8,3],[190,3],[1462,3],[1654,3],[3188,3],[4094,3],[4153,3],[4381,3]]},"108":{"position":[[201,3]]},"133":{"position":[[16,3],[270,4],[409,3],[543,3],[618,4],[663,3],[708,3],[920,3]]},"146":{"position":[[55,6]]},"147":{"position":[[16,4]]},"148":{"position":[[16,4],[51,3]]},"149":{"position":[[30,4],[121,4]]},"150":{"position":[[23,4]]},"151":{"position":[[23,4],[58,3]]},"152":{"position":[[32,4],[125,4]]},"153":{"position":[[64,6]]},"154":{"position":[[18,4]]},"155":{"position":[[18,4],[53,3]]},"156":{"position":[[32,4],[125,4]]},"157":{"position":[[25,4]]},"158":{"position":[[25,4],[60,3]]},"159":{"position":[[34,4],[129,4]]},"160":{"position":[[43,4],[147,4]]},"161":{"position":[[41,4],[143,4]]},"162":{"position":[[40,4],[141,4]]},"163":{"position":[[40,4],[141,4]]},"164":{"position":[[40,4],[141,4]]},"198":{"position":[[1097,3],[1194,3]]},"212":{"position":[[72,7]]},"227":{"position":[[301,6]]},"231":{"position":[[871,3]]},"250":{"position":[[153,3]]},"297":{"position":[[1078,3],[1119,6],[1165,3]]},"298":{"position":[[631,4],[654,4],[1615,6]]},"299":{"position":[[380,3],[424,3],[717,6],[1000,4],[1087,6],[1169,3],[1258,4]]},"300":{"position":[[657,6],[763,6]]},"301":{"position":[[1782,4]]},"302":{"position":[[468,3],[503,3]]},"304":{"position":[[269,6],[2740,3],[2814,7],[2848,3],[2985,7],[3019,3],[3104,7],[3138,3],[3274,7],[3308,3],[3494,7]]},"307":{"position":[[78,3],[419,6],[481,6]]},"308":{"position":[[26,6]]},"309":{"position":[[160,3],[375,6]]},"343":{"position":[[390,3],[459,7],[498,3],[644,7]]},"344":{"position":[[130,3],[241,4],[321,3],[398,3]]},"345":{"position":[[34,4],[340,3],[393,4]]},"351":{"position":[[369,4]]},"356":{"position":[[152,7]]},"364":{"position":[[445,3],[506,7],[608,4]]},"490":{"position":[[802,6],[838,4],[952,6],[987,5]]},"497":{"position":[[299,4],[524,3],[823,3]]},"517":{"position":[[59,5],[290,4],[319,4],[385,7],[415,4]]},"536":{"position":[[417,3]]},"538":{"position":[[300,3]]},"544":{"position":[[5,3],[180,7]]},"575":{"position":[[344,6]]},"579":{"position":[[5,3]]},"606":{"position":[[557,4]]},"613":{"position":[[88,3],[165,3]]},"617":{"position":[[1228,3]]},"623":{"position":[[626,7]]},"624":{"position":[[592,7]]},"636":{"position":[[1255,7]]},"637":{"position":[[1477,7]]},"638":{"position":[[1498,7]]},"639":{"position":[[1531,7]]},"640":{"position":[[1331,7]]},"641":{"position":[[1548,7]]},"642":{"position":[[1569,7]]},"643":{"position":[[1602,7]]},"656":{"position":[[789,4]]},"681":{"position":[[1446,3]]},"682":{"position":[[1213,3]]},"683":{"position":[[879,3]]},"684":{"position":[[760,3]]},"688":{"position":[[732,3]]},"713":{"position":[[8,7],[279,8],[356,7],[373,7]]},"714":{"position":[[7,7],[276,8],[353,7],[369,7]]},"725":{"position":[[8,7],[264,8],[338,7],[355,7]]},"726":{"position":[[7,7],[261,8],[335,7],[351,7]]},"759":{"position":[[62,6]]}},"keywords":{}}],["log_messag",{"_index":4821,"title":{},"content":{"636":{"position":[[1207,11],[1687,12]]},"637":{"position":[[1429,11]]},"638":{"position":[[1450,11]]},"639":{"position":[[1483,11]]},"640":{"position":[[1283,11]]},"641":{"position":[[1500,11]]},"642":{"position":[[1521,11]]},"643":{"position":[[1554,11]]}},"keywords":{}}],["log_message=fals",{"_index":4824,"title":{},"content":{"636":{"position":[[1937,18]]}},"keywords":{}}],["log_nam",{"_index":3382,"title":{},"content":{"350":{"position":[[463,9],[793,9],[1115,9]]}},"keywords":{}}],["log_raw",{"_index":1961,"title":{"132":{"position":[[0,8]]}},"content":{},"keywords":{}}],["log_retain_tim",{"_index":2035,"title":{"163":{"position":[[0,16]]}},"content":{},"keywords":{}}],["log_stream",{"_index":1962,"title":{"133":{"position":[[0,11]]}},"content":{"132":{"position":[[17,10]]},"133":{"position":[[83,10],[936,10]]}},"keywords":{}}],["logged.everi",{"_index":2847,"title":{},"content":{"298":{"position":[[1400,12]]}},"keywords":{}}],["logic",{"_index":195,"title":{},"content":{"6":{"position":[[96,5]]},"69":{"position":[[1604,5]]},"72":{"position":[[160,6],[199,5]]},"73":{"position":[[341,5]]},"74":{"position":[[356,5]]},"108":{"position":[[635,6]]},"231":{"position":[[915,5]]},"243":{"position":[[218,7]]},"364":{"position":[[1406,5],[1595,5]]},"433":{"position":[[91,5]]},"449":{"position":[[405,7]]},"492":{"position":[[733,5]]},"511":{"position":[[114,7]]},"513":{"position":[[14,7],[573,6]]},"585":{"position":[[209,5],[563,5]]},"586":{"position":[[224,5],[512,5]]},"669":{"position":[[339,7]]}},"keywords":{}}],["login",{"_index":1833,"title":{},"content":{"103":{"position":[[75,5]]}},"keywords":{}}],["logsrequest",{"_index":1077,"title":{},"content":{"44":{"position":[[1735,11]]}},"keywords":{}}],["logstash_dateformat",{"_index":3376,"title":{},"content":{"350":{"position":[[386,19],[716,19],[1038,19]]}},"keywords":{}}],["logstash_format",{"_index":3374,"title":{},"content":{"350":{"position":[[342,15],[672,15],[993,15]]}},"keywords":{}}],["logstash_prefix",{"_index":3375,"title":{},"content":{"350":{"position":[[363,15],[693,15],[1014,15]]}},"keywords":{}}],["long",{"_index":822,"title":{},"content":{"36":{"position":[[9028,4]]},"83":{"position":[[786,4]]},"123":{"position":[[308,4]]},"149":{"position":[[5,4]]},"152":{"position":[[5,4]]},"156":{"position":[[5,4]]},"159":{"position":[[5,4]]},"160":{"position":[[5,4]]},"161":{"position":[[5,4]]},"162":{"position":[[5,4]]},"163":{"position":[[5,4]]},"164":{"position":[[5,4]]},"202":{"position":[[9028,4]]},"250":{"position":[[143,4]]},"267":{"position":[[7151,4]]},"322":{"position":[[1398,4]]},"344":{"position":[[344,4]]},"359":{"position":[[405,4]]},"465":{"position":[[26,4]]},"476":{"position":[[184,4],[238,4],[3858,4]]},"486":{"position":[[289,4]]},"488":{"position":[[1022,4]]},"504":{"position":[[158,4]]}},"keywords":{}}],["longer",{"_index":792,"title":{},"content":{"36":{"position":[[6552,6],[7348,6]]},"202":{"position":[[6552,6],[7348,6]]},"267":{"position":[[5091,6],[5949,6]]},"459":{"position":[[1280,6],[1397,6]]},"465":{"position":[[251,6]]},"482":{"position":[[420,6]]},"504":{"position":[[460,6]]},"601":{"position":[[452,6]]}},"keywords":{}}],["look",{"_index":96,"title":{},"content":{"3":{"position":[[171,4]]},"6":{"position":[[792,4]]},"32":{"position":[[140,6]]},"43":{"position":[[4689,5]]},"61":{"position":[[2842,4]]},"85":{"position":[[311,4],[745,4]]},"227":{"position":[[1206,5]]},"249":{"position":[[180,4]]},"254":{"position":[[2844,4]]},"262":{"position":[[315,4]]},"310":{"position":[[555,4],[651,4]]},"327":{"position":[[105,4],[271,4],[329,4],[411,5]]},"328":{"position":[[745,5],[1368,5],[1516,4]]},"337":{"position":[[215,7]]},"429":{"position":[[859,5]]},"480":{"position":[[1017,4]]},"481":{"position":[[417,4]]}},"keywords":{}}],["lookup",{"_index":1841,"title":{},"content":{"103":{"position":[[344,7]]},"528":{"position":[[745,6]]}},"keywords":{}}],["loop",{"_index":1118,"title":{"483":{"position":[[0,7],[20,6]]}},"content":{"44":{"position":[[3265,4]]},"304":{"position":[[6271,7],[6318,4],[6414,7],[6479,4],[6600,4],[6694,7],[6722,8]]},"476":{"position":[[905,4],[3907,7]]},"483":{"position":[[1,5],[327,5],[383,4],[463,4],[482,4],[569,4],[875,4],[933,4],[962,5]]},"488":{"position":[[995,5],[2169,5]]},"492":{"position":[[122,5]]},"500":{"position":[[700,7],[790,7],[818,7],[838,5]]},"612":{"position":[[1236,5],[1243,4],[1361,7],[1465,4],[1491,4],[1538,4]]},"752":{"position":[[132,5]]}},"keywords":{}}],["loop_test",{"_index":2937,"title":{},"content":{"304":{"position":[[6665,13]]}},"keywords":{}}],["loosen",{"_index":4402,"title":{},"content":{"504":{"position":[[687,6]]}},"keywords":{}}],["looser",{"_index":2666,"title":{},"content":{"267":{"position":[[8335,6]]}},"keywords":{}}],["lose",{"_index":3616,"title":{},"content":{"359":{"position":[[1203,4]]},"601":{"position":[[958,6]]}},"keywords":{}}],["loss",{"_index":4077,"title":{},"content":{"459":{"position":[[1920,5]]},"464":{"position":[[176,5]]}},"keywords":{}}],["lost",{"_index":1955,"title":{},"content":{"129":{"position":[[72,4]]},"130":{"position":[[132,5]]}},"keywords":{}}],["lot",{"_index":623,"title":{},"content":{"31":{"position":[[488,3]]},"69":{"position":[[354,3]]},"476":{"position":[[1022,3]]},"556":{"position":[[295,3],[548,3]]}},"keywords":{}}],["low",{"_index":1264,"title":{},"content":{"53":{"position":[[13,3]]},"133":{"position":[[195,3]]},"267":{"position":[[8916,3],[8991,3],[9034,3],[9129,3],[9149,3],[9472,3],[9500,3],[9887,3],[10174,3]]},"343":{"position":[[576,3]]},"347":{"position":[[25,3]]},"410":{"position":[[202,3],[326,3]]},"417":{"position":[[171,3],[295,3]]},"423":{"position":[[181,3],[305,3]]},"483":{"position":[[284,3]]},"700":{"position":[[395,3],[720,3],[728,3],[822,3],[833,3],[914,3],[1188,3],[1241,3],[1391,3]]}},"keywords":{}}],["low>",{"_index":5190,"title":{},"content":{"700":{"position":[[317,8],[337,8]]}},"keywords":{}}],["lower",{"_index":802,"title":{},"content":{"36":{"position":[[6986,5],[7109,5]]},"69":{"position":[[4545,5]]},"198":{"position":[[769,5]]},"202":{"position":[[6986,5],[7109,5]]},"259":{"position":[[796,5]]},"267":{"position":[[5587,5],[5710,5]]}},"keywords":{}}],["lowercas",{"_index":2407,"title":{},"content":{"235":{"position":[[1079,10]]},"367":{"position":[[370,10]]},"476":{"position":[[1434,9],[1614,9]]}},"keywords":{}}],["ls",{"_index":1576,"title":{},"content":{"83":{"position":[[928,2]]},"319":{"position":[[61,3]]},"322":{"position":[[420,2]]}},"keywords":{}}],["lt",{"_index":201,"title":{},"content":{"6":{"position":[[175,5],[210,6],[330,5],[413,6],[442,5],[746,6]]},"7":{"position":[[208,6],[712,6]]},"20":{"position":[[727,5]]},"36":{"position":[[5577,4],[7531,4],[7631,4]]},"75":{"position":[[668,5],[1016,5]]},"93":{"position":[[1930,4],[2467,4]]},"94":{"position":[[1351,4],[1701,4]]},"202":{"position":[[5577,4],[7531,4],[7631,4]]},"224":{"position":[[688,4]]},"226":{"position":[[2381,5],[2475,6],[2496,5]]},"230":{"position":[[2575,6],[2614,6],[2730,6]]},"253":{"position":[[6740,6],[6779,6],[6914,6],[7373,6]]},"267":{"position":[[4057,4],[6131,4],[6230,4]]},"289":{"position":[[740,4]]},"320":{"position":[[874,6],[1027,6],[1077,6],[1093,6],[1114,6],[1166,6]]},"328":{"position":[[163,5],[1629,6],[1695,6]]},"338":{"position":[[1194,6],[1223,6],[1251,6],[1274,6],[1294,6],[1317,6],[1344,6],[1390,6],[1433,6],[1503,6],[1528,6],[1607,6]]},"425":{"position":[[535,4],[582,4],[624,4]]},"495":{"position":[[609,4],[906,4]]},"497":{"position":[[326,4]]},"501":{"position":[[811,4],[1089,4]]},"508":{"position":[[585,4]]},"585":{"position":[[752,4]]},"586":{"position":[[714,4]]},"610":{"position":[[406,4]]},"611":{"position":[[145,4]]},"754":{"position":[[1115,4],[1202,4],[1372,4]]}},"keywords":{}}],["lt;<",{"_index":1097,"title":{},"content":{"44":{"position":[[2648,8]]}},"keywords":{}}],["lt;/match>",{"_index":3386,"title":{},"content":{"350":{"position":[[548,14],[878,14],[1200,14]]}},"keywords":{}}],["lt;/script>",{"_index":3216,"title":{},"content":{"328":{"position":[[400,15]]}},"keywords":{}}],["lt;/source>",{"_index":3368,"title":{},"content":{"350":{"position":[[222,15]]}},"keywords":{}}],["lt;/store>",{"_index":3385,"title":{},"content":{"350":{"position":[[491,14],[533,14],[821,14],[863,14],[1143,14],[1185,14]]}},"keywords":{}}],["lt;/style>",{"_index":3219,"title":{},"content":{"328":{"position":[[465,14]]}},"keywords":{}}],["lt;/template>",{"_index":3210,"title":{},"content":{"328":{"position":[[200,17]]}},"keywords":{}}],["lt;blank_or_default>",{"_index":4733,"title":{},"content":{"623":{"position":[[276,25]]},"624":{"position":[[242,25]]}},"keywords":{}}],["lt;command",{"_index":4814,"title":{},"content":{"636":{"position":[[73,11],[438,11]]},"637":{"position":[[250,11],[645,11]]},"638":{"position":[[259,11],[662,11]]},"639":{"position":[[319,11],[704,11]]},"640":{"position":[[105,11],[494,11]]},"641":{"position":[[277,11],[696,11]]},"642":{"position":[[286,11],[713,11]]},"643":{"position":[[346,11],[755,11]]},"649":{"position":[[107,11]]},"651":{"position":[[194,11]]},"654":{"position":[[126,11]]}},"keywords":{}}],["lt;comparison",{"_index":4973,"title":{},"content":{"656":{"position":[[420,14]]}},"keywords":{}}],["lt;comparison>"",{"_index":5121,"title":{},"content":{"681":{"position":[[734,25]]},"685":{"position":[[356,25]]}},"keywords":{}}],["lt;configur",{"_index":5585,"title":{},"content":{"773":{"position":[[270,17]]},"774":{"position":[[94,17]]},"775":{"position":[[98,17]]}},"keywords":{}}],["lt;data>",{"_index":4880,"title":{},"content":{"645":{"position":[[90,13]]}},"keywords":{}}],["lt;dotfiles>",{"_index":2413,"title":{},"content":{"235":{"position":[[1556,16]]}},"keywords":{}}],["lt;enabl",{"_index":5196,"title":{},"content":{"700":{"position":[[509,11]]}},"keywords":{}}],["lt;expect",{"_index":4981,"title":{},"content":{"657":{"position":[[356,12]]},"682":{"position":[[449,12]]},"686":{"position":[[355,12]]}},"keywords":{}}],["lt;green",{"_index":5193,"title":{},"content":{"700":{"position":[[385,9],[415,9]]}},"keywords":{}}],["lt;i",{"_index":5428,"title":{},"content":{"739":{"position":[[189,5]]},"746":{"position":[[351,5]]}},"keywords":{}}],["lt;interfac",{"_index":5289,"title":{},"content":{"711":{"position":[[135,13]]}},"keywords":{}}],["lt;item",{"_index":4972,"title":{},"content":{"656":{"position":[[402,8]]},"657":{"position":[[331,8]]},"660":{"position":[[121,8]]},"667":{"position":[[102,8]]},"681":{"position":[[716,8]]},"682":{"position":[[424,8]]},"685":{"position":[[338,8]]},"686":{"position":[[330,8]]},"690":{"position":[[186,8],[290,8]]},"691":{"position":[[145,8]]},"692":{"position":[[147,8]]},"699":{"position":[[148,8]]},"700":{"position":[[290,8]]}},"keywords":{}}],["lt;item>",{"_index":5068,"title":{},"content":{"669":{"position":[[433,12]]},"671":{"position":[[300,12]]}},"keywords":{}}],["lt;item>"",{"_index":5082,"title":{},"content":{"672":{"position":[[152,19]]}},"keywords":{}}],["lt;item_hash>",{"_index":5074,"title":{},"content":{"670":{"position":[[176,18]]}},"keywords":{}}],["lt;limit",{"_index":5194,"title":{},"content":{"700":{"position":[[446,10]]}},"keywords":{}}],["lt;match",{"_index":3369,"title":{},"content":{"350":{"position":[[238,9],[563,9],[893,9]]}},"keywords":{}}],["lt;method>",{"_index":5485,"title":{},"content":{"754":{"position":[[654,15]]}},"keywords":{}}],["lt;mode>__<cmd",{"_index":2277,"title":{},"content":{"227":{"position":[[2861,21],[3870,21]]}},"keywords":{}}],["lt;name>",{"_index":2318,"title":{},"content":{"229":{"position":[[150,13],[237,12]]},"230":{"position":[[239,12]]},"231":{"position":[[263,12]]},"232":{"position":[[295,12]]},"233":{"position":[[320,12]]}},"keywords":{}}],["lt;num",{"_index":5139,"title":{},"content":{"684":{"position":[[398,7]]},"688":{"position":[[284,7]]}},"keywords":{}}],["lt;output_dir>",{"_index":4023,"title":{},"content":{"452":{"position":[[256,18]]},"453":{"position":[[252,18]]}},"keywords":{}}],["lt;packet",{"_index":4907,"title":{},"content":{"648":{"position":[[124,10]]},"650":{"position":[[169,10]]},"656":{"position":[[382,10]]},"657":{"position":[[311,10]]},"660":{"position":[[101,10]]},"661":{"position":[[152,10]]},"662":{"position":[[267,10]]},"666":{"position":[[82,10]]},"667":{"position":[[82,10]]},"668":{"position":[[139,10]]},"681":{"position":[[696,10]]},"682":{"position":[[404,10]]},"685":{"position":[[318,10]]},"686":{"position":[[310,10]]},"690":{"position":[[166,10],[270,10]]},"691":{"position":[[125,10]]},"692":{"position":[[127,10]]},"699":{"position":[[127,10]]},"700":{"position":[[269,10]]}},"keywords":{}}],["lt;packet>",{"_index":5067,"title":{},"content":{"669":{"position":[[418,14]]},"671":{"position":[[285,14]]},"672":{"position":[[137,14]]}},"keywords":{}}],["lt;packet>"",{"_index":5105,"title":{},"content":{"677":{"position":[[103,21]]},"679":{"position":[[124,21]]}},"keywords":{}}],["lt;param",{"_index":4815,"title":{},"content":{"636":{"position":[[99,9],[121,9],[145,9],[167,9],[305,9],[361,9],[464,9],[486,9],[510,9],[532,9],[666,9],[717,9]]},"637":{"position":[[276,9],[298,9],[322,9],[344,9],[497,9],[553,9],[671,9],[693,9],[717,9],[739,9],[888,9],[939,9]]},"638":{"position":[[285,9],[307,9],[331,9],[353,9],[510,9],[566,9],[688,9],[710,9],[734,9],[756,9],[909,9],[960,9]]},"639":{"position":[[345,9],[367,9],[391,9],[413,9],[561,9],[617,9],[730,9],[752,9],[776,9],[798,9],[942,9],[993,9]]},"640":{"position":[[131,9],[153,9],[177,9],[199,9],[349,9],[413,9],[520,9],[542,9],[566,9],[588,9],[734,9],[793,9]]},"641":{"position":[[303,9],[325,9],[349,9],[371,9],[536,9],[600,9],[722,9],[744,9],[768,9],[790,9],[951,9],[1010,9]]},"642":{"position":[[312,9],[334,9],[358,9],[380,9],[549,9],[613,9],[739,9],[761,9],[785,9],[807,9],[972,9],[1031,9]]},"643":{"position":[[372,9],[394,9],[418,9],[440,9],[600,9],[664,9],[781,9],[803,9],[827,9],[849,9],[1005,9],[1064,9]]}},"keywords":{}}],["lt;paramet",{"_index":4915,"title":{},"content":{"649":{"position":[[128,13]]}},"keywords":{}}],["lt;password>",{"_index":4734,"title":{},"content":{"623":{"position":[[302,17]]},"624":{"position":[[268,17]]}},"keywords":{}}],["lt;persist",{"_index":5195,"title":{},"content":{"700":{"position":[[477,15]]}},"keywords":{}}],["lt;plugin.gem>",{"_index":4024,"title":{},"content":{"453":{"position":[[224,18]]}},"keywords":{}}],["lt;poll",{"_index":5123,"title":{},"content":{"681":{"position":[[777,11]]},"682":{"position":[[509,11]]},"683":{"position":[[513,11]]},"684":{"position":[[436,11]]},"685":{"position":[[399,11]]},"686":{"position":[[415,11]]},"687":{"position":[[448,11]]},"688":{"position":[[322,11]]}},"keywords":{}}],["lt;red",{"_index":5189,"title":{},"content":{"700":{"position":[[309,7],[367,7]]}},"keywords":{}}],["lt;router",{"_index":5348,"title":{},"content":{"720":{"position":[[99,10]]}},"keywords":{}}],["lt;script>",{"_index":3211,"title":{},"content":{"328":{"position":[[218,14]]}},"keywords":{}}],["lt;set",{"_index":5554,"title":{},"content":{"768":{"position":[[209,11]]},"769":{"position":[[213,11]]}},"keywords":{}}],["lt;source>",{"_index":3366,"title":{},"content":{"350":{"position":[[169,14]]}},"keywords":{}}],["lt;stash",{"_index":5397,"title":{},"content":{"730":{"position":[[85,9]]}},"keywords":{}}],["lt;store>",{"_index":3371,"title":{},"content":{"350":{"position":[[272,13],[506,13],[602,13],[836,13],[923,13],[1158,13]]}},"keywords":{}}],["lt;style",{"_index":3217,"title":{},"content":{"328":{"position":[[416,9]]}},"keywords":{}}],["lt;superdatawidget>",{"_index":2391,"title":{},"content":{"234":{"position":[[329,23]]}},"keywords":{}}],["lt;target>",{"_index":2372,"title":{},"content":{"232":{"position":[[280,14]]},"233":{"position":[[305,14]]}},"keywords":{}}],["lt;template>",{"_index":3209,"title":{},"content":{"328":{"position":[[146,16]]}},"keywords":{}}],["lt;timeout>",{"_index":5122,"title":{},"content":{"681":{"position":[[760,16]]},"682":{"position":[[492,16]]},"683":{"position":[[496,16]]},"684":{"position":[[419,16]]},"685":{"position":[[382,16]]},"686":{"position":[[398,16]]},"687":{"position":[[431,16]]},"688":{"position":[[305,16]]}},"keywords":{}}],["lt;token/password>",{"_index":1700,"title":{},"content":{"87":{"position":[[249,22]]}},"keywords":{}}],["lt;tolerance>",{"_index":4982,"title":{},"content":{"657":{"position":[[380,18]]},"682":{"position":[[473,18]]},"686":{"position":[[379,18]]}},"keywords":{}}],["lt;type>",{"_index":5019,"title":{},"content":{"662":{"position":[[294,13],[389,13]]},"669":{"position":[[469,13]]},"670":{"position":[[195,13]]},"671":{"position":[[336,13]]},"672":{"position":[[172,13]]}},"keywords":{}}],["lt;username>",{"_index":2993,"title":{},"content":{"313":{"position":[[240,17]]}},"keywords":{}}],["lt;valu",{"_index":4955,"title":{},"content":{"652":{"position":[[367,9]]}},"keywords":{}}],["lt;value>"",{"_index":5069,"title":{},"content":{"669":{"position":[[448,20]]},"671":{"position":[[315,20]]}},"keywords":{}}],["lt;x",{"_index":5427,"title":{},"content":{"739":{"position":[[158,5]]},"746":{"position":[[320,5]]}},"keywords":{}}],["lt;xtce_filename>",{"_index":4022,"title":{},"content":{"452":{"position":[[225,21]]}},"keywords":{}}],["lt;xxxxxx>",{"_index":2992,"title":{},"content":{"313":{"position":[[180,14]]}},"keywords":{}}],["lt;yellow",{"_index":5191,"title":{},"content":{"700":{"position":[[326,10],[346,10]]}},"keywords":{}}],["ltd",{"_index":430,"title":{},"content":{"20":{"position":[[620,6]]}},"keywords":{}}],["m",{"_index":1854,"title":{},"content":{"105":{"position":[[90,1],[159,1],[230,1]]}},"keywords":{}}],["mac",{"_index":2506,"title":{},"content":{"253":{"position":[[210,3]]},"289":{"position":[[246,4]]},"292":{"position":[[270,3]]},"347":{"position":[[1924,3]]}},"keywords":{}}],["machin",{"_index":1198,"title":{"288":{"position":[[33,9]]}},"content":{"49":{"position":[[256,7]]},"51":{"position":[[158,7],[235,7],[296,7],[367,7],[478,7]]},"287":{"position":[[143,7]]},"289":{"position":[[859,8]]},"297":{"position":[[1044,7]]},"325":{"position":[[61,7],[76,7],[96,7],[191,7]]},"338":{"position":[[1103,8],[2093,7]]},"357":{"position":[[986,8],[2454,7]]}},"keywords":{}}],["maco",{"_index":1572,"title":{"325":{"position":[[0,5]]}},"content":{"83":{"position":[[505,5]]},"289":{"position":[[1394,6]]},"324":{"position":[[3993,5],[4026,6]]},"325":{"position":[[577,5]]}},"keywords":{}}],["made",{"_index":535,"title":{},"content":{"24":{"position":[[234,4]]},"253":{"position":[[3233,4]]},"306":{"position":[[183,4]]},"336":{"position":[[23,4]]},"359":{"position":[[813,5]]},"366":{"position":[[431,4]]},"373":{"position":[[111,4],[174,4],[322,4]]},"383":{"position":[[111,4],[174,4],[322,4]]}},"keywords":{}}],["mail",{"_index":4145,"title":{},"content":{"468":{"position":[[203,8]]}},"keywords":{}}],["main",{"_index":503,"title":{},"content":{"22":{"position":[[518,5]]},"99":{"position":[[2089,4]]},"110":{"position":[[188,4]]},"237":{"position":[[5,4]]},"240":{"position":[[894,4]]},"324":{"position":[[2735,4],[2747,5],[3015,4]]},"485":{"position":[[416,4]]},"528":{"position":[[102,4],[427,4],[575,4]]},"578":{"position":[[5,4]]},"600":{"position":[[295,4]]},"617":{"position":[[169,4]]}},"keywords":{}}],["maintain",{"_index":1157,"title":{},"content":{"46":{"position":[[510,8]]},"71":{"position":[[620,9]]},"299":{"position":[[1146,8]]},"474":{"position":[[279,13]]},"480":{"position":[[213,8]]},"600":{"position":[[594,8]]},"671":{"position":[[103,10]]}},"keywords":{}}],["major",{"_index":2895,"title":{},"content":{"304":{"position":[[1255,5]]}},"keywords":{}}],["make",{"_index":89,"title":{},"content":{"3":{"position":[[92,4],[742,4]]},"24":{"position":[[538,5]]},"43":{"position":[[162,4]]},"46":{"position":[[1208,4]]},"49":{"position":[[375,4],[499,4]]},"57":{"position":[[194,6]]},"63":{"position":[[1875,4]]},"69":{"position":[[3382,5],[3691,5],[4292,5],[4682,5]]},"184":{"position":[[112,4]]},"208":{"position":[[175,4]]},"229":{"position":[[998,4]]},"240":{"position":[[615,4]]},"243":{"position":[[190,4]]},"253":{"position":[[2567,4],[4595,4],[8348,4]]},"254":{"position":[[1805,4]]},"273":{"position":[[174,4]]},"295":{"position":[[100,4]]},"318":{"position":[[556,4],[570,4],[579,4]]},"322":{"position":[[1028,4],[1724,4]]},"324":{"position":[[343,6],[3723,4]]},"331":{"position":[[554,4]]},"337":{"position":[[85,4]]},"341":{"position":[[195,4]]},"347":{"position":[[447,4],[1151,4],[1432,4],[1644,4]]},"362":{"position":[[710,4]]},"364":{"position":[[1449,6]]},"403":{"position":[[777,4]]},"406":{"position":[[362,4]]},"407":{"position":[[508,4]]},"408":{"position":[[382,4]]},"409":{"position":[[385,4]]},"410":{"position":[[659,4]]},"415":{"position":[[351,4]]},"416":{"position":[[354,4]]},"417":{"position":[[628,4]]},"427":{"position":[[590,4]]},"429":{"position":[[461,4]]},"448":{"position":[[214,4]]},"449":{"position":[[729,4]]},"461":{"position":[[487,4]]},"470":{"position":[[7,4]]},"471":{"position":[[135,4]]},"476":{"position":[[224,4],[249,5]]},"478":{"position":[[994,4]]},"483":{"position":[[187,4],[471,6]]},"485":{"position":[[52,5]]},"486":{"position":[[77,5],[266,4]]},"488":{"position":[[2287,4],[2435,4],[2568,4]]},"500":{"position":[[85,4],[127,4]]},"504":{"position":[[723,5]]},"505":{"position":[[467,4]]},"528":{"position":[[592,4],[1012,4]]},"632":{"position":[[379,4]]},"700":{"position":[[796,4],[926,4],[1059,4],[1163,4],[1275,4],[1425,4]]}},"keywords":{}}],["makefil",{"_index":3021,"title":{},"content":{"318":{"position":[[500,8]]}},"keywords":{}}],["malform",{"_index":1312,"title":{},"content":{"57":{"position":[[252,9]]}},"keywords":{}}],["manag",{"_index":612,"title":{"334":{"position":[[14,11]]},"580":{"position":[[6,7]]},"593":{"position":[[14,11]]},"601":{"position":[[13,11]]}},"content":{"31":{"position":[[87,8]]},"36":{"position":[[10548,7]]},"243":{"position":[[122,10],[241,10]]},"311":{"position":[[64,8]]},"331":{"position":[[508,7]]},"334":{"position":[[36,6]]},"351":{"position":[[273,6]]},"363":{"position":[[726,8]]},"528":{"position":[[169,7],[199,7],[304,7]]},"581":{"position":[[7,7]]},"583":{"position":[[247,7]]},"584":{"position":[[7,7],[130,8]]}},"keywords":{}}],["mani",{"_index":545,"title":{},"content":{"24":{"position":[[611,4]]},"44":{"position":[[1257,4]]},"123":{"position":[[253,4]]},"176":{"position":[[231,4]]},"251":{"position":[[261,4]]},"298":{"position":[[833,4]]},"363":{"position":[[449,4],[477,4]]},"476":{"position":[[11,4]]},"479":{"position":[[50,4]]},"482":{"position":[[1462,4]]},"485":{"position":[[35,4]]},"511":{"position":[[193,4]]},"514":{"position":[[968,4]]},"616":{"position":[[122,4]]},"619":{"position":[[76,4]]},"669":{"position":[[334,4]]},"770":{"position":[[1,4]]}},"keywords":{}}],["manifest",{"_index":2778,"title":{},"content":{"289":{"position":[[1135,8]]}},"keywords":{}}],["manipul",{"_index":5259,"title":{},"content":{"708":{"position":[[33,10]]},"719":{"position":[[33,10]]}},"keywords":{}}],["manner",{"_index":2325,"title":{},"content":{"229":{"position":[[544,6]]},"459":{"position":[[477,6],[605,6],[1769,6]]},"470":{"position":[[259,6]]}},"keywords":{}}],["manual",{"_index":1964,"title":{"496":{"position":[[22,6]]}},"content":{"133":{"position":[[249,8]]},"176":{"position":[[436,8]]},"257":{"position":[[1832,9]]},"301":{"position":[[304,6],[1263,6],[1418,8]]},"303":{"position":[[1056,8],[1116,8]]},"304":{"position":[[6808,6],[6870,6]]},"495":{"position":[[53,6]]},"496":{"position":[[284,6],[418,7],[502,6],[599,7],[684,8],[1045,8],[1072,7]]},"513":{"position":[[649,8]]},"540":{"position":[[780,6]]},"555":{"position":[[184,8],[303,8]]},"575":{"position":[[264,8]]},"577":{"position":[[256,8]]},"605":{"position":[[373,8]]},"612":{"position":[[943,7],[993,7],[1149,6]]},"669":{"position":[[272,8]]}},"keywords":{}}],["map",{"_index":1791,"title":{},"content":{"99":{"position":[[518,3],[4325,3],[4345,3],[4673,3],[5153,3],[5190,3],[5204,7]]},"125":{"position":[[1,4],[94,3]]},"126":{"position":[[16,4],[136,3]]},"127":{"position":[[16,4],[139,3]]},"404":{"position":[[1004,3]]},"411":{"position":[[936,3]]},"442":{"position":[[1267,3]]},"444":{"position":[[1192,3]]},"540":{"position":[[52,6]]},"716":{"position":[[1,3],[379,3],[474,3]]}},"keywords":{}}],["map_cmd_target",{"_index":1947,"title":{"126":{"position":[[0,15]]}},"content":{"126":{"position":[[269,14],[465,14]]}},"keywords":{}}],["map_target",{"_index":1945,"title":{"125":{"position":[[0,11]]}},"content":{"125":{"position":[[228,10],[372,10]]},"134":{"position":[[805,10],[1094,10]]},"230":{"position":[[2719,10]]},"253":{"position":[[6903,10],[8141,10]]},"320":{"position":[[1155,10]]},"338":{"position":[[259,12]]}},"keywords":{}}],["map_target_to_interfac",{"_index":5329,"title":{"716":{"position":[[0,24]]}},"content":{},"keywords":{}}],["map_target_to_interface("<target",{"_index":5330,"title":{},"content":{"716":{"position":[[128,40]]}},"keywords":{}}],["map_target_to_interface("inst"",{"_index":5335,"title":{},"content":{"716":{"position":[[647,41],[748,41]]}},"keywords":{}}],["map_tlm_target",{"_index":1950,"title":{"127":{"position":[[0,15]]}},"content":{"127":{"position":[[272,14],[471,14]]}},"keywords":{}}],["margin",{"_index":3751,"title":{"377":{"position":[[0,7]]}},"content":{"377":{"position":[[17,6],[25,6],[321,6]]},"386":{"position":[[295,6]]},"387":{"position":[[263,6],[270,6]]},"388":{"position":[[143,6]]},"389":{"position":[[221,6],[228,6]]},"390":{"position":[[182,6],[189,6]]},"391":{"position":[[243,6],[250,6]]}},"keywords":{}}],["mark",{"_index":653,"title":{},"content":{"35":{"position":[[1060,4],[1591,4]]},"36":{"position":[[1584,5]]},"37":{"position":[[853,4],[1384,4]]},"93":{"position":[[1346,6]]},"201":{"position":[[1089,4],[1620,4]]},"202":{"position":[[1584,5]]},"203":{"position":[[872,4],[1403,4]]},"204":{"position":[[1764,4]]},"205":{"position":[[1600,4]]},"222":{"position":[[17,5]]},"223":{"position":[[17,5]]},"267":{"position":[[1579,5]]},"281":{"position":[[17,5]]},"343":{"position":[[610,4]]},"355":{"position":[[846,4]]},"371":{"position":[[27,6],[230,6],[409,7]]},"528":{"position":[[1495,4]]},"534":{"position":[[562,6]]},"607":{"position":[[331,6]]},"759":{"position":[[24,4]]}},"keywords":{}}],["markdown",{"_index":2340,"title":{},"content":{"229":{"position":[[1397,8]]},"253":{"position":[[892,10]]}},"keywords":{}}],["marker",{"_index":1790,"title":{},"content":{"99":{"position":[[503,6],[4006,6],[4264,6],[4313,6]]}},"keywords":{}}],["market",{"_index":4128,"title":{},"content":{"466":{"position":[[598,9],[696,9],[773,9],[939,9]]}},"keywords":{}}],["master",{"_index":2986,"title":{},"content":{"313":{"position":[[91,6]]}},"keywords":{}}],["match",{"_index":2059,"title":{},"content":{"170":{"position":[[184,5],[212,6]]},"183":{"position":[[190,5],[218,6]]},"193":{"position":[[182,5],[210,6]]},"196":{"position":[[184,5],[212,6]]},"204":{"position":[[226,5],[1244,5]]},"205":{"position":[[226,5],[1080,5]]},"253":{"position":[[288,5],[5741,7],[6186,5]]},"260":{"position":[[70,7],[265,8]]},"267":{"position":[[2673,5]]},"269":{"position":[[155,5]]},"290":{"position":[[855,5]]},"313":{"position":[[205,8]]},"315":{"position":[[223,5]]},"320":{"position":[[1292,5],[1347,5]]},"322":{"position":[[1084,5]]},"338":{"position":[[937,5]]},"370":{"position":[[156,7]]},"404":{"position":[[1101,5]]},"411":{"position":[[1033,5]]},"476":{"position":[[1601,5]]},"627":{"position":[[1137,5]]}},"keywords":{}}],["match).next",{"_index":2549,"title":{},"content":{"253":{"position":[[5799,11]]}},"keywords":{}}],["materi",{"_index":2095,"title":{},"content":{"189":{"position":[[190,8]]},"235":{"position":[[1764,8]]}},"keywords":{}}],["math",{"_index":3708,"title":{},"content":{"364":{"position":[[1611,4]]}},"keywords":{}}],["matlab",{"_index":4478,"title":{},"content":{"550":{"position":[[260,7]]},"553":{"position":[[49,6]]}},"keywords":{}}],["matrix",{"_index":3781,"title":{},"content":{"390":{"position":[[38,6]]}},"keywords":{}}],["matrixbycolumn",{"_index":3780,"title":{"390":{"position":[[0,16]]}},"content":{"390":{"position":[[50,15],[251,15]]}},"keywords":{}}],["matter",{"_index":294,"title":{},"content":{"8":{"position":[[448,7]]},"9":{"position":[[1025,6]]},"230":{"position":[[1015,6]]},"291":{"position":[[1124,6]]},"364":{"position":[[1351,7]]},"593":{"position":[[201,6]]},"601":{"position":[[195,6]]},"607":{"position":[[38,6]]}},"keywords":{}}],["max",{"_index":883,"title":{},"content":{"40":{"position":[[976,3],[1121,3],[1256,3]]},"42":{"position":[[579,3]]},"43":{"position":[[931,3],[1053,3],[1127,3],[6339,3]]},"61":{"position":[[2283,3]]},"64":{"position":[[599,3]]},"99":{"position":[[329,3],[2666,3]]},"201":{"position":[[2061,3]]},"227":{"position":[[3328,4]]},"253":{"position":[[2831,3],[3008,3],[4118,3]]},"254":{"position":[[1429,3],[1608,3]]},"321":{"position":[[378,3]]},"382":{"position":[[101,3]]},"418":{"position":[[505,4],[1232,4]]},"419":{"position":[[539,4],[1285,4]]},"420":{"position":[[523,4],[1257,4]]},"599":{"position":[[1116,3],[1181,3]]}},"keywords":{}}],["max_uint16",{"_index":3069,"title":{},"content":{"321":{"position":[[562,10],[1422,10],[1954,10],[2454,10]]}},"keywords":{}}],["max_uint8",{"_index":3078,"title":{},"content":{"321":{"position":[[806,9],[1686,9],[2191,9],[2691,9]]}},"keywords":{}}],["maximum",{"_index":652,"title":{},"content":{"35":{"position":[[914,7],[928,7]]},"36":{"position":[[2453,7],[2512,7],[10024,7],[10139,7]]},"37":{"position":[[707,7],[721,7]]},"61":{"position":[[2298,7],[2351,7]]},"64":{"position":[[614,7],[667,7]]},"147":{"position":[[91,7]]},"148":{"position":[[113,7]]},"150":{"position":[[98,7]]},"151":{"position":[[120,7]]},"154":{"position":[[93,7]]},"155":{"position":[[115,7]]},"157":{"position":[[100,7]]},"158":{"position":[[122,7]]},"167":{"position":[[1,7]]},"201":{"position":[[943,7],[957,7]]},"202":{"position":[[2453,7],[2512,7],[10024,7],[10139,7]]},"203":{"position":[[726,7],[740,7]]},"204":{"position":[[1113,7],[1127,7]]},"205":{"position":[[949,7],[963,7]]},"253":{"position":[[3664,7],[3872,7],[4101,7],[4564,7]]},"391":{"position":[[175,7]]},"410":{"position":[[351,7]]},"417":{"position":[[320,7]]},"423":{"position":[[330,7]]},"599":{"position":[[1314,7]]},"649":{"position":[[1378,10]]},"676":{"position":[[352,7]]},"703":{"position":[[310,7]]},"750":{"position":[[22,7]]},"751":{"position":[[21,7]]}},"keywords":{}}],["maximum_valu",{"_index":706,"title":{},"content":{"36":{"position":[[2416,14]]},"202":{"position":[[2416,14]]}},"keywords":{}}],["mb",{"_index":3438,"title":{},"content":{"355":{"position":[[238,2],[278,3],[327,2],[383,2],[564,2],[593,2],[630,2]]}},"keywords":{}}],["mdi",{"_index":2417,"title":{},"content":{"235":{"position":[[1858,3]]}},"keywords":{}}],["mean",{"_index":442,"title":{},"content":{"20":{"position":[[853,6]]},"60":{"position":[[1438,5]]},"69":{"position":[[1847,5],[2632,5],[2729,5]]},"75":{"position":[[886,5],[1278,5]]},"240":{"position":[[285,5]]},"253":{"position":[[3162,5],[4046,8],[4248,7],[4414,8],[7985,5]]},"289":{"position":[[1496,5]]},"363":{"position":[[115,5]]},"364":{"position":[[269,5]]},"402":{"position":[[576,5]]},"488":{"position":[[50,5]]},"508":{"position":[[145,9]]},"577":{"position":[[508,5]]},"585":{"position":[[823,5],[899,5]]},"612":{"position":[[539,5]]},"628":{"position":[[479,5]]}},"keywords":{}}],["meant",{"_index":2491,"title":{},"content":{"249":{"position":[[454,5]]},"331":{"position":[[482,5]]},"364":{"position":[[732,5],[1657,5]]}},"keywords":{}}],["measur",{"_index":4052,"title":{},"content":{"459":{"position":[[110,8],[1654,8],[1995,10]]},"464":{"position":[[141,8],[431,8]]}},"keywords":{}}],["mech",{"_index":4511,"title":{},"content":{"577":{"position":[[442,6]]}},"keywords":{}}],["mechan",{"_index":2869,"title":{},"content":{"303":{"position":[[878,9]]},"304":{"position":[[955,10]]},"305":{"position":[[562,9],[742,9]]},"482":{"position":[[1008,10]]},"505":{"position":[[144,10]]}},"keywords":{}}],["meet",{"_index":3576,"title":{},"content":{"357":{"position":[[4052,4]]},"681":{"position":[[104,5]]},"682":{"position":[[89,5]]},"685":{"position":[[117,5]]}},"keywords":{}}],["mem",{"_index":3492,"title":{},"content":{"357":{"position":[[1114,3],[2605,3]]}},"keywords":{}}],["memcosmo",{"_index":3493,"title":{},"content":{"357":{"position":[[1125,9],[2616,9]]}},"keywords":{}}],["memori",{"_index":2487,"title":{"355":{"position":[[0,7]]}},"content":{"249":{"position":[[16,6]]},"261":{"position":[[232,6]]},"289":{"position":[[521,6],[658,7]]},"309":{"position":[[139,6]]},"355":{"position":[[839,6],[1157,6]]},"357":{"position":[[91,7],[1059,6],[1897,6],[1983,6],[2550,6],[3387,6],[3901,6]]},"418":{"position":[[1765,6]]},"419":{"position":[[1818,6]]},"420":{"position":[[1790,6]]},"528":{"position":[[619,6]]}},"keywords":{}}],["memory=16gb",{"_index":2774,"title":{},"content":{"289":{"position":[[875,11]]}},"keywords":{}}],["mention",{"_index":1472,"title":{},"content":{"69":{"position":[[3600,9]]},"304":{"position":[[2051,9]]}},"keywords":{}}],["menu",{"_index":2082,"title":{"531":{"position":[[15,6]]},"532":{"position":[[5,4]]},"537":{"position":[[29,6]]},"538":{"position":[[5,4]]},"551":{"position":[[15,6]]},"552":{"position":[[5,4]]},"553":{"position":[[5,4]]},"562":{"position":[[12,6]]},"563":{"position":[[5,4]]},"569":{"position":[[14,6]]},"570":{"position":[[5,4]]},"571":{"position":[[5,4]]},"576":{"position":[[15,6]]},"577":{"position":[[5,4]]},"582":{"position":[[5,4]]},"589":{"position":[[5,4]]},"597":{"position":[[18,6]]},"598":{"position":[[5,4]]},"599":{"position":[[6,4]]},"604":{"position":[[14,6]]},"605":{"position":[[5,4]]},"606":{"position":[[7,4]]}},"content":{"184":{"position":[[457,4]]},"189":{"position":[[74,5]]},"190":{"position":[[102,5]]},"191":{"position":[[74,5]]},"303":{"position":[[560,6]]},"304":{"position":[[3783,5]]},"305":{"position":[[362,6],[701,5],[869,5],[1550,5]]},"307":{"position":[[448,4]]},"490":{"position":[[297,5]]},"493":{"position":[[172,5]]},"525":{"position":[[394,4]]},"534":{"position":[[226,4]]},"538":{"position":[[42,4]]},"572":{"position":[[105,5]]},"609":{"position":[[145,6]]},"610":{"position":[[311,5],[916,5]]},"611":{"position":[[656,5],[768,6]]},"617":{"position":[[212,4]]}},"keywords":{}}],["merchant",{"_index":3639,"title":{},"content":{"360":{"position":[[830,16]]}},"keywords":{}}],["merg",{"_index":289,"title":{},"content":{"8":{"position":[[274,5]]},"9":{"position":[[295,6],[624,6]]},"449":{"position":[[45,6],[613,7]]}},"keywords":{}}],["messag",{"_index":112,"title":{"544":{"position":[[4,9]]}},"content":{"3":{"position":[[459,8]]},"36":{"position":[[1301,8],[3144,8]]},"63":{"position":[[97,8]]},"69":{"position":[[5036,8]]},"95":{"position":[[110,8]]},"108":{"position":[[205,7],[376,7]]},"202":{"position":[[1301,8],[3144,8]]},"211":{"position":[[161,8]]},"212":{"position":[[43,9]]},"231":{"position":[[877,8]]},"254":{"position":[[2349,7]]},"267":{"position":[[1296,8],[7962,7]]},"291":{"position":[[618,8]]},"297":{"position":[[1157,7],[1197,8]]},"299":{"position":[[1250,7]]},"304":{"position":[[276,8],[2960,7]]},"309":{"position":[[164,7]]},"320":{"position":[[688,9]]},"344":{"position":[[134,8],[325,8],[369,8],[402,8]]},"345":{"position":[[507,8],[555,8],[642,8]]},"466":{"position":[[891,8]]},"490":{"position":[[830,7],[979,7]]},"493":{"position":[[309,7]]},"497":{"position":[[291,7]]},"501":{"position":[[147,7]]},"536":{"position":[[421,8],[445,9]]},"538":{"position":[[304,8],[340,8]]},"544":{"position":[[9,8],[116,8],[391,8]]},"613":{"position":[[92,9],[169,9]]},"617":{"position":[[1232,9]]},"627":{"position":[[71,7],[497,7]]},"632":{"position":[[988,7],[1000,7],[1559,7],[1953,7]]},"634":{"position":[[12,7],[165,7]]}},"keywords":{}}],["message_box",{"_index":4343,"title":{"625":{"position":[[0,12]]}},"content":{"495":{"position":[[1129,13]]},"627":{"position":[[5,12]]}},"keywords":{}}],["message_box("<message>"",{"_index":4741,"title":{},"content":{"627":{"position":[[213,40]]}},"keywords":{}}],["message_box("select",{"_index":4749,"title":{},"content":{"627":{"position":[[607,24],[922,24]]}},"keywords":{}}],["messages.port_tc",{"_index":3127,"title":{},"content":{"322":{"position":[[1229,16]]}},"keywords":{}}],["meta",{"_index":670,"title":{"213":{"position":[[0,5]]},"275":{"position":[[0,5]]}},"content":{"36":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"202":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"213":{"position":[[42,4],[297,4],[350,4],[383,4]]},"267":{"position":[[612,5],[648,4],[903,4],[956,4],[989,4]]},"275":{"position":[[51,4],[306,4],[359,4],[392,4]]}},"keywords":{}}],["metadata",{"_index":672,"title":{"525":{"position":[[0,9]]},"759":{"position":[[0,9]]}},"content":{"36":{"position":[[643,8],[885,8]]},"202":{"position":[[643,8],[885,8]]},"213":{"position":[[8,8],[274,8]]},"267":{"position":[[638,8],[880,8]]},"275":{"position":[[8,8],[283,8]]},"522":{"position":[[21,9]]},"525":{"position":[[1,8],[260,8],[357,8],[472,8],[507,8],[624,8]]},"759":{"position":[[1,8],[106,8]]},"760":{"position":[[17,8],[128,8]]},"761":{"position":[[9,8],[158,8]]},"762":{"position":[[9,8],[187,9],[243,9],[309,8]]},"763":{"position":[[9,8],[191,9],[248,9],[276,9],[326,8]]},"764":{"position":[[34,8]]}},"keywords":{}}],["metadata_al",{"_index":5501,"title":{"760":{"position":[[0,13]]}},"content":{"760":{"position":[[74,14]]}},"keywords":{}}],["metadata_all(limit",{"_index":5502,"title":{},"content":{"760":{"position":[[186,19]]}},"keywords":{}}],["metadata_all(limit='500",{"_index":5504,"title":{},"content":{"760":{"position":[[230,25]]}},"keywords":{}}],["metadata_get",{"_index":5505,"title":{"761":{"position":[[0,13]]}},"content":{},"keywords":{}}],["metadata_get(start",{"_index":5506,"title":{},"content":{"761":{"position":[[66,19],[213,19]]}},"keywords":{}}],["metadata_get(start='500",{"_index":5508,"title":{},"content":{"761":{"position":[[257,25]]}},"keywords":{}}],["metadata_input",{"_index":5517,"title":{"764":{"position":[[0,15]]}},"content":{"764":{"position":[[109,16]]}},"keywords":{}}],["metadata_set",{"_index":5509,"title":{"762":{"position":[[0,13]]}},"content":{"762":{"position":[[371,14],[409,14],[484,14],[517,14]]}},"keywords":{}}],["metadata_set(<metadata>",{"_index":5510,"title":{},"content":{"762":{"position":[[66,30]]}},"keywords":{}}],["metadata_upd",{"_index":5515,"title":{"763":{"position":[[0,16]]}},"content":{"763":{"position":[[388,17],[448,17]]}},"keywords":{}}],["metadata_update(<metadata>",{"_index":5516,"title":{},"content":{"763":{"position":[[66,33]]}},"keywords":{}}],["metadatashow",{"_index":4581,"title":{},"content":{"606":{"position":[[78,12]]}},"keywords":{}}],["meter",{"_index":4175,"title":{},"content":{"476":{"position":[[1376,6]]}},"keywords":{}}],["method",{"_index":240,"title":{"70":{"position":[[0,6]]},"90":{"position":[[10,8]]},"486":{"position":[[22,8]]},"487":{"position":[[26,8]]}},"content":{"7":{"position":[[19,6],[352,6]]},"17":{"position":[[316,7]]},"18":{"position":[[321,7]]},"36":{"position":[[4250,6],[4321,7],[4850,6],[8842,6]]},"53":{"position":[[109,8]]},"69":{"position":[[771,7],[866,6],[929,7],[1657,8],[1696,7],[2018,6],[2108,7],[2353,7],[2499,6],[2871,6],[3041,7],[3138,7],[3234,7],[3247,6],[3417,7],[3549,6],[3971,6],[3997,6],[4349,8],[4441,7],[4471,6],[4716,8],[4793,7],[4852,6],[4961,6]]},"71":{"position":[[891,6]]},"72":{"position":[[11,6],[117,6],[233,8]]},"73":{"position":[[19,6],[311,6]]},"74":{"position":[[22,6],[326,6]]},"75":{"position":[[15,6],[1711,6]]},"76":{"position":[[17,6],[629,6]]},"77":{"position":[[18,6]]},"78":{"position":[[16,6]]},"79":{"position":[[26,6],[114,6],[661,7]]},"80":{"position":[[18,6]]},"81":{"position":[[88,7]]},"90":{"position":[[13,7],[160,7],[246,6],[306,7],[353,7],[579,7]]},"93":{"position":[[15,7],[122,6],[202,6],[286,6],[368,6],[1280,7],[1437,7]]},"94":{"position":[[15,7],[103,6],[180,6],[257,6],[341,6]]},"109":{"position":[[84,6]]},"123":{"position":[[195,7]]},"135":{"position":[[97,7]]},"202":{"position":[[4250,6],[4321,7],[4850,6],[8842,6]]},"224":{"position":[[163,7]]},"230":{"position":[[1624,7],[1756,7]]},"232":{"position":[[753,6]]},"233":{"position":[[800,6]]},"259":{"position":[[1637,6]]},"267":{"position":[[3199,6],[3270,7]]},"283":{"position":[[329,6]]},"303":{"position":[[33,6]]},"304":{"position":[[1947,8],[1968,7],[2909,7],[3073,6],[5379,7],[5545,7]]},"309":{"position":[[83,7]]},"324":{"position":[[165,7]]},"384":{"position":[[60,6],[324,7]]},"429":{"position":[[342,7],[1315,7]]},"457":{"position":[[205,7]]},"464":{"position":[[620,7]]},"476":{"position":[[1408,6],[4222,7],[4324,6],[4925,6]]},"479":{"position":[[120,6]]},"480":{"position":[[528,7],[819,7],[1300,7]]},"482":{"position":[[215,7],[732,9]]},"483":{"position":[[499,7],[529,6]]},"485":{"position":[[40,8],[289,7]]},"486":{"position":[[35,7],[69,7],[194,7],[252,6],[276,6]]},"487":{"position":[[79,7],[152,7],[319,8],[401,6]]},"488":{"position":[[1105,6],[2108,7]]},"490":{"position":[[770,8]]},"495":{"position":[[35,7],[105,7],[1067,7],[1209,7]]},"499":{"position":[[136,7]]},"500":{"position":[[162,6]]},"504":{"position":[[116,6]]},"508":{"position":[[98,7],[358,7]]},"548":{"position":[[523,7]]},"610":{"position":[[30,7],[78,7],[816,7],[836,7],[965,7]]},"611":{"position":[[101,7],[576,7]]},"619":{"position":[[15,7],[171,7]]},"620":{"position":[[19,7],[88,7],[139,6]]},"621":{"position":[[19,7],[151,6]]},"622":{"position":[[7,7]]},"627":{"position":[[54,7]]},"632":{"position":[[44,7],[240,8]]},"633":{"position":[[7,7]]},"635":{"position":[[7,7]]},"655":{"position":[[7,7]]},"658":{"position":[[109,6]]},"659":{"position":[[12,6],[65,6],[300,6],[336,6],[369,6]]},"669":{"position":[[165,6]]},"671":{"position":[[219,7]]},"674":{"position":[[1,7]]},"680":{"position":[[7,7]]},"683":{"position":[[135,6]]},"687":{"position":[[131,6]]},"689":{"position":[[7,7]]},"690":{"position":[[21,6]]},"704":{"position":[[1,7]]},"708":{"position":[[7,7]]},"719":{"position":[[7,7]]},"729":{"position":[[7,7]]},"735":{"position":[[7,7]]},"738":{"position":[[7,7]]},"747":{"position":[[7,7]]},"748":{"position":[[6,6]]},"749":{"position":[[5,6]]},"750":{"position":[[6,6]]},"751":{"position":[[5,6]]},"754":{"position":[[16,7],[52,6],[78,7],[125,7],[189,6],[216,6],[274,6],[304,6],[354,6],[380,6],[430,6],[891,6],[910,6],[994,7]]},"755":{"position":[[7,7]]}},"keywords":{}}],["methodolog",{"_index":2888,"title":{},"content":{"304":{"position":[[598,11]]}},"keywords":{}}],["metric",{"_index":2445,"title":{},"content":{"240":{"position":[[1639,7],[1676,7]]},"350":{"position":[[379,6]]},"352":{"position":[[20,7],[628,7]]},"357":{"position":[[1557,7],[3047,7]]},"543":{"position":[[39,8]]}},"keywords":{}}],["metric>",{"_index":3370,"title":{},"content":{"350":{"position":[[248,12]]}},"keywords":{}}],["metrics_path",{"_index":3419,"title":{},"content":{"352":{"position":[[636,13],[787,13],[935,13],[1074,13]]}},"keywords":{}}],["mib",{"_index":3452,"title":{},"content":{"355":{"position":[[1015,3],[1183,4]]}},"keywords":{}}],["micro",{"_index":2474,"title":{},"content":{"246":{"position":[[192,5]]}},"keywords":{}}],["microsecond",{"_index":2637,"title":{},"content":{"263":{"position":[[1167,12]]}},"keywords":{}}],["microservic",{"_index":33,"title":{"118":{"position":[[0,13]]},"171":{"position":[[0,13]]},"172":{"position":[[0,12]]},"231":{"position":[[0,12]]}},"content":{"2":{"position":[[46,12],[111,13],[373,14]]},"11":{"position":[[67,13],[190,13]]},"112":{"position":[[447,13]]},"118":{"position":[[1,13]]},"137":{"position":[[52,13]]},"138":{"position":[[73,12],[124,12],[200,12],[292,12],[343,12],[419,12]]},"139":{"position":[[34,12]]},"140":{"position":[[51,13],[102,13],[193,13]]},"141":{"position":[[68,12]]},"142":{"position":[[57,12]]},"166":{"position":[[29,12]]},"168":{"position":[[32,12],[349,12]]},"169":{"position":[[181,12]]},"171":{"position":[[15,12],[39,12],[95,13],[257,12],[338,12],[398,12],[454,12]]},"172":{"position":[[38,12]]},"173":{"position":[[37,13],[172,12]]},"174":{"position":[[57,12],[108,12],[184,12],[276,12],[327,12],[403,12],[447,12]]},"175":{"position":[[35,12],[267,12]]},"176":{"position":[[61,13],[91,13],[363,12],[398,12]]},"177":{"position":[[64,13],[98,13],[217,13],[310,12],[345,12]]},"178":{"position":[[36,13],[86,13],[177,13],[212,12],[294,12]]},"179":{"position":[[23,12],[81,13],[246,13]]},"180":{"position":[[52,12]]},"181":{"position":[[47,12],[88,12]]},"182":{"position":[[57,12],[243,12]]},"183":{"position":[[80,12]]},"184":{"position":[[245,14]]},"231":{"position":[[5,12],[69,13],[217,12],[250,12],[340,12],[364,12],[575,13],[671,13],[703,13],[826,12],[987,13],[1189,13],[1204,12],[1239,12]]},"240":{"position":[[952,13]]},"253":{"position":[[1006,13]]},"257":{"position":[[1751,13]]},"298":{"position":[[137,12],[202,13],[464,14]]},"311":{"position":[[466,14],[527,13],[565,12]]},"343":{"position":[[467,12]]},"344":{"position":[[165,13],[215,14]]},"356":{"position":[[106,13]]},"484":{"position":[[236,13]]},"517":{"position":[[366,13]]},"528":{"position":[[48,12],[82,12]]}},"keywords":{}}],["microservices/background/background.rb",{"_index":2366,"title":{},"content":{"231":{"position":[[770,38]]}},"keywords":{}}],["microservices/microservicefoldernam",{"_index":2063,"title":{},"content":{"171":{"position":[[296,36]]}},"keywords":{}}],["middl",{"_index":4316,"title":{},"content":{"488":{"position":[[2041,6]]},"578":{"position":[[900,8]]}},"keywords":{}}],["midnight",{"_index":1816,"title":{},"content":{"99":{"position":[[2836,10],[3270,10]]},"227":{"position":[[4347,9]]}},"keywords":{}}],["midnight)"",{"_index":2725,"title":{},"content":{"285":{"position":[[782,15]]}},"keywords":{}}],["migrat",{"_index":2595,"title":{"257":{"position":[[0,9]]},"620":{"position":[[0,9]]},"621":{"position":[[0,9]]}},"content":{"257":{"position":[[615,9],[1043,9],[1167,7],[1402,7],[1708,9]]}},"keywords":{}}],["million",{"_index":3660,"title":{},"content":{"362":{"position":[[36,8]]}},"keywords":{}}],["millisecond",{"_index":2731,"title":{},"content":{"285":{"position":[[920,11]]},"299":{"position":[[821,11]]},"321":{"position":[[3216,12]]},"676":{"position":[[247,12]]}},"keywords":{}}],["min",{"_index":882,"title":{},"content":{"40":{"position":[[972,3],[1117,3],[1252,3]]},"133":{"position":[[433,4]]},"201":{"position":[[2057,3]]},"227":{"position":[[3323,4]]},"253":{"position":[[2827,3],[3004,3],[4042,3]]},"254":{"position":[[1425,3],[1604,3]]},"315":{"position":[[383,5]]},"321":{"position":[[370,3]]},"328":{"position":[[982,3],[1126,3],[1277,3]]},"355":{"position":[[724,3]]},"418":{"position":[[500,4],[1227,4]]},"419":{"position":[[534,4],[1280,4]]},"420":{"position":[[518,4],[1252,4]]},"599":{"position":[[1106,3],[1171,3]]}},"keywords":{}}],["min_uint16",{"_index":3092,"title":{},"content":{"321":{"position":[[1411,10],[1943,10],[2443,10]]}},"keywords":{}}],["min_uint8",{"_index":3077,"title":{},"content":{"321":{"position":[[796,9],[1676,9],[1696,9],[2181,9],[2201,9],[2681,9],[2701,9]]}},"keywords":{}}],["minicomput",{"_index":3300,"title":{},"content":{"347":{"position":[[53,12]]}},"keywords":{}}],["minim",{"_index":4555,"title":{},"content":{"593":{"position":[[561,9],[723,9]]},"601":{"position":[[863,9]]}},"keywords":{}}],["minimum",{"_index":651,"title":{},"content":{"35":{"position":[[868,7]]},"36":{"position":[[2319,7],[2378,7],[10035,7]]},"37":{"position":[[661,7]]},"60":{"position":[[35,7],[568,7],[792,7]]},"201":{"position":[[897,7]]},"202":{"position":[[2319,7],[2378,7],[10035,7]]},"203":{"position":[[680,7]]},"204":{"position":[[1067,7]]},"205":{"position":[[903,7]]},"253":{"position":[[3642,7],[3850,7],[4025,7],[4553,7]]},"289":{"position":[[327,7]]},"371":{"position":[[276,7]]},"410":{"position":[[212,7]]},"417":{"position":[[181,7]]},"423":{"position":[[191,7]]},"599":{"position":[[1289,7]]},"649":{"position":[[1364,10]]},"681":{"position":[[53,8]]}},"keywords":{}}],["minimum_valu",{"_index":705,"title":{},"content":{"36":{"position":[[2282,14]]},"202":{"position":[[2282,14]]}},"keywords":{}}],["minio",{"_index":57,"title":{"250":{"position":[[0,6]]}},"content":{"2":{"position":[[471,5]]},"23":{"position":[[115,6]]},"83":{"position":[[1440,5],[2937,5]]},"240":{"position":[[830,5],[1316,5]]},"250":{"position":[[1,5]]},"298":{"position":[[562,5]]},"352":{"position":[[1064,5]]},"357":{"position":[[1782,5],[3273,5]]}},"keywords":{}}],["minio/v2/metrics/clust",{"_index":3426,"title":{},"content":{"352":{"position":[[1088,25]]}},"keywords":{}}],["minio:9000",{"_index":3427,"title":{},"content":{"352":{"position":[[1163,12]]}},"keywords":{}}],["minio:latest",{"_index":1640,"title":{},"content":{"83":{"position":[[2849,12]]}},"keywords":{}}],["minu",{"_index":1361,"title":{},"content":{"61":{"position":[[1282,5]]}},"keywords":{}}],["minut",{"_index":950,"title":{},"content":{"43":{"position":[[216,8]]},"133":{"position":[[475,7],[643,6],[757,7],[812,6]]},"160":{"position":[[26,6],[130,6]]},"165":{"position":[[155,8]]},"231":{"position":[[860,6]]},"289":{"position":[[1016,8]]},"343":{"position":[[516,7],[603,6]]},"347":{"position":[[1817,6],[2583,8]]},"420":{"position":[[630,7]]}},"keywords":{}}],["minutes)"",{"_index":1114,"title":{},"content":{"44":{"position":[[3119,14]]}},"keywords":{}}],["mirror",{"_index":2889,"title":{},"content":{"304":{"position":[[652,7]]}},"keywords":{}}],["misinterpret",{"_index":1317,"title":{},"content":{"57":{"position":[[526,14]]}},"keywords":{}}],["miss",{"_index":5094,"title":{},"content":{"674":{"position":[[196,7]]}},"keywords":{}}],["mission",{"_index":1864,"title":{},"content":{"107":{"position":[[33,7]]},"108":{"position":[[611,7]]},"361":{"position":[[528,8]]},"363":{"position":[[907,7],[975,7]]}},"keywords":{}}],["misspel",{"_index":4397,"title":{},"content":{"502":{"position":[[774,10]]}},"keywords":{}}],["mistak",{"_index":4986,"title":{},"content":{"658":{"position":[[434,7]]}},"keywords":{}}],["misus",{"_index":584,"title":{},"content":{"27":{"position":[[631,7]]},"464":{"position":[[182,7]]},"469":{"position":[[792,6]]}},"keywords":{}}],["mit",{"_index":3618,"title":{},"content":{"359":{"position":[[1405,3]]}},"keywords":{}}],["mixin",{"_index":3214,"title":{},"content":{"328":{"position":[[332,7]]},"508":{"position":[[52,7],[331,6],[404,6]]}},"keywords":{}}],["mkdir",{"_index":3189,"title":{},"content":{"324":{"position":[[3098,5]]}},"keywords":{}}],["mnemon",{"_index":166,"title":{"500":{"position":[[19,10]]}},"content":{"5":{"position":[[708,9]]},"199":{"position":[[178,9]]},"264":{"position":[[198,9]]},"304":{"position":[[3989,8]]},"396":{"position":[[75,8]]},"400":{"position":[[120,9]]},"480":{"position":[[425,8],[1253,9]]},"500":{"position":[[31,9]]},"502":{"position":[[759,8]]},"606":{"position":[[157,8]]},"617":{"position":[[1174,10]]},"636":{"position":[[893,9]]},"637":{"position":[[1115,9]]},"638":{"position":[[1136,9]]},"639":{"position":[[1169,9]]},"640":{"position":[[969,9]]},"641":{"position":[[1186,9]]},"642":{"position":[[1207,9]]},"643":{"position":[[1240,9]]}},"keywords":{}}],["mode",{"_index":383,"title":{"330":{"position":[[6,4]]},"331":{"position":[[12,5]]},"333":{"position":[[16,5]]},"492":{"position":[[17,5]]},"532":{"position":[[0,4]]},"553":{"position":[[0,4]]}},"content":{"17":{"position":[[344,4]]},"18":{"position":[[349,4]]},"64":{"position":[[683,4]]},"83":{"position":[[2048,4],[2216,5]]},"95":{"position":[[202,5]]},"188":{"position":[[55,4],[306,4],[324,4]]},"226":{"position":[[867,4]]},"227":{"position":[[2998,4],[3966,4],[4144,5]]},"285":{"position":[[1046,4]]},"303":{"position":[[1446,4],[1620,4],[1787,4]]},"304":{"position":[[4314,4],[4689,4],[4983,4],[5096,4],[5209,4],[5320,4],[5486,4],[5652,4],[5791,4],[5937,4],[6104,4],[6252,4],[6382,4],[6544,4],[6757,4]]},"305":{"position":[[1182,4],[1284,4]]},"332":{"position":[[138,4],[447,4],[561,4]]},"333":{"position":[[30,4]]},"334":{"position":[[1279,4]]},"353":{"position":[[289,4]]},"492":{"position":[[12,4],[139,4],[532,5]]},"540":{"position":[[626,5]]},"669":{"position":[[266,5]]},"756":{"position":[[31,4]]},"757":{"position":[[30,4]]},"758":{"position":[[32,5],[52,5],[209,4]]},"774":{"position":[[283,4]]},"775":{"position":[[289,4]]}},"keywords":{}}],["mode"",{"_index":2235,"title":{},"content":{"226":{"position":[[910,10]]},"285":{"position":[[1079,10]]},"496":{"position":[[735,10],[947,11]]}},"keywords":{}}],["mode=block",{"_index":983,"title":{},"content":{"43":{"position":[[1244,10]]}},"keywords":{}}],["model",{"_index":2467,"title":{},"content":{"245":{"position":[[281,5]]},"482":{"position":[[409,5]]}},"keywords":{}}],["modelclick",{"_index":3319,"title":{},"content":{"347":{"position":[[728,10]]}},"keywords":{}}],["modern",{"_index":3301,"title":{},"content":{"347":{"position":[[103,6]]}},"keywords":{}}],["modif",{"_index":1536,"title":{},"content":{"79":{"position":[[308,13]]},"208":{"position":[[358,12]]},"273":{"position":[[348,12]]},"334":{"position":[[217,13],[1240,13]]},"359":{"position":[[99,12],[799,13]]},"628":{"position":[[429,13]]}},"keywords":{}}],["modifi",{"_index":642,"title":{"34":{"position":[[6,10]]},"36":{"position":[[10,10]]},"124":{"position":[[10,10]]},"145":{"position":[[7,10]]},"172":{"position":[[13,10]]},"185":{"position":[[5,10]]},"195":{"position":[[7,10]]},"200":{"position":[[8,10]]},"202":{"position":[[10,10]]},"265":{"position":[[10,10]]},"267":{"position":[[5,10]]},"663":{"position":[[15,9]]}},"content":{"49":{"position":[[2737,9]]},"50":{"position":[[2330,9],[2462,9]]},"51":{"position":[[1205,9]]},"52":{"position":[[1755,9],[1882,9]]},"54":{"position":[[97,9]]},"69":{"position":[[2965,8],[3931,6],[4036,8],[4534,6],[4889,8]]},"75":{"position":[[57,6]]},"76":{"position":[[59,6]]},"77":{"position":[[60,6]]},"78":{"position":[[58,6]]},"134":{"position":[[26,6]]},"237":{"position":[[416,10]]},"253":{"position":[[6605,6]]},"254":{"position":[[1030,6],[2704,9]]},"289":{"position":[[906,6],[1401,6]]},"324":{"position":[[2991,6],[3040,6]]},"338":{"position":[[179,8]]},"343":{"position":[[695,9]]},"364":{"position":[[898,6]]},"628":{"position":[[497,8],[519,8]]},"629":{"position":[[375,9],[402,8]]},"773":{"position":[[149,6]]}},"keywords":{}}],["modul",{"_index":767,"title":{"508":{"position":[[17,8]]}},"content":{"36":{"position":[[5538,6]]},"202":{"position":[[5538,6]]},"267":{"position":[[4018,6]]},"508":{"position":[[1,7],[530,6]]}},"keywords":{}}],["modular",{"_index":3702,"title":{},"content":{"364":{"position":[[1117,7],[1320,7]]}},"keywords":{}}],["module_method",{"_index":4425,"title":{},"content":{"508":{"position":[[550,13],[632,15]]}},"keywords":{}}],["monet",{"_index":3623,"title":{},"content":{"359":{"position":[[1876,9]]}},"keywords":{}}],["monitor",{"_index":1031,"title":{"302":{"position":[[7,8]]},"348":{"position":[[0,10]]},"349":{"position":[[0,10]]},"574":{"position":[[7,7]]},"576":{"position":[[7,7]]}},"content":{"44":{"position":[[247,7],[3170,7]]},"267":{"position":[[8722,10]]},"302":{"position":[[8,7],[157,7],[228,7],[341,7],[437,7],[524,7],[674,7],[758,7]]},"349":{"position":[[74,7],[176,7],[223,10]]},"351":{"position":[[70,10],[118,7]]},"356":{"position":[[709,10]]},"575":{"position":[[12,7]]},"578":{"position":[[30,7],[562,7],[871,8]]},"691":{"position":[[16,10]]},"692":{"position":[[17,10]]},"693":{"position":[[16,10]]},"694":{"position":[[17,10]]}},"keywords":{}}],["more",{"_index":91,"title":{},"content":{"3":{"position":[[118,4],[208,4]]},"7":{"position":[[1237,4]]},"20":{"position":[[1471,4]]},"36":{"position":[[927,4],[6620,4],[7416,4]]},"54":{"position":[[3374,4]]},"56":{"position":[[653,4]]},"57":{"position":[[635,6]]},"58":{"position":[[608,6]]},"66":{"position":[[102,4]]},"69":{"position":[[2166,4],[2427,4],[2638,4],[4172,4]]},"75":{"position":[[428,4],[1725,4]]},"80":{"position":[[164,4]]},"83":{"position":[[1819,4]]},"115":{"position":[[56,4]]},"120":{"position":[[316,4]]},"123":{"position":[[911,4]]},"140":{"position":[[159,4]]},"143":{"position":[[76,4],[701,4]]},"168":{"position":[[93,4]]},"178":{"position":[[143,4]]},"179":{"position":[[350,4]]},"194":{"position":[[372,4]]},"202":{"position":[[927,4],[6620,4],[7416,4]]},"204":{"position":[[194,4]]},"205":{"position":[[194,4]]},"213":{"position":[[316,4]]},"229":{"position":[[1208,4]]},"230":{"position":[[1955,4]]},"234":{"position":[[115,4]]},"242":{"position":[[243,5]]},"249":{"position":[[107,5]]},"251":{"position":[[251,4]]},"253":{"position":[[4669,5],[5921,5],[6035,4],[6086,4],[6557,4],[6712,4]]},"257":{"position":[[421,4]]},"263":{"position":[[593,4]]},"267":{"position":[[922,4],[5159,4],[6017,4]]},"269":{"position":[[96,4]]},"275":{"position":[[325,4]]},"289":{"position":[[758,4]]},"292":{"position":[[1183,4],[1256,4]]},"324":{"position":[[367,4],[436,4],[1171,4]]},"328":{"position":[[504,4]]},"343":{"position":[[330,4]]},"349":{"position":[[212,4]]},"357":{"position":[[3474,4],[3547,4]]},"362":{"position":[[382,4]]},"363":{"position":[[1046,4],[1457,4]]},"368":{"position":[[343,4]]},"371":{"position":[[62,4]]},"373":{"position":[[122,4]]},"379":{"position":[[191,4]]},"380":{"position":[[185,4]]},"381":{"position":[[196,4]]},"383":{"position":[[122,4]]},"429":{"position":[[473,4],[1903,4]]},"469":{"position":[[380,4]]},"476":{"position":[[282,4]]},"478":{"position":[[953,4]]},"482":{"position":[[585,4],[607,4],[1267,4],[1290,4]]},"496":{"position":[[156,4]]},"499":{"position":[[401,4]]},"501":{"position":[[78,4]]},"517":{"position":[[397,4]]},"528":{"position":[[248,4]]},"548":{"position":[[614,4]]},"596":{"position":[[68,4]]},"619":{"position":[[188,4]]},"632":{"position":[[1284,4]]},"658":{"position":[[139,4]]},"675":{"position":[[38,4]]},"683":{"position":[[165,4]]},"687":{"position":[[161,4]]},"753":{"position":[[86,4]]}},"keywords":{}}],["mount",{"_index":1933,"title":{},"content":{"122":{"position":[[314,5]]},"136":{"position":[[199,5],[251,6]]},"181":{"position":[[159,5],[211,6]]},"324":{"position":[[972,7]]},"325":{"position":[[627,5]]}},"keywords":{}}],["mous",{"_index":2910,"title":{},"content":{"304":{"position":[[3866,5]]},"428":{"position":[[199,6]]},"578":{"position":[[628,5]]}},"keywords":{}}],["mouseov",{"_index":639,"title":{},"content":{"33":{"position":[[625,9],[884,9]]}},"keywords":{}}],["move",{"_index":3147,"title":{},"content":{"324":{"position":[[855,6]]},"334":{"position":[[973,5]]},"349":{"position":[[6,6]]},"487":{"position":[[222,5],[285,6],[867,4],[1330,4]]},"495":{"position":[[247,6]]},"593":{"position":[[20,5],[84,6],[116,4]]},"601":{"position":[[19,5],[83,6],[114,4]]}},"keywords":{}}],["move(self",{"_index":4306,"title":{},"content":{"487":{"position":[[1301,10]]}},"keywords":{}}],["move(steps_to_mov",{"_index":4293,"title":{},"content":{"487":{"position":[[845,19]]}},"keywords":{}}],["mozilla/5.0",{"_index":1053,"title":{},"content":{"44":{"position":[[1115,11]]}},"keywords":{}}],["mqtt",{"_index":2844,"title":{},"content":{"298":{"position":[[1162,5]]}},"keywords":{}}],["ms",{"_index":3101,"title":{},"content":{"321":{"position":[[3229,2]]}},"keywords":{}}],["msrdc",{"_index":3590,"title":{},"content":{"357":{"position":[[4368,5]]}},"keywords":{}}],["much",{"_index":712,"title":{},"content":{"36":{"position":[[2972,4]]},"54":{"position":[[251,4]]},"59":{"position":[[36,4]]},"60":{"position":[[197,4]]},"63":{"position":[[228,4]]},"202":{"position":[[2972,4]]},"242":{"position":[[238,4]]},"253":{"position":[[8007,4]]},"267":{"position":[[2181,4]]},"357":{"position":[[1978,4],[3469,4],[3542,4]]},"488":{"position":[[1076,4]]}},"keywords":{}}],["multi",{"_index":858,"title":{},"content":{"39":{"position":[[46,5]]},"241":{"position":[[62,5]]},"353":{"position":[[14,5]]}},"keywords":{}}],["multicast",{"_index":1233,"title":{},"content":{"51":{"position":[[495,9],[561,9]]}},"keywords":{}}],["multilin",{"_index":3893,"title":{},"content":{"426":{"position":[[26,9]]}},"keywords":{}}],["multipart",{"_index":1991,"title":{},"content":{"136":{"position":[[552,9]]},"181":{"position":[[452,9]]}},"keywords":{}}],["multipl",{"_index":752,"title":{"498":{"position":[[56,8]]}},"content":{"36":{"position":[[4458,8],[8450,8]]},"39":{"position":[[78,8]]},"121":{"position":[[377,8]]},"144":{"position":[[192,8]]},"168":{"position":[[157,8],[203,8]]},"179":{"position":[[177,8],[222,8]]},"198":{"position":[[150,8]]},"202":{"position":[[4458,8],[8450,8]]},"208":{"position":[[265,8]]},"227":{"position":[[1077,8]]},"249":{"position":[[594,8]]},"253":{"position":[[7235,8]]},"259":{"position":[[176,8]]},"267":{"position":[[8808,8]]},"273":{"position":[[265,8]]},"283":{"position":[[459,8]]},"292":{"position":[[919,8]]},"307":{"position":[[530,8],[566,8],[619,8],[659,8]]},"309":{"position":[[572,8]]},"321":{"position":[[3942,8]]},"373":{"position":[[333,8]]},"383":{"position":[[333,8]]},"422":{"position":[[215,8]]},"464":{"position":[[287,8]]},"467":{"position":[[121,8]]},"480":{"position":[[118,8]]},"483":{"position":[[77,8]]},"485":{"position":[[86,8]]},"487":{"position":[[437,8]]},"498":{"position":[[158,8]]},"500":{"position":[[215,8]]},"508":{"position":[[513,8]]},"514":{"position":[[350,8]]},"596":{"position":[[113,8],[176,8]]},"611":{"position":[[663,8]]},"632":{"position":[[112,8],[1535,8],[1929,8]]},"729":{"position":[[232,8],[252,8]]}},"keywords":{}}],["multipli",{"_index":771,"title":{},"content":{"36":{"position":[[5628,11],[5709,10],[5943,12],[6065,10]]},"202":{"position":[[5628,11],[5709,10],[5943,12],[6065,10]]},"267":{"position":[[4108,11],[4189,11],[4423,12],[4545,10]]},"405":{"position":[[211,8]]}},"keywords":{}}],["multiplier.to_f",{"_index":772,"title":{},"content":{"36":{"position":[[5642,15]]},"202":{"position":[[5642,15]]},"267":{"position":[[4122,15]]}},"keywords":{}}],["mv",{"_index":3162,"title":{},"content":{"324":{"position":[[1820,2]]}},"keywords":{}}],["my_awesome_featur",{"_index":4013,"title":{},"content":{"449":{"position":[[231,18],[473,18]]}},"keywords":{}}],["my_file"",{"_index":335,"title":{},"content":{"12":{"position":[[269,14]]}},"keywords":{}}],["my_method",{"_index":5488,"title":{},"content":{"754":{"position":[[1267,9],[1499,12],[2066,12]]}},"keywords":{}}],["my_method(self",{"_index":5493,"title":{},"content":{"754":{"position":[[1808,16]]}},"keywords":{}}],["mygroup",{"_index":4354,"title":{},"content":{"497":{"position":[[318,7]]}},"keywords":{}}],["mygroup(group",{"_index":4362,"title":{},"content":{"497":{"position":[[631,15]]}},"keywords":{}}],["mymodul",{"_index":4424,"title":{},"content":{"508":{"position":[[537,8],[612,8]]}},"keywords":{}}],["myprefix",{"_index":2009,"title":{},"content":{"142":{"position":[[211,9]]},"182":{"position":[[211,9]]}},"keywords":{}}],["myself",{"_index":816,"title":{},"content":{"36":{"position":[[8224,8]]},"202":{"position":[[8224,8]]},"267":{"position":[[6883,8]]}},"keywords":{}}],["mysteri",{"_index":3206,"title":{},"content":{"327":{"position":[[537,10]]}},"keywords":{}}],["mysuit",{"_index":4605,"title":{},"content":{"611":{"position":[[137,7]]},"754":{"position":[[1364,7]]}},"keywords":{}}],["mysuite(suit",{"_index":4611,"title":{},"content":{"611":{"position":[[370,15]]},"754":{"position":[[1917,15]]}},"keywords":{}}],["mytest",{"_index":4426,"title":{},"content":{"508":{"position":[[578,6]]}},"keywords":{}}],["n",{"_index":3937,"title":{},"content":{"431":{"position":[[241,1]]}},"keywords":{}}],["name",{"_index":162,"title":{},"content":{"5":{"position":[[598,4],[662,4]]},"7":{"position":[[390,4]]},"12":{"position":[[441,5]]},"13":{"position":[[359,4],[368,4]]},"14":{"position":[[257,4],[266,4]]},"15":{"position":[[403,4]]},"16":{"position":[[403,4]]},"20":{"position":[[461,4],[507,4],[518,5],[538,4],[584,4],[647,4],[678,4],[693,4],[1460,5]]},"24":{"position":[[64,5],[170,5]]},"31":{"position":[[184,5]]},"32":{"position":[[100,4],[105,4]]},"33":{"position":[[66,4],[99,4]]},"35":{"position":[[78,4]]},"36":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"37":{"position":[[78,4]]},"38":{"position":[[130,4]]},"49":{"position":[[264,4]]},"51":{"position":[[132,4]]},"52":{"position":[[248,4],[361,4]]},"54":{"position":[[220,4],[2300,4],[3159,5]]},"63":{"position":[[807,5]]},"67":{"position":[[149,4]]},"68":{"position":[[158,4],[170,4],[214,4],[226,4]]},"83":{"position":[[2375,5]]},"84":{"position":[[985,4]]},"85":{"position":[[339,4],[773,4]]},"88":{"position":[[262,4]]},"93":{"position":[[994,5],[1043,5],[1510,4],[1576,4]]},"94":{"position":[[785,5],[833,5],[882,5],[939,4],[1009,4],[1077,4]]},"99":{"position":[[1402,4],[1507,4],[1548,4],[1594,4],[1697,4],[1824,6],[1995,4],[2036,4],[2480,4],[4424,5],[4488,4],[4774,5],[4985,6],[5251,4]]},"121":{"position":[[350,4],[434,6],[745,4],[754,4]]},"123":{"position":[[395,4],[400,4],[428,4],[551,4],[615,5]]},"125":{"position":[[15,4],[74,4],[86,4]]},"126":{"position":[[30,4],[108,4],[128,4]]},"127":{"position":[[30,4],[109,4],[131,4]]},"134":{"position":[[582,4]]},"136":{"position":[[294,4],[303,4],[394,4],[440,4],[506,4],[511,4]]},"137":{"position":[[123,4]]},"141":{"position":[[161,4]]},"143":{"position":[[427,4]]},"144":{"position":[[60,4],[88,4],[104,5],[157,4]]},"169":{"position":[[23,4],[115,4],[131,5]]},"171":{"position":[[230,4],[245,4],[351,4],[369,4]]},"173":{"position":[[107,4]]},"176":{"position":[[324,4]]},"177":{"position":[[269,4]]},"179":{"position":[[298,4],[303,4]]},"180":{"position":[[145,4]]},"181":{"position":[[254,4],[263,4],[354,4],[406,4],[411,4]]},"184":{"position":[[303,4],[318,4],[392,4],[397,4]]},"189":{"position":[[44,4],[116,4],[154,5]]},"190":{"position":[[148,4]]},"194":{"position":[[133,4],[142,4]]},"198":{"position":[[432,5],[514,5]]},"199":{"position":[[68,4],[132,4]]},"201":{"position":[[95,4]]},"202":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"203":{"position":[[95,4]]},"204":{"position":[[318,4]]},"205":{"position":[[318,4]]},"206":{"position":[[112,4]]},"207":{"position":[[112,4]]},"208":{"position":[[322,4]]},"209":{"position":[[423,4]]},"213":{"position":[[257,4],[262,4],[355,4]]},"215":{"position":[[320,4],[329,4]]},"218":{"position":[[121,4],[133,4],[179,4],[191,4]]},"219":{"position":[[127,4],[139,4],[191,4],[203,4]]},"220":{"position":[[105,4],[117,4],[160,4],[172,4],[213,4],[223,4]]},"221":{"position":[[107,4],[119,4],[164,4],[176,4]]},"224":{"position":[[292,5]]},"225":{"position":[[318,4],[323,4],[387,4],[392,4]]},"227":{"position":[[1687,4],[2814,4],[3144,6],[3823,4],[4062,6]]},"229":{"position":[[92,4],[372,4],[798,4]]},"230":{"position":[[142,5],[415,4],[501,4],[567,4]]},"231":{"position":[[154,5],[465,4],[593,4],[659,4]]},"232":{"position":[[155,4],[175,5],[622,4],[980,4]]},"233":{"position":[[165,4],[190,5],[661,4],[1197,4]]},"234":{"position":[[232,5],[651,4]]},"235":{"position":[[141,5],[539,5],[755,4],[1030,5],[1049,4]]},"240":{"position":[[770,4],[1598,4]]},"253":{"position":[[2499,5],[2809,4],[3204,5],[4811,4],[7112,4],[7197,4],[7345,4]]},"254":{"position":[[147,5],[1407,4],[1961,5],[2308,4],[2665,5]]},"257":{"position":[[1258,5],[1510,5]]},"259":{"position":[[463,5],[545,5]]},"264":{"position":[[70,4],[143,4]]},"266":{"position":[[94,4]]},"267":{"position":[[343,4],[353,4],[863,4],[868,4],[961,4],[1691,4],[1700,4],[2376,4],[3594,5],[8471,4],[10522,4]]},"268":{"position":[[94,4]]},"269":{"position":[[264,4]]},"270":{"position":[[94,4]]},"271":{"position":[[111,4]]},"272":{"position":[[111,4]]},"273":{"position":[[317,4]]},"274":{"position":[[391,4]]},"275":{"position":[[266,4],[271,4],[364,4]]},"276":{"position":[[119,4],[128,4],[180,4]]},"279":{"position":[[320,4],[329,4]]},"282":{"position":[[314,4],[319,4],[391,4],[396,4]]},"283":{"position":[[753,4],[758,4]]},"284":{"position":[[181,5],[244,4],[249,4],[280,4],[285,4],[314,4],[319,4]]},"291":{"position":[[1427,5]]},"297":{"position":[[1244,4]]},"303":{"position":[[197,4],[214,5],[464,4],[480,5],[522,4],[538,4]]},"305":{"position":[[257,4],[273,5],[324,4],[340,4]]},"313":{"position":[[224,6]]},"319":{"position":[[184,4]]},"320":{"position":[[158,4],[179,4],[1275,4],[1302,4],[1337,4],[1364,4],[1594,4],[1688,5]]},"321":{"position":[[355,4],[2805,4],[3836,5]]},"322":{"position":[[434,4],[1352,4]]},"327":{"position":[[522,5]]},"328":{"position":[[1013,4],[1150,4]]},"334":{"position":[[613,5]]},"338":{"position":[[45,5],[454,4],[508,4]]},"343":{"position":[[731,4]]},"353":{"position":[[246,5]]},"357":{"position":[[1074,4],[2565,4]]},"363":{"position":[[901,5]]},"366":{"position":[[1,4]]},"369":{"position":[[126,4]]},"372":{"position":[[103,4],[112,4],[222,4]]},"373":{"position":[[541,4],[550,4],[707,4]]},"379":{"position":[[99,4],[124,4]]},"380":{"position":[[93,4],[118,4]]},"381":{"position":[[104,4],[129,4]]},"383":{"position":[[666,4]]},"384":{"position":[[1,4],[135,4],[392,4],[408,4],[455,5]]},"401":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"402":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"403":{"position":[[432,4],[448,4],[465,4],[481,4],[496,4],[510,4]]},"404":{"position":[[74,4],[90,4],[107,4],[123,4],[138,4],[152,4]]},"405":{"position":[[32,4],[101,4],[117,4],[134,4],[150,4],[165,4],[179,4]]},"406":{"position":[[32,4],[95,4],[111,4],[128,4],[144,4],[159,4],[173,4]]},"407":{"position":[[103,4],[119,4],[136,4],[152,4],[167,4],[181,4]]},"408":{"position":[[32,4],[115,4],[131,4],[148,4],[164,4],[179,4],[193,4]]},"409":{"position":[[32,4],[118,4],[134,4],[151,4],[167,4],[182,4],[196,4]]},"410":{"position":[[32,4],[114,4],[130,4],[147,4],[163,4],[178,4],[192,4]]},"411":{"position":[[382,4],[398,4],[415,4],[431,4],[446,4],[460,4]]},"412":{"position":[[111,4],[127,4],[144,4],[160,4],[175,4],[189,4]]},"413":{"position":[[109,4],[125,4],[142,4],[158,4],[173,4],[187,4]]},"414":{"position":[[95,4],[111,4],[128,4],[144,4],[159,4],[173,4],[368,4],[392,4]]},"415":{"position":[[84,4],[100,4],[117,4],[133,4],[148,4],[162,4]]},"416":{"position":[[87,4],[103,4],[120,4],[136,4],[151,4],[165,4]]},"417":{"position":[[83,4],[99,4],[116,4],[132,4],[147,4],[161,4]]},"418":{"position":[[81,4],[97,4],[114,4],[130,4],[145,4],[159,4],[808,4],[824,4],[841,4],[857,4],[872,4],[886,4]]},"419":{"position":[[115,4],[131,4],[148,4],[164,4],[179,4],[193,4],[861,4],[877,4],[894,4],[910,4],[925,4],[939,4]]},"420":{"position":[[32,4],[99,4],[115,4],[132,4],[148,4],[163,4],[177,4],[833,4],[849,4],[866,4],[882,4],[897,4],[911,4]]},"421":{"position":[[80,4],[96,4],[113,4],[129,4],[144,4],[158,4]]},"422":{"position":[[105,4],[121,4],[138,4],[154,4],[169,4],[183,4]]},"423":{"position":[[93,4],[109,4],[126,4],[142,4],[157,4],[171,4]]},"424":{"position":[[131,4]]},"425":{"position":[[127,4],[143,4],[160,4],[176,4],[191,4],[205,4]]},"426":{"position":[[79,4],[95,4],[112,4],[128,4],[143,4],[157,4]]},"427":{"position":[[323,4],[339,4],[356,4],[372,4],[387,4],[401,4]]},"429":{"position":[[242,5],[1363,4]]},"440":{"position":[[117,4],[133,4],[150,4],[166,4],[181,4],[195,4]]},"441":{"position":[[79,4],[778,4],[783,4],[814,4],[819,4]]},"442":{"position":[[309,4],[325,4],[342,4],[358,4],[373,4],[387,4],[1691,4],[1696,4],[1727,4],[1732,4]]},"444":{"position":[[181,4],[197,4],[214,4],[230,4],[245,4],[259,4]]},"461":{"position":[[590,5]]},"476":{"position":[[1398,5],[1415,5],[1522,5],[2099,4],[3014,4],[4461,4],[4479,4],[4969,5]]},"480":{"position":[[413,4]]},"482":{"position":[[250,6],[539,6]]},"486":{"position":[[185,4],[259,6],[283,5]]},"487":{"position":[[619,5],[642,4]]},"490":{"position":[[524,4]]},"498":{"position":[[58,4],[198,4]]},"500":{"position":[[187,4]]},"508":{"position":[[120,5]]},"517":{"position":[[115,5]]},"523":{"position":[[99,5]]},"552":{"position":[[409,5],[545,4],[572,4],[716,5]]},"553":{"position":[[124,4]]},"563":{"position":[[347,5],[483,4],[510,4],[654,5]]},"577":{"position":[[749,5],[1178,5],[1314,4],[1341,4],[1485,5]]},"578":{"position":[[510,5],[593,4],[680,4]]},"585":{"position":[[105,4],[362,4]]},"586":{"position":[[107,4],[381,4]]},"589":{"position":[[346,5],[482,4],[509,4],[653,5]]},"591":{"position":[[373,5],[408,4]]},"598":{"position":[[365,5],[501,4],[528,4],[672,5]]},"605":{"position":[[790,4]]},"628":{"position":[[327,5]]},"629":{"position":[[248,5]]},"630":{"position":[[224,5]]},"632":{"position":[[1065,5]]},"636":{"position":[[777,4],[782,4],[842,4],[847,4],[912,4],[917,4],[1142,5],[1228,5]]},"637":{"position":[[999,4],[1004,4],[1064,4],[1069,4],[1134,4],[1139,4],[1364,5],[1450,5]]},"638":{"position":[[1020,4],[1025,4],[1085,4],[1090,4],[1155,4],[1160,4],[1385,5],[1471,5]]},"639":{"position":[[1053,4],[1058,4],[1118,4],[1123,4],[1188,4],[1193,4],[1418,5],[1504,5]]},"640":{"position":[[853,4],[858,4],[918,4],[923,4],[988,4],[993,4],[1218,5],[1304,5]]},"641":{"position":[[1070,4],[1075,4],[1135,4],[1140,4],[1205,4],[1210,4],[1435,5],[1521,5]]},"642":{"position":[[1091,4],[1096,4],[1156,4],[1161,4],[1226,4],[1231,4],[1456,5],[1542,5]]},"643":{"position":[[1124,4],[1129,4],[1189,4],[1194,4],[1259,4],[1264,4],[1489,5],[1575,5]]},"645":{"position":[[137,4],[142,4]]},"646":{"position":[[260,4],[265,4],[978,9]]},"647":{"position":[[33,5],[169,4],[174,4]]},"648":{"position":[[255,4],[260,4],[287,4],[292,4],[1020,9]]},"649":{"position":[[301,4],[306,4],[334,4],[339,4],[370,4],[375,4],[1212,8]]},"650":{"position":[[336,4],[341,4],[368,4],[373,4]]},"651":{"position":[[259,4],[264,4],[292,4],[297,4]]},"652":{"position":[[428,4],[433,4],[461,4],[466,4],[497,4],[502,4]]},"653":{"position":[[105,4],[150,4],[207,4],[212,4],[319,4],[324,4],[506,4],[633,4],[786,4]]},"654":{"position":[[263,4],[268,4],[296,4],[301,4]]},"656":{"position":[[487,4],[492,4],[541,4],[546,4],[603,4],[608,4]]},"657":{"position":[[429,4],[434,4],[483,4],[488,4],[545,4],[550,4]]},"659":{"position":[[274,4]]},"660":{"position":[[277,4],[282,4],[331,4],[336,4],[393,4],[398,4],[431,5]]},"661":{"position":[[319,4],[324,4],[351,4],[356,4]]},"662":{"position":[[13,6],[433,4],[438,4],[465,4],[470,4],[495,5]]},"664":{"position":[[146,4],[151,4]]},"665":{"position":[[39,6],[151,4],[156,4]]},"666":{"position":[[213,4],[218,4],[245,4],[250,4]]},"667":{"position":[[263,4],[268,4],[295,4],[300,4],[325,4],[330,4]]},"668":{"position":[[274,4],[279,4],[306,4],[311,4]]},"669":{"position":[[520,4],[539,4],[554,4]]},"670":{"position":[[246,4],[265,4]]},"671":{"position":[[387,4],[406,4],[421,4]]},"672":{"position":[[223,4],[242,4],[257,4]]},"675":{"position":[[257,4]]},"677":{"position":[[230,4],[249,4]]},"678":{"position":[[250,4],[269,4]]},"679":{"position":[[264,4],[283,4]]},"681":{"position":[[853,4],[858,4],[907,4],[912,4],[969,4],[974,4],[1287,5],[1408,5]]},"682":{"position":[[585,4],[590,4],[639,4],[644,4],[701,4],[706,4],[1054,5],[1175,5]]},"683":{"position":[[841,5]]},"684":{"position":[[517,4],[540,4],[722,5]]},"685":{"position":[[468,4],[473,4],[522,4],[527,4],[584,4],[589,4],[899,5]]},"686":{"position":[[484,4],[489,4],[538,4],[543,4],[600,4],[605,4],[950,5]]},"688":{"position":[[403,4],[426,4],[694,5]]},"690":{"position":[[345,4],[350,4],[399,4],[404,4],[461,4],[466,4]]},"691":{"position":[[200,4],[205,4],[254,4],[259,4],[316,4],[321,4]]},"692":{"position":[[202,4],[207,4],[256,4],[261,4],[318,4],[323,4]]},"693":{"position":[[203,4],[208,4]]},"694":{"position":[[205,4],[210,4]]},"696":{"position":[[175,4],[180,4]]},"697":{"position":[[13,4]]},"699":{"position":[[197,4],[202,4],[250,4],[255,4],[311,4],[316,4]]},"700":{"position":[[567,4],[572,4],[621,4],[626,4],[683,4],[688,4]]},"703":{"position":[[279,5]]},"706":{"position":[[161,4],[166,4]]},"707":{"position":[[120,5],[160,6]]},"709":{"position":[[217,4],[222,4]]},"711":{"position":[[209,4],[214,4]]},"712":{"position":[[176,4],[181,4]]},"713":{"position":[[163,4],[223,4],[228,4]]},"714":{"position":[[161,4],[221,4],[226,4]]},"715":{"position":[[125,5]]},"716":{"position":[[282,4],[287,4],[316,4],[321,4],[352,5],[447,5],[544,5]]},"717":{"position":[[341,4],[346,4],[376,4],[381,4]]},"718":{"position":[[357,4],[362,4],[392,4],[397,4]]},"720":{"position":[[167,4],[172,4]]},"721":{"position":[[135,4],[140,4]]},"723":{"position":[[201,4],[206,4]]},"724":{"position":[[119,5]]},"725":{"position":[[154,4],[211,4],[216,4]]},"726":{"position":[[152,4],[209,4],[214,4]]},"727":{"position":[[322,4],[327,4],[354,4],[359,4]]},"728":{"position":[[364,4],[369,4],[396,4],[401,4]]},"730":{"position":[[139,4]]},"731":{"position":[[133,4]]},"734":{"position":[[156,4]]},"736":{"position":[[275,4]]},"737":{"position":[[499,4],[618,4]]},"739":{"position":[[250,4],[279,4],[291,4],[303,4]]},"740":{"position":[[167,4],[196,4],[208,4],[220,4]]},"742":{"position":[[180,4],[209,4],[221,4],[233,4]]},"744":{"position":[[220,4],[249,4],[261,4],[273,4]]},"745":{"position":[[315,4],[344,4],[356,4],[368,4]]},"746":{"position":[[412,4],[424,4]]},"754":{"position":[[457,5],[705,4],[824,4],[898,4],[982,4]]},"761":{"position":[[115,5]]},"762":{"position":[[203,5],[275,5]]},"763":{"position":[[207,5],[292,5]]},"766":{"position":[[39,5],[59,5]]},"767":{"position":[[917,8],[1011,8],[1121,8],[1230,8]]},"768":{"position":[[268,4],[273,4]]},"769":{"position":[[267,4],[272,4]]},"771":{"position":[[33,5],[121,5],[152,5],[250,5]]},"772":{"position":[[34,5],[61,5],[151,4],[156,4],[199,5]]},"773":{"position":[[326,4],[331,4],[362,4],[367,4]]},"774":{"position":[[162,4],[167,4],[198,4],[203,4]]},"775":{"position":[[166,4],[171,4],[202,4],[207,4]]}},"keywords":{}}],["name>",{"_index":4813,"title":{},"content":{"636":{"position":[[64,8],[85,8],[112,8],[158,8],[429,8],[450,8],[477,8],[523,8]]},"637":{"position":[[241,8],[262,8],[289,8],[335,8],[636,8],[657,8],[684,8],[730,8]]},"638":{"position":[[250,8],[271,8],[298,8],[344,8],[653,8],[674,8],[701,8],[747,8]]},"639":{"position":[[310,8],[331,8],[358,8],[404,8],[695,8],[716,8],[743,8],[789,8]]},"640":{"position":[[96,8],[117,8],[144,8],[190,8],[485,8],[506,8],[533,8],[579,8]]},"641":{"position":[[268,8],[289,8],[316,8],[362,8],[687,8],[708,8],[735,8],[781,8]]},"642":{"position":[[277,8],[298,8],[325,8],[371,8],[704,8],[725,8],[752,8],[798,8]]},"643":{"position":[[337,8],[358,8],[385,8],[431,8],[746,8],[767,8],[794,8],[840,8]]},"645":{"position":[[80,9]]},"648":{"position":[[115,8]]},"649":{"position":[[98,8],[119,8]]},"650":{"position":[[160,8]]},"654":{"position":[[117,8]]},"656":{"position":[[373,8],[393,8],[411,8]]},"657":{"position":[[302,8],[322,8]]},"660":{"position":[[92,8],[112,8]]},"661":{"position":[[143,8]]},"662":{"position":[[258,8]]},"666":{"position":[[73,8]]},"667":{"position":[[73,8],[93,8]]},"668":{"position":[[130,8]]},"681":{"position":[[687,8],[707,8],[725,8]]},"682":{"position":[[395,8],[415,8]]},"685":{"position":[[309,8],[329,8],[347,8]]},"686":{"position":[[301,8],[321,8]]},"690":{"position":[[157,8],[177,8],[261,8],[281,8]]},"691":{"position":[[116,8],[136,8]]},"692":{"position":[[118,8],[138,8]]},"699":{"position":[[117,9],[138,9],[157,9]]},"700":{"position":[[259,9],[280,9],[299,9]]},"768":{"position":[[163,9]]},"769":{"position":[[203,9]]},"772":{"position":[[113,9]]},"773":{"position":[[260,9],[288,9]]},"774":{"position":[[84,9],[112,9]]},"775":{"position":[[88,9],[116,9]]}},"keywords":{}}],["name>"",{"_index":4817,"title":{},"content":{"636":{"position":[[223,15],[257,15],[588,15],[622,15]]},"637":{"position":[[415,15],[449,15],[810,15],[844,15]]},"638":{"position":[[428,15],[462,15],[831,15],[865,15]]},"639":{"position":[[479,15],[513,15],[864,15],[898,15]]},"640":{"position":[[259,15],[293,15],[328,14],[392,14],[648,15],[682,15],[718,15],[777,15]]},"641":{"position":[[446,15],[480,15],[515,14],[579,14],[865,15],[899,15],[935,15],[994,15]]},"642":{"position":[[459,15],[493,15],[528,14],[592,14],[886,15],[920,15],[956,15],[1015,15]]},"643":{"position":[[510,15],[544,15],[579,14],[643,14],[919,15],[953,15],[989,15],[1048,15]]},"646":{"position":[[214,15]]},"647":{"position":[[123,15]]},"648":{"position":[[135,15],[176,15],[209,15]]},"649":{"position":[[142,15],[185,15],[219,15],[255,15]]},"650":{"position":[[247,15]]},"651":{"position":[[144,15],[178,15]]},"652":{"position":[[281,15],[315,15],[351,15]]},"654":{"position":[[138,15],[183,15],[217,15]]},"657":{"position":[[340,15]]},"659":{"position":[[182,15]]},"660":{"position":[[130,15],[167,15],[200,15],[231,15]]},"661":{"position":[[230,15]]},"662":{"position":[[278,15],[340,15],[373,15]]},"664":{"position":[[100,15]]},"665":{"position":[[105,15]]},"666":{"position":[[93,15],[134,15],[167,15]]},"667":{"position":[[111,15],[153,15],[186,15],[217,15]]},"668":{"position":[[150,15],[195,15],[228,15]]},"682":{"position":[[433,15]]},"686":{"position":[[339,15]]},"690":{"position":[[195,15],[299,15]]},"691":{"position":[[154,15]]},"692":{"position":[[156,15]]},"693":{"position":[[151,15]]},"694":{"position":[[153,15]]},"696":{"position":[[125,15]]},"706":{"position":[[115,15]]},"709":{"position":[[168,15]]},"711":{"position":[[119,15]]},"712":{"position":[[127,15]]},"716":{"position":[[169,15],[205,15]]},"717":{"position":[[218,15],[252,15]]},"718":{"position":[[234,15],[268,15]]},"720":{"position":[[83,15]]},"721":{"position":[[89,15]]},"723":{"position":[[155,15]]},"727":{"position":[[202,15],[236,15]]},"728":{"position":[[225,15],[259,15]]},"739":{"position":[[109,15],[142,15]]},"740":{"position":[[88,15],[121,15]]},"742":{"position":[[101,15],[134,15]]},"744":{"position":[[141,15],[174,15]]},"745":{"position":[[205,15],[238,14]]},"746":{"position":[[273,14]]}},"keywords":{}}],["name>")['buff",{"_index":4937,"title":{},"content":{"650":{"position":[[180,25],[280,25]]},"661":{"position":[[163,25],[263,25]]}},"keywords":{}}],["name>__<item",{"_index":2280,"title":{},"content":{"227":{"position":[[2927,18]]}},"keywords":{}}],["name>__<packet",{"_index":2279,"title":{},"content":{"227":{"position":[[2906,20],[3915,20]]}},"keywords":{}}],["name>__<valu",{"_index":2281,"title":{},"content":{"227":{"position":[[2946,19],[3936,19]]}},"keywords":{}}],["name"",{"_index":4820,"title":{},"content":{"636":{"position":[[288,10],[344,10],[654,11],[705,11]]},"637":{"position":[[480,10],[536,10],[876,11],[927,11]]},"638":{"position":[[493,10],[549,10],[897,11],[948,11]]},"639":{"position":[[544,10],[600,10],[930,11],[981,11]]}},"keywords":{}}],["name.keyout",{"_index":464,"title":{},"content":{"20":{"position":[[1329,11]]}},"keywords":{}}],["name/packet",{"_index":1809,"title":{},"content":{"99":{"position":[[2468,11]]},"675":{"position":[[245,11]]}},"keywords":{}}],["name/valu",{"_index":5075,"title":{},"content":{"670":{"position":[[293,10]]}},"keywords":{}}],["name1>",{"_index":5553,"title":{},"content":{"768":{"position":[[198,10]]}},"keywords":{}}],["name2>",{"_index":5555,"title":{},"content":{"768":{"position":[[221,10]]}},"keywords":{}}],["named_widget",{"_index":3765,"title":{"384":{"position":[[0,13]]}},"content":{"384":{"position":[[652,12]]},"429":{"position":[[1962,12],[2016,12]]},"430":{"position":[[103,13],[220,12]]},"431":{"position":[[122,13],[483,12]]},"432":{"position":[[105,13],[352,12]]},"434":{"position":[[115,13],[318,12]]},"435":{"position":[[244,12]]},"436":{"position":[[105,13],[352,12]]},"446":{"position":[[332,12],[427,12],[736,12],[854,12]]}},"keywords":{}}],["names/valu",{"_index":1734,"title":{},"content":{"93":{"position":[[1097,13]]}},"keywords":{}}],["names_values_and_limits_st",{"_index":5020,"title":{},"content":{"662":{"position":[[629,30],[746,30]]}},"keywords":{}}],["namespac",{"_index":2790,"title":{},"content":{"290":{"position":[[508,9],[548,9]]},"508":{"position":[[36,11],[60,11],[180,11]]}},"keywords":{}}],["nan",{"_index":1705,"title":{},"content":{"88":{"position":[[196,4]]}},"keywords":{}}],["nanosecond",{"_index":1813,"title":{},"content":{"99":{"position":[[2788,11],[3222,11]]},"227":{"position":[[4314,11],[5513,10],[5991,10]]}},"keywords":{}}],["narrow",{"_index":2676,"title":{},"content":{"267":{"position":[[9662,8],[10049,8]]}},"keywords":{}}],["nasa",{"_index":2982,"title":{"312":{"position":[[11,4]]}},"content":{"315":{"position":[[63,4]]},"316":{"position":[[8,4]]}},"keywords":{}}],["nativ",{"_index":31,"title":{},"content":{"2":{"position":[[23,7]]},"64":{"position":[[276,6]]},"245":{"position":[[38,6]]},"250":{"position":[[239,6]]},"263":{"position":[[1223,6]]},"298":{"position":[[114,7]]},"384":{"position":[[332,6]]}},"keywords":{}}],["nav",{"_index":2104,"title":{},"content":{"192":{"position":[[44,3]]}},"keywords":{}}],["navig",{"_index":1848,"title":{},"content":{"104":{"position":[[1,8]]},"105":{"position":[[1,8]]},"184":{"position":[[446,10]]},"188":{"position":[[30,9]]},"189":{"position":[[63,10]]},"190":{"position":[[91,10]]},"191":{"position":[[63,10]]},"322":{"position":[[180,8]]}},"keywords":{}}],["near",{"_index":1903,"title":{"110":{"position":[[0,4]]}},"content":{"110":{"position":[[5,4]]},"457":{"position":[[58,4]]}},"keywords":{}}],["nearbi",{"_index":2887,"title":{},"content":{"304":{"position":[[520,6]]}},"keywords":{}}],["necessari",{"_index":106,"title":{},"content":{"3":{"position":[[371,9]]},"54":{"position":[[115,10]]},"59":{"position":[[338,10]]},"60":{"position":[[67,9],[229,9]]},"69":{"position":[[299,9],[4189,9]]},"71":{"position":[[773,9]]},"112":{"position":[[40,9]]},"123":{"position":[[203,9]]},"176":{"position":[[245,9]]},"231":{"position":[[532,9]]},"235":{"position":[[994,9]]},"253":{"position":[[275,9],[778,10]]},"329":{"position":[[1647,10]]},"449":{"position":[[369,10]]},"459":{"position":[[903,9],[995,10],[1295,9]]},"465":{"position":[[40,9],[258,9]]},"466":{"position":[[435,10]]},"467":{"position":[[1179,9]]},"490":{"position":[[680,10]]},"523":{"position":[[328,10]]},"637":{"position":[[116,9]]},"638":{"position":[[129,9]]},"639":{"position":[[155,9]]},"641":{"position":[[139,9]]},"642":{"position":[[152,9]]},"643":{"position":[[178,9]]},"736":{"position":[[132,10]]}},"keywords":{}}],["necessarili",{"_index":1696,"title":{},"content":{"87":{"position":[[125,12]]},"449":{"position":[[278,11]]}},"keywords":{}}],["need",{"_index":676,"title":{},"content":{"36":{"position":[[787,6]]},"39":{"position":[[96,4]]},"42":{"position":[[70,4]]},"43":{"position":[[234,4],[353,4]]},"60":{"position":[[816,6]]},"61":{"position":[[1976,4]]},"64":{"position":[[252,6]]},"75":{"position":[[422,5]]},"83":{"position":[[318,4],[418,4]]},"85":{"position":[[1540,4]]},"95":{"position":[[418,4]]},"99":{"position":[[3061,7],[3482,7]]},"112":{"position":[[270,6]]},"122":{"position":[[37,5]]},"136":{"position":[[32,6]]},"139":{"position":[[60,5]]},"175":{"position":[[61,5]]},"176":{"position":[[272,6]]},"181":{"position":[[32,6]]},"202":{"position":[[787,6]]},"213":{"position":[[176,6]]},"230":{"position":[[1165,4],[1283,4]]},"233":{"position":[[1074,4]]},"240":{"position":[[470,5]]},"250":{"position":[[424,4]]},"253":{"position":[[946,4],[1160,6],[6358,4]]},"254":{"position":[[8,4],[456,4]]},"257":{"position":[[295,4]]},"267":{"position":[[782,6]]},"275":{"position":[[185,6]]},"289":{"position":[[294,4]]},"290":{"position":[[216,4],[846,5]]},"291":{"position":[[217,6],[1394,4]]},"321":{"position":[[1020,6]]},"324":{"position":[[3811,4]]},"338":{"position":[[1059,4]]},"347":{"position":[[200,5]]},"349":{"position":[[51,6]]},"357":{"position":[[4061,5]]},"361":{"position":[[259,6]]},"363":{"position":[[340,4]]},"364":{"position":[[908,7],[1062,4],[1250,4],[1415,6],[1620,7]]},"384":{"position":[[127,4]]},"421":{"position":[[243,6]]},"429":{"position":[[586,4]]},"448":{"position":[[48,4]]},"457":{"position":[[368,4]]},"476":{"position":[[1171,4]]},"478":{"position":[[939,4]]},"487":{"position":[[249,4],[387,4],[511,4]]},"488":{"position":[[243,5]]},"496":{"position":[[353,4]]},"499":{"position":[[215,4]]},"504":{"position":[[237,5]]},"505":{"position":[[656,6],[850,5]]},"507":{"position":[[122,4],[180,4]]},"512":{"position":[[329,7]]},"513":{"position":[[354,4]]},"622":{"position":[[55,6]]},"737":{"position":[[586,4]]}},"keywords":{}}],["needs_depend",{"_index":1927,"title":{"122":{"position":[[0,19]]}},"content":{"122":{"position":[[188,18],[275,18]]}},"keywords":{}}],["neg",{"_index":645,"title":{},"content":{"35":{"position":[[230,8],[391,8]]},"37":{"position":[[184,8]]},"67":{"position":[[502,8]]},"201":{"position":[[258,8],[420,8]]},"203":{"position":[[203,8]]},"204":{"position":[[481,8],[590,8]]},"205":{"position":[[426,8]]},"206":{"position":[[275,8],[595,8]]},"207":{"position":[[378,8]]},"266":{"position":[[257,8],[418,8]]},"268":{"position":[[210,8]]},"269":{"position":[[427,8],[541,8]]},"270":{"position":[[210,8]]},"271":{"position":[[274,8],[588,8]]},"272":{"position":[[380,8]]},"289":{"position":[[682,8]]}},"keywords":{}}],["nem",{"_index":999,"title":{},"content":{"43":{"position":[[4349,3]]}},"keywords":{}}],["nest",{"_index":4513,"title":{},"content":{"578":{"position":[[719,6]]},"675":{"position":[[222,6]]}},"keywords":{}}],["net=openc3",{"_index":3030,"title":{},"content":{"319":{"position":[[156,10]]}},"keywords":{}}],["netavark",{"_index":3157,"title":{},"content":{"324":{"position":[[1691,8],[2195,8]]}},"keywords":{}}],["network",{"_index":1032,"title":{},"content":{"44":{"position":[[259,7],[573,7]]},"84":{"position":[[426,8]]},"85":{"position":[[565,7]]},"108":{"position":[[562,8]]},"240":{"position":[[698,9],[1868,7]]},"292":{"position":[[1371,7]]},"319":{"position":[[37,7],[53,7],[174,7]]},"322":{"position":[[412,7],[423,7],[479,7],[507,7],[537,7]]},"359":{"position":[[551,8],[593,8]]}},"keywords":{}}],["network"",{"_index":3116,"title":{},"content":{"322":{"position":[[587,14]]}},"keywords":{}}],["network=openc3",{"_index":1680,"title":{},"content":{"85":{"position":[[543,14]]}},"keywords":{}}],["network_backend",{"_index":3178,"title":{},"content":{"324":{"position":[[2330,15]]}},"keywords":{}}],["never",{"_index":2566,"title":{},"content":{"253":{"position":[[7888,5]]},"254":{"position":[[897,5]]},"324":{"position":[[2018,5],[2078,5]]},"364":{"position":[[916,5]]},"467":{"position":[[21,5]]}},"keywords":{}}],["new",{"_index":404,"title":{"368":{"position":[[0,3]]},"591":{"position":[[0,3]]}},"content":{"20":{"position":[[208,3],[889,3]]},"21":{"position":[[9,3]]},"22":{"position":[[30,3]]},"23":{"position":[[428,3]]},"27":{"position":[[507,3]]},"33":{"position":[[9,3]]},"36":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"64":{"position":[[268,3]]},"69":{"position":[[129,3],[2032,3],[2243,3]]},"84":{"position":[[1290,3]]},"112":{"position":[[376,3],[472,3]]},"144":{"position":[[11,3]]},"171":{"position":[[11,3]]},"188":{"position":[[235,3],[259,3],[359,3]]},"199":{"position":[[11,3]]},"202":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"209":{"position":[[213,3],[367,3]]},"227":{"position":[[675,3]]},"229":{"position":[[52,3],[115,3]]},"230":{"position":[[52,3],[2522,3]]},"231":{"position":[[58,3],[1185,3]]},"232":{"position":[[56,3]]},"233":{"position":[[61,3]]},"234":{"position":[[56,3],[895,3]]},"235":{"position":[[50,3],[356,3],[861,3],[1716,3]]},"253":{"position":[[1553,3],[7320,3],[7545,3]]},"254":{"position":[[1769,3],[2515,3],[2654,3]]},"256":{"position":[[168,3],[411,3]]},"257":{"position":[[15,3],[779,3],[1198,3],[1445,3],[1628,3],[1925,3]]},"264":{"position":[[11,3]]},"267":{"position":[[590,3]]},"274":{"position":[[199,3],[345,3]]},"291":{"position":[[1409,3]]},"304":{"position":[[1509,4]]},"310":{"position":[[169,3],[213,3]]},"320":{"position":[[138,3]]},"334":{"position":[[1066,3],[1145,3],[1259,3]]},"343":{"position":[[494,3]]},"345":{"position":[[277,3]]},"352":{"position":[[225,3]]},"368":{"position":[[238,3]]},"461":{"position":[[1280,3]]},"525":{"position":[[353,3]]},"528":{"position":[[35,3]]},"533":{"position":[[666,3]]},"541":{"position":[[355,3]]},"542":{"position":[[384,3]]},"544":{"position":[[147,4],[195,4]]},"552":{"position":[[585,3]]},"563":{"position":[[523,3]]},"564":{"position":[[51,3]]},"572":{"position":[[142,3]]},"577":{"position":[[893,3],[1354,3]]},"582":{"position":[[12,3]]},"584":{"position":[[482,3]]},"589":{"position":[[522,3]]},"591":{"position":[[10,3],[35,3]]},"598":{"position":[[541,3]]},"599":{"position":[[9,3]]},"600":{"position":[[416,3]]},"605":{"position":[[43,3]]},"609":{"position":[[169,3],[198,3]]},"632":{"position":[[393,3]]},"669":{"position":[[102,3]]},"671":{"position":[[124,3]]},"764":{"position":[[60,3],[66,3]]}},"keywords":{}}],["newer",{"_index":1779,"title":{},"content":{"98":{"position":[[183,5]]}},"keywords":{}}],["newgrp",{"_index":3355,"title":{},"content":{"347":{"position":[[2370,6]]}},"keywords":{}}],["newish",{"_index":3151,"title":{},"content":{"324":{"position":[[1130,6]]}},"keywords":{}}],["newkey",{"_index":410,"title":{},"content":{"20":{"position":[[328,6],[861,6]]}},"keywords":{}}],["newli",{"_index":463,"title":{},"content":{"20":{"position":[[1274,5],[1405,5]]},"253":{"position":[[2136,5]]},"254":{"position":[[998,5],[2187,5]]},"320":{"position":[[534,5]]},"321":{"position":[[193,5],[3898,5]]},"334":{"position":[[780,5]]}},"keywords":{}}],["newlin",{"_index":297,"title":{},"content":{"9":{"position":[[117,7],[309,7],[461,7],[641,7]]},"429":{"position":[[501,8]]}},"keywords":{}}],["newslett",{"_index":4082,"title":{},"content":{"460":{"position":[[255,11]]},"461":{"position":[[350,10]]},"466":{"position":[[751,11]]},"468":{"position":[[90,11]]}},"keywords":{}}],["next",{"_index":952,"title":{"294":{"position":[[0,4]]}},"content":{"43":{"position":[[281,4]]},"54":{"position":[[3110,4]]},"69":{"position":[[4449,4]]},"72":{"position":[[224,4]]},"84":{"position":[[826,4]]},"189":{"position":[[27,4],[137,4]]},"227":{"position":[[3075,4],[3999,4]]},"253":{"position":[[520,4]]},"254":{"position":[[2118,4]]},"304":{"position":[[1827,5]]},"325":{"position":[[149,4]]},"332":{"position":[[827,4]]},"396":{"position":[[99,4]]},"430":{"position":[[177,4]]},"434":{"position":[[271,4]]},"476":{"position":[[4048,4]]},"488":{"position":[[1345,4]]},"504":{"position":[[970,4]]},"505":{"position":[[539,4]]},"530":{"position":[[375,4]]},"533":{"position":[[426,4],[828,4]]},"552":{"position":[[385,4],[692,4]]},"557":{"position":[[116,4]]},"558":{"position":[[49,4],[285,4]]},"563":{"position":[[323,4],[630,4]]},"564":{"position":[[211,4]]},"577":{"position":[[302,4],[523,4],[1154,4],[1461,4]]},"583":{"position":[[19,4]]},"589":{"position":[[322,4],[629,4]]},"598":{"position":[[341,4],[648,4]]},"610":{"position":[[888,4]]},"611":{"position":[[628,4],[959,4]]},"612":{"position":[[1313,4]]},"617":{"position":[[329,4]]},"756":{"position":[[75,4]]},"757":{"position":[[45,4]]}},"keywords":{}}],["nexu",{"_index":1610,"title":{},"content":{"83":{"position":[[1723,7]]}},"keywords":{}}],["nf",{"_index":1931,"title":{},"content":{"122":{"position":[[303,3]]},"240":{"position":[[1862,3]]},"324":{"position":[[690,3],[711,3],[1098,5]]}},"keywords":{}}],["nfs]https://www.redhat.com/sysadmin/rootless",{"_index":3150,"title":{},"content":{"324":{"position":[[1046,44]]}},"keywords":{}}],["nginx",{"_index":2500,"title":{},"content":{"250":{"position":[[449,5]]}},"keywords":{}}],["nice",{"_index":4499,"title":{},"content":{"566":{"position":[[71,6]]}},"keywords":{}}],["nil",{"_index":1200,"title":{},"content":{"49":{"position":[[361,3],[485,3],[674,3],[936,3],[1067,3],[1177,3],[1191,3],[1531,3]]},"50":{"position":[[561,3],[802,3],[912,3],[1001,3],[1015,3],[1292,3]]},"51":{"position":[[400,3],[582,3],[844,3],[969,3],[982,3]]},"52":{"position":[[316,3],[428,3],[753,3],[1000,3],[1128,3],[1224,3],[1238,3],[1550,3]]},"54":{"position":[[817,3],[927,3],[941,3],[1037,3],[1401,3],[2578,3]]},"56":{"position":[[480,4],[491,3]]},"58":{"position":[[710,3]]},"59":{"position":[[962,3]]},"60":{"position":[[1361,3]]},"61":{"position":[[2261,3],[2343,3]]},"62":{"position":[[1263,3]]},"63":{"position":[[1813,3],[2447,3]]},"64":{"position":[[577,3],[659,3]]},"67":{"position":[[214,4],[236,3],[778,3],[913,3],[1047,3],[1191,3]]},"68":{"position":[[203,3],[259,3]]},"71":{"position":[[309,3]]},"75":{"position":[[1544,3]]},"125":{"position":[[218,3],[362,3]]},"126":{"position":[[259,3],[455,3]]},"127":{"position":[[262,3],[461,3]]},"133":{"position":[[441,3],[699,4],[795,4]]},"134":{"position":[[797,3],[801,3],[1084,3]]},"135":{"position":[[737,3],[849,3]]},"149":{"position":[[137,3]]},"152":{"position":[[141,3]]},"156":{"position":[[141,3]]},"159":{"position":[[145,3]]},"160":{"position":[[163,3]]},"161":{"position":[[159,3]]},"162":{"position":[[157,3]]},"163":{"position":[[157,3]]},"164":{"position":[[157,3]]},"224":{"position":[[896,4],[1013,4]]},"230":{"position":[[2709,3]]},"253":{"position":[[7902,6]]},"320":{"position":[[1135,3],[1139,3],[1147,3],[1151,3]]},"338":{"position":[[758,3],[1558,3]]},"401":{"position":[[351,4],[671,3]]},"402":{"position":[[351,4],[566,3]]},"618":{"position":[[416,4]]},"670":{"position":[[436,4]]},"676":{"position":[[89,4],[320,3]]},"703":{"position":[[248,3]]},"720":{"position":[[477,4]]},"768":{"position":[[56,3]]}},"keywords":{}}],["nocert",{"_index":578,"title":{},"content":{"27":{"position":[[301,7]]}},"keywords":{}}],["node",{"_index":416,"title":{},"content":{"20":{"position":[[378,5]]},"83":{"position":[[1500,4]]},"249":{"position":[[609,6]]},"357":{"position":[[4179,4]]}},"keywords":{}}],["node_modul",{"_index":2322,"title":{},"content":{"229":{"position":[[423,12]]}},"keywords":{}}],["nodej",{"_index":1569,"title":{},"content":{"83":{"position":[[423,6]]},"239":{"position":[[445,6]]}},"keywords":{}}],["nogroup",{"_index":2721,"title":{},"content":{"285":{"position":[[571,7]]}},"keywords":{}}],["nokey",{"_index":586,"title":{},"content":{"27":{"position":[[739,6]]}},"keywords":{}}],["non",{"_index":720,"title":{},"content":{"36":{"position":[[3271,3],[10685,3]]},"57":{"position":[[446,3]]},"88":{"position":[[167,3]]},"187":{"position":[[267,3]]},"202":{"position":[[3271,3]]},"259":{"position":[[1319,3],[1569,4]]},"303":{"position":[[720,3]]},"361":{"position":[[433,3]]},"364":{"position":[[1488,3]]},"623":{"position":[[480,3]]},"624":{"position":[[446,3]]}},"keywords":{}}],["none",{"_index":1201,"title":{},"content":{"49":{"position":[[367,4],[491,4],[680,4],[1811,4],[1961,4],[2090,4],[2105,4],[2500,4]]},"50":{"position":[[567,4],[1530,4],[1659,4],[1767,4],[1782,4],[2114,4]]},"51":{"position":[[1112,4],[1126,4]]},"52":{"position":[[322,4],[434,4],[540,7],[759,4],[988,4],[1309,4],[1431,4],[1538,4],[1641,4]]},"54":{"position":[[1537,4],[1666,4],[1681,4],[1796,4],[2215,4],[2789,4]]},"71":{"position":[[491,4]]},"75":{"position":[[1053,5],[1550,4]]},"135":{"position":[[364,4],[725,4]]},"224":{"position":[[1346,5],[1483,5]]},"233":{"position":[[1023,4]]},"253":{"position":[[6892,4]]},"338":{"position":[[591,5],[626,4],[779,5],[817,4]]},"676":{"position":[[326,4]]},"711":{"position":[[306,4]]},"720":{"position":[[255,4]]},"768":{"position":[[70,4]]}},"keywords":{}}],["noninfring",{"_index":3640,"title":{},"content":{"360":{"position":[[886,16]]}},"keywords":{}}],["noop",{"_index":2237,"title":{},"content":{"226":{"position":[[964,4]]},"321":{"position":[[1189,4]]}},"keywords":{}}],["noout",{"_index":557,"title":{},"content":{"25":{"position":[[69,5]]}},"keywords":{}}],["normal",{"_index":1162,"title":{},"content":{"46":{"position":[[742,6]]},"110":{"position":[[160,6]]},"226":{"position":[[927,6]]},"269":{"position":[[180,8]]},"280":{"position":[[85,8]]},"285":{"position":[[1096,6]]},"429":{"position":[[1078,7],[1803,7]]},"431":{"position":[[518,6]]},"435":{"position":[[423,7]]},"446":{"position":[[367,6]]},"451":{"position":[[111,6]]},"478":{"position":[[296,7],[544,7],[740,7]]},"488":{"position":[[20,8]]},"490":{"position":[[752,6]]},"499":{"position":[[82,8]]},"612":{"position":[[199,6],[490,6]]},"649":{"position":[[689,6],[1328,6],[1475,10]]},"672":{"position":[[275,10]]},"736":{"position":[[324,8]]}},"keywords":{}}],["normal"",{"_index":4327,"title":{},"content":{"490":{"position":[[1027,13]]},"500":{"position":[[409,13],[588,13]]},"636":{"position":[[1340,13],[1772,13]]},"637":{"position":[[1577,13],[1803,13]]},"644":{"position":[[473,13],[1032,13]]}},"keywords":{}}],["normal'"",{"_index":1744,"title":{},"content":{"93":{"position":[[1826,16]]},"478":{"position":[[365,15]]}},"keywords":{}}],["normalize_tlm",{"_index":5078,"title":{"672":{"position":[[0,14]]}},"content":{"671":{"position":[[205,13]]}},"keywords":{}}],["normalize_tlm("<target>",{"_index":5081,"title":{},"content":{"672":{"position":[[102,34]]}},"keywords":{}}],["normalize_tlm("inst",{"_index":5083,"title":{},"content":{"672":{"position":[[384,24],[458,24],[571,24],[645,24]]}},"keywords":{}}],["nosniff",{"_index":979,"title":{},"content":{"43":{"position":[[1187,7]]}},"keywords":{}}],["notat",{"_index":4211,"title":{},"content":{"476":{"position":[[4673,8],[4710,8]]}},"keywords":{}}],["note",{"_index":102,"title":{"341":{"position":[[0,4]]},"526":{"position":[[0,5]]}},"content":{"3":{"position":[[291,5]]},"7":{"position":[[1026,4]]},"9":{"position":[[834,4],[976,4]]},"11":{"position":[[213,4]]},"12":{"position":[[488,4]]},"13":{"position":[[397,4]]},"14":{"position":[[292,4]]},"20":{"position":[[1,5]]},"36":{"position":[[2138,4],[6512,4],[7308,4],[8191,6]]},"46":{"position":[[1,5]]},"50":{"position":[[2414,5]]},"52":{"position":[[1839,5]]},"54":{"position":[[2896,4]]},"56":{"position":[[243,4]]},"59":{"position":[[632,4]]},"60":{"position":[[1030,4]]},"61":{"position":[[1811,4]]},"62":{"position":[[936,4]]},"63":{"position":[[2120,4]]},"79":{"position":[[814,4]]},"83":{"position":[[468,5],[764,5]]},"84":{"position":[[477,4]]},"90":{"position":[[282,5]]},"99":{"position":[[2236,4],[3909,4],[4562,5]]},"103":{"position":[[141,5]]},"122":{"position":[[235,4]]},"198":{"position":[[655,4],[1226,4]]},"202":{"position":[[2138,4],[6512,4],[7308,4],[8191,6]]},"230":{"position":[[923,4]]},"231":{"position":[[1076,6]]},"253":{"position":[[5651,4]]},"254":{"position":[[220,4]]},"259":{"position":[[682,4]]},"260":{"position":[[293,4]]},"261":{"position":[[305,4]]},"262":{"position":[[430,4]]},"263":{"position":[[1202,5]]},"267":{"position":[[5051,4],[5909,4],[6850,6],[8791,4]]},"269":{"position":[[59,5]]},"289":{"position":[[164,5],[1488,5],[1545,5]]},"290":{"position":[[811,4]]},"291":{"position":[[246,5],[833,4]]},"292":{"position":[[405,5]]},"299":{"position":[[844,5]]},"304":{"position":[[1956,5],[2876,5]]},"319":{"position":[[1,4]]},"320":{"position":[[1197,4]]},"322":{"position":[[2137,4]]},"324":{"position":[[1104,4],[1402,5]]},"325":{"position":[[112,5]]},"329":{"position":[[111,4],[613,4]]},"331":{"position":[[437,5]]},"343":{"position":[[247,4]]},"345":{"position":[[70,4]]},"347":{"position":[[576,5]]},"350":{"position":[[145,6]]},"351":{"position":[[297,6]]},"352":{"position":[[357,6]]},"353":{"position":[[192,6]]},"357":{"position":[[228,5]]},"429":{"position":[[718,4]]},"430":{"position":[[23,4]]},"431":{"position":[[42,4]]},"432":{"position":[[25,4]]},"434":{"position":[[35,4]]},"436":{"position":[[25,4]]},"476":{"position":[[4428,4]]},"487":{"position":[[535,5]]},"490":{"position":[[1043,4]]},"495":{"position":[[1178,4]]},"504":{"position":[[351,4]]},"505":{"position":[[472,4]]},"513":{"position":[[709,4]]},"514":{"position":[[419,6]]},"517":{"position":[[576,4]]},"518":{"position":[[111,4]]},"520":{"position":[[52,4]]},"522":{"position":[[31,6]]},"525":{"position":[[497,4]]},"526":{"position":[[1,5],[65,4],[84,4]]},"534":{"position":[[485,4]]},"538":{"position":[[216,4]]},"540":{"position":[[456,5]]},"555":{"position":[[166,4],[285,4]]},"556":{"position":[[275,5],[528,5]]},"559":{"position":[[275,4]]},"577":{"position":[[331,4]]},"585":{"position":[[57,4],[591,4],[805,5]]},"586":{"position":[[59,4]]},"591":{"position":[[356,4]]},"601":{"position":[[420,4]]},"612":{"position":[[848,5]]},"629":{"position":[[322,5]]},"630":{"position":[[260,5]]},"632":{"position":[[163,5]]},"651":{"position":[[389,4]]},"652":{"position":[[606,5]]},"656":{"position":[[252,5]]},"657":{"position":[[151,5]]},"658":{"position":[[210,5]]},"673":{"position":[[78,5]]},"681":{"position":[[256,4]]},"682":{"position":[[140,4]]},"683":{"position":[[235,4]]},"684":{"position":[[119,4]]},"687":{"position":[[251,5]]},"700":{"position":[[67,5],[1752,5],[1896,5]]},"734":{"position":[[23,4]]},"746":{"position":[[648,5]]},"754":{"position":[[401,5]]}},"keywords":{}}],["notebook",{"_index":1884,"title":{},"content":{"108":{"position":[[423,9],[453,10]]}},"keywords":{}}],["noth",{"_index":1523,"title":{},"content":{"75":{"position":[[1380,7]]},"80":{"position":[[267,7],[415,7],[486,7]]},"364":{"position":[[689,7]]},"488":{"position":[[2297,7],[2445,7]]}},"keywords":{}}],["nothing"",{"_index":2239,"title":{},"content":{"226":{"position":[[989,13]]},"623":{"position":[[745,14],[966,14]]},"624":{"position":[[725,14],[989,14]]}},"keywords":{}}],["notic",{"_index":1065,"title":{"460":{"position":[[3,7]]}},"content":{"44":{"position":[[1335,6]]},"249":{"position":[[219,6]]},"332":{"position":[[262,6],[429,6]]},"360":{"position":[[574,6],[601,6]]},"467":{"position":[[1090,7]]},"476":{"position":[[3645,6],[4140,6]]},"610":{"position":[[255,6]]}},"keywords":{}}],["notif",{"_index":3396,"title":{},"content":{"351":{"position":[[145,13]]},"424":{"position":[[28,12]]},"514":{"position":[[673,13],[735,13],[794,12]]},"638":{"position":[[50,12]]},"639":{"position":[[76,12]]},"642":{"position":[[73,12]]},"643":{"position":[[99,12]]}},"keywords":{}}],["notifi",{"_index":2876,"title":{},"content":{"303":{"position":[[1896,6]]},"461":{"position":[[1221,6]]},"470":{"position":[[331,6]]},"471":{"position":[[89,6]]},"633":{"position":[[15,6]]}},"keywords":{}}],["nov",{"_index":941,"title":{},"content":{"42":{"position":[[820,3]]}},"keywords":{}}],["now",{"_index":326,"title":{},"content":{"12":{"position":[[96,3]]},"23":{"position":[[334,3]]},"43":{"position":[[4685,3]]},"63":{"position":[[30,3]]},"83":{"position":[[2251,3]]},"84":{"position":[[4,3]]},"99":{"position":[[2275,3]]},"253":{"position":[[50,3],[939,3],[4675,3],[6351,3]]},"254":{"position":[[1,3]]},"304":{"position":[[567,3]]},"324":{"position":[[2461,3]]},"332":{"position":[[425,3],[713,3],[965,3]]},"347":{"position":[[2685,3]]},"357":{"position":[[2189,3],[3459,3]]},"658":{"position":[[832,3]]},"762":{"position":[[264,4]]}},"keywords":{}}],["npm",{"_index":1608,"title":{},"content":{"83":{"position":[[1699,3]]},"84":{"position":[[561,3]]},"102":{"position":[[14,3]]},"235":{"position":[[1416,3]]}},"keywords":{}}],["npm_url",{"_index":1612,"title":{},"content":{"83":{"position":[[1797,8]]}},"keywords":{}}],["npm_url=https://registry.npmjs.org",{"_index":1618,"title":{},"content":{"83":{"position":[[1927,34]]}},"keywords":{}}],["nt",{"_index":1055,"title":{},"content":{"44":{"position":[[1136,2]]}},"keywords":{}}],["null",{"_index":1703,"title":{},"content":{"88":{"position":[[115,4]]},"198":{"position":[[1153,4],[1308,4]]},"227":{"position":[[4394,5],[4581,5],[4626,5]]},"259":{"position":[[1169,4]]}},"keywords":{}}],["num",{"_index":3445,"title":{},"content":{"355":{"position":[[652,4]]},"684":{"position":[[545,3]]},"688":{"position":[[431,3]]},"715":{"position":[[572,3],[1125,3]]},"724":{"position":[[548,3],[1083,3]]}},"keywords":{}}],["num_client",{"_index":5305,"title":{},"content":{"715":{"position":[[415,12],[974,12]]},"724":{"position":[[397,12],[915,12]]}},"keywords":{}}],["num_clients}"",{"_index":5312,"title":{},"content":{"715":{"position":[[595,20]]},"724":{"position":[[571,20]]}},"keywords":{}}],["num_seg",{"_index":4543,"title":{},"content":{"586":{"position":[[604,12],[719,12]]}},"keywords":{}}],["number",{"_index":84,"title":{},"content":{"3":{"position":[[35,6]]},"20":{"position":[[1064,6]]},"31":{"position":[[665,8]]},"33":{"position":[[775,6]]},"36":{"position":[[2913,6]]},"49":{"position":[[548,6],[617,6]]},"50":{"position":[[435,6],[504,6]]},"51":{"position":[[619,6],[717,6],[790,6]]},"52":{"position":[[580,6],[627,6],[696,6]]},"59":{"position":[[569,6]]},"60":{"position":[[800,6],[920,6],[967,6]]},"61":{"position":[[1112,6],[1426,6],[1748,6]]},"62":{"position":[[873,6]]},"63":{"position":[[1566,6],[1854,6],[2057,6],[2563,6],[2653,6]]},"66":{"position":[[192,6],[293,6]]},"83":{"position":[[112,6]]},"88":{"position":[[139,7]]},"99":{"position":[[2670,6]]},"139":{"position":[[191,6]]},"146":{"position":[[16,6]]},"149":{"position":[[83,6]]},"152":{"position":[[85,6]]},"153":{"position":[[16,6]]},"156":{"position":[[85,6]]},"159":{"position":[[87,6]]},"160":{"position":[[96,6]]},"161":{"position":[[94,6]]},"162":{"position":[[93,6]]},"163":{"position":[[93,6]]},"164":{"position":[[93,6]]},"165":{"position":[[81,6]]},"175":{"position":[[192,6]]},"198":{"position":[[966,8]]},"202":{"position":[[2913,6]]},"229":{"position":[[1380,6]]},"253":{"position":[[2359,6]]},"254":{"position":[[1781,7],[1864,7]]},"259":{"position":[[990,8]]},"261":{"position":[[281,6]]},"263":{"position":[[1132,6]]},"267":{"position":[[2125,6],[8571,6],[10690,6]]},"276":{"position":[[343,6]]},"285":{"position":[[164,6]]},"304":{"position":[[1160,6]]},"307":{"position":[[749,6],[945,6]]},"315":{"position":[[209,6],[243,6]]},"320":{"position":[[648,6]]},"321":{"position":[[3691,6]]},"322":{"position":[[1184,6]]},"324":{"position":[[3832,8]]},"355":{"position":[[126,6]]},"357":{"position":[[3687,6]]},"364":{"position":[[1144,6]]},"366":{"position":[[237,6]]},"369":{"position":[[422,6]]},"371":{"position":[[376,6]]},"390":{"position":[[149,6]]},"401":{"position":[[376,6]]},"402":{"position":[[377,6],[436,6]]},"403":{"position":[[723,6],[748,6]]},"406":{"position":[[308,6],[333,6]]},"407":{"position":[[454,6],[479,6],[623,6]]},"408":{"position":[[328,6],[353,6]]},"409":{"position":[[331,6],[356,6]]},"410":{"position":[[605,6],[630,6]]},"415":{"position":[[297,6],[322,6]]},"416":{"position":[[300,6],[325,6]]},"417":{"position":[[574,6],[599,6]]},"418":{"position":[[1613,6],[1680,6],[1738,6],[1808,6],[1856,6],[1933,6]]},"419":{"position":[[1666,6],[1733,6],[1791,6],[1861,6],[1909,6],[1986,6]]},"420":{"position":[[1638,6],[1705,6],[1763,6],[1833,6],[1881,6],[1958,6]]},"427":{"position":[[536,6],[561,6]]},"461":{"position":[[847,6],[1041,6]]},"467":{"position":[[464,6]]},"481":{"position":[[124,7]]},"483":{"position":[[828,6],[895,6]]},"487":{"position":[[275,6]]},"491":{"position":[[24,6]]},"500":{"position":[[293,8],[718,8]]},"504":{"position":[[828,7]]},"507":{"position":[[230,8]]},"514":{"position":[[1071,6]]},"533":{"position":[[794,6]]},"550":{"position":[[188,6]]},"564":{"position":[[517,6]]},"566":{"position":[[185,6]]},"599":{"position":[[371,6]]},"608":{"position":[[832,7]]},"623":{"position":[[177,6]]},"654":{"position":[[13,6],[397,6]]},"667":{"position":[[652,6]]},"668":{"position":[[13,6],[422,6]]},"676":{"position":[[237,6],[360,6]]},"684":{"position":[[35,6],[561,6]]},"688":{"position":[[35,6],[447,6],[571,6]]},"700":{"position":[[1649,6]]},"703":{"position":[[318,6]]},"715":{"position":[[149,6]]},"724":{"position":[[143,6]]},"750":{"position":[[30,6],[228,6]]},"751":{"position":[[29,6]]}},"keywords":{}}],["number"",{"_index":2214,"title":{},"content":{"226":{"position":[[194,12],[1072,12],[1842,12]]},"627":{"position":[[643,13],[724,13],[794,13],[958,13],[1039,13],[1109,13]]}},"keywords":{}}],["numer",{"_index":716,"title":{},"content":{"36":{"position":[[3097,9]]},"99":{"position":[[4480,7],[5217,7]]},"192":{"position":[[311,9]]},"202":{"position":[[3097,9]]},"267":{"position":[[2396,9]]},"588":{"position":[[145,8]]}},"keywords":{}}],["nwziw_ewyssghec172ciwjuphvp8acdqg",{"_index":987,"title":{},"content":{"43":{"position":[[2251,33],[5716,33]]}},"keywords":{}}],["o",{"_index":3161,"title":{},"content":{"324":{"position":[[1798,1]]},"347":{"position":[[2302,1]]}},"keywords":{}}],["object",{"_index":1709,"title":{},"content":{"88":{"position":[[411,7]]},"99":{"position":[[3730,6]]},"227":{"position":[[4964,6],[5467,6],[5947,6]]},"250":{"position":[[44,6]]},"263":{"position":[[485,6],[978,6],[1000,7],[1090,6],[1112,6],[1230,6]]},"307":{"position":[[235,7],[673,7]]},"466":{"position":[[192,6]]},"487":{"position":[[12,6]]},"629":{"position":[[465,6]]},"632":{"position":[[1464,6],[1606,7],[2002,7]]}},"keywords":{}}],["oblig",{"_index":4111,"title":{},"content":{"465":{"position":[[124,11]]}},"keywords":{}}],["observ",{"_index":3358,"title":{"349":{"position":[[15,14]]}},"content":{},"keywords":{}}],["obtus",{"_index":4219,"title":{},"content":{"479":{"position":[[235,6]]}},"keywords":{}}],["obvious",{"_index":2550,"title":{},"content":{"253":{"position":[[6020,9]]},"359":{"position":[[241,10]]}},"keywords":{}}],["occas",{"_index":4132,"title":{},"content":{"467":{"position":[[589,8]]}},"keywords":{}}],["occasion",{"_index":4098,"title":{},"content":{"462":{"position":[[433,12]]}},"keywords":{}}],["occur",{"_index":1405,"title":{},"content":{"63":{"position":[[2775,5]]},"66":{"position":[[415,5]]},"304":{"position":[[329,7],[3154,5],[5832,7],[6616,10]]},"356":{"position":[[862,6]]},"483":{"position":[[590,9]]},"501":{"position":[[391,7]]},"612":{"position":[[1508,7]]},"617":{"position":[[1282,6]]},"633":{"position":[[50,9]]},"681":{"position":[[222,6]]},"683":{"position":[[76,7],[97,6]]},"684":{"position":[[86,6]]},"687":{"position":[[76,7],[97,6]]},"688":{"position":[[86,6]]},"752":{"position":[[432,6]]}},"keywords":{}}],["occurr",{"_index":2905,"title":{},"content":{"304":{"position":[[2593,10]]}},"keywords":{}}],["odd",{"_index":1252,"title":{},"content":{"52":{"position":[[559,6],[1117,3]]},"338":{"position":[[597,4]]}},"keywords":{}}],["offer",{"_index":3656,"title":{},"content":{"361":{"position":[[473,5]]},"461":{"position":[[556,7],[1308,7]]}},"keywords":{}}],["offici",{"_index":2994,"title":{},"content":{"314":{"position":[[33,8]]}},"keywords":{}}],["offlin",{"_index":1605,"title":{},"content":{"83":{"position":[[1603,7],[1644,7]]},"290":{"position":[[188,7],[238,7],[668,7],[720,7]]}},"keywords":{}}],["offset",{"_index":374,"title":{},"content":{"17":{"position":[[72,7],[171,7]]},"18":{"position":[[75,7],[175,7]]},"35":{"position":[[143,6],[154,6],[254,6],[305,6],[472,6],[538,6]]},"36":{"position":[[1161,6],[1839,6],[1846,6]]},"37":{"position":[[265,6],[331,6]]},"61":{"position":[[395,6],[611,6],[626,6],[981,6],[992,6],[1082,6],[1962,7],[2615,7],[3206,7],[3359,6],[3366,7]]},"67":{"position":[[453,6],[464,6]]},"99":{"position":[[496,6],[3999,6],[4052,6],[4306,6]]},"201":{"position":[[162,6],[173,6],[282,6],[334,6],[501,6],[567,6]]},"202":{"position":[[1161,6],[1839,6],[1846,6]]},"203":{"position":[[284,6],[350,6]]},"204":{"position":[[385,6],[396,6],[505,6],[671,6],[737,6]]},"205":{"position":[[507,6],[573,6]]},"206":{"position":[[179,6],[190,6],[299,6],[351,6],[672,6]]},"207":{"position":[[455,6]]},"253":{"position":[[3486,6],[5515,6]]},"260":{"position":[[376,7]]},"262":{"position":[[443,6]]},"266":{"position":[[164,6],[175,6],[281,6],[333,6],[499,6],[565,6]]},"267":{"position":[[1156,6],[1834,6],[1841,6]]},"268":{"position":[[291,6],[357,6]]},"269":{"position":[[334,6],[345,6],[451,6],[622,6]]},"270":{"position":[[291,6]]},"271":{"position":[[181,6],[192,6],[298,6],[350,6],[665,6]]},"272":{"position":[[457,6]]},"329":{"position":[[244,7]]},"457":{"position":[[227,7]]},"703":{"position":[[35,6],[179,6],[1306,6]]}},"keywords":{}}],["ok",{"_index":921,"title":{},"content":{"42":{"position":[[561,2]]},"43":{"position":[[701,2],[6321,2]]},"254":{"position":[[2328,3]]},"504":{"position":[[629,3]]},"552":{"position":[[304,2],[614,2]]},"563":{"position":[[242,2],[552,2]]},"577":{"position":[[1073,2],[1383,2]]},"589":{"position":[[241,2],[551,2]]},"598":{"position":[[260,2],[570,2]]},"605":{"position":[[867,3]]},"634":{"position":[[63,2],[242,2]]}},"keywords":{}}],["okset",{"_index":3330,"title":{},"content":{"347":{"position":[[1012,5]]}},"keywords":{}}],["older",{"_index":1780,"title":{},"content":{"98":{"position":[[193,5]]}},"keywords":{}}],["omit",{"_index":2293,"title":{},"content":{"227":{"position":[[4185,7]]}},"keywords":{}}],["omit_deprecated=${omit_deprec",{"_index":3011,"title":{},"content":{"318":{"position":[[192,34]]}},"keywords":{}}],["omit_deprecated=tru",{"_index":3010,"title":{},"content":{"318":{"position":[[167,20]]}},"keywords":{}}],["on",{"_index":447,"title":{},"content":{"20":{"position":[[947,3]]},"36":{"position":[[740,3],[920,3]]},"44":{"position":[[687,4],[1447,3]]},"46":{"position":[[1003,3],[1058,3]]},"61":{"position":[[1288,4],[1314,4],[1919,3]]},"69":{"position":[[2176,3],[2320,3],[2517,3]]},"75":{"position":[[108,3]]},"76":{"position":[[131,3]]},"77":{"position":[[130,3]]},"78":{"position":[[122,3]]},"115":{"position":[[49,3]]},"140":{"position":[[152,3]]},"143":{"position":[[69,3]]},"168":{"position":[[376,3]]},"178":{"position":[[136,3]]},"179":{"position":[[343,3]]},"198":{"position":[[89,3]]},"202":{"position":[[740,3],[920,3]]},"204":{"position":[[187,3]]},"205":{"position":[[187,3]]},"213":{"position":[[129,3],[309,3]]},"223":{"position":[[119,3]]},"227":{"position":[[3169,3],[3308,3],[4087,3]]},"240":{"position":[[159,3]]},"253":{"position":[[6045,3],[6261,3]]},"259":{"position":[[113,3]]},"261":{"position":[[333,3]]},"267":{"position":[[735,3],[915,3]]},"269":{"position":[[89,3]]},"275":{"position":[[138,3],[318,3]]},"291":{"position":[[1413,4]]},"292":{"position":[[841,4]]},"303":{"position":[[2306,3]]},"304":{"position":[[878,3],[1047,3],[3419,3]]},"307":{"position":[[684,3]]},"322":{"position":[[1627,3]]},"324":{"position":[[3713,4]]},"355":{"position":[[964,3]]},"356":{"position":[[132,3]]},"359":{"position":[[2093,3]]},"373":{"position":[[132,3]]},"383":{"position":[[132,3]]},"384":{"position":[[505,3]]},"444":{"position":[[73,3]]},"453":{"position":[[75,3]]},"454":{"position":[[266,3]]},"464":{"position":[[602,3]]},"476":{"position":[[4247,3]]},"478":{"position":[[963,3]]},"479":{"position":[[221,3],[312,3]]},"480":{"position":[[934,3]]},"482":{"position":[[1260,3],[1283,3]]},"485":{"position":[[382,3]]},"488":{"position":[[1669,3]]},"495":{"position":[[1039,3]]},"499":{"position":[[394,3]]},"501":{"position":[[604,3],[685,3],[807,3],[832,3],[866,3],[963,3],[1085,3]]},"511":{"position":[[186,3]]},"522":{"position":[[66,3]]},"528":{"position":[[258,3]]},"538":{"position":[[38,3]]},"577":{"position":[[813,3]]},"596":{"position":[[61,3]]},"627":{"position":[[657,6],[738,6],[808,6],[838,5],[857,4],[972,6],[1053,6],[1123,6],[1155,6],[1176,5]]},"632":{"position":[[1639,4],[2035,4]]},"675":{"position":[[31,3]]},"685":{"position":[[43,4]]},"713":{"position":[[31,3]]},"714":{"position":[[30,3]]},"718":{"position":[[557,3]]},"725":{"position":[[31,3]]},"726":{"position":[[30,3]]},"728":{"position":[[561,3]]},"746":{"position":[[164,3]]},"764":{"position":[[70,4]]}},"keywords":{}}],["onc",{"_index":1575,"title":{},"content":{"83":{"position":[[830,4]]},"85":{"position":[[1343,4]]},"254":{"position":[[428,4]]},"263":{"position":[[332,4]]},"488":{"position":[[1448,5]]},"491":{"position":[[153,4]]},"492":{"position":[[200,4]]},"501":{"position":[[555,4]]},"505":{"position":[[1,4]]},"513":{"position":[[302,4]]},"514":{"position":[[1284,4]]},"527":{"position":[[307,4]]},"528":{"position":[[1401,4]]},"540":{"position":[[209,4]]},"557":{"position":[[1,4]]},"607":{"position":[[184,4]]}},"keywords":{}}],["onecor",{"_index":3599,"title":{},"content":{"357":{"position":[[4474,7]]}},"keywords":{}}],["one}"",{"_index":4394,"title":{},"content":{"501":{"position":[[838,13]]}},"keywords":{}}],["onlin",{"_index":4083,"title":{},"content":{"460":{"position":[[276,6]]},"464":{"position":[[546,6]]},"469":{"position":[[647,6]]}},"keywords":{}}],["only"",{"_index":680,"title":{},"content":{"36":{"position":[[1046,10]]},"202":{"position":[[1046,10]]},"267":{"position":[[1041,10]]}},"keywords":{}}],["onto",{"_index":1141,"title":{"46":{"position":[[27,4]]}},"content":{"439":{"position":[[12,4],[233,4]]},"440":{"position":[[42,4]]},"443":{"position":[[14,4]]},"444":{"position":[[29,4]]},"445":{"position":[[13,4]]}},"keywords":{}}],["op",{"_index":3681,"title":{},"content":{"363":{"position":[[983,3]]},"610":{"position":[[110,5]]}},"keywords":{}}],["opcod",{"_index":2141,"title":{},"content":{"204":{"position":[[2106,6]]},"205":{"position":[[1949,6]]}},"keywords":{}}],["open",{"_index":573,"title":{"42":{"position":[[32,4]]},"738":{"position":[[0,8]]}},"content":{"27":{"position":[[136,4]]},"32":{"position":[[25,4]]},"42":{"position":[[15,4]]},"44":{"position":[[205,4]]},"46":{"position":[[1549,4]]},"49":{"position":[[136,4]]},"50":{"position":[[198,4]]},"103":{"position":[[39,4]]},"139":{"position":[[16,4],[93,4]]},"175":{"position":[[17,4],[94,4]]},"188":{"position":[[93,5],[186,5],[239,5]]},"192":{"position":[[207,4]]},"227":{"position":[[951,5],[2215,5]]},"240":{"position":[[720,4]]},"243":{"position":[[63,4]]},"253":{"position":[[2681,4],[4679,4],[6412,4]]},"254":{"position":[[1095,4],[1190,4]]},"257":{"position":[[1619,4]]},"299":{"position":[[224,4],[335,4]]},"301":{"position":[[1562,7]]},"304":{"position":[[1063,7],[1410,4],[1514,5]]},"306":{"position":[[371,4],[527,4],[571,4]]},"321":{"position":[[182,4]]},"328":{"position":[[804,4],[1742,7]]},"332":{"position":[[191,4]]},"338":{"position":[[1070,6]]},"347":{"position":[[1864,4],[2592,4]]},"350":{"position":[[15,4]]},"351":{"position":[[1,4]]},"353":{"position":[[29,4]]},"356":{"position":[[54,4]]},"357":{"position":[[397,7]]},"359":{"position":[[21,4],[1691,4],[1751,4]]},"364":{"position":[[660,4],[1019,5]]},"394":{"position":[[1,4]]},"424":{"position":[[511,4],[723,4]]},"425":{"position":[[378,4]]},"429":{"position":[[1394,4]]},"441":{"position":[[707,4]]},"442":{"position":[[1620,4]]},"482":{"position":[[518,7]]},"517":{"position":[[145,4]]},"541":{"position":[[251,5],[344,5]]},"542":{"position":[[272,5],[373,5]]},"552":{"position":[[3,5],[166,4],[191,4]]},"555":{"position":[[137,5],[253,5]]},"563":{"position":[[3,5],[104,4],[129,4]]},"572":{"position":[[11,7],[38,4]]},"573":{"position":[[51,4]]},"577":{"position":[[935,4],[960,4]]},"585":{"position":[[432,4]]},"589":{"position":[[3,4],[103,4],[128,4]]},"598":{"position":[[3,4],[122,4],[147,4]]},"603":{"position":[[169,5],[241,7]]},"605":{"position":[[160,6],[290,5],[306,4],[382,4],[679,4]]},"607":{"position":[[48,7],[110,4]]},"612":{"position":[[1,7]]},"617":{"position":[[258,4]]},"738":{"position":[[33,5]]},"739":{"position":[[1,5]]},"740":{"position":[[11,4]]},"741":{"position":[[12,4]]}},"keywords":{}}],["open_directory_dialog",{"_index":4684,"title":{},"content":{"621":{"position":[[2847,21]]},"632":{"position":[[218,21],[349,21]]}},"keywords":{}}],["open_file_dialog",{"_index":4788,"title":{"631":{"position":[[0,17]]}},"content":{"632":{"position":[[5,16]]}},"keywords":{}}],["open_file_dialog("<title>"",{"_index":4791,"title":{},"content":{"632":{"position":[[463,43],[700,43]]}},"keywords":{}}],["open_file_dialog("open",{"_index":4800,"title":{},"content":{"632":{"position":[[1325,27],[1732,27]]}},"keywords":{}}],["open_files_dialog",{"_index":4789,"title":{"632":{"position":[[0,18]]}},"content":{"632":{"position":[[26,17]]}},"keywords":{}}],["open_files_dialog("<title>"",{"_index":4794,"title":{},"content":{"632":{"position":[[572,44],[808,44]]}},"keywords":{}}],["open_files_dialog("open",{"_index":4804,"title":{},"content":{"632":{"position":[[1506,28],[1900,28]]}},"keywords":{}}],["openc3",{"_index":337,"title":{"21":{"position":[[13,6]]},"42":{"position":[[18,6]]},"43":{"position":[[18,6]]},"107":{"position":[[30,6]]},"108":{"position":[[0,6]]},"109":{"position":[[0,6]]},"236":{"position":[[0,6]]},"287":{"position":[[11,6]]},"288":{"position":[[11,6]]},"324":{"position":[[0,6]]},"458":{"position":[[0,7]]},"469":{"position":[[9,6]]}},"content":{"12":{"position":[[302,6]]},"13":{"position":[[51,6]]},"14":{"position":[[48,6]]},"20":{"position":[[391,8],[427,8],[1210,8],[1341,8]]},"22":{"position":[[46,6]]},"23":{"position":[[108,6],[150,6]]},"36":{"position":[[1191,6],[5545,6],[9704,6],[9879,6],[9987,6],[10277,6]]},"39":{"position":[[196,6]]},"42":{"position":[[1,6]]},"43":{"position":[[1,6]]},"83":{"position":[[2482,6],[2610,6],[2730,6],[2817,6],[2930,6],[3040,6]]},"84":{"position":[[132,6],[221,6],[280,6]]},"85":{"position":[[267,6],[282,6],[362,6],[398,6],[415,6],[492,6],[513,6],[595,6],[679,6],[705,6],[800,6],[847,6],[907,6],[1047,6],[1106,6],[1173,6],[1250,6],[1293,6]]},"89":{"position":[[195,7]]},"97":{"position":[[16,6]]},"103":{"position":[[640,6]]},"123":{"position":[[64,6],[238,6],[527,6]]},"133":{"position":[[111,6],[154,6]]},"135":{"position":[[246,6]]},"137":{"position":[[200,6]]},"171":{"position":[[80,6],[418,6],[475,6]]},"173":{"position":[[193,6],[220,6]]},"174":{"position":[[468,6]]},"175":{"position":[[288,6]]},"176":{"position":[[84,6],[419,6]]},"177":{"position":[[13,6],[28,6],[91,6],[274,6],[366,6]]},"178":{"position":[[233,6],[315,6]]},"179":{"position":[[150,6]]},"184":{"position":[[59,6],[439,6]]},"188":{"position":[[227,7]]},"189":{"position":[[56,6]]},"191":{"position":[[121,6]]},"202":{"position":[[1191,6],[5545,6],[9704,6],[9879,6],[9987,6],[10277,6]]},"210":{"position":[[29,6]]},"229":{"position":[[136,6],[293,6],[649,6],[901,6],[974,6]]},"230":{"position":[[162,6],[273,6]]},"231":{"position":[[174,6],[297,6]]},"232":{"position":[[195,6],[329,6]]},"233":{"position":[[210,6],[354,6]]},"234":{"position":[[252,6],[353,6]]},"235":{"position":[[460,6],[545,6]]},"240":{"position":[[793,6],[876,6],[973,6],[1064,6],[1157,6],[1218,6],[1309,6],[1432,6],[1632,6],[1724,6],[1802,6],[1855,6]]},"241":{"position":[[273,6]]},"249":{"position":[[255,6],[281,6]]},"253":{"position":[[528,6],[741,6],[1488,6],[2215,6],[2233,6],[2690,6],[4688,6],[6421,6]]},"254":{"position":[[58,6],[153,6],[192,6],[598,6],[1199,6],[1872,6],[1967,6],[2006,6],[2126,6],[2437,6]]},"257":{"position":[[1225,6],[1472,6]]},"267":{"position":[[1186,6],[4025,6],[9592,7],[9979,7]]},"277":{"position":[[250,7]]},"278":{"position":[[42,6]]},"287":{"position":[[44,6]]},"291":{"position":[[335,6]]},"292":{"position":[[904,8],[1301,6],[1345,6],[1395,6],[1441,6]]},"315":{"position":[[183,6],[284,6]]},"320":{"position":[[456,6]]},"321":{"position":[[85,6],[3569,6]]},"322":{"position":[[235,6],[465,6],[523,6]]},"334":{"position":[[524,6],[619,6],[659,6]]},"337":{"position":[[55,6],[78,6]]},"340":{"position":[[14,6],[47,6],[80,6],[134,6]]},"347":{"position":[[2528,6]]},"350":{"position":[[311,6],[641,6],[709,6],[962,6]]},"352":{"position":[[612,6],[768,6],[910,6],[1154,8]]},"357":{"position":[[1154,6],[1227,6],[1310,6],[1384,6],[1460,6],[1550,6],[1623,6],[1704,6],[1775,6],[1846,6],[2645,6],[2716,6],[2801,6],[2875,6],[2950,6],[3040,6],[3113,6],[3195,6],[3266,6],[3337,6]]},"359":{"position":[[226,6],[1602,6],[2022,6],[2115,7]]},"360":{"position":[[227,6],[288,7],[537,7]]},"361":{"position":[[40,7]]},"362":{"position":[[715,6]]},"363":{"position":[[62,7],[121,7],[383,7]]},"394":{"position":[[41,6]]},"429":{"position":[[732,6]]},"453":{"position":[[43,6]]},"459":{"position":[[264,7]]},"461":{"position":[[276,7],[417,6]]},"462":{"position":[[109,7]]},"464":{"position":[[1,7]]},"467":{"position":[[1029,7],[1269,7],[1344,7],[1479,7]]},"469":{"position":[[172,7],[452,7]]},"471":{"position":[[32,7]]},"472":{"position":[[150,7]]},"754":{"position":[[766,6],[924,6]]}},"keywords":{}}],["openc3.bat",{"_index":2419,"title":{},"content":{"237":{"position":[[213,10]]},"253":{"position":[[231,10],[793,10],[1437,10],[2255,10],[2395,10]]},"254":{"position":[[80,10],[1894,10]]},"256":{"position":[[311,10],[456,10]]},"292":{"position":[[346,10]]},"452":{"position":[[186,10]]},"453":{"position":[[185,10]]}},"keywords":{}}],["openc3.cod",{"_index":1564,"title":{},"content":{"83":{"position":[[229,11]]}},"keywords":{}}],["openc3.conversions.convers",{"_index":777,"title":{},"content":{"36":{"position":[[5838,29]]},"202":{"position":[[5838,29]]},"267":{"position":[[4318,29]]}},"keywords":{}}],["openc3.script",{"_index":1448,"title":{},"content":{"69":{"position":[[1306,13]]},"476":{"position":[[2728,13]]},"754":{"position":[[1579,13]]}},"keywords":{}}],["openc3.script.suit",{"_index":4361,"title":{},"content":{"497":{"position":[[592,19]]},"610":{"position":[[587,19]]},"611":{"position":[[324,19]]},"754":{"position":[[1607,19]]}},"keywords":{}}],["openc3.sh",{"_index":522,"title":{},"content":{"23":{"position":[[350,11]]},"83":{"position":[[638,9],[659,11],[2225,11]]},"103":{"position":[[23,9]]},"229":{"position":[[180,9],[252,9]]},"230":{"position":[[182,9],[293,9]]},"231":{"position":[[194,9],[317,9]]},"232":{"position":[[215,9],[349,9]]},"233":{"position":[[230,9],[374,9]]},"234":{"position":[[272,9],[373,9]]},"235":{"position":[[480,9],[565,9]]},"237":{"position":[[199,9]]},"253":{"position":[[245,9],[806,9]]},"290":{"position":[[374,11],[782,11]]},"292":{"position":[[375,11],[989,9],[1043,11],[1062,11]]},"315":{"position":[[390,9],[499,9]]},"324":{"position":[[3871,11]]},"325":{"position":[[749,11]]},"331":{"position":[[148,9]]},"334":{"position":[[545,11]]},"347":{"position":[[2551,11]]}},"keywords":{}}],["openc3.utilities.str",{"_index":4763,"title":{},"content":{"628":{"position":[[897,23]]}},"keywords":{}}],["openc3/conversions/convers",{"_index":766,"title":{},"content":{"36":{"position":[[5506,31]]},"202":{"position":[[5506,31]]},"267":{"position":[[3986,31]]}},"keywords":{}}],["openc3/conversions/unix_time_conversion.pi",{"_index":2644,"title":{},"content":{"263":{"position":[[1530,42]]}},"keywords":{}}],["openc3/cosmos:main",{"_index":4018,"title":{},"content":{"449":{"position":[[524,18]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.pi",{"_index":1438,"title":{},"content":{"69":{"position":[[696,39]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.rb",{"_index":1437,"title":{},"content":{"69":{"position":[[645,39]]}},"keywords":{}}],["openc3/interfaces/tcpip_client_interface.pi",{"_index":1221,"title":{},"content":{"49":{"position":[[1731,43],[1881,43],[2010,43],[2140,43],[2293,43],[2420,43],[2555,43]]},"50":{"position":[[1949,43],[2169,43]]},"54":{"position":[[1457,43],[1586,43],[1716,43],[1855,43],[2008,43],[2135,43]]},"125":{"position":[[282,43]]},"126":{"position":[[375,43]]},"127":{"position":[[381,43]]},"134":{"position":[[1004,43]]},"253":{"position":[[6812,43]]}},"keywords":{}}],["openc3/interfaces/tcpip_client_interface.rb",{"_index":1285,"title":{},"content":{"54":{"position":[[2709,43]]}},"keywords":{}}],["openc3/interfaces/tcpip_server_interface.pi",{"_index":1227,"title":{},"content":{"50":{"position":[[1471,43],[1600,43],[1708,43],[1817,43],[2055,43]]}},"keywords":{}}],["openc3/interfaces/udp_interface.pi",{"_index":1241,"title":{},"content":{"51":{"position":[[1041,34]]}},"keywords":{}}],["openc3/lib/openc3/microservic",{"_index":1999,"title":{},"content":{"138":{"position":[[472,34]]}},"keywords":{}}],["openc3/openc3",{"_index":1626,"title":{},"content":{"83":{"position":[[2381,13],[2503,13],[2637,13],[2747,13],[2835,13],[2945,13]]}},"keywords":{}}],["openc3/packets/command_valid",{"_index":2188,"title":{},"content":{"224":{"position":[[631,34]]}},"keywords":{}}],["openc3/script",{"_index":1442,"title":{},"content":{"69":{"position":[[1039,15]]}},"keywords":{}}],["openc3/script/suite.rb",{"_index":4591,"title":{},"content":{"610":{"position":[[362,24]]},"754":{"position":[[1071,24]]}},"keywords":{}}],["openc3/tool",{"_index":1667,"title":{},"content":{"84":{"position":[[850,13]]}},"keywords":{}}],["openc3/win32/excel",{"_index":4420,"title":{},"content":{"507":{"position":[[506,20]]}},"keywords":{}}],["openc3::commandvalid",{"_index":2190,"title":{},"content":{"224":{"position":[[693,24]]}},"keywords":{}}],["openc3::group",{"_index":4355,"title":{},"content":{"497":{"position":[[331,13]]},"508":{"position":[[590,13]]},"610":{"position":[[411,13]]},"754":{"position":[[1120,13],[1207,13]]}},"keywords":{}}],["openc3::group.put",{"_index":4357,"title":{},"content":{"497":{"position":[[408,18]]}},"keywords":{}}],["openc3::suit",{"_index":4606,"title":{},"content":{"611":{"position":[[150,13]]},"754":{"position":[[1377,13]]}},"keywords":{}}],["openc3_first_init.sh",{"_index":1185,"title":{},"content":{"46":{"position":[[1481,22]]}},"keywords":{}}],["openc3_install.sh",{"_index":1174,"title":{},"content":{"46":{"position":[[1107,19]]}},"keywords":{}}],["openc3_install_minio.sh",{"_index":1181,"title":{},"content":{"46":{"position":[[1373,25]]}},"keywords":{}}],["openc3_install_openc3.sh",{"_index":1183,"title":{},"content":{"46":{"position":[[1427,26]]}},"keywords":{}}],["openc3_install_packages.sh",{"_index":1178,"title":{},"content":{"46":{"position":[[1293,28]]}},"keywords":{}}],["openc3_install_redis.sh",{"_index":1180,"title":{},"content":{"46":{"position":[[1347,25]]}},"keywords":{}}],["openc3_install_ruby.sh",{"_index":1179,"title":{},"content":{"46":{"position":[[1322,24]]}},"keywords":{}}],["openc3_install_traefik.sh",{"_index":1182,"title":{},"content":{"46":{"position":[[1399,27]]}},"keywords":{}}],["openc3_languag",{"_index":2514,"title":{},"content":{"253":{"position":[[1354,15]]}},"keywords":{}}],["openc3_local_mode=1",{"_index":3251,"title":{},"content":{"333":{"position":[[85,20]]}},"keywords":{}}],["openc3_log_messag",{"_index":3292,"title":{},"content":{"344":{"position":[[31,19]]}},"keywords":{}}],["openc3_redis_ephemeral_hostname=127.0.0.1",{"_index":1688,"title":{},"content":{"85":{"position":[[1208,41]]}},"keywords":{}}],["openc3_redis_hostname=127.0.0.1",{"_index":1687,"title":{},"content":{"85":{"position":[[1141,31]]}},"keywords":{}}],["openc3_start_services.sh",{"_index":1184,"title":{},"content":{"46":{"position":[[1454,26]]}},"keywords":{}}],["openc3_tag",{"_index":2824,"title":{},"content":{"292":{"position":[[449,10]]}},"keywords":{}}],["openc3_tag=5.1.1",{"_index":2594,"title":{},"content":{"256":{"position":[[386,16]]}},"keywords":{}}],["openc3auth.updatetoken(openc3auth.defaultminvalidity).then",{"_index":2269,"title":{},"content":{"227":{"position":[[2534,61],[3537,61]]}},"keywords":{}}],["openc3cli",{"_index":3261,"title":{"339":{"position":[[17,10]]}},"content":{"337":{"position":[[289,9]]},"338":{"position":[[411,9]]},"339":{"position":[[1,9],[61,9],[290,9]]}},"keywords":{}}],["openc3inc",{"_index":2788,"title":{},"content":{"290":{"position":[[406,9],[498,9]]}},"keywords":{}}],["openc3inc/openc3",{"_index":1579,"title":{},"content":{"83":{"position":[[957,16],[1025,16],[1106,16],[1179,16],[1242,16],[1301,16],[1361,16],[1423,16],[1483,16],[1542,16]]}},"keywords":{}}],["opendistro",{"_index":3394,"title":{"351":{"position":[[0,11]]}},"content":{"351":{"position":[[383,10]]}},"keywords":{}}],["opendistro_secur",{"_index":3404,"title":{},"content":{"351":{"position":[[590,19]]}},"keywords":{}}],["openopen",{"_index":4573,"title":{},"content":{"605":{"position":[[110,9]]}},"keywords":{}}],["opensourc",{"_index":2260,"title":{},"content":{"227":{"position":[[1792,10]]}},"keywords":{}}],["openssl",{"_index":405,"title":{},"content":{"20":{"position":[[249,7],[315,7],[1498,7],[1537,7]]},"25":{"position":[[36,7]]},"27":{"position":[[22,7],[99,7],[266,7],[695,7],[821,7],[1071,8]]},"28":{"position":[[148,7]]}},"keywords":{}}],["openssl\\bin",{"_index":572,"title":{},"content":{"27":{"position":[[116,11]]}},"keywords":{}}],["oper",{"_index":1591,"title":{},"content":{"83":{"position":[[1196,8],[2824,8]]},"88":{"position":[[314,11]]},"107":{"position":[[181,9]]},"108":{"position":[[517,9]]},"230":{"position":[[79,7]]},"231":{"position":[[91,7]]},"232":{"position":[[87,7]]},"233":{"position":[[97,7]]},"234":{"position":[[169,7]]},"235":{"position":[[80,7]]},"239":{"position":[[118,9]]},"240":{"position":[[333,9],[508,9],[883,8]]},"267":{"position":[[9635,11],[9806,11],[10022,11],[10192,11]]},"287":{"position":[[79,9]]},"299":{"position":[[927,9]]},"304":{"position":[[1488,10],[1583,10],[6815,10]]},"315":{"position":[[190,9],[291,9]]},"322":{"position":[[369,8],[1794,8],[1989,8]]},"324":{"position":[[624,9],[1498,9]]},"341":{"position":[[108,8]]},"357":{"position":[[1391,8],[2882,8],[3574,9]]},"360":{"position":[[440,10],[1335,11]]},"384":{"position":[[306,8]]},"461":{"position":[[616,9]]},"474":{"position":[[160,10]]},"480":{"position":[[1062,9]]},"482":{"position":[[865,10]]},"483":{"position":[[66,10]]},"488":{"position":[[803,10]]},"497":{"position":[[22,9]]},"511":{"position":[[11,8]]},"513":{"position":[[373,9]]},"525":{"position":[[177,10]]},"548":{"position":[[193,9]]},"599":{"position":[[783,9]]},"610":{"position":[[62,11]]},"612":{"position":[[1123,8]]},"700":{"position":[[1312,11],[1462,11]]}},"keywords":{}}],["operand"",{"_index":4435,"title":{},"content":{"513":{"position":[[231,14],[336,13],[421,13]]}},"keywords":{}}],["operator:latest",{"_index":1639,"title":{},"content":{"83":{"position":[[2761,15]]}},"keywords":{}}],["operator_1"",{"_index":3124,"title":{},"content":{"322":{"position":[[920,17]]}},"keywords":{}}],["opportun",{"_index":1525,"title":{},"content":{"75":{"position":[[1797,11]]},"227":{"position":[[2076,11]]},"462":{"position":[[523,11]]},"468":{"position":[[27,11]]}},"keywords":{}}],["opposit",{"_index":3834,"title":{},"content":{"404":{"position":[[744,9]]}},"keywords":{}}],["opt",{"_index":4053,"title":{"468":{"position":[[10,3]]}},"content":{"459":{"position":[[253,4]]},"466":{"position":[[724,3],[815,3],[926,3]]},"468":{"position":[[42,3],[144,3]]}},"keywords":{}}],["optim",{"_index":1660,"title":{},"content":{"84":{"position":[[516,10]]},"488":{"position":[[1394,9]]}},"keywords":{}}],["option",{"_index":153,"title":{"135":{"position":[[0,7]]},"179":{"position":[[0,7]]},"612":{"position":[[13,8]]}},"content":{"5":{"position":[[379,8],[1296,9]]},"12":{"position":[[111,9],[526,8]]},"20":{"position":[[846,6],[1518,8]]},"29":{"position":[[106,8]]},"43":{"position":[[1178,8],[1203,8]]},"44":{"position":[[1886,8]]},"50":{"position":[[2455,6]]},"52":{"position":[[1875,6]]},"69":{"position":[[4579,7]]},"93":{"position":[[706,9],[1056,8],[1616,8]]},"99":{"position":[[1200,10],[3088,10],[3503,10],[3636,10]]},"103":{"position":[[160,6],[300,10]]},"135":{"position":[[42,6],[172,7],[231,6],[269,7],[637,6],[741,6],[768,6],[876,6]]},"136":{"position":[[99,10],[134,6],[433,6],[455,6]]},"179":{"position":[[9,6],[58,7],[186,6],[231,7],[315,6],[327,6],[384,6]]},"227":{"position":[[3240,8]]},"253":{"position":[[2444,8],[7091,6]]},"263":{"position":[[1154,12]]},"267":{"position":[[10666,7],[10700,7]]},"276":{"position":[[319,7],[353,7]]},"303":{"position":[[1534,10],[1698,10]]},"307":{"position":[[453,6]]},"322":{"position":[[1386,8]]},"324":{"position":[[1,8],[23,6],[2814,8]]},"325":{"position":[[364,8]]},"338":{"position":[[1370,6],[1416,6],[1585,6]]},"347":{"position":[[1416,7]]},"374":{"position":[[101,7]]},"431":{"position":[[229,6]]},"440":{"position":[[64,8]]},"446":{"position":[[916,6]]},"490":{"position":[[274,6]]},"492":{"position":[[377,11]]},"495":{"position":[[1238,6]]},"507":{"position":[[76,6]]},"514":{"position":[[717,10]]},"533":{"position":[[142,7]]},"534":{"position":[[231,7],[535,8]]},"538":{"position":[[64,8]]},"540":{"position":[[571,6]]},"548":{"position":[[101,8]]},"550":{"position":[[198,7]]},"603":{"position":[[283,7]]},"608":{"position":[[43,8]]},"612":{"position":[[61,7],[1543,6]]},"623":{"position":[[443,9]]},"624":{"position":[[409,9]]},"632":{"position":[[1038,8],[1111,8],[1570,8],[1964,8]]},"636":{"position":[[1133,8],[1219,8],[1399,8]]},"637":{"position":[[1355,8],[1441,8]]},"638":{"position":[[1376,8],[1462,8]]},"639":{"position":[[1409,8],[1495,8]]},"640":{"position":[[1209,8],[1295,8]]},"641":{"position":[[1426,8],[1512,8]]},"642":{"position":[[1447,8],[1533,8]]},"643":{"position":[[1480,8],[1566,8]]},"651":{"position":[[377,11]]},"670":{"position":[[404,8]]},"682":{"position":[[526,11]]},"700":{"position":[[1192,9],[1342,9],[1492,9],[1631,9],[1819,9]]},"702":{"position":[[165,11]]}},"keywords":{}}],["optional>",{"_index":4949,"title":{},"content":{"651":{"position":[[215,13]]},"652":{"position":[[384,13]]}},"keywords":{}}],["optional>"",{"_index":4962,"title":{},"content":{"653":{"position":[[112,19],[157,19]]},"656":{"position":[[437,19]]},"659":{"position":[[224,19]]}},"keywords":{}}],["optional)>",{"_index":5124,"title":{},"content":{"681":{"position":[[794,15]]},"683":{"position":[[530,15]]},"684":{"position":[[453,15]]},"685":{"position":[[416,15]]},"686":{"position":[[432,15]]},"687":{"position":[[465,15]]},"688":{"position":[[339,15]]},"700":{"position":[[399,15],[430,15],[461,15],[493,15],[521,15]]},"711":{"position":[[160,15]]},"720":{"position":[[121,15]]},"739":{"position":[[173,15],[204,15]]},"746":{"position":[[335,15],[366,15]]}},"keywords":{}}],["optional)>"",{"_index":5296,"title":{},"content":{"713":{"position":[[168,21]]},"714":{"position":[[166,21]]},"725":{"position":[[159,21]]},"726":{"position":[[157,21]]}},"keywords":{}}],["optionalraspbeerri",{"_index":3303,"title":{},"content":{"347":{"position":[[263,18]]}},"keywords":{}}],["options)open",{"_index":1075,"title":{},"content":{"44":{"position":[[1708,12]]}},"keywords":{}}],["orang",{"_index":3850,"title":{},"content":{"411":{"position":[[336,7]]}},"keywords":{}}],["orbit",{"_index":1893,"title":{},"content":{"108":{"position":[[628,6]]},"482":{"position":[[907,5]]}},"keywords":{}}],["order",{"_index":789,"title":{},"content":{"36":{"position":[[6408,5],[6487,5],[6529,5],[6583,5],[7204,5],[7283,5],[7325,5],[7379,5],[9934,5]]},"54":{"position":[[3406,5],[3442,5],[3527,5]]},"69":{"position":[[3661,5],[3828,7]]},"99":{"position":[[1850,5],[2512,5],[5011,5]]},"146":{"position":[[65,5]]},"153":{"position":[[74,5]]},"202":{"position":[[6408,5],[6487,5],[6529,5],[6583,5],[7204,5],[7283,5],[7325,5],[7379,5],[9934,5]]},"230":{"position":[[988,5]]},"240":{"position":[[479,5]]},"267":{"position":[[4947,5],[5026,5],[5068,5],[5122,5],[5805,5],[5884,5],[5926,5],[5980,5]]},"297":{"position":[[253,5]]},"459":{"position":[[1687,5]]},"461":{"position":[[364,5],[749,5],[789,5],[857,5],[1212,5]]},"464":{"position":[[553,6]]},"467":{"position":[[356,5],[421,5],[556,7]]},"546":{"position":[[116,5]]},"593":{"position":[[180,5],[214,5]]},"601":{"position":[[175,5],[208,5]]}},"keywords":{}}],["order.mak",{"_index":4014,"title":{},"content":{"449":{"position":[[298,10]]}},"keywords":{}}],["organ",{"_index":428,"title":{"484":{"position":[[7,13]]},"485":{"position":[[0,10]]},"486":{"position":[[0,8]]}},"content":{"20":{"position":[[571,12]]},"291":{"position":[[232,13],[440,13]]},"303":{"position":[[177,9]]},"304":{"position":[[827,9]]},"306":{"position":[[36,8],[136,9]]},"366":{"position":[[265,9]]},"401":{"position":[[21,9]]},"402":{"position":[[21,9]]},"485":{"position":[[140,12]]},"486":{"position":[[83,12]]},"487":{"position":[[53,8]]},"512":{"position":[[14,9],[63,12]]}},"keywords":{}}],["organis",{"_index":4070,"title":{},"content":{"459":{"position":[[1639,14],[1980,14]]}},"keywords":{}}],["organiz",{"_index":431,"title":{},"content":{"20":{"position":[[627,14]]},"523":{"position":[[134,14]]}},"keywords":{}}],["orient",{"_index":34,"title":{},"content":{"2":{"position":[[59,8]]},"298":{"position":[[150,8]]},"487":{"position":[[19,8]]}},"keywords":{}}],["origin",{"_index":929,"title":{},"content":{"42":{"position":[[728,6]]},"43":{"position":[[6469,6]]},"44":{"position":[[964,8]]},"63":{"position":[[83,8],[927,10]]},"225":{"position":[[112,8]]},"282":{"position":[[114,8]]},"334":{"position":[[364,10],[450,8]]},"363":{"position":[[278,8]]},"449":{"position":[[466,6]]},"628":{"position":[[118,9],[362,8],[390,8],[591,9],[814,9]]},"629":{"position":[[332,8]]},"630":{"position":[[322,8]]}},"keywords":{}}],["original=fals",{"_index":4756,"title":{},"content":{"628":{"position":[[200,15]]}},"keywords":{}}],["original=tru",{"_index":4766,"title":{},"content":{"628":{"position":[[1139,14]]}},"keywords":{}}],["os",{"_index":1154,"title":{},"content":{"46":{"position":[[469,2]]},"324":{"position":[[1992,2]]},"347":{"position":[[424,2],[797,2],[839,2],[1568,2]]}},"keywords":{}}],["os"",{"_index":3320,"title":{},"content":{"347":{"position":[[756,8]]}},"keywords":{}}],["oscilloscop",{"_index":15,"title":{},"content":{"1":{"position":[[157,14]]}},"keywords":{}}],["other",{"_index":2117,"title":{},"content":{"198":{"position":[[363,7]]},"257":{"position":[[1610,8]]},"259":{"position":[[393,7]]},"465":{"position":[[95,7]]},"479":{"position":[[174,7]]},"488":{"position":[[368,6]]},"508":{"position":[[477,7]]}},"keywords":{}}],["other)"select",{"_index":3323,"title":{},"content":{"347":{"position":[[800,19]]}},"keywords":{}}],["otherwis",{"_index":3646,"title":{},"content":{"360":{"position":[[1053,10]]}},"keywords":{}}],["our_target",{"_index":4188,"title":{},"content":{"476":{"position":[[2016,11],[2931,11],[3323,12],[4127,12]]}},"keywords":{}}],["our_targets.each",{"_index":4195,"title":{},"content":{"476":{"position":[[2397,16]]}},"keywords":{}}],["out",{"_index":97,"title":{"468":{"position":[[14,4]]}},"content":{"3":{"position":[[176,3]]},"20":{"position":[[387,3]]},"27":{"position":[[310,3],[747,3],[851,3]]},"28":{"position":[[202,3]]},"44":{"position":[[139,3],[1433,3]]},"56":{"position":[[210,3]]},"59":{"position":[[482,3]]},"63":{"position":[[907,3],[2618,3]]},"66":{"position":[[232,3]]},"69":{"position":[[4131,3],[4744,3],[4934,3],[5030,3]]},"77":{"position":[[346,3]]},"78":{"position":[[91,3],[345,3]]},"79":{"position":[[71,3],[379,3]]},"112":{"position":[[345,3]]},"116":{"position":[[43,3]]},"134":{"position":[[228,4]]},"168":{"position":[[45,3]]},"253":{"position":[[4630,3],[5880,3]]},"259":{"position":[[1877,3]]},"263":{"position":[[363,3]]},"267":{"position":[[8042,3]]},"302":{"position":[[65,3],[130,3],[281,3],[598,3]]},"303":{"position":[[1330,4],[1483,3]]},"328":{"position":[[601,3]]},"329":{"position":[[1358,3]]},"332":{"position":[[373,3]]},"357":{"position":[[4088,3]]},"360":{"position":[[1078,3]]},"364":{"position":[[489,3]]},"366":{"position":[[285,3]]},"403":{"position":[[378,3]]},"427":{"position":[[269,3]]},"459":{"position":[[258,4]]},"461":{"position":[[975,3]]},"466":{"position":[[671,3],[728,3],[819,3],[930,3]]},"468":{"position":[[46,3],[148,3]]},"481":{"position":[[181,3]]},"490":{"position":[[538,3]]},"492":{"position":[[461,3]]},"499":{"position":[[467,3]]},"575":{"position":[[291,3]]},"577":{"position":[[310,3],[548,3]]},"578":{"position":[[830,3],[1294,3]]},"605":{"position":[[812,3]]},"617":{"position":[[965,3]]},"681":{"position":[[1141,3]]},"682":{"position":[[908,3]]},"683":{"position":[[694,3]]},"685":{"position":[[147,4],[753,3]]},"686":{"position":[[804,3]]},"687":{"position":[[619,3]]},"688":{"position":[[549,3]]},"700":{"position":[[1685,3]]},"701":{"position":[[103,3]]}},"keywords":{}}],["out_of_limits_item",{"_index":5201,"title":{},"content":{"701":{"position":[[165,19]]}},"keywords":{}}],["outclick",{"_index":3342,"title":{},"content":{"347":{"position":[[1534,8]]}},"keywords":{}}],["outform",{"_index":598,"title":{},"content":{"28":{"position":[[189,7]]}},"keywords":{}}],["outgo",{"_index":1232,"title":{},"content":{"51":{"position":[[431,8],[552,8]]},"54":{"position":[[2333,8],[3077,8]]},"59":{"position":[[1035,8]]},"60":{"position":[[1504,8]]},"61":{"position":[[2506,8]]},"62":{"position":[[1336,8]]},"63":{"position":[[560,8],[1003,8],[2520,8]]},"67":{"position":[[34,8],[197,8]]},"134":{"position":[[452,8]]}},"keywords":{}}],["output",{"_index":203,"title":{"497":{"position":[[0,10]]},"554":{"position":[[20,7]]}},"content":{"6":{"position":[[197,6],[606,6],[710,7]]},"7":{"position":[[794,6]]},"69":{"position":[[2204,6],[4228,7]]},"77":{"position":[[96,6]]},"143":{"position":[[39,6]]},"257":{"position":[[1003,7]]},"259":{"position":[[1266,6]]},"345":{"position":[[548,6]]},"395":{"position":[[115,6]]},"428":{"position":[[100,6]]},"452":{"position":[[167,6],[249,6]]},"453":{"position":[[166,6],[245,6]]},"476":{"position":[[3944,7]]},"550":{"position":[[221,6]]},"552":{"position":[[122,6],[148,6]]},"553":{"position":[[88,6]]},"613":{"position":[[151,6]]},"656":{"position":[[244,7]]},"750":{"position":[[79,6],[252,6]]},"751":{"position":[[78,6]]}},"keywords":{}}],["outsid",{"_index":2597,"title":{},"content":{"257":{"position":[[440,7]]},"338":{"position":[[2038,7]]},"467":{"position":[[34,7]]},"476":{"position":[[925,7]]},"525":{"position":[[128,7]]}},"keywords":{}}],["over",{"_index":1242,"title":{},"content":{"52":{"position":[[43,4]]},"170":{"position":[[119,4]]},"183":{"position":[[125,4]]},"193":{"position":[[117,4]]},"196":{"position":[[119,4]]},"227":{"position":[[435,4]]},"298":{"position":[[1144,4]]},"320":{"position":[[618,4]]},"324":{"position":[[390,4]]},"334":{"position":[[979,4]]},"336":{"position":[[151,4]]},"352":{"position":[[179,4]]},"357":{"position":[[4152,4]]},"364":{"position":[[338,4]]},"397":{"position":[[113,4]]},"464":{"position":[[651,4]]},"476":{"position":[[4542,4]]},"483":{"position":[[132,4],[141,4],[388,4]]},"488":{"position":[[1634,4]]},"490":{"position":[[869,4]]},"550":{"position":[[140,4]]},"578":{"position":[[634,4]]},"599":{"position":[[531,4]]},"605":{"position":[[899,4]]},"684":{"position":[[913,4]]},"688":{"position":[[891,4]]}},"keywords":{}}],["overal",{"_index":2834,"title":{"298":{"position":[[0,7]]},"299":{"position":[[0,7]]}},"content":{"301":{"position":[[61,7]]},"304":{"position":[[1209,7]]},"369":{"position":[[183,8]]},"486":{"position":[[151,7]]},"577":{"position":[[44,7]]},"578":{"position":[[986,7]]},"702":{"position":[[13,7],[272,7]]}},"keywords":{}}],["overall_limits_st",{"_index":5206,"title":{},"content":{"702":{"position":[[370,20],[420,20]]}},"keywords":{}}],["overflow",{"_index":833,"title":{},"content":{"36":{"position":[[9624,9],[9673,9],[9761,9],[9845,8],[10294,8],[10445,8]]},"202":{"position":[[9624,9],[9673,9],[9761,9],[9845,8],[10294,8],[10445,8]]},"649":{"position":[[1442,11]]}},"keywords":{}}],["overhead",{"_index":1304,"title":{},"content":{"57":{"position":[[16,8]]}},"keywords":{}}],["overlap",{"_index":681,"title":{},"content":{"36":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"202":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"234":{"position":[[509,7]]},"267":{"position":[[1054,8],[1103,7],[1163,8],[1253,7]]},"280":{"position":[[48,7],[77,7],[149,7],[179,8]]},"512":{"position":[[204,11]]},"523":{"position":[[165,11],[209,7]]}},"keywords":{}}],["overload",{"_index":3463,"title":{},"content":{"356":{"position":[[802,10]]}},"keywords":{}}],["overrid",{"_index":361,"title":{},"content":{"15":{"position":[[197,9]]},"16":{"position":[[201,9]]},"36":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"38":{"position":[[57,8]]},"84":{"position":[[597,8]]},"85":{"position":[[1020,8]]},"133":{"position":[[899,8]]},"135":{"position":[[127,8]]},"198":{"position":[[381,8]]},"202":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"208":{"position":[[146,8]]},"225":{"position":[[143,8]]},"259":{"position":[[411,8]]},"267":{"position":[[516,8]]},"273":{"position":[[145,8],[468,9]]},"282":{"position":[[147,8],[542,9]]},"339":{"position":[[261,8],[458,8]]},"671":{"position":[[175,8],[458,9]]},"672":{"position":[[12,8],[448,9],[543,8],[635,9],[730,8]]}},"keywords":{}}],["overridden",{"_index":1441,"title":{},"content":{"69":{"position":[[947,10]]},"606":{"position":[[91,10]]},"673":{"position":[[39,10],[126,10]]}},"keywords":{}}],["override_tlm",{"_index":4683,"title":{"671":{"position":[[0,13]]}},"content":{"621":{"position":[[2834,12]]},"673":{"position":[[64,13],[187,13]]}},"keywords":{}}],["override_tlm("<target>",{"_index":5079,"title":{},"content":{"671":{"position":[[251,33]]}},"keywords":{}}],["override_tlm("inst",{"_index":5080,"title":{},"content":{"671":{"position":[[566,23],[655,23],[765,23],[854,23]]},"673":{"position":[[258,23],[1279,23]]}},"keywords":{}}],["override_tlm_raw",{"_index":4682,"title":{},"content":{"621":{"position":[[2772,16]]}},"keywords":{}}],["overview",{"_index":4025,"title":{"454":{"position":[[11,8]]},"511":{"position":[[0,9]]}},"content":{"486":{"position":[[130,8]]},"600":{"position":[[346,8]]},"601":{"position":[[468,8]]}},"keywords":{}}],["overwrit",{"_index":4541,"title":{},"content":{"586":{"position":[[133,9],[407,9]]}},"keywords":{}}],["overwritten",{"_index":4770,"title":{},"content":{"629":{"position":[[425,12]]},"669":{"position":[[85,11]]}},"keywords":{}}],["own",{"_index":4433,"title":{},"content":{"513":{"position":[[195,4]]},"591":{"position":[[69,5]]}},"keywords":{}}],["oylnwe0v3ajcytbvia3dp8rgo6bvv0ogkjwtlda6mbkyzn",{"_index":997,"title":{},"content":{"43":{"position":[[4269,46]]}},"keywords":{}}],["p",{"_index":1681,"title":{},"content":{"85":{"position":[[574,1]]},"324":{"position":[[3105,1]]}},"keywords":{}}],["p1234:1234/udp",{"_index":3031,"title":{},"content":{"319":{"position":[[194,14]]}},"keywords":{}}],["p1235:1235",{"_index":3032,"title":{},"content":{"319":{"position":[[210,10]]}},"keywords":{}}],["p7",{"_index":2809,"title":{},"content":{"291":{"position":[[928,5]]}},"keywords":{}}],["p7b",{"_index":2808,"title":{},"content":{"291":{"position":[[922,5]]}},"keywords":{}}],["packag",{"_index":2425,"title":{},"content":{"239":{"position":[[216,7],[359,8]]},"240":{"position":[[67,8]]},"324":{"position":[[1393,8],[1536,8],[1631,8]]},"467":{"position":[[685,10]]}},"keywords":{}}],["package.json",{"_index":2411,"title":{},"content":{"235":{"position":[[1357,12]]},"328":{"position":[[779,12],[809,12]]}},"keywords":{}}],["packet",{"_index":277,"title":{"56":{"position":[[0,6]]},"68":{"position":[[7,6]]},"97":{"position":[[0,6]]},"169":{"position":[[0,7]]},"263":{"position":[[18,6]]},"305":{"position":[[0,6]]},"498":{"position":[[65,8]]},"541":{"position":[[8,7]]},"542":{"position":[[10,7]]},"567":{"position":[[0,6]]},"569":{"position":[[0,6]]},"572":{"position":[[10,8]]},"674":{"position":[[0,6]]}},"content":{"7":{"position":[[1158,6]]},"14":{"position":[[143,6],[213,7]]},"17":{"position":[[24,6],[369,6]]},"18":{"position":[[26,7],[212,7],[374,6]]},"35":{"position":[[455,6],[499,6]]},"36":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6283,6],[6914,6],[7978,6],[8133,8],[8178,6],[8214,6],[8807,6]]},"37":{"position":[[248,6],[292,6]]},"51":{"position":[[28,7],[678,7]]},"54":{"position":[[75,6],[321,7],[469,7],[524,6],[2342,7],[2380,7],[2417,6],[3044,7],[3086,7]]},"56":{"position":[[31,6],[214,7]]},"57":{"position":[[144,6],[173,6],[262,8],[316,6],[386,9],[507,6],[544,6]]},"58":{"position":[[83,7],[196,7],[254,7],[494,6]]},"59":{"position":[[113,6],[134,6],[879,6],[1044,7]]},"60":{"position":[[114,7],[166,6],[253,6],[315,7],[384,7],[837,7],[853,6],[1277,6],[1513,7],[1589,6]]},"61":{"position":[[82,7],[213,7],[242,7],[655,6],[689,6],[1162,6],[1268,6],[2177,6],[2515,8],[2680,6],[2778,7],[3009,6],[3248,6]]},"62":{"position":[[36,7],[99,7],[207,6],[241,7],[332,6],[546,7],[678,7],[832,6],[1179,6],[1345,7]]},"63":{"position":[[413,7],[476,6],[569,8],[627,7],[835,6],[948,7],[1012,6],[1371,7],[1503,7],[2016,6],[2363,6],[2529,7]]},"64":{"position":[[39,7],[151,6],[459,6]]},"66":{"position":[[88,6]]},"67":{"position":[[90,8],[206,7],[290,7],[357,8],[544,6]]},"68":{"position":[[12,6],[52,7],[103,8],[182,6],[207,6],[219,6],[238,6]]},"69":{"position":[[1160,7],[1434,7],[2180,6],[2224,7],[2463,7],[2613,7],[2935,6],[3084,6],[3151,6],[3303,6],[3375,6],[3444,6],[3487,6],[3848,6],[3942,6],[4045,7],[4177,7],[4214,6],[4285,6],[4662,7],[4898,7]]},"75":{"position":[[308,7],[457,7],[1828,7]]},"76":{"position":[[75,6],[173,6],[226,7],[278,7],[312,6],[456,6],[687,6],[720,6],[844,6],[914,8],[930,6],[978,6]]},"77":{"position":[[76,6],[172,6],[225,7],[277,7],[311,6],[472,6],[706,6],[777,8],[793,6],[841,6]]},"79":{"position":[[291,6],[1001,7],[1086,7],[1120,8]]},"94":{"position":[[826,6],[1021,6]]},"97":{"position":[[1,6],[61,7],[127,7]]},"98":{"position":[[10,6]]},"99":{"position":[[1,6],[183,6],[436,6],[464,6],[485,6],[1340,6],[1554,6],[1604,6],[1988,6],[2029,6],[2046,6],[2062,6],[2105,7],[2117,7],[2194,7],[2263,7],[2525,6],[2568,6],[2612,6],[2687,6],[2727,6],[2768,6],[2871,7],[2907,6],[2976,6],[2996,6],[3333,6],[3402,6],[3422,6],[3752,6],[3806,6],[3826,6],[3893,6],[3984,6],[4072,6],[4718,7],[4736,7],[4833,6],[4978,6],[5024,6],[5067,6],[5111,6],[5239,6]]},"112":{"position":[[214,6]]},"116":{"position":[[35,7]]},"134":{"position":[[1178,7]]},"143":{"position":[[56,7],[134,7],[232,7]]},"146":{"position":[[132,7]]},"153":{"position":[[36,7],[141,7]]},"168":{"position":[[258,7],[286,6]]},"169":{"position":[[16,6],[124,6]]},"176":{"position":[[166,6]]},"198":{"position":[[45,7],[138,8]]},"199":{"position":[[23,6]]},"201":{"position":[[52,6],[197,6],[309,7],[484,6],[528,6]]},"202":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6283,6],[6914,6],[7978,6],[8133,8],[8178,6],[8214,6],[8807,6]]},"203":{"position":[[52,6],[267,6],[311,6]]},"204":{"position":[[68,6],[171,6],[420,6],[532,7],[654,6],[698,6],[1301,7]]},"205":{"position":[[68,6],[171,6],[490,6],[534,6],[1137,7]]},"206":{"position":[[52,6],[214,6],[326,7],[655,6],[699,6]]},"207":{"position":[[52,6],[438,6],[482,6]]},"208":{"position":[[120,7]]},"209":{"position":[[63,6],[268,6]]},"215":{"position":[[78,6],[147,7]]},"218":{"position":[[50,6],[160,6],[172,6],[184,6],[218,6]]},"219":{"position":[[50,6],[172,6],[184,6],[196,6],[236,6]]},"220":{"position":[[153,6],[165,6]]},"222":{"position":[[28,6],[97,6],[170,7]]},"223":{"position":[[28,6]]},"225":{"position":[[29,6]]},"226":{"position":[[269,6],[713,6],[1147,6],[1591,6],[1917,6],[2361,6]]},"227":{"position":[[221,7],[244,7],[356,7],[385,7],[2291,6],[2326,7],[3128,6],[3356,7],[3398,7],[3712,8],[3721,8],[3816,6],[4055,6],[4993,6],[5084,7],[5145,7],[5435,6],[5541,7],[5630,7],[5901,8],[5915,6],[6019,7],[6029,6],[6064,6],[6198,6]]},"230":{"position":[[855,7],[1041,6]]},"253":{"position":[[1119,7],[3428,6],[3579,6],[4466,7],[5101,6],[5440,6],[5602,6],[5666,6],[5729,6],[5979,6],[6071,7],[6171,7],[6305,7]]},"259":{"position":[[49,7],[164,8],[1227,6]]},"260":{"position":[[5,7],[83,6],[241,6],[315,7],[545,6]]},"261":{"position":[[69,6],[213,7],[361,7]]},"262":{"position":[[619,6]]},"263":{"position":[[63,7],[231,7],[339,6],[565,7],[1703,6],[1756,7]]},"264":{"position":[[25,6],[104,6],[166,7],[236,7],[354,6],[489,6]]},"266":{"position":[[51,6],[147,7],[201,6],[308,7],[482,6],[526,6]]},"267":{"position":[[1130,6],[1381,7],[3345,6],[4158,7],[4513,7],[4711,6],[5404,6],[6527,6],[6790,8],[6837,6],[6873,6]]},"268":{"position":[[51,6],[147,7],[274,6],[318,6]]},"269":{"position":[[51,7],[65,7],[136,7],[220,7],[317,7],[371,6],[478,7],[605,6],[649,6],[862,6]]},"270":{"position":[[51,6],[147,7],[274,6],[318,6],[531,6]]},"271":{"position":[[51,6],[164,7],[218,6],[325,7],[648,6],[692,6]]},"272":{"position":[[51,6],[164,7],[440,6],[484,6]]},"273":{"position":[[119,7]]},"274":{"position":[[59,6],[105,6],[249,6]]},"275":{"position":[[43,6]]},"276":{"position":[[59,6]]},"277":{"position":[[19,7],[90,6],[211,6]]},"278":{"position":[[22,6],[61,6],[87,6]]},"279":{"position":[[78,6],[147,7]]},"280":{"position":[[29,6],[58,6],[206,7]]},"281":{"position":[[28,6],[97,6],[170,7]]},"282":{"position":[[31,6],[353,6],[384,6],[418,6]]},"284":{"position":[[273,6],[297,6]]},"285":{"position":[[149,6],[235,6],[621,6],[689,6]]},"297":{"position":[[320,6],[404,6],[413,6],[942,8],[1071,6],[1148,8]]},"299":{"position":[[499,7],[688,7],[724,7],[792,7]]},"300":{"position":[[674,7],[699,7],[778,7],[801,7]]},"301":{"position":[[604,7],[738,7],[874,8],[896,7],[976,6],[1018,6],[1048,7],[1106,7],[1580,7],[1591,6],[1617,7],[1643,6],[1673,7]]},"303":{"position":[[473,6],[531,6]]},"305":{"position":[[1,6],[85,6],[189,6],[240,6],[266,6],[307,6],[333,6],[374,6],[441,7],[492,6],[532,6],[712,6],[880,6],[955,6],[1025,6],[1140,6],[1396,6]]},"308":{"position":[[313,8],[336,7],[419,7]]},"309":{"position":[[55,7],[293,8],[404,8],[506,8]]},"322":{"position":[[2091,8],[2128,8],[2196,7],[2243,6]]},"329":{"position":[[356,7],[532,6],[1064,6],[1626,6]]},"336":{"position":[[279,6]]},"343":{"position":[[138,7]]},"355":{"position":[[181,8],[940,6],[973,6],[1103,7]]},"356":{"position":[[145,6]]},"357":{"position":[[2022,7],[2117,7],[2333,7]]},"371":{"position":[[47,6],[152,7]]},"401":{"position":[[125,6],[141,6]]},"402":{"position":[[125,6],[141,6]]},"403":{"position":[[458,6],[474,6]]},"404":{"position":[[100,6],[116,6]]},"405":{"position":[[127,6],[143,6]]},"406":{"position":[[121,6],[137,6]]},"407":{"position":[[129,6],[145,6]]},"408":{"position":[[141,6],[157,6]]},"409":{"position":[[144,6],[160,6]]},"410":{"position":[[140,6],[156,6]]},"411":{"position":[[408,6],[424,6]]},"412":{"position":[[137,6],[153,6]]},"413":{"position":[[135,6],[151,6]]},"414":{"position":[[121,6],[137,6]]},"415":{"position":[[110,6],[126,6]]},"416":{"position":[[113,6],[129,6]]},"417":{"position":[[109,6],[125,6]]},"418":{"position":[[107,6],[123,6],[834,6],[850,6]]},"419":{"position":[[141,6],[157,6],[887,6],[903,6]]},"420":{"position":[[125,6],[141,6],[859,6],[875,6]]},"421":{"position":[[35,6],[106,6],[122,6]]},"422":{"position":[[131,6],[147,6]]},"423":{"position":[[119,6],[135,6]]},"425":{"position":[[153,6],[169,6]]},"426":{"position":[[105,6],[121,6]]},"427":{"position":[[349,6],[365,6]]},"440":{"position":[[143,6],[159,6]]},"442":{"position":[[335,6],[351,6]]},"444":{"position":[[207,6],[223,6]]},"498":{"position":[[72,7],[167,7],[191,6],[245,8],[280,7]]},"499":{"position":[[319,6],[351,6],[406,7],[526,7],[625,7],[667,8],[842,7],[963,7],[993,6],[1003,8],[1174,7]]},"508":{"position":[[210,6],[259,6]]},"530":{"position":[[119,6]]},"533":{"position":[[135,6]]},"536":{"position":[[314,7]]},"539":{"position":[[148,6]]},"541":{"position":[[13,7]]},"542":{"position":[[15,7],[181,8],[240,7],[331,7],[359,6],[388,6],[438,7]]},"550":{"position":[[115,7]]},"553":{"position":[[162,6]]},"556":{"position":[[33,7],[126,6],[253,6],[376,6],[520,7]]},"561":{"position":[[32,6]]},"564":{"position":[[224,7],[527,7]]},"568":{"position":[[1,6],[128,7]]},"572":{"position":[[19,6],[77,7],[146,7]]},"575":{"position":[[249,7]]},"577":{"position":[[348,7],[401,6]]},"578":{"position":[[546,8],[673,6],[754,6],[814,6],[953,7]]},"581":{"position":[[103,6]]},"591":{"position":[[171,6],[221,6],[285,6]]},"600":{"position":[[89,7],[111,6]]},"618":{"position":[[211,6],[353,7]]},"646":{"position":[[152,7]]},"648":{"position":[[58,7],[280,6],[304,7]]},"650":{"position":[[11,6],[63,6],[361,6],[385,7],[409,6],[464,6],[913,6]]},"652":{"position":[[59,7]]},"656":{"position":[[534,6],[568,6]]},"657":{"position":[[476,6],[510,6]]},"660":{"position":[[324,6],[358,6]]},"661":{"position":[[11,6],[63,6],[344,6],[368,7],[401,6]]},"662":{"position":[[84,7],[458,6],[482,7]]},"663":{"position":[[115,6]]},"664":{"position":[[32,6],[196,7]]},"665":{"position":[[32,6]]},"666":{"position":[[11,6],[238,6],[262,7],[295,6]]},"667":{"position":[[288,6],[312,7],[637,6]]},"668":{"position":[[51,6],[299,6],[333,7],[471,6]]},"669":{"position":[[106,6],[525,6],[532,6]]},"670":{"position":[[11,6],[83,6],[251,6],[258,6]]},"671":{"position":[[128,6],[392,6],[399,6]]},"672":{"position":[[228,6],[235,6]]},"674":{"position":[[37,7],[111,6]]},"675":{"position":[[53,7]]},"676":{"position":[[9,6],[287,7],[370,7],[398,6],[511,7],[553,8],[723,6],[734,7],[799,8],[1015,7],[1045,6],[1055,8],[1221,6],[1232,7],[1283,6],[1293,8]]},"677":{"position":[[39,6],[235,6],[242,6]]},"678":{"position":[[50,7],[255,6],[262,6]]},"679":{"position":[[47,6],[269,6],[276,6]]},"681":{"position":[[900,6],[934,6]]},"682":{"position":[[632,6],[666,6]]},"684":{"position":[[45,7],[300,6],[522,6],[533,6],[549,7],[571,7],[905,7]]},"685":{"position":[[515,6],[549,6]]},"686":{"position":[[531,6],[565,6]]},"688":{"position":[[45,7],[192,7],[408,6],[419,6],[435,7],[457,7],[581,8],[883,7]]},"690":{"position":[[392,6],[426,6]]},"691":{"position":[[247,6],[281,6]]},"692":{"position":[[249,6],[283,6]]},"699":{"position":[[243,6],[277,6]]},"700":{"position":[[614,6],[648,6]]},"724":{"position":[[248,7],[270,7],[781,7],[1316,7]]},"759":{"position":[[50,6]]}},"keywords":{}}],["packet"",{"_index":3074,"title":{},"content":{"321":{"position":[[700,12],[3068,12]]},"556":{"position":[[455,13]]}},"keywords":{}}],["packet(",{"_index":4490,"title":{"556":{"position":[[17,9]]}},"content":{},"keywords":{}}],["packet.first",{"_index":2535,"title":{},"content":{"253":{"position":[[3502,12]]}},"keywords":{}}],["packet.read('ccsdsday",{"_index":2737,"title":{},"content":{"285":{"position":[[1247,25]]}},"keywords":{}}],["packet.read('ccsdsmsod",{"_index":2739,"title":{},"content":{"285":{"position":[[1286,25],[1572,25]]}},"keywords":{}}],["packet.read('ccsdsusom",{"_index":2741,"title":{},"content":{"285":{"position":[[1324,26],[1598,26]]}},"keywords":{}}],["packet/data",{"_index":1537,"title":{},"content":{"79":{"position":[[436,12],[486,11],[1183,11]]}},"keywords":{}}],["packet1",{"_index":4365,"title":{},"content":{"498":{"position":[[254,7],[381,7],[412,7],[595,7]]}},"keywords":{}}],["packet2",{"_index":4366,"title":{},"content":{"498":{"position":[[266,8],[488,7],[519,7],[606,7]]}},"keywords":{}}],["packet['buff",{"_index":5014,"title":{},"content":{"661":{"position":[[457,16]]}},"keywords":{}}],["packet['packet_name']}"",{"_index":4375,"title":{},"content":{"499":{"position":[[745,30],[1081,30]]},"676":{"position":[[631,30],[877,30],[1133,30],[1371,30]]}},"keywords":{}}],["packet['target_nam",{"_index":4374,"title":{},"content":{"499":{"position":[[720,24],[1057,23]]},"676":{"position":[[606,24],[852,24],[1109,23],[1347,23]]}},"keywords":{}}],["packet_nam",{"_index":1757,"title":{},"content":{"94":{"position":[[540,11],[990,11]]},"644":{"position":[[1203,14]]},"646":{"position":[[853,14]]},"648":{"position":[[895,14]]},"650":{"position":[[1083,14]]},"673":{"position":[[1392,14],[1506,14],[1626,14],[1748,14]]},"701":{"position":[[40,12]]},"702":{"position":[[311,14]]}},"keywords":{}}],["packet_tim",{"_index":2630,"title":{},"content":{"263":{"position":[[401,11],[1285,11],[1438,11],[1599,11]]}},"keywords":{}}],["packet_timeformat",{"_index":2625,"title":{},"content":{"263":{"position":[[91,21],[1645,20]]},"426":{"position":[[323,20]]},"652":{"position":[[111,23]]},"679":{"position":[[400,23]]}},"keywords":{}}],["packet_timesecond",{"_index":2624,"title":{},"content":{"263":{"position":[[71,19],[1622,18]]},"652":{"position":[[89,21]]},"679":{"position":[[377,22]]}},"keywords":{}}],["packetlog",{"_index":2051,"title":{},"content":{"168":{"position":[[415,10]]}},"keywords":{}}],["packets>",{"_index":5140,"title":{},"content":{"684":{"position":[[406,12]]},"688":{"position":[[292,12]]}},"keywords":{}}],["packets"",{"_index":878,"title":{},"content":{"40":{"position":[[754,13]]},"99":{"position":[[782,13]]}},"keywords":{}}],["packets.each",{"_index":4372,"title":{},"content":{"499":{"position":[[651,12]]},"676":{"position":[[537,12],[783,12]]}},"keywords":{}}],["packetswindow",{"_index":3572,"title":{},"content":{"357":{"position":[[3518,14]]}},"keywords":{}}],["pad",{"_index":850,"title":{"378":{"position":[[0,8]]}},"content":{"36":{"position":[[10653,7]]},"378":{"position":[[17,7],[26,7],[323,7]]}},"keywords":{}}],["page",{"_index":467,"title":{},"content":{"20":{"position":[[1563,5]]},"44":{"position":[[1599,4]]},"84":{"position":[[1070,4]]},"90":{"position":[[194,4],[409,4]]},"188":{"position":[[142,4]]},"253":{"position":[[1708,5]]},"254":{"position":[[506,4],[2055,4],[2884,5]]},"321":{"position":[[4021,5]]},"322":{"position":[[85,5]]},"362":{"position":[[408,4]]},"394":{"position":[[99,4]]},"462":{"position":[[683,5]]},"468":{"position":[[269,5]]},"472":{"position":[[185,5]]},"541":{"position":[[206,5]]},"542":{"position":[[218,5]]},"566":{"position":[[221,5],[269,5],[364,4]]}},"keywords":{}}],["pagin",{"_index":4456,"title":{},"content":{"527":{"position":[[556,10]]},"541":{"position":[[134,9]]},"542":{"position":[[137,9]]}},"keywords":{}}],["pain",{"_index":128,"title":{},"content":{"3":{"position":[[666,5]]}},"keywords":{}}],["pair",{"_index":709,"title":{},"content":{"36":{"position":[[2712,4],[2762,5]]},"43":{"position":[[145,5]]},"79":{"position":[[428,4],[498,4]]},"202":{"position":[[2712,4],[2762,5]]},"242":{"position":[[158,5]]},"267":{"position":[[1937,4],[1974,5]]},"525":{"position":[[606,5]]},"675":{"position":[[262,5]]},"762":{"position":[[169,5]]},"763":{"position":[[172,5]]}},"keywords":{}}],["pane",{"_index":3297,"title":{},"content":{"345":{"position":[[516,4]]}},"keywords":{}}],["param",{"_index":1488,"title":{},"content":{"71":{"position":[[172,6]]},"88":{"position":[[221,6]]},"357":{"position":[[497,7]]},"404":{"position":[[832,6]]},"411":{"position":[[221,6],[725,6]]},"429":{"position":[[1008,6]]},"636":{"position":[[903,5],[1018,5]]},"637":{"position":[[1125,5],[1240,5]]},"638":{"position":[[1146,5],[1261,5]]},"639":{"position":[[1179,5],[1294,5]]},"640":{"position":[[979,5],[1094,5]]},"641":{"position":[[1196,5],[1311,5]]},"642":{"position":[[1217,5],[1332,5]]},"643":{"position":[[1250,5],[1365,5]]},"649":{"position":[[414,5],[468,5],[1141,5]]},"651":{"position":[[206,6],[326,6]]},"659":{"position":[[215,6],[343,6]]}},"keywords":{}}],["paramet",{"_index":140,"title":{"5":{"position":[[10,11]]},"35":{"position":[[0,10]]},"36":{"position":[[0,9]]},"201":{"position":[[0,10]]},"202":{"position":[[0,9]]}},"content":{"5":{"position":[[80,11],[201,10],[312,10],[349,10],[406,10],[441,10],[561,9],[1065,10],[1127,9],[1252,9],[1368,10]]},"7":{"position":[[367,9]]},"11":{"position":[[282,9]]},"12":{"position":[[122,9]]},"13":{"position":[[26,9],[95,9],[204,9],[307,10],[319,9],[386,10],[412,9]]},"14":{"position":[[222,9]]},"15":{"position":[[364,9]]},"16":{"position":[[364,9]]},"32":{"position":[[65,9]]},"33":{"position":[[31,9],[503,10],[520,9],[719,10],[736,9]]},"35":{"position":[[11,9],[43,9],[90,10],[212,10],[329,11],[372,10],[591,9],[678,9],[807,10],[824,9],[899,9],[959,9],[1011,10],[1069,9],[1174,9],[1458,10],[1475,9],[1542,10],[1600,9],[1705,9]]},"36":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6161,9],[6301,9],[6791,9],[6932,9],[7855,10],[8072,11],[8488,10],[8765,10],[8956,9],[10234,9],[10493,9],[10568,10],[10744,9],[10812,10]]},"37":{"position":[[11,9],[43,9],[90,10],[165,10],[384,9],[471,9],[600,10],[617,9],[692,9],[752,9],[804,10],[862,9],[967,9],[1251,10],[1268,9],[1335,10],[1393,9],[1498,9]]},"38":{"position":[[90,9]]},"39":{"position":[[210,9]]},"49":{"position":[[221,9]]},"50":{"position":[[245,9]]},"51":{"position":[[84,9]]},"52":{"position":[[207,9]]},"54":{"position":[[2671,10],[2883,10],[2911,9],[3115,9],[3175,10]]},"56":{"position":[[280,9],[638,10]]},"58":{"position":[[616,9]]},"59":{"position":[[505,9]]},"60":{"position":[[734,9]]},"61":{"position":[[562,9]]},"62":{"position":[[437,9]]},"63":{"position":[[1262,9]]},"64":{"position":[[300,9]]},"66":{"position":[[137,9]]},"67":{"position":[[100,9]]},"68":{"position":[[113,9]]},"69":{"position":[[218,10],[361,10],[514,10]]},"75":{"position":[[112,9]]},"76":{"position":[[135,9]]},"77":{"position":[[134,9]]},"78":{"position":[[126,9]]},"79":{"position":[[275,11],[839,9]]},"93":{"position":[[235,9],[462,9],[732,10],[774,9],[923,10],[949,9],[1087,9],[1162,10],[1460,9],[1641,10]]},"94":{"position":[[446,9],[569,9],[714,10],[740,9],[889,9]]},"120":{"position":[[337,11]]},"121":{"position":[[706,9]]},"123":{"position":[[355,9],[842,10]]},"125":{"position":[[37,9]]},"126":{"position":[[71,9]]},"127":{"position":[[72,9]]},"130":{"position":[[209,9]]},"133":{"position":[[326,9]]},"134":{"position":[[369,9],[640,10],[662,10]]},"135":{"position":[[7,9],[192,9],[600,10],[611,10]]},"136":{"position":[[142,9]]},"137":{"position":[[68,9]]},"138":{"position":[[223,9]]},"139":{"position":[[149,9]]},"140":{"position":[[117,9]]},"141":{"position":[[126,9]]},"142":{"position":[[105,9]]},"143":{"position":[[392,9],[632,10]]},"144":{"position":[[23,9]]},"146":{"position":[[73,9]]},"147":{"position":[[56,9]]},"148":{"position":[[78,9]]},"149":{"position":[[48,9]]},"150":{"position":[[63,9]]},"151":{"position":[[85,9]]},"152":{"position":[[50,9]]},"153":{"position":[[82,9]]},"154":{"position":[[58,9]]},"155":{"position":[[80,9]]},"156":{"position":[[50,9]]},"157":{"position":[[65,9]]},"158":{"position":[[87,9]]},"159":{"position":[[52,9]]},"160":{"position":[[61,9]]},"161":{"position":[[59,9]]},"162":{"position":[[58,9]]},"163":{"position":[[58,9]]},"164":{"position":[[58,9]]},"165":{"position":[[46,9]]},"167":{"position":[[63,9]]},"168":{"position":[[303,9]]},"169":{"position":[[78,9]]},"170":{"position":[[139,9]]},"171":{"position":[[180,9]]},"173":{"position":[[52,9]]},"174":{"position":[[207,9]]},"175":{"position":[[150,9]]},"176":{"position":[[288,9]]},"177":{"position":[[232,9]]},"178":{"position":[[101,9]]},"179":{"position":[[261,9]]},"180":{"position":[[110,9]]},"181":{"position":[[102,9]]},"182":{"position":[[105,9]]},"183":{"position":[[145,9]]},"184":{"position":[[261,9]]},"186":{"position":[[120,9]]},"187":{"position":[[136,9]]},"188":{"position":[[269,9]]},"189":{"position":[[81,9]]},"190":{"position":[[109,9]]},"191":{"position":[[140,9]]},"192":{"position":[[272,9]]},"193":{"position":[[137,9]]},"194":{"position":[[96,9]]},"196":{"position":[[139,9]]},"198":{"position":[[812,10],[1333,11]]},"199":{"position":[[31,9]]},"201":{"position":[[19,9],[60,9],[107,10],[240,10],[358,11],[401,10],[620,9],[707,9],[836,10],[853,9],[928,9],[988,9],[1040,10],[1098,9],[1203,9],[1487,10],[1504,9],[1571,10],[1629,9],[1734,9],[1949,9],[2032,9],[2090,9],[2129,9],[2208,9]]},"202":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6161,9],[6301,9],[6791,9],[6932,9],[7855,10],[8072,11],[8488,10],[8765,10],[8956,9],[10234,9]]},"203":{"position":[[19,9],[60,9],[107,10],[184,10],[403,9],[490,9],[619,10],[636,9],[711,9],[771,9],[823,10],[881,9],[986,9],[1270,10],[1287,9],[1354,10],[1412,9],[1517,9]]},"204":{"position":[[35,9],[79,10],[283,9],[330,10],[463,10],[571,10],[790,9],[877,9],[1006,10],[1023,9],[1098,9],[1158,9],[1212,10],[1347,9],[1631,10],[1648,9],[1715,10],[1773,9],[1878,9]]},"205":{"position":[[35,9],[79,10],[283,9],[330,10],[407,10],[626,9],[713,9],[842,10],[859,9],[934,9],[994,9],[1048,10],[1183,9],[1467,10],[1484,9],[1551,10],[1609,9],[1714,9]]},"206":{"position":[[19,9],[77,9],[124,10],[257,10],[375,11]]},"207":{"position":[[19,9],[77,9],[124,10]]},"208":{"position":[[29,9],[282,9],[334,9]]},"209":{"position":[[44,9],[94,9],[175,10],[217,10],[345,9],[371,10],[383,9],[435,9]]},"213":{"position":[[222,9]]},"214":{"position":[[142,9]]},"215":{"position":[[275,9]]},"216":{"position":[[214,11],[250,9]]},"217":{"position":[[210,11],[247,9]]},"218":{"position":[[84,9]]},"219":{"position":[[90,9]]},"220":{"position":[[68,9]]},"221":{"position":[[70,9]]},"224":{"position":[[172,9]]},"225":{"position":[[269,10],[281,9]]},"226":{"position":[[125,9],[207,9],[287,9],[468,9],[556,9],[647,9],[733,9],[857,9],[1003,9],[1085,9],[1165,9],[1346,9],[1434,9],[1525,9],[1611,9],[1655,9],[1773,9],[1855,9],[1935,9],[2116,9],[2204,9],[2295,9]]},"227":{"position":[[3080,9],[3227,9],[4004,9]]},"253":{"position":[[3255,10],[3366,10],[3540,9],[3785,9],[3955,9]]},"254":{"position":[[1165,9]]},"264":{"position":[[33,9]]},"266":{"position":[[59,9],[618,9]]},"267":{"position":[[99,9],[308,9],[550,9],[828,9],[1010,9],[1433,9],[1649,9],[2325,9],[3224,10],[3474,9],[3775,9],[3796,9],[4840,9],[5533,9],[6732,11],[7307,9],[8430,9],[10468,9]]},"268":{"position":[[59,9],[410,9]]},"269":{"position":[[229,9]]},"270":{"position":[[59,9]]},"271":{"position":[[76,9]]},"272":{"position":[[76,9]]},"273":{"position":[[282,9]]},"274":{"position":[[356,9]]},"275":{"position":[[231,9]]},"276":{"position":[[79,9]]},"279":{"position":[[275,9]]},"282":{"position":[[277,9]]},"283":{"position":[[717,9]]},"284":{"position":[[207,9]]},"303":{"position":[[299,10],[732,10],[819,10],[923,10],[1093,9],[1238,10],[1309,9],[1496,10],[1733,11],[1811,10]]},"320":{"position":[[1239,9]]},"321":{"position":[[3931,10],[3951,10]]},"369":{"position":[[149,10],[193,9]]},"371":{"position":[[105,9]]},"372":{"position":[[60,9]]},"373":{"position":[[498,9]]},"374":{"position":[[166,11]]},"375":{"position":[[93,9]]},"376":{"position":[[95,9]]},"377":{"position":[[95,9]]},"378":{"position":[[97,9]]},"379":{"position":[[63,9],[196,10]]},"380":{"position":[[57,9],[190,10]]},"381":{"position":[[68,9],[201,10]]},"382":{"position":[[43,9]]},"383":{"position":[[498,9]]},"384":{"position":[[355,9],[571,10],[593,10]]},"386":{"position":[[258,9]]},"387":{"position":[[172,9]]},"388":{"position":[[106,9]]},"389":{"position":[[130,9]]},"390":{"position":[[107,9]]},"391":{"position":[[138,9]]},"393":{"position":[[60,9]]},"394":{"position":[[49,9]]},"396":{"position":[[136,9]]},"398":{"position":[[48,9]]},"399":{"position":[[48,9]]},"400":{"position":[[69,10]]},"401":{"position":[[62,9]]},"402":{"position":[[62,9]]},"403":{"position":[[395,9]]},"404":{"position":[[37,9],[1037,9]]},"405":{"position":[[64,9]]},"406":{"position":[[58,9]]},"407":{"position":[[66,9]]},"408":{"position":[[78,9]]},"409":{"position":[[81,9]]},"410":{"position":[[77,9]]},"411":{"position":[[345,9],[969,9]]},"412":{"position":[[74,9]]},"413":{"position":[[72,9]]},"414":{"position":[[58,9]]},"415":{"position":[[47,9]]},"416":{"position":[[50,9]]},"417":{"position":[[46,9]]},"418":{"position":[[44,9],[771,9],[1332,9],[1487,9],[1645,9],[1773,9],[1898,9],[1991,9]]},"419":{"position":[[78,9],[824,9],[1385,9],[1540,9],[1698,9],[1826,9],[1951,9],[2044,9]]},"420":{"position":[[62,9],[796,9],[1357,9],[1512,9],[1670,9],[1798,9],[1923,9],[2016,9]]},"421":{"position":[[43,9]]},"422":{"position":[[68,9]]},"423":{"position":[[56,9]]},"424":{"position":[[96,9]]},"425":{"position":[[90,9]]},"426":{"position":[[42,9]]},"427":{"position":[[286,9]]},"429":{"position":[[1347,11],[1578,9]]},"430":{"position":[[118,9]]},"431":{"position":[[137,9]]},"432":{"position":[[120,9]]},"433":{"position":[[98,9]]},"434":{"position":[[220,9]]},"435":{"position":[[59,9]]},"436":{"position":[[120,9]]},"438":{"position":[[196,9]]},"439":{"position":[[29,9]]},"440":{"position":[[80,9]]},"441":{"position":[[34,9],[741,9]]},"442":{"position":[[272,9],[1301,9],[1654,9]]},"443":{"position":[[31,9]]},"444":{"position":[[144,9],[1217,9]]},"445":{"position":[[30,9]]},"476":{"position":[[4363,10]]},"530":{"position":[[170,9]]},"532":{"position":[[11,9],[44,9],[110,9]]},"533":{"position":[[212,10],[257,11],[286,9],[562,9]]},"534":{"position":[[255,11],[369,9],[467,10],[520,10]]},"623":{"position":[[322,9]]},"624":{"position":[[288,9]]},"627":{"position":[[468,9]]},"628":{"position":[[218,9]]},"629":{"position":[[139,9]]},"630":{"position":[[115,9]]},"632":{"position":[[919,9],[1047,10],[1071,9],[1120,10]]},"634":{"position":[[136,9]]},"636":{"position":[[749,9],[935,10],[962,10],[1054,10],[1148,9],[1234,9],[1384,10]]},"637":{"position":[[68,11],[162,9],[971,9],[1157,10],[1184,10],[1276,10],[1370,9],[1456,9]]},"638":{"position":[[992,9],[1178,10],[1205,10],[1297,10],[1391,9],[1477,9]]},"639":{"position":[[50,9],[252,11],[1025,9],[1211,10],[1238,10],[1330,10],[1424,9],[1510,9]]},"640":{"position":[[825,9],[1011,10],[1038,10],[1130,10],[1224,9],[1310,9]]},"641":{"position":[[91,11],[185,9],[1042,9],[1228,10],[1255,10],[1347,10],[1441,9],[1527,9]]},"642":{"position":[[1063,9],[1249,10],[1276,10],[1368,10],[1462,9],[1548,9]]},"643":{"position":[[73,9],[275,11],[1096,9],[1282,10],[1309,10],[1401,10],[1495,9],[1581,9]]},"644":{"position":[[175,9],[209,10]]},"645":{"position":[[106,9]]},"646":{"position":[[232,9]]},"647":{"position":[[141,9]]},"648":{"position":[[227,9]]},"649":{"position":[[37,9],[273,9],[360,9],[387,10]]},"650":{"position":[[308,9]]},"651":{"position":[[231,9],[345,10],[441,9]]},"652":{"position":[[78,10],[400,9],[487,9],[522,10]]},"653":{"position":[[179,9]]},"654":{"position":[[235,9]]},"656":{"position":[[459,9]]},"657":{"position":[[401,9]]},"658":{"position":[[979,9]]},"659":{"position":[[246,9],[350,10]]},"660":{"position":[[249,9],[437,9]]},"661":{"position":[[291,9]]},"662":{"position":[[405,9],[501,9]]},"663":{"position":[[355,9]]},"664":{"position":[[118,9]]},"665":{"position":[[123,9]]},"666":{"position":[[185,9]]},"667":{"position":[[235,9]]},"668":{"position":[[246,9]]},"669":{"position":[[485,9]]},"670":{"position":[[211,9],[413,10]]},"671":{"position":[[352,9]]},"672":{"position":[[188,9]]},"675":{"position":[[193,9]]},"676":{"position":[[167,9]]},"677":{"position":[[195,9]]},"678":{"position":[[215,9]]},"679":{"position":[[229,9]]},"681":{"position":[[179,10],[498,9],[825,9],[1293,9],[1414,9]]},"682":{"position":[[557,9],[1060,9],[1181,9]]},"683":{"position":[[555,9],[847,9]]},"684":{"position":[[478,9],[728,9]]},"685":{"position":[[440,9],[905,9]]},"686":{"position":[[456,9],[956,9]]},"687":{"position":[[483,9]]},"688":{"position":[[364,9],[700,9]]},"690":{"position":[[317,9]]},"691":{"position":[[172,9]]},"692":{"position":[[174,9]]},"693":{"position":[[169,9]]},"694":{"position":[[171,9]]},"696":{"position":[[143,9]]},"699":{"position":[[169,9]]},"700":{"position":[[539,9]]},"702":{"position":[[179,9]]},"703":{"position":[[151,9],[285,9]]},"706":{"position":[[133,9]]},"709":{"position":[[186,9]]},"711":{"position":[[149,10],[178,9],[247,10],[258,10],[353,10]]},"712":{"position":[[145,9]]},"713":{"position":[[192,9]]},"714":{"position":[[190,9]]},"716":{"position":[[254,9],[358,9],[453,9],[550,9]]},"717":{"position":[[310,9],[417,10],[432,10]]},"718":{"position":[[326,9],[433,10],[448,10]]},"720":{"position":[[110,10],[139,9],[199,10],[210,10],[299,10]]},"721":{"position":[[107,9]]},"723":{"position":[[173,9]]},"725":{"position":[[183,9]]},"726":{"position":[[181,9]]},"727":{"position":[[294,9],[395,10],[410,10]]},"728":{"position":[[336,9],[437,10],[452,10]]},"730":{"position":[[108,9]]},"731":{"position":[[102,9]]},"734":{"position":[[125,9]]},"736":{"position":[[59,10],[117,10],[235,9]]},"737":{"position":[[461,9]]},"739":{"position":[[222,9]]},"740":{"position":[[139,9]]},"742":{"position":[[152,9]]},"744":{"position":[[192,9]]},"745":{"position":[[287,9]]},"746":{"position":[[384,9]]},"748":{"position":[[107,9]]},"750":{"position":[[196,9]]},"754":{"position":[[672,9]]},"760":{"position":[[91,9]]},"761":{"position":[[88,9],[121,10]]},"762":{"position":[[113,9],[209,10],[281,10]]},"763":{"position":[[116,9],[213,10],[298,10]]},"768":{"position":[[239,9]]},"769":{"position":[[238,9]]},"771":{"position":[[67,9]]},"772":{"position":[[125,9]]},"773":{"position":[[300,9]]},"774":{"position":[[136,9]]},"775":{"position":[[140,9]]}},"keywords":{}}],["parameter"",{"_index":730,"title":{},"content":{"36":{"position":[[3661,15]]},"202":{"position":[[3661,15]]}},"keywords":{}}],["parameter/argu",{"_index":4027,"title":{},"content":{"454":{"position":[[48,18]]}},"keywords":{}}],["parameter_name_1",{"_index":1724,"title":{},"content":{"93":{"position":[[574,16]]}},"keywords":{}}],["parameter_name_2",{"_index":1726,"title":{},"content":{"93":{"position":[[610,16]]}},"keywords":{}}],["parameter_value_1",{"_index":1725,"title":{},"content":{"93":{"position":[[591,18]]}},"keywords":{}}],["parameter_value_2",{"_index":1727,"title":{},"content":{"93":{"position":[[627,18]]}},"keywords":{}}],["parameters>"",{"_index":5340,"title":{},"content":{"717":{"position":[[286,21]]},"718":{"position":[[302,21]]},"727":{"position":[[270,21]]},"728":{"position":[[293,21]]}},"keywords":{}}],["parameters"",{"_index":2874,"title":{},"content":{"303":{"position":[[1770,16]]}},"keywords":{}}],["parametersdis",{"_index":4466,"title":{},"content":{"532":{"position":[[87,18]]}},"keywords":{}}],["pariti",{"_index":1250,"title":{},"content":{"52":{"position":[[505,6],[524,7]]},"108":{"position":[[83,6]]},"338":{"position":[[582,6],[619,6],[1281,6]]}},"keywords":{}}],["pars",{"_index":149,"title":{},"content":{"5":{"position":[[291,6],[1228,7]]},"6":{"position":[[779,7]]},"44":{"position":[[1949,7]]},"90":{"position":[[559,5]]},"133":{"position":[[258,5]]},"368":{"position":[[39,6]]},"609":{"position":[[79,5]]},"611":{"position":[[734,6]]}},"keywords":{}}],["part",{"_index":262,"title":{},"content":{"7":{"position":[[602,4]]},"62":{"position":[[319,4]]},"69":{"position":[[1070,4],[1344,4]]},"257":{"position":[[306,4],[1415,4],[1491,4],[1874,4]]},"329":{"position":[[553,4]]},"384":{"position":[[95,5]]},"433":{"position":[[55,4]]},"484":{"position":[[21,4]]},"502":{"position":[[192,4]]},"585":{"position":[[782,4]]},"586":{"position":[[746,4]]},"605":{"position":[[493,4]]}},"keywords":{}}],["parti",{"_index":4050,"title":{},"content":{"459":{"position":[[68,6]]},"469":{"position":[[163,8],[235,8],[689,7]]}},"keywords":{}}],["partial",{"_index":261,"title":{},"content":{"7":{"position":[[583,7]]},"492":{"position":[[476,9]]}},"keywords":{}}],["particip",{"_index":2177,"title":{},"content":{"222":{"position":[[54,13]]},"281":{"position":[[54,13]]}},"keywords":{}}],["particular",{"_index":1935,"title":{},"content":{"123":{"position":[[89,10]]},"204":{"position":[[141,10]]},"205":{"position":[[141,10]]},"208":{"position":[[228,10]]},"233":{"position":[[866,10]]},"260":{"position":[[328,10]]},"273":{"position":[[228,10]]},"283":{"position":[[217,10]]},"304":{"position":[[944,10]]},"360":{"position":[[863,10]]},"367":{"position":[[240,10]]},"457":{"position":[[334,10]]},"591":{"position":[[210,10]]},"646":{"position":[[59,10]]},"647":{"position":[[45,10]]},"651":{"position":[[41,10]]},"773":{"position":[[8,10]]},"774":{"position":[[8,10]]},"775":{"position":[[10,10]]}},"keywords":{}}],["partit",{"_index":3148,"title":{},"content":{"324":{"position":[[920,9]]}},"keywords":{}}],["pass",{"_index":758,"title":{},"content":{"36":{"position":[[4981,6],[5361,6],[8973,6]]},"42":{"position":[[84,4]]},"44":{"position":[[898,5]]},"49":{"position":[[356,4],[480,4],[669,4]]},"50":{"position":[[556,4]]},"52":{"position":[[311,4],[423,4],[748,4]]},"56":{"position":[[396,6]]},"63":{"position":[[938,6]]},"69":{"position":[[1963,6],[2556,6],[2881,6],[2999,6]]},"72":{"position":[[344,4]]},"79":{"position":[[517,6]]},"135":{"position":[[625,4]]},"136":{"position":[[465,4]]},"179":{"position":[[1,4],[69,4],[217,4]]},"198":{"position":[[1303,4]]},"202":{"position":[[4981,6],[5361,6],[8973,6]]},"215":{"position":[[390,6]]},"224":{"position":[[497,6]]},"227":{"position":[[262,6],[1669,7],[1835,4]]},"242":{"position":[[62,4]]},"267":{"position":[[3842,6],[10721,6]]},"276":{"position":[[374,6]]},"339":{"position":[[246,6],[443,6]]},"373":{"position":[[264,7],[405,4],[436,4]]},"379":{"position":[[211,6]]},"380":{"position":[[205,6]]},"381":{"position":[[216,6]]},"383":{"position":[[264,7],[405,4],[436,4]]},"448":{"position":[[234,4]]},"449":{"position":[[331,6]]},"464":{"position":[[631,7]]},"476":{"position":[[2082,6],[2997,6],[4950,7]]},"482":{"position":[[1196,4],[1369,4]]},"500":{"position":[[262,4]]},"501":{"position":[[305,6],[370,7]]},"504":{"position":[[209,4]]},"600":{"position":[[283,7]]},"607":{"position":[[642,4]]},"621":{"position":[[4849,4]]},"623":{"position":[[501,6]]},"624":{"position":[[467,6]]},"656":{"position":[[1058,6],[1415,6]]},"658":{"position":[[896,7]]},"680":{"position":[[110,5]]},"745":{"position":[[617,4],[889,4]]},"746":{"position":[[1079,4],[1379,4]]},"754":{"position":[[799,6],[858,6],[957,6],[1017,6],[1722,4],[1799,4],[1853,4],[1906,4]]}},"keywords":{}}],["pass/failed/skip",{"_index":4353,"title":{},"content":{"497":{"position":[[98,19]]}},"keywords":{}}],["passphrase.out",{"_index":462,"title":{},"content":{"20":{"position":[[1195,14]]}},"keywords":{}}],["password",{"_index":580,"title":{},"content":{"27":{"position":[[369,9],[388,8],[511,8],[578,8],[889,8]]},"42":{"position":[[100,8]]},"43":{"position":[[136,8],[385,8]]},"44":{"position":[[2360,9]]},"103":{"position":[[97,8]]},"227":{"position":[[1780,8]]},"242":{"position":[[223,10]]},"293":{"position":[[57,8]]},"347":{"position":[[1068,9],[1139,8],[1319,8]]},"623":{"position":[[539,8],[580,8],[809,8],[1030,8]]},"624":{"position":[[505,8],[546,8],[811,8],[1075,8]]},"769":{"position":[[145,9]]}},"keywords":{}}],["password"",{"_index":902,"title":{},"content":{"42":{"position":[[245,14]]},"95":{"position":[[993,14]]},"623":{"position":[[841,15],[1062,15]]},"624":{"position":[[850,15],[1114,15]]}},"keywords":{}}],["passwordless",{"_index":3338,"title":{},"content":{"347":{"position":[[1391,12]]}},"keywords":{}}],["passwork",{"_index":5562,"title":{},"content":{"769":{"position":[[38,8]]}},"keywords":{}}],["past",{"_index":1663,"title":{},"content":{"84":{"position":[[688,6],[878,5]]},"304":{"position":[[1613,6]]},"325":{"position":[[167,5]]},"371":{"position":[[98,4],[217,4]]},"487":{"position":[[481,8]]},"527":{"position":[[584,4]]},"561":{"position":[[80,4]]},"612":{"position":[[278,4]]},"617":{"position":[[542,4]]}},"keywords":{}}],["patch",{"_index":2581,"title":{},"content":{"254":{"position":[[1850,5]]}},"keywords":{}}],["path",{"_index":594,"title":{},"content":{"27":{"position":[[1047,5]]},"84":{"position":[[903,4]]},"136":{"position":[[368,4],[407,4]]},"138":{"position":[[103,4],[174,4],[322,4],[393,4]]},"174":{"position":[[87,4],[158,4],[306,4],[377,4]]},"181":{"position":[[328,4],[367,4]]},"194":{"position":[[185,4]]},"217":{"position":[[291,4],[309,4]]},"253":{"position":[[266,5],[773,4]]},"257":{"position":[[850,5],[1085,4]]},"291":{"position":[[267,4],[1215,4],[1471,4]]},"292":{"position":[[50,4],[180,5],[246,5]]},"313":{"position":[[214,5]]},"337":{"position":[[119,4],[135,4],[179,4]]},"394":{"position":[[87,4]]},"495":{"position":[[428,5]]},"518":{"position":[[105,5]]},"519":{"position":[[85,5]]},"628":{"position":[[248,4]]},"629":{"position":[[169,4]]},"630":{"position":[[145,4]]},"669":{"position":[[347,5]]},"736":{"position":[[397,5],[426,5]]},"737":{"position":[[627,4]]}},"keywords":{}}],["path>"",{"_index":4755,"title":{},"content":{"628":{"position":[[102,15],[184,15]]},"629":{"position":[[95,15]]},"630":{"position":[[97,15]]}},"keywords":{}}],["path=/auth/realms/openc3",{"_index":972,"title":{},"content":{"43":{"position":[[942,26],[1064,26]]}},"keywords":{}}],["path=~/cosmo",{"_index":2821,"title":{},"content":{"292":{"position":[[312,13]]}},"keywords":{}}],["path_to_openc3/openc3.sh",{"_index":3038,"title":{},"content":{"320":{"position":[[403,25],[474,25]]},"321":{"position":[[3580,25]]}},"keywords":{}}],["pattern",{"_index":1334,"title":{},"content":{"59":{"position":[[296,7],[417,8],[451,8],[687,7],[707,7],[763,7],[802,7],[858,7],[934,7],[975,8],[1024,7]]},"60":{"position":[[476,7],[638,8],[694,7],[1085,7],[1105,7],[1161,7],[1200,7],[1256,7],[1332,7],[1374,8],[1493,7]]},"61":{"position":[[455,8],[522,7],[858,7],[1210,8],[1365,7],[1862,7],[1882,7],[2061,7],[2100,7],[2156,7],[2232,7],[2274,8],[2388,7],[2455,7],[2808,7],[3275,8]]},"62":{"position":[[987,7],[1007,7],[1063,7],[1102,7],[1158,7],[1234,7],[1276,8],[1325,7]]},"63":{"position":[[2171,7],[2191,7],[2247,7],[2286,7],[2342,7],[2418,7],[2460,8],[2509,7]]},"64":{"position":[[343,7],[382,7],[438,7],[510,7],[545,7],[590,8]]},"247":{"position":[[153,8]]},"304":{"position":[[680,7]]},"364":{"position":[[1539,8]]},"478":{"position":[[56,7],[168,7],[898,8]]},"496":{"position":[[32,7],[271,8]]}},"keywords":{}}],["pattern"",{"_index":2129,"title":{},"content":{"201":{"position":[[2018,13]]},"203":{"position":[[1806,13]]}},"keywords":{}}],["paus",{"_index":2883,"title":{},"content":{"304":{"position":[[351,6],[2336,7],[2371,5],[2405,7],[2558,5],[2707,7],[3707,7],[5810,7],[5871,5]]},"490":{"position":[[480,5]]},"491":{"position":[[118,5]]},"495":{"position":[[1296,6]]},"505":{"position":[[263,7],[995,6]]},"544":{"position":[[347,6]]},"607":{"position":[[408,5]]},"612":{"position":[[95,5],[112,6]]},"617":{"position":[[592,5],[651,5]]},"656":{"position":[[131,6]]},"657":{"position":[[129,6]]},"658":{"position":[[82,6]]},"680":{"position":[[33,5]]},"681":{"position":[[1,6]]},"682":{"position":[[1,6]]},"683":{"position":[[1,6]]},"684":{"position":[[1,6]]},"685":{"position":[[53,6]]},"686":{"position":[[1,6]]},"687":{"position":[[1,6]]},"688":{"position":[[1,6]]}},"keywords":{}}],["pause/retri",{"_index":4622,"title":{},"content":{"617":{"position":[[568,11]]}},"keywords":{}}],["payload",{"_index":3104,"title":{},"content":{"321":{"position":[[3317,7]]}},"keywords":{}}],["pc",{"_index":3086,"title":{},"content":{"321":{"position":[[965,2]]}},"keywords":{}}],["pdf",{"_index":4501,"title":{},"content":{"566":{"position":[[122,4],[320,3],[372,4]]}},"keywords":{}}],["peg",{"_index":3847,"title":{},"content":{"410":{"position":[[310,8],[449,8]]},"417":{"position":[[279,8],[418,8]]},"423":{"position":[[289,8],[428,8]]}},"keywords":{}}],["pem",{"_index":595,"title":{"28":{"position":[[21,4]]}},"content":{"28":{"position":[[77,4],[135,3],[197,3]]},"291":{"position":[[875,5],[893,5]]}},"keywords":{}}],["pem.key",{"_index":599,"title":{},"content":{"28":{"position":[[225,8]]}},"keywords":{}}],["penalti",{"_index":2615,"title":{},"content":{"260":{"position":[[528,7]]},"504":{"position":[[446,7]]}},"keywords":{}}],["pencil",{"_index":4493,"title":{},"content":{"558":{"position":[[37,6],[107,6],[278,6]]},"592":{"position":[[14,6]]},"599":{"position":[[611,6]]}},"keywords":{}}],["peopl",{"_index":2572,"title":{},"content":{"254":{"position":[[349,6]]}},"keywords":{}}],["per",{"_index":695,"title":{},"content":{"36":{"position":[[1757,3],[1772,3]]},"61":{"position":[[1412,3],[1442,3]]},"202":{"position":[[1757,3],[1772,3]]},"227":{"position":[[5153,3]]},"239":{"position":[[1,3]]},"240":{"position":[[1,3],[208,3]]},"241":{"position":[[1,3]]},"243":{"position":[[1,3]]},"245":{"position":[[89,3]]},"247":{"position":[[1,3]]},"253":{"position":[[2553,3]]},"261":{"position":[[357,3]]},"267":{"position":[[1752,3],[1767,3]]},"307":{"position":[[545,3],[645,3]]},"338":{"position":[[834,3]]},"356":{"position":[[120,3]]},"357":{"position":[[130,3]]},"363":{"position":[[822,3],[835,3]]},"384":{"position":[[476,3]]},"401":{"position":[[368,3],[398,3]]},"402":{"position":[[368,3],[393,3],[428,3],[452,3]]},"453":{"position":[[79,3]]},"454":{"position":[[282,3]]},"476":{"position":[[1383,3]]},"596":{"position":[[90,3],[129,3]]}},"keywords":{}}],["percent",{"_index":2044,"title":{},"content":{"167":{"position":[[113,7]]}},"keywords":{}}],["percentag",{"_index":3876,"title":{},"content":{"422":{"position":[[55,11]]}},"keywords":{}}],["perform",{"_index":321,"title":{"357":{"position":[[0,11]]}},"content":{"11":{"position":[[261,7]]},"36":{"position":[[9168,12]]},"117":{"position":[[81,7]]},"118":{"position":[[118,7]]},"171":{"position":[[148,7]]},"202":{"position":[[9168,12]]},"240":{"position":[[1694,11]]},"249":{"position":[[539,7]]},"250":{"position":[[17,12]]},"260":{"position":[[516,11]]},"267":{"position":[[7293,12]]},"289":{"position":[[709,12]]},"297":{"position":[[362,7]]},"304":{"position":[[1462,7],[1554,7],[1740,7]]},"307":{"position":[[19,8]]},"355":{"position":[[100,11]]},"356":{"position":[[34,12],[204,8]]},"357":{"position":[[1,11],[34,9],[2474,11]]},"366":{"position":[[141,7]]},"429":{"position":[[148,7]]},"467":{"position":[[850,7]]},"476":{"position":[[2361,7],[3273,7]]},"480":{"position":[[313,7]]},"482":{"position":[[893,10]]},"483":{"position":[[49,7]]},"487":{"position":[[302,9]]},"499":{"position":[[223,7]]},"501":{"position":[[70,7]]},"505":{"position":[[618,7]]},"511":{"position":[[232,8]]},"514":{"position":[[57,7]]},"599":{"position":[[438,11]]},"617":{"position":[[279,7]]},"637":{"position":[[35,10]]},"638":{"position":[[35,10]]},"639":{"position":[[35,10]]},"641":{"position":[[58,10]]},"642":{"position":[[58,10]]},"643":{"position":[[58,10]]},"644":{"position":[[253,7]]},"656":{"position":[[1,8],[663,7]]},"658":{"position":[[131,7]]},"681":{"position":[[1029,7]]},"683":{"position":[[157,7]]},"685":{"position":[[644,7]]},"687":{"position":[[153,7]]}},"keywords":{}}],["perform_common_math(gimbal.gimbal_step",{"_index":4303,"title":{},"content":{"487":{"position":[[1153,40],[1625,40]]}},"keywords":{}}],["perform_common_math(x",{"_index":4296,"title":{},"content":{"487":{"position":[[982,22],[1448,22]]}},"keywords":{}}],["perhap",{"_index":2892,"title":{},"content":{"304":{"position":[[1051,7]]}},"keywords":{}}],["period",{"_index":1403,"title":{},"content":{"63":{"position":[[2646,6]]},"66":{"position":[[286,6]]},"165":{"position":[[1,6]]},"289":{"position":[[1004,6]]},"369":{"position":[[415,6]]},"459":{"position":[[1404,7]]},"550":{"position":[[154,7]]}},"keywords":{}}],["perman",{"_index":3256,"title":{},"content":{"334":{"position":[[925,11]]},"605":{"position":[[268,14]]},"734":{"position":[[44,10]]},"746":{"position":[[90,11]]}},"keywords":{}}],["permiss",{"_index":1164,"title":{},"content":{"46":{"position":[[768,12]]},"341":{"position":[[227,11]]},"360":{"position":[[590,10]]},"467":{"position":[[67,11]]}},"keywords":{}}],["permit",{"_index":3899,"title":{},"content":{"428":{"position":[[158,6]]},"459":{"position":[[1233,7]]},"465":{"position":[[594,9]]}},"keywords":{}}],["perpetu",{"_index":3655,"title":{},"content":{"361":{"position":[[446,9]]}},"keywords":{}}],["persist",{"_index":1922,"title":{},"content":{"118":{"position":[[19,10]]},"171":{"position":[[156,10]]},"249":{"position":[[463,8]]},"267":{"position":[[8559,11]]},"700":{"position":[[1619,11]]}},"keywords":{}}],["person",{"_index":3609,"title":{},"content":{"359":{"position":[[386,9]]},"459":{"position":[[401,8],[1074,8],[1336,8],[1365,8],[1427,8],[1817,8]]},"460":{"position":[[50,10]]},"461":{"position":[[13,8]]},"462":{"position":[[23,8],[208,8]]},"463":{"position":[[32,8]]},"466":{"position":[[413,8],[643,8]]},"467":{"position":[[1060,8],[1451,8]]},"469":{"position":[[430,8],[520,8],[739,8],[813,8]]}},"keywords":{}}],["pfx",{"_index":559,"title":{"26":{"position":[[43,4]]},"27":{"position":[[33,4]]},"28":{"position":[[8,4]]}},"content":{"26":{"position":[[5,4],[314,4]]},"27":{"position":[[200,4],[456,4]]},"28":{"position":[[62,4]]}},"keywords":{}}],["phase",{"_index":1804,"title":{},"content":{"99":{"position":[[2170,6]]}},"keywords":{}}],["philosophi",{"_index":3694,"title":{"364":{"position":[[0,10]]},"477":{"position":[[10,11]]}},"content":{"364":{"position":[[0,10]]}},"keywords":{}}],["phone",{"_index":4088,"title":{},"content":{"461":{"position":[[841,5],[1035,5]]}},"keywords":{}}],["photo",{"_index":3974,"title":{},"content":{"441":{"position":[[502,5]]}},"keywords":{}}],["physic",{"_index":1917,"title":{},"content":{"115":{"position":[[26,8]]},"123":{"position":[[27,8]]},"320":{"position":[[1259,8]]}},"keywords":{}}],["pi",{"_index":25,"title":{"346":{"position":[[10,2]]},"347":{"position":[[28,2]]}},"content":{"1":{"position":[[257,3]]},"347":{"position":[[15,2],[217,2],[251,2],[282,2],[480,2],[650,2],[725,2],[794,2],[836,2],[1668,2],[1757,2],[1789,2],[1861,2],[1918,2],[2724,3]]},"355":{"position":[[31,2]]}},"keywords":{}}],["pick",{"_index":4369,"title":{},"content":{"499":{"position":[[462,4]]}},"keywords":{}}],["picker",{"_index":3941,"title":{},"content":{"432":{"position":[[17,6]]},"436":{"position":[[17,6]]}},"keywords":{}}],["pictur",{"_index":1888,"title":{},"content":{"108":{"position":[[527,8]]}},"keywords":{}}],["piec",{"_index":87,"title":{},"content":{"3":{"position":[[61,6],[307,6]]},"114":{"position":[[26,6],[202,6]]},"123":{"position":[[100,5]]},"608":{"position":[[95,5],[588,6]]}},"keywords":{}}],["pink",{"_index":4407,"title":{},"content":{"505":{"position":[[63,4]]}},"keywords":{}}],["pip",{"_index":1855,"title":{},"content":{"105":{"position":[[92,3],[161,3]]}},"keywords":{}}],["pixel",{"_index":3725,"title":{},"content":{"369":{"position":[[238,6],[331,6]]},"375":{"position":[[83,8],[138,6]]},"376":{"position":[[85,8],[142,6]]},"377":{"position":[[85,8],[138,6]]},"378":{"position":[[87,8],[140,6]]},"391":{"position":[[214,6]]},"399":{"position":[[107,6],[150,6]]},"405":{"position":[[397,6]]},"418":{"position":[[2036,6],[2065,6]]},"419":{"position":[[2089,6],[2118,6]]},"420":{"position":[[2061,6],[2090,6]]},"422":{"position":[[406,7]]},"443":{"position":[[398,6]]},"444":{"position":[[576,6]]},"445":{"position":[[192,6]]}},"keywords":{}}],["pkcs#12",{"_index":560,"title":{},"content":{"26":{"position":[[30,7]]}},"keywords":{}}],["pkcs12",{"_index":576,"title":{},"content":{"27":{"position":[[274,6],[703,6]]}},"keywords":{}}],["pkt",{"_index":2193,"title":{},"content":{"224":{"position":[[757,3],[803,3],[858,3],[949,3],[1195,3],[1242,3]]},"259":{"position":[[1489,3],[1756,3],[1823,3]]}},"keywords":{}}],["pkt_len",{"_index":3070,"title":{},"content":{"321":{"position":[[643,7],[1503,7],[2035,7],[2535,7],[3032,7]]}},"keywords":{}}],["pktid",{"_index":2647,"title":{},"content":{"266":{"position":[[1068,5]]},"268":{"position":[[867,5]]},"269":{"position":[[1165,5]]},"270":{"position":[[841,5]]}},"keywords":{}}],["pkts_rcvd",{"_index":5366,"title":{},"content":{"724":{"position":[[452,10],[767,13],[970,10]]}},"keywords":{}}],["pkts_sent",{"_index":5367,"title":{},"content":{"724":{"position":[[463,10],[981,9]]}},"keywords":{}}],["pkts_sent}"",{"_index":5369,"title":{},"content":{"724":{"position":[[795,18]]}},"keywords":{}}],["place",{"_index":221,"title":{},"content":{"6":{"position":[[536,6]]},"27":{"position":[[616,5]]},"58":{"position":[[678,5],[978,5]]},"198":{"position":[[232,6]]},"259":{"position":[[260,6]]},"262":{"position":[[655,6]]},"291":{"position":[[143,6],[372,5]]},"304":{"position":[[3856,5]]},"332":{"position":[[619,6]]},"364":{"position":[[1339,6]]},"385":{"position":[[110,6]]},"386":{"position":[[1,6],[163,6]]},"387":{"position":[[1,6],[216,5]]},"388":{"position":[[1,6]]},"389":{"position":[[1,6],[174,5]]},"390":{"position":[[1,6]]},"391":{"position":[[1,6]]},"392":{"position":[[35,5]]},"393":{"position":[[45,5]]},"396":{"position":[[92,6]]},"399":{"position":[[1,6]]},"437":{"position":[[103,6]]},"438":{"position":[[142,6]]},"451":{"position":[[98,5],[172,5]]},"452":{"position":[[126,6]]},"453":{"position":[[125,6]]},"461":{"position":[[738,5]]},"464":{"position":[[540,5]]},"476":{"position":[[708,6],[800,6],[3826,5]]},"482":{"position":[[505,6]]},"485":{"position":[[234,5],[333,5]]},"487":{"position":[[353,5]]},"497":{"position":[[387,6],[692,6]]},"522":{"position":[[89,6]]},"528":{"position":[[1380,6]]},"756":{"position":[[1,6]]},"757":{"position":[[1,6]]}},"keywords":{}}],["plain",{"_index":402,"title":{},"content":{"20":{"position":[[183,5]]},"26":{"position":[[212,5]]},"297":{"position":[[878,5]]},"298":{"position":[[1437,5]]},"344":{"position":[[280,5]]}},"keywords":{}}],["plan",{"_index":1671,"title":{"110":{"position":[[10,9]]}},"content":{"84":{"position":[[1386,4]]},"107":{"position":[[41,8]]},"108":{"position":[[619,8]]},"110":{"position":[[15,8],[69,8]]},"253":{"position":[[8323,4]]},"457":{"position":[[120,7]]}},"keywords":{}}],["platform",{"_index":2503,"title":{},"content":{"253":{"position":[[124,8]]},"289":{"position":[[279,9]]},"353":{"position":[[20,8]]},"355":{"position":[[82,9]]},"357":{"position":[[720,8],[2205,8],[2389,9],[3662,9],[4253,9]]},"507":{"position":[[325,8]]}},"keywords":{}}],["platformsredi",{"_index":3528,"title":{},"content":{"357":{"position":[[1941,14],[3431,14]]}},"keywords":{}}],["play",{"_index":2502,"title":{},"content":{"253":{"position":[[1,7]]}},"keywords":{}}],["play_wav_fil",{"_index":4628,"title":{},"content":{"620":{"position":[[241,13]]},"621":{"position":[[2894,13]]}},"keywords":{}}],["playback",{"_index":1877,"title":{},"content":{"108":{"position":[[267,8]]},"227":{"position":[[4650,8],[4803,8]]},"307":{"position":[[87,9]]},"309":{"position":[[382,8],[436,9]]}},"keywords":{}}],["playwright",{"_index":1828,"title":{"101":{"position":[[0,11]]},"103":{"position":[[0,10]]}},"content":{"102":{"position":[[57,10],[116,10],[135,10],[170,10]]},"103":{"position":[[238,10],[256,10],[515,10],[572,10]]}},"keywords":{}}],["playwright/coverage/index.html",{"_index":1847,"title":{},"content":{"103":{"position":[[647,30]]}},"keywords":{}}],["pleas",{"_index":129,"title":{},"content":{"3":{"position":[[672,6]]},"63":{"position":[[129,6]]},"81":{"position":[[1,6]]},"110":{"position":[[142,6]]},"123":{"position":[[867,6]]},"134":{"position":[[347,6]]},"143":{"position":[[657,6]]},"234":{"position":[[468,6]]},"235":{"position":[[640,6]]},"253":{"position":[[8105,6]]},"254":{"position":[[2978,6]]},"292":{"position":[[650,6],[776,6]]},"295":{"position":[[38,6]]},"328":{"position":[[588,6]]},"363":{"position":[[1004,6],[1415,6]]},"368":{"position":[[390,6]]},"449":{"position":[[667,6]]},"457":{"position":[[383,6]]},"471":{"position":[[82,6]]},"472":{"position":[[62,6],[163,6]]},"476":{"position":[[4274,6]]},"594":{"position":[[93,6]]},"619":{"position":[[128,6]]},"753":{"position":[[103,6]]}},"keywords":{}}],["plot",{"_index":2957,"title":{},"content":{"307":{"position":[[248,5],[539,5],[575,6],[649,5],[688,5],[879,8],[980,8]]}},"keywords":{}}],["plu",{"_index":298,"title":{},"content":{"9":{"position":[[133,4]]},"61":{"position":[[1072,4]]},"527":{"position":[[297,4]]},"564":{"position":[[92,4]]}},"keywords":{}}],["plug",{"_index":2475,"title":{},"content":{"246":{"position":[[336,4]]},"513":{"position":[[695,4]]},"628":{"position":[[413,4]]},"629":{"position":[[355,4]]}},"keywords":{}}],["plugin",{"_index":58,"title":{"111":{"position":[[0,7]]},"119":{"position":[[0,6]]},"229":{"position":[[0,6]]},"254":{"position":[[14,7]]},"320":{"position":[[18,6]]},"322":{"position":[[14,7]]},"485":{"position":[[31,7]]}},"content":{"2":{"position":[[497,8]]},"83":{"position":[[300,8]]},"108":{"position":[[148,6]]},"112":{"position":[[72,7],[80,7],[130,7],[497,6],[579,7],[655,6]]},"119":{"position":[[8,7]]},"120":{"position":[[60,7],[100,6],[145,6]]},"121":{"position":[[40,6],[140,6],[532,6]]},"122":{"position":[[30,6],[108,6]]},"138":{"position":[[151,7],[370,7]]},"171":{"position":[[61,6],[284,7]]},"174":{"position":[[135,7],[354,7]]},"184":{"position":[[40,6],[349,7]]},"229":{"position":[[5,6],[63,7],[85,6],[203,6],[230,6],[275,6],[286,6],[497,7],[512,7],[841,6],[937,7],[1185,6],[1277,6],[1365,6],[1432,6],[1498,8],[1579,6]]},"230":{"position":[[113,6]]},"231":{"position":[[125,6]]},"232":{"position":[[121,6]]},"233":{"position":[[131,6]]},"234":{"position":[[203,6]]},"235":{"position":[[114,6]]},"253":{"position":[[477,7],[963,7],[971,7],[1035,6],[1214,6],[1461,6],[1481,6],[1691,6],[2025,6],[2059,6],[2150,6],[2557,6],[6504,6],[6963,6],[7066,6],[8307,6]]},"254":{"position":[[26,6],[339,6],[367,6],[437,6],[525,7],[702,6],[1755,6],[2074,7],[2165,7],[2199,6],[2253,6],[2367,6],[2409,7],[2615,7],[2658,6]]},"257":{"position":[[66,8],[161,8],[192,7],[323,7],[358,7],[383,6],[696,7],[1211,6],[1458,6],[1641,6],[1867,6],[1929,6]]},"298":{"position":[[588,8]]},"311":{"position":[[73,7],[184,7],[213,6],[264,7],[293,6],[347,7],[367,6],[433,7],[625,7],[657,6]]},"320":{"position":[[43,7],[142,6],[191,6],[299,6],[334,6],[442,6],[548,7],[1314,7],[1412,7],[1559,6]]},"321":{"position":[[3519,6],[3548,6],[3637,6],[3777,7],[3924,6],[3984,6],[4014,6]]},"322":{"position":[[11,6],[53,6],[203,6],[1020,7],[1365,7],[1429,6],[1494,6],[1552,7],[1638,6]]},"327":{"position":[[230,6]]},"328":{"position":[[715,6],[1361,6],[1382,6]]},"331":{"position":[[415,6],[460,7]]},"334":{"position":[[76,7],[176,7],[352,6],[459,7],[501,6],[702,6],[725,7],[792,7],[1012,6],[1070,6],[1105,7],[1149,6]]},"338":{"position":[[925,6]]},"350":{"position":[[1341,6],[1424,6]]},"351":{"position":[[576,6]]},"359":{"position":[[843,8],[1317,8],[1330,7],[1442,7]]},"360":{"position":[[50,6],[125,6],[166,7],[179,6]]},"361":{"position":[[296,7]]},"362":{"position":[[479,7]]},"453":{"position":[[50,6],[217,6]]},"484":{"position":[[31,7],[63,6],[187,6]]},"485":{"position":[[110,7]]},"517":{"position":[[263,7],[567,8]]},"630":{"position":[[346,6]]}},"keywords":{}}],["plugin"",{"_index":2574,"title":{},"content":{"254":{"position":[[570,12]]}},"keywords":{}}],["plugin'",{"_index":237,"title":{},"content":{"6":{"position":[[1135,8]]},"321":{"position":[[3817,8]]},"322":{"position":[[1704,8]]},"328":{"position":[[51,8],[1533,8]]},"441":{"position":[[125,8]]},"485":{"position":[[162,8]]}},"keywords":{}}],["plugin.gemspec",{"_index":1909,"title":{},"content":{"112":{"position":[[542,14]]}},"keywords":{}}],["plugin.txt",{"_index":238,"title":{"120":{"position":[[0,10]]}},"content":{"6":{"position":[[1144,10]]},"49":{"position":[[822,10],[1677,10]]},"50":{"position":[[709,10],[1417,10]]},"51":{"position":[[865,10],[988,10]]},"52":{"position":[[901,10]]},"112":{"position":[[594,10]]},"120":{"position":[[3,10],[393,10]]},"121":{"position":[[472,10]]},"229":{"position":[[1149,10]]},"230":{"position":[[2495,10]]},"231":{"position":[[1158,10]]},"234":{"position":[[868,10]]},"235":{"position":[[1689,10]]},"257":{"position":[[1663,10]]},"320":{"position":[[567,10]]},"327":{"position":[[138,10]]},"331":{"position":[[388,10]]},"338":{"position":[[92,10]]},"343":{"position":[[744,11]]}},"keywords":{}}],["plugin_instance.json",{"_index":3247,"title":{},"content":{"331":{"position":[[318,20],[349,20]]}},"keywords":{}}],["plugins/default/openc3",{"_index":3246,"title":{},"content":{"331":{"position":[[216,22]]}},"keywords":{}}],["plugins/packages/openc3",{"_index":1655,"title":{},"content":{"84":{"position":[[238,23]]}},"keywords":{}}],["plugins/targets_modified/inst/procedures/checks.rb",{"_index":3250,"title":{},"content":{"332":{"position":[[486,51]]}},"keywords":{}}],["plugins](../configuration/plugin",{"_index":2554,"title":{},"content":{"253":{"position":[[6517,35]]}},"keywords":{}}],["pluginsgrafana",{"_index":3667,"title":{},"content":{"362":{"position":[[321,14]]}},"keywords":{}}],["png",{"_index":3875,"title":{},"content":{"421":{"position":[[340,4]]}},"keywords":{}}],["pod",{"_index":1934,"title":{},"content":{"122":{"position":[[338,4]]},"240":{"position":[[1888,3]]}},"keywords":{}}],["podman",{"_index":2757,"title":{"323":{"position":[[0,6]]},"324":{"position":[[29,6]]}},"content":{"289":{"position":[[200,6]]},"324":{"position":[[91,6],[174,6],[291,6],[511,7],[653,6],[1039,6],[1091,6],[1137,6],[1331,6],[1677,6],[2181,6],[2420,6],[2874,6],[3799,6],[3983,6],[3999,6]]},"325":{"position":[[9,6],[29,6],[46,6],[69,6],[89,6],[183,7]]}},"keywords":{}}],["podman.socket",{"_index":3182,"title":{},"content":{"324":{"position":[[2472,13]]}},"keywords":{}}],["point",{"_index":628,"title":{"498":{"position":[[45,5]]},"499":{"position":[[44,6]]}},"content":{"31":{"position":[[659,5]]},"62":{"position":[[186,5]]},"94":{"position":[[161,6],[232,6],[315,6],[399,5]]},"198":{"position":[[960,5]]},"227":{"position":[[1898,6]]},"235":{"position":[[847,5]]},"254":{"position":[[733,5],[920,5],[2399,5],[2631,5]]},"259":{"position":[[984,5]]},"300":{"position":[[595,5]]},"302":{"position":[[39,6],[108,6],[264,6],[321,7],[382,7],[418,6],[570,5],[637,6]]},"306":{"position":[[55,6]]},"307":{"position":[[50,6],[197,7],[638,6],[764,7],[777,6],[960,7],[973,6]]},"308":{"position":[[212,7],[248,6],[530,5]]},"332":{"position":[[549,5]]},"334":{"position":[[281,5],[475,5]]},"355":{"position":[[425,6]]},"357":{"position":[[2039,5]]},"366":{"position":[[504,6]]},"418":{"position":[[1866,6],[1943,6]]},"419":{"position":[[1919,6],[1996,6]]},"420":{"position":[[1891,6],[1968,6]]},"429":{"position":[[1190,5]]},"470":{"position":[[214,5]]},"483":{"position":[[226,5],[413,7],[1304,6]]},"486":{"position":[[228,6]]},"498":{"position":[[37,6],[141,5],[305,5]]},"499":{"position":[[76,5],[194,6],[278,6],[494,6]]},"500":{"position":[[312,7],[744,6]]},"501":{"position":[[257,5]]},"504":{"position":[[200,5],[822,5]]},"505":{"position":[[1163,6]]},"556":{"position":[[312,6],[333,5],[565,6],[586,5]]},"585":{"position":[[199,5]]},"586":{"position":[[214,5]]},"591":{"position":[[324,5]]},"592":{"position":[[363,5]]},"596":{"position":[[83,6]]},"599":{"position":[[279,7],[322,6],[381,6],[413,6],[514,6],[558,7]]},"607":{"position":[[293,5]]},"617":{"position":[[1005,6]]},"618":{"position":[[313,6],[964,6]]},"671":{"position":[[41,5]]},"672":{"position":[[35,5]]},"699":{"position":[[64,6]]},"700":{"position":[[60,6]]}},"keywords":{}}],["pointsgraph",{"_index":3868,"title":{},"content":{"418":{"position":[[1840,14]]},"419":{"position":[[1893,14]]},"420":{"position":[[1865,14]]}},"keywords":{}}],["pointssav",{"_index":3867,"title":{},"content":{"418":{"position":[[1715,12]]},"419":{"position":[[1768,12]]},"420":{"position":[[1740,12]]}},"keywords":{}}],["poli",{"_index":1421,"title":{},"content":{"67":{"position":[[703,4]]}},"keywords":{}}],["polici",{"_index":962,"title":{"458":{"position":[[21,6]]},"469":{"position":[[30,6]]},"470":{"position":[[20,7]]},"471":{"position":[[19,7]]}},"content":{"43":{"position":[[806,7]]},"465":{"position":[[686,7]]},"467":{"position":[[926,8]]},"469":{"position":[[13,6],[362,8]]},"470":{"position":[[35,7]]},"472":{"position":[[54,7]]}},"keywords":{}}],["policy":0,"session_state":"f3785967",{"_index":1004,"title":{},"content":{"43":{"position":[[4507,55]]}},"keywords":{}}],["poll",{"_index":1402,"title":{},"content":{"63":{"position":[[2638,7],[2687,7]]},"66":{"position":[[278,7],[327,7]]},"305":{"position":[[1068,7],[1121,7]]},"369":{"position":[[407,7]]},"674":{"position":[[165,7]]},"681":{"position":[[1184,7]]},"682":{"position":[[951,7]]},"683":{"position":[[737,7]]},"684":{"position":[[618,7]]},"685":{"position":[[796,7]]},"686":{"position":[[847,7]]},"687":{"position":[[662,7]]},"688":{"position":[[590,7]]}},"keywords":{}}],["poly_read_convers",{"_index":2656,"title":{},"content":{"267":{"position":[[4558,21],[5197,20]]},"285":{"position":[[1011,20]]}},"keywords":{}}],["poly_write_convers",{"_index":784,"title":{},"content":{"36":{"position":[[6078,22],[6658,21]]},"202":{"position":[[6078,22],[6658,21]]},"226":{"position":[[821,21]]}},"keywords":{}}],["polynomi",{"_index":785,"title":{},"content":{"36":{"position":[[6109,10],[6414,10],[6500,11],[6535,11],[6589,12],[6739,10],[7041,10],[7210,10],[7296,11],[7331,11],[7385,12]]},"67":{"position":[[708,10],[795,10]]},"202":{"position":[[6109,10],[6414,10],[6500,11],[6535,11],[6589,12],[6739,10],[7041,10],[7210,10],[7296,11],[7331,11],[7385,12]]},"267":{"position":[[4588,10],[4953,10],[5039,11],[5074,11],[5128,12],[5276,10],[5642,10],[5811,10],[5897,11],[5932,11],[5986,12]]},"618":{"position":[[542,10]]}},"keywords":{}}],["pool",{"_index":4457,"title":{},"content":{"528":{"position":[[232,4]]}},"keywords":{}}],["popul",{"_index":699,"title":{},"content":{"36":{"position":[[1953,9],[2201,8]]},"202":{"position":[[1953,9],[2201,8]]},"517":{"position":[[250,9]]},"530":{"position":[[149,8]]},"533":{"position":[[400,9]]},"564":{"position":[[243,8]]},"609":{"position":[[97,8]]}},"keywords":{}}],["popup",{"_index":640,"title":{},"content":{"33":{"position":[[635,6],[894,6]]},"36":{"position":[[3205,5]]},"202":{"position":[[3205,5]]},"210":{"position":[[138,5]]},"278":{"position":[[207,5]]},"606":{"position":[[333,5]]}},"keywords":{}}],["port",{"_index":495,"title":{"139":{"position":[[0,5]]},"175":{"position":[[0,5]]},"341":{"position":[[15,6]]}},"content":{"22":{"position":[[326,4]]},"23":{"position":[[30,4],[50,4],[228,6]]},"49":{"position":[[293,4],[298,4],[349,6],[414,4],[419,4],[473,6]]},"50":{"position":[[281,4],[286,4],[337,5],[352,4],[357,4],[411,5]]},"51":{"position":[[211,4],[216,4],[272,4],[277,4],[344,4],[349,4],[440,5]]},"52":{"position":[[57,5],[243,4],[267,4],[356,4],[380,4],[519,4]]},"69":{"position":[[565,4]]},"83":{"position":[[2094,5],[2369,5]]},"84":{"position":[[934,4]]},"89":{"position":[[110,4],[183,4]]},"115":{"position":[[180,6]]},"121":{"position":[[268,6]]},"139":{"position":[[21,4],[100,4],[186,4],[212,4],[266,4]]},"175":{"position":[[22,4],[101,4],[187,4],[213,4],[303,4]]},"241":{"position":[[355,5]]},"253":{"position":[[7787,4],[8379,5]]},"254":{"position":[[877,4]]},"257":{"position":[[102,7]]},"315":{"position":[[128,4],[204,4],[238,4],[301,6]]},"319":{"position":[[86,6]]},"320":{"position":[[643,4],[720,4]]},"322":{"position":[[1179,4],[1260,4],[1458,4],[1535,4]]},"324":{"position":[[3763,4],[3841,4]]},"338":{"position":[[449,4],[503,4],[880,4],[971,4],[1954,5],[2183,4]]},"340":{"position":[[8,5]]},"341":{"position":[[8,5]]},"347":{"position":[[2507,5]]},"350":{"position":[[198,4],[332,4],[662,4],[983,4]]},"621":{"position":[[62,6],[129,6]]},"711":{"position":[[521,5]]}},"keywords":{}}],["port_tc",{"_index":3040,"title":{},"content":{"320":{"position":[[698,7],[821,7],[1100,7]]}},"keywords":{}}],["port_tm",{"_index":3039,"title":{},"content":{"320":{"position":[[628,7],[799,7],[1121,7]]}},"keywords":{}}],["portabl",{"_index":4127,"title":{},"content":{"466":{"position":[[540,11]]}},"keywords":{}}],["portion",{"_index":1729,"title":{},"content":{"93":{"position":[[681,7]]},"277":{"position":[[124,7]]},"360":{"position":[[657,8]]},"403":{"position":[[164,7]]},"427":{"position":[[55,7]]},"505":{"position":[[933,7]]}},"keywords":{}}],["pos[x,y,z",{"_index":3479,"title":{},"content":{"357":{"position":[[611,10]]}},"keywords":{}}],["posit",{"_index":460,"title":{"192":{"position":[[0,9]]}},"content":{"20":{"position":[[1146,8]]},"54":{"position":[[345,8]]},"88":{"position":[[249,9]]},"192":{"position":[[16,8],[54,8],[140,8],[261,9],[321,8]]},"306":{"position":[[560,10]]},"371":{"position":[[305,9]]},"385":{"position":[[30,8]]},"439":{"position":[[61,8],[72,8],[139,8],[150,8]]},"440":{"position":[[207,8],[218,8],[285,8],[296,8]]},"441":{"position":[[174,8],[185,8],[253,8],[264,8]]},"442":{"position":[[615,8],[626,8],[694,8],[705,8],[1454,8],[1465,8],[1533,8],[1544,8]]},"443":{"position":[[69,8],[80,8],[141,8],[152,8],[211,8],[222,8],[279,8],[290,8]]},"444":{"position":[[277,8],[288,8],[349,8],[360,8],[419,8],[430,8],[487,8],[498,8]]},"445":{"position":[[62,8],[73,8],[100,8],[111,8]]},"739":{"position":[[43,9],[164,8],[195,8],[338,8],[407,8]]},"746":{"position":[[326,8],[357,8],[511,8],[580,8]]}},"keywords":{}}],["posix",{"_index":1244,"title":{},"content":{"52":{"position":[[108,5]]}},"keywords":{}}],["posprogress",{"_index":3838,"title":{},"content":{"405":{"position":[[579,11],[628,11]]},"422":{"position":[[584,11],[626,11]]}},"keywords":{}}],["possess",{"_index":4149,"title":{},"content":{"469":{"position":[[548,11]]}},"keywords":{}}],["possibl",{"_index":171,"title":{},"content":{"5":{"position":[[799,9]]},"54":{"position":[[264,8]]},"69":{"position":[[2956,8],[3286,14]]},"199":{"position":[[269,9]]},"264":{"position":[[298,9]]},"328":{"position":[[1846,13]]},"329":{"position":[[82,8]]},"362":{"position":[[722,9]]},"364":{"position":[[1382,9],[1476,8]]},"459":{"position":[[190,11]]},"469":{"position":[[669,8]]},"479":{"position":[[194,8]]},"495":{"position":[[335,13],[1018,9]]},"496":{"position":[[6,9]]},"746":{"position":[[660,8]]}},"keywords":{}}],["post",{"_index":915,"title":{},"content":{"42":{"position":[[493,4]]},"43":{"position":[[590,4],[6246,4]]},"44":{"position":[[799,6],[1388,6]]},"469":{"position":[[294,6]]},"470":{"position":[[51,4]]},"550":{"position":[[232,4]]}},"keywords":{}}],["post_check",{"_index":2184,"title":{},"content":{"224":{"position":[[152,10]]},"548":{"position":[[512,10]]}},"keywords":{}}],["post_check(packet",{"_index":2199,"title":{},"content":{"224":{"position":[[909,18]]}},"keywords":{}}],["post_check(self",{"_index":2207,"title":{},"content":{"224":{"position":[[1356,16]]}},"keywords":{}}],["post_write_interfac",{"_index":1485,"title":{"79":{"position":[[0,21]]}},"content":{"69":{"position":[[4829,22]]},"79":{"position":[[5,20],[638,22]]}},"keywords":{}}],["post_write_interface(packet",{"_index":1540,"title":{},"content":{"79":{"position":[[959,28]]}},"keywords":{}}],["post_write_interface(self",{"_index":1541,"title":{},"content":{"79":{"position":[[1059,26]]}},"keywords":{}}],["postgresql",{"_index":2446,"title":{},"content":{"240":{"position":[[1809,10]]},"357":{"position":[[1853,10],[3344,10]]}},"keywords":{}}],["potenti",{"_index":1478,"title":{},"content":{"69":{"position":[[4024,11]]},"75":{"position":[[45,11]]},"76":{"position":[[47,11]]},"77":{"position":[[48,11]]},"78":{"position":[[46,11]]},"231":{"position":[[961,9]]},"257":{"position":[[546,11]]},"291":{"position":[[937,11]]},"578":{"position":[[1095,11]]},"607":{"position":[[531,11]]}},"keywords":{}}],["pound",{"_index":4210,"title":{},"content":{"476":{"position":[[4657,5]]},"481":{"position":[[259,5]]}},"keywords":{}}],["power",{"_index":13,"title":{},"content":{"1":{"position":[[140,6],[181,5]]},"7":{"position":[[1103,8]]},"251":{"position":[[47,7]]},"283":{"position":[[241,7]]},"297":{"position":[[702,8]]},"298":{"position":[[999,5]]},"334":{"position":[[1289,8]]},"347":{"position":[[34,8],[285,5],[1678,7],[1766,5]]},"351":{"position":[[42,9],[234,8]]},"357":{"position":[[3556,5]]},"476":{"position":[[1029,6],[1051,5]]},"479":{"position":[[26,8]]},"480":{"position":[[345,8],[580,6]]},"482":{"position":[[612,9]]},"483":{"position":[[11,8]]}},"keywords":{}}],["power_off_subystem",{"_index":4228,"title":{},"content":{"480":{"position":[[1127,20]]}},"keywords":{}}],["power_on_subsystem",{"_index":4227,"title":{},"content":{"480":{"position":[[658,18],[736,21],[1029,20],[1171,20]]}},"keywords":{}}],["pp",{"_index":5572,"title":{},"content":{"771":{"position":[[149,2]]},"772":{"position":[[270,2]]}},"keywords":{}}],["ppsselectiontable_def.txt",{"_index":616,"title":{},"content":{"31":{"position":[[214,26]]}},"keywords":{}}],["practic",{"_index":2522,"title":{"495":{"position":[[16,10]]}},"content":{"253":{"position":[[1811,9],[2515,8]]},"356":{"position":[[644,8]]},"469":{"position":[[268,9]]},"474":{"position":[[37,9]]}},"keywords":{}}],["practices."",{"_index":2480,"title":{},"content":{"247":{"position":[[171,16]]}},"keywords":{}}],["pragma",{"_index":960,"title":{},"content":{"43":{"position":[[780,7]]}},"keywords":{}}],["pre",{"_index":553,"title":{},"content":{"24":{"position":[[961,3]]}},"keywords":{}}],["pre_check",{"_index":2183,"title":{},"content":{"224":{"position":[[138,9]]},"548":{"position":[[498,9]]}},"keywords":{}}],["pre_check(packet",{"_index":2191,"title":{},"content":{"224":{"position":[[722,17]]}},"keywords":{}}],["pre_check(self",{"_index":2204,"title":{},"content":{"224":{"position":[[1152,15]]}},"keywords":{}}],["prebuilt",{"_index":2828,"title":{},"content":{"292":{"position":[[1417,8]]}},"keywords":{}}],["preexist",{"_index":2975,"title":{},"content":{"310":{"position":[[760,11]]}},"keywords":{}}],["prefil",{"_index":3328,"title":{},"content":{"347":{"position":[[975,7]]}},"keywords":{}}],["prefix",{"_index":2007,"title":{},"content":{"142":{"position":[[16,6],[34,6],[141,6],[154,7]]},"182":{"position":[[16,6],[34,6],[141,6],[154,7]]},"229":{"position":[[988,6]]}},"keywords":{}}],["preidentifi",{"_index":1219,"title":{"64":{"position":[[0,13]]}},"content":{"49":{"position":[[1535,13],[2505,13]]},"50":{"position":[[1296,13],[2119,13]]},"52":{"position":[[1554,13]]},"54":{"position":[[609,13],[1405,13],[2220,13]]},"56":{"position":[[133,14]]},"64":{"position":[[5,13],[707,13]]},"720":{"position":[[488,16]]}},"keywords":{}}],["prem",{"_index":2434,"title":{},"content":{"240":{"position":[[650,4]]}},"keywords":{}}],["prep",{"_index":3023,"title":{},"content":{"318":{"position":[[561,4]]}},"keywords":{}}],["prepend",{"_index":1371,"title":{},"content":{"61":{"position":[[2786,9]]}},"keywords":{}}],["prerequesit",{"_index":1829,"title":{"102":{"position":[[0,13]]}},"content":{},"keywords":{}}],["prerequisit",{"_index":569,"title":{"289":{"position":[[0,14]]}},"content":{"27":{"position":[[1,13]]},"324":{"position":[[1380,12]]}},"keywords":{}}],["presenc",{"_index":2795,"title":{},"content":{"291":{"position":[[64,8]]},"322":{"position":[[1606,8]]},"343":{"position":[[256,8]]}},"keywords":{}}],["present",{"_index":1359,"title":{},"content":{"61":{"position":[[884,9],[1391,9],[2467,8]]},"99":{"position":[[691,7],[710,7],[868,7],[890,7],[978,7],[3128,7],[3543,7],[3679,7]]},"130":{"position":[[54,7]]},"480":{"position":[[272,8]]},"493":{"position":[[317,9]]}},"keywords":{}}],["preset",{"_index":1342,"title":{},"content":{"60":{"position":[[28,6]]}},"keywords":{}}],["press",{"_index":2859,"title":{},"content":{"301":{"position":[[355,5],[1311,5]]},"303":{"position":[[659,8]]},"304":{"position":[[2131,5],[2365,5],[2413,5],[2497,5],[4767,5]]},"307":{"position":[[323,5]]},"308":{"position":[[856,5]]},"309":{"position":[[302,5]]},"429":{"position":[[1712,7]]},"490":{"position":[[429,8]]},"530":{"position":[[296,8]]},"533":{"position":[[579,8],[715,8]]},"634":{"position":[[54,5]]},"681":{"position":[[244,7]]}},"keywords":{}}],["pressur",{"_index":3575,"title":{},"content":{"357":{"position":[[3908,8]]}},"keywords":{}}],["pretti",{"_index":3649,"title":{},"content":{"360":{"position":[[1186,6]]}},"keywords":{}}],["prettier",{"_index":1560,"title":{},"content":{"83":{"position":[[172,9]]}},"keywords":{}}],["prevent",{"_index":702,"title":{},"content":{"36":{"position":[[2087,8]]},"131":{"position":[[88,7]]},"202":{"position":[[2087,8]]},"332":{"position":[[312,7]]},"338":{"position":[[2018,7]]},"465":{"position":[[461,7]]},"636":{"position":[[1247,7]]},"637":{"position":[[1469,7]]},"638":{"position":[[1490,7]]},"639":{"position":[[1523,7]]},"640":{"position":[[1323,7]]},"641":{"position":[[1540,7]]},"642":{"position":[[1561,7]]},"643":{"position":[[1594,7]]}},"keywords":{}}],["previou",{"_index":591,"title":{},"content":{"27":{"position":[[954,8]]},"304":{"position":[[1842,9]]},"553":{"position":[[29,8]]},"676":{"position":[[28,8]]},"703":{"position":[[202,8]]}},"keywords":{}}],["previous",{"_index":2526,"title":{},"content":{"253":{"position":[[2076,11]]},"304":{"position":[[716,11]]},"307":{"position":[[1158,10]]},"374":{"position":[[33,10]]},"383":{"position":[[36,10]]},"476":{"position":[[4571,10]]},"528":{"position":[[1127,10]]},"606":{"position":[[498,10]]},"629":{"position":[[297,10]]},"754":{"position":[[717,10]]},"760":{"position":[[35,10]]},"761":{"position":[[27,10]]},"762":{"position":[[27,10]]},"763":{"position":[[27,10]]}},"keywords":{}}],["primari",{"_index":1292,"title":{},"content":{"56":{"position":[[180,7]]},"226":{"position":[[171,7],[254,7],[333,7],[432,7],[520,7],[611,7],[698,7],[1049,7],[1132,7],[1211,7],[1310,7],[1398,7],[1489,7],[1576,7],[1819,7],[1902,7],[1981,7],[2080,7],[2168,7],[2259,7],[2346,7]]},"227":{"position":[[166,7]]},"257":{"position":[[84,7]]},"321":{"position":[[1236,7]]},"364":{"position":[[89,7]]},"490":{"position":[[134,7]]}},"keywords":{}}],["primarili",{"_index":1571,"title":{},"content":{"83":{"position":[[477,9]]},"133":{"position":[[174,9]]},"430":{"position":[[68,9]]},"431":{"position":[[87,9]]},"432":{"position":[[70,9]]},"434":{"position":[[80,9]]},"436":{"position":[[70,9]]},"488":{"position":[[120,9]]}},"keywords":{}}],["principl",{"_index":4155,"title":{},"content":{"471":{"position":[[70,11]]}},"keywords":{}}],["print",{"_index":722,"title":{},"content":{"36":{"position":[[3341,5]]},"202":{"position":[[3341,5]]},"212":{"position":[[25,8]]},"259":{"position":[[1389,8],[1426,7],[1861,5]]},"267":{"position":[[7973,7]]},"402":{"position":[[517,7],[589,5]]},"476":{"position":[[255,7]]},"490":{"position":[[532,5]]},"497":{"position":[[257,5]]},"566":{"position":[[259,5],[336,5]]},"617":{"position":[[1298,5]]},"656":{"position":[[222,7],[765,7]]}},"keywords":{}}],["print("script",{"_index":4601,"title":{},"content":{"610":{"position":[[716,18]]}},"keywords":{}}],["print("script_1",{"_index":4364,"title":{},"content":{"497":{"position":[[832,20]]}},"keywords":{}}],["print("setup"",{"_index":4599,"title":{},"content":{"610":{"position":[[671,24]]}},"keywords":{}}],["print("skip",{"_index":4352,"title":{},"content":{"496":{"position":[[904,20]]}},"keywords":{}}],["print("suit",{"_index":4613,"title":{},"content":{"611":{"position":[[454,17],[505,17]]}},"keywords":{}}],["print("teardown"",{"_index":4603,"title":{},"content":{"610":{"position":[[763,27]]}},"keywords":{}}],["print("verifi",{"_index":4286,"title":{},"content":{"486":{"position":[[578,20],[690,20]]}},"keywords":{}}],["print('sensor",{"_index":4753,"title":{},"content":{"627":{"position":[[1162,13],[1194,13]]}},"keywords":{}}],["print(abort_cmd",{"_index":4911,"title":{},"content":{"648":{"position":[[842,16]]}},"keywords":{}}],["print(cmd_list",{"_index":4896,"title":{},"content":{"646":{"position":[[801,15]]},"647":{"position":[[380,15]]}},"keywords":{}}],["print(config",{"_index":5582,"title":{},"content":{"772":{"position":[[369,14]]},"773":{"position":[[468,13]]}},"keywords":{}}],["print(ev",{"_index":5210,"title":{},"content":{"703":{"position":[[421,13],[1403,13]]}},"keywords":{}}],["print(f"cmd",{"_index":5326,"title":{},"content":{"715":{"position":[[1329,16]]}},"keywords":{}}],["print(f"interfac",{"_index":5317,"title":{},"content":{"715":{"position":[[1051,23]]}},"keywords":{}}],["print(f"math:{result}"",{"_index":4309,"title":{},"content":{"487":{"position":[[1670,33]]}},"keywords":{}}],["print(f"mov",{"_index":4308,"title":{},"content":{"487":{"position":[[1561,18]]}},"keywords":{}}],["print(f"packet",{"_index":5378,"title":{},"content":{"724":{"position":[[1272,20]]}},"keywords":{}}],["print(f"rout",{"_index":5370,"title":{},"content":{"724":{"position":[[1018,20]]}},"keywords":{}}],["print(f"transmit",{"_index":5321,"title":{},"content":{"715":{"position":[[1170,21]]},"724":{"position":[[1125,21]]}},"keywords":{}}],["print(f"{packet['packet_timesecond",{"_index":4377,"title":{},"content":{"499":{"position":[[1012,44]]},"676":{"position":[[1064,44],[1302,44]]}},"keywords":{}}],["print(fil",{"_index":4808,"title":{},"content":{"632":{"position":[[1848,11],[1973,12],[2059,11]]}},"keywords":{}}],["print(file.read",{"_index":4767,"title":{},"content":{"628":{"position":[[1154,18]]},"632":{"position":[[1860,18],[2071,18]]}},"keywords":{}}],["print(formatted(file.read",{"_index":4764,"title":{},"content":{"628":{"position":[[997,29]]}},"keywords":{}}],["print(formatted(tlm("tgt",{"_index":2612,"title":{},"content":{"259":{"position":[[1793,29]]}},"keywords":{}}],["print(get_all_set",{"_index":5540,"title":{},"content":{"767":{"position":[[869,25]]}},"keywords":{}}],["print(get_max_output",{"_index":5468,"title":{},"content":{"751":{"position":[[168,23]]}},"keywords":{}}],["print(get_overrid",{"_index":5092,"title":{},"content":{"673":{"position":[[1334,22]]}},"keywords":{}}],["print(get_setting('vers",{"_index":5561,"title":{},"content":{"768":{"position":[[511,29],[563,28]]}},"keywords":{}}],["print(get_settings('pypi_url",{"_index":5570,"title":{},"content":{"769":{"position":[[544,31]]}},"keywords":{}}],["print(hazard",{"_index":4951,"title":{},"content":{"651":{"position":[[706,16]]}},"keywords":{}}],["print(interfac",{"_index":5262,"title":{},"content":{"709":{"position":[[318,16]]}},"keywords":{}}],["print(item",{"_index":5059,"title":{},"content":{"667":{"position":[[430,11]]}},"keywords":{}}],["print(list_set",{"_index":5523,"title":{},"content":{"766":{"position":[[279,22]]}},"keywords":{}}],["print(nam",{"_index":5575,"title":{},"content":{"771":{"position":[[278,12]]}},"keywords":{}}],["print(packet",{"_index":4944,"title":{},"content":{"650":{"position":[[963,13]]},"664":{"position":[[236,14]]},"666":{"position":[[344,13]]}},"keywords":{}}],["print(param",{"_index":4932,"title":{},"content":{"649":{"position":[[1190,12]]}},"keywords":{}}],["print(result",{"_index":5180,"title":{},"content":{"699":{"position":[[734,13]]}},"keywords":{}}],["print(result.key",{"_index":5183,"title":{},"content":{"699":{"position":[[850,20]]}},"keywords":{}}],["print(result['default",{"_index":5185,"title":{},"content":{"699":{"position":[[909,24]]}},"keywords":{}}],["print(rout",{"_index":5360,"title":{},"content":{"723":{"position":[[295,13]]}},"keywords":{}}],["print(target",{"_index":5228,"title":{},"content":{"706":{"position":[[240,13]]}},"keywords":{}}],["print(temp",{"_index":4320,"title":{},"content":{"488":{"position":[[2521,11]]}},"keywords":{}}],["print(tlm("tgt",{"_index":2610,"title":{},"content":{"259":{"position":[[1469,19]]}},"keywords":{}}],["print(valu",{"_index":4959,"title":{},"content":{"652":{"position":[[883,12]]},"663":{"position":[[589,13]]}},"keywords":{}}],["print(x",{"_index":4873,"title":{},"content":{"644":{"position":[[1046,8]]}},"keywords":{}}],["printf",{"_index":657,"title":{},"content":{"36":{"position":[[79,6],[161,6]]},"202":{"position":[[79,6],[161,6]]},"267":{"position":[[74,6],[156,6]]},"403":{"position":[[534,6]]},"618":{"position":[[816,6]]}},"keywords":{}}],["prior",{"_index":4409,"title":{},"content":{"505":{"position":[[526,5]]}},"keywords":{}}],["prioriti",{"_index":4041,"title":{},"content":{"457":{"position":[[132,8]]},"512":{"position":[[224,8]]}},"keywords":{}}],["privaci",{"_index":4048,"title":{"458":{"position":[[13,7]]},"469":{"position":[[22,7]]}},"content":{"465":{"position":[[678,7]]},"467":{"position":[[918,7]]},"469":{"position":[[5,7],[260,7],[354,7]]},"470":{"position":[[27,7]]},"472":{"position":[[46,7]]}},"keywords":{}}],["privat",{"_index":465,"title":{},"content":{"20":{"position":[[1419,7]]},"26":{"position":[[111,7],[170,7]]},"27":{"position":[[252,7],[807,7],[930,7]]},"42":{"position":[[590,8]]},"43":{"position":[[6350,8]]},"83":{"position":[[1681,7]]},"359":{"position":[[543,7]]}},"keywords":{}}],["privkey.pem",{"_index":525,"title":{},"content":{"24":{"position":[[7,11],[266,11]]}},"keywords":{}}],["pro",{"_index":3473,"title":{},"content":{"357":{"position":[[207,3],[754,3],[2239,3],[4274,3]]}},"keywords":{}}],["probabl",{"_index":3193,"title":{},"content":{"324":{"position":[[3330,9],[3646,8]]},"334":{"position":[[296,8]]},"347":{"position":[[2009,8]]},"483":{"position":[[288,11]]},"487":{"position":[[493,8]]},"585":{"position":[[640,8]]},"586":{"position":[[546,8]]}},"keywords":{}}],["problem",{"_index":118,"title":{},"content":{"3":{"position":[[512,7]]},"289":{"position":[[1076,8]]},"291":{"position":[[581,9],[741,8]]},"295":{"position":[[8,7]]},"322":{"position":[[1661,8]]},"364":{"position":[[948,7]]},"449":{"position":[[629,7]]},"465":{"position":[[507,9]]},"480":{"position":[[14,7]]}},"keywords":{}}],["proce",{"_index":1345,"title":{},"content":{"60":{"position":[[177,8]]},"304":{"position":[[5977,7]]},"681":{"position":[[1105,7]]},"682":{"position":[[872,7]]},"683":{"position":[[658,7]]},"756":{"position":[[60,7]]}},"keywords":{}}],["procedur",{"_index":2352,"title":{"735":{"position":[[16,11]]}},"content":{"230":{"position":[[1734,10],[1814,10],[2012,9]]},"257":{"position":[[991,11],[1301,10],[1558,10]]},"297":{"position":[[827,11]]},"482":{"position":[[63,12],[433,11],[813,9]]},"484":{"position":[[88,10],[126,10]]},"485":{"position":[[346,10],[421,9]]},"492":{"position":[[718,10]]},"525":{"position":[[211,10]]},"584":{"position":[[191,10],[305,10]]},"617":{"position":[[117,11]]},"619":{"position":[[64,11]]},"735":{"position":[[86,11]]},"736":{"position":[[45,10],[102,11],[292,9],[340,10]]},"737":{"position":[[78,10]]},"738":{"position":[[99,10]]}},"keywords":{}}],["procedures/cmd_tlm_test.rb",{"_index":1084,"title":{},"content":{"44":{"position":[[2114,29]]}},"keywords":{}}],["proceed",{"_index":2877,"title":{},"content":{"303":{"position":[[1919,11]]},"304":{"position":[[540,11]]},"493":{"position":[[520,10]]}},"keywords":{}}],["process",{"_index":259,"title":{"559":{"position":[[0,10]]}},"content":{"7":{"position":[[518,9],[754,7],[943,7]]},"13":{"position":[[110,10]]},"14":{"position":[[104,10]]},"15":{"position":[[1,7],[157,8],[354,8]]},"16":{"position":[[1,7],[161,8],[354,8]]},"32":{"position":[[34,7]]},"36":{"position":[[6562,7],[7358,7]]},"46":{"position":[[428,9]]},"50":{"position":[[2441,9]]},"52":{"position":[[1861,9]]},"54":{"position":[[298,9],[361,9],[540,9]]},"75":{"position":[[333,10]]},"76":{"position":[[366,10]]},"77":{"position":[[382,10]]},"78":{"position":[[381,10]]},"118":{"position":[[101,7]]},"134":{"position":[[50,10]]},"165":{"position":[[36,8],[127,7]]},"168":{"position":[[62,8],[111,10],[212,10],[228,7],[269,7]]},"170":{"position":[[29,10],[54,10],[231,10]]},"171":{"position":[[133,9],[167,11]]},"183":{"position":[[29,10],[54,10],[237,10]]},"193":{"position":[[29,10],[54,10],[229,10]]},"196":{"position":[[29,10],[54,10],[231,10]]},"198":{"position":[[281,9],[752,9]]},"202":{"position":[[6562,7],[7358,7]]},"230":{"position":[[962,9],[2448,7]]},"259":{"position":[[82,9],[309,9],[779,9]]},"267":{"position":[[5101,7],[5959,7]]},"277":{"position":[[1,7]]},"285":{"position":[[446,7]]},"298":{"position":[[1607,7]]},"308":{"position":[[16,9]]},"309":{"position":[[269,10],[332,11]]},"321":{"position":[[2236,7]]},"347":{"position":[[587,7]]},"356":{"position":[[278,7]]},"421":{"position":[[211,10]]},"459":{"position":[[293,10],[429,9],[590,9],[662,10],[960,10],[1158,10],[1354,10],[1449,9],[1754,9],[1886,10]]},"466":{"position":[[210,10]]},"467":{"position":[[740,10],[1251,7]]},"484":{"position":[[264,11]]},"548":{"position":[[60,9],[219,7]]},"550":{"position":[[130,9],[237,10]]},"559":{"position":[[14,7],[40,10],[134,7],[190,8],[211,10]]},"716":{"position":[[75,9]]}},"keywords":{}}],["processor",{"_index":1914,"title":{"276":{"position":[[0,10]]}},"content":{"114":{"position":[[124,10]]},"276":{"position":[[11,9],[140,9],[155,9],[233,10],[300,9],[429,9],[497,9]]}},"keywords":{}}],["produc",{"_index":2125,"title":{},"content":{"198":{"position":[[1198,8]]},"482":{"position":[[1333,8]]}},"keywords":{}}],["product",{"_index":546,"title":{},"content":{"24":{"position":[[633,10]]},"84":{"position":[[539,10]]},"131":{"position":[[172,12]]},"289":{"position":[[37,12]]},"359":{"position":[[1701,8],[1763,7],[2052,7]]},"360":{"position":[[1281,7]]},"361":{"position":[[676,8]]},"362":{"position":[[650,7]]},"460":{"position":[[238,7]]},"461":{"position":[[430,9]]},"468":{"position":[[80,9]]}},"keywords":{}}],["product(",{"_index":4131,"title":{},"content":{"467":{"position":[[541,10]]}},"keywords":{}}],["products/servic",{"_index":4087,"title":{},"content":{"461":{"position":[[709,18]]}},"keywords":{}}],["profession",{"_index":2590,"title":{},"content":{"254":{"position":[[2946,12]]}},"keywords":{}}],["profil",{"_index":1009,"title":{},"content":{"43":{"position":[[4628,7]]},"324":{"position":[[2643,7]]},"357":{"position":[[1904,8],[3394,8]]},"466":{"position":[[675,9]]}},"keywords":{}}],["program",{"_index":316,"title":{"616":{"position":[[0,11]]}},"content":{"11":{"position":[[17,11]]},"95":{"position":[[639,7]]},"245":{"position":[[269,11]]},"251":{"position":[[142,11]]},"253":{"position":[[920,7]]},"297":{"position":[[719,11]]},"361":{"position":[[80,7]]},"363":{"position":[[839,8]]},"482":{"position":[[1467,8]]},"487":{"position":[[28,11]]}},"keywords":{}}],["programm",{"_index":1387,"title":{},"content":{"63":{"position":[[372,12]]}},"keywords":{}}],["programmat",{"_index":3767,"title":{},"content":{"384":{"position":[[71,16]]},"765":{"position":[[97,12]]},"770":{"position":[[94,16]]}},"keywords":{}}],["progress",{"_index":2922,"title":{},"content":{"304":{"position":[[4781,8]]},"405":{"position":[[267,8],[370,8]]},"422":{"position":[[12,8],[275,8],[378,8]]},"559":{"position":[[72,8]]}},"keywords":{}}],["progressbar",{"_index":3837,"title":{"422":{"position":[[0,12]]}},"content":{"405":{"position":[[51,11]]},"422":{"position":[[562,11],[604,11]]}},"keywords":{}}],["prohibit",{"_index":4135,"title":{},"content":{"467":{"position":[[943,10]]}},"keywords":{}}],["project",{"_index":408,"title":{"237":{"position":[[0,9]]},"290":{"position":[[6,8]]}},"content":{"20":{"position":[[299,7]]},"110":{"position":[[78,8]]},"237":{"position":[[145,7],[175,7],[394,7]]},"253":{"position":[[748,7],[845,7],[930,8]]},"256":{"position":[[222,7],[243,8]]},"257":{"position":[[462,8],[488,7],[818,8]]},"290":{"position":[[31,7],[742,7]]},"291":{"position":[[178,7]]},"292":{"position":[[24,7]]},"331":{"position":[[119,7],[181,7],[525,8],[617,7]]},"334":{"position":[[54,7]]},"357":{"position":[[1146,7],[1219,7],[1302,7],[1376,7],[1452,7],[1542,7],[1615,7],[1696,7],[1767,7],[1838,7],[2637,7],[2708,7],[2793,7],[2867,7],[2942,7],[3032,7],[3105,7],[3187,7],[3258,7],[3329,7]]},"361":{"position":[[192,7],[274,8]]},"449":{"position":[[61,8]]},"507":{"position":[[334,10]]}},"keywords":{}}],["project>",{"_index":2516,"title":{},"content":{"253":{"position":[[1425,11],[2200,11]]},"256":{"position":[[299,11],[444,11]]}},"keywords":{}}],["project"",{"_index":2818,"title":{},"content":{"292":{"position":[[159,13]]}},"keywords":{}}],["project'",{"_index":3258,"title":{},"content":{"334":{"position":[[1095,9]]}},"keywords":{}}],["project.clon",{"_index":4010,"title":{},"content":{"449":{"position":[[80,13]]}},"keywords":{}}],["project.git",{"_index":2786,"title":{},"content":{"290":{"position":[[108,11],[174,11]]},"347":{"position":[[2427,11]]}},"keywords":{}}],["project:$path",{"_index":2822,"title":{},"content":{"292":{"position":[[326,14]]}},"keywords":{}}],["project=chromium",{"_index":1838,"title":{},"content":{"103":{"position":[[274,16]]}},"keywords":{}}],["project\\openc3.bat",{"_index":2601,"title":{},"content":{"257":{"position":[[1144,18],[1379,18]]}},"keywords":{}}],["prom/prometheus:v2.24.1",{"_index":3428,"title":{},"content":{"352":{"position":[[1195,23]]}},"keywords":{}}],["prometheu",{"_index":3392,"title":{"352":{"position":[[0,11]]}},"content":{"350":{"position":[[1431,10]]},"352":{"position":[[1,10],[533,10]]},"353":{"position":[[252,10],[269,10]]}},"keywords":{}}],["prometheus.yaml",{"_index":3409,"title":{},"content":{"352":{"position":[[365,15],[1223,15]]}},"keywords":{}}],["prometheus:9090",{"_index":3435,"title":{},"content":{"353":{"position":[[385,15]]}},"keywords":{}}],["promis",{"_index":3908,"title":{},"content":{"429":{"position":[[983,9],[1143,7]]}},"keywords":{}}],["promot",{"_index":3140,"title":{},"content":{"324":{"position":[[247,8]]},"461":{"position":[[544,11],[1296,11]]}},"keywords":{}}],["prompt",{"_index":574,"title":{"634":{"position":[[0,7]]}},"content":{"27":{"position":[[153,6],[341,8],[479,8]]},"63":{"position":[[1801,8]]},"254":{"position":[[2238,6]]},"347":{"position":[[945,8]]},"490":{"position":[[332,6],[391,6],[581,7],[735,6],[1063,6]]},"492":{"position":[[227,8]]},"495":{"position":[[397,6],[1394,8]]},"496":{"position":[[96,9],[312,9]]},"505":{"position":[[563,6]]},"514":{"position":[[578,7]]},"534":{"position":[[33,6],[165,6]]},"605":{"position":[[883,8]]},"613":{"position":[[27,6]]},"623":{"position":[[1,7],[364,6]]},"624":{"position":[[1,7],[330,6]]},"627":{"position":[[508,6]]},"634":{"position":[[176,6]]},"764":{"position":[[1,7]]}},"keywords":{}}],["prompt("<message>"",{"_index":4809,"title":{},"content":{"634":{"position":[[98,35]]}},"keywords":{}}],["prompt("press",{"_index":4810,"title":{},"content":{"634":{"position":[[223,18]]}},"keywords":{}}],["promptdisconnect",{"_index":4587,"title":{},"content":{"606":{"position":[[244,16]]}},"keywords":{}}],["promptli",{"_index":4156,"title":{},"content":{"471":{"position":[[126,8]]}},"keywords":{}}],["proper",{"_index":1153,"title":{},"content":{"46":{"position":[[441,6]]},"291":{"position":[[992,6]]},"492":{"position":[[826,6]]}},"keywords":{}}],["properli",{"_index":1344,"title":{},"content":{"60":{"position":[[80,8]]},"370":{"position":[[78,8]]},"448":{"position":[[282,10]]},"502":{"position":[[232,8]]}},"keywords":{}}],["properti",{"_index":3677,"title":{},"content":{"363":{"position":[[153,8]]},"467":{"position":[[1332,8],[1388,11]]}},"keywords":{}}],["proprietari",{"_index":3614,"title":{},"content":{"359":{"position":[[1010,11]]},"361":{"position":[[362,12]]}},"keywords":{}}],["proprietaryy",{"_index":3670,"title":{},"content":{"362":{"position":[[499,14]]}},"keywords":{}}],["protect",{"_index":581,"title":{},"content":{"27":{"position":[[414,7],[523,7],[918,7]]},"43":{"position":[[1229,11]]},"459":{"position":[[122,7],[1842,10]]},"464":{"position":[[39,10],[153,7]]},"467":{"position":[[1299,7],[1439,7]]}},"keywords":{}}],["protip",{"_index":98,"title":{},"content":{"3":{"position":[[186,8]]}},"keywords":{}}],["protocol",{"_index":1204,"title":{"54":{"position":[[0,10]]},"55":{"position":[[0,9]]},"56":{"position":[[19,10]]},"57":{"position":[[5,9]]},"58":{"position":[[5,9]]},"59":{"position":[[6,9]]},"60":{"position":[[6,9]]},"61":{"position":[[7,9]]},"62":{"position":[[11,9]]},"63":{"position":[[9,9]]},"64":{"position":[[14,9]]},"65":{"position":[[7,10]]},"66":{"position":[[12,9]]},"67":{"position":[[4,9]]},"68":{"position":[[14,9]]},"69":{"position":[[7,10]]},"134":{"position":[[0,9]]}},"content":{"49":{"position":[[707,8],[725,10],[739,8],[762,9],[802,8],[1666,8],[2654,8]]},"50":{"position":[[594,8],[612,10],[626,8],[649,9],[689,8],[1406,8],[2247,8]]},"52":{"position":[[786,8],[804,10],[818,8],[841,9],[881,8],[1672,8]]},"54":{"position":[[1,9],[164,9],[639,8],[676,9],[2288,10],[2446,9],[2612,8],[2824,8],[2931,8],[2968,9],[3023,8],[3132,8],[3190,8],[3247,9],[3299,9],[3346,9],[3393,8],[3417,9],[3494,9]]},"56":{"position":[[50,10],[162,9],[257,9],[354,8],[417,9],[529,8],[550,8],[588,8],[686,9]]},"57":{"position":[[46,8]]},"58":{"position":[[27,8]]},"59":{"position":[[11,8],[176,8]]},"60":{"position":[[11,8],[288,8],[519,8],[608,8],[723,9]]},"61":{"position":[[12,8],[325,8],[425,8],[551,9],[2574,8],[2687,9]]},"62":{"position":[[16,8],[403,8]]},"63":{"position":[[18,8],[213,8],[253,8],[455,8],[784,8]]},"64":{"position":[[19,8],[82,8],[721,8]]},"65":{"position":[[38,10],[84,9]]},"66":{"position":[[17,8],[428,8]]},"67":{"position":[[9,8]]},"68":{"position":[[19,8]]},"69":{"position":[[19,8],[309,10],[597,9],[630,8],[817,9],[979,10],[996,8],[1010,9],[1240,8],[1266,8],[1280,9],[1514,8],[1558,9],[2136,9],[2331,9],[2586,9],[2687,8],[3632,9],[3675,10],[3901,8],[4085,8],[4503,8]]},"71":{"position":[[41,9],[120,8],[611,8],[726,8]]},"72":{"position":[[44,8]]},"73":{"position":[[52,8]]},"74":{"position":[[55,8]]},"75":{"position":[[361,10],[401,8],[500,8],[1563,8],[1769,9]]},"76":{"position":[[394,10],[434,8],[526,8],[647,8]]},"77":{"position":[[410,10],[450,8],[542,8]]},"78":{"position":[[409,10],[449,8],[539,8]]},"79":{"position":[[540,10],[628,9],[716,8]]},"80":{"position":[[57,8],[99,8]]},"81":{"position":[[28,8],[48,8]]},"107":{"position":[[97,8]]},"108":{"position":[[103,10],[329,9]]},"123":{"position":[[344,9]]},"134":{"position":[[16,9],[72,9],[129,9],[256,8],[338,8],[358,9],[425,8],[518,8],[608,8],[622,8],[685,8],[855,8],[904,8],[1110,8]]},"139":{"position":[[203,8],[217,9]]},"175":{"position":[[204,8],[218,9]]},"230":{"position":[[1478,10]]},"253":{"position":[[7970,8]]},"260":{"position":[[217,9]]},"336":{"position":[[229,9],[298,8]]},"718":{"position":[[41,9],[93,9],[138,8],[538,10],[662,8]]},"728":{"position":[[38,9],[90,9],[135,8],[542,10],[666,8]]}},"keywords":{}}],["protocol'",{"_index":1454,"title":{},"content":{"69":{"position":[[1995,10],[2476,10],[2848,10],[3018,10],[3209,10],[4323,10],[4818,10]]}},"keywords":{}}],["protocol_cmd",{"_index":1542,"title":{"80":{"position":[[0,13]]}},"content":{"80":{"position":[[5,12]]}},"keywords":{}}],["protocol_cmd(cmd_nam",{"_index":1545,"title":{},"content":{"80":{"position":[[220,22]]}},"keywords":{}}],["protocol_cmd(self",{"_index":1548,"title":{},"content":{"80":{"position":[[361,18]]}},"keywords":{}}],["provid",{"_index":187,"title":{"48":{"position":[[0,8]]},"633":{"position":[[0,9]]}},"content":{"5":{"position":[[1426,8]]},"7":{"position":[[8,8]]},"26":{"position":[[270,8]]},"27":{"position":[[497,7]]},"35":{"position":[[1031,7],[1562,7]]},"36":{"position":[[2243,8],[4680,8],[4906,8],[8672,8],[8898,8]]},"37":{"position":[[824,7],[1355,7]]},"48":{"position":[[8,8]]},"52":{"position":[[70,8]]},"56":{"position":[[8,8]]},"65":{"position":[[8,8],[94,7]]},"79":{"position":[[127,7]]},"109":{"position":[[67,7]]},"112":{"position":[[15,8],[464,7]]},"120":{"position":[[111,8]]},"135":{"position":[[289,8]]},"201":{"position":[[1060,7],[1591,7]]},"202":{"position":[[2243,8],[4680,8],[4906,8],[8672,8],[8898,8]]},"203":{"position":[[843,7],[1374,7]]},"204":{"position":[[1735,7]]},"205":{"position":[[1571,7]]},"215":{"position":[[183,8]]},"240":{"position":[[393,8],[562,7],[1019,8],[1116,8],[1324,8],[1449,8],[1667,8]]},"243":{"position":[[291,8],[401,8]]},"245":{"position":[[226,8]]},"246":{"position":[[298,8]]},"249":{"position":[[490,8]]},"263":{"position":[[1026,8]]},"279":{"position":[[183,8]]},"297":{"position":[[435,9]]},"298":{"position":[[1038,8]]},"301":{"position":[[34,8]]},"303":{"position":[[16,8],[105,8],[868,7],[1257,9]]},"304":{"position":[[15,8],[117,8],[576,8],[1359,7],[1698,7],[1877,7]]},"305":{"position":[[15,8],[552,7],[732,7]]},"306":{"position":[[18,8]]},"307":{"position":[[164,7]]},"309":{"position":[[13,8]]},"310":{"position":[[19,8]]},"311":{"position":[[16,8]]},"321":{"position":[[1130,8]]},"338":{"position":[[1653,8]]},"339":{"position":[[395,8]]},"351":{"position":[[31,8]]},"353":{"position":[[101,8]]},"356":{"position":[[532,7]]},"359":{"position":[[618,8],[903,8],[1249,7],[1931,7]]},"360":{"position":[[703,8]]},"364":{"position":[[184,8],[519,8],[851,8]]},"366":{"position":[[120,7]]},"426":{"position":[[1,8]]},"460":{"position":[[156,7]]},"461":{"position":[[67,7],[1056,8]]},"462":{"position":[[10,7],[200,7],[407,9],[652,8]]},"463":{"position":[[62,8]]},"465":{"position":[[53,7],[271,7]]},"466":{"position":[[836,8]]},"467":{"position":[[239,7],[637,7],[785,7],[888,9]]},"468":{"position":[[4,7],[176,8]]},"474":{"position":[[20,7],[84,8],[384,9]]},"476":{"position":[[995,8],[4281,7]]},"482":{"position":[[8,8],[90,8],[331,8],[574,8]]},"488":{"position":[[773,8],[1149,8]]},"495":{"position":[[8,8],[1217,7]]},"496":{"position":[[179,8]]},"505":{"position":[[127,8]]},"530":{"position":[[16,8]]},"536":{"position":[[46,8],[236,8]]},"546":{"position":[[17,8]]},"555":{"position":[[16,8]]},"556":{"position":[[16,8]]},"575":{"position":[[32,8]]},"603":{"position":[[145,8],[263,8]]},"612":{"position":[[53,7]]},"617":{"position":[[47,8],[941,8]]},"635":{"position":[[15,7]]},"674":{"position":[[59,8]]}},"keywords":{}}],["provinc",{"_index":424,"title":{},"content":{"20":{"position":[[498,8]]}},"keywords":{}}],["proxi",{"_index":2444,"title":{},"content":{"240":{"position":[[1468,5]]},"353":{"position":[[296,5],[360,5]]}},"keywords":{}}],["ps",{"_index":1625,"title":{},"content":{"83":{"position":[[2352,2]]},"85":{"position":[[306,2],[740,2]]},"292":{"position":[[862,2]]}},"keywords":{}}],["pseudo",{"_index":4953,"title":{},"content":{"652":{"position":[[71,6]]}},"keywords":{}}],["public",{"_index":561,"title":{},"content":{"26":{"position":[[75,7]]},"347":{"position":[[1337,6]]},"359":{"position":[[496,6]]},"459":{"position":[[703,6],[1496,6]]},"467":{"position":[[1514,7]]},"517":{"position":[[823,6]]}},"keywords":{}}],["publish",{"_index":3624,"title":{},"content":{"359":{"position":[[1943,7]]},"360":{"position":[[60,7]]},"362":{"position":[[528,7]]},"364":{"position":[[361,7]]}},"keywords":{}}],["pull",{"_index":1574,"title":{},"content":{"83":{"position":[[689,4]]},"336":{"position":[[64,4]]},"421":{"position":[[166,4]]},"449":{"position":[[503,4]]},"528":{"position":[[1415,6]]},"628":{"position":[[582,4]]}},"keywords":{}}],["purchas",{"_index":3620,"title":{},"content":{"359":{"position":[[1592,9]]},"360":{"position":[[497,8],[1368,10]]},"363":{"position":[[348,8]]}},"keywords":{}}],["pure",{"_index":2301,"title":{},"content":{"227":{"position":[[5337,6]]}},"keywords":{}}],["purpos",{"_index":675,"title":{},"content":{"36":{"position":[[730,9],[1037,8]]},"44":{"position":[[398,9]]},"56":{"position":[[188,7]]},"202":{"position":[[730,9],[1037,8]]},"213":{"position":[[119,9]]},"267":{"position":[[725,9],[1032,8]]},"275":{"position":[[128,9]]},"360":{"position":[[358,8],[477,7],[874,7]]},"400":{"position":[[156,7]]},"459":{"position":[[565,8],[644,9],[687,8],[754,8],[778,8],[847,9],[932,8],[1130,8],[1313,8],[1480,8],[1547,8],[1571,8]]},"461":{"position":[[52,9],[454,7]]},"462":{"position":[[91,8]]},"465":{"position":[[756,9]]},"466":{"position":[[706,9]]},"467":{"position":[[996,8]]},"481":{"position":[[76,7]]},"508":{"position":[[26,9]]},"523":{"position":[[149,8]]},"713":{"position":[[76,8]]},"714":{"position":[[75,8]]},"725":{"position":[[73,8]]},"726":{"position":[[72,8]]}},"keywords":{}}],["push",{"_index":2490,"title":{},"content":{"249":{"position":[[363,6]]},"352":{"position":[[91,4]]},"355":{"position":[[1140,6]]},"404":{"position":[[580,6],[681,6]]},"449":{"position":[[461,4]]},"514":{"position":[[666,4],[728,4]]}},"keywords":{}}],["put",{"_index":2356,"title":{},"content":{"230":{"position":[[2101,3]]},"253":{"position":[[7440,3]]},"259":{"position":[[1737,4]]},"261":{"position":[[144,3]]},"304":{"position":[[2904,4],[2944,4]]},"324":{"position":[[2486,3]]},"328":{"position":[[1285,4]]},"435":{"position":[[180,3]]},"476":{"position":[[3835,3],[4719,4]]},"481":{"position":[[116,7]]},"486":{"position":[[1,3],[43,7],[344,4],[455,4]]},"487":{"position":[[1091,4],[1198,4]]},"488":{"position":[[2371,4]]},"496":{"position":[[693,4]]},"497":{"position":[[482,4],[533,4],[781,4]]},"499":{"position":[[676,4]]},"507":{"position":[[390,4],[580,4]]},"585":{"position":[[385,4],[511,4]]},"586":{"position":[[417,4]]},"610":{"position":[[435,4],[475,4],[518,4]]},"611":{"position":[[219,4],[265,4]]},"627":{"position":[[844,4],[873,4]]},"628":{"position":[[676,4],[830,4]]},"632":{"position":[[959,3],[1442,4],[1471,4],[1579,4],[1665,4],[1675,4]]},"644":{"position":[[487,4]]},"646":{"position":[[343,4]]},"647":{"position":[[256,4]]},"648":{"position":[[381,4]]},"649":{"position":[[463,4]]},"650":{"position":[[459,4]]},"651":{"position":[[570,4]]},"652":{"position":[[746,4]]},"673":{"position":[[313,4]]},"676":{"position":[[562,4],[808,4]]},"699":{"position":[[413,4],[547,4],[591,4]]},"707":{"position":[[271,4]]},"715":{"position":[[492,4],[616,4],[762,4]]},"724":{"position":[[474,4],[592,4],[738,4]]},"758":{"position":[[1,4]]},"766":{"position":[[129,4]]},"767":{"position":[[90,4]]},"768":{"position":[[319,4],[379,4]]},"769":{"position":[[404,4]]}},"keywords":{}}],["put_target_fil",{"_index":4542,"title":{"629":{"position":[[0,16]]}},"content":{"586":{"position":[[163,15]]},"630":{"position":[[290,15]]},"632":{"position":[[285,15]]}},"keywords":{}}],["put_target_file("<fil",{"_index":4768,"title":{},"content":{"629":{"position":[[64,30]]}},"keywords":{}}],["put_target_file("inst/delete_me.txt"",{"_index":4784,"title":{},"content":{"630":{"position":[[404,47]]}},"keywords":{}}],["put_target_file("inst/test1.txt"",{"_index":4772,"title":{},"content":{"629":{"position":[[498,43],[827,43]]}},"keywords":{}}],["put_target_file("inst/test2.txt"",{"_index":4776,"title":{},"content":{"629":{"position":[[659,43],[1018,43]]}},"keywords":{}}],["put_target_file("inst/test3.bin"",{"_index":4777,"title":{},"content":{"629":{"position":[[709,43],[1068,43]]}},"keywords":{}}],["put_target_file(env['tbl_filenam",{"_index":4548,"title":{},"content":{"586":{"position":[[901,36]]}},"keywords":{}}],["putti",{"_index":3347,"title":{},"content":{"347":{"position":[[1982,5]]}},"keywords":{}}],["pv",{"_index":2941,"title":{},"content":{"305":{"position":[[369,2],[527,2],[707,2],[875,2],[1020,2],[1135,2],[1391,2]]}},"keywords":{}}],["px",{"_index":3744,"title":{},"content":{"375":{"position":[[80,2]]},"376":{"position":[[82,2]]},"377":{"position":[[82,2]]},"378":{"position":[[84,2]]},"426":{"position":[[197,2],[254,2]]}},"keywords":{}}],["py",{"_index":5421,"title":{},"content":{"737":{"position":[[567,3]]}},"keywords":{}}],["pypi_url",{"_index":5524,"title":{},"content":{"766":{"position":[[309,12]]},"767":{"position":[[999,11],[1020,11]]}},"keywords":{}}],["pytest",{"_index":1859,"title":{},"content":{"105":{"position":[[232,6]]}},"keywords":{}}],["python",{"_index":318,"title":{"105":{"position":[[0,6]]},"476":{"position":[[8,6]]}},"content":{"11":{"position":[[126,7],[237,6],[321,6],[348,6],[386,6]]},"36":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8034,6],[9369,6]]},"49":{"position":[[1688,6]]},"50":{"position":[[1428,6]]},"51":{"position":[[999,6]]},"69":{"position":[[736,9],[1259,6],[1719,6],[1816,7],[1891,7]]},"71":{"position":[[407,6]]},"72":{"position":[[303,6]]},"73":{"position":[[182,6]]},"74":{"position":[[191,6]]},"75":{"position":[[940,6]]},"76":{"position":[[868,6]]},"77":{"position":[[730,6]]},"78":{"position":[[721,6]]},"79":{"position":[[1031,6]]},"80":{"position":[[333,6]]},"81":{"position":[[41,6]]},"83":{"position":[[190,7]]},"91":{"position":[[76,6]]},"105":{"position":[[82,6],[151,6]]},"107":{"position":[[3,6]]},"108":{"position":[[69,6]]},"123":{"position":[[148,6],[678,6]]},"125":{"position":[[246,6]]},"126":{"position":[[340,6]]},"127":{"position":[[346,6]]},"134":{"position":[[557,6],[968,6]]},"140":{"position":[[290,6],[311,6]]},"143":{"position":[[468,6]]},"178":{"position":[[277,6],[334,6]]},"202":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8034,6],[9369,6]]},"224":{"position":[[257,6],[1028,6]]},"227":{"position":[[573,7]]},"229":{"position":[[1456,6],[1491,6]]},"230":{"position":[[265,7]]},"231":{"position":[[289,7]]},"232":{"position":[[321,7]]},"233":{"position":[[346,7]]},"239":{"position":[[336,6]]},"253":{"position":[[1265,6],[1319,6],[1394,8],[1474,6],[2292,6]]},"259":{"position":[[1841,8]]},"263":{"position":[[988,6],[1100,6],[1416,6]]},"267":{"position":[[3034,6],[3190,8],[3559,6],[4215,6],[6694,6],[7651,6],[10542,6],[10823,6]]},"276":{"position":[[200,6],[480,6]]},"475":{"position":[[31,6],[68,6],[202,6]]},"476":{"position":[[72,6],[454,6],[626,6],[2708,6],[4686,6]]},"478":{"position":[[645,7]]},"479":{"position":[[10,6]]},"480":{"position":[[723,7],[1602,7]]},"481":{"position":[[228,6]]},"483":{"position":[[689,7]]},"485":{"position":[[571,7]]},"486":{"position":[[535,7]]},"487":{"position":[[1232,7]]},"488":{"position":[[1789,7],[2383,7]]},"495":{"position":[[719,7]]},"496":{"position":[[461,7],[762,6]]},"497":{"position":[[578,7]]},"499":{"position":[[870,7]]},"500":{"position":[[497,7]]},"501":{"position":[[857,7]]},"548":{"position":[[416,6],[702,6]]},"609":{"position":[[239,6]]},"610":{"position":[[565,6]]},"611":{"position":[[310,7]]},"612":{"position":[[1013,7]]},"616":{"position":[[54,7],[71,6]]},"623":{"position":[[226,6],[872,6]]},"624":{"position":[[185,6],[881,6]]},"627":{"position":[[197,6],[897,6]]},"628":{"position":[[137,6],[875,6]]},"629":{"position":[[48,6],[810,6]]},"630":{"position":[[47,6],[387,6]]},"632":{"position":[[684,6],[1708,6]]},"634":{"position":[[82,6],[206,6]]},"636":{"position":[[392,6],[1709,6]]},"637":{"position":[[584,6],[1725,6]]},"638":{"position":[[597,6],[1529,6]]},"639":{"position":[[648,6],[1771,6]]},"640":{"position":[[444,6],[1535,6]]},"641":{"position":[[631,6],[1782,6]]},"642":{"position":[[644,6],[1600,6]]},"643":{"position":[[695,6],[1826,6]]},"644":{"position":[[104,6],[959,6]]},"645":{"position":[[41,6],[235,6]]},"646":{"position":[[168,6],[742,6]]},"647":{"position":[[72,6],[316,6]]},"648":{"position":[[74,6],[320,6],[781,6]]},"649":{"position":[[55,6],[1124,6]]},"650":{"position":[[103,6],[896,6]]},"651":{"position":[[93,6],[599,6]]},"652":{"position":[[234,6],[638,6],[770,6]]},"653":{"position":[[59,6],[438,6]]},"654":{"position":[[72,6],[330,6]]},"656":{"position":[[334,6],[1148,6],[1408,6]]},"657":{"position":[[253,6],[722,6],[903,6]]},"658":{"position":[[912,6],[1046,6]]},"659":{"position":[[133,6],[509,6]]},"660":{"position":[[55,6],[530,6],[973,6]]},"661":{"position":[[86,6],[384,6]]},"662":{"position":[[210,6],[597,6],[729,6]]},"663":{"position":[[254,6],[450,6]]},"664":{"position":[[55,6],[179,6]]},"665":{"position":[[54,6],[183,6]]},"666":{"position":[[32,6],[278,6]]},"667":{"position":[[31,6],[356,6]]},"668":{"position":[[85,6],[349,6]]},"669":{"position":[[373,6],[656,6],[957,6]]},"670":{"position":[[541,6],[665,6]]},"671":{"position":[[235,6],[535,6],[748,6]]},"672":{"position":[[86,6],[353,6],[554,6]]},"673":{"position":[[209,6],[1262,6]]},"675":{"position":[[148,6],[314,6]]},"676":{"position":[[109,6],[914,6]]},"677":{"position":[[54,6],[262,6]]},"678":{"position":[[66,6],[282,6]]},"679":{"position":[[62,6],[296,6]]},"681":{"position":[[358,6],[562,6],[1386,6],[1686,6]]},"682":{"position":[[260,6],[1153,6],[1453,6]]},"683":{"position":[[921,6]]},"684":{"position":[[235,6],[802,6]]},"685":{"position":[[191,6],[998,6],[1190,6]]},"686":{"position":[[173,6],[1049,6],[1269,6]]},"687":{"position":[[287,6],[768,6]]},"688":{"position":[[123,6],[774,6]]},"690":{"position":[[213,6],[597,6]]},"691":{"position":[[69,6],[357,6]]},"692":{"position":[[70,6],[359,6]]},"693":{"position":[[92,6],[242,6]]},"694":{"position":[[93,6],[244,6]]},"695":{"position":[[58,6]]},"696":{"position":[[73,6],[212,6]]},"697":{"position":[[88,6]]},"698":{"position":[[56,6]]},"699":{"position":[[79,6],[663,6]]},"700":{"position":[[221,6],[1963,6]]},"701":{"position":[[139,6]]},"702":{"position":[[102,6],[353,6]]},"703":{"position":[[93,6],[376,6]]},"709":{"position":[[118,6],[253,6]]},"710":{"position":[[69,6]]},"711":{"position":[[65,6],[422,6]]},"712":{"position":[[70,6],[212,6]]},"713":{"position":[[99,6],[399,6]]},"714":{"position":[[98,6],[395,6]]},"715":{"position":[[834,6]]},"716":{"position":[[112,6],[731,6]]},"717":{"position":[[168,6],[476,6]]},"718":{"position":[[175,6],[606,6],[885,6]]},"720":{"position":[[35,6],[368,6]]},"721":{"position":[[38,6],[168,6]]},"722":{"position":[[66,6]]},"723":{"position":[[111,6],[234,6]]},"724":{"position":[[820,6]]},"725":{"position":[[96,6],[381,6]]},"726":{"position":[[95,6],[377,6]]},"727":{"position":[[158,6],[454,6]]},"728":{"position":[[172,6],[610,6],[886,6]]},"729":{"position":[[149,6]]},"730":{"position":[[28,6],[201,6]]},"731":{"position":[[43,6],[173,6]]},"732":{"position":[[47,6],[151,6]]},"733":{"position":[[37,6]]},"734":{"position":[[63,6],[196,6]]},"737":{"position":[[346,6],[381,6],[788,6]]},"739":{"position":[[61,6],[482,6]]},"740":{"position":[[42,6],[261,6]]},"741":{"position":[[34,6]]},"742":{"position":[[54,6],[274,6]]},"743":{"position":[[76,6]]},"744":{"position":[[314,6]]},"745":{"position":[[151,6],[724,6]]},"746":{"position":[[220,6],[1178,6]]},"748":{"position":[[59,6],[252,6]]},"749":{"position":[[79,6]]},"750":{"position":[[143,6],[285,6]]},"751":{"position":[[142,6]]},"752":{"position":[[621,6]]},"754":{"position":[[498,6],[847,6],[1006,6],[1557,6]]},"756":{"position":[[94,6]]},"757":{"position":[[85,6]]},"758":{"position":[[290,6]]},"760":{"position":[[58,6],[213,6]]},"761":{"position":[[50,6],[240,6]]},"762":{"position":[[50,6],[467,6]]},"763":{"position":[[50,6],[431,6]]},"764":{"position":[[83,6]]},"766":{"position":[[253,6]]},"767":{"position":[[843,6]]},"768":{"position":[[75,8],[123,6],[494,6]]},"769":{"position":[[163,6],[479,6]]},"771":{"position":[[224,6]]},"772":{"position":[[75,6],[308,6]]},"773":{"position":[[223,6],[401,6]]},"774":{"position":[[47,6],[296,6]]},"775":{"position":[[49,6],[302,6]]}},"keywords":{}}],["pythonopen",{"_index":4572,"title":{},"content":{"605":{"position":[[69,11]]}},"keywords":{}}],["q1",{"_index":3859,"title":{},"content":{"418":{"position":[[603,2]]}},"keywords":{}}],["qprobyzwh5woma",{"_index":993,"title":{},"content":{"43":{"position":[[2451,14],[5916,14]]}},"keywords":{}}],["queri",{"_index":2302,"title":{},"content":{"227":{"position":[[5355,5]]},"324":{"position":[[2889,8]]},"599":{"position":[[731,5]]}},"keywords":{}}],["question",{"_index":4157,"title":{"472":{"position":[[4,9]]}},"content":{"472":{"position":[[13,9]]},"623":{"position":[[35,9],[352,8]]},"624":{"position":[[35,9],[318,8]]}},"keywords":{}}],["queu",{"_index":4461,"title":{},"content":{"528":{"position":[[1138,6],[1201,6],[1250,7]]}},"keywords":{}}],["queue",{"_index":4368,"title":{},"content":{"499":{"position":[[442,6]]},"528":{"position":[[415,6],[1353,5],[1394,6],[1431,5]]},"715":{"position":[[187,5],[207,5],[636,5],[670,5],[1192,5],[1228,5]]},"724":{"position":[[181,5],[201,5],[612,5],[646,5],[1147,5],[1180,5]]}},"keywords":{}}],["quick",{"_index":4007,"title":{},"content":{"448":{"position":[[113,5]]},"492":{"position":[[697,5]]},"536":{"position":[[245,5]]}},"keywords":{}}],["quickli",{"_index":2428,"title":{},"content":{"240":{"position":[[133,7]]},"303":{"position":[[134,7]]},"608":{"position":[[771,7]]}},"keywords":{}}],["quiet",{"_index":5125,"title":{},"content":{"681":{"position":[[816,6],[1402,5],[1670,6]]},"682":{"position":[[1169,5],[1438,6]]},"683":{"position":[[546,6],[835,5]]},"684":{"position":[[469,6],[716,5]]},"688":{"position":[[355,6],[688,5]]}},"keywords":{}}],["quiet>",{"_index":5130,"title":{},"content":{"682":{"position":[[544,10]]}},"keywords":{}}],["quiet=fals",{"_index":5128,"title":{},"content":{"681":{"position":[[1880,12]]}},"keywords":{}}],["quiet=tru",{"_index":5132,"title":{},"content":{"682":{"position":[[1645,11]]}},"keywords":{}}],["quit",{"_index":3539,"title":{},"content":{"357":{"position":[[2468,5]]}},"keywords":{}}],["quot",{"_index":179,"title":{},"content":{"5":{"position":[[1028,6],[1282,6]]},"9":{"position":[[815,6],[914,6],[942,6]]},"33":{"position":[[87,7],[590,7],[849,7]]},"35":{"position":[[1212,6],[1743,6]]},"37":{"position":[[1005,6],[1536,6]]},"83":{"position":[[2802,7]]},"93":{"position":[[646,9],[671,9]]},"199":{"position":[[498,6]]},"201":{"position":[[1241,6],[1772,6]]},"203":{"position":[[1024,6],[1555,6]]},"204":{"position":[[1385,6],[1916,6]]},"205":{"position":[[1221,6],[1752,6]]},"206":{"position":[[788,6]]},"207":{"position":[[571,6]]},"214":{"position":[[257,6]]},"216":{"position":[[337,6]]},"264":{"position":[[524,6]]},"266":{"position":[[856,6]]},"268":{"position":[[648,6]]},"269":{"position":[[950,6]]},"270":{"position":[[619,6]]},"271":{"position":[[781,6]]},"272":{"position":[[573,6]]},"434":{"position":[[506,6]]},"446":{"position":[[325,6],[403,6],[420,6]]},"493":{"position":[[440,6]]},"636":{"position":[[191,10],[556,10]]},"637":{"position":[[368,10],[763,10]]},"638":{"position":[[377,10],[780,10]]},"639":{"position":[[437,10],[822,10]]},"640":{"position":[[223,10],[612,10]]},"641":{"position":[[395,10],[814,10]]},"642":{"position":[[404,10],[831,10]]},"643":{"position":[[464,10],[873,10]]}},"keywords":{}}],["quot;#{packet['packet_timesecond",{"_index":4373,"title":{},"content":{"499":{"position":[[681,38]]},"676":{"position":[[567,38],[813,38]]}},"keywords":{}}],["quot;#{variable}"",{"_index":4168,"title":{},"content":{"476":{"position":[[738,23]]}},"keywords":{}}],["quot;$cosmos_host$url"",{"_index":1139,"title":{},"content":{"44":{"position":[[3959,28]]}},"keywords":{}}],["quot;$cosmos_host/openc3",{"_index":1137,"title":{},"content":{"44":{"position":[[3793,25]]}},"keywords":{}}],["quot;$run_opts"",{"_index":1109,"title":{},"content":{"44":{"position":[[2996,21]]}},"keywords":{}}],["quot;$script_api/$script_path/lock?scope=default"",{"_index":1093,"title":{},"content":{"44":{"position":[[2514,55]]}},"keywords":{}}],["quot;$script_api/$script_path/run?scope=default"",{"_index":1108,"title":{},"content":{"44":{"position":[[2930,54]]}},"keywords":{}}],["quot;$script_api/complet",{"_index":1129,"title":{},"content":{"44":{"position":[[3578,27]]}},"keywords":{}}],["quot;$script_api/run",{"_index":1120,"title":{},"content":{"44":{"position":[[3347,25]]}},"keywords":{}}],["quot;$suite"",{"_index":1102,"title":{},"content":{"44":{"position":[[2778,19]]}},"keywords":{}}],["quot;${curl_args[@]}"",{"_index":1095,"title":{},"content":{"44":{"position":[[2590,27],[3018,28],[3400,27],[3634,27],[3907,27],[3988,27]]}},"keywords":{}}],["quot;${openc3_user_id}:${openc3_group_id}"",{"_index":3198,"title":{},"content":{"324":{"position":[[3476,48]]},"325":{"position":[[507,48]]}},"keywords":{}}],["quot;%02x"",{"_index":3821,"title":{},"content":{"402":{"position":[[786,16]]}},"keywords":{}}],["quot;<",{"_index":504,"title":{},"content":{"22":{"position":[[524,11]]},"446":{"position":[[72,12]]}},"keywords":{}}],["quot;<button",{"_index":4742,"title":{},"content":{"627":{"position":[[254,16],[344,16]]}},"keywords":{}}],["quot;<command",{"_index":4818,"title":{},"content":{"636":{"position":[[239,17],[604,17]]},"637":{"position":[[431,17],[826,17]]},"638":{"position":[[444,17],[847,17]]},"639":{"position":[[495,17],[880,17]]},"640":{"position":[[275,17],[664,17]]},"641":{"position":[[462,17],[881,17]]},"642":{"position":[[475,17],[902,17]]},"643":{"position":[[526,17],[935,17]]},"649":{"position":[[201,17]]},"651":{"position":[[160,17]]},"652":{"position":[[297,17]]},"653":{"position":[[132,17]]},"654":{"position":[[199,17]]},"717":{"position":[[234,17],[268,17]]},"718":{"position":[[250,17],[284,17]]},"727":{"position":[[218,17],[252,17]]},"728":{"position":[[241,17],[275,17]]}},"keywords":{}}],["quot;<definition>"",{"_index":5444,"title":{},"content":{"745":{"position":[[253,31]]},"746":{"position":[[288,31]]}},"keywords":{}}],["quot;<example>"",{"_index":1395,"title":{},"content":{"63":{"position":[[742,28]]}},"keywords":{}}],["quot;<filter>"",{"_index":4793,"title":{},"content":{"632":{"position":[[544,27],[654,27]]}},"keywords":{}}],["quot;<interfac",{"_index":5331,"title":{},"content":{"716":{"position":[[185,19]]}},"keywords":{}}],["quot;<item",{"_index":5002,"title":{},"content":{"660":{"position":[[216,14]]},"667":{"position":[[202,14]]}},"keywords":{}}],["quot;<message>"",{"_index":4792,"title":{},"content":{"632":{"position":[[507,28],[617,28],[744,28],[853,28]]}},"keywords":{}}],["quot;<method",{"_index":4998,"title":{},"content":{"659":{"position":[[198,16]]}},"keywords":{}}],["quot;<packet",{"_index":4908,"title":{},"content":{"648":{"position":[[192,16]]},"650":{"position":[[263,16]]},"660":{"position":[[183,16]]},"661":{"position":[[246,16]]},"662":{"position":[[356,16]]},"666":{"position":[[150,16]]},"667":{"position":[[169,16]]},"668":{"position":[[211,16]]}},"keywords":{}}],["quot;<packet>"",{"_index":5107,"title":{},"content":{"677":{"position":[[165,27]]},"678":{"position":[[125,28],[183,29]]},"679":{"position":[[199,27]]},"684":{"position":[[370,27]]},"688":{"position":[[256,27]]}},"keywords":{}}],["quot;<packet_name>"",{"_index":5073,"title":{},"content":{"670":{"position":[[143,32]]}},"keywords":{}}],["quot;<param",{"_index":4839,"title":{},"content":{"640":{"position":[[309,15],[373,15],[698,16],[758,15]]},"641":{"position":[[496,15],[560,15],[915,16],[975,15]]},"642":{"position":[[509,15],[573,15],[936,16],[996,15]]},"643":{"position":[[560,15],[624,15],[969,16],[1029,15]]}},"keywords":{}}],["quot;<paramet",{"_index":4916,"title":{},"content":{"649":{"position":[[235,19]]},"652":{"position":[[331,19]]}},"keywords":{}}],["quot;<screen",{"_index":5426,"title":{},"content":{"739":{"position":[[125,16]]},"740":{"position":[[104,16]]},"742":{"position":[[117,16]]},"744":{"position":[[157,16]]},"745":{"position":[[221,16]]}},"keywords":{}}],["quot;<select",{"_index":4746,"title":{},"content":{"627":{"position":[[423,19]]}},"keywords":{}}],["quot;<target>"",{"_index":5109,"title":{},"content":{"678":{"position":[[154,28]]}},"keywords":{}}],["quot;"",{"_index":1453,"title":{},"content":{"69":{"position":[[1941,12]]},"321":{"position":[[580,12],[750,12],[821,12],[1440,12],[1630,12],[1706,12],[1972,12],[2135,12],[2211,12],[2472,12],[2635,12],[2711,12],[3138,12],[3197,12]]}},"keywords":{}}],["quot;""",{"_index":5455,"title":{},"content":{"746":{"position":[[1208,18],[1350,18]]}},"keywords":{}}],["quot;(som",{"_index":4515,"title":{},"content":{"578":{"position":[[1030,11]]}},"keywords":{}}],["quot;))][0",{"_index":1133,"title":{},"content":{"44":{"position":[[3738,12]]}},"keywords":{}}],["quot;+dur+""",{"_index":3956,"title":{},"content":{"435":{"position":[[440,25]]}},"keywords":{}}],["quot;+type+"",{"_index":3939,"title":{},"content":{"431":{"position":[[441,19]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_cmds.txt"",{"_index":5247,"title":{},"content":{"706":{"position":[[1007,52]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_tlm.txt"",{"_index":5248,"title":{},"content":{"706":{"position":[[1062,51]]}},"keywords":{}}],["quot;./cor",{"_index":3027,"title":{},"content":{"318":{"position":[[693,12]]}},"keywords":{}}],["quot;.[]|select(.id==$id)")"",{"_index":1122,"title":{},"content":{"44":{"position":[[3433,39]]}},"keywords":{}}],["quot;.rb"",{"_index":342,"title":{},"content":{"12":{"position":[[497,15]]}},"keywords":{}}],["quot;.txt"",{"_index":4803,"title":{},"content":{"632":{"position":[[1424,17]]}},"keywords":{}}],["quot;.txt,.doc"",{"_index":4797,"title":{},"content":{"632":{"position":[[1177,22]]}},"keywords":{}}],["quot;/dev/ttyusb0:/dev/ttyusb0"",{"_index":3280,"title":{},"content":{"341":{"position":[[155,37]]}},"keywords":{}}],["quot;/entrypoint.sh",{"_index":1635,"title":{},"content":{"83":{"position":[[2666,20]]}},"keywords":{}}],["quot;/etc/certs/cert.crt"",{"_index":489,"title":{},"content":{"22":{"position":[[196,31]]}},"keywords":{}}],["quot;/etc/certs/cert.key"",{"_index":491,"title":{},"content":{"22":{"position":[[239,31]]}},"keywords":{}}],["quot;/openc3",{"_index":3420,"title":{},"content":{"352":{"position":[[650,13],[801,13]]}},"keywords":{}}],["quot;/sbin/tini",{"_index":1628,"title":{},"content":{"83":{"position":[[2414,16],[2542,16],[2777,16]]}},"keywords":{}}],["quot;/script",{"_index":3424,"title":{},"content":{"352":{"position":[[949,13]]}},"keywords":{}}],["quot;/tmp/data/cert"",{"_index":1993,"title":{},"content":{"136":{"position":[[648,26]]},"181":{"position":[[539,26]]}},"keywords":{}}],["quot;/tools/toolfoldername"",{"_index":2083,"title":{},"content":{"186":{"position":[[84,34]]}},"keywords":{}}],["quot;/usr/bin/dock",{"_index":1641,"title":{},"content":{"83":{"position":[[2862,21]]}},"keywords":{}}],["quot;0"",{"_index":2266,"title":{},"content":{"227":{"position":[[2437,15],[3445,15]]}},"keywords":{}}],["quot;03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d"",{"_index":3118,"title":{},"content":{"322":{"position":[[632,77]]}},"keywords":{}}],["quot;0x%04x"",{"_index":3067,"title":{},"content":{"321":{"position":[[502,18],[607,18],[1358,18],[1467,18],[1890,18],[1999,18],[2390,18],[2499,18],[2911,18],[3001,18]]}},"keywords":{}}],["quot;0x%08x:"",{"_index":3822,"title":{},"content":{"402":{"position":[[807,19]]}},"keywords":{}}],["quot;0x%0x"",{"_index":662,"title":{},"content":{"36":{"position":[[264,17]]},"40":{"position":[[261,17],[378,17],[487,17],[602,17],[1034,17]]},"202":{"position":[[264,17]]},"267":{"position":[[259,17]]}},"keywords":{}}],["quot;0x%2x"",{"_index":3080,"title":{},"content":{"321":{"position":[[848,17]]}},"keywords":{}}],["quot;0x%x"",{"_index":3818,"title":{},"content":{"401":{"position":[[604,16]]}},"keywords":{}}],["quot;1"",{"_index":2268,"title":{},"content":{"227":{"position":[[2515,15],[3518,15]]},"623":{"position":[[158,14]]},"624":{"position":[[119,14],[145,13]]}},"keywords":{}}],["quot;10.0"",{"_index":3953,"title":{},"content":{"435":{"position":[[279,16]]},"446":{"position":[[462,16]]}},"keywords":{}}],["quot;100"",{"_index":3785,"title":{},"content":{"390":{"position":[[350,15]]},"391":{"position":[[347,15]]},"393":{"position":[[188,15]]}},"keywords":{}}],["quot;1235:1235/udp"",{"_index":2998,"title":{},"content":{"315":{"position":[[310,25]]}},"keywords":{}}],["quot;127.0.0.1"",{"_index":3083,"title":{},"content":{"321":{"position":[[902,21]]}},"keywords":{}}],["quot;1613077715557",{"_index":5211,"title":{},"content":{"703":{"position":[[435,22],[867,20]]}},"keywords":{}}],["quot;1613077715657",{"_index":5225,"title":{},"content":{"703":{"position":[[1417,22]]}},"keywords":{}}],["quot;172.20.0.8/16"",{"_index":3125,"title":{},"content":{"322":{"position":[[963,26]]}},"keywords":{}}],["quot;172.20.0.9/16"",{"_index":3121,"title":{},"content":{"322":{"position":[[772,26]]}},"keywords":{}}],["quot;2.0"",{"_index":905,"title":{},"content":{"42":{"position":[[286,16]]},"43":{"position":[[6039,16]]},"93":{"position":[[1698,16],[1959,16],[2175,16],[2496,16]]},"94":{"position":[[1150,16],[1380,16],[1474,16],[1730,16]]},"95":{"position":[[690,16]]}},"keywords":{}}],["quot;200"",{"_index":3786,"title":{},"content":{"390":{"position":[[372,15]]},"391":{"position":[[369,15]]},"393":{"position":[[210,15]]}},"keywords":{}}],["quot;300"",{"_index":3787,"title":{},"content":{"390":{"position":[[394,15]]},"391":{"position":[[391,15]]},"393":{"position":[[262,15]]}},"keywords":{}}],["quot;3i5n49dmnfg9fl32k3"",{"_index":2316,"title":{},"content":{"227":{"position":[[6487,30]]}},"keywords":{}}],["quot;400"",{"_index":3791,"title":{},"content":{"391":{"position":[[413,15]]},"393":{"position":[[284,15]]}},"keywords":{}}],["quot;443:2943"",{"_index":517,"title":{},"content":{"23":{"position":[[263,20]]}},"keywords":{}}],["quot;5.11.4",{"_index":5558,"title":{},"content":{"768":{"position":[[354,12],[431,13]]}},"keywords":{}}],["quot;500"",{"_index":3792,"title":{},"content":{"391":{"position":[[435,15]]}},"keywords":{}}],["quot;600"",{"_index":3793,"title":{},"content":{"391":{"position":[[457,15]]}},"keywords":{}}],["quot;700"",{"_index":3794,"title":{},"content":{"391":{"position":[[479,15]]}},"keywords":{}}],["quot;800"",{"_index":3795,"title":{},"content":{"391":{"position":[[501,15]]}},"keywords":{}}],["quot;80:2900"",{"_index":516,"title":{},"content":{"23":{"position":[[239,19]]}},"keywords":{}}],["quot;900"",{"_index":3796,"title":{},"content":{"391":{"position":[[523,15]]}},"keywords":{}}],["quot;:2900"",{"_index":497,"title":{},"content":{"22":{"position":[[358,17]]}},"keywords":{}}],["quot;:2943"",{"_index":501,"title":{},"content":{"22":{"position":[[470,17]]}},"keywords":{}}],["quot;@openc3/tool",{"_index":3212,"title":{},"content":{"328":{"position":[[252,18]]}},"keywords":{}}],["quot;\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":4778,"title":{},"content":{"629":{"position":[[753,45]]}},"keywords":{}}],["quot;_ccsds_apid.txt"",{"_index":247,"title":{},"content":{"7":{"position":[[222,28]]}},"keywords":{}}],["quot;a",{"_index":2427,"title":{},"content":{"240":{"position":[[13,7],[220,7]]},"360":{"position":[[712,8]]}},"keywords":{}}],["quot;access_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":986,"title":{},"content":{"43":{"position":[[1291,959]]}},"keywords":{}}],["quot;adcs"",{"_index":5042,"title":{},"content":{"665":{"position":[[243,18]]},"678":{"position":[[332,18]]},"739":{"position":[[532,17]]},"740":{"position":[[309,17]]},"742":{"position":[[323,17]]},"773":{"position":[[592,17]]}},"keywords":{}}],["quot;add",{"_index":4492,"title":{},"content":{"556":{"position":[[186,9],[445,9],[668,9]]}},"keywords":{}}],["quot;addit",{"_index":299,"title":{},"content":{"9":{"position":[[238,16]]}},"keywords":{}}],["quot;allow",{"_index":1294,"title":{},"content":{"56":{"position":[[297,11]]}},"keywords":{}}],["quot;an",{"_index":2421,"title":{},"content":{"239":{"position":[[13,8]]}},"keywords":{}}],["quot;angl",{"_index":2232,"title":{},"content":{"226":{"position":[[778,11]]}},"keywords":{}}],["quot;api.cmd('inst",{"_index":3950,"title":{},"content":{"434":{"position":[[515,19]]},"446":{"position":[[506,19]]}},"keywords":{}}],["quot;arm",{"_index":731,"title":{},"content":{"36":{"position":[[3740,9],[3762,9],[3794,12]]},"202":{"position":[[3740,9],[3762,9],[3794,12]]},"267":{"position":[[2807,9],[2829,9]]}},"keywords":{}}],["quot;array",{"_index":2147,"title":{},"content":{"206":{"position":[[987,11]]},"207":{"position":[[774,11]]},"271":{"position":[[975,11]]},"272":{"position":[[771,11]]}},"keywords":{}}],["quot;author",{"_index":901,"title":{},"content":{"42":{"position":[[224,20]]},"43":{"position":[[4767,20]]},"95":{"position":[[972,20]]}},"keywords":{}}],["quot;auto_reconnect"=>tru",{"_index":5267,"title":{},"content":{"709":{"position":[[536,36]]},"723":{"position":[[509,36]]}},"keywords":{}}],["quot;averag",{"_index":2618,"title":{},"content":{"262":{"position":[[378,13]]}},"keywords":{}}],["quot;ballaerospace/openc3",{"_index":514,"title":{},"content":{"23":{"position":[[173,26]]}},"keywords":{}}],["quot;big_endian"",{"_index":1420,"title":{},"content":{"67":{"position":[[680,22]]}},"keywords":{}}],["quot;binari",{"_index":891,"title":{},"content":{"40":{"position":[[1393,12]]}},"keywords":{}}],["quot;binary"",{"_index":890,"title":{},"content":{"40":{"position":[[1353,18]]}},"keywords":{}}],["quot;bit_offset"=>0",{"_index":4894,"title":{},"content":{"646":{"position":[[664,29]]},"648":{"position":[[703,29]]},"664":{"position":[[575,29]]},"666":{"position":[[1102,29]]},"667":{"position":[[489,29]]}},"keywords":{}}],["quot;bit_offset"=>64",{"_index":4919,"title":{},"content":{"649":{"position":[[523,30]]}},"keywords":{}}],["quot;bit_size"=>16",{"_index":4920,"title":{},"content":{"649":{"position":[[554,28]]}},"keywords":{}}],["quot;bit_size"=>3",{"_index":4895,"title":{},"content":{"646":{"position":[[694,27]]},"648":{"position":[[733,27]]},"664":{"position":[[607,27]]},"666":{"position":[[1134,27]]},"667":{"position":[[521,27]]}},"keywords":{}}],["quot;block",{"_index":2139,"title":{},"content":{"201":{"position":[[2240,11]]}},"keywords":{}}],["quot;bob"",{"_index":2558,"title":{},"content":{"253":{"position":[[7027,16],[7156,16]]}},"keywords":{}}],["quot;boolean"",{"_index":2383,"title":{},"content":{"232":{"position":[[1169,19]]},"233":{"position":[[1447,19]]},"253":{"position":[[3014,19],[4963,19]]},"254":{"position":[[1614,19]]}},"keywords":{}}],["quot;buffer"",{"_index":2314,"title":{},"content":{"227":{"position":[[6312,19],[6467,19]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":4943,"title":{},"content":{"650":{"position":[[786,107]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00a",{"_index":4871,"title":{},"content":{"644":{"position":[[852,68]]}},"keywords":{}}],["quot;build"",{"_index":3222,"title":{},"content":{"328":{"position":[[870,18]]}},"keywords":{}}],["quot;c:\\openc3",{"_index":2817,"title":{},"content":{"292":{"position":[[143,15]]}},"keywords":{}}],["quot;catch",{"_index":2547,"title":{},"content":{"253":{"position":[[5707,11]]},"269":{"position":[[114,11]]}},"keywords":{}}],["quot;ccsd",{"_index":269,"title":{},"content":{"7":{"position":[[730,11],[919,11]]},"226":{"position":[[159,11],[242,11],[321,11],[420,11],[508,11],[599,11],[686,11],[1037,11],[1120,11],[1199,11],[1298,11],[1386,11],[1477,11],[1564,11],[1807,11],[1890,11],[1969,11],[2068,11],[2156,11],[2247,11],[2334,11]]},"285":{"position":[[137,11],[223,11],[323,11],[422,11],[492,11],[609,11],[677,11]]}},"keywords":{}}],["quot;ccsdsapid"",{"_index":5236,"title":{},"content":{"706":{"position":[[488,22],[725,22]]}},"keywords":{}}],["quot;ccsdslength"",{"_index":5239,"title":{},"content":{"706":{"position":[[569,24],[806,24]]}},"keywords":{}}],["quot;ccsdsseqcnt"",{"_index":5238,"title":{},"content":{"706":{"position":[[542,24],[779,24]]}},"keywords":{}}],["quot;ccsdsseqflags"",{"_index":5237,"title":{},"content":{"706":{"position":[[513,26],[750,26]]}},"keywords":{}}],["quot;ccsdsshf"",{"_index":5235,"title":{},"content":{"706":{"position":[[464,21],[701,21]]}},"keywords":{}}],["quot;ccsdstype"",{"_index":5234,"title":{},"content":{"706":{"position":[[439,22],[676,22]]}},"keywords":{}}],["quot;ccsdsver"",{"_index":5233,"title":{},"content":{"706":{"position":[[414,22],[651,22]]},"773":{"position":[[634,21]]}},"keywords":{}}],["quot;ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc"",{"_index":3122,"title":{},"content":{"322":{"position":[[802,77]]}},"keywords":{}}],["quot;certificate"",{"_index":2801,"title":{},"content":{"291":{"position":[[640,24]]}},"keywords":{}}],["quot;cfs"",{"_index":3119,"title":{},"content":{"322":{"position":[[730,16]]}},"keywords":{}}],["quot;choos",{"_index":3316,"title":{},"content":{"347":{"position":[[673,12],[743,12],[871,12]]},"632":{"position":[[1374,12],[1781,12]]}},"keywords":{}}],["quot;class"=>"openc3::statisticsprocessor"",{"_index":5050,"title":{},"content":{"666":{"position":[[707,62]]}},"keywords":{}}],["quot;class"=>"openc3::watermarkprocessor"",{"_index":5054,"title":{},"content":{"666":{"position":[[895,61]]}},"keywords":{}}],["quot;clear"",{"_index":4832,"title":{},"content":{"638":{"position":[[1634,18]]},"642":{"position":[[1713,18]]}},"keywords":{}}],["quot;click",{"_index":2573,"title":{},"content":{"254":{"position":[[547,11]]}},"keywords":{}}],["quot;clients"=>0",{"_index":5276,"title":{},"content":{"709":{"position":[[908,26]]},"723":{"position":[[881,26]]}},"keywords":{}}],["quot;cmd",{"_index":5315,"title":{},"content":{"715":{"position":[[767,9]]}},"keywords":{}}],["quot;cmd"",{"_index":1739,"title":{},"content":{"93":{"position":[[1735,16],[2212,16]]}},"keywords":{}}],["quot;cmd.txt"",{"_index":364,"title":{},"content":{"15":{"position":[[477,20]]}},"keywords":{}}],["quot;cmd_tlm_files"=>",{"_index":5246,"title":{},"content":{"706":{"position":[[974,30]]}},"keywords":{}}],["quot;cmd_unique_id_mode"=>fals",{"_index":5249,"title":{},"content":{"706":{"position":[[1116,41]]}},"keywords":{}}],["quot;cni"",{"_index":3180,"title":{},"content":{"324":{"position":[[2389,15]]}},"keywords":{}}],["quot;col",{"_index":3783,"title":{},"content":{"390":{"position":[[278,9],[302,9],[326,9]]}},"keywords":{}}],["quot;collect",{"_index":147,"title":{},"content":{"5":{"position":[[140,13],[249,13]]}},"keywords":{}}],["quot;collect"",{"_index":1748,"title":{},"content":{"93":{"position":[[2015,20],[2268,20],[2552,20]]},"636":{"position":[[1430,20],[1547,20],[1808,20]]},"637":{"position":[[1628,20],[1854,20]]},"639":{"position":[[1673,20],[1891,20]]},"640":{"position":[[1455,20],[1637,20]]},"641":{"position":[[1702,20],[1914,20]]},"643":{"position":[[1746,20],[1948,20]]},"651":{"position":[[523,20],[664,20]]},"652":{"position":[[701,20],[827,20]]},"653":{"position":[[763,20]]},"659":{"position":[[443,20],[577,20]]}},"keywords":{}}],["quot;collects"",{"_index":5004,"title":{},"content":{"660":{"position":[[672,21],[1100,21]]}},"keywords":{}}],["quot;command",{"_index":2212,"title":{},"content":{"226":{"position":[[78,14]]},"321":{"position":[[3353,13],[3414,13]]}},"keywords":{}}],["quot;compos",{"_index":2450,"title":{},"content":{"241":{"position":[[13,13]]}},"keywords":{}}],["quot;config_params"=>["interface.rb"",{"_index":5264,"title":{},"content":{"709":{"position":[[382,57]]}},"keywords":{}}],["quot;config_params"=>["router.rb"",{"_index":5362,"title":{},"content":{"723":{"position":[[358,54]]}},"keywords":{}}],["quot;connect_on_startup"=>tru",{"_index":5266,"title":{},"content":{"709":{"position":[[493,40]]},"723":{"position":[[466,40]]}},"keywords":{}}],["quot;cont",{"_index":898,"title":{},"content":{"42":{"position":[[174,13]]},"43":{"position":[[423,13],[4717,13]]}},"keywords":{}}],["quot;containers"",{"_index":3117,"title":{},"content":{"322":{"position":[[606,23]]}},"keywords":{}}],["quot;continueaftererror"",{"_index":1104,"title":{},"content":{"44":{"position":[[2821,30]]}},"keywords":{}}],["quot;converted"",{"_index":5052,"title":{},"content":{"666":{"position":[[820,24],[1002,25]]}},"keywords":{}}],["quot;copi",{"_index":1042,"title":{},"content":{"44":{"position":[[603,10]]}},"keywords":{}}],["quot;cosmos5_"",{"_index":1777,"title":{},"content":{"98":{"position":[[63,21]]}},"keywords":{}}],["quot;created"",{"_index":4458,"title":{},"content":{"528":{"position":[[777,20]]}},"keywords":{}}],["quot;crt"",{"_index":530,"title":{},"content":{"24":{"position":[[131,15]]}},"keywords":{}}],["quot;data",{"_index":2130,"title":{},"content":{"201":{"position":[[2067,10]]},"226":{"position":[[888,10]]}},"keywords":{}}],["quot;data"",{"_index":4538,"title":{},"content":{"585":{"position":[[992,16]]}},"keywords":{}}],["quot;data"=>"5.11.4",{"_index":5528,"title":{},"content":{"767":{"position":[[192,33]]}},"keywords":{}}],["quot;data"=>"https://github.com/openc3/cosmos"",{"_index":5538,"title":{},"content":{"767":{"position":[[724,66]]}},"keywords":{}}],["quot;data"=>"https://pypi.org/simple"",{"_index":5532,"title":{},"content":{"767":{"position":[[359,57]]}},"keywords":{}}],["quot;data"=>"https://rubygems.org"",{"_index":5535,"title":{},"content":{"767":{"position":[[545,54]]}},"keywords":{}}],["quot;data_type"=>"uint"",{"_index":4921,"title":{},"content":{"649":{"position":[[583,43]]},"667":{"position":[[551,43]]}},"keywords":{}}],["quot;data_viewer"",{"_index":5574,"title":{},"content":{"771":{"position":[[197,24]]}},"keywords":{}}],["quot;datavis"",{"_index":2416,"title":{},"content":{"235":{"position":[[1812,19]]}},"keywords":{}}],["quot;day",{"_index":2723,"title":{},"content":{"285":{"position":[[739,10]]}},"keywords":{}}],["quot;decom__cmd__inst__collect__duration__with_units"",{"_index":2267,"title":{},"content":{"227":{"position":[[2453,61]]}},"keywords":{}}],["quot;decom__tlm__inst__adcs__q1__raw"",{"_index":2265,"title":{},"content":{"227":{"position":[[2391,45]]}},"keywords":{}}],["quot;decom__tlm__inst__health_status__formatted"",{"_index":2292,"title":{},"content":{"227":{"position":[[3461,56]]}},"keywords":{}}],["quot;default"",{"_index":913,"title":{},"content":{"42":{"position":[[448,21]]},"43":{"position":[[6201,21]]},"227":{"position":[[1314,20]]}},"keywords":{}}],["quot;default"=>",{"_index":5176,"title":{},"content":{"699":{"position":[[432,26]]}},"keywords":{}}],["quot;default"=>0",{"_index":4923,"title":{},"content":{"649":{"position":[[714,26]]}},"keywords":{}}],["quot;default__telemetry__inst__adcs"",{"_index":2313,"title":{},"content":{"227":{"position":[[6268,43],[6423,43]]}},"keywords":{}}],["quot;deleted"",{"_index":4460,"title":{},"content":{"528":{"position":[[819,20]]}},"keywords":{}}],["quot;deriv",{"_index":2649,"title":{},"content":{"266":{"position":[[1130,13]]},"285":{"position":[[1160,13],[1425,13]]}},"keywords":{}}],["quot;description"=>"abort",{"_index":4890,"title":{},"content":{"646":{"position":[[518,40]]},"648":{"position":[[557,40]]}},"keywords":{}}],["quot;description"=>"ccsd",{"_index":5060,"title":{},"content":{"667":{"position":[[597,39]]}},"keywords":{}}],["quot;description"=>"collect",{"_index":4922,"title":{},"content":{"649":{"position":[[629,41]]}},"keywords":{}}],["quot;description"=>"health",{"_index":5047,"title":{},"content":{"666":{"position":[[518,40]]}},"keywords":{}}],["quot;description"=>"posit",{"_index":5035,"title":{},"content":{"664":{"position":[[403,42]]}},"keywords":{}}],["quot;destin",{"_index":3084,"title":{},"content":{"321":{"position":[[924,17]]}},"keywords":{}}],["quot;details"",{"_index":2942,"title":{},"content":{"305":{"position":[[664,19]]},"424":{"position":[[479,19]]}},"keywords":{}}],["quot;disable_crc"",{"_index":5342,"title":{},"content":{"717":{"position":[[525,24]]},"718":{"position":[[822,24],[943,24]]},"727":{"position":[[500,24]]},"728":{"position":[[823,24],[941,24]]}},"keywords":{}}],["quot;disable_disconnect"=>fals",{"_index":5269,"title":{},"content":{"709":{"position":[[614,41]]},"723":{"position":[[587,41]]}},"keywords":{}}],["quot;display",{"_index":2871,"title":{},"content":{"303":{"position":[[1580,13]]}},"keywords":{}}],["quot;do",{"_index":2238,"title":{},"content":{"226":{"position":[[980,8]]}},"keywords":{}}],["quot;dock",{"_index":1646,"title":{},"content":{"83":{"position":[[2972,12]]}},"keywords":{}}],["quot;dummi",{"_index":2242,"title":{},"content":{"226":{"position":[[1643,11]]}},"keywords":{}}],["quot;dump_packet_throttle_(sec)"",{"_index":872,"title":{},"content":{"40":{"position":[[637,38]]}},"keywords":{}}],["quot;duration"",{"_index":1749,"title":{},"content":{"93":{"position":[[2036,22],[2289,22],[2573,22]]},"636":{"position":[[1451,20],[1570,20],[1831,21]]},"637":{"position":[[1649,20],[1875,22]]},"639":{"position":[[1694,20],[1912,22]]},"640":{"position":[[1476,20],[1658,22]]},"641":{"position":[[1723,20],[1935,22]]},"643":{"position":[[1767,20],[1969,22]]}},"keywords":{}}],["quot;en",{"_index":726,"title":{},"content":{"36":{"position":[[3541,12]]},"202":{"position":[[3541,12]]},"267":{"position":[[2601,12]]},"321":{"position":[[324,12]]},"347":{"position":[[1442,12]]}},"keywords":{}}],["quot;endianness"=>"big_endian"",{"_index":4889,"title":{},"content":{"646":{"position":[[465,50]]},"648":{"position":[[504,50]]},"649":{"position":[[801,50]]},"664":{"position":[[350,50]]},"666":{"position":[[465,50]]},"667":{"position":[[690,50]]}},"keywords":{}}],["quot;environment"",{"_index":1098,"title":{},"content":{"44":{"position":[[2664,24]]}},"keywords":{}}],["quot;error"",{"_index":1416,"title":{},"content":{"67":{"position":[[431,17]]}},"keywords":{}}],["quot;feature"",{"_index":2777,"title":{},"content":{"289":{"position":[[1030,19]]}},"keywords":{}}],["quot;file:#{env['tbl_filename']}"",{"_index":4528,"title":{},"content":{"585":{"position":[[390,39]]},"586":{"position":[[422,39]]}},"keywords":{}}],["quot;fir",{"_index":737,"title":{},"content":{"36":{"position":[[3853,10],[3876,10]]},"202":{"position":[[3853,10],[3876,10]]},"267":{"position":[[2864,10],[2887,10]]}},"keywords":{}}],["quot;first.rules"",{"_index":3413,"title":{},"content":{"352":{"position":[[452,23]]}},"keywords":{}}],["quot;folder_name"=>"inst"",{"_index":5230,"title":{},"content":{"706":{"position":[[297,45]]}},"keywords":{}}],["quot;gnd",{"_index":3886,"title":{},"content":{"424":{"position":[[672,9]]}},"keywords":{}}],["quot;graph"",{"_index":2944,"title":{},"content":{"305":{"position":[[834,17]]}},"keywords":{}}],["quot;ground_error.png"",{"_index":3979,"title":{},"content":{"442":{"position":[[975,28]]}},"keywords":{}}],["quot;ground_off.png"",{"_index":3982,"title":{},"content":{"442":{"position":[[1100,26]]}},"keywords":{}}],["quot;ground_on.png"",{"_index":3976,"title":{},"content":{"442":{"position":[[199,25],[1042,25]]}},"keywords":{}}],["quot;hazardous"=>""",{"_index":4930,"title":{},"content":{"649":{"position":[[1053,41]]}},"keywords":{}}],["quot;health",{"_index":245,"title":{},"content":{"7":{"position":[[178,12],[854,12]]},"8":{"position":[[198,12],[349,12]]},"9":{"position":[[206,12],[372,12]]},"285":{"position":[[70,12]]}},"keywords":{}}],["quot;health_status"",{"_index":1762,"title":{},"content":{"94":{"position":[[1567,26]]},"660":{"position":[[645,26],[1073,26]]},"665":{"position":[[262,26]]},"678":{"position":[[370,28]]}},"keywords":{}}],["quot;hole"",{"_index":2157,"title":{},"content":{"209":{"position":[[244,16]]},"274":{"position":[[225,16]]}},"keywords":{}}],["quot;housekeep",{"_index":3096,"title":{},"content":{"321":{"position":[[2768,18]]}},"keywords":{}}],["quot;hs"",{"_index":5441,"title":{},"content":{"744":{"position":[[391,15]]}},"keywords":{}}],["quot;https://images.pexels.com/photos/256152/pexel",{"_index":3973,"title":{},"content":{"441":{"position":[[449,52]]}},"keywords":{}}],["quot;https://mygemserver"",{"_index":5567,"title":{},"content":{"769":{"position":[[445,31]]}},"keywords":{}}],["quot;https://rubygems.org"",{"_index":5560,"title":{},"content":{"768":{"position":[[458,33]]}},"keywords":{}}],["quot;id"",{"_index":914,"title":{},"content":{"42":{"position":[[470,15]]},"43":{"position":[[6223,15]]},"88":{"position":[[97,14]]},"93":{"position":[[1843,15],[2127,15],[2380,15],[2664,15]]},"94":{"position":[[1264,15],[1426,15],[1614,15],[1776,15]]},"95":{"position":[[804,15]]}},"keywords":{}}],["quot;id"=>"1696437370872",{"_index":4864,"title":{},"content":{"644":{"position":[[501,39]]}},"keywords":{}}],["quot;id"=>nil",{"_index":5251,"title":{},"content":{"706":{"position":[[1204,23]]}},"keywords":{}}],["quot;identified"",{"_index":2546,"title":{},"content":{"253":{"position":[[5617,22]]}},"keywords":{}}],["quot;identifier"",{"_index":2380,"title":{},"content":{"232":{"position":[[1040,22]]},"233":{"position":[[1257,22]]},"253":{"position":[[2891,22],[4871,22],[5342,23]]},"254":{"position":[[1489,22]]}},"keywords":{}}],["quot;identifier".next",{"_index":2536,"title":{},"content":{"253":{"position":[[3735,27]]}},"keywords":{}}],["quot;ignored_items"=>",{"_index":5241,"title":{},"content":{"706":{"position":[[618,30]]}},"keywords":{}}],["quot;ignored_parameters"=>",{"_index":5232,"title":{},"content":{"706":{"position":[[376,35]]}},"keywords":{}}],["quot;inst",{"_index":909,"title":{},"content":{"42":{"position":[[360,11]]},"43":{"position":[[6113,11]]},"93":{"position":[[1772,11]]},"94":{"position":[[1224,11]]},"95":{"position":[[764,11]]}},"keywords":{}}],["quot;inst"",{"_index":1747,"title":{},"content":{"93":{"position":[[1996,18],[2249,18],[2533,18]]},"94":{"position":[[1548,18]]},"659":{"position":[[425,17],[559,17]]},"678":{"position":[[351,18]]},"773":{"position":[[548,17]]}},"keywords":{}}],["quot;inst__health_status__temp2__raw"",{"_index":5029,"title":{},"content":{"663":{"position":[[543,45]]}},"keywords":{}}],["quot;inst_int"",{"_index":5336,"title":{},"content":{"716":{"position":[[689,21],[790,21]]}},"keywords":{}}],["quot;instru",{"_index":2645,"title":{},"content":{"264":{"position":[[594,16]]},"285":{"position":[[971,16],[1062,16]]}},"keywords":{}}],["quot;interfac",{"_index":3036,"title":{},"content":{"320":{"position":[[84,17]]},"715":{"position":[[497,16]]}},"keywords":{}}],["quot;io",{"_index":4769,"title":{},"content":{"629":{"position":[[111,8]]}},"keywords":{}}],["quot;ipv4address"",{"_index":3120,"title":{},"content":{"322":{"position":[[747,24],[938,24]]}},"keywords":{}}],["quot;item_name"=>"item"",{"_index":5215,"title":{},"content":{"703":{"position":[[614,43],[1044,43]]}},"keywords":{}}],["quot;item_name"=>"temp1"",{"_index":5085,"title":{},"content":{"673":{"position":[[447,44],[665,44],[889,44],[1125,44]]}},"keywords":{}}],["quot;itemname"",{"_index":5590,"title":{},"content":{"773":{"position":[[612,21]]}},"keywords":{}}],["quot;items"",{"_index":5587,"title":{},"content":{"773":{"position":[[497,18]]}},"keywords":{}}],["quot;items"=>",{"_index":4892,"title":{},"content":{"646":{"position":[[596,22]]},"648":{"position":[[635,22]]},"664":{"position":[[503,22]]},"666":{"position":[[1030,22]]}},"keywords":{}}],["quot;js/app.js"",{"_index":2086,"title":{},"content":{"187":{"position":[[112,22]]}},"keywords":{}}],["quot;json"",{"_index":1805,"title":{},"content":{"99":{"position":[[2177,16],[2246,16]]}},"keywords":{}}],["quot;json/cbor",{"_index":1795,"title":{},"content":{"99":{"position":[[766,15]]}},"keywords":{}}],["quot;jsonrpc"",{"_index":904,"title":{},"content":{"42":{"position":[[263,22]]},"43":{"position":[[6016,22]]},"93":{"position":[[1676,21],[1937,21],[2153,21],[2474,21]]},"94":{"position":[[1128,21],[1358,21],[1452,21],[1708,21]]},"95":{"position":[[667,22]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":29.204100000000007",{"_index":1024,"title":{},"content":{"43":{"position":[[6610,92]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":53.26555000000001",{"_index":945,"title":{},"content":{"42":{"position":[[842,91]]}},"keywords":{}}],["quot;key"",{"_index":526,"title":{},"content":{"24":{"position":[[26,15]]}},"keywords":{}}],["quot;keyword_params"",{"_index":911,"title":{},"content":{"42":{"position":[[400,27]]},"43":{"position":[[6153,27]]},"88":{"position":[[384,26]]}},"keywords":{}}],["quot;keyword_params":{"scope":"default"",{"_index":1745,"title":{},"content":{"93":{"position":[[1862,67],[2399,67]]},"94":{"position":[[1283,67],[1633,67]]}},"keywords":{}}],["quot;keyword_params":{"type":"with_units","scope":"default"",{"_index":1775,"title":{},"content":{"95":{"position":[[823,108]]}},"keywords":{}}],["quot;kubernet",{"_index":2456,"title":{},"content":{"243":{"position":[[20,17]]}},"keywords":{}}],["quot;label",{"_index":3757,"title":{},"content":{"381":{"position":[[393,11],[456,11]]},"382":{"position":[[165,11]]}},"keywords":{}}],["quot;label"",{"_index":3811,"title":{},"content":{"398":{"position":[[166,17]]}},"keywords":{}}],["quot;label1"",{"_index":3965,"title":{},"content":{"439":{"position":[[386,18]]}},"keywords":{}}],["quot;label2"",{"_index":3967,"title":{},"content":{"439":{"position":[[429,18]]}},"keywords":{}}],["quot;left",{"_index":4434,"title":{},"content":{"513":{"position":[[220,10],[325,10]]}},"keywords":{}}],["quot;length",{"_index":3073,"title":{},"content":{"321":{"position":[[680,12],[3048,12]]}},"keywords":{}}],["quot;limit",{"_index":2663,"title":{},"content":{"267":{"position":[[8197,12]]}},"keywords":{}}],["quot;limits"=>",{"_index":4931,"title":{},"content":{"649":{"position":[[1095,26]]}},"keywords":{}}],["quot;limits_groups"=>",{"_index":5245,"title":{},"content":{"706":{"position":[[938,33]]}},"keywords":{}}],["quot;loc",{"_index":5452,"title":{},"content":{"746":{"position":[[986,11],[1269,11]]}},"keywords":{}}],["quot;local"",{"_index":5448,"title":{},"content":{"745":{"position":[[691,18],[963,18]]}},"keywords":{}}],["quot;localhost:9090"",{"_index":3418,"title":{},"content":{"352":{"position":[[571,28]]}},"keywords":{}}],["quot;location"",{"_index":3887,"title":{},"content":{"424":{"position":[[690,20]]}},"keywords":{}}],["quot;log"=>tru",{"_index":5272,"title":{},"content":{"709":{"position":[[720,25]]},"723":{"position":[[693,25]]}},"keywords":{}}],["quot;log_raw"=>fals",{"_index":5273,"title":{},"content":{"709":{"position":[[748,30]]},"723":{"position":[[721,30]]}},"keywords":{}}],["quot;math:#{result}"",{"_index":4304,"title":{},"content":{"487":{"position":[[1203,26]]}},"keywords":{}}],["quot;maximum"=>65535",{"_index":4925,"title":{},"content":{"649":{"position":[[770,30]]}},"keywords":{}}],["quot;mc_configuration"",{"_index":861,"title":{},"content":{"40":{"position":[[72,28]]}},"keywords":{}}],["quot;memori",{"_index":862,"title":{},"content":{"40":{"position":[[122,12]]}},"keywords":{}}],["quot;memory_scrubbing"",{"_index":879,"title":{},"content":{"40":{"position":[[785,28]]}},"keywords":{}}],["quot;message"=>"message"",{"_index":5219,"title":{},"content":{"703":{"position":[[818,46],[1248,46]]}},"keywords":{}}],["quot;method"",{"_index":906,"title":{},"content":{"42":{"position":[[303,19]]},"43":{"position":[[6056,19]]},"44":{"position":[[2720,19]]},"93":{"position":[[1715,19],[2192,19]]},"94":{"position":[[1167,19],[1491,19]]},"95":{"position":[[707,19]]}},"keywords":{}}],["quot;microsecond",{"_index":2730,"title":{},"content":{"285":{"position":[[898,18]]}},"keywords":{}}],["quot;millisecond",{"_index":2727,"title":{},"content":{"285":{"position":[[824,18]]}},"keywords":{}}],["quot;minimum"=>0",{"_index":4924,"title":{},"content":{"649":{"position":[[743,26]]}},"keywords":{}}],["quot;mov",{"_index":4301,"title":{},"content":{"487":{"position":[[1096,11]]}},"keywords":{}}],["quot;name"",{"_index":3115,"title":{},"content":{"322":{"position":[[549,17],[712,17],[882,17]]}},"keywords":{}}],["quot;name"=>"ccsdsver"",{"_index":4893,"title":{},"content":{"646":{"position":[[619,44]]},"648":{"position":[[658,44]]},"664":{"position":[[528,44]]},"666":{"position":[[1055,44]]},"667":{"position":[[442,44]]}},"keywords":{}}],["quot;name"=>"inst"",{"_index":5229,"title":{},"content":{"706":{"position":[[254,40]]}},"keywords":{}}],["quot;name"=>"inst_int"",{"_index":5263,"title":{},"content":{"709":{"position":[[335,44]]}},"keywords":{}}],["quot;name"=>"router_int"",{"_index":5361,"title":{},"content":{"723":{"position":[[309,46]]}},"keywords":{}}],["quot;name"=>"temp1stat"",{"_index":5049,"title":{},"content":{"666":{"position":[[659,45]]}},"keywords":{}}],["quot;name"=>"temp1water"",{"_index":5053,"title":{},"content":{"666":{"position":[[847,45]]}},"keywords":{}}],["quot;name"=>"type"",{"_index":4918,"title":{},"content":{"649":{"position":[[483,39]]}},"keywords":{}}],["quot;netavark"",{"_index":3179,"title":{},"content":{"324":{"position":[[2357,20]]}},"keywords":{}}],["quot;network"",{"_index":1769,"title":{},"content":{"95":{"position":[[389,19]]}},"keywords":{}}],["quot;new",{"_index":2578,"title":{},"content":{"254":{"position":[[1312,9],[1553,9],[2571,9]]},"745":{"position":[[526,9],[798,9]]}},"keywords":{}}],["quot;new_limits_state"=>"red_low"",{"_index":5217,"title":{},"content":{"703":{"position":[[719,53]]}},"keywords":{}}],["quot;new_limits_state"=>"yellow_low"",{"_index":5221,"title":{},"content":{"703":{"position":[[1146,56]]}},"keywords":{}}],["quot;noop",{"_index":3089,"title":{},"content":{"321":{"position":[[1205,10]]}},"keywords":{}}],["quot;noop"",{"_index":728,"title":{},"content":{"36":{"position":[[3631,16],[3683,16],[3700,16]]},"202":{"position":[[3631,16],[3683,16],[3700,16]]},"267":{"position":[[2761,16],[2778,16]]}},"keywords":{}}],["quot;normal"",{"_index":1752,"title":{},"content":{"93":{"position":[[2105,21],[2358,21],[2642,21]]},"636":{"position":[[1505,19],[1624,18],[1875,18]]},"637":{"position":[[1703,19],[1920,20]]},"659":{"position":[[487,19],[617,20]]}},"keywords":{}}],["quot;not",{"_index":3805,"title":{},"content":{"396":{"position":[[228,11]]}},"keywords":{}}],["quot;numb",{"_index":250,"title":{},"content":{"7":{"position":[[304,12],[989,12]]},"40":{"position":[[700,12]]}},"keywords":{}}],["quot;old_limits_state"=>"red_low"",{"_index":5220,"title":{},"content":{"703":{"position":[[1090,53]]}},"keywords":{}}],["quot;old_limits_state"=>"yellow_low"",{"_index":5216,"title":{},"content":{"703":{"position":[[660,56]]}},"keywords":{}}],["quot;opcod",{"_index":2142,"title":{},"content":{"204":{"position":[[2130,12]]},"205":{"position":[[1970,12]]}},"keywords":{}}],["quot;openc3",{"_index":2518,"title":{},"content":{"253":{"position":[[1574,12]]},"322":{"position":[[567,12]]},"352":{"position":[[718,13],[860,13],[1008,13]]}},"keywords":{}}],["quot;openc3"",{"_index":1578,"title":{},"content":{"83":{"position":[[938,18]]},"201":{"position":[[2158,18]]},"203":{"position":[[1895,18]]},"253":{"position":[[3093,18],[4514,19]]},"254":{"position":[[1693,18]]}},"keywords":{}}],["quot;openc3.sh",{"_index":2336,"title":{},"content":{"229":{"position":[[1295,15]]}},"keywords":{}}],["quot;openc3_openc3",{"_index":3123,"title":{},"content":{"322":{"position":[[900,19]]}},"keywords":{}}],["quot;oper",{"_index":2672,"title":{},"content":{"267":{"position":[[9537,17],[9924,17]]}},"keywords":{}}],["quot;options"",{"_index":1103,"title":{},"content":{"44":{"position":[[2798,20]]}},"keywords":{}}],["quot;options"=>",{"_index":5270,"title":{},"content":{"709":{"position":[[658,27]]},"723":{"position":[[631,27]]}},"keywords":{}}],["quot;overflow"=>"error"",{"_index":4927,"title":{},"content":{"649":{"position":[[883,43]]},"667":{"position":[[777,43]]}},"keywords":{}}],["quot;packet",{"_index":2530,"title":{},"content":{"253":{"position":[[2768,12],[3286,12]]},"254":{"position":[[1366,12]]},"266":{"position":[[1086,12]]},"268":{"position":[[881,12]]},"269":{"position":[[1185,12]]},"270":{"position":[[857,12]]},"321":{"position":[[1310,12],[1540,12],[1842,12],[2072,12],[2342,12],[2572,12],[2959,12]]},"724":{"position":[[743,13]]}},"keywords":{}}],["quot;packet"",{"_index":1539,"title":{},"content":{"79":{"position":[[849,19]]},"227":{"position":[[6248,19],[6403,19]]}},"keywords":{}}],["quot;packet_name"=>"abort"",{"_index":4888,"title":{},"content":{"646":{"position":[[416,46]]},"648":{"position":[[455,46]]}},"keywords":{}}],["quot;packet_name"=>"adcs"",{"_index":5034,"title":{},"content":{"664":{"position":[[302,45]]}},"keywords":{}}],["quot;packet_name"=>"collect"",{"_index":4869,"title":{},"content":{"644":{"position":[[757,48]]},"650":{"position":[[646,48]]}},"keywords":{}}],["quot;packet_name"=>"health_status"",{"_index":5046,"title":{},"content":{"666":{"position":[[408,54]]},"673":{"position":[[392,54],[610,54],[834,54],[1070,54]]}},"keywords":{}}],["quot;packet_name"=>"pkt"",{"_index":5214,"title":{},"content":{"703":{"position":[[567,44],[997,44]]}},"keywords":{}}],["quot;packetname"",{"_index":5589,"title":{},"content":{"773":{"position":[[568,23]]}},"keywords":{}}],["quot;pad"",{"_index":893,"title":{},"content":{"40":{"position":[[1436,15]]}},"keywords":{}}],["quot;param",{"_index":4819,"title":{},"content":{"636":{"position":[[273,11],[329,11],[638,12],[690,11]]},"637":{"position":[[465,11],[521,11],[860,12],[912,11]]},"638":{"position":[[478,11],[534,11],[881,12],[933,11]]},"639":{"position":[[529,11],[585,11],[914,12],[966,11]]}},"keywords":{}}],["quot;paramet",{"_index":4000,"title":{},"content":{"446":{"position":[[699,15]]}},"keywords":{}}],["quot;params"",{"_index":908,"title":{},"content":{"42":{"position":[[340,19]]},"43":{"position":[[6093,19]]},"93":{"position":[[1752,19],[2229,19]]},"94":{"position":[[1204,19],[1528,19]]},"95":{"position":[[744,19]]},"670":{"position":[[601,19],[711,19]]}},"keywords":{}}],["quot;params"=>["temp1"",{"_index":5051,"title":{},"content":{"666":{"position":[[772,42],[959,42]]}},"keywords":{}}],["quot;password"",{"_index":1835,"title":{},"content":{"103":{"position":[[109,21]]}},"keywords":{}}],["quot;pause/retry"",{"_index":4620,"title":{},"content":{"617":{"position":[[434,24]]}},"keywords":{}}],["quot;payload"",{"_index":1772,"title":{},"content":{"95":{"position":[[524,19]]}},"keywords":{}}],["quot;person",{"_index":4080,"title":{},"content":{"460":{"position":[[76,15]]}},"keywords":{}}],["quot;pktid"",{"_index":5240,"title":{},"content":{"706":{"position":[[596,19]]}},"keywords":{}}],["quot;plugin"=>nil",{"_index":5253,"title":{},"content":{"706":{"position":[[1280,27]]},"709":{"position":[[781,27]]},"723":{"position":[[754,27]]}},"keywords":{}}],["quot;post"",{"_index":1094,"title":{},"content":{"44":{"position":[[2573,16]]}},"keywords":{}}],["quot;process",{"_index":3094,"title":{},"content":{"321":{"position":[[2255,13]]}},"keywords":{}}],["quot;processors"=>",{"_index":5048,"title":{},"content":{"666":{"position":[[629,27]]}},"keywords":{}}],["quot;protocols"=>",{"_index":5271,"title":{},"content":{"709":{"position":[[688,29]]},"723":{"position":[[661,29]]}},"keywords":{}}],["quot;push"",{"_index":3769,"title":{},"content":{"384":{"position":[[691,16]]}},"keywords":{}}],["quot;pypi_url"",{"_index":5519,"title":{},"content":{"766":{"position":[[157,22]]}},"keywords":{}}],["quot;pypi_url"=>{"name"=>"pypi_url"",{"_index":5531,"title":{},"content":{"767":{"position":[[290,68]]}},"keywords":{}}],["quot;python",{"_index":2643,"title":{},"content":{"263":{"position":[[1462,12]]}},"keywords":{}}],["quot;raspberri",{"_index":3322,"title":{},"content":{"347":{"position":[[778,15],[820,15]]}},"keywords":{}}],["quot;raw"",{"_index":4958,"title":{},"content":{"652":{"position":[[866,16]]}},"keywords":{}}],["quot;raw__tlm__inst__adcs"",{"_index":2291,"title":{},"content":{"227":{"position":[[3410,34]]}},"keywords":{}}],["quot;received_count"",{"_index":5242,"title":{},"content":{"706":{"position":[[833,27]]}},"keywords":{}}],["quot;received_count"=>"20"",{"_index":4941,"title":{},"content":{"650":{"position":[[695,46]]}},"keywords":{}}],["quot;received_count"=>"3"",{"_index":4870,"title":{},"content":{"644":{"position":[[806,45]]}},"keywords":{}}],["quot;received_time"=>"1696437370872305961"",{"_index":4867,"title":{},"content":{"644":{"position":[[648,62]]}},"keywords":{}}],["quot;received_time"=>"1697298846752053420"",{"_index":4940,"title":{},"content":{"650":{"position":[[535,62]]}},"keywords":{}}],["quot;received_timeformatted"",{"_index":5244,"title":{},"content":{"706":{"position":[[899,36]]}},"keywords":{}}],["quot;received_timeseconds"",{"_index":5243,"title":{},"content":{"706":{"position":[[863,33]]}},"keywords":{}}],["quot;reconnect_delay"=>5.0",{"_index":5268,"title":{},"content":{"709":{"position":[[575,36]]},"723":{"position":[[548,36]]}},"keywords":{}}],["quot;requir",{"_index":334,"title":{},"content":{"12":{"position":[[255,13],[452,13]]}},"keywords":{}}],["quot;required"=>fals",{"_index":5061,"title":{},"content":{"667":{"position":[[743,31]]}},"keywords":{}}],["quot;required"=>tru",{"_index":4926,"title":{},"content":{"649":{"position":[[852,30]]}},"keywords":{}}],["quot;requires"=>",{"_index":5231,"title":{},"content":{"706":{"position":[[345,28]]}},"keywords":{}}],["quot;reserve"",{"_index":4453,"title":{},"content":{"527":{"position":[[132,19]]}},"keywords":{}}],["quot;reset",{"_index":3093,"title":{},"content":{"321":{"position":[[1748,11]]}},"keywords":{}}],["quot;result"",{"_index":1746,"title":{},"content":{"93":{"position":[[1976,19],[2513,19]]},"94":{"position":[[1397,19],[1747,19]]}},"keywords":{}}],["quot;result"=>"success"",{"_index":4865,"title":{},"content":{"644":{"position":[[550,43]]}},"keywords":{}}],["quot;right",{"_index":4437,"title":{},"content":{"513":{"position":[[409,11]]}},"keywords":{}}],["quot;rout",{"_index":5368,"title":{},"content":{"724":{"position":[[479,13]]}},"keywords":{}}],["quot;rubi",{"_index":2638,"title":{},"content":{"263":{"position":[[1309,10]]}},"keywords":{}}],["quot;rubygems_url"",{"_index":5520,"title":{},"content":{"766":{"position":[[180,25]]}},"keywords":{}}],["quot;rubygems_url"=>{"name"=>"rubygems_url"",{"_index":5534,"title":{},"content":{"767":{"position":[[468,76]]}},"keywords":{}}],["quot;run",{"_index":4412,"title":{},"content":{"505":{"position":[[1093,9]]}},"keywords":{}}],["quot;runscript('inst/procedures/'+script",{"_index":3930,"title":{},"content":{"429":{"position":[[2266,42]]}},"keywords":{}}],["quot;rxbytes"=>0",{"_index":5280,"title":{},"content":{"709":{"position":[[1022,26]]},"723":{"position":[[995,26]]}},"keywords":{}}],["quot;rxcnt"=>0",{"_index":5282,"title":{},"content":{"709":{"position":[[1078,24]]},"723":{"position":[[1051,24]]}},"keywords":{}}],["quot;rxsize"=>0",{"_index":5278,"title":{},"content":{"709":{"position":[[965,25]]},"723":{"position":[[938,25]]}},"keywords":{}}],["quot;sat",{"_index":3884,"title":{},"content":{"424":{"position":[[461,9]]}},"keywords":{}}],["quot;satellite.png"",{"_index":3972,"title":{},"content":{"441":{"position":[[374,25]]}},"keywords":{}}],["quot;save"",{"_index":3341,"title":{},"content":{"347":{"position":[[1491,16]]}},"keywords":{}}],["quot;scope"",{"_index":912,"title":{},"content":{"42":{"position":[[428,19]]},"43":{"position":[[6181,19]]}},"keywords":{}}],["quot;screen"",{"_index":3776,"title":{},"content":{"386":{"position":[[399,18]]},"387":{"position":[[378,18]]},"388":{"position":[[249,18]]},"389":{"position":[[341,18]]}},"keywords":{}}],["quot;screen.getnamedwidget('duration').text()"",{"_index":3770,"title":{},"content":{"384":{"position":[[708,52]]}},"keywords":{}}],["quot;screen.getnamedwidget('group').select",{"_index":3949,"title":{},"content":{"434":{"position":[[450,47]]},"446":{"position":[[961,47]]}},"keywords":{}}],["quot;screens"",{"_index":2951,"title":{},"content":{"306":{"position":[[74,19]]}},"keywords":{}}],["quot;script",{"_index":4594,"title":{},"content":{"610":{"position":[[480,12]]}},"keywords":{}}],["quot;script_1",{"_index":4359,"title":{},"content":{"497":{"position":[[538,14]]}},"keywords":{}}],["quot;scripts"",{"_index":3221,"title":{},"content":{"328":{"position":[[847,20]]}},"keywords":{}}],["quot;scrub_region_1_end_addr"",{"_index":866,"title":{},"content":{"40":{"position":[[296,35]]}},"keywords":{}}],["quot;scrub_region_1_start_addr"",{"_index":864,"title":{},"content":{"40":{"position":[[186,37]]}},"keywords":{}}],["quot;scrub_region_2_end_addr"",{"_index":870,"title":{},"content":{"40":{"position":[[522,35]]}},"keywords":{}}],["quot;scrub_region_2_start_addr"",{"_index":868,"title":{},"content":{"40":{"position":[[413,37]]}},"keywords":{}}],["quot;second.rules"",{"_index":3414,"title":{},"content":{"352":{"position":[[480,24]]}},"keywords":{}}],["quot;secure"",{"_index":2805,"title":{},"content":{"291":{"position":[[710,18]]}},"keywords":{}}],["quot;self",{"_index":2803,"title":{},"content":{"291":{"position":[[682,10]]}},"keywords":{}}],["quot;send",{"_index":3993,"title":{},"content":{"446":{"position":[[262,10]]}},"keywords":{}}],["quot;set",{"_index":2243,"title":{},"content":{"226":{"position":[[1744,9],[2461,13]]}},"keywords":{}}],["quot;setup"",{"_index":4593,"title":{},"content":{"610":{"position":[[440,17]]}},"keywords":{}}],["quot;show",{"_index":2873,"title":{},"content":{"303":{"position":[[1751,10]]}},"keywords":{}}],["quot;sioc_memory_config"",{"_index":880,"title":{},"content":{"40":{"position":[[875,30]]}},"keywords":{}}],["quot;skdfjgodkdfjdfoekfsg"",{"_index":2315,"title":{},"content":{"227":{"position":[[6332,32]]}},"keywords":{}}],["quot;skip",{"_index":4351,"title":{},"content":{"496":{"position":[[698,14]]}},"keywords":{}}],["quot;smith"perform_setup_oper",{"_index":4177,"title":{},"content":{"476":{"position":[[1473,42]]}},"keywords":{}}],["quot;snooz",{"_index":4445,"title":{},"content":{"514":{"position":[[1427,12]]}},"keywords":{}}],["quot;source_url"",{"_index":5521,"title":{},"content":{"766":{"position":[[206,23]]}},"keywords":{}}],["quot;source_url"=>{"name"=>"source_url"",{"_index":5537,"title":{},"content":{"767":{"position":[[651,72]]}},"keywords":{}}],["quot;spac",{"_index":3813,"title":{},"content":{"399":{"position":[[196,12],[240,12]]}},"keywords":{}}],["quot;spares"",{"_index":3103,"title":{},"content":{"321":{"position":[[3296,18],[3488,18]]}},"keywords":{}}],["quot;special"",{"_index":4836,"title":{},"content":{"639":{"position":[[1748,20],[1957,21]]}},"keywords":{}}],["quot;special"=>{"value"=>1",{"_index":4929,"title":{},"content":{"649":{"position":[[1003,49]]}},"keywords":{}}],["quot;ssl"",{"_index":2802,"title":{},"content":{"291":{"position":[[665,16]]}},"keywords":{}}],["quot;stale"=>tru",{"_index":5037,"title":{},"content":{"664":{"position":[[473,27]]},"666":{"position":[[599,27]]}},"keywords":{}}],["quot;start",{"_index":1111,"title":{},"content":{"44":{"position":[[3052,14]]},"199":{"position":[[560,11]]}},"keywords":{}}],["quot;start"",{"_index":1100,"title":{},"content":{"44":{"position":[[2740,18]]}},"keywords":{}}],["quot;start/go"",{"_index":4619,"title":{},"content":{"617":{"position":[[412,21]]}},"keywords":{}}],["quot;state"",{"_index":4444,"title":{},"content":{"514":{"position":[[1374,17]]}},"keywords":{}}],["quot;state"=>"connected"",{"_index":5275,"title":{},"content":{"709":{"position":[[861,44]]},"723":{"position":[[834,44]]}},"keywords":{}}],["quot;states"=>{"normal"=>{"value"=>0",{"_index":4928,"title":{},"content":{"649":{"position":[[929,73]]}},"keywords":{}}],["quot;stop"",{"_index":1452,"title":{},"content":{"69":{"position":[[1871,16]]},"75":{"position":[[1194,18],[1296,18]]},"617":{"position":[[463,17]]}},"keywords":{}}],["quot;stored"=>"false"",{"_index":4942,"title":{},"content":{"650":{"position":[[742,41]]}},"keywords":{}}],["quot;str",{"_index":729,"title":{},"content":{"36":{"position":[[3648,12]]},"202":{"position":[[3648,12]]}},"keywords":{}}],["quot;stream",{"_index":3066,"title":{},"content":{"321":{"position":[[466,12],[2875,12]]}},"keywords":{}}],["quot;streamingchannel"",{"_index":2256,"title":{},"content":{"227":{"position":[[1277,29]]}},"keywords":{}}],["quot;string"",{"_index":2653,"title":{},"content":{"267":{"position":[[2736,18]]}},"keywords":{}}],["quot;struct",{"_index":2161,"title":{},"content":{"213":{"position":[[397,12]]},"275":{"position":[[406,12]]},"329":{"position":[[1184,12],[1227,12],[1269,12]]}},"keywords":{}}],["quot;suit",{"_index":4608,"title":{},"content":{"611":{"position":[[224,11],[270,11]]}},"keywords":{}}],["quot;suite"",{"_index":1101,"title":{},"content":{"44":{"position":[[2759,18]]}},"keywords":{}}],["quot;suiterunner"",{"_index":1099,"title":{},"content":{"44":{"position":[[2693,24]]}},"keywords":{}}],["quot;sync",{"_index":2128,"title":{},"content":{"201":{"position":[[2007,10]]},"203":{"position":[[1795,10]]}},"keywords":{}}],["quot;tab",{"_index":3800,"title":{},"content":{"393":{"position":[[164,9],[238,9]]}},"keywords":{}}],["quot;target",{"_index":5257,"title":{},"content":{"707":{"position":[[276,13]]}},"keywords":{}}],["quot;target_nam",{"_index":1722,"title":{},"content":{"93":{"position":[[538,17]]},"94":{"position":[[522,17]]}},"keywords":{}}],["quot;target_name"=>"inst"",{"_index":4868,"title":{},"content":{"644":{"position":[[711,45]]},"646":{"position":[[366,47]]},"648":{"position":[[405,47]]},"650":{"position":[[600,45]]},"664":{"position":[[251,48]]},"666":{"position":[[358,47]]},"673":{"position":[[345,46],[563,46],[787,46],[1023,46]]}},"keywords":{}}],["quot;target_name"=>"tgt"",{"_index":5213,"title":{},"content":{"703":{"position":[[520,44],[950,44]]}},"keywords":{}}],["quot;target_names"=>["inst"",{"_index":5265,"title":{},"content":{"709":{"position":[[442,48]]},"723":{"position":[[415,48]]}},"keywords":{}}],["quot;targetname"",{"_index":5588,"title":{},"content":{"773":{"position":[[524,23]]}},"keywords":{}}],["quot;teardown"",{"_index":4595,"title":{},"content":{"610":{"position":[[523,20]]}},"keywords":{}}],["quot;telemetri",{"_index":2378,"title":{},"content":{"232":{"position":[[936,15]]},"233":{"position":[[1153,15]]},"253":{"position":[[4767,15],[5188,15]]}},"keywords":{}}],["quot;telemetry_grapher"",{"_index":5573,"title":{},"content":{"771":{"position":[[165,31]]}},"keywords":{}}],["quot;temp"",{"_index":1750,"title":{},"content":{"93":{"position":[[2064,17],[2317,17],[2601,17]]},"652":{"position":[[722,17],[848,17]]}},"keywords":{}}],["quot;temp1"",{"_index":1763,"title":{},"content":{"94":{"position":[[1594,19]]}},"keywords":{}}],["quot;temperatur",{"_index":3841,"title":{},"content":{"407":{"position":[[605,17]]}},"keywords":{}}],["quot;test"",{"_index":3775,"title":{},"content":{"386":{"position":[[376,16]]},"387":{"position":[[355,16]]},"388":{"position":[[226,16]]},"389":{"position":[[318,16]]},"624":{"position":[[793,17],[1057,17]]}},"keywords":{}}],["quot;tgt",{"_index":2195,"title":{},"content":{"224":{"position":[[793,9],[1232,9]]}},"keywords":{}}],["quot;th",{"_index":2135,"title":{},"content":{"201":{"position":[[2177,9]]},"203":{"position":[[1914,9]]},"232":{"position":[[1243,9]]},"233":{"position":[[1521,9]]},"247":{"position":[[16,9]]},"253":{"position":[[3112,9],[5037,9]]},"254":{"position":[[1712,9]]}},"keywords":{}}],["quot;thi",{"_index":679,"title":{},"content":{"36":{"position":[[1004,10]]},"202":{"position":[[1004,10]]},"267":{"position":[[999,10]]},"375":{"position":[[207,10],[257,10]]},"376":{"position":[[211,10],[285,10]]},"377":{"position":[[207,10],[263,10],[337,10]]},"378":{"position":[[209,10],[265,10],[340,10]]},"379":{"position":[[377,10],[432,10]]},"380":{"position":[[371,10],[426,10]]},"629":{"position":[[542,10],[871,10]]}},"keywords":{}}],["quot;time"",{"_index":2303,"title":{},"content":{"227":{"position":[[5642,17],[5768,17],[6215,17],[6370,17]]}},"keywords":{}}],["quot;time"=>"1696437370872305961"",{"_index":4866,"title":{},"content":{"644":{"position":[[594,53]]}},"keywords":{}}],["quot;time"=>"1697298846752053420"",{"_index":4939,"title":{},"content":{"650":{"position":[[480,54]]}},"keywords":{}}],["quot;time_nsec"=>"1"",{"_index":5218,"title":{},"content":{"703":{"position":[[775,40]]}},"keywords":{}}],["quot;time_nsec"=>"2"",{"_index":5222,"title":{},"content":{"703":{"position":[[1205,40]]}},"keywords":{}}],["quot;title"",{"_index":3810,"title":{},"content":{"398":{"position":[[127,17]]}},"keywords":{}}],["quot;tlm"",{"_index":907,"title":{},"content":{"42":{"position":[[323,16]]},"43":{"position":[[6076,16]]},"94":{"position":[[1187,16],[1511,16]]},"95":{"position":[[727,16]]}},"keywords":{}}],["quot;tlm.txt"",{"_index":367,"title":{},"content":{"16":{"position":[[479,20]]}},"keywords":{}}],["quot;tlm__inst__adcs__q1__raw"",{"_index":2305,"title":{},"content":{"227":{"position":[[5675,37],[5801,37]]}},"keywords":{}}],["quot;tlm__inst__adcs__q2__raw"",{"_index":2307,"title":{},"content":{"227":{"position":[[5719,37],[5845,37]]}},"keywords":{}}],["quot;tlm_unique_id_mode"=>fals",{"_index":5250,"title":{},"content":{"706":{"position":[[1160,41]]}},"keywords":{}}],["quot;to",{"_index":4785,"title":{},"content":{"630":{"position":[[452,8]]}},"keywords":{}}],["quot;transmit",{"_index":5313,"title":{},"content":{"715":{"position":[[621,14]]},"724":{"position":[[597,14]]}},"keywords":{}}],["quot;tvac"=>",{"_index":5177,"title":{},"content":{"699":{"position":[[498,22]]}},"keywords":{}}],["quot;txbytes"=>0",{"_index":5279,"title":{},"content":{"709":{"position":[[993,26]]},"723":{"position":[[966,26]]}},"keywords":{}}],["quot;txcnt"=>0",{"_index":5281,"title":{},"content":{"709":{"position":[[1051,24]]},"723":{"position":[[1024,24]]}},"keywords":{}}],["quot;txsize"=>0",{"_index":5277,"title":{},"content":{"709":{"position":[[937,25]]},"723":{"position":[[910,25]]}},"keywords":{}}],["quot;typ",{"_index":3995,"title":{},"content":{"446":{"position":[[313,11]]}},"keywords":{}}],["quot;type"",{"_index":1751,"title":{},"content":{"93":{"position":[[2087,17],[2340,17],[2624,17]]},"636":{"position":[[1482,16],[1601,16],[1857,17]]},"637":{"position":[[1680,16],[1902,17]]},"639":{"position":[[1725,16],[1939,17]]},"640":{"position":[[1507,16],[1685,17]]},"641":{"position":[[1754,16],[1962,17]]},"643":{"position":[[1798,16],[1996,17]]},"659":{"position":[[464,16],[598,18]]}},"keywords":{}}],["quot;type"=>"limits_change"",{"_index":5212,"title":{},"content":{"703":{"position":[[469,48],[899,48],[1451,48]]}},"keywords":{}}],["quot;unedit",{"_index":885,"title":{},"content":{"40":{"position":[[991,16],[1127,16],[1262,16]]}},"keywords":{}}],["quot;uneditable_check"",{"_index":888,"title":{},"content":{"40":{"position":[[1215,28]]}},"keywords":{}}],["quot;uneditable_state"",{"_index":887,"title":{},"content":{"40":{"position":[[1080,28]]}},"keywords":{}}],["quot;uneditable_text"",{"_index":881,"title":{},"content":{"40":{"position":[[936,27]]}},"keywords":{}}],["quot;unless",{"_index":519,"title":{},"content":{"23":{"position":[[293,12]]}},"keywords":{}}],["quot;updated"",{"_index":4459,"title":{},"content":{"528":{"position":[[798,20]]}},"keywords":{}}],["quot;updated_at"=>1613076213535979900",{"_index":5274,"title":{},"content":{"709":{"position":[[811,47]]},"723":{"position":[[784,47]]}},"keywords":{}}],["quot;updated_at"=>1613077058266815900",{"_index":5252,"title":{},"content":{"706":{"position":[[1230,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776573904132",{"_index":5539,"title":{},"content":{"767":{"position":[[791,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776574105465",{"_index":5536,"title":{},"content":{"767":{"position":[[600,48]]}},"keywords":{}}],["quot;updated_at"=>1698026776574347007",{"_index":5533,"title":{},"content":{"767":{"position":[[417,48]]}},"keywords":{}}],["quot;updated_at"=>1698074299509456507",{"_index":5530,"title":{},"content":{"767":{"position":[[239,48]]}},"keywords":{}}],["quot;upload"",{"_index":4537,"title":{},"content":{"585":{"position":[[972,19]]}},"keywords":{}}],["quot;us",{"_index":4337,"title":{},"content":{"495":{"position":[[547,10]]}},"keywords":{}}],["quot;valu",{"_index":215,"title":{},"content":{"6":{"position":[[401,11],[845,11],[900,11],[955,11],[1010,11],[1065,11]]}},"keywords":{}}],["quot;value"",{"_index":2381,"title":{},"content":{"232":{"position":[[1090,17]]},"233":{"position":[[1307,17]]},"253":{"position":[[2957,17],[4921,17]]}},"keywords":{}}],["quot;value"=>"5"",{"_index":5090,"title":{},"content":{"673":{"position":[[984,36],[1221,36]]}},"keywords":{}}],["quot;value"=>5",{"_index":5087,"title":{},"content":{"673":{"position":[[536,24],[760,24]]}},"keywords":{}}],["quot;value_type"=>"converted"",{"_index":5088,"title":{},"content":{"673":{"position":[[710,49]]}},"keywords":{}}],["quot;value_type"=>"formatted"",{"_index":5089,"title":{},"content":{"673":{"position":[[934,49]]}},"keywords":{}}],["quot;value_type"=>"raw"",{"_index":5086,"title":{},"content":{"673":{"position":[[492,43]]}},"keywords":{}}],["quot;value_type"=>"with_units"",{"_index":5091,"title":{},"content":{"673":{"position":[[1170,50]]}},"keywords":{}}],["quot;var",{"_index":3926,"title":{},"content":{"429":{"position":[[2077,9],[2216,9]]}},"keywords":{}}],["quot;verifi",{"_index":4281,"title":{},"content":{"486":{"position":[[349,14],[460,14]]},"497":{"position":[[427,14]]}},"keywords":{}}],["quot;version"",{"_index":5522,"title":{},"content":{"766":{"position":[[230,20]]}},"keywords":{}}],["quot;version"=>{"name"=>"version"",{"_index":5527,"title":{},"content":{"767":{"position":[[125,66]]}},"keywords":{}}],["quot;vu",{"_index":2465,"title":{},"content":{"245":{"position":[[101,9]]},"328":{"position":[[889,9]]}},"keywords":{}}],["quot;warn",{"_index":738,"title":{},"content":{"36":{"position":[[3909,14]]},"202":{"position":[[3909,14]]}},"keywords":{}}],["quot;wins"",{"_index":2706,"title":{},"content":{"283":{"position":[[514,17]]}},"keywords":{}}],["quot;with",{"_index":1728,"title":{},"content":{"93":{"position":[[660,10]]}},"keywords":{}}],["quot;yes"",{"_index":3343,"title":{},"content":{"347":{"position":[[1543,15]]}},"keywords":{}}],["quot;you",{"_index":1116,"title":{},"content":{"44":{"position":[[3156,9]]}},"keywords":{}}],["r",{"_index":1856,"title":{},"content":{"105":{"position":[[105,1],[174,1]]},"318":{"position":[[526,1]]}},"keywords":{}}],["r)"",{"_index":1135,"title":{},"content":{"44":{"position":[[3767,8],[3945,8]]}},"keywords":{}}],["race",{"_index":3733,"title":{},"content":{"371":{"position":[[322,4]]}},"keywords":{}}],["radio",{"_index":3948,"title":{},"content":{"433":{"position":[[162,5]]},"434":{"position":[[12,5],[283,5]]}},"keywords":{}}],["radiobutton",{"_index":3946,"title":{"434":{"position":[[0,12]]}},"content":{"433":{"position":[[20,12],[34,12]]},"434":{"position":[[206,12],[392,11],[412,11]]},"446":{"position":[[810,11],[830,11]]}},"keywords":{}}],["radiogroup",{"_index":3945,"title":{"433":{"position":[[0,11]]}},"content":{"434":{"position":[[155,10],[337,10]]},"446":{"position":[[755,10]]}},"keywords":{}}],["radiu",{"_index":3854,"title":{},"content":{"414":{"position":[[308,6],[315,6]]},"445":{"position":[[164,6],[171,6]]}},"keywords":{}}],["rail",{"_index":1623,"title":{"251":{"position":[[8,6]]}},"content":{"83":{"position":[[2179,5]]},"85":{"position":[[1333,5],[1364,5]]},"227":{"position":[[461,5]]},"240":{"position":[[1001,5],[1098,5],[1649,5]]},"251":{"position":[[66,6],[73,5],[164,5]]}},"keywords":{}}],["rails_env=develop",{"_index":1622,"title":{},"content":{"83":{"position":[[2116,21]]}},"keywords":{}}],["rails…"",{"_index":1629,"title":{},"content":{"83":{"position":[[2434,12],[2562,12]]}},"keywords":{}}],["rais",{"_index":1351,"title":{},"content":{"60":{"position":[[1538,5],[1555,5]]},"63":{"position":[[2718,5],[2746,5]]},"66":{"position":[[358,5],[386,5]]},"488":{"position":[[2318,5],[2466,5],[2601,5],[2669,6]]},"495":{"position":[[541,5],[828,5]]},"502":{"position":[[270,6]]},"659":{"position":[[50,7],[81,5],[117,7]]}},"keywords":{}}],["rake",{"_index":1850,"title":{},"content":{"104":{"position":[[68,4]]},"229":{"position":[[1315,4]]},"254":{"position":[[95,4],[1909,4]]},"321":{"position":[[3610,4]]},"334":{"position":[[561,4]]},"448":{"position":[[309,4]]}},"keywords":{}}],["rake.if",{"_index":4015,"title":{},"content":{"449":{"position":[[361,7]]}},"keywords":{}}],["rakefil",{"_index":2335,"title":{},"content":{"229":{"position":[[1219,8],[1233,8]]},"328":{"position":[[674,8]]}},"keywords":{}}],["ram",{"_index":2759,"title":{},"content":{"289":{"position":[[370,4],[440,4]]},"355":{"position":[[244,3],[333,4],[389,3],[570,3],[614,5],[626,3],[1028,3]]},"357":{"position":[[866,3],[3479,3]]}},"keywords":{}}],["ram)a",{"_index":3302,"title":{},"content":{"347":{"position":[[245,5]]}},"keywords":{}}],["ramwindow",{"_index":3482,"title":{},"content":{"357":{"position":[[740,10],[2225,10]]}},"keywords":{}}],["rang",{"_index":803,"title":{},"content":{"36":{"position":[[7005,5]]},"93":{"position":[[245,5],[443,5]]},"202":{"position":[[7005,5]]},"267":{"position":[[5606,5],[8652,5],[9647,5],[10034,5]]},"303":{"position":[[1402,5],[1431,5],[1490,5]]},"309":{"position":[[427,5]]},"405":{"position":[[310,5]]},"410":{"position":[[244,5],[383,5],[718,5],[771,5]]},"412":{"position":[[343,5],[396,5]]},"413":{"position":[[341,5],[394,5]]},"417":{"position":[[213,5],[352,5],[687,5],[740,5]]},"422":{"position":[[318,5]]},"423":{"position":[[19,5],[223,5],[362,5],[603,5],[656,5]]},"425":{"position":[[520,6],[689,5]]},"501":{"position":[[273,6],[758,5],[1036,5]]},"504":{"position":[[531,5],[698,6]]},"532":{"position":[[21,5]]},"534":{"position":[[324,5]]},"547":{"position":[[152,5]]},"555":{"position":[[64,5]]},"637":{"position":[[46,5]]},"639":{"position":[[60,5]]},"641":{"position":[[69,5]]},"643":{"position":[[83,5]]},"644":{"position":[[261,5]]},"701":{"position":[[123,7]]}},"keywords":{}}],["range(0,5000000",{"_index":4319,"title":{},"content":{"488":{"position":[[2493,17]]}},"keywords":{}}],["range(1",{"_index":4261,"title":{},"content":{"483":{"position":[[724,8]]}},"keywords":{}}],["range(1000",{"_index":5473,"title":{},"content":{"752":{"position":[[688,12]]}},"keywords":{}}],["range_check",{"_index":4859,"title":{},"content":{"644":{"position":[[71,12],[230,11]]}},"keywords":{}}],["range_check=tru",{"_index":4860,"title":{},"content":{"644":{"position":[[144,17]]}},"keywords":{}}],["rangebar",{"_index":3845,"title":{"423":{"position":[[0,9]]}},"content":{"410":{"position":[[59,8]]},"417":{"position":[[36,8]]},"423":{"position":[[704,8],[758,8]]}},"keywords":{}}],["rare",{"_index":1408,"title":{},"content":{"64":{"position":[[242,6]]},"467":{"position":[[1014,4]]}},"keywords":{}}],["raspberri",{"_index":24,"title":{"346":{"position":[[0,9]]},"347":{"position":[[18,9]]}},"content":{"1":{"position":[[247,9]]},"347":{"position":[[5,9],[207,9],[470,9],[640,9],[715,9],[1658,9],[1747,9],[1779,9],[1851,9],[2714,9]]},"355":{"position":[[21,9]]}},"keywords":{}}],["raspian",{"_index":3310,"title":{},"content":{"347":{"position":[[416,7]]}},"keywords":{}}],["rate",{"_index":1249,"title":{},"content":{"52":{"position":[[468,4],[478,4]]},"305":{"position":[[1076,5],[1129,5]]},"338":{"position":[[549,4]]},"343":{"position":[[585,4]]},"357":{"position":[[2350,4]]},"498":{"position":[[27,4]]},"538":{"position":[[108,4],[251,4]]},"681":{"position":[[789,4],[1192,4]]},"682":{"position":[[521,4],[959,4]]},"683":{"position":[[525,4],[745,4]]},"684":{"position":[[448,4],[626,4]]},"685":{"position":[[411,4],[804,4]]},"686":{"position":[[427,4],[855,4]]},"687":{"position":[[460,4],[670,4]]},"688":{"position":[[334,4],[598,4]]}},"keywords":{}}],["raw",{"_index":62,"title":{"382":{"position":[[0,4]]}},"content":{"2":{"position":[[579,4]]},"36":{"position":[[1369,3],[8105,3]]},"44":{"position":[[2992,3]]},"59":{"position":[[843,3]]},"60":{"position":[[1241,3]]},"61":{"position":[[2141,3]]},"62":{"position":[[1143,3]]},"63":{"position":[[116,3],[2327,3]]},"64":{"position":[[423,3]]},"69":{"position":[[2036,3]]},"75":{"position":[[68,3]]},"94":{"position":[[207,3]]},"95":{"position":[[601,3]]},"97":{"position":[[50,3]]},"99":{"position":[[460,3],[2042,3],[2113,3],[2894,3],[3184,3],[3329,3],[3795,3],[3822,3]]},"112":{"position":[[336,3]]},"149":{"position":[[18,3],[109,3]]},"156":{"position":[[18,3],[111,3]]},"202":{"position":[[1369,3],[8105,3]]},"215":{"position":[[58,3],[127,3]]},"227":{"position":[[345,3],[3013,4],[3176,4],[3981,3],[4094,4],[4140,3],[4178,3],[5897,3]]},"240":{"position":[[1277,3]]},"263":{"position":[[322,3],[374,3]]},"267":{"position":[[1364,3],[3318,3],[3430,3],[4684,3],[4796,3],[5377,3],[5489,3],[6500,3],[6612,3],[6765,3]]},"279":{"position":[[58,3],[127,3]]},"298":{"position":[[670,4]]},"301":{"position":[[670,3],[769,3],[962,3],[1079,3]]},"305":{"position":[[1484,5]]},"308":{"position":[[536,5]]},"329":{"position":[[1549,3]]},"343":{"position":[[66,3],[309,3]]},"355":{"position":[[736,3]]},"382":{"position":[[9,3],[193,3]]},"401":{"position":[[507,4]]},"402":{"position":[[694,4]]},"403":{"position":[[679,4]]},"404":{"position":[[243,4]]},"405":{"position":[[491,4],[597,3]]},"406":{"position":[[264,4]]},"407":{"position":[[410,4],[638,3]]},"408":{"position":[[284,4]]},"409":{"position":[[287,4]]},"410":{"position":[[561,4],[872,3]]},"411":{"position":[[235,3],[551,4],[739,3]]},"412":{"position":[[280,4]]},"413":{"position":[[278,4]]},"414":{"position":[[264,4]]},"415":{"position":[[253,4]]},"416":{"position":[[256,4]]},"417":{"position":[[530,4],[836,3]]},"418":{"position":[[250,4],[977,4]]},"419":{"position":[[284,4],[1030,4]]},"420":{"position":[[268,4],[1002,4]]},"422":{"position":[[501,4]]},"423":{"position":[[540,4],[747,3]]},"425":{"position":[[296,4]]},"427":{"position":[[492,4]]},"440":{"position":[[525,4]]},"442":{"position":[[455,4]]},"444":{"position":[[683,4],[885,3]]},"536":{"position":[[185,3],[274,3]]},"539":{"position":[[135,3]]},"541":{"position":[[247,3],[281,3]]},"542":{"position":[[268,3],[302,3]]},"571":{"position":[[136,3]]},"583":{"position":[[127,3],[210,3]]},"618":{"position":[[160,3],[274,3],[372,3],[454,3],[666,3]]},"621":{"position":[[5112,5],[5185,5],[5266,5],[5359,5]]},"644":{"position":[[90,4],[309,3],[355,3]]},"645":{"position":[[7,3],[176,3],[194,3]]},"650":{"position":[[59,3]]},"652":{"position":[[564,4],[740,5]]},"656":{"position":[[1140,5]]},"657":{"position":[[704,3],[895,5]]},"660":{"position":[[468,4],[965,5]]},"661":{"position":[[59,3]]},"662":{"position":[[532,4]]},"669":{"position":[[594,4],[884,5],[949,5]]},"670":{"position":[[479,4]]},"671":{"position":[[483,4],[716,5],[729,3],[928,3]]},"672":{"position":[[301,4],[516,5],[539,3],[726,3]]},"673":{"position":[[1460,6]]},"681":{"position":[[1324,4],[1664,5]]},"682":{"position":[[1091,4],[1432,5]]},"685":{"position":[[936,4],[1182,5]]},"686":{"position":[[987,4],[1261,5]]},"713":{"position":[[19,3],[270,3],[347,3],[381,3]]},"714":{"position":[[18,3],[267,3],[344,3],[377,3]]},"725":{"position":[[19,3],[255,3],[329,3],[363,3]]},"726":{"position":[[18,3],[252,3],[326,3],[359,3]]}},"keywords":{}}],["raw').then(dur",{"_index":3910,"title":{},"content":{"429":{"position":[[1024,15]]}},"keywords":{}}],["raw/decom",{"_index":4497,"title":{},"content":{"564":{"position":[[375,9]]}},"keywords":{}}],["raw=fals",{"_index":4861,"title":{},"content":{"644":{"position":[[162,10]]}},"keywords":{}}],["raw_log",{"_index":3284,"title":{"343":{"position":[[13,9]]}},"content":{"343":{"position":[[20,8]]}},"keywords":{}}],["raw_valu",{"_index":5008,"title":{},"content":{"660":{"position":[[902,9],[1330,9]]}},"keywords":{}}],["rb",{"_index":5420,"title":{},"content":{"737":{"position":[[560,3]]}},"keywords":{}}],["rbc",{"_index":1892,"title":{},"content":{"108":{"position":[[579,3]]}},"keywords":{}}],["rc",{"_index":1106,"title":{},"content":{"44":{"position":[[2914,2]]},"292":{"position":[[223,2]]}},"keywords":{}}],["re",{"_index":1335,"title":{},"content":{"59":{"position":[[327,2]]},"84":{"position":[[1232,2]]},"254":{"position":[[2235,2]]},"488":{"position":[[1556,2]]},"495":{"position":[[394,2],[1391,2]]},"505":{"position":[[332,2]]},"530":{"position":[[281,2]]},"592":{"position":[[391,2]]},"599":{"position":[[728,2]]},"607":{"position":[[462,2]]},"617":{"position":[[684,2]]},"746":{"position":[[745,2]]}},"keywords":{}}],["reach",{"_index":2016,"title":{},"content":{"148":{"position":[[68,8]]},"151":{"position":[[75,8]]},"155":{"position":[[70,8]]},"158":{"position":[[77,8]]}},"keywords":{}}],["react",{"_index":2399,"title":{},"content":{"235":{"position":[[252,6]]},"246":{"position":[[369,6]]},"514":{"position":[[330,5]]}},"keywords":{}}],["reaction",{"_index":4429,"title":{"514":{"position":[[0,10]]}},"content":{"511":{"position":[[83,10],[159,9]]},"514":{"position":[[1,9],[120,9],[181,8],[316,8],[410,8],[437,8],[1099,8],[1124,8],[1250,8],[1293,8],[1356,8],[1479,8]]}},"keywords":{}}],["reactiv",{"_index":3215,"title":{},"content":{"328":{"position":[[371,8]]}},"keywords":{}}],["read",{"_index":75,"title":{},"content":{"2":{"position":[[725,7]]},"49":{"position":[[344,4],[394,4],[409,4],[427,4],[604,4],[663,5],[697,5]]},"50":{"position":[[332,4],[347,4],[365,4],[491,4],[550,5],[584,5]]},"51":{"position":[[267,4],[307,4],[777,4],[836,4],[858,5]]},"52":{"position":[[351,4],[388,5],[450,8],[486,4],[683,4],[742,5],[776,5]]},"53":{"position":[[46,5]]},"54":{"position":[[242,5],[415,5],[2978,5],[3006,4],[3412,4]]},"56":{"position":[[670,4]]},"58":{"position":[[729,4],[790,5],[804,4],[865,5]]},"59":{"position":[[27,5],[164,6],[623,8]]},"60":{"position":[[20,5],[189,4],[576,4],[1021,8]]},"61":{"position":[[119,5],[179,5],[1140,4],[1802,8],[3221,5]]},"62":{"position":[[123,5],[596,4],[734,4],[773,4],[927,8]]},"63":{"position":[[798,4],[1421,4],[1638,4],[1717,4],[1829,5],[1918,4],[1957,4],[2111,8]]},"69":{"position":[[1642,4],[1691,4],[1919,5],[1990,4],[2064,4],[2255,4],[3204,4],[3451,4],[3580,5],[3670,4],[3716,7]]},"75":{"position":[[77,4],[766,4],[1131,4]]},"133":{"position":[[146,4]]},"134":{"position":[[96,5],[124,4],[273,7],[489,5],[913,4],[1119,4]]},"198":{"position":[[1072,5],[1110,7]]},"215":{"position":[[43,4],[122,4]]},"227":{"position":[[6075,4]]},"239":{"position":[[33,4]]},"253":{"position":[[7822,8],[7877,5],[7999,4]]},"259":{"position":[[1111,5],[1140,7]]},"260":{"position":[[174,4]]},"267":{"position":[[6376,4],[6781,4],[7865,4]]},"279":{"position":[[43,4],[122,4]]},"289":{"position":[[191,4]]},"300":{"position":[[530,7],[578,4]]},"338":{"position":[[491,4],[723,4]]},"349":{"position":[[207,4]]},"359":{"position":[[199,4]]},"360":{"position":[[195,4]]},"368":{"position":[[397,4]]},"384":{"position":[[207,4]]},"429":{"position":[[260,4]]},"507":{"position":[[277,4],[476,7]]},"548":{"position":[[631,4]]},"652":{"position":[[9,5],[558,5]]},"660":{"position":[[1,5]]},"718":{"position":[[524,4],[564,5]]},"728":{"position":[[528,4],[568,5]]},"737":{"position":[[1,5]]},"752":{"position":[[271,4]]}},"keywords":{}}],["read_convers",{"_index":2375,"title":{},"content":{"232":{"position":[[532,15],[1108,15]]},"262":{"position":[[741,16]]},"263":{"position":[[1359,15],[1514,15]]},"267":{"position":[[2916,16],[3897,15],[4232,15],[7218,15],[7243,15]]}},"keywords":{}}],["read_data",{"_index":1455,"title":{"75":{"position":[[0,10]]}},"content":{"69":{"position":[[2006,11],[2341,11],[2487,11],[2859,11],[3029,11],[3333,13]]},"75":{"position":[[5,9]]}},"keywords":{}}],["read_data(data",{"_index":1502,"title":{},"content":{"71":{"position":[[875,15]]},"75":{"position":[[636,15]]}},"keywords":{}}],["read_data(self",{"_index":1518,"title":{},"content":{"75":{"position":[[968,15]]}},"keywords":{}}],["read_interfac",{"_index":1458,"title":{},"content":{"69":{"position":[[2091,16]]},"75":{"position":[[1694,16]]}},"keywords":{}}],["read_nonblock",{"_index":1265,"title":{},"content":{"53":{"position":[[52,14]]}},"keywords":{}}],["read_packet",{"_index":1468,"title":{"76":{"position":[[0,12]]}},"content":{"69":{"position":[[3220,13],[3403,13]]},"76":{"position":[[5,11]]}},"keywords":{}}],["read_packet(packet",{"_index":1527,"title":{},"content":{"76":{"position":[[817,19]]}},"keywords":{}}],["read_packet(self",{"_index":1528,"title":{},"content":{"76":{"position":[[896,17]]}},"keywords":{}}],["read_port",{"_index":3046,"title":{},"content":{"320":{"position":[[930,9]]}},"keywords":{}}],["read_port_nam",{"_index":3266,"title":{},"content":{"338":{"position":[[522,14],[1230,14]]}},"keywords":{}}],["read_timeout",{"_index":3050,"title":{},"content":{"320":{"position":[[991,12]]},"338":{"position":[[745,12],[1351,12]]}},"keywords":{}}],["read_writ",{"_index":1286,"title":{},"content":{"54":{"position":[[2994,11]]},"134":{"position":[[112,11],[233,10],[502,10]]},"718":{"position":[[484,10],[580,10],[638,11],[847,11],[859,12]]},"728":{"position":[[315,11],[488,10],[584,10],[642,11],[848,11],[860,12]]}},"keywords":{}}],["read_write='read_writ",{"_index":5345,"title":{},"content":{"718":{"position":[[968,24]]},"728":{"position":[[966,24]]}},"keywords":{}}],["readabl",{"_index":2936,"title":{},"content":{"304":{"position":[[6570,8],[6783,8]]},"429":{"position":[[478,9]]}},"keywords":{}}],["readable/edit",{"_index":2833,"title":{},"content":{"297":{"position":[[1022,17],[1052,18]]}},"keywords":{}}],["reader",{"_index":3136,"title":{},"content":{"322":{"position":[[2284,7]]}},"keywords":{}}],["readi",{"_index":1512,"title":{},"content":{"75":{"position":[[289,5],[323,5]]},"76":{"position":[[356,5]]},"77":{"position":[[372,5]]},"78":{"position":[[371,5]]},"246":{"position":[[327,5]]}},"keywords":{}}],["readme.md",{"_index":2339,"title":{},"content":{"229":{"position":[[1387,9]]},"253":{"position":[[882,9]]}},"keywords":{}}],["real",{"_index":1526,"title":{},"content":{"76":{"position":[[758,4]]},"249":{"position":[[348,4]]},"253":{"position":[[83,4]]},"254":{"position":[[2682,4]]},"262":{"position":[[224,4]]},"299":{"position":[[917,4]]},"360":{"position":[[1258,4]]},"492":{"position":[[101,4],[362,4]]},"504":{"position":[[947,4]]},"561":{"position":[[92,4]]},"599":{"position":[[1066,4]]},"606":{"position":[[266,4]]},"618":{"position":[[334,4]]}},"keywords":{}}],["realli",{"_index":1449,"title":{},"content":{"69":{"position":[[1536,6]]},"254":{"position":[[842,6]]},"504":{"position":[[902,6]]}},"keywords":{}}],["realtim",{"_index":1793,"title":{},"content":{"99":{"position":[[639,8]]},"227":{"position":[[328,9],[4459,9],[4718,9]]},"298":{"position":[[1287,8],[1560,8]]},"300":{"position":[[644,8],[750,8]]},"305":{"position":[[50,8]]},"306":{"position":[[424,8],[469,8]]},"307":{"position":[[65,8],[291,8],[344,8]]},"309":{"position":[[260,8],[323,8]]},"700":{"position":[[203,9]]}},"keywords":{}}],["reason",{"_index":126,"title":{"504":{"position":[[7,7]]}},"content":{"3":{"position":[[643,6]]},"46":{"position":[[143,7]]},"257":{"position":[[335,6]]},"262":{"position":[[507,6]]},"263":{"position":[[598,10]]},"364":{"position":[[1287,7]]},"459":{"position":[[1029,10]]},"471":{"position":[[13,6]]},"488":{"position":[[415,7]]},"504":{"position":[[24,7]]},"669":{"position":[[153,6]]}},"keywords":{}}],["reassign",{"_index":4165,"title":{},"content":{"476":{"position":[[594,10]]}},"keywords":{}}],["rebas",{"_index":4016,"title":{},"content":{"449":{"position":[[380,6]]}},"keywords":{}}],["rebuild",{"_index":523,"title":{},"content":{"23":{"position":[[371,7]]},"254":{"position":[[1743,7]]},"334":{"position":[[489,7]]}},"keywords":{}}],["rebuilt",{"_index":3257,"title":{},"content":{"334":{"position":[[1000,7]]}},"keywords":{}}],["receipt",{"_index":2853,"title":{},"content":{"299":{"position":[[701,8]]}},"keywords":{}}],["receiv",{"_index":813,"title":{"263":{"position":[[0,8]]}},"content":{"36":{"position":[[8051,8]]},"49":{"position":[[76,7]]},"51":{"position":[[48,7],[178,7]]},"57":{"position":[[213,9]]},"64":{"position":[[132,7]]},"97":{"position":[[72,8]]},"99":{"position":[[918,8],[964,8],[993,8],[3003,8],[3069,8],[3139,8],[3200,8],[3305,8],[3429,8],[4209,8]]},"114":{"position":[[307,7]]},"115":{"position":[[227,7]]},"116":{"position":[[61,7]]},"127":{"position":[[314,8],[513,8]]},"133":{"position":[[72,8]]},"134":{"position":[[155,8]]},"143":{"position":[[18,7],[117,8],[214,7]]},"202":{"position":[[8051,8]]},"227":{"position":[[187,7],[1354,9],[1389,8],[1972,9],[4885,8]]},"230":{"position":[[887,8]]},"253":{"position":[[8183,7]]},"259":{"position":[[69,8]]},"263":{"position":[[218,8],[308,9],[1743,8]]},"267":{"position":[[6711,8]]},"276":{"position":[[69,8]]},"277":{"position":[[103,8]]},"278":{"position":[[291,8]]},"297":{"position":[[286,7],[532,7]]},"299":{"position":[[442,8],[507,8],[1039,8],[1185,9]]},"301":{"position":[[715,9],[1025,9]]},"321":{"position":[[1061,8]]},"322":{"position":[[1569,7]]},"429":{"position":[[1244,9]]},"462":{"position":[[288,7],[446,7]]},"466":{"position":[[735,9]]},"468":{"position":[[55,9]]},"498":{"position":[[372,8],[479,8],[586,8]]},"499":{"position":[[418,7]]},"504":{"position":[[341,9]]},"635":{"position":[[67,7]]},"668":{"position":[[67,9],[487,9]]},"669":{"position":[[116,8]]},"670":{"position":[[47,8]]},"671":{"position":[[138,8]]},"674":{"position":[[121,8]]},"677":{"position":[[9,7]]},"678":{"position":[[9,7]]},"684":{"position":[[63,9],[311,8],[582,7]]},"688":{"position":[[63,9],[468,7]]},"715":{"position":[[199,7],[244,9],[662,7],[734,9],[1220,7],[1297,9]]},"724":{"position":[[193,7],[238,9],[256,9],[638,7],[710,9],[757,9],[1172,7],[1243,9],[1293,9]]}},"keywords":{}}],["received_count",{"_index":2626,"title":{},"content":{"263":{"position":[[113,15]]},"644":{"position":[[1229,17]]},"650":{"position":[[1109,17]]},"652":{"position":[[135,17]]}},"keywords":{}}],["received_tim",{"_index":2629,"title":{},"content":{"263":{"position":[[180,13],[425,14]]},"644":{"position":[[1140,16]]},"650":{"position":[[1018,16]]}},"keywords":{}}],["received_timeformat",{"_index":2627,"title":{},"content":{"263":{"position":[[129,23]]},"652":{"position":[[153,25]]}},"keywords":{}}],["received_timesecond",{"_index":2628,"title":{},"content":{"263":{"position":[[157,21]]},"371":{"position":[[165,20]]},"652":{"position":[[183,22]]}},"keywords":{}}],["recent",{"_index":1819,"title":{"498":{"position":[[17,6]]}},"content":{"99":{"position":[[4197,6]]},"301":{"position":[[700,6],[1001,6]]},"357":{"position":[[4097,6]]},"498":{"position":[[113,6],[363,8],[470,8],[577,8]]},"499":{"position":[[48,6],[166,6]]},"605":{"position":[[122,8]]},"652":{"position":[[37,8]]},"653":{"position":[[30,6],[260,6],[373,6],[523,6],[650,6],[803,6]]}},"keywords":{}}],["recept",{"_index":1825,"title":{},"content":{"99":{"position":[[4703,9]]}},"keywords":{}}],["recogn",{"_index":4148,"title":{},"content":{"469":{"position":[[485,10]]}},"keywords":{}}],["recommend",{"_index":1142,"title":{},"content":{"46":{"position":[[21,11]]},"83":{"position":[[80,9]]},"84":{"position":[[1313,11]]},"230":{"position":[[1593,10]]},"235":{"position":[[330,11]]},"253":{"position":[[858,11],[1799,11]]},"254":{"position":[[290,9]]},"257":{"position":[[173,9]]},"289":{"position":[[20,12],[53,9],[392,11],[1462,10]]},"290":{"position":[[4,9]]},"324":{"position":[[4059,9]]},"334":{"position":[[7,11]]},"359":{"position":[[1391,9]]},"371":{"position":[[264,9]]},"485":{"position":[[128,11]]},"488":{"position":[[1622,11]]},"507":{"position":[[302,12]]}},"keywords":{}}],["reconnect",{"_index":1465,"title":{},"content":{"69":{"position":[[2831,11]]},"75":{"position":[[584,13]]},"76":{"position":[[610,13]]},"77":{"position":[[626,13]]},"78":{"position":[[623,13]]},"79":{"position":[[800,13]]},"129":{"position":[[24,9]]},"130":{"position":[[1,9],[85,9],[138,9],[191,9],[270,9]]}},"keywords":{}}],["reconnect_delay",{"_index":1956,"title":{"130":{"position":[[0,16]]}},"content":{},"keywords":{}}],["record",{"_index":3293,"title":{},"content":{"344":{"position":[[354,7]]},"352":{"position":[[218,6]]},"525":{"position":[[24,6]]},"526":{"position":[[54,6]]},"528":{"position":[[1554,6],[1676,6]]}},"keywords":{}}],["recov",{"_index":1311,"title":{"505":{"position":[[7,7]]}},"content":{"57":{"position":[[239,7]]},"504":{"position":[[1010,8]]},"505":{"position":[[98,8],[175,7]]}},"keywords":{}}],["rectangular",{"_index":3901,"title":{},"content":{"429":{"position":[[12,11]]},"435":{"position":[[12,11]]}},"keywords":{}}],["rectifi",{"_index":4067,"title":{},"content":{"459":{"position":[[1183,9]]},"466":{"position":[[110,8]]}},"keywords":{}}],["recurs",{"_index":3000,"title":{},"content":{"317":{"position":[[13,7]]}},"keywords":{}}],["red",{"_index":2652,"title":{},"content":{"267":{"position":[[2547,3],[2910,3],[8912,3],[8987,3],[9125,3],[9284,3],[9346,3],[9425,3]]},"289":{"position":[[170,3]]},"379":{"position":[[107,3],[158,6],[230,3],[422,3]]},"380":{"position":[[101,3],[152,6],[224,3],[416,3]]},"381":{"position":[[112,3],[163,6],[235,3],[437,3]]},"403":{"position":[[352,4]]},"404":{"position":[[897,3]]},"411":{"position":[[101,3],[305,4],[805,3]]},"427":{"position":[[243,4]]},"439":{"position":[[408,3]]},"440":{"position":[[651,3]]},"444":{"position":[[933,3],[1060,3]]},"544":{"position":[[152,4]]},"568":{"position":[[208,4]]},"575":{"position":[[147,3]]},"578":{"position":[[105,3],[166,3],[319,3]]},"607":{"position":[[392,3]]},"700":{"position":[[716,3],[724,3],[810,4],[910,3],[1042,3],[1081,3],[1090,3],[1177,4]]},"702":{"position":[[87,6]]}},"keywords":{}}],["red_low",{"_index":5030,"title":{},"content":{"663":{"position":[[615,10],[630,10]]}},"keywords":{}}],["redefin",{"_index":2156,"title":{},"content":{"209":{"position":[[202,8]]},"274":{"position":[[188,8]]}},"keywords":{}}],["redhat",{"_index":3141,"title":{},"content":{"324":{"position":[[259,7],[1339,6]]}},"keywords":{}}],["redi",{"_index":47,"title":{"249":{"position":[[0,6]]}},"content":{"2":{"position":[[317,5]]},"44":{"position":[[1819,6]]},"83":{"position":[[1318,5],[3047,5]]},"85":{"position":[[1029,5]]},"99":{"position":[[4039,5],[4166,5],[4300,5]]},"176":{"position":[[13,5],[26,5],[329,5]]},"237":{"position":[[449,5]]},"240":{"position":[[1164,5],[1225,5]]},"249":{"position":[[1,5],[125,5],[230,5],[262,5],[288,5],[375,5],[400,5],[522,5],[603,5]]},"298":{"position":[[408,5]]},"324":{"position":[[1999,5]]},"355":{"position":[[690,5],[1022,5],[1151,5]]},"357":{"position":[[1630,5],[1711,5],[3120,5],[3202,5],[3597,5]]}},"keywords":{}}],["redirect",{"_index":498,"title":{},"content":{"22":{"position":[[386,13]]}},"keywords":{}}],["redis:latest",{"_index":1645,"title":{},"content":{"83":{"position":[[2959,12]]}},"keywords":{}}],["redo",{"_index":2901,"title":{},"content":{"304":{"position":[[1626,5]]}},"keywords":{}}],["reduc",{"_index":63,"title":{},"content":{"2":{"position":[[602,7]]},"99":{"position":[[2324,6],[4374,6],[4399,8],[4530,7]]},"160":{"position":[[18,7],[122,7]]},"161":{"position":[[18,7],[120,7]]},"162":{"position":[[18,7],[119,7]]},"164":{"position":[[22,7],[123,7]]},"168":{"position":[[436,8]]},"169":{"position":[[155,7]]},"227":{"position":[[3272,7],[3292,7]]},"298":{"position":[[693,7]]},"418":{"position":[[271,7],[298,7],[399,7],[424,6],[464,7],[998,7],[1025,7],[1126,7],[1151,6],[1191,7]]},"419":{"position":[[305,7],[332,7],[433,7],[458,6],[498,7],[1051,7],[1078,7],[1179,7],[1204,6],[1244,7]]},"420":{"position":[[289,7],[316,7],[417,7],[442,6],[482,7],[1023,7],[1050,7],[1151,7],[1176,6],[1216,7]]},"538":{"position":[[152,6]]},"617":{"position":[[1135,7]]}},"keywords":{}}],["reduced_day",{"_index":2286,"title":{},"content":{"227":{"position":[[3058,12]]},"418":{"position":[[381,11],[1108,11]]},"419":{"position":[[415,11],[1161,11]]},"420":{"position":[[399,11],[1133,11]]}},"keywords":{}}],["reduced_day_log_retain_tim",{"_index":2034,"title":{"162":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduced_hour",{"_index":2285,"title":{},"content":{"227":{"position":[[3041,13]]},"418":{"position":[[367,13],[1094,13]]},"419":{"position":[[401,13],[1147,13]]},"420":{"position":[[385,13],[1119,13]]}},"keywords":{}}],["reduced_hour_log_retain_tim",{"_index":2033,"title":{"161":{"position":[[0,29]]}},"content":{},"keywords":{}}],["reduced_log_retain_tim",{"_index":2036,"title":{"164":{"position":[[0,24]]}},"content":{},"keywords":{}}],["reduced_minut",{"_index":2284,"title":{},"content":{"227":{"position":[[3025,15]]},"418":{"position":[[351,15],[1078,15]]},"419":{"position":[[385,15],[1131,15]]},"420":{"position":[[369,15],[1103,15]]}},"keywords":{}}],["reduced_minute_log_retain_tim",{"_index":2032,"title":{"160":{"position":[[0,31]]}},"content":{},"keywords":{}}],["reducer_dis",{"_index":2040,"title":{"166":{"position":[[0,16]]}},"content":{},"keywords":{}}],["reducer_max_cpu_util",{"_index":2041,"title":{"167":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduct",{"_index":1826,"title":{},"content":{"99":{"position":[[4802,9]]},"166":{"position":[[19,9]]},"167":{"position":[[52,9]]},"356":{"position":[[218,10]]}},"keywords":{}}],["refer",{"_index":165,"title":{},"content":{"5":{"position":[[689,8]]},"36":{"position":[[8153,9]]},"44":{"position":[[1001,9]]},"63":{"position":[[486,8]]},"69":{"position":[[1829,9]]},"83":{"position":[[537,9]]},"90":{"position":[[508,9]]},"99":{"position":[[1664,10]]},"133":{"position":[[445,5]]},"199":{"position":[[159,8]]},"202":{"position":[[8153,9]]},"229":{"position":[[1138,10]]},"230":{"position":[[1029,9]]},"264":{"position":[[179,8]]},"267":{"position":[[6810,9]]},"299":{"position":[[872,6]]},"457":{"position":[[308,10]]},"487":{"position":[[699,6]]},"527":{"position":[[178,9]]},"608":{"position":[[268,10],[348,9],[621,10],[701,9]]},"636":{"position":[[874,8]]},"637":{"position":[[1096,8]]},"638":{"position":[[1117,8]]},"639":{"position":[[1150,8]]},"640":{"position":[[950,8]]},"641":{"position":[[1167,8]]},"642":{"position":[[1188,8]]},"643":{"position":[[1221,8]]}},"keywords":{}}],["referenc",{"_index":815,"title":{},"content":{"36":{"position":[[8198,11]]},"123":{"position":[[493,10]]},"202":{"position":[[8198,11]]},"253":{"position":[[7488,11]]},"267":{"position":[[6857,11]]},"504":{"position":[[179,10]]}},"keywords":{}}],["referr",{"_index":961,"title":{},"content":{"43":{"position":[[797,8],[817,8]]}},"keywords":{}}],["refin",{"_index":2613,"title":{},"content":{"260":{"position":[[202,7]]}},"keywords":{}}],["reflect",{"_index":1433,"title":{},"content":{"67":{"position":[[1112,7]]}},"keywords":{}}],["reformat",{"_index":1034,"title":{},"content":{"44":{"position":[[358,8]]}},"keywords":{}}],["refresh",{"_index":951,"title":{},"content":{"43":{"position":[[245,9]]},"84":{"position":[[748,7],[1058,7],[1266,7]]},"188":{"position":[[127,10]]},"332":{"position":[[858,7]]},"538":{"position":[[100,7],[243,7]]},"570":{"position":[[14,7]]}},"keywords":{}}],["refus",{"_index":2870,"title":{},"content":{"303":{"position":[[1202,6]]},"320":{"position":[[1536,6]]}},"keywords":{}}],["regard",{"_index":4066,"title":{},"content":{"459":{"position":[[1116,6]]},"482":{"position":[[987,9]]}},"keywords":{}}],["regardless",{"_index":1310,"title":{},"content":{"57":{"position":[[159,10]]},"364":{"position":[[227,10]]}},"keywords":{}}],["regex",{"_index":2058,"title":{},"content":{"170":{"position":[[175,5]]},"183":{"position":[[181,5]]},"193":{"position":[[173,5]]},"196":{"position":[[175,5]]}},"keywords":{}}],["regist",{"_index":4096,"title":{},"content":{"462":{"position":[[188,8]]},"467":{"position":[[197,8]]}},"keywords":{}}],["registr",{"_index":4097,"title":{},"content":{"462":{"position":[[353,13]]},"467":{"position":[[757,14]]}},"keywords":{}}],["registri",{"_index":3186,"title":{},"content":{"324":{"position":[[2847,8],[2912,8],[3027,8],[3271,10],[3306,8]]}},"keywords":{}}],["regular",{"_index":260,"title":{"502":{"position":[[34,7]]}},"content":{"7":{"position":[[533,7]]},"59":{"position":[[195,7]]},"163":{"position":[[22,7],[123,7]]},"170":{"position":[[99,7]]},"183":{"position":[[105,7]]},"193":{"position":[[97,7]]},"196":{"position":[[99,7]]},"479":{"position":[[242,7],[355,7]]},"607":{"position":[[11,7]]},"613":{"position":[[325,7]]},"759":{"position":[[33,7]]}},"keywords":{}}],["reject",{"_index":2257,"title":{},"content":{"227":{"position":[[1557,9],[1611,8]]}},"keywords":{}}],["rel",{"_index":1996,"title":{},"content":{"138":{"position":[[108,8],[327,8]]},"174":{"position":[[92,8],[311,8]]},"186":{"position":[[34,8]]},"217":{"position":[[300,8]]},"355":{"position":[[502,10]]},"593":{"position":[[418,8]]}},"keywords":{}}],["relat",{"_index":2175,"title":{},"content":{"220":{"position":[[27,7],[125,7],[180,7],[231,7]]},"221":{"position":[[27,7],[127,7],[184,7]]},"283":{"position":[[20,7],[147,7]]},"459":{"position":[[487,8],[916,8]]},"482":{"position":[[940,7],[1064,7]]},"487":{"position":[[71,7]]},"525":{"position":[[311,7]]},"530":{"position":[[312,7]]}},"keywords":{}}],["related_item",{"_index":2174,"title":{"220":{"position":[[0,13]]}},"content":{},"keywords":{}}],["relax",{"_index":1702,"title":{},"content":{"88":{"position":[[29,7]]}},"keywords":{}}],["releas",{"_index":1143,"title":{},"content":{"46":{"position":[[61,8]]},"254":{"position":[[1856,7]]},"256":{"position":[[11,8],[172,8],[338,7],[378,7]]},"292":{"position":[[474,7]]},"313":{"position":[[74,7]]},"324":{"position":[[1471,7],[2712,7]]},"334":{"position":[[313,7]]},"461":{"position":[[1235,7]]},"773":{"position":[[134,9]]}},"keywords":{}}],["relev",{"_index":1440,"title":{},"content":{"69":{"position":[[788,8]]},"459":{"position":[[871,8]]}},"keywords":{}}],["reli",{"_index":703,"title":{},"content":{"36":{"position":[[2110,7]]},"59":{"position":[[185,6]]},"60":{"position":[[297,6]]},"202":{"position":[[2110,7]]},"674":{"position":[[154,7]]}},"keywords":{}}],["reliabl",{"_index":1308,"title":{},"content":{"57":{"position":[[122,9]]},"240":{"position":[[145,8]]}},"keywords":{}}],["reload",{"_index":2899,"title":{},"content":{"304":{"position":[[1520,7]]},"332":{"position":[[813,6],[910,7]]}},"keywords":{}}],["remain",{"_index":637,"title":{},"content":{"33":{"position":[[493,9],[709,9]]},"35":{"position":[[797,9],[1448,9]]},"37":{"position":[[590,9],[1241,9]]},"61":{"position":[[189,9]]},"201":{"position":[[826,9],[1477,9]]},"203":{"position":[[609,9],[1260,9]]},"204":{"position":[[996,9],[1621,9]]},"205":{"position":[[832,9],[1457,9]]},"253":{"position":[[4443,9]]},"403":{"position":[[215,7]]},"427":{"position":[[106,7]]},"495":{"position":[[1307,7]]},"514":{"position":[[1231,7]]},"620":{"position":[[102,6]]},"630":{"position":[[371,7]]}},"keywords":{}}],["remaind",{"_index":1276,"title":{},"content":{"54":{"position":[[425,9]]}},"keywords":{}}],["rememb",{"_index":3905,"title":{},"content":{"429":{"position":[[421,8]]},"476":{"position":[[1085,8]]},"658":{"position":[[307,8]]}},"keywords":{}}],["remot",{"_index":1025,"title":{},"content":{"44":{"position":[[52,8]]},"51":{"position":[[228,6],[289,6],[471,6]]},"143":{"position":[[153,6],[285,6]]}},"keywords":{}}],["remov",{"_index":1337,"title":{"557":{"position":[[0,8]]}},"content":{"59":{"position":[[401,6]]},"62":{"position":[[762,6]]},"63":{"position":[[1946,6]]},"67":{"position":[[261,6]]},"83":{"position":[[2285,7]]},"209":{"position":[[141,6]]},"227":{"position":[[2169,7],[4498,8]]},"274":{"position":[[132,6]]},"321":{"position":[[33,6]]},"324":{"position":[[3623,8]]},"325":{"position":[[597,6]]},"334":{"position":[[937,6],[1211,7]]},"347":{"position":[[1689,6],[2480,6]]},"351":{"position":[[583,6]]},"480":{"position":[[498,8]]},"528":{"position":[[537,9]]},"556":{"position":[[346,8],[599,8]]},"557":{"position":[[81,7],[151,7]]},"577":{"position":[[467,7]]},"620":{"position":[[37,7],[206,8],[269,7],[302,7]]},"716":{"position":[[568,6]]}},"keywords":{}}],["renam",{"_index":1923,"title":{},"content":{"121":{"position":[[323,6]]},"230":{"position":[[641,7]]},"231":{"position":[[745,7]]},"235":{"position":[[1162,7]]}},"keywords":{}}],["render",{"_index":239,"title":{"7":{"position":[[0,7]]}},"content":{"7":{"position":[[49,6],[62,7],[215,6],[345,6]]},"235":{"position":[[805,6]]},"246":{"position":[[251,6]]},"592":{"position":[[394,6]]}},"keywords":{}}],["rent",{"_index":4049,"title":{},"content":{"459":{"position":[[40,6]]}},"keywords":{}}],["reorder",{"_index":2980,"title":{},"content":{"311":{"position":[[784,10],[801,7]]},"596":{"position":[[165,10]]}},"keywords":{}}],["repeat",{"_index":4221,"title":{"480":{"position":[[23,6]]}},"content":{"480":{"position":[[109,8]]}},"keywords":{}}],["repeatedli",{"_index":4390,"title":{},"content":{"501":{"position":[[340,10]]}},"keywords":{}}],["repetit",{"_index":4225,"title":{},"content":{"480":{"position":[[261,10],[511,10]]}},"keywords":{}}],["replac",{"_index":842,"title":{},"content":{"36":{"position":[[9997,7]]},"57":{"position":[[410,8]]},"202":{"position":[[9997,7]]},"273":{"position":[[481,8]]},"282":{"position":[[555,8]]},"304":{"position":[[1717,7],[1772,7],[1813,8]]},"313":{"position":[[168,7]]},"480":{"position":[[1288,8]]},"632":{"position":[[273,8]]}},"keywords":{}}],["replay",{"_index":4663,"title":{},"content":{"621":{"position":[[1745,6],[2949,6],[2985,6],[3021,6],[3051,6],[3089,6],[3126,6],[3170,6],[3202,6],[3237,6],[3275,6],[3305,6],[3781,6]]}},"keywords":{}}],["replay_move_end",{"_index":4685,"title":{},"content":{"621":{"position":[[2933,15]]}},"keywords":{}}],["replay_move_index",{"_index":4686,"title":{},"content":{"621":{"position":[[2967,17]]}},"keywords":{}}],["replay_move_start",{"_index":4687,"title":{},"content":{"621":{"position":[[3003,17]]}},"keywords":{}}],["replay_play",{"_index":4688,"title":{},"content":{"621":{"position":[[3039,11]]}},"keywords":{}}],["replay_reverse_play",{"_index":4689,"title":{},"content":{"621":{"position":[[3069,19]]}},"keywords":{}}],["replay_select_fil",{"_index":4690,"title":{},"content":{"621":{"position":[[3107,18]]}},"keywords":{}}],["replay_set_playback_delay",{"_index":4691,"title":{},"content":{"621":{"position":[[3144,25]]}},"keywords":{}}],["replay_statu",{"_index":4692,"title":{},"content":{"621":{"position":[[3188,13]]}},"keywords":{}}],["replay_step_back",{"_index":4693,"title":{},"content":{"621":{"position":[[3220,16]]}},"keywords":{}}],["replay_step_forward",{"_index":4694,"title":{},"content":{"621":{"position":[[3255,19]]}},"keywords":{}}],["replay_stop",{"_index":4695,"title":{},"content":{"621":{"position":[[3293,11]]}},"keywords":{}}],["repo",{"_index":1831,"title":{},"content":{"102":{"position":[[68,4]]},"110":{"position":[[193,5]]},"237":{"position":[[17,4]]},"290":{"position":[[483,4],[542,5]]}},"keywords":{}}],["report",{"_index":1846,"title":{"497":{"position":[[34,7]]}},"content":{"103":{"position":[[615,7]]},"104":{"position":[[129,7]]},"105":{"position":[[292,7]]},"304":{"position":[[5672,6],[5720,6]]},"482":{"position":[[1342,7]]},"497":{"position":[[76,6],[186,6],[401,6],[706,6]]},"583":{"position":[[96,6],[224,6]]}},"keywords":{}}],["repositori",{"_index":2331,"title":{},"content":{"229":{"position":[[1044,11]]}},"keywords":{}}],["repres",{"_index":43,"title":{},"content":{"2":{"position":[[241,9]]},"59":{"position":[[782,12],[866,10]]},"60":{"position":[[1180,12],[1264,10]]},"61":{"position":[[2080,12],[2164,10]]},"62":{"position":[[1082,12],[1166,10]]},"63":{"position":[[2266,12],[2350,10]]},"64":{"position":[[362,12],[446,10]]},"227":{"position":[[5445,11],[5925,11]]},"298":{"position":[[332,9]]},"357":{"position":[[3827,14]]},"444":{"position":[[58,11]]},"618":{"position":[[1043,11]]}},"keywords":{}}],["represent",{"_index":3898,"title":{},"content":{"428":{"position":[[122,15]]},"618":{"position":[[901,15]]}},"keywords":{}}],["req",{"_index":406,"title":{},"content":{"20":{"position":[[257,3],[323,3],[1506,3],[1545,3]]}},"keywords":{}}],["reqt",{"_index":2849,"title":{},"content":{"299":{"position":[[1,5]]},"300":{"position":[[1,5]]},"301":{"position":[[112,5]]},"302":{"position":[[179,5]]},"303":{"position":[[361,5]]},"304":{"position":[[1297,5]]},"305":{"position":[[147,5]]},"306":{"position":[[266,5]]},"307":{"position":[[98,5]]},"308":{"position":[[113,5]]},"309":{"position":[[192,5]]},"310":{"position":[[97,5]]},"311":{"position":[[104,5]]}},"keywords":{}}],["request",{"_index":443,"title":{},"content":{"20":{"position":[[905,7]]},"42":{"position":[[132,8],[153,8],[737,7]]},"43":{"position":[[85,7],[167,9],[286,8],[305,8],[4658,8],[4677,7],[6478,7]]},"44":{"position":[[297,8],[1366,7],[1543,7],[1924,8],[2039,8],[3531,7]]},"85":{"position":[[226,8],[1407,8]]},"87":{"position":[[24,7]]},"88":{"position":[[80,8],[213,7]]},"89":{"position":[[154,8]]},"90":{"position":[[443,8],[546,8]]},"95":{"position":[[230,7],[483,7]]},"121":{"position":[[101,9]]},"227":{"position":[[400,10],[2091,7],[2256,10],[2304,10],[5570,9]]},"246":{"position":[[280,10]]},"429":{"position":[[929,7]]},"449":{"position":[[508,7]]},"457":{"position":[[168,9]]},"460":{"position":[[206,9]]},"463":{"position":[[175,7]]},"465":{"position":[[74,9]]},"528":{"position":[[481,7]]},"586":{"position":[[736,7]]},"599":{"position":[[852,10],[931,7]]},"618":{"position":[[361,10]]},"632":{"position":[[422,7]]},"671":{"position":[[627,8],[826,8]]},"758":{"position":[[147,8]]}},"keywords":{}}],["requests_ca_bundl",{"_index":2815,"title":{},"content":{"291":{"position":[[1274,18]]}},"keywords":{}}],["requir",{"_index":152,"title":{"12":{"position":[[0,8]]},"296":{"position":[[0,12]]},"299":{"position":[[8,13]]},"300":{"position":[[4,13]]},"337":{"position":[[5,12]]},"354":{"position":[[16,12]]},"488":{"position":[[37,8]]},"496":{"position":[[14,7]]}},"content":{"5":{"position":[[367,8],[397,8],[1102,9],[1140,8]]},"7":{"position":[[469,8]]},"11":{"position":[[304,8]]},"12":{"position":[[1,8],[43,8],[173,8],[587,7]]},"35":{"position":[[1079,8],[1610,8]]},"36":{"position":[[1914,9],[1938,8],[5498,7]]},"37":{"position":[[872,8],[1403,8]]},"44":{"position":[[151,8],[320,8],[1302,9],[1898,8]]},"51":{"position":[[106,8]]},"58":{"position":[[638,8]]},"59":{"position":[[527,8]]},"60":{"position":[[756,8]]},"61":{"position":[[584,8],[1128,8]]},"62":{"position":[[459,8]]},"63":{"position":[[1284,8]]},"64":{"position":[[322,8]]},"66":{"position":[[159,8]]},"67":{"position":[[122,8]]},"68":{"position":[[135,8]]},"69":{"position":[[1031,7],[2440,8],[2651,8],[2768,8]]},"83":{"position":[[379,11]]},"93":{"position":[[858,8]]},"94":{"position":[[649,8]]},"105":{"position":[[107,12]]},"120":{"position":[[36,8]]},"123":{"position":[[130,7],[857,9]]},"139":{"position":[[116,8]]},"143":{"position":[[647,9]]},"175":{"position":[[117,8]]},"176":{"position":[[487,8]]},"201":{"position":[[1108,8],[1639,8]]},"202":{"position":[[1914,9],[1938,8],[5498,7]]},"203":{"position":[[891,8],[1422,8]]},"204":{"position":[[1783,8]]},"205":{"position":[[1619,8]]},"223":{"position":[[58,7]]},"224":{"position":[[623,7]]},"226":{"position":[[1679,8]]},"227":{"position":[[1660,8]]},"229":{"position":[[74,8],[1532,9]]},"230":{"position":[[124,8],[1377,8]]},"231":{"position":[[136,8],[1109,7]]},"232":{"position":[[132,8]]},"233":{"position":[[142,8]]},"234":{"position":[[214,8]]},"235":{"position":[[125,8],[172,8]]},"253":{"position":[[1297,8]]},"254":{"position":[[245,8]]},"260":{"position":[[13,7]]},"267":{"position":[[3978,7]]},"299":{"position":[[855,11]]},"303":{"position":[[1229,8],[1300,8]]},"304":{"position":[[913,12]]},"337":{"position":[[1,8]]},"355":{"position":[[309,7],[551,8]]},"357":{"position":[[3724,8]]},"459":{"position":[[387,8],[1663,8]]},"462":{"position":[[345,7]]},"467":{"position":[[598,7],[829,8],[1106,8]]},"486":{"position":[[364,12],[475,12],[599,12],[711,12]]},"488":{"position":[[1364,9],[1476,7],[1512,9],[1559,7],[1639,7],[1701,8],[1759,7]]},"497":{"position":[[442,12],[740,12]]},"505":{"position":[[1192,8]]},"507":{"position":[[346,7],[498,7]]},"526":{"position":[[7,7]]},"528":{"position":[[860,7]]},"534":{"position":[[569,9]]},"540":{"position":[[652,8]]},"568":{"position":[[48,8]]},"610":{"position":[[354,7]]},"632":{"position":[[978,9]]},"649":{"position":[[1424,11]]},"737":{"position":[[323,9]]},"769":{"position":[[47,8],[126,8]]}},"keywords":{}}],["require/load",{"_index":5469,"title":{},"content":{"752":{"position":[[255,12]]}},"keywords":{}}],["require_util",{"_index":4312,"title":{},"content":{"488":{"position":[[470,17]]},"621":{"position":[[3323,15]]}},"keywords":{}}],["requiredaccessor",{"_index":2168,"title":{},"content":{"215":{"position":[[297,16]]},"279":{"position":[[297,16]]}},"keywords":{}}],["requiredarg",{"_index":2002,"title":{},"content":{"140":{"position":[[139,12]]},"141":{"position":[[148,12]]},"178":{"position":[[123,12]]},"180":{"position":[[132,12]]}},"keywords":{}}],["requiredbehavior",{"_index":846,"title":{},"content":{"36":{"position":[[10256,16]]},"202":{"position":[[10256,16]]}},"keywords":{}}],["requiredbuff",{"_index":2012,"title":{},"content":{"146":{"position":[[95,14]]},"153":{"position":[[104,14]]}},"keywords":{}}],["requiredbutton",{"_index":3917,"title":{},"content":{"429":{"position":[[1600,14]]}},"keywords":{}}],["requiredc0",{"_index":786,"title":{},"content":{"36":{"position":[[6323,10]]},"202":{"position":[[6323,10]]},"267":{"position":[[4862,10]]}},"keywords":{}}],["requiredcategori",{"_index":2101,"title":{},"content":{"190":{"position":[[131,16]]}},"keywords":{}}],["requiredcharact",{"_index":3952,"title":{},"content":{"435":{"position":[[81,18]]}},"keywords":{}}],["requiredcheckbox",{"_index":3933,"title":{},"content":{"430":{"position":[[140,16]]}},"keywords":{}}],["requiredclass",{"_index":759,"title":{},"content":{"36":{"position":[[5015,13]]},"202":{"position":[[5015,13]]},"224":{"position":[[194,13]]},"267":{"position":[[3496,13]]}},"keywords":{}}],["requiredcolor",{"_index":3752,"title":{},"content":{"379":{"position":[[85,13]]},"380":{"position":[[79,13]]},"381":{"position":[[90,13]]}},"keywords":{}}],["requiredcolumn",{"_index":3782,"title":{},"content":{"390":{"position":[[129,15]]}},"keywords":{}}],["requiredconvert",{"_index":2660,"title":{},"content":{"267":{"position":[[7329,17]]}},"keywords":{}}],["requiredcycl",{"_index":1965,"title":{},"content":{"133":{"position":[[348,13]]}},"keywords":{}}],["requiredd",{"_index":3942,"title":{},"content":{"432":{"position":[[142,12]]}},"keywords":{}}],["requireddefault",{"_index":655,"title":{},"content":{"35":{"position":[[1497,15]]},"37":{"position":[[1290,15]]},"39":{"position":[[232,15]]},"201":{"position":[[1526,15]]},"203":{"position":[[1309,15]]},"204":{"position":[[1670,15]]},"205":{"position":[[1506,15]]}},"keywords":{}}],["requireddelay",{"_index":1958,"title":{},"content":{"130":{"position":[[231,13]]}},"keywords":{}}],["requireddescript",{"_index":638,"title":{},"content":{"33":{"position":[[542,19]]},"214":{"position":[[164,19]]}},"keywords":{}}],["requireddirectori",{"_index":1998,"title":{},"content":{"138":{"position":[[245,17]]},"174":{"position":[[229,17]]}},"keywords":{}}],["requiredfil",{"_index":629,"title":{},"content":{"32":{"position":[[87,12]]}},"keywords":{}}],["requiredfilenam",{"_index":328,"title":{},"content":{"12":{"position":[[144,16]]},"15":{"position":[[386,16]]},"16":{"position":[[386,16]]}},"keywords":{}}],["requiredfold",{"_index":2010,"title":{},"content":{"144":{"position":[[45,14]]}},"keywords":{}}],["requiredformat",{"_index":659,"title":{},"content":{"36":{"position":[[126,14]]},"202":{"position":[[126,14]]},"267":{"position":[[121,14]]}},"keywords":{}}],["requiredful",{"_index":663,"title":{},"content":{"36":{"position":[[335,12]]},"202":{"position":[[335,12]]},"267":{"position":[[330,12]]}},"keywords":{}}],["requiredgroup",{"_index":2709,"title":{},"content":{"283":{"position":[[739,13]]}},"keywords":{}}],["requiredheight",{"_index":3747,"title":{},"content":{"376":{"position":[[117,14]]},"391":{"position":[[160,14]]}},"keywords":{}}],["requiredhost",{"_index":1197,"title":{},"content":{"49":{"position":[[243,12]]}},"keywords":{}}],["requiredicon",{"_index":2092,"title":{},"content":{"189":{"position":[[103,12]]},"424":{"position":[[118,12]]}},"keywords":{}}],["requiredimag",{"_index":3969,"title":{},"content":{"441":{"position":[[56,13]]}},"keywords":{}}],["requirediniti",{"_index":3947,"title":{},"content":{"433":{"position":[[120,15]]}},"keywords":{}}],["requiredinterfac",{"_index":1936,"title":{},"content":{"123":{"position":[[377,17]]}},"keywords":{}}],["requireditem",{"_index":360,"title":{},"content":{"14":{"position":[[244,12]]},"273":{"position":[[304,12]]},"274":{"position":[[378,12]]}},"keywords":{}}],["requiredkey",{"_index":689,"title":{},"content":{"36":{"position":[[1460,11],[3048,11]]},"137":{"position":[[90,11]]},"173":{"position":[[74,11]]},"202":{"position":[[1460,11],[3048,11]]},"267":{"position":[[1455,11],[2347,11]]},"382":{"position":[[65,11]]}},"keywords":{}}],["requiredlength",{"_index":694,"title":{},"content":{"36":{"position":[[1676,14]]},"202":{"position":[[1676,14]]},"267":{"position":[[1671,14]]}},"keywords":{}}],["requiredlimit",{"_index":2669,"title":{},"content":{"267":{"position":[[8452,14]]}},"keywords":{}}],["requiredlow",{"_index":800,"title":{},"content":{"36":{"position":[[6954,13]]},"202":{"position":[[6954,13]]},"267":{"position":[[5555,13]]}},"keywords":{}}],["requiredmargin",{"_index":3772,"title":{},"content":{"386":{"position":[[280,14]]},"388":{"position":[[128,14]]}},"keywords":{}}],["requiredmeta",{"_index":678,"title":{},"content":{"36":{"position":[[855,12]]},"202":{"position":[[855,12]]},"213":{"position":[[244,12]]},"267":{"position":[[850,12]]},"275":{"position":[[253,12]]}},"keywords":{}}],["requiredmicroservic",{"_index":2061,"title":{},"content":{"171":{"position":[[202,20]]}},"keywords":{}}],["requiredminimum",{"_index":650,"title":{},"content":{"35":{"position":[[846,15]]},"37":{"position":[[639,15]]},"201":{"position":[[875,15]]},"203":{"position":[[658,15]]},"204":{"position":[[1045,15]]},"205":{"position":[[881,15]]}},"keywords":{}}],["requirednam",{"_index":630,"title":{},"content":{"33":{"position":[[53,12]]},"35":{"position":[[65,12]]},"37":{"position":[[65,12]]},"135":{"position":[[214,12]]},"143":{"position":[[414,12]]},"201":{"position":[[82,12]]},"203":{"position":[[82,12]]},"204":{"position":[[305,12]]},"205":{"position":[[305,12]]},"206":{"position":[[99,12]]},"207":{"position":[[99,12]]},"266":{"position":[[81,12]]},"268":{"position":[[81,12]]},"269":{"position":[[251,12]]},"270":{"position":[[81,12]]},"271":{"position":[[98,12]]},"272":{"position":[[98,12]]}},"keywords":{}}],["requirednumb",{"_index":2000,"title":{},"content":{"139":{"position":[[171,14]]},"175":{"position":[[172,14]]}},"keywords":{}}],["requiredopt",{"_index":2077,"title":{},"content":{"179":{"position":[[283,14]]},"431":{"position":[[159,14]]}},"keywords":{}}],["requiredpacket",{"_index":2054,"title":{},"content":{"169":{"position":[[100,14]]}},"keywords":{}}],["requiredparamet",{"_index":354,"title":{},"content":{"13":{"position":[[341,17]]},"208":{"position":[[304,17]]},"209":{"position":[[405,17]]}},"keywords":{}}],["requiredpercentag",{"_index":2043,"title":{},"content":{"167":{"position":[[85,18]]}},"keywords":{}}],["requiredposit",{"_index":2108,"title":{},"content":{"192":{"position":[[294,16]]}},"keywords":{}}],["requiredprocessor",{"_index":2693,"title":{},"content":{"276":{"position":[[101,17]]}},"keywords":{}}],["requiredregex",{"_index":2057,"title":{},"content":{"170":{"position":[[161,13]]},"183":{"position":[[167,13]]},"193":{"position":[[159,13]]},"196":{"position":[[161,13]]}},"keywords":{}}],["requiredrespons",{"_index":2679,"title":{},"content":{"267":{"position":[[10490,16]]}},"keywords":{}}],["requiredrout",{"_index":2008,"title":{},"content":{"142":{"position":[[127,13]]},"182":{"position":[[127,13]]}},"keywords":{}}],["requiredrow",{"_index":641,"title":{},"content":{"33":{"position":[[758,12]]}},"keywords":{}}],["requireds",{"_index":2017,"title":{},"content":{"148":{"position":[[100,12]]},"151":{"position":[[107,12]]},"155":{"position":[[102,12]]},"158":{"position":[[109,12]]},"377":{"position":[[117,12]]},"378":{"position":[[119,12]]}},"keywords":{}}],["requiredshown",{"_index":2102,"title":{},"content":{"191":{"position":[[162,13]]}},"keywords":{}}],["requiredstart",{"_index":3860,"title":{},"content":{"418":{"position":[[1354,13]]},"419":{"position":[[1407,13]]},"420":{"position":[[1379,13]]},"443":{"position":[[53,13]]}},"keywords":{}}],["requiredsubwidget",{"_index":3762,"title":{},"content":{"383":{"position":[[520,17]]}},"keywords":{}}],["requiredt",{"_index":857,"title":{},"content":{"38":{"position":[[112,13]]}},"keywords":{}}],["requiredtab",{"_index":3799,"title":{},"content":{"393":{"position":[[82,11]]}},"keywords":{}}],["requiredtarget",{"_index":161,"title":{},"content":{"5":{"position":[[583,14]]},"125":{"position":[[59,14]]},"126":{"position":[[93,14]]},"127":{"position":[[94,14]]},"177":{"position":[[254,14]]},"199":{"position":[[53,14]]},"218":{"position":[[106,14]]},"219":{"position":[[112,14]]},"220":{"position":[[90,14]]},"221":{"position":[[92,14]]},"225":{"position":[[303,14]]},"264":{"position":[[55,14]]},"282":{"position":[[299,14]]},"284":{"position":[[229,14]]},"401":{"position":[[84,14]]},"402":{"position":[[84,14]]},"403":{"position":[[417,14]]},"404":{"position":[[59,14]]},"405":{"position":[[86,14]]},"406":{"position":[[80,14]]},"407":{"position":[[88,14]]},"408":{"position":[[100,14]]},"409":{"position":[[103,14]]},"410":{"position":[[99,14]]},"411":{"position":[[367,14]]},"412":{"position":[[96,14]]},"413":{"position":[[94,14]]},"414":{"position":[[80,14]]},"415":{"position":[[69,14]]},"416":{"position":[[72,14]]},"417":{"position":[[68,14]]},"418":{"position":[[66,14],[793,14]]},"419":{"position":[[100,14],[846,14]]},"420":{"position":[[84,14],[818,14]]},"421":{"position":[[65,14]]},"422":{"position":[[90,14]]},"423":{"position":[[78,14]]},"425":{"position":[[112,14]]},"426":{"position":[[64,14]]},"427":{"position":[[308,14]]},"440":{"position":[[102,14]]},"441":{"position":[[763,14]]},"442":{"position":[[294,14],[1676,14]]},"444":{"position":[[166,14]]}},"keywords":{}}],["requiredtempl",{"_index":2170,"title":{},"content":{"216":{"position":[[272,16]]},"217":{"position":[[269,16]]}},"keywords":{}}],["requiredtext",{"_index":3804,"title":{},"content":{"396":{"position":[[158,12]]},"398":{"position":[[70,12]]},"434":{"position":[[242,12]]}},"keywords":{}}],["requiredtim",{"_index":2014,"title":{},"content":{"147":{"position":[[78,12]]},"149":{"position":[[70,12]]},"150":{"position":[[85,12]]},"152":{"position":[[72,12]]},"154":{"position":[[80,12]]},"156":{"position":[[72,12]]},"157":{"position":[[87,12]]},"159":{"position":[[74,12]]},"160":{"position":[[83,12]]},"161":{"position":[[81,12]]},"162":{"position":[[80,12]]},"163":{"position":[[80,12]]},"164":{"position":[[80,12]]},"165":{"position":[[68,12]]},"418":{"position":[[1667,12],[1795,12],[1920,12]]},"419":{"position":[[1720,12],[1848,12],[1973,12]]},"420":{"position":[[1692,12],[1820,12],[1945,12]]},"436":{"position":[[142,12]]}},"keywords":{}}],["requiredtitl",{"_index":3778,"title":{},"content":{"387":{"position":[[194,13]]},"389":{"position":[[152,13]]}},"keywords":{}}],["requiredtool",{"_index":2080,"title":{},"content":{"184":{"position":[[283,12]]}},"keywords":{}}],["requiredtop",{"_index":2066,"title":{},"content":{"176":{"position":[[310,13]]}},"keywords":{}}],["requiredtyp",{"_index":1974,"title":{},"content":{"134":{"position":[[391,12]]},"136":{"position":[[164,12]]},"168":{"position":[[325,12]]},"181":{"position":[[124,12]]}},"keywords":{}}],["requiredurl",{"_index":2084,"title":{},"content":{"186":{"position":[[142,11]]},"187":{"position":[[158,11]]},"394":{"position":[[71,11]]}},"keywords":{}}],["requiredvalu",{"_index":669,"title":{},"content":{"36":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"202":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"267":{"position":[[572,13]]},"371":{"position":[[127,13]]},"404":{"position":[[1059,13]]},"411":{"position":[[991,13]]},"418":{"position":[[1509,13]]},"419":{"position":[[1562,13]]},"420":{"position":[[1534,13]]},"442":{"position":[[1323,13]]},"444":{"position":[[1239,13]]}},"keywords":{}}],["requiredvari",{"_index":1926,"title":{},"content":{"121":{"position":[[728,16]]}},"keywords":{}}],["requiredwidget",{"_index":2110,"title":{},"content":{"194":{"position":[[118,14]]},"372":{"position":[[82,14]]},"373":{"position":[[520,14]]},"384":{"position":[[377,14]]}},"keywords":{}}],["requiredwidth",{"_index":3723,"title":{},"content":{"369":{"position":[[215,13]]},"375":{"position":[[115,13]]},"399":{"position":[[70,13]]},"418":{"position":[[2013,13]]},"419":{"position":[[2066,13]]},"420":{"position":[[2038,13]]},"438":{"position":[[218,13]]}},"keywords":{}}],["requiredwindow",{"_index":2090,"title":{},"content":{"188":{"position":[[291,14]]}},"keywords":{}}],["requiredwrit",{"_index":1225,"title":{},"content":{"50":{"position":[[267,13]]},"52":{"position":[[229,13]]}},"keywords":{}}],["requiredx",{"_index":3964,"title":{},"content":{"439":{"position":[[51,9]]},"445":{"position":[[52,9]]}},"keywords":{}}],["requirements.txt",{"_index":1858,"title":{},"content":{"105":{"position":[[176,16]]},"229":{"position":[[1439,16]]}},"keywords":{}}],["research",{"_index":4063,"title":{},"content":{"459":{"position":[[745,8],[1538,8]]}},"keywords":{}}],["resend",{"_index":2880,"title":{},"content":{"303":{"position":[[2250,9],[2299,6]]}},"keywords":{}}],["reserv",{"_index":1798,"title":{},"content":{"99":{"position":[[1029,8],[1061,8]]},"192":{"position":[[95,8]]},"310":{"position":[[445,9],[472,11]]},"527":{"position":[[401,7]]}},"keywords":{}}],["reset",{"_index":1493,"title":{"72":{"position":[[0,6]]}},"content":{"71":{"position":[[382,7]]},"72":{"position":[[5,5],[29,5],[150,9],[280,5],[382,5]]},"73":{"position":[[37,5],[157,7],[305,5],[335,5]]},"74":{"position":[[40,5],[166,7],[320,5],[350,5]]},"321":{"position":[[1731,5]]}},"keywords":{}}],["reset(self",{"_index":1504,"title":{},"content":{"72":{"position":[[331,12]]}},"keywords":{}}],["resid",{"_index":4514,"title":{},"content":{"578":{"position":[[776,8]]}},"keywords":{}}],["resiz",{"_index":4557,"title":{},"content":{"596":{"position":[[153,7]]}},"keywords":{}}],["resolut",{"_index":2854,"title":{},"content":{"299":{"position":[[805,10],[882,11]]}},"keywords":{}}],["resolv",{"_index":2511,"title":{},"content":{"253":{"position":[[822,10]]},"429":{"position":[[1160,8]]},"465":{"position":[[476,7]]},"505":{"position":[[415,7]]}},"keywords":{}}],["resourc",{"_index":2047,"title":{},"content":{"168":{"position":[[98,9]]},"289":{"position":[[335,9],[404,9]]},"310":{"position":[[457,8]]},"512":{"position":[[285,9]]},"514":{"position":[[1002,10]]}},"keywords":{}}],["respect",{"_index":2875,"title":{},"content":{"303":{"position":[[1865,7]]},"404":{"position":[[700,10]]}},"keywords":{}}],["respond",{"_index":1697,"title":{},"content":{"87":{"position":[[159,9]]},"231":{"position":[[1034,7]]},"395":{"position":[[84,7]]},"514":{"position":[[452,8]]}},"keywords":{}}],["respons",{"_index":918,"title":{"218":{"position":[[0,9]]},"233":{"position":[[7,8]]}},"content":{"42":{"position":[[537,9]]},"43":{"position":[[677,9],[6297,9]]},"44":{"position":[[310,9]]},"54":{"position":[[571,8]]},"63":{"position":[[311,8],[978,8],[1121,8],[1576,8],[1835,8],[1892,9],[2546,8],[2595,8],[2629,8],[2701,8],[2809,9]]},"66":{"position":[[38,8],[79,8],[255,8],[269,8],[341,8],[453,9],[466,8]]},"69":{"position":[[2381,8],[5007,8]]},"79":{"position":[[196,8],[239,8]]},"90":{"position":[[456,10],[565,9]]},"95":{"position":[[242,8]]},"218":{"position":[[57,8],[151,8],[209,8]]},"219":{"position":[[63,8],[163,8],[227,8]]},"231":{"position":[[1126,10]]},"233":{"position":[[79,9],[181,8],[429,8],[520,8],[741,8],[1110,9]]},"267":{"position":[[10387,8],[10582,9],[10648,8]]},"459":{"position":[[332,16]]},"469":{"position":[[192,11]]},"476":{"position":[[1069,15]]},"623":{"position":[[433,9]]},"624":{"position":[[399,9]]}},"keywords":{}}],["rest",{"_index":1026,"title":{},"content":{"44":{"position":[[103,4]]}},"keywords":{}}],["restart",{"_index":518,"title":{},"content":{"23":{"position":[[284,8]]},"46":{"position":[[478,7]]},"85":{"position":[[1577,7]]},"483":{"position":[[192,10],[863,7]]},"488":{"position":[[1531,7]]},"505":{"position":[[1130,7]]}},"keywords":{}}],["restor",{"_index":4558,"title":{},"content":{"596":{"position":[[217,8]]}},"keywords":{}}],["restrict",{"_index":2178,"title":{"223":{"position":[[0,11]]}},"content":{"223":{"position":[[38,10],[176,11]]},"364":{"position":[[1087,11]]},"464":{"position":[[329,10]]},"466":{"position":[[179,8],[476,11]]},"467":{"position":[[163,10]]},"540":{"position":[[750,10]]}},"keywords":{}}],["result",{"_index":207,"title":{},"content":{"6":{"position":[[243,6],[765,6]]},"7":{"position":[[784,6]]},"8":{"position":[[297,6]]},"9":{"position":[[320,6],[652,6]]},"36":{"position":[[10616,9]]},"44":{"position":[[1747,6],[1798,7],[2052,7],[3539,7]]},"57":{"position":[[100,7]]},"67":{"position":[[1025,6]]},"211":{"position":[[142,6]]},"227":{"position":[[5010,7]]},"260":{"position":[[231,9]]},"328":{"position":[[1782,7]]},"345":{"position":[[344,9]]},"357":{"position":[[684,7]]},"487":{"position":[[1144,6],[1616,6]]},"548":{"position":[[87,6],[279,6],[299,6]]},"566":{"position":[[354,9]]},"605":{"position":[[528,8]]},"644":{"position":[[1088,9]]},"681":{"position":[[1454,7]]},"682":{"position":[[1221,7]]},"683":{"position":[[887,7]]},"684":{"position":[[768,7]]},"688":{"position":[[740,7]]},"699":{"position":[[359,6],[418,6],[680,6]]}},"keywords":{}}],["result.key",{"_index":5178,"title":{},"content":{"699":{"position":[[552,11]]}},"keywords":{}}],["result['default",{"_index":5179,"title":{},"content":{"699":{"position":[[596,17]]}},"keywords":{}}],["resum",{"_index":2779,"title":{},"content":{"289":{"position":[[1194,6]]},"304":{"position":[[2428,7]]},"483":{"position":[[1279,6]]},"544":{"position":[[358,7]]},"599":{"position":[[26,6]]}},"keywords":{}}],["retain",{"_index":4110,"title":{},"content":{"465":{"position":[[4,6],[147,6],[396,6],[631,6]]}},"keywords":{}}],["retent",{"_index":4109,"title":{"465":{"position":[[3,9]]}},"content":{},"keywords":{}}],["retri",{"_index":2886,"title":{},"content":{"304":{"position":[[487,5]]},"505":{"position":[[222,5],[289,8],[314,5]]},"607":{"position":[[432,5],[546,7]]},"617":{"position":[[675,5]]}},"keywords":{}}],["retriev",{"_index":757,"title":{"622":{"position":[[0,10]]}},"content":{"36":{"position":[[4878,8],[8870,8]]},"136":{"position":[[325,8]]},"181":{"position":[[285,8]]},"202":{"position":[[4878,8],[8870,8]]},"499":{"position":[[148,8]]},"618":{"position":[[60,9]]},"663":{"position":[[153,9]]},"675":{"position":[[121,8]]},"729":{"position":[[70,8]]},"761":{"position":[[149,8]]},"772":{"position":[[176,8]]}},"keywords":{}}],["return",{"_index":775,"title":{},"content":{"36":{"position":[[5694,6],[6050,6],[8311,6],[9274,6],[9463,6]]},"56":{"position":[[439,9]]},"59":{"position":[[82,9],[124,7],[950,8]]},"60":{"position":[[274,8],[1348,9]]},"61":{"position":[[2248,9]]},"62":{"position":[[195,7],[808,9],[1250,9]]},"63":{"position":[[1992,9],[2434,9]]},"64":{"position":[[526,9]]},"69":{"position":[[2366,6],[2510,6],[2946,7],[3279,6],[3497,8],[4015,6],[4094,7],[4572,6],[4633,8]]},"71":{"position":[[232,8]]},"75":{"position":[[178,6],[237,7],[383,8],[482,8],[818,6],[897,6],[1187,6],[1289,6],[1322,6],[1395,6],[1632,6],[1812,6]]},"76":{"position":[[95,8],[203,6],[261,7],[339,9],[416,8],[508,8],[837,6],[923,6],[966,7]]},"77":{"position":[[202,6],[260,7],[432,8],[524,8],[699,6],[786,6],[829,7]]},"78":{"position":[[201,6],[260,7],[431,8],[521,8],[692,6],[785,6],[835,7]]},"79":{"position":[[405,6],[476,7],[562,8],[698,8],[913,7],[994,6],[1113,6],[1171,7]]},"80":{"position":[[303,6],[451,6]]},"84":{"position":[[939,8]]},"85":{"position":[[1380,7]]},"94":{"position":[[110,7],[187,7],[264,7],[348,7]]},"202":{"position":[[5694,6],[6050,6],[8311,6],[9274,6],[9463,6]]},"224":{"position":[[778,6],[882,6],[999,6],[1217,6],[1332,6],[1469,6]]},"227":{"position":[[4837,8],[4926,8],[5000,9],[5067,6],[5250,9]]},"263":{"position":[[802,7],[885,7],[1070,7],[1213,7]]},"267":{"position":[[4174,6],[4530,6],[6970,6],[7557,6],[7724,6]]},"302":{"position":[[644,7]]},"328":{"position":[[359,6]]},"384":{"position":[[263,7]]},"429":{"position":[[1133,7]]},"487":{"position":[[1475,6]]},"499":{"position":[[826,8],[1158,8]]},"536":{"position":[[205,9]]},"618":{"position":[[409,6]]},"623":{"position":[[208,9]]},"624":{"position":[[66,8],[167,9]]},"627":{"position":[[179,9]]},"628":{"position":[[1,6]]},"632":{"position":[[152,9]]},"646":{"position":[[1,7],[82,8]]},"647":{"position":[[1,7]]},"648":{"position":[[1,7]]},"649":{"position":[[1,7]]},"650":{"position":[[1,7]]},"651":{"position":[[1,7]]},"652":{"position":[[1,7]]},"653":{"position":[[1,7],[302,8],[421,8]]},"654":{"position":[[1,7]]},"661":{"position":[[1,7]]},"662":{"position":[[1,7],[105,8]]},"663":{"position":[[1,7]]},"664":{"position":[[1,7]]},"665":{"position":[[1,7]]},"666":{"position":[[1,7]]},"667":{"position":[[1,7]]},"668":{"position":[[1,7]]},"671":{"position":[[646,6],[845,6]]},"673":{"position":[[1,7],[89,7]]},"675":{"position":[[95,8]]},"676":{"position":[[201,8],[381,6]]},"681":{"position":[[398,7],[465,7],[580,7]]},"682":{"position":[[278,7]]},"683":{"position":[[363,7]]},"684":{"position":[[253,7]]},"685":{"position":[[209,7]]},"686":{"position":[[191,7]]},"687":{"position":[[305,7]]},"688":{"position":[[141,7]]},"690":{"position":[[28,7]]},"695":{"position":[[1,7]]},"697":{"position":[[1,7]]},"698":{"position":[[1,7]]},"699":{"position":[[1,7]]},"701":{"position":[[1,7]]},"702":{"position":[[1,7],[57,7]]},"703":{"position":[[1,7],[42,8],[186,8],[345,7]]},"705":{"position":[[1,7]]},"706":{"position":[[1,7]]},"707":{"position":[[1,7],[45,6]]},"709":{"position":[[1,7]]},"710":{"position":[[1,7]]},"715":{"position":[[1,7],[47,6]]},"722":{"position":[[1,7]]},"723":{"position":[[1,7]]},"724":{"position":[[1,7],[44,6]]},"731":{"position":[[1,7],[158,6]]},"732":{"position":[[1,7]]},"733":{"position":[[1,7]]},"743":{"position":[[21,7]]},"744":{"position":[[27,7]]},"758":{"position":[[188,6]]},"760":{"position":[[1,7],[146,7]]},"761":{"position":[[1,7]]},"762":{"position":[[1,7]]},"766":{"position":[[1,6]]},"767":{"position":[[1,6]]},"768":{"position":[[1,6],[48,7],[296,6]]},"773":{"position":[[163,8]]}},"keywords":{}}],["reus",{"_index":2350,"title":{},"content":{"230":{"position":[[1667,6]]},"253":{"position":[[8331,5]]},"499":{"position":[[811,5],[1143,5]]},"676":{"position":[[668,5],[1166,5]]}},"keywords":{}}],["reusabl",{"_index":2567,"title":{},"content":{"253":{"position":[[8290,11]]},"485":{"position":[[264,8]]},"500":{"position":[[132,8]]}},"keywords":{}}],["revalid",{"_index":923,"title":{},"content":{"42":{"position":[[604,10]]},"43":{"position":[[6364,10]]}},"keywords":{}}],["revers",{"_index":1288,"title":{},"content":{"54":{"position":[[3519,7]]},"67":{"position":[[1135,7]]},"69":{"position":[[3653,7],[3820,7]]},"240":{"position":[[1460,7]]}},"keywords":{}}],["review",{"_index":4100,"title":{},"content":{"463":{"position":[[21,6],[134,6]]},"469":{"position":[[341,6]]},"476":{"position":[[263,7]]},"480":{"position":[[226,7]]}},"keywords":{}}],["rewrit",{"_index":4256,"title":{},"content":{"483":{"position":[[110,7]]}},"keywords":{}}],["rf",{"_index":3016,"title":{},"content":{"318":{"position":[[355,2]]},"482":{"position":[[1129,2]]}},"keywords":{}}],["rgb",{"_index":3753,"title":{},"content":{"379":{"position":[[247,3],[293,3],[338,3]]},"380":{"position":[[241,3],[287,3],[332,3]]},"381":{"position":[[252,3],[298,3],[343,3]]}},"keywords":{}}],["rhel",{"_index":1148,"title":{},"content":{"46":{"position":[[292,4],[701,4]]},"324":{"position":[[569,4],[583,4]]}},"keywords":{}}],["rhel8",{"_index":3155,"title":{},"content":{"324":{"position":[[1594,5]]}},"keywords":{}}],["rich",{"_index":2478,"title":{},"content":{"247":{"position":[[97,4]]}},"keywords":{}}],["right",{"_index":542,"title":{"466":{"position":[[21,7]]},"608":{"position":[[0,5]]}},"content":{"24":{"position":[[571,5]]},"44":{"position":[[554,5]]},"84":{"position":[[651,5],[795,5]]},"95":{"position":[[348,6]]},"304":{"position":[[3763,5]]},"305":{"position":[[621,5],[791,5]]},"322":{"position":[[269,5]]},"359":{"position":[[1053,6],[1156,6],[1212,6]]},"362":{"position":[[277,5]]},"363":{"position":[[250,6]]},"404":{"position":[[519,5],[656,6],[673,7],[789,5]]},"459":{"position":[[1710,6]]},"466":{"position":[[93,5],[170,5],[262,6],[294,6],[364,6],[392,5],[527,5]]},"467":{"position":[[1322,6]]},"505":{"position":[[1068,5]]},"525":{"position":[[405,5]]},"530":{"position":[[369,5]]},"568":{"position":[[260,5]]},"573":{"position":[[1,5]]},"592":{"position":[[251,5]]},"593":{"position":[[538,5]]},"601":{"position":[[289,5]]},"608":{"position":[[1,5]]}},"keywords":{}}],["rm",{"_index":1683,"title":{},"content":{"85":{"position":[[592,2]]},"318":{"position":[[351,2]]},"321":{"position":[[116,2]]}},"keywords":{}}],["roadmap",{"_index":1861,"title":{"106":{"position":[[0,7]]}},"content":{},"keywords":{}}],["robust",{"_index":1331,"title":{},"content":{"59":{"position":[[257,7]]}},"keywords":{}}],["rollup",{"_index":3877,"title":{"424":{"position":[[0,7]]}},"content":{"424":{"position":[[77,6],[435,6],[569,6],[657,6],[781,6]]}},"keywords":{}}],["room",{"_index":1782,"title":{},"content":{"99":{"position":[[52,4]]}},"keywords":{}}],["root",{"_index":409,"title":{},"content":{"20":{"position":[[307,6]]},"24":{"position":[[885,4]]},"253":{"position":[[1726,4],[1885,4]]},"292":{"position":[[1230,4]]},"324":{"position":[[316,4]]},"350":{"position":[[1313,4]]}},"keywords":{}}],["rootless",{"_index":3137,"title":{"324":{"position":[[20,8]]}},"content":{"324":{"position":[[644,8],[1322,8],[2411,8],[3790,8]]}},"keywords":{}}],["rootless_storage_path",{"_index":3153,"title":{},"content":{"324":{"position":[[1259,22]]}},"keywords":{}}],["rotat",{"_index":4246,"title":{},"content":{"481":{"position":[[396,6],[478,6],[511,6]]}},"keywords":{}}],["rout",{"_index":68,"title":{},"content":{"2":{"position":[[668,6]]},"135":{"position":[[859,5]]},"142":{"position":[[26,5],[44,5],[148,5]]},"182":{"position":[[26,5],[44,5],[148,5]]},"240":{"position":[[1497,6]]},"298":{"position":[[759,6]]},"338":{"position":[[326,5],[1568,5]]}},"keywords":{}}],["route_prefix",{"_index":2006,"title":{"142":{"position":[[0,13]]},"182":{"position":[[0,13]]}},"content":{"142":{"position":[[243,12]]},"182":{"position":[[266,12]]}},"keywords":{}}],["router",{"_index":1195,"title":{"116":{"position":[[0,7]]},"143":{"position":[[0,7]]},"336":{"position":[[44,7]]},"719":{"position":[[0,8]]}},"content":{"48":{"position":[[149,6]]},"51":{"position":[[642,7]]},"112":{"position":[[318,7]]},"116":{"position":[[1,7]]},"135":{"position":[[787,6]]},"143":{"position":[[8,6],[104,6],[313,7],[439,6]]},"235":{"position":[[945,7]]},"246":{"position":[[241,6]]},"300":{"position":[[249,8],[283,6]]},"301":{"position":[[1181,8],[1199,7],[1302,8],[1358,7]]},"336":{"position":[[110,6]]},"338":{"position":[[156,7],[309,6],[1456,6],[1855,6]]},"719":{"position":[[51,8]]},"720":{"position":[[19,7],[184,7],[192,6],[244,7],[279,6]]},"721":{"position":[[22,7],[152,7]]},"722":{"position":[[23,7]]},"723":{"position":[[11,6],[48,6],[218,7],[251,6]]},"724":{"position":[[31,8],[112,6],[995,6]]},"725":{"position":[[42,8],[228,6],[308,7]]},"726":{"position":[[41,8],[226,6],[305,7]]},"727":{"position":[[30,7],[80,7],[123,6],[339,6]]},"728":{"position":[[31,6],[381,6]]}},"keywords":{}}],["router[0",{"_index":5371,"title":{},"content":{"724":{"position":[[1039,12]]}},"keywords":{}}],["router[1",{"_index":5372,"title":{},"content":{"724":{"position":[[1070,12]]}},"keywords":{}}],["router[2]}"",{"_index":5373,"title":{},"content":{"724":{"position":[[1106,18]]}},"keywords":{}}],["router[3",{"_index":5374,"title":{},"content":{"724":{"position":[[1159,12]]}},"keywords":{}}],["router[4",{"_index":5375,"title":{},"content":{"724":{"position":[[1192,12]]}},"keywords":{}}],["router[5",{"_index":5376,"title":{},"content":{"724":{"position":[[1224,12]]}},"keywords":{}}],["router[6]}"",{"_index":5377,"title":{},"content":{"724":{"position":[[1253,18]]}},"keywords":{}}],["router[7",{"_index":5379,"title":{},"content":{"724":{"position":[[1303,12]]}},"keywords":{}}],["router[8]}"",{"_index":5380,"title":{},"content":{"724":{"position":[[1330,18]]}},"keywords":{}}],["router_cmd",{"_index":5387,"title":{"727":{"position":[[0,11]]}},"content":{},"keywords":{}}],["router_cmd("<rout",{"_index":5388,"title":{},"content":{"727":{"position":[[174,27]]}},"keywords":{}}],["router_cmd("inst"",{"_index":5389,"title":{},"content":{"727":{"position":[[471,28]]}},"keywords":{}}],["router_info",{"_index":5364,"title":{},"content":{"724":{"position":[[309,11],[846,11],[1005,12]]}},"keywords":{}}],["router_info.each",{"_index":5365,"title":{},"content":{"724":{"position":[[345,16]]}},"keywords":{}}],["router_int",{"_index":5357,"title":{},"content":{"722":{"position":[[133,14]]}},"keywords":{}}],["router_listen_address",{"_index":3270,"title":{},"content":{"338":{"position":[[1121,21],[1614,21]]}},"keywords":{}}],["router_nam",{"_index":5356,"title":{},"content":{"722":{"position":[[92,12]]},"724":{"position":[[365,13],[493,15],[884,12]]}},"keywords":{}}],["router_port",{"_index":3269,"title":{},"content":{"338":{"position":[[952,11],[1510,11],[1535,11]]}},"keywords":{}}],["router_protocol_cmd",{"_index":5390,"title":{"728":{"position":[[0,20]]}},"content":{},"keywords":{}}],["router_protocol_cmd("<rout",{"_index":5391,"title":{},"content":{"728":{"position":[[188,36]]}},"keywords":{}}],["router_protocol_cmd("inst"",{"_index":5392,"title":{},"content":{"728":{"position":[[785,37],[903,37]]}},"keywords":{}}],["router_st",{"_index":4696,"title":{},"content":{"621":{"position":[[3421,12]]}},"keywords":{}}],["routin",{"_index":4404,"title":{},"content":{"504":{"position":[[791,7]]}},"keywords":{}}],["row",{"_index":634,"title":{},"content":{"33":{"position":[[317,4],[333,3],[386,4],[785,4]]},"39":{"position":[[37,3],[87,4],[125,4],[142,4]]},"401":{"position":[[36,4],[372,3],[402,3]]},"402":{"position":[[36,4],[432,3],[456,3]]}},"keywords":{}}],["row_column",{"_index":635,"title":{},"content":{"33":{"position":[[354,10],[445,10],[694,10]]}},"keywords":{}}],["rpc",{"_index":926,"title":{"88":{"position":[[5,3]]}},"content":{"42":{"position":[[665,3]]},"43":{"position":[[6406,3]]},"88":{"position":[[57,3]]}},"keywords":{}}],["rpc"",{"_index":900,"title":{},"content":{"42":{"position":[[211,9]]},"43":{"position":[[4754,9]]}},"keywords":{}}],["rsa",{"_index":445,"title":{},"content":{"20":{"position":[[926,3]]},"27":{"position":[[829,3]]},"28":{"position":[[156,3]]}},"keywords":{}}],["rsa:4096",{"_index":411,"title":{},"content":{"20":{"position":[[335,8],[868,8]]}},"keywords":{}}],["rsp_packet",{"_index":1398,"title":{},"content":{"63":{"position":[[1053,10],[1163,11]]}},"keywords":{}}],["rsp_templat",{"_index":1397,"title":{},"content":{"63":{"position":[[1036,12],[1075,12]]}},"keywords":{}}],["rspec",{"_index":1851,"title":{},"content":{"104":{"position":[[107,5]]}},"keywords":{}}],["rtsct",{"_index":1980,"title":{},"content":{"135":{"position":[[382,6],[761,6]]},"338":{"position":[[788,6]]}},"keywords":{}}],["rubi",{"_index":192,"title":{"104":{"position":[[0,4]]},"251":{"position":[[0,4]]},"476":{"position":[[0,4]]},"502":{"position":[[42,4]]},"508":{"position":[[12,4]]}},"content":{"6":{"position":[[25,5],[62,4],[91,4],[181,4],[217,4],[478,4]]},"11":{"position":[[118,4],[228,4],[313,4],[342,5]]},"12":{"position":[[12,4],[32,4]]},"36":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8026,4],[9182,4]]},"49":{"position":[[833,4]]},"50":{"position":[[720,4]]},"51":{"position":[[876,4]]},"52":{"position":[[200,5],[912,4]]},"69":{"position":[[685,6],[991,4],[1705,4],[1795,4],[1862,4],[4610,4]]},"71":{"position":[[148,4]]},"72":{"position":[[254,4]]},"73":{"position":[[117,4]]},"74":{"position":[[123,4]]},"75":{"position":[[610,4]]},"76":{"position":[[791,4]]},"77":{"position":[[652,4]]},"78":{"position":[[649,4]]},"79":{"position":[[933,4]]},"80":{"position":[[194,4]]},"81":{"position":[[23,4]]},"83":{"position":[[209,5],[1559,4],[2797,4]]},"85":{"position":[[1485,4]]},"91":{"position":[[70,5]]},"95":{"position":[[138,4],[265,4]]},"108":{"position":[[78,4]]},"112":{"position":[[518,4]]},"121":{"position":[[545,4],[671,4]]},"123":{"position":[[140,4],[670,4]]},"125":{"position":[[122,4]]},"126":{"position":[[164,4]]},"127":{"position":[[167,4]]},"134":{"position":[[549,4],[701,4]]},"140":{"position":[[213,4],[232,4]]},"143":{"position":[[460,4]]},"178":{"position":[[197,4],[252,4]]},"202":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8026,4],[9182,4]]},"224":{"position":[[249,4],[546,4]]},"227":{"position":[[563,5]]},"229":{"position":[[1228,4]]},"230":{"position":[[255,4]]},"231":{"position":[[279,4],[1256,4]]},"232":{"position":[[311,4]]},"233":{"position":[[336,4]]},"239":{"position":[[327,4]]},"251":{"position":[[58,4],[137,4],[196,5]]},"253":{"position":[[1275,4],[1331,4],[1406,7],[7417,5]]},"259":{"position":[[1782,6]]},"263":{"position":[[968,4],[1080,4],[1265,4]]},"267":{"position":[[3026,4],[3171,6],[3551,4],[3882,4],[6686,4],[7486,4],[10534,4],[10760,4]]},"276":{"position":[[192,4],[414,4]]},"297":{"position":[[479,4],[693,4]]},"304":{"position":[[2104,4]]},"337":{"position":[[17,4],[35,5],[99,4]]},"475":{"position":[[22,4],[59,4],[193,4]]},"476":{"position":[[63,4],[322,5],[345,4],[617,4],[679,5],[1821,4],[4652,4]]},"478":{"position":[[451,5]]},"479":{"position":[[1,4]]},"480":{"position":[[647,5],[1325,5]]},"481":{"position":[[219,4]]},"483":{"position":[[601,5]]},"485":{"position":[[517,5]]},"486":{"position":[[306,5]]},"487":{"position":[[754,5]]},"488":{"position":[[1144,4],[2242,5]]},"493":{"position":[[99,4],[123,4],[197,4],[334,4]]},"495":{"position":[[435,5]]},"496":{"position":[[429,4],[581,4]]},"497":{"position":[[305,5]]},"499":{"position":[[535,5]]},"500":{"position":[[321,5]]},"501":{"position":[[597,5]]},"502":{"position":[[481,4]]},"507":{"position":[[244,4]]},"508":{"position":[[12,4],[235,4]]},"548":{"position":[[408,4],[681,4]]},"585":{"position":[[613,4]]},"605":{"position":[[61,4]]},"609":{"position":[[231,4]]},"610":{"position":[[339,4]]},"611":{"position":[[124,5]]},"612":{"position":[[955,5]]},"616":{"position":[[46,4],[62,4]]},"623":{"position":[[219,4],[653,4]]},"624":{"position":[[178,4],[619,4]]},"627":{"position":[[190,4],[584,4]]},"628":{"position":[[57,4],[602,4]]},"629":{"position":[[40,4],[483,4]]},"630":{"position":[[40,4],[380,4]]},"632":{"position":[[449,4],[1303,4],[1454,4]]},"634":{"position":[[75,4],[199,4]]},"636":{"position":[[29,4],[1279,4],[1359,4]]},"637":{"position":[[191,4],[1501,4]]},"638":{"position":[[196,4],[1522,4]]},"639":{"position":[[265,4],[1555,4]]},"640":{"position":[[57,4],[1355,4]]},"641":{"position":[[214,4],[1572,4]]},"642":{"position":[[219,4],[1593,4]]},"643":{"position":[[288,4],[1626,4]]},"644":{"position":[[33,4],[402,4]]},"645":{"position":[[34,4],[198,4],[228,4]]},"646":{"position":[[161,4],[286,4]]},"647":{"position":[[65,4],[194,4]]},"648":{"position":[[67,4],[313,4]]},"649":{"position":[[48,4],[399,4]]},"650":{"position":[[82,4],[96,4],[394,4]]},"651":{"position":[[86,4],[460,4]]},"652":{"position":[[227,4],[622,4],[646,4]]},"653":{"position":[[52,4],[431,4]]},"654":{"position":[[65,4],[323,4]]},"656":{"position":[[327,4],[795,4],[1053,4]]},"657":{"position":[[246,4],[708,5],[738,4]]},"658":{"position":[[473,5],[905,4],[1039,4]]},"659":{"position":[[126,4],[377,4]]},"660":{"position":[[48,4],[516,5],[547,4]]},"661":{"position":[[79,4],[377,4]]},"662":{"position":[[203,4],[583,5],[614,4]]},"663":{"position":[[247,4],[443,4]]},"664":{"position":[[48,4],[172,4]]},"665":{"position":[[47,4],[176,4]]},"666":{"position":[[25,4],[271,4]]},"667":{"position":[[24,4],[349,4]]},"668":{"position":[[78,4],[342,4]]},"669":{"position":[[366,4],[642,5],[672,4]]},"670":{"position":[[76,4],[527,5],[557,4]]},"671":{"position":[[228,4],[521,5],[551,4]]},"672":{"position":[[79,4],[339,5],[369,4]]},"673":{"position":[[202,4],[243,4]]},"675":{"position":[[141,4],[307,4]]},"676":{"position":[[52,4],[413,4]]},"677":{"position":[[47,4],[255,4]]},"678":{"position":[[59,4],[275,4]]},"679":{"position":[[55,4],[289,4]]},"681":{"position":[[351,4],[555,4],[1372,5],[1481,4]]},"682":{"position":[[255,4],[1139,5],[1248,4]]},"683":{"position":[[589,4],[914,4]]},"684":{"position":[[228,4],[795,4]]},"685":{"position":[[184,4],[984,5],[1015,4]]},"686":{"position":[[166,4],[1035,5],[1066,4]]},"687":{"position":[[280,4],[517,4],[761,4]]},"688":{"position":[[116,4],[767,4]]},"690":{"position":[[110,4],[495,4]]},"691":{"position":[[62,4],[350,4]]},"692":{"position":[[63,4],[352,4]]},"693":{"position":[[85,4],[235,4]]},"694":{"position":[[86,4],[237,4]]},"695":{"position":[[51,4]]},"696":{"position":[[66,4],[205,4]]},"697":{"position":[[81,4]]},"698":{"position":[[49,4]]},"699":{"position":[[72,4],[344,4]]},"700":{"position":[[214,4],[1956,4]]},"701":{"position":[[132,4]]},"702":{"position":[[95,4],[346,4]]},"703":{"position":[[86,4],[369,4]]},"705":{"position":[[59,4]]},"706":{"position":[[73,4],[187,4]]},"709":{"position":[[111,4],[246,4]]},"710":{"position":[[62,4]]},"711":{"position":[[58,4],[415,4]]},"712":{"position":[[63,4],[205,4]]},"713":{"position":[[92,4],[392,4]]},"714":{"position":[[91,4],[388,4]]},"715":{"position":[[291,4]]},"716":{"position":[[105,4],[632,4]]},"717":{"position":[[161,4],[469,4]]},"718":{"position":[[168,4],[591,5],[766,4]]},"720":{"position":[[28,4],[361,4]]},"721":{"position":[[31,4],[161,4]]},"722":{"position":[[59,4]]},"723":{"position":[[104,4],[227,4]]},"724":{"position":[[285,4]]},"725":{"position":[[89,4],[374,4]]},"726":{"position":[[88,4],[370,4]]},"727":{"position":[[151,4],[447,4]]},"728":{"position":[[165,4],[595,5],[770,4]]},"729":{"position":[[135,5]]},"730":{"position":[[21,4],[194,4]]},"731":{"position":[[36,4],[166,4]]},"732":{"position":[[34,4],[61,4]]},"733":{"position":[[30,4]]},"734":{"position":[[56,4],[189,4]]},"736":{"position":[[385,4]]},"737":{"position":[[308,4],[374,4],[728,4]]},"739":{"position":[[54,4],[475,4]]},"740":{"position":[[35,4],[254,4]]},"741":{"position":[[27,4]]},"742":{"position":[[47,4],[267,4]]},"743":{"position":[[69,4]]},"744":{"position":[[307,4]]},"745":{"position":[[160,4],[454,4]]},"746":{"position":[[229,4],[914,4]]},"748":{"position":[[52,4],[245,4]]},"749":{"position":[[72,4]]},"750":{"position":[[136,4],[278,4]]},"751":{"position":[[135,4]]},"752":{"position":[[496,4]]},"754":{"position":[[491,4],[790,4],[948,4],[1051,4]]},"756":{"position":[[87,4]]},"757":{"position":[[78,4]]},"758":{"position":[[283,4]]},"760":{"position":[[51,4],[171,4]]},"761":{"position":[[43,4],[198,4]]},"762":{"position":[[43,4],[356,4]]},"763":{"position":[[43,4],[373,4]]},"764":{"position":[[76,4]]},"766":{"position":[[105,4]]},"767":{"position":[[66,4]]},"768":{"position":[[60,6],[116,4],[304,4]]},"769":{"position":[[156,4],[338,4]]},"771":{"position":[[97,4]]},"772":{"position":[[68,4],[211,4]]},"773":{"position":[[216,4],[394,4]]},"774":{"position":[[40,4],[289,4]]},"775":{"position":[[42,4],[295,4]]}},"keywords":{}}],["rubygem",{"_index":1607,"title":{},"content":{"83":{"position":[[1689,9]]},"229":{"position":[[1035,8]]},"254":{"position":[[139,7],[1953,7]]},"334":{"position":[[605,7]]}},"keywords":{}}],["rubygems_url",{"_index":1611,"title":{},"content":{"83":{"position":[[1783,13]]},"766":{"position":[[322,15]]},"767":{"position":[[1105,15],[1130,15]]},"768":{"position":[[408,15],[592,16]]}},"keywords":{}}],["rubygems_url=https://rubygems.org",{"_index":1617,"title":{},"content":{"83":{"position":[[1893,33]]}},"keywords":{}}],["rule",{"_index":3233,"title":{},"content":{"329":{"position":[[185,5],[989,4]]},"352":{"position":[[173,5]]},"355":{"position":[[345,4]]},"356":{"position":[[550,4]]},"510":{"position":[[92,6]]}},"keywords":{}}],["rule_fil",{"_index":3412,"title":{},"content":{"352":{"position":[[436,11]]}},"keywords":{}}],["run",{"_index":225,"title":{"84":{"position":[[0,7]]},"85":{"position":[[0,7]]},"292":{"position":[[0,4]]},"319":{"position":[[10,3]]},"337":{"position":[[22,7]]},"347":{"position":[[7,7]]},"451":{"position":[[0,7]]},"607":{"position":[[0,7]]},"609":{"position":[[0,7]]}},"content":{"6":{"position":[[650,5]]},"11":{"position":[[208,4]]},"20":{"position":[[269,4]]},"23":{"position":[[346,3]]},"27":{"position":[[211,3],[640,3],[766,3]]},"28":{"position":[[90,3]]},"36":{"position":[[4582,4],[4665,4],[4727,3],[8574,4],[8657,4],[8719,3]]},"44":{"position":[[26,3],[163,3],[332,3],[431,7],[1986,4],[2620,3],[3295,7]]},"46":{"position":[[103,3],[173,3],[272,7],[530,7],[729,7],[926,3],[995,3],[1621,7]]},"54":{"position":[[3402,3],[3475,4]]},"69":{"position":[[3166,3],[3642,3]]},"73":{"position":[[350,4]]},"74":{"position":[[365,4]]},"83":{"position":[[394,3],[2002,7],[2018,7],[2197,3],[2263,7],[3114,8]]},"84":{"position":[[36,7],[361,7],[557,3],[565,3]]},"85":{"position":[[154,3],[537,3],[616,3],[877,3]]},"103":{"position":[[131,3],[208,3],[397,3]]},"104":{"position":[[35,3]]},"105":{"position":[[42,3],[225,3]]},"112":{"position":[[432,3]]},"117":{"position":[[144,7]]},"118":{"position":[[30,7],[56,4]]},"121":{"position":[[667,3]]},"138":{"position":[[65,3],[213,4],[284,3],[432,4]]},"140":{"position":[[43,3],[94,3],[185,3]]},"141":{"position":[[60,3]]},"165":{"position":[[20,3],[107,4]]},"174":{"position":[[49,3],[197,4],[268,3],[416,4]]},"178":{"position":[[28,3],[78,3],[169,3]]},"180":{"position":[[44,3]]},"184":{"position":[[206,7]]},"202":{"position":[[4582,4],[4665,4],[4727,3],[8574,4],[8657,4],[8719,3]]},"227":{"position":[[1873,3],[1992,4]]},"229":{"position":[[1287,7]]},"231":{"position":[[850,3],[938,3]]},"235":{"position":[[427,7]]},"237":{"position":[[69,3]]},"240":{"position":[[128,4],[369,4],[488,4],[921,4]]},"241":{"position":[[54,7],[317,3]]},"245":{"position":[[478,3]]},"253":{"position":[[1715,3],[1744,4],[1845,7],[1874,3],[1915,3],[1936,7],[2391,3]]},"254":{"position":[[2827,3]]},"256":{"position":[[160,3],[403,3],[467,3]]},"257":{"position":[[1035,3]]},"287":{"position":[[174,7]]},"292":{"position":[[342,3],[357,3],[387,3],[570,7],[628,8],[664,3],[724,3],[847,7],[883,7],[939,3],[982,3],[1111,4],[1129,3],[1205,3],[1325,7],[1404,4],[1409,3]]},"299":{"position":[[118,7],[910,3]]},"304":{"position":[[1238,3],[4516,4]]},"315":{"position":[[338,3],[360,3]]},"316":{"position":[[4,3]]},"318":{"position":[[227,3],[401,3],[552,3],[566,3],[575,3]]},"319":{"position":[[123,3]]},"322":{"position":[[392,7],[1103,8],[1812,7]]},"324":{"position":[[70,7],[302,3],[498,7],[3860,3],[3883,3],[3922,7]]},"325":{"position":[[728,3],[761,3]]},"328":{"position":[[696,3],[737,3],[768,3]]},"331":{"position":[[158,4]]},"332":{"position":[[239,3],[328,7]]},"337":{"position":[[187,7],[285,3]]},"338":{"position":[[13,3],[403,7],[2073,7]]},"339":{"position":[[128,4],[360,4]]},"341":{"position":[[252,7]]},"345":{"position":[[100,3],[241,7],[359,7]]},"347":{"position":[[71,4],[98,4],[129,3],[178,8],[2563,3],[2701,7]]},"350":{"position":[[1318,3]]},"351":{"position":[[529,3]]},"352":{"position":[[168,4]]},"355":{"position":[[12,3]]},"356":{"position":[[429,7]]},"357":{"position":[[668,3],[918,7],[1018,3],[2509,3],[3562,7],[3637,3]]},"429":{"position":[[1837,4],[2064,4]]},"448":{"position":[[4,3],[119,3],[196,3]]},"449":{"position":[[341,7]]},"476":{"position":[[3871,3]]},"482":{"position":[[36,3],[638,7],[1235,7]]},"483":{"position":[[373,7]]},"488":{"position":[[545,4],[2219,7],[2540,7]]},"490":{"position":[[464,7]]},"492":{"position":[[703,3]]},"493":{"position":[[233,3]]},"496":{"position":[[84,3],[979,7]]},"502":{"position":[[746,7]]},"505":{"position":[[544,4],[709,7],[862,4],[1023,3]]},"514":{"position":[[102,7],[642,3],[908,7],[1108,4],[1152,3],[1263,3],[1365,4],[1523,3]]},"527":{"position":[[87,3],[108,3]]},"528":{"position":[[272,3],[1039,4],[1461,3],[1624,3]]},"584":{"position":[[403,3]]},"603":{"position":[[294,3]]},"606":{"position":[[359,7],[414,7]]},"607":{"position":[[1,7]]},"608":{"position":[[219,3],[380,4]]},"610":{"position":[[46,3],[210,4],[945,4]]},"611":{"position":[[814,3],[914,3],[983,3]]},"612":{"position":[[76,7]]},"617":{"position":[[82,7],[850,8]]},"640":{"position":[[35,7]]},"641":{"position":[[35,7]]},"642":{"position":[[35,7]]},"643":{"position":[[35,7]]},"729":{"position":[[261,4]]},"737":{"position":[[112,3]]},"753":{"position":[[114,7]]},"757":{"position":[[26,3],[58,3]]},"758":{"position":[[232,7]]}},"keywords":{}}],["run_count",{"_index":5406,"title":{},"content":{"732":{"position":[[104,12],[196,13]]},"733":{"position":[[83,13]]}},"keywords":{}}],["run_method",{"_index":4396,"title":{},"content":{"502":{"position":[[535,12],[854,12]]}},"keywords":{}}],["run_mod",{"_index":5499,"title":{"757":{"position":[[0,9]]}},"content":{"757":{"position":[[111,10]]}},"keywords":{}}],["run_opts=$(<<<"$run_opts"",{"_index":1105,"title":{},"content":{"44":{"position":[[2865,44]]}},"keywords":{}}],["run_opts=$(cat",{"_index":1096,"title":{},"content":{"44":{"position":[[2633,14]]}},"keywords":{}}],["runner",{"_index":353,"title":{"44":{"position":[[6,6]]},"304":{"position":[[7,7]]},"482":{"position":[[7,7]]},"602":{"position":[[7,6]]},"604":{"position":[[7,6]]},"617":{"position":[[13,7]]},"619":{"position":[[7,6]]},"747":{"position":[[7,6]]},"753":{"position":[[7,6]]},"755":{"position":[[7,6]]}},"content":{"13":{"position":[[263,6]]},"36":{"position":[[2011,6]]},"44":{"position":[[3191,6]]},"83":{"position":[[1056,6],[2168,6],[2524,6],[2624,6]]},"84":{"position":[[1137,6]]},"85":{"position":[[62,6],[662,6]]},"202":{"position":[[2011,6]]},"210":{"position":[[131,6]]},"240":{"position":[[1085,6]]},"251":{"position":[[27,6]]},"278":{"position":[[200,6]]},"283":{"position":[[346,7],[431,7]]},"304":{"position":[[8,6],[560,6],[752,6],[1346,6],[1422,6],[1685,6],[1864,6],[2083,6],[2177,6],[2317,6],[2448,6],[2545,6],[2727,6],[2835,6],[3006,6],[3125,6],[3295,6],[3515,6],[3655,6],[3802,6],[3966,6],[4064,6],[4163,6],[4277,6],[4549,6],[4661,6],[4823,6],[4970,6],[5083,6],[5196,6],[5307,6],[5473,6],[5639,6],[5778,6],[5924,6],[6091,6],[6239,6],[6369,6],[6531,6],[6744,6]]},"332":{"position":[[180,6],[741,6]]},"345":{"position":[[268,6],[333,6],[483,6]]},"352":{"position":[[924,6],[1029,6]]},"357":{"position":[[1481,6],[2971,6]]},"429":{"position":[[1438,6]]},"474":{"position":[[369,6]]},"476":{"position":[[3788,6]]},"482":{"position":[[83,6],[324,6],[567,6],[1217,6]]},"488":{"position":[[585,6],[1546,6]]},"490":{"position":[[8,6],[823,6]]},"491":{"position":[[60,6]]},"492":{"position":[[40,6]]},"493":{"position":[[8,6]]},"497":{"position":[[15,6],[284,6]]},"505":{"position":[[256,6]]},"584":{"position":[[493,6]]},"603":{"position":[[8,6],[138,6],[256,6]]},"608":{"position":[[140,6],[485,6]]},"609":{"position":[[69,6]]},"617":{"position":[[8,6],[140,6]]},"619":{"position":[[57,6]]},"620":{"position":[[262,6],[295,6]]},"621":{"position":[[382,6],[1172,6],[1239,6],[2876,6],[2915,6],[3346,6],[3514,6],[3671,6],[3744,6],[3827,6],[3864,6],[3917,6],[3977,6],[4816,6],[5073,6],[5140,6],[5217,6],[5304,6]]},"669":{"position":[[248,6]]},"747":{"position":[[56,6]]},"748":{"position":[[43,7],[160,6]]},"749":{"position":[[44,6]]},"750":{"position":[[72,6]]},"751":{"position":[[71,6]]},"753":{"position":[[17,6]]},"769":{"position":[[114,7]]}},"keywords":{}}],["runningscript.manu",{"_index":4348,"title":{},"content":{"496":{"position":[[437,20],[782,21],[882,21]]},"612":{"position":[[1026,20]]}},"keywords":{}}],["runscript",{"_index":3914,"title":{},"content":{"429":{"position":[[1303,11],[1323,11]]}},"keywords":{}}],["runscript("inst/procedures/checks.rb"",{"_index":3920,"title":{},"content":{"429":{"position":[[1850,50]]}},"keywords":{}}],["runscript('inst/procedures/script.rb",{"_index":3916,"title":{},"content":{"429":{"position":[[1513,38]]}},"keywords":{}}],["runtim",{"_index":936,"title":{},"content":{"42":{"position":[[788,8]]},"43":{"position":[[6529,8]]},"80":{"position":[[124,8]]},"122":{"position":[[151,7]]},"237":{"position":[[350,7]]},"240":{"position":[[583,7]]},"242":{"position":[[105,8]]}},"keywords":{}}],["runtimeerror(f"us",{"_index":4341,"title":{},"content":{"495":{"position":[[834,24]]}},"keywords":{}}],["rx_byte",{"_index":5309,"title":{},"content":{"715":{"position":[[460,9],[1019,9]]},"724":{"position":[[442,9],[960,9]]}},"keywords":{}}],["rx_bytes}"",{"_index":5314,"title":{},"content":{"715":{"position":[[744,17]]},"724":{"position":[[720,17]]}},"keywords":{}}],["rx_q_size",{"_index":5307,"title":{},"content":{"715":{"position":[[439,10],[682,13],[998,10]]},"724":{"position":[[421,10],[658,13],[939,10]]}},"keywords":{}}],["ryan",{"_index":3577,"title":{},"content":{"357":{"position":[[4109,4]]}},"keywords":{}}],["s",{"_index":1690,"title":{},"content":{"85":{"position":[[1339,1],[1370,1]]},"208":{"position":[[473,1]]},"225":{"position":[[524,1]]},"324":{"position":[[1921,1]]},"476":{"position":[[1387,1]]}},"keywords":{}}],["s3",{"_index":2442,"title":{},"content":{"240":{"position":[[1335,2]]},"250":{"position":[[30,2],[282,3]]},"516":{"position":[[297,2]]},"517":{"position":[[862,2]]}},"keywords":{}}],["s98ahprarwszc0mmhd5b_wixusmvw4xyw8eavfue4zfw",{"_index":1002,"title":{},"content":{"43":{"position":[[4406,44]]}},"keywords":{}}],["saa",{"_index":1900,"title":{},"content":{"109":{"position":[[51,4]]}},"keywords":{}}],["safari/537.36",{"_index":1063,"title":{},"content":{"44":{"position":[[1213,13]]}},"keywords":{}}],["safe",{"_index":2384,"title":{},"content":{"233":{"position":[[417,4]]},"336":{"position":[[191,6]]},"495":{"position":[[423,4]]}},"keywords":{}}],["safe_limits_response.rb",{"_index":2386,"title":{},"content":{"233":{"position":[[584,23],[1399,23]]}},"keywords":{}}],["safeguard",{"_index":4071,"title":{},"content":{"459":{"position":[[1696,9]]}},"keywords":{}}],["safest",{"_index":4108,"title":{},"content":{"464":{"position":[[613,6]]}},"keywords":{}}],["safeti",{"_index":735,"title":{},"content":{"36":{"position":[[3827,6]]},"202":{"position":[[3827,6]]},"231":{"position":[[980,6]]},"267":{"position":[[9686,6],[10073,6]]},"467":{"position":[[1460,6]]}},"keywords":{}}],["sale",{"_index":4118,"title":{},"content":{"465":{"position":[[738,5]]}},"keywords":{}}],["sales@openc3.com",{"_index":3683,"title":{},"content":{"363":{"position":[[1025,16],[1436,16]]}},"keywords":{}}],["same",{"_index":309,"title":{},"content":{"9":{"position":[[868,4]]},"17":{"position":[[63,4],[162,4]]},"18":{"position":[[66,4],[166,4]]},"31":{"position":[[551,4]]},"46":{"position":[[1168,4]]},"49":{"position":[[336,4],[459,4]]},"50":{"position":[[324,4],[397,4]]},"58":{"position":[[284,4],[388,4]]},"61":{"position":[[731,4],[780,4],[797,4]]},"63":{"position":[[428,4]]},"69":{"position":[[3274,4],[4567,4]]},"79":{"position":[[423,4]]},"83":{"position":[[568,4]]},"93":{"position":[[218,4],[302,5],[384,4]]},"95":{"position":[[105,4]]},"121":{"position":[[407,4]]},"144":{"position":[[142,4],[222,4]]},"168":{"position":[[180,4]]},"257":{"position":[[318,4]]},"260":{"position":[[367,4]]},"267":{"position":[[8855,4]]},"329":{"position":[[592,4]]},"331":{"position":[[643,4]]},"338":{"position":[[2088,4]]},"359":{"position":[[755,4]]},"362":{"position":[[71,4]]},"479":{"position":[[78,4]]},"483":{"position":[[61,4],[122,4]]},"498":{"position":[[53,4]]},"508":{"position":[[115,4]]},"533":{"position":[[751,4]]},"601":{"position":[[402,4]]},"611":{"position":[[712,4]]},"618":{"position":[[658,4],[1008,4],[1125,4],[1315,4]]},"663":{"position":[[173,4]]},"752":{"position":[[293,4]]},"765":{"position":[[126,4]]}},"keywords":{}}],["sameorigin",{"_index":981,"title":{},"content":{"43":{"position":[[1212,10]]}},"keywords":{}}],["sampl",{"_index":2288,"title":{"499":{"position":[[22,6]]}},"content":{"227":{"position":[[3315,7]]},"246":{"position":[[307,6]]},"352":{"position":[[148,7]]},"478":{"position":[[422,7]]},"499":{"position":[[256,6]]},"700":{"position":[[1659,7]]}},"keywords":{}}],["sat",{"_index":939,"title":{},"content":{"42":{"position":[[812,4]]}},"keywords":{}}],["satellit",{"_index":27,"title":{},"content":{"1":{"position":[[282,11]]},"114":{"position":[[226,10]]},"357":{"position":[[4161,10]]},"424":{"position":[[442,9]]}},"keywords":{}}],["satur",{"_index":841,"title":{},"content":{"36":{"position":[[9963,10],[10414,8]]},"202":{"position":[[9963,10],[10414,8]]}},"keywords":{}}],["save",{"_index":849,"title":{},"content":{"36":{"position":[[10603,5]]},"44":{"position":[[1810,5]]},"83":{"position":[[2329,4]]},"290":{"position":[[353,4],[391,4],[841,4]]},"302":{"position":[[696,6],[722,4]]},"304":{"position":[[1535,5],[1545,4]]},"306":{"position":[[520,6]]},"307":{"position":[[731,6],[784,6],[1026,6],[1052,4],[1169,5]]},"308":{"position":[[651,6]]},"332":{"position":[[397,4],[456,5]]},"362":{"position":[[13,4]]},"418":{"position":[[1729,4],[1829,4]]},"419":{"position":[[1782,4],[1882,4]]},"420":{"position":[[1754,4],[1854,4]]},"517":{"position":[[435,4]]},"528":{"position":[[1304,5]]},"552":{"position":[[11,5],[240,5],[416,4],[441,4],[495,5],[620,5]]},"563":{"position":[[11,5],[178,5],[354,4],[379,4],[433,5],[558,5]]},"566":{"position":[[312,4],[345,4]]},"570":{"position":[[48,5]]},"577":{"position":[[77,5],[1009,5],[1185,4],[1210,4],[1264,5],[1389,5]]},"578":{"position":[[601,4]]},"589":{"position":[[10,5],[177,5],[353,4],[378,4],[432,5],[557,5]]},"592":{"position":[[324,4],[332,4]]},"596":{"position":[[207,5]]},"598":{"position":[[10,5],[196,5],[372,4],[397,4],[451,5],[576,5]]},"599":{"position":[[420,5]]},"603":{"position":[[175,5]]},"605":{"position":[[545,4],[560,6],[608,4],[626,4]]},"617":{"position":[[267,4]]},"745":{"position":[[88,5]]},"746":{"position":[[102,5]]},"770":{"position":[[48,4],[120,4]]},"772":{"position":[[14,5]]},"774":{"position":[[1,4],[251,4]]}},"keywords":{}}],["save_config",{"_index":5591,"title":{"774":{"position":[[0,12]]}},"content":{},"keywords":{}}],["save_config(<tool",{"_index":5592,"title":{},"content":{"774":{"position":[[63,20]]}},"keywords":{}}],["save_config('telemetry_graph",{"_index":5594,"title":{},"content":{"774":{"position":[[313,32]]}},"keywords":{}}],["save_file_dialog",{"_index":4697,"title":{},"content":{"621":{"position":[[3490,16]]},"632":{"position":[[197,16],[249,16]]}},"keywords":{}}],["save_set",{"_index":4698,"title":{},"content":{"621":{"position":[[3532,12]]}},"keywords":{}}],["scaffold",{"_index":2317,"title":{},"content":{"229":{"position":[[34,11]]},"230":{"position":[[34,11]]},"231":{"position":[[40,11]]},"232":{"position":[[38,11]]},"233":{"position":[[43,11]]},"234":{"position":[[38,11]]},"235":{"position":[[32,11]]}},"keywords":{}}],["scale",{"_index":830,"title":{},"content":{"36":{"position":[[9325,5],[9512,5]]},"202":{"position":[[9325,5],[9512,5]]},"243":{"position":[[109,8]]},"249":{"position":[[558,7]]},"267":{"position":[[7608,5],[7773,5]]},"356":{"position":[[371,8]]},"357":{"position":[[4029,7],[4142,6]]},"405":{"position":[[189,5]]},"419":{"position":[[40,5]]},"422":{"position":[[193,5]]},"512":{"position":[[102,6]]},"599":{"position":[[1151,6],[1214,5],[1366,7]]}},"keywords":{}}],["scenario",{"_index":2891,"title":{"494":{"position":[[7,10]]}},"content":{"304":{"position":[[1036,10]]},"482":{"position":[[876,8]]}},"keywords":{}}],["scene",{"_index":2248,"title":{},"content":{"227":{"position":[[109,6]]},"488":{"position":[[108,6]]}},"keywords":{}}],["schedul",{"_index":2969,"title":{},"content":{"310":{"position":[[68,9],[252,10],[348,10]]},"527":{"position":[[1,9],[242,9]]},"528":{"position":[[159,9],[189,9],[294,9],[330,8],[626,8],[881,8],[922,8],[973,8],[1162,9]]},"540":{"position":[[482,9]]}},"keywords":{}}],["scheme",{"_index":500,"title":{},"content":{"22":{"position":[[432,7]]},"352":{"position":[[1114,7]]}},"keywords":{}}],["scientif",{"_index":4062,"title":{},"content":{"459":{"position":[[720,10],[1513,10]]}},"keywords":{}}],["scope",{"_index":1708,"title":{},"content":{"88":{"position":[[355,5]]},"142":{"position":[[188,7]]},"182":{"position":[[188,7]]},"227":{"position":[[1307,6],[1721,5],[2649,6],[3652,6]]},"301":{"position":[[104,6]]},"322":{"position":[[446,5]]},"517":{"position":[[131,6],[174,5]]},"540":{"position":[[197,5],[591,5]]}},"keywords":{}}],["scope__telemetry__targetname__packetnam",{"_index":2312,"title":{},"content":{"227":{"position":[[6100,41]]}},"keywords":{}}],["scoped>",{"_index":3218,"title":{},"content":{"328":{"position":[[426,10]]}},"keywords":{}}],["scpi",{"_index":1278,"title":{},"content":{"54":{"position":[[593,4]]},"63":{"position":[[92,4],[344,4]]}},"keywords":{}}],["scrape",{"_index":3405,"title":{},"content":{"352":{"position":[[12,7],[140,7]]}},"keywords":{}}],["scrape_config",{"_index":3415,"title":{},"content":{"352":{"position":[[505,15]]}},"keywords":{}}],["scrape_interv",{"_index":3410,"title":{},"content":{"352":{"position":[[390,16]]}},"keywords":{}}],["screen",{"_index":1834,"title":{"221":{"position":[[0,7]]},"365":{"position":[[0,7]]},"367":{"position":[[10,6]]},"369":{"position":[[0,7]]},"590":{"position":[[10,8]]},"591":{"position":[[4,7]]},"592":{"position":[[5,7]]},"593":{"position":[[0,6]]},"594":{"position":[[9,8]]},"738":{"position":[[38,8]]}},"content":{"103":{"position":[[81,7]]},"108":{"position":[[260,6]]},"194":{"position":[[86,8]]},"221":{"position":[[45,6],[145,6],[157,6],[169,6],[202,6]]},"230":{"position":[[2251,7],[2313,6]]},"234":{"position":[[102,8],[590,7]]},"306":{"position":[[171,7],[362,8],[456,7],[542,7],[592,7]]},"328":{"position":[[1553,6],[1597,6],[1755,6]]},"334":{"position":[[1325,7]]},"357":{"position":[[429,7],[940,7]]},"366":{"position":[[77,7],[184,6],[193,6],[310,6],[335,6],[417,7],[537,6]]},"367":{"position":[[11,6],[72,8],[113,6],[194,7],[202,6],[278,7],[338,6]]},"368":{"position":[[18,6],[313,6],[429,6]]},"369":{"position":[[27,6],[39,6],[92,6],[138,6],[176,6],[302,6],[395,6],[448,6],[485,6]]},"384":{"position":[[116,6],[181,7],[480,7]]},"385":{"position":[[60,7],[165,7]]},"386":{"position":[[52,6]]},"387":{"position":[[151,6]]},"391":{"position":[[105,6]]},"395":{"position":[[64,7]]},"396":{"position":[[22,6]]},"397":{"position":[[50,6]]},"398":{"position":[[40,6]]},"400":{"position":[[191,6]]},"424":{"position":[[501,6],[533,6],[713,6],[745,6]]},"425":{"position":[[368,6],[400,6]]},"429":{"position":[[958,7]]},"437":{"position":[[66,8]]},"441":{"position":[[422,6],[698,7],[720,6],[807,6],[831,6]]},"442":{"position":[[1141,6],[1611,7],[1633,6],[1720,6],[1744,6]]},"446":{"position":[[36,6]]},"517":{"position":[[627,6]]},"530":{"position":[[333,7]]},"588":{"position":[[73,8],[82,7]]},"590":{"position":[[89,7],[127,6],[159,6],[178,6]]},"591":{"position":[[14,6],[39,6],[57,7],[121,6],[145,7],[267,6],[348,7],[366,6],[401,6],[447,6]]},"592":{"position":[[50,6],[91,6],[198,6],[271,6],[341,6],[405,7]]},"593":{"position":[[5,7],[103,7],[190,7],[266,7],[460,6],[495,6],[575,6],[643,6],[675,8],[691,6],[788,7]]},"594":{"position":[[45,7],[78,6],[118,8]]},"596":{"position":[[133,6]]},"738":{"position":[[72,7]]},"739":{"position":[[19,6],[265,6],[284,6],[296,6],[398,6],[467,6]]},"740":{"position":[[26,7],[182,6],[201,6],[213,6]]},"741":{"position":[[17,8]]},"742":{"position":[[38,7],[195,6],[214,6],[226,6]]},"743":{"position":[[59,8]]},"744":{"position":[[73,6],[235,6],[254,6],[266,6]]},"745":{"position":[[42,6],[78,6],[330,6],[349,6],[361,6],[423,6],[484,6],[629,6],[756,6],[901,6]]},"746":{"position":[[47,6],[132,6],[172,7],[417,6],[479,6],[571,6],[640,6],[759,6],[874,7],[944,6],[1091,6],[1227,6],[1391,6]]}},"keywords":{}}],["screen"",{"_index":5446,"title":{},"content":{"745":{"position":[[536,12],[808,12]]},"746":{"position":[[998,12],[1281,12]]}},"keywords":{}}],["screen.getnamedwidget("check").check",{"_index":3934,"title":{},"content":{"430":{"position":[[291,51]]}},"keywords":{}}],["screen.getnamedwidget("collect_type").text",{"_index":3938,"title":{},"content":{"431":{"position":[[344,56]]}},"keywords":{}}],["screen.getnamedwidget("date").text",{"_index":3943,"title":{},"content":{"432":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("duration").text",{"_index":3955,"title":{},"content":{"435":{"position":[[330,52]]}},"keywords":{}}],["screen.getnamedwidget("time").text",{"_index":3957,"title":{},"content":{"436":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("widget_name").text",{"_index":3903,"title":{},"content":{"429":{"position":[[288,53]]}},"keywords":{}}],["screen.getnamedwidget('bg').check",{"_index":3931,"title":{},"content":{"429":{"position":[[2309,39]]}},"keywords":{}}],["screen.getnamedwidget('check').check",{"_index":4002,"title":{},"content":{"446":{"position":[[1041,41]]}},"keywords":{}}],["screen.getnamedwidget('collect_type').text",{"_index":3996,"title":{},"content":{"446":{"position":[[544,49]]}},"keywords":{}}],["screen.getnamedwidget('duration').text())"",{"_index":3997,"title":{},"content":{"446":{"position":[[603,49]]}},"keywords":{}}],["screen_def",{"_index":5445,"title":{},"content":{"745":{"position":[[469,10],[710,11],[741,10],[982,11]]},"746":{"position":[[929,10],[1155,11],[1195,10],[1455,11]]}},"keywords":{}}],["screen_definit",{"_index":5439,"title":{},"content":{"744":{"position":[[331,17]]}},"keywords":{}}],["screenshot",{"_index":4438,"title":{},"content":{"513":{"position":[[727,10]]}},"keywords":{}}],["script",{"_index":352,"title":{"304":{"position":[[0,6]]},"332":{"position":[[8,8]]},"473":{"position":[[0,6]]},"477":{"position":[[0,9]]},"478":{"position":[[14,6]]},"482":{"position":[[0,6]]},"484":{"position":[[0,6]]},"485":{"position":[[16,7]]},"486":{"position":[[9,7]]},"493":{"position":[[14,8]]},"502":{"position":[[7,9],[47,10]]},"507":{"position":[[9,6]]},"602":{"position":[[0,6]]},"604":{"position":[[0,6]]},"606":{"position":[[0,6]]},"607":{"position":[[8,8]]},"608":{"position":[[12,7]]},"609":{"position":[[8,6]]},"612":{"position":[[0,6]]},"613":{"position":[[10,8]]},"614":{"position":[[0,9]]},"617":{"position":[[6,6]]},"619":{"position":[[0,6]]},"747":{"position":[[0,6]]},"753":{"position":[[0,6]]},"755":{"position":[[0,6]]}},"content":{"13":{"position":[[256,6]]},"35":{"position":[[1093,7],[1624,7]]},"36":{"position":[[1966,7],[2004,6]]},"37":{"position":[[886,7],[1417,7]]},"44":{"position":[[45,6],[446,6],[1466,6],[1562,6],[1619,6],[1677,6],[1843,6],[1995,7],[2500,6],[2624,6],[3067,6],[3184,6],[3276,6]]},"46":{"position":[[954,6],[1023,6],[1196,7]]},"83":{"position":[[552,7],[605,8],[648,7],[1049,6],[2161,6],[2517,6],[2617,6]]},"84":{"position":[[1129,7]]},"85":{"position":[[55,6],[655,6]]},"90":{"position":[[339,9],[379,9],[475,9]]},"117":{"position":[[152,8]]},"201":{"position":[[1122,7],[1653,7]]},"202":{"position":[[1966,7],[2004,6]]},"203":{"position":[[905,7],[1436,7]]},"204":{"position":[[1797,7]]},"205":{"position":[[1633,7]]},"210":{"position":[[124,6],[164,8],[231,8]]},"211":{"position":[[98,8]]},"230":{"position":[[1935,9]]},"240":{"position":[[1078,6],[1129,6]]},"243":{"position":[[420,7]]},"251":{"position":[[20,6]]},"259":{"position":[[1446,6]]},"278":{"position":[[193,6],[233,8],[315,8]]},"283":{"position":[[339,6],[424,6]]},"291":{"position":[[348,6]]},"292":{"position":[[103,7]]},"297":{"position":[[810,7]]},"300":{"position":[[71,8],[167,7],[208,8],[297,7],[338,8],[419,7],[858,7],[874,6]]},"304":{"position":[[1,6],[183,8],[199,6],[341,6],[425,7],[553,6],[637,9],[1339,6],[1401,8],[1415,6],[1454,7],[1678,6],[1857,6],[2008,6],[2076,6],[2122,8],[2157,7],[2170,6],[2236,7],[2288,6],[2310,6],[2357,7],[2395,6],[2441,6],[2489,7],[2519,6],[2538,6],[2577,6],[2626,6],[2697,6],[2720,6],[2769,6],[2828,6],[2927,6],[2999,6],[3045,6],[3118,6],[3170,6],[3200,6],[3288,6],[3358,6],[3508,6],[3607,6],[3648,6],[3795,6],[3834,6],[3921,6],[3959,6],[4024,6],[4057,6],[4120,6],[4156,6],[4196,6],[4227,6],[4256,7],[4270,6],[4342,7],[4415,6],[4455,6],[4542,6],[4607,8],[4623,6],[4654,6],[4704,6],[4802,7],[4816,6],[4907,6],[4963,6],[5076,6],[5189,6],[5300,6],[5466,6],[5632,6],[5771,6],[5855,6],[5917,6],[6013,6],[6084,6],[6170,6],[6232,6],[6302,6],[6362,6],[6457,6],[6524,6],[6642,6],[6737,6],[6854,6]]},"310":{"position":[[359,7],[394,6],[643,7],[683,6]]},"328":{"position":[[755,9]]},"332":{"position":[[146,6],[173,6],[248,6],[406,7],[476,6],[578,7],[647,6],[705,7],[734,6]]},"334":{"position":[[1313,7]]},"345":{"position":[[251,6],[261,6],[326,6],[371,7],[476,6],[500,6],[531,6],[578,7]]},"352":{"position":[[917,6],[1022,6]]},"356":{"position":[[422,6]]},"357":{"position":[[1474,6],[2964,6]]},"429":{"position":[[898,9],[1255,7],[1375,7],[1403,6],[1431,6],[2069,7],[2194,6]]},"474":{"position":[[61,9],[104,7],[222,7],[362,6]]},"475":{"position":[[50,8],[92,9]]},"476":{"position":[[111,8],[274,7],[1006,6],[1112,7],[3624,9],[3746,7],[3781,6]]},"478":{"position":[[13,7],[859,7]]},"480":{"position":[[25,7],[182,7],[568,6],[891,8],[938,7],[999,6]]},"482":{"position":[[40,7],[76,6],[106,6],[141,6],[160,6],[308,8],[317,6],[399,9],[494,7],[560,6],[646,8],[674,7],[712,7],[955,7],[979,7],[1052,7],[1142,7],[1210,6],[1295,7],[1490,6]]},"483":{"position":[[212,6],[363,6],[791,6],[1231,6],[1290,6]]},"484":{"position":[[5,7],[77,7],[158,8]]},"485":{"position":[[9,7],[240,6]]},"486":{"position":[[56,7],[159,6]]},"487":{"position":[[457,6],[709,7]]},"488":{"position":[[8,7],[236,6],[578,6],[1539,6],[1658,10],[1973,9],[2067,7],[2719,6]]},"490":{"position":[[1,6],[94,6],[187,6],[290,6],[472,7],[490,6],[816,6]]},"491":{"position":[[53,6],[92,6]]},"492":{"position":[[33,6],[67,7],[168,6],[342,7],[465,7],[756,6]]},"493":{"position":[[1,6],[57,7],[165,6],[260,7]]},"495":{"position":[[74,8],[233,6],[1286,6]]},"496":{"position":[[57,7],[142,7]]},"497":{"position":[[8,6],[37,6],[133,7],[277,6]]},"499":{"position":[[21,8]]},"500":{"position":[[68,8]]},"501":{"position":[[121,6]]},"502":{"position":[[47,9],[324,6],[417,8],[508,9]]},"504":{"position":[[59,8],[365,6],[748,6]]},"505":{"position":[[37,6],[207,6],[249,6],[447,6],[519,6],[583,6],[717,7],[843,6],[948,7],[985,6],[1056,7],[1140,6],[1243,7]]},"507":{"position":[[54,6],[111,6]]},"508":{"position":[[312,9]]},"510":{"position":[[62,7]]},"514":{"position":[[112,7],[648,7],[700,7],[767,6],[836,7],[879,7],[949,6],[984,7]]},"522":{"position":[[153,7]]},"527":{"position":[[114,7]]},"534":{"position":[[508,7]]},"540":{"position":[[333,6],[430,6],[474,7]]},"584":{"position":[[57,6],[429,7],[486,6],[551,7]]},"585":{"position":[[49,7],[136,6],[315,6]]},"586":{"position":[[51,7],[151,6],[334,6]]},"603":{"position":[[1,6],[43,7],[71,8],[80,6],[131,6],[230,7],[249,6],[309,8],[328,8]]},"606":{"position":[[150,6],[209,6],[292,6],[367,8],[422,7],[476,7],[518,7],[550,6]]},"607":{"position":[[19,6],[117,6],[173,7],[209,6],[249,6],[676,6]]},"608":{"position":[[18,6],[133,6],[193,7],[478,6],[538,7]]},"609":{"position":[[6,6],[62,6],[128,6]]},"610":{"position":[[100,9],[199,7],[294,6]]},"611":{"position":[[837,7],[922,7],[971,6],[1003,7]]},"612":{"position":[[11,6],[84,7],[123,6],[206,7],[259,6],[414,6],[497,7],[554,6],[647,7],[764,6],[898,6],[1089,6],[1183,6],[1226,8]]},"613":{"position":[[73,6],[295,7]]},"616":{"position":[[8,9],[95,9],[277,6]]},"617":{"position":[[1,6],[133,6],[320,7],[386,6],[522,6],[612,7],[762,6],[818,7],[836,6],[884,7],[1036,7]]},"618":{"position":[[730,8]]},"619":{"position":[[50,6]]},"620":{"position":[[255,6],[288,6]]},"621":{"position":[[375,6],[1165,6],[1232,6],[2869,6],[2908,6],[3339,6],[3507,6],[3664,6],[3737,6],[3820,6],[3857,6],[3910,6],[3970,6],[4809,6],[5066,6],[5133,6],[5210,6],[5297,6]]},"622":{"position":[[69,7]]},"656":{"position":[[116,6],[237,6],[782,6]]},"657":{"position":[[114,6]]},"658":{"position":[[67,6]]},"659":{"position":[[290,9]]},"669":{"position":[[241,6],[356,8]]},"680":{"position":[[43,6]]},"681":{"position":[[12,6],[303,7],[1093,6]]},"682":{"position":[[12,6],[197,7],[860,6]]},"683":{"position":[[12,6],[108,6],[293,7],[646,6]]},"684":{"position":[[12,6],[97,6],[173,7]]},"685":{"position":[[64,6],[169,6],[708,6]]},"686":{"position":[[12,6],[151,6],[759,6]]},"687":{"position":[[12,6],[108,6],[574,6]]},"688":{"position":[[12,6],[97,6],[504,6]]},"729":{"position":[[183,7],[241,7],[278,7]]},"737":{"position":[[12,6],[511,6]]},"745":{"position":[[65,7]]},"746":{"position":[[70,6],[210,8]]},"747":{"position":[[49,6]]},"748":{"position":[[36,6],[153,6],[208,7]]},"749":{"position":[[37,6]]},"750":{"position":[[65,6]]},"751":{"position":[[64,6]]},"752":{"position":[[354,7],[468,6]]},"753":{"position":[[10,6],[122,6]]},"755":{"position":[[39,7]]},"758":{"position":[[6,9],[240,7]]},"769":{"position":[[107,6]]}},"keywords":{}}],["script=${2",{"_index":1083,"title":{},"content":{"44":{"position":[[2102,11]]}},"keywords":{}}],["script=screen.getnamedwidget('scriptname').text();"",{"_index":3927,"title":{},"content":{"429":{"position":[[2087,56]]}},"keywords":{}}],["script?scope=default"",{"_index":1121,"title":{},"content":{"44":{"position":[[3373,26]]}},"keywords":{}}],["script_",{"_index":5478,"title":{},"content":{"754":{"position":[[147,9],[468,9]]}},"keywords":{}}],["script_1",{"_index":4356,"title":{},"content":{"497":{"position":[[349,8],[651,11]]},"610":{"position":[[466,8]]},"754":{"position":[[1138,8]]}},"keywords":{}}],["script_1(self",{"_index":4600,"title":{},"content":{"610":{"position":[[700,15]]},"754":{"position":[[1678,15]]}},"keywords":{}}],["script_1_heater_zone_control",{"_index":4285,"title":{},"content":{"486":{"position":[[426,28],[658,31]]}},"keywords":{}}],["script_api="$cosmos_host/script",{"_index":1088,"title":{},"content":{"44":{"position":[[2204,36]]}},"keywords":{}}],["script_path",{"_index":1112,"title":{},"content":{"44":{"position":[[3074,14]]}},"keywords":{}}],["script_path="scripts/$target/$script"",{"_index":1090,"title":{},"content":{"44":{"position":[[2251,47]]}},"keywords":{}}],["script_power_on",{"_index":4590,"title":{},"content":{"610":{"position":[[266,17]]}},"keywords":{}}],["script_statu",{"_index":1124,"title":{},"content":{"44":{"position":[[3482,14]]}},"keywords":{}}],["script_status="$(curl",{"_index":1119,"title":{},"content":{"44":{"position":[[3320,26]]}},"keywords":{}}],["scriptnam",{"_index":3922,"title":{},"content":{"429":{"position":[[1975,10]]}},"keywords":{}}],["scriptrunn",{"_index":1654,"title":{},"content":{"84":{"position":[[201,13],[267,12],[292,12],[864,13],[990,14]]},"737":{"position":[[119,12],[263,12]]},"755":{"position":[[52,13]]},"756":{"position":[[8,12]]},"757":{"position":[[8,12]]}},"keywords":{}}],["scripts/procedur",{"_index":2881,"title":{},"content":{"304":{"position":[[69,19]]},"485":{"position":[[171,19]]}},"keywords":{}}],["scripts?scope=default"",{"_index":1130,"title":{},"content":{"44":{"position":[[3606,27]]}},"keywords":{}}],["scriptshow",{"_index":4585,"title":{},"content":{"606":{"position":[[193,11]]}},"keywords":{}}],["scriptsshow",{"_index":4579,"title":{},"content":{"606":{"position":[[32,11]]}},"keywords":{}}],["scroll",{"_index":3790,"title":{},"content":{"391":{"position":[[197,6]]},"490":{"position":[[1108,6]]},"600":{"position":[[326,9]]}},"keywords":{}}],["scrollabl",{"_index":3789,"title":{},"content":{"391":{"position":[[40,10]]}},"keywords":{}}],["scrollwindow",{"_index":3788,"title":{"391":{"position":[[0,13]]}},"content":{"391":{"position":[[61,12],[312,12]]}},"keywords":{}}],["sd",{"_index":3305,"title":{},"content":{"347":{"position":[[312,2],[373,2],[439,2],[549,2],[622,2],[916,2],[1700,2]]}},"keywords":{}}],["se",{"_index":2513,"title":{},"content":{"253":{"position":[[1347,2]]}},"keywords":{}}],["seamless",{"_index":1817,"title":{},"content":{"99":{"position":[[4128,8]]}},"keywords":{}}],["search",{"_index":1340,"title":{},"content":{"59":{"position":[[823,8]]},"60":{"position":[[1221,8]]},"61":{"position":[[2121,8]]},"62":{"position":[[1123,8]]},"63":{"position":[[2307,8]]},"64":{"position":[[403,8]]},"304":{"position":[[1706,6],[1761,6],[1805,7]]},"324":{"position":[[3264,6]]},"461":{"position":[[643,8]]},"517":{"position":[[590,6],[606,8],[667,6]]},"525":{"position":[[250,9]]},"541":{"position":[[182,6],[193,8]]},"542":{"position":[[194,6],[205,8]]},"544":{"position":[[320,6]]},"572":{"position":[[202,6]]},"575":{"position":[[375,9]]},"579":{"position":[[78,6]]},"605":{"position":[[454,6]]},"736":{"position":[[390,6]]},"759":{"position":[[127,8]]}},"keywords":{}}],["sec",{"_index":3099,"title":{},"content":{"321":{"position":[[3165,3]]}},"keywords":{}}],["second",{"_index":292,"title":{},"content":{"8":{"position":[[399,6]]},"9":{"position":[[1004,6]]},"40":{"position":[[716,7]]},"44":{"position":[[680,6]]},"49":{"position":[[558,7],[627,7]]},"50":{"position":[[445,7],[514,7]]},"51":{"position":[[727,7],[800,7]]},"52":{"position":[[637,7],[706,7]]},"63":{"position":[[2573,7],[2663,7]]},"66":{"position":[[202,7],[303,7]]},"93":{"position":[[900,6],[1004,6]]},"94":{"position":[[698,6],[795,6]]},"99":{"position":[[1943,6],[2605,6],[5104,6]]},"130":{"position":[[20,7],[175,7],[254,7],[308,8]]},"147":{"position":[[121,7]]},"149":{"position":[[38,8],[93,7]]},"150":{"position":[[128,7]]},"152":{"position":[[40,8],[95,7]]},"154":{"position":[[123,7]]},"156":{"position":[[40,8],[95,7]]},"157":{"position":[[130,7]]},"159":{"position":[[42,8],[97,7]]},"160":{"position":[[51,8],[106,7]]},"161":{"position":[[49,8],[104,7]]},"162":{"position":[[48,8],[103,7]]},"163":{"position":[[48,8],[103,7]]},"164":{"position":[[48,8],[103,7]]},"165":{"position":[[91,7]]},"208":{"position":[[465,7]]},"225":{"position":[[516,7]]},"253":{"position":[[7865,7]]},"263":{"position":[[902,7],[1142,7]]},"307":{"position":[[871,7]]},"321":{"position":[[3122,7],[3157,7]]},"369":{"position":[[432,7]]},"371":{"position":[[83,7],[386,7]]},"418":{"position":[[1623,7],[1690,7],[1748,7],[1818,7]]},"419":{"position":[[663,7],[1676,7],[1743,7],[1801,7],[1871,7]]},"420":{"position":[[1648,7],[1715,7],[1773,7],[1843,7]]},"501":{"position":[[728,7],[1006,7]]},"514":{"position":[[1081,7]]},"528":{"position":[[1002,6],[1096,7]]},"578":{"position":[[893,6]]},"599":{"position":[[218,7],[302,7],[810,7]]},"601":{"position":[[491,6],[675,6]]},"636":{"position":[[1199,7]]},"637":{"position":[[1421,7]]},"638":{"position":[[1442,7]]},"639":{"position":[[1475,7]]},"640":{"position":[[1275,7]]},"641":{"position":[[1492,7]]},"642":{"position":[[1513,7]]},"643":{"position":[[1546,7]]},"681":{"position":[[532,7],[1084,8],[1238,8]]},"682":{"position":[[851,8],[1005,8]]},"683":{"position":[[637,8],[791,8]]},"684":{"position":[[609,8],[672,8]]},"685":{"position":[[699,8],[850,8]]},"686":{"position":[[750,8],[901,8]]},"687":{"position":[[565,8],[716,8]]},"688":{"position":[[495,8],[644,8]]},"748":{"position":[[219,8]]},"761":{"position":[[178,7]]}},"keywords":{}}],["secondari",{"_index":2218,"title":{},"content":{"226":{"position":[[348,9],[1226,9],[1996,9]]},"285":{"position":[[335,9]]},"321":{"position":[[1576,9],[3093,9]]}},"keywords":{}}],["seconds"",{"_index":2736,"title":{},"content":{"285":{"position":[[1194,13]]}},"keywords":{}}],["secondsgraph",{"_index":3866,"title":{},"content":{"418":{"position":[[1574,15]]},"419":{"position":[[1627,15]]},"420":{"position":[[1599,15]]}},"keywords":{}}],["secret",{"_index":1989,"title":{"136":{"position":[[0,7]]},"181":{"position":[[0,7]]}},"content":{"136":{"position":[[25,6],[69,6],[209,6],[262,6],[287,6],[315,6],[421,6],[474,6],[493,6],[523,6],[590,6],[632,6]]},"181":{"position":[[25,6],[72,6],[169,6],[222,6],[247,6],[275,6],[381,6],[393,6],[423,6],[490,6],[523,6]]},"364":{"position":[[744,6]]}},"keywords":{}}],["section",{"_index":433,"title":{},"content":{"20":{"position":[[657,8]]},"88":{"position":[[285,7]]},"287":{"position":[[15,8]]},"315":{"position":[[175,7]]},"347":{"position":[[2513,7]]},"500":{"position":[[844,8]]},"504":{"position":[[975,7]]},"505":{"position":[[830,7]]},"579":{"position":[[9,7]]},"608":{"position":[[234,7]]},"617":{"position":[[174,9]]},"619":{"position":[[159,7]]}},"keywords":{}}],["secur",{"_index":454,"title":{"464":{"position":[[3,8]]}},"content":{"20":{"position":[[1024,7]]},"23":{"position":[[23,6]]},"24":{"position":[[651,8]]},"27":{"position":[[609,6]]},"43":{"position":[[1117,9]]},"109":{"position":[[77,6]]},"324":{"position":[[372,6]]},"338":{"position":[[1044,9]]},"351":{"position":[[419,9]]},"459":{"position":[[101,8],[1801,8]]},"464":{"position":[[132,8],[309,6],[422,8],[481,6]]},"467":{"position":[[143,6]]},"469":{"position":[[509,6],[567,6]]}},"keywords":{}}],["securefil",{"_index":3332,"title":{},"content":{"347":{"position":[[1167,10]]}},"keywords":{}}],["see",{"_index":279,"title":{},"content":{"7":{"position":[[1177,3]]},"35":{"position":[[1327,3]]},"37":{"position":[[1120,3]]},"44":{"position":[[285,3],[493,3]]},"49":{"position":[[721,3],[758,3],[2665,3],[2723,3]]},"50":{"position":[[608,3],[645,3],[2258,3],[2316,3]]},"51":{"position":[[1133,3],[1191,3]]},"52":{"position":[[800,3],[837,3],[1683,3],[1741,3]]},"54":{"position":[[2645,3],[2857,3],[3331,3]]},"57":{"position":[[562,4]]},"58":{"position":[[553,4]]},"63":{"position":[[1175,3]]},"71":{"position":[[600,4]]},"72":{"position":[[362,4]]},"80":{"position":[[133,3]]},"81":{"position":[[8,3]]},"83":{"position":[[863,3],[2255,3],[3096,3]]},"84":{"position":[[771,3],[1090,3]]},"85":{"position":[[1399,3],[1591,3]]},"95":{"position":[[216,3]]},"99":{"position":[[1175,3]]},"108":{"position":[[703,4]]},"123":{"position":[[874,3]]},"133":{"position":[[819,3]]},"134":{"position":[[354,3]]},"143":{"position":[[664,3]]},"194":{"position":[[339,3]]},"201":{"position":[[1356,3]]},"203":{"position":[[1139,3]]},"204":{"position":[[1500,3]]},"205":{"position":[[1336,3]]},"230":{"position":[[1927,3]]},"234":{"position":[[132,3]]},"235":{"position":[[423,3]]},"253":{"position":[[2422,3],[2635,3],[6513,3],[6662,3],[8112,3]]},"254":{"position":[[694,3],[989,3],[1151,3],[2343,3],[2507,3]]},"257":{"position":[[970,3]]},"266":{"position":[[962,3]]},"267":{"position":[[3422,3],[4788,3],[5481,3],[6604,3]]},"268":{"position":[[754,3]]},"269":{"position":[[1056,3]]},"270":{"position":[[725,3]]},"285":{"position":[[171,4]]},"290":{"position":[[275,3]]},"292":{"position":[[525,3]]},"321":{"position":[[4006,3]]},"322":{"position":[[2111,3],[2176,3]]},"324":{"position":[[992,4],[1282,3]]},"327":{"position":[[161,3]]},"328":{"position":[[1567,3]]},"331":{"position":[[210,3]]},"332":{"position":[[972,3]]},"343":{"position":[[382,3]]},"345":{"position":[[126,3]]},"355":{"position":[[815,3]]},"362":{"position":[[389,3]]},"363":{"position":[[3,3]]},"372":{"position":[[227,3],[274,3]]},"373":{"position":[[712,3],[759,3]]},"383":{"position":[[671,3],[718,3]]},"429":{"position":[[350,3]]},"442":{"position":[[234,3]]},"483":{"position":[[146,4]]},"504":{"position":[[962,3]]},"517":{"position":[[380,4]]},"534":{"position":[[295,4]]},"546":{"position":[[41,3]]},"548":{"position":[[673,3]]},"564":{"position":[[291,3]]},"594":{"position":[[100,3]]},"619":{"position":[[135,3]]},"632":{"position":[[1200,3]]},"644":{"position":[[220,4]]},"667":{"position":[[659,4]]},"687":{"position":[[236,3]]},"753":{"position":[[110,3]]}},"keywords":{}}],["seed",{"_index":1425,"title":{},"content":{"67":{"position":[[869,4],[874,4],[930,4]]}},"keywords":{}}],["seem",{"_index":541,"title":{},"content":{"24":{"position":[[547,4]]},"327":{"position":[[532,4]]}},"keywords":{}}],["seen",{"_index":1801,"title":{},"content":{"99":{"position":[[1440,4],[1632,4]]},"321":{"position":[[3805,4]]}},"keywords":{}}],["seg_poly_read_convers",{"_index":2657,"title":{},"content":{"267":{"position":[[5232,25],[6055,24],[6139,24],[6239,24]]}},"keywords":{}}],["seg_poly_write_convers",{"_index":798,"title":{},"content":{"36":{"position":[[6694,26],[7454,25],[7539,25],[7640,25]]},"202":{"position":[[6694,26],[7454,25],[7539,25],[7640,25]]}},"keywords":{}}],["segment",{"_index":799,"title":{},"content":{"36":{"position":[[6729,9],[7031,9],[7083,7]]},"202":{"position":[[6729,9],[7031,9],[7083,7]]},"267":{"position":[[5266,9],[5632,9],[5684,7]]},"586":{"position":[[819,7]]}},"keywords":{}}],["select",{"_index":855,"title":{"547":{"position":[[0,9]]},"554":{"position":[[0,9]]},"572":{"position":[[0,9]]},"590":{"position":[[0,9]]},"600":{"position":[[0,9]]}},"content":{"38":{"position":[[1,6]]},"208":{"position":[[1,7],[109,6],[347,6]]},"225":{"position":[[1,7],[415,6]]},"254":{"position":[[587,6],[2214,6]]},"273":{"position":[[1,7],[108,6],[337,6]]},"282":{"position":[[1,7],[428,6]]},"300":{"position":[[382,6]]},"301":{"position":[[1459,6]]},"303":{"position":[[142,6],[239,8],[431,9],[486,6],[612,8],[639,8],[751,8],[769,6],[891,6],[947,6]]},"304":{"position":[[1632,6],[3546,8],[3562,6],[3626,8],[3686,8],[3715,6],[3914,6],[4017,6],[4113,6],[4220,6],[4408,6],[4616,6]]},"305":{"position":[[215,9],[279,6],[422,8],[473,8],[657,6],[827,6],[1082,6],[1256,6],[1556,6]]},"306":{"position":[[609,6]]},"307":{"position":[[437,6]]},"308":{"position":[[475,9],[674,6],[760,6],[837,6]]},"309":{"position":[[413,6]]},"322":{"position":[[224,6],[282,9]]},"334":{"position":[[768,6]]},"347":{"position":[[1005,6]]},"400":{"position":[[211,6],[230,9]]},"431":{"position":[[204,9],[266,9]]},"432":{"position":[[184,9]]},"433":{"position":[[81,9],[136,8],[152,7]]},"434":{"position":[[184,9],[352,6]]},"436":{"position":[[184,9]]},"446":{"position":[[770,6]]},"483":{"position":[[1241,8]]},"490":{"position":[[248,6]]},"492":{"position":[[158,9],[205,9],[239,6],[421,8]]},"505":{"position":[[573,9],[804,9],[1086,6]]},"514":{"position":[[288,6],[340,9]]},"518":{"position":[[53,6]]},"530":{"position":[[89,8]]},"533":{"position":[[1,6],[27,9],[57,6],[128,6],[366,6],[382,9]]},"534":{"position":[[395,9]]},"547":{"position":[[128,6]]},"552":{"position":[[266,6]]},"556":{"position":[[60,6],[106,6],[367,6],[620,6]]},"563":{"position":[[204,6]]},"564":{"position":[[154,6]]},"566":{"position":[[138,6]]},"573":{"position":[[28,9]]},"577":{"position":[[1035,6]]},"589":{"position":[[203,6]]},"590":{"position":[[1,9],[29,6],[120,6]]},"591":{"position":[[89,6]]},"598":{"position":[[222,6]]},"600":{"position":[[1,9],[29,6],[104,6],[169,6],[404,9]]},"605":{"position":[[93,6],[751,6]]},"608":{"position":[[64,10],[86,8],[225,8],[311,9],[664,9]]},"627":{"position":[[109,10],[573,9]]},"632":{"position":[[93,6],[132,8],[1627,6],[2023,6]]}},"keywords":{}}],["select(.nam",{"_index":1131,"title":{},"content":{"44":{"position":[[3668,18]]}},"keywords":{}}],["select_command",{"_index":2153,"title":{"225":{"position":[[0,15]]}},"content":{"208":{"position":[[85,14],[393,14]]},"209":{"position":[[321,14],[477,14]]},"225":{"position":[[444,14]]}},"keywords":{}}],["select_item",{"_index":2687,"title":{"273":{"position":[[0,12]]}},"content":{"273":{"position":[[419,11]]},"282":{"position":[[234,11],[493,11]]}},"keywords":{}}],["select_paramet",{"_index":2151,"title":{"208":{"position":[[0,17]]}},"content":{"208":{"position":[[421,16]]},"225":{"position":[[228,16],[472,16]]}},"keywords":{}}],["select_t",{"_index":854,"title":{"38":{"position":[[0,13]]}},"content":{},"keywords":{}}],["select_telemetri",{"_index":2688,"title":{"282":{"position":[[0,17]]}},"content":{"273":{"position":[[82,16],[383,16]]},"274":{"position":[[302,16],[440,16]]},"282":{"position":[[457,16]]}},"keywords":{}}],["selection"",{"_index":4411,"title":{},"content":{"505":{"position":[[881,15]]}},"keywords":{}}],["self",{"_index":390,"title":{},"content":{"20":{"position":[[7,4],[212,4]]},"75":{"position":[[754,4],[1118,5]]}},"keywords":{}}],["self.add_group('examplegroup",{"_index":4612,"title":{},"content":{"611":{"position":[[406,30]]}},"keywords":{}}],["self.add_group(examplegroup",{"_index":5494,"title":{},"content":{"754":{"position":[[1972,28]]}},"keywords":{}}],["self.add_group_setup(wrappergroup",{"_index":5495,"title":{},"content":{"754":{"position":[[2001,34]]}},"keywords":{}}],["self.add_group_teardown(wrappergroup",{"_index":5497,"title":{},"content":{"754":{"position":[[2079,37]]}},"keywords":{}}],["self.add_script(wrappergroup",{"_index":5496,"title":{},"content":{"754":{"position":[[2036,29]]}},"keywords":{}}],["self.allow_empty_data",{"_index":1496,"title":{},"content":{"71":{"position":[[496,21]]},"75":{"position":[[1028,21],[1165,21],[1225,22],[1256,21]]}},"keywords":{}}],["self.cmd_acpt_cnt",{"_index":2205,"title":{},"content":{"224":{"position":[[1263,17]]}},"keywords":{}}],["self.cmd_acpt_cnt}"",{"_index":2209,"title":{},"content":{"224":{"position":[[1438,26]]}},"keywords":{}}],["self.gimbal_step",{"_index":4305,"title":{},"content":{"487":{"position":[[1275,17],[1346,17],[1422,17]]}},"keywords":{}}],["self.interfac",{"_index":1495,"title":{},"content":{"71":{"position":[[474,14]]},"75":{"position":[[1062,14]]}},"keywords":{}}],["self.interface.read_protocol",{"_index":1521,"title":{},"content":{"75":{"position":[[1081,30]]}},"keywords":{}}],["self.multipli",{"_index":781,"title":{},"content":{"36":{"position":[[5975,15]]},"202":{"position":[[5975,15]]},"267":{"position":[[4455,15]]}},"keywords":{}}],["self.reset",{"_index":1498,"title":{},"content":{"71":{"position":[[574,12]]},"73":{"position":[[231,12]]},"74":{"position":[[243,12]]}},"keywords":{}}],["semant",{"_index":2571,"title":{},"content":{"254":{"position":[[300,8]]}},"keywords":{}}],["semicolon",{"_index":3906,"title":{},"content":{"429":{"position":[[623,9],[655,9]]}},"keywords":{}}],["send",{"_index":700,"title":{"93":{"position":[[0,7]]},"533":{"position":[[0,7]]}},"content":{"36":{"position":[[1980,7],[2927,7],[3245,7]]},"49":{"position":[[58,4]]},"51":{"position":[[39,4],[169,4],[246,4],[378,4]]},"58":{"position":[[189,4],[230,7]]},"80":{"position":[[36,4]]},"93":{"position":[[35,4],[129,5],[1317,4],[1367,4],[1532,4]]},"95":{"position":[[96,4],[587,7]]},"114":{"position":[[286,4]]},"115":{"position":[[198,4]]},"117":{"position":[[122,7]]},"143":{"position":[[172,5],[266,4]]},"202":{"position":[[1980,7],[2927,7],[3245,7]]},"211":{"position":[[119,4]]},"214":{"position":[[46,7],[121,7]]},"230":{"position":[[2041,7]]},"253":{"position":[[8210,4]]},"267":{"position":[[2139,7]]},"297":{"position":[[262,4],[508,4]]},"300":{"position":[[482,4]]},"303":{"position":[[43,4],[172,4],[320,4],[328,4],[600,7],[630,4],[672,4],[1046,7],[1212,4],[1278,4],[1370,7],[1460,4],[1931,4],[2066,5],[2145,4]]},"304":{"position":[[2781,5]]},"315":{"position":[[257,7]]},"320":{"position":[[668,5]]},"321":{"position":[[1094,7]]},"322":{"position":[[1207,7],[2021,4]]},"351":{"position":[[140,4]]},"429":{"position":[[130,4],[798,4],[1199,4]]},"430":{"position":[[284,6]]},"434":{"position":[[443,6]]},"446":{"position":[[954,6]]},"461":{"position":[[373,4],[531,4]]},"463":{"position":[[191,4]]},"466":{"position":[[593,4]]},"467":{"position":[[333,4]]},"478":{"position":[[67,7]]},"481":{"position":[[316,5]]},"514":{"position":[[81,7],[626,4]]},"530":{"position":[[40,4]]},"533":{"position":[[438,7]]},"534":{"position":[[1,7],[60,4],[414,4]]},"540":{"position":[[404,4]]},"585":{"position":[[775,4]]},"635":{"position":[[37,4]]},"636":{"position":[[1,5]]},"637":{"position":[[1,5],[143,4]]},"638":{"position":[[1,5]]},"639":{"position":[[1,5]]},"640":{"position":[[1,5]]},"641":{"position":[[1,5],[166,4]]},"642":{"position":[[1,5]]},"643":{"position":[[1,5]]},"645":{"position":[[1,5],[167,4],[221,5]]},"717":{"position":[[1,4],[404,4],[446,4]]},"718":{"position":[[1,4],[420,4],[462,4],[516,4]]},"727":{"position":[[1,4],[382,4],[424,4]]},"728":{"position":[[1,4],[424,4],[466,4],[520,4]]}},"keywords":{}}],["send_raw",{"_index":4878,"title":{"645":{"position":[[0,9]]}},"content":{},"keywords":{}}],["send_raw(<interfac",{"_index":4879,"title":{},"content":{"645":{"position":[[57,22]]}},"keywords":{}}],["send_raw("inst_int"",{"_index":4882,"title":{},"content":{"645":{"position":[[252,30]]}},"keywords":{}}],["sender",{"_index":347,"title":{"303":{"position":[[8,7]]},"529":{"position":[[8,6]]},"531":{"position":[[8,6]]}},"content":{"13":{"position":[[155,6]]},"36":{"position":[[2177,6]]},"202":{"position":[[2177,6]]},"210":{"position":[[58,6]]},"254":{"position":[[1108,6],[2485,6]]},"303":{"position":[[9,6],[412,6],[581,6],[699,6],[855,6],[1027,6],[1189,6],[1349,6],[1521,6],[1685,6],[1852,6],[2087,6],[2231,6]]},"530":{"position":[[9,6]]},"541":{"position":[[337,6],[367,6]]}},"keywords":{}}],["senderopen",{"_index":1766,"title":{},"content":{"95":{"position":[[313,10]]}},"keywords":{}}],["sens",{"_index":1473,"title":{},"content":{"69":{"position":[[3697,5]]},"253":{"position":[[4600,5]]},"340":{"position":[[116,5]]},"485":{"position":[[58,5]]},"504":{"position":[[729,6]]},"632":{"position":[[384,5]]}},"keywords":{}}],["sensit",{"_index":4106,"title":{},"content":{"464":{"position":[[255,9],[572,9]]}},"keywords":{}}],["sensor",{"_index":4750,"title":{},"content":{"627":{"position":[[636,6],[717,6],[787,6],[849,7],[878,7],[951,6],[1032,6],[1102,6]]}},"keywords":{}}],["sent",{"_index":174,"title":{},"content":{"5":{"position":[[872,4]]},"35":{"position":[[1283,4],[1814,4]]},"36":{"position":[[4451,5],[6294,5],[6925,5],[7989,5]]},"37":{"position":[[1076,4],[1607,4]]},"58":{"position":[[351,4],[454,4],[510,5]]},"63":{"position":[[902,4]]},"68":{"position":[[60,4]]},"78":{"position":[[188,5]]},"93":{"position":[[344,5],[425,5]]},"95":{"position":[[251,4]]},"133":{"position":[[63,4]]},"134":{"position":[[223,4]]},"198":{"position":[[65,4]]},"199":{"position":[[342,4]]},"201":{"position":[[1312,4],[1843,4]]},"202":{"position":[[4451,5],[6294,5],[6925,5],[7989,5]]},"203":{"position":[[1095,4],[1626,4]]},"204":{"position":[[1456,4],[1987,4]]},"205":{"position":[[1292,4],[1823,4]]},"206":{"position":[[843,4]]},"207":{"position":[[626,4]]},"210":{"position":[[223,4]]},"211":{"position":[[34,4],[90,4]]},"227":{"position":[[5326,4]]},"230":{"position":[[817,4]]},"271":{"position":[[836,4]]},"272":{"position":[[628,4]]},"299":{"position":[[397,4]]},"303":{"position":[[2010,5],[2139,5]]},"304":{"position":[[2753,5]]},"336":{"position":[[198,4]]},"344":{"position":[[271,4]]},"533":{"position":[[813,4]]},"546":{"position":[[62,4],[138,4]]},"547":{"position":[[114,5]]},"617":{"position":[[1264,5]]},"652":{"position":[[46,4]]},"653":{"position":[[45,5],[538,4],[665,4]]},"654":{"position":[[58,5],[447,4]]},"724":{"position":[[278,5],[789,5],[1324,5]]},"758":{"position":[[75,4]]}},"keywords":{}}],["separ",{"_index":564,"title":{},"content":{"26":{"position":[[183,10]]},"56":{"position":[[199,10]]},"120":{"position":[[327,9]]},"225":{"position":[[69,8]]},"227":{"position":[[2823,9],[3832,9]]},"257":{"position":[[406,10]]},"282":{"position":[[71,8]]},"284":{"position":[[117,8]]},"397":{"position":[[79,9]]},"401":{"position":[[51,9]]},"402":{"position":[[51,9]]},"429":{"position":[[594,8],[706,11],[772,9]]},"550":{"position":[[71,9]]},"752":{"position":[[224,8]]}},"keywords":{}}],["sequenc",{"_index":348,"title":{},"content":{"13":{"position":[[174,8]]},"58":{"position":[[46,8],[323,8],[426,8]]},"98":{"position":[[54,8]]},"226":{"position":[[535,8],[626,8],[1413,8],[1504,8],[2183,8],[2274,8]]},"285":{"position":[[504,8],[628,8]]},"321":{"position":[[538,8],[1394,8],[1926,8],[2426,8],[2942,8]]}},"keywords":{}}],["sequence"",{"_index":3098,"title":{},"content":{"321":{"position":[[2972,14]]}},"keywords":{}}],["seri",{"_index":3407,"title":{},"content":{"352":{"position":[[234,6]]},"366":{"position":[[444,6]]},"367":{"position":[[142,6]]},"474":{"position":[[135,6]]},"482":{"position":[[1102,6]]}},"keywords":{}}],["serial",{"_index":1194,"title":{"52":{"position":[[0,6]]},"341":{"position":[[8,6]]}},"content":{"48":{"position":[[88,7]]},"52":{"position":[[5,6],[50,6],[150,6],[260,6],[373,6],[512,6]]},"53":{"position":[[252,6]]},"58":{"position":[[5,6],[96,6]]},"115":{"position":[[173,6]]},"135":{"position":[[438,6]]},"297":{"position":[[624,6]]},"298":{"position":[[1172,6]]},"338":{"position":[[442,6],[496,6],[1947,6]]},"340":{"position":[[1,6]]},"341":{"position":[[1,6],[209,6]]},"507":{"position":[[223,6]]}},"keywords":{}}],["serial_int",{"_index":1985,"title":{},"content":{"135":{"position":[[677,10],[865,10]]},"338":{"position":[[1163,10],[1574,10]]}},"keywords":{}}],["serial_interfac",{"_index":1944,"title":{},"content":{"123":{"position":[[808,16]]},"143":{"position":[[598,16]]}},"keywords":{}}],["serial_interface.rb",{"_index":1254,"title":{},"content":{"52":{"position":[[953,19],[1069,19],[1176,19],[1272,19],[1394,19],[1490,19],[1604,19]]},"135":{"position":[[688,19]]},"338":{"position":[[1174,19],[1800,19]]}},"keywords":{}}],["serial_rout",{"_index":1986,"title":{},"content":{"135":{"position":[[794,13]]},"338":{"position":[[1463,13]]}},"keywords":{}}],["serialhost",{"_index":3275,"title":{},"content":{"340":{"position":[[35,11]]}},"keywords":{}}],["serialinterfac",{"_index":1263,"title":{},"content":{"52":{"position":[[1845,15]]},"135":{"position":[[314,15]]}},"keywords":{}}],["serialstream",{"_index":1267,"title":{},"content":{"53":{"position":[[150,13]]}},"keywords":{}}],["serv",{"_index":1314,"title":{},"content":{"57":{"position":[[305,5]]},"84":{"position":[[153,5],[312,5],[966,5]]},"235":{"position":[[1007,5],[1492,5]]},"240":{"position":[[1172,6],[1243,6],[1377,6]]},"250":{"position":[[370,5]]},"467":{"position":[[1259,6]]},"517":{"position":[[765,5]]}},"keywords":{}}],["server",{"_index":434,"title":{"50":{"position":[[6,6]]},"85":{"position":[[18,7]]},"301":{"position":[[22,7]]},"535":{"position":[[22,6]]},"537":{"position":[[22,6]]}},"content":{"20":{"position":[[706,6]]},"24":{"position":[[315,6]]},"27":{"position":[[50,6]]},"44":{"position":[[87,7]]},"48":{"position":[[71,7]]},"50":{"position":[[11,6],[44,6],[236,7]]},"53":{"position":[[277,6]]},"83":{"position":[[1710,6],[2185,8]]},"85":{"position":[[81,7],[1557,6]]},"87":{"position":[[100,7],[148,6]]},"89":{"position":[[34,6],[94,6]]},"109":{"position":[[119,6]]},"123":{"position":[[474,6]]},"128":{"position":[[1,6]]},"129":{"position":[[1,6]]},"130":{"position":[[66,6]]},"131":{"position":[[60,6]]},"212":{"position":[[13,6]]},"240":{"position":[[655,8],[1007,6],[1104,6],[1655,6]]},"253":{"position":[[607,6]]},"267":{"position":[[8010,6]]},"297":{"position":[[212,6]]},"301":{"position":[[27,6],[181,6],[285,6],[446,6],[544,6],[649,6],[827,6],[941,6],[1146,6],[1244,6],[1399,6],[1541,6],[1714,6]]},"304":{"position":[[4400,7]]},"320":{"position":[[1524,6]]},"338":{"position":[[2117,6]]},"344":{"position":[[193,6]]},"353":{"position":[[302,7]]},"356":{"position":[[441,7]]},"464":{"position":[[316,7]]},"467":{"position":[[150,7]]},"536":{"position":[[27,6],[403,6],[438,6]]},"538":{"position":[[27,6],[142,6],[208,7]]},"544":{"position":[[77,6],[109,6]]},"607":{"position":[[234,6]]},"620":{"position":[[199,6]]},"621":{"position":[[445,6],[500,6],[623,6],[683,6],[771,6],[828,6],[903,6],[973,6],[1052,6],[1111,6],[1301,6],[1382,6],[1448,6],[1499,6],[1572,6],[1652,6],[1711,6],[1801,6],[1895,6],[1954,6],[2026,6],[2084,6],[2134,6],[2199,6],[2285,6],[2357,6],[2429,6],[2507,6],[2565,6],[2618,6],[2679,6],[2735,6],[2811,6],[3456,6],[3567,6],[4034,6],[4088,6],[4142,6],[4217,6],[4286,6],[4340,6],[4401,6],[4454,6],[4507,6],[4560,6],[4624,6],[4686,6],[4775,6],[4907,6],[4971,6],[5039,6]]},"669":{"position":[[58,7]]},"671":{"position":[[76,7]]},"672":{"position":[[70,7]]},"711":{"position":[[387,6]]},"720":{"position":[[333,6]]}},"keywords":{}}],["servic",{"_index":511,"title":{},"content":{"23":{"position":[[98,9],[140,9]]},"46":{"position":[[448,8]]},"139":{"position":[[68,7]]},"175":{"position":[[69,7]]},"240":{"position":[[1757,7]]},"241":{"position":[[165,9],[233,8]]},"324":{"position":[[334,8],[2434,7]]},"328":{"position":[[903,7],[1054,7],[1198,7],[1479,7]]},"329":{"position":[[1590,7]]},"341":{"position":[[117,7]]},"347":{"position":[[1273,8],[2543,7]]},"349":{"position":[[39,8],[147,8]]},"460":{"position":[[283,9]]},"461":{"position":[[122,8],[262,8],[338,8],[1284,8]]},"462":{"position":[[307,8]]},"465":{"position":[[65,8],[283,8]]},"467":{"position":[[402,9],[653,8],[864,9],[880,7]]}},"keywords":{}}],["set",{"_index":7,"title":{"314":{"position":[[0,7]]},"316":{"position":[[0,7]]},"374":{"position":[[0,8]]},"747":{"position":[[14,9]]},"765":{"position":[[0,9]]}},"content":{"1":{"position":[[65,3]]},"5":{"position":[[467,3]]},"7":{"position":[[1053,3]]},"17":{"position":[[274,3]]},"18":{"position":[[279,3]]},"35":{"position":[[627,3]]},"36":{"position":[[3305,3],[4590,3],[8582,3],[9635,3],[9833,7],[9959,3]]},"37":{"position":[[420,3]]},"43":{"position":[[826,3],[978,3]]},"44":{"position":[[1458,3],[2073,3]]},"61":{"position":[[341,3],[2396,7]]},"69":{"position":[[2974,3]]},"76":{"position":[[662,3]]},"83":{"position":[[2111,4]]},"84":{"position":[[578,3]]},"85":{"position":[[964,3],[1075,3],[1099,3]]},"99":{"position":[[1102,3],[1250,4],[3161,3],[3568,4],[3704,4],[3879,4]]},"103":{"position":[[89,3]]},"122":{"position":[[60,4],[230,4]]},"130":{"position":[[154,4]]},"135":{"position":[[1,3],[52,3],[241,4]]},"137":{"position":[[16,4]]},"138":{"position":[[16,3]]},"170":{"position":[[92,3]]},"173":{"position":[[1,4]]},"174":{"position":[[1,3]]},"183":{"position":[[98,3]]},"189":{"position":[[1,3]]},"193":{"position":[[90,3]]},"196":{"position":[[92,3]]},"201":{"position":[[656,3]]},"202":{"position":[[3305,3],[4590,3],[8582,3],[9635,3],[9833,7],[9959,3]]},"203":{"position":[[439,3]]},"204":{"position":[[826,3]]},"205":{"position":[[662,3]]},"226":{"position":[[1724,8]]},"227":{"position":[[1130,3],[1692,3],[1842,3],[4171,3]]},"237":{"position":[[342,7]]},"249":{"position":[[75,5],[88,5]]},"253":{"position":[[6458,3]]},"260":{"position":[[455,3]]},"263":{"position":[[247,3],[395,4],[451,3],[693,3]]},"266":{"position":[[654,3]]},"267":{"position":[[7901,3],[8467,3],[8490,4],[8524,4],[9482,7],[9869,7]]},"268":{"position":[[446,3]]},"289":{"position":[[1116,9],[1473,7]]},"291":{"position":[[259,3],[763,4],[1167,3],[1443,3]]},"293":{"position":[[49,3]]},"300":{"position":[[347,7],[377,4],[408,3]]},"301":{"position":[[1427,7],[1454,4],[1485,3]]},"304":{"position":[[3571,3],[3724,3]]},"311":{"position":[[550,8],[931,8]]},"322":{"position":[[1143,3],[2250,4]]},"324":{"position":[[1144,7],[2825,3]]},"333":{"position":[[77,7]]},"338":{"position":[[1982,3]]},"343":{"position":[[442,8],[652,8]]},"347":{"position":[[1133,3],[1201,3],[1585,9]]},"351":{"position":[[262,3]]},"357":{"position":[[2091,8]]},"372":{"position":[[18,7],[151,7],[214,7],[231,7],[257,7],[278,7]]},"373":{"position":[[272,8],[383,3],[589,7],[699,7],[716,7],[742,7],[763,7],[809,3]]},"374":{"position":[[18,7],[60,8],[184,8],[224,8],[292,7],[448,8],[512,8]]},"375":{"position":[[1,4],[234,7],[284,7]]},"376":{"position":[[1,4],[238,7],[261,7],[312,7],[335,7]]},"377":{"position":[[1,4],[234,7],[290,7],[313,7],[364,7]]},"378":{"position":[[1,4],[236,7],[292,7],[315,7],[367,7]]},"379":{"position":[[15,7],[23,4],[404,7],[459,7]]},"380":{"position":[[15,7],[23,4],[398,7],[453,7]]},"381":{"position":[[17,7],[25,4],[417,7],[480,7]]},"382":{"position":[[185,7]]},"383":{"position":[[272,8],[383,3],[597,7],[658,7],[675,7],[701,7],[722,7]]},"404":{"position":[[846,7],[875,7],[919,8],[974,7]]},"411":{"position":[[191,8],[258,7],[285,7],[314,7],[759,7],[785,7],[809,7],[856,8],[906,7]]},"418":{"position":[[580,7],[655,8],[711,7]]},"419":{"position":[[614,7],[634,7],[708,8],[764,7]]},"420":{"position":[[603,7],[675,8],[736,7]]},"424":{"position":[[525,7],[583,7],[620,7],[737,7],[795,7],[832,7]]},"425":{"position":[[392,7],[440,7],[681,7]]},"429":{"position":[[2148,3]]},"441":{"position":[[414,7],[622,8],[680,7]]},"442":{"position":[[82,7],[175,7],[1018,7],[1074,7],[1133,7],[1178,8],[1241,7]]},"444":{"position":[[889,7],[914,7],[998,7],[1031,7],[1086,8],[1148,7]]},"446":{"position":[[657,7],[1161,7]]},"448":{"position":[[160,4]]},"481":{"position":[[89,3]]},"482":{"position":[[948,3]]},"487":{"position":[[64,3]]},"490":{"position":[[183,3],[628,3]]},"496":{"position":[[488,4]]},"500":{"position":[[286,3],[727,3]]},"514":{"position":[[1035,7]]},"556":{"position":[[167,4],[426,4]]},"563":{"position":[[93,9]]},"564":{"position":[[352,8],[439,8]]},"570":{"position":[[146,9]]},"577":{"position":[[176,9],[601,4],[614,4],[721,3],[761,5],[799,3],[879,3]]},"585":{"position":[[94,3],[351,3]]},"586":{"position":[[96,3],[370,3]]},"589":{"position":[[92,9]]},"591":{"position":[[416,3]]},"598":{"position":[[111,9]]},"599":{"position":[[75,8],[105,8],[143,8],[475,3],[1136,4],[1297,3],[1322,3]]},"601":{"position":[[254,3]]},"608":{"position":[[797,3]]},"612":{"position":[[881,4],[961,4],[1021,4],[1056,7],[1553,4]]},"613":{"position":[[192,3]]},"663":{"position":[[61,3]]},"669":{"position":[[1,4],[281,7],[574,3]]},"671":{"position":[[1,4],[441,3],[737,3],[936,3]]},"673":{"position":[[57,3]]},"693":{"position":[[32,3]]},"694":{"position":[[33,3]]},"696":{"position":[[1,4],[25,4],[49,3],[121,3],[171,3],[199,4]]},"697":{"position":[[40,4],[64,3]]},"698":{"position":[[28,4]]},"699":{"position":[[39,8]]},"700":{"position":[[23,4],[35,8],[158,4],[191,8],[457,3],[732,7],[756,4],[837,7],[861,4],[972,7],[996,4],[1099,7],[1123,4],[1488,3],[1502,3],[1539,4],[1577,7],[1614,4],[1641,3],[1782,8],[1805,5],[1926,8],[1949,5]]},"730":{"position":[[1,4],[164,3],[189,3]]},"747":{"position":[[63,9]]},"748":{"position":[[13,4]]},"750":{"position":[[13,4]]},"760":{"position":[[46,3]]},"761":{"position":[[38,3]]},"762":{"position":[[38,3]]},"763":{"position":[[38,3]]},"764":{"position":[[21,3]]},"765":{"position":[[20,8],[66,8],[131,9]]},"766":{"position":[[31,7]]},"767":{"position":[[31,8]]},"768":{"position":[[39,8],[91,7],[285,7]]},"769":{"position":[[1,4],[16,7],[284,7],[302,7],[316,7],[333,3]]}},"keywords":{}}],["set_cmd_tlm_disconnect",{"_index":4700,"title":{},"content":{"621":{"position":[[3641,22]]}},"keywords":{}}],["set_disconnected_target",{"_index":4702,"title":{},"content":{"621":{"position":[[3712,24]]}},"keywords":{}}],["set_limit",{"_index":5186,"title":{"700":{"position":[[0,11]]}},"content":{},"keywords":{}}],["set_limits(<target",{"_index":5188,"title":{},"content":{"700":{"position":[[237,21]]}},"keywords":{}}],["set_limits('inst",{"_index":5198,"title":{},"content":{"700":{"position":[[1980,18]]}},"keywords":{}}],["set_limits_method",{"_index":5187,"title":{},"content":{"700":{"position":[[5,17]]}},"keywords":{}}],["set_limits_set",{"_index":5168,"title":{"696":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_limits_set("<limit",{"_index":5169,"title":{},"content":{"696":{"position":[[89,31]]}},"keywords":{}}],["set_limits_set("default"",{"_index":5170,"title":{},"content":{"696":{"position":[[229,35]]}},"keywords":{}}],["set_line_delay",{"_index":5456,"title":{"748":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_line_delay(<delay>",{"_index":5457,"title":{},"content":{"748":{"position":[[75,29]]}},"keywords":{}}],["set_line_delay(0.0",{"_index":5459,"title":{},"content":{"748":{"position":[[269,19]]}},"keywords":{}}],["set_max_output",{"_index":5462,"title":{"750":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_max_output(<characters>",{"_index":5464,"title":{},"content":{"750":{"position":[[159,34]]}},"keywords":{}}],["set_max_output(100",{"_index":5466,"title":{},"content":{"750":{"position":[[302,19]]}},"keywords":{}}],["set_opt",{"_index":1978,"title":{},"content":{"135":{"position":[[86,10],[136,10]]}},"keywords":{}}],["set_replay_mod",{"_index":4703,"title":{},"content":{"621":{"position":[[3765,15]]}},"keywords":{}}],["set_set",{"_index":4699,"title":{"769":{"position":[[0,12]]}},"content":{"621":{"position":[[3629,11]]}},"keywords":{}}],["set_setting(<set",{"_index":5563,"title":{},"content":{"769":{"position":[[179,23]]}},"keywords":{}}],["set_setting('pypi_url",{"_index":5568,"title":{},"content":{"769":{"position":[[496,23]]}},"keywords":{}}],["set_setting('rubygems_url",{"_index":5564,"title":{},"content":{"769":{"position":[[353,27]]}},"keywords":{}}],["set_stdout_max_lin",{"_index":4704,"title":{},"content":{"621":{"position":[[3799,20]]}},"keywords":{}}],["set_tlm",{"_index":4706,"title":{"669":{"position":[[0,8]]}},"content":{"621":{"position":[[3887,7]]}},"keywords":{}}],["set_tlm("<target>",{"_index":5066,"title":{},"content":{"669":{"position":[[389,28]]}},"keywords":{}}],["set_tlm("inst",{"_index":5070,"title":{},"content":{"669":{"position":[[687,18],[824,18],[974,18],[1110,18]]}},"keywords":{}}],["set_tlm_raw",{"_index":4705,"title":{},"content":{"621":{"position":[[3845,11]]}},"keywords":{}}],["setopen",{"_index":4509,"title":{},"content":{"577":{"position":[[66,8]]}},"keywords":{}}],["setpoint",{"_index":5407,"title":{},"content":{"732":{"position":[[126,10],[213,11]]},"733":{"position":[[97,11]]}},"keywords":{}}],["sets"",{"_index":2664,"title":{},"content":{"267":{"position":[[8210,10]]}},"keywords":{}}],["setting<",{"_index":2247,"title":{},"content":{"226":{"position":[[2425,13]]}},"keywords":{}}],["setting"",{"_index":216,"title":{},"content":{"6":{"position":[[428,13],[859,13],[914,13],[969,13],[1024,13],[1079,13]]},"36":{"position":[[3554,13]]},"202":{"position":[[3554,13]]},"267":{"position":[[2614,13]]}},"keywords":{}}],["settings"",{"_index":2244,"title":{},"content":{"226":{"position":[[1758,14]]}},"keywords":{}}],["settings)delimit",{"_index":4481,"title":{},"content":{"552":{"position":[[105,16]]}},"keywords":{}}],["settings)reset",{"_index":4503,"title":{},"content":{"570":{"position":[[104,14]]}},"keywords":{}}],["settings.sinc",{"_index":3490,"title":{},"content":{"357":{"position":[[892,14]]}},"keywords":{}}],["settingsif",{"_index":3327,"title":{},"content":{"347":{"position":[[934,10]]}},"keywords":{}}],["setup",{"_index":1152,"title":{},"content":{"46":{"position":[[411,5]]},"249":{"position":[[516,5]]},"287":{"position":[[128,5]]},"291":{"position":[[342,5]]},"304":{"position":[[5360,5],[5422,6],[5526,5],[5588,6]]},"347":{"position":[[403,5],[1381,5]]},"610":{"position":[[429,5],[797,5],[861,5]]},"611":{"position":[[213,5],[557,5],[601,5]]},"754":{"position":[[96,6],[210,5],[1225,5]]}},"keywords":{}}],["setup"",{"_index":4609,"title":{},"content":{"611":{"position":[[236,11],[472,12]]}},"keywords":{}}],["setup(self",{"_index":4598,"title":{},"content":{"610":{"position":[[658,12]]},"611":{"position":[[441,12]]},"754":{"position":[[1758,12]]}},"keywords":{}}],["sever",{"_index":1673,"title":{},"content":{"85":{"position":[[99,7]]},"135":{"position":[[261,7]]},"263":{"position":[[30,7]]},"297":{"position":[[24,7]]},"307":{"position":[[209,7]]},"309":{"position":[[619,7]]},"363":{"position":[[1144,7]]},"476":{"position":[[3597,7]]},"493":{"position":[[24,7]]},"495":{"position":[[17,7]]},"505":{"position":[[136,7]]},"523":{"position":[[284,7]]},"533":{"position":[[730,7]]},"544":{"position":[[282,8]]},"599":{"position":[[802,7]]},"608":{"position":[[35,7]]},"765":{"position":[[12,7]]}},"keywords":{}}],["sh",{"_index":2599,"title":{},"content":{"257":{"position":[[880,3]]},"347":{"position":[[2323,2]]}},"keywords":{}}],["sha",{"_index":453,"title":{},"content":{"20":{"position":[[1020,3]]},"99":{"position":[[1280,3]]}},"keywords":{}}],["sha256",{"_index":413,"title":{},"content":{"20":{"position":[[355,6]]}},"keywords":{}}],["shall",{"_index":2850,"title":{},"content":{"299":{"position":[[77,5],[171,5],[286,5],[374,5],[418,5],[467,5],[532,5],[661,5],[765,5],[1022,5],[1140,5]]},"300":{"position":[[59,5],[196,5],[326,5],[448,5],[518,5],[622,5],[728,5],[830,5]]},"301":{"position":[[188,5],[292,5],[453,5],[551,5],[656,5],[834,5],[948,5],[1153,5],[1251,5],[1406,5],[1548,5],[1721,5]]},"302":{"position":[[236,5],[349,5],[445,5],[532,5],[682,5],[766,5]]},"303":{"position":[[419,5],[588,5],[706,5],[862,5],[1034,5],[1196,5],[1356,5],[1528,5],[1692,5],[1859,5],[2094,5],[2238,5]]},"304":{"position":[[1353,5],[1692,5],[1871,5],[2090,5],[2184,5],[2324,5],[2455,5],[2552,5],[2734,5],[2842,5],[3013,5],[3132,5],[3302,5],[3522,5],[3662,5],[3809,5],[3973,5],[4071,5],[4170,5],[4284,5],[4556,5],[4668,5],[4830,5],[4988,5],[5101,5],[5214,5],[5325,5],[5491,5],[5657,5],[5796,5],[5942,5],[6109,5],[6257,5],[6387,5],[6549,5],[6762,5]]},"305":{"position":[[203,5],[388,5],[546,5],[726,5],[894,5],[1039,5],[1154,5],[1410,5]]},"306":{"position":[[325,5],[410,5],[506,5]]},"307":{"position":[[158,5],[277,5],[386,5],[516,5],[605,5],[717,5],[814,5],[911,5],[1012,5],[1108,5]]},"308":{"position":[[170,5],[275,5],[364,5],[461,5],[637,5],[722,5],[808,5]]},"309":{"position":[[246,5],[361,5],[463,5],[558,5],[658,5]]},"310":{"position":[[148,5],[240,5],[336,5],[429,5],[512,5],[609,5],[704,5],[807,5]]},"311":{"position":[[161,5],[240,5],[320,5],[394,5],[505,5],[598,5],[684,5],[770,5],[852,5]]},"360":{"position":[[608,5],[915,5]]},"459":{"position":[[415,5],[787,5]]}},"keywords":{}}],["share",{"_index":372,"title":{"467":{"position":[[39,6]]}},"content":{"17":{"position":[[53,5]]},"18":{"position":[[56,5]]},"31":{"position":[[480,5]]},"227":{"position":[[1065,6]]},"240":{"position":[[1922,5]]},"249":{"position":[[580,6]]},"253":{"position":[[2585,5]]},"257":{"position":[[271,5],[433,6]]},"356":{"position":[[506,5]]},"459":{"position":[[32,7],[238,6]]},"467":{"position":[[27,6]]},"487":{"position":[[173,6]]}},"keywords":{}}],["shell",{"_index":2816,"title":{},"content":{"292":{"position":[[97,5]]}},"keywords":{}}],["shell'",{"_index":2819,"title":{},"content":{"292":{"position":[[215,7]]}},"keywords":{}}],["ship",{"_index":2843,"title":{},"content":{"298":{"position":[[1107,5]]},"364":{"position":[[1211,4]]},"467":{"position":[[696,8]]}},"keywords":{}}],["short",{"_index":169,"title":{},"content":{"5":{"position":[[780,5]]},"46":{"position":[[372,5]]},"199":{"position":[[250,5]]},"264":{"position":[[279,5]]},"329":{"position":[[1115,5],[1135,5],[1155,5]]},"352":{"position":[[108,5]]},"359":{"position":[[299,5]]},"486":{"position":[[246,5]]},"504":{"position":[[93,5]]}},"keywords":{}}],["shortcut",{"_index":4469,"title":{},"content":{"536":{"position":[[251,9]]}},"keywords":{}}],["shorter",{"_index":793,"title":{},"content":{"36":{"position":[[6575,7],[7371,7]]},"202":{"position":[[6575,7],[7371,7]]},"267":{"position":[[5114,7],[5972,7]]}},"keywords":{}}],["shot",{"_index":4553,"title":{},"content":{"593":{"position":[[502,5],[698,4]]}},"keywords":{}}],["show",{"_index":351,"title":{},"content":{"13":{"position":[[232,7]]},"14":{"position":[[201,7]]},"90":{"position":[[208,4],[419,4]]},"191":{"position":[[1,4]]},"198":{"position":[[1173,5]]},"259":{"position":[[1189,5]]},"292":{"position":[[874,4],[1022,4]]},"298":{"position":[[23,5]]},"302":{"position":[[88,5]]},"303":{"position":[[2179,5]]},"306":{"position":[[464,4]]},"322":{"position":[[1436,7]]},"338":{"position":[[1751,5]]},"357":{"position":[[1025,4],[2516,4],[4127,7]]},"364":{"position":[[1520,5]]},"414":{"position":[[373,4]]},"476":{"position":[[1898,4],[1981,4],[2812,4],[2896,4],[3591,5],[4014,4],[4516,5]]},"488":{"position":[[626,4]]},"497":{"position":[[88,5],[497,4],[796,4]]},"534":{"position":[[242,4]]},"536":{"position":[[430,7]]},"559":{"position":[[247,5]]},"571":{"position":[[3,5]]},"577":{"position":[[3,4],[187,4]]},"583":{"position":[[274,5]]},"584":{"position":[[512,4]]},"590":{"position":[[154,4]]},"600":{"position":[[375,5]]},"601":{"position":[[459,4]]}},"keywords":{}}],["show_backtrac",{"_index":4707,"title":{},"content":{"621":{"position":[[3895,14]]}},"keywords":{}}],["shown",{"_index":38,"title":{"191":{"position":[[0,6]]}},"content":{"2":{"position":[[170,5]]},"36":{"position":[[10517,5],[10764,5]]},"39":{"position":[[183,5]]},"189":{"position":[[21,5]]},"191":{"position":[[50,5],[203,6]]},"227":{"position":[[750,5]]},"298":{"position":[[261,5]]},"303":{"position":[[834,6]]},"320":{"position":[[1628,5]]},"324":{"position":[[2760,6]]},"476":{"position":[[3772,5]]},"478":{"position":[[907,5]]},"493":{"position":[[354,5]]},"534":{"position":[[478,6]]},"540":{"position":[[578,5]]},"548":{"position":[[127,5]]},"559":{"position":[[90,5]]},"575":{"position":[[162,5],[187,5]]},"577":{"position":[[428,5]]},"578":{"position":[[264,5],[378,5]]},"579":{"position":[[92,6]]},"621":{"position":[[3953,5]]},"658":{"position":[[188,5]]},"681":{"position":[[166,6]]},"683":{"position":[[213,5]]},"687":{"position":[[209,5]]}},"keywords":{}}],["shrink",{"_index":4568,"title":{},"content":{"601":{"position":[[313,7],[505,7],[689,7]]}},"keywords":{}}],["shut",{"_index":2999,"title":{},"content":{"315":{"position":[[476,8]]}},"keywords":{}}],["shutdown_cmd_tlm",{"_index":4709,"title":{},"content":{"621":{"position":[[3995,16]]}},"keywords":{}}],["shutter",{"_index":2893,"title":{},"content":{"304":{"position":[[1073,8]]}},"keywords":{}}],["side",{"_index":3259,"title":{},"content":{"336":{"position":[[258,4]]},"404":{"position":[[711,4]]},"491":{"position":[[37,4]]},"559":{"position":[[108,4]]},"601":{"position":[[830,4],[838,5]]}},"keywords":{}}],["sign",{"_index":391,"title":{},"content":{"20":{"position":[[12,6],[217,6]]},"24":{"position":[[494,6],[853,6],[871,6]]},"36":{"position":[[9819,6],[10219,6],[10326,6]]},"43":{"position":[[51,4]]},"202":{"position":[[9819,6],[10219,6],[10326,6]]},"240":{"position":[[1749,4]]},"253":{"position":[[3614,6],[5282,6]]},"361":{"position":[[19,6]]}},"keywords":{}}],["signal",{"_index":1459,"title":{"425":{"position":[[0,7]]}},"content":{"69":{"position":[[2126,6]]},"75":{"position":[[1762,6]]},"108":{"position":[[583,8]]},"425":{"position":[[37,6],[334,6]]}},"keywords":{}}],["signed"",{"_index":2804,"title":{},"content":{"291":{"position":[[693,13]]}},"keywords":{}}],["signific",{"_index":644,"title":{},"content":{"35":{"position":[[188,11]]},"201":{"position":[[216,11]]},"204":{"position":[[439,11]]},"206":{"position":[[233,11]]},"266":{"position":[[220,11]]},"269":{"position":[[390,11]]},"271":{"position":[[237,11]]},"329":{"position":[[317,11],[491,11],[683,11],[921,11],[1424,11],[1474,11]]},"476":{"position":[[332,12],[441,12]]}},"keywords":{}}],["significantli",{"_index":384,"title":{},"content":{"17":{"position":[[349,13]]},"18":{"position":[[354,13]]},"324":{"position":[[353,13]]}},"keywords":{}}],["silent",{"_index":1092,"title":{},"content":{"44":{"position":[[2484,6]]},"76":{"position":[[473,8]]},"77":{"position":[[489,8]]},"78":{"position":[[486,8]]}},"keywords":{}}],["similar",{"_index":188,"title":{},"content":{"5":{"position":[[1435,7]]},"31":{"position":[[495,10]]},"60":{"position":[[702,7]]},"61":{"position":[[530,7]]},"69":{"position":[[3175,7]]},"99":{"position":[[4646,7]]},"108":{"position":[[433,8]]},"227":{"position":[[789,7]]},"253":{"position":[[5833,7]]},"262":{"position":[[213,7]]},"324":{"position":[[607,7]]},"357":{"position":[[1917,7],[3407,7]]},"359":{"position":[[1543,7]]},"475":{"position":[[84,7]]},"476":{"position":[[16,12],[4437,10]]},"558":{"position":[[324,7]]},"581":{"position":[[73,7]]},"591":{"position":[[274,7]]},"605":{"position":[[659,7]]},"612":{"position":[[317,7]]},"616":{"position":[[87,7]]},"650":{"position":[[23,8]]},"661":{"position":[[23,8]]}},"keywords":{}}],["similarli",{"_index":1471,"title":{},"content":{"69":{"position":[[3567,9]]},"327":{"position":[[398,9]]},"478":{"position":[[389,9]]},"599":{"position":[[863,10]]},"611":{"position":[[864,10]]}},"keywords":{}}],["simpl",{"_index":124,"title":{"479":{"position":[[14,6]]}},"content":{"3":{"position":[[610,7]]},"8":{"position":[[77,6]]},"60":{"position":[[443,6]]},"230":{"position":[[1840,6]]},"231":{"position":[[1083,6]]},"234":{"position":[[733,6]]},"235":{"position":[[1256,6]]},"239":{"position":[[179,6]]},"242":{"position":[[141,6]]},"245":{"position":[[347,6]]},"297":{"position":[[871,6]]},"303":{"position":[[114,6]]},"304":{"position":[[1442,6]]},"305":{"position":[[26,6]]},"328":{"position":[[1827,6]]},"332":{"position":[[666,6]]},"355":{"position":[[212,6],[513,6],[919,6]]},"357":{"position":[[505,7]]},"474":{"position":[[251,7]]},"478":{"position":[[49,6],[891,6]]},"484":{"position":[[56,6]]},"485":{"position":[[339,6]]},"513":{"position":[[459,6]]},"522":{"position":[[120,6]]},"523":{"position":[[35,6]]},"588":{"position":[[113,6]]},"591":{"position":[[251,6]]},"610":{"position":[[332,6]]}},"keywords":{}}],["simple.txt",{"_index":3229,"title":{},"content":{"328":{"position":[[1542,10]]}},"keywords":{}}],["simpler",{"_index":3138,"title":{},"content":{"324":{"position":[[157,7]]}},"keywords":{}}],["simpli",{"_index":332,"title":{},"content":{"12":{"position":[[222,6]]},"56":{"position":[[616,6]]},"58":{"position":[[216,6]]},"59":{"position":[[20,6]]},"62":{"position":[[416,6]]},"253":{"position":[[6091,6]]},"254":{"position":[[1834,6]]},"256":{"position":[[97,6]]},"259":{"position":[[1453,6]]},"289":{"position":[[1176,6]]},"334":{"position":[[381,6]]},"451":{"position":[[165,6]]},"456":{"position":[[28,6]]},"463":{"position":[[168,6]]},"490":{"position":[[632,6]]},"497":{"position":[[246,6]]},"511":{"position":[[107,6]]},"514":{"position":[[659,6]]},"527":{"position":[[125,6],[420,6]]},"578":{"position":[[334,6]]},"599":{"position":[[1129,6]]},"607":{"position":[[29,6]]},"617":{"position":[[1044,6]]},"656":{"position":[[215,6]]}},"keywords":{}}],["simulation=${simul",{"_index":3007,"title":{},"content":{"318":{"position":[[91,24]]}},"keywords":{}}],["simulation=n",{"_index":3006,"title":{},"content":{"318":{"position":[[69,17]]}},"keywords":{}}],["simultan",{"_index":4431,"title":{},"content":{"512":{"position":[[167,14]]}},"keywords":{}}],["singl",{"_index":142,"title":{"246":{"position":[[0,6]]},"499":{"position":[[15,6]]}},"content":{"5":{"position":[[53,6]]},"9":{"position":[[798,6],[907,6]]},"39":{"position":[[30,6]]},"42":{"position":[[38,6],[93,6]]},"43":{"position":[[44,6]]},"84":{"position":[[586,6]]},"93":{"position":[[512,6],[829,6]]},"94":{"position":[[496,6],[620,6]]},"99":{"position":[[2705,6]]},"184":{"position":[[128,6]]},"187":{"position":[[88,6]]},"188":{"position":[[157,6]]},"240":{"position":[[1742,6]]},"241":{"position":[[188,6]]},"246":{"position":[[74,6],[176,6],[346,6]]},"253":{"position":[[1057,6],[2485,6],[2539,6]]},"303":{"position":[[48,6]]},"356":{"position":[[785,6]]},"366":{"position":[[205,6]]},"429":{"position":[[616,6]]},"434":{"position":[[199,6]]},"451":{"position":[[3,6]]},"499":{"position":[[249,6]]},"502":{"position":[[12,6],[124,6],[282,6],[381,6]]},"527":{"position":[[91,6]]},"577":{"position":[[785,6]]},"593":{"position":[[636,6]]},"601":{"position":[[937,6]]},"611":{"position":[[996,6]]},"632":{"position":[[102,6],[1355,6],[1762,6]]},"729":{"position":[[271,6]]}},"keywords":{}}],["sit",{"_index":4472,"title":{},"content":{"544":{"position":[[24,4]]}},"keywords":{}}],["site",{"_index":397,"title":{},"content":{"20":{"position":[[97,4]]},"361":{"position":[[479,4]]},"363":{"position":[[938,4]]},"467":{"position":[[1289,5]]},"469":{"position":[[121,4],[148,5],[314,6],[783,4],[865,5]]}},"keywords":{}}],["situat",{"_index":4410,"title":{},"content":{"505":{"position":[[678,9]]},"575":{"position":[[41,11]]},"596":{"position":[[240,11]]}},"keywords":{}}],["six",{"_index":4614,"title":{},"content":{"612":{"position":[[32,3]]}},"keywords":{}}],["size",{"_index":375,"title":{"261":{"position":[[9,5]]}},"content":{"17":{"position":[[80,5],[179,5]]},"18":{"position":[[83,5],[183,5]]},"35":{"position":[[350,4],[359,4],[558,4]]},"36":{"position":[[1616,4]]},"37":{"position":[[143,4],[152,4],[351,4]]},"60":{"position":[[424,4],[581,4],[783,4]]},"61":{"position":[[785,4],[915,4],[924,4],[1953,4]]},"67":{"position":[[562,4],[571,4]]},"99":{"position":[[339,4],[2339,5],[4390,5],[4412,4],[4556,5]]},"133":{"position":[[495,4]]},"148":{"position":[[60,4],[126,4]]},"151":{"position":[[67,4],[133,4]]},"155":{"position":[[62,4],[128,4]]},"158":{"position":[[69,4],[135,4]]},"201":{"position":[[379,4],[388,4],[587,4]]},"202":{"position":[[1616,4]]},"203":{"position":[[162,4],[171,4],[370,4]]},"204":{"position":[[549,4],[558,4],[757,4]]},"205":{"position":[[385,4],[394,4],[593,4]]},"206":{"position":[[401,4],[410,4],[553,4],[568,4]]},"207":{"position":[[184,4],[193,4],[336,4],[351,4]]},"227":{"position":[[5214,5],[5233,4]]},"260":{"position":[[388,5]]},"261":{"position":[[29,5],[51,4],[166,5],[259,4],[346,5]]},"262":{"position":[[458,4]]},"266":{"position":[[372,4],[381,4],[585,4]]},"267":{"position":[[1611,4],[7446,4],[7455,4]]},"268":{"position":[[164,4],[173,4],[377,4]]},"269":{"position":[[495,4],[504,4]]},"270":{"position":[[164,4],[173,4]]},"271":{"position":[[394,4],[403,4],[546,4],[561,4]]},"272":{"position":[[186,4],[195,4],[338,4],[353,4]]},"277":{"position":[[165,4]]},"357":{"position":[[3764,6],[4013,6]]},"377":{"position":[[130,4]]},"378":{"position":[[132,4]]},"382":{"position":[[95,5],[202,4]]},"386":{"position":[[223,5]]},"387":{"position":[[92,5]]},"388":{"position":[[72,5]]},"389":{"position":[[96,5]]},"390":{"position":[[73,5]]},"391":{"position":[[81,5]]},"399":{"position":[[16,4]]},"418":{"position":[[1965,5],[1972,4]]},"419":{"position":[[622,4],[2018,5],[2025,4]]},"420":{"position":[[1990,5],[1997,4]]},"439":{"position":[[259,4],[269,4]]},"440":{"position":[[366,4],[376,4]]},"585":{"position":[[695,4]]},"715":{"position":[[193,5],[213,5],[642,5],[676,5],[1198,5],[1234,5]]},"724":{"position":[[187,5],[207,5],[618,5],[652,5],[1153,5],[1186,5]]}},"keywords":{}}],["sl",{"_index":3158,"title":{},"content":{"324":{"position":[[1706,2]]}},"keywords":{}}],["sleep",{"_index":1127,"title":{},"content":{"44":{"position":[[3516,5]]}},"keywords":{}}],["slip",{"_index":1290,"title":{"58":{"position":[[0,4]]}},"content":{"56":{"position":[[67,5]]},"58":{"position":[[20,6],[206,4]]}},"keywords":{}}],["slot",{"_index":4452,"title":{},"content":{"525":{"position":[[454,4]]}},"keywords":{}}],["slow",{"_index":385,"title":{},"content":{"17":{"position":[[363,5]]},"18":{"position":[[368,5]]},"488":{"position":[[2209,4]]},"752":{"position":[[152,4]]}},"keywords":{}}],["slowdown",{"_index":3465,"title":{},"content":{"356":{"position":[[849,8]]}},"keywords":{}}],["small",{"_index":85,"title":{},"content":{"3":{"position":[[45,5]]},"304":{"position":[[1129,5]]},"306":{"position":[[205,5]]},"357":{"position":[[2016,5]]},"483":{"position":[[927,5]]},"490":{"position":[[319,5]]},"505":{"position":[[824,5],[927,5]]}},"keywords":{}}],["smaller",{"_index":2698,"title":{},"content":{"277":{"position":[[140,7]]},"599":{"position":[[291,7]]}},"keywords":{}}],["smallest",{"_index":804,"title":{},"content":{"36":{"position":[[7100,8]]},"202":{"position":[[7100,8]]},"253":{"position":[[4059,8]]},"267":{"position":[[5701,8]]}},"keywords":{}}],["snooz",{"_index":4443,"title":{},"content":{"514":{"position":[[1028,6],[1057,6],[1407,6]]}},"keywords":{}}],["soak",{"_index":3531,"title":{},"content":{"357":{"position":[[2178,5]]}},"keywords":{}}],["socket",{"_index":1196,"title":{"89":{"position":[[0,6]]}},"content":{"49":{"position":[[48,6],[143,6]]},"50":{"position":[[114,7],[205,6]]},"51":{"position":[[404,7]]},"324":{"position":[[2427,6]]},"464":{"position":[[488,7]]},"528":{"position":[[461,6],[706,6]]}},"keywords":{}}],["softwar",{"_index":1912,"title":{},"content":{"114":{"position":[[52,8],[182,8]]},"171":{"position":[[124,8]]},"240":{"position":[[53,8]]},"298":{"position":[[906,8]]},"304":{"position":[[696,8],[1282,8]]},"359":{"position":[[606,8],[1230,9]]},"360":{"position":[[673,9],[691,8],[1113,8],[1158,9]]},"363":{"position":[[749,8]]},"364":{"position":[[1492,8],[1717,8]]},"461":{"position":[[215,8],[1270,9]]}},"keywords":{}}],["sold",{"_index":3653,"title":{},"content":{"361":{"position":[[395,4]]},"459":{"position":[[50,4]]}},"keywords":{}}],["sole",{"_index":4069,"title":{},"content":{"459":{"position":[[1459,6]]},"469":{"position":[[28,6]]}},"keywords":{}}],["solut",{"_index":824,"title":{},"content":{"36":{"position":[[9038,9]]},"69":{"position":[[62,8]]},"202":{"position":[[9038,9]]},"254":{"position":[[2853,9]]},"267":{"position":[[7161,9]]},"357":{"position":[[3804,8]]},"483":{"position":[[914,8]]}},"keywords":{}}],["solv",{"_index":4226,"title":{},"content":{"480":{"position":[[488,6]]}},"keywords":{}}],["someon",{"_index":1145,"title":{},"content":{"46":{"position":[[151,7]]},"476":{"position":[[1132,7]]}},"keywords":{}}],["someth",{"_index":1362,"title":{},"content":{"61":{"position":[[1522,9]]},"62":{"position":[[355,9]]},"69":{"position":[[533,9],[2740,9]]},"142":{"position":[[196,9]]},"182":{"position":[[196,9]]},"253":{"position":[[7135,9]]},"254":{"position":[[854,9]]},"291":{"position":[[949,9]]},"483":{"position":[[303,9]]},"487":{"position":[[414,9]]},"488":{"position":[[752,9]]},"501":{"position":[[158,9]]},"505":{"position":[[6,9],[189,9],[778,9]]},"585":{"position":[[660,9]]},"586":{"position":[[566,9]]},"632":{"position":[[1387,9],[1794,9]]},"633":{"position":[[36,9]]}},"keywords":{}}],["sometim",{"_index":105,"title":{},"content":{"3":{"position":[[361,9]]},"24":{"position":[[48,9],[154,9]]},"36":{"position":[[6610,9],[7406,9]]},"71":{"position":[[763,9]]},"202":{"position":[[6610,9],[7406,9]]},"267":{"position":[[5149,9],[6007,9]]},"488":{"position":[[824,9]]},"499":{"position":[[201,9]]},"504":{"position":[[927,9]]},"612":{"position":[[1440,9]]}},"keywords":{}}],["somewher",{"_index":2813,"title":{},"content":{"291":{"position":[[1136,9]]}},"keywords":{}}],["soon",{"_index":3634,"title":{},"content":{"360":{"position":[[30,4]]},"504":{"position":[[389,4]]}},"keywords":{}}],["sort",{"_index":2488,"title":{},"content":{"249":{"position":[[81,6]]},"291":{"position":[[469,4]]},"297":{"position":[[388,5]]},"344":{"position":[[92,6]]},"541":{"position":[[79,6]]},"542":{"position":[[82,6]]},"548":{"position":[[23,6]]}},"keywords":{}}],["sourc",{"_index":677,"title":{"42":{"position":[[37,7]]}},"content":{"36":{"position":[[806,6]]},"42":{"position":[[20,6]]},"51":{"position":[[337,6]]},"85":{"position":[[1083,6]]},"90":{"position":[[73,6]]},"103":{"position":[[337,6]]},"192":{"position":[[212,6]]},"202":{"position":[[806,6]]},"213":{"position":[[195,6]]},"237":{"position":[[39,6]]},"240":{"position":[[725,6]]},"243":{"position":[[68,6]]},"267":{"position":[[801,6]]},"275":{"position":[[204,6]]},"324":{"position":[[2632,6],[2682,6]]},"328":{"position":[[23,6]]},"350":{"position":[[20,6]]},"353":{"position":[[34,6],[182,8]]},"356":{"position":[[59,6]]},"359":{"position":[[26,6],[684,6],[926,6],[1279,6],[1756,6]]},"362":{"position":[[563,6]]},"364":{"position":[[682,6],[811,6]]},"517":{"position":[[150,6],[482,6]]},"592":{"position":[[98,6],[205,6]]}},"keywords":{}}],["source_url",{"_index":5525,"title":{},"content":{"766":{"position":[[338,13]]},"767":{"position":[[1216,13],[1239,13]]}},"keywords":{}}],["spa",{"_index":1661,"title":{"246":{"position":[[7,4]]}},"content":{"84":{"position":[[593,3]]},"184":{"position":[[135,3]]},"187":{"position":[[95,4]]},"188":{"position":[[164,3]]},"246":{"position":[[81,3],[183,3],[353,3]]}},"keywords":{}}],["space",{"_index":290,"title":{},"content":{"8":{"position":[[381,6]]},"61":{"position":[[2674,5],[2772,5]]},"83":{"position":[[2334,7]]},"108":{"position":[[323,5],[652,6]]},"120":{"position":[[321,5]]},"209":{"position":[[160,5]]},"247":{"position":[[32,5],[102,5]]},"253":{"position":[[4453,5]]},"274":{"position":[[151,5]]},"277":{"position":[[198,5]]},"291":{"position":[[1154,7]]},"329":{"position":[[967,5]]},"401":{"position":[[45,5]]},"402":{"position":[[45,5]]},"404":{"position":[[545,5],[634,5],[725,5]]},"476":{"position":[[315,6],[524,7],[1258,7]]},"517":{"position":[[448,6]]},"527":{"position":[[152,5]]},"578":{"position":[[606,6]]},"593":{"position":[[154,6]]},"601":{"position":[[152,6]]},"618":{"position":[[1167,5]]},"746":{"position":[[906,6]]}},"keywords":{}}],["spacer",{"_index":3812,"title":{"399":{"position":[[0,7]]}},"content":{"399":{"position":[[21,6],[97,6],[140,6],[221,6]]}},"keywords":{}}],["spaces.python",{"_index":4164,"title":{},"content":{"476":{"position":[[426,14]]}},"keywords":{}}],["spacesystem",{"_index":4036,"title":{},"content":{"454":{"position":[[270,11]]}},"keywords":{}}],["spacesystemtelemetrymetadatacommandmetadataparametertypesetenumerationlistparametersetcontainersetentrylistdefaultcalibratordefaultalarmrestrictioncriteriacomparisonlistmetacommandsetdefaultcalibratorargumenttypesetargumentlistargumentassignmentlistenumeratedparametertypeenumeratedargumenttypeintegerparametertypeintegerargumenttypefloatparametertypefloatargumenttypestringparametertypestringargumenttypebinaryparametertypebinaryargumenttypeintegerdataencodingfloatdataencodingstringdataencodingbinarydataencoding'sizeinbitsfixedvalueunitsetunitpolynomialcalibratortermstaticalarmrangeswarningrangecriticalrangevalidrangeenumerationparameterargumentparameterpropertiessequencecontainerbasecontainerlongdescriptionparameterrefentryargumentrefentrybasemetacommandcomparisonmetacommandbasemetacommandcommandcontainerargumentassign",{"_index":4038,"title":{},"content":{"455":{"position":[[76,832]]}},"keywords":{}}],["spare",{"_index":3108,"title":{},"content":{"321":{"position":[[3444,5],[3474,5]]}},"keywords":{}}],["spare2align",{"_index":3102,"title":{},"content":{"321":{"position":[[3276,11]]}},"keywords":{}}],["sparklin",{"_index":3869,"title":{"419":{"position":[[0,10]]}},"content":{"419":{"position":[[12,9],[579,9],[726,10]]},"420":{"position":[[51,9]]}},"keywords":{}}],["spawn",{"_index":3457,"title":{},"content":{"356":{"position":[[93,6]]},"484":{"position":[[230,5]]},"512":{"position":[[271,6]]},"514":{"position":[[827,8],[873,5],[931,8]]},"607":{"position":[[219,7]]}},"keywords":{}}],["spec",{"_index":1707,"title":{},"content":{"88":{"position":[[302,5]]},"357":{"position":[[4232,5]]},"448":{"position":[[320,4]]}},"keywords":{}}],["special",{"_index":1316,"title":{},"content":{"57":{"position":[[336,7]]},"58":{"position":[[124,7]]},"80":{"position":[[505,7]]},"88":{"position":[[159,7]]},"262":{"position":[[255,7]]},"324":{"position":[[964,7]]},"431":{"position":[[525,7]]},"446":{"position":[[374,7]]},"488":{"position":[[1989,7]]},"498":{"position":[[183,7]]},"534":{"position":[[145,8],[300,8]]},"610":{"position":[[828,7]]},"649":{"position":[[1338,9],[1500,10]]},"651":{"position":[[558,11],[694,11]]}},"keywords":{}}],["special"",{"_index":4197,"title":{},"content":{"476":{"position":[[2525,14],[3435,14]]},"639":{"position":[[1626,14],[1844,14]]},"649":{"position":[[699,14]]}},"keywords":{}}],["specif",{"_index":673,"title":{},"content":{"36":{"position":[[671,8]]},"44":{"position":[[1277,8]]},"54":{"position":[[3199,9]]},"72":{"position":[[190,8]]},"88":{"position":[[65,14]]},"110":{"position":[[35,8]]},"121":{"position":[[242,8]]},"134":{"position":[[631,8]]},"168":{"position":[[249,8]]},"171":{"position":[[360,8]]},"202":{"position":[[671,8]]},"208":{"position":[[180,8]]},"213":{"position":[[60,8]]},"227":{"position":[[2099,8]]},"229":{"position":[[723,8],[1167,8]]},"230":{"position":[[1198,8],[1316,8],[1725,8]]},"257":{"position":[[453,8],[496,8]]},"267":{"position":[[666,8],[10657,8]]},"273":{"position":[[179,8]]},"275":{"position":[[69,8]]},"276":{"position":[[310,8]]},"292":{"position":[[465,8]]},"298":{"position":[[1476,8]]},"301":{"position":[[95,8]]},"303":{"position":[[495,8],[778,8],[956,8],[983,8],[1145,8]]},"305":{"position":[[288,8]]},"320":{"position":[[1431,14]]},"328":{"position":[[447,8]]},"361":{"position":[[183,8]]},"367":{"position":[[226,8]]},"373":{"position":[[284,8]]},"374":{"position":[[553,8]]},"383":{"position":[[284,8]]},"482":{"position":[[999,8],[1093,8]]},"485":{"position":[[280,8],[386,8]]},"492":{"position":[[763,8]]},"499":{"position":[[475,8]]},"578":{"position":[[931,8]]},"585":{"position":[[251,8]]},"586":{"position":[[270,8]]},"616":{"position":[[243,8]]},"663":{"position":[[194,8]]},"674":{"position":[[28,8]]},"700":{"position":[[1523,8]]}},"keywords":{}}],["specifi",{"_index":340,"title":{},"content":{"12":{"position":[[422,7],[540,10]]},"15":{"position":[[323,7]]},"16":{"position":[[325,7]]},"20":{"position":[[1238,9],[1312,7],[1369,9],[1443,7]]},"32":{"position":[[1,7]]},"35":{"position":[[506,9],[1119,7],[1650,7]]},"36":{"position":[[8013,9],[8380,9],[9775,9],[10090,7]]},"37":{"position":[[299,9],[912,7],[1443,7]]},"39":{"position":[[1,7]]},"54":{"position":[[2407,9],[3448,9],[3465,9],[3539,9]]},"68":{"position":[[34,9]]},"88":{"position":[[236,9],[369,9]]},"133":{"position":[[680,9],[741,9]]},"201":{"position":[[535,9],[1148,7],[1679,7]]},"202":{"position":[[8013,9],[8380,9],[9775,9],[10090,7]]},"203":{"position":[[318,9],[931,7],[1462,7]]},"204":{"position":[[705,9],[1823,7]]},"205":{"position":[[541,9],[1659,7]]},"206":{"position":[[706,9]]},"207":{"position":[[489,9]]},"254":{"position":[[257,7]]},"257":{"position":[[1061,10]]},"261":{"position":[[8,9]]},"266":{"position":[[533,9]]},"267":{"position":[[6673,9],[7038,9]]},"268":{"position":[[325,9]]},"269":{"position":[[656,9]]},"270":{"position":[[325,9]]},"271":{"position":[[699,9]]},"272":{"position":[[491,9]]},"284":{"position":[[10,9]]},"290":{"position":[[828,9]]},"304":{"position":[[4941,9]]},"386":{"position":[[118,10]]},"403":{"position":[[65,9]]},"418":{"position":[[1603,9]]},"419":{"position":[[1656,9]]},"420":{"position":[[1628,9]]},"457":{"position":[[216,10]]},"459":{"position":[[530,10]]},"511":{"position":[[211,7]]},"513":{"position":[[97,10],[161,9]]},"514":{"position":[[206,9],[556,10],[777,9],[1046,10]]},"541":{"position":[[390,9]]},"542":{"position":[[418,9]]},"555":{"position":[[47,7]]},"556":{"position":[[510,9]]},"578":{"position":[[1212,9]]},"599":{"position":[[762,9],[874,10],[946,9]]},"632":{"position":[[1131,9]]},"636":{"position":[[9,9]]},"637":{"position":[[9,9]]},"638":{"position":[[9,9]]},"639":{"position":[[9,9]]},"640":{"position":[[9,9]]},"641":{"position":[[9,9]]},"642":{"position":[[9,9]]},"643":{"position":[[9,9]]},"654":{"position":[[31,9]]},"656":{"position":[[55,9]]},"660":{"position":[[11,9],[447,10]]},"662":{"position":[[74,9],[511,10]]},"663":{"position":[[51,9],[221,9]]},"668":{"position":[[31,9]]},"670":{"position":[[337,9]]},"681":{"position":[[1271,10],[1303,10]]},"682":{"position":[[1038,10],[1070,10]]},"683":{"position":[[824,10]]},"684":{"position":[[705,10]]},"685":{"position":[[883,10],[915,10]]},"686":{"position":[[934,10],[966,10]]},"687":{"position":[[749,10]]},"688":{"position":[[561,9],[677,10]]},"691":{"position":[[35,9]]},"692":{"position":[[36,9]]},"693":{"position":[[55,9]]},"694":{"position":[[56,9]]},"703":{"position":[[295,10]]},"731":{"position":[[13,9]]},"739":{"position":[[33,9],[319,9]]},"740":{"position":[[236,9]]},"742":{"position":[[249,9]]},"744":{"position":[[289,9]]},"745":{"position":[[384,9]]},"746":{"position":[[440,9],[672,7]]}},"keywords":{}}],["speed",{"_index":3461,"title":{},"content":{"356":{"position":[[610,7]]},"752":{"position":[[120,8]]}},"keywords":{}}],["speed_of_light",{"_index":4173,"title":{},"content":{"476":{"position":[[1347,14]]}},"keywords":{}}],["splinecalibratoraltern",{"_index":4042,"title":{},"content":{"457":{"position":[[179,25]]}},"keywords":{}}],["split",{"_index":3833,"title":{},"content":{"404":{"position":[[463,7],[768,6]]}},"keywords":{}}],["spread",{"_index":3243,"title":{},"content":{"329":{"position":[[1351,6]]}},"keywords":{}}],["spreadsheet",{"_index":4415,"title":{},"content":{"507":{"position":[[9,11]]}},"keywords":{}}],["sprintf('%04u/%02u/%02u",{"_index":2746,"title":{},"content":{"285":{"position":[[1625,23]]}},"keywords":{}}],["sql",{"_index":2447,"title":{},"content":{"240":{"position":[[1822,3]]}},"keywords":{}}],["sr",{"_index":2903,"title":{},"content":{"304":{"position":[[1673,2],[1852,2],[2071,2],[2165,2],[2305,2],[2436,2],[2533,2],[2715,2],[2822,2],[2993,2],[3112,2],[3282,2],[3502,2],[3642,2],[3789,2],[3953,2],[4051,2],[4150,2],[4264,2],[4536,2],[4648,2],[4810,2],[4957,2],[5070,2],[5183,2],[5294,2],[5460,2],[5626,2],[5765,2],[5911,2],[6078,2],[6226,2],[6356,2],[6518,2],[6731,2]]},"345":{"position":[[281,4]]}},"keywords":{}}],["sr_messag",{"_index":4358,"title":{},"content":{"497":{"position":[[512,11],[811,11]]}},"keywords":{}}],["src",{"_index":3207,"title":{},"content":{"328":{"position":[[60,3]]}},"keywords":{}}],["src/bigwidget.vu",{"_index":3227,"title":{},"content":{"328":{"position":[[1130,17]]}},"keywords":{}}],["src/helloworldwidget.vu",{"_index":3225,"title":{},"content":{"328":{"position":[[986,24],[1233,24]]}},"keywords":{}}],["src/main.j",{"_index":2404,"title":{},"content":{"235":{"position":[[829,11]]}},"keywords":{}}],["src/router.j",{"_index":2405,"title":{},"content":{"235":{"position":[[917,13]]}},"keywords":{}}],["src/tools/datavi",{"_index":2406,"title":{},"content":{"235":{"position":[[953,17]]}},"keywords":{}}],["src/tools/datavis/datavis.vu",{"_index":2410,"title":{},"content":{"235":{"position":[[1187,29]]}},"keywords":{}}],["ss",{"_index":4421,"title":{},"content":{"507":{"position":[[527,2]]}},"keywords":{}}],["ss[0][0][0",{"_index":4423,"title":{},"content":{"507":{"position":[[585,11]]}},"keywords":{}}],["ssh",{"_index":3345,"title":{},"content":{"347":{"position":[[1839,3],[1895,3],[1937,3],[2097,4]]}},"keywords":{}}],["sshgoto",{"_index":3339,"title":{},"content":{"347":{"position":[[1404,7]]}},"keywords":{}}],["sshyou",{"_index":3336,"title":{},"content":{"347":{"position":[[1297,6]]}},"keywords":{}}],["ssl",{"_index":387,"title":{"19":{"position":[[0,3]]}},"content":{"20":{"position":[[224,3]]},"26":{"position":[[59,3]]},"27":{"position":[[75,3]]},"291":{"position":[[79,3],[279,3],[416,3],[477,3],[565,3]]},"324":{"position":[[3678,3]]},"464":{"position":[[502,5],[595,3]]}},"keywords":{}}],["ssl_cert_fil",{"_index":2797,"title":{},"content":{"291":{"position":[[295,13],[1245,13]]}},"keywords":{}}],["stack",{"_index":2533,"title":{},"content":{"253":{"position":[[3383,6]]},"718":{"position":[[678,5]]},"728":{"position":[[682,5]]}},"keywords":{}}],["stackdisplay",{"_index":4586,"title":{},"content":{"606":{"position":[[221,12]]}},"keywords":{}}],["stagnant",{"_index":3826,"title":{},"content":{"403":{"position":[[223,9]]},"427":{"position":[[114,9]]}},"keywords":{}}],["stakehold",{"_index":3397,"title":{},"content":{"351":{"position":[[181,13]]}},"keywords":{}}],["stale",{"_index":3731,"title":{},"content":{"371":{"position":[[34,5],[72,5],[237,6],[422,5]]},"570":{"position":[[26,5]]}},"keywords":{}}],["stale_tim",{"_index":3729,"title":{"371":{"position":[[0,11]]}},"content":{"371":{"position":[[361,10]]}},"keywords":{}}],["stamp",{"_index":2852,"title":{},"content":{"299":{"position":[[672,5],[776,5],[990,6],[1033,5],[1099,6]]},"301":{"position":[[1740,6],[1772,6]]}},"keywords":{}}],["stand",{"_index":191,"title":{},"content":{"6":{"position":[[5,6]]}},"keywords":{}}],["standard",{"_index":494,"title":{},"content":{"22":{"position":[[312,8]]},"63":{"position":[[349,9]]},"107":{"position":[[20,12]]},"108":{"position":[[341,12]]},"120":{"position":[[242,8]]},"176":{"position":[[75,8]]},"177":{"position":[[82,8]]},"187":{"position":[[271,8]]},"227":{"position":[[4269,8]]},"240":{"position":[[36,8]]},"245":{"position":[[187,8]]},"304":{"position":[[1474,8],[1566,8],[1752,8]]},"324":{"position":[[395,8]]},"338":{"position":[[1846,8]]},"357":{"position":[[58,8]]},"429":{"position":[[882,8]]},"469":{"position":[[496,9]]},"476":{"position":[[412,8],[510,8]]},"517":{"position":[[26,8]]},"717":{"position":[[68,8]]},"718":{"position":[[77,8]]},"727":{"position":[[64,8]]},"728":{"position":[[74,8]]},"737":{"position":[[299,8]]}},"keywords":{}}],["standardaddit",{"_index":4045,"title":{},"content":{"457":{"position":[[269,18]]}},"keywords":{}}],["start",{"_index":256,"title":{"252":{"position":[[8,7]]},"736":{"position":[[0,6]]}},"content":{"7":{"position":[[481,5]]},"23":{"position":[[362,5]]},"27":{"position":[[93,5],[1063,7]]},"33":{"position":[[1,5]]},"36":{"position":[[7763,5]]},"46":{"position":[[624,8],[638,8],[804,5]]},"58":{"position":[[223,6],[691,5]]},"59":{"position":[[664,8]]},"60":{"position":[[1062,8]]},"61":{"position":[[642,5]]},"67":{"position":[[888,5]]},"98":{"position":[[27,5]]},"103":{"position":[[1,5],[33,5]]},"192":{"position":[[75,8]]},"202":{"position":[[7763,5]]},"217":{"position":[[362,5]]},"227":{"position":[[4418,5]]},"237":{"position":[[234,8]]},"239":{"position":[[275,8]]},"241":{"position":[[219,5]]},"253":{"position":[[1992,8],[5225,5]]},"254":{"position":[[2698,5]]},"257":{"position":[[1894,7]]},"267":{"position":[[6360,5]]},"289":{"position":[[1224,7]]},"290":{"position":[[55,8]]},"292":{"position":[[732,5],[1089,6],[1269,6],[1276,5]]},"294":{"position":[[21,8]]},"299":{"position":[[627,8]]},"300":{"position":[[842,8],[866,5]]},"302":{"position":[[169,8]]},"304":{"position":[[2137,5],[2419,5],[3823,8]]},"307":{"position":[[329,5],[338,5]]},"309":{"position":[[308,5],[317,5]]},"315":{"position":[[400,5],[413,8]]},"321":{"position":[[1087,6]]},"324":{"position":[[2405,5]]},"325":{"position":[[36,5],[104,5],[199,6]]},"331":{"position":[[131,7]]},"334":{"position":[[124,6]]},"338":{"position":[[1729,8]]},"343":{"position":[[486,5]]},"347":{"position":[[393,8]]},"357":{"position":[[313,8]]},"418":{"position":[[1283,5],[1373,5]]},"419":{"position":[[1336,5],[1426,5]]},"420":{"position":[[1308,5],[1398,5]]},"429":{"position":[[1749,6]]},"431":{"position":[[316,6]]},"435":{"position":[[303,6]]},"443":{"position":[[96,5],[133,5],[168,5]]},"444":{"position":[[269,5],[304,5],[341,5],[376,5]]},"446":{"position":[[490,6]]},"448":{"position":[[189,6]]},"476":{"position":[[2274,5],[3186,5]]},"481":{"position":[[244,5]]},"483":{"position":[[1224,6]]},"492":{"position":[[147,7]]},"525":{"position":[[536,5]]},"526":{"position":[[22,5]]},"527":{"position":[[49,5]]},"528":{"position":[[61,7],[150,6],[356,5],[1051,5]]},"540":{"position":[[422,5]]},"547":{"position":[[168,5]]},"555":{"position":[[101,5],[224,5]]},"559":{"position":[[29,6]]},"585":{"position":[[829,5],[905,5]]},"591":{"position":[[315,8]]},"599":{"position":[[697,5],[712,5]]},"600":{"position":[[319,6]]},"605":{"position":[[480,5]]},"606":{"position":[[11,7]]},"607":{"position":[[76,5],[199,5]]},"610":{"position":[[86,8]]},"611":{"position":[[784,5],[884,5],[953,5]]},"612":{"position":[[1266,7],[1307,5]]},"617":{"position":[[512,5]]},"628":{"position":[[307,5]]},"629":{"position":[[228,5]]},"630":{"position":[[204,5]]},"713":{"position":[[1,6],[264,5],[367,5]]},"725":{"position":[[1,6],[249,5],[349,5]]},"736":{"position":[[1,6]]},"754":{"position":[[133,8]]},"762":{"position":[[97,6],[197,5]]},"763":{"position":[[100,6],[201,5]]}},"keywords":{}}],["start("<procedur",{"_index":5413,"title":{},"content":{"736":{"position":[[187,25]]}},"keywords":{}}],["start("test1.rb"",{"_index":5416,"title":{},"content":{"736":{"position":[[458,27]]}},"keywords":{}}],["start/end",{"_index":4488,"title":{"555":{"position":[[0,9]]}},"content":{},"keywords":{}}],["start/go",{"_index":4621,"title":{},"content":{"617":{"position":[[485,8]]}},"keywords":{}}],["start_char",{"_index":1328,"title":{},"content":{"58":{"position":[[761,10]]}},"keywords":{}}],["start_cmd_log",{"_index":4710,"title":{},"content":{"621":{"position":[[4052,13]]}},"keywords":{}}],["start_log",{"_index":4711,"title":{},"content":{"621":{"position":[[4106,13]]}},"keywords":{}}],["start_new_scriptrunner_message_log",{"_index":4712,"title":{},"content":{"621":{"position":[[4160,34]]}},"keywords":{}}],["start_new_server_message_log",{"_index":4713,"title":{},"content":{"621":{"position":[[4235,28]]}},"keywords":{}}],["start_raw_logging_interfac",{"_index":5294,"title":{"713":{"position":[[0,28]]}},"content":{},"keywords":{}}],["start_raw_logging_interface("<interfac",{"_index":5295,"title":{},"content":{"713":{"position":[[115,47]]}},"keywords":{}}],["start_raw_logging_interface("int1"",{"_index":5297,"title":{},"content":{"713":{"position":[[416,45]]}},"keywords":{}}],["start_raw_logging_rout",{"_index":5381,"title":{"725":{"position":[[0,25]]}},"content":{},"keywords":{}}],["start_raw_logging_router("<rout",{"_index":5382,"title":{},"content":{"725":{"position":[[112,41]]}},"keywords":{}}],["start_raw_logging_router("router1"",{"_index":5383,"title":{},"content":{"725":{"position":[[398,45]]}},"keywords":{}}],["start_tim",{"_index":2273,"title":{},"content":{"227":{"position":[[2723,11],[3730,11],[4241,10],[4380,10],[4567,10],[4590,10],[4736,10]]}},"keywords":{}}],["start_tlm_log",{"_index":4714,"title":{},"content":{"621":{"position":[[4304,13]]}},"keywords":{}}],["starttim",{"_index":2299,"title":{},"content":{"227":{"position":[[4674,9]]},"418":{"position":[[1256,10]]},"419":{"position":[[1309,10]]},"420":{"position":[[1281,10]]}},"keywords":{}}],["startup",{"_index":1953,"title":{},"content":{"128":{"position":[[66,7]]}},"keywords":{}}],["stash",{"_index":5393,"title":{"729":{"position":[[0,8]]}},"content":{"730":{"position":[[8,5],[151,5],[168,5]]},"731":{"position":[[23,5],[145,5]]},"732":{"position":[[17,5]]},"733":{"position":[[17,5]]},"734":{"position":[[11,5],[168,5]]}},"keywords":{}}],["stash_al",{"_index":5405,"title":{"732":{"position":[[0,10]]}},"content":{"732":{"position":[[85,11],[177,11]]}},"keywords":{}}],["stash_delet",{"_index":5409,"title":{"734":{"position":[[0,13]]}},"content":{},"keywords":{}}],["stash_delete("<stash",{"_index":5410,"title":{},"content":{"734":{"position":[[79,28]]}},"keywords":{}}],["stash_delete("run_count"",{"_index":5411,"title":{},"content":{"734":{"position":[[213,35]]}},"keywords":{}}],["stash_get",{"_index":5402,"title":{"731":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_get("<stash",{"_index":5403,"title":{},"content":{"731":{"position":[[59,25]]}},"keywords":{}}],["stash_get('run_count",{"_index":5404,"title":{},"content":{"731":{"position":[[190,22]]}},"keywords":{}}],["stash_key",{"_index":5408,"title":{"733":{"position":[[0,11]]}},"content":{"733":{"position":[[63,12]]}},"keywords":{}}],["stash_set",{"_index":5394,"title":{"730":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_set("<stash",{"_index":5395,"title":{},"content":{"730":{"position":[[44,25]]}},"keywords":{}}],["stash_set('run_count",{"_index":5399,"title":{},"content":{"730":{"position":[[218,22]]}},"keywords":{}}],["stash_set('setpoint",{"_index":5400,"title":{},"content":{"730":{"position":[[244,21]]}},"keywords":{}}],["stat",{"_index":3453,"title":{},"content":{"355":{"position":[[1058,6]]},"357":{"position":[[1003,5],[2494,5],[3865,5]]}},"keywords":{}}],["state",{"_index":423,"title":{},"content":{"20":{"position":[[489,5]]},"36":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"39":{"position":[[257,5]]},"40":{"position":[[827,5],[843,5],[1156,5],[1172,5],[1291,5],[1309,5]]},"46":{"position":[[1652,6]]},"71":{"position":[[630,5]]},"72":{"position":[[53,5]]},"73":{"position":[[61,5]]},"74":{"position":[[64,5]]},"75":{"position":[[137,5]]},"76":{"position":[[160,5]]},"77":{"position":[[159,5]]},"78":{"position":[[151,5]]},"202":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"226":{"position":[[921,5],[936,5]]},"232":{"position":[[817,7],[1189,5],[1203,5]]},"233":{"position":[[853,5],[900,7],[1467,5],[1481,5]]},"253":{"position":[[3034,5],[3048,5],[4204,6],[4291,5],[4328,5],[4983,5],[4997,5]]},"254":{"position":[[1634,5],[1648,5]]},"267":{"position":[[1909,6],[2043,6],[2310,5],[2370,5],[2406,5],[2438,5],[2489,5],[2628,5],[2642,5],[2655,5],[2755,5],[2801,5],[2858,5],[8681,6],[8701,5],[8868,6],[10433,5]]},"285":{"position":[[276,5],[288,5],[363,5],[377,5],[525,5],[539,5],[552,5],[565,5],[1090,5],[1111,5]]},"303":{"position":[[898,5],[939,7],[965,5],[1005,7],[1108,7],[1167,7],[1553,5],[1594,5],[1636,5]]},"305":{"position":[[941,6],[1218,6],[1378,5]]},"403":{"position":[[346,5]]},"404":{"position":[[1010,5],[1073,5],[1120,5]]},"411":{"position":[[942,5],[1005,5],[1052,5]]},"427":{"position":[[237,5]]},"442":{"position":[[1285,5],[1337,5]]},"444":{"position":[[1253,5]]},"459":{"position":[[84,5]]},"470":{"position":[[286,6]]},"487":{"position":[[107,6],[180,6]]},"497":{"position":[[118,5]]},"532":{"position":[[54,5]]},"533":{"position":[[301,6],[375,6],[394,5]]},"534":{"position":[[114,6],[275,5]]},"568":{"position":[[240,6]]},"578":{"position":[[323,6],[362,5],[1001,5],[1086,5]]},"607":{"position":[[256,5]]},"618":{"position":[[520,5]]},"649":{"position":[[1465,9]]},"651":{"position":[[451,7]]},"662":{"position":[[39,6]]},"663":{"position":[[39,5]]},"700":{"position":[[1722,6]]},"702":{"position":[[28,5],[287,6]]},"715":{"position":[[142,6],[544,6],[1102,6]]},"724":{"position":[[136,6],[520,6],[1063,6]]}},"keywords":{}}],["statement",{"_index":1691,"title":{},"content":{"85":{"position":[[1500,11]]},"304":{"position":[[2640,9],[3220,9],[3318,9],[3378,9],[4486,10]]},"496":{"position":[[342,10],[383,9]]},"502":{"position":[[27,11],[139,10],[204,9],[297,10],[396,10],[685,10]]},"617":{"position":[[1304,10]]},"681":{"position":[[1125,9]]},"682":{"position":[[892,9]]},"683":{"position":[[678,9]]},"685":{"position":[[737,9]]},"686":{"position":[[788,9]]},"687":{"position":[[603,9]]},"688":{"position":[[533,9]]},"737":{"position":[[333,9],[362,10]]}},"keywords":{}}],["static",{"_index":2439,"title":{},"content":{"240":{"position":[[1183,6],[1389,6]]},"250":{"position":[[391,6]]},"517":{"position":[[703,6],[786,6]]}},"keywords":{}}],["static_config",{"_index":3417,"title":{},"content":{"352":{"position":[[544,15],[691,15],[833,15],[981,15],[1127,15]]}},"keywords":{}}],["statist",{"_index":1843,"title":{},"content":{"103":{"position":[[458,11]]},"459":{"position":[[766,11],[1559,11]]},"465":{"position":[[744,11]]}},"keywords":{}}],["statu",{"_index":305,"title":{"543":{"position":[[0,6]]}},"content":{"9":{"position":[[567,7]]},"33":{"position":[[646,6],[905,6]]},"44":{"position":[[2026,7]]},"83":{"position":[[2319,6]]},"87":{"position":[[193,6]]},"232":{"position":[[918,6]]},"233":{"position":[[1135,6]]},"253":{"position":[[4749,6],[5130,6],[5643,7]]},"285":{"position":[[87,6]]},"297":{"position":[[445,6]]},"301":{"position":[[43,6]]},"310":{"position":[[563,6],[659,6]]},"424":{"position":[[576,6],[788,6]]},"533":{"position":[[468,6],[773,6]]},"536":{"position":[[55,6]]},"540":{"position":[[103,6]]},"543":{"position":[[5,6]]},"606":{"position":[[326,6]]},"666":{"position":[[563,6]]},"709":{"position":[[22,6],[78,6]]},"723":{"position":[[18,6],[71,6]]}},"keywords":{}}],["status"",{"_index":246,"title":{},"content":{"7":{"position":[[195,12],[871,12]]},"8":{"position":[[215,12],[366,12]]},"9":{"position":[[223,12]]},"264":{"position":[[622,12]]}},"keywords":{}}],["status\\naddit",{"_index":301,"title":{},"content":{"9":{"position":[[389,18]]}},"keywords":{}}],["status_bar",{"_index":4629,"title":{},"content":{"620":{"position":[[277,10]]},"621":{"position":[[3959,10]]}},"keywords":{}}],["statusaddit",{"_index":306,"title":{},"content":{"9":{"position":[[716,16]]}},"keywords":{}}],["statusclear",{"_index":4632,"title":{},"content":{"621":{"position":[[163,11]]}},"keywords":{}}],["statusget_all_target_info",{"_index":4626,"title":{},"content":{"620":{"position":[[151,25]]}},"keywords":{}}],["stay",{"_index":3538,"title":{},"content":{"357":{"position":[[2462,5]]}},"keywords":{}}],["stddev",{"_index":2290,"title":{},"content":{"227":{"position":[[3341,7]]},"418":{"position":[[515,6],[1242,6]]},"419":{"position":[[549,6],[1295,6]]},"420":{"position":[[533,6],[1267,6]]}},"keywords":{}}],["stdout",{"_index":2906,"title":{},"content":{"304":{"position":[[2868,7]]},"350":{"position":[[526,6],[856,6],[1178,6]]}},"keywords":{}}],["step",{"_index":592,"title":{"294":{"position":[[5,6]]},"496":{"position":[[40,6]]}},"content":{"27":{"position":[[963,5]]},"46":{"position":[[1062,5],[1173,5],[1234,4]]},"61":{"position":[[1940,5]]},"85":{"position":[[107,5]]},"103":{"position":[[427,4]]},"304":{"position":[[4684,4],[4773,4]]},"320":{"position":[[1583,6]]},"322":{"position":[[1378,4]]},"459":{"position":[[1040,4]]},"487":{"position":[[295,6]]},"496":{"position":[[291,5],[509,5]]},"525":{"position":[[222,6]]},"612":{"position":[[1156,5]]},"613":{"position":[[239,4],[265,4]]},"756":{"position":[[26,4]]}},"keywords":{}}],["step_mod",{"_index":5498,"title":{"756":{"position":[[0,10]]}},"content":{"756":{"position":[[120,11]]}},"keywords":{}}],["steps_to_mov",{"_index":4294,"title":{},"content":{"487":{"position":[[900,13],[1312,15],[1367,13]]}},"keywords":{}}],["stern",{"_index":3254,"title":{},"content":{"334":{"position":[[884,5]]}},"keywords":{}}],["still",{"_index":320,"title":{"107":{"position":[[13,5]]}},"content":{"11":{"position":[[244,5]]},"36":{"position":[[2195,5],[8236,5],[10579,5]]},"44":{"position":[[3289,5]]},"69":{"position":[[190,5]]},"198":{"position":[[1288,5]]},"202":{"position":[[2195,5],[8236,5]]},"210":{"position":[[185,5]]},"212":{"position":[[66,5]]},"267":{"position":[[3397,5],[4763,5],[5456,5],[6579,5],[6895,5]]},"278":{"position":[[256,5]]},"324":{"position":[[4043,5]]},"449":{"position":[[325,5]]},"462":{"position":[[238,5]]},"501":{"position":[[106,5]]},"620":{"position":[[96,5]]},"752":{"position":[[311,5]]}},"keywords":{}}],["stop",{"_index":1253,"title":{},"content":{"52":{"position":[[570,4],[590,4]]},"56":{"position":[[449,7]]},"69":{"position":[[1842,4],[1853,5],[2373,4],[2621,4],[3347,5],[4053,5],[4102,4]]},"71":{"position":[[217,4]]},"75":{"position":[[210,5],[375,4],[825,5],[892,4],[904,5],[1284,4],[1639,4]]},"76":{"position":[[234,5],[408,4]]},"77":{"position":[[233,5],[424,4]]},"78":{"position":[[233,5],[423,4]]},"79":{"position":[[449,5],[554,4],[886,5]]},"85":{"position":[[386,4],[835,4],[1548,4]]},"198":{"position":[[1104,5]]},"237":{"position":[[247,8]]},"256":{"position":[[104,4],[253,4],[322,4]]},"259":{"position":[[1134,5]]},"292":{"position":[[1096,5],[1310,5],[1316,4]]},"304":{"position":[[416,4],[2467,8],[2503,4],[2526,6],[4716,4],[4928,5]]},"315":{"position":[[509,4]]},"338":{"position":[[633,4]]},"370":{"position":[[107,5]]},"483":{"position":[[802,7]]},"488":{"position":[[2731,5]]},"491":{"position":[[158,7]]},"501":{"position":[[112,4]]},"502":{"position":[[336,4]]},"505":{"position":[[48,7],[696,8],[1005,7]]},"607":{"position":[[660,4]]},"612":{"position":[[832,4]]},"617":{"position":[[726,4],[743,4]]},"681":{"position":[[294,4]]},"682":{"position":[[188,4]]},"683":{"position":[[284,4]]},"684":{"position":[[164,4]]},"685":{"position":[[176,6],[720,4]]},"686":{"position":[[158,6],[771,4]]},"687":{"position":[[120,5],[586,4]]},"688":{"position":[[109,5],[516,4]]},"714":{"position":[[1,5],[262,4],[364,4]]},"726":{"position":[[1,5],[247,4],[346,4]]},"752":{"position":[[489,5]]}},"keywords":{}}],["stop_background_task",{"_index":4715,"title":{},"content":{"621":{"position":[[4358,20]]}},"keywords":{}}],["stop_bit",{"_index":3268,"title":{},"content":{"338":{"position":[[665,9],[1301,9]]}},"keywords":{}}],["stop_cmd_log",{"_index":4716,"title":{},"content":{"621":{"position":[[4419,12]]}},"keywords":{}}],["stop_log",{"_index":4717,"title":{},"content":{"621":{"position":[[4472,12]]}},"keywords":{}}],["stop_raw_logging_interfac",{"_index":5298,"title":{"714":{"position":[[0,27]]}},"content":{},"keywords":{}}],["stop_raw_logging_interface("<interfac",{"_index":5299,"title":{},"content":{"714":{"position":[[114,46]]}},"keywords":{}}],["stop_raw_logging_interface("int1"",{"_index":5300,"title":{},"content":{"714":{"position":[[412,44]]}},"keywords":{}}],["stop_raw_logging_rout",{"_index":5384,"title":{"726":{"position":[[0,24]]}},"content":{},"keywords":{}}],["stop_raw_logging_router("<rout",{"_index":5385,"title":{},"content":{"726":{"position":[[111,40]]}},"keywords":{}}],["stop_raw_logging_router("router1"",{"_index":5386,"title":{},"content":{"726":{"position":[[394,44]]}},"keywords":{}}],["stop_tlm_log",{"_index":4718,"title":{},"content":{"621":{"position":[[4525,12]]}},"keywords":{}}],["stopped"",{"_index":520,"title":{},"content":{"23":{"position":[[306,13]]}},"keywords":{}}],["storag",{"_index":1806,"title":{},"content":{"99":{"position":[[2331,7]]},"240":{"position":[[1350,7]]},"250":{"position":[[75,7],[253,7],[314,8],[336,7]]},"324":{"position":[[751,7],[872,7],[1200,7]]},"516":{"position":[[64,7],[277,7],[314,8]]},"517":{"position":[[440,7],[731,7]]},"729":{"position":[[87,7],[127,7]]}},"keywords":{}}],["storage"",{"_index":3325,"title":{},"content":{"347":{"position":[[884,13]]}},"keywords":{}}],["store",{"_index":49,"title":{},"content":{"2":{"position":[[328,5],[482,5]]},"27":{"position":[[568,5]]},"36":{"position":[[624,6],[758,5],[897,5],[945,6]]},"43":{"position":[[722,5]]},"76":{"position":[[670,6],[730,6]]},"97":{"position":[[44,5],[135,6]]},"99":{"position":[[584,6],[623,6],[2289,6],[2941,5],[3367,5],[4079,6]]},"108":{"position":[[159,5]]},"136":{"position":[[415,5],[500,5],[530,5],[540,6]]},"181":{"position":[[375,5],[400,5],[430,5],[440,6]]},"202":{"position":[[624,6],[758,5],[897,5],[945,6]]},"213":{"position":[[1,6],[147,5],[286,5],[334,6]]},"249":{"position":[[28,5],[134,5]]},"250":{"position":[[51,6]]},"259":{"position":[[1313,5]]},"263":{"position":[[548,6],[701,8],[949,6]]},"267":{"position":[[619,6],[753,5],[892,5],[940,6]]},"275":{"position":[[1,6],[156,5],[295,5],[343,6]]},"298":{"position":[[419,5],[573,5]]},"322":{"position":[[213,6]]},"352":{"position":[[129,6]]},"357":{"position":[[3492,7]]},"459":{"position":[[1386,6]]},"464":{"position":[[273,6]]},"465":{"position":[[727,6]]},"467":{"position":[[107,6]]},"476":{"position":[[4118,5]]},"480":{"position":[[836,6]]},"484":{"position":[[152,5]]},"507":{"position":[[24,5]]},"530":{"position":[[211,6]]},"599":{"position":[[525,5]]},"603":{"position":[[97,6]]},"650":{"position":[[1133,9]]},"729":{"position":[[33,5],[194,5]]},"762":{"position":[[178,5],[237,5]]}},"keywords":{}}],["str",{"_index":4956,"title":{},"content":{"652":{"position":[[631,3]]}},"keywords":{}}],["straight",{"_index":3650,"title":{},"content":{"360":{"position":[[1193,8]]}},"keywords":{}}],["strategi",{"_index":1415,"title":{},"content":{"67":{"position":[[311,8]]}},"keywords":{}}],["stream",{"_index":55,"title":{"53":{"position":[[0,8]]},"227":{"position":[[0,9]]}},"content":{"2":{"position":[[429,7]]},"49":{"position":[[795,6]]},"50":{"position":[[682,6]]},"52":{"position":[[874,6]]},"53":{"position":[[1,7],[131,6]]},"56":{"position":[[234,7]]},"64":{"position":[[158,7]]},"99":{"position":[[4045,6],[4172,7]]},"112":{"position":[[329,6]]},"116":{"position":[[14,7],[69,7]]},"176":{"position":[[173,7]]},"227":{"position":[[0,9],[145,9],[197,6],[1167,6],[1468,6],[2133,9],[2246,6],[2350,6],[3367,6],[4424,9],[4853,9]]},"240":{"position":[[1254,7]]},"249":{"position":[[94,8],[381,8]]},"253":{"position":[[7920,6]]},"298":{"position":[[520,7],[1591,7]]},"300":{"position":[[634,9],[682,6],[740,9],[786,6]]},"355":{"position":[[696,7]]},"547":{"position":[[83,9]]},"676":{"position":[[1,7],[304,7],[405,6]]}},"keywords":{}}],["stream_id",{"_index":3064,"title":{},"content":{"321":{"position":[[427,9],[1271,9],[1803,9],[2303,9],[2850,9]]}},"keywords":{}}],["streamapi",{"_index":2263,"title":{},"content":{"227":{"position":[[2038,10]]}},"keywords":{}}],["streamingapi",{"_index":2258,"title":{},"content":{"227":{"position":[[1647,12]]}},"keywords":{}}],["streamingchannel",{"_index":2259,"title":{},"content":{"227":{"position":[[1699,19]]}},"keywords":{}}],["strict",{"_index":975,"title":{},"content":{"43":{"position":[[1100,6]]},"467":{"position":[[911,6]]}},"keywords":{}}],["strike",{"_index":4517,"title":{},"content":{"578":{"position":[[1174,6]]}},"keywords":{}}],["string",{"_index":181,"title":{"9":{"position":[[0,6]]}},"content":{"5":{"position":[[1087,6]]},"9":{"position":[[31,6],[102,7],[279,7],[443,7],[608,7],[752,6],[822,7],[921,6],[949,6]]},"31":{"position":[[586,7],[674,7]]},"35":{"position":[[438,6],[729,7],[1430,7]]},"36":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"37":{"position":[[231,6],[522,7],[1223,7]]},"40":{"position":[[1375,6]]},"56":{"position":[[383,6]]},"59":{"position":[[775,6]]},"60":{"position":[[1173,6]]},"61":{"position":[[2073,6]]},"62":{"position":[[569,6],[701,6],[1075,6]]},"63":{"position":[[666,6],[887,6],[1130,6],[1394,6],[1526,6],[2259,6]]},"64":{"position":[[355,6]]},"69":{"position":[[1726,7],[1806,6],[1934,6],[2403,7],[4615,6]]},"75":{"position":[[194,6],[247,7],[1478,7],[1742,7]]},"78":{"position":[[217,6],[270,6]]},"88":{"position":[[171,6]]},"93":{"position":[[519,6],[696,6],[820,6],[836,6],[967,6],[1019,6],[1503,6],[1565,6]]},"94":{"position":[[503,6],[611,6],[627,6],[758,6],[810,6],[861,6],[932,6],[1002,6],[1070,6]]},"99":{"position":[[1534,6],[2022,6],[4293,6],[5179,6]]},"198":{"position":[[887,7],[975,7],[1040,6],[1120,6],[1326,6]]},"201":{"position":[[467,6],[758,7],[1459,7],[2151,6]]},"202":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"203":{"position":[[250,6],[541,7],[1242,7],[1888,6]]},"204":{"position":[[637,6],[928,7],[1603,7]]},"205":{"position":[[473,6],[764,7],[1439,7]]},"206":{"position":[[515,7]]},"207":{"position":[[298,7]]},"216":{"position":[[36,6],[135,6],[302,6]]},"232":{"position":[[1236,6]]},"233":{"position":[[1514,6]]},"249":{"position":[[51,8]]},"253":{"position":[[3086,6],[4474,6],[4481,8],[4534,7],[4610,6],[5030,6]]},"254":{"position":[[1686,6]]},"259":{"position":[[911,7],[999,7],[1079,6],[1119,6],[1363,7],[1374,6]]},"263":{"position":[[1256,7]]},"266":{"position":[[465,6],[752,7]]},"267":{"position":[[1424,7],[1467,6],[2004,8],[2363,6],[2717,6],[2729,6],[7412,7]]},"268":{"position":[[257,6],[544,7]]},"269":{"position":[[588,6],[761,7]]},"270":{"position":[[257,6],[430,7]]},"271":{"position":[[508,7]]},"272":{"position":[[300,7]]},"285":{"position":[[1514,6]]},"321":{"position":[[895,6]]},"401":{"position":[[292,6],[306,6]]},"402":{"position":[[292,6],[306,6]]},"403":{"position":[[75,6],[106,6],[527,6],[554,6]]},"429":{"position":[[437,6],[544,6]]},"454":{"position":[[29,7]]},"476":{"position":[[720,7],[814,7],[4101,7],[4560,7],[4695,6],[4761,7]]},"493":{"position":[[447,7]]},"500":{"position":[[50,7]]},"501":{"position":[[290,6],[426,6],[504,6],[588,7]]},"585":{"position":[[618,6]]},"618":{"position":[[847,7],[894,6],[930,6],[1058,7],[1240,7]]},"623":{"position":[[90,6]]},"624":{"position":[[80,7],[138,6],[634,6],[682,6],[746,6],[898,6],[946,6],[1010,6]]},"629":{"position":[[475,6],[558,6],[887,6]]},"644":{"position":[[25,6]]},"645":{"position":[[203,6]]},"650":{"position":[[87,7]]},"656":{"position":[[1430,6]]},"657":{"position":[[729,7]]},"658":{"position":[[360,6]]},"660":{"position":[[537,8]]},"662":{"position":[[604,8]]},"663":{"position":[[391,7]]},"669":{"position":[[663,7]]},"670":{"position":[[548,7]]},"671":{"position":[[542,7]]},"672":{"position":[[360,7]]},"681":{"position":[[1393,8]]},"682":{"position":[[1160,8]]},"685":{"position":[[1005,8]]},"686":{"position":[[1056,8]]},"707":{"position":[[132,6]]},"718":{"position":[[613,9]]},"728":{"position":[[617,9]]},"745":{"position":[[446,6],[652,6],[924,6]]},"746":{"position":[[502,6],[1114,6],[1414,6]]},"754":{"position":[[808,6],[966,6]]}},"keywords":{}}],["string"",{"_index":892,"title":{},"content":{"40":{"position":[[1406,12]]},"285":{"position":[[1471,12]]},"624":{"position":[[668,13],[932,13]]},"629":{"position":[[123,13]]}},"keywords":{}}],["stringent",{"_index":4400,"title":{},"content":{"504":{"position":[[583,9]]}},"keywords":{}}],["strip",{"_index":17,"title":{},"content":{"1":{"position":[[187,7]]},"8":{"position":[[240,5],[415,8]]},"9":{"position":[[1049,9]]},"58":{"position":[[734,5],[751,5]]},"62":{"position":[[728,5]]},"63":{"position":[[1912,5]]},"67":{"position":[[240,5]]},"69":{"position":[[3741,9]]}},"keywords":{}}],["strive",{"_index":2608,"title":{},"content":{"259":{"position":[[1303,6]]}},"keywords":{}}],["strong",{"_index":4103,"title":{},"content":{"464":{"position":[[125,6]]}},"keywords":{}}],["strongli",{"_index":4101,"title":{},"content":{"464":{"position":[[17,8]]}},"keywords":{}}],["struct",{"_index":3236,"title":{},"content":{"329":{"position":[[1035,6],[1097,6]]}},"keywords":{}}],["structur",{"_index":1358,"title":{"96":{"position":[[4,9]]},"119":{"position":[[17,10]]}},"content":{"61":{"position":[[736,9]]},"97":{"position":[[150,11]]},"119":{"position":[[46,9]]},"176":{"position":[[545,11]]},"198":{"position":[[699,11]]},"222":{"position":[[136,10]]},"229":{"position":[[1519,9]]},"253":{"position":[[1253,10],[6196,9]]},"259":{"position":[[726,11]]},"260":{"position":[[90,10]]},"281":{"position":[[136,10]]},"304":{"position":[[587,10]]},"320":{"position":[[306,10]]},"328":{"position":[[120,9]]},"329":{"position":[[1330,9]]},"343":{"position":[[357,9],[394,9]]},"583":{"position":[[180,9]]},"609":{"position":[[16,10]]}},"keywords":{}}],["studio",{"_index":1555,"title":{},"content":{"83":{"position":[[47,6]]},"332":{"position":[[8,6]]}},"keywords":{}}],["stuf",{"_index":1305,"title":{},"content":{"57":{"position":[[30,8]]}},"keywords":{}}],["stupid",{"_index":4217,"title":{"479":{"position":[[21,8]]}},"content":{},"keywords":{}}],["style",{"_index":658,"title":{},"content":{"36":{"position":[[86,5]]},"63":{"position":[[727,5]]},"202":{"position":[[86,5]]},"267":{"position":[[81,5]]},"328":{"position":[[456,5]]},"403":{"position":[[541,5]]},"476":{"position":[[1224,5],[1826,6],[2715,6]]},"482":{"position":[[427,5]]},"618":{"position":[[823,5]]}},"keywords":{}}],["stylesheet",{"_index":3760,"title":{},"content":{"382":{"position":[[17,10]]}},"keywords":{}}],["su",{"_index":3167,"title":{},"content":{"324":{"position":[[2010,2]]}},"keywords":{}}],["sub",{"_index":1773,"title":{},"content":{"95":{"position":[[544,3]]},"345":{"position":[[178,3]]}},"keywords":{}}],["subarray",{"_index":5254,"title":{},"content":{"707":{"position":[[91,8]]},"715":{"position":[[93,8]]},"724":{"position":[[90,8]]}},"keywords":{}}],["subclass",{"_index":1547,"title":{},"content":{"80":{"position":[[292,10],[440,10],[542,11]]}},"keywords":{}}],["subdirectori",{"_index":3296,"title":{},"content":{"345":{"position":[[286,12]]}},"keywords":{}}],["subject",{"_index":3687,"title":{},"content":{"363":{"position":[[1188,7]]},"459":{"position":[[1264,8],[1580,7]]},"465":{"position":[[103,7]]},"773":{"position":[[108,7]]}},"keywords":{}}],["sublabel",{"_index":3883,"title":{},"content":{"424":{"position":[[368,8],[403,8]]}},"keywords":{}}],["submenu",{"_index":2100,"title":{},"content":{"190":{"position":[[76,7]]}},"keywords":{}}],["submit",{"_index":4047,"title":{},"content":{"457":{"position":[[390,6]]}},"keywords":{}}],["submodul",{"_index":3001,"title":{},"content":{"317":{"position":[[21,10]]},"318":{"position":[[409,9],[441,9]]}},"keywords":{}}],["subroutin",{"_index":5412,"title":{},"content":{"735":{"position":[[51,11]]},"736":{"position":[[165,11]]},"737":{"position":[[45,11],[100,11],[202,11],[534,11]]}},"keywords":{}}],["subscrib",{"_index":2065,"title":{},"content":{"176":{"position":[[184,9]]},"227":{"position":[[1628,11]]},"315":{"position":[[77,11]]},"322":{"position":[[1516,9]]},"460":{"position":[[225,9]]},"461":{"position":[[321,9]]},"674":{"position":[[13,11]]},"675":{"position":[[292,9]]}},"keywords":{}}],["subscribe_limits_ev",{"_index":4719,"title":{},"content":{"621":{"position":[[4578,23]]}},"keywords":{}}],["subscribe_packet",{"_index":4721,"title":{"675":{"position":[[0,17]]}},"content":{"621":{"position":[[4709,17]]},"676":{"position":[[213,17]]}},"keywords":{}}],["subscribe_packet_data",{"_index":4720,"title":{},"content":{"621":{"position":[[4642,21]]}},"keywords":{}}],["subscribe_packets([['inst",{"_index":4370,"title":{},"content":{"499":{"position":[[547,27],[884,27]]},"675":{"position":[[336,27]]},"676":{"position":[[433,27],[936,27]]}},"keywords":{}}],["subscribe_packets(packet",{"_index":5096,"title":{},"content":{"675":{"position":[[164,26]]}},"keywords":{}}],["subscribe_server_messag",{"_index":4722,"title":{},"content":{"621":{"position":[[4727,25]]}},"keywords":{}}],["subscript",{"_index":2253,"title":{"674":{"position":[[12,14]]}},"content":{"227":{"position":[[1086,16],[1105,12],[1193,12],[1223,12],[1522,12],[1592,12],[1912,13],[2006,12],[2199,12],[4514,12]]},"322":{"position":[[1463,12]]},"361":{"position":[[410,14]]},"499":{"position":[[326,12],[358,12]]},"676":{"position":[[37,13]]}},"keywords":{}}],["subsec",{"_index":3100,"title":{},"content":{"321":{"position":[[3181,7]]}},"keywords":{}}],["subset",{"_index":3263,"title":{"383":{"position":[[0,11]]}},"content":{"338":{"position":[[78,6]]},"373":{"position":[[18,10],[63,11]]},"374":{"position":[[233,11],[304,10]]},"383":{"position":[[18,10],[63,11],[814,10],[921,10]]},"492":{"position":[[396,6]]}},"keywords":{}}],["substanti",{"_index":3637,"title":{},"content":{"360":{"position":[[645,11]]}},"keywords":{}}],["substitut",{"_index":2604,"title":{},"content":{"257":{"position":[[1782,12]]}},"keywords":{}}],["subsystem",{"_index":2702,"title":{},"content":{"283":{"position":[[167,9],[228,9]]},"284":{"position":[[401,9]]},"480":{"position":[[359,10],[592,9],[1076,9]]},"482":{"position":[[1077,10]]}},"keywords":{}}],["subwidget",{"_index":3739,"title":{},"content":{"373":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[647,9],[684,9]]},"383":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[565,9],[616,10]]}},"keywords":{}}],["succe",{"_index":2908,"title":{},"content":{"304":{"position":[[3445,8]]},"492":{"position":[[582,8]]}},"keywords":{}}],["success",{"_index":1177,"title":{},"content":{"46":{"position":[[1242,11],[1515,11]]},"224":{"position":[[107,7]]},"304":{"position":[[669,10],[3328,7],[3470,7]]},"310":{"position":[[524,7],[621,7]]},"337":{"position":[[251,11]]},"492":{"position":[[667,11]]},"546":{"position":[[177,10]]},"548":{"position":[[467,7]]},"644":{"position":[[1098,10]]},"681":{"position":[[655,7],[1528,7],[1593,7],[1738,7],[1803,7]]},"682":{"position":[[353,7],[1264,7],[1345,7],[1471,7],[1552,7]]},"683":{"position":[[438,7],[938,7]]},"684":{"position":[[320,7],[819,7]]},"758":{"position":[[107,11]]}},"keywords":{}}],["successfulli",{"_index":845,"title":{},"content":{"36":{"position":[[10185,12]]},"84":{"position":[[332,12]]},"103":{"position":[[401,12]]},"202":{"position":[[10185,12]]},"229":{"position":[[311,12]]},"230":{"position":[[338,12]]},"231":{"position":[[388,12]]},"232":{"position":[[447,12]]},"233":{"position":[[478,12]]},"234":{"position":[[444,12]]},"235":{"position":[[616,12]]},"253":{"position":[[1506,12],[2310,12]]},"254":{"position":[[120,12],[1934,12]]},"334":{"position":[[586,12]]},"504":{"position":[[417,13]]},"527":{"position":[[326,12]]}},"keywords":{}}],["such",{"_index":615,"title":{},"content":{"31":{"position":[[206,4]]},"36":{"position":[[5135,4]]},"54":{"position":[[585,4]]},"61":{"position":[[746,4]]},"62":{"position":[[576,4],[708,4]]},"63":{"position":[[336,4],[1401,4],[1533,4]]},"69":{"position":[[4985,4]]},"88":{"position":[[188,4]]},"121":{"position":[[234,4]]},"176":{"position":[[105,4]]},"177":{"position":[[112,4]]},"202":{"position":[[5135,4]]},"210":{"position":[[42,4]]},"224":{"position":[[314,4]]},"230":{"position":[[2171,4],[2392,4]]},"235":{"position":[[227,4]]},"263":{"position":[[639,4]]},"267":{"position":[[3616,4],[8390,4]]},"298":{"position":[[980,4]]},"304":{"position":[[1266,4],[1594,4]]},"461":{"position":[[440,4]]},"462":{"position":[[149,4]]},"465":{"position":[[154,4]]},"467":{"position":[[677,4],[793,4],[1164,4]]},"476":{"position":[[3875,4]]},"480":{"position":[[337,4]]},"482":{"position":[[823,4],[885,4],[963,4],[1118,4]]},"488":{"position":[[206,4]]},"496":{"position":[[65,4],[297,4]]},"514":{"position":[[73,4]]},"516":{"position":[[285,4]]},"544":{"position":[[125,4]]},"591":{"position":[[178,4]]},"617":{"position":[[243,4]]},"618":{"position":[[510,4]]},"737":{"position":[[632,4]]}},"keywords":{}}],["sudo",{"_index":1163,"title":{},"content":{"46":{"position":[[763,4]]},"324":{"position":[[1640,4],[1656,4],[1815,4],[1868,4],[1912,4],[2005,4],[2212,4],[2276,4]]},"341":{"position":[[279,4]]},"347":{"position":[[2133,4],[2172,4],[2210,4],[2226,4],[2243,4],[2318,4],[2340,4]]}},"keywords":{}}],["suggest",{"_index":2772,"title":{},"content":{"289":{"position":[[830,9]]}},"keywords":{}}],["suit",{"_index":3,"title":{"44":{"position":[[0,5]]},"609":{"position":[[15,7]]},"611":{"position":[[0,6]]},"612":{"position":[[7,5]]},"753":{"position":[[14,7]]}},"content":{"1":{"position":[[13,5]]},"44":{"position":[[36,5],[384,4]]},"304":{"position":[[1217,5],[4977,5],[5028,7],[5063,6],[5090,5],[5203,5],[5314,5],[5480,5],[5520,5],[5582,5],[5610,5],[5646,5],[5699,5],[5758,6],[5785,5],[5931,5],[6098,5],[6246,5],[6376,5],[6538,5],[6751,5]]},"448":{"position":[[17,5]]},"482":{"position":[[528,5],[551,8],[655,5],[692,7],[742,6],[1253,6]]},"496":{"position":[[987,7]]},"497":{"position":[[44,5]]},"603":{"position":[[221,5],[347,7]]},"605":{"position":[[52,5]]},"609":{"position":[[32,5],[110,6],[173,5],[202,5],[258,5]]},"610":{"position":[[614,6]]},"611":{"position":[[21,6],[64,5],[351,6],[640,5],[672,6],[797,5]]},"612":{"position":[[18,5],[821,5]]},"753":{"position":[[24,6],[74,7],[129,7]]},"754":{"position":[[31,6],[394,6],[1641,5]]}},"keywords":{}}],["suite'",{"_index":4617,"title":{},"content":{"612":{"position":[[776,7]]}},"keywords":{}}],["suite/group",{"_index":4616,"title":{},"content":{"612":{"position":[[662,12]]}},"keywords":{}}],["suite=${3",{"_index":1085,"title":{},"content":{"44":{"position":[[2144,10]]}},"keywords":{}}],["suiteshttps://pkg.go.dev/crypto/tls#pkg",{"_index":603,"title":{},"content":{"29":{"position":[[50,39]]}},"keywords":{}}],["summari",{"_index":3606,"title":{},"content":{"359":{"position":[[305,8]]}},"keywords":{}}],["super",{"_index":770,"title":{"478":{"position":[[2,5]]}},"content":{"36":{"position":[[5620,7]]},"109":{"position":[[19,5]]},"202":{"position":[[5620,7]]},"267":{"position":[[4100,7]]},"754":{"position":[[1406,7]]}},"keywords":{}}],["super().__init__",{"_index":780,"title":{},"content":{"36":{"position":[[5956,18]]},"202":{"position":[[5956,18]]},"267":{"position":[[4436,18]]},"754":{"position":[[1953,18]]}},"keywords":{}}],["super(allow_empty_data",{"_index":1487,"title":{},"content":{"71":{"position":[[73,23]]}},"keywords":{}}],["suppli",{"_index":14,"title":{},"content":{"1":{"position":[[147,9]]},"12":{"position":[[229,6]]},"298":{"position":[[1005,7]]}},"keywords":{}}],["supply32gb",{"_index":3304,"title":{},"content":{"347":{"position":[[291,10]]}},"keywords":{}}],["support",{"_index":285,"title":{"90":{"position":[[0,9]]},"450":{"position":[[5,7]]},"454":{"position":[[31,8]]},"455":{"position":[[0,9]]}},"content":{"8":{"position":[[8,8]]},"9":{"position":[[8,8]]},"36":{"position":[[8242,9]]},"46":{"position":[[1701,9]]},"51":{"position":[[486,8]]},"60":{"position":[[622,8]]},"61":{"position":[[439,8]]},"64":{"position":[[733,7]]},"88":{"position":[[128,10],[274,10],[333,10]]},"90":{"position":[[21,9]]},"93":{"position":[[485,10]]},"94":{"position":[[469,10]]},"95":{"position":[[128,9]]},"99":{"position":[[3954,9]]},"107":{"position":[[10,7],[113,7]]},"114":{"position":[[150,7]]},"120":{"position":[[376,9]]},"121":{"position":[[369,7]]},"139":{"position":[[140,7]]},"175":{"position":[[141,7]]},"202":{"position":[[8242,9]]},"229":{"position":[[1256,7]]},"239":{"position":[[461,7],[507,7]]},"249":{"position":[[39,7]]},"253":{"position":[[4081,9],[4144,9],[8282,7]]},"254":{"position":[[2925,7]]},"263":{"position":[[540,7]]},"267":{"position":[[6901,9]]},"291":{"position":[[105,7]]},"297":{"position":[[599,7]]},"298":{"position":[[929,7]]},"299":{"position":[[538,7]]},"301":{"position":[[1554,7]]},"302":{"position":[[355,7],[688,7],[772,7]]},"303":{"position":[[1362,7]]},"304":{"position":[[1988,10],[3528,7],[3668,7],[3815,7],[3979,7],[4077,7],[4176,7],[4290,7],[4562,7],[4674,7],[4836,7],[4994,7],[5107,7],[5220,7],[5331,7],[5497,7],[5802,7],[5948,7],[6115,7],[6263,7],[6393,7],[6555,7],[6768,7]]},"305":{"position":[[1045,7],[1160,7],[1416,7]]},"306":{"position":[[512,7]]},"307":{"position":[[283,7],[392,7],[522,7],[611,7],[723,7],[820,7],[917,7],[1018,7],[1114,7]]},"308":{"position":[[176,7],[281,7],[370,7],[467,7],[643,7],[728,7],[814,7]]},"309":{"position":[[252,7],[367,7],[469,7],[564,7],[664,7]]},"311":{"position":[[246,7],[326,7],[511,7],[604,7],[690,7],[776,7],[858,7]]},"338":{"position":[[124,10]]},"353":{"position":[[167,9]]},"361":{"position":[[510,7]]},"362":{"position":[[587,7]]},"375":{"position":[[30,8]]},"376":{"position":[[32,8]]},"377":{"position":[[32,8]]},"378":{"position":[[34,8]]},"455":{"position":[[64,10]]},"457":{"position":[[68,7],[373,9]]},"467":{"position":[[728,7]]},"475":{"position":[[8,8]]},"498":{"position":[[87,8]]},"500":{"position":[[207,7]]},"527":{"position":[[547,8]]},"541":{"position":[[147,7]]},"542":{"position":[[150,7]]},"596":{"position":[[104,8]]},"616":{"position":[[205,7]]},"652":{"position":[[215,10]]},"681":{"position":[[129,8]]},"713":{"position":[[339,7]]},"714":{"position":[[336,7]]},"725":{"position":[[321,7]]},"726":{"position":[[318,7]]},"736":{"position":[[436,10]]}},"keywords":{}}],["support@openc3.com",{"_index":2592,"title":{},"content":{"254":{"position":[[2999,19]]},"472":{"position":[[82,18]]}},"keywords":{}}],["supportcloud",{"_index":3665,"title":{},"content":{"362":{"position":[[235,12]]}},"keywords":{}}],["supportedal",{"_index":4028,"title":{},"content":{"454":{"position":[[77,12]]}},"keywords":{}}],["supportedonli",{"_index":4035,"title":{},"content":{"454":{"position":[[252,13]]}},"keywords":{}}],["supportedpacket",{"_index":4031,"title":{},"content":{"454":{"position":[[144,15]]}},"keywords":{}}],["supportedpolynomialcalibr",{"_index":4034,"title":{},"content":{"454":{"position":[[217,30]]}},"keywords":{}}],["supportedst",{"_index":4032,"title":{},"content":{"454":{"position":[[178,15]]}},"keywords":{}}],["supportedtelemetri",{"_index":4030,"title":{},"content":{"454":{"position":[[108,18]]}},"keywords":{}}],["supportedunit",{"_index":4033,"title":{},"content":{"454":{"position":[[198,14]]}},"keywords":{}}],["supportkubernet",{"_index":3664,"title":{},"content":{"362":{"position":[[217,17]]}},"keywords":{}}],["supportsupport",{"_index":3668,"title":{},"content":{"362":{"position":[[336,14]]}},"keywords":{}}],["suppos",{"_index":1370,"title":{},"content":{"61":{"position":[[2749,7]]}},"keywords":{}}],["suppress",{"_index":684,"title":{},"content":{"36":{"position":[[1278,10]]},"202":{"position":[[1278,10]]},"267":{"position":[[1273,10]]}},"keywords":{}}],["sure",{"_index":1176,"title":{},"content":{"46":{"position":[[1213,4]]},"61":{"position":[[815,4],[1322,4]]},"234":{"position":[[478,4]]},"235":{"position":[[650,4]]},"253":{"position":[[6240,4]]},"322":{"position":[[1033,4],[1729,4]]},"324":{"position":[[3728,4]]},"337":{"position":[[90,4]]},"341":{"position":[[200,4]]},"347":{"position":[[452,4],[1437,4],[1610,5],[1649,4]]},"448":{"position":[[219,4]]},"449":{"position":[[309,4]]},"478":{"position":[[999,4]]},"488":{"position":[[2292,4],[2440,4],[2573,4]]},"505":{"position":[[499,4]]},"528":{"position":[[1017,4]]}},"keywords":{}}],["suspect",{"_index":4090,"title":{},"content":{"461":{"position":[[1071,7]]}},"keywords":{}}],["svelt",{"_index":2400,"title":{},"content":{"235":{"position":[[262,7]]},"246":{"position":[[376,7]]}},"keywords":{}}],["swap",{"_index":3244,"title":{},"content":{"329":{"position":[[1408,9]]}},"keywords":{}}],["swap=0",{"_index":2775,"title":{},"content":{"289":{"position":[[887,6]]}},"keywords":{}}],["switch",{"_index":16,"title":{},"content":{"1":{"position":[[172,8]]},"309":{"position":[[604,6]]},"324":{"position":[[3655,9]]},"360":{"position":[[1358,6]]}},"keywords":{}}],["symbol",{"_index":1450,"title":{},"content":{"69":{"position":[[1710,8],[1785,6]]},"481":{"position":[[265,6]]},"652":{"position":[[612,6]]},"656":{"position":[[1073,6]]},"657":{"position":[[714,7]]},"660":{"position":[[522,7]]},"662":{"position":[[589,7]]},"669":{"position":[[648,7]]},"670":{"position":[[533,7]]},"671":{"position":[[527,7]]},"672":{"position":[[345,7]]},"681":{"position":[[1378,7]]},"682":{"position":[[1145,7]]},"685":{"position":[[990,7]]},"686":{"position":[[1041,7]]},"718":{"position":[[597,8]]},"728":{"position":[[601,8]]}},"keywords":{}}],["sync",{"_index":1333,"title":{},"content":{"59":{"position":[[291,4],[330,4],[412,4],[446,4],[682,4],[702,4],[758,4],[929,4],[970,4],[1019,4]]},"60":{"position":[[471,4],[633,4],[689,4],[1080,4],[1100,4],[1156,4],[1327,4],[1369,4],[1488,4]]},"61":{"position":[[450,4],[517,4],[853,4],[1205,4],[1360,4],[1857,4],[1877,4],[2056,4],[2227,4],[2269,4],[2383,4],[2450,4],[2803,4],[2868,4],[3270,4]]},"62":{"position":[[982,4],[1002,4],[1058,4],[1229,4],[1271,4],[1320,4]]},"63":{"position":[[2166,4],[2186,4],[2242,4],[2413,4],[2455,4],[2504,4]]},"64":{"position":[[505,4],[540,4],[585,4]]},"201":{"position":[[1959,4]]},"203":{"position":[[1749,4]]},"332":{"position":[[589,4],[942,6]]},"334":{"position":[[1386,4]]},"481":{"position":[[188,4]]},"528":{"position":[[962,5]]}},"keywords":{}}],["syntax",{"_index":227,"title":{},"content":{"6":{"position":[[753,7],[1111,6]]},"7":{"position":[[1080,7]]},"9":{"position":[[873,7]]},"36":{"position":[[168,7]]},"93":{"position":[[472,8]]},"94":{"position":[[456,8]]},"121":{"position":[[554,7]]},"202":{"position":[[168,7]]},"253":{"position":[[7386,6]]},"267":{"position":[[163,7]]},"304":{"position":[[126,6],[4087,6],[4136,6]]},"338":{"position":[[117,6]]},"429":{"position":[[852,6],[908,7]]},"476":{"position":[[856,7]]},"488":{"position":[[1837,7],[1997,6]]},"493":{"position":[[104,6],[128,6],[239,6],[275,6]]},"501":{"position":[[525,6]]},"592":{"position":[[136,6]]},"606":{"position":[[128,6]]},"617":{"position":[[289,6]]},"623":{"position":[[233,7]]},"624":{"position":[[192,7]]},"627":{"position":[[204,7]]},"628":{"position":[[62,7],[144,7]]},"629":{"position":[[55,7]]},"630":{"position":[[54,7]]},"632":{"position":[[454,7],[691,7]]},"634":{"position":[[89,7]]},"636":{"position":[[34,7],[399,7]]},"637":{"position":[[196,7],[591,7]]},"638":{"position":[[201,7],[604,7]]},"639":{"position":[[270,7],[655,7]]},"640":{"position":[[62,7],[451,7]]},"641":{"position":[[219,7],[638,7]]},"642":{"position":[[224,7],[651,7]]},"643":{"position":[[293,7],[702,7]]},"644":{"position":[[38,7],[111,7]]},"645":{"position":[[48,7]]},"646":{"position":[[175,7]]},"647":{"position":[[79,7]]},"648":{"position":[[81,7]]},"649":{"position":[[62,7]]},"650":{"position":[[110,7]]},"651":{"position":[[100,7]]},"652":{"position":[[241,7]]},"653":{"position":[[66,7]]},"654":{"position":[[79,7]]},"656":{"position":[[341,7]]},"657":{"position":[[260,7]]},"658":{"position":[[417,7],[635,6],[919,7]]},"659":{"position":[[140,7]]},"660":{"position":[[62,7]]},"661":{"position":[[93,7]]},"662":{"position":[[217,7]]},"663":{"position":[[261,7]]},"664":{"position":[[62,7]]},"665":{"position":[[61,7]]},"666":{"position":[[39,7]]},"667":{"position":[[38,7]]},"668":{"position":[[92,7]]},"669":{"position":[[380,7]]},"670":{"position":[[90,7]]},"671":{"position":[[242,7]]},"672":{"position":[[93,7]]},"673":{"position":[[216,7]]},"675":{"position":[[155,7]]},"676":{"position":[[57,7],[116,7]]},"677":{"position":[[61,7]]},"678":{"position":[[73,7]]},"679":{"position":[[69,7]]},"681":{"position":[[154,8],[365,7],[569,7]]},"682":{"position":[[267,7]]},"683":{"position":[[352,7]]},"684":{"position":[[242,7]]},"685":{"position":[[198,7]]},"686":{"position":[[180,7]]},"687":{"position":[[244,6],[294,7]]},"688":{"position":[[130,7]]},"690":{"position":[[115,7],[220,7]]},"691":{"position":[[76,7]]},"692":{"position":[[77,7]]},"693":{"position":[[99,7]]},"694":{"position":[[100,7]]},"695":{"position":[[65,6]]},"696":{"position":[[80,7]]},"697":{"position":[[95,6]]},"698":{"position":[[63,6]]},"699":{"position":[[86,7]]},"700":{"position":[[228,7]]},"701":{"position":[[146,6]]},"702":{"position":[[109,7]]},"703":{"position":[[100,7]]},"705":{"position":[[64,6]]},"706":{"position":[[78,7]]},"707":{"position":[[168,6]]},"709":{"position":[[125,7]]},"710":{"position":[[76,6]]},"711":{"position":[[72,7]]},"712":{"position":[[77,7]]},"713":{"position":[[106,7]]},"714":{"position":[[105,7]]},"715":{"position":[[296,6],[841,6]]},"716":{"position":[[119,7]]},"717":{"position":[[175,7]]},"718":{"position":[[182,7]]},"720":{"position":[[42,7]]},"721":{"position":[[45,7]]},"722":{"position":[[73,6]]},"723":{"position":[[118,7]]},"724":{"position":[[290,6],[827,6]]},"725":{"position":[[103,7]]},"726":{"position":[[102,7]]},"727":{"position":[[165,7]]},"728":{"position":[[179,7]]},"730":{"position":[[35,7]]},"731":{"position":[[50,7]]},"732":{"position":[[66,6],[158,6]]},"733":{"position":[[44,6]]},"734":{"position":[[70,7]]},"736":{"position":[[178,7]]},"737":{"position":[[388,7]]},"739":{"position":[[68,7]]},"740":{"position":[[49,7]]},"741":{"position":[[41,6]]},"742":{"position":[[61,7]]},"743":{"position":[[83,6]]},"744":{"position":[[93,7]]},"745":{"position":[[165,7]]},"746":{"position":[[234,7]]},"748":{"position":[[66,7]]},"749":{"position":[[86,6]]},"750":{"position":[[150,7]]},"751":{"position":[[149,6]]},"752":{"position":[[501,6],[628,6]]},"754":{"position":[[505,7]]},"756":{"position":[[101,6]]},"757":{"position":[[92,6]]},"758":{"position":[[297,6]]},"760":{"position":[[65,7]]},"761":{"position":[[57,7]]},"762":{"position":[[57,7]]},"763":{"position":[[57,7]]},"764":{"position":[[90,6]]},"766":{"position":[[110,6],[260,6]]},"767":{"position":[[71,6],[850,6]]},"768":{"position":[[130,7]]},"769":{"position":[[170,7]]},"771":{"position":[[102,6],[231,6]]},"772":{"position":[[82,7]]},"773":{"position":[[230,7]]},"774":{"position":[[54,7]]},"775":{"position":[[56,7]]}},"keywords":{}}],["syntax.python",{"_index":4169,"title":{},"content":{"476":{"position":[[762,14]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/defrag",{"_index":3169,"title":{},"content":{"324":{"position":[[2089,42]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/en",{"_index":3168,"title":{},"content":{"324":{"position":[[2029,43]]}},"keywords":{}}],["sysctl",{"_index":3170,"title":{},"content":{"324":{"position":[[2132,6]]},"347":{"position":[[2138,6],[2177,6]]}},"keywords":{}}],["system",{"_index":9,"title":{},"content":{"1":{"position":[[81,8],[96,7]]},"2":{"position":[[88,7],[205,7],[269,7]]},"6":{"position":[[51,6]]},"26":{"position":[[251,7]]},"43":{"position":[[59,7]]},"52":{"position":[[137,8]]},"69":{"position":[[1152,7],[1426,7]]},"93":{"position":[[171,7]]},"108":{"position":[[167,6]]},"171":{"position":[[87,7],[425,6]]},"184":{"position":[[66,7],[214,6]]},"210":{"position":[[205,6]]},"227":{"position":[[288,7]]},"239":{"position":[[128,6],[224,6]]},"240":{"position":[[343,7],[1881,6]]},"243":{"position":[[75,6]]},"247":{"position":[[48,6]]},"253":{"position":[[438,7]]},"278":{"position":[[276,6]]},"287":{"position":[[89,8]]},"297":{"position":[[12,6],[167,6],[685,7],[1223,7]]},"298":{"position":[[179,7],[296,7],[360,7],[1026,6],[1209,8],[1348,7]]},"299":{"position":[[937,7]]},"304":{"position":[[624,6],[766,6]]},"305":{"position":[[107,6]]},"311":{"position":[[96,6]]},"324":{"position":[[634,8],[1508,6]]},"334":{"position":[[1351,6]]},"338":{"position":[[2058,7]]},"347":{"position":[[1160,6]]},"349":{"position":[[246,7]]},"351":{"position":[[94,7]]},"356":{"position":[[842,6]]},"357":{"position":[[4074,7]]},"364":{"position":[[63,6],[308,7]]},"368":{"position":[[270,6]]},"461":{"position":[[626,7]]},"480":{"position":[[69,6]]},"498":{"position":[[6,7]]},"499":{"position":[[339,7],[371,6]]},"504":{"position":[[270,6]]},"511":{"position":[[322,7]]},"512":{"position":[[278,6]]},"516":{"position":[[72,7]]},"525":{"position":[[62,7]]},"536":{"position":[[352,7]]},"543":{"position":[[32,6]]},"548":{"position":[[178,6]]},"635":{"position":[[109,7]]},"663":{"position":[[129,7]]},"670":{"position":[[27,6]]},"695":{"position":[[42,7]]},"698":{"position":[[40,7]]},"702":{"position":[[49,7]]},"705":{"position":[[38,6]]},"710":{"position":[[41,6]]},"722":{"position":[[38,6]]}},"keywords":{}}],["system."",{"_index":2432,"title":{},"content":{"240":{"position":[[518,13]]}},"keywords":{}}],["system.th",{"_index":2559,"title":{},"content":{"253":{"position":[[7284,10]]}},"keywords":{}}],["system/subsystem",{"_index":4213,"title":{},"content":{"478":{"position":[[90,16]]}},"keywords":{}}],["systemctl",{"_index":3181,"title":{},"content":{"324":{"position":[[2442,9]]}},"keywords":{}}],["t",{"_index":1679,"title":{},"content":{"85":{"position":[[490,1]]},"319":{"position":[[108,1]]}},"keywords":{}}],["t2ikutvtxbmtygxiah6iqi4gkpl8mx1w","not",{"_index":1003,"title":{},"content":{"43":{"position":[[4451,48]]}},"keywords":{}}],["tab",{"_index":632,"title":{"539":{"position":[[11,4]]},"540":{"position":[[8,4]]},"541":{"position":[[16,4]]},"542":{"position":[[18,4]]},"543":{"position":[[7,4]]}},"content":{"33":{"position":[[127,4]]},"95":{"position":[[409,3],[548,3]]},"123":{"position":[[463,3]]},"131":{"position":[[49,3]]},"188":{"position":[[263,4]]},"253":{"position":[[485,4]]},"254":{"position":[[533,4],[965,4],[2082,4]]},"301":{"position":[[248,4],[507,4],[612,4],[746,3],[904,4],[1056,3],[1207,4],[1625,3]]},"302":{"position":[[507,4]]},"307":{"position":[[557,4]]},"309":{"position":[[581,4],[627,4],[681,5],[696,4]]},"311":{"position":[[828,3],[940,3]]},"334":{"position":[[733,3]]},"347":{"position":[[1282,3],[1424,3]]},"357":{"position":[[513,5]]},"392":{"position":[[11,6]]},"393":{"position":[[27,3],[122,3]]},"538":{"position":[[271,4]]},"539":{"position":[[16,3]]},"540":{"position":[[13,3]]},"541":{"position":[[21,3]]},"542":{"position":[[23,3]]},"543":{"position":[[12,3]]},"544":{"position":[[43,4]]},"550":{"position":[[67,3]]},"552":{"position":[[160,4]]},"601":{"position":[[415,4]]},"608":{"position":[[147,3],[492,3]]},"765":{"position":[[75,4]]}},"keywords":{}}],["tabbook",{"_index":3797,"title":{"392":{"position":[[0,8]]}},"content":{"393":{"position":[[148,7]]}},"keywords":{}}],["tabitem",{"_index":3798,"title":{"393":{"position":[[0,8]]}},"content":{"392":{"position":[[41,7]]},"393":{"position":[[156,7],[230,7]]}},"keywords":{}}],["tabl",{"_index":53,"title":{"30":{"position":[[0,6]]},"31":{"position":[[0,5]]},"33":{"position":[[0,6]]},"34":{"position":[[0,5]]},"548":{"position":[[9,6]]},"580":{"position":[[0,5]]}},"content":{"2":{"position":[[406,6]]},"31":{"position":[[1,5],[42,6],[81,5],[96,5],[200,5],[296,5],[314,5],[413,5],[457,5],[712,5]]},"32":{"position":[[46,5]]},"33":{"position":[[13,5],[78,5],[178,5],[292,5],[365,5],[581,5],[797,5],[840,5]]},"34":{"position":[[38,5]]},"35":{"position":[[36,5],[127,6],[170,5],[281,6]]},"36":{"position":[[10542,5]]},"37":{"position":[[36,5],[127,6]]},"38":{"position":[[20,5],[151,5]]},"39":{"position":[[59,5]]},"40":{"position":[[66,5]]},"99":{"position":[[1808,5],[2441,5],[4969,5]]},"198":{"position":[[690,5]]},"253":{"position":[[638,5]]},"259":{"position":[[717,5]]},"263":{"position":[[755,5]]},"297":{"position":[[86,5]]},"298":{"position":[[497,6]]},"390":{"position":[[27,5]]},"527":{"position":[[527,5]]},"528":{"position":[[752,6]]},"533":{"position":[[225,5]]},"541":{"position":[[66,5],[125,5]]},"542":{"position":[[69,5],[128,5]]},"544":{"position":[[18,5]]},"548":{"position":[[14,5]]},"557":{"position":[[35,5]]},"559":{"position":[[120,5]]},"572":{"position":[[131,5]]},"575":{"position":[[356,5]]},"581":{"position":[[1,5]]},"583":{"position":[[151,6],[241,5],[288,5]]},"584":{"position":[[1,5],[124,5]]},"585":{"position":[[117,5],[374,5],[583,5]]},"586":{"position":[[119,5],[393,5],[534,5],[758,5]]},"670":{"position":[[378,5]]}},"keywords":{}}],["table"",{"_index":863,"title":{},"content":{"40":{"position":[[157,11]]}},"keywords":{}}],["table_id",{"_index":4544,"title":{},"content":{"586":{"position":[[657,8],[797,8],[806,12]]}},"keywords":{}}],["tablefil",{"_index":619,"title":{"32":{"position":[[0,10]]}},"content":{"31":{"position":[[358,9]]}},"keywords":{}}],["tables/config",{"_index":613,"title":{},"content":{"31":{"position":[[142,13]]}},"keywords":{}}],["tabsconst",{"_index":4172,"title":{},"content":{"476":{"position":[[1297,13]]}},"keywords":{}}],["tabular",{"_index":2939,"title":{},"content":{"305":{"position":[[119,8]]}},"keywords":{}}],["tag",{"_index":1393,"title":{},"content":{"63":{"position":[[723,3]]}},"keywords":{}}],["tag_key",{"_index":3381,"title":{},"content":{"350":{"position":[[455,7],[785,7],[1107,7]]}},"keywords":{}}],["take",{"_index":252,"title":{},"content":{"7":{"position":[[359,5]]},"36":{"position":[[4263,5],[6547,4],[7343,4]]},"44":{"position":[[1690,5],[3105,4]]},"49":{"position":[[811,6]]},"50":{"position":[[698,6]]},"52":{"position":[[890,6]]},"56":{"position":[[267,4]]},"69":{"position":[[347,4]]},"75":{"position":[[102,5]]},"76":{"position":[[125,5]]},"77":{"position":[[124,5]]},"78":{"position":[[116,5]]},"79":{"position":[[265,5]]},"83":{"position":[[779,4]]},"93":{"position":[[1178,4]]},"117":{"position":[[89,5]]},"179":{"position":[[101,4]]},"202":{"position":[[4263,5],[6547,4],[7343,4]]},"227":{"position":[[5198,4]]},"231":{"position":[[1064,4]]},"233":{"position":[[811,6]]},"253":{"position":[[4426,5],[5387,4]]},"267":{"position":[[3212,5],[5086,4],[5944,4]]},"292":{"position":[[913,5]]},"315":{"position":[[364,5]]},"355":{"position":[[227,6],[267,6]]},"359":{"position":[[1063,4],[1742,4],[1913,4]]},"360":{"position":[[14,5]]},"367":{"position":[[86,4]]},"429":{"position":[[1335,5]]},"465":{"position":[[575,4]]},"476":{"position":[[3850,5],[4382,6]]},"488":{"position":[[1014,5]]},"495":{"position":[[416,4]]},"500":{"position":[[173,4]]},"504":{"position":[[123,5]]},"514":{"position":[[605,5]]},"527":{"position":[[37,4]]},"540":{"position":[[274,4]]},"581":{"position":[[43,5]]},"599":{"position":[[797,4]]}},"keywords":{}}],["taken",{"_index":3879,"title":{},"content":{"424":{"position":[[198,5]]},"459":{"position":[[1053,5]]},"464":{"position":[[119,5]]},"511":{"position":[[281,5]]}},"keywords":{}}],["talk",{"_index":1907,"title":{},"content":{"112":{"position":[[280,4]]},"123":{"position":[[79,4],[216,4]]},"253":{"position":[[66,4]]},"357":{"position":[[4104,4]]},"364":{"position":[[1258,4]]}},"keywords":{}}],["tamper",{"_index":4150,"title":{},"content":{"469":{"position":[[606,10]]}},"keywords":{}}],["tar",{"_index":2791,"title":{},"content":{"290":{"position":[[592,3],[702,3]]}},"keywords":{}}],["target",{"_index":45,"title":{"114":{"position":[[0,7]]},"144":{"position":[[0,7]]},"145":{"position":[[0,6]]},"230":{"position":[[0,6]]},"540":{"position":[[0,7]]},"704":{"position":[[0,8]]}},"content":{"2":{"position":[[277,9],[506,8]]},"5":{"position":[[114,6],[216,7],[610,6],[753,7],[1046,6]]},"11":{"position":[[45,6],[87,6]]},"17":{"position":[[124,6]]},"18":{"position":[[128,6]]},"44":{"position":[[2092,9]]},"49":{"position":[[122,7]]},"50":{"position":[[149,7],[184,7]]},"51":{"position":[[75,7]]},"52":{"position":[[36,6]]},"54":{"position":[[2601,6],[2813,6]]},"63":{"position":[[1192,6]]},"68":{"position":[[163,6]]},"69":{"position":[[270,6]]},"93":{"position":[[157,6],[987,6],[1522,6]]},"94":{"position":[[778,6],[951,6]]},"97":{"position":[[94,8]]},"99":{"position":[[413,6],[1316,6],[1362,6],[1412,6],[1541,6],[1690,6],[1817,6],[1863,6],[1906,6],[1950,6]]},"112":{"position":[[159,7],[288,8]]},"114":{"position":[[1,7],[251,6]]},"115":{"position":[[61,8],[215,7],[250,8]]},"121":{"position":[[204,7],[330,7],[412,6]]},"123":{"position":[[36,6],[579,7],[648,7]]},"125":{"position":[[8,6],[79,6]]},"126":{"position":[[23,6],[121,6]]},"127":{"position":[[23,6],[124,6]]},"131":{"position":[[266,7]]},"144":{"position":[[15,6],[69,6],[97,6],[201,7],[227,6],[264,6]]},"145":{"position":[[38,6]]},"166":{"position":[[50,6]]},"168":{"position":[[25,6],[342,6]]},"169":{"position":[[174,6]]},"170":{"position":[[80,6]]},"177":{"position":[[20,6],[35,6],[155,6],[281,6]]},"198":{"position":[[80,8]]},"199":{"position":[[80,6],[223,7]]},"208":{"position":[[253,6]]},"218":{"position":[[126,6]]},"219":{"position":[[132,6]]},"220":{"position":[[110,6]]},"221":{"position":[[112,6]]},"225":{"position":[[335,6]]},"226":{"position":[[47,6],[96,6],[957,6],[1717,6]]},"227":{"position":[[3120,7],[4044,6]]},"230":{"position":[[5,6],[63,7],[135,6],[205,6],[232,6],[316,6],[327,6],[482,7],[494,6],[579,7],[605,7],[750,7],[829,7],[915,7],[1191,6],[1309,6],[1393,7],[1565,6],[1718,6],[1800,7],[1919,7],[2267,6],[2371,6],[2526,7],[2564,6]]},"231":{"position":[[147,6]]},"232":{"position":[[148,6]]},"233":{"position":[[158,6],[1015,7]]},"240":{"position":[[945,6],[1190,6]]},"253":{"position":[[994,7],[1064,6],[1191,7],[2111,8],[2182,7],[2279,6],[2299,6],[2458,6],[2492,6],[2546,6],[2591,7],[2648,6],[3193,6],[5112,6],[5994,7],[6007,7],[6404,7],[6642,6],[6729,6],[7125,6],[7262,6],[7295,6],[7328,6],[8235,6]]},"254":{"position":[[1016,7],[1045,6],[2687,6],[2812,7]]},"257":{"position":[[43,7],[150,7],[221,6],[257,7],[505,7],[1251,6],[1346,8],[1503,6],[1595,6],[1775,6]]},"259":{"position":[[104,8]]},"260":{"position":[[339,6]]},"263":{"position":[[294,6]]},"264":{"position":[[82,6],[252,7]]},"273":{"position":[[253,6]]},"282":{"position":[[331,6]]},"284":{"position":[[261,6]]},"285":{"position":[[49,6]]},"297":{"position":[[145,6],[352,6],[459,7],[557,7]]},"298":{"position":[[368,9],[597,8],[857,8],[972,7],[1315,7]]},"299":{"position":[[584,8],[600,7]]},"300":{"position":[[474,7]]},"301":{"position":[[481,8],[499,7]]},"303":{"position":[[67,8],[190,6],[352,7],[457,6],[515,6]]},"305":{"position":[[250,6],[317,6]]},"308":{"position":[[402,8],[433,7]]},"320":{"position":[[355,7],[513,6],[863,6],[1232,6],[1268,6],[1376,7],[1424,6],[1607,6]]},"321":{"position":[[15,6]]},"322":{"position":[[1345,6]]},"328":{"position":[[919,6],[1070,6]]},"338":{"position":[[236,8]]},"343":{"position":[[130,7],[688,6],[724,6]]},"344":{"position":[[208,6]]},"352":{"position":[[562,8],[709,8],[851,8],[999,8],[1145,8]]},"355":{"position":[[155,7],[190,7],[219,7],[259,7],[397,8],[454,8],[657,8],[771,8],[900,7]]},"356":{"position":[[124,7],[484,7]]},"357":{"position":[[354,7],[2370,6],[3716,7],[3842,7]]},"367":{"position":[[251,6]]},"401":{"position":[[108,6]]},"402":{"position":[[108,6]]},"403":{"position":[[441,6]]},"404":{"position":[[83,6]]},"405":{"position":[[110,6]]},"406":{"position":[[104,6]]},"407":{"position":[[112,6]]},"408":{"position":[[124,6]]},"409":{"position":[[127,6]]},"410":{"position":[[123,6]]},"411":{"position":[[391,6]]},"412":{"position":[[120,6]]},"413":{"position":[[118,6]]},"414":{"position":[[104,6]]},"415":{"position":[[93,6]]},"416":{"position":[[96,6]]},"417":{"position":[[92,6]]},"418":{"position":[[90,6],[817,6]]},"419":{"position":[[124,6],[870,6]]},"420":{"position":[[108,6],[842,6]]},"421":{"position":[[89,6]]},"422":{"position":[[114,6]]},"423":{"position":[[102,6]]},"425":{"position":[[136,6]]},"426":{"position":[[88,6]]},"427":{"position":[[332,6]]},"440":{"position":[[126,6]]},"441":{"position":[[795,6]]},"442":{"position":[[318,6],[1708,6]]},"444":{"position":[[190,6]]},"451":{"position":[[76,6]]},"452":{"position":[[140,6]]},"453":{"position":[[83,7],[139,6]]},"476":{"position":[[2092,6],[2389,7],[2417,8],[3007,6],[3301,7],[3313,6],[4940,6],[4962,6]]},"481":{"position":[[441,6]]},"485":{"position":[[273,6],[395,6]]},"487":{"position":[[635,6],[675,7]]},"492":{"position":[[252,7],[291,7],[406,7],[567,7],[632,8]]},"498":{"position":[[225,6]]},"500":{"position":[[180,6],[239,7]]},"525":{"position":[[150,6]]},"530":{"position":[[108,6]]},"533":{"position":[[41,6],[64,6],[95,6],[185,7]]},"536":{"position":[[87,7]]},"540":{"position":[[5,7],[34,7],[355,7],[448,7]]},"553":{"position":[[155,6]]},"556":{"position":[[25,7],[115,6],[267,7]]},"566":{"position":[[149,7]]},"568":{"position":[[120,7]]},"572":{"position":[[66,6]]},"577":{"position":[[394,6]]},"578":{"position":[[539,6],[662,6]]},"584":{"position":[[93,6]]},"585":{"position":[[241,6],[293,6]]},"586":{"position":[[260,6],[312,6]]},"590":{"position":[[13,6],[36,6],[106,6]]},"591":{"position":[[78,7],[96,6]]},"600":{"position":[[13,6],[36,6]]},"603":{"position":[[120,6]]},"605":{"position":[[356,8],[733,8]]},"628":{"position":[[39,6],[272,6],[320,6]]},"629":{"position":[[22,6],[193,6],[241,6]]},"630":{"position":[[22,6],[169,6],[217,6]]},"632":{"position":[[341,7]]},"635":{"position":[[56,6]]},"636":{"position":[[794,6]]},"637":{"position":[[182,7],[1016,6]]},"638":{"position":[[1037,6]]},"639":{"position":[[1070,6]]},"640":{"position":[[870,6]]},"641":{"position":[[205,7],[1087,6]]},"642":{"position":[[1108,6]]},"643":{"position":[[1141,6]]},"646":{"position":[[70,7],[277,7]]},"647":{"position":[[56,7],[186,6]]},"648":{"position":[[272,7]]},"649":{"position":[[318,7]]},"650":{"position":[[353,7]]},"651":{"position":[[276,7]]},"652":{"position":[[445,7]]},"653":{"position":[[224,7],[287,6],[406,6],[550,6],[682,6]]},"654":{"position":[[280,7]]},"656":{"position":[[504,6]]},"657":{"position":[[446,6]]},"660":{"position":[[294,6]]},"661":{"position":[[336,7]]},"662":{"position":[[450,7]]},"664":{"position":[[25,6],[163,7]]},"665":{"position":[[25,6],[168,6]]},"666":{"position":[[230,7]]},"667":{"position":[[280,7]]},"668":{"position":[[291,7]]},"669":{"position":[[513,6]]},"670":{"position":[[239,6]]},"671":{"position":[[380,6]]},"672":{"position":[[216,6]]},"675":{"position":[[238,6]]},"677":{"position":[[223,6]]},"678":{"position":[[243,6]]},"679":{"position":[[257,6]]},"681":{"position":[[870,6]]},"682":{"position":[[602,6]]},"684":{"position":[[510,6]]},"685":{"position":[[485,6]]},"686":{"position":[[501,6]]},"688":{"position":[[396,6]]},"690":{"position":[[362,6]]},"691":{"position":[[217,6]]},"692":{"position":[[219,6]]},"699":{"position":[[214,6]]},"700":{"position":[[584,6]]},"704":{"position":[[37,8]]},"705":{"position":[[23,7],[83,7]]},"706":{"position":[[11,6],[64,7],[178,7],[202,6]]},"707":{"position":[[32,8],[113,6]]},"711":{"position":[[13,7]]},"712":{"position":[[18,7]]},"716":{"position":[[7,6],[39,6],[299,6],[383,6],[478,6],[579,6]]},"737":{"position":[[611,6]]},"739":{"position":[[272,6],[329,6]]},"740":{"position":[[189,6],[246,6]]},"742":{"position":[[202,6],[259,6]]},"744":{"position":[[242,6],[299,6]]},"745":{"position":[[337,6],[394,6]]},"746":{"position":[[450,6]]},"758":{"position":[[83,8],[273,8]]},"759":{"position":[[41,6]]}},"keywords":{}}],["target"",{"_index":2715,"title":{},"content":{"285":{"position":[[101,12]]},"556":{"position":[[196,13]]}},"keywords":{}}],["target'",{"_index":280,"title":{},"content":{"7":{"position":[[1190,8]]},"11":{"position":[[166,8]]},"12":{"position":[[199,8]]},"15":{"position":[[444,8]]},"16":{"position":[[446,8]]},"31":{"position":[[133,8]]},"36":{"position":[[4128,8]]},"198":{"position":[[246,8]]},"202":{"position":[[4128,8]]},"259":{"position":[[274,8]]},"267":{"position":[[3077,8],[10619,8]]},"276":{"position":[[271,8]]},"367":{"position":[[269,8]]},"451":{"position":[[182,8],[209,8]]},"584":{"position":[[182,8],[296,8]]}},"keywords":{}}],["target(",{"_index":1910,"title":{"556":{"position":[[7,9]]}},"content":{"112":{"position":[[690,9]]}},"keywords":{}}],["target.lib.upload_util",{"_index":4201,"title":{},"content":{"476":{"position":[[2758,25]]}},"keywords":{}}],["target.txt",{"_index":313,"title":{"10":{"position":[[0,10]]}},"content":{"260":{"position":[[485,10]]}},"keywords":{}}],["target/cmd_tlm/cmd.txt",{"_index":2210,"title":{},"content":{"226":{"position":[[15,22]]}},"keywords":{}}],["target/cmd_tlm/tlm.txt",{"_index":2713,"title":{},"content":{"285":{"position":[[15,22]]}},"keywords":{}}],["target/lib/helper_utility.rb",{"_index":4187,"title":{},"content":{"476":{"position":[[1926,30]]}},"keywords":{}}],["target/lib/target.[rb/pi",{"_index":4289,"title":{},"content":{"487":{"position":[[579,25]]}},"keywords":{}}],["target/lib/upload_utility.rb",{"_index":4185,"title":{},"content":{"476":{"position":[[1839,30]]}},"keywords":{}}],["target/lib/utility.rb",{"_index":5422,"title":{},"content":{"737":{"position":[[640,21]]}},"keywords":{}}],["target/myscreen.txt",{"_index":3991,"title":{},"content":{"446":{"position":[[15,19]]}},"keywords":{}}],["target/procedur",{"_index":4290,"title":{},"content":{"487":{"position":[[724,17]]}},"keywords":{}}],["target/screens/version.txt",{"_index":3719,"title":{},"content":{"367":{"position":[[310,27]]}},"keywords":{}}],["target/tables/config/mcconfigurationtable_def.txt",{"_index":860,"title":{},"content":{"40":{"position":[[15,49]]}},"keywords":{}}],["target=${1",{"_index":1082,"title":{},"content":{"44":{"position":[[2080,11]]}},"keywords":{}}],["target_int",{"_index":5255,"title":{},"content":{"707":{"position":[[187,11]]}},"keywords":{}}],["target_ints.each",{"_index":5256,"title":{},"content":{"707":{"position":[[225,16]]}},"keywords":{}}],["target_microservic",{"_index":2046,"title":{"168":{"position":[[0,20]]}},"content":{"169":{"position":[[55,20]]}},"keywords":{}}],["target_nam",{"_index":2072,"title":{"177":{"position":[[0,12]]}},"content":{"177":{"position":[[381,11]]},"328":{"position":[[1636,11],[1702,11]]},"446":{"position":[[85,11]]},"644":{"position":[[1180,14]]},"646":{"position":[[826,16]]},"648":{"position":[[868,16]]},"650":{"position":[[1060,14]]},"653":{"position":[[455,12],[566,12],[698,12]]},"673":{"position":[[1368,15],[1482,15],[1602,15],[1724,15]]},"701":{"position":[[27,12]]},"702":{"position":[[294,16]]},"707":{"position":[[245,13],[290,15]]}},"keywords":{}}],["targets/gse/cmd_tlm",{"_index":2342,"title":{},"content":{"230":{"position":[[666,19]]}},"keywords":{}}],["targets/gse/cmd_tlm/cmd.txt",{"_index":2343,"title":{},"content":{"230":{"position":[[1101,27]]}},"keywords":{}}],["targets/gse/cmd_tlm/tlm.txt",{"_index":2344,"title":{},"content":{"230":{"position":[[1217,27]]}},"keywords":{}}],["targets/gse/lib",{"_index":2345,"title":{},"content":{"230":{"position":[[1336,15]]}},"keywords":{}}],["targets/gse/lib/double_conversion.rb",{"_index":2374,"title":{},"content":{"232":{"position":[[410,36]]}},"keywords":{}}],["targets/gse/lib/gse.rb/pi",{"_index":2346,"title":{},"content":{"230":{"position":[[1489,25]]}},"keywords":{}}],["targets/gse/lib/safe_limits_response.rb",{"_index":2385,"title":{},"content":{"233":{"position":[[438,39]]}},"keywords":{}}],["targets/gse/procedur",{"_index":2351,"title":{},"content":{"230":{"position":[[1674,22]]}},"keywords":{}}],["targets/gse/procedures/procedure.rb/pi",{"_index":2354,"title":{},"content":{"230":{"position":[[1973,38]]}},"keywords":{}}],["targets/gse/publ",{"_index":2355,"title":{},"content":{"230":{"position":[[2082,18]]}},"keywords":{}}],["targets/gse/screen",{"_index":2360,"title":{},"content":{"230":{"position":[[2212,19]]}},"keywords":{}}],["targets/gse/screens/status.txt",{"_index":2361,"title":{},"content":{"230":{"position":[[2274,30]]}},"keywords":{}}],["targets/gse/target.txt",{"_index":2362,"title":{},"content":{"230":{"position":[[2348,22]]}},"keywords":{}}],["targets/target/publ",{"_index":3970,"title":{},"content":{"441":{"position":[[134,21]]},"442":{"position":[[575,21],[1414,21]]}},"keywords":{}}],["targets/target_name/procedur",{"_index":4274,"title":{},"content":{"485":{"position":[[302,30]]}},"keywords":{}}],["targets_modifi",{"_index":3252,"title":{},"content":{"334":{"position":[[244,16],[1181,16]]}},"keywords":{}}],["targets_modified/target",{"_index":3253,"title":{},"content":{"334":{"position":[[404,23]]}},"keywords":{}}],["task",{"_index":1029,"title":{},"content":{"44":{"position":[[177,4]]},"118":{"position":[[139,6]]},"304":{"position":[[1151,6]]},"366":{"position":[[178,5]]},"429":{"position":[[162,6]]},"528":{"position":[[1027,4],[1632,4]]}},"keywords":{}}],["tbl_filenam",{"_index":4527,"title":{},"content":{"585":{"position":[[335,12]]},"586":{"position":[[354,12],[642,12],[691,12]]}},"keywords":{}}],["tcp",{"_index":1919,"title":{},"content":{"115":{"position":[[128,3]]},"139":{"position":[[238,4]]},"175":{"position":[[239,4]]}},"keywords":{}}],["tcp/ip",{"_index":1270,"title":{},"content":{"53":{"position":[[270,6],[298,6]]},"253":{"position":[[7610,6],[7913,6]]},"297":{"position":[[607,7]]},"298":{"position":[[1149,7]]},"336":{"position":[[156,7]]}},"keywords":{}}],["tcpip",{"_index":1191,"title":{"49":{"position":[[0,5]]},"50":{"position":[[0,5]]}},"content":{"48":{"position":[[51,5],[65,5]]},"49":{"position":[[5,5],[42,5]]},"50":{"position":[[5,5],[38,5]]}},"keywords":{}}],["tcpip_client_interfac",{"_index":1941,"title":{},"content":{"123":{"position":[[745,23]]},"143":{"position":[[535,23]]}},"keywords":{}}],["tcpip_client_interface.pi",{"_index":2562,"title":{},"content":{"253":{"position":[[7642,25]]}},"keywords":{}}],["tcpip_client_interface.rb",{"_index":1207,"title":{},"content":{"49":{"position":[[874,25],[1005,25],[1115,25],[1225,25],[1360,25],[1469,25],[1585,25]]},"50":{"position":[[1163,25],[1346,25]]},"54":{"position":[[755,25],[865,25],[975,25],[1095,25],[1230,25],[1339,25],[2516,25]]},"125":{"position":[[156,25]]},"126":{"position":[[197,25]]},"127":{"position":[[200,25]]},"134":{"position":[[735,25]]},"230":{"position":[[2647,25]]}},"keywords":{}}],["tcpip_server_interfac",{"_index":1942,"title":{},"content":{"123":{"position":[[769,23]]},"143":{"position":[[559,23]]}},"keywords":{}}],["tcpip_server_interface.rb",{"_index":1226,"title":{},"content":{"50":{"position":[[761,25],[871,25],[960,25],[1049,25],[1251,25]]},"135":{"position":[[808,25]]},"338":{"position":[[1477,25],[1868,25]]}},"keywords":{}}],["tcpipclientstream",{"_index":1269,"title":{},"content":{"53":{"position":[[186,17]]}},"keywords":{}}],["tcpipserverinterfac",{"_index":1228,"title":{},"content":{"50":{"position":[[2420,20]]},"135":{"position":[[460,20]]}},"keywords":{}}],["tcpipsocketstream",{"_index":1268,"title":{},"content":{"53":{"position":[[164,17]]}},"keywords":{}}],["team",{"_index":1553,"title":{},"content":{"83":{"position":[[17,4]]}},"keywords":{}}],["teardown",{"_index":2929,"title":{},"content":{"304":{"position":[[5370,8],[5450,9],[5536,8],[5616,9]]},"610":{"position":[[509,8],[807,8],[871,8]]},"611":{"position":[[256,8],[567,8],[611,8]]},"754":{"position":[[103,9],[295,8],[1313,8]]}},"keywords":{}}],["teardown"",{"_index":4610,"title":{},"content":{"611":{"position":[[282,14],[523,15]]}},"keywords":{}}],["teardown(self",{"_index":4602,"title":{},"content":{"610":{"position":[[748,14]]},"611":{"position":[[489,15]]},"754":{"position":[[1862,15]]}},"keywords":{}}],["technic",{"_index":2408,"title":{},"content":{"235":{"position":[[1097,9]]},"459":{"position":[[1625,9],[1967,9]]}},"keywords":{}}],["techniqu",{"_index":4311,"title":{},"content":{"488":{"position":[[326,10]]}},"keywords":{}}],["technolog",{"_index":2473,"title":{},"content":{"246":{"position":[[56,10]]},"250":{"position":[[83,10],[261,11]]},"324":{"position":[[209,10]]},"363":{"position":[[33,12],[212,12]]},"464":{"position":[[467,13],[508,10]]},"517":{"position":[[846,10]]}},"keywords":{}}],["telecommand",{"_index":3041,"title":{},"content":{"320":{"position":[[753,13]]},"322":{"position":[[1289,13]]}},"keywords":{}}],["telemeti",{"_index":2646,"title":{},"content":{"266":{"position":[[106,8]]},"268":{"position":[[106,8]]},"269":{"position":[[276,8]]},"270":{"position":[[106,8]]},"271":{"position":[[123,8]]},"272":{"position":[[123,8]]},"618":{"position":[[713,8]]}},"keywords":{}}],["telemetri",{"_index":208,"title":{"16":{"position":[[0,10]]},"94":{"position":[[8,10]]},"258":{"position":[[0,9]]},"259":{"position":[[0,9]]},"264":{"position":[[0,10]]},"265":{"position":[[0,9]]},"301":{"position":[[12,9]]},"306":{"position":[[0,9]]},"307":{"position":[[0,9]]},"367":{"position":[[0,9]]},"400":{"position":[[0,9]]},"498":{"position":[[35,9]]},"499":{"position":[[34,9]]},"535":{"position":[[12,9]]},"537":{"position":[[12,9]]},"542":{"position":[[0,9]]},"587":{"position":[[0,9]]},"595":{"position":[[0,9]]},"597":{"position":[[0,9]]},"618":{"position":[[0,9]]},"655":{"position":[[9,10]]},"738":{"position":[[28,9]]}},"content":{"6":{"position":[[270,9]]},"7":{"position":[[138,9],[814,9]]},"8":{"position":[[152,9],[309,9]]},"9":{"position":[[166,9],[332,9],[515,9],[664,9]]},"14":{"position":[[18,9],[84,9],[119,10],[276,9],[339,9]]},"15":{"position":[[138,9],[229,9],[302,9],[335,9],[546,9]]},"16":{"position":[[19,9],[89,9],[142,9],[233,9],[413,9],[548,9]]},"18":{"position":[[16,9],[112,9],[227,9]]},"49":{"position":[[84,10],[432,9]]},"50":{"position":[[370,9]]},"51":{"position":[[56,9],[312,9]]},"54":{"position":[[3052,11]]},"60":{"position":[[1383,9],[1413,9]]},"62":{"position":[[668,9],[822,9]]},"63":{"position":[[1493,9],[2006,9]]},"67":{"position":[[80,9]]},"68":{"position":[[93,9]]},"76":{"position":[[737,9],[768,10]]},"89":{"position":[[24,9]]},"94":{"position":[[39,10],[151,9],[222,9],[305,9],[389,9],[678,9],[969,9],[1039,9],[1089,9]]},"99":{"position":[[574,9]]},"108":{"position":[[243,9]]},"112":{"position":[[204,9]]},"114":{"position":[[315,9]]},"115":{"position":[[235,9]]},"116":{"position":[[25,9],[165,9]]},"117":{"position":[[111,10]]},"127":{"position":[[55,9],[114,9],[304,9],[503,9]]},"143":{"position":[[46,9],[222,9]]},"153":{"position":[[26,9]]},"154":{"position":[[1,9]]},"155":{"position":[[1,9]]},"156":{"position":[[22,9],[115,9]]},"157":{"position":[[1,9]]},"158":{"position":[[1,9]]},"159":{"position":[[24,9],[119,9]]},"160":{"position":[[33,9],[137,9]]},"161":{"position":[[31,9],[133,9]]},"162":{"position":[[30,9],[131,9]]},"163":{"position":[[30,9],[131,9]]},"164":{"position":[[30,9],[131,9]]},"194":{"position":[[69,9]]},"218":{"position":[[40,9],[141,9],[199,9]]},"219":{"position":[[40,9],[147,9],[211,9]]},"220":{"position":[[35,9],[133,9],[188,9],[239,9]]},"221":{"position":[[35,9],[135,9],[192,9]]},"227":{"position":[[211,9]]},"230":{"position":[[711,9],[845,9],[1253,9],[1325,10],[1876,9],[2072,9],[2133,9],[2241,9],[2331,9],[2421,9]]},"232":{"position":[[516,9],[874,9],[904,9]]},"233":{"position":[[552,9],[953,9],[1121,9]]},"234":{"position":[[85,9]]},"253":{"position":[[597,9],[1140,10],[4735,9],[5091,9],[5893,9],[5969,9],[6061,9],[6128,9],[6226,10],[8191,9]]},"254":{"position":[[2744,9]]},"259":{"position":[[1,9],[39,9],[154,9],[229,9],[362,9],[439,10],[628,9],[831,9]]},"262":{"position":[[51,9],[166,9],[325,9]]},"263":{"position":[[38,9],[499,9],[555,9],[647,9],[1767,9]]},"264":{"position":[[15,9],[94,9],[156,9],[226,9],[479,9],[554,9]]},"265":{"position":[[38,9]]},"266":{"position":[[11,9],[41,9],[191,9],[394,9],[705,9],[813,9]]},"267":{"position":[[2151,9],[2970,9],[3335,9],[4632,9],[4701,9],[5320,9],[5394,9],[6443,9],[6517,9],[6827,9],[7921,9],[8000,9],[8137,9],[8352,9],[8603,9],[8742,9],[8933,9],[9051,9],[9210,9],[9368,9],[9707,9],[10094,9]]},"268":{"position":[[11,9],[41,9],[186,9],[497,9],[605,9]]},"269":{"position":[[11,9],[41,9],[361,9],[517,9],[714,9],[807,9],[852,9],[907,9]]},"270":{"position":[[11,9],[41,9],[186,9],[383,9],[476,9],[521,9],[576,9]]},"271":{"position":[[11,9],[41,9],[208,9]]},"272":{"position":[[11,9],[41,9]]},"273":{"position":[[21,9],[199,9]]},"274":{"position":[[35,9]]},"275":{"position":[[33,9]]},"277":{"position":[[9,9],[80,9]]},"278":{"position":[[12,9],[102,9],[161,9],[246,9]]},"282":{"position":[[21,9],[123,9],[179,9],[343,9],[408,9]]},"283":{"position":[[64,9]]},"284":{"position":[[20,9],[331,9]]},"285":{"position":[[39,9]]},"297":{"position":[[202,9],[294,9],[394,9],[540,9],[932,9],[1138,9]]},"298":{"position":[[1386,9],[1581,9]]},"299":{"position":[[432,9],[489,9],[678,9],[782,9],[1048,9]]},"300":{"position":[[563,9],[585,9],[664,9],[689,9]]},"301":{"position":[[17,9],[171,9],[275,9],[436,9],[534,9],[639,9],[817,9],[864,9],[931,9],[966,9],[1008,9],[1096,9],[1136,9],[1234,9],[1389,9],[1531,9],[1570,9],[1663,9],[1704,9]]},"302":{"position":[[29,9],[98,9],[254,9],[311,9],[372,9],[408,9],[560,9],[627,9]]},"304":{"position":[[4390,9]]},"305":{"position":[[75,9],[230,9],[297,9],[431,9],[482,9],[605,9],[638,9],[775,9],[808,9],[906,9],[1435,9]]},"306":{"position":[[1,9],[45,9],[155,9],[239,9],[308,9],[352,9],[378,9],[393,9],[446,9],[489,9],[532,9],[582,9]]},"307":{"position":[[1,9],[40,9],[140,9],[187,9],[259,9],[312,10],[368,9],[426,10],[498,9],[587,9],[628,9],[699,9],[796,9],[893,9],[994,9],[1090,9]]},"308":{"position":[[202,9],[238,9],[303,9],[392,9],[520,9]]},"309":{"position":[[45,9],[283,9],[394,9],[496,9]]},"315":{"position":[[96,10],[269,9]]},"320":{"position":[[678,9]]},"321":{"position":[[988,9],[1037,10],[1102,9],[2740,9],[3083,9]]},"322":{"position":[[1219,9],[1845,10]]},"328":{"position":[[1765,9]]},"329":{"position":[[1580,9]]},"343":{"position":[[82,9]]},"344":{"position":[[296,9]]},"356":{"position":[[404,9]]},"366":{"position":[[67,9],[386,9],[494,9]]},"367":{"position":[[1,9],[62,9],[184,9]]},"368":{"position":[[8,9],[303,9]]},"369":{"position":[[10,9],[82,9],[260,9],[353,9]]},"384":{"position":[[106,9]]},"395":{"position":[[132,10]]},"396":{"position":[[65,9],[111,9]]},"400":{"position":[[3,9],[41,9],[110,9],[171,9]]},"403":{"position":[[126,9],[577,9]]},"405":{"position":[[224,9]]},"407":{"position":[[307,9]]},"410":{"position":[[262,9],[401,9]]},"411":{"position":[[45,9]]},"417":{"position":[[231,9],[370,9]]},"418":{"position":[[28,9],[742,9]]},"419":{"position":[[62,9],[795,9]]},"420":{"position":[[767,9]]},"422":{"position":[[228,9]]},"423":{"position":[[241,9],[380,9]]},"424":{"position":[[84,9],[550,9],[762,9]]},"425":{"position":[[72,9]]},"427":{"position":[[23,9]]},"429":{"position":[[945,9],[1225,9]]},"437":{"position":[[56,9]]},"440":{"position":[[27,9]]},"442":{"position":[[53,9],[151,10]]},"444":{"position":[[128,9]]},"451":{"position":[[48,9],[137,9],[276,9]]},"476":{"position":[[4637,10]]},"480":{"position":[[622,9]]},"483":{"position":[[403,9]]},"484":{"position":[[254,9]]},"492":{"position":[[641,9]]},"498":{"position":[[131,9],[295,9]]},"499":{"position":[[66,9],[184,9],[268,9],[484,9]]},"500":{"position":[[21,9],[302,9],[734,9]]},"501":{"position":[[247,9]]},"504":{"position":[[190,9],[325,9],[610,9]]},"513":{"position":[[260,9]]},"525":{"position":[[157,9],[319,9]]},"530":{"position":[[320,9]]},"536":{"position":[[17,9],[304,9],[393,9]]},"538":{"position":[[17,9],[132,9]]},"542":{"position":[[5,9],[54,10],[171,9],[230,9],[321,9],[428,9]]},"544":{"position":[[67,9]]},"550":{"position":[[37,9]]},"556":{"position":[[302,9],[555,9]]},"566":{"position":[[42,9]]},"568":{"position":[[25,9]]},"573":{"position":[[123,9]]},"575":{"position":[[71,9]]},"577":{"position":[[658,9]]},"588":{"position":[[1,9],[28,9]]},"592":{"position":[[369,9]]},"594":{"position":[[35,9],[108,9]]},"596":{"position":[[1,9],[73,9]]},"599":{"position":[[181,9],[1018,9]]},"606":{"position":[[102,9]]},"607":{"position":[[509,9],[557,9]]},"617":{"position":[[995,9],[1164,9]]},"618":{"position":[[36,9],[130,9],[164,9],[201,9],[246,9],[303,9],[376,9],[441,9],[458,9],[570,9],[636,9],[670,10],[759,9],[782,9],[865,9],[954,9],[986,9],[1026,9],[1108,9],[1143,9],[1194,9],[1278,9],[1333,10]]},"620":{"position":[[189,9]]},"621":{"position":[[175,9],[231,9],[302,9],[435,9],[490,9],[526,9],[613,9],[673,9],[761,9],[818,9],[893,9],[963,9],[1042,9],[1101,9],[1291,9],[1372,9],[1438,9],[1489,9],[1562,9],[1642,9],[1701,9],[1791,9],[1885,9],[1944,9],[2016,9],[2074,9],[2124,9],[2189,9],[2275,9],[2347,9],[2419,9],[2497,9],[2555,9],[2608,9],[2669,9],[2725,9],[2801,9],[3446,9],[3557,9],[4024,9],[4078,9],[4132,9],[4207,9],[4276,9],[4330,9],[4391,9],[4444,9],[4497,9],[4550,9],[4614,9],[4676,9],[4765,9],[4897,9],[4961,9],[5029,9]]},"655":{"position":[[47,9]]},"656":{"position":[[30,9],[65,9],[197,9],[518,9],[558,9],[582,9],[620,9],[683,9],[737,9]]},"657":{"position":[[20,9],[460,9],[500,9],[524,9],[562,9],[615,9]]},"660":{"position":[[31,9],[308,9],[348,9],[372,9],[410,9]]},"662":{"position":[[53,9]]},"663":{"position":[[68,9],[105,9]]},"668":{"position":[[41,9],[323,9],[461,9]]},"669":{"position":[[8,9],[48,9],[289,9]]},"671":{"position":[[66,9]]},"672":{"position":[[60,9]]},"674":{"position":[[101,9]]},"675":{"position":[[43,9]]},"677":{"position":[[29,9]]},"678":{"position":[[40,9]]},"679":{"position":[[25,9]]},"680":{"position":[[62,9]]},"681":{"position":[[89,9],[884,9],[924,9],[948,9],[986,9],[1049,9]]},"682":{"position":[[74,9],[616,9],[656,9],[680,9],[718,9],[771,9]]},"685":{"position":[[102,9],[499,9],[539,9],[563,9],[601,9],[664,9]]},"686":{"position":[[74,9],[515,9],[555,9],[579,9],[617,9],[670,9]]},"689":{"position":[[34,9]]},"690":{"position":[[93,9],[376,9],[416,9],[440,9],[478,9]]},"691":{"position":[[45,9],[231,9],[271,9],[295,9],[333,9]]},"692":{"position":[[46,9],[233,9],[273,9],[297,9],[335,9]]},"693":{"position":[[39,9]]},"694":{"position":[[40,9]]},"699":{"position":[[54,9],[228,9],[267,9],[291,9],[328,9]]},"700":{"position":[[50,9],[598,9],[638,9],[662,9],[700,9]]},"715":{"position":[[273,9]]},"716":{"position":[[59,9],[485,9]]},"738":{"position":[[62,9]]},"739":{"position":[[9,9],[255,9]]},"740":{"position":[[16,9],[172,9]]},"742":{"position":[[21,9],[185,9]]},"743":{"position":[[49,9]]},"744":{"position":[[63,9],[225,9]]},"745":{"position":[[97,9],[320,9]]},"746":{"position":[[115,9]]},"758":{"position":[[160,9]]}},"keywords":{}}],["telemetry"",{"_index":3062,"title":{},"content":{"321":{"position":[[337,15],[2787,15]]},"347":{"position":[[1455,15]]}},"keywords":{}}],["telemetry)"",{"_index":2719,"title":{},"content":{"285":{"position":[[259,16]]}},"keywords":{}}],["telemetry_graph",{"_index":5576,"title":{},"content":{"771":{"position":[[298,21]]}},"keywords":{}}],["tell",{"_index":2321,"title":{},"content":{"229":{"position":[[399,5]]},"253":{"position":[[6366,4],[8157,5]]},"297":{"position":[[342,7]]},"366":{"position":[[380,5]]}},"keywords":{}}],["telmetri",{"_index":5077,"title":{},"content":{"671":{"position":[[32,8]]},"672":{"position":[[26,8]]}},"keywords":{}}],["temp",{"_index":1742,"title":{},"content":{"93":{"position":[[1811,4]]},"478":{"position":[[304,4],[552,4],[748,4]]},"488":{"position":[[2249,4],[2353,4],[2376,4],[2392,4],[2511,4]]},"495":{"position":[[587,4],[604,4],[622,4],[637,4],[884,4],[901,4],[919,4],[935,4]]},"496":{"position":[[607,4],[665,4],[804,4],[863,4]]},"498":{"position":[[318,5],[344,4],[451,4],[558,4]]},"578":{"position":[[285,4]]},"772":{"position":[[297,8],[400,8]]}},"keywords":{}}],["temp#{temp_numb",{"_index":4382,"title":{},"content":{"500":{"position":[[455,18]]}},"keywords":{}}],["temp"",{"_index":4367,"title":{},"content":{"498":{"position":[[420,11],[527,11],[644,11]]}},"keywords":{}}],["temp1",{"_index":2619,"title":{},"content":{"262":{"position":[[395,6]]},"273":{"position":[[431,5]]},"276":{"position":[[472,5],[540,5]]},"282":{"position":[[505,5]]},"284":{"position":[[448,5]]},"328":{"position":[[1734,5]]},"383":{"position":[[808,5],[915,5]]},"403":{"position":[[909,5]]},"407":{"position":[[599,5]]},"409":{"position":[[484,5],[545,5]]},"410":{"position":[[857,5],[924,5]]},"412":{"position":[[473,5],[525,5]]},"413":{"position":[[474,5],[529,5]]},"414":{"position":[[470,5],[525,5]]},"415":{"position":[[442,5],[495,5]]},"416":{"position":[[447,5],[503,5]]},"417":{"position":[[821,5],[883,5]]},"418":{"position":[[574,5]]},"419":{"position":[[608,5]]},"420":{"position":[[597,5]]},"423":{"position":[[732,5],[786,5]]},"424":{"position":[[614,5]]},"425":{"position":[[360,5]]},"427":{"position":[[672,5],[716,5]]},"440":{"position":[[637,5]]},"502":{"position":[[785,5],[838,5]]},"658":{"position":[[1156,7]]},"671":{"position":[[604,5],[640,5],[803,5],[839,5]]},"673":{"position":[[296,5],[1317,5],[1437,8],[1551,8],[1671,8],[1793,8]]},"683":{"position":[[1040,7]]},"687":{"position":[[893,7]]},"699":{"position":[[404,8],[725,8]]},"700":{"position":[[2016,8]]},"702":{"position":[[495,10]]},"745":{"position":[[591,5],[863,5]]},"746":{"position":[[1053,5],[1336,5]]}},"keywords":{}}],["temp1"",{"_index":910,"title":{},"content":{"42":{"position":[[386,13]]},"43":{"position":[[6139,13]]},"94":{"position":[[1250,13]]},"95":{"position":[[790,13]]},"502":{"position":[[580,12],[822,12]]},"657":{"position":[[862,12],[1029,12]]},"672":{"position":[[423,12],[497,12],[610,12],[684,12]]},"690":{"position":[[561,12],[664,12]]},"691":{"position":[[413,12]]},"692":{"position":[[416,12]]}},"keywords":{}}],["temp1high",{"_index":2694,"title":{},"content":{"276":{"position":[[439,9],[507,9]]}},"keywords":{}}],["temp2",{"_index":2620,"title":{},"content":{"262":{"position":[[402,6]]},"284":{"position":[[491,5]]},"424":{"position":[[651,5]]},"440":{"position":[[691,5]]},"578":{"position":[[452,5],[482,5]]},"671":{"position":[[693,5],[892,5]]}},"keywords":{}}],["temp3",{"_index":2621,"title":{},"content":{"262":{"position":[[409,6]]},"284":{"position":[[534,5]]},"424":{"position":[[826,5]]}},"keywords":{}}],["temp4",{"_index":2691,"title":{},"content":{"274":{"position":[[488,5]]},"424":{"position":[[863,5]]}},"keywords":{}}],["temp4"",{"_index":2622,"title":{},"content":{"262":{"position":[[416,11]]}},"keywords":{}}],["temp[1",{"_index":3478,"title":{},"content":{"357":{"position":[[587,6]]}},"keywords":{}}],["temp_averag",{"_index":2617,"title":{},"content":{"262":{"position":[[353,12]]}},"keywords":{}}],["temp_numb",{"_index":4379,"title":{},"content":{"500":{"position":[[353,12],[531,13]]}},"keywords":{}}],["temp_tlm",{"_index":4232,"title":{},"content":{"480":{"position":[[1383,9],[1550,11],[1662,9],[1831,10]]}},"keywords":{}}],["temperatur",{"_index":4262,"title":{},"content":{"483":{"position":[[816,11],[883,11]]},"495":{"position":[[672,11],[970,11]]}},"keywords":{}}],["temperature"",{"_index":4350,"title":{},"content":{"496":{"position":[[641,18],[838,18]]}},"keywords":{}}],["temperature_numb",{"_index":4259,"title":{},"content":{"483":{"position":[[620,20],[702,18]]}},"keywords":{}}],["tempfile.namedtemporaryfile(mode="w+t"",{"_index":4779,"title":{},"content":{"629":{"position":[[913,49]]}},"keywords":{}}],["tempfile.new('test",{"_index":4773,"title":{},"content":{"629":{"position":[[584,20]]}},"keywords":{}}],["templat",{"_index":193,"title":{"63":{"position":[[0,8]]},"216":{"position":[[0,9]]}},"content":{"6":{"position":[[40,10]]},"11":{"position":[[269,11]]},"49":{"position":[[1427,8],[2378,8]]},"50":{"position":[[1209,8],[2013,8]]},"52":{"position":[[1448,8]]},"54":{"position":[[531,8],[1297,8],[2093,8]]},"56":{"position":[[95,8]]},"63":{"position":[[204,8],[657,8],[775,8],[1183,8]]},"216":{"position":[[27,8],[126,8],[293,8]]},"217":{"position":[[27,8],[124,8],[321,8]]},"235":{"position":[[793,8]]},"239":{"position":[[43,8]]},"290":{"position":[[39,8]]},"355":{"position":[[535,11]]},"357":{"position":[[385,11]]},"705":{"position":[[148,12]]}},"keywords":{}}],["template_fil",{"_index":2171,"title":{"217":{"position":[[0,14]]}},"content":{},"keywords":{}}],["templateaccessor",{"_index":1384,"title":{},"content":{"63":{"position":[[144,16]]}},"keywords":{}}],["templated_int",{"_index":5286,"title":{},"content":{"710":{"position":[[183,16]]}},"keywords":{}}],["temporari",{"_index":2300,"title":{},"content":{"227":{"position":[[4793,9]]},"729":{"position":[[39,9]]}},"keywords":{}}],["temporarili",{"_index":2864,"title":{},"content":{"302":{"position":[[581,11]]},"578":{"position":[[1190,11]]}},"keywords":{}}],["temp{temp_numb",{"_index":4385,"title":{},"content":{"500":{"position":[[634,17]]}},"keywords":{}}],["ten",{"_index":458,"title":{},"content":{"20":{"position":[[1119,3]]},"362":{"position":[[28,4]]}},"keywords":{}}],["term",{"_index":823,"title":{"110":{"position":[[5,4]]}},"content":{"36":{"position":[[9033,4]]},"110":{"position":[[10,4]]},"202":{"position":[[9033,4]]},"250":{"position":[[148,4]]},"267":{"position":[[7156,4]]},"297":{"position":[[32,5],[106,6],[114,4]]},"329":{"position":[[285,6]]},"344":{"position":[[349,4]]},"359":{"position":[[435,6],[760,5],[1802,6]]},"360":{"position":[[99,6]]},"361":{"position":[[106,5],[205,5]]},"457":{"position":[[63,4]]},"465":{"position":[[557,5]]}},"keywords":{}}],["termin",{"_index":1215,"title":{"62":{"position":[[0,10]]}},"content":{"49":{"position":[[1292,10],[2225,10]]},"50":{"position":[[1095,10],[1881,10]]},"52":{"position":[[1326,10]]},"54":{"position":[[447,10],[482,11],[1162,10],[1940,10]]},"56":{"position":[[118,10]]},"62":{"position":[[5,10],[50,11],[144,11],[392,10],[481,11],[601,11],[739,11],[778,11]]},"63":{"position":[[242,10],[444,10],[1306,11],[1426,11],[1923,11],[1962,11]]},"95":{"position":[[623,8]]},"304":{"position":[[4578,8]]},"324":{"position":[[2673,8]]},"337":{"position":[[306,8]]},"347":{"position":[[1871,8]]}},"keywords":{}}],["terminolog",{"_index":2830,"title":{"297":{"position":[[0,12]]}},"content":{},"keywords":{}}],["terraform",{"_index":2463,"title":{},"content":{"243":{"position":[[410,9]]}},"keywords":{}}],["test",{"_index":11,"title":{"41":{"position":[[0,7]]},"100":{"position":[[0,7]]},"103":{"position":[[11,8]]},"104":{"position":[[10,6]]},"105":{"position":[[12,6]]},"448":{"position":[[0,4]]}},"content":{"1":{"position":[[125,4]]},"24":{"position":[[523,7]]},"36":{"position":[[999,4],[1032,4]]},"44":{"position":[[79,7],[441,4]]},"103":{"position":[[135,5],[185,6],[267,4],[386,5]]},"202":{"position":[[999,4],[1032,4]]},"267":{"position":[[994,4],[1027,4],[8420,8]]},"297":{"position":[[822,4]]},"299":{"position":[[22,4]]},"300":{"position":[[22,4]]},"301":{"position":[[133,4]]},"302":{"position":[[200,4]]},"303":{"position":[[382,4]]},"304":{"position":[[710,5],[747,4],[1261,4],[1318,4],[1396,4],[1449,4],[2283,4],[5023,4],[5058,4],[5136,4],[5171,4],[5249,4],[5283,4],[5349,4],[5411,4],[5439,4],[5515,4],[5577,4],[5605,4],[5705,5],[5850,4],[6008,4],[6165,4],[6281,5],[6297,4],[6323,7],[6427,4],[6452,4],[6605,7],[6637,4],[6849,4]]},"305":{"position":[[168,4]]},"306":{"position":[[287,4]]},"307":{"position":[[119,4]]},"308":{"position":[[134,4]]},"309":{"position":[[213,4]]},"310":{"position":[[118,4]]},"311":{"position":[[125,4]]},"313":{"position":[[24,6]]},"324":{"position":[[554,6]]},"347":{"position":[[228,7]]},"351":{"position":[[310,7]]},"357":{"position":[[296,7]]},"360":{"position":[[434,5],[1326,5]]},"448":{"position":[[12,4],[204,5]]},"449":{"position":[[267,6]]},"474":{"position":[[174,8]]},"482":{"position":[[303,4],[848,5],[1112,5]]},"486":{"position":[[403,4],[514,4],[639,4],[751,4]]},"492":{"position":[[59,7],[334,7]]},"496":{"position":[[168,6]]},"504":{"position":[[283,4]]},"507":{"position":[[165,4]]},"605":{"position":[[47,4]]},"610":{"position":[[54,4],[119,6]]},"617":{"position":[[112,4]]},"637":{"position":[[175,4]]},"638":{"position":[[157,7]]},"639":{"position":[[183,7]]},"641":{"position":[[198,4]]},"642":{"position":[[180,7]]},"643":{"position":[[206,7]]},"669":{"position":[[225,7]]},"735":{"position":[[81,4]]},"736":{"position":[[40,4],[97,4],[287,4]]},"737":{"position":[[73,4]]},"738":{"position":[[94,4]]},"754":{"position":[[1156,4],[1240,4],[1286,4],[1331,4],[1703,4],[1780,4],[1834,4],[1887,4]]}},"keywords":{}}],["test"",{"_index":3745,"title":{},"content":{"375":{"position":[[223,10],[273,10]]},"376":{"position":[[227,10],[301,10]]},"377":{"position":[[223,10],[279,10],[353,10]]},"378":{"position":[[225,10],[281,10],[356,10]]},"379":{"position":[[393,10],[448,10]]},"380":{"position":[[387,10],[442,10]]},"629":{"position":[[565,11],[635,11],[894,11],[993,11]]}},"keywords":{}}],["test';"",{"_index":3929,"title":{},"content":{"429":{"position":[[2250,13]]}},"keywords":{}}],["test("'"${script_path#scripts/}"",{"_index":1132,"title":{},"content":{"44":{"position":[[3689,48]]}},"keywords":{}}],["test_",{"_index":5479,"title":{},"content":{"754":{"position":[[160,8],[481,8]]}},"keywords":{}}],["test_1",{"_index":4427,"title":{},"content":{"508":{"position":[[625,6]]}},"keywords":{}}],["test_1_heater_zone_control",{"_index":4280,"title":{},"content":{"486":{"position":[[317,26],[548,29]]}},"keywords":{}}],["test_minimum_temp(enable_cmd_nam",{"_index":4230,"title":{},"content":{"480":{"position":[[1336,34],[1615,34]]}},"keywords":{}}],["testrunn",{"_index":5417,"title":{},"content":{"737":{"position":[[135,11],[279,11]]}},"keywords":{}}],["tests/procedur",{"_index":2890,"title":{},"content":{"304":{"position":[[779,16]]}},"keywords":{}}],["testsuit",{"_index":1086,"title":{},"content":{"44":{"position":[[2155,12]]}},"keywords":{}}],["text",{"_index":59,"title":{},"content":{"2":{"position":[[535,4]]},"6":{"position":[[128,4]]},"25":{"position":[[63,4]]},"26":{"position":[[218,4]]},"54":{"position":[[550,4]]},"63":{"position":[[288,4],[549,6]]},"93":{"position":[[1243,5]]},"198":{"position":[[1189,4]]},"253":{"position":[[6152,4],[7463,4]]},"297":{"position":[[884,4],[1175,4]]},"298":{"position":[[626,4],[1443,4]]},"304":{"position":[[105,4],[1369,4],[2852,4]]},"321":{"position":[[218,4]]},"344":{"position":[[66,4],[286,5]]},"359":{"position":[[271,4]]},"366":{"position":[[102,5]]},"373":{"position":[[817,4]]},"380":{"position":[[32,4]]},"383":{"position":[[863,4],[971,4]]},"387":{"position":[[208,4]]},"389":{"position":[[166,4]]},"393":{"position":[[94,4],[99,4]]},"396":{"position":[[10,4],[171,4]]},"398":{"position":[[83,4]]},"407":{"position":[[282,4]]},"424":{"position":[[325,4],[377,4]]},"426":{"position":[[36,4]]},"429":{"position":[[1615,4],[1620,4]]},"430":{"position":[[157,4],[162,4]]},"431":{"position":[[30,4],[174,4],[181,4],[236,4],[243,4]]},"432":{"position":[[161,4]]},"434":{"position":[[29,4],[255,4]]},"435":{"position":[[53,4],[113,4],[159,4],[172,4],[191,4]]},"436":{"position":[[161,4]]},"439":{"position":[[7,4],[113,4],[191,4],[215,4],[220,4],[281,4],[326,4]]},"440":{"position":[[11,4],[259,4],[337,4],[388,4],[433,4]]},"495":{"position":[[274,4]]},"497":{"position":[[171,4],[263,4],[374,4],[679,4]]},"501":{"position":[[300,4]]},"533":{"position":[[475,4],[780,4]]},"552":{"position":[[550,4]]},"555":{"position":[[25,4],[125,4]]},"563":{"position":[[488,4]]},"577":{"position":[[1319,4]]},"588":{"position":[[120,4]]},"589":{"position":[[487,4]]},"598":{"position":[[506,4]]},"627":{"position":[[149,4],[271,4],[361,4],[443,4],[547,4],[552,4]]},"744":{"position":[[39,4]]}},"keywords":{}}],["text_log",{"_index":3291,"title":{"344":{"position":[[0,10]]}},"content":{"344":{"position":[[5,9]]}},"keywords":{}}],["textbox",{"_index":3892,"title":{"426":{"position":[[0,8]]}},"content":{"426":{"position":[[186,7],[243,7],[296,7]]}},"keywords":{}}],["textcolor",{"_index":3736,"title":{"380":{"position":[[0,10]]}},"content":{"372":{"position":[[357,9]]},"373":{"position":[[902,9]]},"380":{"position":[[5,9],[406,9],[461,9]]},"383":{"position":[[827,9],[934,9]]}},"keywords":{}}],["textfield",{"_index":3768,"title":{"435":{"position":[[0,10]]}},"content":{"384":{"position":[[674,9]]},"435":{"position":[[266,9]]},"446":{"position":[[449,9]]}},"keywords":{}}],["textual",{"_index":2948,"title":{},"content":{"305":{"position":[[1349,7]]},"309":{"position":[[26,7],[477,7]]}},"keywords":{}}],["tg",{"_index":2958,"title":{},"content":{"307":{"position":[[254,2],[363,2],[493,2],[582,2],[694,2],[791,2],[888,2],[989,2],[1084,2]]}},"keywords":{}}],["tgt",{"_index":1283,"title":{},"content":{"54":{"position":[[2608,3],[2820,3]]}},"keywords":{}}],["tgt__pkt__item__typ",{"_index":5027,"title":{},"content":{"663":{"position":[[411,24]]}},"keywords":{}}],["thank",{"_index":3673,"title":{},"content":{"362":{"position":[[732,5]]},"479":{"position":[[270,5]]}},"keywords":{}}],["the_great_conversion.pi",{"_index":776,"title":{},"content":{"36":{"position":[[5768,23],[5808,24]]},"202":{"position":[[5768,23],[5808,24]]},"267":{"position":[[4248,23],[4288,24]]}},"keywords":{}}],["the_great_conversion.rb",{"_index":762,"title":{},"content":{"36":{"position":[[5220,25],[5433,23],[5473,24]]},"202":{"position":[[5220,25],[5433,23],[5473,24]]},"267":{"position":[[3701,25],[3913,23],[3953,24]]}},"keywords":{}}],["thecf",{"_index":3053,"title":{},"content":{"320":{"position":[[1405,6]]}},"keywords":{}}],["thedest_ip",{"_index":3088,"title":{},"content":{"321":{"position":[[1143,10]]}},"keywords":{}}],["thegreatconvers",{"_index":763,"title":{},"content":{"36":{"position":[[5268,20],[5558,18]]},"202":{"position":[[5268,20],[5558,18]]},"267":{"position":[[3749,20],[4038,18]]}},"keywords":{}}],["thegreatconversion(convers",{"_index":778,"title":{},"content":{"36":{"position":[[5892,31]]},"202":{"position":[[5892,31]]},"267":{"position":[[4372,31]]}},"keywords":{}}],["themselv",{"_index":1155,"title":{},"content":{"46":{"position":[[486,10],[519,10]]},"114":{"position":[[237,11]]},"230":{"position":[[624,10]]},"231":{"position":[[728,10]]},"250":{"position":[[124,10]]}},"keywords":{}}],["therefor",{"_index":1786,"title":{},"content":{"99":{"position":[[347,9]]},"198":{"position":[[307,9]]},"259":{"position":[[335,9]]},"476":{"position":[[1196,9]]},"488":{"position":[[1454,10]]}},"keywords":{}}],["thermal",{"_index":2667,"title":{},"content":{"267":{"position":[[8405,7]]},"482":{"position":[[833,7]]}},"keywords":{}}],["thin",{"_index":3777,"title":{},"content":{"387":{"position":[[56,4]]},"389":{"position":[[58,4]]}},"keywords":{}}],["thing",{"_index":110,"title":{"480":{"position":[[5,6]]},"503":{"position":[[5,6]]}},"content":{"3":{"position":[[431,6]]},"44":{"position":[[1326,5]]},"69":{"position":[[2530,7]]},"114":{"position":[[102,6]]},"253":{"position":[[8353,6]]},"298":{"position":[[887,6]]},"359":{"position":[[214,5]]},"364":{"position":[[1154,6]]},"429":{"position":[[466,6]]},"479":{"position":[[83,6]]},"488":{"position":[[194,6]]},"502":{"position":[[102,6]]},"617":{"position":[[248,6]]}},"keywords":{}}],["think",{"_index":4019,"title":{},"content":{"449":{"position":[[594,5]]}},"keywords":{}}],["third",{"_index":1733,"title":{},"content":{"93":{"position":[[1065,5]]},"94":{"position":[[847,5]]},"253":{"position":[[3949,5]]},"459":{"position":[[62,5]]},"469":{"position":[[157,5],[229,5],[683,5]]},"617":{"position":[[783,5]]}},"keywords":{}}],["this.enddatetim",{"_index":2276,"title":{},"content":{"227":{"position":[[2765,17],[3772,17]]}},"keywords":{}}],["this.startdatetim",{"_index":2274,"title":{},"content":{"227":{"position":[[2735,19],[3742,19]]}},"keywords":{}}],["this.subscription.perform("add"",{"_index":2270,"title":{},"content":{"227":{"position":[[2604,42],[3607,42]]}},"keywords":{}}],["those",{"_index":1461,"title":{},"content":{"69":{"position":[[2211,5]]},"257":{"position":[[536,5],[1798,5]]},"305":{"position":[[1229,5]]},"459":{"position":[[638,5]]},"466":{"position":[[855,5]]},"583":{"position":[[204,5]]},"612":{"position":[[1403,5]]},"754":{"position":[[447,5]]},"765":{"position":[[120,5]]}},"keywords":{}}],["though",{"_index":3201,"title":{},"content":{"324":{"position":[[4033,6]]},"508":{"position":[[322,7]]}},"keywords":{}}],["thousand",{"_index":4471,"title":{},"content":{"541":{"position":[[155,9]]},"542":{"position":[[158,9]]}},"keywords":{}}],["thread",{"_index":4449,"title":{},"content":{"523":{"position":[[292,7]]},"528":{"position":[[107,6],[177,7],[207,6],[225,6],[262,6],[432,6],[580,6],[982,6],[1483,6]]}},"keywords":{}}],["three",{"_index":1462,"title":{},"content":{"69":{"position":[[2524,5]]},"93":{"position":[[917,5]]},"94":{"position":[[708,5]]},"253":{"position":[[5821,5]]},"306":{"position":[[576,5]]},"429":{"position":[[1341,5]]},"504":{"position":[[11,5]]},"517":{"position":[[20,5]]},"583":{"position":[[5,5]]},"617":{"position":[[397,5]]},"681":{"position":[[138,5]]}},"keywords":{}}],["through",{"_index":69,"title":{},"content":{"2":{"position":[[675,7]]},"46":{"position":[[233,7]]},"69":{"position":[[3006,7],[3191,7],[3391,7],[4301,7],[4691,7]]},"227":{"position":[[269,7]]},"298":{"position":[[766,7],[1329,7]]},"304":{"position":[[2892,7],[4790,7]]},"363":{"position":[[688,7]]},"374":{"position":[[212,7]]},"469":{"position":[[78,7]]},"490":{"position":[[1115,7]]},"492":{"position":[[707,7]]},"500":{"position":[[708,7]]},"536":{"position":[[333,7]]},"578":{"position":[[1181,8]]},"588":{"position":[[105,7]]},"613":{"position":[[283,7]]},"618":{"position":[[482,7],[806,7]]},"765":{"position":[[48,7]]}},"keywords":{}}],["throughout",{"_index":82,"title":{},"content":{"3":{"position":[[1,10]]}},"keywords":{}}],["throw",{"_index":835,"title":{},"content":{"36":{"position":[[9711,6]]},"202":{"position":[[9711,6]]}},"keywords":{}}],["thrown",{"_index":1380,"title":{},"content":{"62":{"position":[[423,6]]}},"keywords":{}}],["thu",{"_index":754,"title":{},"content":{"36":{"position":[[4697,4],[8689,4]]},"57":{"position":[[189,4],[518,4]]},"59":{"position":[[240,4]]},"69":{"position":[[413,4]]},"112":{"position":[[531,4]]},"133":{"position":[[130,4]]},"202":{"position":[[4697,4],[8689,4]]},"209":{"position":[[186,4]]},"250":{"position":[[410,4]]},"257":{"position":[[75,4]]},"274":{"position":[[172,4]]},"344":{"position":[[230,4]]},"355":{"position":[[780,4]]},"384":{"position":[[293,4]]},"504":{"position":[[431,5]]},"517":{"position":[[805,4]]},"658":{"position":[[398,4]]}},"keywords":{}}],["thumb",{"_index":3441,"title":{},"content":{"355":{"position":[[353,5]]},"356":{"position":[[558,5]]}},"keywords":{}}],["ticket",{"_index":1904,"title":{},"content":{"110":{"position":[[44,7]]},"457":{"position":[[399,6]]}},"keywords":{}}],["tidbit",{"_index":104,"title":{},"content":{"3":{"position":[[353,7]]}},"keywords":{}}],["tight",{"_index":4401,"title":{},"content":{"504":{"position":[[680,6]]}},"keywords":{}}],["tighter",{"_index":2665,"title":{},"content":{"267":{"position":[[8324,7]]}},"keywords":{}}],["till",{"_index":1400,"title":{},"content":{"63":{"position":[[1722,4]]}},"keywords":{}}],["time",{"_index":224,"title":{"263":{"position":[[9,4],[25,5]]},"436":{"position":[[0,5]]},"547":{"position":[[10,5]]}},"content":{"6":{"position":[[631,4]]},"51":{"position":[[601,4]]},"59":{"position":[[231,4]]},"63":{"position":[[2611,6]]},"66":{"position":[[225,6]]},"73":{"position":[[72,4]]},"74":{"position":[[75,4]]},"75":{"position":[[1667,4]]},"76":{"position":[[763,4]]},"83":{"position":[[791,4]]},"99":{"position":[[927,4],[973,4],[1002,4],[1429,4],[1621,4],[2879,5],[3012,4],[3148,4],[3314,5],[3438,4]]},"120":{"position":[[176,4]]},"133":{"position":[[362,4],[377,4],[591,4],[690,5],[787,4],[924,4]]},"147":{"position":[[40,4],[99,4]]},"150":{"position":[[47,4],[106,4]]},"154":{"position":[[42,4],[101,4]]},"157":{"position":[[49,4],[108,4]]},"168":{"position":[[166,5]]},"176":{"position":[[236,5]]},"208":{"position":[[274,6]]},"227":{"position":[[2184,4],[4451,4],[5481,6],[5961,4]]},"249":{"position":[[353,4]]},"253":{"position":[[5073,4]]},"254":{"position":[[2092,4]]},"263":{"position":[[201,4],[387,4],[480,4],[823,4],[917,5],[973,4],[1042,4],[1085,4],[1320,4],[1475,4],[1710,4],[1731,4]]},"267":{"position":[[8593,5]]},"273":{"position":[[274,6]]},"276":{"position":[[52,4]]},"285":{"position":[[1174,4],[1439,4],[1525,4]]},"287":{"position":[[206,5]]},"299":{"position":[[667,4],[771,4],[922,4],[985,4],[1028,4],[1094,4]]},"301":{"position":[[1735,4],[1756,5],[1767,4]]},"304":{"position":[[3028,6],[3096,4]]},"307":{"position":[[860,5]]},"309":{"position":[[422,4]]},"347":{"position":[[1255,4]]},"352":{"position":[[229,4]]},"356":{"position":[[778,4]]},"363":{"position":[[482,5]]},"364":{"position":[[343,5]]},"371":{"position":[[54,4],[78,4]]},"403":{"position":[[262,4]]},"418":{"position":[[1325,4],[1368,4],[1379,4]]},"419":{"position":[[1378,4],[1421,4],[1432,4]]},"420":{"position":[[1350,4],[1393,4],[1404,4]]},"427":{"position":[[153,4]]},"436":{"position":[[12,4],[179,4],[194,7],[251,5],[262,4],[365,4],[370,4]]},"463":{"position":[[124,6]]},"467":{"position":[[572,5]]},"470":{"position":[[300,4]]},"476":{"position":[[578,4],[3863,4]]},"480":{"position":[[127,6]]},"482":{"position":[[1361,7]]},"483":{"position":[[86,5]]},"487":{"position":[[446,5]]},"488":{"position":[[1027,4]]},"499":{"position":[[796,4],[1128,4]]},"504":{"position":[[498,4]]},"505":{"position":[[384,6]]},"522":{"position":[[187,6]]},"525":{"position":[[449,4],[542,5],[572,5]]},"526":{"position":[[36,5]]},"527":{"position":[[63,5]]},"528":{"position":[[362,4],[687,5],[1057,4]]},"533":{"position":[[738,5]]},"546":{"position":[[101,4]]},"547":{"position":[[147,4],[181,4],[201,4]]},"548":{"position":[[33,4]]},"550":{"position":[[149,4]]},"555":{"position":[[59,4],[230,4],[243,4],[264,4],[324,5]]},"561":{"position":[[97,5]]},"577":{"position":[[528,4],[817,5]]},"599":{"position":[[718,4],[772,5],[906,4],[956,5],[989,4],[1071,4]]},"600":{"position":[[278,4]]},"605":{"position":[[588,5]]},"612":{"position":[[1416,6]]},"617":{"position":[[776,5]]},"644":{"position":[[1109,7]]},"650":{"position":[[986,8]]},"653":{"position":[[13,4],[275,4],[388,4],[482,4],[561,4],[593,4],[693,4],[725,4],[835,4]]},"654":{"position":[[23,5],[407,5]]},"668":{"position":[[23,5],[432,5]]},"680":{"position":[[102,4]]},"681":{"position":[[48,4],[417,4],[484,4],[524,4],[1135,5]]},"682":{"position":[[48,4],[902,5]]},"683":{"position":[[688,5]]},"685":{"position":[[141,5],[231,4],[747,5]]},"686":{"position":[[48,4],[213,4],[798,5]]},"687":{"position":[[327,4],[613,5]]},"688":{"position":[[163,4],[543,5]]},"703":{"position":[[65,4]]},"748":{"position":[[148,4]]},"752":{"position":[[605,5],[745,5]]},"761":{"position":[[132,4]]},"762":{"position":[[220,4]]},"763":{"position":[[224,4]]}},"keywords":{}}],["time.ccsds2mdy(packet.read('ccsdsday",{"_index":2745,"title":{},"content":{"285":{"position":[[1532,39]]}},"keywords":{}}],["time[0",{"_index":2748,"title":{},"content":{"285":{"position":[[1671,8]]}},"keywords":{}}],["time[1",{"_index":2749,"title":{},"content":{"285":{"position":[[1680,8]]}},"keywords":{}}],["time[2",{"_index":2750,"title":{},"content":{"285":{"position":[[1689,8]]}},"keywords":{}}],["time[3",{"_index":2751,"title":{},"content":{"285":{"position":[[1698,8]]}},"keywords":{}}],["time[4",{"_index":2752,"title":{},"content":{"285":{"position":[[1707,8]]}},"keywords":{}}],["time[5",{"_index":2753,"title":{},"content":{"285":{"position":[[1716,8]]}},"keywords":{}}],["time[6",{"_index":2754,"title":{},"content":{"285":{"position":[[1725,8]]}},"keywords":{}}],["timeformat",{"_index":2743,"title":{},"content":{"285":{"position":[[1399,13]]}},"keywords":{}}],["timelin",{"_index":2971,"title":{"523":{"position":[[7,10]]},"528":{"position":[[0,8]]}},"content":{"310":{"position":[[173,9],[217,8],[313,8],[406,8],[489,8],[741,9],[784,8],[828,9],[847,8]]},"522":{"position":[[42,8],[96,9]]},"523":{"position":[[10,8],[67,8],[105,9],[228,9],[263,8],[315,9]]},"527":{"position":[[16,9]]},"528":{"position":[[23,9],[39,8],[73,8],[135,9],[504,9]]}},"keywords":{}}],["timeout",{"_index":1202,"title":{},"content":{"49":{"position":[[540,7],[609,7]]},"50":{"position":[[427,7],[496,7]]},"51":{"position":[[709,7],[782,7]]},"52":{"position":[[619,7],[688,7]]},"63":{"position":[[2555,7],[2786,8]]},"66":{"position":[[184,7],[475,8]]},"253":{"position":[[7851,7],[7894,7]]},"289":{"position":[[931,8],[1454,7],[1505,7]]},"338":{"position":[[685,7],[728,7]]},"501":{"position":[[383,7]]},"504":{"position":[[131,7],[229,7],[467,7]]},"636":{"position":[[1125,7],[1180,7],[1674,8]]},"637":{"position":[[1347,7],[1402,7]]},"638":{"position":[[1368,7],[1423,7]]},"639":{"position":[[1401,7],[1456,7]]},"640":{"position":[[1201,7],[1256,7]]},"641":{"position":[[1418,7],[1473,7]]},"642":{"position":[[1439,7],[1494,7]]},"643":{"position":[[1472,7],[1527,7]]},"681":{"position":[[271,8],[1065,7],[1073,7]]},"682":{"position":[[155,8],[832,7],[840,7]]},"683":{"position":[[68,7],[89,7],[250,8],[618,7],[626,7]]},"684":{"position":[[78,7],[134,8],[590,7],[598,7]]},"685":{"position":[[157,7],[680,7],[688,7]]},"686":{"position":[[139,7],[731,7],[739,7]]},"687":{"position":[[68,7],[89,7],[546,7],[554,7]]},"688":{"position":[[78,7],[476,7],[484,7]]}},"keywords":{}}],["timeout=10",{"_index":4823,"title":{},"content":{"636":{"position":[[1925,11]]}},"keywords":{}}],["timesec",{"_index":2639,"title":{},"content":{"263":{"position":[[1334,7],[1399,7],[1489,7],[1573,7]]},"403":{"position":[[858,7]]},"406":{"position":[[442,7]]}},"keywords":{}}],["timesecond",{"_index":2735,"title":{},"content":{"285":{"position":[[1136,11]]}},"keywords":{}}],["timestamp",{"_index":1812,"title":{},"content":{"99":{"position":[[2734,9],[2775,9],[3078,9],[3209,9]]},"227":{"position":[[4300,10],[5524,9],[6002,9]]},"299":{"position":[[736,12],[1069,10],[1157,11]]},"344":{"position":[[111,12]]}},"keywords":{}}],["timeu",{"_index":2642,"title":{},"content":{"263":{"position":[[1407,6],[1581,6]]}},"keywords":{}}],["timeus"",{"_index":2640,"title":{},"content":{"263":{"position":[[1346,12],[1501,12]]}},"keywords":{}}],["tip",{"_index":99,"title":{},"content":{"3":{"position":[[235,4]]}},"keywords":{}}],["titl",{"_index":3809,"title":{"398":{"position":[[0,6]]}},"content":{"398":{"position":[[27,5],[121,5]]},"446":{"position":[[66,5]]},"592":{"position":[[33,5]]},"593":{"position":[[70,5],[325,5],[551,5]]},"599":{"position":[[626,5]]},"601":{"position":[[69,5]]},"632":{"position":[[950,5]]},"745":{"position":[[520,5],[792,5]]},"746":{"position":[[980,5],[1263,5]]}},"keywords":{}}],["tl",{"_index":388,"title":{"19":{"position":[[4,3]]}},"content":{"22":{"position":[[160,5],[498,4]]},"29":{"position":[[101,4]]},"310":{"position":[[226,2],[322,2],[415,2],[498,2],[595,2],[690,2],[793,2]]}},"keywords":{}}],["tlm",{"_index":1588,"title":{"660":{"position":[[0,4]]}},"content":{"83":{"position":[[1134,3],[2149,3],[2399,3],[2493,3]]},"85":{"position":[[44,3],[644,3],[697,3],[723,3],[792,3],[818,3],[865,3],[925,3],[1065,3],[1124,3],[1191,3],[1268,3],[1311,3],[1523,3]]},"94":{"position":[[50,4],[99,3]]},"227":{"position":[[3100,3],[4024,3]]},"240":{"position":[[991,3]]},"259":{"position":[[1244,3]]},"285":{"position":[[282,3]]},"301":{"position":[[892,3],[1044,3],[1613,3]]},"304":{"position":[[1912,6]]},"352":{"position":[[736,3],[779,3],[878,3]]},"357":{"position":[[1245,3],[2734,3],[3588,4]]},"421":{"position":[[31,3]]},"424":{"position":[[591,3],[628,3],[803,3],[840,3]]},"499":{"position":[[114,6]]},"502":{"position":[[701,5]]},"617":{"position":[[1075,4]]},"621":{"position":[[4839,5]]},"671":{"position":[[733,3],[932,3]]},"715":{"position":[[798,3],[1369,3]]},"758":{"position":[[170,7]]}},"keywords":{}}],["tlm>__<target",{"_index":2278,"title":{},"content":{"227":{"position":[[2886,19],[3895,19]]}},"keywords":{}}],["tlm("#{target",{"_index":4196,"title":{},"content":{"476":{"position":[[2437,19]]}},"keywords":{}}],["tlm("<target",{"_index":5001,"title":{},"content":{"660":{"position":[[71,20],[146,20]]}},"keywords":{}}],["tlm("inst",{"_index":2206,"title":{},"content":{"224":{"position":[[1283,14]]},"478":{"position":[[466,14],[662,14]]},"498":{"position":[[397,14],[504,14],[622,14]]},"502":{"position":[[551,14],[793,14]]},"660":{"position":[[570,14],[914,14],[998,14],[1342,14]]}},"keywords":{}}],["tlm("inst"",{"_index":5003,"title":{},"content":{"660":{"position":[[623,21],[1051,21]]}},"keywords":{}}],["tlm("tgt",{"_index":2192,"title":{},"content":{"224":{"position":[[743,13],[844,13],[1181,13]]},"259":{"position":[[1742,13]]},"586":{"position":[[851,13]]}},"keywords":{}}],["tlm('inst",{"_index":4993,"title":{},"content":{"658":{"position":[[1132,9]]},"683":{"position":[[1016,9]]},"687":{"position":[[869,9]]}},"keywords":{}}],["tlm(f"{target",{"_index":4206,"title":{},"content":{"476":{"position":[[3347,19]]}},"keywords":{}}],["tlm.txt",{"_index":2606,"title":{},"content":{"259":{"position":[[584,7],[673,8]]}},"keywords":{}}],["tlm__inst__adc",{"_index":2295,"title":{},"content":{"227":{"position":[[4223,17]]}},"keywords":{}}],["tlm__inst__adcs__raw",{"_index":2294,"title":{},"content":{"227":{"position":[[4199,20]]}},"keywords":{}}],["tlm_buffer_depth",{"_index":2025,"title":{"153":{"position":[[0,17]]}},"content":{},"keywords":{}}],["tlm_cnt",{"_index":5064,"title":{},"content":{"668":{"position":[[366,7]]}},"keywords":{}}],["tlm_count",{"_index":5311,"title":{},"content":{"715":{"position":[[481,10],[1040,10]]}},"keywords":{}}],["tlm_count}"",{"_index":5316,"title":{},"content":{"715":{"position":[[809,18]]}},"keywords":{}}],["tlm_decom_log_cycle_s",{"_index":2030,"title":{"158":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_cycle_tim",{"_index":2029,"title":{"157":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_retain_tim",{"_index":2031,"title":{"159":{"position":[[0,26]]}},"content":{},"keywords":{}}],["tlm_format",{"_index":1754,"title":{"660":{"position":[[14,14]]}},"content":{"94":{"position":[[64,14],[243,13]]}},"keywords":{}}],["tlm_formatted("inst",{"_index":5006,"title":{},"content":{"660":{"position":[[759,24],[1187,24]]}},"keywords":{}}],["tlm_int",{"_index":1951,"title":{},"content":{"127":{"position":[[192,7],[326,7],[373,7],[525,7]]}},"keywords":{}}],["tlm_log_cycle_s",{"_index":2027,"title":{"155":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_cycle_tim",{"_index":2026,"title":{"154":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_retain_tim",{"_index":2028,"title":{"156":{"position":[[0,20]]}},"content":{},"keywords":{}}],["tlm_onli",{"_index":5333,"title":{},"content":{"716":{"position":[[231,9],[438,8]]}},"keywords":{}}],["tlm_override.txt",{"_index":2607,"title":{},"content":{"259":{"position":[[607,16]]}},"keywords":{}}],["tlm_packet"",{"_index":2692,"title":{},"content":{"275":{"position":[[419,16]]}},"keywords":{}}],["tlm_raw",{"_index":1753,"title":{"660":{"position":[[5,8]]}},"content":{"94":{"position":[[55,8],[172,7]]},"499":{"position":[[121,10]]},"660":{"position":[[894,7],[1322,7]]}},"keywords":{}}],["tlm_raw("inst",{"_index":5005,"title":{},"content":{"660":{"position":[[702,18],[1130,18]]}},"keywords":{}}],["tlm_unique_id_mod",{"_index":386,"title":{"18":{"position":[[0,19]]}},"content":{"260":{"position":[[459,18]]}},"keywords":{}}],["tlm_variabl",{"_index":4723,"title":{},"content":{"621":{"position":[[4796,12]]}},"keywords":{}}],["tlm_with_unit",{"_index":1755,"title":{"660":{"position":[[29,15]]}},"content":{"94":{"position":[[79,14],[326,14]]}},"keywords":{}}],["tlm_with_units("inst",{"_index":5007,"title":{},"content":{"660":{"position":[[822,25],[1250,25]]}},"keywords":{}}],["tlmgrapher",{"_index":3477,"title":{},"content":{"357":{"position":[[536,10]]}},"keywords":{}}],["tlmviewer",{"_index":3475,"title":{},"content":{"357":{"position":[[419,9]]}},"keywords":{}}],["tls1.2",{"_index":600,"title":{"29":{"position":[[0,6]]}},"content":{},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_128_gcm_sha256",{"_index":607,"title":{},"content":{"29":{"position":[[180,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_256_gcm_sha384",{"_index":609,"title":{},"content":{"29":{"position":[[262,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_chacha20_poly1305_sha256",{"_index":611,"title":{},"content":{"29":{"position":[[350,45]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_128_gcm_sha256",{"_index":606,"title":{},"content":{"29":{"position":[[140,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_256_gcm_sha384",{"_index":608,"title":{},"content":{"29":{"position":[[222,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_chacha20_poly1305_sha256",{"_index":610,"title":{},"content":{"29":{"position":[[304,43]]}},"keywords":{}}],["tm",{"_index":3128,"title":{},"content":{"322":{"position":[[1529,2],[1581,2]]}},"keywords":{}}],["tm/tc",{"_index":3033,"title":{"320":{"position":[[29,5]]},"321":{"position":[[9,5]]}},"content":{},"keywords":{}}],["tmp",{"_index":2792,"title":{},"content":{"290":{"position":[[621,5],[750,5]]}},"keywords":{}}],["to_lab_cmds.txt",{"_index":3060,"title":{},"content":{"321":{"position":[[164,15],[269,16]]}},"keywords":{}}],["to_lab_en",{"_index":3061,"title":{},"content":{"321":{"position":[[299,13]]}},"keywords":{}}],["todo",{"_index":1412,"title":{},"content":{"66":{"position":[[95,6]]}},"keywords":{}}],["togeth",{"_index":1407,"title":{},"content":{"64":{"position":[[212,8]]},"283":{"position":[[113,9]]},"404":{"position":[[438,9],[605,8]]},"511":{"position":[[241,8]]}},"keywords":{}}],["toggl",{"_index":4323,"title":{},"content":{"490":{"position":[[259,7]]},"492":{"position":[[181,6]]},"505":{"position":[[596,6]]}},"keywords":{}}],["tohttp://localhost:2900/tools/admin",{"_index":3112,"title":{},"content":{"322":{"position":[[115,36]]}},"keywords":{}}],["tohttp://localhost:2900/tools/cmdsender/cfs/to_lab_en",{"_index":3133,"title":{},"content":{"322":{"position":[[1886,58]]}},"keywords":{}}],["token",{"_index":896,"title":{},"content":{"42":{"position":[[116,5]]},"43":{"position":[[95,5],[193,5],[321,6]]},"227":{"position":[[1335,6],[1342,6],[1771,5],[2676,6],[3679,6]]}},"keywords":{}}],["toler",{"_index":4405,"title":{},"content":{"504":{"position":[[875,9]]},"657":{"position":[[68,10],[631,9],[643,9]]},"682":{"position":[[129,10],[787,9],[799,9]]},"686":{"position":[[123,10],[686,9],[698,9]]}},"keywords":{}}],["tomcat",{"_index":2499,"title":{},"content":{"250":{"position":[[439,6]]}},"keywords":{}}],["tool",{"_index":79,"title":{"83":{"position":[[12,6]]},"117":{"position":[[0,5]]},"184":{"position":[[0,5]]},"185":{"position":[[0,4]]},"235":{"position":[[0,4]]}},"content":{"2":{"position":[[782,6]]},"13":{"position":[[58,5]]},"14":{"position":[[55,5]]},"36":{"position":[[712,5]]},"44":{"position":[[238,5]]},"54":{"position":[[663,5]]},"64":{"position":[[111,5]]},"84":{"position":[[262,4],[287,4],[980,4],[1373,5]]},"95":{"position":[[342,5],[508,5]]},"108":{"position":[[27,5],[181,4],[223,4]]},"112":{"position":[[380,5]]},"114":{"position":[[191,6]]},"117":{"position":[[8,5]]},"133":{"position":[[161,6]]},"184":{"position":[[10,4],[26,4],[74,5],[330,4],[387,4],[409,4],[484,4]]},"185":{"position":[[38,4]]},"186":{"position":[[24,4],[66,5],[267,6]]},"187":{"position":[[24,4],[78,4]]},"188":{"position":[[20,4],[80,5],[103,4],[201,5],[249,4],[311,4]]},"189":{"position":[[5,4],[39,4],[149,4]]},"190":{"position":[[18,4],[39,4],[179,4]]},"191":{"position":[[10,4],[42,4],[133,5],[195,4]]},"192":{"position":[[32,4],[70,4],[124,5],[219,5]]},"193":{"position":[[80,4]]},"202":{"position":[[712,5]]},"210":{"position":[[36,5]]},"213":{"position":[[101,5]]},"227":{"position":[[126,5]]},"229":{"position":[[451,4]]},"235":{"position":[[5,4],[61,5],[136,4],[167,4],[291,5],[360,4],[503,4],[528,4],[533,5],[603,4],[696,5],[865,4],[1025,4],[1234,4],[1340,4],[1441,5],[1626,5],[1720,5],[1799,4]]},"240":{"position":[[1414,4]]},"241":{"position":[[32,4]]},"245":{"position":[[466,5]]},"250":{"position":[[118,5],[380,5]]},"254":{"position":[[980,5]]},"257":{"position":[[625,4],[1053,4],[1718,4]]},"263":{"position":[[633,5]]},"267":{"position":[[707,5],[8063,5]]},"275":{"position":[[110,5]]},"278":{"position":[[49,5]]},"291":{"position":[[542,5],[1066,5]]},"297":{"position":[[1231,4]]},"298":{"position":[[1413,4],[1485,5]]},"304":{"position":[[759,6]]},"305":{"position":[[33,4]]},"308":{"position":[[105,6]]},"310":{"position":[[14,4]]},"311":{"position":[[11,4],[156,4],[235,4],[315,4],[389,4],[500,4],[593,4],[679,4],[723,5],[765,4],[795,5],[809,5],[822,5],[847,4]]},"345":{"position":[[63,6],[108,5],[173,4],[456,4]]},"394":{"position":[[15,5]]},"490":{"position":[[360,5],[899,4]]},"493":{"position":[[32,5],[141,4],[183,4]]},"496":{"position":[[1033,4]]},"517":{"position":[[69,6],[459,5],[518,5],[548,5],[694,5],[775,5]]},"599":{"position":[[199,5]]},"617":{"position":[[147,4],[202,4],[339,4]]},"619":{"position":[[121,6],[150,4],[220,6]]},"620":{"position":[[146,4]]},"621":{"position":[[158,4]]},"759":{"position":[[184,6]]},"770":{"position":[[13,5]]},"771":{"position":[[28,4]]},"772":{"position":[[56,4],[168,4]]},"773":{"position":[[19,4],[40,4],[59,4],[343,4]]},"774":{"position":[[19,4],[179,4]]},"775":{"position":[[21,4],[183,4]]}},"keywords":{}}],["tool_log",{"_index":3294,"title":{"345":{"position":[[0,10]]}},"content":{"345":{"position":[[5,9]]}},"keywords":{}}],["toolnam",{"_index":2409,"title":{},"content":{"235":{"position":[[1124,8]]}},"keywords":{}}],["tools/toolfoldernam",{"_index":2081,"title":{},"content":{"184":{"position":[[361,20]]},"186":{"position":[[188,21]]}},"keywords":{}}],["tools/widgets/bigwidget",{"_index":3226,"title":{},"content":{"328":{"position":[[1088,23]]}},"keywords":{}}],["tools/widgets/bigwidget/bigwidget.umd.min.j",{"_index":3205,"title":{},"content":{"327":{"position":[[352,45]]}},"keywords":{}}],["tools/widgets/helloworldwidget",{"_index":3223,"title":{},"content":{"328":{"position":[[937,30],[1300,30]]}},"keywords":{}}],["tools/widgets/helloworldwidget/helloworldwidget.umd.min.j",{"_index":2112,"title":{},"content":{"194":{"position":[[279,59]]},"327":{"position":[[435,59]]},"328":{"position":[[1392,59]]}},"keywords":{}}],["top",{"_index":254,"title":{},"content":{"7":{"position":[[440,3]]},"122":{"position":[[121,3]]},"245":{"position":[[180,3]]},"246":{"position":[[231,3]]},"332":{"position":[[688,4]]},"355":{"position":[[578,3]]},"480":{"position":[[970,3]]},"496":{"position":[[1022,3]]},"517":{"position":[[8,3],[97,3]]},"578":{"position":[[45,3]]},"601":{"position":[[649,3]]},"605":{"position":[[472,3]]},"617":{"position":[[191,3]]}},"keywords":{}}],["topic",{"_index":566,"title":{"176":{"position":[[0,6]]},"506":{"position":[[9,7]]}},"content":{"26":{"position":[[264,5]]},"176":{"position":[[19,5],[32,5],[202,5],[279,7],[335,5],[455,6],[477,5],[557,5],[592,5]]},"227":{"position":[[6054,5]]},"449":{"position":[[177,5]]}},"keywords":{}}],["tort",{"_index":3645,"title":{},"content":{"360":{"position":[[1045,4]]}},"keywords":{}}],["total",{"_index":1039,"title":{},"content":{"44":{"position":[[527,6]]},"61":{"position":[[2989,5],[3291,5]]},"99":{"position":[[262,5]]},"206":{"position":[[558,5]]},"207":{"position":[[341,5]]},"271":{"position":[[551,5]]},"272":{"position":[[343,5]]},"289":{"position":[[515,5],[652,5]]}},"keywords":{}}],["touch",{"_index":3057,"title":{},"content":{"321":{"position":[[121,5],[140,5],[158,5]]}},"keywords":{}}],["track",{"_index":2973,"title":{},"content":{"310":{"position":[[518,5],[615,5]]},"487":{"position":[[262,5]]},"513":{"position":[[755,5]]},"578":{"position":[[1427,5]]}},"keywords":{}}],["tradit",{"_index":4252,"title":{},"content":{"482":{"position":[[387,11]]}},"keywords":{}}],["traefik",{"_index":71,"title":{"21":{"position":[[20,7]]},"22":{"position":[[13,7]]}},"content":{"2":{"position":[[696,7]]},"21":{"position":[[25,7]]},"22":{"position":[[11,7]]},"23":{"position":[[8,7],[157,8],[383,7]]},"83":{"position":[[1378,7],[2737,7]]},"85":{"position":[[183,8],[204,7],[274,7],[289,7],[354,7],[369,7],[405,7],[422,7],[499,7],[520,7],[602,7]]},"108":{"position":[[56,7]]},"142":{"position":[[96,7]]},"182":{"position":[[96,7]]},"237":{"position":[[459,8]]},"240":{"position":[[1439,7]]},"298":{"position":[[787,7]]},"324":{"position":[[3564,7]]},"325":{"position":[[671,7]]},"347":{"position":[[2535,7]]},"357":{"position":[[1161,7],[2652,7]]}},"keywords":{}}],["traefik.yaml",{"_index":477,"title":{},"content":{"21":{"position":[[154,14]]}},"keywords":{}}],["traefik/cert.crt",{"_index":417,"title":{},"content":{"20":{"position":[[400,16],[1219,16]]}},"keywords":{}}],["traefik/cert.key",{"_index":419,"title":{},"content":{"20":{"position":[[436,16],[1350,16]]}},"keywords":{}}],["traefik/dockerfil",{"_index":471,"title":{},"content":{"21":{"position":[[65,18],[97,18]]}},"keywords":{}}],["traefik/traefik.yaml",{"_index":485,"title":{},"content":{"22":{"position":[[53,20],[88,20],[122,20]]}},"keywords":{}}],["traefik:${openc3_tag}"",{"_index":515,"title":{},"content":{"23":{"position":[[200,27]]}},"keywords":{}}],["traefik:2.4",{"_index":475,"title":{},"content":{"21":{"position":[[137,11]]}},"keywords":{}}],["traefik:latest",{"_index":1634,"title":{},"content":{"83":{"position":[[2651,14]]}},"keywords":{}}],["traefik_config=traefik",{"_index":1677,"title":{},"content":{"85":{"position":[[457,22]]}},"keywords":{}}],["trae…"",{"_index":1636,"title":{},"content":{"83":{"position":[[2687,11]]}},"keywords":{}}],["traffic",{"_index":1033,"title":{},"content":{"44":{"position":[[267,8]]}},"keywords":{}}],["transact",{"_index":1038,"title":{},"content":{"44":{"position":[[514,12],[581,11]]},"464":{"position":[[391,12]]},"466":{"position":[[869,13]]}},"keywords":{}}],["transfer",{"_index":1021,"title":{},"content":{"43":{"position":[[6583,8]]},"290":{"position":[[651,8],[689,8]]}},"keywords":{}}],["transit",{"_index":1818,"title":{},"content":{"99":{"position":[[4137,10]]},"578":{"position":[[1569,12]]}},"keywords":{}}],["transmiss",{"_index":4153,"title":{},"content":{"469":{"position":[[722,13]]}},"keywords":{}}],["transmit",{"_index":1324,"title":{},"content":{"58":{"position":[[541,11]]},"424":{"position":[[452,8]]},"464":{"position":[[563,8]]},"715":{"position":[[178,8],[225,12],[702,12],[1262,12]]},"724":{"position":[[172,8],[219,12],[678,12],[1211,12]]}},"keywords":{}}],["transpar",{"_index":4057,"title":{},"content":{"459":{"position":[[465,11]]}},"keywords":{}}],["transport",{"_index":976,"title":{},"content":{"43":{"position":[[1107,9]]}},"keywords":{}}],["trash",{"_index":2510,"title":{},"content":{"253":{"position":[[505,5]]},"520":{"position":[[11,5]]},"552":{"position":[[374,5],[681,5]]},"557":{"position":[[105,5],[175,5]]},"563":{"position":[[312,5],[619,5]]},"577":{"position":[[491,5],[1143,5],[1450,5]]},"589":{"position":[[311,5],[618,5]]},"592":{"position":[[288,5]]},"598":{"position":[[330,5],[637,5]]}},"keywords":{}}],["treat",{"_index":396,"title":{},"content":{"20":{"position":[[87,5]]},"36":{"position":[[10284,6]]},"202":{"position":[[10284,6]]},"257":{"position":[[36,6]]},"514":{"position":[[227,5]]},"623":{"position":[[559,5]]},"624":{"position":[[525,5]]}},"keywords":{}}],["tree",{"_index":4578,"title":{},"content":{"605":{"position":[[329,4],[706,4]]}},"keywords":{}}],["tri",{"_index":836,"title":{},"content":{"36":{"position":[[9734,3]]},"50":{"position":[[216,3]]},"69":{"position":[[2821,6]]},"95":{"position":[[583,3]]},"128":{"position":[[31,3]]},"129":{"position":[[17,3]]},"130":{"position":[[78,3],[201,6]]},"202":{"position":[[9734,3]]},"254":{"position":[[779,3]]},"259":{"position":[[1733,3]]},"292":{"position":[[657,3],[717,3]]},"481":{"position":[[103,3]]},"492":{"position":[[454,6]]},"528":{"position":[[1614,6]]},"607":{"position":[[465,6]]},"628":{"position":[[575,3]]},"746":{"position":[[738,3],[821,3]]}},"keywords":{}}],["trick",{"_index":100,"title":{},"content":{"3":{"position":[[244,6]]}},"keywords":{}}],["tricki",{"_index":4618,"title":{},"content":{"612":{"position":[[1409,6]]}},"keywords":{}}],["trigger",{"_index":4428,"title":{"513":{"position":[[0,9]]}},"content":{"511":{"position":[[53,7],[69,9],[94,8],[198,8]]},"512":{"position":[[1,8],[124,8],[233,9],[257,7]]},"513":{"position":[[1,8],[81,7],[137,7],[175,7],[204,7],[290,8],[486,7],[587,8],[628,8],[782,8]]},"514":{"position":[[20,8],[168,8],[237,7],[359,8],[386,8],[398,7],[464,7],[478,7],[519,10],[543,8],[1201,8],[1223,7]]}},"keywords":{}}],["trigger(",{"_index":4440,"title":{},"content":{"514":{"position":[[301,10]]}},"keywords":{}}],["triggergroup",{"_index":4430,"title":{"512":{"position":[[0,14]]}},"content":{},"keywords":{}}],["tripl",{"_index":4535,"title":{},"content":{"585":{"position":[[811,6]]}},"keywords":{}}],["troubl",{"_index":2587,"title":{},"content":{"254":{"position":[[2836,7]]}},"keywords":{}}],["troubleshoot",{"_index":4116,"title":{},"content":{"465":{"position":[[494,12]]}},"keywords":{}}],["true",{"_index":164,"title":{},"content":{"5":{"position":[[649,4],[809,4],[955,4]]},"11":{"position":[[355,4]]},"12":{"position":[[565,4]]},"13":{"position":[[473,4]]},"14":{"position":[[364,4]]},"15":{"position":[[498,4]]},"16":{"position":[[500,4]]},"32":{"position":[[200,4]]},"33":{"position":[[132,4],[265,4]]},"35":{"position":[[134,4],[341,4],[645,4],[743,4],[909,4],[969,4],[1136,4],[1667,4]]},"36":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6346,4],[7122,4],[7142,4],[10423,4]]},"37":{"position":[[134,4],[438,4],[536,4],[702,4],[762,4],[929,4],[1460,4]]},"38":{"position":[[157,4]]},"44":{"position":[[3311,5]]},"49":{"position":[[1195,4],[1317,4],[2110,4],[2250,4]]},"50":{"position":[[1019,4],[1120,4],[1787,4],[1906,4]]},"52":{"position":[[1242,4],[1351,4]]},"54":{"position":[[945,4],[1187,4],[1686,4],[1965,4]]},"56":{"position":[[464,5],[513,4]]},"58":{"position":[[799,4],[874,4],[951,4]]},"60":{"position":[[1426,4]]},"61":{"position":[[2417,4],[2642,4]]},"62":{"position":[[842,4]]},"63":{"position":[[2026,4]]},"84":{"position":[[739,6]]},"121":{"position":[[775,4],[824,4]]},"123":{"position":[[656,4],[825,4]]},"125":{"position":[[116,4]]},"126":{"position":[[158,4]]},"127":{"position":[[161,4]]},"130":{"position":[[317,4]]},"134":{"position":[[513,4],[617,4]]},"135":{"position":[[595,4]]},"136":{"position":[[282,4],[334,4],[428,4]]},"137":{"position":[[128,4],[166,4]]},"138":{"position":[[441,4]]},"139":{"position":[[198,4]]},"140":{"position":[[207,4]]},"142":{"position":[[221,4]]},"143":{"position":[[446,4],[615,4]]},"144":{"position":[[83,4],[242,4]]},"146":{"position":[[154,4]]},"147":{"position":[[145,4]]},"148":{"position":[[163,4]]},"149":{"position":[[152,4]]},"150":{"position":[[152,4]]},"151":{"position":[[170,4]]},"152":{"position":[[156,4]]},"153":{"position":[[164,4]]},"154":{"position":[[147,4]]},"155":{"position":[[165,4]]},"156":{"position":[[156,4]]},"157":{"position":[[154,4]]},"158":{"position":[[172,4]]},"159":{"position":[[160,4]]},"160":{"position":[[178,4]]},"161":{"position":[[174,4]]},"162":{"position":[[172,4]]},"163":{"position":[[172,4]]},"164":{"position":[[172,4]]},"165":{"position":[[164,4]]},"167":{"position":[[136,4]]},"168":{"position":[[456,4]]},"169":{"position":[[201,4]]},"171":{"position":[[333,4],[432,4]]},"173":{"position":[[112,4],[150,4]]},"174":{"position":[[425,4]]},"175":{"position":[[199,4]]},"176":{"position":[[376,4]]},"177":{"position":[[323,4]]},"178":{"position":[[191,4]]},"179":{"position":[[322,4],[391,4]]},"181":{"position":[[242,4],[294,4],[388,4]]},"182":{"position":[[221,4]]},"184":{"position":[[382,4],[462,4]]},"186":{"position":[[274,4]]},"187":{"position":[[290,4]]},"188":{"position":[[363,4]]},"189":{"position":[[253,4]]},"190":{"position":[[189,4]]},"191":{"position":[[100,5],[210,4],[238,5],[250,4]]},"192":{"position":[[330,4]]},"194":{"position":[[386,4]]},"199":{"position":[[119,4],[279,4],[425,4]]},"201":{"position":[[153,4],[370,4],[674,4],[772,4],[938,4],[998,4],[1165,4],[1696,4]]},"202":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6346,4],[7122,4],[7142,4],[10423,4]]},"203":{"position":[[153,4],[457,4],[555,4],[721,4],[781,4],[948,4],[1479,4]]},"204":{"position":[[376,4],[540,4],[844,4],[942,4],[1108,4],[1168,4],[1309,4],[1840,4]]},"205":{"position":[[376,4],[680,4],[778,4],[944,4],[1004,4],[1145,4],[1676,4]]},"206":{"position":[[170,4],[387,4],[434,4],[538,4],[731,4]]},"207":{"position":[[170,4],[217,4],[321,4],[514,4]]},"208":{"position":[[371,4]]},"209":{"position":[[455,4]]},"213":{"position":[[292,4]]},"215":{"position":[[356,4]]},"216":{"position":[[344,4]]},"217":{"position":[[388,4]]},"218":{"position":[[167,4],[225,4]]},"219":{"position":[[179,4],[243,4]]},"220":{"position":[[148,4],[203,4],[254,4]]},"221":{"position":[[152,4],[209,4]]},"224":{"position":[[463,4],[889,6],[1006,6],[1339,6],[1476,6]]},"225":{"position":[[374,4],[422,4]]},"232":{"position":[[1209,4]]},"233":{"position":[[1487,4]]},"253":{"position":[[3054,4],[4334,4],[5003,4]]},"254":{"position":[[1654,4]]},"264":{"position":[[130,4],[308,4],[442,4]]},"266":{"position":[[155,4],[363,4],[672,4],[775,4]]},"267":{"position":[[223,4],[390,4],[442,4],[606,4],[898,4],[1502,4],[1735,4],[2381,4],[2464,4],[2648,4],[3770,4],[4885,4],[5723,4],[5743,4],[8554,4],[8688,4],[8907,4],[9022,4],[9180,4],[9341,4],[9461,4],[10643,4]]},"268":{"position":[[155,4],[464,4],[567,4]]},"269":{"position":[[325,4],[486,4],[681,4],[775,4],[869,4]]},"270":{"position":[[155,4],[350,4],[444,4],[538,4]]},"271":{"position":[[172,4],[380,4],[427,4],[531,4],[724,4]]},"272":{"position":[[172,4],[219,4],[323,4],[516,4]]},"273":{"position":[[361,4]]},"274":{"position":[[418,4]]},"275":{"position":[[301,4]]},"276":{"position":[[150,4],[295,4]]},"279":{"position":[[356,4]]},"282":{"position":[[379,4],[435,4]]},"283":{"position":[[783,4]]},"284":{"position":[[268,4],[304,4],[366,4]]},"285":{"position":[[383,4]]},"350":{"position":[[358,4],[429,4],[688,4],[759,4],[1009,4],[1081,4]]},"369":{"position":[[309,4],[402,4],[463,4]]},"371":{"position":[[339,4]]},"372":{"position":[[209,4],[252,4]]},"373":{"position":[[642,4],[694,4],[737,4]]},"375":{"position":[[179,4]]},"376":{"position":[[183,4]]},"377":{"position":[[179,4]]},"378":{"position":[[181,4]]},"379":{"position":[[257,4]]},"380":{"position":[[251,4]]},"381":{"position":[[262,4]]},"382":{"position":[[116,4],[137,4]]},"383":{"position":[[653,4],[696,4]]},"384":{"position":[[488,4],[559,4],[630,4]]},"390":{"position":[[177,4]]},"393":{"position":[[126,4]]},"394":{"position":[[129,4]]},"396":{"position":[[200,4]]},"398":{"position":[[99,4]]},"399":{"position":[[114,4],[157,4]]},"401":{"position":[[120,4],[153,4],[182,4]]},"402":{"position":[[120,4],[153,4],[182,4]]},"403":{"position":[[453,4],[486,4],[515,4]]},"404":{"position":[[95,4],[128,4],[157,4],[1140,4],[1172,4]]},"405":{"position":[[122,4],[155,4],[184,4]]},"406":{"position":[[116,4],[149,4],[178,4]]},"407":{"position":[[124,4],[157,4],[186,4]]},"408":{"position":[[136,4],[169,4],[198,4]]},"409":{"position":[[139,4],[172,4],[201,4]]},"410":{"position":[[135,4],[168,4],[197,4],[335,4],[475,4]]},"411":{"position":[[74,4],[403,4],[436,4],[465,4],[1072,4],[1104,4]]},"412":{"position":[[132,4],[165,4],[194,4]]},"413":{"position":[[130,4],[163,4],[192,4]]},"414":{"position":[[116,4],[149,4],[178,4],[489,4]]},"415":{"position":[[105,4],[138,4],[167,4]]},"416":{"position":[[108,4],[141,4],[170,4]]},"417":{"position":[[104,4],[137,4],[166,4],[304,4],[444,4]]},"418":{"position":[[102,4],[135,4],[164,4],[829,4],[862,4],[891,4],[1419,4],[1568,4],[1709,4],[1834,4],[1959,4],[2043,4],[2072,4]]},"419":{"position":[[136,4],[169,4],[198,4],[882,4],[915,4],[944,4],[1472,4],[1621,4],[1762,4],[1887,4],[2012,4],[2096,4],[2125,4]]},"420":{"position":[[120,4],[153,4],[182,4],[854,4],[887,4],[916,4],[1444,4],[1593,4],[1734,4],[1859,4],[1984,4],[2068,4],[2097,4]]},"421":{"position":[[101,4],[134,4],[281,4],[350,4]]},"422":{"position":[[126,4],[159,4],[188,4]]},"423":{"position":[[114,4],[147,4],[176,4],[314,4],[454,4]]},"424":{"position":[[309,4]]},"425":{"position":[[148,4],[181,4],[210,4]]},"426":{"position":[[100,4],[133,4],[162,4]]},"427":{"position":[[344,4],[377,4],[406,4]]},"429":{"position":[[1456,6],[1649,4],[1720,4]]},"430":{"position":[[198,4]]},"431":{"position":[[224,4]]},"434":{"position":[[296,4]]},"438":{"position":[[252,4],[285,4]]},"439":{"position":[[132,4],[210,4],[249,4]]},"440":{"position":[[138,4],[171,4],[200,4],[278,4],[356,4]]},"441":{"position":[[167,4],[246,4],[325,4],[802,4],[838,4]]},"442":{"position":[[330,4],[363,4],[392,4],[493,4],[608,4],[687,4],[766,4],[1352,4],[1447,4],[1526,4],[1605,4],[1715,4],[1751,4]]},"443":{"position":[[128,4],[200,4],[268,4],[336,4]]},"444":{"position":[[202,4],[235,4],[264,4],[336,4],[408,4],[476,4],[544,4],[1268,4],[1297,4]]},"445":{"position":[[93,4],[131,4],[159,4],[199,4]]},"469":{"position":[[633,4]]},"511":{"position":[[144,4]]},"513":{"position":[[55,4]]},"514":{"position":[[48,4]]},"528":{"position":[[1525,4]]},"612":{"position":[[1004,5],[1050,5]]},"623":{"position":[[760,5],[864,5],[981,5],[1085,5]]},"624":{"position":[[740,5],[873,5],[1004,5],[1137,5]]},"628":{"position":[[824,5]]},"644":{"position":[[84,5],[303,5]]},"649":{"position":[[1436,5]]},"651":{"position":[[592,4],[730,4]]},"658":{"position":[[878,4]]},"681":{"position":[[588,4],[641,4],[1178,5],[1474,5]]},"682":{"position":[[286,4],[339,4],[945,5],[1241,5],[1445,5]]},"683":{"position":[[58,4],[371,4],[424,4],[731,5],[907,5]]},"684":{"position":[[261,4],[788,5]]},"685":{"position":[[790,5]]},"686":{"position":[[841,5]]},"687":{"position":[[58,4],[656,5]]},"688":{"position":[[760,5]]},"690":{"position":[[581,4],[684,4]]},"700":{"position":[[1890,5],[2072,5]]},"716":{"position":[[625,5]]}},"keywords":{}}],["true"",{"_index":4236,"title":{},"content":{"480":{"position":[[1456,11],[1736,11]]}},"keywords":{}}],["true'"",{"_index":4238,"title":{},"content":{"480":{"position":[[1509,13],[1789,13]]}},"keywords":{}}],["true/fals",{"_index":1490,"title":{},"content":{"71":{"position":[[196,12]]},"651":{"position":[[9,10]]},"690":{"position":[[36,10]]}},"keywords":{}}],["truli",{"_index":3447,"title":{},"content":{"355":{"position":[[809,5]]},"480":{"position":[[909,5]]}},"keywords":{}}],["truncat",{"_index":838,"title":{},"content":{"36":{"position":[[9889,10],[10404,9],[10454,8]]},"202":{"position":[[9889,10],[10404,9],[10454,8]]},"750":{"position":[[93,11],[266,10]]},"751":{"position":[[92,11]]}},"keywords":{}}],["ttl",{"_index":1234,"title":{},"content":{"51":{"position":[[597,3]]},"320":{"position":[[973,3]]}},"keywords":{}}],["tupl",{"_index":1810,"title":{},"content":{"99":{"position":[[2485,7]]}},"keywords":{}}],["turn",{"_index":1463,"title":{},"content":{"69":{"position":[[2599,6],[2921,6]]},"564":{"position":[[464,4]]},"607":{"position":[[386,5]]}},"keywords":{}}],["tutori",{"_index":2605,"title":{},"content":{"257":{"position":[[1902,8]]},"313":{"position":[[6,8]]},"331":{"position":[[9,8]]},"332":{"position":[[25,8]]}},"keywords":{}}],["tv",{"_index":2953,"title":{},"content":{"306":{"position":[[388,2],[484,2]]}},"keywords":{}}],["tvac",{"_index":2677,"title":{},"content":{"267":{"position":[[10320,4]]},"699":{"position":[[583,7],[900,8]]},"700":{"position":[[2061,7]]}},"keywords":{}}],["tvac'=>",{"_index":5182,"title":{},"content":{"699":{"position":[[811,12]]}},"keywords":{}}],["tweak",{"_index":3742,"title":{},"content":{"374":{"position":[[90,6]]},"507":{"position":[[141,5]]}},"keywords":{}}],["twice",{"_index":755,"title":{},"content":{"36":{"position":[[4731,6],[8723,6]]},"202":{"position":[[4731,6],[8723,6]]}},"keywords":{}}],["two",{"_index":198,"title":{},"content":{"6":{"position":[[150,3]]},"8":{"position":[[284,3]]},"9":{"position":[[17,3]]},"36":{"position":[[8060,3]]},"58":{"position":[[120,3],[314,3],[417,3]]},"71":{"position":[[648,3]]},"72":{"position":[[229,3]]},"79":{"position":[[271,3]]},"93":{"position":[[458,3],[910,3]]},"94":{"position":[[442,3]]},"107":{"position":[[176,4]]},"202":{"position":[[8060,3]]},"223":{"position":[[130,3]]},"249":{"position":[[226,3]]},"253":{"position":[[4200,3]]},"267":{"position":[[6720,3]]},"320":{"position":[[1211,3]]},"355":{"position":[[463,3],[498,3]]},"357":{"position":[[532,3],[1937,3],[3427,3]]},"379":{"position":[[187,3]]},"380":{"position":[[181,3]]},"381":{"position":[[192,3]]},"444":{"position":[[80,3]]},"480":{"position":[[245,3]]},"482":{"position":[[17,3]]},"488":{"position":[[1158,3]]},"498":{"position":[[241,3]]},"501":{"position":[[612,3],[692,3],[874,3],[970,3]]},"508":{"position":[[22,3]]},"593":{"position":[[719,3]]},"601":{"position":[[624,3],[807,3]]},"616":{"position":[[175,4]]},"627":{"position":[[664,6],[745,6],[815,6],[867,5],[886,4],[979,6],[1060,6],[1130,6],[1187,6],[1208,5]]}},"keywords":{}}],["two"",{"_index":4392,"title":{},"content":{"501":{"position":[[655,10],[917,10]]}},"keywords":{}}],["tx_byte",{"_index":5308,"title":{},"content":{"715":{"position":[[450,9],[715,12],[1009,9]]},"724":{"position":[[432,9],[691,12],[950,9]]}},"keywords":{}}],["tx_q_size",{"_index":5306,"title":{},"content":{"715":{"position":[[428,10],[648,13],[987,10]]},"724":{"position":[[410,10],[624,13],[928,10]]}},"keywords":{}}],["type",{"_index":376,"title":{"99":{"position":[[6,6]]},"524":{"position":[[0,5]]},"618":{"position":[[10,6]]}},"content":{"17":{"position":[[90,4],[189,4]]},"18":{"position":[[93,4],[193,4]]},"27":{"position":[[353,4],[379,4],[880,4]]},"31":{"position":[[561,6]]},"35":{"position":[[614,4],[655,4],[665,4],[759,4],[1422,4]]},"36":{"position":[[376,5],[9687,4],[9785,5],[10068,5],[10359,6]]},"37":{"position":[[407,4],[448,4],[458,4],[552,4],[1215,4]]},"39":{"position":[[309,4]]},"42":{"position":[[188,5],[642,5]]},"43":{"position":[[437,5],[757,5],[1173,4],[4731,5],[6383,5]]},"44":{"position":[[2447,5]]},"49":{"position":[[201,4],[716,4]]},"50":{"position":[[603,4]]},"52":{"position":[[795,4]]},"63":{"position":[[320,4]]},"79":{"position":[[172,4]]},"93":{"position":[[789,4],[1475,4],[1821,4]]},"94":{"position":[[584,4],[904,4]]},"98":{"position":[[118,4]]},"99":{"position":[[41,5],[215,4],[369,4],[403,5],[1169,5],[1185,5],[1484,4],[1724,4],[2357,4],[2694,5],[3976,4],[4241,4],[4885,4]]},"168":{"position":[[185,5],[362,5]]},"169":{"position":[[194,6]]},"198":{"position":[[862,6],[1127,4]]},"201":{"position":[[643,4],[684,4],[694,4],[788,4],[1451,4]]},"202":{"position":[[376,5],[9687,4],[9785,5],[10068,5],[10359,6]]},"203":{"position":[[426,4],[467,4],[477,4],[571,4],[1234,4]]},"204":{"position":[[813,4],[854,4],[864,4],[958,4],[1595,4]]},"205":{"position":[[649,4],[690,4],[700,4],[794,4],[1431,4]]},"206":{"position":[[449,4],[459,4]]},"207":{"position":[[232,4],[242,4]]},"223":{"position":[[134,5]]},"227":{"position":[[3161,4],[3285,6],[3300,4],[4079,4],[4156,4]]},"232":{"position":[[993,4]]},"233":{"position":[[1210,4]]},"253":{"position":[[2822,4],[4617,6],[4824,4]]},"254":{"position":[[1420,4]]},"259":{"position":[[886,6],[1126,4],[1413,5],[1544,4],[1710,4]]},"260":{"position":[[403,4]]},"262":{"position":[[276,5],[481,4]]},"266":{"position":[[641,4],[682,4],[692,4]]},"267":{"position":[[371,5],[7347,4],[7352,4]]},"268":{"position":[[433,4],[474,4],[484,4]]},"269":{"position":[[691,4],[701,4]]},"270":{"position":[[360,4],[370,4]]},"271":{"position":[[442,4],[452,4]]},"272":{"position":[[234,4],[244,4]]},"285":{"position":[[242,4]]},"305":{"position":[[1478,5],[1586,5]]},"308":{"position":[[495,4],[611,5]]},"309":{"position":[[172,4]]},"321":{"position":[[365,4],[2815,4]]},"329":{"position":[[449,5]]},"350":{"position":[[184,5],[261,5],[286,5],[520,5],[591,5],[616,5],[850,5],[912,5],[937,5],[1172,5]]},"353":{"position":[[263,5]]},"372":{"position":[[54,4]]},"373":{"position":[[57,4]]},"384":{"position":[[500,4],[523,5],[625,4]]},"400":{"position":[[147,4]]},"401":{"position":[[432,4],[441,4]]},"402":{"position":[[619,4],[628,4]]},"403":{"position":[[604,4],[613,4]]},"404":{"position":[[168,4],[177,4]]},"405":{"position":[[416,4],[425,4]]},"406":{"position":[[189,4],[198,4]]},"407":{"position":[[335,4],[344,4]]},"408":{"position":[[209,4],[218,4]]},"409":{"position":[[212,4],[221,4]]},"410":{"position":[[486,4],[495,4]]},"411":{"position":[[476,4],[485,4]]},"412":{"position":[[205,4],[214,4]]},"413":{"position":[[203,4],[212,4]]},"414":{"position":[[189,4],[198,4]]},"415":{"position":[[178,4],[187,4]]},"416":{"position":[[181,4],[190,4]]},"417":{"position":[[455,4],[464,4]]},"418":{"position":[[175,4],[184,4],[407,4],[416,4],[902,4],[911,4],[1134,4],[1143,4]]},"419":{"position":[[209,4],[218,4],[441,4],[450,4],[955,4],[964,4],[1187,4],[1196,4]]},"420":{"position":[[193,4],[202,4],[425,4],[434,4],[927,4],[936,4],[1159,4],[1168,4]]},"422":{"position":[[426,4],[435,4]]},"423":{"position":[[465,4],[474,4]]},"425":{"position":[[221,4],[230,4]]},"427":{"position":[[417,4],[426,4]]},"429":{"position":[[1073,4],[1798,4]]},"431":{"position":[[337,4],[436,4]]},"435":{"position":[[418,4]]},"440":{"position":[[450,4],[459,4]]},"442":{"position":[[403,4],[412,4]]},"444":{"position":[[609,4],[618,4]]},"446":{"position":[[539,4]]},"454":{"position":[[67,5]]},"476":{"position":[[2520,4],[3430,4]]},"478":{"position":[[291,4],[357,4],[539,4],[735,4]]},"490":{"position":[[506,4],[1022,4]]},"500":{"position":[[404,4],[583,4]]},"528":{"position":[[1452,4]]},"533":{"position":[[314,4]]},"534":{"position":[[140,4]]},"555":{"position":[[193,4],[312,4]]},"558":{"position":[[234,4]]},"572":{"position":[[190,4]]},"605":{"position":[[486,6]]},"613":{"position":[[110,4],[215,6]]},"618":{"position":[[140,4],[705,4],[1303,4]]},"621":{"position":[[4854,4],[5106,5],[5179,5],[5260,5],[5353,5]]},"623":{"position":[[121,5]]},"632":{"position":[[1104,6],[1165,6]]},"636":{"position":[[1119,5],[1335,4],[1767,4]]},"637":{"position":[[1341,5],[1572,4],[1798,4]]},"638":{"position":[[1362,5]]},"639":{"position":[[1395,5],[1621,4],[1839,4]]},"640":{"position":[[1195,5],[1415,4],[1597,4]]},"641":{"position":[[1412,5],[1647,4],[1859,4]]},"642":{"position":[[1433,5]]},"643":{"position":[[1466,5],[1696,4],[1898,4]]},"644":{"position":[[468,4],[1027,4]]},"649":{"position":[[671,4],[1221,7],[1310,4]]},"651":{"position":[[544,7],[685,8]]},"652":{"position":[[377,4],[539,4],[550,4]]},"656":{"position":[[75,5],[1065,4],[1134,5],[1422,4]]},"657":{"position":[[676,4],[889,5]]},"660":{"position":[[426,4],[462,5],[959,5]]},"662":{"position":[[490,4],[526,5],[709,5]]},"663":{"position":[[184,4],[209,4]]},"669":{"position":[[578,4],[589,4],[742,4],[878,5],[943,5],[1029,4]]},"670":{"position":[[441,4],[446,4]]},"671":{"position":[[445,4],[450,4],[710,5]]},"672":{"position":[[262,4],[267,4],[510,5]]},"673":{"position":[[111,5],[170,5]]},"681":{"position":[[810,5],[1282,4],[1318,5],[1658,5]]},"682":{"position":[[538,5],[1049,4],[1085,5],[1426,5]]},"685":{"position":[[432,5],[894,4],[930,5],[1176,5]]},"686":{"position":[[448,5],[945,4],[981,5],[1255,5]]}},"keywords":{}}],["type>",{"_index":2283,"title":{},"content":{"227":{"position":[[2988,9],[3956,9]]}},"keywords":{}}],["type>__<reduc",{"_index":2282,"title":{},"content":{"227":{"position":[[2966,21]]}},"keywords":{}}],["type"",{"_index":2216,"title":{},"content":{"226":{"position":[[276,10],[1154,10],[1924,10]]},"649":{"position":[[451,11],[1178,11]]}},"keywords":{}}],["type='format",{"_index":5022,"title":{},"content":{"662":{"position":[[826,17]]}},"keywords":{}}],["type='raw",{"_index":4978,"title":{},"content":{"656":{"position":[[1491,11]]},"657":{"position":[[1056,11]]},"660":{"position":[[1387,11]]},"669":{"position":[[1164,11],[1229,11]]},"671":{"position":[[909,11]]},"672":{"position":[[697,11]]},"681":{"position":[[1868,11]]},"682":{"position":[[1633,11]]},"685":{"position":[[1353,11]]},"686":{"position":[[1460,11]]}},"keywords":{}}],["type_nam",{"_index":3379,"title":{},"content":{"350":{"position":[[434,9],[764,9],[1086,9]]}},"keywords":{}}],["typed.vari",{"_index":4166,"title":{},"content":{"476":{"position":[[649,14]]}},"keywords":{}}],["typescontain",{"_index":4046,"title":{},"content":{"457":{"position":[[293,14]]}},"keywords":{}}],["typic",{"_index":614,"title":{},"content":{"31":{"position":[[174,9]]},"38":{"position":[[39,9]]},"69":{"position":[[2280,9],[3731,9],[3790,9]]},"75":{"position":[[560,9]]},"76":{"position":[[586,9]]},"77":{"position":[[602,9]]},"78":{"position":[[599,9]]},"79":{"position":[[94,7],[776,9]]},"99":{"position":[[4823,9]]},"115":{"position":[[79,9]]},"131":{"position":[[152,9]]},"208":{"position":[[128,9]]},"225":{"position":[[49,9]]},"227":{"position":[[1736,9]]},"230":{"position":[[545,9]]},"231":{"position":[[637,9]]},"261":{"position":[[194,9]]},"262":{"position":[[132,9],[645,9]]},"273":{"position":[[127,9]]},"282":{"position":[[51,9]]},"284":{"position":[[97,9]]},"291":{"position":[[753,9]]},"304":{"position":[[2882,9]]},"338":{"position":[[845,9]]},"363":{"position":[[877,9]]},"434":{"position":[[176,7]]},"482":{"position":[[789,9]]},"508":{"position":[[284,9]]},"758":{"position":[[178,9]]},"765":{"position":[[29,9]]}},"keywords":{}}],["typo",{"_index":3130,"title":{},"content":{"322":{"position":[[1594,4],[1618,5],[1756,4]]},"461":{"position":[[924,4]]},"617":{"position":[[1143,5]]}},"keywords":{}}],["typograpi",{"_index":2483,"title":{},"content":{"247":{"position":[[243,10]]}},"keywords":{}}],["ubuntu",{"_index":3474,"title":{},"content":{"357":{"position":[[217,6],[795,6],[907,6],[1093,6],[1118,6],[2281,6],[2584,6],[2609,6]]}},"keywords":{}}],["ubuntu:22.10",{"_index":3003,"title":{},"content":{"318":{"position":[[6,12],[597,12]]}},"keywords":{}}],["udp",{"_index":1193,"title":{"51":{"position":[[0,3]]}},"content":{"48":{"position":[[79,4]]},"51":{"position":[[5,3],[24,3]]},"115":{"position":[[135,3]]},"297":{"position":[[615,4]]},"298":{"position":[[1157,4]]},"320":{"position":[[623,4]]}},"keywords":{}}],["udp_interfac",{"_index":1943,"title":{},"content":{"123":{"position":[[793,14]]},"143":{"position":[[583,14]]}},"keywords":{}}],["udp_interface.rb",{"_index":1239,"title":{},"content":{"51":{"position":[[916,16]]},"320":{"position":[[1060,16]]}},"keywords":{}}],["ui",{"_index":2469,"title":{},"content":{"245":{"position":[[431,2]]},"353":{"position":[[317,3],[347,4]]}},"keywords":{}}],["uint",{"_index":214,"title":{},"content":{"6":{"position":[[396,4],[840,4],[895,4],[950,4],[1005,4],[1060,4]]},"7":{"position":[[299,4],[707,4],[912,4],[984,4]]},"31":{"position":[[573,5]]},"35":{"position":[[707,5],[772,5]]},"36":{"position":[[3530,4],[9223,4],[9412,4]]},"37":{"position":[[500,5],[565,5]]},"40":{"position":[[227,4],[335,4],[454,4],[561,4],[679,4],[816,4],[908,4],[967,4],[1112,4],[1247,4],[1455,4]]},"198":{"position":[[874,5]]},"201":{"position":[[736,5],[801,5],[1969,4]]},"202":{"position":[[3530,4],[9223,4],[9412,4]]},"203":{"position":[[519,5],[584,5],[1757,4]]},"204":{"position":[[906,5],[971,5],[2119,4]]},"205":{"position":[[742,5],[807,5],[1959,4]]},"206":{"position":[[502,5]]},"207":{"position":[[285,5]]},"226":{"position":[[148,4],[231,4],[310,4],[404,4],[497,4],[584,4],[675,4],[877,4],[1026,4],[1109,4],[1188,4],[1282,4],[1375,4],[1462,4],[1553,4],[1632,4],[1796,4],[1879,4],[1958,4],[2052,4],[2145,4],[2232,4],[2323,4],[2450,4]]},"232":{"position":[[1164,4]]},"233":{"position":[[1442,4]]},"253":{"position":[[2999,4],[4011,6],[4076,4],[4139,4],[4958,4]]},"254":{"position":[[1599,4]]},"259":{"position":[[898,5]]},"266":{"position":[[739,5],[1081,4]]},"267":{"position":[[2596,4],[7399,5],[7522,4],[7689,4]]},"268":{"position":[[531,5],[876,4]]},"269":{"position":[[748,5],[1178,4]]},"270":{"position":[[417,5],[850,4]]},"271":{"position":[[495,5]]},"272":{"position":[[287,5]]},"285":{"position":[[132,4],[218,4],[318,4],[413,4],[487,4],[604,4],[672,4],[734,4],[819,4],[893,4],[1057,4]]},"321":{"position":[[440,4],[550,4],[654,4],[739,4],[791,4],[1284,4],[1406,4],[1514,4],[1619,4],[1671,4],[1816,4],[1938,4],[2046,4],[2124,4],[2176,4],[2316,4],[2438,4],[2546,4],[2624,4],[2676,4],[2863,4],[2954,4],[3043,4],[3133,4],[3192,4],[3291,4],[3348,4],[3409,4],[3483,4]]},"329":{"position":[[778,4],[1179,4],[1222,4],[1264,4]]},"649":{"position":[[1276,7]]}},"keywords":{}}],["umd",{"_index":3224,"title":{},"content":{"328":{"position":[[978,3],[1122,3],[1273,3]]}},"keywords":{}}],["unaffect",{"_index":2632,"title":{},"content":{"263":{"position":[[764,11]]},"466":{"position":[[908,10]]}},"keywords":{}}],["unambigu",{"_index":1309,"title":{},"content":{"57":{"position":[[132,11]]}},"keywords":{}}],["unauthor",{"_index":1699,"title":{},"content":{"87":{"position":[[180,12]]},"459":{"position":[[152,12]]},"464":{"position":[[190,12]]},"469":{"position":[[582,12]]}},"keywords":{}}],["unauthoris",{"_index":4074,"title":{},"content":{"459":{"position":[[1861,12]]}},"keywords":{}}],["unavail",{"_index":3981,"title":{},"content":{"442":{"position":[[1088,11]]},"444":{"position":[[1048,11]]}},"keywords":{}}],["uncheck",{"_index":889,"title":{},"content":{"40":{"position":[[1297,9]]},"446":{"position":[[937,9]]},"584":{"position":[[463,7]]},"612":{"position":[[228,10],[519,10]]}},"keywords":{}}],["unclear",{"_index":4242,"title":{},"content":{"481":{"position":[[41,7]]}},"keywords":{}}],["uncom",{"_index":3195,"title":{},"content":{"324":{"position":[[3424,9]]},"325":{"position":[[455,9]]}},"keywords":{}}],["unconvert",{"_index":2655,"title":{},"content":{"267":{"position":[[3434,11],[4800,11],[5493,11],[6616,11]]}},"keywords":{}}],["undefin",{"_index":4589,"title":{},"content":{"608":{"position":[[358,9],[711,9]]}},"keywords":{}}],["under",{"_index":339,"title":{},"content":{"12":{"position":[[384,5]]},"315":{"position":[[165,5]]},"322":{"position":[[1304,5],[2040,5]]},"334":{"position":[[1171,5]]},"343":{"position":[[705,5]]},"359":{"position":[[745,5],[1786,5],[2181,5]]},"360":{"position":[[68,5]]},"361":{"position":[[88,5],[321,5]]},"363":{"position":[[1246,5]]},"374":{"position":[[542,5]]},"397":{"position":[[139,5]]},"459":{"position":[[349,5]]},"470":{"position":[[154,5]]},"493":{"position":[[155,5]]},"504":{"position":[[277,5]]},"538":{"position":[[47,5]]},"540":{"position":[[437,5]]},"772":{"position":[[40,5]]}},"keywords":{}}],["underli",{"_index":4243,"title":{},"content":{"481":{"position":[[202,10]]}},"keywords":{}}],["underopenc3",{"_index":3054,"title":{},"content":{"320":{"position":[[1454,11]]}},"keywords":{}}],["underscor",{"_index":257,"title":{},"content":{"7":{"position":[[492,10]]},"36":{"position":[[5185,11]]},"202":{"position":[[5185,11]]},"217":{"position":[[376,11]]},"224":{"position":[[364,11]]},"227":{"position":[[2843,12],[3852,12]]},"267":{"position":[[3666,11]]},"476":{"position":[[1335,11],[1449,11],[1629,11],[4182,12]]}},"keywords":{}}],["understand",{"_index":107,"title":{},"content":{"3":{"position":[[384,10]]},"20":{"position":[[825,10]]},"69":{"position":[[1543,10],[1589,10]]},"297":{"position":[[60,11]]},"350":{"position":[[121,13]]},"474":{"position":[[267,11]]},"476":{"position":[[1179,10]]},"479":{"position":[[146,10]]},"522":{"position":[[78,10]]}},"keywords":{}}],["undo",{"_index":2900,"title":{},"content":{"304":{"position":[[1620,5]]}},"keywords":{}}],["unedit",{"_index":853,"title":{},"content":{"36":{"position":[[10712,11],[10801,10]]},"40":{"position":[[1052,10],[1187,10],[1325,10]]}},"keywords":{}}],["unencrypt",{"_index":565,"title":{},"content":{"26":{"position":[[200,11]]}},"keywords":{}}],["unexpect",{"_index":1406,"title":{},"content":{"63":{"position":[[2798,10]]},"66":{"position":[[442,10]]}},"keywords":{}}],["unfinish",{"_index":4442,"title":{},"content":{"514":{"position":[[973,10]]}},"keywords":{}}],["unidentifi",{"_index":2545,"title":{},"content":{"253":{"position":[[5392,12]]}},"keywords":{}}],["unifi",{"_index":3363,"title":{},"content":{"350":{"position":[[58,5]]}},"keywords":{}}],["unimpl",{"_index":4631,"title":{},"content":{"621":{"position":[[95,13],[1246,13],[3751,13],[4782,13]]}},"keywords":{}}],["uninstal",{"_index":2508,"title":{},"content":{"253":{"position":[[374,9]]},"311":{"position":[[334,12],[355,9]]}},"keywords":{}}],["uninstru",{"_index":4310,"title":{"488":{"position":[[16,14]]}},"content":{"488":{"position":[[384,14],[1179,14],[2548,14],[2681,14]]}},"keywords":{}}],["union",{"_index":4123,"title":{},"content":{"466":{"position":[[47,5]]}},"keywords":{}}],["uniqu",{"_index":167,"title":{},"content":{"5":{"position":[[726,6]]},"33":{"position":[[340,8]]},"35":{"position":[[109,6]]},"37":{"position":[[109,6]]},"99":{"position":[[1142,6],[1293,8],[2680,6]]},"142":{"position":[[170,6]]},"182":{"position":[[170,6]]},"199":{"position":[[196,6]]},"201":{"position":[[126,6]]},"203":{"position":[[126,6]]},"204":{"position":[[349,6]]},"205":{"position":[[349,6]]},"206":{"position":[[143,6]]},"207":{"position":[[143,6]]},"235":{"position":[[1141,6]]},"253":{"position":[[6265,6]]},"264":{"position":[[216,6]]},"266":{"position":[[129,6]]},"267":{"position":[[8510,6]]},"268":{"position":[[129,6]]},"269":{"position":[[299,6],[827,8]]},"270":{"position":[[129,6],[496,8]]},"271":{"position":[[146,6]]},"272":{"position":[[146,6]]},"306":{"position":[[125,6],[252,6]]},"374":{"position":[[505,6]]},"384":{"position":[[401,6],[469,6],[586,6]]},"482":{"position":[[21,6]]},"523":{"position":[[92,6]]},"591":{"position":[[387,6]]},"675":{"position":[[82,6]]},"676":{"position":[[191,6]]},"738":{"position":[[55,6]]}},"keywords":{}}],["unit",{"_index":432,"title":{"104":{"position":[[5,4]]},"105":{"position":[[7,4]]}},"content":{"20":{"position":[[642,4]]},"36":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"61":{"position":[[1493,5]]},"94":{"position":[[414,5]]},"202":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"208":{"position":[[453,5],[459,5]]},"225":{"position":[[504,5],[510,5]]},"240":{"position":[[45,4]]},"243":{"position":[[226,5]]},"267":{"position":[[279,6],[301,5],[365,5],[428,6],[464,5],[480,5]]},"304":{"position":[[705,4]]},"305":{"position":[[1531,6]]},"321":{"position":[[3151,5],[3210,5]]},"375":{"position":[[43,5],[70,6],[173,5]]},"376":{"position":[[45,5],[72,6],[177,5]]},"377":{"position":[[45,5],[72,6],[173,5]]},"378":{"position":[[47,5],[74,6],[175,5]]},"618":{"position":[[1081,5],[1102,5],[1181,5],[1254,5]]}},"keywords":{}}],["unitsdisplay",{"_index":4506,"title":{},"content":{"571":{"position":[[77,12]]}},"keywords":{}}],["unix",{"_index":1245,"title":{},"content":{"52":{"position":[[126,4]]},"99":{"position":[[2809,4],[3243,4]]},"227":{"position":[[4336,4]]},"263":{"position":[[897,4],[1037,4],[1190,4]]}},"keywords":{}}],["unix_time_conversion.rb",{"_index":2641,"title":{},"content":{"263":{"position":[[1375,23]]}},"keywords":{}}],["unknown",{"_index":1350,"title":{},"content":{"60":{"position":[[1530,7],[1581,7]]},"269":{"position":[[212,7]]},"322":{"position":[[2188,7]]}},"keywords":{}}],["unlaw",{"_index":4075,"title":{},"content":{"459":{"position":[[1877,8]]}},"keywords":{}}],["unlawfulli",{"_index":4151,"title":{},"content":{"469":{"position":[[701,10]]}},"keywords":{}}],["unless",{"_index":1300,"title":{},"content":{"56":{"position":[[518,6]]},"186":{"position":[[240,6]]},"187":{"position":[[252,6]]},"209":{"position":[[191,6]]},"229":{"position":[[579,6]]},"253":{"position":[[1336,6]]},"254":{"position":[[831,6]]},"274":{"position":[[177,6]]},"280":{"position":[[113,6]]},"360":{"position":[[1347,6]]},"476":{"position":[[947,6]]},"518":{"position":[[214,6]]},"520":{"position":[[155,6]]},"534":{"position":[[544,6]]},"671":{"position":[[164,6]]}},"keywords":{}}],["unlik",{"_index":3897,"title":{},"content":{"428":{"position":[[63,6]]}},"keywords":{}}],["unlimit",{"_index":3652,"title":{},"content":{"361":{"position":[[226,9],[518,9]]}},"keywords":{}}],["unmap_old",{"_index":5334,"title":{},"content":{"716":{"position":[[241,10],[534,9],[711,10]]}},"keywords":{}}],["unmap_old=fals",{"_index":5337,"title":{},"content":{"716":{"position":[[812,16]]}},"keywords":{}}],["unnecessari",{"_index":4244,"title":{},"content":{"481":{"position":[[354,11]]}},"keywords":{}}],["unqualifi",{"_index":3191,"title":{},"content":{"324":{"position":[[3252,11]]}},"keywords":{}}],["unrecogn",{"_index":3720,"title":{},"content":{"368":{"position":[[83,13]]}},"keywords":{}}],["unrel",{"_index":4229,"title":{},"content":{"480":{"position":[[1150,9]]}},"keywords":{}}],["unrol",{"_index":4254,"title":{"483":{"position":[[11,8]]}},"content":{"483":{"position":[[450,8],[951,6],[1189,8]]},"500":{"position":[[829,8]]}},"keywords":{}}],["unscop",{"_index":4287,"title":{"487":{"position":[[17,8]]}},"content":{},"keywords":{}}],["unsign",{"_index":627,"title":{},"content":{"31":{"position":[[631,8]]},"36":{"position":[[10337,8]]},"99":{"position":[[245,8],[380,8],[541,8],[602,8],[667,8],[734,8],[841,8],[943,8],[1044,8],[1760,8],[2393,8],[2751,8],[3106,8],[3521,8],[4921,8]]},"198":{"position":[[932,8]]},"202":{"position":[[10337,8]]},"253":{"position":[[3994,8]]},"259":{"position":[[956,8]]},"329":{"position":[[1106,8],[1126,8],[1146,8]]}},"keywords":{}}],["unsolv",{"_index":3701,"title":{},"content":{"364":{"position":[[937,10]]}},"keywords":{}}],["unspecifi",{"_index":1730,"title":{},"content":{"93":{"position":[[720,11]]}},"keywords":{}}],["unsubscrib",{"_index":2298,"title":{},"content":{"227":{"position":[[4530,13]]},"462":{"position":[[538,11]]}},"keywords":{}}],["unsubscribe_limits_ev",{"_index":4724,"title":{},"content":{"621":{"position":[[4859,25]]}},"keywords":{}}],["unsubscribe_packet_data",{"_index":4725,"title":{},"content":{"621":{"position":[[4925,23]]}},"keywords":{}}],["unsubscribe_server_messag",{"_index":4726,"title":{},"content":{"621":{"position":[[4989,27]]}},"keywords":{}}],["unsupport",{"_index":4040,"title":{"457":{"position":[[0,11]]}},"content":{"457":{"position":[[45,12]]}},"keywords":{}}],["until",{"_index":1377,"title":{},"content":{"62":{"position":[[134,5]]},"227":{"position":[[4482,5]]},"302":{"position":[[619,5]]},"324":{"position":[[3892,5]]},"465":{"position":[[236,5],[295,5]]},"501":{"position":[[361,5]]},"528":{"position":[[1359,5]]},"575":{"position":[[193,5]]},"600":{"position":[[495,5]]},"681":{"position":[[71,5],[229,5]]},"682":{"position":[[56,5]]},"683":{"position":[[19,5]]},"684":{"position":[[19,5]]},"685":{"position":[[71,5]]},"686":{"position":[[56,5]]},"687":{"position":[[19,5]]},"688":{"position":[[19,5]]}},"keywords":{}}],["until"",{"_index":4446,"title":{},"content":{"514":{"position":[[1440,11]]}},"keywords":{}}],["untrust",{"_index":547,"title":{},"content":{"24":{"position":[[669,9]]}},"keywords":{}}],["unus",{"_index":1799,"title":{},"content":{"99":{"position":[[1114,7]]}},"keywords":{}}],["uoxepkb8h7omuumm",{"_index":1001,"title":{},"content":{"43":{"position":[[4389,16]]}},"keywords":{}}],["up",{"_index":18,"title":{"314":{"position":[[8,2]]},"316":{"position":[[8,2]]}},"content":{"1":{"position":[[195,3]]},"3":{"position":[[438,2]]},"6":{"position":[[510,2]]},"35":{"position":[[462,2]]},"37":{"position":[[255,2]]},"44":{"position":[[210,2],[3110,2]]},"61":{"position":[[345,2]]},"63":{"position":[[1880,2]]},"69":{"position":[[2163,2],[2313,2],[4982,2]]},"83":{"position":[[3107,2]]},"84":{"position":[[29,2]]},"99":{"position":[[4502,2]]},"198":{"position":[[1179,2]]},"201":{"position":[[491,2]]},"203":{"position":[[274,2]]},"204":{"position":[[661,2]]},"205":{"position":[[497,2]]},"206":{"position":[[662,2]]},"207":{"position":[[445,2]]},"227":{"position":[[5074,2]]},"230":{"position":[[1613,2]]},"240":{"position":[[76,2]]},"243":{"position":[[195,2]]},"253":{"position":[[3238,2],[3421,2],[4432,2]]},"259":{"position":[[1195,2]]},"266":{"position":[[489,2]]},"268":{"position":[[281,2]]},"269":{"position":[[612,2]]},"270":{"position":[[281,2]]},"271":{"position":[[655,2]]},"272":{"position":[[447,2]]},"291":{"position":[[768,2]]},"303":{"position":[[2185,2]]},"304":{"position":[[806,2]]},"306":{"position":[[188,2]]},"322":{"position":[[1444,2]]},"324":{"position":[[491,2]]},"336":{"position":[[28,2]]},"347":{"position":[[171,2]]},"351":{"position":[[266,2]]},"355":{"position":[[34,2]]},"357":{"position":[[972,2]]},"366":{"position":[[436,2]]},"373":{"position":[[116,2],[179,2],[327,2]]},"383":{"position":[[116,2],[179,2],[327,2]]},"449":{"position":[[452,3]]},"459":{"position":[[1011,2]]},"479":{"position":[[336,2]]},"482":{"position":[[1434,2]]},"485":{"position":[[78,2]]},"490":{"position":[[1148,2]]},"497":{"position":[[502,2],[801,2]]},"508":{"position":[[497,2]]},"518":{"position":[[32,2]]},"533":{"position":[[348,2]]},"541":{"position":[[350,2]]},"542":{"position":[[379,2]]},"555":{"position":[[259,2]]},"558":{"position":[[166,2],[319,2]]},"564":{"position":[[115,2],[424,2]]},"578":{"position":[[1454,2]]},"585":{"position":[[842,2],[918,2]]},"591":{"position":[[28,2]]},"592":{"position":[[64,2]]},"593":{"position":[[392,2]]},"599":{"position":[[121,2],[656,2]]},"600":{"position":[[312,2]]},"608":{"position":[[32,2]]},"612":{"position":[[1176,2]]},"617":{"position":[[1094,2]]},"752":{"position":[[129,2]]}},"keywords":{}}],["updat",{"_index":436,"title":{"21":{"position":[[0,8]]},"22":{"position":[[0,8]]},"23":{"position":[[0,6]]}},"content":{"20":{"position":[[735,6]]},"22":{"position":[[538,6]]},"23":{"position":[[1,6]]},"43":{"position":[[361,6]]},"44":{"position":[[1487,7]]},"83":{"position":[[1739,6]]},"230":{"position":[[2483,7]]},"231":{"position":[[1146,7]]},"234":{"position":[[856,7]]},"235":{"position":[[1677,7]]},"254":{"position":[[1061,6]]},"267":{"position":[[8098,6]]},"305":{"position":[[517,9]]},"318":{"position":[[241,6],[451,6]]},"324":{"position":[[1649,6],[3553,6]]},"325":{"position":[[118,6],[660,6]]},"334":{"position":[[200,7],[1128,7]]},"347":{"position":[[2219,6]]},"369":{"position":[[455,7]]},"460":{"position":[[246,8]]},"461":{"position":[[234,8],[1246,7]]},"463":{"position":[[144,6]]},"467":{"position":[[342,7]]},"468":{"position":[[65,7]]},"480":{"position":[[991,7]]},"488":{"position":[[1330,7]]},"504":{"position":[[317,7]]},"505":{"position":[[507,6]]},"514":{"position":[[1455,7]]},"528":{"position":[[550,8],[721,6],[868,8],[1534,6]]},"533":{"position":[[116,7],[456,7],[761,7]]},"534":{"position":[[435,6]]},"538":{"position":[[330,6]]},"556":{"position":[[715,7]]},"572":{"position":[[114,6]]},"578":{"position":[[1010,7]]},"590":{"position":[[67,7]]},"600":{"position":[[67,7],[134,7]]},"607":{"position":[[140,7],[576,7]]},"700":{"position":[[109,6]]},"763":{"position":[[1,7],[181,6],[241,6]]}},"keywords":{}}],["updated_at",{"_index":5543,"title":{},"content":{"767":{"position":[[961,13],[1067,13],[1178,13],[1297,13]]}},"keywords":{}}],["upgrad",{"_index":1871,"title":{"255":{"position":[[0,9]]},"256":{"position":[[7,9]]}},"content":{"108":{"position":[[19,7]]},"120":{"position":[[210,9]]},"227":{"position":[[998,8]]},"253":{"position":[[2603,7]]},"254":{"position":[[2153,7],[2602,8]]},"311":{"position":[[254,9],[272,7]]},"318":{"position":[[272,7]]},"334":{"position":[[690,7],[745,7]]},"347":{"position":[[2235,7]]},"461":{"position":[[224,9]]}},"keywords":{}}],["upload",{"_index":2568,"title":{"322":{"position":[[0,9]]},"518":{"position":[[0,7]]},"584":{"position":[[0,6]]}},"content":{"254":{"position":[[37,6],[464,6],[643,7]]},"257":{"position":[[1940,6]]},"311":{"position":[[192,6]]},"321":{"position":[[3904,8]]},"322":{"position":[[306,7],[1071,9],[1485,8],[1675,9]]},"518":{"position":[[11,6],[70,6],[155,6]]},"584":{"position":[[67,6],[221,6],[411,6]]},"585":{"position":[[218,6],[572,6],[719,6]]}},"keywords":{}}],["upload.rb",{"_index":4522,"title":{"585":{"position":[[0,10]]}},"content":{"584":{"position":[[156,9]]},"585":{"position":[[39,9]]}},"keywords":{}}],["upon",{"_index":2426,"title":{},"content":{"239":{"position":[[417,4]]},"299":{"position":[[622,4],[696,4]]},"304":{"position":[[2584,4]]},"305":{"position":[[929,4]]},"429":{"position":[[42,4]]},"612":{"position":[[349,4],[723,4]]}},"keywords":{}}],["upper",{"_index":3961,"title":{},"content":{"437":{"position":[[123,5]]},"438":{"position":[[162,5]]},"439":{"position":[[88,5],[166,5]]},"440":{"position":[[234,5],[312,5]]},"441":{"position":[[201,5],[280,5]]},"442":{"position":[[642,5],[721,5],[1481,5],[1560,5]]},"592":{"position":[[245,5],[306,5]]},"593":{"position":[[307,5],[532,5]]},"601":{"position":[[283,5]]},"739":{"position":[[368,5],[437,5]]},"746":{"position":[[541,5],[610,5]]}},"keywords":{}}],["uppercas",{"_index":4207,"title":{},"content":{"476":{"position":[[4167,9]]}},"keywords":{}}],["urgent",{"_index":4143,"title":{},"content":{"467":{"position":[[1415,6]]}},"keywords":{}}],["uri",{"_index":1134,"title":{},"content":{"44":{"position":[[3760,5]]}},"keywords":{}}],["url",{"_index":1066,"title":{"186":{"position":[[0,4]]}},"content":{"44":{"position":[[1354,3],[1760,3],[3939,4]]},"186":{"position":[[1,3],[43,3],[158,4]]},"187":{"position":[[10,3],[34,3],[181,4]]},"227":{"position":[[990,3]]},"353":{"position":[[366,4]]}},"keywords":{}}],["url="$(curl",{"_index":1136,"title":{},"content":{"44":{"position":[[3776,16]]}},"keywords":{}}],["urlencoded"",{"_index":955,"title":{},"content":{"43":{"position":[[466,16]]}},"keywords":{}}],["us",{"_index":5,"title":{"324":{"position":[[14,5]]},"331":{"position":[[0,5]]},"360":{"position":[[25,3]]},"451":{"position":[[15,5]]},"481":{"position":[[0,3]]},"487":{"position":[[0,5]]},"492":{"position":[[0,5]]},"500":{"position":[[0,5]]},"501":{"position":[[0,5]]},"508":{"position":[[8,3]]},"617":{"position":[[0,5]]}},"content":{"1":{"position":[[47,4]]},"3":{"position":[[97,5],[567,5]]},"6":{"position":[[87,3],[677,4],[736,5],[1102,4]]},"7":{"position":[[26,4],[1062,5]]},"8":{"position":[[102,3]]},"9":{"position":[[125,3],[469,3],[860,3]]},"11":{"position":[[250,3]]},"15":{"position":[[60,4],[274,5],[294,3]]},"16":{"position":[[62,4],[278,5],[298,3]]},"17":{"position":[[146,5],[333,5]]},"18":{"position":[[150,5],[338,5]]},"20":{"position":[[241,3],[1008,3],[1138,3]]},"22":{"position":[[22,3]]},"23":{"position":[[19,3]]},"24":{"position":[[342,4],[430,4],[722,3]]},"26":{"position":[[233,3]]},"27":{"position":[[406,4]]},"31":{"position":[[348,5]]},"33":{"position":[[617,4],[876,4]]},"35":{"position":[[295,3],[414,4]]},"36":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6443,4],[7239,4],[8862,4],[8942,4],[9089,5],[10642,6],[10827,6]]},"37":{"position":[[207,4]]},"39":{"position":[[170,5]]},"43":{"position":[[26,4],[115,5]]},"44":{"position":[[16,6]]},"48":{"position":[[46,4],[113,3]]},"49":{"position":[[113,4]]},"50":{"position":[[175,4]]},"51":{"position":[[19,4],[530,4],[591,5]]},"53":{"position":[[231,4]]},"54":{"position":[[187,4],[477,4],[648,4]]},"59":{"position":[[724,5]]},"60":{"position":[[122,5],[392,5],[1122,5]]},"61":{"position":[[90,5],[250,5],[408,5],[696,5],[1481,4],[1899,5],[2663,4]]},"62":{"position":[[44,5],[249,5],[1024,5]]},"63":{"position":[[136,3],[1091,4],[1751,6],[2208,5]]},"64":{"position":[[47,5],[181,4]]},"67":{"position":[[722,3],[782,4],[917,4],[1051,4],[1195,4]]},"69":{"position":[[196,6],[962,4],[1110,3],[1384,3],[2069,5],[3091,5],[4394,5],[4765,5]]},"71":{"position":[[863,4]]},"72":{"position":[[21,4],[134,4]]},"73":{"position":[[29,4]]},"74":{"position":[[32,4]]},"75":{"position":[[25,4],[1754,4]]},"76":{"position":[[27,4]]},"77":{"position":[[28,4]]},"78":{"position":[[26,4]]},"79":{"position":[[102,3]]},"80":{"position":[[28,4],[82,6]]},"83":{"position":[[628,5],[1675,3]]},"85":{"position":[[199,4]]},"90":{"position":[[498,4]]},"93":{"position":[[27,4],[1133,4],[1453,5]]},"94":{"position":[[27,4]]},"97":{"position":[[36,4]]},"98":{"position":[[97,4]]},"99":{"position":[[170,4],[2933,4],[3359,4],[4358,4],[4784,4]]},"103":{"position":[[352,4]]},"112":{"position":[[643,4]]},"115":{"position":[[122,5]]},"118":{"position":[[132,6]]},"121":{"position":[[178,4],[300,4],[458,4],[539,5]]},"123":{"position":[[71,4],[693,3]]},"131":{"position":[[68,3],[162,4]]},"132":{"position":[[13,3]]},"133":{"position":[[184,6],[284,5]]},"134":{"position":[[673,4]]},"141":{"position":[[90,4]]},"143":{"position":[[483,3]]},"168":{"position":[[80,4]]},"176":{"position":[[132,3],[223,4]]},"179":{"position":[[209,4]]},"180":{"position":[[74,4]]},"184":{"position":[[117,3]]},"186":{"position":[[5,4],[47,4]]},"187":{"position":[[61,4],[259,5]]},"188":{"position":[[60,4],[147,5]]},"194":{"position":[[61,4],[169,4]]},"198":{"position":[[111,4],[172,4]]},"201":{"position":[[324,3],[443,4]]},"202":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6443,4],[7239,4],[8862,4],[8942,4],[9089,5]]},"203":{"position":[[226,4]]},"204":{"position":[[94,4],[613,4]]},"205":{"position":[[94,4],[449,4]]},"206":{"position":[[341,3],[618,4]]},"207":{"position":[[401,4]]},"208":{"position":[[60,4],[138,4],[260,4]]},"209":{"position":[[317,3]]},"213":{"position":[[86,4]]},"215":{"position":[[35,4],[113,4]]},"216":{"position":[[43,4]]},"217":{"position":[[41,4]]},"222":{"position":[[88,4],[128,4]]},"223":{"position":[[111,4]]},"224":{"position":[[78,4]]},"225":{"position":[[59,4],[203,4]]},"227":{"position":[[93,4],[451,5],[3264,3],[5372,4]]},"229":{"position":[[613,3],[819,4],[1411,4],[1557,6],[1647,4]]},"230":{"position":[[1856,3],[2126,3]]},"231":{"position":[[971,4]]},"232":{"position":[[474,3],[828,3]]},"233":{"position":[[505,3],[911,3]]},"234":{"position":[[78,3],[768,5]]},"235":{"position":[[1292,5],[1408,4],[1484,4]]},"237":{"position":[[51,4],[130,3]]},"239":{"position":[[142,4]]},"240":{"position":[[1839,3],[1901,3]]},"241":{"position":[[117,3],[280,4],[403,5]]},"242":{"position":[[8,4]]},"249":{"position":[[120,4]]},"250":{"position":[[65,4],[214,4],[323,5]]},"253":{"position":[[1199,3],[1310,3],[3330,5],[3558,4],[5379,4],[7181,6],[7335,5],[7624,5],[7781,5],[7947,5],[8242,5]]},"254":{"position":[[356,5]]},"256":{"position":[[54,5]]},"259":{"position":[[135,4],[198,4]]},"260":{"position":[[125,5],[353,3]]},"261":{"position":[[204,4]]},"262":{"position":[[247,3],[547,5]]},"266":{"position":[[323,3],[441,4]]},"267":{"position":[[150,5],[692,4],[1344,4],[2104,4],[4982,4],[5840,4],[7212,5],[8074,3],[8162,6],[8529,3]]},"268":{"position":[[233,4]]},"269":{"position":[[564,4]]},"270":{"position":[[233,4]]},"271":{"position":[[340,3],[611,4]]},"272":{"position":[[403,4]]},"273":{"position":[[57,4],[137,4],[260,4]]},"274":{"position":[[298,3]]},"275":{"position":[[95,4]]},"279":{"position":[[35,4],[113,4]]},"281":{"position":[[88,4],[128,4]]},"282":{"position":[[61,4],[209,4]]},"283":{"position":[[133,4]]},"289":{"position":[[81,5],[134,3],[606,4]]},"290":{"position":[[14,5],[306,3],[488,5]]},"291":{"position":[[458,5],[1058,4]]},"292":{"position":[[75,3]]},"297":{"position":[[19,4],[231,5],[740,4],[866,4]]},"298":{"position":[[1506,5]]},"300":{"position":[[881,5]]},"304":{"position":[[688,4],[2939,4],[3601,5],[4734,3]]},"309":{"position":[[128,6]]},"313":{"position":[[31,5]]},"322":{"position":[[1009,5]]},"324":{"position":[[85,5],[456,4],[1574,5],[2191,3],[2924,4],[3782,3],[3819,3],[4018,4]]},"328":{"position":[[1181,4],[1577,5]]},"329":{"position":[[1536,3]]},"331":{"position":[[26,3],[142,5]]},"332":{"position":[[39,3],[71,4],[119,3]]},"334":{"position":[[508,5],[709,5]]},"336":{"position":[[213,5],[263,3]]},"338":{"position":[[17,5],[316,5],[1792,3],[1862,5],[2124,5]]},"339":{"position":[[374,5]]},"341":{"position":[[21,4]]},"347":{"position":[[1315,3],[1891,3],[1978,3]]},"349":{"position":[[169,3]]},"350":{"position":[[113,3]]},"351":{"position":[[60,3]]},"352":{"position":[[318,4]]},"357":{"position":[[707,5],[1972,5],[3463,5],[3536,5],[3854,3]]},"359":{"position":[[78,4],[340,3],[720,3],[1222,3],[1524,3],[1979,3]]},"360":{"position":[[42,3],[135,3],[389,4],[1129,3],[1236,3]]},"361":{"position":[[58,3]]},"362":{"position":[[286,3]]},"364":{"position":[[1359,3],[1687,4]]},"366":{"position":[[294,6]]},"384":{"position":[[160,6],[318,5]]},"385":{"position":[[22,4]]},"395":{"position":[[26,4]]},"397":{"position":[[69,4]]},"400":{"position":[[25,4],[284,6]]},"404":{"position":[[964,5],[1093,4]]},"411":{"position":[[171,5],[896,5],[1025,4]]},"418":{"position":[[701,5]]},"419":{"position":[[754,5]]},"420":{"position":[[726,5]]},"421":{"position":[[259,5]]},"422":{"position":[[33,6]]},"428":{"position":[[27,4]]},"429":{"position":[[122,4],[196,3],[278,5],[433,3],[495,3],[573,3],[643,4],[748,6],[825,5],[941,3],[966,5],[1293,5],[2182,4]]},"430":{"position":[[47,3],[78,4]]},"431":{"position":[[66,3],[97,4]]},"432":{"position":[[49,3],[80,4]]},"434":{"position":[[59,3],[90,4]]},"436":{"position":[[49,3],[80,4]]},"437":{"position":[[22,4]]},"441":{"position":[[670,5]]},"442":{"position":[[70,3],[1231,5]]},"444":{"position":[[1138,5]]},"448":{"position":[[94,4]]},"451":{"position":[[90,4],[249,3]]},"452":{"position":[[1,3]]},"453":{"position":[[1,3]]},"459":{"position":[[80,3],[1949,5]]},"461":{"position":[[4,3],[114,3],[475,3],[1151,4],[1186,3]]},"462":{"position":[[72,4],[244,3]]},"464":{"position":[[444,3]]},"465":{"position":[[566,4]]},"466":{"position":[[634,3]]},"467":{"position":[[309,3],[495,3],[959,5]]},"469":{"position":[[426,3]]},"470":{"position":[[143,3],[233,3]]},"474":{"position":[[51,5],[116,4],[345,5]]},"475":{"position":[[180,5]]},"476":{"position":[[350,4],[461,4],[728,5],[822,5],[1206,3],[1243,3],[1293,3],[1534,5],[4594,3]]},"480":{"position":[[522,5],[877,4],[920,6]]},"481":{"position":[[1,3]]},"482":{"position":[[1481,3]]},"483":{"position":[[1271,4]]},"485":{"position":[[494,5]]},"487":{"position":[[362,3]]},"488":{"position":[[252,3],[426,3],[1472,3],[1820,5],[1863,5],[1920,5]]},"490":{"position":[[63,6],[209,3],[642,5],[742,5],[874,5],[1138,5]]},"491":{"position":[[212,5]]},"492":{"position":[[443,6]]},"493":{"position":[[188,4],[487,5]]},"495":{"position":[[88,5],[1035,3]]},"496":{"position":[[18,6],[574,5]]},"497":{"position":[[193,5],[253,3]]},"498":{"position":[[175,5]]},"499":{"position":[[302,5]]},"500":{"position":[[90,3],[688,6]]},"501":{"position":[[422,3]]},"502":{"position":[[8,3],[377,3],[453,3]]},"504":{"position":[[758,5],[854,5]]},"505":{"position":[[167,4],[549,3],[904,4],[973,4]]},"507":{"position":[[1,5],[45,3],[188,3],[262,4],[426,5]]},"508":{"position":[[294,6],[385,5],[418,6]]},"512":{"position":[[193,6]]},"517":{"position":[[718,5]]},"530":{"position":[[98,5]]},"547":{"position":[[158,5]]},"548":{"position":[[438,4]]},"564":{"position":[[187,3]]},"566":{"position":[[240,3]]},"578":{"position":[[158,5],[1357,6]]},"579":{"position":[[68,5]]},"585":{"position":[[143,4]]},"586":{"position":[[158,4]]},"592":{"position":[[212,5],[278,5]]},"599":{"position":[[345,4]]},"605":{"position":[[131,4],[446,3],[597,5]]},"608":{"position":[[209,6],[554,6]]},"609":{"position":[[179,3]]},"610":{"position":[[38,4]]},"612":{"position":[[1200,3],[1377,6]]},"616":{"position":[[33,5]]},"617":{"position":[[504,4]]},"618":{"position":[[722,4]]},"619":{"position":[[42,4],[93,4],[206,3]]},"620":{"position":[[215,3]]},"621":{"position":[[204,3],[260,3],[331,3],[555,3],[702,3],[847,3],[922,3],[992,3],[1130,3],[1191,3],[1320,3],[1518,3],[1591,3],[1820,3],[2218,3],[2304,3],[2376,3],[2448,3],[2754,3],[2830,3],[3404,3],[3475,3],[3625,3],[3690,3],[3883,3],[4705,3],[4835,3],[5092,3],[5159,3],[5236,3],[5323,3]]},"623":{"position":[[514,4]]},"624":{"position":[[480,4]]},"637":{"position":[[100,4]]},"638":{"position":[[113,4]]},"639":{"position":[[139,4]]},"641":{"position":[[123,4]]},"642":{"position":[[136,4]]},"643":{"position":[[162,4]]},"656":{"position":[[45,5],[272,5],[313,5]]},"657":{"position":[[171,5],[222,5]]},"658":{"position":[[123,4],[173,5],[230,5],[282,5]]},"663":{"position":[[163,5]]},"669":{"position":[[180,6]]},"670":{"position":[[398,5]]},"673":{"position":[[181,5]]},"675":{"position":[[113,4]]},"683":{"position":[[149,4],[199,5]]},"687":{"position":[[145,4],[195,5]]},"700":{"position":[[137,3]]},"711":{"position":[[269,4],[345,3]]},"720":{"position":[[221,4],[291,3]]},"729":{"position":[[175,4]]},"736":{"position":[[157,5]]},"737":{"position":[[38,6],[61,3],[291,3]]},"745":{"position":[[125,3]]},"746":{"position":[[153,6]]},"749":{"position":[[64,6]]},"752":{"position":[[109,6],[242,5],[363,3]]},"758":{"position":[[217,6]]},"759":{"position":[[140,4],[165,5]]},"766":{"position":[[80,4]]},"771":{"position":[[49,4]]}},"keywords":{}}],["us)set",{"_index":3334,"title":{},"content":{"347":{"position":[[1236,6]]}},"keywords":{}}],["us,en;q=0.9",{"_index":1048,"title":{},"content":{"44":{"position":[[864,12],[2394,12]]}},"keywords":{}}],["us/docs/web/html/element/input/file#accept",{"_index":4799,"title":{},"content":{"632":{"position":[[1237,42]]}},"keywords":{}}],["usabl",{"_index":3706,"title":{},"content":{"364":{"position":[[1466,6]]}},"keywords":{}}],["usag",{"_index":186,"title":{"92":{"position":[[8,6]]},"461":{"position":[[3,6]]}},"content":{"5":{"position":[[1417,5]]},"11":{"position":[[369,6]]},"12":{"position":[[579,6]]},"13":{"position":[[487,6]]},"14":{"position":[[378,6]]},"15":{"position":[[175,5],[512,6]]},"16":{"position":[[179,5],[514,6]]},"36":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6650,6],[7446,6],[10437,6]]},"63":{"position":[[1254,6]]},"93":{"position":[[1661,6]]},"94":{"position":[[1113,6]]},"133":{"position":[[850,6]]},"135":{"position":[[659,6]]},"136":{"position":[[582,6]]},"137":{"position":[[180,6]]},"138":{"position":[[455,6]]},"139":{"position":[[258,6]]},"142":{"position":[[235,6]]},"144":{"position":[[256,6]]},"171":{"position":[[446,6]]},"173":{"position":[[164,6]]},"174":{"position":[[439,6]]},"175":{"position":[[259,6]]},"176":{"position":[[390,6]]},"177":{"position":[[337,6]]},"181":{"position":[[482,6]]},"182":{"position":[[235,6]]},"184":{"position":[[476,6]]},"194":{"position":[[493,6]]},"199":{"position":[[520,6]]},"201":{"position":[[1941,6]]},"202":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6650,6],[7446,6],[10437,6]]},"203":{"position":[[1724,6]]},"204":{"position":[[2085,6]]},"205":{"position":[[1921,6]]},"206":{"position":[[941,6]]},"207":{"position":[[724,6]]},"208":{"position":[[385,6]]},"209":{"position":[[469,6]]},"213":{"position":[[375,6]]},"225":{"position":[[436,6]]},"229":{"position":[[210,6]]},"230":{"position":[[212,6]]},"231":{"position":[[230,6]]},"232":{"position":[[249,6]]},"233":{"position":[[269,6]]},"234":{"position":[[302,6]]},"235":{"position":[[508,6]]},"264":{"position":[[546,6]]},"266":{"position":[[1055,6]]},"267":{"position":[[237,6],[456,6],[981,6],[1516,6],[2566,6],[5189,6],[6047,6],[10247,6]]},"268":{"position":[[847,6]]},"269":{"position":[[1149,6]]},"270":{"position":[[818,6]]},"271":{"position":[[934,6]]},"272":{"position":[[726,6]]},"273":{"position":[[375,6]]},"274":{"position":[[432,6]]},"275":{"position":[[384,6]]},"282":{"position":[[449,6]]},"284":{"position":[[380,6]]},"292":{"position":[[1029,5],[1055,6]]},"355":{"position":[[1032,5],[1164,5]]},"357":{"position":[[1066,6],[2557,6]]},"369":{"position":[[477,6]]},"371":{"position":[[353,6]]},"372":{"position":[[314,6]]},"373":{"position":[[799,6]]},"375":{"position":[[193,6]]},"376":{"position":[[197,6]]},"377":{"position":[[193,6]]},"378":{"position":[[195,6]]},"379":{"position":[[363,6]]},"380":{"position":[[357,6]]},"381":{"position":[[368,6]]},"382":{"position":[[151,6]]},"383":{"position":[[758,6]]},"384":{"position":[[644,6]]},"386":{"position":[[349,6]]},"387":{"position":[[324,6]]},"388":{"position":[[197,6]]},"389":{"position":[[282,6]]},"390":{"position":[[243,6]]},"391":{"position":[[304,6]]},"393":{"position":[[140,6]]},"394":{"position":[[209,6]]},"396":{"position":[[214,6]]},"397":{"position":[[99,6]]},"398":{"position":[[113,6]]},"399":{"position":[[171,6]]},"401":{"position":[[560,6]]},"402":{"position":[[747,6]]},"403":{"position":[[826,6]]},"404":{"position":[[810,6]]},"405":{"position":[[544,6]]},"406":{"position":[[411,6]]},"407":{"position":[[557,6]]},"409":{"position":[[434,6]]},"410":{"position":[[811,6]]},"411":{"position":[[708,6]]},"412":{"position":[[436,6]]},"413":{"position":[[434,6]]},"414":{"position":[[431,6]]},"415":{"position":[[400,6]]},"416":{"position":[[402,6]]},"417":{"position":[[780,6]]},"418":{"position":[[537,6]]},"419":{"position":[[571,6]]},"420":{"position":[[555,6]]},"421":{"position":[[364,6]]},"422":{"position":[[554,6]]},"423":{"position":[[696,6]]},"424":{"position":[[427,6]]},"425":{"position":[[326,6]]},"426":{"position":[[288,6]]},"427":{"position":[[639,6]]},"429":{"position":[[1734,6]]},"430":{"position":[[212,6]]},"431":{"position":[[301,6]]},"432":{"position":[[229,6]]},"434":{"position":[[310,6]]},"435":{"position":[[236,6]]},"436":{"position":[[229,6]]},"439":{"position":[[346,6]]},"440":{"position":[[578,6]]},"441":{"position":[[339,6]]},"442":{"position":[[892,6]]},"443":{"position":[[434,6]]},"444":{"position":[[736,6]]},"445":{"position":[[213,6]]}},"keywords":{}}],["useless",{"_index":4183,"title":{},"content":{"476":{"position":[[1737,7]]}},"keywords":{}}],["user",{"_index":64,"title":{"466":{"position":[[14,6]]},"495":{"position":[[0,4]]},"496":{"position":[[29,4]]},"622":{"position":[[11,4]]},"633":{"position":[[29,5]]}},"content":{"2":{"position":[[616,5]]},"24":{"position":[[624,5]]},"36":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6233,4],[6864,4],[7928,4],[8667,4],[8893,4],[10530,4],[10689,4],[10777,4],[10863,4]]},"42":{"position":[[45,4]]},"44":{"position":[[1102,5],[1636,5]]},"46":{"position":[[749,4]]},"56":{"position":[[577,5]]},"69":{"position":[[406,6]]},"87":{"position":[[82,4]]},"112":{"position":[[400,4]]},"121":{"position":[[119,4],[221,4],[314,5]]},"131":{"position":[[100,4],[226,4]]},"202":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6233,4],[6864,4],[7928,4],[8667,4],[8893,4]]},"213":{"position":[[55,4]]},"229":{"position":[[718,4]]},"237":{"position":[[90,5],[411,4]]},"245":{"position":[[150,4],[322,4]]},"253":{"position":[[1731,4],[1781,4],[1861,4],[1890,4]]},"257":{"position":[[833,5]]},"267":{"position":[[633,4],[661,4],[1990,4],[2222,4],[3382,5],[3392,4],[4748,5],[4758,4],[5441,5],[5451,4],[6564,5],[6574,4]]},"275":{"position":[[64,4]]},"289":{"position":[[178,5]]},"292":{"position":[[1162,4],[1235,4]]},"298":{"position":[[707,5]]},"299":{"position":[[156,4],[271,4]]},"303":{"position":[[90,4],[230,4],[1907,4]]},"304":{"position":[[308,5],[366,4],[384,4],[473,4],[5969,4],[6565,4],[6778,4]]},"306":{"position":[[339,4]]},"310":{"position":[[30,4]]},"320":{"position":[[1641,4]]},"324":{"position":[[778,4],[2467,4],[3438,5],[3470,5]]},"325":{"position":[[469,5],[501,5]]},"331":{"position":[[598,4]]},"334":{"position":[[115,4]]},"341":{"position":[[247,4]]},"347":{"position":[[2364,5]]},"350":{"position":[[1308,4],[1472,4]]},"359":{"position":[[72,5],[331,5],[442,5],[646,5],[1032,6],[1300,6]]},"361":{"position":[[236,6]]},"362":{"position":[[174,4]]},"363":{"position":[[454,5],[554,4]]},"364":{"position":[[878,5]]},"428":{"position":[[57,5]]},"435":{"position":[[38,4]]},"457":{"position":[[163,4]]},"459":{"position":[[165,6]]},"467":{"position":[[174,4],[1470,5]]},"468":{"position":[[12,5]]},"469":{"position":[[770,5]]},"476":{"position":[[4023,4]]},"482":{"position":[[356,5],[453,5],[1451,6]]},"492":{"position":[[219,4]]},"493":{"position":[[367,5]]},"495":{"position":[[60,4],[94,4],[408,4],[1056,4],[1123,5],[1198,4],[1229,4],[1322,4],[1378,4]]},"496":{"position":[[114,4],[223,4]]},"505":{"position":[[1120,5]]},"510":{"position":[[79,4]]},"517":{"position":[[535,4]]},"525":{"position":[[101,4]]},"528":{"position":[[8,4]]},"534":{"position":[[44,4],[176,5]]},"540":{"position":[[255,5],[390,5],[673,4]]},"548":{"position":[[51,4],[144,4],[166,4]]},"577":{"position":[[247,4],[846,4]]},"606":{"position":[[394,5]]},"612":{"position":[[298,4],[332,4],[1261,4],[1295,4]]},"617":{"position":[[1293,4]]},"622":{"position":[[25,4]]},"623":{"position":[[13,4],[45,4],[146,4],[375,4]]},"624":{"position":[[13,4],[45,4],[107,4],[341,4]]},"627":{"position":[[129,4],[519,4]]},"632":{"position":[[84,4]]},"633":{"position":[[26,4]]},"634":{"position":[[27,4],[187,4]]},"655":{"position":[[25,4]]},"675":{"position":[[12,4],[277,4]]},"680":{"position":[[25,4]]},"681":{"position":[[239,4]]},"708":{"position":[[25,4]]},"719":{"position":[[25,4]]},"729":{"position":[[25,4]]},"735":{"position":[[25,4]]},"738":{"position":[[25,4]]},"746":{"position":[[190,5]]},"747":{"position":[[25,4]]},"755":{"position":[[25,4]]},"764":{"position":[[13,4]]}},"keywords":{}}],["user'",{"_index":2114,"title":{},"content":{"198":{"position":[[184,6]]},"259":{"position":[[210,6]]}},"keywords":{}}],["user=root",{"_index":2523,"title":{},"content":{"253":{"position":[[1921,9]]}},"keywords":{}}],["usermod",{"_index":3353,"title":{},"content":{"347":{"position":[[2345,7]]}},"keywords":{}}],["usernam",{"_index":948,"title":{},"content":{"43":{"position":[[123,8],[372,8]]},"136":{"position":[[601,8],[623,8]]},"181":{"position":[[501,8]]},"242":{"position":[[209,9]]},"325":{"position":[[133,8]]},"347":{"position":[[1055,8],[1090,8],[1107,9]]}},"keywords":{}}],["username=operator&password=operator&client_id=api&grant_type=password&scope=openid",{"_index":956,"title":{},"content":{"43":{"position":[[486,100]]}},"keywords":{}}],["usr/bin/dock",{"_index":3166,"title":{},"content":{"324":{"position":[[1953,15]]}},"keywords":{}}],["usr/local/bin/dock",{"_index":3163,"title":{},"content":{"324":{"position":[[1838,21],[1882,21],[1923,21]]}},"keywords":{}}],["usr/share/containers/containers.conf",{"_index":3174,"title":{},"content":{"324":{"position":[[2220,37]]}},"keywords":{}}],["usr/share/elasticsearch/bin/elasticsearch",{"_index":3403,"title":{},"content":{"351":{"position":[[533,42]]}},"keywords":{}}],["usual",{"_index":1389,"title":{},"content":{"63":{"position":[[522,7]]},"87":{"position":[[108,8]]},"485":{"position":[[440,7]]},"548":{"position":[[531,7]]},"658":{"position":[[682,10]]},"681":{"position":[[311,7]]},"682":{"position":[[205,7]]},"683":{"position":[[301,7]]},"684":{"position":[[181,7]]}},"keywords":{}}],["utc",{"_index":2856,"title":{},"content":{"299":{"position":[[1065,3]]}},"keywords":{}}],["utf",{"_index":2169,"title":{},"content":{"216":{"position":[[234,3]]},"217":{"position":[[239,3]]}},"keywords":{}}],["util",{"_index":1332,"title":{},"content":{"59":{"position":[[281,7]]},"83":{"position":[[102,7]]},"167":{"position":[[23,11]]},"240":{"position":[[539,8]]},"245":{"position":[[379,8],[522,8],[573,8]]},"246":{"position":[[46,7]]},"247":{"position":[[195,8]]},"290":{"position":[[386,4],[794,4]]},"292":{"position":[[1116,5],[1450,5]]},"357":{"position":[[261,9],[2428,11]]},"516":{"position":[[263,7]]},"588":{"position":[[137,7]]},"753":{"position":[[31,8]]}},"keywords":{}}],["ux",{"_index":2476,"title":{"247":{"position":[[6,3]]}},"content":{"247":{"position":[[38,2]]},"424":{"position":[[146,2]]}},"keywords":{}}],["v3",{"_index":1874,"title":{},"content":{"108":{"position":[[64,2]]}},"keywords":{}}],["v4",{"_index":4630,"title":{"621":{"position":[[22,2]]}},"content":{},"keywords":{}}],["v5",{"_index":2984,"title":{"620":{"position":[[22,2]]},"621":{"position":[[28,3]]}},"content":{"313":{"position":[[71,2]]},"357":{"position":[[71,2]]}},"keywords":{}}],["v5.5.0",{"_index":2525,"title":{},"content":{"253":{"position":[[2013,7]]}},"keywords":{}}],["v6",{"_index":4625,"title":{"620":{"position":[[28,3]]}},"content":{"620":{"position":[[57,3]]}},"keywords":{}}],["vacuum",{"_index":2668,"title":{},"content":{"267":{"position":[[8413,6]]},"482":{"position":[[841,6]]}},"keywords":{}}],["vagu",{"_index":4279,"title":{},"content":{"486":{"position":[[239,6]]}},"keywords":{}}],["val",{"_index":3063,"title":{},"content":{"321":{"position":[[374,3],[382,3],[391,3]]}},"keywords":{}}],["valid",{"_index":151,"title":{"224":{"position":[[0,10]]}},"content":{"5":{"position":[[339,9],[474,5],[915,5]]},"11":{"position":[[328,5]]},"33":{"position":[[225,5],[420,5]]},"35":{"position":[[688,5],[1365,5],[1857,5]]},"36":{"position":[[3382,5],[10366,5]]},"37":{"position":[[481,5],[1158,5],[1650,5]]},"76":{"position":[[322,6]]},"77":{"position":[[321,6]]},"78":{"position":[[320,6]]},"99":{"position":[[756,5]]},"123":{"position":[[731,5]]},"134":{"position":[[475,5]]},"143":{"position":[[521,5]]},"188":{"position":[[329,5]]},"191":{"position":[[224,5]]},"199":{"position":[[385,5]]},"201":{"position":[[717,5],[1394,5],[1886,5]]},"202":{"position":[[3382,5],[10366,5]]},"203":{"position":[[500,5],[1177,5],[1669,5]]},"204":{"position":[[887,5],[1538,5],[2030,5]]},"205":{"position":[[723,5],[1374,5],[1866,5]]},"206":{"position":[[483,5],[886,5]]},"207":{"position":[[266,5],[669,5]]},"224":{"position":[[27,9],[59,9],[86,8],[511,9],[561,9],[1045,9]]},"264":{"position":[[402,5]]},"266":{"position":[[720,5],[1000,5]]},"267":{"position":[[2518,5],[7380,5],[8875,5]]},"268":{"position":[[512,5],[792,5]]},"269":{"position":[[729,5],[1094,5]]},"270":{"position":[[398,5],[763,5]]},"271":{"position":[[476,5],[879,5]]},"272":{"position":[[268,5],[671,5]]},"373":{"position":[[84,5]]},"383":{"position":[[84,5]]},"401":{"position":[[493,5]]},"402":{"position":[[680,5]]},"403":{"position":[[665,5]]},"404":{"position":[[229,5],[754,5]]},"405":{"position":[[477,5]]},"406":{"position":[[250,5]]},"407":{"position":[[396,5]]},"408":{"position":[[270,5]]},"409":{"position":[[273,5]]},"410":{"position":[[547,5]]},"411":{"position":[[537,5]]},"412":{"position":[[266,5]]},"413":{"position":[[264,5]]},"414":{"position":[[250,5]]},"415":{"position":[[239,5]]},"416":{"position":[[242,5]]},"417":{"position":[[516,5]]},"418":{"position":[[236,5],[330,5],[486,5],[963,5],[1057,5],[1213,5]]},"419":{"position":[[270,5],[364,5],[520,5],[1016,5],[1110,5],[1266,5]]},"420":{"position":[[254,5],[348,5],[504,5],[988,5],[1082,5],[1238,5]]},"422":{"position":[[487,5]]},"423":{"position":[[526,5]]},"424":{"position":[[166,5]]},"425":{"position":[[282,5]]},"427":{"position":[[478,5]]},"440":{"position":[[511,5]]},"442":{"position":[[441,5]]},"444":{"position":[[669,5]]},"467":{"position":[[285,5]]},"495":{"position":[[200,8]]},"546":{"position":[[192,11]]},"548":{"position":[[327,10],[357,9],[384,10],[446,8],[640,9]]},"658":{"position":[[411,5],[629,5]]}},"keywords":{}}],["valu",{"_index":52,"title":{"427":{"position":[[0,6]]},"498":{"position":[[24,5]]}},"content":{"2":{"position":[[400,5]]},"5":{"position":[[480,7],[921,7],[1196,6]]},"6":{"position":[[547,5],[686,5]]},"11":{"position":[[334,7]]},"33":{"position":[[231,7],[412,7],[426,7]]},"35":{"position":[[400,6],[524,6],[694,7],[862,5],[884,5],[922,5],[944,5],[982,5],[996,5],[1129,6],[1371,7],[1513,5],[1527,5],[1660,6],[1863,7]]},"36":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6212,5],[6377,6],[6455,5],[6843,5],[7014,6],[7173,6],[7251,5],[7524,6],[7611,6],[7711,6],[7907,5],[8084,7],[8109,5],[8332,6],[8598,6],[8681,7],[8907,6],[8966,6],[9281,6],[9314,5],[9501,5],[9667,5],[9749,5],[9826,6],[9904,5],[10009,5],[10053,5],[10151,5],[10226,6],[10303,6],[10372,7]]},"37":{"position":[[193,6],[317,6],[487,7],[655,5],[677,5],[715,5],[737,5],[775,5],[789,5],[922,6],[1164,7],[1306,5],[1320,5],[1453,6],[1656,7]]},"39":{"position":[[17,6],[248,6],[263,5],[277,5]]},"57":{"position":[[296,5],[344,5],[455,5]]},"61":{"position":[[874,5],[975,5],[1028,6],[1046,5],[1298,5],[1381,5],[2314,5],[2609,5],[3200,5],[3353,5],[3403,6]]},"64":{"position":[[630,5]]},"67":{"position":[[187,5],[879,5],[1064,5],[1208,5]]},"69":{"position":[[232,6],[485,6]]},"83":{"position":[[1850,7]]},"93":{"position":[[765,7]]},"94":{"position":[[140,5],[211,5],[294,5],[378,5],[979,5],[1049,5]]},"99":{"position":[[4450,7],[4463,5]]},"121":{"position":[[788,5],[802,5]]},"123":{"position":[[737,7]]},"134":{"position":[[481,7]]},"136":{"position":[[122,5],[481,5]]},"137":{"position":[[133,5],[160,5]]},"143":{"position":[[527,7]]},"173":{"position":[[117,5],[144,5]]},"179":{"position":[[355,6]]},"188":{"position":[[335,7]]},"191":{"position":[[230,7]]},"192":{"position":[[250,6]]},"199":{"position":[[391,7]]},"201":{"position":[[429,6],[553,6],[723,7],[891,5],[913,5],[951,5],[973,5],[1011,5],[1025,5],[1158,6],[1400,7],[1542,5],[1556,5],[1689,6],[1892,7],[2100,5]]},"202":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6212,5],[6377,6],[6455,5],[6843,5],[7014,6],[7173,6],[7251,5],[7524,6],[7611,6],[7711,6],[7907,5],[8084,7],[8109,5],[8332,6],[8598,6],[8681,7],[8907,6],[8966,6],[9281,6],[9314,5],[9501,5],[9667,5],[9749,5],[9826,6],[9904,5],[10009,5],[10053,5],[10151,5],[10226,6],[10303,6],[10372,7]]},"203":{"position":[[212,6],[336,6],[506,7],[674,5],[696,5],[734,5],[756,5],[794,5],[808,5],[941,6],[1183,7],[1325,5],[1339,5],[1472,6],[1675,7],[1837,5]]},"204":{"position":[[599,6],[723,6],[893,7],[1061,5],[1083,5],[1121,5],[1143,5],[1176,5],[1197,5],[1255,5],[1544,7],[1686,5],[1700,5],[1833,6],[2036,7]]},"205":{"position":[[435,6],[559,6],[729,7],[897,5],[919,5],[957,5],[979,5],[1012,5],[1033,5],[1091,5],[1380,7],[1522,5],[1536,5],[1669,6],[1872,7]]},"206":{"position":[[489,7],[604,6],[724,6],[892,7]]},"207":{"position":[[272,7],[387,6],[507,6],[675,7]]},"208":{"position":[[165,6]]},"213":{"position":[[302,6],[321,6]]},"215":{"position":[[62,6],[131,6]]},"216":{"position":[[89,6],[180,6]]},"217":{"position":[[87,6],[176,6]]},"227":{"position":[[2795,6],[3155,5],[3802,6],[4073,5],[4150,5],[5615,5]]},"230":{"position":[[2341,6]]},"232":{"position":[[791,7],[1075,5]]},"233":{"position":[[1292,5]]},"234":{"position":[[740,6]]},"242":{"position":[[152,5]]},"253":{"position":[[2931,5],[3650,5],[3672,5],[3698,5],[3802,5],[3858,5],[3880,5],[3909,5],[4033,5],[4068,5],[4109,5],[4131,5],[4179,5],[4271,6],[4309,5],[4345,5],[4505,5],[4572,6],[4906,5],[5314,5],[5496,5]]},"254":{"position":[[1159,5],[1179,5],[1268,5],[1278,5],[1529,5],[2527,5],[2537,5]]},"259":{"position":[[1218,5]]},"262":{"position":[[774,6]]},"263":{"position":[[749,5]]},"264":{"position":[[408,7]]},"266":{"position":[[427,6],[551,6],[726,7],[1006,7]]},"267":{"position":[[209,5],[908,6],[927,6],[1368,5],[1824,5],[1881,6],[1968,5],[2246,5],[2280,6],[2316,7],[2386,5],[2412,5],[2457,6],[2524,7],[2689,6],[3322,5],[3446,5],[3806,6],[4181,5],[4506,6],[4537,5],[4688,5],[4812,5],[4916,6],[4994,5],[5381,5],[5505,5],[5615,6],[5774,6],[5852,5],[6124,6],[6210,6],[6309,6],[6504,5],[6628,5],[6744,7],[6769,5],[6991,6],[7374,5],[7386,7],[7473,5],[7564,6],[7597,5],[7762,5],[8262,6],[8881,7],[8943,5],[8979,5],[9061,5],[9097,6],[9220,5],[9259,6],[9378,5],[9417,5],[9717,5],[9756,6],[10104,5],[10140,6]]},"268":{"position":[[219,6],[343,6],[518,7],[798,7]]},"269":{"position":[[550,6],[674,6],[735,7],[783,5],[793,5],[1100,7]]},"270":{"position":[[219,6],[343,6],[404,7],[452,5],[462,5],[769,7]]},"271":{"position":[[482,7],[597,6],[717,6],[885,7]]},"272":{"position":[[274,7],[389,6],[509,6],[677,7]]},"273":{"position":[[164,6]]},"275":{"position":[[311,6],[330,6]]},"279":{"position":[[62,6],[131,6]]},"289":{"position":[[1412,5]]},"291":{"position":[[1453,5]]},"298":{"position":[[491,5]]},"300":{"position":[[550,5]]},"303":{"position":[[904,6],[971,5],[1073,5],[1133,5],[1559,6],[1600,6],[1642,6]]},"305":{"position":[[132,5],[916,6],[1472,5],[1580,5],[1603,6]]},"308":{"position":[[489,5],[605,5]]},"331":{"position":[[399,6]]},"338":{"position":[[1670,6]]},"371":{"position":[[16,6],[204,5]]},"373":{"position":[[220,5],[451,5]]},"379":{"position":[[111,5],[234,5],[251,5],[268,5],[280,5],[297,5],[314,5],[325,5],[342,5]]},"380":{"position":[[105,5],[228,5],[245,5],[262,5],[274,5],[291,5],[308,5],[319,5],[336,5]]},"381":{"position":[[116,5],[239,5],[256,5],[273,5],[285,5],[302,5],[319,5],[330,5],[347,5]]},"382":{"position":[[36,5],[121,5],[131,5]]},"383":{"position":[[220,5],[451,5]]},"384":{"position":[[212,6]]},"396":{"position":[[121,5]]},"400":{"position":[[51,7],[266,5]]},"401":{"position":[[426,5],[453,5],[499,7]]},"402":{"position":[[613,5],[640,5],[686,7]]},"403":{"position":[[33,5],[209,5],[271,5],[303,5],[598,5],[625,5],[671,7],[786,5]]},"404":{"position":[[162,5],[189,5],[235,7],[760,7],[1019,5],[1082,6],[1111,5]]},"405":{"position":[[202,5],[287,5],[410,5],[437,5],[483,7]]},"406":{"position":[[51,5],[183,5],[210,5],[256,7],[371,5]]},"407":{"position":[[59,5],[329,5],[356,5],[402,7],[517,5]]},"408":{"position":[[49,5],[203,5],[230,5],[276,7],[391,5]]},"409":{"position":[[49,5],[206,5],[233,5],[279,7],[394,5]]},"410":{"position":[[49,5],[206,5],[220,5],[293,5],[345,5],[359,5],[432,5],[480,5],[507,5],[553,7],[668,5]]},"411":{"position":[[55,6],[119,6],[148,6],[470,5],[497,5],[543,7],[951,5],[1014,6],[1043,5]]},"412":{"position":[[28,5],[199,5],[226,5],[272,7]]},"413":{"position":[[28,5],[197,5],[224,5],[270,7]]},"414":{"position":[[183,5],[210,5],[256,7]]},"415":{"position":[[18,5],[172,5],[199,5],[245,7],[360,5]]},"416":{"position":[[18,5],[175,5],[202,5],[248,7],[363,5]]},"417":{"position":[[18,5],[175,5],[189,5],[262,5],[314,5],[328,5],[401,5],[449,5],[476,5],[522,7],[637,5]]},"418":{"position":[[169,5],[196,5],[242,7],[336,7],[492,7],[896,5],[923,5],[969,7],[1063,7],[1219,7]]},"419":{"position":[[203,5],[230,5],[276,7],[370,7],[526,7],[949,5],[976,5],[1022,7],[1116,7],[1272,7]]},"420":{"position":[[187,5],[214,5],[260,7],[354,7],[510,7],[921,5],[948,5],[994,7],[1088,7],[1244,7]]},"421":{"position":[[185,5]]},"422":{"position":[[206,5],[295,5],[420,5],[447,5],[493,7]]},"423":{"position":[[49,5],[185,5],[199,5],[272,5],[324,5],[338,5],[411,5],[459,5],[486,5],[532,7]]},"425":{"position":[[82,5],[215,5],[242,5],[288,7],[417,6],[529,5],[562,5],[606,5],[650,5]]},"427":{"position":[[38,5],[100,5],[162,5],[194,5],[411,5],[438,5],[484,7],[599,5],[647,5],[691,5]]},"429":{"position":[[200,6],[271,6],[1235,5],[1567,9]]},"440":{"position":[[16,5],[444,5],[471,5],[517,7]]},"442":{"position":[[63,5],[90,6],[397,5],[424,5],[447,7],[1294,5],[1346,5]]},"444":{"position":[[104,5],[603,5],[630,5],[675,7],[1198,5],[1262,5]]},"476":{"position":[[694,6],[786,6]]},"480":{"position":[[455,6],[1266,6]]},"490":{"position":[[546,5]]},"495":{"position":[[138,6],[213,5],[1416,6]]},"496":{"position":[[209,5],[245,7],[409,5],[558,5]]},"498":{"position":[[120,5],[335,5],[389,5],[442,5],[496,5],[549,5],[614,5]]},"499":{"position":[[55,5],[173,5]]},"500":{"position":[[274,5]]},"501":{"position":[[483,6],[826,5]]},"504":{"position":[[540,5],[620,5],[650,5],[885,6]]},"507":{"position":[[34,6],[152,6],[202,6],[360,6]]},"513":{"position":[[466,6]]},"525":{"position":[[600,5]]},"532":{"position":[[60,6]]},"533":{"position":[[414,5],[572,6]]},"534":{"position":[[281,6]]},"544":{"position":[[171,8],[306,6]]},"568":{"position":[[97,6]]},"577":{"position":[[903,6]]},"578":{"position":[[137,6],[223,5],[643,5]]},"583":{"position":[[294,6]]},"599":{"position":[[1122,6],[1187,6],[1237,6]]},"618":{"position":[[46,6],[278,5]]},"622":{"position":[[39,6]]},"623":{"position":[[492,5],[532,6],[668,5],[710,5],[736,5],[766,5],[889,5],[931,5],[957,5],[987,5]]},"624":{"position":[[458,5],[498,6],[716,5],[980,5]]},"627":{"position":[[599,5],[671,5],[752,5],[827,5],[914,5],[986,5],[1067,5],[1143,6]]},"636":{"position":[[1027,5],[1033,5],[1065,6],[1188,5]]},"637":{"position":[[1249,5],[1255,5],[1287,6],[1410,5]]},"638":{"position":[[1270,5],[1276,5],[1308,6],[1431,5]]},"639":{"position":[[1303,5],[1309,5],[1341,6],[1464,5]]},"640":{"position":[[1103,5],[1109,5],[1141,6],[1264,5]]},"641":{"position":[[1320,5],[1326,5],[1358,6],[1481,5]]},"642":{"position":[[1341,5],[1347,5],[1379,6],[1502,5]]},"643":{"position":[[1374,5],[1380,5],[1412,6],[1535,5]]},"644":{"position":[[372,6]]},"649":{"position":[[1486,9],[1511,9]]},"652":{"position":[[17,5],[533,5],[544,5],[661,5],[751,5],[787,5]]},"657":{"position":[[55,5],[587,5],[602,5],[669,6]]},"660":{"position":[[562,5],[615,5],[694,5],[751,5],[814,5],[990,5],[1043,5],[1122,5],[1179,5],[1242,5]]},"662":{"position":[[20,7],[96,5]]},"663":{"position":[[13,6],[178,5],[203,5],[270,7],[467,6]]},"669":{"position":[[23,5],[71,5],[299,6],[559,5],[565,5],[583,5]]},"670":{"position":[[372,5],[384,5],[454,6]]},"671":{"position":[[20,5],[89,5],[426,5],[432,5]]},"673":{"position":[[50,6],[105,5],[163,6],[1467,8],[1587,8],[1707,8],[1830,8]]},"682":{"position":[[114,5],[743,5],[758,5],[825,6]]},"685":{"position":[[91,5]]},"686":{"position":[[108,5],[642,5],[657,5],[724,6]]},"700":{"position":[[765,5],[782,5],[870,5],[887,5],[1005,5],[1022,5],[1132,5],[1149,5],[1216,5],[1324,6],[1366,5],[1474,6]]},"707":{"position":[[52,5]]},"715":{"position":[[54,5]]},"724":{"position":[[51,5]]},"729":{"position":[[121,5]]},"730":{"position":[[174,5],[180,5]]},"762":{"position":[[163,5],[398,7],[436,7],[506,7],[539,7]]},"763":{"position":[[166,5],[418,7],[473,7]]},"764":{"position":[[43,6]]},"767":{"position":[[57,7]]},"769":{"position":[[24,6],[310,5],[324,5]]},"773":{"position":[[156,6]]}},"keywords":{}}],["value>",{"_index":4816,"title":{},"content":{"636":{"position":[[134,10],[180,10],[318,10],[374,10],[499,10],[545,10],[679,10],[730,10]]},"637":{"position":[[311,10],[357,10],[510,10],[566,10],[706,10],[752,10],[901,10],[952,10]]},"638":{"position":[[320,10],[366,10],[523,10],[579,10],[723,10],[769,10],[922,10],[973,10]]},"639":{"position":[[380,10],[426,10],[574,10],[630,10],[765,10],[811,10],[955,10],[1006,10]]},"640":{"position":[[166,10],[212,10],[362,10],[426,10],[555,10],[601,10],[747,10],[806,10]]},"641":{"position":[[338,10],[384,10],[549,10],[613,10],[757,10],[803,10],[964,10],[1023,10]]},"642":{"position":[[347,10],[393,10],[562,10],[626,10],[774,10],[820,10],[985,10],[1044,10]]},"643":{"position":[[407,10],[453,10],[613,10],[677,10],[816,10],[862,10],[1018,10],[1077,10]]},"657":{"position":[[369,10]]},"682":{"position":[[462,10]]},"686":{"position":[[368,10]]},"730":{"position":[[95,10]]},"769":{"position":[[225,10]]}},"keywords":{}}],["value<",{"_index":212,"title":{},"content":{"6":{"position":[[373,11]]}},"keywords":{}}],["value"",{"_index":2131,"title":{},"content":{"201":{"position":[[2078,11]]},"254":{"position":[[1322,12],[1563,11],[2581,12]]},"623":{"position":[[792,12],[1013,12]]},"624":{"position":[[780,12],[1044,12]]}},"keywords":{}}],["value(",{"_index":2078,"title":{},"content":{"179":{"position":[[334,8]]},"372":{"position":[[265,8]]},"373":{"position":[[750,8]]},"383":{"position":[[709,8]]}},"keywords":{}}],["value(d,h,m,",{"_index":3862,"title":{},"content":{"418":{"position":[[1523,15]]},"419":{"position":[[1576,15]]},"420":{"position":[[1548,15]]}},"keywords":{}}],["value1",{"_index":228,"title":{},"content":{"6":{"position":[[830,6]]},"404":{"position":[[839,6]]},"670":{"position":[[621,9],[731,10]]}},"keywords":{}}],["value2",{"_index":229,"title":{},"content":{"6":{"position":[[885,6]]},"670":{"position":[[642,8],[747,9]]}},"keywords":{}}],["value3",{"_index":231,"title":{},"content":{"6":{"position":[[940,6]]},"411":{"position":[[228,6]]},"429":{"position":[[1015,8]]}},"keywords":{}}],["value4",{"_index":233,"title":{},"content":{"6":{"position":[[995,6]]}},"keywords":{}}],["value5",{"_index":235,"title":{},"content":{"6":{"position":[[1050,6]]},"411":{"position":[[732,6]]}},"keywords":{}}],["value_eq",{"_index":3988,"title":{},"content":{"444":{"position":[[897,8],[922,8],[1006,8],[1039,8],[1166,9]]}},"keywords":{}}],["value_typ",{"_index":5093,"title":{},"content":{"673":{"position":[[1446,13],[1560,13],[1680,13],[1802,13]]}},"keywords":{}}],["valueadd",{"_index":4484,"title":{},"content":{"553":{"position":[[38,8]]}},"keywords":{}}],["valuelimitsbar",{"_index":3855,"title":{"415":{"position":[[0,15]]}},"content":{"415":{"position":[[408,14],[461,14]]}},"keywords":{}}],["valuelimitscolumn",{"_index":3856,"title":{"416":{"position":[[0,18]]}},"content":{"416":{"position":[[410,17],[466,17]]}},"keywords":{}}],["valuerangebar",{"_index":3857,"title":{"417":{"position":[[0,14]]}},"content":{"417":{"position":[[788,13],[850,13]]}},"keywords":{}}],["values[0][0",{"_index":4419,"title":{},"content":{"507":{"position":[[395,12]]}},"keywords":{}}],["valuesonli",{"_index":4486,"title":{},"content":{"553":{"position":[[103,10]]}},"keywords":{}}],["valuesperform",{"_index":4582,"title":{},"content":{"606":{"position":[[112,13]]}},"keywords":{}}],["var",{"_index":2264,"title":{},"content":{"227":{"position":[[2377,3],[3394,3]]},"429":{"position":[[1559,7],[1957,4]]},"431":{"position":[[332,4]]},"432":{"position":[[257,4]]},"435":{"position":[[319,4]]},"436":{"position":[[257,4]]},"613":{"position":[[222,3]]}},"keywords":{}}],["var/lib/apt/list",{"_index":3017,"title":{},"content":{"318":{"position":[[358,20]]}},"keywords":{}}],["vari",{"_index":791,"title":{},"content":{"36":{"position":[[6473,4],[7269,4]]},"42":{"position":[[722,5]]},"43":{"position":[[6463,5]]},"202":{"position":[[6473,4],[7269,4]]},"227":{"position":[[5206,7]]},"261":{"position":[[251,4]]},"267":{"position":[[5012,4],[5870,4]]},"355":{"position":[[202,4]]},"395":{"position":[[122,4]]},"559":{"position":[[285,6]]}},"keywords":{}}],["variabl",{"_index":196,"title":{"121":{"position":[[0,9]]},"261":{"position":[[0,8]]},"500":{"position":[[6,9]]}},"content":{"6":{"position":[[106,9],[560,8]]},"7":{"position":[[1035,8]]},"71":{"position":[[673,8]]},"83":{"position":[[1772,10]]},"85":{"position":[[988,9]]},"90":{"position":[[115,8]]},"99":{"position":[[1133,8],[1512,8],[2000,8],[3647,8],[3764,8],[4271,8],[5157,8]]},"112":{"position":[[633,9]]},"120":{"position":[[120,9]]},"121":{"position":[[23,8],[52,8],[79,8],[161,9],[275,9],[441,9],[566,9],[609,9],[766,8],[815,8]]},"122":{"position":[[90,8]]},"136":{"position":[[236,9],[351,8],[385,8]]},"137":{"position":[[36,8],[114,8],[151,8]]},"173":{"position":[[21,8],[98,8],[135,8]]},"181":{"position":[[196,9],[311,8],[345,8]]},"230":{"position":[[2535,8]]},"237":{"position":[[358,10]]},"241":{"position":[[389,9]]},"242":{"position":[[79,9]]},"253":{"position":[[1382,8],[6462,9],[6574,8],[6977,8],[7359,9],[7444,9],[8272,9],[8385,9]]},"254":{"position":[[2260,9]]},"257":{"position":[[1738,9]]},"261":{"position":[[20,8],[157,8],[337,8]]},"267":{"position":[[10674,8]]},"276":{"position":[[327,8]]},"291":{"position":[[321,9],[1197,9],[1333,9],[1375,9]]},"304":{"position":[[6679,8]]},"307":{"position":[[740,8],[839,8],[936,8]]},"320":{"position":[[768,8],[790,8],[812,8],[834,8]]},"322":{"position":[[1055,8]]},"337":{"position":[[152,8]]},"338":{"position":[[135,9],[459,8],[513,8],[554,8],[610,8],[656,8],[693,8],[736,8],[795,8],[857,8],[943,8],[1112,8],[1644,8],[1680,9]]},"339":{"position":[[224,9],[270,8],[421,9],[467,8]]},"429":{"position":[[1489,10],[2167,8]]},"476":{"position":[[532,9],[685,8],[777,8],[866,8],[1389,8],[4598,9],[4737,8]]},"490":{"position":[[194,10],[449,9],[515,8],[559,8],[606,9]]},"491":{"position":[[202,9]]},"496":{"position":[[476,8],[1080,8]]},"500":{"position":[[97,9]]},"501":{"position":[[207,9]]},"505":{"position":[[746,9],[1201,8]]},"608":{"position":[[288,9],[368,10],[641,9],[721,10]]},"612":{"position":[[977,8],[1208,8]]},"613":{"position":[[121,9],[202,9]]},"658":{"position":[[456,8],[479,8],[654,8]]}},"keywords":{}}],["variable1=value1",{"_index":3271,"title":{},"content":{"339":{"position":[[89,18],[321,18]]}},"keywords":{}}],["variable2=value2",{"_index":3272,"title":{},"content":{"339":{"position":[[108,18],[340,18]]}},"keywords":{}}],["variable_bit_s",{"_index":691,"title":{},"content":{"36":{"position":[[1548,18]]},"202":{"position":[[1548,18]]},"267":{"position":[[1543,18]]}},"keywords":{}}],["variable_nam",{"_index":4324,"title":{},"content":{"490":{"position":[[590,13],[657,13]]}},"keywords":{}}],["variablesshow",{"_index":4580,"title":{},"content":{"606":{"position":[[56,13]]}},"keywords":{}}],["variat",{"_index":2553,"title":{},"content":{"253":{"position":[[6486,9]]},"480":{"position":[[1236,9]]}},"keywords":{}}],["varieti",{"_index":3460,"title":{},"content":{"356":{"position":[[578,7]]}},"keywords":{}}],["variou",{"_index":674,"title":{},"content":{"36":{"position":[[722,7]]},"46":{"position":[[135,7]]},"97":{"position":[[86,7]]},"202":{"position":[[722,7]]},"213":{"position":[[111,7]]},"227":{"position":[[1880,7]]},"235":{"position":[[1573,7]]},"243":{"position":[[349,7],[463,7]]},"267":{"position":[[717,7]]},"275":{"position":[[120,7]]},"287":{"position":[[71,7]]},"292":{"position":[[1456,7]]},"343":{"position":[[669,7]]},"344":{"position":[[157,7]]},"345":{"position":[[48,7]]},"356":{"position":[[759,7]]},"442":{"position":[[74,7]]},"517":{"position":[[351,7]]},"538":{"position":[[263,7]]},"564":{"position":[[480,7]]},"578":{"position":[[277,7]]},"747":{"position":[[41,7]]}},"keywords":{}}],["vcpu",{"_index":3469,"title":{},"content":{"357":{"position":[[77,6]]}},"keywords":{}}],["vel[x,y,z",{"_index":3480,"title":{},"content":{"357":{"position":[[636,11]]}},"keywords":{}}],["veri",{"_index":271,"title":{},"content":{"7":{"position":[[1098,4]]},"44":{"position":[[11,4]]},"59":{"position":[[252,4]]},"61":{"position":[[1930,4]]},"69":{"position":[[3562,4]]},"227":{"position":[[784,4]]},"229":{"position":[[1552,4]]},"257":{"position":[[483,4]]},"262":{"position":[[208,4]]},"304":{"position":[[664,4]]},"467":{"position":[[1009,4]]},"475":{"position":[[79,4]]},"479":{"position":[[21,4]]},"495":{"position":[[182,4]]},"593":{"position":[[748,4]]},"616":{"position":[[82,4]]},"752":{"position":[[147,4]]}},"keywords":{}}],["verif",{"_index":4970,"title":{},"content":{"656":{"position":[[12,12],[88,12]]},"657":{"position":[[86,12]]}},"keywords":{}}],["verifi",{"_index":1282,"title":{},"content":{"54":{"position":[[2354,8]]},"67":{"position":[[56,6]]},"299":{"position":[[101,6],[593,6],[710,6],[1080,6]]},"303":{"position":[[799,6],[1629,6],[1796,6],[1960,6],[2016,6],[2164,6]]},"304":{"position":[[893,8],[2244,6],[2388,6],[2512,6],[2681,6],[2801,6],[2972,6],[3084,6],[3261,6],[3454,6],[4501,6],[4918,6],[5711,6]]},"305":{"position":[[995,6],[1293,6],[1596,6]]},"306":{"position":[[439,6]]},"478":{"position":[[116,9]]},"504":{"position":[[840,6]]}},"keywords":{}}],["versa",{"_index":311,"title":{},"content":{"9":{"position":[[964,6]]}},"keywords":{}}],["version",{"_index":761,"title":{},"content":{"36":{"position":[[5170,7]]},"46":{"position":[[844,7]]},"64":{"position":[[692,7]]},"85":{"position":[[172,7]]},"88":{"position":[[37,7]]},"98":{"position":[[199,9]]},"202":{"position":[[5170,7]]},"224":{"position":[[349,7]]},"226":{"position":[[186,7],[1064,7],[1834,7]]},"229":{"position":[[1372,7]]},"242":{"position":[[181,7]]},"254":{"position":[[171,8],[234,7],[269,7],[309,10],[1773,7],[1985,8]]},"257":{"position":[[396,9]]},"267":{"position":[[3651,7]]},"285":{"position":[[156,7]]},"287":{"position":[[182,7]]},"290":{"position":[[522,7],[562,7],[820,7],[865,7]]},"292":{"position":[[677,7],[705,7],[795,7]]},"321":{"position":[[3644,10],[3683,7],[3761,8],[3794,7],[3881,8],[3913,9]]},"334":{"position":[[638,8]]},"350":{"position":[[1378,7],[1458,7]]},"357":{"position":[[4304,8],[4328,8],[4352,8],[4374,8],[4401,8],[4434,8],[4500,8]]},"461":{"position":[[1254,8]]},"483":{"position":[[1198,7]]},"667":{"position":[[644,7]]},"766":{"position":[[352,10]]},"767":{"position":[[906,10],[926,10]]}},"keywords":{}}],["version=1",{"_index":965,"title":{},"content":{"43":{"position":[[856,10],[1003,10]]}},"keywords":{}}],["version=1.0.0",{"_index":2569,"title":{},"content":{"254":{"position":[[106,13]]},"321":{"position":[[3621,13]]}},"keywords":{}}],["version=1.0.1",{"_index":2582,"title":{},"content":{"254":{"position":[[1920,13]]},"334":{"position":[[572,13]]}},"keywords":{}}],["version=x.x.x"",{"_index":2337,"title":{},"content":{"229":{"position":[[1326,19]]}},"keywords":{}}],["vertic",{"_index":3758,"title":{"386":{"position":[[0,9]]}},"content":{"381":{"position":[[441,8]]},"386":{"position":[[36,10],[73,8],[179,8],[207,8],[357,8]]},"387":{"position":[[36,10],[125,10]]},"391":{"position":[[332,8]]},"393":{"position":[[11,8]]},"399":{"position":[[179,8]]},"413":{"position":[[60,10]]},"446":{"position":[[57,8]]},"591":{"position":[[258,8]]},"601":{"position":[[362,10],[716,10]]},"745":{"position":[[511,8],[783,8]]},"746":{"position":[[971,8],[1254,8]]}},"keywords":{}}],["vertical_message_box",{"_index":4344,"title":{"626":{"position":[[0,21]]}},"content":{"495":{"position":[[1143,21]]},"627":{"position":[[18,21]]}},"keywords":{}}],["vertical_message_box("<message>"",{"_index":4744,"title":{},"content":{"627":{"position":[[294,49]]}},"keywords":{}}],["vertical_message_box("select",{"_index":4751,"title":{},"content":{"627":{"position":[[679,33],[994,33]]}},"keywords":{}}],["verticalbox",{"_index":3728,"title":{"387":{"position":[[0,12]]}},"content":{"370":{"position":[[128,11],[206,11]]},"383":{"position":[[766,11]]},"387":{"position":[[73,11],[332,11]]},"446":{"position":[[250,11],[687,11]]},"745":{"position":[[549,11],[821,11]]},"746":{"position":[[1011,11],[1294,11]]}},"keywords":{}}],["vetur",{"_index":1562,"title":{},"content":{"83":{"position":[[198,6]]}},"keywords":{}}],["vi",{"_index":3176,"title":{},"content":{"324":{"position":[[2281,2],[3194,2],[3386,2]]}},"keywords":{}}],["via",{"_index":701,"title":{},"content":{"36":{"position":[[2000,3]]},"202":{"position":[[2000,3]]},"321":{"position":[[1139,3]]},"352":{"position":[[71,3]]},"363":{"position":[[1260,3]]},"384":{"position":[[37,3]]},"527":{"position":[[509,3]]},"669":{"position":[[233,3]]}},"keywords":{}}],["vice",{"_index":310,"title":{},"content":{"9":{"position":[[959,4]]}},"keywords":{}}],["view",{"_index":1774,"title":{"571":{"position":[[0,4]]}},"content":{"95":{"position":[[555,4]]},"103":{"position":[[630,6]]},"259":{"position":[[1673,4]]},"299":{"position":[[980,4],[1238,4]]},"301":{"position":[[228,4],[490,4],[591,4],[725,4],[764,4],[883,4],[1035,4],[1074,4],[1190,4],[1635,4],[1762,4]]},"302":{"position":[[296,4],[494,4]]},"304":{"position":[[4184,7]]},"305":{"position":[[41,4],[755,4],[948,4],[1263,4],[1545,4]]},"306":{"position":[[146,5]]},"309":{"position":[[515,4]]},"311":{"position":[[441,4]]},"329":{"position":[[1544,4]]},"516":{"position":[[97,4]]},"527":{"position":[[485,6]]},"536":{"position":[[264,4]]},"539":{"position":[[130,4]]},"541":{"position":[[242,4],[321,4]]},"542":{"position":[[263,4],[351,4]]},"561":{"position":[[27,4]]},"570":{"position":[[98,5]]},"605":{"position":[[334,4],[711,4]]}},"keywords":{}}],["viewer",{"_index":359,"title":{"305":{"position":[[7,7]]},"306":{"position":[[10,7]]},"309":{"position":[[5,7]]},"560":{"position":[[5,6]]},"562":{"position":[[5,6]]},"567":{"position":[[7,6]]},"569":{"position":[[7,6]]},"587":{"position":[[10,6]]}},"content":{"14":{"position":[[150,6]]},"108":{"position":[[253,6]]},"194":{"position":[[79,6],[451,6]]},"230":{"position":[[2143,6]]},"234":{"position":[[95,6]]},"259":{"position":[[1234,6],[1248,6]]},"278":{"position":[[94,7]]},"301":{"position":[[1598,7],[1650,6]]},"305":{"position":[[8,6],[196,6],[381,6],[539,6],[719,6],[887,6],[1032,6],[1147,6],[1403,6]]},"306":{"position":[[11,6],[318,6],[403,6],[499,6]]},"309":{"position":[[6,6],[239,6],[354,6],[456,6],[551,6],[651,6]]},"328":{"position":[[1775,6]]},"366":{"position":[[396,6]]},"369":{"position":[[20,6],[270,6],[363,6]]},"542":{"position":[[366,6],[395,6]]},"561":{"position":[[6,6]]},"568":{"position":[[8,6],[35,6]]},"572":{"position":[[26,6]]},"588":{"position":[[11,6],[38,6]]},"591":{"position":[[292,7]]},"592":{"position":[[379,6]]},"621":{"position":[[185,6],[241,6],[312,6],[536,6]]},"742":{"position":[[31,6]]},"745":{"position":[[107,6]]},"746":{"position":[[125,6]]}},"keywords":{}}],["violat",{"_index":2661,"title":{},"content":{"267":{"position":[[7951,8]]},"299":{"position":[[1202,11]]},"302":{"position":[[482,11]]},"359":{"position":[[1174,9]]},"575":{"position":[[123,7]]},"578":{"position":[[85,7]]}},"keywords":{}}],["viral",{"_index":3604,"title":{},"content":{"359":{"position":[[176,5]]}},"keywords":{}}],["virtual",{"_index":2176,"title":{"222":{"position":[[0,8]]},"281":{"position":[[0,8]]}},"content":{"222":{"position":[[38,7]]},"281":{"position":[[38,7]]},"325":{"position":[[53,7]]},"357":{"position":[[115,14]]}},"keywords":{}}],["visibl",{"_index":4314,"title":{},"content":{"488":{"position":[[789,10]]},"599":{"position":[[246,7]]},"746":{"position":[[704,7],[890,7]]}},"keywords":{}}],["visit",{"_index":466,"title":{},"content":{"20":{"position":[[1527,5]]},"84":{"position":[[626,5]]},"472":{"position":[[170,5]]}},"keywords":{}}],["visual",{"_index":1554,"title":{},"content":{"83":{"position":[[40,6]]},"103":{"position":[[167,8]]},"234":{"position":[[821,13]]},"304":{"position":[[26,6]]},"321":{"position":[[3858,9]]},"329":{"position":[[1311,10]]},"332":{"position":[[1,6]]},"352":{"position":[[326,9]]},"353":{"position":[[67,13]]},"356":{"position":[[733,9]]},"476":{"position":[[3972,8]]},"522":{"position":[[10,10]]},"564":{"position":[[194,6],[320,14],[488,15]]}},"keywords":{}}],["vm.max_map_count=262144",{"_index":3172,"title":{},"content":{"324":{"position":[[2142,23]]},"347":{"position":[[2148,23]]}},"keywords":{}}],["vm.overcommit_memory=1",{"_index":3349,"title":{},"content":{"347":{"position":[[2187,22]]}},"keywords":{}}],["volum",{"_index":1932,"title":{},"content":{"122":{"position":[[307,6]]},"256":{"position":[[82,7]]},"292":{"position":[[1383,7]]},"325":{"position":[[620,6]]}},"keywords":{}}],["vpnkitmaxportidletim",{"_index":2783,"title":{},"content":{"289":{"position":[[1418,21]]}},"keywords":{}}],["vs",{"_index":2512,"title":{"476":{"position":[[5,2]]},"483":{"position":[[8,2]]},"487":{"position":[[14,2]]},"488":{"position":[[13,2],[46,2]]}},"content":{"253":{"position":[[1272,2]]},"332":{"position":[[43,2]]},"500":{"position":[[826,2]]}},"keywords":{}}],["vscode",{"_index":1566,"title":{},"content":{"83":{"position":[[269,6]]}},"keywords":{}}],["vue",{"_index":1872,"title":{},"content":{"108":{"position":[[36,3]]},"235":{"position":[[789,3],[882,4],[931,3],[1461,3]]},"246":{"position":[[388,4]]},"328":{"position":[[482,3],[1046,3],[1190,3],[1471,3]]}},"keywords":{}}],["vue.config.j",{"_index":2412,"title":{},"content":{"235":{"position":[[1447,13]]}},"keywords":{}}],["vue.j",{"_index":2395,"title":{"245":{"position":[[0,7]]}},"content":{"234":{"position":[[790,6]]},"235":{"position":[[235,7],[310,7],[1314,6]]},"245":{"position":[[71,6],[93,7],[388,6],[531,6],[582,6]]},"246":{"position":[[35,7]]},"328":{"position":[[605,6]]}},"keywords":{}}],["vuetifi",{"_index":1873,"title":{},"content":{"108":{"position":[[44,7]]},"235":{"position":[[887,8]]},"245":{"position":[[403,7],[546,7],[597,7]]},"328":{"position":[[492,7],[616,8]]}},"keywords":{}}],["w",{"_index":3171,"title":{},"content":{"324":{"position":[[2140,1]]},"347":{"position":[[2146,1],[2185,1]]}},"keywords":{}}],["w/"1e44c0878528687014e1e60a1cbebdae"",{"_index":1013,"title":{},"content":{"43":{"position":[[6416,46]]}},"keywords":{}}],["w/"e806aacfdbed0b325e7a5928e3bb5cf4"",{"_index":928,"title":{},"content":{"42":{"position":[[675,46]]}},"keywords":{}}],["wait",{"_index":874,"title":{"681":{"position":[[0,5]]}},"content":{"40":{"position":[[727,4]]},"49":{"position":[[154,4],[569,4],[638,4]]},"50":{"position":[[456,4],[525,4]]},"51":{"position":[[738,4],[811,4]]},"52":{"position":[[648,4],[717,4]]},"63":{"position":[[2584,4],[2674,4]]},"66":{"position":[[26,5],[213,4],[241,7],[314,4]]},"69":{"position":[[4993,7]]},"133":{"position":[[385,4]]},"304":{"position":[[3023,4],[3068,4],[3091,4],[4725,4]]},"324":{"position":[[3887,4]]},"347":{"position":[[1620,4],[1796,4]]},"355":{"position":[[794,4]]},"371":{"position":[[397,4]]},"496":{"position":[[335,6],[722,4],[751,4],[934,4],[965,6]]},"499":{"position":[[612,4],[782,4],[1114,4]]},"501":{"position":[[711,7],[989,7]]},"504":{"position":[[166,4],[493,4]]},"513":{"position":[[538,5]]},"514":{"position":[[11,4],[1491,7]]},"617":{"position":[[557,6]]},"621":{"position":[[5096,9]]},"634":{"position":[[36,5]]},"676":{"position":[[275,7],[498,4],[706,5],[1204,5]]},"680":{"position":[[53,4]]},"681":{"position":[[217,4],[280,4],[384,6],[422,6],[489,6],[1120,4],[1145,7],[1506,4],[1521,4],[1713,6]]},"682":{"position":[[887,4],[912,7]]},"683":{"position":[[205,4],[673,4],[698,7]]},"684":{"position":[[875,4]]},"685":{"position":[[14,4],[244,7],[732,4],[757,7]]},"686":{"position":[[226,7],[783,4],[808,7]]},"687":{"position":[[201,4],[340,7],[598,4],[623,7]]},"688":{"position":[[176,7],[528,4],[553,7],[853,4]]},"748":{"position":[[172,4]]},"758":{"position":[[123,5]]}},"keywords":{}}],["wait(<time>",{"_index":5118,"title":{},"content":{"681":{"position":[[439,18]]}},"keywords":{}}],["wait("<target",{"_index":5120,"title":{},"content":{"681":{"position":[[665,21]]}},"keywords":{}}],["wait("inst",{"_index":5126,"title":{},"content":{"681":{"position":[[1538,15],[1603,15],[1748,15],[1813,15]]}},"keywords":{}}],["wait(0.1",{"_index":5101,"title":{},"content":{"676":{"position":[[1001,9]]}},"keywords":{}}],["wait(1.5",{"_index":4376,"title":{},"content":{"499":{"position":[[949,9]]}},"keywords":{}}],["wait(5",{"_index":5127,"title":{},"content":{"681":{"position":[[1730,7]]}},"keywords":{}}],["wait_check",{"_index":2904,"title":{"685":{"position":[[0,11]]}},"content":{"304":{"position":[[1923,12]]},"478":{"position":[[228,13]]},"480":{"position":[[699,13],[780,13],[1106,15]]},"488":{"position":[[216,11]]},"504":{"position":[[103,12]]},"621":{"position":[[5163,15]]},"656":{"position":[[278,10]]},"681":{"position":[[319,10]]}},"keywords":{}}],["wait_check("#{target",{"_index":4192,"title":{},"content":{"476":{"position":[[2164,26],[2540,26]]}},"keywords":{}}],["wait_check("#{target_nam",{"_index":4381,"title":{},"content":{"500":{"position":[[423,31]]}},"keywords":{}}],["wait_check("<target",{"_index":5142,"title":{},"content":{"685":{"position":[[281,27]]}},"keywords":{}}],["wait_check("inst",{"_index":4215,"title":{},"content":{"478":{"position":[[321,21],[569,21]]},"685":{"position":[[1040,21],[1113,21],[1217,21],[1290,21]]}},"keywords":{}}],["wait_check("target",{"_index":4237,"title":{},"content":{"480":{"position":[[1468,23],[1526,23]]}},"keywords":{}}],["wait_check("tgt",{"_index":2200,"title":{},"content":{"224":{"position":[[928,20]]}},"keywords":{}}],["wait_check(f"inst",{"_index":2208,"title":{},"content":{"224":{"position":[[1383,22]]},"478":{"position":[[765,22]]}},"keywords":{}}],["wait_check(f"target",{"_index":4241,"title":{},"content":{"480":{"position":[[1748,24],[1806,24]]}},"keywords":{}}],["wait_check(f"{target",{"_index":4204,"title":{},"content":{"476":{"position":[[3080,26],[3450,26]]}},"keywords":{}}],["wait_check(f"{target_nam",{"_index":4384,"title":{},"content":{"500":{"position":[[602,31]]}},"keywords":{}}],["wait_check_express",{"_index":4387,"title":{"501":{"position":[[13,22]]},"687":{"position":[[0,22]]}},"content":{"501":{"position":[[12,21],[315,21]]},"658":{"position":[[236,21]]},"683":{"position":[[309,21]]}},"keywords":{}}],["wait_check_expression("<expression>"",{"_index":5145,"title":{},"content":{"687":{"position":[[377,53]]}},"keywords":{}}],["wait_check_expression("on",{"_index":4391,"title":{},"content":{"501":{"position":[[620,31],[764,31],[882,31],[1042,31]]}},"keywords":{}}],["wait_check_expression("tlm('inst",{"_index":5146,"title":{},"content":{"687":{"position":[[795,37]]}},"keywords":{}}],["wait_check_packet",{"_index":5137,"title":{"688":{"position":[[0,18]]}},"content":{"684":{"position":[[189,17]]}},"keywords":{}}],["wait_check_packet("<target>"",{"_index":5147,"title":{},"content":{"688":{"position":[[210,45]]}},"keywords":{}}],["wait_check_packet('inst",{"_index":5148,"title":{},"content":{"688":{"position":[[801,25]]}},"keywords":{}}],["wait_check_raw",{"_index":4728,"title":{},"content":{"621":{"position":[[5118,14]]}},"keywords":{}}],["wait_check_toler",{"_index":4403,"title":{"686":{"position":[[0,21]]}},"content":{"504":{"position":[[768,22]]},"621":{"position":[[5327,25]]},"657":{"position":[[177,20]]},"682":{"position":[[213,20]]}},"keywords":{}}],["wait_check_tolerance("<target",{"_index":5143,"title":{},"content":{"686":{"position":[[263,37]]}},"keywords":{}}],["wait_check_tolerance("inst",{"_index":5144,"title":{},"content":{"686":{"position":[[1091,31],[1178,31],[1296,31],[1383,31]]}},"keywords":{}}],["wait_check_tolerance_raw",{"_index":4731,"title":{},"content":{"621":{"position":[[5272,24]]}},"keywords":{}}],["wait_express",{"_index":5133,"title":{"683":{"position":[[0,16]]}},"content":{"683":{"position":[[259,15]]}},"keywords":{}}],["wait_expression("<expression>"",{"_index":5134,"title":{},"content":{"683":{"position":[[448,47]]}},"keywords":{}}],["wait_expression("tlm('inst",{"_index":5135,"title":{},"content":{"683":{"position":[[948,31]]}},"keywords":{}}],["wait_packet",{"_index":5136,"title":{"684":{"position":[[0,12]]}},"content":{"684":{"position":[[143,11]]}},"keywords":{}}],["wait_packet("<target>"",{"_index":5138,"title":{},"content":{"684":{"position":[[330,39]]}},"keywords":{}}],["wait_packet('inst",{"_index":5141,"title":{},"content":{"684":{"position":[[829,19]]}},"keywords":{}}],["wait_raw",{"_index":4727,"title":{},"content":{"621":{"position":[[5057,8]]}},"keywords":{}}],["wait_toler",{"_index":4730,"title":{"682":{"position":[[0,15]]}},"content":{"621":{"position":[[5240,19]]},"682":{"position":[[164,14]]}},"keywords":{}}],["wait_tolerance("<target",{"_index":5129,"title":{},"content":{"682":{"position":[[363,31]]}},"keywords":{}}],["wait_tolerance("inst",{"_index":5131,"title":{},"content":{"682":{"position":[[1274,25],[1355,25],[1481,25],[1562,25]]}},"keywords":{}}],["wait_tolerance_raw",{"_index":4729,"title":{},"content":{"621":{"position":[[5191,18]]}},"keywords":{}}],["walk",{"_index":1147,"title":{},"content":{"46":{"position":[[228,4]]}},"keywords":{}}],["want",{"_index":1146,"title":{},"content":{"46":{"position":[[165,4],[1139,4]]},"69":{"position":[[426,4]]},"83":{"position":[[1667,4]]},"85":{"position":[[17,4]]},"121":{"position":[[360,4]]},"131":{"position":[[217,4]]},"135":{"position":[[185,5]]},"227":{"position":[[1151,4],[1460,4],[3256,4]]},"231":{"position":[[930,4]]},"253":{"position":[[58,4]]},"267":{"position":[[8319,4]]},"293":{"position":[[82,5]]},"321":{"position":[[3722,4]]},"324":{"position":[[2869,4],[3545,4]]},"325":{"position":[[652,4]]},"333":{"position":[[8,4]]},"334":{"position":[[305,4],[852,4]]},"349":{"position":[[199,4]]},"359":{"position":[[366,5],[740,4],[1118,4]]},"362":{"position":[[5,4],[104,4],[423,4],[453,4],[520,4],[579,4]]},"429":{"position":[[176,4]]},"476":{"position":[[1890,4],[1973,4],[2804,4],[2888,4],[3935,4]]},"482":{"position":[[464,4]]},"488":{"position":[[844,4]]},"495":{"position":[[475,4],[761,4]]},"525":{"position":[[463,4],[643,4]]},"556":{"position":[[81,4]]},"564":{"position":[[179,4]]},"566":{"position":[[161,4]]},"578":{"position":[[1407,4],[1440,4]]},"585":{"position":[[649,4]]},"586":{"position":[[555,4]]},"605":{"position":[[427,5]]},"632":{"position":[[308,4]]},"737":{"position":[[187,4],[225,4]]},"752":{"position":[[569,4],[709,4]]}},"keywords":{}}],["warn",{"_index":108,"title":{},"content":{"3":{"position":[[404,8]]},"15":{"position":[[167,7]]},"16":{"position":[[171,7]]},"17":{"position":[[325,7]]},"18":{"position":[[330,7]]},"36":{"position":[[1207,8],[1293,7],[8985,7]]},"202":{"position":[[1207,8],[1293,7],[8985,7]]},"267":{"position":[[1202,8],[1288,7],[7108,7]]},"277":{"position":[[178,9]]},"280":{"position":[[105,7]]},"334":{"position":[[890,7]]},"384":{"position":[[240,7]]},"438":{"position":[[106,7]]},"514":{"position":[[814,4]]}},"keywords":{}}],["warning"",{"_index":3806,"title":{},"content":{"396":{"position":[[255,13]]}},"keywords":{}}],["warranti",{"_index":3612,"title":{},"content":{"359":{"position":[[637,8]]},"360":{"position":[[739,8],[816,10]]}},"keywords":{}}],["watch",{"_index":2865,"title":{},"content":{"302":{"position":[[613,5]]}},"keywords":{}}],["water",{"_index":3448,"title":{},"content":{"355":{"position":[[833,5]]}},"keywords":{}}],["watermark_processor.pi",{"_index":2696,"title":{},"content":{"276":{"position":[[517,22]]}},"keywords":{}}],["watermark_processor.rb",{"_index":2695,"title":{},"content":{"276":{"position":[[449,22]]}},"keywords":{}}],["way",{"_index":272,"title":{},"content":{"7":{"position":[[1112,3]]},"61":{"position":[[2706,3]]},"63":{"position":[[433,3]]},"95":{"position":[[77,3]]},"198":{"position":[[456,3],[676,3]]},"253":{"position":[[4234,3]]},"259":{"position":[[487,3],[703,3]]},"306":{"position":[[29,3],[259,5]]},"334":{"position":[[1298,3]]},"347":{"position":[[360,3]]},"349":{"position":[[67,3]]},"449":{"position":[[24,3]]},"461":{"position":[[1172,4]]},"479":{"position":[[55,4]]},"480":{"position":[[256,4]]},"482":{"position":[[28,4]]},"483":{"position":[[856,3]]},"488":{"position":[[293,4],[696,3],[1162,4]]},"490":{"position":[[126,4]]},"618":{"position":[[26,4]]},"658":{"position":[[705,3]]}},"keywords":{}}],["we'll",{"_index":1068,"title":{},"content":{"44":{"position":[[1422,5]]}},"keywords":{}}],["we'r",{"_index":2504,"title":{},"content":{"253":{"position":[[152,5]]},"256":{"position":[[48,5]]},"319":{"position":[[6,5]]},"327":{"position":[[1,5]]},"328":{"position":[[1571,5]]}},"keywords":{}}],["we'v",{"_index":4467,"title":{},"content":{"534":{"position":[[199,5]]}},"keywords":{}}],["web",{"_index":66,"title":{},"content":{"2":{"position":[[650,3]]},"22":{"position":[[344,4]]},"44":{"position":[[189,3],[1920,3]]},"64":{"position":[[272,3]]},"117":{"position":[[18,3]]},"184":{"position":[[84,3]]},"235":{"position":[[1015,3]]},"251":{"position":[[84,3]]},"293":{"position":[[11,3]]},"298":{"position":[[741,3]]},"299":{"position":[[211,3],[323,3]]},"347":{"position":[[2599,3]]},"353":{"position":[[81,3],[145,3]]},"359":{"position":[[480,3],[856,3]]},"469":{"position":[[144,3],[310,3]]},"528":{"position":[[457,3],[702,3]]}},"keywords":{}}],["webpag",{"_index":4500,"title":{},"content":{"566":{"position":[[88,7]]}},"keywords":{}}],["websecur",{"_index":499,"title":{},"content":{"22":{"position":[[420,9],[448,10]]}},"keywords":{}}],["webserv",{"_index":2443,"title":{},"content":{"240":{"position":[[1396,9]]}},"keywords":{}}],["websit",{"_index":2498,"title":{"469":{"position":[[53,10]]}},"content":{"250":{"position":[[398,7]]},"462":{"position":[[252,7]]},"467":{"position":[[213,8],[1375,8],[1497,9]]},"469":{"position":[[67,7]]},"517":{"position":[[710,7],[793,7]]}},"keywords":{}}],["websocket",{"_index":1076,"title":{},"content":{"44":{"position":[[1721,9]]},"227":{"position":[[440,10],[628,10],[1015,9]]}},"keywords":{}}],["wed",{"_index":984,"title":{},"content":{"43":{"position":[[1261,4],[6553,4]]}},"keywords":{}}],["weird",{"_index":3232,"title":{},"content":{"329":{"position":[[69,5]]}},"keywords":{}}],["welcom",{"_index":1159,"title":{},"content":{"46":{"position":[[604,8],[1768,8]]}},"keywords":{}}],["well",{"_index":54,"title":{},"content":{"2":{"position":[[416,4],[548,4]]},"69":{"position":[[894,4]]},"83":{"position":[[2103,4]]},"97":{"position":[[106,4]]},"119":{"position":[[23,4]]},"230":{"position":[[591,4]]},"231":{"position":[[689,4]]},"257":{"position":[[1321,4],[1578,4]]},"297":{"position":[[795,4]]},"298":{"position":[[507,4],[639,4]]},"347":{"position":[[2086,5]]},"359":{"position":[[1682,4]]},"363":{"position":[[54,4],[1338,4]]},"364":{"position":[[539,4]]},"466":{"position":[[158,4]]},"486":{"position":[[202,6]]},"505":{"position":[[1181,4]]},"516":{"position":[[231,4]]},"517":{"position":[[527,4]]},"603":{"position":[[54,4]]}},"keywords":{}}],["went",{"_index":2662,"title":{},"content":{"267":{"position":[[8037,4]]},"302":{"position":[[593,4]]}},"keywords":{}}],["whatev",{"_index":1924,"title":{},"content":{"121":{"position":[[341,8]]},"293":{"position":[[69,8]]},"324":{"position":[[2548,9],[3754,8]]},"476":{"position":[[4724,8]]},"612":{"position":[[1248,8]]}},"keywords":{}}],["wheel",{"_index":4494,"title":{},"content":{"559":{"position":[[81,5]]}},"keywords":{}}],["whether",{"_index":1297,"title":{},"content":{"56":{"position":[[342,7]]},"58":{"position":[[825,7],[901,7]]},"59":{"position":[[996,7]]},"60":{"position":[[1393,7],[1465,7],[1544,7]]},"62":{"position":[[751,7],[1297,7]]},"63":{"position":[[1935,7],[2481,7],[2735,7]]},"66":{"position":[[375,7]]},"67":{"position":[[250,7],[1002,7],[1120,7]]},"71":{"position":[[209,7]]},"134":{"position":[[404,7]]},"191":{"position":[[23,7],[176,7]]},"267":{"position":[[8707,7]]},"304":{"position":[[405,7]]},"360":{"position":[[1009,7]]},"418":{"position":[[279,7],[1006,7]]},"419":{"position":[[313,7],[1059,7]]},"420":{"position":[[297,7],[1031,7]]},"429":{"position":[[1383,7]]},"514":{"position":[[216,7],[891,7]]},"534":{"position":[[49,7]]},"546":{"position":[[159,7]]},"584":{"position":[[392,7]]},"623":{"position":[[403,7],[548,7]]},"624":{"position":[[369,7],[514,7]]},"628":{"position":[[371,7]]},"644":{"position":[[242,7],[313,7]]},"651":{"position":[[31,7]]},"681":{"position":[[615,7],[1435,7]]},"682":{"position":[[313,7],[1202,7]]},"683":{"position":[[398,7],[868,7]]},"684":{"position":[[288,7],[749,7]]},"688":{"position":[[721,7]]},"690":{"position":[[60,7]]},"700":{"position":[[1829,7]]},"716":{"position":[[368,7],[463,7],[560,7]]},"718":{"position":[[495,7]]},"728":{"position":[[499,7]]},"774":{"position":[[240,7]]},"775":{"position":[[244,7]]}},"keywords":{}}],["whichev",{"_index":2766,"title":{},"content":{"289":{"position":[[547,9]]},"465":{"position":[[352,9]]}},"keywords":{}}],["white",{"_index":3741,"title":{},"content":{"373":{"position":[[831,5],[912,5]]},"403":{"position":[[158,5],[251,5]]},"427":{"position":[[49,5],[142,5]]},"476":{"position":[[309,5]]}},"keywords":{}}],["whitespac",{"_index":312,"title":{},"content":{"9":{"position":[[1035,10]]}},"keywords":{}}],["whole",{"_index":3605,"title":{},"content":{"359":{"position":[[208,5],[525,5]]},"360":{"position":[[204,5]]}},"keywords":{}}],["wide",{"_index":3459,"title":{},"content":{"356":{"position":[[573,4]]},"400":{"position":[[225,4]]},"403":{"position":[[769,4]]},"406":{"position":[[354,4]]},"407":{"position":[[500,4]]},"408":{"position":[[374,4]]},"409":{"position":[[377,4]]},"410":{"position":[[651,4]]},"415":{"position":[[343,4]]},"416":{"position":[[346,4]]},"417":{"position":[[620,4]]},"427":{"position":[[582,4]]},"540":{"position":[[203,5]]}},"keywords":{}}],["widespread",{"_index":4222,"title":{},"content":{"480":{"position":[[3,10]]}},"keywords":{}}],["widget",{"_index":2109,"title":{"194":{"position":[[0,7]]},"195":{"position":[[0,6]]},"234":{"position":[[0,6]]},"326":{"position":[[7,7]]},"327":{"position":[[7,8]]},"328":{"position":[[11,7]]},"368":{"position":[[4,8]]},"385":{"position":[[7,8]]},"395":{"position":[[11,8]]},"400":{"position":[[10,8]]},"428":{"position":[[12,8]]},"437":{"position":[[7,8]]}},"content":{"194":{"position":[[17,6],[42,6],[154,6],[197,6],[233,6],[354,7],[415,6],[501,6]]},"195":{"position":[[38,6]]},"196":{"position":[[80,6]]},"230":{"position":[[2163,7]]},"234":{"position":[[67,6],[147,6],[225,6],[295,6],[322,6],[396,6],[420,6],[529,7],[709,6],[899,7],[908,6]]},"235":{"position":[[588,6]]},"306":{"position":[[194,7]]},"327":{"position":[[77,6],[180,8],[190,6],[201,6],[293,8],[314,6],[342,6],[575,7]]},"328":{"position":[[16,6],[181,6],[240,6],[340,9],[440,6],[579,8],[647,6],[1587,8],[1872,7]]},"366":{"position":[[25,6],[247,7]]},"367":{"position":[[152,6]]},"368":{"position":[[242,7],[382,7],[413,7]]},"370":{"position":[[33,6],[52,7]]},"372":{"position":[[11,6],[33,7],[133,7]]},"373":{"position":[[11,6],[36,7],[94,7],[310,7],[397,7],[457,7],[489,7],[571,7]]},"374":{"position":[[11,6],[52,6],[126,7],[335,6],[425,8],[480,7],[562,7]]},"375":{"position":[[10,6]]},"376":{"position":[[10,6]]},"377":{"position":[[10,6]]},"378":{"position":[[10,6]]},"379":{"position":[[55,6]]},"380":{"position":[[49,6]]},"381":{"position":[[60,6]]},"383":{"position":[[11,6],[55,6],[94,7],[310,7],[397,7],[457,7],[489,7],[645,7]]},"384":{"position":[[8,6],[144,7],[230,8],[275,6],[347,6],[438,6],[493,6],[516,6],[539,6],[564,6],[618,6]]},"385":{"position":[[10,7],[45,7],[103,6],[121,7]]},"386":{"position":[[12,7],[106,7],[133,7],[195,7],[216,6],[310,7]]},"387":{"position":[[12,7],[85,6],[285,7]]},"388":{"position":[[12,7],[65,6],[158,7]]},"389":{"position":[[12,7],[89,6],[243,7]]},"390":{"position":[[12,7],[66,6],[204,7]]},"391":{"position":[[12,7],[74,6],[265,7]]},"392":{"position":[[49,7]]},"393":{"position":[[51,7]]},"394":{"position":[[153,6],[187,6]]},"395":{"position":[[14,7]]},"396":{"position":[[47,7],[127,7]]},"399":{"position":[[39,7]]},"400":{"position":[[13,7],[97,7],[243,7]]},"401":{"position":[[206,6],[256,6]]},"402":{"position":[[206,6],[256,6]]},"408":{"position":[[69,7]]},"409":{"position":[[72,7]]},"410":{"position":[[68,7]]},"428":{"position":[[15,7],[80,8],[150,7]]},"429":{"position":[[218,8],[248,7]]},"437":{"position":[[10,7]]},"438":{"position":[[8,6],[36,7],[56,7],[97,7]]},"588":{"position":[[163,8]]},"594":{"position":[[85,7]]}},"keywords":{}}],["widgetname_widget.rb",{"_index":3721,"title":{},"content":{"368":{"position":[[135,20]]}},"keywords":{}}],["widgetnamewidget",{"_index":3722,"title":{},"content":{"368":{"position":[[192,17]]}},"keywords":{}}],["width",{"_index":3724,"title":{"375":{"position":[[0,6]]}},"content":{"369":{"position":[[229,5]]},"375":{"position":[[17,5],[24,5],[129,5],[242,5],[292,5]]},"382":{"position":[[105,6]]},"394":{"position":[[134,5],[140,5]]},"399":{"position":[[84,5]]},"401":{"position":[[187,5],[193,5]]},"402":{"position":[[187,5],[193,5]]},"404":{"position":[[287,5],[293,5]]},"405":{"position":[[351,5],[357,5]]},"410":{"position":[[699,5],[705,5]]},"411":{"position":[[595,5],[601,5]]},"412":{"position":[[324,5],[330,5]]},"413":{"position":[[322,5],[328,5]]},"417":{"position":[[668,5],[674,5]]},"418":{"position":[[2027,5]]},"419":{"position":[[2080,5]]},"420":{"position":[[2052,5]]},"422":{"position":[[359,5],[365,5]]},"423":{"position":[[584,5],[590,5]]},"426":{"position":[[167,5],[173,5]]},"435":{"position":[[100,5]]},"438":{"position":[[232,5]]},"442":{"position":[[777,5],[783,5]]},"443":{"position":[[371,5],[377,5]]},"444":{"position":[[549,5],[555,5]]},"601":{"position":[[579,5],[633,5]]}},"keywords":{}}],["wifi",{"_index":3329,"title":{},"content":{"347":{"position":[[987,4],[1186,4]]}},"keywords":{}}],["wiget",{"_index":3743,"title":{},"content":{"374":{"position":[[442,5]]}},"keywords":{}}],["win64",{"_index":1057,"title":{},"content":{"44":{"position":[[1145,6]]}},"keywords":{}}],["window",{"_index":1054,"title":{"188":{"position":[[0,7]]},"593":{"position":[[7,6]]},"601":{"position":[[6,6]]}},"content":{"44":{"position":[[1127,8]]},"51":{"position":[[693,9]]},"52":{"position":[[96,7]]},"83":{"position":[[588,7]]},"84":{"position":[[1218,6]]},"85":{"position":[[898,8]]},"188":{"position":[[48,6]]},"253":{"position":[[161,7]]},"289":{"position":[[235,7],[475,7],[531,7],[578,7],[701,7],[725,7],[1322,7]]},"291":{"position":[[1346,8],[1355,7]]},"292":{"position":[[114,7],[361,10]]},"313":{"position":[[159,7]]},"344":{"position":[[411,7]]},"347":{"position":[[1880,6],[1969,8],[2046,7]]},"357":{"position":[[196,7],[831,7],[1079,7],[1106,7],[2570,7],[2597,7],[4245,7],[4263,7],[4492,7]]},"366":{"position":[[212,6]]},"391":{"position":[[204,6]]},"507":{"position":[[432,8]]},"538":{"position":[[185,6]]},"541":{"position":[[374,6]]},"542":{"position":[[402,6]]},"584":{"position":[[500,6]]},"593":{"position":[[45,6],[442,7],[733,7]]},"599":{"position":[[254,7],[465,6]]},"601":{"position":[[44,6],[261,6],[600,7],[783,7]]}},"keywords":{}}],["window.openc3scop",{"_index":2271,"title":{},"content":{"227":{"position":[[2656,19],[3659,19]]}},"keywords":{}}],["winver",{"_index":2768,"title":{},"content":{"289":{"position":[[611,6]]}},"keywords":{}}],["wish",{"_index":113,"title":{},"content":{"3":{"position":[[475,4]]},"675":{"position":[[282,6]]}},"keywords":{}}],["with_unit",{"_index":2287,"title":{},"content":{"227":{"position":[[3206,11],[4124,11]]},"308":{"position":[[564,11]]},"401":{"position":[[534,10],[677,10]]},"402":{"position":[[721,10]]},"403":{"position":[[706,10]]},"404":{"position":[[270,10]]},"405":{"position":[[518,10]]},"406":{"position":[[291,10]]},"407":{"position":[[437,10]]},"408":{"position":[[311,10]]},"409":{"position":[[314,10]]},"410":{"position":[[588,10]]},"411":{"position":[[578,10]]},"412":{"position":[[307,10]]},"413":{"position":[[305,10]]},"414":{"position":[[291,10]]},"415":{"position":[[280,10]]},"416":{"position":[[283,10]]},"417":{"position":[[557,10]]},"422":{"position":[[528,10]]},"423":{"position":[[567,10]]},"427":{"position":[[519,10]]},"440":{"position":[[552,10],[710,10]]},"442":{"position":[[482,10]]},"444":{"position":[[710,10]]},"652":{"position":[[594,11]]},"660":{"position":[[505,10]]},"662":{"position":[[572,10]]},"669":{"position":[[631,10]]},"670":{"position":[[516,10]]},"671":{"position":[[510,10]]},"672":{"position":[[328,10]]},"673":{"position":[[1816,13]]},"681":{"position":[[1361,10]]},"682":{"position":[[1128,10]]},"685":{"position":[[973,10]]},"686":{"position":[[1024,10]]}},"keywords":{}}],["within",{"_index":643,"title":{},"content":{"35":{"position":[[116,6]]},"37":{"position":[[116,6]]},"60":{"position":[[902,6]]},"63":{"position":[[711,6],[824,6],[1199,6]]},"69":{"position":[[1610,6]]},"99":{"position":[[4858,6]]},"118":{"position":[[61,6]]},"188":{"position":[[220,6]]},"201":{"position":[[133,6]]},"203":{"position":[[133,6]]},"204":{"position":[[356,6]]},"205":{"position":[[356,6]]},"206":{"position":[[150,6]]},"207":{"position":[[150,6]]},"253":{"position":[[2125,6]]},"259":{"position":[[1034,6]]},"266":{"position":[[136,6]]},"267":{"position":[[8626,6]]},"268":{"position":[[136,6]]},"269":{"position":[[306,6]]},"270":{"position":[[136,6]]},"271":{"position":[[153,6]]},"272":{"position":[[153,6]]},"386":{"position":[[170,6]]},"387":{"position":[[222,6]]},"389":{"position":[[180,6]]},"394":{"position":[[34,6]]},"412":{"position":[[34,6]]},"413":{"position":[[34,6]]},"438":{"position":[[81,6]]},"485":{"position":[[101,6]]},"501":{"position":[[447,6]]},"528":{"position":[[656,6]]},"578":{"position":[[234,6],[522,6]]},"603":{"position":[[104,6]]},"611":{"position":[[845,6]]},"682":{"position":[[120,6]]},"686":{"position":[[114,6]]},"738":{"position":[[85,6]]},"739":{"position":[[308,6]]},"740":{"position":[[225,6]]},"742":{"position":[[238,6]]},"744":{"position":[[278,6]]},"745":{"position":[[373,6]]},"746":{"position":[[429,6]]},"769":{"position":[[100,6]]}},"keywords":{}}],["without",{"_index":302,"title":{},"content":{"9":{"position":[[451,7],[631,7]]},"20":{"position":[[1185,7]]},"103":{"position":[[414,7]]},"188":{"position":[[119,7]]},"192":{"position":[[130,7]]},"253":{"position":[[5681,7]]},"269":{"position":[[81,7]]},"277":{"position":[[170,7]]},"304":{"position":[[4350,7],[5902,8],[6069,8],[6217,8],[6347,8],[6509,8],[6893,8]]},"324":{"position":[[306,7]]},"341":{"position":[[35,7]]},"360":{"position":[[485,7],[731,7]]},"363":{"position":[[710,7]]},"364":{"position":[[1079,7]]},"368":{"position":[[277,7]]},"449":{"position":[[421,7]]},"459":{"position":[[1193,7]]},"467":{"position":[[54,7],[1082,7]]},"483":{"position":[[92,7]]},"484":{"position":[[194,7]]},"487":{"position":[[464,7]]},"492":{"position":[[93,7],[350,7],[779,7]]},"496":{"position":[[88,7]]},"505":{"position":[[688,7]]},"508":{"position":[[377,7]]},"514":{"position":[[144,7]]},"540":{"position":[[363,7]]},"577":{"position":[[408,7]]},"593":{"position":[[650,7]]},"601":{"position":[[950,7]]},"612":{"position":[[290,7]]},"637":{"position":[[27,7]]},"638":{"position":[[27,7]]},"639":{"position":[[27,7]]},"640":{"position":[[27,7]]},"641":{"position":[[27,7]]},"642":{"position":[[27,7]]},"643":{"position":[[27,7]]},"758":{"position":[[248,7]]}},"keywords":{}}],["wizard",{"_index":101,"title":{},"content":{"3":{"position":[[282,7]]}},"keywords":{}}],["won't",{"_index":1844,"title":{},"content":{"103":{"position":[[496,5]]},"259":{"position":[[1596,5]]}},"keywords":{}}],["wonder",{"_index":4288,"title":{},"content":{"487":{"position":[[343,9]]}},"keywords":{}}],["word",{"_index":711,"title":{},"content":{"36":{"position":[[2878,4]]},"61":{"position":[[1587,6]]},"69":{"position":[[1775,4]]},"202":{"position":[[2878,4]]},"267":{"position":[[2090,4]]},"338":{"position":[[838,4]]},"402":{"position":[[372,4],[397,4],[422,5],[446,5]]}},"keywords":{}}],["work",{"_index":307,"title":{"313":{"position":[[0,7]]}},"content":{"9":{"position":[[783,4]]},"24":{"position":[[515,4]]},"46":{"position":[[345,7],[836,7]]},"63":{"position":[[222,5]]},"69":{"position":[[1568,5],[3556,5]]},"103":{"position":[[502,5]]},"138":{"position":[[24,7],[44,7],[263,7]]},"174":{"position":[[9,7],[28,7],[247,7]]},"253":{"position":[[410,7]]},"259":{"position":[[1602,5]]},"291":{"position":[[39,4],[783,4]]},"324":{"position":[[669,4],[724,4]]},"329":{"position":[[137,4]]},"347":{"position":[[2078,4]]},"359":{"position":[[1676,5]]},"360":{"position":[[310,4],[1263,4]]},"363":{"position":[[287,4]]},"449":{"position":[[40,4]]},"478":{"position":[[143,6],[1016,6]]},"487":{"position":[[160,4]]},"505":{"position":[[1175,5]]},"516":{"position":[[182,5]]},"605":{"position":[[653,5]]}},"keywords":{}}],["work_dir",{"_index":1995,"title":{"138":{"position":[[0,9]]},"174":{"position":[[0,9]]}},"content":{"138":{"position":[[463,8]]},"174":{"position":[[483,8]]}},"keywords":{}}],["workaround",{"_index":2810,"title":{},"content":{"291":{"position":[[969,10]]},"324":{"position":[[812,11]]}},"keywords":{}}],["workdir",{"_index":3018,"title":{},"content":{"318":{"position":[[379,7],[652,7]]}},"keywords":{}}],["worker",{"_index":4463,"title":{},"content":{"528":{"position":[[1332,7],[1587,6]]}},"keywords":{}}],["workflow",{"_index":4008,"title":{"449":{"position":[[0,9]]}},"content":{},"keywords":{}}],["workspac",{"_index":1565,"title":{},"content":{"83":{"position":[[241,9]]}},"keywords":{}}],["world",{"_index":3611,"title":{},"content":{"359":{"position":[[531,6]]},"364":{"position":[[1029,5]]}},"keywords":{}}],["worri",{"_index":2534,"title":{},"content":{"253":{"position":[[3457,5]]},"364":{"position":[[922,5]]},"492":{"position":[[797,5]]}},"keywords":{}}],["worth",{"_index":1460,"title":{},"content":{"69":{"position":[[2187,5]]},"517":{"position":[[634,5]]}},"keywords":{}}],["wrap",{"_index":4347,"title":{},"content":{"496":{"position":[[364,7]]}},"keywords":{}}],["wrappergroup",{"_index":5487,"title":{},"content":{"754":{"position":[[1189,12]]}},"keywords":{}}],["wrappergroup(group",{"_index":5492,"title":{},"content":{"754":{"position":[[1733,20]]}},"keywords":{}}],["write",{"_index":209,"title":{"473":{"position":[[7,7]]}},"content":{"6":{"position":[[308,5]]},"20":{"position":[[1264,5],[1395,5]]},"36":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7779,5],[8459,5],[8552,5],[8635,5],[8694,5],[9606,5],[9657,7],[9741,5],[9796,7],[10198,5]]},"49":{"position":[[287,5],[306,5],[467,5],[518,5],[534,5],[594,5]]},"50":{"position":[[294,5],[405,5],[421,5],[481,5]]},"51":{"position":[[200,5],[331,5],[703,5],[763,5]]},"52":{"position":[[275,6],[338,8],[495,5],[613,5],[673,5]]},"53":{"position":[[67,6]]},"54":{"position":[[2621,5],[2833,5],[2984,6],[3068,5],[3488,5]]},"58":{"position":[[879,5],[941,6]]},"62":{"position":[[516,5],[528,7]]},"63":{"position":[[1341,5],[1353,7]]},"69":{"position":[[800,7],[1651,5],[3541,7],[3626,5],[3775,7],[3855,5],[3895,5],[4079,5],[4317,5],[4497,5],[5022,7]]},"79":{"position":[[590,7]]},"90":{"position":[[389,7]]},"99":{"position":[[1450,7],[1642,7]]},"133":{"position":[[518,5]]},"134":{"position":[[102,6],[187,5],[285,8],[495,6]]},"198":{"position":[[1273,6]]},"202":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7779,5],[8459,5],[8552,5],[8635,5],[8694,5],[9606,5],[9657,7],[9741,5],[9796,7],[10198,5]]},"210":{"position":[[156,7]]},"215":{"position":[[52,5]]},"251":{"position":[[215,5]]},"253":{"position":[[7801,7],[7845,5]]},"278":{"position":[[225,7]]},"279":{"position":[[52,5]]},"297":{"position":[[748,5]]},"304":{"position":[[2952,5]]},"338":{"position":[[436,5],[679,5]]},"347":{"position":[[367,5]]},"475":{"position":[[42,7]]},"476":{"position":[[96,7],[1099,7]]},"478":{"position":[[871,5]]},"496":{"position":[[46,5]]},"499":{"position":[[6,7]]},"534":{"position":[[500,7]]},"605":{"position":[[904,7]]},"616":{"position":[[284,7]]},"617":{"position":[[1023,7],[1057,7]]},"629":{"position":[[1,6]]},"632":{"position":[[316,5]]},"644":{"position":[[324,5]]},"658":{"position":[[712,5]]},"718":{"position":[[532,5],[570,6]]},"728":{"position":[[536,5],[574,6]]}},"keywords":{}}],["write_convers",{"_index":740,"title":{},"content":{"36":{"position":[[3953,17],[5416,16],[5751,16],[9095,16],[9121,16]]},"202":{"position":[[3953,17],[5416,16],[5751,16],[9095,16],[9121,16]]}},"keywords":{}}],["write_data",{"_index":1481,"title":{"78":{"position":[[0,11]]}},"content":{"69":{"position":[[4458,12],[4703,12]]},"78":{"position":[[5,10]]}},"keywords":{}}],["write_data(data",{"_index":1531,"title":{},"content":{"78":{"position":[[675,16]]}},"keywords":{}}],["write_data(self",{"_index":1532,"title":{},"content":{"78":{"position":[[749,16]]}},"keywords":{}}],["write_dest_port",{"_index":3045,"title":{},"content":{"320":{"position":[[914,15]]}},"keywords":{}}],["write_interfac",{"_index":1483,"title":{},"content":{"69":{"position":[[4775,17]]}},"keywords":{}}],["write_packet",{"_index":1477,"title":{"77":{"position":[[0,13]]}},"content":{"69":{"position":[[3956,14],[4334,14]]},"77":{"position":[[5,12]]},"79":{"position":[[325,14]]}},"keywords":{}}],["write_packet(packet",{"_index":1529,"title":{},"content":{"77":{"position":[[678,20]]}},"keywords":{}}],["write_packet(self",{"_index":1530,"title":{},"content":{"77":{"position":[[758,18]]}},"keywords":{}}],["write_port_nam",{"_index":3265,"title":{},"content":{"338":{"position":[[468,15],[1201,15]]}},"keywords":{}}],["write_src_port",{"_index":3047,"title":{},"content":{"320":{"position":[[940,14]]}},"keywords":{}}],["write_timeout",{"_index":3049,"title":{},"content":{"320":{"position":[[977,13]]},"338":{"position":[[702,13],[1324,13]]}},"keywords":{}}],["writer",{"_index":4171,"title":{},"content":{"476":{"position":[[1013,6]]}},"keywords":{}}],["writeup",{"_index":3690,"title":{},"content":{"363":{"position":[[1297,7]]}},"keywords":{}}],["written",{"_index":751,"title":{},"content":{"36":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6251,7],[6882,7],[7946,7],[8121,7],[8539,7],[8620,7],[8794,8],[10163,8]]},"59":{"position":[[474,7]]},"69":{"position":[[4123,7],[4736,7],[4926,7]]},"77":{"position":[[338,7]]},"78":{"position":[[83,7],[337,7]]},"79":{"position":[[63,7],[371,7]]},"202":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6251,7],[6882,7],[7946,7],[8121,7],[8539,7],[8620,7],[8794,8],[10163,8]]},"246":{"position":[[24,7]]},"251":{"position":[[122,7]]},"298":{"position":[[1252,7],[1498,7]]},"304":{"position":[[2857,7]]},"474":{"position":[[234,7]]},"480":{"position":[[33,7]]},"616":{"position":[[194,7]]}},"keywords":{}}],["wrong",{"_index":4389,"title":{"503":{"position":[[15,6]]}},"content":{"501":{"position":[[173,6]]},"502":{"position":[[112,6]]}},"keywords":{}}],["wsl",{"_index":3584,"title":{},"content":{"357":{"position":[[4300,3]]}},"keywords":{}}],["wsl2",{"_index":2764,"title":{},"content":{"289":{"position":[[488,5],[494,4],[868,6]]}},"keywords":{}}],["wslconfig",{"_index":3489,"title":{},"content":{"357":{"position":[[881,10]]}},"keywords":{}}],["wslg",{"_index":3588,"title":{},"content":{"357":{"position":[[4347,4]]}},"keywords":{}}],["www",{"_index":954,"title":{},"content":{"43":{"position":[[457,3]]},"87":{"position":[[208,3]]}},"keywords":{}}],["x",{"_index":790,"title":{},"content":{"36":{"position":[[6464,3],[7260,3]]},"42":{"position":[[491,1],[735,1],[786,1]]},"43":{"position":[[588,1],[1163,1],[1195,1],[1223,1],[6244,1],[6476,1],[6527,1]]},"44":{"position":[[797,1],[2571,1]]},"202":{"position":[[6464,3],[7260,3]]},"226":{"position":[[2398,3],[2439,1],[2482,1]]},"267":{"position":[[5003,3],[5861,3]]},"324":{"position":[[1879,2]]},"439":{"position":[[70,1]]},"440":{"position":[[205,1],[216,1]]},"441":{"position":[[172,1],[183,1]]},"442":{"position":[[613,1],[624,1],[1452,1],[1463,1]]},"443":{"position":[[67,1],[78,1],[209,1],[220,1]]},"444":{"position":[[275,1],[286,1],[417,1],[428,1]]},"445":{"position":[[71,1]]},"487":{"position":[[1008,1],[1482,1]]},"488":{"position":[[2488,1]]},"578":{"position":[[726,3],[909,3]]},"593":{"position":[[768,1]]},"601":{"position":[[995,1]]},"636":{"position":[[909,2],[1024,2]]},"637":{"position":[[1131,2],[1246,2]]},"638":{"position":[[1152,2],[1267,2]]},"639":{"position":[[1185,2],[1300,2]]},"640":{"position":[[985,2],[1100,2]]},"641":{"position":[[1202,2],[1317,2]]},"642":{"position":[[1223,2],[1338,2]]},"643":{"position":[[1256,2],[1371,2]]},"644":{"position":[[417,1],[492,1],[976,1]]},"739":{"position":[[336,1],[347,1]]},"746":{"position":[[509,1],[520,1],[682,2]]},"752":{"position":[[683,1]]}},"keywords":{}}],["x.509",{"_index":450,"title":{},"content":{"20":{"position":[[981,5]]}},"keywords":{}}],["x.x.x",{"_index":2338,"title":{},"content":{"229":{"position":[[1352,5]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":4877,"title":{},"content":{"644":{"position":[[1316,31]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":4872,"title":{},"content":{"644":{"position":[[921,35]]}},"keywords":{}}],["x509",{"_index":412,"title":{},"content":{"20":{"position":[[347,4]]},"25":{"position":[[44,4]]}},"keywords":{}}],["x64",{"_index":1058,"title":{},"content":{"44":{"position":[[1152,4]]}},"keywords":{}}],["x86_64",{"_index":3160,"title":{},"content":{"324":{"position":[[1790,6]]}},"keywords":{}}],["xmlaccessor",{"_index":2167,"title":{},"content":{"215":{"position":[[261,12]]},"279":{"position":[[261,12]]}},"keywords":{}}],["xor",{"_index":1429,"title":{},"content":{"67":{"position":[[998,3],[1013,3]]}},"keywords":{}}],["xpath",{"_index":688,"title":{},"content":{"36":{"position":[[1423,5]]},"202":{"position":[[1423,5]]},"267":{"position":[[1418,5]]}},"keywords":{}}],["xss",{"_index":982,"title":{},"content":{"43":{"position":[[1225,3]]}},"keywords":{}}],["xtce",{"_index":4020,"title":{"450":{"position":[[0,4]]},"451":{"position":[[24,5]]},"452":{"position":[[13,5]]},"453":{"position":[[37,5]]}},"content":{"451":{"position":[[10,5],[191,5]]},"452":{"position":[[40,5]]},"453":{"position":[[62,5],[105,5]]},"454":{"position":[[286,5]]}},"keywords":{}}],["xtce_convert",{"_index":4021,"title":{},"content":{"452":{"position":[[201,14]]},"453":{"position":[[200,14]]}},"keywords":{}}],["xusp",{"_index":4044,"title":{},"content":{"457":{"position":[[264,4]]}},"keywords":{}}],["xx",{"_index":422,"title":{},"content":{"20":{"position":[[482,6]]}},"keywords":{}}],["xxx",{"_index":3220,"title":{},"content":{"328":{"position":[[741,3]]}},"keywords":{}}],["y",{"_index":3014,"title":{},"content":{"318":{"position":[[270,1],[310,1]]},"347":{"position":[[2265,1]]},"439":{"position":[[137,1],[148,1]]},"440":{"position":[[283,1],[294,1]]},"441":{"position":[[251,1],[262,1]]},"442":{"position":[[692,1],[703,1],[1531,1],[1542,1]]},"443":{"position":[[139,1],[150,1],[277,1],[288,1]]},"444":{"position":[[347,1],[358,1],[485,1],[496,1]]},"445":{"position":[[98,1],[109,1]]},"487":{"position":[[1005,2],[1012,1],[1471,3],[1486,1]]},"495":{"position":[[519,3],[537,3],[805,3],[823,4]]},"599":{"position":[[1110,1],[1120,1],[1175,1],[1185,1]]},"739":{"position":[[405,1],[416,1]]},"746":{"position":[[578,1],[589,1],[685,1]]}},"keywords":{}}],["y%m%d",{"_index":3377,"title":{},"content":{"350":{"position":[[406,6],[736,6],[1058,6]]}},"keywords":{}}],["y/n)?"",{"_index":4336,"title":{},"content":{"495":{"position":[[492,13],[778,13]]}},"keywords":{}}],["yaml",{"_index":2451,"title":{},"content":{"241":{"position":[[123,4]]}},"keywords":{}}],["yarn",{"_index":1570,"title":{},"content":{"83":{"position":[[434,4]]},"84":{"position":[[126,4],[146,4],[307,4],[961,4],[1213,4]]},"102":{"position":[[9,4],[35,4],[183,4]]},"103":{"position":[[251,4],[528,4],[585,4]]},"235":{"position":[[1423,4]]},"328":{"position":[[691,4],[732,4]]}},"keywords":{}}],["ye",{"_index":1199,"title":{},"content":{"49":{"position":[[283,3],[405,3],[530,3],[600,3],[703,3]]},"50":{"position":[[343,3],[417,3],[487,3],[590,3]]},"51":{"position":[[196,3],[263,3],[327,3]]},"52":{"position":[[347,3],[459,3],[501,3],[566,3],[609,3],[679,3],[782,3]]},"60":{"position":[[937,3]]},"62":{"position":[[592,3],[724,3]]},"63":{"position":[[1417,3],[1549,3]]},"68":{"position":[[199,3],[255,3]]},"347":{"position":[[1595,3]]},"534":{"position":[[405,3]]},"658":{"position":[[578,5],[603,3],[610,5],[663,3],[825,5],[854,5],[863,5]]}},"keywords":{}}],["year",{"_index":459,"title":{},"content":{"20":{"position":[[1123,6]]},"362":{"position":[[18,5]]}},"keywords":{}}],["yearli",{"_index":3654,"title":{},"content":{"361":{"position":[[403,6]]}},"keywords":{}}],["yellow",{"_index":2651,"title":{},"content":{"267":{"position":[[2539,7],[2851,6],[9027,6],[9142,6],[9185,6],[9302,6]]},"285":{"position":[[1124,6]]},"411":{"position":[[831,6]]},"544":{"position":[[157,7]]},"568":{"position":[[197,7]]},"575":{"position":[[137,6]]},"578":{"position":[[95,6],[170,6],[309,6]]},"700":{"position":[[815,6],[826,6],[940,7],[948,6],[960,6],[1073,7]]},"702":{"position":[[74,9]]}},"keywords":{}}],["yes'"",{"_index":4988,"title":{},"content":{"658":{"position":[[541,12],[788,12]]}},"keywords":{}}],["you'll",{"_index":1568,"title":{},"content":{"83":{"position":[[406,6]]},"249":{"position":[[212,6]]},"327":{"position":[[154,6]]},"328":{"position":[[1560,6]]},"332":{"position":[[255,6]]},"347":{"position":[[193,6]]},"429":{"position":[[579,6]]},"448":{"position":[[41,6]]},"479":{"position":[[263,6]]},"610":{"position":[[248,6]]}},"keywords":{}}],["you'r",{"_index":1474,"title":{},"content":{"69":{"position":[[3724,6],[3783,6]]},"83":{"position":[[1623,6]]},"253":{"position":[[403,6],[1824,6]]},"289":{"position":[[4,6],[225,6]]},"290":{"position":[[282,6]]},"448":{"position":[[149,6]]},"504":{"position":[[847,6]]},"518":{"position":[[221,6]]},"520":{"position":[[162,6]]}},"keywords":{}}],["you'v",{"_index":4436,"title":{},"content":{"513":{"position":[[307,6]]},"557":{"position":[[6,6]]}},"keywords":{}}],["yourfile.pfx",{"_index":577,"title":{},"content":{"27":{"position":[[285,14],[714,14]]}},"keywords":{}}],["yourself",{"_index":1035,"title":{"480":{"position":[[30,10]]}},"content":{"44":{"position":[[372,8]]},"133":{"position":[[275,8]]},"362":{"position":[[90,9]]},"479":{"position":[[161,8],[276,8]]}},"keywords":{}}],["yourusername@cosmos.localon",{"_index":3346,"title":{},"content":{"347":{"position":[[1941,27]]}},"keywords":{}}],["yum",{"_index":3156,"title":{},"content":{"324":{"position":[[1645,3],[1661,3]]}},"keywords":{}}],["yyyy/mm/dd",{"_index":2634,"title":{},"content":{"263":{"position":[[833,10]]},"418":{"position":[[1397,11]]},"419":{"position":[[1450,11]]},"420":{"position":[[1422,11]]}},"keywords":{}}],["z",{"_index":1123,"title":{},"content":{"44":{"position":[[3480,1]]},"325":{"position":[[608,2]]},"593":{"position":[[427,1]]}},"keywords":{}}],["zero",{"_index":648,"title":{},"content":{"35":{"position":[[383,4]]},"37":{"position":[[176,4]]},"57":{"position":[[286,4],[424,4],[450,4],[472,4]]},"120":{"position":[[308,4]]},"201":{"position":[[412,4]]},"203":{"position":[[195,4]]},"204":{"position":[[582,4]]},"205":{"position":[[418,4]]},"206":{"position":[[587,4]]},"207":{"position":[[370,4]]},"266":{"position":[[410,4]]},"268":{"position":[[202,4]]},"269":{"position":[[533,4]]},"270":{"position":[[202,4]]},"271":{"position":[[580,4]]},"272":{"position":[[372,4]]},"277":{"position":[[241,5]]}},"keywords":{}}],["zeromq",{"_index":1882,"title":{},"content":{"108":{"position":[[390,8]]}},"keywords":{}}],["zonegoto",{"_index":3335,"title":{},"content":{"347":{"position":[[1260,8]]}},"keywords":{}}],["zshrc",{"_index":2820,"title":{},"content":{"292":{"position":[[295,9]]}},"keywords":{}}]],"pipeline":["stemmer"]} \ No newline at end of file diff --git a/docs/lunr-index-1733631336358.json b/docs/lunr-index-1733631336358.json new file mode 100644 index 0000000000..4c14d22c40 --- /dev/null +++ b/docs/lunr-index-1733631336358.json @@ -0,0 +1 @@ +{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,912.212]],["content/0",[]],["keywords/0",[]],["title/1",[1,224.429,2,955.054]],["content/1",[1,3.122,3,9.792,4,8.917,5,2.481,6,9.792,7,4.497,8,12.463,9,8.415,10,12.463,11,6.831,12,13.82,13,12.736,14,13.287,15,16.738,16,12.843,17,11.835,18,6.26,19,11.835,20,11.489,21,8.825,22,15.381,23,16.738,24,13.287,25,13.287,26,16.738,27,13.82]],["keywords/1",[]],["title/2",[1,224.429,28,871.939]],["content/2",[1,4.261,6,7.103,8,9.041,9,7.828,29,4.751,30,8.585,31,8.8,32,9.639,33,8.582,34,10.509,35,2.597,36,8.645,37,7.376,38,6.1,39,6.683,40,6.924,41,6.276,42,7.301,43,7.908,44,7.771,45,3.453,46,4.986,47,7.522,48,5.948,49,8.122,50,5.784,51,4.352,52,2.828,53,5.699,54,9.631,55,6.609,56,11,57,8.585,58,4.807,59,5.328,60,5.96,61,5.744,62,4.059,63,7.642,64,4.099,65,7.771,66,7.2,67,6.683,68,8.8,69,7.408,70,7.408,71,7.301,72,6.402,73,10.509,74,6.683,75,5.184,76,10.509,77,9.041,78,4.617,79,4.541]],["keywords/2",[]],["title/3",[80,745.296,81,1041.352]],["content/3",[1,4.319,5,2.58,18,4.745,80,12.312,82,11.66,83,6.984,84,4.105,85,9.448,86,15.998,87,14.375,88,6.772,89,7.241,90,9.448,91,6.338,92,10.982,93,8.77,94,7.524,95,10.982,96,7.524,97,5.277,98,12.689,99,12.689,100,12.689,101,12.689,102,3.873,103,7.986,104,12.689,105,8.587,106,6.69,107,8.972,108,8.12,109,12.689,110,7.742,111,10.476,112,6.207,113,11.66,114,9.196,115,8.264,116,12.689,117,12.034,118,8.972,119,6.623,120,7.064,121,5.731,122,11.66,123,11.66,124,6.495,125,7.986,126,8.587,127,8.972,128,12.689,129,6.207,130,4.325,131,7.86,132,9.196,133,7.986,134,10.476,135,7.63]],["keywords/3",[]],["title/4",[136,279.23,137,414.108]],["content/4",[]],["keywords/4",[]],["title/5",[138,388.78,139,144.941,140,128.883]],["content/5",[1,3.192,7,2.603,35,5,37,3.24,45,4.132,48,2.524,50,4.919,52,3.985,78,3.685,119,7.496,136,3.333,137,3.335,138,7.952,140,3.094,141,4.11,142,4.868,143,4.422,144,2.362,145,6.535,146,8.422,147,13.197,148,10.693,149,9.719,150,4.252,151,6.734,152,6.356,153,5.554,154,8.905,155,4.96,156,6.311,157,4.584,158,3.883,159,7.995,160,3.639,161,4.477,162,2.344,163,4.825,164,3.635,165,5.162,166,5.669,167,4.868,168,6.852,169,7.023,170,6.43,171,6.201,172,10.187,173,4.223,174,4.477,175,5.526,176,5.459,177,8.402,178,8.293,179,7.15,180,2.765,181,3.303,182,5.526,183,4.825,184,8.001,185,4.74,186,2.765,187,3.604,188,5.333,189,3.836]],["keywords/5",[]],["title/6",[190,1041.133]],["content/6",[1,2.654,5,2.787,8,7.123,9,3.857,18,3.578,29,5.566,50,4.872,52,3.313,59,4.198,96,5.673,136,4.664,141,6.033,143,4.38,149,6.474,157,4.526,190,12.725,191,9.567,192,4.219,193,5.207,194,2.895,195,5.837,196,6.199,197,3.788,198,4.807,199,7.123,200,6.021,201,11.221,202,6.974,203,9.684,204,7.51,205,5.753,206,7.899,207,7.743,208,1.871,209,4.112,210,9.567,211,12.76,212,9.567,213,10.782,214,10.216,215,21.063,216,16.72,217,3.124,218,12.313,219,5.02,220,4.289,221,4.68,222,5.753,223,4.68,224,3.124,225,2.985,226,4.897,227,3.792,228,8.281,229,8.791,230,4.058,231,8.281,232,4.601,233,9.567,234,4.64,235,8.791,236,6.765,237,7.123,238,5.044]],["keywords/6",[]],["title/7",[239,1221.21]],["content/7",[1,1.792,4,7.602,5,2.115,7,2.581,13,5.862,50,6.454,91,3.498,102,2.933,114,6.963,127,6.793,136,5.207,139,2.094,140,1.254,143,4.394,144,2.125,145,6.494,146,6.352,152,3.227,162,1.568,187,3.574,190,6.502,196,4.187,201,7.602,203,5.479,204,5.088,207,5.229,208,2.791,211,8.348,213,7.305,214,9.139,219,6.008,222,5.777,227,2.561,239,14.957,240,4.888,241,6.697,242,5.412,243,6.547,244,5.488,245,11.328,246,10.626,247,9.608,248,7.376,249,17.024,250,12.352,251,10.342,252,4.439,253,7.933,254,5.862,255,5.697,256,3.34,257,6.793,258,5.548,259,7.927,260,6.375,261,8.829,262,6.375,263,7.154,264,9.608,265,3.123,266,9.469,267,12.352,268,8.581,269,12.352,270,10.95,271,5.777,272,5.479,273,3.897,274,5.288,275,5.229,276,8.829,277,2.048,278,5.935,279,3.182,280,5.952,281,7.372,282,5.697,283,9.608]],["keywords/7",[]],["title/8",[141,510.284,284,634.36]],["content/8",[1,2.848,5,2.262,17,13.922,50,5.228,124,7.814,136,3.543,141,9.766,144,1.906,146,8.764,198,7.669,207,8.308,208,3.851,243,7.572,244,7.572,245,15.63,246,14.661,284,10.382,285,5.804,286,12.429,287,19.69,288,15.63,289,13.212,290,8.599,291,11.713,292,6.154,293,13.212,294,10.794]],["keywords/8",[]],["title/9",[181,410.067,295,1041.352]],["content/9",[1,2.065,5,2.736,17,7.827,50,3.791,102,4.83,121,7.146,136,2.569,139,2.956,141,6.711,142,7.949,144,1.975,146,8.968,160,3.043,179,9.193,181,8.096,185,5.415,198,5.561,207,8.612,208,3.941,227,2.951,243,7.748,244,7.748,245,12.56,246,8.242,284,5.836,285,4.209,286,11.489,289,13.695,292,4.462,293,9.581,294,7.827,295,17.438,296,5.561,297,18.514,298,9.14,299,11.069,300,12.56,301,11.069,302,7.547,303,11.069,304,13.695,305,6.092,306,11.069,307,6.236,308,12.56,309,5.415,310,11.069,311,11.069,312,11.069]],["keywords/9",[]],["title/10",[138,473.512,313,1105.594]],["content/10",[]],["keywords/10",[]],["title/11",[314,968.26]],["content/11",[5,2.309,33,8.817,45,4.08,52,3.629,102,4.756,121,7.038,140,2.033,144,1.945,151,6.132,152,5.234,160,2.996,164,3.31,186,4.446,190,10.545,192,4.648,193,8.481,225,4.862,280,9.652,314,14.605,315,15.581,316,10.545,317,5.692,318,5.277,319,10.339,320,9.507,321,6.936]],["keywords/11",[]],["title/12",[152,516.794]],["content/12",[14,11.001,102,4.23,136,5.362,140,1.808,144,1.73,152,7.45,153,7.147,160,2.665,162,2.262,164,2.944,186,3.954,192,3.702,236,9.799,280,8.585,322,8.226,323,8.722,324,8.455,325,7.807,326,8.585,327,7.715,328,11.442,329,11.463,330,14.701,331,9.606,332,7.627,333,9.201,334,18.48,335,13.858,336,5.422,337,4.344,338,9.845,339,8.333,340,6.589,341,13.858,342,13.858,343,13.858]],["keywords/12",[]],["title/13",[344,1413.703]],["content/13",[35,5.352,79,5.558,81,12.864,102,4.537,140,3.219,144,2.416,160,2.858,162,3.158,164,3.157,186,4.241,189,5.884,202,6.104,259,6.92,327,8.275,337,4.658,344,13.658,345,11.463,346,10.509,347,9.862,348,11.404,349,6.176,350,3.487,351,7.4,352,4.089,353,6.389,354,12.864,355,8.937,356,13.658]],["keywords/13",[]],["title/14",[357,1413.703]],["content/14",[79,5.868,81,13.58,102,4.789,140,2.047,144,2.502,160,3.017,162,3.27,164,3.333,186,4.477,189,6.212,208,4.702,259,7.306,277,4.272,337,4.918,345,11.763,346,11.094,349,5.007,350,3.681,351,7.812,355,9.434,356,14.418,357,14.418,358,6.027,359,7.883,360,13.58]],["keywords/14",[]],["title/15",[35,329.08]],["content/15",[5,3.11,35,5.11,108,9.035,136,5.544,138,8.793,140,1.842,144,1.762,160,2.715,162,2.304,164,2.999,186,5.338,189,5.589,208,4.547,259,9.771,273,5.726,278,8.728,280,8.746,281,10.833,322,6.284,323,8.886,328,11.657,331,6.523,333,7.029,340,5.034,361,8.372,362,6.847,363,12.22,364,14.118,365,12.974,366,12.974]],["keywords/15",[]],["title/16",[208,300.899]],["content/16",[5,3.11,35,4.972,108,9.035,136,5.544,138,8.793,140,1.842,144,1.762,160,2.715,162,2.304,164,2.999,186,5.338,189,5.589,208,4.672,259,9.771,273,5.726,278,8.728,280,8.746,281,10.833,322,6.284,323,8.886,328,11.657,331,6.523,333,7.029,340,5.034,361,8.372,362,6.847,363,12.22,365,12.974,366,12.974,367,14.118]],["keywords/16",[]],["title/17",[368,1538.415]],["content/17",[5,2.918,7,4.101,35,4.926,45,3.121,78,5.804,108,9.769,168,10.794,240,5.228,277,4.197,296,7.669,309,9.632,369,14.028,370,13.106,371,8.93,372,9.769,373,9.55,374,10.489,375,8.521,376,5.527,377,10.331,378,7.533,379,10.331,380,14.27,381,14.028,382,13.922,383,7.968,384,13.212,385,12.604]],["keywords/17",[]],["title/18",[386,1413.703]],["content/18",[5,2.918,7,4.101,45,3.121,78,5.804,108,9.769,168,10.794,208,4.263,240,5.228,277,4.646,296,7.669,309,9.632,369,14.028,370,13.106,371,8.93,372,9.769,373,9.55,374,10.489,375,8.521,376,5.527,377,10.331,378,7.533,379,10.331,380,14.27,381,14.028,382,13.922,383,7.968,384,13.212,385,12.604]],["keywords/18",[]],["title/19",[387,850.703,388,923.159]],["content/19",[]],["keywords/19",[]],["title/20",[197,476.32,389,798.304]],["content/20",[1,1.472,5,2.236,35,3.227,46,3.241,78,3.001,84,2.554,88,3.07,91,2.873,97,3.283,102,2.409,107,5.581,119,4.12,130,6.661,136,2.852,139,3.251,153,4.752,162,3.537,201,4.205,202,3.241,204,2.814,209,5.282,225,2.463,230,3.348,248,4.079,274,4.344,302,3.765,329,6.351,337,5.337,340,6.071,350,3.54,373,5.96,387,5.581,389,12.967,390,11.292,391,8.688,392,5.581,393,7.253,394,5.877,395,7.253,396,5.581,397,6.265,398,5.237,399,6.517,400,7.253,401,6.517,402,6.265,403,4.816,404,4.725,405,14.06,406,17.029,407,5.237,408,4.816,409,6.056,410,12.288,411,12.288,412,7.253,413,7.253,414,9.754,415,15.088,416,6.517,417,12.288,418,7.893,419,12.288,420,6.832,421,6.517,422,7.893,423,3.513,424,7.893,425,3.828,426,17.029,427,12.288,428,4.968,429,9.428,430,7.893,431,7.253,432,4.25,433,5.237,434,3.416,435,8.905,436,3.592,437,4.079,438,5.877,439,4.68,440,5.877,441,7.893,442,4.816,443,4.162,444,7.893,445,6.832,446,6.971,447,2.952,448,7.253,449,7.893,450,7.893,451,7.893,452,7.893,453,6.832,454,5.051,455,4.394,456,7.893,457,7.893,458,7.253,459,7.253,460,4.889,461,7.893,462,7.893,463,9.428,464,7.893,465,5.456,466,6.832,467,4.558]],["keywords/20",[]],["title/21",[71,503.836,337,262.624,436,381.28,468,623.89]],["content/21",[36,8.83,37,5.767,71,10.372,139,3.383,273,6.996,404,6.634,469,12.844,470,15.851,471,21.268,472,15.851,473,17.25,474,17.25,475,17.25,476,12.281,477,17.25,478,17.25,479,17.25,480,15.851,481,17.25,482,13.693,483,11.923]],["keywords/21",[]],["title/22",[71,593.994,436,449.507,484,668.524]],["content/22",[5,1.946,50,4.498,66,7.787,71,7.896,136,3.048,139,3.832,156,8.553,337,4.116,388,13.675,389,8.713,403,13.238,404,5.05,435,9.517,436,5.976,437,6.787,439,10.568,469,9.778,470,12.067,472,12.067,485,20.231,486,13.132,487,13.132,488,13.132,489,13.132,490,12.067,491,13.132,492,9.285,493,8.887,494,7.147,495,6.213,496,16.378,497,13.132,498,13.132,499,17.823,500,12.067,501,13.132,502,13.132,503,8.887,504,12.067,505,12.067]],["keywords/22",[]],["title/23",[36,505.662,436,449.507,506,735.532]],["content/23",[5,2.232,37,5.035,57,10.649,71,13.022,136,3.495,139,3.361,220,6.753,225,4.7,256,5.236,326,9.33,337,6.118,404,5.792,436,6.853,454,9.639,469,11.214,483,10.41,495,10.245,507,13.84,508,9.639,509,15.061,510,15.061,511,11.909,512,19.519,513,9.056,514,15.061,515,15.061,516,15.061,517,15.061,518,11.956,519,15.061,520,15.061,521,15.061,522,8.811,523,13.036]],["keywords/23",[]],["title/24",[440,895.836,524,1041.352]],["content/24",[5,2.903,11,5.037,37,4.126,64,4.166,67,9.401,89,5.133,105,11.559,120,9.509,127,8.726,136,4.546,155,6.317,162,2.788,183,6.145,197,4.886,204,4.4,307,6.953,371,7.22,389,12.997,391,13.85,409,9.47,434,5.341,446,5.702,454,7.898,480,11.341,525,17.08,526,12.341,527,12.341,528,9.797,529,19.587,530,12.341,531,12.341,532,12.341,533,9.47,534,19.587,535,8.944,536,12.341,537,12.341,538,9.189,539,17.999,540,7.768,541,11.341,542,6.575,543,7.898,544,7.768,545,7.421,546,8.189,547,12.341,548,12.341,549,19.587,550,10.682,551,11.333,552,9.189,553,12.341,554,6.317,555,9.797]],["keywords/24",[]],["title/25",[150,527.975,469,895.836]],["content/25",[59,8.778,405,16.516,412,18.382,469,14.895,539,18.382,556,13.273,557,20.004]],["keywords/25",[]],["title/26",[136,168.838,389,482.7,446,336.109,558,527.223,559,558.194]],["content/26",[5,2.409,9,6.553,37,5.434,59,7.133,136,5.209,137,7.054,187,6.046,242,9.157,387,11.494,389,13.599,402,12.904,446,10.889,465,14.166,528,12.904,559,15.726,560,16.255,561,12.473,562,11.001,563,8.401,564,10.403,565,14.937,566,11.781,567,11.781,568,6.216]],["keywords/26",[]],["title/27",[136,242.208,446,296.974,528,510.239,558,465.835,559,493.199]],["content/27",[5,1.594,35,4.253,37,5.181,49,5.171,97,7.556,114,7.793,130,6.192,136,5.251,143,5.594,187,3.999,221,5.26,225,5.669,256,5.387,338,8.255,376,5.1,387,7.603,389,10.282,404,4.135,405,18.124,434,4.654,445,9.307,446,10.142,454,6.881,465,12.557,524,9.307,528,8.536,558,11.23,559,11.89,563,5.558,569,9.307,570,6.291,571,4.531,572,10.753,573,4.335,574,10.772,575,6.209,576,15.496,577,15.496,578,10.753,579,15.496,580,13.054,581,14.421,582,10.753,583,7.277,584,9.307,585,10.753,586,10.753,587,10.753,588,12.794,589,10.753,590,10.753,591,8.536,592,6.661,593,6.291,594,5.853]],["keywords/27",[]],["title/28",[136,168.838,137,250.393,559,558.194,568,278.179,595,577.479]],["content/28",[35,3.777,97,7.343,136,4.097,137,7.425,143,5.437,225,5.509,405,14.577,445,15.281,490,19.824,524,15.281,559,13.547,568,8.249,595,18.493,596,12.203,597,17.655,598,17.655,599,17.655]],["keywords/28",[]],["title/29",[183,491.821,600,987.834,601,987.834]],["content/29",[153,7.346,350,4.456,388,14.573,602,18.993,603,18.993,604,17.453,605,18.993,606,18.993,607,18.993,608,18.993,609,18.993,610,18.993,611,18.993]],["keywords/29",[]],["title/30",[53,722.006]],["content/30",[]],["keywords/30",[]],["title/31",[53,463.608,136,229.264,278,410.861]],["content/31",[1,2.394,5,1.902,35,2.745,48,4.569,50,4.395,53,11.659,61,9.458,80,7.95,84,4.152,136,4.64,138,6.905,162,2.094,181,5.98,188,7.063,194,3.884,214,6.224,223,8.583,236,9.074,263,9.555,265,5.703,278,9.359,280,7.95,309,6.278,331,5.929,349,4.095,370,7.717,372,8.213,376,3.602,562,8.685,612,7.717,613,12.833,614,6.121,615,6.333,616,12.833,617,12.833,618,9.847,619,11.793,620,6.447,621,6.909,622,8.87,623,10.596,624,6.837,625,8.815,626,11.043,627,9.074,628,5.754]],["keywords/31",[]],["title/32",[619,1413.703]],["content/32",[51,6.428,53,8.418,96,10.635,136,5.662,140,2.34,160,3.449,162,3.555,164,3.81,242,10.104,259,8.351,278,9.059,331,8.287,340,6.395,573,7.23,629,17.936]],["keywords/32",[]],["title/33",[53,722.006]],["content/33",[5,2.395,37,5.403,48,2.97,52,4.373,53,11.038,78,4.337,84,3.69,88,6.287,137,3.926,140,2.813,141,6.855,146,5.077,151,6.361,160,4.523,162,2.638,164,3.433,167,5.73,172,10.107,173,7.043,175,6.504,176,6.425,177,6.672,179,9.346,180,5.826,256,3.965,278,4.744,296,5.73,305,8.895,333,5.678,349,5.991,355,6.858,404,4.386,630,6.959,631,8.751,632,5.19,633,17.25,634,16.86,635,18.772,636,8.751,637,10.172,638,10.481,639,16.162,640,12.401,641,11.405]],["keywords/33",[]],["title/34",[53,564.649,642,610.082]],["content/34",[53,9.558,138,9.242,143,7.231]],["keywords/34",[]],["title/35",[140,200.718]],["content/35",[5,1.777,7,2.056,18,2.862,35,2.566,48,5.252,51,2.742,52,5.497,53,7.858,83,4.211,137,4.128,140,3.198,146,5.339,151,5.821,152,4.029,155,3.917,160,3.878,162,1.249,164,4.435,167,3.844,172,10.858,173,7.297,174,5.541,175,6.839,176,8.333,177,7.017,178,6.926,179,5.971,180,4.777,181,5.041,187,4.461,194,3.63,214,5.817,217,3.916,223,5.867,265,2.487,277,2.557,279,2.534,340,5.274,350,4.267,352,3.3,373,10.127,374,10.277,375,6.402,376,5.104,380,8.692,624,6.389,625,6.026,630,4.669,637,7.549,643,3.482,644,5.41,645,7.43,646,5.329,647,10.244,648,4.669,649,3.844,650,5.871,651,4.601,652,6.26,653,7.017,654,4.984,655,5.698]],["keywords/35",[]],["title/36",[140,156.973,642,610.082]],["content/36",[5,2.092,6,1.118,7,2.292,11,1.46,35,3.675,37,1.196,38,1.797,48,1.313,49,3.047,51,3.057,52,5.255,53,0.897,61,3.545,62,1.196,64,5.347,78,1.36,79,0.715,84,0.619,88,0.744,90,1.423,91,1.835,92,1.655,93,1.321,94,6.116,102,1.934,103,1.203,105,2.421,108,3.226,112,1.75,120,1.991,130,0.652,131,1.184,133,1.203,136,0.83,137,1.231,138,2.494,139,2.071,140,2.737,141,1.517,143,1.101,144,1.877,150,1.57,151,1.408,152,1.693,155,1.831,160,3.046,162,1.81,163,0.952,164,3.365,165,1.018,173,2.196,174,2.928,180,3.164,181,3.226,182,2.04,183,2.509,185,3.1,186,2.943,187,2.787,189,1.416,192,1.709,194,3.122,197,2.966,198,0.96,201,2.685,202,2.602,204,1.275,207,1.041,209,6.272,214,2.445,216,1.518,217,2.069,219,2.236,225,2.662,227,0.51,240,2.17,241,0.897,242,2.839,252,2.329,256,0.665,257,1.352,258,1.104,259,1.665,263,2.663,265,4.046,268,1.15,273,3.039,275,1.041,277,2.899,278,0.795,280,1.184,285,0.727,318,1.877,320,3.075,321,0.851,323,1.203,327,1.064,329,3.275,330,1.352,333,3.155,337,2.674,338,1.018,340,2.259,345,1.018,347,1.268,349,1.141,350,2.602,352,0.984,353,0.822,358,3.539,361,3.757,373,5.378,374,2.685,375,0.827,376,2.103,378,3.127,391,3.564,392,1.352,396,1.352,398,1.268,404,2.437,423,6.054,425,0.927,432,4.592,446,3.941,447,1.338,455,1.991,508,1.223,540,2.251,552,2.663,554,1.831,563,0.988,568,1.927,583,2.421,612,1.15,615,0.943,626,1.203,627,1.352,631,1.467,640,1.467,646,4.25,651,3.031,652,3.307,653,1.118,656,2.529,657,2.839,658,1.352,659,1.655,660,1.655,661,2.289,662,1.578,663,1.655,664,2.663,665,3.096,666,2.373,667,1.655,668,1.655,669,4.288,670,5.298,671,2.26,672,2.251,673,0.87,674,1.09,675,2.04,676,0.785,677,1.029,678,1.518,679,1.321,680,1.655,681,4.718,682,1.518,683,1.467,684,1.655,685,1.321,686,1.849,687,1.518,688,1.423,689,2.663,690,1.655,691,1.655,692,1.518,693,4.805,694,1.655,695,1.969,696,2.121,697,2.466,698,5.622,699,2.592,700,2.032,701,1.385,702,1.223,703,1.518,704,1.294,705,1.757,706,1.757,707,1.757,708,1.655,709,2.421,710,1.655,711,1.423,712,1.321,713,1.518,714,1.655,715,1.518,716,1.467,717,1.064,718,1.268,719,1.518,720,2.421,721,3.096,722,1.268,723,3.925,724,0.969,725,2.657,726,1.518,727,1.655,728,4.362,729,1.518,730,1.757,731,4.362,732,5.484,733,3.287,734,1.655,735,1.518,736,1.757,737,3.096,738,1.757,739,1.757,740,6.885,741,12.49,742,2.152,743,1.223,744,5.536,745,1.423,746,1.041,747,1.655,748,7.294,749,3.707,750,2.841,751,8.211,752,1.692,753,2.121,754,2.151,755,3.287,756,3.287,757,2.373,758,2.212,759,1.578,760,1.578,761,0.998,762,4.362,763,3.096,764,1.423,765,2.592,766,1.655,767,1.518,768,3.528,769,1.655,770,1.423,771,4.161,772,1.655,773,1.655,774,2.066,775,2.493,776,3.096,777,1.655,778,1.655,779,1.423,780,1.578,781,3.096,782,1.655,783,1.655,784,3.096,785,9.881,786,1.655,787,5.484,788,3.096,789,6.766,790,1.831,791,2.472,792,2.592,793,3.096,794,2.745,795,1.592,796,4.862,797,2.373,798,5.823,799,4.161,800,1.655,801,4.001,802,2.745,803,1.041,804,1.578,805,1.655,806,2.989,807,1.655,808,2.685,809,1.041,810,1.655,811,4.632,812,1.064,813,0.811,814,1.578,815,1.467,816,1.655,817,1.518,818,1.385,819,1.064,820,5.823,821,1.268,822,1.064,823,1.223,824,1.385,825,1.077,826,1.518,827,2.663,828,3.287,829,1.655,830,2.373,831,1.655,832,1.578,833,7.383,834,2.592,835,1.757,836,1.15,837,3.096,838,4.161,839,1.655,840,1.184,841,3.287,842,1.321,843,1.184,844,3.287,845,1.184,846,1.757,847,2.745,848,0.816,849,0.943,850,1.655,851,1.578,852,2.365,853,3.287]],["keywords/36",[]],["title/37",[723,952.996]],["content/37",[5,1.221,7,2.213,18,3.081,35,2.717,48,5.397,51,2.953,52,5.579,53,5.962,83,4.535,137,4.372,140,3.197,146,5.654,151,6.102,152,4.267,160,3.985,162,1.345,164,4.402,167,4.139,172,11.158,173,6.756,174,5.869,175,7.244,176,8.734,177,7.432,178,7.336,179,6.325,180,4.971,181,5.284,187,4.725,194,3.844,214,6.161,217,2.69,223,6.214,265,2.678,277,2.708,279,2.728,340,5.528,350,4.416,352,3.495,373,8.45,374,6.767,375,6.71,376,5.283,380,9.206,624,6.767,625,6.382,630,5.027,637,7.995,643,3.749,645,5.104,646,4.576,647,9.815,648,5.027,649,4.139,650,6.322,651,4.954,652,6.631,653,7.432,654,5.366,655,6.135]],["keywords/37",[]],["title/38",[854,1538.415]],["content/38",[53,10.424,140,2.417,160,3.562,162,3.023,164,3.935,278,7.705,361,10.984,614,8.836,848,10.157,852,8.694,855,7.857,856,14.214,857,18.525]],["keywords/38",[]],["title/39",[350,360.942]],["content/39",[5,2.375,38,8.051,48,5.29,52,5.461,53,7.52,78,6.093,140,2.091,141,6.796,142,8.051,160,3.081,180,4.572,190,10.844,282,9.502,337,5.023,340,5.713,350,4.765,376,4.498,392,11.33,423,7.133,562,10.844,634,19.358,636,12.295,655,11.931,676,6.581,752,7.581,858,13.87,859,12.295]],["keywords/39",[]],["title/40",[136,279.23,144,150.19]],["content/40",[6,5.369,50,3.143,53,4.307,136,2.13,144,1.146,146,4.085,150,4.027,181,3.128,213,8.48,214,11.36,219,7.593,230,3.893,232,6.632,250,7.944,292,3.7,423,9.232,633,8.434,646,8.802,656,13.961,662,16.303,697,6.746,717,7.678,723,14.7,724,6.993,725,11.344,847,7.042,853,15.223,860,9.178,861,9.178,862,9.178,863,9.178,864,9.178,865,9.178,866,9.178,867,13.79,868,9.178,869,9.178,870,9.178,871,13.79,872,9.178,873,9.178,874,4.377,875,4.654,876,7.578,877,6.211,878,8.434,879,9.178,880,9.178,881,9.178,882,9.691,883,9.447,884,10.268,885,16.566,886,16.566,887,9.178,888,9.178,889,7.578,890,9.178,891,9.178,892,7.578,893,9.178]],["keywords/40",[]],["title/41",[1,224.429,21,634.36]],["content/41",[]],["keywords/41",[]],["title/42",[21,634.36,79,449.943]],["content/42",[1,4.148,5,1.276,7,1.369,18,1.905,21,6.926,35,2.391,36,6.724,37,4.392,47,5.332,50,2.948,52,1.187,54,2.905,57,6.086,58,2.017,70,3.108,71,5.175,80,3.156,84,1.648,91,1.855,102,2.627,130,1.736,136,1.998,139,2.154,143,2.65,144,0.636,152,1.711,157,2.41,162,0.831,165,2.714,179,2.536,192,2.239,196,2.22,202,2.092,219,5.622,220,2.284,224,1.663,225,4.971,232,5.375,236,3.602,248,2.633,252,2.354,279,3.701,290,2.87,305,2.804,309,2.492,318,1.121,325,2.87,326,3.156,327,2.836,333,2.536,336,1.993,337,4.993,352,4.666,353,5.646,383,4.492,414,14.151,416,4.206,434,3.725,436,2.318,437,2.633,465,3.521,495,4.072,513,6.72,522,6.538,540,3.206,554,2.608,571,2.146,575,2.942,620,8.956,676,3.535,686,2.633,697,7.182,724,2.583,822,2.836,848,2.175,849,2.514,894,3.692,895,5.094,896,3.318,897,4.681,898,3.38,899,4.681,900,3.108,901,3.108,902,3.318,903,5.094,904,5.094,905,5.094,906,5.094,907,3.793,908,5.094,909,5.094,910,5.094,911,3.793,912,3.521,913,4.681,914,3.909,915,3.602,916,4.044,917,4.681,918,2.714,919,4.206,920,3.26,921,4.044,922,3.156,923,4.409,924,5.094,925,4.044,926,19.197,927,3.692,928,13.574,929,5.094,930,7.909,931,6.832,932,19.197,933,5.094,934,8.226,935,5.094,936,5.094,937,7.072,938,7.585,939,5.094,940,5.094,941,4.008,942,5.094,943,8.607,944,5.094,945,5.094,946,5.094,947,5.094,948,5.094,949,5.094,950,5.094,951,5.094,952,5.094,953,5.094,954,5.094,955,7.45,956,3.26,957,4.634,958,2.536,959,4.044,960,4.206,961,5.094,962,5.094,963,4.206,964,5.094,965,5.094,966,3.108,967,5.094,968,5.094,969,5.094,970,5.094,971,5.094,972,5.094,973,4.681,974,5.094,975,3.909,976,4.681,977,2.905,978,2.492,979,4.409,980,15.93,981,8.607,982,11.176,983,8.607,984,5.094,985,5.094,986,5.094,987,5.094,988,5.094,989,5.094,990,5.094,991,5.094,992,5.094,993,5.094,994,5.094,995,5.094,996,5.094,997,5.094,998,5.094,999,5.094,1000,5.094,1001,5.094,1002,5.094,1003,5.094,1004,4.681]],["keywords/42",[]],["title/43",[4,526.251,225,308.244,1005,668.524]],["content/43",[1,3.2,4,10.783,7,2.615,18,3.64,20,5.356,21,10.672,67,5.356,79,7.091,102,2.971,130,3.317,139,2.782,142,4.889,144,1.215,162,1.588,164,2.067,202,5.917,225,5.917,248,9.8,273,3.947,279,4.771,325,5.482,326,6.029,337,5.377,349,3.106,350,2.283,352,2.677,353,4.183,361,5.771,404,3.743,466,8.423,467,5.62,476,5.62,495,4.604,542,7.675,546,6.457,556,6.457,594,5.297,620,8.618,621,5.24,775,3.238,845,6.029,856,7.467,899,8.943,900,5.938,914,15.531,918,5.185,927,10.441,960,8.035,1004,8.943,1005,9.75,1006,9.732,1007,12.773,1008,7.246,1009,16.068,1010,7.053,1011,9.732,1012,12.47,1013,9.732,1014,7.725,1015,14.407,1016,6.586,1017,8.943,1018,7.467,1019,5.572,1020,8.423,1021,10.187,1022,9.732,1023,13.162,1024,6.586,1025,4.642,1026,4.72,1027,9.732,1028,9.732,1029,7.053,1030,9.732,1031,6.457,1032,8.423,1033,8.943,1034,7.246]],["keywords/43",[]],["title/44",[225,308.244,434,427.524,1035,698.474]],["content/44",[1,4.249,5,1.017,7,3.699,21,7.259,35,1.468,36,9.418,37,3.677,47,4.25,65,4.391,71,13.061,96,6.522,136,1.592,139,3.48,143,2.113,156,4.468,162,1.795,192,1.374,196,2.99,202,6.468,219,3.882,220,4.932,225,4.915,248,5.685,273,2.783,279,3.643,337,7.434,352,3.026,353,4.728,361,4.068,407,4.552,434,4.76,443,5.8,476,6.352,518,5.446,533,10.564,571,2.891,592,4.25,620,5.526,666,4.552,676,2.817,677,3.694,686,3.546,724,3.479,743,4.391,761,3.581,775,2.283,825,3.865,918,3.655,922,4.25,934,11.407,937,12.264,938,13.153,957,3.694,958,3.416,966,6.711,975,8.44,976,10.108,979,9.52,1005,4.643,1010,7.972,1016,4.643,1035,4.851,1036,4.186,1037,5.108,1038,4.468,1039,6.622,1040,6.304,1041,6.861,1042,6.861,1043,6.304,1044,6.861,1045,6.304,1046,6.861,1047,5.938,1048,6.861,1049,6.861,1050,7.972,1051,6.861,1052,6.861,1053,8.44,1054,8.731,1055,4.468,1056,6.861,1057,4.552]],["keywords/44",[]],["title/45",[60,424.602,1058,694.758]],["content/45",[]],["keywords/45",[]],["title/46",[60,295.707,136,194.465,137,288.399,277,178.609]],["content/46",[1,3.373,5,2.679,29,7.074,45,3.697,49,10.526,54,10.31,56,11.775,60,6.381,61,8.553,62,6.044,277,5.018,337,5.667,674,10.31,813,7.668,1058,10.44,1059,10.577]],["keywords/46",[]],["title/47",[136,279.23,275,654.836]],["content/47",[1,3.346,5,2.658,29,7.018,60,6.33,136,5.055,256,6.235,277,3.823,286,10.228,329,9.27,348,13.762,370,10.785,376,5.035,697,8.774,761,9.362,1060,17.936,1061,13.355,1062,16.482,1063,17.936,1064,17.936]],["keywords/47",[]],["title/48",[376,337.717,1065,850.703]],["content/48",[1,1.655,5,1.522,7,3.082,18,1.092,20,3.981,29,1.142,35,0.624,37,2.418,45,3.065,47,4.481,48,5.584,49,5.518,50,1.809,51,1.046,52,1.23,53,3.395,55,2.875,56,7.473,60,4.744,61,4.198,62,4.494,63,5.584,78,1.11,84,0.944,102,2.208,103,8.975,120,1.625,121,2.385,136,3.767,137,2.49,139,2.763,142,1.466,151,1.149,153,3.432,157,5.428,158,1.169,162,2.816,163,1.453,165,1.555,167,3.634,172,1.571,175,1.664,181,3.024,188,1.606,189,1.155,194,0.883,196,5.457,197,4.066,208,0.571,209,2.27,213,3.703,219,6.39,220,2.368,223,2.584,224,4.894,230,1.238,232,1.404,234,2.561,274,3.981,275,1.589,277,4.935,279,0.967,285,1.11,292,2.916,296,2.653,324,10.526,326,1.808,336,1.142,358,0.732,370,1.755,371,1.707,373,8.782,374,4.727,375,4.444,376,4.706,378,7.718,379,10.143,446,6.588,453,2.526,455,2.94,503,1.975,543,1.868,554,3.703,558,3.828,614,1.392,626,11.139,627,12.514,643,1.328,646,5.635,676,2.169,693,8.443,696,1.731,716,4.052,725,3.814,750,1.309,753,6.803,789,4.413,813,6.357,819,1.625,878,2.682,883,3.012,978,5.612,1029,5.242,1059,9.15,1065,14.775,1066,4.075,1067,2.919,1068,7.043,1069,5.281,1070,2.919,1071,2.115,1072,3.634,1073,2.239,1074,2.919,1075,2.919,1076,2.919,1077,8.873,1078,8.474,1079,2.239,1080,2.064,1081,10.671,1082,8.888,1083,2.919,1084,2.703,1085,2.919,1086,2.919,1087,4.361,1088,2.919,1089,1.901,1090,5.281,1091,4.853,1092,2.286,1093,7.88,1094,11.854,1095,3.932,1096,2.919,1097,5.281,1098,2.173,1099,4.853,1100,2.919,1101,2.682,1102,2.919,1103,2.919,1104,7.326,1105,3.324,1106,4.853,1107,4.361,1108,4.192,1109,4.853,1110,4.571,1111,4.571,1112,4.853,1113,3.324,1114,3.44,1115,1.937,1116,2.919,1117,2.682,1118,1.975,1119,2.682,1120,3.828,1121,2.919,1122,2.682,1123,1.997,1124,2.919,1125,2.526,1126,2.919,1127,2.41,1128,2.919]],["keywords/48",[]],["title/49",[1129,575.333]],["content/49",[]],["keywords/49",[]],["title/50",[277,210.57,1129,369.428,1130,735.532]],["content/50",[1,2.767,35,2.166,55,5.511,64,3.418,75,7.495,78,3.85,88,3.939,91,3.686,97,4.211,102,4.528,119,5.285,138,3.985,140,2.684,143,4.568,155,5.183,157,4.79,162,1.652,164,3.151,173,4.412,180,2.889,181,3.451,187,5.517,193,5.511,194,3.064,208,1.98,209,6.376,217,3.306,241,4.752,252,4.678,277,4.386,329,5.233,332,5.573,508,6.48,564,6.48,671,4.54,673,4.607,675,5.774,693,5.704,698,6.7,744,4.752,758,4.443,775,3.369,819,5.637,843,6.272,1026,4.911,1039,4.87,1072,5.087,1114,6.595,1129,9.292,1130,11.045,1131,8.764,1132,8.764,1133,6.178,1134,6.48,1135,7.338,1136,6.595,1137,7.539,1138,7.338,1139,4.507,1140,11.433,1141,8.764,1142,9.304,1143,8.764,1144,12.839,1145,8.764,1146,6.004,1147,10.125,1148,10.488,1149,7.539,1150,4.642,1151,5.637,1152,7.539,1153,6.603,1154,7.539,1155,6.373,1156,8.764,1157,8.764,1158,8.038,1159,6.999,1160,6.718]],["keywords/50",[]],["title/51",[1129,449.943,1131,1041.352]],["content/51",[4,7.206,48,5.349,52,4.784,78,5.143,89,5.626,91,4.924,125,8.513,173,5.894,207,7.362,277,5.139,279,4.479,355,8.133,648,13.4,720,9.154,754,10.933,813,5.737,842,9.349,875,6.859,1007,10.071,1072,11.513,1114,8.809,1129,5.058,1131,11.707,1161,9.802,1162,13.526,1163,13.526,1164,18.182,1165,11.707,1166,12.429,1167,13.526,1168,9.802,1169,12.429,1170,8.02,1171,11.168,1172,13.526,1173,12.429,1174,9.564,1175,8.656,1176,16.708,1177,13.526,1178,13.526]],["keywords/51",[]],["title/52",[1129,449.943,1132,1041.352]],["content/52",[17,9.995,48,4.401,75,7.995,91,3.454,140,1.238,141,5.996,152,3.187,160,1.824,164,3.589,174,7.807,198,8.489,202,3.896,209,6.076,217,7.299,221,6.915,256,4.914,265,4.595,277,3.992,279,3.142,286,14.115,309,6.915,332,5.221,348,12.965,508,9.047,700,5.699,724,9.495,819,5.281,1072,10.061,1129,3.548,1132,12.235,1150,6.481,1153,4.223,1168,12.246,1175,6.071,1179,8.625,1180,9.207,1181,22.354,1182,14.136,1183,14.136,1184,5.971,1185,14.136,1186,14.136,1187,6.708,1188,9.486,1189,9.486,1190,20.025,1191,9.486,1192,9.486,1193,20.994]],["keywords/52",[]],["title/53",[1129,449.943,1133,734.062]],["content/53",[1,1.968,5,1.564,43,9.956,48,6.115,61,4.992,62,3.528,75,7.674,78,4.012,84,3.414,97,4.389,102,3.221,106,5.563,140,1.377,152,3.545,160,2.029,180,3.011,181,3.596,194,3.193,220,4.731,224,3.446,256,3.668,258,8.827,260,7.001,271,6.345,273,4.28,277,4.201,317,4.361,332,5.807,378,5.207,646,3.801,649,7.68,661,6.753,698,4.766,703,8.376,712,7.293,750,4.731,751,6.641,754,6.345,775,5.981,843,6.536,901,6.438,977,6.017,1031,7.001,1072,10.957,1129,5.717,1133,10.967,1150,4.838,1153,4.697,1159,7.293,1160,7.001,1174,10.808,1194,10.552,1195,15.26,1196,15.731,1197,13.026,1198,10.552,1199,7.647,1200,5.944,1201,6.438]],["keywords/53",[]],["title/54",[1129,449.943,1134,769.966]],["content/54",[5,2.319,35,1.788,37,2.795,43,8.368,48,5.21,61,3.956,62,2.795,75,7.497,84,5.062,102,2.552,106,6.774,124,4.28,130,2.85,140,1.091,143,2.575,144,1.044,152,2.809,160,1.608,164,1.776,180,4.464,181,2.85,188,4.602,189,3.31,208,2.513,213,4.28,220,3.749,256,2.907,258,7.419,265,2.718,275,4.551,277,4.799,278,3.478,285,3.179,317,5.01,324,5.101,370,9.408,373,6.231,375,6.772,378,4.126,442,5.101,643,3.805,646,3.012,649,7.861,651,9.408,661,5.351,676,3.434,693,4.71,698,3.776,703,6.637,712,5.779,725,4.408,775,4.275,978,6.285,1066,4.71,1072,11.079,1129,7.086,1133,5.101,1134,12.127,1150,7.174,1153,3.722,1160,5.548,1174,5.912,1195,14.112,1196,14.917,1197,12.726,1199,9.311,1200,4.71,1201,5.101,1202,8.361,1203,5.548,1204,6.903,1205,6.415,1206,8.361,1207,4.551,1208,4.502,1209,8.361,1210,8.361,1211,4.958,1212,11.12,1213,9.311,1214,5.262]],["keywords/54",[]],["title/55",[693,677.776,1129,449.943]],["content/55",[1,0.886,5,2.43,7,2.179,18,1.777,20,2.615,37,1.588,43,5.283,48,4.697,52,4.486,61,2.248,62,1.588,75,6.018,78,1.806,84,3.434,96,2.817,102,1.45,120,2.645,139,2.253,140,0.62,143,1.463,144,1.325,146,3.611,152,2.725,159,2.645,160,0.914,164,1.723,172,4.367,173,2.07,177,2.779,180,1.355,181,1.619,182,2.709,188,2.615,194,1.438,213,2.432,219,2.863,220,5.627,230,3.44,232,5.105,234,7.953,256,1.651,258,2.743,265,1.544,268,4.878,271,2.857,272,2.709,275,4.415,277,4.308,285,1.806,290,4.57,298,3.922,309,5.192,317,3.029,325,2.676,333,2.365,362,2.304,373,7.446,374,10.26,375,5.432,377,3.215,378,11.121,379,3.215,432,2.558,447,3.97,543,3.04,592,2.943,615,2.344,637,2.99,646,3.824,649,5.333,652,4.234,661,3.04,676,1.951,693,14.073,695,4.464,696,6.294,698,4.794,711,3.537,743,5.191,750,2.13,775,1.581,819,2.645,883,2.709,884,3.537,921,3.771,1058,2.743,1071,5.879,1072,10.98,1081,8.426,1129,5.741,1133,2.899,1134,3.04,1140,9.18,1153,3.611,1160,3.152,1174,3.359,1195,13.418,1196,13.867,1197,11.126,1199,5.879,1200,2.676,1201,2.899,1207,2.586,1208,2.558,1215,4.112,1216,4.112,1217,4.366,1218,3.443,1219,4.751,1220,5.025,1221,8.145,1222,3.645,1223,4.751,1224,2.857,1225,4.366,1226,3.922,1227,8.145,1228,3.771,1229,3.094,1230,4.751,1231,4.751,1232,4.751,1233,4.366,1234,4.751,1235,4.751,1236,4.751,1237,10.363]],["keywords/55",[]],["title/56",[1129,449.943,1136,783.61]],["content/56",[5,2.473,17,6.569,35,1.987,43,9.065,48,5.626,61,4.396,62,3.106,75,8.475,78,3.533,84,3.006,102,2.836,140,1.212,143,2.861,144,1.16,152,3.121,160,1.787,164,1.974,180,2.651,181,5.688,189,5.51,208,2.722,209,5.983,217,4.545,220,6.24,258,5.365,262,6.165,277,4.932,284,4.899,286,11.882,317,2.651,332,5.114,378,4.585,615,6.868,628,4.166,646,3.347,649,6.993,661,10.68,698,4.196,750,4.166,775,5.553,977,5.298,1072,9.973,1129,5.205,1130,10.363,1136,14.47,1150,6.381,1153,4.136,1160,6.165,1174,6.569,1195,13.334,1196,14.47,1197,12.095,1199,6.733,1200,5.234,1201,10.182,1211,8.253,1224,5.587,1238,5.587,1239,15.336,1240,7.129,1241,6.733,1242,9.291,1243,8.538,1244,8.042]],["keywords/56",[]],["title/57",[1129,369.428,1139,439.706,1146,585.741]],["content/57",[1,2.37,5,1.221,12,6.802,17,10.962,29,3.224,51,2.953,58,3.262,75,6.619,129,4.03,139,3.656,140,1.075,144,1.586,164,3.293,180,5.674,183,4.102,192,2.545,209,3.541,217,6.146,238,4.344,252,3.807,277,1.756,278,3.427,279,2.728,286,7.244,317,4.971,337,3.982,340,2.938,425,3.996,442,7.75,511,5.027,646,5.585,649,8.754,742,5.424,941,3.836,1072,4.139,1079,6.322,1084,6.503,1129,8.386,1130,6.135,1136,10.097,1139,3.667,1146,12.689,1150,3.777,1153,5.654,1158,10.084,1195,9.922,1196,8.274,1197,9.206,1213,5.971,1214,5.185,1245,6.802,1246,4.954,1247,5.695,1248,17.423,1249,5.826,1250,12.8,1251,8.239,1252,5.971,1253,8.429,1254,4.698,1255,19.887,1256,15.503,1257,12.703,1258,12.703,1259,5.576,1260,9.747,1261,15.503,1262,11.673,1263,6.631,1264,4.258,1265,5.273,1266,5.104,1267,8.239]],["keywords/57",[]],["title/58",[1129,313.355,1139,372.966,1140,545.732,1141,725.232]],["content/58",[1,3.49,35,3.02,48,5.465,55,7.684,58,5.589,112,6.906,129,6.906,140,1.842,144,1.762,152,4.743,160,2.715,275,10.183,276,19.283,279,4.676,337,4.425,425,6.847,432,7.601,649,9.4,698,6.377,750,6.33,1072,9.4,1114,15.14,1129,6.997,1139,6.284,1140,12.186,1141,16.194,1142,20.531,1160,9.368,1207,7.684,1268,9.035,1269,8.746,1270,11.207,1271,14.118,1272,14.118,1273,14.118,1274,14.118]],["keywords/58",[]],["title/59",[1129,313.355,1139,372.966,1140,545.732,1143,725.232]],["content/59",[1,3.286,5,1.913,6,10.304,35,2.761,55,7.025,58,5.11,129,6.314,140,1.684,144,1.611,150,5.664,152,4.336,160,2.482,164,2.742,180,3.682,183,8.77,213,6.607,219,6.216,279,4.274,337,4.045,370,10.591,373,10.448,376,4.944,378,6.369,425,6.26,646,7.224,698,5.829,795,5.745,1066,7.271,1114,8.406,1129,6.587,1139,5.745,1140,11.472,1143,11.171,1144,11.171,1150,8.076,1168,15.612,1207,7.025,1270,13.982,1275,11.171,1276,12.906,1277,10.656,1278,20.052,1279,9.354,1280,8.921,1281,12.906,1282,11.86,1283,11.86,1284,9.61,1285,10.656]],["keywords/59",[]],["title/60",[1129,313.355,1139,372.966,1140,545.732,1145,725.232]],["content/60",[1,2.941,5,1.632,43,10.269,48,5.235,55,5.995,58,4.361,61,5.211,62,3.683,75,4.703,84,3.564,102,3.363,103,6.933,129,5.389,140,1.437,144,1.375,152,3.7,160,2.118,164,3.349,181,3.754,208,3.084,220,8.256,258,6.361,273,4.468,277,3.361,279,3.648,337,3.453,370,6.624,373,5.343,378,5.436,425,5.343,448,10.122,646,3.968,649,7.921,661,7.05,693,6.205,698,4.975,775,3.665,795,4.903,1072,10.687,1114,7.174,1129,5.896,1139,4.903,1140,10.269,1144,13.647,1145,9.534,1150,7.229,1160,7.309,1168,13.345,1174,7.789,1195,13.614,1196,14.842,1197,13.345,1199,7.983,1200,6.205,1201,6.721,1207,5.995,1211,6.532,1233,10.122,1270,12.516,1282,10.122,1283,10.122,1286,11.015,1287,11.015,1288,7.983,1289,11.015]],["keywords/60",[]],["title/61",[193,537.657,1129,369.428,1135,715.91]],["content/61",[1,1.786,5,2.11,17,4.092,18,2.164,35,2.62,37,3.201,43,6.236,45,1.183,46,3.932,48,4.425,50,1.982,59,4.202,60,2.042,61,2.738,62,3.201,75,8.032,78,3.641,84,5.102,89,2.407,97,3.982,102,1.766,112,2.831,129,2.831,140,0.755,141,7.978,144,0.722,152,1.944,160,1.113,162,0.944,164,1.229,165,3.083,174,2.674,180,2.732,181,5.791,183,2.881,186,1.651,189,3.791,193,7.747,208,1.873,209,4.116,217,1.89,219,2.042,220,5.491,224,1.89,258,3.342,272,3.3,275,3.15,277,4.491,279,1.916,282,3.431,286,8.117,292,3.86,307,3.26,309,2.831,317,2.732,326,3.585,327,3.222,336,2.264,345,5.101,358,2.401,376,1.624,378,7.024,494,3.15,508,3.703,558,4.194,562,3.916,574,3.431,615,6.044,620,2.907,643,5.573,646,3.449,649,7.923,658,4.092,661,7.838,698,2.614,712,4,746,7.747,750,4.293,758,2.539,775,3.186,848,2.471,874,4.567,875,2.934,977,3.3,1072,7.923,1129,5.897,1130,9.12,1135,4.194,1136,11.066,1148,4.092,1150,5.616,1153,4.262,1160,8.127,1174,4.092,1195,10.873,1196,12.252,1197,10.316,1199,4.194,1200,3.26,1201,3.531,1211,5.678,1213,6.939,1214,8.959,1239,8.799,1244,5.009,1250,4.778,1260,4.44,1263,10.763,1264,4.949,1265,6.128,1266,3.585,1290,4.778,1291,6.236,1292,8.288,1293,4.778,1294,3.342,1295,5.787,1296,3.84,1297,4.092,1298,9.575,1299,7.587,1300,4.194,1301,5.787,1302,5.009,1303,5.787,1304,5.787,1305,9.575,1306,9.575,1307,5.46,1308,6.939,1309,5.787,1310,4.309,1311,5.009,1312,5.009]],["keywords/61",[]],["title/62",[70,602.705,1129,369.428,1137,735.532]],["content/62",[1,3.186,5,2.531,31,8.944,39,6.793,43,11.125,46,5.068,48,4.448,52,2.875,55,6.717,62,4.126,66,7.318,70,7.53,79,4.615,120,6.871,130,4.206,140,1.61,152,4.146,154,11.341,160,2.373,181,4.206,194,5.169,230,5.234,234,5.986,275,6.717,277,4.175,285,4.693,378,6.09,383,6.442,404,4.746,596,8.53,652,8.915,661,7.898,671,5.533,676,5.068,693,11.034,742,5.269,761,6.442,775,4.106,813,5.234,883,7.038,1072,6.201,1129,7.325,1130,9.189,1137,12.718,1153,7.603,1156,10.682,1174,8.726,1195,12.535,1196,14.952,1197,8.944,1200,6.953,1201,7.53,1313,10.19,1314,11.341,1315,12.341,1316,12.341]],["keywords/62",[]],["title/63",[1129,449.943,1317,871.939]],["content/63",[1,3.543,143,5.849,187,8.385,317,5.419,345,10.118,812,10.574,1129,8.431,1277,15.682,1317,16.338,1318,16.439]],["keywords/63",[]],["title/64",[1129,449.943,1318,1041.352]],["content/64",[1,2.67,13,5.887,14,7.659,29,3.775,35,4.039,37,3.226,48,2.513,58,3.82,75,6.112,84,4.632,97,4.013,129,4.72,138,3.797,140,1.259,144,1.204,146,6.372,152,3.241,160,1.855,174,4.458,180,2.753,183,4.804,189,3.82,193,7.792,208,2.8,211,8.375,224,3.151,246,7.184,265,4.653,277,4.025,278,5.954,279,3.195,292,5.771,305,9.394,319,6.402,337,3.024,425,4.68,432,7.708,625,7.192,656,10.122,725,7.548,750,4.326,874,9.006,875,4.893,901,5.887,1129,5.354,1139,4.295,1150,4.424,1213,10.375,1214,9.01,1250,7.967,1263,12.366,1264,7.399,1265,9.162,1266,5.977,1285,11.82,1292,8.351,1293,11.82,1299,5.977,1310,7.184,1311,8.351,1312,8.351,1318,8.351,1319,9.649,1320,15.684,1321,9.649,1322,9.649,1323,7.97,1324,9.649,1325,9.649,1326,9.649,1327,8.867,1328,8.867,1329,13.155,1330,6.175,1331,13.155,1332,13.155,1333,14.316,1334,8.867,1335,6.669]],["keywords/64",[]],["title/65",[1129,449.943,1277,993.368]],["content/65",[5,2.891,17,6.31,35,1.909,48,3.516,52,4.23,60,3.149,78,3.393,139,2.39,140,1.164,152,2.998,160,1.716,162,1.456,172,7.269,173,3.889,180,2.546,183,8.109,205,5.366,207,4.857,208,1.745,213,9.985,217,2.914,256,3.102,273,3.619,277,4.158,317,2.546,350,4.261,358,3.385,371,5.22,373,9.46,374,7.193,375,5.843,626,5.616,645,5.528,649,6.783,725,11.237,750,4.001,785,10.718,977,5.089,1072,4.483,1105,12.277,1129,3.337,1150,7.467,1153,9.134,1159,11.257,1160,8.959,1207,4.857,1227,13.934,1244,7.724,1277,19.699,1336,6.467,1337,7.084,1338,8.923,1339,7.431,1340,8.2,1341,8.923,1342,8.923,1343,8.923,1344,8.923,1345,8.923,1346,8.923,1347,8.923,1348,16.287,1349,8.923,1350,8.923,1351,8.923,1352,13.502,1353,8.2,1354,13.502,1355,18.16,1356,8.923,1357,7.368]],["keywords/65",[]],["title/66",[277,210.57,345,526.251,1129,369.428]],["content/66",[1,3.054,35,3.502,45,3.348,140,2.136,152,5.5,160,3.149,162,3.856,174,7.565,208,3.202,277,5.378,340,5.838,345,11.998,1129,6.123,1153,9.164,1159,11.317,1211,12.208,1307,11.74,1358,16.373]],["keywords/66",[]],["title/67",[671,539.435,1129,449.943]],["content/67",[1,3.212,5,2.331,7,1.049,9,2.759,17,2.76,18,3.417,20,3.767,45,0.798,46,1.603,48,5.393,52,1.594,54,2.226,61,1.847,62,1.305,64,1.318,69,7.618,75,7.614,77,6.804,78,5.981,89,4.566,91,3.997,97,4.566,106,3.609,107,4.839,110,2.382,112,1.91,121,1.763,125,2.457,130,3.742,139,0.573,140,1.192,143,2.107,152,3.688,153,1.51,155,1.998,157,5.194,165,2.08,171,4.38,173,1.701,181,4.256,184,3.223,185,1.91,188,2.149,189,1.546,192,2.754,194,1.181,195,2.382,197,1.546,202,3.753,203,3.903,209,7.666,217,1.275,220,3.069,225,2.136,226,3.503,240,7.633,241,5.152,252,1.804,255,2.315,258,2.254,262,4.541,265,1.269,271,2.347,277,4.579,284,2.058,307,3.855,309,3.348,317,5.908,318,2.747,320,2.382,336,3.575,350,2.576,404,3.514,435,2.829,440,2.907,442,5.575,447,3.417,495,1.847,508,4.38,543,2.498,555,7.254,563,2.018,568,2.617,593,4.004,614,4.359,615,1.926,623,3.223,642,6.332,643,1.776,647,2.199,671,5.598,711,2.907,715,5.433,742,1.667,744,6.952,750,4.097,751,5.751,754,2.347,758,4.818,775,5.498,789,4.176,802,2.995,824,2.829,836,2.347,843,4.24,848,2.922,851,3.223,874,1.862,934,3.319,956,4.38,958,1.944,1026,1.893,1039,7.124,1084,1.998,1089,2.543,1129,8.117,1134,2.498,1148,4.839,1151,5.087,1214,2.457,1224,4.115,1225,3.587,1263,3.572,1339,7.565,1357,5.651,1359,3.379,1360,3.587,1361,3.904,1362,3.904,1363,2.76,1364,3.587,1365,3.223,1366,3.904,1367,4.307,1368,4.96,1369,5.651,1370,6.844,1371,6.844,1372,3.379,1373,3.223,1374,4.176,1375,3.099,1376,3.379,1377,3.587,1378,14.813,1379,11.897,1380,2.995,1381,8.397,1382,3.379,1383,3.099,1384,3.587,1385,2.698,1386,2.642,1387,5.651,1388,2.995,1389,2.829,1390,3.379,1391,3.904,1392,5.924,1393,5.251,1394,5.924,1395,2.995,1396,3.587,1397,2.995,1398,6.289,1399,5.651,1400,2.698,1401,2.698,1402,3.904,1403,5.924,1404,2.829,1405,3.587,1406,3.904,1407,3.379]],["keywords/67",[]],["title/68",[77,895.836,240,412.077]],["content/68",[]],["keywords/68",[]],["title/69",[746,654.836,927,871.939]],["content/69",[5,1.829,48,3.214,77,9.189,105,8.352,106,6.507,119,6.442,139,3.368,155,6.317,163,6.145,180,3.521,192,2.472,196,5.378,198,6.201,217,4.03,240,4.227,241,5.792,279,4.087,317,6.031,318,2.715,336,7.664,358,3.094,379,8.352,423,5.493,538,9.189,596,8.53,671,5.533,742,7.293,744,9.921,746,6.717,764,9.189,768,9.509,775,4.106,779,9.189,1039,5.935,1095,9.189,1129,7.905,1148,8.726,1150,5.658,1152,9.189,1153,5.493,1408,12.341,1409,7.421,1410,17.999,1411,10.682,1412,12.341,1413,12.341,1414,9.189,1415,12.341,1416,11.341,1417,7.53,1418,11.341,1419,12.341,1420,10.682,1421,9.47,1422,12.341,1423,7.127,1424,11.341]],["keywords/69",[]],["title/70",[1414,1145.489]],["content/70",[5,2.88,10,11.14,46,7.982,70,9.128,192,2.997,195,11.858,198,7.517,217,4.885,240,7.394,274,8.234,279,4.955,317,4.269,318,3.291,336,8.446,423,6.66,673,6.808,742,9.217,744,10.131,758,6.566,768,10.82,1026,7.256,1129,5.595,1207,8.143,1249,10.579,1339,10.697,1414,17.635,1425,12.353,1426,14.961]],["keywords/70",[]],["title/71",[1427,1413.703]],["content/71",[5,2.325,46,6.443,70,9.573,78,5.966,192,3.143,195,9.573,217,5.123,224,5.123,225,4.896,240,6.864,241,7.363,274,8.635,317,4.477,318,3.452,336,8.639,423,6.984,570,9.179,742,9.427,744,10.363,768,11.157,1129,5.868,1414,17.322,1420,13.58,1427,20.29,1428,15.69]],["keywords/71",[]],["title/72",[1429,1413.703]],["content/72",[5,2.325,70,9.573,78,5.966,192,3.143,195,9.573,217,5.123,224,5.123,225,4.896,240,6.864,241,7.363,274,8.635,317,4.477,318,3.452,336,8.639,423,6.984,570,9.179,742,9.427,744,10.363,768,11.157,1129,5.868,1339,8.635,1414,17.322,1420,13.58,1429,20.29,1430,15.69]],["keywords/72",[]],["title/73",[1379,1331.557]],["content/73",[5,1.846,48,5.799,51,2.879,62,2.686,75,6.515,91,4.535,103,9.603,139,3.114,140,1.048,143,2.474,173,3.501,180,3.554,181,5.859,189,3.18,192,1.609,201,6.636,217,5.614,219,4.396,224,2.623,240,4.267,241,3.77,252,3.712,259,3.741,277,3.253,317,5.616,318,1.767,327,4.472,336,6.726,362,3.896,371,7.288,379,5.437,390,11.448,423,3.576,425,6.042,442,7.601,447,3.004,555,6.377,614,3.832,642,4.074,646,4.488,676,3.299,742,7.34,744,7.161,768,6.935,775,7.661,819,8.495,1039,9.876,1129,6.958,1148,5.68,1153,3.576,1156,13.207,1207,4.372,1214,7.841,1339,8.398,1376,10.782,1379,6.953,1382,6.953,1383,6.377,1389,5.822,1400,5.553,1410,15.797,1416,7.382,1417,7.601,1418,15.797,1424,7.382,1431,10.286,1432,11.708,1433,9.889,1434,8.033,1435,8.033,1436,8.033,1437,8.808,1438,8.033,1439,8.033,1440,6.953,1441,8.033,1442,8.033,1443,8.033,1444,6.633,1445,6.377,1446,6.633]],["keywords/73",[]],["title/74",[1392,1331.557]],["content/74",[1,3.541,5,1.725,7,3.127,49,7.886,51,4.172,140,1.519,143,3.585,151,4.581,155,5.959,189,4.609,192,2.332,208,3.207,217,3.801,224,3.801,240,5.616,252,5.378,259,5.42,277,5.3,317,4.678,318,2.561,319,7.724,336,7.427,362,5.646,379,7.878,423,5.182,447,4.353,508,7.45,614,5.552,642,5.903,742,7.001,744,8.909,750,5.219,768,9.129,775,7.998,1039,7.886,1129,7.707,1307,6.638,1339,10.448,1389,8.436,1392,10.076,1400,8.046,1431,13.538,1432,14.565,1433,9.241,1447,9.611,1448,7.45,1449,11.641,1450,11.641]],["keywords/74",[]],["title/75",[1399,1270.201]],["content/75",[1,3.664,5,1.839,51,4.447,97,5.161,140,1.619,143,3.821,151,4.884,155,6.352,189,4.913,192,2.486,203,7.076,217,4.052,240,4.25,252,5.733,259,5.778,277,5.261,317,5.605,318,2.73,336,7.686,362,6.019,423,5.524,447,4.641,614,5.919,642,6.293,742,7.32,744,9.219,750,5.564,751,7.81,768,9.545,775,7.843,1039,8.246,1129,7.346,1307,7.076,1339,10.812,1389,8.993,1399,10.246,1400,8.577,1431,14.156,1432,15.073,1433,9.851,1447,10.246,1451,12.409,1452,12.409]],["keywords/75",[]],["title/76",[1403,1331.557]],["content/76",[5,1.809,48,6.406,51,4.375,97,7.051,103,7.683,140,1.593,143,3.759,151,4.805,155,6.249,174,5.64,181,5.778,189,4.833,192,2.445,217,3.986,240,4.181,252,5.64,259,5.684,317,5.556,318,2.686,336,7.62,362,5.921,423,5.434,447,4.565,614,5.823,642,6.19,742,7.238,744,9.14,750,5.474,751,10.669,768,9.438,775,7.808,1039,8.153,1129,7.283,1307,6.961,1339,10.718,1389,8.847,1400,8.438,1403,10.566,1431,13.996,1432,14.943,1433,9.691,1440,10.566,1447,10.079,1453,12.208,1454,12.208]],["keywords/76",[]],["title/77",[1407,1331.557]],["content/77",[5,1.609,35,2.322,48,5.735,97,6.49,102,3.314,103,6.833,140,2.036,150,4.764,155,7.987,157,5.136,187,4.038,189,4.298,192,2.175,198,5.454,209,4.667,217,3.545,240,6.256,241,8.572,252,5.016,277,4.257,309,5.311,317,6.035,318,2.388,327,6.044,336,7.147,362,5.265,376,3.047,543,6.948,614,7.442,709,10.56,742,7.799,744,8.572,751,9.82,758,4.764,768,8.687,775,7.725,1039,8.784,1120,7.868,1129,6.831,1263,8.144,1299,6.725,1339,10.99,1389,7.868,1399,8.964,1407,13.505,1432,8.33,1440,9.397,1455,10.856,1456,10.856,1457,8.964,1458,8.33,1459,18.265,1460,9.976,1461,10.856,1462,10.856]],["keywords/77",[]],["title/78",[1463,1413.703]],["content/78",[5,2.773,35,3.02,88,5.492,91,5.14,120,7.86,139,2.745,180,5.338,192,2.828,217,4.61,240,4.836,279,4.676,318,3.106,336,8.21,350,4.39,700,5.691,742,9.925,744,9.848,768,10.416,775,6.225,812,7.86,834,10.232,1123,5.339,1129,6.997,1175,9.035,1444,17.326,1463,12.974,1464,10.512,1465,10.232,1466,12.974,1467,14.118,1468,18.71,1469,18.163,1470,14.118,1471,14.118]],["keywords/78",[]],["title/79",[144,192.046]],["content/79",[129,9.37,144,2.391,159,10.664,192,3.837,202,7.866,240,6.56,279,6.343,318,4.214,1129,8.473,1269,11.865,1472,11.687]],["keywords/79",[]],["title/80",[11,491.014,1473,831.594]],["content/80",[]],["keywords/80",[]],["title/81",[1,119.902,144,80.24,337,201.465,573,259.112,677,346.069,1473,444.28]],["content/81",[1,2.253,6,7.065,64,4.077,142,8.453,244,4.644,337,3.785,376,4.723,443,10.209,465,8.348,555,9.587,573,4.868,580,7.481,676,4.96,677,6.502,693,6.804,697,5.908,758,5.3,790,9.912,791,8.348,883,6.887,978,5.908,1113,7.601,1170,9.977,1221,9.267,1263,6.304,1291,7.866,1465,8.753,1473,8.348,1474,10.453,1475,13.892,1476,11.098,1477,14.563,1478,11.098,1479,10.453,1480,9.972,1481,9.972,1482,9.587,1483,9.587,1484,9.267,1485,9.972,1486,9.267,1487,9.587,1488,8.348,1489,10.453,1490,11.098,1491,10.453,1492,9.267,1493,8.993,1494,11.098,1495,9.972,1496,11.098,1497,7.262,1498,8.173,1499,11.098,1500,11.098,1501,12.077,1502,9.972,1503,11.098,1504,12.077,1505,12.077,1506,12.077,1507,12.077,1508,12.077,1509,12.077,1510,12.077,1511,12.077,1512,12.077,1513,12.077,1514,10.453,1515,12.077,1516,11.098,1517,12.077]],["keywords/81",[]],["title/82",[1,135.702,144,90.814,337,228.015,1139,323.816,1473,502.828]],["content/82",[1,2.868,5,1.576,6,6.222,7,2.857,9,2.653,29,2.575,49,3.165,89,2.737,96,3.902,139,1.561,142,3.306,153,4.114,157,3.113,200,4.142,219,2.322,244,2.531,326,4.076,337,2.062,350,1.544,376,4.738,391,4.653,436,2.994,443,10.019,454,4.211,465,4.548,555,10.626,580,6.589,581,5.224,676,4.368,693,3.707,697,3.219,709,4.453,750,6.002,790,9.727,791,4.548,795,4.734,883,8.767,978,3.219,1023,5.049,1026,3.191,1109,9.774,1111,9.206,1113,6.694,1114,4.286,1139,2.929,1168,4.769,1170,9.116,1221,5.049,1263,5.552,1270,5.224,1291,4.286,1465,4.769,1473,7.352,1474,11.587,1475,11.053,1476,9.774,1477,11.587,1478,6.047,1479,5.695,1481,8.782,1482,5.224,1483,5.224,1484,5.049,1485,5.433,1486,5.049,1487,5.224,1488,4.548,1489,5.695,1490,6.047,1491,5.695,1492,5.049,1493,7.92,1494,6.047,1495,5.433,1496,9.774,1497,6.396,1498,7.198,1499,12.301,1500,6.047,1502,5.433,1503,6.047,1514,9.206,1516,14.128,1518,14.609,1519,7.352,1520,9.206,1521,4.653,1522,6.58,1523,6.047,1524,6.58,1525,6.58,1526,6.58,1527,6.58,1528,6.58,1529,6.58,1530,10.636,1531,4.548,1532,13.387,1533,6.58,1534,10.636,1535,6.58,1536,10.636,1537,10.636,1538,10.636,1539,10.636,1540,10.636,1541,6.58,1542,6.047,1543,6.58,1544,6.58,1545,6.58,1546,6.58,1547,6.58,1548,6.58,1549,6.58,1550,10.636,1551,6.58,1552,6.58,1553,10.636,1554,10.636,1555,10.636,1556,10.636,1557,10.636,1558,10.636,1559,10.636,1560,6.58,1561,6.58,1562,6.58,1563,6.58,1564,6.58,1565,6.58,1566,6.58,1567,6.58,1568,6.58,1569,6.58,1570,6.58,1571,6.58,1572,6.58,1573,6.58,1574,6.58,1575,5.433,1576,6.58,1577,6.58,1578,6.58,1579,6.58,1580,6.58,1581,6.58,1582,6.58,1583,6.58,1584,6.58,1585,6.58,1586,6.58,1587,6.047,1588,6.58]],["keywords/82",[]],["title/83",[3,577.902,144,123.315,353,424.621]],["content/83",[1,0.929,3,4.941,5,0.738,7,2.269,11,3.447,18,3.158,21,2.627,29,1.949,35,1.066,45,1.019,46,3.468,47,3.086,48,1.297,60,1.758,62,1.665,64,2.851,66,5.008,67,6.051,72,2.627,74,4.648,78,1.894,79,1.863,97,3.513,110,3.039,115,3.245,117,3.443,137,1.715,139,3.599,144,1.054,149,3.371,150,2.186,152,4.349,153,1.927,159,2.773,164,1.058,165,2.654,176,2.806,189,1.972,194,1.508,204,3.011,207,7.047,225,5.236,230,2.113,248,2.575,252,3.902,271,2.995,275,2.711,279,2.797,284,4.453,292,2.008,296,4.243,305,2.742,314,5.316,320,3.039,325,2.806,336,1.949,352,5.645,353,2.141,376,1.398,393,7.761,434,2.156,436,2.267,437,5.682,443,8.302,447,3.158,467,2.877,542,2.654,545,2.995,551,5.604,556,3.305,563,2.575,573,2.008,580,3.086,631,3.822,646,1.795,673,2.267,675,2.841,693,2.806,758,2.186,790,4.323,849,2.458,852,2.338,856,6.48,917,4.578,918,2.654,934,2.416,978,2.437,1016,5.716,1019,3.266,1033,4.578,1059,7.574,1071,3.61,1089,5.501,1113,3.135,1170,7.677,1208,2.682,1246,5.078,1254,2.841,1263,2.6,1280,8.949,1291,3.245,1447,4.113,1464,3.709,1473,8.949,1475,16.942,1477,9.516,1484,3.822,1493,6.289,1589,4.113,1590,4.982,1591,4.578,1592,3.822,1593,4.982,1594,4.982,1595,3.954,1596,4.578,1597,7.31,1598,4.578,1599,4.982,1600,4.982,1601,4.982,1602,4.982,1603,8.446,1604,8.446,1605,8.446,1606,4.982,1607,4.982,1608,4.312,1609,4.982,1610,4.982,1611,4.982,1612,4.982,1613,4.982,1614,4.982,1615,4.982,1616,4.982,1617,4.982,1618,4.982,1619,3.61,1620,8.186,1621,4.982,1622,4.982,1623,10.103,1624,4.312,1625,4.982,1626,4.982,1627,4.578,1628,4.982,1629,14.492,1630,4.982,1631,4.312,1632,4.982,1633,4.982,1634,4.982,1635,4.982,1636,4.982,1637,4.982,1638,4.982,1639,4.982,1640,4.982,1641,4.982,1642,4.982,1643,4.982,1644,15.745,1645,4.982,1646,4.982,1647,4.982,1648,4.982,1649,4.982,1650,4.982,1651,4.982,1652,4.982,1653,4.982,1654,4.982,1655,4.578,1656,4.982,1657,4.982,1658,4.982,1659,7.761,1660,4.312,1661,4.982,1662,3.188,1663,4.982,1664,8.446,1665,4.982,1666,4.982,1667,3.443,1668,4.982,1669,4.982,1670,4.982,1671,4.982,1672,4.312,1673,4.982,1674,3.371,1675,4.982,1676,4.982,1677,4.982,1678,4.982,1679,4.982,1680,4.982,1681,4.982,1682,4.982,1683,4.982,1684,8.446,1685,4.982,1686,4.982,1687,4.982,1688,4.982]],["keywords/83",[]],["title/84",[934,583.521,1059,703.852]],["content/84",[]],["keywords/84",[]],["title/85",[551,1020.777]],["content/85",[37,5.902,64,5.959,275,11.742,305,9.717,403,10.772,434,9.337,443,9.309,551,14.314,1297,12.483,1523,16.224,1608,15.281,1689,17.655,1690,17.812,1691,15.281,1692,14.577,1693,17.655,1694,14.577,1695,17.655]],["keywords/85",[]],["title/86",[1059,577.902,1502,815.611,1696,907.755]],["content/86",[1,3.705,37,5.173,84,5.007,139,2.271,162,2.525,181,5.274,285,8.341,340,7.082,433,10.268,443,10.473,460,9.586,615,7.636,673,7.042,720,10.472,742,6.607,761,8.077,919,12.777,934,7.505,941,7.205,1059,9.053,1066,8.717,1115,10.268,1175,9.903,1409,9.305,1489,13.394,1492,11.874,1502,12.777,1696,14.22,1697,15.474,1698,12.777,1699,15.474,1700,15.474,1701,15.474,1702,12.777,1703,11.215]],["keywords/86",[]],["title/87",[46,494.094,1704,850.703]],["content/87",[1,4.316,35,3.718,46,7.139,208,3.4,337,5.448,350,5.013,403,13.038,434,9.248,443,9.165,492,15.109,495,10.109,934,10.364,1495,14.352,1705,17.383,1706,17.383,1707,15.045]],["keywords/87",[]],["title/88",[240,412.077,285,457.481]],["content/88",[1,3.447,5,2.054,83,10.171,102,4.23,119,9.646,132,10.043,144,1.73,149,9.379,165,7.383,196,6.039,202,5.691,209,5.957,240,8.139,285,5.269,322,8.226,323,8.722,351,9.201,352,5.72,425,6.721,437,7.163,443,9.744,467,10.671,562,9.379,620,6.962,677,7.461,746,7.543,934,11.205,1059,10.811,1201,8.455,1263,9.646,1280,9.579,1708,13.858,1709,7.163,1710,11.995,1711,8.869,1712,11.001,1713,13.858]],["keywords/88",[]],["title/89",[742,513.694,848,513.694]],["content/89",[1,3.666,143,6.052,192,3.937,314,12.371,318,4.324,742,8.392,934,9.533,1059,11.499,1714,13.898]],["keywords/89",[]],["title/90",[144,150.19,186,343.271]],["content/90",[]],["keywords/90",[]],["title/91",[35,257.359,700,485]],["content/91",[1,1.332,5,2.096,9,2.879,35,4.782,37,3.798,45,2.892,48,3.683,52,1.664,59,3.135,61,3.379,88,2.779,94,9.556,137,2.459,140,2.808,142,5.707,143,2.2,144,0.892,145,3.25,152,2.4,153,5.47,157,5.374,162,2.63,174,5.248,179,5.656,181,6.948,183,5.656,186,2.038,189,2.828,194,3.438,198,5.707,200,4.496,201,6.052,204,4.05,205,4.295,219,5.688,227,1.904,240,6.727,252,3.3,258,9.306,285,2.716,292,4.579,309,6.918,345,6.052,350,1.676,376,3.97,455,7.873,544,4.496,653,4.179,700,7.09,803,6.183,937,7.614,1093,5.481,1380,5.481,1386,4.834,1482,12.793,1483,12.793,1484,8.716,1486,8.716,1487,5.67,1492,12.366,1715,12.996,1716,12.996,1717,12.996,1718,6.564,1719,10.439,1720,7.143,1721,7.143,1722,7.143,1723,7.143,1724,7.143,1725,5.319,1726,7.143,1727,7.143,1728,6.564,1729,5.481,1730,7.143,1731,5.481,1732,6.564,1733,7.143,1734,11.359,1735,4.235,1736,12.366,1737,5.177,1738,11.68,1739,6.564,1740,10.439,1741,10.439,1742,11.226,1743,9.571,1744,10.53,1745,12.996,1746,10.249,1747,11.677]],["keywords/91",[]],["title/92",[208,235.32,753,713.4]],["content/92",[5,1.328,37,2.995,45,2.769,48,3.527,51,6.521,52,4.787,62,2.995,88,3.485,137,4.661,140,2.549,142,6.804,143,2.759,144,1.118,152,3.01,157,6.407,162,3.354,181,7.666,186,2.556,198,4.501,200,5.639,201,7.214,204,4.828,208,4.399,217,2.925,227,2.388,230,7.718,240,6.692,244,3.445,258,9.428,277,2.887,285,3.407,292,5.459,358,4.093,376,3.801,432,4.823,568,3.426,628,8.159,775,6.055,938,7.82,1386,6.063,1482,14.445,1483,14.445,1484,10.391,1485,11.181,1486,10.391,1487,7.112,1488,6.192,1492,13.962,1718,8.233,1728,8.233,1729,6.874,1732,8.233,1740,12.444,1741,12.444,1742,7.112,1748,11.181,1749,12.444,1750,12.444,1751,6.671,1752,9.814,1753,8.959,1754,8.959,1755,7.112,1756,13.542,1757,7.397,1758,8.959]],["keywords/92",[]],["title/93",[825,677.776,1120,871.939]],["content/93",[21,10.239,35,4.154,62,4.059,67,6.683,79,6.316,112,5.94,139,1.782,143,3.739,157,5.744,174,5.61,192,3.383,230,5.15,242,6.84,244,4.669,272,6.924,273,4.925,279,4.021,285,4.617,309,5.94,314,7.642,316,8.217,317,4.819,377,8.217,383,6.338,443,8.905,542,6.469,632,7.685,676,4.986,700,6.808,724,6.157,742,5.184,825,9.514,836,7.301,934,5.889,1019,6.532,1059,9.88,1136,7.908,1229,7.908,1263,6.338,1473,11.673,1475,10.025,1479,10.509,1480,10.025,1481,10.025,1482,9.639,1483,9.639,1484,9.317,1485,10.025,1486,9.317,1487,9.639,1488,8.393,1492,9.317,1495,10.025,1759,9.639,1760,12.142,1761,12.142,1762,12.142,1763,12.142,1764,12.142,1765,12.142,1766,12.142,1767,12.142,1768,11.158,1769,6.84,1770,12.142,1771,12.142]],["keywords/93",[]],["title/94",[1772,1538.415]],["content/94",[]],["keywords/94",[]],["title/95",[1,107.397,156,374.983,320,351.273,337,180.454,446,266.001,1773,382.015,1774,575.736]],["content/95",[35,4.899,72,8.958,139,3.612,197,6.726,198,8.536,285,8.011,317,4.847,318,3.738,494,9.247,551,11.273,774,9.811,941,7.911,1034,12.651,1129,6.354,1139,9.378,1775,14.028,1776,16.99,1777,16.99,1778,14.028]],["keywords/95",[]],["title/96",[1,135.702,337,228.015,1779,727.478,1780,727.478,1781,727.478]],["content/96",[1,2.972,9,4.507,20,8.77,48,2.911,49,5.376,50,3.829,58,4.426,60,3.945,71,6.722,79,6.943,112,7.795,139,3.724,188,6.153,192,2.239,195,6.821,208,2.187,232,7.663,274,8.77,279,3.702,290,8.976,304,9.676,317,5.297,318,2.459,359,5.617,494,6.085,812,6.224,894,8.102,941,5.205,1014,8.874,1016,7.566,1029,8.102,1034,8.324,1129,5.959,1139,7.093,1245,9.23,1383,8.874,1773,7.418,1775,9.23,1782,7.154,1783,9.23,1784,9.23,1785,11.179,1786,9.676,1787,11.179,1788,7.566,1789,4.65,1790,9.23,1791,9.676,1792,11.179,1793,11.179,1794,11.179,1795,11.179,1796,11.179,1797,15.934,1798,11.179,1799,11.179,1800,9.23,1801,11.179,1802,15.329,1803,11.179,1804,11.179,1805,10.273,1806,11.179,1807,10.273,1808,11.179,1809,11.179]],["keywords/96",[]],["title/97",[1,184.269,337,309.619,1810,907.755]],["content/97",[1,3.427,6,10.749,30,12.992,139,2.696,187,6.834,240,6.293,434,7.952,454,11.759,724,9.317,770,13.681,894,13.316,1268,11.759,1773,12.192,1811,11.967,1812,18.374,1813,18.374,1814,12.7]],["keywords/97",[]],["title/98",[823,632.185,1034,735.532,1815,855.008]],["content/98",[1,3.373,129,8.844,131,11.2,132,15.862,408,11.031,503,12.235,673,8.227,823,11.57,907,13.462,1034,16.297,1269,11.2,1773,11.996,1815,15.648,1816,16.614,1817,18.079,1818,10.44,1819,14.927]],["keywords/98",[]],["title/99",[317,438.935]],["content/99",[]],["keywords/99",[]],["title/100",[1820,1180.425]],["content/100",[1,2.901,5,2.7,8,8.045,9,6.268,10,8.045,20,5.947,35,3.897,44,6.914,45,4.496,46,7.481,48,2.814,50,3.701,68,11.269,77,8.045,83,5.947,97,4.494,102,4.747,130,3.682,136,2.508,138,4.252,140,1.41,187,5.783,188,8.558,200,6.8,202,4.437,208,3.563,224,3.528,238,5.697,241,5.071,254,6.592,255,6.406,265,3.512,271,9.35,274,5.947,280,6.693,309,5.285,317,7.06,332,5.947,372,6.914,404,4.155,563,5.584,700,4.355,742,4.613,744,7.298,813,4.582,824,7.83,848,4.613,1073,8.29,1129,4.041,1179,6.592,1208,5.817,1291,7.037,1381,14.289,1448,6.914,1704,7.639,1725,8.045,1821,12.343,1822,8.045,1823,8.29,1824,10.804,1825,8.921,1826,9.928,1827,5.756,1828,8.921,1829,9.605,1830,7.468]],["keywords/100",[]],["title/101",[1129,575.333]],["content/101",[48,4.865,88,7.266,91,6.8,106,9.848,220,8.375,265,6.071,277,3.982,279,6.186,317,5.329,642,9.471,1062,17.164,1129,8.347,1176,17.164,1831,18.678]],["keywords/101",[]],["title/102",[1323,856.485]],["content/102",[45,3.61,75,7.538,88,8.392,91,7.854,209,7.589,279,7.144,302,8.421,317,6.155,494,9.609,774,10.195,1129,6.603,1187,12.483,1263,9.215,1323,12.97,1832,12.483,1833,16.224]],["keywords/102",[]],["title/103",[187,447.495,317,343.271]],["content/103",[1,3.722,5,2.309,138,8.662,143,6.777,160,2.996,187,7.421,265,5.064,279,5.16,317,7.001,403,12.173,434,8.635,642,7.901,1139,6.936,1146,9.239,1179,9.507,1822,11.602,1823,15.308,1829,8.215,1834,15.837,1835,12.173,1836,11.292,1837,13.486,1838,15.581]],["keywords/103",[]],["title/104",[317,281.845,1834,784.153,1835,602.705]],["content/104",[5,0.88,35,2.093,45,1.214,46,5.123,55,3.233,75,7.768,78,2.258,84,3.165,89,4.069,139,2.347,140,0.775,144,1.221,146,4.355,160,1.142,162,0.969,164,3.072,192,1.19,193,5.325,208,1.913,209,7.396,213,5.008,219,3.452,223,2.905,234,7.014,238,5.158,252,2.744,274,3.269,279,3.24,292,3.944,309,4.786,317,6.631,318,1.307,376,2.746,495,8.14,554,5.008,573,2.394,646,6.848,693,5.511,700,2.394,750,4.386,758,5.474,813,2.519,874,5.949,884,7.284,1066,5.511,1129,6.804,1133,5.969,1134,6.261,1136,6.372,1137,7.284,1153,8.462,1211,9.483,1252,13.185,1253,16.122,1254,13.36,1264,5.056,1417,11.598,1704,6.917,1711,6.261,1834,7.766,1835,3.624,1839,5.939,1840,4.019,1841,6.372,1842,15.922,1843,15.534,1844,6.917,1845,8.077,1846,12.518,1847,8.467,1848,12.518,1849,8.467,1850,13.546]],["keywords/104",[]],["title/105",[317,281.845,434,427.524,1834,784.153]],["content/105",[5,0.904,35,1.305,38,3.065,45,2.045,46,5.219,55,3.32,75,7.441,78,2.319,84,3.235,130,3.408,139,1.865,140,0.796,144,1.586,146,4.451,153,5.685,160,1.923,164,3.122,192,1.222,193,5.443,208,1.193,209,6.318,213,5.119,219,3.529,223,2.984,226,3.122,234,7.129,238,5.272,252,2.818,278,2.537,279,3.312,292,4.031,309,4.892,317,6.609,318,1.342,376,1.712,434,5.5,439,3.617,492,4.313,495,8.245,554,5.119,573,2.459,646,6.921,693,5.633,750,4.483,758,2.677,836,3.668,874,4.769,884,7.446,1029,4.421,1066,5.633,1084,3.122,1129,6.883,1133,6.101,1134,6.399,1136,6.513,1137,7.446,1153,7.758,1159,4.216,1180,3.973,1211,8.715,1252,7.247,1253,16.189,1254,13.43,1264,5.168,1268,3.904,1280,4.216,1417,10.633,1704,7.071,1711,6.399,1834,7.938,1841,6.513,1842,16.033,1844,7.071,1845,8.256,1846,12.722,1847,8.655,1848,12.722,1849,8.655,1850,7.446,1851,5.605,1852,4.542,1853,5.605,1854,4.842,1855,14.041,1856,5.036,1857,4.542,1858,16.223]],["keywords/105",[]],["title/106",[317,343.271,1836,871.939]],["content/106",[5,2.536,35,3.072,45,1.982,48,2.524,50,3.319,75,8.627,84,5.536,140,1.264,144,1.793,152,3.255,160,1.863,162,1.581,192,1.941,194,2.932,208,2.809,209,8.133,223,4.74,224,3.164,238,7.572,248,5.008,277,3.061,285,3.685,292,5.789,317,5.765,318,2.132,439,11.22,495,10.362,677,5.217,700,7.628,750,7.672,801,7.692,813,6.091,874,6.85,918,5.162,1153,8.994,1160,9.529,1180,6.311,1184,6.099,1211,10.146,1253,9.529,1254,9.757,1264,7.423,1307,5.526,1417,8.762,1589,14.127,1704,6.852,1829,5.109,1836,10.408,1840,13.674,1841,9.354,1842,10.408,1843,10.154,1844,10.154,1859,7.692,1860,8.905,1861,14.361,1862,8.905,1863,7.692,1864,9.69,1865,13.129,1866,8.905,1867,14.361,1868,9.69]],["keywords/106",[]],["title/107",[317,281.845,403,602.705,1835,602.705]],["content/107",[1,1.959,5,1.556,29,5.961,35,3.259,46,8.076,48,2.735,75,8.396,84,5.8,88,4.085,91,3.823,103,6.61,139,2.63,140,1.37,144,2.238,152,3.528,160,2.02,162,1.714,180,2.997,192,2.104,208,2.98,209,8.453,220,6.83,223,7.452,238,8.032,279,3.478,292,7.226,317,5.61,318,2.311,337,3.292,403,13.706,434,4.545,443,8.032,483,10.53,495,7.207,507,9.651,700,4.234,750,8.038,758,6.685,813,4.454,874,8.55,1129,5.697,1150,4.815,1153,7.979,1211,6.227,1228,8.337,1263,5.482,1264,9.265,1417,10.937,1835,6.408,1840,7.108,1841,11.676,1842,11.041,1859,8.337,1869,8.671,1870,8.671,1871,10.502,1872,10.502,1873,10.502,1874,10.502]],["keywords/107",[]],["title/108",[317,281.845,403,602.705,434,427.524]],["content/108",[1,2.478,5,1.969,35,2.842,38,6.675,46,5.456,75,5.673,88,5.169,91,4.837,124,6.801,130,4.529,140,1.734,144,2.722,152,4.463,153,7.872,160,3.455,192,2.662,208,2.599,209,5.711,226,6.801,238,9.472,278,5.526,279,4.4,317,6.698,318,2.923,337,4.164,403,12.418,434,7.775,439,7.878,483,9.184,495,6.286,565,12.21,1084,6.801,1180,8.654,1228,10.547,1280,9.184,1842,13.019,1852,9.893,1853,12.21,1854,10.547,1856,10.97,1857,9.893,1869,10.97,1870,10.97,1875,13.287,1876,13.287,1877,13.287,1878,13.287,1879,13.287]],["keywords/108",[]],["title/109",[317,343.271,1822,895.836]],["content/109",[1,2.289,5,2.34,7,2.578,11,8.422,19,4.102,35,3.852,38,2.915,46,5.855,48,2.499,52,1.351,54,3.308,55,3.158,74,3.193,79,2.17,88,2.257,91,2.112,102,3.746,110,3.54,112,4.694,121,2.62,129,2.838,130,4.182,136,2.227,138,2.283,139,2.496,140,0.757,143,2.955,144,1.971,146,4.271,152,1.949,153,6.58,160,1.116,162,3.073,180,1.655,189,2.297,192,1.162,196,2.528,201,5.112,208,3.522,211,3.394,223,4.694,224,1.894,226,2.97,238,5.059,241,4.503,277,2.045,278,5.93,279,3.178,285,2.206,296,2.915,317,5.571,318,2.111,319,3.85,329,6.342,336,2.27,337,1.818,387,10.081,388,4.452,389,9.46,394,4.32,396,4.102,425,2.814,439,3.44,446,6.587,465,4.01,467,3.35,469,7.145,495,4.54,551,3.85,554,2.97,566,15.281,580,11.665,588,4.79,595,7.617,614,2.767,646,3.457,670,10.081,677,3.124,700,2.339,723,3.594,754,3.489,813,5.204,874,2.767,901,3.54,956,3.713,966,5.854,1084,2.97,1114,6.25,1149,7.145,1150,4.399,1180,3.779,1184,3.651,1187,4.102,1211,3.44,1395,4.452,1519,8.481,1690,11.771,1822,15.7,1827,3.091,1835,9.635,1852,4.32,1859,4.605,1880,5.331,1881,7.363,1882,14.511,1883,5.331,1884,8.818,1885,5.331,1886,5.331,1887,5.022,1888,5.331,1889,8.818,1890,5.802,1891,8.818,1892,10.915,1893,5.802,1894,5.331,1895,5.331,1896,8.818,1897,3.44,1898,5.802,1899,2.838,1900,5.406,1901,7.363,1902,9.595]],["keywords/109",[]],["title/110",[55,537.657,317,281.845,1822,735.532]],["content/110",[1,2.388,5,2.418,7,2.71,11,2.517,19,4.36,35,2.739,38,3.098,46,6.076,52,1.436,54,3.516,55,8.052,74,3.394,75,6.967,78,2.345,79,2.306,88,3.925,89,4.196,91,2.245,102,1.882,106,3.251,110,3.762,112,3.017,121,2.785,129,3.017,130,2.102,136,1.431,138,2.427,139,2.713,140,0.805,142,5.069,144,2.037,152,2.071,153,6.775,160,1.186,162,2.663,180,3.653,185,3.017,192,1.235,196,2.687,208,2.504,209,7.014,224,2.014,226,3.157,238,5.32,241,4.735,252,2.849,277,1.314,278,5.325,279,4.899,285,2.345,296,3.098,317,6.126,318,2.22,329,6.618,336,2.413,337,1.933,376,1.731,387,10.461,388,4.732,389,9.817,394,4.592,396,4.36,425,2.991,439,3.656,446,6.835,465,4.262,467,3.561,469,7.512,495,4.773,551,4.092,554,3.157,566,13.401,580,11.952,588,5.091,595,8.009,614,2.941,677,3.32,758,5.619,813,4.279,874,2.941,901,3.762,956,3.946,966,6.156,1084,3.157,1114,6.571,1129,6.102,1150,4.626,1153,6.585,1180,4.016,1184,3.881,1187,4.36,1211,3.656,1417,9.027,1519,8.85,1690,12.215,1711,6.457,1822,15.297,1835,9.955,1852,4.592,1859,4.895,1880,5.667,1881,4.732,1882,14.994,1883,5.667,1884,9.271,1885,5.667,1886,5.667,1887,5.337,1888,5.667,1889,9.271,1891,9.271,1892,11.278,1894,5.667,1895,5.667,1896,9.271,1897,3.656,1903,6.166,1904,6.166]],["keywords/110",[]],["title/111",[317,343.271,1179,734.062]],["content/111",[1,1.179,6,3.699,9,2.549,38,3.176,45,1.293,46,2.596,48,1.646,51,2.266,55,3.441,75,7.979,78,2.404,84,4.858,121,2.855,139,2.203,140,0.825,144,1.285,146,2.814,153,6.394,160,1.98,162,1.68,164,2.187,187,2.351,192,2.063,193,3.441,209,7.106,213,3.236,219,7.11,223,3.093,226,3.236,234,4.994,238,3.333,252,2.921,278,2.629,279,3.41,292,4.151,317,6.049,333,6.485,336,2.474,373,6.318,376,1.775,447,2.364,495,8.841,554,3.236,646,5.41,693,3.562,697,3.093,717,5.732,742,2.699,750,4.616,758,5.716,874,4.911,884,4.707,918,3.368,1039,4.952,1066,3.562,1084,3.236,1107,5.22,1129,6.629,1133,3.857,1134,4.046,1136,4.118,1137,4.707,1153,8.672,1179,11.402,1211,11.081,1218,7.462,1254,11.812,1264,5.322,1417,12.935,1711,6.589,1786,8.912,1827,3.368,1841,6.706,1842,13.543,1845,5.22,1846,8.912,1847,5.472,1848,8.912,1849,5.472,1851,5.81,1852,4.707,1905,9.462,1906,6.322,1907,12.997,1908,15.016,1909,9.462,1910,6.48,1911,9.462,1912,6.322,1913,4.851,1914,8.912,1915,8.912,1916,16.175,1917,6.322,1918,10.296,1919,6.322,1920,10.296,1921,6.322,1922,17.725,1923,11.274,1924,6.322,1925,5.472,1926,4.046]],["keywords/111",[]],["title/112",[317,281.845,1139,439.706,1823,757.965]],["content/112",[1,2.74,16,7.666,19,13.578,38,5.019,46,4.103,51,3.581,58,3.955,64,3.372,124,5.114,129,4.887,140,1.303,144,2.174,152,3.356,153,7.427,160,2.825,162,1.63,192,2.942,194,3.023,219,6.147,226,5.114,230,4.237,232,4.805,238,5.268,278,4.155,279,3.309,317,5.838,337,3.131,413,9.181,425,4.846,443,5.268,447,6.514,453,8.647,465,6.906,495,6.949,580,10.79,612,6.008,686,5.164,700,4.027,742,4.266,761,7.667,874,4.765,978,4.887,1016,6.761,1084,5.114,1129,3.736,1139,4.447,1184,6.288,1211,5.924,1263,5.215,1264,7.592,1268,6.394,1519,10.153,1608,8.647,1823,16.417,1852,7.439,1859,7.931,1927,14.689,1928,9.181,1929,23.158,1930,11.66,1931,11.66,1932,9.991,1933,9.991,1934,9.991,1935,9.991,1936,9.991,1937,9.991,1938,9.991,1939,9.181,1940,9.991,1941,9.991,1942,9.181,1943,9.991,1944,9.991,1945,9.181,1946,9.991,1947,9.991,1948,9.181,1949,9.181]],["keywords/112",[]],["title/113",[317,239.066,1139,372.966,1823,642.918,1837,725.232]],["content/113",[1,3.186,16,9.47,38,6.201,51,4.423,58,4.886,75,8.363,124,6.317,129,6.037,140,1.61,144,2.445,152,4.146,153,8.176,160,3.284,192,3.421,219,6.913,226,6.317,230,5.234,232,5.935,238,6.507,278,5.133,279,4.087,317,6.332,337,3.868,425,5.986,439,10.128,495,9.267,612,7.421,742,5.269,761,8.915,813,5.234,1016,8.352,1084,6.317,1129,4.615,1139,5.493,1153,5.493,1211,7.318,1264,8.828,1823,15.029,1836,8.944,1837,16.953,1852,9.189,1854,9.797,1928,11.341,1945,11.341,1948,11.341,1949,11.341,1950,12.341,1951,17.08,1952,14.784,1953,12.341]],["keywords/113",[]],["title/114",[317,281.845,1139,439.706,1954,907.755]],["content/114",[1,3.419,5,3.062,35,4.721,45,2.799,51,4.906,58,5.42,64,4.621,65,8.761,78,5.205,129,6.697,140,1.786,144,2.288,146,6.094,152,4.599,160,2.633,192,3.672,238,7.218,265,4.45,278,5.694,279,4.534,317,5.896,337,4.291,425,6.64,434,5.925,495,8.672,670,12.96,742,5.845,1139,6.094,1211,10.869,1253,9.084,1954,21.143,1955,13.69,1956,13.69,1957,13.69,1958,13.69,1959,12.58,1960,18.329,1961,16.844,1962,13.69,1963,13.69]],["keywords/114",[]],["title/115",[317,343.271,671,539.435]],["content/115",[1,2.954,9,4.467,37,2.315,45,2.833,46,5.689,48,5.414,60,3.91,61,3.276,62,6.177,72,3.651,75,6.76,102,5.287,106,3.651,117,4.786,121,3.127,130,2.36,133,4.358,136,2.572,143,3.412,144,1.383,155,5.672,162,2.261,164,1.471,180,1.975,181,2.36,183,3.447,194,4.192,196,4.829,199,5.155,209,2.976,220,4.968,223,7.745,240,7.595,241,9.105,255,6.57,277,3.375,317,6.513,325,3.9,329,3.579,349,3.536,350,2.6,404,2.663,423,3.082,436,5.042,447,2.589,495,5.242,538,5.155,554,3.544,563,3.579,573,2.791,593,4.05,673,5.042,696,6.57,700,4.467,742,7.888,744,7.431,750,4.968,751,6.974,770,10.315,775,4.609,813,2.937,836,4.163,848,2.956,941,5.159,1008,8.25,1026,3.358,1038,4.509,1072,5.567,1089,4.509,1118,7.499,1129,4.144,1207,6.031,1208,3.728,1220,8.581,1238,4.163,1312,5.993,1339,7.624,1365,5.717,1382,5.993,1405,10.182,1469,5.993,1704,7.835,1900,3.9,1964,11.08,1965,5.993,1966,12.73,1967,6.924,1968,6.924,1969,4.786,1970,6.924,1971,11.08,1972,5.993,1973,6.924,1974,3.33,1975,6.924,1976,6.924,1977,6.924,1978,6.924,1979,6.924,1980,5.496,1981,9.149,1982,6.924,1983,6.924,1984,6.924,1985,11.08]],["keywords/115",[]],["title/116",[58,609.061]],["content/116",[]],["keywords/116",[]],["title/117",[0,912.212]],["content/117",[1,4.087,5,1.993,33,5.942,35,2.876,37,4.495,45,3.703,48,3.502,50,7.013,55,7.318,58,9.326,62,4.495,64,4.538,78,5.112,79,5.028,88,5.23,97,5.592,106,7.089,119,7.018,136,4.203,185,6.577,187,6.735,192,2.693,196,5.859,208,2.63,225,4.195,238,7.089,265,5.886,273,5.453,277,2.866,278,5.592,317,5.842,324,8.203,404,6.964,554,6.882,562,9.099,620,6.755,676,5.522,754,8.085,812,7.485,1146,7.972,1828,11.101,1829,7.089,1986,10.673,1987,13.445,1988,12.355]],["keywords/117",[]],["title/118",[1989,1114.932]],["content/118",[]],["keywords/118",[]],["title/119",[45,314.583]],["content/119",[1,3.858,10,12.28,12,13.617,27,13.617,35,3.528,44,10.555,45,4.229,79,6.168,87,17.077,110,10.063,208,3.226,217,5.386,285,6.271,671,7.395,700,6.649,813,6.995,1245,13.617,1268,10.555,1425,13.617,1814,14.296,1990,14.296,1991,16.493,1992,14.275,1993,16.493,1994,11.662,1995,13.617]],["keywords/119",[]],["title/120",[317,438.935]],["content/120",[5,2.576,35,3.718,45,4.731,46,9.502,91,6.328,208,3.4,317,6.097,447,6.501,495,8.224,614,8.291,700,7.007,742,9.124,813,7.373,1179,10.606,1836,12.598,1996,15.045,1997,17.383,1998,15.045]],["keywords/120",[]],["title/121",[1829,811.144]],["content/121",[1,4.376,35,4.659,55,11.855,97,7.46,156,11.682,163,10.844,208,4.26,277,3.823,317,6.215,813,7.607,1829,9.457,1913,13.762,1999,14.809]],["keywords/121",[]],["title/122",[79,575.333]],["content/122",[1,4.143,4,9.869,35,3.963,66,10.984,79,6.928,208,3.623,225,5.781,252,8.559,321,8.246,336,7.248,349,5.912,352,5.096,700,7.468,934,8.985,1268,11.855]],["keywords/122",[]],["title/123",[33,679.899]],["content/123",[1,3.513,5,2.791,33,8.324,48,4.905,202,7.735,225,6.999,259,8.77,321,8.384,643,8.57,957,10.14,1035,13.317,1592,14.452,2000,14.951]],["keywords/123",[]],["title/124",[58,391.085,331,456.399,1058,570.435]],["content/124",[1,3.604,54,11.016,58,7.648,119,10.084,133,12.159,197,7.648,202,7.934,265,6.279,331,8.925,1058,11.156,1423,11.156]],["keywords/124",[]],["title/125",[50,338.338,136,229.264,238,520.845]],["content/125",[1,3.738,50,7.563,58,8.741,91,5.712,136,5.399,137,5.4,138,7.887,140,2.047,143,6.799,152,5.271,187,5.836,194,4.748,196,6.837,224,5.123,238,10.566,285,5.966,290,8.839,324,9.573,484,10.618,494,8.54,564,10.041,571,6.611,648,9.573,746,8.54,1170,9.303,1782,10.041]],["keywords/125",[]],["title/126",[196,670.417]],["content/126",[5,3.096,45,3.948,50,6.613,52,3.905,58,7.644,64,6.517,136,4.481,138,4.728,140,1.567,160,2.31,162,3.41,164,3.561,190,11.344,192,3.358,194,5.073,196,10.685,202,4.933,220,5.386,225,3.748,227,3.202,238,6.334,248,6.209,255,7.123,265,6.276,285,4.568,296,6.035,309,5.876,350,3.933,439,7.123,443,6.334,495,5.683,571,7.063,615,5.928,673,5.466,686,6.209,749,7.028,752,5.683,840,7.442,958,5.981,1152,8.945,1180,7.824,1207,6.538,1423,6.937,1464,8.945,2001,9.918,2002,9.536,2003,9.918,2004,12.013]],["keywords/126",[]],["title/127",[2005,1413.703]],["content/127",[7,5.506,58,8.114,102,4.962,173,7.084,196,7.084,254,9.918,255,9.639,273,6.593,322,7.236,325,11.546,330,11.494,338,8.66,398,10.786,540,10.231,676,6.676,852,7.629,902,10.587,957,8.752,1057,10.786,1139,7.236,1465,11.781,2005,18.833,2006,14.937,2007,16.255,2008,14.937,2009,14.069,2010,13.421,2011,12.473,2012,14.937]],["keywords/127",[]],["title/128",[317,438.935]],["content/128",[5,2.494,45,3.959,46,4.96,52,2.813,87,9.972,91,4.397,106,6.368,119,6.304,129,5.908,136,3.905,138,4.753,140,2.195,151,4.753,152,5.652,160,2.322,162,3.594,164,3.574,185,5.908,192,3.37,240,4.136,243,4.644,265,6.294,279,4,317,7.003,318,3.702,329,6.242,333,6.013,337,6.069,355,7.262,434,5.227,545,7.262,554,6.182,632,5.496,742,7.184,815,9.267,822,6.724,1129,4.517,1423,6.974,1751,8.993,1814,11.63,1980,9.587,1986,13.356,1996,10.453,2013,7.161,2014,12.077,2015,12.077,2016,11.098,2017,10.453,2018,11.098,2019,11.098,2020,11.098,2021,11.098]],["keywords/128",[]],["title/129",[317,343.271,642,610.082]],["content/129",[138,9.242,143,7.231,317,5.81]],["keywords/129",[]],["title/130",[2022,1145.489]],["content/130",[45,4.08,48,5.196,140,2.033,144,2.491,160,2.996,161,7.199,162,3.592,164,3.31,192,3.121,317,6.621,318,3.428,1078,13.502,1133,12.173,1153,8.881,1252,11.292,1253,13.238,1254,11.377,1843,14.107,1844,14.107,1850,11.602,2022,14.855,2023,18.334]],["keywords/130",[]],["title/131",[2024,1413.703]],["content/131",[35,4.779,45,3.826,48,5.819,139,2.745,140,1.842,144,2.336,160,2.715,161,6.523,162,3.425,164,2.999,192,2.828,317,6.816,318,3.106,575,10.804,1078,12.662,1133,11.415,1153,8.328,1252,10.232,1253,12.414,1254,10.669,1843,13.229,1844,13.229,1850,10.512,2024,17.193,2025,10.833,2026,22.343]],["keywords/131",[]],["title/132",[2027,1413.703]],["content/132",[45,3.826,48,5.819,139,2.745,140,1.842,144,2.336,160,2.715,161,6.523,162,3.425,164,2.999,192,2.828,208,4.37,317,6.816,318,3.106,813,7.935,1078,12.662,1133,11.415,1153,8.328,1252,10.232,1253,12.414,1254,10.669,1843,13.229,1844,13.229,1850,10.512,2025,10.833,2027,17.193,2028,22.343]],["keywords/132",[]],["title/133",[2029,1538.415]],["content/133",[46,8.289,317,5.758,362,9.789,434,8.735,836,12.136,2030,20.183]],["keywords/133",[]],["title/134",[2031,1413.703]],["content/134",[46,8.289,317,5.758,434,8.735,836,12.136,1389,14.627,2032,18.547]],["keywords/134",[]],["title/135",[2033,1538.415]],["content/135",[7,4.431,46,6.773,140,2.152,160,3.172,164,3.503,292,9.551,317,4.706,350,3.87,434,7.138,836,12.437,875,10.488,1081,13.092,1308,16.376,1380,12.655,1389,17.685,1662,10.555,2031,15.156,2032,15.156,2034,13.092,2035,16.493]],["keywords/135",[]],["title/136",[2036,1538.415]],["content/136",[5,3.212,45,3.639,64,7.317,138,7.003,317,6.185,434,7.701,546,11.807,614,8.487,632,8.097,702,11.388,717,9.907,957,9.58,958,8.859,1025,8.487,1339,12.866,2037,17.794]],["keywords/136",[]],["title/137",[2038,1538.415]],["content/137",[5,3.074,1135,15.03,2039,17.951]],["keywords/137",[]],["title/138",[2039,1331.557]],["content/138",[2,8.455,4,5.674,5,2.281,48,4.008,60,8.152,75,4.548,79,3.983,136,3.572,139,1.563,140,1.39,144,1.921,149,7.208,160,2.048,165,5.674,174,4.921,180,5.647,186,3.039,209,4.578,224,7.145,255,6.316,273,4.32,275,5.797,279,3.527,317,5.156,337,4.824,340,5.487,350,4.24,361,6.316,375,4.61,618,8.173,661,6.816,698,4.811,750,6.9,754,6.405,795,4.741,813,4.518,825,6,874,5.08,882,6.231,898,7.067,915,7.531,931,14.344,1153,8.043,1203,10.212,1521,13.995,1595,8.455,2039,13.321,2040,10.651,2041,7.362,2042,6.316,2043,10.651,2044,17.59,2045,9.788,2046,10.651,2047,10.651,2048,10.651,2049,8.173,2050,9.219]],["keywords/138",[]],["title/139",[1129,575.333]],["content/139",[5,1.449,48,5.72,52,2.277,75,9.064,88,3.802,97,4.065,121,6.528,129,4.781,130,3.331,139,2.121,140,2.244,141,4.146,144,1.804,146,4.351,151,3.847,160,1.88,162,1.595,164,3.07,174,4.516,180,2.789,185,4.781,192,2.895,209,8.168,213,5.003,219,3.449,234,4.741,243,5.558,259,4.551,265,4.698,277,2.084,279,3.237,317,5.786,318,3.18,329,7.47,401,11.933,437,5.052,513,8.691,642,4.956,646,5.207,671,4.382,673,4.448,693,5.506,698,6.528,742,4.173,744,4.587,750,4.382,813,4.146,1129,9.166,1133,5.964,1150,4.481,1153,7.655,1158,13.652,1159,6.756,1160,6.485,1252,7.084,1253,9.59,1254,8.242,1307,5.574,1843,10.22,1844,10.22,1845,8.07,1850,7.278,2022,10.762,2023,13.282,2051,9.774,2052,8.07,2053,9.774,2054,9.774,2055,9.774]],["keywords/139",[]],["title/140",[153,595.006]],["content/140",[7,5.086,46,4.756,48,3.016,68,8.393,140,2.683,144,1.446,153,9.132,160,2.227,164,2.46,180,3.304,185,5.665,186,3.304,187,4.307,219,4.087,240,3.967,241,5.435,265,6.153,317,6.419,337,3.63,350,3.833,361,6.867,373,5.617,439,6.867,630,7.066,671,5.192,697,5.665,744,5.435,758,5.082,894,8.393,958,5.766,1036,7.066,1123,4.379,1133,7.066,1153,7.272,1179,7.066,1180,7.543,1207,6.303,1254,9.317,1280,8.005,1417,9.968,1829,6.106,1854,9.193,1855,10.024,1856,13.489,1857,8.623,1907,14.141,1914,14.141,1915,14.141,1916,10.024,1923,10.024,1925,14.141,2056,16.338,2057,11.581,2058,11.581,2059,11.581,2060,15.013,2061,10.642,2062,15.013]],["keywords/140",[]],["title/141",[1892,1063.343]],["content/141",[5,1.564,7,2.835,49,9.478,52,4.59,88,5.946,91,5.565,102,3.221,136,5.062,139,1.548,140,1.377,144,1.317,153,8.435,160,2.029,162,3.671,164,3.818,167,5.301,180,4.361,186,3.011,196,7.833,265,4.968,272,6.017,279,5.062,294,7.461,317,5.623,446,8.304,594,8.32,632,4.801,676,4.333,757,7.001,758,6.708,822,5.874,957,9.677,966,10.967,1138,7.647,1249,7.461,1373,8.712,1519,10.566,1892,17.49,1897,10.658,2003,8.712,2011,11.729,2052,8.712,2063,9.696,2064,9.696,2065,9.696,2066,9.696]],["keywords/141",[]],["title/142",[966,938.631]],["content/142",[7,4.743,33,7.803,52,5.025,140,2.303,144,2.204,160,3.395,162,2.881,164,4.583,186,5.037,196,10.152,337,5.534,429,13.547,689,13.146,957,12.543,966,10.772,2067,13.547]],["keywords/142",[]],["title/143",[2068,1270.201]],["content/143",[7,4.101,33,10.786,37,6.583,58,7.795,140,1.992,144,1.906,160,2.935,164,3.243,186,4.355,225,7.185,307,12.278,331,10.07,338,10.489,594,12.533,937,10.601,2067,11.713,2068,12.604,2069,14.661,2070,16.257,2071,14.028,2072,15.265]],["keywords/143",[]],["title/144",[495,727.819]],["content/144",[33,7.397,84,5.415,140,2.184,144,2.089,152,5.623,160,3.219,164,3.555,180,4.776,186,4.776,285,6.364,350,3.927,495,11.595,511,10.212,573,8.415,676,6.874,698,7.56,902,13.596,1129,7.806,1998,14.487,2067,12.843,2073,15.381,2074,15.381]],["keywords/144",[]],["title/145",[937,828.284]],["content/145",[33,9.92,35,4.384,91,5.918,140,2.121,141,8.692,144,2.558,160,3.126,164,3.453,192,4.105,225,7.004,318,4.509,447,6.079,937,11.034,1053,12.473,1711,10.403,1974,9.857,2067,12.473,2075,13.421,2076,16.255,2077,20.495,2078,16.255]],["keywords/145",[]],["title/146",[37,514.328]],["content/146",[1,3.427,5,2.723,33,8.12,36,9.405,37,7.925,140,2.397,160,3.533,162,2.999,180,5.242,225,5.733,852,8.623,1139,8.179,1974,8.837,2067,14.098,2075,15.171]],["keywords/146",[]],["title/147",[2079,1270.201]],["content/147",[33,7.682,44,11.124,68,16.768,71,10.452,140,2.268,144,2.17,160,3.343,164,3.692,167,8.733,186,4.96,317,4.96,482,13.799,1224,10.452,1703,12.598,2067,13.338,2079,14.352,2080,20.89,2081,15.974,2082,15.974]],["keywords/147",[]],["title/148",[2083,1180.425]],["content/148",[5,2.518,33,7.509,37,5.68,45,3.474,84,5.497,140,2.217,144,2.121,160,3.267,180,4.847,186,4.847,225,6.574,256,5.906,614,8.104,646,7.59,752,8.038,902,11.066,941,10.664,2083,18.372,2084,14.028,2085,14.705]],["keywords/148",[]],["title/149",[1829,811.144]],["content/149",[5,1.969,19,9.395,35,3.843,44,8.503,52,3.095,91,6.54,119,6.935,129,6.5,130,6.123,136,3.084,140,2.344,151,5.229,152,4.463,160,2.555,162,2.168,163,6.615,164,3.816,185,6.5,192,2.662,194,4.021,203,7.577,208,3.514,277,4.339,279,4.4,317,6.498,318,2.923,329,6.867,447,4.969,543,8.503,550,11.5,630,8.107,700,7.242,813,8.632,875,6.737,1423,7.673,1589,14.832,1829,11.496,1835,12.418,2017,11.5,2018,12.21,2019,12.21,2020,12.21,2021,12.21]],["keywords/149",[]],["title/150",[45,314.583]],["content/150",[45,5.092,130,5.621,140,2.152,144,2.059,155,8.443,160,3.172,162,3.867,164,4.393,186,4.706,243,7.954,265,5.361,296,8.286,309,10.118,336,6.453,338,12.038,404,6.343,752,7.803,2086,16.493]],["keywords/150",[]],["title/151",[45,246.021,642,610.082]],["content/151",[45,4.164,138,9.242,143,7.231]],["keywords/151",[]],["title/152",[2087,1538.415]],["content/152",[29,7.131,35,3.899,60,6.432,76,19.036,84,5.897,139,2.674,140,2.378,160,3.505,164,3.871,277,3.885,350,4.276,570,10.662,774,12.701,789,11.12,2025,13.984,2088,16.748]],["keywords/152",[]],["title/153",[2089,1538.415]],["content/153",[35,3.899,60,6.432,61,8.622,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/153",[]],["title/154",[2091,1538.415]],["content/154",[35,3.837,60,7.687,61,8.485,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/154",[]],["title/155",[2095,1538.415]],["content/155",[35,4.637,60,7.65,62,7.247,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/155",[]],["title/156",[2097,1538.415]],["content/156",[35,3.899,56,11.871,60,6.432,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/156",[]],["title/157",[2098,1538.415]],["content/157",[35,3.837,56,11.682,60,7.687,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/157",[]],["title/158",[2099,1538.415]],["content/158",[35,4.637,60,7.65,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,292,8.738,350,4.175,822,9.907,1153,7.921,1288,15.71,2090,10.7,2096,12.299]],["keywords/158",[]],["title/159",[2100,1538.415]],["content/159",[60,6.381,76,18.944,84,5.849,139,2.653,140,2.359,160,3.477,164,3.84,208,3.536,277,4.665,350,4.242,570,10.577,774,12.639,789,11.031,2025,13.872,2050,15.648,2088,16.614]],["keywords/159",[]],["title/160",[2101,1538.415]],["content/160",[60,6.432,61,8.622,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,208,3.565,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/160",[]],["title/161",[2102,1538.415]],["content/161",[60,7.687,61,8.485,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,208,3.508,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/161",[]],["title/162",[2103,1538.415]],["content/162",[60,7.65,62,7.247,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/162",[]],["title/163",[2104,1538.415]],["content/163",[56,11.871,60,6.432,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,208,3.565,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/163",[]],["title/164",[2105,1538.415]],["content/164",[56,11.682,60,7.687,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,208,3.508,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/164",[]],["title/165",[2106,1538.415]],["content/165",[60,7.65,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,292,8.738,350,4.175,822,9.907,1153,7.921,1288,15.71,2090,10.7,2096,12.299]],["keywords/165",[]],["title/166",[2107,1538.415]],["content/166",[60,7.577,63,13.513,74,11.817,84,5.668,139,3.15,140,2.286,160,3.369,164,3.721,208,4.199,292,8.655,350,4.11,822,9.753,1153,7.798,1521,15.181,2090,10.534,2096,12.108]],["keywords/166",[]],["title/167",[2108,1538.415]],["content/167",[60,7.577,63,13.513,74,11.817,84,5.668,139,3.15,140,2.286,160,3.369,164,3.721,208,4.199,292,8.655,350,4.11,822,9.753,931,17.043,1153,7.798,2090,10.534,2096,12.108]],["keywords/167",[]],["title/168",[2109,1538.415]],["content/168",[60,7.577,63,13.513,74,11.817,84,5.668,139,3.15,140,2.286,160,3.369,164,3.721,208,4.199,292,8.655,350,4.11,414,17.043,822,9.753,1153,7.798,2090,10.534,2096,12.108]],["keywords/168",[]],["title/169",[2110,1538.415]],["content/169",[60,7.65,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,260,14.383,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/169",[]],["title/170",[2111,1538.415]],["content/170",[60,7.65,63,13.643,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/170",[]],["title/171",[2112,1538.415]],["content/171",[84,5.803,139,3.196,140,2.34,160,3.449,164,3.81,225,6.797,259,10.142,292,7.23,350,4.208,875,9.095,1310,13.355,1521,12.682,1662,11.478,2090,10.785,2113,17.984,2114,16.482]],["keywords/171",[]],["title/172",[2115,1538.415]],["content/172",[33,9,45,4.164,48,5.304,717,11.338,1127,16.814]],["keywords/172",[]],["title/173",[2116,1538.415]],["content/173",[48,4.785,139,2.696,140,2.397,160,3.533,164,3.903,350,4.311,646,6.619,652,9.591,698,8.299,808,9.788,901,11.211,1127,15.171,1203,12.192,2117,14.585,2118,18.374,2119,18.374,2120,14.098]],["keywords/173",[]],["title/174",[2121,1413.703]],["content/174",[5,2.232,33,8.626,45,3.991,63,9.479,78,5.727,91,5.483,97,6.264,130,5.133,138,5.928,140,1.965,160,2.896,164,3.199,189,5.963,224,4.918,259,11.051,265,4.895,277,4.161,309,7.368,376,5.479,447,5.633,673,6.853,752,9.234,1288,10.915,1404,10.915,1674,10.193,2025,11.556,2052,12.435,2113,12.435,2122,11.956,2123,13.84,2124,11.956,2125,15.061,2126,15.061,2127,15.061,2128,15.061]],["keywords/174",[]],["title/175",[277,327.933]],["content/175",[33,7.99,45,3.697,51,6.479,63,11.379,140,2.359,160,3.477,162,3.842,164,3.84,277,4.665,376,5.075,698,8.166,2025,13.872,2113,14.927,2121,16.614,2129,15.648,2130,18.079]],["keywords/175",[]],["title/176",[2131,1270.201]],["content/176",[7,4.634,39,9.494,45,3.527,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857]],["keywords/176",[]],["title/177",[2083,1180.425]],["content/177",[5,2.518,33,7.509,37,5.68,45,3.474,84,5.497,140,2.217,144,2.121,160,3.267,180,4.847,186,4.847,225,6.574,256,5.906,614,8.104,646,7.59,752,8.038,902,11.066,941,10.664,2083,18.372,2084,14.028,2085,14.705]],["keywords/177",[]],["title/178",[33,679.899]],["content/178",[9,7.869,33,10.939,58,7.728,140,1.965,144,2.703,160,2.896,162,3.739,164,4.146,186,4.297,259,9.089,265,6.344,273,6.109,321,6.704,337,6.788,338,10.399,377,10.193,404,5.792,596,10.41,673,6.853,1990,10.41,2000,11.956,2136,10.915,2137,15.061,2138,11.956,2139,15.061]],["keywords/178",[]],["title/179",[33,531.719,642,610.082]],["content/179",[33,9,138,9.242,143,7.231]],["keywords/179",[]],["title/180",[966,938.631]],["content/180",[7,4.634,33,9.399,52,4.954,140,2.251,144,2.878,160,3.317,162,2.815,164,4.518,186,4.922,196,10.048,337,6.666,429,13.236,689,12.844,957,12.415,966,10.525]],["keywords/180",[]],["title/181",[2068,1270.201]],["content/181",[7,4.019,33,10.922,37,6.498,58,7.694,139,2.195,140,1.952,144,2.695,160,2.877,164,3.178,186,4.269,225,7.131,307,12.161,331,9.974,337,4.689,338,10.354,594,12.438,937,10.464,2068,12.353,2069,14.471,2070,16.047,2071,13.748]],["keywords/181",[]],["title/182",[495,727.819]],["content/182",[33,9.058,84,5.259,140,2.121,144,2.802,152,5.461,160,3.126,164,3.453,180,4.638,186,4.638,285,6.181,337,5.095,350,3.814,495,11.495,511,9.918,573,8.262,676,6.676,685,11.235,698,7.342,902,13.348,1129,7.665,1998,14.069,2073,14.937,2074,14.937]],["keywords/182",[]],["title/183",[566,1114.932]],["content/183",[1,2.538,5,2.705,33,9.73,47,12.762,48,3.544,55,7.406,70,8.302,88,5.293,106,7.175,138,5.355,139,2.679,140,1.775,144,2.572,152,4.571,160,2.617,162,2.221,163,10.961,164,2.89,186,3.882,224,4.443,277,2.901,337,5.722,494,7.406,538,10.132,545,8.182,566,18.017,615,6.715,676,5.588,1058,7.858,2003,11.235,2042,8.069,2140,12.504,2141,9.862,2142,13.607,2143,11.778,2144,13.607,2145,10.802,2146,13.607,2147,13.607]],["keywords/183",[]],["title/184",[2148,1001.987]],["content/184",[33,10.692,37,5.357,45,4.794,50,5.488,72,8.449,140,2.091,144,2.927,160,3.081,161,7.404,162,2.615,163,11.102,164,3.404,182,9.138,186,4.572,337,7.583,494,8.722,615,7.907,2140,14.725,2148,10.437]],["keywords/184",[]],["title/185",[937,828.284]],["content/185",[33,10.624,35,4.287,91,5.712,140,2.047,141,8.499,144,3.069,160,3.017,164,3.333,192,4.014,225,6.89,318,4.409,337,6.281,447,5.868,937,10.789,1053,12.039,1711,10.041,1974,9.638,2075,12.954,2149,15.69,2150,15.69]],["keywords/185",[]],["title/186",[153,595.006]],["content/186",[5,2.325,33,9.758,50,5.374,52,3.655,91,5.712,136,3.641,138,6.175,140,2.047,141,6.655,153,9.664,160,3.017,162,3.27,163,7.812,164,4.257,197,6.212,200,9.875,252,7.249,337,4.918,447,5.868,752,9.481,758,9.689,2151,15.69,2152,15.69,2153,14.418,2154,12.954]],["keywords/186",[]],["title/187",[37,514.328]],["content/187",[1,3.456,5,2.745,33,8.187,36,9.483,37,7.953,140,2.417,160,3.562,162,3.023,180,5.285,225,5.781,852,8.694,1139,8.246,1974,8.909,2075,15.295]],["keywords/187",[]],["title/188",[1892,1063.343]],["content/188",[33,7.606,49,10.214,88,6.695,91,6.266,136,5.346,139,1.831,140,1.628,144,1.558,160,2.399,162,3.636,164,4.185,180,3.56,186,3.56,196,8.585,265,5.594,279,5.7,446,7.952,594,9.367,632,5.678,676,5.124,757,8.279,957,10.607,966,12.02,1519,8.625,1892,17.626,1897,11.682,2011,13.206,2052,10.303,2063,11.466,2064,11.466,2065,11.466,2066,11.466]],["keywords/188",[]],["title/189",[2079,1270.201]],["content/189",[33,9.311,44,10.873,68,16.598,71,10.216,140,2.217,144,2.121,160,3.267,164,3.609,167,8.536,186,4.847,482,13.487,1224,10.216,1703,12.313,2006,15.613,2079,14.028,2080,20.724,2081,15.613,2082,15.613,2155,19.823]],["keywords/189",[]],["title/190",[2131,1270.201]],["content/190",[7,4.634,33,7.624,39,9.494,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857]],["keywords/190",[]],["title/191",[2083,1180.425]],["content/191",[5,2.518,33,7.509,37,5.68,45,3.474,84,5.497,140,2.217,144,2.121,160,3.267,180,4.847,186,4.847,225,6.574,256,5.906,614,8.104,646,7.59,752,8.038,902,11.066,941,10.664,2083,18.372,2084,14.028,2085,14.705]],["keywords/191",[]],["title/192",[79,575.333]],["content/192",[4,7.569,5,2.106,9,7.574,33,6.279,58,7.438,66,8.424,79,9.128,89,5.909,140,1.854,142,7.138,144,1.774,160,2.732,162,3.655,164,3.991,186,4.054,194,4.299,225,4.433,265,6.107,273,5.762,282,11.14,336,5.559,337,5.889,338,10.009,349,4.534,377,9.615,1005,9.615,1018,10.901,1029,10.296,1061,10.579,1084,7.273,1367,8.942,1714,10.046,2138,11.278,2156,14.207,2157,13.056,2158,9.82,2159,6.776]],["keywords/192",[]],["title/193",[79,449.943,642,610.082]],["content/193",[79,7.616,138,9.242,143,7.231]],["keywords/193",[]],["title/194",[1620,1145.489]],["content/194",[5,3.152,44,11.039,79,8.623,140,2.251,160,3.317,164,3.664,189,8.42,197,6.829,350,4.99,686,10.992,1155,10.857,1269,10.686,1620,17.169,2069,12.844,2157,15.851,2160,17.25,2161,14.93]],["keywords/194",[]],["title/195",[2162,1413.703]],["content/195",[5,3.079,70,10.137,72,10.955,79,7.771,136,3.856,140,2.168,142,8.347,160,3.195,164,3.529,189,8.226,197,6.578,329,8.587,350,4.875,494,9.043,720,11.244,1018,12.748,1155,10.457,1620,16.881,1714,11.748,2161,14.38,2163,16.614,2164,15.268,2165,15.268]],["keywords/195",[]],["title/196",[918,819.563]],["content/196",[5,2.893,44,9.639,52,3.508,70,9.189,79,9.094,140,1.965,142,7.567,151,5.928,160,2.896,164,3.199,302,7.184,337,4.721,349,6.911,383,11.304,404,8.328,467,8.697,573,8.73,632,6.853,643,6.853,918,8.024,1018,11.556,1023,11.556,1800,17.88,2158,10.41,2164,17.937,2166,10.41,2167,15.061]],["keywords/196",[]],["title/197",[2168,819.563]],["content/197",[7,4.497,38,8.409,79,8.507,140,2.184,156,10.901,160,3.219,162,3.713,164,3.555,337,5.246,349,5.341,1026,10.124,1294,9.665,2158,11.569,2159,7.983,2168,12.688,2169,15.381,2170,13.82,2171,16.738,2172,14.487,2173,16.738,2174,13.287]],["keywords/197",[]],["title/198",[2175,1413.703]],["content/198",[79,8.865,140,2.397,160,3.533,162,2.999,163,11.004,164,3.903,2158,12.7,2159,8.764,2175,21.783,2176,13.681,2177,18.374,2178,18.374]],["keywords/198",[]],["title/199",[38,772.919]],["content/199",[38,10.635,52,3.987,79,8.978,140,2.234,151,6.737,160,3.292,164,5.1,180,6.04,197,6.777,336,6.698,337,5.366,351,8.523,1150,9.705,1214,10.774,2158,11.832,2159,8.165,2179,17.119]],["keywords/199",[]],["title/200",[460,952.996]],["content/200",[1,3.032,52,3.786,79,8.814,140,2.121,160,3.126,164,3.453,217,5.308,219,5.737,230,6.894,256,5.651,302,7.753,460,15.051,571,6.849,573,6.553,626,10.231,677,8.752,716,12.473,1020,14.069,1087,13.421,1751,12.103,1897,9.639,2180,16.255,2181,16.255,2182,9.51,2183,14.937,2184,16.255]],["keywords/200",[]],["title/201",[2131,1270.201]],["content/201",[7,4.634,39,9.494,79,6.451,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857]],["keywords/201",[]],["title/202",[2185,1538.415]],["content/202",[52,5.148,140,2.397,160,3.533,164,4.695,273,7.452,358,4.607,446,8.489,563,12.252,689,13.681,1078,16.042,2084,15.171]],["keywords/202",[]],["title/203",[2186,623.975]],["content/203",[5,2.831,48,3.796,83,8.022,91,5.306,117,10.074,136,3.383,140,1.902,144,2.385,160,2.803,162,3.118,164,3.096,180,4.158,186,4.158,208,2.851,265,6.21,279,4.827,355,8.764,359,9.599,554,7.461,594,7.933,620,7.322,622,10.074,671,9.557,742,6.223,1151,8.114,1307,8.311,1423,8.416,1789,6.062,2186,10.106,2187,12.034,2188,15.166,2189,12.615,2190,8.896]],["keywords/203",[]],["title/204",[642,610.082,2186,487.983]],["content/204",[138,9.242,143,7.231,2186,8.26]],["keywords/204",[]],["title/205",[2131,1270.201]],["content/205",[7,4.634,39,9.494,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857,2186,6.996]],["keywords/205",[]],["title/206",[1,224.429,11,491.014]],["content/206",[]],["keywords/206",[]],["title/207",[2191,1270.201]],["content/207",[]],["keywords/207",[]],["title/208",[2192,1538.415]],["content/208",[1,4.024,139,2.59,325,9.946,571,10.224,914,17.875,960,14.577,1819,14.577,2191,20.035,2193,15.281,2194,14.6,2195,12.483,2196,14.577]],["keywords/208",[]],["title/209",[11,491.014,2191,993.368]],["content/209",[1,4.312,5,1.87,7,3.39,11,8.709,67,6.945,102,3.852,139,3.131,141,7.356,153,6.708,197,4.995,202,7.122,225,6.184,256,6.029,302,6.018,307,7.108,337,3.955,349,4.027,407,8.372,522,7.382,573,5.086,580,7.816,592,7.816,677,6.793,845,7.816,896,8.218,914,15.205,1134,8.075,1157,10.921,1769,7.108,1789,5.248,2136,9.144,2191,17.618,2197,12.618,2198,12.618,2199,17.343,2200,12.618,2201,12.618,2202,20.006,2203,11.595,2204,12.618,2205,10.921,2206,11.595,2207,12.618,2208,9.144,2209,12.618]],["keywords/209",[]],["title/210",[11,403.15,192,197.881,432,531.85]],["content/210",[35,3.867,139,3.211,202,7.425,225,5.642,338,9.632,533,13.872,620,9.083,1053,13.872,1201,11.031,2158,12.496,2202,15.648,2208,13.103,2210,23.539,2211,13.872,2212,18.079,2213,18.079]],["keywords/210",[]],["title/211",[11,403.15,318,217.321,432,531.85]],["content/211",[35,3.38,139,3.422,152,5.308,202,6.489,225,6.281,318,4.428,338,8.417,571,8.481,1201,9.64,1300,11.45,2158,10.921,2202,19.174,2208,11.45,2214,24.089,2215,22.152,2216,20.129,2217,18.497,2218,15.8,2219,14.519,2220,15.8,2221,15.8]],["keywords/211",[]],["title/212",[1323,856.485]],["content/212",[]],["keywords/212",[]],["title/213",[61,569.195,1323,669.819]],["content/213",[1,1.831,5,1.455,19,6.941,20,5.403,35,3.102,48,3.776,61,9.008,137,3.379,139,2.127,140,2.249,143,3.023,145,7.846,146,6.454,147,15.844,172,5.285,175,5.598,176,5.53,181,3.346,189,3.886,196,4.278,208,2.836,209,4.22,211,10.086,213,7.422,214,9.235,220,6.501,243,5.576,244,3.775,245,7.793,246,7.309,250,8.497,251,7.114,265,4.713,274,5.403,323,9.126,350,4.045,376,2.756,378,4.844,391,6.941,483,6.785,494,5.343,545,5.903,568,3.754,614,6.916,625,8.662,626,6.179,627,6.941,646,3.537,654,6.394,693,5.53,697,4.802,725,9.091,774,8.373,882,5.743,883,5.598,1105,6.179,1118,6.644,1140,6.394,1179,5.989,1207,7.892,1254,5.598,1280,6.785,1299,6.081,1323,11.309,1369,11.972,1385,6.785,1660,8.497,1735,8.598,1736,7.532,1738,7.114,2222,8.105,2223,8.105,2224,8.497,2225,14.5,2226,8.497,2227,7.532,2228,9.021,2229,9.817,2230,9.817,2231,9.817,2232,9.021,2233,8.497,2234,8.497,2235,9.817]],["keywords/213",[]],["title/214",[1082,1041.352,1323,669.819]],["content/214",[1,1.147,5,2.856,7,1.652,31,4.457,35,2.734,48,3.847,49,2.958,52,3.795,60,2.17,61,4.762,64,2.076,102,3.073,130,2.096,136,2.966,137,2.117,139,3.148,144,0.768,146,4.481,148,4.579,152,4.962,181,3.431,192,2.017,193,3.347,194,1.861,208,2.5,211,8.641,213,8.34,214,8.958,217,2.008,219,2.17,230,7.833,232,2.958,234,2.983,266,4.08,278,4.187,318,1.353,336,2.406,358,3.703,432,5.42,437,3.178,446,10.506,624,5.363,625,5.058,646,3.627,656,7.118,664,7.495,666,6.679,687,7.991,697,4.924,723,9.15,725,5.308,729,7.991,809,5.479,827,10.998,882,7.476,883,7.288,920,3.936,1059,5.889,1082,17.267,1105,6.336,1115,4.08,1179,3.752,1323,10.73,1335,6.958,1367,3.871,1469,5.323,1865,7.724,2222,5.078,2236,6.15,2237,6.15,2238,8.713,2239,6.15,2240,10.067,2241,10.067,2242,6.15,2243,4.348,2244,10.444,2245,14.445,2246,14.351,2247,7.991,2248,8.713,2249,7.991,2250,9.251,2251,8.312,2252,8.713,2253,8.713,2254,8.713,2255,9.251,2256,8.713,2257,8.713,2258,9.251,2259,5.078,2260,9.251,2261,7.724,2262,9.251,2263,6.15,2264,6.15,2265,5.651,2266,6.15,2267,6.15,2268,6.15,2269,6.15,2270,6.15,2271,6.15,2272,6.15,2273,6.15,2274,4.719,2275,4.719,2276,4.719,2277,5.078]],["keywords/214",[]],["title/215",[200,757.233,1323,669.819]],["content/215",[5,3.31,7,2.77,35,3.794,48,2.685,52,4.541,64,3.48,102,4.588,146,6.691,148,7.677,152,5.049,194,3.12,200,14.058,208,3.469,211,6.032,213,7.694,214,7.29,219,3.639,230,7.523,266,6.841,278,6.252,317,2.942,358,3.769,403,11.894,432,5.551,434,4.462,446,10.577,614,4.918,624,8.008,664,7.677,666,6.841,688,11.192,723,6.387,725,7.925,827,14.515,882,6.032,883,5.879,920,6.598,1263,5.382,1323,12.435,1335,10.389,1589,8.513,1835,6.291,2243,7.29,2244,13.784,2245,16.095,2246,11.192,2247,8.184,2274,7.911,2278,9.475,2279,10.31,2280,15.031,2281,13.813,2282,10.31]],["keywords/215",[]],["title/216",[1300,871.939,1323,669.819]],["content/216",[1,2.096,5,3.176,35,3.42,59,4.93,66,6.662,70,6.855,96,6.662,97,4.673,139,2.976,144,1.402,146,5.001,149,10.822,160,2.16,162,1.834,181,6.913,188,6.183,204,4.006,208,3.641,211,11.866,279,3.721,317,3.205,337,3.521,403,9.756,425,5.449,446,10.292,467,10.751,476,9.234,542,5.985,556,7.455,614,8.88,688,11.906,743,7.19,758,4.93,761,5.864,775,3.738,956,7.19,1019,4.345,1200,6.329,1263,5.864,1300,13.492,1323,10.365,1497,6.756,1818,9.234,1835,6.855,1869,13.203,2042,6.662,2227,8.621,2283,10.324,2284,10.324,2285,17.108,2286,10.324,2287,8.918,2288,10.324,2289,10.324,2290,10.324,2291,10.324,2292,6.488,2293,10.324]],["keywords/216",[]],["title/217",[403,734.062,1323,669.819]],["content/217",[1,0.988,5,2.225,7,4.033,35,2.881,49,5.53,52,4.392,59,2.325,66,3.141,75,2.262,96,3.141,97,2.203,102,3.51,139,2.66,140,2.777,143,3.541,144,1.681,146,3.96,149,6.02,153,2.049,160,1.019,162,1.452,181,4.591,183,2.637,202,2.176,204,6.464,208,3.179,209,2.277,211,7.88,240,1.814,242,2.984,252,2.448,255,3.141,274,2.916,275,7.331,277,2.451,279,4.972,305,6.329,317,3.843,336,2.073,337,1.66,340,3.172,350,2.087,358,2.23,376,2.497,403,11.885,425,2.569,434,4.976,443,9.109,446,9,455,4.952,467,6.64,476,5.137,542,2.822,556,3.515,594,2.883,614,5.484,628,2.375,646,7.383,647,9.157,688,3.944,743,3.39,758,3.904,761,2.765,775,3.826,901,7.016,956,3.39,1019,2.049,1059,3.099,1089,7.489,1153,9.123,1170,5.275,1200,5.011,1263,7.836,1300,8.333,1323,10.094,1340,4.868,1409,3.185,1493,3.944,1497,3.185,1711,3.39,1818,5.137,1835,8.218,1869,9.494,1870,4.374,2011,4.065,2041,3.662,2042,3.141,2227,4.065,2275,4.065,2276,4.065,2281,8.174,2283,8.174,2284,4.868,2285,8.174,2286,4.868,2287,4.205,2288,4.868,2289,4.868,2290,4.868,2291,4.868,2292,3.059,2293,4.868,2294,5.297,2295,4.868,2296,4.585,2297,4.585,2298,4.585,2299,5.297,2300,8.895,2301,2.822,2302,11.498,2303,8.895,2304,4.868,2305,5.297,2306,10.566,2307,8.895,2308,8.895,2309,8.895,2310,5.297,2311,5.297,2312,5.297,2313,5.297,2314,5.297,2315,4.374,2316,8.895,2317,4.374,2318,5.297,2319,5.297,2320,5.297,2321,5.297,2322,5.297,2323,5.297,2324,5.297]],["keywords/217",[]],["title/218",[1059,703.852,1323,669.819]],["content/218",[1,1.238,5,2.826,7,1.783,11,2.709,35,2.881,48,4.416,52,4.223,59,2.913,64,2.241,102,3.27,137,2.285,139,2.267,144,0.829,146,4.768,148,4.943,152,3.598,181,3.651,193,5.83,194,2.009,208,2.634,211,9.041,213,8.679,214,9.25,219,3.78,230,7.191,232,3.193,266,4.405,278,4.455,279,2.198,337,2.081,358,3.875,425,3.22,432,5.767,446,10.793,624,5.707,625,5.382,646,3.859,656,7.574,664,7.976,666,7.108,687,8.503,697,5.24,709,4.493,723,9.573,725,5.648,729,8.503,809,3.613,827,11.507,882,7.878,883,7.679,920,4.248,1059,11.989,1105,6.742,1115,4.405,1161,4.811,1179,4.05,1187,4.694,1323,11.049,1335,7.404,1709,3.431,1714,4.694,1865,8.219,1870,8.844,2243,4.694,2244,10.927,2245,14.968,2246,14.777,2247,5.27,2248,9.272,2249,8.503,2250,9.844,2251,8.844,2252,9.272,2253,5.746,2254,9.272,2255,9.844,2256,9.272,2257,5.746,2258,9.844,2259,5.481,2260,9.844,2261,8.219,2262,9.844,2265,6.1,2274,5.094,2275,5.094,2276,5.094,2277,5.481,2325,6.1,2326,6.638,2327,6.1,2328,5.746,2329,6.638,2330,10.712,2331,6.638,2332,6.638,2333,6.638,2334,6.638,2335,6.638,2336,6.638,2337,6.638]],["keywords/218",[]],["title/219",[193,654.836,1323,669.819]],["content/219",[1,2.397,5,2.965,13,9.546,14,13.939,35,4.599,45,1.71,52,2.993,58,3.31,62,2.795,75,5.486,139,2.935,140,2.472,144,1.044,146,6.965,152,4.316,153,3.234,174,3.863,181,6.458,193,12.649,198,4.201,208,3.434,211,7.516,214,4.055,216,6.637,219,4.534,230,3.546,246,6.226,265,5.086,278,5.344,279,2.769,305,4.602,336,3.271,337,2.621,371,4.891,425,4.055,432,4.502,615,4.126,625,7.861,697,4.09,699,6.059,723,7.959,725,8.25,774,4.828,842,5.779,882,4.891,883,4.768,920,5.351,1129,3.127,1139,3.722,1224,5.028,1228,6.637,1250,6.903,1263,4.364,1285,12.919,1292,7.237,1293,12.919,1320,14.378,1323,11.137,1327,7.683,1328,11.806,1329,7.683,1330,5.351,1331,7.683,1332,7.683,1334,11.806,1335,5.779,1414,6.226,1738,6.059,2338,7.683,2339,8.361,2340,8.361,2341,8.361,2342,15.647,2343,7.683,2344,12.848,2345,12.848,2346,8.361,2347,8.361,2348,8.361,2349,8.361,2350,8.361,2351,8.361,2352,7.683,2353,7.237,2354,6.226,2355,12.848]],["keywords/219",[]],["title/220",[1323,669.819,2297,1041.352]],["content/220",[1,1.354,5,3.038,7,1.95,11,2.962,35,3.057,48,2.996,52,4.129,64,2.45,66,4.304,102,3.512,139,1.688,144,0.906,146,5.121,148,5.404,152,4.801,181,3.921,193,8.851,194,2.196,208,3.181,211,9.513,213,9.074,214,8.598,230,3.078,232,7.821,266,4.816,278,4.785,279,2.404,317,2.071,337,2.275,358,4.077,403,4.428,425,3.52,432,6.194,434,3.141,446,10.662,614,3.462,624,6.129,625,5.78,656,8.134,664,8.566,666,7.633,688,8.566,700,2.926,723,10.073,725,6.066,729,9.132,809,3.95,813,3.078,827,8.566,882,8.361,883,8.15,920,4.645,1105,7.241,1323,11.413,1335,7.952,1835,4.428,1865,8.827,2243,5.132,2244,8.134,2245,15.573,2246,14.044,2247,5.761,2248,9.957,2249,9.132,2251,9.499,2252,9.957,2253,6.282,2254,9.957,2256,9.957,2257,6.282,2274,5.569,2275,5.569,2276,5.569,2295,10.572,2297,17.743,2356,7.258,2357,11.504,2358,11.504,2359,11.504,2360,11.504,2361,11.504,2362,11.504,2363,11.504,2364,11.504,2365,11.504,2366,7.258,2367,7.258]],["keywords/220",[]],["title/221",[1093,757.965,1139,439.706,1146,585.741]],["content/221",[1,3.738,35,3.356,58,6.212,88,6.103,91,5.712,129,7.675,143,4.831,144,1.959,204,8.295,208,3.069,279,6.636,286,8.947,317,4.477,337,4.918,425,7.61,745,11.682,1139,6.984,1146,11.883,1160,10.411,1193,14.418,1293,12.954,1357,12.954,1702,12.954,2368,15.69,2369,15.69,2370,15.69,2371,15.69,2372,15.69,2373,15.69,2374,15.69,2375,15.69,2376,15.69]],["keywords/221",[]],["title/222",[1139,535.538,2377,923.159]],["content/222",[1,3.986,5,2.576,51,6.23,58,6.882,75,7.422,129,8.503,144,2.17,149,11.764,192,3.482,207,9.461,277,3.705,279,5.757,337,5.448,362,8.431,425,8.431,742,7.422,1139,7.737,1707,15.045,2377,16.396,2378,21.369,2379,13.338]],["keywords/222",[]],["title/223",[774,570.435,1129,369.428,1139,439.706]],["content/223",[1,3.689,5,3.241,45,3.143,51,5.508,58,6.085,75,6.562,129,7.518,136,3.567,140,2.005,144,1.919,160,2.955,192,3.079,197,6.085,209,6.606,279,5.09,328,12.69,337,4.817,425,7.454,742,6.562,744,9.281,774,12.627,915,10.867,1012,13.302,1114,10.01,1129,7.396,1139,6.841,1211,11.726,1217,14.123,1959,14.123,1961,14.123,2380,19.776,2381,10.623]],["keywords/223",[]],["title/224",[35,329.08]],["content/224",[]],["keywords/224",[]],["title/225",[35,211.306,136,229.264,278,410.861]],["content/225",[1,3.121,5,2.069,18,3.489,35,4.954,45,1.908,48,4.837,53,4.378,59,4.094,60,4.927,61,6.605,75,5.961,84,3.018,102,4.262,127,6.597,130,3.18,136,5.021,138,3.672,140,1.822,143,2.873,144,1.165,162,2.278,174,4.31,181,6.777,209,4.01,214,4.525,221,4.564,223,8.184,236,6.597,259,6.501,265,5.438,272,7.961,273,3.784,277,2.976,278,6.958,280,5.779,281,7.158,296,4.687,320,5.692,325,7.865,331,4.31,333,4.645,351,4.645,361,5.532,376,3.919,421,11.527,447,3.489,540,5.872,562,6.314,624,4.97,625,7.014,626,8.787,627,6.597,628,4.183,646,5.03,704,6.314,750,4.183,752,4.414,758,4.094,802,7.158,819,5.194,848,5.961,875,4.731,877,6.314,1039,4.487,1058,5.387,1072,7.014,1073,7.158,1093,7.158,1208,5.023,1259,6.314,1698,11.527,1788,6.314,1828,7.703,1981,7.703,2382,8.573,2383,8.573,2384,7.703,2385,6.947,2386,8.075,2387,13.961,2388,9.329,2389,6.947,2390,6.19,2391,6.947,2392,8.573,2393,8.075]],["keywords/225",[]],["title/226",[35,329.08]],["content/226",[35,5.293,45,3.826,48,3.677,52,3.289,137,4.859,140,1.842,144,1.762,145,6.424,146,8.328,151,5.557,160,4.035,161,6.523,162,3.053,163,7.029,164,4.458,165,7.521,166,8.259,167,7.093,168,9.983,169,10.232,170,9.368,171,9.035,172,11.298,173,6.153,174,6.523,175,8.051,176,7.953,177,8.259,178,8.153,179,7.029,180,4.028,186,4.028,243,5.429,265,4.589,277,3.01,404,5.429,1660,12.22,2223,11.657]],["keywords/226",[]],["title/227",[35,257.359,642,610.082]],["content/227",[35,4.356,138,9.242,143,7.231]],["keywords/227",[]],["title/228",[140,200.718]],["content/228",[5,1.565,7,1.752,18,2.44,35,3.847,48,5.135,51,2.338,52,5.368,61,3.086,83,3.59,137,3.635,140,3.201,144,0.814,146,4.701,151,5.237,152,3.548,155,3.339,160,3.641,162,1.065,164,4.188,167,3.277,172,10.194,173,6.666,174,4.88,175,6.023,176,7.497,177,6.179,178,6.099,179,5.258,180,4.364,181,5.214,186,1.861,187,3.928,194,3.196,214,6.454,217,3.449,223,7.483,265,2.12,277,3.582,279,2.16,340,4.745,350,3.942,352,2.906,373,9.562,374,9.581,375,5.759,376,4.717,380,7.654,624,7.089,625,6.686,630,3.98,637,6.647,643,2.968,644,4.612,645,6.543,646,6.821,647,9.466,648,3.98,649,3.277,650,5.005,651,3.922,652,5.513,653,6.179,654,4.249,655,4.857,725,8.065,882,3.816,883,3.72,884,9.909,925,5.178,1105,4.106,1149,4.857,1195,4.175,2190,4.918,2228,5.994,2394,5.994,2395,5.994,2396,5.994,2397,5.386,2398,5.386,2399,5.386,2400,9.705,2401,4.857,2402,5.005,2403,6.523,2404,6.523]],["keywords/228",[]],["title/229",[140,156.973,642,610.082]],["content/229",[5,1.968,7,2.345,11,1.503,35,3.722,37,1.231,48,1.349,49,3.126,51,3.128,52,5.288,61,3.075,62,1.231,64,4.842,78,1.4,79,0.737,84,0.638,88,0.767,90,1.468,91,1.885,93,1.363,94,6.245,102,1.984,103,1.241,105,2.492,108,3.314,112,1.801,120,2.05,130,0.672,131,1.222,133,1.241,136,0.855,137,1.267,138,2.558,139,2.105,140,2.692,141,1.562,143,1.134,144,1.906,150,1.616,151,1.449,152,1.74,155,1.885,160,3.09,162,1.846,163,0.982,164,3.413,165,1.051,173,0.859,174,3.003,180,3.227,181,3.298,182,2.1,183,2.579,185,3.18,186,3.005,187,2.855,189,1.458,192,1.748,194,3.187,197,3.039,198,0.991,201,2.759,202,2.67,204,1.313,209,6.371,214,2.512,216,1.565,217,2.123,219,2.294,225,2.723,227,0.526,240,2.227,241,0.925,242,2.918,252,2.393,256,0.685,257,1.394,258,1.139,259,1.714,263,2.742,265,4.12,268,1.186,273,3.113,275,1.073,277,2.948,278,0.82,280,1.222,285,0.75,318,1.92,320,2.246,321,0.878,323,1.241,327,1.098,329,3.36,330,1.394,333,3.237,337,2.736,338,1.051,340,2.318,345,1.051,347,1.308,349,1.175,350,2.654,352,1.013,353,0.848,358,3.597,361,3.855,373,5.486,374,2.759,375,0.853,376,2.155,378,1.817,391,3.662,392,1.394,396,1.394,398,1.308,404,2.5,423,6.156,425,0.956,432,4.699,446,4.032,447,1.377,455,2.05,508,1.262,540,2.317,552,2.742,554,1.885,563,1.019,568,1.98,583,2.492,615,0.973,626,1.241,627,1.394,640,1.513,646,4.331,651,3.114,652,3.393,653,1.154,656,2.603,657,2.923,658,1.394,659,1.707,660,1.707,661,2.356,662,1.628,663,1.707,664,2.742,665,3.187,666,2.443,667,1.707,668,1.707,669,4.399,670,5.427,671,2.322,672,2.317,673,0.897,674,1.124,675,2.1,676,0.81,677,1.062,678,1.565,679,1.363,680,1.707,681,4.84,682,1.565,683,1.513,684,1.707,685,1.363,686,1.903,687,1.565,688,1.468,689,2.742,690,1.707,691,1.707,692,1.565,693,4.917,694,1.707,695,2.026,696,2.183,697,2.534,698,5.725,699,2.668,700,2.088,701,1.429,702,1.262,703,1.565,704,1.335,705,1.812,706,1.812,707,1.812,708,1.707,709,2.492,710,1.707,711,1.468,712,1.363,713,1.565,714,1.707,715,1.565,716,1.513,717,1.098,718,1.308,719,1.565,720,1.335,721,3.187,722,1.308,723,4.027,724,1,725,2.731,726,1.565,727,1.707,728,4.483,729,1.565,730,1.812,731,4.483,732,5.627,733,3.383,734,1.707,735,1.565,736,1.812,737,3.187,738,1.812,739,1.812,740,7.054,741,12.608,742,2.211,743,1.262,744,5.643,745,1.468,746,1.073,747,1.707,748,7.447,749,3.803,750,2.915,751,8.356,752,1.742,753,2.183,754,2.214,755,3.383,756,3.383,757,2.443,758,2.273,759,1.628,760,1.628,761,1.029,762,4.483,763,3.187,764,1.468,765,2.668,766,1.707,767,1.565,768,3.619,769,1.707,770,1.468,771,4.276,772,1.707,773,1.707,774,2.126,775,2.554,776,3.187,777,1.707,778,1.707,779,1.468,780,1.628,781,3.187,782,1.707,783,1.707,784,3.187,785,10.062,786,1.707,787,5.627,788,3.187,789,6.901,790,1.885,791,2.545,792,2.668,793,3.187,794,2.825,795,1.639,796,4.988,797,2.443,798,5.974,799,4.276,800,1.707,801,4.111,802,2.825,803,1.073,804,1.628,805,1.707,806,3.071,807,1.707,808,2.759,809,1.073,810,1.707,811,4.759,812,1.098,813,0.836,814,1.628,815,1.513,816,1.707,817,1.565,818,1.429,819,1.098,820,5.974,821,1.308,822,1.098,823,1.262,824,1.429,825,1.111,826,1.565,827,2.742,828,3.383,829,1.707,830,2.443,831,1.707,832,1.628,833,7.554,834,2.668,835,1.812,836,1.186,837,3.187,838,4.276,839,1.707,840,1.222,841,3.383,842,1.363,843,1.222,844,3.383,845,1.222,846,1.812]],["keywords/229",[]],["title/230",[723,952.996]],["content/230",[5,1.108,7,2.008,18,2.795,35,3.846,48,5.206,51,2.679,52,5.523,83,4.114,137,4.053,140,3.144,144,0.933,146,5.241,151,5.734,152,3.955,160,3.844,162,1.22,164,4.246,167,3.755,172,10.762,173,6.349,174,5.44,175,6.714,176,8.207,177,6.888,178,6.799,179,5.862,180,4.716,181,5.634,186,2.133,187,4.379,194,3.563,214,7.066,217,2.441,223,5.76,265,2.429,277,3.105,279,2.475,340,5.194,350,4.219,352,3.239,373,8.017,374,6.273,375,6.305,376,5.047,380,8.533,624,6.273,625,7.319,630,4.56,637,7.411,643,3.401,645,4.63,646,5.955,647,9.312,648,4.56,649,3.755,650,5.735,651,4.494,652,6.146,653,6.888,654,4.868,655,5.565,723,9.025,725,6.208,884,10.848,925,5.933,1195,4.783,2190,5.483,2394,6.868,2395,6.868,2398,6.171,2399,6.171,2401,5.565,2402,5.735]],["keywords/230",[]],["title/231",[2405,1221.21]],["content/231",[5,1.663,7,1.889,18,2.63,35,4.469,48,5.579,51,2.52,52,5.399,61,6.621,83,3.87,91,2.56,137,3.861,140,3.132,144,0.878,146,4.993,151,5.508,152,2.362,160,3.754,162,1.148,164,4.306,167,3.533,172,10.509,173,6.961,174,5.183,175,6.397,176,7.885,177,6.563,178,6.478,179,5.585,180,4.557,181,4.77,186,2.006,187,2.615,194,3.395,214,6.788,217,3.663,223,6.847,230,5.936,265,2.285,277,4.161,279,2.329,340,4,350,2.632,352,1.934,370,8.416,373,9.467,374,9.298,375,6.057,376,4.899,380,5.096,382,7.932,447,2.63,624,5.976,625,5.636,630,4.29,637,7.061,643,3.2,644,4.972,645,6.949,646,4.041,647,8.999,648,4.29,649,3.533,650,5.395,651,4.228,652,5.856,653,4.114,654,4.58,655,5.236,725,5.915,774,4.06,978,5.488,1900,6.32,2013,4.169,2226,6.086,2405,8.905,2406,6.462,2407,6.462]],["keywords/231",[]],["title/232",[2243,1087.777]],["content/232",[5,1.731,7,1.988,18,2.768,35,4.415,48,5.665,51,2.652,52,5.459,61,6.848,83,4.073,91,2.694,137,4.021,140,3.139,144,0.924,146,5.2,151,5.697,152,2.486,160,3.829,162,1.208,164,4.23,167,3.718,172,10.721,173,6.308,174,5.398,175,6.662,176,8.154,177,6.835,178,6.747,179,5.817,180,4.69,181,4.934,186,2.112,187,2.753,194,3.536,214,7.02,217,2.417,223,7.081,230,6.139,265,2.405,277,3.815,279,2.451,340,4.166,350,2.741,352,2.036,370,8.704,373,7.973,374,6.224,375,6.265,376,5.023,380,5.364,382,8.261,447,2.768,624,6.224,625,5.87,630,4.515,637,7.353,643,3.368,645,4.585,646,4.209,647,9.261,648,4.515,649,3.718,650,5.679,651,4.45,652,6.098,653,4.33,654,4.82,655,5.511,725,3.902,774,4.274,978,5.715,1900,6.582,2013,4.388,2226,6.406,2243,5.233,2405,5.875,2406,6.801,2407,6.801]],["keywords/232",[]],["title/233",[2408,1413.703]],["content/233",[5,2.198,18,3.787,35,4.134,48,4.572,51,3.629,52,4.502,78,5.64,137,3.485,140,2.684,144,1.264,146,4.507,151,5.838,155,5.183,160,3.376,162,1.652,164,4.37,167,5.087,172,9.451,173,7.65,174,4.678,175,5.774,176,5.704,177,5.923,178,5.847,179,5.041,180,4.232,181,3.451,186,2.889,214,4.911,217,4.844,223,4.953,265,3.291,277,4.386,340,3.61,358,4.846,373,11.047,374,10.96,375,8.365,376,4.164,624,5.394,625,7.453,630,6.178,643,4.607,644,7.159,645,9.189,646,3.648,647,8.356,648,6.178,649,5.087,795,4.507,1071,7.338,1105,9.336,1709,11.48,2261,7.769,2408,9.304,2409,9.304,2410,9.304,2411,8.36]],["keywords/233",[]],["title/234",[2259,1270.201]],["content/234",[5,1.673,18,4.223,35,3.993,48,4.862,51,4.047,52,4.735,78,6.102,137,3.886,140,2.436,144,1.41,146,5.026,151,6.316,160,3.59,162,1.843,164,4.318,167,5.673,172,10.051,173,6.993,174,5.217,175,6.439,176,6.361,177,6.606,178,6.52,179,5.622,180,4.579,181,3.848,186,3.222,214,5.476,217,3.687,223,5.523,265,3.67,277,3.979,340,4.026,358,5.097,373,9.859,374,6.015,375,8.798,376,4.504,624,6.015,625,8.062,630,6.889,643,5.138,645,6.994,647,6.361,648,6.889,649,5.673,795,5.026,1071,8.183,1105,7.106,1709,11.863,2259,9.323,2261,8.664,2409,10.376,2410,10.376,2411,9.323]],["keywords/234",[]],["title/235",[2412,1331.557]],["content/235",[5,3.169,35,4.104,45,3,52,3.417,89,6.101,139,2.152,140,2.79,144,1.831,145,6.675,157,6.94,160,2.821,162,2.394,164,3.116,186,4.185,197,5.808,224,4.79,243,5.641,273,5.95,277,3.127,292,5.913,354,12.697,361,8.698,432,10.33,596,10.139,614,6.997,673,6.675,704,9.928,752,6.94,848,6.263,852,6.885,855,9.069,1054,11.645,1123,5.547,1458,11.256,1735,8.698,2013,8.698,2381,10.139,2412,12.697,2413,15.842]],["keywords/235",[]],["title/236",[2414,1413.703]],["content/236",[5,2.232,35,4.175,48,3.922,140,3.273,144,1.88,145,6.853,160,2.896,162,2.458,164,3.199,186,4.297,243,5.792,265,6.344,277,4.161,278,8.118,290,8.485,354,13.036,404,7.506,682,11.956,686,7.784,754,9.056,848,6.431,977,8.589,1155,9.479,1735,8.931,2301,11.537,2413,16.116,2414,13.84,2415,13.84,2416,13.84]],["keywords/236",[]],["title/237",[847,1180.425]],["content/237",[9,7.007,35,5.163,79,6.501,174,8.031,209,7.472,320,10.606,337,5.448,346,12.291,347,11.534,352,6.365,353,7.472,355,10.452,615,8.578,640,13.338,847,13.338,848,7.422,1317,12.598,2417,14.352,2418,15.974]],["keywords/237",[]],["title/238",[717,856.485]],["content/238",[35,5.071,112,8.988,174,10.211,183,9.148,207,10.001,258,12.763,346,12.992,352,5.055,700,7.407,717,13.197,1380,14.098]],["keywords/238",[]],["title/239",[721,1331.557]],["content/239",[35,4.241,60,6.998,112,9.699,320,12.098,434,8.581,717,11.039,722,13.156,937,10.675]],["keywords/239",[]],["title/240",[670,1087.777]],["content/240",[5,2.174,35,3.138,48,4.997,49,10.907,51,5.257,52,4.469,64,4.952,79,5.486,88,5.706,91,5.34,136,3.405,140,1.914,144,2.395,148,10.923,160,2.821,162,3.49,164,3.116,180,4.185,185,7.176,186,4.185,197,5.808,202,6.024,275,7.984,447,7.176,670,16.036,671,6.577,672,12.076,673,6.675,674,8.365,675,8.365,676,6.024,677,7.898,678,11.645,2419,13.48,2420,12.697]],["keywords/240",[]],["title/241",[94,912.212]],["content/241",[35,5.177,51,6.278,94,13.766,140,2.286,160,4.129,178,10.116,179,8.722,180,4.998,182,9.989,638,16.098,700,8.655,718,11.623,719,13.906,750,7.854,1294,10.116,2421,9.989]],["keywords/241",[]],["title/242",[1323,856.485]],["content/242",[5,2.957,52,4.647,62,6.67,75,8.518,88,6.061,91,5.673,140,2.033,160,2.996,162,3.256,164,3.31,180,4.446,185,7.622,209,6.698,265,6.485,277,4.253,279,5.16,350,3.656,685,10.77,744,11.257,758,6.838,764,11.602,1323,12.253,1369,12.865,1711,12.768,2422,14.318]],["keywords/242",[]],["title/243",[193,837.327]],["content/243",[5,2.427,35,4.404,52,4.796,137,5.636,140,2.686,160,3.149,164,3.478,178,9.455,179,8.152,181,7.676,193,12.258,197,6.482,265,5.322,350,3.841,649,10.344,685,11.317,697,8.009,746,8.912,750,7.341,1059,9.579,1114,10.664,1300,11.866,2423,15.046,2424,13.519]],["keywords/243",[]],["title/244",[2238,1331.557]],["content/244",[5,2.325,35,4.287,52,4.668,61,7.423,136,5.399,137,5.4,140,2.615,160,3.017,164,3.333,193,12.018,197,7.934,256,5.454,257,11.094,265,5.1,329,8.109,350,3.681,594,10.907,649,10.068,685,10.845,697,7.675,746,8.54,750,7.035,1059,9.179,1300,11.371,2069,11.682,2423,14.418,2424,12.954]],["keywords/244",[]],["title/245",[1263,803.005]],["content/245",[35,3.69,45,3.527,140,2.251,160,3.317,161,7.97,162,3.928,164,4.518,173,7.517,208,4.51,277,5.27,1263,12.036,1299,10.686,2425,14.242]],["keywords/245",[]],["title/246",[2426,1538.415]],["content/246",[35,3.607,45,3.448,140,2.2,160,3.243,161,7.791,162,3.897,164,4.455,173,7.349,183,11.364,208,4.464,277,5.236,1263,11.914,1299,10.446,2425,13.923]],["keywords/246",[]],["title/247",[2427,1538.415]],["content/247",[35,3.502,45,3.348,140,2.136,160,3.149,161,7.565,162,4.056,164,4.784,208,4.622,265,5.322,277,4.389,358,6.232,2425,13.519,2428,17.125]],["keywords/247",[]],["title/248",[1789,639.86]],["content/248",[35,3.718,45,3.555,140,2.268,160,3.343,161,8.031,162,3.939,164,4.539,208,4.525,265,5.65,1789,10.305,2425,14.352,2428,16.768]],["keywords/248",[]],["title/249",[1284,1145.489]],["content/249",[5,3.324,189,7.457,277,5.107,278,7.834,358,4.722,382,13.317,653,11.018,692,14.951,1058,10.876,1284,14.024,2429,17.308]],["keywords/249",[]],["title/250",[2430,1145.489]],["content/250",[5,2.723,35,4.728,94,10.895,152,6.172,198,9.231,277,3.917,376,5.158,447,6.871,653,10.749,724,9.317,1778,18.248,2430,16.457,2431,18.374,2432,16.885]],["keywords/250",[]],["title/251",[151,605.471]],["content/251",[5,1.059,35,4.604,37,3.798,45,2.323,52,3.754,62,5.388,121,6.388,139,3.447,140,0.932,143,3.498,144,1.765,150,4.985,151,7.372,152,2.4,160,1.374,162,3.205,164,3.736,174,5.248,180,4.035,185,3.494,192,2.276,201,3.805,204,7.674,217,5.263,240,2.447,244,4.368,257,5.051,265,4.597,277,3.435,318,2.499,329,8.33,358,2.848,556,7.537,568,4.344,615,3.525,646,4.092,744,9.857,758,6.206,759,5.898,760,5.898,761,3.728,764,5.319,768,8.972,775,6.232,795,5.056,1153,5.056,1417,6.931,1711,7.27,2232,12.996,2246,8.458,2433,7.143,2434,4.652,2435,5.177,2436,12.996,2437,12.996,2438,7.143,2439,7.143,2440,14.142,2441,7.143,2442,7.143,2443,7.143,2444,11.359,2445,11.359,2446,16.116,2447,7.143,2448,12.241,2449,17.212,2450,11.359,2451,8.458,2452,11.359,2453,7.143,2454,7.143,2455,7.143,2456,7.143,2457,7.143,2458,7.143,2459,7.143,2460,5.67,2461,7.143,2462,6.564,2463,7.143]],["keywords/251",[]],["title/252",[2413,1270.201]],["content/252",[5,2.796,35,5.128,45,2.924,50,4.897,136,3.318,139,2.098,140,2.461,144,1.785,145,6.506,160,2.749,161,6.606,162,3.664,163,7.118,164,4.008,186,4.079,243,5.498,265,4.647,273,7.652,277,3.048,278,5.947,292,5.763,361,8.478,432,10.158,564,9.15,614,6.819,621,7.698,848,8.055,852,6.71,855,8.002,1054,11.349,1123,5.406,1291,9.312,1735,8.478,2381,9.882,2412,16.329,2413,11.805]],["keywords/252",[]],["title/253",[136,279.23,144,150.19]],["content/253",[4,5.673,7,1.282,29,4.925,35,2.278,45,2.574,136,1.107,140,2.968,144,0.596,145,3.704,146,4.74,152,1.603,201,5.673,204,3.796,213,8.411,214,11.202,217,1.558,219,7.721,230,4.516,232,10.096,234,7.463,267,9.216,268,6.403,269,19.524,270,8.17,275,12.571,277,3.28,348,11.806,383,2.49,423,3.624,483,3.298,505,4.384,625,2.397,646,9.061,697,3.982,723,2.955,725,6.636,761,5.558,784,4.129,790,5.451,808,2.542,1072,2.397,1138,16.348,1140,3.107,1149,6.062,1237,8.792,1296,3.166,1738,3.458,1818,2.755,2224,9.216,2233,4.129,2234,9.216,2247,3.787,2343,7.481,2396,4.384,2405,8.452,2464,4.771,2465,4.771,2466,8.792,2467,9.785,2468,9.785,2469,9.785,2470,9.216,2471,9.785,2472,10.648,2473,9.785,2474,9.785,2475,9.216,2476,6.935,2477,10.648,2478,9.785,2479,9.216,2480,4.129,2481,7.481,2482,8.141,2483,4.771,2484,4.384,2485,4.771,2486,4.129,2487,4.384,2488,4.384,2489,4.771,2490,4.129,2491,4.771,2492,4.771,2493,4.771,2494,4.384,2495,4.771,2496,4.771]],["keywords/253",[]],["title/254",[1,156.3,337,262.624,446,387.125,1989,607.247]],["content/254",[]],["keywords/254",[]],["title/255",[408,938.631]],["content/255",[1,4.667,5,2.868,7,3.993,21,7.836,37,7.194,47,9.207,50,5.091,64,6.532,71,8.937,121,6.713,136,4.994,196,6.477,202,6.104,225,4.638,256,5.167,408,13.129,484,10.058,503,10.058,506,11.067,522,8.695,620,7.467,642,7.537,677,8.002,966,9.068,1039,7.148,1161,10.771,1465,10.771,1759,11.798,1819,12.271,2497,11.067,2498,11.404]],["keywords/255",[]],["title/256",[32,1221.21]],["content/256",[]],["keywords/256",[]],["title/257",[513,925.064]],["content/257",[1,2.667,5,2.119,9,7.605,36,10.809,75,6.104,124,7.319,130,7.653,185,6.994,192,2.864,193,7.782,194,4.327,241,6.71,256,4.97,273,5.799,285,7.174,318,3.145,325,8.054,336,5.594,407,9.487,425,6.934,468,10.646,513,14.415,567,10.362,571,6.024,620,7.183,695,7.869,913,13.138,941,6.657,1005,9.676,1035,10.109,1120,10.362,1712,11.349,2499,14.297,2500,14.297,2501,17.337,2502,14.297,2503,14.048,2504,10.97]],["keywords/257",[]],["title/258",[37,514.328]],["content/258",[1,4.506,4,3.734,5,1.658,9,4.511,18,2.622,30,4.956,33,3.098,36,7.15,37,7.306,45,2.288,47,6.932,48,1.826,50,3.833,55,3.815,57,7.912,62,2.344,68,5.08,71,4.215,72,3.696,73,6.067,79,2.622,89,2.916,125,4.412,136,3.701,139,1.029,142,3.522,143,3.446,162,1.826,187,7.251,202,6.548,219,7.713,225,4.976,248,3.623,317,3.193,321,3.12,322,3.12,325,3.949,336,2.743,337,6.973,352,3.079,353,3.013,372,4.486,391,4.956,432,3.774,434,6.901,442,4.277,447,2.622,476,4.048,493,4.744,494,3.815,503,4.744,511,4.277,573,2.826,676,2.879,677,3.774,695,6.159,789,4.277,875,3.555,901,4.277,902,4.566,911,5.219,927,5.08,934,7.733,937,3.774,938,4.048,941,6.503,957,9.382,975,10.717,1007,10.4,1016,7.573,1098,5.219,1139,7.098,1151,3.903,1161,10.122,1166,6.442,1357,5.788,1367,4.412,1368,5.08,1465,5.08,1518,9.686,1690,5.788,1707,12.089,1990,4.845,2009,6.067,2012,6.442,2145,5.564,2379,8.586,2503,5.219,2505,10.283,2506,6.067,2507,5.788,2508,7.01,2509,7.01,2510,7.01,2511,4.845,2512,7.01,2513,6.442,2514,6.067,2515,10.283,2516,6.442,2517,9.686,2518,6.067,2519,7.01,2520,5.788,2521,7.01,2522,6.442,2523,6.442,2524,7.01,2525,5.788]],["keywords/258",[]],["title/259",[36,615.868,2526,850.703]],["content/259",[1,2.947,4,8.417,5,3.283,35,3.38,36,10.304,37,5.282,50,5.411,79,5.909,121,7.136,130,5.385,136,4.672,142,7.938,196,6.885,225,6.281,256,5.492,265,5.135,337,4.952,482,12.542,495,7.475,506,11.764,511,12.281,620,7.938,695,8.696,858,13.675,957,8.507,2526,14.233,2527,15.8,2528,15.8,2529,15.8,2530,15.8]],["keywords/259",[]],["title/260",[136,279.23,957,647.764]],["content/260",[1,4.272,5,2.518,36,8.697,37,5.68,52,3.957,91,6.185,124,8.697,136,4.89,196,7.404,446,7.85,580,10.525,709,11.498,712,11.743,758,7.456,761,8.868,957,11.344,966,10.366,1161,12.313,1247,11.743,1465,12.313,1519,11.743,2511,11.743,2526,12.013]],["keywords/260",[]],["title/261",[902,1001.987]],["content/261",[1,4.014,4,10.309,9,5.991,18,5.558,30,13.683,32,11.798,37,4.969,89,6.182,125,12.18,187,7.198,195,9.068,352,4.089,432,8.002,573,5.991,612,11.636,674,11.035,677,8.002,695,8.18,830,9.862,902,9.68,957,10.419,1139,8.614,1241,10.771,2511,14.873,2531,14.863,2532,14.863,2533,14.863,2534,11.067,2535,8.18,2536,14.863,2537,13.658,2538,12.271,2539,14.863,2540,14.863]],["keywords/261",[]],["title/262",[1005,1041.133]],["content/262",[]],["keywords/262",[]],["title/263",[2541,1180.425]],["content/263",[1,4.257,21,7.047,29,5.229,31,9.686,64,6.088,67,9.927,79,4.998,80,8.279,124,6.842,187,4.971,225,4.171,254,8.155,316,9.045,317,5.146,324,8.155,336,5.229,494,7.274,620,10.257,622,12.467,695,7.356,742,5.707,901,12.455,1005,9.045,1066,7.529,1165,11.568,1300,9.686,1367,8.412,1714,12.753,1784,16.855,2166,14.11,2541,17.511,2542,8.705,2543,12.282,2544,10.255,2545,12.282,2546,13.365,2547,12.282,2548,8.412,2549,16.574,2550,18.036]],["keywords/263",[]],["title/264",[142,604.466,1018,923.159]],["content/264",[1,4.066,4,11.611,21,8.049,120,8.499,130,5.203,142,10.95,187,5.678,194,4.62,239,12.118,241,7.164,254,9.314,255,9.051,258,8.815,401,12.604,443,8.049,751,9.608,901,9.314,1005,10.331,1018,16.724,1433,12.118,1714,10.794,1783,12.604,1829,8.049,2166,13.609,2390,10.129,2541,11.713,2551,11.713,2552,15.265,2553,11.366,2554,12.604,2555,14.028,2556,13.212,2557,14.028]],["keywords/264",[]],["title/265",[2174,955.054,2558,1041.352]],["content/265",[1,3.738,9,6.325,21,8.273,65,10.041,134,12.954,226,8.031,290,11.289,333,7.812,620,7.883,622,10.845,695,8.635,724,7.956,901,9.573,1014,12.455,1196,10.219,1208,8.447,1229,10.219,1294,12.75,1965,13.58,2174,18.467,2401,11.682,2558,13.58,2559,15.69,2560,15.69,2561,15.69,2562,14.418,2563,8.735,2564,15.69,2565,15.69,2566,12.954,2567,15.69]],["keywords/265",[]],["title/266",[1035,1087.777]],["content/266",[]],["keywords/266",[]],["title/267",[47,952.996]],["content/267",[1,4.198,5,1.902,7,4.714,37,7.767,47,15.214,48,5.597,49,8.438,50,6.009,55,9.55,91,4.672,96,7.609,121,5.796,181,4.374,187,4.773,198,6.447,219,6.192,224,4.191,285,4.88,321,5.712,322,7.81,337,5.499,372,8.213,416,10.596,455,7.145,752,6.071,830,8.515,912,8.87,1139,5.712,1448,8.213,1619,9.3,1830,8.87,2000,10.187,2354,9.555,2518,15.186,2537,11.793,2538,10.596,2568,8.685,2569,9.555,2570,11.107,2571,9.3,2572,10.596,2573,8.515]],["keywords/267",[]],["title/268",[57,1087.777]],["content/268",[1,4.137,5,3.081,30,13.067,31,10.043,49,6.665,57,9.799,60,4.891,79,6.911,121,6.259,136,3.216,144,1.73,194,4.194,226,7.094,321,6.169,333,6.9,371,8.107,593,8.107,676,5.691,754,8.333,818,10.043,822,7.715,823,8.869,840,8.585,957,7.461,1007,10.319,1098,16.513,1115,9.195,1139,6.169,1184,8.722,1368,15.068,1995,11.442,2511,12.773,2517,11.995,2520,15.258,2551,14.179,2574,12.735,2575,12.735,2576,12.735,2577,12.735,2578,10.633,2579,13.858,2580,13.858]],["keywords/268",[]],["title/269",[192,241.008,975,923.159]],["content/269",[1,3.122,4,8.917,13,10.212,21,8.825,66,9.925,91,6.093,93,11.569,192,4.557,194,5.065,202,6.874,209,7.195,314,13.138,316,11.327,352,4.605,353,7.195,545,10.065,751,10.535,934,8.118,975,17.455,1032,14.487,1035,11.835,2166,14.428,2581,15.381]],["keywords/269",[]],["title/270",[208,300.899]],["content/270",[]],["keywords/270",[]],["title/271",[136,229.264,208,193.211,278,410.861]],["content/271",[1,3.398,5,1.782,18,2.871,37,4.02,45,1.57,48,5.597,49,3.693,52,1.788,53,3.603,61,7.936,75,5.135,80,4.756,84,2.484,97,3.193,102,2.344,130,2.617,136,4.687,137,2.643,143,2.364,144,0.958,156,5.001,162,1.963,181,6.585,192,1.538,203,4.378,208,4.089,214,3.724,221,3.756,222,4.617,223,9.45,236,5.429,240,2.63,241,3.603,259,6.902,265,4.818,272,6.858,273,3.114,277,3.16,278,6.166,280,4.756,281,5.891,296,3.857,307,4.325,318,1.689,325,6.775,331,3.547,332,4.226,333,3.823,349,2.45,351,3.823,352,2.112,358,4.567,359,6.042,361,4.553,376,5.113,421,9.929,447,2.871,540,4.832,554,3.93,562,5.196,624,4.09,625,6.042,626,7.569,627,5.429,628,3.442,643,3.494,646,2.766,661,4.914,720,8.138,722,9.836,750,3.442,752,3.632,802,5.891,813,3.256,819,4.275,836,4.617,848,5.135,875,3.893,877,5.196,938,4.434,1039,3.693,1058,4.434,1072,6.042,1073,5.891,1093,12.872,1208,4.134,1259,5.196,1698,6.339,1769,4.325,1788,5.196,1828,6.339,1981,6.339,2206,7.056,2246,8.954,2287,6.095,2382,7.056,2383,7.056,2384,6.339,2385,5.717,2386,6.646,2389,5.717,2390,5.095,2391,5.717,2448,6.646,2449,13.622,2582,12.026,2583,7.678,2584,7.678,2585,7.678,2586,3.575,2587,7.678,2588,7.678]],["keywords/271",[]],["title/272",[358,301.656,978,588.546]],["content/272",[5,2.82,7,3.89,45,2.961,48,5.534,75,6.183,102,4.42,136,3.361,152,4.865,168,10.239,207,7.882,265,4.707,266,9.608,277,4.996,309,7.084,313,13.307,317,4.132,321,6.446,358,4.77,370,11.44,373,9.227,374,7.714,375,6.267,376,4.065,377,9.8,378,7.146,382,13.452,386,13.307,978,7.084,1058,8.362,1129,5.416,1159,10.009,1208,7.797,1900,10.718,2013,8.587,2244,10.239,2589,14.481,2590,14.481,2591,13.307]],["keywords/272",[]],["title/273",[196,430.482,358,247.676,375,427.524]],["content/273",[1,2.927,5,2.325,37,5.245,48,4.086,84,5.076,102,4.789,196,9.622,265,5.1,277,4.707,323,9.875,325,8.839,340,5.594,358,5.833,370,9.434,373,7.61,375,10.403,447,5.868,614,7.484,646,5.652,695,8.635,791,10.845,876,16.546,1072,7.883,2568,10.618,2586,7.306,2592,13.58]],["keywords/273",[]],["title/274",[358,301.656,647,677.776]],["content/274",[1,3.162,5,2.512,48,5.072,52,2.844,61,5.775,96,7.239,102,3.727,126,8.262,138,4.805,143,3.759,188,6.719,197,4.833,208,3.809,211,7.142,217,3.986,221,5.972,265,3.968,271,7.341,277,2.602,278,8.1,324,7.448,333,6.078,336,4.777,358,6.232,373,8.222,374,6.504,375,5.283,376,4.758,437,6.31,543,7.813,614,8.085,646,7.016,647,13.478,741,7.683,848,5.212,1175,7.813,1214,7.683,1249,8.632,1448,7.813,1989,8.847,2507,10.079,2593,12.208,2594,12.208,2595,6.024,2596,9.367,2597,10.566,2598,12.208,2599,10.566,2600,10.079]],["keywords/274",[]],["title/275",[224,420.224,277,178.609,813,355.379]],["content/275",[1,3.541,7,4.727,31,6.082,45,1.716,46,3.446,48,4.084,49,7.542,50,2.874,51,3.008,52,1.955,53,3.939,62,4.308,70,7.861,79,3.138,80,5.199,84,2.715,91,3.055,97,3.49,102,2.562,121,3.79,126,5.679,130,4.391,136,1.948,137,2.889,138,3.303,144,1.958,153,3.246,181,2.86,187,3.121,192,3.142,194,2.54,208,3.712,224,7.596,265,2.728,277,4.27,285,3.191,292,5.194,317,3.676,318,3.45,336,6.136,350,1.969,358,4.759,362,4.07,379,5.679,615,4.141,625,4.216,646,6.338,647,8.835,741,5.282,744,3.939,775,5.854,813,6.652,922,5.199,1036,5.12,1107,12.949,1108,6.662,1113,9.871,1115,13.293,1207,4.568,1227,6.439,1788,5.679,2135,5.282,2600,10.638,2601,11.152,2602,10.638,2603,6.929,2604,7.712,2605,7.264,2606,11.152,2607,17.593,2608,6.082,2609,7.712,2610,8.392,2611,6.929,2612,8.392,2613,8.392,2614,8.392,2615,8.392,2616,15.228,2617,12.884,2618,8.392,2619,12.884,2620,8.392,2621,8.392]],["keywords/275",[]],["title/276",[208,300.899]],["content/276",[35,2.946,45,3.763,48,3.587,52,3.208,137,4.741,140,1.797,144,1.719,146,8.192,151,5.421,160,3.986,161,6.364,162,3.004,163,6.858,164,4.403,165,7.338,166,8.058,167,6.92,168,9.739,169,9.982,170,9.139,171,8.815,172,11.16,173,6.002,175,7.854,176,7.759,177,8.058,178,7.954,179,6.858,180,3.93,186,3.93,208,4.64,243,5.297,244,5.297,246,10.256,265,4.477,277,5.056,304,11.921,404,5.297,2622,12.657]],["keywords/276",[]],["title/277",[208,235.32,642,610.082]],["content/277",[138,9.242,143,7.231,208,3.983]],["keywords/277",[]],["title/278",[358,385.721]],["content/278",[5,2.122,7,2.592,18,3.608,48,4.918,51,3.458,52,4.398,83,5.311,137,3.321,140,1.868,144,1.204,146,4.295,151,5.634,155,4.939,160,3.282,162,1.575,164,4.011,167,4.848,172,10.166,173,7.438,175,5.502,176,8.065,177,5.645,178,5.572,179,4.804,180,4.084,181,4.879,186,2.753,208,4.133,213,4.939,214,6.943,217,4.675,223,4.72,265,3.136,270,7.403,277,4.504,279,3.195,340,3.44,358,5.855,373,10.896,374,11.256,375,7.387,376,4.791,624,5.14,625,4.848,630,5.887,643,4.391,644,6.822,645,8.868,646,7.266,647,11.362,648,5.887,649,4.848,654,6.284,1149,7.184,1154,7.184,2227,7.403,2623,7.184,2624,7.967,2625,6.993,2626,8.867]],["keywords/278",[]],["title/279",[358,301.656,642,610.082]],["content/279",[5,1.718,7,2.243,11,2.006,35,0.397,37,1.164,40,7.32,48,0.907,49,2.976,51,2.993,52,5.208,62,3.875,64,4.333,75,2.099,79,1.303,84,1.59,88,1.912,90,1.384,91,1.79,93,5.772,97,0.773,102,1.889,103,1.17,105,2.357,108,3.146,112,1.704,130,0.633,131,1.151,136,1.436,137,1.199,138,2.884,139,2.04,140,2.04,141,1.477,143,1.073,144,1.998,151,1.935,152,0.624,153,1.347,155,0.951,158,7.588,160,2.851,162,1.997,163,0.925,164,3.607,165,0.99,167,0.934,173,0.81,180,3.82,181,3.162,183,2.447,185,3.027,186,2.887,189,0.736,192,2.027,194,3.062,196,0.81,197,2.901,198,0.934,201,2.619,202,2.541,204,1.242,208,3.321,211,3.62,214,3.001,216,1.475,217,2.021,219,1.735,223,0.909,224,0.607,227,0.495,232,1.675,240,1.193,241,1.635,242,2.769,252,2.271,256,0.646,257,1.314,258,1.073,259,1.622,263,2.593,265,4.519,268,1.117,273,2.972,275,1.011,277,2.609,279,2.049,280,2.158,285,0.707,296,3.109,309,0.909,318,2.226,320,4.47,321,0.827,323,1.17,327,1.035,329,3.787,330,2.463,331,0.859,333,1.734,337,1.94,338,0.99,340,1.242,345,0.99,349,3.229,350,1.452,358,4.4,361,1.102,373,4.908,374,2.619,375,2.127,376,1.38,378,0.917,392,1.314,398,1.233,404,0.715,423,6.785,425,0.901,432,4.496,434,0.804,436,0.846,446,3.858,447,1.303,508,1.189,540,1.17,563,0.96,568,3.193,615,1.719,624,0.99,625,0.934,643,0.846,646,2.229,653,1.087,656,2.463,657,2.765,658,1.314,659,1.608,660,1.608,661,1.189,662,1.534,663,1.608,664,2.593,665,3.015,666,2.311,667,1.608,668,1.608,669,1.258,670,5.181,671,2.204,672,2.192,673,1.585,674,1.06,675,1.986,676,0.763,677,1,678,1.475,679,1.284,680,1.608,681,4.608,682,1.475,683,1.426,684,1.608,685,1.284,686,1.8,687,1.475,688,1.384,689,2.593,690,1.608,691,1.608,692,1.475,693,5.226,694,1.608,695,1.917,696,2.065,697,0.909,698,5.797,700,0.749,708,1.608,709,2.357,710,1.608,711,1.384,712,1.284,713,6.629,714,1.608,715,1.475,716,1.426,717,1.939,722,1.233,724,3.715,725,2.592,726,1.475,727,1.608,728,3.015,731,3.015,732,5.356,735,2.765,737,3.015,741,11.365,742,2.642,743,1.189,744,6.284,745,1.384,746,3.368,747,1.608,748,7.155,750,3.285,752,0.879,758,1.528,759,1.534,760,1.534,761,0.97,762,4.255,763,3.015,764,2.593,765,2.524,766,1.608,767,1.475,768,3.445,769,1.608,770,1.384,771,4.059,772,1.608,773,1.608,774,2.011,775,2.438,776,3.015,777,1.608,778,1.608,779,1.384,780,1.534,781,3.015,782,1.608,783,1.608,785,9.715,786,1.608,787,5.356,788,3.015,789,6.174,790,1.783,791,2.407,792,2.524,793,3.015,794,2.672,795,2.755,796,4.748,797,2.311,799,4.059,800,1.608,801,3.902,802,2.672,803,3.368,804,1.534,805,1.608,806,2.915,807,1.608,808,2.619,809,1.011,810,1.608,812,1.035,813,0.788,814,1.534,815,1.426,816,1.608,817,1.475,818,1.347,819,1.035,821,1.233,822,1.035,823,1.189,824,1.347,825,1.047,826,1.475,827,2.593,829,1.608,830,2.311,831,1.608,832,1.534,840,6.744,941,2.882,957,1.875,958,0.925,1123,1.859,1150,0.852,1222,6.408,1246,1.117,1263,2.566,1423,3.574,1464,1.384,1900,1.047,1989,1.347,2000,1.475,2041,7.525,2183,1.708,2275,3.772,2276,4.748,2421,3.529,2563,4.079,2600,6.049,2627,1.475,2628,5.905,2629,6,2630,1.858,2631,4.608,2632,6.189,2633,3.201,2634,6.189,2635,1.858,2636,1.426,2637,1.708,2638,1.858,2639,1.858,2640,1.858,2641,1.858,2642,1.708,2643,1.708,2644,1.858,2645,7.228,2646,7.228,2647,3.483,2648,3.483,2649,3.96,2650,3.201,2651,2.593,2652,3.483,2653,4.913,2654,1.608,2655,1.475,2656,2.672,2657,1.608,2658,3.015,2659,4.255,2660,1.858,2661,1.858,2662,1.858]],["keywords/279",[]],["title/280",[211,900.002]],["content/280",[5,1.64,7,2.974,18,4.14,48,4.809,51,3.967,52,4.693,83,6.092,137,3.81,140,2.064,144,1.382,146,4.927,151,6.227,160,3.551,162,1.807,164,3.922,167,5.561,172,10.847,173,6.895,175,6.312,176,8.913,177,6.476,178,6.392,179,5.511,180,4.514,181,5.393,186,3.158,208,4.168,211,6.476,213,5.666,214,7.674,217,3.615,223,5.415,265,3.598,270,8.494,277,4.295,279,3.666,340,3.947,358,5.558,373,9.771,374,8.429,375,7.991,376,5.183,624,5.897,625,5.561,630,6.754,643,5.037,645,6.857,646,5.7,647,10.402,648,6.754,649,5.561,654,7.21,1154,8.242,2623,8.242,2624,9.14,2625,8.022]],["keywords/280",[]],["title/281",[2244,1087.777]],["content/281",[5,1.418,18,3.578,48,4.423,51,3.429,52,4.906,83,5.265,91,3.483,102,2.92,137,3.293,140,1.248,144,1.194,146,4.258,151,5.599,160,3.266,162,1.561,164,4.269,167,7.147,172,10.124,173,7.4,175,5.455,176,8.014,177,5.597,178,5.525,179,4.763,180,4.059,181,4.848,186,2.73,208,4.383,213,4.897,214,6.899,217,4.645,219,3.376,223,4.68,265,4.624,277,4.967,279,3.168,302,4.563,340,3.411,358,5.619,370,5.753,373,9.747,374,10.017,375,6.157,376,3.993,447,3.578,624,5.097,625,4.807,630,5.837,643,4.353,644,6.765,645,8.812,648,5.837,649,4.807,654,6.231,978,6.959,1154,7.123,1159,6.613,1212,8.281,1330,6.123,1818,5.525,1900,5.389,2227,7.341,2244,10.058,2623,7.123,2624,7.899,2625,6.933,2663,8.791,2664,8.791,2665,7.594]],["keywords/281",[]],["title/282",[266,1020.777]],["content/282",[5,1.649,18,4.16,48,4.135,51,3.987,52,5.172,83,6.122,137,3.829,140,1.451,144,1.389,146,4.952,151,6.249,160,3.56,162,1.815,164,4.289,167,7.977,172,10.871,173,6.919,175,6.343,176,8.945,177,6.508,178,6.424,179,5.538,180,4.53,181,5.412,186,3.174,208,4.47,213,5.694,214,7.701,217,3.632,219,3.926,223,5.442,265,3.616,266,7.381,277,4.552,279,3.684,340,3.966,358,5.73,370,6.689,373,7.701,374,5.926,375,6.872,376,4.457,624,5.926,625,5.589,630,6.787,643,5.062,645,6.891,648,6.787,649,5.589,654,7.245,978,7.767,1154,8.283,1330,7.119,2623,8.283,2624,9.185,2625,8.062]],["keywords/282",[]],["title/283",[2666,1413.703]],["content/283",[5,2.198,18,3.787,48,4.572,51,3.629,52,4.502,78,5.64,137,3.485,140,1.321,144,1.264,146,4.507,151,5.838,155,5.183,160,3.376,162,1.652,164,4.37,167,5.087,172,9.451,173,7.65,174,4.678,175,5.774,176,5.704,177,5.923,178,5.847,179,5.041,180,4.232,181,3.451,186,2.889,208,3.433,214,4.911,217,4.844,223,4.953,265,3.291,277,4.583,340,3.61,358,5.711,373,11.047,374,10.96,375,8.365,376,4.164,624,5.394,625,7.453,630,6.178,643,4.607,644,7.159,645,9.189,646,3.648,647,8.356,648,6.178,649,5.087,725,5.339,795,4.507,1071,7.338,1105,6.373,1709,11.48,2261,7.769,2411,8.36,2623,7.539,2666,9.304,2667,9.304]],["keywords/283",[]],["title/284",[2277,1270.201]],["content/284",[5,1.673,18,4.223,48,4.862,51,4.047,52,4.735,78,6.102,137,3.886,140,1.473,144,1.41,146,5.026,151,6.316,160,3.59,162,1.843,164,4.318,167,5.673,172,10.051,173,6.993,174,5.217,175,6.439,176,6.361,177,6.606,178,6.52,179,5.622,180,4.579,181,3.848,186,3.222,208,3.139,214,5.476,217,3.687,223,5.523,265,3.67,277,4.333,340,4.026,358,5.594,373,9.859,374,6.015,375,8.798,376,4.504,624,6.015,625,8.062,630,6.889,643,5.138,645,6.994,647,6.361,648,6.889,649,5.673,725,5.953,795,5.026,1071,8.183,1709,11.863,2261,8.664,2277,9.323,2411,9.323,2623,8.407,2667,10.376]],["keywords/284",[]],["title/285",[2668,1331.557]],["content/285",[5,3.062,45,2.799,52,3.189,89,5.694,139,2.009,140,1.786,144,1.709,157,6.477,158,7.344,160,2.633,162,2.234,164,2.908,186,3.906,197,5.42,208,3.585,224,4.47,232,6.584,243,5.265,244,5.265,265,4.45,277,2.918,350,3.212,358,5.181,360,11.849,361,10.869,596,9.462,614,6.53,673,6.229,704,9.265,724,6.942,752,6.477,842,9.462,848,7.826,852,6.425,855,8.764,1123,5.177,1458,10.504,2013,8.117,2381,9.462,2595,6.756,2653,14.55,2656,14.064,2668,11.849,2669,15.134,2670,16.844]],["keywords/285",[]],["title/286",[2671,1413.703]],["content/286",[5,2.232,48,3.922,140,1.965,144,1.88,160,2.896,162,2.458,164,3.199,186,4.297,208,2.946,243,5.792,244,5.792,265,6.344,277,4.616,278,8.118,290,8.485,358,6.206,360,13.036,404,7.506,682,11.956,686,7.784,754,9.056,848,6.431,977,8.589,1155,9.479,2301,11.537,2415,13.84,2416,13.84,2669,16.116,2671,13.84,2672,13.84]],["keywords/286",[]],["title/287",[670,1087.777]],["content/287",[5,2.16,48,4.976,49,10.88,51,5.223,52,4.45,64,4.92,79,5.451,88,5.669,91,5.306,136,3.383,140,1.902,144,2.385,160,2.803,162,3.479,164,3.096,180,4.158,185,7.13,186,4.158,197,5.77,202,5.985,208,2.851,275,7.933,277,3.107,447,7.145,670,15.996,671,6.535,672,12.025,673,6.632,674,8.311,675,8.311,676,5.985,677,7.847,678,11.569,2419,13.393,2420,12.615,2673,14.575]],["keywords/287",[]],["title/288",[1992,1331.557]],["content/288",[84,4.626,136,4.379,140,1.865,144,2.355,153,7.297,160,2.749,162,3.446,164,4.008,180,4.079,192,3.779,196,6.231,202,5.872,224,4.669,265,4.647,277,3.048,280,8.857,318,4.151,329,7.39,330,10.109,331,6.606,673,6.506,693,8.054,742,6.104,744,9.91,758,6.274,764,10.646,813,6.064,1974,6.876,1992,21.159,2595,9.31,2674,14.297,2675,18.866,2676,14.297,2677,14.297]],["keywords/288",[]],["title/289",[2678,1538.415]],["content/289",[48,4.562,93,12.108,103,11.025,108,11.211,194,5.301,208,4.199,259,8.157,265,6.979,277,4.949,290,9.869,302,8.355,337,5.491,375,7.582,648,10.688,649,8.801,693,9.869,813,7.43,1725,13.044,2679,16.098]],["keywords/289",[]],["title/290",[847,1180.425]],["content/290",[9,6.747,79,6.26,150,7.345,208,4.658,209,7.195,277,4.849,320,10.212,337,5.246,346,14.76,352,6.258,353,7.195,355,12.552,359,8.409,640,12.843,813,7.099,848,7.146,1317,12.13,2417,13.82,2418,15.381,2608,12.13]],["keywords/290",[]],["title/291",[1323,856.485]],["content/291",[5,3.065,52,4.818,62,6.915,75,8.831,88,6.416,91,6.004,140,2.152,160,3.172,162,3.375,164,3.503,209,7.09,265,6.723,277,4.409,279,5.462,350,3.87,685,11.4,744,11.119,1323,11.515,1369,13.617,2422,15.156]],["keywords/291",[]],["title/292",[193,837.327]],["content/292",[5,2.701,52,4.245,140,2.378,160,3.505,164,3.871,178,10.525,179,9.074,181,8.051,193,11.971,208,3.565,265,5.924,685,12.597,774,10.525,920,11.664,2424,15.048]],["keywords/292",[]],["title/293",[2238,1331.557]],["content/293",[5,2.576,52,4.049,136,5.37,140,2.268,160,3.343,164,3.692,181,5.925,193,11.63,197,6.882,208,3.4,256,6.043,257,12.291,265,5.65,329,8.984,594,11.63,685,12.015,774,10.038,920,11.124,2069,12.943,2424,14.352]],["keywords/293",[]],["title/294",[2680,1538.415]],["content/294",[39,9.794,78,6.766,108,11.388,138,7.003,197,7.045,277,4.983,345,11.548,358,5.861,621,9.58,681,18.117,1155,11.199,1818,10.275,2681,17.794]],["keywords/294",[]],["title/295",[1284,1145.489]],["content/295",[5,3.324,189,7.457,277,5.107,278,7.834,358,4.722,382,13.317,653,11.018,692,14.951,1058,10.876,1284,14.024,2429,17.308]],["keywords/295",[]],["title/296",[2669,1270.201]],["content/296",[5,2.652,45,2.701,50,4.524,136,3.066,139,1.938,140,1.723,144,1.649,158,7.169,160,2.54,161,6.103,162,3.55,163,6.576,164,3.801,186,3.769,208,4.446,232,6.353,243,5.08,244,5.08,265,5.816,273,5.357,277,4.636,278,5.494,350,3.099,358,4.486,361,10.61,564,8.453,614,6.3,621,7.112,724,6.698,842,9.13,848,8.664,852,6.199,855,7.589,1123,4.995,1291,8.603,2381,9.13,2595,6.518,2653,14.204,2656,13.729,2668,15.487,2669,10.906,2670,16.443]],["keywords/296",[]],["title/297",[2682,1331.557]],["content/297",[5,1.902,13,7.83,37,4.29,140,1.674,144,2.19,157,6.071,158,8.611,160,2.468,162,2.863,164,2.726,208,2.51,240,4.395,241,8.234,265,4.171,352,4.827,353,7.542,358,5.642,583,8.685,717,12.934,724,12.06,752,6.071,819,7.145,1313,10.596,2013,7.609,2428,12.716,2535,13.327,2683,14.486,2684,12.833,2685,12.833,2686,17.545,2687,12.833,2688,19.992,2689,17.545,2690,12.833]],["keywords/297",[]],["title/298",[2691,1413.703]],["content/298",[45,2.869,50,4.806,88,5.458,136,3.256,140,1.831,144,1.751,158,5.622,160,2.698,161,6.482,162,3.971,164,4.444,186,4.003,208,3.644,243,8.045,244,8.045,265,4.56,273,7.557,277,3.972,338,7.475,340,5.002,358,5.245,564,8.979,614,6.692,819,7.811,1240,10.766,2535,10.255,2595,6.924,2596,10.766,2597,12.144,2682,16.127,2683,11.584,2691,19.224,2692,14.031,2693,14.031]],["keywords/298",[]],["title/299",[136,279.23,144,150.19]],["content/299",[4,3.793,29,2.786,35,1.523,40,4.06,45,1.456,48,1.854,84,2.304,136,1.653,137,2.451,139,2.878,144,0.889,146,3.169,157,3.369,164,1.513,180,2.032,181,2.427,208,1.393,213,8.99,214,10.646,219,6.601,224,4.608,230,4.806,232,6.787,234,3.453,245,5.652,259,3.315,267,6.163,268,4.282,269,16.979,270,5.464,275,3.875,277,3.429,279,2.358,305,3.919,348,8.694,358,5.686,376,1.999,383,3.717,414,5.652,423,9.572,624,3.793,625,3.577,646,8.048,647,6.383,697,3.483,725,7.441,761,3.717,819,3.964,892,5.879,937,3.834,938,4.112,1105,4.482,1108,11.203,1110,6.163,1140,4.638,1237,5.879,1279,5.16,1818,4.112,1865,5.464,2227,5.464,2234,6.163,2244,5.035,2275,8.694,2276,8.694,2400,6.543,2466,5.879,2468,6.543,2469,6.543,2470,6.163,2471,6.543,2473,6.543,2474,6.543,2475,6.163,2476,4.638,2478,6.543,2479,6.163,2480,6.163,2481,6.543,2484,6.543,2486,6.163,2487,6.543,2494,6.543,2622,10.412,2626,10.412,2628,5.035,2633,6.543,2694,7.12,2695,5.464,2696,6.543,2697,6.543,2698,6.543,2699,7.12,2700,7.12,2701,7.12,2702,7.12,2703,7.12,2704,6.543,2705,7.12,2706,7.12,2707,7.12,2708,7.12,2709,7.12,2710,7.12,2711,7.12,2712,5.879,2713,7.12,2714,7.12,2715,7.12,2716,7.12,2717,7.12,2718,7.12,2719,7.12,2720,11.331,2721,7.12,2722,11.331,2723,7.12,2724,7.12,2725,7.12,2726,7.12,2727,7.12,2728,7.12,2729,7.12,2730,7.12,2731,7.12,2732,7.12,2733,7.12,2734,7.12,2735,7.12]],["keywords/299",[]],["title/300",[197,476.32,202,494.094]],["content/300",[]],["keywords/300",[]],["title/301",[58,476.32,197,476.32]],["content/301",[1,4.204,5,2.813,20,4.619,21,4.425,50,2.874,58,9.667,64,2.833,79,3.138,84,2.715,88,3.265,89,3.49,91,3.055,119,6.725,120,4.672,130,5.996,136,4.996,137,2.889,139,1.89,143,2.584,144,1.048,152,4.328,155,4.296,160,1.614,162,2.559,165,4.471,186,2.394,192,1.681,197,8.259,225,2.619,238,4.425,241,3.939,271,5.046,273,3.404,285,3.191,318,2.835,325,4.728,331,5.953,333,4.178,337,5.949,345,4.471,370,5.046,404,4.955,437,4.337,438,6.249,522,7.538,551,5.568,562,5.679,620,6.473,673,5.863,761,4.38,818,6.082,843,5.199,845,5.199,852,6.047,959,6.662,1012,7.264,1058,4.846,1139,3.736,1146,4.976,1155,5.282,1170,4.976,1259,5.679,1294,4.846,1994,11.089,2008,7.712,2080,7.264,2166,5.801,2195,5.934,2211,6.439,2219,7.712,2736,6.249,2737,10.228,2738,10.734,2739,8.392,2740,6.929,2741,8.392,2742,8.392,2743,9.338,2744,7.264,2745,6.662,2746,8.392,2747,8.392,2748,7.264,2749,6.249,2750,8.392,2751,8.392,2752,6.929,2753,7.712,2754,11.84,2755,8.392,2756,8.392,2757,8.392,2758,7.712,2759,7.712]],["keywords/301",[]],["title/302",[45,246.021,197,476.32]],["content/302",[1,3.293,5,1.516,18,2.345,21,3.306,35,3.983,37,5.503,45,4.987,50,5.118,52,1.46,54,3.575,58,2.482,83,3.451,88,2.439,91,2.282,102,1.914,114,4.544,124,3.209,130,3.485,136,4.794,137,2.158,139,1.9,143,1.931,144,2.325,150,2.751,152,3.435,155,3.209,162,2.439,163,3.121,165,3.34,174,2.897,186,1.789,192,1.256,194,1.897,196,2.732,197,6.516,201,6.899,202,5.319,204,3.646,208,4.04,222,3.77,238,3.306,240,3.503,242,3.532,259,4.762,265,3.324,273,2.543,277,2.18,278,4.253,279,2.076,294,4.433,317,2.918,318,1.379,331,2.897,337,3.205,338,5.448,345,3.34,349,2.001,350,2.399,352,1.725,358,1.572,359,3.15,404,3.933,436,2.853,437,3.24,513,6.149,522,5.983,540,3.946,571,2.642,614,2.99,615,5.046,620,3.15,671,5.807,673,5.893,676,4.2,700,2.527,744,2.942,789,3.825,812,3.49,813,2.659,821,4.16,845,3.884,848,2.677,852,4.799,900,3.825,941,2.919,1079,4.81,1129,2.345,1133,3.825,1153,2.791,1240,4.81,1252,4.544,1253,4.16,1254,3.575,1290,5.176,1294,3.62,1299,3.884,1317,4.544,1367,8.151,1375,4.977,1789,4.253,1843,4.433,1844,4.433,1994,13.73,1995,5.176,2001,5.176,2022,4.668,2186,2.543,2384,5.176,2586,2.919,2736,4.668,2737,4.977,2738,7.902,2760,6.269,2761,6.269,2762,6.269,2763,6.269,2764,6.269,2765,6.269,2766,5.176,2767,6.269,2768,5.761,2769,5.176,2770,6.269,2771,8.023,2772,5.426,2773,6.269,2774,6.269,2775,4.16,2776,5.426,2777,5.426,2778,6.269,2779,6.269,2780,6.269,2781,14.942,2782,5.426]],["keywords/302",[]],["title/303",[33,531.719,197,476.32]],["content/303",[1,3.605,5,1.501,33,10.9,37,3.385,45,2.07,50,3.468,54,5.774,58,4.009,60,3.573,102,3.091,106,5.339,112,4.953,124,5.183,130,5.056,136,3.443,139,2.576,143,3.118,144,1.264,150,4.443,152,4.983,155,5.183,158,4.057,162,3.154,186,2.889,192,2.971,194,3.064,195,6.178,197,8.145,202,4.158,222,6.088,225,4.629,238,5.339,252,4.678,265,3.291,273,4.107,318,2.228,331,4.678,337,4.649,350,2.376,404,5.704,436,4.607,522,8.678,571,4.266,614,4.829,671,4.54,735,8.038,742,4.323,812,5.637,845,6.272,848,4.323,852,4.752,937,5.451,941,4.715,958,5.041,1263,5.285,1294,5.847,1375,8.038,1400,6.999,1472,9.05,1521,7.159,1692,8.36,1994,10.488,1995,8.36,2001,8.36,2136,15.58,2542,6.595,2736,7.539,2737,8.038,2738,10.71,2783,10.125,2784,10.125,2785,7.539,2786,8.038,2787,6.595,2788,10.125]],["keywords/303",[]],["title/304",[197,476.32,741,757.233]],["content/304",[1,3.762,5,2.122,45,1.973,52,3.334,58,3.82,121,4.358,130,4.879,136,2.239,138,3.797,139,2.77,143,4.408,144,2.131,146,4.295,152,3.241,160,1.855,162,3.082,164,2.05,180,2.753,181,3.289,186,2.753,192,1.933,197,8.365,202,3.963,208,3.338,211,9.985,213,4.939,214,4.68,219,5.052,222,5.802,240,3.305,241,4.528,266,6.402,273,5.806,300,7.659,305,5.311,308,7.659,318,2.123,331,4.458,337,4.487,358,3.589,376,2.708,404,3.711,423,7.597,522,8.375,568,3.69,624,5.14,625,4.848,646,5.157,697,4.72,725,5.087,741,14.444,742,4.12,812,5.372,845,5.977,848,6.112,941,4.493,978,7.003,1994,13.351,2190,6.666,2401,7.184,2402,7.403,2542,6.284,2600,11.82,2659,8.351,2736,7.184,2737,7.659,2738,10.413,2789,8.867,2790,9.649,2791,14.316,2792,9.649,2793,8.351,2794,7.967,2795,7.967,2796,8.351,2797,7.967,2798,7.967]],["keywords/304",[]],["title/305",[158,395.8,197,391.085,1263,515.619]],["content/305",[1,3.295,5,1.92,45,2.65,51,3.03,52,1.969,58,3.347,121,3.819,130,4.417,136,1.962,138,3.328,139,2.591,143,3.99,144,1.618,146,3.764,152,2.84,157,4,158,9.202,160,1.626,162,2.882,164,1.796,180,2.412,181,2.882,186,2.412,192,1.694,197,8.281,202,3.472,208,3.082,211,9.217,213,4.328,214,4.101,219,5.56,222,5.084,240,2.896,241,3.968,252,3.906,265,4.212,266,5.61,273,7.164,300,6.712,305,4.654,318,1.86,331,3.906,336,3.308,337,4.062,350,1.984,358,4.428,376,2.373,404,3.252,423,7.862,522,7.581,624,4.504,625,4.248,646,4.668,676,3.472,697,4.136,724,4.287,725,4.458,742,3.61,812,4.707,845,5.238,848,3.61,941,3.937,978,6.339,1263,10.488,1417,5.159,1472,5.159,1994,13.466,2013,5.013,2190,6.034,2401,6.296,2402,6.488,2542,5.507,2653,10.287,2654,7.318,2655,6.712,2656,9.943,2659,17.392,2736,6.296,2737,6.712,2738,9.613,2789,7.77,2793,7.318,2794,6.981,2795,6.981,2796,7.318,2797,6.981,2798,6.981,2799,7.318,2800,8.455,2801,12.958,2802,8.455]],["keywords/305",[]],["title/306",[197,476.32,2186,487.983]],["content/306",[1,4.037,5,2.413,48,3.001,52,2.684,58,4.562,83,6.341,88,4.482,91,4.195,124,5.898,129,5.636,130,6.434,136,3.778,139,2.389,143,3.548,144,1.438,152,3.87,162,2.657,186,3.287,197,8.567,202,4.732,208,2.254,222,6.928,238,6.075,273,4.673,279,3.816,331,5.323,337,5.102,349,3.677,359,5.789,404,6.26,436,5.243,522,9.523,671,5.166,681,8.579,741,7.252,812,6.415,845,7.137,848,8.06,896,7.504,941,5.365,1220,7.137,1789,6.771,1994,11.51,2186,9.971,2188,9.146,2541,8.841,2542,7.504,2736,8.579,2738,11.517,2766,9.513,2803,11.522,2804,17.346,2805,11.522,2806,11.522,2807,10.588]],["keywords/306",[]],["title/307",[79,449.943,197,476.32]],["content/307",[1,3.583,4,8.871,5,2.178,21,9.542,37,2.532,41,3.915,50,4.075,58,2.999,66,4.492,72,3.994,79,9.095,80,7.371,106,3.994,124,3.877,127,5.356,129,3.705,130,5.009,136,4.458,139,1.746,143,2.333,152,3.997,155,3.877,158,3.035,162,2.954,167,3.806,185,3.705,186,2.161,193,4.123,197,7.165,199,5.64,202,3.111,222,4.555,225,2.364,238,3.994,239,6.013,265,2.462,273,3.072,278,3.151,279,2.509,325,4.267,331,3.5,336,2.964,337,3.729,349,2.417,404,6.404,436,3.447,437,3.915,522,6.961,554,3.877,571,3.192,615,3.738,620,7.383,622,5.236,628,3.396,671,3.396,674,4.319,812,4.217,845,4.692,848,5.08,900,4.622,914,5.812,941,3.527,960,6.254,1005,9.945,1007,8.86,1025,3.613,1065,5.356,1123,2.864,1201,4.622,1220,4.692,1294,4.374,1367,4.767,1714,8.413,1783,13.748,1784,6.254,1829,3.994,1994,8.413,2001,6.254,2145,6.013,2162,6.961,2165,6.961,2166,8.224,2168,7.829,2172,6.556,2186,3.072,2389,5.64,2541,11.275,2542,4.934,2555,6.961,2556,6.556,2557,6.961,2736,5.64,2738,8.966,2766,6.254,2807,6.961,2808,7.575,2809,18.097,2810,6.961,2811,7.575,2812,7.575,2813,7.575,2814,7.575,2815,6.556,2816,6.961,2817,7.575,2818,7.575,2819,6.961,2820,7.575,2821,7.575,2822,7.575,2823,7.575,2824,7.575,2825,7.575,2826,7.575]],["keywords/307",[]],["title/308",[2827,1221.21]],["content/308",[]],["keywords/308",[]],["title/309",[1,107.397,5,85.324,36,294.713,337,180.454,2526,407.089,2827,457.025,2828,529.063]],["content/309",[1,2.345,5,2.563,7,2.183,9,3.276,11,1.943,16,3.653,18,1.78,36,10.123,37,4.202,38,2.392,47,2.949,50,3.641,51,2.912,64,4.242,67,2.62,71,2.863,74,2.62,84,1.54,89,3.38,90,3.545,91,3.87,102,2.481,130,1.623,131,2.949,132,3.45,136,2.917,139,0.699,141,5.331,143,2.502,153,4.112,176,2.682,188,2.62,194,3.804,197,1.885,204,2.897,219,1.68,225,4.796,226,4.16,240,1.631,241,2.234,242,2.682,248,2.461,255,2.823,256,1.655,279,2.691,296,2.392,302,2.271,307,4.578,320,2.905,326,2.949,331,2.2,350,1.117,371,2.785,384,4.121,387,3.366,394,3.545,403,2.905,407,3.159,409,3.653,436,3.698,446,2.2,447,1.78,454,3.047,484,3.222,493,3.222,494,2.591,495,3.844,503,7.195,506,6.051,508,6.804,511,4.958,513,2.863,522,2.785,554,2.437,567,3.45,569,4.121,571,6.476,593,4.754,642,4.121,676,1.955,677,4.375,686,2.461,724,2.414,743,5.2,790,2.437,826,3.779,852,5.899,874,2.271,900,2.905,911,3.545,916,6.451,928,3.366,941,3.784,958,4.046,977,2.715,978,3.975,1010,3.45,1037,7.916,1045,4.375,1050,3.45,1054,3.779,1095,3.545,1098,7.916,1123,1.8,1136,3.101,1175,3.047,1184,5.114,1200,2.682,1220,2.949,1238,2.863,1294,2.749,1473,3.291,1575,3.931,1659,7.467,1704,3.366,1827,2.536,1857,3.545,2002,6.451,2009,9.202,2011,3.653,2135,2.996,2194,3.222,2195,5.746,2292,2.749,2315,3.931,2389,3.545,2390,3.159,2503,7.916,2516,4.375,2526,13.225,2535,2.62,2549,4.375,2551,3.653,2586,2.217,2749,3.545,2827,16.911,2828,11.55,2829,4.761,2830,3.653,2831,2.949,2832,4.375,2833,8.126,2834,4.761,2835,4.375,2836,3.779,2837,8.126,2838,8.126,2839,8.126,2840,4.375,2841,4.375,2842,3.545,2843,3.545,2844,4.761,2845,7.467,2846,4.761,2847,4.761,2848,4.761,2849,4.761,2850,4.761,2851,4.761,2852,5.889,2853,4.761,2854,14.971,2855,8.126,2856,8.126,2857,4.761,2858,4.761,2859,4.761,2860,4.375,2861,4.761,2862,10.631,2863,4.375,2864,4.761,2865,4.761,2866,4.375,2867,4.761,2868,6.451,2869,4.761,2870,4.761,2871,4.375,2872,4.375,2873,4.375,2874,4.761,2875,7.467,2876,4.761,2877,4.761,2878,10.631,2879,4.761,2880,4.761,2881,4.761,2882,4.761,2883,4.761,2884,4.761,2885,8.126,2886,4.761,2887,4.761,2888,7.033,2889,4.761,2890,14.112,2891,8.126,2892,8.126,2893,4.761,2894,8.126,2895,4.761,2896,3.931,2897,6.051,2898,4.375,2899,4.375,2900,4.375,2901,4.375,2902,3.366,2903,4.375,2904,4.121,2905,4.761,2906,4.375,2907,4.121,2908,4.375]],["keywords/309",[]],["title/310",[567,871.939,916,955.054]],["content/310",[1,3.248,36,10.174,50,4.346,64,5.877,71,7.63,102,3.873,139,2.554,141,9.072,153,4.908,194,3.84,225,5.433,256,6.909,394,9.448,436,7.922,476,7.327,506,9.448,522,7.423,540,7.986,563,6.558,571,9.012,686,6.558,852,8.171,911,9.448,916,10.072,927,9.196,958,6.317,977,7.236,1010,9.196,1021,8.972,1026,6.154,1050,9.196,1284,9.448,1519,8.77,1672,10.982,1840,14.475,2010,10.476,2011,9.736,2526,12.31,2827,18.379,2899,11.66,2900,11.66,2901,11.66,2902,8.972,2903,11.66,2909,17.41,2910,12.689]],["keywords/310",[]],["title/311",[1811,1001.987]],["content/311",[]],["keywords/311",[]],["title/312",[197,331.725,317,239.066,1811,545.732,1829,441.789]],["content/312",[1,4.385,5,3.024,18,6.036,19,11.411,46,6.628,48,5.826,174,7.456,197,6.389,277,3.44,317,4.605,535,11.696,693,9.092,744,7.574,920,10.328,1038,10.511,1129,7.63,1130,12.017,1133,9.847,1184,10.158,1208,8.689,1811,10.511,1821,12.811,1827,8.598,1829,8.509,1999,13.325,2799,13.969,2911,12.383]],["keywords/312",[]],["title/313",[152,281.472,225,261.457,1184,527.362,1811,545.732]],["content/313",[89,6.81,96,9.709,117,11.317,152,5.5,192,4.511,196,7.135,225,6.424,331,7.565,337,6.453,571,8.675,594,12.258,957,11.085,1136,10.664,1146,14.012,1184,10.305,1220,10.143,1974,9.902,2434,10.664,2912,16.373,2913,13.519]],["keywords/313",[]],["title/314",[50,338.338,1811,643.388,2914,855.008]],["content/314",[1,2.888,5,2.516,6,3.895,7,1.789,9,2.684,36,3.408,45,1.361,46,5.541,48,2.796,50,5.302,52,1.551,58,2.636,68,7.782,75,4.585,136,2.492,138,4.226,139,3.219,143,2.05,144,1.684,153,5.219,162,2.202,163,5.346,187,2.476,196,9.855,197,2.636,201,11.688,204,7.823,209,4.616,219,3.789,220,2.985,225,4.211,227,1.775,230,2.824,238,3.51,242,3.751,256,2.314,285,2.532,309,3.257,317,4.417,350,3.166,351,3.315,373,5.208,434,2.882,435,4.825,454,4.261,492,7.592,494,3.624,495,8.588,508,4.261,573,2.684,614,3.176,642,3.376,646,2.399,676,2.734,686,5.55,695,3.664,697,5.253,702,4.261,711,4.957,744,3.125,973,6.118,1039,3.202,1123,2.518,1133,4.062,1153,4.78,1179,8.233,1184,4.19,1218,4.825,1254,6.123,1264,5.55,1417,9.445,1786,11.679,1811,8.788,1829,8.162,1840,7.267,1843,4.708,1855,9.294,1856,8.866,1857,7.995,1900,3.751,1907,9.294,1909,6.118,1910,4.19,1911,6.118,1913,5.109,1914,5.763,1915,11.679,1916,9.294,1923,5.763,1925,11.679,2022,4.957,2060,9.867,2061,6.118,2062,9.867,2145,5.285,2913,5.497,2914,9.294,2915,5.109,2916,6.118,2917,10.738,2918,10.738,2919,10.738,2920,10.738,2921,9.867,2922,9.867,2923,13.493,2924,10.738,2925,5.285]],["keywords/314",[]],["title/315",[35,211.306,1811,643.388,2913,815.611]],["content/315",[5,2.262,50,5.228,51,5.471,136,4.57,144,1.906,187,5.678,189,6.043,196,10.035,197,6.043,225,6.144,329,7.89,331,7.053,350,5.114,361,11.675,758,8.641,1146,9.051,1811,14.998,2913,17.996,2914,18.865,2916,14.028,2926,19.69,2927,19.69,2928,15.265,2929,15.265]],["keywords/315",[]],["title/316",[144,123.315,1146,585.741,1811,643.388]],["content/316",[1,4.539,6,10.41,337,7.626,495,8.418,1179,10.857,1397,13.653,1811,15.847,2930,17.794,2931,17.794,2932,17.794,2933,16.352,2934,17.794]],["keywords/316",[]],["title/317",[102,301.543,495,467.341,1179,602.705]],["content/317",[5,2.481,19,14.76,36,10.685,64,5.65,89,6.962,143,5.154,225,5.223,226,8.568,273,6.789,302,7.983,407,11.106,495,7.919,506,12.463,511,10.212,571,7.052,686,8.651,941,7.794,1179,12.736,1220,10.368,1811,10.901,2854,14.487,2863,15.381,2935,16.738,2936,14.487,2937,16.738,2938,16.738]],["keywords/317",[]],["title/318",[671,539.435,2186,487.983]],["content/318",[]],["keywords/318",[]],["title/319",[671,539.435,2186,487.983]],["content/319",[1,3.594,58,5.846,96,13.482,127,10.44,130,5.033,136,4.472,143,4.547,162,2.41,175,10.988,182,8.42,199,10.994,238,7.785,279,4.89,282,8.755,324,9.009,331,6.822,541,13.568,554,9.864,575,8.526,671,6.62,912,10.206,1024,9.993,1395,11.329,2186,10.134,2188,15.296,2189,12.78,2511,10.206,2939,11.721,2940,12.191,2941,14.765,2942,14.765,2943,14.765]],["keywords/319",[]],["title/320",[2186,487.983,2188,955.054]],["content/320",[1,1.442,5,1.792,45,2.472,48,3.149,58,5.895,88,3.007,91,2.814,96,8.829,97,3.215,117,5.343,119,4.035,124,3.957,129,3.782,136,1.794,137,5.125,139,3.294,143,4.585,144,0.965,150,3.392,162,1.973,171,4.947,175,4.408,199,5.756,201,7.932,202,4.965,204,5.309,207,4.208,208,1.512,220,3.466,225,4.646,237,9.002,241,5.674,244,4.649,279,2.56,282,7.169,288,6.137,330,8.549,331,5.586,350,1.814,352,2.127,358,1.938,359,3.884,437,6.249,511,10.273,554,6.189,563,3.996,573,4.874,620,9.734,658,5.466,671,5.421,673,3.518,677,4.162,742,3.301,775,2.572,796,5.932,882,8.71,912,5.343,914,9.277,1005,5.232,1019,2.99,1050,5.603,1058,4.464,1123,2.923,1201,7.377,1437,8.549,1783,13.902,1784,9.982,1789,6.193,1860,11.11,2148,7.874,2186,8.735,2188,9.597,2189,6.691,2306,7.104,2475,6.691,2541,5.932,2543,7.104,2586,3.6,2595,3.815,2738,10.273,2754,7.104,2804,7.104,2819,11.11,2939,6.137,2944,7.731,2945,7.731,2946,7.731,2947,7.731,2948,7.731,2949,7.731,2950,7.731,2951,7.104,2952,7.731,2953,7.731,2954,7.731,2955,7.731,2956,7.731,2957,7.731,2958,7.731,2959,12.09,2960,14.889,2961,12.09,2962,6.691,2963,7.731,2964,7.731,2965,7.731,2966,7.731,2967,5.603,2968,7.731]],["keywords/320",[]],["title/321",[172,531.85,176,556.491,654,643.388]],["content/321",[1,2.796,2,6.2,5,1.158,35,1.671,37,2.611,48,3.174,62,2.611,97,3.249,102,3.721,106,4.118,133,4.916,134,6.449,139,1.788,143,3.753,144,0.975,146,6.671,155,6.239,157,5.766,159,6.786,169,10.862,171,4.999,172,8.07,176,9.539,177,11.383,208,1.528,213,6.239,214,8.212,219,2.757,234,9.857,262,5.183,265,6.324,277,3.609,290,4.4,307,4.4,309,3.821,358,5.539,373,11.376,374,4.161,376,2.193,378,6.015,437,4.037,511,4.766,556,5.183,624,4.161,627,10.598,644,13.758,646,2.814,654,11.029,666,9.945,697,8.983,725,6.426,743,4.999,753,4.632,809,4.251,823,4.999,896,5.087,1058,4.51,1072,10.563,1105,7.671,1207,4.251,1214,4.916,1229,5.087,1259,5.286,1279,10.862,1359,6.761,1709,4.037,1751,5.816,1769,4.4,1773,5.183,2420,12.973,2969,7.811,2970,9.675,2971,6.761,2972,10.549,2973,10.063,2974,12.188,2975,7.811,2976,7.811,2977,7.811,2978,7.811,2979,7.811,2980,7.811,2981,7.811,2982,7.811,2983,7.811,2984,6.2]],["keywords/321",[]],["title/322",[248,621.835,383,627.995]],["content/322",[]],["keywords/322",[]],["title/323",[5,146.397,248,510.562,383,515.619]],["content/323",[1,3.878,5,2.739,37,4.633,50,7.121,52,3.228,58,7.316,64,4.678,83,7.627,89,5.764,102,4.23,121,6.259,136,4.825,150,8.11,225,4.324,238,7.307,242,7.807,248,7.163,256,4.817,279,4.589,282,10.958,309,6.779,331,9.606,377,9.379,408,13.531,522,8.107,570,8.107,571,8.76,612,8.333,852,6.504,1146,8.217,1152,10.319,1290,11.442,2194,12.506,2570,11.995,2985,11.442,2986,13.858,2987,18.48,2988,13.858]],["keywords/323",[]],["title/324",[352,330.993,852,564.649]],["content/324",[1,3.004,5,2.774,21,8.491,74,6.246,97,4.72,124,5.809,136,4.345,139,1.665,141,4.813,183,5.65,202,6.614,221,5.551,225,5.025,248,10.531,254,6.924,274,6.246,279,3.758,288,9.008,326,11.596,327,6.318,329,5.865,352,6.574,353,6.923,355,6.824,362,5.504,383,9.771,440,11.991,476,6.553,573,4.575,575,6.553,628,5.088,702,7.262,849,7.947,852,7.558,896,7.391,897,10.428,898,7.53,912,7.844,1019,4.389,1023,8.707,1025,5.413,1026,5.504,1035,8.024,1084,5.809,1123,4.291,1134,7.262,1195,10.306,1208,6.11,1294,6.553,1363,8.024,1619,11.671,1712,9.008,1759,9.008,1830,7.844,1926,7.262,2902,13.237,2985,9.369,2989,8.45,2990,11.348,2991,11.348,2992,14.799]],["keywords/324",[]],["title/325",[248,510.562,383,515.619,717,549.959]],["content/325",[7,5.235,136,4.522,248,10.071,383,10.171,717,10.848,852,9.145,958,9.701,966,11.888,2301,10.38,2993,19.485]],["keywords/325",[]],["title/326",[50,412.077,612,723.452]],["content/326",[1,3.923,5,2.102,9,3.84,13,5.812,21,5.023,39,7.805,41,4.924,50,4.857,58,9.469,64,3.216,108,6.097,130,3.247,136,3.291,139,1.398,150,4.181,162,1.555,194,2.883,220,4.271,248,8.755,256,3.312,272,5.432,282,10.044,331,9.269,332,5.243,337,5.309,339,5.728,352,2.621,362,4.62,383,4.973,404,6.514,408,5.812,436,6.453,463,7.31,476,5.501,493,6.447,522,5.573,523,8.246,554,7.259,571,7.137,612,5.728,620,4.786,628,6.358,632,4.335,636,7.31,718,6.321,753,5.649,761,4.973,845,5.901,848,4.067,855,4.04,900,5.812,958,7.06,959,7.562,977,8.086,1123,7.095,1195,6.097,1201,5.812,1269,5.901,1291,9.236,1458,10.881,1759,7.562,1782,9.075,1789,3.962,1827,5.075,1830,9.802,1897,5.649,2211,7.31,2301,5.075,2646,8.246,2738,8.652,2843,7.093,2852,6.904,2897,7.093,2994,14.181,2995,9.526,2996,8.754,2997,8.754,2998,8.754,2999,9.526,3000,9.526,3001,7.866,3002,9.526,3003,9.526]],["keywords/326",[]],["title/327",[571,648.207]],["content/327",[]],["keywords/327",[]],["title/328",[1,184.269,337,309.619,571,416.221]],["content/328",[1,4.083,9,7.288,80,11.2,119,9.437,133,11.379,143,5.567,194,5.471,224,5.904,225,5.642,337,5.667,433,11.996,571,7.618,674,10.31,761,9.437,941,8.418,1184,11.379,1840,12.235,2571,13.103]],["keywords/328",[]],["title/329",[1,135.702,337,228.015,571,306.521,1184,457.866,1840,492.326]],["content/329",[]],["keywords/329",[]],["title/330",[569,1331.557]],["content/330",[1,1.565,5,2.324,6,4.91,7,3.461,29,3.284,36,12.056,37,2.806,46,7.225,48,3.356,52,1.955,64,2.833,75,3.583,91,3.055,93,5.801,102,4.787,117,5.801,118,5.934,119,4.38,130,2.86,136,1.948,150,3.683,182,4.786,201,4.471,219,2.962,230,3.559,256,2.917,321,3.736,332,4.619,336,3.284,350,1.969,371,4.91,407,8.549,442,5.12,483,5.801,513,5.046,544,5.282,546,5.568,563,4.337,567,6.082,571,7.413,583,5.679,620,6.473,642,6.533,645,5.199,646,4.642,651,5.046,676,3.446,750,3.763,806,4.976,900,10.734,911,9.594,916,6.662,918,11.113,956,8.246,1057,5.568,1071,9.338,1123,3.173,1170,4.976,1264,8.106,1307,7.347,1310,6.249,1390,7.264,1521,5.934,1674,5.679,1840,5.679,1913,6.439,2117,10.228,2122,10.228,2129,11.152,2501,7.712,2526,5.934,2568,8.72,2629,4.976,2827,6.662,2845,11.84,2984,6.662,3004,7.712,3005,8.392,3006,6.929,3007,6.439,3008,11.84,3009,11.152,3010,8.392,3011,8.392,3012,8.392,3013,15.683,3014,11.152,3015,7.712,3016,12.884,3017,8.392,3018,7.264,3019,8.392,3020,8.392,3021,8.392,3022,8.392,3023,8.392,3024,8.392,3025,15.683,3026,8.392,3027,8.392,3028,6.662,3029,8.392,3030,8.392,3031,8.392,3032,8.392,3033,8.392,3034,8.392]],["keywords/330",[]],["title/331",[408,734.062,2194,814.224]],["content/331",[1,3.622,5,2.878,37,6.492,50,4.159,72,8.905,102,3.706,130,4.138,136,3.92,157,7.99,193,6.609,226,6.215,256,4.221,279,4.021,331,5.61,340,4.329,408,10.304,522,9.88,563,6.276,571,7.116,676,6.936,761,10.957,849,9.582,900,7.408,901,10.304,955,18.168,956,7.771,957,9.093,1139,5.405,1270,13.406,1819,13.944,1900,6.84,2194,11.429,2195,11.941,2196,13.944,2292,7.012,2898,15.519,3035,15.519,3036,16.888,3037,19.418,3038,15.519,3039,16.888,3040,16.888,3041,12.142,3042,10.509]],["keywords/331",[]],["title/332",[389,1020.777]],["content/332",[1,2.637,4,5.054,5,2.095,7,5.031,18,3.548,19,9.995,29,3.712,35,3.024,36,4.856,37,4.726,52,2.21,67,5.221,72,5.002,79,5.287,102,4.315,112,4.641,118,9.995,130,3.233,131,5.877,136,4.648,141,5.996,143,2.921,144,1.184,159,5.281,162,1.548,182,5.41,196,8.16,220,4.253,221,6.915,236,6.708,248,4.903,285,3.607,290,5.344,294,6.708,307,7.964,336,3.712,337,2.973,352,2.61,387,14.16,389,12.425,404,3.648,408,5.788,425,4.601,428,8.897,437,4.903,447,3.548,476,5.478,528,7.53,533,7.279,544,5.971,554,4.856,571,3.997,588,7.833,594,9.197,595,11.221,614,4.525,676,5.805,918,7.531,957,10.082,1037,7.064,1224,5.704,1249,6.708,1294,5.478,1400,6.557,1473,9.771,2138,7.53,2195,6.708,2569,7.064,2571,6.875,2841,8.717,2842,7.064,3043,8.211,3044,9.486,3045,14.136,3046,9.486,3047,9.486,3048,9.486,3049,9.486,3050,9.486,3051,9.486,3052,9.486,3053,8.717,3054,9.486,3055,9.486,3056,9.486,3057,9.486,3058,8.717,3059,8.717,3060,14.136,3061,9.486,3062,9.486,3063,9.486]],["keywords/332",[]],["title/333",[225,480.047]],["content/333",[5,1.225,35,3.734,36,10.967,37,4.259,64,4.3,80,10.814,83,4.551,91,4.638,102,2.524,129,6.232,130,2.818,131,5.122,136,3.606,139,3.045,143,2.546,144,1.59,173,3.604,183,7.736,186,3.635,220,3.708,225,7.6,226,4.233,248,4.274,252,3.82,256,6.069,273,5.167,279,2.738,284,4.36,331,3.82,333,4.117,337,5.909,350,1.94,351,6.342,352,2.275,407,5.487,408,5.045,409,6.345,447,3.092,522,10.213,570,4.838,571,3.484,583,5.596,594,8.457,673,3.763,674,4.715,752,3.912,761,8.111,836,7.66,852,5.979,901,7.772,918,6.786,919,6.827,928,5.847,966,5.045,979,7.157,1016,5.596,1039,7.473,1050,9.232,1084,4.233,1123,3.127,1317,5.993,1655,7.599,1711,9.944,2010,6.827,2113,12.83,2194,5.596,2390,5.487,2497,6.157,2526,10.987,2738,12.151,2835,7.599,2852,5.993,3006,6.827,3064,8.269,3065,8.269,3066,8.269,3067,8.269,3068,8.269,3069,8.269,3070,8.269,3071,8.269,3072,8.269,3073,8.269,3074,11.706,3075,9.775,3076,8.269]],["keywords/333",[]],["title/334",[46,631.788]],["content/334",[7,5.327,46,8.143,66,11.757,67,10.913,580,12.283,958,9.872,2002,15.74,2907,17.162]],["keywords/334",[]],["title/335",[592,745.296,1026,583.521]],["content/335",[256,7.21,284,10.935,753,12.298]],["keywords/335",[]],["title/336",[3077,1538.415]],["content/336",[89,8.104,117,13.468,118,13.778,119,10.171,129,9.532,130,6.641,131,12.07,132,14.121,133,12.264,135,11.717]],["keywords/336",[]],["title/337",[60,542.93]],["content/337",[]],["keywords/337",[]],["title/338",[139,144.941,3078,907.755,3079,907.755]],["content/338",[7,4.641,21,6.616,33,5.545,35,2.684,37,5.776,45,4.04,48,5.146,56,8.172,60,7.513,61,5.936,62,5.776,88,4.881,91,4.568,102,3.83,119,6.549,121,5.667,136,4.586,144,1.566,156,8.172,157,8.173,162,2.048,208,2.454,238,6.616,256,4.362,273,5.089,277,2.675,279,4.155,282,7.44,324,7.656,331,5.797,338,6.684,339,7.545,350,2.944,404,4.825,642,6.363,653,7.34,674,7.155,795,7.69,1058,9.976,1113,7.897,1120,9.093,1123,4.745,1151,6.986,1208,6.756,1521,12.216,1910,7.897,2041,8.673,2045,11.53,3043,10.86,3078,11.53,3079,11.53,3080,10.86,3081,10.36,3082,12.547,3083,11.53,3084,12.547,3085,10.36,3086,12.547]],["keywords/338",[]],["title/339",[3087,1413.703]],["content/339",[33,8.778,35,3.31,37,7.334,45,3.164,59,8.717,60,8.168,112,11.322,136,4.61,150,6.791,156,10.079,174,7.15,208,3.027,220,6.938,338,8.244,402,12.284,434,6.697,583,10.472,674,8.824,754,9.305,822,8.615,823,9.903,918,8.244,1008,11.522,1104,12.777,1113,9.739,2569,11.522,3087,14.22,3088,15.474,3089,12.284]],["keywords/339",[]],["title/340",[3090,1413.703]],["content/340",[1,2.508,37,6.054,60,7.226,79,8.193,102,4.104,112,10.017,120,7.485,130,6.172,136,3.12,144,1.678,194,4.069,203,7.667,207,7.318,225,6.389,226,6.882,279,4.453,331,10.122,352,6.734,353,8.802,355,8.085,404,5.17,593,7.866,674,7.667,819,7.485,1019,5.2,1089,8.757,1095,10.011,1208,9.75,1269,8.329,1768,12.355,2292,10.457,3090,12.355,3091,18.109,3092,12.355,3093,13.445,3094,13.445]],["keywords/340",[]],["title/341",[152,404.162,1294,694.758]],["content/341",[]],["keywords/341",[]],["title/342",[3095,1538.415]],["content/342",[1,4.271,4,9.047,5,2.787,8,7.123,9,7.58,11,3.904,13,5.837,35,4.506,37,4.756,45,3.845,46,5.842,50,5.816,53,4.49,54,5.455,59,6.243,60,5.993,61,4.526,78,3.638,79,3.578,88,5.534,107,6.765,112,6.959,124,4.897,125,6.021,136,5.062,143,2.946,156,6.231,162,1.561,187,3.558,192,2.85,197,3.788,208,4.12,209,4.112,242,5.389,265,4.624,273,3.88,277,4.49,285,3.638,305,5.265,314,6.021,316,6.474,317,5.365,321,4.258,352,2.632,402,7.594,434,4.14,538,7.123,563,4.945,671,4.289,700,5.734,744,4.49,789,5.837,813,6.033,823,10.868,1029,6.933,1036,5.837,1179,5.837,1367,6.021,1425,11.745,1472,5.837,1821,7.594,1836,6.933,1840,6.474,2327,8.791,2569,7.123,2740,7.899,2749,7.123,2771,5.926,3096,9.567,3097,14.225]],["keywords/342",[]],["title/343",[28,607.247,1931,665.131,3098,592.457,3099,769.972]],["content/343",[1,4.136,5,1.263,6,4.984,8,9.705,9,8.124,12,7.034,13,5.198,14,6.762,28,9.446,29,5.1,30,6.024,31,6.174,32,6.762,33,6.996,34,7.373,35,3.386,36,6.672,37,6.389,38,4.28,39,4.689,40,4.858,41,4.403,42,5.123,43,5.549,44,5.452,45,3.908,46,8.276,47,5.277,48,5.462,49,6.268,50,6.073,51,3.053,52,1.984,53,3.998,54,7.432,55,7.094,56,8.489,57,6.024,58,3.373,59,5.72,60,5.586,61,4.03,62,2.848,63,5.362,64,2.876,65,8.341,66,5.051,67,4.689,68,6.174,69,7.952,70,5.198,71,5.123,72,4.492,73,7.373,79,4.874,110,5.198,143,2.623,144,1.063,187,3.169,208,2.549,220,3.82,259,3.967,285,3.239,296,4.28,317,4.516,351,4.241,402,6.762,446,3.936,545,5.123,570,4.984,615,4.204,671,3.82,673,3.877,751,8.203,1080,9.216,1179,5.198,1226,7.034,1245,7.034,1268,8.341,1367,5.362,1807,7.828,1821,6.762,1822,6.343,1827,4.538,1836,6.174,1913,6.537,1990,5.888,1994,6.024,3099,7.828,3100,7.828,3101,8.519,3102,8.519,3103,8.519,3104,8.519,3105,8.519,3106,7.373,3107,7.828,3108,8.519,3109,8.519,3110,8.519]],["keywords/343",[]],["title/344",[152,404.162,3098,850.703]],["content/344",[1,4.772,9,3.514,11,3.557,29,3.41,32,6.919,35,2.837,36,4.462,45,2.712,46,5.447,56,5.677,60,7.461,64,4.477,66,7.865,67,7.3,102,2.661,112,4.264,135,5.241,152,2.928,158,3.492,160,1.676,165,4.644,174,4.027,183,4.34,208,3.776,219,4.681,224,6.64,225,4.139,230,3.697,232,4.192,234,4.228,256,3.03,268,5.241,277,3.825,285,3.314,317,3.784,336,3.41,395,12.188,552,6.49,573,5.347,686,6.855,697,4.264,795,3.88,812,4.853,813,7.61,894,6.317,941,4.059,978,4.264,1066,4.91,1104,13.256,1299,5.4,1336,13.004,1363,6.163,1380,6.688,1421,6.688,1448,5.578,1596,8.01,1710,7.544,1769,7.472,1926,5.578,2391,6.49,2504,10.177,2515,8.01,2636,6.688,2712,7.197,2785,6.49,3111,5.677,3112,14.563,3113,8.717,3114,17.741,3115,8.717,3116,13.263,3117,8.717,3118,8.717]],["keywords/344",[]],["title/345",[152,404.162,934,583.521]],["content/345",[1,4.355,5,1.528,7,4.766,11,4.208,29,4.034,35,4.17,45,2.108,46,8.006,51,5.387,52,2.402,55,10.61,60,5.305,75,6.418,158,6.023,160,1.983,194,6.928,208,3.813,219,3.639,230,4.373,232,4.959,234,5.001,256,5.225,277,4.155,296,5.18,317,4.289,352,6.298,358,2.585,628,4.623,697,5.044,700,4.156,855,4.373,934,12.163,978,5.044,1066,5.808,1080,10.628,1339,10.729,1829,7.925,1926,6.598,3111,6.715,3112,14.408,3119,10.31]],["keywords/345",[]],["title/346",[35,211.306,208,193.211,434,427.524]],["content/346",[1,1.32,7,3.776,11,2.888,29,2.769,35,5.062,45,2.305,46,6.583,48,2.936,51,2.536,60,2.497,62,5.359,158,4.517,160,1.361,187,2.632,194,4.253,208,4.701,219,2.497,224,4.589,230,3.001,232,3.403,234,3.432,248,3.657,268,4.255,277,4.827,285,2.691,296,3.555,305,3.894,317,4.574,322,7.793,349,6.483,359,5.664,434,9.8,571,2.981,573,2.852,631,8.651,632,9.244,673,3.22,697,3.461,795,3.15,809,3.851,813,4.782,855,3.001,937,6.07,938,8.116,978,3.461,1019,5.436,1025,7.646,1066,3.986,1118,7.63,1241,8.171,1339,8.823,1363,5.003,1703,5.128,1710,18.966,1769,12.344,1829,8.452,1926,4.528,2042,8.333,3098,5.003,3111,4.609,3112,14.037,3114,10.36,3120,7.076,3121,7.481,3122,5.617]],["keywords/346",[]],["title/347",[158,482.063,1246,723.452]],["content/347",[11,4.452,29,4.268,40,6.221,50,6.855,51,5.611,60,5.526,72,8.255,74,6.004,97,8.324,158,9.931,160,2.098,208,4.547,219,3.85,230,4.627,232,5.246,234,5.291,256,3.792,284,5.752,285,6.964,345,8.341,349,6.763,351,5.431,628,10.423,632,4.964,775,3.63,849,7.726,978,5.336,1019,4.219,1066,6.145,1238,6.56,1246,13.978,1769,8.82,2636,8.37,2637,10.024,3111,7.105,3112,13.883,3123,9.442,3124,10.909,3125,21.192,3126,10.024,3127,10.909]],["keywords/347",[]],["title/348",[35,257.359,347,798.304]],["content/348",[11,2.405,18,2.204,29,2.306,35,5.48,38,2.961,41,6.412,45,3.256,52,4.223,64,4.187,74,3.243,78,2.241,94,5.763,97,4.043,121,2.661,124,3.016,125,3.709,140,2.639,142,2.961,150,4.265,152,3.265,153,3.759,160,1.133,162,2.797,174,4.491,187,5.354,194,4.356,219,2.08,230,2.499,232,2.834,234,2.858,240,2.018,268,3.543,277,2.072,285,2.241,317,1.681,345,9.132,347,14.317,349,5.082,351,2.934,355,3.543,383,6.475,423,8.742,428,3.709,447,2.204,649,4.883,661,6.22,673,7.247,697,2.883,700,8.963,720,3.988,749,9.316,750,4.358,795,2.623,803,6.752,809,3.207,855,8.58,937,11.166,978,2.883,1019,2.279,1025,2.811,1066,3.32,1151,3.281,1280,4.073,1299,3.65,1307,3.36,1336,12.422,1363,4.167,1380,4.521,1926,3.771,2042,5.763,2159,2.811,2298,5.1,2421,5.543,2506,5.1,2651,7.237,3111,3.838,3112,13.334,3121,3.91,3128,4.865,3129,5.893,3130,5.893,3131,4.678,3132,5.415,3133,5.893,3134,5.893,3135,5.893,3136,5.893,3137,4.678,3138,5.1,3139,5.893,3140,9.211,3141,9.72]],["keywords/348",[]],["title/349",[352,330.993,353,517.165]],["content/349",[1,0.836,3,10.855,5,1.143,7,1.203,9,1.806,11,8.477,18,0.911,20,1.341,21,2.362,29,0.953,35,1.65,41,5.249,46,1.001,51,1.605,59,2.728,60,5.034,64,3.769,65,1.559,69,2.733,78,0.926,79,0.911,84,0.788,85,1.814,102,1.367,112,2.191,117,3.096,121,1.1,124,1.247,130,3.806,136,0.565,138,0.959,141,6.95,144,0.304,150,7.191,152,0.818,157,1.153,160,0.468,163,1.213,166,1.425,168,3.167,173,1.952,174,1.126,183,6.773,187,3.777,192,0.488,194,2.728,196,1.062,197,0.965,202,2.553,208,0.477,209,1.047,213,1.247,219,0.86,220,2.787,221,1.192,224,1.463,225,1.398,227,1.657,230,1.033,232,1.172,234,1.182,240,3.478,242,1.372,255,2.656,256,2.161,268,1.465,271,1.465,284,1.285,285,7.264,296,1.224,302,5.326,317,0.695,321,2.767,326,1.509,327,4.294,336,0.953,340,0.869,345,1.298,352,6.815,353,9.462,379,3.031,383,8.553,404,0.937,425,1.182,428,1.533,432,1.312,434,1.054,447,2.325,476,1.407,494,3.383,542,1.298,544,4.854,552,5.742,554,1.247,573,2.506,583,1.649,591,1.934,592,2.775,614,1.162,615,2.21,618,1.869,621,6.932,697,1.192,700,0.982,725,1.285,742,1.04,750,1.092,751,1.533,795,1.084,809,1.326,812,5.018,825,3.502,842,4.297,849,2.21,852,2.102,855,6.305,874,3.678,896,1.587,898,2.972,930,2.239,934,1.182,937,1.312,938,1.407,941,2.895,978,1.192,1019,0.942,1021,1.723,1025,1.162,1026,1.182,1039,4.884,1055,5.871,1058,1.407,1061,1.814,1066,1.372,1136,1.587,1150,1.117,1151,1.356,1196,1.587,1200,3.502,1205,1.869,1208,4.853,1237,2.012,1266,4.777,1294,1.407,1296,2.972,1336,11.173,1339,2.465,1360,2.239,1363,1.723,1396,2.239,1464,1.814,1592,1.869,1662,1.559,1667,7.718,1674,4.207,1769,1.372,1773,1.617,1841,2.917,1926,1.559,1930,1.934,1931,1.934,1969,3.096,1974,10.789,1990,3.096,2013,1.445,2042,2.656,2120,1.869,2159,1.162,2208,3.246,2328,3.877,2434,4.049,2435,5.589,2476,1.587,2504,1.869,2535,6.642,2571,5.589,2586,2.086,2651,3.335,2772,2.109,2992,2.239,3028,1.934,3092,19.65,3098,1.723,3111,1.587,3112,13.545,3121,5.981,3131,1.934,3138,2.109,3142,2.239,3143,6.711,3144,7.435,3145,1.814,3146,2.239,3147,2.436,3148,2.436,3149,2.436,3150,1.559,3151,2.436,3152,2.109,3153,2.436,3154,2.436,3155,2.239,3156,2.436,3157,2.436,3158,2.436,3159,2.436,3160,2.436,3161,2.436,3162,1.723,3163,2.436,3164,2.239,3165,2.239,3166,2.239,3167,4.479,3168,2.109,3169,3.877,3170,2.239,3171,2.436,3172,2.436,3173,2.436,3174,2.436,3175,1.934,3176,4.479,3177,2.239,3178,2.436,3179,2.239,3180,2.012,3181,2.436,3182,3.555,3183,1.766,3184,2.436,3185,2.436,3186,2.436,3187,6.368,3188,2.436,3189,2.436,3190,2.436,3191,2.109,3192,2.239,3193,2.436,3194,2.436,3195,2.436]],["keywords/349",[]],["title/350",[277,256.462,359,604.466]],["content/350",[1,1.413,9,3.054,11,3.091,29,2.964,37,2.532,45,2.433,50,2.594,52,4.215,62,2.532,78,4.524,79,2.833,88,2.947,124,3.877,136,1.758,137,5.058,158,7.251,160,1.457,162,2.718,173,3.301,187,5.466,194,3.601,208,4.367,219,2.673,230,3.213,232,3.643,234,3.674,265,2.462,277,5.11,285,5.588,336,2.964,349,5.775,358,5.037,359,10.752,376,3.34,383,6.211,423,6.541,432,4.078,436,3.447,446,3.5,542,6.339,568,2.897,570,4.431,673,3.447,697,3.705,855,9.077,978,3.705,1019,4.602,1066,4.267,1080,5.356,1123,2.864,1151,4.217,1170,7.055,1265,7.615,1307,4.319,1336,10.65,1385,5.236,1423,4.374,1769,10.195,1910,7.489,1926,4.848,1931,9.445,2159,7.942,2504,5.812,2563,10.075,3111,4.934,3112,13.096,3131,9.445,3196,7.575,3197,7.575,3198,20.091,3199,6.961,3200,4.767,3201,7.575,3202,7.575,3203,14.695,3204,6.556,3205,7.575,3206,6.961,3207,10.299,3208,7.575]],["keywords/350",[]],["title/351",[208,235.32,359,604.466]],["content/351",[11,5.064,18,4.641,48,5.116,50,4.25,64,4.189,85,9.24,136,2.88,160,2.386,167,8.614,187,4.616,194,3.755,208,4.917,219,4.379,230,5.263,232,5.968,265,4.033,272,9.777,285,4.719,349,6.269,351,6.178,359,10.645,428,10.791,460,7.687,535,8.993,573,7.919,622,8.577,628,5.564,631,9.522,671,5.564,849,6.124,855,5.263,978,6.07,1080,12.123,1336,8.993,1386,8.398,1769,6.991,1789,9.249,2186,5.033,2752,10.246,3111,8.082,3112,12.364,3209,12.409,3210,12.409,3211,17.145,3212,11.403]],["keywords/351",[]],["title/352",[208,235.32,2608,871.939]],["content/352",[11,3.503,29,3.359,48,5.476,50,6.097,51,3.076,60,5.613,67,4.724,72,6.912,84,4.241,121,3.877,136,1.992,141,3.641,153,3.32,160,1.651,187,3.193,196,6.931,208,4.76,219,3.029,224,2.803,230,3.641,232,4.128,234,4.163,256,4.557,273,6.451,285,8.449,292,3.46,321,3.821,447,3.21,628,9.428,632,3.906,695,7.215,697,4.199,752,8.422,795,3.821,849,9.462,852,7.464,855,3.641,978,4.199,1036,5.237,1066,4.836,1080,11.245,1115,8.698,1363,6.069,1735,5.09,1790,7.087,1926,5.493,2159,4.094,2608,16.707,3111,5.591,3112,14.269,3121,5.696,3150,5.493,3200,13.646,3213,8.584,3214,8.584,3215,21.027,3216,22.22]],["keywords/352",[]],["title/353",[48,313.337,1788,814.224]],["content/353",[11,4.189,29,4.016,39,9.737,45,3.063,48,6.171,50,5.131,52,3.49,60,3.622,62,3.431,72,5.412,78,3.903,79,3.838,136,3.477,137,5.156,160,1.974,208,4.046,219,3.622,230,4.353,232,4.936,234,4.978,259,4.779,273,7.176,277,3.771,285,8.481,358,4.436,376,4.205,484,10.139,558,10.857,568,3.925,621,8.066,628,7.932,849,5.065,855,8.25,978,5.021,1019,3.97,1066,5.782,1084,9.056,1123,3.881,1788,15.473,1926,6.568,1939,19.85,2301,7.981,3111,6.685,3112,14.038,3121,6.81,3212,9.431,3217,8.474,3218,8.883,3219,8.147,3220,10.263,3221,5.021,3222,10.263]],["keywords/353",[]],["title/354",[48,313.337,359,604.466]],["content/354",[5,1.699,11,4.678,16,8.796,29,4.485,48,6.324,60,5.724,112,5.608,160,2.204,187,4.264,208,4.003,219,4.046,224,3.743,230,4.862,232,5.513,234,5.56,240,3.926,256,5.639,259,7.553,277,4.363,285,8.212,349,7.156,359,11.266,376,3.218,632,9.313,752,5.423,803,6.239,821,7.606,855,4.862,875,5.813,876,9.465,921,9.1,978,5.608,1036,6.994,1080,11.469,1769,6.458,1790,13.392,1832,8.105,2301,8.641,2568,7.758,3111,7.466,3112,13.594,3121,7.606,3206,14.905,3223,11.463,3224,20.467]],["keywords/354",[]],["title/355",[3225,1063.343]],["content/355",[1,1.987,11,4.347,29,4.167,35,4.234,64,3.595,79,3.983,96,9.126,130,5.246,160,2.048,187,3.962,194,6.621,219,3.759,230,4.518,232,5.123,234,5.166,273,7.329,305,8.471,317,3.039,327,8.568,352,5.445,358,2.671,388,17.31,404,5.918,697,5.21,746,5.797,934,5.166,978,5.21,1019,4.12,1025,5.08,1066,6,1068,12.217,1087,12.707,1472,6.499,1926,6.816,1974,5.123,2122,8.455,2301,10.545,2434,10.024,2435,11.154,2831,6.598,3111,6.937,3112,14.537,3225,16.267,3226,14.92,3227,10.651,3228,17.523,3229,10.651,3230,12.707,3231,10.651]],["keywords/355",[]],["title/356",[1897,912.212]],["content/356",[1,1.855,7,3.933,9,4.01,11,4.059,20,5.474,29,3.892,33,7.678,44,6.366,50,3.407,58,9.312,79,9.195,88,3.869,160,1.913,187,3.7,194,3.01,219,3.51,220,4.46,230,4.219,232,4.784,234,4.824,273,5.938,285,8.398,317,2.838,349,3.174,363,8.609,571,8.074,612,5.981,632,6.662,697,4.866,812,5.538,852,6.871,978,4.866,1066,5.603,1084,11.841,1269,9.07,1363,7.033,1769,5.603,1782,9.37,1897,13.947,1926,6.366,2182,8.565,2292,5.744,3075,7.632,3111,6.478,3112,14.559,3232,9.947,3233,9.947,3234,6.6,3235,12.672,3236,9.947,3237,9.947,3238,12.672,3239,13.454]],["keywords/356",[]],["title/357",[256,418.237,753,713.4]],["content/357",[]],["keywords/357",[]],["title/358",[317,343.271,1814,831.594]],["content/358",[1,3.487,5,2.09,7,0.641,8,1.776,9,0.961,18,2.283,33,1.054,35,3.263,36,1.221,37,2.535,45,3.93,46,2.507,48,1.59,50,2.091,52,4.288,53,1.119,55,1.298,58,6.596,59,1.927,64,2.559,75,2.606,78,1.67,83,3.36,84,0.772,88,2.375,89,2.539,90,1.776,91,3.643,97,1.827,102,0.728,106,2.316,110,1.455,114,1.728,119,2.292,123,2.191,127,1.686,129,1.167,130,5.2,131,1.477,133,5.584,136,2.059,138,1.728,139,1.866,140,1.157,141,3.216,142,3.067,143,0.734,144,0.762,146,3.375,150,1.927,152,0.801,153,1.699,156,1.553,157,2.078,159,1.328,160,1.174,162,1.797,164,1.297,167,1.198,180,1.742,181,3.41,185,1.167,188,1.313,190,1.614,192,1.519,194,1.847,196,5.189,197,6.04,198,1.198,201,4.039,202,0.979,204,2.176,208,2.629,209,1.888,211,3.571,213,4.541,214,4.303,219,5.19,222,2.641,224,0.779,225,3.436,227,0.636,241,6.309,252,2.029,256,1.527,265,3.252,266,1.582,272,1.36,273,3.075,277,3.252,278,0.992,279,2.938,282,3.62,285,2.321,290,1.343,292,0.961,300,4.846,302,1.137,305,3.36,307,1.343,316,1.614,317,3.142,318,1.952,319,1.582,324,2.68,326,4.697,331,2.82,332,1.313,333,2.187,337,3.732,350,2.794,358,1.901,370,1.434,371,3.571,372,1.526,373,5.776,374,2.34,376,1.713,391,3.105,398,1.582,404,2.347,407,1.582,408,3.724,409,3.37,423,4.901,425,2.961,434,1.032,435,1.728,437,2.27,439,2.604,440,1.776,442,5.413,447,1.642,463,1.83,467,1.377,476,1.377,495,2.078,508,1.526,522,2.569,535,1.728,540,1.501,543,2.811,571,3.738,573,2.461,575,1.377,593,2.569,594,2.39,620,1.198,621,1.284,624,4.039,625,3.81,626,5.584,627,1.686,632,1.085,637,1.501,642,1.209,643,1.085,646,5.496,651,4.559,652,3.958,676,2.507,693,1.343,695,1.313,697,2.986,700,0.961,712,1.648,723,6.198,725,3.219,750,1.069,752,1.128,795,1.062,804,1.969,813,1.011,815,1.83,819,1.328,837,2.064,845,2.721,852,1.119,882,3.571,883,3.481,900,2.68,918,1.27,925,3.486,956,2.811,957,1.284,958,1.187,978,5.386,1010,1.728,1019,1.699,1025,1.137,1026,1.157,1034,1.776,1038,2.86,1057,1.582,1058,2.536,1065,1.686,1072,1.198,1123,1.661,1129,0.892,1133,2.68,1153,1.062,1154,3.27,1155,1.501,1159,1.648,1180,1.553,1208,2.365,1218,1.728,1220,1.477,1224,1.434,1229,1.553,1249,1.686,1253,2.914,1254,1.36,1264,2.27,1268,1.526,1386,1.614,1397,1.83,1401,1.648,1404,1.728,1417,1.455,1423,1.377,1445,1.893,1448,1.526,1729,1.83,1751,3.27,1782,1.526,1814,1.648,1821,3.486,1825,1.969,1830,4.219,1835,1.455,1843,3.105,1844,3.105,1850,1.776,1897,1.414,1900,3.439,1972,2.064,1986,1.893,2022,3.27,2166,1.648,2168,1.27,2190,4.131,2194,1.614,2243,3.105,2244,4.316,2301,1.27,2317,1.969,2398,3.626,2399,1.969,2401,3.27,2402,3.37,2405,1.893,2497,6.606,2577,4.036,2586,1.11,2625,3.183,2663,2.191,2664,2.191,2738,6.105,2740,3.626,2758,2.191,2759,2.191,2769,1.969,2782,2.064,2793,3.801,2794,3.626,2795,5.04,2796,3.801,2797,6.261,2798,3.626,2810,2.191,2868,1.893,2939,1.893,2940,1.969,2984,1.893,2989,1.776,3006,1.969,3007,1.83,3074,2.191,3150,1.526,3204,2.064,3235,2.064,3240,2.385,3241,2.064,3242,1.686,3243,1.969,3244,2.385,3245,2.385,3246,4.392,3247,4.036,3248,15.31,3249,2.385,3250,2.385,3251,3.486,3252,2.385,3253,2.385,3254,2.191,3255,2.064,3256,2.191,3257,2.385,3258,2.385,3259,2.064,3260,2.064,3261,2.385,3262,2.385,3263,2.385,3264,2.385,3265,2.385,3266,2.385,3267,2.385,3268,2.385,3269,2.385,3270,2.385,3271,2.385,3272,2.385,3273,2.191,3274,2.385,3275,2.191,3276,2.385,3277,8.152,3278,1.776,3279,2.385,3280,4.392,3281,2.385,3282,2.385,3283,4.036,3284,2.385,3285,2.385,3286,2.385,3287,2.191]],["keywords/358",[]],["title/359",[58,476.32,620,604.466]],["content/359",[1,4.085,5,0.781,21,2.78,29,4.484,35,2.873,45,2.746,46,4.706,52,4.015,58,8.55,79,1.972,84,2.867,89,2.193,96,3.126,102,1.61,112,2.579,129,2.579,130,1.797,131,3.266,132,3.821,136,2.66,138,2.075,139,0.774,140,0.688,144,1.106,146,2.347,152,1.771,160,2.204,162,2.444,164,1.12,180,1.504,181,1.797,196,2.298,208,1.031,213,2.699,214,2.557,219,4.739,220,2.364,224,1.722,225,1.645,256,1.833,258,5.117,265,1.714,278,2.193,279,4.959,285,2.005,300,4.186,317,2.528,322,2.347,326,3.266,332,2.902,337,6.095,340,1.88,347,5.879,350,2.689,355,3.171,371,3.085,376,1.48,404,4.407,423,3.944,436,2.399,440,3.926,463,6.799,467,6.617,476,3.045,492,3.728,495,2.494,523,4.564,538,3.926,554,6.874,571,3.733,573,3.572,574,3.126,575,8.647,620,7.523,624,2.809,625,2.649,628,6.021,632,5.215,642,4.493,646,4.838,676,3.639,697,2.579,723,7.099,724,2.674,725,2.78,761,8.465,824,3.821,836,3.171,845,5.489,855,3.758,882,5.183,883,5.053,900,3.217,922,3.266,925,4.186,959,7.033,978,2.579,1008,6.597,1019,6.667,1026,2.557,1031,3.499,1123,5.662,1146,3.126,1155,3.319,1224,3.171,1253,3.499,1373,4.353,1448,3.374,1498,3.568,1674,5.996,1782,5.67,1830,9.282,1897,5.254,2168,2.809,2190,4.126,2211,6.799,2243,3.728,2397,9.462,2398,4.353,2399,4.353,2401,3.926,2402,4.046,2497,6.597,2511,3.644,2566,4.353,2625,3.821,2738,5.406,2748,7.669,2794,4.353,2795,4.353,2797,4.353,2798,4.353,2852,3.821,2868,4.186,2996,4.845,2997,4.845,2998,8.142,3081,4.353,3234,7.604,3248,18.368,3254,8.142,3256,4.845,3277,4.845,3283,4.845,3288,4.845,3289,8.86,3290,5.273,3291,5.273,3292,5.273,3293,5.273,3294,4.845,3295,4.353,3296,4.564,3297,10.531,3298,5.273,3299,5.273,3300,4.845,3301,5.273,3302,5.273,3303,5.273,3304,4.353,3305,5.273,3306,3.926,3307,4.845]],["keywords/359",[]],["title/360",[1246,925.064]],["content/360",[]],["keywords/360",[]],["title/361",[1246,723.452,3308,1203.126]],["content/361",[1,4.316,5,2.576,9,7.007,37,5.811,44,11.124,70,10.606,75,7.422,88,6.762,91,6.328,135,10.452,272,9.912,336,6.801,437,8.984,511,13.038,676,7.139,958,8.654,1246,13.913,2843,12.943,3309,17.383]],["keywords/361",[]],["title/362",[3310,1538.415]],["content/362",[5,1.312,48,4.221,58,5.313,64,4.53,102,2.703,107,6.26,119,7.005,135,5.324,139,1.299,145,4.029,164,4.346,204,3.157,225,2.763,337,5.669,376,6.415,409,6.793,468,6.592,476,10.445,495,8.557,571,5.655,573,3.569,677,4.767,761,7.005,1146,7.958,1184,10.202,1736,6.793,1854,7.028,1952,7.663,1999,7.31,2377,6.793,2379,6.793,2962,7.663,3164,14.895,3255,7.663,3311,13.421,3312,8.853,3313,8.853,3314,8.853,3315,13.421,3316,8.853,3317,8.853,3318,8.853,3319,16.209,3320,8.853,3321,20.458,3322,19.531,3323,16.209,3324,16.209,3325,16.209,3326,16.209,3327,16.209,3328,16.209,3329,16.209,3330,16.209,3331,16.209,3332,16.209,3333,16.209,3334,14.895,3335,20.458,3336,16.209,3337,8.853,3338,8.853,3339,8.853,3340,16.209,3341,8.853,3342,8.853]],["keywords/362",[]],["title/363",[3343,1413.703]],["content/363",[5,2.132,7,3.866,9,5.8,11,5.872,13,11.559,18,5.381,36,9.698,48,3.747,58,5.696,60,5.078,102,4.392,125,11.924,136,3.339,144,1.796,187,5.352,225,4.49,317,4.105,325,8.106,362,6.979,437,7.437,454,9.208,468,10.714,573,5.8,612,8.652,700,5.8,717,8.011,724,7.296,934,6.979,977,8.205,1201,11.559,1246,11.392,2787,9.371,3145,14.107,3322,13.222,3343,13.222,3344,14.389,3345,10.714,3346,14.389,3347,13.222,3348,14.389,3349,14.389,3350,14.389,3351,14.389,3352,14.389,3353,14.389]],["keywords/363",[]],["title/364",[2377,1180.425]],["content/364",[5,1.535,45,4.246,48,4.632,49,4.981,57,7.324,70,6.32,102,3.162,139,2.213,145,4.713,169,7.507,197,4.101,224,3.382,225,3.232,226,5.302,248,5.353,273,4.201,337,6.123,352,4.149,353,6.483,403,6.32,404,3.983,468,7.712,500,9.518,550,8.965,701,7.507,848,4.422,896,6.746,934,8.626,937,9.576,938,10.27,1296,6.873,1662,9.652,1827,5.518,1863,8.222,2193,8.965,2317,14.684,2354,7.712,2377,11.572,2379,11.572,2553,7.712,2665,14.118,2970,8.222,3014,8.965,3089,8.222,3145,7.712,3287,9.518,3354,15.081,3355,10.358,3356,8.222,3357,8.965,3358,15.081,3359,10.358,3360,10.358,3361,10.358,3362,10.358,3363,10.358,3364,10.358,3365,20.763,3366,20.763,3367,10.358,3368,19.536,3369,15.081,3370,10.358,3371,15.081,3372,15.081,3373,10.358,3374,10.358,3375,10.358,3376,10.358,3377,10.358,3378,10.358]],["keywords/364",[]],["title/365",[3357,1331.557]],["content/365",[4,7.866,46,6.064,48,3.845,65,9.449,66,11.426,67,8.127,102,4.507,139,2.166,162,2.41,187,5.492,219,5.211,285,5.614,376,4.145,383,7.707,434,6.39,468,10.994,476,8.526,573,5.952,677,10.374,686,9.959,858,12.78,896,9.617,1037,10.994,1620,10.994,2377,14.785,2522,17.707,2538,12.191,2547,17.707,3007,11.329,3145,10.994,3200,9.293,3357,12.78,3379,14.765,3380,19.269,3381,14.765,3382,14.765,3383,14.765,3384,14.765,3385,14.765,3386,14.765]],["keywords/365",[]],["title/366",[1,184.269,152,331.839,1814,682.785]],["content/366",[]],["keywords/366",[]],["title/367",[2568,1041.133]],["content/367",[1,3.639,18,3.337,24,7.084,25,7.084,30,6.31,36,4.568,37,5.445,45,4.594,47,10.089,48,3.516,55,4.857,56,5.812,62,2.983,78,3.393,84,2.887,121,4.03,124,8.337,139,2.39,144,1.685,152,4.536,182,5.089,185,4.365,186,3.852,193,4.857,198,6.783,225,2.784,234,4.328,243,5.192,252,6.238,254,5.444,265,2.9,277,3.871,279,2.955,282,8.006,288,12.929,321,3.972,336,6.372,358,4.084,446,4.123,447,3.337,571,3.76,628,4.001,653,5.22,748,6.31,754,5.366,765,6.467,791,6.168,795,6.01,806,5.291,808,4.754,819,4.968,821,5.921,840,5.528,874,4.256,882,5.22,902,5.812,1227,6.847,1662,5.711,2069,6.644,2304,12.407,2354,6.644,2568,9.137,2572,7.368,2786,12.929,2970,7.084,3007,6.847,3009,18.446,3175,7.084,3207,7.724,3278,6.644,3387,21.311,3388,7.724,3389,18.16,3390,8.2,3391,8.923,3392,11.148,3393,7.084,3394,8.923,3395,8.2,3396,8.923,3397,8.2,3398,8.2,3399,12.407,3400,13.502,3401,8.2,3402,8.2,3403,8.923]],["keywords/367",[]],["title/368",[2117,1221.21]],["content/368",[1,3.862,9,4.742,28,8.524,33,5.198,35,2.516,37,3.932,45,3.378,48,4.302,56,7.661,60,4.151,72,8.709,78,4.472,127,8.317,142,5.909,187,4.375,194,3.56,197,6.539,208,2.301,224,3.841,225,3.67,230,4.989,242,6.626,259,5.477,277,2.507,321,7.352,350,2.76,352,3.236,372,7.527,434,5.091,447,4.399,571,4.956,573,4.742,618,9.025,674,6.707,677,6.333,695,6.474,696,6.974,753,6.974,808,6.266,830,7.805,852,7.752,894,15.804,896,7.661,902,7.661,934,8.011,1061,8.758,1127,9.712,1139,5.236,1229,7.661,1246,7.073,1266,7.286,1299,7.286,1359,10.181,2117,9.337,2176,8.758,2511,8.13,2566,9.712,2572,9.712,2573,7.805,2970,9.337,3251,9.337,3390,10.809,3404,10.809,3405,9.337,3406,10.809,3407,7.661,3408,11.762,3409,10.809,3410,10.809,3411,11.762,3412,11.762,3413,11.762]],["keywords/368",[]],["title/369",[321,535.538,3414,814.224]],["content/369",[1,4.057,5,1.654,7,0.885,9,1.328,11,1.344,13,2.01,18,1.232,27,2.719,35,0.705,36,6.891,37,1.969,43,2.145,45,1.986,46,1.353,47,6.916,48,0.858,49,1.584,57,4.163,71,3.541,78,1.252,80,2.04,84,1.066,85,2.452,91,2.144,97,1.37,102,1.005,121,2.659,124,1.686,125,2.073,130,2.007,131,2.04,139,2.43,143,1.014,144,0.411,145,1.499,150,1.445,152,1.106,158,1.32,162,0.961,173,1.435,182,1.878,186,1.68,188,3.241,189,1.304,193,1.793,194,1.782,198,4.011,207,1.793,213,3.014,219,7.318,223,1.611,225,3.869,234,3.872,242,1.856,243,3.735,244,1.267,256,1.145,263,2.452,268,5.841,277,1.702,282,3.491,321,3.554,326,3.647,336,1.289,337,6.339,350,0.773,351,3.975,352,1.62,353,2.531,358,0.826,375,2.548,407,2.185,408,12.34,416,2.719,425,1.597,494,1.793,571,3.364,573,1.328,621,3.17,628,1.477,632,1.499,676,1.353,695,1.813,697,2.88,712,5.519,761,7.026,765,2.387,795,3.554,809,3.205,824,2.387,830,3.907,839,2.851,852,3.747,875,2.986,877,2.229,894,4.267,901,3.592,902,5.2,911,2.452,918,8.097,928,2.329,934,4.711,937,4.299,938,4.611,941,3.718,1038,2.145,1066,1.856,1118,2.229,1139,9.332,1161,2.387,1229,2.145,1284,2.452,1311,2.851,1409,1.981,1518,5.096,1575,4.861,1702,2.719,1709,1.702,1789,2.449,1814,5.519,1827,1.755,1840,3.985,1910,2.073,1926,3.768,1986,2.615,2117,13.145,2129,2.851,2379,4.518,2389,2.452,2390,2.185,2476,2.145,2518,8.407,2523,5.411,2568,9.11,2572,4.861,2576,3.027,2592,2.851,2695,2.527,2786,2.615,2842,2.452,2971,5.096,3007,8.566,3009,5.096,3170,3.027,3175,2.615,3179,7.337,3192,3.027,3200,3.706,3392,2.719,3399,3.027,3401,7.337,3402,7.337,3410,7.337,3415,3.294,3416,3.294,3417,2.719,3418,3.294,3419,3.294,3420,2.851,3421,3.294,3422,9.713,3423,14.387,3424,3.294,3425,5.2,3426,3.294,3427,3.294,3428,3.294,3429,3.294,3430,3.294,3431,5.888,3432,3.294,3433,5.888,3434,7.984,3435,3.294,3436,5.888,3437,3.294,3438,3.294,3439,3.294,3440,3.294,3441,5.888,3442,5.888,3443,3.294,3444,3.294,3445,3.294,3446,3.294,3447,3.294,3448,3.294,3449,3.294,3450,3.294,3451,3.294,3452,3.294,3453,5.888,3454,3.294,3455,3.294,3456,3.294,3457,3.294,3458,15.199,3459,3.294,3460,3.294,3461,11.164,3462,3.294,3463,3.294,3464,3.294,3465,3.294,3466,3.294,3467,3.294,3468,3.294,3469,3.294,3470,3.294,3471,3.294,3472,3.294,3473,3.294,3474,3.294,3475,3.294,3476,3.294,3477,5.888,3478,3.294,3479,3.294,3480,3.294,3481,2.851,3482,3.294,3483,3.294,3484,3.294,3485,3.294,3486,3.294,3487,3.294,3488,3.294,3489,3.294,3490,3.294,3491,3.294,3492,3.294,3493,3.294,3494,3.294,3495,3.294,3496,3.294,3497,3.294,3498,3.294,3499,3.294,3500,3.294,3501,3.294,3502,3.294,3503,3.294,3504,3.294,3505,3.294,3506,3.294,3507,3.294,3508,3.294,3509,3.294,3510,3.294,3511,3.294,3512,3.294,3513,3.294,3514,3.294,3515,3.294,3516,3.294,3517,3.294,3518,3.294,3519,3.294,3520,3.294,3521,3.294,3522,3.294,3523,3.027,3524,3.294,3525,3.294,3526,2.719,3527,3.294,3528,3.294,3529,3.294,3530,2.615,3531,3.294,3532,3.294,3533,3.294,3534,3.294,3535,3.294,3536,3.294,3537,3.294,3538,3.294,3539,3.294,3540,3.294,3541,3.294,3542,3.294,3543,3.294,3544,3.294,3545,3.294,3546,3.294,3547,3.294,3548,3.294,3549,3.294,3550,3.294,3551,3.294,3552,3.294]],["keywords/369",[]],["title/370",[1,184.269,3553,855.008,3554,643.388]],["content/370",[]],["keywords/370",[]],["title/371",[50,412.077,307,677.776]],["content/371",[1,3.193,5,2.537,11,6.986,143,5.272,144,2.137,162,2.794,219,6.042,594,9.317,622,11.832,842,11.832,907,12.747,911,12.747,918,9.12,1900,9.644,2852,12.407,2888,14.817,2985,14.134,3417,14.134,3555,17.119,3556,17.119,3557,17.119,3558,17.119,3559,17.119,3560,17.119,3561,17.119,3562,17.119]],["keywords/371",[]],["title/372",[1,184.269,7,265.386,18,369.428]],["content/372",[1,3.765,567,14.627,571,9.843,3278,15.028,3563,20.183]],["keywords/372",[]],["title/373",[1,224.429,50,412.077]],["content/373",[1,3.61,36,7.608,46,6.104,50,5.091,67,8.18,84,6.261,157,7.031,208,3.785,225,6.039,252,6.867,256,6.727,337,6.065,339,8.937,433,9.862,495,10.784,522,11.321,700,5.991,882,8.695,941,9.011,1039,7.148,1123,5.62,1151,8.275,1662,9.512,1751,11.067,1833,13.658,1900,8.373,1952,12.864,2141,10.771,2907,12.864,3553,12.864,3554,12.604,3564,14.863,3565,14.863,3566,14.863]],["keywords/373",[]],["title/374",[7,265.386,18,369.428,3554,643.388]],["content/374",[36,10.331,37,6.748,143,6.215,225,6.298,3553,17.469,3554,13.145]],["keywords/374",[]],["title/375",[2194,814.224,3554,783.61]],["content/375",[2194,13.782,2195,14.4,3567,20.365,3568,18.714,3569,20.365]],["keywords/375",[]],["title/376",[130,285.585,468,623.89,3042,725.232,3554,545.732]],["content/376",[89,7.985,139,3.662,225,6.831,436,7.572,476,9.608,496,10.923,571,7.011,620,5.972,851,9.814,927,8.614,966,11.713,1040,19.111,1047,10.288,1782,7.607,2195,13.575,2217,10.923,2875,15.29,2962,19.637,3554,7.742,3568,15.29,3570,16.639,3571,11.886,3572,11.886,3573,11.886,3574,11.886,3575,11.886,3576,11.886,3577,11.886,3578,11.886,3579,17.642,3580,10.649,3581,11.886,3582,10.923,3583,11.886,3584,16.639,3585,11.886,3586,11.886,3587,11.886,3588,11.886,3589,11.886,3590,16.639,3591,11.886,3592,11.886,3593,11.886]],["keywords/376",[]],["title/377",[225,308.244,620,496.3,3554,643.388]],["content/377",[1,3.894,36,11.645,46,6.874,102,5.109,139,2.456,162,2.732,225,5.223,273,6.789,482,13.287,495,7.919,620,8.409,923,14.487,1016,15.395,1043,15.381,1375,13.287,2939,13.287,3554,15.512,3594,16.738,3595,16.738,3596,16.738,3597,16.738]],["keywords/377",[]],["title/378",[1,119.902,58,254.475,130,219.079,317,183.393,3554,418.645,3598,590.666]],["content/378",[1,2.376,35,1.769,38,4.155,45,4.381,58,8.886,64,2.791,74,4.551,84,2.675,102,2.524,112,4.045,119,4.316,121,3.735,130,6.426,136,1.919,139,2.28,140,1.079,143,3.923,144,1.59,162,3.497,173,3.604,196,7.608,197,5.043,198,4.155,201,10.61,204,6.722,208,1.617,238,4.36,317,3.635,337,2.592,338,6.786,371,4.838,404,3.18,421,6.827,434,3.579,435,5.993,463,6.345,492,5.847,495,6.027,567,5.993,571,3.484,592,5.122,673,3.763,700,3.333,743,5.292,1010,11.261,1058,4.775,1123,3.127,1153,7.771,1180,8.297,1268,5.292,1275,7.157,1388,6.345,1423,4.775,1711,5.292,1827,4.405,1836,5.993,1857,6.157,1862,7.599,1865,6.345,1866,7.599,1900,7.176,1980,6.564,1981,6.827,1996,7.157,2022,6.157,2738,7.772,2782,7.157,2921,7.599,2922,7.599,3042,7.157,3132,7.599,3278,6.157,3554,15.098,3599,8.269,3600,8.269,3601,7.599,3602,8.269,3603,11.706,3604,15.539,3605,15.539,3606,7.599,3607,8.269,3608,16.042,3609,8.269,3610,8.269,3611,8.269,3612,8.269,3613,8.269,3614,6.827,3615,8.269,3616,8.269,3617,8.269]],["keywords/378",[]],["title/379",[130,336.688,278,410.861,3598,907.755]],["content/379",[35,3.075,45,0.862,50,1.445,58,6.111,59,1.851,84,1.365,90,3.14,130,2.495,135,2.536,136,2.689,139,2.7,140,0.955,143,1.299,146,5.836,148,7.224,160,1.408,162,1.583,181,1.438,183,2.1,187,1.569,208,2.564,211,9.56,213,10.688,214,11.279,219,3.424,230,4.115,237,3.14,256,1.466,259,1.964,266,2.799,270,5.618,275,5.28,279,1.397,292,2.951,336,1.65,337,2.295,338,3.9,348,10.06,373,3.551,376,2.055,378,2.081,432,3.942,439,2.501,463,5.618,467,2.436,573,1.7,593,2.467,620,4.874,646,3.495,649,2.119,656,13.011,676,1.732,697,8.709,700,1.7,701,3.057,723,12.935,724,3.713,725,3.86,726,3.348,752,1.995,761,7.503,813,1.789,848,3.126,875,2.139,882,2.467,883,2.405,896,2.747,898,2.799,927,3.057,937,2.271,958,2.1,977,2.405,978,2.063,1010,5.306,1047,3.651,1066,5.465,1072,2.119,1091,3.876,1123,2.768,1138,3.057,1146,2.501,1170,2.501,1180,4.769,1241,3.057,1262,3.876,1353,3.876,1377,18.223,1393,3.236,1414,3.14,2211,3.236,2233,6.337,2243,8.191,2274,5.618,2338,3.876,2470,6.337,2479,8.397,2488,3.876,2625,11.187,2712,3.482,2738,2.573,2972,3.651,3204,3.651,3234,2.799,3288,3.876,3554,11.152,3603,3.876,3614,3.482,3618,4.218,3619,9.701,3620,7.322,3621,7.322,3622,7.322,3623,4.218,3624,9.701,3625,13.111,3626,11.584,3627,7.322,3628,17.803,3629,13.111,3630,11.584,3631,13.111,3632,17.803,3633,4.218,3634,7.322,3635,6.728,3636,11.584,3637,11.584,3638,15.435,3639,11.584,3640,4.218,3641,4.218,3642,3.876,3643,4.218,3644,4.218,3645,4.218,3646,4.218,3647,4.218,3648,4.218,3649,4.218,3650,4.218,3651,17.122,3652,9.701,3653,9.701,3654,4.218,3655,4.218,3656,4.218,3657,4.218,3658,4.218,3659,4.218,3660,4.218,3661,4.218,3662,7.322,3663,4.218,3664,4.218,3665,7.322,3666,3.876,3667,7.322,3668,3.876]],["keywords/379",[]],["title/380",[58,476.32,3234,798.304]],["content/380",[1,3.548,5,1.097,7,3.139,18,2.768,35,1.583,36,5.98,37,3.906,42,4.45,45,1.513,46,4.798,49,3.559,50,2.535,58,8.41,67,6.43,84,2.394,89,4.859,102,2.259,118,5.233,136,3.359,139,3.31,141,3.139,144,1.458,153,2.862,159,6.504,162,1.907,173,3.225,182,4.22,183,3.685,196,3.225,208,2.285,225,4.517,237,5.511,248,3.825,265,2.405,277,3.504,279,3.869,319,4.911,337,4.537,339,7.025,351,3.685,425,3.589,439,6.928,447,2.768,467,4.274,492,5.233,495,7.777,513,7.025,542,3.943,554,3.788,556,4.911,563,3.825,571,3.118,575,4.274,592,4.585,700,4.71,724,3.753,813,3.139,819,4.12,822,4.12,855,4.955,923,6.406,941,6.74,978,3.62,1008,5.511,1016,12.111,1019,4.519,1123,5.473,1146,4.388,1159,5.115,1180,9.428,1212,6.406,1220,7.237,1275,6.406,1464,5.511,1703,5.364,1811,4.82,1897,4.388,1900,4.169,1905,6.801,2141,5.364,2158,5.115,2168,3.943,2317,6.111,2748,6.406,2772,6.406,3018,6.406,3043,6.406,3234,10.908,3554,12.97,3606,6.801,3608,6.801,3642,6.801,3669,5.679,3670,7.401,3671,7.401,3672,7.401,3673,14.475,3674,7.401,3675,7.401,3676,7.401,3677,7.401,3678,11.683,3679,7.401,3680,7.401,3681,7.401,3682,7.401,3683,7.401,3684,7.401,3685,7.401,3686,5.679,3687,11.683,3688,7.401,3689,12.529,3690,6.801,3691,11.683,3692,7.401,3693,7.401,3694,7.401,3695,7.401]],["keywords/380",[]],["title/381",[1782,984.542]],["content/381",[]],["keywords/381",[]],["title/382",[1,224.429,1782,769.966]],["content/382",[1,4.162,4,9.945,5,1.673,9,4.552,11,6.549,36,8.214,37,5.365,48,2.941,51,4.047,58,4.47,70,6.889,97,4.696,105,7.641,136,2.621,144,1.41,197,4.47,225,5.825,248,5.836,285,4.293,321,5.026,332,6.214,404,6.171,408,9.791,425,5.476,546,7.492,621,6.079,673,5.138,676,4.637,750,5.062,848,6.852,900,6.889,966,6.889,1039,8.978,1058,6.52,1123,4.269,1401,7.804,1691,9.773,1782,13.01,1840,7.641,2010,9.323,2292,6.52,2497,11.949,2525,9.323,2651,8.407,2852,17.001,2939,8.963,3155,10.376,3241,16.158,3247,14.746,3300,10.376,3696,11.291,3697,21.475,3698,8.963,3699,11.291,3700,11.291,3701,18.668,3702,11.291]],["keywords/382",[]],["title/383",[1,214.995,29,284.639,234,352.83,3698,577.479]],["content/383",[1,4.394,28,5.243,29,8.454,33,3.197,37,3.836,45,4.418,50,5.56,54,6.544,58,8.881,64,2.442,78,2.751,79,5.333,91,2.634,126,4.896,130,5.532,136,3.31,143,3.534,144,0.903,162,1.873,194,2.189,196,3.153,203,4.126,220,3.244,225,2.257,234,7.873,238,3.815,241,5.385,243,4.413,256,2.515,262,10.77,271,4.35,279,2.396,282,10.495,309,3.539,317,3.274,330,10.084,331,5.302,333,3.602,337,3.597,340,2.579,372,7.344,396,5.115,404,7.243,407,4.8,408,8.701,484,4.896,495,3.423,564,4.63,568,4.388,570,4.232,571,4.835,573,2.916,594,6.246,618,5.551,620,5.765,671,3.244,673,5.222,676,2.971,753,4.29,754,4.35,761,3.776,848,8.042,900,4.414,1061,10.619,1084,3.703,1123,4.339,1138,5.243,1207,3.938,1247,5.001,1249,5.115,1385,7.931,1400,5.001,1401,5.001,1773,4.8,1814,5.001,2042,4.29,2070,5.973,2385,5.387,2511,5.001,2738,7.001,2749,5.387,2768,6.648,2771,8.834,2925,5.743,2984,5.743,2985,5.973,3053,6.648,3234,4.8,3241,14.05,3698,14.05,3703,7.235,3704,7.235,3705,6.648,3706,11.475,3707,11.475,3708,7.235,3709,7.235]],["keywords/383",[]],["title/384",[3710,1538.415]],["content/384",[]],["keywords/384",[]],["title/385",[11,491.014,325,677.776]],["content/385",[1,2.927,3,9.179,5,2.325,7,4.215,11,8.178,35,3.356,50,5.374,89,6.526,139,2.94,225,6.89,256,5.454,325,8.839,533,16.942,571,6.611,620,10.068,676,6.443,719,12.455,750,7.035,758,6.885,912,10.845,956,10.041,957,8.447,1053,12.039,1146,9.303,1204,12.954,1220,9.719,1702,12.954,2211,12.039,3711,15.69,3712,15.69,3713,13.58]],["keywords/385",[]],["title/386",[3714,1538.415]],["content/386",[11,5.267,18,4.827,37,4.315,89,5.368,95,11.171,106,6.805,117,8.921,118,9.126,119,6.737,122,11.86,129,6.314,130,6.834,131,7.995,132,9.354,133,11.086,135,7.761,195,7.875,202,5.3,225,4.027,272,7.36,273,5.235,289,15.245,302,6.156,307,7.271,320,7.875,408,7.875,443,6.805,493,8.735,533,9.903,566,9.354,758,5.664,907,9.61,920,8.26,1037,9.61,1053,9.903,1123,6.66,1151,7.185,1220,7.995,1243,11.86,1279,9.354,1291,8.406,1587,11.86,1691,11.171,2135,8.123,2194,8.735,2195,14.178,2354,9.61,2888,15.245,3715,17.614,3716,12.906,3717,12.906,3718,11.86,3719,17.614,3720,12.906,3721,12.906,3722,12.906,3723,12.906,3724,12.906,3725,12.906]],["keywords/386",[]],["title/387",[3726,1331.557]],["content/387",[1,4.489,5,1.989,6,5.179,9,5.41,10,12.069,21,4.668,28,6.416,35,1.894,46,3.636,48,2.306,50,5.552,54,5.049,60,5.72,64,2.988,74,4.873,84,2.864,89,3.682,97,3.682,110,5.402,118,6.26,125,5.572,126,5.992,143,2.726,158,3.547,171,8.589,187,6.029,195,8.189,202,6.657,221,4.331,224,2.891,274,4.873,294,6.26,302,4.223,317,4.625,351,4.408,371,5.179,398,5.874,442,5.402,493,10.969,556,5.874,573,5.41,593,5.179,642,4.489,671,3.97,676,7.983,677,7.226,720,5.992,742,3.78,794,6.793,847,6.793,848,3.78,851,7.31,852,6.299,934,4.294,1138,6.416,1139,3.941,1169,8.136,1196,5.766,1215,7.663,1218,6.416,1226,7.31,1268,10.373,1280,6.119,1294,5.112,1388,6.793,1423,5.112,1444,7.31,1778,7.31,1802,7.31,1814,6.119,1827,4.716,1881,6.793,1892,6.119,1913,6.793,1986,7.028,1990,9.277,2287,7.028,2430,6.592,2507,11.081,2570,11.617,2868,7.028,3004,8.136,3106,7.663,3140,5.666,3260,7.663,3726,7.663,3727,8.853,3728,7.663,3729,8.853,3730,8.853,3731,7.663,3732,7.663,3733,8.853,3734,8.136,3735,13.421,3736,7.663,3737,7.663,3738,7.028,3739,8.853,3740,8.853,3741,8.853,3742,8.853,3743,8.136,3744,8.853,3745,8.853]],["keywords/387",[]],["title/388",[2743,1114.932]],["content/388",[]],["keywords/388",[]],["title/389",[2745,1221.21]],["content/389",[1,2.765,4,4.09,5,2.863,10,11.038,20,4.226,42,4.617,50,2.63,54,4.378,58,6.641,59,3.369,64,6.521,66,7.131,74,4.226,75,3.278,110,4.685,143,2.364,159,4.275,169,5.564,173,3.346,184,6.339,187,6.24,188,4.226,189,3.04,194,4.486,202,8.293,220,5.392,252,6.849,296,3.857,307,4.325,309,3.756,337,5.258,339,8.914,350,1.801,394,8.954,437,6.215,446,3.547,447,2.871,465,5.307,476,4.434,535,5.564,542,7.897,543,4.914,546,9.836,561,5.891,573,5.976,647,4.325,671,3.442,677,9.807,686,7.662,698,3.468,818,8.715,822,4.275,823,9.487,894,5.564,900,4.685,958,7.38,1014,6.095,1016,8.138,1084,3.93,1180,5.001,1241,5.564,1269,7.45,1458,9.227,1623,7.056,1881,5.891,1990,8.312,2096,5.307,2636,5.891,2743,16.935,2745,17.06,2933,7.056,3273,7.056,3420,6.646,3690,11.051,3734,7.056,3743,7.056,3746,7.678,3747,7.678,3748,11.051,3749,7.678,3750,7.678,3751,7.678,3752,5.429,3753,12.026,3754,7.056,3755,7.678,3756,7.056,3757,7.678,3758,7.056,3759,7.678,3760,7.678,3761,11.038,3762,6.646,3763,7.678,3764,7.056,3765,7.678,3766,6.646,3767,6.646,3768,7.678,3769,7.056,3770,7.056,3771,7.056]],["keywords/389",[]],["title/390",[5,146.397,3772,585.741,3773,907.755]],["content/390",[5,2.931,11,5.645,16,7.071,21,7.293,46,3.784,51,3.303,58,7.307,75,3.935,97,3.833,139,3.66,158,3.692,159,5.13,187,3.427,202,3.784,205,5.541,220,6.202,252,4.258,302,6.598,307,7.793,337,5.205,339,5.541,437,4.763,446,4.258,476,5.321,546,6.114,551,6.114,675,9.47,814,7.609,823,5.897,941,6.441,1057,6.114,1140,6.002,1150,4.225,1155,5.8,1199,6.678,1448,5.897,1472,5.622,1514,7.976,1619,10.025,1624,7.976,1725,6.861,1802,11.421,1832,6.516,1881,7.071,1990,12.757,1999,7.609,2013,5.464,2155,11.973,2505,8.468,2743,15.613,2787,6.002,2936,7.976,3100,8.468,3112,8.706,3304,7.609,3748,8.468,3754,12.711,3761,12.365,3762,11.973,3766,14.374,3767,7.976,3772,9.847,3773,15.26,3774,8.468,3775,9.361,3776,12.711,3777,9.215,3778,9.215,3779,9.215,3780,9.215,3781,9.215,3782,9.215,3783,8.468,3784,9.215,3785,9.215,3786,9.215,3787,9.215,3788,8.468,3789,9.215,3790,9.215]],["keywords/390",[]],["title/391",[2743,871.939,3761,895.836]],["content/391",[5,2.054,21,7.307,28,10.043,58,5.486,64,4.678,103,8.722,143,4.267,194,5.592,197,5.486,202,7.589,285,5.269,316,9.379,337,4.344,339,11.112,391,9.799,397,11.001,408,11.275,546,9.195,571,5.839,673,6.306,676,5.691,720,9.379,812,7.715,823,11.826,1139,6.169,1240,10.633,1520,11.995,1775,11.442,2166,9.579,2743,17.86,2745,11.001,3304,11.442,3686,10.633,3756,12.735,3761,13.76,3791,13.858,3792,18.48,3793,12.735,3794,13.858,3795,13.858,3796,12.735,3797,13.858,3798,12.735]],["keywords/391",[]],["title/392",[2743,715.91,3761,735.532,3799,987.834]],["content/392",[1,3.751,5,1.924,21,10.604,58,5.139,64,4.382,74,7.144,89,5.399,91,4.726,143,3.997,171,8.307,202,7.262,279,4.299,284,6.844,285,4.936,309,6.35,336,5.079,337,4.069,371,10.345,458,11.928,459,11.928,467,7.496,542,6.915,546,8.613,671,5.82,677,6.989,686,9.139,812,9.845,849,6.406,852,6.092,958,11.607,1139,9.612,1269,8.041,1595,10.304,1881,9.96,2155,11.235,2511,8.972,2745,10.304,3761,9.665,3800,12.981,3801,12.981,3802,12.981,3803,12.981,3804,12.981,3805,12.981,3806,12.981,3807,12.981,3808,12.981,3809,12.981,3810,12.981,3811,12.981,3812,12.981,3813,11.928]],["keywords/392",[]],["title/393",[3814,1538.415]],["content/393",[1,3.881,6,9.739,54,7.912,64,4.684,69,5.645,70,5.645,88,5.398,91,5.051,119,4.83,121,4.179,129,6.788,158,5.559,162,1.51,185,4.526,224,3.021,275,5.036,279,3.064,288,11.014,302,4.413,307,5.213,316,6.262,337,5.218,339,5.564,397,7.345,429,12.774,442,5.645,542,4.929,545,8.343,554,4.736,571,5.846,612,5.564,614,4.413,671,6.221,676,3.8,695,7.637,698,4.179,701,6.706,852,9.764,1036,5.645,1050,10.056,1139,9.26,1207,5.036,1291,6.027,1404,6.706,1423,5.343,1775,11.456,1990,6.396,2535,5.093,2551,10.647,2743,17.007,2940,7.64,3059,8.503,3239,8.503,3304,7.64,3306,10.331,3761,10.331,3762,8.009,3766,8.009,3769,15.298,3770,15.298,3771,8.503,3775,9.39,3815,13.875,3816,9.253,3817,8.503,3818,9.253,3819,9.253,3820,12.01,3821,8.503,3822,7.64,3823,13.875,3824,9.253,3825,13.875,3826,13.875,3827,7.64,3828,9.253,3829,9.253,3830,9.253,3831,8.503,3832,9.253,3833,8.503]],["keywords/393",[]],["title/394",[285,457.481,3834,871.939]],["content/394",[]],["keywords/394",[]],["title/395",[1,119.902,5,95.259,136,149.179,225,200.571,278,267.343,3834,465.835]],["content/395",[1,3.894,5,3.094,35,4.866,37,5.596,45,3.423,136,5.28,142,8.409,208,4.449,221,10.211,278,9.461,280,12.931,281,12.843,332,9.212,338,8.917,1818,9.665,3834,15.128]],["keywords/395",[]],["title/396",[1,135.702,50,249.165,136,168.838,568,278.179,3834,527.223]],["content/396",[1,3.218,5,2.556,35,3.69,45,3.527,50,7.284,136,5.352,143,5.312,189,6.829,203,12.128,221,8.438,331,7.97,338,9.19,563,8.916,568,8.133,2497,12.844,2738,10.525,3834,12.501,3835,15.851,3836,17.25,3837,15.851]],["keywords/396",[]],["title/397",[1,156.3,50,286.984,568,320.402,3834,607.247]],["content/397",[5,2.518,35,3.634,45,4.308,58,8.341,136,4.89,143,5.232,189,6.726,203,12.015,221,8.311,331,7.85,337,5.325,338,9.051,447,6.354,568,8.057,695,9.351,2497,12.651,2738,10.366,3834,15.269,3835,15.613,3837,15.613,3838,16.99]],["keywords/397",[]],["title/398",[51,260.719,255,431.362,285,276.618,840,450.648,1820,558.194]],["content/398",[35,3.69,61,8.161,181,5.879,358,4.325,376,4.842,382,12.197,447,6.451,625,8.667,626,10.857,695,9.494,875,8.747,2514,14.93,3834,12.501,3839,17.25,3840,17.25,3841,17.25,3842,17.25,3843,17.25,3844,17.25,3845,17.25,3846,17.25,3847,17.25,3848,17.25,3849,17.25,3850,17.25]],["keywords/398",[]],["title/399",[285,375.617,3732,855.008,3851,735.532]],["content/399",[51,7.169,143,6.16,163,9.959,285,7.606,3732,17.314,3851,14.895,3852,20.004]],["keywords/399",[]],["title/400",[345,640.944,3851,895.836]],["content/400",[1,3.765,143,6.215,332,11.108,345,10.752,3851,15.028,3853,20.183]],["keywords/400",[]],["title/401",[3851,895.836,3854,1105.594]],["content/401",[48,4.173,51,5.743,64,5.409,129,7.839,132,11.613,143,4.934,159,8.921,165,8.537,240,5.488,285,7.723,319,10.632,322,7.133,340,5.713,374,8.537,443,8.449,676,6.581,823,10.255,1034,11.931,1773,13.476,1815,13.87,1816,14.725,2013,9.502,2278,14.725,3851,16.603,3854,14.725,3855,14.725,3856,16.024,3857,16.024,3858,16.024,3859,16.024,3860,16.024]],["keywords/401",[]],["title/402",[55,654.836,934,583.521]],["content/402",[1,2.85,5,1.45,7,2.629,9,1.341,18,1.245,21,1.755,29,2.325,35,0.712,38,1.672,39,1.832,43,3.87,45,1.215,46,5.941,48,4.739,51,2.13,52,2.907,55,9.055,56,3.87,60,1.174,61,1.574,62,4.837,63,3.74,65,3.803,69,2.03,75,1.421,78,4.275,79,1.245,88,1.295,96,1.973,119,1.737,121,2.684,125,2.094,130,2.025,133,2.094,137,2.045,139,3.529,140,1.05,143,3.462,152,1.118,153,1.287,157,2.811,162,1.835,173,4.899,174,1.537,188,1.832,189,3.875,192,0.667,194,1.007,197,1.317,200,2.094,204,4.449,207,1.811,208,0.651,217,1.087,224,3.196,225,1.854,241,1.562,252,1.537,256,1.157,257,4.202,258,3.431,271,2.001,273,1.35,277,4.57,284,3.133,308,4.717,314,3.74,317,0.949,318,0.732,333,4.008,336,2.325,345,1.773,350,0.781,358,4.011,372,2.13,373,1.614,375,2.572,376,3.156,378,4.83,383,4.202,403,2.03,404,1.28,437,1.72,443,5.927,446,1.537,447,3.011,476,1.922,494,1.811,552,2.478,562,2.252,563,1.72,564,3.803,566,2.412,568,2.272,573,2.395,580,2.061,614,1.587,621,1.792,626,2.094,628,1.492,673,1.514,674,1.898,686,1.72,695,1.832,715,2.642,742,2.537,746,1.811,748,2.353,752,1.574,758,3.533,774,1.922,775,3.741,791,2.3,808,4.289,812,1.853,813,4.768,819,1.853,848,2.537,856,4.56,882,1.947,883,1.898,919,8.081,934,6.052,937,3.199,938,3.431,958,4.008,975,2.553,977,3.389,1005,2.252,1026,2.882,1059,6.577,1065,2.353,1080,5.692,1084,5.01,1095,7.287,1104,6.647,1105,2.094,1106,7.398,1107,2.748,1108,2.642,1110,2.88,1111,2.88,1112,3.058,1114,2.167,1115,5.342,1125,2.88,1138,2.412,1148,2.353,1207,5.327,1238,2.001,1241,2.412,1259,2.252,1280,2.3,1285,4.906,1288,4.307,1339,3.271,1367,2.094,1425,2.748,1446,2.748,1460,5.461,1474,9.73,1491,2.88,1620,2.478,1627,7.398,1698,6.647,1703,7.093,1709,5.058,1714,7.949,1782,2.13,1790,4.906,1791,5.143,1827,1.773,1835,2.03,1966,5.461,2124,2.642,2141,2.412,2166,2.3,2315,2.748,2553,2.478,2655,2.642,2704,3.058,3221,2.907,3686,12.275,3861,3.058,3862,8.051,3863,3.328,3864,3.328,3865,3.328,3866,3.328,3867,3.328,3868,5.942,3869,3.328,3870,3.328,3871,3.328,3872,8.051,3873,3.328,3874,3.328,3875,4.425,3876,3.328,3877,5.942,3878,3.328,3879,5.143,3880,5.942,3881,5.942,3882,5.942,3883,5.942,3884,13.542,3885,5.942,3886,12.478,3887,5.942,3888,5.942,3889,5.942,3890,5.942,3891,3.328,3892,5.942,3893,3.328,3894,5.942,3895,2.748,3896,2.748,3897,2.748,3898,2.748,3899,2.748,3900,3.328,3901,3.328,3902,3.328,3903,3.328,3904,3.328,3905,3.058,3906,2.748,3907,3.058,3908,3.328,3909,9.787,3910,5.942,3911,5.942,3912,2.88,3913,5.942,3914,3.058,3915,5.942,3916,3.328,3917,3.328,3918,5.942,3919,5.942,3920,3.328,3921,3.328]],["keywords/402",[]],["title/403",[24,955.054,25,955.054]],["content/403",[]],["keywords/403",[]],["title/404",[1,135.702,24,577.479,25,577.479,225,227.002,234,352.83]],["content/404",[1,2.664,5,1.822,7,3.302,9,2.345,11,2.374,13,8.712,18,2.175,22,5.345,24,15.987,25,17.592,35,1.244,36,4.922,46,3.949,48,1.515,54,3.317,64,1.963,66,3.449,67,3.201,71,3.498,88,2.263,89,5.939,102,1.776,139,1.411,143,1.791,153,2.25,206,7.939,209,2.5,219,2.053,224,1.899,225,5.315,230,2.467,234,4.664,248,3.006,256,2.022,259,2.708,263,4.331,272,3.317,307,3.277,326,3.603,327,3.238,336,2.276,337,1.823,350,1.365,373,2.821,407,8.156,420,5.035,433,3.859,435,4.215,436,2.647,439,3.449,440,4.331,446,2.687,493,3.936,495,2.752,506,4.331,511,5.867,513,5.782,522,3.403,540,3.661,561,4.463,571,4.052,573,3.876,574,3.449,580,7.615,632,4.376,649,2.922,671,2.608,676,2.389,698,4.343,724,2.949,726,4.617,749,3.403,852,4.513,855,2.467,874,4.586,912,4.02,918,6.549,977,5.483,1010,4.215,1014,4.617,1037,4.331,1038,3.788,1105,6.052,1136,3.788,1208,3.132,1211,3.449,1220,8.846,1473,4.02,1519,8.496,1521,6.799,1782,3.722,1857,4.331,1942,5.345,2041,4.02,2138,4.617,2194,3.936,2195,6.799,2196,4.803,2274,4.463,2507,11.79,2571,6.969,2854,15.602,2860,5.345,2866,13.122,2871,8.836,2872,8.836,2873,5.345,2897,4.331,2906,5.345,3006,4.803,3008,5.345,3035,5.345,3075,4.463,3523,5.345,3579,11.296,3580,3.722,3705,5.345,3922,5.817,3923,5.817,3924,5.817,3925,5.817,3926,5.817,3927,5.817,3928,5.817,3929,18.026,3930,13.687,3931,5.345,3932,5.817,3933,5.817,3934,5.817,3935,9.616,3936,5.817,3937,5.035,3938,5.817,3939,5.817,3940,11.296,3941,5.817,3942,5.817,3943,5.817,3944,5.817,3945,9.616,3946,9.616,3947,5.817,3948,5.817,3949,5.817,3950,5.817,3951,5.817,3952,5.817,3953,9.616,3954,5.817,3955,5.817,3956,5.817,3957,3.788,3958,5.817,3959,5.817,3960,5.817,3961,5.817,3962,5.817,3963,5.817,3964,5.817,3965,5.817,3966,5.817,3967,5.817,3968,14.279,3969,5.817,3970,5.817,3971,5.817,3972,5.817,3973,5.817,3974,5.817,3975,9.616,3976,5.817,3977,5.817,3978,5.817,3979,5.817,3980,5.817]],["keywords/404",[]],["title/405",[1897,912.212]],["content/405",[]],["keywords/405",[]],["title/406",[0,912.212]],["content/406",[1,3.319,7,4.78,9,7.173,49,8.558,50,6.095,58,7.045,79,6.655,127,12.582,220,7.978,254,10.857,322,7.921,404,6.843,571,7.498,1025,8.487,1123,6.728,1263,9.288,1769,10.024,1892,12.299,1897,10.551,3406,16.352,3981,17.794]],["keywords/406",[]],["title/407",[58,609.061]],["content/407",[1,3.82,5,1.993,9,5.42,33,5.942,37,4.495,39,7.4,45,4.48,58,9.531,79,5.028,136,3.12,143,4.14,162,2.955,208,2.63,237,10.011,254,8.203,273,5.453,282,7.972,317,3.836,322,5.985,351,6.694,359,6.755,378,6.635,404,6.964,542,7.163,571,8.628,632,8.24,642,6.818,852,6.31,1019,7.004,1025,6.413,1029,9.744,1123,5.084,1129,5.028,1146,7.972,1247,9.293,1269,8.329,1387,11.101,1465,9.744,1782,8.604,2186,5.453,2292,10.457,2301,7.163,3235,11.637,3982,12.355]],["keywords/407",[]],["title/408",[45,314.583]],["content/408",[18,6.928,45,4.864,50,6.345,58,7.334,62,6.193,89,7.705,351,11.058,571,7.805,632,8.43,1019,7.165,1059,10.837,3983,18.525,3984,15.295]],["keywords/408",[]],["title/409",[317,438.935]],["content/409",[18,7.044,50,6.451,62,6.297,89,7.834,317,6.835,351,11.168,571,7.936,632,8.57,1019,7.284,1059,11.018,3984,15.551]],["keywords/409",[]],["title/410",[1829,811.144]],["content/410",[18,7.044,50,6.451,62,6.297,89,7.834,351,11.168,571,7.936,632,8.57,1019,7.284,1059,11.018,1829,12.631,3984,15.551]],["keywords/410",[]],["title/411",[33,679.899]],["content/411",[18,6.816,33,10.44,50,6.242,62,6.093,89,7.58,224,5.951,351,10.95,423,8.113,436,8.293,571,7.679,632,8.293,696,10.807,1019,7.049,1059,10.662,3984,15.048]],["keywords/411",[]],["title/412",[2503,1145.489]],["content/412",[1,3.268,9,7.062,192,3.509,318,3.854,325,9.869,351,8.722,571,9.046,632,9.77,920,11.211,955,15.162,956,11.211,957,9.432,959,13.906,1146,10.387,1624,15.162,2503,17.287,2513,16.098,2514,15.162,3985,17.518]],["keywords/412",[]],["title/413",[79,575.333]],["content/413",[5,3.079,42,9.99,79,9.146,273,8.427,322,7.395,571,7,632,7.56,848,7.094,1025,7.925,1207,9.043,1216,14.38,1269,10.292,1294,9.594,1307,9.474,2158,14.362,2168,11.069,2172,14.38,2182,12.156,2911,12.748,3238,14.38,3986,16.614]],["keywords/413",[]],["title/414",[47,952.996]],["content/414",[1,3.427,21,9.688,47,13.691,48,4.785,65,11.759,89,7.642,125,11.564,194,5.56,226,9.405,321,8.179,632,8.361,642,9.317,2301,9.788,2525,15.171,3987,16.885,3988,18.374]],["keywords/414",[]],["title/415",[1892,1063.343]],["content/415",[5,3.54,7,6.202,33,6.792,52,5.093,130,5.238,136,5.358,138,6.049,143,4.733,144,1.919,152,5.163,162,2.508,194,4.651,317,4.385,389,13.122,580,9.521,621,8.275,632,6.994,1170,9.113,1519,10.623,1887,13.302,1892,16.9,3234,10.198,3989,15.369]],["keywords/415",[]],["title/416",[7,413.302]],["content/416",[1,3.032,5,2.409,7,5.506,9,6.553,37,5.434,50,5.567,79,6.079,82,14.937,130,5.54,170,10.786,220,7.288,224,5.308,254,9.918,346,11.494,632,7.397,674,11.687,849,8.021,1024,11.001,1084,8.321,1123,7.75,1367,10.231,1620,12.103,2158,11.235,2174,12.904,2182,9.51,2503,12.103,2566,13.421,3990,16.255,3991,16.255,3992,16.255]],["keywords/416",[]],["title/417",[1139,535.538,2785,895.836]],["content/417",[]],["keywords/417",[]],["title/418",[0,912.212]],["content/418",[35,4.168,64,6.577,194,5.897,265,6.333,336,7.624,352,5.361,1974,9.371,2534,14.508,2785,14.508,2970,15.468]],["keywords/418",[]],["title/419",[1820,1180.425]],["content/419",[9,6.6,10,12.191,164,3.478,180,4.672,194,4.955,195,9.99,199,12.191,223,10.071,321,7.288,332,9.012,336,6.406,340,5.838,447,6.123,545,9.845,575,9.455,620,8.226,941,7.624,1269,10.143,1313,13.519,1472,12.562,2535,9.012,2785,12.191,3772,9.709,3993,18.758,3994,17.82,3995,13.519]],["keywords/419",[]],["title/420",[3996,1538.415]],["content/420",[5,2.537,9,6.901,78,6.509,121,7.732,130,5.835,194,5.181,428,13.323,570,10.015,676,7.03,681,12.747,830,11.359,840,10.605,1061,12.747,2122,13.589,2535,12.648,3405,13.589,3772,10.151,3855,15.731,3993,19.057,3997,17.119]],["keywords/420",[]],["title/421",[3993,1221.21]],["content/421",[52,3.059,102,4.009,124,6.722,130,6.075,159,7.311,164,2.789,180,3.747,189,5.199,195,10.874,208,2.568,322,5.845,340,6.354,349,4.191,358,3.293,493,8.887,622,9.077,676,5.393,717,7.311,724,6.659,843,8.135,848,5.607,874,6.263,922,8.135,941,6.115,1019,5.079,1208,7.07,2042,7.787,2168,6.996,2390,11.826,2421,7.488,2535,7.228,2554,10.842,2752,10.842,2785,9.778,2787,8.553,2831,11.04,3143,9.778,3230,10.842,3420,11.366,3772,10.568,3982,12.067,3993,19.808,3998,13.132,3999,12.067,4000,17.823,4001,20.231,4002,12.067,4003,13.132]],["keywords/421",[]],["title/422",[3994,1331.557]],["content/422",[7,2.506,35,3.579,84,3.018,102,2.848,108,5.971,111,7.703,130,5.702,144,1.165,153,3.608,164,1.982,173,4.066,185,4.564,194,5.62,225,6.941,252,4.31,255,9.92,258,5.387,284,4.919,292,3.761,302,4.45,317,2.662,321,4.153,322,4.153,327,5.194,332,5.135,340,6.621,352,6.119,396,6.597,436,4.245,545,5.61,562,6.314,563,4.822,574,5.532,583,9.448,615,4.604,637,5.872,700,5.628,750,6.26,752,4.414,843,5.779,848,3.983,855,5.921,856,7.158,874,6.659,921,7.406,922,5.779,1123,3.528,1150,6.401,1199,6.761,1279,6.761,1472,8.518,1692,7.703,2122,7.406,2168,4.97,2354,10.395,2421,7.961,2556,8.075,2752,7.703,2831,5.779,3014,8.075,3345,12.457,3405,13.28,3772,5.532,3993,18.903,3994,20.611,4004,9.329,4005,9.329,4006,9.329,4007,9.329,4008,16.73,4009,9.329,4010,9.329,4011,9.329]],["keywords/422",[]],["title/423",[337,262.624,1531,579.149,3775,567.053,4012,623.89]],["content/423",[]],["keywords/423",[]],["title/424",[907,1145.489]],["content/424",[5,1.841,6,4.683,18,2.994,29,3.132,48,5.521,49,3.85,64,2.702,88,5.922,92,10.753,97,3.329,106,8.027,126,5.417,139,2.234,145,3.643,152,4.173,158,3.207,171,5.123,200,5.038,220,3.589,259,10.358,302,3.818,337,2.509,339,4.813,340,2.854,372,7.95,382,5.66,392,5.66,398,5.311,423,3.563,454,7.95,542,4.264,561,9.532,570,7.268,581,9.862,592,4.959,621,6.689,666,5.311,675,13.118,742,3.418,746,4.357,789,4.884,792,9.003,794,6.142,907,5.96,1113,5.038,1120,9.003,1240,9.532,1263,4.178,1279,5.801,1308,5.801,1310,5.96,1364,7.356,1385,5.533,1404,5.801,1481,6.609,1631,6.929,1694,6.609,1729,6.142,1791,10.753,2135,7.819,2205,10.753,2428,9.003,2744,13.177,2816,11.416,3112,7.819,3278,5.96,3397,7.356,3752,13.898,3775,5.417,3783,7.356,3793,7.356,3827,10.257,3937,6.929,3957,9.916,3995,6.609,4013,8.005,4014,7.356,4015,8.005,4016,13.99,4017,6.609,4018,15.224,4019,8.005,4020,8.005,4021,8.005,4022,8.005,4023,8.005,4024,12.423,4025,12.423,4026,12.423,4027,12.423,4028,8.005,4029,8.005,4030,7.356,4031,7.356,4032,6.929,4033,8.005,4034,7.356,4035,12.423,4036,8.005,4037,8.005,4038,7.356,4039,8.005,4040,8.005,4041,8.005,4042,7.356,4043,7.356]],["keywords/424",[]],["title/425",[219,424.602,1619,871.939]],["content/425",[88,9.157,187,6.725,197,7.158,370,10.871,436,8.227,443,9.533,511,11.031,546,11.996,718,11.996,2141,13.103,2548,11.379,3752,12.784,4044,18.079,4045,18.079,4046,18.079,4047,14.927,4048,15.648]],["keywords/425",[]],["title/426",[186,343.271,230,510.284]],["content/426",[5,3.088,9,4.214,84,4.912,88,8.457,89,4.348,97,4.348,119,7.925,134,8.631,135,6.286,139,2.623,143,3.219,145,9.483,162,1.706,187,5.647,194,3.164,221,5.114,272,5.961,314,6.579,337,4.759,362,5.07,404,4.02,420,9.048,436,6.909,438,16.702,439,9.003,511,11.971,546,6.936,615,5.159,671,4.687,675,8.658,700,6.121,761,5.457,789,12.715,941,4.868,1038,6.809,1200,5.889,1208,5.628,1229,6.809,1268,9.717,1591,9.606,1782,6.69,1830,7.226,1835,6.378,1990,10.494,2141,7.576,2832,13.952,2852,7.576,3137,8.298,3145,7.784,3306,11.305,3614,8.631,3689,9.048,3752,7.392,3775,7.075,3796,13.952,3930,9.048,4047,8.631,4049,10.454,4050,9.606,4051,10.454,4052,10.454,4053,15.183,4054,10.454,4055,10.454,4056,10.454,4057,9.606,4058,10.454,4059,10.454]],["keywords/426",[]],["title/427",[232,578.625,4060,1105.594]],["content/427",[5,2.82,78,5.506,88,8.778,115,9.432,152,4.865,159,8.062,185,7.084,187,8.393,205,8.708,320,8.835,337,4.539,439,8.587,467,8.362,511,8.835,551,9.608,615,7.146,675,8.258,686,7.484,813,8.069,1024,9.8,1120,10.495,1221,11.111,1268,12.176,1446,11.956,2390,9.608,2548,9.114,2578,11.111,2830,11.111,2831,8.97,3306,10.782,3669,11.111,3752,13.452,3767,12.534,3775,9.8,3905,13.307,4060,17.483,4061,13.307,4062,13.307,4063,14.481]],["keywords/427",[]],["title/428",[88,384.268,234,479.104,686,510.562]],["content/428",[51,6.639,88,9.253,187,6.89,224,6.049,332,10.196,436,8.43,443,9.767,570,10.837,700,7.468,794,14.214,3752,13.099,4064,18.525,4065,18.338]],["keywords/428",[]],["title/429",[29,386.508,88,384.268,454,632.185]],["content/429",[5,1.958,48,4.66,49,6.353,88,7.894,143,4.067,221,6.461,240,4.524,337,4.14,387,12.652,394,9.835,434,5.717,447,4.94,454,13.919,552,9.835,570,7.727,581,14.204,584,11.433,593,7.727,686,9.248,752,6.249,758,5.797,789,8.059,907,9.835,928,9.34,1173,12.138,1187,9.34,1229,8.603,1398,12.138,1597,11.433,1631,11.433,1694,10.906,1704,9.34,1827,7.037,2124,10.485,2430,9.835,2548,8.313,2551,13.729,2904,11.433,3775,8.939,3833,12.138,3995,10.906,4016,16.443,4042,12.138,4043,12.138,4048,11.433,4066,13.209,4067,13.209,4068,13.209,4069,13.209,4070,13.209,4071,17.893,4072,13.209,4073,13.209]],["keywords/429",[]],["title/430",[88,384.268,1066,556.491,4074,987.834]],["content/430",[5,1.935,48,3.4,49,6.279,88,8.806,106,9.36,118,9.232,156,8.503,157,6.177,163,6.5,187,6.603,197,5.169,252,6.032,443,6.884,511,10.831,615,6.443,675,7.445,702,8.355,718,8.663,792,9.462,822,7.269,823,8.355,843,8.088,1120,9.462,1207,7.106,1221,15.477,1238,10.675,1240,10.018,1472,7.966,1531,9.024,1598,11.997,2205,11.3,2301,10.746,2385,9.721,2393,11.3,2498,10.018,3015,11.997,3243,10.78,3278,9.721,3820,11.3,3827,10.78,4012,9.721,4032,11.3,4075,21.646,4076,13.056,4077,11.997,4078,16.313,4079,13.056,4080,13.056,4081,13.056,4082,13.056,4083,13.056]],["keywords/430",[]],["title/431",[64,245.557,542,387.551,1926,465.565,4084,727.478,4085,727.478]],["content/431",[5,1.799,48,5.057,54,6.924,88,6.57,97,8.731,106,6.402,112,5.94,115,13.672,133,7.642,143,3.739,158,4.865,187,4.516,197,4.807,259,5.654,438,12.575,542,12.482,567,8.8,596,8.393,675,6.924,686,8.729,698,7.628,700,4.895,718,8.057,743,7.771,813,5.15,1037,9.041,1089,7.908,1115,8.057,1221,9.317,1268,12.427,1385,8.393,1575,10.025,1597,10.509,2292,7.012,2301,6.469,2430,12.575,2609,11.158,3669,9.317,3752,11.941,3937,10.509,4017,16.033,4031,11.158,4047,10.025,4086,12.142,4087,16.888,4088,12.142,4089,12.142,4090,10.509,4091,12.142,4092,12.142,4093,20.991,4094,12.142]],["keywords/431",[]],["title/432",[88,384.268,372,632.185,697,483.229]],["content/432",[5,2.492,48,2.45,49,4.524,64,4.742,80,5.827,84,3.044,88,8.674,106,4.96,151,3.702,152,5.648,158,3.769,187,6.936,220,4.218,222,5.657,224,3.072,259,6.541,271,5.657,285,3.577,302,6.701,321,4.187,337,5.845,372,6.02,397,7.468,401,7.767,429,14.309,434,4.071,436,4.281,438,7.005,439,8.33,454,6.02,511,11.378,542,5.012,561,7.218,581,11.152,596,6.502,615,8.297,666,6.242,671,4.218,675,5.364,686,4.862,700,3.792,718,9.321,719,7.468,735,7.468,752,4.451,789,10.258,801,7.468,821,6.242,1007,7.005,1279,6.818,1314,8.645,1472,5.74,1531,6.502,1542,8.645,1619,6.818,2124,7.468,2393,8.142,2430,7.005,2503,7.005,2578,12.901,2787,6.127,2868,7.468,2904,8.142,2925,7.468,2936,8.142,3106,8.142,3306,7.005,3752,9.933,3775,12.62,3817,12.909,3930,8.142,4012,7.005,4057,8.645,4061,8.645,4062,8.645,4077,8.645,4078,12.909,4090,8.142,4095,14.048,4096,9.407,4097,9.407,4098,9.407,4099,9.407,4100,9.407,4101,8.645,4102,9.407,4103,9.407,4104,9.407,4105,9.407,4106,9.407,4107,9.407,4108,9.407]],["keywords/432",[]],["title/433",[97,410.861,1363,698.474,4017,815.611]],["content/433",[64,6.006,97,9.016,187,8.062,436,8.097,439,10.551,467,10.275,546,11.807,813,7.547,1019,6.882,1024,12.042,1268,11.388,1269,11.023,1446,14.692,3306,13.249,4017,17.897,4047,14.692,4109,17.794,4110,17.794]],["keywords/433",[]],["title/434",[337,163.411,698,235.482,795,232.069,1269,322.965,1531,360.362,2578,400.04,4012,388.2,4050,479.097]],["content/434",[5,1.87,37,4.218,64,4.259,65,8.075,66,10.284,69,7.698,88,8.702,91,4.594,145,9.017,164,2.68,171,8.075,220,5.657,337,5.436,397,17.757,429,9.682,454,11.099,494,6.868,584,10.921,686,6.521,698,5.699,1170,7.482,1263,6.586,1269,7.816,1472,10.581,1493,9.395,1531,11.987,1694,10.418,1729,15.205,2578,9.682,2753,11.595,3251,10.016,3731,10.921,3752,15.088,3775,11.737,4012,14.755,4014,18.21,4034,11.595,4048,10.921,4065,10.418,4111,12.618,4112,12.618,4113,12.618,4114,12.618,4115,12.618,4116,12.618,4117,12.618,4118,12.618,4119,12.618]],["keywords/434",[]],["title/435",[268,593.994,1123,373.527,1531,682.785]],["content/435",[5,3.137,88,8.234,89,7.12,111,14.134,145,9.632,155,8.763,224,5.59,296,8.601,339,10.294,423,7.62,437,8.848,438,12.747,628,7.675,1123,8.004,1493,12.747,1531,11.832,2744,14.817,3137,13.589,3146,15.731,4012,12.747,4090,14.817,4101,15.731]],["keywords/435",[]],["title/436",[809,537.657,1531,682.785,3820,855.008]],["content/436",[89,7.967,126,12.963,129,9.37,337,6.004,1038,12.475,1229,12.475,1432,14.697,3137,15.205,3731,16.579,3775,12.963,4120,19.154,4121,19.154]],["keywords/436",[]],["title/437",[2902,698.474,3165,907.755,4122,815.611]],["content/437",[80,11.111,88,6.977,129,10.655,185,8.774,337,5.622,438,13.355,466,15.524,467,10.357,1113,11.288,1531,12.397,2902,12.682,3306,13.355,3307,16.482,3775,12.138,4012,13.355,4122,14.809,4123,17.936,4124,17.936,4125,17.936]],["keywords/437",[]],["title/438",[1368,871.939,3296,1041.352]],["content/438",[]],["keywords/438",[]],["title/439",[0,912.212]],["content/439",[1,3.772,9,6.414,30,15.715,54,9.073,67,11.128,121,7.187,136,5.158,194,4.815,248,8.224,307,8.963,571,6.704,615,7.852,901,9.708,1035,11.25,1098,16.549,1368,16.107,1769,8.963,2292,9.188,2511,10.998,2520,13.137,2574,14.621,2575,14.621,3296,17.5,3347,14.621,4126,15.911]],["keywords/439",[]],["title/440",[136,279.23,3081,993.368]],["content/440",[1,4.176,5,1.69,30,8.064,33,5.041,37,3.813,39,6.277,41,5.895,50,3.906,51,4.088,54,6.504,58,6.399,60,7.608,64,3.85,78,4.337,79,8.372,91,4.152,102,3.482,130,3.887,136,2.647,162,1.861,194,3.452,197,4.515,202,4.684,226,5.838,254,9.861,255,6.763,279,3.777,290,6.425,333,5.678,338,6.076,350,2.676,484,10.938,494,6.208,554,5.838,561,8.751,571,6.81,573,4.598,674,6.504,677,8.702,699,8.266,754,6.858,849,5.628,852,5.353,1007,8.492,1095,13.977,1098,12.034,1200,10.575,1368,17.045,1384,10.481,1386,7.719,1703,11.713,1789,4.744,2517,13.989,2520,9.417,2551,8.751,2578,12.401,3075,8.751,3083,10.481]],["keywords/440",[]],["title/441",[3234,1020.777]],["content/441",[1,3.268,18,6.551,51,6.278,67,9.641,102,5.347,136,5.388,338,9.332,594,9.535,855,7.43,956,11.211,1019,6.775,1139,7.798,1155,11.025,1368,12.696,1897,10.387,2168,9.332,3234,15.405,4127,11.623,4128,16.098]],["keywords/441",[]],["title/442",[2292,888.374]],["content/442",[136,4.602,594,10.792,621,10.675,1019,7.669,1368,14.37,2168,10.563,2292,13.351]],["keywords/442",[]],["title/443",[2301,819.563]],["content/443",[1,3.456,102,5.655,136,5.155,338,9.869,621,9.974,956,11.855,1019,7.165,1139,8.246,1155,11.659,1897,10.984,2168,9.869,2301,11.832,3242,13.099,4128,17.023]],["keywords/443",[]],["title/444",[35,211.306,1139,439.706,3140,632.185]],["content/444",[]],["keywords/444",[]],["title/445",[0,912.212]],["content/445",[1,3.373,35,5.233,151,7.115,174,10.112,187,6.725,220,8.106,224,5.904,279,5.987,322,8.048,789,11.031,1150,8.289,1974,8.695,2434,11.775,2631,13.462,3140,11.57]],["keywords/445",[]],["title/446",[224,392.872,855,510.284]],["content/446",[5,2.556,35,4.932,55,9.389,139,3.121,174,7.97,217,5.633,224,7.529,256,5.996,284,9.095,296,8.667,349,5.505,350,4.047,803,9.389,819,9.604,855,7.316,931,13.693,1113,13.386,3140,11.039,4129,15.851]],["keywords/446",[]],["title/447",[35,257.359,53,564.649]],["content/447",[1,2.464,5,1.958,9,5.325,35,5.013,38,6.636,53,6.199,64,6.849,75,5.64,88,5.138,91,4.809,119,6.895,121,5.966,138,5.199,144,2.533,151,8.946,153,5.109,159,9.962,160,3.441,189,5.229,192,3.584,207,11.045,224,4.313,240,4.524,259,8.332,279,4.374,282,7.832,318,3.936,322,5.88,378,6.518,543,8.453,544,8.313,744,6.199,941,6.15,1297,9.34,1897,7.832,1965,11.433,1974,6.353,2136,9.573,2434,8.603,2435,9.573,2436,12.138,2437,12.138,2569,9.835,4130,13.209,4131,13.209]],["keywords/447",[]],["title/448",[1139,535.538,3225,831.594]],["content/448",[]],["keywords/448",[]],["title/449",[0,912.212]],["content/449",[35,3.837,88,6.977,102,5.475,107,12.682,124,9.181,125,11.288,194,5.428,221,8.774,224,5.857,336,7.018,352,4.934,447,6.708,672,11.288,896,11.682,1068,14.238,1113,11.288,1974,8.626,3225,12.397,3228,16.218]],["keywords/449",[]],["title/450",[1084,615.868,3228,895.836]],["content/450",[1,3.099,78,6.318,106,8.76,124,8.505,130,7.727,162,2.712,167,8.347,185,8.127,189,6.578,204,5.924,431,15.268,675,9.474,681,15.471,1019,6.426,1036,10.137,1084,8.505,1161,12.041,1404,12.041,2831,12.871,3228,18.574,4132,15.268]],["keywords/450",[]],["title/451",[376,337.717,2787,783.61]],["content/451",[]],["keywords/451",[]],["title/452",[672,968.26]],["content/452",[1,2.478,9,5.356,20,7.313,45,2.717,48,4.679,52,3.095,64,4.485,102,4.056,130,6.937,139,1.949,144,1.659,189,5.26,194,5.436,208,3.514,217,4.339,220,5.957,224,6.646,256,4.619,273,5.389,336,5.199,355,7.989,358,5.103,378,6.557,404,5.11,446,6.139,542,7.078,592,8.231,593,7.773,672,14.774,709,8.992,718,8.816,748,9.395,941,6.187,958,8.944,1019,5.139,1065,9.395,1200,7.485,2123,12.21,2159,6.337,2428,9.629,2771,8.231,2925,10.547,3089,10.547,3225,9.184,4133,10.547,4134,8.816,4135,13.287,4136,13.287,4137,13.287]],["keywords/452",[]],["title/453",[102,469.612]],["content/453",[102,7.365,121,8.651,130,6.528,152,6.434,217,6.255,224,6.255,256,6.658,2787,12.475,3089,15.205,3225,13.239]],["keywords/453",[]],["title/454",[2831,952.996]],["content/454",[35,2.876,37,6.054,40,11.677,53,6.31,121,8.179,136,3.12,137,4.628,139,2.657,142,6.755,165,7.163,217,4.39,224,4.39,225,5.651,252,6.212,256,4.674,285,5.112,290,7.574,298,11.101,322,8.061,327,7.485,332,9.967,349,4.291,352,3.699,355,8.085,701,9.744,845,8.329,922,8.329,1021,9.507,1068,10.673,1087,11.101,1123,5.084,1445,10.673,1769,7.574,2168,7.163,2787,11.794,2831,13.572,3225,14.153,3226,14.952,3228,10.011,4138,13.445,4139,13.445,4140,16.906,4141,10.673,4142,13.445,4143,11.637]],["keywords/454",[]],["title/455",[742,421.771,1423,570.435,3228,735.532]],["content/455",[20,4.816,33,5.879,37,2.925,51,3.136,53,4.107,64,2.954,66,7.888,89,5.533,91,3.186,93,6.048,130,2.982,150,7.062,152,2.939,155,4.479,164,1.859,183,6.623,221,4.28,223,6.507,224,5.255,225,5.61,256,6.25,273,5.395,292,5.362,322,3.895,327,4.872,336,3.424,376,2.456,404,3.365,436,8.181,443,4.614,447,3.272,492,6.187,503,10.891,570,5.119,612,9.677,643,3.982,653,5.119,753,7.888,819,4.872,836,5.262,849,4.318,920,5.6,922,5.421,931,6.946,977,4.99,1084,4.479,1123,6.085,1184,5.507,1195,5.6,1220,5.421,1222,6.714,1238,5.262,1472,9.819,1592,10.207,1662,5.6,1704,9.406,1974,4.208,2203,8.041,2525,15.967,2568,5.922,2665,10.56,2787,5.699,2831,14.347,3089,10.56,3150,5.6,3226,18.447,3228,14.399,3772,5.189,4132,20.531,4144,8.75,4145,14.844,4146,8.75,4147,8.75,4148,8.75,4149,16.093,4150,16.093,4151,13.302]],["keywords/455",[]],["title/456",[2417,1270.201]],["content/456",[]],["keywords/456",[]],["title/457",[0,912.212]],["content/457",[1,3.054,5,2.427,35,3.502,45,3.348,67,11.331,84,5.297,137,7.086,207,8.912,208,3.202,278,6.81,349,6.57,467,13.005,722,13.661,849,10.16,855,6.944,859,12.563,958,8.152,1050,11.866,1731,12.563,2417,13.519,4152,16.373,4153,16.373,4154,22.521]],["keywords/457",[]],["title/458",[48,313.337,359,604.466]],["content/458",[]],["keywords/458",[]],["title/459",[0,912.212]],["content/459",[48,6.261,121,8.578,194,5.748,224,6.202,277,4.049,358,4.762,359,9.542,621,10.226,1021,13.429,1448,12.155,1769,10.7]],["keywords/459",[]],["title/460",[48,257.267,359,496.3,2159,471.164]],["content/460",[]],["keywords/460",[]],["title/461",[136,229.264,358,247.676,2159,471.164]],["content/461",[7,3.634,50,8.834,51,4.847,59,5.936,72,7.132,162,3.584,322,8.093,349,5.802,350,3.173,378,6.675,404,5.201,573,8.279,749,7.913,848,7.763,849,11.644,855,5.737,1019,8.863,1026,8.818,1498,12.305,2168,9.686,2301,9.686,2421,10.368,3242,12.856,4155,10.737,4156,11.707]],["keywords/461",[]],["title/462",[622,831.594,1084,615.868]],["content/462",[1,2.601,5,2.066,7,4.985,18,6.939,48,4.833,84,4.511,130,4.753,157,6.597,273,8.459,277,3.955,279,4.618,298,11.513,317,3.978,349,6.655,404,5.362,622,16.793,674,7.951,699,10.105,843,8.638,855,5.914,896,13.583,958,6.942,1019,8.066,1026,6.763,1387,11.513,2168,9.885,2421,10.581,2971,12.069,2984,11.069,3140,8.924,4127,12.312,4157,18.556,4158,13.944,4159,13.944]],["keywords/462",[]],["title/463",[35,257.359,347,798.304]],["content/463",[]],["keywords/463",[]],["title/464",[0,912.212]],["content/464",[1,2.907,5,2.309,35,5.404,45,3.186,49,7.494,140,2.033,187,5.795,208,3.048,265,5.064,277,3.321,347,10.339,349,4.972,378,7.689,542,8.301,699,11.292,700,6.281,749,9.115,852,7.313,855,6.609,1024,10.545,1026,7.557,1031,10.339,1151,8.675,1307,8.885,1789,6.481,1974,7.494,2428,11.292,2631,11.602,3121,10.339,3140,14.085]],["keywords/464",[]],["title/465",[35,211.306,347,655.452,2159,471.164]],["content/465",[]],["keywords/465",[]],["title/466",[358,247.676,383,515.619,2159,471.164]],["content/466",[52,4.462,140,3.148,345,12.07,423,8.526,741,12.055,803,10.425,4160,19.154,4161,19.154,4162,19.154]],["keywords/466",[]],["title/467",[35,257.359,700,485]],["content/467",[18,4.469,35,5.239,45,4.263,52,3.89,53,5.608,59,7.329,84,3.866,140,2.72,141,8.166,144,2.085,153,4.622,157,5.653,159,6.652,174,5.521,197,4.731,224,3.902,226,6.117,232,5.747,277,2.547,305,9.192,309,5.845,349,3.813,362,5.795,376,3.354,378,5.897,404,4.595,423,8.57,436,8.761,699,8.66,700,4.817,749,11.263,852,5.608,855,9.639,1019,4.622,1026,8.1,1036,7.291,1123,7.28,1151,9.298,1307,9.524,1974,5.747,3121,11.081,3140,12.321,4127,7.929]],["keywords/467",[]],["title/468",[35,257.359,94,713.4]],["content/468",[35,4.744,38,6.962,52,3.228,64,6.238,94,10.958,102,4.23,140,2.894,144,1.73,145,6.306,150,8.11,152,4.655,153,7.147,209,5.957,243,5.329,279,4.589,323,8.722,345,7.383,349,4.422,351,6.9,352,3.813,376,3.89,423,8.226,436,6.306,574,10.958,653,8.107,661,8.869,700,8.381,717,10.288,741,8.722,765,10.043,803,7.543,855,5.878,1150,6.354,1155,8.722,1175,11.826,1211,8.217,1735,8.217,2159,6.61,3140,8.869,4163,13.858,4164,13.858]],["keywords/468",[]],["title/469",[158,482.063,1246,723.452]],["content/469",[]],["keywords/469",[]],["title/470",[0,912.212]],["content/470",[4,8.417,38,10.113,39,8.696,53,7.415,60,5.576,97,6.571,111,13.045,131,9.787,158,9.652,185,7.729,187,5.877,208,3.09,277,3.368,284,8.331,323,9.944,345,8.417,358,5.554,621,8.507,1200,8.901,1238,9.501,1241,11.45,1246,9.501,2042,9.369,2628,11.172,2629,9.369,2636,12.123,2787,10.291,4165,13.675,4166,15.8,4167,11.764]],["keywords/470",[]],["title/471",[158,395.8,1246,593.994,2159,471.164]],["content/471",[]],["keywords/471",[]],["title/472",[136,229.264,358,247.676,2159,471.164]],["content/472",[1,3.031,7,5.718,38,4.466,39,4.892,45,1.818,50,8.321,51,3.185,52,2.07,59,3.9,64,4.544,72,4.686,78,3.38,97,5.599,102,2.713,138,3.498,142,4.466,158,9.315,162,3.178,194,2.69,208,1.738,224,4.396,243,3.418,265,2.889,277,2.869,302,4.239,322,8.067,345,11.338,349,5.784,350,3.158,351,6.702,358,5.336,378,4.386,404,5.177,442,5.423,447,3.324,573,5.426,698,4.015,749,5.2,848,5.747,849,10.111,855,3.77,977,5.068,1019,8.231,1026,8.79,1123,5.09,1498,9.11,2042,5.27,2168,9.655,2301,7.171,2421,10.335,2831,8.339,3098,6.285,3242,11.488,4155,7.056,4168,8.888,4169,8.888,4170,8.888,4171,8.888,4172,6.82]],["keywords/472",[]],["title/473",[158,482.063,358,301.656]],["content/473",[1,1.56,5,1.904,18,3.127,37,2.795,38,6.455,39,4.602,40,8.922,41,4.321,45,2.627,51,4.604,52,3.644,69,5.101,97,5.344,121,3.776,144,1.604,157,3.956,158,9.177,159,4.655,162,2.554,173,5.599,185,4.09,243,3.215,244,4.941,254,5.101,258,4.828,265,2.718,277,4.039,282,4.958,284,4.408,290,4.71,292,3.37,296,6.455,317,2.386,322,3.722,332,4.602,340,2.981,345,10.657,346,11.063,349,6.648,358,6.196,423,7.816,425,4.055,436,3.805,503,5.658,575,4.828,583,5.658,636,6.415,643,5.846,673,3.805,674,4.768,704,5.658,734,7.237,790,6.577,819,4.655,849,4.126,958,6.397,1019,6.052,1117,7.683,1246,9.408,1400,5.779,1737,6.059,1827,4.454,1830,8.88,1972,7.237,2168,6.844,2182,4.891,2563,4.655,2596,9.858,2628,11.063,2629,9.278,2636,6.415,3098,5.912,3123,7.237,3126,7.683,3168,7.237,3230,6.903,3392,6.903,4172,6.415,4173,8.361,4174,11.12,4175,7.683,4176,8.361,4177,7.683,4178,8.361,4179,8.361,4180,8.361]],["keywords/473",[]],["title/474",[60,424.602,158,482.063]],["content/474",[5,2.863,38,9.706,41,9.985,60,6.818,158,7.74,322,8.599,433,12.818,1200,10.883,2787,14.831,4167,14.384]],["keywords/474",[]],["title/475",[48,313.337,1788,814.224]],["content/475",[]],["keywords/475",[]],["title/476",[0,912.212]],["content/476",[6,9.792,35,3.58,39,9.212,48,5.436,84,5.415,136,3.885,144,2.089,153,6.474,203,9.545,208,3.274,224,5.466,259,9.72,277,3.568,358,5.234,558,12.13,564,10.712,621,9.012,632,7.616,1310,12.463,1493,12.463,1788,14.127,1827,8.917,2353,14.487,3219,13.287,4181,15.381]],["keywords/476",[]],["title/477",[48,257.267,1788,668.524,2159,471.164]],["content/477",[]],["keywords/477",[]],["title/478",[136,229.264,358,247.676,2159,471.164]],["content/478",[50,8.835,51,4.679,59,5.729,72,6.884,162,3.533,203,10.123,322,7.902,349,5.665,350,3.063,358,3.273,378,6.443,404,5.021,573,8.131,632,5.941,749,7.638,848,7.58,849,11.524,855,5.537,1019,8.756,1026,8.61,1498,12.014,2168,9.457,2301,9.457,2421,10.123,3242,12.552,4155,10.364,4182,13.056,4183,13.056,4184,13.056]],["keywords/478",[]],["title/479",[358,247.676,383,515.619,2159,471.164]],["content/479",[45,3.61,139,2.59,162,2.881,203,10.068,275,9.609,277,3.763,322,7.859,358,5.409,425,8.563,591,14.015,649,8.87,859,13.547,1123,6.676,1148,12.483,2902,12.483,4181,16.224,4185,17.655,4186,17.655,4187,17.655,4188,17.655,4189,17.655]],["keywords/479",[]],["title/480",[203,563.308,358,247.676,855,418.972]],["content/480",[]],["keywords/480",[]],["title/481",[4190,1203.126,4191,1203.126]],["content/481",[18,5.787,48,4.03,59,8.717,102,6.063,187,5.756,217,6.486,224,7.816,256,6.905,340,5.517,358,3.88,376,5.576,378,9.802,558,11.215,573,8.007,803,8.422,1019,7.682,1113,14.567,1788,10.472,2042,11.778,2168,8.244,2421,11.327,4129,18.253]],["keywords/481",[]],["title/482",[1084,428.911,1988,769.972,4192,837.897,4193,837.897]],["content/482",[7,4.751,45,4.112,48,3.381,102,5.398,160,3.4,187,4.828,208,3.459,265,5.747,273,7.172,277,4.816,340,4.628,350,4.149,358,5.845,378,6.406,436,5.907,621,6.989,623,14.6,628,9.682,683,9.96,855,9.159,958,6.463,977,10.084,1025,9.592,1050,9.407,1084,9.052,1123,4.908,1151,11.196,1307,11.468,1788,8.785,2246,9.665,2696,11.928,3635,11.928,4194,20.111]],["keywords/482",[]],["title/483",[358,301.656,977,686.078]],["content/483",[53,8.351,275,9.685,322,7.921,358,6.36,922,11.023,977,12.361,1019,8.384,1026,8.63,1084,9.109,2168,11.548,3242,15.327,4002,16.352]],["keywords/483",[]],["title/484",[358,301.656,852,564.649]],["content/484",[18,7.494,48,4.086,188,8.635,194,4.748,275,8.54,322,6.984,358,6.265,376,4.404,621,10.789,852,11.281,1019,8.998,1026,9.719,1123,5.933,2168,10.676,2421,11.427,4127,13.297,4195,19.111]],["keywords/484",[]],["title/485",[259,560.208,358,301.656]],["content/485",[38,8.226,42,9.845,53,7.684,67,11.331,102,4.998,136,3.8,144,2.044,194,4.955,256,5.692,259,11.338,322,7.288,327,9.115,351,8.152,358,4.105,400,15.046,791,11.317,1019,6.333,1025,9.82,1123,6.191,1269,10.143,2292,9.455,2911,12.563,3180,13.519,3295,16.999,4196,16.373]],["keywords/485",[]],["title/486",[277,256.462,359,604.466]],["content/486",[]],["keywords/486",[]],["title/487",[0,912.212]],["content/487",[40,9.474,45,3.397,50,5.691,51,7.447,52,3.87,88,6.463,152,5.581,158,6.657,208,3.25,265,5.4,277,4.429,349,6.631,358,5.684,359,10.439,423,7.395,542,8.851,1019,6.426,1423,9.594,1863,13.189,2563,9.25,2628,11.748,2629,9.852,2649,10.633,3278,12.371]],["keywords/487",[]],["title/488",[277,210.57,359,496.3,2159,471.164]],["content/488",[]],["keywords/488",[]],["title/489",[136,229.264,358,247.676,2159,471.164]],["content/489",[7,5.103,50,7.721,51,6.807,350,4.456,849,9.372,1023,14.573,1123,7.182,1769,10.7,4155,15.077,4197,17.453,4198,18.993,4199,18.993]],["keywords/489",[]],["title/490",[358,247.676,1769,556.491,2159,471.164]],["content/490",[62,6.245,137,7.682,345,9.951,351,9.3,358,5.985,568,7.142,647,10.522,4200,23.872,4201,18.678,4202,18.678]],["keywords/490",[]],["title/491",[277,256.462,855,510.284]],["content/491",[41,8.984,45,3.555,53,8.158,157,8.224,277,4.932,322,7.737,358,5.358,359,8.733,376,4.879,404,6.685,436,7.91,573,8.614,746,9.461,1019,6.723,1151,9.678,1200,9.792,1307,9.912,2159,8.291,2384,14.352,4167,12.943]],["keywords/491",[]],["title/492",[1423,888.374]],["content/492",[208,3.684,265,6.122,322,8.384,358,5.624,493,12.746,542,10.034,573,7.592,855,7.988,1019,7.284,1423,12.953,2421,12.791]],["keywords/492",[]],["title/493",[53,564.649,612,723.452]],["content/493",[]],["keywords/493",[]],["title/494",[0,912.212]],["content/494",[1,3.346,35,3.837,53,8.418,61,11.098,136,5.444,188,9.871,252,8.287,277,3.823,278,9.059,378,8.851,612,10.785,620,9.011,631,13.762,852,8.418,898,11.901]],["keywords/494",[]],["title/495",[136,229.264,358,247.676,2159,471.164]],["content/495",[51,8.616,61,10.665,130,6.473,336,7.431,404,7.304,848,8.109,4203,18.993,4204,18.993,4205,18.993,4206,18.993]],["keywords/495",[]],["title/496",[136,279.23,2292,694.758]],["content/496",[52,3.786,53,10.534,61,10.619,62,6.852,136,5.639,197,6.435,265,5.283,278,9.336,351,8.093,373,9.94,612,9.774,1025,7.753,1026,7.884,1058,9.387,1385,11.235,1386,11.001,2208,14.853,2292,11.835,3217,13.421]],["keywords/496",[]],["title/497",[139,144.941,2292,570.435,3234,655.452]],["content/497",[1,2.569,41,7.119,45,2.816,53,8.637,61,6.516,136,5.135,139,2.021,141,7.806,173,6.002,225,4.298,226,7.05,241,9.728,280,11.401,331,8.503,351,6.858,352,6.086,353,5.921,404,5.297,612,11.067,889,11.372,918,7.338,1025,9.886,1150,6.315,1201,11.229,1974,6.624,2136,9.982,2176,13.704,2292,11.969,2631,10.256,2771,11.401,2831,11.401,3234,13.753,4207,11.921,4208,11.921,4209,13.773]],["keywords/497",[]],["title/498",[4207,1331.557]],["content/498",[1,1.839,5,1.461,7,3.908,18,5.44,35,3.697,45,2.975,53,8.112,102,5.276,130,3.361,136,4.942,139,3.793,143,3.036,144,1.231,162,2.374,181,3.361,189,3.903,192,1.975,195,8.875,201,5.253,204,3.515,217,5.644,220,6.522,256,5.057,262,6.542,265,3.205,282,5.846,308,7.827,352,4.755,375,4.267,442,8.875,573,3.975,628,4.421,646,3.552,671,4.421,673,4.487,686,5.096,700,3.975,742,4.21,774,11.019,958,4.909,1072,4.954,1094,13.492,1224,5.929,2586,6.773,2897,7.341,3234,11.469,4207,8.534,4210,9.06,4211,9.06,4212,9.06,4213,9.06,4214,9.86,4215,8.534,4216,9.86,4217,17.285,4218,9.86,4219,9.86,4220,9.86,4221,12.01,4222,9.86,4223,9.86,4224,9.86,4225,9.86,4226,9.06]],["keywords/498",[]],["title/499",[4208,1331.557]],["content/499",[1,2.006,5,1.594,7,4.163,29,4.207,35,3.315,45,3.169,53,9.33,102,3.282,130,3.665,136,4.891,139,3.807,143,3.311,144,1.342,162,2.529,189,4.257,195,9.455,201,5.728,217,3.511,219,6.411,262,7.135,265,3.495,282,6.376,336,6.063,352,4.998,443,5.67,628,4.821,671,4.821,673,4.893,686,5.558,742,4.591,774,11.48,799,8.878,876,8.878,958,5.354,1149,8.006,1224,6.466,1227,11.89,2292,10.491,2448,9.307,2586,5.007,2897,8.006,4208,9.307,4210,9.881,4212,16.694,4213,9.881,4227,15.496,4228,8.878,4229,15.496,4230,18.167,4231,10.753,4232,10.753,4233,10.753,4234,10.753]],["keywords/499",[]],["title/500",[208,235.32,359,604.466]],["content/500",[]],["keywords/500",[]],["title/501",[0,912.212]],["content/501",[50,6.192,59,7.934,69,11.031,124,9.255,136,4.196,208,4.281,349,5.77,359,10.996,554,11.204,671,8.106,716,13.872,901,11.031,1789,9.103,1863,14.352,2186,7.333]],["keywords/501",[]],["title/502",[136,229.264,358,247.676,2159,471.164]],["content/502",[7,3.634,50,8.834,51,4.847,59,5.936,72,7.132,162,3.584,322,8.093,349,5.802,350,3.173,378,6.675,404,5.201,573,8.279,749,7.913,848,7.763,849,11.644,855,5.737,1019,8.863,1026,8.818,1498,12.305,2168,9.686,2301,9.686,2421,10.368,3242,12.856,4155,10.737,4156,11.707]],["keywords/502",[]],["title/503",[855,510.284,1789,500.406]],["content/503",[45,4.78,182,10.147,349,5.679,351,8.859,362,8.63,436,8.097,593,10.41,855,9.915,1019,6.882,1151,12.068,1307,12.361,1789,10.12]],["keywords/503",[]],["title/504",[404,462.676,1789,500.406]],["content/504",[7,3.967,18,5.522,45,3.94,102,4.507,124,7.558,130,5.033,162,3.145,167,7.418,188,8.127,197,5.846,256,5.133,277,4.572,336,5.777,358,3.702,359,7.418,404,7.41,540,9.293,615,7.286,628,6.62,671,6.62,821,9.797,848,6.304,855,6.262,1019,5.711,1789,10.601,2013,8.755,2390,9.797,2421,8.42,3425,9.617,3999,13.568,4127,9.797,4235,9.617,4236,14.765]],["keywords/504",[]],["title/505",[852,564.649,1789,500.406]],["content/505",[5,2.893,18,5.633,42,9.056,208,2.946,227,4.015,239,11.956,327,8.385,349,4.806,359,7.567,542,8.024,628,6.753,677,10.509,849,9.632,852,9.161,898,9.993,1019,7.549,1025,7.184,1031,9.993,1437,10.649,1789,10.114,2168,10.399,2182,8.811,2292,11.272,2301,8.024,2421,8.589,3143,11.214,3242,10.649,4127,9.993,4195,13.036,4237,10.41,4238,13.21]],["keywords/505",[]],["title/506",[612,593.994,918,526.251,1789,410.861]],["content/506",[18,4.59,42,7.381,67,6.756,130,4.184,142,6.167,143,3.78,194,5.91,198,6.167,271,7.381,290,6.915,291,13.056,294,8.679,302,5.854,346,8.679,513,7.381,542,6.539,625,8.549,649,6.167,789,10.382,790,6.283,848,5.241,918,10.405,1019,7.554,1024,8.307,1025,8.116,1057,8.144,1089,7.994,1094,8.679,1123,6.434,1151,6.833,1672,10.624,1789,10.348,1969,11.761,2069,9.139,2168,9.065,2182,11.426,2843,14.542,4237,13.499,4238,11.516,4239,11.279,4240,12.274,4241,12.274,4242,17.016,4243,12.274,4244,15.636,4245,11.279]],["keywords/506",[]],["title/507",[620,604.466,1789,500.406]],["content/507",[50,6.617,119,10.084,129,9.45,208,4.454,279,6.398,620,9.706,1789,10.071,2186,7.835]],["keywords/507",[]],["title/508",[35,211.306,208,193.211,434,427.524]],["content/508",[]],["keywords/508",[]],["title/509",[0,912.212]],["content/509",[1,3.673,4,10.489,9,6.154,35,4.662,45,3.121,46,6.269,60,5.387,62,6.583,69,9.314,112,9.632,121,6.895,137,5.254,187,7.323,208,4.263,277,3.254,305,8.402,317,5.618,351,7.6,434,9.433,571,6.432,575,8.815,696,9.051,775,5.079,1024,10.331,1072,7.669,1339,8.402,1769,8.599,2017,13.212,3713,13.212,4246,15.265]],["keywords/509",[]],["title/510",[35,179.233,208,163.885,434,362.633,2159,399.649]],["content/510",[]],["keywords/510",[]],["title/511",[136,229.264,358,247.676,2159,471.164]],["content/511",[4,8.476,35,4.325,60,5.615,63,10.014,67,8.757,72,8.389,102,4.857,112,9.891,121,7.187,136,3.693,153,6.154,197,6.299,204,5.673,208,3.955,284,8.389,339,9.568,434,9.619,436,7.24,447,5.95,632,7.24,674,9.073,918,8.476,1023,15.514,1035,11.25,1123,7.645,1910,12.726,2159,7.589,2421,9.073]],["keywords/511",[]],["title/512",[317,343.271,632,547.475]],["content/512",[1,3.484,46,7.671,62,6.245,265,6.071,277,3.982,317,6.811,349,5.961,571,7.87,632,8.499,696,11.075,1072,9.384,1339,10.28,1769,10.522]],["keywords/512",[]],["title/513",[45,246.021,632,547.475]],["content/513",[7,3.144,35,5.489,38,5.879,45,4.224,64,6.426,78,4.449,94,9.758,102,3.572,144,1.461,152,3.931,153,4.526,252,5.406,256,4.068,296,5.879,302,5.581,305,6.44,317,3.339,322,5.208,339,7.036,347,7.764,349,3.734,352,5.237,383,8.59,437,6.048,551,14.978,621,6.3,632,5.325,686,6.048,700,6.634,704,7.919,724,11.036,922,7.248,1020,10.128,1078,7.919,1139,5.208,1247,8.088,1404,8.48,1703,11.927,1778,15.717,1818,6.757,1897,6.938,2042,6.938,2430,8.713,2432,10.753,2785,8.713,3225,8.088,3226,9.661,3407,7.621,4247,11.701]],["keywords/513",[]],["title/514",[35,211.306,277,210.57,632,449.507]],["content/514",[18,5.709,35,5.382,53,9.241,62,6.583,275,8.308,277,3.254,285,5.804,340,5.443,347,13.065,349,6.283,404,5.87,467,8.815,573,7.937,593,8.93,632,6.946,859,11.713,918,8.132,1019,8.43,1072,7.669,1200,11.092,1769,11.092,2182,8.93,2421,8.705,2569,11.366,4143,13.212,4248,14.028]],["keywords/514",[]],["title/515",[208,193.211,277,210.57,632,449.507]],["content/515",[18,5.558,53,9.082,62,6.47,208,4.739,275,8.089,277,5.26,285,5.651,340,5.299,349,6.176,359,9.723,404,5.716,467,8.583,573,7.801,593,8.695,632,6.763,859,11.404,918,7.918,1019,8.323,1072,7.467,1200,10.902,1769,10.902,2182,8.695,2421,8.475,2569,11.067,4143,12.864,4248,13.658]],["keywords/515",[]],["title/516",[305,662.181,632,547.475]],["content/516",[1,3.765,9,8.136,305,11.108,349,6.441,632,9.184,2379,15.486]],["keywords/516",[]],["title/517",[60,424.602,112,588.546]],["content/517",[4,8.244,35,3.31,40,8.824,41,7.998,46,6.355,52,4.627,53,7.262,60,7.01,112,10.731,136,3.591,158,6.2,208,3.027,317,4.415,349,4.938,404,7.639,434,8.597,556,10.268,615,7.636,621,8.331,632,7.042,749,9.053,1036,9.441,1089,10.079,1200,8.717,1339,8.517,2628,10.942,2629,9.176,2787,14.288,3028,12.284,3144,8.936,4167,11.522,4249,15.474]],["keywords/517",[]],["title/518",[208,235.32,2608,871.939]],["content/518",[]],["keywords/518",[]],["title/519",[0,912.212]],["content/519",[4,9.26,50,5.954,91,6.328,194,5.26,208,4.179,285,6.61,296,8.733,447,6.501,628,7.794,695,11.761,752,10.109,849,8.578,1789,7.23,2608,12.598,3200,14.562,3238,15.045,4165,15.045,4250,17.383,4251,17.383]],["keywords/519",[]],["title/520",[208,193.211,2159,471.164,2608,715.91]],["content/520",[]],["keywords/520",[]],["title/521",[136,229.264,358,247.676,2159,471.164]],["content/521",[7,3.591,50,8.862,51,4.79,59,5.865,72,7.047,162,3.567,322,8.028,349,5.756,350,3.136,378,6.595,404,5.14,573,8.229,749,7.819,848,7.701,849,11.604,855,5.669,1019,8.827,1026,8.748,1498,12.206,2168,9.609,2301,9.609,2421,10.285,3200,8.412,3242,12.753,4156,11.568,4252,13.365]],["keywords/521",[]],["title/522",[358,247.676,2159,471.164,3200,621.731]],["content/522",[5,1.263,7,5.634,18,4.874,48,4.618,49,4.097,52,3.687,67,4.689,79,3.186,84,2.756,139,1.912,143,2.623,157,4.03,158,3.413,182,4.858,194,2.578,208,2.549,217,5.79,224,6.581,252,3.936,256,4.531,273,3.455,284,4.492,292,6.381,321,3.792,325,4.799,332,4.689,340,5.644,349,4.159,350,1.999,358,2.136,362,4.132,378,4.204,404,3.276,414,6.762,443,6.872,513,5.123,621,4.587,628,9.036,646,3.069,651,5.123,652,4.447,704,8.82,808,4.538,830,10.503,840,5.277,849,4.204,852,8.322,882,7.625,883,7.432,918,6.943,941,3.967,1019,3.295,1031,5.653,1036,5.198,1113,9.963,1123,7.226,1157,7.373,1227,6.537,1259,5.765,1395,6.537,1437,6.024,1445,6.762,1448,5.452,1827,4.538,1830,5.888,2168,4.538,2182,4.984,2301,4.538,2315,7.034,2421,7.432,2608,12.851,2679,7.828,3028,6.762,3200,14.871,3398,7.828,3580,11.348,4127,8.648,4195,7.373,4237,5.888,4253,8.519,4254,8.519,4255,8.519,4256,8.519,4257,7.373,4258,8.519,4259,8.519,4260,8.519,4261,11.977,4262,7.828]],["keywords/522",[]],["title/523",[358,301.656,855,510.284]],["content/523",[18,4.94,39,7.27,45,3.659,157,6.249,194,3.997,224,4.313,256,4.592,273,8.23,277,3.814,351,6.576,358,6.008,362,8.678,404,5.08,425,6.406,436,8.142,503,8.939,593,10.468,649,8.99,758,5.797,855,9.64,1019,5.109,1024,8.939,1084,6.761,1151,11.297,1238,7.943,1259,12.109,1307,11.571,1394,11.433,1421,10.135,1457,10.906,1820,10.135,3140,12.986,3200,15.082,4263,11.433]],["keywords/523",[]],["title/524",[612,593.994,918,526.251,3200,621.731]],["content/524",[7,2.875,67,10.918,78,5.872,102,3.267,121,4.834,130,3.648,141,4.539,142,5.377,157,5.063,194,6.365,198,7.759,234,5.19,254,6.529,290,6.029,291,11.849,292,6.225,294,7.567,302,5.104,309,5.235,346,7.567,351,5.328,425,9.621,542,5.701,632,4.87,649,5.377,789,9.422,790,5.478,792,7.756,843,6.629,848,4.569,918,10.568,1019,4.139,1025,10.033,1057,7.101,1820,8.211,1969,7.397,2182,6.261,2573,10.247,2843,13.491,2911,11.849,3200,15.872,3758,9.834,4235,10.058,4237,7.397,4238,7.243,4239,9.834,4244,9.834,4245,9.834,4264,7.567,4265,18.119,4266,18.119,4267,18.119,4268,10.332,4269,8.314]],["keywords/524",[]],["title/525",[352,330.993,353,517.165]],["content/525",[]],["keywords/525",[]],["title/526",[0,912.212]],["content/526",[1,3.722,3,11.672,39,8.576,45,3.186,49,7.494,54,8.885,121,7.038,136,4.63,153,6.026,185,7.622,187,7.421,225,4.862,352,7.02,353,9.46,573,8.043,621,8.389,643,7.09,849,7.689,898,10.339,1974,7.494,2292,8.998,2301,8.301,2535,8.576,2631,11.602]],["keywords/526",[]],["title/527",[352,271.764,353,424.621,2159,471.164]],["content/527",[]],["keywords/527",[]],["title/528",[136,229.264,358,247.676,2159,471.164]],["content/528",[3,6.573,5,2.759,11,4.585,41,5.807,45,3.27,51,7.269,97,4.673,136,5.782,157,5.315,162,1.834,170,7.455,188,6.183,192,2.251,207,6.115,209,4.829,224,3.669,254,6.855,256,3.906,262,7.455,307,6.329,329,9.622,338,9.918,349,5.103,355,6.756,376,3.154,378,5.544,404,4.321,571,6.737,573,8.64,574,6.662,649,5.645,750,7.169,848,4.797,849,10.009,855,6.782,898,7.455,958,5.594,1019,6.185,1118,7.603,1200,6.329,1498,7.603,1769,9.008,1827,5.985,2042,6.662,2421,11.566,3001,9.276,3081,9.276,4167,8.365,4270,11.235,4271,11.235,4272,11.235,4273,11.235,4274,11.235,4275,11.235,4276,11.235,4277,15.99]],["keywords/528",[]],["title/529",[352,271.764,358,247.676,2159,471.164]],["content/529",[46,5.909,51,6.79,60,5.078,64,4.857,143,4.431,166,8.418,194,4.354,208,2.814,225,5.912,227,3.835,241,6.753,256,5.002,265,4.677,305,7.919,322,8.433,349,4.592,352,6.836,640,11.04,825,8.106,957,7.747,1247,9.945,1296,9.547,1365,11.88,1448,9.208,1974,10.187,2292,8.309,3150,9.208,3182,11.422,4278,13.222,4279,14.389,4280,14.389,4281,14.389,4282,14.389,4283,14.389,4284,14.389,4285,14.389,4286,14.389,4287,14.389,4288,14.389]],["keywords/529",[]],["title/530",[225,375.423,352,330.993]],["content/530",[40,7.445,46,5.362,51,4.679,72,6.884,141,8.555,150,5.729,183,8.839,194,5.372,208,3.472,217,4.263,225,4.074,256,6.171,258,7.539,260,8.663,284,6.884,294,9.232,325,7.355,329,6.748,332,7.186,350,3.063,352,6.425,423,5.811,434,5.65,436,8.078,573,7.156,575,7.539,628,5.854,653,7.638,758,5.729,836,7.851,898,8.663,922,8.088,1019,7.801,1025,8.467,1031,8.663,1039,6.279,1123,6.713,1387,10.78,1400,9.024,1863,10.364,1930,14.092,1974,8.538,2136,9.462,2176,9.721,2391,9.721,2629,7.742,3144,7.539,3405,10.364]],["keywords/530",[]],["title/531",[352,271.764,542,526.251,1019,382.06]],["content/531",[1,3.198,5,2.541,7,3.334,18,4.641,51,7.04,84,4.015,87,14.156,114,8.993,141,5.263,153,4.8,165,11.288,170,11.376,182,9.777,194,3.755,196,9.233,202,8.067,225,5.35,352,6.118,353,7.37,433,8.234,437,6.414,476,9.901,493,8.398,542,6.611,632,7.802,743,7.942,855,9.431,898,8.234,1019,6.631,1036,7.571,1061,12.766,1974,10.19,2506,10.741,2896,14.156,3169,10.741,3182,13.61,4127,8.234,4289,17.145,4290,17.145,4291,11.403]],["keywords/531",[]],["title/532",[3,577.902,225,308.244,352,271.764]],["content/532",[3,14.307,5,2.462,130,5.663,136,4.822,149,11.244,182,9.474,192,3.328,197,6.578,204,5.924,314,10.457,318,3.655,352,6.237,353,7.142,362,8.058,404,7.99,699,12.041,1058,9.594,1151,9.25,1307,9.474,2159,7.925,2390,11.024,2535,9.144]],["keywords/532",[]],["title/533",[2535,846.718]],["content/533",[3,6.508,5,1.649,11,6.48,37,3.719,95,9.628,124,5.694,144,2.311,152,3.737,159,6.193,163,5.538,192,2.228,201,5.926,217,6.594,220,4.988,222,6.689,225,5.777,240,7.313,242,6.267,256,3.867,318,2.447,352,5.094,362,5.395,513,6.689,563,5.749,724,5.641,742,4.75,744,9.477,768,12.361,912,7.689,941,5.18,1019,4.302,1025,7.573,1026,5.395,1151,8.84,1175,7.119,1307,9.054,1330,10.161,1619,8.062,2159,7.573,2535,11.113,2571,13.418,2586,8.621,3187,15.287,3821,10.222,4292,11.124,4293,10.222,4294,10.222,4295,9.185,4296,11.124,4297,9.628,4298,11.124,4299,11.124,4300,10.222,4301,9.185,4302,10.222,4303,9.628,4304,11.124,4305,10.222,4306,11.124,4307,9.628,4308,11.124]],["keywords/533",[]],["title/534",[3,900.002]],["content/534",[3,12.926,78,4.168,130,5.355,136,2.544,142,5.507,144,1.368,149,7.419,192,2.196,201,5.84,217,6.55,225,5.73,240,5.381,241,5.145,255,9.316,256,6.384,309,5.362,318,2.412,352,5.518,563,5.666,583,7.419,643,4.988,724,5.559,744,8.619,745,8.162,746,5.966,752,5.186,768,12.301,779,8.162,1019,7.103,1025,5.228,1026,7.62,1084,8.043,1151,8.747,1307,8.96,1395,8.411,2159,7.494,2535,12.524,2571,13.309,2586,7.316,3187,15.163,4301,9.051,4303,9.488,4307,9.488,4309,9.488,4310,10.073,4311,10.073,4312,10.073,4313,15.712,4314,15.712,4315,15.712,4316,10.073,4317,10.073,4318,15.712]],["keywords/534",[]],["title/535",[3,577.902,153,382.06,352,271.764]],["content/535",[3,7.828,5,1.983,7,5.213,18,3.298,39,8.9,41,8.357,51,3.161,64,6.093,102,2.692,105,5.968,130,3.006,153,5.175,157,6.331,164,2.842,183,11.971,187,3.28,188,4.854,192,1.767,194,4.893,196,5.831,217,2.88,224,2.88,225,2.752,241,4.139,256,4.652,284,11.191,302,4.206,318,1.94,319,5.851,327,4.91,350,3.14,352,6.615,442,5.381,551,8.879,573,3.555,575,5.092,592,5.463,593,5.159,636,10.268,825,4.968,889,11.048,941,4.106,1019,5.175,1021,6.236,1026,4.277,1039,4.241,1266,5.463,1385,6.095,1388,6.767,1667,14.119,1674,9.056,1818,7.727,1841,8.715,1974,9.824,2002,7,2042,9.588,2193,7.633,2391,15.21,2504,10.268,2535,8.9,2627,7,3144,7.727,4141,7,4319,8.819,4320,8.819,4321,8.819,4322,8.819,4323,8.104,4324,8.819]],["keywords/535",[]],["title/536",[352,330.993,825,677.776]],["content/536",[7,4.245,60,7.104,69,9.64,112,9.847,139,2.318,141,9.395,182,9.01,185,7.729,194,4.781,196,8.772,203,9.01,248,10.404,260,10.483,284,8.331,352,5.538,355,9.501,376,5.65,574,9.369,575,9.124,592,12.469,724,8.012,795,7.033,825,8.901,875,8.012,1019,6.111,1025,7.536,1974,7.599,3875,11.764]],["keywords/536",[]],["title/537",[83,543.687,209,424.621,352,271.764]],["content/537",[]],["keywords/537",[]],["title/538",[0,912.212]],["content/538",[1,3.789,5,3.305,11,6.54,83,8.819,107,11.33,119,8.364,124,8.203,125,10.085,187,8.294,352,6.45,353,6.888,446,7.404,570,9.374,751,10.085,941,7.461,1038,10.437,1229,10.437,1421,12.295,1423,9.253,1731,12.295,2534,11.931,2831,9.926,3251,12.72,3356,12.72,3728,13.87,4325,16.024,4326,16.024]],["keywords/538",[]],["title/539",[1989,1114.932]],["content/539",[1,3.243,5,2.576,83,9.567,121,10.45,144,2.668,188,9.567,189,6.882,192,4.635,209,7.472,226,8.898,271,10.452,285,6.61,314,10.94,318,5.09,352,5.879,698,7.851]],["keywords/539",[]],["title/540",[1,156.3,192,167.846,318,184.336,2989,623.89]],["content/540",[1,1.321,5,2.493,13,4.32,29,4.413,35,0.868,37,1.357,38,2.039,45,3.279,49,1.952,52,1.649,64,1.37,72,5.947,78,2.692,89,2.945,91,1.477,102,1.239,107,2.87,121,3.198,129,1.985,130,3.21,133,4.456,136,1.643,138,1.597,139,3.487,140,0.529,141,4.784,143,2.9,144,1.408,145,9.246,150,3.107,156,6.134,157,1.92,158,1.626,162,2.617,170,4.698,181,4.792,185,3.464,187,2.633,188,3.897,192,3.03,196,6.591,202,5.774,203,2.314,208,0.794,209,3.043,217,3.075,218,3.513,221,4.607,222,4.257,223,5.518,224,2.312,225,1.266,227,1.082,230,1.721,234,1.968,240,3.863,241,3.323,244,5.407,248,2.098,251,5.131,252,3.271,256,2.461,257,7.976,273,1.646,286,2.314,290,5.306,293,8.152,296,3.557,314,2.554,318,2.816,319,4.698,321,3.152,324,9.228,351,7.53,352,4.161,353,1.744,371,2.374,376,1.987,446,1.875,447,1.518,483,2.805,494,3.854,508,2.597,513,2.44,540,2.554,545,2.44,563,4.868,604,10.366,615,2.003,623,3.351,644,5.006,658,6.659,676,1.667,693,2.286,695,2.234,696,2.406,722,2.693,744,4.42,758,4.133,768,3.942,821,6.249,822,5.243,843,2.514,848,1.733,875,3.59,896,2.643,958,6.372,1026,1.968,1029,2.941,1036,2.476,1054,3.222,1073,3.114,1095,3.022,1152,5.272,1155,2.554,1161,2.941,1208,2.185,1218,2.941,1247,2.805,1259,2.746,1263,2.118,1302,6.128,1317,5.131,1367,7.099,1372,3.513,1375,3.222,1388,3.114,1393,5.433,1394,3.513,1472,2.476,1619,5.131,1667,4.894,1709,3.659,1712,3.222,1773,2.693,1827,2.162,1900,2.286,1974,7.274,2002,3.222,2325,6.506,2451,5.272,2562,3.729,2586,3.297,2815,6.128,2896,3.351,2902,5.006,2925,3.222,3150,2.597,3218,3.513,3294,3.729,3614,3.351,3738,5.62,4038,6.506,4065,3.351,4327,4.058,4328,3.351,4329,4.058,4330,4.058,4331,4.058,4332,3.513,4333,4.058,4334,4.058,4335,4.058,4336,4.058,4337,3.513,4338,4.058,4339,4.058,4340,4.058,4341,4.058,4342,4.058,4343,4.058,4344,4.058,4345,4.058,4346,4.058,4347,4.058,4348,4.058,4349,4.058,4350,4.058,4351,4.058,4352,4.058,4353,7.476,4354,4.058,4355,11.28,4356,7.08,4357,7.08,4358,7.08,4359,5.846,4360,7.08,4361,4.058,4362,7.08,4363,4.058,4364,4.058,4365,6.128,4366,6.506,4367,7.08,4368,7.08,4369,4.058,4370,4.058,4371,7.08,4372,7.08,4373,4.058,4374,4.058,4375,4.058,4376,7.08,4377,4.058,4378,3.729,4379,4.058]],["keywords/540",[]],["title/541",[352,330.993,3726,1041.352]],["content/541",[]],["keywords/541",[]],["title/542",[144,104.598,199,623.89,352,230.515,770,623.89]],["content/542",[1,2.951,29,7.225,35,4.559,38,5.561,78,4.209,89,4.604,91,4.03,124,8.099,139,3.127,143,4.872,145,9.698,150,4.858,159,6.163,192,2.217,204,5.641,209,4.758,244,8.196,251,11.467,307,8.913,318,2.435,352,4.353,358,2.775,376,5.655,447,4.14,676,4.546,696,11.946,700,4.462,742,4.726,750,4.963,937,5.96,1151,6.163,1196,12.026,1214,6.967,1220,6.857,1228,8.787,1299,9.801,1336,8.022,1393,8.494,1395,8.494,1737,13.382,1739,10.172,1818,10.663,2460,12.56,2462,10.172,2553,8.242,3080,9.581,3162,7.827,4366,14.539,4380,11.069,4381,15.245,4382,16.968,4383,14.539,4384,10.172]],["keywords/542",[]],["title/543",[74,461.165,124,428.911,4385,837.897,4386,837.897]],["content/543",[13,9.507,18,5.827,107,11.017,110,9.507,119,8.133,130,5.311,155,7.976,171,9.972,189,6.169,192,3.121,205,11.997,240,5.337,260,13.238,271,9.369,272,8.885,309,7.622,314,9.807,318,3.428,447,7.461,545,9.369,912,10.77,1152,11.602,1595,15.837,1674,10.545,2385,11.602,2386,13.486,2390,10.339,2581,14.318,2766,12.865,2786,15.837,3813,14.318,4387,19.951,4388,15.581]],["keywords/543",[]],["title/544",[74,353.771,110,392.174,371,376.034,1595,510.239,4389,556.344,4390,590.666]],["content/544",[5,2.303,6,4.838,9,3.333,13,7.772,20,8.552,29,4.984,35,1.769,49,3.977,52,2.967,96,4.903,118,5.847,120,4.604,121,3.735,136,2.957,139,3.293,141,7.404,144,1.032,150,6.819,159,4.604,162,1.35,166,7.453,168,5.847,192,2.552,198,4.155,202,7.169,204,4.542,208,1.617,217,4.16,223,8.54,224,2.7,240,5.322,242,4.658,254,5.045,258,4.775,272,4.715,274,7.011,296,4.155,318,2.803,321,3.681,333,4.117,352,5.479,377,5.596,436,3.763,447,3.092,570,4.838,615,4.081,724,6.46,751,5.204,752,3.912,768,9.719,806,7.554,808,6.786,812,4.604,842,5.716,877,5.596,937,8.366,941,3.85,977,4.715,1038,5.386,1081,6.564,1208,4.452,1421,6.345,1472,5.045,1711,5.292,2135,5.204,2176,6.157,2683,12.83,2831,5.122,3162,10.987,3275,7.599,3395,7.599,3737,7.157,4065,6.827,4390,7.599,4391,8.269,4392,8.269,4393,6.827,4394,8.269,4395,12.739,4396,8.269,4397,17.457,4398,7.157,4399,8.269,4400,8.269,4401,12.739,4402,17.457,4403,17.457,4404,12.739,4405,8.269,4406,12.739,4407,12.739,4408,12.739,4409,12.739,4410,12.739,4411,8.269,4412,12.739]],["keywords/544",[]],["title/545",[5,146.397,2902,698.474,3957,643.388]],["content/545",[5,2.054,7,3.723,35,2.964,45,2.834,84,4.484,96,8.217,97,5.764,114,10.043,139,3.254,141,8.818,192,2.776,202,5.691,255,8.217,256,4.817,318,3.049,675,7.903,700,5.586,821,9.195,826,11.001,836,8.333,1195,8.869,1337,14.669,1374,8.455,1423,8.003,1841,9.026,2176,10.319,2287,11.001,2480,11.995,2586,6.453,2599,11.995,2902,16.802,3987,12.735,4378,12.735,4381,15.258,4413,13.858,4414,13.858,4415,11.995,4416,20.791,4417,12.735,4418,13.858,4419,13.858,4420,12.735,4421,13.858]],["keywords/545",[]],["title/546",[352,330.993,353,517.165]],["content/546",[1,2.431,3,11.79,5,1.263,7,2.289,11,6.46,13,5.198,18,3.186,20,4.689,21,4.492,37,2.848,39,4.689,64,5.343,91,6.455,121,7.15,136,3.025,137,2.932,139,1.25,145,3.877,162,2.127,167,4.28,187,6.595,194,2.578,198,4.28,202,3.499,220,3.82,221,4.167,224,2.782,225,4.939,240,4.464,255,5.051,272,4.858,316,5.765,321,3.792,327,7.256,352,6.855,353,7.622,358,2.136,362,4.132,447,4.874,544,8.203,545,5.123,573,3.434,614,4.063,615,8.75,621,8.523,658,6.024,673,5.931,696,5.051,758,5.72,792,6.174,852,3.998,877,8.82,898,8.648,941,3.967,957,9.547,958,4.241,1032,7.373,1038,5.549,1151,4.743,1241,6.174,1290,10.761,1674,5.765,1805,7.828,1974,4.097,1989,6.174,2166,5.888,2208,6.174,2392,7.828,2428,9.446,2535,9.759,2545,7.828,2642,7.828,2643,7.828,2665,6.762,2683,7.034,2749,6.343,2771,9.806,2831,5.277,3107,7.828,3131,6.762,3152,7.373,3356,6.762,3582,7.828,3718,11.977,3728,7.373,3738,6.762,3776,7.828,4030,7.828,4422,8.519,4423,8.519,4424,8.519]],["keywords/546",[]],["title/547",[1667,889.49,2989,623.89,4425,725.232]],["content/547",[1,2.832,5,1.549,13,6.378,78,3.975,84,4.912,85,7.784,89,6.315,135,9.13,139,1.534,141,4.434,159,8.453,192,2.094,194,3.164,202,4.293,208,2.045,217,3.414,218,9.048,219,3.689,224,3.414,225,3.262,226,5.351,232,5.028,234,5.07,240,5.2,241,4.906,256,3.634,268,6.286,272,5.961,279,3.462,302,4.986,309,7.427,318,2.3,321,4.653,322,4.653,352,5.733,398,6.936,518,12.052,544,6.579,628,8.016,696,6.199,752,4.946,761,5.457,824,7.576,855,4.434,941,4.868,1039,5.028,1224,6.286,1266,6.476,1667,16.192,1773,6.936,1827,9.525,1989,7.576,2041,7.226,2435,7.576,2548,9.556,2897,7.784,3028,8.298,3219,8.298,3737,9.048,3764,9.606,4389,9.048,4425,15.475,4426,10.454,4427,10.454,4428,10.454,4429,10.454,4430,15.183,4431,15.183,4432,10.454,4433,13.952,4434,10.454,4435,10.454,4436,10.454,4437,10.454,4438,10.454,4439,10.454,4440,10.454,4441,10.454,4442,10.454,4443,10.454]],["keywords/547",[]],["title/548",[352,330.993,428,757.233]],["content/548",[1,3.218,33,7.624,37,5.767,49,8.296,58,9.129,124,8.83,130,5.879,208,3.374,241,8.096,259,8.032,262,11.446,265,5.607,302,8.228,330,12.197,331,7.97,352,6.344,1079,13.236,2646,14.93,2771,13.175,3405,13.693]],["keywords/548",[]],["title/549",[58,391.085,352,271.764,428,621.731]],["content/549",[5,2.106,18,5.313,37,4.75,45,3.842,58,5.625,89,5.909,124,7.273,136,4.885,139,2.757,192,2.846,221,9.191,237,10.579,240,6.435,291,10.901,318,3.126,338,7.569,352,5.169,428,8.942,437,10.879,447,5.313,503,9.615,545,8.543,643,6.465,673,8.549,752,6.721,877,9.615,900,8.668,1296,9.427,1297,10.046,1397,10.901,1674,9.615,1825,11.73,2176,10.579,2771,11.638,3142,13.056,3822,11.73,4127,9.427,4353,11.278,4444,14.207,4445,14.207,4446,14.207,4447,14.207]],["keywords/549",[]],["title/550",[240,338.338,352,271.764,428,621.731]],["content/550",[11,8.507,54,6.814,78,4.544,89,6.946,125,7.521,139,3.059,152,7.003,162,3.142,169,8.66,170,7.929,192,2.394,202,8.561,217,5.454,240,7.513,255,7.085,318,2.629,352,4.595,428,7.521,437,10.774,628,5.358,768,11.605,822,6.652,840,7.402,1401,8.259,1404,8.66,1820,9.169,2586,9.706,2650,10.98,2831,7.402,3098,8.449,3738,9.485,4448,11.949,4449,11.949,4450,16.701,4451,15.347,4452,19.156,4453,19.156,4454,19.156,4455,16.701,4456,16.701]],["keywords/550",[]],["title/551",[5,107.812,240,249.165,744,341.418,2989,541.673,4457,727.478]],["content/551",[1,1.56,5,1.239,7,2.246,34,7.237,37,2.795,45,2.627,74,4.602,77,6.226,84,2.705,102,2.552,136,1.94,139,3.554,144,1.044,162,2.097,163,4.163,165,4.454,192,1.675,194,2.53,202,3.434,207,6.993,217,6.188,221,4.09,224,2.73,240,6.014,241,3.924,291,6.415,302,3.988,307,4.71,316,5.658,318,1.839,321,3.722,331,3.863,352,3.535,372,5.351,423,5.719,428,5.262,476,4.828,563,4.321,592,5.179,646,6.326,676,6.426,744,9.388,746,4.551,752,3.956,768,11.97,775,2.782,779,6.226,790,6.577,795,5.719,1021,5.912,1115,5.548,1224,5.028,1226,6.903,1317,6.059,1388,6.415,1980,6.637,2428,6.059,2586,5.982,2840,11.806,2843,13.074,2897,6.226,3230,6.903,3580,11.237,4417,21.357,4458,8.361,4459,8.361,4460,8.361,4461,8.361,4462,17.559,4463,8.361,4464,15.647,4465,8.361,4466,12.848,4467,8.361,4468,12.848,4469,12.848,4470,12.848,4471,8.361,4472,12.848,4473,12.848,4474,8.361,4475,15.647,4476,8.361,4477,8.361,4478,8.361,4479,8.361]],["keywords/551",[]],["title/552",[72,303.562,141,244.188,152,193.405,1296,382.015,2989,709.952,4480,529.063]],["content/552",[1,2.778,5,2.61,21,3.287,37,2.084,39,3.431,44,3.99,51,2.234,72,9.285,78,3.871,89,5.366,103,3.924,105,4.219,110,3.804,121,2.816,126,4.219,135,3.749,136,4.9,138,4.007,139,2.584,141,6.961,150,2.736,152,6.241,157,2.95,187,3.786,192,2.039,194,3.081,197,4.03,198,3.132,202,9.467,217,3.324,219,3.593,220,5.785,224,2.036,225,4.026,227,2.714,236,4.408,240,3.487,241,2.926,242,5.735,252,2.881,272,7.357,284,3.287,318,2.24,329,3.222,349,1.99,350,1.463,351,3.104,352,5.331,353,4.376,371,3.647,385,5.148,425,3.024,436,2.837,437,5.262,442,3.804,447,2.332,518,4.949,544,6.407,563,7.697,615,3.077,646,3.667,676,2.56,712,4.309,717,5.668,790,3.191,822,3.471,843,3.862,877,6.89,900,3.804,915,4.408,922,3.862,941,2.903,958,3.104,1017,5.729,1026,3.024,1031,4.137,1039,2.998,1073,4.784,1084,3.191,1123,4.878,1135,4.518,1175,3.99,1213,10.793,1214,10.329,1220,7.992,1224,3.749,1296,14.007,1367,6.407,1444,8.405,1667,7.036,1712,4.949,1737,11.894,1818,3.6,1827,3.321,1974,7.162,2124,4.949,2385,4.642,2435,4.518,2586,2.903,2627,4.949,2831,3.862,3143,9.606,3162,4.408,3861,5.729,3931,5.729,4127,13.681,4177,5.729,4257,5.396,4353,8.081,4480,13.685,4481,6.235,4482,5.729,4483,6.235,4484,6.235,4485,11.167,4486,6.235,4487,6.235,4488,6.235]],["keywords/552",[]],["title/553",[825,677.776,4489,1041.352]],["content/553",[]],["keywords/553",[]],["title/554",[554,505.662,825,556.491,1731,757.965]],["content/554",[1,1.968,5,3.232,7,4.107,18,3.946,29,4.128,35,4.474,52,2.458,60,6.955,69,6.438,74,5.807,79,5.717,85,7.857,97,4.389,102,3.221,106,5.563,112,7.478,115,6.872,139,1.548,145,4.801,153,4.081,157,4.992,162,1.722,196,9.115,202,4.333,225,3.293,240,3.614,253,8.712,272,6.017,273,4.28,296,5.301,319,7.001,332,5.807,352,6.189,353,6.571,376,4.291,554,5.401,556,10.143,563,5.454,574,12.403,722,7.001,749,8.943,812,5.874,825,12.673,855,4.475,1008,7.857,1024,7.141,1138,7.647,1151,5.874,1222,8.096,1731,8.096,1818,6.093,1827,5.621,1974,5.075,2159,5.033,2631,7.857,3121,7.001,3140,9.783,3144,6.093,4263,9.133,4381,8.712,4490,10.552,4491,9.133,4492,15.286,4493,10.552,4494,10.552,4495,8.376,4496,10.552]],["keywords/554",[]],["title/555",[3182,1221.21]],["content/555",[5,2.596,42,10.534,84,5.668,141,9.106,196,7.634,273,7.105,352,5.907,353,7.53,362,8.496,825,9.869,922,10.852,1019,6.775,1039,8.425,2911,13.441,3085,14.464,3144,10.116,3182,18.429,3772,10.387,4497,17.518]],["keywords/555",[]],["title/556",[5,146.397,383,515.619,1339,543.687]],["content/556",[5,1.809,11,6.918,35,2.611,45,4.52,64,4.121,69,7.448,97,5.078,150,5.357,153,4.722,155,6.249,183,8.44,194,5.893,195,7.448,204,4.353,208,2.388,225,3.809,256,4.244,261,11.218,302,9.289,350,2.864,352,6.294,353,5.248,383,10.165,398,8.1,574,7.239,673,5.555,812,6.797,834,8.847,836,7.341,855,8.924,922,7.562,957,9.127,1339,13.168,1448,10.849,1457,10.079,1667,8.438,1773,8.1,1802,10.079,1814,13.461,2434,7.951,2498,9.367,2771,7.562,2915,9.367,3058,11.218,3166,11.218,3260,10.566,3713,10.566,4491,10.566]],["keywords/556",[]],["title/557",[352,330.993,4489,1041.352]],["content/557",[5,2.75,38,7.006,64,4.707,79,7.799,80,8.638,112,6.821,121,6.298,138,7.303,150,9.152,179,6.942,181,4.753,183,6.942,192,4.454,217,4.553,220,6.252,223,6.821,225,4.351,227,5.926,274,7.674,339,8.385,352,6.116,353,5.994,377,9.437,379,9.437,666,9.252,750,6.252,1036,8.507,1081,11.069,1154,10.382,1201,11.321,1969,9.638,1974,8.924,2159,6.651,3138,12.069,3668,17.051,4489,12.069,4498,13.944,4499,13.944]],["keywords/557",[]],["title/558",[274,662.181,3152,1041.352]],["content/558",[]],["keywords/558",[]],["title/559",[64,282.829,1229,545.732,3251,665.131,4134,555.965]],["content/559",[1,1.626,5,1.966,52,3.74,59,3.825,64,7.533,102,2.661,103,5.486,139,3.34,141,3.697,151,3.431,153,3.371,155,4.462,171,8.488,187,4.933,189,3.451,192,1.746,194,2.638,201,7.066,204,4.729,217,4.331,240,6.146,252,4.027,271,5.241,284,8.465,296,6.664,318,1.918,322,3.88,352,4.417,399,7.197,447,3.26,563,6.855,570,5.099,574,7.865,575,5.033,594,4.744,637,5.486,718,8.801,749,9.392,750,3.908,875,6.726,958,6.604,1019,3.371,1031,8.801,1036,5.318,1207,4.744,1208,4.693,1213,9.612,1254,10.232,1737,15.79,1738,9.612,2042,5.169,2548,5.486,2651,9.876,2799,7.544,2843,6.49,3085,7.197,3144,5.033,3295,10.951,3580,11.483,3912,11.48,4133,6.919,4134,14.027,4433,12.188,4500,8.01,4501,8.01,4502,18.686,4503,13.263,4504,13.263,4505,8.717,4506,13.263,4507,12.188,4508,12.188,4509,8.717,4510,8.717,4511,7.544,4512,7.544,4513,7.544]],["keywords/559",[]],["title/560",[64,216.965,152,215.924,592,398.176,2042,381.135,4134,426.495,4514,642.772]],["content/560",[3,6.351,5,2.312,7,2.917,11,4.431,52,4.651,64,5.267,79,4.06,91,3.952,119,5.667,139,2.93,144,1.948,150,4.764,171,6.948,187,4.038,192,3.126,194,3.285,196,6.8,209,4.667,217,5.095,225,4.869,226,5.557,241,5.095,254,6.624,302,5.178,318,3.433,350,3.661,352,4.293,574,9.252,592,9.666,615,7.7,676,4.458,704,7.347,718,7.203,742,4.635,749,9.128,874,10.089,1055,10.163,1196,10.163,1294,6.269,1437,11.033,1737,14.472,1974,5.221,2042,13.454,2486,13.505,2548,6.833,2586,5.055,2656,11.972,2749,8.084,3736,15.809,4134,10.353,4141,8.618,4323,16.785,4515,10.856,4516,15.603,4517,15.603,4518,10.856,4519,10.856]],["keywords/560",[]],["title/561",[88,325.943,103,527.362,203,477.807,2208,607.247]],["content/561",[1,2.16,3,6.775,5,2.421,18,6.11,59,9.023,60,6.681,78,4.404,112,5.665,136,3.792,139,3.017,141,6.929,143,5.829,144,1.446,152,5.488,192,2.32,197,4.585,201,6.17,217,5.335,221,7.992,253,9.562,318,2.548,332,6.374,351,9.425,352,5.656,353,7.023,362,5.617,423,5.155,563,5.986,722,7.684,744,7.668,768,9.096,941,5.392,2208,14.901,2535,6.374,2586,8.814,2830,8.886,4133,9.193,4295,9.562,4297,14.141,4301,9.562,4451,10.642,4452,15.013,4453,15.013,4454,15.013,4520,11.581,4521,11.581,4522,11.581,4523,16.338,4524,11.581,4525,16.338,4526,11.581,4527,11.581,4528,11.581]],["keywords/561",[]],["title/562",[52,134.104,208,112.608,277,122.726,628,258.137,752,272.378,753,341.386,1118,389.633]],["content/562",[1,2.394,5,1.902,9,5.173,45,2.624,48,3.342,52,5.54,121,5.796,139,3.409,162,2.863,198,6.447,208,3.432,220,5.754,241,6.023,243,4.935,277,4.797,285,4.88,309,6.278,628,8.964,752,6.071,753,7.609,813,8.479,840,7.95,928,12.406,1118,14.544,1175,8.213,1401,8.87,1737,15.575,1910,8.077,2460,15.87,4529,21.491,4530,21.491,4531,19.992]],["keywords/562",[]],["title/563",[142,365.494,150,319.244,208,142.288,628,326.172,2553,541.673]],["content/563",[1,2.795,5,1.521,9,6.039,20,5.649,52,3.49,78,3.903,91,3.736,97,4.269,105,6.946,139,3.355,142,5.157,150,4.504,192,2.056,208,3.805,209,4.412,217,3.351,224,4.892,240,3.515,243,5.761,244,5.761,277,5.118,318,2.258,321,4.568,352,2.824,447,3.838,628,8.722,673,4.67,676,4.215,753,6.086,757,6.81,775,4.985,813,4.353,819,8.341,832,8.474,856,11.495,874,8.439,938,5.927,978,11.184,1118,10.139,1152,11.155,1748,8.474,1818,5.927,2390,6.81,2553,7.642,2586,4.779,2665,8.147,2769,12.369,2896,8.474,3218,8.883,3255,8.883,3425,9.757,3686,11.495,4145,8.474,4532,10.263,4533,12.967,4534,17.875,4535,9.431,4536,9.431,4537,13.767,4538,13.767,4539,10.263,4540,9.431]],["keywords/563",[]],["title/564",[5,146.397,166,577.902,196,430.482]],["content/564",[1,2.394,5,2.6,7,4.714,35,2.745,45,3.588,52,2.989,69,7.83,77,9.555,84,5.676,89,7.297,144,1.602,145,7.984,162,2.094,166,7.508,181,4.374,192,2.571,196,5.592,202,5.27,204,6.256,208,3.91,217,4.191,240,4.395,252,5.929,285,4.88,318,2.823,352,3.531,376,4.925,433,8.515,596,8.87,628,7.867,752,6.071,758,5.632,768,9.768,1667,14.854,1825,10.596,1931,10.187,2989,9.555,3404,11.793,4134,8.515,4425,11.107,4495,13.928,4508,16.123,4541,17.545,4542,17.545,4543,12.833,4544,12.833,4545,12.833,4546,12.833,4547,12.833,4548,12.833,4549,12.833]],["keywords/564",[]],["title/565",[5,146.397,671,442.906,4550,784.153]],["content/565",[1,1.8,5,1.43,52,3.334,59,4.234,78,3.669,91,3.513,112,4.72,139,3.588,144,1.204,150,9.858,180,4.084,181,6.436,183,8.497,192,1.933,194,2.92,196,4.205,198,9.487,201,7.626,204,5.104,205,5.802,208,1.887,219,7.457,222,5.802,227,2.572,230,6.072,248,7.399,292,5.771,318,2.123,320,5.887,321,4.295,352,2.654,377,6.53,447,8.18,543,6.175,563,4.987,568,3.69,626,9.01,628,4.326,643,4.391,646,5.157,758,6.282,795,4.295,797,9.499,803,9.289,874,6.828,922,5.977,927,6.993,1039,4.64,1224,5.802,1238,5.802,1264,4.987,1266,5.977,2135,9.01,2836,7.659,3772,8.489,4172,7.403,4332,12.391,4550,11.364,4551,7.967,4552,8.351,4553,9.649,4554,18.882,4555,14.316,4556,14.316,4557,9.649,4558,8.867]],["keywords/565",[]],["title/566",[1,119.902,192,128.759,260,426.495,296,322.937,352,287.108]],["content/566",[1,3.612,5,2.87,39,6.647,78,4.592,110,7.369,139,3.073,141,9.339,142,10.522,166,7.065,192,2.419,202,6.91,204,5.999,217,3.944,225,3.769,244,6.47,262,8.013,284,8.871,317,3.446,352,5.761,371,7.065,508,7.729,538,8.993,544,12.187,575,6.974,938,6.974,1008,8.993,1039,5.808,1055,14.851,1204,9.972,1207,6.573,1213,8.753,1214,12.187,1229,7.866,1249,8.539,1254,9.595,1296,8.013,1488,11.63,1974,5.808,2138,9.587,2460,13.356,2595,8.303,2627,9.587,3018,10.453,4552,10.453,4559,16.825,4560,12.077]],["keywords/566",[]],["title/567",[110,602.705,575,570.435,4552,855.008]],["content/567",[]],["keywords/567",[]],["title/568",[126,567.053,150,367.699,274,461.165,544,527.362]],["content/568",[1,2.075,5,2.353,9,4.484,11,4.54,52,4.703,84,3.599,89,4.627,102,3.396,105,7.528,126,7.528,150,10.254,169,8.062,173,4.848,185,5.442,189,4.404,208,3.621,224,3.632,240,3.81,252,5.14,274,6.122,279,3.684,284,5.865,327,6.193,339,6.689,352,5.094,433,7.381,436,5.062,543,7.119,544,9.993,570,6.508,625,5.589,628,7.119,676,4.568,754,6.689,758,4.882,792,8.062,803,8.642,813,4.718,815,8.535,822,6.193,845,6.891,874,7.573,877,7.528,956,7.119,1026,5.395,1171,9.185,1207,6.055,1215,9.628,1264,9.57,1299,6.891,1308,8.062,1336,8.062,1373,9.185,1386,7.528,1397,8.535,1448,7.119,1472,6.787,1498,7.528,2135,9.993,2435,11.507,2591,10.222,2645,9.628,3162,7.866,3774,10.222,3798,10.222,3957,7.245,4278,10.222,4561,11.124,4562,11.124,4563,11.124,4564,11.124,4565,8.83,4566,11.124,4567,9.185]],["keywords/568",[]],["title/569",[1171,993.368,4568,1203.126]],["content/569",[1,1.889,5,2.864,54,5.774,64,3.418,80,6.272,85,11.045,89,4.211,102,3.091,131,9.189,141,6.291,152,3.401,183,5.041,187,3.766,194,3.064,196,6.464,204,3.61,224,3.306,225,6.031,278,4.211,284,5.339,302,4.829,307,5.704,319,6.718,321,4.507,352,6.728,353,4.352,433,6.718,436,4.607,437,5.233,518,8.038,542,5.394,544,12.164,556,6.718,574,6.004,628,4.54,676,6.092,825,8.356,848,4.323,855,7.445,922,6.272,1019,6.789,1025,7.075,1026,4.911,1031,6.718,1036,6.178,1038,6.595,1039,8.443,1123,3.829,1171,12.247,1220,6.272,1224,10.556,1472,6.178,1725,7.539,1826,9.304,1930,13.935,1974,9.295,2389,7.539,2435,12.722,3131,8.038,3143,7.539,3144,8.566,3243,8.36,4133,11.775,4165,8.764,4291,9.304,4491,8.764,4569,10.125,4570,10.125,4571,10.125,4572,10.125,4573,10.125]],["keywords/569",[]],["title/570",[566,871.939,2143,1041.352]],["content/570",[]],["keywords/570",[]],["title/571",[50,249.165,352,200.137,2143,629.66,3217,600.646,3219,577.479]],["content/571",[1,2.585,5,3.424,6,8.107,11,5.656,37,4.633,48,3.609,49,6.665,52,5.166,75,7.89,84,4.484,136,4.289,139,2.711,152,6.208,153,5.36,192,2.776,296,9.284,352,5.084,408,8.455,676,7.589,744,6.504,900,8.455,918,7.383,1179,8.455,1367,8.722,2586,8.605,2749,10.319,3007,10.633,3217,17.166,3219,11.001,3738,11.001,4574,13.858,4575,13.858,4576,12.735,4577,13.858,4578,13.858,4579,13.858,4580,13.858,4581,13.858,4582,13.858,4583,13.858]],["keywords/571",[]],["title/572",[5,146.397,192,197.881,767,784.153]],["content/572",[1,3.286,5,2.972,18,4.827,136,2.995,144,1.611,162,2.106,192,3.528,194,5.33,198,6.484,201,6.876,217,7.034,220,5.787,240,6.033,242,7.271,273,5.235,274,9.694,277,3.755,296,6.484,302,6.156,309,6.314,352,3.551,398,8.564,442,7.875,614,6.156,675,7.36,744,11.179,745,9.61,752,6.106,767,13.982,768,9.806,812,7.185,1084,6.607,1367,8.123,1674,8.735,2385,9.61,2592,11.171,2908,11.86,2951,18.426,3038,18.426,4295,10.656,4584,17.614,4585,17.614,4586,12.906,4587,12.906]],["keywords/572",[]],["title/573",[1789,639.86]],["content/573",[]],["keywords/573",[]],["title/574",[278,639.86]],["content/574",[1,2.634,5,2.092,18,5.28,37,4.72,48,3.677,59,6.196,84,4.568,97,5.872,136,4.87,141,5.988,142,7.093,162,2.304,184,11.657,187,5.251,208,4.104,265,4.589,278,7.782,321,6.284,349,6.697,359,7.093,428,8.886,535,10.232,628,6.33,918,7.521,1025,6.734,1093,10.833,1592,10.833,1789,10.136,2186,7.589,2740,11.657,3128,11.657,3200,8.886,3356,11.207,3851,10.512,4134,9.368,4588,14.118,4589,14.118,4590,14.118,4591,10.512,4592,14.118]],["keywords/574",[]],["title/575",[136,194.465,208,163.885,278,348.499,1789,348.499]],["content/575",[45,3.254,136,5.158,138,7.958,143,4.9,144,1.986,197,6.299,200,10.014,208,4.347,252,7.351,265,6.572,278,9.244,280,9.856,331,7.351,575,9.188,673,7.24,1170,9.435,1789,10.426,2013,9.435,2186,6.454,2815,13.772,3356,12.63,4593,15.911]],["keywords/575",[]],["title/576",[404,462.676,2186,487.983]],["content/576",[9,6.281,37,5.209,75,6.653,83,8.576,88,6.061,91,5.673,129,7.622,130,5.311,136,3.616,137,5.363,138,7.852,149,10.545,200,9.807,208,3.902,241,7.313,278,8.298,302,7.432,404,5.992,671,8.945,744,7.313,848,6.653,1084,7.976,1123,5.892,1401,10.77,1789,9.154,1980,12.369,2186,8.926,2391,11.602,4594,15.581,4595,15.581,4596,15.581]],["keywords/576",[]],["title/577",[1789,639.86]],["content/577",[84,4.539,138,7.333,140,2.431,144,1.751,157,6.638,160,2.698,162,2.29,164,4.444,186,4.003,208,4.359,265,6.056,278,5.836,292,5.656,359,10.51,362,9.037,436,6.384,704,9.495,875,7.115,1134,8.979,1265,8.979,1310,10.447,1437,15.759,1736,10.766,1789,10.404,3098,9.921,4268,10.625,4269,7.554,4597,10.447,4598,11.727,4599,13.503]],["keywords/577",[]],["title/578",[217,502.358]],["content/578",[138,8.614,144,2.257,173,9.538,217,7.147,370,10.871,1039,8.695,1204,14.927,1900,10.185,1969,15.128,2186,8.877,4599,15.862,4600,16.297]],["keywords/578",[]],["title/579",[4601,1413.703]],["content/579",[29,5.815,48,3.871,52,4.508,84,4.809,91,5.411,114,10.771,139,2.181,140,1.939,144,1.855,160,2.858,164,3.157,180,4.241,186,4.241,224,6.319,277,4.125,292,7.801,350,3.487,358,3.726,460,9.207,651,8.937,653,12.589,669,10.058,713,11.798,750,6.664,874,7.089,900,9.068,1021,13.683,2120,11.404,2389,11.067,2605,12.864,2645,12.864,4197,20.946,4601,13.658,4602,14.863,4603,14.863,4604,14.863]],["keywords/579",[]],["title/580",[4605,1331.557]],["content/580",[7,6.604,115,10.219,140,2.047,144,2.502,160,3.017,162,3.603,164,4.257,180,4.477,186,4.477,279,6.636,376,4.404,698,9.051,744,9.405,1025,7.484,1423,11.572,2154,12.954,2186,8.956,2187,12.954,2190,7.306,4605,13.58,4606,12.954,4607,12.455,4608,12.039]],["keywords/580",[]],["title/581",[4609,1331.557]],["content/581",[7,6.286,18,6.943,52,3.711,59,4.906,91,4.07,115,7.281,139,1.64,140,1.459,144,2.318,151,4.4,160,2.15,162,3.03,164,3.944,180,3.19,186,3.19,194,3.383,219,5.623,230,4.741,279,5.277,333,5.566,376,3.138,447,4.181,535,13.455,646,6.688,673,5.087,698,7.197,744,7.478,752,5.289,758,8.147,1094,15.127,1423,9.201,2154,9.23,2186,9.49,2187,9.23,2190,7.419,2563,6.224,2651,8.324,2915,12.226,2967,11.548,4328,13.156,4606,15.329,4607,8.874,4609,9.676,4610,21.5,4611,8.578]],["keywords/581",[]],["title/582",[7,413.302]],["content/582",[7,6.619,50,5.057,69,9.009,119,7.707,138,5.811,140,1.926,153,5.711,167,7.418,185,7.223,194,4.468,265,7.39,274,8.127,339,8.879,437,7.631,593,8.638,673,6.719,698,10.269,750,6.62,1457,12.191,2186,9.993,2915,14.785,3150,9.449,4576,13.568,4605,16.678,4609,16.678,4612,14.765]],["keywords/582",[]],["title/583",[4269,828.284]],["content/583",[7,6.01,140,2.106,144,2.015,160,3.103,164,3.428,186,4.605,285,6.137,323,10.158,324,9.847,350,3.786,432,12.045,679,14.102,806,9.57,2186,6.546,2190,9.5,2544,12.383,4269,13.053,4597,12.017,4598,12.841,4613,12.811,4614,15.191,4615,16.139]],["keywords/583",[]],["title/584",[4268,877.275]],["content/584",[7,6.431,140,2.019,144,1.932,160,2.976,164,3.287,186,4.415,285,5.884,323,9.739,324,9.441,350,3.631,432,11.811,679,13.729,806,9.176,2186,6.276,2190,9.249,2544,11.874,2649,9.903,4268,13.649,4598,12.502,4613,12.284,4614,14.79,4616,14.22,4617,15.241,4618,13.394,4619,15.474]],["keywords/584",[]],["title/585",[4620,1114.932]],["content/585",[7,6.39,40,8.646,140,1.978,144,1.893,160,2.916,164,3.221,186,4.326,285,5.765,323,9.543,324,9.251,350,3.557,375,6.562,432,11.697,679,15.017,795,6.749,2093,11.634,2186,6.15,2190,10.116,2544,11.634,2649,9.703,4598,12.339,4613,12.036,4614,16.177,4617,16.67,4618,13.124,4620,15.745]],["keywords/585",[]],["title/586",[850,1331.557]],["content/586",[7,6.39,40,8.646,140,1.978,144,1.893,160,2.916,164,3.221,186,4.326,285,5.765,323,9.543,324,9.251,350,3.557,375,6.562,432,11.697,679,15.017,795,6.749,850,18.804,2093,11.634,2186,6.15,2190,10.116,2544,11.634,2649,9.703,4598,12.339,4613,12.036,4614,16.177,4617,16.67,4618,13.124]],["keywords/586",[]],["title/587",[4617,1180.425]],["content/587",[7,5.929,20,7.535,40,10.452,52,5.798,91,4.984,140,2.391,144,1.709,160,2.633,162,2.991,164,2.908,180,5.23,186,3.906,198,6.878,274,7.535,333,6.816,679,12.669,758,6.008,806,8.117,2136,9.921,2186,5.553,2190,8.535,2563,10.205,2629,13.086,2649,11.73,2830,10.504,4608,10.504,4614,13.648,4617,15.855,4621,11.849,4622,17.885,4623,15.865]],["keywords/587",[]],["title/588",[4607,1221.21]],["content/588",[7,5.929,20,7.535,40,10.452,52,5.798,59,6.008,91,4.984,140,2.391,144,1.709,160,2.633,162,2.991,164,2.908,180,5.23,186,3.906,198,6.878,274,7.535,333,6.816,679,12.669,758,6.008,806,8.117,2186,5.553,2190,8.535,2563,10.205,2629,13.086,2649,11.73,2830,10.504,4607,16.403,4608,10.504,4614,13.648,4621,11.849,4622,17.885,4623,15.865]],["keywords/588",[]],["title/589",[4624,1413.703]],["content/589",[7,5.857,20,7.313,40,10.244,52,5.762,91,4.837,140,2.344,144,1.659,160,2.555,162,2.932,164,2.822,180,5.126,186,3.791,198,6.675,217,5.866,274,7.313,333,6.615,758,5.831,806,7.878,1330,8.503,1335,9.184,2186,5.389,2190,8.365,2563,10.001,2573,8.816,2629,12.928,2649,11.497,2830,10.195,4235,8.654,4599,9.629,4608,10.195,4621,11.5,4622,17.616,4623,15.549,4624,18.703,4625,11.5,4626,16.508]],["keywords/589",[]],["title/590",[62,514.328]],["content/590",[7,4.431,20,9.077,52,5.263,62,6.915,140,2.152,144,2.059,160,3.172,164,4.393,186,4.706,375,8.951,446,9.556,689,12.28,698,7.449,883,9.405,1330,10.555,2170,17.077,2190,7.68,2544,17.338,4269,8.88,4626,15.156,4627,16.493,4628,16.493]],["keywords/590",[]],["title/591",[2915,1180.425]],["content/591",[7,6.052,18,6.74,40,8.746,52,3.573,59,6.731,91,3.859,139,2.25,140,1.383,144,1.915,151,4.172,160,2.039,162,1.73,164,3.258,180,3.025,186,3.025,194,3.208,217,3.462,219,5.413,230,4.496,243,5.898,244,5.898,265,3.446,279,5.079,333,5.278,447,3.965,535,13.061,646,7.115,673,4.824,698,6.928,752,5.015,758,7.909,1094,14.817,1123,5.8,1423,8.857,2154,8.753,2186,9.356,2190,7.142,2595,7.569,2649,9.816,2651,7.894,2915,15.154,2967,11.116,3150,6.784,4600,7.894,4606,12.664,4607,12.175,4610,21.198,4611,8.134,4629,10.601,4630,10.601,4631,15.338]],["keywords/591",[]],["title/592",[4632,1063.343]],["content/592",[5,2.57,31,9.144,52,2.939,75,5.387,108,8.075,120,7.025,130,4.301,140,2.585,143,3.885,144,1.575,160,3.335,162,3.651,164,4.209,167,9.956,186,3.6,189,4.995,194,3.818,208,2.468,240,5.94,262,8.372,322,5.616,376,5.563,447,4.719,596,8.721,676,5.182,686,8.964,695,6.945,698,5.699,701,9.144,754,7.587,775,4.198,941,5.875,1025,8.272,1735,7.482,1789,8.242,2186,10.142,2187,10.418,4632,8.721,4633,17.343,4634,10.921,4635,10.418,4636,12.618,4637,12.618]],["keywords/592",[]],["title/593",[2186,487.983,4599,871.939]],["content/593",[5,2.768,144,2.332,221,9.137,460,11.571,1789,9.283,2186,10.031,2573,14.81,4599,16.176,4638,14.827]],["keywords/593",[]],["title/594",[4235,1001.987]],["content/594",[120,8.441,139,2.225,140,1.978,144,1.893,160,2.916,180,4.326,186,4.326,217,4.951,221,9.59,340,5.406,350,4.599,362,7.354,375,6.562,643,6.9,875,7.689,1170,8.991,1789,6.306,1832,10.721,1901,11.634,2186,9.881,2190,9.128,4235,15.491,4599,15.745,4620,10.989,4638,12.036,4639,13.933,4640,11.634,4641,15.162,4642,12.519]],["keywords/594",[]],["title/595",[4600,1145.489]],["content/595",[41,7.784,59,6.609,120,8.385,139,2.21,140,1.965,144,1.88,160,2.896,180,5.569,186,4.297,217,4.918,221,9.548,222,9.056,350,3.534,375,6.518,643,6.853,875,7.637,1170,8.931,1789,6.264,1832,13.802,1901,11.556,2186,8.784,2190,10.084,2573,9.993,3075,11.556,4235,12.713,4600,14.534,4620,14.146,4625,16.895,4638,11.956,4640,11.556,4642,12.435,4643,13.84,4644,13.84]],["keywords/595",[]],["title/596",[2573,1020.777]],["content/596",[120,9.318,139,2.456,140,2.184,144,2.089,160,3.219,180,4.776,186,4.776,217,5.466,221,8.188,350,3.927,375,7.244,808,8.917,875,8.487,1170,9.925,1832,11.835,1901,12.843,2186,9.227,2190,9.72,2573,15.094,4620,12.13,4638,13.287,4639,15.381,4640,12.843,4642,13.82]],["keywords/596",[]],["title/597",[4645,1413.703]],["content/597",[41,7.943,59,6.744,120,8.556,139,2.255,140,2.005,144,1.919,160,2.955,180,5.642,186,4.385,217,5.019,221,9.674,222,9.242,350,3.606,375,6.652,643,6.994,795,6.841,875,7.793,1170,9.113,1832,10.867,1901,11.793,2186,8.869,2190,10.181,2573,10.198,3075,11.793,4620,14.332,4625,17.117,4638,12.2,4640,11.793,4642,12.69,4643,14.123,4644,14.123,4645,18.173]],["keywords/597",[]],["title/598",[4646,1413.703]],["content/598",[53,6.975,84,4.809,120,8.275,130,5.066,139,2.181,140,1.939,144,1.855,160,2.858,164,3.157,180,4.241,186,4.241,217,4.853,221,7.271,232,7.148,350,3.487,375,6.432,795,6.616,859,11.404,875,7.537,1170,8.813,1330,9.512,1335,10.273,1832,10.509,2186,8.728,2190,11.283,2249,11.798,4620,14.025,4640,11.404,4646,17.783,4647,14.863,4648,14.863,4649,21.518,4650,12.864,4651,12.864,4652,12.864]],["keywords/598",[]],["title/599",[4653,1413.703]],["content/599",[37,4.605,120,7.668,139,2.7,140,1.797,144,1.719,160,2.649,180,5.251,186,3.93,217,6.01,221,6.738,222,8.282,350,4.318,375,5.961,652,7.189,795,6.131,808,7.338,875,6.984,918,7.338,1497,8.282,1789,5.729,1832,9.739,2186,8.407,2190,11.604,3669,10.568,4235,8.971,4263,11.921,4268,7.854,4598,8.669,4616,12.657,4620,13.338,4640,10.568,4650,11.921,4651,11.921,4652,11.921,4653,16.912,4654,13.773,4655,12.657,4656,13.773,4657,13.773,4658,13.773,4659,13.773,4660,13.773]],["keywords/599",[]],["title/600",[4661,1413.703]],["content/600",[130,6.879,221,9.873,632,9.184,2186,8.186,3669,15.486,4662,17.469]],["keywords/600",[]],["title/601",[4662,1331.557]],["content/601",[59,8.953,130,5.501,140,2.106,144,2.015,160,3.103,164,3.428,186,4.605,217,7.305,221,7.895,349,5.15,632,9.284,1330,10.328,1335,11.155,2186,6.546,2190,10.945,4235,10.511,4599,11.696,4650,13.969,4651,13.969,4652,13.969,4655,14.831,4661,14.831,4662,17.659,4663,16.139,4664,20.402]],["keywords/601",[]],["title/602",[1800,1270.201]],["content/602",[44,10.792,79,6.306,140,2.2,144,2.105,160,3.243,164,3.582,180,5.983,186,4.811,337,5.285,349,5.381,467,9.738,573,6.798,594,9.178,643,7.673,1800,18.845,2114,15.496,2161,14.595,2186,8.506,4268,11.959,4269,11.291,4665,16.863,4666,16.863]],["keywords/602",[]],["title/603",[2186,487.983,4667,1105.594]],["content/603",[5,2.863,203,11.016,208,3.778,355,11.616,791,13.353,1122,17.752,1692,15.95,1789,8.035,2186,7.835,4134,12.818,4667,17.752]],["keywords/603",[]],["title/604",[2190,716.328]],["content/604",[37,5.723,52,3.987,59,9.289,140,2.234,144,2.137,160,3.292,164,3.636,166,10.015,186,4.884,197,6.777,208,4.14,221,8.374,349,6.755,1026,8.303,1789,7.12,2186,8.586,2190,10.7,4668,14.817,4669,17.119,4670,17.119]],["keywords/604",[]],["title/605",[4671,1331.557]],["content/605",[5,2.791,141,7.988,144,2.351,186,5.374,339,11.325,349,6.011,564,12.053,1789,7.834,1827,10.034,2190,10.445,2573,12.497,4671,16.302,4672,14.951]],["keywords/605",[]],["title/606",[4237,1063.343]],["content/606",[59,7.998,140,2.378,144,2.275,160,3.505,164,3.871,186,5.2,349,7.019,877,12.334,1789,7.58,2190,8.486,3822,15.048,4237,15.202,4668,15.775,4671,15.775,4673,18.226,4674,18.226]],["keywords/606",[]],["title/607",[4675,1413.703]],["content/607",[140,2.136,144,2.044,160,3.149,164,4.373,186,4.672,217,5.347,221,8.009,232,7.874,375,7.086,646,5.899,808,8.723,875,8.303,1134,10.478,2186,6.641,2190,9.586,4235,10.664,4268,11.74,4269,8.815,4597,12.191,4598,12.958,4675,21.714,4676,20.588,4677,16.373,4678,16.373]],["keywords/607",[]],["title/608",[208,235.32,2186,487.983]],["content/608",[5,3.122,52,4.908,78,6.46,137,5.848,140,2.217,157,8.038,166,9.939,208,4.683,325,9.571,349,6.724,358,4.26,376,4.769,675,9.688,855,8.936,1294,9.811,1789,7.066,2186,9.289,3407,11.066]],["keywords/608",[]],["title/609",[1709,795.129]],["content/609",[45,2.286,48,2.911,52,4.325,62,3.737,78,4.251,84,3.617,137,6.966,139,2.969,140,1.459,144,1.396,151,4.4,160,2.15,161,5.165,162,3.63,164,3.944,180,6.104,181,5.431,186,3.19,234,7.728,243,6.128,244,6.128,277,3.397,290,6.298,349,5.085,350,5.019,358,5.364,376,4.473,428,7.036,483,7.727,564,7.154,568,6.093,634,15.329,695,8.77,698,5.049,808,8.488,1066,6.298,1153,7.093,1497,9.581,1709,11.057,2186,6.463,2251,9.23,3221,7.795,4268,9.086,4269,8.579,4679,11.179,4680,10.273,4681,11.179]],["keywords/609",[]],["title/610",[223,752.563]],["content/610",[45,2.108,48,2.685,52,4.132,62,3.447,78,5.716,84,4.863,137,7.133,139,3.174,140,1.345,141,4.373,144,1.287,151,4.058,160,1.983,161,4.764,162,3.531,164,3.768,180,6.373,181,5.123,186,2.942,223,7.353,234,9.455,243,3.965,277,3.204,290,5.808,349,4.797,350,5.241,358,4.448,376,4.219,428,6.489,439,10.518,442,6.291,513,9.038,564,6.598,568,5.748,634,14.646,695,10.729,698,4.657,711,14.515,722,9.974,808,5.493,1072,7.552,1153,6.691,1259,6.978,1497,9.038,1709,5.329,2186,6.097,3221,5.044,4268,8.571,4269,8.093,4682,10.31,4683,10.31,4684,10.31]],["keywords/610",[]],["title/611",[4685,1413.703]],["content/611",[41,9.29,45,2.158,48,2.748,52,5.366,62,3.528,78,4.012,84,4.946,89,4.389,97,4.389,136,2.449,137,7.507,139,1.548,140,1.377,144,1.908,151,4.153,158,6.125,160,2.029,161,4.875,162,3.559,164,3.818,180,5.128,181,6.717,186,3.011,189,4.177,208,2.99,224,3.446,243,5.878,277,3.258,278,4.389,286,8.717,336,4.128,340,3.762,349,4.878,350,3.586,358,4.941,376,4.291,423,4.697,568,7.536,637,6.641,657,8.376,658,7.461,698,4.766,809,5.743,928,10.808,1123,3.99,1725,7.857,2498,8.096,2563,5.874,2595,5.207,2616,9.133,2629,6.257,3175,12.134,3221,5.162,3407,6.872,4328,12.621,4685,14.047,4686,9.696,4687,9.696,4688,9.696,4689,9.696,4690,10.552,4691,10.552]],["keywords/611",[]],["title/612",[2190,716.328]],["content/612",[5,2.082,7,5.01,40,5.364,42,11.213,45,1.924,52,5.053,62,3.145,137,3.238,138,3.702,139,2.061,140,1.833,143,4.326,144,1.174,151,5.529,160,2.701,161,4.346,162,3.416,164,4.239,180,5.321,185,6.872,186,2.684,228,8.142,243,3.618,277,2.995,290,9.471,324,5.74,349,4.483,350,4.375,358,3.522,376,3.943,423,7.484,542,9.934,568,5.372,575,8.112,669,6.366,698,6.345,821,6.242,875,4.77,1078,6.366,1313,11.599,1337,7.468,1409,5.657,1662,8.99,1900,5.3,2190,9.747,2298,8.142,2352,12.909,2354,10.46,2563,9.36,2629,5.578,2911,7.218,2972,8.142,3221,4.602,3822,11.599,3831,8.645,4140,11.599,4268,8.011,4269,7.564,4393,18.411,4692,9.407,4693,9.407,4694,15.45]],["keywords/612",[]],["title/613",[4695,1413.703]],["content/613",[45,2.524,52,5.169,62,5.71,137,4.248,139,1.811,140,1.61,143,3.8,144,1.541,151,4.857,160,2.373,161,5.702,162,3.841,164,4.161,180,5.589,186,3.521,208,2.414,230,5.234,243,6.568,277,3.641,349,6.251,350,4.596,358,5.3,376,4.794,483,8.53,568,6.531,646,4.446,748,8.726,750,5.533,771,10.19,803,6.717,808,6.575,830,8.189,843,7.645,1497,7.421,1736,9.47,2182,9.992,2190,5.747,3180,14.102,3221,6.037,3425,11.125,4269,9.196,4598,7.768,4695,15.696,4696,10.682,4697,15.696]],["keywords/613",[]],["title/614",[2967,1114.932]],["content/614",[41,6.991,45,2.766,52,5.337,62,4.522,84,5.882,89,5.626,137,4.655,139,1.985,140,1.765,143,4.165,144,1.688,151,5.323,160,2.601,161,6.249,162,3.935,164,4.363,180,5.188,186,3.859,243,6.992,277,3.876,286,10.368,349,5.802,350,4.266,358,5.15,376,5.104,568,7.854,809,7.362,928,12.856,2190,6.298,2476,8.809,2616,11.707,2967,13.177,3221,6.616,3407,8.809,4698,11.168]],["keywords/614",[]],["title/615",[4699,1413.703]],["content/615",[41,6.414,45,2.538,52,5.18,59,5.446,62,5.732,84,6.356,89,5.161,137,4.271,139,1.821,140,1.619,143,3.821,144,1.549,151,4.884,160,4.276,161,5.733,162,3.753,163,6.178,164,4.173,180,5.605,186,3.541,208,2.427,243,6.593,244,6.593,277,3.655,286,9.777,349,6.762,350,4.609,358,5.312,376,4.813,568,6.556,809,6.754,1330,7.942,2190,7.983,2476,8.082,2595,6.124,3221,6.07,3407,8.082,4698,10.246,4699,15.755,4700,12.409]],["keywords/615",[]],["title/616",[4606,1270.201]],["content/616",[41,7.437,45,2.942,52,5.448,62,4.81,84,6.129,89,5.985,137,4.952,139,2.111,140,1.877,143,4.431,151,5.663,160,2.767,161,6.648,162,3.996,164,4.499,180,5.405,277,4.038,286,10.804,349,6.046,350,4.445,358,5.311,376,5.318,568,7.244,809,7.831,2186,5.836,2190,6.7,3221,7.039,3407,9.371,4611,11.04]],["keywords/616",[]],["title/617",[4701,1413.703]],["content/617",[41,6.908,45,2.733,52,5.316,62,4.468,84,5.835,89,5.559,137,4.6,139,1.961,140,1.744,143,4.116,144,1.668,151,5.26,160,2.57,161,6.175,162,3.923,164,4.336,180,5.146,186,3.813,243,6.936,244,6.936,277,3.845,286,10.285,349,5.756,350,4.232,358,5.118,376,5.063,568,7.806,809,7.274,2186,5.421,2190,6.223,2476,8.705,2595,8.9,3221,6.538,3407,8.705,4701,16.574,4702,11.035]],["keywords/617",[]],["title/618",[4703,1413.703]],["content/618",[41,5.187,45,2.052,52,5.566,62,4.927,84,4.768,89,4.174,137,3.454,139,2.562,140,1.309,143,3.09,144,1.253,151,3.95,159,5.587,160,1.93,161,4.636,162,3.615,164,4.354,180,5.491,186,2.863,208,2.882,217,4.812,243,5.667,244,5.667,277,3.141,286,8.403,349,6.141,350,4.515,358,5.14,376,4.137,568,5.635,646,3.615,651,6.034,652,5.238,803,10.474,809,5.462,840,9.129,1089,6.536,1497,6.034,2041,10.186,2182,12.537,2186,4.07,2190,4.673,2476,6.536,2595,7.272,3183,7.273,3221,4.909,3407,6.536,3481,8.686,3530,7.966,4172,11.307,4268,8.403,4269,7.934,4703,13.542,4704,8.286,4705,12.755,4706,8.686,4707,12.755]],["keywords/618",[]],["title/619",[4393,1270.201]],["content/619",[5,2.479,7,6.11,40,9.54,45,1.908,52,5.297,62,5.593,137,3.211,138,3.672,139,2.455,140,1.822,143,4.299,144,1.743,151,3.672,160,2.685,161,4.31,162,3.406,164,4.433,180,5.299,185,4.564,186,2.662,208,1.825,219,4.927,231,8.075,235,8.573,243,5.369,277,2.976,324,5.692,336,3.65,349,4.455,350,4.357,358,3.5,376,3.919,423,7.447,568,5.339,646,5.03,669,6.314,698,6.306,1078,6.314,1084,4.776,1123,3.528,1409,8.395,1662,8.935,1900,5.256,2563,10.339,2628,6.597,2629,9.92,3175,7.406,3183,6.761,3221,4.564,4140,11.527,4268,7.961,4269,7.517,4393,18.365,4608,7.158,4694,20.44,4708,9.329,4709,9.329]],["keywords/619",[]],["title/620",[4611,1180.425]],["content/620",[45,2.654,51,4.652,52,5.03,62,4.34,137,4.468,139,2.595,140,1.694,144,1.62,151,5.109,158,5.201,160,2.496,161,5.997,162,3.805,164,4.272,180,5.738,186,3.704,243,6.8,244,6.8,277,3.769,349,5.643,350,4.718,358,4.434,376,4.964,568,7.69,643,5.907,683,9.96,803,9.624,806,7.697,1497,7.805,2182,10.345,2563,7.227,2573,8.613,2595,8.726,3183,9.407,3221,6.35,3530,10.304,4268,10.084,4269,9.52,4611,13.568]],["keywords/620",[]],["title/621",[4702,1270.201]],["content/621",[45,2.654,51,4.652,52,5.03,62,4.34,137,4.468,139,2.595,140,1.694,144,1.62,151,5.109,158,5.201,160,2.496,161,5.997,162,3.805,164,4.272,180,5.738,186,3.704,243,6.8,244,6.8,277,3.769,349,5.643,350,4.718,358,4.434,376,4.964,568,7.69,643,5.907,683,9.96,803,9.624,806,7.697,1497,7.805,2182,10.345,2563,7.227,2595,8.726,3183,9.407,3221,6.35,3530,10.304,4235,8.455,4268,10.084,4269,9.52,4702,14.6]],["keywords/621",[]],["title/622",[4710,1413.703]],["content/622",[45,2.685,52,4.712,62,4.39,137,4.52,140,1.713,144,1.639,151,5.168,158,5.262,160,2.525,161,6.067,162,3.973,164,4.609,180,6.191,186,3.747,243,6.854,244,6.854,277,3.799,349,5.688,350,4.747,351,6.538,358,5.688,376,5.003,425,8.644,568,7.736,795,5.845,2120,10.076,2563,7.311,2595,8.795,3221,6.424,4140,14.715,4710,16.378,4711,13.132,4712,16.378]],["keywords/622",[]],["title/623",[4713,1413.703]],["content/623",[41,7.033,45,2.782,52,5.348,62,4.549,84,5.906,89,5.66,137,4.684,139,1.997,140,1.775,143,4.19,144,1.699,151,5.355,160,2.617,161,6.287,162,3.858,164,4.376,180,5.209,186,3.882,243,7.02,244,7.02,277,3.891,286,10.41,349,5.826,350,4.283,358,5.165,376,5.124,568,7.878,809,7.406,2476,8.863,2595,9.008,3221,6.656,3407,8.863,4611,10.441,4713,16.775]],["keywords/623",[]],["title/624",[4714,1413.703]],["content/624",[41,7.033,45,2.782,52,5.348,62,4.549,84,5.906,89,5.66,137,4.684,139,1.997,140,1.775,143,4.19,144,1.699,151,5.355,160,2.617,161,6.287,162,3.858,164,4.376,180,5.209,186,3.882,243,7.02,244,7.02,277,3.891,286,10.41,349,5.826,350,4.283,358,5.165,376,5.124,568,7.878,697,6.656,2476,8.863,2595,9.008,3221,6.656,3407,8.863,4702,11.235,4714,16.775]],["keywords/624",[]],["title/625",[4715,1413.703]],["content/625",[41,5.257,45,2.08,52,5.582,62,4.976,84,4.815,89,4.23,137,3.501,139,2.582,140,1.327,143,3.132,144,1.27,151,4.003,159,5.662,160,1.956,161,4.699,162,3.514,164,4.378,180,5.526,186,2.902,208,2.911,217,4.86,243,5.723,244,5.723,277,3.172,286,8.487,349,6.181,350,4.544,358,5.168,376,4.177,568,5.691,646,3.664,651,6.116,652,5.309,803,10.542,809,5.536,840,9.219,1089,6.624,1497,6.116,2041,10.287,2182,12.597,2476,6.624,2595,7.344,3183,7.371,3221,4.975,3407,6.624,3481,8.803,3530,8.074,4172,11.419,4268,8.487,4269,8.013,4704,8.398,4705,12.881,4706,8.803,4707,12.881,4715,13.676]],["keywords/625",[]],["title/626",[4716,1413.703]],["content/626",[5,0.978,7,3.604,45,2.18,48,4.402,52,4.892,62,3.564,63,13.219,84,5.849,137,2.272,138,2.597,139,0.968,140,2.584,141,2.799,143,2.032,144,1.331,151,7.116,160,3.808,161,4.926,162,3.572,164,4.726,180,5.158,185,3.228,186,1.883,208,2.085,224,4.38,243,4.1,244,2.538,256,3.706,273,4.324,277,3.283,292,6.208,340,2.353,349,6.854,350,3.613,358,5.128,375,4.614,376,5.558,568,5.889,628,4.78,669,4.466,698,6.956,746,3.592,849,5.261,882,6.237,883,6.08,1150,4.888,1288,13.103,1294,3.811,1662,4.224,2090,8.066,2568,4.466,2595,3.257,2611,5.449,3140,8.584,3200,12.872,3425,4.298,3895,8.803,3896,8.803,3897,8.803,3898,8.803,3899,8.803,3906,5.449,4268,6.08,4269,3.553,4597,4.914,4598,6.71,4672,8.463,4716,9.797,4717,6.6,4718,5.449,4719,5.712,4720,5.712,4721,5.712,4722,5.712,4723,5.712,4724,5.712,4725,5.712,4726,5.712]],["keywords/626",[]],["title/627",[4727,1331.557]],["content/627",[5,0.961,7,4.096,45,2.15,48,4.671,52,4.865,62,3.515,63,13.145,84,5.803,137,2.232,138,2.553,139,0.952,140,2.567,143,1.997,144,1.312,151,7.059,160,3.783,161,4.857,162,3.555,164,4.704,180,5.117,186,1.85,208,2.056,224,4.329,243,2.494,244,2.494,256,3.654,273,4.264,277,3.25,292,6.753,340,2.312,349,6.818,350,3.577,358,4.736,375,5.737,376,5.522,568,5.829,628,4.713,669,4.389,698,6.886,746,3.53,806,3.846,830,4.303,849,5.188,882,6.15,883,5.995,1150,4.82,1288,12.999,1294,3.745,1662,4.151,2090,7.971,2120,8.066,2568,4.389,2595,3.2,2611,5.355,3140,9.756,3169,5.614,3200,12.795,3388,5.614,3895,8.68,3896,8.68,3897,8.68,3898,8.68,3899,8.68,3906,5.355,4268,5.995,4269,3.492,4597,4.829,4598,6.616,4672,8.345,4718,5.355,4719,5.614,4720,5.614,4721,5.614,4722,5.614,4723,5.614,4724,5.614,4725,5.614,4726,5.614,4727,11.473,4728,6.486]],["keywords/627",[]],["title/628",[4729,1413.703]],["content/628",[5,0.978,7,3.604,29,2.582,45,2.18,48,4.709,52,4.892,62,3.564,63,13.219,84,5.849,137,2.272,138,2.597,139,0.968,140,2.584,143,3.283,144,1.331,151,7.116,160,3.808,161,4.926,162,3.631,164,4.726,180,5.158,186,1.883,208,1.291,224,4.38,243,2.538,244,2.538,256,3.706,273,4.324,277,3.283,292,6.208,340,2.353,349,6.854,350,3.613,358,4.77,375,4.614,376,5.558,568,5.889,628,4.78,669,4.466,698,6.956,746,3.592,849,5.261,882,6.237,883,6.08,1150,4.888,1288,13.103,1294,3.811,1521,4.666,1662,4.224,2090,8.066,2190,3.073,2568,4.466,2595,3.257,2611,5.449,3140,9.856,3200,12.463,3895,8.803,3896,8.803,3897,8.803,3898,8.803,3899,8.803,3906,5.449,4268,6.08,4269,3.553,4597,4.914,4598,6.71,4672,8.463,4718,5.449,4719,5.712,4720,5.712,4721,5.712,4722,5.712,4723,5.712,4724,5.712,4725,5.712,4726,5.712,4727,5.712,4729,9.797,4730,6.6]],["keywords/628",[]],["title/629",[4731,1413.703]],["content/629",[5,2.132,20,7.919,45,2.942,48,3.747,52,3.351,137,6.521,140,1.877,144,1.796,160,2.767,161,6.648,162,3.919,164,4.782,185,7.039,186,4.105,243,5.533,259,6.7,277,4.515,333,7.164,349,4.592,358,5.311,392,10.174,513,13.535,568,5.502,647,8.106,676,5.909,920,9.208,938,8.309,1114,9.371,1125,18.333,4731,13.222,4732,18.945,4733,14.389]],["keywords/629",[]],["title/630",[4696,1331.557]],["content/630",[5,1.839,45,2.538,52,5.18,62,4.149,137,4.271,139,1.821,140,1.619,144,1.549,151,4.884,160,2.386,161,5.733,162,3.753,164,4.173,180,5.605,186,3.541,208,2.427,243,6.593,277,3.655,349,6.762,350,4.609,358,4.925,376,4.813,568,6.556,646,4.471,748,8.774,750,5.564,752,5.871,796,9.522,803,6.754,808,9.134,830,8.234,843,7.687,1497,7.462,1736,9.522,2182,11.492,3180,16.219,3221,6.07,3425,11.167,4269,9.231,4598,7.81,4696,14.84,4697,15.755,4734,12.409]],["keywords/630",[]],["title/631",[4704,1270.201]],["content/631",[45,2.188,52,5.572,62,5.163,137,3.683,139,2.266,140,1.396,144,1.336,151,4.212,159,5.958,160,2.058,161,4.944,162,3.577,164,4.468,180,5.17,186,3.053,208,3.02,217,5.043,243,5.939,244,5.939,277,3.292,349,6.712,350,4.251,358,5.274,376,4.335,568,5.905,646,3.855,651,6.435,652,5.586,671,4.798,803,11.448,806,6.346,808,9.652,840,9.566,1089,6.97,1497,6.435,2041,10.674,2182,13.217,2595,7.621,3183,7.756,3221,5.235,4172,11.849,4268,8.806,4269,8.314,4704,12.751,4705,13.366,4706,9.263]],["keywords/631",[]],["title/632",[4735,1413.703]],["content/632",[7,5.945,27,9.095,59,6.919,139,2.95,140,1.437,144,1.375,151,4.335,160,2.118,162,1.798,164,2.34,180,4.499,186,3.143,208,3.602,243,8.511,244,7.731,305,8.678,336,4.31,349,5.032,358,3.953,573,6.356,698,7.121,938,11.608,1019,6.098,1123,4.165,1187,7.789,1330,7.05,1335,7.614,1789,8.361,2168,12.14,2169,10.122,2174,12.516,2190,7.341,2548,6.933,2558,9.534,2563,6.133,2595,5.436,2596,8.452,2597,9.534,2672,10.122,2695,12.098,3199,10.122,3345,8.202,3995,9.095,4735,19.548,4736,11.015,4737,11.015,4738,11.015,4739,11.015,4740,15.767,4741,11.015,4742,11.015,4743,11.015,4744,11.015]],["keywords/632",[]],["title/633",[1383,1221.21]],["content/633",[7,4.829,29,4.128,45,2.158,52,5.469,62,3.528,139,3.301,140,1.377,144,1.317,151,4.153,160,2.029,161,4.875,162,3.559,164,3.818,180,3.011,186,3.011,201,9.575,204,6.409,208,2.064,219,5.395,230,6.483,232,5.075,243,5.878,244,4.058,277,3.258,333,5.253,336,4.128,349,6.96,350,3.586,358,3.833,376,4.291,568,5.845,573,4.254,646,7.1,803,8.32,806,12.932,808,5.621,1019,4.081,1123,3.99,1383,12.134,1789,6.358,2050,9.133,2120,8.096,2168,8.143,2182,13.16,2595,5.207,2695,8.096,4262,9.696,4384,9.696,4745,10.552,4746,10.552]],["keywords/633",[]],["title/634",[4747,1413.703]],["content/634",[41,7.682,45,3.039,59,6.522,139,2.839,140,1.939,144,1.855,160,2.858,161,6.867,162,3.955,164,4.571,180,5.521,186,4.241,187,5.528,243,5.716,244,5.716,277,4.125,350,4.54,358,4.852,877,10.058,1497,11.636,2602,12.271,4268,11.035,4269,10.419,4398,12.864,4613,15.362,4747,19.774,4748,14.863,4749,12.864]],["keywords/634",[]],["title/635",[52,358.338]],["content/635",[41,9.894,45,2.418,52,5.693,62,3.953,78,4.496,84,5.364,89,4.918,97,4.918,137,4.07,139,1.735,140,1.543,144,2.069,151,4.653,158,6.642,160,2.274,161,5.463,162,3.696,164,4.067,180,4.73,186,3.374,208,2.313,224,3.861,243,6.375,244,6.375,277,3.534,286,9.454,336,4.626,349,5.29,350,3.89,358,5.202,376,4.653,423,5.263,568,7.32,637,7.442,809,6.435,1123,4.471,1725,8.804,2476,7.701,2498,9.072,2563,6.583,2595,8.181,2629,7.011,3221,5.784,3407,7.701,4328,13.688,4686,10.865,4687,10.865,4688,10.865,4689,10.865]],["keywords/635",[]],["title/636",[65,769.966,2186,487.983]],["content/636",[5,2.723,64,6.202,65,14.144,203,10.478,2186,9.614,2222,15.171,3128,15.171,3168,15.903,4032,15.903,4134,14.665,4500,16.885,4750,18.374,4751,18.374]],["keywords/636",[]],["title/637",[1025,733.774]],["content/637",[1,2.067,2,5.496,5,3.338,7,1.86,35,3.387,52,3.688,59,4.862,75,2.956,89,2.88,91,4.034,96,4.105,102,2.114,110,4.224,139,3.304,140,1.446,141,4.7,142,3.479,144,1.977,145,6.304,150,3.038,160,1.331,162,1.808,164,2.943,173,3.017,180,1.975,181,3.777,186,1.975,196,4.829,202,6.502,204,2.469,206,5.717,208,2.167,225,3.458,227,2.954,231,5.993,240,3.795,252,3.199,256,2.407,265,2.25,279,2.293,295,9.591,297,6.362,308,5.496,321,3.082,337,2.17,349,3.536,350,1.624,352,5.337,353,2.976,362,3.358,376,3.11,443,3.651,455,3.855,494,3.768,564,8.865,573,2.791,628,3.104,676,2.843,700,5.584,775,2.304,812,3.855,813,2.937,912,4.786,937,3.728,957,5.966,958,3.447,966,6.76,1019,2.678,1025,10.742,1150,3.174,1386,4.686,1409,4.163,1464,5.155,1592,5.313,1714,9.795,1735,6.57,1759,5.496,1789,2.88,1818,6.399,1974,5.329,2003,5.717,2136,8.03,2186,4.494,2328,5.993,2504,5.313,2786,8.796,3121,4.594,3122,5.496,3243,5.717,3772,4.105,3875,8.25,4141,5.496,4337,5.993,4632,7.659,4752,6.362,4753,6.924,4754,6.924,4755,9.149,4756,11.08,4757,11.08,4758,11.08,4759,6.924,4760,6.924,4761,5.993,4762,6.924,4763,6.924,4764,11.08,4765,6.924,4766,6.924,4767,6.924,4768,5.717,4769,5.496,4770,6.924,4771,6.924,4772,6.924,4773,6.924,4774,6.924,4775,11.08,4776,6.924,4777,11.08,4778,6.924,4779,6.924,4780,6.924,4781,6.924]],["keywords/637",[]],["title/638",[4755,1270.201]],["content/638",[5,2.957,41,8.053,59,8.755,94,9.239,102,4.756,120,8.675,139,3.405,140,2.033,144,1.945,150,9.658,158,6.243,160,2.996,164,3.31,186,4.446,345,8.301,349,6.367,700,6.281,915,11.017,1025,7.432,1026,7.557,2381,10.77,4141,12.369,4359,16.473,4632,13.79,4755,12.865,4768,12.865,4782,15.581,4783,15.581,4784,15.581]],["keywords/638",[]],["title/639",[3122,1221.21]],["content/639",[5,2.761,59,10.18,102,4.283,120,7.811,139,2.734,140,1.831,144,1.751,145,8.479,153,5.427,158,5.622,160,2.698,164,2.98,180,4.003,186,4.003,219,4.952,256,4.877,322,6.245,349,6.676,358,3.518,376,5.23,855,7.903,915,9.921,1025,6.692,1151,11.647,1175,8.979,1307,11.929,1735,8.319,1818,8.102,2153,12.893,2381,9.698,3122,11.138,3875,10.447,4382,12.893,4632,12.879,4698,11.584,4768,11.584,4785,14.031,4786,14.031,4787,14.031]],["keywords/639",[]],["title/640",[1113,968.26]],["content/640",[5,2.996,48,4.144,59,6.982,102,4.857,120,8.858,139,2.967,140,2.076,144,1.986,158,6.375,160,3.06,180,4.54,186,4.54,349,5.078,350,3.733,855,6.748,915,11.25,1025,7.589,1113,15.529,2190,9.415,2381,10.998,3145,11.847,3875,11.847,4632,13.975,4788,14.621,4789,15.911,4790,15.911,4791,15.911]],["keywords/640",[]],["title/641",[4792,1331.557]],["content/641",[130,6.065,140,2.322,160,3.422,180,5.077,195,10.857,262,11.807,336,6.962,646,6.41,724,9.023,746,9.685,855,9.915,1025,10.339,2535,11.93,4793,17.897,4794,17.794,4795,16.352]],["keywords/641",[]],["title/642",[4793,1270.201]],["content/642",[5,2.716,37,4.577,59,8.044,102,4.179,120,7.622,139,3.376,140,1.786,142,6.878,144,1.709,158,5.485,160,2.633,164,2.908,170,12.162,179,6.816,186,3.906,217,4.47,219,4.831,336,5.356,349,5.849,614,6.53,646,6.603,700,5.519,724,6.942,746,7.451,855,7.774,915,9.68,1025,9.856,1026,6.64,1094,9.68,1841,11.938,2381,9.462,2535,7.535,4632,12.669,4668,11.849,4761,11.849,4792,15.865,4793,17.061,4795,16.844,4796,12.58,4797,12.58,4798,13.69]],["keywords/642",[]],["title/643",[4635,1270.201]],["content/643",[41,7.631,59,10.35,64,4.984,139,3.147,140,1.926,144,1.843,145,8.768,160,2.839,180,5.498,186,4.213,256,5.133,286,8.42,349,4.712,350,5.033,376,4.145,378,9.509,749,8.638,809,10.488,1025,7.043,1445,11.721,1735,11.426,1818,8.526,2586,6.875,3875,10.994,4269,7.95,4632,10.206,4635,12.191,4752,13.568,4768,12.191,4799,14.765,4800,13.568,4801,14.765,4802,14.765,4803,14.765]],["keywords/643",[]],["title/644",[224,502.358]],["content/644",[5,2.996,59,6.982,102,4.857,120,8.858,139,2.967,140,2.076,144,1.986,158,6.375,160,3.06,180,4.54,186,4.54,224,8.185,349,5.078,350,3.733,855,6.748,915,11.25,1025,7.589,2090,9.568,2190,9.415,2381,10.998,3145,11.847,3875,11.847,4632,13.975,4788,14.621,4804,15.911,4805,15.911]],["keywords/644",[]],["title/645",[2186,487.983,2775,798.304]],["content/645",[5,2.723,42,11.048,208,3.594,221,8.988,349,5.864,671,8.238,1168,13.316,1789,7.642,2186,7.452,2775,15.728,4238,12.435,4264,12.992,4591,13.681,4806,15.171,4807,16.885]],["keywords/645",[]],["title/646",[2775,1020.777]],["content/646",[42,9.99,108,10.633,140,2.168,160,3.195,164,4.414,178,9.594,221,8.127,643,7.56,1168,12.041,2186,9.635,2775,16.793,4238,11.244,4264,11.748,4268,11.849,4269,8.945,4597,12.371,4599,12.041,4806,13.718,4807,15.268]],["keywords/646",[]],["title/647",[4808,1413.703]],["content/647",[29,7.057,42,10.845,59,10.548,139,1.961,140,1.744,144,1.668,160,2.57,164,4.336,180,5.146,186,3.813,217,4.364,350,3.136,375,7.806,460,13.539,790,6.842,808,9.609,809,7.274,2170,14.892,2476,8.705,2563,10.041,2629,7.925,2649,8.553,2775,15.143,3191,11.568,3580,11.543,4238,12.206,4264,12.753,4591,13.43,4749,11.568,4808,16.574,4809,14.317,4810,12.282,4811,13.365,4812,13.365,4813,13.365]],["keywords/647",[]],["title/648",[4814,1331.557]],["content/648",[29,6.234,42,9.581,45,2.286,52,4.714,59,9.388,62,3.737,137,3.848,139,1.64,140,1.459,144,1.396,151,4.4,153,4.324,160,2.15,161,5.165,162,3.63,164,4.544,180,5.297,186,3.19,208,2.187,217,3.65,243,6.128,244,6.128,277,3.397,349,3.568,350,3.738,358,4.655,375,6.896,376,4.473,460,12.536,568,6.093,790,8.156,795,4.976,808,5.956,809,8.672,1168,8.102,1497,6.722,2170,13.156,2563,8.871,2595,5.517,2596,8.578,2629,6.629,2649,7.154,2775,13.428,3191,9.676,3221,7.795,3580,10.197,4238,10.783,4264,11.266,4591,8.324,4749,9.676,4809,8.874,4814,13.791]],["keywords/648",[]],["title/649",[2776,1331.557]],["content/649",[5,1.762,7,5.158,42,10.005,45,2.431,136,3.862,138,4.678,140,2.171,143,3.66,144,1.484,160,3.2,161,5.492,162,3.573,164,4.65,186,3.391,217,3.881,237,8.85,242,6.696,243,4.571,329,6.143,331,5.492,349,3.793,460,12.883,513,12.506,573,4.792,646,4.282,698,7.515,790,8.517,795,7.406,1019,4.597,1497,10.005,1789,9.105,2695,9.12,2775,13.8,2776,16.617,3580,10.649,4238,11.261,4264,11.765,4398,10.288,4680,17.642,4815,11.886,4816,10.923,4817,11.886,4818,11.886,4819,11.886,4820,11.886,4821,11.886]],["keywords/649",[]],["title/650",[2777,1331.557]],["content/650",[5,1.75,7,5.377,42,9.958,45,2.414,46,4.848,52,4.662,62,2.507,136,2.74,137,2.581,138,2.951,140,1.905,143,2.309,144,1.823,151,2.951,160,2.808,161,5.454,162,3.564,164,4.878,173,3.268,180,3.368,186,2.14,208,2.309,217,2.449,242,4.225,243,4.54,244,2.884,277,2.516,279,2.483,282,4.447,327,4.175,329,6.102,331,5.454,336,2.934,349,5.748,350,3.885,358,2.96,376,3.314,423,5.255,460,12.845,513,14.599,568,4.514,573,3.023,669,5.075,674,4.276,698,5.332,790,8.477,795,8.514,808,7.778,1019,2.9,1078,5.075,1123,2.836,1789,7.491,2695,5.754,2775,12.692,2777,10.218,3221,3.668,3388,6.491,3580,10.598,4174,6.491,4238,11.207,4264,11.709,4268,6.732,4269,6.356,4420,10.848,4816,10.848,4822,11.805,4823,11.805,4824,7.499,4825,6.891,4826,7.499]],["keywords/650",[]],["title/651",[4827,1413.703]],["content/651",[29,9.181,40,6.961,139,1.791,140,1.593,141,9.952,144,1.524,160,2.348,164,4.469,180,4.837,186,3.483,217,7.219,219,4.308,230,5.178,232,5.871,256,6.77,350,2.864,460,14.82,790,10.77,806,7.239,808,6.504,2563,9.438,2649,7.813,2775,15.181,3580,13.465,4269,9.127,4591,9.09,4598,7.683,4718,10.079,4809,9.691,4827,17.896,4828,19.474,4829,15.578]],["keywords/651",[]],["title/652",[4830,1413.703]],["content/652",[5,1.248,7,5.39,29,6.15,40,7.368,43,5.486,45,1.722,46,3.459,52,4.673,62,4.32,137,2.899,138,3.315,139,1.236,140,1.686,141,9.141,143,2.594,144,1.052,151,3.315,160,2.485,161,3.892,162,3.274,163,4.194,164,4.694,180,3.687,186,2.403,198,4.232,208,1.648,217,6.208,219,2.973,232,4.051,243,6.045,244,6.045,256,6.128,277,2.754,336,3.296,349,2.688,350,3.032,358,3.941,376,3.627,423,3.749,447,3.15,460,13.351,568,4.941,646,4.655,669,5.701,698,5.836,790,9.023,806,4.995,809,7.033,1078,5.701,1123,3.185,2563,10.585,2629,7.662,2775,13.313,3183,9.364,3221,4.121,3580,11.281,4174,13.606,4269,6.957,4591,6.272,4598,5.302,4608,6.463,4672,6.687,4707,7.291,4809,6.687,4814,7.291,4825,7.741,4829,11.874,4830,14.445,4831,12.921,4832,19.013]],["keywords/652",[]],["title/653",[4833,1413.703]],["content/653",[29,6.139,140,2.047,144,1.959,160,3.017,164,4.942,186,4.477,217,5.123,460,14.411,790,8.031,795,6.984,806,11.883,1662,10.041,2563,11.157,2649,10.041,2775,13.297,3580,12.825,4221,19.847,4591,11.682,4598,9.875,4712,18.415,4809,12.455,4810,14.418,4833,14.418]],["keywords/653",[]],["title/654",[136,279.23,144,150.19]],["content/654",[7,3.959,35,2.147,93,6.936,94,5.95,136,2.329,139,3.25,144,1.253,145,8.757,150,6.467,153,3.881,170,11.588,179,8.695,204,3.578,217,6.998,219,3.542,243,6.716,244,6.716,256,3.488,336,3.926,345,5.346,350,2.354,376,2.817,504,9.222,646,5.309,700,4.045,746,5.462,796,7.7,809,5.462,855,4.256,889,8.286,1025,7.029,1094,7.096,1175,6.422,1437,10.42,1735,11.411,1789,4.174,1818,5.795,1841,9.598,2148,6.536,2190,6.862,2535,5.523,2573,9.778,2967,12.657,3122,7.966,4235,6.536,4237,6.936,4600,10.973,4617,11.307,4632,13.302,4635,8.286,4698,12.167,4755,8.286,4761,12.755,4792,8.686,4793,12.167,4796,9.222,4797,9.222,4800,9.222,4834,10.035,4835,10.035,4836,10.035,4837,10.035,4838,10.035,4839,10.035,4840,10.035,4841,19.245,4842,14.737,4843,10.035,4844,10.035,4845,10.035,4846,10.035,4847,10.035]],["keywords/654",[]],["title/655",[83,543.687,352,271.764,934,479.104]],["content/655",[]],["keywords/655",[]],["title/656",[1989,1114.932]],["content/656",[]],["keywords/656",[]],["title/657",[314,757.233,316,814.224]],["content/657",[1,3.858,5,2.444,83,11.383,88,6.416,121,7.449,185,8.068,188,9.077,192,4.143,198,8.286,209,7.09,271,9.917,285,6.271,314,13.017,318,4.55,352,6.216,545,9.917,636,12.655,673,7.505,742,7.042,751,10.38,875,8.363,934,7.999,1201,10.063,1208,8.88]],["keywords/657",[]],["title/658",[5,146.397,352,271.764,353,424.621]],["content/658",[4,5.097,5,1.418,11,3.904,18,3.578,35,3.633,51,3.429,60,3.376,63,6.021,64,3.229,79,6.351,86,8.791,97,3.979,110,5.837,112,4.68,136,2.22,141,6.033,150,4.198,166,5.597,168,6.765,174,4.42,183,9.362,187,5.291,194,2.895,202,5.842,208,2.782,209,6.115,224,3.124,225,4.439,227,2.55,234,4.64,254,5.837,256,3.326,284,5.044,321,4.258,322,4.258,327,7.92,332,5.265,349,5.419,352,6.505,353,6.115,355,5.753,433,6.348,503,6.474,543,6.123,573,3.857,593,5.597,615,4.721,628,4.289,722,6.348,742,4.085,843,8.812,849,4.721,852,4.49,874,4.563,937,5.151,938,5.525,957,5.151,1021,6.765,1024,6.474,1025,9.586,1026,4.64,1031,6.348,1039,6.841,1055,6.231,1123,3.618,1259,6.474,1266,5.926,1376,8.281,1386,6.474,1729,7.341,1773,9.439,1930,7.594,1974,9.665,2159,4.563,2182,8.322,2391,7.123,2526,6.765,2771,5.926,3080,8.281,3128,7.899,3144,8.215,3669,10.915,3689,8.281,4127,6.348,4848,9.567,4849,9.567,4850,9.567,4851,9.567,4852,9.567]],["keywords/658",[]],["title/659",[208,235.32,376,337.717]],["content/659",[1,1.864,2,7.931,5,1.481,43,6.507,52,3.421,62,6.841,69,8.962,137,7.971,143,3.076,155,5.114,181,6.974,208,5.034,217,3.262,265,5.662,272,5.697,274,5.499,277,3.131,290,5.628,296,7.38,309,9.394,352,2.749,358,5.13,376,4.889,423,4.447,432,10.339,443,5.268,568,7.824,615,4.93,628,6.586,647,8.275,657,7.931,658,7.064,741,13.466,743,6.394,748,7.064,750,4.479,757,6.629,775,3.324,785,7.931,1153,4.447,1214,10.963,1448,6.394,1751,7.439,2222,8.249,2538,8.249,2623,7.439,2940,8.249,3123,12.714,3207,8.647,4853,9.991]],["keywords/659",[]],["title/660",[352,271.764,353,424.621,934,479.104]],["content/660",[1,3.967,5,3.417,79,8.623,91,6.28,129,8.438,143,5.312,240,7.284,279,5.713,352,4.746,353,7.415,433,11.446,545,10.372,554,8.83,671,9.536,934,8.366,1165,14.93,1294,9.961,2771,10.686]],["keywords/660",[]],["title/661",[1,156.3,3417,691.814,3698,665.131,4854,769.972]],["content/661",[1,3.099,5,2.462,35,3.554,79,6.213,143,5.116,208,3.25,240,7.765,320,10.137,352,5.716,353,8.931,434,7.191,637,10.457,817,13.189,818,12.041,934,10.077,977,13.546,1135,12.041,4854,15.268,4855,16.614,4856,13.718,4857,15.268,4858,15.268]],["keywords/661",[]],["title/662",[1,156.3,3417,691.814,3698,665.131,4859,837.897]],["content/662",[1,1.265,5,3.426,29,2.654,35,5.29,38,1.941,51,1.385,62,3.644,79,1.445,143,1.19,155,1.978,208,4.875,240,2.323,349,1.233,352,5.679,353,8.873,359,5.476,376,3.482,434,10.703,495,3.209,758,1.695,817,5.384,818,4.915,848,2.896,874,1.843,934,1.874,938,2.231,1135,18.718,1339,2.126,1390,3.344,3162,2.732,4353,3.067,4482,3.55,4565,3.067,4856,3.19,4857,3.55,4858,3.55,4860,10.898,4861,3.864,4862,6.232,4863,3.864,4864,3.19,4865,3.864,4866,3.864,4867,3.864,4868,3.864,4869,3.55,4870,3.864,4871,3.864,4872,3.864,4873,3.864,4874,6.232,4875,3.864,4876,3.55,4877,3.864,4878,3.864,4879,3.864,4880,3.344,4881,3.864,4882,3.864,4883,3.864,4884,6.232,4885,3.864,4886,3.864,4887,8.33,4888,3.864,4889,3.864,4890,3.864,4891,3.864,4892,18.796,4893,3.864,4894,6.232,4895,3.864,4896,3.864,4897,3.864,4898,3.864,4899,3.864,4900,3.864,4901,8.33,4902,3.864,4903,3.864,4904,3.864,4905,3.344,4906,3.864,4907,3.864,4908,3.864,4909,3.864,4910,3.864,4911,3.864,4912,3.344,4913,3.55,4914,3.864,4915,3.864,4916,3.864,4917,3.864,4918,3.864,4919,3.864,4920,3.864,4921,3.864,4922,3.864,4923,3.864,4924,3.864,4925,3.864,4926,3.55,4927,3.864,4928,3.55,4929,3.864,4930,3.344,4931,3.864,4932,3.864,4933,3.864,4934,3.864,4935,3.55,4936,3.864,4937,3.864,4938,3.864,4939,3.864,4940,3.864,4941,3.864,4942,3.864,4943,3.864,4944,3.864,4945,3.864,4946,3.864,4947,3.864,4948,3.864,4949,3.864,4950,3.344,4951,3.864,4952,3.864,4953,3.864,4954,3.864,4955,3.864,4956,3.864,4957,3.864,4958,3.864,4959,3.344,4960,3.864]],["keywords/662",[]],["title/663",[64,333.439,757,655.452,4134,655.452]],["content/663",[52,4.659,64,6.752,194,6.054,240,6.851,352,5.503,676,8.215,749,11.703]],["keywords/663",[]],["title/664",[718,1020.777]],["content/664",[5,1.601,48,2.814,52,5.584,60,3.813,64,6.725,84,3.496,139,3.465,140,1.41,144,2.274,153,4.179,164,4.232,180,5.685,181,3.682,192,3.115,194,3.27,219,3.813,227,2.88,318,3.421,349,3.448,350,4.274,362,5.24,376,3.033,396,7.639,568,4.131,574,9.22,580,12.343,626,6.8,720,7.312,749,6.321,758,4.741,775,3.595,795,6.921,1065,7.639,1148,7.639,1150,7.129,1263,5.64,1480,12.838,2397,12.838,2490,13.459,3879,9.352,3957,7.037,4122,12.838,4134,10.317,4221,8.921,4507,21.307,4961,10.804,4962,9.928,4963,9.928,4964,9.928,4965,9.928,4966,9.928,4967,15.549]],["keywords/664",[]],["title/665",[4501,1413.703]],["content/665",[5,1.632,52,4.682,60,3.887,64,6.785,139,3.481,140,1.437,144,2.299,153,4.26,155,5.639,164,4.27,180,5.735,181,7.944,192,3.158,194,3.334,227,2.936,318,3.469,349,3.515,350,4.32,396,7.789,574,9.349,580,12.453,720,7.455,749,6.444,758,4.834,775,5.246,892,13.018,1065,7.789,1148,7.789,1150,7.229,1263,5.75,1480,13.018,1901,12.098,2397,13.018,2490,13.647,3879,13.647,4122,13.018,4134,10.462,4221,9.095,4962,10.122,4963,10.122,4964,10.122,4965,10.122,4966,10.122,4968,11.015,4969,23.307]],["keywords/665",[]],["title/666",[4511,1331.557]],["content/666",[]],["keywords/666",[]],["title/667",[4512,1331.557]],["content/667",[]],["keywords/667",[]],["title/668",[4513,1331.557]],["content/668",[41,5.353,52,5.339,59,9.51,64,5.091,112,7.378,130,3.53,139,3.484,140,1.351,144,1.883,192,3.021,198,11.93,217,3.382,227,2.761,240,3.548,318,3.318,447,8.88,574,6.142,775,3.446,855,6.397,1019,5.833,1025,8.483,1208,9.576,1900,5.835,2467,19.913,2586,7.022,4133,8.222,4511,8.965,4512,8.965,4513,8.965,4970,10.358,4971,15.081,4972,17.785,4973,10.358,4974,10.358,4975,10.358,4976,9.518,4977,10.358,4978,15.081,4979,22.922,4980,15.081,4981,15.081,4982,15.081]],["keywords/668",[]],["title/669",[4211,1413.703]],["content/669",[45,3.735,61,7.382,136,5.896,137,6.287,139,3.521,140,1.416,144,1.948,162,1.772,164,2.306,180,4.452,192,3.126,227,4.159,256,3.774,318,3.433,331,7.209,333,5.405,350,2.547,362,5.265,442,6.624,563,5.611,594,5.909,642,7.912,775,3.612,836,6.528,848,4.635,920,6.948,934,5.265,1150,4.978,1207,5.909,1216,9.397,1291,13.777,1401,7.504,1458,8.33,2301,10.638,2554,8.964,2586,7.265,4215,9.397,4983,15.603,4984,13.505,4985,10.856,4986,9.397,4987,9.397,4988,15.603,4989,10.856,4990,15.603,4991,15.603,4992,10.856,4993,10.856,4994,14.338,4995,10.856,4996,9.976]],["keywords/669",[]],["title/670",[4228,1270.201]],["content/670",[45,3.994,48,4.432,61,8.05,102,3.747,136,5.645,139,3.094,140,1.601,144,2.124,162,2.003,181,6.657,192,3.409,209,5.276,227,3.272,256,4.267,318,3.743,331,7.862,333,6.111,594,6.681,642,8.628,679,11.761,848,7.265,892,10.134,1115,8.144,1291,7.994,1401,8.484,2554,10.134,3150,7.855,4614,15.703,4984,10.624,4986,10.624,4987,10.624,4997,12.274,4998,12.274,4999,11.279,5000,19.531,5001,17.016,5002,12.274,5003,17.016,5004,12.274,5005,17.016,5006,17.016,5007,12.274,5008,12.274,5009,12.274,5010,12.274]],["keywords/670",[]],["title/671",[5011,1538.415]],["content/671",[45,4.486,58,6.126,102,4.724,130,5.274,136,5.372,139,2.914,140,2.019,144,1.932,162,2.525,192,3.979,227,4.125,256,5.379,318,4.37,331,9.177,333,7.704,571,6.52,594,8.422,637,9.739,1291,10.079,1401,10.696,2301,10.582,4228,12.777,4984,13.394,4986,13.394,4987,13.394,5012,15.474,5013,15.474,5014,15.474,5015,15.474,5016,15.474]],["keywords/671",[]],["title/672",[5017,1413.703]],["content/672",[]],["keywords/672",[]],["title/673",[5018,1413.703]],["content/673",[1,1.515,28,5.885,29,3.177,41,6.492,45,1.66,64,2.741,88,3.159,89,3.377,91,2.956,102,2.479,112,8.458,130,2.768,136,5.709,139,3.208,140,2.256,142,7.718,144,1.568,152,2.728,153,6.687,162,1.325,192,3.077,194,2.457,209,3.49,217,2.652,227,3.348,240,4.302,279,2.689,318,2.764,333,4.043,340,2.895,349,2.591,376,3.526,404,3.123,443,4.281,447,4.698,621,4.372,752,7.268,775,2.702,842,5.613,855,7.333,958,4.043,1115,10.193,1135,5.885,1174,5.742,1218,9.104,1224,7.553,1249,5.742,1397,6.231,1709,6.492,1830,5.613,2353,7.028,2421,8.76,2586,9.206,3940,11.543,4167,13.922,4215,10.872,4226,11.543,4228,6.705,4237,5.613,4913,11.543,4926,11.543,4994,11.543,4996,11.543,5017,7.462,5018,7.462,5019,8.12,5020,12.562,5021,17.29,5022,12.562,5023,12.562,5024,12.562,5025,8.12,5026,8.12,5027,8.12,5028,8.12,5029,12.562,5030,12.562,5031,12.562,5032,8.12,5033,12.562,5034,12.562,5035,8.12,5036,8.12,5037,15.362]],["keywords/673",[]],["title/674",[64,333.439,88,384.268,187,367.418]],["content/674",[64,6.874,240,6.975,1224,12.246,1266,12.615,3137,16.166]],["keywords/674",[]],["title/675",[574,912.212]],["content/675",[64,7.213,112,10.453,139,3.135,140,2.268,144,2.17,192,4.281,227,4.634,318,4.701,349,5.547,574,10.307,874,8.291,1025,8.291,1498,14.461,3121,11.534,4976,15.974,5038,17.383,5039,17.383,5040,17.383]],["keywords/675",[]],["title/676",[35,329.08]],["content/676",[9,7.855,35,4.896,45,3.984,88,7.58,187,7.247,240,6.674,700,7.855,813,8.264,1731,14.951]],["keywords/676",[]],["title/677",[937,828.284]],["content/677",[29,3.035,35,4.336,45,1.586,52,3.929,60,2.738,138,3.053,139,2.974,140,2.645,144,1.513,145,5.516,153,5.771,162,3.423,163,3.862,165,4.132,166,4.538,179,6.036,180,2.213,189,3.071,192,2.989,204,6.918,219,7.403,227,3.231,230,8.897,291,5.952,292,3.127,318,2.667,340,2.766,350,1.82,362,3.762,376,4.189,568,2.966,700,3.127,702,4.964,790,6.205,795,8.636,1092,3.357,1123,2.933,1264,7.712,1302,6.714,1409,7.289,1735,7.188,1743,10.098,1744,11.111,1746,10.814,1747,12.32,1899,10.261,3957,5.052,4381,13.928,4415,10.493,4495,9.623,5041,16.87,5042,8.204,5043,16.545,5044,13.662,5045,7.351,5046,7.396,5047,13.928,5048,13.928,5049,8.786,5050,14.922,5051,7.757,5052,7.757]],["keywords/677",[]],["title/678",[1715,1413.703]],["content/678",[5,1.208,11,3.326,29,3.189,35,4.561,45,2.576,52,4.035,60,2.876,106,4.297,138,3.207,139,1.848,140,2.782,144,1.572,145,5.732,150,3.576,153,4.872,162,3.48,163,4.057,165,4.342,166,4.768,179,6.272,189,3.226,192,2.523,204,6.176,219,7.525,227,3.358,230,9.044,268,10.416,292,3.285,302,3.887,318,2.771,321,3.628,340,2.906,350,1.912,362,3.953,376,4.322,568,3.116,700,5.078,702,5.215,790,6.448,803,4.436,1092,3.527,1123,3.082,1264,6.511,1337,6.469,1409,7.574,1735,7.469,1743,8.525,1744,9.379,1746,9.129,1747,10.4,1899,10.431,3957,5.308,4495,9.999,5042,8.525,5043,16.742,5044,13.888,5045,7.549,5046,7.686,5047,14.303,5048,14.303,5049,5.906,5053,6.729,5054,17.323,5055,12.597,5056,12.597]],["keywords/678",[]],["title/679",[1716,1413.703]],["content/679",[5,1.317,11,3.627,29,3.478,35,4.8,45,1.818,52,4.221,60,3.137,94,7.982,106,4.686,138,3.498,139,2.384,140,2.673,144,1.11,153,5.206,162,3.577,163,4.425,165,4.735,166,5.2,179,6.702,189,3.519,192,2.697,204,4.8,219,7.736,227,3.588,230,9.297,292,3.583,302,4.239,318,2.961,321,3.956,340,3.169,350,2.085,362,4.311,376,2.495,568,3.399,700,3.583,702,5.688,790,6.891,1092,3.847,1123,3.361,1264,6.957,1409,8.094,1899,10.722,2534,6.618,2542,5.789,2842,6.618,3345,6.618,3957,5.789,4359,7.339,5042,9.11,5043,17.078,5044,14.276,5045,7.898,5046,8.213,5047,14.964,5048,14.964,5049,6.442,5057,18.123,5058,8.888,5059,8.888,5060,8.168]],["keywords/679",[]],["title/680",[1717,1413.703]],["content/680",[5,1.186,11,3.267,29,3.132,35,4.656,45,1.637,52,3.997,60,2.825,94,7.366,106,4.221,138,3.15,139,1.823,140,2.766,144,1.551,145,5.653,150,3.513,153,4.805,162,3.46,163,3.985,165,4.264,166,4.683,179,6.185,189,3.169,192,2.489,204,6.118,219,7.481,227,3.312,230,8.991,268,10.317,292,3.227,302,3.818,318,2.733,321,3.563,340,2.854,350,1.878,362,3.882,376,4.273,399,6.609,568,3.061,700,3.227,702,5.123,790,6.359,803,4.357,1092,3.464,1123,3.027,1264,6.421,1409,7.47,1735,7.366,1743,8.407,1744,9.25,1746,9.003,1899,10.37,2534,5.96,2542,5.214,2842,5.96,3345,5.96,3957,5.214,4365,10.753,5042,8.407,5043,16.671,5044,13.807,5045,7.477,5046,7.58,5047,14.167,5048,14.167,5049,5.801,5053,6.609,5061,17.158,5062,12.423,5063,12.423,5064,12.423]],["keywords/680",[]],["title/681",[5065,1538.415]],["content/681",[29,3.321,35,4.48,45,1.735,52,4.122,60,2.995,138,3.34,139,1.907,140,2.625,144,1.622,145,5.914,153,5.026,162,3.526,163,4.225,165,4.521,166,4.965,179,6.47,189,3.36,192,2.603,204,6.31,219,7.624,225,2.648,227,3.464,230,9.163,292,3.421,302,4.048,318,2.859,340,3.026,350,1.991,362,4.116,376,4.433,568,3.245,646,4.682,700,3.421,702,5.431,741,5.342,790,6.652,795,7.877,1092,3.673,1123,3.209,1264,6.717,1409,7.815,1735,7.706,1743,8.795,1744,9.677,1746,9.418,1899,10.568,2451,9.677,3957,5.528,5042,8.795,5043,16.901,5044,14.071,5045,9.415,5046,7.929,5049,6.151,5066,17.697,5067,14.611,5068,12.996,5069,12.996]],["keywords/681",[]],["title/682",[5070,1538.415]],["content/682",[5,1.199,11,3.302,29,3.166,35,4.55,45,2.562,52,4.02,60,2.855,106,4.266,138,3.184,139,1.838,140,2.776,144,1.564,145,5.7,150,3.551,153,4.845,162,3.472,163,4.028,165,4.31,166,4.733,179,6.237,189,3.203,192,2.509,204,6.153,219,7.508,225,2.525,227,3.339,230,9.023,268,10.377,292,3.262,302,3.859,318,2.756,321,3.602,340,2.885,350,1.898,362,3.924,376,4.302,568,3.094,646,4.513,700,5.05,702,5.178,741,5.092,790,6.412,803,4.404,1092,3.502,1123,3.059,1264,6.474,1337,6.423,1409,7.532,1735,7.428,1743,8.478,1744,9.327,1746,9.078,1899,10.406,2451,9.327,3957,5.27,5042,8.478,5043,16.714,5044,13.855,5045,9.27,5046,7.643,5049,5.864,5053,6.68,5067,14.248,5071,17.257,5072,12.527,5073,12.527]],["keywords/682",[]],["title/683",[5074,1538.415]],["content/683",[5,1.307,11,3.599,29,3.45,35,4.79,45,1.803,52,4.205,60,3.112,94,7.935,106,4.65,138,3.471,139,2.373,140,2.665,144,1.101,153,5.175,162,3.569,163,4.391,165,4.698,166,5.159,179,6.662,189,3.491,192,2.681,204,4.771,219,7.717,225,2.752,227,3.567,230,9.274,292,3.555,302,4.206,318,2.944,321,3.925,340,3.144,350,2.069,362,4.277,376,2.475,568,3.372,700,3.555,702,5.644,741,5.55,790,6.85,1092,3.817,1123,3.335,1264,6.916,1409,8.046,1899,10.696,2534,6.566,2542,5.744,2842,6.566,3345,6.566,3957,5.744,4359,7.281,5042,9.056,5043,17.048,5044,14.242,5045,9.529,5046,8.164,5049,6.391,5060,8.104,5067,14.904,5075,18.051,5076,8.819,5077,8.819]],["keywords/683",[]],["title/684",[5078,1538.415]],["content/684",[5,1.178,11,3.244,29,3.11,35,4.646,45,1.625,52,3.981,60,2.805,94,7.326,106,4.191,138,3.128,139,1.813,140,2.759,144,1.542,145,5.622,150,3.488,153,4.779,162,3.451,163,3.957,165,4.234,166,4.65,179,6.151,189,3.147,192,2.475,204,6.094,219,7.835,225,2.48,227,3.293,230,8.97,268,10.278,292,3.204,302,3.791,318,2.718,321,3.538,340,2.834,350,1.865,362,3.855,376,4.254,399,6.563,568,3.039,700,3.204,702,5.087,741,5.003,790,6.324,803,4.326,1092,3.44,1123,3.006,1264,6.386,1330,7.907,1409,7.429,1735,7.326,1743,8.361,1744,9.199,1746,8.954,1899,10.345,2534,5.918,2542,5.177,2842,5.918,3345,5.918,3957,5.177,5042,8.361,5043,16.643,5044,13.774,5045,9.216,5046,7.538,5049,5.761,5053,6.563,5067,14.113,5079,17.093,5080,12.355,5081,12.355]],["keywords/684",[]],["title/685",[5082,837.897,5083,607.247,5084,837.897,5085,837.897]],["content/685",[35,4.358,52,2.643,61,5.369,62,6.259,139,2.363,140,2.101,144,2.01,145,8.518,150,4.98,164,3.421,180,3.238,181,3.868,192,3.226,204,5.742,207,6.176,209,4.878,224,3.706,227,4.293,230,4.813,243,4.364,279,3.758,318,3.543,321,5.051,350,3.778,376,4.521,568,6.158,620,5.701,646,4.088,774,6.553,790,9.583,795,7.168,803,6.176,937,6.11,978,5.551,1150,7.384,1711,7.262,1735,9.549,1752,8.224,2148,7.391,2434,7.391,2451,8.45,2586,5.284,2603,9.369,2606,9.822,4495,12.784,5086,16.105,5087,16.105,5088,11.348,5089,11.348,5090,11.348,5091,16.105,5092,11.348,5093,11.348,5094,11.348,5095,11.348,5096,8.45,5097,10.428,5098,11.348,5099,11.348,5100,11.348,5101,11.348,5102,11.348,5103,16.105,5104,11.348,5105,11.348]],["keywords/685",[]],["title/686",[5106,1538.415]],["content/686",[48,6.355,62,7.554,139,3.035,140,2.152,144,2.059,162,3.375,181,5.621,192,4.526,227,4.396,317,5.901,318,4.55,700,9.109,1899,8.068,5107,16.493,5108,16.493,5109,11.953,5110,16.493]],["keywords/686",[]],["title/687",[4874,769.972,5083,607.247,5111,592.457,5112,837.897]],["content/687",[35,3.482,45,3.329,133,7.252,139,3.851,140,1.503,144,2.032,145,7.408,146,5.129,160,2.216,162,3.081,172,6.203,192,3.261,204,5.804,227,3.071,232,5.541,243,6.26,277,2.456,318,3.581,358,2.889,455,6.415,593,6.74,646,4.151,775,5.417,1092,4.987,1296,7.645,1709,9.756,1752,8.35,1841,10.603,2013,6.832,2148,7.504,2466,9.513,2542,7.504,2586,5.365,2973,9.513,5045,5.021,5096,8.579,5113,11.522,5114,17.346,5115,16.279,5116,10.588,5117,8.841,5118,10.588,5119,9.973,5120,9.513,5121,9.146,5122,9.146,5123,9.146,5124,10.588,5125,9.973]],["keywords/687",[]],["title/688",[5083,607.247,5126,837.897,5127,769.972,5128,837.897]],["content/688",[35,3.31,45,4.062,139,3.512,140,2.019,144,2.48,162,3.58,192,3.979,204,7.082,227,4.125,318,4.37,775,5.149,1092,6.697,1709,7.998,1841,12.937,2013,9.176,2586,7.205,5045,6.744,5114,20.158,5124,14.22,5129,15.474,5130,19.863,5131,19.863,5132,19.863]],["keywords/688",[]],["title/689",[4880,725.232,5083,607.247,5111,592.457,5133,837.897]],["content/689",[35,3.396,45,2.275,133,7.001,139,3.847,140,1.451,144,1.982,145,7.225,146,4.952,160,2.139,162,3.485,172,5.989,192,3.181,204,5.661,227,2.965,232,5.35,243,6.106,277,3.947,318,4.073,358,2.789,455,6.193,646,4.007,775,3.701,1092,4.814,1296,7.381,1752,8.062,1841,10.341,1899,5.442,2148,7.245,2466,9.185,2542,7.245,2586,5.18,2973,9.185,4415,13.743,5045,8.069,5096,8.283,5116,10.222,5117,8.535,5118,10.222,5119,9.628,5120,9.185,5121,8.83,5122,8.83,5123,8.83,5125,9.628,5134,15.878,5135,6.596,5136,8.062,5137,18.515,5138,15.878,5139,11.124]],["keywords/689",[]],["title/690",[5083,607.247,5111,592.457,5140,837.897,5141,837.897]],["content/690",[35,3.775,45,2.089,52,3.478,94,6.058,139,3.594,140,2.532,144,1.864,145,8.03,146,4.548,152,3.432,158,4.094,160,1.965,162,3.635,164,2.17,172,5.501,183,5.087,189,4.045,192,2.991,204,5.324,213,5.23,214,4.955,219,3.606,227,2.723,318,3.285,350,2.397,376,4.953,423,4.548,455,5.688,646,6.357,651,6.144,652,5.333,775,3.4,833,8.843,1092,4.422,1105,6.43,1175,9.556,1409,10.611,1818,10.19,1899,7.304,2224,12.924,2586,4.757,2973,8.436,4365,8.843,5042,6.914,5045,8.459,5046,6.234,5117,7.839,5125,8.843,5142,14.932,5143,10.217,5144,9.389,5145,14.932,5146,10.217,5147,10.217,5148,10.217,5149,9.389,5150,10.217,5151,10.217,5152,10.217,5153,10.217,5154,10.217,5155,9.389,5156,10.217,5157,10.217,5158,10.217,5159,10.217,5160,10.217,5161,10.217,5162,10.217]],["keywords/690",[]],["title/691",[5163,1538.415]],["content/691",[45,2.483,49,5.84,62,4.059,139,3.643,140,1.584,144,2.108,145,5.525,162,3.426,180,3.464,181,4.138,188,6.683,192,3.89,204,6.021,224,3.965,227,3.237,243,4.669,277,4.994,318,3.715,455,6.76,774,12.121,775,4.04,1092,5.255,1247,8.393,1752,8.8,1899,5.94,2148,7.908,2223,13.944,2586,5.654,2603,10.025,2606,10.509,3177,11.158,4880,10.509,5045,5.291,5096,9.041,5097,11.158,5135,7.2,5136,8.8,5164,16.888,5165,15.519,5166,16.888,5167,12.142,5168,12.142,5169,12.142,5170,12.142,5171,12.142,5172,10.509,5173,16.888,5174,12.142]],["keywords/691",[]],["title/692",[5175,1538.415]],["content/692",[35,5.013,45,2.701,94,13.478,102,4.032,139,2.977,140,2.648,144,2.234,153,5.109,162,3.55,164,3.801,173,5.756,189,5.229,192,3.584,204,7.235,227,3.521,318,3.936,336,5.168,376,5.023,379,8.939,423,5.88,455,7.354,775,4.395,1092,5.717,1150,6.056,1175,11.451,1409,10.759,1411,11.433,1743,12.109,2013,7.832,2586,6.15,5042,8.939,5045,7.798,5046,8.059,5176,13.209,5177,12.138,5178,17.893,5179,13.209]],["keywords/692",[]],["title/693",[5180,1538.415]],["content/693",[35,4.501,45,2.496,52,5.329,62,5.667,75,7.238,102,3.727,137,4.202,139,2.857,140,2.745,144,2.116,162,3.734,174,5.64,192,3.901,204,6.044,227,3.254,277,2.602,285,4.642,318,4.284,376,5.466,568,4.668,775,4.062,1092,5.283,1118,8.262,1374,7.448,1738,12.285,1743,11.472,1745,15.578,2586,5.684,2601,10.566,2602,10.079,2603,10.079,2604,11.218,2605,10.566,3221,5.972,5045,8.487,5046,7.448,5144,11.218,5177,11.218,5181,12.208,5182,12.208,5183,12.208,5184,12.208,5185,16.952,5186,12.208,5187,11.218]],["keywords/693",[]],["title/694",[5188,1413.703]],["content/694",[35,5.118,45,4.52,139,3.51,140,1.593,144,1.524,145,5.555,162,3.965,174,8.998,189,7.71,192,3.396,224,7.933,227,3.254,243,6.519,318,3.729,775,6.48,1092,5.283,1118,15.484,1719,17.896,1743,8.262,2148,12.684,5046,7.448,5188,11.218,5189,12.208,5190,14.672,5191,16.952]],["keywords/694",[]],["title/695",[5192,1538.415]],["content/695",[35,4.926,45,3.121,84,6.37,139,3.379,140,1.992,144,1.906,145,6.946,162,3.758,174,9.097,192,3.944,224,6.43,227,4.069,243,5.87,318,4.332,340,5.443,775,5.079,1092,6.607,1899,7.467,2223,12.604,3666,14.028,5042,10.331,5045,9.498,5046,9.314,5193,19.69,5194,15.265]],["keywords/695",[]],["title/696",[208,235.32,1207,654.836]],["content/696",[64,6.813,65,12.916,194,6.108,208,3.948,240,6.913,358,5.06]],["keywords/696",[]],["title/697",[150,367.699,5195,837.897,5196,837.897,5197,837.897]],["content/697",[5,2.449,45,1.869,60,3.226,62,3.056,102,2.79,135,5.496,139,2.425,140,1.193,144,1.716,145,10.485,150,6.033,162,3.38,181,3.115,183,4.551,189,5.443,192,3.31,203,5.212,204,8.215,208,4.424,227,2.436,244,8.861,277,2.931,318,3.636,321,6.12,332,5.031,340,3.259,352,4.546,358,5.543,376,5.16,544,5.753,722,9.122,758,6.033,1092,3.956,1208,4.921,1330,14.746,1374,5.577,1899,8.084,2135,5.753,2548,5.753,3144,5.278,3162,6.463,3414,12.44,5135,5.42,5190,7.911,5198,12.634,5199,9.14,5200,5.953,5201,9.14,5202,16.892,5203,13.748,5204,13.748,5205,13.748,5206,6.318]],["keywords/697",[]],["title/698",[5207,1413.703]],["content/698",[5,2.337,45,2.252,52,4.682,62,5.271,102,3.363,135,6.624,139,2.313,140,1.437,144,1.968,150,4.834,162,3.612,181,3.754,183,5.484,192,3.689,208,4.329,227,2.936,244,7.731,251,11.427,277,3.361,318,4.051,350,2.584,352,3.03,358,5.549,376,4.426,544,6.933,568,6.029,1092,4.767,1208,5.931,1254,8.991,1260,12.098,1299,12.453,1374,6.721,1488,10.898,1899,7.713,2135,6.933,2548,6.933,3144,6.361,4565,8.744,4567,15.204,5044,7.174,5045,4.8,5135,6.532,5198,10.122,5200,7.174,5206,7.614,5207,10.122,5208,11.015,5209,9.534,5210,9.534,5211,20.102,5212,14.489,5213,15.767]],["keywords/698",[]],["title/699",[4551,1270.201]],["content/699",[5,2.953,29,4.227,37,5.199,38,5.428,91,3.933,102,3.298,135,6.497,139,3.402,140,1.41,143,3.327,144,1.941,145,4.916,150,7.994,151,6.12,164,2.295,180,3.083,181,3.682,183,5.379,192,3.649,196,7.938,204,5.544,205,11.981,209,4.644,222,6.497,226,5.531,227,4.856,240,3.701,244,5.98,265,3.512,272,6.161,274,5.947,318,3.421,321,4.809,326,6.693,352,2.972,493,7.312,754,6.497,758,4.741,1038,7.037,1208,5.817,1211,13.434,1297,7.639,2548,6.8,2595,5.332,2836,8.577,3144,6.239,3414,7.312,3772,13.037,4332,9.352,4337,9.352,4502,14.289,4550,8.577,4551,12.838,5214,10.804,5215,10.804,5216,15.549,5217,10.804,5218,10.804,5219,9.352,5220,10.804,5221,9.352,5222,9.352]],["keywords/699",[]],["title/700",[5223,1538.415]],["content/700",[1,2.736,20,8.074,139,2.152,140,2.503,144,2.395,162,2.394,192,3.844,204,5.23,227,3.91,240,8.061,318,4.221,333,7.304,352,4.036,937,7.898,1213,15.496,1214,12.076,1299,9.087,1409,11.537,1742,15.231,1743,12.985,1746,13.905,1747,15.842,1974,9.228,5045,6.393,5190,12.697,5224,14.669,5225,14.669,5226,14.669,5227,14.669,5228,19.187]],["keywords/700",[]],["title/701",[938,483.853,1748,691.814,1749,769.972,1750,769.972]],["content/701",[45,1.982,52,5.445,62,4.801,75,4.137,137,3.335,139,3.619,140,1.874,144,1.793,162,3.575,181,3.303,192,3.428,200,6.099,208,3.952,227,2.583,244,8.989,251,16.941,277,3.061,318,3.764,340,5.12,350,2.274,358,5.066,376,4.803,568,3.705,1092,4.194,1374,5.912,1748,11.857,1757,11.857,1899,7.025,2460,15.02,3221,4.74,4300,13.197,5045,8.246,5135,5.746,5136,7.023,5200,6.311,5206,6.698,5229,14.361,5230,8.905,5231,14.361,5232,14.361,5233,14.361,5234,14.361,5235,14.361,5236,14.361]],["keywords/701",[]],["title/702",[5237,1538.415]],["content/702",[45,3.1,62,5.069,139,3.49,140,1.978,144,1.893,162,3.748,188,8.345,192,3.927,227,4.042,277,5.07,318,4.313,455,8.441,774,12.546,775,5.045,1092,6.562,1247,10.48,1899,7.417,5045,6.608,5135,8.991,5136,10.989,5165,18.015,5238,13.933,5239,19.604,5240,15.162,5241,11.634,5242,15.162]],["keywords/702",[]],["title/703",[5243,1538.415]],["content/703",[37,4.266,45,2.609,52,4.071,62,4.266,78,4.852,137,6.016,139,2.925,140,2.28,144,2.182,158,5.113,162,3.785,181,4.349,192,3.993,208,2.496,227,3.401,277,4.249,318,4.385,340,6.231,350,2.994,358,3.199,376,5.595,423,5.68,568,4.879,775,5.815,1065,9.023,1092,5.523,1374,7.785,1709,9.033,1755,10.129,1899,6.242,3221,6.242,5045,8.687,5135,7.566,5136,9.248,5241,13.41,5244,12.76,5245,11.045,5246,17.477,5247,13.874,5248,17.477,5249,17.477,5250,12.76]],["keywords/703",[]],["title/704",[642,500.911,5111,698.474,5251,987.834]],["content/704",[5,2.054,7,3.723,9,5.586,51,4.967,52,5.381,78,5.269,139,3.616,140,1.808,144,1.73,158,5.553,181,4.723,192,3.702,200,8.722,208,3.614,227,3.694,277,2.954,309,6.779,318,4.065,340,6.589,358,5.213,376,5.187,423,6.169,646,4.992,673,6.306,757,9.195,775,4.611,1709,7.163,3914,12.735,5187,12.735,5245,11.995,5252,15.995,5253,13.858,5254,13.858,5255,13.858,5256,13.858,5257,13.858,5258,18.48]],["keywords/704",[]],["title/705",[4876,769.972,5083,607.247,5111,592.457,5259,837.897]],["content/705",[45,3.974,139,3.818,140,1.952,144,1.868,162,3.172,192,3.893,227,3.988,277,4.143,318,4.276,455,8.329,775,4.978,1092,6.475,1149,11.14,1709,7.733,5045,6.52,5096,11.14,5117,11.48,5120,12.353,5121,11.876,5122,11.876,5123,11.876,5172,12.95,5260,14.961,5261,14.961,5262,14.961,5263,14.961,5264,14.961,5265,13.748]],["keywords/705",[]],["title/706",[5083,607.247,5127,769.972,5266,837.897,5267,837.897]],["content/706",[45,4.349,139,3.383,140,2.251,144,2.153,162,3.763,192,4.26,204,6.15,227,4.598,277,3.677,318,4.679,775,5.74,1092,7.466,1709,8.916,1757,14.242,5045,7.517,5268,17.25,5269,17.25,5270,13.236]],["keywords/706",[]],["title/707",[5083,607.247,5111,592.457,5238,769.972,5271,837.897]],["content/707",[45,2.609,139,3.843,140,1.665,144,1.593,162,3.499,192,3.501,227,3.401,277,4.57,305,7.023,318,3.845,455,7.104,775,4.246,808,6.798,1092,5.523,1899,6.242,5045,8.687,5096,9.501,5117,9.791,5119,11.045,5120,10.536,5121,10.129,5122,10.129,5123,10.129,5135,7.566,5136,9.248,5172,11.045,5241,9.791,5265,11.726,5272,17.477,5273,12.76,5274,11.726,5275,12.76,5276,12.76,5277,12.76,5278,12.76,5279,17.477,5280,17.477,5281,12.76,5282,12.76]],["keywords/707",[]],["title/708",[5111,850.703,5283,1203.126]],["content/708",[45,2.701,84,4.274,139,3.665,140,1.723,144,1.649,162,3.824,192,3.584,227,3.521,244,5.08,277,4.326,279,4.374,318,3.936,358,5.453,455,7.354,761,6.895,775,4.395,1092,5.717,1140,8.603,1279,9.573,1899,8.753,2697,12.138,2698,12.138,5045,9.478,5117,10.135,5121,10.485,5122,10.485,5123,10.485,5135,7.832,5136,9.573,5149,12.138,5155,12.138,5200,8.603,5230,12.138,5284,17.893,5285,13.209,5286,13.209,5287,13.209,5288,13.209,5289,13.209]],["keywords/708",[]],["title/709",[5290,1331.557]],["content/709",[45,3.059,84,6.288,139,3.353,140,1.952,144,1.868,162,3.729,192,3.893,208,4.222,224,6.346,227,3.988,243,5.754,244,5.754,277,4.871,318,4.276,340,5.334,775,4.978,813,8.243,1092,6.475,1899,7.319,5045,9.407,5135,8.871,5136,10.843,5241,11.48,5291,19.435,5292,14.961,5293,13.748]],["keywords/709",[]],["title/710",[4935,1413.703]],["content/710",[5,1.436,7,4.597,11,3.955,35,2.073,45,1.982,52,4.929,62,5.72,126,6.558,137,3.335,139,3.522,140,1.264,144,1.793,145,10.235,162,2.792,181,3.303,192,3.428,194,2.932,195,5.912,208,3.347,227,2.583,240,3.319,244,8.65,277,3.647,317,4.097,318,3.764,350,4.014,352,3.951,353,4.165,358,4.29,376,5.94,383,5.058,404,3.726,434,4.194,545,5.827,568,6.543,594,5.274,701,7.023,813,4.11,1092,4.194,1339,7.904,1374,5.912,1974,4.66,2042,5.746,3221,4.74,4558,17.388,4769,15.02,4999,8.905,5202,17.388,5206,9.926,5247,7.692,5294,9.69,5295,8.387,5296,8.905,5297,8.905,5298,18.922]],["keywords/710",[]],["title/711",[5299,1538.415]],["content/711",[5,1.891,9,5.144,45,2.609,51,4.573,52,4.643,53,5.989,62,4.266,78,4.852,137,4.392,139,1.872,140,2.28,144,2.182,153,4.935,162,2.852,181,4.349,192,3.993,204,6.231,227,3.401,228,15.127,229,16.06,253,10.536,277,4.57,317,3.641,318,3.845,340,4.55,350,4.101,358,5.631,376,4.906,455,11.936,568,4.879,813,5.412,1092,5.523,1153,5.68,1260,13.41,1374,7.785,1486,13.41,1810,16.06,3221,6.242,5247,10.129,5300,12.76,5301,12.76,5302,12.76,5303,12.76,5304,17.477]],["keywords/711",[]],["title/712",[4912,1331.557]],["content/712",[7,5.365,29,6.105,35,2.322,45,2.22,52,4.651,62,6.676,137,3.737,139,3.521,140,1.416,144,1.948,162,2.981,181,3.7,192,3.659,208,2.123,227,2.894,240,3.718,244,7.679,277,3.893,317,3.097,318,4.018,350,2.547,358,3.912,361,9.252,376,5.127,404,4.175,434,4.699,443,8.227,568,5.966,628,4.868,646,5.621,775,5.192,813,4.605,938,9.01,1092,4.699,1155,6.833,1218,7.868,1374,6.624,1421,8.33,2451,11.618,2595,9.854,2596,11.972,3221,5.311,3295,8.964,4769,12.386,5206,7.504,5247,8.618,5295,9.397,5296,9.976,5297,9.976,5305,9.976,5306,9.976,5307,10.856,5308,18.35]],["keywords/712",[]],["title/713",[5306,1413.703]],["content/713",[35,2.745,45,2.624,62,7.185,137,4.417,139,3.302,140,1.674,144,2.19,162,3.263,170,14.931,181,4.374,192,4.005,208,2.51,227,3.421,244,8.265,277,3.74,318,4.398,350,3.011,358,4.399,361,13.343,376,5.612,434,5.554,568,4.907,628,5.754,1092,5.554,1374,7.83,1488,14.854,1818,7.411,3221,6.278,5206,8.87,5247,10.187,5295,11.107,5305,11.793,5309,12.833,5310,12.833,5311,21.491]],["keywords/713",[]],["title/714",[5312,1413.703]],["content/714",[5,1.521,7,2.757,29,7.611,51,3.678,52,5.195,62,3.431,102,3.133,137,3.533,139,3.654,144,1.87,192,3.001,204,5.341,227,2.736,234,4.978,243,7.481,244,8.307,318,3.296,350,2.408,376,4.205,568,3.925,775,4.985,1365,12.369,1709,5.305,1752,14.097,1755,15.441,2148,12.669,2586,4.779,2595,10.659,3221,5.021,4769,11.892,4912,12.967,5096,14.484,5274,17.875,5308,13.767,5312,13.767,5313,19.452,5314,10.263,5315,14.981,5316,10.263,5317,10.263,5318,14.981,5319,10.263,5320,10.263,5321,19.452]],["keywords/714",[]],["title/715",[48,257.267,277,210.57,3686,757.965]],["content/715",[48,5.756,78,6.987,187,6.834,208,3.594,240,6.293,277,4.711,317,5.242,570,10.749,673,8.361,703,14.585,813,7.793,1207,10.001,1265,11.759,2141,13.316,5322,18.374]],["keywords/715",[]],["title/716",[4950,1041.352,5323,1105.594]],["content/716",[5,2.278,45,3.143,48,5.15,64,6.675,91,5.595,113,14.123,139,3.208,140,2.005,144,1.919,162,2.508,167,7.722,192,3.961,194,4.651,208,3.006,227,4.097,243,5.91,244,5.91,277,3.276,318,4.351,447,5.748,492,10.867,709,10.401,757,10.198,775,5.114,978,9.674,1099,14.123,1101,14.123,1709,7.943,2141,11.138,3425,10.01,4175,14.123,4261,14.123,4533,13.302,5324,15.369]],["keywords/716",[]],["title/717",[4887,1105.594,5323,1105.594]],["content/717",[48,2.502,55,9.266,78,3.653,84,4.617,139,3.363,140,1.254,144,1.781,167,4.827,192,2.859,194,4.319,200,6.047,217,4.66,219,6.008,223,9.849,227,3.804,241,6.697,243,5.488,244,5.488,277,5.287,318,3.139,350,2.254,591,7.627,652,5.015,696,10.095,765,10.342,775,4.748,819,7.945,874,8.987,978,11.213,1153,6.352,1417,5.862,2586,6.645,2712,7.933,2769,11.782,3334,13.114,3425,9.294,3686,7.372,4533,12.352,4534,19.386,4535,13.114,4536,13.114,4537,17.315,4538,17.315,4540,13.114,4950,8.316,5325,9.608,5326,9.608,5327,9.608,5328,8.316,5329,9.608,5330,9.608,5331,9.608]],["keywords/717",[]],["title/718",[5290,1331.557]],["content/718",[45,3.474,139,3.091,140,2.217,144,2.121,162,3.439,192,4.221,204,6.058,208,3.323,227,4.529,277,4.882,318,4.635,696,10.074,795,7.563,813,7.206,1092,7.353,5241,13.036,5293,15.613,5332,16.99,5333,15.613,5334,16.99,5335,13.487]],["keywords/718",[]],["title/719",[5290,1331.557]],["content/719",[45,3.373,139,3.035,140,2.152,144,2.059,162,3.375,192,4.143,204,5.88,208,3.226,227,4.396,277,4.817,318,4.55,696,9.78,795,7.341,808,8.786,813,6.995,1092,7.138,1709,8.524,1742,13.092,1757,13.617,5270,12.655,5335,16.418,5336,16.493,5337,16.493,5338,16.493]],["keywords/719",[]],["title/720",[5339,1538.415]],["content/720",[45,3.397,139,3.327,140,2.168,144,2.074,162,3.391,192,4.162,204,5.924,208,3.25,227,4.429,277,4.833,318,4.571,322,7.395,358,4.166,647,9.36,1092,7.191,2601,14.38,2602,13.718,5241,12.748,5333,15.268,5335,13.189,5340,16.614,5341,16.614,5342,16.614]],["keywords/720",[]],["title/721",[1308,1114.932]],["content/721",[64,6.521,194,5.846,208,3.778,224,6.308,240,6.617,352,5.315,758,8.478,874,9.214,1123,7.305,1203,12.818,3144,11.156]],["keywords/721",[]],["title/722",[874,733.774]],["content/722",[29,2.769,38,3.555,45,1.447,50,2.423,60,2.497,62,3.769,64,2.388,97,2.943,102,2.16,135,4.255,137,2.435,139,3.501,140,2.284,144,1.407,145,7.294,162,3.315,164,3.405,173,3.083,180,4.01,181,2.412,189,4.464,192,3.211,204,4.02,205,4.255,207,3.851,208,3.648,224,5.717,227,3.746,244,6.165,277,2.403,285,2.691,292,5.665,296,3.555,318,3.527,321,3.15,336,2.769,340,4.02,350,3.297,352,3.866,358,4.677,376,4.5,543,7.215,568,4.311,575,4.086,651,4.255,775,4.676,795,7.135,797,4.695,874,10.237,1039,3.403,1055,4.609,1092,3.062,1150,5.169,1203,4.695,1205,5.429,1238,6.779,1264,7.264,1265,4.528,1266,4.383,1297,5.003,1308,5.128,1374,4.317,1386,4.789,1899,6.875,1910,7.096,2135,4.453,2249,12.725,2434,11.403,2548,4.453,3121,4.695,3144,4.086,3162,5.003,3221,3.461,3414,10.849,3526,5.842,3736,6.124,3772,4.196,5135,4.196,5200,4.609,5206,4.891,5343,7.076,5344,6.502,5345,14.807,5346,7.076,5347,7.076,5348,7.076,5349,6.502,5350,5.128,5351,5.128,5352,4.695,5353,11.156,5354,16.03,5355,7.076,5356,7.076]],["keywords/722",[]],["title/723",[4959,1331.557]],["content/723",[45,1.685,50,2.822,52,4.058,60,2.908,62,4.247,97,3.427,102,2.515,135,4.954,137,2.836,139,3.041,140,2.023,144,1.586,153,3.187,162,3.492,164,3.998,173,3.59,180,3.624,181,2.808,192,3.106,205,4.954,207,4.484,208,3.89,224,4.148,227,2.196,244,6.7,251,12.627,277,2.708,292,5.121,318,3.411,336,3.224,340,4.529,350,3.637,352,4.265,358,4.986,376,4.891,568,4.857,643,3.749,775,2.741,795,7.756,797,5.467,874,6.059,1039,3.962,1055,5.366,1092,3.566,1150,5.824,1203,5.467,1205,6.322,1222,6.322,1238,4.954,1254,9.936,1260,13.369,1264,8.013,1265,5.273,1297,5.826,1299,10.793,1374,5.027,1899,6.214,1910,7.995,2434,12.259,2548,5.185,3144,4.758,3221,4.03,3414,8.597,3526,6.802,3772,4.885,4565,6.54,4567,12.8,4959,7.131,5044,5.366,5045,3.59,5135,4.885,5200,5.366,5206,5.695,5209,7.131,5210,7.131,5350,5.971,5351,5.971,5353,10.084,5357,8.239,5358,8.239,5359,17.423,5360,8.239]],["keywords/723",[]],["title/724",[5361,1413.703]],["content/724",[5,2.328,29,4.289,38,5.507,60,3.869,91,3.991,97,4.559,102,3.346,135,6.591,139,2.943,140,2.05,144,1.961,145,4.988,162,1.789,164,4.51,173,4.777,180,4.483,192,3.147,204,5.602,205,11.043,207,5.966,224,3.58,227,2.922,240,3.754,244,6.042,284,5.78,292,6.334,318,2.412,321,4.879,336,4.289,340,3.908,350,3.686,352,5.518,775,3.647,795,4.879,797,7.273,874,8.759,1039,5.272,1055,7.14,1150,7.204,1205,8.411,1238,6.591,1264,10.974,1265,7.015,1266,9.733,1297,7.751,1910,9.889,2434,10.233,2548,6.899,2595,5.409,2836,8.702,3144,6.33,3414,12.428,3772,10.889,4550,8.702,5219,9.488,5221,9.488,5222,9.488,5350,7.944,5351,7.944,5352,7.273,5353,12.472,5361,10.073,5362,10.962,5363,10.962]],["keywords/724",[]],["title/725",[5364,1413.703]],["content/725",[29,6.301,45,2.32,60,4.005,84,5.21,102,3.464,115,7.391,135,6.824,139,3.279,140,2.101,144,1.417,162,3.055,164,3.421,173,4.945,180,3.238,192,3.226,207,6.176,227,3.025,243,4.364,244,6.193,277,4.9,284,5.983,292,6.492,318,3.543,336,4.44,340,4.046,350,3.778,352,5.15,775,3.776,795,7.168,797,7.53,813,7.94,874,5.413,1039,5.458,1092,4.911,1150,7.384,1238,6.824,1264,10.531,1265,7.262,1266,7.03,1297,8.024,1827,6.045,1910,10.136,2434,10.489,2548,7.142,3144,6.553,3393,9.008,3414,7.68,3772,6.729,5335,9.008,5350,8.224,5351,8.224,5352,7.53,5353,12.784,5364,10.428,5365,10.428,5366,11.348,5367,10.428,5368,10.428,5369,11.348]],["keywords/725",[]],["title/726",[3162,1087.777]],["content/726",[45,1.854,52,2.112,62,4.569,97,5.684,137,3.121,138,3.568,139,3.144,140,1.783,144,1.706,145,8.331,150,3.979,162,3.497,164,1.926,181,3.09,189,3.59,192,3.294,204,6.527,205,5.452,208,4.038,224,5.37,227,2.417,244,7.04,277,2.913,292,5.509,318,3.618,321,4.036,340,4.872,350,3.206,352,4.524,358,5.176,376,5.139,447,3.391,568,5.225,618,6.957,775,3.017,795,8.149,797,6.016,874,8.732,1039,6.572,1055,5.905,1092,3.924,1203,6.016,1238,5.452,1264,8.5,1265,5.803,1374,5.532,1899,8.045,1910,8.601,2135,5.707,3144,5.236,3221,4.435,3414,12.39,3526,7.486,3772,5.376,4383,16.823,4769,14.533,5135,5.376,5200,5.905,5206,6.267,5344,8.332,5345,16.388,5349,8.332,5350,6.571,5351,6.571,5352,6.016,5370,9.067]],["keywords/726",[]],["title/727",[4565,1221.21]],["content/727",[45,1.825,50,3.056,52,4.23,62,4.514,97,3.711,137,3.071,139,3.22,140,1.762,144,1.685,162,3.478,164,1.896,181,3.041,192,3.263,205,5.366,208,4.013,224,5.318,227,2.379,244,6.984,251,13.161,277,2.878,292,5.443,318,3.583,340,4.814,350,3.168,352,4.481,358,5.145,376,5.097,568,5.163,643,4.061,775,2.969,795,8.083,797,5.921,874,7.768,1039,6.493,1055,5.812,1092,3.862,1203,8.959,1222,6.847,1238,5.366,1254,10.356,1260,13.934,1264,8.418,1265,5.711,1299,11.249,1374,5.444,1899,6.605,1910,8.498,3144,5.153,3221,4.365,3414,9.137,3772,5.291,4567,13.447,5044,5.812,5045,3.889,5135,5.291,5200,5.812,5206,6.168,5209,7.724,5210,7.724,5345,16.289,5350,6.467,5351,6.467,5352,5.921,5371,8.923,5372,18.16]],["keywords/727",[]],["title/728",[4550,1221.21]],["content/728",[5,2.448,29,4.602,38,5.909,91,4.282,97,4.892,102,3.59,139,3.2,140,1.535,144,2.062,145,5.352,164,3.509,192,3.824,204,5.889,205,11.479,224,5.394,227,4.403,240,4.029,244,6.352,279,3.895,292,6.658,318,3.634,321,5.236,340,4.194,350,2.76,352,5.252,775,3.914,795,5.236,797,7.805,874,9.874,1039,7.944,1055,7.661,1203,7.805,1238,7.073,1264,10.7,1265,7.527,1266,10.232,1910,10.396,2595,5.804,2836,9.337,3144,6.792,3414,12.919,3772,11.319,4551,9.712,5219,10.181,5221,10.181,5222,10.181,5345,15.154,5350,8.524,5351,8.524,5352,7.805,5373,11.762,5374,11.762]],["keywords/728",[]],["title/729",[5365,1413.703]],["content/729",[29,6.301,45,2.32,60,4.005,84,6.057,97,4.72,115,7.391,139,3.279,140,2.101,144,1.417,162,3.055,164,2.411,173,4.945,192,3.226,207,6.176,224,5.259,227,3.025,243,4.364,244,6.193,277,5.007,292,6.492,318,3.543,340,5.742,350,3.778,352,5.15,775,3.776,795,7.168,797,7.53,813,6.83,874,9.718,1039,7.745,1055,7.391,1092,4.911,1150,5.203,1203,7.53,1238,6.824,1264,9.675,1265,7.262,1266,7.03,1827,6.045,1910,10.136,3144,6.553,3393,9.008,3414,7.68,3772,6.729,5335,9.008,5345,14.86,5350,8.224,5351,8.224,5352,7.53,5353,12.784,5367,10.428,5368,10.428,5375,11.348,5376,11.348]],["keywords/729",[]],["title/730",[158,616.404]],["content/730",[158,8.16,208,3.983,240,6.975,1207,11.084,3788,18.714]],["keywords/730",[]],["title/731",[5377,1542.046]],["content/731",[45,2.701,139,2.625,140,1.723,144,2.234,158,5.292,162,3.824,164,3.801,180,5.105,192,3.584,204,6.38,208,4.446,227,4.77,240,4.524,244,6.881,277,3.814,318,3.936,325,7.441,358,5.699,724,10.29,775,4.395,1092,5.717,1150,6.056,1411,11.433,1488,12.368,1899,10.64,5045,7.798,5135,10.61,5200,11.654,5377,12.138,5378,13.209,5379,13.209,5380,13.209,5381,13.209]],["keywords/731",[]],["title/732",[5382,1538.415]],["content/732",[45,3.121,139,2.889,140,1.992,144,1.906,158,6.116,162,3.983,192,3.944,208,4.662,227,4.069,244,5.87,277,4.197,318,4.332,340,5.443,358,5.976,724,7.741,1092,6.607,1246,9.179,1488,10.551,1899,9.632,5045,6.652,5135,9.051,5200,9.942,5383,15.265,5384,15.265]],["keywords/732",[]],["title/733",[5385,1538.415]],["content/733",[45,3.121,139,2.889,140,1.992,144,1.906,158,6.116,162,3.983,192,3.944,208,4.662,227,4.069,244,5.87,277,4.197,318,4.332,340,5.443,358,5.976,717,8.499,1092,6.607,1246,9.179,1488,10.551,1899,9.632,5045,6.652,5135,9.051,5200,9.942,5386,15.265,5387,15.265]],["keywords/733",[]],["title/734",[5388,1538.415]],["content/734",[7,4.53,139,3.077,140,2.2,144,2.105,158,9.145,162,3.423,192,4.201,208,3.298,227,4.495,318,4.614,340,6.012,358,4.228,724,8.551,1246,10.14,2535,13.143,5045,7.349,5389,16.863,5390,13.923,5391,16.863]],["keywords/734",[]],["title/735",[5392,1538.415]],["content/735",[7,4.53,139,3.077,140,2.2,144,2.105,158,9.145,162,3.423,192,4.201,208,3.298,227,4.495,318,4.614,340,6.012,358,4.228,717,9.388,1246,10.14,2535,13.143,5045,7.349,5390,13.923,5393,16.863,5394,16.863]],["keywords/735",[]],["title/736",[5395,1413.703]],["content/736",[9,7.592,139,3.515,144,2.351,158,7.546,192,3.773,227,5.02,318,4.144,322,8.384,775,6.267,2535,10.366,2682,16.302,5395,17.308]],["keywords/736",[]],["title/737",[5396,1538.415]],["content/737",[7,6.739,51,6.089,139,3.091,140,2.217,144,2.121,158,9.176,162,3.439,192,4.221,227,4.529,318,4.635,350,4.943,5045,7.404,5390,14.028,5397,16.99,5398,16.99]],["keywords/737",[]],["title/738",[5399,1270.201]],["content/738",[7,5.909,51,6.532,139,3.466,144,2.275,158,8.812,162,2.974,192,3.651,227,4.858,318,4.01,350,5.16,775,6.064,5252,15.775,5399,15.048]],["keywords/738",[]],["title/739",[5399,1270.201]],["content/739",[7,5.06,9,7.592,139,3.515,144,2.351,158,7.546,192,3.773,227,5.02,318,4.144,322,8.384,775,6.267,5252,16.302,5399,15.551]],["keywords/739",[]],["title/740",[5400,1538.415]],["content/740",[7,2.835,45,2.158,139,3.2,140,1.377,144,1.908,158,4.228,162,3.559,192,3.062,204,7.776,207,9.783,208,4.091,227,2.813,244,5.878,277,3.258,318,3.363,350,2.476,358,4.941,455,5.874,628,4.731,775,3.511,1092,4.567,1899,8.793,2586,8.369,2595,7.543,2653,19.381,2654,17.057,2655,15.644,2656,17.678,2657,13.231,2658,17.057,5135,6.257,5200,6.872,5401,8.376,5402,10.552,5403,15.286,5404,10.552,5405,10.552,5406,10.552,5407,10.552,5408,10.552,5409,10.552,5410,10.552,5411,10.552,5412,10.552,5413,10.552]],["keywords/740",[]],["title/741",[5414,1538.415]],["content/741",[5,1.005,7,6.566,40,8.919,45,1.386,52,5.136,84,2.193,89,7.611,93,9.44,97,2.819,102,4.169,135,4.076,136,1.573,139,1.598,140,0.884,144,0.846,153,6.627,158,9.555,159,6.065,162,2.987,164,2.314,173,4.747,189,5.407,192,2.182,208,3.351,219,2.392,227,1.807,244,2.607,277,2.322,296,3.405,318,2.396,350,3.204,358,5.528,423,3.017,436,3.084,484,4.587,628,3.039,671,3.039,673,3.084,704,7.372,713,10.841,724,5.524,750,3.039,821,7.228,840,11.915,941,5.072,1080,4.793,1089,7.095,1092,2.933,1123,5.164,1150,3.108,1208,3.649,1254,3.865,1738,4.912,1899,6.681,2000,5.38,2041,14.265,2553,5.047,2595,3.345,2628,12.939,2629,11.859,2649,6.971,2655,5.38,2657,5.867,2658,5.867,3912,5.867,5135,4.019,5200,4.415,5352,11.369,5415,6.778,5416,6.778,5417,10.893,5418,10.893,5419,10.893,5420,10.893,5421,10.893,5422,6.778,5423,6.778,5424,6.778,5425,10.893,5426,6.778,5427,6.778]],["keywords/741",[]],["title/742",[5428,1413.703]],["content/742",[97,7.52,139,3.454,144,2.257,158,7.244,192,3.622,227,4.819,318,3.977,358,4.533,775,6.016,803,9.84,1709,9.344,1752,13.103,1755,14.352,2148,11.775,5245,15.648,5428,16.614,5429,18.079]],["keywords/742",[]],["title/743",[5430,1413.703]],["content/743",[1,2.809,9,6.071,40,8.589,139,3.482,140,1.965,144,1.88,153,5.825,158,7.821,192,3.91,227,4.015,244,5.792,318,4.294,319,9.993,345,8.024,358,4.894,423,8.688,775,6.495,1709,10.089,1752,10.915,1755,11.956,2148,9.809,2595,7.432,2628,10.649,2629,8.931,3098,13.802,5430,13.84,5431,15.061,5432,15.061,5433,15.061,5434,19.519,5435,15.061]],["keywords/743",[]],["title/744",[5436,1413.703]],["content/744",[84,3.496,139,3.837,140,2.029,144,1.349,157,5.111,158,6.23,162,1.763,192,3.115,219,3.813,224,3.528,227,2.88,241,8.549,318,3.421,336,4.227,340,3.852,350,3.648,358,2.709,374,9.704,591,8.577,646,3.892,652,5.64,696,9.22,746,5.881,775,6.63,808,5.756,819,10.141,1119,9.928,1153,4.809,1330,6.914,2451,11.578,2787,13.751,5436,14.289,5437,10.804,5438,15.549,5439,15.549,5440,18.216,5441,15.549,5442,15.549,5443,15.549,5444,10.804,5445,10.804,5446,10.804,5447,15.549,5448,10.804,5449,10.804,5450,10.804,5451,10.804,5452,10.804,5453,10.804]],["keywords/744",[]],["title/745",[45,314.583]],["content/745",[45,4.202,240,7.039,753,12.186,2145,16.313]],["keywords/745",[]],["title/746",[4905,1331.557]],["content/746",[9,7.407,45,4.519,139,3.243,144,2.759,192,3.681,193,10.001,204,6.551,227,4.898,243,7.066,322,8.179,775,6.114,1709,9.497,3392,15.171,4905,15.903]],["keywords/746",[]],["title/747",[4901,1413.703]],["content/747",[37,3.974,45,4.253,88,4.624,139,3.905,140,1.551,144,1.484,162,2.716,192,3.333,227,3.168,455,6.617,775,3.955,1092,5.144,5045,5.18,5454,11.886,5455,11.886,5456,11.886,5457,11.886,5458,11.886,5459,11.886,5460,11.886,5461,15.29,5462,16.639,5463,16.639,5464,16.639,5465,16.639,5466,16.639,5467,16.639,5468,11.886,5469,11.886,5470,11.886,5471,11.886,5472,11.886,5473,11.886,5474,11.886,5475,11.886,5476,11.886,5477,11.886,5478,11.886,5479,11.886,5480,11.886,5481,10.288]],["keywords/747",[]],["title/748",[4856,1270.201]],["content/748",[37,5.555,45,4.249,52,3.87,78,6.318,139,3.049,144,2.074,162,3.391,181,5.663,217,5.425,227,4.429,317,6.778,775,6.914,1709,10.739,2148,13.533,2586,7.736,4856,13.718,5482,14.38,5483,16.614,5484,16.614,5485,16.614,5486,16.614]],["keywords/748",[]],["title/749",[317,438.935]],["content/749",[1,3.765,64,6.813,194,6.108,240,6.913,317,5.758,2296,17.469]],["keywords/749",[]],["title/750",[4884,1105.594,5111,850.703]],["content/750",[20,7.023,51,4.573,139,3.871,140,1.665,144,1.593,162,2.852,192,3.501,220,5.721,227,3.401,305,9.619,317,6.117,318,3.845,554,6.532,775,4.246,1079,9.791,1393,9.791,5045,5.561,5109,9.248,5481,11.045,5487,12.76,5488,12.76,5489,12.76,5490,12.76,5491,12.76,5492,11.726,5493,11.726,5494,11.726,5495,11.726,5496,11.726,5497,11.726,5498,11.726,5499,11.726,5500,11.726,5501,11.726,5502,11.726,5503,11.726,5504,11.726,5505,11.726,5506,11.726,5507,11.726,5508,11.726,5509,11.726]],["keywords/750",[]],["title/751",[5510,1413.703]],["content/751",[9,7.288,139,3.454,144,2.257,192,3.622,204,6.446,227,4.819,317,5.158,318,3.977,322,8.048,775,6.016,1709,9.344,1842,13.103,2016,16.614,5510,16.614,5511,18.079,5512,18.079,5513,18.079]],["keywords/751",[]],["title/752",[5514,1538.415]],["content/752",[1,2.848,5,2.918,45,3.121,46,6.269,50,5.228,136,3.543,139,2.889,140,3.11,144,1.906,162,3.213,163,7.6,189,7.795,192,3.944,227,4.069,317,6.8,318,4.332,434,6.607,435,11.063,495,7.222,746,8.308,1417,9.314,5045,6.652,5109,11.063,5352,10.129,5515,15.265,5516,15.265,5517,19.69]],["keywords/752",[]],["title/753",[5518,1538.415]],["content/753",[1,3.319,45,3.639,139,3.181,140,2.322,144,2.221,162,3.538,163,8.859,192,4.342,227,4.743,317,6.185,318,4.769,1339,9.794,5045,7.754,5109,12.896,5519,17.794,5520,17.794]],["keywords/753",[]],["title/754",[5521,1538.415]],["content/754",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,256,7.601,285,5.844,317,6.239,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,5109,11.138,5522,15.369,5523,12.69,5524,15.369]],["keywords/754",[]],["title/755",[5525,1538.415]],["content/755",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,285,5.844,317,6.239,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,1039,10.516,5109,11.138,5523,12.69,5526,15.369,5527,15.369]],["keywords/755",[]],["title/756",[5528,1413.703]],["content/756",[35,2.055,37,3.212,46,8.663,52,2.238,78,3.653,84,3.108,88,3.737,139,2.954,144,1.781,162,1.568,192,1.925,208,1.879,217,3.137,227,3.804,317,4.857,318,2.114,375,9.13,423,7.578,696,12.509,775,4.748,813,8.947,938,8.241,1072,10.599,1187,13.323,1709,7.376,1835,10.387,1842,12.338,2586,7.927,3393,11.328,3601,8.829,4145,17.418,5482,8.316,5528,13.114,5529,17.024,5530,9.608,5531,15.644,5532,13.114,5533,15.644,5534,15.644,5535,15.644,5536,13.114,5537,17.024,5538,14.27,5539,8.829,5540,8.829,5541,8.829,5542,9.608,5543,9.608,5544,9.608,5545,9.608,5546,9.608,5547,9.608,5548,8.829,5549,9.608,5550,9.608,5551,9.608,5552,9.608,5553,9.608,5554,9.608,5555,9.608]],["keywords/756",[]],["title/757",[5556,1538.415]],["content/757",[35,3.753,45,4.751,139,1.883,140,2.804,144,2.19,162,3.881,164,2.726,180,5.704,192,3.515,194,3.884,208,3.432,227,3.421,259,5.975,317,6.786,318,3.86,350,4.691,848,5.479,977,7.318,1078,13.53,1092,5.554,1150,9.166,5045,7.646,5557,12.833,5558,12.833,5559,17.545,5560,17.545,5561,19.992,5562,17.545,5563,17.545,5564,12.833]],["keywords/757",[]],["title/758",[5565,1538.415]],["content/758",[1,2.809,35,5.077,139,2.864,140,2.825,144,1.88,162,3.739,192,3.91,226,7.71,227,4.015,317,6.537,318,4.294,494,8.197,671,6.753,700,8.73,742,6.431,834,10.915,1057,9.993,1123,5.695,5045,8.506,5046,11.909,5109,10.915,5566,15.061,5567,12.435,5568,15.061,5569,12.435]],["keywords/758",[]],["title/759",[1466,1413.703]],["content/759",[1,2.253,35,5.104,75,7.184,139,1.772,140,2.526,144,2.1,162,3.418,181,4.116,192,3.879,209,7.232,219,6.833,226,6.182,227,3.219,317,4.801,318,4.26,350,3.948,447,4.517,494,6.573,671,5.415,698,7.599,700,8.442,742,5.157,753,7.161,834,8.753,1057,8.013,1094,13.691,1123,4.567,1129,8.235,1150,5.537,1158,17.479,1374,7.369,3259,10.453,5045,7.332,5046,10.266,5109,8.753,5567,9.972,5569,13.892,5570,12.077,5571,16.825,5572,11.098]],["keywords/759",[]],["title/760",[1829,811.144]],["content/760",[1,3.765,64,6.813,194,6.108,240,6.913,1829,10.642,2296,17.469]],["keywords/760",[]],["title/761",[5573,1538.415]],["content/761",[1,2.828,5,2.905,46,6.227,50,5.193,136,3.519,139,2.876,140,3.103,144,1.893,162,3.199,189,7.761,192,3.927,227,4.042,318,4.313,434,6.562,746,8.253,1137,11.29,1153,6.749,1254,8.646,1417,9.251,1829,12.541,5045,6.608,5352,10.061,5574,15.162,5575,15.162,5576,11.29,5577,19.604,5578,19.604]],["keywords/761",[]],["title/762",[5579,1538.415]],["content/762",[1,3.373,139,3.211,140,2.359,144,2.257,162,3.572,192,4.384,227,4.819,318,4.815,1339,9.951,1829,11.54,5045,7.879,5576,13.462,5580,18.079,5581,18.079]],["keywords/762",[]],["title/763",[5582,1413.703]],["content/763",[9,7.468,139,3.49,144,2.313,192,3.711,204,6.605,227,4.938,318,4.075,322,8.246,775,6.164,1709,9.575,1829,9.767,5582,17.023,5583,17.023,5584,18.525]],["keywords/763",[]],["title/764",[4894,1105.594,5111,850.703]],["content/764",[20,7.023,51,4.573,139,3.871,140,1.665,144,1.593,162,2.852,192,3.501,220,5.721,227,3.401,305,9.619,318,3.845,554,6.532,775,4.246,1079,9.791,1393,9.791,1829,11.304,5045,5.561,5481,11.045,5492,11.726,5493,11.726,5494,11.726,5495,11.726,5496,11.726,5497,11.726,5498,11.726,5499,11.726,5500,11.726,5501,11.726,5502,11.726,5503,11.726,5504,11.726,5505,11.726,5506,11.726,5507,11.726,5508,11.726,5509,11.726,5576,9.501,5585,12.76,5586,12.76,5587,12.76,5588,12.76,5589,12.76]],["keywords/764",[]],["title/765",[5590,1413.703]],["content/765",[37,3.212,46,8.663,52,2.238,78,3.653,84,3.108,88,3.737,139,2.954,144,1.781,162,1.568,174,7.866,192,1.925,217,3.137,227,3.804,277,4.017,318,2.114,375,9.13,423,7.578,775,4.748,813,9.722,1072,10.599,1187,13.323,1709,7.376,1829,8.976,1835,10.387,2586,7.927,2625,6.963,3393,11.328,4145,17.418,5482,8.316,5531,15.644,5532,13.114,5533,15.644,5534,15.644,5535,15.644,5536,13.114,5539,8.829,5540,8.829,5541,8.829,5548,8.829,5583,15.644,5590,13.114,5591,17.024,5592,9.608,5593,17.024,5594,14.27,5595,9.608,5596,9.608,5597,9.608,5598,9.608,5599,9.608,5600,9.608,5601,9.608,5602,9.608,5603,9.608,5604,9.608,5605,9.608,5606,9.608,5607,9.608]],["keywords/765",[]],["title/766",[5608,1538.415]],["content/766",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,256,7.601,285,5.844,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,1829,11.529,5523,12.69,5576,11.444,5609,15.369,5610,15.369]],["keywords/766",[]],["title/767",[5611,1538.415]],["content/767",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,285,5.844,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,1039,10.516,1829,11.529,5523,12.69,5576,11.444,5612,15.369,5613,15.369]],["keywords/767",[]],["title/768",[5614,1538.415]],["content/768",[1,2.809,35,5.077,139,2.864,140,2.825,144,1.88,162,3.739,192,3.91,226,7.71,227,4.015,318,4.294,494,8.197,671,6.753,700,8.73,742,6.431,834,10.915,1057,9.993,1123,5.695,1829,12.079,5045,8.506,5046,11.909,5567,12.435,5569,12.435,5576,11.214,5615,15.061,5616,15.061]],["keywords/768",[]],["title/769",[5617,1538.415]],["content/769",[1,2.229,35,5.091,75,7.131,139,1.753,140,2.512,144,2.085,162,3.402,181,4.073,192,3.857,209,7.179,219,6.795,226,6.117,227,3.185,318,4.236,350,3.918,447,4.469,494,6.504,671,5.358,698,7.543,700,8.403,742,5.102,753,7.085,834,8.66,1057,7.929,1094,14.739,1123,4.518,1129,8.203,1150,5.479,1158,18.04,1374,7.291,1829,8.806,3259,10.342,5045,7.278,5046,10.19,5567,9.866,5569,13.789,5572,10.98,5576,8.897,5618,11.949,5619,16.701]],["keywords/769",[]],["title/770",[48,313.337,5620,923.159]],["content/770",[1,3.122,5,2.481,48,4.359,49,10.039,52,3.899,64,5.65,88,6.511,139,2.456,142,8.409,192,3.353,194,5.065,225,5.223,240,5.733,318,3.682,352,6.258,446,7.733,455,9.318,698,7.56,742,7.146,752,9.875,757,11.106,1098,15.543,3907,15.381,5401,13.287]],["keywords/770",[]],["title/771",[5621,1538.415]],["content/771",[7,6.091,29,6.501,52,4.84,139,3.049,140,2.168,144,2.074,162,2.712,192,4.162,227,4.429,318,4.571,358,4.166,446,9.6,5044,10.821,5620,17.396,5622,16.614,5623,14.38,5624,16.614,5625,14.38,5626,16.614,5627,16.614,5628,15.268]],["keywords/771",[]],["title/772",[5629,1538.415]],["content/772",[29,6.801,139,3.135,140,2.268,144,2.17,162,2.837,192,4.281,204,6.198,227,4.634,318,4.701,340,6.198,358,4.358,446,9.873,775,7.11,5620,16.396,5623,15.045,5625,15.045,5630,17.383,5631,17.383]],["keywords/772",[]],["title/773",[5632,1413.703]],["content/773",[29,8.167,139,3.063,144,2.606,192,4.181,204,8.492,227,5.564,318,4.592,358,4.197,455,9.318,775,5.569,5401,13.287,5620,12.843,5628,19.182,5632,19.182,5633,19.182,5634,19.182]],["keywords/773",[]],["title/774",[5635,1413.703]],["content/774",[139,3.308,144,2.371,192,3.805,204,6.772,227,5.063,318,4.178,446,8.775,775,6.32,5620,14.573,5633,17.453,5634,17.453,5635,17.453]],["keywords/774",[]],["title/775",[5636,1538.415]],["content/775",[102,5.306,139,3.135,140,2.268,144,2.17,162,2.837,192,4.281,227,4.634,318,4.701,358,4.358,446,9.873,1472,10.606,2301,11.384,3001,14.352,5620,16.396,5623,15.045,5625,15.045,5637,17.383,5638,17.383]],["keywords/775",[]],["title/776",[1974,578.625,2771,745.296]],["content/776",[11,8.022,64,6.634,136,4.562,194,5.948,240,6.732,1974,9.453,2771,12.176,4127,13.042,5639,17.012]],["keywords/776",[]],["title/777",[256,534.792]],["content/777",[5,2.262,11,8.895,106,8.049,136,4.57,140,2.844,144,1.906,162,2.491,189,6.043,192,3.058,227,4.069,242,8.599,255,11.675,256,5.307,285,5.804,329,7.89,338,8.132,392,10.794,594,10.717,840,12.197,1200,8.599,1818,8.815,1974,7.341,2070,12.604,2498,11.713,2599,13.212,2771,14.264,5639,13.212,5640,15.265,5641,14.028,5642,15.265,5643,15.265]],["keywords/777",[]],["title/778",[4353,1221.21]],["content/778",[5,3.007,11,5.391,37,5.982,45,2.701,72,6.964,75,5.64,136,4.153,139,2.977,140,1.723,141,7.589,144,1.649,152,4.437,162,2.92,192,4.065,220,8.023,225,4.122,227,3.521,236,9.34,318,4.464,329,6.827,352,4.923,425,6.406,494,7.189,563,9.248,594,7.189,615,6.518,676,5.425,958,8.909,1009,14.204,1055,11.654,2771,8.182,3143,13.323,5639,18.825,5641,12.138,5644,17.893,5645,13.209,5646,13.209,5647,13.209,5648,13.209,5649,13.209,5650,13.209,5651,13.209]],["keywords/778",[]],["title/779",[130,219.079,139,94.311,208,125.72,573,259.112,1789,267.343,1969,444.28]],["content/779",[11,7.817,64,6.465,130,6.528,167,9.623,194,5.797,208,3.746,240,6.56,573,7.721,643,8.716,1789,7.967,1969,13.239,2771,11.865]],["keywords/779",[]],["title/780",[4869,1413.703]],["content/780",[42,11.022,45,3.748,139,2.689,140,1.786,144,1.709,162,3.602,192,3.672,208,3.585,227,3.649,318,4.032,340,6.535,460,14.253,573,5.519,643,6.229,790,9.383,808,7.293,1092,5.925,1497,8.232,1789,9.849,3580,11.73,4238,12.405,4264,12.96,4806,15.134,5045,7.988,5270,10.504,5352,12.162,5652,13.69,5653,10.867,5654,12.58,5655,12.58,5656,16.844,5657,13.69]],["keywords/780",[]],["title/781",[4862,1413.703]],["content/781",[45,4.21,139,3.021,140,2.136,144,2.044,162,3.856,192,4.124,208,4.027,227,4.364,318,4.529,340,5.838,573,6.6,643,7.451,1092,7.086,1789,9.828,1969,11.317,5045,8.972,5270,12.563,5653,12.997,5658,16.373,5659,16.373]],["keywords/781",[]],["title/782",[4864,1270.201]],["content/782",[139,3.358,144,2.432,192,3.903,227,5.194,318,4.287,573,7.855,1789,8.104,1969,13.468,4864,16.088]],["keywords/782",[]],["title/783",[5660,1538.415]],["content/783",[45,4.191,139,3.007,140,2.121,144,2.029,162,3.846,192,4.105,208,4.009,227,4.333,318,4.509,340,5.796,359,8.167,643,7.397,848,6.94,1092,7.035,1789,9.803,2301,8.66,5045,8.931,5270,12.473,5653,12.904,5661,16.255,5662,16.255]],["keywords/783",[]],["title/784",[5663,1413.703]],["content/784",[35,3.867,139,3.454,144,2.257,192,3.622,204,6.446,208,3.536,227,4.819,243,8.417,318,3.977,322,8.048,593,10.577,775,6.016,1789,7.52,3425,11.775,5663,20.113]],["keywords/784",[]],["title/785",[5664,1413.703]],["content/785",[45,4.153,59,7.032,136,3.719,139,2.98,140,2.091,144,2,162,3.826,192,3.21,208,3.972,227,4.271,278,6.665,318,3.525,340,5.713,643,7.292,775,5.332,1092,6.935,1170,9.502,1789,9.752,5045,8.851,5653,12.72,5664,14.725,5665,16.024,5666,16.024,5667,16.024,5668,16.024]],["keywords/785",[]],["title/786",[5669,1413.703]],["content/786",[4,5.756,5,1.601,39,5.947,45,3.18,130,3.682,139,3.465,140,1.41,144,1.941,162,3.252,181,6.209,192,3.115,194,3.27,208,3.041,217,6.506,226,5.531,227,2.88,243,5.98,244,5.98,278,8.287,318,3.421,340,3.852,352,2.972,359,5.428,437,8.037,643,4.916,758,6.824,849,5.332,1068,8.577,1092,4.676,1134,9.951,1437,14.088,1789,9.97,2595,7.673,2967,11.269,3297,14.289,4235,10.127,4237,10.748,4600,11.578,5045,6.776,5328,13.459,5653,8.577,5669,9.928,5670,10.804,5671,9.928,5672,18.309,5673,14.289,5674,15.549,5675,15.549]],["keywords/786",[]],["title/787",[5676,1413.703]],["content/787",[5,1.297,39,4.816,42,7.999,45,1.789,64,2.954,65,5.6,80,5.421,102,2.671,130,4.534,131,5.421,139,3.106,140,1.142,144,1.661,157,4.14,162,2.171,170,5.806,171,5.6,181,5.485,192,2.665,194,2.648,208,1.711,217,5.871,226,4.479,227,2.332,243,5.116,244,5.116,248,4.523,278,7.478,290,4.929,318,2.927,322,3.895,340,4.743,349,5.738,352,3.66,359,4.396,437,6.875,447,3.272,460,11.137,540,5.507,643,3.982,743,5.6,758,5.838,790,8.238,836,7.999,849,4.318,1031,5.806,1134,8.513,1437,12.712,1789,9.883,2049,10.207,2595,6.564,2967,9.641,3001,7.225,3580,10.299,4235,8.664,4237,9.195,4238,9.003,4257,11.514,4264,9.406,4600,9.905,4806,10.983,4864,7.225,5045,3.813,5328,11.514,5352,8.826,5654,8.041,5655,8.041,5656,12.224,5671,8.041,5672,16.521,5673,12.224,5676,8.041,5677,8.75,5678,8.75,5679,13.302,5680,13.302,5681,13.302,5682,13.302]],["keywords/787",[]],["title/788",[7,265.386,352,271.764,353,424.621]],["content/788",[6,11.6,7,5.327,64,6.693,194,6,240,6.791,352,5.455,353,8.523,674,11.307]],["keywords/788",[]],["title/789",[5683,1538.415]],["content/789",[7,4.464,139,3.327,140,2.168,141,8.813,144,2.074,192,4.162,224,5.425,227,4.429,240,5.691,292,6.698,318,4.571,352,6.237,353,8.931,874,7.925,875,8.425,1203,11.024,1308,12.041,1738,12.041,1974,7.99,5684,16.614,5685,16.614,5686,16.614]],["keywords/789",[]],["title/790",[5687,1413.703]],["content/790",[5,2.723,51,6.585,139,3.478,141,7.793,144,2.294,192,3.681,227,4.898,240,6.293,318,4.042,352,5.055,353,7.898,753,10.895,1308,13.316,5687,16.885,5688,18.374]],["keywords/790",[]],["title/791",[5689,1538.415]],["content/791",[7,4.431,84,6.692,139,3.035,140,2.152,144,2.059,192,4.143,203,11.794,227,4.396,240,5.649,286,12.885,318,4.55,349,5.263,350,3.87,352,4.537,353,7.09,652,8.609,750,9.273,838,17.077,5690,15.156,5691,16.493,5692,16.493,5693,16.493]],["keywords/791",[]],["title/792",[5694,1538.415]],["content/792",[84,5.668,139,3.15,144,2.187,192,3.509,203,9.989,204,6.246,227,4.67,240,6,286,12.243,318,3.854,349,5.59,350,4.11,352,4.819,353,7.53,652,9.144,750,7.854,753,10.387,838,14.464,5212,16.098,5690,16.098,5695,17.518]],["keywords/792",[]],["title/793",[4485,1331.557]],["content/793",[5,2.945,18,4.745,75,5.418,136,4.041,139,3.138,141,7.384,144,2.173,182,9.928,183,8.668,192,2.542,194,3.84,202,7.15,217,5.685,223,6.207,224,5.685,227,4.641,271,7.63,309,6.207,318,2.791,320,7.742,327,7.064,352,4.79,371,10.185,385,10.476,392,8.972,564,8.12,717,11.065,765,12.617,790,6.495,921,10.072,958,8.668,1039,6.102,1057,8.419,1214,7.986,1266,7.86,1296,13.187,1667,8.77,1674,8.587,2627,10.072,3143,14.799,3409,11.66,4485,15.069,5696,12.689,5697,12.689,5698,12.689,5699,12.689,5700,12.689]],["keywords/793",[]],["title/794",[3,577.902,352,271.764,353,424.621]],["content/794",[3,13.868,88,7.148,91,6.689,129,8.988,130,6.263,225,5.733,265,5.972,273,7.452,279,6.085,352,6.08,353,7.898,901,11.211,934,8.911,2535,10.113]],["keywords/794",[]],["title/795",[4309,725.232,5701,769.972,5702,769.972,5703,769.972]],["content/795",[3,8.038,11,8.189,72,3.606,102,2.088,139,3.478,140,0.892,144,1.37,162,2.809,181,3.74,192,3.15,201,7.32,202,8.241,206,16.568,217,6.553,220,4.92,226,5.617,227,1.823,240,7.796,256,2.378,265,4.466,273,7.453,318,3.459,337,3.439,437,10.371,563,5.671,621,3.683,744,10.682,745,5.093,746,3.723,758,8.806,768,11.825,770,5.093,779,5.093,780,5.647,934,7.626,1372,5.92,1385,4.728,2535,11.394,2571,9.958,3150,4.377,3187,11.345,4293,6.285,4294,6.285,4295,9.06,4297,5.92,4301,5.647,4302,6.285,4303,5.92,4305,6.285,4307,5.92,4309,5.92,4310,6.285,4311,6.285,4312,6.285,4316,6.285,4317,6.285,5701,6.285,5702,6.285,5703,10.083,5704,6.84,5705,10.973,5706,10.973,5707,6.84,5708,15.723,5709,6.84,5710,6.84,5711,6.84,5712,6.84,5713,6.84,5714,6.84,5715,13.74,5716,6.84,5717,6.84,5718,6.84,5719,6.84,5720,6.84,5721,6.84,5722,6.84,5723,6.84]],["keywords/795",[]],["title/796",[352,271.764,353,424.621,825,556.491]],["content/796",[64,6.813,194,6.108,240,6.913,352,5.552,825,11.37,1009,16.021]],["keywords/796",[]],["title/797",[5724,1413.703]],["content/797",[139,3.259,141,7.857,144,2.313,192,3.711,221,9.062,227,4.938,318,4.075,383,9.669,575,10.697,592,11.476,1009,14.705,1026,8.985,1205,14.214,3085,15.295,5724,17.023]],["keywords/797",[]],["title/798",[5725,1413.703]],["content/798",[139,3.275,141,7.922,144,2.332,192,3.742,221,9.137,225,6.965,227,4.979,318,4.109,362,9.059,383,9.75,1009,14.827,1026,9.059,5725,17.164]],["keywords/798",[]],["title/799",[4930,1331.557]],["content/799",[5,2.342,35,3.38,45,4.116,46,6.489,139,2.953,144,1.972,150,6.933,174,7.3,192,3.165,208,3.09,225,4.93,227,4.212,302,7.536,318,3.476,352,5.538,383,11.563,398,10.483,443,8.331,614,7.536,646,5.692,775,5.257,874,7.536,938,9.124,1339,12.192,1520,13.675,2434,10.291,2586,7.357,4389,13.675,4930,13.675,5726,15.8]],["keywords/799",[]],["title/800",[672,968.26]],["content/800",[1,4.083,5,3.244,45,3.697,48,5.7,60,6.381,79,6.761,139,2.653,194,5.471,260,11.996,277,3.854,378,8.922,653,10.577,672,13.775,1200,10.185,4167,13.462]],["keywords/800",[]],["title/801",[5727,1413.703]],["content/801",[7,4.67,139,2.55,140,2.268,144,2.668,192,4.281,227,4.634,318,4.701,350,4.078,358,4.358,672,13.449,775,7.11,808,9.26,1203,11.534,3150,11.124,5390,14.352,5727,15.974,5728,17.383,5729,15.974,5730,17.383]],["keywords/801",[]],["title/802",[5731,1538.415]],["content/802",[7,4.599,139,2.512,140,2.762,144,2.642,162,2.794,192,4.24,224,5.59,227,4.563,292,6.901,318,4.657,626,10.774,672,13.323,757,11.359,775,5.696,1108,13.589,3150,10.956,5729,15.731,5732,21.168,5733,17.119,5734,17.119]],["keywords/802",[]],["title/803",[5735,1413.703]],["content/803",[7,3.612,49,8.709,52,5.327,139,3.355,140,2.672,144,2.261,162,2.955,192,3.628,204,6.457,224,4.39,227,3.584,256,6.295,318,3.984,326,8.329,349,4.291,350,4.249,446,10.566,455,7.485,672,13.789,709,9.099,775,4.474,2563,12.197,3150,8.604,3225,9.293,5401,10.673,5735,20.132,5736,13.445,5737,12.355,5738,12.355,5739,13.445,5740,13.445]],["keywords/803",[]],["title/804",[5741,1413.703]],["content/804",[7,3.866,52,4.934,139,3.108,140,2.764,144,2.365,162,3.092,192,3.795,204,5.13,224,4.698,227,3.835,256,6.586,318,4.168,349,4.592,350,4.445,436,9.638,446,9.786,455,8.011,672,14.721,709,9.738,928,10.174,2563,11.792,3150,9.208,3225,9.945,5401,11.422,5737,13.222,5738,13.222,5741,17.41,5742,14.389]],["keywords/804",[]],["title/805",[5743,1413.703]],["content/805",[7,4.936,52,4.28,64,6.202,130,6.263,139,3.243,144,2.294,192,3.681,227,4.898,318,4.042,404,8.499,447,6.871,574,10.895,672,11.564,848,7.845,5743,16.885]],["keywords/805",[]],["title/806",[7,413.302]],["content/806",[1,3.456,7,6.391,69,11.303,194,5.606,309,9.062,614,8.836,632,8.43,686,11.479,934,8.985,1036,11.303,1385,12.804,1897,10.984,4634,16.034]],["keywords/806",[]],["title/807",[5744,1413.703]],["content/807",[1,3.122,5,2.481,7,4.497,51,5.999,139,3.063,144,2.606,162,3.407,192,3.353,204,7.443,227,5.564,318,3.682,761,8.737,775,5.569,934,8.118,963,13.82,2586,7.794,5744,15.381,5745,16.738,5746,16.738,5747,16.738,5748,16.738,5749,16.738,5750,15.381,5751,15.381]],["keywords/807",[]],["title/808",[5752,1413.703]],["content/808",[1,2.354,7,3.39,48,5.557,51,4.522,52,2.939,139,3.748,144,2.165,162,3.482,192,2.528,204,6.183,227,4.623,318,2.776,761,9.052,775,4.198,963,14.319,1247,8.721,2196,10.418,2586,5.875,5750,15.937,5751,15.937,5752,11.595,5753,12.618,5754,12.618,5755,11.595,5756,12.618,5757,12.618,5758,12.618,5759,12.618,5760,12.618,5761,12.618,5762,12.618,5763,12.618,5764,12.618,5765,12.618,5766,12.618,5767,11.595,5768,11.595,5769,21.338,5770,12.618,5771,12.618,5772,12.618,5773,11.595,5774,12.618,5775,12.618]],["keywords/808",[]],["title/809",[5776,1678.08]],["content/809",[1,2.617,7,5.62,48,3.654,139,2.734,140,1.831,144,2.326,162,3.041,189,5.555,192,4.191,204,7.946,227,3.74,318,4.602,775,6.961,848,5.991,963,15.384,1153,6.245,1417,8.56,1899,6.863,2586,8.676,5755,17.122,5767,17.122,5768,17.122,5773,12.893,5777,14.031,5778,14.031,5779,14.031,5780,12.893,5781,14.031,5782,12.893,5783,14.031,5784,18.632,5785,14.031,5786,14.031,5787,18.632]],["keywords/809",[]],["title/810",[4928,1413.703]],["content/810",[7,6.463,44,9.267,52,4.949,139,2.125,140,1.889,144,2.375,152,6.391,162,3.105,189,5.733,192,3.811,204,6.783,227,3.86,318,4.186,352,3.984,353,6.225,580,8.97,643,6.589,686,7.484,934,7.023,1123,5.476,1897,11.281,1899,7.084,2586,6.743,5044,9.432,5780,13.307,5782,13.307,5788,14.481,5789,14.481,5790,14.481,5791,14.481,5792,14.481,5793,14.481,5794,14.481,5795,19.025,5796,14.481]],["keywords/810",[]],["title/811",[50,526.915]],["content/811",[1,3.543,50,7.721,72,11.886,79,7.103,194,5.748,545,11.421,849,11.124,934,9.212,2631,14.142,4634,16.439]],["keywords/811",[]],["title/812",[5797,1413.703]],["content/812",[5,2.444,50,5.649,79,6.168,139,3.476,140,2.152,144,2.582,157,7.803,162,3.867,192,3.304,204,7.374,227,5.513,318,3.628,322,7.341,934,7.999,5797,19.006,5798,15.156,5799,16.493,5800,16.493,5801,16.493,5802,16.493,5803,16.493]],["keywords/812",[]],["title/813",[5804,1538.415]],["content/813",[50,6.773,79,7.396,139,3.208,140,2.005,144,2.469,162,3.898,189,6.085,192,3.961,204,7.051,227,4.097,318,4.351,322,6.841,339,9.242,484,14.798,757,10.198,849,7.584,1737,14.332,1899,7.518,3425,12.88,5798,14.123,5805,15.369,5806,12.69,5807,19.776,5808,14.123]],["keywords/813",[]],["title/814",[5809,1413.703]],["content/814",[50,7.769,52,3.059,72,6.924,79,8.114,119,6.854,139,3.788,140,1.713,144,1.639,162,3.541,192,3.57,204,4.682,227,3.5,318,3.921,446,6.067,484,8.887,642,6.659,775,4.369,875,6.659,1123,6.739,1742,10.424,1899,8.718,2013,7.787,2542,8.553,2852,9.517,3425,8.553,3827,10.842,5270,10.076,5461,12.067,5806,10.842,5808,12.067,5809,12.067,5810,13.132,5811,11.366,5812,13.132,5813,13.132,5814,13.132,5815,13.132,5816,13.132]],["keywords/814",[]],["title/815",[5817,1538.415]],["content/815",[50,8.03,79,7.596,139,2.98,140,2.091,144,2,162,3.826,192,4.068,227,4.271,248,8.282,318,4.468,383,8.364,484,10.844,849,10.022,1150,7.347,1899,9.935,2013,9.502,3425,10.437,5806,13.23,5811,13.87,5818,16.024,5819,18.664,5820,16.024]],["keywords/815",[]],["title/816",[5821,1538.415]],["content/816",[50,8.051,79,7.63,139,2.994,140,2.106,144,2.015,162,3.836,192,4.087,227,4.302,248,8.341,318,4.488,383,8.424,1150,7.4,1899,9.98,2013,9.57,2301,10.869,3425,10.511,5806,13.325,5811,13.969,5819,18.748,5822,16.139,5823,16.139]],["keywords/816",[]]],"invertedIndex":[["",{"_index":139,"title":{"5":{"position":[[8,1]]},"338":{"position":[[11,1]]},"497":{"position":[[7,1]]},"779":{"position":[[17,1]]}},"content":{"7":{"position":[[335,3],[1020,3]]},"9":{"position":[[149,2],[236,1],[498,2],[575,1]]},"20":{"position":[[344,1],[352,1],[362,1],[375,1],[384,1],[417,1],[524,4],[666,4],[723,3],[787,3]]},"21":{"position":[[84,3],[116,2],[129,2]]},"22":{"position":[[109,3],[143,2],[157,2],[166,1],[182,1],[228,1],[271,1],[376,1],[384,1],[400,1],[414,1],[430,1],[446,1],[459,1],[488,1],[496,1],[503,1],[514,1]]},"23":{"position":[[79,3],[122,2],[137,2],[259,1]]},"36":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7499,1],[7586,1],[7686,1],[9293,1],[9305,1],[9485,1],[9492,1]]},"42":{"position":[[657,1],[913,1],[931,1],[2223,1],[2343,1]]},"43":{"position":[[144,1],[233,1],[305,1],[775,5]]},"44":{"position":[[262,1],[297,1],[309,1],[377,1],[430,1],[511,1],[528,1],[674,1],[731,1],[743,1],[826,1],[875,1],[952,1],[1073,1],[1132,1],[1199,1],[1276,1],[1319,1]]},"48":{"position":[[411,1],[434,1],[458,1],[473,1],[494,1],[512,1],[560,1],[572,1],[621,1],[637,1],[686,1],[701,1],[798,1],[812,1],[860,1],[878,1],[962,1],[988,1]]},"55":{"position":[[3031,1],[3035,1],[3039,1],[3043,1],[3426,1],[3431,1]]},"57":{"position":[[471,1],[541,3],[552,1],[586,1],[598,1],[667,2],[677,1],[683,1],[751,2],[761,1],[769,1],[802,1],[812,1],[822,1],[837,1],[884,2],[895,1],[902,1],[1076,1],[1118,1],[1170,1]]},"65":{"position":[[219,1],[372,1],[405,1]]},"67":{"position":[[1327,1]]},"69":{"position":[[170,1],[287,1],[307,1],[331,1],[489,1],[518,1]]},"73":{"position":[[751,2],[759,1],[860,1],[1115,2],[1124,1],[1248,1],[1524,1],[1548,1]]},"78":{"position":[[254,1],[402,1]]},"82":{"position":[[315,1],[4668,1]]},"83":{"position":[[794,1],[806,1],[838,1],[877,1],[904,1],[934,1],[959,1],[996,1],[1097,1],[1242,1],[2491,1],[2493,1],[2507,1],[2618,1],[2631,1],[2662,1],[2689,3],[2718,1],[2819,1],[2852,1],[2854,1],[2856,1],[2863,1],[2917,2],[3263,1],[3303,1],[3428,1],[3476,2],[3497,3],[3529,1],[3547,1],[3662,2],[3687,1],[3751,1],[3758,1]]},"86":{"position":[[205,2]]},"93":{"position":[[438,1]]},"95":{"position":[[1,1],[18,1],[95,1],[121,1],[154,1]]},"96":{"position":[[17,1],[42,1],[54,1],[67,1],[76,1],[146,1],[165,1],[199,1],[241,1],[295,1],[339,1],[414,1],[464,1],[536,1],[592,1],[659,1]]},"97":{"position":[[17,1]]},"104":{"position":[[365,1],[489,1],[678,1],[1652,1],[2640,1]]},"105":{"position":[[565,1],[1584,1],[2457,1]]},"107":{"position":[[474,1],[579,1],[611,1]]},"109":{"position":[[1590,1],[1667,1],[1725,1],[2235,1],[2298,2],[2561,1]]},"110":{"position":[[727,1],[770,1],[839,1],[883,1],[1972,1],[2049,1],[2107,1]]},"111":{"position":[[320,1],[432,1],[757,1],[1899,1]]},"131":{"position":[[289,1],[485,1]]},"132":{"position":[[292,1],[491,1]]},"138":{"position":[[897,1]]},"139":{"position":[[821,1],[1156,1]]},"141":{"position":[[390,1]]},"152":{"position":[[149,1]]},"153":{"position":[[138,1]]},"154":{"position":[[149,1]]},"155":{"position":[[135,1],[141,1]]},"156":{"position":[[145,1]]},"157":{"position":[[156,1]]},"158":{"position":[[139,1],[145,1]]},"159":{"position":[[158,1]]},"160":{"position":[[140,1]]},"161":{"position":[[151,1]]},"162":{"position":[[139,1],[145,1]]},"163":{"position":[[147,1]]},"164":{"position":[[158,1]]},"165":{"position":[[143,1],[149,1]]},"166":{"position":[[161,1],[167,1]]},"167":{"position":[[157,1],[163,1]]},"168":{"position":[[155,1],[161,1]]},"169":{"position":[[155,1],[161,1]]},"170":{"position":[[155,1],[161,1]]},"171":{"position":[[144,1],[150,1]]},"173":{"position":[[130,1]]},"181":{"position":[[492,1]]},"183":{"position":[[434,1],[496,1]]},"188":{"position":[[350,1]]},"208":{"position":[[181,1]]},"209":{"position":[[21,1],[249,1],[526,1],[583,1]]},"210":{"position":[[66,1],[93,1]]},"211":{"position":[[80,1],[149,1],[214,1],[260,1]]},"213":{"position":[[588,1],[960,1]]},"214":{"position":[[1198,1],[1221,1],[1244,1],[1268,1],[1270,1],[1290,1],[1314,1],[1340,1],[1381,1],[1396,1],[1398,1],[1919,1]]},"216":{"position":[[328,1],[404,1],[528,1],[602,1]]},"217":{"position":[[1387,1],[1750,1],[1792,1],[2005,1],[2047,1],[2510,1],[2649,1],[2723,1]]},"218":{"position":[[601,1],[719,1],[721,2],[1697,1]]},"219":{"position":[[66,1],[406,1],[605,1],[794,1],[1355,1],[1430,1]]},"220":{"position":[[1599,1],[2219,1]]},"229":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7499,1],[7586,1],[7686,1],[9293,1],[9305,1],[9485,1],[9492,1]]},"235":{"position":[[447,1]]},"251":{"position":[[718,1],[798,1],[855,1],[894,1],[948,1],[1002,1],[1111,2],[1180,1],[1486,1],[1566,1],[1623,1],[1662,1],[1716,1],[1770,1],[1887,2],[1957,1]]},"252":{"position":[[498,1]]},"258":{"position":[[1866,1]]},"279":{"position":[[2057,1],[2069,1],[2671,1],[4120,1],[4187,1],[4471,1],[4543,1],[6099,1],[6185,1],[6284,1],[7576,1],[7588,1],[7746,1],[7753,1]]},"285":{"position":[[437,1]]},"296":{"position":[[511,1]]},"299":{"position":[[1273,1],[1284,1],[1312,1],[1322,1],[1351,1],[1364,1],[1530,1]]},"301":{"position":[[178,1],[250,1]]},"302":{"position":[[180,1],[252,1],[291,1]]},"303":{"position":[[192,1],[276,1],[315,1]]},"304":{"position":[[213,1],[308,1],[347,1],[970,1]]},"305":{"position":[[228,1],[333,1],[372,1],[1187,1]]},"306":{"position":[[270,1],[371,1]]},"307":{"position":[[478,1],[563,1]]},"309":{"position":[[3282,1]]},"310":{"position":[[110,1],[362,1]]},"314":{"position":[[434,1],[489,1],[542,1],[580,1],[631,1],[677,1],[721,1],[762,1],[822,1],[878,1],[969,1],[1077,1]]},"320":{"position":[[330,1],[357,1],[366,1],[368,2],[391,2],[394,2],[397,2],[437,2],[462,2],[868,1],[1171,2]]},"321":{"position":[[1104,1],[1166,1]]},"324":{"position":[[693,1]]},"326":{"position":[[543,1]]},"333":{"position":[[1122,1],[1194,1],[1267,1],[1308,1],[1352,1],[1402,1],[1448,1]]},"358":{"position":[[804,1],[928,1],[1931,1],[2799,1],[4801,1],[6456,1],[6511,1],[6603,1],[6660,1]]},"359":{"position":[[1397,1]]},"362":{"position":[[1392,1]]},"364":{"position":[[448,1],[476,1]]},"365":{"position":[[280,1]]},"367":{"position":[[644,1],[650,1],[666,1]]},"369":{"position":[[738,1],[779,1],[822,1],[1091,1],[1104,1],[2223,1],[2265,1],[2313,1],[2582,1],[2595,1],[4525,1]]},"376":{"position":[[231,1],[259,1],[291,1],[349,1],[397,1],[399,1],[424,1],[458,1],[509,1],[550,1],[691,1],[717,1]]},"377":{"position":[[114,1]]},"378":{"position":[[364,1],[369,2],[903,1]]},"379":{"position":[[119,1],[353,1],[1230,1],[1566,1],[2803,1],[3081,1],[3232,1],[3315,1],[3442,1],[3450,1],[3564,1]]},"380":{"position":[[545,1],[547,1],[602,3],[630,1],[710,1],[799,2],[880,1],[990,1],[992,1],[994,3],[998,1],[1000,1]]},"385":{"position":[[166,2],[294,2]]},"390":{"position":[[225,1],[269,1],[271,1],[301,1],[303,1],[373,1],[451,1],[530,1],[550,1],[552,1],[640,1],[683,1],[685,1],[781,1],[861,1],[946,1],[1030,1],[1111,1]]},"402":{"position":[[891,1],[1236,1],[1266,1],[1349,2],[1352,1],[1377,1],[1379,2],[1403,2],[1417,2],[1426,1],[1428,2],[1480,2],[1497,2],[1506,1],[1508,2],[1554,2],[1567,2],[1576,1],[1578,2],[1620,2],[1623,1],[1625,2],[2387,1],[2389,1],[2531,2],[2602,1],[2647,1],[2783,3],[2787,3],[3406,1],[3408,1],[3534,2],[3605,1],[3650,1],[3790,3],[3794,3],[5638,1],[5640,1],[5763,2],[5766,1],[5889,1],[5891,1],[6211,1],[6213,1],[6365,2],[6368,1],[6518,1],[6520,1]]},"404":{"position":[[1928,1],[2456,1]]},"424":{"position":[[1,1],[75,1],[172,1]]},"426":{"position":[[62,1],[131,1],[197,1]]},"446":{"position":[[179,1],[199,1]]},"452":{"position":[[598,1]]},"454":{"position":[[302,4],[396,4]]},"479":{"position":[[64,5]]},"497":{"position":[[418,1]]},"498":{"position":[[333,1],[430,1],[451,1],[497,1],[509,1],[533,1],[589,1],[634,1],[676,1],[687,1],[693,1],[734,1],[738,1],[742,1],[771,1],[773,1],[801,1],[803,1],[877,1],[879,1],[949,1],[1029,1],[1043,1],[1047,2],[1059,1]]},"499":{"position":[[352,1],[462,1],[482,1],[540,1],[589,1],[591,2],[594,1],[598,1],[602,1],[617,1],[621,1],[655,1],[666,1],[670,1],[704,1],[732,1],[734,1],[771,1],[839,1],[848,2],[886,1],[890,2],[895,1]]},"522":{"position":[[24,1],[983,1]]},"536":{"position":[[226,1]]},"540":{"position":[[1362,1],[1374,1],[1471,1],[1660,1],[1703,1],[1870,1],[1957,1],[1996,1],[2028,1],[2047,1],[2214,2],[2233,38],[2272,1],[2280,38],[2326,1],[2359,1],[2435,1],[2590,2],[2604,1],[2749,1],[2784,1],[2872,1],[2911,1],[2943,1],[2962,1],[3130,2],[3145,38],[3184,1],[3192,38],[3238,1],[3271,1],[3345,1],[3500,2],[3513,1],[4671,1]]},"542":{"position":[[362,2],[464,1],[628,1],[660,1],[824,1]]},"544":{"position":[[677,1],[758,1],[1050,1],[1093,1],[1104,1],[1122,4],[1148,1],[1192,1],[1506,2],[1786,2]]},"545":{"position":[[257,1],[304,1],[394,1],[509,1]]},"546":{"position":[[1374,1]]},"547":{"position":[[678,1]]},"549":{"position":[[515,1],[569,1]]},"550":{"position":[[401,1],[512,1],[637,1],[749,1]]},"551":{"position":[[833,1],[865,1],[897,2],[934,1],[966,1],[1010,1],[1025,1],[1151,1],[1293,1],[1328,1],[1364,2],[1404,1],[1440,1],[1484,1],[1495,1],[1623,1]]},"552":{"position":[[2254,1],[2285,1],[2358,2],[2397,1],[2433,1],[2516,2]]},"554":{"position":[[671,1]]},"559":{"position":[[449,1],[516,2],[534,2],[592,1],[642,1],[735,1],[802,2],[820,2],[889,1],[940,1]]},"560":{"position":[[612,1],[670,1],[809,1],[868,1]]},"561":{"position":[[358,1],[475,1],[663,1],[774,1]]},"562":{"position":[[325,1],[395,1],[432,1],[502,1],[539,1],[620,1]]},"563":{"position":[[545,1],[633,1],[780,1],[850,1],[882,1],[971,1],[1112,1],[1182,1]]},"565":{"position":[[608,1],[616,1],[652,2],[669,1],[689,2],[736,1],[819,1],[836,1],[870,1],[878,1],[914,2],[947,1],[967,2],[1014,1]]},"566":{"position":[[623,1],[699,1],[768,1],[791,1]]},"571":{"position":[[367,1],[530,1]]},"579":{"position":[[374,1]]},"581":{"position":[[807,1]]},"591":{"position":[[842,1],[950,1]]},"594":{"position":[[327,1]]},"595":{"position":[[302,1]]},"596":{"position":[[175,1]]},"597":{"position":[[260,1]]},"598":{"position":[[221,1]]},"599":{"position":[[230,1],[282,1]]},"609":{"position":[[222,1],[272,1],[349,1],[415,1]]},"610":{"position":[[222,1],[272,1],[349,1],[411,1],[469,1],[564,1]]},"611":{"position":[[805,1]]},"612":{"position":[[326,1],[379,1]]},"613":{"position":[[392,1]]},"614":{"position":[[390,1]]},"615":{"position":[[536,1]]},"616":{"position":[[410,1]]},"617":{"position":[[413,1]]},"618":{"position":[[687,1],[737,1],[790,1]]},"619":{"position":[[634,1],[687,1],[749,1]]},"620":{"position":[[362,1],[415,1]]},"621":{"position":[[360,1],[413,1]]},"623":{"position":[[379,1]]},"624":{"position":[[382,1]]},"625":{"position":[[656,1],[706,1],[759,1]]},"626":{"position":[[606,1]]},"627":{"position":[[654,1]]},"628":{"position":[[622,1]]},"630":{"position":[[400,1]]},"631":{"position":[[622,1],[675,1]]},"632":{"position":[[499,1],[548,1],[711,1],[760,1]]},"633":{"position":[[366,1],[415,1],[481,1],[527,1],[560,1],[604,1],[648,1]]},"634":{"position":[[209,1],[266,1]]},"635":{"position":[[618,1]]},"637":{"position":[[499,1],[577,1],[633,2],[665,2],[785,3],[1454,1],[1901,1],[2144,1],[2146,1],[2230,1],[2232,3],[2248,1],[2264,1]]},"638":{"position":[[343,1],[345,1],[347,1],[401,1]]},"639":{"position":[[342,1],[401,1]]},"640":{"position":[[267,1],[318,1]]},"642":{"position":[[350,1],[498,3],[504,1],[513,1],[543,1]]},"643":{"position":[[147,1],[328,1],[383,1]]},"644":{"position":[[267,1],[318,1]]},"647":{"position":[[295,1]]},"648":{"position":[[402,1]]},"651":{"position":[[414,1]]},"652":{"position":[[592,1]]},"654":{"position":[[768,1],[911,1],[1009,3],[1015,1],[1039,1],[1083,1],[1126,1]]},"664":{"position":[[224,1],[674,1],[716,1],[772,1],[818,1],[895,1],[937,1],[993,1],[1039,1]]},"665":{"position":[[183,1],[641,1],[689,1],[753,1],[820,1],[905,1],[953,1],[1017,1],[1084,1]]},"668":{"position":[[195,1],[289,4],[379,4],[461,4],[605,1],[677,1],[758,1],[920,1],[992,1],[1073,1]]},"669":{"position":[[622,1],[703,1],[738,1],[757,1],[859,1],[943,1],[1027,1],[1063,1],[1082,1],[1186,1]]},"670":{"position":[[582,1],[799,1],[911,1],[1159,1]]},"671":{"position":[[45,1],[385,1]]},"673":{"position":[[1323,1],[1452,1],[1504,1],[1557,1],[1590,1],[1730,1],[1898,1],[1951,1],[1986,1]]},"675":{"position":[[80,1],[204,1]]},"677":{"position":[[385,4],[741,5],[1354,1],[1568,1],[1643,2],[1829,1],[1894,2]]},"678":{"position":[[577,4],[963,5]]},"679":{"position":[[590,4],[984,5],[1527,1]]},"680":{"position":[[641,4],[1017,5]]},"681":{"position":[[437,4],[817,5]]},"682":{"position":[[624,4],[1034,5]]},"683":{"position":[[637,4],[1055,5],[1598,1]]},"684":{"position":[[688,4],[1088,5]]},"685":{"position":[[419,1],[978,1]]},"686":{"position":[[39,1],[233,1]]},"687":{"position":[[166,1],[310,1],[364,1],[414,1],[463,1],[516,1],[594,1],[722,3],[726,2],[729,1],[731,3],[735,1],[737,2],[768,1],[824,1],[851,1],[877,1],[907,1],[967,1],[1032,3],[1036,2],[1039,1],[1041,3],[1045,1],[1047,2]]},"688":{"position":[[70,1],[218,1],[309,4],[342,1],[435,4]]},"689":{"position":[[72,1],[318,1],[347,1],[403,1],[453,1],[502,1],[555,1],[633,1],[761,3],[765,2],[768,1],[770,3],[774,1],[776,2],[808,1],[866,1],[893,1],[919,1],[949,1],[1009,1],[1074,3],[1078,2],[1081,1],[1083,3],[1087,1],[1089,2]]},"690":{"position":[[53,1],[420,1],[481,1],[627,1],[741,1],[927,1],[1147,1],[1210,1],[1284,1],[1362,1],[1463,1],[1537,5],[1553,3]]},"691":{"position":[[101,1],[126,1],[213,1],[416,1],[478,1],[598,1],[784,1],[920,1],[984,1],[1058,1],[1152,1]]},"692":{"position":[[91,1],[485,1],[626,1]]},"693":{"position":[[232,1],[667,1],[793,1]]},"694":{"position":[[57,1],[436,1],[487,1],[504,1],[598,1],[631,1],[730,1],[784,1]]},"695":{"position":[[70,1],[328,1],[355,1],[395,1]]},"697":{"position":[[332,1],[1051,1],[1406,1]]},"698":{"position":[[251,1],[641,1]]},"699":{"position":[[538,2],[554,1],[607,2],[785,2],[801,1],[860,2],[910,1],[1044,1]]},"700":{"position":[[131,1]]},"701":{"position":[[53,1],[568,1],[621,1],[700,1],[757,1],[820,1],[878,1],[912,1],[996,1],[1049,1],[1128,1],[1185,1],[1248,1],[1306,1],[1340,1]]},"702":{"position":[[84,1],[109,1],[196,1],[382,1],[408,1]]},"703":{"position":[[208,1],[660,1],[777,1]]},"704":{"position":[[252,1],[321,1],[436,3],[440,1],[448,1],[474,1],[603,1],[605,2]]},"705":{"position":[[53,1],[177,1],[204,1],[300,1],[348,1],[401,1],[471,1],[501,1],[526,1],[573,1],[605,1],[635,1],[637,3]]},"706":{"position":[[52,1],[181,1],[289,4]]},"707":{"position":[[30,1],[276,1],[302,1],[406,1],[463,1],[516,1],[597,1],[627,1],[657,1],[705,1],[770,1],[845,1],[893,1],[957,1],[1028,1],[1053,1],[1100,1],[1132,1],[1162,1],[1164,3]]},"708":{"position":[[29,1],[354,1],[378,1],[487,1],[519,1],[549,1],[595,1],[688,1],[741,1],[775,1]]},"709":{"position":[[83,1],[347,1],[374,1],[420,1]]},"710":{"position":[[371,1],[446,1],[729,1],[740,1],[812,2],[866,1],[930,2],[1016,1],[1027,1],[1098,2],[1152,1],[1216,2]]},"711":{"position":[[81,1]]},"712":{"position":[[233,1],[313,1],[610,1],[621,1],[699,1],[722,1],[809,1],[820,1],[898,1],[921,1]]},"713":{"position":[[84,1],[436,1],[522,1],[623,1],[709,1]]},"714":{"position":[[207,1],[302,1],[341,1],[343,1],[561,1],[785,1],[1021,1],[1258,1],[1323,1],[1364,1],[1366,1],[1480,1],[1600,1],[1722,1],[1844,1]]},"716":{"position":[[146,1],[312,1],[334,1]]},"717":{"position":[[324,1],[431,1],[519,1],[666,1],[742,1],[934,1],[1023,1],[1164,1],[1240,1]]},"718":{"position":[[52,1],[260,1]]},"719":{"position":[[64,1],[280,1]]},"720":{"position":[[60,1],[294,1],[424,4]]},"722":{"position":[[356,1],[382,1],[437,1],[560,1],[578,1],[663,1],[1504,1],[1519,1],[1536,1],[1577,2],[1601,1],[1642,2],[1711,1],[1728,1],[1746,1],[1787,2],[1811,1],[1852,2]]},"723":{"position":[[276,1],[361,1],[797,1],[1272,1],[1353,1],[1479,1],[1560,1]]},"724":{"position":[[361,1],[446,1],[919,1],[946,1]]},"725":{"position":[[233,1],[251,1],[328,1],[800,1],[827,1],[873,1]]},"726":{"position":[[189,1],[207,1],[279,1],[1038,1],[1111,1],[1215,1],[1288,1]]},"727":{"position":[[171,1],[189,1],[261,1],[696,1],[1089,1],[1176,1],[1294,1],[1381,1]]},"728":{"position":[[285,1],[303,1],[375,1],[766,1],[793,1]]},"729":{"position":[[121,1],[139,1],[208,1],[772,1],[799,1],[851,1]]},"731":{"position":[[518,1],[622,1]]},"732":{"position":[[67,1],[355,1]]},"733":{"position":[[68,1],[357,1]]},"734":{"position":[[90,1],[240,1]]},"735":{"position":[[91,1],[242,1]]},"736":{"position":[[56,1],[72,1],[98,1]]},"737":{"position":[[71,1],[210,1]]},"738":{"position":[[86,1],[102,1],[125,1]]},"739":{"position":[[54,1],[70,1],[94,1]]},"740":{"position":[[14,1],[77,1],[366,1],[621,1],[687,1],[941,1]]},"741":{"position":[[219,1],[1961,1]]},"742":{"position":[[137,1],[153,1],[185,1]]},"743":{"position":[[100,1],[340,4],[351,1],[391,1],[441,1]]},"744":{"position":[[91,1],[374,1],[400,1],[467,1],[518,1],[565,1],[612,1],[658,1],[717,1],[773,1],[816,1],[865,1],[897,1],[948,1],[995,1],[1042,1],[1088,1],[1144,1],[1203,1],[1246,1],[1295,1],[1355,2],[1369,1],[1449,1],[1500,1],[1502,3]]},"746":{"position":[[71,1],[91,1]]},"747":{"position":[[209,1],[295,1],[343,1],[374,1],[412,1],[437,1],[462,1],[486,1],[511,1],[540,1],[567,1],[594,1],[616,1],[649,1],[674,1],[699,1],[723,1],[748,1],[777,1],[804,1],[831,1],[861,1],[897,1],[936,1],[972,1],[1005,1],[1060,1],[1114,1],[1158,1],[1202,1],[1228,1],[1278,1]]},"748":{"position":[[175,1],[199,1]]},"750":{"position":[[116,1],[251,1],[280,1],[380,1],[440,1],[491,1],[534,1],[573,1],[612,1],[656,1],[686,1],[718,1],[746,1],[779,1],[809,1],[859,1],[906,1],[935,1],[963,1],[991,1],[1020,1],[1049,1],[1076,1]]},"751":{"position":[[67,1],[83,1],[111,1]]},"752":{"position":[[63,1],[420,1]]},"753":{"position":[[68,1],[210,1]]},"754":{"position":[[97,1],[397,1]]},"755":{"position":[[96,1],[393,1]]},"756":{"position":[[303,1],[330,1],[848,1],[875,1],[937,1]]},"757":{"position":[[110,1]]},"758":{"position":[[166,1],[474,1]]},"759":{"position":[[173,1]]},"761":{"position":[[33,1],[366,1]]},"762":{"position":[[36,1],[166,1]]},"763":{"position":[[64,1],[80,1],[105,1]]},"764":{"position":[[109,1],[232,1],[258,1],[356,1],[413,1],[464,1],[507,1],[546,1],[585,1],[629,1],[659,1],[691,1],[719,1],[752,1],[782,1],[832,1],[879,1],[908,1],[936,1],[964,1],[993,1],[1022,1],[1049,1]]},"765":{"position":[[297,1],[321,1],[834,1],[858,1],[882,1]]},"766":{"position":[[94,1],[379,1]]},"767":{"position":[[93,1],[375,1]]},"768":{"position":[[156,1],[452,1]]},"769":{"position":[[170,1]]},"770":{"position":[[119,1]]},"771":{"position":[[26,1],[199,1]]},"772":{"position":[[41,1],[171,1]]},"773":{"position":[[73,1],[165,1]]},"774":{"position":[[35,1],[51,1]]},"775":{"position":[[61,1],[194,1]]},"778":{"position":[[379,1],[726,1],[786,1]]},"780":{"position":[[59,1],[480,1]]},"781":{"position":[[40,1],[259,1]]},"782":{"position":[[32,1],[48,1]]},"783":{"position":[[52,1],[272,1]]},"784":{"position":[[74,1],[90,1],[160,4]]},"785":{"position":[[312,1],[349,1]]},"786":{"position":[[158,1],[480,1],[482,1],[605,1],[607,1],[752,1],[754,1],[877,1],[879,1]]},"787":{"position":[[227,1],[940,1],[942,1],[1067,1],[1069,1],[1206,1],[1369,1]]},"789":{"position":[[57,1],[238,1],[250,1]]},"790":{"position":[[77,1],[93,1],[121,1]]},"791":{"position":[[141,1],[283,1]]},"792":{"position":[[140,1],[156,1]]},"793":{"position":[[508,1],[561,1],[635,1],[701,1]]},"795":{"position":[[496,1],[1147,1],[1171,3],[1231,1],[1255,3],[1277,1],[1301,3],[1322,1],[1346,3],[1600,1],[1694,1],[1718,3],[1771,1],[1795,3],[1825,1],[1849,3],[1878,1],[1902,3]]},"797":{"position":[[92,1],[108,1]]},"798":{"position":[[83,1],[99,1]]},"799":{"position":[[288,1],[304,1]]},"800":{"position":[[48,1]]},"801":{"position":[[56,1]]},"802":{"position":[[48,1]]},"803":{"position":[[48,1],[406,2],[444,2],[514,2],[547,2]]},"804":{"position":[[48,1],[426,2],[481,2]]},"805":{"position":[[81,1],[97,1]]},"807":{"position":[[117,1],[267,1]]},"808":{"position":[[78,1],[121,1],[123,1],[288,1],[466,1],[649,1],[839,1],[857,1],[902,1],[904,1],[997,1],[1103,1],[1214,1],[1332,1]]},"809":{"position":[[121,1],[232,4]]},"810":{"position":[[161,1]]},"812":{"position":[[109,1],[127,1],[238,1],[256,1]]},"813":{"position":[[73,1],[234,1],[333,1]]},"814":{"position":[[221,1],[399,1],[425,1],[489,1],[491,1],[493,1],[495,1],[516,1],[518,1],[520,1],[522,1],[566,1],[610,1],[656,1],[658,3]]},"815":{"position":[[45,1],[294,1]]},"816":{"position":[[47,1],[300,1]]}},"keywords":{}}],["0",{"_index":646,"title":{},"content":{"35":{"position":[[315,1],[548,1],[566,1]]},"36":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7485,1],[9233,1],[9246,1],[9422,1],[9435,1]]},"37":{"position":[[341,1],[359,1]]},"40":{"position":[[232,1],[245,1],[340,1],[459,1],[471,1],[566,1],[684,1],[821,1],[841,1],[1125,1],[1170,1],[1307,1],[1460,1],[1462,1],[1464,1]]},"48":{"position":[[570,1],[635,1],[699,1],[810,1],[876,1],[986,1],[1109,1],[1936,2],[2598,2],[4510,1],[5097,2]]},"53":{"position":[[733,1]]},"54":{"position":[[1131,1]]},"55":{"position":[[897,1],[1404,1],[2031,1]]},"56":{"position":[[1033,1]]},"57":{"position":[[520,1],[814,1],[1055,1]]},"59":{"position":[[312,1],[418,1],[464,1]]},"60":{"position":[[536,1]]},"61":{"position":[[1610,1],[2205,1]]},"73":{"position":[[674,2],[1022,2]]},"83":{"position":[[956,2]]},"104":{"position":[[947,1],[952,1],[1189,1],[1322,1],[1823,1],[1828,1],[2103,1],[2255,1]]},"105":{"position":[[1005,1],[1010,1],[1205,1],[1317,1],[1766,1],[1771,1],[2004,1],[2135,1]]},"109":{"position":[[2290,1],[2611,1]]},"111":{"position":[[1252,1],[1257,1],[1477,1],[1597,1]]},"139":{"position":[[933,1],[938,1]]},"148":{"position":[[218,1],[249,1]]},"173":{"position":[[104,1]]},"177":{"position":[[218,1],[249,1]]},"191":{"position":[[218,1],[249,1]]},"213":{"position":[[683,1]]},"214":{"position":[[1021,1],[2232,1]]},"217":{"position":[[1523,1],[1525,1],[1585,1],[1587,1],[1643,1],[1645,1],[1712,1],[1714,1],[1879,1],[1881,1],[2130,1],[2132,1]]},"218":{"position":[[1223,1],[2010,1]]},"225":{"position":[[1163,4],[1319,3]]},"228":{"position":[[344,1],[577,1],[595,1],[1964,1],[2065,1],[2118,1],[2228,1]]},"229":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7485,1],[9233,1],[9246,1],[9422,1],[9435,1]]},"230":{"position":[[360,1],[378,1],[1852,1],[1886,1]]},"231":{"position":[[747,1],[765,1]]},"232":{"position":[[583,1],[601,1]]},"233":{"position":[[361,1]]},"251":{"position":[[1114,1],[1890,2]]},"253":{"position":[[144,1],[153,1],[155,1],[157,1],[315,1],[317,1],[319,1],[409,1],[589,1],[597,1],[843,1],[853,1],[855,1],[882,1],[886,1],[934,1],[1022,1],[1031,1],[1033,1],[1035,1],[1193,1],[1195,1],[1197,1],[1287,1],[1467,1],[1475,1],[1558,1],[1560,1],[1562,1],[1637,1],[1639,1],[1641,1],[1792,1],[1801,1],[1803,1],[1805,1],[1963,1],[1965,1],[1967,1],[2057,1],[2237,1],[2245,1],[2328,1],[2330,1],[2332,1],[2455,1],[2459,1]]},"271":{"position":[[1179,4]]},"273":{"position":[[59,2]]},"274":{"position":[[366,1],[368,1],[466,1]]},"275":{"position":[[1297,1],[1299,1],[1450,1],[1452,1]]},"278":{"position":[[343,1],[575,1],[593,1],[1118,1],[1120,1]]},"279":{"position":[[1900,1],[2071,2],[2640,1],[6085,1]]},"280":{"position":[[367,1],[385,1]]},"283":{"position":[[360,1]]},"299":{"position":[[128,1],[286,1],[375,1],[537,1],[850,2],[932,2],[1032,1],[1103,1],[1148,1],[1150,1],[1413,1],[1415,1]]},"304":{"position":[[1201,1],[1234,1]]},"305":{"position":[[1479,1],[1512,1]]},"314":{"position":[[645,2]]},"321":{"position":[[296,1]]},"330":{"position":[[1484,3],[1494,1]]},"358":{"position":[[2946,1],[3012,1],[3046,1],[3084,1],[3867,2],[4095,3],[4188,2],[4278,1],[4318,1],[4408,1],[4995,1],[5028,1],[5522,1]]},"359":{"position":[[1544,1],[1612,1],[1646,1],[1684,1]]},"379":{"position":[[1624,1],[1626,1],[1628,1]]},"498":{"position":[[740,1]]},"522":{"position":[[1304,1]]},"551":{"position":[[835,1],[968,1],[1295,1],[1442,1]]},"552":{"position":[[2256,1],[2399,1]]},"565":{"position":[[801,1],[1079,1]]},"581":{"position":[[212,1],[410,1],[900,1]]},"591":{"position":[[212,1],[410,1],[825,1],[932,1]]},"607":{"position":[[228,1]]},"613":{"position":[[319,1]]},"618":{"position":[[863,1]]},"619":{"position":[[276,1],[777,1]]},"625":{"position":[[827,1]]},"630":{"position":[[327,1]]},"631":{"position":[[738,1]]},"633":{"position":[[511,1],[587,1],[618,1],[699,1]]},"641":{"position":[[193,2]]},"642":{"position":[[378,1],[502,1]]},"649":{"position":[[586,1]]},"652":{"position":[[808,1],[931,1]]},"654":{"position":[[796,1],[1013,1]]},"681":{"position":[[1530,2],[1703,3]]},"682":{"position":[[1777,2],[1980,3]]},"685":{"position":[[1084,3]]},"687":{"position":[[1014,2]]},"689":{"position":[[1056,2]]},"690":{"position":[[1359,2],[1375,2],[1496,3]]},"704":{"position":[[626,3]]},"712":{"position":[[744,1],[943,1]]},"744":{"position":[[1331,5]]},"799":{"position":[[195,2]]}},"keywords":{}}],["0"",{"_index":2451,"title":{},"content":{"251":{"position":[[1153,8],[1930,8]]},"540":{"position":[[2217,8],[3133,8]]},"681":{"position":[[1420,8],[1602,8]]},"682":{"position":[[1652,8],[1864,8]]},"685":{"position":[[541,8]]},"712":{"position":[[701,8],[900,8]]},"744":{"position":[[458,8],[1440,8]]}},"keywords":{}}],["0,0",{"_index":4807,"title":{},"content":{"645":{"position":[[110,5]]},"646":{"position":[[149,5]]}},"keywords":{}}],["0.0",{"_index":1738,"title":{},"content":{"91":{"position":[[1816,4],[2082,4],[2335,4],[2619,4]]},"213":{"position":[[741,3]]},"219":{"position":[[973,3]]},"253":{"position":[[774,3]]},"559":{"position":[[594,3],[891,3]]},"693":{"position":[[764,3],[903,3]]},"741":{"position":[[2032,4]]},"789":{"position":[[240,3]]}},"keywords":{}}],["0.0.0.0",{"_index":1854,"title":{},"content":{"105":{"position":[[892,7]]},"108":{"position":[[499,7]]},"113":{"position":[[299,7]]},"140":{"position":[[585,9]]},"362":{"position":[[214,7]]}},"keywords":{}}],["0.0.0.0:2900",{"_index":991,"title":{},"content":{"42":{"position":[[2699,12]]}},"keywords":{}}],["0.00",{"_index":3461,"title":{},"content":{"369":{"position":[[1573,5],[1796,5],[1866,5],[3357,5],[3363,5]]}},"keywords":{}}],["0.01",{"_index":3458,"title":{},"content":{"369":{"position":[[1494,5],[1500,5],[1567,5],[1790,5],[2668,5],[2984,5],[2990,5],[3057,5],[3063,5]]}},"keywords":{}}],["0.01745",{"_index":2485,"title":{},"content":{"253":{"position":[[845,7]]}},"keywords":{}}],["0.02",{"_index":1311,"title":{},"content":{"61":{"position":[[2701,4]]},"64":{"position":[[313,4]]},"369":{"position":[[3287,5]]}},"keywords":{}}],["0.046477",{"_index":1585,"title":{},"content":{"82":{"position":[[6538,8]]}},"keywords":{}}],["0.059044",{"_index":1510,"title":{},"content":{"81":{"position":[[797,8]]}},"keywords":{}}],["0.1",{"_index":5328,"title":{},"content":{"717":{"position":[[503,3]]},"786":{"position":[[501,3],[773,3]]},"787":{"position":[[961,3],[1244,3]]}},"keywords":{}}],["0.10",{"_index":3516,"title":{},"content":{"369":{"position":[[3281,5]]}},"keywords":{}}],["0.12",{"_index":3497,"title":{},"content":{"369":{"position":[[2825,5]]}},"keywords":{}}],["0.13",{"_index":3452,"title":{},"content":{"369":{"position":[[1334,5]]}},"keywords":{}}],["0.17",{"_index":3451,"title":{},"content":{"369":{"position":[[1328,5]]}},"keywords":{}}],["0.2",{"_index":1261,"title":{},"content":{"57":{"position":[[1102,3],[1144,3],[1272,3]]}},"keywords":{}}],["0.20",{"_index":3496,"title":{},"content":{"369":{"position":[[2819,5]]}},"keywords":{}}],["0.25",{"_index":797,"title":{},"content":{"36":{"position":[[6692,4],[7494,4]]},"229":{"position":[[6692,4],[7494,4]]},"279":{"position":[[5230,4],[6094,4]]},"565":{"position":[[931,5],[1107,5]]},"722":{"position":[[1259,4]]},"723":{"position":[[1026,4]]},"724":{"position":[[812,4]]},"725":{"position":[[693,4]]},"726":{"position":[[871,4]]},"727":{"position":[[922,4]]},"728":{"position":[[737,4]]},"729":{"position":[[665,4]]}},"keywords":{}}],["0.275",{"_index":807,"title":{},"content":{"36":{"position":[[7580,5]]},"229":{"position":[[7580,5]]},"279":{"position":[[6179,5]]}},"keywords":{}}],["0.3",{"_index":810,"title":{},"content":{"36":{"position":[[7682,3]]},"229":{"position":[[7682,3]]},"279":{"position":[[6280,3]]}},"keywords":{}}],["0.34mib",{"_index":3491,"title":{},"content":{"369":{"position":[[2682,7]]}},"keywords":{}}],["0.39",{"_index":3474,"title":{},"content":{"369":{"position":[[1872,5]]}},"keywords":{}}],["0.3f",{"_index":1333,"title":{},"content":{"64":{"position":[[1129,5],[1241,5]]}},"keywords":{}}],["0.5",{"_index":796,"title":{},"content":{"36":{"position":[[6688,3],[7490,3],[7576,3],[7678,3]]},"229":{"position":[[6688,3],[7490,3],[7576,3],[7678,3]]},"279":{"position":[[5226,3],[6090,3],[6175,3],[6276,3]]},"320":{"position":[[1614,3]]},"630":{"position":[[596,3]]},"654":{"position":[[53,3]]}},"keywords":{}}],["0.72",{"_index":3469,"title":{},"content":{"369":{"position":[[1725,5]]}},"keywords":{}}],["003784",{"_index":5738,"title":{},"content":{"803":{"position":[[346,8]]},"804":{"position":[[363,8]]}},"keywords":{}}],["00:00:10",{"_index":1538,"title":{},"content":{"82":{"position":[[917,8],[1039,8]]}},"keywords":{}}],["00:40:40",{"_index":1551,"title":{},"content":{"82":{"position":[[1278,8]]}},"keywords":{}}],["00:41:33",{"_index":1586,"title":{},"content":{"82":{"position":[[6570,8]]}},"keywords":{}}],["01",{"_index":1537,"title":{},"content":{"82":{"position":[[905,2],[1027,2]]}},"keywords":{}}],["012u",{"_index":4690,"title":{},"content":{"611":{"position":[[866,5]]}},"keywords":{}}],["02u:%02u:%02u.%06u",{"_index":2728,"title":{},"content":{"299":{"position":[[1649,21]]}},"keywords":{}}],["04",{"_index":1512,"title":{},"content":{"81":{"position":[[817,2]]}},"keywords":{}}],["0:0",{"_index":2901,"title":{},"content":{"309":{"position":[[3444,3]]},"310":{"position":[[475,3]]}},"keywords":{}}],["0px",{"_index":4640,"title":{},"content":{"594":{"position":[[329,4]]},"595":{"position":[[304,4]]},"596":{"position":[[177,4]]},"597":{"position":[[262,4]]},"598":{"position":[[223,4]]},"599":{"position":[[284,4]]}},"keywords":{}}],["0x%0x",{"_index":660,"title":{},"content":{"36":{"position":[[189,7]]},"229":{"position":[[189,7]]},"279":{"position":[[184,7]]}},"keywords":{}}],["0x0",{"_index":2228,"title":{},"content":{"213":{"position":[[811,3]]},"228":{"position":[[2236,3]]}},"keywords":{}}],["0x0001",{"_index":3632,"title":{},"content":{"379":{"position":[[659,6],[1519,6],[1526,6],[1533,6],[2051,6],[2058,6],[2065,6],[2551,6],[2558,6],[2565,6]]}},"keywords":{}}],["0x0001cadb",{"_index":1235,"title":{},"content":{"55":{"position":[[2942,10]]}},"keywords":{}}],["0x0003",{"_index":1236,"title":{},"content":{"55":{"position":[[2953,6]]}},"keywords":{}}],["0x0012",{"_index":3633,"title":{},"content":{"379":{"position":[[673,6]]}},"keywords":{}}],["0x03ffffb",{"_index":869,"title":{},"content":{"40":{"position":[[461,9]]}},"keywords":{}}],["0x03fffff",{"_index":871,"title":{},"content":{"40":{"position":[[568,9],[578,9]]}},"keywords":{}}],["0x03fffffb",{"_index":865,"title":{},"content":{"40":{"position":[[234,10]]}},"keywords":{}}],["0x03ffffff",{"_index":867,"title":{},"content":{"40":{"position":[[342,10],[353,10]]}},"keywords":{}}],["0x0883",{"_index":3657,"title":{},"content":{"379":{"position":[[2868,6]]}},"keywords":{}}],["0x0d0a",{"_index":1846,"title":{},"content":{"104":{"position":[[1303,6],[1310,6],[2236,6],[2243,6]]},"105":{"position":[[1298,6],[1305,6],[2116,6],[2123,6]]},"111":{"position":[[1578,6],[1585,6]]}},"keywords":{}}],["0x0ffffffff",{"_index":873,"title":{},"content":{"40":{"position":[[686,11]]}},"keywords":{}}],["0x1",{"_index":4164,"title":{},"content":{"468":{"position":[[309,5]]}},"keywords":{}}],["0x1880",{"_index":3626,"title":{},"content":{"379":{"position":[[445,6],[452,6],[459,6],[1010,6]]}},"keywords":{}}],["0x1882",{"_index":3651,"title":{},"content":{"379":{"position":[[1289,6],[1296,6],[1303,6],[1821,6],[1828,6],[1835,6],[2321,6],[2328,6],[2335,6]]}},"keywords":{}}],["0x1acffc1d",{"_index":1233,"title":{},"content":{"55":{"position":[[2819,11]]},"60":{"position":[[766,10]]}},"keywords":{}}],["0x55",{"_index":1274,"title":{},"content":{"58":{"position":[[378,4]]}},"keywords":{}}],["0x7c454e44",{"_index":1255,"title":{},"content":{"57":{"position":[[492,10],[503,10],[656,10],[740,10],[1027,10],[1038,10]]}},"keywords":{}}],["0x7c47454d53",{"_index":1256,"title":{},"content":{"57":{"position":[[522,12],[871,12],[1057,12]]}},"keywords":{}}],["0x98",{"_index":3640,"title":{},"content":{"379":{"position":[[816,4]]}},"keywords":{}}],["0xa",{"_index":1848,"title":{},"content":{"104":{"position":[[1436,3],[1440,3],[2387,3],[2391,3]]},"105":{"position":[[1410,3],[1414,3],[2246,3],[2250,3]]},"111":{"position":[[1698,3],[1702,3]]}},"keywords":{}}],["0xab",{"_index":2230,"title":{},"content":{"213":{"position":[[820,4]]}},"keywords":{}}],["0xabcd",{"_index":1239,"title":{},"content":{"56":{"position":[[285,7],[584,7],[716,7]]},"61":{"position":[[1397,7],[1529,7]]}},"keywords":{}}],["0xba5eba11",{"_index":1845,"title":{},"content":{"104":{"position":[[969,10],[1845,10]]},"105":{"position":[[1027,10],[1788,10]]},"111":{"position":[[1274,10]]},"139":{"position":[[955,10]]}},"keywords":{}}],["0xc0",{"_index":1182,"title":{},"content":{"52":{"position":[[164,4],[1008,4]]}},"keywords":{}}],["0xc000",{"_index":3629,"title":{},"content":{"379":{"position":[[555,6],[573,6],[1433,6],[1965,6],[2465,6]]}},"keywords":{}}],["0xc5c5c5c5c5c5c579",{"_index":1273,"title":{},"content":{"58":{"position":[[323,18]]}},"keywords":{}}],["0xcafebab",{"_index":1849,"title":{},"content":{"104":{"position":[[1549,10],[2519,10]]},"105":{"position":[[1502,10],[2357,10]]},"111":{"position":[[1809,10]]}},"keywords":{}}],["0xdb",{"_index":1183,"title":{},"content":{"52":{"position":[[180,5],[1042,4]]}},"keywords":{}}],["0xdc",{"_index":1185,"title":{},"content":{"52":{"position":[[343,4],[1100,4]]}},"keywords":{}}],["0xdd",{"_index":1186,"title":{},"content":{"52":{"position":[[446,4],[1158,4]]}},"keywords":{}}],["0xdeadbeef",{"_index":884,"title":{},"content":{"40":{"position":[[980,10],[1382,10]]},"55":{"position":[[2960,10]]},"104":{"position":[[1079,10],[1974,10]]},"105":{"position":[[1116,10],[1896,10]]},"111":{"position":[[1381,10]]},"228":{"position":[[1974,10],[1985,10],[1996,10]]},"230":{"position":[[1762,10],[1773,10],[1784,10]]}},"keywords":{}}],["0xeb90",{"_index":1272,"title":{},"content":{"58":{"position":[[276,6]]}},"keywords":{}}],["0xf005ba11",{"_index":1847,"title":{},"content":{"104":{"position":[[1324,10],[2257,10]]},"105":{"position":[[1319,10],[2137,10]]},"111":{"position":[[1599,10]]}},"keywords":{}}],["0xff",{"_index":2229,"title":{},"content":{"213":{"position":[[815,4]]}},"keywords":{}}],["0xffff",{"_index":1353,"title":{},"content":{"65":{"position":[[1037,6]]},"379":{"position":[[666,6]]}},"keywords":{}}],["0xffffffff",{"_index":828,"title":{},"content":{"36":{"position":[[9235,10],[9424,10]]},"229":{"position":[[9235,10],[9424,10]]}},"keywords":{}}],["1",{"_index":219,"title":{"425":{"position":[[0,2]]}},"content":{"6":{"position":[[508,1],[857,1]]},"7":{"position":[[266,2],[917,1],[1060,1]]},"36":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"40":{"position":[[823,1],[825,1],[856,1],[913,1],[1185,1],[1260,1],[1323,1]]},"42":{"position":[[2501,1],[2635,1],[2745,1],[2833,1],[2943,1],[3053,1]]},"44":{"position":[[413,1],[873,1]]},"48":{"position":[[409,1],[535,1],[558,1],[596,1],[619,1],[661,1],[684,1],[728,1],[796,1],[835,1],[858,1],[937,1],[960,1],[1980,2],[2642,2],[5141,2]]},"55":{"position":[[1597,1],[3159,3]]},"59":{"position":[[328,1],[376,1]]},"61":{"position":[[1893,1]]},"73":{"position":[[748,2],[1112,2]]},"82":{"position":[[1241,2]]},"91":{"position":[[1859,2],[2143,2],[2396,2],[2680,2]]},"104":{"position":[[954,1],[1830,1]]},"105":{"position":[[1012,1],[1773,1]]},"111":{"position":[[606,2],[1234,1],[1259,1],[1362,1],[1458,1],[1555,1],[1677,1],[1784,1],[1887,1]]},"112":{"position":[[411,2],[422,1],[968,1]]},"113":{"position":[[462,2],[473,1],[564,1]]},"139":{"position":[[940,1]]},"140":{"position":[[730,1]]},"200":{"position":[[89,2]]},"214":{"position":[[1393,2]]},"215":{"position":[[834,1]]},"218":{"position":[[716,2],[1555,1]]},"219":{"position":[[1051,1],[1055,1]]},"229":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"253":{"position":[[229,1],[236,1],[238,1],[240,1],[308,1],[884,1],[947,1],[1107,1],[1114,1],[1116,1],[1118,1],[1186,1],[1688,1],[1877,1],[1884,1],[1886,1],[1888,1],[1956,1]]},"258":{"position":[[812,1],[892,1],[999,1],[1096,1],[1170,1],[1241,1],[1322,1],[1447,1],[1647,1],[1740,1],[1820,1]]},"267":{"position":[[268,1],[304,2]]},"279":{"position":[[2059,1],[2132,1],[2653,1]]},"281":{"position":[[1183,1]]},"282":{"position":[[855,1]]},"299":{"position":[[216,1],[298,1],[316,1],[388,1],[550,1],[1122,1]]},"304":{"position":[[1038,1],[1214,1]]},"305":{"position":[[1255,1],[1340,1],[1492,1]]},"309":{"position":[[3851,1]]},"314":{"position":[[648,2],[675,1]]},"321":{"position":[[994,1]]},"330":{"position":[[375,1]]},"344":{"position":[[45,1],[819,1]]},"345":{"position":[[42,1]]},"346":{"position":[[153,1]]},"347":{"position":[[219,1]]},"348":{"position":[[402,1]]},"349":{"position":[[1337,1]]},"350":{"position":[[187,1]]},"351":{"position":[[306,1]]},"352":{"position":[[138,1]]},"353":{"position":[[153,1]]},"354":{"position":[[232,1]]},"355":{"position":[[137,1]]},"356":{"position":[[144,1]]},"358":{"position":[[2885,1],[2887,1],[2889,1],[3059,1],[3659,2],[3681,2],[3707,2],[4284,2],[4869,1],[5008,1],[5323,1],[5505,2]]},"359":{"position":[[1483,1],[1485,1],[1487,1],[1659,1]]},"365":{"position":[[229,1]]},"369":{"position":[[211,1],[1169,1],[1253,1],[1326,1],[1400,1],[1492,1],[1565,1],[1646,1],[1717,1],[1788,1],[1864,1],[2173,1],[2660,1],[2742,1],[2817,1],[2891,1],[2982,1],[3055,1],[3136,1],[3208,1],[3279,1],[3355,1]]},"371":{"position":[[127,2]]},"379":{"position":[[2129,1],[2131,1],[2133,1]]},"404":{"position":[[1815,1]]},"499":{"position":[[600,1],[668,1],[893,1]]},"547":{"position":[[680,2]]},"552":{"position":[[2361,1],[2519,1]]},"565":{"position":[[610,1],[666,2],[852,2],[872,1],[928,2],[1104,2]]},"581":{"position":[[245,2],[441,1]]},"591":{"position":[[245,2],[441,1]]},"619":{"position":[[303,1],[803,1]]},"633":{"position":[[452,1],[598,1]]},"639":{"position":[[179,1]]},"642":{"position":[[348,1]]},"651":{"position":[[416,2]]},"652":{"position":[[906,1]]},"654":{"position":[[766,1]]},"664":{"position":[[184,1]]},"677":{"position":[[109,2],[131,2],[285,2],[315,2],[474,2],[496,2],[651,2],[676,2]]},"678":{"position":[[286,2],[308,2],[477,2],[507,2],[681,2],[703,2],[873,2],[898,2]]},"679":{"position":[[295,2],[317,2],[490,2],[520,2],[698,2],[720,2],[894,2],[919,2]]},"680":{"position":[[355,2],[377,2],[541,2],[571,2],[740,2],[762,2],[927,2],[952,2]]},"681":{"position":[[141,2],[163,2],[325,2],[359,2],[530,2],[552,2],[715,2],[744,2]]},"682":{"position":[[313,2],[335,2],[512,2],[546,2],[732,2],[754,2],[932,2],[961,2]]},"683":{"position":[[322,2],[344,2],[525,2],[559,2],[749,2],[771,2],[953,2],[982,2]]},"684":{"position":[[382,2],[404,2],[576,2],[610,2],[791,2],[813,2],[986,2],[1015,2],[1821,2],[2014,3]]},"690":{"position":[[1521,2]]},"717":{"position":[[721,1],[780,2],[1219,1]]},"741":{"position":[[2069,2]]},"744":{"position":[[1358,3]]},"759":{"position":[[729,1],[880,2],[1000,2]]},"769":{"position":[[733,1],[881,2],[998,2]]}},"keywords":{}}],["1>"",{"_index":4972,"title":{},"content":{"668":{"position":[[276,12],[366,12],[448,12]]}},"keywords":{}}],["1"",{"_index":1330,"title":{},"content":{"64":{"position":[[1093,7]]},"219":{"position":[[1645,7]]},"281":{"position":[[1215,7]]},"282":{"position":[[887,7]]},"533":{"position":[[493,7],[735,8]]},"589":{"position":[[405,7]]},"590":{"position":[[177,7]]},"598":{"position":[[288,7]]},"601":{"position":[[174,7]]},"615":{"position":[[630,7]]},"632":{"position":[[471,7]]},"684":{"position":[[1701,8],[1903,8]]},"697":{"position":[[855,8],[913,8],[977,8],[1042,8],[1125,8],[1210,8],[1268,8],[1332,8],[1397,8],[1482,8]]},"744":{"position":[[888,8]]}},"keywords":{}}],["1)"",{"_index":2698,"title":{},"content":{"299":{"position":[[190,8]]},"708":{"position":[[678,9]]}},"keywords":{}}],["1,000,000",{"_index":4258,"title":{},"content":{"522":{"position":[[504,9]]}},"keywords":{}}],["1,3",{"_index":473,"title":{},"content":{"21":{"position":[[120,3]]}},"keywords":{}}],["1,4",{"_index":474,"title":{},"content":{"21":{"position":[[124,4]]}},"keywords":{}}],["1..5).each",{"_index":210,"title":{},"content":{"6":{"position":[[336,11]]}},"keywords":{}}],["1.0",{"_index":1736,"title":{},"content":{"91":{"position":[[1806,4],[2059,4],[2312,4],[2596,4]]},"213":{"position":[[750,3]]},"362":{"position":[[1257,3]]},"577":{"position":[[502,3]]},"613":{"position":[[340,4]]},"630":{"position":[[348,4]]}},"keywords":{}}],["1.0.0",{"_index":3289,"title":{},"content":{"359":{"position":[[180,5],[2144,5]]}},"keywords":{}}],["1.0.0.gem",{"_index":2748,"title":{},"content":{"301":{"position":[[919,10]]},"359":{"position":[[210,9],[616,9]]},"380":{"position":[[253,9]]}},"keywords":{}}],["1.0.1",{"_index":2997,"title":{},"content":{"326":{"position":[[647,5]]},"359":{"position":[[1994,5]]}},"keywords":{}}],["1.0.1.gem",{"_index":2998,"title":{},"content":{"326":{"position":[[678,9]]},"359":{"position":[[2024,9],[2455,10]]}},"keywords":{}}],["1.0.51",{"_index":3539,"title":{},"content":{"369":{"position":[[4361,6]]}},"keywords":{}}],["1.017035",{"_index":4556,"title":{},"content":{"565":{"position":[[719,8],[997,8]]}},"keywords":{}}],["1.2.3770",{"_index":3541,"title":{},"content":{"369":{"position":[[4383,8]]}},"keywords":{}}],["1.2.5.0",{"_index":3535,"title":{},"content":{"369":{"position":[[4313,7]]}},"keywords":{}}],["1.207gib",{"_index":3457,"title":{},"content":{"369":{"position":[[1425,8]]}},"keywords":{}}],["1.214gib",{"_index":3456,"title":{},"content":{"369":{"position":[[1416,8]]}},"keywords":{}}],["1.32",{"_index":3444,"title":{},"content":{"369":{"position":[[1177,5]]}},"keywords":{}}],["1.49",{"_index":3513,"title":{},"content":{"369":{"position":[[3216,5]]}},"keywords":{}}],["1.5",{"_index":832,"title":{},"content":{"36":{"position":[[9487,4]]},"229":{"position":[[9487,4]]},"279":{"position":[[7748,4]]},"563":{"position":[[617,3]]}},"keywords":{}}],["1.5).to_i",{"_index":829,"title":{},"content":{"36":{"position":[[9295,9]]},"229":{"position":[[9295,9]]},"279":{"position":[[7578,9]]}},"keywords":{}}],["1.512gib",{"_index":3503,"title":{},"content":{"369":{"position":[[2915,8]]}},"keywords":{}}],["1.56",{"_index":3468,"title":{},"content":{"369":{"position":[[1719,5]]}},"keywords":{}}],["1.608.2",{"_index":3543,"title":{},"content":{"369":{"position":[[4410,7]]}},"keywords":{}}],["1.6gib",{"_index":3502,"title":{},"content":{"369":{"position":[[2908,6]]}},"keywords":{}}],["1.8.5",{"_index":3342,"title":{},"content":{"362":{"position":[[1466,5]]}},"keywords":{}}],["1.89",{"_index":3465,"title":{},"content":{"369":{"position":[[1654,5]]}},"keywords":{}}],["1.final",{"_index":3266,"title":{},"content":{"358":{"position":[[4354,9]]}},"keywords":{}}],["10",{"_index":795,"title":{"434":{"position":[[0,3]]}},"content":{"36":{"position":[[6685,2],[7487,2]]},"59":{"position":[[405,3]]},"60":{"position":[[239,3]]},"82":{"position":[[1266,2],[6558,2]]},"138":{"position":[[430,2]]},"229":{"position":[[6685,2],[7487,2]]},"233":{"position":[[1002,2]]},"234":{"position":[[789,2]]},"251":{"position":[[1333,3],[2141,3]]},"279":{"position":[[5223,2],[6087,2],[10823,2],[10888,2]]},"283":{"position":[[990,2]]},"284":{"position":[[786,2]]},"338":{"position":[[513,2],[600,2]]},"344":{"position":[[1012,2]]},"346":{"position":[[1370,2]]},"348":{"position":[[1841,2]]},"349":{"position":[[2825,2]]},"352":{"position":[[1087,2]]},"358":{"position":[[7862,2]]},"367":{"position":[[721,2],[1100,2]]},"369":{"position":[[766,3],[770,3],[2114,2]]},"536":{"position":[[228,3]]},"551":{"position":[[1194,3],[1666,3]]},"565":{"position":[[816,2]]},"585":{"position":[[328,2]]},"586":{"position":[[331,2]]},"597":{"position":[[309,2]]},"598":{"position":[[269,2]]},"599":{"position":[[329,2]]},"622":{"position":[[348,3]]},"648":{"position":[[702,2]]},"649":{"position":[[400,2],[403,2]]},"650":{"position":[[1004,2],[1007,2],[1068,2],[1071,2],[1127,2],[1130,2]]},"653":{"position":[[244,2]]},"664":{"position":[[805,3],[1026,3]]},"677":{"position":[[1331,3],[1478,3],[1597,3],[1683,3],[1763,3],[1853,3]]},"681":{"position":[[1411,3],[1503,3],[1593,3],[1681,3]]},"685":{"position":[[464,3],[1023,3]]},"718":{"position":[[330,2]]},"719":{"position":[[412,3]]},"722":{"position":[[1589,3],[1654,3],[1799,3],[1864,3]]},"723":{"position":[[1341,3],[1422,3],[1548,3],[1629,3]]},"724":{"position":[[1065,3]]},"725":{"position":[[869,3],[918,3]]},"726":{"position":[[1099,3],[1172,3],[1276,3],[1349,3]]},"727":{"position":[[1164,3],[1251,3],[1369,3],[1456,3]]},"728":{"position":[[918,3]]},"729":{"position":[[847,3],[896,3]]}},"keywords":{}}],["10"",{"_index":4558,"title":{},"content":{"565":{"position":[[1094,9]]},"710":{"position":[[868,9],[933,9],[1154,9],[1219,9]]}},"keywords":{}}],["10.0",{"_index":1254,"title":{},"content":{"57":{"position":[[458,4]]},"83":{"position":[[1139,5]]},"104":{"position":[[931,4],[1062,4],[1172,4],[1282,4],[1287,4],[1417,4],[1422,4],[1526,4],[1642,4],[1647,4],[1806,4],[1956,4],[2085,4],[2215,4],[2220,4],[2368,4],[2373,4],[2495,4],[2630,4],[2635,4]]},"105":{"position":[[989,4],[1099,4],[1188,4],[1277,4],[1282,4],[1391,4],[1396,4],[1479,4],[1574,4],[1579,4],[1749,4],[1878,4],[1986,4],[2095,4],[2100,4],[2227,4],[2232,4],[2333,4],[2447,4],[2452,4]]},"106":{"position":[[772,4],[977,4],[1121,4]]},"111":{"position":[[1236,4],[1364,4],[1460,4],[1557,4],[1562,4],[1679,4],[1684,4],[1786,4],[1889,4],[1894,4]]},"130":{"position":[[213,4],[357,4]]},"131":{"position":[[254,4],[450,4]]},"132":{"position":[[257,4],[456,4]]},"139":{"position":[[792,4],[1079,4]]},"140":{"position":[[732,4],[844,4]]},"213":{"position":[[745,4]]},"302":{"position":[[2704,4]]},"314":{"position":[[716,4],[1553,4]]},"358":{"position":[[6887,4]]},"559":{"position":[[614,4],[692,4],[911,4],[990,4]]},"566":{"position":[[598,4],[849,4]]},"698":{"position":[[810,5],[977,5]]},"723":{"position":[[1330,5],[1411,5],[1537,5],[1618,5]]},"727":{"position":[[1153,5],[1240,5],[1358,5],[1445,5]]},"741":{"position":[[2026,5]]},"761":{"position":[[482,5]]}},"keywords":{}}],["10.0"",{"_index":4382,"title":{},"content":{"542":{"position":[[309,11],[557,11],[753,11]]},"639":{"position":[[470,12]]}},"keywords":{}}],["10.0.22621.2134",{"_index":3552,"title":{},"content":{"369":{"position":[[4509,15]]}},"keywords":{}}],["10.0.25131.1002",{"_index":3546,"title":{},"content":{"369":{"position":[[4443,15]]}},"keywords":{}}],["10.16",{"_index":3447,"title":{},"content":{"369":{"position":[[1255,6]]}},"keywords":{}}],["10.5",{"_index":2398,"title":{},"content":{"228":{"position":[[2120,4]]},"230":{"position":[[1854,4]]},"358":{"position":[[2948,4],[3889,5]]},"359":{"position":[[1546,4]]}},"keywords":{}}],["10.time",{"_index":4429,"title":{},"content":{"547":{"position":[[608,8]]}},"keywords":{}}],["100",{"_index":808,"title":{},"content":{"36":{"position":[[7641,3],[7671,3],[7729,3]]},"173":{"position":[[109,3]]},"229":{"position":[[7641,3],[7671,3],[7729,3]]},"253":{"position":[[416,3]]},"279":{"position":[[6240,3],[6269,3],[6327,3]]},"367":{"position":[[234,3]]},"368":{"position":[[813,6]]},"402":{"position":[[5080,3],[5127,3],[5141,3]]},"522":{"position":[[1329,3]]},"544":{"position":[[679,3],[760,3]]},"596":{"position":[[216,3]]},"599":{"position":[[325,3]]},"607":{"position":[[230,3]]},"609":{"position":[[274,4],[667,3]]},"610":{"position":[[274,4]]},"613":{"position":[[324,4]]},"630":{"position":[[332,4],[402,3]]},"631":{"position":[[624,4],[793,3],[797,3]]},"633":{"position":[[516,3]]},"647":{"position":[[361,3],[365,3]]},"648":{"position":[[597,3]]},"650":{"position":[[229,4],[814,5],[871,5]]},"651":{"position":[[449,3]]},"707":{"position":[[815,4]]},"719":{"position":[[406,5]]},"744":{"position":[[364,3]]},"780":{"position":[[550,4]]},"801":{"position":[[165,4]]}},"keywords":{}}],["100,000",{"_index":4394,"title":{},"content":{"544":{"position":[[168,8]]}},"keywords":{}}],["100.0",{"_index":3914,"title":{},"content":{"402":{"position":[[5757,5]]},"704":{"position":[[608,6]]}},"keywords":{}}],["1000",{"_index":765,"title":{},"content":{"36":{"position":[[5457,4],[5792,4]]},"229":{"position":[[5457,4],[5792,4]]},"279":{"position":[[3937,4],[4272,4]]},"367":{"position":[[1116,4]]},"369":{"position":[[2130,4]]},"468":{"position":[[349,6]]},"717":{"position":[[101,5],[767,5]]},"793":{"position":[[600,4],[740,4]]}},"keywords":{}}],["1000.0",{"_index":2721,"title":{},"content":{"299":{"position":[[1314,7]]}},"keywords":{}}],["1000.time",{"_index":5699,"title":{},"content":{"793":{"position":[[547,10]]}},"keywords":{}}],["100000",{"_index":4706,"title":{},"content":{"618":{"position":[[865,6]]},"625":{"position":[[829,6]]},"631":{"position":[[740,6]]}},"keywords":{}}],["1000000.0",{"_index":2723,"title":{},"content":{"299":{"position":[[1353,10]]}},"keywords":{}}],["100gb",{"_index":3012,"title":{},"content":{"330":{"position":[[454,5]]}},"keywords":{}}],["101",{"_index":2247,"title":{},"content":{"214":{"position":[[637,3],[1246,4]]},"215":{"position":[[483,3]]},"218":{"position":[[839,3]]},"220":{"position":[[890,3]]},"253":{"position":[[1294,3]]}},"keywords":{}}],["102",{"_index":2494,"title":{},"content":{"253":{"position":[[2064,3]]},"299":{"position":[[418,3]]}},"keywords":{}}],["1023",{"_index":2905,"title":{},"content":{"309":{"position":[[3853,6]]}},"keywords":{}}],["1024",{"_index":727,"title":{},"content":{"36":{"position":[[3619,4]]},"229":{"position":[[3619,4]]},"279":{"position":[[2724,4]]}},"keywords":{}}],["104mb",{"_index":948,"title":{},"content":{"42":{"position":[[1417,5]]}},"keywords":{}}],["105.2mib",{"_index":3462,"title":{},"content":{"369":{"position":[[1579,8]]}},"keywords":{}}],["106.3mib",{"_index":3506,"title":{},"content":{"369":{"position":[[3069,8]]}},"keywords":{}}],["10hz",{"_index":3399,"title":{},"content":{"367":{"position":[[968,4],[1135,4]]},"369":{"position":[[2149,4]]}},"keywords":{}}],["10m",{"_index":5343,"title":{},"content":{"722":{"position":[[62,5]]}},"keywords":{}}],["11",{"_index":268,"title":{"435":{"position":[[0,3]]}},"content":{"7":{"position":[[704,2],[909,2]]},"36":{"position":[[7573,2]]},"55":{"position":[[3420,2],[3428,2]]},"229":{"position":[[7573,2]]},"253":{"position":[[401,2],[1279,2],[2049,2]]},"279":{"position":[[6172,2]]},"299":{"position":[[410,2]]},"344":{"position":[[1130,2]]},"346":{"position":[[1512,2]]},"348":{"position":[[2076,2]]},"349":{"position":[[2996,2]]},"369":{"position":[[204,2],[751,2],[2236,2],[4271,2]]},"547":{"position":[[733,4]]},"678":{"position":[[1568,3],[1676,3],[1794,3],[1898,3]]},"680":{"position":[[1617,3],[1721,3],[1835,3],[1935,3]]},"682":{"position":[[1643,3],[1750,3],[1855,3],[1958,3]]},"684":{"position":[[1692,3],[1794,3],[1894,3],[1992,3]]}},"keywords":{}}],["11.5",{"_index":4259,"title":{},"content":{"522":{"position":[[536,4]]}},"keywords":{}}],["11.81mib",{"_index":3515,"title":{},"content":{"369":{"position":[[3231,8]]}},"keywords":{}}],["110.0",{"_index":3916,"title":{},"content":{"402":{"position":[[5883,5]]}},"keywords":{}}],["110kb/",{"_index":3478,"title":{},"content":{"369":{"position":[[2154,10]]}},"keywords":{}}],["111mb",{"_index":946,"title":{},"content":{"42":{"position":[[1355,5]]}},"keywords":{}}],["112",{"_index":2227,"title":{},"content":{"213":{"position":[[800,3]]},"216":{"position":[[889,3]]},"217":{"position":[[3010,3]]},"278":{"position":[[1074,3]]},"281":{"position":[[1171,3]]},"299":{"position":[[960,3]]}},"keywords":{}}],["115",{"_index":4831,"title":{},"content":{"652":{"position":[[876,3],[991,3]]}},"keywords":{}}],["115200",{"_index":1923,"title":{},"content":{"111":{"position":[[1543,6],[1665,6],[1875,6]]},"140":{"position":[[718,6]]},"314":{"position":[[573,6]]}},"keywords":{}}],["117.1mib",{"_index":3460,"title":{},"content":{"369":{"position":[[1515,8]]}},"keywords":{}}],["11th",{"_index":4124,"title":{},"content":{"437":{"position":[[206,5]]}},"keywords":{}}],["12",{"_index":809,"title":{"436":{"position":[[0,3]]}},"content":{"36":{"position":[[7675,2]]},"214":{"position":[[731,2],[1292,3]]},"218":{"position":[[933,2]]},"220":{"position":[[1015,2]]},"229":{"position":[[7675,2]]},"279":{"position":[[6273,2]]},"321":{"position":[[1217,2]]},"346":{"position":[[1685,2]]},"348":{"position":[[2220,2]]},"349":{"position":[[3115,2]]},"369":{"position":[[758,3],[762,3]]},"611":{"position":[[807,3]]},"614":{"position":[[392,3]]},"615":{"position":[[538,3]]},"616":{"position":[[412,3]]},"617":{"position":[[415,3]]},"618":{"position":[[689,3]]},"623":{"position":[[381,3]]},"625":{"position":[[658,3]]},"635":{"position":[[620,3]]},"643":{"position":[[149,3],[276,2]]},"647":{"position":[[297,3]]},"648":{"position":[[404,3],[648,2]]},"652":{"position":[[810,2],[813,2]]},"654":{"position":[[459,2]]}},"keywords":{}}],["12.82mib",{"_index":3470,"title":{},"content":{"369":{"position":[[1731,8]]}},"keywords":{}}],["120",{"_index":4707,"title":{},"content":{"618":{"position":[[931,3],[935,3]]},"625":{"position":[[890,3],[894,3]]},"652":{"position":[[751,3]]}},"keywords":{}}],["1234",{"_index":3607,"title":{},"content":{"378":{"position":[[829,4]]}},"keywords":{}}],["1234657585858",{"_index":3910,"title":{},"content":{"402":{"position":[[5660,14],[6233,14]]}},"keywords":{}}],["1234657585859",{"_index":3915,"title":{},"content":{"402":{"position":[[5786,14],[6388,14]]}},"keywords":{}}],["1235",{"_index":3606,"title":{},"content":{"378":{"position":[[807,4]]},"380":{"position":[[1540,5]]}},"keywords":{}}],["127.0.0.1",{"_index":1857,"title":{},"content":{"105":{"position":[[1629,9]]},"108":{"position":[[600,9]]},"140":{"position":[[898,9]]},"309":{"position":[[3632,9]]},"314":{"position":[[1143,9],[1989,9]]},"378":{"position":[[780,9]]},"404":{"position":[[2487,10]]}},"keywords":{}}],["127.0.0.1:2901",{"_index":984,"title":{},"content":{"42":{"position":[[2447,14]]}},"keywords":{}}],["127.0.0.1:2902",{"_index":986,"title":{},"content":{"42":{"position":[[2575,14]]}},"keywords":{}}],["127.0.0.1:6379",{"_index":1002,"title":{},"content":{"42":{"position":[[3005,14]]}},"keywords":{}}],["127.0.0.1:9000",{"_index":997,"title":{},"content":{"42":{"position":[[2895,14]]}},"keywords":{}}],["127.4mib",{"_index":3459,"title":{},"content":{"369":{"position":[[1506,8]]}},"keywords":{}}],["127.5mib",{"_index":3505,"title":{},"content":{"369":{"position":[[3005,8]]}},"keywords":{}}],["128",{"_index":1865,"title":{},"content":{"106":{"position":[[689,3],[973,3],[1117,3]]},"214":{"position":[[913,3],[2149,3]]},"218":{"position":[[1115,3],[1927,3]]},"220":{"position":[[1246,3],[2498,3]]},"299":{"position":[[1051,3]]},"378":{"position":[[1143,3]]}},"keywords":{}}],["128722m",{"_index":1013,"title":{},"content":{"43":{"position":[[348,8]]}},"keywords":{}}],["13",{"_index":3165,"title":{"437":{"position":[[0,3]]}},"content":{"349":{"position":[[3285,2]]}},"keywords":{}}],["13.91",{"_index":3455,"title":{},"content":{"369":{"position":[[1409,6]]}},"keywords":{}}],["133.0",{"_index":2697,"title":{},"content":{"299":{"position":[[182,5]]},"708":{"position":[[670,5]]}},"keywords":{}}],["1348",{"_index":1581,"title":{},"content":{"82":{"position":[[6499,4]]}},"keywords":{}}],["136.6mib",{"_index":3504,"title":{},"content":{"369":{"position":[[2996,8]]}},"keywords":{}}],["14",{"_index":1237,"title":{},"content":{"55":{"position":[[3019,2],[3045,3],[3307,2],[3433,4]]},"253":{"position":[[581,2],[1459,2],[2229,2]]},"299":{"position":[[601,2]]},"349":{"position":[[3505,2]]}},"keywords":{}}],["144",{"_index":3643,"title":{},"content":{"379":{"position":[[891,3]]}},"keywords":{}}],["15",{"_index":1662,"title":{},"content":{"83":{"position":[[3116,2]]},"135":{"position":[[305,2]]},"171":{"position":[[152,2]]},"349":{"position":[[3645,2]]},"364":{"position":[[407,3],[432,3]]},"367":{"position":[[950,3]]},"373":{"position":[[378,4]]},"455":{"position":[[1093,2]]},"612":{"position":[[328,3],[381,3]]},"619":{"position":[[636,3],[689,3]]},"626":{"position":[[1564,3]]},"627":{"position":[[1617,3]]},"628":{"position":[[1589,3]]},"653":{"position":[[247,2]]}},"keywords":{}}],["15.6g",{"_index":3436,"title":{},"content":{"369":{"position":[[824,5],[2315,5]]}},"keywords":{}}],["15.87mib",{"_index":3514,"title":{},"content":{"369":{"position":[[3222,8]]}},"keywords":{}}],["150",{"_index":4398,"title":{},"content":{"544":{"position":[[1052,3]]},"634":{"position":[[344,3]]},"649":{"position":[[596,3]]}},"keywords":{}}],["152.9mib",{"_index":3472,"title":{},"content":{"369":{"position":[[1802,8]]}},"keywords":{}}],["155",{"_index":4623,"title":{},"content":{"587":{"position":[[477,3],[484,3]]},"588":{"position":[[471,3],[478,3]]},"589":{"position":[[500,3],[507,3]]}},"keywords":{}}],["15min",{"_index":3394,"title":{},"content":{"367":{"position":[[799,6]]}},"keywords":{}}],["16",{"_index":213,"title":{},"content":{"6":{"position":[[393,2],[837,2],[892,2],[947,2],[1002,2],[1057,2]]},"7":{"position":[[296,2],[981,2]]},"40":{"position":[[1109,2],[1244,2],[1452,2]]},"48":{"position":[[1753,2],[2386,2],[4914,2]]},"54":{"position":[[498,2]]},"55":{"position":[[960,2]]},"59":{"position":[[268,2]]},"65":{"position":[[597,3],[808,2],[937,2],[1072,2],[1216,2]]},"104":{"position":[[949,2],[1825,2]]},"105":{"position":[[1007,2],[1768,2]]},"111":{"position":[[1254,2]]},"139":{"position":[[935,2]]},"213":{"position":[[667,2],[1108,2]]},"214":{"position":[[621,2],[715,2],[1832,2],[1910,2],[1985,2]]},"215":{"position":[[467,2],[889,2]]},"218":{"position":[[823,2],[917,2],[1610,2],[1688,2],[1763,2]]},"220":{"position":[[874,2],[999,2],[2101,2],[2210,2],[2285,2]]},"253":{"position":[[492,2],[672,2],[1370,2],[1550,2],[2140,2],[2320,2],[2447,2]]},"278":{"position":[[1078,2]]},"280":{"position":[[873,2]]},"281":{"position":[[1175,2]]},"282":{"position":[[847,2]]},"299":{"position":[[482,2],[669,2],[731,2],[890,2],[964,2]]},"304":{"position":[[1031,2]]},"305":{"position":[[1248,2]]},"321":{"position":[[398,3],[803,3]]},"349":{"position":[[3792,2]]},"358":{"position":[[2878,2],[3607,2],[4862,2],[5275,2],[5576,2]]},"359":{"position":[[1476,2]]},"369":{"position":[[84,2],[2299,3]]},"379":{"position":[[437,2],[547,2],[651,2],[1281,2],[1403,2],[1511,2],[1813,2],[1935,2],[2043,2],[2313,2],[2435,2],[2543,2],[2860,2],[2951,2],[3040,2],[3189,2],[3480,2]]},"690":{"position":[[1259,3]]}},"keywords":{}}],["160",{"_index":3530,"title":{},"content":{"369":{"position":[[4157,3]]},"618":{"position":[[739,4]]},"620":{"position":[[364,4]]},"621":{"position":[[362,4]]},"625":{"position":[[708,4]]}},"keywords":{}}],["161",{"_index":1927,"title":{},"content":{"112":{"position":[[252,3],[949,3]]}},"keywords":{}}],["162",{"_index":1951,"title":{},"content":{"113":{"position":[[217,3],[545,3]]}},"keywords":{}}],["163",{"_index":4841,"title":{},"content":{"654":{"position":[[675,3],[683,3],[1179,3],[1187,3]]}},"keywords":{}}],["16383",{"_index":2477,"title":{},"content":{"253":{"position":[[591,5],[1469,5],[2239,5]]}},"keywords":{}}],["167.8mib",{"_index":3517,"title":{},"content":{"369":{"position":[[3293,8]]}},"keywords":{}}],["169.8mib",{"_index":3473,"title":{},"content":{"369":{"position":[[1811,8]]}},"keywords":{}}],["1697298167748",{"_index":5102,"title":{},"content":{"685":{"position":[[1069,14]]}},"keywords":{}}],["1697298167749155717",{"_index":5103,"title":{},"content":{"685":{"position":[[1117,22],[1157,22]]}},"keywords":{}}],["1697298923745982470",{"_index":5173,"title":{},"content":{"691":{"position":[[995,22],[1035,22]]}},"keywords":{}}],["1698026776573904132",{"_index":5775,"title":{},"content":{"808":{"position":[[1311,20]]}},"keywords":{}}],["1698026776574105465",{"_index":5774,"title":{},"content":{"808":{"position":[[1192,21]]}},"keywords":{}}],["1698026776574347007",{"_index":5772,"title":{},"content":{"808":{"position":[[1081,21]]}},"keywords":{}}],["1698074299509456507",{"_index":5770,"title":{},"content":{"808":{"position":[[975,21]]}},"keywords":{}}],["16gb",{"_index":3011,"title":{},"content":{"330":{"position":[[435,4]]}},"keywords":{}}],["17",{"_index":3170,"title":{},"content":{"349":{"position":[[3956,2]]},"369":{"position":[[2291,3]]}},"keywords":{}}],["17.78",{"_index":3492,"title":{},"content":{"369":{"position":[[2744,6]]}},"keywords":{}}],["1700.r",{"_index":3548,"title":{},"content":{"369":{"position":[[4466,7]]}},"keywords":{}}],["172.16.9.112",{"_index":3646,"title":{},"content":{"379":{"position":[[951,13]]}},"keywords":{}}],["172.20.0.8",{"_index":3691,"title":{},"content":{"380":{"position":[[1823,11],[2004,12]]}},"keywords":{}}],["172.20.0.9.port_tm",{"_index":3684,"title":{},"content":{"380":{"position":[[1153,18]]}},"keywords":{}}],["179.2mib",{"_index":3518,"title":{},"content":{"369":{"position":[[3302,8]]}},"keywords":{}}],["18",{"_index":2476,"title":{},"content":{"253":{"position":[[578,2],[1456,2],[2226,2]]},"299":{"position":[[598,2]]},"349":{"position":[[4054,2]]},"369":{"position":[[2303,3]]},"614":{"position":[[460,2]]},"615":{"position":[[642,2]]},"617":{"position":[[500,2]]},"618":{"position":[[876,2]]},"623":{"position":[[458,2]]},"624":{"position":[[463,2]]},"625":{"position":[[840,2]]},"635":{"position":[[688,2]]},"647":{"position":[[448,2]]}},"keywords":{}}],["180",{"_index":4420,"title":{},"content":{"545":{"position":[[518,3]]},"650":{"position":[[1010,3],[1014,3]]}},"keywords":{}}],["180.0",{"_index":2482,"title":{},"content":{"253":{"position":[[762,5],[768,5]]}},"keywords":{}}],["180.0"",{"_index":4419,"title":{},"content":{"545":{"position":[[496,12]]}},"keywords":{}}],["185",{"_index":4842,"title":{},"content":{"654":{"position":[[679,3],[1183,3]]}},"keywords":{}}],["1883",{"_index":1884,"title":{},"content":{"109":{"position":[[623,4],[1368,4]]},"110":{"position":[[616,4],[1709,4]]}},"keywords":{}}],["19",{"_index":3173,"title":{},"content":{"349":{"position":[[4153,2]]}},"keywords":{}}],["19.63",{"_index":3508,"title":{},"content":{"369":{"position":[[3138,6]]}},"keywords":{}}],["192",{"_index":2403,"title":{},"content":{"228":{"position":[[2224,3]]}},"keywords":{}}],["192.168.1.249",{"_index":1947,"title":{},"content":{"112":{"position":[[935,13]]}},"keywords":{}}],["19200",{"_index":1921,"title":{},"content":{"111":{"position":[[1447,5]]}},"keywords":{}}],["1958",{"_index":2705,"title":{},"content":{"299":{"position":[[776,5]]}},"keywords":{}}],["1970",{"_index":1111,"title":{},"content":{"48":{"position":[[2830,5],[3264,5]]},"82":{"position":[[912,4],[1034,4]]},"402":{"position":[[4370,6]]}},"keywords":{}}],["1:2)"",{"_index":1325,"title":{},"content":{"64":{"position":[[758,12]]}},"keywords":{}}],["1][0",{"_index":5452,"title":{},"content":{"744":{"position":[[1396,6]]}},"keywords":{}}],["1d",{"_index":4721,"title":{},"content":{"626":{"position":[[1551,3]]},"627":{"position":[[1604,3]]},"628":{"position":[[1576,3]]}},"keywords":{}}],["1hr",{"_index":3430,"title":{},"content":{"369":{"position":[[676,3]]}},"keywords":{}}],["1hz",{"_index":3398,"title":{},"content":{"367":{"position":[[936,3]]},"522":{"position":[[549,3]]}},"keywords":{}}],["1ivz2l0b",{"_index":1555,"title":{},"content":{"82":{"position":[[2365,8],[5830,8]]}},"keywords":{}}],["1s",{"_index":3334,"title":{},"content":{"362":{"position":[[488,2],[818,2],[1140,2]]},"717":{"position":[[703,2],[1201,2]]}},"keywords":{}}],["1st",{"_index":1110,"title":{},"content":{"48":{"position":[[2825,4],[3259,4]]},"299":{"position":[[771,4]]},"402":{"position":[[4365,4]]}},"keywords":{}}],["1}"",{"_index":4366,"title":{},"content":{"540":{"position":[[2606,9],[3515,9]]},"542":{"position":[[630,9],[826,9]]}},"keywords":{}}],["2",{"_index":230,"title":{"426":{"position":[[0,2]]}},"content":{"6":{"position":[[912,1]]},"20":{"position":[[466,2]]},"40":{"position":[[698,1]]},"48":{"position":[[432,1]]},"55":{"position":[[2907,2],[3037,1]]},"62":{"position":[[751,2]]},"83":{"position":[[3522,1]]},"92":{"position":[[1280,2],[1442,2],[1630,2],[1792,2]]},"93":{"position":[[820,2]]},"112":{"position":[[414,2]]},"113":{"position":[[465,2]]},"200":{"position":[[87,1]]},"214":{"position":[[557,1],[559,1],[561,1],[1223,2],[1390,2],[1777,1],[1921,1]]},"215":{"position":[[403,1],[405,1],[407,1]]},"218":{"position":[[713,2],[759,1],[761,1],[763,1],[1699,1]]},"219":{"position":[[1053,1]]},"220":{"position":[[2221,1]]},"231":{"position":[[2124,1],[2126,1],[2128,1]]},"232":{"position":[[1964,1],[1966,1],[1968,1]]},"253":{"position":[[495,1],[1373,1],[2143,1]]},"299":{"position":[[485,1],[563,1]]},"314":{"position":[[654,1]]},"330":{"position":[[445,2]]},"344":{"position":[[143,1]]},"345":{"position":[[179,1]]},"346":{"position":[[257,1]]},"347":{"position":[[332,1]]},"348":{"position":[[571,1]]},"349":{"position":[[1676,1]]},"350":{"position":[[372,1]]},"351":{"position":[[391,1]]},"352":{"position":[[257,1]]},"353":{"position":[[258,1]]},"354":{"position":[[347,1]]},"355":{"position":[[229,1]]},"356":{"position":[[223,1]]},"368":{"position":[[104,1]]},"379":{"position":[[2629,1],[2631,1],[2633,1]]},"404":{"position":[[2581,1]]},"540":{"position":[[424,1]]},"565":{"position":[[618,1],[880,1]]},"581":{"position":[[469,1]]},"591":{"position":[[469,1]]},"613":{"position":[[591,1]]},"633":{"position":[[459,1],[641,1]]},"651":{"position":[[502,1]]},"677":{"position":[[155,2],[177,2],[341,2],[371,2],[520,2],[542,2],[702,2],[727,2]]},"678":{"position":[[332,2],[354,2],[533,2],[563,2],[727,2],[749,2],[924,2],[949,2]]},"679":{"position":[[341,2],[363,2],[546,2],[576,2],[744,2],[766,2],[945,2],[970,2]]},"680":{"position":[[401,2],[423,2],[597,2],[627,2],[786,2],[808,2],[978,2],[1003,2]]},"681":{"position":[[187,2],[209,2],[389,2],[423,2],[576,2],[598,2],[774,2],[803,2]]},"682":{"position":[[359,2],[381,2],[576,2],[610,2],[778,2],[800,2],[991,2],[1020,2]]},"683":{"position":[[368,2],[390,2],[589,2],[623,2],[795,2],[817,2],[1012,2],[1041,2]]},"684":{"position":[[428,2],[450,2],[640,2],[674,2],[837,2],[859,2],[1045,2],[1074,2]]},"685":{"position":[[1247,4]]}},"keywords":{}}],["2"",{"_index":1335,"title":{},"content":{"64":{"position":[[1205,7]]},"214":{"position":[[656,7],[1855,7]]},"215":{"position":[[502,7],[912,7]]},"218":{"position":[[858,7],[1633,7]]},"219":{"position":[[1723,7]]},"220":{"position":[[909,7],[2124,7]]},"589":{"position":[[468,7]]},"598":{"position":[[312,7]]},"601":{"position":[[248,7]]},"632":{"position":[[682,7]]}},"keywords":{}}],["2.0",{"_index":1696,"title":{"86":{"position":[[9,4]]}},"content":{"86":{"position":[[61,3]]}},"keywords":{}}],["2.5",{"_index":2399,"title":{},"content":{"228":{"position":[[2125,3]]},"230":{"position":[[1859,3]]},"358":{"position":[[2953,3]]},"359":{"position":[[1185,4]]}},"keywords":{}}],["2.5.then",{"_index":3263,"title":{},"content":{"358":{"position":[[3918,8]]}},"keywords":{}}],["2.x",{"_index":2549,"title":{},"content":{"263":{"position":[[538,3],[554,3]]},"309":{"position":[[1467,3]]}},"keywords":{}}],["20",{"_index":3175,"title":{},"content":{"349":{"position":[[4267,2]]},"367":{"position":[[985,2]]},"369":{"position":[[2295,3]]},"611":{"position":[[882,2],[930,2]]},"619":{"position":[[746,2]]}},"keywords":{}}],["20.0",{"_index":2656,"title":{},"content":{"279":{"position":[[10308,4],[10313,4]]},"285":{"position":[[551,4],[556,4]]},"296":{"position":[[625,4],[630,4]]},"305":{"position":[[1373,4],[1378,4]]},"560":{"position":[[672,4],[870,4]]},"740":{"position":[[485,5],[491,6],[649,5],[655,5],[798,5],[804,6],[969,5],[975,5]]}},"keywords":{}}],["200",{"_index":1497,"title":{},"content":{"81":{"position":[[557,3]]},"82":{"position":[[697,3],[6317,3]]},"216":{"position":[[816,3]]},"217":{"position":[[2937,3]]},"599":{"position":[[232,4]]},"609":{"position":[[224,4],[663,3]]},"610":{"position":[[224,4],[782,3]]},"613":{"position":[[593,3]]},"618":{"position":[[879,3]]},"620":{"position":[[489,3]]},"621":{"position":[[493,3]]},"625":{"position":[[843,3]]},"630":{"position":[[600,3]]},"631":{"position":[[751,3]]},"634":{"position":[[211,4],[268,4]]},"648":{"position":[[593,3]]},"649":{"position":[[406,3],[410,3]]},"780":{"position":[[555,4]]}},"keywords":{}}],["20000",{"_index":5213,"title":{},"content":{"698":{"position":[[882,6],[1049,6]]}},"keywords":{}}],["20175",{"_index":3016,"title":{},"content":{"330":{"position":[[600,5],[745,5]]}},"keywords":{}}],["2021",{"_index":3034,"title":{},"content":{"330":{"position":[[1566,4]]}},"keywords":{}}],["2022",{"_index":4125,"title":{},"content":{"437":{"position":[[212,4]]}},"keywords":{}}],["2022)docker",{"_index":3559,"title":{},"content":{"371":{"position":[[130,11]]}},"keywords":{}}],["2023",{"_index":1514,"title":{},"content":{"81":{"position":[[824,4]]},"82":{"position":[[1273,4],[6565,4]]},"390":{"position":[[283,4]]}},"keywords":{}}],["2024",{"_index":1781,"title":{"96":{"position":[[24,6]]}},"content":{},"keywords":{}}],["2047",{"_index":2472,"title":{},"content":{"253":{"position":[[411,4],[1289,4],[2059,4]]}},"keywords":{}}],["2048",{"_index":448,"title":{},"content":{"20":{"position":[[954,4]]},"60":{"position":[[269,4]]}},"keywords":{}}],["20em",{"_index":4615,"title":{},"content":{"583":{"position":[[298,4]]}},"keywords":{}}],["21",{"_index":3177,"title":{},"content":{"349":{"position":[[4539,2]]},"691":{"position":[[1127,5]]}},"keywords":{}}],["21.27",{"_index":3454,"title":{},"content":{"369":{"position":[[1402,6]]}},"keywords":{}}],["216",{"_index":2725,"title":{},"content":{"299":{"position":[[1521,3]]}},"keywords":{}}],["21:34:47",{"_index":1515,"title":{},"content":{"81":{"position":[[829,8]]}},"keywords":{}}],["22",{"_index":3179,"title":{},"content":{"349":{"position":[[4651,2]]},"369":{"position":[[224,3],[802,2],[2288,2]]}},"keywords":{}}],["220531",{"_index":3547,"title":{},"content":{"369":{"position":[[4459,6]]}},"keywords":{}}],["221.15",{"_index":3500,"title":{},"content":{"369":{"position":[[2893,7]]}},"keywords":{}}],["223e98129fe9",{"_index":942,"title":{},"content":{"42":{"position":[[1212,12]]}},"keywords":{}}],["23",{"_index":3181,"title":{},"content":{"349":{"position":[[4813,2]]}},"keywords":{}}],["23.4",{"_index":5628,"title":{},"content":{"771":{"position":[[266,5]]},"773":{"position":[[143,5],[225,5]]}},"keywords":{}}],["230",{"_index":4823,"title":{},"content":{"650":{"position":[[907,3],[911,3]]}},"keywords":{}}],["238mb",{"_index":950,"title":{},"content":{"42":{"position":[[1477,5]]}},"keywords":{}}],["24",{"_index":4812,"title":{},"content":{"647":{"position":[[405,2]]}},"keywords":{}}],["240",{"_index":2286,"title":{},"content":{"216":{"position":[[517,3]]},"217":{"position":[[2638,3]]}},"keywords":{}}],["24224",{"_index":3317,"title":{},"content":{"362":{"position":[[203,5]]}},"keywords":{}}],["25",{"_index":3183,"title":{},"content":{"349":{"position":[[4960,2]]},"618":{"position":[[792,3]]},"619":{"position":[[743,2]]},"620":{"position":[[417,3]]},"621":{"position":[[415,3]]},"625":{"position":[[761,3]]},"631":{"position":[[677,3]]},"652":{"position":[[873,2],[880,2]]}},"keywords":{}}],["25.0"",{"_index":5222,"title":{},"content":{"699":{"position":[[1169,11]]},"724":{"position":[[1053,11]]},"728":{"position":[[906,11]]}},"keywords":{}}],["250",{"_index":4680,"title":{},"content":{"609":{"position":[[597,3]]},"649":{"position":[[354,3],[588,3],[592,3]]}},"keywords":{}}],["255",{"_index":837,"title":{},"content":{"36":{"position":[[9809,3],[10209,3]]},"229":{"position":[[9809,3],[10209,3]]},"358":{"position":[[4159,5]]}},"keywords":{}}],["256",{"_index":1090,"title":{},"content":{"48":{"position":[[1272,3],[1284,3]]}},"keywords":{}}],["256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426"",{"_index":4821,"title":{},"content":{"649":{"position":[[508,77]]}},"keywords":{}}],["26",{"_index":3184,"title":{},"content":{"349":{"position":[[5073,2]]}},"keywords":{}}],["265",{"_index":452,"title":{},"content":{"20":{"position":[[1012,3]]}},"keywords":{}}],["27",{"_index":3185,"title":{},"content":{"349":{"position":[[5186,2]]}},"keywords":{}}],["28",{"_index":3186,"title":{},"content":{"349":{"position":[[5297,2]]}},"keywords":{}}],["29",{"_index":930,"title":{},"content":{"42":{"position":[[1006,2],[1087,2]]},"349":{"position":[[5463,2]]}},"keywords":{}}],["2900",{"_index":1706,"title":{},"content":{"87":{"position":[[178,4]]}},"keywords":{}}],["2900:2900",{"_index":1046,"title":{},"content":{"44":{"position":[[576,9]]}},"keywords":{}}],["2950",{"_index":2062,"title":{},"content":{"140":{"position":[[834,4],[839,4]]},"314":{"position":[[964,4],[2188,5]]}},"keywords":{}}],["299792458",{"_index":4341,"title":{},"content":{"540":{"position":[[1364,9]]}},"keywords":{}}],["2a46",{"_index":1571,"title":{},"content":{"82":{"position":[[4563,4]]}},"keywords":{}}],["2em",{"_index":4619,"title":{},"content":{"584":{"position":[[350,3]]}},"keywords":{}}],["2f",{"_index":4691,"title":{},"content":{"611":{"position":[[915,4]]}},"keywords":{}}],["2h",{"_index":4722,"title":{},"content":{"626":{"position":[[1555,3]]},"627":{"position":[[1608,3]]},"628":{"position":[[1580,3]]}},"keywords":{}}],["2s",{"_index":4603,"title":{},"content":{"579":{"position":[[287,2]]}},"keywords":{}}],["3",{"_index":232,"title":{"427":{"position":[[0,2]]}},"content":{"6":{"position":[[967,1]]},"40":{"position":[[915,1],[917,1]]},"42":{"position":[[1162,1],[1225,1],[1284,1]]},"48":{"position":[[456,1]]},"55":{"position":[[3091,1],[3337,1],[3423,2]]},"96":{"position":[[40,1],[52,1]]},"112":{"position":[[420,1]]},"113":{"position":[[471,1]]},"214":{"position":[[1387,2]]},"218":{"position":[[710,2]]},"220":{"position":[[785,1],[787,1],[789,1],[2021,1]]},"253":{"position":[[146,1],[227,1],[502,1],[504,1],[506,1],[1024,1],[1105,1],[1380,1],[1382,1],[1384,1],[1794,1],[1875,1],[2150,1],[2152,1],[2154,1]]},"279":{"position":[[10275,1],[10330,1]]},"285":{"position":[[518,1]]},"296":{"position":[[592,1]]},"299":{"position":[[130,1],[214,1],[579,1]]},"344":{"position":[[258,1]]},"345":{"position":[[309,1]]},"346":{"position":[[418,1]]},"347":{"position":[[428,1]]},"348":{"position":[[689,1]]},"349":{"position":[[1855,1]]},"350":{"position":[[530,1]]},"351":{"position":[[487,1]]},"352":{"position":[[366,1]]},"353":{"position":[[347,1]]},"354":{"position":[[449,1]]},"355":{"position":[[325,1]]},"356":{"position":[[303,1]]},"467":{"position":[[818,2]]},"547":{"position":[[835,2]]},"598":{"position":[[267,1]]},"607":{"position":[[188,1]]},"633":{"position":[[469,1]]},"651":{"position":[[531,1]]},"652":{"position":[[594,2]]},"687":{"position":[[1029,2]]},"689":{"position":[[1071,2]]}},"keywords":{}}],["3"",{"_index":2249,"title":{},"content":{"214":{"position":[[749,7],[2008,7]]},"218":{"position":[[951,7],[1786,7]]},"220":{"position":[[1033,7],[2308,7]]},"598":{"position":[[336,7]]},"722":{"position":[[1580,8],[1645,8],[1790,8],[1855,8]]}},"keywords":{}}],["3)instal",{"_index":2912,"title":{},"content":{"313":{"position":[[41,9]]}},"keywords":{}}],["3,17",{"_index":487,"title":{},"content":{"22":{"position":[[151,5]]}},"keywords":{}}],["3,6",{"_index":486,"title":{},"content":{"22":{"position":[[147,3]]}},"keywords":{}}],["3.14",{"_index":2253,"title":{},"content":{"214":{"position":[[845,4],[1316,5]]},"218":{"position":[[1047,4]]},"220":{"position":[[1148,4]]}},"keywords":{}}],["3.2g",{"_index":3435,"title":{},"content":{"369":{"position":[[817,4]]}},"keywords":{}}],["3.74g",{"_index":3485,"title":{},"content":{"369":{"position":[[2307,5]]}},"keywords":{}}],["3.91",{"_index":3509,"title":{},"content":{"369":{"position":[[3145,5]]}},"keywords":{}}],["3.9g",{"_index":3432,"title":{},"content":{"369":{"position":[[774,4]]}},"keywords":{}}],["3.x",{"_index":2550,"title":{},"content":{"263":{"position":[[589,3],[605,4]]}},"keywords":{}}],["30",{"_index":2120,"title":{},"content":{"173":{"position":[[132,3]]},"349":{"position":[[5629,2]]},"579":{"position":[[259,4]]},"622":{"position":[[486,2]]},"627":{"position":[[650,3],[660,2]]},"633":{"position":[[494,3]]}},"keywords":{}}],["30.0",{"_index":2658,"title":{},"content":{"279":{"position":[[10347,4],[10352,4]]},"740":{"position":[[528,5],[534,5],[831,5],[837,5]]},"741":{"position":[[2049,5]]}},"keywords":{}}],["300",{"_index":2304,"title":{},"content":{"217":{"position":[[717,4]]},"367":{"position":[[379,3],[668,3]]}},"keywords":{}}],["304",{"_index":4452,"title":{},"content":{"550":{"position":[[377,4],[488,4],[612,4],[724,4]]},"561":{"position":[[455,4],[753,4]]}},"keywords":{}}],["306",{"_index":4453,"title":{},"content":{"550":{"position":[[382,4],[493,4],[617,4],[729,4]]},"561":{"position":[[460,4],[758,4]]}},"keywords":{}}],["30m",{"_index":4723,"title":{},"content":{"626":{"position":[[1559,4]]},"627":{"position":[[1612,4]]},"628":{"position":[[1584,4]]}},"keywords":{}}],["30px",{"_index":4628,"title":{},"content":{"590":{"position":[[207,4]]}},"keywords":{}}],["31",{"_index":3188,"title":{},"content":{"349":{"position":[[5768,2]]}},"keywords":{}}],["310"",{"_index":4454,"title":{},"content":{"550":{"position":[[391,9],[502,9],[626,10],[738,10]]},"561":{"position":[[465,9],[763,10]]}},"keywords":{}}],["32",{"_index":725,"title":{},"content":{"36":{"position":[[3527,2],[9225,2],[9414,2]]},"40":{"position":[[224,2],[332,2],[451,2],[558,2],[676,2],[964,2],[1372,2]]},"48":{"position":[[238,2],[1211,2],[3514,2]]},"54":{"position":[[464,2]]},"64":{"position":[[1050,2],[1162,2]]},"65":{"position":[[555,2],[601,3],[614,2],[823,2],[952,2],[1086,2],[1230,2]]},"213":{"position":[[732,2],[1046,2],[1168,2]]},"214":{"position":[[550,2],[1770,2]]},"215":{"position":[[396,2],[827,2]]},"218":{"position":[[752,2],[1548,2]]},"219":{"position":[[956,2],[1602,2],[1680,2]]},"220":{"position":[[778,2],[2014,2]]},"228":{"position":[[1966,2],[2047,2],[2050,2],[2109,2]]},"229":{"position":[[3527,2],[9225,2],[9414,2]]},"230":{"position":[[1754,2],[1843,2]]},"231":{"position":[[2113,2],[2116,2]]},"232":{"position":[[1956,2]]},"253":{"position":[[669,2],[752,2],[1547,2],[2317,2]]},"279":{"position":[[2593,2],[7524,2],[7691,2]]},"283":{"position":[[962,2]]},"284":{"position":[[758,2]]},"299":{"position":[[666,2],[816,2],[1244,2]]},"304":{"position":[[1081,2]]},"305":{"position":[[1298,2]]},"321":{"position":[[402,3],[807,3]]},"349":{"position":[[5914,2]]},"358":{"position":[[2937,2],[3818,2],[4912,2]]},"359":{"position":[[1535,2]]},"379":{"position":[[3130,2],[3288,2]]}},"keywords":{}}],["320",{"_index":2667,"title":{},"content":{"283":{"position":[[971,3]]},"284":{"position":[[767,3]]}},"keywords":{}}],["3207",{"_index":1528,"title":{},"content":{"82":{"position":[[744,4]]}},"keywords":{}}],["326mb",{"_index":954,"title":{},"content":{"42":{"position":[[1595,5]]}},"keywords":{}}],["32gb",{"_index":3022,"title":{},"content":{"330":{"position":[[854,4]]}},"keywords":{}}],["33",{"_index":3190,"title":{},"content":{"349":{"position":[[6081,2]]}},"keywords":{}}],["333.8mib",{"_index":3510,"title":{},"content":{"369":{"position":[[3151,8]]}},"keywords":{}}],["33xxwnbu6pnslqhpvlqu5vmzlk0iofk",{"_index":1561,"title":{},"content":{"82":{"position":[[4203,31]]}},"keywords":{}}],["34",{"_index":3191,"title":{},"content":{"349":{"position":[[6229,2]]},"647":{"position":[[383,2]]},"648":{"position":[[645,2]]}},"keywords":{}}],["35",{"_index":3192,"title":{},"content":{"349":{"position":[[6359,2]]},"369":{"position":[[2247,3]]}},"keywords":{}}],["35.4mib",{"_index":3519,"title":{},"content":{"369":{"position":[[3369,7]]}},"keywords":{}}],["350",{"_index":3403,"title":{},"content":{"367":{"position":[[1179,3]]}},"keywords":{}}],["36",{"_index":3193,"title":{},"content":{"349":{"position":[[6521,2]]}},"keywords":{}}],["3650",{"_index":415,"title":{},"content":{"20":{"position":[[370,4],[1053,4],[1111,4]]}},"keywords":{}}],["37",{"_index":3195,"title":{},"content":{"349":{"position":[[6734,2]]}},"keywords":{}}],["37.33mib",{"_index":3475,"title":{},"content":{"369":{"position":[[1878,8]]}},"keywords":{}}],["370.8mib",{"_index":3511,"title":{},"content":{"369":{"position":[[3160,8]]}},"keywords":{}}],["372mb",{"_index":952,"title":{},"content":{"42":{"position":[[1536,5]]}},"keywords":{}}],["38400",{"_index":1919,"title":{},"content":{"111":{"position":[[1352,5]]}},"keywords":{}}],["39",{"_index":3482,"title":{},"content":{"369":{"position":[[2251,3]]}},"keywords":{}}],["392mib",{"_index":3450,"title":{},"content":{"369":{"position":[[1277,6]]}},"keywords":{}}],["4",{"_index":234,"title":{"383":{"position":[[22,1]]},"404":{"position":[[31,2]]},"428":{"position":[[0,2]]}},"content":{"6":{"position":[[1022,1]]},"48":{"position":[[374,1],[471,1]]},"55":{"position":[[2873,2],[2890,2],[2922,2],[3029,1],[3033,1],[3041,1],[3054,1]]},"62":{"position":[[765,1]]},"104":{"position":[[967,1],[1077,1],[1843,1],[1972,1]]},"105":{"position":[[1025,1],[1114,1],[1786,1],[1894,1]]},"111":{"position":[[1272,1],[1379,1]]},"139":{"position":[[953,1]]},"214":{"position":[[1383,3]]},"253":{"position":[[306,1],[680,1],[682,1],[684,1],[1184,1],[1954,1]]},"299":{"position":[[314,1]]},"321":{"position":[[1175,1],[1177,1],[1262,1],[1436,1],[1449,1],[1459,1],[1486,1]]},"344":{"position":[[365,1]]},"345":{"position":[[431,1]]},"346":{"position":[[516,1]]},"347":{"position":[[515,1]]},"348":{"position":[[845,1]]},"349":{"position":[[2074,1]]},"350":{"position":[[710,1]]},"352":{"position":[[496,1]]},"353":{"position":[[444,1]]},"354":{"position":[[544,1]]},"355":{"position":[[418,1]]},"356":{"position":[[377,1]]},"367":{"position":[[452,1]]},"369":{"position":[[74,2],[594,2],[4177,1]]},"383":{"position":[[122,1],[664,1],[744,1],[932,1]]},"404":{"position":[[18,1],[220,1]]},"524":{"position":[[386,1]]},"540":{"position":[[522,1]]},"547":{"position":[[902,2]]},"609":{"position":[[417,2],[675,1]]},"610":{"position":[[413,2],[471,1],[803,1],[805,1]]},"658":{"position":[[167,1]]},"714":{"position":[[161,1]]}},"keywords":{}}],["4).3",{"_index":1316,"title":{},"content":{"62":{"position":[[757,4]]}},"keywords":{}}],["4.0.0",{"_index":2051,"title":{},"content":{"139":{"position":[[9,6]]}},"keywords":{}}],["4.0.7",{"_index":3341,"title":{},"content":{"362":{"position":[[1386,5]]}},"keywords":{}}],["4.05",{"_index":3464,"title":{},"content":{"369":{"position":[[1648,5]]}},"keywords":{}}],["4.09",{"_index":3489,"title":{},"content":{"369":{"position":[[2662,5]]}},"keywords":{}}],["4.16",{"_index":3443,"title":{},"content":{"369":{"position":[[1171,5]]}},"keywords":{}}],["4.22.0",{"_index":3533,"title":{},"content":{"369":{"position":[[4293,6]]}},"keywords":{}}],["4.4.0",{"_index":369,"title":{},"content":{"17":{"position":[[9,6]]},"18":{"position":[[9,6]]}},"keywords":{}}],["4.4.1",{"_index":682,"title":{},"content":{"36":{"position":[[1077,6]]},"229":{"position":[[1077,6]]},"236":{"position":[[9,6]]},"279":{"position":[[1072,6]]},"286":{"position":[[9,6]]}},"keywords":{}}],["4.64g",{"_index":3484,"title":{},"content":{"369":{"position":[[2259,5]]}},"keywords":{}}],["4.9.0",{"_index":3560,"title":{},"content":{"371":{"position":[[150,5]]}},"keywords":{}}],["40",{"_index":3481,"title":{},"content":{"369":{"position":[[2243,3]]},"618":{"position":[[883,2]]},"625":{"position":[[847,2]]}},"keywords":{}}],["40.0",{"_index":5427,"title":{},"content":{"741":{"position":[[2055,5]]}},"keywords":{}}],["400",{"_index":3388,"title":{},"content":{"367":{"position":[[274,3]]},"627":{"position":[[627,3]]},"650":{"position":[[225,3]]}},"keywords":{}}],["401",{"_index":1693,"title":{},"content":{"85":{"position":[[176,3]]}},"keywords":{}}],["401.6mib",{"_index":3449,"title":{},"content":{"369":{"position":[[1268,8]]}},"keywords":{}}],["405.8mib",{"_index":3495,"title":{},"content":{"369":{"position":[[2766,8]]}},"keywords":{}}],["405mb",{"_index":943,"title":{},"content":{"42":{"position":[[1236,5],[1295,5]]}},"keywords":{}}],["407.9mib",{"_index":3494,"title":{},"content":{"369":{"position":[[2757,8]]}},"keywords":{}}],["4096",{"_index":444,"title":{},"content":{"20":{"position":[[917,4]]}},"keywords":{}}],["41.02mib",{"_index":3476,"title":{},"content":{"369":{"position":[[1887,8]]}},"keywords":{}}],["42",{"_index":3483,"title":{},"content":{"369":{"position":[[2255,3]]}},"keywords":{}}],["42.93mib",{"_index":3520,"title":{},"content":{"369":{"position":[[3377,8]]}},"keywords":{}}],["43.54mib",{"_index":3445,"title":{},"content":{"369":{"position":[[1183,8]]}},"keywords":{}}],["430",{"_index":4817,"title":{},"content":{"649":{"position":[[358,3]]}},"keywords":{}}],["431mb",{"_index":936,"title":{},"content":{"42":{"position":[[1100,5]]}},"keywords":{}}],["432mb",{"_index":940,"title":{},"content":{"42":{"position":[[1173,5]]}},"keywords":{}}],["4374",{"_index":1507,"title":{},"content":{"81":{"position":[[763,4]]}},"keywords":{}}],["44.3mib",{"_index":3490,"title":{},"content":{"369":{"position":[[2674,7]]}},"keywords":{}}],["443",{"_index":507,"title":{},"content":{"23":{"position":[[35,3]]},"107":{"position":[[988,3]]}},"keywords":{}}],["446mb",{"_index":933,"title":{},"content":{"42":{"position":[[1019,5]]}},"keywords":{}}],["45",{"_index":4829,"title":{},"content":{"651":{"position":[[493,2],[523,2]]},"652":{"position":[[988,2],[995,2]]}},"keywords":{}}],["450",{"_index":4666,"title":{},"content":{"602":{"position":[[247,3]]}},"keywords":{}}],["46.22mib",{"_index":3466,"title":{},"content":{"369":{"position":[[1660,8]]}},"keywords":{}}],["4693",{"_index":1582,"title":{},"content":{"82":{"position":[[6504,4]]}},"keywords":{}}],["476.8mib",{"_index":3453,"title":{},"content":{"369":{"position":[[1340,8],[1349,8]]}},"keywords":{}}],["47a8dd26",{"_index":1580,"title":{},"content":{"82":{"position":[[6490,8]]}},"keywords":{}}],["48",{"_index":2481,"title":{},"content":{"253":{"position":[[749,2],[1627,2]]},"299":{"position":[[728,2]]}},"keywords":{}}],["480",{"_index":2289,"title":{},"content":{"216":{"position":[[751,3]]},"217":{"position":[[2872,3]]}},"keywords":{}}],["480.2mib",{"_index":3498,"title":{},"content":{"369":{"position":[[2831,8]]}},"keywords":{}}],["481.5mib",{"_index":3499,"title":{},"content":{"369":{"position":[[2840,8]]}},"keywords":{}}],["4aacbaf49f7a",{"_index":935,"title":{},"content":{"42":{"position":[[1074,12]]}},"keywords":{}}],["4c12",{"_index":1572,"title":{},"content":{"82":{"position":[[4568,4]]}},"keywords":{}}],["4cac7a3ea9d3",{"_index":929,"title":{},"content":{"42":{"position":[[993,12]]}},"keywords":{}}],["4gib",{"_index":1074,"title":{},"content":{"48":{"position":[[357,5]]}},"keywords":{}}],["5",{"_index":29,"title":{"383":{"position":[[34,2]]},"429":{"position":[[0,2]]}},"content":{"2":{"position":[[10,1]]},"6":{"position":[[530,1],[1077,1]]},"46":{"position":[[30,1]]},"47":{"position":[[8,1]]},"48":{"position":[[492,1]]},"57":{"position":[[1120,1]]},"64":{"position":[[227,1]]},"82":{"position":[[214,1]]},"83":{"position":[[512,1]]},"107":{"position":[[503,1],[694,1]]},"152":{"position":[[151,2]]},"253":{"position":[[399,1],[1277,1],[2047,1],[2457,1]]},"263":{"position":[[520,1]]},"299":{"position":[[408,1]]},"330":{"position":[[1014,1]]},"332":{"position":[[176,1]]},"343":{"position":[[40,1],[101,1]]},"344":{"position":[[409,1]]},"345":{"position":[[501,1]]},"346":{"position":[[621,1]]},"347":{"position":[[665,1]]},"348":{"position":[[1017,1]]},"349":{"position":[[2168,1]]},"350":{"position":[[878,1]]},"352":{"position":[[585,1]]},"353":{"position":[[620,1]]},"354":{"position":[[644,1]]},"355":{"position":[[501,1]]},"356":{"position":[[488,1]]},"359":{"position":[[1287,1],[1551,1],[2546,1]]},"383":{"position":[[8,1],[134,1],[602,1],[694,1],[790,1],[1104,1],[1209,1],[1456,1],[1639,1],[1960,2]]},"402":{"position":[[143,1],[686,1]]},"424":{"position":[[373,1]]},"499":{"position":[[619,1]]},"540":{"position":[[2226,2],[2616,2],[3142,2],[3525,2]]},"542":{"position":[[381,2],[640,2],[836,2]]},"544":{"position":[[1523,2],[1803,2]]},"554":{"position":[[673,1]]},"579":{"position":[[372,1]]},"628":{"position":[[628,1]]},"633":{"position":[[674,1]]},"647":{"position":[[381,1],[424,1]]},"648":{"position":[[643,1],[697,1]]},"651":{"position":[[467,1],[469,1],[474,1],[487,1],[489,1],[491,1],[518,1]]},"652":{"position":[[871,1],[883,1],[986,1]]},"653":{"position":[[255,1]]},"662":{"position":[[79,2],[146,3]]},"673":{"position":[[176,1]]},"677":{"position":[[1197,1]]},"678":{"position":[[1419,1]]},"679":{"position":[[1440,1]]},"680":{"position":[[1473,1]]},"681":{"position":[[1273,1]]},"682":{"position":[[1490,1]]},"683":{"position":[[1511,1]]},"684":{"position":[[1544,1]]},"699":{"position":[[1126,1]]},"712":{"position":[[653,1],[852,1]]},"714":{"position":[[1476,3],[1596,3],[1716,5],[1839,4]]},"722":{"position":[[1526,1]]},"724":{"position":[[1010,1]]},"725":{"position":[[866,2],[884,1]]},"728":{"position":[[863,1]]},"729":{"position":[[844,2],[862,1]]},"771":{"position":[[241,2]]},"772":{"position":[[220,1]]},"773":{"position":[[123,2],[210,2]]}},"keywords":{}}],["5"",{"_index":4769,"title":{},"content":{"637":{"position":[[1820,9]]},"710":{"position":[[731,8],[815,8],[1018,8],[1101,8]]},"712":{"position":[[612,8],[811,8]]},"714":{"position":[[304,8],[1325,8]]},"726":{"position":[[1090,8],[1163,8],[1267,8],[1340,8]]}},"keywords":{}}],["5.0",{"_index":1260,"title":{},"content":{"57":{"position":[[1098,3],[1268,3]]},"61":{"position":[[2613,3]]},"698":{"position":[[816,4],[983,4]]},"711":{"position":[[637,4],[742,4]]},"723":{"position":[[1336,4],[1417,4],[1543,4],[1624,4]]},"727":{"position":[[1159,4],[1246,4],[1364,4],[1451,4]]}},"keywords":{}}],["5.0.0",{"_index":5111,"title":{"687":{"position":[[34,5]]},"689":{"position":[[29,5]]},"690":{"position":[[31,5]]},"704":{"position":[[28,7]]},"705":{"position":[[33,5]]},"707":{"position":[[29,5]]},"708":{"position":[[16,7]]},"750":{"position":[[21,7]]},"764":{"position":[[18,7]]}},"content":{},"keywords":{}}],["5.0.10",{"_index":685,"title":{},"content":{"36":{"position":[[1325,7]]},"182":{"position":[[9,7]]},"229":{"position":[[1325,7]]},"242":{"position":[[9,7]]},"243":{"position":[[9,7]]},"244":{"position":[[9,7]]},"279":{"position":[[1320,7]]},"291":{"position":[[9,7]]},"292":{"position":[[9,7]]},"293":{"position":[[9,7]]}},"keywords":{}}],["5.0.3",{"_index":5323,"title":{"716":{"position":[[25,7]]},"717":{"position":[[19,7]]}},"content":{},"keywords":{}}],["5.0.6",{"_index":5127,"title":{"688":{"position":[[39,5]]},"706":{"position":[[39,5]]}},"content":{},"keywords":{}}],["5.0.6cf",{"_index":3555,"title":{},"content":{"371":{"position":[[82,8]]}},"keywords":{}}],["5.0.8",{"_index":2180,"title":{},"content":{"200":{"position":[[9,6]]}},"keywords":{}}],["5.0.9",{"_index":3073,"title":{},"content":{"333":{"position":[[488,6]]}},"keywords":{}}],["5.1.0",{"_index":4602,"title":{},"content":{"579":{"position":[[9,6]]}},"keywords":{}}],["5.11",{"_index":1085,"title":{},"content":{"48":{"position":[[912,5]]}},"keywords":{}}],["5.11.0",{"_index":1086,"title":{},"content":{"48":{"position":[[1021,7]]}},"keywords":{}}],["5.11.1",{"_index":315,"title":{},"content":{"11":{"position":[[9,7]]}},"keywords":{}}],["5.11.4",{"_index":5767,"title":{},"content":{"808":{"position":[[945,7]]},"809":{"position":[[548,7],[616,8]]}},"keywords":{}}],["5.12.0",{"_index":2132,"title":{},"content":{"176":{"position":[[9,7]]},"190":{"position":[[9,7]]},"201":{"position":[[9,7]]},"205":{"position":[[9,7]]}},"keywords":{}}],["5.13.0",{"_index":5083,"title":{"685":{"position":[[17,7]]},"687":{"position":[[20,7]]},"688":{"position":[[25,7]]},"689":{"position":[[15,7]]},"690":{"position":[[17,7]]},"705":{"position":[[19,7]]},"706":{"position":[[25,7]]},"707":{"position":[[15,7]]}},"content":{},"keywords":{}}],["5.14.0",{"_index":2425,"title":{},"content":{"245":{"position":[[9,7]]},"246":{"position":[[9,7]]},"247":{"position":[[9,7]]},"248":{"position":[[9,7]]}},"keywords":{}}],["5.15.90.1",{"_index":3537,"title":{},"content":{"369":{"position":[[4337,9]]}},"keywords":{}}],["5.16.0",{"_index":2681,"title":{},"content":{"294":{"position":[[9,7]]}},"keywords":{}}],["5.16.2",{"_index":3037,"title":{},"content":{"331":{"position":[[416,6],[530,7],[804,6]]}},"keywords":{}}],["5.17.1",{"_index":4736,"title":{},"content":{"632":{"position":[[9,7]]}},"keywords":{}}],["5.17.2",{"_index":4745,"title":{},"content":{"633":{"position":[[9,7]]}},"keywords":{}}],["5.18.0",{"_index":692,"title":{},"content":{"36":{"position":[[1576,7]]},"229":{"position":[[1576,7]]},"249":{"position":[[9,7]]},"279":{"position":[[1571,7]]},"295":{"position":[[9,7]]}},"keywords":{}}],["5.19.0",{"_index":2433,"title":{},"content":{"251":{"position":[[9,7]]}},"keywords":{}}],["5.2.0",{"_index":2025,"title":{},"content":{"131":{"position":[[9,6]]},"132":{"position":[[9,6]]},"152":{"position":[[9,6]]},"159":{"position":[[9,6]]},"174":{"position":[[9,6]]},"175":{"position":[[9,6]]}},"keywords":{}}],["5.20.0",{"_index":2431,"title":{},"content":{"250":{"position":[[9,7]]}},"keywords":{}}],["5.3.0",{"_index":2063,"title":{},"content":{"141":{"position":[[9,6]]},"188":{"position":[[9,6]]}},"keywords":{}}],["5.5.0",{"_index":2006,"title":{},"content":{"127":{"position":[[9,6]]},"189":{"position":[[9,6]]}},"keywords":{}}],["5.5.1",{"_index":4672,"title":{},"content":{"605":{"position":[[9,6]]},"626":{"position":[[1276,6],[1443,6]]},"627":{"position":[[1329,6],[1496,6]]},"628":{"position":[[1301,6],[1468,6]]},"652":{"position":[[1185,6]]}},"keywords":{}}],["5.5.2",{"_index":2040,"title":{},"content":{"138":{"position":[[9,6]]}},"keywords":{}}],["5.7.0",{"_index":2067,"title":{},"content":{"142":{"position":[[9,6]]},"143":{"position":[[9,6]]},"144":{"position":[[9,6]]},"145":{"position":[[9,6]]},"146":{"position":[[9,6]]},"147":{"position":[[9,6]]}},"keywords":{}}],["5.8.0",{"_index":5084,"title":{"685":{"position":[[31,5]]}},"content":{},"keywords":{}}],["5.9.1",{"_index":3421,"title":{},"content":{"369":{"position":[[149,5]]}},"keywords":{}}],["5.time",{"_index":2495,"title":{},"content":{"253":{"position":[[2387,7]]}},"keywords":{}}],["5.x",{"_index":1774,"title":{"95":{"position":[[44,5]]}},"content":{},"keywords":{}}],["50",{"_index":806,"title":{},"content":{"36":{"position":[[7541,2],[7570,2],[7629,2]]},"229":{"position":[[7541,2],[7570,2],[7629,2]]},"279":{"position":[[6141,2],[6169,2],[6228,2]]},"330":{"position":[[508,3]]},"367":{"position":[[1012,2]]},"544":{"position":[[1592,3],[1871,3]]},"583":{"position":[[248,2]]},"584":{"position":[[276,2]]},"587":{"position":[[481,2]]},"588":{"position":[[475,2]]},"589":{"position":[[504,2]]},"620":{"position":[[493,2]]},"621":{"position":[[490,2]]},"627":{"position":[[631,2]]},"631":{"position":[[755,2]]},"633":{"position":[[541,2],[575,2],[629,2],[662,2],[696,2],[701,2]]},"651":{"position":[[453,2]]},"652":{"position":[[755,2]]},"653":{"position":[[228,2],[231,2]]}},"keywords":{}}],["50,000",{"_index":5690,"title":{},"content":{"791":{"position":[[116,6]]},"792":{"position":[[115,6]]}},"keywords":{}}],["50.0",{"_index":3912,"title":{},"content":{"402":{"position":[[5713,5]]},"559":{"position":[[632,4],[929,5]]},"741":{"position":[[2037,5]]}},"keywords":{}}],["50.0"",{"_index":4508,"title":{},"content":{"559":{"position":[[701,11],[999,11]]},"564":{"position":[[479,11],[657,11]]}},"keywords":{}}],["500",{"_index":5729,"title":{},"content":{"801":{"position":[[206,4]]},"802":{"position":[[233,4]]}},"keywords":{}}],["50000",{"_index":5212,"title":{},"content":{"698":{"position":[[875,6],[1042,6]]},"792":{"position":[[199,5]]}},"keywords":{}}],["5000000.time",{"_index":4486,"title":{},"content":{"552":{"position":[[2336,13]]}},"keywords":{}}],["50_000_000",{"_index":2094,"title":{},"content":{"154":{"position":[[151,11]]},"157":{"position":[[158,11]]},"161":{"position":[[153,11]]},"164":{"position":[[160,11]]}},"keywords":{}}],["50mb",{"_index":2045,"title":{},"content":{"138":{"position":[[564,5]]},"338":{"position":[[527,5]]}},"keywords":{}}],["51",{"_index":1501,"title":{},"content":{"81":{"position":[[631,2]]}},"keywords":{}}],["51.38mib",{"_index":3446,"title":{},"content":{"369":{"position":[[1192,8]]}},"keywords":{}}],["512",{"_index":4218,"title":{},"content":{"498":{"position":[[689,3]]}},"keywords":{}}],["5375f60abc6c",{"_index":1584,"title":{},"content":{"82":{"position":[[6514,12]]}},"keywords":{}}],["561b128",{"_index":3557,"title":{},"content":{"371":{"position":[[113,7]]}},"keywords":{}}],["57"",{"_index":3648,"title":{},"content":{"379":{"position":[[968,8]]}},"keywords":{}}],["57.295",{"_index":2715,"title":{},"content":{"299":{"position":[[1034,6]]}},"keywords":{}}],["57600",{"_index":1924,"title":{},"content":{"111":{"position":[[1773,5]]}},"keywords":{}}],["5a3003a49199",{"_index":945,"title":{},"content":{"42":{"position":[[1331,12]]}},"keywords":{}}],["5d002c1",{"_index":3829,"title":{},"content":{"393":{"position":[[1269,8]]}},"keywords":{}}],["5m",{"_index":4730,"title":{},"content":{"628":{"position":[[619,2]]}},"keywords":{}}],["5px",{"_index":4641,"title":{},"content":{"594":{"position":[[366,3]]}},"keywords":{}}],["6",{"_index":1066,"title":{"430":{"position":[[0,2]]}},"content":{"48":{"position":[[23,1],[510,1],[1038,1]]},"54":{"position":[[589,1]]},"59":{"position":[[452,2]]},"86":{"position":[[293,1]]},"104":{"position":[[1187,1],[2101,1]]},"105":{"position":[[1203,1],[2002,1]]},"111":{"position":[[1475,1]]},"263":{"position":[[571,1]]},"344":{"position":[[458,1]]},"345":{"position":[[605,1]]},"346":{"position":[[799,1]]},"347":{"position":[[749,1]]},"348":{"position":[[1179,1]]},"349":{"position":[[2308,1]]},"350":{"position":[[1023,1]]},"352":{"position":[[697,1]]},"353":{"position":[[705,1]]},"355":{"position":[[598,1]]},"356":{"position":[[581,1]]},"369":{"position":[[814,2]]},"379":{"position":[[744,1],[746,1],[748,1]]},"609":{"position":[[621,1]]}},"keywords":{}}],["6.0",{"_index":1779,"title":{"96":{"position":[[14,3]]}},"content":{},"keywords":{}}],["6.0.0",{"_index":2084,"title":{},"content":{"148":{"position":[[9,6]]},"177":{"position":[[9,6]]},"191":{"position":[[9,6]]},"202":{"position":[[9,6]]}},"keywords":{}}],["6.1",{"_index":1787,"title":{},"content":{"96":{"position":[[139,5]]}},"keywords":{}}],["6.14",{"_index":3448,"title":{},"content":{"369":{"position":[[1262,5]]}},"keywords":{}}],["6.18",{"_index":3493,"title":{},"content":{"369":{"position":[[2751,5]]}},"keywords":{}}],["60",{"_index":2050,"title":{},"content":{"138":{"position":[[947,2]]},"159":{"position":[[160,3]]},"633":{"position":[[498,3]]}},"keywords":{}}],["60.0",{"_index":2655,"title":{},"content":{"279":{"position":[[10297,4]]},"305":{"position":[[1362,4]]},"402":{"position":[[5839,5]]},"740":{"position":[[472,5],[636,5],[785,5],[956,5]]},"741":{"position":[[2043,5]]}},"keywords":{}}],["600",{"_index":2049,"title":{},"content":{"138":{"position":[[932,3]]},"153":{"position":[[140,4]]},"156":{"position":[[147,4]]},"160":{"position":[[142,4]]},"163":{"position":[[149,4]]},"787":{"position":[[1167,4],[1467,4]]}},"keywords":{}}],["61064218",{"_index":3544,"title":{},"content":{"369":{"position":[[4418,8]]}},"keywords":{}}],["620",{"_index":4682,"title":{},"content":{"610":{"position":[[778,3]]}},"keywords":{}}],["64",{"_index":1105,"title":{},"content":{"48":{"position":[[2744,2],[3099,2]]},"65":{"position":[[608,2],[842,2],[971,2],[1099,2],[1243,2]]},"213":{"position":[[664,2]]},"214":{"position":[[828,2],[2082,2]]},"218":{"position":[[1030,2],[1860,2]]},"220":{"position":[[1131,2],[2401,2]]},"228":{"position":[[2106,2]]},"233":{"position":[[971,2],[974,2]]},"234":{"position":[[761,2]]},"283":{"position":[[959,2]]},"299":{"position":[[813,2]]},"321":{"position":[[410,2],[814,2]]},"402":{"position":[[4285,2]]},"404":{"position":[[409,2],[847,3]]},"690":{"position":[[1243,3]]}},"keywords":{}}],["640",{"_index":2409,"title":{},"content":{"233":{"position":[[983,3]]},"234":{"position":[[770,3]]}},"keywords":{}}],["64bit",{"_index":2410,"title":{},"content":{"233":{"position":[[1005,5]]},"234":{"position":[[792,5]]}},"keywords":{}}],["65535",{"_index":5162,"title":{},"content":{"690":{"position":[[1389,6]]}},"keywords":{}}],["65536",{"_index":1103,"title":{},"content":{"48":{"position":[[2720,6]]}},"keywords":{}}],["66.72",{"_index":3501,"title":{},"content":{"369":{"position":[[2901,6]]}},"keywords":{}}],["666",{"_index":2937,"title":{},"content":{"317":{"position":[[290,3]]}},"keywords":{}}],["69.84mib",{"_index":3467,"title":{},"content":{"369":{"position":[[1669,8]]}},"keywords":{}}],["6d22",{"_index":1506,"title":{},"content":{"81":{"position":[[758,4]]}},"keywords":{}}],["7",{"_index":1926,"title":{"431":{"position":[[0,2]]}},"content":{"111":{"position":[[1966,1]]},"324":{"position":[[383,1]]},"344":{"position":[[523,1]]},"345":{"position":[[711,1]]},"346":{"position":[[913,1]]},"348":{"position":[[1339,1]]},"349":{"position":[[2439,1]]},"350":{"position":[[1138,1]]},"352":{"position":[[794,1]]},"353":{"position":[[791,1]]},"355":{"position":[[693,1]]},"356":{"position":[[667,1]]},"369":{"position":[[805,2],[808,2]]}},"keywords":{}}],["7.0",{"_index":1810,"title":{"97":{"position":[[14,4]]}},"content":{"711":{"position":[[657,5],[757,5]]}},"keywords":{}}],["7.42",{"_index":3512,"title":{},"content":{"369":{"position":[[3210,5]]}},"keywords":{}}],["7.7g",{"_index":3433,"title":{},"content":{"369":{"position":[[781,4],[2267,4]]}},"keywords":{}}],["70",{"_index":4749,"title":{},"content":{"634":{"position":[[348,2]]},"647":{"position":[[426,2]]},"648":{"position":[[699,2]]}},"keywords":{}}],["70,7",{"_index":512,"title":{},"content":{"23":{"position":[[126,4],[131,5]]}},"keywords":{}}],["70.0",{"_index":2654,"title":{},"content":{"279":{"position":[[10292,4]]},"305":{"position":[[1357,4]]},"740":{"position":[[466,5],[630,5],[779,5],[950,5]]}},"keywords":{}}],["7272",{"_index":2074,"title":{},"content":{"144":{"position":[[271,4]]},"182":{"position":[[308,4]]}},"keywords":{}}],["75",{"_index":5681,"title":{},"content":{"787":{"position":[[1172,3],[1472,3]]}},"keywords":{}}],["7777",{"_index":1705,"title":{},"content":{"87":{"position":[[118,6]]}},"keywords":{}}],["7779",{"_index":5578,"title":{},"content":{"761":{"position":[[465,5],[471,5]]}},"keywords":{}}],["787f6e3fc0b",{"_index":949,"title":{},"content":{"42":{"position":[[1453,12]]}},"keywords":{}}],["8",{"_index":697,"title":{"432":{"position":[[0,2]]}},"content":{"36":{"position":[[1814,1],[9818,1],[10218,1]]},"40":{"position":[[814,1],[906,1]]},"42":{"position":[[1344,1],[1406,1],[1466,1],[1525,1],[1584,1]]},"47":{"position":[[42,1]]},"81":{"position":[[486,3]]},"82":{"position":[[6239,3]]},"111":{"position":[[1139,1]]},"140":{"position":[[785,1]]},"213":{"position":[[804,1]]},"214":{"position":[[1014,1],[2225,1]]},"218":{"position":[[1216,1],[2003,1]]},"219":{"position":[[1044,1]]},"229":{"position":[[1814,1],[9818,1],[10218,1]]},"243":{"position":[[238,1]]},"244":{"position":[[243,2]]},"253":{"position":[[875,1],[1630,1]]},"279":{"position":[[1809,1]]},"299":{"position":[[1055,1]]},"304":{"position":[[1162,1]]},"305":{"position":[[1440,1]]},"314":{"position":[[855,1],[876,1]]},"321":{"position":[[395,2],[638,1],[800,2],[1220,1],[1260,1]]},"344":{"position":[[652,1]]},"345":{"position":[[813,1]]},"346":{"position":[[1118,1]]},"348":{"position":[[1511,1]]},"349":{"position":[[2536,1]]},"350":{"position":[[1394,1]]},"352":{"position":[[891,1]]},"355":{"position":[[796,1]]},"356":{"position":[[753,1]]},"358":{"position":[[2997,1],[3988,1],[4956,1]]},"359":{"position":[[1597,1]]},"369":{"position":[[811,2],[858,1]]},"379":{"position":[[737,1],[789,1],[1617,1],[1669,1],[2122,1],[2174,1],[2622,1],[2674,1],[3346,1],[3407,1]]},"624":{"position":[[384,2]]}},"keywords":{}}],["8.8",{"_index":2838,"title":{},"content":{"309":{"position":[[574,4],[1346,3]]}},"keywords":{}}],["80",{"_index":483,"title":{},"content":{"21":{"position":[[242,2]]},"23":{"position":[[55,3]]},"107":{"position":[[355,2],[873,2]]},"108":{"position":[[312,2]]},"213":{"position":[[729,2]]},"253":{"position":[[872,2]]},"330":{"position":[[640,3]]},"540":{"position":[[133,2]]},"609":{"position":[[601,2]]},"613":{"position":[[394,2]]}},"keywords":{}}],["80.0",{"_index":2653,"title":{},"content":{"279":{"position":[[10286,4],[10302,4],[10341,4],[10357,4]]},"285":{"position":[[535,4],[540,4]]},"296":{"position":[[609,4],[614,4]]},"305":{"position":[[1351,4],[1367,4]]},"740":{"position":[[459,5],[478,5],[521,5],[540,6],[623,5],[642,5],[772,5],[791,5],[824,5],[843,6],[943,5],[962,5]]}},"keywords":{}}],["800",{"_index":3389,"title":{},"content":{"367":{"position":[[323,3],[560,3],[589,3],[646,3]]}},"keywords":{}}],["8080",{"_index":1253,"title":{},"content":{"57":{"position":[[448,4],[453,4]]},"104":{"position":[[921,4],[1052,4],[1057,4],[1162,4],[1167,4],[1272,4],[1277,4],[1407,4],[1412,4],[1516,4],[1521,4],[1632,4],[1637,4],[1796,4],[1946,4],[1951,4],[2075,4],[2080,4],[2205,4],[2210,4],[2358,4],[2363,4],[2485,4],[2490,4],[2620,4],[2625,4]]},"105":{"position":[[979,4],[1089,4],[1094,4],[1178,4],[1183,4],[1267,4],[1272,4],[1381,4],[1386,4],[1469,4],[1474,4],[1564,4],[1569,4],[1739,4],[1868,4],[1873,4],[1976,4],[1981,4],[2085,4],[2090,4],[2217,4],[2222,4],[2323,4],[2328,4],[2437,4],[2442,4]]},"106":{"position":[[954,4],[1097,4]]},"114":{"position":[[260,4]]},"130":{"position":[[203,4],[347,4]]},"131":{"position":[[244,4],[440,4]]},"132":{"position":[[247,4],[446,4]]},"139":{"position":[[782,4],[1069,4]]},"302":{"position":[[2694,4]]},"358":{"position":[[6877,4],[7792,4]]},"359":{"position":[[882,4]]}},"keywords":{}}],["8081",{"_index":1844,"title":{},"content":{"104":{"position":[[926,4],[1801,4]]},"105":{"position":[[984,4],[1744,4]]},"106":{"position":[[959,4],[1102,4]]},"130":{"position":[[208,4],[352,4]]},"131":{"position":[[249,4],[445,4]]},"132":{"position":[[252,4],[451,4]]},"139":{"position":[[787,4],[1074,4]]},"302":{"position":[[2699,4]]},"358":{"position":[[6882,4],[7813,4]]}},"keywords":{}}],["8082",{"_index":1867,"title":{},"content":{"106":{"position":[[964,4],[1107,4]]}},"keywords":{}}],["80gb",{"_index":3010,"title":{},"content":{"330":{"position":[[382,4]]}},"keywords":{}}],["83.87mib",{"_index":3463,"title":{},"content":{"369":{"position":[[1588,8]]}},"keywords":{}}],["84.87mib",{"_index":3507,"title":{},"content":{"369":{"position":[[3078,8]]}},"keywords":{}}],["86399999)"",{"_index":2709,"title":{},"content":{"299":{"position":[[855,15]]}},"keywords":{}}],["86400.0",{"_index":2719,"title":{},"content":{"299":{"position":[[1275,8]]}},"keywords":{}}],["88",{"_index":1879,"title":{},"content":{"108":{"position":[[709,2]]}},"keywords":{}}],["8884",{"_index":1894,"title":{},"content":{"109":{"position":[[1566,4]]},"110":{"position":[[1931,4]]}},"keywords":{}}],["8df1",{"_index":1583,"title":{},"content":{"82":{"position":[[6509,4]]}},"keywords":{}}],["8gb",{"_index":3008,"title":{},"content":{"330":{"position":[[366,3],[542,4]]},"404":{"position":[[241,3]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa"",{"_index":1578,"title":{},"content":{"82":{"position":[[5931,81]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyjhbgcioijiuzi1niisinr5ccigoiaislduiiwia2lkiia6ici5njnlmjjims0wzmywltrmzjktytg0zi1hogi4mzcxowfimdeifq.eyjlehaioje2odm2odewndasimlhdci6mty4mzy3oti0mcwianrpijoimmqyyjiynmitnjjkos00yjrjlwi3ytytmgewyjk4mgqymjmwiiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisimf1zci6imh0dha6ly9sb2nhbghvc3q6mjkwmc9hdxrol3jlywxtcy9vcgvuyzmilcjzdwiioijhy2uxztzhms05mze5ltq3nmutymy0my02zjnjywi5zwuyzguilcj0exaioijszwzyzxnoiiwiyxpwijoiyxbpiiwic2vzc2lvbl9zdgf0zsi6imyznzg1oty3ltjhndytngmxmi1hzdbjlwnmzjdmyzq3n2rmosisinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkifq.1hlkdxqkal5tyuhtxsocelzfmnnll9bjoa4oul70x9m","token_type":"bearer","id_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwiyxv0af90aw1lijowlcjqdgkioijhndjkoty1zs1lmzu0ltrim2qtotiyys1howe0zdgwzwyxmtkilcjpc3mioijodhrwoi8vbg9jywxob3n0oji5mdavyxv0ac9yzwfsbxmvb3blbmmziiwiyxvkijoiyxbpiiwic3viijoiywnlmwu2ytetotmxos00nzzllwjmndmtnmyzy2fiowvlmmrliiwidhlwijoisuqilcjhenaioijhcgkilcjzzxnzaw9ux3n0yxrlijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwiyxrfagfzaci6ijnbwe9iskfkyzfpvldld2y0a0q4tkeilcjhy3iioiixiiwic2lkijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwizw1hawxfdmvyawzpzwqiomzhbhnllcjuyw1lijoivghlie9wzxjhdg9yiiwichjlzmvycmvkx3vzzxjuyw1lijoib3blcmf0b3iilcjnaxzlbl9uyw1lijoivghliiwizmftawx5x25hbwuioijpcgvyyxrvcij9.gdll6kokiiadl6jyeuaxqrgcnvuwlqb3rdnwrhjdqyfxshiwofbilmfrersi",{"_index":1560,"title":{},"content":{"82":{"position":[[2466,1736]]}},"keywords":{}}],["9",{"_index":1363,"title":{"433":{"position":[[0,2]]}},"content":{"67":{"position":[[769,1]]},"324":{"position":[[391,1]]},"344":{"position":[[756,1]]},"346":{"position":[[1216,1]]},"348":{"position":[[1675,1]]},"349":{"position":[[2718,1]]},"352":{"position":[[992,1]]},"356":{"position":[[835,1]]}},"keywords":{}}],["9.2",{"_index":2839,"title":{},"content":{"309":{"position":[[588,4],[1354,3]]}},"keywords":{}}],["9.484mib",{"_index":3471,"title":{},"content":{"369":{"position":[[1740,8]]}},"keywords":{}}],["90",{"_index":4384,"title":{},"content":{"542":{"position":[[841,3]]},"633":{"position":[[502,2]]}},"keywords":{}}],["90.0",{"_index":2670,"title":{},"content":{"285":{"position":[[529,4],[545,4]]},"296":{"position":[[603,4],[619,4]]}},"keywords":{}}],["900",{"_index":2114,"title":{},"content":{"171":{"position":[[146,3]]},"602":{"position":[[243,3]]}},"keywords":{}}],["9200",{"_index":3323,"title":{},"content":{"362":{"position":[[337,4],[667,4],[988,4]]}},"keywords":{}}],["94.9438",{"_index":1756,"title":{},"content":{"92":{"position":[[1417,8],[1767,8]]}},"keywords":{}}],["95",{"_index":4828,"title":{},"content":{"651":{"position":[[471,2],[515,2],[520,2]]}},"keywords":{}}],["96",{"_index":2400,"title":{},"content":{"228":{"position":[[2145,2],[2148,2]]},"299":{"position":[[887,2]]}},"keywords":{}}],["9600",{"_index":1917,"title":{},"content":{"111":{"position":[[1224,4]]}},"keywords":{}}],["98df5c0378c2",{"_index":944,"title":{},"content":{"42":{"position":[[1271,12]]}},"keywords":{}}],["999)"",{"_index":2713,"title":{},"content":{"299":{"position":[[935,10]]}},"keywords":{}}],["9a8806bd4be3",{"_index":939,"title":{},"content":{"42":{"position":[[1149,12]]}},"keywords":{}}],["__init__",{"_index":747,"title":{},"content":{"36":{"position":[[4232,8]]},"229":{"position":[[4232,8]]},"279":{"position":[[3181,8]]}},"keywords":{}}],["__init__(self",{"_index":779,"title":{},"content":{"36":{"position":[[5928,14]]},"69":{"position":[[435,14]]},"229":{"position":[[5928,14]]},"279":{"position":[[4408,14]]},"534":{"position":[[390,15]]},"551":{"position":[[1259,15]]},"795":{"position":[[1937,15]]}},"keywords":{}}],["__openc3.log>",{"_index":3337,"title":{},"content":{"362":{"position":[[573,17]]}},"keywords":{}}],["_cbor_template.bin",{"_index":2242,"title":{},"content":{"214":{"position":[[503,18]]}},"keywords":{}}],["_ccsds_apid.txt",{"_index":264,"title":{},"content":{"7":{"position":[[638,15]]}},"keywords":{}}],["_def.txt",{"_index":617,"title":{},"content":{"31":{"position":[[245,8]]}},"keywords":{}}],["_int",{"_index":2015,"title":{},"content":{"128":{"position":[[592,6]]}},"keywords":{}}],["_timeformat",{"_index":2610,"title":{},"content":{"275":{"position":[[781,14]]}},"keywords":{}}],["_timesecond",{"_index":2613,"title":{},"content":{"275":{"position":[[872,12]]}},"keywords":{}}],["a"",{"_index":2978,"title":{},"content":{"321":{"position":[[1202,7]]}},"keywords":{}}],["a/compose.yaml",{"_index":509,"title":{},"content":{"23":{"position":[[64,14]]}},"keywords":{}}],["a/openc3",{"_index":470,"title":{},"content":{"21":{"position":[[56,8]]},"22":{"position":[[79,8]]}},"keywords":{}}],["a86f",{"_index":1508,"title":{},"content":{"81":{"position":[[768,4]]}},"keywords":{}}],["a:4",{"_index":2975,"title":{},"content":{"321":{"position":[[1121,4]]}},"keywords":{}}],["aa158bbb9539",{"_index":953,"title":{},"content":{"42":{"position":[[1571,12]]}},"keywords":{}}],["abbrevi",{"_index":665,"title":{},"content":{"36":{"position":[[400,11],[412,12]]},"229":{"position":[[400,11],[412,12]]},"279":{"position":[[395,11],[407,12]]}},"keywords":{}}],["abil",{"_index":2631,"title":{},"content":{"279":{"position":[[3411,7],[4782,7],[5475,7],[6598,7]]},"445":{"position":[[30,7]]},"464":{"position":[[29,7]]},"497":{"position":[[23,7]]},"526":{"position":[[158,7]]},"554":{"position":[[160,7]]},"811":{"position":[[28,7]]}},"keywords":{}}],["abort",{"_index":1841,"title":{},"content":{"104":{"position":[[581,8],[650,8]]},"105":{"position":[[468,8],[537,8]]},"106":{"position":[[750,8],[823,8]]},"107":{"position":[[445,8],[551,8],[667,8]]},"111":{"position":[[660,8],[729,8]]},"349":{"position":[[6123,8],[6186,5]]},"535":{"position":[[676,5],[696,5]]},"545":{"position":[[325,5]]},"642":{"position":[[404,7],[535,7]]},"654":{"position":[[822,7],[1031,7]]},"687":{"position":[[868,8],[924,7]]},"688":{"position":[[277,9],[403,9]]},"689":{"position":[[910,8],[966,7]]}},"keywords":{}}],["abort"",{"_index":4415,"title":{},"content":{"545":{"position":[[381,12]]},"677":{"position":[[1661,12],[1912,12]]},"689":{"position":[[368,12],[829,12]]}},"keywords":{}}],["abort_cmd",{"_index":5137,"title":{},"content":{"689":{"position":[[337,9],[386,9],[798,9]]}},"keywords":{}}],["abov",{"_index":159,"title":{},"content":{"5":{"position":[[521,5],[1464,6]]},"55":{"position":[[1970,5]]},"79":{"position":[[82,5]]},"83":{"position":[[1869,5]]},"321":{"position":[[996,6],[1340,5]]},"332":{"position":[[1433,5]]},"358":{"position":[[5867,6]]},"380":{"position":[[1127,5],[1783,6]]},"389":{"position":[[978,6]]},"390":{"position":[[558,5]]},"401":{"position":[[25,5]]},"421":{"position":[[721,5]]},"427":{"position":[[85,5]]},"447":{"position":[[133,6],[602,6]]},"467":{"position":[[326,5]]},"473":{"position":[[1542,5]]},"533":{"position":[[235,5]]},"542":{"position":[[913,5]]},"544":{"position":[[813,5]]},"547":{"position":[[785,5],[1206,6]]},"618":{"position":[[421,5]]},"625":{"position":[[390,5]]},"631":{"position":[[400,5]]},"741":{"position":[[1011,5],[1138,5]]}},"keywords":{}}],["above"",{"_index":4678,"title":{},"content":{"607":{"position":[[253,11]]}},"keywords":{}}],["absolut",{"_index":2070,"title":{},"content":{"143":{"position":[[165,8],[384,8]]},"181":{"position":[[149,8],[368,8]]},"383":{"position":[[1076,8]]},"777":{"position":[[417,8]]}},"keywords":{}}],["abus",{"_index":4119,"title":{},"content":{"434":{"position":[[802,5]]}},"keywords":{}}],["accept",{"_index":1280,"title":{},"content":{"59":{"position":[[354,10]]},"83":{"position":[[811,8],[843,7],[2314,8],[2373,7]]},"88":{"position":[[168,8]]},"105":{"position":[[870,6]]},"108":{"position":[[477,6]]},"140":{"position":[[554,6]]},"213":{"position":[[1068,6]]},"348":{"position":[[2028,9]]},"387":{"position":[[969,6]]},"402":{"position":[[2022,8]]}},"keywords":{}}],["access",{"_index":686,"title":{"428":{"position":[[3,6]]}},"content":{"36":{"position":[[1357,6],[1490,6]]},"42":{"position":[[2071,6]]},"44":{"position":[[123,6]]},"112":{"position":[[466,6]]},"126":{"position":[[592,10]]},"194":{"position":[[13,6],[55,6]]},"229":{"position":[[1357,6],[1490,6]]},"236":{"position":[[297,11]]},"279":{"position":[[1352,6],[1485,6]]},"286":{"position":[[278,11]]},"309":{"position":[[3595,6]]},"310":{"position":[[702,6]]},"314":{"position":[[2026,6],[2105,6]]},"317":{"position":[[270,7]]},"344":{"position":[[180,10],[295,10]]},"365":{"position":[[282,6],[352,7]]},"389":{"position":[[469,6],[578,6],[666,6]]},"392":{"position":[[198,6],[539,10]]},"402":{"position":[[1764,6]]},"427":{"position":[[319,6]]},"429":{"position":[[203,7],[349,7]]},"431":{"position":[[102,7],[401,6]]},"432":{"position":[[179,7]]},"434":{"position":[[595,6]]},"498":{"position":[[171,6]]},"499":{"position":[[186,6]]},"513":{"position":[[340,6]]},"592":{"position":[[24,6],[88,6]]},"806":{"position":[[39,8],[110,6]]},"810":{"position":[[73,10]]}},"keywords":{}}],["access_log",{"_index":3330,"title":{},"content":{"362":{"position":[[444,10],[774,10],[1096,10]]}},"keywords":{}}],["accessor",{"_index":1323,"title":{"102":{"position":[[0,10]]},"212":{"position":[[0,9]]},"213":{"position":[[7,9]]},"214":{"position":[[5,9]]},"215":{"position":[[5,9]]},"216":{"position":[[5,9]]},"217":{"position":[[5,9]]},"218":{"position":[[5,9]]},"219":{"position":[[9,9]]},"220":{"position":[[4,9]]},"242":{"position":[[0,9]]},"291":{"position":[[0,9]]}},"content":{"64":{"position":[[705,8],[930,8]]},"102":{"position":[[1,9],[119,9],[217,9]]},"213":{"position":[[12,8],[432,8],[470,9],[564,8],[936,8]]},"214":{"position":[[49,8],[147,8],[236,8],[444,8],[467,8],[1516,8],[1700,8],[1725,8]]},"215":{"position":[[10,8],[136,8],[323,8],[346,8],[567,8],[757,8],[782,8]]},"216":{"position":[[10,8],[154,8],[465,8]]},"217":{"position":[[6,8],[117,8],[192,8],[434,8],[1014,8],[1481,8],[2208,8],[2586,8]]},"218":{"position":[[10,8],[236,8],[278,8],[481,8],[504,8],[1294,8],[1478,8],[1503,8]]},"219":{"position":[[14,8],[241,8],[553,8],[768,8],[1117,8],[1329,8]]},"220":{"position":[[9,8],[148,8],[189,8],[385,8],[408,8],[1376,8],[1553,8],[1578,8]]},"242":{"position":[[208,10],[286,8],[349,8]]},"291":{"position":[[208,10],[286,8]]}},"keywords":{}}],["accident",{"_index":4041,"title":{},"content":{"424":{"position":[[1909,10]]}},"keywords":{}}],["accomplish",{"_index":2581,"title":{},"content":{"269":{"position":[[237,13]]},"543":{"position":[[63,10]]}},"keywords":{}}],["accord",{"_index":3278,"title":{},"content":{"358":{"position":[[6617,9]]},"367":{"position":[[1038,9]]},"372":{"position":[[16,9]]},"378":{"position":[[229,9]]},"424":{"position":[[312,10]]},"430":{"position":[[657,10]]},"487":{"position":[[213,9]]}},"keywords":{}}],["accordingli",{"_index":3208,"title":{},"content":{"350":{"position":[[1624,12]]}},"keywords":{}}],["account",{"_index":1221,"title":{},"content":{"55":{"position":[[823,7],[1330,7],[1984,7]]},"81":{"position":[[50,8]]},"82":{"position":[[404,7]]},"427":{"position":[[390,8]]},"430":{"position":[[205,7],[333,7],[428,8]]},"431":{"position":[[883,7]]}},"keywords":{}}],["accountsrol",{"_index":3802,"title":{},"content":{"392":{"position":[[179,12]]}},"keywords":{}}],["accur",{"_index":794,"title":{},"content":{"36":{"position":[[6630,9],[7426,9]]},"229":{"position":[[6630,9],[7426,9]]},"279":{"position":[[5169,9],[6027,9]]},"387":{"position":[[599,8]]},"424":{"position":[[975,8]]},"428":{"position":[[96,8]]}},"keywords":{}}],["accuraci",{"_index":3117,"title":{},"content":{"344":{"position":[[949,8]]}},"keywords":{}}],["act",{"_index":401,"title":{},"content":{"20":{"position":[[154,3]]},"139":{"position":[[139,3],[193,4]]},"264":{"position":[[221,4]]},"432":{"position":[[1408,3]]}},"keywords":{}}],["action",{"_index":1472,"title":{},"content":{"79":{"position":[[99,7]]},"303":{"position":[[1069,6],[1090,7]]},"305":{"position":[[818,6]]},"342":{"position":[[373,6]]},"355":{"position":[[78,7]]},"390":{"position":[[1023,6]]},"419":{"position":[[222,6],[268,6]]},"422":{"position":[[65,7],[594,7]]},"430":{"position":[[586,7]]},"432":{"position":[[1169,6]]},"434":{"position":[[212,7],[654,8]]},"455":{"position":[[738,6],[765,7],[852,7]]},"540":{"position":[[3637,7]]},"544":{"position":[[330,6]]},"568":{"position":[[302,6]]},"569":{"position":[[636,7]]},"775":{"position":[[33,7]]}},"keywords":{}}],["actionc",{"_index":3862,"title":{},"content":{"402":{"position":[[467,11],[490,11],[861,11]]}},"keywords":{}}],["actioncable.createconsumer('/openc3",{"_index":3864,"title":{},"content":{"402":{"position":[[893,35]]}},"keywords":{}}],["activ",{"_index":2831,"title":{"454":{"position":[[0,9]]}},"content":{"309":{"position":[[238,8]]},"355":{"position":[[725,10]]},"421":{"position":[[550,9],[580,6]]},"422":{"position":[[1239,6]]},"427":{"position":[[376,8]]},"450":{"position":[[177,10],[194,10]]},"454":{"position":[[26,10],[72,10],[227,10],[409,10]]},"455":{"position":[[280,9],[374,8],[399,8],[559,11],[1179,8],[1233,8],[1284,8],[1368,8],[1469,9],[1504,8],[1641,8]]},"472":{"position":[[803,6],[865,6]]},"497":{"position":[[243,7],[359,7]]},"538":{"position":[[145,10]]},"544":{"position":[[1160,10]]},"546":{"position":[[1169,10]]},"550":{"position":[[10,8]]},"552":{"position":[[2185,10]]}},"keywords":{}}],["activemq",{"_index":1796,"title":{},"content":{"96":{"position":[[399,9]]}},"keywords":{}}],["actual",{"_index":543,"title":{},"content":{"24":{"position":[[593,8]]},"48":{"position":[[5232,6]]},"55":{"position":[[1039,6]]},"67":{"position":[[4914,6]]},"77":{"position":[[362,8]]},"149":{"position":[[376,6]]},"274":{"position":[[79,8]]},"358":{"position":[[6164,6],[6635,6]]},"389":{"position":[[256,6]]},"447":{"position":[[159,6]]},"565":{"position":[[458,6]]},"568":{"position":[[603,6]]},"658":{"position":[[811,6]]},"722":{"position":[[410,6],[477,6]]}},"keywords":{}}],["ad",{"_index":1084,"title":{"450":{"position":[[0,6]]},"462":{"position":[[0,6]]},"482":{"position":[[0,6]]}},"content":{"48":{"position":[[898,6],[1007,6]]},"57":{"position":[[86,5],[284,5]]},"67":{"position":[[3800,6]]},"105":{"position":[[741,5]]},"108":{"position":[[348,5]]},"109":{"position":[[704,5]]},"110":{"position":[[1038,5]]},"111":{"position":[[933,5]]},"112":{"position":[[289,5]]},"113":{"position":[[340,5]]},"192":{"position":[[193,5]]},"324":{"position":[[657,6]]},"333":{"position":[[136,6]]},"353":{"position":[[184,6],[289,6],[378,6]]},"356":{"position":[[220,2],[300,2],[374,2],[485,2],[578,2],[664,2],[698,6],[750,2],[832,2]]},"383":{"position":[[1826,5]]},"389":{"position":[[828,6]]},"402":{"position":[[2160,5],[2233,5],[2334,6],[3349,6]]},"416":{"position":[[174,6]]},"450":{"position":[[1,6]]},"455":{"position":[[529,7]]},"482":{"position":[[327,5],[580,5]]},"483":{"position":[[13,5]]},"523":{"position":[[429,6]]},"534":{"position":[[12,5],[743,5]]},"552":{"position":[[91,5]]},"572":{"position":[[344,6]]},"576":{"position":[[257,5]]},"619":{"position":[[162,5]]}},"keywords":{}}],["ad0c",{"_index":1573,"title":{},"content":{"82":{"position":[[4573,4]]}},"keywords":{}}],["adapt",{"_index":3729,"title":{},"content":{"387":{"position":[[287,6]]}},"keywords":{}}],["adc",{"_index":3425,"title":{},"content":{"369":{"position":[[437,6],[606,4],[631,4]]},"504":{"position":[[440,6]]},"563":{"position":[[602,9],[939,9]]},"613":{"position":[[574,4],[623,4]]},"626":{"position":[[598,4]]},"630":{"position":[[579,4],[621,4]]},"716":{"position":[[391,9]]},"717":{"position":[[488,9],[991,9]]},"784":{"position":[[134,6]]},"813":{"position":[[288,8],[391,8]]},"814":{"position":[[460,7]]},"815":{"position":[[346,7]]},"816":{"position":[[354,7]]}},"keywords":{}}],["adcs2",{"_index":4236,"title":{},"content":{"504":{"position":[[423,7]]}},"keywords":{}}],["add",{"_index":273,"title":{},"content":{"7":{"position":[[1119,3]]},"15":{"position":[[79,3]]},"16":{"position":[[81,3]]},"21":{"position":[[1,3]]},"36":{"position":[[74,4],[292,3],[6107,4],[6727,4],[7802,4]]},"43":{"position":[[1181,3]]},"44":{"position":[[1470,3]]},"53":{"position":[[442,3]]},"60":{"position":[[88,4]]},"65":{"position":[[22,3]]},"93":{"position":[[426,3]]},"117":{"position":[[372,3]]},"127":{"position":[[294,4]]},"138":{"position":[[103,3]]},"178":{"position":[[68,4]]},"192":{"position":[[47,4]]},"202":{"position":[[16,3]]},"225":{"position":[[477,3]]},"229":{"position":[[74,4],[292,3],[6107,4],[6727,4],[7802,4]]},"235":{"position":[[449,3]]},"252":{"position":[[155,3],[500,3]]},"257":{"position":[[323,3]]},"271":{"position":[[508,3]]},"279":{"position":[[69,4],[287,3],[4586,4],[5264,4],[6398,4]]},"296":{"position":[[159,3]]},"298":{"position":[[1,4],[349,3]]},"301":{"position":[[714,3]]},"302":{"position":[[2514,3]]},"303":{"position":[[1177,3]]},"304":{"position":[[493,3],[862,3]]},"305":{"position":[[529,3],[941,3],[1082,3],[1102,3]]},"306":{"position":[[887,3]]},"307":{"position":[[1708,3]]},"317":{"position":[[83,3]]},"333":{"position":[[1,3],[274,3]]},"338":{"position":[[661,3]]},"342":{"position":[[674,3]]},"352":{"position":[[205,3],[562,3],[655,3]]},"353":{"position":[[220,3],[322,3],[411,3]]},"355":{"position":[[294,3],[388,3],[466,3]]},"356":{"position":[[729,3],[899,3]]},"358":{"position":[[990,3],[6082,3],[6248,3],[7706,4]]},"364":{"position":[[1219,3]]},"377":{"position":[[133,3]]},"386":{"position":[[263,3]]},"402":{"position":[[1447,3]]},"407":{"position":[[98,3]]},"413":{"position":[[162,3],[225,3]]},"452":{"position":[[590,3]]},"455":{"position":[[391,3],[1263,4]]},"462":{"position":[[45,3],[122,3],[220,3]]},"482":{"position":[[221,3],[480,3]]},"522":{"position":[[3,3]]},"523":{"position":[[201,3],[210,4],[553,3]]},"540":{"position":[[1733,3]]},"554":{"position":[[313,3]]},"555":{"position":[[70,3]]},"572":{"position":[[428,3]]},"626":{"position":[[608,3],[736,3]]},"627":{"position":[[656,3],[789,3]]},"628":{"position":[[624,3],[761,3]]},"794":{"position":[[48,3]]},"795":{"position":[[1,4],[59,4],[196,4],[281,4],[361,4],[422,3]]}},"keywords":{}}],["add_group",{"_index":4309,"title":{"795":{"position":[[0,10]]}},"content":{"534":{"position":[[91,9]]},"795":{"position":[[42,9]]}},"keywords":{}}],["add_group(<group",{"_index":5707,"title":{},"content":{"795":{"position":[[514,19]]}},"keywords":{}}],["add_group('examplegroup",{"_index":4312,"title":{},"content":{"534":{"position":[[179,25]]},"795":{"position":[[1414,25]]}},"keywords":{}}],["add_group_setup",{"_index":5701,"title":{"795":{"position":[[11,16]]}},"content":{"795":{"position":[[173,15]]}},"keywords":{}}],["add_group_setup(<group",{"_index":5709,"title":{},"content":{"795":{"position":[[545,25]]}},"keywords":{}}],["add_group_setup('wrappergroup",{"_index":5716,"title":{},"content":{"795":{"position":[[1440,31]]}},"keywords":{}}],["add_group_teardown",{"_index":5702,"title":{"795":{"position":[[28,19]]}},"content":{"795":{"position":[[255,18]]}},"keywords":{}}],["add_group_teardown(<group",{"_index":5710,"title":{},"content":{"795":{"position":[[582,28]]}},"keywords":{}}],["add_group_teardown('wrappergroup",{"_index":5718,"title":{},"content":{"795":{"position":[[1512,34]]}},"keywords":{}}],["add_script",{"_index":5703,"title":{"795":{"position":[[48,11]]}},"content":{"795":{"position":[[343,10],[407,10]]}},"keywords":{}}],["add_script(<group",{"_index":5711,"title":{},"content":{"795":{"position":[[622,20]]}},"keywords":{}}],["add_script('wrappergroup",{"_index":5717,"title":{},"content":{"795":{"position":[[1472,26]]}},"keywords":{}}],["addit",{"_index":185,"title":{},"content":{"5":{"position":[[1399,9]]},"9":{"position":[[577,11]]},"36":{"position":[[764,10],[5304,10],[6359,10],[7155,10]]},"67":{"position":[[2575,10]]},"110":{"position":[[2318,10]]},"117":{"position":[[436,10]]},"128":{"position":[[831,10]]},"139":{"position":[[651,10]]},"140":{"position":[[161,10]]},"149":{"position":[[621,10]]},"229":{"position":[[764,10],[5304,10],[6359,10],[7155,10]]},"240":{"position":[[153,10]]},"242":{"position":[[315,10]]},"251":{"position":[[477,10]]},"257":{"position":[[486,10]]},"279":{"position":[[759,10],[3785,10],[4898,10],[5756,10]]},"287":{"position":[[162,10]]},"307":{"position":[[382,10]]},"358":{"position":[[6105,10]]},"367":{"position":[[676,9]]},"393":{"position":[[738,10]]},"422":{"position":[[508,10]]},"427":{"position":[[296,10]]},"437":{"position":[[106,10]]},"450":{"position":[[252,10]]},"470":{"position":[[312,9]]},"473":{"position":[[789,10]]},"526":{"position":[[272,10]]},"536":{"position":[[37,10]]},"540":{"position":[[3735,10],[4790,10]]},"568":{"position":[[482,10]]},"582":{"position":[[79,10]]},"612":{"position":[[534,10],[623,10]]},"619":{"position":[[137,10]]},"626":{"position":[[612,10]]},"629":{"position":[[200,10]]},"657":{"position":[[223,10]]}},"keywords":{}}],["addition",{"_index":2498,"title":{},"content":{"255":{"position":[[369,13]]},"430":{"position":[[375,13]]},"556":{"position":[[591,13]]},"611":{"position":[[286,12]]},"635":{"position":[[177,12]]},"777":{"position":[[403,13]]}},"keywords":{}}],["address",{"_index":439,"title":{},"content":{"20":{"position":[[779,7]]},"22":{"position":[[349,8],[461,8]]},"105":{"position":[[859,7]]},"106":{"position":[[143,7],[456,7],[519,7],[571,7]]},"108":{"position":[[466,7]]},"109":{"position":[[499,7]]},"110":{"position":[[492,7]]},"113":{"position":[[259,7],[267,7]]},"126":{"position":[[254,9]]},"140":{"position":[[543,7]]},"358":{"position":[[7671,7],[7749,7]]},"379":{"position":[[1122,7]]},"380":{"position":[[332,7],[1974,7]]},"404":{"position":[[2065,9]]},"426":{"position":[[943,7],[1002,7]]},"427":{"position":[[644,7]]},"432":{"position":[[297,8],[483,8]]},"433":{"position":[[239,7]]},"610":{"position":[[479,7],[509,7],[598,8]]}},"keywords":{}}],["adequ",{"_index":4028,"title":{},"content":{"424":{"position":[[861,9]]}},"keywords":{}}],["adher",{"_index":3731,"title":{},"content":{"387":{"position":[[395,6]]},"434":{"position":[[465,7]]},"436":{"position":[[53,7]]}},"keywords":{}}],["adjust",{"_index":2984,"title":{},"content":{"321":{"position":[[1637,6]]},"330":{"position":[[1098,6]]},"358":{"position":[[259,6]]},"383":{"position":[[843,6]]},"462":{"position":[[341,6]]}},"keywords":{}}],["admin",{"_index":1897,"title":{"356":{"position":[[0,6]]},"405":{"position":[[0,5]]}},"content":{"109":{"position":[[1770,5]]},"110":{"position":[[2152,5]]},"141":{"position":[[167,5],[384,5],[430,5]]},"188":{"position":[[127,5],[344,5],[390,5]]},"200":{"position":[[108,5]]},"326":{"position":[[719,5]]},"356":{"position":[[5,5],[150,5],[229,5],[309,5],[383,5],[494,5],[587,5],[673,5],[759,5],[841,5]]},"358":{"position":[[456,5]]},"359":{"position":[[500,5],[2049,5]]},"380":{"position":[[67,5]]},"406":{"position":[[1,5]]},"441":{"position":[[231,6]]},"443":{"position":[[172,6]]},"447":{"position":[[185,7]]},"513":{"position":[[168,5]]},"806":{"position":[[60,5]]},"810":{"position":[[32,5],[139,5]]}},"keywords":{}}],["administ",{"_index":3981,"title":{},"content":{"406":{"position":[[89,13]]}},"keywords":{}}],["administr",{"_index":3232,"title":{},"content":{"356":{"position":[[25,14]]}},"keywords":{}}],["advanc",{"_index":2143,"title":{"570":{"position":[[0,8]]},"571":{"position":[[0,8]]}},"content":{"183":{"position":[[468,8]]}},"keywords":{}}],["advantag",{"_index":4493,"title":{},"content":{"554":{"position":[[856,12]]}},"keywords":{}}],["advic",{"_index":2983,"title":{},"content":{"321":{"position":[[1508,6]]}},"keywords":{}}],["ae",{"_index":1940,"title":{},"content":{"112":{"position":[[798,3]]}},"keywords":{}}],["aerospac",{"_index":3770,"title":{},"content":{"389":{"position":[[2159,9]]},"393":{"position":[[17,9],[196,9],[314,10]]}},"keywords":{}}],["affect",{"_index":704,"title":{},"content":{"36":{"position":[[2162,6]]},"225":{"position":[[1250,6]]},"229":{"position":[[2162,6]]},"235":{"position":[[219,6]]},"285":{"position":[[219,6]]},"473":{"position":[[1113,8]]},"513":{"position":[[527,8]]},"522":{"position":[[152,9],[431,6]]},"560":{"position":[[1059,7]]},"577":{"position":[[165,6]]},"741":{"position":[[1763,7],[1907,7]]}},"keywords":{}}],["afterward",{"_index":1406,"title":{},"content":{"67":{"position":[[4801,11]]}},"keywords":{}}],["ag",{"_index":3977,"title":{},"content":{"404":{"position":[[2354,2]]}},"keywords":{}}],["again",{"_index":583,"title":{},"content":{"27":{"position":[[488,5]]},"36":{"position":[[4636,6],[8633,6]]},"229":{"position":[[4636,6],[8633,6]]},"297":{"position":[[690,5]]},"330":{"position":[[1240,6]]},"333":{"position":[[746,6]]},"339":{"position":[[86,5]]},"349":{"position":[[6706,5]]},"422":{"position":[[1156,6],[1527,6]]},"473":{"position":[[1319,5]]},"534":{"position":[[539,5]]}},"keywords":{}}],["against",{"_index":2135,"title":{},"content":{"176":{"position":[[190,7]]},"190":{"position":[[196,7]]},"201":{"position":[[188,7]]},"205":{"position":[[190,7]]},"275":{"position":[[1683,7]]},"309":{"position":[[561,7]]},"386":{"position":[[516,7]]},"424":{"position":[[1853,7],[1901,7]]},"544":{"position":[[470,8]]},"565":{"position":[[217,7],[263,7]]},"568":{"position":[[554,7],[664,7]]},"697":{"position":[[671,7]]},"698":{"position":[[35,7]]},"722":{"position":[[1037,7]]},"726":{"position":[[652,7]]}},"keywords":{}}],["age=0",{"_index":1499,"title":{},"content":{"81":{"position":[[583,6]]},"82":{"position":[[935,6],[1057,6],[6343,6]]}},"keywords":{}}],["age=31536000",{"_index":1544,"title":{},"content":{"82":{"position":[[1131,13]]}},"keywords":{}}],["agent",{"_index":1608,"title":{},"content":{"83":{"position":[[1108,6]]},"85":{"position":[[87,5]]},"112":{"position":[[604,5]]}},"keywords":{}}],["aggreg",{"_index":3355,"title":{},"content":{"364":{"position":[[204,9]]}},"keywords":{}}],["agil",{"_index":3104,"title":{},"content":{"343":{"position":[[991,7]]}},"keywords":{}}],["ago",{"_index":932,"title":{},"content":{"42":{"position":[[1015,3],[1096,3],[1169,3],[1232,3],[1291,3],[1351,3],[1413,3],[1473,3],[1532,3],[1591,3]]}},"keywords":{}}],["agpl",{"_index":3750,"title":{},"content":{"389":{"position":[[319,4]]}},"keywords":{}}],["agplv3",{"_index":2745,"title":{"389":{"position":[[0,7]]}},"content":{"301":{"position":[[571,7]]},"389":{"position":[[87,6],[233,6],[773,7],[1188,6],[1361,6],[1476,6],[1580,6],[1634,6],[1847,6]]},"391":{"position":[[148,7]]},"392":{"position":[[442,6]]}},"keywords":{}}],["agreement",{"_index":3771,"title":{},"content":{"389":{"position":[[2190,10]]},"393":{"position":[[162,9]]}},"keywords":{}}],["ahead",{"_index":3294,"title":{},"content":{"359":{"position":[[798,5]]},"540":{"position":[[569,5]]}},"keywords":{}}],["aid",{"_index":3178,"title":{},"content":{"349":{"position":[[4590,3]]}},"keywords":{}}],["aim",{"_index":4325,"title":{},"content":{"538":{"position":[[12,4]]}},"keywords":{}}],["air",{"_index":2513,"title":{},"content":{"258":{"position":[[687,3]]},"412":{"position":[[155,4]]}},"keywords":{}}],["aka",{"_index":1776,"title":{},"content":{"95":{"position":[[60,4]]}},"keywords":{}}],["alert",{"_index":3145,"title":{},"content":{"349":{"position":[[371,8]]},"363":{"position":[[85,8],[280,7]]},"364":{"position":[[272,7]]},"365":{"position":[[130,6]]},"426":{"position":[[202,5]]},"640":{"position":[[244,6]]},"644":{"position":[[244,6]]}},"keywords":{}}],["alert("date:"+d",{"_index":4791,"title":{},"content":{"640":{"position":[[320,31]]}},"keywords":{}}],["alert("time:"+tim",{"_index":4805,"title":{},"content":{"644":{"position":[[320,31]]}},"keywords":{}}],["algorithm",{"_index":1164,"title":{},"content":{"51":{"position":[[61,9],[400,9]]}},"keywords":{}}],["algorithm).day",{"_index":456,"title":{},"content":{"20":{"position":[[1037,15]]}},"keywords":{}}],["align",{"_index":2972,"title":{},"content":{"321":{"position":[[422,7],[830,8]]},"379":{"position":[[3452,9]]},"612":{"position":[[471,6]]}},"keywords":{}}],["aliv",{"_index":1605,"title":{},"content":{"83":{"position":[[927,6],[2428,6]]}},"keywords":{}}],["all"",{"_index":2664,"title":{},"content":{"281":{"position":[[126,9]]},"358":{"position":[[5719,9]]}},"keywords":{}}],["alloc",{"_index":2129,"title":{},"content":{"175":{"position":[[31,8]]},"330":{"position":[[345,9],[414,9]]},"369":{"position":[[848,9]]}},"keywords":{}}],["allow",{"_index":194,"title":{},"content":{"6":{"position":[[73,6]]},"31":{"position":[[382,6]]},"35":{"position":[[876,7],[936,7]]},"36":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9873,6],[10048,9],[10132,5]]},"37":{"position":[[669,7],[729,7]]},"48":{"position":[[4115,6]]},"50":{"position":[[542,5]]},"53":{"position":[[315,5]]},"55":{"position":[[2306,7]]},"62":{"position":[[115,5],[632,7]]},"67":{"position":[[4968,6]]},"83":{"position":[[112,6]]},"91":{"position":[[312,6],[393,6]]},"106":{"position":[[650,7]]},"112":{"position":[[459,6]]},"115":{"position":[[981,5],[1634,5],[1793,5]]},"125":{"position":[[135,5]]},"126":{"position":[[308,5],[653,6]]},"149":{"position":[[306,6]]},"192":{"position":[[163,6]]},"214":{"position":[[314,5]]},"215":{"position":[[196,5]]},"218":{"position":[[351,5]]},"220":{"position":[[262,5]]},"228":{"position":[[905,7],[965,7]]},"229":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9873,6],[10048,9],[10132,5]]},"230":{"position":[[688,7],[748,7]]},"231":{"position":[[1075,7],[1135,7]]},"232":{"position":[[911,7],[971,7]]},"257":{"position":[[236,6]]},"264":{"position":[[88,5]]},"268":{"position":[[344,6]]},"269":{"position":[[202,6]]},"275":{"position":[[1611,6]]},"279":{"position":[[1092,7],[1235,6],[1980,5],[2079,6],[2170,6],[8240,5],[9610,6],[9997,6]]},"289":{"position":[[69,6]]},"302":{"position":[[618,5]]},"303":{"position":[[722,5]]},"309":{"position":[[1157,6],[3589,5],[3702,5],[3747,6]]},"310":{"position":[[696,5]]},"326":{"position":[[105,5]]},"328":{"position":[[154,5]]},"340":{"position":[[613,6]]},"345":{"position":[[65,5],[202,5],[332,5],[454,5],[524,5],[628,5],[734,5],[836,5]]},"346":{"position":[[298,5],[1257,5],[1412,5]]},"348":{"position":[[425,5],[594,5],[1040,5],[2244,5]]},"349":{"position":[[2330,5],[2461,5],[4322,5],[5956,8],[6029,5]]},"350":{"position":[[209,5],[1190,5]]},"351":{"position":[[99,5]]},"355":{"position":[[154,5],[246,5],[342,5],[435,5],[710,5],[813,5]]},"356":{"position":[[167,5]]},"358":{"position":[[6480,5],[7216,6],[7427,6]]},"368":{"position":[[351,8]]},"369":{"position":[[109,5],[657,7]]},"383":{"position":[[372,6]]},"389":{"position":[[324,6],[709,7],[1430,6]]},"391":{"position":[[51,6],[216,5]]},"402":{"position":[[639,5]]},"414":{"position":[[15,6]]},"415":{"position":[[17,6]]},"418":{"position":[[11,6]]},"419":{"position":[[255,5]]},"420":{"position":[[117,6]]},"422":{"position":[[274,6],[368,6],[1141,7],[1512,7]]},"426":{"position":[[101,5]]},"439":{"position":[[83,6]]},"440":{"position":[[739,6]]},"449":{"position":[[106,5]]},"452":{"position":[[10,6],[239,6]]},"459":{"position":[[13,6]]},"472":{"position":[[835,6]]},"484":{"position":[[204,6]]},"485":{"position":[[170,5]]},"506":{"position":[[166,6],[373,5],[611,6]]},"519":{"position":[[50,6]]},"522":{"position":[[1194,6]]},"523":{"position":[[539,6]]},"524":{"position":[[164,6],[376,5],[613,6],[796,6],[912,6]]},"529":{"position":[[381,6]]},"530":{"position":[[441,5],[480,6]]},"531":{"position":[[757,6]]},"535":{"position":[[248,6],[908,7],[1078,6]]},"536":{"position":[[251,6]]},"546":{"position":[[1224,6]]},"547":{"position":[[36,5]]},"551":{"position":[[40,5]]},"552":{"position":[[731,6],[2121,6]]},"556":{"position":[[52,6],[323,6],[684,6]]},"559":{"position":[[118,5]]},"560":{"position":[[131,6]]},"565":{"position":[[57,5]]},"569":{"position":[[437,5]]},"572":{"position":[[72,6],[338,5]]},"581":{"position":[[253,6]]},"582":{"position":[[69,5]]},"591":{"position":[[253,6]]},"592":{"position":[[18,5]]},"658":{"position":[[226,6]]},"663":{"position":[[15,5]]},"664":{"position":[[421,5]]},"665":{"position":[[387,5]]},"673":{"position":[[1091,7]]},"696":{"position":[[15,5]]},"710":{"position":[[306,6]]},"716":{"position":[[1,6]]},"717":{"position":[[693,5],[1191,5]]},"721":{"position":[[15,5]]},"749":{"position":[[15,5]]},"757":{"position":[[30,8]]},"760":{"position":[[15,5]]},"770":{"position":[[15,5]]},"776":{"position":[[15,5]]},"779":{"position":[[15,5]]},"786":{"position":[[19,6]]},"787":{"position":[[18,6]]},"788":{"position":[[15,5]]},"793":{"position":[[317,8]]},"796":{"position":[[15,5]]},"800":{"position":[[10,6]]},"806":{"position":[[91,5]]},"811":{"position":[[81,5]]}},"keywords":{}}],["allow_empty_data",{"_index":1410,"title":{},"content":{"69":{"position":[[179,16],[313,17],[836,16]]},"73":{"position":[[800,17],[841,18],[868,17],[1493,16]]}},"keywords":{}}],["allow_empty_data.nil",{"_index":1435,"title":{},"content":{"73":{"position":[[680,22]]}},"keywords":{}}],["allow_empty_data=non",{"_index":1415,"title":{},"content":{"69":{"position":[[450,23]]}},"keywords":{}}],["allow_short",{"_index":2678,"title":{"289":{"position":[[0,12]]}},"content":{},"keywords":{}}],["along",{"_index":1247,"title":{},"content":{"57":{"position":[[92,5]]},"260":{"position":[[33,5]]},"383":{"position":[[894,6]]},"407":{"position":[[337,5]]},"513":{"position":[[70,5]]},"529":{"position":[[441,5]]},"540":{"position":[[1155,5]]},"691":{"position":[[44,5]]},"702":{"position":[[44,5]]},"808":{"position":[[40,5]]}},"keywords":{}}],["alphabet",{"_index":2384,"title":{},"content":{"225":{"position":[[291,15]]},"271":{"position":[[319,15]]},"302":{"position":[[975,12]]},"491":{"position":[[53,12]]}},"keywords":{}}],["alpin",{"_index":2501,"title":{},"content":{"257":{"position":[[157,6],[289,7]]},"330":{"position":[[1617,6]]}},"keywords":{}}],["alpine_build=9",{"_index":968,"title":{},"content":{"42":{"position":[[1878,14]]}},"keywords":{}}],["alpine_version=3.18",{"_index":967,"title":{},"content":{"42":{"position":[[1858,19]]}},"keywords":{}}],["alreadi",{"_index":540,"title":{},"content":{"24":{"position":[[460,7]]},"36":{"position":[[4789,7],[8786,7]]},"42":{"position":[[355,7]]},"127":{"position":[[222,7]]},"225":{"position":[[540,7]]},"229":{"position":[[4789,7],[8786,7]]},"271":{"position":[[571,7]]},"279":{"position":[[2291,7]]},"302":{"position":[[1073,7]]},"310":{"position":[[380,7]]},"358":{"position":[[714,7]]},"404":{"position":[[1373,7]]},"504":{"position":[[454,7]]},"540":{"position":[[961,7]]},"787":{"position":[[801,7]]}},"keywords":{}}],["alter",{"_index":4070,"title":{},"content":{"429":{"position":[[223,11]]}},"keywords":{}}],["altern",{"_index":2830,"title":{},"content":{"309":{"position":[[187,11]]},"427":{"position":[[579,14]]},"561":{"position":[[223,14]]},"587":{"position":[[170,13]]},"588":{"position":[[164,13]]},"589":{"position":[[175,13]]}},"keywords":{}}],["although",{"_index":154,"title":{},"content":{"5":{"position":[[388,8]]},"62":{"position":[[231,8]]}},"keywords":{}}],["alway",{"_index":155,"title":{},"content":{"5":{"position":[[417,6]]},"24":{"position":[[762,6]]},"35":{"position":[[288,6]]},"36":{"position":[[2031,6],[4295,6]]},"50":{"position":[[783,6]]},"67":{"position":[[244,6]]},"69":{"position":[[61,6]]},"74":{"position":[[954,6]]},"75":{"position":[[817,6]]},"76":{"position":[[823,6]]},"77":{"position":[[208,6],[1159,6]]},"115":{"position":[[1072,6],[1330,6]]},"150":{"position":[[131,6]]},"228":{"position":[[317,6]]},"229":{"position":[[2031,6],[4295,6]]},"233":{"position":[[334,6]]},"278":{"position":[[316,6]]},"279":{"position":[[3244,6]]},"283":{"position":[[333,6]]},"301":{"position":[[952,6]]},"302":{"position":[[509,6]]},"303":{"position":[[601,6]]},"307":{"position":[[1057,6]]},"321":{"position":[[256,6],[301,6]]},"435":{"position":[[91,6]]},"455":{"position":[[952,6]]},"543":{"position":[[102,6]]},"556":{"position":[[575,6]]},"559":{"position":[[1028,6]]},"659":{"position":[[880,6]]},"662":{"position":[[3946,6]]},"665":{"position":[[59,6]]}},"keywords":{}}],["amazon/opendistro",{"_index":3350,"title":{},"content":{"363":{"position":[[486,17]]}},"keywords":{}}],["amend",{"_index":4091,"title":{},"content":{"431":{"position":[[454,7]]}},"keywords":{}}],["amount",{"_index":1203,"title":{},"content":{"54":{"position":[[43,6]]},"138":{"position":[[367,6],[500,6]]},"173":{"position":[[9,6]]},"721":{"position":[[92,6]]},"722":{"position":[[38,6]]},"723":{"position":[[38,6]]},"726":{"position":[[221,6]]},"727":{"position":[[38,6],[203,6]]},"728":{"position":[[317,6]]},"729":{"position":[[153,6]]},"789":{"position":[[138,6]]},"801":{"position":[[118,6]]}},"keywords":{}}],["amp",{"_index":288,"title":{},"content":{"8":{"position":[[131,6],[192,5]]},"320":{"position":[[486,5]]},"324":{"position":[[385,5]]},"367":{"position":[[481,5],[529,5],[888,5]]},"393":{"position":[[27,5],[206,5]]}},"keywords":{}}],["amp;&",{"_index":2962,"title":{},"content":{"320":{"position":[[1035,10]]},"362":{"position":[[1394,10]]},"376":{"position":[[248,10],[280,10],[338,10],[426,10],[460,10],[511,10]]}},"keywords":{}}],["ampersand",{"_index":287,"title":{},"content":{"8":{"position":[[110,9],[250,9]]}},"keywords":{}}],["analysi",{"_index":3218,"title":{},"content":{"353":{"position":[[78,8]]},"540":{"position":[[3889,8]]},"563":{"position":[[231,8]]}},"keywords":{}}],["analyt",{"_index":3379,"title":{},"content":{"365":{"position":[[41,9]]}},"keywords":{}}],["analyz",{"_index":1431,"title":{},"content":{"73":{"position":[[33,7],[161,9]]},"74":{"position":[[35,7],[186,9]]},"75":{"position":[[36,7],[185,9]]},"76":{"position":[[34,7],[175,8]]}},"keywords":{}}],["and/or",{"_index":1425,"title":{},"content":{"70":{"position":[[91,6]]},"119":{"position":[[45,6]]},"342":{"position":[[279,6],[525,6]]},"402":{"position":[[229,6]]}},"keywords":{}}],["angl",{"_index":2480,"title":{},"content":{"253":{"position":[[743,5]]},"299":{"position":[[988,5]]},"545":{"position":[[490,5]]}},"keywords":{}}],["angledeg",{"_index":2714,"title":{},"content":{"299":{"position":[[951,8]]}},"keywords":{}}],["angular",{"_index":2555,"title":{},"content":{"264":{"position":[[360,8]]},"307":{"position":[[243,8]]}},"keywords":{}}],["anomali",{"_index":4568,"title":{"569":{"position":[[20,10]]}},"content":{},"keywords":{}}],["anoth",{"_index":242,"title":{},"content":{"7":{"position":[[96,7]]},"26":{"position":[[243,7]]},"32":{"position":[[9,7]]},"36":{"position":[[1177,7],[1266,7],[1632,7]]},"93":{"position":[[50,7]]},"217":{"position":[[109,7]]},"229":{"position":[[1177,7],[1266,7],[1632,7]]},"279":{"position":[[1172,7],[1261,7],[1627,7]]},"302":{"position":[[1051,7]]},"309":{"position":[[883,7]]},"314":{"position":[[1095,7]]},"323":{"position":[[590,7]]},"342":{"position":[[1236,7]]},"349":{"position":[[1082,7]]},"368":{"position":[[1,7]]},"369":{"position":[[978,7]]},"533":{"position":[[324,7]]},"544":{"position":[[846,7]]},"552":{"position":[[1266,7],[1435,7]]},"572":{"position":[[227,7]]},"649":{"position":[[712,7]]},"650":{"position":[[1625,7]]},"777":{"position":[[21,7]]}},"keywords":{}}],["another."",{"_index":2508,"title":{},"content":{"258":{"position":[[188,14]]}},"keywords":{}}],["answer",{"_index":4502,"title":{},"content":{"559":{"position":[[442,6],[509,6],[527,6],[728,6],[795,6],[813,6]]},"699":{"position":[[562,6],[809,6]]}},"keywords":{}}],["answer}"",{"_index":4506,"title":{},"content":{"559":{"position":[[567,15],[868,15]]}},"keywords":{}}],["antenna",{"_index":4742,"title":{},"content":{"632":{"position":[[664,7]]}},"keywords":{}}],["anymor",{"_index":3688,"title":{},"content":{"380":{"position":[[1584,8]]}},"keywords":{}}],["anyon",{"_index":3753,"title":{},"content":{"389":{"position":[[452,6],[566,6]]}},"keywords":{}}],["anyth",{"_index":10,"title":{},"content":{"1":{"position":[[111,8]]},"70":{"position":[[414,9]]},"100":{"position":[[334,8]]},"119":{"position":[[261,8]]},"387":{"position":[[119,8],[170,8],[1048,8]]},"389":{"position":[[819,8],[1001,8],[1104,8]]},"419":{"position":[[296,8]]}},"keywords":{}}],["anything.al",{"_index":3108,"title":{},"content":{"343":{"position":[[1274,12]]}},"keywords":{}}],["anywher",{"_index":2599,"title":{},"content":{"274":{"position":[[603,8]]},"545":{"position":[[283,8]]},"777":{"position":[[369,8]]}},"keywords":{}}],["apc",{"_index":1948,"title":{},"content":{"112":{"position":[[1021,3]]},"113":{"position":[[617,3]]}},"keywords":{}}],["api",{"_index":934,"title":{"84":{"position":[[5,3]]},"345":{"position":[[0,3]]},"402":{"position":[[10,3]]},"655":{"position":[[10,3]]},"660":{"position":[[14,4]]}},"content":{"42":{"position":[[1063,3],[1138,3],[2090,3],[2153,3],[2175,3],[2497,3],[2631,3]]},"44":{"position":[[48,3],[69,3],[222,3],[648,3],[669,3],[701,3],[727,3],[796,3],[822,3],[869,3],[1069,3],[1128,3],[1195,3],[1272,3],[1315,3],[1403,3],[1527,3]]},"67":{"position":[[1005,4],[1275,4]]},"83":{"position":[[108,3]]},"86":{"position":[[12,3]]},"87":{"position":[[79,3],[150,3]]},"88":{"position":[[45,3],[69,3],[260,4],[302,3],[349,3]]},"89":{"position":[[17,3]]},"93":{"position":[[41,3]]},"122":{"position":[[73,4]]},"258":{"position":[[995,3],[1043,3],[1092,3],[1136,3]]},"269":{"position":[[12,3]]},"345":{"position":[[55,3],[175,3],[192,3],[305,3],[322,3],[427,3],[444,3],[497,3],[514,3],[601,3],[618,3],[707,3],[724,3],[809,3],[826,3],[891,3]]},"349":{"position":[[1943,3]]},"355":{"position":[[49,3]]},"363":{"position":[[243,4]]},"364":{"position":[[297,3],[783,3],[931,3]]},"368":{"position":[[414,3],[437,3]]},"369":{"position":[[1249,3],[1488,3],[2738,3],[2978,3]]},"387":{"position":[[372,3]]},"402":{"position":[[10,3],[155,3],[416,3],[833,3],[1160,3],[4863,3]]},"657":{"position":[[144,4]]},"660":{"position":[[155,3]]},"661":{"position":[[15,3],[84,3]]},"662":{"position":[[15,3]]},"669":{"position":[[552,3]]},"794":{"position":[[40,4]]},"795":{"position":[[795,3],[854,3],[953,3],[1013,3]]},"806":{"position":[[86,4]]},"807":{"position":[[98,5]]},"810":{"position":[[61,3]]},"811":{"position":[[76,4]]},"812":{"position":[[90,5]]}},"keywords":{}}],["api>",{"_index":1048,"title":{},"content":{"44":{"position":[[929,7]]}},"keywords":{}}],["api"",{"_index":1639,"title":{},"content":{"83":{"position":[[2241,9]]}},"keywords":{}}],["api.cmd",{"_index":4757,"title":{},"content":{"637":{"position":[[755,8],[831,10]]}},"keywords":{}}],["api.cmd("inst",{"_index":4768,"title":{},"content":{"637":{"position":[[1765,19]]},"638":{"position":[[403,18]]},"639":{"position":[[403,19]]},"643":{"position":[[385,19]]}},"keywords":{}}],["api.cmd('inst",{"_index":4761,"title":{},"content":{"637":{"position":[[1046,13]]},"642":{"position":[[545,13]]},"654":{"position":[[1017,13],[1128,13]]}},"keywords":{}}],["api.cmd_no_hazardous_check("inst",{"_index":4784,"title":{},"content":{"638":{"position":[[349,38]]}},"keywords":{}}],["api.cmd_no_hazardous_check('inst",{"_index":4846,"title":{},"content":{"654":{"position":[[1085,32]]}},"keywords":{}}],["api.tlm",{"_index":4763,"title":{},"content":{"637":{"position":[[1114,9]]}},"keywords":{}}],["api.tlm('inst",{"_index":4759,"title":{},"content":{"637":{"position":[[994,13]]}},"keywords":{}}],["api/api",{"_index":1495,"title":{},"content":{"81":{"position":[[527,7]]},"82":{"position":[[6280,7]]},"87":{"position":[[203,7]]},"93":{"position":[[961,7]]}},"keywords":{}}],["api/c",{"_index":3865,"title":{},"content":{"402":{"position":[[929,11]]}},"keywords":{}}],["api/internal/metrics"",{"_index":3370,"title":{},"content":{"364":{"position":[[664,26]]}},"keywords":{}}],["api/metrics"",{"_index":3372,"title":{},"content":{"364":{"position":[[815,17],[963,17]]}},"keywords":{}}],["api/scripts/target/procedures/cmd_tlm_test.rb/lock?scope=default",{"_index":1602,"title":{},"content":{"83":{"position":[[728,65]]}},"keywords":{}}],["api/storage/download/$bucket_file_uri?bucket=openc3_logs_bucket&scope=default"",{"_index":1687,"title":{},"content":{"83":{"position":[[3819,87]]}},"keywords":{}}],["api:2901"",{"_index":3371,"title":{},"content":{"364":{"position":[[740,15],[882,15]]}},"keywords":{}}],["api:2902"",{"_index":3374,"title":{},"content":{"364":{"position":[[1036,15]]}},"keywords":{}}],["api:latest",{"_index":981,"title":{},"content":{"42":{"position":[[2403,10],[2531,10]]}},"keywords":{}}],["api_whitelist",{"_index":1708,"title":{},"content":{"88":{"position":[[100,14]]}},"keywords":{}}],["apid",{"_index":249,"title":{},"content":{"7":{"position":[[259,6],[719,4],[1044,4]]}},"keywords":{}}],["apivers",{"_index":3381,"title":{},"content":{"365":{"position":[[217,11]]}},"keywords":{}}],["apk",{"_index":961,"title":{},"content":{"42":{"position":[[1706,3]]}},"keywords":{}}],["apk_url",{"_index":965,"title":{},"content":{"42":{"position":[[1806,8]]}},"keywords":{}}],["apk_url=http://dl",{"_index":971,"title":{},"content":{"42":{"position":[[1962,17]]}},"keywords":{}}],["app",{"_index":1014,"title":{},"content":{"43":{"position":[[357,3]]},"96":{"position":[[155,3]]},"265":{"position":[[108,3]]},"389":{"position":[[484,4]]},"404":{"position":[[490,3]]}},"keywords":{}}],["appclick",{"_index":3939,"title":{},"content":{"404":{"position":[[660,8]]}},"keywords":{}}],["appear",{"_index":355,"title":{},"content":{"13":{"position":[[461,7]]},"14":{"position":[[352,7]]},"33":{"position":[[109,6]]},"51":{"position":[[493,6]]},"128":{"position":[[438,6]]},"203":{"position":[[432,6]]},"237":{"position":[[110,6]]},"290":{"position":[[77,6],[176,9]]},"324":{"position":[[783,9]]},"340":{"position":[[299,7]]},"348":{"position":[[1980,7]]},"359":{"position":[[768,6]]},"452":{"position":[[489,7]]},"454":{"position":[[257,6]]},"528":{"position":[[641,8]]},"536":{"position":[[53,7]]},"603":{"position":[[46,10]]},"658":{"position":[[1315,6]]}},"keywords":{}}],["append",{"_index":1751,"title":{},"content":{"92":{"position":[[420,8]]},"128":{"position":[[599,8]]},"200":{"position":[[153,8]]},"321":{"position":[[121,6]]},"358":{"position":[[3340,6],[5534,6]]},"373":{"position":[[119,6]]},"659":{"position":[[1213,8]]}},"keywords":{}}],["append_array_item",{"_index":2277,"title":{"284":{"position":[[0,18]]}},"content":{"214":{"position":[[2201,17]]},"218":{"position":[[1979,17]]},"284":{"position":[[734,17]]}},"keywords":{}}],["append_array_paramet",{"_index":2259,"title":{"234":{"position":[[0,23]]}},"content":{"214":{"position":[[985,22]]},"218":{"position":[[1187,22]]},"234":{"position":[[732,22]]}},"keywords":{}}],["append_id_item",{"_index":266,"title":{"282":{"position":[[0,15]]}},"content":{"7":{"position":[[679,14],[884,14]]},"214":{"position":[[1747,14]]},"215":{"position":[[804,14]]},"218":{"position":[[1525,14]]},"220":{"position":[[1991,14]]},"272":{"position":[[147,15]]},"282":{"position":[[826,14]]},"304":{"position":[[1013,14]]},"305":{"position":[[1230,14]]},"358":{"position":[[4844,14]]},"379":{"position":[[2835,14]]}},"keywords":{}}],["append_id_paramet",{"_index":2243,"title":{"232":{"position":[[0,20]]}},"content":{"214":{"position":[[522,19]]},"215":{"position":[[368,19]]},"218":{"position":[[724,19]]},"220":{"position":[[750,19]]},"232":{"position":[[1929,19]]},"358":{"position":[[2855,19],[3518,19]]},"359":{"position":[[1453,19]]},"379":{"position":[[407,19],[1251,19],[1783,19],[2283,19]]}},"keywords":{}}],["append_item",{"_index":211,"title":{"280":{"position":[[0,12]]}},"content":{"6":{"position":[[361,11],[660,11],[818,11],[873,11],[928,11],[983,11],[1038,11]]},"7":{"position":[[275,11],[960,11]]},"64":{"position":[[1023,11],[1135,11]]},"109":{"position":[[2594,11]]},"213":{"position":[[1021,11],[1087,11],[1147,11]]},"214":{"position":[[1814,11],[1967,11],[2064,11],[2131,11]]},"215":{"position":[[871,11]]},"216":{"position":[[500,11],[727,11],[796,11],[867,11]]},"217":{"position":[[2621,11],[2848,11],[2917,11],[2988,11]]},"218":{"position":[[1592,11],[1745,11],[1842,11],[1909,11]]},"219":{"position":[[1575,11],[1653,11]]},"220":{"position":[[2083,11],[2267,11],[2383,11],[2480,11]]},"274":{"position":[[570,12]]},"279":{"position":[[2574,11],[2705,11],[7506,11],[7673,11]]},"280":{"position":[[855,11]]},"304":{"position":[[1063,11],[1145,11],[1216,11]]},"305":{"position":[[1280,11],[1423,11],[1494,11]]},"358":{"position":[[4894,11],[4939,11],[5010,11]]},"379":{"position":[[2930,11],[3020,11],[3110,11],[3169,11],[3264,11],[3325,11],[3387,11],[3462,11]]}},"keywords":{}}],["append_paramet",{"_index":723,"title":{"37":{"position":[[0,17]]},"230":{"position":[[0,17]]}},"content":{"36":{"position":[[3503,16],[3595,16],[9202,16],[9391,16]]},"40":{"position":[[169,16],[279,16],[396,16],[505,16],[620,16],[768,16],[858,16],[919,16],[1063,16],[1198,16],[1336,16],[1419,16]]},"109":{"position":[[2268,16]]},"214":{"position":[[598,16],[692,16],[805,16],[890,16]]},"215":{"position":[[444,16]]},"218":{"position":[[800,16],[894,16],[1007,16],[1092,16]]},"219":{"position":[[931,16],[1019,16]]},"220":{"position":[[851,16],[976,16],[1108,16],[1223,16]]},"229":{"position":[[3503,16],[3595,16],[9202,16],[9391,16]]},"230":{"position":[[1732,16],[1820,16],[1863,16]]},"253":{"position":[[2408,16]]},"358":{"position":[[2914,16],[2975,16],[3061,16],[3766,16],[3930,16],[4367,16]]},"359":{"position":[[1512,16],[1575,16],[1661,16]]},"379":{"position":[[521,16],[626,16],[713,16],[763,16],[866,16],[1377,16],[1486,16],[1593,16],[1643,16],[1909,16],[2018,16],[2098,16],[2148,16],[2409,16],[2518,16],[2598,16],[2648,16]]}},"keywords":{}}],["applewebkit/537.36",{"_index":1613,"title":{},"content":{"83":{"position":[[1157,18]]}},"keywords":{}}],["appli",{"_index":698,"title":{"434":{"position":[[37,5]]}},"content":{"36":{"position":[[1864,5],[3972,7],[4354,7],[6202,7],[6833,7],[7057,7],[7501,5],[7588,5],[7688,5],[7897,7],[10320,7]]},"50":{"position":[[948,5],[1001,7]]},"53":{"position":[[647,7]]},"54":{"position":[[1045,7]]},"55":{"position":[[1002,5],[1826,7],[3377,5]]},"56":{"position":[[951,7]]},"58":{"position":[[155,7]]},"59":{"position":[[260,5]]},"60":{"position":[[454,7]]},"61":{"position":[[2123,7]]},"138":{"position":[[770,7]]},"139":{"position":[[244,7],[415,5]]},"144":{"position":[[82,7]]},"173":{"position":[[38,5]]},"175":{"position":[[146,5]]},"182":{"position":[[83,7]]},"229":{"position":[[1864,5],[3972,7],[4354,7],[6202,7],[6833,7],[7057,7],[7501,5],[7588,5],[7688,5],[7897,7],[10320,7]]},"279":{"position":[[1859,5],[2259,7],[2428,5],[2934,7],[3303,7],[4678,7],[5367,7],[5658,7],[6101,5],[6187,5],[6286,5],[6490,7]]},"389":{"position":[[276,8]]},"393":{"position":[[813,8]]},"404":{"position":[[1562,5],[1760,5]]},"431":{"position":[[269,5],[301,5]]},"434":{"position":[[20,7]]},"472":{"position":[[887,5]]},"539":{"position":[[135,7]]},"580":{"position":[[1,7],[167,7]]},"581":{"position":[[1,7],[605,7]]},"582":{"position":[[1,7],[115,7],[315,7],[410,7]]},"590":{"position":[[1,5]]},"591":{"position":[[1,7],[587,5]]},"592":{"position":[[413,7]]},"609":{"position":[[313,7]]},"610":{"position":[[313,7]]},"611":{"position":[[564,5]]},"612":{"position":[[928,5],[956,7]]},"619":{"position":[[865,5],[888,7]]},"626":{"position":[[453,7],[664,5],[693,7],[1180,7]]},"627":{"position":[[487,7],[717,5],[746,7],[1233,7]]},"628":{"position":[[471,7],[684,5],[718,7],[1205,7]]},"632":{"position":[[333,5],[385,5]]},"649":{"position":[[631,5],[662,7]]},"650":{"position":[[1187,5],[1223,7]]},"652":{"position":[[1095,5],[1130,7]]},"759":{"position":[[703,5],[737,7]]},"769":{"position":[[707,5],[741,7]]},"770":{"position":[[217,7]]}},"keywords":{}}],["applic",{"_index":4,"title":{"43":{"position":[[19,12]]}},"content":{"1":{"position":[[22,12]]},"7":{"position":[[742,11],[931,11]]},"43":{"position":[[84,12],[174,11],[614,11],[838,11],[1117,11]]},"51":{"position":[[223,12]]},"122":{"position":[[28,12]]},"138":{"position":[[312,12]]},"192":{"position":[[94,12]]},"253":{"position":[[447,11],[1325,11],[2095,11]]},"258":{"position":[[116,11]]},"259":{"position":[[85,13]]},"261":{"position":[[150,13],[201,11]]},"264":{"position":[[122,12],[262,11],[314,12]]},"269":{"position":[[88,11]]},"299":{"position":[[434,11]]},"307":{"position":[[446,12],[816,12],[1502,11],[1543,12]]},"332":{"position":[[819,13]]},"342":{"position":[[765,12],[980,12],[1262,12]]},"365":{"position":[[85,12]]},"382":{"position":[[129,12],[277,11],[422,11]]},"389":{"position":[[860,12]]},"470":{"position":[[20,11]]},"509":{"position":[[34,11],[219,11]]},"511":{"position":[[283,12]]},"517":{"position":[[84,12]]},"519":{"position":[[33,11]]},"658":{"position":[[30,11]]},"786":{"position":[[137,12]]}},"keywords":{}}],["application'",{"_index":2529,"title":{},"content":{"259":{"position":[[151,13]]}},"keywords":{}}],["application/json",{"_index":1477,"title":{},"content":{"81":{"position":[[194,16],[648,16]]},"82":{"position":[[763,16],[4737,16],[6389,16]]},"83":{"position":[[820,17],[2323,17],[2453,17]]}},"keywords":{}}],["application/x",{"_index":1522,"title":{},"content":{"82":{"position":[[443,13]]}},"keywords":{}}],["apply"",{"_index":2402,"title":{},"content":{"228":{"position":[[2196,11]]},"230":{"position":[[1933,11]]},"304":{"position":[[1262,11]]},"305":{"position":[[1540,11]]},"358":{"position":[[3131,11],[5056,11]]},"359":{"position":[[1731,11]]}},"keywords":{}}],["appreci",{"_index":3812,"title":{},"content":{"392":{"position":[[662,10]]}},"keywords":{}}],["appropri",{"_index":3957,"title":{"545":{"position":[[13,14]]}},"content":{"404":{"position":[[1217,13]]},"424":{"position":[[1613,11],[1789,11],[1955,11]]},"568":{"position":[[863,11]]},"664":{"position":[[104,11]]},"677":{"position":[[1107,11]]},"678":{"position":[[1329,11]]},"679":{"position":[[1350,11]]},"680":{"position":[[1383,11]]},"681":{"position":[[1183,11]]},"682":{"position":[[1400,11]]},"683":{"position":[[1421,11]]},"684":{"position":[[1454,11]]}},"keywords":{}}],["approv",{"_index":2432,"title":{},"content":{"250":{"position":[[66,8]]},"513":{"position":[[681,7]]}},"keywords":{}}],["approxim",{"_index":3523,"title":{},"content":{"369":{"position":[[3778,12]]},"404":{"position":[[1801,13]]}},"keywords":{}}],["apt",{"_index":3579,"title":{},"content":{"376":{"position":[[233,3],[261,3],[293,3]]},"404":{"position":[[2215,3],[2231,3],[2248,3]]}},"keywords":{}}],["arbitrari",{"_index":4133,"title":{},"content":{"452":{"position":[[31,9]]},"559":{"position":[[128,9]]},"561":{"position":[[161,9]]},"569":{"position":[[626,9],[1153,9]]},"668":{"position":[[88,9]]}},"keywords":{}}],["architectur",{"_index":28,"title":{"2":{"position":[[7,13]]},"343":{"position":[[8,12]]}},"content":{"343":{"position":[[42,13],[79,13]]},"368":{"position":[[589,14]]},"383":{"position":[[19,12]]},"387":{"position":[[665,12]]},"391":{"position":[[563,13]]},"673":{"position":[[397,12]]}},"keywords":{}}],["archiv",{"_index":4025,"title":{},"content":{"424":{"position":[[677,9],[1470,9]]}},"keywords":{}}],["arduino",{"_index":23,"title":{},"content":{"1":{"position":[[236,10]]}},"keywords":{}}],["area",{"_index":3669,"title":{},"content":{"380":{"position":[[73,4]]},"427":{"position":[[334,5]]},"431":{"position":[[74,5]]},"599":{"position":[[51,4]]},"600":{"position":[[18,4]]},"658":{"position":[[900,5],[1330,5]]}},"keywords":{}}],["arg",{"_index":1040,"title":{},"content":{"44":{"position":[[453,3]]},"376":{"position":[[30,3],[65,3],[116,3],[163,3]]}},"keywords":{}}],["argument",{"_index":1711,"title":{},"content":{"88":{"position":[[222,8]]},"104":{"position":[[748,9],[780,9]]},"105":{"position":[[635,9],[667,9]]},"110":{"position":[[931,9],[963,9]]},"111":{"position":[[827,9],[859,9]]},"145":{"position":[[164,9]]},"185":{"position":[[148,9]]},"217":{"position":[[1422,8]]},"242":{"position":[[306,8],[326,8]]},"251":{"position":[[468,8],[488,8]]},"333":{"position":[[928,10],[951,9],[1007,9]]},"378":{"position":[[1215,9]]},"544":{"position":[[1313,10]]},"685":{"position":[[342,9]]}},"keywords":{}}],["ari",{"_index":4679,"title":{},"content":{"609":{"position":[[593,3]]}},"keywords":{}}],["aris",{"_index":3787,"title":{},"content":{"390":{"position":[[1064,7]]}},"keywords":{}}],["arm",{"_index":3923,"title":{},"content":{"404":{"position":[[43,3]]}},"keywords":{}}],["around",{"_index":291,"title":{},"content":{"8":{"position":[[388,6]]},"506":{"position":[[26,6],[121,6]]},"524":{"position":[[25,6],[119,6]]},"549":{"position":[[375,6]]},"551":{"position":[[237,7]]},"677":{"position":[[1377,6]]}},"keywords":{}}],["array",{"_index":1709,"title":{"609":{"position":[[0,6]]}},"content":{"88":{"position":[[147,5]]},"218":{"position":[[190,7]]},"233":{"position":[[70,5],[423,5],[472,5],[543,5],[580,6],[639,5],[965,5]]},"234":{"position":[[70,5],[206,5],[255,5],[326,5],[363,6],[422,5],[755,5]]},"283":{"position":[[69,5],[416,5],[465,5],[536,5],[573,6],[632,5],[953,5]]},"284":{"position":[[69,5],[208,5],[257,5],[328,5],[365,6],[424,5],[752,5]]},"321":{"position":[[1372,5]]},"369":{"position":[[444,6]]},"402":{"position":[[4945,6],[4978,5],[5111,5],[5287,5]]},"540":{"position":[[4092,5],[4551,5]]},"609":{"position":[[10,5],[329,5],[386,5],[568,5],[633,5]]},"610":{"position":[[329,5]]},"673":{"position":[[1592,5],[1988,5]]},"687":{"position":[[12,5],[91,5],[103,5]]},"688":{"position":[[12,5]]},"703":{"position":[[120,5],[129,6]]},"704":{"position":[[382,5]]},"705":{"position":[[12,5]]},"706":{"position":[[12,5]]},"714":{"position":[[12,5]]},"716":{"position":[[229,5]]},"719":{"position":[[31,5]]},"742":{"position":[[12,5]]},"743":{"position":[[214,5],[223,6]]},"746":{"position":[[51,6]]},"748":{"position":[[64,5],[73,6]]},"751":{"position":[[54,6]]},"756":{"position":[[66,5],[75,6]]},"763":{"position":[[51,6]]},"765":{"position":[[63,5],[72,6]]}},"keywords":{}}],["array_item",{"_index":2666,"title":{"283":{"position":[[0,11]]}},"content":{"283":{"position":[[942,10]]}},"keywords":{}}],["array_paramet",{"_index":2408,"title":{"233":{"position":[[0,16]]}},"content":{"233":{"position":[[949,15]]}},"keywords":{}}],["arriv",{"_index":4261,"title":{},"content":{"522":{"position":[[1084,7],[1244,7]]},"716":{"position":[[72,7]]}},"keywords":{}}],["arrow",{"_index":4496,"title":{},"content":{"554":{"position":[[1160,7]]}},"keywords":{}}],["art",{"_index":4015,"title":{},"content":{"424":{"position":[[97,3]]}},"keywords":{}}],["articl",{"_index":4019,"title":{},"content":{"424":{"position":[[365,7]]}},"keywords":{}}],["ary2",{"_index":4681,"title":{},"content":{"609":{"position":[[658,4]]}},"keywords":{}}],["arycmd",{"_index":5131,"title":{},"content":{"688":{"position":[[287,9],[413,9]]}},"keywords":{}}],["ascii",{"_index":1093,"title":{"221":{"position":[[5,5]]}},"content":{"48":{"position":[[1528,5],[2016,5],[3846,5],[4287,5],[5173,5]]},"91":{"position":[[1237,5]]},"225":{"position":[[684,5]]},"271":{"position":[[711,5],[1323,5],[1357,5],[1574,6]]},"574":{"position":[[364,5]]}},"keywords":{}}],["asciicmd",{"_index":5132,"title":{},"content":{"688":{"position":[[297,11],[423,11]]}},"keywords":{}}],["ask",{"_index":718,"title":{"664":{"position":[[0,4]]}},"content":{"36":{"position":[[3214,3]]},"229":{"position":[[3214,3]]},"241":{"position":[[90,6]]},"326":{"position":[[840,4]]},"425":{"position":[[114,5]]},"430":{"position":[[305,3]]},"431":{"position":[[579,3]]},"432":{"position":[[230,5],[439,3]]},"452":{"position":[[93,3]]},"559":{"position":[[151,5],[263,6]]},"560":{"position":[[305,6]]}},"keywords":{}}],["ask("<question>"",{"_index":4961,"title":{},"content":{"664":{"position":[[242,33]]}},"keywords":{}}],["ask("ent",{"_index":4507,"title":{},"content":{"559":{"position":[[644,15],[942,15]]},"664":{"position":[[676,15],[718,15],[774,15],[820,15],[897,15],[939,15],[995,15],[1041,15]]}},"keywords":{}}],["ask("pleas",{"_index":4516,"title":{},"content":{"560":{"position":[[614,16],[811,16]]}},"keywords":{}}],["ask_str",{"_index":4501,"title":{"665":{"position":[[0,11]]}},"content":{"559":{"position":[[161,14]]}},"keywords":{}}],["ask_string("<question>"",{"_index":4968,"title":{},"content":{"665":{"position":[[201,40]]}},"keywords":{}}],["ask_string("do",{"_index":4503,"title":{},"content":{"559":{"position":[[451,19],[737,19]]}},"keywords":{}}],["ask_string("ent",{"_index":4969,"title":{},"content":{"665":{"position":[[643,22],[691,22],[755,22],[822,22],[907,22],[955,22],[1019,22],[1086,22]]}},"keywords":{}}],["aspect",{"_index":1226,"title":{},"content":{"55":{"position":[[2553,6]]},"343":{"position":[[63,7]]},"387":{"position":[[642,6]]},"551":{"position":[[133,6]]}},"keywords":{}}],["assign",{"_index":2003,"title":{},"content":{"126":{"position":[[580,8]]},"141":{"position":[[110,7]]},"183":{"position":[[445,9]]},"637":{"position":[[97,9]]}},"keywords":{}}],["assist",{"_index":4082,"title":{},"content":{"430":{"position":[[517,6]]}},"keywords":{}}],["associ",{"_index":163,"title":{},"content":{"5":{"position":[[633,10]]},"36":{"position":[[1717,10]]},"48":{"position":[[1679,10]]},"69":{"position":[[738,10]]},"121":{"position":[[142,10],[186,10]]},"149":{"position":[[186,10]]},"183":{"position":[[1,9],[41,9],[258,9],[344,9]]},"184":{"position":[[1,9],[45,9],[291,9]]},"186":{"position":[[365,9]]},"198":{"position":[[24,10],[165,9]]},"226":{"position":[[103,10]]},"229":{"position":[[1717,10]]},"252":{"position":[[358,10]]},"276":{"position":[[114,10]]},"279":{"position":[[1712,10]]},"296":{"position":[[363,10]]},"302":{"position":[[1898,10]]},"314":{"position":[[168,10],[289,10]]},"349":{"position":[[926,10]]},"399":{"position":[[28,10]]},"430":{"position":[[184,10]]},"533":{"position":[[955,10]]},"551":{"position":[[96,10]]},"615":{"position":[[287,10]]},"652":{"position":[[117,10]]},"677":{"position":[[817,10]]},"678":{"position":[[1039,10]]},"679":{"position":[[1060,10]]},"680":{"position":[[1093,10]]},"681":{"position":[[893,10]]},"682":{"position":[[1110,10]]},"683":{"position":[[1131,10]]},"684":{"position":[[1164,10]]},"752":{"position":[[21,10]]},"753":{"position":[[26,10]]}},"keywords":{}}],["assum",{"_index":1401,"title":{},"content":{"67":{"position":[[4159,7]]},"358":{"position":[[144,7]]},"382":{"position":[[195,7]]},"383":{"position":[[717,7]]},"550":{"position":[[171,9]]},"562":{"position":[[214,6]]},"576":{"position":[[103,7]]},"669":{"position":[[297,6]]},"670":{"position":[[218,6]]},"671":{"position":[[194,6]]}},"keywords":{}}],["astro",{"_index":2174,"title":{"265":{"position":[[0,5]]}},"content":{"197":{"position":[[246,6]]},"265":{"position":[[26,5],[208,5],[290,5],[332,5]]},"416":{"position":[[130,5]]},"632":{"position":[[140,5],[184,7]]}},"keywords":{}}],["astrouxd",{"_index":2559,"title":{},"content":{"265":{"position":[[5,10]]}},"keywords":{}}],["atla",{"_index":1803,"title":{},"content":{"96":{"position":[[571,7]]}},"keywords":{}}],["attach",{"_index":3000,"title":{},"content":{"326":{"position":[[898,8]]}},"keywords":{}}],["attempt",{"_index":1380,"title":{},"content":{"67":{"position":[[2048,9]]},"91":{"position":[[1305,8]]},"135":{"position":[[280,9]]},"238":{"position":[[107,8]]},"344":{"position":[[559,10]]},"348":{"position":[[1267,7]]}},"keywords":{}}],["attitud",{"_index":5264,"title":{},"content":{"705":{"position":[[450,8]]}},"keywords":{}}],["attr_accessor",{"_index":4461,"title":{},"content":{"551":{"position":[[774,13]]}},"keywords":{}}],["attribut",{"_index":3732,"title":{"399":{"position":[[23,11]]}},"content":{"387":{"position":[[547,11]]},"399":{"position":[[39,10]]}},"keywords":{}}],["aubruze6r0pji6pe1hblpmupbcx3uuiwxu2",{"_index":1566,"title":{},"content":{"82":{"position":[[4353,35]]}},"keywords":{}}],["audit",{"_index":4489,"title":{"553":{"position":[[14,9]]},"557":{"position":[[0,8]]}},"content":{"557":{"position":[[46,5]]}},"keywords":{}}],["august",{"_index":4123,"title":{},"content":{"437":{"position":[[199,6]]}},"keywords":{}}],["auth",{"_index":1942,"title":{},"content":{"112":{"position":[[820,4]]},"404":{"position":[[1328,5]]}},"keywords":{}}],["auth_no_priv",{"_index":1935,"title":{},"content":{"112":{"position":[[692,12]]}},"keywords":{}}],["auth_password",{"_index":1941,"title":{},"content":{"112":{"position":[[806,13]]}},"keywords":{}}],["auth_priv",{"_index":1934,"title":{},"content":{"112":{"position":[[678,10]]}},"keywords":{}}],["auth_protocol",{"_index":1936,"title":{},"content":{"112":{"position":[[709,13]]}},"keywords":{}}],["authent",{"_index":1690,"title":{},"content":{"85":{"position":[[67,12],[212,12]]},"109":{"position":[[253,15],[878,14],[936,14],[1052,14]]},"110":{"position":[[273,15],[1212,14],[1270,14],[1386,14]]},"258":{"position":[[1769,14]]}},"keywords":{}}],["author",{"_index":551,"title":{"85":{"position":[[0,14]]}},"content":{"24":{"position":[[860,10],[890,9]]},"83":{"position":[[882,15],[2344,15]]},"85":{"position":[[10,13],[234,14]]},"95":{"position":[[131,9]]},"109":{"position":[[1206,9]]},"110":{"position":[[1540,9]]},"301":{"position":[[762,8]]},"390":{"position":[[925,7]]},"427":{"position":[[128,10]]},"513":{"position":[[93,9],[140,9],[222,9],[287,9],[379,10],[547,10]]},"535":{"position":[[1096,6],[1190,6]]}},"keywords":{}}],["auto",{"_index":1437,"title":{},"content":{"73":{"position":[[795,4],[1160,4]]},"320":{"position":[[1604,4],[1609,4]]},"505":{"position":[[160,4]]},"522":{"position":[[1360,5]]},"560":{"position":[[730,4],[942,4]]},"577":{"position":[[248,4],[341,4],[492,4],[497,4]]},"654":{"position":[[43,4],[48,4]]},"786":{"position":[[491,4],[496,4],[763,4],[768,4]]},"787":{"position":[[951,4],[956,4],[1234,4],[1239,4]]}},"keywords":{}}],["autom",{"_index":2534,"title":{},"content":{"261":{"position":[[86,10]]},"418":{"position":[[26,9]]},"538":{"position":[[124,8]]},"679":{"position":[[148,8]]},"680":{"position":[[174,8]]},"683":{"position":[[171,8]]},"684":{"position":[[197,8]]}},"keywords":{}}],["automat",{"_index":362,"title":{},"content":{"15":{"position":[[207,9]]},"16":{"position":[[211,9]]},"55":{"position":[[2489,13]]},"73":{"position":[[570,13]]},"74":{"position":[[596,13]]},"75":{"position":[[612,13]]},"76":{"position":[[609,13]]},"77":{"position":[[786,13]]},"133":{"position":[[17,13]]},"222":{"position":[[75,13]]},"275":{"position":[[8,13]]},"324":{"position":[[769,13]]},"326":{"position":[[1362,13]]},"363":{"position":[[159,13]]},"426":{"position":[[136,13]]},"467":{"position":[[102,13]]},"503":{"position":[[53,13]]},"522":{"position":[[1220,13]]},"523":{"position":[[53,13],[452,13]]},"532":{"position":[[41,13]]},"533":{"position":[[173,13]]},"546":{"position":[[1319,13]]},"555":{"position":[[104,13]]},"561":{"position":[[50,13]]},"577":{"position":[[277,13],[370,13]]},"594":{"position":[[149,13]]},"637":{"position":[[523,13]]},"664":{"position":[[59,13]]},"669":{"position":[[561,13]]},"677":{"position":[[1076,13]]},"678":{"position":[[1298,13]]},"679":{"position":[[1319,13]]},"680":{"position":[[1352,13]]},"681":{"position":[[1152,13]]},"682":{"position":[[1369,13]]},"683":{"position":[[1390,13]]},"684":{"position":[[1423,13]]},"798":{"position":[[62,14]]}},"keywords":{}}],["autonom",{"_index":2785,"title":{"417":{"position":[[0,9]]}},"content":{"303":{"position":[[1021,12]]},"344":{"position":[[546,12]]},"418":{"position":[[1,9]]},"419":{"position":[[1,9]]},"421":{"position":[[524,9]]},"513":{"position":[[509,9]]}},"keywords":{}}],["avail",{"_index":593,"title":{},"content":{"27":{"position":[[1030,9]]},"67":{"position":[[504,9],[4591,9]]},"115":{"position":[[633,9]]},"268":{"position":[[223,9]]},"309":{"position":[[136,10],[824,9]]},"340":{"position":[[437,9]]},"358":{"position":[[2380,10],[2434,9]]},"379":{"position":[[3966,9]]},"387":{"position":[[864,9]]},"429":{"position":[[457,9]]},"452":{"position":[[140,9]]},"503":{"position":[[79,9]]},"514":{"position":[[42,9]]},"515":{"position":[[44,9]]},"523":{"position":[[79,9],[146,9]]},"535":{"position":[[1521,9]]},"582":{"position":[[147,9]]},"658":{"position":[[973,9]]},"687":{"position":[[43,9]]},"784":{"position":[[39,9]]}},"keywords":{}}],["averag",{"_index":3391,"title":{},"content":{"367":{"position":[[365,7]]}},"keywords":{}}],["avg",{"_index":3898,"title":{},"content":{"402":{"position":[[3333,4]]},"626":{"position":[[510,4],[1237,4]]},"627":{"position":[[544,4],[1290,4]]},"628":{"position":[[528,4],[1262,4]]}},"keywords":{}}],["avoid",{"_index":114,"title":{},"content":{"3":{"position":[[483,5]]},"7":{"position":[[506,5]]},"27":{"position":[[625,5]]},"302":{"position":[[1635,5]]},"358":{"position":[[7191,5]]},"531":{"position":[[564,5]]},"545":{"position":[[110,5]]},"579":{"position":[[293,5]]}},"keywords":{}}],["aw",{"_index":2574,"title":{},"content":{"268":{"position":[[278,3]]},"439":{"position":[[293,3]]}},"keywords":{}}],["awar",{"_index":111,"title":{},"content":{"3":{"position":[[444,5]]},"422":{"position":[[847,5]]},"435":{"position":[[98,5]]},"470":{"position":[[53,9]]}},"keywords":{}}],["away",{"_index":1243,"title":{},"content":{"56":{"position":[[430,5]]},"386":{"position":[[257,5]]}},"keywords":{}}],["awesom",{"_index":2171,"title":{},"content":{"197":{"position":[[181,8]]}},"keywords":{}}],["azur",{"_index":2576,"title":{},"content":{"268":{"position":[[303,5]]},"369":{"position":[[47,5]]}},"keywords":{}}],["b",{"_index":1279,"title":{},"content":{"59":{"position":[[338,1]]},"299":{"position":[[188,1]]},"321":{"position":[[1215,1],[1446,2],[1496,2]]},"386":{"position":[[229,1]]},"422":{"position":[[486,1]]},"424":{"position":[[513,2]]},"432":{"position":[[1295,3]]},"708":{"position":[[676,1]]}},"keywords":{}}],["b"",{"_index":2979,"title":{},"content":{"321":{"position":[[1245,7]]}},"keywords":{}}],["b"\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":5010,"title":{},"content":{"670":{"position":[[1112,46]]}},"keywords":{}}],["b/compose.yaml",{"_index":510,"title":{},"content":{"23":{"position":[[83,14]]}},"keywords":{}}],["b/g",{"_index":4209,"title":{},"content":{"497":{"position":[[371,3]]}},"keywords":{}}],["b/openc3",{"_index":472,"title":{},"content":{"21":{"position":[[88,8]]},"22":{"position":[[113,8]]}},"keywords":{}}],["b3ee86d3620a",{"_index":951,"title":{},"content":{"42":{"position":[[1512,12]]}},"keywords":{}}],["b411xqprpt",{"_index":1558,"title":{},"content":{"82":{"position":[[2440,10],[5905,10]]}},"keywords":{}}],["b4ynq0dna1tv1kmnxrl8w1ultqyvzjdsn",{"_index":1562,"title":{},"content":{"82":{"position":[[4235,33]]}},"keywords":{}}],["b5b0b95e6939",{"_index":1509,"title":{},"content":{"81":{"position":[[773,12]]}},"keywords":{}}],["b:8",{"_index":2976,"title":{},"content":{"321":{"position":[[1141,4]]}},"keywords":{}}],["back",{"_index":1830,"title":{},"content":{"100":{"position":[[1092,4]]},"267":{"position":[[185,4]]},"324":{"position":[[726,4]]},"326":{"position":[[340,4],[438,4]]},"358":{"position":[[573,4],[3395,4],[3403,4]]},"359":{"position":[[488,4],[654,4],[2037,4],[2469,4]]},"426":{"position":[[906,4]]},"473":{"position":[[1385,4],[1582,4]]},"522":{"position":[[839,4]]},"673":{"position":[[329,4]]}},"keywords":{}}],["backcolor",{"_index":4617,"title":{"587":{"position":[[0,10]]}},"content":{"584":{"position":[[246,9],[320,9]]},"585":{"position":[[242,9],[298,9],[372,9]]},"586":{"position":[[244,9],[300,9],[375,9]]},"587":{"position":[[5,9],[412,9],[467,9]]},"654":{"position":[[665,9],[1169,9]]}},"keywords":{}}],["backend",{"_index":1035,"title":{"44":{"position":[[10,7]]},"266":{"position":[[0,8]]}},"content":{"44":{"position":[[73,7]]},"123":{"position":[[38,7]]},"257":{"position":[[519,8]]},"269":{"position":[[34,8]]},"324":{"position":[[884,8]]},"439":{"position":[[49,7]]},"511":{"position":[[200,7]]}},"keywords":{}}],["background",{"_index":2136,"title":{},"content":{"178":{"position":[[113,10]]},"209":{"position":[[219,11]]},"303":{"position":[[353,10],[377,10],[564,10],[949,11],[1217,10],[1228,10]]},"447":{"position":[[208,10]]},"497":{"position":[[444,11]]},"530":{"position":[[596,11]]},"587":{"position":[[32,10]]},"637":{"position":[[1929,10],[2044,12]]}},"keywords":{}}],["background.rb",{"_index":2788,"title":{},"content":{"303":{"position":[[1261,13]]}},"keywords":{}}],["backslash",{"_index":303,"title":{},"content":{"9":{"position":[[477,9]]}},"keywords":{}}],["backtrac",{"_index":4937,"title":{},"content":{"662":{"position":[[3936,9]]}},"keywords":{}}],["backward",{"_index":817,"title":{},"content":{"36":{"position":[[8261,9]]},"229":{"position":[[8261,9]]},"279":{"position":[[6920,9]]},"661":{"position":[[113,9]]},"662":{"position":[[3379,9],[3600,9]]}},"keywords":{}}],["bad",{"_index":1337,"title":{},"content":{"65":{"position":[[307,3]]},"545":{"position":[[341,3],[532,3]]},"612":{"position":[[893,3]]},"678":{"position":[[150,3]]},"682":{"position":[[173,3]]}},"keywords":{}}],["bae",{"_index":3818,"title":{},"content":{"393":{"position":[[177,3]]}},"keywords":{}}],["balanc",{"_index":73,"title":{},"content":{"2":{"position":[[709,9]]},"258":{"position":[[1483,8]]},"343":{"position":[[800,9]]}},"keywords":{}}],["ball",{"_index":3769,"title":{},"content":{"389":{"position":[[2154,4]]},"393":{"position":[[12,4],[191,4],[309,4]]}},"keywords":{}}],["balloon",{"_index":4241,"title":{},"content":{"506":{"position":[[356,7]]}},"keywords":{}}],["banner",{"_index":3991,"title":{},"content":{"416":{"position":[[198,7]]}},"keywords":{}}],["bar",{"_index":2182,"title":{},"content":{"200":{"position":[[48,3]]},"356":{"position":[[895,3],[920,3]]},"413":{"position":[[90,3],[208,3]]},"416":{"position":[[244,4]]},"473":{"position":[[190,3]]},"505":{"position":[[39,3]]},"506":{"position":[[76,3],[331,4],[557,3]]},"514":{"position":[[189,3]]},"515":{"position":[[201,3]]},"522":{"position":[[632,3]]},"524":{"position":[[75,3]]},"613":{"position":[[276,4],[379,3]]},"618":{"position":[[250,4],[303,3],[389,4],[442,3],[724,3],[777,3]]},"620":{"position":[[349,3],[402,3]]},"621":{"position":[[347,3],[400,3]]},"625":{"position":[[219,4],[272,3],[358,4],[411,3],[693,3],[746,3]]},"630":{"position":[[21,3],[284,4],[387,3]]},"631":{"position":[[25,3],[229,4],[282,3],[368,4],[421,3],[609,3],[662,3]]},"633":{"position":[[454,4],[461,3],[471,3],[555,4],[600,3],[643,4],[676,4]]},"658":{"position":[[217,3],[344,3]]}},"keywords":{}}],["base",{"_index":336,"title":{},"content":{"12":{"position":[[297,4]]},"42":{"position":[[1259,4]]},"48":{"position":[[1154,5]]},"61":{"position":[[281,5]]},"67":{"position":[[324,4],[831,4],[1621,4]]},"69":{"position":[[115,4],[137,4],[396,4]]},"70":{"position":[[243,4],[292,4],[371,4]]},"71":{"position":[[106,4],[171,4],[250,4]]},"72":{"position":[[112,4],[180,4],[262,4]]},"73":{"position":[[599,4],[929,4],[1349,4],[1607,4]]},"74":{"position":[[780,4],[857,4],[943,4]]},"75":{"position":[[641,4],[719,4],[806,4]]},"76":{"position":[[638,4],[710,4],[812,4]]},"77":{"position":[[922,4],[1020,4],[1148,4]]},"78":{"position":[[183,4],[322,4],[470,4]]},"83":{"position":[[469,5]]},"109":{"position":[[1046,5]]},"110":{"position":[[1380,5]]},"111":{"position":[[131,5]]},"122":{"position":[[22,5]]},"150":{"position":[[209,5]]},"192":{"position":[[88,5]]},"199":{"position":[[128,4]]},"214":{"position":[[103,5]]},"217":{"position":[[1826,5]]},"219":{"position":[[52,5]]},"257":{"position":[[113,4]]},"258":{"position":[[503,4]]},"263":{"position":[[263,5]]},"274":{"position":[[151,5]]},"275":{"position":[[1119,5],[1325,5],[1480,5]]},"305":{"position":[[825,5]]},"307":{"position":[[1019,5]]},"330":{"position":[[1604,5]]},"332":{"position":[[157,4]]},"344":{"position":[[205,5]]},"349":{"position":[[2109,5]]},"350":{"position":[[923,5]]},"361":{"position":[[33,5]]},"367":{"position":[[286,4],[599,4],[621,4]]},"369":{"position":[[1997,4]]},"379":{"position":[[3535,4]]},"392":{"position":[[192,5]]},"402":{"position":[[699,5],[5220,5]]},"404":{"position":[[47,5]]},"418":{"position":[[70,5]]},"419":{"position":[[287,5]]},"449":{"position":[[161,5]]},"452":{"position":[[269,5]]},"455":{"position":[[343,5]]},"495":{"position":[[23,5]]},"499":{"position":[[633,5],[682,5]]},"504":{"position":[[160,5]]},"611":{"position":[[320,5]]},"619":{"position":[[36,5]]},"632":{"position":[[66,5]]},"633":{"position":[[63,5]]},"635":{"position":[[211,5]]},"641":{"position":[[196,6]]},"642":{"position":[[380,5]]},"650":{"position":[[142,5]]},"652":{"position":[[91,5]]},"654":{"position":[[798,5]]},"692":{"position":[[432,5]]},"722":{"position":[[602,5]]},"723":{"position":[[300,5]]},"724":{"position":[[385,5]]},"725":{"position":[[275,5]]},"744":{"position":[[23,5]]}},"keywords":{}}],["base2",{"_index":3550,"title":{},"content":{"369":{"position":[[4482,5]]}},"keywords":{}}],["base64",{"_index":1125,"title":{},"content":{"48":{"position":[[4657,7]]},"402":{"position":[[6171,6]]},"629":{"position":[[11,6],[222,7],[317,6]]}},"keywords":{}}],["bash",{"_index":917,"title":{},"content":{"42":{"position":[[547,4]]},"83":{"position":[[1838,4]]}},"keywords":{}}],["bash_profil",{"_index":2886,"title":{},"content":{"309":{"position":[[2531,13]]}},"keywords":{}}],["bashrc",{"_index":2885,"title":{},"content":{"309":{"position":[[2514,7],[2689,7]]}},"keywords":{}}],["basic",{"_index":199,"title":{"542":{"position":[[8,5]]}},"content":{"6":{"position":[[154,5]]},"115":{"position":[[1968,9]]},"307":{"position":[[783,5]]},"319":{"position":[[7,9]]},"320":{"position":[[114,5]]},"419":{"position":[[30,5]]}},"keywords":{}}],["bat",{"_index":3704,"title":{},"content":{"383":{"position":[[872,4]]}},"keywords":{}}],["batch",{"_index":919,"title":{},"content":{"42":{"position":[[599,5]]},"86":{"position":[[308,5]]},"333":{"position":[[83,5]]},"402":{"position":[[5022,8],[5100,5],[5157,5],[5186,7]]}},"keywords":{}}],["baud",{"_index":1909,"title":{},"content":{"111":{"position":[[463,4],[473,4]]},"314":{"position":[[544,4]]}},"keywords":{}}],["baud_rat",{"_index":2919,"title":{},"content":{"314":{"position":[[563,9],[1258,9]]}},"keywords":{}}],["bbad6c6b",{"_index":1505,"title":{},"content":{"81":{"position":[[749,8]]}},"keywords":{}}],["bch",{"_index":1142,"title":{},"content":{"50":{"position":[[331,3]]},"58":{"position":[[133,3],[256,3],[303,3],[352,3]]}},"keywords":{}}],["be",{"_index":258,"title":{},"content":{"7":{"position":[[512,5]]},"36":{"position":[[8120,5]]},"53":{"position":[[468,5],[718,5]]},"54":{"position":[[340,5],[1116,5]]},"55":{"position":[[1893,5]]},"56":{"position":[[1018,5]]},"60":{"position":[[521,5]]},"61":{"position":[[2190,5]]},"67":{"position":[[3978,5]]},"91":{"position":[[959,5],[1011,5],[1071,5],[1218,5]]},"92":{"position":[[750,5],[802,5],[853,5]]},"229":{"position":[[8120,5]]},"238":{"position":[[28,5],[84,5]]},"264":{"position":[[274,5]]},"279":{"position":[[6780,5]]},"359":{"position":[[709,5],[2374,5]]},"402":{"position":[[1535,5],[1605,5]]},"422":{"position":[[1506,5]]},"473":{"position":[[1107,5]]},"530":{"position":[[570,5]]},"544":{"position":[[434,5]]}},"keywords":{}}],["beaglebon",{"_index":26,"title":{},"content":{"1":{"position":[[261,11]]}},"keywords":{}}],["becom",{"_index":2176,"title":{},"content":{"198":{"position":[[66,7]]},"368":{"position":[[286,7]]},"497":{"position":[[235,7],[351,7]]},"530":{"position":[[262,7]]},"544":{"position":[[638,7]]},"545":{"position":[[174,6]]},"549":{"position":[[17,6]]}},"keywords":{}}],["befor",{"_index":750,"title":{},"content":{"36":{"position":[[4395,6],[6243,6],[6874,6],[7938,6]]},"48":{"position":[[2138,6]]},"53":{"position":[[75,6]]},"55":{"position":[[2009,6]]},"56":{"position":[[801,6]]},"58":{"position":[[249,6]]},"61":{"position":[[1973,6],[2592,6]]},"64":{"position":[[178,6]]},"65":{"position":[[1161,6]]},"67":{"position":[[2025,6],[2232,6],[4199,6]]},"74":{"position":[[82,6]]},"75":{"position":[[83,6]]},"76":{"position":[[70,6]]},"82":{"position":[[151,6],[269,6],[4500,6]]},"104":{"position":[[574,6],[643,6]]},"105":{"position":[[461,6],[530,6]]},"106":{"position":[[658,6],[743,6],[816,6]]},"107":{"position":[[438,6],[544,6],[660,6]]},"111":{"position":[[653,6],[722,6]]},"115":{"position":[[1698,6],[1857,6]]},"138":{"position":[[390,6],[524,6]]},"139":{"position":[[210,6]]},"225":{"position":[[762,6]]},"229":{"position":[[4395,6],[6243,6],[6874,6],[7938,6]]},"241":{"position":[[114,6]]},"243":{"position":[[74,6]]},"244":{"position":[[72,6]]},"271":{"position":[[789,6]]},"279":{"position":[[3352,6],[4723,6],[5416,6],[6539,6],[8663,6]]},"330":{"position":[[593,6]]},"348":{"position":[[1912,6],[1988,6]]},"349":{"position":[[533,6]]},"358":{"position":[[324,6]]},"382":{"position":[[776,6]]},"385":{"position":[[178,6]]},"422":{"position":[[1113,6],[1499,6]]},"528":{"position":[[851,6],[892,6]]},"542":{"position":[[430,6]]},"557":{"position":[[70,6]]},"559":{"position":[[240,6]]},"579":{"position":[[402,6]]},"582":{"position":[[362,6]]},"613":{"position":[[242,6]]},"630":{"position":[[246,6]]},"659":{"position":[[218,6]]},"741":{"position":[[1699,6]]},"791":{"position":[[86,6],[259,6]]},"792":{"position":[[85,6]]}},"keywords":{}}],["begin",{"_index":1259,"title":{},"content":{"57":{"position":[[839,9]]},"225":{"position":[[717,9]]},"271":{"position":[[744,9]]},"301":{"position":[[959,5]]},"321":{"position":[[1049,9]]},"402":{"position":[[837,6]]},"522":{"position":[[749,5]]},"523":{"position":[[255,6],[505,9]]},"540":{"position":[[4306,9]]},"610":{"position":[[532,9]]},"658":{"position":[[1051,5]]}},"keywords":{}}],["behalf",{"_index":4098,"title":{},"content":{"432":{"position":[[669,7]]}},"keywords":{}}],["behav",{"_index":4490,"title":{},"content":{"554":{"position":[[104,8]]}},"keywords":{}}],["behavior",{"_index":834,"title":{},"content":{"36":{"position":[[9648,8],[9859,8]]},"78":{"position":[[108,8]]},"229":{"position":[[9648,8],[9859,8]]},"556":{"position":[[813,8]]},"758":{"position":[[150,9]]},"759":{"position":[[157,9]]},"768":{"position":[[140,9]]},"769":{"position":[[154,9]]}},"keywords":{}}],["behaviour",{"_index":1831,"title":{},"content":{"101":{"position":[[22,9]]}},"keywords":{}}],["behind",{"_index":2124,"title":{},"content":{"174":{"position":[[138,7]]},"402":{"position":[[98,6]]},"429":{"position":[[280,6]]},"432":{"position":[[114,6]]},"552":{"position":[[97,6]]}},"keywords":{}}],["belief",{"_index":4103,"title":{},"content":{"432":{"position":[[1152,6]]}},"keywords":{}}],["believ",{"_index":1432,"title":{},"content":{"73":{"position":[[263,8],[410,8],[509,8]]},"74":{"position":[[294,8],[443,8],[535,8]]},"75":{"position":[[293,8],[459,8],[551,8]]},"76":{"position":[[294,8],[458,8],[548,8]]},"77":{"position":[[725,8]]},"436":{"position":[[24,7]]}},"keywords":{}}],["belong",{"_index":2686,"title":{},"content":{"297":{"position":[[449,6],[556,7]]}},"keywords":{}}],["below",{"_index":1089,"title":{},"content":{"48":{"position":[[1191,5]]},"67":{"position":[[885,5]]},"83":{"position":[[408,5],[1827,5]]},"115":{"position":[[2158,6]]},"217":{"position":[[837,5],[960,5],[1315,5]]},"340":{"position":[[521,5]]},"431":{"position":[[371,6]]},"506":{"position":[[703,5]]},"517":{"position":[[29,5]]},"618":{"position":[[282,5]]},"625":{"position":[[251,5]]},"631":{"position":[[261,5]]},"741":{"position":[[771,5],[876,5]]}},"keywords":{}}],["below"",{"_index":4677,"title":{},"content":{"607":{"position":[[209,11]]}},"keywords":{}}],["beneath",{"_index":1852,"title":{},"content":{"105":{"position":[[756,7]]},"108":{"position":[[363,7]]},"109":{"position":[[719,7]]},"110":{"position":[[1053,7]]},"111":{"position":[[948,7]]},"112":{"position":[[304,7]]},"113":{"position":[[355,7]]}},"keywords":{}}],["benefit",{"_index":2834,"title":{},"content":{"309":{"position":[[275,7]]}},"keywords":{}}],["best",{"_index":1229,"title":{"559":{"position":[[11,4]]}},"content":{"55":{"position":[[2701,4]]},"93":{"position":[[72,4]]},"265":{"position":[[166,4]]},"321":{"position":[[1503,4]]},"358":{"position":[[2510,4]]},"368":{"position":[[639,4]]},"369":{"position":[[3799,4]]},"426":{"position":[[470,4]]},"429":{"position":[[452,4]]},"436":{"position":[[118,4]]},"538":{"position":[[32,4]]},"566":{"position":[[631,4]]}},"keywords":{}}],["beta0",{"_index":5768,"title":{},"content":{"808":{"position":[[953,7]]},"809":{"position":[[556,6],[625,7]]}},"keywords":{}}],["beta0"",{"_index":5755,"title":{},"content":{"808":{"position":[[226,12]]},"809":{"position":[[367,11],[445,12]]}},"keywords":{}}],["better",{"_index":135,"title":{},"content":{"3":{"position":[[750,7]]},"336":{"position":[[108,7]]},"344":{"position":[[836,7]]},"361":{"position":[[60,6]]},"362":{"position":[[106,6]]},"379":{"position":[[3730,6]]},"386":{"position":[[737,7]]},"426":{"position":[[682,6]]},"547":{"position":[[433,6],[907,6]]},"552":{"position":[[782,6]]},"697":{"position":[[294,6]]},"698":{"position":[[203,6]]},"699":{"position":[[263,6]]},"722":{"position":[[335,6]]},"723":{"position":[[239,6]]},"724":{"position":[[336,6]]},"725":{"position":[[212,6]]},"741":{"position":[[99,6]]}},"keywords":{}}],["bettera",{"_index":3932,"title":{},"content":{"404":{"position":[[338,7]]}},"keywords":{}}],["between",{"_index":875,"title":{},"content":{"40":{"position":[[732,7]]},"51":{"position":[[378,7]]},"61":{"position":[[2667,7]]},"64":{"position":[[279,7]]},"135":{"position":[[183,7],[262,7]]},"149":{"position":[[342,7]]},"153":{"position":[[104,7]]},"156":{"position":[[111,7]]},"160":{"position":[[106,7]]},"163":{"position":[[113,7]]},"171":{"position":[[99,7]]},"225":{"position":[[1030,7]]},"258":{"position":[[1943,7]]},"271":{"position":[[1069,7]]},"354":{"position":[[611,7]]},"369":{"position":[[1925,7],[3415,7]]},"379":{"position":[[3749,7]]},"398":{"position":[[325,7]]},"536":{"position":[[61,7]]},"540":{"position":[[55,7],[3667,7]]},"559":{"position":[[684,7],[982,7]]},"577":{"position":[[440,7]]},"594":{"position":[[302,7]]},"595":{"position":[[277,7]]},"596":{"position":[[150,7]]},"597":{"position":[[235,7]]},"598":{"position":[[196,7]]},"599":{"position":[[257,7]]},"607":{"position":[[31,7]]},"612":{"position":[[557,7]]},"657":{"position":[[163,7]]},"789":{"position":[[177,7]]},"814":{"position":[[126,7]]}},"keywords":{}}],["bg",{"_index":4774,"title":{},"content":{"637":{"position":[[2029,2]]}},"keywords":{}}],["big",{"_index":175,"title":{},"content":{"5":{"position":[[880,3]]},"33":{"position":[[190,3]]},"35":{"position":[[1291,3],[1822,3]]},"37":{"position":[[1084,3],[1615,3]]},"48":{"position":[[101,3]]},"213":{"position":[[324,3]]},"226":{"position":[[350,3]]},"228":{"position":[[1320,3],[1851,3]]},"230":{"position":[[1103,3],[1634,3]]},"231":{"position":[[1464,3],[1995,3]]},"232":{"position":[[1300,3],[1831,3]]},"233":{"position":[[851,3]]},"234":{"position":[[634,3]]},"276":{"position":[[367,3]]},"278":{"position":[[926,3]]},"280":{"position":[[718,3]]},"281":{"position":[[1020,3]]},"282":{"position":[[689,3]]},"283":{"position":[[844,3]]},"284":{"position":[[636,3]]},"319":{"position":[[197,3],[310,3]]},"320":{"position":[[1691,3]]}},"keywords":{}}],["big_endian",{"_index":146,"title":{},"content":{"5":{"position":[[129,10],[233,11],[929,11],[1161,10]]},"7":{"position":[[167,10],[843,10]]},"8":{"position":[[181,10],[338,10]]},"9":{"position":[[195,10],[361,10],[544,10],[693,10]]},"33":{"position":[[239,11]]},"35":{"position":[[1379,11],[1871,11]]},"37":{"position":[[1172,11],[1664,11]]},"40":{"position":[[101,10]]},"55":{"position":[[1673,12],[1709,12]]},"64":{"position":[[670,10],[900,10]]},"104":{"position":[[956,10],[1832,10]]},"105":{"position":[[1014,10],[1775,10]]},"109":{"position":[[2191,10],[2517,10]]},"111":{"position":[[1261,10]]},"114":{"position":[[424,10]]},"139":{"position":[[942,10]]},"213":{"position":[[524,10],[895,10]]},"214":{"position":[[422,10],[1678,10]]},"215":{"position":[[301,10],[735,10]]},"216":{"position":[[290,10]]},"217":{"position":[[1342,10],[2472,10]]},"218":{"position":[[459,10],[1456,10]]},"219":{"position":[[501,10],[702,10],[1286,10]]},"220":{"position":[[364,10],[1532,10]]},"226":{"position":[[399,11],[549,10]]},"228":{"position":[[1408,11],[1900,11]]},"230":{"position":[[1191,11],[1683,11]]},"231":{"position":[[1552,11],[2044,11]]},"232":{"position":[[1388,11],[1880,11]]},"233":{"position":[[900,11]]},"234":{"position":[[683,11]]},"253":{"position":[[67,10],[969,10],[1733,10]]},"276":{"position":[[416,11],[583,10]]},"278":{"position":[[1014,11]]},"280":{"position":[[806,11]]},"281":{"position":[[1108,11]]},"282":{"position":[[777,11]]},"283":{"position":[[893,11]]},"284":{"position":[[685,11]]},"299":{"position":[[59,10]]},"304":{"position":[[925,10]]},"305":{"position":[[1142,10]]},"321":{"position":[[274,10],[600,12],[956,10]]},"358":{"position":[[2757,10],[3244,10],[4756,10],[5151,10]]},"359":{"position":[[1355,10]]},"379":{"position":[[313,10],[1194,10],[1737,10],[2244,10],[2757,10]]},"687":{"position":[[893,13]]},"689":{"position":[[935,13]]},"690":{"position":[[1410,13]]}},"keywords":{}}],["big_endian/little_endian",{"_index":1342,"title":{},"content":{"65":{"position":[[650,26]]}},"keywords":{}}],["bigwidget"",{"_index":2965,"title":{},"content":{"320":{"position":[[1155,15]]}},"keywords":{}}],["bill",{"_index":4095,"title":{},"content":{"432":{"position":[[475,7],[524,4]]}},"keywords":{}}],["bin",{"_index":3084,"title":{},"content":{"338":{"position":[[280,4]]}},"keywords":{}}],["bin/bash",{"_index":1630,"title":{},"content":{"83":{"position":[[2061,11]]}},"keywords":{}}],["binari",{"_index":61,"title":{"213":{"position":[[0,6]]}},"content":{"2":{"position":[[556,6]]},"31":{"position":[[35,6],[444,7],[686,6]]},"36":{"position":[[4425,6],[6273,6],[6904,6],[7968,6],[10631,7]]},"46":{"position":[[54,6]]},"48":{"position":[[112,6],[1219,6],[1265,6],[3799,6]]},"53":{"position":[[605,6]]},"54":{"position":[[1003,6]]},"55":{"position":[[1784,6]]},"56":{"position":[[909,6]]},"60":{"position":[[412,6]]},"61":{"position":[[2081,6]]},"67":{"position":[[4382,6]]},"91":{"position":[[1183,6]]},"115":{"position":[[1898,6]]},"153":{"position":[[9,6]]},"154":{"position":[[9,6]]},"160":{"position":[[11,6]]},"161":{"position":[[11,6]]},"213":{"position":[[5,6],[44,6],[264,6],[392,6]]},"214":{"position":[[13,6],[81,6]]},"225":{"position":[[987,6],[1082,6]]},"228":{"position":[[2255,6]]},"229":{"position":[[4425,6],[6273,6],[6904,6],[7968,6]]},"231":{"position":[[115,6],[236,6],[1227,6]]},"232":{"position":[[115,6],[236,6],[1063,6]]},"244":{"position":[[229,6]]},"271":{"position":[[1011,6],[1562,6],[1678,6],[1726,6]]},"274":{"position":[[101,6]]},"338":{"position":[[313,6]]},"342":{"position":[[1088,6]]},"343":{"position":[[647,6]]},"398":{"position":[[41,6]]},"402":{"position":[[349,6]]},"494":{"position":[[20,6],[49,6],[165,6]]},"495":{"position":[[16,6],[132,6]]},"496":{"position":[[54,6],[113,6],[308,7]]},"497":{"position":[[76,6]]},"669":{"position":[[714,6],[1038,6]]},"670":{"position":[[801,6],[1161,6]]},"685":{"position":[[18,6]]}},"keywords":{}}],["binaryaccessor",{"_index":1369,"title":{},"content":{"67":{"position":[[1176,15],[1450,15]]},"213":{"position":[[573,14],[945,14]]},"242":{"position":[[167,15]]},"291":{"position":[[167,15]]}},"keywords":{}}],["binarydelet",{"_index":4206,"title":{},"content":{"495":{"position":[[107,12]]}},"keywords":{}}],["binaryrenam",{"_index":4205,"title":{},"content":{"495":{"position":[[82,12]]}},"keywords":{}}],["binarysav",{"_index":4204,"title":{},"content":{"495":{"position":[[59,10]]}},"keywords":{}}],["bind",{"_index":1952,"title":{},"content":{"113":{"position":[[254,4],[278,4]]},"362":{"position":[[209,4]]},"373":{"position":[[133,7]]}},"keywords":{}}],["bind_address",{"_index":3613,"title":{},"content":{"378":{"position":[[1004,12]]}},"keywords":{}}],["bit",{"_index":373,"title":{},"content":{"17":{"position":[[68,3],[167,3]]},"18":{"position":[[71,3],[171,3]]},"20":{"position":[[922,3],[1016,3]]},"35":{"position":[[139,3],[150,3],[200,3],[301,3],[346,3],[355,3],[534,3],[554,3]]},"36":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9820,3],[9945,5],[10220,3]]},"37":{"position":[[139,3],[148,3],[327,3],[347,3]]},"48":{"position":[[241,3],[376,3],[537,3],[598,3],[663,3],[730,3],[837,3],[939,3],[1040,3],[1276,3],[1756,3],[2389,3],[2747,3],[3102,3],[3517,3],[4917,3]]},"54":{"position":[[467,3],[501,3]]},"55":{"position":[[607,3],[622,3],[899,4],[911,3],[932,4],[963,4]]},"59":{"position":[[271,3],[302,3],[409,5],[455,5]]},"60":{"position":[[243,5]]},"65":{"position":[[449,3],[460,3],[558,3],[567,3],[1131,3]]},"111":{"position":[[575,4],[595,5],[1133,5]]},"140":{"position":[[426,4]]},"228":{"position":[[158,3],[169,3],[228,3],[330,3],[375,3],[384,3],[563,3],[583,3]]},"229":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9820,3],[9945,5],[10220,3]]},"230":{"position":[[158,3],[167,3],[346,3],[366,3]]},"231":{"position":[[381,3],[392,3],[451,3],[545,3],[554,3],[733,3],[753,3]]},"232":{"position":[[381,3],[390,3],[569,3],[589,3]]},"233":{"position":[[175,3],[186,3],[245,3],[347,3],[397,3],[406,3],[549,3],[564,3]]},"234":{"position":[[180,3],[189,3],[332,3],[347,3]]},"272":{"position":[[372,3],[384,3]]},"273":{"position":[[47,3]]},"274":{"position":[[439,3],[454,3]]},"278":{"position":[[160,3],[171,3],[232,3],[329,3],[368,3],[377,3],[561,3],[581,3]]},"279":{"position":[[1152,3],[1607,3],[1747,4],[1762,4],[1830,3],[1851,4],[7447,3],[7456,3]]},"280":{"position":[[160,3],[169,3],[353,3],[373,3]]},"281":{"position":[[330,3],[341,3],[402,3],[491,3],[500,3]]},"282":{"position":[[160,3],[169,3]]},"283":{"position":[[177,3],[188,3],[249,3],[346,3],[390,3],[399,3],[542,3],[557,3]]},"284":{"position":[[182,3],[191,3],[334,3],[349,3]]},"314":{"position":[[638,4],[829,4]]},"321":{"position":[[240,3],[292,3],[329,3],[413,3],[503,3],[640,3],[727,3],[817,3],[853,3],[933,3],[1438,4],[1451,4],[1461,4],[1488,4]]},"358":{"position":[[3482,3],[3610,3],[3821,3],[3990,3],[4410,3],[5278,3],[5511,3],[5579,3]]},"379":{"position":[[360,4],[2810,4]]},"402":{"position":[[4288,3]]},"404":{"position":[[412,3]]},"496":{"position":[[131,4],[214,5]]}},"keywords":{}}],["bit)"click",{"_index":3948,"title":{},"content":{"404":{"position":[[851,15]]}},"keywords":{}}],["bit=0x04c11db7",{"_index":1346,"title":{},"content":{"65":{"position":[[826,15]]}},"keywords":{}}],["bit=0x1021",{"_index":1345,"title":{},"content":{"65":{"position":[[811,11]]}},"keywords":{}}],["bit=0x42f0e1eba9ea3693",{"_index":1347,"title":{},"content":{"65":{"position":[[845,23]]}},"keywords":{}}],["bit=0xffff",{"_index":1349,"title":{},"content":{"65":{"position":[[940,11]]}},"keywords":{}}],["bit=0xffffffff",{"_index":1350,"title":{},"content":{"65":{"position":[[955,15]]}},"keywords":{}}],["bit=0xffffffffffffffff",{"_index":1351,"title":{},"content":{"65":{"position":[[974,23]]}},"keywords":{}}],["bit=fals",{"_index":1354,"title":{},"content":{"65":{"position":[[1075,10],[1219,10]]}},"keywords":{}}],["bit=tru",{"_index":1355,"title":{},"content":{"65":{"position":[[1089,9],[1102,9],[1233,9],[1246,9]]}},"keywords":{}}],["bit_offset",{"_index":2973,"title":{},"content":{"321":{"position":[[468,10],[882,10]]},"687":{"position":[[1000,13]]},"689":{"position":[[1042,13]]},"690":{"position":[[1229,13]]}},"keywords":{}}],["bit_siz",{"_index":5125,"title":{},"content":{"687":{"position":[[1017,11]]},"689":{"position":[[1059,11]]},"690":{"position":[[1247,11]]}},"keywords":{}}],["bitfield",{"_index":654,"title":{"321":{"position":[[14,9]]}},"content":{"35":{"position":[[1354,10]]},"37":{"position":[[1147,10]]},"213":{"position":[[347,10]]},"228":{"position":[[1383,10]]},"230":{"position":[[1166,10]]},"231":{"position":[[1527,10]]},"232":{"position":[[1363,10]]},"278":{"position":[[989,10]]},"280":{"position":[[781,10]]},"281":{"position":[[1083,10]]},"282":{"position":[[752,10]]},"321":{"position":[[14,9],[47,9],[161,10],[944,8]]}},"keywords":{}}],["bits.x509",{"_index":449,"title":{},"content":{"20":{"position":[[959,9]]}},"keywords":{}}],["bitsiz",{"_index":2794,"title":{},"content":{"304":{"position":[[985,7]]},"305":{"position":[[1202,7]]},"358":{"position":[[2814,7],[4816,7]]},"359":{"position":[[1412,7]]}},"keywords":{}}],["black",{"_index":4608,"title":{},"content":{"580":{"position":[[367,5]]},"587":{"position":[[149,8]]},"588":{"position":[[143,8]]},"589":{"position":[[154,8]]},"619":{"position":[[130,6]]},"652":{"position":[[816,5]]}},"keywords":{}}],["blank",{"_index":1445,"title":{},"content":{"73":{"position":[[1736,5]]},"358":{"position":[[632,5]]},"454":{"position":[[434,5]]},"522":{"position":[[1001,5]]},"643":{"position":[[214,6]]}},"keywords":{}}],["blank_or_default",{"_index":4965,"title":{},"content":{"664":{"position":[[386,16]]},"665":{"position":[[352,16]]}},"keywords":{}}],["blind",{"_index":3203,"title":{},"content":{"350":{"position":[[1176,5],[1249,6],[1278,5]]}},"keywords":{}}],["blob",{"_index":2577,"title":{},"content":{"268":{"position":[[309,4]]},"358":{"position":[[5405,5],[5475,4]]}},"keywords":{}}],["block",{"_index":223,"title":{"610":{"position":[[0,6]]}},"content":{"6":{"position":[[592,5]]},"31":{"position":[[594,6],[693,6]]},"35":{"position":[[737,5],[1438,5]]},"37":{"position":[[530,5],[1231,5]]},"48":{"position":[[3663,5],[3780,5]]},"104":{"position":[[688,5]]},"105":{"position":[[575,5]]},"106":{"position":[[848,6]]},"107":{"position":[[484,5],[589,5]]},"109":{"position":[[2292,5],[2613,5]]},"111":{"position":[[767,5]]},"115":{"position":[[177,5],[460,5],[613,5],[805,5]]},"225":{"position":[[895,6],[994,6],[1051,5]]},"228":{"position":[[766,5],[1467,5],[2218,5],[2230,5]]},"230":{"position":[[549,5],[1250,5]]},"231":{"position":[[122,5],[936,5],[1611,5]]},"232":{"position":[[122,5],[772,5],[1447,5]]},"233":{"position":[[523,6]]},"234":{"position":[[306,6]]},"271":{"position":[[919,6],[1018,6],[1090,5],[1341,5],[1533,5],[1704,5]]},"278":{"position":[[760,6]]},"279":{"position":[[7425,5]]},"280":{"position":[[552,6]]},"281":{"position":[[769,5]]},"282":{"position":[[438,5]]},"283":{"position":[[516,6]]},"284":{"position":[[308,6]]},"369":{"position":[[451,6]]},"419":{"position":[[45,7],[122,6]]},"455":{"position":[[444,5],[1340,5]]},"540":{"position":[[398,6],[496,6],[896,5],[941,5]]},"544":{"position":[[85,6],[295,6],[374,6],[1201,6]]},"557":{"position":[[495,5]]},"610":{"position":[[10,5],[755,5]]},"717":{"position":[[82,6],[231,5],[263,5],[339,6],[760,6]]},"793":{"position":[[32,5]]}},"keywords":{}}],["block=1000",{"_index":5330,"title":{},"content":{"717":{"position":[[1258,11]]}},"keywords":{}}],["block=non",{"_index":5325,"title":{},"content":{"717":{"position":[[141,11]]}},"keywords":{}}],["blow",{"_index":109,"title":{},"content":{"3":{"position":[[426,4]]}},"keywords":{}}],["blue",{"_index":2649,"title":{},"content":{"279":{"position":[[9589,4],[9806,4],[9976,4],[10192,4]]},"487":{"position":[[183,6]]},"584":{"position":[[256,4]]},"585":{"position":[[252,4]]},"586":{"position":[[254,4]]},"587":{"position":[[309,4],[320,4]]},"588":{"position":[[303,4],[314,4]]},"589":{"position":[[314,4],[325,4]]},"591":{"position":[[837,4],[871,4]]},"647":{"position":[[451,4]]},"648":{"position":[[705,4]]},"651":{"position":[[526,4]]},"653":{"position":[[250,4]]},"741":{"position":[[1289,4],[1439,4]]}},"keywords":{}}],["board",{"_index":22,"title":{},"content":{"1":{"position":[[229,6]]},"404":{"position":[[222,5]]}},"keywords":{}}],["bob",{"_index":3248,"title":{},"content":{"358":{"position":[[1468,3],[1502,3],[2229,3],[2286,3],[2306,3],[2505,4],[2745,3],[3200,3],[4745,3],[5119,3],[6400,3],[6599,3],[6736,3],[7258,3],[7324,3],[8231,3]]},"359":{"position":[[167,3],[206,3],[612,3],[1012,3],[1041,3],[1128,3],[1343,3],[1981,3],[2020,3],[2140,3],[2451,3]]}},"keywords":{}}],["bob>",{"_index":3254,"title":{},"content":{"358":{"position":[[2247,7]]},"359":{"position":[[72,7],[1886,7]]}},"keywords":{}}],["bob"",{"_index":3249,"title":{},"content":{"358":{"position":[[1594,9]]}},"keywords":{}}],["bob/plugin.txt",{"_index":3274,"title":{},"content":{"358":{"position":[[6435,14]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/cmd.txt",{"_index":3256,"title":{},"content":{"358":{"position":[[2704,32]]},"359":{"position":[[1213,31]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/tlm.txt",{"_index":3267,"title":{},"content":{"358":{"position":[[4702,32]]}},"keywords":{}}],["bob_int",{"_index":3283,"title":{},"content":{"358":{"position":[[7579,7],[8252,7]]},"359":{"position":[[743,7]]}},"keywords":{}}],["bob_target_nam",{"_index":3277,"title":{},"content":{"358":{"position":[[6583,15],[6747,15],[6786,15],[6921,15],[6993,15]]},"359":{"position":[[2270,17]]}},"keywords":{}}],["bob_target_name.th",{"_index":3282,"title":{},"content":{"358":{"position":[[7504,19]]}},"keywords":{}}],["bodi",{"_index":4428,"title":{},"content":{"547":{"position":[[487,4]]}},"keywords":{}}],["bonjour",{"_index":3971,"title":{},"content":{"404":{"position":[[2034,7]]}},"keywords":{}}],["bonu",{"_index":4448,"title":{},"content":{"550":{"position":[[222,5]]}},"keywords":{}}],["book.titl",{"_index":690,"title":{},"content":{"36":{"position":[[1533,12]]},"229":{"position":[[1533,12]]},"279":{"position":[[1528,12]]}},"keywords":{}}],["bookkeep",{"_index":4139,"title":{},"content":{"454":{"position":[[197,12]]}},"keywords":{}}],["bool",{"_index":2797,"title":{},"content":{"304":{"position":[[1157,4]]},"305":{"position":[[1435,4]]},"358":{"position":[[2992,4],[3972,4],[4191,4],[4951,4]]},"359":{"position":[[1592,4]]}},"keywords":{}}],["boolean",{"_index":4966,"title":{},"content":{"664":{"position":[[484,7]]},"665":{"position":[[450,7]]}},"keywords":{}}],["boot",{"_index":3967,"title":{},"content":{"404":{"position":[[1834,4]]}},"keywords":{}}],["bootstrap",{"_index":1006,"title":{},"content":{"43":{"position":[[98,9]]}},"keywords":{}}],["border",{"_index":4625,"title":{},"content":{"589":{"position":[[34,6]]},"595":{"position":[[61,6],[233,6]]},"597":{"position":[[63,6],[191,6]]}},"keywords":{}}],["bordercolor",{"_index":4624,"title":{"589":{"position":[[0,12]]}},"content":{"589":{"position":[[5,11],[425,11],[488,11]]}},"keywords":{}}],["both",{"_index":121,"title":{},"content":{"3":{"position":[[562,4]]},"9":{"position":[[793,4],[844,4]]},"11":{"position":[[223,4]]},"48":{"position":[[2889,4],[3324,4]]},"67":{"position":[[4874,4]]},"109":{"position":[[137,4]]},"110":{"position":[[157,4]]},"111":{"position":[[91,4]]},"115":{"position":[[2194,4]]},"139":{"position":[[268,4],[470,4]]},"251":{"position":[[131,4],[720,4],[1488,4]]},"255":{"position":[[444,4]]},"259":{"position":[[302,4]]},"267":{"position":[[140,4]]},"268":{"position":[[102,4]]},"275":{"position":[[944,4]]},"304":{"position":[[141,4]]},"305":{"position":[[151,4]]},"323":{"position":[[280,4]]},"338":{"position":[[98,4]]},"348":{"position":[[2023,4]]},"349":{"position":[[3461,4]]},"352":{"position":[[60,4]]},"367":{"position":[[731,4]]},"369":{"position":[[191,4],[2384,4]]},"378":{"position":[[1683,4]]},"393":{"position":[[7,4]]},"402":{"position":[[296,4],[4731,4]]},"420":{"position":[[54,4]]},"439":{"position":[[188,4]]},"447":{"position":[[491,4]]},"453":{"position":[[15,4]]},"454":{"position":[[42,4],[579,4]]},"459":{"position":[[71,4]]},"473":{"position":[[428,4]]},"509":{"position":[[269,4]]},"511":{"position":[[167,4]]},"524":{"position":[[340,4]]},"526":{"position":[[18,4]]},"539":{"position":[[17,4],[155,5],[186,4]]},"540":{"position":[[980,4],[3577,4]]},"544":{"position":[[479,4]]},"546":{"position":[[99,4],[203,4],[1485,4]]},"552":{"position":[[430,5]]},"557":{"position":[[65,4]]},"562":{"position":[[275,4]]},"657":{"position":[[213,4]]}},"keywords":{}}],["bottom",{"_index":1024,"title":{},"content":{"43":{"position":[[788,6]]},"319":{"position":[[117,6]]},"416":{"position":[[191,6]]},"427":{"position":[[668,6]]},"433":{"position":[[254,6]]},"464":{"position":[[362,6]]},"506":{"position":[[753,7]]},"509":{"position":[[367,6]]},"523":{"position":[[368,6]]},"554":{"position":[[346,6]]},"658":{"position":[[1199,6]]}},"keywords":{}}],["bounc",{"_index":4054,"title":{},"content":{"426":{"position":[[899,6]]}},"keywords":{}}],["bound",{"_index":801,"title":{},"content":{"36":{"position":[[6973,5],[6997,5],[7120,6]]},"106":{"position":[[419,5]]},"229":{"position":[[6973,5],[6997,5],[7120,6]]},"279":{"position":[[5574,5],[5598,5],[5721,6]]},"432":{"position":[[902,5]]}},"keywords":{}}],["boundari",{"_index":1176,"title":{},"content":{"51":{"position":[[369,8],[551,10]]},"101":{"position":[[82,10]]}},"keywords":{}}],["box",{"_index":41,"title":{},"content":{"2":{"position":[[223,5]]},"307":{"position":[[1871,3]]},"326":{"position":[[1037,3]]},"343":{"position":[[314,5]]},"348":{"position":[[1976,3],[2211,4],[2349,4]]},"349":{"position":[[5886,3],[6053,3],[6201,3],[6331,3],[6493,3],[6877,3]]},"440":{"position":[[597,3]]},"473":{"position":[[649,3]]},"474":{"position":[[85,3]]},"491":{"position":[[209,4]]},"497":{"position":[[476,3]]},"517":{"position":[[327,4]]},"528":{"position":[[461,3]]},"535":{"position":[[244,3],[535,3],[1069,3]]},"595":{"position":[[253,3]]},"597":{"position":[[211,3]]},"611":{"position":[[12,3],[179,3],[792,3]]},"614":{"position":[[377,3]]},"615":{"position":[[523,3]]},"616":{"position":[[397,3]]},"617":{"position":[[400,3]]},"618":{"position":[[674,3]]},"623":{"position":[[366,3]]},"624":{"position":[[369,3]]},"625":{"position":[[643,3]]},"634":{"position":[[18,3]]},"635":{"position":[[12,3],[70,3],[605,3]]},"638":{"position":[[18,3]]},"643":{"position":[[24,3]]},"668":{"position":[[79,3]]},"673":{"position":[[73,3],[1033,4]]}},"keywords":{}}],["bracket",{"_index":1302,"title":{},"content":{"61":{"position":[[721,8]]},"540":{"position":[[4663,7],[4817,8]]},"677":{"position":[[1368,8]]}},"keywords":{}}],["branch",{"_index":2888,"title":{},"content":{"309":{"position":[[2740,6],[2753,6]]},"371":{"position":[[98,6]]},"386":{"position":[[183,6],[445,6]]}},"keywords":{}}],["break",{"_index":1674,"title":{},"content":{"83":{"position":[[3506,6]]},"174":{"position":[[16,6]]},"330":{"position":[[963,5]]},"349":{"position":[[984,5],[6401,8],[6473,5]]},"359":{"position":[[410,8],[1814,8]]},"535":{"position":[[1459,5],[1481,5]]},"543":{"position":[[327,8]]},"546":{"position":[[667,6]]},"549":{"position":[[67,5]]},"572":{"position":[[491,5]]},"793":{"position":[[193,8]]}},"keywords":{}}],["breakdown",{"_index":441,"title":{},"content":{"20":{"position":[[799,9]]}},"keywords":{}}],["breakpoint",{"_index":3182,"title":{"555":{"position":[[0,12]]}},"content":{"349":{"position":[[4844,10],[4879,10]]},"529":{"position":[[299,11]]},"531":{"position":[[744,12],[785,11]]},"555":{"position":[[76,11],[141,11],[173,11]]}},"keywords":{}}],["brew",{"_index":2909,"title":{},"content":{"310":{"position":[[16,4],[334,4]]}},"keywords":{}}],["bridg",{"_index":1811,"title":{"311":{"position":[[0,7]]},"312":{"position":[[0,7]]},"313":{"position":[[30,8]]},"314":{"position":[[0,6]]},"315":{"position":[[0,6]]},"316":{"position":[[8,6]]}},"content":{"97":{"position":[[25,6]]},"312":{"position":[[1,7]]},"314":{"position":[[1,7],[207,7],[1719,6]]},"315":{"position":[[71,6],[135,6],[367,6],[409,6]]},"316":{"position":[[28,6],[61,6],[94,6],[148,6]]},"317":{"position":[[43,7]]},"380":{"position":[[487,6]]}},"keywords":{}}],["bridge.txt",{"_index":2914,"title":{"314":{"position":[[22,11]]}},"content":{"314":{"position":[[51,11],[371,10]]},"315":{"position":[[36,10],[187,10],[384,10]]}},"keywords":{}}],["bridgegem",{"_index":2928,"title":{},"content":{"315":{"position":[[300,9]]}},"keywords":{}}],["bridgesetup",{"_index":2916,"title":{},"content":{"314":{"position":[[421,11]]},"315":{"position":[[11,11]]}},"keywords":{}}],["brighten",{"_index":4689,"title":{},"content":{"611":{"position":[[238,9]]},"635":{"position":[[129,9]]}},"keywords":{}}],["bring",{"_index":4127,"title":{},"content":{"441":{"position":[[26,5]]},"462":{"position":[[108,6],[418,5]]},"467":{"position":[[341,6]]},"484":{"position":[[159,6],[312,6]]},"504":{"position":[[21,6]]},"505":{"position":[[57,6]]},"522":{"position":[[114,6],[649,6]]},"531":{"position":[[25,6]]},"549":{"position":[[448,5]]},"552":{"position":[[301,5],[337,5],[375,5],[488,5],[703,5],[1170,5],[1243,5],[1288,5],[1412,5],[1580,5]]},"658":{"position":[[1088,5]]},"776":{"position":[[33,5]]}},"keywords":{}}],["broken",{"_index":3080,"title":{},"content":{"338":{"position":[[115,6]]},"542":{"position":[[28,6]]},"658":{"position":[[155,6]]}},"keywords":{}}],["broker",{"_index":1882,"title":{},"content":{"109":{"position":[[519,6],[552,6],[849,6],[907,6],[965,6]]},"110":{"position":[[512,6],[545,6],[1183,6],[1241,6],[1299,6]]}},"keywords":{}}],["brought",{"_index":3440,"title":{},"content":{"369":{"position":[[964,7]]}},"keywords":{}}],["brows",{"_index":3081,"title":{"440":{"position":[[0,8]]}},"content":{"338":{"position":[[170,8]]},"359":{"position":[[2173,6]]},"528":{"position":[[403,6]]}},"keywords":{}}],["browser",{"_index":67,"title":{},"content":{"2":{"position":[[654,7]]},"24":{"position":[[452,7],[920,8]]},"43":{"position":[[1251,7]]},"83":{"position":[[475,8],[644,9],[1269,7]]},"93":{"position":[[324,7]]},"209":{"position":[[59,8]]},"263":{"position":[[30,7],[489,7]]},"309":{"position":[[3974,7]]},"332":{"position":[[771,8]]},"334":{"position":[[15,7]]},"343":{"position":[[745,7]]},"344":{"position":[[215,8],[327,7]]},"352":{"position":[[549,7]]},"365":{"position":[[331,8]]},"373":{"position":[[437,7]]},"380":{"position":[[107,7],[1866,7]]},"404":{"position":[[2603,7]]},"439":{"position":[[27,7],[129,7]]},"441":{"position":[[42,7]]},"457":{"position":[[248,7],[280,8]]},"485":{"position":[[239,7],[295,8]]},"506":{"position":[[37,7]]},"511":{"position":[[177,7]]},"522":{"position":[[457,7]]},"524":{"position":[[36,7],[407,7],[592,7],[775,7]]}},"keywords":{}}],["browser'",{"_index":1033,"title":{},"content":{"43":{"position":[[1351,9]]},"83":{"position":[[218,9]]}},"keywords":{}}],["browserdelet",{"_index":4276,"title":{},"content":{"528":{"position":[[236,14]]}},"keywords":{}}],["brute",{"_index":381,"title":{},"content":{"17":{"position":[[289,5]]},"18":{"position":[[294,5]]}},"keywords":{}}],["bucket",{"_index":1368,"title":{"438":{"position":[[0,6]]}},"content":{"67":{"position":[[1168,7],[1442,7]]},"258":{"position":[[1343,6]]},"268":{"position":[[246,6],[290,8],[329,6]]},"439":{"position":[[1,6],[57,6],[166,6]]},"440":{"position":[[42,8],[81,6],[203,6],[295,6],[465,6],[685,7],[724,6],[830,6]]},"441":{"position":[[94,6]]},"442":{"position":[[74,6]]}},"keywords":{}}],["bucket_file_uri="$(curl",{"_index":1677,"title":{},"content":{"83":{"position":[[3549,28]]}},"keywords":{}}],["buf_siz",{"_index":4217,"title":{},"content":{"498":{"position":[[678,8],[1031,11],[1050,8]]}},"keywords":{}}],["buffer",{"_index":774,"title":{"223":{"position":[[9,6]]}},"content":{"36":{"position":[[5686,7],[6041,8]]},"95":{"position":[[106,6]]},"102":{"position":[[55,6]]},"152":{"position":[[38,6],[116,6]]},"159":{"position":[[47,6],[125,6]]},"213":{"position":[[78,7],[293,7]]},"219":{"position":[[1252,7]]},"223":{"position":[[54,8],[251,6],[321,6]]},"229":{"position":[[5686,7],[6041,8]]},"231":{"position":[[1269,6]]},"232":{"position":[[1105,6]]},"279":{"position":[[4166,7],[4521,8]]},"292":{"position":[[87,6]]},"293":{"position":[[85,6]]},"402":{"position":[[6148,6]]},"498":{"position":[[490,6],[601,6],[705,6],[794,6]]},"499":{"position":[[582,6],[764,6],[841,6],[938,7]]},"685":{"position":[[1252,9]]},"691":{"position":[[70,6],[119,6],[206,6],[1154,9]]},"702":{"position":[[70,7],[102,6],[189,6]]}},"keywords":{}}],["buffer.format",{"_index":4216,"title":{},"content":{"498":{"position":[[516,16]]}},"keywords":{}}],["buffer.length",{"_index":4219,"title":{},"content":{"498":{"position":[[757,13]]}},"keywords":{}}],["buffer[i...(i",{"_index":4225,"title":{},"content":{"498":{"position":[[1015,13]]}},"keywords":{}}],["build",{"_index":620,"title":{"359":{"position":[[0,8]]},"377":{"position":[[0,5]]},"507":{"position":[[0,8]]}},"content":{"31":{"position":[[396,5]]},"42":{"position":[[451,8],[615,5],[671,5],[736,5],[822,6],[839,5],[1611,8],[1630,8]]},"43":{"position":[[503,5],[550,6],[569,6]]},"44":{"position":[[439,5],[447,5]]},"61":{"position":[[1129,5]]},"88":{"position":[[540,5]]},"117":{"position":[[568,6]]},"203":{"position":[[177,5]]},"210":{"position":[[73,5]]},"255":{"position":[[59,5]]},"257":{"position":[[411,5]]},"259":{"position":[[307,5]]},"263":{"position":[[141,8],[170,6],[445,5]]},"265":{"position":[[91,5]]},"301":{"position":[[1264,8],[1320,5]]},"302":{"position":[[1604,8]]},"307":{"position":[[1370,5],[1431,5],[1533,5]]},"320":{"position":[[629,5],[700,5],[911,5],[1062,5],[1209,5],[1487,5]]},"326":{"position":[[566,5]]},"330":{"position":[[586,6],[733,6]]},"358":{"position":[[3414,6]]},"359":{"position":[[16,5],[100,5],[280,6],[325,8],[1914,5]]},"376":{"position":[[312,5]]},"377":{"position":[[101,5]]},"379":{"position":[[3509,5],[3615,5],[3709,5]]},"383":{"position":[[1853,8],[1914,5]]},"385":{"position":[[27,5],[314,5]]},"419":{"position":[[36,8]]},"494":{"position":[[126,6]]},"507":{"position":[[29,5]]},"685":{"position":[[1,6]]}},"keywords":{}}],["build_cmd",{"_index":5082,"title":{"685":{"position":[[0,9]]}},"content":{},"keywords":{}}],["build_cmd(<args>",{"_index":5086,"title":{},"content":{"685":{"position":[[47,23],[120,23]]}},"keywords":{}}],["build_cmd("inst",{"_index":5091,"title":{},"content":{"685":{"position":[[421,20],[980,20]]}},"keywords":{}}],["build_command",{"_index":5085,"title":{"685":{"position":[[40,15]]}},"content":{},"keywords":{}}],["builder",{"_index":3571,"title":{},"content":{"376":{"position":[[22,7]]}},"keywords":{}}],["buildtype=${buildtyp",{"_index":3576,"title":{},"content":{"376":{"position":[[140,22]]}},"keywords":{}}],["buildtype=debug",{"_index":3575,"title":{},"content":{"376":{"position":[[120,15]]}},"keywords":{}}],["built",{"_index":554,"title":{"554":{"position":[[0,5]]}},"content":{"24":{"position":[[965,5]]},"36":{"position":[[4525,6],[8522,6]]},"42":{"position":[[871,5]]},"48":{"position":[[1802,5],[2435,5],[4963,5]]},"104":{"position":[[1657,5],[2645,5]]},"105":{"position":[[1589,5],[2462,5]]},"109":{"position":[[204,5]]},"110":{"position":[[224,5]]},"111":{"position":[[1904,5]]},"115":{"position":[[2128,5]]},"117":{"position":[[507,5]]},"128":{"position":[[258,5]]},"203":{"position":[[268,5]]},"229":{"position":[[4525,6],[8522,6]]},"271":{"position":[[1628,5]]},"307":{"position":[[301,5]]},"309":{"position":[[3912,5]]},"319":{"position":[[287,5],[587,6]]},"320":{"position":[[554,5],[725,6]]},"326":{"position":[[599,5],[786,5]]},"332":{"position":[[51,5]]},"349":{"position":[[800,5]]},"359":{"position":[[133,5],[447,5],[1947,5],[2193,5]]},"380":{"position":[[27,6]]},"393":{"position":[[300,5]]},"440":{"position":[[502,5]]},"501":{"position":[[67,5],[154,5]]},"554":{"position":[[19,5]]},"660":{"position":[[108,5]]},"750":{"position":[[46,5]]},"764":{"position":[[42,5]]}},"keywords":{}}],["bump",{"_index":3299,"title":{},"content":{"359":{"position":[[1841,4]]}},"keywords":{}}],["bunch",{"_index":3250,"title":{},"content":{"358":{"position":[[1611,5]]}},"keywords":{}}],["bundl",{"_index":533,"title":{},"content":{"24":{"position":[[205,7]]},"44":{"position":[[1278,6],[1321,6],[1352,6]]},"210":{"position":[[95,6]]},"332":{"position":[[908,7]]},"385":{"position":[[130,6],[169,6],[297,6]]},"386":{"position":[[349,6]]}},"keywords":{}}],["bundle.pem",{"_index":534,"title":{},"content":{"24":{"position":[[214,10],[283,10],[347,11]]}},"keywords":{}}],["bundler",{"_index":3712,"title":{},"content":{"385":{"position":[[99,8]]}},"keywords":{}}],["burst",{"_index":1133,"title":{"53":{"position":[[0,5]]}},"content":{"50":{"position":[[73,6]]},"53":{"position":[[5,5],[150,5],[203,6]]},"54":{"position":[[717,5]]},"55":{"position":[[545,5]]},"104":{"position":[[1071,5],[1966,5]]},"105":{"position":[[1108,5],[1888,5]]},"111":{"position":[[1373,5]]},"130":{"position":[[222,5],[366,5]]},"131":{"position":[[263,5],[459,5]]},"132":{"position":[[266,5],[465,5]]},"139":{"position":[[1088,5]]},"140":{"position":[[853,5]]},"302":{"position":[[2713,5]]},"312":{"position":[[223,5]]},"314":{"position":[[1562,5]]},"358":{"position":[[6897,5],[7964,5]]}},"keywords":{}}],["buse",{"_index":1794,"title":{},"content":{"96":{"position":[[384,5]]}},"keywords":{}}],["busi",{"_index":3751,"title":{},"content":{"389":{"position":[[376,9]]}},"keywords":{}}],["button",{"_index":1025,"title":{"637":{"position":[[0,7]]}},"content":{"43":{"position":[[819,6]]},"136":{"position":[[24,6]]},"307":{"position":[[1263,7]]},"324":{"position":[[820,6]]},"346":{"position":[[367,6],[773,6],[1083,6],[1323,6]]},"348":{"position":[[677,7]]},"349":{"position":[[2377,6]]},"355":{"position":[[193,6]]},"358":{"position":[[462,6]]},"406":{"position":[[30,6]]},"407":{"position":[[453,7]]},"413":{"position":[[229,7]]},"482":{"position":[[176,6],[435,6],[650,6]]},"485":{"position":[[22,6],[142,6]]},"496":{"position":[[11,7]]},"497":{"position":[[228,6],[344,6],[375,6]]},"505":{"position":[[231,6]]},"506":{"position":[[518,6],[770,6]]},"524":{"position":[[268,7],[498,6],[682,6],[856,6],[997,6]]},"530":{"position":[[82,7],[414,6]]},"533":{"position":[[881,7],[938,7]]},"534":{"position":[[618,7]]},"536":{"position":[[244,6]]},"569":{"position":[[271,6],[320,6]]},"574":{"position":[[130,7]]},"580":{"position":[[201,7]]},"592":{"position":[[194,7],[684,6]]},"637":{"position":[[34,6],[61,6],[107,7],[186,6],[383,6],[817,7],[1286,6],[1642,6],[1654,6],[1702,6],[1742,6],[1830,6],[2057,6]]},"638":{"position":[[277,6]]},"639":{"position":[[309,6]]},"640":{"position":[[237,6]]},"641":{"position":[[145,6],[168,6]]},"642":{"position":[[18,6],[289,6],[436,6]]},"643":{"position":[[296,6]]},"644":{"position":[[237,6]]},"654":{"position":[[483,6],[947,6]]},"658":{"position":[[403,8],[494,6],[580,6],[657,6],[731,6]]},"668":{"position":[[98,7],[161,6],[563,6]]},"675":{"position":[[66,7]]}},"keywords":{}}],["button)send",{"_index":1765,"title":{},"content":{"93":{"position":[[440,11]]}},"keywords":{}}],["button/select",{"_index":4977,"title":{},"content":{"668":{"position":[[530,16]]}},"keywords":{}}],["buttonpick",{"_index":3942,"title":{},"content":{"404":{"position":[[699,10]]}},"keywords":{}}],["buttonselect",{"_index":3945,"title":{},"content":{"404":{"position":[[765,12],[898,12]]}},"keywords":{}}],["buy",{"_index":3799,"title":{"392":{"position":[[15,3]]}},"content":{},"keywords":{}}],["bypass",{"_index":1278,"title":{},"content":{"59":{"position":[[288,6],[295,6],[340,7]]}},"keywords":{}}],["byte",{"_index":1072,"title":{},"content":{"48":{"position":[[291,5],[1214,4],[3597,5]]},"50":{"position":[[229,4]]},"51":{"position":[[25,4],[89,5],[291,4],[434,4],[482,5]]},"52":{"position":[[272,4],[318,4],[375,5],[421,4],[482,4]]},"53":{"position":[[369,5],[559,5],[579,5],[658,5],[751,6],[797,4]]},"54":{"position":[[591,6],[666,6],[810,5],[930,6],[957,5],[977,5],[1056,5],[1149,6],[1195,4]]},"55":{"position":[[483,6],[1122,5],[1406,5],[1436,5],[1543,6],[1599,4],[1738,5],[1758,5],[1837,5],[2049,6],[2095,4],[2876,6],[2893,6],[2910,6],[3022,6],[3056,5],[3235,5],[3310,6]]},"56":{"position":[[863,5],[883,5],[962,5],[1051,6],[1097,4]]},"57":{"position":[[816,5]]},"58":{"position":[[347,4],[370,4]]},"60":{"position":[[366,5],[386,5],[465,5],[554,6],[600,4]]},"61":{"position":[[2035,5],[2055,5],[2134,5],[2223,6],[2269,4]]},"62":{"position":[[387,4]]},"65":{"position":[[1148,4]]},"115":{"position":[[1201,5],[1460,5]]},"154":{"position":[[134,5]]},"157":{"position":[[141,5]]},"161":{"position":[[136,5]]},"164":{"position":[[143,5]]},"225":{"position":[[1158,4],[1313,5]]},"253":{"position":[[1690,4]]},"271":{"position":[[1174,4],[1871,5]]},"273":{"position":[[291,5]]},"321":{"position":[[346,4],[417,4],[520,4],[695,4],[825,4],[1367,4],[1403,4],[1613,5]]},"358":{"position":[[5414,5]]},"379":{"position":[[3239,5]]},"498":{"position":[[628,5]]},"509":{"position":[[189,4]]},"512":{"position":[[139,4]]},"514":{"position":[[285,5]]},"515":{"position":[[306,5]]},"610":{"position":[[362,5],[387,5]]},"756":{"position":[[219,5],[238,5],[696,5],[728,5],[1256,5],[1291,5]]},"765":{"position":[[213,5],[232,5],[672,5],[704,5],[1205,5],[1237,5]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":5174,"title":{},"content":{"691":{"position":[[1164,88]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00a",{"_index":5104,"title":{},"content":{"685":{"position":[[1262,53]]}},"keywords":{}}],["bytes)0x1acffc1d",{"_index":1234,"title":{},"content":{"55":{"position":[[2925,16]]}},"keywords":{}}],["c",{"_index":666,"title":{},"content":{"36":{"position":[[445,1],[483,1]]},"44":{"position":[[1570,2]]},"214":{"position":[[690,1],[1965,1]]},"215":{"position":[[536,1]]},"218":{"position":[[892,1],[1743,1]]},"220":{"position":[[974,1],[2265,1]]},"229":{"position":[[445,1],[483,1]]},"279":{"position":[[440,1],[478,1]]},"321":{"position":[[1033,1],[1258,1],[1466,2]]},"424":{"position":[[858,2]]},"432":{"position":[[1404,3]]},"557":{"position":[[223,1]]}},"keywords":{}}],["c"",{"_index":2980,"title":{},"content":{"321":{"position":[[1287,7]]}},"keywords":{}}],["c0",{"_index":805,"title":{},"content":{"36":{"position":[[7132,2]]},"229":{"position":[[7132,2]]},"279":{"position":[[5733,2]]}},"keywords":{}}],["c2",{"_index":3744,"title":{},"content":{"387":{"position":[[1714,2]]}},"keywords":{}}],["c3",{"_index":3727,"title":{},"content":{"387":{"position":[[23,2]]}},"keywords":{}}],["c:4",{"_index":2977,"title":{},"content":{"321":{"position":[[1161,4]]}},"keywords":{}}],["c:\\cosmo",{"_index":3241,"title":{},"content":{"358":{"position":[[196,10]]},"382":{"position":[[233,9],[289,9],[434,9]]},"383":{"position":[[763,9],[808,9],[1134,9],[1369,9]]}},"keywords":{}}],["c:\\cosmos>",{"_index":3706,"title":{},"content":{"383":{"position":[[1120,13],[1355,13]]}},"keywords":{}}],["c:\\openc3",{"_index":3246,"title":{},"content":{"358":{"position":[[1415,9],[2190,9]]}},"keywords":{}}],["c:\\shared\\ball.pem",{"_index":3060,"title":{},"content":{"332":{"position":[[1095,20],[1225,19]]}},"keywords":{}}],["c:\\users\\<username>\\.wslconfig",{"_index":3020,"title":{},"content":{"330":{"position":[[792,37]]}},"keywords":{}}],["c:\\users\\username\\appdata\\roaming\\docker\\settings.json",{"_index":3029,"title":{},"content":{"330":{"position":[[1264,54]]}},"keywords":{}}],["ca",{"_index":3054,"title":{},"content":{"332":{"position":[[904,3]]}},"keywords":{}}],["ca_fil",{"_index":1887,"title":{},"content":{"109":{"position":[[1186,7]]},"110":{"position":[[1520,7]]},"415":{"position":[[383,7]]}},"keywords":{}}],["cabl",{"_index":3863,"title":{},"content":{"402":{"position":[[885,5]]}},"keywords":{}}],["cable.subscriptions.cr",{"_index":3866,"title":{},"content":{"402":{"position":[[1238,27]]}},"keywords":{}}],["cacert.pem",{"_index":3044,"title":{},"content":{"332":{"position":[[120,10]]}},"keywords":{}}],["cach",{"_index":555,"title":{},"content":{"24":{"position":[[971,6]]},"67":{"position":[[2156,6],[2217,6],[2306,6]]},"73":{"position":[[1821,6]]},"81":{"position":[[564,5]]},"82":{"position":[[704,5],[791,5],[6324,5]]}},"keywords":{}}],["cad",{"_index":2826,"title":{},"content":{"307":{"position":[[1867,3]]}},"keywords":{}}],["calcul",{"_index":1227,"title":{},"content":{"55":{"position":[[2586,11],[3130,10],[3179,9]]},"65":{"position":[[172,10],[731,11],[898,11],[1168,11]]},"275":{"position":[[1672,10]]},"367":{"position":[[633,10]]},"499":{"position":[[623,9],[672,9]]},"522":{"position":[[355,11]]}},"keywords":{}}],["calendar",{"_index":3225,"title":{"355":{"position":[[0,9]]},"448":{"position":[[0,8]]}},"content":{"355":{"position":[[5,8],[139,8],[231,8],[327,8],[420,8],[503,8],[600,8],[695,8],[798,8]]},"449":{"position":[[1,8]]},"452":{"position":[[427,8]]},"453":{"position":[[102,9]]},"454":{"position":[[165,8],[218,8],[457,8]]},"513":{"position":[[497,8]]},"803":{"position":[[325,9]]},"804":{"position":[[342,9]]}},"keywords":{}}],["calibr",{"_index":4418,"title":{},"content":{"545":{"position":[[429,11]]}},"keywords":{}}],["call",{"_index":241,"title":{},"content":{"7":{"position":[[42,6],[574,6]]},"36":{"position":[[4316,4]]},"50":{"position":[[464,6]]},"67":{"position":[[1911,4],[3984,7],[4481,6],[4862,6]]},"69":{"position":[[68,4]]},"71":{"position":[[295,5]]},"72":{"position":[[310,5]]},"73":{"position":[[1675,4]]},"77":{"position":[[36,6],[598,4],[673,7]]},"100":{"position":[[64,6]]},"109":{"position":[[1615,6],[1687,6]]},"110":{"position":[[1997,6],[2069,6]]},"115":{"position":[[208,4],[491,4],[965,4],[1082,6],[1340,6],[1978,7],[2415,6]]},"140":{"position":[[76,5]]},"229":{"position":[[4316,4]]},"257":{"position":[[150,6]]},"264":{"position":[[67,6]]},"271":{"position":[[1644,6]]},"279":{"position":[[3265,4],[10415,6]]},"297":{"position":[[282,4],[373,4]]},"301":{"position":[[129,6]]},"304":{"position":[[746,6]]},"305":{"position":[[793,6]]},"309":{"position":[[1252,6]]},"320":{"position":[[81,6],[686,4]]},"358":{"position":[[1567,6],[3586,6],[3795,6],[3965,6],[4384,6],[5123,6],[5255,6],[6986,6],[7396,6],[7559,6]]},"383":{"position":[[1218,6],[1465,6]]},"402":{"position":[[946,4]]},"497":{"position":[[43,4],[149,6],[261,6]]},"529":{"position":[[216,4]]},"534":{"position":[[79,7]]},"535":{"position":[[986,6]]},"540":{"position":[[4251,6],[4899,4]]},"547":{"position":[[516,7]]},"548":{"position":[[70,6]]},"551":{"position":[[668,6]]},"552":{"position":[[1350,4]]},"560":{"position":[[1038,6]]},"562":{"position":[[311,6]]},"576":{"position":[[185,6]]},"717":{"position":[[687,5],[1185,5]]},"744":{"position":[[77,7],[211,4],[268,4]]}},"keywords":{}}],["call(self",{"_index":783,"title":{},"content":{"36":{"position":[[6015,10]]},"229":{"position":[[6015,10]]},"279":{"position":[[4495,10]]}},"keywords":{}}],["call(valu",{"_index":773,"title":{},"content":{"36":{"position":[[5666,11]]},"229":{"position":[[5666,11]]},"279":{"position":[[4146,11]]}},"keywords":{}}],["callback",{"_index":3872,"title":{},"content":{"402":{"position":[[1849,8],[2054,8],[4894,8]]}},"keywords":{}}],["came",{"_index":3983,"title":{},"content":{"408":{"position":[[70,4]]}},"keywords":{}}],["camel",{"_index":4345,"title":{},"content":{"540":{"position":[[1550,5]]}},"keywords":{}}],["camelcas",{"_index":760,"title":{},"content":{"36":{"position":[[5160,9]]},"229":{"position":[[5160,9]]},"251":{"position":[[339,9]]},"279":{"position":[[3641,9]]}},"keywords":{}}],["can't",{"_index":1624,"title":{},"content":{"83":{"position":[[1642,5]]},"390":{"position":[[1230,5]]},"412":{"position":[[193,5]]}},"keywords":{}}],["cancel",{"_index":3295,"title":{},"content":{"359":{"position":[[814,8]]},"485":{"position":[[160,6],[176,9]]},"559":{"position":[[1248,9],[1263,6]]},"712":{"position":[[187,8]]}},"keywords":{}}],["canva",{"_index":2775,"title":{"645":{"position":[[0,6]]},"646":{"position":[[0,7]]}},"content":{"302":{"position":[[2150,6]]},"645":{"position":[[3,6],[79,6],[148,7]]},"646":{"position":[[29,6],[49,6],[90,6],[118,6],[187,7],[245,6],[278,6]]},"647":{"position":[[21,6],[125,6],[203,6],[242,6],[354,6]]},"648":{"position":[[51,6],[271,6],[349,6],[586,6]]},"649":{"position":[[26,6],[239,6],[318,6],[347,6]]},"650":{"position":[[26,6],[680,6],[759,6],[900,6],[1519,6],[1598,6]]},"651":{"position":[[23,6],[121,6],[193,6],[261,6],[329,6],[442,6]]},"652":{"position":[[38,6],[329,6],[401,6],[469,6],[537,6],[744,6]]},"653":{"position":[[22,6],[221,6]]}},"keywords":{}}],["canvasdot",{"_index":4833,"title":{"653":{"position":[[0,10]]}},"content":{"653":{"position":[[234,9]]}},"keywords":{}}],["canvasimag",{"_index":2776,"title":{"649":{"position":[[0,12]]}},"content":{"302":{"position":[[2179,11]]},"649":{"position":[[362,11],[437,11],[640,12]]}},"keywords":{}}],["canvasimagevalu",{"_index":2777,"title":{"650":{"position":[[0,17]]}},"content":{"302":{"position":[[2195,16]]},"650":{"position":[[915,16],[1196,17]]}},"keywords":{}}],["canvaslabel",{"_index":4808,"title":{"647":{"position":[[0,12]]}},"content":{"647":{"position":[[369,11],[412,11]]}},"keywords":{}}],["canvaslabelvalu",{"_index":4814,"title":{"648":{"position":[[0,17]]}},"content":{"648":{"position":[[601,16],[655,16]]},"652":{"position":[[758,16]]}},"keywords":{}}],["canvaslin",{"_index":4827,"title":{"651":{"position":[[0,11]]}},"content":{"651":{"position":[[456,10],[476,10],[504,10]]}},"keywords":{}}],["canvaslinevalu",{"_index":4830,"title":{"652":{"position":[[0,16]]}},"content":{"652":{"position":[[822,15],[937,15],[1104,16]]}},"keywords":{}}],["cap",{"_index":1375,"title":{},"content":{"67":{"position":[[1770,4]]},"302":{"position":[[531,5]]},"303":{"position":[[623,5]]},"377":{"position":[[129,3]]},"540":{"position":[[1325,4]]}},"keywords":{}}],["cap_sys_resourc",{"_index":3594,"title":{},"content":{"377":{"position":[[137,16]]}},"keywords":{}}],["capabl",{"_index":1731,"title":{"554":{"position":[[19,13]]}},"content":{"91":{"position":[[1207,7]]},"457":{"position":[[298,10]]},"538":{"position":[[71,12]]},"554":{"position":[[38,12]]},"676":{"position":[[23,10]]}},"keywords":{}}],["capit",{"_index":1981,"title":{},"content":{"115":{"position":[[2274,14],[2608,15]]},"225":{"position":[[732,7]]},"271":{"position":[[759,7]]},"378":{"position":[[213,7]]}},"keywords":{}}],["captur",{"_index":1290,"title":{},"content":{"61":{"position":[[59,7]]},"302":{"position":[[770,7]]},"323":{"position":[[375,8]]},"546":{"position":[[930,7],[1150,7]]}},"keywords":{}}],["card",{"_index":3930,"title":{},"content":{"404":{"position":[[315,4],[376,5],[442,4],[552,4],[1703,4]]},"426":{"position":[[1108,4]]},"432":{"position":[[459,4]]}},"keywords":{}}],["card!)open",{"_index":3938,"title":{},"content":{"404":{"position":[[625,10]]}},"keywords":{}}],["cardclick",{"_index":3950,"title":{},"content":{"404":{"position":[[919,9]]}},"keywords":{}}],["cardholder’",{"_index":4056,"title":{},"content":{"426":{"position":[[1088,12]]}},"keywords":{}}],["care",{"_index":2896,"title":{},"content":{"309":{"position":[[3319,4]]},"531":{"position":[[257,7],[610,7]]},"540":{"position":[[209,7]]},"563":{"position":[[505,4]]}},"keywords":{}}],["carri",{"_index":4094,"title":{},"content":{"431":{"position":[[665,5]]}},"keywords":{}}],["case",{"_index":1208,"title":{},"content":{"54":{"position":[[556,4]]},"55":{"position":[[2980,4]]},"83":{"position":[[1383,4]]},"100":{"position":[[716,5]]},"115":{"position":[[2084,5]]},"225":{"position":[[775,4]]},"265":{"position":[[278,6]]},"271":{"position":[[802,4]]},"272":{"position":[[440,5]]},"312":{"position":[[172,6]]},"324":{"position":[[123,4]]},"338":{"position":[[564,4]]},"340":{"position":[[387,5],[490,5]]},"349":{"position":[[812,5],[1016,5],[1111,5],[5254,6],[5288,5]]},"358":{"position":[[5465,4],[7483,4]]},"404":{"position":[[254,4]]},"421":{"position":[[449,4]]},"426":{"position":[[881,4]]},"540":{"position":[[1556,4]]},"544":{"position":[[145,6]]},"559":{"position":[[328,6]]},"657":{"position":[[127,5]]},"668":{"position":[[822,4],[1150,4],[1182,4]]},"697":{"position":[[266,5]]},"698":{"position":[[165,5]]},"699":{"position":[[224,5]]},"741":{"position":[[81,5]]}},"keywords":{}}],["cat",{"_index":536,"title":{},"content":{"24":{"position":[[248,3]]}},"keywords":{}}],["catch",{"_index":2627,"title":{},"content":{"279":{"position":[[2236,5]]},"535":{"position":[[1387,5]]},"552":{"position":[[172,7]]},"566":{"position":[[82,5]]},"793":{"position":[[79,10]]}},"keywords":{}}],["categori",{"_index":2175,"title":{"198":{"position":[[0,9]]}},"content":{"198":{"position":[[1,8],[51,8],[153,8]]}},"keywords":{}}],["caught",{"_index":5697,"title":{},"content":{"793":{"position":[[339,6]]}},"keywords":{}}],["caus",{"_index":182,"title":{},"content":{"5":{"position":[[1208,5]]},"36":{"position":[[3197,5],[9985,6]]},"55":{"position":[[2422,6]]},"184":{"position":[[144,6]]},"229":{"position":[[3197,5],[9985,6]]},"241":{"position":[[74,6]]},"319":{"position":[[254,6]]},"330":{"position":[[1066,5]]},"332":{"position":[[508,5]]},"367":{"position":[[1005,6]]},"369":{"position":[[2377,6]]},"380":{"position":[[1655,5]]},"503":{"position":[[166,6]]},"522":{"position":[[1012,5]]},"531":{"position":[[75,6],[396,6]]},"532":{"position":[[55,6]]},"536":{"position":[[134,5]]},"754":{"position":[[312,6]]},"755":{"position":[[309,6]]},"766":{"position":[[297,6]]},"767":{"position":[[294,6]]},"793":{"position":[[411,5],[457,5]]}},"keywords":{}}],["caution",{"_index":5698,"title":{},"content":{"793":{"position":[[372,7]]}},"keywords":{}}],["cbor",{"_index":1082,"title":{"214":{"position":[[0,4]]}},"content":{"48":{"position":[[718,4],[800,4],[2299,4],[3709,4],[3866,4]]},"214":{"position":[[42,6],[231,4],[350,4],[409,4],[1131,4],[1186,6],[1511,4],[1604,4],[1665,4]]}},"keywords":{}}],["cboraccessor",{"_index":2241,"title":{},"content":{"214":{"position":[[476,12],[1734,12]]}},"keywords":{}}],["cborcmd",{"_index":2239,"title":{},"content":{"214":{"position":[[414,7]]}},"keywords":{}}],["cbortlm",{"_index":2273,"title":{},"content":{"214":{"position":[[1670,7]]}},"keywords":{}}],["ccsd",{"_index":1140,"title":{"58":{"position":[[0,5]]},"59":{"position":[[0,5]]},"60":{"position":[[0,5]]}},"content":{"50":{"position":[[314,5],[346,5],[376,5]]},"55":{"position":[[280,5],[402,5],[2668,5],[2766,5],[3104,5]]},"58":{"position":[[5,5],[433,5]]},"59":{"position":[[5,5],[516,5]]},"60":{"position":[[5,5],[903,5]]},"213":{"position":[[159,5]]},"253":{"position":[[1673,5]]},"299":{"position":[[176,5]]},"390":{"position":[[155,5]]},"708":{"position":[[664,5]]}},"keywords":{}}],["ccsds_utility.pi",{"_index":4349,"title":{},"content":{"540":{"position":[[1708,18]]}},"keywords":{}}],["ccsds_version",{"_index":356,"title":{},"content":{"13":{"position":[[512,13]]},"14":{"position":[[398,13]]}},"keywords":{}}],["ccsdsapid",{"_index":267,"title":{},"content":{"7":{"position":[[694,9],[899,9]]},"253":{"position":[[389,9],[1267,9],[2037,9]]},"299":{"position":[[398,9]]}},"keywords":{}}],["ccsdsday",{"_index":2702,"title":{},"content":{"299":{"position":[[719,8]]}},"keywords":{}}],["ccsdslength",{"_index":2478,"title":{},"content":{"253":{"position":[[657,11],[1535,11],[2305,11]]},"299":{"position":[[654,11]]}},"keywords":{}}],["ccsdsmsod",{"_index":2707,"title":{},"content":{"299":{"position":[[803,9]]}},"keywords":{}}],["ccsdsseqcnt",{"_index":2475,"title":{},"content":{"253":{"position":[[566,11],[1444,11],[2214,11]]},"299":{"position":[[586,11]]},"320":{"position":[[1668,11]]}},"keywords":{}}],["ccsdsseqflag",{"_index":2473,"title":{},"content":{"253":{"position":[[478,13],[1356,13],[2126,13]]},"299":{"position":[[468,13]]}},"keywords":{}}],["ccsdsshf",{"_index":2469,"title":{},"content":{"253":{"position":[[297,8],[1175,8],[1945,8]]},"299":{"position":[[305,8]]}},"keywords":{}}],["ccsdstype",{"_index":2468,"title":{},"content":{"253":{"position":[[217,9],[1095,9],[1865,9]]},"299":{"position":[[204,9]]}},"keywords":{}}],["ccsdsusom",{"_index":2710,"title":{},"content":{"299":{"position":[[876,10]]}},"keywords":{}}],["ccsdsutil",{"_index":4348,"title":{},"content":{"540":{"position":[[1689,13]]}},"keywords":{}}],["ccsdsver",{"_index":2466,"title":{},"content":{"253":{"position":[[135,8],[1013,8],[1783,8]]},"299":{"position":[[119,8]]},"687":{"position":[[988,11]]},"689":{"position":[[1030,11]]}},"keywords":{}}],["ccsdsver"",{"_index":5286,"title":{},"content":{"708":{"position":[[414,15]]}},"keywords":{}}],["cd",{"_index":1010,"title":{},"content":{"43":{"position":[[235,2]]},"44":{"position":[[264,2],[676,2]]},"309":{"position":[[3376,2]]},"310":{"position":[[739,2]]},"358":{"position":[[2212,2]]},"378":{"position":[[322,2],[366,2],[453,2]]},"379":{"position":[[82,2],[3566,2]]},"404":{"position":[[2446,2]]}},"keywords":{}}],["cdn.alpinelinux.org",{"_index":972,"title":{},"content":{"42":{"position":[[1980,19]]}},"keywords":{}}],["cell",{"_index":4185,"title":{},"content":{"479":{"position":[[14,5]]}},"keywords":{}}],["cellular",{"_index":4746,"title":{},"content":{"633":{"position":[[28,8]]}},"keywords":{}}],["celsiu",{"_index":664,"title":{},"content":{"36":{"position":[[387,7],[475,7]]},"214":{"position":[[682,7],[1957,7]]},"215":{"position":[[528,7]]},"218":{"position":[[884,7],[1735,7]]},"220":{"position":[[966,7],[2257,7]]},"229":{"position":[[387,7],[475,7]]},"279":{"position":[[382,7],[470,7]]}},"keywords":{}}],["center",{"_index":3822,"title":{},"content":{"393":{"position":[[987,6]]},"549":{"position":[[366,8]]},"606":{"position":[[18,8]]},"612":{"position":[[571,8],[775,7]]}},"keywords":{}}],["cer",{"_index":3055,"title":{},"content":{"332":{"position":[[916,5]]}},"keywords":{}}],["cert",{"_index":469,"title":{"25":{"position":[[9,6]]}},"content":{"21":{"position":[[13,4]]},"22":{"position":[[34,4]]},"23":{"position":[[432,4]]},"25":{"position":[[21,4]]},"109":{"position":[[972,4],[1153,4]]},"110":{"position":[[1306,4],[1487,4]]}},"keywords":{}}],["cert.crt",{"_index":479,"title":{},"content":{"21":{"position":[[201,10]]}},"keywords":{}}],["cert.key",{"_index":480,"title":{},"content":{"21":{"position":[[212,10]]},"24":{"position":[[73,8]]}},"keywords":{}}],["cert.pem",{"_index":539,"title":{},"content":{"24":{"position":[[360,9],[371,8],[730,8]]},"25":{"position":[[53,8]]}},"keywords":{}}],["certain",{"_index":115,"title":{},"content":{"3":{"position":[[489,7]]},"83":{"position":[[169,7]]},"154":{"position":[[43,7]]},"157":{"position":[[50,7]]},"161":{"position":[[45,7]]},"164":{"position":[[52,7]]},"427":{"position":[[326,7]]},"431":{"position":[[202,7],[286,7],[315,7],[491,7]]},"554":{"position":[[118,7]]},"580":{"position":[[46,7]]},"581":{"position":[[49,7]]},"725":{"position":[[27,7]]},"729":{"position":[[27,7]]}},"keywords":{}}],["certfil",{"_index":488,"title":{},"content":{"22":{"position":[[186,9]]}},"keywords":{}}],["certif",{"_index":389,"title":{"20":{"position":[[13,12]]},"26":{"position":[[15,11]]},"332":{"position":[[0,13]]}},"content":{"20":{"position":[[19,12],[123,12],[228,12],[893,11],[1094,11],[1288,11]]},"22":{"position":[[168,13]]},"24":{"position":[[399,12],[476,11],[679,12]]},"26":{"position":[[63,11],[154,11]]},"27":{"position":[[79,12],[681,12]]},"109":{"position":[[229,12],[996,11],[1194,11],[1216,11]]},"110":{"position":[[249,12],[1330,11],[1528,11],[1550,11]]},"332":{"position":[[204,12],[569,11],[1005,11],[1483,11]]},"415":{"position":[[264,11],[417,11]]}},"keywords":{}}],["certifi",{"_index":457,"title":{},"content":{"20":{"position":[[1082,7]]}},"keywords":{}}],["certificate.sha256",{"_index":451,"title":{},"content":{"20":{"position":[[987,18]]}},"keywords":{}}],["cf",{"_index":3554,"title":{"370":{"position":[[16,3]]},"374":{"position":[[11,4]]},"375":{"position":[[6,4]]},"376":{"position":[[21,3]]},"377":{"position":[[14,4]]},"378":{"position":[[50,4]]}},"content":{"373":{"position":[[68,4],[250,3]]},"374":{"position":[[13,3]]},"376":{"position":[[387,4]]},"377":{"position":[[82,3],[110,3],[189,3],[221,3]]},"378":{"position":[[163,4],[168,3],[395,3],[449,3],[470,3],[520,3],[664,3],[734,3],[859,3],[870,3],[1327,4],[1700,4]]},"379":{"position":[[295,3],[1057,3],[1185,3],[1232,3],[1568,3],[1727,3],[2232,3],[2750,3],[3576,3]]},"380":{"position":[[249,3],[344,3],[1096,3],[1200,3],[1268,3],[1450,4],[2239,3]]}},"keywords":{}}],["cfdp",{"_index":2155,"title":{},"content":{"189":{"position":[[256,4],[261,4],[279,5]]},"390":{"position":[[161,4],[174,4]]},"392":{"position":[[290,4]]}},"keywords":{}}],["cfe/cmake/makefile.sampl",{"_index":3585,"title":{},"content":{"376":{"position":[[474,25]]}},"keywords":{}}],["cfe/cmake/sample_def",{"_index":3587,"title":{},"content":{"376":{"position":[[528,21]]}},"keywords":{}}],["cff7fc477df9","scope":"openid",{"_index":1574,"title":{},"content":{"82":{"position":[[4578,49]]}},"keywords":{}}],["cfs/build",{"_index":3590,"title":{},"content":{"376":{"position":[[630,10],[641,10]]}},"keywords":{}}],["cfs/build/exe/cpu1",{"_index":3591,"title":{},"content":{"376":{"position":[[660,19]]}},"keywords":{}}],["cfs/targets/cf",{"_index":3617,"title":{},"content":{"378":{"position":[[1466,16]]}},"keywords":{}}],["cfs/targets/cfs/cmd_tlm",{"_index":3618,"title":{},"content":{"379":{"position":[[92,23]]}},"keywords":{}}],["cfs_cmds.txt",{"_index":3620,"title":{},"content":{"379":{"position":[[127,12],[1162,13]]}},"keywords":{}}],["cfs_int",{"_index":3694,"title":{},"content":{"380":{"position":[[2180,7]]}},"keywords":{}}],["cfs_target_nam",{"_index":3608,"title":{},"content":{"378":{"position":[[843,15],[881,15],[1034,15],[1173,15]]},"380":{"position":[[1310,15]]}},"keywords":{}}],["cfs_tlm.txt",{"_index":3621,"title":{},"content":{"379":{"position":[[146,11],[2726,12]]}},"keywords":{}}],["chain",{"_index":1156,"title":{},"content":{"50":{"position":[[740,6]]},"62":{"position":[[199,5]]},"73":{"position":[[784,5],[1149,5],[1591,6]]}},"keywords":{}}],["chain.pem",{"_index":549,"title":{},"content":{"24":{"position":[[782,9],[811,10],[823,9]]}},"keywords":{}}],["chanc",{"_index":715,"title":{},"content":{"36":{"position":[[3002,6]]},"67":{"position":[[3921,6],[4524,6]]},"229":{"position":[[3002,6]]},"279":{"position":[[2211,6]]},"402":{"position":[[1437,6]]}},"keywords":{}}],["chang",{"_index":1123,"title":{"435":{"position":[[4,7]]}},"content":{"48":{"position":[[4616,8],[4851,6]]},"78":{"position":[[92,6]]},"140":{"position":[[409,7]]},"235":{"position":[[189,7]]},"252":{"position":[[248,6]]},"279":{"position":[[8387,7],[8670,8],[10464,7]]},"285":{"position":[[188,7]]},"296":{"position":[[249,6]]},"307":{"position":[[1742,7]]},"309":{"position":[[1183,6]]},"314":{"position":[[1702,7]]},"320":{"position":[[657,7]]},"324":{"position":[[752,7]]},"326":{"position":[[332,7],[828,7],[950,8],[988,7]]},"330":{"position":[[1443,6]]},"333":{"position":[[442,6]]},"338":{"position":[[633,6]]},"350":{"position":[[1110,6]]},"353":{"position":[[594,6]]},"358":{"position":[[224,6],[7101,6]]},"359":{"position":[[419,8],[1249,6],[1823,7],[2297,6],[2427,6]]},"373":{"position":[[1,6]]},"378":{"position":[[556,6]]},"379":{"position":[[1,6],[3672,6]]},"380":{"position":[[1041,6],[1334,6],[1945,6]]},"382":{"position":[[327,6]]},"383":{"position":[[860,6],[902,6]]},"386":{"position":[[206,7],[566,6]]},"406":{"position":[[198,8]]},"407":{"position":[[586,7]]},"416":{"position":[[143,8],[253,8]]},"422":{"position":[[1392,7]]},"435":{"position":[[12,7],[62,7]]},"454":{"position":[[348,7]]},"455":{"position":[[489,7],[601,7],[644,7]]},"467":{"position":[[82,8],[553,6],[656,7]]},"472":{"position":[[587,6],[854,6]]},"479":{"position":[[95,7]]},"482":{"position":[[657,7]]},"484":{"position":[[218,6]]},"485":{"position":[[149,7]]},"489":{"position":[[3,6]]},"506":{"position":[[344,6],[407,6]]},"511":{"position":[[88,7],[231,7]]},"522":{"position":[[136,6],[205,8],[234,7],[400,8],[1093,8]]},"530":{"position":[[421,7],[519,8]]},"552":{"position":[[1301,7],[1493,6],[1593,8]]},"569":{"position":[[278,7]]},"576":{"position":[[289,6]]},"591":{"position":[[844,6],[952,6]]},"611":{"position":[[277,8]]},"619":{"position":[[22,7]]},"632":{"position":[[52,7]]},"633":{"position":[[55,7]]},"635":{"position":[[168,8]]},"650":{"position":[[38,7]]},"652":{"position":[[15,8]]},"658":{"position":[[664,7]]},"677":{"position":[[1161,6]]},"678":{"position":[[1383,6]]},"679":{"position":[[1404,6]]},"680":{"position":[[1437,6]]},"681":{"position":[[1237,6]]},"682":{"position":[[1454,6]]},"683":{"position":[[1475,6]]},"684":{"position":[[1508,6]]},"721":{"position":[[75,6]]},"741":{"position":[[175,8],[1706,8],[1744,7]]},"758":{"position":[[143,6]]},"759":{"position":[[150,6]]},"768":{"position":[[133,6]]},"769":{"position":[[147,6]]},"810":{"position":[[295,6]]},"814":{"position":[[119,6],[198,6]]}},"keywords":{}}],["changes)not",{"_index":1622,"title":{},"content":{"83":{"position":[[1505,12]]}},"keywords":{}}],["channel",{"_index":1285,"title":{},"content":{"59":{"position":[[433,7]]},"64":{"position":[[1085,7],[1197,7]]},"219":{"position":[[1036,7],[1637,7],[1715,7]]},"402":{"position":[[1268,8],[1679,7]]}},"keywords":{}}],["channel"",{"_index":2344,"title":{},"content":{"219":{"position":[[754,13],[1070,13]]}},"keywords":{}}],["chapter",{"_index":3600,"title":{},"content":{"378":{"position":[[76,7]]}},"keywords":{}}],["char",{"_index":1190,"title":{},"content":{"52":{"position":[[660,4],[960,4],[1017,4],[1058,4],[1116,4]]}},"keywords":{}}],["charact",{"_index":286,"title":{},"content":{"8":{"position":[[37,9],[120,10],[260,9]]},"9":{"position":[[52,10],[138,10],[487,10],[772,10]]},"47":{"position":[[44,9]]},"52":{"position":[[58,10],[132,11],[301,10],[403,10],[523,9],[665,9],[718,10],[740,10],[843,9],[919,9],[965,9],[1029,9],[1063,9],[1087,9],[1121,9],[1145,9]]},"56":{"position":[[62,10],[156,10],[493,10],[613,10],[628,10],[790,10]]},"57":{"position":[[618,11],[702,11]]},"61":{"position":[[1306,10],[1426,10],[1441,10],[1962,10]]},"221":{"position":[[78,10]]},"540":{"position":[[136,9]]},"611":{"position":[[733,10],[758,10]]},"614":{"position":[[318,10],[343,10]]},"615":{"position":[[464,10],[489,10]]},"616":{"position":[[338,10],[363,10]]},"617":{"position":[[341,10],[366,10]]},"618":{"position":[[615,10],[640,10]]},"623":{"position":[[307,10],[332,10]]},"624":{"position":[[310,10],[335,10]]},"625":{"position":[[584,10],[609,10]]},"635":{"position":[[546,10],[571,10]]},"643":{"position":[[127,10]]},"791":{"position":[[40,10],[123,11],[238,10]]},"792":{"position":[[39,10],[122,11]]}},"keywords":{}}],["character",{"_index":3415,"title":{},"content":{"369":{"position":[[13,16]]}},"keywords":{}}],["chart",{"_index":2538,"title":{},"content":{"261":{"position":[[305,6]]},"267":{"position":[[504,6]]},"365":{"position":[[110,7]]},"659":{"position":[[95,5]]}},"keywords":{}}],["check",{"_index":150,"title":{"25":{"position":[[0,8]]},"563":{"position":[[0,8]]},"568":{"position":[[15,6]]},"697":{"position":[[0,6]]}},"content":{"5":{"position":[[327,7]]},"36":{"position":[[4958,5],[8955,5]]},"40":{"position":[[1315,7]]},"59":{"position":[[365,7]]},"77":{"position":[[872,7]]},"83":{"position":[[2015,6]]},"229":{"position":[[4958,5],[8955,5]]},"251":{"position":[[836,6],[1604,6]]},"290":{"position":[[304,7]]},"302":{"position":[[2063,8]]},"303":{"position":[[1011,5]]},"320":{"position":[[595,5]]},"323":{"position":[[171,5],[575,5]]},"326":{"position":[[1027,5]]},"330":{"position":[[621,6]]},"339":{"position":[[306,8]]},"348":{"position":[[1408,9],[1437,8]]},"349":{"position":[[3214,5],[3312,5],[3372,5],[3998,8],[4044,6],[4094,8],[4143,6],[4480,5],[5890,7],[6057,7],[6205,7],[6335,7],[6497,7],[6654,6],[6881,7]]},"358":{"position":[[4624,5],[5874,5]]},"369":{"position":[[4082,5]]},"455":{"position":[[989,6],[1117,5],[1442,5]]},"468":{"position":[[210,7],[330,8]]},"530":{"position":[[487,6]]},"540":{"position":[[4628,8],[4842,8]]},"542":{"position":[[947,5]]},"544":{"position":[[440,7],[462,7],[1273,7]]},"552":{"position":[[2634,5]]},"556":{"position":[[609,6]]},"557":{"position":[[111,6],[135,5],[246,5]]},"560":{"position":[[398,6]]},"563":{"position":[[30,8]]},"565":{"position":[[95,6],[135,5],[201,5],[239,5],[678,6],[738,8],[956,6],[1016,8]]},"568":{"position":[[37,6],[218,6],[401,5],[546,7],[656,7],[708,6],[804,8],[896,5]]},"637":{"position":[[1842,7]]},"638":{"position":[[12,5],[233,5],[269,7]]},"654":{"position":[[867,5],[903,7]]},"658":{"position":[[296,6]]},"678":{"position":[[52,8]]},"680":{"position":[[66,6]]},"682":{"position":[[75,8]]},"684":{"position":[[89,6]]},"685":{"position":[[267,8]]},"697":{"position":[[182,5],[319,6]]},"698":{"position":[[1,6]]},"699":{"position":[[179,5],[448,5],[890,5]]},"726":{"position":[[23,5]]},"799":{"position":[[92,6]]}},"keywords":{}}],["check("<target",{"_index":5199,"title":{},"content":{"697":{"position":[[350,22]]}},"keywords":{}}],["check("inst",{"_index":5202,"title":{},"content":{"697":{"position":[[810,16],[1080,16],[1165,16],[1437,16]]},"710":{"position":[[772,16],[890,16],[1058,16],[1176,16]]}},"keywords":{}}],["check_except",{"_index":5223,"title":{"700":{"position":[[0,16]]}},"content":{},"keywords":{}}],["check_exception("<method",{"_index":5225,"title":{},"content":{"700":{"position":[[149,32]]}},"keywords":{}}],["check_exception("cmd"",{"_index":5228,"title":{},"content":{"700":{"position":[[392,32],[526,32]]}},"keywords":{}}],["check_express",{"_index":4551,"title":{"699":{"position":[[0,17]]}},"content":{"565":{"position":[[39,17]]},"699":{"position":[[288,17],[343,16]]},"728":{"position":[[261,17]]}},"keywords":{}}],["check_expression("#{answ",{"_index":5215,"title":{},"content":{"699":{"position":[[505,32]]}},"keywords":{}}],["check_expression("<expression>"",{"_index":5218,"title":{},"content":{"699":{"position":[[928,48]]}},"keywords":{}}],["check_expression("'#{answ",{"_index":5217,"title":{},"content":{"699":{"position":[[750,34]]}},"keywords":{}}],["check_expression("tlm('inst",{"_index":5220,"title":{},"content":{"699":{"position":[[1063,32]]}},"keywords":{}}],["check_format",{"_index":5196,"title":{"697":{"position":[[18,16]]}},"content":{},"keywords":{}}],["check_formatted("inst",{"_index":5204,"title":{},"content":{"697":{"position":[[922,26],[1277,26]]}},"keywords":{}}],["check_raw",{"_index":5195,"title":{"697":{"position":[[7,10]]}},"content":{},"keywords":{}}],["check_raw("inst",{"_index":5203,"title":{},"content":{"697":{"position":[[864,20],[1219,20]]}},"keywords":{}}],["check_temperature(1",{"_index":4434,"title":{},"content":{"547":{"position":[[969,20]]}},"keywords":{}}],["check_temperature(10",{"_index":4443,"title":{},"content":{"547":{"position":[[1158,21]]}},"keywords":{}}],["check_temperature(2",{"_index":4435,"title":{},"content":{"547":{"position":[[990,20]]}},"keywords":{}}],["check_temperature(3",{"_index":4436,"title":{},"content":{"547":{"position":[[1011,20]]}},"keywords":{}}],["check_temperature(4",{"_index":4437,"title":{},"content":{"547":{"position":[[1032,20]]}},"keywords":{}}],["check_temperature(5",{"_index":4438,"title":{},"content":{"547":{"position":[[1053,20]]}},"keywords":{}}],["check_temperature(6",{"_index":4439,"title":{},"content":{"547":{"position":[[1074,20]]}},"keywords":{}}],["check_temperature(7",{"_index":4440,"title":{},"content":{"547":{"position":[[1095,20]]}},"keywords":{}}],["check_temperature(8",{"_index":4441,"title":{},"content":{"547":{"position":[[1116,20]]}},"keywords":{}}],["check_temperature(9",{"_index":4442,"title":{},"content":{"547":{"position":[[1137,20]]}},"keywords":{}}],["check_temperature(temperature_numb",{"_index":4431,"title":{},"content":{"547":{"position":[[641,36],[738,37]]}},"keywords":{}}],["check_toler",{"_index":5207,"title":{"698":{"position":[[0,16]]}},"content":{"698":{"position":[[228,16]]}},"keywords":{}}],["check_tolerance("<target",{"_index":5208,"title":{},"content":{"698":{"position":[[269,32]]}},"keywords":{}}],["check_tolerance("inst",{"_index":5211,"title":{},"content":{"698":{"position":[[753,26],[821,26],[920,26],[988,26]]}},"keywords":{}}],["check_with_unit",{"_index":5197,"title":{"697":{"position":[[35,17]]}},"content":{},"keywords":{}}],["check_with_units("inst",{"_index":5205,"title":{},"content":{"697":{"position":[[986,27],[1341,27]]}},"keywords":{}}],["checkbox",{"_index":4141,"title":{},"content":{"454":{"position":[[387,8]]},"535":{"position":[[36,10]]},"560":{"position":[[1006,8]]},"637":{"position":[[1940,8]]},"638":{"position":[[189,8]]}},"keywords":{}}],["checkbutton",{"_index":4755,"title":{"638":{"position":[[0,12]]}},"content":{"637":{"position":[[369,12],[2032,11]]},"638":{"position":[[239,11]]},"654":{"position":[[873,11]]}},"keywords":{}}],["checkedclick",{"_index":3963,"title":{},"content":{"404":{"position":[[1478,12]]}},"keywords":{}}],["checkerror",{"_index":5224,"title":{},"content":{"700":{"position":[[103,10]]}},"keywords":{}}],["checkingdisplay",{"_index":4160,"title":{},"content":{"466":{"position":[[27,16]]}},"keywords":{}}],["checkout",{"_index":3718,"title":{},"content":{"386":{"position":[[219,8]]},"546":{"position":[[913,9],[1132,9]]}},"keywords":{}}],["checkperform",{"_index":4283,"title":{},"content":{"529":{"position":[[135,12]]}},"keywords":{}}],["checks.rb",{"_index":4773,"title":{},"content":{"637":{"position":[[2006,9]]}},"keywords":{}}],["checksum",{"_index":3637,"title":{},"content":{"379":{"position":[[780,8],[1660,8],[2165,8],[2665,8]]}},"keywords":{}}],["checkview",{"_index":4284,"title":{},"content":{"529":{"position":[[166,9]]}},"keywords":{}}],["chmod",{"_index":2863,"title":{},"content":{"309":{"position":[[1873,5]]},"317":{"position":[[284,5]]}},"keywords":{}}],["choic",{"_index":2548,"title":{},"content":{"263":{"position":[[505,7]]},"425":{"position":[[146,6]]},"427":{"position":[[629,7]]},"429":{"position":[[90,7]]},"547":{"position":[[350,7],[440,6]]},"559":{"position":[[1106,7]]},"560":{"position":[[234,7]]},"632":{"position":[[172,7]]},"697":{"position":[[301,6]]},"698":{"position":[[210,6]]},"699":{"position":[[270,6]]},"722":{"position":[[342,7]]},"723":{"position":[[246,7]]},"724":{"position":[[343,7]]},"725":{"position":[[219,7]]}},"keywords":{}}],["choos",{"_index":2390,"title":{},"content":{"225":{"position":[[831,6]]},"264":{"position":[[168,7]]},"271":{"position":[[855,6]]},"309":{"position":[[3772,6]]},"333":{"position":[[824,6]]},"369":{"position":[[3733,8]]},"421":{"position":[[362,6],[398,6]]},"427":{"position":[[174,6]]},"504":{"position":[[103,7]]},"532":{"position":[[217,6]]},"543":{"position":[[109,6]]},"563":{"position":[[387,6]]}},"keywords":{}}],["chooser",{"_index":4129,"title":{},"content":{"446":{"position":[[206,9]]},"481":{"position":[[150,7],[269,7]]}},"keywords":{}}],["chosen",{"_index":3420,"title":{},"content":{"369":{"position":[[99,6]]},"389":{"position":[[1658,6]]},"421":{"position":[[314,6]]}},"keywords":{}}],["chrome",{"_index":400,"title":{},"content":{"20":{"position":[[142,6]]},"485":{"position":[[325,7]]}},"keywords":{}}],["chrome)click",{"_index":1763,"title":{},"content":{"93":{"position":[[376,12]]}},"keywords":{}}],["chrome/124.0.0.0",{"_index":1616,"title":{},"content":{"83":{"position":[[1196,16]]}},"keywords":{}}],["chrome/edg",{"_index":3113,"title":{},"content":{"344":{"position":[[239,11]]}},"keywords":{}}],["chromium",{"_index":1596,"title":{},"content":{"83":{"position":[[460,8]]},"344":{"position":[[196,8]]}},"keywords":{}}],["chunk",{"_index":1587,"title":{},"content":{"82":{"position":[[6602,7]]},"386":{"position":[[413,7]]}},"keywords":{}}],["ciphersuit",{"_index":605,"title":{},"content":{"29":{"position":[[124,13]]}},"keywords":{}}],["circl",{"_index":4140,"title":{},"content":{"454":{"position":[[277,6],[367,6],[446,7]]},"612":{"position":[[310,6],[363,6]]},"619":{"position":[[618,6],[671,6]]},"622":{"position":[[12,6],[329,6]]}},"keywords":{}}],["circumst",{"_index":4090,"title":{},"content":{"431":{"position":[[331,14]]},"432":{"position":[[1422,13]]},"435":{"position":[[165,14]]}},"keywords":{}}],["citi",{"_index":427,"title":{},"content":{"20":{"position":[[548,5],[563,7]]}},"keywords":{}}],["claim",{"_index":3782,"title":{},"content":{"390":{"position":[[974,6]]}},"keywords":{}}],["clariti",{"_index":714,"title":{},"content":{"36":{"position":[[2985,7]]},"229":{"position":[[2985,7]]},"279":{"position":[[2194,7]]}},"keywords":{}}],["class",{"_index":744,"title":{"551":{"position":[[6,7]]}},"content":{"36":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8190,5],[9084,5]]},"50":{"position":[[1143,5]]},"67":{"position":[[143,7],[639,5],[751,5],[836,5],[1249,8],[1523,8],[1636,5]]},"69":{"position":[[129,6],[142,5],[401,5],[702,5]]},"70":{"position":[[248,5],[297,5],[376,5]]},"71":{"position":[[111,5],[176,5],[255,5]]},"72":{"position":[[117,5],[185,5],[267,5]]},"73":{"position":[[604,5],[934,5],[1354,5]]},"74":{"position":[[785,5],[862,5],[948,5]]},"75":{"position":[[646,5],[724,5],[811,5]]},"76":{"position":[[643,5],[715,5],[817,5]]},"77":{"position":[[927,5],[1025,5],[1153,5]]},"78":{"position":[[188,5],[327,5],[475,5]]},"100":{"position":[[173,7],[661,8]]},"115":{"position":[[2216,5],[2460,5],[2491,5],[2576,5]]},"139":{"position":[[576,5]]},"140":{"position":[[70,5]]},"223":{"position":[[271,5],[277,5]]},"229":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8190,5],[9084,5]]},"242":{"position":[[29,5],[99,5],[259,5],[295,5],[358,5]]},"251":{"position":[[37,5],[69,5],[264,6],[308,5],[328,5],[437,6],[521,5],[666,5],[1445,5]]},"275":{"position":[[1058,5]]},"279":{"position":[[3102,5],[3566,6],[3610,5],[3630,5],[3742,6],[3856,5],[4032,5],[4366,5],[6849,5],[7207,5],[10401,5],[10512,5],[10740,5]]},"288":{"position":[[21,5],[165,5],[388,5]]},"291":{"position":[[29,5],[99,5],[259,5],[295,5]]},"302":{"position":[[1466,7]]},"312":{"position":[[53,5]]},"314":{"position":[[1820,6]]},"342":{"position":[[484,5]]},"447":{"position":[[423,5]]},"533":{"position":[[11,5],[163,5],[387,5],[627,5]]},"534":{"position":[[42,5],[131,5],[364,5]]},"540":{"position":[[1516,5],[1641,5],[4455,5]]},"551":{"position":[[1,7],[368,6],[527,6],[662,5],[761,5],[1241,5]]},"561":{"position":[[312,5],[625,5]]},"571":{"position":[[253,5]]},"572":{"position":[[86,7],[217,5],[266,6],[369,7],[461,7],[500,7],[572,5]]},"576":{"position":[[179,5]]},"580":{"position":[[97,5],[124,5]]},"581":{"position":[[535,5],[562,5]]},"795":{"position":[[244,6],[332,6],[699,5],[736,5],[779,6],[875,5],[937,6],[1034,5],[1096,5],[1183,5],[1358,5],[1647,5],[1727,5],[1911,5]]}},"keywords":{}}],["class>",{"_index":5708,"title":{},"content":{"795":{"position":[[534,10],[571,10],[611,10],[643,10]]}},"keywords":{}}],["classif",{"_index":3239,"title":{},"content":{"356":{"position":[[880,14],[905,14]]},"393":{"position":[[1358,14]]}},"keywords":{}}],["classnam",{"_index":2053,"title":{},"content":{"139":{"position":[[539,9]]}},"keywords":{}}],["clcert",{"_index":585,"title":{},"content":{"27":{"position":[[730,7]]}},"keywords":{}}],["clean",{"_index":1972,"title":{},"content":{"115":{"position":[[678,5]]},"358":{"position":[[425,5]]},"473":{"position":[[1448,5]]}},"keywords":{}}],["cleanup",{"_index":2113,"title":{},"content":{"171":{"position":[[28,7],[119,7]]},"174":{"position":[[448,7]]},"175":{"position":[[166,7]]},"333":{"position":[[1102,8],[1354,8],[1363,7]]}},"keywords":{}}],["cleanup_poll_tim",{"_index":2112,"title":{"171":{"position":[[0,18]]}},"content":{},"keywords":{}}],["clear",{"_index":170,"title":{},"content":{"5":{"position":[[790,5]]},"226":{"position":[[260,5]]},"276":{"position":[[289,5]]},"416":{"position":[[84,8]]},"528":{"position":[[3,6]]},"531":{"position":[[733,6],[779,5]]},"540":{"position":[[2049,5],[2964,5]]},"550":{"position":[[298,6]]},"642":{"position":[[359,7],[424,7]]},"654":{"position":[[777,7],[842,7],[1118,7]]},"713":{"position":[[1,6],[438,5],[524,5],[625,5],[711,5]]},"787":{"position":[[864,5]]}},"keywords":{}}],["clear"",{"_index":4359,"title":{},"content":{"540":{"position":[[2151,12],[3067,12]]},"638":{"position":[[388,12],[422,13]]},"679":{"position":[[1580,12]]},"683":{"position":[[1655,12]]}},"keywords":{}}],["clear')"",{"_index":4798,"title":{},"content":{"642":{"position":[[559,13]]}},"keywords":{}}],["clear'))"",{"_index":4847,"title":{},"content":{"654":{"position":[[1142,14]]}},"keywords":{}}],["clear_al",{"_index":4863,"title":{},"content":{"662":{"position":[[221,9]]}},"keywords":{}}],["clear_all_screen",{"_index":4864,"title":{"782":{"position":[[0,18]]}},"content":{"662":{"position":[[264,17]]},"782":{"position":[[60,19]]},"787":{"position":[[835,19]]}},"keywords":{}}],["clear_collect",{"_index":4376,"title":{},"content":{"540":{"position":[[4258,15],[4908,16]]}},"keywords":{}}],["clear_collects('inst",{"_index":4367,"title":{},"content":{"540":{"position":[[2623,22],[3528,22]]}},"keywords":{}}],["clear_collects('inst2",{"_index":4368,"title":{},"content":{"540":{"position":[[2646,23],[3551,23]]}},"keywords":{}}],["clear_collects(target",{"_index":4357,"title":{},"content":{"540":{"position":[[2108,22],[3023,23]]}},"keywords":{}}],["clear_disconnected_target",{"_index":4866,"title":{},"content":{"662":{"position":[[348,26]]}},"keywords":{}}],["clear_screen",{"_index":4862,"title":{"781":{"position":[[0,13]]}},"content":{"662":{"position":[[208,12],[335,12]]}},"keywords":{}}],["clear_screen("<target",{"_index":5658,"title":{},"content":{"781":{"position":[[58,29]]}},"keywords":{}}],["clear_screen("inst"",{"_index":5659,"title":{},"content":{"781":{"position":[[278,30]]}},"keywords":{}}],["clearli",{"_index":4044,"title":{},"content":{"425":{"position":[[9,7]]}},"keywords":{}}],["clg",{"_index":1777,"title":{},"content":{"95":{"position":[[88,6]]}},"keywords":{}}],["cli",{"_index":2738,"title":{},"content":{"301":{"position":[[190,3],[217,3],[262,3],[1311,3]]},"302":{"position":[[192,3],[219,3],[303,3]]},"303":{"position":[[204,3],[237,3],[327,3]]},"304":{"position":[[225,3],[256,3],[359,3]]},"305":{"position":[[240,3],[276,3],[384,3]]},"306":{"position":[[282,3],[309,3],[383,3]]},"307":{"position":[[490,3],[515,3],[575,3]]},"320":{"position":[[899,3],[1050,3],[1194,3],[1475,3]]},"326":{"position":[[518,4],[557,3]]},"333":{"position":[[1074,5],[1124,4],[1135,3],[1167,5],[1211,3],[1240,5]]},"358":{"position":[[1285,3],[1448,3],[1740,3],[1963,3],[2266,3],[2406,3]]},"359":{"position":[[91,3],[1905,3]]},"378":{"position":[[429,3],[500,3]]},"379":{"position":[[3606,3]]},"383":{"position":[[1163,3],[1398,3]]},"396":{"position":[[197,3]]},"397":{"position":[[196,3]]}},"keywords":{}}],["click",{"_index":1019,"title":{"531":{"position":[[6,5]]}},"content":{"43":{"position":[[657,5],[801,5]]},"83":{"position":[[560,5],[597,5]]},"93":{"position":[[355,5],[514,5]]},"216":{"position":[[610,5]]},"217":{"position":[[2731,5]]},"320":{"position":[[1452,5]]},"324":{"position":[[896,8]]},"340":{"position":[[586,8]]},"346":{"position":[[754,5],[1064,5],[1629,5]]},"347":{"position":[[390,5]]},"348":{"position":[[314,5]]},"349":{"position":[[3769,5]]},"350":{"position":[[627,5],[797,5]]},"353":{"position":[[576,5]]},"355":{"position":[[183,5]]},"358":{"position":[[446,5],[495,5]]},"359":{"position":[[515,5],[538,5],[637,5],[808,5],[2064,5],[2097,5],[2322,5]]},"380":{"position":[[153,5],[297,5]]},"407":{"position":[[560,7],[630,8]]},"408":{"position":[[81,8]]},"409":{"position":[[56,8]]},"410":{"position":[[50,8]]},"411":{"position":[[99,8]]},"421":{"position":[[682,8]]},"433":{"position":[[155,8]]},"441":{"position":[[1,5]]},"442":{"position":[[1,5]]},"443":{"position":[[1,5]]},"450":{"position":[[45,8]]},"452":{"position":[[411,8]]},"461":{"position":[[236,5],[299,8],[459,5],[546,5],[606,8]]},"462":{"position":[[82,5],[275,5],[395,5]]},"467":{"position":[[272,8]]},"472":{"position":[[276,8],[478,8],[1067,5],[1130,8],[1290,5],[1377,5],[1437,8]]},"473":{"position":[[700,8],[880,8],[1141,8]]},"478":{"position":[[298,5],[361,8],[521,5],[608,5],[668,8]]},"481":{"position":[[88,8],[211,8]]},"483":{"position":[[92,8],[162,8]]},"484":{"position":[[24,8],[94,8],[137,8],[265,8]]},"485":{"position":[[1,8]]},"487":{"position":[[266,7]]},"491":{"position":[[85,5]]},"492":{"position":[[7,8]]},"502":{"position":[[235,5],[298,8],[458,5],[545,5],[605,8]]},"503":{"position":[[145,8]]},"504":{"position":[[1,8]]},"505":{"position":[[1,8],[318,5]]},"506":{"position":[[55,8],[277,8],[386,5]]},"514":{"position":[[89,8],[230,8],[312,8]]},"515":{"position":[[92,8],[251,8],[342,8]]},"521":{"position":[[254,5],[317,8],[477,5],[564,5],[624,8]]},"522":{"position":[[598,8]]},"523":{"position":[[192,8]]},"524":{"position":[[54,8]]},"528":{"position":[[770,8],[858,8]]},"530":{"position":[[63,8],[193,5],[621,5]]},"531":{"position":[[7,8],[804,8]]},"533":{"position":[[923,8]]},"534":{"position":[[773,8],[873,8],[942,8]]},"535":{"position":[[337,8],[1300,6]]},"536":{"position":[[303,8]]},"555":{"position":[[9,5]]},"559":{"position":[[1273,8]]},"569":{"position":[[298,8],[1040,8],[1074,8]]},"632":{"position":[[519,5],[731,5]]},"633":{"position":[[386,5]]},"637":{"position":[[47,9]]},"649":{"position":[[732,7]]},"650":{"position":[[1645,7]]},"668":{"position":[[138,6],[168,7]]}},"keywords":{}}],["clickabl",{"_index":4753,"title":{},"content":{"637":{"position":[[24,9]]}},"keywords":{}}],["client",{"_index":1835,"title":{"104":{"position":[[6,6]]},"107":{"position":[[5,6]]}},"content":{"103":{"position":[[49,7],[81,7]]},"104":{"position":[[11,6]]},"107":{"position":[[10,6]]},"109":{"position":[[121,6],[989,6],[1035,6],[1083,6],[1278,6]]},"110":{"position":[[141,6],[1323,6],[1369,6],[1417,6],[1612,6]]},"149":{"position":[[160,7],[292,8],[362,6]]},"215":{"position":[[51,6]]},"216":{"position":[[51,6]]},"217":{"position":[[47,6],[411,6],[1120,7],[2430,6]]},"220":{"position":[[50,6]]},"358":{"position":[[7617,6]]},"402":{"position":[[502,6]]},"426":{"position":[[1194,8]]},"756":{"position":[[169,8],[586,8],[1139,8]]},"765":{"position":[[163,8],[562,8],[1097,8]]}},"keywords":{}}],["clip",{"_index":3671,"title":{},"content":{"380":{"position":[[166,4]]}},"keywords":{}}],["cliroot",{"_index":3074,"title":{},"content":{"333":{"position":[[1080,8],[1196,8]]},"358":{"position":[[1944,7]]}},"keywords":{}}],["clock",{"_index":2566,"title":{},"content":{"265":{"position":[[296,6]]},"359":{"position":[[2107,5]]},"368":{"position":[[604,5]]},"416":{"position":[[136,6]]}},"keywords":{}}],["clone",{"_index":2194,"title":{"331":{"position":[[0,5]]},"375":{"position":[[0,5]]}},"content":{"208":{"position":[[40,5],[77,5]]},"309":{"position":[[2771,5]]},"323":{"position":[[103,6],[607,5]]},"331":{"position":[[69,5],[124,5]]},"333":{"position":[[17,6]]},"358":{"position":[[734,6]]},"375":{"position":[[5,5]]},"386":{"position":[[115,5]]},"404":{"position":[[2388,5]]}},"keywords":{}}],["close",{"_index":1969,"title":{"779":{"position":[[9,7]]}},"content":{"115":{"position":[[370,5]]},"349":{"position":[[1094,7],[1528,6]]},"506":{"position":[[658,7],[777,6]]},"524":{"position":[[1004,6]]},"557":{"position":[[430,7]]},"578":{"position":[[15,5],[68,6]]},"779":{"position":[[39,5]]},"781":{"position":[[1,6]]},"782":{"position":[[1,6]]}},"keywords":{}}],["close_local_screen",{"_index":4865,"title":{},"content":{"662":{"position":[[282,19]]}},"keywords":{}}],["cloud",{"_index":30,"title":{},"content":{"2":{"position":[[17,5]]},"97":{"position":[[113,5]]},"258":{"position":[[664,5]]},"261":{"position":[[357,5],[471,5]]},"268":{"position":[[196,5],[233,5]]},"343":{"position":[[108,5]]},"367":{"position":[[68,6]]},"439":{"position":[[239,5],[271,5],[308,5]]},"440":{"position":[[840,5]]}},"keywords":{}}],["cltu",{"_index":1141,"title":{"58":{"position":[[6,4]]}},"content":{"50":{"position":[[320,4]]},"58":{"position":[[11,4],[37,4]]}},"keywords":{}}],["cluster",{"_index":2572,"title":{},"content":{"267":{"position":[[528,7]]},"367":{"position":[[53,7]]},"368":{"position":[[343,7]]},"369":{"position":[[4041,7],[4195,7]]}},"keywords":{}}],["cm",{"_index":4575,"title":{},"content":{"571":{"position":[[97,2]]}},"keywords":{}}],["cmake",{"_index":3581,"title":{},"content":{"376":{"position":[[332,5]]}},"keywords":{}}],["cmd",{"_index":937,"title":{"145":{"position":[[0,4]]},"185":{"position":[[0,4]]},"677":{"position":[[0,4]]}},"content":{"42":{"position":[[1130,3],[2145,3],[2395,3],[2489,3]]},"44":{"position":[[40,3],[640,3],[693,3],[719,3],[788,3],[814,3],[861,3],[921,3],[1061,3],[1120,3],[1187,3],[1264,3],[1307,3],[1519,3]]},"91":{"position":[[50,4],[118,3],[1253,3]]},"143":{"position":[[86,3],[305,3]]},"145":{"position":[[228,3],[307,3]]},"181":{"position":[[70,3],[289,3]]},"185":{"position":[[248,3],[330,3]]},"239":{"position":[[34,8]]},"258":{"position":[[987,3]]},"299":{"position":[[294,3]]},"303":{"position":[[1252,3]]},"346":{"position":[[600,3],[734,3]]},"348":{"position":[[567,3],[685,3],[841,3],[1013,3],[1175,3],[1335,3],[1507,3],[1671,3],[1837,3],[2072,3],[2216,3]]},"349":{"position":[[1905,6]]},"364":{"position":[[732,3],[775,3],[874,3]]},"369":{"position":[[1241,3],[2730,3],[3584,3]]},"379":{"position":[[1572,3]]},"402":{"position":[[3093,3],[4017,3]]},"542":{"position":[[210,5]]},"544":{"position":[[692,6],[773,6],[1095,8]]},"637":{"position":[[846,5]]},"658":{"position":[[1067,4]]},"685":{"position":[[225,4]]},"700":{"position":[[324,6]]}},"keywords":{}}],["cmd("#{target",{"_index":4358,"title":{},"content":{"540":{"position":[[2131,19],[2487,19]]}},"keywords":{}}],["cmd("#{target_nam",{"_index":4543,"title":{},"content":{"564":{"position":[[366,24]]}},"keywords":{}}],["cmd("<target",{"_index":5041,"title":{},"content":{"677":{"position":[[43,20],[202,20],[408,20],[567,20]]}},"keywords":{}}],["cmd("inst",{"_index":4381,"title":{},"content":{"542":{"position":[[263,14],[511,14],[707,14]]},"545":{"position":[[366,14],[463,14]]},"554":{"position":[[994,14]]},"677":{"position":[[1294,14],[1646,14],[1726,14],[1897,14]]}},"keywords":{}}],["cmd("inst"",{"_index":5050,"title":{},"content":{"677":{"position":[[1408,21],[1525,21],[1786,21]]}},"keywords":{}}],["cmd("target",{"_index":4405,"title":{},"content":{"544":{"position":[[1408,16]]}},"keywords":{}}],["cmd("tgt",{"_index":4231,"title":{},"content":{"499":{"position":[[773,13]]}},"keywords":{}}],["cmd("tgt"",{"_index":4222,"title":{},"content":{"498":{"position":[[951,20]]}},"keywords":{}}],["cmd(f"target",{"_index":4411,"title":{},"content":{"544":{"position":[[1688,17]]}},"keywords":{}}],["cmd(f"{target",{"_index":4371,"title":{},"content":{"540":{"position":[[3047,19],[3397,19]]}},"keywords":{}}],["cmd(f"{target_nam",{"_index":4546,"title":{},"content":{"564":{"position":[[545,24]]}},"keywords":{}}],["cmd.txt",{"_index":2387,"title":{},"content":{"225":{"position":[[553,7],[641,8]]}},"keywords":{}}],["cmd/tlm",{"_index":1079,"title":{},"content":{"48":{"position":[[522,7]]},"57":{"position":[[973,7]]},"302":{"position":[[2460,7]]},"548":{"position":[[210,7]]},"750":{"position":[[85,8]]},"764":{"position":[[78,8]]}},"keywords":{}}],["cmd_acpt_cnt",{"_index":2232,"title":{},"content":{"213":{"position":[[1033,12]]},"251":{"position":[[1166,13],[1291,12],[2096,12]]}},"keywords":{}}],["cmd_acpt_cnt"",{"_index":2452,"title":{},"content":{"251":{"position":[[1200,19],[1988,19]]}},"keywords":{}}],["cmd_acpt_cnt}"",{"_index":2455,"title":{},"content":{"251":{"position":[[1309,23]]}},"keywords":{}}],["cmd_arg",{"_index":1468,"title":{},"content":{"78":{"position":[[243,10],[390,11]]}},"keywords":{}}],["cmd_buffer_depth",{"_index":2087,"title":{"152":{"position":[[0,17]]}},"content":{},"keywords":{}}],["cmd_cnt",{"_index":3666,"title":{},"content":{"379":{"position":[[3399,7]]},"695":{"position":[[347,7]]}},"keywords":{}}],["cmd_count",{"_index":5537,"title":{},"content":{"756":{"position":[[470,10],[784,13],[1029,10]]}},"keywords":{}}],["cmd_decom_log_cycle_s",{"_index":2098,"title":{"157":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_cycle_tim",{"_index":2097,"title":{"156":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_retain_tim",{"_index":2099,"title":{"158":{"position":[[0,26]]}},"content":{},"keywords":{}}],["cmd_err",{"_index":3664,"title":{},"content":{"379":{"position":[[3337,8]]}},"keywords":{}}],["cmd_id",{"_index":3636,"title":{},"content":{"379":{"position":[[730,6],[1610,6],[2115,6],[2615,6]]}},"keywords":{}}],["cmd_int",{"_index":2026,"title":{},"content":{"131":{"position":[[189,7],[320,7],[367,7],[516,7]]}},"keywords":{}}],["cmd_list",{"_index":5114,"title":{},"content":{"687":{"position":[[301,8],[348,8],[759,8]]},"688":{"position":[[209,8],[261,8],[333,8]]}},"keywords":{}}],["cmd_log_cycle_s",{"_index":2091,"title":{"154":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_cycle_tim",{"_index":2089,"title":{"153":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_retain_tim",{"_index":2095,"title":{"155":{"position":[[0,20]]}},"content":{},"keywords":{}}],["cmd_name",{"_index":1471,"title":{},"content":{"78":{"position":[[380,9]]}},"keywords":{}}],["cmd_no_check",{"_index":1717,"title":{"680":{"position":[[0,14]]}},"content":{"91":{"position":[[99,13],[354,13],[1423,13]]}},"keywords":{}}],["cmd_no_checks("<target",{"_index":5061,"title":{},"content":{"680":{"position":[[279,30],[448,30],[664,30],[833,30]]}},"keywords":{}}],["cmd_no_checks("inst",{"_index":5062,"title":{},"content":{"680":{"position":[[1570,24],[1788,24]]}},"keywords":{}}],["cmd_no_checks("inst"",{"_index":5063,"title":{},"content":{"680":{"position":[[1641,31],[1859,31]]}},"keywords":{}}],["cmd_no_hazardous_check",{"_index":1716,"title":{"679":{"position":[[0,23]]}},"content":{"91":{"position":[[75,23],[263,22],[1396,23]]}},"keywords":{}}],["cmd_no_hazardous_check("<target",{"_index":5057,"title":{},"content":{"679":{"position":[[210,39],[388,39],[613,39],[791,39]]}},"keywords":{}}],["cmd_no_hazardous_check("inst",{"_index":5058,"title":{},"content":{"679":{"position":[[1546,33]]}},"keywords":{}}],["cmd_no_hazardous_check("inst"",{"_index":5059,"title":{},"content":{"679":{"position":[[1593,40]]}},"keywords":{}}],["cmd_no_range_check",{"_index":1715,"title":{"678":{"position":[[0,19]]}},"content":{"91":{"position":[[55,19],[183,18],[1261,18]]}},"keywords":{}}],["cmd_no_range_check("<target",{"_index":5054,"title":{},"content":{"678":{"position":[[205,35],[379,35],[600,35],[774,35]]}},"keywords":{}}],["cmd_no_range_check("inst",{"_index":5055,"title":{},"content":{"678":{"position":[[1516,29],[1742,29]]}},"keywords":{}}],["cmd_no_range_check("inst"",{"_index":5056,"title":{},"content":{"678":{"position":[[1591,36],[1817,36]]}},"keywords":{}}],["cmd_onli",{"_index":5559,"title":{},"content":{"757":{"position":[[221,9],[343,8]]}},"keywords":{}}],["cmd_or_tlm/target",{"_index":1100,"title":{},"content":{"48":{"position":[[2450,17]]}},"keywords":{}}],["cmd_override.txt",{"_index":2388,"title":{},"content":{"225":{"position":[[576,16]]}},"keywords":{}}],["cmd_raw",{"_index":5065,"title":{"681":{"position":[[0,8]]}},"content":{},"keywords":{}}],["cmd_raw("<target",{"_index":5066,"title":{},"content":{"681":{"position":[[71,24],[234,24],[460,24],[623,24]]}},"keywords":{}}],["cmd_raw("inst",{"_index":5068,"title":{},"content":{"681":{"position":[[1370,18],[1552,18]]}},"keywords":{}}],["cmd_raw("inst"",{"_index":5069,"title":{},"content":{"681":{"position":[[1429,25],[1611,25]]}},"keywords":{}}],["cmd_raw_no_check",{"_index":5078,"title":{"684":{"position":[[0,18]]}},"content":{},"keywords":{}}],["cmd_raw_no_checks("<target",{"_index":5079,"title":{},"content":{"684":{"position":[[302,34],[475,34],[711,34],[884,34]]}},"keywords":{}}],["cmd_raw_no_checks("inst",{"_index":5080,"title":{},"content":{"684":{"position":[[1641,28],[1843,28]]}},"keywords":{}}],["cmd_raw_no_checks("inst"",{"_index":5081,"title":{},"content":{"684":{"position":[[1710,35],[1912,35]]}},"keywords":{}}],["cmd_raw_no_hazardous_check",{"_index":5074,"title":{"683":{"position":[[0,27]]}},"content":{},"keywords":{}}],["cmd_raw_no_hazardous_check("<target",{"_index":5075,"title":{},"content":{"683":{"position":[[233,43],[415,43],[660,43],[842,43]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst",{"_index":5076,"title":{},"content":{"683":{"position":[[1617,37]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst"",{"_index":5077,"title":{},"content":{"683":{"position":[[1668,44]]}},"keywords":{}}],["cmd_raw_no_range_check",{"_index":5070,"title":{"682":{"position":[[0,23]]}},"content":{},"keywords":{}}],["cmd_raw_no_range_check("<target",{"_index":5071,"title":{},"content":{"682":{"position":[[228,39],[406,39],[647,39],[825,39]]}},"keywords":{}}],["cmd_raw_no_range_check("inst",{"_index":5072,"title":{},"content":{"682":{"position":[[1587,33],[1799,33]]}},"keywords":{}}],["cmd_raw_no_range_check("inst"",{"_index":5073,"title":{},"content":{"682":{"position":[[1661,40],[1873,40]]}},"keywords":{}}],["cmd_templat",{"_index":1298,"title":{},"content":{"61":{"position":[[568,12],[846,13]]}},"keywords":{}}],["cmd_tlm",{"_index":281,"title":{},"content":{"7":{"position":[[1199,7]]},"15":{"position":[[453,7]]},"16":{"position":[[455,7]]},"225":{"position":[[255,7]]},"271":{"position":[[283,7]]},"395":{"position":[[218,7]]}},"keywords":{}}],["cmd_tlm_clear_count",{"_index":4867,"title":{},"content":{"662":{"position":[[400,22]]}},"keywords":{}}],["cmd_tlm_reload",{"_index":4868,"title":{},"content":{"662":{"position":[[463,14]]}},"keywords":{}}],["cmd_unique_id_mod",{"_index":368,"title":{"17":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmdrespons",{"_index":1318,"title":{"64":{"position":[[0,11]]}},"content":{"63":{"position":[[49,12]]},"64":{"position":[[5,11]]}},"keywords":{}}],["cmdresponseprotocol",{"_index":1250,"title":{},"content":{"57":{"position":[[339,20],[1078,19],[1248,19]]},"61":{"position":[[158,19]]},"64":{"position":[[479,19]]},"219":{"position":[[99,20]]}},"keywords":{}}],["cmdsender",{"_index":4494,"title":{},"content":{"554":{"position":[[909,9]]}},"keywords":{}}],["cmdtlmserver",{"_index":1008,"title":{},"content":{"43":{"position":[[186,14]]},"115":{"position":[[1174,12],[1433,12]]},"339":{"position":[[385,12]]},"359":{"position":[[666,12],[952,12]]},"380":{"position":[[2149,12]]},"554":{"position":[[966,12]]},"566":{"position":[[725,12]]}},"keywords":{}}],["cob",{"_index":1131,"title":{"51":{"position":[[0,4]]}},"content":{"50":{"position":[[61,5]]},"51":{"position":[[39,6]]}},"keywords":{}}],["code",{"_index":202,"title":{"300":{"position":[[0,4]]}},"content":{"6":{"position":[[186,4],[483,4],[576,4]]},"13":{"position":[[270,4]]},"20":{"position":[[476,5]]},"36":{"position":[[813,4],[8046,4],[8304,4],[8413,4]]},"42":{"position":[[54,4]]},"43":{"position":[[1185,4],[1294,5]]},"44":{"position":[[8,4],[1457,5],[1474,4],[1531,4]]},"52":{"position":[[289,4]]},"67":{"position":[[473,5],[1133,4],[1407,4]]},"79":{"position":[[57,4]]},"88":{"position":[[80,4]]},"100":{"position":[[193,4]]},"123":{"position":[[46,4]]},"124":{"position":[[83,4]]},"126":{"position":[[676,4]]},"209":{"position":[[551,4],[601,4]]},"210":{"position":[[115,4]]},"211":{"position":[[278,4]]},"217":{"position":[[706,4]]},"229":{"position":[[813,4],[8046,4],[8304,4],[8413,4]]},"240":{"position":[[202,4]]},"255":{"position":[[46,4]]},"258":{"position":[[79,4],[274,5],[465,4],[1928,4]]},"269":{"position":[[226,4]]},"279":{"position":[[808,4],[6706,4],[6963,4],[7071,4]]},"287":{"position":[[211,4]]},"288":{"position":[[41,4]]},"302":{"position":[[1372,4],[1425,4],[1641,4]]},"303":{"position":[[519,4]]},"304":{"position":[[848,4]]},"305":{"position":[[927,4]]},"306":{"position":[[797,4]]},"307":{"position":[[1321,4]]},"320":{"position":[[30,4],[1219,4]]},"324":{"position":[[15,4],[46,4]]},"349":{"position":[[150,4],[1885,4],[2028,4]]},"358":{"position":[[7634,4]]},"386":{"position":[[644,4]]},"387":{"position":[[818,4],[1236,4],[1396,4]]},"389":{"position":[[348,4],[691,4],[933,5],[1072,4],[1286,4],[1922,4],[2176,4]]},"390":{"position":[[1245,4]]},"391":{"position":[[69,4],[287,4]]},"392":{"position":[[470,4],[570,4]]},"440":{"position":[[489,4]]},"531":{"position":[[104,4],[245,4],[598,4]]},"540":{"position":[[393,4],[491,4],[3839,4],[3915,4],[3993,4],[4801,4]]},"544":{"position":[[95,4],[305,4],[384,4],[1211,4]]},"545":{"position":[[213,5]]},"546":{"position":[[183,4]]},"547":{"position":[[127,4]]},"550":{"position":[[408,4],[519,4],[644,4],[756,4]]},"551":{"position":[[212,4]]},"552":{"position":[[86,4],[256,4],[315,5],[359,4],[399,5],[510,4],[554,4],[860,4],[970,4],[1194,5],[1256,4],[1425,4],[1849,4],[1906,4],[2563,4],[2587,4],[2696,5]]},"554":{"position":[[370,4]]},"564":{"position":[[141,5]]},"566":{"position":[[486,5],[655,4]]},"637":{"position":[[92,4],[390,4],[1661,4],[1677,4]]},"658":{"position":[[914,4],[1097,4]]},"793":{"position":[[41,4],[202,4]]},"795":{"position":[[1161,4],[1245,4],[1291,4],[1336,4],[1708,4],[1785,4],[1839,4],[1892,4]]}},"keywords":{}}],["coeffici",{"_index":787,"title":{},"content":{"36":{"position":[[6339,11],[6370,11],[7135,11],[7166,11]]},"229":{"position":[[6339,11],[6370,11],[7135,11],[7166,11]]},"279":{"position":[[4878,11],[4909,11],[5736,11],[5767,11]]}},"keywords":{}}],["cognit",{"_index":1806,"title":{},"content":{"96":{"position":[[642,9]]}},"keywords":{}}],["collect",{"_index":145,"title":{},"content":{"5":{"position":[[121,7],[224,8]]},"7":{"position":[[287,8],[972,8]]},"91":{"position":[[1784,7]]},"213":{"position":[[516,7],[1099,8],[1195,7]]},"226":{"position":[[541,7]]},"235":{"position":[[413,7]]},"236":{"position":[[497,7]]},"252":{"position":[[464,7]]},"253":{"position":[[106,7],[899,10]]},"362":{"position":[[73,10]]},"364":{"position":[[340,9]]},"369":{"position":[[697,9]]},"424":{"position":[[516,9]]},"426":{"position":[[293,7],[509,7],[577,7],[767,7],[828,7]]},"434":{"position":[[50,9],[414,7],[848,7]]},"435":{"position":[[127,8],[312,10]]},"468":{"position":[[127,7]]},"540":{"position":[[2059,7],[2205,8],[2369,8],[2426,8],[2507,7],[2581,8],[2593,10],[2974,7],[3121,8],[3281,8],[3336,8],[3417,7],[3491,8],[3503,9],[4500,7],[4859,7]]},"542":{"position":[[278,7],[526,7],[605,8],[722,7],[802,8]]},"546":{"position":[[1038,10]]},"554":{"position":[[1009,7]]},"564":{"position":[[391,7],[570,7]]},"637":{"position":[[1060,7],[1756,8],[1785,7]]},"639":{"position":[[323,8],[423,7]]},"643":{"position":[[310,8],[405,7]]},"654":{"position":[[159,8],[273,7],[497,8],[526,7]]},"677":{"position":[[1309,7],[1741,7]]},"678":{"position":[[1546,7],[1772,7]]},"680":{"position":[[1595,7],[1813,7]]},"681":{"position":[[1389,7],[1571,7]]},"682":{"position":[[1621,7],[1833,7]]},"684":{"position":[[1670,7],[1872,7]]},"685":{"position":[[442,7],[1001,7],[1218,10]]},"687":{"position":[[561,7],[934,7]]},"689":{"position":[[600,7],[976,7]]},"690":{"position":[[443,7],[1170,7],[1301,8]]},"691":{"position":[[1098,10]]},"694":{"position":[[815,7]]},"695":{"position":[[422,7]]},"697":{"position":[[841,8],[899,8],[963,8],[1028,8],[1111,8],[1196,8],[1254,8],[1318,8],[1383,8],[1468,8]]},"699":{"position":[[1110,10]]},"710":{"position":[[720,8],[803,8],[857,8],[921,8],[1007,8],[1089,8],[1143,8],[1207,8]]},"722":{"position":[[1568,8],[1633,8],[1778,8],[1843,8]]},"724":{"position":[[994,10]]},"726":{"position":[[1076,8],[1149,8],[1253,8],[1326,8]]},"728":{"position":[[847,10]]}},"keywords":{}}],["collect"",{"_index":2223,"title":{},"content":{"213":{"position":[[550,13]]},"226":{"position":[[572,13]]},"691":{"position":[[444,14],[948,14]]},"695":{"position":[[380,14]]}},"keywords":{}}],["collect.rb",{"_index":4772,"title":{},"content":{"637":{"position":[[1995,10]]}},"keywords":{}}],["collect_data",{"_index":2465,"title":{},"content":{"253":{"position":[[54,12]]}},"keywords":{}}],["collect_typ",{"_index":4698,"title":{},"content":{"614":{"position":[[486,12]]},"615":{"position":[[679,12]]},"639":{"position":[[496,12]]},"654":{"position":[[198,12],[345,12]]}},"keywords":{}}],["collector",{"_index":3312,"title":{},"content":{"362":{"position":[[32,10]]}},"keywords":{}}],["collects"",{"_index":251,"title":{},"content":{"7":{"position":[[320,14],[1005,14]]},"213":{"position":[[1132,14]]},"540":{"position":[[2471,15],[3381,15]]},"542":{"position":[[495,15],[691,15]]},"698":{"position":[[794,15],[961,15]]},"701":{"position":[[599,15],[735,15],[798,15],[862,15],[943,15],[1027,15],[1163,15],[1226,15],[1290,15],[1371,15]]},"723":{"position":[[1314,15],[1395,15],[1521,15],[1602,15]]},"727":{"position":[[1137,15],[1224,15],[1342,15],[1429,15]]}},"keywords":{}}],["color",{"_index":2563,"title":{},"content":{"265":{"position":[[236,6]]},"279":{"position":[[2469,5],[2479,5],[8134,7],[9581,7],[9968,7]]},"350":{"position":[[900,5],[1011,8],[1170,5],[1243,5],[1384,6]]},"473":{"position":[[368,5]]},"487":{"position":[[175,7]]},"581":{"position":[[822,5]]},"587":{"position":[[43,5],[137,6]]},"588":{"position":[[37,5],[131,6]]},"589":{"position":[[41,5],[142,6]]},"611":{"position":[[312,7]]},"612":{"position":[[1030,5],[1149,5],[1155,5]]},"619":{"position":[[30,5],[962,5],[1081,5],[1087,5]]},"620":{"position":[[45,7]]},"621":{"position":[[45,7]]},"622":{"position":[[40,5]]},"632":{"position":[[60,5]]},"635":{"position":[[203,7]]},"647":{"position":[[307,5],[313,5]]},"648":{"position":[[414,5],[420,5]]},"651":{"position":[[341,5],[347,5]]},"652":{"position":[[9,5],[84,6],[1209,5],[1273,5],[1279,5]]},"653":{"position":[[136,5],[142,5]]},"803":{"position":[[104,6],[269,5],[292,5],[447,6]]},"804":{"position":[[107,6],[286,5],[309,5]]}},"keywords":{}}],["color='ff5252",{"_index":5740,"title":{},"content":{"803":{"position":[[550,15]]}},"keywords":{}}],["column",{"_index":859,"title":{},"content":{"39":{"position":[[52,6]]},"457":{"position":[[195,7]]},"479":{"position":[[132,6]]},"514":{"position":[[105,6]]},"515":{"position":[[108,6]]},"598":{"position":[[159,7]]}},"keywords":{}}],["com1",{"_index":1907,"title":{},"content":{"111":{"position":[[287,6],[399,6],[1214,4],[1219,4]]},"140":{"position":[[708,4],[713,4]]},"314":{"position":[[484,4],[537,4]]}},"keywords":{}}],["com2",{"_index":1920,"title":{},"content":{"111":{"position":[[1437,4],[1442,4]]}},"keywords":{}}],["com4",{"_index":1922,"title":{},"content":{"111":{"position":[[1533,4],[1538,4],[1655,4],[1660,4],[1865,4],[1870,4]]}},"keywords":{}}],["combin",{"_index":618,"title":{},"content":{"31":{"position":[[339,8]]},"138":{"position":[[623,8]]},"349":{"position":[[1192,8]]},"368":{"position":[[136,8]]},"383":{"position":[[561,8]]},"726":{"position":[[1,8]]}},"keywords":{}}],["combo_box",{"_index":4513,"title":{"668":{"position":[[0,10]]}},"content":{"559":{"position":[[1165,11]]},"668":{"position":[[44,9]]}},"keywords":{}}],["combo_box("<message>"",{"_index":4974,"title":{},"content":{"668":{"position":[[384,38]]}},"keywords":{}}],["combo_box("select",{"_index":4981,"title":{},"content":{"668":{"position":[[760,22],[1075,22]]}},"keywords":{}}],["combobox",{"_index":3122,"title":{"639":{"position":[[0,9]]}},"content":{"346":{"position":[[1498,9]]},"637":{"position":[[1986,8]]},"639":{"position":[[509,8]]},"654":{"position":[[358,8]]}},"keywords":{}}],["come",{"_index":156,"title":{"95":{"position":[[22,4]]}},"content":{"5":{"position":[[424,4]]},"22":{"position":[[295,6]]},"44":{"position":[[1416,6]]},"121":{"position":[[175,5]]},"197":{"position":[[166,4]]},"271":{"position":[[1615,5]]},"338":{"position":[[544,5]]},"339":{"position":[[143,4]]},"342":{"position":[[572,5]]},"358":{"position":[[5480,5]]},"430":{"position":[[362,5]]},"540":{"position":[[87,5],[1057,5],[1150,4]]}},"keywords":{}}],["comma",{"_index":2353,"title":{},"content":{"219":{"position":[[1455,5]]},"476":{"position":[[58,5]]},"673":{"position":[[1144,5]]}},"keywords":{}}],["command",{"_index":35,"title":{"15":{"position":[[0,9]]},"91":{"position":[[8,9]]},"224":{"position":[[0,8]]},"225":{"position":[[0,7]]},"226":{"position":[[0,8]]},"227":{"position":[[0,7]]},"315":{"position":[[7,9]]},"346":{"position":[[0,7]]},"348":{"position":[[0,7]]},"444":{"position":[[0,7]]},"447":{"position":[[0,8]]},"463":{"position":[[0,7]]},"465":{"position":[[0,7]]},"467":{"position":[[8,9]]},"468":{"position":[[10,9]]},"508":{"position":[[0,7]]},"510":{"position":[[0,7]]},"514":{"position":[[0,7]]},"676":{"position":[[0,9]]}},"content":{"2":{"position":[[68,7]]},"5":{"position":[[106,7],[185,7],[505,7],[622,7],[654,7],[675,8],[736,8],[855,7],[992,7],[1057,7]]},"13":{"position":[[18,7],[87,7],[125,8],[147,7],[166,7],[244,7],[378,7],[449,8]]},"15":{"position":[[19,7],[87,7],[126,7],[217,7],[413,7],[520,8]]},"16":{"position":[[130,7],[221,7],[306,7],[337,7],[522,8]]},"17":{"position":[[16,7],[109,8],[208,8],[224,7]]},"20":{"position":[[261,7],[813,7],[1510,7]]},"27":{"position":[[145,7],[229,7],[658,7],[784,7]]},"28":{"position":[[108,7]]},"31":{"position":[[515,7]]},"35":{"position":[[1266,7],[1797,7]]},"36":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6158,7],[6280,7],[6788,7],[6911,7],[7852,7],[7975,7],[8175,7],[8485,7],[8511,7],[8926,8]]},"37":{"position":[[1059,7],[1590,7]]},"42":{"position":[[518,8],[903,8],[2361,7]]},"44":{"position":[[1372,7]]},"48":{"position":[[562,7]]},"50":{"position":[[1084,11]]},"54":{"position":[[1444,8]]},"56":{"position":[[538,7]]},"58":{"position":[[80,7]]},"59":{"position":[[68,7]]},"61":{"position":[[287,7],[347,8],[1351,7]]},"64":{"position":[[55,8],[536,7],[625,7],[643,7]]},"65":{"position":[[43,8]]},"66":{"position":[[44,7]]},"77":{"position":[[253,8]]},"78":{"position":[[41,8]]},"83":{"position":[[338,7]]},"87":{"position":[[12,7]]},"91":{"position":[[40,9],[137,7],[329,8],[410,8],[887,7],[1035,7],[1145,7],[1324,7],[1382,9],[1541,7],[1588,7],[1633,7]]},"93":{"position":[[305,7],[454,7],[605,8]]},"95":{"position":[[65,7],[123,7],[165,10]]},"100":{"position":[[271,8],[457,7],[1083,8]]},"104":{"position":[[63,8],[312,8]]},"105":{"position":[[300,8]]},"106":{"position":[[251,8],[383,8]]},"107":{"position":[[61,8],[316,8]]},"108":{"position":[[273,8]]},"109":{"position":[[171,9],[326,8],[404,7],[1919,7],[2074,7],[2112,7],[2173,7]]},"110":{"position":[[191,9],[340,8],[708,9]]},"114":{"position":[[267,9],[306,7],[391,8],[401,7]]},"117":{"position":[[192,7]]},"119":{"position":[[291,8]]},"120":{"position":[[203,8]]},"121":{"position":[[80,8],[106,8]]},"122":{"position":[[130,9]]},"131":{"position":[[55,8],[113,7],[301,8],[497,8]]},"145":{"position":[[16,7],[67,7]]},"149":{"position":[[26,8],[126,7]]},"152":{"position":[[26,8]]},"153":{"position":[[1,7]]},"154":{"position":[[1,7]]},"155":{"position":[[22,7],[113,7]]},"156":{"position":[[1,7]]},"157":{"position":[[1,7]]},"158":{"position":[[24,7],[117,7]]},"185":{"position":[[1,7],[51,7]]},"210":{"position":[[43,8]]},"211":{"position":[[50,8]]},"213":{"position":[[492,9],[503,7]]},"214":{"position":[[210,9],[249,7],[401,7]]},"215":{"position":[[110,9],[149,7],[280,7]]},"216":{"position":[[138,9],[189,8]]},"217":{"position":[[376,9],[466,7],[1046,7],[1322,7]]},"218":{"position":[[252,9],[291,7],[438,7]]},"219":{"position":[[58,7],[211,9],[254,7],[385,7],[413,8],[479,7],[612,7],[678,7]]},"220":{"position":[[164,9],[202,7],[345,7]]},"221":{"position":[[101,9]]},"225":{"position":[[1,7],[37,7],[130,7],[203,7],[334,7],[409,9],[597,8],[804,7],[1089,7],[1348,7]]},"226":{"position":[[15,7],[92,7],[124,7],[145,8],[206,8],[325,7],[462,7],[528,7]]},"227":{"position":[[38,7]]},"228":{"position":[[11,7],[44,7],[144,8],[189,7],[1295,7],[1826,7]]},"229":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6158,7],[6280,7],[6788,7],[6911,7],[7852,7],[7975,7],[8175,7],[8485,7],[8511,7],[8926,8]]},"230":{"position":[[11,7],[44,7],[144,8],[1078,7],[1609,7]]},"231":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[412,7],[1439,7],[1970,7]]},"232":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[1275,7],[1806,7]]},"233":{"position":[[11,7],[44,7],[161,8],[206,7]]},"234":{"position":[[11,7],[44,7],[161,8]]},"235":{"position":[[21,7],[200,8]]},"236":{"position":[[36,7],[113,7]]},"237":{"position":[[12,7],[50,7],[94,8],[177,7]]},"238":{"position":[[15,7],[50,7],[133,8]]},"239":{"position":[[53,8]]},"240":{"position":[[33,7]]},"241":{"position":[[24,7],[66,7],[133,7],[208,7]]},"243":{"position":[[66,7],[206,7]]},"244":{"position":[[64,7],[202,7]]},"245":{"position":[[74,7]]},"246":{"position":[[80,7]]},"247":{"position":[[58,7]]},"248":{"position":[[60,7]]},"250":{"position":[[87,10],[152,8]]},"251":{"position":[[49,7],[99,7],[769,7],[820,7],[933,8],[1537,7],[1588,7],[1701,8],[1844,9],[2049,9]]},"252":{"position":[[21,7],[121,7],[175,7],[347,7],[379,7],[404,7]]},"253":{"position":[[39,7],[949,7],[1709,7]]},"259":{"position":[[195,8]]},"276":{"position":[[135,7]]},"279":{"position":[[7993,7]]},"299":{"position":[[247,8]]},"302":{"position":[[699,7],[796,8],[1137,7],[1207,9],[1864,7],[2051,7],[2409,7]]},"321":{"position":[[1568,7]]},"332":{"position":[[529,7],[806,7]]},"333":{"position":[[738,7],[1139,7],[1215,7],[1471,8]]},"338":{"position":[[70,7]]},"339":{"position":[[262,8]]},"342":{"position":[[190,7],[267,8],[310,7],[513,8],[919,8],[1126,8]]},"343":{"position":[[159,7],[1373,8],[1569,7]]},"344":{"position":[[388,8],[1176,8]]},"345":{"position":[[460,10],[489,7],[770,7],[793,7]]},"346":{"position":[[5,7],[159,7],[263,7],[424,7],[522,7],[581,9],[627,7],[674,7],[707,7],[786,8],[805,7],[919,7],[1124,7],[1222,7],[1377,7],[1519,7],[1692,7]]},"348":{"position":[[1,7],[55,8],[161,7],[206,7],[252,8],[291,7],[337,7],[404,7],[446,7],[504,7],[573,7],[621,8],[648,7],[691,7],[760,8],[787,7],[847,7],[915,7],[992,7],[1019,7],[1085,7],[1154,7],[1181,7],[1217,8],[1285,7],[1341,7],[1378,8],[1467,7],[1513,7],[1677,7],[1725,7],[1844,7],[1883,8],[1948,7],[1999,7],[2079,7],[2107,7],[2131,7],[2152,7],[2195,7],[2223,7],[2267,7],[2282,7],[2317,8],[2333,7]]},"349":{"position":[[2744,8],[2789,7],[4378,7],[4467,8]]},"355":{"position":[[263,8],[300,7],[546,8],[587,7]]},"358":{"position":[[585,7],[1127,8],[1289,7],[2737,7],[3181,7],[3222,7],[4643,7],[5848,7],[5957,7],[6049,7],[6116,7],[6214,7],[8215,8]]},"359":{"position":[[1100,7],[1335,7],[2477,7],[2732,7]]},"368":{"position":[[392,7]]},"369":{"position":[[458,11]]},"378":{"position":[[273,7]]},"379":{"position":[[287,7],[1002,7],[1075,8],[1177,7],[1719,7],[2224,7]]},"380":{"position":[[2030,8]]},"385":{"position":[[137,7]]},"387":{"position":[[26,9]]},"395":{"position":[[36,7],[125,7],[264,7]]},"396":{"position":[[19,7]]},"397":{"position":[[19,7]]},"398":{"position":[[131,8]]},"402":{"position":[[236,7]]},"404":{"position":[[2122,8]]},"418":{"position":[[49,8]]},"422":{"position":[[91,7],[633,8],[687,8]]},"445":{"position":[[1,7],[53,8],[78,8],[147,7]]},"446":{"position":[[13,7],[55,8],[93,8]]},"447":{"position":[[5,8],[74,8],[319,7],[376,7],[459,7],[546,7]]},"449":{"position":[[140,8]]},"454":{"position":[[98,9]]},"457":{"position":[[30,7]]},"464":{"position":[[1,7],[49,7],[76,8],[162,7],[192,7],[242,8],[258,7],[387,7]]},"467":{"position":[[10,7],[166,8],[200,7],[448,7],[488,7],[534,7],[628,8],[644,7],[698,7],[804,8]]},"468":{"position":[[19,8],[69,8],[81,8],[423,7]]},"476":{"position":[[25,7]]},"494":{"position":[[95,7]]},"498":{"position":[[267,10],[552,10],[726,7]]},"499":{"position":[[286,10],[501,10]]},"509":{"position":[[5,7],[292,7],[381,7]]},"511":{"position":[[5,7],[120,7]]},"513":{"position":[[85,7],[132,7],[214,7],[279,7],[321,7],[371,7],[411,7],[462,8],[539,7],[618,7],[641,10],[694,8],[761,8],[787,11],[842,7],[853,7],[882,7]]},"514":{"position":[[5,7],[52,9],[168,9],[218,8],[300,8],[329,7],[359,7],[400,8]]},"517":{"position":[[55,7]]},"540":{"position":[[4613,10]]},"542":{"position":[[77,7],[135,7],[441,8],[983,7],[1008,7]]},"544":{"position":[[49,7]]},"545":{"position":[[331,7]]},"554":{"position":[[711,8],[759,10],[785,8],[930,7],[1080,7]]},"556":{"position":[[538,8]]},"564":{"position":[[9,7]]},"637":{"position":[[135,8],[739,8],[803,8],[1208,7]]},"654":{"position":[[103,10]]},"658":{"position":[[983,8],[1152,7],[1246,8]]},"661":{"position":[[177,7]]},"662":{"position":[[423,7],[478,7],[601,7],[661,7],[749,7],[806,7],[881,7],[951,7],[1030,7],[1089,7],[1279,7],[1360,7],[1426,7],[1477,7],[1550,7],[1630,7],[1689,7],[1779,7],[1873,7],[1932,7],[2004,7],[2062,7],[2112,7],[2177,7],[2263,7],[2335,7],[2407,7],[2485,7],[2543,7],[2596,7],[2657,7],[2713,7],[2789,7],[3434,7],[3545,7],[4012,7],[4066,7],[4120,7],[4195,7],[4264,7],[4318,7],[4379,7],[4432,7],[4485,7],[4538,7],[4602,7],[4664,7],[4753,7],[4885,7],[4949,7],[5017,7]]},"676":{"position":[[42,8],[93,8]]},"677":{"position":[[19,8],[806,7],[834,7],[860,8],[927,7],[1046,7],[1270,7]]},"678":{"position":[[19,7],[154,7],[1028,7],[1056,7],[1082,8],[1149,7],[1268,7],[1492,7]]},"679":{"position":[[19,7],[84,8],[185,9],[1049,7],[1077,7],[1103,8],[1170,7],[1289,7],[1513,7]]},"680":{"position":[[19,7],[110,8],[211,8],[1082,7],[1110,7],[1136,8],[1203,7],[1322,7],[1546,7]]},"681":{"position":[[19,7],[882,7],[910,7],[936,8],[1003,7],[1122,7],[1346,7]]},"682":{"position":[[19,7],[177,7],[1099,7],[1127,7],[1153,8],[1220,7],[1339,7],[1563,7]]},"683":{"position":[[19,7],[107,8],[208,9],[1120,7],[1148,7],[1174,8],[1241,7],[1360,7],[1584,7]]},"684":{"position":[[19,7],[133,8],[234,8],[1153,7],[1181,7],[1207,8],[1274,7],[1393,7],[1617,7]]},"685":{"position":[[10,7],[201,7],[283,8],[334,7]]},"687":{"position":[[25,8],[144,7]]},"688":{"position":[[25,7]]},"689":{"position":[[11,7],[50,7]]},"690":{"position":[[29,7],[326,7],[351,8]]},"692":{"position":[[52,7],[284,7],[309,8],[318,7],[369,7],[404,8]]},"693":{"position":[[51,7],[453,7],[478,8],[514,7]]},"694":{"position":[[37,7],[267,7],[311,7],[336,8],[380,7],[530,7],[657,7],[823,7]]},"695":{"position":[[41,7],[288,7],[313,8],[430,7]]},"710":{"position":[[36,7]]},"712":{"position":[[54,7]]},"713":{"position":[[48,7]]},"754":{"position":[[253,7]]},"755":{"position":[[251,7]]},"756":{"position":[[254,7]]},"757":{"position":[[46,8],[390,8]]},"758":{"position":[[8,7],[368,7],[393,7],[409,7],[460,7]]},"759":{"position":[[8,7],[384,7],[409,7],[425,7],[476,7],[503,7],[688,7],[749,7]]},"766":{"position":[[238,7]]},"767":{"position":[[236,7]]},"768":{"position":[[8,7],[346,7],[371,7],[387,7],[438,7]]},"769":{"position":[[8,7],[388,7],[413,7],[429,7],[480,7],[507,7],[692,7],[753,7]]},"784":{"position":[[147,12]]},"799":{"position":[[58,8]]}},"keywords":{}}],["command"",{"_index":148,"title":{},"content":{"5":{"position":[[154,13],[263,14]]},"214":{"position":[[453,13]]},"215":{"position":[[332,13]]},"218":{"position":[[490,13]]},"220":{"position":[[394,13]]},"240":{"position":[[410,13]]},"379":{"position":[[1216,13],[1769,13],[2269,13]]}},"keywords":{}}],["command/respons",{"_index":1456,"title":{},"content":{"77":{"position":[[155,16]]}},"keywords":{}}],["command/telemetri",{"_index":4422,"title":{},"content":{"546":{"position":[[227,17]]}},"keywords":{}}],["command:"",{"_index":4837,"title":{},"content":{"654":{"position":[[281,14]]}},"keywords":{}}],["command_nam",{"_index":1719,"title":{},"content":{"91":{"position":[[556,12],[1552,12]]},"694":{"position":[[468,13],[579,13],[711,13]]}},"keywords":{}}],["command_param",{"_index":1733,"title":{},"content":{"91":{"position":[[1596,14]]}},"keywords":{}}],["command_validator.rb",{"_index":2438,"title":{},"content":{"251":{"position":[[399,22]]}},"keywords":{}}],["commandlog",{"_index":2125,"title":{},"content":{"174":{"position":[[390,11]]}},"keywords":{}}],["commands:"",{"_index":4844,"title":{},"content":{"654":{"position":[[720,15]]}},"keywords":{}}],["commandvalid",{"_index":2439,"title":{},"content":{"251":{"position":[[444,18]]}},"keywords":{}}],["commasdelimit",{"_index":4184,"title":{},"content":{"478":{"position":[[134,13]]}},"keywords":{}}],["comment",{"_index":2902,"title":{"437":{"position":[[17,9]]},"545":{"position":[[4,8]]}},"content":{"309":{"position":[[3458,7]]},"310":{"position":[[489,7]]},"324":{"position":[[365,7],[673,7],[980,8]]},"437":{"position":[[26,8]]},"479":{"position":[[56,7]]},"540":{"position":[[1745,8],[4291,7]]},"545":{"position":[[5,8],[154,7],[235,8],[345,8],[455,7],[536,7]]}},"keywords":{}}],["comment/uncom",{"_index":3161,"title":{},"content":{"349":{"position":[[1648,17]]}},"keywords":{}}],["comment=expir",{"_index":1535,"title":{},"content":{"82":{"position":[[867,16]]}},"keywords":{}}],["commerc",{"_index":3833,"title":{},"content":{"393":{"position":[[1405,9]]},"429":{"position":[[382,8]]}},"keywords":{}}],["commerci",{"_index":3761,"title":{"391":{"position":[[0,10]]},"392":{"position":[[21,10]]}},"content":{"389":{"position":[[1491,10],[1609,10],[2076,13]]},"390":{"position":[[466,10],[511,10],[1381,10]]},"391":{"position":[[331,10],[597,10]]},"392":{"position":[[684,10]]},"393":{"position":[[260,13],[359,10]]}},"keywords":{}}],["commit",{"_index":907,"title":{"424":{"position":[[4,11]]}},"content":{"42":{"position":[[218,6]]},"98":{"position":[[109,6]]},"371":{"position":[[105,7]]},"386":{"position":[[392,7]]},"424":{"position":[[280,9]]},"429":{"position":[[26,9]]}},"keywords":{}}],["commod",{"_index":3832,"title":{},"content":{"393":{"position":[[1348,9]]}},"keywords":{}}],["common",{"_index":274,"title":{"558":{"position":[[0,6]]},"568":{"position":[[0,6]]}},"content":{"7":{"position":[[1123,6]]},"20":{"position":[[671,6]]},"48":{"position":[[126,6],[153,6],[3918,6]]},"70":{"position":[[143,6]]},"71":{"position":[[328,6]]},"72":{"position":[[343,6]]},"96":{"position":[[369,6],[510,6]]},"100":{"position":[[508,6]]},"104":{"position":[[194,6]]},"213":{"position":[[405,6]]},"217":{"position":[[270,6]]},"324":{"position":[[112,6]]},"387":{"position":[[1532,6]]},"544":{"position":[[249,6],[323,6]]},"557":{"position":[[408,6]]},"568":{"position":[[17,6]]},"572":{"position":[[351,6],[432,6]]},"582":{"position":[[435,6]]},"587":{"position":[[117,6]]},"588":{"position":[[111,6]]},"589":{"position":[[122,6]]},"659":{"position":[[698,6]]},"699":{"position":[[427,6]]}},"keywords":{}}],["common/src/components/widgets/widget"",{"_index":2950,"title":{},"content":{"320":{"position":[[271,43]]}},"keywords":{}}],["commonli",{"_index":1228,"title":{},"content":{"55":{"position":[[2654,8]]},"107":{"position":[[111,8]]},"108":{"position":[[104,8]]},"219":{"position":[[26,8]]},"542":{"position":[[184,8]]}},"keywords":{}}],["commun",{"_index":1268,"title":{},"content":{"58":{"position":[[42,13]]},"97":{"position":[[94,11]]},"105":{"position":[[128,11]]},"112":{"position":[[424,9]]},"119":{"position":[[73,12]]},"122":{"position":[[45,11]]},"343":{"position":[[1049,13],[1296,13]]},"358":{"position":[[1170,11]]},"378":{"position":[[596,13]]},"387":{"position":[[48,14],[153,11],[420,11]]},"426":{"position":[[396,14],[798,11]]},"427":{"position":[[483,13],[563,15]]},"431":{"position":[[608,14],[783,14],[949,15]]},"433":{"position":[[112,14]]}},"keywords":{}}],["compact",{"_index":2502,"title":{},"content":{"257":{"position":[[190,7]]}},"keywords":{}}],["compani",{"_index":429,"title":{},"content":{"20":{"position":[[594,8],[612,7]]},"142":{"position":[[192,7]]},"180":{"position":[[212,7]]},"393":{"position":[[826,8],[953,7],[1090,10]]},"432":{"position":[[46,7],[90,8],[624,9],[798,9]]},"434":{"position":[[108,8]]}},"keywords":{}}],["compar",{"_index":4262,"title":{},"content":{"522":{"position":[[1252,7]]},"633":{"position":[[427,7]]}},"keywords":{}}],["comparison",{"_index":3414,"title":{"369":{"position":[[12,11]]}},"content":{"697":{"position":[[159,10],[636,10],[649,10],[704,10]]},"699":{"position":[[156,11]]},"722":{"position":[[1002,10],[1015,10],[1161,10],[1211,10]]},"723":{"position":[[928,10],[978,10]]},"724":{"position":[[182,11],[714,10],[764,10]]},"725":{"position":[[645,10]]},"726":{"position":[[617,10],[630,10],[773,10],[823,10]]},"727":{"position":[[824,10],[874,10]]},"728":{"position":[[178,11],[639,10],[689,10]]},"729":{"position":[[617,10]]}},"keywords":{}}],["compat",{"_index":818,"title":{},"content":{"36":{"position":[[8271,15]]},"229":{"position":[[8271,15]]},"268":{"position":[[33,10]]},"279":{"position":[[6930,15]]},"301":{"position":[[551,10]]},"389":{"position":[[1368,10],[1456,10]]},"661":{"position":[[123,14]]},"662":{"position":[[3389,14],[3610,14]]}},"keywords":{}}],["competitor",{"_index":3763,"title":{},"content":{"389":{"position":[[1723,11]]}},"keywords":{}}],["compil",{"_index":1012,"title":{},"content":{"43":{"position":[[323,8],[1235,7]]},"223":{"position":[[258,8]]},"301":{"position":[[827,9]]}},"keywords":{}}],["complet",{"_index":327,"title":{},"content":{"12":{"position":[[100,10]]},"13":{"position":[[275,10]]},"36":{"position":[[9592,8]]},"42":{"position":[[845,9]]},"61":{"position":[[1589,11]]},"73":{"position":[[441,8]]},"77":{"position":[[603,9]]},"229":{"position":[[9592,8]]},"279":{"position":[[7851,8]]},"324":{"position":[[339,11]]},"349":{"position":[[155,10],[1890,10],[2033,10],[4524,11]]},"355":{"position":[[577,9],[673,9]]},"404":{"position":[[1635,8]]},"422":{"position":[[919,11]]},"454":{"position":[[317,8]]},"455":{"position":[[1570,9]]},"485":{"position":[[225,9]]},"505":{"position":[[165,11]]},"535":{"position":[[932,9]]},"546":{"position":[[188,10],[1508,8]]},"568":{"position":[[407,9]]},"650":{"position":[[253,8]]},"658":{"position":[[919,10],[1102,11]]},"793":{"position":[[478,10]]}},"keywords":{}}],["complete"",{"_index":4525,"title":{},"content":{"561":{"position":[[553,14],[853,15]]}},"keywords":{}}],["complex",{"_index":2786,"title":{},"content":{"303":{"position":[[1045,7]]},"367":{"position":[[137,10],[251,7],[467,7]]},"369":{"position":[[3698,10]]},"543":{"position":[[213,7],[304,7]]},"637":{"position":[[410,7],[1908,7]]}},"keywords":{}}],["complex."",{"_index":2546,"title":{},"content":{"263":{"position":[[357,14]]}},"keywords":{}}],["compli",{"_index":4077,"title":{},"content":{"430":{"position":[[440,6]]},"432":{"position":[[1233,6]]}},"keywords":{}}],["complic",{"_index":2836,"title":{},"content":{"309":{"position":[[441,11]]},"565":{"position":[[83,11]]},"699":{"position":[[144,11]]},"724":{"position":[[170,11]]},"728":{"position":[[166,11]]}},"keywords":{}}],["compon",{"_index":622,"title":{"462":{"position":[[7,11]]}},"content":{"31":{"position":[[419,10]]},"203":{"position":[[458,9]]},"263":{"position":[[253,9],[411,9]]},"265":{"position":[[338,11]]},"307":{"position":[[935,9]]},"351":{"position":[[215,10]]},"371":{"position":[[51,11]]},"421":{"position":[[22,10]]},"462":{"position":[[31,10],[55,9],[126,9],[165,9],[256,10],[310,9],[385,9]]}},"keywords":{}}],["components/blob/master/static/json/rux",{"_index":4738,"title":{},"content":{"632":{"position":[[258,38]]}},"keywords":{}}],["compos",{"_index":2526,"title":{"259":{"position":[[7,8]]},"309":{"position":[[47,8]]}},"content":{"259":{"position":[[104,8],[285,7]]},"260":{"position":[[51,7]]},"309":{"position":[[1443,7],[1528,7],[1623,7],[1776,7],[1807,7],[1830,7],[1860,7],[1904,7],[1945,7],[1969,7]]},"310":{"position":[[326,7],[354,7]]},"330":{"position":[[317,8]]},"333":{"position":[[603,7],[695,7],[1293,7]]},"658":{"position":[[876,7]]}},"keywords":{}}],["compose.yaml",{"_index":506,"title":{"23":{"position":[[14,13]]}},"content":{"255":{"position":[[268,12]]},"259":{"position":[[333,12]]},"309":{"position":[[3389,12],[3407,12]]},"310":{"position":[[438,12]]},"317":{"position":[[128,13]]},"404":{"position":[[2463,12]]}},"keywords":{}}],["composit",{"_index":4630,"title":{},"content":{"591":{"position":[[635,9]]}},"keywords":{}}],["comprehens",{"_index":283,"title":{},"content":{"7":{"position":[[1242,13]]}},"keywords":{}}],["compromis",{"_index":4058,"title":{},"content":{"426":{"position":[[1134,12]]}},"keywords":{}}],["comput",{"_index":2507,"title":{},"content":{"258":{"position":[[163,9]]},"274":{"position":[[142,8]]},"387":{"position":[[195,8],[207,8]]},"404":{"position":[[567,8],[1361,8],[1718,8],[2619,9]]}},"keywords":{}}],["concaten",{"_index":295,"title":{"9":{"position":[[7,14]]}},"content":{"9":{"position":[[38,13],[90,11],[431,11],[893,11]]},"637":{"position":[[444,13],[551,14]]}},"keywords":{}}],["concept",{"_index":1989,"title":{"118":{"position":[[0,9]]},"254":{"position":[[18,8]]},"539":{"position":[[0,9]]},"656":{"position":[[0,9]]}},"content":{"274":{"position":[[14,7]]},"279":{"position":[[8191,7]]},"546":{"position":[[771,7]]},"547":{"position":[[159,9]]}},"keywords":{}}],["concern",{"_index":3412,"title":{},"content":{"368":{"position":[[830,7]]}},"keywords":{}}],["concis",{"_index":2236,"title":{},"content":{"214":{"position":[[5,7]]}},"keywords":{}}],["conclus",{"_index":3522,"title":{},"content":{"369":{"position":[[3604,11]]}},"keywords":{}}],["condit",{"_index":2645,"title":{},"content":{"279":{"position":[[9000,9],[9158,9],[9319,9],[9439,9],[9823,9],[10209,9]]},"568":{"position":[[516,10]]},"579":{"position":[[327,11]]}},"keywords":{}}],["condition",{"_index":4514,"title":{"560":{"position":[[0,13]]}},"content":{},"keywords":{}}],["config",{"_index":484,"title":{"22":{"position":[[21,7]]}},"content":{"125":{"position":[[404,6]]},"255":{"position":[[427,6]]},"309":{"position":[[3682,6]]},"353":{"position":[[695,6],[781,6]]},"383":{"position":[[978,7]]},"440":{"position":[[51,7],[196,6]]},"741":{"position":[[121,6]]},"813":{"position":[[226,7],[273,7],[325,7]]},"814":{"position":[[418,6]]},"815":{"position":[[354,7]]}},"keywords":{}}],["config/default/targets_modifi",{"_index":4128,"title":{},"content":{"441":{"position":[[175,31]]},"443":{"position":[[116,31]]}},"keywords":{}}],["config/target/cmd_tlm",{"_index":2692,"title":{},"content":{"298":{"position":[[152,21]]}},"keywords":{}}],["config_tool_nam",{"_index":5797,"title":{"812":{"position":[[0,18]]}},"content":{"812":{"position":[[129,19],[258,19]]}},"keywords":{}}],["configparser.handle_true_false(allow_empty_data",{"_index":1413,"title":{},"content":{"69":{"position":[[333,48]]}},"keywords":{}}],["configparser.handle_true_false_none(allow_empty_data",{"_index":1419,"title":{},"content":{"69":{"position":[[520,53]]}},"keywords":{}}],["configur",{"_index":50,"title":{"125":{"position":[[11,13]]},"314":{"position":[[7,14]]},"326":{"position":[[0,13]]},"371":{"position":[[8,14]]},"373":{"position":[[0,11]]},"396":{"position":[[38,14]]},"397":{"position":[[20,13]]},"571":{"position":[[16,13]]},"811":{"position":[[0,14]]}},"content":{"2":{"position":[[347,13],[515,13]]},"5":{"position":[[23,13],[1321,13]]},"6":{"position":[[280,13],[1155,13]]},"7":{"position":[[72,13],[104,13],[402,13],[541,13]]},"8":{"position":[[50,13]]},"9":{"position":[[66,13]]},"22":{"position":[[1,9]]},"31":{"position":[[523,14]]},"40":{"position":[[143,13]]},"42":{"position":[[251,13],[284,9]]},"48":{"position":[[1323,13],[1347,13]]},"61":{"position":[[1210,13]]},"96":{"position":[[484,13]]},"100":{"position":[[914,13]]},"106":{"position":[[538,9]]},"117":{"position":[[53,9],[100,9],[245,9]]},"125":{"position":[[14,13],[158,10],[258,13]]},"126":{"position":[[10,12],[499,13],[684,13]]},"184":{"position":[[162,13]]},"186":{"position":[[157,13]]},"252":{"position":[[78,13]]},"255":{"position":[[285,11]]},"258":{"position":[[840,10],[1197,13]]},"259":{"position":[[136,9]]},"267":{"position":[[149,13],[432,13]]},"275":{"position":[[509,13]]},"296":{"position":[[80,13]]},"298":{"position":[[126,13]]},"301":{"position":[[1242,10]]},"302":{"position":[[456,13],[1145,14],[1263,14],[2378,13]]},"303":{"position":[[542,13]]},"307":{"position":[[1465,13],[1601,9]]},"309":{"position":[[1977,9],[2171,9],[3572,13]]},"310":{"position":[[679,13]]},"314":{"position":[[26,13],[103,13],[1778,10],[2172,10]]},"315":{"position":[[155,13]]},"323":{"position":[[49,10],[494,13],[648,14]]},"326":{"position":[[22,13],[161,14]]},"331":{"position":[[578,13]]},"342":{"position":[[839,13],[889,13],[958,9]]},"343":{"position":[[438,13],[606,13],[1421,10],[1448,13]]},"347":{"position":[[707,14],[731,14],[792,14],[816,14]]},"350":{"position":[[1055,12]]},"351":{"position":[[630,14]]},"352":{"position":[[1037,14],[1069,14],[1134,14],[1175,14]]},"353":{"position":[[658,15],[744,15]]},"356":{"position":[[866,11]]},"358":{"position":[[349,13],[6948,10],[8077,9]]},"373":{"position":[[19,13]]},"379":{"position":[[3991,14]]},"380":{"position":[[1739,13]]},"383":{"position":[[666,13],[746,13],[934,13],[1692,11]]},"385":{"position":[[271,10]]},"387":{"position":[[1363,13],[1422,13],[1564,13]]},"389":{"position":[[1082,14]]},"396":{"position":[[63,13],[98,13]]},"406":{"position":[[163,14]]},"408":{"position":[[146,14]]},"409":{"position":[[124,14]]},"410":{"position":[[115,14]]},"411":{"position":[[170,14]]},"416":{"position":[[104,14]]},"440":{"position":[[227,13]]},"461":{"position":[[70,13],[109,14],[134,13],[184,15],[213,13],[281,14],[333,13],[359,14],[384,13],[439,15],[469,13],[527,14],[588,14],[640,13]]},"472":{"position":[[113,13],[152,13],[940,14],[965,13],[1015,15],[1044,13],[1112,14],[1164,13],[1190,14],[1215,13],[1270,15],[1300,13],[1358,14],[1419,14],[1471,13]]},"478":{"position":[[47,13],[82,13],[171,14],[196,13],[246,15],[275,13],[343,14],[395,13],[421,14],[446,13],[501,15],[531,13],[589,14],[650,14],[702,13]]},"487":{"position":[[60,13]]},"489":{"position":[[84,13],[123,13]]},"501":{"position":[[94,10]]},"502":{"position":[[69,13],[108,14],[133,13],[183,15],[212,13],[280,14],[332,13],[358,14],[383,13],[438,15],[468,13],[526,14],[587,14],[639,13]]},"507":{"position":[[64,9]]},"519":{"position":[[185,14]]},"521":{"position":[[16,13],[88,13],[127,14],[152,13],[202,15],[231,13],[299,14],[351,13],[377,14],[402,13],[457,15],[487,13],[545,14],[606,14],[658,13]]},"582":{"position":[[201,10]]},"722":{"position":[[25,12]]},"723":{"position":[[25,12]]},"727":{"position":[[25,12]]},"752":{"position":[[394,13]]},"761":{"position":[[340,13]]},"811":{"position":[[55,14],[129,14]]},"812":{"position":[[14,13]]},"813":{"position":[[20,13],[185,13]]},"814":{"position":[[24,14],[45,13],[64,14],[348,13],[379,13]]},"815":{"position":[[24,14],[184,13],[215,13],[260,13]]},"816":{"position":[[26,14],[188,13],[219,13],[266,13]]}},"keywords":{}}],["configuration."",{"_index":2530,"title":{},"content":{"259":{"position":[[252,20]]}},"keywords":{}}],["configurationreset",{"_index":4156,"title":{},"content":{"461":{"position":[[47,18]]},"502":{"position":[[46,18]]},"521":{"position":[[65,18]]}},"keywords":{}}],["configurationsav",{"_index":4155,"title":{},"content":{"461":{"position":[[17,17]]},"472":{"position":[[83,17]]},"478":{"position":[[17,17]]},"489":{"position":[[54,17]]},"502":{"position":[[16,17]]}},"keywords":{}}],["configurationsth",{"_index":3806,"title":{},"content":{"392":{"position":[[259,17]]}},"keywords":{}}],["confirm",{"_index":719,"title":{},"content":{"36":{"position":[[3227,12]]},"229":{"position":[[3227,12]]},"241":{"position":[[101,12]]},"385":{"position":[[243,7]]},"432":{"position":[[362,13]]}},"keywords":{}}],["conflict",{"_index":2810,"title":{},"content":{"307":{"position":[[672,8]]},"358":{"position":[[7202,9]]}},"keywords":{}}],["conform",{"_index":4104,"title":{},"content":{"432":{"position":[[1197,7]]}},"keywords":{}}],["confus",{"_index":1225,"title":{},"content":{"55":{"position":[[2543,9]]},"67":{"position":[[384,9]]}},"keywords":{}}],["congratul",{"_index":3980,"title":{},"content":{"404":{"position":[[2664,16]]}},"keywords":{}}],["conjunct",{"_index":2381,"title":{},"content":{"223":{"position":[[87,11]]},"235":{"position":[[68,11]]},"252":{"position":[[211,11]]},"285":{"position":[[65,11]]},"296":{"position":[[217,11]]},"638":{"position":[[86,11]]},"639":{"position":[[105,11]]},"640":{"position":[[88,11]]},"642":{"position":[[98,11]]},"644":{"position":[[88,11]]}},"keywords":{}}],["connect",{"_index":46,"title":{"87":{"position":[[7,12]]},"334":{"position":[[0,8]]}},"content":{"2":{"position":[[300,8]]},"20":{"position":[[168,10]]},"61":{"position":[[1660,10],[1761,7]]},"62":{"position":[[130,7]]},"67":{"position":[[573,7]]},"70":{"position":[[81,9],[167,7]]},"71":{"position":[[94,10]]},"83":{"position":[[909,12],[2410,12]]},"87":{"position":[[53,11]]},"100":{"position":[[20,10],[1032,9],[1064,9]]},"104":{"position":[[28,8],[165,11],[272,7]]},"105":{"position":[[78,11],[223,7],[877,11]]},"107":{"position":[[27,8],[282,7],[618,7],[680,10]]},"108":{"position":[[484,11]]},"109":{"position":[[42,10],[562,7],[654,7],[826,10]]},"110":{"position":[[52,10],[555,7],[647,7],[1160,10]]},"111":{"position":[[22,8]]},"112":{"position":[[27,10]]},"115":{"position":[[66,7],[125,10],[295,10]]},"120":{"position":[[35,10],[98,11],[156,11]]},"128":{"position":[[11,10]]},"133":{"position":[[38,7]]},"134":{"position":[[58,10]]},"135":{"position":[[118,10]]},"140":{"position":[[561,11]]},"275":{"position":[[277,9]]},"312":{"position":[[86,9]]},"314":{"position":[[899,11],[993,11],[1910,7]]},"330":{"position":[[920,10],[984,11],[1152,11],[1519,11]]},"334":{"position":[[1,7]]},"342":{"position":[[219,8],[631,12]]},"343":{"position":[[391,8],[822,7],[1080,9],[1133,10],[1179,12],[1263,7]]},"344":{"position":[[573,7],[612,9]]},"345":{"position":[[80,10],[139,7],[217,10],[273,7]]},"346":{"position":[[311,10],[392,7],[1270,10],[1348,7]]},"349":{"position":[[4360,10]]},"358":{"position":[[6385,7],[6649,10],[7597,7]]},"359":{"position":[[786,8],[903,8],[2786,7]]},"365":{"position":[[154,9]]},"369":{"position":[[339,10]]},"373":{"position":[[422,7]]},"377":{"position":[[12,10]]},"380":{"position":[[92,7],[1878,7]]},"387":{"position":[[1175,7]]},"390":{"position":[[1091,10]]},"402":{"position":[[814,10],[873,11],[966,10],[1025,11],[1042,10],[1406,10],[1958,9],[1982,9]]},"404":{"position":[[1902,7],[1991,8]]},"509":{"position":[[155,9]]},"512":{"position":[[93,7]]},"517":{"position":[[228,11]]},"529":{"position":[[403,7]]},"530":{"position":[[270,11]]},"650":{"position":[[189,9],[1032,9]]},"652":{"position":[[1015,9]]},"752":{"position":[[1,8]]},"756":{"position":[[131,10],[159,9],[533,10],[576,9],[1091,10],[1129,9]]},"761":{"position":[[1,8]]},"765":{"position":[[125,10],[153,9],[509,10],[552,9],[1052,10],[1087,9]]},"799":{"position":[[263,9]]}},"keywords":{}}],["connect/token",{"_index":1527,"title":{},"content":{"82":{"position":[[652,13]]}},"keywords":{}}],["connect_interfac",{"_index":5514,"title":{"752":{"position":[[0,18]]}},"content":{},"keywords":{}}],["connect_interface("<interfac",{"_index":5515,"title":{},"content":{"752":{"position":[[81,37]]}},"keywords":{}}],["connect_interface("int1"",{"_index":5517,"title":{},"content":{"752":{"position":[[439,35],[475,35]]}},"keywords":{}}],["connect_reset",{"_index":1427,"title":{"71":{"position":[[0,14]]}},"content":{"71":{"position":[[5,13],[143,13],[261,13]]}},"keywords":{}}],["connect_reset(self",{"_index":1428,"title":{},"content":{"71":{"position":[[210,20]]}},"keywords":{}}],["connect_rout",{"_index":5573,"title":{"761":{"position":[[0,15]]}},"content":{},"keywords":{}}],["connect_router("<rout",{"_index":5574,"title":{},"content":{"761":{"position":[[51,31]]}},"keywords":{}}],["connect_router("inst_router"",{"_index":5577,"title":{},"content":{"761":{"position":[[385,39],[425,39]]}},"keywords":{}}],["connection_st",{"_index":5531,"title":{},"content":{"756":{"position":[[397,17],[551,20],[956,17]]},"765":{"position":[[379,17],[527,20],[897,17]]}},"keywords":{}}],["consecut",{"_index":2183,"title":{},"content":{"200":{"position":[[230,11]]},"279":{"position":[[8586,11]]}},"keywords":{}}],["consent",{"_index":4060,"title":{"427":{"position":[[3,8]]}},"content":{"427":{"position":[[49,7],[422,7]]}},"keywords":{}}],["consid",{"_index":392,"title":{},"content":{"20":{"position":[[36,10]]},"36":{"position":[[9053,8]]},"39":{"position":[[161,8]]},"229":{"position":[[9053,8]]},"279":{"position":[[7176,8]]},"424":{"position":[[800,10]]},"629":{"position":[[250,8]]},"777":{"position":[[148,8]]},"793":{"position":[[184,8]]}},"keywords":{}}],["consider",{"_index":3404,"title":{},"content":{"368":{"position":[[9,13]]},"564":{"position":[[758,11]]}},"keywords":{}}],["consist",{"_index":1161,"title":{},"content":{"51":{"position":[[5,10]]},"218":{"position":[[156,10]]},"255":{"position":[[183,8]]},"258":{"position":[[572,10],[743,7],[1570,8]]},"260":{"position":[[129,8]]},"369":{"position":[[554,10]]},"450":{"position":[[272,8]]},"540":{"position":[[1247,10]]}},"keywords":{}}],["consol",{"_index":1020,"title":{},"content":{"43":{"position":[[680,7]]},"200":{"position":[[114,9]]},"513":{"position":[[174,7]]}},"keywords":{}}],["console.log",{"_index":1030,"title":{},"content":{"43":{"position":[[1196,12]]}},"keywords":{}}],["constant",{"_index":604,"title":{},"content":{"29":{"position":[[90,9]]},"540":{"position":[[2006,9],[2921,9],[4068,9],[4151,8]]}},"keywords":{}}],["constrain",{"_index":4510,"title":{},"content":{"559":{"position":[[1086,11]]}},"keywords":{}}],["construct",{"_index":4426,"title":{},"content":{"547":{"position":[[20,10]]}},"keywords":{}}],["constructor",{"_index":764,"title":{},"content":{"36":{"position":[[5381,12]]},"69":{"position":[[13,11]]},"229":{"position":[[5381,12]]},"242":{"position":[[364,11]]},"251":{"position":[[527,11]]},"279":{"position":[[3862,12],[10746,11]]},"288":{"position":[[394,12]]}},"keywords":{}}],["consult",{"_index":1371,"title":{},"content":{"67":{"position":[[1212,7],[1486,7]]}},"keywords":{}}],["consum",{"_index":3014,"title":{},"content":{"330":{"position":[[499,8],[631,8]]},"364":{"position":[[301,9]]},"422":{"position":[[992,9]]}},"keywords":{}}],["consumpt",{"_index":3314,"title":{},"content":{"362":{"position":[[88,11]]}},"keywords":{}}],["cont",{"_index":2700,"title":{},"content":{"299":{"position":[[545,4]]}},"keywords":{}}],["contact",{"_index":3306,"title":{},"content":{"359":{"position":[[2985,7]]},"393":{"position":[[1011,7],[1422,7]]},"426":{"position":[[866,7],[1023,7]]},"427":{"position":[[602,7]]},"432":{"position":[[252,7]]},"433":{"position":[[218,10]]},"437":{"position":[[142,7]]}},"keywords":{}}],["contain",{"_index":37,"title":{"146":{"position":[[0,10]]},"187":{"position":[[0,10]]},"258":{"position":[[0,11]]}},"content":{"2":{"position":[[136,10],[176,10],[334,8],[437,10],[488,8]]},"5":{"position":[[42,8]]},"21":{"position":[[40,10]]},"23":{"position":[[391,9]]},"24":{"position":[[380,8]]},"26":{"position":[[46,8]]},"27":{"position":[[62,8],[186,8]]},"33":{"position":[[298,8],[391,10]]},"36":{"position":[[5057,8],[5253,7]]},"42":{"position":[[709,9],[752,11],[2271,10],[2293,9]]},"44":{"position":[[324,9],[758,9]]},"48":{"position":[[2858,8],[3292,8],[4026,8]]},"54":{"position":[[433,7]]},"55":{"position":[[270,7]]},"61":{"position":[[518,8],[634,8]]},"64":{"position":[[847,7]]},"85":{"position":[[39,8]]},"86":{"position":[[151,7]]},"91":{"position":[[843,10],[1153,8]]},"92":{"position":[[634,10]]},"115":{"position":[[2448,7]]},"117":{"position":[[703,9]]},"143":{"position":[[186,9],[405,9]]},"146":{"position":[[23,9],[35,9],[173,9]]},"148":{"position":[[119,10]]},"177":{"position":[[119,10]]},"181":{"position":[[170,9],[389,9]]},"184":{"position":[[199,9]]},"187":{"position":[[8,9],[19,9],[157,9]]},"191":{"position":[[119,10]]},"229":{"position":[[5057,8],[5253,7]]},"251":{"position":[[236,8],[429,7]]},"255":{"position":[[22,8],[308,11],[402,8]]},"258":{"position":[[21,9],[228,9],[298,9],[428,10],[548,10],[604,10],[732,10],[906,9],[1262,10],[1533,9],[1951,10]]},"259":{"position":[[68,9]]},"260":{"position":[[169,7]]},"261":{"position":[[174,10]]},"267":{"position":[[197,9],[236,11],[321,9],[331,8],[406,9],[416,8]]},"271":{"position":[[1553,8],[1715,10]]},"273":{"position":[[221,10]]},"279":{"position":[[3538,8],[3734,7]]},"297":{"position":[[56,7]]},"302":{"position":[[443,8],[686,8],[1352,8],[1709,8],[2232,8]]},"303":{"position":[[506,8]]},"307":{"position":[[971,8]]},"309":{"position":[[199,9],[741,9],[862,9],[2837,9]]},"321":{"position":[[544,8]]},"323":{"position":[[272,7]]},"330":{"position":[[1589,10]]},"331":{"position":[[321,11],[362,11],[453,10]]},"332":{"position":[[12,10],[396,9]]},"333":{"position":[[891,11],[1426,10]]},"338":{"position":[[37,7],[297,7]]},"339":{"position":[[22,8],[57,8],[246,7]]},"340":{"position":[[25,8],[313,8]]},"342":{"position":[[1101,10],[1186,10]]},"343":{"position":[[227,10],[267,10],[425,8],[528,10],[579,8]]},"350":{"position":[[973,10]]},"358":{"position":[[1047,7],[1077,8],[1771,9],[5142,8]]},"361":{"position":[[23,9]]},"367":{"position":[[298,10],[604,9],[704,7]]},"368":{"position":[[309,9]]},"369":{"position":[[1041,9],[2532,9]]},"374":{"position":[[29,9]]},"380":{"position":[[348,9],[378,9]]},"382":{"position":[[30,11],[67,10]]},"383":{"position":[[1269,10],[1526,10]]},"386":{"position":[[193,7]]},"395":{"position":[[21,10]]},"407":{"position":[[367,9]]},"416":{"position":[[18,8]]},"434":{"position":[[126,8]]},"440":{"position":[[88,8]]},"454":{"position":[[284,10],[374,10]]},"455":{"position":[[214,8]]},"473":{"position":[[419,8]]},"533":{"position":[[17,8]]},"540":{"position":[[1581,7]]},"546":{"position":[[1350,10]]},"548":{"position":[[109,8]]},"549":{"position":[[253,10]]},"551":{"position":[[651,8]]},"552":{"position":[[980,8]]},"571":{"position":[[453,8]]},"574":{"position":[[224,8]]},"576":{"position":[[168,8]]},"599":{"position":[[127,9]]},"604":{"position":[[55,7]]},"642":{"position":[[140,9]]},"699":{"position":[[569,8],[816,8]]},"703":{"position":[[152,10]]},"747":{"position":[[23,10]]},"748":{"position":[[100,8]]},"756":{"position":[[102,8]]},"765":{"position":[[99,8]]},"778":{"position":[[29,8],[523,10]]}},"keywords":{}}],["container",{"_index":32,"title":{"256":{"position":[[0,17]]}},"content":{"2":{"position":[[31,14]]},"261":{"position":[[136,13]]},"343":{"position":[[122,14]]},"344":{"position":[[86,14]]}},"keywords":{}}],["container."",{"_index":2500,"title":{},"content":{"257":{"position":[[92,16]]}},"keywords":{}}],["containers/group.com.docker/settings.json",{"_index":3031,"title":{},"content":{"330":{"position":[[1349,41]]}},"keywords":{}}],["containersoutput",{"_index":3857,"title":{},"content":{"401":{"position":[[240,16]]}},"keywords":{}}],["content",{"_index":1170,"title":{},"content":{"51":{"position":[[180,8]]},"81":{"position":[[615,7],[634,7]]},"82":{"position":[[728,7],[749,7],[1165,7],[6375,7]]},"83":{"position":[[939,8],[1473,8],[1569,9],[2438,8]]},"125":{"position":[[84,8]]},"217":{"position":[[2024,7],[2176,7]]},"301":{"position":[[848,8]]},"330":{"position":[[840,8]]},"350":{"position":[[59,8],[406,8]]},"379":{"position":[[259,8]]},"415":{"position":[[237,8]]},"434":{"position":[[286,7]]},"575":{"position":[[50,8]]},"594":{"position":[[247,9]]},"595":{"position":[[116,8]]},"596":{"position":[[96,8]]},"597":{"position":[[120,8]]},"598":{"position":[[97,8]]},"785":{"position":[[49,8]]}},"keywords":{}}],["context",{"_index":1931,"title":{"343":{"position":[[25,7]]}},"content":{"112":{"position":[[614,7],[627,7]]},"349":{"position":[[3775,7]]},"350":{"position":[[693,7],[861,7]]},"564":{"position":[[115,8]]}},"keywords":{}}],["continu",{"_index":284,"title":{"8":{"position":[[5,13]]}},"content":{"8":{"position":[[24,12],[89,12]]},"9":{"position":[[759,12]]},"56":{"position":[[110,12]]},"67":{"position":[[2699,9]]},"83":{"position":[[68,10],[2003,11]]},"333":{"position":[[766,9]]},"335":{"position":[[1,8]]},"347":{"position":[[538,8]]},"349":{"position":[[459,9]]},"392":{"position":[[599,9]]},"402":{"position":[[312,12],[4693,8]]},"422":{"position":[[1267,13]]},"446":{"position":[[73,9]]},"470":{"position":[[172,8]]},"473":{"position":[[1415,8]]},"511":{"position":[[318,8]]},"522":{"position":[[1039,8]]},"530":{"position":[[633,8]]},"535":{"position":[[269,8],[378,8],[401,8],[623,8],[857,8],[919,8],[1274,13]]},"536":{"position":[[315,9]]},"552":{"position":[[738,10]]},"559":{"position":[[483,8],[769,8],[1364,9]]},"566":{"position":[[241,9],[360,9]]},"568":{"position":[[377,8]]},"569":{"position":[[457,9]]},"658":{"position":[[533,8]]},"724":{"position":[[120,9]]},"725":{"position":[[109,9]]}},"keywords":{}}],["continue"",{"_index":5040,"title":{},"content":{"675":{"position":[[248,15]]}},"keywords":{}}],["contract",{"_index":3304,"title":{},"content":{"359":{"position":[[2933,9]]},"390":{"position":[[1035,9]]},"391":{"position":[[26,8]]},"393":{"position":[[696,8]]}},"keywords":{}}],["contractu",{"_index":3791,"title":{},"content":{"391":{"position":[[94,11]]}},"keywords":{}}],["contribut",{"_index":3710,"title":{"384":{"position":[[0,12]]}},"content":{},"keywords":{}}],["control",{"_index":6,"title":{},"content":{"1":{"position":[[55,7]]},"2":{"position":[[80,7]]},"36":{"position":[[10843,7]]},"40":{"position":[[135,7]]},"59":{"position":[[203,7],[242,7]]},"81":{"position":[[570,8]]},"82":{"position":[[710,8],[6330,8]]},"97":{"position":[[154,7]]},"111":{"position":[[1063,8]]},"314":{"position":[[769,7]]},"316":{"position":[[122,11]]},"330":{"position":[[776,8]]},"343":{"position":[[171,7]]},"387":{"position":[[36,7]]},"393":{"position":[[758,9],[1211,9],[1235,10]]},"424":{"position":[[205,7]]},"476":{"position":[[209,7]]},"544":{"position":[[61,7]]},"571":{"position":[[100,10]]},"788":{"position":[[33,7]]}},"keywords":{}}],["controlldap",{"_index":3803,"title":{},"content":{"392":{"position":[[205,11]]}},"keywords":{}}],["convent",{"_index":1980,"title":{},"content":{"115":{"position":[[2029,11]]},"128":{"position":[[534,10]]},"378":{"position":[[1508,11]]},"551":{"position":[[545,10]]},"576":{"position":[[226,11]]}},"keywords":{}}],["convers",{"_index":741,"title":{"304":{"position":[[0,10]]}},"content":{"36":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6125,10],[6181,10],[6397,11],[6430,10],[6755,10],[6812,10],[7193,11],[7226,10],[7511,10],[7598,10],[7698,10],[7790,10],[7817,10],[7876,10],[8004,10],[8426,10],[8470,11],[8563,11],[8646,11],[8705,11],[9006,11],[9073,10],[9617,10]]},"229":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6125,10],[6181,10],[6397,11],[6430,10],[6755,10],[6812,10],[7193,11],[7226,10],[7511,10],[7598,10],[7698,10],[7790,10],[7817,10],[7876,10],[8004,10],[8426,10],[8470,11],[8563,11],[8646,11],[8705,11],[9006,11],[9073,10],[9617,10]]},"274":{"position":[[716,10]]},"275":{"position":[[1047,10]]},"279":{"position":[[2944,10],[2986,11],[3126,11],[3282,10],[3821,10],[4062,10],[4355,10],[4604,10],[4657,10],[4936,11],[4969,10],[5292,10],[5346,10],[5794,11],[5827,10],[6111,10],[6197,10],[6296,10],[6386,10],[6413,10],[6469,10],[6664,10],[7084,10],[7129,11],[7196,10],[7875,10]]},"304":{"position":[[5,10],[67,11],[164,10],[238,10],[269,10],[399,10],[482,10],[692,10],[837,10]]},"306":{"position":[[5,10]]},"466":{"position":[[120,11]]},"468":{"position":[[379,12]]},"659":{"position":[[229,12],[492,10],[526,10],[553,11],[601,10],[829,10]]},"681":{"position":[[43,12]]},"682":{"position":[[43,11]]},"683":{"position":[[43,11]]},"684":{"position":[[43,11]]}},"keywords":{}}],["convert",{"_index":568,"title":{"28":{"position":[[0,7]]},"396":{"position":[[0,10]]},"397":{"position":[[0,10]]}},"content":{"26":{"position":[[302,7]]},"28":{"position":[[50,7],[119,7]]},"36":{"position":[[8327,9],[9307,7],[9494,7]]},"67":{"position":[[3060,9],[4369,9]]},"92":{"position":[[130,9]]},"213":{"position":[[190,10]]},"229":{"position":[[8327,9],[9307,7],[9494,7]]},"251":{"position":[[986,9],[1754,9]]},"279":{"position":[[6986,9],[7369,9],[7437,9],[7468,9],[7590,7],[7755,7]]},"304":{"position":[[763,7]]},"350":{"position":[[1490,10]]},"353":{"position":[[542,10]]},"383":{"position":[[139,10],[634,10]]},"396":{"position":[[30,7],[88,9]]},"397":{"position":[[30,7],[95,9]]},"402":{"position":[[3181,10],[4099,10]]},"490":{"position":[[113,9]]},"565":{"position":[[571,9]]},"609":{"position":[[482,10],[512,10]]},"610":{"position":[[669,10],[699,10]]},"611":{"position":[[654,10],[684,10],[872,9],[920,9]]},"612":{"position":[[218,10],[248,10]]},"613":{"position":[[466,10],[496,10]]},"614":{"position":[[239,10],[269,10],[450,9]]},"615":{"position":[[385,10],[415,10]]},"616":{"position":[[259,10],[289,10]]},"617":{"position":[[262,10],[292,10],[490,9]]},"618":{"position":[[536,10],[566,10]]},"619":{"position":[[526,10],[556,10]]},"620":{"position":[[255,10],[285,10],[479,9]]},"621":{"position":[[253,10],[283,10],[480,9]]},"622":{"position":[[239,10],[269,10],[476,9]]},"623":{"position":[[228,10],[258,10],[448,9]]},"624":{"position":[[231,10],[261,10],[453,9]]},"625":{"position":[[505,10],[535,10]]},"626":{"position":[[225,10],[255,9],[952,10],[982,9]]},"627":{"position":[[259,10],[289,9],[1005,10],[1035,9]]},"628":{"position":[[243,10],[273,9],[977,10],[1007,9]]},"629":{"position":[[175,9]]},"630":{"position":[[476,10],[506,10]]},"631":{"position":[[515,10],[545,10]]},"633":{"position":[[271,10],[301,9]]},"635":{"position":[[467,10],[497,10],[678,9]]},"648":{"position":[[500,10],[530,10]]},"650":{"position":[[460,10],[965,9]]},"652":{"position":[[659,9],[688,10]]},"659":{"position":[[421,9],[431,9],[626,9],[772,9],[1016,9]]},"664":{"position":[[73,9]]},"677":{"position":[[1090,9]]},"678":{"position":[[1312,9]]},"679":{"position":[[1333,9]]},"680":{"position":[[1366,9]]},"681":{"position":[[1166,9]]},"682":{"position":[[1383,9]]},"683":{"position":[[1404,9]]},"684":{"position":[[1437,9]]},"685":{"position":[[362,9],[390,10]]},"693":{"position":[[569,10]]},"698":{"position":[[10,9],[681,9]]},"701":{"position":[[473,9]]},"703":{"position":[[537,9]]},"710":{"position":[[599,9],[750,10],[1037,9]]},"711":{"position":[[484,9]]},"712":{"position":[[10,9],[488,10]]},"713":{"position":[[306,10]]},"714":{"position":[[1574,12]]},"722":{"position":[[79,9],[1329,9]]},"723":{"position":[[64,9],[1096,9]]},"726":{"position":[[81,9],[941,9]]},"727":{"position":[[64,9],[992,9]]}},"keywords":{}}],["convert_data_to_packet",{"_index":1391,"title":{},"content":{"67":{"position":[[3113,24]]}},"keywords":{}}],["convert_packet_to_data",{"_index":1402,"title":{},"content":{"67":{"position":[[4416,24]]}},"keywords":{}}],["cooki",{"_index":1532,"title":{},"content":{"82":{"position":[[830,7],[884,7],[982,7]]}},"keywords":{}}],["coordin",{"_index":4806,"title":{},"content":{"645":{"position":[[86,10]]},"646":{"position":[[125,10]]},"780":{"position":[[349,10],[418,10]]},"787":{"position":[[522,10],[591,10]]}},"keywords":{}}],["copi",{"_index":476,"title":{},"content":{"21":{"position":[[149,4],[195,5]]},"43":{"position":[[1105,4]]},"44":{"position":[[147,5],[628,4]]},"216":{"position":[[653,4],[664,4]]},"217":{"position":[[2774,4],[2785,4]]},"258":{"position":[[814,6]]},"310":{"position":[[162,4]]},"324":{"position":[[464,4]]},"326":{"position":[[388,4]]},"332":{"position":[[360,4]]},"349":{"position":[[1607,5]]},"358":{"position":[[7244,6]]},"359":{"position":[[1072,4]]},"362":{"position":[[267,4],[597,4],[918,4],[1261,4]]},"365":{"position":[[436,4]]},"376":{"position":[[392,4],[610,4]]},"389":{"position":[[153,4]]},"390":{"position":[[633,6]]},"402":{"position":[[6186,4]]},"531":{"position":[[115,6],[460,6]]},"551":{"position":[[472,4]]}},"keywords":{}}],["copyright",{"_index":3766,"title":{},"content":{"389":{"position":[[2004,9]]},"390":{"position":[[273,9],[564,9],[936,9]]},"393":{"position":[[81,9]]}},"keywords":{}}],["core",{"_index":894,"title":{},"content":{"42":{"position":[[5,4]]},"96":{"position":[[1,4]]},"97":{"position":[[1,4]]},"140":{"position":[[284,4]]},"344":{"position":[[58,4]]},"368":{"position":[[473,4],[512,6],[622,4],[767,6],[792,4]]},"369":{"position":[[729,4],[2214,4]]},"389":{"position":[[1696,4]]}},"keywords":{}}],["corner",{"_index":4264,"title":{},"content":{"524":{"position":[[295,7]]},"645":{"position":[[134,6]]},"646":{"position":[[173,6]]},"647":{"position":[[99,6],[177,6]]},"648":{"position":[[245,6],[323,6]]},"649":{"position":[[212,6],[291,6]]},"650":{"position":[[653,6],[732,6],[1492,6],[1571,6]]},"780":{"position":[[384,6],[453,6]]},"787":{"position":[[557,6],[626,6]]}},"keywords":{}}],["corp",{"_index":3815,"title":{},"content":{"393":{"position":[[46,4],[225,5]]}},"keywords":{}}],["correct",{"_index":1038,"title":{},"content":{"44":{"position":[[242,7]]},"115":{"position":[[2266,7]]},"312":{"position":[[271,7]]},"358":{"position":[[1245,7],[7738,7]]},"369":{"position":[[3746,7]]},"404":{"position":[[1247,7]]},"426":{"position":[[988,7]]},"436":{"position":[[140,12]]},"538":{"position":[[297,8]]},"544":{"position":[[614,7]]},"546":{"position":[[1399,7]]},"569":{"position":[[666,7]]},"699":{"position":[[697,7]]}},"keywords":{}}],["correctli",{"_index":3053,"title":{},"content":{"332":{"position":[[788,9]]},"383":{"position":[[1682,9]]}},"keywords":{}}],["correl",{"_index":4136,"title":{},"content":{"452":{"position":[[295,11]]}},"keywords":{}}],["correspond",{"_index":562,"title":{},"content":{"26":{"position":[[97,13]]},"31":{"position":[[607,10]]},"39":{"position":[[283,13]]},"61":{"position":[[1137,13]]},"88":{"position":[[314,10]]},"117":{"position":[[178,13]]},"225":{"position":[[908,10]]},"271":{"position":[[932,10]]},"301":{"position":[[872,13]]},"402":{"position":[[5601,13]]},"422":{"position":[[154,13]]}},"keywords":{}}],["correspondingli",{"_index":1304,"title":{},"content":{"61":{"position":[[944,16]]}},"keywords":{}}],["cosmo",{"_index":1,"title":{"1":{"position":[[11,7]]},"2":{"position":[[0,6]]},"41":{"position":[[11,6]]},"81":{"position":[[25,6]]},"82":{"position":[[25,6]]},"95":{"position":[[37,6]]},"96":{"position":[[7,6]]},"97":{"position":[[7,6]]},"206":{"position":[[8,6]]},"254":{"position":[[7,6]]},"309":{"position":[[7,6]]},"328":{"position":[[18,7]]},"329":{"position":[[18,6]]},"366":{"position":[[0,6]]},"370":{"position":[[0,6]]},"372":{"position":[[11,7]]},"373":{"position":[[12,7]]},"378":{"position":[[11,6]]},"382":{"position":[[0,6]]},"383":{"position":[[15,6],[27,6]]},"395":{"position":[[8,6]]},"396":{"position":[[31,6]]},"397":{"position":[[13,6]]},"404":{"position":[[0,6]]},"540":{"position":[[18,7]]},"566":{"position":[[0,6]]},"661":{"position":[[15,6]]},"662":{"position":[[15,6]]}},"content":{"1":{"position":[[1,6]]},"2":{"position":[[3,6],[104,6],[198,6],[293,6],[636,6],[775,6]]},"3":{"position":[[103,6],[218,6],[275,6],[395,7],[547,6],[588,6]]},"5":{"position":[[16,6],[301,6],[1314,6]]},"6":{"position":[[263,6],[1095,6]]},"7":{"position":[[1,6]]},"8":{"position":[[1,6]]},"9":{"position":[[1,6]]},"20":{"position":[[292,6]]},"31":{"position":[[74,6]]},"42":{"position":[[10,6],[398,7],[460,6],[495,6],[621,6],[702,6],[974,6],[1042,6],[1123,6],[2010,6],[2026,6],[2475,6],[2603,6],[2723,6],[2810,6],[2923,6],[3033,6],[3100,6]]},"43":{"position":[[22,6],[77,6],[167,6]]},"44":{"position":[[192,6],[391,6],[558,6],[686,6],[712,6],[807,6],[840,6],[854,6],[914,6],[1054,6],[1113,6],[1180,6],[1257,6],[1300,6]]},"46":{"position":[[23,6]]},"47":{"position":[[1,6]]},"48":{"position":[[905,6],[1014,6],[2149,6],[4221,7]]},"50":{"position":[[1,6],[243,6]]},"53":{"position":[[106,6]]},"55":{"position":[[3214,6]]},"57":{"position":[[1358,6],[1387,6]]},"58":{"position":[[426,6],[456,6]]},"59":{"position":[[509,6],[539,6]]},"60":{"position":[[896,6],[926,6]]},"61":{"position":[[97,6],[1198,6]]},"62":{"position":[[62,6],[205,6]]},"63":{"position":[[1,6]]},"64":{"position":[[1291,6],[1323,6]]},"66":{"position":[[68,6]]},"67":{"position":[[87,6],[329,6],[1080,6],[1118,6],[1233,6],[1354,6],[1392,6],[1507,6],[3077,6],[4655,6]]},"74":{"position":[[68,6],[219,6],[271,6]]},"75":{"position":[[69,6],[218,6],[270,6]]},"81":{"position":[[8,6]]},"82":{"position":[[8,6],[4651,6],[4670,6],[6290,6]]},"83":{"position":[[95,7]]},"86":{"position":[[5,6],[348,6]]},"87":{"position":[[5,6],[72,6],[126,6]]},"88":{"position":[[38,6],[332,6]]},"89":{"position":[[5,6]]},"91":{"position":[[150,6]]},"96":{"position":[[416,6],[466,6]]},"97":{"position":[[56,6]]},"98":{"position":[[134,7]]},"100":{"position":[[203,6],[563,6]]},"103":{"position":[[1,6],[288,6]]},"107":{"position":[[180,6]]},"108":{"position":[[173,6]]},"109":{"position":[[94,6],[2685,6],[2709,6]]},"110":{"position":[[104,6],[2416,6],[2440,6]]},"111":{"position":[[63,6]]},"112":{"position":[[1014,6],[1045,6]]},"113":{"position":[[610,6],[641,6]]},"114":{"position":[[559,6],[586,6]]},"115":{"position":[[1601,6],[1760,6],[1935,6],[2539,6]]},"117":{"position":[[65,6],[121,7],[352,7],[393,6]]},"119":{"position":[[66,6],[275,6]]},"121":{"position":[[50,6],[94,7],[132,6]]},"122":{"position":[[1,6],[66,6]]},"123":{"position":[[72,6]]},"124":{"position":[[1,6]]},"125":{"position":[[53,6],[251,6]]},"146":{"position":[[98,6]]},"183":{"position":[[533,6]]},"187":{"position":[[82,6]]},"200":{"position":[[200,6]]},"208":{"position":[[50,6],[163,6]]},"209":{"position":[[7,6],[14,6],[44,6],[231,6],[508,6],[565,6]]},"213":{"position":[[175,6]]},"214":{"position":[[168,6]]},"216":{"position":[[120,6]]},"217":{"position":[[358,6]]},"218":{"position":[[229,6]]},"219":{"position":[[151,6],[183,6]]},"220":{"position":[[141,6]]},"221":{"position":[[392,6],[421,6]]},"222":{"position":[[227,6],[260,6]]},"223":{"position":[[375,6],[402,6]]},"225":{"position":[[73,6],[1065,6],[1266,6]]},"255":{"position":[[10,6],[73,7],[116,6],[138,6],[163,7],[256,7],[301,6],[387,6]]},"257":{"position":[[135,6]]},"258":{"position":[[532,6],[713,6],[800,6],[851,6],[869,6],[899,6],[966,6],[980,6],[1036,6],[1057,6],[1071,6],[1150,6],[1211,6],[1302,6],[1425,6],[1511,6],[1563,6],[1687,6],[1706,6],[1784,6]]},"259":{"position":[[321,7]]},"260":{"position":[[1,6],[98,6],[192,6]]},"261":{"position":[[273,6],[378,6],[438,6]]},"263":{"position":[[5,6],[372,6],[459,6],[513,6],[564,6]]},"264":{"position":[[7,6],[94,6],[291,6]]},"265":{"position":[[188,6],[303,6]]},"267":{"position":[[113,6],[248,6],[274,6],[425,6],[472,6]]},"268":{"position":[[58,6],[111,6],[164,6],[351,6]]},"269":{"position":[[5,6]]},"271":{"position":[[97,6],[1041,7],[1104,6],[1439,6],[1608,6]]},"273":{"position":[[1,6]]},"274":{"position":[[1,6],[183,6]]},"275":{"position":[[1,6],[211,6],[626,6],[1019,6],[1736,6]]},"301":{"position":[[56,6],[143,6],[300,6],[505,6],[622,6],[656,6],[908,6],[930,6],[981,6],[1160,6]]},"302":{"position":[[56,6],[106,6],[169,6],[280,6],[899,6],[1586,6]]},"303":{"position":[[62,6],[118,6],[181,6],[304,6]]},"304":{"position":[[60,6],[114,6],[202,6],[336,6],[784,6]]},"305":{"position":[[65,6],[124,6],[217,6],[361,6]]},"306":{"position":[[60,6],[196,6],[259,6],[360,6],[783,6]]},"307":{"position":[[54,6],[107,6],[284,6],[467,6],[552,6],[1307,6]]},"309":{"position":[[78,6],[2701,6],[3379,6],[3864,6]]},"310":{"position":[[732,6],[742,6]]},"312":{"position":[[36,6],[144,6],[206,6],[251,6]]},"314":{"position":[[916,6],[1010,7],[1082,6],[1899,6]]},"316":{"position":[[21,6],[54,6],[87,6],[141,6]]},"319":{"position":[[37,6],[261,6]]},"320":{"position":[[535,6]]},"321":{"position":[[94,7],[198,6],[233,6]]},"323":{"position":[[34,6],[112,6],[239,6]]},"324":{"position":[[83,6],[954,6]]},"326":{"position":[[131,6],[531,6],[626,6],[666,6],[800,6],[1394,7]]},"328":{"position":[[51,6],[193,6]]},"330":{"position":[[1575,6]]},"331":{"position":[[24,6],[314,6],[446,6]]},"332":{"position":[[5,6],[169,6]]},"340":{"position":[[56,6]]},"342":{"position":[[5,6],[138,6],[183,6],[565,6],[758,6],[803,6],[859,6],[973,6],[1255,6]]},"343":{"position":[[33,6],[94,6],[195,6],[289,6],[384,6],[727,6],[811,6],[1341,6],[1516,6]]},"344":{"position":[[51,6],[108,6],[136,6],[149,6],[229,6],[251,6],[264,6],[340,6],[358,6],[367,6],[402,6],[411,6],[451,6],[460,6],[516,6],[525,6],[645,6],[654,6],[749,6],[758,6],[894,6],[1005,6],[1015,6],[1123,6],[1133,6],[1243,6]]},"345":{"position":[[48,6],[185,6],[315,6],[437,6],[507,6],[611,6],[717,6],[819,6],[851,6]]},"346":{"position":[[69,6]]},"349":{"position":[[1936,6],[2115,6]]},"350":{"position":[[1465,6]]},"355":{"position":[[89,6]]},"356":{"position":[[89,6]]},"358":{"position":[[18,6],[173,6],[388,6],[431,6],[535,6],[1023,7],[1207,6],[1495,6],[1587,6],[1764,6],[2006,6],[2222,6],[2240,6],[2697,6],[4695,6],[5927,6],[6371,6],[6428,6],[7277,6],[7957,6],[8087,6],[8163,6]]},"359":{"position":[[50,7],[65,6],[160,6],[199,6],[477,7],[605,6],[1080,7],[1118,6],[1206,6],[1879,6],[1974,6],[2013,6],[2133,6],[2444,6],[2776,6],[2959,6]]},"361":{"position":[[13,6],[99,7],[184,7]]},"367":{"position":[[1,6],[291,6],[436,6],[867,6],[1080,6]]},"368":{"position":[[86,6],[232,6],[385,6],[667,6]]},"369":{"position":[[142,6],[326,6],[1201,6],[1234,6],[1284,6],[1358,6],[1434,6],[1467,6],[1524,6],[1597,6],[1678,6],[1749,6],[1820,6],[2049,6],[2690,6],[2723,6],[2775,6],[2849,6],[2924,6],[2957,6],[3014,6],[3087,6],[3169,6],[3240,6],[3311,6],[3641,6],[3941,6]]},"371":{"position":[[64,6]]},"372":{"position":[[9,6]]},"373":{"position":[[342,7],[490,7]]},"377":{"position":[[30,6],[167,6]]},"378":{"position":[[246,6],[463,6]]},"380":{"position":[[242,6],[362,6],[472,6],[530,6],[580,6],[1504,6]]},"382":{"position":[[1,6],[122,6],[215,6],[270,6],[415,6],[541,6]]},"383":{"position":[[1,6],[115,6],[127,6],[595,6],[657,6],[687,6],[737,6],[783,6],[925,6],[1097,6],[1202,6],[1232,6],[1449,6],[1479,6],[1632,6],[1953,6]]},"385":{"position":[[87,6]]},"387":{"position":[[11,6],[128,6],[280,6],[437,7],[496,6],[652,7],[707,6],[841,6],[1072,6],[1165,6],[1216,6],[1295,6],[1456,6],[1647,6]]},"389":{"position":[[879,8],[1715,7],[2169,6]]},"392":{"position":[[148,6],[360,6],[643,6]]},"393":{"position":[[418,6],[513,6],[594,6],[642,6],[779,6],[848,6]]},"395":{"position":[[118,6],[237,6]]},"396":{"position":[[56,6]]},"400":{"position":[[46,7]]},"402":{"position":[[40,6],[119,6],[136,6],[281,6],[679,6],[1803,8],[4278,6],[5506,6],[5984,6]]},"404":{"position":[[133,7],[2439,6],[2449,6],[2694,6]]},"406":{"position":[[107,6]]},"407":{"position":[[59,6],[201,6],[278,6]]},"412":{"position":[[186,6]]},"414":{"position":[[175,6]]},"416":{"position":[[60,7]]},"439":{"position":[[42,6],[221,6]]},"440":{"position":[[35,6],[220,6],[312,6],[359,6],[511,6],[746,6]]},"441":{"position":[[124,6]]},"443":{"position":[[65,6]]},"445":{"position":[[70,7]]},"447":{"position":[[724,6]]},"450":{"position":[[22,6]]},"452":{"position":[[55,6]]},"457":{"position":[[23,6]]},"462":{"position":[[368,6]]},"464":{"position":[[68,7]]},"472":{"position":[[52,6],[767,6],[924,7]]},"473":{"position":[[407,6]]},"494":{"position":[[88,6]]},"497":{"position":[[50,6]]},"498":{"position":[[5,6]]},"499":{"position":[[5,6]]},"509":{"position":[[116,6],[345,6]]},"512":{"position":[[64,6]]},"516":{"position":[[25,6]]},"526":{"position":[[36,6],[113,6]]},"531":{"position":[[321,6],[674,6]]},"538":{"position":[[96,7],[355,6]]},"539":{"position":[[1,6]]},"540":{"position":[[104,6],[3617,6]]},"542":{"position":[[6,6],[852,6]]},"546":{"position":[[1,6],[208,6]]},"547":{"position":[[205,6],[1217,6]]},"548":{"position":[[170,6]]},"551":{"position":[[559,6]]},"552":{"position":[[1,6],[538,6],[1651,6],[1966,6]]},"554":{"position":[[892,6]]},"559":{"position":[[1,6]]},"561":{"position":[[1,6]]},"562":{"position":[[80,6]]},"563":{"position":[[14,6],[312,6]]},"564":{"position":[[61,6]]},"565":{"position":[[5,6]]},"566":{"position":[[40,6],[410,6],[501,6]]},"568":{"position":[[52,6]]},"569":{"position":[[120,6]]},"571":{"position":[[441,6]]},"572":{"position":[[192,6],[305,6]]},"574":{"position":[[60,6]]},"637":{"position":[[636,6],[891,6]]},"657":{"position":[[1,6],[137,6]]},"659":{"position":[[73,7]]},"660":{"position":[[114,6],[143,6]]},"661":{"position":[[50,6]]},"662":{"position":[[72,6],[139,6]]},"673":{"position":[[169,6]]},"700":{"position":[[283,6]]},"743":{"position":[[42,6]]},"749":{"position":[[44,6]]},"752":{"position":[[39,6]]},"753":{"position":[[44,6]]},"758":{"position":[[77,6]]},"759":{"position":[[86,6]]},"760":{"position":[[44,6]]},"761":{"position":[[12,6]]},"762":{"position":[[15,6]]},"768":{"position":[[73,6]]},"769":{"position":[[83,6]]},"770":{"position":[[59,6]]},"800":{"position":[[72,6],[177,6]]},"806":{"position":[[1,6]]},"807":{"position":[[24,6]]},"808":{"position":[[24,6]]},"809":{"position":[[32,6]]},"811":{"position":[[6,6]]}},"keywords":{}}],["cosmos"",{"_index":2318,"title":{},"content":{"217":{"position":[[1912,12]]}},"keywords":{}}],["cosmos'",{"_index":3711,"title":{},"content":{"385":{"position":[[64,8]]}},"keywords":{}}],["cosmos.cosmo",{"_index":3105,"title":{},"content":{"343":{"position":[[1093,13]]}},"keywords":{}}],["cosmos.localset",{"_index":3955,"title":{},"content":{"404":{"position":[[1035,15]]}},"keywords":{}}],["cosmos/compose.yaml",{"_index":2899,"title":{},"content":{"309":{"position":[[3356,19]]},"310":{"position":[[413,19]]}},"keywords":{}}],["cosmos/openc3",{"_index":2210,"title":{},"content":{"210":{"position":[[13,13],[52,13],[79,13]]}},"keywords":{}}],["cosmos/openc3/coverage/index.html",{"_index":2213,"title":{},"content":{"210":{"position":[[153,33]]}},"keywords":{}}],["cosmos/openc3/python",{"_index":2214,"title":{},"content":{"211":{"position":[[13,20],[59,20],[128,20],[193,20],[239,20]]}},"keywords":{}}],["cosmos/openc3/python/coverage/index.html",{"_index":2221,"title":{},"content":{"211":{"position":[[316,40]]}},"keywords":{}}],["cosmos_host/tools/scriptrunner/$id"",{"_index":1666,"title":{},"content":{"83":{"position":[[3204,41]]}},"keywords":{}}],["cosmos_host='http://localhost:2900",{"_index":1637,"title":{},"content":{"83":{"position":[[2168,35]]}},"keywords":{}}],["cosmosopen",{"_index":1760,"title":{},"content":{"93":{"position":[[294,10]]}},"keywords":{}}],["cost",{"_index":3922,"title":{},"content":{"404":{"position":[[29,4]]}},"keywords":{}}],["cot",{"_index":3103,"title":{},"content":{"343":{"position":[[967,4]]}},"keywords":{}}],["count",{"_index":696,"title":{},"content":{"36":{"position":[[1761,5],[1776,5]]},"48":{"position":[[4493,8]]},"55":{"position":[[1416,5],[1464,8],[1575,5]]},"115":{"position":[[1212,6],[1474,6]]},"229":{"position":[[1761,5],[1776,5]]},"279":{"position":[[1756,5],[1771,5]]},"368":{"position":[[627,7]]},"411":{"position":[[92,6]]},"509":{"position":[[194,6]]},"512":{"position":[[155,7]]},"540":{"position":[[4867,5]]},"542":{"position":[[458,5],[620,7],[654,5],[817,6]]},"546":{"position":[[1381,7]]},"547":{"position":[[938,6]]},"717":{"position":[[94,6],[346,5],[773,6]]},"718":{"position":[[17,5]]},"719":{"position":[[17,6]]},"744":{"position":[[142,6],[273,5]]},"756":{"position":[[262,6],[283,6],[777,6],[802,6],[1346,6],[1373,6]]}},"keywords":{}}],["count"",{"_index":2234,"title":{},"content":{"213":{"position":[[1075,11]]},"253":{"position":[[635,11],[1513,11],[2283,11]]},"299":{"position":[[637,11]]}},"keywords":{}}],["count=1",{"_index":5331,"title":{},"content":{"717":{"position":[[1270,8]]}},"keywords":{}}],["count=1000",{"_index":5326,"title":{},"content":{"717":{"position":[[153,11]]}},"keywords":{}}],["counter",{"_index":1393,"title":{},"content":{"67":{"position":[[3456,7],[3861,7]]},"379":{"position":[[1760,8]]},"540":{"position":[[2067,7],[2982,7]]},"542":{"position":[[406,7]]},"750":{"position":[[94,9]]},"764":{"position":[[87,9]]}},"keywords":{}}],["counter"",{"_index":3665,"title":{},"content":{"379":{"position":[[3373,13],[3428,13]]}},"keywords":{}}],["countri",{"_index":420,"title":{},"content":{"20":{"position":[[453,7]]},"404":{"position":[[1209,7]]},"426":{"position":[[656,7]]}},"keywords":{}}],["coupl",{"_index":548,"title":{},"content":{"24":{"position":[[769,7]]}},"keywords":{}}],["cours",{"_index":3798,"title":{},"content":{"391":{"position":[[581,6]]},"568":{"position":[[919,7]]}},"keywords":{}}],["cover",{"_index":3107,"title":{},"content":{"343":{"position":[[1197,6]]},"546":{"position":[[799,5]]}},"keywords":{}}],["coverag",{"_index":2202,"title":{},"content":{"209":{"position":[[328,8],[449,8],[487,8],[556,8],[590,8],[606,8]]},"210":{"position":[[120,8]]},"211":{"position":[[216,8],[262,8],[283,8]]}},"keywords":{}}],["cp",{"_index":2875,"title":{},"content":{"309":{"position":[[2217,2],[3132,2]]},"376":{"position":[[471,2],[522,2]]}},"keywords":{}}],["cpu",{"_index":2117,"title":{"368":{"position":[[0,4]]}},"content":{"173":{"position":[[19,3]]},"330":{"position":[[377,4],[448,5]]},"368":{"position":[[30,3]]},"369":{"position":[[734,3],[1051,3],[1087,3],[1100,3],[2219,3],[2424,3],[2542,3],[2578,3],[2591,3],[3552,3],[3893,3]]}},"keywords":{}}],["cpu1"",{"_index":3593,"title":{},"content":{"376":{"position":[[706,10]]}},"keywords":{}}],["crc",{"_index":1277,"title":{"65":{"position":[[0,3]]}},"content":{"59":{"position":[[275,3]]},"63":{"position":[[62,3]]},"65":{"position":[[5,3],[26,4],[63,4],[183,3],[246,3],[272,3],[334,3],[478,3],[583,3],[646,3],[747,3],[1021,3],[1184,3]]}},"keywords":{}}],["creat",{"_index":130,"title":{"376":{"position":[[0,6]]},"378":{"position":[[0,8]]},"379":{"position":[[0,8]]},"779":{"position":[[19,8]]}},"content":{"3":{"position":[[679,6]]},"20":{"position":[[199,6],[879,7],[971,7],[1171,7],[1280,7],[1411,7]]},"27":{"position":[[444,7],[558,9],[907,7]]},"36":{"position":[[9062,8]]},"42":{"position":[[2307,7]]},"43":{"position":[[530,6]]},"54":{"position":[[242,6]]},"62":{"position":[[104,7]]},"67":{"position":[[1,8],[118,8],[160,8],[434,6]]},"100":{"position":[[681,6]]},"105":{"position":[[28,7],[106,7]]},"108":{"position":[[27,7]]},"109":{"position":[[1592,6],[2065,6],[2378,6]]},"110":{"position":[[1974,6]]},"115":{"position":[[2046,8]]},"139":{"position":[[313,8]]},"149":{"position":[[1,6],[93,7]]},"150":{"position":[[185,6]]},"174":{"position":[[196,6]]},"214":{"position":[[1065,8]]},"225":{"position":[[569,6]]},"229":{"position":[[9062,8]]},"257":{"position":[[74,8],[300,6],[371,6],[436,6]]},"259":{"position":[[208,6]]},"264":{"position":[[115,6]]},"271":{"position":[[600,6]]},"275":{"position":[[22,7],[355,7]]},"279":{"position":[[7185,8]]},"301":{"position":[[22,7],[106,6],[342,7],[1601,7]]},"302":{"position":[[22,7],[369,7]]},"303":{"position":[[28,7],[419,7]]},"304":{"position":[[26,7],[576,7]]},"305":{"position":[[31,7],[615,7]]},"306":{"position":[[26,7],[605,7],[805,6]]},"307":{"position":[[20,7],[709,7],[1329,6]]},"309":{"position":[[2937,6]]},"319":{"position":[[88,8]]},"326":{"position":[[188,7]]},"330":{"position":[[785,6]]},"331":{"position":[[606,7]]},"332":{"position":[[1402,6]]},"333":{"position":[[834,6]]},"336":{"position":[[45,6]]},"340":{"position":[[154,7],[203,7]]},"349":{"position":[[1433,6],[1999,6],[2617,6],[3191,6],[3349,6],[4870,6],[5663,6]]},"355":{"position":[[160,8],[204,6]]},"358":{"position":[[331,8],[954,6],[1234,6],[1544,6],[2042,7],[2102,6],[2142,7],[2475,7],[2530,6],[2665,7],[3171,7],[5081,7],[6098,6]]},"359":{"position":[[2645,6]]},"369":{"position":[[523,8],[2106,7]]},"378":{"position":[[34,6],[129,6],[288,6],[344,6],[540,7]]},"379":{"position":[[63,6],[199,7]]},"383":{"position":[[183,8],[1188,7],[1436,6],[1731,6]]},"386":{"position":[[168,6],[494,6],[674,6]]},"402":{"position":[[619,8],[1182,8]]},"415":{"position":[[31,6]]},"416":{"position":[[206,8]]},"420":{"position":[[318,7]]},"421":{"position":[[70,8],[497,7]]},"422":{"position":[[426,8],[499,8],[1305,7]]},"440":{"position":[[540,7]]},"450":{"position":[[54,6],[122,7],[308,6]]},"452":{"position":[[344,6],[387,6],[651,7]]},"453":{"position":[[73,6]]},"455":{"position":[[13,7]]},"462":{"position":[[281,6]]},"495":{"position":[[3,6]]},"498":{"position":[[17,7]]},"499":{"position":[[17,7]]},"504":{"position":[[136,8]]},"506":{"position":[[230,7]]},"524":{"position":[[224,7]]},"532":{"position":[[249,6]]},"534":{"position":[[31,8],[695,7]]},"535":{"position":[[24,7]]},"540":{"position":[[4082,6],[4419,8],[4582,7]]},"543":{"position":[[206,6]]},"548":{"position":[[47,6]]},"576":{"position":[[366,8]]},"592":{"position":[[172,8]]},"598":{"position":[[170,6]]},"600":{"position":[[1,7]]},"601":{"position":[[1,7]]},"641":{"position":[[1,7]]},"668":{"position":[[62,6]]},"671":{"position":[[277,7]]},"673":{"position":[[52,6]]},"779":{"position":[[48,6]]},"786":{"position":[[33,6]]},"787":{"position":[[32,6],[748,6]]},"794":{"position":[[1,8]]},"805":{"position":[[53,6]]}},"keywords":{}}],["create_screen",{"_index":5669,"title":{"786":{"position":[[0,14]]}},"content":{"786":{"position":[[5,13]]}},"keywords":{}}],["create_screen("<target",{"_index":5670,"title":{},"content":{"786":{"position":[[174,30]]}},"keywords":{}}],["create_screen("inst"",{"_index":5674,"title":{},"content":{"786":{"position":[[659,31],[931,31]]}},"keywords":{}}],["creation",{"_index":2752,"title":{},"content":{"301":{"position":[[1192,9]]},"351":{"position":[[113,8]]},"421":{"position":[[145,8]]},"422":{"position":[[190,8]]}},"keywords":{}}],["creator",{"_index":2418,"title":{},"content":{"237":{"position":[[78,7]]},"290":{"position":[[133,8]]}},"keywords":{}}],["credenti",{"_index":1689,"title":{},"content":{"85":{"position":[[52,11]]}},"keywords":{}}],["credit",{"_index":4057,"title":{},"content":{"426":{"position":[[1101,6]]},"432":{"position":[[452,6]]}},"keywords":{}}],["criteria",{"_index":5344,"title":{},"content":{"722":{"position":[[116,9]]},"726":{"position":[[129,8]]}},"keywords":{}}],["critic",{"_index":1778,"title":{},"content":{"95":{"position":[[156,8]]},"250":{"position":[[78,8],[143,8]]},"387":{"position":[[633,8]]},"513":{"position":[[609,8],[632,8],[873,8]]}},"keywords":{}}],["cross",{"_index":4577,"title":{},"content":{"571":{"position":[[319,5]]}},"keywords":{}}],["crt",{"_index":528,"title":{"27":{"position":[[8,4]]}},"content":{"24":{"position":[[103,4]]},"26":{"position":[[327,4]]},"27":{"position":[[973,4]]},"332":{"position":[[899,4]]}},"keywords":{}}],["crt/key",{"_index":532,"title":{},"content":{"24":{"position":[[197,7]]}},"keywords":{}}],["cryptic",{"_index":4498,"title":{},"content":{"557":{"position":[[386,8]]}},"keywords":{}}],["css",{"_index":2544,"title":{},"content":{"263":{"position":[[202,4]]},"583":{"position":[[39,3]]},"584":{"position":[[41,3]]},"585":{"position":[[41,3]]},"586":{"position":[[43,3]]},"590":{"position":[[13,3],[77,3],[127,3]]}},"keywords":{}}],["csv",{"_index":3217,"title":{"571":{"position":[[35,3]]}},"content":{"353":{"position":[[63,3]]},"496":{"position":[[265,3]]},"571":{"position":[[249,3],[292,3],[354,5]]}},"keywords":{}}],["csv.read('test.csv",{"_index":4578,"title":{},"content":{"571":{"position":[[369,20]]}},"keywords":{}}],["ct",{"_index":1710,"title":{},"content":{"88":{"position":[[184,4]]},"344":{"position":[[640,4]]},"346":{"position":[[253,3],[414,3],[512,3],[617,3],[795,3],[909,3],[1114,3],[1212,3],[1366,3],[1508,3],[1681,3]]}},"keywords":{}}],["ctrl",{"_index":1056,"title":{},"content":{"44":{"position":[[1564,5]]}},"keywords":{}}],["cubesat",{"_index":1793,"title":{},"content":{"96":{"position":[[314,8]]}},"keywords":{}}],["curl",{"_index":1473,"title":{"80":{"position":[[13,4]]},"81":{"position":[[0,4]]},"82":{"position":[[0,4]]}},"content":{"81":{"position":[[163,4]]},"82":{"position":[[412,4],[4706,4]]},"83":{"position":[[693,4],[1907,4],[2509,4],[3954,4]]},"93":{"position":[[652,5],[659,4]]},"309":{"position":[[1700,4]]},"332":{"position":[[514,4],[1077,4]]},"404":{"position":[[2267,4]]}},"keywords":{}}],["curl"",{"_index":1600,"title":{},"content":{"83":{"position":[[617,10]]}},"keywords":{}}],["curl_arg",{"_index":1641,"title":{},"content":{"83":{"position":[[2299,11]]}},"keywords":{}}],["curl_ca_bundl",{"_index":3062,"title":{},"content":{"332":{"position":[[1259,14]]}},"keywords":{}}],["curr_line_delay",{"_index":5688,"title":{},"content":{"790":{"position":[[105,15]]}},"keywords":{}}],["currenc",{"_index":4051,"title":{},"content":{"426":{"position":[[606,9]]}},"keywords":{}}],["current",{"_index":51,"title":{"398":{"position":[[23,7]]}},"content":{"2":{"position":[[392,7]]},"32":{"position":[[175,7]]},"35":{"position":[[28,7]]},"36":{"position":[[2055,7],[2725,7],[4010,7],[6150,7],[6780,7],[7844,7]]},"37":{"position":[[28,7]]},"48":{"position":[[3171,9]]},"57":{"position":[[187,9]]},"73":{"position":[[129,7]]},"74":{"position":[[152,7]]},"75":{"position":[[151,7]]},"76":{"position":[[143,7]]},"92":{"position":[[122,7],[199,7],[276,7],[360,7]]},"111":{"position":[[170,9]]},"112":{"position":[[107,9]]},"113":{"position":[[111,9]]},"114":{"position":[[72,9]]},"175":{"position":[[47,7]]},"222":{"position":[[148,9]]},"223":{"position":[[144,9]]},"228":{"position":[[36,7]]},"229":{"position":[[2055,7],[2725,7],[4010,7],[6150,7],[6780,7],[7844,7]]},"230":{"position":[[36,7]]},"231":{"position":[[52,7]]},"232":{"position":[[52,7]]},"233":{"position":[[36,7]]},"234":{"position":[[36,7]]},"240":{"position":[[25,7]]},"241":{"position":[[16,7]]},"275":{"position":[[741,7]]},"278":{"position":[[33,7]]},"279":{"position":[[1950,7],[2962,7],[4629,7],[5317,7],[6440,7],[10451,7]]},"280":{"position":[[33,7]]},"281":{"position":[[33,7]]},"282":{"position":[[33,7]]},"283":{"position":[[33,7]]},"284":{"position":[[33,7]]},"287":{"position":[[25,7]]},"305":{"position":[[838,7]]},"309":{"position":[[2665,7],[2727,7]]},"315":{"position":[[205,7]]},"343":{"position":[[483,7]]},"345":{"position":[[362,7],[542,7]]},"346":{"position":[[1439,7]]},"347":{"position":[[55,9],[271,9]]},"349":{"position":[[221,9],[2204,9]]},"352":{"position":[[1061,7]]},"382":{"position":[[262,7]]},"390":{"position":[[106,9]]},"399":{"position":[[54,9]]},"401":{"position":[[35,9]]},"402":{"position":[[4443,7],[5039,7]]},"428":{"position":[[109,7]]},"440":{"position":[[619,7]]},"441":{"position":[[86,7]]},"455":{"position":[[679,7]]},"461":{"position":[[39,7]]},"472":{"position":[[105,7]]},"473":{"position":[[215,7],[1461,7]]},"478":{"position":[[39,7]]},"487":{"position":[[89,7],[232,7]]},"489":{"position":[[76,7]]},"495":{"position":[[74,7],[99,7],[124,7]]},"502":{"position":[[38,7]]},"521":{"position":[[57,7]]},"528":{"position":[[150,9],[190,7],[216,7],[255,7]]},"529":{"position":[[349,9],[456,9]]},"530":{"position":[[303,9]]},"531":{"position":[[185,7],[423,7],[530,7]]},"535":{"position":[[890,7]]},"552":{"position":[[145,7]]},"620":{"position":[[20,7]]},"621":{"position":[[20,7]]},"658":{"position":[[366,9]]},"662":{"position":[[85,9]]},"704":{"position":[[24,7]]},"711":{"position":[[364,7]]},"714":{"position":[[29,9]]},"737":{"position":[[10,7]]},"738":{"position":[[25,7]]},"750":{"position":[[70,7]]},"764":{"position":[[63,7]]},"790":{"position":[[54,9]]},"807":{"position":[[16,7]]},"808":{"position":[[16,7]]}},"keywords":{}}],["cursor",{"_index":3169,"title":{},"content":{"349":{"position":[[3872,6],[3945,7]]},"531":{"position":[[447,6]]},"627":{"position":[[32,7]]}},"keywords":{}}],["custom",{"_index":671,"title":{"67":{"position":[[0,6]]},"115":{"position":[[0,6]]},"318":{"position":[[0,6]]},"319":{"position":[[0,6]]},"565":{"position":[[6,6]]}},"content":{"36":{"position":[[631,6],[705,6],[4070,6]]},"50":{"position":[[853,6]]},"62":{"position":[[55,6]]},"67":{"position":[[12,6],[75,11],[169,6],[443,6],[590,6]]},"69":{"position":[[34,6]]},"119":{"position":[[175,6]]},"139":{"position":[[331,6]]},"140":{"position":[[105,6]]},"203":{"position":[[10,6],[35,6],[347,6]]},"229":{"position":[[631,6],[705,6],[4070,6]]},"240":{"position":[[94,6]]},"279":{"position":[[626,6],[700,6],[3019,6]]},"287":{"position":[[103,6]]},"302":{"position":[[1365,6],[1418,6],[1449,6]]},"303":{"position":[[908,6]]},"306":{"position":[[140,6]]},"307":{"position":[[160,6]]},"319":{"position":[[70,6]]},"320":{"position":[[640,6],[1865,6]]},"342":{"position":[[644,6]]},"343":{"position":[[1222,6]]},"351":{"position":[[67,6]]},"383":{"position":[[519,6]]},"387":{"position":[[1604,6]]},"389":{"position":[[1899,9]]},"392":{"position":[[695,10]]},"393":{"position":[[325,9],[1166,9]]},"404":{"position":[[1571,13]]},"426":{"position":[[150,9]]},"432":{"position":[[719,8]]},"498":{"position":[[545,6]]},"499":{"position":[[494,6]]},"501":{"position":[[60,6]]},"504":{"position":[[334,11]]},"576":{"position":[[375,6],[406,6]]},"631":{"position":[[12,6]]},"645":{"position":[[35,6]]},"660":{"position":[[101,6],[213,6]]},"741":{"position":[[1600,6]]},"758":{"position":[[123,6]]},"759":{"position":[[131,6]]},"768":{"position":[[116,6]]},"769":{"position":[[128,6]]}},"keywords":{}}],["custom_validator.pi",{"_index":2456,"title":{},"content":{"251":{"position":[[1424,20]]}},"keywords":{}}],["custom_validator.rb",{"_index":2440,"title":{},"content":{"251":{"position":[[571,19],[602,20],[1393,19]]}},"keywords":{}}],["customiz",{"_index":1824,"title":{},"content":{"100":{"position":[[420,12]]}},"keywords":{}}],["customvalid",{"_index":2442,"title":{},"content":{"251":{"position":[[672,15]]}},"keywords":{}}],["customvalidator(commandvalid",{"_index":2457,"title":{},"content":{"251":{"position":[[1451,34]]}},"keywords":{}}],["cut",{"_index":1360,"title":{},"content":{"67":{"position":[[496,3]]},"349":{"position":[[1602,4]]}},"keywords":{}}],["cx",{"_index":788,"title":{},"content":{"36":{"position":[[6356,2],[7152,2]]},"229":{"position":[[6356,2],[7152,2]]},"279":{"position":[[4895,2],[5753,2]]}},"keywords":{}}],["cycl",{"_index":2044,"title":{},"content":{"138":{"position":[[397,7],[454,5],[469,5],[489,5],[531,7],[576,5],[608,5],[637,5],[653,5],[720,6],[751,5],[781,5],[806,5],[823,5]]},"153":{"position":[[28,6]]},"154":{"position":[[28,6]]},"156":{"position":[[35,6]]},"157":{"position":[[35,6]]},"160":{"position":[[30,6]]},"161":{"position":[[30,6]]},"163":{"position":[[37,6]]},"164":{"position":[[37,6]]}},"keywords":{}}],["cycle_tim",{"_index":3086,"title":{},"content":{"338":{"position":[[677,10]]}},"keywords":{}}],["d",{"_index":1481,"title":{},"content":{"81":{"position":[[261,1]]},"82":{"position":[[484,1],[6014,1]]},"93":{"position":[[665,1]]},"424":{"position":[[972,2]]}},"keywords":{}}],["d4",{"_index":3416,"title":{},"content":{"369":{"position":[[67,3]]}},"keywords":{}}],["d842f813f1c7",{"_index":3672,"title":{},"content":{"380":{"position":[[452,12]]}},"keywords":{}}],["daemon",{"_index":2835,"title":{},"content":{"309":{"position":[[327,6]]},"333":{"position":[[556,6]]}},"keywords":{}}],["daili",{"_index":2046,"title":{},"content":{"138":{"position":[[667,5]]}},"keywords":{}}],["damag",{"_index":3783,"title":{},"content":{"390":{"position":[[981,7]]},"424":{"position":[[1941,7]]}},"keywords":{}}],["danger",{"_index":3988,"title":{},"content":{"414":{"position":[[132,10]]}},"keywords":{}}],["darken",{"_index":4686,"title":{},"content":{"611":{"position":[[183,7]]},"635":{"position":[[74,7]]}},"keywords":{}}],["dash",{"_index":4243,"title":{},"content":{"506":{"position":[[513,4]]}},"keywords":{}}],["dashboard",{"_index":1799,"title":{},"content":{"96":{"position":[[473,10]]}},"keywords":{}}],["data",{"_index":48,"title":{"353":{"position":[[0,4]]},"354":{"position":[[0,4]]},"458":{"position":[[0,4]]},"460":{"position":[[0,4]]},"475":{"position":[[0,4]]},"477":{"position":[[0,4]]},"715":{"position":[[7,4]]},"770":{"position":[[9,5]]}},"content":{"2":{"position":[[323,4],[424,4],[461,5],[477,4],[529,5],[610,5]]},"5":{"position":[[842,4]]},"31":{"position":[[556,4],[703,5]]},"33":{"position":[[165,4]]},"35":{"position":[[609,4],[650,4],[660,4],[754,4],[1253,4],[1417,4],[1784,4]]},"36":{"position":[[658,4],[680,4],[10359,4]]},"37":{"position":[[402,4],[443,4],[453,4],[547,4],[1046,4],[1210,4],[1577,4]]},"39":{"position":[[272,4],[304,4]]},"48":{"position":[[119,5],[210,4],[630,4],[648,4],[805,4],[819,4],[1128,4],[1149,4],[1479,4],[1719,4],[2094,4],[2133,4],[2210,4],[2352,4],[3053,4],[3474,4],[3589,4],[3631,4],[3669,4],[3746,5],[3759,4],[3786,4],[3813,4],[3857,4],[4204,4],[4236,4],[4551,4],[4880,4],[5194,4]]},"51":{"position":[[84,4],[429,4],[477,4]]},"52":{"position":[[242,4],[267,4],[370,4]]},"53":{"position":[[41,4],[96,4],[159,4],[213,4],[393,4],[463,4],[612,4],[847,5],[904,4]]},"54":{"position":[[53,4],[202,4],[1010,4],[1245,5],[1302,4],[1405,4]]},"55":{"position":[[132,4],[1149,4],[1791,4],[2004,4],[2145,5],[2202,4],[2917,4],[3065,5],[3144,5]]},"56":{"position":[[129,4],[214,5],[298,4],[508,4],[916,4],[1147,5],[1204,4]]},"58":{"position":[[190,5],[268,4],[315,4]]},"60":{"position":[[167,5],[419,4],[650,5],[707,4]]},"61":{"position":[[1095,4],[1321,4],[1725,4],[2088,4],[2319,5],[2376,4]]},"62":{"position":[[437,5],[494,4]]},"64":{"position":[[868,5]]},"65":{"position":[[489,5],[1156,4]]},"67":{"position":[[2040,4],[2196,4],[2247,4],[2293,4],[2432,4],[2538,4],[2643,4],[2892,4],[2981,5],[2994,4],[3322,4],[3761,4],[4110,4],[4389,4],[4557,5],[4625,4],[4677,4],[4921,4]]},"69":{"position":[[250,4]]},"73":{"position":[[72,4],[150,4],[204,5],[277,4],[433,4],[918,4],[984,5],[1329,6],[1406,4],[1730,5]]},"76":{"position":[[65,4],[164,4],[227,5],[280,5],[312,4],[471,4],[699,4],[766,5],[792,6],[847,4]]},"77":{"position":[[49,4],[348,4],[988,5],[1009,4],[1094,5],[1129,5]]},"83":{"position":[[2987,4]]},"91":{"position":[[784,4],[1190,4],[1470,4]]},"92":{"position":[[579,4],[899,4]]},"96":{"position":[[290,4]]},"100":{"position":[[1016,4]]},"101":{"position":[[107,4]]},"106":{"position":[[186,4]]},"107":{"position":[[768,4]]},"109":{"position":[[2285,4],[2606,4]]},"111":{"position":[[1128,4]]},"115":{"position":[[565,4],[625,4],[756,4],[1239,4],[1501,4],[1678,4],[1852,4],[1915,4],[2015,5]]},"117":{"position":[[340,4]]},"123":{"position":[[109,4]]},"130":{"position":[[239,4],[383,4]]},"131":{"position":[[284,4],[296,4],[480,4],[492,4]]},"132":{"position":[[287,4],[299,4],[486,4],[498,4]]},"138":{"position":[[24,4],[510,4]]},"139":{"position":[[65,4],[150,4],[205,4],[446,5],[461,5],[816,4],[1105,4]]},"140":{"position":[[421,4]]},"172":{"position":[[14,4]]},"173":{"position":[[47,4]]},"183":{"position":[[540,4]]},"203":{"position":[[446,4]]},"213":{"position":[[32,4],[124,4]]},"214":{"position":[[69,4],[355,5],[1193,4],[1609,5]]},"215":{"position":[[669,5]]},"218":{"position":[[30,4],[85,4],[151,4],[392,5],[1387,5]]},"220":{"position":[[302,5],[1468,5]]},"225":{"position":[[857,4],[1004,5],[1210,4],[1261,4]]},"226":{"position":[[312,4]]},"228":{"position":[[638,4],[679,4],[689,4],[783,4],[1282,4],[1446,4],[1813,4],[2042,4]]},"229":{"position":[[658,4],[680,4],[10359,4]]},"230":{"position":[[421,4],[462,4],[472,4],[566,4],[1065,4],[1229,4],[1596,4]]},"231":{"position":[[131,4],[243,4],[808,4],[849,4],[859,4],[953,4],[1234,4],[1426,4],[1590,4],[1957,4]]},"232":{"position":[[131,4],[243,4],[644,4],[685,4],[695,4],[789,4],[1070,4],[1262,4],[1426,4],[1793,4]]},"233":{"position":[[444,4],[454,4],[829,4]]},"234":{"position":[[227,4],[237,4],[612,4]]},"236":{"position":[[285,4]]},"240":{"position":[[47,4],[69,4]]},"258":{"position":[[1297,4]]},"267":{"position":[[23,4],[167,5],[358,4],[572,4]]},"271":{"position":[[881,4],[1028,5],[1276,4],[1329,4],[1398,4],[1408,4],[1539,4],[1581,4],[1685,5]]},"272":{"position":[[58,4],[166,4],[398,4]]},"273":{"position":[[101,4]]},"274":{"position":[[108,5],[271,4],[476,4]]},"275":{"position":[[326,5],[378,4],[669,4]]},"276":{"position":[[341,4]]},"278":{"position":[[636,4],[677,4],[687,4],[1113,4]]},"279":{"position":[[653,4],[675,4]]},"280":{"position":[[428,4],[469,4],[479,4]]},"281":{"position":[[174,5],[686,4],[696,4]]},"282":{"position":[[355,4],[365,4]]},"283":{"position":[[437,4],[447,4],[822,4]]},"284":{"position":[[229,4],[239,4],[614,4]]},"286":{"position":[[266,4]]},"287":{"position":[[56,4],[78,4]]},"289":{"position":[[119,4]]},"299":{"position":[[696,4]]},"306":{"position":[[816,4]]},"312":{"position":[[69,4],[136,4],[179,4]]},"314":{"position":[[824,4],[1933,4]]},"320":{"position":[[350,6],[380,4]]},"321":{"position":[[227,5],[444,4]]},"330":{"position":[[978,5],[1207,4]]},"338":{"position":[[92,5],[320,5],[580,4]]},"343":{"position":[[414,4],[515,4],[552,5],[568,4],[620,5],[701,5],[1622,5]]},"346":{"position":[[682,4],[983,4]]},"351":{"position":[[165,5],[433,5],[478,5]]},"352":{"position":[[230,4],[409,4],[469,4],[488,4],[668,4],[759,4],[955,4]]},"353":{"position":[[1,4],[33,4],[51,4],[155,4],[260,4],[349,4],[446,4],[622,4],[707,4],[793,4]]},"354":{"position":[[1,4],[177,4],[234,4],[349,4],[451,4],[535,5],[546,4],[590,4],[635,5],[646,4]]},"358":{"position":[[5762,4],[5780,4],[8012,4]]},"362":{"position":[[27,4],[68,4],[138,5]]},"363":{"position":[[131,4]]},"364":{"position":[[189,4],[255,4],[350,5]]},"365":{"position":[[177,4]]},"367":{"position":[[420,4],[757,4]]},"368":{"position":[[185,4],[213,4]]},"369":{"position":[[2345,4]]},"382":{"position":[[608,4]]},"387":{"position":[[464,4]]},"401":{"position":[[288,4]]},"402":{"position":[[1137,4],[1364,6],[1398,4],[2108,4],[2143,4],[2221,4],[3280,4],[4826,5],[4832,4],[4918,4],[5245,4],[5312,4],[5390,4],[6205,5]]},"404":{"position":[[610,4]]},"414":{"position":[[118,5]]},"424":{"position":[[304,4],[410,4],[1083,4],[1259,4],[1345,4],[1374,4],[1436,4],[1826,5]]},"429":{"position":[[166,4],[265,4]]},"430":{"position":[[708,4]]},"431":{"position":[[422,4],[560,5],[652,4]]},"432":{"position":[[99,4]]},"452":{"position":[[41,4],[329,5]]},"459":{"position":[[1,4],[39,4],[63,4]]},"462":{"position":[[21,4],[205,5]]},"476":{"position":[[1,4],[162,4]]},"481":{"position":[[1,4]]},"482":{"position":[[1,4]]},"484":{"position":[[229,4]]},"522":{"position":[[553,4],[741,4],[844,4],[926,4]]},"562":{"position":[[32,4]]},"571":{"position":[[282,4]]},"574":{"position":[[114,5]]},"579":{"position":[[417,4]]},"609":{"position":[[16,4]]},"610":{"position":[[16,4]]},"611":{"position":[[40,4]]},"626":{"position":[[306,5],[431,4],[1033,5],[1158,4],[1480,4]]},"627":{"position":[[340,5],[465,4],[674,4],[1086,5],[1211,4],[1533,4]]},"628":{"position":[[324,5],[449,4],[641,4],[1058,5],[1183,4],[1505,4]]},"629":{"position":[[324,4]]},"640":{"position":[[179,4]]},"664":{"position":[[116,4]]},"670":{"position":[[438,4],[447,4]]},"686":{"position":[[11,4],[180,4],[189,4],[213,4],[283,5]]},"715":{"position":[[48,5],[184,4]]},"716":{"position":[[64,4],[134,5]]},"717":{"position":[[16,4]]},"754":{"position":[[23,4],[274,4],[351,4],[385,5]]},"755":{"position":[[22,4],[271,4],[348,4],[381,5]]},"766":{"position":[[23,4],[259,4],[333,4],[367,5]]},"767":{"position":[[22,4],[256,4],[330,4],[363,5]]},"770":{"position":[[49,4]]},"800":{"position":[[57,4],[155,4]]},"808":{"position":[[937,7],[1032,7],[1146,7],[1253,7]]},"809":{"position":[[12,4]]}},"keywords":{}}],["data"",{"_index":1149,"title":{},"content":{"50":{"position":[[489,11]]},"109":{"position":[[2312,10],[2630,10]]},"228":{"position":[[2262,10]]},"253":{"position":[[114,10],[1698,10]]},"278":{"position":[[1144,10]]},"499":{"position":[[874,11]]},"705":{"position":[[459,11]]}},"keywords":{}}],["data.length",{"_index":1434,"title":{},"content":{"73":{"position":[[655,12]]}},"keywords":{}}],["data_bit",{"_index":1915,"title":{},"content":{"111":{"position":[[1108,9],[1956,9]]},"140":{"position":[[393,9],[775,9]]},"314":{"position":[[866,9],[1423,9],[1440,9]]}},"keywords":{}}],["data_int",{"_index":2023,"title":{},"content":{"130":{"position":[[147,8],[273,8]]},"139":{"position":[[726,8],[995,8]]}},"keywords":{}}],["data_typ",{"_index":5161,"title":{},"content":{"690":{"position":[[1263,12]]}},"keywords":{}}],["data_uploader.rb'class",{"_index":4347,"title":{},"content":{"540":{"position":[[1665,23]]}},"keywords":{}}],["data_view",{"_index":5803,"title":{},"content":{"812":{"position":[[320,14]]}},"keywords":{}}],["databas",{"_index":2525,"title":{},"content":{"258":{"position":[[1826,8]]},"382":{"position":[[567,9]]},"414":{"position":[[73,9]]},"455":{"position":[[899,8],[939,8],[1317,9],[1545,8],[1700,9]]}},"keywords":{}}],["dataencod",{"_index":3842,"title":{},"content":{"398":{"position":[[90,13]]}},"keywords":{}}],["datasourc",{"_index":3382,"title":{},"content":{"365":{"position":[[231,12]]}},"keywords":{}}],["datasource.yaml",{"_index":3380,"title":{},"content":{"365":{"position":[[200,15],[441,15]]}},"keywords":{}}],["dataupload",{"_index":4346,"title":{},"content":{"540":{"position":[[1647,12]]}},"keywords":{}}],["datavi",{"_index":2809,"title":{},"content":{"307":{"position":[[595,7],[608,7],[655,7],[1036,8],[1804,7]]}},"keywords":{}}],["dataview",{"_index":4157,"title":{},"content":{"462":{"position":[[1,10],[299,10]]}},"keywords":{}}],["date",{"_index":1113,"title":{"640":{"position":[[0,5]]}},"content":{"48":{"position":[[2960,6],[3386,6]]},"81":{"position":[[806,5]]},"82":{"position":[[1255,5],[6547,5]]},"83":{"position":[[3092,7]]},"275":{"position":[[814,4],[995,4],[1107,4]]},"338":{"position":[[151,5]]},"339":{"position":[[102,4]]},"424":{"position":[[1017,5]]},"437":{"position":[[192,6]]},"446":{"position":[[174,4],[194,4]]},"449":{"position":[[177,5]]},"481":{"position":[[107,4],[120,4],[145,4],[205,5]]},"522":{"position":[[703,4],[893,4],[978,4]]},"640":{"position":[[12,4],[194,7],[251,5],[262,4],[365,4],[370,4]]}},"keywords":{}}],["date/tim",{"_index":4191,"title":{"481":{"position":[[10,10]]}},"content":{},"keywords":{}}],["day",{"_index":414,"title":{},"content":{"20":{"position":[[365,4],[1074,4]]},"42":{"position":[[1164,4],[1227,4],[1286,4],[1346,4],[1408,4],[1468,4],[1527,4],[1586,4]]},"168":{"position":[[26,3],[127,3]]},"299":{"position":[[846,3]]},"522":{"position":[[541,4]]}},"keywords":{}}],["de",{"_index":1939,"title":{},"content":{"112":{"position":[[791,3]]},"353":{"position":[[255,2],[344,2],[441,2],[617,2],[702,2],[788,2]]}},"keywords":{}}],["deal",{"_index":3788,"title":{},"content":{"390":{"position":[[1142,8]]},"730":{"position":[[15,4]]}},"keywords":{}}],["death",{"_index":116,"title":{},"content":{"3":{"position":[[497,6]]}},"keywords":{}}],["debian_frontend=noninteract",{"_index":3572,"title":{},"content":{"376":{"position":[[34,30]]}},"keywords":{}}],["debug",{"_index":825,"title":{"93":{"position":[[8,10]]},"536":{"position":[[0,9]]},"553":{"position":[[0,9]]},"554":{"position":[[9,9]]},"796":{"position":[[14,10]]}},"content":{"36":{"position":[[9156,5]]},"44":{"position":[[1490,9]]},"93":{"position":[[84,5],[196,5]]},"138":{"position":[[205,9]]},"229":{"position":[[9156,5]]},"279":{"position":[[7277,5]]},"349":{"position":[[4572,5],[4597,9],[4641,6]]},"529":{"position":[[238,5]]},"535":{"position":[[1397,5]]},"536":{"position":[[21,5]]},"554":{"position":[[28,9],[217,9],[267,6],[325,6],[575,5],[729,5],[1057,5]]},"555":{"position":[[222,5]]},"569":{"position":[[557,5],[603,6]]},"754":{"position":[[66,9]]},"755":{"position":[[65,9]]},"766":{"position":[[63,9]]},"767":{"position":[[62,9]]},"796":{"position":[[33,5]]}},"keywords":{}}],["decemb",{"_index":3033,"title":{},"content":{"330":{"position":[[1557,8]]}},"keywords":{}}],["decid",{"_index":3146,"title":{},"content":{"349":{"position":[[398,6]]},"435":{"position":[[223,6]]}},"keywords":{}}],["declar",{"_index":324,"title":{},"content":{"12":{"position":[[66,7]]},"48":{"position":[[420,11],[1369,11],[1389,8],[1561,11],[1581,8],[1870,12],[1913,11],[1957,11],[2532,12],[2575,11],[2619,11],[5031,12],[5074,11],[5118,11]]},"54":{"position":[[877,7]]},"117":{"position":[[616,8]]},"125":{"position":[[71,8]]},"263":{"position":[[237,11]]},"274":{"position":[[538,8]]},"319":{"position":[[168,7]]},"338":{"position":[[715,8]]},"358":{"position":[[7307,8],[7534,8]]},"540":{"position":[[560,8],[875,8],[969,9],[1998,7],[2913,7],[4056,7],[4204,7]]},"583":{"position":[[159,8]]},"584":{"position":[[163,8]]},"585":{"position":[[159,8]]},"586":{"position":[[161,8]]},"612":{"position":[[1130,9]]},"619":{"position":[[1062,9]]}},"keywords":{}}],["declaract",{"_index":1075,"title":{},"content":{"48":{"position":[[443,12]]}},"keywords":{}}],["declin",{"_index":3139,"title":{},"content":{"348":{"position":[[2053,9]]}},"keywords":{}}],["decod",{"_index":1217,"title":{},"content":{"55":{"position":[[163,7]]},"223":{"position":[[308,8]]}},"keywords":{}}],["decom",{"_index":1288,"title":{},"content":{"60":{"position":[[161,5]]},"158":{"position":[[18,5],[111,5]]},"165":{"position":[[18,5],[113,5]]},"174":{"position":[[383,6]]},"402":{"position":[[3018,6],[3988,6]]},"626":{"position":[[323,6],[344,6],[479,6],[1050,6],[1071,6],[1206,6]]},"627":{"position":[[357,6],[378,6],[513,6],[1103,6],[1124,6],[1259,6]]},"628":{"position":[[341,6],[362,6],[497,6],[1075,6],[1096,6],[1231,6]]}},"keywords":{}}],["decom_log",{"_index":3078,"title":{"338":{"position":[[0,10]]}},"content":{"338":{"position":[[5,10]]}},"keywords":{}}],["decom_microservic",{"_index":2140,"title":{},"content":{"183":{"position":[[113,18]]},"184":{"position":[[120,18]]}},"keywords":{}}],["decomcmdlog",{"_index":2126,"title":{},"content":{"174":{"position":[[402,12]]}},"keywords":{}}],["decomlog",{"_index":2128,"title":{},"content":{"174":{"position":[[426,9]]}},"keywords":{}}],["decommut",{"_index":56,"title":{},"content":{"2":{"position":[[448,12],[584,13]]},"46":{"position":[[114,12]]},"48":{"position":[[2156,13],[2221,14],[2947,12],[3373,12],[4437,12],[4538,12]]},"156":{"position":[[9,13]]},"157":{"position":[[9,13]]},"163":{"position":[[11,13]]},"164":{"position":[[11,13]]},"338":{"position":[[49,12]]},"343":{"position":[[539,12],[675,13]]},"344":{"position":[[473,11]]},"367":{"position":[[744,12]]},"368":{"position":[[164,13]]},"402":{"position":[[367,12],[5410,12]]}},"keywords":{}}],["decomut",{"_index":2519,"title":{},"content":{"258":{"position":[[1285,11]]}},"keywords":{}}],["decor",{"_index":4667,"title":{"603":{"position":[[0,10]]}},"content":{"603":{"position":[[3,10]]}},"keywords":{}}],["decrypt",{"_index":588,"title":{},"content":{"27":{"position":[[795,7],[991,9]]},"109":{"position":[[1141,7]]},"110":{"position":[[1475,7]]},"332":{"position":[[83,10]]}},"keywords":{}}],["decrypted.key",{"_index":590,"title":{},"content":{"27":{"position":[[863,14]]}},"keywords":{}}],["decryptor",{"_index":3047,"title":{},"content":{"332":{"position":[[481,9]]}},"keywords":{}}],["dedic",{"_index":3406,"title":{},"content":{"368":{"position":[[463,9]]},"406":{"position":[[20,9]]}},"keywords":{}}],["def",{"_index":768,"title":{},"content":{"36":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"69":{"position":[[255,3],[431,3]]},"70":{"position":[[276,3],[327,3]]},"71":{"position":[[139,3],[206,3]]},"72":{"position":[[145,3],[215,3]]},"73":{"position":[[632,3],[964,3]]},"74":{"position":[[813,3],[892,3]]},"75":{"position":[[674,3],[754,3]]},"76":{"position":[[671,3],[745,3]]},"77":{"position":[[955,3],[1055,3]]},"78":{"position":[[216,3],[357,3]]},"229":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"251":{"position":[[1056,3],[1243,3],[1824,3],[2028,3]]},"279":{"position":[[4073,3],[4142,3],[4404,3],[4491,3]]},"533":{"position":[[425,3],[462,3],[505,3],[654,3],[696,3],[744,3]]},"534":{"position":[[164,3],[209,3],[252,3],[386,3],[435,3],[483,3]]},"540":{"position":[[2104,3],[3019,3]]},"544":{"position":[[654,3],[732,3],[1332,3],[1611,3]]},"550":{"position":[[313,3],[422,3],[544,3],[654,3]]},"551":{"position":[[802,3],[841,3],[918,3],[978,3],[1255,3],[1297,3],[1381,3],[1444,3]]},"561":{"position":[[345,3],[647,3]]},"564":{"position":[[328,3],[506,3]]},"572":{"position":[[546,3],[621,3]]},"795":{"position":[[1134,3],[1221,3],[1263,3],[1309,3],[1391,3],[1674,3],[1754,3],[1804,3],[1858,3],[1933,3]]}},"keywords":{}}],["default",{"_index":350,"title":{"39":{"position":[[0,8]]}},"content":{"13":{"position":[[218,8]]},"14":{"position":[[187,8]]},"20":{"position":[[554,8],[603,8],[939,7]]},"29":{"position":[[115,8]]},"35":{"position":[[974,7],[988,7],[1041,7],[1519,7],[1572,7]]},"36":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8595,7],[9701,7]]},"37":{"position":[[767,7],[781,7],[834,7],[1312,7],[1365,7]]},"39":{"position":[[9,7],[103,7]]},"43":{"position":[[811,7]]},"65":{"position":[[787,7],[922,7],[1056,7],[1200,7]]},"67":{"position":[[54,7],[207,10],[2813,7],[3618,7]]},"78":{"position":[[256,7],[404,7]]},"82":{"position":[[180,7]]},"87":{"position":[[101,8],[170,7]]},"91":{"position":[[757,7]]},"115":{"position":[[889,7],[991,7]]},"126":{"position":[[780,7],[794,7]]},"135":{"position":[[294,7]]},"138":{"position":[[419,7],[553,7],[912,7]]},"140":{"position":[[369,9],[576,8]]},"144":{"position":[[227,7]]},"152":{"position":[[140,8]]},"153":{"position":[[129,8]]},"154":{"position":[[140,8]]},"155":{"position":[[126,8]]},"156":{"position":[[136,8]]},"157":{"position":[[147,8]]},"158":{"position":[[130,8]]},"159":{"position":[[149,8]]},"160":{"position":[[131,8]]},"161":{"position":[[142,8]]},"162":{"position":[[130,8]]},"163":{"position":[[138,8]]},"164":{"position":[[149,8]]},"165":{"position":[[134,8]]},"166":{"position":[[152,8]]},"167":{"position":[[148,8]]},"168":{"position":[[146,8]]},"169":{"position":[[146,8]]},"170":{"position":[[146,8]]},"171":{"position":[[135,8]]},"173":{"position":[[121,8]]},"182":{"position":[[228,7]]},"194":{"position":[[72,8],[176,8]]},"195":{"position":[[100,8],[199,8]]},"213":{"position":[[424,7],[641,7],[1013,7]]},"217":{"position":[[184,7],[1414,7]]},"228":{"position":[[1003,7],[1017,7],[1070,7],[1548,7],[1601,7]]},"229":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8595,7],[9701,7]]},"230":{"position":[[786,7],[800,7],[853,7],[1331,7],[1384,7]]},"231":{"position":[[1692,7],[1745,7]]},"232":{"position":[[1528,7],[1581,7]]},"242":{"position":[[155,8]]},"243":{"position":[[81,7]]},"244":{"position":[[79,7]]},"275":{"position":[[413,8]]},"279":{"position":[[1797,8],[1888,8],[8550,8],[10267,7]]},"285":{"position":[[510,7]]},"291":{"position":[[155,8]]},"296":{"position":[[584,7]]},"302":{"position":[[559,7],[997,8]]},"303":{"position":[[651,7]]},"305":{"position":[[1332,7]]},"309":{"position":[[2829,7]]},"314":{"position":[[363,7],[1018,8],[1662,7]]},"315":{"position":[[175,8],[279,9],[476,9]]},"320":{"position":[[322,7]]},"330":{"position":[[950,7]]},"333":{"position":[[1154,7]]},"338":{"position":[[434,7]]},"358":{"position":[[1756,7],[2835,7],[3690,7],[3901,7],[4171,7],[4497,7],[7016,7],[7570,8]]},"359":{"position":[[1260,7],[1433,7],[2519,7]]},"368":{"position":[[78,7]]},"369":{"position":[[2083,7]]},"389":{"position":[[13,7]]},"402":{"position":[[1746,10]]},"404":{"position":[[1082,7]]},"440":{"position":[[183,8]]},"446":{"position":[[4,8]]},"461":{"position":[[84,8]]},"472":{"position":[[166,9],[706,7]]},"478":{"position":[[96,8]]},"482":{"position":[[143,8],[402,8]]},"489":{"position":[[137,8]]},"502":{"position":[[83,8]]},"521":{"position":[[102,8]]},"522":{"position":[[493,7]]},"530":{"position":[[93,7]]},"535":{"position":[[170,7],[461,7]]},"552":{"position":[[688,7]]},"556":{"position":[[278,8]]},"560":{"position":[[201,7],[550,7]]},"579":{"position":[[248,7]]},"583":{"position":[[58,7]]},"584":{"position":[[60,7]]},"585":{"position":[[60,7]]},"586":{"position":[[62,7]]},"594":{"position":[[59,8],[318,8]]},"595":{"position":[[293,8]]},"596":{"position":[[166,8]]},"597":{"position":[[251,8]]},"598":{"position":[[212,8]]},"599":{"position":[[221,8],[273,8]]},"609":{"position":[[213,8],[263,8],[340,8],[406,8],[471,7]]},"610":{"position":[[213,8],[263,8],[340,8],[402,8],[460,8],[555,8],[658,7]]},"611":{"position":[[643,7],[796,8]]},"612":{"position":[[207,7],[317,8],[370,8],[452,7]]},"613":{"position":[[329,7],[383,8],[455,7]]},"614":{"position":[[228,7],[381,8]]},"615":{"position":[[243,8],[374,7],[527,8]]},"616":{"position":[[248,7],[401,8]]},"617":{"position":[[251,7],[404,8]]},"618":{"position":[[525,7],[678,8],[728,8],[781,8]]},"619":{"position":[[66,7],[515,7],[625,8],[678,8]]},"620":{"position":[[244,7],[353,8],[406,8]]},"621":{"position":[[242,7],[351,8],[404,8]]},"622":{"position":[[228,7],[336,8],[397,8]]},"623":{"position":[[217,7],[370,8]]},"624":{"position":[[220,7],[373,8]]},"625":{"position":[[494,7],[647,8],[697,8],[750,8]]},"626":{"position":[[214,7],[312,7],[941,7],[1039,7]]},"627":{"position":[[248,7],[346,7],[994,7],[1092,7]]},"628":{"position":[[232,7],[330,7],[966,7],[1064,7]]},"630":{"position":[[337,7],[391,8],[465,7]]},"631":{"position":[[504,7],[613,8],[666,8]]},"633":{"position":[[260,7],[483,7]]},"634":{"position":[[200,8],[257,8]]},"635":{"position":[[456,7],[609,8]]},"637":{"position":[[1445,8]]},"640":{"position":[[205,8]]},"643":{"position":[[138,8],[164,7],[202,8]]},"644":{"position":[[205,8]]},"647":{"position":[[286,8]]},"648":{"position":[[393,8],[489,7]]},"650":{"position":[[498,7],[525,7],[802,8],[859,8]]},"651":{"position":[[405,8]]},"652":{"position":[[583,8],[648,7]]},"654":{"position":[[929,7]]},"664":{"position":[[455,8],[524,7],[634,7]]},"665":{"position":[[421,8],[490,7],[600,7]]},"669":{"position":[[456,7]]},"677":{"position":[[1172,7]]},"678":{"position":[[1394,7]]},"679":{"position":[[1415,7]]},"680":{"position":[[1448,7]]},"681":{"position":[[1248,7]]},"682":{"position":[[1465,7]]},"683":{"position":[[1486,7]]},"684":{"position":[[1519,7]]},"685":{"position":[[292,7],[379,7]]},"690":{"position":[[1348,10]]},"698":{"position":[[691,9]]},"701":{"position":[[483,10]]},"703":{"position":[[547,10]]},"710":{"position":[[609,10],[764,7],[1050,7]]},"711":{"position":[[424,8],[494,10]]},"712":{"position":[[472,10]]},"713":{"position":[[290,10]]},"714":{"position":[[146,7]]},"717":{"position":[[312,7]]},"722":{"position":[[1247,8],[1339,10],[1462,8]]},"723":{"position":[[1014,8],[1106,10],[1229,8]]},"724":{"position":[[800,8],[895,8]]},"725":{"position":[[681,8],[776,8]]},"726":{"position":[[859,8],[951,10]]},"727":{"position":[[910,8],[1002,10]]},"728":{"position":[[725,8]]},"729":{"position":[[653,8],[748,8]]},"737":{"position":[[34,7],[56,8]]},"738":{"position":[[49,7],[71,8]]},"740":{"position":[[571,11]]},"741":{"position":[[1565,8],[1729,8],[1878,8]]},"744":{"position":[[237,7],[353,7]]},"754":{"position":[[288,8]]},"755":{"position":[[285,8]]},"757":{"position":[[421,9],[517,9],[615,9]]},"759":{"position":[[627,7],[717,7]]},"766":{"position":[[273,8]]},"767":{"position":[[270,8]]},"769":{"position":[[631,7],[721,7]]},"791":{"position":[[105,7]]},"792":{"position":[[104,7]]},"801":{"position":[[154,7]]},"803":{"position":[[253,7],[335,7]]},"804":{"position":[[258,7],[352,7]]}},"keywords":{}}],["default'=>",{"_index":5409,"title":{},"content":{"740":{"position":[[755,16]]}},"keywords":{}}],["default/raw_logs/tlm/inst2/<yyyymmdd>",{"_index":3082,"title":{},"content":{"338":{"position":[[188,44]]}},"keywords":{}}],["default__decom__inst2",{"_index":4131,"title":{},"content":{"447":{"position":[[250,23]]}},"keywords":{}}],["default__interface__int1",{"_index":2077,"title":{},"content":{"145":{"position":[[263,24],[344,24]]}},"keywords":{}}],["default__multi__inst",{"_index":4130,"title":{},"content":{"447":{"position":[[227,22]]}},"keywords":{}}],["default__openc3_log_messag",{"_index":2146,"title":{},"content":{"183":{"position":[[563,28]]}},"keywords":{}}],["default__telemetry__example__statu",{"_index":2147,"title":{},"content":{"183":{"position":[[598,35]]}},"keywords":{}}],["default_valu",{"_index":707,"title":{},"content":{"36":{"position":[[2550,14]]},"229":{"position":[[2550,14]]}},"keywords":{}}],["defaultdiscard",{"_index":1198,"title":{},"content":{"53":{"position":[[536,14]]}},"keywords":{}}],["defaultflow_control",{"_index":1912,"title":{},"content":{"111":{"position":[[1026,19]]}},"keywords":{}}],["defaulthead",{"_index":1271,"title":{},"content":{"58":{"position":[[228,13]]}},"keywords":{}}],["defaulthost",{"_index":1859,"title":{},"content":{"106":{"position":[[115,11]]},"107":{"position":[[254,11]]},"109":{"position":[[471,11]]},"110":{"position":[[464,11]]},"112":{"position":[[175,11]]}},"keywords":{}}],["defaultlength",{"_index":1219,"title":{},"content":{"55":{"position":[[593,13]]}},"keywords":{}}],["defaultlisten_address",{"_index":1853,"title":{},"content":{"105":{"position":[[834,21]]},"108":{"position":[[441,21]]}},"keywords":{}}],["defaultminimum",{"_index":1209,"title":{},"content":{"54":{"position":[[765,14]]}},"keywords":{}}],["defaultport",{"_index":1876,"title":{},"content":{"108":{"position":[[247,11]]}},"keywords":{}}],["defaultrandom",{"_index":1276,"title":{},"content":{"59":{"position":[[117,20]]}},"keywords":{}}],["defaultread",{"_index":1950,"title":{},"content":{"113":{"position":[[179,11]]}},"keywords":{}}],["defaultrespons",{"_index":1319,"title":{},"content":{"64":{"position":[[128,15]]}},"keywords":{}}],["defaultscid",{"_index":1289,"title":{},"content":{"60":{"position":[[205,11]]}},"keywords":{}}],["defaultstart",{"_index":1189,"title":{},"content":{"52":{"position":[[647,12]]}},"keywords":{}}],["defaultsync",{"_index":1315,"title":{},"content":{"62":{"position":[[341,11]]}},"keywords":{}}],["defaulttarget",{"_index":1358,"title":{},"content":{"66":{"position":[[144,13]]}},"keywords":{}}],["defaultvers",{"_index":1928,"title":{},"content":{"112":{"position":[[382,14]]},"113":{"position":[[433,14]]}},"keywords":{}}],["defaultwrit",{"_index":1244,"title":{},"content":{"56":{"position":[[468,12]]},"61":{"position":[[1281,12]]},"65":{"position":[[131,12]]}},"keywords":{}}],["defend",{"_index":4106,"title":{},"content":{"432":{"position":[[1311,6]]}},"keywords":{}}],["defin",{"_index":265,"title":{},"content":{"7":{"position":[[657,7]]},"31":{"position":[[24,6],[118,7]]},"35":{"position":[[1,7]]},"36":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6979,7]]},"37":{"position":[[1,7]]},"52":{"position":[[36,7],[112,7]]},"54":{"position":[[106,7]]},"55":{"position":[[74,7]]},"64":{"position":[[71,7],[836,7]]},"67":{"position":[[757,7]]},"100":{"position":[[95,7]]},"101":{"position":[[11,6]]},"103":{"position":[[143,7]]},"114":{"position":[[354,6]]},"117":{"position":[[152,6],[311,6]]},"124":{"position":[[28,7]]},"126":{"position":[[1,6],[69,7],[226,7]]},"128":{"position":[[1,7],[245,7],[289,6]]},"139":{"position":[[835,8],[889,6]]},"140":{"position":[[253,7],[330,7],[505,6]]},"141":{"position":[[16,6],[59,7]]},"150":{"position":[[1,7]]},"174":{"position":[[149,7]]},"178":{"position":[[1,7],[29,7]]},"188":{"position":[[16,6],[62,7]]},"192":{"position":[[1,6],[16,7]]},"203":{"position":[[1,6],[25,7]]},"213":{"position":[[615,7],[987,7]]},"219":{"position":[[306,6],[655,7],[1184,6]]},"225":{"position":[[26,6],[119,6],[795,8]]},"226":{"position":[[1,7]]},"228":{"position":[[1,7]]},"229":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6979,7]]},"230":{"position":[[1,7]]},"231":{"position":[[1,7]]},"232":{"position":[[1,7]]},"233":{"position":[[1,7]]},"234":{"position":[[1,7]]},"236":{"position":[[152,7],[358,6]]},"242":{"position":[[17,7],[87,7]]},"243":{"position":[[17,7]]},"244":{"position":[[17,7]]},"247":{"position":[[17,7]]},"248":{"position":[[17,7]]},"251":{"position":[[17,7],[591,7],[1413,7]]},"252":{"position":[[132,7]]},"259":{"position":[[41,8]]},"271":{"position":[[28,6],[143,6],[822,8]]},"272":{"position":[[117,7]]},"273":{"position":[[128,7]]},"274":{"position":[[595,7]]},"275":{"position":[[1590,8]]},"276":{"position":[[1,7]]},"278":{"position":[[1,7]]},"279":{"position":[[529,7],[1328,7],[1616,7],[1917,7],[2036,6],[2299,7],[3942,7],[4277,7],[5580,7],[7896,7],[8229,7],[9531,7],[9918,7],[10382,7]]},"280":{"position":[[1,7]]},"281":{"position":[[1,7],[73,7]]},"282":{"position":[[1,7]]},"283":{"position":[[1,7]]},"284":{"position":[[1,7]]},"285":{"position":[[439,6]]},"286":{"position":[[143,7],[336,6]]},"288":{"position":[[1,7]]},"289":{"position":[[53,7],[157,7]]},"291":{"position":[[17,7],[87,7]]},"292":{"position":[[17,7]]},"293":{"position":[[17,7]]},"296":{"position":[[136,7],[513,6]]},"297":{"position":[[1,7]]},"298":{"position":[[47,7]]},"302":{"position":[[516,7],[1091,9]]},"303":{"position":[[608,7]]},"305":{"position":[[985,8],[1053,7]]},"307":{"position":[[1064,7]]},"321":{"position":[[24,8],[263,7],[455,6],[742,7],[869,6],[1080,7]]},"342":{"position":[[92,7],[912,6]]},"350":{"position":[[92,7]]},"351":{"position":[[344,7]]},"358":{"position":[[1106,8],[3357,8],[3469,8],[5673,7],[5814,6],[5938,7]]},"359":{"position":[[1004,7]]},"367":{"position":[[173,7]]},"380":{"position":[[2223,6]]},"418":{"position":[[84,7]]},"464":{"position":[[57,7]]},"472":{"position":[[623,7]]},"473":{"position":[[245,7]]},"482":{"position":[[236,7],[495,7]]},"487":{"position":[[112,7]]},"492":{"position":[[108,7]]},"496":{"position":[[136,7]]},"498":{"position":[[278,7]]},"499":{"position":[[297,7]]},"512":{"position":[[48,7]]},"529":{"position":[[70,7]]},"548":{"position":[[202,7]]},"574":{"position":[[483,6]]},"575":{"position":[[35,6],[173,6]]},"577":{"position":[[1,6],[114,7]]},"582":{"position":[[44,7],[342,7],[461,7],[488,6]]},"591":{"position":[[47,7]]},"637":{"position":[[227,6]]},"659":{"position":[[612,8],[940,7],[1264,7]]},"699":{"position":[[674,7]]},"794":{"position":[[66,7]]},"795":{"position":[[223,7],[311,7],[728,7]]}},"keywords":{}}],["defininig",{"_index":3269,"title":{},"content":{"358":{"position":[[5234,9]]}},"keywords":{}}],["definit",{"_index":278,"title":{"31":{"position":[[6,10]]},"225":{"position":[[8,10]]},"271":{"position":[[10,10]]},"379":{"position":[[15,12]]},"395":{"position":[[30,10]]},"574":{"position":[[0,12]]},"575":{"position":[[17,10]]}},"content":{"7":{"position":[[1165,11],[1207,11]]},"15":{"position":[[27,10],[95,10],[421,10]]},"16":{"position":[[29,10],[99,10],[423,10]]},"31":{"position":[[7,10],[102,11],[302,11],[320,11],[463,10]]},"32":{"position":[[52,11],[183,10]]},"33":{"position":[[19,10]]},"36":{"position":[[2269,11]]},"38":{"position":[[78,10]]},"54":{"position":[[860,11]]},"57":{"position":[[981,12]]},"64":{"position":[[461,12],[544,10]]},"105":{"position":[[778,10]]},"108":{"position":[[385,10]]},"109":{"position":[[426,12],[741,10],[1838,12],[1941,10]]},"110":{"position":[[1075,10],[2220,12],[2361,11]]},"111":{"position":[[970,10]]},"112":{"position":[[326,10]]},"113":{"position":[[377,10]]},"114":{"position":[[314,11]]},"117":{"position":[[221,13]]},"214":{"position":[[257,11],[1539,11]]},"215":{"position":[[157,11],[590,11]]},"218":{"position":[[299,11],[1317,11]]},"219":{"position":[[262,11],[1140,11]]},"220":{"position":[[210,11],[1399,11]]},"225":{"position":[[9,10],[211,10],[626,11]]},"229":{"position":[[2269,11]]},"236":{"position":[[70,10],[121,10]]},"249":{"position":[[104,11]]},"252":{"position":[[183,11]]},"271":{"position":[[11,10],[239,10],[658,11]]},"274":{"position":[[335,11],[626,10],[683,10]]},"286":{"position":[[66,10],[112,10]]},"295":{"position":[[104,11]]},"296":{"position":[[189,11]]},"302":{"position":[[721,10],[1886,11]]},"307":{"position":[[1391,10]]},"358":{"position":[[5856,10]]},"359":{"position":[[2754,11]]},"395":{"position":[[58,11],[147,10],[286,12]]},"457":{"position":[[52,11]]},"494":{"position":[[61,11],[110,11]]},"496":{"position":[[71,10],[162,10],[190,10]]},"569":{"position":[[1210,11]]},"574":{"position":[[317,10],[342,10]]},"575":{"position":[[18,10],[209,10],[345,10]]},"576":{"position":[[25,10],[320,10]]},"577":{"position":[[99,11]]},"611":{"position":[[136,10]]},"785":{"position":[[80,11]]},"786":{"position":[[401,10],[430,10],[636,10],[908,10]]},"787":{"position":[[457,10],[486,10],[1098,10],[1398,10]]}},"keywords":{}}],["definitionopen",{"_index":4203,"title":{},"content":{"495":{"position":[[32,14]]}},"keywords":{}}],["definitiontarget",{"_index":3096,"title":{},"content":{"342":{"position":[[119,16]]}},"keywords":{}}],["definitionwidget",{"_index":4588,"title":{},"content":{"574":{"position":[[6,16]]}},"keywords":{}}],["degre",{"_index":4421,"title":{},"content":{"545":{"position":[[522,7]]}},"keywords":{}}],["degrees"",{"_index":2484,"title":{},"content":{"253":{"position":[[807,13]]},"299":{"position":[[997,13]]}},"keywords":{}}],["delay",{"_index":1308,"title":{"721":{"position":[[0,7]]}},"content":{"61":{"position":[[1631,5],[1648,5]]},"135":{"position":[[11,5],[148,5],[245,5]]},"424":{"position":[[1201,6]]},"568":{"position":[[73,5]]},"722":{"position":[[543,5]]},"789":{"position":[[27,5]]},"790":{"position":[[26,5]]}},"keywords":{}}],["delet",{"_index":2301,"title":{"443":{"position":[[0,7]]}},"content":{"217":{"position":[[579,7]]},"236":{"position":[[16,7],[83,8],[448,6]]},"286":{"position":[[16,6],[79,8],[411,6]]},"325":{"position":[[66,6]]},"326":{"position":[[860,6]]},"353":{"position":[[822,8],[862,6]]},"354":{"position":[[672,8],[687,6]]},"355":{"position":[[716,8],[751,6],[819,8],[838,6]]},"358":{"position":[[550,6]]},"407":{"position":[[413,6]]},"414":{"position":[[111,6]]},"430":{"position":[[315,6],[344,7],[420,7]]},"431":{"position":[[465,7]]},"443":{"position":[[25,6],[96,6]]},"461":{"position":[[265,6],[572,6]]},"472":{"position":[[1096,6],[1403,6]]},"478":{"position":[[327,6],[634,6]]},"502":{"position":[[264,6],[571,6]]},"505":{"position":[[260,6]]},"521":{"position":[[283,6],[590,6]]},"522":{"position":[[1158,8]]},"526":{"position":[[194,6]]},"669":{"position":[[740,6],[861,6],[1065,6],[1188,6]]},"671":{"position":[[1,6],[313,8]]},"775":{"position":[[1,7],[181,6]]},"783":{"position":[[1,7]]},"816":{"position":[[1,6],[255,6]]}},"keywords":{}}],["delete_config",{"_index":5821,"title":{"816":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_config(<tool",{"_index":5822,"title":{},"content":{"816":{"position":[[65,22]]}},"keywords":{}}],["delete_config('telemetry_graph",{"_index":5823,"title":{},"content":{"816":{"position":[[319,34]]}},"keywords":{}}],["delete_item",{"_index":2671,"title":{"286":{"position":[[0,12]]}},"content":{"286":{"position":[[476,11]]}},"keywords":{}}],["delete_paramet",{"_index":2414,"title":{"236":{"position":[[0,17]]}},"content":{"236":{"position":[[505,16]]}},"keywords":{}}],["delete_screen",{"_index":5660,"title":{"783":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_screen("<target",{"_index":5661,"title":{},"content":{"783":{"position":[[70,30]]}},"keywords":{}}],["delete_screen("inst"",{"_index":5662,"title":{},"content":{"783":{"position":[[291,31]]}},"keywords":{}}],["delete_target_fil",{"_index":5011,"title":{"671":{"position":[[0,19]]}},"content":{},"keywords":{}}],["delete_target_file("<fil",{"_index":5012,"title":{},"content":{"671":{"position":[[63,33]]}},"keywords":{}}],["delete_target_file("inst/delete_me.txt"",{"_index":5016,"title":{},"content":{"671":{"position":[[479,50]]}},"keywords":{}}],["deleted"",{"_index":5015,"title":{},"content":{"671":{"position":[[464,14]]}},"keywords":{}}],["delimit",{"_index":1174,"title":{},"content":{"51":{"position":[[323,9]]},"53":{"position":[[218,9],[886,9]]},"54":{"position":[[1284,9]]},"55":{"position":[[2184,9]]},"56":{"position":[[1186,9]]},"60":{"position":[[689,9]]},"61":{"position":[[2358,9]]},"62":{"position":[[476,9]]},"673":{"position":[[1150,9]]}},"keywords":{}}],["delin",{"_index":1130,"title":{"50":{"position":[[7,11]]}},"content":{"50":{"position":[[38,11],[291,11]]},"56":{"position":[[25,10],[645,9]]},"57":{"position":[[132,10]]},"61":{"position":[[390,10],[688,10],[1458,9]]},"62":{"position":[[28,10]]},"312":{"position":[[286,11]]}},"keywords":{}}],["deliveri",{"_index":4099,"title":{},"content":{"432":{"position":[[709,9]]}},"keywords":{}}],["demand",{"_index":3091,"title":{},"content":{"340":{"position":[[165,7],[214,7]]}},"keywords":{}}],["demo",{"_index":282,"title":{},"content":{"7":{"position":[[1226,4]]},"39":{"position":[[203,5]]},"61":{"position":[[1205,4]]},"192":{"position":[[489,4],[494,4]]},"319":{"position":[[44,4]]},"320":{"position":[[669,4],[1528,4]]},"323":{"position":[[41,4],[246,4]]},"326":{"position":[[538,4],[633,4],[673,4]]},"338":{"position":[[590,5]]},"358":{"position":[[25,4],[395,4],[542,4]]},"367":{"position":[[443,4],[874,4]]},"369":{"position":[[333,5],[2002,4]]},"383":{"position":[[1178,4],[1239,4],[1264,4],[1410,4],[1486,4]]},"407":{"position":[[285,4]]},"447":{"position":[[731,5]]},"473":{"position":[[414,4]]},"498":{"position":[[12,4]]},"499":{"position":[[12,4]]},"650":{"position":[[242,4]]}},"keywords":{}}],["demo'",{"_index":2941,"title":{},"content":{"319":{"position":[[131,6]]}},"keywords":{}}],["demo_part",{"_index":3708,"title":{},"content":{"383":{"position":[[1516,9]]}},"keywords":{}}],["demonstr",{"_index":2988,"title":{},"content":{"323":{"position":[[671,11]]}},"keywords":{}}],["denot",{"_index":1728,"title":{},"content":{"91":{"position":[[974,8]]},"92":{"position":[[765,8]]}},"keywords":{}}],["denser",{"_index":1124,"title":{},"content":{"48":{"position":[[4630,6]]}},"keywords":{}}],["depart",{"_index":3059,"title":{},"content":{"332":{"position":[[1035,10]]},"393":{"position":[[1391,10]]}},"keywords":{}}],["depend",{"_index":325,"title":{"385":{"position":[[5,13]]}},"content":{"12":{"position":[[74,13]]},"42":{"position":[[719,12]]},"43":{"position":[[917,9]]},"55":{"position":[[21,7]]},"83":{"position":[[628,8]]},"115":{"position":[[278,9]]},"127":{"position":[[43,12],[159,12]]},"208":{"position":[[150,12]]},"225":{"position":[[353,6],[611,7]]},"257":{"position":[[261,13]]},"258":{"position":[[96,12]]},"271":{"position":[[383,6],[643,7]]},"273":{"position":[[264,9]]},"301":{"position":[[1463,12]]},"307":{"position":[[1380,10]]},"363":{"position":[[336,9]]},"385":{"position":[[73,13]]},"412":{"position":[[204,12]]},"522":{"position":[[818,9]]},"530":{"position":[[499,6]]},"608":{"position":[[130,9]]},"731":{"position":[[47,9]]}},"keywords":{}}],["depends_on",{"_index":521,"title":{},"content":{"23":{"position":[[320,11]]}},"keywords":{}}],["depict",{"_index":4711,"title":{},"content":{"622":{"position":[[19,9]]}},"keywords":{}}],["deploy",{"_index":2511,"title":{},"content":{"258":{"position":[[631,6]]},"260":{"position":[[199,9]]},"261":{"position":[[97,11],[321,10],[431,6]]},"268":{"position":[[182,8],[432,6]]},"319":{"position":[[240,8]]},"359":{"position":[[715,8]]},"368":{"position":[[327,8]]},"383":{"position":[[582,11]]},"392":{"position":[[248,10]]},"439":{"position":[[245,11]]}},"keywords":{}}],["deprec",{"_index":1135,"title":{"61":{"position":[[18,13]]}},"content":{"50":{"position":[[104,13]]},"61":{"position":[[22,10]]},"137":{"position":[[1,11]]},"552":{"position":[[459,10]]},"661":{"position":[[73,10]]},"662":{"position":[[38,10],[192,11],[248,11],[319,11],[389,10],[452,10],[507,10],[543,11],[630,10],[690,11],[778,10],[835,11],[910,11],[980,11],[1059,10],[1118,11],[1179,11],[1308,11],[1389,10],[1455,10],[1506,11],[1579,11],[1659,10],[1718,10],[1752,10],[1808,11],[1902,10],[1961,10],[2033,10],[2091,10],[2141,10],[2206,11],[2292,11],[2364,11],[2436,11],[2514,10],[2572,10],[2625,10],[2686,10],[2742,11],[2818,11],[2883,10],[2922,10],[2956,10],[2992,10],[3028,10],[3058,10],[3096,10],[3133,10],[3177,10],[3209,10],[3244,10],[3282,10],[3312,10],[3353,10],[3463,11],[3521,10],[3574,10],[3678,11],[3788,10],[3834,10],[3871,11],[3924,11],[3984,10],[4041,10],[4095,10],[4149,10],[4224,10],[4293,10],[4347,10],[4408,10],[4461,10],[4514,10],[4567,10],[4631,10],[4693,11],[4823,11],[4914,10],[4978,10],[5046,10],[5080,11],[5147,11],[5224,11],[5311,11]]},"673":{"position":[[182,10]]}},"keywords":{}}],["depth",{"_index":76,"title":{},"content":{"2":{"position":[[743,5]]},"152":{"position":[[110,5],[123,5]]},"159":{"position":[[119,5],[132,5]]}},"keywords":{}}],["deriv",{"_index":647,"title":{"274":{"position":[[0,7]]}},"content":{"35":{"position":[[321,7],[583,7],[634,10],[720,8],[785,7]]},"37":{"position":[[376,7],[427,10],[513,8],[578,7]]},"67":{"position":[[614,6]]},"217":{"position":[[1527,7],[1589,7],[1647,7],[1716,7],[1883,7],[2134,7]]},"228":{"position":[[350,7],[612,7],[663,10],[749,8],[814,7]]},"230":{"position":[[395,7],[446,10],[532,8],[597,7]]},"231":{"position":[[782,7],[833,10],[919,8],[984,7]]},"232":{"position":[[618,7],[669,10],[755,8],[820,7]]},"233":{"position":[[367,7],[530,7]]},"234":{"position":[[313,7]]},"274":{"position":[[27,7],[114,7],[190,7],[263,7],[296,7],[370,7],[489,8],[514,7]]},"275":{"position":[[460,7],[1301,7],[1454,7]]},"278":{"position":[[349,7],[610,7],[661,10],[767,7],[1122,7]]},"280":{"position":[[402,7],[453,10],[559,7]]},"283":{"position":[[366,7],[523,7]]},"284":{"position":[[315,7]]},"299":{"position":[[1152,7],[1417,7]]},"389":{"position":[[2064,11]]},"490":{"position":[[30,7]]},"629":{"position":[[267,7]]},"659":{"position":[[295,7],[391,7]]},"720":{"position":[[17,7]]}},"keywords":{}}],["describ",{"_index":133,"title":{},"content":{"3":{"position":[[705,10]]},"36":{"position":[[3441,10]]},"115":{"position":[[2148,9]]},"124":{"position":[[56,9]]},"229":{"position":[[3441,10]]},"321":{"position":[[976,9]]},"328":{"position":[[24,8]]},"336":{"position":[[71,10]]},"358":{"position":[[906,8],[3273,9],[3718,9],[5175,9],[5329,9]]},"386":{"position":[[547,8],[700,10]]},"402":{"position":[[1118,9]]},"431":{"position":[[349,8]]},"540":{"position":[[1766,8],[4331,10]]},"687":{"position":[[131,8]]},"689":{"position":[[36,9]]}},"keywords":{}}],["descript",{"_index":160,"title":{},"content":{"5":{"position":[[571,11],[960,11],[972,11],[1240,11]]},"9":{"position":[[589,12],[733,12]]},"11":{"position":[[292,11]]},"12":{"position":[[132,11]]},"13":{"position":[[329,11]]},"14":{"position":[[232,11]]},"15":{"position":[[374,11]]},"16":{"position":[[374,11]]},"32":{"position":[[75,11]]},"33":{"position":[[41,11],[530,11],[562,11],[602,11],[746,11],[809,11],[821,11],[861,11]]},"35":{"position":[[53,11],[834,11],[1141,11],[1153,11],[1485,11],[1672,11],[1684,11]]},"36":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6316,11],[6947,11],[10249,11]]},"37":{"position":[[53,11],[627,11],[934,11],[946,11],[1278,11],[1465,11],[1477,11]]},"38":{"position":[[100,11]]},"39":{"position":[[220,11]]},"52":{"position":[[626,11]]},"53":{"position":[[515,11]]},"54":{"position":[[744,11]]},"55":{"position":[[572,11]]},"56":{"position":[[447,11]]},"58":{"position":[[207,11]]},"59":{"position":[[96,11]]},"60":{"position":[[184,11]]},"61":{"position":[[1260,11]]},"62":{"position":[[320,11]]},"64":{"position":[[107,11]]},"65":{"position":[[110,11]]},"66":{"position":[[123,11]]},"103":{"position":[[219,11]]},"104":{"position":[[231,11]]},"105":{"position":[[255,11],[822,11]]},"106":{"position":[[94,11]]},"107":{"position":[[233,11]]},"108":{"position":[[226,11],[429,11]]},"109":{"position":[[450,11]]},"110":{"position":[[443,11]]},"111":{"position":[[217,11],[1014,11]]},"112":{"position":[[154,11],[370,11]]},"113":{"position":[[158,11],[421,11]]},"114":{"position":[[119,11]]},"126":{"position":[[716,11]]},"128":{"position":[[365,11]]},"130":{"position":[[47,11]]},"131":{"position":[[81,11]]},"132":{"position":[[82,11]]},"135":{"position":[[219,11]]},"138":{"position":[[336,11]]},"139":{"position":[[379,11]]},"140":{"position":[[202,11]]},"141":{"position":[[193,11]]},"142":{"position":[[78,11]]},"143":{"position":[[233,11]]},"144":{"position":[[159,11]]},"145":{"position":[[127,11]]},"146":{"position":[[136,11]]},"147":{"position":[[115,11]]},"148":{"position":[[165,11]]},"149":{"position":[[402,11]]},"150":{"position":[[33,11]]},"152":{"position":[[83,11]]},"153":{"position":[[66,11]]},"154":{"position":[[88,11]]},"155":{"position":[[58,11]]},"156":{"position":[[73,11]]},"157":{"position":[[95,11]]},"158":{"position":[[60,11]]},"159":{"position":[[92,11]]},"160":{"position":[[68,11]]},"161":{"position":[[90,11]]},"162":{"position":[[60,11]]},"163":{"position":[[75,11]]},"164":{"position":[[97,11]]},"165":{"position":[[62,11]]},"166":{"position":[[71,11]]},"167":{"position":[[69,11]]},"168":{"position":[[68,11]]},"169":{"position":[[68,11]]},"170":{"position":[[68,11]]},"171":{"position":[[56,11]]},"173":{"position":[[73,11]]},"174":{"position":[[313,11]]},"175":{"position":[[88,11]]},"176":{"position":[[149,11]]},"177":{"position":[[165,11]]},"178":{"position":[[190,11]]},"180":{"position":[[62,11]]},"181":{"position":[[217,11]]},"182":{"position":[[160,11]]},"183":{"position":[[298,11]]},"184":{"position":[[242,11]]},"185":{"position":[[111,11]]},"186":{"position":[[271,11]]},"187":{"position":[[120,11]]},"188":{"position":[[153,11]]},"189":{"position":[[115,11]]},"190":{"position":[[155,11]]},"191":{"position":[[165,11]]},"192":{"position":[[271,11]]},"194":{"position":[[130,11]]},"195":{"position":[[146,11]]},"196":{"position":[[279,11]]},"197":{"position":[[91,11]]},"198":{"position":[[119,11]]},"199":{"position":[[150,11]]},"200":{"position":[[282,11]]},"201":{"position":[[147,11]]},"202":{"position":[[58,11]]},"203":{"position":[[106,11]]},"205":{"position":[[149,11]]},"216":{"position":[[739,11]]},"217":{"position":[[2860,11]]},"223":{"position":[[191,11]]},"226":{"position":[[41,11],[430,11],[442,11]]},"228":{"position":[[70,11],[863,11],[1170,11],[1182,11],[1514,11],[1701,11],[1713,11]]},"229":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6316,11],[6947,11],[10249,11]]},"230":{"position":[[70,11],[646,11],[953,11],[965,11],[1297,11],[1484,11],[1496,11]]},"231":{"position":[[293,11],[1033,11],[1314,11],[1326,11],[1658,11],[1845,11],[1857,11]]},"232":{"position":[[293,11],[869,11],[1150,11],[1162,11],[1494,11],[1681,11],[1693,11]]},"233":{"position":[[87,11],[736,11],[748,11]]},"234":{"position":[[87,11],[519,11],[531,11]]},"235":{"position":[[292,11]]},"236":{"position":[[393,11]]},"240":{"position":[[232,11]]},"241":{"position":[[152,11],[184,11]]},"242":{"position":[[230,11]]},"243":{"position":[[260,11]]},"244":{"position":[[257,11]]},"245":{"position":[[94,11]]},"246":{"position":[[100,11]]},"247":{"position":[[78,11]]},"248":{"position":[[80,11]]},"251":{"position":[[182,11]]},"252":{"position":[[291,11]]},"276":{"position":[[43,11],[447,11],[459,11]]},"278":{"position":[[69,11],[780,11],[792,11]]},"279":{"position":[[109,11],[318,11],[502,12],[537,11],[560,11],[594,11],[838,11],[1443,11],[1659,11],[2335,11],[3484,11],[4855,11],[5548,11],[7322,11],[8445,11],[10483,11]]},"280":{"position":[[69,11],[572,11],[584,11]]},"281":{"position":[[239,11],[874,11],[886,11]]},"282":{"position":[[69,11],[543,11],[555,11]]},"283":{"position":[[86,11],[729,11],[741,11]]},"284":{"position":[[86,11],[521,11],[533,11]]},"285":{"position":[[292,11]]},"286":{"position":[[366,11]]},"287":{"position":[[241,11]]},"288":{"position":[[89,11]]},"291":{"position":[[230,11]]},"292":{"position":[[106,11]]},"293":{"position":[[104,11]]},"296":{"position":[[287,11]]},"297":{"position":[[727,11]]},"298":{"position":[[217,11]]},"301":{"position":[[749,12]]},"304":{"position":[[1001,11]]},"305":{"position":[[1218,11]]},"344":{"position":[[10,11]]},"345":{"position":[[10,11]]},"346":{"position":[[121,11]]},"347":{"position":[[188,11]]},"348":{"position":[[370,11]]},"349":{"position":[[1306,11]]},"350":{"position":[[156,11]]},"351":{"position":[[275,11]]},"352":{"position":[[107,11]]},"353":{"position":[[122,11]]},"354":{"position":[[201,11]]},"355":{"position":[[106,11]]},"356":{"position":[[113,11]]},"358":{"position":[[1642,11],[2843,11],[4832,11]]},"359":{"position":[[1297,11],[1441,11],[2556,11]]},"379":{"position":[[395,11],[2823,11]]},"447":{"position":[[110,12],[563,11]]},"482":{"position":[[697,11],[739,12]]},"577":{"position":[[203,11]]},"579":{"position":[[115,11]]},"580":{"position":[[70,11]]},"581":{"position":[[508,11]]},"583":{"position":[[103,11]]},"584":{"position":[[105,11]]},"585":{"position":[[105,11]]},"586":{"position":[[107,11]]},"587":{"position":[[73,11]]},"588":{"position":[[67,11]]},"589":{"position":[[78,11]]},"590":{"position":[[53,11]]},"591":{"position":[[508,11]]},"592":{"position":[[365,11],[546,12]]},"594":{"position":[[268,11]]},"595":{"position":[[182,11]]},"596":{"position":[[116,11]]},"597":{"position":[[140,11]]},"598":{"position":[[117,11]]},"599":{"position":[[148,11]]},"601":{"position":[[70,11]]},"602":{"position":[[59,11]]},"604":{"position":[[146,11]]},"606":{"position":[[58,11]]},"607":{"position":[[58,11]]},"609":{"position":[[72,11]]},"610":{"position":[[72,11]]},"611":{"position":[[405,11]]},"612":{"position":[[47,11],[1047,11]]},"613":{"position":[[74,11]]},"614":{"position":[[68,11]]},"615":{"position":[[33,11],[76,11],[191,11],[207,11],[270,11]]},"616":{"position":[[88,11]]},"617":{"position":[[91,11]]},"618":{"position":[[87,11]]},"619":{"position":[[355,11],[979,11]]},"620":{"position":[[84,11]]},"621":{"position":[[82,11]]},"622":{"position":[[68,11]]},"623":{"position":[[57,11]]},"624":{"position":[[60,11]]},"625":{"position":[[56,11]]},"626":{"position":[[54,11],[781,11],[1342,11],[1497,11],[1655,11],[1783,11],[1908,11],[2001,11]]},"627":{"position":[[88,11],[834,11],[1395,11],[1550,11],[1708,11],[1836,11],[1961,11],[2054,11]]},"628":{"position":[[72,11],[806,11],[1367,11],[1522,11],[1680,11],[1808,11],[1933,11],[2026,11]]},"629":{"position":[[53,11]]},"630":{"position":[[78,11]]},"631":{"position":[[66,11]]},"632":{"position":[[106,11]]},"633":{"position":[[100,11]]},"634":{"position":[[52,11]]},"635":{"position":[[296,11]]},"637":{"position":[[1588,11]]},"638":{"position":[[128,11]]},"639":{"position":[[147,11]]},"640":{"position":[[130,11]]},"641":{"position":[[108,11]]},"642":{"position":[[230,11]]},"643":{"position":[[69,11]]},"644":{"position":[[130,11]]},"646":{"position":[[206,11]]},"647":{"position":[[39,11]]},"648":{"position":[[90,11]]},"649":{"position":[[44,11],[751,11]]},"650":{"position":[[282,11],[1311,11],[1664,11]]},"651":{"position":[[41,11]]},"652":{"position":[[154,11],[1227,11]]},"653":{"position":[[40,11]]},"687":{"position":[[909,14]]},"689":{"position":[[951,14]]},"690":{"position":[[1286,14]]}},"keywords":{}}],["description"",{"_index":300,"title":{},"content":{"9":{"position":[[255,17],[408,17]]},"304":{"position":[[952,17]]},"305":{"position":[[1169,17]]},"358":{"position":[[2781,17],[3299,18],[4783,17]]},"359":{"position":[[1379,17]]}},"keywords":{}}],["description".w",{"_index":3268,"title":{},"content":{"358":{"position":[[5204,20]]}},"keywords":{}}],["description.gitignor",{"_index":2739,"title":{},"content":{"301":{"position":[[377,21]]}},"keywords":{}}],["descriptionack_timeout",{"_index":1885,"title":{},"content":{"109":{"position":[[785,22]]},"110":{"position":[[1119,22]]}},"keywords":{}}],["descriptionad",{"_index":3233,"title":{},"content":{"356":{"position":[[130,13]]}},"keywords":{}}],["descriptionapi",{"_index":3119,"title":{},"content":{"345":{"position":[[27,14]]}},"keywords":{}}],["descriptionarg",{"_index":5090,"title":{},"content":{"685":{"position":[[185,15]]}},"keywords":{}}],["descriptioncharact",{"_index":5692,"title":{},"content":{"791":{"position":[[206,21]]}},"keywords":{}}],["descriptioncmd",{"_index":3130,"title":{},"content":{"348":{"position":[[387,14]]}},"keywords":{}}],["descriptioncommand_str",{"_index":1727,"title":{},"content":{"91":{"position":[[794,25]]}},"keywords":{}}],["descriptioncosmo",{"_index":2515,"title":{},"content":{"258":{"position":[[775,17],[1603,17]]},"344":{"position":[[27,17]]}},"keywords":{}}],["descriptionct",{"_index":3120,"title":{},"content":{"346":{"position":[[138,14]]}},"keywords":{}}],["descriptiond",{"_index":3220,"title":{},"content":{"353":{"position":[[139,13]]}},"keywords":{}}],["descriptiondelay",{"_index":5685,"title":{},"content":{"789":{"position":[[117,16]]}},"keywords":{}}],["descriptiondv",{"_index":3223,"title":{},"content":{"354":{"position":[[218,13]]}},"keywords":{}}],["descriptionexpress",{"_index":5219,"title":{},"content":{"699":{"position":[[989,21]]},"724":{"position":[[565,21]]},"728":{"position":[[493,21]]}},"keywords":{}}],["descriptiongroup",{"_index":5713,"title":{},"content":{"795":{"position":[[682,16]]}},"keywords":{}}],["descriptionhttp_path",{"_index":2299,"title":{},"content":{"217":{"position":[[497,20]]}},"keywords":{}}],["descriptionhttp_statu",{"_index":2308,"title":{},"content":{"217":{"position":[[1077,22],[2268,22]]}},"keywords":{}}],["descriptionid",{"_index":5327,"title":{},"content":{"717":{"position":[[177,13]]}},"keywords":{}}],["descriptionignor",{"_index":5433,"title":{},"content":{"743":{"position":[[189,18]]}},"keywords":{}}],["descriptioninterfac",{"_index":5109,"title":{},"content":{"686":{"position":[[116,20]]},"750":{"position":[[196,20]]},"752":{"position":[[188,20]]},"753":{"position":[[155,20]]},"754":{"position":[[202,20]]},"755":{"position":[[200,20]]},"758":{"position":[[320,20]]},"759":{"position":[[336,20]]}},"keywords":{}}],["descriptionitem",{"_index":5254,"title":{},"content":{"704":{"position":[[365,16]]}},"keywords":{}}],["descriptionlength",{"_index":1070,"title":{},"content":{"48":{"position":[[220,17]]}},"keywords":{}}],["descriptionlimit",{"_index":5390,"title":{},"content":{"734":{"position":[[179,17]]},"735":{"position":[[181,17]]},"737":{"position":[[153,17]]},"801":{"position":[[101,16]]}},"keywords":{}}],["descriptionlm",{"_index":3124,"title":{},"content":{"347":{"position":[[205,13]]}},"keywords":{}}],["descriptionmessag",{"_index":4976,"title":{},"content":{"668":{"position":[[478,18]]},"675":{"position":[[146,18]]}},"keywords":{}}],["descriptionmetadata",{"_index":5737,"title":{},"content":{"803":{"position":[[123,19]]},"804":{"position":[[126,19]]}},"keywords":{}}],["descriptionmethod",{"_index":5227,"title":{},"content":{"700":{"position":[[256,17]]}},"keywords":{}}],["descriptionmicroservices/background",{"_index":2783,"title":{},"content":{"303":{"position":[[470,35]]}},"keywords":{}}],["descriptionoffset",{"_index":1119,"title":{},"content":{"48":{"position":[[4246,17]]},"744":{"position":[[161,17]]}},"keywords":{}}],["descriptionpacket",{"_index":1099,"title":{},"content":{"48":{"position":[[2362,17],[4890,17]]},"716":{"position":[[203,18]]}},"keywords":{}}],["descriptionpath",{"_index":4986,"title":{},"content":{"669":{"position":[[228,15]]},"670":{"position":[[149,15]]},"671":{"position":[[125,15]]}},"keywords":{}}],["descriptionprocedur",{"_index":5642,"title":{},"content":{"777":{"position":[[245,20]]}},"keywords":{}}],["descriptionpv",{"_index":3197,"title":{},"content":{"350":{"position":[[173,13]]}},"keywords":{}}],["descriptionquest",{"_index":4964,"title":{},"content":{"664":{"position":[[332,19]]},"665":{"position":[[298,19]]}},"keywords":{}}],["descriptionraw",{"_index":4853,"title":{},"content":{"659":{"position":[[145,14]]}},"keywords":{}}],["descriptionrout",{"_index":5576,"title":{},"content":{"761":{"position":[[149,17]]},"762":{"position":[[117,17]]},"764":{"position":[[183,17]]},"766":{"position":[[193,17]]},"767":{"position":[[191,17]]},"768":{"position":[[304,17]]},"769":{"position":[[346,17]]}},"keywords":{}}],["descriptionscreen",{"_index":5678,"title":{},"content":{"787":{"position":[[394,17]]}},"keywords":{}}],["descriptionset",{"_index":5782,"title":{},"content":{"809":{"position":[[249,18]]},"810":{"position":[[248,18]]}},"keywords":{}}],["descriptionsr",{"_index":3158,"title":{},"content":{"349":{"position":[[1323,13]]}},"keywords":{}}],["descriptionsrc/app.vu",{"_index":2811,"title":{},"content":{"307":{"position":[[760,22]]}},"keywords":{}}],["descriptionsrc/helloworldwidget.vu",{"_index":2806,"title":{},"content":{"306":{"position":[[656,35]]}},"keywords":{}}],["descriptionstart",{"_index":5733,"title":{},"content":{"802":{"position":[[98,16]]}},"keywords":{}}],["descriptionstash",{"_index":5625,"title":{},"content":{"771":{"position":[[118,16]]},"772":{"position":[[112,16]]},"775":{"position":[[135,16]]}},"keywords":{}}],["descriptiontarget",{"_index":1092,"title":{},"content":{"48":{"position":[[1489,17],[1729,17]]},"677":{"position":[[759,17]]},"678":{"position":[[981,17]]},"679":{"position":[[1002,17]]},"680":{"position":[[1035,17]]},"681":{"position":[[835,17]]},"682":{"position":[[1052,17]]},"683":{"position":[[1073,17]]},"684":{"position":[[1106,17]]},"687":{"position":[[242,17]]},"688":{"position":[[151,17]]},"689":{"position":[[237,17]]},"690":{"position":[[283,17]]},"691":{"position":[[318,17]]},"692":{"position":[[241,17]]},"693":{"position":[[410,17]]},"694":{"position":[[189,17]]},"695":{"position":[[245,17]]},"697":{"position":[[469,17]]},"698":{"position":[[411,17]]},"701":{"position":[[259,17]]},"702":{"position":[[301,17]]},"703":{"position":[[415,17]]},"705":{"position":[[128,17]]},"706":{"position":[[133,17]]},"707":{"position":[[195,17]]},"708":{"position":[[245,17]]},"709":{"position":[[256,17]]},"710":{"position":[[495,17]]},"711":{"position":[[221,17]]},"712":{"position":[[362,17]]},"713":{"position":[[198,17]]},"718":{"position":[[205,17]]},"719":{"position":[[225,17]]},"720":{"position":[[239,17]]},"722":{"position":[[835,17]]},"723":{"position":[[567,17]]},"725":{"position":[[488,17]]},"726":{"position":[[450,17]]},"727":{"position":[[466,17]]},"729":{"position":[[374,17]]},"731":{"position":[[327,17]]},"732":{"position":[[182,17]]},"733":{"position":[[184,17]]},"740":{"position":[[179,17]]},"741":{"position":[[549,17]]},"747":{"position":[[143,17]]},"757":{"position":[[264,17]]},"780":{"position":[[232,17]]},"781":{"position":[[149,17]]},"783":{"position":[[162,17]]},"785":{"position":[[202,17]]},"786":{"position":[[297,17]]}},"keywords":{}}],["descriptiontarget_nam",{"_index":1732,"title":{},"content":{"91":{"position":[[1480,22]]},"92":{"position":[[909,22]]}},"keywords":{}}],["descriptiontargets/gs",{"_index":2760,"title":{},"content":{"302":{"position":[[420,22]]}},"keywords":{}}],["descriptiontargets/gse/lib/double_conversion.rb",{"_index":2792,"title":{},"content":{"304":{"position":[[627,47]]}},"keywords":{}}],["descriptiontargets/gse/lib/safe_limits_response.rb",{"_index":2802,"title":{},"content":{"305":{"position":[[666,50]]}},"keywords":{}}],["descriptiontargets/target_name/lib",{"_index":4444,"title":{},"content":{"549":{"position":[[199,34]]}},"keywords":{}}],["descriptiontg",{"_index":3213,"title":{},"content":{"352":{"position":[[124,13]]}},"keywords":{}}],["descriptiontim",{"_index":5347,"title":{},"content":{"722":{"position":[[508,15]]}},"keywords":{}}],["descriptiontitl",{"_index":5025,"title":{},"content":{"673":{"position":[[929,16]]}},"keywords":{}}],["descriptiontl",{"_index":3227,"title":{},"content":{"355":{"position":[[123,13]]}},"keywords":{}}],["descriptiontlm_str",{"_index":1754,"title":{},"content":{"92":{"position":[[589,21]]}},"keywords":{}}],["descriptiontool",{"_index":5806,"title":{},"content":{"813":{"position":[[135,15]]},"814":{"position":[[310,15]]},"815":{"position":[[146,15]]},"816":{"position":[[150,15]]}},"keywords":{}}],["descriptiontv",{"_index":3210,"title":{},"content":{"351":{"position":[[292,13]]}},"keywords":{}}],["descriptionutil",{"_index":5646,"title":{},"content":{"778":{"position":[[471,18]]}},"keywords":{}}],["design",{"_index":1294,"title":{"341":{"position":[[17,6]]}},"content":{"61":{"position":[[263,8]]},"197":{"position":[[199,6]]},"241":{"position":[[1,10]]},"265":{"position":[[41,6],[78,9],[214,6]]},"301":{"position":[[595,8]]},"302":{"position":[[596,8]]},"303":{"position":[[694,8]]},"307":{"position":[[1773,6]]},"309":{"position":[[382,7]]},"324":{"position":[[298,7]]},"332":{"position":[[27,8]]},"349":{"position":[[614,9]]},"387":{"position":[[1305,8]]},"413":{"position":[[250,6]]},"560":{"position":[[25,6]]},"608":{"position":[[198,8]]},"626":{"position":[[1314,10]]},"627":{"position":[[1367,10]]},"628":{"position":[[1339,10]]},"660":{"position":[[27,8]]}},"keywords":{}}],["desir",{"_index":2651,"title":{},"content":{"279":{"position":[[9632,7],[10019,7]]},"348":{"position":[[153,7],[283,7]]},"349":{"position":[[3886,7],[6830,8]]},"382":{"position":[[370,7]]},"559":{"position":[[664,7],[962,7]]},"581":{"position":[[676,7]]},"591":{"position":[[557,7]]}},"keywords":{}}],["desktop",{"_index":911,"title":{},"content":{"42":{"position":[[330,7]]},"258":{"position":[[419,8]]},"309":{"position":[[4076,7]]},"310":{"position":[[400,7]]},"330":{"position":[[145,7],[266,8]]},"369":{"position":[[4285,7]]},"371":{"position":[[142,7]]}},"keywords":{}}],["dest",{"_index":1860,"title":{},"content":{"106":{"position":[[206,4]]},"320":{"position":[[932,4],[1083,4]]}},"keywords":{}}],["dest_ip",{"_index":3642,"title":{},"content":{"379":{"position":[[883,7]]},"380":{"position":[[1956,7]]}},"keywords":{}}],["destruct",{"_index":4043,"title":{},"content":{"424":{"position":[[1926,11]]},"429":{"position":[[238,12]]}},"keywords":{}}],["detail",{"_index":1423,"title":{"455":{"position":[[24,8]]},"492":{"position":[[0,8]]}},"content":{"69":{"position":[[797,7]]},"124":{"position":[[69,6]]},"126":{"position":[[193,7]]},"128":{"position":[[916,8]]},"149":{"position":[[706,8]]},"203":{"position":[[377,8]]},"279":{"position":[[3457,7],[4828,7],[5521,7],[6644,7]]},"350":{"position":[[579,8]]},"358":{"position":[[8059,7]]},"378":{"position":[[5,8]]},"387":{"position":[[981,6]]},"393":{"position":[[1288,8]]},"487":{"position":[[281,8]]},"492":{"position":[[38,7],[60,7]]},"538":{"position":[[334,7]]},"545":{"position":[[141,7]]},"580":{"position":[[243,8],[290,8]]},"581":{"position":[[728,8],[775,8]]},"591":{"position":[[687,8],[734,8]]}},"keywords":{}}],["detect",{"_index":2646,"title":{},"content":{"279":{"position":[[9018,8],[9176,8],[9337,8],[9457,8],[9841,9],[10227,9]]},"326":{"position":[[807,7]]},"548":{"position":[[177,7]]}},"keywords":{}}],["determin",{"_index":319,"title":{},"content":{"11":{"position":[[147,10]]},"64":{"position":[[558,9]]},"74":{"position":[[700,10]]},"109":{"position":[[1961,9]]},"358":{"position":[[5424,9]]},"380":{"position":[[315,9]]},"401":{"position":[[149,10]]},"535":{"position":[[1106,9]]},"540":{"position":[[374,9],[481,9]]},"554":{"position":[[73,11]]},"569":{"position":[[764,9]]},"743":{"position":[[256,11]]}},"keywords":{}}],["dev",{"_index":976,"title":{},"content":{"42":{"position":[[2237,3]]},"44":{"position":[[507,3],[610,3]]}},"keywords":{}}],["dev.txt",{"_index":2218,"title":{},"content":{"211":{"position":[[120,7]]}},"keywords":{}}],["dev.yaml",{"_index":1042,"title":{},"content":{"44":{"position":[[480,8]]}},"keywords":{}}],["dev/stderr",{"_index":1664,"title":{},"content":{"83":{"position":[[3139,11],[3251,11]]}},"keywords":{}}],["dev/ttys0",{"_index":1908,"title":{},"content":{"111":{"position":[[297,13],[409,13],[1751,10],[1762,10]]}},"keywords":{}}],["dev/ttys1",{"_index":1918,"title":{},"content":{"111":{"position":[[1330,10],[1341,10]]}},"keywords":{}}],["dev/ttyusb0",{"_index":2938,"title":{},"content":{"317":{"position":[[294,12]]}},"keywords":{}}],["dev_server.bat",{"_index":1049,"title":{},"content":{"44":{"position":[[937,14]]}},"keywords":{}}],["develop",{"_index":21,"title":{"41":{"position":[[0,10]]},"42":{"position":[[0,11]]}},"content":{"1":{"position":[[217,11]]},"42":{"position":[[22,8],[487,7],[2036,11],[2204,11]]},"43":{"position":[[55,7],[491,11],[891,11],[1361,11],[1406,12]]},"44":{"position":[[25,7],[135,11],[160,11]]},"83":{"position":[[228,9]]},"93":{"position":[[4,10],[332,9],[498,9]]},"255":{"position":[[101,11]]},"263":{"position":[[314,7]]},"264":{"position":[[101,10]]},"265":{"position":[[63,10]]},"269":{"position":[[100,11]]},"301":{"position":[[456,12]]},"302":{"position":[[1575,10]]},"307":{"position":[[147,10],[365,12],[410,12],[1517,11],[1656,11]]},"324":{"position":[[90,11],[153,12]]},"326":{"position":[[1305,7]]},"338":{"position":[[404,9]]},"349":{"position":[[172,10],[1385,10]]},"359":{"position":[[2966,11]]},"387":{"position":[[1636,10]]},"390":{"position":[[405,12],[1297,12]]},"391":{"position":[[313,7]]},"392":{"position":[[56,10],[491,7],[609,11]]},"402":{"position":[[47,10]]},"414":{"position":[[182,11]]},"546":{"position":[[291,7]]},"552":{"position":[[904,9]]}},"keywords":{}}],["developerslot",{"_index":3809,"title":{},"content":{"392":{"position":[[367,14]]}},"keywords":{}}],["devic",{"_index":19,"title":{},"content":{"1":{"position":[[199,8]]},"109":{"position":[[81,8]]},"110":{"position":[[91,8]]},"112":{"position":[[76,8],[209,6],[242,6],[478,6]]},"149":{"position":[[383,7]]},"213":{"position":[[103,7]]},"312":{"position":[[96,7]]},"317":{"position":[[144,8],[216,6]]},"332":{"position":[[94,7],[491,6]]}},"keywords":{}}],["device"",{"_index":3941,"title":{},"content":{"404":{"position":[[686,12]]}},"keywords":{}}],["dfw4kkva6acgfsf_f8tbh_rzrvqwlvwwzda_eggkzhzwcnac8tdjxrxuawmnogwt0aahzaow8evwmkp",{"_index":1554,"title":{},"content":{"82":{"position":[[2285,79],[5750,79]]}},"keywords":{}}],["diag",{"_index":2487,"title":{},"content":{"253":{"position":[[942,4]]},"299":{"position":[[1117,4]]}},"keywords":{}}],["diagram",{"_index":3099,"title":{"343":{"position":[[33,8]]}},"content":{"343":{"position":[[15,7]]}},"keywords":{}}],["dialog",{"_index":2421,"title":{},"content":{"241":{"position":[[83,6]]},"279":{"position":[[3465,7],[4836,7],[5529,7],[6652,7]]},"348":{"position":[[1969,6],[2042,6]]},"421":{"position":[[154,6]]},"422":{"position":[[199,6],[571,6]]},"461":{"position":[[148,6],[398,6]]},"462":{"position":[[136,7],[448,7]]},"472":{"position":[[207,6],[828,6],[979,6],[1229,6]]},"478":{"position":[[210,6],[460,6]]},"481":{"position":[[158,7],[277,7]]},"484":{"position":[[188,7],[332,6]]},"492":{"position":[[68,7],[84,6]]},"502":{"position":[[147,6],[397,6]]},"504":{"position":[[46,7]]},"505":{"position":[[76,7]]},"511":{"position":[[81,6]]},"514":{"position":[[259,6]]},"515":{"position":[[280,6]]},"521":{"position":[[166,6],[416,6]]},"522":{"position":[[126,6],[674,7]]},"528":{"position":[[83,6],[311,6],[634,6],[684,6]]},"673":{"position":[[66,6],[970,7],[1026,6]]}},"keywords":{}}],["dict",{"_index":5401,"title":{},"content":{"740":{"position":[[16,4]]},"770":{"position":[[156,6]]},"773":{"position":[[54,5]]},"803":{"position":[[151,4]]},"804":{"position":[[154,4]]}},"keywords":{}}],["dict_keys(['default",{"_index":5412,"title":{},"content":{"740":{"position":[[878,21]]}},"keywords":{}}],["didn't",{"_index":3298,"title":{},"content":{"359":{"position":[[1798,6]]}},"keywords":{}}],["differ",{"_index":296,"title":{"566":{"position":[[17,11]]}},"content":{"9":{"position":[[21,9]]},"17":{"position":[[244,6]]},"18":{"position":[[249,6]]},"33":{"position":[[402,9]]},"48":{"position":[[25,9],[4749,9]]},"83":{"position":[[1533,9],[1776,9]]},"109":{"position":[[272,7]]},"110":{"position":[[292,7]]},"126":{"position":[[424,9]]},"150":{"position":[[172,9]]},"225":{"position":[[1019,10]]},"271":{"position":[[1058,10]]},"279":{"position":[[8124,9],[8250,9],[8277,9],[8640,9]]},"309":{"position":[[910,9]]},"343":{"position":[[838,9]]},"345":{"position":[[391,9]]},"346":{"position":[[1468,9]]},"349":{"position":[[1026,9]]},"389":{"position":[[1792,9]]},"435":{"position":[[266,9]]},"446":{"position":[[137,9]]},"473":{"position":[[529,9],[1236,9]]},"513":{"position":[[663,9]]},"519":{"position":[[230,9]]},"540":{"position":[[43,11],[3656,10]]},"544":{"position":[[399,6]]},"554":{"position":[[882,9]]},"559":{"position":[[25,9],[318,9]]},"571":{"position":[[192,9],[213,9]]},"572":{"position":[[135,9]]},"659":{"position":[[16,9],[116,12]]},"722":{"position":[[144,9]]},"741":{"position":[[141,9]]}},"keywords":{}}],["differenti",{"_index":1062,"title":{},"content":{"47":{"position":[[159,13]]},"101":{"position":[[59,15]]}},"keywords":{}}],["difficult",{"_index":3764,"title":{},"content":{"389":{"position":[[1863,9]]},"547":{"position":[[245,9]]}},"keywords":{}}],["difficult.indent",{"_index":4327,"title":{},"content":{"540":{"position":[[287,21]]}},"keywords":{}}],["digit",{"_index":3759,"title":{},"content":{"389":{"position":[[1259,7]]}},"keywords":{}}],["dir",{"_index":3042,"title":{"376":{"position":[[25,4]]}},"content":{"331":{"position":[[756,3]]},"378":{"position":[[399,3]]}},"keywords":{}}],["direct",{"_index":1037,"title":{},"content":{"44":{"position":[[215,6]]},"309":{"position":[[36,10],[467,10],[533,10]]},"332":{"position":[[1307,10]]},"365":{"position":[[324,6]]},"386":{"position":[[17,6]]},"404":{"position":[[147,10]]},"431":{"position":[[689,6]]}},"keywords":{}}],["direct3d",{"_index":3542,"title":{},"content":{"369":{"position":[[4392,8]]}},"keywords":{}}],["directli",{"_index":226,"title":{},"content":{"6":{"position":[[701,8]]},"67":{"position":[[1138,8],[1412,8]]},"105":{"position":[[747,8]]},"108":{"position":[[354,8]]},"109":{"position":[[710,8]]},"110":{"position":[[1044,8]]},"111":{"position":[[939,8]]},"112":{"position":[[295,8]]},"113":{"position":[[346,8]]},"265":{"position":[[310,8]]},"268":{"position":[[361,8]]},"309":{"position":[[674,10],[3088,9]]},"317":{"position":[[26,8]]},"331":{"position":[[297,8]]},"333":{"position":[[66,8]]},"340":{"position":[[428,8]]},"364":{"position":[[59,8]]},"414":{"position":[[38,8]]},"440":{"position":[[756,8]]},"467":{"position":[[516,8]]},"497":{"position":[[34,8]]},"539":{"position":[[143,8]]},"547":{"position":[[536,8]]},"560":{"position":[[1089,9]]},"699":{"position":[[385,8]]},"758":{"position":[[16,8]]},"759":{"position":[[16,8]]},"768":{"position":[[16,8]]},"769":{"position":[[16,8]]},"786":{"position":[[49,8]]},"787":{"position":[[54,8]]},"795":{"position":[[881,9],[1040,9]]}},"keywords":{}}],["directori",{"_index":331,"title":{"124":{"position":[[7,9]]}},"content":{"12":{"position":[[212,9],[313,9],[398,9]]},"15":{"position":[[461,10]]},"16":{"position":[[463,10]]},"31":{"position":[[156,9]]},"32":{"position":[[158,9]]},"124":{"position":[[36,9]]},"143":{"position":[[32,9],[52,9],[271,9]]},"181":{"position":[[17,9],[36,9],[255,9]]},"225":{"position":[[263,9]]},"271":{"position":[[291,9]]},"279":{"position":[[10637,10]]},"288":{"position":[[284,10]]},"301":{"position":[[119,9],[436,9]]},"302":{"position":[[401,12]]},"303":{"position":[[451,12]]},"304":{"position":[[608,12]]},"305":{"position":[[647,12]]},"306":{"position":[[637,12]]},"307":{"position":[[741,12]]},"309":{"position":[[699,11]]},"313":{"position":[[238,9]]},"315":{"position":[[213,10]]},"319":{"position":[[501,11]]},"320":{"position":[[64,9],[1331,10]]},"323":{"position":[[189,9],[251,10],[468,9]]},"326":{"position":[[84,10],[261,10],[428,9],[1113,9],[1198,9]]},"331":{"position":[[627,9]]},"333":{"position":[[32,9]]},"338":{"position":[[233,10]]},"340":{"position":[[15,9],[135,9],[182,11],[406,9]]},"358":{"position":[[312,10],[1557,9],[2157,10]]},"383":{"position":[[948,10],[1011,10]]},"396":{"position":[[174,10]]},"397":{"position":[[173,10]]},"497":{"position":[[202,9],[316,9]]},"548":{"position":[[137,11]]},"551":{"position":[[742,10]]},"575":{"position":[[286,10]]},"649":{"position":[[156,10]]},"650":{"position":[[597,10],[1436,10]]},"669":{"position":[[46,9],[279,10]]},"670":{"position":[[29,9],[200,10]]},"671":{"position":[[29,9],[176,10]]}},"keywords":{}}],["disabl",{"_index":717,"title":{"238":{"position":[[0,9]]},"325":{"position":[[0,9]]}},"content":{"36":{"position":[[3136,7]]},"40":{"position":[[833,7],[1162,7]]},"111":{"position":[[330,7],[442,7]]},"136":{"position":[[1,7]]},"172":{"position":[[1,8]]},"176":{"position":[[17,7],[42,7]]},"190":{"position":[[17,7],[42,7]]},"201":{"position":[[17,7],[42,7]]},"205":{"position":[[17,7],[42,7]]},"229":{"position":[[3136,7]]},"238":{"position":[[1,8],[67,8],[124,8]]},"239":{"position":[[1,7]]},"279":{"position":[[8786,9],[8903,8]]},"297":{"position":[[104,8],[200,8],[357,7],[499,8],[622,7],[654,9]]},"325":{"position":[[16,7]]},"363":{"position":[[411,7]]},"421":{"position":[[658,8]]},"468":{"position":[[315,8],[360,8]]},"552":{"position":[[2008,9],[2135,7]]},"733":{"position":[[1,8]]},"735":{"position":[[1,8]]},"793":{"position":[[1,8],[380,9],[445,8]]}},"keywords":{}}],["disable_disconnect",{"_index":2036,"title":{"136":{"position":[[0,19]]}},"content":{},"keywords":{}}],["disable_erb",{"_index":2131,"title":{"176":{"position":[[0,12]]},"190":{"position":[[0,12]]},"201":{"position":[[0,12]]},"205":{"position":[[0,12]]}},"content":{},"keywords":{}}],["disable_instrument",{"_index":4485,"title":{"793":{"position":[[0,24]]}},"content":{"552":{"position":[[2084,23],[2258,23],[2406,26]]},"793":{"position":[[520,23],[652,26]]}},"keywords":{}}],["disable_limit",{"_index":5385,"title":{"733":{"position":[[0,15]]}},"content":{},"keywords":{}}],["disable_limits("<target",{"_index":5386,"title":{},"content":{"733":{"position":[[86,31]]}},"keywords":{}}],["disable_limits("inst",{"_index":5387,"title":{},"content":{"733":{"position":[[376,25]]}},"keywords":{}}],["disable_limits_group",{"_index":5392,"title":{"735":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disable_limits_group("<limit",{"_index":5393,"title":{},"content":{"735":{"position":[[109,37]]}},"keywords":{}}],["disable_limits_group("name"",{"_index":2685,"title":{},"content":{"297":{"position":[[382,38]]}},"keywords":{}}],["disable_limits_group("safe_mode"",{"_index":5394,"title":{},"content":{"735":{"position":[[261,43]]}},"keywords":{}}],["disable_messag",{"_index":721,"title":{"239":{"position":[[0,17]]}},"content":{"36":{"position":[[3309,16],[3717,16]]},"229":{"position":[[3309,16],[3717,16]]}},"keywords":{}}],["discard",{"_index":1197,"title":{},"content":{"53":{"position":[[361,7],[588,7],[743,7]]},"54":{"position":[[647,10],[941,7],[986,7],[1141,7]]},"55":{"position":[[464,10],[1722,7],[1767,7],[1905,10],[2016,11],[2041,7]]},"56":{"position":[[847,7],[892,7],[1043,7]]},"57":{"position":[[568,7],[804,7]]},"60":{"position":[[350,7],[395,7],[546,7]]},"61":{"position":[[1750,10],[2019,7],[2064,7],[2215,7]]},"62":{"position":[[573,10]]}},"keywords":{}}],["disclos",{"_index":4101,"title":{},"content":{"432":{"position":[[1046,8]]},"435":{"position":[[191,8]]}},"keywords":{}}],["disclosur",{"_index":4069,"title":{},"content":{"429":{"position":[[211,11]]}},"keywords":{}}],["disconnect",{"_index":1339,"title":{"556":{"position":[[6,10]]}},"content":{"65":{"position":[[394,10],[407,10]]},"67":{"position":[[2712,10],[2777,13],[3356,11],[4062,11],[4236,10],[4252,10]]},"70":{"position":[[98,13],[179,10]]},"72":{"position":[[97,13]]},"73":{"position":[[219,11],[468,10],[542,12]]},"74":{"position":[[243,11],[494,10],[568,12]]},"75":{"position":[[242,11],[510,10],[584,12]]},"76":{"position":[[242,11],[507,10],[581,12]]},"77":{"position":[[458,11],[684,10],[758,12],[895,10]]},"115":{"position":[[406,10],[660,12],[684,10]]},"136":{"position":[[13,10],[110,13],[248,10]]},"345":{"position":[[95,13],[124,10],[232,13],[258,10]]},"346":{"position":[[326,13],[377,10],[1285,13],[1333,10]]},"349":{"position":[[4301,12],[4433,11]]},"402":{"position":[[1483,13],[1541,12]]},"509":{"position":[[168,12]]},"512":{"position":[[104,10]]},"517":{"position":[[244,15]]},"556":{"position":[[1,10],[128,10],[188,11],[263,11],[303,13],[521,10],[554,12],[619,12]]},"662":{"position":[[1195,11]]},"710":{"position":[[205,12],[255,10]]},"753":{"position":[[1,11]]},"762":{"position":[[1,11]]},"799":{"position":[[21,10],[41,10],[198,10]]}},"keywords":{}}],["disconnect_interfac",{"_index":5518,"title":{"753":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disconnect_interface("<interfac",{"_index":5519,"title":{},"content":{"753":{"position":[[86,40]]}},"keywords":{}}],["disconnect_interface("int1"",{"_index":5520,"title":{},"content":{"753":{"position":[[229,38]]}},"keywords":{}}],["disconnect_reset",{"_index":1429,"title":{"72":{"position":[[0,17]]}},"content":{"72":{"position":[[5,16],[149,16],[273,16]]}},"keywords":{}}],["disconnect_reset(self",{"_index":1430,"title":{},"content":{"72":{"position":[[219,23]]}},"keywords":{}}],["disconnect_rout",{"_index":5579,"title":{"762":{"position":[[0,18]]}},"content":{},"keywords":{}}],["disconnect_router("<rout",{"_index":5580,"title":{},"content":{"762":{"position":[[54,34]]}},"keywords":{}}],["disconnect_router("int1_router"",{"_index":5581,"title":{},"content":{"762":{"position":[[185,42]]}},"keywords":{}}],["disconnect_script",{"_index":4930,"title":{"799":{"position":[[0,18]]}},"content":{"662":{"position":[[3694,17]]},"799":{"position":[[316,19]]}},"keywords":{}}],["discount",{"_index":4049,"title":{},"content":{"426":{"position":[[243,9]]}},"keywords":{}}],["discov",{"_index":3236,"title":{},"content":{"356":{"position":[[633,8]]}},"keywords":{}}],["discoveri",{"_index":363,"title":{},"content":{"15":{"position":[[244,10]]},"16":{"position":[[248,10]]},"356":{"position":[[612,9]]}},"keywords":{}}],["discovery."",{"_index":2536,"title":{},"content":{"261":{"position":[[256,16]]}},"keywords":{}}],["discret",{"_index":2383,"title":{},"content":{"225":{"position":[[191,11]]},"271":{"position":[[217,11]]}},"keywords":{}}],["discuss",{"_index":77,"title":{"68":{"position":[[7,12]]}},"content":{"2":{"position":[[749,10]]},"67":{"position":[[904,10],[1679,7],[1751,11]]},"69":{"position":[[906,9]]},"100":{"position":[[626,7]]},"551":{"position":[[688,10]]},"564":{"position":[[801,9]]}},"keywords":{}}],["disk",{"_index":2845,"title":{},"content":{"309":{"position":[[948,5],[980,4]]},"330":{"position":[[387,4],[460,4]]}},"keywords":{}}],["diskrenam",{"_index":4274,"title":{},"content":{"528":{"position":[[175,10]]}},"keywords":{}}],["dismiss",{"_index":4166,"title":{},"content":{"470":{"position":[[210,10]]}},"keywords":{}}],["display",{"_index":349,"title":{},"content":{"13":{"position":[[192,7],[295,7]]},"14":{"position":[[166,7]]},"31":{"position":[[61,9]]},"33":{"position":[[270,7],[468,7],[683,7]]},"36":{"position":[[202,7],[296,9]]},"43":{"position":[[1274,10]]},"115":{"position":[[1161,9],[1420,9]]},"122":{"position":[[100,10]]},"192":{"position":[[422,9]]},"196":{"position":[[8,7],[68,7],[316,7]]},"197":{"position":[[129,7]]},"209":{"position":[[176,8]]},"229":{"position":[[202,7],[296,9]]},"271":{"position":[[1203,10]]},"279":{"position":[[197,7],[291,9],[2505,9],[3365,9],[4736,9],[5429,9],[6552,9],[8110,8]]},"302":{"position":[[2323,7]]},"306":{"position":[[722,8]]},"307":{"position":[[1245,8]]},"346":{"position":[[194,7],[459,7],[557,7],[662,7],[840,7],[954,7],[1159,7],[1727,7]]},"347":{"position":[[16,8],[242,7],[301,9],[458,9],[547,10]]},"348":{"position":[[712,7],[1545,7],[1653,9],[1709,7],[1826,10]]},"350":{"position":[[394,7],[503,9],[1332,9],[1424,10],[1614,9]]},"351":{"position":[[231,7],[331,7],[416,7]]},"354":{"position":[[34,7],[75,7],[182,8],[485,7],[524,7],[595,8]]},"356":{"position":[[400,7]]},"421":{"position":[[511,9]]},"446":{"position":[[29,8]]},"454":{"position":[[533,7]]},"457":{"position":[[169,7],[206,7]]},"461":{"position":[[155,8],[410,8]]},"462":{"position":[[12,8],[431,7],[535,9]]},"464":{"position":[[345,9]]},"467":{"position":[[158,7]]},"468":{"position":[[267,7]]},"472":{"position":[[214,8],[573,10],[986,8],[1241,8]]},"473":{"position":[[65,9],[148,9],[194,10],[341,9],[575,8],[688,10],[1328,10]]},"478":{"position":[[217,8],[472,8]]},"487":{"position":[[77,7],[165,9]]},"501":{"position":[[51,8]]},"502":{"position":[[154,8],[409,8]]},"503":{"position":[[188,8]]},"505":{"position":[[108,9]]},"512":{"position":[[20,8]]},"513":{"position":[[17,8]]},"514":{"position":[[25,8],[266,10]]},"515":{"position":[[27,8],[287,10]]},"516":{"position":[[16,8]]},"517":{"position":[[100,8]]},"521":{"position":[[173,8],[428,8]]},"522":{"position":[[262,10],[391,8]]},"528":{"position":[[318,8],[691,10]]},"529":{"position":[[3,7]]},"552":{"position":[[852,7]]},"574":{"position":[[94,7],[520,9],[555,7]]},"601":{"position":[[107,7]]},"602":{"position":[[107,7]]},"604":{"position":[[1,8],[179,7]]},"605":{"position":[[16,8]]},"606":{"position":[[1,8],[91,7]]},"608":{"position":[[33,7],[254,7]]},"609":{"position":[[1,8],[462,8]]},"610":{"position":[[1,8],[649,8]]},"611":{"position":[[1,8],[634,8]]},"612":{"position":[[1,8],[198,8]]},"613":{"position":[[1,8],[249,10],[446,8]]},"614":{"position":[[1,8],[219,8]]},"615":{"position":[[1,8],[222,7],[258,7],[365,8]]},"616":{"position":[[1,8],[239,8]]},"617":{"position":[[1,8],[242,8]]},"618":{"position":[[1,8],[229,7],[368,7],[516,8]]},"619":{"position":[[1,8],[506,8]]},"620":{"position":[[1,8],[235,8]]},"621":{"position":[[1,8],[233,8]]},"622":{"position":[[1,8],[219,8]]},"623":{"position":[[1,8],[208,8]]},"624":{"position":[[1,8],[211,8]]},"625":{"position":[[1,8],[198,7],[337,7],[485,8]]},"626":{"position":[[1,8],[205,8],[290,7],[439,8],[932,8],[1017,7],[1166,8],[1450,7],[1591,7],[1701,7],[1876,7]]},"627":{"position":[[1,8],[239,8],[324,7],[473,8],[985,8],[1070,7],[1219,8],[1503,7],[1644,7],[1754,7],[1929,7]]},"628":{"position":[[1,8],[223,8],[308,7],[457,8],[957,8],[1042,7],[1191,8],[1475,7],[1616,7],[1726,7],[1901,7]]},"629":{"position":[[1,7]]},"630":{"position":[[1,8],[44,10],[253,10],[456,8]]},"631":{"position":[[1,8],[29,10],[208,7],[347,7],[495,8]]},"632":{"position":[[17,8],[157,8]]},"633":{"position":[[17,8],[251,8],[544,7],[589,8],[632,8],[665,8]]},"635":{"position":[[1,8],[447,8]]},"637":{"position":[[1,8],[1625,9]]},"638":{"position":[[1,8],[167,9]]},"639":{"position":[[1,8],[189,7],[251,7]]},"640":{"position":[[1,8]]},"642":{"position":[[1,8],[263,7]]},"643":{"position":[[1,8]]},"644":{"position":[[1,8]]},"645":{"position":[[42,8]]},"648":{"position":[[480,8]]},"649":{"position":[[1,8]]},"650":{"position":[[1,8],[132,9],[433,7],[542,8],[1381,8]]},"652":{"position":[[639,8]]},"658":{"position":[[353,8],[796,7],[1213,7]]},"662":{"position":[[518,7]]},"664":{"position":[[598,9]]},"665":{"position":[[564,9]]},"673":{"position":[[1011,7]]},"675":{"position":[[1,8]]},"787":{"position":[[712,8],[778,7],[809,11],[898,7]]},"791":{"position":[[54,7]]},"792":{"position":[[53,7]]},"803":{"position":[[301,7]]},"804":{"position":[[318,7]]}},"keywords":{}}],["display/us",{"_index":4589,"title":{},"content":{"574":{"position":[[159,12]]}},"keywords":{}}],["display_screen",{"_index":4869,"title":{"780":{"position":[[0,15]]}},"content":{"662":{"position":[[559,14]]}},"keywords":{}}],["display_screen("<target",{"_index":5652,"title":{},"content":{"780":{"position":[[77,31]]}},"keywords":{}}],["display_screen("inst"",{"_index":5657,"title":{},"content":{"780":{"position":[[499,32]]}},"keywords":{}}],["disput",{"_index":4080,"title":{},"content":{"430":{"position":[[484,9]]}},"keywords":{}}],["distanc",{"_index":1341,"title":{},"content":{"65":{"position":[[523,8]]}},"keywords":{}}],["distinct",{"_index":2650,"title":{},"content":{"279":{"position":[[9623,8],[10010,8]]},"550":{"position":[[26,8]]}},"keywords":{}}],["distinguish",{"_index":3204,"title":{},"content":{"350":{"position":[[1196,14]]},"358":{"position":[[6320,13]]},"379":{"position":[[3737,11]]}},"keywords":{}}],["distribut",{"_index":3309,"title":{},"content":{"361":{"position":[[234,11]]}},"keywords":{}}],["distro",{"_index":3344,"title":{},"content":{"363":{"position":[[6,6]]}},"keywords":{}}],["dive",{"_index":4483,"title":{},"content":{"552":{"position":[[597,4]]}},"keywords":{}}],["dn",{"_index":2874,"title":{},"content":{"309":{"position":[[2208,3]]}},"keywords":{}}],["do",{"_index":2287,"title":{},"content":{"216":{"position":[[551,5]]},"217":{"position":[[2672,5]]},"271":{"position":[[1463,5]]},"387":{"position":[[320,5]]},"545":{"position":[[32,5]]}},"keywords":{}}],["docker",{"_index":36,"title":{"23":{"position":[[7,6]]},"259":{"position":[[0,6]]},"309":{"position":[[40,6]]}},"content":{"2":{"position":[[129,6],[160,6]]},"21":{"position":[[33,6]]},"42":{"position":[[143,7],[323,6],[915,6],[2345,6]]},"44":{"position":[[299,6],[379,6],[432,6],[530,6],[733,6],[828,6]]},"146":{"position":[[16,6]]},"187":{"position":[[1,6]]},"257":{"position":[[5,7],[85,6],[386,6]]},"258":{"position":[[5,7],[212,7],[412,6]]},"259":{"position":[[5,7],[78,6]]},"260":{"position":[[44,6]]},"309":{"position":[[109,7],[129,6],[223,6],[404,7],[1436,6],[1521,6],[1616,6],[1684,6],[1800,6],[1823,6],[3020,6],[4069,6]]},"310":{"position":[[319,6],[347,6],[393,6]]},"314":{"position":[[2066,6]]},"317":{"position":[[60,6],[260,6]]},"330":{"position":[[74,6],[99,6],[138,6],[259,6],[310,6],[358,7],[427,7],[465,6],[913,6],[940,6],[1109,6],[1582,6],[1624,6]]},"332":{"position":[[389,6]]},"333":{"position":[[549,6],[585,6],[596,6],[668,6],[688,6],[855,6],[1286,6],[1333,7]]},"343":{"position":[[220,6],[251,6]]},"344":{"position":[[129,6]]},"358":{"position":[[1908,6]]},"363":{"position":[[289,6],[455,6]]},"367":{"position":[[1051,6]]},"369":{"position":[[134,7],[288,7],[996,6],[2487,6],[3655,6],[3858,6],[4278,6]]},"373":{"position":[[12,6]]},"374":{"position":[[22,6]]},"377":{"position":[[45,7],[94,6],[116,6]]},"380":{"position":[[405,6],[500,6]]},"382":{"position":[[23,6],[60,6]]},"404":{"position":[[2357,6],[2377,6]]}},"keywords":{}}],["docker.io",{"_index":2898,"title":{},"content":{"309":{"position":[[3340,10]]},"331":{"position":[[396,9],[473,9]]}},"keywords":{}}],["docker.sh",{"_index":3975,"title":{},"content":{"404":{"position":[[2308,9],[2330,9]]}},"keywords":{}}],["docker_host="unix://$xdg_runtime_dir/podman/podman.sock"",{"_index":2887,"title":{},"content":{"309":{"position":[[2565,66]]}},"keywords":{}}],["docker_host='unix:///users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock",{"_index":2910,"title":{},"content":{"310":{"position":[[218,92]]}},"keywords":{}}],["dockerfil",{"_index":468,"title":{"21":{"position":[[28,11]]},"376":{"position":[[7,10]]}},"content":{"257":{"position":[[309,10]]},"362":{"position":[[1217,10]]},"363":{"position":[[469,10]]},"364":{"position":[[1178,10]]},"365":{"position":[[403,10]]}},"keywords":{}}],["document",{"_index":119,"title":{},"content":{"3":{"position":[[527,13]]},"5":{"position":[[545,14],[1341,8]]},"20":{"position":[[1549,13]]},"50":{"position":[[870,14]]},"69":{"position":[[930,9]]},"88":{"position":[[361,10],[602,10]]},"117":{"position":[[6,8]]},"124":{"position":[[98,14]]},"128":{"position":[[893,13]]},"149":{"position":[[683,13]]},"301":{"position":[[1081,10],[1419,8]]},"320":{"position":[[1493,14]]},"328":{"position":[[103,8]]},"330":{"position":[[207,14]]},"336":{"position":[[23,14]]},"338":{"position":[[414,14]]},"358":{"position":[[4651,13],[5903,13]]},"362":{"position":[[1367,8],[1447,8]]},"378":{"position":[[253,14]]},"386":{"position":[[652,14]]},"393":{"position":[[1373,8]]},"402":{"position":[[19,13]]},"426":{"position":[[165,9],[634,8]]},"447":{"position":[[650,13]]},"507":{"position":[[5,13]]},"538":{"position":[[200,8]]},"543":{"position":[[343,11]]},"560":{"position":[[190,10]]},"582":{"position":[[531,10]]},"814":{"position":[[93,10]]}},"keywords":{}}],["doesn't",{"_index":1249,"title":{},"content":{"57":{"position":[[242,7]]},"70":{"position":[[403,7]]},"141":{"position":[[626,7]]},"274":{"position":[[71,7]]},"332":{"position":[[1116,7]]},"358":{"position":[[4587,7]]},"383":{"position":[[1723,7]]},"566":{"position":[[173,7]]},"673":{"position":[[371,7]]}},"keywords":{}}],["dollar",{"_index":3801,"title":{},"content":{"392":{"position":[[48,7]]}},"keywords":{}}],["domain",{"_index":502,"title":{},"content":{"22":{"position":[[505,8]]}},"keywords":{}}],["don't",{"_index":371,"title":{"544":{"position":[[16,6]]}},"content":{"17":{"position":[[43,5]]},"18":{"position":[[46,5]]},"24":{"position":[[706,5]]},"48":{"position":[[4845,5]]},"65":{"position":[[221,5]]},"73":{"position":[[862,5],[1250,5]]},"219":{"position":[[422,5]]},"268":{"position":[[418,5]]},"309":{"position":[[2863,5]]},"330":{"position":[[1092,5]]},"358":{"position":[[3443,5],[4542,5],[5793,5]]},"359":{"position":[[2291,5]]},"378":{"position":[[1490,5]]},"387":{"position":[[997,5]]},"392":{"position":[[417,5],[514,5]]},"540":{"position":[[1727,5]]},"552":{"position":[[838,5]]},"566":{"position":[[519,5]]},"793":{"position":[[563,5],[703,5]]}},"keywords":{}}],["done",{"_index":856,"title":{},"content":{"38":{"position":[[49,4]]},"43":{"position":[[318,4]]},"83":{"position":[[1587,4],[3524,4]]},"402":{"position":[[2360,4],[3377,4]]},"422":{"position":[[491,4]]},"563":{"position":[[104,5],[297,4]]}},"keywords":{}}],["dont_connect",{"_index":2029,"title":{"133":{"position":[[0,13]]}},"content":{},"keywords":{}}],["dont_reconnect",{"_index":2031,"title":{"134":{"position":[[0,15]]}},"content":{"135":{"position":[[32,14]]}},"keywords":{}}],["dot",{"_index":4221,"title":{},"content":{"498":{"position":[[818,4],[894,4]]},"653":{"position":[[9,3],[89,3],[127,3],[155,3],[185,3]]},"664":{"position":[[613,4]]},"665":{"position":[[579,4]]}},"keywords":{}}],["dotfil",{"_index":2822,"title":{},"content":{"307":{"position":[[1581,8]]}},"keywords":{}}],["doubl",{"_index":308,"title":{},"content":{"9":{"position":[[808,6],[935,6]]},"304":{"position":[[392,6]]},"402":{"position":[[2836,6],[3845,6]]},"498":{"position":[[887,6]]},"637":{"position":[[648,6]]}},"keywords":{}}],["double_conversion.rb",{"_index":2791,"title":{},"content":{"304":{"position":[[548,20],[1124,20]]}},"keywords":{}}],["doubt",{"_index":1370,"title":{},"content":{"67":{"position":[[1205,6],[1479,6]]}},"keywords":{}}],["down",{"_index":1151,"title":{},"content":{"50":{"position":[[577,4]]},"67":{"position":[[525,4],[1970,4],[2563,4]]},"203":{"position":[[473,4]]},"258":{"position":[[493,4]]},"338":{"position":[[122,4]]},"348":{"position":[[555,4]]},"349":{"position":[[995,4]]},"350":{"position":[[357,4]]},"373":{"position":[[485,4]]},"386":{"position":[[94,4]]},"464":{"position":[[131,4]]},"467":{"position":[[76,5],[358,4]]},"482":{"position":[[51,5],[138,4],[397,4]]},"491":{"position":[[100,4]]},"503":{"position":[[48,4],[139,5]]},"506":{"position":[[399,4]]},"523":{"position":[[48,4],[123,4],[186,5]]},"532":{"position":[[140,4]]},"533":{"position":[[306,4],[912,4]]},"534":{"position":[[649,4],[761,4]]},"542":{"position":[[35,4]]},"546":{"position":[[682,4]]},"554":{"position":[[1155,4]]},"639":{"position":[[17,4],[219,4],[281,4]]}},"keywords":{}}],["downgrad",{"_index":3697,"title":{},"content":{"382":{"position":[[473,10],[484,10],[876,11],[931,10],[988,11]]}},"keywords":{}}],["download",{"_index":2292,"title":{"442":{"position":[[0,9]]},"496":{"position":[[5,9]]},"497":{"position":[[9,9]]}},"content":{"216":{"position":[[879,9]]},"217":{"position":[[3000,9]]},"309":{"position":[[1413,9]]},"331":{"position":[[433,8]]},"340":{"position":[[599,8],[627,8]]},"356":{"position":[[646,8]]},"382":{"position":[[147,8]]},"407":{"position":[[385,9],[573,8]]},"431":{"position":[[119,8]]},"439":{"position":[[151,8]]},"442":{"position":[[11,8],[28,8]]},"485":{"position":[[260,8]]},"496":{"position":[[32,8],[41,8]]},"497":{"position":[[103,8],[335,8],[420,8]]},"499":{"position":[[233,8],[464,8],[521,8]]},"505":{"position":[[185,8],[222,8]]},"526":{"position":[[181,8]]},"529":{"position":[[537,8]]}},"keywords":{}}],["download.rb",{"_index":4208,"title":{"499":{"position":[[0,12]]}},"content":{"497":{"position":[[268,11]]},"499":{"position":[[39,11]]}},"keywords":{}}],["downsid",{"_index":4549,"title":{},"content":{"564":{"position":[[777,9]]}},"keywords":{}}],["drag",{"_index":3986,"title":{},"content":{"413":{"position":[[97,8]]}},"keywords":{}}],["dramat",{"_index":3486,"title":{},"content":{"369":{"position":[[2402,12]]}},"keywords":{}}],["drastic",{"_index":1121,"title":{},"content":{"48":{"position":[[4518,11]]}},"keywords":{}}],["draw",{"_index":4591,"title":{},"content":{"574":{"position":[[410,4]]},"645":{"position":[[30,4]]},"647":{"position":[[1,5],[228,4]]},"648":{"position":[[1,5]]},"651":{"position":[[1,5]]},"652":{"position":[[1,5]]},"653":{"position":[[1,5]]}},"keywords":{}}],["dri",{"_index":4389,"title":{"544":{"position":[[12,3]]}},"content":{"547":{"position":[[155,3]]},"799":{"position":[[228,3]]}},"keywords":{}}],["drive",{"_index":3301,"title":{},"content":{"359":{"position":[[2801,5]]}},"keywords":{}}],["driver",{"_index":1905,"title":{},"content":{"111":{"position":[[79,7],[114,7]]},"380":{"position":[[439,6]]}},"keywords":{}}],["drlive",{"_index":589,"title":{},"content":{"27":{"position":[[855,7]]}},"keywords":{}}],["drlive.crt",{"_index":587,"title":{},"content":{"27":{"position":[[751,12]]}},"keywords":{}}],["drlive.key",{"_index":579,"title":{},"content":{"27":{"position":[[314,12],[837,12]]}},"keywords":{}}],["drop",{"_index":1307,"title":{},"content":{"61":{"position":[[1601,5],[1730,8]]},"66":{"position":[[28,5],[78,5]]},"74":{"position":[[482,8]]},"75":{"position":[[498,8]]},"76":{"position":[[495,8]]},"106":{"position":[[665,8]]},"139":{"position":[[1158,4]]},"203":{"position":[[468,4]]},"330":{"position":[[1164,8],[1535,8]]},"348":{"position":[[550,4]]},"350":{"position":[[352,4]]},"413":{"position":[[110,8]]},"464":{"position":[[126,4]]},"467":{"position":[[71,4],[353,4]]},"482":{"position":[[46,4],[133,4],[392,4]]},"491":{"position":[[95,4]]},"503":{"position":[[43,4],[134,4]]},"523":{"position":[[43,4],[118,4],[181,4]]},"532":{"position":[[135,4]]},"533":{"position":[[301,4],[907,4]]},"534":{"position":[[644,4],[756,4]]},"639":{"position":[[12,4],[214,4],[276,4]]}},"keywords":{}}],["dropdown",{"_index":3129,"title":{},"content":{"348":{"position":[[121,9]]}},"keywords":{}}],["dual",{"_index":2933,"title":{},"content":{"316":{"position":[[111,4]]},"389":{"position":[[1530,4]]}},"keywords":{}}],["dualsens",{"_index":2934,"title":{},"content":{"316":{"position":[[155,9]]}},"keywords":{}}],["due",{"_index":2389,"title":{},"content":{"225":{"position":[[665,3]]},"271":{"position":[[692,3]]},"307":{"position":[[1090,3]]},"309":{"position":[[759,3]]},"369":{"position":[[870,3]]},"569":{"position":[[377,3]]},"579":{"position":[[315,3]]}},"keywords":{}}],["dummi",{"_index":2491,"title":{},"content":{"253":{"position":[[1621,5]]}},"keywords":{}}],["dump",{"_index":876,"title":{},"content":{"40":{"position":[[740,7]]},"273":{"position":[[239,5],[297,7]]},"354":{"position":[[146,5]]},"499":{"position":[[787,4]]}},"keywords":{}}],["dump_pkt",{"_index":4233,"title":{},"content":{"499":{"position":[[865,8]]}},"keywords":{}}],["duplic",{"_index":2767,"title":{},"content":{"302":{"position":[[1646,11]]}},"keywords":{}}],["dur",{"_index":4801,"title":{},"content":{"643":{"position":[[324,3]]}},"keywords":{}}],["dur))"",{"_index":4762,"title":{},"content":{"637":{"position":[[1095,13]]}},"keywords":{}}],["durat",{"_index":1735,"title":{},"content":{"91":{"position":[[1797,8]]},"213":{"position":[[720,8],[1159,8]]},"235":{"position":[[438,8]]},"236":{"position":[[522,8]]},"252":{"position":[[489,8]]},"352":{"position":[[848,8]]},"468":{"position":[[339,9]]},"592":{"position":[[665,8]]},"637":{"position":[[1086,8],[1811,8]]},"639":{"position":[[461,8]]},"643":{"position":[[257,8],[431,8]]},"654":{"position":[[241,8],[410,9],[440,8],[594,8]]},"677":{"position":[[1322,8],[1754,8]]},"678":{"position":[[1559,8],[1785,8]]},"680":{"position":[[1608,8],[1826,8]]},"681":{"position":[[1402,8],[1584,8]]},"682":{"position":[[1634,8],[1846,8]]},"684":{"position":[[1683,8],[1885,8]]},"685":{"position":[[455,8],[1014,8]]}},"keywords":{}}],["duration"",{"_index":2225,"title":{},"content":{"213":{"position":[[768,14],[1203,14]]}},"keywords":{}}],["dure",{"_index":1464,"title":{},"content":{"78":{"position":[[117,6]]},"83":{"position":[[1656,6]]},"126":{"position":[[133,6]]},"279":{"position":[[8403,6]]},"349":{"position":[[192,6]]},"380":{"position":[[1064,6]]},"637":{"position":[[537,6]]}},"keywords":{}}],["dv",{"_index":3224,"title":{},"content":{"354":{"position":[[344,2],[446,2],[541,2],[641,2]]}},"keywords":{}}],["dxcore",{"_index":3545,"title":{},"content":{"369":{"position":[[4427,6]]}},"keywords":{}}],["dynam",{"_index":1029,"title":{},"content":{"43":{"position":[[1169,11]]},"48":{"position":[[1790,11],[2423,11],[4951,11]]},"96":{"position":[[685,8]]},"105":{"position":[[94,11]]},"192":{"position":[[181,11]]},"342":{"position":[[711,7]]},"407":{"position":[[86,11]]},"540":{"position":[[637,11]]}},"keywords":{}}],["e",{"_index":1631,"title":{},"content":{"83":{"position":[[2078,1]]},"424":{"position":[[1209,2]]},"429":{"position":[[380,1]]}},"keywords":{}}],["e.g",{"_index":333,"title":{},"content":{"12":{"position":[[250,4],[447,4]]},"15":{"position":[[472,4]]},"16":{"position":[[474,4]]},"33":{"position":[[322,5]]},"36":{"position":[[382,4],[440,4],[9796,4],[10177,4]]},"42":{"position":[[1717,5]]},"55":{"position":[[1550,4]]},"111":{"position":[[282,4],[394,4],[601,4]]},"128":{"position":[[621,4]]},"225":{"position":[[371,4]]},"229":{"position":[[382,4],[440,4],[9796,4],[10177,4]]},"265":{"position":[[285,4]]},"268":{"position":[[273,4]]},"271":{"position":[[401,4]]},"274":{"position":[[736,4]]},"279":{"position":[[377,4],[435,4]]},"301":{"position":[[896,4]]},"333":{"position":[[482,5]]},"358":{"position":[[4091,3],[4154,4]]},"383":{"position":[[513,5]]},"402":{"position":[[2856,4],[3865,4],[4193,5]]},"440":{"position":[[650,4]]},"544":{"position":[[1086,6]]},"581":{"position":[[354,4]]},"587":{"position":[[144,4]]},"588":{"position":[[138,4]]},"589":{"position":[[149,4]]},"591":{"position":[[354,4]]},"629":{"position":[[329,5]]},"633":{"position":[[505,5]]},"669":{"position":[[333,4]]},"670":{"position":[[254,4]]},"671":{"position":[[230,4]]},"673":{"position":[[1172,4]]},"700":{"position":[[319,4]]}},"keywords":{}}],["each",{"_index":78,"title":{},"content":{"2":{"position":[[763,4]]},"5":{"position":[[1,4]]},"17":{"position":[[203,4]]},"18":{"position":[[207,4]]},"20":{"position":[[841,4]]},"33":{"position":[[328,4]]},"36":{"position":[[4532,4],[8529,4]]},"39":{"position":[[120,4]]},"48":{"position":[[4458,4]]},"50":{"position":[[148,4]]},"51":{"position":[[419,4]]},"53":{"position":[[145,4]]},"55":{"position":[[1446,4]]},"56":{"position":[[327,4]]},"61":{"position":[[459,4],[505,4]]},"65":{"position":[[1143,4]]},"67":{"position":[[861,4],[1978,4],[2471,4],[2843,4],[3199,4],[3890,4],[4492,4],[4813,4]]},"71":{"position":[[67,4]]},"72":{"position":[[70,4]]},"83":{"position":[[1442,4]]},"104":{"position":[[790,4]]},"105":{"position":[[677,4]]},"110":{"position":[[973,4]]},"111":{"position":[[869,4]]},"114":{"position":[[386,4]]},"117":{"position":[[492,4]]},"174":{"position":[[223,4]]},"229":{"position":[[4532,4],[8529,4]]},"233":{"position":[[418,4],[467,4]]},"234":{"position":[[201,4],[250,4]]},"283":{"position":[[411,4],[460,4]]},"284":{"position":[[203,4],[252,4]]},"294":{"position":[[120,4]]},"342":{"position":[[968,4]]},"348":{"position":[[2126,4]]},"349":{"position":[[4756,4]]},"350":{"position":[[1448,4],[1563,4]]},"353":{"position":[[515,4]]},"358":{"position":[[1280,4],[6339,4]]},"367":{"position":[[1127,4]]},"368":{"position":[[273,4]]},"369":{"position":[[2141,4]]},"383":{"position":[[204,4]]},"402":{"position":[[4988,4],[5095,4],[5430,4],[5558,4],[5910,4]]},"420":{"position":[[252,4]]},"427":{"position":[[478,4]]},"440":{"position":[[76,4]]},"450":{"position":[[247,4]]},"472":{"position":[[675,4]]},"513":{"position":[[689,4]]},"524":{"position":[[237,4],[656,4]]},"534":{"position":[[850,4]]},"540":{"position":[[4319,4],[4935,4]]},"542":{"position":[[978,4]]},"547":{"position":[[549,4]]},"550":{"position":[[5,4]]},"552":{"position":[[61,4],[631,4]]},"561":{"position":[[128,4]]},"563":{"position":[[521,4]]},"565":{"position":[[225,4]]},"566":{"position":[[69,4]]},"608":{"position":[[83,4]]},"609":{"position":[[324,4]]},"610":{"position":[[324,4],[545,4]]},"611":{"position":[[257,4]]},"635":{"position":[[148,4]]},"703":{"position":[[141,4]]},"704":{"position":[[235,4]]},"711":{"position":[[308,4]]},"715":{"position":[[96,4]]},"717":{"position":[[393,4]]},"748":{"position":[[86,4]]},"756":{"position":[[88,4]]},"765":{"position":[[85,4]]}},"keywords":{}}],["ear",{"_index":3826,"title":{},"content":{"393":{"position":[[1131,4],[1256,3]]}},"keywords":{}}],["earlier",{"_index":4291,"title":{},"content":{"531":{"position":[[580,7]]},"569":{"position":[[1228,7]]}},"keywords":{}}],["eas",{"_index":2768,"title":{},"content":{"302":{"position":[[1662,4]]},"383":{"position":[[574,4]]}},"keywords":{}}],["easi",{"_index":125,"title":{},"content":{"3":{"position":[[622,5]]},"51":{"position":[[204,4]]},"67":{"position":[[31,4]]},"258":{"position":[[623,4]]},"261":{"position":[[236,4],[316,4]]},"342":{"position":[[666,4]]},"348":{"position":[[28,4]]},"363":{"position":[[52,4],[254,4]]},"369":{"position":[[3629,4]]},"387":{"position":[[1669,4]]},"402":{"position":[[649,4]]},"414":{"position":[[93,4]]},"449":{"position":[[70,4]]},"538":{"position":[[259,4]]},"550":{"position":[[96,4]]}},"keywords":{}}],["easier",{"_index":90,"title":{},"content":{"3":{"position":[[110,7]]},"36":{"position":[[9146,6]]},"229":{"position":[[9146,6]]},"279":{"position":[[7267,6]]},"309":{"position":[[1556,6]]},"358":{"position":[[2575,6]]},"379":{"position":[[3848,6]]}},"keywords":{}}],["easiest",{"_index":2386,"title":{},"content":{"225":{"position":[[448,7]]},"271":{"position":[[479,7]]},"543":{"position":[[135,7]]}},"keywords":{}}],["easili",{"_index":2749,"title":{},"content":{"301":{"position":[[1008,6]]},"309":{"position":[[1176,6]]},"342":{"position":[[1009,6]]},"383":{"position":[[426,6]]},"546":{"position":[[1303,7]]},"560":{"position":[[161,6]]},"571":{"position":[[270,6]]}},"keywords":{}}],["ec13a8d16a2f",{"_index":947,"title":{},"content":{"42":{"position":[[1393,12]]}},"keywords":{}}],["eccn",{"_index":3828,"title":{},"content":{"393":{"position":[[1264,4]]}},"keywords":{}}],["echo",{"_index":1659,"title":{},"content":{"83":{"position":[[3047,4],[3151,4]]},"309":{"position":[[2013,4],[2073,4]]}},"keywords":{}}],["econom",{"_index":4089,"title":{},"content":{"431":{"position":[[65,8]]}},"keywords":{}}],["edg",{"_index":4004,"title":{},"content":{"422":{"position":[[251,4]]}},"keywords":{}}],["edg/124.0.0.0",{"_index":1618,"title":{},"content":{"83":{"position":[[1227,14]]}},"keywords":{}}],["edict",{"_index":4105,"title":{},"content":{"432":{"position":[[1212,6]]}},"keywords":{}}],["edit",{"_index":852,"title":{"324":{"position":[[0,7]]},"484":{"position":[[0,7]]},"505":{"position":[[0,4]]}},"content":{"36":{"position":[[10699,8],[10795,9],[10920,5]]},"38":{"position":[[30,8]]},"83":{"position":[[1648,4]]},"127":{"position":[[259,8]]},"146":{"position":[[116,8]]},"187":{"position":[[100,8]]},"235":{"position":[[43,7]]},"252":{"position":[[40,7]]},"285":{"position":[[40,7]]},"296":{"position":[[42,7]]},"301":{"position":[[640,8],[704,6]]},"302":{"position":[[1176,6],[1294,6]]},"303":{"position":[[886,4]]},"309":{"position":[[2321,4],[3243,4],[3351,4],[3402,4]]},"310":{"position":[[408,4],[433,4]]},"323":{"position":[[565,5]]},"324":{"position":[[604,4],[632,4]]},"325":{"position":[[43,4]]},"333":{"position":[[205,4],[419,4]]},"349":{"position":[[47,7],[1575,7]]},"352":{"position":[[772,4],[866,4],[968,4]]},"356":{"position":[[519,7],[541,4]]},"358":{"position":[[873,4]]},"368":{"position":[[66,8],[250,7]]},"369":{"position":[[166,7],[245,7],[3959,7]]},"387":{"position":[[781,8],[797,9]]},"392":{"position":[[166,7]]},"393":{"position":[[436,8],[531,7],[612,7],[660,7],[797,7],[866,7]]},"404":{"position":[[929,4],[2458,4]]},"407":{"position":[[395,5]]},"440":{"position":[[157,7]]},"464":{"position":[[232,9]]},"467":{"position":[[525,4]]},"484":{"position":[[14,6],[84,6],[150,4],[173,4],[342,4]]},"494":{"position":[[142,4]]},"505":{"position":[[71,4],[348,5]]},"522":{"position":[[85,7],[567,7],[663,4],[685,7]]},"546":{"position":[[483,4]]},"658":{"position":[[867,4]]}},"keywords":{}}],["editor",{"_index":898,"title":{},"content":{"42":{"position":[[59,6]]},"138":{"position":[[296,6]]},"324":{"position":[[64,6]]},"349":{"position":[[110,6],[1374,6]]},"379":{"position":[[223,6]]},"494":{"position":[[32,7]]},"505":{"position":[[124,6]]},"526":{"position":[[26,6]]},"528":{"position":[[14,6]]},"530":{"position":[[156,6]]},"531":{"position":[[820,6]]},"546":{"position":[[148,7],[167,6]]}},"keywords":{}}],["educ",{"_index":3773,"title":{"390":{"position":[[15,9]]}},"content":{"390":{"position":[[89,9],[249,11],[346,11]]}},"keywords":{}}],["eea",{"_index":4085,"title":{"431":{"position":[[10,3]]}},"content":{},"keywords":{}}],["effect",{"_index":1057,"title":{},"content":{"44":{"position":[[1599,7]]},"127":{"position":[[210,11]]},"330":{"position":[[691,6]]},"358":{"position":[[1895,12]]},"390":{"position":[[20,6]]},"506":{"position":[[585,11]]},"524":{"position":[[886,11]]},"758":{"position":[[54,6]]},"759":{"position":[[63,6]]},"768":{"position":[[50,6]]},"769":{"position":[[60,6]]},"793":{"position":[[298,6]]}},"keywords":{}}],["effici",{"_index":1165,"title":{},"content":{"51":{"position":[[111,10]]},"263":{"position":[[302,11]]},"660":{"position":[[193,9]]}},"keywords":{}}],["effort",{"_index":3703,"title":{},"content":{"383":{"position":[[92,6]]}},"keywords":{}}],["eg",{"_index":426,"title":{},"content":{"20":{"position":[[543,4],[589,4],[652,4],[683,4]]}},"keywords":{}}],["ek",{"_index":3531,"title":{},"content":{"369":{"position":[[4206,4]]}},"keywords":{}}],["elaps",{"_index":5345,"title":{},"content":{"722":{"position":[[374,7],[429,7],[1496,7],[1511,7],[1703,7],[1720,7]]},"726":{"position":[[236,7],[271,7],[1030,7],[1103,7],[1207,7],[1280,7]]},"727":{"position":[[218,7],[253,7],[1081,7],[1168,7],[1286,7],[1373,7]]},"728":{"position":[[332,7],[367,7],[785,7]]},"729":{"position":[[168,7],[200,7],[791,7]]}},"keywords":{}}],["elasticsearch",{"_index":3322,"title":{},"content":{"362":{"position":[[292,13],[318,13],[622,13],[648,13],[943,13],[969,13],[1348,13]]},"363":{"position":[[17,13]]}},"keywords":{}}],["elasticsearch:1.12.0",{"_index":3351,"title":{},"content":{"363":{"position":[[508,20]]}},"keywords":{}}],["electron",{"_index":4109,"title":{},"content":{"433":{"position":[[192,10]]}},"keywords":{}}],["elegantli",{"_index":1206,"title":{},"content":{"54":{"position":[[534,9]]}},"keywords":{}}],["element",{"_index":3851,"title":{"399":{"position":[[10,8]]},"400":{"position":[[8,9]]},"401":{"position":[[12,9]]}},"content":{"399":{"position":[[15,8]]},"400":{"position":[[15,8]]},"401":{"position":[[5,8],[94,8],[345,7]]},"574":{"position":[[47,7]]}},"keywords":{}}],["elif",{"_index":1443,"title":{},"content":{"73":{"position":[[1220,4]]}},"keywords":{}}],["elimin",{"_index":839,"title":{},"content":{"36":{"position":[[9918,11]]},"229":{"position":[[9918,11]]},"369":{"position":[[3990,9]]}},"keywords":{}}],["ellips",{"_index":4709,"title":{},"content":{"619":{"position":[[751,7]]}},"keywords":{}}],["elsif",{"_index":1438,"title":{},"content":{"73":{"position":[[835,5]]}},"keywords":{}}],["email",{"_index":438,"title":{},"content":{"20":{"position":[[773,5]]},"301":{"position":[[771,7]]},"426":{"position":[[306,5],[522,5],[780,5],[892,6],[937,5],[996,5],[1203,5]]},"431":{"position":[[745,5],[861,7]]},"432":{"position":[[291,5]]},"435":{"position":[[345,6]]},"437":{"position":[[69,5]]}},"keywords":{}}],["email"",{"_index":1576,"title":{},"content":{"82":{"position":[[4636,12]]}},"keywords":{}}],["embed",{"_index":8,"title":{},"content":{"1":{"position":[[72,8]]},"2":{"position":[[260,8]]},"6":{"position":[[16,8]]},"100":{"position":[[47,8]]},"342":{"position":[[158,8]]},"343":{"position":[[351,8],[1017,8]]},"358":{"position":[[7407,9]]}},"keywords":{}}],["emi",{"_index":3156,"title":{},"content":{"349":{"position":[[1274,4]]}},"keywords":{}}],["employ",{"_index":1173,"title":{},"content":{"51":{"position":[[274,7]]},"429":{"position":[[522,8]]}},"keywords":{}}],["employe",{"_index":4072,"title":{},"content":{"429":{"position":[[340,8]]}},"keywords":{}}],["empow",{"_index":3742,"title":{},"content":{"387":{"position":[[1628,7]]}},"keywords":{}}],["empti",{"_index":1148,"title":{},"content":{"50":{"position":[[483,5],[551,5]]},"61":{"position":[[1715,5]]},"67":{"position":[[1928,5],[2397,5]]},"69":{"position":[[244,5]]},"73":{"position":[[1472,5]]},"402":{"position":[[5281,5]]},"479":{"position":[[8,5]]},"664":{"position":[[427,5]]},"665":{"position":[[393,5]]}},"keywords":{}}],["en",{"_index":1603,"title":{},"content":{"83":{"position":[[861,2],[2391,2]]}},"keywords":{}}],["enabl",{"_index":724,"title":{},"content":{"36":{"position":[[3520,6]]},"40":{"position":[[849,6],[1178,6]]},"42":{"position":[[2053,7]]},"44":{"position":[[116,6]]},"52":{"position":[[809,6],[836,6],[885,6],[912,6]]},"93":{"position":[[183,8]]},"97":{"position":[[44,6]]},"229":{"position":[[3520,6]]},"250":{"position":[[101,7]]},"265":{"position":[[55,7]]},"279":{"position":[[2586,6],[8775,7],[8894,8],[10277,7],[10332,7]]},"285":{"position":[[520,7]]},"296":{"position":[[594,7]]},"297":{"position":[[92,7],[189,7],[267,6],[488,7],[599,6],[676,6],[707,8]]},"305":{"position":[[1342,7]]},"309":{"position":[[2452,6]]},"359":{"position":[[2769,6]]},"363":{"position":[[102,8]]},"379":{"position":[[979,8],[1030,6]]},"380":{"position":[[1838,6]]},"404":{"position":[[1290,6]]},"421":{"position":[[671,7]]},"513":{"position":[[153,7],[189,7],[235,8],[303,7],[720,7]]},"533":{"position":[[851,6]]},"534":{"position":[[588,6]]},"536":{"position":[[10,6]]},"544":{"position":[[1449,6],[1729,6]]},"641":{"position":[[74,6]]},"642":{"position":[[169,6]]},"731":{"position":[[79,7],[510,7],[614,7]]},"732":{"position":[[1,7]]},"734":{"position":[[1,7]]},"741":{"position":[[1811,7],[1855,7]]}},"keywords":{}}],["enable_cmd_nam",{"_index":4406,"title":{},"content":{"544":{"position":[[1425,18],[1706,17]]}},"keywords":{}}],["enable_limit",{"_index":5382,"title":{"732":{"position":[[0,14]]}},"content":{},"keywords":{}}],["enable_limits("<target",{"_index":5383,"title":{},"content":{"732":{"position":[[85,30]]}},"keywords":{}}],["enable_limits("inst",{"_index":5384,"title":{},"content":{"732":{"position":[[374,24]]}},"keywords":{}}],["enable_limits_group",{"_index":5388,"title":{"734":{"position":[[0,20]]}},"content":{},"keywords":{}}],["enable_limits_group("<limit",{"_index":5389,"title":{},"content":{"734":{"position":[[108,36]]}},"keywords":{}}],["enable_limits_group("name"",{"_index":2684,"title":{},"content":{"297":{"position":[[291,37]]}},"keywords":{}}],["enable_limits_group("safe_mode"",{"_index":5391,"title":{},"content":{"734":{"position":[[259,42]]}},"keywords":{}}],["enable_tlm",{"_index":4402,"title":{},"content":{"544":{"position":[[1371,11],[1492,13],[1650,11],[1773,12]]}},"keywords":{}}],["enabled.read",{"_index":1977,"title":{},"content":{"115":{"position":[[1545,12]]}},"keywords":{}}],["enabled.write_interface_bas",{"_index":1976,"title":{},"content":{"115":{"position":[[1280,28]]}},"keywords":{}}],["encapsul",{"_index":4638,"title":{},"content":{"593":{"position":[[132,12]]},"594":{"position":[[23,12]]},"595":{"position":[[23,12]]},"596":{"position":[[23,12]]},"597":{"position":[[23,12]]}},"keywords":{}}],["enclos",{"_index":178,"title":{},"content":{"5":{"position":[[1014,8],[1270,8]]},"35":{"position":[[1198,8],[1729,8]]},"37":{"position":[[991,8],[1522,8]]},"226":{"position":[[484,8]]},"228":{"position":[[1227,8],[1758,8]]},"230":{"position":[[1010,8],[1541,8]]},"231":{"position":[[1371,8],[1902,8]]},"232":{"position":[[1207,8],[1738,8]]},"233":{"position":[[774,8]]},"234":{"position":[[557,8]]},"241":{"position":[[243,8]]},"243":{"position":[[325,8]]},"276":{"position":[[510,8]]},"278":{"position":[[842,8]]},"280":{"position":[[634,8]]},"281":{"position":[[936,8]]},"282":{"position":[[605,8]]},"283":{"position":[[767,8]]},"284":{"position":[[559,8]]},"292":{"position":[[171,8]]},"646":{"position":[[72,8]]}},"keywords":{}}],["encod",{"_index":1114,"title":{},"content":{"48":{"position":[[3722,7],[4637,8]]},"50":{"position":[[335,10]]},"51":{"position":[[75,8]]},"58":{"position":[[100,7],[137,8],[260,7],[307,7],[356,8]]},"59":{"position":[[149,6]]},"60":{"position":[[319,7]]},"82":{"position":[[6592,9]]},"109":{"position":[[981,7],[1075,7]]},"110":{"position":[[1315,7],[1409,7]]},"223":{"position":[[295,8]]},"243":{"position":[[240,8]]},"402":{"position":[[6178,7]]},"629":{"position":[[230,9]]}},"keywords":{}}],["encount",{"_index":2391,"title":{},"content":{"225":{"position":[[1140,10]]},"271":{"position":[[1156,10]]},"344":{"position":[[1225,12]]},"530":{"position":[[365,11]]},"535":{"position":[[145,12],[354,12],[436,12],[586,11],[728,12],[790,10]]},"576":{"position":[[63,11]]},"658":{"position":[[635,11]]}},"keywords":{}}],["encourag",{"_index":4111,"title":{},"content":{"434":{"position":[[324,9]]}},"keywords":{}}],["encrypt",{"_index":524,"title":{"24":{"position":[[6,8]]}},"content":{"27":{"position":[[1005,9]]},"28":{"position":[[215,9]]}},"keywords":{}}],["encrypted.key",{"_index":597,"title":{},"content":{"28":{"position":[[173,14]]}},"keywords":{}}],["end",{"_index":217,"title":{"578":{"position":[[0,4]]}},"content":{"6":{"position":[[448,3]]},"35":{"position":[[270,3],[488,3]]},"36":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"37":{"position":[[281,3]]},"50":{"position":[[747,3]]},"52":{"position":[[144,3],[157,3],[297,3],[519,3],[956,3],[991,3],[1054,3],[1083,3]]},"56":{"position":[[86,3],[659,3]]},"57":{"position":[[157,7],[630,3],[670,6],[714,3],[754,6]]},"61":{"position":[[1472,3]]},"65":{"position":[[537,3]]},"67":{"position":[[402,3]]},"69":{"position":[[390,3]]},"70":{"position":[[286,3]]},"71":{"position":[[165,3]]},"72":{"position":[[174,3]]},"73":{"position":[[831,3],[910,3],[914,3],[923,3]]},"74":{"position":[[851,3]]},"75":{"position":[[713,3]]},"76":{"position":[[704,3]]},"77":{"position":[[1014,3]]},"78":{"position":[[316,3]]},"92":{"position":[[436,4]]},"119":{"position":[[120,3]]},"200":{"position":[[169,3]]},"214":{"position":[[1483,3]]},"228":{"position":[[298,3],[517,3]]},"229":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"230":{"position":[[300,3]]},"231":{"position":[[521,3],[687,3]]},"232":{"position":[[523,3]]},"233":{"position":[[315,3],[688,3]]},"234":{"position":[[471,3]]},"251":{"position":[[1162,3],[1239,3],[1356,3],[1360,3]]},"253":{"position":[[2502,3]]},"274":{"position":[[669,4]]},"278":{"position":[[297,3],[515,3]]},"279":{"position":[[4138,3],[4201,3],[4205,3],[4209,3]]},"280":{"position":[[307,3]]},"281":{"position":[[467,3],[638,3]]},"282":{"position":[[307,3]]},"283":{"position":[[314,3],[681,3]]},"284":{"position":[[473,3]]},"402":{"position":[[5383,3]]},"446":{"position":[[190,3]]},"452":{"position":[[568,3]]},"453":{"position":[[32,3]]},"454":{"position":[[59,3]]},"481":{"position":[[116,3],[239,3]]},"498":{"position":[[867,3],[939,3],[1061,3]]},"499":{"position":[[897,3]]},"522":{"position":[[889,3],[902,3],[974,3],[985,3]]},"530":{"position":[[668,3]]},"533":{"position":[[458,3],[501,3],[544,3],[548,3]]},"534":{"position":[[205,3],[248,3],[297,3],[301,3]]},"535":{"position":[[566,3]]},"540":{"position":[[359,3],[2229,3],[2619,3]]},"544":{"position":[[717,3],[1596,3]]},"547":{"position":[[683,3]]},"550":{"position":[[418,3],[529,3]]},"551":{"position":[[837,3],[914,3],[970,3],[974,3],[1014,3]]},"552":{"position":[[2363,3],[2367,3]]},"557":{"position":[[469,5]]},"559":{"position":[[583,3],[713,3]]},"560":{"position":[[677,3],[756,3]]},"561":{"position":[[568,3],[572,3]]},"563":{"position":[[776,3]]},"564":{"position":[[491,3]]},"566":{"position":[[867,3]]},"572":{"position":[[564,3],[568,3],[648,3],[652,3]]},"578":{"position":[[172,3],[218,5]]},"589":{"position":[[413,3],[476,3]]},"591":{"position":[[985,3]]},"594":{"position":[[418,3]]},"595":{"position":[[397,3]]},"596":{"position":[[268,3]]},"597":{"position":[[360,3]]},"598":{"position":[[410,3]]},"599":{"position":[[539,3],[543,3]]},"601":{"position":[[226,3],[300,3],[304,3]]},"607":{"position":[[265,3]]},"618":{"position":[[330,4],[470,4]]},"625":{"position":[[299,4],[439,4]]},"631":{"position":[[309,4],[449,4]]},"642":{"position":[[432,3]]},"647":{"position":[[456,3]]},"648":{"position":[[721,3]]},"649":{"position":[[600,3]]},"650":{"position":[[1156,3]]},"651":{"position":[[205,3],[238,3],[273,3],[306,3],[533,3]]},"652":{"position":[[413,3],[446,3],[481,3],[514,3],[1064,3]]},"653":{"position":[[257,3]]},"654":{"position":[[382,3],[479,3],[653,3],[850,3],[1157,3],[1191,3]]},"659":{"position":[[1229,3]]},"668":{"position":[[891,3]]},"673":{"position":[[1702,3]]},"717":{"position":[[662,3],[908,3]]},"748":{"position":[[338,3]]},"756":{"position":[[828,3]]},"765":{"position":[[814,3]]},"786":{"position":[[597,3],[601,3],[869,3],[873,3]]},"787":{"position":[[1059,3],[1063,3],[1342,3],[1346,3]]},"793":{"position":[[611,3],[615,3]]},"795":{"position":[[1175,3],[1179,3],[1259,3],[1305,3],[1350,3],[1354,3],[1547,3],[1551,3]]}},"keywords":{}}],["end_char",{"_index":1192,"title":{},"content":{"52":{"position":[[776,8]]}},"keywords":{}}],["end_tim",{"_index":3886,"title":{},"content":{"402":{"position":[[2755,9],[3762,9],[4256,8],[4544,8],[4614,8],[4751,8]]}},"keywords":{}}],["endian",{"_index":172,"title":{"321":{"position":[[7,6]]}},"content":{"5":{"position":[[814,10],[884,6],[901,6],[1116,10]]},"33":{"position":[[137,10],[194,6],[211,6]]},"35":{"position":[[1225,10],[1295,6],[1312,6],[1347,6],[1756,10],[1826,6],[1843,6]]},"37":{"position":[[1018,10],[1088,6],[1105,6],[1140,6],[1549,10],[1619,6],[1636,6]]},"48":{"position":[[105,6]]},"55":{"position":[[1611,10],[1626,10]]},"65":{"position":[[617,10],[628,10]]},"213":{"position":[[339,7]]},"226":{"position":[[284,10],[354,6],[371,6]]},"228":{"position":[[1254,10],[1324,6],[1341,6],[1376,6],[1785,10],[1855,6],[1872,6]]},"230":{"position":[[1037,10],[1107,6],[1124,6],[1159,6],[1568,10],[1638,6],[1655,6]]},"231":{"position":[[1398,10],[1468,6],[1485,6],[1520,6],[1929,10],[1999,6],[2016,6]]},"232":{"position":[[1234,10],[1304,6],[1321,6],[1356,6],[1765,10],[1835,6],[1852,6]]},"233":{"position":[[801,10],[855,6],[872,6]]},"234":{"position":[[584,10],[638,6],[655,6]]},"276":{"position":[[313,10],[371,6],[388,6]]},"278":{"position":[[869,10],[930,6],[947,6],[982,6]]},"280":{"position":[[661,10],[722,6],[739,6],[774,6]]},"281":{"position":[[963,10],[1024,6],[1041,6],[1076,6]]},"282":{"position":[[632,10],[693,6],[710,6],[745,6]]},"283":{"position":[[794,10],[848,6],[865,6]]},"284":{"position":[[586,10],[640,6],[657,6]]},"321":{"position":[[7,6],[40,6],[154,6]]},"687":{"position":[[879,13]]},"689":{"position":[[921,13]]},"690":{"position":[[1396,13]]}},"keywords":{}}],["endpoint",{"_index":1707,"title":{},"content":{"87":{"position":[[211,9]]},"222":{"position":[[58,8]]},"258":{"position":[[1047,9],[1140,9],[1518,9]]}},"keywords":{}}],["enforc",{"_index":3820,"title":{"436":{"position":[[4,11]]}},"content":{"393":{"position":[[628,9],[679,8]]},"430":{"position":[[545,7]]}},"keywords":{}}],["engin",{"_index":3004,"title":{},"content":{"330":{"position":[[106,6]]},"387":{"position":[[1501,10]]}},"keywords":{}}],["enhanc",{"_index":1122,"title":{},"content":{"48":{"position":[[4590,8]]},"603":{"position":[[34,7]]}},"keywords":{}}],["enough",{"_index":1215,"title":{},"content":{"55":{"position":[[125,6]]},"387":{"position":[[1674,6]]},"568":{"position":[[255,6]]}},"keywords":{}}],["enquir",{"_index":3303,"title":{},"content":{"359":{"position":[[2911,7]]}},"keywords":{}}],["ensur",{"_index":570,"title":{},"content":{"27":{"position":[[15,6]]},"71":{"position":[[321,6]]},"72":{"position":[[336,6]]},"152":{"position":[[48,6]]},"159":{"position":[[57,6]]},"323":{"position":[[539,7]]},"333":{"position":[[578,6]]},"343":{"position":[[1361,7]]},"350":{"position":[[449,6]]},"383":{"position":[[1652,6]]},"420":{"position":[[83,6]]},"424":{"position":[[1062,6],[1781,7]]},"428":{"position":[[78,6]]},"429":{"position":[[71,8]]},"455":{"position":[[911,6]]},"538":{"position":[[215,6]]},"544":{"position":[[606,7]]},"559":{"position":[[356,6]]},"568":{"position":[[736,6]]},"715":{"position":[[84,6]]}},"keywords":{}}],["enter",{"_index":749,"title":{},"content":{"36":{"position":[[4375,7],[6223,7],[6854,7],[7918,7]]},"126":{"position":[[127,5]]},"229":{"position":[[4375,7],[6223,7],[6854,7],[7918,7]]},"348":{"position":[[1065,7],[1125,5],[1418,5],[1574,5],[1745,5]]},"404":{"position":[[2102,5]]},"461":{"position":[[500,5]]},"464":{"position":[[305,6]]},"467":{"position":[[588,5],[683,7],[724,5]]},"472":{"position":[[1331,5]]},"478":{"position":[[562,5]]},"502":{"position":[[499,5]]},"517":{"position":[[297,8]]},"521":{"position":[[518,5]]},"554":{"position":[[375,7],[420,5]]},"559":{"position":[[558,8],[859,8],[1406,5]]},"560":{"position":[[631,5],[828,5]]},"643":{"position":[[47,5]]},"663":{"position":[[33,5]]},"664":{"position":[[151,6]]},"665":{"position":[[112,6]]}},"keywords":{}}],["enterpris",{"_index":1139,"title":{"57":{"position":[[14,13]]},"58":{"position":[[20,13]]},"59":{"position":[[20,13]]},"60":{"position":[[20,13]]},"82":{"position":[[32,11]]},"112":{"position":[[15,13]]},"113":{"position":[[20,13]]},"114":{"position":[[15,13]]},"221":{"position":[[11,13]]},"222":{"position":[[11,13]]},"223":{"position":[[16,13]]},"417":{"position":[[10,12]]},"444":{"position":[[16,12]]},"448":{"position":[[9,12]]}},"content":{"50":{"position":[[250,10]]},"57":{"position":[[1394,10]]},"58":{"position":[[463,10]]},"59":{"position":[[546,10]]},"60":{"position":[[933,10]]},"64":{"position":[[1330,10]]},"82":{"position":[[15,10]]},"95":{"position":[[141,12],[193,11]]},"96":{"position":[[186,12],[228,12]]},"103":{"position":[[295,10]]},"112":{"position":[[1052,10]]},"113":{"position":[[648,10]]},"114":{"position":[[593,10]]},"127":{"position":[[248,10]]},"146":{"position":[[105,10]]},"187":{"position":[[89,10]]},"219":{"position":[[190,10]]},"221":{"position":[[428,10]]},"222":{"position":[[267,10]]},"223":{"position":[[409,10]]},"258":{"position":[[1552,10],[1621,10],[1713,10],[1791,10]]},"261":{"position":[[280,10],[385,10]]},"267":{"position":[[479,10]]},"268":{"position":[[171,10]]},"301":{"position":[[629,10]]},"331":{"position":[[163,10]]},"368":{"position":[[239,10]]},"369":{"position":[[155,10],[234,10],[1135,10],[1208,10],[1291,10],[1365,10],[1441,10],[1531,10],[1604,10],[1685,10],[1756,10],[1827,10],[2626,10],[2697,10],[2782,10],[2856,10],[2931,10],[3021,10],[3094,10],[3176,10],[3247,10],[3318,10],[3948,10]]},"387":{"position":[[770,10]]},"391":{"position":[[665,10]]},"392":{"position":[[120,10],[155,10],[305,10],[397,10]]},"393":{"position":[[425,10],[520,10],[601,10],[649,10],[786,10],[855,10]]},"441":{"position":[[131,10]]},"443":{"position":[[72,10]]},"513":{"position":[[110,11]]}},"keywords":{}}],["entir",{"_index":39,"title":{},"content":{"2":{"position":[[191,6]]},"62":{"position":[[154,6]]},"176":{"position":[[73,6]]},"190":{"position":[[73,6]]},"201":{"position":[[73,6]]},"205":{"position":[[73,6]]},"294":{"position":[[199,6]]},"326":{"position":[[47,6],[397,6]]},"343":{"position":[[282,6]]},"353":{"position":[[296,6],[329,6],[385,6]]},"402":{"position":[[2319,6]]},"407":{"position":[[179,6]]},"440":{"position":[[678,6]]},"470":{"position":[[242,6]]},"472":{"position":[[341,6]]},"473":{"position":[[747,6]]},"476":{"position":[[108,6]]},"523":{"position":[[385,6]]},"526":{"position":[[340,6]]},"535":{"position":[[706,6],[814,6],[1340,6]]},"546":{"position":[[1246,6]]},"552":{"position":[[2712,6]]},"566":{"position":[[317,6]]},"786":{"position":[[416,6]]},"787":{"position":[[472,6]]}},"keywords":{}}],["entitl",{"_index":4064,"title":{},"content":{"428":{"position":[[9,8]]}},"keywords":{}}],["entri",{"_index":1065,"title":{"48":{"position":[[0,5]]}},"content":{"48":{"position":[[35,5],[83,5],[133,5],[194,8],[282,5],[333,5],[363,5],[397,5],[1122,5],[1163,5],[1179,5],[1381,6],[1573,6],[2069,8],[2914,7],[2983,8],[3340,7],[3409,8],[3833,8],[3900,8],[3925,5],[3991,6],[4013,6],[4109,5],[4329,6],[4349,5]]},"307":{"position":[[841,5]]},"358":{"position":[[7725,5]]},"402":{"position":[[5131,9]]},"452":{"position":[[516,7]]},"664":{"position":[[569,5]]},"665":{"position":[[535,5]]},"703":{"position":[[146,5]]}},"keywords":{}}],["entrypoint",{"_index":496,"title":{},"content":{"22":{"position":[[331,12],[402,11]]},"376":{"position":[[680,10]]}},"keywords":{}}],["entrypoint.s…"",{"_index":1001,"title":{},"content":{"42":{"position":[[2985,19]]}},"keywords":{}}],["ent…"",{"_index":996,"title":{},"content":{"42":{"position":[[2884,10]]}},"keywords":{}}],["enumer",{"_index":3839,"title":{},"content":{"398":{"position":[[17,11]]}},"keywords":{}}],["env",{"_index":966,"title":{"142":{"position":[[0,4]]},"180":{"position":[[0,4]]}},"content":{"42":{"position":[[1831,4]]},"44":{"position":[[1005,4],[1090,8]]},"109":{"position":[[1602,3],[1793,3]]},"110":{"position":[[1984,3],[2175,3]]},"141":{"position":[[218,3],[231,3],[898,3]]},"142":{"position":[[188,3]]},"180":{"position":[[208,3]]},"188":{"position":[[178,3],[191,3],[608,3]]},"255":{"position":[[328,4]]},"260":{"position":[[119,4]]},"325":{"position":[[52,4]]},"333":{"position":[[428,4]]},"376":{"position":[[87,3],[136,3],[188,3]]},"382":{"position":[[353,4]]},"637":{"position":[[1953,3],[2226,3]]}},"keywords":{}}],["env)"",{"_index":4781,"title":{},"content":{"637":{"position":[[2349,10]]}},"keywords":{}}],["env['tbl_filenam",{"_index":4210,"title":{},"content":{"498":{"position":[[71,19]]},"499":{"position":[[73,19]]}},"keywords":{}}],["env['typ",{"_index":4777,"title":{},"content":{"637":{"position":[[2204,11],[2236,11]]}},"keywords":{}}],["env_usernam",{"_index":2065,"title":{},"content":{"141":{"position":[[911,12]]},"188":{"position":[[621,12]]}},"keywords":{}}],["environ",{"_index":957,"title":{"260":{"position":[[0,11]]}},"content":{"42":{"position":[[1652,11],[1760,11]]},"44":{"position":[[976,11]]},"123":{"position":[[79,12]]},"127":{"position":[[78,11]]},"136":{"position":[[185,11]]},"141":{"position":[[265,11],[450,11],[484,11]]},"142":{"position":[[24,11],[102,11],[139,11]]},"180":{"position":[[9,11],[86,11],[123,11]]},"188":{"position":[[225,11],[410,11],[444,11]]},"258":{"position":[[173,11],[253,11],[381,11],[591,12],[670,13]]},"259":{"position":[[377,11]]},"260":{"position":[[16,11],[67,11]]},"261":{"position":[[363,13],[477,13]]},"268":{"position":[[202,11]]},"279":{"position":[[8287,13],[8375,11]]},"313":{"position":[[140,11],[199,11]]},"331":{"position":[[246,11],[676,12]]},"332":{"position":[[309,11],[1185,11],[1321,11],[1363,11]]},"358":{"position":[[1370,11]]},"385":{"position":[[256,11]]},"412":{"position":[[168,11]]},"529":{"position":[[44,11]]},"546":{"position":[[123,11],[276,11],[622,11],[1407,11]]},"556":{"position":[[81,11],[497,13]]},"637":{"position":[[1477,11],[2155,11]]},"658":{"position":[[66,11]]}},"keywords":{}}],["environment",{"_index":4135,"title":{},"content":{"452":{"position":[[188,13]]}},"keywords":{}}],["environment'",{"_index":3041,"title":{},"content":{"331":{"position":[[728,13]]}},"keywords":{}}],["ephemer",{"_index":2518,"title":{},"content":{"258":{"position":[[1231,9]]},"267":{"position":[[294,9],[311,9]]},"369":{"position":[[1636,9],[1956,9],[3126,9],[3446,9]]}},"keywords":{}}],["epoch",{"_index":1108,"title":{},"content":{"48":{"position":[[2814,5],[3248,5]]},"275":{"position":[[1195,6]]},"299":{"position":[[756,5],[1185,5],[1450,5]]},"402":{"position":[[4341,5]]},"802":{"position":[[191,5]]}},"keywords":{}}],["equal",{"_index":1222,"title":{},"content":{"55":{"position":[[1096,5]]},"279":{"position":[[8970,5],[9088,5],[9250,5],[9408,5],[9747,5],[10131,5]]},"455":{"position":[[1065,5]]},"554":{"position":[[648,7]]},"723":{"position":[[95,6]]},"727":{"position":[[89,6]]}},"keywords":{}}],["equat",{"_index":3998,"title":{},"content":{"421":{"position":[[111,8]]}},"keywords":{}}],["equip",{"_index":12,"title":{},"content":{"1":{"position":[[130,9]]},"57":{"position":[[41,9]]},"119":{"position":[[158,9]]},"343":{"position":[[937,9]]}},"keywords":{}}],["equival",{"_index":4300,"title":{},"content":{"533":{"position":[[554,10]]},"701":{"position":[[880,10],[1308,10]]}},"keywords":{}}],["eras",{"_index":3937,"title":{},"content":{"404":{"position":[[600,5]]},"424":{"position":[[1173,6]]},"431":{"position":[[131,5]]}},"keywords":{}}],["erb",{"_index":190,"title":{"6":{"position":[[0,4]]}},"content":{"6":{"position":[[1,3],[31,3],[169,4],[1107,3]]},"7":{"position":[[38,3]]},"11":{"position":[[254,3]]},"39":{"position":[[176,3]]},"126":{"position":[[550,3],[649,3]]},"176":{"position":[[25,3],[50,3],[227,3]]},"190":{"position":[[25,3],[50,3],[233,3]]},"201":{"position":[[25,3],[50,3],[225,3]]},"205":{"position":[[25,3],[50,3],[227,3]]},"358":{"position":[[7403,3]]}},"keywords":{}}],["error",{"_index":183,"title":{"29":{"position":[[27,7]]}},"content":{"5":{"position":[[1217,5]]},"24":{"position":[[660,5]]},"36":{"position":[[3018,6],[9726,5],[10385,6]]},"57":{"position":[[1215,6]]},"59":{"position":[[197,5],[236,5]]},"61":{"position":[[2756,6]]},"64":{"position":[[368,6]]},"65":{"position":[[338,6],[366,5],[387,6]]},"91":{"position":[[251,7],[449,7]]},"115":{"position":[[2337,6]]},"217":{"position":[[682,5]]},"229":{"position":[[3018,6],[9726,5],[10385,6]]},"238":{"position":[[155,5]]},"246":{"position":[[57,5],[157,5],[221,5]]},"279":{"position":[[2227,6],[2661,5],[2699,5]]},"324":{"position":[[287,6]]},"333":{"position":[[532,5],[643,6],[760,5]]},"344":{"position":[[1218,6]]},"349":{"position":[[2610,6],[3142,6],[5826,5],[5880,5],[5991,6],[6047,5],[6148,6],[6195,5],[6435,6],[6487,5]]},"379":{"position":[[3367,5]]},"380":{"position":[[1599,6]]},"455":{"position":[[1602,5],[1687,5]]},"530":{"position":[[356,5],[651,5]]},"535":{"position":[[104,6],[136,5],[283,6],[370,6],[393,6],[427,5],[598,5],[688,6],[744,6],[804,5],[872,5],[1423,6],[1473,6],[1502,5]]},"556":{"position":[[739,6],[772,6]]},"557":{"position":[[282,6]]},"565":{"position":[[141,5],[671,6],[949,6]]},"569":{"position":[[1016,6]]},"658":{"position":[[547,6],[626,5],[699,7],[1270,6]]},"690":{"position":[[1454,8]]},"697":{"position":[[146,6]]},"698":{"position":[[144,6]]},"699":{"position":[[97,6]]},"793":{"position":[[326,6],[421,5]]}},"keywords":{}}],["error_allow_hex",{"_index":844,"title":{},"content":{"36":{"position":[[10103,17],[10392,16]]},"229":{"position":[[10103,17],[10392,16]]}},"keywords":{}}],["error_respons",{"_index":2426,"title":{"246":{"position":[[0,15]]}},"content":{},"keywords":{}}],["errors.push",{"_index":3723,"title":{},"content":{"386":{"position":[[429,11]]}},"keywords":{}}],["esc",{"_index":1181,"title":{},"content":{"52":{"position":[[152,4],[173,3],[335,3],[399,3],[438,3],[1013,3],[1112,3],[1141,3]]}},"keywords":{}}],["escap",{"_index":1193,"title":{},"content":{"52":{"position":[[816,8],[853,8],[892,8],[929,8],[1022,6],[1047,6],[1076,6],[1105,6],[1134,6]]},"221":{"position":[[57,6]]}},"keywords":{}}],["eslint",{"_index":905,"title":{},"content":{"42":{"position":[[182,7]]}},"keywords":{}}],["especi",{"_index":921,"title":{},"content":{"42":{"position":[[796,10]]},"55":{"position":[[2631,10]]},"354":{"position":[[117,10]]},"422":{"position":[[1171,10]]},"793":{"position":[[98,10]]}},"keywords":{}}],["essenti",{"_index":851,"title":{},"content":{"36":{"position":[[10676,9]]},"67":{"position":[[3258,11]]},"376":{"position":[[318,9]]},"387":{"position":[[619,9]]}},"keywords":{}}],["establish",{"_index":1965,"title":{},"content":{"115":{"position":[[111,9]]},"265":{"position":[[129,11]]},"447":{"position":[[338,11]]}},"keywords":{}}],["etag",{"_index":1503,"title":{},"content":{"81":{"position":[[669,5]]},"82":{"position":[[6410,5]]}},"keywords":{}}],["etc",{"_index":20,"title":{},"content":{"1":{"position":[[208,5],[273,5]]},"43":{"position":[[215,4]]},"48":{"position":[[1983,4],[2645,4],[5144,4]]},"55":{"position":[[1219,5]]},"67":{"position":[[1192,4],[1466,4]]},"96":{"position":[[114,4],[409,4]]},"100":{"position":[[372,6]]},"213":{"position":[[248,4]]},"301":{"position":[[789,4]]},"349":{"position":[[1106,4]]},"356":{"position":[[481,3]]},"389":{"position":[[396,5]]},"452":{"position":[[229,4]]},"455":{"position":[[840,6]]},"544":{"position":[[713,3],[794,3],[1194,4]]},"546":{"position":[[1389,4]]},"563":{"position":[[132,3]]},"587":{"position":[[165,4]]},"588":{"position":[[159,4]]},"589":{"position":[[170,4]]},"590":{"position":[[112,3]]},"629":{"position":[[345,4]]},"700":{"position":[[331,4]]},"750":{"position":[[104,5]]},"764":{"position":[[97,5]]}},"keywords":{}}],["etc/cert",{"_index":481,"title":{},"content":{"21":{"position":[[223,11]]}},"keywords":{}}],["etc/contain",{"_index":2877,"title":{},"content":{"309":{"position":[[2258,17]]}},"keywords":{}}],["etc/containers/containers.conf",{"_index":2879,"title":{},"content":{"309":{"position":[[2284,31]]}},"keywords":{}}],["etc/containers/registries.conf",{"_index":2892,"title":{},"content":{"309":{"position":[[3051,31],[3135,31]]}},"keywords":{}}],["etc/containers/storage.conf",{"_index":2849,"title":{},"content":{"309":{"position":[[1223,28]]}},"keywords":{}}],["etc/grafana/provisioning/datasourc",{"_index":3386,"title":{},"content":{"365":{"position":[[457,38]]}},"keywords":{}}],["etc/host",{"_index":3285,"title":{},"content":{"358":{"position":[[7714,10]]}},"keywords":{}}],["etc/prometheu",{"_index":3378,"title":{},"content":{"364":{"position":[[1239,16]]}},"keywords":{}}],["etc/traefik/traefik.yaml",{"_index":478,"title":{},"content":{"21":{"position":[[169,25]]}},"keywords":{}}],["ethernet",{"_index":1997,"title":{},"content":{"120":{"position":[[89,8]]}},"keywords":{}}],["eu",{"_index":4084,"title":{"431":{"position":[[3,2]]}},"content":{},"keywords":{}}],["european",{"_index":4087,"title":{},"content":{"431":{"position":[[38,8],[56,8]]}},"keywords":{}}],["evalu",{"_index":3772,"title":{"390":{"position":[[0,10]]}},"content":{"390":{"position":[[74,10],[234,10],[331,10]]},"419":{"position":[[135,8]]},"420":{"position":[[139,9]]},"421":{"position":[[42,9],[123,9]]},"422":{"position":[[35,9]]},"455":{"position":[[317,8]]},"555":{"position":[[193,8]]},"565":{"position":[[351,9],[545,9]]},"637":{"position":[[696,9]]},"699":{"position":[[1,9],[44,9],[375,9],[590,9],[841,9],[1028,9]]},"722":{"position":[[1225,9]]},"723":{"position":[[992,9]]},"724":{"position":[[42,9],[608,9],[778,9]]},"725":{"position":[[659,9]]},"726":{"position":[[837,9]]},"727":{"position":[[888,9]]},"728":{"position":[[42,9],[536,9],[703,9]]},"729":{"position":[[631,9]]}},"keywords":{}}],["evaluation_interv",{"_index":3360,"title":{},"content":{"364":{"position":[[411,20]]}},"keywords":{}}],["even",{"_index":1218,"title":{},"content":{"55":{"position":[[379,4]]},"111":{"position":[[548,7],[1453,4]]},"314":{"position":[[605,4]]},"358":{"position":[[5767,5]]},"387":{"position":[[762,4]]},"540":{"position":[[4777,4]]},"673":{"position":[[1614,5],[2010,5]]},"712":{"position":[[114,4]]}},"keywords":{}}],["event",{"_index":2787,"title":{"451":{"position":[[9,7]]}},"content":{"303":{"position":[[1053,6]]},"363":{"position":[[64,5]]},"390":{"position":[[909,5]]},"421":{"position":[[742,6]]},"432":{"position":[[751,5]]},"453":{"position":[[89,5]]},"454":{"position":[[466,6],[600,7]]},"455":{"position":[[1271,5]]},"470":{"position":[[333,6]]},"474":{"position":[[34,7],[42,6]]},"517":{"position":[[140,6],[188,6],[221,6]]},"744":{"position":[[16,6],[335,6],[393,6],[1349,5],[1362,6]]}},"keywords":{}}],["eventu",{"_index":1390,"title":{},"content":{"67":{"position":[[2907,10]]},"330":{"position":[[1055,10]]},"662":{"position":[[109,11]]}},"keywords":{}}],["everyon",{"_index":3743,"title":{},"content":{"387":{"position":[[1695,9]]},"389":{"position":[[1986,9]]}},"keywords":{}}],["everyth",{"_index":493,"title":{},"content":{"22":{"position":[[284,10]]},"258":{"position":[[444,10]]},"309":{"position":[[3898,10]]},"326":{"position":[[1160,10]]},"386":{"position":[[314,10]]},"387":{"position":[[449,10],[827,10],[1266,11]]},"404":{"position":[[1513,10]]},"421":{"position":[[761,10]]},"492":{"position":[[97,10]]},"531":{"position":[[403,10]]},"699":{"position":[[321,10]]}},"keywords":{}}],["evolv",{"_index":3730,"title":{},"content":{"387":{"position":[[330,7]]}},"keywords":{}}],["exact",{"_index":377,"title":{},"content":{"17":{"position":[[156,5]]},"18":{"position":[[160,5]]},"55":{"position":[[1106,5]]},"93":{"position":[[224,5]]},"178":{"position":[[239,5]]},"192":{"position":[[312,5]]},"272":{"position":[[361,5]]},"323":{"position":[[637,5]]},"544":{"position":[[289,5]]},"557":{"position":[[303,5]]},"565":{"position":[[284,5]]}},"keywords":{}}],["exactli",{"_index":2,"title":{"1":{"position":[[19,9]]}},"content":{"138":{"position":[[46,7]]},"321":{"position":[[580,7]]},"637":{"position":[[865,7]]},"659":{"position":[[177,7]]}},"keywords":{}}],["exampl",{"_index":144,"title":{"40":{"position":[[0,7]]},"79":{"position":[[0,9]]},"81":{"position":[[5,7]]},"82":{"position":[[5,7]]},"83":{"position":[[13,8]]},"90":{"position":[[0,7]]},"253":{"position":[[0,7]]},"299":{"position":[[0,7]]},"316":{"position":[[0,7]]},"542":{"position":[[21,8]]},"654":{"position":[[0,7]]}},"content":{"5":{"position":[[96,8],[492,8],[1409,7],[1450,7]]},"7":{"position":[[128,8],[629,8],[1256,8]]},"8":{"position":[[142,8]]},"9":{"position":[[156,8],[505,8]]},"11":{"position":[[361,7]]},"12":{"position":[[571,7]]},"13":{"position":[[138,8],[479,7]]},"14":{"position":[[134,8],[370,7]]},"15":{"position":[[504,7]]},"16":{"position":[[506,7]]},"36":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6647,7],[7443,7],[9192,8],[9381,8],[10434,7]]},"40":{"position":[[1,7]]},"42":{"position":[[1842,7]]},"43":{"position":[[1152,9]]},"54":{"position":[[367,8]]},"55":{"position":[[225,8],[1229,8],[2740,8]]},"56":{"position":[[224,8]]},"57":{"position":[[377,8],[1327,8]]},"58":{"position":[[395,8]]},"59":{"position":[[478,8]]},"60":{"position":[[865,8]]},"61":{"position":[[1231,7]]},"64":{"position":[[1260,8]]},"79":{"position":[[66,8]]},"83":{"position":[[420,7],[665,7]]},"88":{"position":[[430,7]]},"91":{"position":[[1653,7]]},"92":{"position":[[1105,7]]},"104":{"position":[[838,9],[1695,9]]},"105":{"position":[[805,8],[917,9],[1659,9]]},"106":{"position":[[881,8],[1006,8]]},"107":{"position":[[192,7],[799,9],[896,9]]},"108":{"position":[[185,7],[412,8],[524,9],[630,9]]},"109":{"position":[[768,8],[1302,8],[1393,7],[1413,7],[2654,8]]},"110":{"position":[[1102,8],[1636,8],[1751,7],[1771,7],[2385,8]]},"111":{"position":[[997,8],[1158,9]]},"112":{"position":[[353,8],[887,9],[983,8]]},"113":{"position":[[404,8],[492,9],[579,8]]},"114":{"position":[[200,9],[528,8]]},"115":{"position":[[2388,8],[2530,8]]},"130":{"position":[[127,8],[253,8]]},"131":{"position":[[169,8],[347,8]]},"132":{"position":[[172,8],[353,8]]},"138":{"position":[[842,7],[868,7]]},"139":{"position":[[706,8],[975,8]]},"140":{"position":[[651,7]]},"141":{"position":[[875,7]]},"142":{"position":[[172,7]]},"143":{"position":[[447,7]]},"144":{"position":[[250,7]]},"145":{"position":[[218,8],[297,8]]},"147":{"position":[[227,7]]},"148":{"position":[[227,7]]},"150":{"position":[[248,7]]},"177":{"position":[[227,7]]},"178":{"position":[[438,7],[467,7],[482,7]]},"180":{"position":[[156,7],[185,7],[200,7]]},"181":{"position":[[431,7],[460,7],[475,7]]},"182":{"position":[[251,7],[280,7],[295,7]]},"183":{"position":[[382,7],[411,7],[426,7]]},"184":{"position":[[329,7],[358,7],[373,7],[393,7]]},"185":{"position":[[202,8],[225,7],[240,7],[284,8],[307,7],[322,7]]},"188":{"position":[[585,7]]},"189":{"position":[[227,7]]},"191":{"position":[[227,7]]},"192":{"position":[[468,7]]},"203":{"position":[[224,8],[485,7]]},"214":{"position":[[1158,7]]},"216":{"position":[[101,7]]},"217":{"position":[[339,7],[829,7],[952,7],[1307,7]]},"218":{"position":[[210,7]]},"219":{"position":[[132,7]]},"220":{"position":[[122,7]]},"221":{"position":[[361,8]]},"222":{"position":[[196,8]]},"223":{"position":[[344,8]]},"225":{"position":[[524,8]]},"226":{"position":[[512,7]]},"228":{"position":[[1933,7]]},"229":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6647,7],[7443,7],[9192,8],[9381,8],[10434,7]]},"230":{"position":[[1716,7]]},"231":{"position":[[2077,7]]},"232":{"position":[[1913,7]]},"233":{"position":[[933,7]]},"234":{"position":[[716,7]]},"235":{"position":[[377,7]]},"236":{"position":[[461,7]]},"240":{"position":[[133,7],[367,7]]},"251":{"position":[[390,8],[551,8],[1373,8]]},"252":{"position":[[428,7]]},"253":{"position":[[1,7]]},"268":{"position":[[459,8]]},"271":{"position":[[555,8]]},"275":{"position":[[1009,8],[1270,8],[1423,8]]},"276":{"position":[[538,7]]},"278":{"position":[[1047,7]]},"279":{"position":[[175,8],[229,7],[448,7],[739,7],[973,7],[1508,7],[2017,8],[2558,7],[3692,8],[3887,8],[4222,8],[5186,7],[6044,7],[7496,8],[7663,8],[8305,8],[10244,7],[10770,8],[10835,8]]},"280":{"position":[[839,7]]},"281":{"position":[[1141,7]]},"282":{"position":[[810,7]]},"283":{"position":[[926,7]]},"284":{"position":[[718,7]]},"285":{"position":[[367,7]]},"286":{"position":[[424,7]]},"287":{"position":[[142,7],[376,7]]},"288":{"position":[[419,8],[487,8]]},"296":{"position":[[441,7]]},"297":{"position":[[254,9],[536,8]]},"298":{"position":[[372,7]]},"299":{"position":[[1,7]]},"301":{"position":[[168,8]]},"302":{"position":[[152,8],[1129,7],[1245,7],[1406,8],[1515,7],[2030,7],[2305,7]]},"303":{"position":[[164,8]]},"304":{"position":[[185,8],[716,7],[894,8]]},"305":{"position":[[200,8],[763,7]]},"306":{"position":[[242,8]]},"314":{"position":[[1743,7],[2007,7],[2202,9]]},"315":{"position":[[47,7]]},"320":{"position":[[1834,7]]},"321":{"position":[[1010,8]]},"332":{"position":[[1087,7]]},"333":{"position":[[256,8],[974,7]]},"338":{"position":[[161,8]]},"340":{"position":[[226,8]]},"343":{"position":[[870,8]]},"349":{"position":[[854,8]]},"358":{"position":[[1981,9],[2749,7],[5949,7]]},"359":{"position":[[1132,7],[1347,7]]},"363":{"position":[[440,7]]},"367":{"position":[[412,7],[520,8]]},"369":{"position":[[362,9]]},"371":{"position":[[231,8]]},"378":{"position":[[1392,8],[1666,8]]},"380":{"position":[[1119,7],[1775,7]]},"382":{"position":[[187,7]]},"383":{"position":[[709,7]]},"415":{"position":[[324,7]]},"422":{"position":[[757,7]]},"447":{"position":[[594,7],[686,7],[709,7]]},"452":{"position":[[74,8]]},"467":{"position":[[332,8],[833,9]]},"468":{"position":[[190,8]]},"473":{"position":[[1488,8],[1548,7]]},"476":{"position":[[272,8]]},"485":{"position":[[309,7]]},"498":{"position":[[307,7]]},"499":{"position":[[326,7]]},"513":{"position":[[811,7]]},"533":{"position":[[219,8],[344,8],[572,8]]},"534":{"position":[[113,7]]},"539":{"position":[[167,8],[209,7]]},"540":{"position":[[1805,7],[2692,7],[3582,8],[4508,7]]},"544":{"position":[[557,8]]},"551":{"position":[[191,8]]},"560":{"position":[[586,8],[769,8]]},"561":{"position":[[203,7]]},"564":{"position":[[151,8]]},"565":{"position":[[184,8]]},"572":{"position":[[159,8]]},"575":{"position":[[301,8]]},"577":{"position":[[469,7]]},"578":{"position":[[117,8]]},"579":{"position":[[345,7]]},"580":{"position":[[183,8],[306,7]]},"581":{"position":[[151,8],[621,8],[791,7]]},"583":{"position":[[185,7]]},"584":{"position":[[189,7]]},"585":{"position":[[185,7]]},"586":{"position":[[187,7]]},"587":{"position":[[355,7]]},"588":{"position":[[349,7]]},"589":{"position":[[360,7]]},"590":{"position":[[143,7]]},"591":{"position":[[151,8],[750,7]]},"592":{"position":[[636,7]]},"593":{"position":[[72,8]]},"594":{"position":[[341,7]]},"595":{"position":[[316,7]]},"596":{"position":[[189,7]]},"597":{"position":[[274,7]]},"598":{"position":[[235,7]]},"599":{"position":[[296,7]]},"601":{"position":[[132,7]]},"602":{"position":[[201,7]]},"604":{"position":[[206,7]]},"605":{"position":[[91,7]]},"606":{"position":[[105,7]]},"607":{"position":[[163,7]]},"609":{"position":[[552,7]]},"610":{"position":[[739,7]]},"611":{"position":[[361,7],[818,7]]},"612":{"position":[[802,7]]},"613":{"position":[[536,7]]},"614":{"position":[[403,7]]},"615":{"position":[[549,7]]},"617":{"position":[[426,7]]},"618":{"position":[[803,7]]},"619":{"position":[[204,7],[700,7]]},"620":{"position":[[428,7]]},"621":{"position":[[426,7]]},"622":{"position":[[423,7]]},"623":{"position":[[392,7]]},"624":{"position":[[394,7]]},"625":{"position":[[772,7]]},"626":{"position":[[529,7],[1543,7]]},"627":{"position":[[563,7],[1596,7]]},"628":{"position":[[547,7],[1568,7]]},"629":{"position":[[356,7]]},"630":{"position":[[546,7]]},"631":{"position":[[688,7]]},"632":{"position":[[419,7]]},"633":{"position":[[318,7]]},"634":{"position":[[280,7]]},"635":{"position":[[252,7],[631,7]]},"637":{"position":[[358,7],[1504,8],[1726,7],[1916,7]]},"638":{"position":[[204,7]]},"639":{"position":[[293,7]]},"640":{"position":[[221,7]]},"642":{"position":[[302,7]]},"643":{"position":[[228,7]]},"644":{"position":[[221,7]]},"647":{"position":[[338,7]]},"648":{"position":[[570,7]]},"649":{"position":[[331,7]]},"650":{"position":[[166,8],[262,8],[884,7]]},"651":{"position":[[426,7]]},"652":{"position":[[728,7]]},"653":{"position":[[205,7]]},"654":{"position":[[1,7]]},"664":{"position":[[131,7],[658,8],[879,8]]},"665":{"position":[[92,7],[624,8],[888,8]]},"668":{"position":[[589,8],[904,8]]},"669":{"position":[[607,8],[882,8]]},"670":{"position":[[488,8],[817,8]]},"671":{"position":[[394,8]]},"673":{"position":[[1308,8],[1715,8]]},"675":{"position":[[213,8]]},"677":{"position":[[1284,8],[1716,8]]},"678":{"position":[[1506,8],[1732,8]]},"679":{"position":[[1536,8]]},"680":{"position":[[1560,8],[1778,8]]},"681":{"position":[[1360,8],[1542,8]]},"682":{"position":[[1577,8],[1789,8]]},"683":{"position":[[1607,8]]},"684":{"position":[[1631,8],[1833,8]]},"685":{"position":[[407,8],[966,8]]},"686":{"position":[[242,8]]},"687":{"position":[[291,8],[749,8]]},"688":{"position":[[199,8],[323,8]]},"689":{"position":[[327,8],[788,8]]},"690":{"position":[[404,8],[1131,8]]},"691":{"position":[[399,8],[903,8]]},"692":{"position":[[465,8],[606,8]]},"693":{"position":[[651,8],[777,8]]},"694":{"position":[[445,8]]},"695":{"position":[[337,8]]},"697":{"position":[[800,8],[1155,8]]},"698":{"position":[[743,8],[910,8]]},"699":{"position":[[201,8],[1053,8]]},"700":{"position":[[382,8],[516,8]]},"701":{"position":[[552,8],[980,8]]},"702":{"position":[[391,8]]},"703":{"position":[[619,8],[736,8]]},"704":{"position":[[457,8]]},"705":{"position":[[186,8]]},"706":{"position":[[190,8]]},"707":{"position":[[285,8]]},"708":{"position":[[363,8]]},"709":{"position":[[356,8]]},"710":{"position":[[677,8],[964,8]]},"711":{"position":[[562,8],[672,8]]},"712":{"position":[[556,8],[755,8]]},"713":{"position":[[374,8],[561,8]]},"714":{"position":[[248,8],[1269,8]]},"716":{"position":[[321,8]]},"717":{"position":[[418,8],[921,8]]},"718":{"position":[[269,8]]},"719":{"position":[[289,8]]},"720":{"position":[[303,8]]},"722":{"position":[[1486,8],[1693,8]]},"723":{"position":[[1253,9],[1460,9]]},"724":{"position":[[226,8],[928,8]]},"725":{"position":[[809,8]]},"726":{"position":[[1020,8],[1197,8]]},"727":{"position":[[1071,8],[1276,8]]},"728":{"position":[[222,8],[775,8]]},"729":{"position":[[781,8]]},"731":{"position":[[500,8],[604,8]]},"732":{"position":[[364,8]]},"733":{"position":[[366,8]]},"734":{"position":[[249,8]]},"735":{"position":[[251,8]]},"736":{"position":[[74,8]]},"737":{"position":[[219,8]]},"738":{"position":[[104,8]]},"739":{"position":[[72,8]]},"740":{"position":[[349,8],[670,8]]},"741":{"position":[[1970,8]]},"742":{"position":[[155,8]]},"743":{"position":[[360,8]]},"744":{"position":[[383,8]]},"746":{"position":[[73,8],[137,10]]},"747":{"position":[[192,8]]},"748":{"position":[[177,8]]},"750":{"position":[[260,8]]},"751":{"position":[[85,8]]},"752":{"position":[[429,8]]},"753":{"position":[[219,8]]},"754":{"position":[[406,8]]},"755":{"position":[[402,8]]},"756":{"position":[[305,8],[850,8]]},"757":{"position":[[637,8],[738,8]]},"758":{"position":[[483,8]]},"759":{"position":[[771,8],[892,8]]},"761":{"position":[[375,8]]},"762":{"position":[[175,8]]},"763":{"position":[[82,8]]},"764":{"position":[[241,8]]},"765":{"position":[[299,8],[836,8]]},"766":{"position":[[388,8]]},"767":{"position":[[384,8]]},"768":{"position":[[461,8]]},"769":{"position":[[775,8],[893,8]]},"771":{"position":[[208,8]]},"772":{"position":[[180,8]]},"773":{"position":[[75,8],[167,8]]},"774":{"position":[[53,8]]},"775":{"position":[[203,8]]},"777":{"position":[[448,8]]},"778":{"position":[[663,8]]},"780":{"position":[[489,8]]},"781":{"position":[[268,8]]},"782":{"position":[[50,8]]},"783":{"position":[[281,8]]},"784":{"position":[[92,8]]},"785":{"position":[[321,8]]},"786":{"position":[[459,8],[731,8]]},"787":{"position":[[919,8],[1185,8]]},"789":{"position":[[259,8]]},"790":{"position":[[95,8]]},"791":{"position":[[292,8]]},"792":{"position":[[158,8]]},"793":{"position":[[510,8],[637,8]]},"795":{"position":[[1056,8],[1564,8]]},"797":{"position":[[110,8]]},"798":{"position":[[101,8]]},"799":{"position":[[306,8]]},"801":{"position":[[176,8],[220,8]]},"802":{"position":[[203,8],[247,8]]},"803":{"position":[[361,8],[474,8]]},"804":{"position":[[378,8],[438,8]]},"805":{"position":[[99,8]]},"807":{"position":[[119,8],[269,8]]},"808":{"position":[[80,8],[859,8]]},"809":{"position":[[309,8],[501,8]]},"810":{"position":[[343,8],[486,8]]},"812":{"position":[[111,8],[240,8]]},"813":{"position":[[216,8],[315,8]]},"814":{"position":[[408,8]]},"815":{"position":[[303,8]]},"816":{"position":[[309,8]]}},"keywords":{}}],["example(target_nam",{"_index":4541,"title":{},"content":{"564":{"position":[[332,20],[510,20]]}},"keywords":{}}],["example.com.crt",{"_index":531,"title":{},"content":{"24":{"position":[[179,16]]}},"keywords":{}}],["example.com.key",{"_index":527,"title":{},"content":{"24":{"position":[[85,16]]}},"keywords":{}}],["example.photoservice.examplephotoservice/getus",{"_index":1963,"title":{},"content":{"114":{"position":[[465,49]]}},"keywords":{}}],["example.th",{"_index":3257,"title":{},"content":{"358":{"position":[[3210,11]]}},"keywords":{}}],["example_int",{"_index":5512,"title":{},"content":{"751":{"position":[[168,14]]}},"keywords":{}}],["example_interface.rb",{"_index":2048,"title":{},"content":{"138":{"position":[[876,20]]}},"keywords":{}}],["example_limits_response.pi",{"_index":2662,"title":{},"content":{"279":{"position":[[10861,26]]}},"keywords":{}}],["example_limits_response.rb",{"_index":2661,"title":{},"content":{"279":{"position":[[10796,26]]}},"keywords":{}}],["example_target.pi",{"_index":2150,"title":{},"content":{"185":{"position":[[341,17]]}},"keywords":{}}],["example_target.rb",{"_index":2149,"title":{},"content":{"185":{"position":[[257,17]]}},"keywords":{}}],["examplegroup",{"_index":4294,"title":{},"content":{"533":{"position":[[393,12]]},"795":{"position":[[1102,12]]}},"keywords":{}}],["examplegroup(group",{"_index":4302,"title":{},"content":{"533":{"position":[[633,20]]},"795":{"position":[[1653,20]]}},"keywords":{}}],["examples"",{"_index":4835,"title":{},"content":{"654":{"position":[[114,14]]}},"keywords":{}}],["excel",{"_index":3219,"title":{"571":{"position":[[42,6]]}},"content":{"353":{"position":[[90,5]]},"476":{"position":[[251,5]]},"547":{"position":[[340,9]]},"571":{"position":[[484,5]]}},"keywords":{}}],["excelspreadsheet.new('c:/git/cosmos/test.xlsx",{"_index":4582,"title":{},"content":{"571":{"position":[[532,47]]}},"keywords":{}}],["except",{"_index":1214,"title":{},"content":{"54":{"position":[[1564,9]]},"57":{"position":[[1190,10]]},"61":{"position":[[250,6],[452,6],[2712,10],[2740,10]]},"64":{"position":[[324,10],[352,10]]},"67":{"position":[[4601,6]]},"73":{"position":[[1388,6],[1434,9]]},"199":{"position":[[106,6]]},"274":{"position":[[235,6]]},"321":{"position":[[631,6]]},"542":{"position":[[919,6]]},"552":{"position":[[180,10],[2324,11],[2472,11],[2611,10],[2656,9]]},"566":{"position":[[88,10],[154,9],[257,9]]},"659":{"position":[[284,6],[1036,6],[1153,6]]},"700":{"position":[[34,9],[90,10]]},"793":{"position":[[69,9]]}},"keywords":{}}],["exclus",{"_index":4247,"title":{},"content":{"513":{"position":[[311,9]]}},"keywords":{}}],["exec",{"_index":1053,"title":{},"content":{"44":{"position":[[1328,4],[1359,4]]},"145":{"position":[[177,4]]},"185":{"position":[[161,4]]},"210":{"position":[[102,4]]},"385":{"position":[[304,4]]},"386":{"position":[[356,4]]}},"keywords":{}}],["execect",{"_index":3229,"title":{},"content":{"355":{"position":[[283,10]]}},"keywords":{}}],["execut",{"_index":1974,"title":{"776":{"position":[[0,9]]}},"content":{"115":{"position":[[1020,9]]},"145":{"position":[[32,7],[83,7]]},"146":{"position":[[48,7]]},"185":{"position":[[17,7],[67,7]]},"187":{"position":[[32,7]]},"288":{"position":[[32,8]]},"313":{"position":[[108,10],[227,10]]},"349":{"position":[[59,9],[206,10],[231,9],[1245,7],[2096,7],[2147,7],[2214,9],[2295,9],[2347,9],[2479,9],[2567,9],[2759,7],[2917,7],[3035,7],[3180,10],[3536,9],[3588,7],[3676,9],[3741,7],[4332,9],[4445,7],[4895,7],[5002,9],[5036,7],[5115,9],[5149,7],[5228,9],[5261,7],[5339,9],[5401,7],[5429,7],[5505,9],[5567,7],[5595,7],[5685,9],[5746,9],[5840,7],[5998,7],[6132,9],[6155,7],[6287,7],[6442,7],[6627,7],[6839,7]]},"355":{"position":[[378,9]]},"418":{"position":[[36,9]]},"445":{"position":[[106,9]]},"447":{"position":[[309,9]]},"449":{"position":[[127,9]]},"455":{"position":[[117,9]]},"464":{"position":[[284,8]]},"467":{"position":[[616,7]]},"497":{"position":[[534,9]]},"526":{"position":[[62,8]]},"529":{"position":[[316,9],[466,9],[509,8]]},"530":{"position":[[313,9],[683,10]]},"531":{"position":[[55,8],[155,8],[500,8],[570,9]]},"535":{"position":[[218,9],[509,9],[608,9],[713,9],[837,10],[1141,7]]},"536":{"position":[[333,10]]},"540":{"position":[[1903,9],[1986,9],[2817,9],[2901,9],[3800,10],[3981,7],[4782,7]]},"546":{"position":[[113,9]]},"552":{"position":[[153,9],[659,9],[865,9],[1035,7]]},"554":{"position":[[406,8]]},"557":{"position":[[87,10],[202,10]]},"560":{"position":[[525,9]]},"566":{"position":[[643,7]]},"569":{"position":[[335,7],[796,7],[872,8],[912,7]]},"637":{"position":[[68,8],[1685,7]]},"658":{"position":[[307,7],[376,9],[602,9],[687,7],[752,9]]},"700":{"position":[[1,8],[310,8]]},"710":{"position":[[321,9]]},"776":{"position":[[67,7]]},"777":{"position":[[8,9]]},"789":{"position":[[196,9]]}},"keywords":{}}],["execution)run",{"_index":1625,"title":{},"content":{"83":{"position":[[1663,13]]}},"keywords":{}}],["exercis",{"_index":2772,"title":{},"content":{"302":{"position":[[1770,8]]},"349":{"position":[[2019,8]]},"380":{"position":[[2260,8]]}},"keywords":{}}],["exist",{"_index":848,"title":{"89":{"position":[[0,8]]}},"content":{"36":{"position":[[10590,5]]},"38":{"position":[[11,8],[69,8],[142,8]]},"42":{"position":[[579,5]]},"61":{"position":[[602,5]]},"67":{"position":[[1224,8],[1498,8]]},"100":{"position":[[985,8]]},"115":{"position":[[874,5]]},"225":{"position":[[400,8],[500,8]]},"235":{"position":[[12,8]]},"236":{"position":[[27,8]]},"237":{"position":[[191,6]]},"252":{"position":[[12,8],[166,8]]},"271":{"position":[[430,8],[531,8]]},"274":{"position":[[88,5]]},"285":{"position":[[12,8],[494,8]]},"286":{"position":[[26,8]]},"290":{"position":[[262,6]]},"296":{"position":[[12,8],[170,8],[568,8]]},"302":{"position":[[97,8]]},"303":{"position":[[109,8]]},"304":{"position":[[105,8],[775,8]]},"305":{"position":[[115,8]]},"306":{"position":[[187,8],[520,8],[774,8]]},"307":{"position":[[98,8],[1298,8]]},"326":{"position":[[819,8]]},"364":{"position":[[246,8]]},"379":{"position":[[44,8],[3872,8]]},"382":{"position":[[113,8],[206,8]]},"383":{"position":[[648,8],[728,8],[916,8],[1284,8],[1337,8],[1541,8]]},"387":{"position":[[1548,6]]},"402":{"position":[[532,5],[601,5]]},"413":{"position":[[175,8]]},"421":{"position":[[281,8]]},"422":{"position":[[138,5]]},"461":{"position":[[272,8],[579,8]]},"472":{"position":[[1103,8],[1410,8]]},"478":{"position":[[334,8],[641,8]]},"495":{"position":[[50,8]]},"502":{"position":[[271,8],[578,8]]},"504":{"position":[[462,7]]},"506":{"position":[[666,8]]},"521":{"position":[[290,8],[597,8]]},"524":{"position":[[965,8]]},"528":{"position":[[915,8]]},"540":{"position":[[919,5]]},"569":{"position":[[1222,5]]},"576":{"position":[[156,7]]},"662":{"position":[[3368,6],[3589,6]]},"669":{"position":[[542,5]]},"670":{"position":[[308,5],[393,8]]},"757":{"position":[[595,8]]},"783":{"position":[[12,8]]},"805":{"position":[[25,8]]},"809":{"position":[[108,6]]}},"keywords":{}}],["exit",{"_index":2516,"title":{},"content":{"258":{"position":[[863,5]]},"309":{"position":[[2166,4]]}},"keywords":{}}],["exotrail",{"_index":1809,"title":{},"content":{"96":{"position":[[708,9]]}},"keywords":{}}],["expand",{"_index":2766,"title":{},"content":{"302":{"position":[[1549,8]]},"306":{"position":[[759,8]]},"307":{"position":[[1283,8]]},"543":{"position":[[294,9]]}},"keywords":{}}],["expans",{"_index":1069,"title":{},"content":{"48":{"position":[[68,10],[1081,10]]}},"keywords":{}}],["expect",{"_index":1299,"title":{},"content":{"61":{"position":[[590,8],[978,8],[1871,8]]},"64":{"position":[[601,8]]},"77":{"position":[[227,8]]},"213":{"position":[[111,6]]},"245":{"position":[[31,8]]},"246":{"position":[[31,8]]},"302":{"position":[[872,8]]},"344":{"position":[[1113,9]]},"348":{"position":[[810,8]]},"368":{"position":[[683,8]]},"542":{"position":[[153,9],[1026,9]]},"568":{"position":[[641,8]]},"698":{"position":[[46,8],[578,8],[593,8],[660,8]]},"700":{"position":[[23,7]]},"723":{"position":[[105,8],[734,8],[749,8],[816,8]]},"727":{"position":[[99,8],[633,8],[648,8],[715,8]]}},"keywords":{}}],["expected_temp",{"_index":4404,"title":{},"content":{"544":{"position":[[1393,14],[1672,15]]}},"keywords":{}}],["expected_temp}"",{"_index":4410,"title":{},"content":{"544":{"position":[[1568,23],[1848,22]]}},"keywords":{}}],["experi",{"_index":134,"title":{},"content":{"3":{"position":[[721,10]]},"265":{"position":[[112,11]]},"321":{"position":[[1521,10]]},"426":{"position":[[689,10]]}},"keywords":{}}],["expert",{"_index":3745,"title":{},"content":{"387":{"position":[[1726,8]]}},"keywords":{}}],["expir",{"_index":1520,"title":{},"content":{"82":{"position":[[204,6],[261,7]]},"391":{"position":[[437,8]]},"799":{"position":[[129,6]]}},"keywords":{}}],["expires=thu",{"_index":1536,"title":{},"content":{"82":{"position":[[892,12],[1014,12]]}},"keywords":{}}],["explain",{"_index":2940,"title":{},"content":{"319":{"position":[[53,7]]},"358":{"position":[[1674,9]]},"393":{"position":[[1305,10]]},"659":{"position":[[101,8]]}},"keywords":{}}],["explicit",{"_index":4022,"title":{},"content":{"424":{"position":[[541,8]]}},"keywords":{}}],["explicitli",{"_index":323,"title":{},"content":{"12":{"position":[[55,10]]},"15":{"position":[[68,10]]},"16":{"position":[[70,10]]},"36":{"position":[[1229,10]]},"88":{"position":[[591,10]]},"213":{"position":[[604,10],[976,10]]},"229":{"position":[[1229,10]]},"273":{"position":[[117,10]]},"279":{"position":[[1224,10]]},"468":{"position":[[551,10]]},"470":{"position":[[199,10]]},"583":{"position":[[148,10]]},"584":{"position":[[152,10]]},"585":{"position":[[148,10]]},"586":{"position":[[150,10]]}},"keywords":{}}],["explor",{"_index":3296,"title":{"438":{"position":[[7,8]]}},"content":{"359":{"position":[[934,7]]},"439":{"position":[[8,8],[173,8]]}},"keywords":{}}],["export",{"_index":1050,"title":{},"content":{"44":{"position":[[1134,6],[1201,6]]},"309":{"position":[[2558,6]]},"310":{"position":[[211,6]]},"320":{"position":[[315,6]]},"333":{"position":[[235,6],[305,6]]},"393":{"position":[[1204,6],[1228,6]]},"457":{"position":[[108,8]]},"482":{"position":[[89,7]]}},"keywords":{}}],["expos",{"_index":482,"title":{},"content":{"21":{"position":[[235,6]]},"147":{"position":[[73,6]]},"189":{"position":[[73,6]]},"259":{"position":[[365,7]]},"377":{"position":[[69,8]]}},"keywords":{}}],["express",{"_index":205,"title":{},"content":{"6":{"position":[[222,10]]},"65":{"position":[[751,9]]},"91":{"position":[[1224,9]]},"176":{"position":[[107,11]]},"190":{"position":[[113,11]]},"201":{"position":[[105,11]]},"205":{"position":[[107,11]]},"390":{"position":[[761,7]]},"427":{"position":[[616,7]]},"543":{"position":[[250,12],[363,12]]},"565":{"position":[[465,10]]},"699":{"position":[[14,11],[33,10],[723,10],[1014,10]]},"722":{"position":[[627,10]]},"723":{"position":[[325,10]]},"724":{"position":[[28,10],[410,10],[594,10]]},"726":{"position":[[260,10]]},"727":{"position":[[242,10]]},"728":{"position":[[28,10],[356,10],[522,10]]}},"keywords":{}}],["extend",{"_index":1828,"title":{},"content":{"100":{"position":[[730,6]]},"117":{"position":[[114,6]]},"225":{"position":[[393,6]]},"271":{"position":[[423,6]]}},"keywords":{}}],["extens",{"_index":236,"title":{},"content":{"6":{"position":[[1118,11]]},"12":{"position":[[513,9]]},"31":{"position":[[254,9]]},"42":{"position":[[122,10]]},"225":{"position":[[484,9]]},"271":{"position":[[515,9]]},"332":{"position":[[852,9]]},"552":{"position":[[1738,10]]},"778":{"position":[[571,10]]}},"keywords":{}}],["extern",{"_index":44,"title":{},"content":{"2":{"position":[[251,8]]},"100":{"position":[[38,8]]},"119":{"position":[[17,8]]},"147":{"position":[[80,10]]},"149":{"position":[[353,8]]},"189":{"position":[[80,10]]},"194":{"position":[[258,8]]},"196":{"position":[[192,8]]},"343":{"position":[[342,8]]},"356":{"position":[[714,8]]},"361":{"position":[[138,8]]},"552":{"position":[[893,10]]},"602":{"position":[[6,8]]},"810":{"position":[[84,10]]}},"keywords":{}}],["extra",{"_index":103,"title":{"561":{"position":[[11,5]]}},"content":{"3":{"position":[[347,5]]},"36":{"position":[[4269,5]]},"48":{"position":[[824,5],[862,5],[880,5],[3490,5],[3554,5],[3583,5],[3625,5],[3690,5],[3740,5]]},"60":{"position":[[125,5]]},"73":{"position":[[1213,6],[1315,6],[1336,6]]},"76":{"position":[[799,6]]},"77":{"position":[[1135,6]]},"107":{"position":[[762,5]]},"229":{"position":[[4269,5]]},"279":{"position":[[3218,5]]},"289":{"position":[[192,5]]},"391":{"position":[[638,5]]},"552":{"position":[[80,5]]},"559":{"position":[[292,5]]}},"keywords":{}}],["extra=non",{"_index":1440,"title":{},"content":{"73":{"position":[[990,12]]},"76":{"position":[[772,12]]},"77":{"position":[[1100,12]]}},"keywords":{}}],["extract",{"_index":558,"title":{"26":{"position":[[0,10]]},"27":{"position":[[0,7]]}},"content":{"27":{"position":[[240,7],[669,7]]},"48":{"position":[[3029,9],[3450,9]]},"61":{"position":[[1087,7]]},"353":{"position":[[42,8],[503,7]]},"476":{"position":[[16,8]]},"481":{"position":[[73,7]]}},"keywords":{}}],["extractor",{"_index":1788,"title":{"353":{"position":[[5,10]]},"475":{"position":[[5,9]]},"477":{"position":[[5,9]]}},"content":{"96":{"position":[[213,9]]},"225":{"position":[[1215,10]]},"271":{"position":[[1281,10]]},"275":{"position":[[674,10]]},"353":{"position":[[6,9],[160,9],[265,9],[354,9],[451,9],[627,9],[712,9],[798,9]]},"476":{"position":[[6,9],[167,9]]},"481":{"position":[[6,9]]},"482":{"position":[[6,9]]}},"keywords":{}}],["extrapol",{"_index":1713,"title":{},"content":{"88":{"position":[[521,11]]}},"keywords":{}}],["extrem",{"_index":4392,"title":{},"content":{"544":{"position":[[137,7]]}},"keywords":{}}],["ey",{"_index":734,"title":{},"content":{"36":{"position":[[3823,3]]},"229":{"position":[[3823,3]]},"473":{"position":[[1164,4]]}},"keywords":{}}],["eyebal",{"_index":3984,"title":{},"content":{"408":{"position":[[94,7]]},"409":{"position":[[69,7]]},"410":{"position":[[63,7]]},"411":{"position":[[112,7]]}},"keywords":{}}],["eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":1577,"title":{},"content":{"82":{"position":[[4788,927]]}},"keywords":{}}],["f",{"_index":4038,"title":{},"content":{"424":{"position":[[1751,2]]},"540":{"position":[[812,1],[4693,1]]}},"keywords":{}}],["f"",{"_index":4379,"title":{},"content":{"540":{"position":[[4702,7]]}},"keywords":{}}],["f"{variable}"",{"_index":4335,"title":{},"content":{"540":{"position":[[832,23]]}},"keywords":{}}],["factor",{"_index":748,"title":{},"content":{"36":{"position":[[4344,6],[6136,6],[6192,6],[6766,6],[6823,6],[7887,6],[9336,6],[9523,6]]},"229":{"position":[[4344,6],[6136,6],[6192,6],[6766,6],[6823,6],[7887,6],[9336,6],[9523,6]]},"279":{"position":[[3293,6],[4615,6],[4668,6],[5303,6],[5357,6],[6480,6],[7619,6],[7784,6]]},"367":{"position":[[112,6]]},"402":{"position":[[5269,8]]},"452":{"position":[[202,8]]},"613":{"position":[[195,6]]},"630":{"position":[[199,6]]},"659":{"position":[[503,6]]}},"keywords":{}}],["fail",{"_index":544,"title":{"568":{"position":[[22,5]]}},"content":{"24":{"position":[[602,4]]},"91":{"position":[[1293,4]]},"330":{"position":[[1183,7]]},"332":{"position":[[607,5]]},"349":{"position":[[497,6],[2672,4],[3252,4],[3410,4]]},"447":{"position":[[554,6]]},"546":{"position":[[1204,5],[1376,4]]},"547":{"position":[[313,8]]},"552":{"position":[[201,4],[762,6]]},"566":{"position":[[214,6],[671,4],[713,4]]},"568":{"position":[[44,4],[909,6]]},"569":{"position":[[20,7],[214,6],[356,7],[788,7]]},"697":{"position":[[101,5]]},"698":{"position":[[99,5]]}},"keywords":{}}],["failur",{"_index":2435,"title":{},"content":{"251":{"position":[[118,7]]},"349":{"position":[[321,7],[447,7],[3340,8],[3482,7]]},"355":{"position":[[535,7],[632,7]]},"447":{"position":[[478,7]]},"547":{"position":[[237,7]]},"552":{"position":[[2640,9]]},"568":{"position":[[508,7],[952,9]]},"569":{"position":[[236,8],[368,8],[484,7]]}},"keywords":{}}],["fairli",{"_index":3397,"title":{},"content":{"367":{"position":[[912,6]]},"424":{"position":[[449,6]]}},"keywords":{}}],["faith",{"_index":4102,"title":{},"content":{"432":{"position":[[1146,5]]}},"keywords":{}}],["fall",{"_index":2123,"title":{},"content":{"174":{"position":[[130,7]]},"452":{"position":[[123,4]]}},"keywords":{}}],["fals",{"_index":180,"title":{},"content":{"5":{"position":[[1035,5]]},"33":{"position":[[456,5],[671,5],[803,5],[930,5]]},"35":{"position":[[1219,5],[1405,5],[1750,5],[1897,5]]},"36":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6640,5],[7436,5]]},"37":{"position":[[1012,5],[1198,5],[1543,5],[1690,5]]},"39":{"position":[[314,5]]},"50":{"position":[[644,6]]},"53":{"position":[[1055,5]]},"54":{"position":[[1431,6],[1524,5],[1599,5]]},"55":{"position":[[2527,5]]},"56":{"position":[[1356,5]]},"57":{"position":[[514,5],[535,5],[794,7],[940,6],[1049,5],[1070,5]]},"59":{"position":[[282,5]]},"61":{"position":[[2528,5],[2810,5]]},"64":{"position":[[447,5]]},"65":{"position":[[301,5]]},"69":{"position":[[289,6]]},"73":{"position":[[1518,5],[1526,5]]},"78":{"position":[[310,5],[458,5]]},"107":{"position":[[776,5]]},"109":{"position":[[665,5]]},"110":{"position":[[658,5],[1714,5],[1936,5]]},"115":{"position":[[272,5]]},"138":{"position":[[483,5],[570,5],[800,5],[835,5]]},"139":{"position":[[694,5]]},"140":{"position":[[644,5]]},"141":{"position":[[788,5],[868,5]]},"144":{"position":[[243,5]]},"146":{"position":[[183,5]]},"148":{"position":[[220,5]]},"176":{"position":[[242,5]]},"177":{"position":[[220,5]]},"182":{"position":[[244,5]]},"187":{"position":[[167,5]]},"188":{"position":[[578,5]]},"190":{"position":[[248,5]]},"191":{"position":[[220,5]]},"199":{"position":[[218,5],[244,5]]},"201":{"position":[[240,5]]},"203":{"position":[[478,5]]},"205":{"position":[[242,5]]},"226":{"position":[[505,5]]},"228":{"position":[[1248,5],[1434,5],[1779,5],[1926,5]]},"229":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6640,5],[7436,5]]},"230":{"position":[[1031,5],[1217,5],[1562,5],[1709,5]]},"231":{"position":[[1392,5],[1578,5],[1923,5],[2070,5]]},"232":{"position":[[1228,5],[1414,5],[1759,5],[1906,5]]},"233":{"position":[[795,5],[926,5]]},"234":{"position":[[578,5],[709,5]]},"240":{"position":[[360,5]]},"241":{"position":[[264,5]]},"242":{"position":[[376,5]]},"251":{"position":[[539,5],[1123,7],[1900,7]]},"276":{"position":[[531,5]]},"278":{"position":[[863,5],[1040,5]]},"279":{"position":[[966,5],[1811,5],[1902,5],[2551,5],[2634,5],[3875,5],[5179,5],[6037,5],[7431,5],[7484,5],[9851,5],[10237,5],[10758,5]]},"280":{"position":[[655,5],[832,5]]},"281":{"position":[[957,5],[1134,5]]},"282":{"position":[[626,5],[803,5]]},"283":{"position":[[788,5],[919,5]]},"284":{"position":[[580,5],[711,5]]},"287":{"position":[[369,5]]},"288":{"position":[[407,5]]},"299":{"position":[[369,5]]},"304":{"position":[[1195,5]]},"305":{"position":[[1473,5]]},"358":{"position":[[3040,5],[4297,5],[4989,5]]},"359":{"position":[[1640,5]]},"419":{"position":[[152,6]]},"421":{"position":[[63,6]]},"565":{"position":[[699,5],[977,5]]},"579":{"position":[[299,5]]},"580":{"position":[[299,5]]},"581":{"position":[[784,5]]},"587":{"position":[[303,5],[348,5]]},"588":{"position":[[297,5],[342,5]]},"589":{"position":[[308,5],[353,5]]},"591":{"position":[[743,5]]},"594":{"position":[[334,5]]},"595":{"position":[[257,5],[309,5]]},"596":{"position":[[182,5]]},"597":{"position":[[215,5],[267,5]]},"598":{"position":[[228,5]]},"599":{"position":[[237,5],[289,5]]},"602":{"position":[[160,5],[194,5]]},"609":{"position":[[229,5],[279,5],[356,5],[420,5],[545,5]]},"610":{"position":[[229,5],[279,5],[356,5],[416,5],[473,5],[607,5],[732,5]]},"611":{"position":[[592,5],[717,5],[811,5]]},"612":{"position":[[281,5],[332,5],[385,5],[795,5]]},"613":{"position":[[345,5],[404,5],[529,5]]},"614":{"position":[[302,5],[396,5]]},"615":{"position":[[323,5],[448,5],[542,5]]},"616":{"position":[[322,5],[416,5]]},"617":{"position":[[325,5],[419,5]]},"618":{"position":[[599,5],[693,5],[744,5],[796,5]]},"619":{"position":[[92,5],[589,5],[640,5],[693,5]]},"620":{"position":[[318,5],[369,5],[421,5]]},"621":{"position":[[316,5],[367,5],[419,5]]},"622":{"position":[[302,5],[352,5],[409,6],[416,5]]},"623":{"position":[[291,5],[385,5]]},"624":{"position":[[294,5],[387,5]]},"625":{"position":[[568,5],[662,5],[713,5],[765,5]]},"626":{"position":[[265,5],[393,5],[522,5],[992,5],[1120,5],[1249,5]]},"627":{"position":[[299,5],[427,5],[556,5],[1045,5],[1173,5],[1302,5]]},"628":{"position":[[283,5],[411,5],[540,5],[1017,5],[1145,5],[1274,5]]},"630":{"position":[[353,5],[414,5],[539,5]]},"631":{"position":[[578,5],[629,5],[681,5]]},"632":{"position":[[357,5],[412,5]]},"633":{"position":[[311,5]]},"634":{"position":[[216,5],[273,5]]},"635":{"position":[[530,5],[624,5]]},"637":{"position":[[1552,6]]},"639":{"position":[[286,5]]},"640":{"position":[[214,5]]},"641":{"position":[[203,5]]},"643":{"position":[[153,5],[221,5]]},"644":{"position":[[214,5]]},"647":{"position":[[301,5],[331,5]]},"648":{"position":[[408,5],[438,5],[563,5]]},"650":{"position":[[820,5],[877,5]]},"651":{"position":[[365,5],[419,5]]},"652":{"position":[[597,5],[721,5]]},"664":{"position":[[467,7],[645,6],[857,6],[1078,6]]},"665":{"position":[[433,7],[611,6],[866,6],[1130,6]]},"669":{"position":[[128,6],[467,5]]},"677":{"position":[[1700,6]]},"685":{"position":[[95,6]]},"691":{"position":[[1143,8]]},"699":{"position":[[57,5]]},"722":{"position":[[596,5],[649,5],[1677,6]]},"723":{"position":[[294,5],[347,5]]},"724":{"position":[[379,5],[432,5]]},"725":{"position":[[269,5]]},"731":{"position":[[589,5],[692,5]]},"757":{"position":[[431,6],[527,6],[722,6]]}},"keywords":{}}],["famili",{"_index":4107,"title":{},"content":{"432":{"position":[[1365,6]]}},"keywords":{}}],["familiar",{"_index":1032,"title":{},"content":{"43":{"position":[[1332,8]]},"269":{"position":[[179,11]]},"546":{"position":[[371,8]]}},"keywords":{}}],["fanci",{"_index":3265,"title":{},"content":{"358":{"position":[[4228,5]]}},"keywords":{}}],["faq",{"_index":3814,"title":{"393":{"position":[[0,5]]}},"content":{},"keywords":{}}],["far",{"_index":4260,"title":{},"content":{"522":{"position":[[835,3]]}},"keywords":{}}],["fashion",{"_index":184,"title":{},"content":{"5":{"position":[[1387,8]]},"67":{"position":[[3183,7]]},"389":{"position":[[1379,8]]},"574":{"position":[[301,8]]}},"keywords":{}}],["faster",{"_index":3931,"title":{},"content":{"404":{"position":[[327,6]]},"552":{"position":[[1081,6]]}},"keywords":{}}],["fault",{"_index":4499,"title":{},"content":{"557":{"position":[[415,6]]}},"keywords":{}}],["faulti",{"_index":4006,"title":{},"content":{"422":{"position":[[942,6]]}},"keywords":{}}],["featur",{"_index":1773,"title":{"95":{"position":[[4,8]]}},"content":{"96":{"position":[[6,9]]},"97":{"position":[[6,9]]},"98":{"position":[[116,7]]},"321":{"position":[[1553,7]]},"349":{"position":[[96,8]]},"383":{"position":[[1804,8]]},"401":{"position":[[107,8],[356,7]]},"540":{"position":[[3605,8]]},"547":{"position":[[1256,7]]},"556":{"position":[[22,7]]},"658":{"position":[[930,7],[1119,7]]}},"keywords":{}}],["feedback",{"_index":3077,"title":{"336":{"position":[[0,9]]}},"content":{},"keywords":{}}],["fep",{"_index":1993,"title":{},"content":{"119":{"position":[[135,7]]}},"keywords":{}}],["few",{"_index":1712,"title":{},"content":{"88":{"position":[[426,3]]},"257":{"position":[[349,3]]},"324":{"position":[[283,3]]},"540":{"position":[[35,3]]},"552":{"position":[[289,3]]}},"keywords":{}}],["ff5252",{"_index":5739,"title":{},"content":{"803":{"position":[[454,10]]}},"keywords":{}}],["fi",{"_index":1675,"title":{},"content":{"83":{"position":[[3513,2]]}},"keywords":{}}],["field",{"_index":378,"title":{},"content":{"17":{"position":[[194,5]]},"18":{"position":[[198,5]]},"36":{"position":[[1880,5],[2214,5],[10708,7],[10851,6]]},"48":{"position":[[204,5],[322,6],[1241,5],[1473,5],[1713,5],[2346,5],[2852,5],[3286,5],[3941,5],[4230,5],[4874,5]]},"53":{"position":[[989,6]]},"54":{"position":[[1458,6]]},"55":{"position":[[41,5],[156,6],[307,6],[369,5],[676,6],[767,5],[951,5],[1022,5],[1066,5],[1191,5],[1252,5],[1458,5],[1513,5],[1569,5],[1651,6],[2334,5],[2440,5],[3082,5],[3121,5],[3328,5],[3397,5]]},"56":{"position":[[1290,6]]},"59":{"position":[[250,5]]},"60":{"position":[[782,6]]},"61":{"position":[[581,5],[628,5],[1052,6],[2462,6]]},"62":{"position":[[660,5]]},"213":{"position":[[378,7]]},"229":{"position":[[1880,5],[2214,5]]},"272":{"position":[[285,7]]},"279":{"position":[[1875,5]]},"321":{"position":[[731,6],[857,6]]},"379":{"position":[[1154,6]]},"402":{"position":[[5488,5],[5966,5],[6036,5],[6155,5]]},"407":{"position":[[647,6]]},"447":{"position":[[286,5]]},"452":{"position":[[284,6]]},"461":{"position":[[493,6]]},"464":{"position":[[136,6]]},"467":{"position":[[420,5]]},"472":{"position":[[1324,6]]},"478":{"position":[[555,6]]},"481":{"position":[[30,6],[130,6]]},"482":{"position":[[709,5]]},"494":{"position":[[151,6]]},"502":{"position":[[492,6]]},"521":{"position":[[511,6]]},"522":{"position":[[994,6]]},"528":{"position":[[829,5]]},"643":{"position":[[118,5],[196,5]]},"800":{"position":[[93,7]]}},"keywords":{}}],["field"",{"_index":886,"title":{},"content":{"40":{"position":[[1008,11],[1144,11],[1279,11]]}},"keywords":{}}],["figur",{"_index":1591,"title":{},"content":{"83":{"position":[[132,6]]},"426":{"position":[[968,6]]}},"keywords":{}}],["file",{"_index":136,"title":{"4":{"position":[[0,4]]},"26":{"position":[[48,5]]},"27":{"position":[[22,5],[38,5]]},"28":{"position":[[13,4]]},"31":{"position":[[17,6]]},"40":{"position":[[8,5]]},"46":{"position":[[11,4]]},"47":{"position":[[0,4]]},"125":{"position":[[25,5]]},"225":{"position":[[19,6]]},"253":{"position":[[8,5]]},"260":{"position":[[12,5]]},"271":{"position":[[21,6]]},"299":{"position":[[8,5]]},"395":{"position":[[41,5]]},"396":{"position":[[19,4]]},"440":{"position":[[9,6]]},"461":{"position":[[0,4]]},"472":{"position":[[0,4]]},"478":{"position":[[0,4]]},"489":{"position":[[0,4]]},"495":{"position":[[0,4]]},"496":{"position":[[0,4]]},"502":{"position":[[0,4]]},"511":{"position":[[0,4]]},"521":{"position":[[0,4]]},"528":{"position":[[0,4]]},"575":{"position":[[28,6]]},"654":{"position":[[8,5]]}},"content":{"5":{"position":[[37,4],[1335,5]]},"6":{"position":[[133,6],[294,4],[620,4],[728,4],[1169,5]]},"7":{"position":[[86,4],[118,5],[416,4],[450,5],[461,4],[555,5],[566,4],[619,5]]},"8":{"position":[[64,6]]},"9":{"position":[[80,6]]},"12":{"position":[[17,4],[37,5],[186,5],[284,5],[364,4]]},"15":{"position":[[38,4],[106,4],[148,5],[239,4],[345,5],[432,4]]},"16":{"position":[[40,4],[110,4],[152,5],[243,4],[345,5],[434,4]]},"20":{"position":[[1324,4],[1455,4]]},"22":{"position":[[39,5]]},"23":{"position":[[437,5]]},"24":{"position":[[42,4],[147,5],[577,6]]},"26":{"position":[[10,5],[319,4],[341,6]]},"27":{"position":[[205,5],[461,5],[540,4],[599,4],[942,4],[978,4],[1020,5]]},"28":{"position":[[67,4]]},"31":{"position":[[18,5],[286,4],[474,5]]},"32":{"position":[[17,4],[117,5],[127,4],[194,5]]},"36":{"position":[[825,6],[4092,4]]},"40":{"position":[[9,5]]},"42":{"position":[[573,5],[1836,5]]},"44":{"position":[[1010,5]]},"47":{"position":[[21,5],[126,4]]},"48":{"position":[[12,5],[1466,5],[1658,5],[1890,5],[2552,5],[2712,4],[3192,7],[4098,5],[4157,5],[4385,4],[4867,5],[5051,5]]},"100":{"position":[[156,5]]},"109":{"position":[[1166,5],[1952,5]]},"110":{"position":[[1500,5]]},"115":{"position":[[2244,5],[2410,4]]},"117":{"position":[[557,4],[605,4]]},"125":{"position":[[28,4],[225,4],[272,4],[411,5]]},"126":{"position":[[513,4],[626,5],[698,6]]},"128":{"position":[[155,4],[685,4]]},"138":{"position":[[413,5],[547,5]]},"141":{"position":[[225,5],[287,4],[317,5],[474,4],[513,4],[940,4]]},"149":{"position":[[475,4]]},"153":{"position":[[112,5]]},"154":{"position":[[55,4],[121,4]]},"156":{"position":[[119,5]]},"157":{"position":[[62,4],[128,4]]},"160":{"position":[[114,5]]},"161":{"position":[[57,4],[123,4]]},"163":{"position":[[121,5]]},"164":{"position":[[64,4],[130,4]]},"186":{"position":[[171,5]]},"188":{"position":[[185,5],[247,4],[277,5],[434,4],[473,4],[641,4]]},"195":{"position":[[56,4]]},"203":{"position":[[274,4]]},"214":{"position":[[202,6],[1087,4],[1451,6]]},"223":{"position":[[220,4]]},"225":{"position":[[20,5],[99,4],[159,5],[222,5],[342,5],[509,4],[711,5]]},"229":{"position":[[825,6],[4092,4]]},"240":{"position":[[214,6]]},"244":{"position":[[36,4],[133,4],[286,4],[330,5]]},"252":{"position":[[92,4]]},"253":{"position":[[9,5]]},"255":{"position":[[224,5],[333,4],[434,5]]},"258":{"position":[[359,6],[821,5],[1419,5],[1876,4]]},"259":{"position":[[128,4],[293,5]]},"260":{"position":[[28,4],[124,4]]},"268":{"position":[[157,6]]},"271":{"position":[[22,5],[123,4],[185,5],[250,5],[372,5],[540,4],[738,5]]},"272":{"position":[[496,4]]},"275":{"position":[[523,5]]},"279":{"position":[[820,6],[3041,4],[10554,4],[10602,4]]},"287":{"position":[[223,6]]},"288":{"position":[[207,4],[249,4]]},"293":{"position":[[36,4],[133,4],[177,5]]},"296":{"position":[[94,4]]},"298":{"position":[[140,4]]},"299":{"position":[[9,5]]},"301":{"position":[[364,6],[683,4],[811,4],[890,5],[1060,4],[1176,4],[1406,4],[1476,4]]},"302":{"position":[[391,5],[732,5],[764,5],[937,5],[1059,4],[1442,6],[1531,4],[2111,5],[2468,5],[2506,4]]},"303":{"position":[[441,5],[1169,4]]},"304":{"position":[[598,5]]},"305":{"position":[[637,5]]},"306":{"position":[[627,5],[879,4]]},"307":{"position":[[731,5],[988,5],[1402,5],[1479,4],[1700,4],[1862,4]]},"309":{"position":[[2522,4],[2651,4],[3083,4],[3689,5]]},"314":{"position":[[40,4],[68,4]]},"315":{"position":[[55,4],[169,5]]},"319":{"position":[[149,4],[517,4]]},"320":{"position":[[792,5]]},"323":{"position":[[339,5],[370,4],[447,5]]},"324":{"position":[[226,5],[870,4],[922,4]]},"325":{"position":[[57,4]]},"326":{"position":[[653,5],[1346,4]]},"330":{"position":[[1256,4]]},"331":{"position":[[596,5],[706,5]]},"332":{"position":[[131,4],[283,4],[847,4],[1017,4],[1495,5]]},"333":{"position":[[89,4],[226,4],[433,4]]},"338":{"position":[[285,5],[376,5],[502,4]]},"339":{"position":[[71,5],[334,5]]},"340":{"position":[[656,5]]},"342":{"position":[[853,5],[903,5],[999,5],[1082,5],[1095,5],[1169,5],[1180,5]]},"349":{"position":[[1483,4]]},"350":{"position":[[1089,4]]},"351":{"position":[[616,4]]},"352":{"position":[[82,4]]},"353":{"position":[[681,4],[767,4]]},"358":{"position":[[1620,5],[1665,5],[6157,6],[6450,5],[7468,6]]},"359":{"position":[[186,5],[626,5],[2000,5]]},"363":{"position":[[462,5]]},"378":{"position":[[578,5]]},"379":{"position":[[53,5],[74,6],[207,5],[3831,4]]},"380":{"position":[[263,5],[1645,5],[1718,5]]},"382":{"position":[[358,4]]},"383":{"position":[[1312,5],[1569,5],[1674,4]]},"395":{"position":[[16,4],[158,6],[197,4]]},"396":{"position":[[46,4],[77,6],[112,5]]},"397":{"position":[[68,6],[111,5]]},"407":{"position":[[594,6]]},"415":{"position":[[251,4],[276,5],[292,4],[429,5]]},"439":{"position":[[22,4],[102,5],[124,4]]},"440":{"position":[[643,6]]},"441":{"position":[[37,4],[62,4],[162,5]]},"442":{"position":[[59,5]]},"443":{"position":[[46,5],[103,5]]},"454":{"position":[[513,4]]},"476":{"position":[[81,6]]},"485":{"position":[[255,4]]},"494":{"position":[[27,4],[56,4],[172,5]]},"496":{"position":[[27,4],[61,5],[82,5],[103,5],[231,4]]},"497":{"position":[[83,4],[114,4],[144,4],[256,4]]},"498":{"position":[[123,4],[185,5],[229,4],[380,4],[441,4],[446,4]]},"499":{"position":[[125,4],[200,5],[246,4],[399,4],[477,4]]},"501":{"position":[[125,5]]},"511":{"position":[[53,4]]},"517":{"position":[[200,6]]},"526":{"position":[[87,5],[207,6]]},"528":{"position":[[102,4],[167,4],[224,4],[263,4],[285,4],[301,4],[418,4],[540,4],[569,4],[603,4],[621,4],[674,4],[924,5]]},"532":{"position":[[89,4],[187,4]]},"534":{"position":[[715,4]]},"540":{"position":[[1569,5],[4474,4]]},"544":{"position":[[854,4],[981,5]]},"546":{"position":[[534,4],[661,5]]},"549":{"position":[[95,5],[247,5],[467,5]]},"551":{"position":[[605,4]]},"552":{"position":[[270,6],[526,6],[572,5],[617,4],[718,6],[886,6],[1274,4],[1316,4],[1443,4],[1504,4],[1571,4]]},"561":{"position":[[528,4],[827,4]]},"571":{"position":[[296,5],[490,6]]},"572":{"position":[[522,6]]},"574":{"position":[[328,4],[353,4],[370,4]]},"575":{"position":[[29,5],[220,5],[356,5]]},"576":{"position":[[118,4]]},"611":{"position":[[147,6]]},"649":{"position":[[95,5],[105,4]]},"650":{"position":[[555,4],[1394,4]]},"654":{"position":[[9,5]]},"658":{"position":[[272,6]]},"669":{"position":[[10,4],[27,4],[260,4],[399,4],[450,5],[506,5],[528,4],[617,4],[721,4],[747,4],[752,4],[868,4],[938,4],[1045,4],[1072,4],[1077,4],[1195,4]]},"670":{"position":[[10,4],[181,4],[288,4],[341,4],[411,5],[577,4],[703,5],[906,4],[1062,5]]},"671":{"position":[[10,4],[157,4],[271,5],[331,5]]},"673":{"position":[[61,4],[121,6],[324,4],[441,6],[1099,4],[1160,4],[1318,4],[1447,4],[1459,4],[1498,5],[1584,5],[1601,4],[1658,6],[1670,4],[1725,4],[1892,5],[1997,4],[2044,4],[2052,6]]},"741":{"position":[[128,5]]},"752":{"position":[[408,5]]},"761":{"position":[[354,5]]},"776":{"position":[[42,5]]},"777":{"position":[[302,5],[314,5]]},"778":{"position":[[19,4],[518,4]]},"785":{"position":[[44,4]]},"793":{"position":[[233,4],[280,4]]}},"keywords":{}}],["file"",{"_index":5030,"title":{},"content":{"673":{"position":[[1362,11],[1769,11]]}},"keywords":{}}],["file(",{"_index":5019,"title":{},"content":{"673":{"position":[[141,7]]}},"keywords":{}}],["file.clos",{"_index":4994,"title":{},"content":{"669":{"position":[[1050,12],[1173,12]]},"673":{"position":[[1879,12],[2090,12]]}},"keywords":{}}],["file.delet",{"_index":4226,"title":{},"content":{"498":{"position":[[1065,11]]},"673":{"position":[[1486,11],[1690,11]]}},"keywords":{}}],["file.open("_cbor_template.bin"",{"_index":2270,"title":{},"content":{"214":{"position":[[1400,41]]}},"keywords":{}}],["file.read",{"_index":4215,"title":{},"content":{"498":{"position":[[499,9]]},"669":{"position":[[835,11]]},"673":{"position":[[1476,9],[1680,9]]}},"keywords":{}}],["file.read().format",{"_index":4989,"title":{},"content":{"669":{"position":[[681,21]]}},"keywords":{}}],["file.rewind",{"_index":5004,"title":{},"content":{"670":{"position":[[647,11]]}},"keywords":{}}],["file.seek(0",{"_index":5009,"title":{},"content":{"670":{"position":[[1005,12]]}},"keywords":{}}],["file.unlink",{"_index":4990,"title":{},"content":{"669":{"position":[[726,11],[847,11]]}},"keywords":{}}],["file.write("thi",{"_index":5003,"title":{},"content":{"670":{"position":[[605,21],[963,21]]}},"keywords":{}}],["file.write(data.to_cbor",{"_index":2272,"title":{},"content":{"214":{"position":[[1458,24]]}},"keywords":{}}],["filecompose.yaml",{"_index":3564,"title":{},"content":{"373":{"position":[[148,16]]}},"keywords":{}}],["filedownload",{"_index":4275,"title":{},"content":{"528":{"position":[[198,13]]}},"keywords":{}}],["filenam",{"_index":329,"title":{},"content":{"12":{"position":[[161,8],[240,9],[349,9],[555,9]]},"20":{"position":[[1252,8],[1383,8]]},"36":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"47":{"position":[[146,8]]},"50":{"position":[[1131,8]]},"109":{"position":[[1008,8],[1103,8],[1228,8]]},"110":{"position":[[1342,8],[1437,8],[1562,8]]},"115":{"position":[[2203,8]]},"128":{"position":[[661,8]]},"139":{"position":[[527,8],[564,8]]},"149":{"position":[[451,8]]},"176":{"position":[[128,9],[198,10]]},"190":{"position":[[134,9],[204,10]]},"195":{"position":[[280,9]]},"201":{"position":[[126,9],[196,10]]},"205":{"position":[[128,9],[198,10]]},"229":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"244":{"position":[[336,8]]},"251":{"position":[[208,8],[221,8],[275,8],[376,9]]},"279":{"position":[[3510,8],[3523,8],[3577,8],[3678,9],[10518,8]]},"288":{"position":[[171,8]]},"293":{"position":[[183,8]]},"315":{"position":[[78,10]]},"324":{"position":[[839,8]]},"528":{"position":[[505,8],[820,8],[842,8]]},"530":{"position":[[128,8]]},"552":{"position":[[1719,8]]},"649":{"position":[[70,8]]},"650":{"position":[[512,8],[1363,8]]},"777":{"position":[[266,8]]},"778":{"position":[[490,8]]}},"keywords":{}}],["filename>"",{"_index":5641,"title":{},"content":{"777":{"position":[[213,19]]},"778":{"position":[[439,19]]}},"keywords":{}}],["filenamecr",{"_index":4270,"title":{},"content":{"528":{"position":[[25,15]]}},"keywords":{}}],["filepacket",{"_index":3850,"title":{},"content":{"398":{"position":[[292,11]]}},"keywords":{}}],["files"",{"_index":5034,"title":{},"content":{"673":{"position":[[1544,12],[1938,12]]}},"keywords":{}}],["files.each",{"_index":5035,"title":{},"content":{"673":{"position":[[1644,10]]}},"keywords":{}}],["files.program",{"_index":3110,"title":{},"content":{"343":{"position":[[1462,13]]}},"keywords":{}}],["filesav",{"_index":4273,"title":{},"content":{"528":{"position":[[136,9]]}},"keywords":{}}],["fill",{"_index":649,"title":{},"content":{"35":{"position":[[445,5]]},"37":{"position":[[238,5]]},"53":{"position":[[984,4],[1007,4]]},"54":{"position":[[677,7],[1453,4],[1476,4]]},"55":{"position":[[494,7],[2367,4],[2482,6]]},"56":{"position":[[1285,4],[1308,4]]},"57":{"position":[[581,4],[897,4],[915,4],[961,4]]},"58":{"position":[[342,4],[365,4]]},"60":{"position":[[777,4],[800,4]]},"61":{"position":[[678,6],[834,4],[865,6],[2457,4],[2480,4]]},"65":{"position":[[162,4],[227,5]]},"228":{"position":[[474,5]]},"230":{"position":[[257,5]]},"231":{"position":[[644,5]]},"232":{"position":[[480,5]]},"233":{"position":[[645,5]]},"234":{"position":[[428,5]]},"243":{"position":[[100,6],[191,6]]},"244":{"position":[[98,6],[187,6]]},"278":{"position":[[472,5]]},"280":{"position":[[264,5]]},"281":{"position":[[595,5]]},"282":{"position":[[264,5]]},"283":{"position":[[638,5]]},"284":{"position":[[430,5]]},"289":{"position":[[226,6]]},"348":{"position":[[271,4],[1323,6]]},"379":{"position":[[234,4]]},"404":{"position":[[1527,6]]},"479":{"position":[[3,4]]},"506":{"position":[[145,4]]},"523":{"position":[[306,5],[466,5]]},"524":{"position":[[143,4]]},"528":{"position":[[804,7]]}},"keywords":{}}],["filter",{"_index":4167,"title":{},"content":{"470":{"position":[[284,6]]},"474":{"position":[[56,8]]},"491":{"position":[[157,6]]},"517":{"position":[[270,8]]},"528":{"position":[[517,6]]},"673":{"position":[[536,7],[646,7],[1058,6],[1084,6],[1416,7]]},"800":{"position":[[148,6]]}},"keywords":{}}],["filter="<filter>"",{"_index":5024,"title":{},"content":{"673":{"position":[[773,34],[882,34]]}},"keywords":{}}],["filter=".txt"",{"_index":5036,"title":{},"content":{"673":{"position":[[1823,24]]}},"keywords":{}}],["final",{"_index":843,"title":{},"content":{"36":{"position":[[10079,7]]},"50":{"position":[[448,5]]},"53":{"position":[[426,8]]},"67":{"position":[[4208,5],[4883,5]]},"229":{"position":[[10079,7]]},"301":{"position":[[866,5]]},"421":{"position":[[386,7]]},"422":{"position":[[1016,7]]},"430":{"position":[[694,8]]},"462":{"position":[[267,7]]},"524":{"position":[[989,5]]},"540":{"position":[[4888,7]]},"552":{"position":[[1957,8]]},"613":{"position":[[281,5]]},"630":{"position":[[289,5]]},"658":{"position":[[713,8],[1186,8]]}},"keywords":{}}],["find",{"_index":117,"title":{},"content":{"3":{"position":[[505,4],[654,4]]},"83":{"position":[[1428,4]]},"115":{"position":[[2567,4]]},"203":{"position":[[256,4]]},"313":{"position":[[169,4]]},"320":{"position":[[825,4]]},"330":{"position":[[1247,4]]},"336":{"position":[[1,4]]},"349":{"position":[[1822,4],[1837,4]]},"386":{"position":[[622,4]]}},"keywords":{}}],["fine",{"_index":3018,"title":{},"content":{"330":{"position":[[763,4]]},"380":{"position":[[1414,4]]},"566":{"position":[[445,4]]}},"keywords":{}}],["finish",{"_index":4278,"title":{},"content":{"529":{"position":[[23,8]]},"568":{"position":[[291,6]]}},"keywords":{}}],["fired!"",{"_index":739,"title":{},"content":{"36":{"position":[[3938,12]]},"229":{"position":[[3938,12]]}},"keywords":{}}],["firefox",{"_index":395,"title":{},"content":{"20":{"position":[[74,7]]},"344":{"position":[[315,7],[350,7]]}},"keywords":{}}],["firewal",{"_index":2904,"title":{},"content":{"309":{"position":[[3738,8]]},"429":{"position":[[296,9]]},"432":{"position":[[130,9]]}},"keywords":{}}],["first",{"_index":157,"title":{},"content":{"5":{"position":[[429,6]]},"6":{"position":[[464,5]]},"42":{"position":[[816,5]]},"48":{"position":[[1423,5],[1615,5],[1900,5],[2562,5],[4697,5],[5061,5]]},"50":{"position":[[895,5]]},"67":{"position":[[1578,5],[1673,5],[1957,5],[3837,6]]},"77":{"position":[[833,5]]},"82":{"position":[[79,5]]},"91":{"position":[[501,5],[943,5]]},"92":{"position":[[485,5],[734,5]]},"93":{"position":[[153,6]]},"235":{"position":[[103,5]]},"285":{"position":[[102,5]]},"297":{"position":[[593,5]]},"299":{"position":[[531,5]]},"305":{"position":[[1068,5]]},"321":{"position":[[340,5],[514,5]]},"331":{"position":[[269,5],[347,5]]},"338":{"position":[[550,6],[622,6]]},"349":{"position":[[3894,5]]},"358":{"position":[[5551,7],[5660,5]]},"373":{"position":[[354,5]]},"402":{"position":[[1431,5],[2070,5]]},"430":{"position":[[368,6]]},"462":{"position":[[144,5]]},"467":{"position":[[21,5]]},"473":{"position":[[713,5]]},"491":{"position":[[47,5]]},"522":{"position":[[1342,5]]},"523":{"position":[[522,5]]},"524":{"position":[[307,5]]},"528":{"position":[[582,5]]},"535":{"position":[[580,5],[758,5]]},"540":{"position":[[3718,5]]},"552":{"position":[[1204,5]]},"554":{"position":[[242,5]]},"577":{"position":[[61,5]]},"608":{"position":[[63,5]]},"744":{"position":[[1320,5]]},"787":{"position":[[855,5]]},"812":{"position":[[61,5]]}},"keywords":{}}],["fit",{"_index":1832,"title":{},"content":{"102":{"position":[[194,3]]},"354":{"position":[[106,4]]},"390":{"position":[[847,7]]},"594":{"position":[[239,3]]},"595":{"position":[[108,3],[143,3]]},"596":{"position":[[88,3]]},"597":{"position":[[112,3]]},"598":{"position":[[89,3]]},"599":{"position":[[97,3]]}},"keywords":{}}],["fix",{"_index":1134,"title":{"54":{"position":[[0,5]]}},"content":{"50":{"position":[[80,6]]},"54":{"position":[[5,5],[346,5],[418,5],[513,5],[602,5]]},"55":{"position":[[52,5]]},"67":{"position":[[255,5]]},"104":{"position":[[1181,5],[2095,5]]},"105":{"position":[[1197,5],[1996,5]]},"111":{"position":[[1469,5]]},"209":{"position":[[311,3]]},"324":{"position":[[357,3]]},"577":{"position":[[506,5]]},"607":{"position":[[10,5]]},"786":{"position":[[505,5],[777,5]]},"787":{"position":[[965,5],[1248,5]]}},"keywords":{}}],["fixlinux",{"_index":2207,"title":{},"content":{"209":{"position":[[533,8]]}},"keywords":{}}],["fixwindow",{"_index":2204,"title":{},"content":{"209":{"position":[[357,10]]}},"keywords":{}}],["flag",{"_index":379,"title":{},"content":{"17":{"position":[[261,4]]},"18":{"position":[[266,4]]},"48":{"position":[[530,4],[591,4],[656,4],[723,4],[830,4],[932,4],[3153,4],[3560,4],[3696,4],[3874,4]]},"55":{"position":[[2409,4]]},"69":{"position":[[858,4]]},"73":{"position":[[1510,4]]},"74":{"position":[[677,4]]},"275":{"position":[[710,4]]},"349":{"position":[[6579,4],[6792,4]]},"557":{"position":[[225,4]]},"692":{"position":[[63,7]]}},"keywords":{}}],["flag"",{"_index":2471,"title":{},"content":{"253":{"position":[[365,10],[1243,10],[2013,10]]},"299":{"position":[[352,10]]}},"keywords":{}}],["flags"",{"_index":2474,"title":{},"content":{"253":{"position":[[544,11],[1422,11],[2192,11]]},"299":{"position":[[513,11]]}},"keywords":{}}],["flavor",{"_index":3258,"title":{},"content":{"358":{"position":[[3347,6]]}},"keywords":{}}],["flight",{"_index":1807,"title":{},"content":{"96":{"position":[[678,6]]},"343":{"position":[[899,6]]}},"keywords":{}}],["float",{"_index":625,"title":{},"content":{"31":{"position":[[579,6],[650,8]]},"35":{"position":[[713,6],[778,6]]},"37":{"position":[[506,6],[571,6]]},"64":{"position":[[1053,5],[1165,5]]},"213":{"position":[[231,7],[735,5],[1171,5]]},"214":{"position":[[831,5],[2085,5]]},"218":{"position":[[1033,5],[1863,5]]},"219":{"position":[[959,5],[1605,5],[1683,5]]},"220":{"position":[[1134,5],[2404,5]]},"225":{"position":[[880,6],[951,8]]},"228":{"position":[[742,6],[807,6],[2112,5]]},"230":{"position":[[525,6],[590,6],[1846,5]]},"231":{"position":[[912,6],[977,6]]},"232":{"position":[[748,6],[813,6]]},"233":{"position":[[508,6],[977,5]]},"234":{"position":[[291,6],[764,5]]},"253":{"position":[[755,5]]},"271":{"position":[[904,6],[975,8]]},"275":{"position":[[1247,5]]},"278":{"position":[[745,6]]},"279":{"position":[[7410,6]]},"280":{"position":[[537,6]]},"281":{"position":[[754,6]]},"282":{"position":[[423,6]]},"283":{"position":[[501,6],[965,5]]},"284":{"position":[[293,6],[761,5]]},"299":{"position":[[1238,5]]},"304":{"position":[[1084,5]]},"305":{"position":[[1301,5]]},"358":{"position":[[2940,5],[3825,5],[3831,7],[4915,5]]},"359":{"position":[[1538,5]]},"398":{"position":[[10,6]]},"506":{"position":[[256,5],[470,7]]},"568":{"position":[[813,8]]}},"keywords":{}}],["float(multipli",{"_index":782,"title":{},"content":{"36":{"position":[[5993,17]]},"229":{"position":[[5993,17]]},"279":{"position":[[4473,17]]}},"keywords":{}}],["floats"",{"_index":2411,"title":{},"content":{"233":{"position":[[1011,12]]},"234":{"position":[[798,12]]},"283":{"position":[[993,12]]},"284":{"position":[[789,12]]}},"keywords":{}}],["flow",{"_index":1913,"title":{},"content":{"111":{"position":[[1058,4]]},"121":{"position":[[9,4]]},"314":{"position":[[764,4]]},"330":{"position":[[1232,7]]},"343":{"position":[[1323,5]]},"387":{"position":[[474,5]]}},"keywords":{}}],["flow_control",{"_index":1925,"title":{},"content":{"111":{"position":[[1929,12]]},"140":{"position":[[338,12],[748,12]]},"314":{"position":[[804,12],[1377,12],[1397,12]]}},"keywords":{}}],["fluent",{"_index":3340,"title":{},"content":{"362":{"position":[[1334,6],[1417,6],[1477,6]]}},"keywords":{}}],["fluent/fluentd",{"_index":3310,"title":{"362":{"position":[[0,15]]}},"content":{},"keywords":{}}],["fluent/fluentd:v1.10.3",{"_index":3338,"title":{},"content":{"362":{"position":[[1234,22]]}},"keywords":{}}],["fluentd",{"_index":3311,"title":{},"content":{"362":{"position":[[1,7],[1030,7]]}},"keywords":{}}],["fluentd/etc/fluent.conf",{"_index":3339,"title":{},"content":{"362":{"position":[[1283,24]]}},"keywords":{}}],["flush_interv",{"_index":3333,"title":{},"content":{"362":{"position":[[473,14],[803,14],[1125,14]]}},"keywords":{}}],["fnkgt8h4nynrzr8po2jwebpfyzlr00gvsyk",{"_index":1557,"title":{},"content":{"82":{"position":[[2404,35],[5869,35]]}},"keywords":{}}],["focu",{"_index":4245,"title":{},"content":{"506":{"position":[[625,5]]},"524":{"position":[[926,5]]}},"keywords":{}}],["folder",{"_index":338,"title":{},"content":{"12":{"position":[[377,6],[434,6]]},"27":{"position":[[128,7],[174,6]]},"36":{"position":[[4141,7]]},"127":{"position":[[135,6]]},"143":{"position":[[137,6],[356,6]]},"150":{"position":[[76,6],[150,6],[234,7]]},"178":{"position":[[223,6],[270,6]]},"181":{"position":[[121,6],[340,6]]},"192":{"position":[[296,6],[335,6]]},"210":{"position":[[27,7]]},"211":{"position":[[34,7]]},"229":{"position":[[4141,7]]},"279":{"position":[[3090,7]]},"298":{"position":[[174,6]]},"302":{"position":[[951,6],[1702,6]]},"338":{"position":[[29,7]]},"339":{"position":[[15,6]]},"378":{"position":[[1357,6],[1384,7]]},"379":{"position":[[22,6],[3555,7]]},"395":{"position":[[226,6]]},"396":{"position":[[147,6]]},"397":{"position":[[146,6]]},"440":{"position":[[107,7]]},"441":{"position":[[207,6]]},"443":{"position":[[148,6]]},"528":{"position":[[391,7],[760,6],[783,6]]},"549":{"position":[[192,6]]},"777":{"position":[[351,6]]}},"keywords":{}}],["folder/my_file"",{"_index":341,"title":{},"content":{"12":{"position":[[466,21]]}},"keywords":{}}],["follow",{"_index":143,"title":{},"content":{"5":{"position":[[68,8],[535,9]]},"6":{"position":[[318,10],[806,10]]},"7":{"position":[[668,8],[804,8]]},"27":{"position":[[219,9],[648,9],[774,9]]},"28":{"position":[[98,9]]},"34":{"position":[[5,9],[29,6]]},"36":{"position":[[5,9],[29,6]]},"42":{"position":[[893,9],[1750,9]]},"44":{"position":[[885,9]]},"50":{"position":[[21,9],[274,9]]},"54":{"position":[[484,8]]},"55":{"position":[[2856,10]]},"56":{"position":[[273,8]]},"63":{"position":[[21,9]]},"67":{"position":[[1741,9],[4975,6]]},"73":{"position":[[351,9]]},"74":{"position":[[384,9]]},"75":{"position":[[400,9]]},"76":{"position":[[399,9]]},"89":{"position":[[49,9]]},"91":{"position":[[5,9]]},"92":{"position":[[5,9]]},"93":{"position":[[169,10]]},"103":{"position":[[21,9],[257,6],[319,9]]},"109":{"position":[[2091,9],[2413,9]]},"115":{"position":[[21,9],[851,9]]},"125":{"position":[[230,7],[296,8],[353,9]]},"129":{"position":[[5,9],[29,6]]},"151":{"position":[[5,9],[29,6]]},"179":{"position":[[5,9],[29,6]]},"193":{"position":[[5,9],[29,6]]},"204":{"position":[[5,9],[29,6]]},"213":{"position":[[145,9]]},"217":{"position":[[456,9],[1036,9],[2230,9]]},"221":{"position":[[68,9]]},"225":{"position":[[847,9]]},"227":{"position":[[5,9],[29,6]]},"229":{"position":[[5,9],[29,6]]},"251":{"position":[[846,8],[1614,8]]},"258":{"position":[[758,10],[1586,10]]},"271":{"position":[[871,9]]},"274":{"position":[[702,8]]},"277":{"position":[[5,9],[29,6]]},"279":{"position":[[5,9],[29,6]]},"301":{"position":[[354,9]]},"302":{"position":[[381,9]]},"303":{"position":[[431,9]]},"304":{"position":[[501,9],[588,9]]},"305":{"position":[[537,9],[627,9]]},"306":{"position":[[617,9]]},"307":{"position":[[721,9]]},"309":{"position":[[523,9],[2494,9]]},"314":{"position":[[346,9]]},"317":{"position":[[91,9]]},"319":{"position":[[26,6]]},"320":{"position":[[136,8],[834,10],[1797,10]]},"321":{"position":[[1023,9],[1387,9]]},"328":{"position":[[5,9]]},"332":{"position":[[1175,9]]},"333":{"position":[[282,9]]},"342":{"position":[[76,9]]},"343":{"position":[[5,9]]},"358":{"position":[[671,8]]},"369":{"position":[[409,9]]},"371":{"position":[[41,9]]},"374":{"position":[[46,10]]},"378":{"position":[[1496,6],[1573,9]]},"379":{"position":[[249,9]]},"383":{"position":[[887,6],[1842,6]]},"387":{"position":[[79,9]]},"389":{"position":[[418,6]]},"391":{"position":[[137,6]]},"392":{"position":[[431,6]]},"396":{"position":[[9,9]]},"397":{"position":[[9,9]]},"399":{"position":[[5,9]]},"400":{"position":[[5,9]]},"401":{"position":[[84,9]]},"402":{"position":[[719,9],[2368,8],[3104,8],[3385,8],[4028,8]]},"404":{"position":[[2112,9]]},"407":{"position":[[221,9]]},"415":{"position":[[314,9]]},"426":{"position":[[42,9]]},"429":{"position":[[404,6]]},"431":{"position":[[801,9]]},"498":{"position":[[29,9]]},"499":{"position":[[29,9]]},"506":{"position":[[485,9]]},"522":{"position":[[1264,9]]},"529":{"position":[[434,6]]},"540":{"position":[[1214,9],[1789,9],[2676,9]]},"542":{"position":[[216,8],[251,10]]},"561":{"position":[[214,8],[364,9],[669,9]]},"575":{"position":[[128,8]]},"592":{"position":[[428,9]]},"612":{"position":[[18,8],[909,9]]},"613":{"position":[[37,8]]},"614":{"position":[[37,8]]},"615":{"position":[[45,8]]},"616":{"position":[[37,8]]},"617":{"position":[[37,8]]},"618":{"position":[[37,8]]},"619":{"position":[[246,8],[846,9]]},"623":{"position":[[24,8]]},"624":{"position":[[24,8]]},"625":{"position":[[24,8]]},"626":{"position":[[645,9]]},"627":{"position":[[698,9]]},"628":{"position":[[37,8],[665,9]]},"649":{"position":[[612,9]]},"650":{"position":[[1168,9]]},"652":{"position":[[1076,9]]},"659":{"position":[[85,9]]},"660":{"position":[[5,9]]},"661":{"position":[[5,9]]},"662":{"position":[[5,9]]},"699":{"position":[[740,8]]}},"keywords":{}}],["font",{"_index":2170,"title":{},"content":{"197":{"position":[[176,4]]},"590":{"position":[[90,4],[197,4]]},"647":{"position":[[254,4],[264,4]]},"648":{"position":[[361,4],[371,4]]}},"keywords":{}}],["footer",{"_index":276,"title":{},"content":{"7":{"position":[[1142,6]]},"58":{"position":[[176,6],[283,6],[290,6]]}},"keywords":{}}],["footnot",{"_index":3532,"title":{},"content":{"369":{"position":[[4216,10]]}},"keywords":{}}],["forc",{"_index":380,"title":{},"content":{"17":{"position":[[281,5],[295,5]]},"18":{"position":[[286,5],[300,5]]},"35":{"position":[[1109,6],[1640,6]]},"37":{"position":[[902,6],[1433,6]]},"228":{"position":[[1138,6],[1669,6]]},"230":{"position":[[921,6],[1452,6]]},"231":{"position":[[1813,6]]},"232":{"position":[[1649,6]]}},"keywords":{}}],["foreground",{"_index":4765,"title":{},"content":{"637":{"position":[[1417,10]]}},"keywords":{}}],["foreign",{"_index":3824,"title":{},"content":{"393":{"position":[[1082,7]]}},"keywords":{}}],["forev",{"_index":2096,"title":{},"content":{"155":{"position":[[143,8]]},"158":{"position":[[147,8]]},"162":{"position":[[147,8]]},"165":{"position":[[151,8]]},"166":{"position":[[169,8]]},"167":{"position":[[165,8]]},"168":{"position":[[163,8]]},"169":{"position":[[163,8]]},"170":{"position":[[163,8]]},"389":{"position":[[1823,7]]}},"keywords":{}}],["forget",{"_index":3668,"title":{},"content":{"379":{"position":[[3662,6]]},"557":{"position":[[455,10],[505,10]]}},"keywords":{}}],["fork",{"_index":3715,"title":{},"content":{"386":{"position":[[71,4],[104,5]]}},"keywords":{}}],["form",{"_index":200,"title":{"215":{"position":[[0,4]]}},"content":{"6":{"position":[[160,5]]},"82":{"position":[[461,4]]},"91":{"position":[[533,4]]},"92":{"position":[[517,4]]},"100":{"position":[[515,4]]},"186":{"position":[[110,4]]},"215":{"position":[[5,4],[78,5],[131,4],[237,5],[288,4],[562,4],[722,4]]},"402":{"position":[[6092,4]]},"424":{"position":[[1222,4]]},"575":{"position":[[103,4]]},"576":{"position":[[130,4]]},"701":{"position":[[21,4]]},"704":{"position":[[406,4]]},"717":{"position":[[295,4]]}},"keywords":{}}],["formaccessor",{"_index":2281,"title":{},"content":{"215":{"position":[[355,12],[791,12]]},"217":{"position":[[204,13],[1394,12]]}},"keywords":{}}],["formal",{"_index":3776,"title":{},"content":{"390":{"position":[[398,6],[1289,7]]},"546":{"position":[[590,7]]}},"keywords":{}}],["format",{"_index":137,"title":{"4":{"position":[[5,6]]},"28":{"position":[[26,7]]},"46":{"position":[[16,7]]}},"content":{"5":{"position":[[908,6]]},"26":{"position":[[38,7],[223,6]]},"28":{"position":[[82,7],[139,7]]},"33":{"position":[[218,6]]},"35":{"position":[[1319,7],[1850,6]]},"36":{"position":[[92,10],[148,6]]},"37":{"position":[[1112,7],[1643,6]]},"48":{"position":[[139,7],[160,6],[3931,6]]},"83":{"position":[[1961,11]]},"91":{"position":[[1116,6]]},"92":{"position":[[284,9],[368,9]]},"125":{"position":[[277,6]]},"213":{"position":[[51,6]]},"214":{"position":[[88,6]]},"218":{"position":[[102,6]]},"226":{"position":[[378,6]]},"228":{"position":[[1348,7],[1879,6]]},"229":{"position":[[92,10],[148,6]]},"230":{"position":[[1131,7],[1662,6]]},"231":{"position":[[1492,7],[2023,6]]},"232":{"position":[[1328,7],[1859,6]]},"233":{"position":[[879,6]]},"234":{"position":[[662,6]]},"243":{"position":[[145,9]]},"244":{"position":[[141,9]]},"271":{"position":[[1651,9]]},"275":{"position":[[857,6]]},"276":{"position":[[395,6]]},"278":{"position":[[954,7]]},"279":{"position":[[87,10],[143,6]]},"280":{"position":[[746,7]]},"281":{"position":[[1048,7]]},"282":{"position":[[717,7]]},"283":{"position":[[872,6]]},"284":{"position":[[664,6]]},"299":{"position":[[1461,9]]},"301":{"position":[[1068,9]]},"302":{"position":[[782,6]]},"320":{"position":[[970,7],[1114,7],[1262,7]]},"350":{"position":[[138,7],[1501,10],[1516,9]]},"353":{"position":[[67,6],[553,10]]},"402":{"position":[[3192,10],[4110,10]]},"454":{"position":[[502,6]]},"457":{"position":[[11,7],[78,9]]},"490":{"position":[[56,9],[90,9]]},"509":{"position":[[282,9]]},"546":{"position":[[1497,7]]},"576":{"position":[[331,7]]},"608":{"position":[[291,7]]},"609":{"position":[[285,6],[299,6],[523,10],[623,9]]},"610":{"position":[[285,6],[299,6],[487,6],[494,6],[710,10]]},"611":{"position":[[23,9],[48,9],[99,6],[520,6],[547,6],[695,10]]},"612":{"position":[[259,10]]},"613":{"position":[[507,10]]},"614":{"position":[[280,10]]},"615":{"position":[[426,10]]},"616":{"position":[[300,10]]},"617":{"position":[[303,10]]},"618":{"position":[[577,10]]},"619":{"position":[[567,10]]},"620":{"position":[[296,10]]},"621":{"position":[[294,10]]},"622":{"position":[[280,10]]},"623":{"position":[[269,10]]},"624":{"position":[[272,10]]},"625":{"position":[[546,10]]},"626":{"position":[[1387,9]]},"627":{"position":[[1440,9]]},"628":{"position":[[1412,9]]},"629":{"position":[[286,6],[303,6]]},"630":{"position":[[517,10]]},"631":{"position":[[556,10]]},"635":{"position":[[508,10]]},"648":{"position":[[541,10]]},"650":{"position":[[471,10]]},"652":{"position":[[699,10]]},"659":{"position":[[739,9],[749,9],[855,9],[923,6],[976,9],[1066,9],[1087,9],[1133,9],[1323,9]]},"669":{"position":[[705,6],[928,9],[1029,6]]},"693":{"position":[[580,10]]},"701":{"position":[[494,10]]},"703":{"position":[[558,10],[715,11]]},"710":{"position":[[620,10]]},"711":{"position":[[505,10]]},"712":{"position":[[499,10]]},"713":{"position":[[317,10]]},"714":{"position":[[1694,12]]},"722":{"position":[[1350,10]]},"723":{"position":[[1117,10]]},"726":{"position":[[962,10]]},"727":{"position":[[1013,10]]}},"keywords":{}}],["format_str",{"_index":656,"title":{},"content":{"36":{"position":[[58,14],[250,13]]},"40":{"position":[[247,13],[364,13],[473,13],[588,13],[1020,13]]},"64":{"position":[[1115,13],[1227,13]]},"214":{"position":[[774,13],[2033,13]]},"218":{"position":[[976,13],[1811,13]]},"220":{"position":[[1077,13],[2352,13]]},"229":{"position":[[58,14],[250,13]]},"279":{"position":[[53,14],[245,13]]},"379":{"position":[[488,13],[593,13],[834,13],[1344,13],[1453,13],[1876,13],[1985,13],[2376,13],[2485,13],[2897,13],[2987,13]]}},"keywords":{}}],["formatt",{"_index":2823,"title":{},"content":{"307":{"position":[[1611,10]]}},"keywords":{}}],["formatvalu",{"_index":4685,"title":{"611":{"position":[[0,12]]}},"content":{"611":{"position":[[834,11],[885,11]]}},"keywords":{}}],["formcmd",{"_index":2279,"title":{},"content":{"215":{"position":[[293,7]]}},"keywords":{}}],["formerli",{"_index":3819,"title":{},"content":{"393":{"position":[[181,9]]}},"keywords":{}}],["formtlm",{"_index":2282,"title":{},"content":{"215":{"position":[[727,7]]}},"keywords":{}}],["fortun",{"_index":1826,"title":{},"content":{"100":{"position":[[487,11]]},"569":{"position":[[107,12]]}},"keywords":{}}],["forward",{"_index":1999,"title":{},"content":{"121":{"position":[[119,9]]},"312":{"position":[[122,8]]},"362":{"position":[[190,7]]},"390":{"position":[[1202,8]]}},"keywords":{}}],["found",{"_index":1201,"title":{},"content":{"53":{"position":[[909,5]]},"54":{"position":[[1307,5]]},"55":{"position":[[2207,5]]},"56":{"position":[[73,5],[171,5],[1209,5]]},"60":{"position":[[712,5]]},"61":{"position":[[2381,5]]},"62":{"position":[[499,5]]},"88":{"position":[[56,5]]},"210":{"position":[[144,5]]},"211":{"position":[[307,5]]},"307":{"position":[[1786,5]]},"320":{"position":[[38,5],[1224,5]]},"326":{"position":[[231,5]]},"363":{"position":[[325,5],[396,5]]},"497":{"position":[[169,5],[283,5]]},"557":{"position":[[149,5],[293,5]]},"657":{"position":[[264,5]]}},"keywords":{}}],["found"",{"_index":1983,"title":{},"content":{"115":{"position":[[2325,11]]}},"keywords":{}}],["foundher",{"_index":3599,"title":{},"content":{"378":{"position":[[58,10]]}},"keywords":{}}],["four",{"_index":3207,"title":{},"content":{"350":{"position":[[1460,4],[1575,4]]},"367":{"position":[[931,4]]},"659":{"position":[[11,4]]}},"keywords":{}}],["fqt",{"_index":3157,"title":{},"content":{"349":{"position":[[1291,4]]}},"keywords":{}}],["frame",{"_index":1168,"title":{},"content":{"51":{"position":[[151,7]]},"52":{"position":[[74,5],[700,6],[998,6]]},"59":{"position":[[58,5],[183,5],[230,5],[348,5]]},"60":{"position":[[56,5],[253,5],[309,5]]},"82":{"position":[[1197,5]]},"645":{"position":[[97,5]]},"646":{"position":[[136,5]]},"648":{"position":[[73,5]]}},"keywords":{}}],["framework",{"_index":2166,"title":{},"content":{"196":{"position":[[168,10]]},"263":{"position":[[78,10],[127,9],[421,9]]},"264":{"position":[[153,9],[207,9]]},"269":{"position":[[112,9],[286,11]]},"301":{"position":[[1613,9]]},"307":{"position":[[217,9],[342,9]]},"358":{"position":[[2066,9]]},"391":{"position":[[553,9]]},"402":{"position":[[479,10]]},"546":{"position":[[342,9]]}},"keywords":{}}],["fraud",{"_index":4079,"title":{},"content":{"430":{"position":[[469,6]]}},"keywords":{}}],["fraudul",{"_index":4059,"title":{},"content":{"426":{"position":[[1161,10]]}},"keywords":{}}],["free",{"_index":3690,"title":{},"content":{"380":{"position":[[1761,5]]},"389":{"position":[[67,4],[1974,4]]}},"keywords":{}}],["freedom",{"_index":4037,"title":{},"content":{"424":{"position":[[1721,8]]}},"keywords":{}}],["fresh",{"_index":4289,"title":{},"content":{"531":{"position":[[127,5],[472,5]]}},"keywords":{}}],["friendli",{"_index":710,"title":{},"content":{"36":{"position":[[2783,8]]},"229":{"position":[[2783,8]]},"279":{"position":[[1995,8]]}},"keywords":{}}],["from=build",{"_index":3589,"title":{},"content":{"376":{"position":[[617,12]]}},"keywords":{}}],["front",{"_index":1991,"title":{},"content":{"119":{"position":[[114,5]]}},"keywords":{}}],["frontend",{"_index":1005,"title":{"43":{"position":[[10,8]]},"262":{"position":[[0,9]]}},"content":{"43":{"position":[[112,8],[1397,8]]},"44":{"position":[[1448,8]]},"192":{"position":[[236,8]]},"257":{"position":[[473,8]]},"263":{"position":[[12,8]]},"264":{"position":[[198,8]]},"307":{"position":[[401,8],[437,8],[1647,8]]},"320":{"position":[[542,8]]},"402":{"position":[[705,9]]}},"keywords":{}}],["fssl",{"_index":3973,"title":{},"content":{"404":{"position":[[2273,4]]}},"keywords":{}}],["fsw",{"_index":3101,"title":{},"content":{"343":{"position":[[915,6]]}},"keywords":{}}],["fsw_type",{"_index":2419,"title":{},"content":{"240":{"position":[[388,8]]},"287":{"position":[[397,8]]}},"keywords":{}}],["fulfil",{"_index":4150,"title":{},"content":{"455":{"position":[[1219,9],[1513,11],[1662,9]]}},"keywords":{}}],["full",{"_index":425,"title":{},"content":{"20":{"position":[[512,5]]},"36":{"position":[[353,4]]},"57":{"position":[[1322,4]]},"58":{"position":[[390,4]]},"59":{"position":[[473,4]]},"60":{"position":[[860,4]]},"64":{"position":[[1255,4]]},"73":{"position":[[303,4],[452,4]]},"88":{"position":[[217,4]]},"109":{"position":[[2649,4]]},"110":{"position":[[2380,4]]},"112":{"position":[[978,4]]},"113":{"position":[[574,4]]},"114":{"position":[[523,4]]},"216":{"position":[[96,4]]},"217":{"position":[[334,4]]},"218":{"position":[[205,4]]},"219":{"position":[[127,4]]},"220":{"position":[[117,4]]},"221":{"position":[[356,4]]},"222":{"position":[[191,4]]},"223":{"position":[[339,4]]},"229":{"position":[[353,4]]},"257":{"position":[[211,4]]},"279":{"position":[[348,4]]},"332":{"position":[[1466,4]]},"349":{"position":[[91,4]]},"358":{"position":[[1637,4],[4638,4],[5888,4]]},"369":{"position":[[4227,4]]},"380":{"position":[[2234,4]]},"382":{"position":[[644,4]]},"473":{"position":[[657,4]]},"479":{"position":[[150,4]]},"523":{"position":[[603,4]]},"524":{"position":[[574,4],[628,4],[756,4],[811,4]]},"552":{"position":[[1714,4]]},"622":{"position":[[358,4],[382,4]]},"778":{"position":[[606,4]]}},"keywords":{}}],["fullchain.pem",{"_index":529,"title":{},"content":{"24":{"position":[[109,13],[252,13],[795,14]]}},"keywords":{}}],["fulli",{"_index":2542,"title":{},"content":{"263":{"position":[[24,5]]},"303":{"position":[[809,5]]},"304":{"position":[[675,5]]},"305":{"position":[[717,5]]},"306":{"position":[[692,5]]},"307":{"position":[[1217,5]]},"679":{"position":[[142,5]]},"680":{"position":[[168,5]]},"683":{"position":[[165,5]]},"684":{"position":[[191,5]]},"687":{"position":[[125,5]]},"689":{"position":[[30,5]]},"814":{"position":[[87,5]]}},"keywords":{}}],["fun",{"_index":123,"title":{},"content":{"3":{"position":[[605,4]]},"358":{"position":[[33,3]]}},"keywords":{}}],["function",{"_index":812,"title":{},"content":{"36":{"position":[[7828,8]]},"63":{"position":[[109,13]]},"78":{"position":[[513,13]]},"96":{"position":[[121,13]]},"117":{"position":[[476,14]]},"229":{"position":[[7828,8]]},"279":{"position":[[6424,8]]},"302":{"position":[[1779,13]]},"303":{"position":[[815,10]]},"304":{"position":[[681,10]]},"305":{"position":[[723,10]]},"306":{"position":[[698,10]]},"307":{"position":[[1223,10]]},"344":{"position":[[63,13]]},"349":{"position":[[1725,14],[1780,14],[4007,9],[4103,9],[4855,14]]},"356":{"position":[[40,13]]},"391":{"position":[[644,13]]},"392":{"position":[[76,13],[131,13]]},"402":{"position":[[1858,9]]},"544":{"position":[[540,11]]},"554":{"position":[[227,14]]},"556":{"position":[[833,11]]},"572":{"position":[[439,13]]},"637":{"position":[[1124,8]]}},"keywords":{}}],["further",{"_index":1120,"title":{"93":{"position":[[0,7]]}},"content":{"48":{"position":[[4366,7],[4582,7]]},"77":{"position":[[620,7]]},"257":{"position":[[403,7]]},"338":{"position":[[107,7]]},"424":{"position":[[582,7],[654,7]]},"427":{"position":[[555,7]]},"430":{"position":[[139,7]]}},"keywords":{}}],["futur",{"_index":1068,"title":{},"content":{"48":{"position":[[61,6],[1074,6],[4606,6],[4729,6]]},"355":{"position":[[276,6],[371,6]]},"449":{"position":[[170,6]]},"454":{"position":[[593,6]]},"786":{"position":[[118,6]]}},"keywords":{}}],["gain",{"_index":1128,"title":{},"content":{"48":{"position":[[4815,7]]}},"keywords":{}}],["gap",{"_index":2514,"title":{},"content":{"258":{"position":[[691,6]]},"398":{"position":[[320,4]]},"412":{"position":[[160,7]]}},"keywords":{}}],["gateway",{"_index":3287,"title":{},"content":{"358":{"position":[[7772,8]]},"364":{"position":[[96,7]]}},"keywords":{}}],["gather",{"_index":4500,"title":{},"content":{"559":{"position":[[46,6]]},"636":{"position":[[35,6]]}},"keywords":{}}],["gave",{"_index":3528,"title":{},"content":{"369":{"position":[[4114,4]]}},"keywords":{}}],["gb",{"_index":3437,"title":{},"content":{"369":{"position":[[860,2]]}},"keywords":{}}],["gcp",{"_index":2575,"title":{},"content":{"268":{"position":[[286,3]]},"439":{"position":[[304,3]]}},"keywords":{}}],["gdpr",{"_index":4018,"title":{},"content":{"424":{"position":[[359,5],[382,4],[1679,4]]}},"keywords":{}}],["gear",{"_index":4159,"title":{},"content":{"462":{"position":[[405,4]]}},"keywords":{}}],["gecko",{"_index":1615,"title":{},"content":{"83":{"position":[[1189,6]]}},"keywords":{}}],["gem",{"_index":1146,"title":{"57":{"position":[[0,4]]},"221":{"position":[[0,4]]},"316":{"position":[[15,5]]}},"content":{"50":{"position":[[410,5]]},"57":{"position":[[5,4],[169,4],[228,4],[641,4],[725,4],[856,4],[887,7],[1365,4]]},"103":{"position":[[358,5]]},"117":{"position":[[523,3]]},"221":{"position":[[317,4],[399,4]]},"301":{"position":[[886,3]]},"313":{"position":[[62,3],[66,3],[104,3],[195,3]]},"315":{"position":[[416,4]]},"323":{"position":[[289,3]]},"359":{"position":[[2206,3]]},"362":{"position":[[1322,3],[1405,3]]},"379":{"position":[[3826,4]]},"380":{"position":[[1713,4]]},"385":{"position":[[37,3]]},"407":{"position":[[318,3]]},"412":{"position":[[37,4]]}},"keywords":{}}],["gem_hom",{"_index":2007,"title":{},"content":{"127":{"position":[[69,8]]}},"keywords":{}}],["gem_nam",{"_index":2929,"title":{},"content":{"315":{"position":[[310,10]]}},"keywords":{}}],["gems_int",{"_index":1251,"title":{},"content":{"57":{"position":[[397,8]]}},"keywords":{}}],["gemsasciiaccessor",{"_index":2368,"title":{},"content":{"221":{"position":[[5,17]]}},"keywords":{}}],["gemspec",{"_index":2008,"title":{},"content":{"127":{"position":[[179,8]]},"301":{"position":[[675,7]]}},"keywords":{}}],["gemsprotocol",{"_index":1267,"title":{},"content":{"57":{"position":[[1301,12]]}},"keywords":{}}],["gener",{"_index":197,"title":{"20":{"position":[[0,8]]},"300":{"position":[[5,10]]},"301":{"position":[[7,10]]},"302":{"position":[[7,10]]},"303":{"position":[[13,10]]},"304":{"position":[[11,10]]},"305":{"position":[[16,10]]},"306":{"position":[[7,10]]},"307":{"position":[[5,10]]},"312":{"position":[[12,9]]}},"content":{"6":{"position":[[119,8]]},"24":{"position":[[712,9]]},"36":{"position":[[797,8],[7776,7],[7809,7],[8998,7],[9603,7]]},"48":{"position":[[1831,9],[2279,9],[2493,9],[4680,9],[4992,9]]},"67":{"position":[[2452,8]]},"95":{"position":[[78,9]]},"124":{"position":[[88,9]]},"186":{"position":[[37,7]]},"194":{"position":[[210,9]]},"195":{"position":[[222,9]]},"199":{"position":[[87,9]]},"209":{"position":[[542,8]]},"223":{"position":[[225,9]]},"229":{"position":[[797,8],[7776,7],[7809,7],[8998,7],[9603,7]]},"235":{"position":[[155,9]]},"240":{"position":[[186,8]]},"243":{"position":[[112,9]]},"244":{"position":[[110,9],[352,9]]},"274":{"position":[[761,8]]},"279":{"position":[[792,8],[6373,7],[6405,7],[7121,7],[7862,7]]},"285":{"position":[[154,9]]},"287":{"position":[[195,8]]},"293":{"position":[[199,9]]},"294":{"position":[[94,8]]},"301":{"position":[[12,9],[194,8],[221,8],[266,8],[324,10],[1586,9],[1633,10]]},"302":{"position":[[12,9],[196,8],[223,8],[307,8],[351,10]]},"303":{"position":[[18,9],[208,8],[241,8],[331,8],[401,10]]},"304":{"position":[[16,9],[229,8],[260,8],[363,8],[460,10],[807,9]]},"305":{"position":[[21,9],[244,8],[280,8],[388,8],[491,10],[890,9],[1001,9]]},"306":{"position":[[16,9],[286,8],[313,8],[387,8],[457,10]]},"307":{"position":[[10,9],[494,8],[519,8],[579,8],[629,10]]},"309":{"position":[[4049,9]]},"312":{"position":[[13,9]]},"314":{"position":[[390,9]]},"315":{"position":[[24,9]]},"342":{"position":[[1206,9]]},"349":{"position":[[5730,9]]},"358":{"position":[[1221,9],[1452,8],[1519,10],[1698,9],[2032,9],[2171,8],[2270,8],[2323,10],[2336,10],[2369,10],[2410,8],[2465,9],[2655,9]]},"364":{"position":[[263,8]]},"368":{"position":[[496,9],[542,7]]},"378":{"position":[[433,8],[504,8]]},"382":{"position":[[837,8]]},"391":{"position":[[157,9]]},"402":{"position":[[83,9]]},"425":{"position":[[175,10]]},"430":{"position":[[218,9]]},"431":{"position":[[275,10]]},"440":{"position":[[334,9]]},"467":{"position":[[234,9]]},"496":{"position":[[255,9]]},"504":{"position":[[236,9]]},"511":{"position":[[353,10]]},"532":{"position":[[158,8]]},"552":{"position":[[924,9],[1605,8]]},"561":{"position":[[64,9]]},"575":{"position":[[95,7]]},"604":{"position":[[30,10]]}},"keywords":{}}],["generic_read_conversion_end",{"_index":2276,"title":{},"content":{"214":{"position":[[1923,27]]},"217":{"position":[[1977,27]]},"218":{"position":[[1701,27]]},"220":{"position":[[2223,27]]},"279":{"position":[[7007,27],[7626,27],[7791,27],[7821,28]]},"299":{"position":[[1366,27],[1734,27]]}},"keywords":{}}],["generic_read_conversion_start",{"_index":2275,"title":{},"content":{"214":{"position":[[1875,29]]},"217":{"position":[[1925,29]]},"218":{"position":[[1653,29]]},"220":{"position":[[2175,29]]},"279":{"position":[[6333,30],[7532,29],[7699,29]]},"299":{"position":[[1208,29],[1484,29]]}},"keywords":{}}],["generic_write_conversion_end",{"_index":820,"title":{},"content":{"36":{"position":[[8348,28],[9343,28],[9530,28],[9561,29]]},"229":{"position":[[8348,28],[9343,28],[9530,28],[9561,29]]}},"keywords":{}}],["generic_write_conversion_start",{"_index":811,"title":{},"content":{"36":{"position":[[7735,31],[9248,30],[9437,30]]},"229":{"position":[[7735,31],[9248,30],[9437,30]]}},"keywords":{}}],["get",{"_index":753,"title":{"92":{"position":[[0,7]]},"357":{"position":[[0,7]]},"562":{"position":[[0,7]]}},"content":{"36":{"position":[[4542,4],[8539,4]]},"48":{"position":[[1925,4],[1969,4],[2587,4],[2631,4],[5086,4],[5130,4]]},"229":{"position":[[4542,4],[8539,4]]},"321":{"position":[[1346,4]]},"326":{"position":[[1123,4]]},"335":{"position":[[13,7]]},"368":{"position":[[797,4]]},"383":{"position":[[1886,7]]},"455":{"position":[[713,4],[1594,4]]},"562":{"position":[[96,7]]},"563":{"position":[[91,4]]},"745":{"position":[[13,7]]},"759":{"position":[[511,4]]},"769":{"position":[[515,4]]},"790":{"position":[[12,4]]},"792":{"position":[[12,4]]}},"keywords":{}}],["get_all_cmd",{"_index":4874,"title":{"687":{"position":[[0,12]]}},"content":{"662":{"position":[[851,12],[996,12]]}},"keywords":{}}],["get_all_cmd_info",{"_index":4873,"title":{},"content":{"662":{"position":[[789,16]]}},"keywords":{}}],["get_all_cmd_nam",{"_index":5126,"title":{"688":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_cmd_names("<target",{"_index":5129,"title":{},"content":{"688":{"position":[[88,34]]}},"keywords":{}}],["get_all_cmd_names("inst"",{"_index":5130,"title":{},"content":{"688":{"position":[[220,35],[344,35]]}},"keywords":{}}],["get_all_cmds("<target",{"_index":5113,"title":{},"content":{"687":{"position":[[184,29]]}},"keywords":{}}],["get_all_cmds("inst"",{"_index":5115,"title":{},"content":{"687":{"position":[[312,30],[770,30]]}},"keywords":{}}],["get_all_command",{"_index":5112,"title":{"687":{"position":[[43,18]]}},"content":{},"keywords":{}}],["get_all_command_nam",{"_index":5128,"title":{"688":{"position":[[48,23]]}},"content":{},"keywords":{}}],["get_all_interface_info",{"_index":5528,"title":{"756":{"position":[[0,23]]}},"content":{"756":{"position":[[332,24],[877,24]]}},"keywords":{}}],["get_all_packet_logger_info",{"_index":4870,"title":{},"content":{"662":{"position":[[574,26]]}},"keywords":{}}],["get_all_router_info",{"_index":5590,"title":{"765":{"position":[[0,20]]}},"content":{"765":{"position":[[323,21],[860,21]]}},"keywords":{}}],["get_all_set",{"_index":5752,"title":{"808":{"position":[[0,17]]}},"content":{"808":{"position":[[95,18]]}},"keywords":{}}],["get_all_target_info",{"_index":4871,"title":{},"content":{"662":{"position":[[641,19]]}},"keywords":{}}],["get_all_telemetri",{"_index":5259,"title":{"705":{"position":[[42,19]]}},"content":{},"keywords":{}}],["get_all_telemetry_nam",{"_index":5267,"title":{"706":{"position":[[48,25]]}},"content":{},"keywords":{}}],["get_all_tlm",{"_index":4876,"title":{"705":{"position":[[0,11]]}},"content":{"662":{"position":[[926,11]]}},"keywords":{}}],["get_all_tlm("<target",{"_index":5260,"title":{},"content":{"705":{"position":[[71,28]]}},"keywords":{}}],["get_all_tlm("inst"",{"_index":5261,"title":{},"content":{"705":{"position":[[206,29]]}},"keywords":{}}],["get_all_tlm_info",{"_index":4875,"title":{},"content":{"662":{"position":[[864,16]]}},"keywords":{}}],["get_all_tlm_nam",{"_index":5266,"title":{"706":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_tlm_names("<target",{"_index":5268,"title":{},"content":{"706":{"position":[[70,34]]}},"keywords":{}}],["get_all_tlm_names("inst"",{"_index":5269,"title":{},"content":{"706":{"position":[[200,35]]}},"keywords":{}}],["get_background_task",{"_index":4872,"title":{},"content":{"662":{"position":[[728,20]]}},"keywords":{}}],["get_cmd",{"_index":4880,"title":{"689":{"position":[[0,7]]}},"content":{"662":{"position":[[1134,7]]},"691":{"position":[[35,8]]}},"keywords":{}}],["get_cmd("<target",{"_index":5134,"title":{},"content":{"689":{"position":[[90,24],[151,24]]}},"keywords":{}}],["get_cmd("inst",{"_index":5138,"title":{},"content":{"689":{"position":[[349,18],[810,18]]}},"keywords":{}}],["get_cmd_buff",{"_index":5163,"title":{"691":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_cmd_buffer("<target",{"_index":5164,"title":{},"content":{"691":{"position":[[128,31],[215,31]]}},"keywords":{}}],["get_cmd_buffer("inst",{"_index":5166,"title":{},"content":{"691":{"position":[[418,25],[922,25]]}},"keywords":{}}],["get_cmd_cnt",{"_index":5192,"title":{"695":{"position":[[0,12]]}},"content":{},"keywords":{}}],["get_cmd_cnt("<target",{"_index":5193,"title":{},"content":{"695":{"position":[[88,28],[154,28]]}},"keywords":{}}],["get_cmd_cnt("inst",{"_index":5194,"title":{},"content":{"695":{"position":[[357,22]]}},"keywords":{}}],["get_cmd_hazard",{"_index":5175,"title":{"692":{"position":[[0,18]]}},"content":{},"keywords":{}}],["get_cmd_hazardous("<target",{"_index":5176,"title":{},"content":{"692":{"position":[[109,34]]}},"keywords":{}}],["get_cmd_hazardous("inst"",{"_index":5178,"title":{},"content":{"692":{"position":[[487,35],[628,35]]}},"keywords":{}}],["get_cmd_list",{"_index":4877,"title":{},"content":{"662":{"position":[[938,12]]}},"keywords":{}}],["get_cmd_log_filenam",{"_index":4878,"title":{},"content":{"662":{"position":[[1009,20]]}},"keywords":{}}],["get_cmd_param_list",{"_index":4879,"title":{},"content":{"662":{"position":[[1070,18]]}},"keywords":{}}],["get_cmd_tim",{"_index":5188,"title":{"694":{"position":[[0,13]]}},"content":{"694":{"position":[[489,14]]}},"keywords":{}}],["get_cmd_time("<target",{"_index":5189,"title":{},"content":{"694":{"position":[[75,29]]}},"keywords":{}}],["get_cmd_time("inst"",{"_index":5191,"title":{},"content":{"694":{"position":[[600,30],[732,30]]}},"keywords":{}}],["get_cmd_tlm_disconnect",{"_index":4881,"title":{},"content":{"662":{"position":[[1142,22]]}},"keywords":{}}],["get_cmd_valu",{"_index":5180,"title":{"693":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_cmd_value("<target",{"_index":5182,"title":{},"content":{"693":{"position":[[250,30]]}},"keywords":{}}],["get_cmd_value("inst"",{"_index":5185,"title":{},"content":{"693":{"position":[[669,31],[795,31]]}},"keywords":{}}],["get_command",{"_index":5133,"title":{"689":{"position":[[38,13]]}},"content":{},"keywords":{}}],["get_disconnected_target",{"_index":4882,"title":{},"content":{"662":{"position":[[1207,24]]}},"keywords":{}}],["get_interfac",{"_index":4884,"title":{"750":{"position":[[0,13]]}},"content":{"662":{"position":[[1324,13],[2758,13]]}},"keywords":{}}],["get_interface("<interfac",{"_index":5487,"title":{},"content":{"750":{"position":[[134,33]]}},"keywords":{}}],["get_interface("inst_int"",{"_index":5488,"title":{},"content":{"750":{"position":[[282,35]]}},"keywords":{}}],["get_interface_info",{"_index":4883,"title":{},"content":{"662":{"position":[[1260,18]]}},"keywords":{}}],["get_interface_nam",{"_index":5510,"title":{"751":{"position":[[0,20]]}},"content":{"751":{"position":[[113,21]]}},"keywords":{}}],["get_interface_target",{"_index":4885,"title":{},"content":{"662":{"position":[[1338,21]]}},"keywords":{}}],["get_item",{"_index":5283,"title":{"708":{"position":[[0,8]]}},"content":{},"keywords":{}}],["get_item("<target",{"_index":5284,"title":{},"content":{"708":{"position":[[47,25],[127,25]]}},"keywords":{}}],["get_item("inst",{"_index":5285,"title":{},"content":{"708":{"position":[[380,19]]}},"keywords":{}}],["get_limit",{"_index":5400,"title":{"740":{"position":[[0,11]]}},"content":{},"keywords":{}}],["get_limits(<target",{"_index":5402,"title":{},"content":{"740":{"position":[[95,21]]}},"keywords":{}}],["get_limits('inst",{"_index":5403,"title":{},"content":{"740":{"position":[[368,18],[689,18]]}},"keywords":{}}],["get_limits_ev",{"_index":5436,"title":{"744":{"position":[[0,18]]}},"content":{"744":{"position":[[219,17],[402,18]]}},"keywords":{}}],["get_limits_event(<offset>",{"_index":5437,"title":{},"content":{"744":{"position":[[109,32]]}},"keywords":{}}],["get_limits_event(ev",{"_index":5451,"title":{},"content":{"744":{"position":[[1371,24]]}},"keywords":{}}],["get_limits_group",{"_index":5395,"title":{"736":{"position":[[0,18]]}},"content":{"736":{"position":[[100,19]]}},"keywords":{}}],["get_limits_set",{"_index":5399,"title":{"738":{"position":[[0,15]]},"739":{"position":[[0,16]]}},"content":{"738":{"position":[[127,16]]},"739":{"position":[[96,17]]}},"keywords":{}}],["get_line_delay",{"_index":5687,"title":{"790":{"position":[[0,15]]}},"content":{"790":{"position":[[123,16]]}},"keywords":{}}],["get_max_output",{"_index":5694,"title":{"792":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_out_of_limit",{"_index":5428,"title":{"742":{"position":[[0,18]]}},"content":{"742":{"position":[[187,19]]}},"keywords":{}}],["get_output_logs_filenam",{"_index":4886,"title":{},"content":{"662":{"position":[[1400,25]]}},"keywords":{}}],["get_overall_limits_st",{"_index":5430,"title":{"743":{"position":[[0,25]]}},"content":{"743":{"position":[[393,26]]}},"keywords":{}}],["get_overall_limits_state(<ignor",{"_index":5431,"title":{},"content":{"743":{"position":[[118,36]]}},"keywords":{}}],["get_overall_limits_state([['inst",{"_index":5435,"title":{},"content":{"743":{"position":[[443,34]]}},"keywords":{}}],["get_overrid",{"_index":5312,"title":{"714":{"position":[[0,14]]}},"content":{"714":{"position":[[225,15],[318,15]]}},"keywords":{}}],["get_packet",{"_index":4887,"title":{"717":{"position":[[0,11]]}},"content":{"662":{"position":[[1466,10],[1522,11],[1595,11]]}},"keywords":{}}],["get_packet_data",{"_index":4888,"title":{},"content":{"662":{"position":[[1534,15]]}},"keywords":{}}],["get_packet_derived_item",{"_index":5339,"title":{"720":{"position":[[0,25]]}},"content":{},"keywords":{}}],["get_packet_derived_items("<target>",{"_index":5340,"title":{},"content":{"720":{"position":[[78,45]]}},"keywords":{}}],["get_packet_derived_items("<target>"",{"_index":5341,"title":{},"content":{"720":{"position":[[146,52]]}},"keywords":{}}],["get_packet_derived_items("inst",{"_index":5342,"title":{},"content":{"720":{"position":[[313,35]]}},"keywords":{}}],["get_packet_logg",{"_index":4890,"title":{},"content":{"662":{"position":[[1670,18]]}},"keywords":{}}],["get_packet_logger_info",{"_index":4889,"title":{},"content":{"662":{"position":[[1607,22]]}},"keywords":{}}],["get_packets(id",{"_index":4534,"title":{},"content":{"563":{"position":[[635,15],[852,15],[973,15],[1184,15]]},"717":{"position":[[66,15],[125,15],[521,15],[744,15],[1025,15],[1242,15]]}},"keywords":{}}],["get_param",{"_index":5140,"title":{"690":{"position":[[0,9]]}},"content":{},"keywords":{}}],["get_param("<target",{"_index":5142,"title":{},"content":{"690":{"position":[[71,26],[158,26]]}},"keywords":{}}],["get_param("inst",{"_index":5145,"title":{},"content":{"690":{"position":[[422,20],[1149,20]]}},"keywords":{}}],["get_paramet",{"_index":5141,"title":{"690":{"position":[[40,15]]}},"content":{},"keywords":{}}],["get_replay_mod",{"_index":4891,"title":{},"content":{"662":{"position":[[1729,15]]}},"keywords":{}}],["get_rout",{"_index":4894,"title":{"764":{"position":[[0,10]]}},"content":{"662":{"position":[[1824,10],[3479,10]]}},"keywords":{}}],["get_router("<rout",{"_index":5585,"title":{},"content":{"764":{"position":[[127,27]]}},"keywords":{}}],["get_router("router_int"",{"_index":5586,"title":{},"content":{"764":{"position":[[260,34]]}},"keywords":{}}],["get_router_info",{"_index":4893,"title":{},"content":{"662":{"position":[[1763,15]]}},"keywords":{}}],["get_router_nam",{"_index":5582,"title":{"763":{"position":[[0,17]]}},"content":{"763":{"position":[[107,18]]}},"keywords":{}}],["get_screen_definit",{"_index":5664,"title":{"785":{"position":[[0,22]]}},"content":{"785":{"position":[[5,21]]}},"keywords":{}}],["get_screen_definition("<target",{"_index":5665,"title":{},"content":{"785":{"position":[[102,38]]}},"keywords":{}}],["get_screen_definition("inst"",{"_index":5667,"title":{},"content":{"785":{"position":[[351,39]]}},"keywords":{}}],["get_screen_list",{"_index":5663,"title":{"784":{"position":[[0,16]]}},"content":{"784":{"position":[[5,15],[102,17]]}},"keywords":{}}],["get_scriptrunner_message_log_filenam",{"_index":4895,"title":{},"content":{"662":{"position":[[1835,37]]}},"keywords":{}}],["get_server_messag",{"_index":4896,"title":{},"content":{"662":{"position":[[1913,18]]}},"keywords":{}}],["get_server_message_log_filenam",{"_index":4897,"title":{},"content":{"662":{"position":[[1972,31]]}},"keywords":{}}],["get_server_statu",{"_index":4898,"title":{},"content":{"662":{"position":[[2044,17]]}},"keywords":{}}],["get_set",{"_index":5776,"title":{"809":{"position":[[0,12],[13,13]]}},"content":{},"keywords":{}}],["get_setting(<set",{"_index":5777,"title":{},"content":{"809":{"position":[[139,23]]}},"keywords":{}}],["get_setting('vers",{"_index":5783,"title":{},"content":{"809":{"position":[[324,22]]}},"keywords":{}}],["get_settings(<set",{"_index":5778,"title":{},"content":{"809":{"position":[[173,24]]}},"keywords":{}}],["get_settings('rubygems_url",{"_index":5792,"title":{},"content":{"810":{"position":[[409,28]]}},"keywords":{}}],["get_settings('vers",{"_index":5785,"title":{},"content":{"809":{"position":[[384,23]]}},"keywords":{}}],["get_stal",{"_index":4899,"title":{},"content":{"662":{"position":[[2102,9]]}},"keywords":{}}],["get_statu",{"_index":1321,"title":{},"content":{"64":{"position":[[659,10]]}},"keywords":{}}],["get_target",{"_index":4901,"title":{"747":{"position":[[0,11]]}},"content":{"662":{"position":[[2222,10],[2308,10],[2380,10]]}},"keywords":{}}],["get_target("<target",{"_index":5454,"title":{},"content":{"747":{"position":[[87,27]]}},"keywords":{}}],["get_target("inst"",{"_index":5455,"title":{},"content":{"747":{"position":[[211,28]]}},"keywords":{}}],["get_target_fil",{"_index":4211,"title":{"669":{"position":[[0,16]]}},"content":{"498":{"position":[[148,15]]}},"keywords":{}}],["get_target_file("<fil",{"_index":4983,"title":{},"content":{"669":{"position":[[71,30],[153,30]]}},"keywords":{}}],["get_target_file("inst/data/attitude.bin"",{"_index":4988,"title":{},"content":{"669":{"position":[[624,51],[945,51]]}},"keywords":{}}],["get_target_file("inst/procedures/checks.rb"",{"_index":4991,"title":{},"content":{"669":{"position":[[759,54],[1084,54]]}},"keywords":{}}],["get_target_file(env['tbl_filenam",{"_index":4214,"title":{},"content":{"498":{"position":[[453,36]]}},"keywords":{}}],["get_target_ignored_item",{"_index":4900,"title":{},"content":{"662":{"position":[[2152,24]]}},"keywords":{}}],["get_target_ignored_paramet",{"_index":4902,"title":{},"content":{"662":{"position":[[2233,29]]}},"keywords":{}}],["get_target_info",{"_index":4903,"title":{},"content":{"662":{"position":[[2319,15]]}},"keywords":{}}],["get_target_interfac",{"_index":4856,"title":{"748":{"position":[[0,22]]}},"content":{"661":{"position":[[219,21]]},"662":{"position":[[706,21]]},"748":{"position":[[201,23]]}},"keywords":{}}],["get_target_list",{"_index":4904,"title":{},"content":{"662":{"position":[[2391,15]]}},"keywords":{}}],["get_target_nam",{"_index":4905,"title":{"746":{"position":[[0,17]]}},"content":{"662":{"position":[[2452,16]]},"746":{"position":[[93,18]]}},"keywords":{}}],["get_telemetri",{"_index":5271,"title":{"707":{"position":[[38,15]]}},"content":{},"keywords":{}}],["get_tlm",{"_index":5238,"title":{"707":{"position":[[0,7]]}},"content":{"702":{"position":[[35,8]]}},"keywords":{}}],["get_tlm("<target",{"_index":5272,"title":{},"content":{"707":{"position":[[48,24],[109,24]]}},"keywords":{}}],["get_tlm("inst",{"_index":5273,"title":{},"content":{"707":{"position":[[304,18]]}},"keywords":{}}],["get_tlm_buff",{"_index":5237,"title":{"702":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_buffer("<target",{"_index":5239,"title":{},"content":{"702":{"position":[[111,31],[198,31]]}},"keywords":{}}],["get_tlm_buffer("inst",{"_index":5240,"title":{},"content":{"702":{"position":[[410,25]]}},"keywords":{}}],["get_tlm_cnt",{"_index":5290,"title":{"709":{"position":[[0,12]]},"718":{"position":[[0,12]]},"719":{"position":[[0,13]]}},"content":{},"keywords":{}}],["get_tlm_cnt("<target",{"_index":5291,"title":{},"content":{"709":{"position":[[101,28],[166,28]]}},"keywords":{}}],["get_tlm_cnt("<target>",{"_index":5332,"title":{},"content":{"718":{"position":[[70,32]]}},"keywords":{}}],["get_tlm_cnt("<target>"",{"_index":5334,"title":{},"content":{"718":{"position":[[125,39]]}},"keywords":{}}],["get_tlm_cnt("inst",{"_index":5293,"title":{},"content":{"709":{"position":[[376,22]]},"718":{"position":[[279,22]]}},"keywords":{}}],["get_tlm_cnts([["<target>"",{"_index":5336,"title":{},"content":{"719":{"position":[[82,42]]}},"keywords":{}}],["get_tlm_cnts([["inst"",{"_index":5338,"title":{},"content":{"719":{"position":[[299,32]]}},"keywords":{}}],["get_tlm_detail",{"_index":4906,"title":{},"content":{"662":{"position":[[2469,15]]}},"keywords":{}}],["get_tlm_item_list",{"_index":4907,"title":{},"content":{"662":{"position":[[2525,17]]}},"keywords":{}}],["get_tlm_list",{"_index":4908,"title":{},"content":{"662":{"position":[[2583,12]]}},"keywords":{}}],["get_tlm_log_filenam",{"_index":4909,"title":{},"content":{"662":{"position":[[2636,20]]}},"keywords":{}}],["get_tlm_packet",{"_index":5243,"title":{"703":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_packet("<target",{"_index":5246,"title":{},"content":{"703":{"position":[[226,31],[308,31]]}},"keywords":{}}],["get_tlm_packet("inst",{"_index":5249,"title":{},"content":{"703":{"position":[[662,25],[779,25]]}},"keywords":{}}],["get_tlm_valu",{"_index":5251,"title":{"704":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_tlm_values(<items>",{"_index":5253,"title":{},"content":{"704":{"position":[[323,29]]}},"keywords":{}}],["get_tlm_values(["inst__health_status__temp1__converted"",{"_index":5256,"title":{},"content":{"704":{"position":[[476,66]]}},"keywords":{}}],["get_us",{"_index":1962,"title":{},"content":{"114":{"position":[[415,8]]}},"keywords":{}}],["getnamedwidget",{"_index":4633,"title":{},"content":{"592":{"position":[[45,14],[248,14]]}},"keywords":{}}],["gib",{"_index":3419,"title":{},"content":{"369":{"position":[[87,3]]}},"keywords":{}}],["gimbal",{"_index":4417,"title":{},"content":{"545":{"position":[[407,6]]},"551":{"position":[[230,6],[767,6],[876,6],[945,6],[1018,6],[1108,6],[1247,7],[1339,6],[1415,6],[1488,6],[1497,8],[1580,6]]}},"keywords":{}}],["gimbal.gimbal_steps}"",{"_index":4472,"title":{},"content":{"551":{"position":[[1115,28],[1587,28]]}},"keywords":{}}],["gimbal.home_gimb",{"_index":4468,"title":{},"content":{"551":{"position":[[1038,18],[1506,20]]}},"keywords":{}}],["gimbal.move(100",{"_index":4469,"title":{},"content":{"551":{"position":[[1057,16],[1527,16]]}},"keywords":{}}],["gimbal.move(200",{"_index":4470,"title":{},"content":{"551":{"position":[[1074,16],[1544,16]]}},"keywords":{}}],["gimbal.new",{"_index":4467,"title":{},"content":{"551":{"position":[[1027,10]]}},"keywords":{}}],["gimbal_step",{"_index":4462,"title":{},"content":{"551":{"position":[[788,13],[819,13],[883,13],[952,13]]}},"keywords":{}}],["git",{"_index":2195,"title":{},"content":{"208":{"position":[[73,3]]},"301":{"position":[[405,3]]},"309":{"position":[[1673,3],[2767,3]]},"331":{"position":[[65,3],[120,3]]},"332":{"position":[[553,3]]},"375":{"position":[[1,3]]},"376":{"position":[[328,3],[405,3],[437,3]]},"386":{"position":[[111,3],[215,3],[457,3]]},"404":{"position":[[2260,3],[2384,3]]}},"keywords":{}}],["git://github.com/<username>/openc3.git",{"_index":3717,"title":{},"content":{"386":{"position":[[121,44]]}},"keywords":{}}],["github",{"_index":132,"title":{},"content":{"3":{"position":[[698,6]]},"88":{"position":[[88,7]]},"98":{"position":[[62,6],[167,6]]},"309":{"position":[[1482,7]]},"336":{"position":[[64,6]]},"359":{"position":[[2870,6]]},"386":{"position":[[693,6]]},"401":{"position":[[409,7]]}},"keywords":{}}],["gitlen",{"_index":903,"title":{},"content":{"42":{"position":[[163,8]]}},"keywords":{}}],["give",{"_index":1404,"title":{},"content":{"67":{"position":[[4512,6]]},"174":{"position":[[88,4]]},"358":{"position":[[4241,6]]},"393":{"position":[[237,5]]},"424":{"position":[[177,4]]},"450":{"position":[[80,6]]},"513":{"position":[[265,4]]},"550":{"position":[[105,5]]}},"keywords":{}}],["given",{"_index":189,"title":{},"content":{"5":{"position":[[1458,5]]},"13":{"position":[[12,5]]},"14":{"position":[[12,5]]},"15":{"position":[[13,5]]},"16":{"position":[[13,5]]},"36":{"position":[[2041,5],[8447,6]]},"48":{"position":[[4472,5]]},"54":{"position":[[914,5]]},"56":{"position":[[554,5],[686,5]]},"61":{"position":[[1367,5],[1499,5]]},"64":{"position":[[619,5]]},"67":{"position":[[3913,5]]},"73":{"position":[[1418,6]]},"74":{"position":[[985,6]]},"75":{"position":[[848,6]]},"76":{"position":[[852,6]]},"77":{"position":[[1195,6]]},"83":{"position":[[1875,5]]},"91":{"position":[[751,5]]},"109":{"position":[[377,5]]},"174":{"position":[[243,5]]},"194":{"position":[[170,5],[234,5]]},"195":{"position":[[193,5],[246,5]]},"213":{"position":[[484,6]]},"229":{"position":[[2041,5],[8447,6]]},"249":{"position":[[164,5]]},"279":{"position":[[7105,6]]},"295":{"position":[[164,5]]},"315":{"position":[[149,5]]},"369":{"position":[[3924,5]]},"389":{"position":[[660,5]]},"396":{"position":[[161,5]]},"397":{"position":[[160,5]]},"402":{"position":[[984,5],[4604,5],[4668,5],[4764,6]]},"421":{"position":[[567,5]]},"447":{"position":[[578,5]]},"450":{"position":[[222,5]]},"452":{"position":[[443,5]]},"498":{"position":[[325,6]]},"499":{"position":[[344,6]]},"539":{"position":[[221,6]]},"543":{"position":[[90,5]]},"559":{"position":[[219,5]]},"568":{"position":[[79,5]]},"592":{"position":[[612,5]]},"611":{"position":[[113,5]]},"677":{"position":[[1011,6]]},"678":{"position":[[1233,6]]},"679":{"position":[[1254,6]]},"680":{"position":[[1287,6]]},"681":{"position":[[1087,6]]},"682":{"position":[[1304,6]]},"683":{"position":[[1325,6]]},"684":{"position":[[1358,6]]},"690":{"position":[[23,5]]},"692":{"position":[[356,5]]},"694":{"position":[[239,6],[352,6],[400,5]]},"697":{"position":[[173,5],[722,5]]},"722":{"position":[[110,5],[194,5]]},"726":{"position":[[123,5]]},"741":{"position":[[1205,6],[1355,6],[1551,5]]},"752":{"position":[[315,5],[374,5]]},"761":{"position":[[264,5],[320,5]]},"777":{"position":[[77,5]]},"809":{"position":[[26,5]]},"810":{"position":[[10,5]]},"813":{"position":[[50,5]]}},"keywords":{}}],["given_valu",{"_index":756,"title":{},"content":{"36":{"position":[[4835,14],[8832,14]]},"229":{"position":[[4835,14],[8832,14]]}},"keywords":{}}],["global",{"_index":2193,"title":{},"content":{"208":{"position":[[28,6]]},"364":{"position":[[382,7]]},"535":{"position":[[970,6]]}},"keywords":{}}],["global_set",{"_index":4605,"title":{"580":{"position":[[0,15]]}},"content":{"580":{"position":[[322,14]]},"582":{"position":[[245,14],[373,14]]}},"keywords":{}}],["global_subset",{"_index":4609,"title":{"581":{"position":[[0,18]]}},"content":{"581":{"position":[[862,17]]},"582":{"position":[[264,17],[392,17]]}},"keywords":{}}],["gmt",{"_index":1516,"title":{},"content":{"81":{"position":[[838,3]]},"82":{"position":[[926,4],[1048,4],[1287,3],[6579,3]]}},"keywords":{}}],["go",{"_index":575,"title":{"567":{"position":[[12,2]]}},"content":{"27":{"position":[[164,2]]},"42":{"position":[[3064,2]]},"131":{"position":[[310,2],[506,2]]},"319":{"position":[[17,5]]},"324":{"position":[[723,2]]},"358":{"position":[[570,2]]},"359":{"position":[[485,2],[651,2],[795,2],[2034,2],[2466,2]]},"380":{"position":[[1856,2]]},"419":{"position":[[305,5]]},"473":{"position":[[827,2]]},"509":{"position":[[330,2]]},"530":{"position":[[627,2]]},"535":{"position":[[346,2]]},"536":{"position":[[312,2]]},"559":{"position":[[1352,4]]},"566":{"position":[[109,2]]},"575":{"position":[[258,2]]},"612":{"position":[[551,5],[731,5]]},"722":{"position":[[252,3]]},"797":{"position":[[42,2]]}},"keywords":{}}],["go/retri",{"_index":3189,"title":{},"content":{"349":{"position":[[6035,8]]}},"keywords":{}}],["goal",{"_index":3728,"title":{},"content":{"387":{"position":[[97,6]]},"538":{"position":[[187,4]]},"546":{"position":[[1523,6]]}},"keywords":{}}],["goe",{"_index":4172,"title":{},"content":{"472":{"position":[[543,4]]},"473":{"position":[[1289,4]]},"565":{"position":[[168,4]]},"618":{"position":[[277,4],[416,4]]},"625":{"position":[[246,4],[385,4]]},"631":{"position":[[256,4],[395,4]]}},"keywords":{}}],["gone",{"_index":3123,"title":{},"content":{"347":{"position":[[125,4]]},"473":{"position":[[1380,4]]},"659":{"position":[[477,4],[801,4]]}},"keywords":{}}],["good",{"_index":821,"title":{},"content":{"36":{"position":[[9028,4]]},"229":{"position":[[9028,4]]},"279":{"position":[[7151,4]]},"302":{"position":[[1401,4]]},"354":{"position":[[101,4]]},"367":{"position":[[340,4]]},"432":{"position":[[1141,4]]},"504":{"position":[[310,4]]},"540":{"position":[[1816,4],[2703,4],[3821,4]]},"545":{"position":[[450,4]]},"612":{"position":[[864,4]]},"741":{"position":[[1307,4],[1457,4]]}},"keywords":{}}],["googl",{"_index":3237,"title":{},"content":{"356":{"position":[[743,6]]}},"keywords":{}}],["gotcha",{"_index":4484,"title":{},"content":{"552":{"position":[[1673,6]]}},"keywords":{}}],["goto",{"_index":2906,"title":{},"content":{"309":{"position":[[3939,4]]},"404":{"position":[[2633,5]]}},"keywords":{}}],["govern",{"_index":3797,"title":{},"content":{"391":{"position":[[542,10]]}},"keywords":{}}],["gplv3",{"_index":3746,"title":{},"content":{"389":{"position":[[119,5]]}},"keywords":{}}],["grab",{"_index":1216,"title":{},"content":{"55":{"position":[[140,4]]},"413":{"position":[[133,4]]},"669":{"position":[[488,4]]}},"keywords":{}}],["grafana",{"_index":3357,"title":{"365":{"position":[[0,8]]}},"content":{"364":{"position":[[280,7]]},"365":{"position":[[1,7]]}},"keywords":{}}],["grafana/grafana",{"_index":3385,"title":{},"content":{"365":{"position":[[420,15]]}},"keywords":{}}],["grain",{"_index":3019,"title":{},"content":{"330":{"position":[[768,7]]}},"keywords":{}}],["graph",{"_index":3200,"title":{"522":{"position":[[0,5]]},"524":{"position":[[0,5]]}},"content":{"350":{"position":[[762,5]]},"352":{"position":[[28,8],[177,6],[300,8],[353,9],[400,8],[463,5],[828,8],[925,8]]},"365":{"position":[[118,7]]},"369":{"position":[[547,6],[952,6]]},"519":{"position":[[24,8],[94,6],[122,6]]},"521":{"position":[[30,7]]},"522":{"position":[[168,5],[226,7],[273,5],[310,7],[329,7],[589,5],[643,5],[668,5],[1051,5],[1145,5],[1205,5],[1274,5],[1348,5]]},"523":{"position":[[231,5],[262,9],[300,5],[355,5],[446,5],[476,5],[570,5]]},"524":{"position":[[5,6],[102,6],[185,6],[242,5],[334,5],[388,6],[442,6],[477,6],[526,5],[639,6],[710,5],[823,6],[877,5],[944,5],[974,7],[1015,6]]},"574":{"position":[[108,5]]},"626":{"position":[[17,5],[631,5],[764,5],[1293,5],[1638,5],[1759,5],[1891,5],[1953,5],[1984,5]]},"627":{"position":[[22,5],[684,5],[817,5],[1346,5],[1691,5],[1812,5],[1944,5],[2006,5],[2037,5]]},"628":{"position":[[651,5],[789,5],[1318,5],[1663,5],[1784,5],[1916,5],[1978,5],[2009,5]]}},"keywords":{}}],["graphedit",{"_index":4256,"title":{},"content":{"522":{"position":[[57,9]]}},"keywords":{}}],["grapher",{"_index":2608,"title":{"352":{"position":[[10,8]]},"518":{"position":[[10,7]]},"520":{"position":[[10,7]]}},"content":{"275":{"position":[[657,7]]},"290":{"position":[[112,7]]},"352":{"position":[[11,7],[150,7],[269,7],[378,7],[508,7],[597,7],[709,7],[806,7],[903,7],[1004,7],[1100,7]]},"519":{"position":[[11,7]]},"522":{"position":[[67,7],[97,7],[191,7],[1028,7]]}},"keywords":{}}],["graphic",{"_index":3128,"title":{},"content":{"348":{"position":[[80,9]]},"574":{"position":[[37,9]]},"636":{"position":[[112,9]]},"658":{"position":[[20,9]]}},"keywords":{}}],["graphingpaus",{"_index":4254,"title":{},"content":{"522":{"position":[[33,13]]}},"keywords":{}}],["graphstart",{"_index":4253,"title":{},"content":{"522":{"position":[[13,10]]}},"keywords":{}}],["graphstop",{"_index":4255,"title":{},"content":{"522":{"position":[[47,9]]}},"keywords":{}}],["gray",{"_index":4687,"title":{},"content":{"611":{"position":[[194,4]]},"635":{"position":[[85,4]]}},"keywords":{}}],["great",{"_index":3738,"title":{},"content":{"387":{"position":[[1439,5]]},"540":{"position":[[1045,5],[1063,5]]},"546":{"position":[[270,5]]},"550":{"position":[[113,5]]},"571":{"position":[[70,5]]}},"keywords":{}}],["greater",{"_index":713,"title":{},"content":{"36":{"position":[[2977,7]]},"229":{"position":[[2977,7]]},"279":{"position":[[2186,7],[9113,7],[9234,7],[9392,7],[9731,7],[10156,7]]},"579":{"position":[[186,7]]},"741":{"position":[[897,7],[1222,7],[1372,7]]}},"keywords":{}}],["greatli",{"_index":4852,"title":{},"content":{"658":{"position":[[1127,7]]}},"keywords":{}}],["green",{"_index":40,"title":{},"content":{"2":{"position":[[217,5]]},"279":{"position":[[2532,6],[2795,5],[9471,5],[9499,5],[9513,5],[9685,5],[9786,5],[9857,5],[9886,5],[9900,5],[10072,5],[10173,5]]},"299":{"position":[[1105,5]]},"343":{"position":[[308,5]]},"347":{"position":[[655,6]]},"454":{"position":[[271,5],[361,5],[440,5]]},"473":{"position":[[177,5],[1393,5],[1590,6]]},"487":{"position":[[190,6]]},"517":{"position":[[165,5]]},"530":{"position":[[343,6]]},"585":{"position":[[382,5]]},"586":{"position":[[385,5]]},"587":{"position":[[262,5],[274,5]]},"588":{"position":[[256,5],[268,5]]},"589":{"position":[[267,5],[279,5]]},"591":{"position":[[944,5],[979,5]]},"612":{"position":[[869,5]]},"619":{"position":[[82,5],[278,6],[779,5]]},"651":{"position":[[496,5]]},"652":{"position":[[908,5],[1025,5]]},"741":{"position":[[1182,5],[1235,5],[1331,5],[1385,5]]},"743":{"position":[[65,8]]}},"keywords":{}}],["green_high",{"_index":5425,"title":{},"content":{"741":{"position":[[1259,10],[1409,10]]}},"keywords":{}}],["grep",{"_index":924,"title":{},"content":{"42":{"position":[[933,4]]}},"keywords":{}}],["grey",{"_index":4618,"title":{},"content":{"584":{"position":[[330,4]]},"585":{"position":[[308,4]]},"586":{"position":[[310,4]]}},"keywords":{}}],["grid",{"_index":4240,"title":{},"content":{"506":{"position":[[290,4]]}},"keywords":{}}],["ground",{"_index":1245,"title":{},"content":{"57":{"position":[[34,6]]},"96":{"position":[[555,6]]},"119":{"position":[[143,6]]},"343":{"position":[[922,6]]}},"keywords":{}}],["ground1statu",{"_index":4174,"title":{},"content":{"473":{"position":[[387,15],[1515,13]]},"650":{"position":[[951,13]]},"652":{"position":[[794,13],[857,13],[972,13]]}},"keywords":{}}],["group",{"_index":2535,"title":{"533":{"position":[[0,6]]}},"content":{"261":{"position":[[167,6]]},"297":{"position":[[11,5],[49,6],[141,5],[276,5],[367,5],[468,6],[508,5],[777,5]]},"298":{"position":[[76,5],[360,5]]},"309":{"position":[[791,5]]},"349":{"position":[[842,7],[882,5],[1176,6],[5141,7],[5176,6],[5354,5],[5416,5],[5444,5]]},"393":{"position":[[918,6]]},"419":{"position":[[61,7]]},"420":{"position":[[29,7],[43,6],[265,5]]},"421":{"position":[[183,5]]},"526":{"position":[[318,6]]},"532":{"position":[[117,6]]},"533":{"position":[[5,5],[157,5],[621,5],[901,5]]},"534":{"position":[[1,6],[358,5],[681,6],[820,6],[855,6],[895,5],[935,6]]},"535":{"position":[[784,5],[1325,5],[1347,5]]},"546":{"position":[[700,7],[923,6],[1021,5],[1272,7]]},"561":{"position":[[619,5]]},"641":{"position":[[11,5],[65,5]]},"642":{"position":[[331,5]]},"654":{"position":[[749,5]]},"734":{"position":[[77,6],[145,5],[197,5],[227,6]]},"735":{"position":[[78,6],[147,5],[199,5],[229,6]]},"736":{"position":[[28,6]]},"794":{"position":[[52,6]]},"795":{"position":[[72,5],[238,5],[326,5],[773,5],[836,6],[869,5],[931,5],[1028,5],[1634,6]]}},"keywords":{}}],["group'",{"_index":5704,"title":{},"content":{"795":{"position":[[8,7]]}},"keywords":{}}],["group.print("verifi",{"_index":4527,"title":{},"content":{"561":{"position":[[713,26]]}},"keywords":{}}],["group1",{"_index":2688,"title":{},"content":{"297":{"position":[[567,6],[606,6],[683,6]]}},"keywords":{}}],["group2",{"_index":2689,"title":{},"content":{"297":{"position":[[578,6],[630,6]]}},"keywords":{}}],["grow",{"_index":4266,"title":{},"content":{"524":{"position":[[324,5],[516,5],[700,5]]}},"keywords":{}}],["grpc",{"_index":1954,"title":{"114":{"position":[[0,4]]}},"content":{"114":{"position":[[5,4],[44,5],[54,4],[148,4],[169,4]]}},"keywords":{}}],["grpc_int",{"_index":1956,"title":{},"content":{"114":{"position":[[221,8]]}},"keywords":{}}],["grpc_interface.rb",{"_index":1957,"title":{},"content":{"114":{"position":[[230,17]]}},"keywords":{}}],["grpc_method",{"_index":1960,"title":{},"content":{"114":{"position":[[363,11],[453,11]]}},"keywords":{}}],["grpcinterfac",{"_index":1959,"title":{},"content":{"114":{"position":[[288,13]]},"223":{"position":[[108,14]]}},"keywords":{}}],["gsaw",{"_index":3529,"title":{},"content":{"369":{"position":[[4122,4]]}},"keywords":{}}],["gse",{"_index":1994,"title":{},"content":{"119":{"position":[[168,6]]},"301":{"position":[[282,3],[307,3],[915,3]]},"302":{"position":[[176,3],[287,3],[323,3],[334,3],[478,3],[746,3],[2560,3],[2571,3]]},"303":{"position":[[188,3],[311,3]]},"304":{"position":[[209,3],[343,3],[388,3],[914,3]]},"305":{"position":[[224,3],[368,3],[413,3],[1011,3],[1131,3]]},"306":{"position":[[266,3],[367,3]]},"307":{"position":[[474,3],[559,3]]},"343":{"position":[[947,6]]}},"keywords":{}}],["gse.gemspec",{"_index":2746,"title":{},"content":{"301":{"position":[[663,11]]}},"keywords":{}}],["gse_target_nam",{"_index":2781,"title":{},"content":{"302":{"position":[[2544,15],[2582,15],[2621,15],[2737,15]]}},"keywords":{}}],["gt",{"_index":204,"title":{},"content":{"6":{"position":[[204,5],[250,5],[355,5],[387,5],[422,5],[452,5]]},"7":{"position":[[269,5],[724,5]]},"20":{"position":[[768,4]]},"24":{"position":[[278,4]]},"36":{"position":[[7623,5],[7723,5]]},"83":{"position":[[3134,4],[3246,4]]},"91":{"position":[[1671,4],[2148,4]]},"92":{"position":[[1123,4],[1447,4]]},"216":{"position":[[659,4]]},"217":{"position":[[711,5],[791,5],[811,5],[914,5],[934,5],[1269,5],[1289,5],[2780,4]]},"221":{"position":[[129,5],[169,5],[209,5],[253,5]]},"229":{"position":[[7623,5],[7723,5]]},"251":{"position":[[876,5],[915,5],[980,5],[1040,5],[1304,4],[1644,5],[1683,5],[1748,5],[1808,5],[2109,4]]},"253":{"position":[[2402,5],[2441,5],[2506,5]]},"279":{"position":[[6222,5],[6321,5]]},"302":{"position":[[2598,5],[2753,5]]},"309":{"position":[[2024,4],[2084,4]]},"314":{"position":[[1217,5],[1245,5],[1268,5],[1288,5],[1311,5],[1338,5],[1364,5],[1410,5],[1450,5],[1522,5],[1547,5],[1636,5]]},"320":{"position":[[195,4],[1648,5],[1714,5]]},"358":{"position":[[6763,5],[6937,5],[7380,5]]},"362":{"position":[[903,8]]},"378":{"position":[[897,5],[1087,5],[1108,5],[1129,5],[1189,5]]},"402":{"position":[[1371,5],[1420,5],[1500,5],[1570,5],[2596,5],[3599,5]]},"450":{"position":[[62,4]]},"498":{"position":[[1009,5]]},"511":{"position":[[59,4]]},"532":{"position":[[193,4]]},"542":{"position":[[614,5],[811,5]]},"544":{"position":[[1562,5],[1842,5]]},"556":{"position":[[176,4]]},"559":{"position":[[627,4],[924,4]]},"564":{"position":[[474,4],[652,4]]},"565":{"position":[[796,4],[1074,4]]},"566":{"position":[[593,4],[844,4]]},"569":{"position":[[591,4]]},"633":{"position":[[568,5],[612,5],[656,5]]},"637":{"position":[[1040,5]]},"654":{"position":[[97,5]]},"677":{"position":[[299,5],[355,5],[1472,5],[1499,5],[1591,5],[1618,5]]},"678":{"position":[[491,5],[547,5],[1670,5],[1697,5]]},"679":{"position":[[504,5],[560,5]]},"680":{"position":[[555,5],[611,5],[1715,5],[1742,5]]},"681":{"position":[[343,5],[407,5],[1497,5],[1524,5]]},"682":{"position":[[530,5],[594,5],[1744,5],[1771,5]]},"683":{"position":[[543,5],[607,5]]},"684":{"position":[[594,5],[658,5],[1788,5],[1815,5]]},"685":{"position":[[494,6],[1055,6]]},"687":{"position":[[357,6],[817,6]]},"688":{"position":[[270,6],[396,6]]},"689":{"position":[[396,6],[859,6]]},"690":{"position":[[474,6],[1203,6]]},"691":{"position":[[471,6],[977,6]]},"692":{"position":[[552,5],[585,6],[723,6]]},"693":{"position":[[757,6],[896,6]]},"697":{"position":[[850,4],[908,4],[972,4],[1037,4],[1120,4],[1205,4],[1263,4],[1327,4],[1392,4],[1477,4]]},"699":{"position":[[1121,4],[1164,4]]},"700":{"position":[[481,5]]},"706":{"position":[[236,6]]},"711":{"position":[[631,5],[651,5]]},"714":{"position":[[334,6],[1357,6]]},"718":{"position":[[323,6]]},"719":{"position":[[399,6]]},"720":{"position":[[370,6]]},"722":{"position":[[391,6],[458,6]]},"724":{"position":[[1005,4],[1048,4]]},"726":{"position":[[1085,4],[1158,4],[1262,4],[1335,4]]},"728":{"position":[[858,4],[901,4]]},"731":{"position":[[574,6],[677,6]]},"740":{"position":[[425,6],[564,6],[614,6],[748,6],[871,6],[934,6]]},"746":{"position":[[112,6]]},"751":{"position":[[135,6]]},"763":{"position":[[126,6]]},"772":{"position":[[213,6]]},"773":{"position":[[97,6],[117,5],[137,5],[189,6]]},"774":{"position":[[76,6]]},"784":{"position":[[120,6]]},"792":{"position":[[192,6]]},"803":{"position":[[392,5],[430,5]]},"804":{"position":[[412,5]]},"807":{"position":[[150,6],[302,6]]},"808":{"position":[[114,6],[895,6]]},"809":{"position":[[347,6],[424,6],[541,6],[609,6]]},"810":{"position":[[438,6],[576,6]]},"812":{"position":[[158,6],[291,6]]},"813":{"position":[[281,6],[384,6]]},"814":{"position":[[482,6]]}},"keywords":{}}],["gt;"",{"_index":505,"title":{},"content":{"22":{"position":[[571,10]]},"253":{"position":[[2484,11]]}},"keywords":{}}],["gt;2901/tcp",{"_index":985,"title":{},"content":{"42":{"position":[[2462,12]]}},"keywords":{}}],["gt;2902/tcp",{"_index":987,"title":{},"content":{"42":{"position":[[2590,12]]}},"keywords":{}}],["gt;6379/tcp",{"_index":1003,"title":{},"content":{"42":{"position":[[3020,12]]}},"keywords":{}}],["gt;80/tcp",{"_index":992,"title":{},"content":{"42":{"position":[[2712,10]]}},"keywords":{}}],["gt;9000/tcp",{"_index":998,"title":{},"content":{"42":{"position":[[2910,12]]}},"keywords":{}}],["gt;_int",{"_index":2782,"title":{},"content":{"302":{"position":[[2637,9]]},"358":{"position":[[6802,9]]},"378":{"position":[[1050,9]]}},"keywords":{}}],["gt;color",{"_index":3205,"title":{},"content":{"350":{"position":[[1268,9]]}},"keywords":{}}],["gt;execut",{"_index":3167,"title":{},"content":{"349":{"position":[[3614,11],[3928,11]]}},"keywords":{}}],["gt;inspect",{"_index":1762,"title":{},"content":{"93":{"position":[[361,11]]}},"keywords":{}}],["gt;load",{"_index":3222,"title":{},"content":{"353":{"position":[[772,8]]}},"keywords":{}}],["gt;mnemon",{"_index":3171,"title":{},"content":{"349":{"position":[[4031,12]]}},"keywords":{}}],["gt;option",{"_index":3202,"title":{},"content":{"350":{"position":[[1094,11]]}},"keywords":{}}],["gt;rubi",{"_index":3172,"title":{},"content":{"349":{"position":[[4127,8]]}},"keywords":{}}],["gt;save",{"_index":3212,"title":{},"content":{"351":{"position":[[621,8]]},"353":{"position":[[686,8]]}},"keywords":{}}],["gt;show",{"_index":4142,"title":{},"content":{"454":{"position":[[518,8]]}},"keywords":{}}],["gt;toggl",{"_index":3176,"title":{},"content":{"349":{"position":[[4422,10],[4630,10]]}},"keywords":{}}],["gt;view",{"_index":3174,"title":{},"content":{"349":{"position":[[4234,8]]}},"keywords":{}}],["guarante",{"_index":552,"title":{},"content":{"24":{"position":[[933,10]]},"36":{"position":[[4756,10],[8753,10]]},"229":{"position":[[4756,10],[8753,10]]},"344":{"position":[[968,11]]},"349":{"position":[[2658,10],[3238,10],[3396,10],[3431,10]]},"402":{"position":[[5170,11]]},"429":{"position":[[361,9]]}},"keywords":{}}],["gui",{"_index":631,"title":{},"content":{"33":{"position":[[123,3]]},"36":{"position":[[10561,3]]},"83":{"position":[[193,3]]},"346":{"position":[[363,3],[1319,3]]},"351":{"position":[[211,3]]},"494":{"position":[[135,3]]}},"keywords":{}}],["guid",{"_index":83,"title":{"537":{"position":[[15,5]]},"655":{"position":[[14,5]]}},"content":{"3":{"position":[[17,5]]},"35":{"position":[[1331,5]]},"37":{"position":[[1124,5]]},"88":{"position":[[397,6],[485,5]]},"100":{"position":[[615,5]]},"203":{"position":[[362,5]]},"228":{"position":[[1360,5]]},"230":{"position":[[1143,5]]},"231":{"position":[[1504,5]]},"232":{"position":[[1340,5]]},"278":{"position":[[966,5]]},"280":{"position":[[758,5]]},"281":{"position":[[1060,5]]},"282":{"position":[[729,5]]},"302":{"position":[[1945,5]]},"306":{"position":[[154,6]]},"323":{"position":[[80,6]]},"333":{"position":[[1035,6]]},"358":{"position":[[138,5],[697,5],[8130,6]]},"538":{"position":[[6,5]]},"539":{"position":[[129,5]]},"576":{"position":[[421,6]]},"657":{"position":[[185,5],[292,6]]}},"keywords":{}}],["guidanc",{"_index":4326,"title":{},"content":{"538":{"position":[[306,8]]}},"keywords":{}}],["guidelin",{"_index":2562,"title":{},"content":{"265":{"position":[[221,10]]},"540":{"position":[[1230,11]]}},"keywords":{}}],["guiview",{"_index":1766,"title":{},"content":{"93":{"position":[[471,7]]}},"keywords":{}}],["gutter",{"_index":4497,"title":{},"content":{"555":{"position":[[42,7]]}},"keywords":{}}],["gzip",{"_index":3083,"title":{},"content":{"338":{"position":[[272,7]]},"440":{"position":[[424,7]]}},"keywords":{}}],["h",{"_index":1475,"title":{},"content":{"81":{"position":[[172,1],[222,1]]},"82":{"position":[[421,1],[4715,1],[4765,1]]},"83":{"position":[[809,1],[841,1],[880,1],[907,1],[937,1],[962,1],[999,1],[1100,1],[2312,1],[2342,1],[2371,1],[2408,1],[2436,1]]},"93":{"position":[[970,1]]}},"keywords":{}}],["habitu",{"_index":4086,"title":{},"content":{"431":{"position":[[12,10]]}},"keywords":{}}],["hack",{"_index":122,"title":{},"content":{"3":{"position":[[577,7]]},"386":{"position":[[252,4]]}},"keywords":{}}],["half",{"_index":4267,"title":{},"content":{"524":{"position":[[430,4],[566,4],[748,4]]}},"keywords":{}}],["hand",{"_index":5656,"title":{},"content":{"780":{"position":[[379,4],[448,4]]},"787":{"position":[[552,4],[621,4]]}},"keywords":{}}],["handbook",{"_index":2417,"title":{"456":{"position":[[0,9]]}},"content":{"237":{"position":[[69,8]]},"290":{"position":[[124,8]]},"457":{"position":[[1,9]]}},"keywords":{}}],["handi",{"_index":86,"title":{},"content":{"3":{"position":[[55,5],[301,5]]},"658":{"position":[[908,5]]}},"keywords":{}}],["handl",{"_index":1207,"title":{"696":{"position":[[0,8]]}},"content":{"54":{"position":[[544,6]]},"55":{"position":[[351,6]]},"58":{"position":[[25,7]]},"59":{"position":[[25,7]]},"60":{"position":[[25,7]]},"65":{"position":[[327,6]]},"70":{"position":[[209,7]]},"73":{"position":[[1460,8]]},"115":{"position":[[1257,7],[1522,7]]},"126":{"position":[[186,6]]},"140":{"position":[[150,6]]},"213":{"position":[[182,7],[315,8]]},"275":{"position":[[609,7]]},"321":{"position":[[205,7]]},"383":{"position":[[1768,6]]},"393":{"position":[[1112,6]]},"402":{"position":[[1382,6],[1511,6],[1581,6],[4870,7]]},"413":{"position":[[138,7]]},"430":{"position":[[646,7]]},"559":{"position":[[311,6]]},"566":{"position":[[164,8]]},"568":{"position":[[994,6]]},"669":{"position":[[15,6]]},"715":{"position":[[134,7]]},"730":{"position":[[25,8]]}},"keywords":{}}],["happen",{"_index":1388,"title":{},"content":{"67":{"position":[[2754,8]]},"378":{"position":[[610,7]]},"387":{"position":[[568,8]]},"535":{"position":[[1450,7]]},"540":{"position":[[4036,10]]},"551":{"position":[[429,7]]}},"keywords":{}}],["haproxi",{"_index":537,"title":{},"content":{"24":{"position":[[295,7]]}},"keywords":{}}],["har8x3rauvsluprp2basy1xsmnna1jvb",{"_index":1564,"title":{},"content":{"82":{"position":[[4316,32]]}},"keywords":{}}],["hard",{"_index":1359,"title":{},"content":{"67":{"position":[[468,4]]},"321":{"position":[[1303,4]]},"368":{"position":[[524,4]]}},"keywords":{}}],["hardwar",{"_index":1814,"title":{"358":{"position":[[22,9]]},"366":{"position":[[7,8]]}},"content":{"97":{"position":[[145,8]]},"119":{"position":[[36,8],[212,8]]},"128":{"position":[[109,9],[228,9]]},"358":{"position":[[88,9]]},"369":{"position":[[3754,9],[3930,9],[4004,8]]},"383":{"position":[[526,9]]},"387":{"position":[[381,8]]},"556":{"position":[[106,8],[367,9],[848,9]]}},"keywords":{}}],["hardware"",{"_index":3602,"title":{},"content":{"378":{"position":[[112,15]]}},"keywords":{}}],["hash",{"_index":455,"title":{},"content":{"20":{"position":[[1032,4]]},"36":{"position":[[4889,4],[8886,4]]},"48":{"position":[[1226,4],[1288,4]]},"91":{"position":[[1079,4],[1611,4],[1625,4]]},"217":{"position":[[2323,4],[2374,4]]},"229":{"position":[[4889,4],[8886,4]]},"267":{"position":[[60,7]]},"637":{"position":[[1469,4]]},"687":{"position":[[112,6]]},"689":{"position":[[19,4]]},"690":{"position":[[11,4]]},"691":{"position":[[18,4]]},"692":{"position":[[333,4]]},"702":{"position":[[18,4]]},"705":{"position":[[39,7]]},"707":{"position":[[18,5]]},"708":{"position":[[17,5]]},"711":{"position":[[275,4],[280,4],[354,5],[473,5]]},"740":{"position":[[9,4]]},"747":{"position":[[18,4]]},"770":{"position":[[141,4]]},"773":{"position":[[39,4]]},"803":{"position":[[143,4]]},"804":{"position":[[146,4]]}},"keywords":{}}],["hat",{"_index":3005,"title":{},"content":{"330":{"position":[[174,3]]}},"keywords":{}}],["have",{"_index":398,"title":{},"content":{"20":{"position":[[105,6]]},"36":{"position":[[1601,6]]},"127":{"position":[[268,6]]},"229":{"position":[[1601,6]]},"279":{"position":[[1596,6]]},"358":{"position":[[1831,6]]},"387":{"position":[[959,6]]},"424":{"position":[[1109,6]]},"547":{"position":[[100,6]]},"556":{"position":[[787,6]]},"572":{"position":[[79,6]]},"799":{"position":[[256,6]]}},"keywords":{}}],["hazard",{"_index":94,"title":{"241":{"position":[[0,10]]},"468":{"position":[[0,9]]}},"content":{"3":{"position":[[145,10]]},"36":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"91":{"position":[[319,9],[400,9],[1353,10],[1372,9]]},"229":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"241":{"position":[[35,9],[56,9],[219,9]]},"250":{"position":[[161,10]]},"348":{"position":[[1873,9],[1938,9]]},"468":{"position":[[9,9],[104,9]]},"513":{"position":[[736,9],[832,9]]},"638":{"position":[[259,9]]},"654":{"position":[[893,9]]},"679":{"position":[[74,9],[175,9]]},"680":{"position":[[100,9],[201,9]]},"683":{"position":[[97,9],[198,9]]},"684":{"position":[[123,9],[224,9]]},"690":{"position":[[1524,12]]},"692":{"position":[[74,10],[422,9],[475,9],[575,9],[616,9]]}},"keywords":{}}],["hazard"",{"_index":736,"title":{},"content":{"36":{"position":[[3834,12]]},"229":{"position":[[3834,12]]}},"keywords":{}}],["head",{"_index":2199,"title":{},"content":{"209":{"position":[[153,6],[293,6]]}},"keywords":{}}],["header",{"_index":275,"title":{"47":{"position":[[5,7]]}},"content":{"7":{"position":[[1130,7]]},"36":{"position":[[818,6]]},"48":{"position":[[89,7]]},"54":{"position":[[450,6]]},"55":{"position":[[286,6],[2883,6]]},"58":{"position":[[165,6],[242,6]]},"61":{"position":[[1769,7]]},"62":{"position":[[69,7]]},"83":{"position":[[1286,7]]},"85":{"position":[[32,6],[225,7]]},"138":{"position":[[118,7]]},"217":{"position":[[879,7],[1256,7],[2017,6],[2344,7]]},"229":{"position":[[818,6]]},"240":{"position":[[207,6]]},"253":{"position":[[179,6],[262,6],[341,6],[358,6],[440,6],[528,6],[619,6],[706,6],[1057,6],[1140,6],[1219,6],[1236,6],[1318,6],[1406,6],[1497,6],[1584,6],[1827,6],[1910,6],[1989,6],[2006,6],[2088,6],[2176,6],[2267,6],[2354,6]]},"279":{"position":[[813,6]]},"287":{"position":[[216,6]]},"299":{"position":[[345,6]]},"379":{"position":[[1244,6],[1586,6],[3103,6]]},"393":{"position":[[91,8]]},"479":{"position":[[177,6]]},"483":{"position":[[193,7]]},"484":{"position":[[126,7]]},"514":{"position":[[112,8]]},"515":{"position":[[115,8]]}},"keywords":{}}],["headeraliassetalia",{"_index":3853,"title":{},"content":{"400":{"position":[[55,19]]}},"keywords":{}}],["headerlist",{"_index":4189,"title":{},"content":{"479":{"position":[[139,10]]}},"keywords":{}}],["headeronli",{"_index":4187,"title":{},"content":{"479":{"position":[[77,10]]}},"keywords":{}}],["headless",{"_index":3434,"title":{},"content":{"369":{"position":[[786,8],[926,9],[2272,8]]}},"keywords":{}}],["health",{"_index":304,"title":{},"content":{"9":{"position":[[555,7],[704,7]]},"96":{"position":[[174,6]]},"276":{"position":[[611,6]]}},"keywords":{}}],["health_statu",{"_index":244,"title":{},"content":{"7":{"position":[[153,13],[829,13]]},"8":{"position":[[167,13],[324,13]]},"9":{"position":[[181,13],[347,13],[530,13],[679,13]]},"81":{"position":[[372,13]]},"82":{"position":[[6125,13]]},"92":{"position":[[1236,13]]},"93":{"position":[[776,13]]},"213":{"position":[[881,13]]},"251":{"position":[[1974,13],[2082,13]]},"276":{"position":[[569,13]]},"285":{"position":[[405,13]]},"286":{"position":[[462,13]]},"296":{"position":[[479,13]]},"298":{"position":[[434,13],[477,13],[520,13]]},"320":{"position":[[1654,13],[1720,13]]},"369":{"position":[[573,13]]},"473":{"position":[[438,13],[468,13]]},"540":{"position":[[2191,13],[2457,13],[2567,13],[3107,13],[3367,13],[3477,13]]},"542":{"position":[[343,13],[481,13],[591,13],[677,13],[788,13]]},"563":{"position":[[575,17],[912,17]]},"566":{"position":[[566,13],[808,13]]},"591":{"position":[[794,13],[901,13]]},"609":{"position":[[579,13],[644,13]]},"615":{"position":[[585,13],[665,13]]},"617":{"position":[[470,13],[531,13]]},"618":{"position":[[843,13],[910,13]]},"620":{"position":[[459,13],[511,13]]},"621":{"position":[[460,13],[515,13]]},"622":{"position":[[456,13],[511,13]]},"623":{"position":[[428,13],[481,13]]},"624":{"position":[[433,13],[489,13]]},"625":{"position":[[807,13],[869,13]]},"626":{"position":[[560,13]]},"627":{"position":[[594,13]]},"628":{"position":[[583,13]]},"631":{"position":[[718,13],[772,13]]},"632":{"position":[[600,13],[637,13],[812,13],[849,13]]},"633":{"position":[[346,13]]},"634":{"position":[[309,13]]},"635":{"position":[[658,13],[702,13]]},"648":{"position":[[623,13],[677,13]]},"650":{"position":[[937,13]]},"652":{"position":[[780,13],[843,13],[958,13]]},"654":{"position":[[145,13],[184,13],[227,13]]},"697":{"position":[[827,13],[885,13],[949,13],[1014,13],[1097,13],[1182,13],[1240,13],[1304,13],[1369,13],[1454,13]]},"698":{"position":[[780,13],[848,13],[947,13],[1015,13]]},"699":{"position":[[1096,13],[1142,13]]},"701":{"position":[[585,13],[721,13],[784,13],[848,13],[929,13],[1013,13],[1149,13],[1212,13],[1276,13],[1357,13]]},"708":{"position":[[400,13]]},"709":{"position":[[447,13]]},"710":{"position":[[706,13],[789,13],[843,13],[907,13],[993,13],[1075,13],[1129,13],[1193,13]]},"712":{"position":[[590,13],[679,13],[789,13],[878,13]]},"713":{"position":[[409,13],[483,13],[596,13],[670,13]]},"714":{"position":[[282,13],[1303,13],[1407,16],[1521,16],[1641,16],[1763,16]]},"716":{"position":[[364,17]]},"717":{"position":[[461,17],[964,17]]},"722":{"position":[[1554,13],[1619,13],[1764,13],[1829,13]]},"723":{"position":[[1300,13],[1381,13],[1507,13],[1588,13]]},"724":{"position":[[980,13],[1026,13]]},"725":{"position":[[849,16],[891,13]]},"726":{"position":[[1062,13],[1135,13],[1239,13],[1312,13]]},"727":{"position":[[1123,13],[1210,13],[1328,13],[1415,13]]},"728":{"position":[[833,13],[879,13]]},"729":{"position":[[827,16],[869,13]]},"731":{"position":[[547,13],[650,13]]},"732":{"position":[[399,13]]},"733":{"position":[[402,13]]},"740":{"position":[[387,16],[708,16]]},"741":{"position":[[1999,16]]},"743":{"position":[[478,16]]},"786":{"position":[[577,13],[849,13]]},"787":{"position":[[1039,13],[1322,13]]}},"keywords":{}}],["health_status"",{"_index":5241,"title":{},"content":{"702":{"position":[[436,20]]},"703":{"position":[[688,20],[805,20]]},"707":{"position":[[323,20]]},"709":{"position":[[399,20]]},"718":{"position":[[302,20]]},"720":{"position":[[349,20]]}},"keywords":{}}],["height",{"_index":4268,"title":{"584":{"position":[[0,7]]}},"content":{"524":{"position":[[435,6],[761,6],[816,6]]},"577":{"position":[[314,6],[321,6]]},"584":{"position":[[17,6],[25,6],[132,6],[269,6],[343,6]]},"599":{"position":[[183,6]]},"602":{"position":[[166,6],[173,6]]},"607":{"position":[[119,6],[126,6]]},"609":{"position":[[235,6],[242,6]]},"610":{"position":[[235,6],[242,6]]},"612":{"position":[[338,6],[345,6]]},"618":{"position":[[750,6],[757,6]]},"619":{"position":[[646,6],[653,6]]},"620":{"position":[[375,6],[382,6]]},"621":{"position":[[373,6],[380,6]]},"625":{"position":[[719,6],[726,6]]},"626":{"position":[[2048,6],[2055,6]]},"627":{"position":[[2101,6],[2108,6]]},"628":{"position":[[2073,6],[2080,6]]},"631":{"position":[[635,6],[642,6]]},"634":{"position":[[222,6],[229,6]]},"646":{"position":[[257,6],[264,6]]},"650":{"position":[[832,6],[839,6]]}},"keywords":{}}],["helloworld",{"_index":2188,"title":{"320":{"position":[[0,10]]}},"content":{"203":{"position":[[240,10],[508,10]]},"306":{"position":[[915,10]]},"319":{"position":[[208,10],[421,10]]},"320":{"position":[[5,10],[1680,10]]}},"keywords":{}}],["helloworldwidget",{"_index":2804,"title":{},"content":{"306":{"position":[[403,16],[427,16],[483,16]]},"320":{"position":[[1018,16]]}},"keywords":{}}],["helloworldwidget.vu",{"_index":2945,"title":{},"content":{"320":{"position":[[88,21]]}},"keywords":{}}],["helm",{"_index":2537,"title":{},"content":{"261":{"position":[[300,4]]},"267":{"position":[[499,4]]}},"keywords":{}}],["help",{"_index":80,"title":{"3":{"position":[[0,7]]}},"content":{"3":{"position":[[195,4],[261,4],[413,4]]},"31":{"position":[[264,5]]},"42":{"position":[[279,4]]},"263":{"position":[[292,5]]},"271":{"position":[[1664,4]]},"275":{"position":[[534,5]]},"307":{"position":[[393,4],[1596,4]]},"328":{"position":[[119,4]]},"333":{"position":[[869,4],[965,5],[1173,5],[1246,5]]},"369":{"position":[[3981,5]]},"432":{"position":[[610,4]]},"437":{"position":[[180,4]]},"557":{"position":[[41,4]]},"569":{"position":[[759,4]]},"787":{"position":[[185,4]]}},"keywords":{}}],["helper",{"_index":1317,"title":{"63":{"position":[[0,6]]}},"content":{"63":{"position":[[31,6],[102,6]]},"237":{"position":[[144,6]]},"290":{"position":[[213,6]]},"302":{"position":[[1749,6]]},"333":{"position":[[1464,6]]},"540":{"position":[[2319,6],[3231,6]]},"551":{"position":[[394,6]]}},"keywords":{}}],["helper.setup",{"_index":4362,"title":{},"content":{"540":{"position":[[2346,12],[3256,14]]}},"keywords":{}}],["helper_util",{"_index":4377,"title":{},"content":{"540":{"position":[[4394,16]]}},"keywords":{}}],["helperutil",{"_index":4373,"title":{},"content":{"540":{"position":[[3240,15]]}},"keywords":{}}],["helperutility.new",{"_index":4361,"title":{},"content":{"540":{"position":[[2328,17]]}},"keywords":{}}],["here",{"_index":437,"title":{},"content":{"20":{"position":[[761,4]]},"22":{"position":[[564,4]]},"42":{"position":[[527,4]]},"83":{"position":[[654,4],[1342,4],[3198,5]]},"88":{"position":[[613,5]]},"139":{"position":[[899,4]]},"214":{"position":[[1147,4]]},"274":{"position":[[282,4]]},"301":{"position":[[1213,5]]},"302":{"position":[[2117,4]]},"307":{"position":[[1792,5]]},"320":{"position":[[188,4],[1458,4]]},"321":{"position":[[172,4]]},"332":{"position":[[1293,4]]},"358":{"position":[[3318,4],[6472,4]]},"361":{"position":[[110,4]]},"363":{"position":[[429,4]]},"389":{"position":[[220,5],[289,4]]},"390":{"position":[[218,5]]},"402":{"position":[[1475,4]]},"435":{"position":[[70,4]]},"513":{"position":[[800,4]]},"531":{"position":[[390,5]]},"549":{"position":[[118,4],[297,4],[402,4]]},"550":{"position":[[413,4],[524,4],[649,4],[761,4]]},"552":{"position":[[2308,4],[2456,4]]},"569":{"position":[[1032,4]]},"582":{"position":[[469,5]]},"786":{"position":[[609,4],[881,4]]},"787":{"position":[[1071,4],[1371,4]]},"795":{"position":[[1166,4],[1250,4],[1296,4],[1341,4],[1713,4],[1790,4],[1844,4],[1897,4]]}},"keywords":{}}],["here"",{"_index":4573,"title":{},"content":{"569":{"position":[[1108,11]]}},"keywords":{}}],["here'",{"_index":95,"title":{},"content":{"3":{"position":[[156,6]]},"386":{"position":[[1,6]]},"533":{"position":[[317,6]]}},"keywords":{}}],["hex",{"_index":661,"title":{},"content":{"36":{"position":[[223,4],[10152,3]]},"53":{"position":[[771,3]]},"54":{"position":[[1169,3]]},"55":{"position":[[2069,3]]},"56":{"position":[[565,3],[697,3],[1071,3]]},"60":{"position":[[574,3]]},"61":{"position":[[1378,3],[1510,3],[2243,3]]},"62":{"position":[[361,3]]},"138":{"position":[[292,3]]},"229":{"position":[[223,4],[10152,3]]},"271":{"position":[[1884,4]]},"279":{"position":[[218,4]]},"348":{"position":[[1569,4],[1666,4]]},"468":{"position":[[291,3]]}},"keywords":{}}],["hex"",{"_index":3134,"title":{},"content":{"348":{"position":[[1610,9]]}},"keywords":{}}],["hexshow",{"_index":4161,"title":{},"content":{"466":{"position":[[70,8]]}},"keywords":{}}],["hh:mm:ss",{"_index":4719,"title":{},"content":{"626":{"position":[[1409,9]]},"627":{"position":[[1462,9]]},"628":{"position":[[1434,9]]}},"keywords":{}}],["hh:mm:ss.sss",{"_index":2612,"title":{},"content":{"275":{"position":[[844,12]]}},"keywords":{}}],["hidapips5",{"_index":2932,"title":{},"content":{"316":{"position":[[101,9]]}},"keywords":{}}],["hidden",{"_index":847,"title":{"237":{"position":[[0,7]]},"290":{"position":[[0,7]]}},"content":{"36":{"position":[[10470,7],[10566,6]]},"40":{"position":[[1466,6]]},"237":{"position":[[87,6]]},"387":{"position":[[754,7]]}},"keywords":{}}],["hide",{"_index":346,"title":{},"content":{"13":{"position":[[67,4]]},"14":{"position":[[64,4]]},"237":{"position":[[1,5]]},"238":{"position":[[40,5]]},"290":{"position":[[1,5],[150,5]]},"416":{"position":[[119,6]]},"473":{"position":[[1202,5],[1339,6],[1506,4]]},"506":{"position":[[597,4]]},"524":{"position":[[898,4]]}},"keywords":{}}],["hierarchi",{"_index":4126,"title":{},"content":{"439":{"position":[[137,9]]}},"keywords":{}}],["high",{"_index":840,"title":{"398":{"position":[[0,4]]}},"content":{"36":{"position":[[9934,4]]},"126":{"position":[[637,4]]},"229":{"position":[[9934,4]]},"268":{"position":[[12,4]]},"279":{"position":[[9197,4],[9293,4],[9314,4],[9355,4],[9434,4],[9519,4],[9792,4],[9863,4],[9906,4]]},"367":{"position":[[828,4]]},"420":{"position":[[219,4]]},"522":{"position":[[483,5]]},"550":{"position":[[119,4]]},"562":{"position":[[22,4]]},"618":{"position":[[340,4],[465,4]]},"625":{"position":[[309,4],[434,4]]},"631":{"position":[[319,4],[444,4]]},"741":{"position":[[425,4],[955,4],[967,4],[1046,4],[1085,4],[1094,4],[1337,4]]},"777":{"position":[[29,4],[86,4]]}},"keywords":{}}],["high>",{"_index":5420,"title":{},"content":{"741":{"position":[[357,9],[375,9]]}},"keywords":{}}],["higher",{"_index":826,"title":{},"content":{"36":{"position":[[9166,6]]},"229":{"position":[[9166,6]]},"279":{"position":[[7291,6]]},"309":{"position":[[3825,6]]},"545":{"position":[[63,6]]}},"keywords":{}}],["highest",{"_index":4424,"title":{},"content":{"546":{"position":[[757,7]]}},"keywords":{}}],["highli",{"_index":899,"title":{},"content":{"42":{"position":[[73,6]]},"43":{"position":[[1306,6]]}},"keywords":{}}],["highlight",{"_index":3143,"title":{},"content":{"349":{"position":[[133,12],[249,11],[289,11],[2190,9],[2266,11]]},"421":{"position":[[600,11]]},"505":{"position":[[143,12]]},"552":{"position":[[130,10],[641,11],[1048,12]]},"569":{"position":[[68,11]]},"778":{"position":[[167,12],[248,11]]},"793":{"position":[[52,12],[590,9],[730,9]]}},"keywords":{}}],["hint",{"_index":81,"title":{"3":{"position":[[8,6]]}},"content":{"13":{"position":[[37,4]]},"14":{"position":[[34,4]]}},"keywords":{}}],["histor",{"_index":1791,"title":{},"content":{"96":{"position":[[279,10]]},"402":{"position":[[4815,10],[5344,10]]},"424":{"position":[[734,10],[1527,10]]}},"keywords":{}}],["histori",{"_index":3140,"title":{"444":{"position":[[8,7]]}},"content":{"348":{"position":[[2115,7],[2203,7],[2290,8],[2341,7]]},"387":{"position":[[528,7]]},"445":{"position":[[9,7]]},"446":{"position":[[21,7]]},"462":{"position":[[553,8]]},"464":{"position":[[200,7],[266,7],[395,8]]},"467":{"position":[[496,8],[542,7],[706,8]]},"468":{"position":[[446,7]]},"523":{"position":[[392,8],[487,7],[608,8]]},"554":{"position":[[1088,7],[1127,7]]},"626":{"position":[[1299,7],[1425,8],[1469,7]]},"627":{"position":[[642,7],[1352,7],[1478,8],[1522,7]]},"628":{"position":[[611,7],[1324,7],[1450,8],[1494,7]]}},"keywords":{}}],["hit",{"_index":3085,"title":{},"content":{"338":{"position":[[618,3]]},"555":{"position":[[132,4]]},"559":{"position":[[1344,7]]},"797":{"position":[[53,3]]}},"keywords":{}}],["hk",{"_index":3655,"title":{},"content":{"379":{"position":[[2754,2]]}},"keywords":{}}],["hold",{"_index":1095,"title":{},"content":{"48":{"position":[[2079,5],[4180,7]]},"69":{"position":[[682,5]]},"309":{"position":[[733,7]]},"340":{"position":[[538,5]]},"402":{"position":[[5494,7],[5972,7],[6042,7],[6161,7]]},"440":{"position":[[210,5],[302,5],[472,5]]},"540":{"position":[[4746,5]]}},"keywords":{}}],["holder",{"_index":3767,"title":{},"content":{"389":{"position":[[2014,7]]},"390":{"position":[[948,7]]},"427":{"position":[[139,6]]}},"keywords":{}}],["home",{"_index":2840,"title":{},"content":{"309":{"position":[[694,4]]},"551":{"position":[[936,4],[1406,4]]}},"keywords":{}}],["home/.config/contain",{"_index":2894,"title":{},"content":{"309":{"position":[[3107,24],[3167,26]]}},"keywords":{}}],["home/.config/containers/registries.conf",{"_index":2891,"title":{},"content":{"309":{"position":[[2946,40],[3197,40]]}},"keywords":{}}],["home_gimb",{"_index":4465,"title":{},"content":{"551":{"position":[[922,11]]}},"keywords":{}}],["home_gimbal(self",{"_index":4477,"title":{},"content":{"551":{"position":[[1385,18]]}},"keywords":{}}],["homepag",{"_index":2747,"title":{},"content":{"301":{"position":[[779,9]]}},"keywords":{}}],["honor",{"_index":4067,"title":{},"content":{"429":{"position":[[102,8]]}},"keywords":{}}],["hook",{"_index":1455,"title":{},"content":{"77":{"position":[[137,4]]}},"keywords":{}}],["horizont",{"_index":2573,"title":{"596":{"position":[[0,11]]}},"content":{"267":{"position":[[547,10]]},"368":{"position":[[360,10]]},"524":{"position":[[345,12],[532,12]]},"589":{"position":[[376,10]]},"593":{"position":[[85,10],[145,12]]},"595":{"position":[[158,12]]},"596":{"position":[[36,12],[54,10],[205,10]]},"597":{"position":[[36,12]]},"605":{"position":[[27,10]]},"620":{"position":[[60,12]]},"654":{"position":[[296,10],[386,10]]}},"keywords":{}}],["horizontalbox",{"_index":4645,"title":{"597":{"position":[[0,14]]}},"content":{"597":{"position":[[75,13],[290,13]]}},"keywords":{}}],["horizontallin",{"_index":4671,"title":{"605":{"position":[[0,15]]}},"content":{"605":{"position":[[118,14]]},"606":{"position":[[145,14]]}},"keywords":{}}],["horribl",{"_index":3740,"title":{},"content":{"387":{"position":[[1581,8]]}},"keywords":{}}],["host",{"_index":1184,"title":{"313":{"position":[[0,4]]},"329":{"position":[[28,4]]}},"content":{"52":{"position":[[211,4]]},"106":{"position":[[127,4]]},"109":{"position":[[483,4]]},"110":{"position":[[476,4]]},"112":{"position":[[187,4]]},"268":{"position":[[97,4]]},"309":{"position":[[937,4],[1987,4]]},"312":{"position":[[81,4]]},"313":{"position":[[12,4]]},"314":{"position":[[2053,4]]},"328":{"position":[[138,4]]},"362":{"position":[[306,4],[636,4],[957,4]]},"455":{"position":[[242,5]]}},"keywords":{}}],["host'",{"_index":3286,"title":{},"content":{"358":{"position":[[7765,6]]}},"keywords":{}}],["host.docker.intern",{"_index":1843,"title":{},"content":{"104":{"position":[[900,20],[1031,20],[1141,20],[1251,20],[1386,20],[1495,20],[1611,20],[1775,20],[1925,20],[2054,20],[2184,20],[2337,20],[2464,20],[2599,20]]},"106":{"position":[[933,20],[1076,20]]},"130":{"position":[[182,20],[326,20]]},"131":{"position":[[223,20],[419,20]]},"132":{"position":[[226,20],[425,20]]},"139":{"position":[[761,20],[1048,20]]},"302":{"position":[[2673,20]]},"314":{"position":[[2134,20]]},"358":{"position":[[6856,20],[7679,20]]}},"keywords":{}}],["hosthidapi",{"_index":2931,"title":{},"content":{"316":{"position":[[68,11]]}},"keywords":{}}],["hostnam",{"_index":435,"title":{},"content":{"20":{"position":[[713,9],[752,8]]},"22":{"position":[[555,8]]},"67":{"position":[[552,8]]},"314":{"position":[[2155,8]]},"358":{"position":[[8365,9]]},"378":{"position":[[905,8]]},"404":{"position":[[1022,8]]},"752":{"position":[[511,9]]}},"keywords":{}}],["hour",{"_index":931,"title":{},"content":{"42":{"position":[[1009,5],[1090,5]]},"138":{"position":[[460,4],[582,4],[829,5]]},"167":{"position":[[26,4],[128,4]]},"446":{"position":[[47,4]]},"455":{"position":[[667,4]]}},"keywords":{}}],["hourli",{"_index":2047,"title":{},"content":{"138":{"position":[[727,6]]}},"keywords":{}}],["housekeep",{"_index":3214,"title":{},"content":{"352":{"position":[[217,12]]}},"keywords":{}}],["hqzfc7dkjmrci1udlfdvdbza9otur",{"_index":1556,"title":{},"content":{"82":{"position":[[2374,29],[5839,29]]}},"keywords":{}}],["hr",{"_index":3479,"title":{},"content":{"369":{"position":[[2175,2]]}},"keywords":{}}],["hs",{"_index":2695,"title":{},"content":{"299":{"position":[[56,2]]},"369":{"position":[[470,3]]},"632":{"position":[[545,2],[757,2]]},"633":{"position":[[412,2]]},"649":{"position":[[434,2]]},"650":{"position":[[1153,2]]}},"keywords":{}}],["htlmaccessor",{"_index":2294,"title":{},"content":{"217":{"position":[[218,13]]}},"keywords":{}}],["html",{"_index":1300,"title":{"216":{"position":[[0,4]]}},"content":{"61":{"position":[[706,4]]},"211":{"position":[[271,4]]},"216":{"position":[[5,4],[149,4],[276,4]]},"217":{"position":[[294,5],[1330,4],[2458,4]]},"243":{"position":[[166,4]]},"244":{"position":[[162,4]]},"263":{"position":[[196,5]]}},"keywords":{}}],["htmlaccessor",{"_index":2285,"title":{},"content":{"216":{"position":[[352,12],[406,12],[487,12]]},"217":{"position":[[2534,12],[2608,12]]}},"keywords":{}}],["htop",{"_index":3410,"title":{},"content":{"368":{"position":[[725,4]]},"369":{"position":[[713,5],[2184,4],[3875,4]]}},"keywords":{}}],["http",{"_index":403,"title":{"107":{"position":[[0,4]]},"108":{"position":[[0,4]]},"217":{"position":[[0,4]]}},"content":{"20":{"position":[[189,5]]},"22":{"position":[[321,4],[378,5],[440,5],[490,5]]},"85":{"position":[[5,4]]},"87":{"position":[[89,4],[145,4]]},"103":{"position":[[76,4],[89,4]]},"107":{"position":[[5,4],[41,4],[187,4],[367,4],[375,5],[393,4],[992,5]]},"108":{"position":[[5,4],[73,4],[180,4]]},"215":{"position":[[46,4],[96,4],[232,4],[655,4]]},"216":{"position":[[46,4],[127,4]]},"217":{"position":[[1,4],[42,4],[57,4],[365,4],[406,4],[429,4],[986,4],[1009,4],[2203,4],[2425,4]]},"220":{"position":[[45,4]]},"309":{"position":[[3708,4]]},"364":{"position":[[1122,4]]},"402":{"position":[[961,4]]}},"keywords":{}}],["http/1.1",{"_index":1496,"title":{},"content":{"81":{"position":[[548,8]]},"82":{"position":[[688,8],[6308,8]]}},"keywords":{}}],["http://127.0.0.1:2900/auth/realms/openc3/protocol/openid",{"_index":1526,"title":{},"content":{"82":{"position":[[595,56]]}},"keywords":{}}],["http://127.0.0.1:2900/openc3",{"_index":1494,"title":{},"content":{"81":{"position":[[498,28]]},"82":{"position":[[6251,28]]}},"keywords":{}}],["http://ascportal:2900",{"_index":1606,"title":{},"content":{"83":{"position":[[973,22]]}},"keywords":{}}],["http://cosmos.local:2900",{"_index":3979,"title":{},"content":{"404":{"position":[[2639,24]]}},"keywords":{}}],["http://localhost:2900",{"_index":2907,"title":{},"content":{"309":{"position":[[3944,21]]},"334":{"position":[[26,22]]},"373":{"position":[[448,22]]}},"keywords":{}}],["http://localhost:2900/openc3",{"_index":1771,"title":{},"content":{"93":{"position":[[932,28]]}},"keywords":{}}],["http://localhost:2900/script",{"_index":1601,"title":{},"content":{"83":{"position":[[698,29]]}},"keywords":{}}],["http://localhost:2900/tools/cmdtlmserver/tlm",{"_index":3693,"title":{},"content":{"380":{"position":[[2046,44]]}},"keywords":{}}],["http://localhost:2900/tools/scriptrunner/?file=target%2fprocedures%2fcmd_tlm_test.rb",{"_index":1607,"title":{},"content":{"83":{"position":[[1011,85]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunn",{"_index":1015,"title":{},"content":{"43":{"position":[[382,41],[435,41]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunner/js/app.j",{"_index":1028,"title":{},"content":{"43":{"position":[[1006,50]]}},"keywords":{}}],["http://openc3",{"_index":3383,"title":{},"content":{"365":{"position":[[371,13]]}},"keywords":{}}],["http_client_interface.rb",{"_index":1871,"title":{},"content":{"107":{"position":[[835,24]]}},"keywords":{}}],["http_error_packet",{"_index":2303,"title":{},"content":{"217":{"position":[[638,17],[1694,17]]}},"keywords":{}}],["http_header",{"_index":2323,"title":{},"content":{"217":{"position":[[2310,12]]}},"keywords":{}}],["http_header_typ",{"_index":2321,"title":{},"content":{"217":{"position":[[2113,16]]}},"keywords":{}}],["http_header_xxx",{"_index":2307,"title":{},"content":{"217":{"position":[[843,15],[1211,15]]}},"keywords":{}}],["http_method",{"_index":2300,"title":{},"content":{"217":{"position":[[540,11],[1573,11]]}},"keywords":{}}],["http_packet",{"_index":2302,"title":{},"content":{"217":{"position":[[587,11],[1161,11],[1631,11]]}},"keywords":{}}],["http_path",{"_index":2309,"title":{},"content":{"217":{"position":[[1128,9],[1513,9]]}},"keywords":{}}],["http_query_queri",{"_index":2316,"title":{},"content":{"217":{"position":[[1835,16],[1862,16]]}},"keywords":{}}],["http_query_xxx",{"_index":2305,"title":{},"content":{"217":{"position":[[722,14]]}},"keywords":{}}],["http_request",{"_index":2324,"title":{},"content":{"217":{"position":[[2352,12]]}},"keywords":{}}],["http_server_interface.rb",{"_index":1877,"title":{},"content":{"108":{"position":[[560,24]]}},"keywords":{}}],["httpaccessor",{"_index":1869,"title":{},"content":{"107":{"position":[[134,12]]},"108":{"position":[[127,12]]},"216":{"position":[[432,12],[474,12]]},"217":{"position":[[1435,12],[1490,12],[2595,12]]}},"keywords":{}}],["httponli",{"_index":1540,"title":{},"content":{"82":{"position":[[969,8],[1091,8]]}},"keywords":{}}],["https://datatracker.ietf.org/doc/html/rfc1055",{"_index":1188,"title":{},"content":{"52":{"position":[[558,45]]}},"keywords":{}}],["https://developer.mozilla.org/en",{"_index":5027,"title":{},"content":{"673":{"position":[[1204,32]]}},"keywords":{}}],["https://doc.traefik.io/traefik/https/tls/#ciph",{"_index":602,"title":{},"content":{"29":{"position":[[1,48]]}},"keywords":{}}],["https://docs.openc3.com/docs/configuration/telemetri",{"_index":2805,"title":{},"content":{"306":{"position":[[537,52]]}},"keywords":{}}],["https://en.wikipedia.org/wiki/consistent_overhead_byte_stuf",{"_index":1178,"title":{},"content":{"51":{"position":[[567,63]]}},"keywords":{}}],["https://get.docker.com",{"_index":3974,"title":{},"content":{"404":{"position":[[2278,22]]}},"keywords":{}}],["https://github.com/docker/compose/releases/download/v2.16.0/dock",{"_index":2858,"title":{},"content":{"309":{"position":[[1709,66]]}},"keywords":{}}],["https://github.com/nasa/cfs.git",{"_index":3569,"title":{},"content":{"375":{"position":[[32,31]]}},"keywords":{}}],["https://github.com/openc3/cosmo",{"_index":2196,"title":{},"content":{"208":{"position":[[83,32]]},"331":{"position":[[75,32],[130,32]]},"404":{"position":[[2394,32]]},"808":{"position":[[1261,35]]}},"keywords":{}}],["https://github.com/openc3/cosmos.git",{"_index":2889,"title":{},"content":{"309":{"position":[[2777,36]]}},"keywords":{}}],["https://github.com/rocketcommunicationsinc/astro",{"_index":4737,"title":{},"content":{"632":{"position":[[209,48]]}},"keywords":{}}],["https://guides.rubygems.org/specif",{"_index":2751,"title":{},"content":{"301":{"position":[[1096,41]]}},"keywords":{}}],["https://materialdesignicons.com",{"_index":2173,"title":{},"content":{"197":{"position":[[206,35]]}},"keywords":{}}],["https://mygemserv",{"_index":5791,"title":{},"content":{"810":{"position":[[381,22]]}},"keywords":{}}],["https://mypypiserv",{"_index":5795,"title":{},"content":{"810":{"position":[[520,23],[583,22]]}},"keywords":{}}],["https://openc3.com",{"_index":4665,"title":{},"content":{"602":{"position":[[224,18]]}},"keywords":{}}],["https://pypi.org/simpl",{"_index":5771,"title":{},"content":{"808":{"position":[[1040,26]]}},"keywords":{}}],["https://rubygems.org",{"_index":5773,"title":{},"content":{"808":{"position":[[1154,23]]},"809":{"position":[[633,23]]}},"keywords":{}}],["https://www.raspberrypi.com/softwar",{"_index":3936,"title":{},"content":{"404":{"position":[[500,37]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/nf",{"_index":2851,"title":{},"content":{"309":{"position":[[1286,35]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/rootless",{"_index":2846,"title":{},"content":{"309":{"position":[[997,41]]}},"keywords":{}}],["httpserverinterfac",{"_index":2059,"title":{},"content":{"140":{"position":[[485,19]]}},"keywords":{}}],["human",{"_index":2327,"title":{},"content":{"218":{"position":[[119,5]]},"342":{"position":[[1016,5]]}},"keywords":{}}],["hyp",{"_index":3551,"title":{},"content":{"369":{"position":[[4488,3]]}},"keywords":{}}],["i.",{"_index":3614,"title":{},"content":{"378":{"position":[[1322,4]]},"379":{"position":[[946,4]]},"426":{"position":[[1147,3]]},"540":{"position":[[612,4]]}},"keywords":{}}],["icon",{"_index":2168,"title":{"197":{"position":[[0,5]]}},"content":{"197":{"position":[[10,4],[16,4],[121,4],[160,5]]},"307":{"position":[[1730,4],[1780,5],[1853,4]]},"358":{"position":[[515,4]]},"359":{"position":[[2113,4]]},"380":{"position":[[171,4]]},"413":{"position":[[257,5],[287,5]]},"421":{"position":[[700,5]]},"422":{"position":[[1414,4]]},"441":{"position":[[18,4]]},"442":{"position":[[20,4]]},"443":{"position":[[17,4]]},"454":{"position":[[343,4]]},"461":{"position":[[318,4],[625,4]]},"462":{"position":[[97,5],[410,4]]},"472":{"position":[[296,5],[497,5],[1149,4],[1456,4]]},"473":{"position":[[730,4],[1159,4]]},"478":{"position":[[380,4],[687,4]]},"481":{"position":[[248,4]]},"483":{"position":[[111,4],[181,4]]},"484":{"position":[[44,4],[114,4]]},"502":{"position":[[317,4],[624,4]]},"505":{"position":[[21,4],[294,4]]},"506":{"position":[[295,4],[364,4]]},"521":{"position":[[336,4],[643,4]]},"522":{"position":[[618,4]]},"632":{"position":[[41,4],[149,4],[192,5],[314,4],[346,4],[363,4],[398,4]]},"633":{"position":[[44,4],[475,5]]}},"keywords":{}}],["iconograpi",{"_index":2565,"title":{},"content":{"265":{"position":[[258,11]]}},"keywords":{}}],["icons.json",{"_index":4739,"title":{},"content":{"632":{"position":[[297,11]]}},"keywords":{}}],["id",{"_index":978,"title":{"272":{"position":[[0,2]]}},"content":{"42":{"position":[[2303,3]]},"48":{"position":[[653,2],[688,2],[703,2],[1197,2],[1238,2],[3938,2]]},"54":{"position":[[505,3],[780,2]]},"81":{"position":[[745,3]]},"82":{"position":[[6486,3]]},"83":{"position":[[3283,2]]},"112":{"position":[[451,2]]},"231":{"position":[[76,2],[1173,2]]},"232":{"position":[[76,2],[1009,2]]},"272":{"position":[[282,2]]},"281":{"position":[[780,2],[1198,2]]},"282":{"position":[[449,2],[870,2]]},"304":{"position":[[998,2],[1028,2]]},"305":{"position":[[1215,2],[1245,2]]},"309":{"position":[[783,3],[797,4]]},"344":{"position":[[7,2]]},"345":{"position":[[7,2]]},"346":{"position":[[118,2]]},"347":{"position":[[185,2]]},"348":{"position":[[367,2]]},"349":{"position":[[1303,2]]},"350":{"position":[[153,2]]},"351":{"position":[[272,2]]},"352":{"position":[[104,2]]},"353":{"position":[[119,2]]},"354":{"position":[[198,2]]},"355":{"position":[[103,2]]},"356":{"position":[[110,2]]},"358":{"position":[[2875,2],[3593,2],[4829,2],[4859,2],[5262,2],[5311,2],[5366,2]]},"359":{"position":[[1473,2]]},"379":{"position":[[2820,2]]},"380":{"position":[[431,2]]},"563":{"position":[[542,2],[621,3],[835,2],[838,3],[879,2],[959,3],[1167,2],[1170,3]]},"685":{"position":[[1062,6]]},"716":{"position":[[89,2],[331,2]]},"717":{"position":[[198,2],[428,2],[507,3],[674,2],[730,3],[931,2],[1011,3],[1172,2],[1228,3]]}},"keywords":{}}],["id"",{"_index":270,"title":{},"content":{"7":{"position":[[762,8],[951,8]]},"253":{"position":[[459,8],[1337,8],[2107,8]]},"278":{"position":[[1099,8]]},"280":{"position":[[894,8]]},"299":{"position":[[454,8]]},"379":{"position":[[479,8],[2888,8]]}},"keywords":{}}],["id=$(curl",{"_index":1656,"title":{},"content":{"83":{"position":[[2920,9]]}},"keywords":{}}],["id_item",{"_index":2244,"title":{"281":{"position":[[0,8]]}},"content":{"214":{"position":[[542,7],[588,9],[1762,7],[1804,9]]},"215":{"position":[[388,7],[434,9],[819,7],[861,9]]},"218":{"position":[[744,7],[790,9],[1540,7],[1582,9]]},"220":{"position":[[770,7],[2006,7]]},"272":{"position":[[135,7]]},"281":{"position":[[101,8],[1157,7]]},"299":{"position":[[390,7]]},"358":{"position":[[5247,7],[5693,8],[6289,7]]}},"keywords":{}}],["id_item(",{"_index":1210,"title":{},"content":{"54":{"position":[[891,10]]}},"keywords":{}}],["id_paramet",{"_index":2405,"title":{"231":{"position":[[0,13]]}},"content":{"231":{"position":[[199,13],[2093,12]]},"232":{"position":[[199,13]]},"253":{"position":[[376,12],[1254,12],[2024,12]]},"358":{"position":[[6272,12]]}},"keywords":{}}],["idea",{"_index":1817,"title":{},"content":{"98":{"position":[[124,5]]}},"keywords":{}}],["ideal",{"_index":168,"title":{},"content":{"5":{"position":[[761,7]]},"17":{"position":[[97,7]]},"18":{"position":[[100,7]]},"226":{"position":[[231,7]]},"272":{"position":[[303,7]]},"276":{"position":[[260,7]]},"349":{"position":[[966,7],[1121,7]]},"544":{"position":[[800,8]]},"658":{"position":[[60,5]]}},"keywords":{}}],["ident",{"_index":636,"title":{},"content":{"33":{"position":[[376,9]]},"39":{"position":[[151,9]]},"326":{"position":[[151,9]]},"473":{"position":[[498,11]]},"535":{"position":[[182,9],[473,9]]},"657":{"position":[[153,9]]}},"keywords":{}}],["identif",{"_index":382,"title":{},"content":{"17":{"position":[[301,14],[376,14]]},"18":{"position":[[306,14],[381,14]]},"231":{"position":[[12,14],[1182,14]]},"232":{"position":[[12,14],[1018,14]]},"249":{"position":[[71,14]]},"272":{"position":[[21,14],[552,15]]},"295":{"position":[[71,14]]},"398":{"position":[[160,14]]},"424":{"position":[[1241,14]]}},"keywords":{}}],["identifi",{"_index":370,"title":{},"content":{"17":{"position":[[31,11],[135,10],[232,11]]},"18":{"position":[[34,11],[139,10],[237,11]]},"31":{"position":[[273,8]]},"47":{"position":[[105,8]]},"48":{"position":[[1302,11]]},"54":{"position":[[89,8],[151,10],[826,8]]},"59":{"position":[[394,10],[441,10]]},"60":{"position":[[228,10]]},"231":{"position":[[102,8],[270,11],[1282,10]]},"232":{"position":[[102,8],[270,11],[1118,10]]},"272":{"position":[[251,10],[411,9]]},"273":{"position":[[79,11]]},"281":{"position":[[836,10]]},"282":{"position":[[505,10]]},"301":{"position":[[1015,12]]},"358":{"position":[[3566,8]]},"425":{"position":[[61,10]]},"578":{"position":[[87,8]]}},"keywords":{}}],["identification"",{"_index":3652,"title":{},"content":{"379":{"position":[[1323,20],[1855,20],[2355,20]]}},"keywords":{}}],["identifier"",{"_index":2407,"title":{},"content":{"231":{"position":[[2143,16]]},"232":{"position":[[1983,16]]}},"keywords":{}}],["idl",{"_index":3025,"title":{},"content":{"330":{"position":[[969,4],[1147,4],[1513,5]]}},"keywords":{}}],["ie",{"_index":2138,"title":{},"content":{"178":{"position":[[292,3]]},"192":{"position":[[357,3]]},"332":{"position":[[1220,4]]},"404":{"position":[[1231,4]]},"566":{"position":[[696,2]]}},"keywords":{}}],["ifram",{"_index":1800,"title":{"602":{"position":[[0,7]]}},"content":{"96":{"position":[[498,7]]},"196":{"position":[[179,6],[213,6],[351,7]]},"602":{"position":[[27,6],[122,6],[217,6]]}},"keywords":{}}],["ignor",{"_index":345,"title":{"66":{"position":[[0,6]]},"400":{"position":[[0,7]]}},"content":{"13":{"position":[[1,6],[75,6],[430,7]]},"14":{"position":[[1,6],[72,6],[320,7]]},"36":{"position":[[7072,7]]},"61":{"position":[[1541,6],[1582,6]]},"63":{"position":[[70,7]]},"66":{"position":[[5,6],[192,6],[248,6]]},"91":{"position":[[227,7],[435,7]]},"229":{"position":[[7072,7]]},"279":{"position":[[5673,7]]},"294":{"position":[[17,7],[171,7]]},"301":{"position":[[412,6]]},"302":{"position":[[2400,8]]},"347":{"position":[[363,8],[396,6]]},"348":{"position":[[724,7],[1393,8],[1424,6],[1717,7],[1762,7],[1803,7]]},"349":{"position":[[436,6]]},"400":{"position":[[35,7]]},"402":{"position":[[4556,7]]},"466":{"position":[[3,7],[79,7]]},"468":{"position":[[247,7]]},"470":{"position":[[273,7]]},"472":{"position":[[20,7],[127,8],[192,8],[265,7],[289,6],[372,7],[449,7]]},"473":{"position":[[735,7],[853,7],[913,7],[974,7],[1125,7],[1251,8]]},"490":{"position":[[9,7]]},"638":{"position":[[251,7]]},"654":{"position":[[885,7]]},"743":{"position":[[244,6]]}},"keywords":{}}],["ignore_item",{"_index":357,"title":{"14":{"position":[[0,12]]}},"content":{"14":{"position":[[386,11]]}},"keywords":{}}],["ignore_overlap",{"_index":2680,"title":{"294":{"position":[[0,15]]}},"content":{},"keywords":{}}],["ignore_paramet",{"_index":344,"title":{"13":{"position":[[0,17]]}},"content":{"13":{"position":[[495,16]]}},"keywords":{}}],["ignored)"",{"_index":4179,"title":{},"content":{"473":{"position":[[1048,14]]}},"keywords":{}}],["ignorepacketprotocol",{"_index":2055,"title":{},"content":{"139":{"position":[[1124,20]]}},"keywords":{}}],["illustr",{"_index":1230,"title":{},"content":{"55":{"position":[[2713,10]]}},"keywords":{}}],["imag",{"_index":513,"title":{"257":{"position":[[0,7]]}},"content":{"23":{"position":[[166,6]]},"42":{"position":[[877,6],[922,5],[2355,5]]},"139":{"position":[[1150,5],[1172,5]]},"257":{"position":[[22,5],[198,5],[393,6],[427,5],[452,5],[497,6]]},"302":{"position":[[2105,5],[2157,5]]},"309":{"position":[[985,6]]},"330":{"position":[[1631,6]]},"380":{"position":[[1803,5],[1998,5]]},"404":{"position":[[483,6],[653,6]]},"506":{"position":[[454,5]]},"522":{"position":[[1354,5]]},"533":{"position":[[241,6]]},"540":{"position":[[3883,5]]},"610":{"position":[[766,5],[772,5]]},"629":{"position":[[18,5],[297,5],[389,5],[395,5]]},"649":{"position":[[13,5],[89,5],[226,5],[305,5]]},"650":{"position":[[13,5],[115,6],[183,5],[506,5],[533,5],[667,5],[746,5],[771,5],[796,5],[826,5],[853,5],[1026,5],[1082,5],[1259,6],[1274,5],[1357,5],[1372,5],[1506,5],[1585,5]]}},"keywords":{}}],["imageview",{"_index":4731,"title":{"629":{"position":[[0,12]]}},"content":{"629":{"position":[[372,11]]}},"keywords":{}}],["imagin",{"_index":2807,"title":{},"content":{"306":{"position":[[835,11]]},"307":{"position":[[1345,11]]}},"keywords":{}}],["immedi",{"_index":1457,"title":{},"content":{"77":{"position":[[215,11]]},"523":{"position":[[243,11]]},"556":{"position":[[655,11]]},"582":{"position":[[350,11]]}},"keywords":{}}],["immediately.disconnect",{"_index":1968,"title":{},"content":{"115":{"position":[[345,22]]}},"keywords":{}}],["imped",{"_index":3757,"title":{},"content":{"389":{"position":[[1143,6]]}},"keywords":{}}],["implement",{"_index":742,"title":{"89":{"position":[[9,16]]},"455":{"position":[[9,14]]}},"content":{"36":{"position":[[4053,11],[4197,9],[4302,9]]},"57":{"position":[[19,10],[202,11]]},"62":{"position":[[293,15]]},"67":{"position":[[842,14]]},"69":{"position":[[153,15],[414,15]]},"70":{"position":[[259,15],[310,15],[388,14]]},"71":{"position":[[122,15],[189,15],[275,14]]},"72":{"position":[[128,15],[198,15],[290,14]]},"73":{"position":[[615,15],[947,15],[1360,14],[1612,14]]},"74":{"position":[[796,15],[875,15]]},"75":{"position":[[657,15],[737,15]]},"76":{"position":[[654,15],[728,15]]},"77":{"position":[[145,9],[938,15],[1038,15]]},"78":{"position":[[199,15],[277,11],[340,15],[425,11],[527,11]]},"86":{"position":[[16,10]]},"89":{"position":[[30,11]]},"93":{"position":[[270,15]]},"100":{"position":[[775,12]]},"111":{"position":[[185,11]]},"112":{"position":[[122,11]]},"113":{"position":[[126,11]]},"114":{"position":[[87,11]]},"115":{"position":[[52,12],[897,16],[999,14],[1608,10],[1767,10],[1942,10]]},"120":{"position":[[12,9],[110,11]]},"128":{"position":[[166,10],[319,10]]},"139":{"position":[[593,10]]},"203":{"position":[[204,15]]},"222":{"position":[[163,11]]},"223":{"position":[[159,11]]},"229":{"position":[[4053,11],[4197,9],[4302,9]]},"263":{"position":[[52,11]]},"279":{"position":[[3002,11],[3146,9],[3251,9],[10565,10]]},"288":{"position":[[218,10]]},"303":{"position":[[894,9]]},"304":{"position":[[724,14]]},"305":{"position":[[771,14]]},"320":{"position":[[171,9]]},"349":{"position":[[728,11]]},"387":{"position":[[717,11]]},"402":{"position":[[423,11],[5047,14]]},"424":{"position":[[1591,14]]},"498":{"position":[[535,9]]},"499":{"position":[[484,9]]},"533":{"position":[[136,11]]},"542":{"position":[[193,11]]},"560":{"position":[[256,9]]},"657":{"position":[[21,11]]},"658":{"position":[[94,12]]},"758":{"position":[[106,11]]},"759":{"position":[[114,11]]},"768":{"position":[[99,11]]},"769":{"position":[[111,11]]},"770":{"position":[[98,11]]}},"keywords":{}}],["implementation.connect",{"_index":1967,"title":{},"content":{"115":{"position":[[229,25]]}},"keywords":{}}],["implementation.read_interfac",{"_index":1970,"title":{},"content":{"115":{"position":[[512,29]]}},"keywords":{}}],["impli",{"_index":814,"title":{},"content":{"36":{"position":[[8069,7]]},"229":{"position":[[8069,7]]},"279":{"position":[[6729,7]]},"390":{"position":[[772,8]]}},"keywords":{}}],["implic",{"_index":3755,"title":{},"content":{"389":{"position":[[958,12]]}},"keywords":{}}],["import",{"_index":563,"title":{},"content":{"26":{"position":[[143,6]]},"27":{"position":[[362,6]]},"36":{"position":[[5868,6]]},"67":{"position":[[1320,6]]},"83":{"position":[[1316,9]]},"100":{"position":[[395,9]]},"115":{"position":[[2171,9]]},"202":{"position":[[35,6],[82,6],[108,6]]},"229":{"position":[[5868,6]]},"279":{"position":[[4348,6]]},"310":{"position":[[563,10]]},"320":{"position":[[233,6]]},"330":{"position":[[895,10]]},"331":{"position":[[764,6]]},"342":{"position":[[47,9]]},"380":{"position":[[42,6]]},"396":{"position":[[218,6]]},"402":{"position":[[1935,9]]},"422":{"position":[[1182,9]]},"533":{"position":[[607,6]]},"534":{"position":[[344,6]]},"540":{"position":[[2742,6],[2751,6],[3685,8]]},"551":{"position":[[123,9]]},"552":{"position":[[1830,6],[1854,8],[1869,6],[1911,8]]},"554":{"position":[[142,10]]},"559":{"position":[[187,9],[298,9]]},"561":{"position":[[612,6]]},"565":{"position":[[405,9]]},"669":{"position":[[921,6]]},"778":{"position":[[195,6],[353,8]]},"795":{"position":[[1593,6],[1627,6]]}},"keywords":{}}],["import_map_item",{"_index":2185,"title":{"202":{"position":[[0,16]]}},"content":{},"keywords":{}}],["imposs",{"_index":3737,"title":{},"content":{"387":{"position":[[1197,10]]},"544":{"position":[[199,10]]},"547":{"position":[[258,11]]}},"keywords":{}}],["in_docker.conf",{"_index":3315,"title":{},"content":{"362":{"position":[[153,14],[1266,16]]}},"keywords":{}}],["inaccur",{"_index":4029,"title":{},"content":{"424":{"position":[[1097,11]]}},"keywords":{}}],["inadequate_secur",{"_index":601,"title":{"29":{"position":[[7,19]]}},"content":{},"keywords":{}}],["inadvert",{"_index":2037,"title":{},"content":{"136":{"position":[[234,13]]}},"keywords":{}}],["inc",{"_index":3775,"title":{"423":{"position":[[8,4]]}},"content":{"390":{"position":[[296,4],[545,4]]},"393":{"position":[[70,3],[129,3]]},"424":{"position":[[272,4]]},"426":{"position":[[284,4]]},"427":{"position":[[117,4]]},"429":{"position":[[9,4]]},"432":{"position":[[1037,4],[1277,4],[1352,4],[1487,5]]},"434":{"position":[[180,4],[460,4]]},"436":{"position":[[40,4]]},"437":{"position":[[158,4]]}},"keywords":{}}],["inc'",{"_index":4050,"title":{"434":{"position":[[16,5]]}},"content":{"426":{"position":[[424,5]]}},"keywords":{}}],["includ",{"_index":220,"title":{},"content":{"6":{"position":[[520,9]]},"23":{"position":[[415,7]]},"42":{"position":[[133,9]]},"44":{"position":[[344,9],[778,9]]},"48":{"position":[[301,9],[3607,9]]},"53":{"position":[[915,9]]},"54":{"position":[[1313,9]]},"55":{"position":[[1169,10],[1843,9],[2213,9],[3255,10]]},"56":{"position":[[968,9],[1215,9]]},"60":{"position":[[145,8],[471,9],[718,9]]},"61":{"position":[[1014,7],[2140,9],[2387,9]]},"67":{"position":[[285,9],[876,8]]},"101":{"position":[[49,9]]},"107":{"position":[[696,7],[735,7]]},"115":{"position":[[1187,9],[1446,9]]},"126":{"position":[[518,8]]},"213":{"position":[[129,9],[306,8]]},"314":{"position":[[1835,8]]},"320":{"position":[[560,10]]},"326":{"position":[[62,9]]},"332":{"position":[[191,8]]},"333":{"position":[[783,7]]},"339":{"position":[[179,9]]},"343":{"position":[[879,7]]},"349":{"position":[[1499,9],[1795,9],[3057,8]]},"356":{"position":[[54,9]]},"359":{"position":[[374,10]]},"383":{"position":[[604,8]]},"389":{"position":[[786,8],[1307,9]]},"390":{"position":[[617,8],[783,9]]},"406":{"position":[[121,9]]},"416":{"position":[[74,9]]},"424":{"position":[[1832,9]]},"432":{"position":[[273,9]]},"434":{"position":[[244,9]]},"445":{"position":[[126,7]]},"452":{"position":[[167,9]]},"498":{"position":[[856,10],[928,10]]},"533":{"position":[[187,8]]},"546":{"position":[[174,8]]},"552":{"position":[[1091,8],[1728,9],[1811,8]]},"557":{"position":[[15,8]]},"562":{"position":[[14,7]]},"572":{"position":[[604,7]]},"750":{"position":[[29,9]]},"764":{"position":[[25,9]]},"778":{"position":[[546,9],[594,7]]},"795":{"position":[[86,9],[437,9]]}},"keywords":{}}],["include_tag_key",{"_index":3328,"title":{},"content":{"362":{"position":[[413,15],[743,15],[1065,15]]}},"keywords":{}}],["includesubdomain",{"_index":1545,"title":{},"content":{"82":{"position":[[1145,17]]}},"keywords":{}}],["incom",{"_index":1159,"title":{},"content":{"50":{"position":[[1025,8]]},"53":{"position":[[384,8]]},"65":{"position":[[71,8],[281,8],[348,8]]},"66":{"position":[[84,8]]},"105":{"position":[[69,8]]},"139":{"position":[[437,8]]},"272":{"position":[[49,8]]},"281":{"position":[[165,8]]},"358":{"position":[[5753,8]]},"380":{"position":[[2119,8]]}},"keywords":{}}],["incompat",{"_index":4024,"title":{},"content":{"424":{"position":[[620,12],[817,12]]}},"keywords":{}}],["incorpor",{"_index":2567,"title":{},"content":{"265":{"position":[[319,12]]}},"keywords":{}}],["incorrect",{"_index":4561,"title":{},"content":{"568":{"position":[[566,9]]}},"keywords":{}}],["increas",{"_index":2971,"title":{},"content":{"321":{"position":[[368,10]]},"369":{"position":[[2415,8],[3672,10]]},"462":{"position":[[504,8]]}},"keywords":{}}],["increasingli",{"_index":3046,"title":{},"content":{"332":{"position":[[427,12]]}},"keywords":{}}],["increment",{"_index":1394,"title":{},"content":{"67":{"position":[[3467,11],[3872,12]]},"523":{"position":[[576,13]]},"540":{"position":[[4876,10]]}},"keywords":{}}],["incur",{"_index":2590,"title":{},"content":{"272":{"position":[[507,6]]}},"keywords":{}}],["indefinit",{"_index":1966,"title":{},"content":{"115":{"position":[[183,13],[466,13],[811,13]]},"402":{"position":[[4469,12],[4702,12]]}},"keywords":{}}],["indent",{"_index":293,"title":{},"content":{"8":{"position":[[427,11]]},"9":{"position":[[985,11]]},"540":{"position":[[384,8],[466,11],[1270,11]]}},"keywords":{}}],["independ",{"_index":1061,"title":{},"content":{"47":{"position":[[131,11]]},"192":{"position":[[224,11]]},"349":{"position":[[1139,11]]},"368":{"position":[[297,11]]},"383":{"position":[[54,11],[209,11],[346,11]]},"420":{"position":[[149,13]]},"531":{"position":[[164,13],[509,13]]}},"keywords":{}}],["index",{"_index":1094,"title":{},"content":{"48":{"position":[[1705,6],[1747,5],[1777,5],[1930,5],[1974,5],[2380,5],[2410,5],[2592,5],[2636,5],[4908,5],[4938,5],[5091,5],[5135,5]]},"498":{"position":[[835,6],[871,5],[911,6],[943,5]]},"506":{"position":[[429,5]]},"581":{"position":[[206,5],[239,5],[429,6],[657,5],[663,5]]},"591":{"position":[[206,5],[239,5],[429,6],[538,5],[544,5]]},"642":{"position":[[386,5]]},"654":{"position":[[804,5]]},"759":{"position":[[650,5],[872,6],[993,6]]},"769":{"position":[[327,6],[654,5],[873,6],[991,6]]}},"keywords":{}}],["indic",{"_index":173,"title":{},"content":{"5":{"position":[[825,9]]},"33":{"position":[[148,9],[278,9]]},"35":{"position":[[242,8],[422,8],[1236,9],[1767,9]]},"36":{"position":[[3153,9],[10479,9],[10730,9]]},"37":{"position":[[215,8],[1029,9],[1560,9]]},"50":{"position":[[506,9]]},"51":{"position":[[355,9]]},"55":{"position":[[1258,9]]},"65":{"position":[[514,8]]},"67":{"position":[[2411,10]]},"73":{"position":[[1647,8]]},"127":{"position":[[16,9]]},"226":{"position":[[295,9]]},"228":{"position":[[270,8],[451,8],[1265,9],[1796,9]]},"229":{"position":[[3153,9]]},"230":{"position":[[234,8],[1048,9],[1579,9]]},"231":{"position":[[493,8],[621,8],[1409,9],[1940,9]]},"232":{"position":[[457,8],[1245,9],[1776,9]]},"233":{"position":[[287,8],[626,8],[812,9]]},"234":{"position":[[409,8],[595,9]]},"245":{"position":[[17,9]]},"246":{"position":[[17,9]]},"276":{"position":[[324,9]]},"278":{"position":[[269,8],[449,8],[880,9]]},"279":{"position":[[8025,8]]},"280":{"position":[[241,8],[672,9]]},"281":{"position":[[439,8],[572,8],[974,9]]},"282":{"position":[[241,8],[643,9]]},"283":{"position":[[286,8],[619,8],[805,9]]},"284":{"position":[[411,8],[597,9]]},"333":{"position":[[538,10]]},"349":{"position":[[6584,10],[6797,10]]},"350":{"position":[[1357,10]]},"369":{"position":[[2193,10]]},"378":{"position":[[706,9]]},"380":{"position":[[1246,9]]},"389":{"position":[[1565,10]]},"402":{"position":[[4405,9],[4637,9],[4781,9],[5293,9],[5395,10]]},"422":{"position":[[1466,8]]},"473":{"position":[[1021,8],[1066,8]]},"497":{"position":[[382,9]]},"568":{"position":[[144,9]]},"578":{"position":[[1,9],[187,8]]},"637":{"position":[[671,8]]},"650":{"position":[[100,8]]},"692":{"position":[[20,10]]},"722":{"position":[[1424,10]]},"723":{"position":[[1191,10]]},"724":{"position":[[857,10]]},"725":{"position":[[738,10]]},"729":{"position":[[710,10]]},"741":{"position":[[1294,10],[1444,10]]}},"keywords":{}}],["individu",{"_index":621,"title":{},"content":{"31":{"position":[[402,10]]},"43":{"position":[[66,10]]},"252":{"position":[[258,10]]},"294":{"position":[[125,10]]},"296":{"position":[[259,10]]},"349":{"position":[[1005,10],[5012,10],[5047,10],[5125,10],[5160,10],[5238,10],[5272,10],[5387,13],[5553,13]]},"353":{"position":[[191,10],[227,10]]},"358":{"position":[[2616,13]]},"369":{"position":[[1030,10],[2521,10]]},"382":{"position":[[709,10]]},"402":{"position":[[2267,10]]},"415":{"position":[[186,10]]},"424":{"position":[[499,12],[1733,12]]},"442":{"position":[[48,10]]},"443":{"position":[[35,10]]},"459":{"position":[[47,10]]},"470":{"position":[[221,10]]},"476":{"position":[[88,10]]},"482":{"position":[[630,10]]},"484":{"position":[[296,10],[351,10]]},"513":{"position":[[244,10]]},"517":{"position":[[380,10]]},"522":{"position":[[578,10]]},"526":{"position":[[298,10]]},"546":{"position":[[720,11],[1158,10],[1440,10]]},"673":{"position":[[430,10]]},"795":{"position":[[369,10]]}},"keywords":{}}],["industri",{"_index":4112,"title":{},"content":{"434":{"position":[[476,8]]}},"keywords":{}}],["inf",{"_index":1701,"title":{},"content":{"86":{"position":[[208,4]]}},"keywords":{}}],["infinit",{"_index":3736,"title":{},"content":{"387":{"position":[[1135,8]]},"560":{"position":[[326,8],[713,8],[925,8]]},"722":{"position":[[208,8]]}},"keywords":{}}],["influxdb",{"_index":1838,"title":{},"content":{"103":{"position":[[364,9]]}},"keywords":{}}],["info",{"_index":3075,"title":{},"content":{"333":{"position":[[1188,5],[1261,5]]},"356":{"position":[[446,4]]},"404":{"position":[[1191,5]]},"440":{"position":[[402,6]]},"595":{"position":[[344,4]]},"597":{"position":[[304,4]]}},"keywords":{}}],["inform",{"_index":88,"title":{"428":{"position":[[18,12]]},"429":{"position":[[15,12]]},"430":{"position":[[16,12]]},"432":{"position":[[23,11]]},"561":{"position":[[17,11]]},"674":{"position":[[10,11]]}},"content":{"3":{"position":[[71,11],[317,11]]},"20":{"position":[[1476,11]]},"33":{"position":[[658,12],[917,12]]},"36":{"position":[[775,11]]},"50":{"position":[[832,11]]},"78":{"position":[[169,12]]},"91":{"position":[[867,11]]},"92":{"position":[[658,11]]},"101":{"position":[[149,12]]},"102":{"position":[[138,12],[161,11]]},"107":{"position":[[209,12]]},"108":{"position":[[202,12]]},"109":{"position":[[1736,11]]},"110":{"position":[[2118,11],[2329,11]]},"117":{"position":[[28,11]]},"139":{"position":[[298,11]]},"141":{"position":[[151,11],[414,11]]},"183":{"position":[[141,11]]},"188":{"position":[[111,11],[374,11]]},"221":{"position":[[336,12]]},"229":{"position":[[775,11]]},"240":{"position":[[164,11]]},"242":{"position":[[192,11]]},"279":{"position":[[770,11],[8088,11],[8174,12]]},"287":{"position":[[173,11]]},"291":{"position":[[192,11]]},"298":{"position":[[82,11]]},"301":{"position":[[732,11]]},"302":{"position":[[1960,12]]},"306":{"position":[[120,11]]},"320":{"position":[[509,11]]},"338":{"position":[[335,11]]},"342":{"position":[[330,11],[423,11]]},"350":{"position":[[588,11]]},"356":{"position":[[408,11]]},"358":{"position":[[1094,11],[6562,11],[6717,11]]},"361":{"position":[[123,11]]},"393":{"position":[[1051,12],[1462,12]]},"402":{"position":[[63,11]]},"404":{"position":[[992,12]]},"424":{"position":[[8,11],[135,11],[217,11]]},"425":{"position":[[17,6],[33,11],[191,11]]},"426":{"position":[[22,11],[79,11],[185,11],[382,13],[664,11],[1113,11]]},"427":{"position":[[32,12],[154,12],[217,12],[454,11]]},"428":{"position":[[41,11],[156,11],[205,12]]},"429":{"position":[[55,11],[582,12],[639,11]]},"430":{"position":[[11,11],[159,12],[172,11],[403,11],[616,11]]},"431":{"position":[[142,12],[229,12]]},"432":{"position":[[6,11],[260,12],[318,11],[380,11],[504,11],[817,11],[970,11],[1069,12]]},"434":{"position":[[38,11],[439,12],[529,11],[748,12],[822,11]]},"435":{"position":[[112,11],[242,11]]},"437":{"position":[[117,11]]},"447":{"position":[[619,11]]},"449":{"position":[[51,11]]},"487":{"position":[[290,12]]},"576":{"position":[[348,11]]},"657":{"position":[[252,11]]},"673":{"position":[[1289,12]]},"676":{"position":[[75,11]]},"747":{"position":[[42,11]]},"756":{"position":[[9,11]]},"765":{"position":[[9,11]]},"770":{"position":[[200,11]]},"794":{"position":[[91,11]]}},"keywords":{}}],["information"",{"_index":4046,"title":{},"content":{"425":{"position":[[92,18]]}},"keywords":{}}],["infrastructur",{"_index":2540,"title":{},"content":{"261":{"position":[[445,14]]}},"keywords":{}}],["ingest",{"_index":3349,"title":{},"content":{"363":{"position":[[357,6]]}},"keywords":{}}],["inherit",{"_index":745,"title":{},"content":{"36":{"position":[[4164,7]]},"221":{"position":[[23,8]]},"229":{"position":[[4164,7]]},"279":{"position":[[3113,7]]},"534":{"position":[[48,10]]},"572":{"position":[[391,12]]},"795":{"position":[[748,8]]}},"keywords":{}}],["init",{"_index":927,"title":{"69":{"position":[[14,5]]}},"content":{"42":{"position":[[981,4]]},"43":{"position":[[139,4],[228,4]]},"258":{"position":[[807,4]]},"310":{"position":[[84,4]]},"376":{"position":[[419,4]]},"379":{"position":[[386,4]]},"565":{"position":[[821,4]]}},"keywords":{}}],["initi",{"_index":746,"title":{"69":{"position":[[0,10]]}},"content":{"36":{"position":[[4211,10]]},"61":{"position":[[1618,7],[1640,7],[1781,7],[1809,7]]},"69":{"position":[[100,10]]},"88":{"position":[[127,11]]},"125":{"position":[[187,9]]},"229":{"position":[[4211,10]]},"243":{"position":[[51,10]]},"244":{"position":[[49,10]]},"279":{"position":[[3160,10],[8698,7],[8765,9],[8865,7]]},"355":{"position":[[57,10]]},"402":{"position":[[847,10]]},"424":{"position":[[839,7]]},"491":{"position":[[1,9]]},"534":{"position":[[168,10]]},"551":{"position":[[806,12]]},"626":{"position":[[1461,7]]},"627":{"position":[[1514,7]]},"628":{"position":[[1486,7]]},"641":{"position":[[178,14]]},"642":{"position":[[367,10]]},"654":{"position":[[785,10]]},"744":{"position":[[260,7]]},"752":{"position":[[277,10]]},"761":{"position":[[229,10]]},"795":{"position":[[1395,10]]}},"keywords":{}}],["initialize(allow_empty_data",{"_index":1412,"title":{},"content":{"69":{"position":[[259,27]]}},"keywords":{}}],["initialize(multipli",{"_index":769,"title":{},"content":{"36":{"position":[[5597,22]]},"229":{"position":[[5597,22]]},"279":{"position":[[4077,22]]}},"keywords":{}}],["inject",{"_index":253,"title":{},"content":{"7":{"position":[[424,6]]},"554":{"position":[[704,6]]},"561":{"position":[[154,6]]},"711":{"position":[[1,7]]}},"keywords":{}}],["inject_tlm",{"_index":5299,"title":{"711":{"position":[[0,11]]}},"content":{},"keywords":{}}],["inject_tlm("<target_name>"",{"_index":5300,"title":{},"content":{"711":{"position":[[99,43]]}},"keywords":{}}],["inject_tlm("inst"",{"_index":5304,"title":{},"content":{"711":{"position":[[572,28],[682,28]]}},"keywords":{}}],["inlin",{"_index":2164,"title":{},"content":{"195":{"position":[[174,6]]},"196":{"position":[[86,6],[343,7]]}},"keywords":{}}],["inline_url",{"_index":2162,"title":{"195":{"position":[[0,11]]}},"content":{"307":{"position":[[1832,10]]}},"keywords":{}}],["innov",{"_index":3811,"title":{},"content":{"392":{"position":[[625,10]]}},"keywords":{}}],["input",{"_index":4134,"title":{"559":{"position":[[5,5]]},"560":{"position":[[34,5]]},"663":{"position":[[16,6]]}},"content":{"452":{"position":[[110,6]]},"559":{"position":[[65,5],[99,5],[279,6],[376,5],[1061,5],[1203,5],[1327,5]]},"560":{"position":[[119,6],[228,5]]},"564":{"position":[[198,5]]},"574":{"position":[[172,5]]},"603":{"position":[[95,6]]},"636":{"position":[[42,5],[165,5]]},"664":{"position":[[22,5],[50,5]]},"665":{"position":[[22,5],[50,5]]}},"keywords":{}}],["insecur",{"_index":393,"title":{},"content":{"20":{"position":[[47,8]]},"83":{"position":[[1246,8],[2473,8]]}},"keywords":{}}],["insert",{"_index":206,"title":{},"content":{"6":{"position":[[236,6]]},"404":{"position":[[538,6],[1731,6]]},"637":{"position":[[514,8]]},"795":{"position":[[1149,6],[1233,6],[1279,6],[1324,6],[1696,6],[1773,6],[1827,6],[1880,6]]}},"keywords":{}}],["insid",{"_index":222,"title":{},"content":{"6":{"position":[[581,6]]},"7":{"position":[[31,6]]},"271":{"position":[[1334,6]]},"302":{"position":[[87,6]]},"303":{"position":[[99,6]]},"304":{"position":[[95,6]]},"305":{"position":[[105,6]]},"306":{"position":[[177,6]]},"307":{"position":[[88,6]]},"358":{"position":[[725,6],[833,6]]},"432":{"position":[[79,6]]},"533":{"position":[[148,6]]},"540":{"position":[[884,6],[4806,6]]},"565":{"position":[[490,6]]},"595":{"position":[[47,6]]},"597":{"position":[[49,6]]},"599":{"position":[[20,6]]},"699":{"position":[[332,6]]}},"keywords":{}}],["insofar",{"_index":4033,"title":{},"content":{"424":{"position":[[1412,7]]}},"keywords":{}}],["inspect",{"_index":556,"title":{},"content":{"25":{"position":[[9,7]]},"43":{"position":[[663,9]]},"83":{"position":[[1401,7]]},"216":{"position":[[582,10]]},"217":{"position":[[2703,10]]},"251":{"position":[[808,7],[1576,7]]},"321":{"position":[[1601,7]]},"380":{"position":[[515,7]]},"387":{"position":[[887,7]]},"517":{"position":[[369,7]]},"554":{"position":[[171,7],[441,7]]},"569":{"position":[[738,7]]}},"keywords":{}}],["inst",{"_index":243,"title":{},"content":{"7":{"position":[[148,4],[824,4],[1185,4]]},"8":{"position":[[162,4],[319,4]]},"9":{"position":[[176,4],[342,4],[525,4],[674,4]]},"128":{"position":[[643,4]]},"139":{"position":[[1145,4],[1167,4]]},"150":{"position":[[271,4],[276,4]]},"213":{"position":[[511,4],[876,4]]},"226":{"position":[[536,4]]},"235":{"position":[[408,4]]},"236":{"position":[[492,4]]},"252":{"position":[[459,4]]},"276":{"position":[[564,4]]},"285":{"position":[[400,4]]},"286":{"position":[[457,4]]},"296":{"position":[[474,4]]},"298":{"position":[[429,4],[472,4],[515,4]]},"367":{"position":[[475,5],[883,4]]},"369":{"position":[[372,5],[568,4],[601,4],[626,4]]},"383":{"position":[[1420,4],[1590,4]]},"468":{"position":[[121,5]]},"472":{"position":[[437,4]]},"473":{"position":[[433,4]]},"562":{"position":[[232,4]]},"563":{"position":[[593,8],[930,8]]},"591":{"position":[[789,4],[896,4]]},"609":{"position":[[574,4],[639,4]]},"610":{"position":[[761,4]]},"611":{"position":[[846,4],[897,4]]},"612":{"position":[[827,4]]},"613":{"position":[[569,4],[618,4]]},"614":{"position":[[430,4],[474,4]]},"615":{"position":[[580,4],[660,4]]},"617":{"position":[[465,4],[526,4]]},"618":{"position":[[838,4],[905,4]]},"619":{"position":[[216,4],[720,4]]},"620":{"position":[[454,4],[506,4]]},"621":{"position":[[455,4],[510,4]]},"622":{"position":[[451,4],[506,4]]},"623":{"position":[[423,4],[476,4]]},"624":{"position":[[428,4],[484,4]]},"625":{"position":[[802,4],[864,4]]},"626":{"position":[[555,4],[593,4]]},"627":{"position":[[589,4]]},"628":{"position":[[578,4]]},"629":{"position":[[384,4]]},"630":{"position":[[574,4],[616,4]]},"631":{"position":[[713,4],[767,4]]},"632":{"position":[[540,4],[595,4],[632,4],[752,4],[807,4],[844,4]]},"633":{"position":[[341,4],[407,4]]},"634":{"position":[[304,4]]},"635":{"position":[[653,4],[697,4]]},"648":{"position":[[618,4],[672,4]]},"649":{"position":[[429,4]]},"650":{"position":[[932,4],[1148,4]]},"652":{"position":[[775,4],[838,4],[953,4]]},"654":{"position":[[140,4],[179,4],[222,4]]},"685":{"position":[[1195,7]]},"687":{"position":[[843,7],[949,4]]},"689":{"position":[[885,7],[991,4]]},"691":{"position":[[1075,7]]},"694":{"position":[[677,4],[810,4]]},"695":{"position":[[417,4]]},"709":{"position":[[442,4]]},"714":{"position":[[1384,7],[1498,7],[1618,7],[1740,7]]},"716":{"position":[[382,8]]},"717":{"position":[[479,8],[982,8]]},"725":{"position":[[886,4]]},"729":{"position":[[864,4]]},"746":{"position":[[119,8]]},"784":{"position":[[127,6],[141,5]]},"786":{"position":[[572,4],[844,4]]},"787":{"position":[[1034,4],[1317,4]]}},"keywords":{}}],["inst','inst2",{"_index":4356,"title":{},"content":{"540":{"position":[[2030,16],[2945,16]]}},"keywords":{}}],["inst/procedures/checks.rb",{"_index":2990,"title":{},"content":{"324":{"position":[[200,25]]}},"keywords":{}}],["inst/procedures/proc.rb",{"_index":4987,"title":{},"content":{"669":{"position":[[338,23]]},"670":{"position":[[259,24]]},"671":{"position":[[235,24]]}},"keywords":{}}],["inst2",{"_index":3392,"title":{},"content":{"367":{"position":[[487,6],[894,5]]},"369":{"position":[[378,6]]},"473":{"position":[[462,5]]},"746":{"position":[[128,8]]}},"keywords":{}}],["inst2_int",{"_index":5511,"title":{},"content":{"751":{"position":[[155,12]]}},"keywords":{}}],["inst_cmds_v2.txt",{"_index":365,"title":{},"content":{"15":{"position":[[529,16]]},"16":{"position":[[531,16]]}},"keywords":{}}],["inst_int",{"_index":2016,"title":{},"content":{"128":{"position":[[626,8]]},"751":{"position":[[142,12]]}},"keywords":{}}],["inst_tlm_v2.txt",{"_index":366,"title":{},"content":{"15":{"position":[[556,15]]},"16":{"position":[[558,15]]}},"keywords":{}}],["instal",{"_index":571,"title":{"327":{"position":[[0,12]]},"328":{"position":[[0,10]]},"329":{"position":[[0,10]]}},"content":{"27":{"position":[[33,9]]},"42":{"position":[[439,10]]},"44":{"position":[[1285,7]]},"125":{"position":[[197,9]]},"126":{"position":[[147,13],[386,13]]},"200":{"position":[[185,10]]},"208":{"position":[[1,7],[18,7],[127,7],[188,7]]},"211":{"position":[[96,7],[165,7]]},"257":{"position":[[249,7]]},"302":{"position":[[652,13]]},"303":{"position":[[756,13]]},"307":{"position":[[1173,13]]},"309":{"position":[[10,12],[55,10],[1372,7],[1427,8],[1566,7],[1665,7]]},"310":{"position":[[1,7],[21,7],[311,7],[339,7]]},"313":{"position":[[22,12],[70,7]]},"317":{"position":[[67,14]]},"323":{"position":[[67,12],[302,9],[426,10]]},"326":{"position":[[1045,8],[1080,10],[1263,8]]},"328":{"position":[[58,9]]},"330":{"position":[[63,10],[91,7],[251,7],[302,7]]},"331":{"position":[[196,12],[224,7]]},"332":{"position":[[594,12]]},"333":{"position":[[614,9]]},"346":{"position":[[76,12]]},"356":{"position":[[173,10],[203,7],[283,9],[423,9]]},"358":{"position":[[112,7],[183,9],[299,12],[684,12],[7053,7]]},"359":{"position":[[562,7],[2380,9]]},"362":{"position":[[1326,7],[1409,7]]},"367":{"position":[[1065,10]]},"368":{"position":[[659,7]]},"369":{"position":[[178,9],[2068,9],[3819,7]]},"372":{"position":[[1,7],[42,12]]},"376":{"position":[[301,7],[584,7]]},"378":{"position":[[1546,7]]},"380":{"position":[[1689,10]]},"383":{"position":[[792,12],[1106,13]]},"385":{"position":[[56,7]]},"391":{"position":[[247,8]]},"393":{"position":[[498,10],[562,12]]},"404":{"position":[[2026,7],[2252,7]]},"406":{"position":[[131,10]]},"407":{"position":[[30,7],[293,10],[617,9]]},"408":{"position":[[39,9]]},"409":{"position":[[45,10]]},"410":{"position":[[39,10]]},"411":{"position":[[51,10]]},"412":{"position":[[62,9],[100,7]]},"413":{"position":[[35,10]]},"439":{"position":[[204,13]]},"440":{"position":[[275,10],[554,9]]},"509":{"position":[[123,13]]},"512":{"position":[[71,13]]},"528":{"position":[[346,9],[723,9]]},"671":{"position":[[353,12]]}},"keywords":{}}],["instanc",{"_index":596,"title":{},"content":{"28":{"position":[[16,9]]},"62":{"position":[[212,9]]},"69":{"position":[[708,8]]},"178":{"position":[[382,8]]},"235":{"position":[[239,8]]},"285":{"position":[[239,8]]},"431":{"position":[[499,10]]},"432":{"position":[[1019,9]]},"564":{"position":[[224,9]]},"592":{"position":[[445,9]]}},"keywords":{}}],["instanti",{"_index":2017,"title":{},"content":{"128":{"position":[[702,13]]},"149":{"position":[[492,13]]},"509":{"position":[[95,12]]}},"keywords":{}}],["instantli",{"_index":5726,"title":{},"content":{"799":{"position":[[136,10]]}},"keywords":{}}],["instead",{"_index":508,"title":{},"content":{"23":{"position":[[39,7]]},"36":{"position":[[9117,8]]},"50":{"position":[[601,8]]},"52":{"position":[[356,8],[459,8]]},"61":{"position":[[178,8]]},"67":{"position":[[3310,8],[4642,7]]},"74":{"position":[[747,7]]},"229":{"position":[[9117,8]]},"279":{"position":[[7239,8]]},"309":{"position":[[98,7],[1585,8],[2378,7]]},"314":{"position":[[248,7]]},"358":{"position":[[1952,7]]},"540":{"position":[[1758,7]]},"566":{"position":[[613,8]]}},"keywords":{}}],["instruct",{"_index":567,"title":{"310":{"position":[[6,13]]}},"content":{"26":{"position":[[279,12]]},"257":{"position":[[57,12]]},"309":{"position":[[1358,12]]},"330":{"position":[[113,12]]},"372":{"position":[[55,13]]},"378":{"position":[[14,12]]},"431":{"position":[[823,12]]}},"keywords":{}}],["instrument",{"_index":1296,"title":{"552":{"position":[[0,12]]}},"content":{"61":{"position":[[373,13]]},"253":{"position":[[793,10]]},"349":{"position":[[4203,16],[4243,12]]},"364":{"position":[[33,12]]},"529":{"position":[[180,12]]},"549":{"position":[[478,15]]},"552":{"position":[[29,15],[346,12],[497,12],[952,13],[1126,10],[1883,13],[1942,13],[2018,15],[2054,12],[2143,15],[2227,13]]},"566":{"position":[[57,11]]},"687":{"position":[[954,12]]},"689":{"position":[[996,12]]},"793":{"position":[[10,15],[170,13],[390,15]]}},"keywords":{}}],["instrument"",{"_index":5119,"title":{},"content":{"687":{"position":[[576,17]]},"689":{"position":[[615,17]]},"707":{"position":[[579,17]]}},"keywords":{}}],["int",{"_index":624,"title":{},"content":{"31":{"position":[[568,4]]},"35":{"position":[[702,4],[767,4]]},"37":{"position":[[495,4],[560,4]]},"214":{"position":[[553,3],[1773,3]]},"215":{"position":[[399,3],[830,3]]},"218":{"position":[[755,3],[1551,3]]},"220":{"position":[[781,3],[2017,3]]},"225":{"position":[[869,4]]},"228":{"position":[[731,4],[796,4],[2053,3]]},"230":{"position":[[514,4],[579,4]]},"231":{"position":[[901,4],[966,4]]},"232":{"position":[[737,4],[802,4]]},"233":{"position":[[497,4]]},"234":{"position":[[280,4]]},"271":{"position":[[893,4]]},"278":{"position":[[734,4]]},"279":{"position":[[7399,4]]},"280":{"position":[[526,4]]},"281":{"position":[[743,4]]},"282":{"position":[[412,4]]},"283":{"position":[[490,4]]},"284":{"position":[[282,4]]},"299":{"position":[[967,3]]},"304":{"position":[[1034,3]]},"305":{"position":[[1251,3]]},"321":{"position":[[771,3]]},"358":{"position":[[2881,3],[3629,5],[4865,3],[5297,5]]},"359":{"position":[[1479,3]]}},"keywords":{}}],["int(valu",{"_index":831,"title":{},"content":{"36":{"position":[[9475,9]]},"229":{"position":[[9475,9]]},"279":{"position":[[7736,9]]}},"keywords":{}}],["integ",{"_index":626,"title":{},"content":{"31":{"position":[[621,9],[640,9]]},"36":{"position":[[10351,7]]},"48":{"position":[[254,7],[389,7],[550,7],[611,7],[676,7],[743,7],[850,7],[952,7],[1053,7],[1769,7],[2402,7],[2760,7],[3115,7],[3530,7],[4930,7]]},"65":{"position":[[767,7]]},"200":{"position":[[242,7]]},"213":{"position":[[221,9]]},"225":{"position":[[922,9],[941,9]]},"229":{"position":[[10351,7]]},"271":{"position":[[946,9],[965,9]]},"358":{"position":[[3621,7],[4003,7],[4263,7],[5289,7],[5583,8]]},"398":{"position":[[1,8]]},"402":{"position":[[4292,7]]},"565":{"position":[[750,7],[1028,7]]},"664":{"position":[[192,7]]},"802":{"position":[[170,7]]}},"keywords":{}}],["integer"",{"_index":4967,"title":{},"content":{"664":{"position":[[695,14],[916,14]]}},"keywords":{}}],["integer.nod",{"_index":461,"title":{},"content":{"20":{"position":[[1155,13]]}},"keywords":{}}],["integr",{"_index":1802,"title":{},"content":{"96":{"position":[[538,11],[594,11],[661,11]]},"387":{"position":[[1038,9]]},"390":{"position":[[418,11],[1310,11]]},"556":{"position":[[486,10]]}},"keywords":{}}],["intellectu",{"_index":3816,"title":{},"content":{"393":{"position":[[140,12]]}},"keywords":{}}],["intellig",{"_index":4239,"title":{},"content":{"506":{"position":[[128,13]]},"524":{"position":[[126,13]]}},"keywords":{}}],["intens",{"_index":2808,"title":{},"content":{"307":{"position":[[181,9]]}},"keywords":{}}],["intent",{"_index":4351,"title":{},"content":{"540":{"position":[[1775,6]]}},"keywords":{}}],["intention",{"_index":5053,"title":{},"content":{"678":{"position":[[129,13]]},"680":{"position":[[225,13]]},"682":{"position":[[152,13]]},"684":{"position":[[248,13]]}},"keywords":{}}],["interact",{"_index":65,"title":{"636":{"position":[[0,11]]}},"content":{"2":{"position":[[622,8]]},"44":{"position":[[1428,12]]},"114":{"position":[[27,11]]},"265":{"position":[[141,11]]},"343":{"position":[[713,8],[1542,8]]},"349":{"position":[[4738,11]]},"365":{"position":[[55,11]]},"402":{"position":[[654,11],[729,12]]},"414":{"position":[[29,8]]},"434":{"position":[[86,12]]},"636":{"position":[[3,11],[138,11]]},"696":{"position":[[33,8]]},"787":{"position":[[196,8]]}},"keywords":{}}],["intercept",{"_index":4117,"title":{},"content":{"434":{"position":[[712,9]]}},"keywords":{}}],["interchang",{"_index":2326,"title":{},"content":{"218":{"position":[[90,11]]}},"keywords":{}}],["interest",{"_index":92,"title":{},"content":{"3":{"position":[[123,12]]},"36":{"position":[[10880,10]]},"424":{"position":[[710,9],[1503,9]]}},"keywords":{}}],["interesting"",{"_index":5031,"title":{},"content":{"673":{"position":[[1397,18],[1804,18]]}},"keywords":{}}],["interfac",{"_index":317,"title":{"99":{"position":[[0,10]]},"103":{"position":[[9,11]]},"104":{"position":[[13,10]]},"105":{"position":[[13,10]]},"106":{"position":[[4,10]]},"107":{"position":[[12,10]]},"108":{"position":[[12,10]]},"109":{"position":[[5,10]]},"110":{"position":[[15,10]]},"111":{"position":[[7,10]]},"112":{"position":[[5,9]]},"113":{"position":[[10,9]]},"114":{"position":[[5,9]]},"115":{"position":[[7,11]]},"120":{"position":[[0,10]]},"128":{"position":[[0,10]]},"129":{"position":[[0,9]]},"312":{"position":[[30,9]]},"358":{"position":[[0,11]]},"378":{"position":[[35,9]]},"409":{"position":[[0,11]]},"512":{"position":[[0,10]]},"749":{"position":[[0,11]]}},"content":{"11":{"position":[[52,10],[175,10]]},"53":{"position":[[65,9],[493,10]]},"54":{"position":[[132,10],[216,9],[330,9],[402,9]]},"55":{"position":[[100,10],[260,9],[707,9]]},"56":{"position":[[259,9]]},"57":{"position":[[174,9],[296,9],[387,9],[1370,9]]},"61":{"position":[[313,10],[1687,9]]},"63":{"position":[[126,11]]},"65":{"position":[[418,9]]},"67":{"position":[[94,10],[133,9],[176,10],[336,10],[450,9],[1087,10],[1361,10],[1626,9],[2269,10],[2669,9],[2795,9],[3434,9],[3513,10],[3531,9],[4139,9],[4267,10],[4755,9],[4945,10]]},"69":{"position":[[296,10],[663,9],[692,9],[819,9]]},"70":{"position":[[68,9]]},"71":{"position":[[81,9]]},"72":{"position":[[84,9]]},"73":{"position":[[88,10],[522,9],[706,10],[771,9],[1136,9],[1684,9]]},"74":{"position":[[111,10],[548,9]]},"75":{"position":[[110,10],[354,10],[564,9]]},"76":{"position":[[102,10],[353,10],[561,9]]},"77":{"position":[[79,10],[177,10],[387,10],[580,9],[738,9]]},"93":{"position":[[18,9],[143,9]]},"95":{"position":[[50,9]]},"96":{"position":[[90,12],[304,9],[354,10]]},"100":{"position":[[1,10],[80,10],[120,9],[163,9],[296,9],[523,10],[579,9],[651,9],[737,10],[794,10],[806,9],[855,10],[959,10]]},"101":{"position":[[38,10]]},"102":{"position":[[90,9],[183,10]]},"103":{"position":[[31,11],[123,9],[158,9],[193,9],[268,9],[329,11]]},"104":{"position":[[18,9],[100,9],[209,10],[384,9],[508,9],[849,9],[980,9],[1090,9],[1200,9],[1335,9],[1444,9],[1560,9],[1706,9],[1856,9],[1985,9],[2115,9],[2268,9],[2395,9],[2530,9]]},"105":{"position":[[18,9],[162,9],[709,9],[768,9],[928,9],[1038,9],[1127,9],[1216,9],[1330,9],[1418,9],[1513,9],[1670,9],[1799,9],[1907,9],[2016,9],[2148,9],[2254,9],[2368,9]]},"106":{"position":[[9,9],[446,9],[509,9],[891,9],[1016,9]]},"107":{"position":[[17,9],[98,9],[810,9],[907,9]]},"108":{"position":[[17,9],[91,9],[316,9],[375,9],[535,9],[641,9]]},"109":{"position":[[10,9],[106,9],[304,9],[672,9],[731,9],[1312,9],[1479,11],[1492,9],[1861,9]]},"110":{"position":[[20,9],[126,9],[314,9],[742,9],[854,9],[1006,9],[1065,9],[1646,9],[1837,11],[1850,9],[2253,9],[2302,9]]},"111":{"position":[[12,9],[157,9],[901,9],[960,9],[1169,9],[1285,9],[1392,9],[1488,9],[1610,9],[1706,9],[1820,9]]},"112":{"position":[[10,9],[94,9],[257,9],[316,9],[898,9]]},"113":{"position":[[15,9],[98,9],[308,9],[367,9],[503,9]]},"114":{"position":[[10,9],[59,9],[211,9]]},"115":{"position":[[1,10],[577,10],[650,9],[768,10],[826,10],[1123,9],[1382,9],[1590,10],[1749,10],[2064,11],[2137,10],[2234,9],[2373,10],[2400,9]]},"117":{"position":[[259,10],[405,10],[673,9]]},"120":{"position":[[1,10],[187,10]]},"121":{"position":[[153,11],[197,11]]},"128":{"position":[[44,10],[119,10],[185,9],[267,10],[334,9],[412,10],[452,10],[556,10],[720,10],[882,10]]},"129":{"position":[[38,9]]},"130":{"position":[[26,9],[106,9],[137,9],[263,9]]},"131":{"position":[[41,9],[148,9],[179,9],[328,9],[357,9],[524,9]]},"132":{"position":[[41,9],[151,9],[182,9],[334,9],[363,9],[533,9]]},"133":{"position":[[53,9]]},"134":{"position":[[41,9]]},"135":{"position":[[101,9]]},"136":{"position":[[38,10],[133,10]]},"138":{"position":[[36,9],[221,10],[858,9]]},"139":{"position":[[37,9],[171,9],[716,9],[871,9],[985,9]]},"140":{"position":[[23,9],[60,9],[112,10],[298,11],[445,10],[667,9]]},"141":{"position":[[47,9],[85,9],[690,9],[776,11]]},"147":{"position":[[256,10]]},"149":{"position":[[81,10],[197,11],[251,10],[510,10],[672,10]]},"215":{"position":[[58,9]]},"216":{"position":[[58,9]]},"217":{"position":[[69,9],[418,10],[998,10],[2437,9]]},"220":{"position":[[57,9]]},"221":{"position":[[404,9]]},"258":{"position":[[930,10],[1358,9]]},"263":{"position":[[155,11],[327,11]]},"272":{"position":[[188,9]]},"275":{"position":[[258,9],[723,9]]},"302":{"position":[[1456,9],[2604,9]]},"312":{"position":[[43,9]]},"314":{"position":[[145,10],[276,9],[1153,9],[1760,9]]},"342":{"position":[[240,9],[467,9],[583,10],[651,10]]},"343":{"position":[[1063,9],[1118,10],[1229,10]]},"344":{"position":[[161,9],[276,9]]},"345":{"position":[[112,11],[150,9]]},"346":{"position":[[216,11],[237,10],[343,11],[403,10]]},"348":{"position":[[95,9]]},"349":{"position":[[33,9]]},"355":{"position":[[35,9]]},"356":{"position":[[454,11]]},"358":{"position":[[652,11],[6769,9],[7549,9],[8036,10],[8094,10],[8120,9],[8260,10]]},"359":{"position":[[751,9],[2718,9]]},"363":{"position":[[220,9]]},"378":{"position":[[1017,9],[1646,10]]},"383":{"position":[[242,10],[280,9]]},"387":{"position":[[104,9],[216,10],[250,9]]},"402":{"position":[[174,9]]},"407":{"position":[[126,11]]},"409":{"position":[[5,10],[34,10],[114,9]]},"415":{"position":[[66,10]]},"422":{"position":[[1333,10]]},"462":{"position":[[72,9]]},"473":{"position":[[10,9]]},"509":{"position":[[72,10],[137,10]]},"512":{"position":[[5,10],[37,10],[115,10]]},"513":{"position":[[59,10]]},"517":{"position":[[211,9]]},"566":{"position":[[460,10]]},"686":{"position":[[22,10],[154,9]]},"710":{"position":[[133,10],[190,10]]},"711":{"position":[[64,10]]},"712":{"position":[[154,9]]},"715":{"position":[[71,9]]},"748":{"position":[[13,10],[150,9],[259,11],[306,11]]},"749":{"position":[[51,11]]},"750":{"position":[[12,9],[52,9],[234,10],[270,9]]},"751":{"position":[[23,10]]},"752":{"position":[[46,10],[226,10],[237,9],[292,10],[330,9]]},"753":{"position":[[51,10],[193,10]]},"754":{"position":[[42,11],[240,9],[323,10]]},"755":{"position":[[41,11],[238,9],[320,10]]},"756":{"position":[[31,11],[115,9],[906,9]]},"757":{"position":[[20,9],[93,10],[306,9],[333,9],[411,9],[507,9],[604,10]]},"758":{"position":[[31,10],[84,10],[130,9],[358,9]]},"759":{"position":[[31,9],[374,9]]}},"keywords":{}}],["interface'",{"_index":1381,"title":{},"content":{"67":{"position":[[2079,11],[3101,11],[4404,11]]},"100":{"position":[[994,11],[1113,11]]}},"keywords":{}}],["interface.read_protocol",{"_index":1436,"title":{},"content":{"73":{"position":[[721,26]]}},"keywords":{}}],["interface[0",{"_index":5545,"title":{},"content":{"756":{"position":[[1075,15]]}},"keywords":{}}],["interface[1",{"_index":5546,"title":{},"content":{"756":{"position":[[1109,15]]}},"keywords":{}}],["interface[2]}"",{"_index":5547,"title":{},"content":{"756":{"position":[[1148,21]]}},"keywords":{}}],["interface[3",{"_index":5549,"title":{},"content":{"756":{"position":[[1204,15]]}},"keywords":{}}],["interface[4",{"_index":5550,"title":{},"content":{"756":{"position":[[1240,15]]}},"keywords":{}}],["interface[5",{"_index":5551,"title":{},"content":{"756":{"position":[[1275,15]]}},"keywords":{}}],["interface[6]}"",{"_index":5552,"title":{},"content":{"756":{"position":[[1307,21]]}},"keywords":{}}],["interface[7",{"_index":5554,"title":{},"content":{"756":{"position":[[1353,15]]}},"keywords":{}}],["interface[8]}"",{"_index":5555,"title":{},"content":{"756":{"position":[[1380,21]]}},"keywords":{}}],["interface_address",{"_index":3612,"title":{},"content":{"378":{"position":[[955,17]]}},"keywords":{}}],["interface_cmd",{"_index":5565,"title":{"758":{"position":[[0,14]]}},"content":{},"keywords":{}}],["interface_cmd("<interfac",{"_index":5566,"title":{},"content":{"758":{"position":[[184,33]]}},"keywords":{}}],["interface_cmd("inst"",{"_index":5568,"title":{},"content":{"758":{"position":[[493,31]]}},"keywords":{}}],["interface_info",{"_index":5529,"title":{},"content":{"756":{"position":[[315,14],[860,14],[919,17]]}},"keywords":{}}],["interface_info.each",{"_index":5530,"title":{},"content":{"756":{"position":[[357,19]]}},"keywords":{}}],["interface_microservice.pi",{"_index":2078,"title":{},"content":{"145":{"position":[[318,25]]}},"keywords":{}}],["interface_microservice.rb",{"_index":2076,"title":{},"content":{"145":{"position":[[237,25]]}},"keywords":{}}],["interface_nam",{"_index":1842,"title":{},"content":{"104":{"position":[[859,14],[990,14],[1100,14],[1210,14],[1345,14],[1454,14],[1570,14],[1716,14],[1866,14],[1995,14],[2125,14],[2278,14],[2405,14],[2540,14]]},"105":{"position":[[938,14],[1048,14],[1137,14],[1226,14],[1340,14],[1428,14],[1523,14],[1680,14],[1809,14],[1917,14],[2026,14],[2158,14],[2264,14],[2378,14]]},"106":{"position":[[901,14],[1026,14]]},"107":{"position":[[820,14],[917,14]]},"108":{"position":[[545,14],[651,14]]},"111":{"position":[[1179,14],[1295,14],[1402,14],[1498,14],[1620,14],[1716,14],[1830,14]]},"751":{"position":[[95,15]]},"756":{"position":[[380,16],[514,18],[939,16]]}},"keywords":{}}],["interface_protocol_cmd",{"_index":1466,"title":{"759":{"position":[[0,23]]}},"content":{"78":{"position":[[137,22]]}},"keywords":{}}],["interface_protocol_cmd("<interfac",{"_index":5570,"title":{},"content":{"759":{"position":[[191,42]]}},"keywords":{}}],["interface_protocol_cmd("inst"",{"_index":5571,"title":{},"content":{"759":{"position":[[781,40],[902,40]]}},"keywords":{}}],["interface_st",{"_index":4910,"title":{},"content":{"662":{"position":[[2697,15]]}},"keywords":{}}],["interfaces](../configuration/interfac",{"_index":3279,"title":{},"content":{"358":{"position":[[6666,41]]}},"keywords":{}}],["interfacesdelet",{"_index":4288,"title":{},"content":{"529":{"position":[[271,16]]}},"keywords":{}}],["interfaces}"",{"_index":5486,"title":{},"content":{"748":{"position":[[318,19]]}},"keywords":{}}],["intermedi",{"_index":1864,"title":{},"content":{"106":{"position":[[629,12]]}},"keywords":{}}],["intermediari",{"_index":550,"title":{},"content":{"24":{"position":[[840,12]]},"149":{"position":[[327,14]]},"364":{"position":[[78,12]]}},"keywords":{}}],["intern",{"_index":70,"title":{"62":{"position":[[23,11]]}},"content":{"2":{"position":[[687,8]]},"42":{"position":[[2081,8]]},"62":{"position":[[82,8]]},"70":{"position":[[35,8]]},"71":{"position":[[43,8]]},"72":{"position":[[46,8]]},"183":{"position":[[524,8]]},"195":{"position":[[1,8]]},"196":{"position":[[108,10]]},"216":{"position":[[454,10]]},"275":{"position":[[923,10],[1694,8]]},"343":{"position":[[778,8]]},"361":{"position":[[86,9]]},"364":{"position":[[619,8]]},"382":{"position":[[599,8]]},"393":{"position":[[1152,13]]}},"keywords":{}}],["internet",{"_index":394,"title":{},"content":{"20":{"position":[[64,9]]},"109":{"position":[[56,8]]},"110":{"position":[[66,8]]},"309":{"position":[[3611,8]]},"310":{"position":[[718,9]]},"389":{"position":[[503,9],[1961,8]]},"429":{"position":[[660,9]]}},"keywords":{}}],["interoper",{"_index":1833,"title":{},"content":{"102":{"position":[[231,16]]},"373":{"position":[[41,16]]}},"keywords":{}}],["interpol",{"_index":4332,"title":{},"content":{"540":{"position":[[664,14]]},"565":{"position":[[433,13],[511,13]]},"699":{"position":[[488,15]]}},"keywords":{}}],["interpret",{"_index":1154,"title":{},"content":{"50":{"position":[[672,11]]},"278":{"position":[[911,11]]},"280":{"position":[[703,11]]},"281":{"position":[[1005,11]]},"282":{"position":[[674,11]]},"358":{"position":[[5559,11],[7935,11]]},"557":{"position":[[339,11]]}},"keywords":{}}],["interv",{"_index":2034,"title":{},"content":{"135":{"position":[[163,8]]},"153":{"position":[[45,9]]},"156":{"position":[[52,9]]},"160":{"position":[[47,9]]},"163":{"position":[[54,9]]}},"keywords":{}}],["intervalopen",{"_index":4198,"title":{},"content":{"489":{"position":[[32,13]]}},"keywords":{}}],["intervent",{"_index":4320,"title":{},"content":{"535":{"position":[[303,13]]}},"keywords":{}}],["intim",{"_index":2144,"title":{},"content":{"183":{"position":[[498,8]]}},"keywords":{}}],["intranet",{"_index":1813,"title":{},"content":{"97":{"position":[[132,8]]}},"keywords":{}}],["introduct",{"_index":0,"title":{"0":{"position":[[0,12]]},"117":{"position":[[0,13]]},"406":{"position":[[0,13]]},"418":{"position":[[0,13]]},"439":{"position":[[0,13]]},"445":{"position":[[0,13]]},"449":{"position":[[0,13]]},"457":{"position":[[0,13]]},"459":{"position":[[0,13]]},"464":{"position":[[0,13]]},"470":{"position":[[0,13]]},"476":{"position":[[0,13]]},"487":{"position":[[0,13]]},"494":{"position":[[0,13]]},"501":{"position":[[0,13]]},"509":{"position":[[0,13]]},"519":{"position":[[0,14]]},"526":{"position":[[0,13]]},"538":{"position":[[0,13]]}},"content":{},"keywords":{}}],["introspect",{"_index":1422,"title":{},"content":{"69":{"position":[[786,10]]}},"keywords":{}}],["intuit",{"_index":3347,"title":{},"content":{"363":{"position":[[203,9]]},"439":{"position":[[114,9]]}},"keywords":{}}],["invalid",{"_index":399,"title":{},"content":{"20":{"position":[[115,7]]},"559":{"position":[[368,7]]},"680":{"position":[[244,7]]},"684":{"position":[[267,7]]}},"keywords":{}}],["investig",{"_index":1598,"title":{},"content":{"83":{"position":[[537,11]]},"430":{"position":[[529,15]]}},"keywords":{}}],["involv",{"_index":2842,"title":{},"content":{"309":{"position":[[847,7]]},"332":{"position":[[632,7]]},"369":{"position":[[304,8]]},"679":{"position":[[165,9]]},"680":{"position":[[191,9]]},"683":{"position":[[188,9]]},"684":{"position":[[214,9]]}},"keywords":{}}],["io",{"_index":5000,"title":{},"content":{"670":{"position":[[462,2],[632,2],[990,2]]}},"keywords":{}}],["iot",{"_index":1880,"title":{},"content":{"109":{"position":[[75,5]]},"110":{"position":[[85,5]]}},"keywords":{}}],["ip",{"_index":1180,"title":{},"content":{"52":{"position":[[17,2],[80,2]]},"105":{"position":[[856,2]]},"106":{"position":[[140,2]]},"108":{"position":[[463,2]]},"109":{"position":[[496,2]]},"110":{"position":[[489,2]]},"126":{"position":[[251,2]]},"140":{"position":[[540,2]]},"358":{"position":[[7746,2]]},"378":{"position":[[777,2],[1084,2]]},"379":{"position":[[942,3],[1119,2]]},"380":{"position":[[329,2],[1052,2],[1971,2]]},"389":{"position":[[2187,2]]}},"keywords":{}}],["is"",{"_index":3778,"title":{},"content":{"390":{"position":[[721,9]]}},"keywords":{}}],["isn't",{"_index":2592,"title":{},"content":{"273":{"position":[[111,5]]},"369":{"position":[[1966,5]]},"572":{"position":[[278,5]]}},"keywords":{}}],["isol",{"_index":2509,"title":{},"content":{"258":{"position":[[244,8]]}},"keywords":{}}],["issu",{"_index":131,"title":{},"content":{"3":{"position":[[689,5]]},"36":{"position":[[1198,6]]},"98":{"position":[[174,6]]},"229":{"position":[[1198,6]]},"279":{"position":[[1193,6]]},"309":{"position":[[766,6]]},"332":{"position":[[420,6]]},"333":{"position":[[811,5]]},"336":{"position":[[55,5]]},"358":{"position":[[1838,6]]},"359":{"position":[[2877,6]]},"369":{"position":[[4020,5]]},"386":{"position":[[684,5]]},"470":{"position":[[301,7]]},"569":{"position":[[391,7],[427,5]]},"787":{"position":[[825,7]]}},"keywords":{}}],["istanbul/nyc",{"_index":2201,"title":{},"content":{"209":{"position":[[315,12]]}},"keywords":{}}],["it'",{"_index":127,"title":{},"content":{"3":{"position":[[659,4]]},"7":{"position":[[597,4]]},"24":{"position":[[750,4]]},"225":{"position":[[1283,4]]},"307":{"position":[[67,4]]},"319":{"position":[[552,4]]},"358":{"position":[[853,4]]},"368":{"position":[[519,4]]},"406":{"position":[[11,4]]}},"keywords":{}}],["itar",{"_index":3825,"title":{},"content":{"393":{"position":[[1119,4],[1199,4]]}},"keywords":{}}],["item",{"_index":358,"title":{"272":{"position":[[3,6]]},"273":{"position":[[15,6]]},"274":{"position":[[8,6]]},"278":{"position":[[0,5]]},"279":{"position":[[0,4]]},"461":{"position":[[10,6]]},"466":{"position":[[10,6]]},"472":{"position":[[10,6]]},"473":{"position":[[7,6]]},"478":{"position":[[10,6]]},"479":{"position":[[10,6]]},"480":{"position":[[10,5]]},"483":{"position":[[9,6]]},"484":{"position":[[8,6]]},"485":{"position":[[11,6]]},"489":{"position":[[10,6]]},"490":{"position":[[10,6]]},"495":{"position":[[10,6]]},"502":{"position":[[10,6]]},"511":{"position":[[10,6]]},"521":{"position":[[10,6]]},"522":{"position":[[11,6]]},"523":{"position":[[10,6]]},"528":{"position":[[10,6]]},"529":{"position":[[12,6]]}},"content":{"14":{"position":[[28,4],[94,4],[178,4],[286,5],[307,4]]},"36":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8534,4],[8615,5]]},"48":{"position":[[5246,4]]},"61":{"position":[[666,5],[801,5]]},"65":{"position":[[144,4],[154,4]]},"69":{"position":[[652,6]]},"92":{"position":[[688,4],[877,4],[1099,4]]},"202":{"position":[[23,4]]},"214":{"position":[[651,4],[744,4],[1850,4],[2003,4]]},"215":{"position":[[497,4],[907,4]]},"217":{"position":[[173,6],[2250,6]]},"218":{"position":[[853,4],[946,4],[1628,4],[1781,4]]},"220":{"position":[[904,4],[1028,4],[2119,4],[2303,4]]},"229":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8534,4],[8615,5]]},"233":{"position":[[392,4],[429,4],[439,4],[478,4]]},"234":{"position":[[175,4],[212,4],[222,4],[261,4]]},"247":{"position":[[45,4],[143,4],[198,4],[208,4],[218,4],[249,4]]},"249":{"position":[[151,5]]},"251":{"position":[[1145,4],[1922,4]]},"271":{"position":[[841,5],[1347,5],[1381,6],[1523,4],[1694,4]]},"272":{"position":[[36,5],[107,5]]},"273":{"position":[[35,4],[172,5],[184,5],[352,4]]},"274":{"position":[[35,4],[61,4],[122,5],[176,6],[198,5],[229,5],[304,4],[348,4],[522,5],[553,4],[678,4]]},"275":{"position":[[48,5],[468,4],[796,5],[1280,4],[1433,4]]},"278":{"position":[[21,4],[115,5],[244,5],[357,5],[404,5],[715,4],[823,4],[897,4],[1063,4],[1108,4]]},"279":{"position":[[38,4],[1084,4],[1117,5],[1180,5],[1245,4],[1497,4],[1588,4],[1642,4],[1686,4],[1730,4],[1791,5],[1958,4],[2161,4],[2980,4],[4647,4],[5335,4],[6458,5],[7936,4],[8037,4],[8152,5],[8618,4],[8757,4],[8829,5],[10459,4]]},"280":{"position":[[21,4],[115,5],[196,5],[507,4],[615,4],[689,4]]},"281":{"position":[[21,4],[285,5],[414,5],[527,5],[724,4],[817,4],[917,4],[991,4]]},"282":{"position":[[21,4],[115,5],[196,5],[393,4],[486,4],[586,4],[660,4]]},"283":{"position":[[21,4],[132,5],[261,5],[374,5],[385,4],[422,4],[432,4],[471,4]]},"284":{"position":[[21,4],[132,5],[177,4],[214,4],[224,4],[263,4]]},"285":{"position":[[31,4],[329,4],[462,5]]},"286":{"position":[[45,4],[91,4],[166,5],[203,5],[328,4],[349,5],[403,4]]},"294":{"position":[[36,5],[65,5],[136,4]]},"295":{"position":[[151,5]]},"296":{"position":[[270,5],[536,5]]},"297":{"position":[[35,5],[74,5],[439,5],[551,4],[641,4]]},"298":{"position":[[30,4],[309,4],[341,4]]},"299":{"position":[[114,4],[199,4],[300,4],[463,4],[581,4],[649,4],[714,4],[798,4],[871,4],[946,4],[1041,4],[1131,4],[1394,4]]},"302":{"position":[[2431,5]]},"304":{"position":[[526,5],[884,5]]},"305":{"position":[[562,5],[877,4],[963,4],[1035,5]]},"320":{"position":[[385,5]]},"321":{"position":[[565,5],[658,6],[707,5],[783,4],[1168,4],[1197,4],[1210,4],[1240,4],[1253,4],[1282,4]]},"345":{"position":[[573,4]]},"350":{"position":[[460,5],[615,5],[648,4],[785,5],[818,4],[967,5],[1305,5]]},"353":{"position":[[585,4],[831,5],[847,4]]},"355":{"position":[[772,4]]},"358":{"position":[[5162,5],[5369,5],[5546,4],[5827,5]]},"367":{"position":[[954,5],[988,6],[1121,5]]},"369":{"position":[[2135,5]]},"398":{"position":[[333,5]]},"402":{"position":[[2278,5],[2341,5],[2381,5],[2709,6],[2716,6],[2809,4],[3139,4],[4488,5],[5423,6],[5580,4]]},"421":{"position":[[270,4]]},"452":{"position":[[366,4],[481,4],[633,5]]},"459":{"position":[[58,4]]},"470":{"position":[[81,5],[111,5],[232,5]]},"472":{"position":[[231,5],[324,6],[419,4],[457,5],[538,4],[668,6],[680,4]]},"473":{"position":[[55,5],[119,5],[290,7],[298,5],[516,5],[588,4],[771,4],[800,5],[940,5],[964,5],[1042,5],[1133,6],[1222,5],[1263,4],[1284,4],[1349,4],[1371,4],[1477,6],[1529,5]]},"476":{"position":[[47,5],[99,5]]},"478":{"position":[[61,5]]},"479":{"position":[[119,4],[169,4]]},"481":{"position":[[81,6]]},"482":{"position":[[41,4],[71,5],[231,4],[387,4],[490,4],[641,4]]},"483":{"position":[[19,5],[29,5],[61,6],[68,5],[128,5],[138,5]]},"484":{"position":[[1,5],[61,5],[71,5],[182,5],[246,5],[307,4],[362,5]]},"485":{"position":[[58,5]]},"487":{"position":[[136,6],[143,5],[247,5]]},"490":{"position":[[38,5],[66,5],[140,5]]},"491":{"position":[[125,5],[176,5]]},"492":{"position":[[19,4],[133,5]]},"504":{"position":[[196,5]]},"522":{"position":[[1057,5]]},"523":{"position":[[156,5],[176,4],[205,4],[219,4],[420,4],[528,5],[557,5]]},"542":{"position":[[967,4]]},"546":{"position":[[245,4]]},"579":{"position":[[141,5]]},"608":{"position":[[181,5]]},"609":{"position":[[158,4],[172,4],[335,4],[362,5],[392,5]]},"610":{"position":[[158,4],[172,4],[335,4]]},"611":{"position":[[333,5],[491,4],[505,4],[587,4]]},"612":{"position":[[133,4],[147,4]]},"613":{"position":[[27,4],[160,4],[174,4],[234,4]]},"614":{"position":[[27,4],[154,4],[168,4]]},"615":{"position":[[27,5],[162,4],[176,4],[317,5]]},"616":{"position":[[27,4],[174,4],[188,4]]},"617":{"position":[[27,4],[177,4],[191,4]]},"618":{"position":[[27,4],[173,4],[187,4],[272,4],[411,4]]},"619":{"position":[[441,4],[455,4]]},"620":{"position":[[170,4],[184,4]]},"621":{"position":[[168,4],[182,4]]},"622":{"position":[[52,4],[154,4],[168,4],[363,4],[387,4]]},"623":{"position":[[13,4],[143,4],[157,4]]},"624":{"position":[[13,4],[146,4],[160,4]]},"625":{"position":[[13,4],[142,4],[156,4],[241,4],[380,4]]},"626":{"position":[[38,4],[140,4],[154,4],[588,4],[623,4],[729,5],[752,4],[867,4],[881,4]]},"627":{"position":[[72,4],[174,4],[188,4],[782,5],[805,4],[920,4],[934,4]]},"628":{"position":[[27,4],[158,4],[172,4],[754,5],[777,4],[892,4],[906,4]]},"629":{"position":[[139,4],[153,4],[275,5]]},"630":{"position":[[164,4],[178,4],[238,4]]},"631":{"position":[[44,4],[152,4],[166,4],[251,4],[390,4]]},"632":{"position":[[560,5],[772,5]]},"633":{"position":[[186,4],[200,4]]},"634":{"position":[[138,4],[152,4]]},"635":{"position":[[33,4],[224,5],[382,4],[396,4]]},"639":{"position":[[35,5]]},"648":{"position":[[37,4],[176,4],[190,4]]},"650":{"position":[[368,4],[382,4]]},"652":{"position":[[138,4],[240,4],[254,4]]},"659":{"position":[[256,5],[399,4],[580,4],[1204,4],[1288,4]]},"687":{"position":[[969,8]]},"689":{"position":[[1011,8]]},"696":{"position":[[57,6]]},"697":{"position":[[40,4],[207,4],[528,5],[592,5],[598,4],[630,5],[693,5],[747,4]]},"698":{"position":[[30,4],[470,5],[534,5],[540,4],[572,5],[625,5]]},"701":{"position":[[41,5],[318,5],[382,5],[388,4],[420,5]]},"703":{"position":[[63,5]]},"704":{"position":[[78,6],[85,5],[240,5]]},"708":{"position":[[12,4],[320,4],[342,5],[373,4]]},"710":{"position":[[18,4],[544,4],[549,4]]},"711":{"position":[[270,4],[288,4],[313,5],[325,4],[468,4]]},"712":{"position":[[411,4],[416,4]]},"713":{"position":[[247,4],[252,4]]},"720":{"position":[[35,5]]},"722":{"position":[[99,4],[894,5],[958,5],[964,4],[996,5],[1059,5]]},"723":{"position":[[84,4],[626,5],[690,5],[696,4],[728,5],[781,5]]},"726":{"position":[[112,4],[509,5],[573,5],[579,4],[611,5],[674,5]]},"727":{"position":[[84,4],[525,5],[589,5],[595,4],[627,5],[680,5]]},"731":{"position":[[103,5],[386,5],[450,5],[456,4],[488,5]]},"732":{"position":[[55,5],[241,5],[305,5],[311,4],[343,5]]},"733":{"position":[[56,5],[243,5],[307,5],[313,4],[345,5]]},"734":{"position":[[49,5]]},"735":{"position":[[50,5]]},"740":{"position":[[238,4],[301,4],[306,4],[338,4]]},"741":{"position":[[608,5],[672,5],[678,4],[710,5],[805,4],[935,4],[1068,4],[1172,4],[1284,4],[1434,4],[1672,4],[1872,5]]},"742":{"position":[[88,5]]},"743":{"position":[[208,5],[235,5]]},"744":{"position":[[1326,4]]},"771":{"position":[[14,5]]},"772":{"position":[[29,5]]},"773":{"position":[[23,5]]},"775":{"position":[[17,5]]},"801":{"position":[[137,5]]}},"keywords":{}}],["item"",{"_index":2246,"title":{},"content":{"214":{"position":[[573,10],[862,10],[957,10],[1035,10],[1789,10],[2103,10],[2173,10],[2246,10]]},"215":{"position":[[419,10],[846,10]]},"218":{"position":[[775,10],[1064,10],[1159,10],[1237,10],[1567,10],[1881,10],[1951,10],[2024,10]]},"220":{"position":[[801,10],[1165,10],[1290,10],[2033,10],[2422,10],[2522,10]]},"251":{"position":[[1099,11],[1875,11]]},"271":{"position":[[1493,13],[1827,13]]},"482":{"position":[[678,10]]}},"keywords":{}}],["item").format",{"_index":2587,"title":{},"content":{"271":{"position":[[1760,21]]}},"keywords":{}}],["item'",{"_index":683,"title":{},"content":{"36":{"position":[[1150,6]]},"229":{"position":[[1150,6]]},"279":{"position":[[1145,6]]},"482":{"position":[[732,6]]},"620":{"position":[[13,6]]},"621":{"position":[[13,6]]}},"keywords":{}}],["item(",{"_index":4193,"title":{"482":{"position":[[27,8]]}},"content":{},"keywords":{}}],["item1",{"_index":827,"title":{},"content":{"36":{"position":[[9219,5],[9408,5]]},"214":{"position":[[615,5],[668,7],[1826,5],[1867,7]]},"215":{"position":[[461,5],[514,7],[883,5],[924,7]]},"218":{"position":[[817,5],[870,7],[1604,5],[1645,7]]},"220":{"position":[[868,5],[2095,5]]},"229":{"position":[[9219,5],[9408,5]]},"279":{"position":[[7518,5],[7685,5]]}},"keywords":{}}],["item2",{"_index":2248,"title":{},"content":{"214":{"position":[[709,5],[1979,5]]},"218":{"position":[[911,5],[1757,5]]},"220":{"position":[[993,5],[2279,5]]}},"keywords":{}}],["item3",{"_index":2252,"title":{},"content":{"214":{"position":[[822,5],[2076,5]]},"218":{"position":[[1024,5],[1854,5]]},"220":{"position":[[1125,5],[2395,5]]}},"keywords":{}}],["item4",{"_index":2256,"title":{},"content":{"214":{"position":[[907,5],[2143,5]]},"218":{"position":[[1109,5],[1921,5]]},"220":{"position":[[1240,5],[2492,5]]}},"keywords":{}}],["item5",{"_index":2260,"title":{},"content":{"214":{"position":[[1008,5],[2219,5]]},"218":{"position":[[1210,5],[1997,5]]}},"keywords":{}}],["item_nam",{"_index":1755,"title":{},"content":{"92":{"position":[[1060,9]]},"703":{"position":[[163,11]]},"714":{"position":[[1424,12],[1538,12],[1658,12],[1780,12]]},"742":{"position":[[53,10]]},"743":{"position":[[326,13]]}},"keywords":{}}],["item_name"",{"_index":1753,"title":{},"content":{"92":{"position":[[552,15]]}},"keywords":{}}],["item_valu",{"_index":5244,"title":{},"content":{"703":{"position":[[175,11]]}},"keywords":{}}],["items>",{"_index":5432,"title":{},"content":{"743":{"position":[[155,9]]}},"keywords":{}}],["items)reset",{"_index":4170,"title":{},"content":{"472":{"position":[[136,11]]}},"keywords":{}}],["items)sav",{"_index":4252,"title":{},"content":{"521":{"position":[[42,10]]}},"keywords":{}}],["itemschang",{"_index":4168,"title":{},"content":{"472":{"position":[[28,11]]}},"keywords":{}}],["itemsdisplay",{"_index":4200,"title":{},"content":{"490":{"position":[[17,12],[100,12],[123,12]]}},"keywords":{}}],["iter",{"_index":218,"title":{},"content":{"6":{"position":[[494,8],[640,9]]},"540":{"position":[[4534,7]]},"547":{"position":[[554,9]]}},"keywords":{}}],["itself",{"_index":120,"title":{},"content":{"3":{"position":[[554,7]]},"24":{"position":[[438,6],[742,7]]},"36":{"position":[[4822,6],[8819,6]]},"48":{"position":[[3617,7]]},"55":{"position":[[1197,7]]},"62":{"position":[[563,6]]},"78":{"position":[[66,7]]},"229":{"position":[[4822,6],[8819,6]]},"264":{"position":[[14,6]]},"301":{"position":[[1567,7]]},"340":{"position":[[461,7]]},"544":{"position":[[281,7]]},"592":{"position":[[282,6]]},"594":{"position":[[229,6]]},"595":{"position":[[98,6]]},"596":{"position":[[78,6]]},"597":{"position":[[102,6]]},"598":{"position":[[79,6]]},"599":{"position":[[87,6]]},"638":{"position":[[54,6]]},"639":{"position":[[73,6]]},"640":{"position":[[56,6]]},"642":{"position":[[66,6]]},"644":{"position":[[56,6]]}},"keywords":{}}],["i}"",{"_index":4232,"title":{},"content":{"499":{"position":[[827,11]]}},"keywords":{}}],["jan",{"_index":1109,"title":{},"content":{"48":{"position":[[2820,4],[3254,4]]},"82":{"position":[[908,3],[1030,3]]}},"keywords":{}}],["januari",{"_index":2704,"title":{},"content":{"299":{"position":[[762,8]]},"402":{"position":[[4357,7]]}},"keywords":{}}],["javascript",{"_index":1714,"title":{},"content":{"89":{"position":[[87,11]]},"192":{"position":[[139,10]]},"195":{"position":[[45,10]]},"218":{"position":[[40,10]]},"263":{"position":[[116,10],[211,10]]},"264":{"position":[[142,10]]},"307":{"position":[[206,10],[1636,10]]},"402":{"position":[[551,11],[688,10],[759,11],[1815,10],[4906,11]]},"637":{"position":[[81,10],[972,10],[1666,10]]}},"keywords":{}}],["job",{"_index":2665,"title":{},"content":{"281":{"position":[[201,3]]},"364":{"position":[[46,5],[120,5],[1070,3]]},"455":{"position":[[1145,4],[1408,3]]},"546":{"position":[[1427,3]]},"563":{"position":[[100,3]]}},"keywords":{}}],["job_nam",{"_index":3365,"title":{},"content":{"364":{"position":[[523,9],[602,9],[758,9],[900,9],[1054,9]]}},"keywords":{}}],["jpg",{"_index":4732,"title":{},"content":{"629":{"position":[[335,4],[401,3]]}},"keywords":{}}],["jq",{"_index":1629,"title":{},"content":{"83":{"position":[[1937,2],[2910,2],[3430,2],[3665,2],[3935,3]]}},"keywords":{}}],["js/app.j",{"_index":2165,"title":{},"content":{"195":{"position":[[211,10]]},"307":{"position":[[1843,9]]}},"keywords":{}}],["json",{"_index":1059,"title":{"84":{"position":[[0,4]]},"86":{"position":[[0,4]]},"218":{"position":[[0,4]]}},"content":{"46":{"position":[[145,4]]},"48":{"position":[[814,4],[2057,4],[2316,4],[2902,4],[2971,4],[3048,4],[3397,4],[3469,4],[3717,4],[3852,4],[3888,4]]},"83":{"position":[[1698,4],[1944,4],[2657,4],[2858,4]]},"86":{"position":[[52,4]]},"88":{"position":[[297,4],[438,4]]},"89":{"position":[[12,4]]},"93":{"position":[[36,4],[564,4]]},"214":{"position":[[112,5],[142,4]]},"217":{"position":[[308,4]]},"218":{"position":[[5,4],[67,7],[75,4],[273,4],[387,4],[446,4],[1289,4],[1382,4],[1443,4]]},"243":{"position":[[158,4]]},"244":{"position":[[154,4]]},"402":{"position":[[380,4],[4940,4],[4959,4],[5462,4],[5942,4]]},"408":{"position":[[116,4]]},"409":{"position":[[91,4]]},"410":{"position":[[85,4]]},"411":{"position":[[134,4]]}},"keywords":{}}],["json/cbor",{"_index":1076,"title":{},"content":{"48":{"position":[[475,9]]}},"keywords":{}}],["jsonaccessor",{"_index":1870,"title":{},"content":{"107":{"position":[[151,13]]},"108":{"position":[[144,13]]},"217":{"position":[[248,12]]},"218":{"position":[[513,12],[1512,12]]}},"keywords":{}}],["jsoncmd",{"_index":2329,"title":{},"content":{"218":{"position":[[451,7]]}},"keywords":{}}],["jsonpath",{"_index":687,"title":{},"content":{"36":{"position":[[1411,8]]},"214":{"position":[[390,9],[1644,9]]},"218":{"position":[[427,9],[1422,9]]},"229":{"position":[[1411,8]]},"279":{"position":[[1406,8]]}},"keywords":{}}],["jsontlm",{"_index":2337,"title":{},"content":{"218":{"position":[[1448,7]]}},"keywords":{}}],["judg",{"_index":3524,"title":{},"content":{"369":{"position":[[3883,5]]}},"keywords":{}}],["june",{"_index":3558,"title":{},"content":{"371":{"position":[[121,5]]}},"keywords":{}}],["jupyt",{"_index":1798,"title":{},"content":{"96":{"position":[[445,7]]}},"keywords":{}}],["justif",{"_index":3831,"title":{},"content":{"393":{"position":[[1321,13]]},"612":{"position":[[391,13]]}},"keywords":{}}],["justifi",{"_index":4692,"title":{},"content":{"612":{"position":[[412,7]]}},"keywords":{}}],["k8",{"_index":2533,"title":{},"content":{"261":{"position":[[52,4]]}},"keywords":{}}],["kayhan",{"_index":1808,"title":{},"content":{"96":{"position":[[694,8]]}},"keywords":{}}],["kc_restart",{"_index":1541,"title":{},"content":{"82":{"position":[[990,12]]}},"keywords":{}}],["keep",{"_index":74,"title":{"543":{"position":[[5,5]]},"544":{"position":[[0,4]]}},"content":{"2":{"position":[[720,4]]},"83":{"position":[[922,4],[2423,4]]},"109":{"position":[[574,4]]},"110":{"position":[[567,4]]},"155":{"position":[[13,4],[104,4]]},"158":{"position":[[13,4],[106,4]]},"162":{"position":[[13,4],[106,4]]},"165":{"position":[[13,4],[108,4]]},"166":{"position":[[13,4],[117,4]]},"167":{"position":[[13,4],[115,4]]},"168":{"position":[[13,4],[114,4]]},"169":{"position":[[13,4],[114,4]]},"170":{"position":[[13,4],[114,4]]},"309":{"position":[[2884,4]]},"324":{"position":[[566,5]]},"347":{"position":[[451,4]]},"348":{"position":[[2100,4]]},"378":{"position":[[1678,4]]},"387":{"position":[[591,7]]},"389":{"position":[[996,4]]},"392":{"position":[[461,4]]},"551":{"position":[[257,4]]},"554":{"position":[[1070,5]]}},"keywords":{}}],["kept",{"_index":1240,"title":{},"content":{"56":{"position":[[347,4]]},"298":{"position":[[107,4]]},"302":{"position":[[1835,4]]},"391":{"position":[[357,4]]},"424":{"position":[[1006,4],[1212,4]]},"430":{"position":[[231,4]]}},"keywords":{}}],["kernel",{"_index":3536,"title":{},"content":{"369":{"position":[[4321,6]]}},"keywords":{}}],["key",{"_index":446,"title":{"26":{"position":[[31,4]]},"27":{"position":[[17,4]]},"95":{"position":[[0,3]]},"254":{"position":[[14,3]]}},"content":{"20":{"position":[[930,4],[1181,3],[1427,3]]},"24":{"position":[[1,4]]},"26":{"position":[[83,5],[119,5],[178,4],[336,4]]},"27":{"position":[[260,4],[535,4],[595,3],[815,4],[938,3],[1015,4]]},"36":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"48":{"position":[[514,3],[4321,3],[4341,3],[4669,3],[4759,5],[4840,4],[5149,3],[5186,3],[5225,3]]},"109":{"position":[[1027,3],[1067,3],[1098,4],[1162,3]]},"110":{"position":[[1361,3],[1401,3],[1432,4],[1496,3]]},"141":{"position":[[863,4],[945,3],[976,3]]},"188":{"position":[[573,4],[646,3]]},"202":{"position":[[93,3]]},"214":{"position":[[307,3],[375,3],[584,3],[664,3],[757,3],[873,3],[968,3],[1046,3],[1576,3],[1629,3],[1800,3],[1863,3],[2016,3],[2114,3],[2184,3],[2257,3]]},"215":{"position":[[189,3],[257,3],[430,3],[510,3],[627,3],[689,3],[857,3],[920,3]]},"216":{"position":[[247,5],[530,4],[675,3],[762,3],[827,3],[900,3]]},"217":{"position":[[807,3],[930,3],[1285,3],[2086,3],[2172,3],[2651,4],[2796,3],[2883,3],[2948,3],[3021,3]]},"218":{"position":[[170,3],[344,3],[412,3],[786,3],[866,3],[959,3],[1075,3],[1170,3],[1248,3],[1354,3],[1407,3],[1578,3],[1641,3],[1794,3],[1892,3],[1962,3],[2035,3]]},"220":{"position":[[255,3],[322,3],[812,3],[917,3],[1041,3],[1176,3],[1301,3],[1436,3],[1488,3],[2044,3],[2132,3],[2316,3],[2433,3],[2533,3]]},"229":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"260":{"position":[[148,3]]},"279":{"position":[[1306,4],[1340,3],[1391,4],[1478,3],[1524,3],[1964,3]]},"309":{"position":[[271,3]]},"343":{"position":[[59,3]]},"350":{"position":[[128,3]]},"367":{"position":[[96,3]]},"389":{"position":[[954,3]]},"390":{"position":[[1219,3]]},"402":{"position":[[5585,4]]},"404":{"position":[[1344,3]]},"452":{"position":[[594,3]]},"538":{"position":[[330,3]]},"540":{"position":[[39,3]]},"590":{"position":[[28,3],[81,3]]},"770":{"position":[[115,3]]},"771":{"position":[[135,3],[157,3]]},"772":{"position":[[129,3],[151,3]]},"774":{"position":[[23,5]]},"775":{"position":[[152,3],[174,3]]},"803":{"position":[[159,3],[386,5],[424,5],[499,6],[532,6]]},"804":{"position":[[162,3],[406,5],[466,6]]},"814":{"position":[[209,5]]}},"keywords":{}}],["key>"",{"_index":5623,"title":{},"content":{"771":{"position":[[70,14]]},"772":{"position":[[85,14]]},"775":{"position":[[108,14]]}},"keywords":{}}],["key/valu",{"_index":708,"title":{},"content":{"36":{"position":[[2702,9]]},"229":{"position":[[2702,9]]},"279":{"position":[[1927,9]]}},"keywords":{}}],["key/value(",{"_index":2151,"title":{},"content":{"186":{"position":[[45,12]]}},"keywords":{}}],["key_valu",{"_index":633,"title":{},"content":{"33":{"position":[[307,9],[434,10],[479,9]]},"40":{"position":[[112,9]]}},"keywords":{}}],["keyboard",{"_index":4751,"title":{},"content":{"636":{"position":[[187,8]]}},"keywords":{}}],["keycloak",{"_index":1518,"title":{},"content":{"82":{"position":[[35,8],[106,8],[296,8],[333,8],[668,8]]},"258":{"position":[[1731,8],[1846,8]]},"369":{"position":[[1317,8],[2808,8]]}},"keywords":{}}],["keycloak_local",{"_index":1533,"title":{},"content":{"82":{"position":[[838,17]]}},"keywords":{}}],["keyfil",{"_index":490,"title":{},"content":{"22":{"position":[[230,8]]},"28":{"position":[[164,8],[206,8]]}},"keywords":{}}],["keyfile_password",{"_index":1886,"title":{},"content":{"109":{"position":[[1112,16]]},"110":{"position":[[1446,16]]}},"keywords":{}}],["keyout",{"_index":418,"title":{},"content":{"20":{"position":[[420,6]]}},"keywords":{}}],["keypair",{"_index":582,"title":{},"content":{"27":{"position":[[427,7]]}},"keywords":{}}],["keyword",{"_index":138,"title":{"5":{"position":[[0,7]]},"10":{"position":[[11,8]]}},"content":{"5":{"position":[[60,7],[174,7],[278,8],[513,7],[1356,7]]},"15":{"position":[[49,7],[189,7],[263,7],[312,7]]},"16":{"position":[[51,7],[193,7],[267,7],[314,7]]},"31":{"position":[[368,8],[718,8]]},"34":{"position":[[15,8],[44,8]]},"36":{"position":[[15,8],[48,8],[1221,7],[8377,7]]},"50":{"position":[[930,7]]},"64":{"position":[[521,7]]},"100":{"position":[[130,7]]},"103":{"position":[[179,9],[238,8],[278,8]]},"109":{"position":[[1437,7]]},"110":{"position":[[1795,7]]},"125":{"position":[[287,8],[363,8]]},"126":{"position":[[61,7]]},"128":{"position":[[513,9]]},"129":{"position":[[15,8],[48,8]]},"136":{"position":[[77,7]]},"151":{"position":[[15,8],[45,8]]},"174":{"position":[[293,8]]},"179":{"position":[[15,8],[51,8]]},"183":{"position":[[208,7]]},"186":{"position":[[193,8]]},"193":{"position":[[15,8],[43,8]]},"204":{"position":[[15,8],[45,8]]},"225":{"position":[[1356,8]]},"227":{"position":[[15,8],[46,8]]},"229":{"position":[[15,8],[48,8],[1221,7],[8377,7]]},"274":{"position":[[727,8]]},"275":{"position":[[1777,8]]},"277":{"position":[[15,8],[48,8]]},"279":{"position":[[15,8],[43,8],[1216,7],[7035,7],[8542,7]]},"294":{"position":[[157,8]]},"304":{"position":[[972,7]]},"305":{"position":[[1189,7]]},"314":{"position":[[188,9],[332,8]]},"349":{"position":[[2061,9]]},"358":{"position":[[2801,7],[4803,7]]},"359":{"position":[[1399,7]]},"415":{"position":[[111,8]]},"447":{"position":[[367,8]]},"472":{"position":[[647,7]]},"540":{"position":[[363,7]]},"552":{"position":[[1224,8],[1767,7]]},"557":{"position":[[475,8],[536,8]]},"575":{"position":[[120,7],[159,8]]},"576":{"position":[[52,7],[436,8]]},"577":{"position":[[46,7],[67,7]]},"578":{"position":[[140,7],[176,7]]},"582":{"position":[[282,9]]},"612":{"position":[[982,8]]},"619":{"position":[[914,8]]},"626":{"position":[[719,8]]},"627":{"position":[[772,8]]},"628":{"position":[[744,8]]},"649":{"position":[[688,8]]},"650":{"position":[[1249,8]]},"652":{"position":[[1156,8]]},"677":{"position":[[989,7]]},"678":{"position":[[1211,7]]},"679":{"position":[[1232,7]]},"680":{"position":[[1265,7]]},"681":{"position":[[1065,7]]},"682":{"position":[[1282,7]]},"683":{"position":[[1303,7]]},"684":{"position":[[1336,7]]},"726":{"position":[[29,8]]}},"keywords":{}}],["keyword/param",{"_index":2152,"title":{},"content":{"186":{"position":[[118,14]]}},"keywords":{}}],["keyword/paramet",{"_index":4592,"title":{},"content":{"574":{"position":[[454,17]]}},"keywords":{}}],["khtml",{"_index":1614,"title":{},"content":{"83":{"position":[[1176,7]]}},"keywords":{}}],["kibana",{"_index":3348,"title":{},"content":{"363":{"position":[[213,6]]}},"keywords":{}}],["kilomet",{"_index":667,"title":{},"content":{"36":{"position":[[491,10]]},"229":{"position":[[491,10]]},"279":{"position":[[486,10]]}},"keywords":{}}],["kind",{"_index":3100,"title":{},"content":{"343":{"position":[[848,5]]},"390":{"position":[[755,5]]}},"keywords":{}}],["kiss",{"_index":4385,"title":{"543":{"position":[[0,4]]}},"content":{},"keywords":{}}],["km",{"_index":668,"title":{},"content":{"36":{"position":[[502,2]]},"229":{"position":[[502,2]]},"279":{"position":[[497,2]]}},"keywords":{}}],["know",{"_index":538,"title":{},"content":{"24":{"position":[[329,4]]},"69":{"position":[[829,6]]},"115":{"position":[[2184,4]]},"183":{"position":[[156,4]]},"342":{"position":[[495,5]]},"359":{"position":[[390,4]]},"566":{"position":[[181,4]]}},"keywords":{}}],["knowledg",{"_index":2145,"title":{},"content":{"183":{"position":[[507,9]]},"258":{"position":[[315,9]]},"307":{"position":[[191,9]]},"314":{"position":[[223,9]]},"745":{"position":[[21,9]]}},"keywords":{}}],["known",{"_index":1241,"title":{},"content":{"56":{"position":[[374,5]]},"261":{"position":[[43,5]]},"346":{"position":[[575,5],[858,5]]},"379":{"position":[[3249,5]]},"389":{"position":[[142,5]]},"402":{"position":[[523,5]]},"470":{"position":[[295,5]]},"546":{"position":[[54,5]]}},"keywords":{}}],["kubernet",{"_index":902,"title":{"261":{"position":[[0,11]]}},"content":{"42":{"position":[[151,11]]},"127":{"position":[[327,10]]},"144":{"position":[[49,10],[129,10]]},"148":{"position":[[143,10]]},"177":{"position":[[143,10]]},"182":{"position":[[50,10],[130,10]]},"191":{"position":[[143,10]]},"258":{"position":[[1908,10]]},"261":{"position":[[335,10]]},"367":{"position":[[42,10]]},"368":{"position":[[261,11]]},"369":{"position":[[271,11],[3970,10],[4184,10]]}},"keywords":{}}],["kubernetes.io",{"_index":2531,"title":{},"content":{"261":{"position":[[5,14]]}},"keywords":{}}],["label",{"_index":2190,"title":{"604":{"position":[[0,6]]},"612":{"position":[[0,9]]}},"content":{"203":{"position":[[391,5],[401,5]]},"228":{"position":[[2139,5],[2187,5]]},"230":{"position":[[1880,5],[1924,5]]},"304":{"position":[[1228,5],[1253,5]]},"305":{"position":[[1506,5],[1531,5]]},"358":{"position":[[3078,5],[3122,5],[4391,5],[5022,5],[5047,5]]},"359":{"position":[[1678,5],[1722,5]]},"580":{"position":[[192,5]]},"581":{"position":[[187,5],[391,5]]},"583":{"position":[[201,5],[251,5]]},"584":{"position":[[205,5],[279,5]]},"585":{"position":[[201,5],[257,5],[331,5]]},"586":{"position":[[203,5],[259,5],[334,5]]},"587":{"position":[[371,5],[426,5]]},"588":{"position":[[365,5],[420,5]]},"589":{"position":[[387,5],[450,5]]},"590":{"position":[[159,5]]},"591":{"position":[[187,5],[391,5]]},"594":{"position":[[370,5],[393,5]]},"595":{"position":[[243,5],[349,5],[372,5]]},"596":{"position":[[220,5],[243,5]]},"597":{"position":[[201,5],[312,5],[335,5]]},"598":{"position":[[272,5],[296,5],[320,5],[344,5],[366,5],[388,5]]},"599":{"position":[[341,5],[363,5],[385,5],[407,5],[429,5],[451,5],[473,5],[495,5],[517,5]]},"601":{"position":[[182,5],[204,5],[256,5],[278,5]]},"604":{"position":[[41,5],[194,5],[222,5]]},"605":{"position":[[107,5],[133,5]]},"606":{"position":[[160,5]]},"607":{"position":[[190,5],[234,5]]},"612":{"position":[[12,5],[424,5],[482,5],[591,5],[818,8],[937,9]]},"613":{"position":[[12,5]]},"614":{"position":[[12,5]]},"615":{"position":[[12,5],[237,5]]},"616":{"position":[[12,5]]},"617":{"position":[[12,5]]},"618":{"position":[[12,5]]},"628":{"position":[[12,5]]},"632":{"position":[[319,5],[351,5]]},"640":{"position":[[155,5],[169,5]]},"644":{"position":[[155,5],[169,5]]},"654":{"position":[[307,5],[397,5]]}},"keywords":{}}],["label'",{"_index":4631,"title":{},"content":{"591":{"position":[[855,7],[963,7]]}},"keywords":{}}],["labelprogressbar",{"_index":4695,"title":{"613":{"position":[[0,17]]}},"content":{"613":{"position":[[552,16],[601,16]]}},"keywords":{}}],["labelsparklin",{"_index":4729,"title":{"628":{"position":[[0,15]]}},"content":{"628":{"position":[[563,14],[693,15]]}},"keywords":{}}],["labelvalu",{"_index":2967,"title":{"614":{"position":[[0,11]]}},"content":{"320":{"position":[[1618,10]]},"581":{"position":[[160,10],[630,11]]},"591":{"position":[[160,10],[778,10]]},"614":{"position":[[419,10],[463,10]]},"654":{"position":[[129,10],[168,10],[211,10]]},"786":{"position":[[561,10],[833,10]]},"787":{"position":[[1023,10],[1306,10]]}},"keywords":{}}],["labelvaluedesc",{"_index":4699,"title":{"615":{"position":[[0,15]]}},"content":{"615":{"position":[[565,14],[645,14]]}},"keywords":{}}],["labelvaluelimitsbar",{"_index":4606,"title":{"616":{"position":[[0,20]]}},"content":{"580":{"position":[[337,19]]},"581":{"position":[[359,20],[841,20],[880,19]]},"591":{"position":[[359,20],[876,19]]}},"keywords":{}}],["labelvaluelimitscolumn",{"_index":4701,"title":{"617":{"position":[[0,23]]}},"content":{"617":{"position":[[442,22],[503,22]]}},"keywords":{}}],["labelvaluerangebar",{"_index":4703,"title":{"618":{"position":[[0,19]]}},"content":{"618":{"position":[[819,18],[886,18]]}},"keywords":{}}],["labview",{"_index":3102,"title":{},"content":{"343":{"position":[[954,8]]}},"keywords":{}}],["labview_interface.rb",{"_index":1984,"title":{},"content":{"115":{"position":[[2422,20]]}},"keywords":{}}],["labviewinterfac",{"_index":1985,"title":{},"content":{"115":{"position":[[2466,17],[2508,17]]}},"keywords":{}}],["languag",{"_index":314,"title":{"11":{"position":[[0,9]]},"657":{"position":[[12,10]]}},"content":{"11":{"position":[[29,8],[94,8],[138,8],[377,8]]},"83":{"position":[[851,9],[2381,9]]},"89":{"position":[[59,10]]},"93":{"position":[[58,9]]},"269":{"position":[[154,9],[272,9]]},"342":{"position":[[731,8]]},"402":{"position":[[587,9],[804,9]]},"426":{"position":[[596,9]]},"532":{"position":[[272,9]]},"539":{"position":[[102,9]]},"540":{"position":[[985,9]]},"543":{"position":[[35,9]]},"657":{"position":[[105,9],[234,8]]}},"keywords":{}}],["laptop",{"_index":3933,"title":{},"content":{"404":{"position":[[346,6]]}},"keywords":{}}],["larg",{"_index":877,"title":{},"content":{"40":{"position":[[748,5]]},"225":{"position":[[93,5]]},"271":{"position":[[117,5]]},"369":{"position":[[3504,5]]},"544":{"position":[[79,5]]},"546":{"position":[[807,5],[859,5]]},"549":{"position":[[24,5]]},"552":{"position":[[989,5],[2163,5]]},"568":{"position":[[249,5]]},"606":{"position":[[12,5]]},"634":{"position":[[12,5]]}},"keywords":{}}],["larger",{"_index":263,"title":{},"content":{"7":{"position":[[612,6]]},"31":{"position":[[437,6]]},"36":{"position":[[6527,6],[7323,6]]},"229":{"position":[[6527,6],[7323,6]]},"279":{"position":[[5066,6],[5924,6]]},"369":{"position":[[2326,6]]},"404":{"position":[[305,6]]}},"keywords":{}}],["largest",{"_index":3264,"title":{},"content":{"358":{"position":[[4122,8]]}},"keywords":{}}],["laser",{"_index":733,"title":{},"content":{"36":{"position":[[3811,5],[3924,5]]},"229":{"position":[[3811,5],[3924,5]]}},"keywords":{}}],["laser"",{"_index":732,"title":{},"content":{"36":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"229":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"279":{"position":[[2817,11],[2839,11],[2875,11],[2898,11]]}},"keywords":{}}],["last",{"_index":819,"title":{},"content":{"36":{"position":[[8291,4]]},"48":{"position":[[4067,4]]},"50":{"position":[[719,4]]},"52":{"position":[[477,4]]},"55":{"position":[[1935,4]]},"73":{"position":[[761,4],[1126,4],[1579,4]]},"225":{"position":[[438,5]]},"229":{"position":[[8291,4]]},"271":{"position":[[469,5]]},"279":{"position":[[6950,4]]},"297":{"position":[[483,4]]},"298":{"position":[[42,4]]},"299":{"position":[[558,4]]},"340":{"position":[[573,4]]},"358":{"position":[[7524,4]]},"367":{"position":[[716,4]]},"380":{"position":[[1480,4]]},"402":{"position":[[3222,4]]},"446":{"position":[[42,4]]},"455":{"position":[[1088,4]]},"473":{"position":[[1154,4]]},"563":{"position":[[821,4],[1153,4]]},"717":{"position":[[682,4],[1180,4]]},"744":{"position":[[60,4],[1301,4],[1344,4]]}},"keywords":{}}],["last_nam",{"_index":4343,"title":{},"content":{"540":{"position":[[1461,9]]}},"keywords":{}}],["lastdisplay",{"_index":4201,"title":{},"content":{"490":{"position":[[44,11]]}},"keywords":{}}],["late",{"_index":1780,"title":{"96":{"position":[[18,5]]}},"content":{},"keywords":{}}],["later",{"_index":1152,"title":{},"content":{"50":{"position":[[585,5]]},"69":{"position":[[916,5]]},"126":{"position":[[463,5]]},"323":{"position":[[688,6]]},"540":{"position":[[605,6],[1161,5]]},"543":{"position":[[285,5]]},"563":{"position":[[801,5],[1133,5]]}},"keywords":{}}],["latest",{"_index":928,"title":{},"content":{"42":{"position":[[986,6],[1067,6],[1142,6],[1205,6],[1264,6],[1324,6],[1386,6],[1446,6],[1505,6],[1564,6]]},"309":{"position":[[1460,6]]},"333":{"position":[[507,9]]},"369":{"position":[[474,7]]},"429":{"position":[[415,6]]},"562":{"position":[[206,7],[637,6]]},"611":{"position":[[851,6],[902,6]]},"614":{"position":[[435,6],[479,6]]},"804":{"position":[[269,6]]}},"keywords":{}}],["launch",{"_index":1759,"title":{},"content":{"93":{"position":[[287,6]]},"255":{"position":[[156,6]]},"324":{"position":[[166,6]]},"326":{"position":[[141,6]]},"637":{"position":[[1270,8]]}},"keywords":{}}],["law",{"_index":4078,"title":{},"content":{"430":{"position":[[456,4],[607,4]]},"432":{"position":[[1127,3],[1226,3]]}},"keywords":{}}],["lawfulli",{"_index":4020,"title":{},"content":{"424":{"position":[[439,9]]}},"keywords":{}}],["lay",{"_index":4590,"title":{},"content":{"574":{"position":[[279,5]]}},"keywords":{}}],["layer",{"_index":1398,"title":{},"content":{"67":{"position":[[3751,6],[3810,6]]},"429":{"position":[[496,5]]}},"keywords":{}}],["layout",{"_index":4599,"title":{"593":{"position":[[0,6]]}},"content":{"577":{"position":[[291,6],[384,6]]},"578":{"position":[[26,6],[45,6]]},"589":{"position":[[53,6]]},"593":{"position":[[3,6],[96,6]]},"594":{"position":[[82,7],[99,6],[188,6]]},"601":{"position":[[20,6]]},"646":{"position":[[1,6]]}},"keywords":{}}],["lead",{"_index":1199,"title":{},"content":{"53":{"position":[[551,7]]},"54":{"position":[[658,7],[949,7]]},"55":{"position":[[475,7],[1730,7]]},"56":{"position":[[855,7]]},"60":{"position":[[358,7]]},"61":{"position":[[2027,7]]},"390":{"position":[[1268,7]]},"422":{"position":[[960,4]]}},"keywords":{}}],["learn",{"_index":2753,"title":{},"content":{"301":{"position":[[1202,5]]},"434":{"position":[[374,5]]}},"keywords":{}}],["leav",{"_index":1157,"title":{},"content":{"50":{"position":[[797,5]]},"209":{"position":[[192,5]]},"522":{"position":[[962,7]]}},"keywords":{}}],["led",{"_index":4393,"title":{"619":{"position":[[0,4]]}},"content":{"544":{"position":[[161,3]]},"612":{"position":[[32,3],[306,3],[359,3],[434,3],[508,3],[601,3],[1145,3],[1168,3]]},"619":{"position":[[12,3],[212,3],[614,3],[667,3],[716,3],[874,4],[1077,3],[1100,3]]}},"keywords":{}}],["led_color",{"_index":4694,"title":{},"content":{"612":{"position":[[854,9],[883,9],[992,10]]},"619":{"position":[[181,9],[266,9],[293,9],[322,9],[767,9],[793,9],[817,9],[924,10]]}},"keywords":{}}],["left",{"_index":42,"title":{},"content":{"2":{"position":[[236,4]]},"343":{"position":[[327,4]]},"380":{"position":[[2272,4]]},"389":{"position":[[158,4]]},"413":{"position":[[123,4]]},"485":{"position":[[103,4]]},"505":{"position":[[312,5]]},"506":{"position":[[313,4]]},"555":{"position":[[31,5]]},"612":{"position":[[495,4],[647,4],[663,6],[783,5]]},"645":{"position":[[129,4]]},"646":{"position":[[168,4]]},"647":{"position":[[94,4],[172,4]]},"648":{"position":[[240,4],[318,4]]},"649":{"position":[[207,4],[286,4]]},"650":{"position":[[648,4],[727,4],[1487,4],[1566,4]]},"780":{"position":[[374,4],[443,4]]},"787":{"position":[[547,4],[616,4]]}},"keywords":{}}],["legaci",{"_index":3768,"title":{},"content":{"389":{"position":[[2147,6]]}},"keywords":{}}],["legal",{"_index":2393,"title":{},"content":{"225":{"position":[[1294,5]]},"430":{"position":[[118,5]]},"432":{"position":[[1245,5]]}},"keywords":{}}],["legend",{"_index":4728,"title":{},"content":{"627":{"position":[[49,7]]}},"keywords":{}}],["legitim",{"_index":4023,"title":{},"content":{"424":{"position":[[554,10]]}},"keywords":{}}],["len(data",{"_index":1441,"title":{},"content":{"73":{"position":[[1006,9]]}},"keywords":{}}],["length",{"_index":693,"title":{"55":{"position":[[0,6]]}},"content":{"36":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"48":{"position":[[268,6],[315,6],[1521,6],[2009,6],[3496,6],[3573,6],[3656,6],[3773,6],[4280,6],[5166,6]]},"50":{"position":[[87,7]]},"54":{"position":[[355,7]]},"55":{"position":[[5,6],[34,6],[149,6],[199,6],[300,6],[318,6],[362,6],[388,6],[418,6],[506,6],[669,6],[760,6],[839,6],[904,6],[944,6],[968,6],[1015,6],[1059,6],[1184,6],[1245,6],[1275,6],[1346,6],[1451,6],[1506,6],[1562,6],[1604,6],[1644,6],[2287,6],[2327,6],[2359,7],[2372,6],[2433,6],[2567,6],[2602,6],[2900,6],[2995,6],[3075,6],[3114,6],[3150,6],[3193,6],[3297,6],[3321,6],[3346,6],[3390,6]]},"60":{"position":[[259,6]]},"62":{"position":[[613,6],[653,6],[685,7]]},"81":{"position":[[623,7]]},"82":{"position":[[736,7]]},"83":{"position":[[948,7]]},"104":{"position":[[940,6],[1816,6]]},"105":{"position":[[998,6],[1759,6]]},"111":{"position":[[1245,6]]},"139":{"position":[[848,6]]},"213":{"position":[[371,6]]},"229":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"279":{"position":[[1635,6],[1723,6],[1740,6],[1784,6],[1817,6],[1868,6],[10688,6]]},"288":{"position":[[336,6]]},"289":{"position":[[61,6]]},"312":{"position":[[312,7]]},"358":{"position":[[5785,7]]},"540":{"position":[[160,7]]}},"keywords":{}}],["length"",{"_index":2479,"title":{},"content":{"253":{"position":[[720,12],[1598,12],[2368,12]]},"299":{"position":[[701,12]]},"379":{"position":[[1553,12],[2085,12],[2585,12]]}},"keywords":{}}],["lengthprotocol",{"_index":2054,"title":{},"content":{"139":{"position":[[918,14]]}},"keywords":{}}],["less",{"_index":93,"title":{},"content":{"3":{"position":[[140,4]]},"36":{"position":[[2997,4]]},"229":{"position":[[2997,4]]},"269":{"position":[[221,4]]},"279":{"position":[[2206,4],[8957,4],[9075,4],[9275,4],[9772,4],[10118,4]]},"289":{"position":[[37,4]]},"330":{"position":[[560,5]]},"455":{"position":[[1074,4]]},"654":{"position":[[715,4]]},"741":{"position":[[1032,4],[1249,4],[1399,4]]}},"keywords":{}}],["let",{"_index":3255,"title":{},"content":{"358":{"position":[[2630,4]]},"362":{"position":[[49,4]]},"563":{"position":[[378,4]]}},"keywords":{}}],["let'",{"_index":440,"title":{"24":{"position":[[0,5]]}},"content":{"20":{"position":[[793,5]]},"67":{"position":[[1667,5]]},"324":{"position":[[351,5],[626,5]]},"358":{"position":[[98,5]]},"359":{"position":[[1024,5]]},"404":{"position":[[383,5]]}},"keywords":{}}],["letter",{"_index":421,"title":{},"content":{"20":{"position":[[469,6]]},"225":{"position":[[740,7],[780,8]]},"271":{"position":[[767,7],[807,8]]},"378":{"position":[[221,7]]}},"keywords":{}}],["level",{"_index":255,"title":{"398":{"position":[[5,5]]}},"content":{"7":{"position":[[444,5]]},"67":{"position":[[4551,5]]},"100":{"position":[[114,5]]},"115":{"position":[[551,5],[741,5]]},"126":{"position":[[642,6]]},"127":{"position":[[125,5]]},"138":{"position":[[199,5]]},"217":{"position":[[140,5]]},"264":{"position":[[235,5]]},"309":{"position":[[321,5]]},"349":{"position":[[631,5],[773,5]]},"422":{"position":[[259,6],[819,6],[1195,5]]},"440":{"position":[[101,5]]},"534":{"position":[[801,5],[901,5]]},"545":{"position":[[70,5]]},"546":{"position":[[765,5]]},"550":{"position":[[124,5]]},"777":{"position":[[34,5],[91,5]]}},"keywords":{}}],["li",{"_index":4173,"title":{},"content":{"473":{"position":[[229,4]]}},"keywords":{}}],["liabil",{"_index":3784,"title":{},"content":{"390":{"position":[[998,10]]}},"keywords":{}}],["liabl",{"_index":3781,"title":{},"content":{"390":{"position":[[959,6]]}},"keywords":{}}],["lib",{"_index":330,"title":{},"content":{"12":{"position":[[208,3],[309,3],[394,3]]},"36":{"position":[[4137,3]]},"127":{"position":[[131,3]]},"229":{"position":[[4137,3]]},"279":{"position":[[3086,3],[10633,3]]},"288":{"position":[[280,3]]},"320":{"position":[[926,3],[1077,3]]},"383":{"position":[[986,4],[1293,3],[1550,3]]},"548":{"position":[[118,3]]}},"keywords":{}}],["libcsp",{"_index":1792,"title":{},"content":{"96":{"position":[[297,6]]}},"keywords":{}}],["librari",{"_index":1367,"title":{},"content":{"67":{"position":[[1125,7],[1399,7]]},"192":{"position":[[150,7]]},"214":{"position":[[1136,10]]},"258":{"position":[[1933,9]]},"263":{"position":[[434,7]]},"302":{"position":[[1434,7],[1523,7],[1616,7]]},"307":{"position":[[906,10]]},"342":{"position":[[782,9]]},"343":{"position":[[1523,9]]},"402":{"position":[[509,9]]},"416":{"position":[[294,10]]},"540":{"position":[[1872,7],[1959,7],[2786,7],[2874,7]]},"552":{"position":[[914,9],[1797,9]]},"571":{"position":[[464,7]]},"572":{"position":[[240,7]]}},"keywords":{}}],["library/group",{"_index":3030,"title":{},"content":{"330":{"position":[[1333,15]]}},"keywords":{}}],["licens",{"_index":2743,"title":{"388":{"position":[[0,8]]},"391":{"position":[[11,8]]},"392":{"position":[[32,8]]}},"content":{"301":{"position":[[481,7],[530,8]]},"389":{"position":[[33,7],[49,7],[163,7],[182,8],[263,7],[1346,8],[1409,7],[1502,8],[1535,7],[1620,8],[1641,7],[1775,7],[2040,7],[2139,7]]},"390":{"position":[[6,7],[210,7],[261,7],[318,8],[522,7],[1175,7],[1392,8]]},"391":{"position":[[6,7],[170,7],[342,7],[382,8],[456,8],[484,9],[498,8],[608,8]]},"393":{"position":[[370,7],[539,7],[620,7],[668,7],[718,7],[805,7],[887,8],[943,9],[961,9],[994,9],[1071,7]]}},"keywords":{}}],["license.txt",{"_index":2742,"title":{},"content":{"301":{"position":[[469,11]]}},"keywords":{}}],["lifecycl",{"_index":3873,"title":{},"content":{"402":{"position":[[1888,9]]}},"keywords":{}}],["limit",{"_index":158,"title":{"305":{"position":[[0,6]]},"347":{"position":[[0,6]]},"469":{"position":[[0,6]]},"471":{"position":[[0,6]]},"473":{"position":[[0,6]]},"474":{"position":[[0,6]]},"730":{"position":[[0,7]]}},"content":{"5":{"position":[[459,7]]},"48":{"position":[[2655,6]]},"279":{"position":[[7887,7],[7913,6],[7945,6],[8054,7],[8260,6],[8347,6],[8488,6],[8522,6],[8650,6],[8679,6],[8720,6],[8822,6],[8925,5],[9043,5],[9138,6],[9202,5],[9298,6],[9360,5],[9481,5],[9524,6],[9698,6],[9797,6],[9868,5],[9911,6],[10085,6],[10183,6],[10260,6],[10318,6],[10431,6],[10580,6]]},"285":{"position":[[446,6],[503,6]]},"296":{"position":[[520,6],[577,6]]},"297":{"position":[[28,6],[42,6],[155,6],[770,6]]},"298":{"position":[[69,6]]},"303":{"position":[[1119,6]]},"305":{"position":[[72,6],[174,6],[422,6],[513,6],[734,6],[846,6],[920,6],[978,6],[1046,6],[1086,6],[1325,6]]},"307":{"position":[[1107,12]]},"344":{"position":[[1195,6]]},"345":{"position":[[370,6],[401,6]]},"346":{"position":[[1447,6],[1478,6]]},"347":{"position":[[1,6],[72,6],[137,6],[150,6],[221,6],[288,7],[334,6],[430,6],[475,6],[517,6],[605,7],[667,6],[751,6]]},"350":{"position":[[934,6],[984,6],[1211,6],[1316,6],[1371,6]]},"369":{"position":[[482,7]]},"387":{"position":[[1102,11]]},"390":{"position":[[801,7]]},"393":{"position":[[404,6],[575,7]]},"424":{"position":[[884,7]]},"431":{"position":[[323,7]]},"432":{"position":[[645,7]]},"470":{"position":[[5,6],[92,7],[104,6],[151,6],[326,6]]},"472":{"position":[[59,6],[317,6],[555,6],[594,6],[607,6],[640,6],[714,6],[755,5],[792,6],[872,6],[897,5]]},"473":{"position":[[23,6],[109,6],[130,6],[183,6],[253,6],[555,6],[837,6],[864,6],[994,6],[1079,6],[1301,6]]},"474":{"position":[[27,6]]},"487":{"position":[[154,6]]},"517":{"position":[[133,6]]},"522":{"position":[[916,5]]},"540":{"position":[[146,5]]},"611":{"position":[[339,6],[385,8]]},"620":{"position":[[53,6]]},"621":{"position":[[53,6]]},"622":{"position":[[33,6]]},"635":{"position":[[230,6],[276,8]]},"638":{"position":[[39,7]]},"639":{"position":[[58,7]]},"640":{"position":[[41,7]]},"642":{"position":[[51,7]]},"644":{"position":[[41,7]]},"690":{"position":[[1543,9]]},"703":{"position":[[32,6]]},"704":{"position":[[32,6]]},"730":{"position":[[44,7]]},"731":{"position":[[68,6]]},"732":{"position":[[9,6]]},"733":{"position":[[10,6]]},"734":{"position":[[9,6],[70,6],[220,6]]},"735":{"position":[[10,6],[71,6],[222,6]]},"736":{"position":[[21,6]]},"737":{"position":[[18,6],[42,6],[192,6]]},"738":{"position":[[33,6],[57,6]]},"739":{"position":[[21,6]]},"740":{"position":[[32,6]]},"741":{"position":[[28,6],[151,6],[184,6],[749,6],[854,6],[989,6],[1116,6],[1481,6],[1510,6],[1532,6],[1585,6],[1607,6],[1692,6],[1715,6],[1775,6],[1798,6],[1844,6],[1919,6],[1942,6]]},"742":{"position":[[116,6]]},"743":{"position":[[21,6],[280,6]]},"744":{"position":[[9,6],[328,6]]}},"keywords":{}}],["limit"",{"_index":2648,"title":{},"content":{"279":{"position":[[9560,11],[9947,11]]}},"keywords":{}}],["limitless",{"_index":2968,"title":{},"content":{"320":{"position":[[1884,10]]}},"keywords":{}}],["limits_en",{"_index":5377,"title":{"731":{"position":[[0,16],[17,15]]}},"content":{"731":{"position":[[5,15]]}},"keywords":{}}],["limits_enabled("<target",{"_index":5379,"title":{},"content":{"731":{"position":[[229,31]]}},"keywords":{}}],["limits_enabled("inst",{"_index":5381,"title":{},"content":{"731":{"position":[[624,25]]}},"keywords":{}}],["limits_enabled?("<target",{"_index":5378,"title":{},"content":{"731":{"position":[[124,32]]}},"keywords":{}}],["limits_enabled?("inst",{"_index":5380,"title":{},"content":{"731":{"position":[[520,26]]}},"keywords":{}}],["limits_group",{"_index":2682,"title":{"297":{"position":[[0,13]]}},"content":{"298":{"position":[[55,12],[388,12]]},"736":{"position":[[84,13]]}},"keywords":{}}],["limits_group_item",{"_index":2691,"title":{"298":{"position":[[0,18]]}},"content":{"298":{"position":[[411,17],[454,17],[497,17]]}},"keywords":{}}],["limits_groups.txt",{"_index":2693,"title":{},"content":{"298":{"position":[[187,18]]}},"keywords":{}}],["limits_respons",{"_index":2659,"title":{},"content":{"279":{"position":[[10364,16],[10780,15],[10845,15]]},"304":{"position":[[372,15]]},"305":{"position":[[5,15],[253,15],[289,15],[397,15],[568,15],[1383,15]]}},"keywords":{}}],["limits_response.rb",{"_index":343,"title":{},"content":{"12":{"position":[[595,18]]}},"keywords":{}}],["limits_set",{"_index":5252,"title":{},"content":{"704":{"position":[[293,16],[310,10]]},"738":{"position":[[114,10]]},"739":{"position":[[82,11]]}},"keywords":{}}],["limits_st",{"_index":5245,"title":{},"content":{"703":{"position":[[187,14]]},"704":{"position":[[278,14]]},"742":{"position":[[68,12]]}},"keywords":{}}],["limitsbar",{"_index":4611,"title":{"620":{"position":[[0,10]]}},"content":{"581":{"position":[[479,9]]},"591":{"position":[[479,9]]},"616":{"position":[[59,9]]},"620":{"position":[[444,9],[496,9]]},"623":{"position":[[36,9]]}},"keywords":{}}],["limitscolor",{"_index":4710,"title":{"622":{"position":[[0,12]]}},"content":{"622":{"position":[[439,11],[494,11]]}},"keywords":{}}],["limitscolumn",{"_index":4702,"title":{"621":{"position":[[0,13]]}},"content":{"617":{"position":[[59,12]]},"621":{"position":[[442,12],[497,12]]},"624":{"position":[[36,12]]}},"keywords":{}}],["line",{"_index":141,"title":{"8":{"position":[[0,4]]},"552":{"position":[[31,5]]}},"content":{"5":{"position":[[6,4]]},"6":{"position":[[470,4],[672,4]]},"8":{"position":[[19,4],[84,4],[288,5],[406,4]]},"9":{"position":[[849,5],[1011,4]]},"33":{"position":[[653,4],[912,4]]},"36":{"position":[[8296,4],[8404,5]]},"39":{"position":[[111,4]]},"52":{"position":[[12,4],[103,5]]},"61":{"position":[[491,4],[529,4],[1548,5],[1573,5],[1612,5],[1832,5],[1852,5],[1895,4]]},"139":{"position":[[881,4]]},"145":{"position":[[24,4],[75,4]]},"185":{"position":[[9,4],[59,4]]},"186":{"position":[[140,4]]},"209":{"position":[[474,4],[482,4]]},"229":{"position":[[8296,4],[8404,5]]},"279":{"position":[[6955,4],[7062,5]]},"309":{"position":[[2346,4],[3284,4],[3448,5],[3525,6]]},"310":{"position":[[154,4],[479,5],[556,6],[633,5]]},"324":{"position":[[377,5]]},"332":{"position":[[537,4],[814,4]]},"349":{"position":[[241,4],[504,6],[527,5],[1666,6],[2224,4],[2256,5],[3555,6],[3578,5],[3635,6],[3695,5],[3731,5],[3850,5],[3900,4],[4761,5],[4951,5]]},"352":{"position":[[172,4]]},"358":{"position":[[6138,5],[7302,4],[7529,4],[8152,4]]},"380":{"position":[[292,4]]},"467":{"position":[[601,4],[670,4],[756,4]]},"497":{"position":[[521,4],[529,4]]},"524":{"position":[[851,4]]},"530":{"position":[[323,4],[381,4],[451,4]]},"531":{"position":[[827,4]]},"536":{"position":[[48,4],[270,4],[278,4]]},"540":{"position":[[155,4],[168,5],[3998,4],[4006,4]]},"544":{"position":[[177,4],[683,5],[764,5],[1056,5]]},"545":{"position":[[96,6],[297,5],[311,4]]},"547":{"position":[[1250,5]]},"552":{"position":[[66,4],[163,4],[636,4],[1061,6],[1137,6]]},"555":{"position":[[19,4],[228,5]]},"559":{"position":[[1333,5]]},"561":{"position":[[487,4],[786,4]]},"566":{"position":[[19,4],[74,4],[131,4],[289,4],[388,4]]},"569":{"position":[[80,5],[347,4]]},"574":{"position":[[472,5]]},"605":{"position":[[38,4]]},"610":{"position":[[550,4]]},"626":{"position":[[12,4]]},"637":{"position":[[603,5],[680,5]]},"651":{"position":[[9,4],[109,4],[181,4],[249,4],[317,4],[360,4],[390,4]]},"652":{"position":[[24,4],[50,4],[317,4],[389,4],[457,4],[525,4],[568,4],[1292,4]]},"658":{"position":[[707,5],[1080,4]]},"778":{"position":[[153,5],[236,5]]},"789":{"position":[[22,4],[185,5]]},"790":{"position":[[21,4]]},"793":{"position":[[46,5],[160,5]]},"797":{"position":[[80,5]]},"798":{"position":[[50,4]]}},"keywords":{}}],["linegraph",{"_index":4716,"title":{"626":{"position":[[0,10]]}},"content":{"626":{"position":[[545,9],[673,10]]}},"keywords":{}}],["liner",{"_index":4387,"title":{},"content":{"543":{"position":[[225,6],[316,6]]}},"keywords":{}}],["link",{"_index":1269,"title":{"434":{"position":[[46,6]]}},"content":{"58":{"position":[[56,4]]},"79":{"position":[[16,6]]},"98":{"position":[[24,7]]},"194":{"position":[[247,7]]},"326":{"position":[[753,5]]},"340":{"position":[[608,4]]},"356":{"position":[[705,5],[735,4]]},"389":{"position":[[890,4],[1267,4]]},"392":{"position":[[550,4]]},"407":{"position":[[544,4]]},"413":{"position":[[166,5]]},"419":{"position":[[176,6]]},"433":{"position":[[171,4]]},"434":{"position":[[135,5]]},"485":{"position":[[269,5]]}},"keywords":{}}],["linux",{"_index":407,"title":{},"content":{"20":{"position":[[277,5]]},"44":{"position":[[957,6]]},"209":{"position":[[378,7]]},"257":{"position":[[164,6]]},"309":{"position":[[1784,5]]},"317":{"position":[[54,5]]},"330":{"position":[[14,5],[156,7]]},"333":{"position":[[189,5]]},"358":{"position":[[217,6]]},"369":{"position":[[2448,5]]},"383":{"position":[[827,5]]},"404":{"position":[[76,6],[110,6],[1930,6]]}},"keywords":{}}],["linux/mac",{"_index":3071,"title":{},"content":{"333":{"position":[[391,12]]}},"keywords":{}}],["list",{"_index":322,"title":{},"content":{"12":{"position":[[23,4],[340,4]]},"15":{"position":[[118,4]]},"16":{"position":[[122,4]]},"88":{"position":[[5,4],[231,4]]},"127":{"position":[[145,5]]},"258":{"position":[[1543,4]]},"267":{"position":[[68,6],[207,4]]},"346":{"position":[[204,4],[469,4],[567,4],[850,4],[1169,4]]},"359":{"position":[[2417,4]]},"401":{"position":[[18,6]]},"406":{"position":[[61,5]]},"407":{"position":[[330,6]]},"413":{"position":[[15,5]]},"421":{"position":[[619,5]]},"422":{"position":[[1319,6]]},"445":{"position":[[91,6]]},"447":{"position":[[42,4]]},"454":{"position":[[497,4],[571,7]]},"455":{"position":[[1150,4]]},"461":{"position":[[166,4],[421,4]]},"472":{"position":[[12,4],[384,6],[997,4],[1252,4]]},"473":{"position":[[1469,4]]},"474":{"position":[[17,5]]},"478":{"position":[[228,4],[483,4]]},"479":{"position":[[114,4]]},"483":{"position":[[53,4]]},"484":{"position":[[259,5]]},"485":{"position":[[64,5]]},"491":{"position":[[168,4]]},"492":{"position":[[91,5]]},"502":{"position":[[165,4],[420,4]]},"513":{"position":[[597,4]]},"521":{"position":[[184,4],[439,4]]},"529":{"position":[[339,5],[492,5]]},"547":{"position":[[395,4]]},"559":{"position":[[1098,4]]},"592":{"position":[[529,6]]},"639":{"position":[[22,4]]},"658":{"position":[[960,4]]},"720":{"position":[[9,4]]},"736":{"position":[[13,4]]},"739":{"position":[[13,4]]},"746":{"position":[[11,4]]},"751":{"position":[[11,4]]},"763":{"position":[[11,4]]},"784":{"position":[[31,4]]},"787":{"position":[[139,5]]},"812":{"position":[[1,4]]},"813":{"position":[[1,4]]}},"keywords":{}}],["list)reset",{"_index":4182,"title":{},"content":{"478":{"position":[[67,10]]}},"keywords":{}}],["list_config",{"_index":5804,"title":{"813":{"position":[[0,13]]}},"content":{},"keywords":{}}],["list_configs(<tool",{"_index":5805,"title":{},"content":{"813":{"position":[[91,21]]}},"keywords":{}}],["list_configs('telemetry_graph",{"_index":5807,"title":{},"content":{"813":{"position":[[236,33],[335,33]]}},"keywords":{}}],["list_set",{"_index":5744,"title":{"807":{"position":[[0,14]]}},"content":{"807":{"position":[[134,15]]}},"keywords":{}}],["listen",{"_index":492,"title":{},"content":{"22":{"position":[[273,6]]},"87":{"position":[[41,7],[133,7]]},"105":{"position":[[57,7]]},"314":{"position":[[888,6],[979,6]]},"359":{"position":[[864,9]]},"378":{"position":[[738,7]]},"380":{"position":[[1275,9]]},"455":{"position":[[471,6]]},"716":{"position":[[20,6]]}},"keywords":{}}],["listen_address",{"_index":1856,"title":{},"content":{"105":{"position":[[1614,14]]},"108":{"position":[[585,14]]},"140":{"position":[[512,14],[883,14]]},"314":{"position":[[1592,14],[1964,14]]}},"keywords":{}}],["lite",{"_index":3935,"title":{},"content":{"404":{"position":[[427,4],[842,4]]}},"keywords":{}}],["literal'",{"_index":1699,"title":{},"content":{"86":{"position":[[178,9]]}},"keywords":{}}],["littl",{"_index":176,"title":{"321":{"position":[[0,6]]}},"content":{"5":{"position":[[894,6]]},"33":{"position":[[204,6]]},"35":{"position":[[1305,6],[1340,6],[1836,6]]},"37":{"position":[[1098,6],[1133,6],[1629,6]]},"83":{"position":[[1769,6]]},"213":{"position":[[332,6]]},"226":{"position":[[364,6]]},"228":{"position":[[1334,6],[1369,6],[1865,6]]},"230":{"position":[[1117,6],[1152,6],[1648,6]]},"231":{"position":[[1478,6],[1513,6],[2009,6]]},"232":{"position":[[1314,6],[1349,6],[1845,6]]},"233":{"position":[[865,6]]},"234":{"position":[[648,6]]},"276":{"position":[[381,6]]},"278":{"position":[[940,6],[975,6]]},"280":{"position":[[732,6],[767,6]]},"281":{"position":[[1034,6],[1069,6]]},"282":{"position":[[703,6],[738,6]]},"283":{"position":[[858,6]]},"284":{"position":[[650,6]]},"309":{"position":[[429,6]]},"321":{"position":[[0,6],[33,6],[62,6],[147,6]]}},"keywords":{}}],["little_endian",{"_index":177,"title":{},"content":{"5":{"position":[[941,13],[1175,14]]},"33":{"position":[[251,13]]},"35":{"position":[[1391,13],[1883,13]]},"37":{"position":[[1184,13],[1676,13]]},"55":{"position":[[1689,16]]},"226":{"position":[[411,13]]},"228":{"position":[[1420,13],[1912,13]]},"230":{"position":[[1203,13],[1695,13]]},"231":{"position":[[1564,13],[2056,13]]},"232":{"position":[[1400,13],[1892,13]]},"233":{"position":[[912,13]]},"234":{"position":[[695,13]]},"276":{"position":[[428,13]]},"278":{"position":[[1026,13]]},"280":{"position":[[818,13]]},"281":{"position":[[1120,13]]},"282":{"position":[[789,13]]},"283":{"position":[[905,13]]},"284":{"position":[[697,13]]},"321":{"position":[[213,13],[430,13],[644,13],[713,13],[757,13],[839,13]]}},"keywords":{}}],["live",{"_index":1863,"title":{},"content":{"106":{"position":[[609,5]]},"364":{"position":[[114,5]]},"487":{"position":[[20,4]]},"501":{"position":[[23,4]]},"530":{"position":[[584,4]]}},"keywords":{}}],["lm",{"_index":3125,"title":{},"content":{"347":{"position":[[329,2],[425,2],[512,2],[662,2],[746,2]]}},"keywords":{}}],["ln",{"_index":2864,"title":{},"content":{"309":{"position":[[1917,2]]}},"keywords":{}}],["load",{"_index":72,"title":{"552":{"position":[[49,6]]}},"content":{"2":{"position":[[704,4]]},"83":{"position":[[1604,5]]},"95":{"position":[[73,4]]},"115":{"position":[[2359,4]]},"184":{"position":[[183,6]]},"195":{"position":[[17,4],[69,4]]},"258":{"position":[[1478,4]]},"307":{"position":[[876,5]]},"331":{"position":[[799,4],[876,5]]},"332":{"position":[[409,5]]},"343":{"position":[[795,4]]},"347":{"position":[[780,7],[807,4]]},"352":{"position":[[1122,7],[1149,4]]},"353":{"position":[[736,7]]},"368":{"position":[[692,4],[747,4]]},"461":{"position":[[248,4]]},"472":{"position":[[1079,4]]},"478":{"position":[[310,4]]},"502":{"position":[[247,4]]},"511":{"position":[[159,4]]},"521":{"position":[[266,4]]},"530":{"position":[[163,5]]},"540":{"position":[[1834,4],[3675,6],[3730,4],[4487,7]]},"552":{"position":[[1217,6],[1233,4],[1358,5],[1382,4],[1614,4],[1685,4]]},"778":{"position":[[313,6]]},"795":{"position":[[1066,4]]},"811":{"position":[[39,4],[111,4]]},"814":{"position":[[1,4]]}},"keywords":{}}],["load_config",{"_index":5809,"title":{"814":{"position":[[0,12]]}},"content":{"814":{"position":[[175,11]]}},"keywords":{}}],["load_config(<tool",{"_index":5810,"title":{},"content":{"814":{"position":[[239,20]]}},"keywords":{}}],["load_config('telemetry_graph",{"_index":5812,"title":{},"content":{"814":{"position":[[427,32]]}},"keywords":{}}],["load_util",{"_index":4353,"title":{"778":{"position":[[0,13]]}},"content":{"540":{"position":[[1913,12],[3698,15],[3952,14]]},"549":{"position":[[500,13]]},"552":{"position":[[437,12],[1926,12]]},"662":{"position":[[3408,12]]}},"keywords":{}}],["load_utility("target/lib/<util",{"_index":5645,"title":{},"content":{"778":{"position":[[397,41]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.py"",{"_index":5651,"title":{},"content":{"778":{"position":[[733,52]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.rb"",{"_index":5650,"title":{},"content":{"778":{"position":[[673,52]]}},"keywords":{}}],["load_utility('target/lib/helper_utility.rb",{"_index":4370,"title":{},"content":{"540":{"position":[[2827,44]]}},"keywords":{}}],["load_utility('target/lib/my_other_script.rb",{"_index":4446,"title":{},"content":{"549":{"position":[[523,45]]}},"keywords":{}}],["load_utility('target/procedures/my_other_script.pi",{"_index":4447,"title":{},"content":{"549":{"position":[[579,52]]}},"keywords":{}}],["loadsim",{"_index":3402,"title":{},"content":{"367":{"position":[[1087,7]]},"369":{"position":[[2056,7],[2362,7],[3510,7]]}},"keywords":{}}],["local",{"_index":248,"title":{"322":{"position":[[0,5]]},"323":{"position":[[6,5]]},"325":{"position":[[10,5]]}},"content":{"7":{"position":[[251,7],[1072,7]]},"20":{"position":[[529,8]]},"42":{"position":[[746,5]]},"43":{"position":[[161,5],[375,6],[955,5],[1099,5]]},"44":{"position":[[622,5],[1041,5]]},"83":{"position":[[1499,5]]},"106":{"position":[[361,5]]},"126":{"position":[[603,5]]},"258":{"position":[[641,5]]},"309":{"position":[[942,5]]},"323":{"position":[[559,5]]},"324":{"position":[[132,5],[441,5],[555,5],[641,5]]},"325":{"position":[[24,5]]},"326":{"position":[[326,5],[1273,5],[1340,5]]},"332":{"position":[[999,5]]},"333":{"position":[[9,7]]},"346":{"position":[[1750,5]]},"364":{"position":[[156,7]]},"380":{"position":[[494,5]]},"382":{"position":[[762,5]]},"404":{"position":[[2058,6]]},"439":{"position":[[198,5]]},"536":{"position":[[115,5],[196,5]]},"540":{"position":[[4216,5]]},"565":{"position":[[937,9],[1113,9]]},"787":{"position":[[41,5]]},"815":{"position":[[277,5]]},"816":{"position":[[283,5]]}},"keywords":{}}],["local_mod",{"_index":5819,"title":{},"content":{"815":{"position":[[122,11],[229,10]]},"816":{"position":[[126,11],[233,10]]}},"keywords":{}}],["local_screen",{"_index":5676,"title":{"787":{"position":[[0,13]]}},"content":{"787":{"position":[[5,12]]}},"keywords":{}}],["local_screen("<screen",{"_index":5677,"title":{},"content":{"787":{"position":[[243,29]]}},"keywords":{}}],["local_screen("testing"",{"_index":5680,"title":{},"content":{"787":{"position":[[1121,33],[1421,33]]}},"keywords":{}}],["localhost",{"_index":973,"title":{},"content":{"42":{"position":[[2061,9]]},"314":{"position":[[1030,9]]}},"keywords":{}}],["localhost:2900",{"_index":1004,"title":{},"content":{"42":{"position":[[3070,14]]},"43":{"position":[[632,14]]}},"keywords":{}}],["localstorage.openc3token",{"_index":3883,"title":{},"content":{"402":{"position":[[2683,25],[3686,25]]}},"keywords":{}}],["localstorage.setitem("devtools"",{"_index":1022,"title":{},"content":{"43":{"position":[[696,42]]}},"keywords":{}}],["locat",{"_index":743,"title":{},"content":{"36":{"position":[[4113,7]]},"44":{"position":[[250,10]]},"55":{"position":[[58,8],[802,9]]},"216":{"position":[[540,7]]},"217":{"position":[[2661,7]]},"229":{"position":[[4113,7]]},"279":{"position":[[3062,7]]},"309":{"position":[[891,9],[1208,8]]},"321":{"position":[[900,8]]},"378":{"position":[[379,8]]},"431":{"position":[[23,7]]},"531":{"position":[[431,8]]},"659":{"position":[[339,8]]},"787":{"position":[[687,8]]}},"keywords":{}}],["lock",{"_index":1623,"title":{},"content":{"83":{"position":[[1610,4],[1976,5],[2495,4]]},"389":{"position":[[1831,6]]}},"keywords":{}}],["log",{"_index":60,"title":{"45":{"position":[[0,3]]},"46":{"position":[[7,3]]},"337":{"position":[[0,7]]},"474":{"position":[[7,4]]},"517":{"position":[[0,3]]}},"content":{"2":{"position":[[540,4],[563,4]]},"46":{"position":[[8,4]]},"47":{"position":[[17,3]]},"48":{"position":[[8,3],[190,3],[1462,3],[1654,3],[3188,3],[4094,3],[4153,3],[4381,3]]},"61":{"position":[[108,8]]},"65":{"position":[[379,3]]},"83":{"position":[[3753,4]]},"96":{"position":[[201,3]]},"115":{"position":[[1269,7],[1534,7]]},"138":{"position":[[16,3],[270,4],[409,3],[543,3],[618,4],[663,3],[708,3],[920,3]]},"152":{"position":[[55,6]]},"153":{"position":[[16,4]]},"154":{"position":[[16,4],[51,3]]},"155":{"position":[[30,4],[121,4]]},"156":{"position":[[23,4]]},"157":{"position":[[23,4],[58,3]]},"158":{"position":[[32,4],[125,4]]},"159":{"position":[[64,6]]},"160":{"position":[[18,4]]},"161":{"position":[[18,4],[53,3]]},"162":{"position":[[32,4],[125,4]]},"163":{"position":[[25,4]]},"164":{"position":[[25,4],[60,3]]},"165":{"position":[[34,4],[129,4]]},"166":{"position":[[43,4],[147,4]]},"167":{"position":[[41,4],[143,4]]},"168":{"position":[[40,4],[141,4]]},"169":{"position":[[40,4],[141,4]]},"170":{"position":[[40,4],[141,4]]},"214":{"position":[[198,3]]},"225":{"position":[[1097,3],[1194,3]]},"239":{"position":[[72,7]]},"268":{"position":[[153,3]]},"303":{"position":[[871,3]]},"338":{"position":[[390,3],[459,7],[498,3],[644,7]]},"339":{"position":[[130,3],[241,4],[321,3],[398,3]]},"340":{"position":[[34,4],[340,3],[393,4]]},"342":{"position":[[1078,3],[1119,6],[1165,3]]},"343":{"position":[[631,4],[654,4],[1615,6]]},"344":{"position":[[380,3],[424,3],[717,6],[1000,4],[1087,6],[1169,3],[1258,4]]},"345":{"position":[[657,6],[763,6]]},"346":{"position":[[1782,4]]},"347":{"position":[[468,3],[503,3]]},"349":{"position":[[269,6],[2740,3],[2814,7],[2848,3],[2985,7],[3019,3],[3104,7],[3138,3],[3274,7],[3308,3],[3494,7]]},"352":{"position":[[78,3],[419,6],[481,6]]},"353":{"position":[[26,6]]},"354":{"position":[[160,3],[375,6]]},"363":{"position":[[369,4]]},"368":{"position":[[152,7]]},"387":{"position":[[445,3],[506,7],[608,4]]},"402":{"position":[[301,6]]},"440":{"position":[[59,5],[290,4],[319,4],[385,7],[415,4]]},"470":{"position":[[344,6]]},"474":{"position":[[5,3]]},"509":{"position":[[417,3]]},"511":{"position":[[300,3]]},"517":{"position":[[5,3],[180,7]]},"529":{"position":[[557,4]]},"536":{"position":[[88,3],[165,3]]},"554":{"position":[[802,6],[838,4],[952,6],[987,5]]},"561":{"position":[[299,4],[524,3],[823,3]]},"658":{"position":[[1228,3]]},"664":{"position":[[626,7]]},"665":{"position":[[592,7]]},"677":{"position":[[1255,7]]},"678":{"position":[[1477,7]]},"679":{"position":[[1498,7]]},"680":{"position":[[1531,7]]},"681":{"position":[[1331,7]]},"682":{"position":[[1548,7]]},"683":{"position":[[1569,7]]},"684":{"position":[[1602,7]]},"697":{"position":[[789,4]]},"722":{"position":[[1446,3]]},"723":{"position":[[1213,3]]},"724":{"position":[[879,3]]},"725":{"position":[[760,3]]},"729":{"position":[[732,3]]},"754":{"position":[[8,7],[279,8],[356,7],[373,7]]},"755":{"position":[[7,7],[276,8],[353,7],[369,7]]},"766":{"position":[[8,7],[264,8],[338,7],[355,7]]},"767":{"position":[[7,7],[261,8],[335,7],[351,7]]},"800":{"position":[[62,6]]}},"keywords":{}}],["log_messag",{"_index":5049,"title":{},"content":{"677":{"position":[[1207,11],[1687,12]]},"678":{"position":[[1429,11]]},"679":{"position":[[1450,11]]},"680":{"position":[[1483,11]]},"681":{"position":[[1283,11]]},"682":{"position":[[1500,11]]},"683":{"position":[[1521,11]]},"684":{"position":[[1554,11]]}},"keywords":{}}],["log_message=fals",{"_index":5052,"title":{},"content":{"677":{"position":[[1937,18]]}},"keywords":{}}],["log_nam",{"_index":3332,"title":{},"content":{"362":{"position":[[463,9],[793,9],[1115,9]]}},"keywords":{}}],["log_raw",{"_index":2038,"title":{"137":{"position":[[0,8]]}},"content":{},"keywords":{}}],["log_retain_tim",{"_index":2110,"title":{"169":{"position":[[0,16]]}},"content":{},"keywords":{}}],["log_stream",{"_index":2039,"title":{"138":{"position":[[0,11]]}},"content":{"137":{"position":[[17,10]]},"138":{"position":[[83,10],[936,10]]}},"keywords":{}}],["logged.everi",{"_index":3109,"title":{},"content":{"343":{"position":[[1400,12]]}},"keywords":{}}],["logic",{"_index":195,"title":{},"content":{"6":{"position":[[96,5]]},"67":{"position":[[1604,5]]},"70":{"position":[[160,6],[199,5]]},"71":{"position":[[341,5]]},"72":{"position":[[356,5]]},"96":{"position":[[635,6]]},"261":{"position":[[218,7]]},"303":{"position":[[915,5]]},"386":{"position":[[405,7]]},"387":{"position":[[1406,5],[1595,5]]},"419":{"position":[[114,7]]},"421":{"position":[[14,7],[573,6]]},"498":{"position":[[209,5],[563,5]]},"499":{"position":[[224,5],[512,5]]},"556":{"position":[[733,5]]},"641":{"position":[[91,5]]},"710":{"position":[[339,7]]}},"keywords":{}}],["login",{"_index":2197,"title":{},"content":{"209":{"position":[[75,5]]}},"keywords":{}}],["logsrequest",{"_index":1628,"title":{},"content":{"83":{"position":[[1735,11]]}},"keywords":{}}],["logstash_dateformat",{"_index":3326,"title":{},"content":{"362":{"position":[[386,19],[716,19],[1038,19]]}},"keywords":{}}],["logstash_format",{"_index":3324,"title":{},"content":{"362":{"position":[[342,15],[672,15],[993,15]]}},"keywords":{}}],["logstash_prefix",{"_index":3325,"title":{},"content":{"362":{"position":[[363,15],[693,15],[1014,15]]}},"keywords":{}}],["long",{"_index":822,"title":{},"content":{"36":{"position":[[9033,4]]},"42":{"position":[[786,4]]},"128":{"position":[[308,4]]},"141":{"position":[[651,4]]},"155":{"position":[[5,4]]},"158":{"position":[[5,4]]},"162":{"position":[[5,4]]},"165":{"position":[[5,4]]},"166":{"position":[[5,4]]},"167":{"position":[[5,4]]},"168":{"position":[[5,4]]},"169":{"position":[[5,4]]},"170":{"position":[[5,4]]},"229":{"position":[[9033,4]]},"268":{"position":[[143,4]]},"279":{"position":[[7156,4]]},"339":{"position":[[344,4]]},"380":{"position":[[1398,4]]},"389":{"position":[[405,4]]},"430":{"position":[[26,4]]},"540":{"position":[[184,4],[238,4],[3858,4]]},"550":{"position":[[289,4]]},"552":{"position":[[1022,4]]},"568":{"position":[[158,4]]}},"keywords":{}}],["longer",{"_index":792,"title":{},"content":{"36":{"position":[[6557,6],[7353,6]]},"229":{"position":[[6557,6],[7353,6]]},"279":{"position":[[5096,6],[5954,6]]},"424":{"position":[[1280,6],[1397,6]]},"430":{"position":[[251,6]]},"524":{"position":[[452,6]]},"546":{"position":[[420,6]]},"568":{"position":[[460,6]]}},"keywords":{}}],["look",{"_index":96,"title":{},"content":{"3":{"position":[[171,4]]},"6":{"position":[[792,4]]},"32":{"position":[[140,6]]},"44":{"position":[[311,4],[745,4]]},"55":{"position":[[2842,4]]},"82":{"position":[[4689,5]]},"216":{"position":[[632,7]]},"217":{"position":[[2753,7]]},"267":{"position":[[180,4]]},"274":{"position":[[315,4]]},"313":{"position":[[215,7]]},"319":{"position":[[105,4],[271,4],[329,4],[411,5]]},"320":{"position":[[745,5],[1368,5],[1516,4]]},"355":{"position":[[555,4],[651,4]]},"359":{"position":[[2844,4]]},"402":{"position":[[1206,5]]},"544":{"position":[[1017,4]]},"545":{"position":[[417,4]]},"637":{"position":[[859,5]]}},"keywords":{}}],["lookup",{"_index":2203,"title":{},"content":{"209":{"position":[[344,7]]},"455":{"position":[[745,6]]}},"keywords":{}}],["loop",{"_index":1667,"title":{"547":{"position":[[0,7],[20,6]]}},"content":{"83":{"position":[[3265,4]]},"349":{"position":[[6271,7],[6318,4],[6414,7],[6479,4],[6600,4],[6694,7],[6722,8]]},"535":{"position":[[1236,5],[1243,4],[1361,7],[1465,4],[1491,4],[1538,4]]},"540":{"position":[[905,4],[3907,7]]},"547":{"position":[[1,5],[327,5],[383,4],[463,4],[482,4],[569,4],[875,4],[933,4],[962,5]]},"552":{"position":[[995,5],[2169,5]]},"556":{"position":[[122,5]]},"564":{"position":[[700,7],[790,7],[818,7],[838,5]]},"793":{"position":[[132,5]]}},"keywords":{}}],["loop_test",{"_index":3194,"title":{},"content":{"349":{"position":[[6665,13]]}},"keywords":{}}],["loos",{"_index":2237,"title":{},"content":{"214":{"position":[[95,7]]}},"keywords":{}}],["loosen",{"_index":4564,"title":{},"content":{"568":{"position":[[687,6]]}},"keywords":{}}],["looser",{"_index":2641,"title":{},"content":{"279":{"position":[[8340,6]]}},"keywords":{}}],["lose",{"_index":3758,"title":{},"content":{"389":{"position":[[1203,4]]},"524":{"position":[[958,6]]}},"keywords":{}}],["loss",{"_index":4042,"title":{},"content":{"424":{"position":[[1920,5]]},"429":{"position":[[176,5]]}},"keywords":{}}],["lost",{"_index":2032,"title":{},"content":{"134":{"position":[[72,4]]},"135":{"position":[[132,5]]}},"keywords":{}}],["lot",{"_index":623,"title":{},"content":{"31":{"position":[[488,3]]},"67":{"position":[[354,3]]},"482":{"position":[[295,3],[548,3]]},"540":{"position":[[1022,3]]}},"keywords":{}}],["low",{"_index":2041,"title":{},"content":{"138":{"position":[[195,3]]},"217":{"position":[[136,3]]},"279":{"position":[[8921,3],[8996,3],[9039,3],[9134,3],[9154,3],[9477,3],[9505,3],[9892,3],[10179,3]]},"338":{"position":[[576,3]]},"404":{"position":[[25,3]]},"547":{"position":[[284,3]]},"618":{"position":[[202,3],[326,3]]},"625":{"position":[[171,3],[295,3]]},"631":{"position":[[181,3],[305,3]]},"741":{"position":[[395,3],[720,3],[728,3],[822,3],[833,3],[914,3],[1188,3],[1241,3],[1391,3]]}},"keywords":{}}],["low>",{"_index":5418,"title":{},"content":{"741":{"position":[[317,8],[337,8]]}},"keywords":{}}],["lower",{"_index":802,"title":{},"content":{"36":{"position":[[6991,5],[7114,5]]},"67":{"position":[[4545,5]]},"225":{"position":[[769,5]]},"229":{"position":[[6991,5],[7114,5]]},"271":{"position":[[796,5]]},"279":{"position":[[5592,5],[5715,5]]}},"keywords":{}}],["lowercas",{"_index":2815,"title":{},"content":{"307":{"position":[[1079,10]]},"540":{"position":[[1434,9],[1614,9]]},"575":{"position":[[370,10]]}},"keywords":{}}],["lowest",{"_index":1971,"title":{},"content":{"115":{"position":[[544,6],[734,6]]}},"keywords":{}}],["ls",{"_index":923,"title":{},"content":{"42":{"position":[[928,2]]},"377":{"position":[[61,3]]},"380":{"position":[[420,2]]}},"keywords":{}}],["lt",{"_index":201,"title":{},"content":{"6":{"position":[[175,5],[210,6],[330,5],[413,6],[442,5],[746,6]]},"7":{"position":[[208,6],[712,6]]},"20":{"position":[[727,5]]},"36":{"position":[[5577,4],[7536,4],[7636,4]]},"73":{"position":[[668,5],[1016,5]]},"91":{"position":[[1930,4],[2467,4]]},"92":{"position":[[1351,4],[1701,4]]},"109":{"position":[[2237,4],[2563,4]]},"229":{"position":[[5577,4],[7536,4],[7636,4]]},"251":{"position":[[688,4]]},"253":{"position":[[2381,5],[2475,6],[2496,5]]},"279":{"position":[[4057,4],[6136,4],[6235,4]]},"302":{"position":[[2575,6],[2614,6],[2730,6]]},"314":{"position":[[1194,6],[1223,6],[1251,6],[1274,6],[1294,6],[1317,6],[1344,6],[1390,6],[1433,6],[1503,6],[1528,6],[1607,6]]},"320":{"position":[[163,5],[1629,6],[1695,6]]},"330":{"position":[[740,4]]},"358":{"position":[[6740,6],[6779,6],[6914,6],[7373,6]]},"378":{"position":[[874,6],[1027,6],[1077,6],[1093,6],[1114,6],[1166,6]]},"498":{"position":[[752,4]]},"499":{"position":[[714,4]]},"533":{"position":[[406,4]]},"534":{"position":[[145,4]]},"559":{"position":[[609,4],[906,4]]},"561":{"position":[[326,4]]},"565":{"position":[[811,4],[1089,4]]},"572":{"position":[[585,4]]},"633":{"position":[[535,4],[582,4],[624,4]]},"795":{"position":[[1115,4],[1202,4],[1372,4]]}},"keywords":{}}],["lt;<",{"_index":1646,"title":{},"content":{"83":{"position":[[2648,8]]}},"keywords":{}}],["lt;/match>",{"_index":3336,"title":{},"content":{"362":{"position":[[548,14],[878,14],[1200,14]]}},"keywords":{}}],["lt;/script>",{"_index":2953,"title":{},"content":{"320":{"position":[[400,15]]}},"keywords":{}}],["lt;/source>",{"_index":3318,"title":{},"content":{"362":{"position":[[222,15]]}},"keywords":{}}],["lt;/store>",{"_index":3335,"title":{},"content":{"362":{"position":[[491,14],[533,14],[821,14],[863,14],[1143,14],[1185,14]]}},"keywords":{}}],["lt;/style>",{"_index":2956,"title":{},"content":{"320":{"position":[[465,14]]}},"keywords":{}}],["lt;/template>",{"_index":2947,"title":{},"content":{"320":{"position":[[200,17]]}},"keywords":{}}],["lt;blank_or_default>",{"_index":4962,"title":{},"content":{"664":{"position":[[276,25]]},"665":{"position":[[242,25]]}},"keywords":{}}],["lt;channel>",{"_index":2346,"title":{},"content":{"219":{"position":[[816,15]]}},"keywords":{}}],["lt;channel>)"",{"_index":2348,"title":{},"content":{"219":{"position":[[906,24]]}},"keywords":{}}],["lt;command",{"_index":5042,"title":{},"content":{"677":{"position":[[73,11],[438,11]]},"678":{"position":[[250,11],[645,11]]},"679":{"position":[[259,11],[662,11]]},"680":{"position":[[319,11],[704,11]]},"681":{"position":[[105,11],[494,11]]},"682":{"position":[[277,11],[696,11]]},"683":{"position":[[286,11],[713,11]]},"684":{"position":[[346,11],[755,11]]},"690":{"position":[[107,11]]},"692":{"position":[[194,11]]},"695":{"position":[[126,11]]}},"keywords":{}}],["lt;comparison",{"_index":5201,"title":{},"content":{"697":{"position":[[420,14]]}},"keywords":{}}],["lt;comparison>"",{"_index":5349,"title":{},"content":{"722":{"position":[[734,25]]},"726":{"position":[[356,25]]}},"keywords":{}}],["lt;configur",{"_index":5811,"title":{},"content":{"814":{"position":[[270,17]]},"815":{"position":[[94,17]]},"816":{"position":[[98,17]]}},"keywords":{}}],["lt;data>",{"_index":5108,"title":{},"content":{"686":{"position":[[90,13]]}},"keywords":{}}],["lt;dotfiles>",{"_index":2821,"title":{},"content":{"307":{"position":[[1556,16]]}},"keywords":{}}],["lt;enabl",{"_index":5424,"title":{},"content":{"741":{"position":[[509,11]]}},"keywords":{}}],["lt;expect",{"_index":5209,"title":{},"content":{"698":{"position":[[356,12]]},"723":{"position":[[449,12]]},"727":{"position":[[355,12]]}},"keywords":{}}],["lt;green",{"_index":5421,"title":{},"content":{"741":{"position":[[385,9],[415,9]]}},"keywords":{}}],["lt;html><head><script",{"_index":2358,"title":{},"content":{"220":{"position":[[438,35],[1679,35]]}},"keywords":{}}],["lt;i",{"_index":5655,"title":{},"content":{"780":{"position":[[189,5]]},"787":{"position":[[351,5]]}},"keywords":{}}],["lt;interfac",{"_index":5516,"title":{},"content":{"752":{"position":[[135,13]]}},"keywords":{}}],["lt;item",{"_index":5200,"title":{},"content":{"697":{"position":[[402,8]]},"698":{"position":[[331,8]]},"701":{"position":[[121,8]]},"708":{"position":[[102,8]]},"722":{"position":[[716,8]]},"723":{"position":[[424,8]]},"726":{"position":[[338,8]]},"727":{"position":[[330,8]]},"731":{"position":[[186,8],[290,8]]},"732":{"position":[[145,8]]},"733":{"position":[[147,8]]},"740":{"position":[[148,8]]},"741":{"position":[[290,8]]}},"keywords":{}}],["lt;item>",{"_index":5296,"title":{},"content":{"710":{"position":[[433,12]]},"712":{"position":[[300,12]]}},"keywords":{}}],["lt;item>"",{"_index":5310,"title":{},"content":{"713":{"position":[[152,19]]}},"keywords":{}}],["lt;item_hash>",{"_index":5302,"title":{},"content":{"711":{"position":[[176,18]]}},"keywords":{}}],["lt;limit",{"_index":5422,"title":{},"content":{"741":{"position":[[446,10]]}},"keywords":{}}],["lt;match",{"_index":3319,"title":{},"content":{"362":{"position":[[238,9],[563,9],[893,9]]}},"keywords":{}}],["lt;method>",{"_index":5712,"title":{},"content":{"795":{"position":[[654,15]]}},"keywords":{}}],["lt;mode>__<cmd",{"_index":3888,"title":{},"content":{"402":{"position":[[2861,21],[3870,21]]}},"keywords":{}}],["lt;name>",{"_index":2737,"title":{},"content":{"301":{"position":[[150,13],[237,12]]},"302":{"position":[[239,12]]},"303":{"position":[[263,12]]},"304":{"position":[[295,12]]},"305":{"position":[[320,12]]}},"keywords":{}}],["lt;num",{"_index":5367,"title":{},"content":{"725":{"position":[[398,7]]},"729":{"position":[[284,7]]}},"keywords":{}}],["lt;output_dir>",{"_index":3837,"title":{},"content":{"396":{"position":[[256,18]]},"397":{"position":[[252,18]]}},"keywords":{}}],["lt;packet",{"_index":5135,"title":{},"content":{"689":{"position":[[124,10]]},"691":{"position":[[169,10]]},"697":{"position":[[382,10]]},"698":{"position":[[311,10]]},"701":{"position":[[101,10]]},"702":{"position":[[152,10]]},"703":{"position":[[267,10]]},"707":{"position":[[82,10]]},"708":{"position":[[82,10]]},"709":{"position":[[139,10]]},"722":{"position":[[696,10]]},"723":{"position":[[404,10]]},"726":{"position":[[318,10]]},"727":{"position":[[310,10]]},"731":{"position":[[166,10],[270,10]]},"732":{"position":[[125,10]]},"733":{"position":[[127,10]]},"740":{"position":[[127,10]]},"741":{"position":[[269,10]]}},"keywords":{}}],["lt;packet>",{"_index":5295,"title":{},"content":{"710":{"position":[[418,14]]},"712":{"position":[[285,14]]},"713":{"position":[[137,14]]}},"keywords":{}}],["lt;packet>"",{"_index":5333,"title":{},"content":{"718":{"position":[[103,21]]},"720":{"position":[[124,21]]}},"keywords":{}}],["lt;param",{"_index":5043,"title":{},"content":{"677":{"position":[[99,9],[121,9],[145,9],[167,9],[305,9],[361,9],[464,9],[486,9],[510,9],[532,9],[666,9],[717,9]]},"678":{"position":[[276,9],[298,9],[322,9],[344,9],[497,9],[553,9],[671,9],[693,9],[717,9],[739,9],[888,9],[939,9]]},"679":{"position":[[285,9],[307,9],[331,9],[353,9],[510,9],[566,9],[688,9],[710,9],[734,9],[756,9],[909,9],[960,9]]},"680":{"position":[[345,9],[367,9],[391,9],[413,9],[561,9],[617,9],[730,9],[752,9],[776,9],[798,9],[942,9],[993,9]]},"681":{"position":[[131,9],[153,9],[177,9],[199,9],[349,9],[413,9],[520,9],[542,9],[566,9],[588,9],[734,9],[793,9]]},"682":{"position":[[303,9],[325,9],[349,9],[371,9],[536,9],[600,9],[722,9],[744,9],[768,9],[790,9],[951,9],[1010,9]]},"683":{"position":[[312,9],[334,9],[358,9],[380,9],[549,9],[613,9],[739,9],[761,9],[785,9],[807,9],[972,9],[1031,9]]},"684":{"position":[[372,9],[394,9],[418,9],[440,9],[600,9],[664,9],[781,9],[803,9],[827,9],[849,9],[1005,9],[1064,9]]}},"keywords":{}}],["lt;paramet",{"_index":5143,"title":{},"content":{"690":{"position":[[128,13]]}},"keywords":{}}],["lt;password>",{"_index":4963,"title":{},"content":{"664":{"position":[[302,17]]},"665":{"position":[[268,17]]}},"keywords":{}}],["lt;persist",{"_index":5423,"title":{},"content":{"741":{"position":[[477,15]]}},"keywords":{}}],["lt;plugin.gem>",{"_index":3838,"title":{},"content":{"397":{"position":[[224,18]]}},"keywords":{}}],["lt;poll",{"_index":5351,"title":{},"content":{"722":{"position":[[777,11]]},"723":{"position":[[509,11]]},"724":{"position":[[513,11]]},"725":{"position":[[436,11]]},"726":{"position":[[399,11]]},"727":{"position":[[415,11]]},"728":{"position":[[448,11]]},"729":{"position":[[322,11]]}},"keywords":{}}],["lt;red",{"_index":5417,"title":{},"content":{"741":{"position":[[309,7],[367,7]]}},"keywords":{}}],["lt;router",{"_index":5575,"title":{},"content":{"761":{"position":[[99,10]]}},"keywords":{}}],["lt;script>",{"_index":2948,"title":{},"content":{"320":{"position":[[218,14]]}},"keywords":{}}],["lt;set",{"_index":5780,"title":{},"content":{"809":{"position":[[209,11]]},"810":{"position":[[213,11]]}},"keywords":{}}],["lt;source>",{"_index":3316,"title":{},"content":{"362":{"position":[[169,14]]}},"keywords":{}}],["lt;stash",{"_index":5624,"title":{},"content":{"771":{"position":[[85,9]]}},"keywords":{}}],["lt;store>",{"_index":3321,"title":{},"content":{"362":{"position":[[272,13],[506,13],[602,13],[836,13],[923,13],[1158,13]]}},"keywords":{}}],["lt;style",{"_index":2954,"title":{},"content":{"320":{"position":[[416,9]]}},"keywords":{}}],["lt;superdatawidget>",{"_index":2803,"title":{},"content":{"306":{"position":[[329,23]]}},"keywords":{}}],["lt;target>",{"_index":2789,"title":{},"content":{"304":{"position":[[280,14]]},"305":{"position":[[305,14]]}},"keywords":{}}],["lt;template>",{"_index":2946,"title":{},"content":{"320":{"position":[[146,16]]}},"keywords":{}}],["lt;timeout>",{"_index":5350,"title":{},"content":{"722":{"position":[[760,16]]},"723":{"position":[[492,16]]},"724":{"position":[[496,16]]},"725":{"position":[[419,16]]},"726":{"position":[[382,16]]},"727":{"position":[[398,16]]},"728":{"position":[[431,16]]},"729":{"position":[[305,16]]}},"keywords":{}}],["lt;token/password>",{"_index":1695,"title":{},"content":{"85":{"position":[[249,22]]}},"keywords":{}}],["lt;tolerance>",{"_index":5210,"title":{},"content":{"698":{"position":[[380,18]]},"723":{"position":[[473,18]]},"727":{"position":[[379,18]]}},"keywords":{}}],["lt;topic",{"_index":1898,"title":{},"content":{"109":{"position":[[1892,9]]}},"keywords":{}}],["lt;type>",{"_index":5247,"title":{},"content":{"703":{"position":[[294,13],[389,13]]},"710":{"position":[[469,13]]},"711":{"position":[[195,13]]},"712":{"position":[[336,13]]},"713":{"position":[[172,13]]}},"keywords":{}}],["lt;username>",{"_index":3562,"title":{},"content":{"371":{"position":[[240,17]]}},"keywords":{}}],["lt;valu",{"_index":5183,"title":{},"content":{"693":{"position":[[367,9]]}},"keywords":{}}],["lt;value>"",{"_index":5297,"title":{},"content":{"710":{"position":[[448,20]]},"712":{"position":[[315,20]]}},"keywords":{}}],["lt;voltage>",{"_index":2345,"title":{},"content":{"219":{"position":[[796,15],[889,16]]}},"keywords":{}}],["lt;x",{"_index":5654,"title":{},"content":{"780":{"position":[[158,5]]},"787":{"position":[[320,5]]}},"keywords":{}}],["lt;xtce_filename>",{"_index":3836,"title":{},"content":{"396":{"position":[[225,21]]}},"keywords":{}}],["lt;xxx>",{"_index":2341,"title":{},"content":{"219":{"position":[[666,11]]}},"keywords":{}}],["lt;xxxxxx>",{"_index":3561,"title":{},"content":{"371":{"position":[[180,14]]}},"keywords":{}}],["lt;yellow",{"_index":5419,"title":{},"content":{"741":{"position":[[326,10],[346,10]]}},"keywords":{}}],["ltd",{"_index":430,"title":{},"content":{"20":{"position":[[620,6]]}},"keywords":{}}],["m",{"_index":2215,"title":{},"content":{"211":{"position":[[90,1],[159,1],[230,1]]}},"keywords":{}}],["mac",{"_index":3006,"title":{},"content":{"330":{"position":[[246,4]]},"333":{"position":[[270,3]]},"358":{"position":[[210,3]]},"404":{"position":[[1924,3]]}},"keywords":{}}],["machin",{"_index":1840,"title":{"329":{"position":[[33,9]]}},"content":{"104":{"position":[[256,7]]},"106":{"position":[[158,7],[235,7],[296,7],[367,7],[478,7]]},"107":{"position":[[266,7]]},"310":{"position":[[61,7],[76,7],[96,7],[191,7]]},"314":{"position":[[1103,8],[2093,7]]},"328":{"position":[[143,7]]},"330":{"position":[[859,8]]},"342":{"position":[[1044,7]]},"369":{"position":[[986,8],[2454,7]]},"382":{"position":[[720,7]]}},"keywords":{}}],["maco",{"_index":916,"title":{"310":{"position":[[0,5]]}},"content":{"42":{"position":[[505,5]]},"309":{"position":[[3993,5],[4026,6]]},"310":{"position":[[577,5]]},"330":{"position":[[1394,6]]}},"keywords":{}}],["made",{"_index":535,"title":{},"content":{"24":{"position":[[234,4]]},"312":{"position":[[23,4]]},"351":{"position":[[183,4]]},"358":{"position":[[3233,4]]},"389":{"position":[[813,5]]},"574":{"position":[[431,4]]},"581":{"position":[[111,4],[174,4],[322,4]]},"591":{"position":[[111,4],[174,4],[322,4]]}},"keywords":{}}],["mail",{"_index":4110,"title":{},"content":{"433":{"position":[[203,8]]}},"keywords":{}}],["main",{"_index":503,"title":{},"content":{"22":{"position":[[518,5]]},"48":{"position":[[2089,4]]},"98":{"position":[[188,4]]},"255":{"position":[[5,4]]},"258":{"position":[[894,4]]},"309":{"position":[[2735,4],[2747,5],[3015,4]]},"455":{"position":[[102,4],[427,4],[575,4]]},"473":{"position":[[5,4]]},"523":{"position":[[295,4]]},"549":{"position":[[416,4]]},"658":{"position":[[169,4]]}},"keywords":{}}],["main/div/a[2]/span/h2/span/text",{"_index":2291,"title":{},"content":{"216":{"position":[[831,35]]},"217":{"position":[[2952,35]]}},"keywords":{}}],["main/div/a[2]/span/p/text",{"_index":2290,"title":{},"content":{"216":{"position":[[766,29]]},"217":{"position":[[2887,29]]}},"keywords":{}}],["maintain",{"_index":1421,"title":{},"content":{"69":{"position":[[620,9]]},"344":{"position":[[1146,8]]},"523":{"position":[[594,8]]},"538":{"position":[[279,13]]},"544":{"position":[[213,8]]},"712":{"position":[[103,10]]}},"keywords":{}}],["major",{"_index":3155,"title":{},"content":{"349":{"position":[[1255,5]]},"382":{"position":[[946,5]]}},"keywords":{}}],["make",{"_index":89,"title":{},"content":{"3":{"position":[[92,4],[742,4]]},"24":{"position":[[538,5]]},"51":{"position":[[194,6]]},"61":{"position":[[1863,4]]},"67":{"position":[[3382,5],[3691,5],[4292,5],[4682,5]]},"82":{"position":[[162,4]]},"104":{"position":[[375,4],[499,4]]},"110":{"position":[[737,4],[849,4]]},"192":{"position":[[112,4]]},"235":{"position":[[175,4]]},"258":{"position":[[615,4]]},"261":{"position":[[190,4]]},"285":{"position":[[174,4]]},"301":{"position":[[998,4]]},"309":{"position":[[343,6],[3723,4]]},"313":{"position":[[85,4]]},"317":{"position":[[195,4]]},"323":{"position":[[554,4]]},"336":{"position":[[100,4]]},"358":{"position":[[2567,4],[4595,4],[8348,4]]},"359":{"position":[[1805,4]]},"376":{"position":[[556,4],[570,4],[579,4]]},"380":{"position":[[1028,4],[1724,4]]},"385":{"position":[[214,4]]},"386":{"position":[[729,4]]},"387":{"position":[[1449,6]]},"392":{"position":[[710,4]]},"404":{"position":[[447,4],[1151,4],[1432,4],[1644,4]]},"408":{"position":[[126,5]]},"409":{"position":[[101,5]]},"410":{"position":[[95,5]]},"411":{"position":[[144,5]]},"414":{"position":[[83,6]]},"426":{"position":[[487,4]]},"435":{"position":[[7,4]]},"436":{"position":[[135,4]]},"455":{"position":[[592,4],[1012,4]]},"540":{"position":[[224,4],[249,5]]},"542":{"position":[[994,4]]},"547":{"position":[[187,4],[471,6]]},"549":{"position":[[52,5]]},"550":{"position":[[77,5],[266,4]]},"552":{"position":[[2287,4],[2435,4],[2568,4]]},"564":{"position":[[85,4],[127,4]]},"568":{"position":[[723,5]]},"569":{"position":[[467,4]]},"611":{"position":[[777,4]]},"614":{"position":[[362,4]]},"615":{"position":[[508,4]]},"616":{"position":[[382,4]]},"617":{"position":[[385,4]]},"618":{"position":[[659,4]]},"623":{"position":[[351,4]]},"624":{"position":[[354,4]]},"625":{"position":[[628,4]]},"635":{"position":[[590,4]]},"637":{"position":[[461,4]]},"673":{"position":[[379,4]]},"741":{"position":[[796,4],[926,4],[1059,4],[1163,4],[1275,4],[1425,4]]}},"keywords":{}}],["makefil",{"_index":3586,"title":{},"content":{"376":{"position":[[500,8]]}},"keywords":{}}],["malform",{"_index":1172,"title":{},"content":{"51":{"position":[[252,9]]}},"keywords":{}}],["manag",{"_index":612,"title":{"326":{"position":[[14,11]]},"493":{"position":[[6,7]]},"506":{"position":[[14,11]]},"524":{"position":[[13,11]]}},"content":{"31":{"position":[[87,8]]},"36":{"position":[[10553,7]]},"112":{"position":[[56,10]]},"113":{"position":[[57,10]]},"261":{"position":[[122,10],[241,10]]},"323":{"position":[[508,7]]},"326":{"position":[[36,6]]},"356":{"position":[[64,8]]},"363":{"position":[[273,6]]},"393":{"position":[[726,8]]},"455":{"position":[[169,7],[199,7],[304,7]]},"494":{"position":[[7,7]]},"496":{"position":[[247,7]]},"497":{"position":[[7,7],[130,8]]}},"keywords":{}}],["mani",{"_index":545,"title":{},"content":{"24":{"position":[[611,4]]},"83":{"position":[[1257,4]]},"128":{"position":[[253,4]]},"183":{"position":[[231,4]]},"213":{"position":[[98,4]]},"269":{"position":[[261,4]]},"343":{"position":[[833,4]]},"393":{"position":[[449,4],[477,4]]},"419":{"position":[[193,4]]},"422":{"position":[[968,4]]},"540":{"position":[[11,4]]},"543":{"position":[[50,4]]},"546":{"position":[[1462,4]]},"549":{"position":[[35,4]]},"657":{"position":[[122,4]]},"660":{"position":[[76,4]]},"710":{"position":[[334,4]]},"811":{"position":[[1,4]]}},"keywords":{}}],["manifest",{"_index":3027,"title":{},"content":{"330":{"position":[[1135,8]]}},"keywords":{}}],["manipul",{"_index":2296,"title":{},"content":{"217":{"position":[[281,12]]},"749":{"position":[[33,10]]},"760":{"position":[[33,10]]}},"keywords":{}}],["manner",{"_index":2744,"title":{},"content":{"301":{"position":[[544,6]]},"424":{"position":[[477,6],[605,6],[1769,6]]},"435":{"position":[[259,6]]}},"keywords":{}}],["manual",{"_index":2042,"title":{"560":{"position":[[22,6]]}},"content":{"138":{"position":[[249,8]]},"183":{"position":[[436,8]]},"216":{"position":[[559,6]]},"217":{"position":[[2680,6]]},"346":{"position":[[304,6],[1263,6],[1418,8]]},"348":{"position":[[1056,8],[1116,8]]},"349":{"position":[[6808,6],[6870,6]]},"383":{"position":[[1832,9]]},"421":{"position":[[649,8]]},"470":{"position":[[264,8]]},"472":{"position":[[256,8]]},"481":{"position":[[184,8],[303,8]]},"513":{"position":[[780,6]]},"528":{"position":[[373,8]]},"535":{"position":[[943,7],[993,7],[1149,6]]},"559":{"position":[[53,6]]},"560":{"position":[[284,6],[418,7],[502,6],[599,7],[684,8],[1045,8],[1072,7]]},"710":{"position":[[272,8]]}},"keywords":{}}],["map",{"_index":1078,"title":{},"content":{"48":{"position":[[518,3],[4325,3],[4345,3],[4673,3],[5153,3],[5190,3],[5204,7]]},"130":{"position":[[1,4],[94,3]]},"131":{"position":[[16,4],[136,3]]},"132":{"position":[[16,4],[139,3]]},"202":{"position":[[42,3],[89,3],[115,3]]},"513":{"position":[[52,6]]},"612":{"position":[[1004,3]]},"619":{"position":[[936,3]]},"650":{"position":[[1267,3]]},"652":{"position":[[1192,3]]},"757":{"position":[[1,3],[379,3],[474,3]]}},"keywords":{}}],["map_cmd_target",{"_index":2024,"title":{"131":{"position":[[0,15]]}},"content":{"131":{"position":[[269,14],[465,14]]}},"keywords":{}}],["map_target",{"_index":2022,"title":{"130":{"position":[[0,11]]}},"content":{"130":{"position":[[228,10],[372,10]]},"139":{"position":[[805,10],[1094,10]]},"302":{"position":[[2719,10]]},"314":{"position":[[259,12]]},"358":{"position":[[6903,10],[8141,10]]},"378":{"position":[[1155,10]]}},"keywords":{}}],["map_target_to_interfac",{"_index":5556,"title":{"757":{"position":[[0,24]]}},"content":{},"keywords":{}}],["map_target_to_interface("<target",{"_index":5557,"title":{},"content":{"757":{"position":[[128,40]]}},"keywords":{}}],["map_target_to_interface("inst"",{"_index":5562,"title":{},"content":{"757":{"position":[[647,41],[748,41]]}},"keywords":{}}],["map_tlm_target",{"_index":2027,"title":{"132":{"position":[[0,15]]}},"content":{"132":{"position":[[272,14],[471,14]]}},"keywords":{}}],["margin",{"_index":4620,"title":{"585":{"position":[[0,7]]}},"content":{"585":{"position":[[17,6],[25,6],[321,6]]},"594":{"position":[[295,6]]},"595":{"position":[[263,6],[270,6]]},"596":{"position":[[143,6]]},"597":{"position":[[221,6],[228,6]]},"598":{"position":[[182,6],[189,6]]},"599":{"position":[[243,6],[250,6]]}},"keywords":{}}],["mark",{"_index":653,"title":{},"content":{"35":{"position":[[1060,4],[1591,4]]},"36":{"position":[[1584,5]]},"37":{"position":[[853,4],[1384,4]]},"91":{"position":[[1346,6]]},"228":{"position":[[1089,4],[1620,4]]},"229":{"position":[[1584,5]]},"230":{"position":[[872,4],[1403,4]]},"231":{"position":[[1764,4]]},"232":{"position":[[1600,4]]},"249":{"position":[[17,5]]},"250":{"position":[[17,5]]},"279":{"position":[[1579,5]]},"295":{"position":[[17,5]]},"338":{"position":[[610,4]]},"367":{"position":[[846,4]]},"455":{"position":[[1495,4]]},"468":{"position":[[562,6]]},"530":{"position":[[331,6]]},"579":{"position":[[27,6],[230,6],[409,7]]},"800":{"position":[[24,4]]}},"keywords":{}}],["markdown",{"_index":2759,"title":{},"content":{"301":{"position":[[1397,8]]},"358":{"position":[[892,10]]}},"keywords":{}}],["marker",{"_index":1077,"title":{},"content":{"48":{"position":[[503,6],[4006,6],[4264,6],[4313,6]]}},"keywords":{}}],["market",{"_index":4093,"title":{},"content":{"431":{"position":[[598,9],[696,9],[773,9],[939,9]]}},"keywords":{}}],["master",{"_index":3556,"title":{},"content":{"371":{"position":[[91,6]]}},"keywords":{}}],["match",{"_index":1900,"title":{},"content":{"109":{"position":[[2149,5],[2473,5]]},"115":{"position":[[2255,5]]},"176":{"position":[[184,5],[212,6]]},"190":{"position":[[190,5],[218,6]]},"201":{"position":[[182,5],[210,6]]},"205":{"position":[[184,5],[212,6]]},"231":{"position":[[226,5],[1244,5]]},"232":{"position":[[226,5],[1080,5]]},"272":{"position":[[70,7],[265,8]]},"279":{"position":[[2673,5]]},"281":{"position":[[155,5]]},"314":{"position":[[937,5]]},"331":{"position":[[855,5]]},"358":{"position":[[288,5],[5741,7],[6186,5]]},"371":{"position":[[205,8]]},"373":{"position":[[223,5]]},"378":{"position":[[1292,5],[1347,5]]},"380":{"position":[[1084,5]]},"540":{"position":[[1601,5]]},"578":{"position":[[156,7]]},"612":{"position":[[1101,5]]},"619":{"position":[[1033,5]]},"668":{"position":[[1137,5]]}},"keywords":{}}],["match).next",{"_index":3272,"title":{},"content":{"358":{"position":[[5799,11]]}},"keywords":{}}],["materi",{"_index":2172,"title":{},"content":{"197":{"position":[[190,8]]},"307":{"position":[[1764,8]]},"413":{"position":[[241,8]]}},"keywords":{}}],["math",{"_index":3741,"title":{},"content":{"387":{"position":[[1611,4]]}},"keywords":{}}],["matlab",{"_index":4181,"title":{},"content":{"476":{"position":[[260,7]]},"479":{"position":[[49,6]]}},"keywords":{}}],["matrix",{"_index":4647,"title":{},"content":{"598":{"position":[[38,6]]}},"keywords":{}}],["matrixbycolumn",{"_index":4646,"title":{"598":{"position":[[0,16]]}},"content":{"598":{"position":[[50,15],[251,15]]}},"keywords":{}}],["matter",{"_index":294,"title":{},"content":{"8":{"position":[[448,7]]},"9":{"position":[[1025,6]]},"141":{"position":[[641,6]]},"302":{"position":[[1015,6]]},"332":{"position":[[1124,6]]},"387":{"position":[[1351,7]]},"506":{"position":[[201,6]]},"524":{"position":[[195,6]]},"530":{"position":[[38,6]]}},"keywords":{}}],["max",{"_index":883,"title":{},"content":{"40":{"position":[[976,3],[1121,3],[1256,3]]},"48":{"position":[[329,3],[2666,3]]},"55":{"position":[[2283,3]]},"62":{"position":[[609,3]]},"81":{"position":[[579,3]]},"82":{"position":[[931,3],[1053,3],[1127,3],[6339,3]]},"213":{"position":[[679,3]]},"214":{"position":[[633,3],[727,3],[841,3]]},"215":{"position":[[479,3]]},"218":{"position":[[835,3],[929,3],[1043,3]]},"219":{"position":[[969,3]]},"220":{"position":[[886,3],[1011,3],[1144,3]]},"228":{"position":[[2061,3]]},"358":{"position":[[2831,3],[3008,3],[4118,3]]},"359":{"position":[[1429,3],[1608,3]]},"379":{"position":[[378,3]]},"402":{"position":[[3328,4]]},"522":{"position":[[1116,3],[1181,3]]},"590":{"position":[[101,3]]},"626":{"position":[[505,4],[1232,4]]},"627":{"position":[[539,4],[1285,4]]},"628":{"position":[[523,4],[1257,4]]}},"keywords":{}}],["max_uint16",{"_index":3630,"title":{},"content":{"379":{"position":[[562,10],[1422,10],[1954,10],[2454,10]]}},"keywords":{}}],["max_uint8",{"_index":3639,"title":{},"content":{"379":{"position":[[806,9],[1686,9],[2191,9],[2691,9]]}},"keywords":{}}],["maximum",{"_index":652,"title":{},"content":{"35":{"position":[[914,7],[928,7]]},"36":{"position":[[2453,7],[2512,7],[10029,7],[10144,7]]},"37":{"position":[[707,7],[721,7]]},"55":{"position":[[2298,7],[2351,7]]},"62":{"position":[[624,7],[677,7]]},"153":{"position":[[91,7]]},"154":{"position":[[113,7]]},"156":{"position":[[98,7]]},"157":{"position":[[120,7]]},"160":{"position":[[93,7]]},"161":{"position":[[115,7]]},"163":{"position":[[100,7]]},"164":{"position":[[122,7]]},"173":{"position":[[1,7]]},"228":{"position":[[943,7],[957,7]]},"229":{"position":[[2453,7],[2512,7],[10029,7],[10144,7]]},"230":{"position":[[726,7],[740,7]]},"231":{"position":[[1113,7],[1127,7]]},"232":{"position":[[949,7],[963,7]]},"358":{"position":[[3664,7],[3872,7],[4101,7],[4564,7]]},"522":{"position":[[1314,7]]},"599":{"position":[[175,7]]},"618":{"position":[[351,7]]},"625":{"position":[[320,7]]},"631":{"position":[[330,7]]},"690":{"position":[[1378,10]]},"717":{"position":[[352,7]]},"744":{"position":[[310,7]]},"791":{"position":[[22,7]]},"792":{"position":[[21,7]]}},"keywords":{}}],["maximum_valu",{"_index":706,"title":{},"content":{"36":{"position":[[2416,14]]},"229":{"position":[[2416,14]]}},"keywords":{}}],["mb",{"_index":3387,"title":{},"content":{"367":{"position":[[238,2],[278,3],[327,2],[383,2],[564,2],[593,2],[630,2]]}},"keywords":{}}],["mc_frm_cnt",{"_index":1286,"title":{},"content":{"60":{"position":[[99,11]]}},"keywords":{}}],["md5",{"_index":1937,"title":{},"content":{"112":{"position":[[738,4]]}},"keywords":{}}],["mdi",{"_index":2825,"title":{},"content":{"307":{"position":[[1858,3]]}},"keywords":{}}],["mean",{"_index":442,"title":{},"content":{"20":{"position":[[853,6]]},"54":{"position":[[1438,5]]},"57":{"position":[[545,6],[1111,6]]},"67":{"position":[[1847,5],[2632,5],[2729,5]]},"73":{"position":[[886,5],[1278,5]]},"258":{"position":[[285,5]]},"330":{"position":[[1496,5]]},"358":{"position":[[3162,5],[4046,8],[4248,7],[4414,8],[7985,5]]},"387":{"position":[[269,5]]},"393":{"position":[[115,5]]},"472":{"position":[[508,5]]},"498":{"position":[[823,5],[899,5]]},"535":{"position":[[539,5]]},"552":{"position":[[50,5]]},"572":{"position":[[145,9]]},"610":{"position":[[576,5]]},"669":{"position":[[479,5]]}},"keywords":{}}],["meant",{"_index":2570,"title":{},"content":{"267":{"position":[[454,5]]},"323":{"position":[[482,5]]},"387":{"position":[[732,5],[1657,5]]}},"keywords":{}}],["meas_voltage_1",{"_index":1328,"title":{},"content":{"64":{"position":[[1035,14]]},"219":{"position":[[1477,15],[1587,14]]}},"keywords":{}}],["meas_voltage_2",{"_index":1334,"title":{},"content":{"64":{"position":[[1147,14]]},"219":{"position":[[1493,14],[1665,14]]}},"keywords":{}}],["measur",{"_index":4016,"title":{},"content":{"424":{"position":[[110,8],[1654,8],[1995,10]]},"429":{"position":[[141,8],[431,8]]}},"keywords":{}}],["mech",{"_index":4171,"title":{},"content":{"472":{"position":[[442,6]]}},"keywords":{}}],["mechan",{"_index":3131,"title":{},"content":{"348":{"position":[[878,9]]},"349":{"position":[[955,10]]},"350":{"position":[[562,9],[742,9]]},"546":{"position":[[1008,10]]},"569":{"position":[[144,10]]}},"keywords":{}}],["meet",{"_index":3526,"title":{},"content":{"369":{"position":[[4052,4]]},"722":{"position":[[104,5]]},"723":{"position":[[89,5]]},"726":{"position":[[117,5]]}},"keywords":{}}],["mem",{"_index":3441,"title":{},"content":{"369":{"position":[[1114,3],[2605,3]]}},"keywords":{}}],["memcosmo",{"_index":3442,"title":{},"content":{"369":{"position":[[1125,9],[2616,9]]}},"keywords":{}}],["memori",{"_index":2568,"title":{"367":{"position":[[0,7]]}},"content":{"267":{"position":[[16,6]]},"273":{"position":[[232,6]]},"330":{"position":[[521,6],[658,7]]},"354":{"position":[[139,6]]},"367":{"position":[[839,6],[1157,6]]},"369":{"position":[[91,7],[1059,6],[1897,6],[1983,6],[2550,6],[3387,6],[3901,6]]},"455":{"position":[[619,6]]},"626":{"position":[[1765,6]]},"627":{"position":[[1818,6]]},"628":{"position":[[1790,6]]}},"keywords":{}}],["memory=16gb",{"_index":3023,"title":{},"content":{"330":{"position":[[875,11]]}},"keywords":{}}],["mention",{"_index":1396,"title":{},"content":{"67":{"position":[[3600,9]]},"349":{"position":[[2051,9]]}},"keywords":{}}],["menu",{"_index":2159,"title":{"460":{"position":[[12,6]]},"461":{"position":[[5,4]]},"465":{"position":[[15,6]]},"466":{"position":[[5,4]]},"471":{"position":[[15,6]]},"472":{"position":[[5,4]]},"477":{"position":[[15,6]]},"478":{"position":[[5,4]]},"479":{"position":[[5,4]]},"488":{"position":[[14,6]]},"489":{"position":[[5,4]]},"490":{"position":[[5,4]]},"495":{"position":[[5,4]]},"502":{"position":[[5,4]]},"510":{"position":[[29,6]]},"511":{"position":[[5,4]]},"520":{"position":[[18,6]]},"521":{"position":[[5,4]]},"522":{"position":[[6,4]]},"527":{"position":[[14,6]]},"528":{"position":[[5,4]]},"529":{"position":[[7,4]]}},"content":{"192":{"position":[[457,4]]},"197":{"position":[[74,5]]},"198":{"position":[[102,5]]},"199":{"position":[[74,5]]},"348":{"position":[[560,6]]},"349":{"position":[[3783,5]]},"350":{"position":[[362,6],[701,5],[869,5],[1550,5]]},"352":{"position":[[448,4]]},"452":{"position":[[394,4]]},"468":{"position":[[226,4]]},"491":{"position":[[105,5]]},"511":{"position":[[42,4]]},"532":{"position":[[145,6]]},"533":{"position":[[311,5],[917,5]]},"534":{"position":[[654,5],[766,6]]},"554":{"position":[[297,5]]},"557":{"position":[[172,5]]},"658":{"position":[[212,4]]}},"keywords":{}}],["merchant",{"_index":3779,"title":{},"content":{"390":{"position":[[830,16]]}},"keywords":{}}],["merg",{"_index":289,"title":{},"content":{"8":{"position":[[274,5]]},"9":{"position":[[295,6],[624,6]]},"386":{"position":[[45,6],[613,7]]}},"keywords":{}}],["messag",{"_index":112,"title":{"517":{"position":[[4,9]]}},"content":{"3":{"position":[[459,8]]},"36":{"position":[[1301,8],[3144,8]]},"58":{"position":[[117,8]]},"61":{"position":[[85,8]]},"67":{"position":[[5036,8]]},"93":{"position":[[110,8]]},"96":{"position":[[205,7],[376,7]]},"109":{"position":[[162,8],[2007,8]]},"110":{"position":[[182,8]]},"229":{"position":[[1301,8],[3144,8]]},"238":{"position":[[161,8]]},"239":{"position":[[43,9]]},"279":{"position":[[1296,8],[7967,7]]},"303":{"position":[[877,8]]},"332":{"position":[[618,8]]},"339":{"position":[[134,8],[325,8],[369,8],[402,8]]},"340":{"position":[[507,8],[555,8],[642,8]]},"342":{"position":[[1157,7],[1197,8]]},"344":{"position":[[1250,7]]},"349":{"position":[[276,8],[2960,7]]},"354":{"position":[[164,7]]},"359":{"position":[[2349,7]]},"378":{"position":[[688,9]]},"431":{"position":[[891,8]]},"509":{"position":[[421,8],[445,9]]},"511":{"position":[[304,8],[340,8]]},"517":{"position":[[9,8],[116,8],[391,8]]},"536":{"position":[[92,9],[169,9]]},"554":{"position":[[830,7],[979,7]]},"557":{"position":[[309,7]]},"561":{"position":[[291,7]]},"565":{"position":[[147,7]]},"658":{"position":[[1232,9]]},"668":{"position":[[71,7],[497,7]]},"673":{"position":[[988,7],[1000,7],[1559,7],[1953,7]]},"675":{"position":[[12,7],[165,7]]}},"keywords":{}}],["message_box",{"_index":4511,"title":{"666":{"position":[[0,12]]}},"content":{"559":{"position":[[1129,13]]},"668":{"position":[[5,12]]}},"keywords":{}}],["message_box("<message>"",{"_index":4970,"title":{},"content":{"668":{"position":[[213,40]]}},"keywords":{}}],["message_box("select",{"_index":4978,"title":{},"content":{"668":{"position":[[607,24],[922,24]]}},"keywords":{}}],["messages.port_tc",{"_index":3685,"title":{},"content":{"380":{"position":[[1229,16]]}},"keywords":{}}],["meta",{"_index":670,"title":{"240":{"position":[[0,5]]},"287":{"position":[[0,5]]}},"content":{"36":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"109":{"position":[[386,4],[1880,5],[2219,4],[2545,4]]},"114":{"position":[[346,4],[448,4]]},"229":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"240":{"position":[[42,4],[297,4],[350,4],[383,4]]},"279":{"position":[[612,5],[648,4],[903,4],[956,4],[989,4]]},"287":{"position":[[51,4],[306,4],[359,4],[392,4]]}},"keywords":{}}],["metadata",{"_index":672,"title":{"452":{"position":[[0,9]]},"800":{"position":[[0,9]]}},"content":{"36":{"position":[[643,8],[885,8]]},"229":{"position":[[643,8],[885,8]]},"240":{"position":[[8,8],[274,8]]},"279":{"position":[[638,8],[880,8]]},"287":{"position":[[8,8],[283,8]]},"449":{"position":[[21,9]]},"452":{"position":[[1,8],[260,8],[357,8],[472,8],[507,8],[624,8]]},"800":{"position":[[1,8],[106,8]]},"801":{"position":[[17,8],[128,8]]},"802":{"position":[[9,8],[158,8]]},"803":{"position":[[9,8],[187,9],[243,9],[309,8]]},"804":{"position":[[9,8],[191,9],[248,9],[276,9],[326,8]]},"805":{"position":[[34,8]]}},"keywords":{}}],["metadata_al",{"_index":5727,"title":{"801":{"position":[[0,13]]}},"content":{"801":{"position":[[74,14]]}},"keywords":{}}],["metadata_all(limit",{"_index":5728,"title":{},"content":{"801":{"position":[[186,19]]}},"keywords":{}}],["metadata_all(limit='500",{"_index":5730,"title":{},"content":{"801":{"position":[[230,25]]}},"keywords":{}}],["metadata_get",{"_index":5731,"title":{"802":{"position":[[0,13]]}},"content":{},"keywords":{}}],["metadata_get(start",{"_index":5732,"title":{},"content":{"802":{"position":[[66,19],[213,19]]}},"keywords":{}}],["metadata_get(start='500",{"_index":5734,"title":{},"content":{"802":{"position":[[257,25]]}},"keywords":{}}],["metadata_input",{"_index":5743,"title":{"805":{"position":[[0,15]]}},"content":{"805":{"position":[[109,16]]}},"keywords":{}}],["metadata_set",{"_index":5735,"title":{"803":{"position":[[0,13]]}},"content":{"803":{"position":[[371,14],[409,14],[484,14],[517,14]]}},"keywords":{}}],["metadata_set(<metadata>",{"_index":5736,"title":{},"content":{"803":{"position":[[66,30]]}},"keywords":{}}],["metadata_upd",{"_index":5741,"title":{"804":{"position":[[0,16]]}},"content":{"804":{"position":[[388,17],[448,17]]}},"keywords":{}}],["metadata_update(<metadata>",{"_index":5742,"title":{},"content":{"804":{"position":[[66,33]]}},"keywords":{}}],["metadatashow",{"_index":4281,"title":{},"content":{"529":{"position":[[78,12]]}},"keywords":{}}],["meter",{"_index":4342,"title":{},"content":{"540":{"position":[[1376,6]]}},"keywords":{}}],["method",{"_index":240,"title":{"68":{"position":[[0,6]]},"88":{"position":[[10,8]]},"550":{"position":[[22,8]]},"551":{"position":[[26,8]]}},"content":{"7":{"position":[[19,6],[352,6]]},"17":{"position":[[316,7]]},"18":{"position":[[321,7]]},"36":{"position":[[4250,6],[4321,7],[4850,6],[8847,6]]},"67":{"position":[[771,7],[866,6],[929,7],[1657,8],[1696,7],[2018,6],[2108,7],[2353,7],[2499,6],[2871,6],[3041,7],[3138,7],[3234,7],[3247,6],[3417,7],[3549,6],[3971,6],[3997,6],[4349,8],[4441,7],[4471,6],[4716,8],[4793,7],[4852,6],[4961,6]]},"69":{"position":[[891,6]]},"70":{"position":[[11,6],[117,6],[233,8]]},"71":{"position":[[19,6],[311,6]]},"72":{"position":[[22,6],[326,6]]},"73":{"position":[[15,6],[1711,6]]},"74":{"position":[[17,6],[629,6]]},"75":{"position":[[18,6]]},"76":{"position":[[16,6]]},"77":{"position":[[26,6],[114,6],[661,7]]},"78":{"position":[[18,6]]},"79":{"position":[[88,7]]},"88":{"position":[[13,7],[160,7],[246,6],[306,7],[353,7],[579,7]]},"91":{"position":[[15,7],[122,6],[202,6],[286,6],[368,6],[1280,7],[1437,7]]},"92":{"position":[[15,7],[103,6],[180,6],[257,6],[341,6]]},"97":{"position":[[84,6]]},"115":{"position":[[31,7],[162,6],[324,6],[445,6],[599,6],[790,6],[861,7],[1058,6],[1316,6],[1624,6],[1783,6],[1958,6]]},"128":{"position":[[195,7]]},"140":{"position":[[97,7]]},"217":{"position":[[560,6]]},"229":{"position":[[4250,6],[4321,7],[4850,6],[8847,6]]},"251":{"position":[[163,7]]},"271":{"position":[[1637,6]]},"279":{"position":[[3199,6],[3270,7]]},"297":{"position":[[329,6]]},"302":{"position":[[1624,7],[1756,7]]},"304":{"position":[[753,6]]},"305":{"position":[[800,6]]},"309":{"position":[[165,7]]},"348":{"position":[[33,6]]},"349":{"position":[[1947,8],[1968,7],[2909,7],[3073,6],[5379,7],[5545,7]]},"354":{"position":[[83,7]]},"401":{"position":[[205,7]]},"429":{"position":[[620,7]]},"447":{"position":[[523,7]]},"533":{"position":[[30,7],[78,7],[817,7],[837,7],[966,7]]},"534":{"position":[[101,7],[574,7]]},"540":{"position":[[1408,6],[4222,7],[4324,6],[4925,6]]},"543":{"position":[[120,6]]},"544":{"position":[[528,7],[819,7],[1300,7]]},"546":{"position":[[215,7],[732,9]]},"547":{"position":[[499,7],[529,6]]},"549":{"position":[[40,8],[289,7]]},"550":{"position":[[35,7],[69,7],[194,7],[252,6],[276,6]]},"551":{"position":[[79,7],[152,7],[319,8],[401,6]]},"552":{"position":[[1105,6],[2108,7]]},"554":{"position":[[770,8]]},"559":{"position":[[35,7],[105,7],[1067,7],[1209,7]]},"563":{"position":[[136,7]]},"564":{"position":[[162,6]]},"568":{"position":[[116,6]]},"572":{"position":[[98,7],[358,7]]},"592":{"position":[[60,6],[324,7]]},"637":{"position":[[342,7],[1315,7]]},"660":{"position":[[15,7],[171,7]]},"661":{"position":[[19,7],[88,7],[139,6]]},"662":{"position":[[19,7],[151,6]]},"663":{"position":[[7,7]]},"668":{"position":[[54,7]]},"673":{"position":[[44,7],[240,8]]},"674":{"position":[[7,7]]},"676":{"position":[[7,7]]},"696":{"position":[[7,7]]},"699":{"position":[[109,6]]},"700":{"position":[[12,6],[65,6],[300,6],[336,6],[369,6]]},"710":{"position":[[165,6]]},"712":{"position":[[219,7]]},"715":{"position":[[1,7]]},"721":{"position":[[7,7]]},"724":{"position":[[135,6]]},"728":{"position":[[131,6]]},"730":{"position":[[7,7]]},"731":{"position":[[21,6]]},"745":{"position":[[1,7]]},"749":{"position":[[7,7]]},"760":{"position":[[7,7]]},"770":{"position":[[7,7]]},"776":{"position":[[7,7]]},"779":{"position":[[7,7]]},"788":{"position":[[7,7]]},"789":{"position":[[6,6]]},"790":{"position":[[5,6]]},"791":{"position":[[6,6]]},"792":{"position":[[5,6]]},"795":{"position":[[16,7],[52,6],[78,7],[125,7],[189,6],[216,6],[274,6],[304,6],[354,6],[380,6],[430,6],[891,6],[910,6],[994,7]]},"796":{"position":[[7,7]]}},"keywords":{}}],["methodolog",{"_index":3148,"title":{},"content":{"349":{"position":[[598,11]]}},"keywords":{}}],["metric",{"_index":2379,"title":{},"content":{"222":{"position":[[245,7]]},"258":{"position":[[1639,7],[1676,7]]},"362":{"position":[[379,6]]},"364":{"position":[[20,7],[628,7]]},"369":{"position":[[1557,7],[3047,7]]},"516":{"position":[[39,8]]}},"keywords":{}}],["metric>",{"_index":3320,"title":{},"content":{"362":{"position":[[248,12]]}},"keywords":{}}],["metrics_path",{"_index":3368,"title":{},"content":{"364":{"position":[[636,13],[787,13],[935,13],[1074,13]]}},"keywords":{}}],["mib",{"_index":3400,"title":{},"content":{"367":{"position":[[1015,3],[1183,4]]}},"keywords":{}}],["micro",{"_index":2552,"title":{},"content":{"264":{"position":[[192,5]]}},"keywords":{}}],["microsecond",{"_index":2614,"title":{},"content":{"275":{"position":[[1167,12]]}},"keywords":{}}],["microservic",{"_index":33,"title":{"123":{"position":[[0,13]]},"178":{"position":[[0,13]]},"179":{"position":[[0,12]]},"303":{"position":[[0,12]]},"411":{"position":[[0,14]]}},"content":{"2":{"position":[[46,12],[111,13],[373,14]]},"11":{"position":[[67,13],[190,13]]},"117":{"position":[[447,13]]},"123":{"position":[[1,13]]},"142":{"position":[[52,13]]},"143":{"position":[[73,12],[124,12],[200,12],[292,12],[343,12],[419,12]]},"144":{"position":[[34,12]]},"145":{"position":[[51,13],[102,13],[193,13]]},"146":{"position":[[68,12]]},"147":{"position":[[57,12]]},"148":{"position":[[45,13]]},"172":{"position":[[29,12]]},"174":{"position":[[32,12],[349,12]]},"175":{"position":[[181,12]]},"177":{"position":[[45,13]]},"178":{"position":[[15,12],[39,12],[95,13],[257,12],[338,12],[398,12],[454,12]]},"179":{"position":[[38,12]]},"180":{"position":[[37,13],[172,12]]},"181":{"position":[[57,12],[108,12],[184,12],[276,12],[327,12],[403,12],[447,12]]},"182":{"position":[[35,12],[267,12]]},"183":{"position":[[61,13],[91,13],[363,12],[398,12]]},"184":{"position":[[64,13],[98,13],[217,13],[310,12],[345,12]]},"185":{"position":[[36,13],[86,13],[177,13],[212,12],[294,12]]},"186":{"position":[[23,12],[81,13],[246,13]]},"187":{"position":[[52,12]]},"188":{"position":[[47,12],[88,13]]},"189":{"position":[[57,12],[243,12]]},"190":{"position":[[80,12]]},"191":{"position":[[45,13]]},"192":{"position":[[245,14]]},"258":{"position":[[952,13]]},"303":{"position":[[5,12],[69,13],[217,12],[250,12],[340,12],[364,12],[575,13],[671,13],[703,13],[826,12],[987,13],[1189,13],[1204,12],[1239,12]]},"338":{"position":[[467,12]]},"339":{"position":[[165,13],[215,14]]},"343":{"position":[[137,12],[202,13],[464,14]]},"356":{"position":[[466,14],[527,13],[565,12]]},"358":{"position":[[1006,13]]},"368":{"position":[[106,13]]},"383":{"position":[[1751,13]]},"407":{"position":[[111,14]]},"411":{"position":[[5,13],[37,13],[157,12]]},"415":{"position":[[80,13]]},"440":{"position":[[366,13]]},"455":{"position":[[48,12],[82,12]]},"548":{"position":[[236,13]]}},"keywords":{}}],["microservices/background/background.rb",{"_index":2784,"title":{},"content":{"303":{"position":[[770,38]]}},"keywords":{}}],["microservices/microservicefoldernam",{"_index":2139,"title":{},"content":{"178":{"position":[[296,36]]}},"keywords":{}}],["middl",{"_index":4177,"title":{},"content":{"473":{"position":[[900,8]]},"552":{"position":[[2041,6]]}},"keywords":{}}],["midnight",{"_index":1112,"title":{},"content":{"48":{"position":[[2836,10],[3270,10]]},"402":{"position":[[4347,9]]}},"keywords":{}}],["midnight)"",{"_index":2706,"title":{},"content":{"299":{"position":[[782,15]]}},"keywords":{}}],["migrat",{"_index":3698,"title":{"383":{"position":[[0,9]]},"661":{"position":[[0,9]]},"662":{"position":[[0,9]]}},"content":{"382":{"position":[[591,7]]},"383":{"position":[[615,9],[1043,9],[1167,7],[1402,7],[1708,9]]}},"keywords":{}}],["million",{"_index":3800,"title":{},"content":{"392":{"position":[[36,8]]}},"keywords":{}}],["millisecond",{"_index":2712,"title":{},"content":{"299":{"position":[[920,11]]},"344":{"position":[[821,11]]},"379":{"position":[[3216,12]]},"717":{"position":[[247,12]]}},"keywords":{}}],["min",{"_index":882,"title":{},"content":{"40":{"position":[[972,3],[1117,3],[1252,3]]},"138":{"position":[[433,4]]},"213":{"position":[[675,3]]},"214":{"position":[[629,3],[723,3],[837,3]]},"215":{"position":[[475,3]]},"218":{"position":[[831,3],[925,3],[1039,3]]},"219":{"position":[[965,3]]},"220":{"position":[[882,3],[1007,3],[1140,3]]},"228":{"position":[[2057,3]]},"320":{"position":[[982,3],[1126,3],[1277,3]]},"358":{"position":[[2827,3],[3004,3],[4042,3]]},"359":{"position":[[1425,3],[1604,3]]},"367":{"position":[[724,3]]},"373":{"position":[[383,5]]},"379":{"position":[[370,3]]},"402":{"position":[[3323,4]]},"522":{"position":[[1106,3],[1171,3]]},"626":{"position":[[500,4],[1227,4]]},"627":{"position":[[534,4],[1280,4]]},"628":{"position":[[518,4],[1252,4]]}},"keywords":{}}],["min_uint16",{"_index":3653,"title":{},"content":{"379":{"position":[[1411,10],[1943,10],[2443,10]]}},"keywords":{}}],["min_uint8",{"_index":3638,"title":{},"content":{"379":{"position":[[796,9],[1676,9],[1696,9],[2181,9],[2201,9],[2681,9],[2701,9]]}},"keywords":{}}],["mind",{"_index":1883,"title":{},"content":{"109":{"position":[[582,4]]},"110":{"position":[[575,4]]}},"keywords":{}}],["minicomput",{"_index":3924,"title":{},"content":{"404":{"position":[[53,12]]}},"keywords":{}}],["minim",{"_index":4244,"title":{},"content":{"506":{"position":[[561,9],[723,9]]},"524":{"position":[[863,9]]}},"keywords":{}}],["minimum",{"_index":651,"title":{},"content":{"35":{"position":[[868,7]]},"36":{"position":[[2319,7],[2378,7],[10040,7]]},"37":{"position":[[661,7]]},"54":{"position":[[35,7],[568,7],[792,7]]},"228":{"position":[[897,7]]},"229":{"position":[[2319,7],[2378,7],[10040,7]]},"230":{"position":[[680,7]]},"231":{"position":[[1067,7]]},"232":{"position":[[903,7]]},"330":{"position":[[327,7]]},"358":{"position":[[3642,7],[3850,7],[4025,7],[4553,7]]},"522":{"position":[[1289,7]]},"579":{"position":[[276,7]]},"618":{"position":[[212,7]]},"625":{"position":[[181,7]]},"631":{"position":[[191,7]]},"690":{"position":[[1364,10]]},"722":{"position":[[53,8]]}},"keywords":{}}],["minimum_valu",{"_index":705,"title":{},"content":{"36":{"position":[[2282,14]]},"229":{"position":[[2282,14]]}},"keywords":{}}],["minio",{"_index":57,"title":{"268":{"position":[[0,6]]}},"content":{"2":{"position":[[471,5]]},"23":{"position":[[115,6]]},"42":{"position":[[1440,5],[2937,5]]},"258":{"position":[[830,5],[1316,5]]},"268":{"position":[[1,5]]},"343":{"position":[[562,5]]},"364":{"position":[[1064,5]]},"369":{"position":[[1782,5],[3273,5]]}},"keywords":{}}],["minio/v2/metrics/clust",{"_index":3375,"title":{},"content":{"364":{"position":[[1088,25]]}},"keywords":{}}],["minio:9000",{"_index":3376,"title":{},"content":{"364":{"position":[[1163,12]]}},"keywords":{}}],["minio:latest",{"_index":994,"title":{},"content":{"42":{"position":[[2849,12]]}},"keywords":{}}],["minor",{"_index":3702,"title":{},"content":{"382":{"position":[[888,5]]}},"keywords":{}}],["minu",{"_index":1223,"title":{},"content":{"55":{"position":[[1282,5]]}},"keywords":{}}],["minut",{"_index":1521,"title":{},"content":{"82":{"position":[[216,8]]},"138":{"position":[[475,7],[643,6],[757,7],[812,6]]},"166":{"position":[[26,6],[130,6]]},"171":{"position":[[155,8]]},"303":{"position":[[860,6]]},"330":{"position":[[1016,8]]},"338":{"position":[[516,7],[603,6]]},"404":{"position":[[1817,6],[2583,8]]},"628":{"position":[[630,7]]}},"keywords":{}}],["minutes)"",{"_index":1663,"title":{},"content":{"83":{"position":[[3119,14]]}},"keywords":{}}],["mirror",{"_index":3149,"title":{},"content":{"349":{"position":[[652,7]]}},"keywords":{}}],["misinterpret",{"_index":1177,"title":{},"content":{"51":{"position":[[526,14]]}},"keywords":{}}],["miss",{"_index":5322,"title":{},"content":{"715":{"position":[[196,7]]}},"keywords":{}}],["mission",{"_index":1775,"title":{},"content":{"95":{"position":[[33,7]]},"96":{"position":[[611,7]]},"391":{"position":[[528,8]]},"393":{"position":[[907,7],[975,7]]}},"keywords":{}}],["misspel",{"_index":4560,"title":{},"content":{"566":{"position":[[774,10]]}},"keywords":{}}],["mistak",{"_index":5214,"title":{},"content":{"699":{"position":[[434,7]]}},"keywords":{}}],["misus",{"_index":584,"title":{},"content":{"27":{"position":[[631,7]]},"429":{"position":[[182,7]]},"434":{"position":[[792,6]]}},"keywords":{}}],["mit",{"_index":3760,"title":{},"content":{"389":{"position":[[1405,3]]}},"keywords":{}}],["mixin",{"_index":2951,"title":{},"content":{"320":{"position":[[332,7]]},"572":{"position":[[52,7],[331,6],[404,6]]}},"keywords":{}}],["mkdir",{"_index":2893,"title":{},"content":{"309":{"position":[[3098,5]]}},"keywords":{}}],["mnemon",{"_index":166,"title":{"564":{"position":[[19,10]]}},"content":{"5":{"position":[[708,9]]},"226":{"position":[[178,9]]},"276":{"position":[[198,9]]},"349":{"position":[[3989,8]]},"529":{"position":[[157,8]]},"544":{"position":[[425,8],[1253,9]]},"564":{"position":[[31,9]]},"566":{"position":[[759,8]]},"604":{"position":[[75,8]]},"608":{"position":[[120,9]]},"658":{"position":[[1174,10]]},"677":{"position":[[893,9]]},"678":{"position":[[1115,9]]},"679":{"position":[[1136,9]]},"680":{"position":[[1169,9]]},"681":{"position":[[969,9]]},"682":{"position":[[1186,9]]},"683":{"position":[[1207,9]]},"684":{"position":[[1240,9]]}},"keywords":{}}],["mode",{"_index":383,"title":{"322":{"position":[[6,4]]},"323":{"position":[[12,5]]},"325":{"position":[[16,5]]},"466":{"position":[[0,4]]},"479":{"position":[[0,4]]},"556":{"position":[[17,5]]}},"content":{"17":{"position":[[344,4]]},"18":{"position":[[349,4]]},"42":{"position":[[2048,4],[2216,5]]},"62":{"position":[[693,4]]},"93":{"position":[[202,5]]},"196":{"position":[[55,4],[306,4],[324,4]]},"253":{"position":[[867,4]]},"299":{"position":[[1046,4]]},"324":{"position":[[138,4],[447,4],[561,4]]},"325":{"position":[[30,4]]},"326":{"position":[[1279,4]]},"348":{"position":[[1446,4],[1620,4],[1787,4]]},"349":{"position":[[4314,4],[4689,4],[4983,4],[5096,4],[5209,4],[5320,4],[5486,4],[5652,4],[5791,4],[5937,4],[6104,4],[6252,4],[6382,4],[6544,4],[6757,4]]},"350":{"position":[[1182,4],[1284,4]]},"365":{"position":[[289,4]]},"402":{"position":[[2998,4],[3966,4],[4144,5]]},"513":{"position":[[626,5],[890,4]]},"556":{"position":[[12,4],[139,4],[532,5]]},"710":{"position":[[266,5]]},"797":{"position":[[31,4]]},"798":{"position":[[30,4]]},"799":{"position":[[32,5],[52,5],[209,4]]},"815":{"position":[[283,4]]},"816":{"position":[[289,4]]}},"keywords":{}}],["mode"",{"_index":2486,"title":{},"content":{"253":{"position":[[910,10]]},"299":{"position":[[1079,10]]},"560":{"position":[[735,10],[947,11]]}},"keywords":{}}],["mode=block",{"_index":1549,"title":{},"content":{"82":{"position":[[1244,10]]}},"keywords":{}}],["model",{"_index":2545,"title":{},"content":{"263":{"position":[[281,5]]},"546":{"position":[[409,5]]}},"keywords":{}}],["modelclick",{"_index":3943,"title":{},"content":{"404":{"position":[[728,10]]}},"keywords":{}}],["modern",{"_index":3925,"title":{},"content":{"404":{"position":[[103,6]]}},"keywords":{}}],["modif",{"_index":1458,"title":{},"content":{"77":{"position":[[308,13]]},"235":{"position":[[358,12]]},"285":{"position":[[348,12]]},"326":{"position":[[217,13],[1240,13]]},"389":{"position":[[99,12],[799,13]]},"669":{"position":[[429,13]]}},"keywords":{}}],["modifi",{"_index":642,"title":{"34":{"position":[[6,10]]},"36":{"position":[[10,10]]},"129":{"position":[[10,10]]},"151":{"position":[[7,10]]},"179":{"position":[[13,10]]},"193":{"position":[[5,10]]},"204":{"position":[[7,10]]},"227":{"position":[[8,10]]},"229":{"position":[[10,10]]},"277":{"position":[[10,10]]},"279":{"position":[[5,10]]},"704":{"position":[[15,9]]}},"content":{"67":{"position":[[2965,8],[3931,6],[4036,8],[4534,6],[4889,8]]},"73":{"position":[[57,6]]},"74":{"position":[[59,6]]},"75":{"position":[[60,6]]},"76":{"position":[[58,6]]},"101":{"position":[[97,9]]},"103":{"position":[[203,9]]},"139":{"position":[[26,6]]},"255":{"position":[[416,10]]},"309":{"position":[[2991,6],[3040,6]]},"314":{"position":[[179,8]]},"330":{"position":[[906,6],[1401,6]]},"338":{"position":[[695,9]]},"358":{"position":[[6605,6]]},"359":{"position":[[1030,6],[2704,9]]},"387":{"position":[[898,6]]},"407":{"position":[[505,9]]},"414":{"position":[[101,6]]},"669":{"position":[[497,8],[519,8]]},"670":{"position":[[375,9],[402,8]]},"814":{"position":[[149,6]]}},"keywords":{}}],["modul",{"_index":767,"title":{"572":{"position":[[17,8]]}},"content":{"36":{"position":[[5538,6]]},"229":{"position":[[5538,6]]},"279":{"position":[[4018,6]]},"572":{"position":[[1,7],[530,6]]}},"keywords":{}}],["modular",{"_index":3735,"title":{},"content":{"387":{"position":[[1117,7],[1320,7]]}},"keywords":{}}],["module_method",{"_index":4585,"title":{},"content":{"572":{"position":[[550,13],[632,15]]}},"keywords":{}}],["monet",{"_index":3765,"title":{},"content":{"389":{"position":[[1876,9]]}},"keywords":{}}],["monitor",{"_index":1246,"title":{"347":{"position":[[7,8]]},"360":{"position":[[0,10]]},"361":{"position":[[0,10]]},"469":{"position":[[7,7]]},"471":{"position":[[7,7]]}},"content":{"57":{"position":[[51,10]]},"83":{"position":[[247,7],[3170,7]]},"279":{"position":[[8727,10]]},"347":{"position":[[8,7],[157,7],[228,7],[341,7],[437,7],[524,7],[674,7],[758,7]]},"361":{"position":[[74,7],[176,7],[223,10]]},"363":{"position":[[70,10],[118,7]]},"368":{"position":[[709,10]]},"470":{"position":[[12,7]]},"473":{"position":[[30,7],[562,7],[871,8]]},"732":{"position":[[16,10]]},"733":{"position":[[17,10]]},"734":{"position":[[16,10]]},"735":{"position":[[17,10]]}},"keywords":{}}],["more",{"_index":91,"title":{},"content":{"3":{"position":[[118,4],[208,4]]},"7":{"position":[[1237,4]]},"20":{"position":[[1471,4]]},"36":{"position":[[927,4],[6625,4],[7421,4]]},"42":{"position":[[1819,4]]},"50":{"position":[[827,4]]},"51":{"position":[[635,6]]},"52":{"position":[[608,6]]},"67":{"position":[[2166,4],[2427,4],[2638,4],[4172,4]]},"73":{"position":[[428,4],[1725,4]]},"78":{"position":[[164,4]]},"101":{"position":[[144,4]]},"102":{"position":[[133,4],[156,4]]},"107":{"position":[[204,4]]},"108":{"position":[[197,4]]},"109":{"position":[[1731,4]]},"110":{"position":[[2113,4]]},"120":{"position":[[56,4]]},"125":{"position":[[316,4]]},"128":{"position":[[911,4]]},"141":{"position":[[146,4],[409,4]]},"145":{"position":[[159,4]]},"149":{"position":[[76,4],[701,4]]},"174":{"position":[[93,4]]},"185":{"position":[[143,4]]},"186":{"position":[[350,4]]},"188":{"position":[[106,4],[369,4]]},"203":{"position":[[372,4]]},"221":{"position":[[331,4]]},"229":{"position":[[927,4],[6625,4],[7421,4]]},"231":{"position":[[194,4]]},"232":{"position":[[194,4]]},"240":{"position":[[316,4]]},"242":{"position":[[187,4]]},"260":{"position":[[243,5]]},"267":{"position":[[107,5]]},"269":{"position":[[251,4]]},"275":{"position":[[593,4]]},"279":{"position":[[922,4],[5164,4],[6022,4]]},"281":{"position":[[96,4]]},"287":{"position":[[325,4]]},"291":{"position":[[187,4]]},"301":{"position":[[1208,4]]},"302":{"position":[[1955,4]]},"306":{"position":[[115,4]]},"309":{"position":[[367,4],[436,4],[1171,4]]},"320":{"position":[[504,4]]},"330":{"position":[[758,4]]},"333":{"position":[[1183,4],[1256,4]]},"338":{"position":[[330,4]]},"358":{"position":[[4669,5],[5921,5],[6035,4],[6086,4],[6557,4],[6712,4]]},"361":{"position":[[212,4]]},"369":{"position":[[3474,4],[3547,4]]},"383":{"position":[[421,4]]},"392":{"position":[[382,4]]},"393":{"position":[[1046,4],[1457,4]]},"434":{"position":[[380,4]]},"440":{"position":[[397,4]]},"447":{"position":[[614,4]]},"455":{"position":[[248,4]]},"519":{"position":[[68,4]]},"540":{"position":[[282,4]]},"542":{"position":[[953,4]]},"546":{"position":[[585,4],[607,4],[1267,4],[1290,4]]},"560":{"position":[[156,4]]},"563":{"position":[[401,4]]},"565":{"position":[[78,4]]},"576":{"position":[[343,4]]},"579":{"position":[[62,4]]},"581":{"position":[[122,4]]},"587":{"position":[[191,4]]},"588":{"position":[[185,4]]},"589":{"position":[[196,4]]},"591":{"position":[[122,4]]},"637":{"position":[[473,4],[1903,4]]},"660":{"position":[[188,4]]},"673":{"position":[[1284,4]]},"699":{"position":[[139,4]]},"716":{"position":[[38,4]]},"724":{"position":[[165,4]]},"728":{"position":[[161,4]]},"794":{"position":[[86,4]]}},"keywords":{}}],["more.item2",{"_index":2250,"title":{},"content":{"214":{"position":[[761,12],[2020,12]]},"218":{"position":[[963,12],[1798,12]]}},"keywords":{}}],["more.item3",{"_index":2255,"title":{},"content":{"214":{"position":[[877,12],[2118,12]]},"218":{"position":[[1079,12],[1896,12]]}},"keywords":{}}],["more.item4",{"_index":2258,"title":{},"content":{"214":{"position":[[972,12],[2188,12]]},"218":{"position":[[1174,12],[1966,12]]}},"keywords":{}}],["more.item5",{"_index":2262,"title":{},"content":{"214":{"position":[[1050,12],[2261,12]]},"218":{"position":[[1252,12],[2039,12]]}},"keywords":{}}],["mount",{"_index":2011,"title":{},"content":{"127":{"position":[[314,5]]},"141":{"position":[[240,5],[292,6]]},"188":{"position":[[200,5],[252,6]]},"217":{"position":[[1138,5]]},"309":{"position":[[972,7]]},"310":{"position":[[627,5]]}},"keywords":{}}],["mous",{"_index":3168,"title":{},"content":{"349":{"position":[[3866,5]]},"473":{"position":[[628,5]]},"636":{"position":[[199,6]]}},"keywords":{}}],["mouseov",{"_index":639,"title":{},"content":{"33":{"position":[[625,9],[884,9]]}},"keywords":{}}],["move",{"_index":2843,"title":{},"content":{"309":{"position":[[855,6]]},"326":{"position":[[973,5]]},"361":{"position":[[6,6]]},"506":{"position":[[20,5],[84,6],[116,4]]},"524":{"position":[[19,5],[83,6],[114,4]]},"551":{"position":[[222,5],[285,6],[867,4],[1330,4]]},"559":{"position":[[247,6]]}},"keywords":{}}],["move(self",{"_index":4476,"title":{},"content":{"551":{"position":[[1301,10]]}},"keywords":{}}],["move(steps_to_mov",{"_index":4463,"title":{},"content":{"551":{"position":[[845,19]]}},"keywords":{}}],["mozilla/5.0",{"_index":1609,"title":{},"content":{"83":{"position":[[1115,11]]}},"keywords":{}}],["mqtt",{"_index":1822,"title":{"109":{"position":[[0,4]]},"110":{"position":[[0,4]]}},"content":{"100":{"position":[[360,5]]},"103":{"position":[[102,4]]},"109":{"position":[[5,4],[101,4],[289,4],[514,4],[547,4],[844,4],[902,4],[960,4],[1856,4],[2181,4],[2507,4],[2692,4]]},"110":{"position":[[5,4],[111,4],[309,4],[507,4],[540,4],[1178,4],[1236,4],[1294,4],[2238,4],[2423,4]]},"343":{"position":[[1162,5]]}},"keywords":{}}],["mqtt_int",{"_index":1889,"title":{},"content":{"109":{"position":[[1322,8],[1502,8]]},"110":{"position":[[1656,8],[1860,8]]}},"keywords":{}}],["mqtt_interface.rb",{"_index":1890,"title":{},"content":{"109":{"position":[[1331,17]]}},"keywords":{}}],["mqtt_password",{"_index":1896,"title":{},"content":{"109":{"position":[[1622,13],[1806,13]]},"110":{"position":[[2004,13],[2188,13]]}},"keywords":{}}],["mqtt_stream_interface.rb",{"_index":1903,"title":{},"content":{"110":{"position":[[1665,24]]}},"keywords":{}}],["ms",{"_index":3660,"title":{},"content":{"379":{"position":[[3229,2]]}},"keywords":{}}],["msrdc",{"_index":3540,"title":{},"content":{"369":{"position":[[4368,5]]}},"keywords":{}}],["much",{"_index":712,"title":{},"content":{"36":{"position":[[2972,4]]},"53":{"position":[[36,4]]},"54":{"position":[[197,4]]},"61":{"position":[[216,4]]},"229":{"position":[[2972,4]]},"260":{"position":[[238,4]]},"279":{"position":[[2181,4]]},"358":{"position":[[8007,4]]},"369":{"position":[[1978,4],[3469,4],[3542,4]]},"552":{"position":[[1076,4]]}},"keywords":{}}],["multi",{"_index":858,"title":{},"content":{"39":{"position":[[46,5]]},"259":{"position":[[62,5]]},"365":{"position":[[14,5]]}},"keywords":{}}],["multicast",{"_index":1861,"title":{},"content":{"106":{"position":[[495,9],[561,9]]}},"keywords":{}}],["multilin",{"_index":4748,"title":{},"content":{"634":{"position":[[26,9]]}},"keywords":{}}],["multipart",{"_index":2064,"title":{},"content":{"141":{"position":[[853,9]]},"188":{"position":[[563,9]]}},"keywords":{}}],["multipl",{"_index":752,"title":{"562":{"position":[[56,8]]}},"content":{"36":{"position":[[4458,8],[8455,8]]},"39":{"position":[[78,8]]},"126":{"position":[[377,8]]},"148":{"position":[[101,8]]},"150":{"position":[[192,8]]},"174":{"position":[[157,8],[203,8]]},"177":{"position":[[101,8]]},"186":{"position":[[177,8],[222,8]]},"191":{"position":[[101,8]]},"225":{"position":[[150,8]]},"229":{"position":[[4458,8],[8455,8]]},"235":{"position":[[265,8]]},"267":{"position":[[594,8]]},"271":{"position":[[176,8]]},"279":{"position":[[8813,8]]},"285":{"position":[[265,8]]},"297":{"position":[[459,8]]},"333":{"position":[[919,8]]},"352":{"position":[[530,8],[566,8],[619,8],[659,8]]},"354":{"position":[[572,8]]},"358":{"position":[[7235,8]]},"379":{"position":[[3942,8]]},"402":{"position":[[1077,8]]},"422":{"position":[[350,8]]},"429":{"position":[[287,8]]},"432":{"position":[[121,8]]},"519":{"position":[[113,8],[176,8]]},"534":{"position":[[661,8]]},"544":{"position":[[118,8]]},"547":{"position":[[77,8]]},"549":{"position":[[86,8]]},"551":{"position":[[437,8]]},"562":{"position":[[158,8]]},"564":{"position":[[215,8]]},"572":{"position":[[513,8]]},"581":{"position":[[333,8]]},"591":{"position":[[333,8]]},"630":{"position":[[215,8]]},"673":{"position":[[112,8],[1535,8],[1929,8]]},"770":{"position":[[232,8],[252,8]]}},"keywords":{}}],["multipli",{"_index":771,"title":{},"content":{"36":{"position":[[5628,11],[5709,10],[5943,12]]},"229":{"position":[[5628,11],[5709,10],[5943,12]]},"279":{"position":[[4108,11],[4189,11],[4423,12]]},"613":{"position":[[211,8]]}},"keywords":{}}],["multiplier.to_f",{"_index":772,"title":{},"content":{"36":{"position":[[5642,15]]},"229":{"position":[[5642,15]]},"279":{"position":[[4122,15]]}},"keywords":{}}],["mv",{"_index":2861,"title":{},"content":{"309":{"position":[[1820,2]]}},"keywords":{}}],["my.grpc.org",{"_index":1958,"title":{},"content":{"114":{"position":[[248,11]]}},"keywords":{}}],["my_awesome_featur",{"_index":3719,"title":{},"content":{"386":{"position":[[231,18],[473,18]]}},"keywords":{}}],["my_file"",{"_index":335,"title":{},"content":{"12":{"position":[[269,14]]}},"keywords":{}}],["my_method",{"_index":5715,"title":{},"content":{"795":{"position":[[1267,9],[1499,12],[2066,12]]}},"keywords":{}}],["my_method(self",{"_index":5720,"title":{},"content":{"795":{"position":[[1808,16]]}},"keywords":{}}],["mygroup",{"_index":4521,"title":{},"content":{"561":{"position":[[318,7]]}},"keywords":{}}],["mygroup(group",{"_index":4526,"title":{},"content":{"561":{"position":[[631,15]]}},"keywords":{}}],["mymodul",{"_index":4584,"title":{},"content":{"572":{"position":[[537,8],[612,8]]}},"keywords":{}}],["myprefix",{"_index":2082,"title":{},"content":{"147":{"position":[[211,9]]},"189":{"position":[[211,9]]}},"keywords":{}}],["mysecure.com",{"_index":1874,"title":{},"content":{"107":{"position":[[975,12]]}},"keywords":{}}],["myself",{"_index":816,"title":{},"content":{"36":{"position":[[8229,8]]},"229":{"position":[[8229,8]]},"279":{"position":[[6888,8]]}},"keywords":{}}],["myserver.com",{"_index":1872,"title":{},"content":{"107":{"position":[[860,12]]}},"keywords":{}}],["mysteri",{"_index":2943,"title":{},"content":{"319":{"position":[[537,10]]}},"keywords":{}}],["mysuit",{"_index":4310,"title":{},"content":{"534":{"position":[[137,7]]},"795":{"position":[[1364,7]]}},"keywords":{}}],["mysuite(suit",{"_index":4316,"title":{},"content":{"534":{"position":[[370,15]]},"795":{"position":[[1917,15]]}},"keywords":{}}],["mytest",{"_index":4586,"title":{},"content":{"572":{"position":[[578,6]]}},"keywords":{}}],["n",{"_index":4785,"title":{},"content":{"639":{"position":[[241,1]]}},"keywords":{}}],["n/a",{"_index":1929,"title":{},"content":{"112":{"position":[[511,3],[553,3],[610,3],[635,3],[705,3],[758,3],[802,3],[834,3],[866,3]]}},"keywords":{}}],["name",{"_index":162,"title":{},"content":{"5":{"position":[[598,4],[662,4]]},"7":{"position":[[390,4]]},"12":{"position":[[441,5]]},"13":{"position":[[359,4],[368,4]]},"14":{"position":[[257,4],[266,4]]},"15":{"position":[[403,4]]},"16":{"position":[[403,4]]},"20":{"position":[[461,4],[507,4],[518,5],[538,4],[584,4],[647,4],[678,4],[693,4],[1460,5]]},"24":{"position":[[64,5],[170,5]]},"31":{"position":[[184,5]]},"32":{"position":[[100,4],[105,4]]},"33":{"position":[[66,4],[99,4]]},"35":{"position":[[78,4]]},"36":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"37":{"position":[[78,4]]},"38":{"position":[[130,4]]},"42":{"position":[[2375,5]]},"43":{"position":[[985,4]]},"44":{"position":[[339,4],[773,4]]},"48":{"position":[[1402,4],[1507,4],[1548,4],[1594,4],[1697,4],[1824,6],[1995,4],[2036,4],[2480,4],[4424,5],[4488,4],[4774,5],[4985,6],[5251,4]]},"50":{"position":[[1149,5]]},"61":{"position":[[795,5]]},"65":{"position":[[149,4]]},"66":{"position":[[158,4],[170,4],[214,4],[226,4]]},"86":{"position":[[262,4]]},"91":{"position":[[994,5],[1043,5],[1510,4],[1576,4]]},"92":{"position":[[785,5],[833,5],[882,5],[939,4],[1009,4],[1077,4]]},"104":{"position":[[264,4]]},"106":{"position":[[132,4]]},"107":{"position":[[274,4]]},"109":{"position":[[488,4],[1652,5],[2120,4],[2165,6],[2253,4],[2444,4],[2489,6],[2579,4]]},"110":{"position":[[481,4],[676,4],[788,4],[2034,5],[2282,5]]},"111":{"position":[[248,4],[361,4]]},"112":{"position":[[192,4]]},"115":{"position":[[2022,6],[2222,4],[2501,6]]},"126":{"position":[[350,4],[434,6],[745,4],[754,4]]},"128":{"position":[[395,4],[400,4],[428,4],[551,4],[615,5]]},"130":{"position":[[15,4],[74,4],[86,4]]},"131":{"position":[[30,4],[108,4],[128,4]]},"132":{"position":[[30,4],[109,4],[131,4]]},"139":{"position":[[582,4]]},"141":{"position":[[335,4],[344,4],[505,4],[572,4],[685,4],[807,4],[812,4]]},"142":{"position":[[123,4]]},"146":{"position":[[161,4]]},"149":{"position":[[427,4]]},"150":{"position":[[60,4],[88,4],[104,5],[157,4]]},"175":{"position":[[23,4],[115,4],[131,5]]},"178":{"position":[[230,4],[245,4],[351,4],[369,4]]},"180":{"position":[[107,4]]},"183":{"position":[[324,4]]},"184":{"position":[[269,4]]},"186":{"position":[[298,4],[303,4]]},"187":{"position":[[145,4]]},"188":{"position":[[295,4],[304,4],[465,4],[517,4],[522,4]]},"192":{"position":[[303,4],[318,4],[392,4],[397,4]]},"197":{"position":[[44,4],[116,4],[154,5]]},"198":{"position":[[148,4]]},"203":{"position":[[133,4],[142,4]]},"216":{"position":[[512,4]]},"217":{"position":[[1813,4],[2633,4]]},"225":{"position":[[432,5],[514,5]]},"226":{"position":[[68,4],[132,4]]},"228":{"position":[[95,4]]},"229":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"230":{"position":[[95,4]]},"231":{"position":[[318,4]]},"232":{"position":[[318,4]]},"233":{"position":[[112,4]]},"234":{"position":[[112,4]]},"235":{"position":[[322,4]]},"236":{"position":[[423,4]]},"240":{"position":[[257,4],[262,4],[355,4]]},"242":{"position":[[265,4],[274,4]]},"245":{"position":[[121,4],[133,4],[179,4],[191,4]]},"246":{"position":[[127,4],[139,4],[191,4],[203,4]]},"247":{"position":[[105,4],[117,4],[160,4],[172,4],[213,4],[223,4]]},"248":{"position":[[107,4],[119,4],[164,4],[176,4]]},"251":{"position":[[292,5],[889,4],[928,4],[942,5],[1657,4],[1696,4],[1710,5]]},"252":{"position":[[318,4],[323,4],[387,4],[392,4]]},"258":{"position":[[770,4],[1598,4]]},"271":{"position":[[463,5],[545,5]]},"276":{"position":[[70,4],[143,4]]},"278":{"position":[[94,4]]},"279":{"position":[[343,4],[353,4],[863,4],[868,4],[961,4],[1691,4],[1700,4],[2376,4],[3594,5],[8476,4],[10527,4]]},"280":{"position":[[94,4]]},"281":{"position":[[264,4]]},"282":{"position":[[94,4]]},"283":{"position":[[111,4]]},"284":{"position":[[111,4]]},"285":{"position":[[317,4]]},"286":{"position":[[391,4]]},"287":{"position":[[266,4],[271,4],[364,4]]},"288":{"position":[[119,4],[128,4],[180,4]]},"291":{"position":[[265,4],[274,4]]},"296":{"position":[[314,4],[319,4],[391,4],[396,4]]},"297":{"position":[[753,4],[758,4]]},"298":{"position":[[181,5],[244,4],[249,4],[280,4],[285,4],[314,4],[319,4]]},"301":{"position":[[92,4],[372,4],[798,4]]},"302":{"position":[[142,5],[415,4],[501,4],[567,4]]},"303":{"position":[[154,5],[465,4],[593,4],[659,4]]},"304":{"position":[[155,4],[175,5],[622,4],[980,4]]},"305":{"position":[[165,4],[190,5],[661,4],[1197,4]]},"306":{"position":[[232,5],[651,4]]},"307":{"position":[[141,5],[539,5],[755,4],[1030,5],[1049,4]]},"314":{"position":[[45,5],[454,4],[508,4]]},"319":{"position":[[522,5]]},"320":{"position":[[1013,4],[1150,4]]},"326":{"position":[[613,5]]},"332":{"position":[[1427,5]]},"338":{"position":[[731,4]]},"342":{"position":[[1244,4]]},"348":{"position":[[197,4],[214,5],[464,4],[480,5],[522,4],[538,4]]},"350":{"position":[[257,4],[273,5],[324,4],[340,4]]},"358":{"position":[[2499,5],[2809,4],[3204,5],[4811,4],[7112,4],[7197,4],[7345,4]]},"359":{"position":[[147,5],[1407,4],[1961,5],[2308,4],[2665,5]]},"365":{"position":[[246,5]]},"369":{"position":[[1074,4],[2565,4]]},"371":{"position":[[224,6]]},"377":{"position":[[184,4]]},"378":{"position":[[158,4],[179,4],[1275,4],[1302,4],[1337,4],[1364,4],[1594,4],[1688,5]]},"379":{"position":[[355,4],[2805,4],[3836,5]]},"380":{"position":[[434,4],[1352,4]]},"383":{"position":[[1258,5],[1510,5]]},"393":{"position":[[901,5]]},"402":{"position":[[1687,4],[2814,4],[3144,6],[3823,4],[4062,6]]},"407":{"position":[[322,4],[526,4]]},"415":{"position":[[155,4]]},"426":{"position":[[590,5]]},"440":{"position":[[115,5]]},"450":{"position":[[99,5]]},"461":{"position":[[347,5],[483,4],[510,4],[654,5]]},"472":{"position":[[749,5],[1178,5],[1314,4],[1341,4],[1485,5]]},"473":{"position":[[510,5],[593,4],[680,4]]},"478":{"position":[[409,5],[545,4],[572,4],[716,5]]},"479":{"position":[[124,4]]},"498":{"position":[[105,4],[362,4]]},"499":{"position":[[107,4],[381,4]]},"502":{"position":[[346,5],[482,4],[509,4],[653,5]]},"504":{"position":[[373,5],[408,4]]},"521":{"position":[[365,5],[501,4],[528,4],[672,5]]},"528":{"position":[[790,4]]},"540":{"position":[[1398,5],[1415,5],[1522,5],[2099,4],[3014,4],[4461,4],[4479,4],[4969,5]]},"544":{"position":[[413,4]]},"546":{"position":[[250,6],[539,6]]},"550":{"position":[[185,4],[259,6],[283,5]]},"551":{"position":[[619,5],[642,4]]},"554":{"position":[[524,4]]},"562":{"position":[[58,4],[198,4]]},"564":{"position":[[187,4]]},"572":{"position":[[120,5]]},"574":{"position":[[1,4]]},"577":{"position":[[126,4]]},"580":{"position":[[103,4],[112,4],[222,4]]},"581":{"position":[[541,4],[550,4],[707,4]]},"587":{"position":[[99,4],[124,4]]},"588":{"position":[[93,4],[118,4]]},"589":{"position":[[104,4],[129,4]]},"591":{"position":[[666,4]]},"592":{"position":[[1,4],[135,4],[392,4],[408,4],[455,5]]},"609":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"610":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"611":{"position":[[432,4],[448,4],[465,4],[481,4],[496,4],[510,4]]},"612":{"position":[[74,4],[90,4],[107,4],[123,4],[138,4],[152,4]]},"613":{"position":[[32,4],[101,4],[117,4],[134,4],[150,4],[165,4],[179,4]]},"614":{"position":[[32,4],[95,4],[111,4],[128,4],[144,4],[159,4],[173,4]]},"615":{"position":[[103,4],[119,4],[136,4],[152,4],[167,4],[181,4]]},"616":{"position":[[32,4],[115,4],[131,4],[148,4],[164,4],[179,4],[193,4]]},"617":{"position":[[32,4],[118,4],[134,4],[151,4],[167,4],[182,4],[196,4]]},"618":{"position":[[32,4],[114,4],[130,4],[147,4],[163,4],[178,4],[192,4]]},"619":{"position":[[382,4],[398,4],[415,4],[431,4],[446,4],[460,4]]},"620":{"position":[[111,4],[127,4],[144,4],[160,4],[175,4],[189,4]]},"621":{"position":[[109,4],[125,4],[142,4],[158,4],[173,4],[187,4]]},"622":{"position":[[95,4],[111,4],[128,4],[144,4],[159,4],[173,4],[368,4],[392,4]]},"623":{"position":[[84,4],[100,4],[117,4],[133,4],[148,4],[162,4]]},"624":{"position":[[87,4],[103,4],[120,4],[136,4],[151,4],[165,4]]},"625":{"position":[[83,4],[99,4],[116,4],[132,4],[147,4],[161,4]]},"626":{"position":[[81,4],[97,4],[114,4],[130,4],[145,4],[159,4],[808,4],[824,4],[841,4],[857,4],[872,4],[886,4]]},"627":{"position":[[115,4],[131,4],[148,4],[164,4],[179,4],[193,4],[861,4],[877,4],[894,4],[910,4],[925,4],[939,4]]},"628":{"position":[[32,4],[99,4],[115,4],[132,4],[148,4],[163,4],[177,4],[833,4],[849,4],[866,4],[882,4],[897,4],[911,4]]},"629":{"position":[[80,4],[96,4],[113,4],[129,4],[144,4],[158,4]]},"630":{"position":[[105,4],[121,4],[138,4],[154,4],[169,4],[183,4]]},"631":{"position":[[93,4],[109,4],[126,4],[142,4],[157,4],[171,4]]},"632":{"position":[[131,4]]},"633":{"position":[[127,4],[143,4],[160,4],[176,4],[191,4],[205,4]]},"634":{"position":[[79,4],[95,4],[112,4],[128,4],[143,4],[157,4]]},"635":{"position":[[323,4],[339,4],[356,4],[372,4],[387,4],[401,4]]},"637":{"position":[[242,5],[1363,4]]},"648":{"position":[[117,4],[133,4],[150,4],[166,4],[181,4],[195,4]]},"649":{"position":[[79,4],[778,4],[783,4],[814,4],[819,4]]},"650":{"position":[[309,4],[325,4],[342,4],[358,4],[373,4],[387,4],[1691,4],[1696,4],[1727,4],[1732,4]]},"652":{"position":[[181,4],[197,4],[214,4],[230,4],[245,4],[259,4]]},"669":{"position":[[327,5]]},"670":{"position":[[248,5]]},"671":{"position":[[224,5]]},"673":{"position":[[1065,5]]},"677":{"position":[[777,4],[782,4],[842,4],[847,4],[912,4],[917,4],[1142,5],[1228,5]]},"678":{"position":[[999,4],[1004,4],[1064,4],[1069,4],[1134,4],[1139,4],[1364,5],[1450,5]]},"679":{"position":[[1020,4],[1025,4],[1085,4],[1090,4],[1155,4],[1160,4],[1385,5],[1471,5]]},"680":{"position":[[1053,4],[1058,4],[1118,4],[1123,4],[1188,4],[1193,4],[1418,5],[1504,5]]},"681":{"position":[[853,4],[858,4],[918,4],[923,4],[988,4],[993,4],[1218,5],[1304,5]]},"682":{"position":[[1070,4],[1075,4],[1135,4],[1140,4],[1205,4],[1210,4],[1435,5],[1521,5]]},"683":{"position":[[1091,4],[1096,4],[1156,4],[1161,4],[1226,4],[1231,4],[1456,5],[1542,5]]},"684":{"position":[[1124,4],[1129,4],[1189,4],[1194,4],[1259,4],[1264,4],[1489,5],[1575,5]]},"686":{"position":[[137,4],[142,4]]},"687":{"position":[[260,4],[265,4],[978,9]]},"688":{"position":[[33,5],[169,4],[174,4]]},"689":{"position":[[255,4],[260,4],[287,4],[292,4],[1020,9]]},"690":{"position":[[301,4],[306,4],[334,4],[339,4],[370,4],[375,4],[1212,8]]},"691":{"position":[[336,4],[341,4],[368,4],[373,4]]},"692":{"position":[[259,4],[264,4],[292,4],[297,4]]},"693":{"position":[[428,4],[433,4],[461,4],[466,4],[497,4],[502,4]]},"694":{"position":[[105,4],[150,4],[207,4],[212,4],[319,4],[324,4],[506,4],[633,4],[786,4]]},"695":{"position":[[263,4],[268,4],[296,4],[301,4]]},"697":{"position":[[487,4],[492,4],[541,4],[546,4],[603,4],[608,4]]},"698":{"position":[[429,4],[434,4],[483,4],[488,4],[545,4],[550,4]]},"700":{"position":[[274,4]]},"701":{"position":[[277,4],[282,4],[331,4],[336,4],[393,4],[398,4],[431,5]]},"702":{"position":[[319,4],[324,4],[351,4],[356,4]]},"703":{"position":[[13,6],[433,4],[438,4],[465,4],[470,4],[495,5]]},"705":{"position":[[146,4],[151,4]]},"706":{"position":[[39,6],[151,4],[156,4]]},"707":{"position":[[213,4],[218,4],[245,4],[250,4]]},"708":{"position":[[263,4],[268,4],[295,4],[300,4],[325,4],[330,4]]},"709":{"position":[[274,4],[279,4],[306,4],[311,4]]},"710":{"position":[[520,4],[539,4],[554,4]]},"711":{"position":[[246,4],[265,4]]},"712":{"position":[[387,4],[406,4],[421,4]]},"713":{"position":[[223,4],[242,4],[257,4]]},"716":{"position":[[257,4]]},"718":{"position":[[230,4],[249,4]]},"719":{"position":[[250,4],[269,4]]},"720":{"position":[[264,4],[283,4]]},"722":{"position":[[853,4],[858,4],[907,4],[912,4],[969,4],[974,4],[1287,5],[1408,5]]},"723":{"position":[[585,4],[590,4],[639,4],[644,4],[701,4],[706,4],[1054,5],[1175,5]]},"724":{"position":[[841,5]]},"725":{"position":[[517,4],[540,4],[722,5]]},"726":{"position":[[468,4],[473,4],[522,4],[527,4],[584,4],[589,4],[899,5]]},"727":{"position":[[484,4],[489,4],[538,4],[543,4],[600,4],[605,4],[950,5]]},"729":{"position":[[403,4],[426,4],[694,5]]},"731":{"position":[[345,4],[350,4],[399,4],[404,4],[461,4],[466,4]]},"732":{"position":[[200,4],[205,4],[254,4],[259,4],[316,4],[321,4]]},"733":{"position":[[202,4],[207,4],[256,4],[261,4],[318,4],[323,4]]},"734":{"position":[[203,4],[208,4]]},"735":{"position":[[205,4],[210,4]]},"737":{"position":[[175,4],[180,4]]},"738":{"position":[[13,4]]},"740":{"position":[[197,4],[202,4],[250,4],[255,4],[311,4],[316,4]]},"741":{"position":[[567,4],[572,4],[621,4],[626,4],[683,4],[688,4]]},"744":{"position":[[279,5]]},"747":{"position":[[161,4],[166,4]]},"748":{"position":[[120,5],[160,6]]},"750":{"position":[[217,4],[222,4]]},"752":{"position":[[209,4],[214,4]]},"753":{"position":[[176,4],[181,4]]},"754":{"position":[[163,4],[223,4],[228,4]]},"755":{"position":[[161,4],[221,4],[226,4]]},"756":{"position":[[125,5]]},"757":{"position":[[282,4],[287,4],[316,4],[321,4],[352,5],[447,5],[544,5]]},"758":{"position":[[341,4],[346,4],[376,4],[381,4]]},"759":{"position":[[357,4],[362,4],[392,4],[397,4]]},"761":{"position":[[167,4],[172,4]]},"762":{"position":[[135,4],[140,4]]},"764":{"position":[[201,4],[206,4]]},"765":{"position":[[119,5]]},"766":{"position":[[154,4],[211,4],[216,4]]},"767":{"position":[[152,4],[209,4],[214,4]]},"768":{"position":[[322,4],[327,4],[354,4],[359,4]]},"769":{"position":[[364,4],[369,4],[396,4],[401,4]]},"771":{"position":[[139,4]]},"772":{"position":[[133,4]]},"775":{"position":[[156,4]]},"777":{"position":[[275,4]]},"778":{"position":[[499,4],[618,4]]},"780":{"position":[[250,4],[279,4],[291,4],[303,4]]},"781":{"position":[[167,4],[196,4],[208,4],[220,4]]},"783":{"position":[[180,4],[209,4],[221,4],[233,4]]},"785":{"position":[[220,4],[249,4],[261,4],[273,4]]},"786":{"position":[[315,4],[344,4],[356,4],[368,4]]},"787":{"position":[[412,4],[424,4]]},"795":{"position":[[457,5],[705,4],[824,4],[898,4],[982,4]]},"802":{"position":[[115,5]]},"803":{"position":[[203,5],[275,5]]},"804":{"position":[[207,5],[292,5]]},"807":{"position":[[39,5],[59,5]]},"808":{"position":[[917,8],[1011,8],[1121,8],[1230,8]]},"809":{"position":[[268,4],[273,4]]},"810":{"position":[[267,4],[272,4]]},"812":{"position":[[33,5],[121,5],[152,5],[250,5]]},"813":{"position":[[34,5],[61,5],[151,4],[156,4],[199,5]]},"814":{"position":[[326,4],[331,4],[362,4],[367,4]]},"815":{"position":[[162,4],[167,4],[198,4],[203,4]]},"816":{"position":[[166,4],[171,4],[202,4],[207,4]]}},"keywords":{}}],["name>",{"_index":1899,"title":{},"content":{"109":{"position":[[1902,9]]},"677":{"position":[[64,8],[85,8],[112,8],[158,8],[429,8],[450,8],[477,8],[523,8]]},"678":{"position":[[241,8],[262,8],[289,8],[335,8],[636,8],[657,8],[684,8],[730,8]]},"679":{"position":[[250,8],[271,8],[298,8],[344,8],[653,8],[674,8],[701,8],[747,8]]},"680":{"position":[[310,8],[331,8],[358,8],[404,8],[695,8],[716,8],[743,8],[789,8]]},"681":{"position":[[96,8],[117,8],[144,8],[190,8],[485,8],[506,8],[533,8],[579,8]]},"682":{"position":[[268,8],[289,8],[316,8],[362,8],[687,8],[708,8],[735,8],[781,8]]},"683":{"position":[[277,8],[298,8],[325,8],[371,8],[704,8],[725,8],[752,8],[798,8]]},"684":{"position":[[337,8],[358,8],[385,8],[431,8],[746,8],[767,8],[794,8],[840,8]]},"686":{"position":[[80,9]]},"689":{"position":[[115,8]]},"690":{"position":[[98,8],[119,8]]},"691":{"position":[[160,8]]},"695":{"position":[[117,8]]},"697":{"position":[[373,8],[393,8],[411,8]]},"698":{"position":[[302,8],[322,8]]},"701":{"position":[[92,8],[112,8]]},"702":{"position":[[143,8]]},"703":{"position":[[258,8]]},"707":{"position":[[73,8]]},"708":{"position":[[73,8],[93,8]]},"709":{"position":[[130,8]]},"722":{"position":[[687,8],[707,8],[725,8]]},"723":{"position":[[395,8],[415,8]]},"726":{"position":[[309,8],[329,8],[347,8]]},"727":{"position":[[301,8],[321,8]]},"731":{"position":[[157,8],[177,8],[261,8],[281,8]]},"732":{"position":[[116,8],[136,8]]},"733":{"position":[[118,8],[138,8]]},"740":{"position":[[117,9],[138,9],[157,9]]},"741":{"position":[[259,9],[280,9],[299,9]]},"809":{"position":[[163,9]]},"810":{"position":[[203,9]]},"813":{"position":[[113,9]]},"814":{"position":[[260,9],[288,9]]},"815":{"position":[[84,9],[112,9]]},"816":{"position":[[88,9],[116,9]]}},"keywords":{}}],["name>"",{"_index":5045,"title":{},"content":{"677":{"position":[[223,15],[257,15],[588,15],[622,15]]},"678":{"position":[[415,15],[449,15],[810,15],[844,15]]},"679":{"position":[[428,15],[462,15],[831,15],[865,15]]},"680":{"position":[[479,15],[513,15],[864,15],[898,15]]},"681":{"position":[[259,15],[293,15],[328,14],[392,14],[648,15],[682,15],[718,15],[777,15]]},"682":{"position":[[446,15],[480,15],[515,14],[579,14],[865,15],[899,15],[935,15],[994,15]]},"683":{"position":[[459,15],[493,15],[528,14],[592,14],[886,15],[920,15],[956,15],[1015,15]]},"684":{"position":[[510,15],[544,15],[579,14],[643,14],[919,15],[953,15],[989,15],[1048,15]]},"687":{"position":[[214,15]]},"688":{"position":[[123,15]]},"689":{"position":[[135,15],[176,15],[209,15]]},"690":{"position":[[142,15],[185,15],[219,15],[255,15]]},"691":{"position":[[247,15]]},"692":{"position":[[144,15],[178,15]]},"693":{"position":[[281,15],[315,15],[351,15]]},"695":{"position":[[138,15],[183,15],[217,15]]},"698":{"position":[[340,15]]},"700":{"position":[[182,15]]},"701":{"position":[[130,15],[167,15],[200,15],[231,15]]},"702":{"position":[[230,15]]},"703":{"position":[[278,15],[340,15],[373,15]]},"705":{"position":[[100,15]]},"706":{"position":[[105,15]]},"707":{"position":[[93,15],[134,15],[167,15]]},"708":{"position":[[111,15],[153,15],[186,15],[217,15]]},"709":{"position":[[150,15],[195,15],[228,15]]},"723":{"position":[[433,15]]},"727":{"position":[[339,15]]},"731":{"position":[[195,15],[299,15]]},"732":{"position":[[154,15]]},"733":{"position":[[156,15]]},"734":{"position":[[151,15]]},"735":{"position":[[153,15]]},"737":{"position":[[125,15]]},"747":{"position":[[115,15]]},"750":{"position":[[168,15]]},"752":{"position":[[119,15]]},"753":{"position":[[127,15]]},"757":{"position":[[169,15],[205,15]]},"758":{"position":[[218,15],[252,15]]},"759":{"position":[[234,15],[268,15]]},"761":{"position":[[83,15]]},"762":{"position":[[89,15]]},"764":{"position":[[155,15]]},"768":{"position":[[202,15],[236,15]]},"769":{"position":[[225,15],[259,15]]},"780":{"position":[[109,15],[142,15]]},"781":{"position":[[88,15],[121,15]]},"783":{"position":[[101,15],[134,15]]},"785":{"position":[[141,15],[174,15]]},"786":{"position":[[205,15],[238,14]]},"787":{"position":[[273,14]]}},"keywords":{}}],["name>")['buff",{"_index":5165,"title":{},"content":{"691":{"position":[[180,25],[280,25]]},"702":{"position":[[163,25],[263,25]]}},"keywords":{}}],["name>__<item",{"_index":3891,"title":{},"content":{"402":{"position":[[2927,18]]}},"keywords":{}}],["name>__<packet",{"_index":3890,"title":{},"content":{"402":{"position":[[2906,20],[3915,20]]}},"keywords":{}}],["name>__<valu",{"_index":3892,"title":{},"content":{"402":{"position":[[2946,19],[3936,19]]}},"keywords":{}}],["name"",{"_index":5048,"title":{},"content":{"677":{"position":[[288,10],[344,10],[654,11],[705,11]]},"678":{"position":[[480,10],[536,10],[876,11],[927,11]]},"679":{"position":[[493,10],[549,10],[897,11],[948,11]]},"680":{"position":[[544,10],[600,10],[930,11],[981,11]]}},"keywords":{}}],["name.keyout",{"_index":464,"title":{},"content":{"20":{"position":[[1329,11]]}},"keywords":{}}],["name/packet",{"_index":1101,"title":{},"content":{"48":{"position":[[2468,11]]},"716":{"position":[[245,11]]}},"keywords":{}}],["name/valu",{"_index":5303,"title":{},"content":{"711":{"position":[[293,10]]}},"keywords":{}}],["name1>",{"_index":5779,"title":{},"content":{"809":{"position":[[198,10]]}},"keywords":{}}],["name2>",{"_index":5781,"title":{},"content":{"809":{"position":[[221,10]]}},"keywords":{}}],["named_widget",{"_index":4632,"title":{"592":{"position":[[0,13]]}},"content":{"592":{"position":[[652,12]]},"637":{"position":[[1962,12],[2016,12]]},"638":{"position":[[103,13],[220,12]]},"639":{"position":[[122,13],[483,12]]},"640":{"position":[[105,13],[352,12]]},"642":{"position":[[115,13],[318,12]]},"643":{"position":[[244,12]]},"644":{"position":[[105,13],[352,12]]},"654":{"position":[[332,12],[427,12],[736,12],[854,12]]}},"keywords":{}}],["names/valu",{"_index":1730,"title":{},"content":{"91":{"position":[[1097,13]]}},"keywords":{}}],["names_values_and_limits_st",{"_index":5248,"title":{},"content":{"703":{"position":[[629,30],[746,30]]}},"keywords":{}}],["namespac",{"_index":3038,"title":{},"content":{"331":{"position":[[508,9],[548,9]]},"572":{"position":[[36,11],[60,11],[180,11]]}},"keywords":{}}],["nan",{"_index":1700,"title":{},"content":{"86":{"position":[[196,4]]}},"keywords":{}}],["nanosecond",{"_index":1106,"title":{},"content":{"48":{"position":[[2788,11],[3222,11]]},"402":{"position":[[4314,11],[5513,10],[5991,10]]}},"keywords":{}}],["narrow",{"_index":2652,"title":{},"content":{"279":{"position":[[9667,8],[10054,8]]}},"keywords":{}}],["nasa",{"_index":3553,"title":{"370":{"position":[[11,4]]}},"content":{"373":{"position":[[63,4]]},"374":{"position":[[8,4]]}},"keywords":{}}],["nativ",{"_index":31,"title":{},"content":{"2":{"position":[[23,7]]},"62":{"position":[[286,6]]},"214":{"position":[[180,8]]},"263":{"position":[[38,6]]},"268":{"position":[[239,6]]},"275":{"position":[[1223,6]]},"343":{"position":[[114,7]]},"592":{"position":[[332,6]]}},"keywords":{}}],["nav",{"_index":2181,"title":{},"content":{"200":{"position":[[44,3]]}},"keywords":{}}],["navig",{"_index":2158,"title":{},"content":{"192":{"position":[[446,10]]},"196":{"position":[[30,9]]},"197":{"position":[[63,10]]},"198":{"position":[[91,10]]},"199":{"position":[[63,10]]},"210":{"position":[[1,8]]},"211":{"position":[[1,8]]},"380":{"position":[[180,8]]},"413":{"position":[[79,10],[197,10]]},"416":{"position":[[233,10]]}},"keywords":{}}],["near",{"_index":1815,"title":{"98":{"position":[[0,4]]}},"content":{"98":{"position":[[5,4]]},"401":{"position":[[58,4]]}},"keywords":{}}],["nearbi",{"_index":3147,"title":{},"content":{"349":{"position":[[520,6]]}},"keywords":{}}],["necessari",{"_index":106,"title":{},"content":{"3":{"position":[[371,9]]},"53":{"position":[[338,10]]},"54":{"position":[[67,9],[229,9]]},"67":{"position":[[299,9],[4189,9]]},"69":{"position":[[773,9]]},"101":{"position":[[115,10]]},"110":{"position":[[2344,9]]},"115":{"position":[[940,9]]},"117":{"position":[[40,9]]},"128":{"position":[[203,9]]},"183":{"position":[[245,9]]},"303":{"position":[[532,9]]},"307":{"position":[[994,9]]},"321":{"position":[[1647,10]]},"358":{"position":[[275,9],[778,10]]},"386":{"position":[[369,10]]},"424":{"position":[[903,9],[995,10],[1295,9]]},"430":{"position":[[40,9],[258,9]]},"431":{"position":[[435,10]]},"432":{"position":[[1179,9]]},"450":{"position":[[328,10]]},"554":{"position":[[680,10]]},"678":{"position":[[116,9]]},"679":{"position":[[129,9]]},"680":{"position":[[155,9]]},"682":{"position":[[139,9]]},"683":{"position":[[152,9]]},"684":{"position":[[178,9]]},"777":{"position":[[132,10]]}},"keywords":{}}],["necessarili",{"_index":1691,"title":{},"content":{"85":{"position":[[125,12]]},"382":{"position":[[503,11]]},"386":{"position":[[278,11]]}},"keywords":{}}],["need",{"_index":676,"title":{},"content":{"36":{"position":[[787,6]]},"39":{"position":[[96,4]]},"42":{"position":[[318,4],[418,4]]},"44":{"position":[[1540,4]]},"48":{"position":[[3061,7],[3482,7]]},"54":{"position":[[816,6]]},"55":{"position":[[1976,4]]},"62":{"position":[[262,6]]},"73":{"position":[[422,5]]},"81":{"position":[[70,4]]},"82":{"position":[[234,4],[353,4]]},"93":{"position":[[418,4]]},"117":{"position":[[270,6]]},"127":{"position":[[37,5]]},"141":{"position":[[32,6]]},"144":{"position":[[60,5]]},"182":{"position":[[61,5]]},"183":{"position":[[272,6]]},"188":{"position":[[32,6]]},"229":{"position":[[787,6]]},"240":{"position":[[176,6]]},"258":{"position":[[470,5]]},"268":{"position":[[424,4]]},"279":{"position":[[782,6]]},"287":{"position":[[185,6]]},"302":{"position":[[1165,4],[1283,4]]},"305":{"position":[[1074,4]]},"309":{"position":[[3811,4]]},"314":{"position":[[1059,4]]},"330":{"position":[[294,4]]},"331":{"position":[[216,4],[846,5]]},"332":{"position":[[217,6],[1394,4]]},"358":{"position":[[946,4],[1160,6],[6358,4]]},"359":{"position":[[8,4],[456,4]]},"361":{"position":[[51,6]]},"369":{"position":[[4061,5]]},"379":{"position":[[1020,6]]},"382":{"position":[[551,4]]},"383":{"position":[[295,4]]},"385":{"position":[[48,4]]},"387":{"position":[[908,7],[1062,4],[1250,4],[1415,6],[1620,7]]},"391":{"position":[[259,6]]},"393":{"position":[[340,4]]},"401":{"position":[[368,4]]},"404":{"position":[[200,5]]},"420":{"position":[[329,7]]},"421":{"position":[[354,4]]},"540":{"position":[[1171,4]]},"542":{"position":[[939,4]]},"551":{"position":[[249,4],[387,4],[511,4]]},"552":{"position":[[243,5]]},"560":{"position":[[353,4]]},"563":{"position":[[215,4]]},"568":{"position":[[237,5]]},"569":{"position":[[656,6],[850,5]]},"571":{"position":[[122,4],[180,4]]},"592":{"position":[[127,4]]},"629":{"position":[[243,6]]},"637":{"position":[[586,4]]},"663":{"position":[[55,6]]},"778":{"position":[[586,4]]}},"keywords":{}}],["needs_depend",{"_index":2005,"title":{"127":{"position":[[0,19]]}},"content":{"127":{"position":[[188,18],[275,18]]}},"keywords":{}}],["neg",{"_index":645,"title":{},"content":{"35":{"position":[[230,8],[391,8]]},"37":{"position":[[184,8]]},"65":{"position":[[502,8]]},"228":{"position":[[258,8],[420,8]]},"230":{"position":[[203,8]]},"231":{"position":[[481,8],[590,8]]},"232":{"position":[[426,8]]},"233":{"position":[[275,8],[595,8]]},"234":{"position":[[378,8]]},"278":{"position":[[257,8],[418,8]]},"280":{"position":[[210,8]]},"281":{"position":[[427,8],[541,8]]},"282":{"position":[[210,8]]},"283":{"position":[[274,8],[588,8]]},"284":{"position":[[380,8]]},"330":{"position":[[682,8]]}},"keywords":{}}],["nem",{"_index":1565,"title":{},"content":{"82":{"position":[[4349,3]]}},"keywords":{}}],["nest",{"_index":4175,"title":{},"content":{"473":{"position":[[719,6]]},"716":{"position":[[222,6]]}},"keywords":{}}],["net=openc3",{"_index":3595,"title":{},"content":{"377":{"position":[[156,10]]}},"keywords":{}}],["netavark",{"_index":2856,"title":{},"content":{"309":{"position":[[1691,8],[2195,8]]}},"keywords":{}}],["network",{"_index":1016,"title":{},"content":{"43":{"position":[[426,8]]},"44":{"position":[[565,7]]},"83":{"position":[[259,7],[573,7]]},"96":{"position":[[562,8]]},"112":{"position":[[48,7]]},"113":{"position":[[49,7]]},"258":{"position":[[698,9],[1868,7]]},"333":{"position":[[1371,7]]},"377":{"position":[[37,7],[53,7],[174,7]]},"380":{"position":[[412,7],[423,7],[479,7],[507,7],[537,7]]},"389":{"position":[[551,8],[593,8]]}},"keywords":{}}],["network"",{"_index":3674,"title":{},"content":{"380":{"position":[[587,14]]}},"keywords":{}}],["network=openc3",{"_index":1044,"title":{},"content":{"44":{"position":[[543,14]]}},"keywords":{}}],["network_backend",{"_index":2880,"title":{},"content":{"309":{"position":[[2330,15]]}},"keywords":{}}],["never",{"_index":2868,"title":{},"content":{"309":{"position":[[2018,5],[2078,5]]},"358":{"position":[[7888,5]]},"359":{"position":[[897,5]]},"387":{"position":[[916,5]]},"432":{"position":[[21,5]]}},"keywords":{}}],["new",{"_index":404,"title":{"504":{"position":[[0,3]]},"576":{"position":[[0,3]]}},"content":{"20":{"position":[[208,3],[889,3]]},"21":{"position":[[9,3]]},"22":{"position":[[30,3]]},"23":{"position":[[428,3]]},"27":{"position":[[507,3]]},"33":{"position":[[9,3]]},"36":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"43":{"position":[[1290,3]]},"62":{"position":[[278,3]]},"67":{"position":[[129,3],[2032,3],[2243,3]]},"100":{"position":[[790,3]]},"115":{"position":[[2369,3]]},"117":{"position":[[376,3],[472,3]]},"150":{"position":[[11,3]]},"178":{"position":[[11,3]]},"196":{"position":[[235,3],[259,3],[359,3]]},"226":{"position":[[11,3]]},"229":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"236":{"position":[[213,3],[367,3]]},"276":{"position":[[11,3]]},"279":{"position":[[590,3]]},"286":{"position":[[199,3],[345,3]]},"301":{"position":[[52,3],[115,3]]},"302":{"position":[[52,3],[2522,3]]},"303":{"position":[[58,3],[1185,3]]},"304":{"position":[[56,3]]},"305":{"position":[[61,3]]},"306":{"position":[[56,3],[895,3]]},"307":{"position":[[50,3],[356,3],[861,3],[1716,3]]},"326":{"position":[[1066,3],[1145,3],[1259,3]]},"332":{"position":[[1409,3]]},"338":{"position":[[494,3]]},"340":{"position":[[277,3]]},"349":{"position":[[1509,4]]},"355":{"position":[[169,3],[213,3]]},"358":{"position":[[1553,3],[7320,3],[7545,3]]},"359":{"position":[[1769,3],[2515,3],[2654,3]]},"364":{"position":[[225,3]]},"378":{"position":[[138,3]]},"382":{"position":[[168,3],[411,3]]},"383":{"position":[[15,3],[779,3],[1198,3],[1445,3],[1628,3],[1925,3]]},"402":{"position":[[675,3]]},"406":{"position":[[142,3]]},"407":{"position":[[38,3],[601,3]]},"426":{"position":[[1280,3]]},"452":{"position":[[353,3]]},"455":{"position":[[35,3]]},"461":{"position":[[523,3]]},"462":{"position":[[51,3]]},"467":{"position":[[666,3]]},"472":{"position":[[893,3],[1354,3]]},"478":{"position":[[585,3]]},"491":{"position":[[142,3]]},"495":{"position":[[12,3]]},"497":{"position":[[482,3]]},"502":{"position":[[522,3]]},"504":{"position":[[10,3],[35,3]]},"514":{"position":[[355,3]]},"515":{"position":[[384,3]]},"517":{"position":[[147,4],[195,4]]},"521":{"position":[[541,3]]},"522":{"position":[[9,3]]},"523":{"position":[[416,3]]},"528":{"position":[[43,3]]},"532":{"position":[[169,3],[198,3]]},"576":{"position":[[238,3]]},"673":{"position":[[393,3]]},"710":{"position":[[102,3]]},"712":{"position":[[124,3]]},"805":{"position":[[60,3],[66,3]]}},"keywords":{}}],["newer",{"_index":1063,"title":{},"content":{"47":{"position":[[183,5]]}},"keywords":{}}],["newgrp",{"_index":3978,"title":{},"content":{"404":{"position":[[2370,6]]}},"keywords":{}}],["newish",{"_index":2848,"title":{},"content":{"309":{"position":[[1130,6]]}},"keywords":{}}],["newkey",{"_index":410,"title":{},"content":{"20":{"position":[[328,6],[861,6]]}},"keywords":{}}],["newli",{"_index":463,"title":{},"content":{"20":{"position":[[1274,5],[1405,5]]},"326":{"position":[[780,5]]},"358":{"position":[[2136,5]]},"359":{"position":[[998,5],[2187,5]]},"378":{"position":[[534,5]]},"379":{"position":[[193,5],[3898,5]]}},"keywords":{}}],["newlin",{"_index":297,"title":{},"content":{"9":{"position":[[117,7],[309,7],[461,7],[641,7]]},"637":{"position":[[501,8]]}},"keywords":{}}],["newslett",{"_index":4047,"title":{},"content":{"425":{"position":[[255,11]]},"426":{"position":[[350,10]]},"431":{"position":[[751,11]]},"433":{"position":[[90,11]]}},"keywords":{}}],["next",{"_index":1026,"title":{"335":{"position":[[0,4]]}},"content":{"43":{"position":[[826,4]]},"50":{"position":[[1100,4]]},"67":{"position":[[4449,4]]},"70":{"position":[[224,4]]},"82":{"position":[[281,4]]},"115":{"position":[[1569,4]]},"197":{"position":[[27,4],[137,4]]},"310":{"position":[[149,4]]},"324":{"position":[[827,4]]},"349":{"position":[[1827,5]]},"358":{"position":[[520,4]]},"359":{"position":[[2118,4]]},"402":{"position":[[3075,4],[3999,4]]},"461":{"position":[[323,4],[630,4]]},"462":{"position":[[211,4]]},"464":{"position":[[375,4]]},"467":{"position":[[426,4],[828,4]]},"472":{"position":[[302,4],[523,4],[1154,4],[1461,4]]},"478":{"position":[[385,4],[692,4]]},"483":{"position":[[116,4]]},"484":{"position":[[49,4],[285,4]]},"496":{"position":[[19,4]]},"502":{"position":[[322,4],[629,4]]},"521":{"position":[[341,4],[648,4]]},"533":{"position":[[889,4]]},"534":{"position":[[626,4],[957,4]]},"535":{"position":[[1313,4]]},"540":{"position":[[4048,4]]},"552":{"position":[[1345,4]]},"568":{"position":[[970,4]]},"569":{"position":[[539,4]]},"604":{"position":[[99,4]]},"638":{"position":[[177,4]]},"642":{"position":[[271,4]]},"658":{"position":[[329,4]]},"797":{"position":[[75,4]]},"798":{"position":[[45,4]]}},"keywords":{}}],["nexu",{"_index":962,"title":{},"content":{"42":{"position":[[1723,7]]}},"keywords":{}}],["nf",{"_index":2009,"title":{},"content":{"127":{"position":[[303,3]]},"258":{"position":[[1862,3]]},"309":{"position":[[690,3],[711,3],[1098,5]]}},"keywords":{}}],["nfs]https://www.redhat.com/sysadmin/rootless",{"_index":2847,"title":{},"content":{"309":{"position":[[1046,44]]}},"keywords":{}}],["nginx",{"_index":2580,"title":{},"content":{"268":{"position":[[449,5]]}},"keywords":{}}],["nice",{"_index":4152,"title":{},"content":{"457":{"position":[[71,6]]}},"keywords":{}}],["nil",{"_index":1153,"title":{},"content":{"50":{"position":[[654,4],[665,3]]},"52":{"position":[[710,3]]},"53":{"position":[[962,3]]},"54":{"position":[[1361,3]]},"55":{"position":[[2261,3],[2343,3]]},"56":{"position":[[1263,3]]},"57":{"position":[[463,3],[467,3]]},"61":{"position":[[1801,3],[2435,3]]},"62":{"position":[[587,3],[669,3]]},"65":{"position":[[214,4],[236,3],[778,3],[913,3],[1047,3],[1191,3]]},"66":{"position":[[203,3],[259,3]]},"69":{"position":[[309,3]]},"73":{"position":[[1544,3]]},"104":{"position":[[361,3],[485,3],[674,3],[936,3],[1067,3],[1177,3],[1191,3],[1531,3]]},"105":{"position":[[561,3],[994,3],[1104,3],[1193,3],[1207,3],[1484,3]]},"106":{"position":[[400,3],[582,3],[844,3],[969,3],[982,3]]},"107":{"position":[[470,3],[575,3],[607,3]]},"110":{"position":[[723,3],[766,3],[835,3],[879,3]]},"111":{"position":[[316,3],[428,3],[753,3],[1241,3],[1369,3],[1465,3],[1479,3],[1791,3]]},"113":{"position":[[250,3]]},"130":{"position":[[218,3],[362,3]]},"131":{"position":[[259,3],[455,3]]},"132":{"position":[[262,3],[461,3]]},"138":{"position":[[441,3],[699,4],[795,4]]},"139":{"position":[[797,3],[801,3],[1084,3]]},"140":{"position":[[737,3],[849,3]]},"155":{"position":[[137,3]]},"158":{"position":[[141,3]]},"162":{"position":[[141,3]]},"165":{"position":[[145,3]]},"166":{"position":[[163,3]]},"167":{"position":[[159,3]]},"168":{"position":[[157,3]]},"169":{"position":[[157,3]]},"170":{"position":[[157,3]]},"217":{"position":[[1535,3],[1539,3],[1597,3],[1601,3],[1655,3],[1659,3],[1724,3],[1728,3],[1891,3],[1895,3],[2142,3],[2146,3]]},"251":{"position":[[1234,4],[1351,4]]},"302":{"position":[[2709,3]]},"314":{"position":[[758,3],[1558,3]]},"358":{"position":[[7902,6]]},"378":{"position":[[1135,3],[1139,3],[1147,3],[1151,3]]},"609":{"position":[[351,4],[671,3]]},"610":{"position":[[351,4],[566,3]]},"659":{"position":[[416,4]]},"711":{"position":[[436,4]]},"717":{"position":[[89,4],[320,3]]},"744":{"position":[[248,3]]},"761":{"position":[[477,4]]},"809":{"position":[[56,3]]}},"keywords":{}}],["nil.write_interfac",{"_index":1973,"title":{},"content":{"115":{"position":[[712,19]]}},"keywords":{}}],["no_auth",{"_index":1933,"title":{},"content":{"112":{"position":[[669,8]]}},"keywords":{}}],["nocert",{"_index":578,"title":{},"content":{"27":{"position":[[301,7]]}},"keywords":{}}],["node",{"_index":416,"title":{},"content":{"20":{"position":[[378,5]]},"42":{"position":[[1500,4]]},"267":{"position":[[609,6]]},"369":{"position":[[4179,4]]}},"keywords":{}}],["node_modul",{"_index":2741,"title":{},"content":{"301":{"position":[[423,12]]}},"keywords":{}}],["nodej",{"_index":913,"title":{},"content":{"42":{"position":[[423,6]]},"257":{"position":[[445,6]]}},"keywords":{}}],["nogroup",{"_index":2701,"title":{},"content":{"299":{"position":[[571,7]]}},"keywords":{}}],["nokey",{"_index":586,"title":{},"content":{"27":{"position":[[739,6]]}},"keywords":{}}],["non",{"_index":720,"title":{},"content":{"36":{"position":[[3271,3],[10690,3]]},"51":{"position":[[446,3]]},"86":{"position":[[167,3]]},"195":{"position":[[267,3]]},"229":{"position":[[3271,3]]},"271":{"position":[[1319,3],[1569,4]]},"348":{"position":[[720,3]]},"387":{"position":[[1488,3]]},"391":{"position":[[433,3]]},"664":{"position":[[480,3]]},"665":{"position":[[446,3]]}},"keywords":{}}],["none",{"_index":1417,"title":{},"content":{"69":{"position":[[491,4]]},"73":{"position":[[1053,5],[1550,4]]},"104":{"position":[[367,4],[491,4],[680,4],[1811,4],[1961,4],[2090,4],[2105,4],[2500,4]]},"105":{"position":[[567,4],[1754,4],[1883,4],[1991,4],[2006,4],[2338,4]]},"106":{"position":[[1112,4],[1126,4]]},"107":{"position":[[476,4],[581,4],[613,4]]},"110":{"position":[[729,4],[772,4],[841,4],[885,4]]},"111":{"position":[[322,4],[434,4],[540,7],[759,4],[1087,4],[1103,4],[1229,4],[1550,4],[1672,4],[1779,4],[1882,4]]},"140":{"position":[[364,4],[725,4]]},"251":{"position":[[2022,5],[2159,5]]},"305":{"position":[[1023,4]]},"314":{"position":[[591,5],[626,4],[779,5],[817,4]]},"358":{"position":[[6892,4]]},"717":{"position":[[326,4]]},"752":{"position":[[306,4]]},"761":{"position":[[255,4]]},"809":{"position":[[70,4]]}},"keywords":{}}],["noninfring",{"_index":3780,"title":{},"content":{"390":{"position":[[886,16]]}},"keywords":{}}],["noop",{"_index":2488,"title":{},"content":{"253":{"position":[[964,4]]},"379":{"position":[[1189,4]]}},"keywords":{}}],["noout",{"_index":557,"title":{},"content":{"25":{"position":[[69,5]]}},"keywords":{}}],["normal",{"_index":1818,"title":{},"content":{"98":{"position":[[160,6]]},"216":{"position":[[679,9],[904,9]]},"217":{"position":[[2800,9],[3025,9]]},"253":{"position":[[927,6]]},"281":{"position":[[180,8]]},"294":{"position":[[85,8]]},"299":{"position":[[1096,6]]},"395":{"position":[[111,6]]},"513":{"position":[[905,7]]},"535":{"position":[[199,6],[490,6]]},"542":{"position":[[296,7],[544,7],[740,7]]},"552":{"position":[[20,8]]},"554":{"position":[[752,6]]},"563":{"position":[[82,8]]},"637":{"position":[[1078,7],[1803,7]]},"639":{"position":[[518,6]]},"643":{"position":[[423,7]]},"654":{"position":[[367,6]]},"690":{"position":[[689,6],[1328,6],[1475,10]]},"713":{"position":[[275,10]]},"777":{"position":[[324,8]]}},"keywords":{}}],["normal"",{"_index":4495,"title":{},"content":{"554":{"position":[[1027,13]]},"564":{"position":[[409,13],[588,13]]},"677":{"position":[[1340,13],[1772,13]]},"678":{"position":[[1577,13],[1803,13]]},"685":{"position":[[473,13],[1032,13]]}},"keywords":{}}],["normal'"",{"_index":1739,"title":{},"content":{"91":{"position":[[1826,16]]},"542":{"position":[[365,15]]}},"keywords":{}}],["normalize_tlm",{"_index":5306,"title":{"713":{"position":[[0,14]]}},"content":{"712":{"position":[[205,13]]}},"keywords":{}}],["normalize_tlm("<target>",{"_index":5309,"title":{},"content":{"713":{"position":[[102,34]]}},"keywords":{}}],["normalize_tlm("inst",{"_index":5311,"title":{},"content":{"713":{"position":[[384,24],[458,24],[571,24],[645,24]]}},"keywords":{}}],["nosniff",{"_index":1546,"title":{},"content":{"82":{"position":[[1187,7]]}},"keywords":{}}],["notat",{"_index":2325,"title":{},"content":{"218":{"position":[[58,8]]},"540":{"position":[[4673,8],[4710,8]]}},"keywords":{}}],["note",{"_index":102,"title":{"317":{"position":[[0,4]]},"453":{"position":[[0,5]]}},"content":{"3":{"position":[[291,5]]},"7":{"position":[[1026,4]]},"9":{"position":[[834,4],[976,4]]},"11":{"position":[[213,4]]},"12":{"position":[[488,4]]},"13":{"position":[[397,4]]},"14":{"position":[[292,4]]},"20":{"position":[[1,5]]},"36":{"position":[[2138,4],[6517,4],[7313,4],[8196,6]]},"42":{"position":[[468,5],[764,5]]},"43":{"position":[[477,4]]},"48":{"position":[[2236,4],[3909,4],[4562,5]]},"50":{"position":[[417,4],[886,4]]},"53":{"position":[[632,4]]},"54":{"position":[[1030,4]]},"55":{"position":[[1811,4]]},"56":{"position":[[936,4]]},"60":{"position":[[439,4]]},"61":{"position":[[2108,4]]},"77":{"position":[[814,4]]},"88":{"position":[[282,5]]},"100":{"position":[[698,4],[845,4]]},"109":{"position":[[1401,6],[2101,6],[2423,6]]},"110":{"position":[[1759,6]]},"115":{"position":[[151,5],[313,5],[434,5],[588,5],[779,5]]},"127":{"position":[[235,4]]},"141":{"position":[[540,4]]},"209":{"position":[[141,5]]},"214":{"position":[[361,4],[1615,4]]},"215":{"position":[[243,4],[675,4]]},"217":{"position":[[1389,4],[1794,4],[2049,4]]},"218":{"position":[[398,4],[1393,4]]},"220":{"position":[[308,4],[1474,4]]},"225":{"position":[[655,4],[1226,4]]},"229":{"position":[[2138,4],[6517,4],[7313,4],[8196,6]]},"271":{"position":[[682,4]]},"272":{"position":[[293,4]]},"273":{"position":[[305,4]]},"274":{"position":[[430,4]]},"275":{"position":[[1202,5]]},"279":{"position":[[5056,4],[5914,4],[6855,6],[8796,4]]},"281":{"position":[[59,5]]},"302":{"position":[[923,4]]},"303":{"position":[[1076,6]]},"309":{"position":[[1104,4],[1402,5]]},"310":{"position":[[112,5]]},"321":{"position":[[111,4],[613,4]]},"323":{"position":[[437,5]]},"330":{"position":[[164,5],[1488,5],[1545,5]]},"331":{"position":[[811,4]]},"332":{"position":[[246,5],[833,4]]},"333":{"position":[[405,5]]},"338":{"position":[[247,4]]},"340":{"position":[[70,4]]},"344":{"position":[[844,5]]},"349":{"position":[[1956,5],[2876,5]]},"358":{"position":[[5651,4]]},"359":{"position":[[220,4]]},"362":{"position":[[145,6]]},"363":{"position":[[297,6]]},"364":{"position":[[357,6]]},"365":{"position":[[192,6]]},"369":{"position":[[228,5]]},"377":{"position":[[1,4]]},"378":{"position":[[1197,4]]},"380":{"position":[[2137,4]]},"404":{"position":[[576,5]]},"421":{"position":[[709,4]]},"422":{"position":[[419,6]]},"440":{"position":[[576,4]]},"441":{"position":[[111,4]]},"443":{"position":[[52,4]]},"449":{"position":[[31,6]]},"452":{"position":[[497,4]]},"453":{"position":[[1,5],[65,4],[84,4]]},"468":{"position":[[485,4]]},"472":{"position":[[331,4]]},"481":{"position":[[166,4],[285,4]]},"482":{"position":[[275,5],[528,5]]},"485":{"position":[[275,4]]},"498":{"position":[[57,4],[591,4],[805,5]]},"499":{"position":[[59,4]]},"504":{"position":[[356,4]]},"511":{"position":[[216,4]]},"513":{"position":[[456,5]]},"524":{"position":[[420,4]]},"535":{"position":[[848,5]]},"540":{"position":[[4428,4]]},"551":{"position":[[535,5]]},"554":{"position":[[1043,4]]},"559":{"position":[[1178,4]]},"568":{"position":[[351,4]]},"569":{"position":[[472,4]]},"637":{"position":[[718,4]]},"638":{"position":[[23,4]]},"639":{"position":[[42,4]]},"640":{"position":[[25,4]]},"642":{"position":[[35,4]]},"644":{"position":[[25,4]]},"670":{"position":[[322,5]]},"671":{"position":[[260,5]]},"673":{"position":[[163,5]]},"692":{"position":[[389,4]]},"693":{"position":[[606,5]]},"697":{"position":[[252,5]]},"698":{"position":[[151,5]]},"699":{"position":[[210,5]]},"714":{"position":[[78,5]]},"722":{"position":[[256,4]]},"723":{"position":[[140,4]]},"724":{"position":[[235,4]]},"725":{"position":[[119,4]]},"728":{"position":[[251,5]]},"741":{"position":[[67,5],[1752,5],[1896,5]]},"775":{"position":[[23,4]]},"787":{"position":[[648,5]]},"795":{"position":[[401,5]]}},"keywords":{}}],["notebook",{"_index":1797,"title":{},"content":{"96":{"position":[[423,9],[453,10]]}},"keywords":{}}],["noth",{"_index":1444,"title":{},"content":{"73":{"position":[[1380,7]]},"78":{"position":[[267,7],[415,7],[486,7]]},"387":{"position":[[689,7]]},"552":{"position":[[2297,7],[2445,7]]}},"keywords":{}}],["nothing"",{"_index":2490,"title":{},"content":{"253":{"position":[[989,13]]},"664":{"position":[[745,14],[966,14]]},"665":{"position":[[725,14],[989,14]]}},"keywords":{}}],["notic",{"_index":1619,"title":{"425":{"position":[[3,7]]}},"content":{"83":{"position":[[1335,6]]},"267":{"position":[[219,6]]},"324":{"position":[[262,6],[429,6]]},"390":{"position":[[574,6],[601,6]]},"432":{"position":[[1090,7]]},"533":{"position":[[255,6]]},"540":{"position":[[3645,6],[4140,6]]}},"keywords":{}}],["notif",{"_index":3345,"title":{},"content":{"363":{"position":[[145,13]]},"422":{"position":[[673,13],[735,13],[794,12]]},"632":{"position":[[28,12]]},"679":{"position":[[50,12]]},"680":{"position":[[76,12]]},"683":{"position":[[73,12]]},"684":{"position":[[99,12]]}},"keywords":{}}],["notifi",{"_index":3137,"title":{},"content":{"348":{"position":[[1896,6]]},"426":{"position":[[1221,6]]},"435":{"position":[[331,6]]},"436":{"position":[[89,6]]},"674":{"position":[[15,6]]}},"keywords":{}}],["nov",{"_index":1513,"title":{},"content":{"81":{"position":[[820,3]]}},"keywords":{}}],["now",{"_index":326,"title":{},"content":{"12":{"position":[[96,3]]},"23":{"position":[[334,3]]},"42":{"position":[[2251,3]]},"43":{"position":[[4,3]]},"48":{"position":[[2275,3]]},"61":{"position":[[18,3]]},"82":{"position":[[4685,3]]},"309":{"position":[[2461,3]]},"324":{"position":[[425,3],[713,3],[965,3]]},"349":{"position":[[567,3]]},"358":{"position":[[50,3],[939,3],[4675,3],[6351,3]]},"359":{"position":[[1,3]]},"369":{"position":[[2189,3],[3459,3]]},"404":{"position":[[2685,3]]},"699":{"position":[[832,3]]},"803":{"position":[[264,4]]}},"keywords":{}}],["npm",{"_index":960,"title":{},"content":{"42":{"position":[[1699,3]]},"43":{"position":[[561,3]]},"208":{"position":[[14,3]]},"307":{"position":[[1416,3]]}},"keywords":{}}],["npm_url",{"_index":964,"title":{},"content":{"42":{"position":[[1797,8]]}},"keywords":{}}],["npm_url=https://registry.npmjs.org",{"_index":970,"title":{},"content":{"42":{"position":[[1927,34]]}},"keywords":{}}],["nt",{"_index":1610,"title":{},"content":{"83":{"position":[[1136,2]]}},"keywords":{}}],["null",{"_index":1698,"title":{},"content":{"86":{"position":[[115,4]]},"225":{"position":[[1153,4],[1308,4]]},"271":{"position":[[1169,4]]},"402":{"position":[[4394,5],[4581,5],[4626,5]]}},"keywords":{}}],["num",{"_index":3393,"title":{},"content":{"367":{"position":[[652,4]]},"725":{"position":[[545,3]]},"729":{"position":[[431,3]]},"756":{"position":[[572,3],[1125,3]]},"765":{"position":[[548,3],[1083,3]]}},"keywords":{}}],["num_client",{"_index":5532,"title":{},"content":{"756":{"position":[[415,12],[974,12]]},"765":{"position":[[397,12],[915,12]]}},"keywords":{}}],["num_clients}"",{"_index":5539,"title":{},"content":{"756":{"position":[[595,20]]},"765":{"position":[[571,20]]}},"keywords":{}}],["num_seg",{"_index":4229,"title":{},"content":{"499":{"position":[[604,12],[719,12]]}},"keywords":{}}],["number",{"_index":84,"title":{},"content":{"3":{"position":[[35,6]]},"20":{"position":[[1064,6]]},"31":{"position":[[665,8]]},"33":{"position":[[775,6]]},"36":{"position":[[2913,6]]},"42":{"position":[[112,6]]},"48":{"position":[[2670,6]]},"53":{"position":[[569,6]]},"54":{"position":[[800,6],[920,6],[967,6]]},"55":{"position":[[1112,6],[1426,6],[1748,6]]},"56":{"position":[[873,6]]},"60":{"position":[[376,6]]},"61":{"position":[[1554,6],[1842,6],[2045,6],[2551,6],[2641,6]]},"64":{"position":[[152,6],[253,6]]},"86":{"position":[[139,7]]},"104":{"position":[[548,6],[617,6]]},"105":{"position":[[435,6],[504,6]]},"106":{"position":[[619,6],[717,6],[790,6]]},"107":{"position":[[412,6],[518,6],[634,6]]},"111":{"position":[[580,6],[627,6],[696,6],[1118,6]]},"144":{"position":[[191,6]]},"148":{"position":[[197,6]]},"152":{"position":[[16,6]]},"155":{"position":[[83,6]]},"158":{"position":[[85,6]]},"159":{"position":[[16,6]]},"162":{"position":[[85,6]]},"165":{"position":[[87,6]]},"166":{"position":[[96,6]]},"167":{"position":[[94,6]]},"168":{"position":[[93,6]]},"169":{"position":[[93,6]]},"170":{"position":[[93,6]]},"171":{"position":[[81,6]]},"177":{"position":[[197,6]]},"182":{"position":[[192,6]]},"191":{"position":[[197,6]]},"225":{"position":[[966,8]]},"229":{"position":[[2913,6]]},"271":{"position":[[990,8]]},"273":{"position":[[281,6]]},"275":{"position":[[1132,6]]},"279":{"position":[[2125,6],[8576,6],[10695,6]]},"288":{"position":[[343,6]]},"299":{"position":[[164,6]]},"301":{"position":[[1380,6]]},"309":{"position":[[3832,8]]},"349":{"position":[[1160,6]]},"352":{"position":[[749,6],[945,6]]},"358":{"position":[[2359,6]]},"359":{"position":[[1781,7],[1864,7]]},"367":{"position":[[126,6]]},"369":{"position":[[3687,6]]},"373":{"position":[[209,6],[243,6]]},"378":{"position":[[648,6]]},"379":{"position":[[3691,6]]},"380":{"position":[[1184,6]]},"387":{"position":[[1144,6]]},"422":{"position":[[1071,6]]},"426":{"position":[[847,6],[1041,6]]},"432":{"position":[[464,6]]},"457":{"position":[[185,6]]},"462":{"position":[[517,6]]},"467":{"position":[[794,6]]},"476":{"position":[[188,6]]},"522":{"position":[[371,6]]},"531":{"position":[[832,7]]},"545":{"position":[[124,7]]},"547":{"position":[[828,6],[895,6]]},"551":{"position":[[275,6]]},"555":{"position":[[24,6]]},"564":{"position":[[293,8],[718,8]]},"568":{"position":[[828,7]]},"571":{"position":[[230,8]]},"574":{"position":[[237,6]]},"577":{"position":[[422,6]]},"579":{"position":[[376,6]]},"598":{"position":[[149,6]]},"609":{"position":[[376,6]]},"610":{"position":[[377,6],[436,6]]},"611":{"position":[[723,6],[748,6]]},"614":{"position":[[308,6],[333,6]]},"615":{"position":[[454,6],[479,6],[623,6]]},"616":{"position":[[328,6],[353,6]]},"617":{"position":[[331,6],[356,6]]},"618":{"position":[[605,6],[630,6]]},"623":{"position":[[297,6],[322,6]]},"624":{"position":[[300,6],[325,6]]},"625":{"position":[[574,6],[599,6]]},"626":{"position":[[1613,6],[1680,6],[1738,6],[1808,6],[1856,6],[1933,6]]},"627":{"position":[[1666,6],[1733,6],[1791,6],[1861,6],[1909,6],[1986,6]]},"628":{"position":[[1638,6],[1705,6],[1763,6],[1833,6],[1881,6],[1958,6]]},"635":{"position":[[536,6],[561,6]]},"664":{"position":[[177,6]]},"695":{"position":[[13,6],[397,6]]},"708":{"position":[[652,6]]},"709":{"position":[[13,6],[422,6]]},"717":{"position":[[237,6],[360,6]]},"725":{"position":[[35,6],[561,6]]},"729":{"position":[[35,6],[447,6],[571,6]]},"741":{"position":[[1649,6]]},"744":{"position":[[318,6]]},"756":{"position":[[149,6]]},"765":{"position":[[143,6]]},"791":{"position":[[30,6],[228,6]]},"792":{"position":[[29,6]]}},"keywords":{}}],["number"",{"_index":2467,"title":{},"content":{"253":{"position":[[194,12],[1072,12],[1842,12]]},"668":{"position":[[643,13],[724,13],[794,13],[958,13],[1039,13],[1109,13]]}},"keywords":{}}],["numer",{"_index":716,"title":{},"content":{"36":{"position":[[3097,9]]},"48":{"position":[[4480,7],[5217,7]]},"200":{"position":[[311,9]]},"229":{"position":[[3097,9]]},"279":{"position":[[2396,9]]},"501":{"position":[[145,8]]}},"keywords":{}}],["nwziw_ewyssghec172ciwjuphvp8acdqg",{"_index":1553,"title":{},"content":{"82":{"position":[[2251,33],[5716,33]]}},"keywords":{}}],["o",{"_index":2860,"title":{},"content":{"309":{"position":[[1798,1]]},"404":{"position":[[2302,1]]}},"keywords":{}}],["object",{"_index":1115,"title":{},"content":{"48":{"position":[[3730,6]]},"86":{"position":[[411,7]]},"214":{"position":[[20,6]]},"218":{"position":[[51,6]]},"268":{"position":[[44,6]]},"275":{"position":[[485,6],[978,6],[1000,7],[1090,6],[1112,6],[1230,6]]},"352":{"position":[[235,7],[673,7]]},"402":{"position":[[4964,6],[5467,6],[5947,6]]},"431":{"position":[[192,6]]},"551":{"position":[[12,6]]},"670":{"position":[[465,6]]},"673":{"position":[[1464,6],[1606,7],[2002,7]]}},"keywords":{}}],["oblig",{"_index":4076,"title":{},"content":{"430":{"position":[[124,11]]}},"keywords":{}}],["observ",{"_index":3308,"title":{"361":{"position":[[15,14]]}},"content":{},"keywords":{}}],["obtus",{"_index":4388,"title":{},"content":{"543":{"position":[[235,6]]}},"keywords":{}}],["obvious",{"_index":3273,"title":{},"content":{"358":{"position":[[6020,9]]},"389":{"position":[[241,10]]}},"keywords":{}}],["occas",{"_index":4097,"title":{},"content":{"432":{"position":[[589,8]]}},"keywords":{}}],["occasion",{"_index":4063,"title":{},"content":{"427":{"position":[[433,12]]}},"keywords":{}}],["occur",{"_index":1266,"title":{},"content":{"57":{"position":[[1222,5]]},"61":{"position":[[2763,5]]},"64":{"position":[[375,5]]},"349":{"position":[[329,7],[3154,5],[5832,7],[6616,10]]},"368":{"position":[[862,6]]},"535":{"position":[[1508,7]]},"547":{"position":[[590,9]]},"565":{"position":[[391,7]]},"658":{"position":[[1282,6]]},"674":{"position":[[50,9]]},"722":{"position":[[222,6]]},"724":{"position":[[76,7],[97,6]]},"725":{"position":[[86,6]]},"728":{"position":[[76,7],[97,6]]},"729":{"position":[[86,6]]},"793":{"position":[[432,6]]}},"keywords":{}}],["occurr",{"_index":3163,"title":{},"content":{"349":{"position":[[2593,10]]}},"keywords":{}}],["odd",{"_index":1911,"title":{},"content":{"111":{"position":[[559,6],[1358,3]]},"314":{"position":[[597,4]]}},"keywords":{}}],["offer",{"_index":3796,"title":{},"content":{"391":{"position":[[473,5]]},"426":{"position":[[556,7],[1308,7]]}},"keywords":{}}],["offici",{"_index":3563,"title":{},"content":{"372":{"position":[[33,8]]}},"keywords":{}}],["offlin",{"_index":955,"title":{},"content":{"42":{"position":[[1603,7],[1644,7]]},"331":{"position":[[188,7],[238,7],[668,7],[720,7]]},"412":{"position":[[147,7]]}},"keywords":{}}],["offset",{"_index":374,"title":{},"content":{"17":{"position":[[72,7],[171,7]]},"18":{"position":[[75,7],[175,7]]},"35":{"position":[[143,6],[154,6],[254,6],[305,6],[472,6],[538,6]]},"36":{"position":[[1161,6],[1839,6],[1846,6]]},"37":{"position":[[265,6],[331,6]]},"48":{"position":[[496,6],[3999,6],[4052,6],[4306,6]]},"55":{"position":[[395,6],[611,6],[626,6],[981,6],[992,6],[1082,6],[1962,7],[2615,7],[3206,7],[3359,6],[3366,7]]},"65":{"position":[[453,6],[464,6]]},"228":{"position":[[162,6],[173,6],[282,6],[334,6],[501,6],[567,6]]},"229":{"position":[[1161,6],[1839,6],[1846,6]]},"230":{"position":[[284,6],[350,6]]},"231":{"position":[[385,6],[396,6],[505,6],[671,6],[737,6]]},"232":{"position":[[507,6],[573,6]]},"233":{"position":[[179,6],[190,6],[299,6],[351,6],[672,6]]},"234":{"position":[[455,6]]},"272":{"position":[[376,7]]},"274":{"position":[[443,6]]},"278":{"position":[[164,6],[175,6],[281,6],[333,6],[499,6],[565,6]]},"279":{"position":[[1156,6],[1834,6],[1841,6]]},"280":{"position":[[291,6],[357,6]]},"281":{"position":[[334,6],[345,6],[451,6],[622,6]]},"282":{"position":[[291,6]]},"283":{"position":[[181,6],[192,6],[298,6],[350,6],[665,6]]},"284":{"position":[[457,6]]},"321":{"position":[[244,7]]},"358":{"position":[[3486,6],[5515,6]]},"401":{"position":[[227,7]]},"744":{"position":[[35,6],[179,6],[1306,6]]}},"keywords":{}}],["ok",{"_index":1498,"title":{},"content":{"81":{"position":[[561,2]]},"82":{"position":[[701,2],[6321,2]]},"359":{"position":[[2328,3]]},"461":{"position":[[242,2],[552,2]]},"472":{"position":[[1073,2],[1383,2]]},"478":{"position":[[304,2],[614,2]]},"502":{"position":[[241,2],[551,2]]},"521":{"position":[[260,2],[570,2]]},"528":{"position":[[867,3]]},"568":{"position":[[629,3]]},"675":{"position":[[63,2],[242,2]]}},"keywords":{}}],["okset",{"_index":3954,"title":{},"content":{"404":{"position":[[1012,5]]}},"keywords":{}}],["older",{"_index":1064,"title":{},"content":{"47":{"position":[[193,5]]}},"keywords":{}}],["omit",{"_index":3902,"title":{},"content":{"402":{"position":[[4185,7]]}},"keywords":{}}],["omit_deprecated=${omit_deprec",{"_index":3578,"title":{},"content":{"376":{"position":[[192,34]]}},"keywords":{}}],["omit_deprecated=tru",{"_index":3577,"title":{},"content":{"376":{"position":[[167,20]]}},"keywords":{}}],["on",{"_index":447,"title":{},"content":{"20":{"position":[[947,3]]},"36":{"position":[[740,3],[920,3]]},"55":{"position":[[1288,4],[1314,4],[1919,3]]},"67":{"position":[[2176,3],[2320,3],[2517,3]]},"73":{"position":[[108,3]]},"74":{"position":[[131,3]]},"75":{"position":[[130,3]]},"76":{"position":[[122,3]]},"83":{"position":[[687,4],[1447,3]]},"111":{"position":[[1080,3]]},"112":{"position":[[662,3],[731,3],[784,3]]},"115":{"position":[[2117,3]]},"120":{"position":[[49,3]]},"145":{"position":[[152,3]]},"149":{"position":[[69,3]]},"174":{"position":[[376,3]]},"185":{"position":[[136,3]]},"186":{"position":[[343,3]]},"225":{"position":[[89,3]]},"229":{"position":[[740,3],[920,3]]},"231":{"position":[[187,3]]},"232":{"position":[[187,3]]},"240":{"position":[[129,3],[309,3]]},"250":{"position":[[119,3]]},"258":{"position":[[159,3]]},"271":{"position":[[113,3]]},"273":{"position":[[333,3]]},"279":{"position":[[735,3],[915,3]]},"281":{"position":[[89,3]]},"287":{"position":[[138,3],[318,3]]},"309":{"position":[[3713,4]]},"332":{"position":[[1413,4]]},"333":{"position":[[841,4]]},"348":{"position":[[2306,3]]},"349":{"position":[[878,3],[1047,3],[3419,3]]},"352":{"position":[[684,3]]},"358":{"position":[[6045,3],[6261,3]]},"367":{"position":[[964,3]]},"368":{"position":[[132,3]]},"380":{"position":[[1627,3]]},"389":{"position":[[2093,3]]},"397":{"position":[[75,3]]},"398":{"position":[[266,3]]},"402":{"position":[[3169,3],[3308,3],[4087,3]]},"419":{"position":[[186,3]]},"429":{"position":[[602,3]]},"449":{"position":[[66,3]]},"455":{"position":[[258,3]]},"472":{"position":[[813,3]]},"511":{"position":[[38,3]]},"519":{"position":[[61,3]]},"540":{"position":[[4247,3]]},"542":{"position":[[963,3]]},"543":{"position":[[221,3],[312,3]]},"544":{"position":[[934,3]]},"546":{"position":[[1260,3],[1283,3]]},"549":{"position":[[382,3]]},"552":{"position":[[1669,3]]},"559":{"position":[[1039,3]]},"563":{"position":[[394,3]]},"565":{"position":[[604,3],[685,3],[807,3],[832,3],[866,3],[963,3],[1085,3]]},"581":{"position":[[132,3]]},"591":{"position":[[132,3]]},"592":{"position":[[505,3]]},"652":{"position":[[73,3]]},"668":{"position":[[657,6],[738,6],[808,6],[838,5],[857,4],[972,6],[1053,6],[1123,6],[1155,6],[1176,5]]},"673":{"position":[[1639,4],[2035,4]]},"716":{"position":[[31,3]]},"726":{"position":[[43,4]]},"754":{"position":[[31,3]]},"755":{"position":[[30,3]]},"759":{"position":[[557,3]]},"766":{"position":[[31,3]]},"767":{"position":[[30,3]]},"769":{"position":[[561,3]]},"787":{"position":[[164,3]]},"805":{"position":[[70,4]]}},"keywords":{}}],["onc",{"_index":922,"title":{},"content":{"42":{"position":[[830,4]]},"44":{"position":[[1343,4]]},"275":{"position":[[332,4]]},"359":{"position":[[428,4]]},"421":{"position":[[302,4]]},"422":{"position":[[1284,4]]},"454":{"position":[[307,4]]},"455":{"position":[[1401,4]]},"483":{"position":[[1,4]]},"513":{"position":[[209,4]]},"530":{"position":[[184,4]]},"552":{"position":[[1448,5]]},"555":{"position":[[153,4]]},"556":{"position":[[200,4]]},"565":{"position":[[555,4]]},"569":{"position":[[1,4]]}},"keywords":{}}],["onecor",{"_index":3549,"title":{},"content":{"369":{"position":[[4474,7]]}},"keywords":{}}],["one}"",{"_index":4557,"title":{},"content":{"565":{"position":[[838,13]]}},"keywords":{}}],["onlin",{"_index":4048,"title":{},"content":{"425":{"position":[[276,6]]},"429":{"position":[[546,6]]},"434":{"position":[[647,6]]}},"keywords":{}}],["only"",{"_index":680,"title":{},"content":{"36":{"position":[[1046,10]]},"229":{"position":[[1046,10]]},"279":{"position":[[1041,10]]}},"keywords":{}}],["onto",{"_index":4809,"title":{},"content":{"647":{"position":[[12,4],[233,4]]},"648":{"position":[[42,4]]},"651":{"position":[[14,4]]},"652":{"position":[[29,4]]},"653":{"position":[[13,4]]}},"keywords":{}}],["op",{"_index":3821,"title":{},"content":{"393":{"position":[[983,3]]},"533":{"position":[[110,5]]}},"keywords":{}}],["opcod",{"_index":2226,"title":{},"content":{"213":{"position":[[793,6]]},"231":{"position":[[2106,6]]},"232":{"position":[[1949,6]]}},"keywords":{}}],["opcode"",{"_index":2231,"title":{},"content":{"213":{"position":[[839,12]]}},"keywords":{}}],["open",{"_index":573,"title":{"81":{"position":[[32,4]]},"779":{"position":[[0,8]]}},"content":{"27":{"position":[[136,4]]},"32":{"position":[[25,4]]},"81":{"position":[[15,4]]},"83":{"position":[[205,4]]},"104":{"position":[[136,4]]},"105":{"position":[[198,4]]},"115":{"position":[[76,4]]},"144":{"position":[[16,4],[93,4]]},"182":{"position":[[17,4],[94,4]]},"196":{"position":[[93,5],[186,5],[239,5]]},"200":{"position":[[207,4]]},"209":{"position":[[39,4]]},"258":{"position":[[720,4]]},"261":{"position":[[63,4]]},"314":{"position":[[1070,6]]},"320":{"position":[[804,4],[1742,7]]},"324":{"position":[[191,4]]},"344":{"position":[[224,4],[335,4]]},"346":{"position":[[1562,7]]},"349":{"position":[[1063,7],[1410,4],[1514,5]]},"351":{"position":[[371,4],[527,4],[571,4]]},"358":{"position":[[2681,4],[4679,4],[6412,4]]},"359":{"position":[[1095,4],[1190,4]]},"362":{"position":[[15,4]]},"363":{"position":[[1,4]]},"365":{"position":[[29,4]]},"368":{"position":[[54,4]]},"369":{"position":[[397,7]]},"379":{"position":[[182,4]]},"383":{"position":[[1619,4]]},"387":{"position":[[660,4],[1019,5]]},"389":{"position":[[21,4],[1691,4],[1751,4]]},"402":{"position":[[951,5],[2215,5]]},"404":{"position":[[1864,4],[2592,4]]},"440":{"position":[[145,4]]},"461":{"position":[[3,5],[104,4],[129,4]]},"472":{"position":[[935,4],[960,4]]},"478":{"position":[[3,5],[166,4],[191,4]]},"481":{"position":[[137,5],[253,5]]},"491":{"position":[[11,7],[38,4]]},"492":{"position":[[51,4]]},"498":{"position":[[432,4]]},"502":{"position":[[3,4],[103,4],[128,4]]},"514":{"position":[[251,5],[344,5]]},"515":{"position":[[272,5],[373,5]]},"521":{"position":[[3,4],[122,4],[147,4]]},"526":{"position":[[169,5],[241,7]]},"528":{"position":[[160,6],[290,5],[306,4],[382,4],[679,4]]},"530":{"position":[[48,7],[110,4]]},"535":{"position":[[1,7]]},"546":{"position":[[518,7]]},"602":{"position":[[1,4]]},"632":{"position":[[511,4],[723,4]]},"633":{"position":[[378,4]]},"637":{"position":[[1394,4]]},"649":{"position":[[707,4]]},"650":{"position":[[1620,4]]},"658":{"position":[[258,4]]},"779":{"position":[[33,5]]},"780":{"position":[[1,5]]},"781":{"position":[[11,4]]},"782":{"position":[[12,4]]}},"keywords":{}}],["open_directory_dialog",{"_index":4913,"title":{},"content":{"662":{"position":[[2847,21]]},"673":{"position":[[218,21],[349,21]]}},"keywords":{}}],["open_file_dialog",{"_index":5017,"title":{"672":{"position":[[0,17]]}},"content":{"673":{"position":[[5,16]]}},"keywords":{}}],["open_file_dialog("<title>"",{"_index":5020,"title":{},"content":{"673":{"position":[[463,43],[700,43]]}},"keywords":{}}],["open_file_dialog("open",{"_index":5029,"title":{},"content":{"673":{"position":[[1325,27],[1732,27]]}},"keywords":{}}],["open_files_dialog",{"_index":5018,"title":{"673":{"position":[[0,18]]}},"content":{"673":{"position":[[26,17]]}},"keywords":{}}],["open_files_dialog("<title>"",{"_index":5023,"title":{},"content":{"673":{"position":[[572,44],[808,44]]}},"keywords":{}}],["open_files_dialog("open",{"_index":5033,"title":{},"content":{"673":{"position":[[1506,28],[1900,28]]}},"keywords":{}}],["openc3",{"_index":337,"title":{"21":{"position":[[13,6]]},"81":{"position":[[18,6]]},"82":{"position":[[18,6]]},"95":{"position":[[30,6]]},"96":{"position":[[0,6]]},"97":{"position":[[0,6]]},"254":{"position":[[0,6]]},"309":{"position":[[0,6]]},"328":{"position":[[11,6]]},"329":{"position":[[11,6]]},"423":{"position":[[0,7]]},"434":{"position":[[9,6]]}},"content":{"12":{"position":[[302,6]]},"13":{"position":[[51,6]]},"14":{"position":[[48,6]]},"20":{"position":[[391,8],[427,8],[1210,8],[1341,8]]},"22":{"position":[[46,6]]},"23":{"position":[[108,6],[150,6]]},"36":{"position":[[1191,6],[5545,6],[9709,6],[9884,6],[9992,6],[10282,6]]},"39":{"position":[[196,6]]},"42":{"position":[[2482,6],[2610,6],[2730,6],[2817,6],[2930,6],[3040,6]]},"43":{"position":[[132,6],[221,6],[280,6]]},"44":{"position":[[267,6],[282,6],[362,6],[398,6],[415,6],[492,6],[513,6],[595,6],[679,6],[705,6],[800,6],[847,6],[907,6],[1047,6],[1106,6],[1173,6],[1250,6],[1293,6]]},"46":{"position":[[16,6]]},"57":{"position":[[432,6],[1351,6]]},"58":{"position":[[419,6]]},"59":{"position":[[502,6]]},"60":{"position":[[889,6]]},"64":{"position":[[1284,6]]},"81":{"position":[[1,6]]},"82":{"position":[[1,6]]},"87":{"position":[[195,7]]},"107":{"position":[[173,6]]},"108":{"position":[[166,6]]},"109":{"position":[[2678,6]]},"110":{"position":[[2409,6]]},"112":{"position":[[1007,6]]},"113":{"position":[[603,6]]},"114":{"position":[[552,6]]},"128":{"position":[[64,6],[238,6],[527,6]]},"138":{"position":[[111,6],[154,6]]},"140":{"position":[[246,6]]},"142":{"position":[[200,6]]},"178":{"position":[[80,6],[418,6],[475,6]]},"180":{"position":[[193,6],[220,6]]},"181":{"position":[[468,6]]},"182":{"position":[[288,6]]},"183":{"position":[[84,6],[419,6]]},"184":{"position":[[13,6],[28,6],[91,6],[274,6],[366,6]]},"185":{"position":[[233,6],[315,6]]},"186":{"position":[[150,6]]},"192":{"position":[[59,6],[439,6]]},"196":{"position":[[227,7]]},"197":{"position":[[56,6]]},"199":{"position":[[121,6]]},"209":{"position":[[640,6]]},"216":{"position":[[113,6]]},"217":{"position":[[351,6]]},"218":{"position":[[222,6]]},"219":{"position":[[144,6]]},"220":{"position":[[134,6]]},"221":{"position":[[385,6]]},"222":{"position":[[220,6]]},"223":{"position":[[368,6]]},"229":{"position":[[1191,6],[5545,6],[9709,6],[9884,6],[9992,6],[10282,6]]},"237":{"position":[[29,6]]},"258":{"position":[[793,6],[876,6],[973,6],[1064,6],[1157,6],[1218,6],[1309,6],[1432,6],[1632,6],[1724,6],[1802,6],[1855,6]]},"259":{"position":[[273,6]]},"267":{"position":[[255,6],[281,6]]},"279":{"position":[[1186,6],[4025,6],[9597,7],[9984,7]]},"289":{"position":[[250,7]]},"290":{"position":[[42,6]]},"301":{"position":[[136,6],[293,6],[649,6],[901,6],[974,6]]},"302":{"position":[[162,6],[273,6]]},"303":{"position":[[174,6],[297,6]]},"304":{"position":[[195,6],[329,6]]},"305":{"position":[[210,6],[354,6]]},"306":{"position":[[252,6],[353,6]]},"307":{"position":[[460,6],[545,6]]},"313":{"position":[[55,6],[78,6]]},"316":{"position":[[14,6],[47,6],[80,6],[134,6]]},"326":{"position":[[524,6],[619,6],[659,6]]},"328":{"position":[[44,6]]},"332":{"position":[[335,6]]},"333":{"position":[[904,8],[1301,6],[1345,6],[1395,6],[1441,6]]},"358":{"position":[[528,6],[741,6],[1488,6],[2215,6],[2233,6],[2690,6],[4688,6],[6421,6]]},"359":{"position":[[58,6],[153,6],[192,6],[598,6],[1199,6],[1872,6],[1967,6],[2006,6],[2126,6],[2437,6]]},"362":{"position":[[311,6],[641,6],[709,6],[962,6]]},"364":{"position":[[612,6],[768,6],[910,6],[1154,8]]},"369":{"position":[[1154,6],[1227,6],[1310,6],[1384,6],[1460,6],[1550,6],[1623,6],[1704,6],[1775,6],[1846,6],[2645,6],[2716,6],[2801,6],[2875,6],[2950,6],[3040,6],[3113,6],[3195,6],[3266,6],[3337,6]]},"373":{"position":[[183,6],[284,6]]},"378":{"position":[[456,6]]},"379":{"position":[[85,6],[3569,6]]},"380":{"position":[[235,6],[465,6],[523,6]]},"383":{"position":[[1225,6],[1472,6]]},"389":{"position":[[226,6],[1602,6],[2022,6],[2115,7]]},"390":{"position":[[227,6],[288,7],[537,7]]},"391":{"position":[[40,7]]},"392":{"position":[[715,6]]},"393":{"position":[[62,7],[121,7],[383,7]]},"397":{"position":[[43,6]]},"404":{"position":[[2528,6]]},"424":{"position":[[264,7]]},"426":{"position":[[276,7],[417,6]]},"427":{"position":[[109,7]]},"429":{"position":[[1,7]]},"432":{"position":[[1029,7],[1269,7],[1344,7],[1479,7]]},"434":{"position":[[172,7],[452,7]]},"436":{"position":[[32,7]]},"437":{"position":[[150,7]]},"602":{"position":[[41,6]]},"637":{"position":[[732,6]]},"795":{"position":[[766,6],[924,6]]}},"keywords":{}}],["openc3.bat",{"_index":2497,"title":{},"content":{"255":{"position":[[213,10]]},"333":{"position":[[346,10]]},"358":{"position":[[231,10],[793,10],[1437,10],[2255,10],[2395,10]]},"359":{"position":[[80,10],[1894,10]]},"382":{"position":[[311,10],[456,10]]},"396":{"position":[[186,10]]},"397":{"position":[[185,10]]}},"keywords":{}}],["openc3.cod",{"_index":908,"title":{},"content":{"42":{"position":[[229,11]]}},"keywords":{}}],["openc3.conversions.convers",{"_index":777,"title":{},"content":{"36":{"position":[[5838,29]]},"229":{"position":[[5838,29]]},"279":{"position":[[4318,29]]}},"keywords":{}}],["openc3.script",{"_index":1372,"title":{},"content":{"67":{"position":[[1306,13]]},"540":{"position":[[2728,13]]},"795":{"position":[[1579,13]]}},"keywords":{}}],["openc3.script.suit",{"_index":4301,"title":{},"content":{"533":{"position":[[587,19]]},"534":{"position":[[324,19]]},"561":{"position":[[592,19]]},"795":{"position":[[1607,19]]}},"keywords":{}}],["openc3.sh",{"_index":522,"title":{},"content":{"23":{"position":[[350,11]]},"42":{"position":[[638,9],[659,11],[2225,11]]},"209":{"position":[[23,9]]},"255":{"position":[[199,9]]},"301":{"position":[[180,9],[252,9]]},"302":{"position":[[182,9],[293,9]]},"303":{"position":[[194,9],[317,9]]},"304":{"position":[[215,9],[349,9]]},"305":{"position":[[230,9],[374,9]]},"306":{"position":[[272,9],[373,9]]},"307":{"position":[[480,9],[565,9]]},"309":{"position":[[3871,11]]},"310":{"position":[[749,11]]},"323":{"position":[[148,9]]},"326":{"position":[[545,11]]},"331":{"position":[[374,11],[782,11]]},"333":{"position":[[375,11],[989,9],[1043,11],[1062,11]]},"358":{"position":[[245,9],[806,9]]},"373":{"position":[[390,9],[499,9]]},"404":{"position":[[2551,11]]}},"keywords":{}}],["openc3.utilities.str",{"_index":4992,"title":{},"content":{"669":{"position":[[897,23]]}},"keywords":{}}],["openc3/conversions/convers",{"_index":766,"title":{},"content":{"36":{"position":[[5506,31]]},"229":{"position":[[5506,31]]},"279":{"position":[[3986,31]]}},"keywords":{}}],["openc3/conversions/unix_time_conversion.pi",{"_index":2621,"title":{},"content":{"275":{"position":[[1530,42]]}},"keywords":{}}],["openc3/cosmos:main",{"_index":3724,"title":{},"content":{"386":{"position":[[524,18]]}},"keywords":{}}],["openc3/interfaces/http_client_interface.pi",{"_index":1873,"title":{},"content":{"107":{"position":[[932,42]]}},"keywords":{}}],["openc3/interfaces/http_server_interface.pi",{"_index":1878,"title":{},"content":{"108":{"position":[[666,42]]}},"keywords":{}}],["openc3/interfaces/mqtt_interface.pi",{"_index":1893,"title":{},"content":{"109":{"position":[[1511,35]]}},"keywords":{}}],["openc3/interfaces/mqtt_stream_interface.pi",{"_index":1904,"title":{},"content":{"110":{"position":[[1869,42]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.pi",{"_index":1362,"title":{},"content":{"67":{"position":[[696,39]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.rb",{"_index":1361,"title":{},"content":{"67":{"position":[[645,39]]}},"keywords":{}}],["openc3/interfaces/tcpip_client_interface.pi",{"_index":1850,"title":{},"content":{"104":{"position":[[1731,43],[1881,43],[2010,43],[2140,43],[2293,43],[2420,43],[2555,43]]},"105":{"position":[[2173,43],[2393,43]]},"130":{"position":[[282,43]]},"131":{"position":[[375,43]]},"132":{"position":[[381,43]]},"139":{"position":[[1004,43]]},"358":{"position":[[6812,43]]}},"keywords":{}}],["openc3/interfaces/tcpip_server_interface.pi",{"_index":1858,"title":{},"content":{"105":{"position":[[1695,43],[1824,43],[1932,43],[2041,43],[2279,43]]}},"keywords":{}}],["openc3/interfaces/udp_interface.pi",{"_index":1868,"title":{},"content":{"106":{"position":[[1041,34]]}},"keywords":{}}],["openc3/lib/openc3/microservic",{"_index":2072,"title":{},"content":{"143":{"position":[[472,34]]}},"keywords":{}}],["openc3/openc3",{"_index":980,"title":{},"content":{"42":{"position":[[2381,13],[2503,13],[2637,13],[2747,13],[2835,13],[2945,13]]}},"keywords":{}}],["openc3/packets/command_valid",{"_index":2441,"title":{},"content":{"251":{"position":[[631,34]]}},"keywords":{}}],["openc3/script",{"_index":1366,"title":{},"content":{"67":{"position":[[1039,15]]}},"keywords":{}}],["openc3/script/suite.rb",{"_index":4293,"title":{},"content":{"533":{"position":[[362,24]]},"795":{"position":[[1071,24]]}},"keywords":{}}],["openc3/tool",{"_index":1027,"title":{},"content":{"43":{"position":[[850,13]]}},"keywords":{}}],["openc3/win32/excel",{"_index":4580,"title":{},"content":{"571":{"position":[[506,20]]}},"keywords":{}}],["openc3::commandvalid",{"_index":2443,"title":{},"content":{"251":{"position":[[693,24]]}},"keywords":{}}],["openc3::group",{"_index":4295,"title":{},"content":{"533":{"position":[[411,13]]},"561":{"position":[[331,13]]},"572":{"position":[[590,13]]},"795":{"position":[[1120,13],[1207,13]]}},"keywords":{}}],["openc3::group.put",{"_index":4522,"title":{},"content":{"561":{"position":[[408,18]]}},"keywords":{}}],["openc3::suit",{"_index":4311,"title":{},"content":{"534":{"position":[[150,13]]},"795":{"position":[[1377,13]]}},"keywords":{}}],["openc3_languag",{"_index":3245,"title":{},"content":{"358":{"position":[[1354,15]]}},"keywords":{}}],["openc3_local_mode=1",{"_index":2993,"title":{},"content":{"325":{"position":[[85,20]]}},"keywords":{}}],["openc3_log_messag",{"_index":3088,"title":{},"content":{"339":{"position":[[31,19]]}},"keywords":{}}],["openc3_redis_ephemeral_hostname=127.0.0.1",{"_index":1052,"title":{},"content":{"44":{"position":[[1208,41]]}},"keywords":{}}],["openc3_redis_hostname=127.0.0.1",{"_index":1051,"title":{},"content":{"44":{"position":[[1141,31]]}},"keywords":{}}],["openc3_tag",{"_index":3072,"title":{},"content":{"333":{"position":[[449,10]]}},"keywords":{}}],["openc3_tag=5.1.1",{"_index":3696,"title":{},"content":{"382":{"position":[[386,16]]}},"keywords":{}}],["openc3auth.updatetoken(openc3auth.defaultminvalidity).then",{"_index":3880,"title":{},"content":{"402":{"position":[[2534,61],[3537,61]]}},"keywords":{}}],["openc3cli",{"_index":2913,"title":{"315":{"position":[[17,10]]}},"content":{"313":{"position":[[289,9]]},"314":{"position":[[411,9]]},"315":{"position":[[1,9],[61,9],[290,9]]}},"keywords":{}}],["openc3inc",{"_index":3036,"title":{},"content":{"331":{"position":[[406,9],[498,9]]}},"keywords":{}}],["openc3inc/openc3",{"_index":926,"title":{},"content":{"42":{"position":[[957,16],[1025,16],[1106,16],[1179,16],[1242,16],[1301,16],[1361,16],[1423,16],[1483,16],[1542,16]]}},"keywords":{}}],["opendistro",{"_index":3343,"title":{"363":{"position":[[0,11]]}},"content":{"363":{"position":[[383,10]]}},"keywords":{}}],["opendistro_secur",{"_index":3353,"title":{},"content":{"363":{"position":[[590,19]]}},"keywords":{}}],["openopen",{"_index":4272,"title":{},"content":{"528":{"position":[[110,9]]}},"keywords":{}}],["opensourc",{"_index":3871,"title":{},"content":{"402":{"position":[[1792,10]]}},"keywords":{}}],["openssl",{"_index":405,"title":{},"content":{"20":{"position":[[249,7],[315,7],[1498,7],[1537,7]]},"25":{"position":[[36,7]]},"27":{"position":[[22,7],[99,7],[266,7],[695,7],[821,7],[1071,8]]},"28":{"position":[[148,7]]}},"keywords":{}}],["openssl\\bin",{"_index":572,"title":{},"content":{"27":{"position":[[116,11]]}},"keywords":{}}],["oper",{"_index":941,"title":{},"content":{"42":{"position":[[1196,8],[2824,8]]},"57":{"position":[[439,8]]},"86":{"position":[[314,11]]},"95":{"position":[[181,9]]},"96":{"position":[[517,9]]},"115":{"position":[[1663,7],[1822,7]]},"148":{"position":[[16,8],[64,8],[110,8]]},"177":{"position":[[16,8],[64,8],[110,8]]},"191":{"position":[[16,8],[64,8],[110,8]]},"257":{"position":[[118,9]]},"258":{"position":[[333,9],[508,9],[883,8]]},"279":{"position":[[9640,11],[9811,11],[10027,11],[10197,11]]},"302":{"position":[[79,7]]},"303":{"position":[[91,7]]},"304":{"position":[[87,7]]},"305":{"position":[[97,7]]},"306":{"position":[[169,7]]},"307":{"position":[[80,7]]},"309":{"position":[[624,9],[1498,9]]},"317":{"position":[[108,8]]},"328":{"position":[[79,9]]},"344":{"position":[[927,9]]},"349":{"position":[[1488,10],[1583,10],[6815,10]]},"369":{"position":[[1391,8],[2882,8],[3574,9]]},"373":{"position":[[190,9],[291,9]]},"380":{"position":[[369,8],[1794,8],[1989,8]]},"390":{"position":[[440,10],[1335,11]]},"419":{"position":[[11,8]]},"421":{"position":[[373,9]]},"426":{"position":[[616,9]]},"447":{"position":[[193,9]]},"452":{"position":[[177,10]]},"522":{"position":[[783,9]]},"533":{"position":[[62,11]]},"535":{"position":[[1123,8]]},"538":{"position":[[160,10]]},"544":{"position":[[1062,9]]},"546":{"position":[[865,10]]},"547":{"position":[[66,10]]},"552":{"position":[[803,10]]},"561":{"position":[[22,9]]},"592":{"position":[[306,8]]},"741":{"position":[[1312,11],[1462,11]]}},"keywords":{}}],["operand"",{"_index":4001,"title":{},"content":{"421":{"position":[[231,14],[336,13],[421,13]]}},"keywords":{}}],["operator:latest",{"_index":993,"title":{},"content":{"42":{"position":[[2761,15]]}},"keywords":{}}],["operator_1"",{"_index":3682,"title":{},"content":{"380":{"position":[[920,17]]}},"keywords":{}}],["opportun",{"_index":1446,"title":{},"content":{"73":{"position":[[1797,11]]},"402":{"position":[[2076,11]]},"427":{"position":[[523,11]]},"433":{"position":[[27,11]]}},"keywords":{}}],["opposit",{"_index":4693,"title":{},"content":{"612":{"position":[[744,9]]}},"keywords":{}}],["opt",{"_index":4017,"title":{"433":{"position":[[10,3]]}},"content":{"424":{"position":[[253,4]]},"431":{"position":[[724,3],[815,3],[926,3]]},"433":{"position":[[42,3],[144,3]]}},"keywords":{}}],["optim",{"_index":1017,"title":{},"content":{"43":{"position":[[516,10]]},"552":{"position":[[1394,9]]}},"keywords":{}}],["option",{"_index":153,"title":{"140":{"position":[[0,7]]},"186":{"position":[[0,7]]},"535":{"position":[[13,8]]}},"content":{"5":{"position":[[379,8],[1296,9]]},"12":{"position":[[111,9],[526,8]]},"20":{"position":[[846,6],[1518,8]]},"29":{"position":[[106,8]]},"48":{"position":[[1200,10],[3088,10],[3503,10],[3636,10]]},"67":{"position":[[4579,7]]},"82":{"position":[[1178,8],[1203,8]]},"83":{"position":[[1886,8]]},"91":{"position":[[706,9],[1056,8],[1616,8]]},"105":{"position":[[719,8],[729,7],[815,6],[1607,6]]},"108":{"position":[[326,8],[336,7],[422,6]]},"109":{"position":[[682,8],[692,7],[778,6],[1465,6],[1571,6],[1680,6]]},"110":{"position":[[1016,8],[1026,7],[1112,6],[1823,6],[1953,6],[2062,6]]},"111":{"position":[[911,8],[921,7],[1007,6],[1922,6],[1949,6]]},"112":{"position":[[267,8],[277,7],[363,6],[953,6]]},"113":{"position":[[318,8],[328,7],[414,6],[549,6]]},"140":{"position":[[42,6],[172,7],[231,6],[269,7],[637,6],[741,6],[768,6],[876,6]]},"141":{"position":[[99,10],[134,7],[565,6],[587,6],[678,6],[700,6]]},"186":{"position":[[9,6],[58,7],[186,6],[231,7],[315,6],[327,6],[384,6]]},"209":{"position":[[160,6],[300,10]]},"217":{"position":[[2365,8]]},"219":{"position":[[336,8]]},"275":{"position":[[1154,12]]},"279":{"position":[[10671,7],[10705,7]]},"288":{"position":[[319,7],[353,7]]},"309":{"position":[[1,8],[23,6],[2814,8]]},"310":{"position":[[364,8]]},"314":{"position":[[1370,6],[1416,6],[1585,6]]},"348":{"position":[[1534,10],[1698,10]]},"352":{"position":[[453,6]]},"358":{"position":[[2444,8],[7091,6]]},"380":{"position":[[1386,8]]},"402":{"position":[[3240,8]]},"404":{"position":[[1416,7]]},"422":{"position":[[717,10]]},"447":{"position":[[101,8]]},"467":{"position":[[142,7]]},"468":{"position":[[231,7],[535,8]]},"476":{"position":[[198,7]]},"511":{"position":[[64,8]]},"513":{"position":[[571,6]]},"526":{"position":[[283,7]]},"531":{"position":[[43,8]]},"535":{"position":[[61,7],[1543,6]]},"554":{"position":[[274,6]]},"556":{"position":[[377,11]]},"559":{"position":[[1238,6]]},"571":{"position":[[76,6]]},"582":{"position":[[101,7]]},"639":{"position":[[229,6]]},"648":{"position":[[64,8]]},"654":{"position":[[916,6]]},"664":{"position":[[443,9]]},"665":{"position":[[409,9]]},"673":{"position":[[1038,8],[1111,8],[1570,8],[1964,8]]},"677":{"position":[[1133,8],[1219,8],[1399,8]]},"678":{"position":[[1355,8],[1441,8]]},"679":{"position":[[1376,8],[1462,8]]},"680":{"position":[[1409,8],[1495,8]]},"681":{"position":[[1209,8],[1295,8]]},"682":{"position":[[1426,8],[1512,8]]},"683":{"position":[[1447,8],[1533,8]]},"684":{"position":[[1480,8],[1566,8]]},"692":{"position":[[377,11]]},"711":{"position":[[404,8]]},"723":{"position":[[526,11]]},"741":{"position":[[1192,9],[1342,9],[1492,9],[1631,9],[1819,9]]},"743":{"position":[[165,11]]}},"keywords":{}}],["optional>",{"_index":5177,"title":{},"content":{"692":{"position":[[215,13]]},"693":{"position":[[384,13]]}},"keywords":{}}],["optional>"",{"_index":5190,"title":{},"content":{"694":{"position":[[112,19],[157,19]]},"697":{"position":[[437,19]]},"700":{"position":[[224,19]]}},"keywords":{}}],["optional)>",{"_index":5352,"title":{},"content":{"722":{"position":[[794,15]]},"724":{"position":[[530,15]]},"725":{"position":[[453,15]]},"726":{"position":[[416,15]]},"727":{"position":[[432,15]]},"728":{"position":[[465,15]]},"729":{"position":[[339,15]]},"741":{"position":[[399,15],[430,15],[461,15],[493,15],[521,15]]},"752":{"position":[[160,15]]},"761":{"position":[[121,15]]},"780":{"position":[[173,15],[204,15]]},"787":{"position":[[335,15],[366,15]]}},"keywords":{}}],["optional)>"",{"_index":5523,"title":{},"content":{"754":{"position":[[168,21]]},"755":{"position":[[166,21]]},"766":{"position":[[159,21]]},"767":{"position":[[157,21]]}},"keywords":{}}],["optionalraspbeerri",{"_index":3927,"title":{},"content":{"404":{"position":[[263,18]]}},"keywords":{}}],["options)open",{"_index":1626,"title":{},"content":{"83":{"position":[[1708,12]]}},"keywords":{}}],["orang",{"_index":4708,"title":{},"content":{"619":{"position":[[336,7]]}},"keywords":{}}],["orbit",{"_index":1805,"title":{},"content":{"96":{"position":[[628,6]]},"546":{"position":[[907,5]]}},"keywords":{}}],["order",{"_index":789,"title":{},"content":{"36":{"position":[[6413,5],[6492,5],[6534,5],[6588,5],[7209,5],[7288,5],[7330,5],[7384,5],[9939,5]]},"48":{"position":[[1850,5],[2512,5],[5011,5]]},"67":{"position":[[3661,5],[3828,7]]},"152":{"position":[[65,5]]},"159":{"position":[[74,5]]},"229":{"position":[[6413,5],[6492,5],[6534,5],[6588,5],[7209,5],[7288,5],[7330,5],[7384,5],[9939,5]]},"258":{"position":[[479,5]]},"279":{"position":[[4952,5],[5031,5],[5073,5],[5127,5],[5810,5],[5889,5],[5931,5],[5985,5]]},"302":{"position":[[988,5]]},"342":{"position":[[253,5]]},"424":{"position":[[1687,5]]},"426":{"position":[[364,5],[749,5],[789,5],[857,5],[1212,5]]},"429":{"position":[[553,6]]},"432":{"position":[[356,5],[421,5],[556,7]]},"445":{"position":[[116,5]]},"506":{"position":[[180,5],[214,5]]},"524":{"position":[[175,5],[208,5]]}},"keywords":{}}],["order.mak",{"_index":3720,"title":{},"content":{"386":{"position":[[298,10]]}},"keywords":{}}],["organ",{"_index":428,"title":{"548":{"position":[[7,13]]},"549":{"position":[[0,10]]},"550":{"position":[[0,8]]}},"content":{"20":{"position":[[571,12]]},"332":{"position":[[232,13],[440,13]]},"348":{"position":[[177,9]]},"349":{"position":[[827,9]]},"351":{"position":[[36,8],[136,9]]},"420":{"position":[[14,9],[63,12]]},"549":{"position":[[140,12]]},"550":{"position":[[83,12]]},"551":{"position":[[53,8]]},"574":{"position":[[265,9]]},"609":{"position":[[21,9]]},"610":{"position":[[21,9]]}},"keywords":{}}],["organis",{"_index":4035,"title":{},"content":{"424":{"position":[[1639,14],[1980,14]]}},"keywords":{}}],["organiz",{"_index":431,"title":{},"content":{"20":{"position":[[627,14]]},"450":{"position":[[134,14]]}},"keywords":{}}],["orient",{"_index":34,"title":{},"content":{"2":{"position":[[59,8]]},"343":{"position":[[150,8]]},"551":{"position":[[19,8]]}},"keywords":{}}],["origin",{"_index":1291,"title":{},"content":{"61":{"position":[[71,8],[915,10]]},"81":{"position":[[728,6]]},"82":{"position":[[6469,6]]},"83":{"position":[[964,8]]},"100":{"position":[[1104,8]]},"252":{"position":[[112,8]]},"296":{"position":[[114,8]]},"326":{"position":[[364,10],[450,8]]},"386":{"position":[[466,6]]},"393":{"position":[[278,8]]},"669":{"position":[[118,9],[362,8],[390,8],[591,9],[814,9]]},"670":{"position":[[332,8]]},"671":{"position":[[322,8]]}},"keywords":{}}],["original=fals",{"_index":4985,"title":{},"content":{"669":{"position":[[200,15]]}},"keywords":{}}],["original=tru",{"_index":4995,"title":{},"content":{"669":{"position":[[1139,14]]}},"keywords":{}}],["os",{"_index":2866,"title":{},"content":{"309":{"position":[[1992,2]]},"404":{"position":[[424,2],[797,2],[839,2],[1568,2]]}},"keywords":{}}],["os"",{"_index":3944,"title":{},"content":{"404":{"position":[[756,8]]}},"keywords":{}}],["oscilloscop",{"_index":15,"title":{},"content":{"1":{"position":[[157,14]]}},"keywords":{}}],["other",{"_index":2385,"title":{},"content":{"225":{"position":[[363,7]]},"271":{"position":[[393,7]]},"383":{"position":[[1610,8]]},"430":{"position":[[95,7]]},"543":{"position":[[174,7]]},"552":{"position":[[368,6]]},"572":{"position":[[477,7]]}},"keywords":{}}],["other)"select",{"_index":3947,"title":{},"content":{"404":{"position":[[800,19]]}},"keywords":{}}],["otherwis",{"_index":3786,"title":{},"content":{"390":{"position":[[1053,10]]}},"keywords":{}}],["our_target",{"_index":4355,"title":{},"content":{"540":{"position":[[2016,11],[2931,11],[3323,12],[4127,12]]}},"keywords":{}}],["our_targets.each",{"_index":4363,"title":{},"content":{"540":{"position":[[2397,16]]}},"keywords":{}}],["out",{"_index":97,"title":{"433":{"position":[[14,4]]}},"content":{"3":{"position":[[176,3]]},"20":{"position":[[387,3]]},"27":{"position":[[310,3],[747,3],[851,3]]},"28":{"position":[[202,3]]},"50":{"position":[[210,3]]},"53":{"position":[[482,3]]},"61":{"position":[[895,3],[2606,3]]},"64":{"position":[[192,3]]},"67":{"position":[[4131,3],[4744,3],[4934,3],[5030,3]]},"75":{"position":[[346,3]]},"76":{"position":[[91,3],[345,3]]},"77":{"position":[[71,3],[379,3]]},"83":{"position":[[139,3],[1433,3]]},"100":{"position":[[1021,3]]},"117":{"position":[[345,3]]},"121":{"position":[[43,3]]},"139":{"position":[[228,4]]},"174":{"position":[[45,3]]},"216":{"position":[[374,3]]},"217":{"position":[[2556,3]]},"271":{"position":[[1877,3]]},"275":{"position":[[363,3]]},"279":{"position":[[8047,3]]},"320":{"position":[[601,3]]},"321":{"position":[[1358,3]]},"324":{"position":[[373,3]]},"347":{"position":[[65,3],[130,3],[281,3],[598,3]]},"348":{"position":[[1330,4],[1483,3]]},"358":{"position":[[4630,3],[5880,3]]},"369":{"position":[[4088,3]]},"382":{"position":[[791,3]]},"387":{"position":[[489,3]]},"390":{"position":[[1078,3]]},"424":{"position":[[258,4]]},"426":{"position":[[975,3]]},"431":{"position":[[671,3],[728,3],[819,3],[930,3]]},"433":{"position":[[46,3],[148,3]]},"470":{"position":[[291,3]]},"472":{"position":[[310,3],[548,3]]},"473":{"position":[[830,3],[1294,3]]},"528":{"position":[[812,3]]},"545":{"position":[[181,3]]},"554":{"position":[[538,3]]},"556":{"position":[[461,3]]},"563":{"position":[[467,3]]},"574":{"position":[[285,3]]},"611":{"position":[[378,3]]},"635":{"position":[[269,3]]},"658":{"position":[[965,3]]},"722":{"position":[[1141,3]]},"723":{"position":[[908,3]]},"724":{"position":[[694,3]]},"726":{"position":[[147,4],[753,3]]},"727":{"position":[[804,3]]},"728":{"position":[[619,3]]},"729":{"position":[[549,3]]},"741":{"position":[[1685,3]]},"742":{"position":[[103,3]]}},"keywords":{}}],["out_of_limits_item",{"_index":5429,"title":{},"content":{"742":{"position":[[165,19]]}},"keywords":{}}],["outclick",{"_index":3965,"title":{},"content":{"404":{"position":[[1534,8]]}},"keywords":{}}],["outform",{"_index":598,"title":{},"content":{"28":{"position":[[189,7]]}},"keywords":{}}],["outgo",{"_index":1160,"title":{},"content":{"50":{"position":[[1067,8]]},"53":{"position":[[1035,8]]},"54":{"position":[[1504,8]]},"55":{"position":[[2506,8]]},"56":{"position":[[1336,8]]},"58":{"position":[[108,8]]},"60":{"position":[[828,8]]},"61":{"position":[[548,8],[991,8],[2508,8]]},"65":{"position":[[34,8],[197,8]]},"106":{"position":[[431,8],[552,8]]},"139":{"position":[[452,8]]},"221":{"position":[[92,8]]}},"keywords":{}}],["output",{"_index":203,"title":{"480":{"position":[[20,7]]},"561":{"position":[[0,10]]}},"content":{"6":{"position":[[197,6],[606,6],[710,7]]},"7":{"position":[[794,6]]},"67":{"position":[[2204,6],[4228,7]]},"75":{"position":[[96,6]]},"149":{"position":[[39,6]]},"271":{"position":[[1266,6]]},"340":{"position":[[548,6]]},"383":{"position":[[1003,7]]},"396":{"position":[[167,6],[249,6]]},"397":{"position":[[166,6],[245,6]]},"476":{"position":[[221,6]]},"478":{"position":[[122,6],[148,6]]},"479":{"position":[[88,6]]},"536":{"position":[[151,6]]},"540":{"position":[[3944,7]]},"603":{"position":[[115,6]]},"636":{"position":[[100,6]]},"697":{"position":[[244,7]]},"791":{"position":[[79,6],[252,6]]},"792":{"position":[[78,6]]}},"keywords":{}}],["outsid",{"_index":2925,"title":{},"content":{"314":{"position":[[2038,7]]},"383":{"position":[[440,7]]},"432":{"position":[[34,7]]},"452":{"position":[[128,7]]},"540":{"position":[[925,7]]}},"keywords":{}}],["over",{"_index":1827,"title":{},"content":{"100":{"position":[[538,4]]},"109":{"position":[[365,4]]},"111":{"position":[[43,4]]},"176":{"position":[[119,4]]},"190":{"position":[[125,4]]},"201":{"position":[[117,4]]},"205":{"position":[[119,4]]},"309":{"position":[[390,4]]},"312":{"position":[[151,4]]},"326":{"position":[[979,4]]},"343":{"position":[[1144,4]]},"364":{"position":[[179,4]]},"369":{"position":[[4152,4]]},"378":{"position":[[618,4]]},"387":{"position":[[338,4]]},"402":{"position":[[435,4]]},"429":{"position":[[651,4]]},"473":{"position":[[634,4]]},"476":{"position":[[140,4]]},"522":{"position":[[531,4]]},"528":{"position":[[899,4]]},"540":{"position":[[4542,4]]},"547":{"position":[[132,4],[141,4],[388,4]]},"552":{"position":[[1634,4]]},"554":{"position":[[869,4]]},"605":{"position":[[113,4]]},"725":{"position":[[913,4]]},"729":{"position":[[891,4]]}},"keywords":{}}],["overal",{"_index":3098,"title":{"343":{"position":[[0,7]]},"344":{"position":[[0,7]]}},"content":{"346":{"position":[[61,7]]},"349":{"position":[[1209,7]]},"472":{"position":[[44,7]]},"473":{"position":[[986,7]]},"550":{"position":[[151,7]]},"577":{"position":[[183,8]]},"743":{"position":[[13,7],[272,7]]}},"keywords":{}}],["overall_limits_st",{"_index":5434,"title":{},"content":{"743":{"position":[[370,20],[420,20]]}},"keywords":{}}],["overflow",{"_index":833,"title":{},"content":{"36":{"position":[[9629,9],[9678,9],[9766,9],[9850,8],[10299,8],[10450,8]]},"229":{"position":[[9629,9],[9678,9],[9766,9],[9850,8],[10299,8],[10450,8]]},"690":{"position":[[1442,11]]}},"keywords":{}}],["overhead",{"_index":1162,"title":{},"content":{"51":{"position":[[16,8]]}},"keywords":{}}],["overlap",{"_index":681,"title":{},"content":{"36":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"229":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"279":{"position":[[1054,8],[1103,7],[1163,8],[1253,7]]},"294":{"position":[[48,7],[77,7],[149,7],[179,8]]},"306":{"position":[[509,7]]},"420":{"position":[[204,11]]},"450":{"position":[[165,11],[209,7]]}},"keywords":{}}],["overload",{"_index":3411,"title":{},"content":{"368":{"position":[[802,10]]}},"keywords":{}}],["overrid",{"_index":361,"title":{},"content":{"15":{"position":[[197,9]]},"16":{"position":[[201,9]]},"36":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"38":{"position":[[57,8]]},"43":{"position":[[597,8]]},"44":{"position":[[1020,8]]},"138":{"position":[[899,8]]},"140":{"position":[[127,8]]},"225":{"position":[[381,8]]},"229":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"235":{"position":[[146,8]]},"252":{"position":[[143,8]]},"271":{"position":[[411,8]]},"279":{"position":[[516,8]]},"285":{"position":[[145,8],[468,9]]},"296":{"position":[[147,8],[542,9]]},"315":{"position":[[261,8],[458,8]]},"712":{"position":[[175,8],[458,9]]},"713":{"position":[[12,8],[448,9],[543,8],[635,9],[730,8]]}},"keywords":{}}],["overridden",{"_index":1365,"title":{},"content":{"67":{"position":[[947,10]]},"115":{"position":[[926,10]]},"529":{"position":[[91,10]]},"714":{"position":[[39,10],[126,10]]}},"keywords":{}}],["override_tlm",{"_index":4912,"title":{"712":{"position":[[0,13]]}},"content":{"662":{"position":[[2834,12]]},"714":{"position":[[64,13],[187,13]]}},"keywords":{}}],["override_tlm("<target>",{"_index":5307,"title":{},"content":{"712":{"position":[[251,33]]}},"keywords":{}}],["override_tlm("inst",{"_index":5308,"title":{},"content":{"712":{"position":[[566,23],[655,23],[765,23],[854,23]]},"714":{"position":[[258,23],[1279,23]]}},"keywords":{}}],["override_tlm_raw",{"_index":4911,"title":{},"content":{"662":{"position":[[2772,16]]}},"keywords":{}}],["overview",{"_index":1820,"title":{"100":{"position":[[0,9]]},"398":{"position":[[11,8]]},"419":{"position":[[0,9]]}},"content":{"523":{"position":[[346,8]]},"524":{"position":[[468,8]]},"550":{"position":[[130,8]]}},"keywords":{}}],["overwrit",{"_index":4227,"title":{},"content":{"499":{"position":[[133,9],[407,9]]}},"keywords":{}}],["overwritten",{"_index":4999,"title":{},"content":{"670":{"position":[[425,12]]},"710":{"position":[[85,11]]}},"keywords":{}}],["own",{"_index":3999,"title":{},"content":{"421":{"position":[[195,4]]},"504":{"position":[[69,5]]}},"keywords":{}}],["oylnwe0v3ajcytbvia3dp8rgo6bvv0ogkjwtlda6mbkyzn",{"_index":1563,"title":{},"content":{"82":{"position":[[4269,46]]}},"keywords":{}}],["p",{"_index":1045,"title":{},"content":{"44":{"position":[[574,1]]},"309":{"position":[[3105,1]]}},"keywords":{}}],["p1234:1234/udp",{"_index":3596,"title":{},"content":{"377":{"position":[[194,14]]}},"keywords":{}}],["p1235:1235",{"_index":3597,"title":{},"content":{"377":{"position":[[210,10]]}},"keywords":{}}],["p7",{"_index":3057,"title":{},"content":{"332":{"position":[[928,5]]}},"keywords":{}}],["p7b",{"_index":3056,"title":{},"content":{"332":{"position":[[922,5]]}},"keywords":{}}],["packag",{"_index":2503,"title":{"412":{"position":[[0,9]]}},"content":{"257":{"position":[[216,7],[359,8]]},"258":{"position":[[67,8]]},"309":{"position":[[1393,8],[1536,8],[1631,8]]},"412":{"position":[[5,8],[53,8],[108,8]]},"416":{"position":[[286,7]]},"432":{"position":[[685,10]]}},"keywords":{}}],["package.json",{"_index":2819,"title":{},"content":{"307":{"position":[[1357,12]]},"320":{"position":[[779,12],[809,12]]}},"keywords":{}}],["packet",{"_index":277,"title":{"46":{"position":[[0,6]]},"50":{"position":[[0,6]]},"66":{"position":[[7,6]]},"175":{"position":[[0,7]]},"275":{"position":[[18,6]]},"350":{"position":[[0,6]]},"486":{"position":[[0,6]]},"488":{"position":[[0,6]]},"491":{"position":[[10,8]]},"514":{"position":[[8,7]]},"515":{"position":[[10,7]]},"562":{"position":[[65,8]]},"715":{"position":[[0,6]]}},"content":{"7":{"position":[[1158,6]]},"14":{"position":[[143,6],[213,7]]},"17":{"position":[[24,6],[369,6]]},"18":{"position":[[26,7],[212,7],[374,6]]},"35":{"position":[[455,6],[499,6]]},"36":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6288,6],[6919,6],[7983,6],[8138,8],[8183,6],[8219,6],[8812,6]]},"37":{"position":[[248,6],[292,6]]},"46":{"position":[[1,6],[61,7],[127,7]]},"47":{"position":[[10,6]]},"48":{"position":[[1,6],[183,6],[436,6],[464,6],[485,6],[1340,6],[1554,6],[1604,6],[1988,6],[2029,6],[2046,6],[2062,6],[2105,7],[2117,7],[2194,7],[2263,7],[2525,6],[2568,6],[2612,6],[2687,6],[2727,6],[2768,6],[2871,7],[2907,6],[2976,6],[2996,6],[3333,6],[3402,6],[3422,6],[3752,6],[3806,6],[3826,6],[3893,6],[3984,6],[4072,6],[4718,7],[4736,7],[4833,6],[4978,6],[5024,6],[5067,6],[5111,6],[5239,6]]},"50":{"position":[[31,6],[214,7],[284,6],[1034,7],[1076,7]]},"51":{"position":[[144,6],[173,6],[262,8],[316,6],[386,9],[507,6],[544,6]]},"52":{"position":[[83,7],[196,7],[254,7],[494,6]]},"53":{"position":[[113,6],[134,6],[879,6],[1044,7]]},"54":{"position":[[114,7],[166,6],[253,6],[315,7],[384,7],[837,7],[853,6],[1277,6],[1513,7],[1589,6]]},"55":{"position":[[82,7],[213,7],[242,7],[655,6],[689,6],[1162,6],[1268,6],[2177,6],[2515,8],[2680,6],[2778,7],[3009,6],[3248,6]]},"56":{"position":[[36,7],[99,7],[207,6],[241,7],[332,6],[546,7],[678,7],[832,6],[1179,6],[1345,7]]},"57":{"position":[[143,7]]},"60":{"position":[[682,6],[837,7]]},"61":{"position":[[401,7],[464,6],[557,8],[615,7],[823,6],[936,7],[1000,6],[1359,7],[1491,7],[2004,6],[2351,6],[2517,7]]},"62":{"position":[[39,7],[161,6],[469,6]]},"64":{"position":[[88,7],[454,6],[584,6],[810,6]]},"65":{"position":[[90,8],[206,7],[290,7],[357,8],[544,6]]},"66":{"position":[[12,6],[52,7],[103,8],[182,6],[207,6],[219,6],[238,6]]},"67":{"position":[[1160,7],[1434,7],[2180,6],[2224,7],[2463,7],[2613,7],[2935,6],[3084,6],[3151,6],[3303,6],[3375,6],[3444,6],[3487,6],[3848,6],[3942,6],[4045,7],[4177,7],[4214,6],[4285,6],[4662,7],[4898,7]]},"73":{"position":[[308,7],[457,7],[1828,7]]},"74":{"position":[[75,6],[173,6],[226,7],[278,7],[312,6],[456,6],[687,6],[720,6],[844,6],[914,8],[930,6],[978,6]]},"75":{"position":[[76,6],[172,6],[225,7],[277,7],[311,6],[472,6],[706,6],[777,8],[793,6],[841,6]]},"77":{"position":[[291,6],[1001,7],[1086,7],[1120,8]]},"92":{"position":[[826,6],[1021,6]]},"101":{"position":[[75,6]]},"106":{"position":[[28,7],[678,7]]},"109":{"position":[[1831,6],[2397,6]]},"110":{"position":[[2213,6]]},"115":{"position":[[1574,6],[1691,6],[1735,6],[1837,6]]},"117":{"position":[[214,6]]},"121":{"position":[[35,7]]},"139":{"position":[[1178,7]]},"149":{"position":[[56,7],[134,7],[232,7]]},"152":{"position":[[132,7]]},"159":{"position":[[36,7],[141,7]]},"174":{"position":[[258,7],[286,6]]},"175":{"position":[[16,6],[124,6]]},"183":{"position":[[166,6]]},"217":{"position":[[609,6],[666,6],[1183,6]]},"222":{"position":[[114,7]]},"225":{"position":[[45,7],[138,8]]},"226":{"position":[[23,6]]},"228":{"position":[[52,6],[197,6],[309,7],[484,6],[528,6]]},"229":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6288,6],[6919,6],[7983,6],[8138,8],[8183,6],[8219,6],[8812,6]]},"230":{"position":[[52,6],[267,6],[311,6]]},"231":{"position":[[68,6],[171,6],[420,6],[532,7],[654,6],[698,6],[1301,7]]},"232":{"position":[[68,6],[171,6],[490,6],[534,6],[1137,7]]},"233":{"position":[[52,6],[214,6],[326,7],[655,6],[699,6]]},"234":{"position":[[52,6],[438,6],[482,6]]},"235":{"position":[[120,7]]},"236":{"position":[[63,6],[268,6]]},"242":{"position":[[78,6],[147,7]]},"245":{"position":[[50,6],[160,6],[172,6],[184,6],[218,6]]},"246":{"position":[[50,6],[172,6],[184,6],[196,6],[236,6]]},"247":{"position":[[153,6],[165,6]]},"249":{"position":[[28,6],[97,6],[170,7]]},"250":{"position":[[28,6]]},"251":{"position":[[777,6],[921,6],[1545,6],[1689,6]]},"252":{"position":[[29,6]]},"253":{"position":[[269,6],[713,6],[1147,6],[1591,6],[1917,6],[2361,6]]},"271":{"position":[[49,7],[164,8],[1227,6]]},"272":{"position":[[5,7],[83,6],[241,6],[315,7],[545,6]]},"273":{"position":[[69,6],[213,7],[361,7]]},"274":{"position":[[619,6]]},"275":{"position":[[63,7],[231,7],[339,6],[565,7],[1703,6],[1756,7]]},"276":{"position":[[25,6],[104,6],[166,7],[236,7],[354,6],[489,6]]},"278":{"position":[[51,6],[147,7],[201,6],[308,7],[482,6],[526,6]]},"279":{"position":[[1130,6],[1381,7],[3345,6],[4158,7],[4513,7],[4716,6],[5409,6],[6532,6],[6795,8],[6842,6],[6878,6]]},"280":{"position":[[51,6],[147,7],[274,6],[318,6]]},"281":{"position":[[51,7],[65,7],[136,7],[220,7],[317,7],[371,6],[478,7],[605,6],[649,6],[862,6]]},"282":{"position":[[51,6],[147,7],[274,6],[318,6],[531,6]]},"283":{"position":[[51,6],[164,7],[218,6],[325,7],[648,6],[692,6]]},"284":{"position":[[51,6],[164,7],[440,6],[484,6]]},"285":{"position":[[119,7]]},"286":{"position":[[59,6],[105,6],[249,6]]},"287":{"position":[[43,6]]},"288":{"position":[[59,6]]},"289":{"position":[[19,7],[90,6],[211,6]]},"290":{"position":[[22,6],[61,6],[87,6]]},"291":{"position":[[78,6],[147,7]]},"294":{"position":[[29,6],[58,6],[206,7]]},"295":{"position":[[28,6],[97,6],[170,7]]},"296":{"position":[[31,6],[353,6],[384,6],[418,6]]},"298":{"position":[[273,6],[297,6]]},"299":{"position":[[149,6],[235,6],[621,6],[689,6]]},"302":{"position":[[855,7],[1041,6]]},"312":{"position":[[279,6]]},"321":{"position":[[356,7],[532,6],[1064,6],[1626,6]]},"338":{"position":[[138,7]]},"342":{"position":[[320,6],[404,6],[413,6],[942,8],[1071,6],[1148,8]]},"344":{"position":[[499,7],[688,7],[724,7],[792,7]]},"345":{"position":[[674,7],[699,7],[778,7],[801,7]]},"346":{"position":[[604,7],[738,7],[874,8],[896,7],[976,6],[1018,6],[1048,7],[1106,7],[1580,7],[1591,6],[1617,7],[1643,6],[1673,7]]},"348":{"position":[[473,6],[531,6]]},"350":{"position":[[1,6],[85,6],[189,6],[240,6],[266,6],[307,6],[333,6],[374,6],[441,7],[492,6],[532,6],[712,6],[880,6],[955,6],[1025,6],[1140,6],[1396,6]]},"353":{"position":[[313,8],[336,7],[419,7]]},"354":{"position":[[55,7],[293,8],[404,8],[506,8]]},"358":{"position":[[1119,7],[3428,6],[3579,6],[4466,7],[5101,6],[5440,6],[5602,6],[5666,6],[5729,6],[5979,6],[6071,7],[6171,7],[6305,7]]},"367":{"position":[[181,8],[940,6],[973,6],[1103,7]]},"368":{"position":[[145,6]]},"369":{"position":[[2022,7],[2117,7],[2333,7]]},"380":{"position":[[2091,8],[2128,8],[2196,7],[2243,6]]},"402":{"position":[[221,7],[244,7],[356,7],[385,7],[2291,6],[2326,7],[3128,6],[3356,7],[3398,7],[3712,8],[3721,8],[3816,6],[4055,6],[4993,6],[5084,7],[5145,7],[5435,6],[5541,7],[5630,7],[5901,8],[5915,6],[6019,7],[6029,6],[6064,6],[6198,6]]},"459":{"position":[[32,6]]},"462":{"position":[[224,7],[527,7]]},"464":{"position":[[119,6]]},"467":{"position":[[135,6]]},"470":{"position":[[249,7]]},"472":{"position":[[348,7],[401,6]]},"473":{"position":[[546,8],[673,6],[754,6],[814,6],[953,7]]},"476":{"position":[[115,7]]},"479":{"position":[[162,6]]},"482":{"position":[[33,7],[126,6],[253,6],[376,6],[520,7]]},"487":{"position":[[1,6],[128,7]]},"491":{"position":[[19,6],[77,7],[146,7]]},"494":{"position":[[103,6]]},"504":{"position":[[171,6],[221,6],[285,6]]},"509":{"position":[[314,7]]},"512":{"position":[[148,6]]},"514":{"position":[[13,7]]},"515":{"position":[[15,7],[181,8],[240,7],[331,7],[359,6],[388,6],[438,7]]},"523":{"position":[[89,7],[111,6]]},"562":{"position":[[72,7],[167,7],[191,6],[245,8],[280,7]]},"563":{"position":[[319,6],[351,6],[406,7],[526,7],[625,7],[667,8],[842,7],[963,7],[993,6],[1003,8],[1174,7]]},"572":{"position":[[210,6],[259,6]]},"579":{"position":[[47,6],[152,7]]},"609":{"position":[[125,6],[141,6]]},"610":{"position":[[125,6],[141,6]]},"611":{"position":[[458,6],[474,6]]},"612":{"position":[[100,6],[116,6]]},"613":{"position":[[127,6],[143,6]]},"614":{"position":[[121,6],[137,6]]},"615":{"position":[[129,6],[145,6]]},"616":{"position":[[141,6],[157,6]]},"617":{"position":[[144,6],[160,6]]},"618":{"position":[[140,6],[156,6]]},"619":{"position":[[408,6],[424,6]]},"620":{"position":[[137,6],[153,6]]},"621":{"position":[[135,6],[151,6]]},"622":{"position":[[121,6],[137,6]]},"623":{"position":[[110,6],[126,6]]},"624":{"position":[[113,6],[129,6]]},"625":{"position":[[109,6],[125,6]]},"626":{"position":[[107,6],[123,6],[834,6],[850,6]]},"627":{"position":[[141,6],[157,6],[887,6],[903,6]]},"628":{"position":[[125,6],[141,6],[859,6],[875,6]]},"629":{"position":[[35,6],[106,6],[122,6]]},"630":{"position":[[131,6],[147,6]]},"631":{"position":[[119,6],[135,6]]},"633":{"position":[[153,6],[169,6]]},"634":{"position":[[105,6],[121,6]]},"635":{"position":[[349,6],[365,6]]},"648":{"position":[[143,6],[159,6]]},"650":{"position":[[335,6],[351,6]]},"652":{"position":[[207,6],[223,6]]},"659":{"position":[[211,6],[353,7]]},"687":{"position":[[152,7]]},"689":{"position":[[58,7],[280,6],[304,7]]},"691":{"position":[[11,6],[63,6],[361,6],[385,7],[409,6],[464,6],[913,6]]},"693":{"position":[[59,7]]},"697":{"position":[[534,6],[568,6]]},"698":{"position":[[476,6],[510,6]]},"701":{"position":[[324,6],[358,6]]},"702":{"position":[[11,6],[63,6],[344,6],[368,7],[401,6]]},"703":{"position":[[84,7],[458,6],[482,7]]},"704":{"position":[[115,6]]},"705":{"position":[[32,6],[196,7]]},"706":{"position":[[32,6]]},"707":{"position":[[11,6],[238,6],[262,7],[295,6]]},"708":{"position":[[288,6],[312,7],[637,6]]},"709":{"position":[[51,6],[299,6],[333,7],[471,6]]},"710":{"position":[[106,6],[525,6],[532,6]]},"711":{"position":[[11,6],[83,6],[251,6],[258,6]]},"712":{"position":[[128,6],[392,6],[399,6]]},"713":{"position":[[228,6],[235,6]]},"715":{"position":[[37,7],[111,6]]},"716":{"position":[[53,7]]},"717":{"position":[[9,6],[287,7],[370,7],[398,6],[511,7],[553,8],[723,6],[734,7],[799,8],[1015,7],[1045,6],[1055,8],[1221,6],[1232,7],[1283,6],[1293,8]]},"718":{"position":[[39,6],[235,6],[242,6]]},"719":{"position":[[50,7],[255,6],[262,6]]},"720":{"position":[[47,6],[269,6],[276,6]]},"722":{"position":[[900,6],[934,6]]},"723":{"position":[[632,6],[666,6]]},"725":{"position":[[45,7],[300,6],[522,6],[533,6],[549,7],[571,7],[905,7]]},"726":{"position":[[515,6],[549,6]]},"727":{"position":[[531,6],[565,6]]},"729":{"position":[[45,7],[192,7],[408,6],[419,6],[435,7],[457,7],[581,8],[883,7]]},"731":{"position":[[392,6],[426,6]]},"732":{"position":[[247,6],[281,6]]},"733":{"position":[[249,6],[283,6]]},"740":{"position":[[243,6],[277,6]]},"741":{"position":[[614,6],[648,6]]},"765":{"position":[[248,7],[270,7],[781,7],[1316,7]]},"800":{"position":[[50,6]]}},"keywords":{}}],["packet"",{"_index":3635,"title":{},"content":{"379":{"position":[[700,12],[3068,12]]},"482":{"position":[[455,13]]}},"keywords":{}}],["packet(",{"_index":4192,"title":{"482":{"position":[[17,9]]}},"content":{},"keywords":{}}],["packet.first",{"_index":3261,"title":{},"content":{"358":{"position":[[3502,12]]}},"keywords":{}}],["packet.packet_nam",{"_index":2445,"title":{},"content":{"251":{"position":[[896,18],[1664,18]]}},"keywords":{}}],["packet.read("item"",{"_index":2446,"title":{},"content":{"251":{"position":[[950,29],[1004,29],[1718,29],[1772,29]]}},"keywords":{}}],["packet.read('ccsdsday",{"_index":2718,"title":{},"content":{"299":{"position":[[1247,25]]}},"keywords":{}}],["packet.read('ccsdsmsod",{"_index":2720,"title":{},"content":{"299":{"position":[[1286,25],[1572,25]]}},"keywords":{}}],["packet.read('ccsdsusom",{"_index":2722,"title":{},"content":{"299":{"position":[[1324,26],[1598,26]]}},"keywords":{}}],["packet.target_nam",{"_index":2444,"title":{},"content":{"251":{"position":[[857,18],[1625,18]]}},"keywords":{}}],["packet/data",{"_index":1459,"title":{},"content":{"77":{"position":[[436,12],[486,11],[1183,11]]}},"keywords":{}}],["packet1",{"_index":4529,"title":{},"content":{"562":{"position":[[254,7],[381,7],[412,7],[595,7]]}},"keywords":{}}],["packet2",{"_index":4530,"title":{},"content":{"562":{"position":[[266,8],[488,7],[519,7],[606,7]]}},"keywords":{}}],["packet['buff",{"_index":5242,"title":{},"content":{"702":{"position":[[457,16]]}},"keywords":{}}],["packet['packet_name']}"",{"_index":4538,"title":{},"content":{"563":{"position":[[745,30],[1081,30]]},"717":{"position":[[631,30],[877,30],[1133,30],[1371,30]]}},"keywords":{}}],["packet['target_nam",{"_index":4537,"title":{},"content":{"563":{"position":[[720,24],[1057,23]]},"717":{"position":[[606,24],[852,24],[1109,23],[1347,23]]}},"keywords":{}}],["packet_nam",{"_index":1752,"title":{},"content":{"92":{"position":[[540,11],[990,11]]},"685":{"position":[[1203,14]]},"687":{"position":[[853,14]]},"689":{"position":[[895,14]]},"691":{"position":[[1083,14]]},"714":{"position":[[1392,14],[1506,14],[1626,14],[1748,14]]},"742":{"position":[[40,12]]},"743":{"position":[[311,14]]}},"keywords":{}}],["packet_tim",{"_index":2607,"title":{},"content":{"275":{"position":[[401,11],[1285,11],[1438,11],[1599,11]]}},"keywords":{}}],["packet_timeformat",{"_index":2602,"title":{},"content":{"275":{"position":[[91,21],[1645,20]]},"634":{"position":[[323,20]]},"693":{"position":[[111,23]]},"720":{"position":[[400,23]]}},"keywords":{}}],["packet_timesecond",{"_index":2601,"title":{},"content":{"275":{"position":[[71,19],[1622,18]]},"693":{"position":[[89,21]]},"720":{"position":[[377,22]]}},"keywords":{}}],["packetlog",{"_index":2127,"title":{},"content":{"174":{"position":[[415,10]]}},"keywords":{}}],["packets>",{"_index":5368,"title":{},"content":{"725":{"position":[[406,12]]},"729":{"position":[[292,12]]}},"keywords":{}}],["packets"",{"_index":878,"title":{},"content":{"40":{"position":[[754,13]]},"48":{"position":[[782,13]]}},"keywords":{}}],["packets.each",{"_index":4535,"title":{},"content":{"563":{"position":[[651,12]]},"717":{"position":[[537,12],[783,12]]}},"keywords":{}}],["packetswindow",{"_index":3521,"title":{},"content":{"369":{"position":[[3518,14]]}},"keywords":{}}],["pad",{"_index":850,"title":{"586":{"position":[[0,8]]}},"content":{"36":{"position":[[10658,7]]},"586":{"position":[[17,7],[26,7],[323,7]]}},"keywords":{}}],["page",{"_index":467,"title":{},"content":{"20":{"position":[[1563,5]]},"43":{"position":[[1070,4]]},"83":{"position":[[1599,4]]},"88":{"position":[[194,4],[409,4]]},"109":{"position":[[1781,4]]},"110":{"position":[[2163,4]]},"196":{"position":[[142,4]]},"216":{"position":[[83,5],[382,4],[597,4]]},"217":{"position":[[94,5],[2564,4],[2718,4]]},"358":{"position":[[1708,5]]},"359":{"position":[[506,4],[2055,4],[2884,5]]},"379":{"position":[[4021,5]]},"380":{"position":[[85,5]]},"392":{"position":[[408,4]]},"427":{"position":[[683,5]]},"433":{"position":[[269,5]]},"437":{"position":[[185,5]]},"457":{"position":[[221,5],[269,5],[364,4]]},"514":{"position":[[206,5]]},"515":{"position":[[218,5]]},"602":{"position":[[99,4]]}},"keywords":{}}],["pagin",{"_index":4143,"title":{},"content":{"454":{"position":[[556,10]]},"514":{"position":[[134,9]]},"515":{"position":[[137,9]]}},"keywords":{}}],["pain",{"_index":128,"title":{},"content":{"3":{"position":[[666,5]]}},"keywords":{}}],["pair",{"_index":709,"title":{},"content":{"36":{"position":[[2712,4],[2762,5]]},"77":{"position":[[428,4],[498,4]]},"82":{"position":[[145,5]]},"218":{"position":[[180,5]]},"229":{"position":[[2712,4],[2762,5]]},"260":{"position":[[158,5]]},"279":{"position":[[1937,4],[1974,5]]},"452":{"position":[[606,5]]},"716":{"position":[[262,5]]},"803":{"position":[[169,5]]},"804":{"position":[[172,5]]}},"keywords":{}}],["pane",{"_index":3094,"title":{},"content":{"340":{"position":[[516,4]]}},"keywords":{}}],["param",{"_index":1409,"title":{},"content":{"69":{"position":[[172,6]]},"86":{"position":[[221,6]]},"217":{"position":[[757,6]]},"369":{"position":[[497,7]]},"612":{"position":[[832,6]]},"619":{"position":[[221,6],[725,6]]},"637":{"position":[[1008,6]]},"677":{"position":[[903,5],[1018,5]]},"678":{"position":[[1125,5],[1240,5]]},"679":{"position":[[1146,5],[1261,5]]},"680":{"position":[[1179,5],[1294,5]]},"681":{"position":[[979,5],[1094,5]]},"682":{"position":[[1196,5],[1311,5]]},"683":{"position":[[1217,5],[1332,5]]},"684":{"position":[[1250,5],[1365,5]]},"690":{"position":[[414,5],[468,5],[1141,5]]},"692":{"position":[[206,6],[326,6]]},"700":{"position":[[215,6],[343,6]]}},"keywords":{}}],["paramet",{"_index":140,"title":{"5":{"position":[[10,11]]},"35":{"position":[[0,10]]},"36":{"position":[[0,9]]},"228":{"position":[[0,10]]},"229":{"position":[[0,9]]}},"content":{"5":{"position":[[80,11],[201,10],[312,10],[349,10],[406,10],[441,10],[561,9],[1065,10],[1127,9],[1252,9],[1368,10]]},"7":{"position":[[367,9]]},"11":{"position":[[282,9]]},"12":{"position":[[122,9]]},"13":{"position":[[26,9],[95,9],[204,9],[307,10],[319,9],[386,10],[412,9]]},"14":{"position":[[222,9]]},"15":{"position":[[364,9]]},"16":{"position":[[364,9]]},"32":{"position":[[65,9]]},"33":{"position":[[31,9],[503,10],[520,9],[719,10],[736,9]]},"35":{"position":[[11,9],[43,9],[90,10],[212,10],[329,11],[372,10],[591,9],[678,9],[807,10],[824,9],[899,9],[959,9],[1011,10],[1069,9],[1174,9],[1458,10],[1475,9],[1542,10],[1600,9],[1705,9]]},"36":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6166,9],[6306,9],[6796,9],[6937,9],[7860,10],[8077,11],[8493,10],[8770,10],[8961,9],[10239,9],[10498,9],[10573,10],[10749,9],[10817,10]]},"37":{"position":[[11,9],[43,9],[90,10],[165,10],[384,9],[471,9],[600,10],[617,9],[692,9],[752,9],[804,10],[862,9],[967,9],[1251,10],[1268,9],[1335,10],[1393,9],[1498,9]]},"38":{"position":[[90,9]]},"39":{"position":[[210,9]]},"50":{"position":[[454,9],[812,10],[901,9],[1105,9],[1165,10]]},"52":{"position":[[616,9]]},"53":{"position":[[505,9]]},"54":{"position":[[734,9]]},"55":{"position":[[562,9]]},"56":{"position":[[437,9]]},"57":{"position":[[259,10]]},"58":{"position":[[197,9]]},"59":{"position":[[86,9]]},"60":{"position":[[174,9]]},"61":{"position":[[1250,9]]},"62":{"position":[[310,9]]},"64":{"position":[[97,9]]},"65":{"position":[[100,9]]},"66":{"position":[[113,9]]},"67":{"position":[[218,10],[361,10],[514,10]]},"73":{"position":[[112,9]]},"74":{"position":[[135,9]]},"75":{"position":[[134,9]]},"76":{"position":[[126,9]]},"77":{"position":[[275,11],[839,9]]},"91":{"position":[[235,9],[462,9],[732,10],[774,9],[923,10],[949,9],[1087,9],[1162,10],[1460,9],[1641,10]]},"92":{"position":[[446,9],[569,9],[714,10],[740,9],[889,9]]},"100":{"position":[[928,11]]},"104":{"position":[[221,9]]},"105":{"position":[[245,9]]},"106":{"position":[[84,9]]},"107":{"position":[[223,9]]},"108":{"position":[[216,9]]},"109":{"position":[[440,9]]},"110":{"position":[[433,9]]},"111":{"position":[[207,9]]},"112":{"position":[[144,9]]},"113":{"position":[[148,9]]},"114":{"position":[[109,9]]},"125":{"position":[[337,11]]},"126":{"position":[[706,9]]},"128":{"position":[[355,9],[842,10]]},"130":{"position":[[37,9]]},"131":{"position":[[71,9]]},"132":{"position":[[72,9]]},"135":{"position":[[209,9]]},"138":{"position":[[326,9]]},"139":{"position":[[369,9],[640,10],[662,10]]},"140":{"position":[[7,9],[192,9],[600,10],[611,10]]},"141":{"position":[[183,9]]},"142":{"position":[[68,9]]},"143":{"position":[[223,9]]},"144":{"position":[[149,9]]},"145":{"position":[[117,9]]},"146":{"position":[[126,9]]},"147":{"position":[[105,9]]},"148":{"position":[[155,9]]},"149":{"position":[[392,9],[632,10]]},"150":{"position":[[23,9]]},"152":{"position":[[73,9]]},"153":{"position":[[56,9]]},"154":{"position":[[78,9]]},"155":{"position":[[48,9]]},"156":{"position":[[63,9]]},"157":{"position":[[85,9]]},"158":{"position":[[50,9]]},"159":{"position":[[82,9]]},"160":{"position":[[58,9]]},"161":{"position":[[80,9]]},"162":{"position":[[50,9]]},"163":{"position":[[65,9]]},"164":{"position":[[87,9]]},"165":{"position":[[52,9]]},"166":{"position":[[61,9]]},"167":{"position":[[59,9]]},"168":{"position":[[58,9]]},"169":{"position":[[58,9]]},"170":{"position":[[58,9]]},"171":{"position":[[46,9]]},"173":{"position":[[63,9]]},"174":{"position":[[303,9]]},"175":{"position":[[78,9]]},"176":{"position":[[139,9]]},"177":{"position":[[155,9]]},"178":{"position":[[180,9]]},"180":{"position":[[52,9]]},"181":{"position":[[207,9]]},"182":{"position":[[150,9]]},"183":{"position":[[288,9]]},"184":{"position":[[232,9]]},"185":{"position":[[101,9]]},"186":{"position":[[261,9]]},"187":{"position":[[110,9]]},"188":{"position":[[143,9]]},"189":{"position":[[105,9]]},"190":{"position":[[145,9]]},"191":{"position":[[155,9]]},"192":{"position":[[261,9]]},"194":{"position":[[120,9]]},"195":{"position":[[136,9]]},"196":{"position":[[269,9]]},"197":{"position":[[81,9]]},"198":{"position":[[109,9]]},"199":{"position":[[140,9]]},"200":{"position":[[272,9]]},"201":{"position":[[137,9]]},"202":{"position":[[48,9]]},"203":{"position":[[96,9]]},"205":{"position":[[139,9]]},"213":{"position":[[649,9],[710,9],[783,9]]},"217":{"position":[[474,11],[487,9],[1054,11],[1067,9],[1503,9],[1563,9],[1621,9],[1684,9],[1762,9],[1803,9],[1852,9],[2103,9],[2258,9],[2409,11]]},"219":{"position":[[345,10],[393,11],[437,10],[628,10],[852,9]]},"223":{"position":[[181,9]]},"225":{"position":[[812,10],[1333,11]]},"226":{"position":[[31,9]]},"228":{"position":[[19,9],[60,9],[107,10],[240,10],[358,11],[401,10],[620,9],[707,9],[836,10],[853,9],[928,9],[988,9],[1040,10],[1098,9],[1203,9],[1487,10],[1504,9],[1571,10],[1629,9],[1734,9],[1949,9],[2032,9],[2090,9],[2129,9],[2208,9]]},"229":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6166,9],[6306,9],[6796,9],[6937,9],[7860,10],[8077,11],[8493,10],[8770,10],[8961,9],[10239,9]]},"230":{"position":[[19,9],[60,9],[107,10],[184,10],[403,9],[490,9],[619,10],[636,9],[711,9],[771,9],[823,10],[881,9],[986,9],[1270,10],[1287,9],[1354,10],[1412,9],[1517,9]]},"231":{"position":[[35,9],[79,10],[283,9],[330,10],[463,10],[571,10],[790,9],[877,9],[1006,10],[1023,9],[1098,9],[1158,9],[1212,10],[1347,9],[1631,10],[1648,9],[1715,10],[1773,9],[1878,9]]},"232":{"position":[[35,9],[79,10],[283,9],[330,10],[407,10],[626,9],[713,9],[842,10],[859,9],[934,9],[994,9],[1048,10],[1183,9],[1467,10],[1484,9],[1551,10],[1609,9],[1714,9]]},"233":{"position":[[19,9],[77,9],[124,10],[257,10],[375,11]]},"234":{"position":[[19,9],[77,9],[124,10]]},"235":{"position":[[29,9],[282,9],[334,9]]},"236":{"position":[[44,9],[94,9],[175,10],[217,10],[345,9],[371,10],[383,9],[435,9]]},"240":{"position":[[222,9]]},"241":{"position":[[142,9]]},"242":{"position":[[220,9]]},"243":{"position":[[214,11],[250,9]]},"244":{"position":[[210,11],[247,9]]},"245":{"position":[[84,9]]},"246":{"position":[[90,9]]},"247":{"position":[[68,9]]},"248":{"position":[[70,9]]},"251":{"position":[[172,9]]},"252":{"position":[[269,10],[281,9]]},"253":{"position":[[125,9],[207,9],[287,9],[468,9],[556,9],[647,9],[733,9],[857,9],[1003,9],[1085,9],[1165,9],[1346,9],[1434,9],[1525,9],[1611,9],[1655,9],[1773,9],[1855,9],[1935,9],[2116,9],[2204,9],[2295,9]]},"276":{"position":[[33,9]]},"278":{"position":[[59,9],[618,9]]},"279":{"position":[[99,9],[308,9],[550,9],[828,9],[1010,9],[1433,9],[1649,9],[2325,9],[3224,10],[3474,9],[3775,9],[3796,9],[4845,9],[5538,9],[6737,11],[7312,9],[8435,9],[10473,9]]},"280":{"position":[[59,9],[410,9]]},"281":{"position":[[229,9]]},"282":{"position":[[59,9]]},"283":{"position":[[76,9]]},"284":{"position":[[76,9]]},"285":{"position":[[282,9]]},"286":{"position":[[356,9]]},"287":{"position":[[231,9]]},"288":{"position":[[79,9]]},"291":{"position":[[220,9]]},"292":{"position":[[96,9]]},"293":{"position":[[94,9]]},"296":{"position":[[277,9]]},"297":{"position":[[717,9]]},"298":{"position":[[207,9]]},"348":{"position":[[299,10],[732,10],[819,10],[923,10],[1093,9],[1238,10],[1309,9],[1496,10],[1733,11],[1811,10]]},"358":{"position":[[3255,10],[3366,10],[3540,9],[3785,9],[3955,9]]},"359":{"position":[[1165,9]]},"378":{"position":[[1239,9]]},"379":{"position":[[3931,10],[3951,10]]},"402":{"position":[[3080,9],[3227,9],[4004,9]]},"464":{"position":[[170,9]]},"466":{"position":[[11,9],[44,9],[110,9]]},"467":{"position":[[212,10],[257,11],[286,9],[562,9]]},"468":{"position":[[255,11],[369,9],[467,10],[520,10]]},"540":{"position":[[4363,10]]},"577":{"position":[[149,10],[193,9]]},"579":{"position":[[105,9]]},"580":{"position":[[60,9]]},"581":{"position":[[498,9]]},"582":{"position":[[166,11]]},"583":{"position":[[93,9]]},"584":{"position":[[95,9]]},"585":{"position":[[95,9]]},"586":{"position":[[97,9]]},"587":{"position":[[63,9],[196,10]]},"588":{"position":[[57,9],[190,10]]},"589":{"position":[[68,9],[201,10]]},"590":{"position":[[43,9]]},"591":{"position":[[498,9]]},"592":{"position":[[355,9],[571,10],[593,10]]},"594":{"position":[[258,9]]},"595":{"position":[[172,9]]},"596":{"position":[[106,9]]},"597":{"position":[[130,9]]},"598":{"position":[[107,9]]},"599":{"position":[[138,9]]},"601":{"position":[[60,9]]},"602":{"position":[[49,9]]},"604":{"position":[[136,9]]},"606":{"position":[[48,9]]},"607":{"position":[[48,9]]},"608":{"position":[[69,10]]},"609":{"position":[[62,9]]},"610":{"position":[[62,9]]},"611":{"position":[[395,9]]},"612":{"position":[[37,9],[1037,9]]},"613":{"position":[[64,9]]},"614":{"position":[[58,9]]},"615":{"position":[[66,9]]},"616":{"position":[[78,9]]},"617":{"position":[[81,9]]},"618":{"position":[[77,9]]},"619":{"position":[[345,9],[969,9]]},"620":{"position":[[74,9]]},"621":{"position":[[72,9]]},"622":{"position":[[58,9]]},"623":{"position":[[47,9]]},"624":{"position":[[50,9]]},"625":{"position":[[46,9]]},"626":{"position":[[44,9],[771,9],[1332,9],[1487,9],[1645,9],[1773,9],[1898,9],[1991,9]]},"627":{"position":[[78,9],[824,9],[1385,9],[1540,9],[1698,9],[1826,9],[1951,9],[2044,9]]},"628":{"position":[[62,9],[796,9],[1357,9],[1512,9],[1670,9],[1798,9],[1923,9],[2016,9]]},"629":{"position":[[43,9]]},"630":{"position":[[68,9]]},"631":{"position":[[56,9]]},"632":{"position":[[96,9]]},"633":{"position":[[90,9]]},"634":{"position":[[42,9]]},"635":{"position":[[286,9]]},"637":{"position":[[1347,11],[1578,9]]},"638":{"position":[[118,9]]},"639":{"position":[[137,9]]},"640":{"position":[[120,9]]},"641":{"position":[[98,9]]},"642":{"position":[[220,9]]},"643":{"position":[[59,9]]},"644":{"position":[[120,9]]},"646":{"position":[[196,9]]},"647":{"position":[[29,9]]},"648":{"position":[[80,9]]},"649":{"position":[[34,9],[741,9]]},"650":{"position":[[272,9],[1301,9],[1654,9]]},"651":{"position":[[31,9]]},"652":{"position":[[144,9],[1217,9]]},"653":{"position":[[30,9]]},"664":{"position":[[322,9]]},"665":{"position":[[288,9]]},"668":{"position":[[468,9]]},"669":{"position":[[218,9]]},"670":{"position":[[139,9]]},"671":{"position":[[115,9]]},"673":{"position":[[919,9],[1047,10],[1071,9],[1120,10]]},"675":{"position":[[136,9]]},"677":{"position":[[749,9],[935,10],[962,10],[1054,10],[1148,9],[1234,9],[1384,10]]},"678":{"position":[[68,11],[162,9],[971,9],[1157,10],[1184,10],[1276,10],[1370,9],[1456,9]]},"679":{"position":[[992,9],[1178,10],[1205,10],[1297,10],[1391,9],[1477,9]]},"680":{"position":[[50,9],[252,11],[1025,9],[1211,10],[1238,10],[1330,10],[1424,9],[1510,9]]},"681":{"position":[[825,9],[1011,10],[1038,10],[1130,10],[1224,9],[1310,9]]},"682":{"position":[[91,11],[185,9],[1042,9],[1228,10],[1255,10],[1347,10],[1441,9],[1527,9]]},"683":{"position":[[1063,9],[1249,10],[1276,10],[1368,10],[1462,9],[1548,9]]},"684":{"position":[[73,9],[275,11],[1096,9],[1282,10],[1309,10],[1401,10],[1495,9],[1581,9]]},"685":{"position":[[175,9],[209,10]]},"686":{"position":[[106,9]]},"687":{"position":[[232,9]]},"688":{"position":[[141,9]]},"689":{"position":[[227,9]]},"690":{"position":[[37,9],[273,9],[360,9],[387,10]]},"691":{"position":[[308,9]]},"692":{"position":[[231,9],[345,10],[441,9]]},"693":{"position":[[78,10],[400,9],[487,9],[522,10]]},"694":{"position":[[179,9]]},"695":{"position":[[235,9]]},"697":{"position":[[459,9]]},"698":{"position":[[401,9]]},"699":{"position":[[979,9]]},"700":{"position":[[246,9],[350,10]]},"701":{"position":[[249,9],[437,9]]},"702":{"position":[[291,9]]},"703":{"position":[[405,9],[501,9]]},"704":{"position":[[355,9]]},"705":{"position":[[118,9]]},"706":{"position":[[123,9]]},"707":{"position":[[185,9]]},"708":{"position":[[235,9]]},"709":{"position":[[246,9]]},"710":{"position":[[485,9]]},"711":{"position":[[211,9],[413,10]]},"712":{"position":[[352,9]]},"713":{"position":[[188,9]]},"716":{"position":[[193,9]]},"717":{"position":[[167,9]]},"718":{"position":[[195,9]]},"719":{"position":[[215,9]]},"720":{"position":[[229,9]]},"722":{"position":[[179,10],[498,9],[825,9],[1293,9],[1414,9]]},"723":{"position":[[557,9],[1060,9],[1181,9]]},"724":{"position":[[555,9],[847,9]]},"725":{"position":[[478,9],[728,9]]},"726":{"position":[[440,9],[905,9]]},"727":{"position":[[456,9],[956,9]]},"728":{"position":[[483,9]]},"729":{"position":[[364,9],[700,9]]},"731":{"position":[[317,9]]},"732":{"position":[[172,9]]},"733":{"position":[[174,9]]},"734":{"position":[[169,9]]},"735":{"position":[[171,9]]},"737":{"position":[[143,9]]},"740":{"position":[[169,9]]},"741":{"position":[[539,9]]},"743":{"position":[[179,9]]},"744":{"position":[[151,9],[285,9]]},"747":{"position":[[133,9]]},"750":{"position":[[186,9]]},"752":{"position":[[149,10],[178,9],[247,10],[258,10],[353,10]]},"753":{"position":[[145,9]]},"754":{"position":[[192,9]]},"755":{"position":[[190,9]]},"757":{"position":[[254,9],[358,9],[453,9],[550,9]]},"758":{"position":[[310,9],[417,10],[432,10]]},"759":{"position":[[326,9],[433,10],[448,10]]},"761":{"position":[[110,10],[139,9],[199,10],[210,10],[299,10]]},"762":{"position":[[107,9]]},"764":{"position":[[173,9]]},"766":{"position":[[183,9]]},"767":{"position":[[181,9]]},"768":{"position":[[294,9],[395,10],[410,10]]},"769":{"position":[[336,9],[437,10],[452,10]]},"771":{"position":[[108,9]]},"772":{"position":[[102,9]]},"775":{"position":[[125,9]]},"777":{"position":[[59,10],[117,10],[235,9]]},"778":{"position":[[461,9]]},"780":{"position":[[222,9]]},"781":{"position":[[139,9]]},"783":{"position":[[152,9]]},"785":{"position":[[192,9]]},"786":{"position":[[287,9]]},"787":{"position":[[384,9]]},"789":{"position":[[107,9]]},"791":{"position":[[196,9]]},"795":{"position":[[672,9]]},"801":{"position":[[91,9]]},"802":{"position":[[88,9],[121,10]]},"803":{"position":[[113,9],[209,10],[281,10]]},"804":{"position":[[116,9],[213,10],[298,10]]},"809":{"position":[[239,9]]},"810":{"position":[[238,9]]},"812":{"position":[[67,9]]},"813":{"position":[[125,9]]},"814":{"position":[[300,9]]},"815":{"position":[[136,9]]},"816":{"position":[[140,9]]}},"keywords":{}}],["parameter"",{"_index":730,"title":{},"content":{"36":{"position":[[3661,15]]},"229":{"position":[[3661,15]]}},"keywords":{}}],["parameter/argu",{"_index":3840,"title":{},"content":{"398":{"position":[[48,18]]}},"keywords":{}}],["parameter_name_1",{"_index":1720,"title":{},"content":{"91":{"position":[[574,16]]}},"keywords":{}}],["parameter_name_2",{"_index":1722,"title":{},"content":{"91":{"position":[[610,16]]}},"keywords":{}}],["parameter_value_1",{"_index":1721,"title":{},"content":{"91":{"position":[[591,18]]}},"keywords":{}}],["parameter_value_2",{"_index":1723,"title":{},"content":{"91":{"position":[[627,18]]}},"keywords":{}}],["parameters>"",{"_index":5567,"title":{},"content":{"758":{"position":[[286,21]]},"759":{"position":[[302,21]]},"768":{"position":[[270,21]]},"769":{"position":[[293,21]]}},"keywords":{}}],["parameters"",{"_index":3136,"title":{},"content":{"348":{"position":[[1770,16]]}},"keywords":{}}],["parametersdis",{"_index":4162,"title":{},"content":{"466":{"position":[[87,18]]}},"keywords":{}}],["pariti",{"_index":1786,"title":{},"content":{"96":{"position":[[83,6]]},"111":{"position":[[505,6],[524,7]]},"314":{"position":[[582,6],[619,6],[1281,6]]}},"keywords":{}}],["pars",{"_index":149,"title":{},"content":{"5":{"position":[[291,6],[1228,7]]},"6":{"position":[[779,7]]},"83":{"position":[[1949,7]]},"88":{"position":[[559,5]]},"138":{"position":[[258,5]]},"216":{"position":[[71,5],[368,5]]},"217":{"position":[[82,5],[2550,5]]},"222":{"position":[[89,5]]},"532":{"position":[[79,5]]},"534":{"position":[[732,6]]},"576":{"position":[[39,6]]}},"keywords":{}}],["part",{"_index":262,"title":{},"content":{"7":{"position":[[602,4]]},"56":{"position":[[319,4]]},"67":{"position":[[1070,4],[1344,4]]},"321":{"position":[[553,4]]},"383":{"position":[[306,4],[1415,4],[1491,4],[1874,4]]},"498":{"position":[[782,4]]},"499":{"position":[[746,4]]},"528":{"position":[[493,4]]},"548":{"position":[[21,4]]},"566":{"position":[[192,4]]},"592":{"position":[[95,5]]},"641":{"position":[[55,4]]}},"keywords":{}}],["parti",{"_index":4014,"title":{},"content":{"424":{"position":[[68,6]]},"434":{"position":[[163,8],[235,8],[689,7]]}},"keywords":{}}],["partial",{"_index":261,"title":{},"content":{"7":{"position":[[583,7]]},"556":{"position":[[476,9]]}},"keywords":{}}],["particip",{"_index":2429,"title":{},"content":{"249":{"position":[[54,13]]},"295":{"position":[[54,13]]}},"keywords":{}}],["particular",{"_index":2013,"title":{},"content":{"128":{"position":[[89,10]]},"231":{"position":[[141,10]]},"232":{"position":[[141,10]]},"235":{"position":[[228,10]]},"272":{"position":[[328,10]]},"285":{"position":[[228,10]]},"297":{"position":[[217,10]]},"305":{"position":[[866,10]]},"349":{"position":[[944,10]]},"390":{"position":[[863,10]]},"401":{"position":[[334,10]]},"504":{"position":[[210,10]]},"575":{"position":[[240,10]]},"687":{"position":[[59,10]]},"688":{"position":[[45,10]]},"692":{"position":[[41,10]]},"814":{"position":[[8,10]]},"815":{"position":[[8,10]]},"816":{"position":[[10,10]]}},"keywords":{}}],["partit",{"_index":2844,"title":{},"content":{"309":{"position":[[920,9]]}},"keywords":{}}],["pass",{"_index":758,"title":{},"content":{"36":{"position":[[4981,6],[5361,6],[8978,6]]},"50":{"position":[[570,6]]},"61":{"position":[[926,6]]},"67":{"position":[[1963,6],[2556,6],[2881,6],[2999,6]]},"70":{"position":[[344,4]]},"77":{"position":[[517,6]]},"81":{"position":[[84,4]]},"83":{"position":[[898,5]]},"104":{"position":[[356,4],[480,4],[669,4]]},"105":{"position":[[556,4]]},"107":{"position":[[465,4],[570,4]]},"110":{"position":[[718,4],[830,4],[2288,6]]},"111":{"position":[[311,4],[423,4],[748,4]]},"140":{"position":[[625,4]]},"141":{"position":[[710,4],[760,4]]},"186":{"position":[[1,4],[69,4],[217,4]]},"216":{"position":[[422,6]]},"217":{"position":[[764,6],[887,6]]},"225":{"position":[[1303,4]]},"229":{"position":[[4981,6],[5361,6],[8978,6]]},"242":{"position":[[335,6]]},"251":{"position":[[497,6],[758,6],[1526,6]]},"260":{"position":[[62,4]]},"279":{"position":[[3842,6],[10726,6]]},"288":{"position":[[374,6]]},"315":{"position":[[246,6],[443,6]]},"385":{"position":[[234,4]]},"386":{"position":[[331,6]]},"402":{"position":[[262,6],[1669,7],[1835,4]]},"429":{"position":[[631,7]]},"523":{"position":[[283,7]]},"530":{"position":[[642,4]]},"540":{"position":[[2082,6],[2997,6],[4950,7]]},"546":{"position":[[1196,4],[1369,4]]},"564":{"position":[[262,4]]},"565":{"position":[[305,6],[370,7]]},"568":{"position":[[209,4]]},"581":{"position":[[264,7],[405,4],[436,4]]},"587":{"position":[[211,6]]},"588":{"position":[[205,6]]},"589":{"position":[[216,6]]},"591":{"position":[[264,7],[405,4],[436,4]]},"662":{"position":[[4849,4]]},"664":{"position":[[501,6]]},"665":{"position":[[467,6]]},"697":{"position":[[1058,6],[1415,6]]},"699":{"position":[[896,7]]},"721":{"position":[[110,5]]},"786":{"position":[[617,4],[889,4]]},"787":{"position":[[1079,4],[1379,4]]},"795":{"position":[[799,6],[858,6],[957,6],[1017,6],[1722,4],[1799,4],[1853,4],[1906,4]]}},"keywords":{}}],["pass/failed/skip",{"_index":4520,"title":{},"content":{"561":{"position":[[98,19]]}},"keywords":{}}],["passphrase.out",{"_index":462,"title":{},"content":{"20":{"position":[[1195,14]]}},"keywords":{}}],["password",{"_index":580,"title":{},"content":{"27":{"position":[[369,9],[388,8],[511,8],[578,8],[889,8]]},"81":{"position":[[100,8]]},"82":{"position":[[136,8],[385,8]]},"83":{"position":[[2360,9]]},"109":{"position":[[914,8],[923,8],[1129,8],[1456,8],[1658,8],[1694,8],[1797,8],[1820,8]]},"110":{"position":[[1248,8],[1257,8],[1463,8],[1814,8],[2040,8],[2076,8],[2179,8],[2202,8]]},"112":{"position":[[434,8],[825,8],[857,8]]},"209":{"position":[[97,8]]},"260":{"position":[[223,10]]},"334":{"position":[[57,8]]},"402":{"position":[[1780,8]]},"404":{"position":[[1068,9],[1139,8],[1319,8]]},"415":{"position":[[349,8]]},"664":{"position":[[539,8],[580,8],[809,8],[1030,8]]},"665":{"position":[[505,8],[546,8],[811,8],[1075,8]]},"810":{"position":[[145,9]]}},"keywords":{}}],["password"",{"_index":1480,"title":{},"content":{"81":{"position":[[245,14]]},"93":{"position":[[993,14]]},"664":{"position":[[841,15],[1062,15]]},"665":{"position":[[850,15],[1114,15]]}},"keywords":{}}],["passwordless",{"_index":3961,"title":{},"content":{"404":{"position":[[1391,12]]}},"keywords":{}}],["passwork",{"_index":5788,"title":{},"content":{"810":{"position":[[38,8]]}},"keywords":{}}],["past",{"_index":1021,"title":{},"content":{"43":{"position":[[688,6],[878,5]]},"310":{"position":[[167,5]]},"349":{"position":[[1613,6]]},"454":{"position":[[584,4]]},"459":{"position":[[80,4]]},"535":{"position":[[278,4]]},"551":{"position":[[481,8]]},"579":{"position":[[98,4],[217,4]]},"658":{"position":[[542,4]]}},"keywords":{}}],["patch",{"_index":3300,"title":{},"content":{"359":{"position":[[1850,5]]},"382":{"position":[[846,5]]}},"keywords":{}}],["path",{"_index":594,"title":{},"content":{"27":{"position":[[1047,5]]},"43":{"position":[[903,4]]},"141":{"position":[[479,4],[518,4]]},"143":{"position":[[103,4],[174,4],[322,4],[393,4]]},"181":{"position":[[87,4],[158,4],[306,4],[377,4]]},"188":{"position":[[439,4],[478,4]]},"203":{"position":[[185,4]]},"217":{"position":[[535,4]]},"244":{"position":[[291,4],[309,4]]},"293":{"position":[[138,4],[156,4]]},"313":{"position":[[119,4],[135,4],[179,4]]},"332":{"position":[[267,4],[1215,4],[1471,4]]},"333":{"position":[[50,4],[180,5],[246,5]]},"358":{"position":[[266,5],[773,4]]},"371":{"position":[[214,5]]},"383":{"position":[[850,5],[1085,4]]},"441":{"position":[[105,5]]},"442":{"position":[[85,5]]},"559":{"position":[[428,5]]},"602":{"position":[[87,4]]},"669":{"position":[[248,4]]},"670":{"position":[[169,4]]},"671":{"position":[[145,4]]},"710":{"position":[[347,5]]},"777":{"position":[[397,5],[426,5]]},"778":{"position":[[627,4]]}},"keywords":{}}],["path>"",{"_index":4984,"title":{},"content":{"669":{"position":[[102,15],[184,15]]},"670":{"position":[[95,15]]},"671":{"position":[[97,15]]}},"keywords":{}}],["path=/auth/realms/openc3",{"_index":1539,"title":{},"content":{"82":{"position":[[942,26],[1064,26]]}},"keywords":{}}],["path=~/cosmo",{"_index":3069,"title":{},"content":{"333":{"position":[[312,13]]}},"keywords":{}}],["path_to_openc3/openc3.sh",{"_index":3603,"title":{},"content":{"378":{"position":[[403,25],[474,25]]},"379":{"position":[[3580,25]]}},"keywords":{}}],["pattern",{"_index":1196,"title":{},"content":{"53":{"position":[[296,7],[417,8],[451,8],[687,7],[707,7],[763,7],[802,7],[858,7],[934,7],[975,8],[1024,7]]},"54":{"position":[[476,7],[638,8],[694,7],[1085,7],[1105,7],[1161,7],[1200,7],[1256,7],[1332,7],[1374,8],[1493,7]]},"55":{"position":[[455,8],[522,7],[858,7],[1210,8],[1365,7],[1862,7],[1882,7],[2061,7],[2100,7],[2156,7],[2232,7],[2274,8],[2388,7],[2455,7],[2808,7],[3275,8]]},"56":{"position":[[987,7],[1007,7],[1063,7],[1102,7],[1158,7],[1234,7],[1276,8],[1325,7]]},"57":{"position":[[829,7],[932,7]]},"60":{"position":[[490,7],[510,7],[566,7],[605,7],[661,7],[737,7],[817,7]]},"61":{"position":[[2159,7],[2179,7],[2235,7],[2274,7],[2330,7],[2406,7],[2448,8],[2497,7]]},"62":{"position":[[353,7],[392,7],[448,7],[520,7],[555,7],[600,8]]},"265":{"position":[[153,8]]},"349":{"position":[[680,7]]},"387":{"position":[[1539,8]]},"542":{"position":[[56,7],[168,7],[898,8]]},"560":{"position":[[32,7],[271,8]]}},"keywords":{}}],["pattern"",{"_index":2395,"title":{},"content":{"228":{"position":[[2018,13]]},"230":{"position":[[1806,13]]}},"keywords":{}}],["paus",{"_index":3144,"title":{},"content":{"349":{"position":[[351,6],[2336,7],[2371,5],[2405,7],[2558,5],[2707,7],[3707,7],[5810,7],[5871,5]]},"517":{"position":[[347,6]]},"530":{"position":[[408,5]]},"535":{"position":[[95,5],[112,6]]},"554":{"position":[[480,5]]},"555":{"position":[[118,5]]},"559":{"position":[[1296,6]]},"569":{"position":[[263,7],[995,6]]},"658":{"position":[[592,5],[651,5]]},"697":{"position":[[131,6]]},"698":{"position":[[129,6]]},"699":{"position":[[82,6]]},"721":{"position":[[33,5]]},"722":{"position":[[1,6]]},"723":{"position":[[1,6]]},"724":{"position":[[1,6]]},"725":{"position":[[1,6]]},"726":{"position":[[53,6]]},"727":{"position":[[1,6]]},"728":{"position":[[1,6]]},"729":{"position":[[1,6]]}},"keywords":{}}],["pause/retri",{"_index":4851,"title":{},"content":{"658":{"position":[[568,11]]}},"keywords":{}}],["payload",{"_index":3663,"title":{},"content":{"379":{"position":[[3317,7]]}},"keywords":{}}],["pc",{"_index":3647,"title":{},"content":{"379":{"position":[[965,2]]}},"keywords":{}}],["pdf",{"_index":4154,"title":{},"content":{"457":{"position":[[122,4],[320,3],[372,4]]}},"keywords":{}}],["pdu",{"_index":1949,"title":{},"content":{"112":{"position":[[1034,3]]},"113":{"position":[[630,3]]}},"keywords":{}}],["peg",{"_index":4705,"title":{},"content":{"618":{"position":[[310,8],[449,8]]},"625":{"position":[[279,8],[418,8]]},"631":{"position":[[289,8],[428,8]]}},"keywords":{}}],["pem",{"_index":595,"title":{"28":{"position":[[21,4]]}},"content":{"28":{"position":[[77,4],[135,3],[197,3]]},"109":{"position":[[977,3],[1071,3]]},"110":{"position":[[1311,3],[1405,3]]},"332":{"position":[[875,5],[893,5]]}},"keywords":{}}],["pem.key",{"_index":599,"title":{},"content":{"28":{"position":[[225,8]]}},"keywords":{}}],["penalti",{"_index":2591,"title":{},"content":{"272":{"position":[[528,7]]},"568":{"position":[[446,7]]}},"keywords":{}}],["pencil",{"_index":4195,"title":{},"content":{"484":{"position":[[37,6],[107,6],[278,6]]},"505":{"position":[[14,6]]},"522":{"position":[[611,6]]}},"keywords":{}}],["peopl",{"_index":3291,"title":{},"content":{"359":{"position":[[349,6]]}},"keywords":{}}],["per",{"_index":695,"title":{},"content":{"36":{"position":[[1757,3],[1772,3]]},"55":{"position":[[1412,3],[1442,3]]},"229":{"position":[[1757,3],[1772,3]]},"257":{"position":[[1,3]]},"258":{"position":[[1,3],[208,3]]},"259":{"position":[[1,3]]},"261":{"position":[[1,3]]},"263":{"position":[[89,3]]},"265":{"position":[[1,3]]},"273":{"position":[[357,3]]},"279":{"position":[[1752,3],[1767,3]]},"314":{"position":[[834,3]]},"352":{"position":[[545,3],[645,3]]},"358":{"position":[[2553,3]]},"368":{"position":[[120,3]]},"369":{"position":[[130,3]]},"393":{"position":[[822,3],[835,3]]},"397":{"position":[[79,3]]},"398":{"position":[[282,3]]},"402":{"position":[[5153,3]]},"519":{"position":[[90,3],[129,3]]},"540":{"position":[[1383,3]]},"592":{"position":[[476,3]]},"609":{"position":[[368,3],[398,3]]},"610":{"position":[[368,3],[393,3],[428,3],[452,3]]}},"keywords":{}}],["percent",{"_index":2119,"title":{},"content":{"173":{"position":[[113,7]]}},"keywords":{}}],["percentag",{"_index":4734,"title":{},"content":{"630":{"position":[[55,11]]}},"keywords":{}}],["perform",{"_index":321,"title":{"369":{"position":[[0,11]]}},"content":{"11":{"position":[[261,7]]},"36":{"position":[[9173,12]]},"122":{"position":[[81,7]]},"123":{"position":[[118,7]]},"178":{"position":[[148,7]]},"229":{"position":[[9173,12]]},"258":{"position":[[1694,11]]},"267":{"position":[[539,7]]},"268":{"position":[[17,12]]},"272":{"position":[[516,11]]},"279":{"position":[[7298,12]]},"330":{"position":[[709,12]]},"342":{"position":[[362,7]]},"349":{"position":[[1462,7],[1554,7],[1740,7]]},"352":{"position":[[19,8]]},"367":{"position":[[100,11]]},"368":{"position":[[34,12],[204,8]]},"369":{"position":[[1,11],[34,9],[2474,11]]},"382":{"position":[[634,7]]},"414":{"position":[[162,9]]},"419":{"position":[[232,8]]},"422":{"position":[[57,7]]},"432":{"position":[[850,7]]},"522":{"position":[[438,11]]},"540":{"position":[[2361,7],[3273,7]]},"544":{"position":[[313,7]]},"546":{"position":[[893,10]]},"547":{"position":[[49,7]]},"551":{"position":[[302,9]]},"563":{"position":[[223,7]]},"565":{"position":[[70,7]]},"569":{"position":[[618,7]]},"574":{"position":[[141,7]]},"637":{"position":[[148,7]]},"658":{"position":[[279,7]]},"678":{"position":[[35,10]]},"679":{"position":[[35,10]]},"680":{"position":[[35,10]]},"682":{"position":[[58,10]]},"683":{"position":[[58,10]]},"684":{"position":[[58,10]]},"685":{"position":[[253,7]]},"697":{"position":[[1,8],[663,7]]},"699":{"position":[[131,7]]},"722":{"position":[[1029,7]]},"724":{"position":[[157,7]]},"726":{"position":[[644,7]]},"728":{"position":[[153,7]]}},"keywords":{}}],["perform_common_math(gimbal.gimbal_step",{"_index":4473,"title":{},"content":{"551":{"position":[[1153,40],[1625,40]]}},"keywords":{}}],["perform_common_math(x",{"_index":4466,"title":{},"content":{"551":{"position":[[982,22],[1448,22]]}},"keywords":{}}],["perhap",{"_index":3153,"title":{},"content":{"349":{"position":[[1051,7]]}},"keywords":{}}],["period",{"_index":1310,"title":{},"content":{"61":{"position":[[2634,6]]},"64":{"position":[[246,6]]},"171":{"position":[[1,6]]},"330":{"position":[[1004,6]]},"424":{"position":[[1404,7]]},"476":{"position":[[154,7]]},"577":{"position":[[415,6]]}},"keywords":{}}],["perman",{"_index":3001,"title":{},"content":{"326":{"position":[[925,11]]},"528":{"position":[[268,14]]},"775":{"position":[[44,10]]},"787":{"position":[[90,11]]}},"keywords":{}}],["permiss",{"_index":2936,"title":{},"content":{"317":{"position":[[227,11]]},"390":{"position":[[590,10]]},"432":{"position":[[67,11]]}},"keywords":{}}],["permit",{"_index":4032,"title":{},"content":{"424":{"position":[[1233,7]]},"430":{"position":[[594,9]]},"636":{"position":[[158,6]]}},"keywords":{}}],["perpetu",{"_index":3795,"title":{},"content":{"391":{"position":[[446,9]]}},"keywords":{}}],["persist",{"_index":2000,"title":{},"content":{"123":{"position":[[19,10]]},"178":{"position":[[156,10]]},"267":{"position":[[463,8]]},"279":{"position":[[8564,11]]},"741":{"position":[[1619,11]]}},"keywords":{}}],["person",{"_index":3752,"title":{},"content":{"389":{"position":[[386,9]]},"424":{"position":[[401,8],[1074,8],[1336,8],[1365,8],[1427,8],[1817,8]]},"425":{"position":[[50,10]]},"426":{"position":[[13,8]]},"427":{"position":[[23,8],[208,8]]},"428":{"position":[[32,8]]},"431":{"position":[[413,8],[643,8]]},"432":{"position":[[1060,8],[1451,8]]},"434":{"position":[[430,8],[520,8],[739,8],[813,8]]}},"keywords":{}}],["pfx",{"_index":559,"title":{"26":{"position":[[43,4]]},"27":{"position":[[33,4]]},"28":{"position":[[8,4]]}},"content":{"26":{"position":[[5,4],[314,4]]},"27":{"position":[[200,4],[456,4]]},"28":{"position":[[62,4]]}},"keywords":{}}],["phase",{"_index":1096,"title":{},"content":{"48":{"position":[[2170,6]]}},"keywords":{}}],["philosophi",{"_index":3726,"title":{"387":{"position":[[0,10]]},"541":{"position":[[10,11]]}},"content":{"387":{"position":[[0,10]]}},"keywords":{}}],["phone",{"_index":4053,"title":{},"content":{"426":{"position":[[841,5],[1035,5]]}},"keywords":{}}],["photo",{"_index":4820,"title":{},"content":{"649":{"position":[[502,5]]}},"keywords":{}}],["physic",{"_index":1996,"title":{},"content":{"120":{"position":[[26,8]]},"128":{"position":[[27,8]]},"378":{"position":[[1259,8]]}},"keywords":{}}],["pi",{"_index":25,"title":{"403":{"position":[[10,2]]},"404":{"position":[[28,2]]}},"content":{"1":{"position":[[257,3]]},"367":{"position":[[31,2]]},"404":{"position":[[15,2],[217,2],[251,2],[282,2],[480,2],[650,2],[725,2],[794,2],[836,2],[1668,2],[1757,2],[1789,2],[1861,2],[1918,2],[2724,3]]}},"keywords":{}}],["pick",{"_index":4532,"title":{},"content":{"563":{"position":[[462,4]]}},"keywords":{}}],["picker",{"_index":4788,"title":{},"content":{"640":{"position":[[17,6]]},"644":{"position":[[17,6]]}},"keywords":{}}],["pictur",{"_index":1801,"title":{},"content":{"96":{"position":[[527,8]]}},"keywords":{}}],["piec",{"_index":87,"title":{},"content":{"3":{"position":[[61,6],[307,6]]},"119":{"position":[[26,6],[202,6]]},"128":{"position":[[100,5]]},"531":{"position":[[95,5],[588,6]]}},"keywords":{}}],["pink",{"_index":4569,"title":{},"content":{"569":{"position":[[63,4]]}},"keywords":{}}],["pip",{"_index":2216,"title":{},"content":{"211":{"position":[[92,3],[161,3]]}},"keywords":{}}],["pixel",{"_index":4598,"title":{},"content":{"577":{"position":[[238,6],[331,6]]},"583":{"position":[[83,8],[138,6]]},"584":{"position":[[85,8],[142,6]]},"585":{"position":[[85,8],[138,6]]},"586":{"position":[[87,8],[140,6]]},"599":{"position":[[214,6]]},"607":{"position":[[107,6],[150,6]]},"613":{"position":[[397,6]]},"626":{"position":[[2036,6],[2065,6]]},"627":{"position":[[2089,6],[2118,6]]},"628":{"position":[[2061,6],[2090,6]]},"630":{"position":[[406,7]]},"651":{"position":[[398,6]]},"652":{"position":[[576,6]]},"653":{"position":[[192,6]]}},"keywords":{}}],["pkcs#12",{"_index":560,"title":{},"content":{"26":{"position":[[30,7]]}},"keywords":{}}],["pkcs12",{"_index":576,"title":{},"content":{"27":{"position":[[274,6],[703,6]]}},"keywords":{}}],["pkt",{"_index":2449,"title":{},"content":{"251":{"position":[[1095,3],[1141,3],[1196,3],[1287,3],[1871,3],[1918,3]]},"271":{"position":[[1489,3],[1756,3],[1823,3]]}},"keywords":{}}],["pkt_len",{"_index":3631,"title":{},"content":{"379":{"position":[[643,7],[1503,7],[2035,7],[2535,7],[3032,7]]}},"keywords":{}}],["pktid",{"_index":2624,"title":{},"content":{"278":{"position":[[1068,5]]},"280":{"position":[[867,5]]},"281":{"position":[[1165,5]]},"282":{"position":[[841,5]]}},"keywords":{}}],["pkts_rcvd",{"_index":5593,"title":{},"content":{"765":{"position":[[452,10],[767,13],[970,10]]}},"keywords":{}}],["pkts_sent",{"_index":5594,"title":{},"content":{"765":{"position":[[463,10],[981,9]]}},"keywords":{}}],["pkts_sent}"",{"_index":5596,"title":{},"content":{"765":{"position":[[795,18]]}},"keywords":{}}],["place",{"_index":221,"title":{},"content":{"6":{"position":[[536,6]]},"27":{"position":[[616,5]]},"52":{"position":[[678,5],[978,5]]},"225":{"position":[[232,6]]},"271":{"position":[[260,6]]},"274":{"position":[[655,6]]},"324":{"position":[[619,6]]},"332":{"position":[[143,6],[372,5]]},"349":{"position":[[3856,5]]},"387":{"position":[[1339,6]]},"395":{"position":[[98,5],[172,5]]},"396":{"position":[[126,6]]},"397":{"position":[[125,6]]},"426":{"position":[[738,5]]},"429":{"position":[[540,5]]},"449":{"position":[[89,6]]},"455":{"position":[[1380,6]]},"540":{"position":[[708,6],[800,6],[3826,5]]},"546":{"position":[[505,6]]},"549":{"position":[[234,5],[333,5]]},"551":{"position":[[353,5]]},"561":{"position":[[387,6],[692,6]]},"593":{"position":[[110,6]]},"594":{"position":[[1,6],[163,6]]},"595":{"position":[[1,6],[216,5]]},"596":{"position":[[1,6]]},"597":{"position":[[1,6],[174,5]]},"598":{"position":[[1,6]]},"599":{"position":[[1,6]]},"600":{"position":[[35,5]]},"601":{"position":[[45,5]]},"604":{"position":[[92,6]]},"607":{"position":[[1,6]]},"645":{"position":[[103,6]]},"646":{"position":[[142,6]]},"797":{"position":[[1,6]]},"798":{"position":[[1,6]]}},"keywords":{}}],["plain",{"_index":402,"title":{},"content":{"20":{"position":[[183,5]]},"26":{"position":[[212,5]]},"339":{"position":[[280,5]]},"342":{"position":[[878,5]]},"343":{"position":[[1437,5]]}},"keywords":{}}],["plan",{"_index":1034,"title":{"98":{"position":[[10,9]]}},"content":{"43":{"position":[[1386,4]]},"95":{"position":[[41,8]]},"96":{"position":[[619,8]]},"98":{"position":[[15,8],[69,8]]},"358":{"position":[[8323,4]]},"401":{"position":[[120,7]]}},"keywords":{}}],["platform",{"_index":3007,"title":{},"content":{"330":{"position":[[279,9]]},"358":{"position":[[124,8]]},"365":{"position":[[20,8]]},"367":{"position":[[82,9]]},"369":{"position":[[720,8],[2205,8],[2389,9],[3662,9],[4253,9]]},"571":{"position":[[325,8]]}},"keywords":{}}],["platformsredi",{"_index":3477,"title":{},"content":{"369":{"position":[[1941,14],[3431,14]]}},"keywords":{}}],["play",{"_index":3240,"title":{},"content":{"358":{"position":[[1,7]]}},"keywords":{}}],["play_wav_fil",{"_index":4857,"title":{},"content":{"661":{"position":[[241,13]]},"662":{"position":[[2894,13]]}},"keywords":{}}],["playback",{"_index":1790,"title":{},"content":{"96":{"position":[[267,8]]},"352":{"position":[[87,9]]},"354":{"position":[[382,8],[436,9]]},"402":{"position":[[4650,8],[4803,8]]}},"keywords":{}}],["playwright",{"_index":2191,"title":{"207":{"position":[[0,11]]},"209":{"position":[[0,10]]}},"content":{"208":{"position":[[57,10],[116,10],[135,10],[170,10]]},"209":{"position":[[238,10],[256,10],[515,10],[572,10]]}},"keywords":{}}],["playwright/coverage/index.html",{"_index":2209,"title":{},"content":{"209":{"position":[[647,30]]}},"keywords":{}}],["pleas",{"_index":129,"title":{},"content":{"3":{"position":[[672,6]]},"57":{"position":[[1336,6]]},"58":{"position":[[404,6]]},"59":{"position":[[487,6]]},"60":{"position":[[874,6]]},"61":{"position":[[117,6]]},"64":{"position":[[1269,6]]},"79":{"position":[[1,6]]},"98":{"position":[[142,6]]},"109":{"position":[[2663,6]]},"110":{"position":[[2394,6]]},"112":{"position":[[992,6]]},"113":{"position":[[588,6]]},"114":{"position":[[537,6]]},"128":{"position":[[867,6]]},"139":{"position":[[347,6]]},"149":{"position":[[657,6]]},"221":{"position":[[370,6]]},"222":{"position":[[205,6]]},"223":{"position":[[353,6]]},"306":{"position":[[468,6]]},"307":{"position":[[640,6]]},"320":{"position":[[588,6]]},"333":{"position":[[650,6],[776,6]]},"336":{"position":[[38,6]]},"358":{"position":[[8105,6]]},"359":{"position":[[2978,6]]},"386":{"position":[[667,6]]},"393":{"position":[[1004,6],[1415,6]]},"401":{"position":[[383,6]]},"436":{"position":[[82,6]]},"437":{"position":[[62,6],[163,6]]},"507":{"position":[[93,6]]},"540":{"position":[[4274,6]]},"576":{"position":[[390,6]]},"660":{"position":[[128,6]]},"794":{"position":[[103,6]]}},"keywords":{}}],["plot",{"_index":3215,"title":{},"content":{"352":{"position":[[248,5],[539,5],[575,6],[649,5],[688,5],[879,8],[980,8]]}},"keywords":{}}],["plu",{"_index":298,"title":{},"content":{"9":{"position":[[133,4]]},"55":{"position":[[1072,4]]},"454":{"position":[[297,4]]},"462":{"position":[[92,4]]}},"keywords":{}}],["plug",{"_index":2554,"title":{},"content":{"264":{"position":[[336,4]]},"421":{"position":[[695,4]]},"669":{"position":[[413,4]]},"670":{"position":[[355,4]]}},"keywords":{}}],["plugin",{"_index":58,"title":{"116":{"position":[[0,7]]},"124":{"position":[[0,6]]},"301":{"position":[[0,6]]},"359":{"position":[[14,7]]},"378":{"position":[[18,6]]},"380":{"position":[[14,7]]},"407":{"position":[[0,8]]},"549":{"position":[[31,7]]}},"content":{"2":{"position":[[497,8]]},"42":{"position":[[300,8]]},"57":{"position":[[1405,8]]},"58":{"position":[[474,8]]},"59":{"position":[[557,8]]},"60":{"position":[[944,8]]},"64":{"position":[[1341,8]]},"96":{"position":[[148,6]]},"112":{"position":[[1063,8]]},"113":{"position":[[659,8]]},"114":{"position":[[604,8]]},"117":{"position":[[72,7],[80,7],[130,7],[497,6],[579,7],[655,6]]},"124":{"position":[[8,7]]},"125":{"position":[[60,7],[100,6],[145,6]]},"126":{"position":[[40,6],[140,6],[532,6]]},"127":{"position":[[30,6],[108,6]]},"143":{"position":[[151,7],[370,7]]},"178":{"position":[[61,6],[284,7]]},"181":{"position":[[135,7],[354,7]]},"192":{"position":[[40,6],[349,7]]},"219":{"position":[[201,8]]},"221":{"position":[[439,8]]},"222":{"position":[[278,8]]},"223":{"position":[[420,8]]},"301":{"position":[[5,6],[63,7],[85,6],[203,6],[230,6],[275,6],[286,6],[497,7],[512,7],[841,6],[937,7],[1185,6],[1277,6],[1365,6],[1432,6],[1498,8],[1579,6]]},"302":{"position":[[113,6]]},"303":{"position":[[125,6]]},"304":{"position":[[121,6]]},"305":{"position":[[131,6]]},"306":{"position":[[203,6]]},"307":{"position":[[114,6]]},"314":{"position":[[925,6]]},"319":{"position":[[230,6]]},"320":{"position":[[715,6],[1361,6],[1382,6]]},"323":{"position":[[415,6],[460,7]]},"326":{"position":[[76,7],[176,7],[352,6],[459,7],[501,6],[702,6],[725,7],[792,7],[1012,6],[1070,6],[1105,7],[1149,6]]},"343":{"position":[[588,8]]},"356":{"position":[[73,7],[184,7],[213,6],[264,7],[293,6],[347,7],[367,6],[433,7],[625,7],[657,6]]},"358":{"position":[[477,7],[963,7],[971,7],[1035,6],[1214,6],[1461,6],[1481,6],[1691,6],[2025,6],[2059,6],[2150,6],[2557,6],[6504,6],[6963,6],[7066,6],[8307,6]]},"359":{"position":[[26,6],[339,6],[367,6],[437,6],[525,7],[702,6],[1755,6],[2074,7],[2165,7],[2199,6],[2253,6],[2367,6],[2409,7],[2615,7],[2658,6]]},"362":{"position":[[1341,6],[1424,6]]},"363":{"position":[[576,6]]},"378":{"position":[[43,7],[142,6],[191,6],[299,6],[334,6],[442,6],[548,7],[1314,7],[1412,7],[1559,6]]},"379":{"position":[[3519,6],[3548,6],[3637,6],[3777,7],[3924,6],[3984,6],[4014,6]]},"380":{"position":[[11,6],[53,6],[203,6],[1020,7],[1365,7],[1429,6],[1494,6],[1552,7],[1638,6]]},"382":{"position":[[747,7]]},"383":{"position":[[66,8],[161,8],[192,7],[323,7],[358,7],[383,6],[696,7],[1211,6],[1458,6],[1641,6],[1867,6],[1929,6]]},"389":{"position":[[843,8],[1317,8],[1330,7],[1442,7]]},"390":{"position":[[50,6],[125,6],[166,7],[179,6]]},"391":{"position":[[296,7]]},"392":{"position":[[479,7]]},"397":{"position":[[50,6],[217,6]]},"406":{"position":[[146,8]]},"407":{"position":[[5,7],[42,7],[74,7],[252,7],[311,6],[436,6],[605,7]]},"408":{"position":[[58,6]]},"440":{"position":[[263,7],[567,8]]},"548":{"position":[[31,7],[63,6],[187,6]]},"549":{"position":[[110,7]]},"671":{"position":[[346,6]]}},"keywords":{}}],["plugin"",{"_index":3293,"title":{},"content":{"359":{"position":[[570,12]]}},"keywords":{}}],["plugin'",{"_index":237,"title":{},"content":{"6":{"position":[[1135,8]]},"320":{"position":[[51,8],[1533,8]]},"379":{"position":[[3817,8]]},"380":{"position":[[1704,8]]},"407":{"position":[[480,8]]},"549":{"position":[[162,8]]},"649":{"position":[[125,8]]}},"keywords":{}}],["plugin.gemspec",{"_index":1987,"title":{},"content":{"117":{"position":[[542,14]]}},"keywords":{}}],["plugin.txt",{"_index":238,"title":{"125":{"position":[[0,10]]}},"content":{"6":{"position":[[1144,10]]},"57":{"position":[[361,10]]},"100":{"position":[[145,10]]},"104":{"position":[[822,10],[1677,10]]},"105":{"position":[[901,10],[1641,10]]},"106":{"position":[[865,10],[988,10]]},"107":{"position":[[783,10],[878,10]]},"108":{"position":[[508,10],[612,10]]},"109":{"position":[[1286,10],[1375,10]]},"110":{"position":[[1620,10],[1733,10]]},"111":{"position":[[1142,10]]},"112":{"position":[[871,10]]},"113":{"position":[[476,10]]},"114":{"position":[[184,10]]},"117":{"position":[[594,10]]},"125":{"position":[[3,10],[393,10]]},"126":{"position":[[472,10]]},"301":{"position":[[1149,10]]},"302":{"position":[[2495,10]]},"303":{"position":[[1158,10]]},"306":{"position":[[868,10]]},"307":{"position":[[1689,10]]},"314":{"position":[[92,10]]},"319":{"position":[[138,10]]},"323":{"position":[[388,10]]},"338":{"position":[[744,11]]},"378":{"position":[[567,10]]},"383":{"position":[[1663,10]]}},"keywords":{}}],["plugin_instance.json",{"_index":2987,"title":{},"content":{"323":{"position":[[318,20],[349,20]]}},"keywords":{}}],["plugins/default/openc3",{"_index":2986,"title":{},"content":{"323":{"position":[[216,22]]}},"keywords":{}}],["plugins/packages/openc3",{"_index":1011,"title":{},"content":{"43":{"position":[[238,23]]}},"keywords":{}}],["plugins/targets_modified/inst/procedures/checks.rb",{"_index":2991,"title":{},"content":{"324":{"position":[[486,51]]}},"keywords":{}}],["plugins](../configuration/plugin",{"_index":3276,"title":{},"content":{"358":{"position":[[6517,35]]}},"keywords":{}}],["pluginsgrafana",{"_index":3807,"title":{},"content":{"392":{"position":[[321,14]]}},"keywords":{}}],["png",{"_index":4733,"title":{},"content":{"629":{"position":[[340,4]]}},"keywords":{}}],["pod",{"_index":2012,"title":{},"content":{"127":{"position":[[338,4]]},"258":{"position":[[1888,3]]}},"keywords":{}}],["podman",{"_index":2827,"title":{"308":{"position":[[0,6]]},"309":{"position":[[29,6]]}},"content":{"309":{"position":[[91,6],[174,6],[291,6],[511,7],[653,6],[1039,6],[1091,6],[1137,6],[1331,6],[1677,6],[2181,6],[2420,6],[2874,6],[3799,6],[3983,6],[3999,6]]},"310":{"position":[[9,6],[29,6],[46,6],[69,6],[89,6],[183,7]]},"330":{"position":[[200,6]]}},"keywords":{}}],["podman.socket",{"_index":2884,"title":{},"content":{"309":{"position":[[2472,13]]}},"keywords":{}}],["point",{"_index":628,"title":{"562":{"position":[[45,5]]},"563":{"position":[[44,6]]}},"content":{"31":{"position":[[659,5]]},"56":{"position":[[186,5]]},"92":{"position":[[161,6],[232,6],[315,6],[399,5]]},"217":{"position":[[1144,5]]},"225":{"position":[[960,5]]},"271":{"position":[[984,5]]},"307":{"position":[[847,5]]},"324":{"position":[[549,5]]},"326":{"position":[[281,5],[475,5]]},"345":{"position":[[595,5]]},"347":{"position":[[39,6],[108,6],[264,6],[321,7],[382,7],[418,6],[570,5],[637,6]]},"351":{"position":[[55,6]]},"352":{"position":[[50,6],[197,7],[638,6],[764,7],[777,6],[960,7],[973,6]]},"353":{"position":[[212,7],[248,6],[530,5]]},"359":{"position":[[733,5],[920,5],[2399,5],[2631,5]]},"367":{"position":[[425,6]]},"369":{"position":[[2039,5]]},"402":{"position":[[1898,6]]},"435":{"position":[[214,5]]},"482":{"position":[[312,6],[333,5],[565,6],[586,5]]},"498":{"position":[[199,5]]},"499":{"position":[[214,5]]},"504":{"position":[[324,5]]},"505":{"position":[[363,5]]},"519":{"position":[[83,6]]},"522":{"position":[[279,7],[322,6],[381,6],[413,6],[514,6],[558,7]]},"530":{"position":[[293,5]]},"547":{"position":[[226,5],[413,7],[1304,6]]},"550":{"position":[[228,6]]},"562":{"position":[[37,6],[141,5],[305,5]]},"563":{"position":[[76,5],[194,6],[278,6],[494,6]]},"564":{"position":[[312,7],[744,6]]},"565":{"position":[[257,5]]},"568":{"position":[[200,5],[822,5]]},"569":{"position":[[1163,6]]},"574":{"position":[[504,6]]},"626":{"position":[[1866,6],[1943,6]]},"627":{"position":[[1919,6],[1996,6]]},"628":{"position":[[1891,6],[1968,6]]},"637":{"position":[[1190,5]]},"658":{"position":[[1005,6]]},"659":{"position":[[313,6],[964,6]]},"712":{"position":[[41,5]]},"713":{"position":[[35,5]]},"740":{"position":[[64,6]]},"741":{"position":[[60,6]]}},"keywords":{}}],["pointsgraph",{"_index":4726,"title":{},"content":{"626":{"position":[[1840,14]]},"627":{"position":[[1893,14]]},"628":{"position":[[1865,14]]}},"keywords":{}}],["pointssav",{"_index":4725,"title":{},"content":{"626":{"position":[[1715,12]]},"627":{"position":[[1768,12]]},"628":{"position":[[1740,12]]}},"keywords":{}}],["poli",{"_index":1344,"title":{},"content":{"65":{"position":[[703,4]]}},"keywords":{}}],["polici",{"_index":1531,"title":{"423":{"position":[[21,6]]},"434":{"position":[[30,6]]},"435":{"position":[[20,7]]},"436":{"position":[[19,7]]}},"content":{"82":{"position":[[806,7]]},"430":{"position":[[686,7]]},"432":{"position":[[926,8]]},"434":{"position":[[13,6],[362,8]]},"435":{"position":[[35,7]]},"437":{"position":[[54,7]]}},"keywords":{}}],["policy":0,"session_state":"f3785967",{"_index":1570,"title":{},"content":{"82":{"position":[[4507,55]]}},"keywords":{}}],["poll",{"_index":1265,"title":{},"content":{"57":{"position":[[1161,8]]},"61":{"position":[[2626,7],[2675,7]]},"64":{"position":[[238,7],[287,7]]},"350":{"position":[[1068,7],[1121,7]]},"577":{"position":[[407,7]]},"715":{"position":[[165,7]]},"722":{"position":[[1184,7]]},"723":{"position":[[951,7]]},"724":{"position":[[737,7]]},"725":{"position":[[618,7]]},"726":{"position":[[796,7]]},"727":{"position":[[847,7]]},"728":{"position":[[662,7]]},"729":{"position":[[590,7]]}},"keywords":{}}],["poly_read_convers",{"_index":2633,"title":{},"content":{"279":{"position":[[4563,21],[5202,20]]},"299":{"position":[[1011,20]]}},"keywords":{}}],["poly_write_convers",{"_index":784,"title":{},"content":{"36":{"position":[[6083,22],[6663,21]]},"229":{"position":[[6083,22],[6663,21]]},"253":{"position":[[821,21]]}},"keywords":{}}],["polynomi",{"_index":785,"title":{},"content":{"36":{"position":[[6114,10],[6419,10],[6505,11],[6540,11],[6594,12],[6744,10],[7046,10],[7215,10],[7301,11],[7336,11],[7390,12]]},"65":{"position":[[708,10],[795,10]]},"229":{"position":[[6114,10],[6419,10],[6505,11],[6540,11],[6594,12],[6744,10],[7046,10],[7215,10],[7301,11],[7336,11],[7390,12]]},"279":{"position":[[4593,10],[4958,10],[5044,11],[5079,11],[5133,12],[5281,10],[5647,10],[5816,10],[5902,11],[5937,11],[5991,12]]},"659":{"position":[[542,10]]}},"keywords":{}}],["pool",{"_index":4144,"title":{},"content":{"455":{"position":[[232,4]]}},"keywords":{}}],["popul",{"_index":699,"title":{},"content":{"36":{"position":[[1953,9],[2201,8]]},"219":{"position":[[365,9]]},"229":{"position":[[1953,9],[2201,8]]},"440":{"position":[[250,9]]},"462":{"position":[[243,8]]},"464":{"position":[[149,8]]},"467":{"position":[[400,9]]},"532":{"position":[[97,8]]}},"keywords":{}}],["popup",{"_index":640,"title":{},"content":{"33":{"position":[[635,6],[894,6]]},"36":{"position":[[3205,5]]},"229":{"position":[[3205,5]]},"237":{"position":[[138,5]]},"290":{"position":[[207,5]]},"529":{"position":[[333,5]]}},"keywords":{}}],["port",{"_index":495,"title":{"144":{"position":[[0,5]]},"182":{"position":[[0,5]]},"317":{"position":[[15,6]]}},"content":{"22":{"position":[[326,4]]},"23":{"position":[[30,4],[50,4],[228,6]]},"42":{"position":[[2094,5],[2369,5]]},"43":{"position":[[934,4]]},"67":{"position":[[565,4]]},"87":{"position":[[110,4],[183,4]]},"104":{"position":[[293,4],[298,4],[349,6],[414,4],[419,4],[473,6]]},"105":{"position":[[281,4],[286,4],[337,5],[352,4],[357,4],[411,5]]},"106":{"position":[[211,4],[216,4],[272,4],[277,4],[344,4],[349,4],[440,5]]},"107":{"position":[[297,4],[302,4]]},"108":{"position":[[259,4]]},"109":{"position":[[530,4],[535,4]]},"110":{"position":[[523,4],[528,4]]},"111":{"position":[[57,5],[243,4],[267,4],[356,4],[380,4],[519,4],[1053,4]]},"112":{"position":[[220,4],[225,4]]},"113":{"position":[[191,4],[196,4],[287,4]]},"114":{"position":[[164,4],[174,4]]},"115":{"position":[[95,4],[390,4]]},"120":{"position":[[180,6]]},"126":{"position":[[268,6]]},"144":{"position":[[21,4],[100,4],[186,4],[212,4],[266,4]]},"182":{"position":[[22,4],[101,4],[187,4],[213,4],[303,4]]},"259":{"position":[[355,5]]},"309":{"position":[[3763,4],[3841,4]]},"314":{"position":[[449,4],[503,4],[880,4],[971,4],[1954,5],[2183,4]]},"316":{"position":[[8,5]]},"317":{"position":[[8,5]]},"358":{"position":[[7787,4],[8379,5]]},"359":{"position":[[877,4]]},"362":{"position":[[198,4],[332,4],[662,4],[983,4]]},"373":{"position":[[128,4],[204,4],[238,4],[301,6]]},"377":{"position":[[86,6]]},"378":{"position":[[643,4],[720,4]]},"380":{"position":[[1179,4],[1260,4],[1458,4],[1535,4]]},"383":{"position":[[102,7]]},"404":{"position":[[2507,5]]},"662":{"position":[[62,6],[129,6]]},"752":{"position":[[521,5]]}},"keywords":{}}],["port_tc",{"_index":3605,"title":{},"content":{"378":{"position":[[698,7],[821,7],[1100,7]]}},"keywords":{}}],["port_tm",{"_index":3604,"title":{},"content":{"378":{"position":[[628,7],[799,7],[1121,7]]}},"keywords":{}}],["portabl",{"_index":4092,"title":{},"content":{"431":{"position":[[540,11]]}},"keywords":{}}],["portion",{"_index":1725,"title":{},"content":{"91":{"position":[[681,7]]},"100":{"position":[[433,7]]},"289":{"position":[[124,7]]},"390":{"position":[[657,8]]},"569":{"position":[[933,7]]},"611":{"position":[[164,7]]},"635":{"position":[[55,7]]}},"keywords":{}}],["pos[x,y,z",{"_index":3428,"title":{},"content":{"369":{"position":[[611,10]]}},"keywords":{}}],["posit",{"_index":460,"title":{"200":{"position":[[0,9]]}},"content":{"20":{"position":[[1146,8]]},"86":{"position":[[249,9]]},"200":{"position":[[16,8],[54,8],[140,8],[261,9],[321,8]]},"351":{"position":[[560,10]]},"579":{"position":[[305,9]]},"593":{"position":[[30,8]]},"647":{"position":[[61,8],[72,8],[139,8],[150,8]]},"648":{"position":[[207,8],[218,8],[285,8],[296,8]]},"649":{"position":[[174,8],[185,8],[253,8],[264,8]]},"650":{"position":[[615,8],[626,8],[694,8],[705,8],[1454,8],[1465,8],[1533,8],[1544,8]]},"651":{"position":[[69,8],[80,8],[141,8],[152,8],[211,8],[222,8],[279,8],[290,8]]},"652":{"position":[[277,8],[288,8],[349,8],[360,8],[419,8],[430,8],[487,8],[498,8]]},"653":{"position":[[62,8],[73,8],[100,8],[111,8]]},"780":{"position":[[43,9],[164,8],[195,8],[338,8],[407,8]]},"787":{"position":[[326,8],[357,8],[511,8],[580,8]]}},"keywords":{}}],["posix",{"_index":1906,"title":{},"content":{"111":{"position":[[108,5]]}},"keywords":{}}],["posprogress",{"_index":4697,"title":{},"content":{"613":{"position":[[579,11],[628,11]]},"630":{"position":[[584,11],[626,11]]}},"keywords":{}}],["possess",{"_index":4114,"title":{},"content":{"434":{"position":[[548,11]]}},"keywords":{}}],["possibl",{"_index":171,"title":{},"content":{"5":{"position":[[799,9]]},"67":{"position":[[2956,8],[3286,14]]},"226":{"position":[[269,9]]},"276":{"position":[[298,9]]},"320":{"position":[[1846,13]]},"321":{"position":[[82,8]]},"387":{"position":[[1382,9],[1476,8]]},"392":{"position":[[722,9]]},"424":{"position":[[190,11]]},"434":{"position":[[669,8]]},"543":{"position":[[194,8]]},"559":{"position":[[335,13],[1018,9]]},"560":{"position":[[6,9]]},"787":{"position":[[660,8]]}},"keywords":{}}],["post",{"_index":1493,"title":{},"content":{"81":{"position":[[493,4]]},"82":{"position":[[590,4],[6246,4]]},"83":{"position":[[799,6],[1388,6]]},"217":{"position":[[573,5]]},"434":{"position":[[294,6]]},"435":{"position":[[51,4]]},"476":{"position":[[232,4]]}},"keywords":{}}],["post_check",{"_index":2437,"title":{},"content":{"251":{"position":[[152,10],[743,10],[1511,10]]},"447":{"position":[[512,10]]}},"keywords":{}}],["post_check(packet",{"_index":2453,"title":{},"content":{"251":{"position":[[1247,18]]}},"keywords":{}}],["post_check(self",{"_index":2461,"title":{},"content":{"251":{"position":[[2032,16]]}},"keywords":{}}],["post_write_interfac",{"_index":1407,"title":{"77":{"position":[[0,21]]}},"content":{"67":{"position":[[4829,22]]},"77":{"position":[[5,20],[638,22]]}},"keywords":{}}],["post_write_interface(packet",{"_index":1461,"title":{},"content":{"77":{"position":[[959,28]]}},"keywords":{}}],["post_write_interface(self",{"_index":1462,"title":{},"content":{"77":{"position":[[1059,26]]}},"keywords":{}}],["postgresql",{"_index":2523,"title":{},"content":{"258":{"position":[[1809,10]]},"369":{"position":[[1853,10],[3344,10]]}},"keywords":{}}],["potenti",{"_index":1400,"title":{},"content":{"67":{"position":[[4024,11]]},"73":{"position":[[45,11]]},"74":{"position":[[47,11]]},"75":{"position":[[48,11]]},"76":{"position":[[46,11]]},"303":{"position":[[961,9]]},"332":{"position":[[937,11]]},"383":{"position":[[546,11]]},"473":{"position":[[1095,11]]},"530":{"position":[[531,11]]}},"keywords":{}}],["pound",{"_index":4378,"title":{},"content":{"540":{"position":[[4657,5]]},"545":{"position":[[259,5]]}},"keywords":{}}],["power",{"_index":13,"title":{},"content":{"1":{"position":[[140,6],[181,5]]},"7":{"position":[[1103,8]]},"64":{"position":[[1303,5]]},"219":{"position":[[163,5],[528,5],[741,5]]},"269":{"position":[[47,7]]},"297":{"position":[[241,7]]},"326":{"position":[[1289,8]]},"342":{"position":[[702,8]]},"343":{"position":[[999,5]]},"363":{"position":[[42,9],[234,8]]},"369":{"position":[[3556,5]]},"404":{"position":[[34,8],[285,5],[1678,7],[1766,5]]},"540":{"position":[[1029,6],[1051,5]]},"543":{"position":[[26,8]]},"544":{"position":[[345,8],[580,6]]},"546":{"position":[[612,9]]},"547":{"position":[[11,8]]}},"keywords":{}}],["power_off_subystem",{"_index":4399,"title":{},"content":{"544":{"position":[[1127,20]]}},"keywords":{}}],["power_on_subsystem",{"_index":4397,"title":{},"content":{"544":{"position":[[658,18],[736,21],[1029,20],[1171,20]]}},"keywords":{}}],["pp",{"_index":5798,"title":{},"content":{"812":{"position":[[149,2]]},"813":{"position":[[270,2]]}},"keywords":{}}],["ppsselectiontable_def.txt",{"_index":616,"title":{},"content":{"31":{"position":[[214,26]]}},"keywords":{}}],["practic",{"_index":3251,"title":{"559":{"position":[[16,10]]}},"content":{"358":{"position":[[1811,9],[2515,8]]},"368":{"position":[[644,8]]},"434":{"position":[[268,9]]},"538":{"position":[[37,9]]}},"keywords":{}}],["practices."",{"_index":2561,"title":{},"content":{"265":{"position":[[171,16]]}},"keywords":{}}],["pragma",{"_index":1529,"title":{},"content":{"82":{"position":[[780,7]]}},"keywords":{}}],["pre",{"_index":553,"title":{},"content":{"24":{"position":[[961,3]]}},"keywords":{}}],["pre_check",{"_index":2436,"title":{},"content":{"251":{"position":[[138,9],[729,9],[1497,9]]},"447":{"position":[[498,9]]}},"keywords":{}}],["pre_check(packet",{"_index":2447,"title":{},"content":{"251":{"position":[[1060,17]]}},"keywords":{}}],["pre_check(self",{"_index":2458,"title":{},"content":{"251":{"position":[[1828,15]]}},"keywords":{}}],["prebuilt",{"_index":3076,"title":{},"content":{"333":{"position":[[1417,8]]}},"keywords":{}}],["preexist",{"_index":3231,"title":{},"content":{"355":{"position":[[760,11]]}},"keywords":{}}],["prefil",{"_index":3952,"title":{},"content":{"404":{"position":[[975,7]]}},"keywords":{}}],["prefix",{"_index":2080,"title":{},"content":{"147":{"position":[[16,6],[34,6],[141,6],[154,7]]},"189":{"position":[[16,6],[34,6],[141,6],[154,7]]},"301":{"position":[[988,6]]}},"keywords":{}}],["preidentifi",{"_index":1137,"title":{"62":{"position":[[0,13]]}},"content":{"50":{"position":[[133,14]]},"62":{"position":[[5,13],[717,13]]},"104":{"position":[[1535,13],[2505,13]]},"105":{"position":[[1488,13],[2343,13]]},"111":{"position":[[1795,13]]},"761":{"position":[[488,16]]}},"keywords":{}}],["prem",{"_index":2512,"title":{},"content":{"258":{"position":[[650,4]]}},"keywords":{}}],["prep",{"_index":3588,"title":{},"content":{"376":{"position":[[561,4]]}},"keywords":{}}],["prepend",{"_index":1232,"title":{},"content":{"55":{"position":[[2786,9]]}},"keywords":{}}],["prerequesit",{"_index":2192,"title":{"208":{"position":[[0,13]]}},"content":{},"keywords":{}}],["prerequisit",{"_index":569,"title":{"330":{"position":[[0,14]]}},"content":{"27":{"position":[[1,13]]},"309":{"position":[[1380,12]]}},"keywords":{}}],["presenc",{"_index":3043,"title":{},"content":{"332":{"position":[[64,8]]},"338":{"position":[[256,8]]},"380":{"position":[[1606,8]]}},"keywords":{}}],["present",{"_index":1081,"title":{},"content":{"48":{"position":[[691,7],[710,7],[868,7],[890,7],[978,7],[3128,7],[3543,7],[3679,7]]},"55":{"position":[[884,9],[1391,9],[2467,8]]},"135":{"position":[[54,7]]},"544":{"position":[[272,8]]},"557":{"position":[[317,9]]}},"keywords":{}}],["preset",{"_index":1202,"title":{},"content":{"54":{"position":[[28,6]]}},"keywords":{}}],["press",{"_index":3121,"title":{},"content":{"346":{"position":[[355,5],[1311,5]]},"348":{"position":[[659,8]]},"349":{"position":[[2131,5],[2365,5],[2413,5],[2497,5],[4767,5]]},"352":{"position":[[323,5]]},"353":{"position":[[856,5]]},"354":{"position":[[302,5]]},"464":{"position":[[296,8]]},"467":{"position":[[579,8],[715,8]]},"554":{"position":[[429,8]]},"637":{"position":[[1712,7]]},"675":{"position":[[54,5]]},"722":{"position":[[244,7]]}},"keywords":{}}],["pressur",{"_index":3525,"title":{},"content":{"369":{"position":[[3908,8]]}},"keywords":{}}],["pretti",{"_index":3789,"title":{},"content":{"390":{"position":[[1186,6]]}},"keywords":{}}],["prettier",{"_index":904,"title":{},"content":{"42":{"position":[[172,9]]}},"keywords":{}}],["prevent",{"_index":702,"title":{},"content":{"36":{"position":[[2087,8]]},"136":{"position":[[88,7]]},"229":{"position":[[2087,8]]},"314":{"position":[[2018,7]]},"324":{"position":[[312,7]]},"430":{"position":[[461,7]]},"677":{"position":[[1247,7]]},"678":{"position":[[1469,7]]},"679":{"position":[[1490,7]]},"680":{"position":[[1523,7]]},"681":{"position":[[1323,7]]},"682":{"position":[[1540,7]]},"683":{"position":[[1561,7]]},"684":{"position":[[1594,7]]}},"keywords":{}}],["previou",{"_index":591,"title":{},"content":{"27":{"position":[[954,8]]},"349":{"position":[[1842,9]]},"479":{"position":[[29,8]]},"717":{"position":[[28,8]]},"744":{"position":[[202,8]]}},"keywords":{}}],["previous",{"_index":3150,"title":{},"content":{"349":{"position":[[716,11]]},"352":{"position":[[1158,10]]},"358":{"position":[[2076,11]]},"455":{"position":[[1127,10]]},"529":{"position":[[498,10]]},"540":{"position":[[4571,10]]},"582":{"position":[[33,10]]},"591":{"position":[[36,10]]},"670":{"position":[[297,10]]},"795":{"position":[[717,10]]},"801":{"position":[[35,10]]},"802":{"position":[[27,10]]},"803":{"position":[[27,10]]},"804":{"position":[[27,10]]}},"keywords":{}}],["primari",{"_index":1138,"title":{},"content":{"50":{"position":[[180,7]]},"141":{"position":[[745,7]]},"253":{"position":[[171,7],[254,7],[333,7],[432,7],[520,7],[611,7],[698,7],[1049,7],[1132,7],[1211,7],[1310,7],[1398,7],[1489,7],[1576,7],[1819,7],[1902,7],[1981,7],[2080,7],[2168,7],[2259,7],[2346,7]]},"379":{"position":[[1236,7]]},"383":{"position":[[84,7]]},"387":{"position":[[89,7]]},"402":{"position":[[166,7]]},"554":{"position":[[134,7]]}},"keywords":{}}],["primarili",{"_index":915,"title":{},"content":{"42":{"position":[[477,9]]},"138":{"position":[[174,9]]},"223":{"position":[[69,9]]},"552":{"position":[[120,9]]},"638":{"position":[[68,9]]},"639":{"position":[[87,9]]},"640":{"position":[[70,9]]},"642":{"position":[[80,9]]},"644":{"position":[[70,9]]}},"keywords":{}}],["principl",{"_index":4120,"title":{},"content":{"436":{"position":[[70,11]]}},"keywords":{}}],["print",{"_index":722,"title":{},"content":{"36":{"position":[[3341,5]]},"229":{"position":[[3341,5]]},"239":{"position":[[25,8]]},"271":{"position":[[1389,8],[1426,7],[1861,5]]},"279":{"position":[[7978,7]]},"457":{"position":[[259,5],[336,5]]},"540":{"position":[[255,7]]},"554":{"position":[[532,5]]},"561":{"position":[[257,5]]},"610":{"position":[[517,7],[589,5]]},"658":{"position":[[1298,5]]},"697":{"position":[[222,7],[765,7]]}},"keywords":{}}],["print("script",{"_index":4306,"title":{},"content":{"533":{"position":[[716,18]]}},"keywords":{}}],["print("script_1",{"_index":4528,"title":{},"content":{"561":{"position":[[832,20]]}},"keywords":{}}],["print("setup"",{"_index":4304,"title":{},"content":{"533":{"position":[[671,24]]}},"keywords":{}}],["print("skip",{"_index":4519,"title":{},"content":{"560":{"position":[[904,20]]}},"keywords":{}}],["print("suit",{"_index":4318,"title":{},"content":{"534":{"position":[[452,17],[503,17]]}},"keywords":{}}],["print("teardown"",{"_index":4308,"title":{},"content":{"533":{"position":[[764,27]]}},"keywords":{}}],["print("verifi",{"_index":4456,"title":{},"content":{"550":{"position":[[578,20],[690,20]]}},"keywords":{}}],["print('sensor",{"_index":4982,"title":{},"content":{"668":{"position":[[1162,13],[1194,13]]}},"keywords":{}}],["print(abort_cmd",{"_index":5139,"title":{},"content":{"689":{"position":[[842,16]]}},"keywords":{}}],["print(cmd_list",{"_index":5124,"title":{},"content":{"687":{"position":[[801,15]]},"688":{"position":[[380,15]]}},"keywords":{}}],["print(config",{"_index":5808,"title":{},"content":{"813":{"position":[[369,14]]},"814":{"position":[[468,13]]}},"keywords":{}}],["print(ev",{"_index":5438,"title":{},"content":{"744":{"position":[[421,13],[1403,13]]}},"keywords":{}}],["print(f"cmd",{"_index":5553,"title":{},"content":{"756":{"position":[[1329,16]]}},"keywords":{}}],["print(f"interfac",{"_index":5544,"title":{},"content":{"756":{"position":[[1051,23]]}},"keywords":{}}],["print(f"math:{result}"",{"_index":4479,"title":{},"content":{"551":{"position":[[1670,33]]}},"keywords":{}}],["print(f"mov",{"_index":4478,"title":{},"content":{"551":{"position":[[1561,18]]}},"keywords":{}}],["print(f"packet",{"_index":5605,"title":{},"content":{"765":{"position":[[1272,20]]}},"keywords":{}}],["print(f"rout",{"_index":5597,"title":{},"content":{"765":{"position":[[1018,20]]}},"keywords":{}}],["print(f"transmit",{"_index":5548,"title":{},"content":{"756":{"position":[[1170,21]]},"765":{"position":[[1125,21]]}},"keywords":{}}],["print(f"{packet['packet_timesecond",{"_index":4540,"title":{},"content":{"563":{"position":[[1012,44]]},"717":{"position":[[1064,44],[1302,44]]}},"keywords":{}}],["print(fil",{"_index":5037,"title":{},"content":{"673":{"position":[[1848,11],[1973,12],[2059,11]]}},"keywords":{}}],["print(file.read",{"_index":4996,"title":{},"content":{"669":{"position":[[1154,18]]},"673":{"position":[[1860,18],[2071,18]]}},"keywords":{}}],["print(formatted(file.read",{"_index":4993,"title":{},"content":{"669":{"position":[[997,29]]}},"keywords":{}}],["print(formatted(tlm("tgt",{"_index":2588,"title":{},"content":{"271":{"position":[[1793,29]]}},"keywords":{}}],["print(get_all_set",{"_index":5766,"title":{},"content":{"808":{"position":[[869,25]]}},"keywords":{}}],["print(get_max_output",{"_index":5695,"title":{},"content":{"792":{"position":[[168,23]]}},"keywords":{}}],["print(get_overrid",{"_index":5320,"title":{},"content":{"714":{"position":[[1334,22]]}},"keywords":{}}],["print(get_setting('vers",{"_index":5787,"title":{},"content":{"809":{"position":[[511,29],[563,28]]}},"keywords":{}}],["print(get_settings('pypi_url",{"_index":5796,"title":{},"content":{"810":{"position":[[544,31]]}},"keywords":{}}],["print(hazard",{"_index":5179,"title":{},"content":{"692":{"position":[[706,16]]}},"keywords":{}}],["print(interfac",{"_index":5489,"title":{},"content":{"750":{"position":[[318,16]]}},"keywords":{}}],["print(item",{"_index":5287,"title":{},"content":{"708":{"position":[[430,11]]}},"keywords":{}}],["print(list_set",{"_index":5749,"title":{},"content":{"807":{"position":[[279,22]]}},"keywords":{}}],["print(nam",{"_index":5801,"title":{},"content":{"812":{"position":[[278,12]]}},"keywords":{}}],["print(packet",{"_index":5172,"title":{},"content":{"691":{"position":[[963,13]]},"705":{"position":[[236,14]]},"707":{"position":[[344,13]]}},"keywords":{}}],["print(param",{"_index":5160,"title":{},"content":{"690":{"position":[[1190,12]]}},"keywords":{}}],["print(result",{"_index":5408,"title":{},"content":{"740":{"position":[[734,13]]}},"keywords":{}}],["print(result.key",{"_index":5411,"title":{},"content":{"740":{"position":[[850,20]]}},"keywords":{}}],["print(result['default",{"_index":5413,"title":{},"content":{"740":{"position":[[909,24]]}},"keywords":{}}],["print(rout",{"_index":5587,"title":{},"content":{"764":{"position":[[295,13]]}},"keywords":{}}],["print(target",{"_index":5456,"title":{},"content":{"747":{"position":[[240,13]]}},"keywords":{}}],["print(temp",{"_index":4488,"title":{},"content":{"552":{"position":[[2521,11]]}},"keywords":{}}],["print(tlm("tgt",{"_index":2585,"title":{},"content":{"271":{"position":[[1469,19]]}},"keywords":{}}],["print(valu",{"_index":5187,"title":{},"content":{"693":{"position":[[883,12]]},"704":{"position":[[589,13]]}},"keywords":{}}],["print(x",{"_index":5101,"title":{},"content":{"685":{"position":[[1046,8]]}},"keywords":{}}],["printf",{"_index":657,"title":{},"content":{"36":{"position":[[79,6],[161,6]]},"229":{"position":[[79,6],[161,6]]},"279":{"position":[[74,6],[156,6]]},"611":{"position":[[534,6]]},"659":{"position":[[816,6]]}},"keywords":{}}],["prior",{"_index":4570,"title":{},"content":{"569":{"position":[[526,5]]}},"keywords":{}}],["prioriti",{"_index":3855,"title":{},"content":{"401":{"position":[[132,8]]},"420":{"position":[[224,8]]}},"keywords":{}}],["priv",{"_index":1944,"title":{},"content":{"112":{"position":[[852,4]]}},"keywords":{}}],["priv_password",{"_index":1943,"title":{},"content":{"112":{"position":[[838,13]]}},"keywords":{}}],["priv_protocol",{"_index":1938,"title":{},"content":{"112":{"position":[[762,13]]}},"keywords":{}}],["privaci",{"_index":4012,"title":{"423":{"position":[[13,7]]},"434":{"position":[[22,7]]}},"content":{"430":{"position":[[678,7]]},"432":{"position":[[918,7]]},"434":{"position":[[5,7],[260,7],[354,7]]},"435":{"position":[[27,7]]},"437":{"position":[[46,7]]}},"keywords":{}}],["privat",{"_index":465,"title":{},"content":{"20":{"position":[[1419,7]]},"26":{"position":[[111,7],[170,7]]},"27":{"position":[[252,7],[807,7],[930,7]]},"42":{"position":[[1681,7]]},"81":{"position":[[590,8]]},"82":{"position":[[6350,8]]},"109":{"position":[[1090,7]]},"110":{"position":[[1424,7]]},"112":{"position":[[485,7]]},"389":{"position":[[543,7]]}},"keywords":{}}],["privkey.pem",{"_index":525,"title":{},"content":{"24":{"position":[[7,11],[266,11]]}},"keywords":{}}],["pro",{"_index":3422,"title":{},"content":{"369":{"position":[[207,3],[754,3],[2239,3],[4274,3]]}},"keywords":{}}],["probabl",{"_index":2897,"title":{},"content":{"309":{"position":[[3330,9],[3646,8]]},"326":{"position":[[296,8]]},"404":{"position":[[2009,8]]},"498":{"position":[[640,8]]},"499":{"position":[[546,8]]},"547":{"position":[[288,11]]},"551":{"position":[[493,8]]}},"keywords":{}}],["problem",{"_index":118,"title":{},"content":{"3":{"position":[[512,7]]},"330":{"position":[[1076,8]]},"332":{"position":[[581,9],[741,8]]},"336":{"position":[[8,7]]},"380":{"position":[[1661,8]]},"386":{"position":[[629,7]]},"387":{"position":[[948,7]]},"430":{"position":[[507,9]]},"544":{"position":[[14,7]]}},"keywords":{}}],["proce",{"_index":1205,"title":{},"content":{"54":{"position":[[177,8]]},"349":{"position":[[5977,7]]},"722":{"position":[[1105,7]]},"723":{"position":[[872,7]]},"724":{"position":[[658,7]]},"797":{"position":[[60,7]]}},"keywords":{}}],["procedur",{"_index":2771,"title":{"776":{"position":[[16,11]]}},"content":{"302":{"position":[[1734,10],[1814,10],[2012,9]]},"342":{"position":[[827,11]]},"383":{"position":[[991,11],[1301,10],[1558,10]]},"452":{"position":[[211,10]]},"497":{"position":[[191,10],[305,10]]},"546":{"position":[[63,12],[433,11],[813,9]]},"548":{"position":[[88,10],[126,10]]},"549":{"position":[[346,10],[421,9]]},"556":{"position":[[718,10]]},"658":{"position":[[117,11]]},"660":{"position":[[64,11]]},"776":{"position":[[86,11]]},"777":{"position":[[45,10],[102,11],[292,9],[340,10]]},"778":{"position":[[78,10]]},"779":{"position":[[99,10]]}},"keywords":{}}],["procedures/cmd_tlm_test.rb",{"_index":1634,"title":{},"content":{"83":{"position":[[2114,29]]}},"keywords":{}}],["proceed",{"_index":3138,"title":{},"content":{"348":{"position":[[1919,11]]},"349":{"position":[[540,11]]},"557":{"position":[[520,10]]}},"keywords":{}}],["process",{"_index":259,"title":{"485":{"position":[[0,10]]}},"content":{"7":{"position":[[518,9],[754,7],[943,7]]},"13":{"position":[[110,10]]},"14":{"position":[[104,10]]},"15":{"position":[[1,7],[157,8],[354,8]]},"16":{"position":[[1,7],[161,8],[354,8]]},"32":{"position":[[34,7]]},"36":{"position":[[6567,7],[7363,7]]},"73":{"position":[[333,10]]},"74":{"position":[[366,10]]},"75":{"position":[[382,10]]},"76":{"position":[[381,10]]},"123":{"position":[[101,7]]},"139":{"position":[[50,10]]},"171":{"position":[[36,8],[127,7]]},"174":{"position":[[62,8],[111,10],[212,10],[228,7],[269,7]]},"176":{"position":[[29,10],[54,10],[231,10]]},"178":{"position":[[133,9],[167,11]]},"190":{"position":[[29,10],[54,10],[237,10]]},"201":{"position":[[29,10],[54,10],[229,10]]},"205":{"position":[[29,10],[54,10],[231,10]]},"225":{"position":[[281,9],[752,9]]},"229":{"position":[[6567,7],[7363,7]]},"271":{"position":[[82,9],[309,9],[779,9]]},"279":{"position":[[5106,7],[5964,7]]},"289":{"position":[[1,7]]},"299":{"position":[[446,7]]},"302":{"position":[[962,9],[2448,7]]},"343":{"position":[[1607,7]]},"353":{"position":[[16,9]]},"354":{"position":[[269,10],[332,11]]},"368":{"position":[[278,7]]},"379":{"position":[[2236,7]]},"404":{"position":[[587,7]]},"424":{"position":[[293,10],[429,9],[590,9],[662,10],[960,10],[1158,10],[1354,10],[1449,9],[1754,9],[1886,10]]},"431":{"position":[[210,10]]},"432":{"position":[[740,10],[1251,7]]},"447":{"position":[[60,9],[219,7]]},"476":{"position":[[130,9],[237,10]]},"485":{"position":[[14,7],[40,10],[134,7],[190,8],[211,10]]},"548":{"position":[[264,11]]},"629":{"position":[[211,10]]},"757":{"position":[[75,9]]}},"keywords":{}}],["processor",{"_index":1992,"title":{"288":{"position":[[0,10]]}},"content":{"119":{"position":[[124,10]]},"288":{"position":[[11,9],[140,9],[155,9],[233,10],[300,9],[429,9],[497,9]]}},"keywords":{}}],["produc",{"_index":2392,"title":{},"content":{"225":{"position":[[1198,8]]},"546":{"position":[[1333,8]]}},"keywords":{}}],["product",{"_index":546,"title":{},"content":{"24":{"position":[[633,10]]},"43":{"position":[[539,10]]},"136":{"position":[[172,12]]},"330":{"position":[[37,12]]},"382":{"position":[[815,10]]},"389":{"position":[[1701,8],[1763,7],[2052,7]]},"390":{"position":[[1281,7]]},"391":{"position":[[676,8]]},"392":{"position":[[650,7]]},"425":{"position":[[238,7]]},"426":{"position":[[430,9]]},"433":{"position":[[80,9]]}},"keywords":{}}],["product(",{"_index":4096,"title":{},"content":{"432":{"position":[[541,10]]}},"keywords":{}}],["products/servic",{"_index":4052,"title":{},"content":{"426":{"position":[[709,18]]}},"keywords":{}}],["profession",{"_index":3305,"title":{},"content":{"359":{"position":[[2946,12]]}},"keywords":{}}],["profil",{"_index":1575,"title":{},"content":{"82":{"position":[[4628,7]]},"309":{"position":[[2643,7]]},"369":{"position":[[1904,8],[3394,8]]},"431":{"position":[[675,9]]}},"keywords":{}}],["program",{"_index":316,"title":{"657":{"position":[[0,11]]}},"content":{"11":{"position":[[17,11]]},"93":{"position":[[639,7]]},"263":{"position":[[269,11]]},"269":{"position":[[142,11]]},"342":{"position":[[719,11]]},"358":{"position":[[920,7]]},"391":{"position":[[80,7]]},"393":{"position":[[839,8]]},"546":{"position":[[1467,8]]},"551":{"position":[[28,11]]}},"keywords":{}}],["programm",{"_index":1295,"title":{},"content":{"61":{"position":[[360,12]]}},"keywords":{}}],["programmat",{"_index":4634,"title":{},"content":{"592":{"position":[[71,16]]},"806":{"position":[[97,12]]},"811":{"position":[[94,16]]}},"keywords":{}}],["progress",{"_index":3180,"title":{},"content":{"349":{"position":[[4781,8]]},"485":{"position":[[72,8]]},"613":{"position":[[267,8],[370,8]]},"630":{"position":[[12,8],[275,8],[378,8]]}},"keywords":{}}],["progressbar",{"_index":4696,"title":{"630":{"position":[[0,12]]}},"content":{"613":{"position":[[51,11]]},"630":{"position":[[562,11],[604,11]]}},"keywords":{}}],["prohibit",{"_index":4100,"title":{},"content":{"432":{"position":[[943,10]]}},"keywords":{}}],["project",{"_index":408,"title":{"255":{"position":[[0,9]]},"331":{"position":[[6,8]]}},"content":{"20":{"position":[[299,7]]},"98":{"position":[[78,8]]},"255":{"position":[[145,7],[175,7],[394,7]]},"323":{"position":[[119,7],[181,7],[525,8],[617,7]]},"326":{"position":[[54,7]]},"331":{"position":[[31,7],[742,7]]},"332":{"position":[[178,7]]},"333":{"position":[[24,7]]},"358":{"position":[[748,7],[845,7],[930,8]]},"369":{"position":[[1146,7],[1219,7],[1302,7],[1376,7],[1452,7],[1542,7],[1615,7],[1696,7],[1767,7],[1838,7],[2637,7],[2708,7],[2793,7],[2867,7],[2942,7],[3032,7],[3105,7],[3187,7],[3258,7],[3329,7]]},"382":{"position":[[222,7],[243,8]]},"383":{"position":[[462,8],[488,7],[818,8]]},"386":{"position":[[61,8]]},"391":{"position":[[192,7],[274,8]]},"571":{"position":[[334,10]]}},"keywords":{}}],["project>",{"_index":3247,"title":{},"content":{"358":{"position":[[1425,11],[2200,11]]},"382":{"position":[[299,11],[444,11]]}},"keywords":{}}],["project"",{"_index":3066,"title":{},"content":{"333":{"position":[[159,13]]}},"keywords":{}}],["project'",{"_index":3003,"title":{},"content":{"326":{"position":[[1095,9]]}},"keywords":{}}],["project.clon",{"_index":3716,"title":{},"content":{"386":{"position":[[80,13]]}},"keywords":{}}],["project.git",{"_index":3035,"title":{},"content":{"331":{"position":[[108,11],[174,11]]},"404":{"position":[[2427,11]]}},"keywords":{}}],["project:$path",{"_index":3070,"title":{},"content":{"333":{"position":[[326,14]]}},"keywords":{}}],["project=chromium",{"_index":2200,"title":{},"content":{"209":{"position":[[274,16]]}},"keywords":{}}],["project\\openc3.bat",{"_index":3707,"title":{},"content":{"383":{"position":[[1144,18],[1379,18]]}},"keywords":{}}],["prom/prometheus:v2.24.1",{"_index":3377,"title":{},"content":{"364":{"position":[[1195,23]]}},"keywords":{}}],["prometheu",{"_index":2377,"title":{"222":{"position":[[0,10]]},"364":{"position":[[0,11]]}},"content":{"222":{"position":[[47,10],[234,10]]},"362":{"position":[[1431,10]]},"364":{"position":[[1,10],[533,10]]},"365":{"position":[[252,10],[269,10]]}},"keywords":{}}],["prometheus.yaml",{"_index":3358,"title":{},"content":{"364":{"position":[[365,15],[1223,15]]}},"keywords":{}}],["prometheus:9090",{"_index":3384,"title":{},"content":{"365":{"position":[[385,15]]}},"keywords":{}}],["prometheusaccessor",{"_index":2378,"title":{},"content":{"222":{"position":[[5,18],[126,18]]}},"keywords":{}}],["promis",{"_index":4758,"title":{},"content":{"637":{"position":[[983,9],[1143,7]]}},"keywords":{}}],["promot",{"_index":2832,"title":{},"content":{"309":{"position":[[247,8]]},"426":{"position":[[544,11],[1296,11]]}},"keywords":{}}],["prompt",{"_index":574,"title":{"675":{"position":[[0,7]]}},"content":{"27":{"position":[[153,6],[341,8],[479,8]]},"61":{"position":[[1789,8]]},"359":{"position":[[2238,6]]},"404":{"position":[[945,8]]},"422":{"position":[[578,7]]},"468":{"position":[[33,6],[165,6]]},"528":{"position":[[883,8]]},"536":{"position":[[27,6]]},"554":{"position":[[332,6],[391,6],[581,7],[735,6],[1063,6]]},"556":{"position":[[227,8]]},"559":{"position":[[397,6],[1394,8]]},"560":{"position":[[96,9],[312,9]]},"569":{"position":[[563,6]]},"664":{"position":[[1,7],[364,6]]},"665":{"position":[[1,7],[330,6]]},"668":{"position":[[508,6]]},"675":{"position":[[176,6]]},"805":{"position":[[1,7]]}},"keywords":{}}],["prompt("<message>"",{"_index":5038,"title":{},"content":{"675":{"position":[[98,35]]}},"keywords":{}}],["prompt("press",{"_index":5039,"title":{},"content":{"675":{"position":[[223,18]]}},"keywords":{}}],["promptdisconnect",{"_index":4287,"title":{},"content":{"529":{"position":[[244,16]]}},"keywords":{}}],["promptli",{"_index":4121,"title":{},"content":{"436":{"position":[[126,8]]}},"keywords":{}}],["proper",{"_index":3058,"title":{},"content":{"332":{"position":[[992,6]]},"556":{"position":[[826,6]]}},"keywords":{}}],["properli",{"_index":1204,"title":{},"content":{"54":{"position":[[80,8]]},"385":{"position":[[282,10]]},"566":{"position":[[232,8]]},"578":{"position":[[78,8]]}},"keywords":{}}],["properti",{"_index":3817,"title":{},"content":{"393":{"position":[[153,8]]},"432":{"position":[[1332,8],[1388,11]]}},"keywords":{}}],["proprietari",{"_index":3756,"title":{},"content":{"389":{"position":[[1010,11]]},"391":{"position":[[362,12]]}},"keywords":{}}],["proprietaryy",{"_index":3810,"title":{},"content":{"392":{"position":[[499,14]]}},"keywords":{}}],["protect",{"_index":581,"title":{},"content":{"27":{"position":[[414,7],[523,7],[918,7]]},"82":{"position":[[1229,11]]},"424":{"position":[[122,7],[1842,10]]},"429":{"position":[[39,10],[153,7]]},"432":{"position":[[1299,7],[1439,7]]}},"keywords":{}}],["protip",{"_index":98,"title":{},"content":{"3":{"position":[[186,8]]}},"keywords":{}}],["proto",{"_index":1961,"title":{},"content":{"114":{"position":[[409,5],[566,5]]},"223":{"position":[[382,5]]}},"keywords":{}}],["protoaccessor",{"_index":2380,"title":{},"content":{"223":{"position":[[5,13],[127,13]]}},"keywords":{}}],["protocol",{"_index":1129,"title":{"49":{"position":[[0,9]]},"50":{"position":[[19,10]]},"51":{"position":[[5,9]]},"52":{"position":[[5,9]]},"53":{"position":[[6,9]]},"54":{"position":[[6,9]]},"55":{"position":[[7,9]]},"56":{"position":[[11,9]]},"57":{"position":[[5,8]]},"58":{"position":[[11,8]]},"59":{"position":[[11,8]]},"60":{"position":[[11,8]]},"61":{"position":[[9,8]]},"62":{"position":[[14,8]]},"63":{"position":[[7,10]]},"64":{"position":[[12,9]]},"65":{"position":[[4,9]]},"66":{"position":[[14,9]]},"67":{"position":[[7,10]]},"101":{"position":[[0,10]]},"139":{"position":[[0,9]]},"223":{"position":[[0,8]]}},"content":{"50":{"position":[[50,10],[162,9],[303,10],[431,9],[528,8],[591,9],[703,8],[724,8],[762,8],[860,9],[921,8],[958,9],[1013,8],[1122,8],[1180,8]]},"51":{"position":[[46,8]]},"52":{"position":[[27,8]]},"53":{"position":[[11,8],[176,8]]},"54":{"position":[[11,8],[288,8],[519,8],[608,8],[723,9]]},"55":{"position":[[12,8],[325,8],[425,8],[551,9],[2574,8],[2687,9]]},"56":{"position":[[16,8],[403,8]]},"57":{"position":[[10,8],[70,9],[233,8],[646,9],[730,9],[861,9],[994,8],[1206,8],[1228,8],[1281,8]]},"58":{"position":[[16,8],[439,9]]},"59":{"position":[[16,8],[522,9]]},"60":{"position":[[16,8],[909,9]]},"61":{"position":[[6,8],[201,8],[241,8],[443,8],[772,8]]},"62":{"position":[[19,8],[91,8],[731,8]]},"63":{"position":[[38,10],[84,9]]},"64":{"position":[[17,8],[388,8]]},"65":{"position":[[9,8]]},"66":{"position":[[19,8]]},"67":{"position":[[19,8],[309,10],[597,9],[630,8],[817,9],[979,10],[996,8],[1010,9],[1240,8],[1266,8],[1280,9],[1514,8],[1558,9],[2136,9],[2331,9],[2586,9],[2687,8],[3632,9],[3675,10],[3901,8],[4085,8],[4503,8]]},"69":{"position":[[41,9],[120,8],[611,8],[726,8]]},"70":{"position":[[44,8]]},"71":{"position":[[52,8]]},"72":{"position":[[55,8]]},"73":{"position":[[361,10],[401,8],[500,8],[1563,8],[1769,9]]},"74":{"position":[[394,10],[434,8],[526,8],[647,8]]},"75":{"position":[[410,10],[450,8],[542,8]]},"76":{"position":[[409,10],[449,8],[539,8]]},"77":{"position":[[540,10],[628,9],[716,8]]},"78":{"position":[[57,8],[99,8]]},"79":{"position":[[28,8],[48,8]]},"95":{"position":[[97,8]]},"96":{"position":[[103,10],[329,9]]},"100":{"position":[[753,9]]},"101":{"position":[[1,9],[130,9]]},"102":{"position":[[203,9]]},"104":{"position":[[707,8],[725,10],[739,8],[762,9],[802,8],[1666,8],[2654,8]]},"105":{"position":[[594,8],[612,10],[626,8],[649,9],[689,8],[1598,8],[2471,8]]},"107":{"position":[[358,8],[381,8]]},"110":{"position":[[890,8],[908,10],[922,8],[945,9],[985,8]]},"111":{"position":[[786,8],[804,10],[818,8],[841,9],[881,8],[1913,8]]},"112":{"position":[[67,8]]},"113":{"position":[[68,8]]},"115":{"position":[[1644,8],[1803,8]]},"128":{"position":[[344,9]]},"139":{"position":[[16,9],[72,9],[129,9],[256,8],[338,8],[358,9],[425,8],[518,8],[608,8],[622,8],[685,8],[855,8],[904,8],[1110,8]]},"144":{"position":[[203,8],[217,9]]},"182":{"position":[[204,8],[218,9]]},"219":{"position":[[77,9]]},"223":{"position":[[45,8],[242,8]]},"272":{"position":[[217,9]]},"302":{"position":[[1478,10]]},"312":{"position":[[229,9],[298,8]]},"358":{"position":[[7970,8]]},"407":{"position":[[138,10]]},"759":{"position":[[41,9],[93,9],[138,8],[538,10],[662,8]]},"769":{"position":[[38,9],[90,9],[135,8],[542,10],[666,8]]}},"keywords":{}}],["protocol'",{"_index":1378,"title":{},"content":{"67":{"position":[[1995,10],[2476,10],[2848,10],[3018,10],[3209,10],[4323,10],[4818,10]]}},"keywords":{}}],["protocol_cmd",{"_index":1463,"title":{"78":{"position":[[0,13]]}},"content":{"78":{"position":[[5,12]]}},"keywords":{}}],["protocol_cmd(cmd_nam",{"_index":1467,"title":{},"content":{"78":{"position":[[220,22]]}},"keywords":{}}],["protocol_cmd(self",{"_index":1470,"title":{},"content":{"78":{"position":[[361,18]]}},"keywords":{}}],["provid",{"_index":187,"title":{"103":{"position":[[0,8]]},"674":{"position":[[0,9]]}},"content":{"5":{"position":[[1426,8]]},"7":{"position":[[8,8]]},"26":{"position":[[270,8]]},"27":{"position":[[497,7]]},"35":{"position":[[1031,7],[1562,7]]},"36":{"position":[[2243,8],[4680,8],[4906,8],[8677,8],[8903,8]]},"37":{"position":[[824,7],[1355,7]]},"50":{"position":[[8,8],[261,8]]},"63":{"position":[[8,8],[94,7]]},"77":{"position":[[127,7]]},"97":{"position":[[67,7]]},"100":{"position":[[181,7],[570,8]]},"103":{"position":[[8,8],[306,8]]},"111":{"position":[[70,8]]},"117":{"position":[[15,8],[464,7]]},"125":{"position":[[111,8]]},"140":{"position":[[289,8]]},"228":{"position":[[1060,7],[1591,7]]},"229":{"position":[[2243,8],[4680,8],[4906,8],[8677,8],[8903,8]]},"230":{"position":[[843,7],[1374,7]]},"231":{"position":[[1735,7]]},"232":{"position":[[1571,7]]},"258":{"position":[[393,8],[562,7],[1019,8],[1116,8],[1324,8],[1449,8],[1667,8]]},"261":{"position":[[291,8],[401,8]]},"263":{"position":[[226,8]]},"264":{"position":[[298,8]]},"267":{"position":[[490,8]]},"275":{"position":[[1026,8]]},"314":{"position":[[1653,8]]},"315":{"position":[[395,8]]},"342":{"position":[[435,9]]},"343":{"position":[[1038,8]]},"346":{"position":[[34,8]]},"348":{"position":[[16,8],[105,8],[868,7],[1257,9]]},"349":{"position":[[15,8],[117,8],[576,8],[1359,7],[1698,7],[1877,7]]},"350":{"position":[[15,8],[552,7],[732,7]]},"351":{"position":[[18,8]]},"352":{"position":[[164,7]]},"354":{"position":[[13,8]]},"355":{"position":[[19,8]]},"356":{"position":[[16,8]]},"363":{"position":[[31,8]]},"365":{"position":[[101,8]]},"368":{"position":[[532,7]]},"379":{"position":[[1130,8]]},"387":{"position":[[184,8],[519,8],[851,8]]},"389":{"position":[[618,8],[903,8],[1249,7],[1931,7]]},"390":{"position":[[703,8]]},"425":{"position":[[156,7]]},"426":{"position":[[67,7],[1056,8]]},"427":{"position":[[10,7],[200,7],[407,9],[652,8]]},"428":{"position":[[62,8]]},"430":{"position":[[53,7],[271,7]]},"431":{"position":[[836,8]]},"432":{"position":[[239,7],[637,7],[785,7],[888,9]]},"433":{"position":[[4,7],[176,8]]},"445":{"position":[[17,8]]},"464":{"position":[[16,8]]},"470":{"position":[[32,8]]},"481":{"position":[[16,8]]},"482":{"position":[[16,8]]},"509":{"position":[[46,8],[236,8]]},"526":{"position":[[145,8],[263,8]]},"535":{"position":[[53,7]]},"538":{"position":[[20,7],[84,8],[384,9]]},"540":{"position":[[995,8],[4281,7]]},"546":{"position":[[8,8],[90,8],[331,8],[574,8]]},"552":{"position":[[773,8],[1149,8]]},"559":{"position":[[8,8],[1217,7]]},"560":{"position":[[179,8]]},"569":{"position":[[127,8]]},"574":{"position":[[120,7]]},"634":{"position":[[1,8]]},"658":{"position":[[47,8],[941,8]]},"676":{"position":[[15,7]]},"715":{"position":[[59,8]]}},"keywords":{}}],["provinc",{"_index":424,"title":{},"content":{"20":{"position":[[498,8]]}},"keywords":{}}],["proxi",{"_index":2522,"title":{},"content":{"258":{"position":[[1468,5]]},"365":{"position":[[296,5],[360,5]]}},"keywords":{}}],["ps",{"_index":979,"title":{},"content":{"42":{"position":[[2352,2]]},"44":{"position":[[306,2],[740,2]]},"333":{"position":[[862,2]]}},"keywords":{}}],["pseudo",{"_index":5181,"title":{},"content":{"693":{"position":[[71,6]]}},"keywords":{}}],["public",{"_index":561,"title":{},"content":{"26":{"position":[[75,7]]},"389":{"position":[[496,6]]},"404":{"position":[[1337,6]]},"424":{"position":[[703,6],[1496,6]]},"432":{"position":[[1514,7]]},"440":{"position":[[823,6]]}},"keywords":{}}],["publish",{"_index":1881,"title":{},"content":{"109":{"position":[[142,7],[1987,7]]},"110":{"position":[[162,7]]},"387":{"position":[[361,7]]},"389":{"position":[[1943,7]]},"390":{"position":[[60,7]]},"392":{"position":[[528,7]]}},"keywords":{}}],["pull",{"_index":920,"title":{},"content":{"42":{"position":[[689,4]]},"214":{"position":[[1583,4]]},"215":{"position":[[634,4]]},"218":{"position":[[1361,4]]},"219":{"position":[[1229,6]]},"220":{"position":[[1443,4]]},"292":{"position":[[51,4]]},"293":{"position":[[49,4]]},"312":{"position":[[64,4]]},"386":{"position":[[503,4]]},"412":{"position":[[199,4]]},"455":{"position":[[1415,6]]},"629":{"position":[[166,4]]},"669":{"position":[[582,4]]}},"keywords":{}}],["purchas",{"_index":3762,"title":{},"content":{"389":{"position":[[1592,9]]},"390":{"position":[[497,8],[1368,10]]},"393":{"position":[[348,8]]}},"keywords":{}}],["pure",{"_index":3908,"title":{},"content":{"402":{"position":[[5337,6]]}},"keywords":{}}],["purpos",{"_index":675,"title":{},"content":{"36":{"position":[[730,9],[1037,8]]},"50":{"position":[[188,7]]},"83":{"position":[[398,9]]},"229":{"position":[[730,9],[1037,8]]},"240":{"position":[[119,9]]},"279":{"position":[[725,9],[1032,8]]},"287":{"position":[[128,9]]},"390":{"position":[[358,8],[477,7],[874,7]]},"424":{"position":[[565,8],[644,9],[687,8],[754,8],[778,8],[847,9],[932,8],[1130,8],[1313,8],[1480,8],[1547,8],[1571,8]]},"426":{"position":[[52,9],[454,7]]},"427":{"position":[[91,8]]},"430":{"position":[[756,9]]},"431":{"position":[[706,9]]},"432":{"position":[[996,8]]},"450":{"position":[[149,8]]},"545":{"position":[[76,7]]},"572":{"position":[[26,9]]},"608":{"position":[[156,7]]},"754":{"position":[[76,8]]},"755":{"position":[[75,8]]},"766":{"position":[[73,8]]},"767":{"position":[[72,8]]}},"keywords":{}}],["push",{"_index":2354,"title":{},"content":{"219":{"position":[[1465,6]]},"267":{"position":[[363,6]]},"364":{"position":[[91,4]]},"367":{"position":[[1140,6]]},"386":{"position":[[461,4]]},"422":{"position":[[666,4],[728,4]]},"612":{"position":[[580,6],[681,6]]}},"keywords":{}}],["put",{"_index":2586,"title":{},"content":{"271":{"position":[[1737,4]]},"273":{"position":[[144,3]]},"302":{"position":[[2101,3]]},"309":{"position":[[2486,3]]},"320":{"position":[[1285,4]]},"349":{"position":[[2904,4],[2944,4]]},"358":{"position":[[7440,3]]},"498":{"position":[[385,4],[511,4]]},"499":{"position":[[417,4]]},"533":{"position":[[435,4],[475,4],[518,4]]},"534":{"position":[[219,4],[265,4]]},"540":{"position":[[3835,3],[4719,4]]},"545":{"position":[[116,7]]},"550":{"position":[[1,3],[43,7],[344,4],[455,4]]},"551":{"position":[[1091,4],[1198,4]]},"552":{"position":[[2371,4]]},"560":{"position":[[693,4]]},"561":{"position":[[482,4],[533,4],[781,4]]},"563":{"position":[[676,4]]},"571":{"position":[[390,4],[580,4]]},"643":{"position":[[180,3]]},"668":{"position":[[844,4],[873,4]]},"669":{"position":[[676,4],[830,4]]},"673":{"position":[[959,3],[1442,4],[1471,4],[1579,4],[1665,4],[1675,4]]},"685":{"position":[[487,4]]},"687":{"position":[[343,4]]},"688":{"position":[[256,4]]},"689":{"position":[[381,4]]},"690":{"position":[[463,4]]},"691":{"position":[[459,4]]},"692":{"position":[[570,4]]},"693":{"position":[[746,4]]},"714":{"position":[[313,4]]},"717":{"position":[[562,4],[808,4]]},"740":{"position":[[413,4],[547,4],[591,4]]},"748":{"position":[[271,4]]},"756":{"position":[[492,4],[616,4],[762,4]]},"765":{"position":[[474,4],[592,4],[738,4]]},"799":{"position":[[1,4]]},"807":{"position":[[129,4]]},"808":{"position":[[90,4]]},"809":{"position":[[319,4],[379,4]]},"810":{"position":[[404,4]]}},"keywords":{}}],["put_target_fil",{"_index":4228,"title":{"670":{"position":[[0,16]]}},"content":{"499":{"position":[[163,15]]},"671":{"position":[[290,15]]},"673":{"position":[[285,15]]}},"keywords":{}}],["put_target_file("<fil",{"_index":4997,"title":{},"content":{"670":{"position":[[64,30]]}},"keywords":{}}],["put_target_file("inst/delete_me.txt"",{"_index":5013,"title":{},"content":{"671":{"position":[[404,47]]}},"keywords":{}}],["put_target_file("inst/test1.txt"",{"_index":5001,"title":{},"content":{"670":{"position":[[498,43],[827,43]]}},"keywords":{}}],["put_target_file("inst/test2.txt"",{"_index":5005,"title":{},"content":{"670":{"position":[[659,43],[1018,43]]}},"keywords":{}}],["put_target_file("inst/test3.bin"",{"_index":5006,"title":{},"content":{"670":{"position":[[709,43],[1068,43]]}},"keywords":{}}],["put_target_file(env['tbl_filenam",{"_index":4234,"title":{},"content":{"499":{"position":[[901,36]]}},"keywords":{}}],["putti",{"_index":3970,"title":{},"content":{"404":{"position":[[1982,5]]}},"keywords":{}}],["pv",{"_index":3198,"title":{},"content":{"350":{"position":[[369,2],[527,2],[707,2],[875,2],[1020,2],[1135,2],[1391,2]]}},"keywords":{}}],["px",{"_index":4613,"title":{},"content":{"583":{"position":[[80,2]]},"584":{"position":[[82,2]]},"585":{"position":[[82,2]]},"586":{"position":[[84,2]]},"634":{"position":[[197,2],[254,2]]}},"keywords":{}}],["py",{"_index":5648,"title":{},"content":{"778":{"position":[[567,3]]}},"keywords":{}}],["pypi",{"_index":3985,"title":{},"content":{"412":{"position":[[234,5]]}},"keywords":{}}],["pypi_url",{"_index":5750,"title":{},"content":{"807":{"position":[[309,12]]},"808":{"position":[[999,11],[1020,11]]}},"keywords":{}}],["pytest",{"_index":2220,"title":{},"content":{"211":{"position":[[232,6]]}},"keywords":{}}],["python",{"_index":318,"title":{"211":{"position":[[0,6]]},"540":{"position":[[8,6]]}},"content":{"11":{"position":[[126,7],[237,6],[321,6],[348,6],[386,6]]},"36":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8039,6],[9374,6]]},"42":{"position":[[190,7]]},"67":{"position":[[736,9],[1259,6],[1719,6],[1816,7],[1891,7]]},"69":{"position":[[407,6]]},"70":{"position":[[303,6]]},"71":{"position":[[182,6]]},"72":{"position":[[191,6]]},"73":{"position":[[940,6]]},"74":{"position":[[868,6]]},"75":{"position":[[730,6]]},"76":{"position":[[721,6]]},"77":{"position":[[1031,6]]},"78":{"position":[[333,6]]},"79":{"position":[[41,6]]},"89":{"position":[[76,6]]},"95":{"position":[[3,6]]},"96":{"position":[[69,6]]},"104":{"position":[[1688,6]]},"105":{"position":[[1652,6]]},"106":{"position":[[999,6]]},"107":{"position":[[889,6]]},"108":{"position":[[623,6]]},"109":{"position":[[1172,7],[1386,6]]},"110":{"position":[[1506,7],[1744,6]]},"128":{"position":[[148,6],[678,6]]},"130":{"position":[[246,6]]},"131":{"position":[[340,6]]},"132":{"position":[[346,6]]},"139":{"position":[[557,6],[968,6]]},"145":{"position":[[290,6],[311,6]]},"149":{"position":[[468,6]]},"185":{"position":[[277,6],[334,6]]},"211":{"position":[[82,6],[151,6]]},"214":{"position":[[1124,6]]},"229":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8039,6],[9374,6]]},"251":{"position":[[257,6],[1366,6]]},"257":{"position":[[336,6]]},"271":{"position":[[1841,8]]},"275":{"position":[[988,6],[1100,6],[1416,6]]},"279":{"position":[[3034,6],[3190,8],[3559,6],[4215,6],[6699,6],[7656,6],[10547,6],[10828,6]]},"288":{"position":[[200,6],[480,6]]},"301":{"position":[[1456,6],[1491,6]]},"302":{"position":[[265,7]]},"303":{"position":[[289,7]]},"304":{"position":[[321,7]]},"305":{"position":[[346,7]]},"358":{"position":[[1265,6],[1319,6],[1394,8],[1474,6],[2292,6]]},"402":{"position":[[573,7]]},"412":{"position":[[46,6]]},"447":{"position":[[416,6],[702,6]]},"532":{"position":[[239,6]]},"533":{"position":[[565,6]]},"534":{"position":[[310,7]]},"535":{"position":[[1013,7]]},"539":{"position":[[31,6],[68,6],[202,6]]},"540":{"position":[[72,6],[454,6],[626,6],[2708,6],[4686,6]]},"542":{"position":[[645,7]]},"543":{"position":[[10,6]]},"544":{"position":[[723,7],[1602,7]]},"545":{"position":[[228,6]]},"547":{"position":[[689,7]]},"549":{"position":[[571,7]]},"550":{"position":[[535,7]]},"551":{"position":[[1232,7]]},"552":{"position":[[1789,7],[2383,7]]},"559":{"position":[[719,7]]},"560":{"position":[[461,7],[762,6]]},"561":{"position":[[578,7]]},"563":{"position":[[870,7]]},"564":{"position":[[497,7]]},"565":{"position":[[857,7]]},"657":{"position":[[54,7],[71,6]]},"664":{"position":[[226,6],[872,6]]},"665":{"position":[[185,6],[881,6]]},"668":{"position":[[197,6],[897,6]]},"669":{"position":[[137,6],[875,6]]},"670":{"position":[[48,6],[810,6]]},"671":{"position":[[47,6],[387,6]]},"673":{"position":[[684,6],[1708,6]]},"675":{"position":[[82,6],[206,6]]},"677":{"position":[[392,6],[1709,6]]},"678":{"position":[[584,6],[1725,6]]},"679":{"position":[[597,6],[1529,6]]},"680":{"position":[[648,6],[1771,6]]},"681":{"position":[[444,6],[1535,6]]},"682":{"position":[[631,6],[1782,6]]},"683":{"position":[[644,6],[1600,6]]},"684":{"position":[[695,6],[1826,6]]},"685":{"position":[[104,6],[959,6]]},"686":{"position":[[41,6],[235,6]]},"687":{"position":[[168,6],[742,6]]},"688":{"position":[[72,6],[316,6]]},"689":{"position":[[74,6],[320,6],[781,6]]},"690":{"position":[[55,6],[1124,6]]},"691":{"position":[[103,6],[896,6]]},"692":{"position":[[93,6],[599,6]]},"693":{"position":[[234,6],[638,6],[770,6]]},"694":{"position":[[59,6],[438,6]]},"695":{"position":[[72,6],[330,6]]},"697":{"position":[[334,6],[1148,6],[1408,6]]},"698":{"position":[[253,6],[722,6],[903,6]]},"699":{"position":[[912,6],[1046,6]]},"700":{"position":[[133,6],[509,6]]},"701":{"position":[[55,6],[530,6],[973,6]]},"702":{"position":[[86,6],[384,6]]},"703":{"position":[[210,6],[597,6],[729,6]]},"704":{"position":[[254,6],[450,6]]},"705":{"position":[[55,6],[179,6]]},"706":{"position":[[54,6],[183,6]]},"707":{"position":[[32,6],[278,6]]},"708":{"position":[[31,6],[356,6]]},"709":{"position":[[85,6],[349,6]]},"710":{"position":[[373,6],[656,6],[957,6]]},"711":{"position":[[541,6],[665,6]]},"712":{"position":[[235,6],[535,6],[748,6]]},"713":{"position":[[86,6],[353,6],[554,6]]},"714":{"position":[[209,6],[1262,6]]},"716":{"position":[[148,6],[314,6]]},"717":{"position":[[109,6],[914,6]]},"718":{"position":[[54,6],[262,6]]},"719":{"position":[[66,6],[282,6]]},"720":{"position":[[62,6],[296,6]]},"722":{"position":[[358,6],[562,6],[1386,6],[1686,6]]},"723":{"position":[[260,6],[1153,6],[1453,6]]},"724":{"position":[[921,6]]},"725":{"position":[[235,6],[802,6]]},"726":{"position":[[191,6],[998,6],[1190,6]]},"727":{"position":[[173,6],[1049,6],[1269,6]]},"728":{"position":[[287,6],[768,6]]},"729":{"position":[[123,6],[774,6]]},"731":{"position":[[213,6],[597,6]]},"732":{"position":[[69,6],[357,6]]},"733":{"position":[[70,6],[359,6]]},"734":{"position":[[92,6],[242,6]]},"735":{"position":[[93,6],[244,6]]},"736":{"position":[[58,6]]},"737":{"position":[[73,6],[212,6]]},"738":{"position":[[88,6]]},"739":{"position":[[56,6]]},"740":{"position":[[79,6],[663,6]]},"741":{"position":[[221,6],[1963,6]]},"742":{"position":[[139,6]]},"743":{"position":[[102,6],[353,6]]},"744":{"position":[[93,6],[376,6]]},"750":{"position":[[118,6],[253,6]]},"751":{"position":[[69,6]]},"752":{"position":[[65,6],[422,6]]},"753":{"position":[[70,6],[212,6]]},"754":{"position":[[99,6],[399,6]]},"755":{"position":[[98,6],[395,6]]},"756":{"position":[[834,6]]},"757":{"position":[[112,6],[731,6]]},"758":{"position":[[168,6],[476,6]]},"759":{"position":[[175,6],[606,6],[885,6]]},"761":{"position":[[35,6],[368,6]]},"762":{"position":[[38,6],[168,6]]},"763":{"position":[[66,6]]},"764":{"position":[[111,6],[234,6]]},"765":{"position":[[820,6]]},"766":{"position":[[96,6],[381,6]]},"767":{"position":[[95,6],[377,6]]},"768":{"position":[[158,6],[454,6]]},"769":{"position":[[172,6],[610,6],[886,6]]},"770":{"position":[[149,6]]},"771":{"position":[[28,6],[201,6]]},"772":{"position":[[43,6],[173,6]]},"773":{"position":[[47,6],[151,6]]},"774":{"position":[[37,6]]},"775":{"position":[[63,6],[196,6]]},"778":{"position":[[346,6],[381,6],[788,6]]},"780":{"position":[[61,6],[482,6]]},"781":{"position":[[42,6],[261,6]]},"782":{"position":[[34,6]]},"783":{"position":[[54,6],[274,6]]},"784":{"position":[[76,6]]},"785":{"position":[[314,6]]},"786":{"position":[[151,6],[724,6]]},"787":{"position":[[220,6],[1178,6]]},"789":{"position":[[59,6],[252,6]]},"790":{"position":[[79,6]]},"791":{"position":[[143,6],[285,6]]},"792":{"position":[[142,6]]},"793":{"position":[[621,6]]},"795":{"position":[[498,6],[847,6],[1006,6],[1557,6]]},"797":{"position":[[94,6]]},"798":{"position":[[85,6]]},"799":{"position":[[290,6]]},"801":{"position":[[58,6],[213,6]]},"802":{"position":[[50,6],[240,6]]},"803":{"position":[[50,6],[467,6]]},"804":{"position":[[50,6],[431,6]]},"805":{"position":[[83,6]]},"807":{"position":[[253,6]]},"808":{"position":[[843,6]]},"809":{"position":[[75,8],[123,6],[494,6]]},"810":{"position":[[163,6],[479,6]]},"812":{"position":[[224,6]]},"813":{"position":[[75,6],[308,6]]},"814":{"position":[[223,6],[401,6]]},"815":{"position":[[47,6],[296,6]]},"816":{"position":[[49,6],[302,6]]}},"keywords":{}}],["pythonopen",{"_index":4271,"title":{},"content":{"528":{"position":[[69,11]]}},"keywords":{}}],["q1",{"_index":4717,"title":{},"content":{"626":{"position":[[603,2]]}},"keywords":{}}],["qprobyzwh5woma",{"_index":1559,"title":{},"content":{"82":{"position":[[2451,14],[5916,14]]}},"keywords":{}}],["queri",{"_index":2315,"title":{},"content":{"217":{"position":[[1818,7]]},"309":{"position":[[2889,8]]},"402":{"position":[[5355,5]]},"522":{"position":[[731,5]]}},"keywords":{}}],["query=openc3+cosmo",{"_index":2314,"title":{},"content":{"217":{"position":[[1772,19]]}},"keywords":{}}],["question",{"_index":4122,"title":{"437":{"position":[[4,9]]}},"content":{"437":{"position":[[13,9]]},"664":{"position":[[35,9],[352,8]]},"665":{"position":[[35,9],[318,8]]}},"keywords":{}}],["queu",{"_index":4149,"title":{},"content":{"455":{"position":[[1138,6],[1201,6],[1250,7]]}},"keywords":{}}],["queue",{"_index":4145,"title":{},"content":{"455":{"position":[[415,6],[1353,5],[1394,6],[1431,5]]},"563":{"position":[[442,6]]},"756":{"position":[[187,5],[207,5],[636,5],[670,5],[1192,5],[1228,5]]},"765":{"position":[[181,5],[201,5],[612,5],[646,5],[1147,5],[1180,5]]}},"keywords":{}}],["quick",{"_index":3713,"title":{},"content":{"385":{"position":[[113,5]]},"509":{"position":[[245,5]]},"556":{"position":[[697,5]]}},"keywords":{}}],["quickli",{"_index":2506,"title":{},"content":{"258":{"position":[[133,7]]},"348":{"position":[[134,7]]},"531":{"position":[[771,7]]}},"keywords":{}}],["quiet",{"_index":5353,"title":{},"content":{"722":{"position":[[816,6],[1402,5],[1670,6]]},"723":{"position":[[1169,5],[1438,6]]},"724":{"position":[[546,6],[835,5]]},"725":{"position":[[469,6],[716,5]]},"729":{"position":[[355,6],[688,5]]}},"keywords":{}}],["quiet>",{"_index":5358,"title":{},"content":{"723":{"position":[[544,10]]}},"keywords":{}}],["quiet=fals",{"_index":5356,"title":{},"content":{"722":{"position":[[1880,12]]}},"keywords":{}}],["quiet=tru",{"_index":5360,"title":{},"content":{"723":{"position":[[1645,11]]}},"keywords":{}}],["quit",{"_index":3488,"title":{},"content":{"369":{"position":[[2468,5]]}},"keywords":{}}],["quot",{"_index":179,"title":{},"content":{"5":{"position":[[1028,6],[1282,6]]},"9":{"position":[[815,6],[914,6],[942,6]]},"33":{"position":[[87,7],[590,7],[849,7]]},"35":{"position":[[1212,6],[1743,6]]},"37":{"position":[[1005,6],[1536,6]]},"42":{"position":[[2802,7]]},"91":{"position":[[646,9],[671,9]]},"226":{"position":[[498,6]]},"228":{"position":[[1241,6],[1772,6]]},"230":{"position":[[1024,6],[1555,6]]},"231":{"position":[[1385,6],[1916,6]]},"232":{"position":[[1221,6],[1752,6]]},"233":{"position":[[788,6]]},"234":{"position":[[571,6]]},"241":{"position":[[257,6]]},"243":{"position":[[337,6]]},"276":{"position":[[524,6]]},"278":{"position":[[856,6]]},"280":{"position":[[648,6]]},"281":{"position":[[950,6]]},"282":{"position":[[619,6]]},"283":{"position":[[781,6]]},"284":{"position":[[573,6]]},"292":{"position":[[183,6]]},"557":{"position":[[440,6]]},"642":{"position":[[506,6]]},"654":{"position":[[325,6],[403,6],[420,6]]},"677":{"position":[[191,10],[556,10]]},"678":{"position":[[368,10],[763,10]]},"679":{"position":[[377,10],[780,10]]},"680":{"position":[[437,10],[822,10]]},"681":{"position":[[223,10],[612,10]]},"682":{"position":[[395,10],[814,10]]},"683":{"position":[[404,10],[831,10]]},"684":{"position":[[464,10],[873,10]]}},"keywords":{}}],["quot;#{packet['packet_timesecond",{"_index":4536,"title":{},"content":{"563":{"position":[[681,38]]},"717":{"position":[[567,38],[813,38]]}},"keywords":{}}],["quot;#{variable}"",{"_index":4333,"title":{},"content":{"540":{"position":[[738,23]]}},"keywords":{}}],["quot;$cosmos_host$url"",{"_index":1688,"title":{},"content":{"83":{"position":[[3959,28]]}},"keywords":{}}],["quot;$cosmos_host/openc3",{"_index":1686,"title":{},"content":{"83":{"position":[[3793,25]]}},"keywords":{}}],["quot;$run_opts"",{"_index":1658,"title":{},"content":{"83":{"position":[[2996,21]]}},"keywords":{}}],["quot;$script_api/$script_path/lock?scope=default"",{"_index":1642,"title":{},"content":{"83":{"position":[[2514,55]]}},"keywords":{}}],["quot;$script_api/$script_path/run?scope=default"",{"_index":1657,"title":{},"content":{"83":{"position":[[2930,54]]}},"keywords":{}}],["quot;$script_api/complet",{"_index":1678,"title":{},"content":{"83":{"position":[[3578,27]]}},"keywords":{}}],["quot;$script_api/run",{"_index":1669,"title":{},"content":{"83":{"position":[[3347,25]]}},"keywords":{}}],["quot;$suite"",{"_index":1651,"title":{},"content":{"83":{"position":[[2778,19]]}},"keywords":{}}],["quot;${curl_args[@]}"",{"_index":1644,"title":{},"content":{"83":{"position":[[2590,27],[3018,28],[3400,27],[3634,27],[3907,27],[3988,27]]}},"keywords":{}}],["quot;${openc3_user_id}:${openc3_group_id}"",{"_index":2903,"title":{},"content":{"309":{"position":[[3476,48]]},"310":{"position":[[507,48]]}},"keywords":{}}],["quot;%02x"",{"_index":4683,"title":{},"content":{"610":{"position":[[786,16]]}},"keywords":{}}],["quot;&"",{"_index":2369,"title":{},"content":{"221":{"position":[[111,17]]}},"keywords":{}}],["quot;&a"",{"_index":2370,"title":{},"content":{"221":{"position":[[135,19]]}},"keywords":{}}],["quot;&b"",{"_index":2372,"title":{},"content":{"221":{"position":[[175,19]]}},"keywords":{}}],["quot;&c"",{"_index":2374,"title":{},"content":{"221":{"position":[[215,19]]}},"keywords":{}}],["quot;&d"",{"_index":2376,"title":{},"content":{"221":{"position":[[259,18]]}},"keywords":{}}],["quot;<",{"_index":504,"title":{},"content":{"22":{"position":[[524,11]]},"654":{"position":[[72,12]]}},"keywords":{}}],["quot;<button",{"_index":4971,"title":{},"content":{"668":{"position":[[254,16],[344,16]]}},"keywords":{}}],["quot;<command",{"_index":5046,"title":{},"content":{"677":{"position":[[239,17],[604,17]]},"678":{"position":[[431,17],[826,17]]},"679":{"position":[[444,17],[847,17]]},"680":{"position":[[495,17],[880,17]]},"681":{"position":[[275,17],[664,17]]},"682":{"position":[[462,17],[881,17]]},"683":{"position":[[475,17],[902,17]]},"684":{"position":[[526,17],[935,17]]},"690":{"position":[[201,17]]},"692":{"position":[[160,17]]},"693":{"position":[[297,17]]},"694":{"position":[[132,17]]},"695":{"position":[[199,17]]},"758":{"position":[[234,17],[268,17]]},"759":{"position":[[250,17],[284,17]]},"768":{"position":[[218,17],[252,17]]},"769":{"position":[[241,17],[275,17]]}},"keywords":{}}],["quot;<definition>"",{"_index":5671,"title":{},"content":{"786":{"position":[[253,31]]},"787":{"position":[[288,31]]}},"keywords":{}}],["quot;<example>"",{"_index":1303,"title":{},"content":{"61":{"position":[[730,28]]}},"keywords":{}}],["quot;<filter>"",{"_index":5022,"title":{},"content":{"673":{"position":[[544,27],[654,27]]}},"keywords":{}}],["quot;<interfac",{"_index":5558,"title":{},"content":{"757":{"position":[[185,19]]}},"keywords":{}}],["quot;<item",{"_index":5230,"title":{},"content":{"701":{"position":[[216,14]]},"708":{"position":[[202,14]]}},"keywords":{}}],["quot;<meas_voltage_1>,<meas_voltage_2>"",{"_index":1327,"title":{},"content":{"64":{"position":[[965,57]]},"219":{"position":[[1517,57]]}},"keywords":{}}],["quot;<message>"",{"_index":5021,"title":{},"content":{"673":{"position":[[507,28],[617,28],[744,28],[853,28]]}},"keywords":{}}],["quot;<method",{"_index":5226,"title":{},"content":{"700":{"position":[[198,16]]}},"keywords":{}}],["quot;<packet",{"_index":5136,"title":{},"content":{"689":{"position":[[192,16]]},"691":{"position":[[263,16]]},"701":{"position":[[183,16]]},"702":{"position":[[246,16]]},"703":{"position":[[356,16]]},"707":{"position":[[150,16]]},"708":{"position":[[169,16]]},"709":{"position":[[211,16]]}},"keywords":{}}],["quot;<packet>"",{"_index":5335,"title":{},"content":{"718":{"position":[[165,27]]},"719":{"position":[[125,28],[183,29]]},"720":{"position":[[199,27]]},"725":{"position":[[370,27]]},"729":{"position":[[256,27]]}},"keywords":{}}],["quot;<packet_name>"",{"_index":5301,"title":{},"content":{"711":{"position":[[143,32]]}},"keywords":{}}],["quot;<param",{"_index":5067,"title":{},"content":{"681":{"position":[[309,15],[373,15],[698,16],[758,15]]},"682":{"position":[[496,15],[560,15],[915,16],[975,15]]},"683":{"position":[[509,15],[573,15],[936,16],[996,15]]},"684":{"position":[[560,15],[624,15],[969,16],[1029,15]]}},"keywords":{}}],["quot;<paramet",{"_index":5144,"title":{},"content":{"690":{"position":[[235,19]]},"693":{"position":[[331,19]]}},"keywords":{}}],["quot;<screen",{"_index":5653,"title":{},"content":{"780":{"position":[[125,16]]},"781":{"position":[[104,16]]},"783":{"position":[[117,16]]},"785":{"position":[[157,16]]},"786":{"position":[[221,16]]}},"keywords":{}}],["quot;<select",{"_index":4975,"title":{},"content":{"668":{"position":[[423,19]]}},"keywords":{}}],["quot;<target>"",{"_index":5337,"title":{},"content":{"719":{"position":[[154,28]]}},"keywords":{}}],["quot;"",{"_index":1377,"title":{},"content":{"67":{"position":[[1941,12]]},"379":{"position":[[580,12],[750,12],[821,12],[1440,12],[1630,12],[1706,12],[1972,12],[2135,12],[2211,12],[2472,12],[2635,12],[2711,12],[3138,12],[3197,12]]}},"keywords":{}}],["quot;""",{"_index":5682,"title":{},"content":{"787":{"position":[[1208,18],[1350,18]]}},"keywords":{}}],["quot;(som",{"_index":4178,"title":{},"content":{"473":{"position":[[1030,11]]}},"keywords":{}}],["quot;))][0",{"_index":1682,"title":{},"content":{"83":{"position":[[3738,12]]}},"keywords":{}}],["quot;*rst"",{"_index":2340,"title":{},"content":{"219":{"position":[[588,16]]}},"keywords":{}}],["quot;+dur+""",{"_index":4803,"title":{},"content":{"643":{"position":[[440,25]]}},"keywords":{}}],["quot;+type+"",{"_index":4787,"title":{},"content":{"639":{"position":[[441,19]]}},"keywords":{}}],["quot;,"",{"_index":2373,"title":{},"content":{"221":{"position":[[195,13]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_cmds.txt"",{"_index":5475,"title":{},"content":{"747":{"position":[[1007,52]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_tlm.txt"",{"_index":5476,"title":{},"content":{"747":{"position":[[1062,51]]}},"keywords":{}}],["quot;./cor",{"_index":3592,"title":{},"content":{"376":{"position":[[693,12]]}},"keywords":{}}],["quot;.[]|select(.id==$id)")"",{"_index":1671,"title":{},"content":{"83":{"position":[[3433,39]]}},"keywords":{}}],["quot;.rb"",{"_index":342,"title":{},"content":{"12":{"position":[[497,15]]}},"keywords":{}}],["quot;.txt"",{"_index":5032,"title":{},"content":{"673":{"position":[[1424,17]]}},"keywords":{}}],["quot;.txt,.doc"",{"_index":5026,"title":{},"content":{"673":{"position":[[1177,22]]}},"keywords":{}}],["quot;/dev/ttyusb0:/dev/ttyusb0"",{"_index":2935,"title":{},"content":{"317":{"position":[[155,37]]}},"keywords":{}}],["quot;/entrypoint.sh",{"_index":989,"title":{},"content":{"42":{"position":[[2666,20]]}},"keywords":{}}],["quot;/etc/certs/cert.crt"",{"_index":489,"title":{},"content":{"22":{"position":[[196,31]]}},"keywords":{}}],["quot;/etc/certs/cert.key"",{"_index":491,"title":{},"content":{"22":{"position":[[239,31]]}},"keywords":{}}],["quot;/html/body/div/ul/li[1]/text()"",{"_index":2364,"title":{},"content":{"220":{"position":[[1180,42],[2437,42]]}},"keywords":{}}],["quot;/html/body/div/ul/li[2]/text()"",{"_index":2365,"title":{},"content":{"220":{"position":[[1305,42],[2537,42]]}},"keywords":{}}],["quot;/html/body/img/@src"",{"_index":2363,"title":{},"content":{"220":{"position":[[1045,31],[2320,31]]}},"keywords":{}}],["quot;/html/head/noscript/text()"",{"_index":2362,"title":{},"content":{"220":{"position":[[921,38],[2136,38]]}},"keywords":{}}],["quot;/html/head/script/@src"",{"_index":2361,"title":{},"content":{"220":{"position":[[816,34],[2048,34]]}},"keywords":{}}],["quot;/openc3",{"_index":3369,"title":{},"content":{"364":{"position":[[650,13],[801,13]]}},"keywords":{}}],["quot;/sbin/tini",{"_index":982,"title":{},"content":{"42":{"position":[[2414,16],[2542,16],[2777,16]]}},"keywords":{}}],["quot;/script",{"_index":3373,"title":{},"content":{"364":{"position":[[949,13]]}},"keywords":{}}],["quot;/search"",{"_index":2311,"title":{},"content":{"217":{"position":[[1543,19]]}},"keywords":{}}],["quot;/tmp/data/cert"",{"_index":2066,"title":{},"content":{"141":{"position":[[949,26]]},"188":{"position":[[650,26]]}},"keywords":{}}],["quot;/tools/toolfoldername"",{"_index":2160,"title":{},"content":{"194":{"position":[[84,34]]}},"keywords":{}}],["quot;/usr/bin/dock",{"_index":995,"title":{},"content":{"42":{"position":[[2862,21]]}},"keywords":{}}],["quot;0"",{"_index":3877,"title":{},"content":{"402":{"position":[[2437,15],[3445,15]]}},"keywords":{}}],["quot;03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d"",{"_index":3676,"title":{},"content":{"380":{"position":[[632,77]]}},"keywords":{}}],["quot;0x%04x"",{"_index":3628,"title":{},"content":{"379":{"position":[[502,18],[607,18],[1358,18],[1467,18],[1890,18],[1999,18],[2390,18],[2499,18],[2911,18],[3001,18]]}},"keywords":{}}],["quot;0x%08x:"",{"_index":4684,"title":{},"content":{"610":{"position":[[807,19]]}},"keywords":{}}],["quot;0x%0x"",{"_index":662,"title":{},"content":{"36":{"position":[[264,17]]},"40":{"position":[[261,17],[378,17],[487,17],[602,17],[1034,17]]},"229":{"position":[[264,17]]},"279":{"position":[[259,17]]}},"keywords":{}}],["quot;0x%2x"",{"_index":3641,"title":{},"content":{"379":{"position":[[848,17]]}},"keywords":{}}],["quot;0x%x"",{"_index":2251,"title":{},"content":{"214":{"position":[[788,16],[2047,16]]},"218":{"position":[[990,16],[1825,16]]},"220":{"position":[[1091,16],[2366,16]]},"609":{"position":[[604,16]]}},"keywords":{}}],["quot;1"",{"_index":3879,"title":{},"content":{"402":{"position":[[2515,15],[3518,15]]},"664":{"position":[[158,14]]},"665":{"position":[[119,14],[145,13]]}},"keywords":{}}],["quot;1.234,2.345"",{"_index":2351,"title":{},"content":{"219":{"position":[[1406,23]]}},"keywords":{}}],["quot;10.0"",{"_index":4800,"title":{},"content":{"643":{"position":[[279,16]]},"654":{"position":[[462,16]]}},"keywords":{}}],["quot;100"",{"_index":4650,"title":{},"content":{"598":{"position":[[350,15]]},"599":{"position":[[347,15]]},"601":{"position":[[188,15]]}},"keywords":{}}],["quot;1235:1235/udp"",{"_index":3565,"title":{},"content":{"373":{"position":[[310,25]]}},"keywords":{}}],["quot;127.0.0.1"",{"_index":3644,"title":{},"content":{"379":{"position":[[902,21]]}},"keywords":{}}],["quot;1613077715557",{"_index":5439,"title":{},"content":{"744":{"position":[[435,22],[867,20]]}},"keywords":{}}],["quot;1613077715657",{"_index":5453,"title":{},"content":{"744":{"position":[[1417,22]]}},"keywords":{}}],["quot;172.20.0.8/16"",{"_index":3683,"title":{},"content":{"380":{"position":[[963,26]]}},"keywords":{}}],["quot;172.20.0.9/16"",{"_index":3679,"title":{},"content":{"380":{"position":[[772,26]]}},"keywords":{}}],["quot;2.0"",{"_index":1483,"title":{},"content":{"81":{"position":[[286,16]]},"82":{"position":[[6039,16]]},"91":{"position":[[1698,16],[1959,16],[2175,16],[2496,16]]},"92":{"position":[[1150,16],[1380,16],[1474,16],[1730,16]]},"93":{"position":[[690,16]]}},"keywords":{}}],["quot;200"",{"_index":4651,"title":{},"content":{"598":{"position":[[372,15]]},"599":{"position":[[369,15]]},"601":{"position":[[210,15]]}},"keywords":{}}],["quot;300"",{"_index":4652,"title":{},"content":{"598":{"position":[[394,15]]},"599":{"position":[[391,15]]},"601":{"position":[[262,15]]}},"keywords":{}}],["quot;3i5n49dmnfg9fl32k3"",{"_index":3921,"title":{},"content":{"402":{"position":[[6487,30]]}},"keywords":{}}],["quot;400"",{"_index":4655,"title":{},"content":{"599":{"position":[[413,15]]},"601":{"position":[[284,15]]}},"keywords":{}}],["quot;443:2943"",{"_index":517,"title":{},"content":{"23":{"position":[[263,20]]}},"keywords":{}}],["quot;5.11.4",{"_index":5784,"title":{},"content":{"809":{"position":[[354,12],[431,13]]}},"keywords":{}}],["quot;500"",{"_index":4656,"title":{},"content":{"599":{"position":[[435,15]]}},"keywords":{}}],["quot;600"",{"_index":4657,"title":{},"content":{"599":{"position":[[457,15]]}},"keywords":{}}],["quot;700"",{"_index":4658,"title":{},"content":{"599":{"position":[[479,15]]}},"keywords":{}}],["quot;800"",{"_index":4659,"title":{},"content":{"599":{"position":[[501,15]]}},"keywords":{}}],["quot;80:2900"",{"_index":516,"title":{},"content":{"23":{"position":[[239,19]]}},"keywords":{}}],["quot;900"",{"_index":4660,"title":{},"content":{"599":{"position":[[523,15]]}},"keywords":{}}],["quot;:2900"",{"_index":497,"title":{},"content":{"22":{"position":[[358,17]]}},"keywords":{}}],["quot;:2943"",{"_index":501,"title":{},"content":{"22":{"position":[[470,17]]}},"keywords":{}}],["quot;:meas:volt",{"_index":1324,"title":{},"content":{"64":{"position":[[740,17]]}},"keywords":{}}],["quot;;"",{"_index":2375,"title":{},"content":{"221":{"position":[[239,13]]}},"keywords":{}}],["quot;@openc3/tool",{"_index":2949,"title":{},"content":{"320":{"position":[[252,18]]}},"keywords":{}}],["quot;\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":5007,"title":{},"content":{"670":{"position":[[753,45]]}},"keywords":{}}],["quot;_ccsds_apid.txt"",{"_index":247,"title":{},"content":{"7":{"position":[[222,28]]}},"keywords":{}}],["quot;a",{"_index":2505,"title":{},"content":{"258":{"position":[[13,7],[220,7]]},"390":{"position":[[712,8]]}},"keywords":{}}],["quot;access_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":1552,"title":{},"content":{"82":{"position":[[1291,959]]}},"keywords":{}}],["quot;adcs"",{"_index":5270,"title":{},"content":{"706":{"position":[[243,18]]},"719":{"position":[[332,18]]},"780":{"position":[[532,17]]},"781":{"position":[[309,17]]},"783":{"position":[[323,17]]},"814":{"position":[[592,17]]}},"keywords":{}}],["quot;add",{"_index":4194,"title":{},"content":{"482":{"position":[[186,9],[445,9],[668,9]]}},"keywords":{}}],["quot;addit",{"_index":299,"title":{},"content":{"9":{"position":[[238,16]]}},"keywords":{}}],["quot;allow",{"_index":1147,"title":{},"content":{"50":{"position":[[471,11]]}},"keywords":{}}],["quot;an",{"_index":2499,"title":{},"content":{"257":{"position":[[13,8]]}},"keywords":{}}],["quot;angl",{"_index":2483,"title":{},"content":{"253":{"position":[[778,11]]}},"keywords":{}}],["quot;api.cmd('inst",{"_index":4797,"title":{},"content":{"642":{"position":[[515,19]]},"654":{"position":[[506,19]]}},"keywords":{}}],["quot;arm",{"_index":731,"title":{},"content":{"36":{"position":[[3740,9],[3762,9],[3794,12]]},"229":{"position":[[3740,9],[3762,9],[3794,12]]},"279":{"position":[[2807,9],[2829,9]]}},"keywords":{}}],["quot;array",{"_index":2261,"title":{},"content":{"214":{"position":[[1023,11],[2234,11]]},"218":{"position":[[1225,11],[2012,11]]},"233":{"position":[[987,11]]},"234":{"position":[[774,11]]},"283":{"position":[[975,11]]},"284":{"position":[[771,11]]}},"keywords":{}}],["quot;author",{"_index":1479,"title":{},"content":{"81":{"position":[[224,20]]},"82":{"position":[[4767,20]]},"93":{"position":[[972,20]]}},"keywords":{}}],["quot;auto_reconnect"=>tru",{"_index":5494,"title":{},"content":{"750":{"position":[[536,36]]},"764":{"position":[[509,36]]}},"keywords":{}}],["quot;averag",{"_index":2594,"title":{},"content":{"274":{"position":[[378,13]]}},"keywords":{}}],["quot;ballaerospace/openc3",{"_index":514,"title":{},"content":{"23":{"position":[[173,26]]}},"keywords":{}}],["quot;big_endian"",{"_index":1343,"title":{},"content":{"65":{"position":[[680,22]]}},"keywords":{}}],["quot;binari",{"_index":891,"title":{},"content":{"40":{"position":[[1393,12]]}},"keywords":{}}],["quot;binary"",{"_index":890,"title":{},"content":{"40":{"position":[[1353,18]]}},"keywords":{}}],["quot;bit_offset"=>0",{"_index":5122,"title":{},"content":{"687":{"position":[[664,29]]},"689":{"position":[[703,29]]},"705":{"position":[[575,29]]},"707":{"position":[[1102,29]]},"708":{"position":[[489,29]]}},"keywords":{}}],["quot;bit_offset"=>64",{"_index":5147,"title":{},"content":{"690":{"position":[[523,30]]}},"keywords":{}}],["quot;bit_size"=>16",{"_index":5148,"title":{},"content":{"690":{"position":[[554,28]]}},"keywords":{}}],["quot;bit_size"=>3",{"_index":5123,"title":{},"content":{"687":{"position":[[694,27]]},"689":{"position":[[733,27]]},"705":{"position":[[607,27]]},"707":{"position":[[1134,27]]},"708":{"position":[[521,27]]}},"keywords":{}}],["quot;block",{"_index":2404,"title":{},"content":{"228":{"position":[[2240,11]]}},"keywords":{}}],["quot;bob"",{"_index":3280,"title":{},"content":{"358":{"position":[[7027,16],[7156,16]]}},"keywords":{}}],["quot;boolean"",{"_index":2798,"title":{},"content":{"304":{"position":[[1169,19]]},"305":{"position":[[1447,19]]},"358":{"position":[[3014,19],[4963,19]]},"359":{"position":[[1614,19]]}},"keywords":{}}],["quot;buffer"",{"_index":3919,"title":{},"content":{"402":{"position":[[6312,19],[6467,19]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":5171,"title":{},"content":{"691":{"position":[[786,107]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00a",{"_index":5099,"title":{},"content":{"685":{"position":[[852,68]]}},"keywords":{}}],["quot;build"",{"_index":2958,"title":{},"content":{"320":{"position":[[870,18]]}},"keywords":{}}],["quot;c:\\openc3",{"_index":3065,"title":{},"content":{"333":{"position":[[143,15]]}},"keywords":{}}],["quot;catch",{"_index":2663,"title":{},"content":{"281":{"position":[[114,11]]},"358":{"position":[[5707,11]]}},"keywords":{}}],["quot;cbor",{"_index":2240,"title":{},"content":{"214":{"position":[[433,10],[1689,10]]}},"keywords":{}}],["quot;ccsd",{"_index":269,"title":{},"content":{"7":{"position":[[730,11],[919,11]]},"253":{"position":[[159,11],[242,11],[321,11],[420,11],[508,11],[599,11],[686,11],[1037,11],[1120,11],[1199,11],[1298,11],[1386,11],[1477,11],[1564,11],[1807,11],[1890,11],[1969,11],[2068,11],[2156,11],[2247,11],[2334,11]]},"299":{"position":[[137,11],[223,11],[323,11],[422,11],[492,11],[609,11],[677,11]]}},"keywords":{}}],["quot;ccsdsapid"",{"_index":5464,"title":{},"content":{"747":{"position":[[488,22],[725,22]]}},"keywords":{}}],["quot;ccsdslength"",{"_index":5467,"title":{},"content":{"747":{"position":[[569,24],[806,24]]}},"keywords":{}}],["quot;ccsdsseqcnt"",{"_index":5466,"title":{},"content":{"747":{"position":[[542,24],[779,24]]}},"keywords":{}}],["quot;ccsdsseqflags"",{"_index":5465,"title":{},"content":{"747":{"position":[[513,26],[750,26]]}},"keywords":{}}],["quot;ccsdsshf"",{"_index":5463,"title":{},"content":{"747":{"position":[[464,21],[701,21]]}},"keywords":{}}],["quot;ccsdstype"",{"_index":5462,"title":{},"content":{"747":{"position":[[439,22],[676,22]]}},"keywords":{}}],["quot;ccsdsver"",{"_index":5461,"title":{},"content":{"747":{"position":[[414,22],[651,22]]},"814":{"position":[[634,21]]}},"keywords":{}}],["quot;ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc"",{"_index":3680,"title":{},"content":{"380":{"position":[[802,77]]}},"keywords":{}}],["quot;certificate"",{"_index":3048,"title":{},"content":{"332":{"position":[[640,24]]}},"keywords":{}}],["quot;cfs"",{"_index":3677,"title":{},"content":{"380":{"position":[[730,16]]}},"keywords":{}}],["quot;choos",{"_index":3940,"title":{},"content":{"404":{"position":[[673,12],[743,12],[871,12]]},"673":{"position":[[1374,12],[1781,12]]}},"keywords":{}}],["quot;class",{"_index":1982,"title":{},"content":{"115":{"position":[[2309,11]]}},"keywords":{}}],["quot;class"=>"openc3::statisticsprocessor"",{"_index":5278,"title":{},"content":{"707":{"position":[[707,62]]}},"keywords":{}}],["quot;class"=>"openc3::watermarkprocessor"",{"_index":5282,"title":{},"content":{"707":{"position":[[895,61]]}},"keywords":{}}],["quot;clear"",{"_index":5060,"title":{},"content":{"679":{"position":[[1634,18]]},"683":{"position":[[1713,18]]}},"keywords":{}}],["quot;click",{"_index":3292,"title":{},"content":{"359":{"position":[[547,11]]}},"keywords":{}}],["quot;clients"=>0",{"_index":5503,"title":{},"content":{"750":{"position":[[908,26]]},"764":{"position":[[881,26]]}},"keywords":{}}],["quot;cmd",{"_index":5542,"title":{},"content":{"756":{"position":[[767,9]]}},"keywords":{}}],["quot;cmd"",{"_index":1734,"title":{},"content":{"91":{"position":[[1735,16],[2212,16]]}},"keywords":{}}],["quot;cmd.txt"",{"_index":364,"title":{},"content":{"15":{"position":[[477,20]]}},"keywords":{}}],["quot;cmd_tlm_files"=>",{"_index":5474,"title":{},"content":{"747":{"position":[[974,30]]}},"keywords":{}}],["quot;cmd_unique_id_mode"=>fals",{"_index":5477,"title":{},"content":{"747":{"position":[[1116,41]]}},"keywords":{}}],["quot;cni"",{"_index":2882,"title":{},"content":{"309":{"position":[[2389,15]]}},"keywords":{}}],["quot;col",{"_index":4649,"title":{},"content":{"598":{"position":[[278,9],[302,9],[326,9]]}},"keywords":{}}],["quot;collect",{"_index":147,"title":{},"content":{"5":{"position":[[140,13],[249,13]]},"213":{"position":[[685,13],[754,13],[825,13]]}},"keywords":{}}],["quot;collect"",{"_index":1743,"title":{},"content":{"91":{"position":[[2015,20],[2268,20],[2552,20]]},"677":{"position":[[1430,20],[1547,20],[1808,20]]},"678":{"position":[[1628,20],[1854,20]]},"680":{"position":[[1673,20],[1891,20]]},"681":{"position":[[1455,20],[1637,20]]},"682":{"position":[[1702,20],[1914,20]]},"684":{"position":[[1746,20],[1948,20]]},"692":{"position":[[523,20],[664,20]]},"693":{"position":[[701,20],[827,20]]},"694":{"position":[[763,20]]},"700":{"position":[[443,20],[577,20]]}},"keywords":{}}],["quot;collects"",{"_index":5232,"title":{},"content":{"701":{"position":[[672,21],[1100,21]]}},"keywords":{}}],["quot;command",{"_index":2233,"title":{},"content":{"213":{"position":[[1054,13]]},"253":{"position":[[78,14]]},"379":{"position":[[3353,13],[3414,13]]}},"keywords":{}}],["quot;compos",{"_index":2527,"title":{},"content":{"259":{"position":[[13,13]]}},"keywords":{}}],["quot;config_params"=>["interface.rb"",{"_index":5491,"title":{},"content":{"750":{"position":[[382,57]]}},"keywords":{}}],["quot;config_params"=>["router.rb"",{"_index":5589,"title":{},"content":{"764":{"position":[[358,54]]}},"keywords":{}}],["quot;connect_on_startup"=>tru",{"_index":5493,"title":{},"content":{"750":{"position":[[493,40]]},"764":{"position":[[466,40]]}},"keywords":{}}],["quot;cont",{"_index":1476,"title":{},"content":{"81":{"position":[[174,13]]},"82":{"position":[[423,13],[4717,13]]}},"keywords":{}}],["quot;containers"",{"_index":3675,"title":{},"content":{"380":{"position":[[606,23]]}},"keywords":{}}],["quot;continueaftererror"",{"_index":1653,"title":{},"content":{"83":{"position":[[2821,30]]}},"keywords":{}}],["quot;converted"",{"_index":5280,"title":{},"content":{"707":{"position":[[820,24],[1002,25]]}},"keywords":{}}],["quot;copi",{"_index":1599,"title":{},"content":{"83":{"position":[[603,10]]}},"keywords":{}}],["quot;cosmos5_"",{"_index":1060,"title":{},"content":{"47":{"position":[[63,21]]}},"keywords":{}}],["quot;created"",{"_index":4146,"title":{},"content":{"455":{"position":[[777,20]]}},"keywords":{}}],["quot;crt"",{"_index":530,"title":{},"content":{"24":{"position":[[131,15]]}},"keywords":{}}],["quot;curr",{"_index":2355,"title":{},"content":{"219":{"position":[[1611,13],[1689,13]]}},"keywords":{}}],["quot;data",{"_index":2396,"title":{},"content":{"228":{"position":[[2067,10]]},"253":{"position":[[888,10]]}},"keywords":{}}],["quot;data"",{"_index":4224,"title":{},"content":{"498":{"position":[[992,16]]}},"keywords":{}}],["quot;data"=>"5.11.4",{"_index":5754,"title":{},"content":{"808":{"position":[[192,33]]}},"keywords":{}}],["quot;data"=>"https://github.com/openc3/cosmos"",{"_index":5764,"title":{},"content":{"808":{"position":[[724,66]]}},"keywords":{}}],["quot;data"=>"https://pypi.org/simple"",{"_index":5758,"title":{},"content":{"808":{"position":[[359,57]]}},"keywords":{}}],["quot;data"=>"https://rubygems.org"",{"_index":5761,"title":{},"content":{"808":{"position":[[545,54]]}},"keywords":{}}],["quot;data_type"=>"uint"",{"_index":5149,"title":{},"content":{"690":{"position":[[583,43]]},"708":{"position":[[551,43]]}},"keywords":{}}],["quot;data_viewer"",{"_index":5800,"title":{},"content":{"812":{"position":[[197,24]]}},"keywords":{}}],["quot;datavis"",{"_index":2824,"title":{},"content":{"307":{"position":[[1812,19]]}},"keywords":{}}],["quot;day",{"_index":2703,"title":{},"content":{"299":{"position":[[739,10]]}},"keywords":{}}],["quot;decom__cmd__inst__collect__duration__with_units"",{"_index":3878,"title":{},"content":{"402":{"position":[[2453,61]]}},"keywords":{}}],["quot;decom__tlm__inst__adcs__q1__raw"",{"_index":3876,"title":{},"content":{"402":{"position":[[2391,45]]}},"keywords":{}}],["quot;decom__tlm__inst__health_status__formatted"",{"_index":3901,"title":{},"content":{"402":{"position":[[3461,56]]}},"keywords":{}}],["quot;default"",{"_index":1491,"title":{},"content":{"81":{"position":[[448,21]]},"82":{"position":[[6201,21]]},"402":{"position":[[1314,20]]}},"keywords":{}}],["quot;default"=>",{"_index":5404,"title":{},"content":{"740":{"position":[[432,26]]}},"keywords":{}}],["quot;default"=>0",{"_index":5151,"title":{},"content":{"690":{"position":[[714,26]]}},"keywords":{}}],["quot;default__telemetry__inst__adcs"",{"_index":3918,"title":{},"content":{"402":{"position":[[6268,43],[6423,43]]}},"keywords":{}}],["quot;deleted"",{"_index":4148,"title":{},"content":{"455":{"position":[[819,20]]}},"keywords":{}}],["quot;deriv",{"_index":2626,"title":{},"content":{"278":{"position":[[1130,13]]},"299":{"position":[[1160,13],[1425,13]]}},"keywords":{}}],["quot;description"=>"abort",{"_index":5118,"title":{},"content":{"687":{"position":[[518,40]]},"689":{"position":[[557,40]]}},"keywords":{}}],["quot;description"=>"ccsd",{"_index":5288,"title":{},"content":{"708":{"position":[[597,39]]}},"keywords":{}}],["quot;description"=>"collect",{"_index":5150,"title":{},"content":{"690":{"position":[[629,41]]}},"keywords":{}}],["quot;description"=>"health",{"_index":5275,"title":{},"content":{"707":{"position":[[518,40]]}},"keywords":{}}],["quot;description"=>"posit",{"_index":5263,"title":{},"content":{"705":{"position":[[403,42]]}},"keywords":{}}],["quot;destin",{"_index":3645,"title":{},"content":{"379":{"position":[[924,17]]}},"keywords":{}}],["quot;details"",{"_index":3199,"title":{},"content":{"350":{"position":[[664,19]]},"632":{"position":[[479,19]]}},"keywords":{}}],["quot;disable_crc"",{"_index":5569,"title":{},"content":{"758":{"position":[[525,24]]},"759":{"position":[[822,24],[943,24]]},"768":{"position":[[500,24]]},"769":{"position":[[823,24],[941,24]]}},"keywords":{}}],["quot;disable_disconnect"=>fals",{"_index":5496,"title":{},"content":{"750":{"position":[[614,41]]},"764":{"position":[[587,41]]}},"keywords":{}}],["quot;display",{"_index":3133,"title":{},"content":{"348":{"position":[[1580,13]]}},"keywords":{}}],["quot;do",{"_index":2489,"title":{},"content":{"253":{"position":[[980,8]]}},"keywords":{}}],["quot;dock",{"_index":1000,"title":{},"content":{"42":{"position":[[2972,12]]}},"keywords":{}}],["quot;dummi",{"_index":2492,"title":{},"content":{"253":{"position":[[1643,11]]}},"keywords":{}}],["quot;dump_packet_throttle_(sec)"",{"_index":872,"title":{},"content":{"40":{"position":[[637,38]]}},"keywords":{}}],["quot;duration"",{"_index":1744,"title":{},"content":{"91":{"position":[[2036,22],[2289,22],[2573,22]]},"677":{"position":[[1451,20],[1570,20],[1831,21]]},"678":{"position":[[1649,20],[1875,22]]},"680":{"position":[[1694,20],[1912,22]]},"681":{"position":[[1476,20],[1658,22]]},"682":{"position":[[1723,20],[1935,22]]},"684":{"position":[[1767,20],[1969,22]]}},"keywords":{}}],["quot;en",{"_index":726,"title":{},"content":{"36":{"position":[[3541,12]]},"229":{"position":[[3541,12]]},"279":{"position":[[2601,12]]},"379":{"position":[[324,12]]},"404":{"position":[[1442,12]]}},"keywords":{}}],["quot;endianness"=>"big_endian"",{"_index":5117,"title":{},"content":{"687":{"position":[[465,50]]},"689":{"position":[[504,50]]},"690":{"position":[[801,50]]},"705":{"position":[[350,50]]},"707":{"position":[[465,50]]},"708":{"position":[[690,50]]}},"keywords":{}}],["quot;environment"",{"_index":1647,"title":{},"content":{"83":{"position":[[2664,24]]}},"keywords":{}}],["quot;error"",{"_index":1340,"title":{},"content":{"65":{"position":[[431,17]]},"217":{"position":[[1732,17]]}},"keywords":{}}],["quot;example"",{"_index":2257,"title":{},"content":{"214":{"position":[[924,19],[1342,20]]},"218":{"position":[[1126,19]]},"220":{"position":[[1257,19]]}},"keywords":{}}],["quot;feature"",{"_index":3026,"title":{},"content":{"330":{"position":[[1030,19]]}},"keywords":{}}],["quot;file:#{env['tbl_filename']}"",{"_index":4213,"title":{},"content":{"498":{"position":[[390,39]]},"499":{"position":[[422,39]]}},"keywords":{}}],["quot;fir",{"_index":737,"title":{},"content":{"36":{"position":[[3853,10],[3876,10]]},"229":{"position":[[3853,10],[3876,10]]},"279":{"position":[[2864,10],[2887,10]]}},"keywords":{}}],["quot;first.rules"",{"_index":3362,"title":{},"content":{"364":{"position":[[452,23]]}},"keywords":{}}],["quot;float",{"_index":2254,"title":{},"content":{"214":{"position":[[850,11],[2091,11]]},"218":{"position":[[1052,11],[1869,11]]},"220":{"position":[[1153,11],[2410,11]]}},"keywords":{}}],["quot;folder_name"=>"inst"",{"_index":5458,"title":{},"content":{"747":{"position":[[297,45]]}},"keywords":{}}],["quot;form",{"_index":2280,"title":{},"content":{"215":{"position":[[312,10],[746,10]]}},"keywords":{}}],["quot;get",{"_index":1322,"title":{},"content":{"64":{"position":[[681,10]]}},"keywords":{}}],["quot;get"",{"_index":2312,"title":{},"content":{"217":{"position":[[1605,15]]}},"keywords":{}}],["quot;gnd",{"_index":4743,"title":{},"content":{"632":{"position":[[672,9]]}},"keywords":{}}],["quot;graph"",{"_index":3201,"title":{},"content":{"350":{"position":[[834,17]]}},"keywords":{}}],["quot;ground_error.png"",{"_index":4824,"title":{},"content":{"650":{"position":[[975,28]]}},"keywords":{}}],["quot;ground_off.png"",{"_index":4826,"title":{},"content":{"650":{"position":[[1100,26]]}},"keywords":{}}],["quot;ground_on.png"",{"_index":4822,"title":{},"content":{"650":{"position":[[199,25],[1042,25]]}},"keywords":{}}],["quot;hazardous"=>""",{"_index":5158,"title":{},"content":{"690":{"position":[[1053,41]]}},"keywords":{}}],["quot;health",{"_index":245,"title":{},"content":{"7":{"position":[[178,12],[854,12]]},"8":{"position":[[198,12],[349,12]]},"9":{"position":[[206,12],[372,12]]},"213":{"position":[[906,12]]},"299":{"position":[[70,12]]}},"keywords":{}}],["quot;health_status"",{"_index":1757,"title":{},"content":{"92":{"position":[[1567,26]]},"701":{"position":[[645,26],[1073,26]]},"706":{"position":[[262,26]]},"719":{"position":[[370,28]]}},"keywords":{}}],["quot;hole"",{"_index":2416,"title":{},"content":{"236":{"position":[[244,16]]},"286":{"position":[[225,16]]}},"keywords":{}}],["quot;housekeep",{"_index":3656,"title":{},"content":{"379":{"position":[[2768,18]]}},"keywords":{}}],["quot;hs"",{"_index":5668,"title":{},"content":{"785":{"position":[[391,15]]}},"keywords":{}}],["quot;https://images.pexels.com/photos/256152/pexel",{"_index":4819,"title":{},"content":{"649":{"position":[[449,52]]}},"keywords":{}}],["quot;https://mygemserver"",{"_index":5793,"title":{},"content":{"810":{"position":[[445,31]]}},"keywords":{}}],["quot;https://rubygems.org"",{"_index":5786,"title":{},"content":{"809":{"position":[[458,33]]}},"keywords":{}}],["quot;id"",{"_index":1492,"title":{},"content":{"81":{"position":[[470,15]]},"82":{"position":[[6223,15]]},"86":{"position":[[97,14]]},"91":{"position":[[1843,15],[2127,15],[2380,15],[2664,15]]},"92":{"position":[[1264,15],[1426,15],[1614,15],[1776,15]]},"93":{"position":[[804,15]]}},"keywords":{}}],["quot;id"=>"1696437370872",{"_index":5092,"title":{},"content":{"685":{"position":[[501,39]]}},"keywords":{}}],["quot;id"=>nil",{"_index":5479,"title":{},"content":{"747":{"position":[[1204,23]]}},"keywords":{}}],["quot;id_item"",{"_index":2263,"title":{},"content":{"214":{"position":[[1200,20]]}},"keywords":{}}],["quot;id_item":1",{"_index":2331,"title":{},"content":{"218":{"position":[[535,24]]}},"keywords":{}}],["quot;identified"",{"_index":3271,"title":{},"content":{"358":{"position":[[5617,22]]}},"keywords":{}}],["quot;identifier"",{"_index":2795,"title":{},"content":{"304":{"position":[[1040,22]]},"305":{"position":[[1257,22]]},"358":{"position":[[2891,22],[4871,22],[5342,23]]},"359":{"position":[[1489,22]]}},"keywords":{}}],["quot;identifier".next",{"_index":3262,"title":{},"content":{"358":{"position":[[3735,27]]}},"keywords":{}}],["quot;ignored_items"=>",{"_index":5469,"title":{},"content":{"747":{"position":[[618,30]]}},"keywords":{}}],["quot;ignored_parameters"=>",{"_index":5460,"title":{},"content":{"747":{"position":[[376,35]]}},"keywords":{}}],["quot;inst",{"_index":1487,"title":{},"content":{"81":{"position":[[360,11]]},"82":{"position":[[6113,11]]},"91":{"position":[[1772,11]]},"92":{"position":[[1224,11]]},"93":{"position":[[764,11]]}},"keywords":{}}],["quot;inst"",{"_index":1742,"title":{},"content":{"91":{"position":[[1996,18],[2249,18],[2533,18]]},"92":{"position":[[1548,18]]},"700":{"position":[[425,17],[559,17]]},"719":{"position":[[351,18]]},"814":{"position":[[548,17]]}},"keywords":{}}],["quot;inst__health_status__temp2__raw"",{"_index":5257,"title":{},"content":{"704":{"position":[[543,45]]}},"keywords":{}}],["quot;inst_int"",{"_index":5563,"title":{},"content":{"757":{"position":[[689,21],[790,21]]}},"keywords":{}}],["quot;instru",{"_index":2622,"title":{},"content":{"276":{"position":[[594,16]]},"299":{"position":[[971,16],[1062,16]]}},"keywords":{}}],["quot;int",{"_index":2245,"title":{},"content":{"214":{"position":[[563,9],[641,9],[734,9],[1779,9],[1840,9],[1993,9]]},"215":{"position":[[409,9],[487,9],[836,9],[897,9]]},"218":{"position":[[765,9],[843,9],[936,9],[1557,9],[1618,9],[1771,9]]},"220":{"position":[[791,9],[894,9],[1018,9],[2023,9],[2109,9],[2293,9]]}},"keywords":{}}],["quot;interfac",{"_index":3601,"title":{},"content":{"378":{"position":[[84,17]]},"756":{"position":[[497,16]]}},"keywords":{}}],["quot;io",{"_index":4998,"title":{},"content":{"670":{"position":[[111,8]]}},"keywords":{}}],["quot;ipv4address"",{"_index":3678,"title":{},"content":{"380":{"position":[[747,24],[938,24]]}},"keywords":{}}],["quot;item1"",{"_index":2264,"title":{},"content":{"214":{"position":[[1226,17]]}},"keywords":{}}],["quot;item1":101",{"_index":2332,"title":{},"content":{"218":{"position":[[560,22]]}},"keywords":{}}],["quot;item2"",{"_index":2266,"title":{},"content":{"214":{"position":[[1272,17]]}},"keywords":{}}],["quot;item2":12",{"_index":2333,"title":{},"content":{"218":{"position":[[603,21]]}},"keywords":{}}],["quot;item3"",{"_index":2267,"title":{},"content":{"214":{"position":[[1296,17]]}},"keywords":{}}],["quot;item3":3.14",{"_index":2334,"title":{},"content":{"218":{"position":[[625,23]]}},"keywords":{}}],["quot;item4"",{"_index":2268,"title":{},"content":{"214":{"position":[[1322,17]]}},"keywords":{}}],["quot;item4":"example"",{"_index":2335,"title":{},"content":{"218":{"position":[[649,38]]}},"keywords":{}}],["quot;item5"",{"_index":2269,"title":{},"content":{"214":{"position":[[1363,17]]}},"keywords":{}}],["quot;item5":[4",{"_index":2336,"title":{},"content":{"218":{"position":[[688,21]]}},"keywords":{}}],["quot;item_name"=>"item"",{"_index":5443,"title":{},"content":{"744":{"position":[[614,43],[1044,43]]}},"keywords":{}}],["quot;item_name"=>"temp1"",{"_index":5313,"title":{},"content":{"714":{"position":[[447,44],[665,44],[889,44],[1125,44]]}},"keywords":{}}],["quot;itemname"",{"_index":5816,"title":{},"content":{"814":{"position":[[612,21]]}},"keywords":{}}],["quot;items"",{"_index":5813,"title":{},"content":{"814":{"position":[[497,18]]}},"keywords":{}}],["quot;items"=>",{"_index":5120,"title":{},"content":{"687":{"position":[[596,22]]},"689":{"position":[[635,22]]},"705":{"position":[[503,22]]},"707":{"position":[[1030,22]]}},"keywords":{}}],["quot;js/app.js"",{"_index":2163,"title":{},"content":{"195":{"position":[[112,22]]}},"keywords":{}}],["quot;json",{"_index":2330,"title":{},"content":{"218":{"position":[[470,10],[1467,10]]}},"keywords":{}}],["quot;json"",{"_index":1097,"title":{},"content":{"48":{"position":[[2177,16],[2246,16]]}},"keywords":{}}],["quot;json/cbor",{"_index":1083,"title":{},"content":{"48":{"position":[[766,15]]}},"keywords":{}}],["quot;jsonrpc"",{"_index":1482,"title":{},"content":{"81":{"position":[[263,22]]},"82":{"position":[[6016,22]]},"91":{"position":[[1676,21],[1937,21],[2153,21],[2474,21]]},"92":{"position":[[1128,21],[1358,21],[1452,21],[1708,21]]},"93":{"position":[[667,22]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":29.204100000000007",{"_index":1588,"title":{},"content":{"82":{"position":[[6610,92]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":53.26555000000001",{"_index":1517,"title":{},"content":{"81":{"position":[[842,91]]}},"keywords":{}}],["quot;key"",{"_index":526,"title":{},"content":{"24":{"position":[[26,15]]}},"keywords":{}}],["quot;keyword_params"",{"_index":1489,"title":{},"content":{"81":{"position":[[400,27]]},"82":{"position":[[6153,27]]},"86":{"position":[[384,26]]}},"keywords":{}}],["quot;keyword_params":{"scope":"default"",{"_index":1740,"title":{},"content":{"91":{"position":[[1862,67],[2399,67]]},"92":{"position":[[1283,67],[1633,67]]}},"keywords":{}}],["quot;keyword_params":{"type":"with_units","scope":"default"",{"_index":1770,"title":{},"content":{"93":{"position":[[823,108]]}},"keywords":{}}],["quot;kubernet",{"_index":2532,"title":{},"content":{"261":{"position":[[20,17]]}},"keywords":{}}],["quot;label",{"_index":4626,"title":{},"content":{"589":{"position":[[393,11],[456,11]]},"590":{"position":[[165,11]]}},"keywords":{}}],["quot;label"",{"_index":4674,"title":{},"content":{"606":{"position":[[166,17]]}},"keywords":{}}],["quot;label1"",{"_index":4811,"title":{},"content":{"647":{"position":[[386,18]]}},"keywords":{}}],["quot;label2"",{"_index":4813,"title":{},"content":{"647":{"position":[[429,18]]}},"keywords":{}}],["quot;left",{"_index":4000,"title":{},"content":{"421":{"position":[[220,10],[325,10]]}},"keywords":{}}],["quot;length",{"_index":3634,"title":{},"content":{"379":{"position":[[680,12],[3048,12]]}},"keywords":{}}],["quot;limit",{"_index":2638,"title":{},"content":{"279":{"position":[[8202,12]]}},"keywords":{}}],["quot;limits"=>",{"_index":5159,"title":{},"content":{"690":{"position":[[1095,26]]}},"keywords":{}}],["quot;limits_groups"=>",{"_index":5473,"title":{},"content":{"747":{"position":[[938,33]]}},"keywords":{}}],["quot;loc",{"_index":5679,"title":{},"content":{"787":{"position":[[986,11],[1269,11]]}},"keywords":{}}],["quot;local"",{"_index":5675,"title":{},"content":{"786":{"position":[[691,18],[963,18]]}},"keywords":{}}],["quot;localhost:9090"",{"_index":3367,"title":{},"content":{"364":{"position":[[571,28]]}},"keywords":{}}],["quot;location"",{"_index":4744,"title":{},"content":{"632":{"position":[[690,20]]}},"keywords":{}}],["quot;log"=>tru",{"_index":5499,"title":{},"content":{"750":{"position":[[720,25]]},"764":{"position":[[693,25]]}},"keywords":{}}],["quot;log_raw"=>fals",{"_index":5500,"title":{},"content":{"750":{"position":[[748,30]]},"764":{"position":[[721,30]]}},"keywords":{}}],["quot;math:#{result}"",{"_index":4474,"title":{},"content":{"551":{"position":[[1203,26]]}},"keywords":{}}],["quot;maximum"=>65535",{"_index":5153,"title":{},"content":{"690":{"position":[[770,30]]}},"keywords":{}}],["quot;mc_configuration"",{"_index":861,"title":{},"content":{"40":{"position":[[72,28]]}},"keywords":{}}],["quot;memori",{"_index":862,"title":{},"content":{"40":{"position":[[122,12]]}},"keywords":{}}],["quot;memory_scrubbing"",{"_index":879,"title":{},"content":{"40":{"position":[[785,28]]}},"keywords":{}}],["quot;message"=>"message"",{"_index":5447,"title":{},"content":{"744":{"position":[[818,46],[1248,46]]}},"keywords":{}}],["quot;method"",{"_index":1484,"title":{},"content":{"81":{"position":[[303,19]]},"82":{"position":[[6056,19]]},"83":{"position":[[2720,19]]},"91":{"position":[[1715,19],[2192,19]]},"92":{"position":[[1167,19],[1491,19]]},"93":{"position":[[707,19]]}},"keywords":{}}],["quot;microsecond",{"_index":2711,"title":{},"content":{"299":{"position":[[898,18]]}},"keywords":{}}],["quot;millisecond",{"_index":2708,"title":{},"content":{"299":{"position":[[824,18]]}},"keywords":{}}],["quot;minimum"=>0",{"_index":5152,"title":{},"content":{"690":{"position":[[743,26]]}},"keywords":{}}],["quot;more"",{"_index":2265,"title":{},"content":{"214":{"position":[[1251,16]]},"218":{"position":[[583,17]]}},"keywords":{}}],["quot;most",{"_index":2235,"title":{},"content":{"213":{"position":[[1177,10]]}},"keywords":{}}],["quot;mov",{"_index":4471,"title":{},"content":{"551":{"position":[[1096,11]]}},"keywords":{}}],["quot;mqtt",{"_index":1902,"title":{},"content":{"109":{"position":[[2301,10],[2619,10]]}},"keywords":{}}],["quot;name"",{"_index":3673,"title":{},"content":{"380":{"position":[[549,17],[712,17],[882,17]]}},"keywords":{}}],["quot;name"=>"ccsdsver"",{"_index":5121,"title":{},"content":{"687":{"position":[[619,44]]},"689":{"position":[[658,44]]},"705":{"position":[[528,44]]},"707":{"position":[[1055,44]]},"708":{"position":[[442,44]]}},"keywords":{}}],["quot;name"=>"inst"",{"_index":5457,"title":{},"content":{"747":{"position":[[254,40]]}},"keywords":{}}],["quot;name"=>"inst_int"",{"_index":5490,"title":{},"content":{"750":{"position":[[335,44]]}},"keywords":{}}],["quot;name"=>"router_int"",{"_index":5588,"title":{},"content":{"764":{"position":[[309,46]]}},"keywords":{}}],["quot;name"=>"temp1stat"",{"_index":5277,"title":{},"content":{"707":{"position":[[659,45]]}},"keywords":{}}],["quot;name"=>"temp1water"",{"_index":5281,"title":{},"content":{"707":{"position":[[847,45]]}},"keywords":{}}],["quot;name"=>"type"",{"_index":5146,"title":{},"content":{"690":{"position":[[483,39]]}},"keywords":{}}],["quot;netavark"",{"_index":2881,"title":{},"content":{"309":{"position":[[2357,20]]}},"keywords":{}}],["quot;network"",{"_index":1764,"title":{},"content":{"93":{"position":[[389,19]]}},"keywords":{}}],["quot;new",{"_index":3297,"title":{},"content":{"359":{"position":[[1312,9],[1553,9],[2571,9]]},"786":{"position":[[526,9],[798,9]]}},"keywords":{}}],["quot;new_limits_state"=>"red_low"",{"_index":5445,"title":{},"content":{"744":{"position":[[719,53]]}},"keywords":{}}],["quot;new_limits_state"=>"yellow_low"",{"_index":5449,"title":{},"content":{"744":{"position":[[1146,56]]}},"keywords":{}}],["quot;noop",{"_index":3650,"title":{},"content":{"379":{"position":[[1205,10]]}},"keywords":{}}],["quot;noop"",{"_index":728,"title":{},"content":{"36":{"position":[[3631,16],[3683,16],[3700,16]]},"229":{"position":[[3631,16],[3683,16],[3700,16]]},"279":{"position":[[2761,16],[2778,16]]}},"keywords":{}}],["quot;normal"",{"_index":1747,"title":{},"content":{"91":{"position":[[2105,21],[2358,21],[2642,21]]},"677":{"position":[[1505,19],[1624,18],[1875,18]]},"678":{"position":[[1703,19],[1920,20]]},"700":{"position":[[487,19],[617,20]]}},"keywords":{}}],["quot;not",{"_index":4669,"title":{},"content":{"604":{"position":[[228,11]]}},"keywords":{}}],["quot;numb",{"_index":250,"title":{},"content":{"7":{"position":[[304,12],[989,12]]},"40":{"position":[[700,12]]},"213":{"position":[[1116,12]]}},"keywords":{}}],["quot;old_limits_state"=>"red_low"",{"_index":5448,"title":{},"content":{"744":{"position":[[1090,53]]}},"keywords":{}}],["quot;old_limits_state"=>"yellow_low"",{"_index":5444,"title":{},"content":{"744":{"position":[[660,56]]}},"keywords":{}}],["quot;opcod",{"_index":2406,"title":{},"content":{"231":{"position":[[2130,12]]},"232":{"position":[[1970,12]]}},"keywords":{}}],["quot;openc3",{"_index":2317,"title":{},"content":{"217":{"position":[[1899,12]]},"358":{"position":[[1574,12]]},"364":{"position":[[718,13],[860,13],[1008,13]]},"380":{"position":[[567,12]]}},"keywords":{}}],["quot;openc3"",{"_index":925,"title":{},"content":{"42":{"position":[[938,18]]},"228":{"position":[[2158,18]]},"230":{"position":[[1895,18]]},"358":{"position":[[3093,18],[4514,19]]},"359":{"position":[[1693,18]]}},"keywords":{}}],["quot;openc3.sh",{"_index":2755,"title":{},"content":{"301":{"position":[[1295,15]]}},"keywords":{}}],["quot;openc3_openc3",{"_index":3681,"title":{},"content":{"380":{"position":[[900,19]]}},"keywords":{}}],["quot;oper",{"_index":2647,"title":{},"content":{"279":{"position":[[9542,17],[9929,17]]}},"keywords":{}}],["quot;options"",{"_index":1652,"title":{},"content":{"83":{"position":[[2798,20]]}},"keywords":{}}],["quot;options"=>",{"_index":5497,"title":{},"content":{"750":{"position":[[658,27]]},"764":{"position":[[631,27]]}},"keywords":{}}],["quot;output",{"_index":2349,"title":{},"content":{"219":{"position":[[1057,12]]}},"keywords":{}}],["quot;overflow"=>"error"",{"_index":5155,"title":{},"content":{"690":{"position":[[883,43]]},"708":{"position":[[777,43]]}},"keywords":{}}],["quot;packet",{"_index":2625,"title":{},"content":{"278":{"position":[[1086,12]]},"280":{"position":[[881,12]]},"281":{"position":[[1185,12]]},"282":{"position":[[857,12]]},"358":{"position":[[2768,12],[3286,12]]},"359":{"position":[[1366,12]]},"379":{"position":[[1310,12],[1540,12],[1842,12],[2072,12],[2342,12],[2572,12],[2959,12]]},"765":{"position":[[743,13]]}},"keywords":{}}],["quot;packet"",{"_index":1460,"title":{},"content":{"77":{"position":[[849,19]]},"402":{"position":[[6248,19],[6403,19]]}},"keywords":{}}],["quot;packet_name"=>"abort"",{"_index":5116,"title":{},"content":{"687":{"position":[[416,46]]},"689":{"position":[[455,46]]}},"keywords":{}}],["quot;packet_name"=>"adcs"",{"_index":5262,"title":{},"content":{"705":{"position":[[302,45]]}},"keywords":{}}],["quot;packet_name"=>"collect"",{"_index":5097,"title":{},"content":{"685":{"position":[[757,48]]},"691":{"position":[[646,48]]}},"keywords":{}}],["quot;packet_name"=>"health_status"",{"_index":5274,"title":{},"content":{"707":{"position":[[408,54]]},"714":{"position":[[392,54],[610,54],[834,54],[1070,54]]}},"keywords":{}}],["quot;packet_name"=>"pkt"",{"_index":5442,"title":{},"content":{"744":{"position":[[567,44],[997,44]]}},"keywords":{}}],["quot;packetname"",{"_index":5815,"title":{},"content":{"814":{"position":[[568,23]]}},"keywords":{}}],["quot;pad"",{"_index":893,"title":{},"content":{"40":{"position":[[1436,15]]}},"keywords":{}}],["quot;param",{"_index":5047,"title":{},"content":{"677":{"position":[[273,11],[329,11],[638,12],[690,11]]},"678":{"position":[[465,11],[521,11],[860,12],[912,11]]},"679":{"position":[[478,11],[534,11],[881,12],[933,11]]},"680":{"position":[[529,11],[585,11],[914,12],[966,11]]}},"keywords":{}}],["quot;paramet",{"_index":4843,"title":{},"content":{"654":{"position":[[699,15]]}},"keywords":{}}],["quot;params"",{"_index":1486,"title":{},"content":{"81":{"position":[[340,19]]},"82":{"position":[[6093,19]]},"91":{"position":[[1752,19],[2229,19]]},"92":{"position":[[1204,19],[1528,19]]},"93":{"position":[[744,19]]},"711":{"position":[[601,19],[711,19]]}},"keywords":{}}],["quot;params"=>["temp1"",{"_index":5279,"title":{},"content":{"707":{"position":[[772,42],[959,42]]}},"keywords":{}}],["quot;password"",{"_index":2198,"title":{},"content":{"209":{"position":[[109,21]]}},"keywords":{}}],["quot;pause/retry"",{"_index":4849,"title":{},"content":{"658":{"position":[[434,24]]}},"keywords":{}}],["quot;payload"",{"_index":1767,"title":{},"content":{"93":{"position":[[524,19]]}},"keywords":{}}],["quot;person",{"_index":4045,"title":{},"content":{"425":{"position":[[76,15]]}},"keywords":{}}],["quot;pktid"",{"_index":5468,"title":{},"content":{"747":{"position":[[596,19]]}},"keywords":{}}],["quot;plugin"=>nil",{"_index":5481,"title":{},"content":{"747":{"position":[[1280,27]]},"750":{"position":[[781,27]]},"764":{"position":[[754,27]]}},"keywords":{}}],["quot;post"",{"_index":1643,"title":{},"content":{"83":{"position":[[2573,16]]}},"keywords":{}}],["quot;pow",{"_index":2350,"title":{},"content":{"219":{"position":[[1297,11]]}},"keywords":{}}],["quot;process",{"_index":3654,"title":{},"content":{"379":{"position":[[2255,13]]}},"keywords":{}}],["quot;processors"=>",{"_index":5276,"title":{},"content":{"707":{"position":[[629,27]]}},"keywords":{}}],["quot;protocols"=>",{"_index":5498,"title":{},"content":{"750":{"position":[[688,29]]},"764":{"position":[[661,29]]}},"keywords":{}}],["quot;push"",{"_index":4636,"title":{},"content":{"592":{"position":[[691,16]]}},"keywords":{}}],["quot;pypi_url"",{"_index":5745,"title":{},"content":{"807":{"position":[[157,22]]}},"keywords":{}}],["quot;pypi_url"=>{"name"=>"pypi_url"",{"_index":5757,"title":{},"content":{"808":{"position":[[290,68]]}},"keywords":{}}],["quot;python",{"_index":2620,"title":{},"content":{"275":{"position":[[1462,12]]}},"keywords":{}}],["quot;raspberri",{"_index":3946,"title":{},"content":{"404":{"position":[[778,15],[820,15]]}},"keywords":{}}],["quot;raw"",{"_index":5186,"title":{},"content":{"693":{"position":[[866,16]]}},"keywords":{}}],["quot;raw__tlm__inst__adcs"",{"_index":3900,"title":{},"content":{"402":{"position":[[3410,34]]}},"keywords":{}}],["quot;received_count"",{"_index":5470,"title":{},"content":{"747":{"position":[[833,27]]}},"keywords":{}}],["quot;received_count"=>"20"",{"_index":5169,"title":{},"content":{"691":{"position":[[695,46]]}},"keywords":{}}],["quot;received_count"=>"3"",{"_index":5098,"title":{},"content":{"685":{"position":[[806,45]]}},"keywords":{}}],["quot;received_time"=>"1696437370872305961"",{"_index":5095,"title":{},"content":{"685":{"position":[[648,62]]}},"keywords":{}}],["quot;received_time"=>"1697298846752053420"",{"_index":5168,"title":{},"content":{"691":{"position":[[535,62]]}},"keywords":{}}],["quot;received_timeformatted"",{"_index":5472,"title":{},"content":{"747":{"position":[[899,36]]}},"keywords":{}}],["quot;received_timeseconds"",{"_index":5471,"title":{},"content":{"747":{"position":[[863,33]]}},"keywords":{}}],["quot;reconnect_delay"=>5.0",{"_index":5495,"title":{},"content":{"750":{"position":[[575,36]]},"764":{"position":[[548,36]]}},"keywords":{}}],["quot;requir",{"_index":334,"title":{},"content":{"12":{"position":[[255,13],[452,13]]}},"keywords":{}}],["quot;required"=>fals",{"_index":5289,"title":{},"content":{"708":{"position":[[743,31]]}},"keywords":{}}],["quot;required"=>tru",{"_index":5154,"title":{},"content":{"690":{"position":[[852,30]]}},"keywords":{}}],["quot;requires"=>",{"_index":5459,"title":{},"content":{"747":{"position":[[345,28]]}},"keywords":{}}],["quot;reserve"",{"_index":4138,"title":{},"content":{"454":{"position":[[132,19]]}},"keywords":{}}],["quot;reset",{"_index":2338,"title":{},"content":{"219":{"position":[[512,11]]},"379":{"position":[[1748,11]]}},"keywords":{}}],["quot;response"",{"_index":2313,"title":{},"content":{"217":{"position":[[1663,20]]}},"keywords":{}}],["quot;result"",{"_index":1741,"title":{},"content":{"91":{"position":[[1976,19],[2513,19]]},"92":{"position":[[1397,19],[1747,19]]}},"keywords":{}}],["quot;result"=>"success"",{"_index":5093,"title":{},"content":{"685":{"position":[[550,43]]}},"keywords":{}}],["quot;right",{"_index":4003,"title":{},"content":{"421":{"position":[[409,11]]}},"keywords":{}}],["quot;rout",{"_index":5595,"title":{},"content":{"765":{"position":[[479,13]]}},"keywords":{}}],["quot;rubi",{"_index":2615,"title":{},"content":{"275":{"position":[[1309,10]]}},"keywords":{}}],["quot;rubygems_url"",{"_index":5746,"title":{},"content":{"807":{"position":[[180,25]]}},"keywords":{}}],["quot;rubygems_url"=>{"name"=>"rubygems_url"",{"_index":5760,"title":{},"content":{"808":{"position":[[468,76]]}},"keywords":{}}],["quot;run",{"_index":4572,"title":{},"content":{"569":{"position":[[1093,9]]}},"keywords":{}}],["quot;runscript('inst/procedures/'+script",{"_index":4779,"title":{},"content":{"637":{"position":[[2266,42]]}},"keywords":{}}],["quot;rxbytes"=>0",{"_index":5507,"title":{},"content":{"750":{"position":[[1022,26]]},"764":{"position":[[995,26]]}},"keywords":{}}],["quot;rxcnt"=>0",{"_index":5509,"title":{},"content":{"750":{"position":[[1078,24]]},"764":{"position":[[1051,24]]}},"keywords":{}}],["quot;rxsize"=>0",{"_index":5505,"title":{},"content":{"750":{"position":[[965,25]]},"764":{"position":[[938,25]]}},"keywords":{}}],["quot;sat",{"_index":4741,"title":{},"content":{"632":{"position":[[461,9]]}},"keywords":{}}],["quot;satellite.png"",{"_index":4818,"title":{},"content":{"649":{"position":[[374,25]]}},"keywords":{}}],["quot;save"",{"_index":3964,"title":{},"content":{"404":{"position":[[1491,16]]}},"keywords":{}}],["quot;scope"",{"_index":1490,"title":{},"content":{"81":{"position":[[428,19]]},"82":{"position":[[6181,19]]}},"keywords":{}}],["quot;screen"",{"_index":4642,"title":{},"content":{"594":{"position":[[399,18]]},"595":{"position":[[378,18]]},"596":{"position":[[249,18]]},"597":{"position":[[341,18]]}},"keywords":{}}],["quot;screen.getnamedwidget('duration').text()"",{"_index":4637,"title":{},"content":{"592":{"position":[[708,52]]}},"keywords":{}}],["quot;screen.getnamedwidget('group').select",{"_index":4796,"title":{},"content":{"642":{"position":[[450,47]]},"654":{"position":[[961,47]]}},"keywords":{}}],["quot;screens"",{"_index":3209,"title":{},"content":{"351":{"position":[[74,19]]}},"keywords":{}}],["quot;script",{"_index":4298,"title":{},"content":{"533":{"position":[[480,12]]}},"keywords":{}}],["quot;script_1",{"_index":4524,"title":{},"content":{"561":{"position":[[538,14]]}},"keywords":{}}],["quot;scripts"",{"_index":2957,"title":{},"content":{"320":{"position":[[847,20]]}},"keywords":{}}],["quot;scrub_region_1_end_addr"",{"_index":866,"title":{},"content":{"40":{"position":[[296,35]]}},"keywords":{}}],["quot;scrub_region_1_start_addr"",{"_index":864,"title":{},"content":{"40":{"position":[[186,37]]}},"keywords":{}}],["quot;scrub_region_2_end_addr"",{"_index":870,"title":{},"content":{"40":{"position":[[522,35]]}},"keywords":{}}],["quot;scrub_region_2_start_addr"",{"_index":868,"title":{},"content":{"40":{"position":[[413,37]]}},"keywords":{}}],["quot;search",{"_index":2283,"title":{},"content":{"216":{"position":[[301,12]]},"217":{"position":[[1353,14],[2483,12]]}},"keywords":{}}],["quot;second.rules"",{"_index":3363,"title":{},"content":{"364":{"position":[[480,24]]}},"keywords":{}}],["quot;secure"",{"_index":3052,"title":{},"content":{"332":{"position":[[710,18]]}},"keywords":{}}],["quot;self",{"_index":3050,"title":{},"content":{"332":{"position":[[682,10]]}},"keywords":{}}],["quot;send",{"_index":4836,"title":{},"content":{"654":{"position":[[262,10]]}},"keywords":{}}],["quot;set",{"_index":2343,"title":{},"content":{"219":{"position":[[713,10]]},"253":{"position":[[1744,9],[2461,13]]}},"keywords":{}}],["quot;setup"",{"_index":4296,"title":{},"content":{"533":{"position":[[440,17]]}},"keywords":{}}],["quot;show",{"_index":3135,"title":{},"content":{"348":{"position":[[1751,10]]}},"keywords":{}}],["quot;sioc_memory_config"",{"_index":880,"title":{},"content":{"40":{"position":[[875,30]]}},"keywords":{}}],["quot;skdfjgodkdfjdfoekfsg"",{"_index":3920,"title":{},"content":{"402":{"position":[[6332,32]]}},"keywords":{}}],["quot;skip",{"_index":4518,"title":{},"content":{"560":{"position":[[698,14]]}},"keywords":{}}],["quot;smith"perform_setup_oper",{"_index":4344,"title":{},"content":{"540":{"position":[[1473,42]]}},"keywords":{}}],["quot;snooz",{"_index":4010,"title":{},"content":{"422":{"position":[[1427,12]]}},"keywords":{}}],["quot;source_url"",{"_index":5747,"title":{},"content":{"807":{"position":[[206,23]]}},"keywords":{}}],["quot;source_url"=>{"name"=>"source_url"",{"_index":5763,"title":{},"content":{"808":{"position":[[651,72]]}},"keywords":{}}],["quot;spac",{"_index":4676,"title":{},"content":{"607":{"position":[[196,12],[240,12]]}},"keywords":{}}],["quot;spares"",{"_index":3662,"title":{},"content":{"379":{"position":[[3296,18],[3488,18]]}},"keywords":{}}],["quot;special"",{"_index":5064,"title":{},"content":{"680":{"position":[[1748,20],[1957,21]]}},"keywords":{}}],["quot;special"=>{"value"=>1",{"_index":5157,"title":{},"content":{"690":{"position":[[1003,49]]}},"keywords":{}}],["quot;ssl"",{"_index":3049,"title":{},"content":{"332":{"position":[[665,16]]}},"keywords":{}}],["quot;stale"=>tru",{"_index":5265,"title":{},"content":{"705":{"position":[[473,27]]},"707":{"position":[[599,27]]}},"keywords":{}}],["quot;start",{"_index":1660,"title":{},"content":{"83":{"position":[[3052,14]]},"213":{"position":[[535,12]]},"226":{"position":[[560,11]]}},"keywords":{}}],["quot;start"",{"_index":1649,"title":{},"content":{"83":{"position":[[2740,18]]}},"keywords":{}}],["quot;start/go"",{"_index":4848,"title":{},"content":{"658":{"position":[[412,21]]}},"keywords":{}}],["quot;state"",{"_index":4009,"title":{},"content":{"422":{"position":[[1374,17]]}},"keywords":{}}],["quot;state"=>"connected"",{"_index":5502,"title":{},"content":{"750":{"position":[[861,44]]},"764":{"position":[[834,44]]}},"keywords":{}}],["quot;states"=>{"normal"=>{"value"=>0",{"_index":5156,"title":{},"content":{"690":{"position":[[929,73]]}},"keywords":{}}],["quot;status"",{"_index":1326,"title":{},"content":{"64":{"position":[[911,18]]}},"keywords":{}}],["quot;stop"",{"_index":1376,"title":{},"content":{"67":{"position":[[1871,16]]},"73":{"position":[[1194,18],[1296,18]]},"658":{"position":[[463,17]]}},"keywords":{}}],["quot;stored"=>"false"",{"_index":5170,"title":{},"content":{"691":{"position":[[742,41]]}},"keywords":{}}],["quot;str",{"_index":729,"title":{},"content":{"36":{"position":[[3648,12]]},"214":{"position":[[944,12],[2160,12]]},"218":{"position":[[1146,12],[1938,12]]},"220":{"position":[[1277,12],[2509,12]]},"229":{"position":[[3648,12]]}},"keywords":{}}],["quot;stream",{"_index":3627,"title":{},"content":{"379":{"position":[[466,12],[2875,12]]}},"keywords":{}}],["quot;streamingchannel"",{"_index":3867,"title":{},"content":{"402":{"position":[[1277,29]]}},"keywords":{}}],["quot;string"",{"_index":2630,"title":{},"content":{"279":{"position":[[2736,18]]}},"keywords":{}}],["quot;struct",{"_index":2420,"title":{},"content":{"240":{"position":[[397,12]]},"287":{"position":[[406,12]]},"321":{"position":[[1184,12],[1227,12],[1269,12]]}},"keywords":{}}],["quot;suit",{"_index":4313,"title":{},"content":{"534":{"position":[[224,11],[270,11]]}},"keywords":{}}],["quot;suite"",{"_index":1650,"title":{},"content":{"83":{"position":[[2759,18]]}},"keywords":{}}],["quot;suiterunner"",{"_index":1648,"title":{},"content":{"83":{"position":[[2693,24]]}},"keywords":{}}],["quot;sync",{"_index":2394,"title":{},"content":{"228":{"position":[[2007,10]]},"230":{"position":[[1795,10]]}},"keywords":{}}],["quot;tab",{"_index":4664,"title":{},"content":{"601":{"position":[[164,9],[238,9]]}},"keywords":{}}],["quot;target",{"_index":5485,"title":{},"content":{"748":{"position":[[276,13]]}},"keywords":{}}],["quot;target_nam",{"_index":1718,"title":{},"content":{"91":{"position":[[538,17]]},"92":{"position":[[522,17]]}},"keywords":{}}],["quot;target_name"=>"inst"",{"_index":5096,"title":{},"content":{"685":{"position":[[711,45]]},"687":{"position":[[366,47]]},"689":{"position":[[405,47]]},"691":{"position":[[600,45]]},"705":{"position":[[251,48]]},"707":{"position":[[358,47]]},"714":{"position":[[345,46],[563,46],[787,46],[1023,46]]}},"keywords":{}}],["quot;target_name"=>"tgt"",{"_index":5441,"title":{},"content":{"744":{"position":[[520,44],[950,44]]}},"keywords":{}}],["quot;target_names"=>["inst"",{"_index":5492,"title":{},"content":{"750":{"position":[[442,48]]},"764":{"position":[[415,48]]}},"keywords":{}}],["quot;targetname"",{"_index":5814,"title":{},"content":{"814":{"position":[[524,23]]}},"keywords":{}}],["quot;teardown"",{"_index":4299,"title":{},"content":{"533":{"position":[[523,20]]}},"keywords":{}}],["quot;telemetri",{"_index":2793,"title":{},"content":{"304":{"position":[[936,15]]},"305":{"position":[[1153,15]]},"358":{"position":[[4767,15],[5188,15]]}},"keywords":{}}],["quot;telemetry_grapher"",{"_index":5799,"title":{},"content":{"812":{"position":[[165,31]]}},"keywords":{}}],["quot;temp"",{"_index":1745,"title":{},"content":{"91":{"position":[[2064,17],[2317,17],[2601,17]]},"693":{"position":[[722,17],[848,17]]}},"keywords":{}}],["quot;temp1"",{"_index":1758,"title":{},"content":{"92":{"position":[[1594,19]]}},"keywords":{}}],["quot;temperatur",{"_index":4700,"title":{},"content":{"615":{"position":[[605,17]]}},"keywords":{}}],["quot;test"",{"_index":1901,"title":{},"content":{"109":{"position":[[2202,16],[2528,16]]},"594":{"position":[[376,16]]},"595":{"position":[[355,16]]},"596":{"position":[[226,16]]},"597":{"position":[[318,16]]},"665":{"position":[[793,17],[1057,17]]}},"keywords":{}}],["quot;text/html"",{"_index":2322,"title":{},"content":{"217":{"position":[[2150,21]]}},"keywords":{}}],["quot;tgt",{"_index":2450,"title":{},"content":{"251":{"position":[[1131,9],[1908,9]]}},"keywords":{}}],["quot;th",{"_index":2401,"title":{},"content":{"228":{"position":[[2177,9]]},"230":{"position":[[1914,9]]},"265":{"position":[[16,9]]},"304":{"position":[[1243,9]]},"305":{"position":[[1521,9]]},"358":{"position":[[3112,9],[5037,9]]},"359":{"position":[[1712,9]]}},"keywords":{}}],["quot;thi",{"_index":679,"title":{},"content":{"36":{"position":[[1004,10]]},"229":{"position":[[1004,10]]},"279":{"position":[[999,10]]},"583":{"position":[[207,10],[257,10]]},"584":{"position":[[211,10],[285,10]]},"585":{"position":[[207,10],[263,10],[337,10]]},"586":{"position":[[209,10],[265,10],[340,10]]},"587":{"position":[[377,10],[432,10]]},"588":{"position":[[371,10],[426,10]]},"670":{"position":[[542,10],[871,10]]}},"keywords":{}}],["quot;time"",{"_index":3909,"title":{},"content":{"402":{"position":[[5642,17],[5768,17],[6215,17],[6370,17]]}},"keywords":{}}],["quot;time"=>"1696437370872305961"",{"_index":5094,"title":{},"content":{"685":{"position":[[594,53]]}},"keywords":{}}],["quot;time"=>"1697298846752053420"",{"_index":5167,"title":{},"content":{"691":{"position":[[480,54]]}},"keywords":{}}],["quot;time_nsec"=>"1"",{"_index":5446,"title":{},"content":{"744":{"position":[[775,40]]}},"keywords":{}}],["quot;time_nsec"=>"2"",{"_index":5450,"title":{},"content":{"744":{"position":[[1205,40]]}},"keywords":{}}],["quot;title"",{"_index":4673,"title":{},"content":{"606":{"position":[[127,17]]}},"keywords":{}}],["quot;tlm"",{"_index":1485,"title":{},"content":{"81":{"position":[[323,16]]},"82":{"position":[[6076,16]]},"92":{"position":[[1187,16],[1511,16]]},"93":{"position":[[727,16]]}},"keywords":{}}],["quot;tlm.txt"",{"_index":367,"title":{},"content":{"16":{"position":[[479,20]]}},"keywords":{}}],["quot;tlm__inst__adcs__q1__raw"",{"_index":3911,"title":{},"content":{"402":{"position":[[5675,37],[5801,37]]}},"keywords":{}}],["quot;tlm__inst__adcs__q2__raw"",{"_index":3913,"title":{},"content":{"402":{"position":[[5719,37],[5845,37]]}},"keywords":{}}],["quot;tlm_unique_id_mode"=>fals",{"_index":5478,"title":{},"content":{"747":{"position":[[1160,41]]}},"keywords":{}}],["quot;to",{"_index":5014,"title":{},"content":{"671":{"position":[[452,8]]}},"keywords":{}}],["quot;transmit",{"_index":5540,"title":{},"content":{"756":{"position":[[621,14]]},"765":{"position":[[597,14]]}},"keywords":{}}],["quot;tvac"=>",{"_index":5405,"title":{},"content":{"740":{"position":[[498,22]]}},"keywords":{}}],["quot;txbytes"=>0",{"_index":5506,"title":{},"content":{"750":{"position":[[993,26]]},"764":{"position":[[966,26]]}},"keywords":{}}],["quot;txcnt"=>0",{"_index":5508,"title":{},"content":{"750":{"position":[[1051,24]]},"764":{"position":[[1024,24]]}},"keywords":{}}],["quot;txsize"=>0",{"_index":5504,"title":{},"content":{"750":{"position":[[937,25]]},"764":{"position":[[910,25]]}},"keywords":{}}],["quot;typ",{"_index":4838,"title":{},"content":{"654":{"position":[[313,11]]}},"keywords":{}}],["quot;type"",{"_index":1746,"title":{},"content":{"91":{"position":[[2087,17],[2340,17],[2624,17]]},"677":{"position":[[1482,16],[1601,16],[1857,17]]},"678":{"position":[[1680,16],[1902,17]]},"680":{"position":[[1725,16],[1939,17]]},"681":{"position":[[1507,16],[1685,17]]},"682":{"position":[[1754,16],[1962,17]]},"684":{"position":[[1798,16],[1996,17]]},"700":{"position":[[464,16],[598,18]]}},"keywords":{}}],["quot;type"=>"limits_change"",{"_index":5440,"title":{},"content":{"744":{"position":[[469,48],[899,48],[1451,48]]}},"keywords":{}}],["quot;unedit",{"_index":885,"title":{},"content":{"40":{"position":[[991,16],[1127,16],[1262,16]]}},"keywords":{}}],["quot;uneditable_check"",{"_index":888,"title":{},"content":{"40":{"position":[[1215,28]]}},"keywords":{}}],["quot;uneditable_state"",{"_index":887,"title":{},"content":{"40":{"position":[[1080,28]]}},"keywords":{}}],["quot;uneditable_text"",{"_index":881,"title":{},"content":{"40":{"position":[[936,27]]}},"keywords":{}}],["quot;unless",{"_index":519,"title":{},"content":{"23":{"position":[[293,12]]}},"keywords":{}}],["quot;updated"",{"_index":4147,"title":{},"content":{"455":{"position":[[798,20]]}},"keywords":{}}],["quot;updated_at"=>1613076213535979900",{"_index":5501,"title":{},"content":{"750":{"position":[[811,47]]},"764":{"position":[[784,47]]}},"keywords":{}}],["quot;updated_at"=>1613077058266815900",{"_index":5480,"title":{},"content":{"747":{"position":[[1230,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776573904132",{"_index":5765,"title":{},"content":{"808":{"position":[[791,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776574105465",{"_index":5762,"title":{},"content":{"808":{"position":[[600,48]]}},"keywords":{}}],["quot;updated_at"=>1698026776574347007",{"_index":5759,"title":{},"content":{"808":{"position":[[417,48]]}},"keywords":{}}],["quot;updated_at"=>1698074299509456507",{"_index":5756,"title":{},"content":{"808":{"position":[[239,48]]}},"keywords":{}}],["quot;upload"",{"_index":4223,"title":{},"content":{"498":{"position":[[972,19]]}},"keywords":{}}],["quot;us",{"_index":4505,"title":{},"content":{"559":{"position":[[547,10]]}},"keywords":{}}],["quot;valu",{"_index":215,"title":{},"content":{"6":{"position":[[401,11],[845,11],[900,11],[955,11],[1010,11],[1065,11]]}},"keywords":{}}],["quot;value"",{"_index":2796,"title":{},"content":{"304":{"position":[[1090,17]]},"305":{"position":[[1307,17]]},"358":{"position":[[2957,17],[4921,17]]}},"keywords":{}}],["quot;value"=>"5"",{"_index":5318,"title":{},"content":{"714":{"position":[[984,36],[1221,36]]}},"keywords":{}}],["quot;value"=>5",{"_index":5315,"title":{},"content":{"714":{"position":[[536,24],[760,24]]}},"keywords":{}}],["quot;value_type"=>"converted"",{"_index":5316,"title":{},"content":{"714":{"position":[[710,49]]}},"keywords":{}}],["quot;value_type"=>"formatted"",{"_index":5317,"title":{},"content":{"714":{"position":[[934,49]]}},"keywords":{}}],["quot;value_type"=>"raw"",{"_index":5314,"title":{},"content":{"714":{"position":[[492,43]]}},"keywords":{}}],["quot;value_type"=>"with_units"",{"_index":5319,"title":{},"content":{"714":{"position":[[1170,50]]}},"keywords":{}}],["quot;var",{"_index":4775,"title":{},"content":{"637":{"position":[[2077,9],[2216,9]]}},"keywords":{}}],["quot;verifi",{"_index":4451,"title":{},"content":{"550":{"position":[[349,14],[460,14]]},"561":{"position":[[427,14]]}},"keywords":{}}],["quot;version"",{"_index":5748,"title":{},"content":{"807":{"position":[[230,20]]}},"keywords":{}}],["quot;version"=>{"name"=>"version"",{"_index":5753,"title":{},"content":{"808":{"position":[[125,66]]}},"keywords":{}}],["quot;volt",{"_index":2347,"title":{},"content":{"219":{"position":[[878,10]]}},"keywords":{}}],["quot;voltag",{"_index":1329,"title":{},"content":{"64":{"position":[[1059,13],[1171,13]]},"219":{"position":[[977,13]]}},"keywords":{}}],["quot;vu",{"_index":2543,"title":{},"content":{"263":{"position":[[101,9]]},"320":{"position":[[889,9]]}},"keywords":{}}],["quot;warn",{"_index":738,"title":{},"content":{"36":{"position":[[3909,14]]},"229":{"position":[[3909,14]]}},"keywords":{}}],["quot;wins"",{"_index":2687,"title":{},"content":{"297":{"position":[[514,17]]}},"keywords":{}}],["quot;with",{"_index":1724,"title":{},"content":{"91":{"position":[[660,10]]}},"keywords":{}}],["quot;xml",{"_index":2357,"title":{},"content":{"220":{"position":[[375,9],[1543,9]]}},"keywords":{}}],["quot;yes"",{"_index":3966,"title":{},"content":{"404":{"position":[[1543,15]]}},"keywords":{}}],["quot;you",{"_index":1665,"title":{},"content":{"83":{"position":[[3156,9]]}},"keywords":{}}],["quot;|"",{"_index":2371,"title":{},"content":{"221":{"position":[[155,13]]}},"keywords":{}}],["r",{"_index":2217,"title":{},"content":{"211":{"position":[[105,1],[174,1]]},"376":{"position":[[526,1]]}},"keywords":{}}],["r)"",{"_index":1684,"title":{},"content":{"83":{"position":[[3767,8],[3945,8]]}},"keywords":{}}],["race",{"_index":4604,"title":{},"content":{"579":{"position":[[322,4]]}},"keywords":{}}],["radio",{"_index":4795,"title":{},"content":{"641":{"position":[[162,5]]},"642":{"position":[[12,5],[283,5]]}},"keywords":{}}],["radiobutton",{"_index":4793,"title":{"642":{"position":[[0,12]]}},"content":{"641":{"position":[[20,12],[34,12]]},"642":{"position":[[206,12],[392,11],[412,11]]},"654":{"position":[[810,11],[830,11]]}},"keywords":{}}],["radiogroup",{"_index":4792,"title":{"641":{"position":[[0,11]]}},"content":{"642":{"position":[[155,10],[337,10]]},"654":{"position":[[755,10]]}},"keywords":{}}],["radiu",{"_index":4712,"title":{},"content":{"622":{"position":[[308,6],[315,6]]},"653":{"position":[[164,6],[171,6]]}},"keywords":{}}],["rail",{"_index":975,"title":{"269":{"position":[[8,6]]}},"content":{"42":{"position":[[2179,5]]},"44":{"position":[[1333,5],[1364,5]]},"258":{"position":[[1001,5],[1098,5],[1649,5]]},"269":{"position":[[66,6],[73,5],[164,5]]},"402":{"position":[[461,5]]}},"keywords":{}}],["rails_env=develop",{"_index":974,"title":{},"content":{"42":{"position":[[2116,21]]}},"keywords":{}}],["rails…"",{"_index":983,"title":{},"content":{"42":{"position":[[2434,12],[2562,12]]}},"keywords":{}}],["rais",{"_index":1213,"title":{},"content":{"54":{"position":[[1538,5],[1555,5]]},"57":{"position":[[1184,5]]},"61":{"position":[[2706,5],[2734,5]]},"64":{"position":[[318,5],[346,5]]},"552":{"position":[[2318,5],[2466,5],[2601,5],[2669,6]]},"559":{"position":[[541,5],[828,5]]},"566":{"position":[[270,6]]},"700":{"position":[[50,7],[81,5],[117,7]]}},"keywords":{}}],["rake",{"_index":2211,"title":{},"content":{"210":{"position":[[68,4]]},"301":{"position":[[1315,4]]},"326":{"position":[[561,4]]},"359":{"position":[[95,4],[1909,4]]},"379":{"position":[[3610,4]]},"385":{"position":[[309,4]]}},"keywords":{}}],["rake.if",{"_index":3721,"title":{},"content":{"386":{"position":[[361,7]]}},"keywords":{}}],["rakefil",{"_index":2754,"title":{},"content":{"301":{"position":[[1219,8],[1233,8]]},"320":{"position":[[674,8]]}},"keywords":{}}],["ram",{"_index":3009,"title":{},"content":{"330":{"position":[[370,4],[440,4]]},"367":{"position":[[244,3],[333,4],[389,3],[570,3],[614,5],[626,3],[1028,3]]},"369":{"position":[[866,3],[3479,3]]}},"keywords":{}}],["ram)a",{"_index":3926,"title":{},"content":{"404":{"position":[[245,5]]}},"keywords":{}}],["ramwindow",{"_index":3431,"title":{},"content":{"369":{"position":[[740,10],[2225,10]]}},"keywords":{}}],["random",{"_index":1144,"title":{},"content":{"50":{"position":[[363,12],[393,12]]},"59":{"position":[[160,9]]},"60":{"position":[[274,13],[331,10]]}},"keywords":{}}],["rang",{"_index":803,"title":{},"content":{"36":{"position":[[7010,5]]},"91":{"position":[[245,5],[443,5]]},"229":{"position":[[7010,5]]},"279":{"position":[[5611,5],[8657,5],[9652,5],[10039,5]]},"348":{"position":[[1402,5],[1431,5],[1490,5]]},"354":{"position":[[427,5]]},"446":{"position":[[152,5]]},"466":{"position":[[21,5]]},"468":{"position":[[324,5]]},"481":{"position":[[64,5]]},"565":{"position":[[273,6],[758,5],[1036,5]]},"568":{"position":[[531,5],[698,6]]},"613":{"position":[[310,5]]},"618":{"position":[[244,5],[383,5],[718,5],[771,5]]},"620":{"position":[[343,5],[396,5]]},"621":{"position":[[341,5],[394,5]]},"625":{"position":[[213,5],[352,5],[687,5],[740,5]]},"630":{"position":[[318,5]]},"631":{"position":[[19,5],[223,5],[362,5],[603,5],[656,5]]},"633":{"position":[[520,6],[689,5]]},"678":{"position":[[46,5]]},"680":{"position":[[60,5]]},"682":{"position":[[69,5]]},"684":{"position":[[83,5]]},"685":{"position":[[261,5]]},"742":{"position":[[123,7]]}},"keywords":{}}],["range(0,5000000",{"_index":4487,"title":{},"content":{"552":{"position":[[2493,17]]}},"keywords":{}}],["range(1",{"_index":4432,"title":{},"content":{"547":{"position":[[724,8]]}},"keywords":{}}],["range(1000",{"_index":5700,"title":{},"content":{"793":{"position":[[688,12]]}},"keywords":{}}],["range_check",{"_index":5087,"title":{},"content":{"685":{"position":[[71,12],[230,11]]}},"keywords":{}}],["range_check=tru",{"_index":5088,"title":{},"content":{"685":{"position":[[144,17]]}},"keywords":{}}],["rangebar",{"_index":4704,"title":{"631":{"position":[[0,9]]}},"content":{"618":{"position":[[59,8]]},"625":{"position":[[36,8]]},"631":{"position":[[704,8],[758,8]]}},"keywords":{}}],["rare",{"_index":1314,"title":{},"content":{"62":{"position":[[252,6]]},"432":{"position":[[1014,4]]}},"keywords":{}}],["raspberri",{"_index":24,"title":{"403":{"position":[[0,9]]},"404":{"position":[[18,9]]}},"content":{"1":{"position":[[247,9]]},"367":{"position":[[21,9]]},"404":{"position":[[5,9],[207,9],[470,9],[640,9],[715,9],[1658,9],[1747,9],[1779,9],[1851,9],[2714,9]]}},"keywords":{}}],["raspian",{"_index":3934,"title":{},"content":{"404":{"position":[[416,7]]}},"keywords":{}}],["rate",{"_index":1910,"title":{},"content":{"111":{"position":[[468,4],[478,4]]},"314":{"position":[[549,4]]},"338":{"position":[[585,4]]},"350":{"position":[[1076,5],[1129,5]]},"369":{"position":[[2350,4]]},"511":{"position":[[108,4],[251,4]]},"562":{"position":[[27,4]]},"722":{"position":[[789,4],[1192,4]]},"723":{"position":[[521,4],[959,4]]},"724":{"position":[[525,4],[745,4]]},"725":{"position":[[448,4],[626,4]]},"726":{"position":[[411,4],[804,4]]},"727":{"position":[[427,4],[855,4]]},"728":{"position":[[460,4],[670,4]]},"729":{"position":[[334,4],[598,4]]}},"keywords":{}}],["raw",{"_index":62,"title":{"590":{"position":[[0,4]]}},"content":{"2":{"position":[[579,4]]},"36":{"position":[[1369,3],[8110,3]]},"46":{"position":[[50,3]]},"48":{"position":[[460,3],[2042,3],[2113,3],[2894,3],[3184,3],[3329,3],[3795,3],[3822,3]]},"53":{"position":[[843,3]]},"54":{"position":[[1241,3]]},"55":{"position":[[2141,3]]},"56":{"position":[[1143,3]]},"60":{"position":[[646,3]]},"61":{"position":[[104,3],[2315,3]]},"62":{"position":[[433,3]]},"67":{"position":[[2036,3]]},"73":{"position":[[68,3]]},"83":{"position":[[2992,3]]},"92":{"position":[[207,3]]},"93":{"position":[[601,3]]},"115":{"position":[[1235,3],[1265,3],[1497,3],[1530,3],[1894,3],[2011,3]]},"117":{"position":[[336,3]]},"155":{"position":[[18,3],[109,3]]},"162":{"position":[[18,3],[111,3]]},"219":{"position":[[1361,3]]},"229":{"position":[[1369,3],[8110,3]]},"242":{"position":[[58,3],[127,3]]},"251":{"position":[[1034,5],[1046,3],[1802,5],[1814,3]]},"258":{"position":[[1277,3]]},"275":{"position":[[322,3],[374,3]]},"279":{"position":[[1364,3],[3318,3],[3430,3],[4689,3],[4801,3],[5382,3],[5494,3],[6505,3],[6617,3],[6770,3]]},"291":{"position":[[58,3],[127,3]]},"321":{"position":[[1549,3]]},"338":{"position":[[66,3],[309,3]]},"343":{"position":[[670,4]]},"346":{"position":[[670,3],[769,3],[962,3],[1079,3]]},"350":{"position":[[1484,5]]},"353":{"position":[[536,5]]},"367":{"position":[[736,3]]},"402":{"position":[[345,3],[3013,4],[3176,4],[3981,3],[4094,4],[4140,3],[4178,3],[5897,3]]},"408":{"position":[[112,3]]},"409":{"position":[[87,3]]},"410":{"position":[[81,3]]},"411":{"position":[[130,3]]},"490":{"position":[[136,3]]},"496":{"position":[[127,3],[210,3]]},"509":{"position":[[185,3],[274,3]]},"512":{"position":[[135,3]]},"514":{"position":[[247,3],[281,3]]},"515":{"position":[[268,3],[302,3]]},"590":{"position":[[9,3],[193,3]]},"609":{"position":[[507,4]]},"610":{"position":[[694,4]]},"611":{"position":[[679,4]]},"612":{"position":[[243,4]]},"613":{"position":[[491,4],[597,3]]},"614":{"position":[[264,4]]},"615":{"position":[[410,4],[638,3]]},"616":{"position":[[284,4]]},"617":{"position":[[287,4]]},"618":{"position":[[561,4],[872,3]]},"619":{"position":[[235,3],[551,4],[739,3]]},"620":{"position":[[280,4]]},"621":{"position":[[278,4]]},"622":{"position":[[264,4]]},"623":{"position":[[253,4]]},"624":{"position":[[256,4]]},"625":{"position":[[530,4],[836,3]]},"626":{"position":[[250,4],[977,4]]},"627":{"position":[[284,4],[1030,4]]},"628":{"position":[[268,4],[1002,4]]},"630":{"position":[[501,4]]},"631":{"position":[[540,4],[747,3]]},"633":{"position":[[296,4]]},"635":{"position":[[492,4]]},"648":{"position":[[525,4]]},"650":{"position":[[455,4]]},"652":{"position":[[683,4],[885,3]]},"659":{"position":[[160,3],[274,3],[372,3],[454,3],[666,3]]},"662":{"position":[[5112,5],[5185,5],[5266,5],[5359,5]]},"685":{"position":[[90,4],[309,3],[355,3]]},"686":{"position":[[7,3],[176,3],[194,3]]},"691":{"position":[[59,3]]},"693":{"position":[[564,4],[740,5]]},"697":{"position":[[1140,5]]},"698":{"position":[[704,3],[895,5]]},"701":{"position":[[468,4],[965,5]]},"702":{"position":[[59,3]]},"703":{"position":[[532,4]]},"710":{"position":[[594,4],[884,5],[949,5]]},"711":{"position":[[479,4]]},"712":{"position":[[483,4],[716,5],[729,3],[928,3]]},"713":{"position":[[301,4],[516,5],[539,3],[726,3]]},"714":{"position":[[1460,6]]},"722":{"position":[[1324,4],[1664,5]]},"723":{"position":[[1091,4],[1432,5]]},"726":{"position":[[936,4],[1182,5]]},"727":{"position":[[987,4],[1261,5]]},"754":{"position":[[19,3],[270,3],[347,3],[381,3]]},"755":{"position":[[18,3],[267,3],[344,3],[377,3]]},"766":{"position":[[19,3],[255,3],[329,3],[363,3]]},"767":{"position":[[18,3],[252,3],[326,3],[359,3]]}},"keywords":{}}],["raw').then(dur",{"_index":4760,"title":{},"content":{"637":{"position":[[1024,15]]}},"keywords":{}}],["raw/decom",{"_index":4158,"title":{},"content":{"462":{"position":[[375,9]]}},"keywords":{}}],["raw=fals",{"_index":5089,"title":{},"content":{"685":{"position":[[162,10]]}},"keywords":{}}],["raw_log",{"_index":3079,"title":{"338":{"position":[[13,9]]}},"content":{"338":{"position":[[20,8]]}},"keywords":{}}],["raw_valu",{"_index":5236,"title":{},"content":{"701":{"position":[[902,9],[1330,9]]}},"keywords":{}}],["rb",{"_index":5647,"title":{},"content":{"778":{"position":[[560,3]]}},"keywords":{}}],["rbc",{"_index":1804,"title":{},"content":{"96":{"position":[[579,3]]}},"keywords":{}}],["rc",{"_index":1655,"title":{},"content":{"83":{"position":[[2914,2]]},"333":{"position":[[223,2]]}},"keywords":{}}],["re",{"_index":1031,"title":{},"content":{"43":{"position":[[1232,2]]},"53":{"position":[[327,2]]},"359":{"position":[[2235,2]]},"464":{"position":[[281,2]]},"505":{"position":[[391,2]]},"522":{"position":[[728,2]]},"530":{"position":[[462,2]]},"552":{"position":[[1556,2]]},"559":{"position":[[394,2],[1391,2]]},"569":{"position":[[332,2]]},"658":{"position":[[684,2]]},"787":{"position":[[745,2]]}},"keywords":{}}],["reach",{"_index":2092,"title":{},"content":{"154":{"position":[[68,8]]},"157":{"position":[[75,8]]},"161":{"position":[[70,8]]},"164":{"position":[[77,8]]}},"keywords":{}}],["react",{"_index":2556,"title":{},"content":{"264":{"position":[[369,6]]},"307":{"position":[[252,6]]},"422":{"position":[[330,5]]}},"keywords":{}}],["reaction",{"_index":3994,"title":{"422":{"position":[[0,10]]}},"content":{"419":{"position":[[83,10],[159,9]]},"422":{"position":[[1,9],[120,9],[181,8],[316,8],[410,8],[437,8],[1099,8],[1124,8],[1250,8],[1293,8],[1356,8],[1479,8]]}},"keywords":{}}],["reactiv",{"_index":2952,"title":{},"content":{"320":{"position":[[371,8]]}},"keywords":{}}],["read",{"_index":75,"title":{},"content":{"2":{"position":[[725,7]]},"50":{"position":[[844,4],[968,5],[996,4]]},"52":{"position":[[729,4],[790,5],[804,4],[865,5]]},"53":{"position":[[27,5],[164,6],[623,8]]},"54":{"position":[[20,5],[189,4],[576,4],[1021,8]]},"55":{"position":[[119,5],[179,5],[1140,4],[1802,8],[3221,5]]},"56":{"position":[[123,5],[596,4],[734,4],[773,4],[927,8]]},"57":{"position":[[685,4],[777,4],[1003,4]]},"60":{"position":[[430,8]]},"61":{"position":[[786,4],[1409,4],[1626,4],[1705,4],[1817,5],[1906,4],[1945,4],[2099,8]]},"64":{"position":[[1073,7],[1185,7]]},"67":{"position":[[1642,4],[1691,4],[1919,5],[1990,4],[2064,4],[2255,4],[3204,4],[3451,4],[3580,5],[3670,4],[3716,7]]},"73":{"position":[[77,4],[766,4],[1131,4]]},"102":{"position":[[31,7]]},"104":{"position":[[344,4],[394,4],[409,4],[427,4],[604,4],[663,5],[697,5]]},"105":{"position":[[332,4],[347,4],[365,4],[491,4],[550,5],[584,5]]},"106":{"position":[[267,4],[307,4],[777,4],[836,4],[858,5]]},"107":{"position":[[332,4],[505,4],[564,5],[598,5]]},"108":{"position":[[289,4]]},"110":{"position":[[752,4],[777,4],[800,4],[1726,4],[1948,4]]},"111":{"position":[[351,4],[388,5],[450,8],[486,4],[683,4],[742,5],[776,5]]},"113":{"position":[[204,4],[221,4],[234,4]]},"115":{"position":[[557,4],[1207,4],[1244,5],[1560,4]]},"138":{"position":[[146,4]]},"139":{"position":[[96,5],[124,4],[273,7],[489,5],[913,4],[1119,4]]},"217":{"position":[[146,7]]},"219":{"position":[[1625,7],[1703,7]]},"222":{"position":[[35,4]]},"223":{"position":[[30,4]]},"225":{"position":[[1072,5],[1110,7]]},"242":{"position":[[43,4],[122,4]]},"257":{"position":[[33,4]]},"271":{"position":[[1111,5],[1140,7]]},"272":{"position":[[174,4]]},"279":{"position":[[6381,4],[6786,4],[7870,4]]},"291":{"position":[[43,4],[122,4]]},"314":{"position":[[491,4],[723,4]]},"330":{"position":[[191,4]]},"345":{"position":[[530,7],[578,4]]},"358":{"position":[[7822,8],[7877,5],[7999,4]]},"361":{"position":[[207,4]]},"389":{"position":[[199,4]]},"390":{"position":[[195,4]]},"402":{"position":[[6075,4]]},"447":{"position":[[631,4]]},"571":{"position":[[277,4],[476,7]]},"576":{"position":[[397,4]]},"592":{"position":[[207,4]]},"637":{"position":[[260,4]]},"693":{"position":[[9,5],[558,5]]},"701":{"position":[[1,5]]},"759":{"position":[[524,4],[564,5]]},"769":{"position":[[528,4],[568,5]]},"778":{"position":[[1,5]]},"793":{"position":[[271,4]]}},"keywords":{}}],["read_convers",{"_index":2600,"title":{},"content":{"274":{"position":[[741,16]]},"275":{"position":[[1359,15],[1514,15]]},"279":{"position":[[2916,16],[3897,15],[4232,15],[7223,15],[7248,15]]},"304":{"position":[[532,15],[1108,15]]}},"keywords":{}}],["read_data",{"_index":1379,"title":{"73":{"position":[[0,10]]}},"content":{"67":{"position":[[2006,11],[2341,11],[2487,11],[2859,11],[3029,11],[3333,13]]},"73":{"position":[[5,9]]}},"keywords":{}}],["read_data(data",{"_index":1424,"title":{},"content":{"69":{"position":[[875,15]]},"73":{"position":[[636,15]]}},"keywords":{}}],["read_data(self",{"_index":1439,"title":{},"content":{"73":{"position":[[968,15]]}},"keywords":{}}],["read_interfac",{"_index":1382,"title":{},"content":{"67":{"position":[[2091,16]]},"73":{"position":[[1694,16]]},"115":{"position":[[1094,17]]}},"keywords":{}}],["read_interface_bas",{"_index":1975,"title":{},"content":{"115":{"position":[[1031,19]]}},"keywords":{}}],["read_packet",{"_index":1392,"title":{"74":{"position":[[0,12]]}},"content":{"67":{"position":[[3220,13],[3403,13]]},"74":{"position":[[5,11]]}},"keywords":{}}],["read_packet(packet",{"_index":1449,"title":{},"content":{"74":{"position":[[817,19]]}},"keywords":{}}],["read_packet(self",{"_index":1450,"title":{},"content":{"74":{"position":[[896,17]]}},"keywords":{}}],["read_port",{"_index":3610,"title":{},"content":{"378":{"position":[[930,9]]}},"keywords":{}}],["read_port_nam",{"_index":2918,"title":{},"content":{"314":{"position":[[522,14],[1230,14]]}},"keywords":{}}],["read_timeout",{"_index":2922,"title":{},"content":{"314":{"position":[[745,12],[1351,12]]},"378":{"position":[[991,12]]}},"keywords":{}}],["read_writ",{"_index":1158,"title":{},"content":{"50":{"position":[[984,11]]},"57":{"position":[[1237,10],[1290,10]]},"139":{"position":[[112,11],[233,10],[502,10]]},"759":{"position":[[484,10],[580,10],[638,11],[847,11],[859,12]]},"769":{"position":[[315,11],[488,10],[584,10],[642,11],[848,11],[860,12]]}},"keywords":{}}],["read_write='read_writ",{"_index":5572,"title":{},"content":{"759":{"position":[[968,24]]},"769":{"position":[[966,24]]}},"keywords":{}}],["readabl",{"_index":2328,"title":{},"content":{"218":{"position":[[125,8]]},"349":{"position":[[6570,8],[6783,8]]},"637":{"position":[[478,9]]}},"keywords":{}}],["readable/edit",{"_index":3097,"title":{},"content":{"342":{"position":[[1022,17],[1052,18]]}},"keywords":{}}],["reader",{"_index":3695,"title":{},"content":{"380":{"position":[[2284,7]]}},"keywords":{}}],["readi",{"_index":1433,"title":{},"content":{"73":{"position":[[289,5],[323,5]]},"74":{"position":[[356,5]]},"75":{"position":[[372,5]]},"76":{"position":[[371,5]]},"264":{"position":[[327,5]]}},"keywords":{}}],["readme.md",{"_index":2758,"title":{},"content":{"301":{"position":[[1387,9]]},"358":{"position":[[882,9]]}},"keywords":{}}],["real",{"_index":1448,"title":{},"content":{"74":{"position":[[758,4]]},"100":{"position":[[226,4]]},"267":{"position":[[348,4]]},"274":{"position":[[224,4]]},"344":{"position":[[917,4]]},"358":{"position":[[83,4]]},"359":{"position":[[2682,4]]},"390":{"position":[[1258,4]]},"459":{"position":[[92,4]]},"522":{"position":[[1066,4]]},"529":{"position":[[266,4]]},"556":{"position":[[101,4],[362,4]]},"568":{"position":[[947,4]]},"659":{"position":[[334,4]]}},"keywords":{}}],["realli",{"_index":1373,"title":{},"content":{"67":{"position":[[1536,6]]},"141":{"position":[[634,6]]},"359":{"position":[[842,6]]},"568":{"position":[[902,6]]}},"keywords":{}}],["realtim",{"_index":1080,"title":{},"content":{"48":{"position":[[639,8]]},"343":{"position":[[1287,8],[1560,8]]},"345":{"position":[[644,8],[750,8]]},"350":{"position":[[50,8]]},"351":{"position":[[424,8],[469,8]]},"352":{"position":[[65,8],[291,8],[344,8]]},"354":{"position":[[260,8],[323,8]]},"402":{"position":[[328,9],[4459,9],[4718,9]]},"741":{"position":[[203,9]]}},"keywords":{}}],["reason",{"_index":126,"title":{"568":{"position":[[7,7]]}},"content":{"3":{"position":[[643,6]]},"274":{"position":[[507,6]]},"275":{"position":[[598,10]]},"383":{"position":[[335,6]]},"387":{"position":[[1287,7]]},"424":{"position":[[1029,10]]},"436":{"position":[[13,6]]},"552":{"position":[[415,7]]},"568":{"position":[[24,7]]},"710":{"position":[[153,6]]}},"keywords":{}}],["reassign",{"_index":4330,"title":{},"content":{"540":{"position":[[594,10]]}},"keywords":{}}],["rebas",{"_index":3722,"title":{},"content":{"386":{"position":[[380,6]]}},"keywords":{}}],["rebuild",{"_index":523,"title":{},"content":{"23":{"position":[[371,7]]},"326":{"position":[[489,7]]},"359":{"position":[[1743,7]]}},"keywords":{}}],["rebuilt",{"_index":3002,"title":{},"content":{"326":{"position":[[1000,7]]}},"keywords":{}}],["receipt",{"_index":3115,"title":{},"content":{"344":{"position":[[701,8]]}},"keywords":{}}],["receiv",{"_index":813,"title":{"275":{"position":[[0,8]]}},"content":{"36":{"position":[[8056,8]]},"46":{"position":[[72,8]]},"48":{"position":[[918,8],[964,8],[993,8],[3003,8],[3069,8],[3139,8],[3200,8],[3305,8],[3429,8],[4209,8]]},"51":{"position":[[213,9]]},"62":{"position":[[142,7]]},"100":{"position":[[218,7]]},"104":{"position":[[76,7]]},"106":{"position":[[48,7],[178,7]]},"107":{"position":[[74,7]]},"109":{"position":[[154,7],[1999,7],[2338,7]]},"110":{"position":[[174,7],[404,8]]},"113":{"position":[[32,9]]},"115":{"position":[[2301,7]]},"119":{"position":[[307,7]]},"120":{"position":[[227,7]]},"121":{"position":[[61,7]]},"132":{"position":[[314,8],[513,8]]},"138":{"position":[[72,8]]},"139":{"position":[[155,8]]},"149":{"position":[[18,7],[117,8],[214,7]]},"220":{"position":[[79,7]]},"229":{"position":[[8056,8]]},"271":{"position":[[69,8]]},"275":{"position":[[218,8],[308,9],[1743,8]]},"279":{"position":[[6716,8]]},"288":{"position":[[69,8]]},"289":{"position":[[103,8]]},"290":{"position":[[291,8]]},"302":{"position":[[887,8]]},"342":{"position":[[286,7],[532,7]]},"344":{"position":[[442,8],[507,8],[1039,8],[1185,9]]},"346":{"position":[[715,9],[1025,9]]},"358":{"position":[[8183,7]]},"379":{"position":[[1061,8]]},"380":{"position":[[1569,7]]},"402":{"position":[[187,7],[1354,9],[1389,8],[1972,9],[4885,8]]},"427":{"position":[[288,7],[446,7]]},"431":{"position":[[735,9]]},"433":{"position":[[55,9]]},"562":{"position":[[372,8],[479,8],[586,8]]},"563":{"position":[[418,7]]},"568":{"position":[[341,9]]},"637":{"position":[[1244,9]]},"676":{"position":[[67,7]]},"709":{"position":[[67,9],[487,9]]},"710":{"position":[[116,8]]},"711":{"position":[[47,8]]},"712":{"position":[[138,8]]},"715":{"position":[[121,8]]},"718":{"position":[[9,7]]},"719":{"position":[[9,7]]},"725":{"position":[[63,9],[311,8],[582,7]]},"729":{"position":[[63,9],[468,7]]},"756":{"position":[[199,7],[244,9],[662,7],[734,9],[1220,7],[1297,9]]},"765":{"position":[[193,7],[238,9],[256,9],[638,7],[710,9],[757,9],[1172,7],[1243,9],[1293,9]]}},"keywords":{}}],["received_count",{"_index":2603,"title":{},"content":{"275":{"position":[[113,15]]},"685":{"position":[[1229,17]]},"691":{"position":[[1109,17]]},"693":{"position":[[135,17]]}},"keywords":{}}],["received_tim",{"_index":2606,"title":{},"content":{"275":{"position":[[180,13],[425,14]]},"685":{"position":[[1140,16]]},"691":{"position":[[1018,16]]}},"keywords":{}}],["received_timeformat",{"_index":2604,"title":{},"content":{"275":{"position":[[129,23]]},"693":{"position":[[153,25]]}},"keywords":{}}],["received_timesecond",{"_index":2605,"title":{},"content":{"275":{"position":[[157,21]]},"579":{"position":[[165,20]]},"693":{"position":[[183,22]]}},"keywords":{}}],["recent",{"_index":1118,"title":{"562":{"position":[[17,6]]}},"content":{"48":{"position":[[4197,6]]},"115":{"position":[[1228,6],[1490,6]]},"213":{"position":[[1188,6]]},"346":{"position":[[700,6],[1001,6]]},"369":{"position":[[4097,6]]},"528":{"position":[[122,8]]},"562":{"position":[[113,6],[363,8],[470,8],[577,8]]},"563":{"position":[[48,6],[166,6]]},"693":{"position":[[37,8]]},"694":{"position":[[30,6],[260,6],[373,6],[523,6],[650,6],[803,6]]}},"keywords":{}}],["recept",{"_index":1126,"title":{},"content":{"48":{"position":[[4703,9]]}},"keywords":{}}],["recogn",{"_index":4113,"title":{},"content":{"434":{"position":[[485,10]]}},"keywords":{}}],["recommend",{"_index":900,"title":{},"content":{"42":{"position":[[80,9]]},"43":{"position":[[1313,11]]},"302":{"position":[[1593,10]]},"307":{"position":[[330,11]]},"309":{"position":[[4059,9]]},"326":{"position":[[7,11]]},"330":{"position":[[20,12],[53,9],[392,11],[1462,10]]},"331":{"position":[[4,9]]},"358":{"position":[[858,11],[1799,11]]},"359":{"position":[[290,9]]},"382":{"position":[[686,9]]},"383":{"position":[[173,9]]},"389":{"position":[[1391,9]]},"549":{"position":[[128,11]]},"552":{"position":[[1622,11]]},"571":{"position":[[302,12]]},"579":{"position":[[264,9]]}},"keywords":{}}],["reconnect",{"_index":1389,"title":{},"content":{"67":{"position":[[2831,11]]},"73":{"position":[[584,13]]},"74":{"position":[[610,13]]},"75":{"position":[[626,13]]},"76":{"position":[[623,13]]},"77":{"position":[[800,13]]},"134":{"position":[[24,9]]},"135":{"position":[[1,9],[85,9],[138,9],[191,9],[270,9]]}},"keywords":{}}],["reconnect_delay",{"_index":2033,"title":{"135":{"position":[[0,16]]}},"content":{},"keywords":{}}],["record",{"_index":3089,"title":{},"content":{"339":{"position":[[354,7]]},"364":{"position":[[218,6]]},"452":{"position":[[24,6]]},"453":{"position":[[54,6]]},"455":{"position":[[1554,6],[1676,6]]}},"keywords":{}}],["recov",{"_index":1171,"title":{"569":{"position":[[7,7]]}},"content":{"51":{"position":[[239,7]]},"568":{"position":[[1010,8]]},"569":{"position":[[98,8],[175,7]]}},"keywords":{}}],["rectangular",{"_index":4752,"title":{},"content":{"637":{"position":[[12,11]]},"643":{"position":[[12,11]]}},"keywords":{}}],["rectifi",{"_index":4031,"title":{},"content":{"424":{"position":[[1183,9]]},"431":{"position":[[110,8]]}},"keywords":{}}],["recurs",{"_index":3567,"title":{},"content":{"375":{"position":[[13,7]]}},"keywords":{}}],["red",{"_index":2629,"title":{},"content":{"279":{"position":[[2547,3],[2910,3],[8917,3],[8992,3],[9130,3],[9289,3],[9351,3],[9430,3]]},"330":{"position":[[170,3]]},"470":{"position":[[147,3]]},"473":{"position":[[105,3],[166,3],[319,3]]},"487":{"position":[[208,4]]},"517":{"position":[[152,4]]},"530":{"position":[[392,3]]},"587":{"position":[[107,3],[158,6],[230,3],[422,3]]},"588":{"position":[[101,3],[152,6],[224,3],[416,3]]},"589":{"position":[[112,3],[163,6],[235,3],[437,3]]},"611":{"position":[[352,4]]},"612":{"position":[[897,3]]},"619":{"position":[[101,3],[305,4],[805,3]]},"635":{"position":[[243,4]]},"647":{"position":[[408,3]]},"648":{"position":[[651,3]]},"652":{"position":[[933,3],[1060,3]]},"741":{"position":[[716,3],[724,3],[810,4],[910,3],[1042,3],[1081,3],[1090,3],[1177,4]]},"743":{"position":[[87,6]]}},"keywords":{}}],["red_low",{"_index":5258,"title":{},"content":{"704":{"position":[[615,10],[630,10]]}},"keywords":{}}],["redefin",{"_index":2415,"title":{},"content":{"236":{"position":[[202,8]]},"286":{"position":[[188,8]]}},"keywords":{}}],["redhat",{"_index":2833,"title":{},"content":{"309":{"position":[[259,7],[1339,6]]}},"keywords":{}}],["redi",{"_index":47,"title":{"267":{"position":[[0,6]]},"414":{"position":[[0,6]]}},"content":{"2":{"position":[[317,5]]},"42":{"position":[[1318,5],[3047,5]]},"44":{"position":[[1029,5]]},"48":{"position":[[4039,5],[4166,5],[4300,5]]},"83":{"position":[[1819,6]]},"183":{"position":[[13,5],[26,5],[329,5]]},"255":{"position":[[449,5]]},"258":{"position":[[1164,5],[1225,5]]},"267":{"position":[[1,5],[125,5],[230,5],[262,5],[288,5],[375,5],[400,5],[522,5],[603,5]]},"309":{"position":[[1999,5]]},"343":{"position":[[408,5]]},"367":{"position":[[690,5],[1022,5],[1151,5]]},"369":{"position":[[1630,5],[1711,5],[3120,5],[3202,5],[3597,5]]},"414":{"position":[[5,5],[67,5]]}},"keywords":{}}],["redirect",{"_index":498,"title":{},"content":{"22":{"position":[[386,13]]}},"keywords":{}}],["redis:latest",{"_index":999,"title":{},"content":{"42":{"position":[[2959,12]]}},"keywords":{}}],["redo",{"_index":3160,"title":{},"content":{"349":{"position":[[1626,5]]}},"keywords":{}}],["reduc",{"_index":63,"title":{},"content":{"2":{"position":[[602,7]]},"48":{"position":[[2324,6],[4374,6],[4399,8],[4530,7]]},"166":{"position":[[18,7],[122,7]]},"167":{"position":[[18,7],[120,7]]},"168":{"position":[[18,7],[119,7]]},"170":{"position":[[22,7],[123,7]]},"174":{"position":[[436,8]]},"175":{"position":[[155,7]]},"343":{"position":[[693,7]]},"402":{"position":[[3272,7],[3292,7]]},"511":{"position":[[152,6]]},"626":{"position":[[271,7],[298,7],[399,7],[424,6],[464,7],[998,7],[1025,7],[1126,7],[1151,6],[1191,7]]},"627":{"position":[[305,7],[332,7],[433,7],[458,6],[498,7],[1051,7],[1078,7],[1179,7],[1204,6],[1244,7]]},"628":{"position":[[289,7],[316,7],[417,7],[442,6],[482,7],[1023,7],[1050,7],[1151,7],[1176,6],[1216,7]]},"658":{"position":[[1135,7]]}},"keywords":{}}],["reduced_day",{"_index":3897,"title":{},"content":{"402":{"position":[[3058,12]]},"626":{"position":[[381,11],[1108,11]]},"627":{"position":[[415,11],[1161,11]]},"628":{"position":[[399,11],[1133,11]]}},"keywords":{}}],["reduced_day_log_retain_tim",{"_index":2109,"title":{"168":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduced_hour",{"_index":3896,"title":{},"content":{"402":{"position":[[3041,13]]},"626":{"position":[[367,13],[1094,13]]},"627":{"position":[[401,13],[1147,13]]},"628":{"position":[[385,13],[1119,13]]}},"keywords":{}}],["reduced_hour_log_retain_tim",{"_index":2108,"title":{"167":{"position":[[0,29]]}},"content":{},"keywords":{}}],["reduced_log_retain_tim",{"_index":2111,"title":{"170":{"position":[[0,24]]}},"content":{},"keywords":{}}],["reduced_minut",{"_index":3895,"title":{},"content":{"402":{"position":[[3025,15]]},"626":{"position":[[351,15],[1078,15]]},"627":{"position":[[385,15],[1131,15]]},"628":{"position":[[369,15],[1103,15]]}},"keywords":{}}],["reduced_minute_log_retain_tim",{"_index":2107,"title":{"166":{"position":[[0,31]]}},"content":{},"keywords":{}}],["reducer_dis",{"_index":2115,"title":{"172":{"position":[[0,16]]}},"content":{},"keywords":{}}],["reducer_max_cpu_util",{"_index":2116,"title":{"173":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduct",{"_index":1127,"title":{},"content":{"48":{"position":[[4802,9]]},"172":{"position":[[19,9]]},"173":{"position":[[52,9]]},"368":{"position":[[218,10]]}},"keywords":{}}],["refer",{"_index":165,"title":{},"content":{"5":{"position":[[689,8]]},"36":{"position":[[8158,9]]},"42":{"position":[[537,9]]},"48":{"position":[[1664,10]]},"61":{"position":[[474,8]]},"67":{"position":[[1829,9]]},"83":{"position":[[1001,9]]},"88":{"position":[[508,9]]},"138":{"position":[[445,5]]},"226":{"position":[[159,8]]},"229":{"position":[[8158,9]]},"276":{"position":[[179,8]]},"279":{"position":[[6815,9]]},"301":{"position":[[1138,10]]},"302":{"position":[[1029,9]]},"344":{"position":[[872,6]]},"401":{"position":[[308,10]]},"454":{"position":[[178,9]]},"531":{"position":[[268,10],[348,9],[621,10],[701,9]]},"551":{"position":[[699,6]]},"677":{"position":[[874,8]]},"678":{"position":[[1096,8]]},"679":{"position":[[1117,8]]},"680":{"position":[[1150,8]]},"681":{"position":[[950,8]]},"682":{"position":[[1167,8]]},"683":{"position":[[1188,8]]},"684":{"position":[[1221,8]]}},"keywords":{}}],["referenc",{"_index":815,"title":{},"content":{"36":{"position":[[8203,11]]},"128":{"position":[[493,10]]},"229":{"position":[[8203,11]]},"279":{"position":[[6862,11]]},"358":{"position":[[7488,11]]},"568":{"position":[[179,10]]}},"keywords":{}}],["referr",{"_index":1530,"title":{},"content":{"82":{"position":[[797,8],[817,8]]}},"keywords":{}}],["refin",{"_index":2589,"title":{},"content":{"272":{"position":[[202,7]]}},"keywords":{}}],["reflect",{"_index":1356,"title":{},"content":{"65":{"position":[[1112,7]]}},"keywords":{}}],["reformat",{"_index":1594,"title":{},"content":{"83":{"position":[[358,8]]}},"keywords":{}}],["refresh",{"_index":1023,"title":{},"content":{"43":{"position":[[748,7],[1058,7],[1266,7]]},"82":{"position":[[245,9]]},"196":{"position":[[127,10]]},"324":{"position":[[858,7]]},"489":{"position":[[14,7]]},"511":{"position":[[100,7],[243,7]]}},"keywords":{}}],["refus",{"_index":3132,"title":{},"content":{"348":{"position":[[1202,6]]},"378":{"position":[[1536,6]]}},"keywords":{}}],["regard",{"_index":4030,"title":{},"content":{"424":{"position":[[1116,6]]},"546":{"position":[[987,9]]}},"keywords":{}}],["regardless",{"_index":1169,"title":{},"content":{"51":{"position":[[159,10]]},"387":{"position":[[227,10]]}},"keywords":{}}],["regex",{"_index":2134,"title":{},"content":{"176":{"position":[[175,5]]},"190":{"position":[[181,5]]},"201":{"position":[[173,5]]},"205":{"position":[[175,5]]}},"keywords":{}}],["regist",{"_index":4061,"title":{},"content":{"427":{"position":[[188,8]]},"432":{"position":[[197,8]]}},"keywords":{}}],["registr",{"_index":4062,"title":{},"content":{"427":{"position":[[353,13]]},"432":{"position":[[757,14]]}},"keywords":{}}],["registri",{"_index":2890,"title":{},"content":{"309":{"position":[[2847,8],[2912,8],[3027,8],[3271,10],[3306,8]]}},"keywords":{}}],["regress",{"_index":3699,"title":{},"content":{"382":{"position":[[649,10]]}},"keywords":{}}],["regular",{"_index":260,"title":{"566":{"position":[[34,7]]}},"content":{"7":{"position":[[533,7]]},"53":{"position":[[195,7]]},"169":{"position":[[22,7],[123,7]]},"176":{"position":[[99,7]]},"190":{"position":[[105,7]]},"201":{"position":[[97,7]]},"205":{"position":[[99,7]]},"530":{"position":[[11,7]]},"536":{"position":[[325,7]]},"543":{"position":[[242,7],[355,7]]},"800":{"position":[[33,7]]}},"keywords":{}}],["reject",{"_index":3868,"title":{},"content":{"402":{"position":[[1557,9],[1611,8]]}},"keywords":{}}],["rel",{"_index":2069,"title":{},"content":{"143":{"position":[[108,8],[327,8]]},"181":{"position":[[92,8],[311,8]]},"194":{"position":[[34,8]]},"244":{"position":[[300,8]]},"293":{"position":[[147,8]]},"367":{"position":[[502,10]]},"506":{"position":[[418,8]]}},"keywords":{}}],["relat",{"_index":2428,"title":{},"content":{"247":{"position":[[27,7],[125,7],[180,7],[231,7]]},"248":{"position":[[27,7],[127,7],[184,7]]},"297":{"position":[[20,7],[147,7]]},"424":{"position":[[487,8],[916,8]]},"452":{"position":[[311,7]]},"464":{"position":[[312,7]]},"546":{"position":[[940,7],[1064,7]]},"551":{"position":[[71,7]]}},"keywords":{}}],["related_item",{"_index":2427,"title":{"247":{"position":[[0,13]]}},"content":{},"keywords":{}}],["relax",{"_index":1697,"title":{},"content":{"86":{"position":[[29,7]]}},"keywords":{}}],["releas",{"_index":2852,"title":{},"content":{"309":{"position":[[1471,7],[2712,7]]},"326":{"position":[[313,7]]},"333":{"position":[[474,7]]},"359":{"position":[[1856,7]]},"371":{"position":[[74,7]]},"382":{"position":[[11,8],[172,8],[338,7],[378,7],[674,8],[852,8],[894,8],[952,8]]},"426":{"position":[[1235,7]]},"814":{"position":[[134,9]]}},"keywords":{}}],["relev",{"_index":1364,"title":{},"content":{"67":{"position":[[788,8]]},"424":{"position":[[871,8]]}},"keywords":{}}],["reli",{"_index":703,"title":{},"content":{"36":{"position":[[2110,7]]},"53":{"position":[[185,6]]},"54":{"position":[[297,6]]},"229":{"position":[[2110,7]]},"715":{"position":[[154,7]]}},"keywords":{}}],["reliabl",{"_index":1166,"title":{},"content":{"51":{"position":[[122,9]]},"258":{"position":[[145,8]]}},"keywords":{}}],["reload",{"_index":2992,"title":{},"content":{"324":{"position":[[813,6],[910,7]]},"349":{"position":[[1520,7]]}},"keywords":{}}],["remain",{"_index":637,"title":{},"content":{"33":{"position":[[493,9],[709,9]]},"35":{"position":[[797,9],[1448,9]]},"37":{"position":[[590,9],[1241,9]]},"55":{"position":[[189,9]]},"228":{"position":[[826,9],[1477,9]]},"230":{"position":[[609,9],[1260,9]]},"231":{"position":[[996,9],[1621,9]]},"232":{"position":[[832,9],[1457,9]]},"358":{"position":[[4443,9]]},"422":{"position":[[1231,7]]},"559":{"position":[[1307,7]]},"611":{"position":[[215,7]]},"635":{"position":[[106,7]]},"661":{"position":[[102,6]]},"671":{"position":[[371,7]]}},"keywords":{}}],["rememb",{"_index":4337,"title":{},"content":{"540":{"position":[[1085,8]]},"637":{"position":[[421,8]]},"699":{"position":[[307,8]]}},"keywords":{}}],["remot",{"_index":1589,"title":{},"content":{"83":{"position":[[52,8]]},"106":{"position":[[228,6],[289,6],[471,6]]},"149":{"position":[[153,6],[285,6]]},"215":{"position":[[89,6]]}},"keywords":{}}],["remov",{"_index":977,"title":{"483":{"position":[[0,8]]}},"content":{"42":{"position":[[2285,7]]},"53":{"position":[[401,6]]},"56":{"position":[[762,6]]},"61":{"position":[[1934,6]]},"65":{"position":[[261,6]]},"236":{"position":[[141,6]]},"286":{"position":[[132,6]]},"309":{"position":[[3623,8]]},"310":{"position":[[597,6]]},"326":{"position":[[937,6],[1211,7]]},"363":{"position":[[583,6]]},"379":{"position":[[33,6]]},"402":{"position":[[2169,7],[4498,8]]},"404":{"position":[[1689,6],[2480,6]]},"455":{"position":[[537,9]]},"472":{"position":[[467,7]]},"482":{"position":[[346,8],[599,8]]},"483":{"position":[[81,7],[151,7]]},"544":{"position":[[498,8]]},"661":{"position":[[37,7],[206,8],[269,7],[302,7]]},"757":{"position":[[568,6]]}},"keywords":{}}],["renam",{"_index":2001,"title":{},"content":{"126":{"position":[[323,6]]},"302":{"position":[[641,7]]},"303":{"position":[[745,7]]},"307":{"position":[[1162,7]]}},"keywords":{}}],["render",{"_index":239,"title":{"7":{"position":[[0,7]]}},"content":{"7":{"position":[[49,6],[62,7],[215,6],[345,6]]},"264":{"position":[[251,6]]},"307":{"position":[[805,6]]},"505":{"position":[[394,6]]}},"keywords":{}}],["rent",{"_index":4013,"title":{},"content":{"424":{"position":[[40,6]]}},"keywords":{}}],["reorder",{"_index":3238,"title":{},"content":{"356":{"position":[[784,10],[801,7]]},"413":{"position":[[54,7]]},"519":{"position":[[165,10]]}},"keywords":{}}],["repeat",{"_index":4390,"title":{"544":{"position":[[23,6]]}},"content":{"544":{"position":[[109,8]]}},"keywords":{}}],["repeatedli",{"_index":4553,"title":{},"content":{"565":{"position":[[340,10]]}},"keywords":{}}],["repetit",{"_index":4395,"title":{},"content":{"544":{"position":[[261,10],[511,10]]}},"keywords":{}}],["replac",{"_index":842,"title":{},"content":{"36":{"position":[[10002,7]]},"51":{"position":[[410,8]]},"219":{"position":[[836,8]]},"229":{"position":[[10002,7]]},"285":{"position":[[481,8]]},"296":{"position":[[555,8]]},"349":{"position":[[1717,7],[1772,7],[1813,8]]},"371":{"position":[[168,7]]},"544":{"position":[[1288,8]]},"673":{"position":[[273,8]]}},"keywords":{}}],["replay",{"_index":4892,"title":{},"content":{"662":{"position":[[1745,6],[2949,6],[2985,6],[3021,6],[3051,6],[3089,6],[3126,6],[3170,6],[3202,6],[3237,6],[3275,6],[3305,6],[3781,6]]}},"keywords":{}}],["replay_move_end",{"_index":4914,"title":{},"content":{"662":{"position":[[2933,15]]}},"keywords":{}}],["replay_move_index",{"_index":4915,"title":{},"content":{"662":{"position":[[2967,17]]}},"keywords":{}}],["replay_move_start",{"_index":4916,"title":{},"content":{"662":{"position":[[3003,17]]}},"keywords":{}}],["replay_play",{"_index":4917,"title":{},"content":{"662":{"position":[[3039,11]]}},"keywords":{}}],["replay_reverse_play",{"_index":4918,"title":{},"content":{"662":{"position":[[3069,19]]}},"keywords":{}}],["replay_select_fil",{"_index":4919,"title":{},"content":{"662":{"position":[[3107,18]]}},"keywords":{}}],["replay_set_playback_delay",{"_index":4920,"title":{},"content":{"662":{"position":[[3144,25]]}},"keywords":{}}],["replay_statu",{"_index":4921,"title":{},"content":{"662":{"position":[[3188,13]]}},"keywords":{}}],["replay_step_back",{"_index":4922,"title":{},"content":{"662":{"position":[[3220,16]]}},"keywords":{}}],["replay_step_forward",{"_index":4923,"title":{},"content":{"662":{"position":[[3255,19]]}},"keywords":{}}],["replay_stop",{"_index":4924,"title":{},"content":{"662":{"position":[[3293,11]]}},"keywords":{}}],["repo",{"_index":1819,"title":{},"content":{"98":{"position":[[193,5]]},"208":{"position":[[68,4]]},"255":{"position":[[17,4]]},"331":{"position":[[483,4],[542,5]]}},"keywords":{}}],["report",{"_index":2208,"title":{"561":{"position":[[34,7]]}},"content":{"209":{"position":[[615,7]]},"210":{"position":[[129,7]]},"211":{"position":[[292,7]]},"349":{"position":[[5672,6],[5720,6]]},"496":{"position":[[96,6],[224,6]]},"546":{"position":[[1342,7]]},"561":{"position":[[76,6],[186,6],[401,6],[706,6]]}},"keywords":{}}],["repositori",{"_index":2750,"title":{},"content":{"301":{"position":[[1044,11]]}},"keywords":{}}],["repres",{"_index":43,"title":{},"content":{"2":{"position":[[241,9]]},"53":{"position":[[782,12],[866,10]]},"54":{"position":[[1180,12],[1264,10]]},"55":{"position":[[2080,12],[2164,10]]},"56":{"position":[[1082,12],[1166,10]]},"60":{"position":[[585,12],[669,10]]},"61":{"position":[[2254,12],[2338,10]]},"62":{"position":[[372,12],[456,10]]},"343":{"position":[[332,9]]},"369":{"position":[[3827,14]]},"402":{"position":[[5445,11],[5925,11]]},"652":{"position":[[58,11]]},"659":{"position":[[1043,11]]}},"keywords":{}}],["represent",{"_index":2222,"title":{},"content":{"213":{"position":[[271,14]]},"214":{"position":[[27,14]]},"636":{"position":[[122,15]]},"659":{"position":[[901,15]]}},"keywords":{}}],["req",{"_index":406,"title":{},"content":{"20":{"position":[[257,3],[323,3],[1506,3],[1545,3]]}},"keywords":{}}],["reqt",{"_index":3111,"title":{},"content":{"344":{"position":[[1,5]]},"345":{"position":[[1,5]]},"346":{"position":[[112,5]]},"347":{"position":[[179,5]]},"348":{"position":[[361,5]]},"349":{"position":[[1297,5]]},"350":{"position":[[147,5]]},"351":{"position":[[266,5]]},"352":{"position":[[98,5]]},"353":{"position":[[113,5]]},"354":{"position":[[192,5]]},"355":{"position":[[97,5]]},"356":{"position":[[104,5]]}},"keywords":{}}],["request",{"_index":443,"title":{},"content":{"20":{"position":[[905,7]]},"44":{"position":[[226,8],[1407,8]]},"81":{"position":[[132,8],[153,8],[737,7]]},"82":{"position":[[85,7],[167,9],[286,8],[305,8],[4658,8],[4677,7],[6478,7]]},"83":{"position":[[297,8],[1366,7],[1543,7],[1924,8],[2039,8],[3531,7]]},"85":{"position":[[24,7]]},"86":{"position":[[80,8],[213,7]]},"87":{"position":[[154,8]]},"88":{"position":[[443,8],[546,8]]},"93":{"position":[[230,7],[483,7]]},"107":{"position":[[704,7],[747,7]]},"112":{"position":[[544,8]]},"126":{"position":[[101,9]]},"217":{"position":[[518,8],[552,7],[778,7],[901,7],[1203,7],[2295,7],[2401,7]]},"264":{"position":[[280,10]]},"386":{"position":[[508,7]]},"401":{"position":[[168,9]]},"402":{"position":[[400,10],[2091,7],[2256,10],[2304,10],[5570,9]]},"425":{"position":[[206,9]]},"428":{"position":[[175,7]]},"430":{"position":[[74,9]]},"455":{"position":[[481,7]]},"499":{"position":[[736,7]]},"522":{"position":[[852,10],[931,7]]},"637":{"position":[[929,7]]},"659":{"position":[[361,10]]},"673":{"position":[[422,7]]},"712":{"position":[[627,8],[826,8]]},"799":{"position":[[147,8]]}},"keywords":{}}],["requests_ca_bundl",{"_index":3063,"title":{},"content":{"332":{"position":[[1274,18]]}},"keywords":{}}],["requir",{"_index":152,"title":{"12":{"position":[[0,8]]},"313":{"position":[[5,12]]},"341":{"position":[[0,12]]},"344":{"position":[[8,13]]},"345":{"position":[[4,13]]},"366":{"position":[[16,12]]},"552":{"position":[[37,8]]},"560":{"position":[[14,7]]}},"content":{"5":{"position":[[367,8],[397,8],[1102,9],[1140,8]]},"7":{"position":[[469,8]]},"11":{"position":[[304,8]]},"12":{"position":[[1,8],[43,8],[173,8],[587,7]]},"35":{"position":[[1079,8],[1610,8]]},"36":{"position":[[1914,9],[1938,8],[5498,7]]},"37":{"position":[[872,8],[1403,8]]},"42":{"position":[[379,11]]},"52":{"position":[[638,8]]},"53":{"position":[[527,8]]},"54":{"position":[[756,8]]},"55":{"position":[[584,8],[1128,8]]},"56":{"position":[[459,8]]},"58":{"position":[[219,8]]},"59":{"position":[[108,8]]},"60":{"position":[[196,8]]},"61":{"position":[[1272,8]]},"62":{"position":[[332,8]]},"64":{"position":[[119,8]]},"65":{"position":[[122,8]]},"66":{"position":[[135,8]]},"67":{"position":[[1031,7],[2440,8],[2651,8],[2768,8]]},"83":{"position":[[151,8],[320,8],[1302,9],[1898,8]]},"91":{"position":[[858,8]]},"92":{"position":[[649,8]]},"106":{"position":[[106,8]]},"107":{"position":[[245,8]]},"108":{"position":[[238,8]]},"109":{"position":[[462,8]]},"110":{"position":[[455,8]]},"112":{"position":[[166,8]]},"113":{"position":[[170,8]]},"114":{"position":[[326,8]]},"125":{"position":[[36,8]]},"128":{"position":[[130,7],[857,9]]},"144":{"position":[[116,8]]},"149":{"position":[[647,9]]},"182":{"position":[[117,8]]},"183":{"position":[[487,8]]},"211":{"position":[[107,12]]},"214":{"position":[[269,8],[1092,8],[1178,7],[1556,8]]},"215":{"position":[[169,8],[607,8]]},"218":{"position":[[311,8],[1334,8]]},"219":{"position":[[274,8],[1152,8]]},"220":{"position":[[222,8],[1416,8],[1617,8]]},"228":{"position":[[1108,8],[1639,8]]},"229":{"position":[[1914,9],[1938,8],[5498,7]]},"230":{"position":[[891,8],[1422,8]]},"231":{"position":[[1783,8]]},"232":{"position":[[1619,8]]},"250":{"position":[[58,7]]},"251":{"position":[[623,7]]},"253":{"position":[[1679,8]]},"272":{"position":[[13,7]]},"279":{"position":[[3978,7]]},"301":{"position":[[74,8],[1532,9]]},"302":{"position":[[124,8],[1377,8]]},"303":{"position":[[136,8],[1109,7]]},"304":{"position":[[132,8]]},"305":{"position":[[142,8]]},"306":{"position":[[214,8]]},"307":{"position":[[125,8],[172,8]]},"313":{"position":[[1,8]]},"344":{"position":[[855,11]]},"348":{"position":[[1229,8],[1300,8]]},"349":{"position":[[913,12]]},"358":{"position":[[1297,8]]},"359":{"position":[[245,8]]},"367":{"position":[[309,7],[551,8]]},"369":{"position":[[3724,8]]},"402":{"position":[[1660,8]]},"415":{"position":[[128,7]]},"424":{"position":[[387,8],[1663,8]]},"427":{"position":[[345,7]]},"432":{"position":[[598,7],[829,8],[1106,8]]},"453":{"position":[[7,7]]},"455":{"position":[[860,7]]},"468":{"position":[[569,9]]},"487":{"position":[[48,8]]},"513":{"position":[[652,8]]},"533":{"position":[[354,7]]},"550":{"position":[[364,12],[475,12],[599,12],[711,12]]},"552":{"position":[[1364,9],[1476,7],[1512,9],[1559,7],[1639,7],[1701,8],[1759,7]]},"561":{"position":[[442,12],[740,12]]},"569":{"position":[[1192,8]]},"571":{"position":[[346,7],[498,7]]},"673":{"position":[[978,9]]},"690":{"position":[[1424,11]]},"778":{"position":[[323,9]]},"810":{"position":[[47,8],[126,8]]}},"keywords":{}}],["require/load",{"_index":5696,"title":{},"content":{"793":{"position":[[255,12]]}},"keywords":{}}],["require_util",{"_index":4482,"title":{},"content":{"552":{"position":[[470,17]]},"662":{"position":[[3323,15]]}},"keywords":{}}],["requiredaccessor",{"_index":2422,"title":{},"content":{"242":{"position":[[242,16]]},"291":{"position":[[242,16]]}},"keywords":{}}],["requiredarg",{"_index":2075,"title":{},"content":{"145":{"position":[[139,12]]},"146":{"position":[[148,12]]},"185":{"position":[[123,12]]},"187":{"position":[[132,12]]}},"keywords":{}}],["requiredbehavior",{"_index":846,"title":{},"content":{"36":{"position":[[10261,16]]},"229":{"position":[[10261,16]]}},"keywords":{}}],["requiredbuff",{"_index":2088,"title":{},"content":{"152":{"position":[[95,14]]},"159":{"position":[[104,14]]}},"keywords":{}}],["requiredbutton",{"_index":4767,"title":{},"content":{"637":{"position":[[1600,14]]}},"keywords":{}}],["requiredc0",{"_index":786,"title":{},"content":{"36":{"position":[[6328,10]]},"229":{"position":[[6328,10]]},"279":{"position":[[4867,10]]}},"keywords":{}}],["requiredcategori",{"_index":2178,"title":{},"content":{"198":{"position":[[131,16]]}},"keywords":{}}],["requiredcharact",{"_index":4799,"title":{},"content":{"643":{"position":[[81,18]]}},"keywords":{}}],["requiredcheckbox",{"_index":4782,"title":{},"content":{"638":{"position":[[140,16]]}},"keywords":{}}],["requiredclass",{"_index":759,"title":{},"content":{"36":{"position":[[5015,13]]},"229":{"position":[[5015,13]]},"251":{"position":[[194,13]]},"279":{"position":[[3496,13]]}},"keywords":{}}],["requiredcolor",{"_index":4621,"title":{},"content":{"587":{"position":[[85,13]]},"588":{"position":[[79,13]]},"589":{"position":[[90,13]]}},"keywords":{}}],["requiredcolumn",{"_index":4648,"title":{},"content":{"598":{"position":[[129,15]]}},"keywords":{}}],["requiredconvert",{"_index":2635,"title":{},"content":{"279":{"position":[[7334,17]]}},"keywords":{}}],["requiredcycl",{"_index":2043,"title":{},"content":{"138":{"position":[[348,13]]}},"keywords":{}}],["requiredd",{"_index":4789,"title":{},"content":{"640":{"position":[[142,12]]}},"keywords":{}}],["requireddefault",{"_index":655,"title":{},"content":{"35":{"position":[[1497,15]]},"37":{"position":[[1290,15]]},"39":{"position":[[232,15]]},"228":{"position":[[1526,15]]},"230":{"position":[[1309,15]]},"231":{"position":[[1670,15]]},"232":{"position":[[1506,15]]}},"keywords":{}}],["requireddelay",{"_index":2035,"title":{},"content":{"135":{"position":[[231,13]]}},"keywords":{}}],["requireddescript",{"_index":638,"title":{},"content":{"33":{"position":[[542,19]]},"241":{"position":[[164,19]]}},"keywords":{}}],["requireddirectori",{"_index":2071,"title":{},"content":{"143":{"position":[[245,17]]},"181":{"position":[[229,17]]}},"keywords":{}}],["requiredfil",{"_index":629,"title":{},"content":{"32":{"position":[[87,12]]}},"keywords":{}}],["requiredfilenam",{"_index":328,"title":{},"content":{"12":{"position":[[144,16]]},"15":{"position":[[386,16]]},"16":{"position":[[386,16]]},"223":{"position":[[203,16]]}},"keywords":{}}],["requiredfold",{"_index":2086,"title":{},"content":{"150":{"position":[[45,14]]}},"keywords":{}}],["requiredformat",{"_index":659,"title":{},"content":{"36":{"position":[[126,14]]},"229":{"position":[[126,14]]},"279":{"position":[[121,14]]}},"keywords":{}}],["requiredful",{"_index":663,"title":{},"content":{"36":{"position":[[335,12]]},"229":{"position":[[335,12]]},"279":{"position":[[330,12]]}},"keywords":{}}],["requiredgroup",{"_index":2690,"title":{},"content":{"297":{"position":[[739,13]]}},"keywords":{}}],["requiredheight",{"_index":4616,"title":{},"content":{"584":{"position":[[117,14]]},"599":{"position":[[160,14]]}},"keywords":{}}],["requiredhost",{"_index":1839,"title":{},"content":{"104":{"position":[[243,12]]}},"keywords":{}}],["requiredhostnam",{"_index":1955,"title":{},"content":{"114":{"position":[[131,16]]}},"keywords":{}}],["requiredicon",{"_index":2169,"title":{},"content":{"197":{"position":[[103,12]]},"632":{"position":[[118,12]]}},"keywords":{}}],["requiredimag",{"_index":4815,"title":{},"content":{"649":{"position":[[56,13]]}},"keywords":{}}],["requirediniti",{"_index":4794,"title":{},"content":{"641":{"position":[[120,15]]}},"keywords":{}}],["requiredinterfac",{"_index":2014,"title":{},"content":{"128":{"position":[[377,17]]}},"keywords":{}}],["requireditem",{"_index":360,"title":{},"content":{"14":{"position":[[244,12]]},"285":{"position":[[304,12]]},"286":{"position":[[378,12]]}},"keywords":{}}],["requiredkey",{"_index":689,"title":{},"content":{"36":{"position":[[1460,11],[3048,11]]},"142":{"position":[[90,11]]},"180":{"position":[[74,11]]},"202":{"position":[[70,11]]},"229":{"position":[[1460,11],[3048,11]]},"279":{"position":[[1455,11],[2347,11]]},"590":{"position":[[65,11]]}},"keywords":{}}],["requiredlength",{"_index":694,"title":{},"content":{"36":{"position":[[1676,14]]},"229":{"position":[[1676,14]]},"279":{"position":[[1671,14]]}},"keywords":{}}],["requiredlimit",{"_index":2644,"title":{},"content":{"279":{"position":[[8457,14]]}},"keywords":{}}],["requiredlow",{"_index":800,"title":{},"content":{"36":{"position":[[6959,13]]},"229":{"position":[[6959,13]]},"279":{"position":[[5560,13]]}},"keywords":{}}],["requiredmargin",{"_index":4639,"title":{},"content":{"594":{"position":[[280,14]]},"596":{"position":[[128,14]]}},"keywords":{}}],["requiredmeta",{"_index":678,"title":{},"content":{"36":{"position":[[855,12]]},"229":{"position":[[855,12]]},"240":{"position":[[244,12]]},"279":{"position":[[850,12]]},"287":{"position":[[253,12]]}},"keywords":{}}],["requiredmicroservic",{"_index":2137,"title":{},"content":{"178":{"position":[[202,20]]}},"keywords":{}}],["requiredminimum",{"_index":650,"title":{},"content":{"35":{"position":[[846,15]]},"37":{"position":[[639,15]]},"228":{"position":[[875,15]]},"230":{"position":[[658,15]]},"231":{"position":[[1045,15]]},"232":{"position":[[881,15]]}},"keywords":{}}],["requirednam",{"_index":630,"title":{},"content":{"33":{"position":[[53,12]]},"35":{"position":[[65,12]]},"37":{"position":[[65,12]]},"140":{"position":[[214,12]]},"149":{"position":[[414,12]]},"228":{"position":[[82,12]]},"230":{"position":[[82,12]]},"231":{"position":[[305,12]]},"232":{"position":[[305,12]]},"233":{"position":[[99,12]]},"234":{"position":[[99,12]]},"278":{"position":[[81,12]]},"280":{"position":[[81,12]]},"281":{"position":[[251,12]]},"282":{"position":[[81,12]]},"283":{"position":[[98,12]]},"284":{"position":[[98,12]]}},"keywords":{}}],["requirednumb",{"_index":2073,"title":{},"content":{"144":{"position":[[171,14]]},"182":{"position":[[172,14]]}},"keywords":{}}],["requiredopt",{"_index":2153,"title":{},"content":{"186":{"position":[[283,14]]},"639":{"position":[[159,14]]}},"keywords":{}}],["requiredpacket",{"_index":2130,"title":{},"content":{"175":{"position":[[100,14]]}},"keywords":{}}],["requiredparamet",{"_index":354,"title":{},"content":{"13":{"position":[[341,17]]},"235":{"position":[[304,17]]},"236":{"position":[[405,17]]}},"keywords":{}}],["requiredpercentag",{"_index":2118,"title":{},"content":{"173":{"position":[[85,18]]}},"keywords":{}}],["requiredposit",{"_index":2184,"title":{},"content":{"200":{"position":[[294,16]]}},"keywords":{}}],["requiredprocessor",{"_index":2674,"title":{},"content":{"288":{"position":[[101,17]]}},"keywords":{}}],["requiredregex",{"_index":2133,"title":{},"content":{"176":{"position":[[161,13]]},"190":{"position":[[167,13]]},"201":{"position":[[159,13]]},"205":{"position":[[161,13]]}},"keywords":{}}],["requiredrespons",{"_index":2660,"title":{},"content":{"279":{"position":[[10495,16]]}},"keywords":{}}],["requiredrout",{"_index":2081,"title":{},"content":{"147":{"position":[[127,13]]},"189":{"position":[[127,13]]}},"keywords":{}}],["requiredrow",{"_index":641,"title":{},"content":{"33":{"position":[[758,12]]}},"keywords":{}}],["requireds",{"_index":2093,"title":{},"content":{"154":{"position":[[100,12]]},"157":{"position":[[107,12]]},"161":{"position":[[102,12]]},"164":{"position":[[109,12]]},"585":{"position":[[117,12]]},"586":{"position":[[119,12]]}},"keywords":{}}],["requiredshard",{"_index":2085,"title":{},"content":{"148":{"position":[[177,13]]},"177":{"position":[[177,13]]},"191":{"position":[[177,13]]}},"keywords":{}}],["requiredshown",{"_index":2179,"title":{},"content":{"199":{"position":[[162,13]]}},"keywords":{}}],["requiredstart",{"_index":4718,"title":{},"content":{"626":{"position":[[1354,13]]},"627":{"position":[[1407,13]]},"628":{"position":[[1379,13]]},"651":{"position":[[53,13]]}},"keywords":{}}],["requiredsubwidget",{"_index":4629,"title":{},"content":{"591":{"position":[[520,17]]}},"keywords":{}}],["requiredt",{"_index":857,"title":{},"content":{"38":{"position":[[112,13]]}},"keywords":{}}],["requiredtab",{"_index":4663,"title":{},"content":{"601":{"position":[[82,11]]}},"keywords":{}}],["requiredtarget",{"_index":161,"title":{},"content":{"5":{"position":[[583,14]]},"130":{"position":[[59,14]]},"131":{"position":[[93,14]]},"132":{"position":[[94,14]]},"184":{"position":[[254,14]]},"226":{"position":[[53,14]]},"245":{"position":[[106,14]]},"246":{"position":[[112,14]]},"247":{"position":[[90,14]]},"248":{"position":[[92,14]]},"252":{"position":[[303,14]]},"276":{"position":[[55,14]]},"296":{"position":[[299,14]]},"298":{"position":[[229,14]]},"609":{"position":[[84,14]]},"610":{"position":[[84,14]]},"611":{"position":[[417,14]]},"612":{"position":[[59,14]]},"613":{"position":[[86,14]]},"614":{"position":[[80,14]]},"615":{"position":[[88,14]]},"616":{"position":[[100,14]]},"617":{"position":[[103,14]]},"618":{"position":[[99,14]]},"619":{"position":[[367,14]]},"620":{"position":[[96,14]]},"621":{"position":[[94,14]]},"622":{"position":[[80,14]]},"623":{"position":[[69,14]]},"624":{"position":[[72,14]]},"625":{"position":[[68,14]]},"626":{"position":[[66,14],[793,14]]},"627":{"position":[[100,14],[846,14]]},"628":{"position":[[84,14],[818,14]]},"629":{"position":[[65,14]]},"630":{"position":[[90,14]]},"631":{"position":[[78,14]]},"633":{"position":[[112,14]]},"634":{"position":[[64,14]]},"635":{"position":[[308,14]]},"648":{"position":[[102,14]]},"649":{"position":[[763,14]]},"650":{"position":[[294,14],[1676,14]]},"652":{"position":[[166,14]]}},"keywords":{}}],["requiredtempl",{"_index":2424,"title":{},"content":{"243":{"position":[[272,16]]},"244":{"position":[[269,16]]},"292":{"position":[[118,16]]},"293":{"position":[[116,16]]}},"keywords":{}}],["requiredtext",{"_index":4668,"title":{},"content":{"604":{"position":[[158,12]]},"606":{"position":[[70,12]]},"642":{"position":[[242,12]]}},"keywords":{}}],["requiredtim",{"_index":2090,"title":{},"content":{"153":{"position":[[78,12]]},"155":{"position":[[70,12]]},"156":{"position":[[85,12]]},"158":{"position":[[72,12]]},"160":{"position":[[80,12]]},"162":{"position":[[72,12]]},"163":{"position":[[87,12]]},"165":{"position":[[74,12]]},"166":{"position":[[83,12]]},"167":{"position":[[81,12]]},"168":{"position":[[80,12]]},"169":{"position":[[80,12]]},"170":{"position":[[80,12]]},"171":{"position":[[68,12]]},"626":{"position":[[1667,12],[1795,12],[1920,12]]},"627":{"position":[[1720,12],[1848,12],[1973,12]]},"628":{"position":[[1692,12],[1820,12],[1945,12]]},"644":{"position":[[142,12]]}},"keywords":{}}],["requiredtitl",{"_index":4644,"title":{},"content":{"595":{"position":[[194,13]]},"597":{"position":[[152,13]]}},"keywords":{}}],["requiredtool",{"_index":2156,"title":{},"content":{"192":{"position":[[283,12]]}},"keywords":{}}],["requiredtop",{"_index":2142,"title":{},"content":{"183":{"position":[[310,13]]}},"keywords":{}}],["requiredtyp",{"_index":2052,"title":{},"content":{"139":{"position":[[391,12]]},"141":{"position":[[205,12]]},"174":{"position":[[325,12]]},"188":{"position":[[165,12]]}},"keywords":{}}],["requiredurl",{"_index":2161,"title":{},"content":{"194":{"position":[[142,11]]},"195":{"position":[[158,11]]},"602":{"position":[[71,11]]}},"keywords":{}}],["requiredvalu",{"_index":669,"title":{},"content":{"36":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"229":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"279":{"position":[[572,13]]},"579":{"position":[[127,13]]},"612":{"position":[[1059,13]]},"619":{"position":[[991,13]]},"626":{"position":[[1509,13]]},"627":{"position":[[1562,13]]},"628":{"position":[[1534,13]]},"650":{"position":[[1323,13]]},"652":{"position":[[1239,13]]}},"keywords":{}}],["requiredvari",{"_index":2004,"title":{},"content":{"126":{"position":[[728,16]]}},"keywords":{}}],["requiredwidget",{"_index":2187,"title":{},"content":{"203":{"position":[[118,14]]},"580":{"position":[[82,14]]},"581":{"position":[[520,14]]},"592":{"position":[[377,14]]}},"keywords":{}}],["requiredwidth",{"_index":4597,"title":{},"content":{"577":{"position":[[215,13]]},"583":{"position":[[115,13]]},"607":{"position":[[70,13]]},"626":{"position":[[2013,13]]},"627":{"position":[[2066,13]]},"628":{"position":[[2038,13]]},"646":{"position":[[218,13]]}},"keywords":{}}],["requiredwindow",{"_index":2167,"title":{},"content":{"196":{"position":[[291,14]]}},"keywords":{}}],["requiredwrit",{"_index":1851,"title":{},"content":{"105":{"position":[[267,13]]},"111":{"position":[[229,13]]}},"keywords":{}}],["requiredx",{"_index":4810,"title":{},"content":{"647":{"position":[[51,9]]},"653":{"position":[[52,9]]}},"keywords":{}}],["requirements.txt",{"_index":2219,"title":{},"content":{"211":{"position":[[176,16]]},"301":{"position":[[1439,16]]}},"keywords":{}}],["research",{"_index":4027,"title":{},"content":{"424":{"position":[[745,8],[1538,8]]}},"keywords":{}}],["resend",{"_index":3141,"title":{},"content":{"348":{"position":[[2250,9],[2299,6]]}},"keywords":{}}],["reserv",{"_index":1087,"title":{},"content":{"48":{"position":[[1029,8],[1061,8]]},"200":{"position":[[95,8]]},"355":{"position":[[445,9],[472,11]]},"454":{"position":[[401,7]]}},"keywords":{}}],["reset",{"_index":1414,"title":{"70":{"position":[[0,6]]}},"content":{"69":{"position":[[382,7]]},"70":{"position":[[5,5],[29,5],[150,9],[280,5],[382,5]]},"71":{"position":[[37,5],[157,7],[305,5],[335,5]]},"72":{"position":[[40,5],[166,7],[320,5],[350,5]]},"219":{"position":[[495,5]]},"379":{"position":[[1731,5]]}},"keywords":{}}],["reset(self",{"_index":1426,"title":{},"content":{"70":{"position":[[331,12]]}},"keywords":{}}],["resid",{"_index":4176,"title":{},"content":{"473":{"position":[[776,8]]}},"keywords":{}}],["resiz",{"_index":4250,"title":{},"content":{"519":{"position":[[153,7]]}},"keywords":{}}],["resolut",{"_index":3116,"title":{},"content":{"344":{"position":[[805,10],[882,11]]}},"keywords":{}}],["resolv",{"_index":3243,"title":{},"content":{"358":{"position":[[822,10]]},"430":{"position":[[476,7]]},"569":{"position":[[415,7]]},"637":{"position":[[1160,8]]}},"keywords":{}}],["resourc",{"_index":2122,"title":{},"content":{"174":{"position":[[98,9]]},"330":{"position":[[335,9],[404,9]]},"355":{"position":[[457,8]]},"420":{"position":[[285,9]]},"422":{"position":[[1002,10]]}},"keywords":{}}],["respect",{"_index":2298,"title":{},"content":{"217":{"position":[[313,13]]},"348":{"position":[[1865,7]]},"612":{"position":[[700,10]]}},"keywords":{}}],["respond",{"_index":1692,"title":{},"content":{"85":{"position":[[159,9]]},"303":{"position":[[1034,7]]},"422":{"position":[[452,8]]},"603":{"position":[[84,7]]}},"keywords":{}}],["respons",{"_index":1263,"title":{"245":{"position":[[0,9]]},"305":{"position":[[7,8]]}},"content":{"57":{"position":[[1126,8],[1152,8]]},"61":{"position":[[299,8],[966,8],[1109,8],[1564,8],[1823,8],[1880,9],[2534,8],[2583,8],[2617,8],[2689,8],[2797,9]]},"64":{"position":[[38,8],[79,8],[215,8],[229,8],[301,8],[413,9],[426,8],[512,8],[771,8],[801,8],[859,8]]},"67":{"position":[[2381,8],[5007,8]]},"77":{"position":[[196,8],[239,8]]},"81":{"position":[[537,9]]},"82":{"position":[[677,9],[6297,9]]},"83":{"position":[[310,9]]},"88":{"position":[[456,10],[565,9]]},"93":{"position":[[242,8]]},"102":{"position":[[15,11]]},"107":{"position":[[715,8]]},"112":{"position":[[587,8]]},"215":{"position":[[660,8]]},"216":{"position":[[281,8]]},"217":{"position":[[629,8],[688,9],[1247,8],[2335,8],[2463,8]]},"219":{"position":[[68,8]]},"245":{"position":[[57,8],[151,8],[209,8]]},"246":{"position":[[63,8],[163,8],[227,8]]},"279":{"position":[[10392,8],[10587,9],[10653,8]]},"303":{"position":[[1126,10]]},"305":{"position":[[79,9],[181,8],[429,8],[520,8],[741,8],[1110,9]]},"406":{"position":[[73,11]]},"424":{"position":[[332,16]]},"434":{"position":[[192,11]]},"540":{"position":[[1069,15]]},"664":{"position":[[433,9]]},"665":{"position":[[399,9]]}},"keywords":{}}],["rest",{"_index":1590,"title":{},"content":{"83":{"position":[[103,4]]}},"keywords":{}}],["restart",{"_index":518,"title":{},"content":{"23":{"position":[[284,8]]},"44":{"position":[[1577,7]]},"547":{"position":[[192,10],[863,7]]},"552":{"position":[[1531,7]]},"569":{"position":[[1130,7]]}},"keywords":{}}],["restor",{"_index":4251,"title":{},"content":{"519":{"position":[[217,8]]}},"keywords":{}}],["restrict",{"_index":2430,"title":{"250":{"position":[[0,11]]}},"content":{"250":{"position":[[38,10],[176,11]]},"387":{"position":[[1087,11]]},"429":{"position":[[329,10]]},"431":{"position":[[179,8],[476,11]]},"432":{"position":[[163,10]]},"513":{"position":[[750,10]]}},"keywords":{}}],["result",{"_index":207,"title":{},"content":{"6":{"position":[[243,6],[765,6]]},"7":{"position":[[784,6]]},"8":{"position":[[297,6]]},"9":{"position":[[320,6],[652,6]]},"36":{"position":[[10621,9]]},"51":{"position":[[100,7]]},"65":{"position":[[1025,6]]},"83":{"position":[[1747,6],[1798,7],[2052,7],[3539,7]]},"222":{"position":[[99,7]]},"238":{"position":[[142,6]]},"272":{"position":[[231,9]]},"320":{"position":[[1782,7]]},"340":{"position":[[344,9]]},"369":{"position":[[684,7]]},"402":{"position":[[5010,7]]},"447":{"position":[[87,6],[279,6],[299,6]]},"457":{"position":[[354,9]]},"528":{"position":[[528,8]]},"551":{"position":[[1144,6],[1616,6]]},"685":{"position":[[1088,9]]},"722":{"position":[[1454,7]]},"723":{"position":[[1221,7]]},"724":{"position":[[887,7]]},"725":{"position":[[768,7]]},"729":{"position":[[740,7]]},"740":{"position":[[359,6],[418,6],[680,6]]}},"keywords":{}}],["result.key",{"_index":5406,"title":{},"content":{"740":{"position":[[552,11]]}},"keywords":{}}],["result['default",{"_index":5407,"title":{},"content":{"740":{"position":[[596,17]]}},"keywords":{}}],["results"",{"_index":2284,"title":{},"content":{"216":{"position":[[314,13]]},"217":{"position":[[2496,13]]}},"keywords":{}}],["resum",{"_index":3028,"title":{},"content":{"330":{"position":[[1194,6]]},"349":{"position":[[2428,7]]},"517":{"position":[[358,7]]},"522":{"position":[[26,6]]},"547":{"position":[[1279,6]]}},"keywords":{}}],["retain",{"_index":4075,"title":{},"content":{"430":{"position":[[4,6],[147,6],[396,6],[631,6]]}},"keywords":{}}],["retent",{"_index":4074,"title":{"430":{"position":[[3,9]]}},"content":{},"keywords":{}}],["retri",{"_index":1930,"title":{},"content":{"112":{"position":[[515,7],[523,7]]},"349":{"position":[[487,5]]},"530":{"position":[[432,5],[546,7]]},"569":{"position":[[222,5],[289,8],[314,5]]},"658":{"position":[[675,5]]}},"keywords":{}}],["retriev",{"_index":757,"title":{"663":{"position":[[0,10]]}},"content":{"36":{"position":[[4878,8],[8875,8]]},"141":{"position":[[366,8]]},"188":{"position":[[326,8]]},"229":{"position":[[4878,8],[8875,8]]},"563":{"position":[[148,8]]},"659":{"position":[[60,9]]},"704":{"position":[[153,9]]},"716":{"position":[[121,8]]},"770":{"position":[[70,8]]},"802":{"position":[[149,8]]},"813":{"position":[[176,8]]}},"keywords":{}}],["return",{"_index":775,"title":{},"content":{"36":{"position":[[5694,6],[6050,6],[8316,6],[9279,6],[9468,6]]},"43":{"position":[[939,8]]},"44":{"position":[[1380,7]]},"50":{"position":[[613,9]]},"53":{"position":[[82,9],[124,7],[950,8]]},"54":{"position":[[274,8],[1348,9]]},"55":{"position":[[2248,9]]},"56":{"position":[[195,7],[808,9],[1250,9]]},"60":{"position":[[753,9]]},"61":{"position":[[1980,9],[2422,9]]},"62":{"position":[[536,9]]},"67":{"position":[[2366,6],[2510,6],[2946,7],[3279,6],[3497,8],[4015,6],[4094,7],[4572,6],[4633,8]]},"69":{"position":[[232,8]]},"73":{"position":[[178,6],[237,7],[383,8],[482,8],[818,6],[897,6],[1187,6],[1289,6],[1322,6],[1395,6],[1632,6],[1812,6]]},"74":{"position":[[95,8],[203,6],[261,7],[339,9],[416,8],[508,8],[837,6],[923,6],[966,7]]},"75":{"position":[[202,6],[260,7],[432,8],[524,8],[699,6],[786,6],[829,7]]},"76":{"position":[[201,6],[260,7],[431,8],[521,8],[692,6],[785,6],[835,7]]},"77":{"position":[[405,6],[476,7],[562,8],[698,8],[913,7],[994,6],[1113,6],[1171,7]]},"78":{"position":[[303,6],[451,6]]},"92":{"position":[[110,7],[187,7],[264,7],[348,7]]},"115":{"position":[[257,6],[338,6],[705,6]]},"216":{"position":[[395,8]]},"217":{"position":[[1110,6],[2385,7],[2577,8]]},"229":{"position":[[5694,6],[6050,6],[8316,6],[9279,6],[9468,6]]},"251":{"position":[[1116,6],[1220,6],[1337,6],[1893,6],[2008,6],[2145,6]]},"275":{"position":[[802,7],[885,7],[1070,7],[1213,7]]},"279":{"position":[[4174,6],[4530,6],[6975,6],[7562,6],[7729,6]]},"320":{"position":[[359,6]]},"347":{"position":[[644,7]]},"402":{"position":[[4837,8],[4926,8],[5000,9],[5067,6],[5250,9]]},"509":{"position":[[205,9]]},"551":{"position":[[1475,6]]},"563":{"position":[[826,8],[1158,8]]},"592":{"position":[[263,7]]},"637":{"position":[[1133,7]]},"659":{"position":[[409,6]]},"664":{"position":[[208,9]]},"665":{"position":[[66,8],[167,9]]},"668":{"position":[[179,9]]},"669":{"position":[[1,6]]},"673":{"position":[[152,9]]},"687":{"position":[[1,7],[82,8]]},"688":{"position":[[1,7]]},"689":{"position":[[1,7]]},"690":{"position":[[1,7]]},"691":{"position":[[1,7]]},"692":{"position":[[1,7]]},"693":{"position":[[1,7]]},"694":{"position":[[1,7],[302,8],[421,8]]},"695":{"position":[[1,7]]},"702":{"position":[[1,7]]},"703":{"position":[[1,7],[105,8]]},"704":{"position":[[1,7]]},"705":{"position":[[1,7]]},"706":{"position":[[1,7]]},"707":{"position":[[1,7]]},"708":{"position":[[1,7]]},"709":{"position":[[1,7]]},"712":{"position":[[646,6],[845,6]]},"714":{"position":[[1,7],[89,7]]},"716":{"position":[[95,8]]},"717":{"position":[[201,8],[381,6]]},"722":{"position":[[398,7],[465,7],[580,7]]},"723":{"position":[[278,7]]},"724":{"position":[[363,7]]},"725":{"position":[[253,7]]},"726":{"position":[[209,7]]},"727":{"position":[[191,7]]},"728":{"position":[[305,7]]},"729":{"position":[[141,7]]},"731":{"position":[[28,7]]},"736":{"position":[[1,7]]},"738":{"position":[[1,7]]},"739":{"position":[[1,7]]},"740":{"position":[[1,7]]},"742":{"position":[[1,7]]},"743":{"position":[[1,7],[57,7]]},"744":{"position":[[1,7],[42,8],[186,8],[345,7]]},"746":{"position":[[1,7]]},"747":{"position":[[1,7]]},"748":{"position":[[1,7],[45,6]]},"750":{"position":[[1,7]]},"751":{"position":[[1,7]]},"756":{"position":[[1,7],[47,6]]},"763":{"position":[[1,7]]},"764":{"position":[[1,7]]},"765":{"position":[[1,7],[44,6]]},"772":{"position":[[1,7],[158,6]]},"773":{"position":[[1,7]]},"774":{"position":[[1,7]]},"784":{"position":[[21,7]]},"785":{"position":[[27,7]]},"799":{"position":[[188,6]]},"801":{"position":[[1,7],[146,7]]},"802":{"position":[[1,7]]},"803":{"position":[[1,7]]},"807":{"position":[[1,6]]},"808":{"position":[[1,6]]},"809":{"position":[[1,6],[48,7],[296,6]]},"814":{"position":[[163,8]]}},"keywords":{}}],["returned.writ",{"_index":1978,"title":{},"content":{"115":{"position":[[1711,14]]}},"keywords":{}}],["reus",{"_index":2769,"title":{},"content":{"302":{"position":[[1667,6]]},"358":{"position":[[8331,5]]},"563":{"position":[[811,5],[1143,5]]},"717":{"position":[[668,5],[1166,5]]}},"keywords":{}}],["reusabl",{"_index":1825,"title":{},"content":{"100":{"position":[[448,8]]},"358":{"position":[[8290,11]]},"549":{"position":[[264,8]]},"564":{"position":[[132,8]]}},"keywords":{}}],["revalid",{"_index":1500,"title":{},"content":{"81":{"position":[[604,10]]},"82":{"position":[[6364,10]]}},"keywords":{}}],["revers",{"_index":1357,"title":{},"content":{"65":{"position":[[1135,7]]},"67":{"position":[[3653,7],[3820,7]]},"221":{"position":[[282,7]]},"258":{"position":[[1460,7]]}},"keywords":{}}],["review",{"_index":4065,"title":{},"content":{"428":{"position":[[21,6],[134,6]]},"434":{"position":[[341,6]]},"540":{"position":[[263,7]]},"544":{"position":[[226,7]]}},"keywords":{}}],["rewrit",{"_index":4427,"title":{},"content":{"547":{"position":[[110,7]]}},"keywords":{}}],["rf",{"_index":3582,"title":{},"content":{"376":{"position":[[355,2]]},"546":{"position":[[1129,2]]}},"keywords":{}}],["rgb",{"_index":4622,"title":{},"content":{"587":{"position":[[247,3],[293,3],[338,3]]},"588":{"position":[[241,3],[287,3],[332,3]]},"589":{"position":[[252,3],[298,3],[343,3]]}},"keywords":{}}],["rhel",{"_index":2837,"title":{},"content":{"309":{"position":[[569,4],[583,4]]}},"keywords":{}}],["rhel8",{"_index":2853,"title":{},"content":{"309":{"position":[[1594,5]]}},"keywords":{}}],["rich",{"_index":2560,"title":{},"content":{"265":{"position":[[97,4]]}},"keywords":{}}],["right",{"_index":542,"title":{"431":{"position":[[21,7]]},"531":{"position":[[0,5]]}},"content":{"24":{"position":[[571,5]]},"43":{"position":[[651,5],[795,5]]},"83":{"position":[[554,5]]},"93":{"position":[[348,6]]},"216":{"position":[[604,5]]},"217":{"position":[[2725,5]]},"349":{"position":[[3763,5]]},"350":{"position":[[621,5],[791,5]]},"380":{"position":[[269,5]]},"389":{"position":[[1053,6],[1156,6],[1212,6]]},"392":{"position":[[277,5]]},"393":{"position":[[250,6]]},"407":{"position":[[468,6]]},"424":{"position":[[1710,6]]},"431":{"position":[[93,5],[170,5],[262,6],[294,6],[364,6],[392,5],[527,5]]},"432":{"position":[[1322,6]]},"452":{"position":[[405,5]]},"464":{"position":[[369,5]]},"487":{"position":[[260,5]]},"492":{"position":[[1,5]]},"505":{"position":[[251,5]]},"506":{"position":[[538,5]]},"524":{"position":[[289,5]]},"531":{"position":[[1,5]]},"569":{"position":[[1068,5]]},"612":{"position":[[519,5],[656,6],[673,7],[789,5]]}},"keywords":{}}],["rm",{"_index":1047,"title":{},"content":{"44":{"position":[[592,2]]},"376":{"position":[[351,2]]},"379":{"position":[[116,2]]}},"keywords":{}}],["roadmap",{"_index":1772,"title":{"94":{"position":[[0,7]]}},"content":{},"keywords":{}}],["robust",{"_index":1194,"title":{},"content":{"53":{"position":[[257,7]]}},"keywords":{}}],["roll",{"_index":3700,"title":{},"content":{"382":{"position":[[783,7]]}},"keywords":{}}],["rollup",{"_index":4735,"title":{"632":{"position":[[0,7]]}},"content":{"632":{"position":[[77,6],[435,6],[569,6],[657,6],[781,6]]}},"keywords":{}}],["room",{"_index":1067,"title":{},"content":{"48":{"position":[[52,4]]}},"keywords":{}}],["root",{"_index":409,"title":{},"content":{"20":{"position":[[307,6]]},"24":{"position":[[885,4]]},"309":{"position":[[316,4]]},"333":{"position":[[1230,4]]},"358":{"position":[[1726,4],[1885,4]]},"362":{"position":[[1313,4]]}},"keywords":{}}],["rootless",{"_index":2828,"title":{"309":{"position":[[20,8]]}},"content":{"309":{"position":[[644,8],[1322,8],[2411,8],[3790,8]]}},"keywords":{}}],["rootless_storage_path",{"_index":2850,"title":{},"content":{"309":{"position":[[1259,22]]}},"keywords":{}}],["rotat",{"_index":4416,"title":{},"content":{"545":{"position":[[396,6],[478,6],[511,6]]}},"keywords":{}}],["rout",{"_index":68,"title":{},"content":{"2":{"position":[[668,6]]},"100":{"position":[[976,5],[1053,6]]},"140":{"position":[[859,5]]},"147":{"position":[[26,5],[44,5],[148,5]]},"189":{"position":[[26,5],[44,5],[148,5]]},"258":{"position":[[1497,6]]},"314":{"position":[[326,5],[1568,5]]},"343":{"position":[[759,6]]}},"keywords":{}}],["route_prefix",{"_index":2079,"title":{"147":{"position":[[0,13]]},"189":{"position":[[0,13]]}},"content":{"147":{"position":[[243,12]]},"189":{"position":[[266,12]]}},"keywords":{}}],["router",{"_index":1829,"title":{"121":{"position":[[0,7]]},"149":{"position":[[0,7]]},"312":{"position":[[44,7]]},"410":{"position":[[0,8]]},"760":{"position":[[0,8]]}},"content":{"100":{"position":[[820,7],[870,7],[940,7]]},"103":{"position":[[172,6]]},"106":{"position":[[642,7]]},"117":{"position":[[318,7]]},"121":{"position":[[1,7]]},"140":{"position":[[787,6]]},"149":{"position":[[8,6],[104,6],[313,7],[439,6]]},"264":{"position":[[241,6]]},"307":{"position":[[945,7]]},"312":{"position":[[110,6]]},"314":{"position":[[156,7],[309,6],[1456,6],[1855,6]]},"345":{"position":[[249,8],[283,6]]},"346":{"position":[[1181,8],[1199,7],[1302,8],[1358,7]]},"410":{"position":[[5,7],[31,7],[108,6]]},"760":{"position":[[51,8]]},"761":{"position":[[19,7],[184,7],[192,6],[244,7],[279,6]]},"762":{"position":[[22,7],[152,7]]},"763":{"position":[[23,7]]},"764":{"position":[[11,6],[48,6],[218,7],[251,6]]},"765":{"position":[[31,8],[112,6],[995,6]]},"766":{"position":[[42,8],[228,6],[308,7]]},"767":{"position":[[41,8],[226,6],[305,7]]},"768":{"position":[[30,7],[80,7],[123,6],[339,6]]},"769":{"position":[[31,6],[381,6]]}},"keywords":{}}],["router[0",{"_index":5598,"title":{},"content":{"765":{"position":[[1039,12]]}},"keywords":{}}],["router[1",{"_index":5599,"title":{},"content":{"765":{"position":[[1070,12]]}},"keywords":{}}],["router[2]}"",{"_index":5600,"title":{},"content":{"765":{"position":[[1106,18]]}},"keywords":{}}],["router[3",{"_index":5601,"title":{},"content":{"765":{"position":[[1159,12]]}},"keywords":{}}],["router[4",{"_index":5602,"title":{},"content":{"765":{"position":[[1192,12]]}},"keywords":{}}],["router[5",{"_index":5603,"title":{},"content":{"765":{"position":[[1224,12]]}},"keywords":{}}],["router[6]}"",{"_index":5604,"title":{},"content":{"765":{"position":[[1253,18]]}},"keywords":{}}],["router[7",{"_index":5606,"title":{},"content":{"765":{"position":[[1303,12]]}},"keywords":{}}],["router[8]}"",{"_index":5607,"title":{},"content":{"765":{"position":[[1330,18]]}},"keywords":{}}],["router_cmd",{"_index":5614,"title":{"768":{"position":[[0,11]]}},"content":{},"keywords":{}}],["router_cmd("<rout",{"_index":5615,"title":{},"content":{"768":{"position":[[174,27]]}},"keywords":{}}],["router_cmd("inst"",{"_index":5616,"title":{},"content":{"768":{"position":[[471,28]]}},"keywords":{}}],["router_info",{"_index":5591,"title":{},"content":{"765":{"position":[[309,11],[846,11],[1005,12]]}},"keywords":{}}],["router_info.each",{"_index":5592,"title":{},"content":{"765":{"position":[[345,16]]}},"keywords":{}}],["router_int",{"_index":5584,"title":{},"content":{"763":{"position":[[133,14]]}},"keywords":{}}],["router_listen_address",{"_index":2924,"title":{},"content":{"314":{"position":[[1121,21],[1614,21]]}},"keywords":{}}],["router_nam",{"_index":5583,"title":{},"content":{"763":{"position":[[92,12]]},"765":{"position":[[365,13],[493,15],[884,12]]}},"keywords":{}}],["router_port",{"_index":2923,"title":{},"content":{"314":{"position":[[952,11],[1510,11],[1535,11]]}},"keywords":{}}],["router_protocol_cmd",{"_index":5617,"title":{"769":{"position":[[0,20]]}},"content":{},"keywords":{}}],["router_protocol_cmd("<rout",{"_index":5618,"title":{},"content":{"769":{"position":[[188,36]]}},"keywords":{}}],["router_protocol_cmd("inst"",{"_index":5619,"title":{},"content":{"769":{"position":[[785,37],[903,37]]}},"keywords":{}}],["router_st",{"_index":4925,"title":{},"content":{"662":{"position":[[3421,12]]}},"keywords":{}}],["routin",{"_index":4566,"title":{},"content":{"568":{"position":[[791,7]]}},"keywords":{}}],["row",{"_index":634,"title":{},"content":{"33":{"position":[[317,4],[333,3],[386,4],[785,4]]},"39":{"position":[[37,3],[87,4],[125,4],[142,4]]},"609":{"position":[[36,4],[372,3],[402,3]]},"610":{"position":[[36,4],[432,3],[456,3]]}},"keywords":{}}],["row_column",{"_index":635,"title":{},"content":{"33":{"position":[[354,10],[445,10],[694,10]]}},"keywords":{}}],["rpc",{"_index":1502,"title":{"86":{"position":[[5,3]]}},"content":{"81":{"position":[[665,3]]},"82":{"position":[[6406,3]]},"86":{"position":[[57,3]]}},"keywords":{}}],["rpc"",{"_index":1478,"title":{},"content":{"81":{"position":[[211,9]]},"82":{"position":[[4754,9]]}},"keywords":{}}],["rsa",{"_index":445,"title":{},"content":{"20":{"position":[[926,3]]},"27":{"position":[[829,3]]},"28":{"position":[[156,3]]}},"keywords":{}}],["rsa:4096",{"_index":411,"title":{},"content":{"20":{"position":[[335,8],[868,8]]}},"keywords":{}}],["rsp_packet",{"_index":1306,"title":{},"content":{"61":{"position":[[1041,10],[1151,11]]}},"keywords":{}}],["rsp_templat",{"_index":1305,"title":{},"content":{"61":{"position":[[1024,12],[1063,12]]}},"keywords":{}}],["rspec",{"_index":2212,"title":{},"content":{"210":{"position":[[107,5]]}},"keywords":{}}],["rtc",{"_index":1258,"title":{},"content":{"57":{"position":[[558,3],[679,3]]}},"keywords":{}}],["rtsct",{"_index":1914,"title":{},"content":{"111":{"position":[[1095,7],[1942,6]]},"140":{"position":[[382,6],[761,6]]},"314":{"position":[[788,6]]}},"keywords":{}}],["rubi",{"_index":192,"title":{"210":{"position":[[0,4]]},"269":{"position":[[0,4]]},"540":{"position":[[0,4]]},"566":{"position":[[42,4]]},"572":{"position":[[12,4]]}},"content":{"6":{"position":[[25,5],[62,4],[91,4],[181,4],[217,4],[478,4]]},"11":{"position":[[118,4],[228,4],[313,4],[342,5]]},"12":{"position":[[12,4],[32,4]]},"36":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8031,4],[9187,4]]},"42":{"position":[[209,5],[1559,4],[2797,4]]},"44":{"position":[[1485,4]]},"57":{"position":[[217,5],[372,4]]},"67":{"position":[[685,6],[991,4],[1705,4],[1795,4],[1862,4],[4610,4]]},"69":{"position":[[148,4]]},"70":{"position":[[254,4]]},"71":{"position":[[117,4]]},"72":{"position":[[123,4]]},"73":{"position":[[610,4]]},"74":{"position":[[791,4]]},"75":{"position":[[652,4]]},"76":{"position":[[649,4]]},"77":{"position":[[933,4]]},"78":{"position":[[194,4]]},"79":{"position":[[23,4]]},"89":{"position":[[70,5]]},"93":{"position":[[138,4],[265,4]]},"96":{"position":[[78,4]]},"104":{"position":[[833,4]]},"105":{"position":[[912,4]]},"106":{"position":[[876,4]]},"107":{"position":[[794,4]]},"108":{"position":[[519,4]]},"109":{"position":[[1297,4]]},"110":{"position":[[1631,4]]},"111":{"position":[[200,5],[1153,4]]},"112":{"position":[[137,5],[882,4]]},"113":{"position":[[141,5],[487,4]]},"114":{"position":[[102,5],[195,4]]},"117":{"position":[[518,4]]},"126":{"position":[[545,4],[671,4]]},"128":{"position":[[140,4],[670,4]]},"130":{"position":[[122,4]]},"131":{"position":[[164,4]]},"132":{"position":[[167,4]]},"139":{"position":[[549,4],[701,4]]},"145":{"position":[[213,4],[232,4]]},"149":{"position":[[460,4]]},"185":{"position":[[197,4],[252,4]]},"214":{"position":[[1116,4],[1171,5]]},"222":{"position":[[178,5]]},"223":{"position":[[174,5]]},"229":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8031,4],[9187,4]]},"251":{"position":[[249,4],[546,4]]},"257":{"position":[[327,4]]},"269":{"position":[[58,4],[137,4],[196,5]]},"271":{"position":[[1782,6]]},"275":{"position":[[968,4],[1080,4],[1265,4]]},"279":{"position":[[3026,4],[3171,6],[3551,4],[3882,4],[6691,4],[7491,4],[10539,4],[10765,4]]},"288":{"position":[[192,4],[414,4]]},"301":{"position":[[1228,4]]},"302":{"position":[[255,4]]},"303":{"position":[[279,4],[1256,4]]},"304":{"position":[[311,4]]},"305":{"position":[[336,4]]},"313":{"position":[[17,4],[35,5],[99,4]]},"342":{"position":[[479,4],[693,4]]},"349":{"position":[[2104,4]]},"358":{"position":[[1275,4],[1331,4],[1406,7],[7417,5]]},"402":{"position":[[563,5]]},"412":{"position":[[32,4]]},"447":{"position":[[408,4],[681,4]]},"498":{"position":[[613,4]]},"528":{"position":[[61,4]]},"532":{"position":[[231,4]]},"533":{"position":[[339,4]]},"534":{"position":[[124,5]]},"535":{"position":[[955,5]]},"539":{"position":[[22,4],[59,4],[193,4]]},"540":{"position":[[63,4],[322,5],[345,4],[617,4],[679,5],[1821,4],[4652,4]]},"542":{"position":[[451,5]]},"543":{"position":[[1,4]]},"544":{"position":[[647,5],[1325,5]]},"545":{"position":[[219,4]]},"547":{"position":[[601,5]]},"549":{"position":[[517,5]]},"550":{"position":[[306,5]]},"551":{"position":[[754,5]]},"552":{"position":[[1144,4],[2242,5]]},"557":{"position":[[99,4],[123,4],[197,4],[334,4]]},"559":{"position":[[435,5]]},"560":{"position":[[429,4],[581,4]]},"561":{"position":[[305,5]]},"563":{"position":[[535,5]]},"564":{"position":[[321,5]]},"565":{"position":[[597,5]]},"566":{"position":[[481,4]]},"571":{"position":[[244,4]]},"572":{"position":[[12,4],[235,4]]},"657":{"position":[[46,4],[62,4]]},"664":{"position":[[219,4],[653,4]]},"665":{"position":[[178,4],[619,4]]},"668":{"position":[[190,4],[584,4]]},"669":{"position":[[57,4],[602,4]]},"670":{"position":[[40,4],[483,4]]},"671":{"position":[[40,4],[380,4]]},"673":{"position":[[449,4],[1303,4],[1454,4]]},"675":{"position":[[75,4],[199,4]]},"677":{"position":[[29,4],[1279,4],[1359,4]]},"678":{"position":[[191,4],[1501,4]]},"679":{"position":[[196,4],[1522,4]]},"680":{"position":[[265,4],[1555,4]]},"681":{"position":[[57,4],[1355,4]]},"682":{"position":[[214,4],[1572,4]]},"683":{"position":[[219,4],[1593,4]]},"684":{"position":[[288,4],[1626,4]]},"685":{"position":[[33,4],[402,4]]},"686":{"position":[[34,4],[198,4],[228,4]]},"687":{"position":[[161,4],[286,4]]},"688":{"position":[[65,4],[194,4]]},"689":{"position":[[67,4],[313,4]]},"690":{"position":[[48,4],[399,4]]},"691":{"position":[[82,4],[96,4],[394,4]]},"692":{"position":[[86,4],[460,4]]},"693":{"position":[[227,4],[622,4],[646,4]]},"694":{"position":[[52,4],[431,4]]},"695":{"position":[[65,4],[323,4]]},"697":{"position":[[327,4],[795,4],[1053,4]]},"698":{"position":[[246,4],[708,5],[738,4]]},"699":{"position":[[473,5],[905,4],[1039,4]]},"700":{"position":[[126,4],[377,4]]},"701":{"position":[[48,4],[516,5],[547,4]]},"702":{"position":[[79,4],[377,4]]},"703":{"position":[[203,4],[583,5],[614,4]]},"704":{"position":[[247,4],[443,4]]},"705":{"position":[[48,4],[172,4]]},"706":{"position":[[47,4],[176,4]]},"707":{"position":[[25,4],[271,4]]},"708":{"position":[[24,4],[349,4]]},"709":{"position":[[78,4],[342,4]]},"710":{"position":[[366,4],[642,5],[672,4]]},"711":{"position":[[76,4],[527,5],[557,4]]},"712":{"position":[[228,4],[521,5],[551,4]]},"713":{"position":[[79,4],[339,5],[369,4]]},"714":{"position":[[202,4],[243,4]]},"716":{"position":[[141,4],[307,4]]},"717":{"position":[[52,4],[413,4]]},"718":{"position":[[47,4],[255,4]]},"719":{"position":[[59,4],[275,4]]},"720":{"position":[[55,4],[289,4]]},"722":{"position":[[351,4],[555,4],[1372,5],[1481,4]]},"723":{"position":[[255,4],[1139,5],[1248,4]]},"724":{"position":[[589,4],[914,4]]},"725":{"position":[[228,4],[795,4]]},"726":{"position":[[184,4],[984,5],[1015,4]]},"727":{"position":[[166,4],[1035,5],[1066,4]]},"728":{"position":[[280,4],[517,4],[761,4]]},"729":{"position":[[116,4],[767,4]]},"731":{"position":[[110,4],[495,4]]},"732":{"position":[[62,4],[350,4]]},"733":{"position":[[63,4],[352,4]]},"734":{"position":[[85,4],[235,4]]},"735":{"position":[[86,4],[237,4]]},"736":{"position":[[51,4]]},"737":{"position":[[66,4],[205,4]]},"738":{"position":[[81,4]]},"739":{"position":[[49,4]]},"740":{"position":[[72,4],[344,4]]},"741":{"position":[[214,4],[1956,4]]},"742":{"position":[[132,4]]},"743":{"position":[[95,4],[346,4]]},"744":{"position":[[86,4],[369,4]]},"746":{"position":[[59,4]]},"747":{"position":[[73,4],[187,4]]},"750":{"position":[[111,4],[246,4]]},"751":{"position":[[62,4]]},"752":{"position":[[58,4],[415,4]]},"753":{"position":[[63,4],[205,4]]},"754":{"position":[[92,4],[392,4]]},"755":{"position":[[91,4],[388,4]]},"756":{"position":[[291,4]]},"757":{"position":[[105,4],[632,4]]},"758":{"position":[[161,4],[469,4]]},"759":{"position":[[168,4],[591,5],[766,4]]},"761":{"position":[[28,4],[361,4]]},"762":{"position":[[31,4],[161,4]]},"763":{"position":[[59,4]]},"764":{"position":[[104,4],[227,4]]},"765":{"position":[[285,4]]},"766":{"position":[[89,4],[374,4]]},"767":{"position":[[88,4],[370,4]]},"768":{"position":[[151,4],[447,4]]},"769":{"position":[[165,4],[595,5],[770,4]]},"770":{"position":[[135,5]]},"771":{"position":[[21,4],[194,4]]},"772":{"position":[[36,4],[166,4]]},"773":{"position":[[34,4],[61,4]]},"774":{"position":[[30,4]]},"775":{"position":[[56,4],[189,4]]},"777":{"position":[[385,4]]},"778":{"position":[[308,4],[374,4],[728,4]]},"780":{"position":[[54,4],[475,4]]},"781":{"position":[[35,4],[254,4]]},"782":{"position":[[27,4]]},"783":{"position":[[47,4],[267,4]]},"784":{"position":[[69,4]]},"785":{"position":[[307,4]]},"786":{"position":[[160,4],[454,4]]},"787":{"position":[[229,4],[914,4]]},"789":{"position":[[52,4],[245,4]]},"790":{"position":[[72,4]]},"791":{"position":[[136,4],[278,4]]},"792":{"position":[[135,4]]},"793":{"position":[[496,4]]},"795":{"position":[[491,4],[790,4],[948,4],[1051,4]]},"797":{"position":[[87,4]]},"798":{"position":[[78,4]]},"799":{"position":[[283,4]]},"801":{"position":[[51,4],[171,4]]},"802":{"position":[[43,4],[198,4]]},"803":{"position":[[43,4],[356,4]]},"804":{"position":[[43,4],[373,4]]},"805":{"position":[[76,4]]},"807":{"position":[[105,4]]},"808":{"position":[[66,4]]},"809":{"position":[[60,6],[116,4],[304,4]]},"810":{"position":[[156,4],[338,4]]},"812":{"position":[[97,4]]},"813":{"position":[[68,4],[211,4]]},"814":{"position":[[216,4],[394,4]]},"815":{"position":[[40,4],[289,4]]},"816":{"position":[[42,4],[295,4]]}},"keywords":{}}],["rubygem",{"_index":959,"title":{},"content":{"42":{"position":[[1689,9]]},"301":{"position":[[1035,8]]},"326":{"position":[[605,7]]},"359":{"position":[[139,7],[1953,7]]},"412":{"position":[[222,8]]}},"keywords":{}}],["rubygems.org"",{"_index":2310,"title":{},"content":{"217":{"position":[[1368,18]]}},"keywords":{}}],["rubygems_url",{"_index":963,"title":{},"content":{"42":{"position":[[1783,13]]},"807":{"position":[[322,15]]},"808":{"position":[[1105,15],[1130,15]]},"809":{"position":[[408,15],[592,16]]}},"keywords":{}}],["rubygems_url=https://rubygems.org",{"_index":969,"title":{},"content":{"42":{"position":[[1893,33]]}},"keywords":{}}],["rule",{"_index":2970,"title":{},"content":{"321":{"position":[[185,5],[989,4]]},"364":{"position":[[173,5]]},"367":{"position":[[345,4]]},"368":{"position":[[550,4]]},"418":{"position":[[92,6]]}},"keywords":{}}],["rule_fil",{"_index":3361,"title":{},"content":{"364":{"position":[[436,11]]}},"keywords":{}}],["run",{"_index":225,"title":{"43":{"position":[[0,7]]},"44":{"position":[[0,7]]},"313":{"position":[[22,7]]},"333":{"position":[[0,4]]},"377":{"position":[[10,3]]},"395":{"position":[[0,7]]},"404":{"position":[[7,7]]},"530":{"position":[[0,7]]},"532":{"position":[[0,7]]}},"content":{"6":{"position":[[650,5]]},"11":{"position":[[208,4]]},"20":{"position":[[269,4]]},"23":{"position":[[346,3]]},"27":{"position":[[211,3],[640,3],[766,3]]},"28":{"position":[[90,3]]},"36":{"position":[[4582,4],[4665,4],[4727,3],[8579,4],[8662,4],[8724,3]]},"42":{"position":[[394,3],[2002,7],[2018,7],[2197,3],[2263,7],[3114,8]]},"43":{"position":[[36,7],[361,7],[557,3],[565,3]]},"44":{"position":[[154,3],[537,3],[616,3],[877,3]]},"67":{"position":[[3166,3],[3642,3]]},"71":{"position":[[350,4]]},"72":{"position":[[365,4]]},"83":{"position":[[26,3],[163,3],[332,3],[431,7],[1986,4],[2620,3],[3295,7]]},"117":{"position":[[432,3]]},"122":{"position":[[144,7]]},"123":{"position":[[30,7],[56,4]]},"126":{"position":[[667,3]]},"143":{"position":[[65,3],[213,4],[284,3],[432,4]]},"145":{"position":[[43,3],[94,3],[185,3]]},"146":{"position":[[60,3]]},"148":{"position":[[34,3],[93,7]]},"171":{"position":[[20,3],[107,4]]},"177":{"position":[[34,3],[93,7]]},"181":{"position":[[49,3],[197,4],[268,3],[416,4]]},"185":{"position":[[28,3],[78,3],[169,3]]},"187":{"position":[[44,3]]},"191":{"position":[[34,3],[93,7]]},"192":{"position":[[206,7]]},"209":{"position":[[131,3],[208,3],[397,3]]},"210":{"position":[[35,3]]},"211":{"position":[[42,3],[225,3]]},"229":{"position":[[4582,4],[4665,4],[4727,3],[8579,4],[8662,4],[8724,3]]},"255":{"position":[[69,3]]},"258":{"position":[[128,4],[369,4],[488,4],[921,4]]},"259":{"position":[[54,7],[317,3]]},"263":{"position":[[478,3]]},"301":{"position":[[1287,7]]},"303":{"position":[[850,3],[938,3]]},"307":{"position":[[427,7]]},"309":{"position":[[70,7],[302,3],[498,7],[3860,3],[3883,3],[3922,7]]},"310":{"position":[[728,3],[761,3]]},"313":{"position":[[187,7],[285,3]]},"314":{"position":[[13,3],[403,7],[2073,7]]},"315":{"position":[[128,4],[360,4]]},"317":{"position":[[252,7]]},"320":{"position":[[696,3],[737,3],[768,3]]},"323":{"position":[[158,4]]},"324":{"position":[[239,3],[328,7]]},"328":{"position":[[174,7]]},"333":{"position":[[342,3],[357,3],[387,3],[570,7],[628,8],[664,3],[724,3],[847,7],[883,7],[939,3],[982,3],[1111,4],[1129,3],[1205,3],[1325,7],[1404,4],[1409,3]]},"340":{"position":[[100,3],[241,7],[359,7]]},"344":{"position":[[118,7],[910,3]]},"349":{"position":[[1238,3],[4516,4]]},"358":{"position":[[1715,3],[1744,4],[1845,7],[1874,3],[1915,3],[1936,7],[2391,3]]},"359":{"position":[[2827,3]]},"362":{"position":[[1318,3]]},"363":{"position":[[529,3]]},"364":{"position":[[168,4]]},"367":{"position":[[12,3]]},"368":{"position":[[429,7]]},"369":{"position":[[668,3],[918,7],[1018,3],[2509,3],[3562,7],[3637,3]]},"373":{"position":[[338,3],[360,3]]},"374":{"position":[[4,3]]},"376":{"position":[[227,3],[401,3],[552,3],[566,3],[575,3]]},"377":{"position":[[123,3]]},"380":{"position":[[392,7],[1103,8],[1812,7]]},"382":{"position":[[160,3],[403,3],[467,3]]},"383":{"position":[[1035,3]]},"385":{"position":[[4,3],[119,3],[196,3]]},"386":{"position":[[341,7]]},"402":{"position":[[1873,3],[1992,4]]},"404":{"position":[[71,4],[98,4],[129,3],[178,8],[2563,3],[2701,7]]},"422":{"position":[[102,7],[642,3],[908,7],[1108,4],[1152,3],[1263,3],[1365,4],[1523,3]]},"454":{"position":[[87,3],[108,3]]},"455":{"position":[[272,3],[1039,4],[1461,3],[1624,3]]},"497":{"position":[[403,3]]},"526":{"position":[[294,3]]},"529":{"position":[[359,7],[414,7]]},"530":{"position":[[1,7]]},"531":{"position":[[219,3],[380,4]]},"533":{"position":[[46,3],[210,4],[946,4]]},"534":{"position":[[812,3],[912,3],[981,3]]},"535":{"position":[[76,7]]},"540":{"position":[[3871,3]]},"546":{"position":[[36,3],[638,7],[1235,7]]},"547":{"position":[[373,7]]},"552":{"position":[[545,4],[2219,7],[2540,7]]},"554":{"position":[[464,7]]},"556":{"position":[[703,3]]},"557":{"position":[[233,3]]},"560":{"position":[[84,3],[979,7]]},"566":{"position":[[746,7]]},"569":{"position":[[544,4],[709,7],[862,4],[1023,3]]},"637":{"position":[[1837,4],[2064,4]]},"658":{"position":[[82,7],[850,8]]},"681":{"position":[[35,7]]},"682":{"position":[[35,7]]},"683":{"position":[[35,7]]},"684":{"position":[[35,7]]},"770":{"position":[[261,4]]},"778":{"position":[[112,3]]},"794":{"position":[[114,7]]},"798":{"position":[[26,3],[58,3]]},"799":{"position":[[232,7]]}},"keywords":{}}],["run_count",{"_index":5633,"title":{},"content":{"773":{"position":[[104,12],[196,13]]},"774":{"position":[[83,13]]}},"keywords":{}}],["run_method",{"_index":4559,"title":{},"content":{"566":{"position":[[535,12],[854,12]]}},"keywords":{}}],["run_mod",{"_index":5725,"title":{"798":{"position":[[0,9]]}},"content":{"798":{"position":[[111,10]]}},"keywords":{}}],["run_opts=$(<<<"$run_opts"",{"_index":1654,"title":{},"content":{"83":{"position":[[2865,44]]}},"keywords":{}}],["run_opts=$(cat",{"_index":1645,"title":{},"content":{"83":{"position":[[2633,14]]}},"keywords":{}}],["runner",{"_index":353,"title":{"83":{"position":[[6,6]]},"349":{"position":[[7,7]]},"525":{"position":[[7,6]]},"527":{"position":[[7,6]]},"546":{"position":[[7,7]]},"658":{"position":[[13,7]]},"660":{"position":[[7,6]]},"788":{"position":[[7,6]]},"794":{"position":[[7,6]]},"796":{"position":[[7,6]]}},"content":{"13":{"position":[[263,6]]},"36":{"position":[[2011,6]]},"42":{"position":[[1056,6],[2168,6],[2524,6],[2624,6]]},"43":{"position":[[1137,6]]},"44":{"position":[[62,6],[662,6]]},"83":{"position":[[3191,6]]},"229":{"position":[[2011,6]]},"237":{"position":[[131,6]]},"258":{"position":[[1085,6]]},"269":{"position":[[27,6]]},"290":{"position":[[200,6]]},"297":{"position":[[346,7],[431,7]]},"324":{"position":[[180,6],[741,6]]},"340":{"position":[[268,6],[333,6],[483,6]]},"349":{"position":[[8,6],[560,6],[752,6],[1346,6],[1422,6],[1685,6],[1864,6],[2083,6],[2177,6],[2317,6],[2448,6],[2545,6],[2727,6],[2835,6],[3006,6],[3125,6],[3295,6],[3515,6],[3655,6],[3802,6],[3966,6],[4064,6],[4163,6],[4277,6],[4549,6],[4661,6],[4823,6],[4970,6],[5083,6],[5196,6],[5307,6],[5473,6],[5639,6],[5778,6],[5924,6],[6091,6],[6239,6],[6369,6],[6531,6],[6744,6]]},"364":{"position":[[924,6],[1029,6]]},"369":{"position":[[1481,6],[2971,6]]},"497":{"position":[[493,6]]},"526":{"position":[[8,6],[138,6],[256,6]]},"531":{"position":[[140,6],[485,6]]},"532":{"position":[[69,6]]},"538":{"position":[[369,6]]},"540":{"position":[[3788,6]]},"546":{"position":[[83,6],[324,6],[567,6],[1217,6]]},"552":{"position":[[585,6],[1546,6]]},"554":{"position":[[8,6],[823,6]]},"555":{"position":[[60,6]]},"556":{"position":[[40,6]]},"557":{"position":[[8,6]]},"561":{"position":[[15,6],[284,6]]},"569":{"position":[[256,6]]},"637":{"position":[[1438,6]]},"658":{"position":[[8,6],[140,6]]},"660":{"position":[[57,6]]},"661":{"position":[[262,6],[295,6]]},"662":{"position":[[382,6],[1172,6],[1239,6],[2876,6],[2915,6],[3346,6],[3514,6],[3671,6],[3744,6],[3827,6],[3864,6],[3917,6],[3977,6],[4816,6],[5073,6],[5140,6],[5217,6],[5304,6]]},"710":{"position":[[248,6]]},"788":{"position":[[56,6]]},"789":{"position":[[43,7],[160,6]]},"790":{"position":[[44,6]]},"791":{"position":[[72,6]]},"792":{"position":[[71,6]]},"794":{"position":[[17,6]]},"810":{"position":[[114,7]]}},"keywords":{}}],["runningscript.manu",{"_index":4323,"title":{},"content":{"535":{"position":[[1026,20]]},"560":{"position":[[437,20],[782,21],[882,21]]}},"keywords":{}}],["runscript",{"_index":4764,"title":{},"content":{"637":{"position":[[1303,11],[1323,11]]}},"keywords":{}}],["runscript("inst/procedures/checks.rb"",{"_index":4770,"title":{},"content":{"637":{"position":[[1850,50]]}},"keywords":{}}],["runscript('inst/procedures/script.rb",{"_index":4766,"title":{},"content":{"637":{"position":[[1513,38]]}},"keywords":{}}],["runtim",{"_index":1465,"title":{},"content":{"78":{"position":[[124,8]]},"81":{"position":[[788,8]]},"82":{"position":[[6529,8]]},"127":{"position":[[151,7]]},"255":{"position":[[350,7]]},"258":{"position":[[583,7]]},"260":{"position":[[105,8]]},"407":{"position":[[208,8]]}},"keywords":{}}],["runtimeerror(f"us",{"_index":4509,"title":{},"content":{"559":{"position":[[834,24]]}},"keywords":{}}],["rw",{"_index":1895,"title":{},"content":{"109":{"position":[[1587,2]]},"110":{"position":[[1969,2]]}},"keywords":{}}],["rx_byte",{"_index":5536,"title":{},"content":{"756":{"position":[[460,9],[1019,9]]},"765":{"position":[[442,9],[960,9]]}},"keywords":{}}],["rx_bytes}"",{"_index":5541,"title":{},"content":{"756":{"position":[[744,17]]},"765":{"position":[[720,17]]}},"keywords":{}}],["rx_q_size",{"_index":5534,"title":{},"content":{"756":{"position":[[439,10],[682,13],[998,10]]},"765":{"position":[[421,10],[658,13],[939,10]]}},"keywords":{}}],["ryan",{"_index":3527,"title":{},"content":{"369":{"position":[[4109,4]]}},"keywords":{}}],["s",{"_index":1054,"title":{},"content":{"44":{"position":[[1339,1],[1370,1]]},"235":{"position":[[473,1]]},"252":{"position":[[524,1]]},"309":{"position":[[1921,1]]},"540":{"position":[[1387,1]]}},"keywords":{}}],["s3",{"_index":2520,"title":{},"content":{"258":{"position":[[1335,2]]},"268":{"position":[[30,2],[282,3]]},"439":{"position":[[297,2]]},"440":{"position":[[862,2]]}},"keywords":{}}],["s98ahprarwszc0mmhd5b_wixusmvw4xyw8eavfue4zfw",{"_index":1568,"title":{},"content":{"82":{"position":[[4406,44]]}},"keywords":{}}],["saa",{"_index":1812,"title":{},"content":{"97":{"position":[[51,4]]}},"keywords":{}}],["safari/537.36",{"_index":1617,"title":{},"content":{"83":{"position":[[1213,13]]}},"keywords":{}}],["safe",{"_index":2799,"title":{},"content":{"305":{"position":[[417,4]]},"312":{"position":[[191,6]]},"559":{"position":[[423,4]]}},"keywords":{}}],["safe_limits_response.rb",{"_index":2801,"title":{},"content":{"305":{"position":[[584,23],[1399,23]]}},"keywords":{}}],["safeguard",{"_index":4036,"title":{},"content":{"424":{"position":[[1696,9]]}},"keywords":{}}],["safest",{"_index":4073,"title":{},"content":{"429":{"position":[[613,6]]}},"keywords":{}}],["safeti",{"_index":735,"title":{},"content":{"36":{"position":[[3827,6]]},"229":{"position":[[3827,6]]},"279":{"position":[[9691,6],[10078,6]]},"303":{"position":[[980,6]]},"432":{"position":[[1460,6]]}},"keywords":{}}],["sale",{"_index":4083,"title":{},"content":{"430":{"position":[[738,5]]}},"keywords":{}}],["sales@openc3.com",{"_index":3823,"title":{},"content":{"393":{"position":[[1025,16],[1436,16]]}},"keywords":{}}],["same",{"_index":309,"title":{},"content":{"9":{"position":[[868,4]]},"17":{"position":[[63,4],[162,4]]},"18":{"position":[[66,4],[166,4]]},"31":{"position":[[551,4]]},"42":{"position":[[568,4]]},"52":{"position":[[284,4],[388,4]]},"55":{"position":[[731,4],[780,4],[797,4]]},"61":{"position":[[416,4]]},"67":{"position":[[3274,4],[4567,4]]},"77":{"position":[[423,4]]},"91":{"position":[[218,4],[302,5],[384,4]]},"93":{"position":[[105,4]]},"100":{"position":[[909,4]]},"104":{"position":[[336,4],[459,4]]},"105":{"position":[[324,4],[397,4]]},"126":{"position":[[407,4]]},"150":{"position":[[142,4],[222,4]]},"174":{"position":[[180,4]]},"272":{"position":[[367,4]]},"279":{"position":[[8860,4]]},"314":{"position":[[2088,4]]},"321":{"position":[[592,4]]},"323":{"position":[[643,4]]},"383":{"position":[[318,4]]},"389":{"position":[[755,4]]},"392":{"position":[[71,4]]},"467":{"position":[[751,4]]},"524":{"position":[[402,4]]},"534":{"position":[[710,4]]},"543":{"position":[[78,4]]},"547":{"position":[[61,4],[122,4]]},"562":{"position":[[53,4]]},"572":{"position":[[115,4]]},"659":{"position":[[658,4],[1008,4],[1125,4],[1315,4]]},"704":{"position":[[173,4]]},"793":{"position":[[293,4]]},"806":{"position":[[126,4]]}},"keywords":{}}],["sameorigin",{"_index":1547,"title":{},"content":{"82":{"position":[[1212,10]]}},"keywords":{}}],["sampl",{"_index":2553,"title":{"563":{"position":[[22,6]]}},"content":{"264":{"position":[[307,6]]},"364":{"position":[[148,7]]},"402":{"position":[[3315,7]]},"542":{"position":[[422,7]]},"563":{"position":[[256,6]]},"741":{"position":[[1659,7]]}},"keywords":{}}],["sat",{"_index":1511,"title":{},"content":{"81":{"position":[[812,4]]}},"keywords":{}}],["satellit",{"_index":27,"title":{},"content":{"1":{"position":[[282,11]]},"119":{"position":[[226,10]]},"369":{"position":[[4161,10]]},"632":{"position":[[442,9]]}},"keywords":{}}],["satur",{"_index":841,"title":{},"content":{"36":{"position":[[9968,10],[10419,8]]},"229":{"position":[[9968,10],[10419,8]]}},"keywords":{}}],["save",{"_index":849,"title":{},"content":{"36":{"position":[[10608,5]]},"42":{"position":[[2329,4]]},"83":{"position":[[1810,5]]},"324":{"position":[[397,4],[456,5]]},"331":{"position":[[353,4],[391,4],[841,4]]},"347":{"position":[[696,6],[722,4]]},"349":{"position":[[1535,5],[1545,4]]},"351":{"position":[[520,6]]},"352":{"position":[[731,6],[784,6],[1026,6],[1052,4],[1169,5]]},"353":{"position":[[651,6]]},"392":{"position":[[13,4]]},"416":{"position":[[93,5]]},"440":{"position":[[435,4]]},"455":{"position":[[1304,5]]},"457":{"position":[[312,4],[345,4]]},"461":{"position":[[11,5],[178,5],[354,4],[379,4],[433,5],[558,5]]},"472":{"position":[[77,5],[1009,5],[1185,4],[1210,4],[1264,5],[1389,5]]},"473":{"position":[[601,4]]},"478":{"position":[[11,5],[240,5],[416,4],[441,4],[495,5],[620,5]]},"489":{"position":[[48,5]]},"502":{"position":[[10,5],[177,5],[353,4],[378,4],[432,5],[557,5]]},"505":{"position":[[324,4],[332,4]]},"519":{"position":[[207,5]]},"521":{"position":[[10,5],[196,5],[372,4],[397,4],[451,5],[576,5]]},"522":{"position":[[420,5]]},"526":{"position":[[175,5]]},"528":{"position":[[545,4],[560,6],[608,4],[626,4]]},"626":{"position":[[1729,4],[1829,4]]},"627":{"position":[[1782,4],[1882,4]]},"628":{"position":[[1754,4],[1854,4]]},"658":{"position":[[267,4]]},"786":{"position":[[88,5]]},"787":{"position":[[102,5]]},"811":{"position":[[48,4],[120,4]]},"813":{"position":[[14,5]]},"815":{"position":[[1,4],[251,4]]}},"keywords":{}}],["save_config",{"_index":5817,"title":{"815":{"position":[[0,12]]}},"content":{},"keywords":{}}],["save_config(<tool",{"_index":5818,"title":{},"content":{"815":{"position":[[63,20]]}},"keywords":{}}],["save_config('telemetry_graph",{"_index":5820,"title":{},"content":{"815":{"position":[[313,32]]}},"keywords":{}}],["save_file_dialog",{"_index":4926,"title":{},"content":{"662":{"position":[[3490,16]]},"673":{"position":[[197,16],[249,16]]}},"keywords":{}}],["save_set",{"_index":4927,"title":{},"content":{"662":{"position":[[3532,12]]}},"keywords":{}}],["scaffold",{"_index":2736,"title":{},"content":{"301":{"position":[[34,11]]},"302":{"position":[[34,11]]},"303":{"position":[[40,11]]},"304":{"position":[[38,11]]},"305":{"position":[[43,11]]},"306":{"position":[[38,11]]},"307":{"position":[[32,11]]}},"keywords":{}}],["scale",{"_index":830,"title":{},"content":{"36":{"position":[[9330,5],[9517,5]]},"229":{"position":[[9330,5],[9517,5]]},"261":{"position":[[109,8]]},"267":{"position":[[558,7]]},"279":{"position":[[7613,5],[7778,5]]},"368":{"position":[[371,8]]},"369":{"position":[[4029,7],[4142,6]]},"420":{"position":[[102,6]]},"522":{"position":[[1151,6],[1214,5],[1366,7]]},"613":{"position":[[189,5]]},"627":{"position":[[40,5]]},"630":{"position":[[193,5]]}},"keywords":{}}],["scenario",{"_index":3152,"title":{"558":{"position":[[7,10]]}},"content":{"349":{"position":[[1036,10]]},"546":{"position":[[876,8]]}},"keywords":{}}],["scene",{"_index":3861,"title":{},"content":{"402":{"position":[[109,6]]},"552":{"position":[[108,6]]}},"keywords":{}}],["schedul",{"_index":3226,"title":{},"content":{"355":{"position":[[68,9],[252,10],[348,10]]},"454":{"position":[[1,9],[242,9]]},"455":{"position":[[159,9],[189,9],[294,9],[330,8],[626,8],[881,8],[922,8],[973,8],[1162,9]]},"513":{"position":[[482,9]]}},"keywords":{}}],["scheme",{"_index":500,"title":{},"content":{"22":{"position":[[432,7]]},"364":{"position":[[1114,7]]}},"keywords":{}}],["scid",{"_index":1281,"title":{},"content":{"59":{"position":[[378,4]]}},"keywords":{}}],["scientif",{"_index":4026,"title":{},"content":{"424":{"position":[[720,10],[1513,10]]}},"keywords":{}}],["scope",{"_index":1703,"title":{},"content":{"86":{"position":[[355,5]]},"147":{"position":[[188,7]]},"189":{"position":[[188,7]]},"346":{"position":[[104,6]]},"380":{"position":[[446,5]]},"402":{"position":[[1307,6],[1721,5],[2649,6],[3652,6]]},"440":{"position":[[131,6],[174,5]]},"513":{"position":[[197,5],[591,5]]}},"keywords":{}}],["scope__telemetry__targetname__packetnam",{"_index":3917,"title":{},"content":{"402":{"position":[[6100,41]]}},"keywords":{}}],["scoped>",{"_index":2955,"title":{},"content":{"320":{"position":[[426,10]]}},"keywords":{}}],["scpi",{"_index":1292,"title":{},"content":{"61":{"position":[[80,4],[332,4]]},"64":{"position":[[1298,4]]},"219":{"position":[[158,4]]}},"keywords":{}}],["scpi_p",{"_index":1320,"title":{},"content":{"64":{"position":[[651,7],[780,7],[885,7]]},"219":{"position":[[487,7],[686,7],[1271,7]]}},"keywords":{}}],["scrape",{"_index":3354,"title":{},"content":{"364":{"position":[[12,7],[140,7]]}},"keywords":{}}],["scrape_config",{"_index":3364,"title":{},"content":{"364":{"position":[[505,15]]}},"keywords":{}}],["scrape_interv",{"_index":3359,"title":{},"content":{"364":{"position":[[390,16]]}},"keywords":{}}],["screen",{"_index":1789,"title":{"248":{"position":[[0,7]]},"503":{"position":[[10,8]]},"504":{"position":[[4,7]]},"505":{"position":[[5,7]]},"506":{"position":[[0,6]]},"507":{"position":[[9,8]]},"573":{"position":[[0,7]]},"575":{"position":[[10,6]]},"577":{"position":[[0,7]]},"779":{"position":[[38,8]]}},"content":{"96":{"position":[[260,6]]},"203":{"position":[[86,8]]},"209":{"position":[[81,7]]},"248":{"position":[[45,6],[145,6],[157,6],[169,6],[202,6]]},"302":{"position":[[2251,7],[2313,6]]},"306":{"position":[[102,8],[590,7]]},"320":{"position":[[1553,6],[1597,6],[1755,6]]},"326":{"position":[[1325,7]]},"351":{"position":[[171,7],[362,8],[456,7],[542,7],[592,7]]},"369":{"position":[[429,7],[940,7]]},"440":{"position":[[627,6]]},"464":{"position":[[333,7]]},"501":{"position":[[73,8],[82,7]]},"503":{"position":[[89,7],[127,6],[159,6],[178,6]]},"504":{"position":[[14,6],[39,6],[57,7],[121,6],[145,7],[267,6],[348,7],[366,6],[401,6],[447,6]]},"505":{"position":[[50,6],[91,6],[198,6],[271,6],[341,6],[405,7]]},"506":{"position":[[5,7],[103,7],[190,7],[266,7],[460,6],[495,6],[575,6],[643,6],[675,8],[691,6],[788,7]]},"507":{"position":[[45,7],[78,6],[118,8]]},"519":{"position":[[133,6]]},"574":{"position":[[77,7],[184,6],[193,6],[310,6],[335,6],[417,7],[537,6]]},"575":{"position":[[11,6],[72,8],[113,6],[194,7],[202,6],[278,7],[338,6]]},"576":{"position":[[18,6],[313,6],[429,6]]},"577":{"position":[[27,6],[39,6],[92,6],[138,6],[176,6],[302,6],[395,6],[448,6],[485,6]]},"592":{"position":[[116,6],[181,7],[480,7]]},"593":{"position":[[60,7],[165,7]]},"594":{"position":[[52,6]]},"595":{"position":[[151,6]]},"599":{"position":[[105,6]]},"603":{"position":[[64,7]]},"604":{"position":[[22,6]]},"605":{"position":[[50,6]]},"606":{"position":[[40,6]]},"608":{"position":[[191,6]]},"632":{"position":[[501,6],[533,6],[713,6],[745,6]]},"633":{"position":[[368,6],[400,6]]},"637":{"position":[[958,7]]},"645":{"position":[[66,8]]},"649":{"position":[[422,6],[698,7],[720,6],[807,6],[831,6]]},"650":{"position":[[1141,6],[1611,7],[1633,6],[1720,6],[1744,6]]},"654":{"position":[[36,6]]},"779":{"position":[[72,7]]},"780":{"position":[[19,6],[265,6],[284,6],[296,6],[398,6],[467,6]]},"781":{"position":[[26,7],[182,6],[201,6],[213,6]]},"782":{"position":[[17,8]]},"783":{"position":[[38,7],[195,6],[214,6],[226,6]]},"784":{"position":[[59,8]]},"785":{"position":[[73,6],[235,6],[254,6],[266,6]]},"786":{"position":[[42,6],[78,6],[330,6],[349,6],[361,6],[423,6],[484,6],[629,6],[756,6],[901,6]]},"787":{"position":[[47,6],[132,6],[172,7],[417,6],[479,6],[571,6],[640,6],[759,6],[874,7],[944,6],[1091,6],[1227,6],[1391,6]]}},"keywords":{}}],["screen"",{"_index":5673,"title":{},"content":{"786":{"position":[[536,12],[808,12]]},"787":{"position":[[998,12],[1281,12]]}},"keywords":{}}],["screen.getnamedwidget("check").check",{"_index":4783,"title":{},"content":{"638":{"position":[[291,51]]}},"keywords":{}}],["screen.getnamedwidget("collect_type").text",{"_index":4786,"title":{},"content":{"639":{"position":[[344,56]]}},"keywords":{}}],["screen.getnamedwidget("date").text",{"_index":4790,"title":{},"content":{"640":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("duration").text",{"_index":4802,"title":{},"content":{"643":{"position":[[330,52]]}},"keywords":{}}],["screen.getnamedwidget("time").text",{"_index":4804,"title":{},"content":{"644":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("widget_name").text",{"_index":4754,"title":{},"content":{"637":{"position":[[288,53]]}},"keywords":{}}],["screen.getnamedwidget('bg').check",{"_index":4780,"title":{},"content":{"637":{"position":[[2309,39]]}},"keywords":{}}],["screen.getnamedwidget('check').check",{"_index":4845,"title":{},"content":{"654":{"position":[[1041,41]]}},"keywords":{}}],["screen.getnamedwidget('collect_type').text",{"_index":4839,"title":{},"content":{"654":{"position":[[544,49]]}},"keywords":{}}],["screen.getnamedwidget('duration').text())"",{"_index":4840,"title":{},"content":{"654":{"position":[[603,49]]}},"keywords":{}}],["screen_def",{"_index":5672,"title":{},"content":{"786":{"position":[[469,10],[710,11],[741,10],[982,11]]},"787":{"position":[[929,10],[1155,11],[1195,10],[1455,11]]}},"keywords":{}}],["screen_definit",{"_index":5666,"title":{},"content":{"785":{"position":[[331,17]]}},"keywords":{}}],["screenshot",{"_index":3982,"title":{},"content":{"407":{"position":[[231,10]]},"421":{"position":[[727,10]]}},"keywords":{}}],["script",{"_index":352,"title":{"324":{"position":[[8,8]]},"349":{"position":[[0,6]]},"525":{"position":[[0,6]]},"527":{"position":[[0,6]]},"529":{"position":[[0,6]]},"530":{"position":[[8,8]]},"531":{"position":[[12,7]]},"532":{"position":[[8,6]]},"535":{"position":[[0,6]]},"536":{"position":[[10,8]]},"537":{"position":[[0,6]]},"541":{"position":[[0,9]]},"542":{"position":[[14,6]]},"546":{"position":[[0,6]]},"548":{"position":[[0,6]]},"549":{"position":[[16,7]]},"550":{"position":[[9,7]]},"557":{"position":[[14,8]]},"566":{"position":[[7,9],[47,10]]},"571":{"position":[[9,6]]},"655":{"position":[[0,9]]},"658":{"position":[[6,6]]},"660":{"position":[[0,6]]},"788":{"position":[[0,6]]},"794":{"position":[[0,6]]},"796":{"position":[[0,6]]}},"content":{"13":{"position":[[256,6]]},"35":{"position":[[1093,7],[1624,7]]},"36":{"position":[[1966,7],[2004,6]]},"37":{"position":[[886,7],[1417,7]]},"42":{"position":[[552,7],[605,8],[648,7],[1049,6],[2161,6],[2517,6],[2617,6]]},"43":{"position":[[1129,7]]},"44":{"position":[[55,6],[655,6]]},"83":{"position":[[45,6],[446,6],[1466,6],[1562,6],[1619,6],[1677,6],[1843,6],[1995,7],[2500,6],[2624,6],[3067,6],[3184,6],[3276,6]]},"88":{"position":[[339,9],[379,9],[475,9]]},"122":{"position":[[152,8]]},"228":{"position":[[1122,7],[1653,7]]},"229":{"position":[[1966,7],[2004,6]]},"230":{"position":[[905,7],[1436,7]]},"231":{"position":[[1797,7]]},"232":{"position":[[1633,7]]},"237":{"position":[[124,6],[164,8],[231,8]]},"238":{"position":[[98,8]]},"258":{"position":[[1078,6],[1129,6]]},"261":{"position":[[420,7]]},"269":{"position":[[20,6]]},"271":{"position":[[1446,6]]},"290":{"position":[[193,6],[233,8],[315,8]]},"297":{"position":[[339,6],[424,6]]},"302":{"position":[[1935,9]]},"320":{"position":[[755,9]]},"324":{"position":[[146,6],[173,6],[248,6],[406,7],[476,6],[578,7],[647,6],[705,7],[734,6]]},"326":{"position":[[1313,7]]},"332":{"position":[[348,6]]},"333":{"position":[[103,7]]},"340":{"position":[[251,6],[261,6],[326,6],[371,7],[476,6],[500,6],[531,6],[578,7]]},"342":{"position":[[810,7]]},"345":{"position":[[71,8],[167,7],[208,8],[297,7],[338,8],[419,7],[858,7],[874,6]]},"349":{"position":[[1,6],[183,8],[199,6],[341,6],[425,7],[553,6],[637,9],[1339,6],[1401,8],[1415,6],[1454,7],[1678,6],[1857,6],[2008,6],[2076,6],[2122,8],[2157,7],[2170,6],[2236,7],[2288,6],[2310,6],[2357,7],[2395,6],[2441,6],[2489,7],[2519,6],[2538,6],[2577,6],[2626,6],[2697,6],[2720,6],[2769,6],[2828,6],[2927,6],[2999,6],[3045,6],[3118,6],[3170,6],[3200,6],[3288,6],[3358,6],[3508,6],[3607,6],[3648,6],[3795,6],[3834,6],[3921,6],[3959,6],[4024,6],[4057,6],[4120,6],[4156,6],[4196,6],[4227,6],[4256,7],[4270,6],[4342,7],[4415,6],[4455,6],[4542,6],[4607,8],[4623,6],[4654,6],[4704,6],[4802,7],[4816,6],[4907,6],[4963,6],[5076,6],[5189,6],[5300,6],[5466,6],[5632,6],[5771,6],[5855,6],[5917,6],[6013,6],[6084,6],[6170,6],[6232,6],[6302,6],[6362,6],[6457,6],[6524,6],[6642,6],[6737,6],[6854,6]]},"355":{"position":[[359,7],[394,6],[643,7],[683,6]]},"364":{"position":[[917,6],[1022,6]]},"368":{"position":[[422,6]]},"369":{"position":[[1474,6],[2964,6]]},"418":{"position":[[62,7]]},"422":{"position":[[112,7],[648,7],[700,7],[767,6],[836,7],[879,7],[949,6],[984,7]]},"449":{"position":[[153,7]]},"454":{"position":[[114,7]]},"468":{"position":[[508,7]]},"497":{"position":[[57,6],[429,7],[486,6],[551,7]]},"498":{"position":[[49,7],[136,6],[315,6]]},"499":{"position":[[51,7],[151,6],[334,6]]},"513":{"position":[[333,6],[430,6],[474,7]]},"526":{"position":[[1,6],[43,7],[71,8],[80,6],[131,6],[230,7],[249,6],[309,8],[328,8]]},"529":{"position":[[150,6],[209,6],[292,6],[367,8],[422,7],[476,7],[518,7],[550,6]]},"530":{"position":[[19,6],[117,6],[173,7],[209,6],[249,6],[676,6]]},"531":{"position":[[18,6],[133,6],[193,7],[478,6],[538,7]]},"532":{"position":[[6,6],[62,6],[128,6]]},"533":{"position":[[100,9],[199,7],[294,6]]},"534":{"position":[[835,7],[920,7],[969,6],[1001,7]]},"535":{"position":[[11,6],[84,7],[123,6],[206,7],[259,6],[414,6],[497,7],[554,6],[647,7],[764,6],[898,6],[1089,6],[1183,6],[1226,8]]},"536":{"position":[[73,6],[295,7]]},"538":{"position":[[61,9],[104,7],[222,7],[362,6]]},"539":{"position":[[50,8],[92,9]]},"540":{"position":[[111,8],[274,7],[1006,6],[1112,7],[3624,9],[3746,7],[3781,6]]},"542":{"position":[[13,7],[859,7]]},"544":{"position":[[25,7],[182,7],[568,6],[891,8],[938,7],[999,6]]},"546":{"position":[[40,7],[76,6],[106,6],[141,6],[160,6],[308,8],[317,6],[399,9],[494,7],[560,6],[646,8],[674,7],[712,7],[955,7],[979,7],[1052,7],[1142,7],[1210,6],[1295,7],[1490,6]]},"547":{"position":[[212,6],[363,6],[791,6],[1231,6],[1290,6]]},"548":{"position":[[5,7],[77,7],[158,8]]},"549":{"position":[[9,7],[240,6]]},"550":{"position":[[56,7],[159,6]]},"551":{"position":[[457,6],[709,7]]},"552":{"position":[[8,7],[236,6],[578,6],[1539,6],[1658,10],[1973,9],[2067,7],[2719,6]]},"554":{"position":[[1,6],[94,6],[187,6],[290,6],[472,7],[490,6],[816,6]]},"555":{"position":[[53,6],[92,6]]},"556":{"position":[[33,6],[67,7],[168,6],[342,7],[465,7],[756,6]]},"557":{"position":[[1,6],[57,7],[165,6],[260,7]]},"559":{"position":[[74,8],[233,6],[1286,6]]},"560":{"position":[[57,7],[142,7]]},"561":{"position":[[8,6],[37,6],[133,7],[277,6]]},"563":{"position":[[21,8]]},"564":{"position":[[68,8]]},"565":{"position":[[121,6]]},"566":{"position":[[47,9],[324,6],[417,8],[508,9]]},"568":{"position":[[59,8],[365,6],[748,6]]},"569":{"position":[[37,6],[207,6],[249,6],[447,6],[519,6],[583,6],[717,7],[843,6],[948,7],[985,6],[1056,7],[1140,6],[1243,7]]},"571":{"position":[[54,6],[111,6]]},"572":{"position":[[312,9]]},"637":{"position":[[898,9],[1255,7],[1375,7],[1403,6],[1431,6],[2069,7],[2194,6]]},"657":{"position":[[8,9],[95,9],[277,6]]},"658":{"position":[[1,6],[133,6],[320,7],[386,6],[522,6],[612,7],[762,6],[818,7],[836,6],[884,7],[1036,7]]},"659":{"position":[[730,8]]},"660":{"position":[[50,6]]},"661":{"position":[[255,6],[288,6]]},"662":{"position":[[375,6],[1165,6],[1232,6],[2869,6],[2908,6],[3339,6],[3507,6],[3664,6],[3737,6],[3820,6],[3857,6],[3910,6],[3970,6],[4809,6],[5066,6],[5133,6],[5210,6],[5297,6]]},"663":{"position":[[69,7]]},"697":{"position":[[116,6],[237,6],[782,6]]},"698":{"position":[[114,6]]},"699":{"position":[[67,6]]},"700":{"position":[[290,9]]},"710":{"position":[[241,6],[356,8]]},"721":{"position":[[43,6]]},"722":{"position":[[12,6],[303,7],[1093,6]]},"723":{"position":[[12,6],[197,7],[860,6]]},"724":{"position":[[12,6],[108,6],[293,7],[646,6]]},"725":{"position":[[12,6],[97,6],[173,7]]},"726":{"position":[[64,6],[169,6],[708,6]]},"727":{"position":[[12,6],[151,6],[759,6]]},"728":{"position":[[12,6],[108,6],[574,6]]},"729":{"position":[[12,6],[97,6],[504,6]]},"770":{"position":[[183,7],[241,7],[278,7]]},"778":{"position":[[12,6],[511,6]]},"786":{"position":[[65,7]]},"787":{"position":[[70,6],[210,8]]},"788":{"position":[[49,6]]},"789":{"position":[[36,6],[153,6],[208,7]]},"790":{"position":[[37,6]]},"791":{"position":[[65,6]]},"792":{"position":[[64,6]]},"793":{"position":[[354,7],[468,6]]},"794":{"position":[[10,6],[122,6]]},"796":{"position":[[39,7]]},"799":{"position":[[6,9],[240,7]]},"810":{"position":[[107,6]]}},"keywords":{}}],["script=${2",{"_index":1633,"title":{},"content":{"83":{"position":[[2102,11]]}},"keywords":{}}],["script=screen.getnamedwidget('scriptname').text();"",{"_index":4776,"title":{},"content":{"637":{"position":[[2087,56]]}},"keywords":{}}],["script?scope=default"",{"_index":1670,"title":{},"content":{"83":{"position":[[3373,26]]}},"keywords":{}}],["script_",{"_index":5705,"title":{},"content":{"795":{"position":[[147,9],[468,9]]}},"keywords":{}}],["script_1",{"_index":4297,"title":{},"content":{"533":{"position":[[466,8]]},"561":{"position":[[349,8],[651,11]]},"795":{"position":[[1138,8]]}},"keywords":{}}],["script_1(self",{"_index":4305,"title":{},"content":{"533":{"position":[[700,15]]},"795":{"position":[[1678,15]]}},"keywords":{}}],["script_1_heater_zone_control",{"_index":4455,"title":{},"content":{"550":{"position":[[426,28],[658,31]]}},"keywords":{}}],["script_api="$cosmos_host/script",{"_index":1638,"title":{},"content":{"83":{"position":[[2204,36]]}},"keywords":{}}],["script_path",{"_index":1661,"title":{},"content":{"83":{"position":[[3074,14]]}},"keywords":{}}],["script_path="scripts/$target/$script"",{"_index":1640,"title":{},"content":{"83":{"position":[[2251,47]]}},"keywords":{}}],["script_power_on",{"_index":4292,"title":{},"content":{"533":{"position":[[266,17]]}},"keywords":{}}],["script_statu",{"_index":1673,"title":{},"content":{"83":{"position":[[3482,14]]}},"keywords":{}}],["script_status="$(curl",{"_index":1668,"title":{},"content":{"83":{"position":[[3320,26]]}},"keywords":{}}],["scriptnam",{"_index":4771,"title":{},"content":{"637":{"position":[[1975,10]]}},"keywords":{}}],["scriptrunn",{"_index":1009,"title":{},"content":{"43":{"position":[[201,13],[267,12],[292,12],[864,13],[990,14]]},"778":{"position":[[119,12],[263,12]]},"796":{"position":[[52,13]]},"797":{"position":[[8,12]]},"798":{"position":[[8,12]]}},"keywords":{}}],["scripts/procedur",{"_index":3142,"title":{},"content":{"349":{"position":[[69,19]]},"549":{"position":[[171,19]]}},"keywords":{}}],["scripts?scope=default"",{"_index":1679,"title":{},"content":{"83":{"position":[[3606,27]]}},"keywords":{}}],["scriptshow",{"_index":4285,"title":{},"content":{"529":{"position":[[193,11]]}},"keywords":{}}],["scriptsshow",{"_index":4279,"title":{},"content":{"529":{"position":[[32,11]]}},"keywords":{}}],["scroll",{"_index":4263,"title":{},"content":{"523":{"position":[[326,9]]},"554":{"position":[[1108,6]]},"599":{"position":[[197,6]]}},"keywords":{}}],["scrollabl",{"_index":4654,"title":{},"content":{"599":{"position":[[40,10]]}},"keywords":{}}],["scrollwindow",{"_index":4653,"title":{"599":{"position":[[0,13]]}},"content":{"599":{"position":[[61,12],[312,12]]}},"keywords":{}}],["sd",{"_index":3929,"title":{},"content":{"404":{"position":[[312,2],[373,2],[439,2],[549,2],[622,2],[916,2],[1700,2]]}},"keywords":{}}],["se",{"_index":3244,"title":{},"content":{"358":{"position":[[1347,2]]}},"keywords":{}}],["seamless",{"_index":1116,"title":{},"content":{"48":{"position":[[4128,8]]}},"keywords":{}}],["search",{"_index":1200,"title":{},"content":{"53":{"position":[[823,8]]},"54":{"position":[[1221,8]]},"55":{"position":[[2121,8]]},"56":{"position":[[1123,8]]},"60":{"position":[[626,8]]},"61":{"position":[[2295,8]]},"62":{"position":[[413,8]]},"216":{"position":[[566,6]]},"217":{"position":[[1335,6],[2687,6]]},"309":{"position":[[3264,6]]},"349":{"position":[[1706,6],[1761,6],[1805,7]]},"426":{"position":[[643,8]]},"440":{"position":[[590,6],[606,8],[667,6]]},"452":{"position":[[250,9]]},"470":{"position":[[375,9]]},"474":{"position":[[78,6]]},"491":{"position":[[202,6]]},"514":{"position":[[182,6],[193,8]]},"515":{"position":[[194,6],[205,8]]},"517":{"position":[[320,6]]},"528":{"position":[[454,6]]},"777":{"position":[[390,6]]},"800":{"position":[[127,8]]}},"keywords":{}}],["sec",{"_index":1262,"title":{},"content":{"57":{"position":[[1122,3],[1148,3]]},"379":{"position":[[3165,3]]}},"keywords":{}}],["second",{"_index":292,"title":{},"content":{"8":{"position":[[399,6]]},"9":{"position":[[1004,6]]},"40":{"position":[[716,7]]},"48":{"position":[[1943,6],[2605,6],[5104,6]]},"61":{"position":[[2561,7],[2651,7]]},"64":{"position":[[162,7],[263,7]]},"83":{"position":[[680,6]]},"91":{"position":[[900,6],[1004,6]]},"92":{"position":[[698,6],[795,6]]},"104":{"position":[[558,7],[627,7]]},"105":{"position":[[445,7],[514,7]]},"106":{"position":[[727,7],[800,7]]},"107":{"position":[[422,7],[528,7],[644,7]]},"111":{"position":[[637,7],[706,7]]},"135":{"position":[[20,7],[175,7],[254,7],[308,8]]},"153":{"position":[[121,7]]},"155":{"position":[[38,8],[93,7]]},"156":{"position":[[128,7]]},"158":{"position":[[40,8],[95,7]]},"160":{"position":[[123,7]]},"162":{"position":[[40,8],[95,7]]},"163":{"position":[[130,7]]},"165":{"position":[[42,8],[97,7]]},"166":{"position":[[51,8],[106,7]]},"167":{"position":[[49,8],[104,7]]},"168":{"position":[[48,8],[103,7]]},"169":{"position":[[48,8],[103,7]]},"170":{"position":[[48,8],[103,7]]},"171":{"position":[[91,7]]},"235":{"position":[[465,7]]},"252":{"position":[[516,7]]},"275":{"position":[[902,7],[1142,7]]},"352":{"position":[[871,7]]},"358":{"position":[[7865,7]]},"379":{"position":[[3122,7],[3157,7]]},"422":{"position":[[1081,7]]},"455":{"position":[[1002,6],[1096,7]]},"473":{"position":[[893,6]]},"522":{"position":[[218,7],[302,7],[810,7]]},"524":{"position":[[491,6],[675,6]]},"565":{"position":[[728,7],[1006,7]]},"577":{"position":[[432,7]]},"579":{"position":[[83,7],[386,7]]},"626":{"position":[[1623,7],[1690,7],[1748,7],[1818,7]]},"627":{"position":[[663,7],[1676,7],[1743,7],[1801,7],[1871,7]]},"628":{"position":[[1648,7],[1715,7],[1773,7],[1843,7]]},"677":{"position":[[1199,7]]},"678":{"position":[[1421,7]]},"679":{"position":[[1442,7]]},"680":{"position":[[1475,7]]},"681":{"position":[[1275,7]]},"682":{"position":[[1492,7]]},"683":{"position":[[1513,7]]},"684":{"position":[[1546,7]]},"722":{"position":[[532,7],[1084,8],[1238,8]]},"723":{"position":[[851,8],[1005,8]]},"724":{"position":[[637,8],[791,8]]},"725":{"position":[[609,8],[672,8]]},"726":{"position":[[699,8],[850,8]]},"727":{"position":[[750,8],[901,8]]},"728":{"position":[[565,8],[716,8]]},"729":{"position":[[495,8],[644,8]]},"789":{"position":[[219,8]]},"802":{"position":[[178,7]]}},"keywords":{}}],["secondari",{"_index":2470,"title":{},"content":{"253":{"position":[[348,9],[1226,9],[1996,9]]},"299":{"position":[[335,9]]},"379":{"position":[[1576,9],[3093,9]]}},"keywords":{}}],["seconds"",{"_index":2717,"title":{},"content":{"299":{"position":[[1194,13]]}},"keywords":{}}],["secondsgraph",{"_index":4724,"title":{},"content":{"626":{"position":[[1574,15]]},"627":{"position":[[1627,15]]},"628":{"position":[[1599,15]]}},"keywords":{}}],["secret",{"_index":1892,"title":{"141":{"position":[[0,7]]},"188":{"position":[[0,7]]},"415":{"position":[[0,8]]}},"content":{"109":{"position":[[1430,6],[1645,6],[1712,6],[1754,7],[1786,6]]},"110":{"position":[[1788,6],[2027,6],[2094,6],[2136,7],[2168,6]]},"141":{"position":[[25,6],[69,6],[173,8],[250,6],[303,6],[328,6],[356,6],[392,7],[436,8],[532,7],[601,6],[719,6],[765,7],[794,6],[824,6],[891,6],[933,6]]},"188":{"position":[[25,6],[72,6],[133,8],[210,6],[263,6],[288,6],[316,6],[352,7],[396,8],[492,6],[504,6],[534,6],[601,6],[634,6]]},"387":{"position":[[744,6]]},"406":{"position":[[186,7]]},"415":{"position":[[5,7],[38,7],[104,6],[120,7],[148,6],[213,6]]}},"keywords":{}}],["section",{"_index":433,"title":{},"content":{"20":{"position":[[657,8]]},"86":{"position":[[285,7]]},"328":{"position":[[15,8]]},"373":{"position":[[175,7]]},"404":{"position":[[2513,7]]},"474":{"position":[[9,7]]},"531":{"position":[[234,7]]},"564":{"position":[[844,8]]},"568":{"position":[[975,7]]},"569":{"position":[[830,7]]},"658":{"position":[[174,9]]},"660":{"position":[[159,7]]}},"keywords":{}}],["secur",{"_index":454,"title":{"429":{"position":[[3,8]]}},"content":{"20":{"position":[[1024,7]]},"23":{"position":[[23,6]]},"24":{"position":[[651,8]]},"27":{"position":[[609,6]]},"82":{"position":[[1117,9]]},"97":{"position":[[77,6]]},"309":{"position":[[372,6]]},"314":{"position":[[1044,9]]},"363":{"position":[[419,9]]},"424":{"position":[[101,8],[1801,8]]},"429":{"position":[[132,8],[309,6],[422,8],[481,6]]},"432":{"position":[[143,6]]},"434":{"position":[[509,6],[567,6]]}},"keywords":{}}],["securefil",{"_index":3956,"title":{},"content":{"404":{"position":[[1167,10]]}},"keywords":{}}],["security_level",{"_index":1932,"title":{},"content":{"112":{"position":[[639,14]]}},"keywords":{}}],["see",{"_index":279,"title":{},"content":{"7":{"position":[[1177,3]]},"35":{"position":[[1327,3]]},"37":{"position":[[1120,3]]},"42":{"position":[[863,3],[2255,3],[3096,3]]},"43":{"position":[[771,3],[1090,3]]},"44":{"position":[[1399,3],[1591,3]]},"48":{"position":[[1175,3]]},"51":{"position":[[562,4]]},"52":{"position":[[553,4]]},"57":{"position":[[1343,3]]},"58":{"position":[[411,3]]},"59":{"position":[[494,3]]},"60":{"position":[[881,3]]},"61":{"position":[[1163,3]]},"64":{"position":[[1276,3]]},"69":{"position":[[600,4]]},"70":{"position":[[362,4]]},"78":{"position":[[133,3]]},"79":{"position":[[8,3]]},"83":{"position":[[285,3],[493,3]]},"93":{"position":[[216,3]]},"96":{"position":[[703,4]]},"101":{"position":[[126,3]]},"102":{"position":[[115,3],[227,3]]},"103":{"position":[[189,3]]},"104":{"position":[[721,3],[758,3]]},"105":{"position":[[608,3],[645,3]]},"107":{"position":[[165,3]]},"108":{"position":[[158,3]]},"109":{"position":[[1762,3],[2670,3]]},"110":{"position":[[904,3],[941,3],[2144,3],[2401,3]]},"111":{"position":[[800,3],[837,3]]},"112":{"position":[[999,3]]},"113":{"position":[[595,3]]},"114":{"position":[[544,3]]},"128":{"position":[[874,3]]},"138":{"position":[[819,3]]},"139":{"position":[[354,3]]},"141":{"position":[[163,3],[426,3]]},"149":{"position":[[664,3]]},"188":{"position":[[123,3],[386,3]]},"203":{"position":[[339,3]]},"216":{"position":[[109,3]]},"217":{"position":[[347,3],[825,3],[948,3],[1303,3],[2421,3]]},"218":{"position":[[218,3]]},"219":{"position":[[140,3]]},"220":{"position":[[130,3]]},"221":{"position":[[309,3],[377,3]]},"222":{"position":[[212,3]]},"223":{"position":[[360,3]]},"228":{"position":[[1356,3]]},"230":{"position":[[1139,3]]},"231":{"position":[[1500,3]]},"232":{"position":[[1336,3]]},"242":{"position":[[204,3]]},"278":{"position":[[962,3]]},"279":{"position":[[3422,3],[4793,3],[5486,3],[6609,3]]},"280":{"position":[[754,3]]},"281":{"position":[[1056,3]]},"282":{"position":[[725,3]]},"291":{"position":[[204,3]]},"299":{"position":[[171,4]]},"302":{"position":[[1927,3]]},"306":{"position":[[132,3]]},"307":{"position":[[423,3]]},"309":{"position":[[992,4],[1282,3]]},"319":{"position":[[161,3]]},"320":{"position":[[1567,3]]},"323":{"position":[[210,3]]},"324":{"position":[[972,3]]},"331":{"position":[[275,3]]},"333":{"position":[[525,3]]},"338":{"position":[[382,3]]},"340":{"position":[[126,3]]},"358":{"position":[[2422,3],[2635,3],[6513,3],[6662,3],[8112,3]]},"359":{"position":[[694,3],[989,3],[1151,3],[2343,3],[2507,3]]},"367":{"position":[[815,3]]},"379":{"position":[[4006,3]]},"380":{"position":[[2111,3],[2176,3]]},"383":{"position":[[970,3]]},"392":{"position":[[389,3]]},"393":{"position":[[3,3]]},"440":{"position":[[380,4]]},"445":{"position":[[41,3]]},"447":{"position":[[673,3]]},"462":{"position":[[291,3]]},"468":{"position":[[295,4]]},"507":{"position":[[100,3]]},"547":{"position":[[146,4]]},"568":{"position":[[962,3]]},"580":{"position":[[227,3],[274,3]]},"581":{"position":[[712,3],[759,3]]},"591":{"position":[[671,3],[718,3]]},"637":{"position":[[350,3]]},"650":{"position":[[234,3]]},"660":{"position":[[135,3]]},"673":{"position":[[1200,3]]},"685":{"position":[[220,4]]},"708":{"position":[[659,4]]},"728":{"position":[[236,3]]},"794":{"position":[[110,3]]}},"keywords":{}}],["seed",{"_index":1348,"title":{},"content":{"65":{"position":[[869,4],[874,4],[930,4]]}},"keywords":{}}],["seem",{"_index":541,"title":{},"content":{"24":{"position":[[547,4]]},"319":{"position":[[532,4]]}},"keywords":{}}],["seen",{"_index":1091,"title":{},"content":{"48":{"position":[[1440,4],[1632,4]]},"379":{"position":[[3805,4]]}},"keywords":{}}],["seg_poly_read_convers",{"_index":2634,"title":{},"content":{"279":{"position":[[5237,25],[6060,24],[6144,24],[6244,24]]}},"keywords":{}}],["seg_poly_write_convers",{"_index":798,"title":{},"content":{"36":{"position":[[6699,26],[7459,25],[7544,25],[7645,25]]},"229":{"position":[[6699,26],[7459,25],[7544,25],[7645,25]]}},"keywords":{}}],["segment",{"_index":799,"title":{},"content":{"36":{"position":[[6734,9],[7036,9],[7088,7]]},"229":{"position":[[6734,9],[7036,9],[7088,7]]},"279":{"position":[[5271,9],[5637,9],[5689,7]]},"499":{"position":[[819,7]]}},"keywords":{}}],["select",{"_index":855,"title":{"446":{"position":[[0,9]]},"480":{"position":[[0,9]]},"491":{"position":[[0,9]]},"503":{"position":[[0,9]]},"523":{"position":[[0,9]]}},"content":{"38":{"position":[[1,6]]},"235":{"position":[[1,7],[109,6],[347,6]]},"252":{"position":[[1,7],[415,6]]},"285":{"position":[[1,7],[108,6],[337,6]]},"296":{"position":[[1,7],[428,6]]},"326":{"position":[[768,6]]},"345":{"position":[[382,6]]},"346":{"position":[[1459,6]]},"348":{"position":[[142,6],[239,8],[431,9],[486,6],[612,8],[639,8],[751,8],[769,6],[891,6],[947,6]]},"349":{"position":[[1632,6],[3546,8],[3562,6],[3626,8],[3686,8],[3715,6],[3914,6],[4017,6],[4113,6],[4220,6],[4408,6],[4616,6]]},"350":{"position":[[215,9],[279,6],[422,8],[473,8],[657,6],[827,6],[1082,6],[1256,6],[1556,6]]},"351":{"position":[[609,6]]},"352":{"position":[[437,6]]},"353":{"position":[[475,9],[674,6],[760,6],[837,6]]},"354":{"position":[[413,6]]},"359":{"position":[[587,6],[2214,6]]},"380":{"position":[[224,6],[282,9]]},"404":{"position":[[1005,6]]},"422":{"position":[[288,6],[340,9]]},"441":{"position":[[53,6]]},"446":{"position":[[128,6]]},"457":{"position":[[138,6]]},"461":{"position":[[204,6]]},"462":{"position":[[154,6]]},"464":{"position":[[89,8]]},"467":{"position":[[1,6],[27,9],[57,6],[128,6],[366,6],[382,9]]},"468":{"position":[[395,9]]},"472":{"position":[[1035,6]]},"478":{"position":[[266,6]]},"482":{"position":[[60,6],[106,6],[367,6],[620,6]]},"492":{"position":[[28,9]]},"502":{"position":[[203,6]]},"503":{"position":[[1,9],[29,6],[120,6]]},"504":{"position":[[89,6]]},"521":{"position":[[222,6]]},"523":{"position":[[1,9],[29,6],[104,6],[169,6],[404,9]]},"528":{"position":[[93,6],[751,6]]},"531":{"position":[[64,10],[86,8],[225,8],[311,9],[664,9]]},"547":{"position":[[1241,8]]},"554":{"position":[[248,6]]},"556":{"position":[[158,9],[205,9],[239,6],[421,8]]},"569":{"position":[[573,9],[804,9],[1086,6]]},"608":{"position":[[211,6],[230,9]]},"639":{"position":[[204,9],[266,9]]},"640":{"position":[[184,9]]},"641":{"position":[[81,9],[136,8],[152,7]]},"642":{"position":[[184,9],[352,6]]},"644":{"position":[[184,9]]},"654":{"position":[[770,6]]},"668":{"position":[[109,10],[573,9]]},"673":{"position":[[93,6],[132,8],[1627,6],[2023,6]]}},"keywords":{}}],["select(.nam",{"_index":1680,"title":{},"content":{"83":{"position":[[3668,18]]}},"keywords":{}}],["select_command",{"_index":2413,"title":{"252":{"position":[[0,15]]}},"content":{"235":{"position":[[85,14],[393,14]]},"236":{"position":[[321,14],[477,14]]},"252":{"position":[[444,14]]}},"keywords":{}}],["select_item",{"_index":2668,"title":{"285":{"position":[[0,12]]}},"content":{"285":{"position":[[419,11]]},"296":{"position":[[234,11],[493,11]]}},"keywords":{}}],["select_paramet",{"_index":2412,"title":{"235":{"position":[[0,17]]}},"content":{"235":{"position":[[421,16]]},"252":{"position":[[228,16],[472,16]]}},"keywords":{}}],["select_t",{"_index":854,"title":{"38":{"position":[[0,13]]}},"content":{},"keywords":{}}],["select_telemetri",{"_index":2669,"title":{"296":{"position":[[0,17]]}},"content":{"285":{"position":[[82,16],[383,16]]},"286":{"position":[[302,16],[440,16]]},"296":{"position":[[457,16]]}},"keywords":{}}],["selection"",{"_index":4571,"title":{},"content":{"569":{"position":[[881,15]]}},"keywords":{}}],["selector",{"_index":3989,"title":{},"content":{"415":{"position":[[297,9]]}},"keywords":{}}],["self",{"_index":390,"title":{},"content":{"20":{"position":[[7,4],[212,4]]},"73":{"position":[[754,4],[1118,5]]}},"keywords":{}}],["self.add_group(examplegroup",{"_index":4317,"title":{},"content":{"534":{"position":[[406,28]]},"795":{"position":[[1972,28]]}},"keywords":{}}],["self.add_group_setup(wrappergroup",{"_index":5721,"title":{},"content":{"795":{"position":[[2001,34]]}},"keywords":{}}],["self.add_group_teardown(wrappergroup",{"_index":5723,"title":{},"content":{"795":{"position":[[2079,37]]}},"keywords":{}}],["self.add_script(wrappergroup",{"_index":5722,"title":{},"content":{"795":{"position":[[2036,29]]}},"keywords":{}}],["self.allow_empty_data",{"_index":1418,"title":{},"content":{"69":{"position":[[496,21]]},"73":{"position":[[1028,21],[1165,21],[1225,22],[1256,21]]}},"keywords":{}}],["self.cmd_acpt_cnt",{"_index":2459,"title":{},"content":{"251":{"position":[[1939,17]]}},"keywords":{}}],["self.cmd_acpt_cnt}"",{"_index":2463,"title":{},"content":{"251":{"position":[[2114,26]]}},"keywords":{}}],["self.gimbal_step",{"_index":4475,"title":{},"content":{"551":{"position":[[1275,17],[1346,17],[1422,17]]}},"keywords":{}}],["self.interfac",{"_index":1416,"title":{},"content":{"69":{"position":[[474,14]]},"73":{"position":[[1062,14]]}},"keywords":{}}],["self.interface.read_protocol",{"_index":1442,"title":{},"content":{"73":{"position":[[1081,30]]}},"keywords":{}}],["self.multipli",{"_index":781,"title":{},"content":{"36":{"position":[[5975,15],[6065,15]]},"229":{"position":[[5975,15],[6065,15]]},"279":{"position":[[4455,15],[4545,15]]}},"keywords":{}}],["self.reset",{"_index":1420,"title":{},"content":{"69":{"position":[[574,12]]},"71":{"position":[[231,12]]},"72":{"position":[[243,12]]}},"keywords":{}}],["semant",{"_index":3290,"title":{},"content":{"359":{"position":[[300,8]]}},"keywords":{}}],["semicolon",{"_index":4756,"title":{},"content":{"637":{"position":[[623,9],[655,9]]}},"keywords":{}}],["send",{"_index":700,"title":{"91":{"position":[[0,7]]},"467":{"position":[[0,7]]}},"content":{"36":{"position":[[1980,7],[2927,7],[3245,7]]},"52":{"position":[[189,4],[230,7]]},"78":{"position":[[36,4]]},"91":{"position":[[35,4],[129,5],[1317,4],[1367,4],[1532,4]]},"93":{"position":[[96,4],[587,7]]},"100":{"position":[[266,4]]},"104":{"position":[[58,4]]},"106":{"position":[[39,4],[169,4],[246,4],[378,4]]},"107":{"position":[[56,4]]},"109":{"position":[[2030,4]]},"112":{"position":[[536,7]]},"115":{"position":[[1728,4],[1887,4]]},"119":{"position":[[286,4]]},"120":{"position":[[198,4]]},"122":{"position":[[122,7]]},"149":{"position":[[172,5],[266,4]]},"220":{"position":[[70,4]]},"229":{"position":[[1980,7],[2927,7],[3245,7]]},"238":{"position":[[119,4]]},"241":{"position":[[46,7],[121,7]]},"279":{"position":[[2139,7]]},"302":{"position":[[2041,7]]},"342":{"position":[[262,4],[508,4]]},"345":{"position":[[482,4]]},"348":{"position":[[43,4],[172,4],[320,4],[328,4],[600,7],[630,4],[672,4],[1046,7],[1212,4],[1278,4],[1370,7],[1460,4],[1931,4],[2066,5],[2145,4]]},"349":{"position":[[2781,5]]},"358":{"position":[[8210,4]]},"363":{"position":[[140,4]]},"373":{"position":[[257,7]]},"378":{"position":[[668,5]]},"379":{"position":[[1094,7]]},"380":{"position":[[1207,7],[2021,4]]},"422":{"position":[[81,7],[626,4]]},"426":{"position":[[373,4],[531,4]]},"428":{"position":[[191,4]]},"431":{"position":[[593,4]]},"432":{"position":[[333,4]]},"464":{"position":[[40,4]]},"467":{"position":[[438,7]]},"468":{"position":[[1,7],[60,4],[414,4]]},"498":{"position":[[775,4]]},"513":{"position":[[404,4],[822,7]]},"542":{"position":[[67,7]]},"545":{"position":[[316,5]]},"637":{"position":[[130,4],[798,4],[1199,4]]},"638":{"position":[[284,6]]},"642":{"position":[[443,6]]},"654":{"position":[[954,6]]},"676":{"position":[[37,4]]},"677":{"position":[[1,5]]},"678":{"position":[[1,5],[143,4]]},"679":{"position":[[1,5]]},"680":{"position":[[1,5]]},"681":{"position":[[1,5]]},"682":{"position":[[1,5],[166,4]]},"683":{"position":[[1,5]]},"684":{"position":[[1,5]]},"686":{"position":[[1,5],[167,4],[221,5]]},"758":{"position":[[1,4],[404,4],[446,4]]},"759":{"position":[[1,4],[420,4],[462,4],[516,4]]},"768":{"position":[[1,4],[382,4],[424,4]]},"769":{"position":[[1,4],[424,4],[466,4],[520,4]]}},"keywords":{}}],["send_raw",{"_index":5106,"title":{"686":{"position":[[0,9]]}},"content":{},"keywords":{}}],["send_raw(<interfac",{"_index":5107,"title":{},"content":{"686":{"position":[[57,22]]}},"keywords":{}}],["send_raw("inst_int"",{"_index":5110,"title":{},"content":{"686":{"position":[[252,30]]}},"keywords":{}}],["sender",{"_index":347,"title":{"348":{"position":[[8,7]]},"463":{"position":[[8,6]]},"465":{"position":[[8,6]]}},"content":{"13":{"position":[[155,6]]},"36":{"position":[[2177,6]]},"229":{"position":[[2177,6]]},"237":{"position":[[58,6]]},"348":{"position":[[9,6],[412,6],[581,6],[699,6],[855,6],[1027,6],[1189,6],[1349,6],[1521,6],[1685,6],[1852,6],[2087,6],[2231,6]]},"359":{"position":[[1108,6],[2485,6]]},"464":{"position":[[9,6]]},"513":{"position":[[861,6]]},"514":{"position":[[337,6],[367,6]]}},"keywords":{}}],["senderopen",{"_index":1761,"title":{},"content":{"93":{"position":[[313,10]]}},"keywords":{}}],["sens",{"_index":1397,"title":{},"content":{"67":{"position":[[3697,5]]},"316":{"position":[[116,5]]},"358":{"position":[[4600,5]]},"549":{"position":[[58,5]]},"568":{"position":[[729,6]]},"673":{"position":[[384,5]]}},"keywords":{}}],["sensit",{"_index":4071,"title":{},"content":{"429":{"position":[[255,9],[572,9]]}},"keywords":{}}],["sensor",{"_index":4979,"title":{},"content":{"668":{"position":[[636,6],[717,6],[787,6],[849,7],[878,7],[951,6],[1032,6],[1102,6]]}},"keywords":{}}],["sent",{"_index":174,"title":{},"content":{"5":{"position":[[872,4]]},"35":{"position":[[1283,4],[1814,4]]},"36":{"position":[[4451,5],[6299,5],[6930,5],[7994,5]]},"37":{"position":[[1076,4],[1607,4]]},"52":{"position":[[351,4],[454,4],[510,5]]},"61":{"position":[[890,4]]},"64":{"position":[[636,5]]},"66":{"position":[[60,4]]},"76":{"position":[[188,5]]},"91":{"position":[[344,5],[425,5]]},"93":{"position":[[251,4]]},"138":{"position":[[63,4]]},"139":{"position":[[223,4]]},"219":{"position":[[468,4]]},"225":{"position":[[65,4]]},"226":{"position":[[342,4]]},"228":{"position":[[1312,4],[1843,4]]},"229":{"position":[[4451,5],[6299,5],[6930,5],[7994,5]]},"230":{"position":[[1095,4],[1626,4]]},"231":{"position":[[1456,4],[1987,4]]},"232":{"position":[[1292,4],[1823,4]]},"233":{"position":[[843,4]]},"234":{"position":[[626,4]]},"237":{"position":[[223,4]]},"238":{"position":[[34,4],[90,4]]},"251":{"position":[[793,4],[1561,4]]},"283":{"position":[[836,4]]},"284":{"position":[[628,4]]},"302":{"position":[[817,4]]},"312":{"position":[[198,4]]},"339":{"position":[[271,4]]},"344":{"position":[[397,4]]},"348":{"position":[[2010,5],[2139,5]]},"349":{"position":[[2753,5]]},"402":{"position":[[5326,4]]},"445":{"position":[[62,4],[138,4]]},"446":{"position":[[114,5]]},"467":{"position":[[813,4]]},"658":{"position":[[1264,5]]},"693":{"position":[[46,4]]},"694":{"position":[[45,5],[538,4],[665,4]]},"695":{"position":[[58,5],[447,4]]},"765":{"position":[[278,5],[789,5],[1324,5]]},"799":{"position":[[75,4]]}},"keywords":{}}],["sent.write_raw",{"_index":1979,"title":{},"content":{"115":{"position":[[1870,14]]}},"keywords":{}}],["separ",{"_index":564,"title":{},"content":{"26":{"position":[[183,10]]},"50":{"position":[[199,10]]},"125":{"position":[[327,9]]},"252":{"position":[[69,8]]},"296":{"position":[[71,8]]},"298":{"position":[[117,8]]},"383":{"position":[[406,10]]},"402":{"position":[[2823,9],[3832,9]]},"476":{"position":[[71,9]]},"605":{"position":[[79,9]]},"609":{"position":[[51,9]]},"610":{"position":[[51,9]]},"637":{"position":[[594,8],[706,11],[772,9]]},"793":{"position":[[224,8]]}},"keywords":{}}],["sequenc",{"_index":348,"title":{},"content":{"13":{"position":[[174,8]]},"47":{"position":[[54,8]]},"52":{"position":[[46,8],[323,8],[426,8]]},"253":{"position":[[535,8],[626,8],[1413,8],[1504,8],[2183,8],[2274,8]]},"299":{"position":[[504,8],[628,8]]},"379":{"position":[[538,8],[1394,8],[1926,8],[2426,8],[2942,8]]}},"keywords":{}}],["sequence"",{"_index":3658,"title":{},"content":{"379":{"position":[[2972,14]]}},"keywords":{}}],["seri",{"_index":3356,"title":{},"content":{"364":{"position":[[234,6]]},"538":{"position":[[135,6]]},"546":{"position":[[1102,6]]},"574":{"position":[[444,6]]},"575":{"position":[[142,6]]}},"keywords":{}}],["serial",{"_index":1179,"title":{"111":{"position":[[0,6]]},"317":{"position":[[8,6]]}},"content":{"52":{"position":[[5,6],[96,6]]},"100":{"position":[[352,7]]},"103":{"position":[[111,7]]},"111":{"position":[[5,6],[50,6],[150,6],[260,6],[373,6],[512,6],[1046,6]]},"120":{"position":[[173,6]]},"140":{"position":[[438,6]]},"213":{"position":[[21,10]]},"214":{"position":[[58,10]]},"218":{"position":[[19,10]]},"314":{"position":[[442,6],[496,6],[1947,6]]},"316":{"position":[[1,6]]},"317":{"position":[[1,6],[209,6]]},"342":{"position":[[624,6]]},"343":{"position":[[1172,6]]},"571":{"position":[[223,6]]}},"keywords":{}}],["serial_int",{"_index":2060,"title":{},"content":{"140":{"position":[[677,10],[865,10]]},"314":{"position":[[1163,10],[1574,10]]}},"keywords":{}}],["serial_interfac",{"_index":2021,"title":{},"content":{"128":{"position":[[808,16]]},"149":{"position":[[598,16]]}},"keywords":{}}],["serial_interface.rb",{"_index":1916,"title":{},"content":{"111":{"position":[[1194,19],[1310,19],[1417,19],[1513,19],[1635,19],[1731,19],[1845,19]]},"140":{"position":[[688,19]]},"314":{"position":[[1174,19],[1800,19]]}},"keywords":{}}],["serial_rout",{"_index":2061,"title":{},"content":{"140":{"position":[[794,13]]},"314":{"position":[[1463,13]]}},"keywords":{}}],["serialhost",{"_index":2930,"title":{},"content":{"316":{"position":[[35,11]]}},"keywords":{}}],["serialinterfac",{"_index":2057,"title":{},"content":{"140":{"position":[[314,15]]}},"keywords":{}}],["serv",{"_index":1007,"title":{},"content":{"43":{"position":[[153,5],[312,5],[966,5]]},"51":{"position":[[305,5]]},"258":{"position":[[1172,6],[1243,6],[1377,6]]},"268":{"position":[[370,5]]},"307":{"position":[[1007,5],[1492,5]]},"432":{"position":[[1259,6]]},"440":{"position":[[765,5]]}},"keywords":{}}],["server",{"_index":434,"title":{"44":{"position":[[18,7]]},"105":{"position":[[6,6]]},"108":{"position":[[5,6]]},"346":{"position":[[22,7]]},"508":{"position":[[22,6]]},"510":{"position":[[22,6]]}},"content":{"20":{"position":[[706,6]]},"24":{"position":[[315,6]]},"27":{"position":[[50,6]]},"42":{"position":[[1710,6],[2185,8]]},"44":{"position":[[81,7],[1557,6]]},"83":{"position":[[87,7]]},"85":{"position":[[100,7],[148,6]]},"87":{"position":[[34,6],[94,6]]},"97":{"position":[[119,6]]},"103":{"position":[[63,7],[94,7]]},"105":{"position":[[11,6],[44,6],[236,7]]},"107":{"position":[[46,6]]},"108":{"position":[[10,6],[78,7]]},"114":{"position":[[153,6]]},"128":{"position":[[474,6]]},"133":{"position":[[1,6]]},"134":{"position":[[1,6]]},"135":{"position":[[66,6]]},"136":{"position":[[60,6]]},"215":{"position":[[101,7]]},"217":{"position":[[62,6],[991,6],[1154,6]]},"220":{"position":[[102,7]]},"239":{"position":[[13,6]]},"258":{"position":[[655,8],[1007,6],[1104,6],[1655,6]]},"279":{"position":[[8015,6]]},"314":{"position":[[2117,6]]},"339":{"position":[[193,6]]},"342":{"position":[[212,6]]},"346":{"position":[[27,6],[181,6],[285,6],[446,6],[544,6],[649,6],[827,6],[941,6],[1146,6],[1244,6],[1399,6],[1541,6],[1714,6]]},"349":{"position":[[4400,7]]},"358":{"position":[[607,6]]},"365":{"position":[[302,7]]},"368":{"position":[[441,7]]},"378":{"position":[[1524,6]]},"429":{"position":[[316,7]]},"432":{"position":[[150,7]]},"509":{"position":[[27,6],[403,6],[438,6]]},"511":{"position":[[27,6],[142,6],[208,7]]},"517":{"position":[[77,6],[109,6]]},"530":{"position":[[234,6]]},"661":{"position":[[199,6]]},"662":{"position":[[445,6],[500,6],[623,6],[683,6],[771,6],[828,6],[903,6],[973,6],[1052,6],[1111,6],[1301,6],[1382,6],[1448,6],[1499,6],[1572,6],[1652,6],[1711,6],[1801,6],[1895,6],[1954,6],[2026,6],[2084,6],[2134,6],[2199,6],[2285,6],[2357,6],[2429,6],[2507,6],[2565,6],[2618,6],[2679,6],[2735,6],[2811,6],[3456,6],[3567,6],[4034,6],[4088,6],[4142,6],[4217,6],[4286,6],[4340,6],[4401,6],[4454,6],[4507,6],[4560,6],[4624,6],[4686,6],[4775,6],[4907,6],[4971,6],[5039,6]]},"710":{"position":[[58,7]]},"712":{"position":[[76,7]]},"713":{"position":[[70,7]]},"752":{"position":[[387,6]]},"761":{"position":[[333,6]]}},"keywords":{}}],["servic",{"_index":511,"title":{},"content":{"23":{"position":[[98,9],[140,9]]},"57":{"position":[[62,7]]},"144":{"position":[[68,7]]},"182":{"position":[[69,7]]},"258":{"position":[[1757,7]]},"259":{"position":[[165,9],[233,8]]},"309":{"position":[[334,8],[2434,7]]},"317":{"position":[[117,7]]},"320":{"position":[[903,7],[1054,7],[1198,7],[1479,7]]},"321":{"position":[[1590,7]]},"361":{"position":[[39,8],[147,8]]},"404":{"position":[[1273,8],[2543,7]]},"425":{"position":[[283,9]]},"426":{"position":[[122,8],[262,8],[338,8],[1284,8]]},"427":{"position":[[307,8]]},"430":{"position":[[65,8],[283,8]]},"432":{"position":[[402,9],[653,8],[864,9],[880,7]]}},"keywords":{}}],["set",{"_index":7,"title":{"372":{"position":[[0,7]]},"374":{"position":[[0,7]]},"416":{"position":[[0,9]]},"582":{"position":[[0,8]]},"788":{"position":[[14,9]]},"806":{"position":[[0,9]]}},"content":{"1":{"position":[[65,3]]},"5":{"position":[[467,3]]},"7":{"position":[[1053,3]]},"17":{"position":[[274,3]]},"18":{"position":[[279,3]]},"35":{"position":[[627,3]]},"36":{"position":[[3305,3],[4590,3],[8587,3],[9640,3],[9838,7],[9964,3]]},"37":{"position":[[420,3]]},"42":{"position":[[2111,4]]},"43":{"position":[[578,3]]},"44":{"position":[[964,3],[1075,3],[1099,3]]},"48":{"position":[[1102,3],[1250,4],[3161,3],[3568,4],[3704,4],[3879,4]]},"55":{"position":[[341,3],[2396,7]]},"67":{"position":[[2974,3]]},"74":{"position":[[662,3]]},"82":{"position":[[826,3],[978,3]]},"83":{"position":[[1458,3],[2073,3]]},"109":{"position":[[1448,3],[1673,3]]},"110":{"position":[[1806,3],[2055,3]]},"127":{"position":[[60,4],[230,4]]},"135":{"position":[[154,4]]},"140":{"position":[[1,3],[52,3],[241,4]]},"141":{"position":[[580,3]]},"142":{"position":[[16,4]]},"143":{"position":[[16,3]]},"176":{"position":[[92,3]]},"180":{"position":[[1,4]]},"181":{"position":[[1,3]]},"190":{"position":[[98,3]]},"197":{"position":[[1,3]]},"201":{"position":[[90,3]]},"205":{"position":[[92,3]]},"209":{"position":[[89,3]]},"214":{"position":[[332,3]]},"215":{"position":[[214,3]]},"217":{"position":[[737,4],[859,4],[1227,4],[1757,4],[2012,4]]},"218":{"position":[[369,3]]},"220":{"position":[[280,3]]},"228":{"position":[[656,3]]},"229":{"position":[[3305,3],[4590,3],[8587,3],[9640,3],[9838,7],[9964,3]]},"230":{"position":[[439,3]]},"231":{"position":[[826,3]]},"232":{"position":[[662,3]]},"253":{"position":[[1724,8]]},"255":{"position":[[342,7]]},"267":{"position":[[75,5],[88,5]]},"272":{"position":[[455,3]]},"275":{"position":[[247,3],[395,4],[451,3],[693,3]]},"278":{"position":[[654,3]]},"279":{"position":[[7906,3],[8472,3],[8495,4],[8529,4],[9487,7],[9874,7]]},"280":{"position":[[446,3]]},"309":{"position":[[1144,7],[2825,3]]},"314":{"position":[[1982,3]]},"325":{"position":[[77,7]]},"330":{"position":[[1116,9],[1473,7]]},"332":{"position":[[259,3],[763,4],[1167,3],[1443,3]]},"334":{"position":[[49,3]]},"338":{"position":[[442,8],[652,8]]},"345":{"position":[[347,7],[377,4],[408,3]]},"346":{"position":[[1427,7],[1454,4],[1485,3]]},"349":{"position":[[3571,3],[3724,3]]},"356":{"position":[[550,8],[931,8]]},"358":{"position":[[6458,3]]},"363":{"position":[[262,3]]},"369":{"position":[[2091,8]]},"380":{"position":[[1143,3],[2250,4]]},"385":{"position":[[160,4]]},"402":{"position":[[1130,3],[1692,3],[1842,3],[4171,3]]},"404":{"position":[[1133,3],[1201,3],[1585,9]]},"406":{"position":[[207,9]]},"415":{"position":[[136,7],[176,3],[363,3],[395,3]]},"416":{"position":[[5,8],[35,8]]},"422":{"position":[[1035,7]]},"461":{"position":[[93,9]]},"462":{"position":[[352,8],[439,8]]},"472":{"position":[[176,9],[601,4],[614,4],[721,3],[761,5],[799,3],[879,3]]},"482":{"position":[[167,4],[426,4]]},"489":{"position":[[146,9]]},"498":{"position":[[94,3],[351,3]]},"499":{"position":[[96,3],[370,3]]},"502":{"position":[[92,9]]},"504":{"position":[[416,3]]},"513":{"position":[[898,3]]},"521":{"position":[[111,9]]},"522":{"position":[[75,8],[105,8],[143,8],[475,3],[1136,4],[1297,3],[1322,3]]},"524":{"position":[[254,3]]},"531":{"position":[[797,3]]},"535":{"position":[[881,4],[961,4],[1021,4],[1056,7],[1553,4]]},"536":{"position":[[192,3]]},"545":{"position":[[89,3]]},"546":{"position":[[948,3]]},"551":{"position":[[64,3]]},"554":{"position":[[183,3],[628,3]]},"560":{"position":[[488,4]]},"564":{"position":[[286,3],[727,3]]},"580":{"position":[[18,7],[151,7],[214,7],[231,7],[257,7],[278,7]]},"581":{"position":[[272,8],[383,3],[589,7],[699,7],[716,7],[742,7],[763,7],[809,3]]},"582":{"position":[[18,7],[60,8],[184,8],[224,8],[292,7],[448,8],[512,8]]},"583":{"position":[[1,4],[234,7],[284,7]]},"584":{"position":[[1,4],[238,7],[261,7],[312,7],[335,7]]},"585":{"position":[[1,4],[234,7],[290,7],[313,7],[364,7]]},"586":{"position":[[1,4],[236,7],[292,7],[315,7],[367,7]]},"587":{"position":[[15,7],[23,4],[404,7],[459,7]]},"588":{"position":[[15,7],[23,4],[398,7],[453,7]]},"589":{"position":[[17,7],[25,4],[417,7],[480,7]]},"590":{"position":[[185,7]]},"591":{"position":[[272,8],[383,3],[597,7],[658,7],[675,7],[701,7],[722,7]]},"612":{"position":[[846,7],[875,7],[919,8],[974,7]]},"619":{"position":[[191,8],[258,7],[285,7],[314,7],[759,7],[785,7],[809,7],[856,8],[906,7]]},"626":{"position":[[580,7],[655,8],[711,7]]},"627":{"position":[[614,7],[634,7],[708,8],[764,7]]},"628":{"position":[[603,7],[675,8],[736,7]]},"632":{"position":[[525,7],[583,7],[620,7],[737,7],[795,7],[832,7]]},"633":{"position":[[392,7],[440,7],[681,7]]},"637":{"position":[[2148,3]]},"649":{"position":[[414,7],[622,8],[680,7]]},"650":{"position":[[82,7],[175,7],[1018,7],[1074,7],[1133,7],[1178,8],[1241,7]]},"652":{"position":[[889,7],[914,7],[998,7],[1031,7],[1086,8],[1148,7]]},"654":{"position":[[657,7],[1161,7]]},"704":{"position":[[61,3]]},"710":{"position":[[1,4],[281,7],[574,3]]},"712":{"position":[[1,4],[441,3],[737,3],[936,3]]},"714":{"position":[[57,3]]},"734":{"position":[[32,3]]},"735":{"position":[[33,3]]},"737":{"position":[[1,4],[25,4],[49,3],[121,3],[171,3],[199,4]]},"738":{"position":[[40,4],[64,3]]},"739":{"position":[[28,4]]},"740":{"position":[[39,8]]},"741":{"position":[[23,4],[35,8],[158,4],[191,8],[457,3],[732,7],[756,4],[837,7],[861,4],[972,7],[996,4],[1099,7],[1123,4],[1488,3],[1502,3],[1539,4],[1577,7],[1614,4],[1641,3],[1782,8],[1805,5],[1926,8],[1949,5]]},"771":{"position":[[1,4],[164,3],[189,3]]},"788":{"position":[[63,9]]},"789":{"position":[[13,4]]},"791":{"position":[[13,4]]},"801":{"position":[[46,3]]},"802":{"position":[[38,3]]},"803":{"position":[[38,3]]},"804":{"position":[[38,3]]},"805":{"position":[[21,3]]},"806":{"position":[[20,8],[66,8],[131,9]]},"807":{"position":[[31,7]]},"808":{"position":[[31,8]]},"809":{"position":[[39,8],[91,7],[285,7]]},"810":{"position":[[1,4],[16,7],[284,7],[302,7],[316,7],[333,3]]}},"keywords":{}}],["set_cmd_tlm_disconnect",{"_index":4929,"title":{},"content":{"662":{"position":[[3641,22]]}},"keywords":{}}],["set_disconnected_target",{"_index":4931,"title":{},"content":{"662":{"position":[[3712,24]]}},"keywords":{}}],["set_limit",{"_index":5414,"title":{"741":{"position":[[0,11]]}},"content":{},"keywords":{}}],["set_limits(<target",{"_index":5416,"title":{},"content":{"741":{"position":[[237,21]]}},"keywords":{}}],["set_limits('inst",{"_index":5426,"title":{},"content":{"741":{"position":[[1980,18]]}},"keywords":{}}],["set_limits_method",{"_index":5415,"title":{},"content":{"741":{"position":[[5,17]]}},"keywords":{}}],["set_limits_set",{"_index":5396,"title":{"737":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_limits_set("<limit",{"_index":5397,"title":{},"content":{"737":{"position":[[89,31]]}},"keywords":{}}],["set_limits_set("default"",{"_index":5398,"title":{},"content":{"737":{"position":[[229,35]]}},"keywords":{}}],["set_line_delay",{"_index":5683,"title":{"789":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_line_delay(<delay>",{"_index":5684,"title":{},"content":{"789":{"position":[[75,29]]}},"keywords":{}}],["set_line_delay(0.0",{"_index":5686,"title":{},"content":{"789":{"position":[[269,19]]}},"keywords":{}}],["set_max_output",{"_index":5689,"title":{"791":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_max_output(<characters>",{"_index":5691,"title":{},"content":{"791":{"position":[[159,34]]}},"keywords":{}}],["set_max_output(100",{"_index":5693,"title":{},"content":{"791":{"position":[[302,19]]}},"keywords":{}}],["set_opt",{"_index":2056,"title":{},"content":{"140":{"position":[[86,10],[136,10]]}},"keywords":{}}],["set_replay_mod",{"_index":4932,"title":{},"content":{"662":{"position":[[3765,15]]}},"keywords":{}}],["set_set",{"_index":4928,"title":{"810":{"position":[[0,12]]}},"content":{"662":{"position":[[3629,11]]}},"keywords":{}}],["set_setting(<set",{"_index":5789,"title":{},"content":{"810":{"position":[[179,23]]}},"keywords":{}}],["set_setting('pypi_url",{"_index":5794,"title":{},"content":{"810":{"position":[[496,23]]}},"keywords":{}}],["set_setting('rubygems_url",{"_index":5790,"title":{},"content":{"810":{"position":[[353,27]]}},"keywords":{}}],["set_stdout_max_lin",{"_index":4933,"title":{},"content":{"662":{"position":[[3799,20]]}},"keywords":{}}],["set_tlm",{"_index":4935,"title":{"710":{"position":[[0,8]]}},"content":{"662":{"position":[[3887,7]]}},"keywords":{}}],["set_tlm("<target>",{"_index":5294,"title":{},"content":{"710":{"position":[[389,28]]}},"keywords":{}}],["set_tlm("inst",{"_index":5298,"title":{},"content":{"710":{"position":[[687,18],[824,18],[974,18],[1110,18]]}},"keywords":{}}],["set_tlm_raw",{"_index":4934,"title":{},"content":{"662":{"position":[[3845,11]]}},"keywords":{}}],["setopen",{"_index":4169,"title":{},"content":{"472":{"position":[[66,8]]}},"keywords":{}}],["setpoint",{"_index":5634,"title":{},"content":{"773":{"position":[[126,10],[213,11]]},"774":{"position":[[97,11]]}},"keywords":{}}],["sets"",{"_index":2639,"title":{},"content":{"279":{"position":[[8215,10]]}},"keywords":{}}],["setting<",{"_index":2496,"title":{},"content":{"253":{"position":[[2425,13]]}},"keywords":{}}],["setting"",{"_index":216,"title":{},"content":{"6":{"position":[[428,13],[859,13],[914,13],[969,13],[1024,13],[1079,13]]},"36":{"position":[[3554,13]]},"219":{"position":[[991,13]]},"229":{"position":[[3554,13]]},"279":{"position":[[2614,13]]}},"keywords":{}}],["settings"",{"_index":2493,"title":{},"content":{"253":{"position":[[1758,14]]}},"keywords":{}}],["settings)delimit",{"_index":4183,"title":{},"content":{"478":{"position":[[105,16]]}},"keywords":{}}],["settings)reset",{"_index":4199,"title":{},"content":{"489":{"position":[[104,14]]}},"keywords":{}}],["settings.sinc",{"_index":3439,"title":{},"content":{"369":{"position":[[892,14]]}},"keywords":{}}],["settingsif",{"_index":3951,"title":{},"content":{"404":{"position":[[934,10]]}},"keywords":{}}],["setup",{"_index":2571,"title":{},"content":{"267":{"position":[[516,5]]},"328":{"position":[[128,5]]},"332":{"position":[[342,5]]},"349":{"position":[[5360,5],[5422,6],[5526,5],[5588,6]]},"404":{"position":[[403,5],[1381,5]]},"533":{"position":[[429,5],[798,5],[862,5]]},"534":{"position":[[213,5],[555,5],[599,5]]},"795":{"position":[[96,6],[210,5],[1225,5]]}},"keywords":{}}],["setup"",{"_index":4314,"title":{},"content":{"534":{"position":[[236,11],[470,12]]}},"keywords":{}}],["setup(self",{"_index":4303,"title":{},"content":{"533":{"position":[[658,12]]},"534":{"position":[[439,12]]},"795":{"position":[[1758,12]]}},"keywords":{}}],["sever",{"_index":1036,"title":{},"content":{"44":{"position":[[99,7]]},"140":{"position":[[261,7]]},"275":{"position":[[30,7]]},"342":{"position":[[24,7]]},"352":{"position":[[209,7]]},"354":{"position":[[619,7]]},"393":{"position":[[1144,7]]},"450":{"position":[[284,7]]},"467":{"position":[[730,7]]},"517":{"position":[[282,8]]},"522":{"position":[[802,7]]},"531":{"position":[[35,7]]},"540":{"position":[[3597,7]]},"557":{"position":[[24,7]]},"559":{"position":[[17,7]]},"569":{"position":[[136,7]]},"806":{"position":[[12,7]]}},"keywords":{}}],["sh",{"_index":3705,"title":{},"content":{"383":{"position":[[880,3]]},"404":{"position":[[2323,2]]}},"keywords":{}}],["sha",{"_index":453,"title":{},"content":{"20":{"position":[[1020,3]]},"48":{"position":[[1280,3]]},"112":{"position":[[743,4]]}},"keywords":{}}],["sha256",{"_index":413,"title":{},"content":{"20":{"position":[[355,6]]},"112":{"position":[[751,6]]}},"keywords":{}}],["shall",{"_index":3112,"title":{},"content":{"344":{"position":[[77,5],[171,5],[286,5],[374,5],[418,5],[467,5],[532,5],[661,5],[765,5],[1022,5],[1140,5]]},"345":{"position":[[59,5],[196,5],[326,5],[448,5],[518,5],[622,5],[728,5],[830,5]]},"346":{"position":[[188,5],[292,5],[453,5],[551,5],[656,5],[834,5],[948,5],[1153,5],[1251,5],[1406,5],[1548,5],[1721,5]]},"347":{"position":[[236,5],[349,5],[445,5],[532,5],[682,5],[766,5]]},"348":{"position":[[419,5],[588,5],[706,5],[862,5],[1034,5],[1196,5],[1356,5],[1528,5],[1692,5],[1859,5],[2094,5],[2238,5]]},"349":{"position":[[1353,5],[1692,5],[1871,5],[2090,5],[2184,5],[2324,5],[2455,5],[2552,5],[2734,5],[2842,5],[3013,5],[3132,5],[3302,5],[3522,5],[3662,5],[3809,5],[3973,5],[4071,5],[4170,5],[4284,5],[4556,5],[4668,5],[4830,5],[4988,5],[5101,5],[5214,5],[5325,5],[5491,5],[5657,5],[5796,5],[5942,5],[6109,5],[6257,5],[6387,5],[6549,5],[6762,5]]},"350":{"position":[[203,5],[388,5],[546,5],[726,5],[894,5],[1039,5],[1154,5],[1410,5]]},"351":{"position":[[325,5],[410,5],[506,5]]},"352":{"position":[[158,5],[277,5],[386,5],[516,5],[605,5],[717,5],[814,5],[911,5],[1012,5],[1108,5]]},"353":{"position":[[170,5],[275,5],[364,5],[461,5],[637,5],[722,5],[808,5]]},"354":{"position":[[246,5],[361,5],[463,5],[558,5],[658,5]]},"355":{"position":[[148,5],[240,5],[336,5],[429,5],[512,5],[609,5],[704,5],[807,5]]},"356":{"position":[[161,5],[240,5],[320,5],[394,5],[505,5],[598,5],[684,5],[770,5],[852,5]]},"390":{"position":[[608,5],[915,5]]},"424":{"position":[[415,5],[787,5]]}},"keywords":{}}],["shard",{"_index":2083,"title":{"148":{"position":[[0,6]]},"177":{"position":[[0,6]]},"191":{"position":[[0,6]]}},"content":{"148":{"position":[[25,5],[73,6],[191,5],[243,5]]},"177":{"position":[[25,5],[73,6],[191,5],[243,5]]},"191":{"position":[[25,5],[73,6],[191,5],[243,5]]}},"keywords":{}}],["share",{"_index":372,"title":{"432":{"position":[[39,6]]}},"content":{"17":{"position":[[53,5]]},"18":{"position":[[56,5]]},"31":{"position":[[480,5]]},"100":{"position":[[899,5]]},"258":{"position":[[1922,5]]},"267":{"position":[[580,6]]},"358":{"position":[[2585,5]]},"368":{"position":[[506,5]]},"383":{"position":[[271,5],[433,6]]},"402":{"position":[[1065,6]]},"424":{"position":[[32,7],[238,6]]},"432":{"position":[[27,6]]},"551":{"position":[[173,6]]}},"keywords":{}}],["shell",{"_index":3064,"title":{},"content":{"333":{"position":[[97,5]]}},"keywords":{}}],["shell'",{"_index":3067,"title":{},"content":{"333":{"position":[[215,7]]}},"keywords":{}}],["ship",{"_index":3106,"title":{},"content":{"343":{"position":[[1107,5]]},"387":{"position":[[1211,4]]},"432":{"position":[[696,8]]}},"keywords":{}}],["short",{"_index":169,"title":{},"content":{"5":{"position":[[780,5]]},"226":{"position":[[250,5]]},"276":{"position":[[279,5]]},"321":{"position":[[1115,5],[1135,5],[1155,5]]},"364":{"position":[[108,5]]},"389":{"position":[[299,5]]},"550":{"position":[[246,5]]},"568":{"position":[[93,5]]}},"keywords":{}}],["shortcut",{"_index":4246,"title":{},"content":{"509":{"position":[[251,9]]}},"keywords":{}}],["shorter",{"_index":793,"title":{},"content":{"36":{"position":[[6580,7],[7376,7]]},"229":{"position":[[6580,7],[7376,7]]},"279":{"position":[[5119,7],[5977,7]]}},"keywords":{}}],["shot",{"_index":4242,"title":{},"content":{"506":{"position":[[502,5],[698,4]]}},"keywords":{}}],["show",{"_index":351,"title":{},"content":{"13":{"position":[[232,7]]},"14":{"position":[[201,7]]},"88":{"position":[[208,4],[419,4]]},"199":{"position":[[1,4]]},"225":{"position":[[1173,5]]},"271":{"position":[[1189,5]]},"314":{"position":[[1751,5]]},"333":{"position":[[874,4],[1022,4]]},"343":{"position":[[23,5]]},"347":{"position":[[88,5]]},"348":{"position":[[2179,5]]},"351":{"position":[[464,4]]},"369":{"position":[[1025,4],[2516,4],[4127,7]]},"380":{"position":[[1436,7]]},"387":{"position":[[1520,5]]},"407":{"position":[[242,5]]},"408":{"position":[[17,5],[102,5]]},"409":{"position":[[20,5],[77,5]]},"410":{"position":[[17,5],[71,5]]},"411":{"position":[[23,5],[120,5]]},"412":{"position":[[18,5]]},"468":{"position":[[242,4]]},"472":{"position":[[3,4],[187,4]]},"485":{"position":[[247,5]]},"490":{"position":[[3,5]]},"496":{"position":[[274,5]]},"497":{"position":[[512,4]]},"503":{"position":[[154,4]]},"509":{"position":[[430,7]]},"523":{"position":[[375,5]]},"524":{"position":[[459,4]]},"540":{"position":[[1898,4],[1981,4],[2812,4],[2896,4],[3591,5],[4014,4],[4516,5]]},"552":{"position":[[626,4]]},"561":{"position":[[88,5],[497,4],[796,4]]},"622":{"position":[[373,4]]}},"keywords":{}}],["show_backtrac",{"_index":4936,"title":{},"content":{"662":{"position":[[3895,14]]}},"keywords":{}}],["shown",{"_index":38,"title":{"199":{"position":[[0,6]]}},"content":{"2":{"position":[[170,5]]},"36":{"position":[[10522,5],[10769,5]]},"39":{"position":[[183,5]]},"105":{"position":[[792,5]]},"108":{"position":[[399,5]]},"109":{"position":[[755,5]]},"110":{"position":[[1089,5]]},"111":{"position":[[984,5]]},"112":{"position":[[340,5]]},"113":{"position":[[391,5]]},"197":{"position":[[21,5]]},"199":{"position":[[50,5],[203,6]]},"309":{"position":[[2760,6]]},"343":{"position":[[261,5]]},"348":{"position":[[834,6]]},"378":{"position":[[1628,5]]},"402":{"position":[[750,5]]},"447":{"position":[[127,5]]},"468":{"position":[[478,6]]},"470":{"position":[[162,5],[187,5]]},"472":{"position":[[428,5]]},"473":{"position":[[264,5],[378,5]]},"474":{"position":[[92,6]]},"485":{"position":[[90,5]]},"513":{"position":[[578,5]]},"540":{"position":[[3772,5]]},"542":{"position":[[907,5]]},"557":{"position":[[354,5]]},"662":{"position":[[3953,5]]},"699":{"position":[[188,5]]},"722":{"position":[[166,6]]},"724":{"position":[[213,5]]},"728":{"position":[[209,5]]}},"keywords":{}}],["shrink",{"_index":4265,"title":{},"content":{"524":{"position":[[313,7],[505,7],[689,7]]}},"keywords":{}}],["shut",{"_index":3566,"title":{},"content":{"373":{"position":[[476,8]]}},"keywords":{}}],["shutdown_cmd_tlm",{"_index":4938,"title":{},"content":{"662":{"position":[[3995,16]]}},"keywords":{}}],["shutter",{"_index":3154,"title":{},"content":{"349":{"position":[[1073,8]]}},"keywords":{}}],["side",{"_index":2911,"title":{},"content":{"312":{"position":[[258,4]]},"413":{"position":[[128,4]]},"485":{"position":[[108,4]]},"524":{"position":[[830,4],[838,5]]},"555":{"position":[[37,4]]},"612":{"position":[[711,4]]}},"keywords":{}}],["sign",{"_index":391,"title":{},"content":{"20":{"position":[[12,6],[217,6]]},"24":{"position":[[494,6],[853,6],[871,6]]},"36":{"position":[[9824,6],[10224,6],[10331,6]]},"82":{"position":[[51,4]]},"213":{"position":[[201,6]]},"229":{"position":[[9824,6],[10224,6],[10331,6]]},"258":{"position":[[1749,4]]},"358":{"position":[[3614,6],[5282,6]]},"391":{"position":[[19,6]]}},"keywords":{}}],["signal",{"_index":1383,"title":{"633":{"position":[[0,7]]}},"content":{"67":{"position":[[2126,6]]},"73":{"position":[[1762,6]]},"96":{"position":[[583,8]]},"633":{"position":[[37,6],[334,6]]}},"keywords":{}}],["signed"",{"_index":3051,"title":{},"content":{"332":{"position":[[693,13]]}},"keywords":{}}],["signific",{"_index":644,"title":{},"content":{"35":{"position":[[188,11]]},"228":{"position":[[216,11]]},"231":{"position":[[439,11]]},"233":{"position":[[233,11]]},"278":{"position":[[220,11]]},"281":{"position":[[390,11]]},"283":{"position":[[237,11]]},"321":{"position":[[317,11],[491,11],[683,11],[921,11],[1424,11],[1474,11]]},"540":{"position":[[332,12],[441,12]]}},"keywords":{}}],["significantli",{"_index":384,"title":{},"content":{"17":{"position":[[349,13]]},"18":{"position":[[354,13]]},"309":{"position":[[353,13]]}},"keywords":{}}],["silent",{"_index":1447,"title":{},"content":{"74":{"position":[[473,8]]},"75":{"position":[[489,8]]},"76":{"position":[[486,8]]},"83":{"position":[[2484,6]]}},"keywords":{}}],["similar",{"_index":188,"title":{},"content":{"5":{"position":[[1435,7]]},"31":{"position":[[495,10]]},"48":{"position":[[4646,7]]},"54":{"position":[[702,7]]},"55":{"position":[[530,7]]},"67":{"position":[[3175,7]]},"96":{"position":[[433,8]]},"100":{"position":[[837,7],[887,7]]},"216":{"position":[[214,7]]},"274":{"position":[[213,7]]},"309":{"position":[[607,7]]},"358":{"position":[[5833,7]]},"369":{"position":[[1917,7],[3407,7]]},"389":{"position":[[1543,7]]},"402":{"position":[[789,7]]},"484":{"position":[[324,7]]},"494":{"position":[[73,7]]},"504":{"position":[[274,7]]},"528":{"position":[[659,7]]},"535":{"position":[[317,7]]},"539":{"position":[[84,7]]},"540":{"position":[[16,12],[4437,10]]},"657":{"position":[[87,7]]},"691":{"position":[[23,8]]},"702":{"position":[[23,8]]}},"keywords":{}}],["similarli",{"_index":1395,"title":{},"content":{"67":{"position":[[3567,9]]},"109":{"position":[[2325,9]]},"319":{"position":[[398,9]]},"522":{"position":[[863,10]]},"534":{"position":[[862,10]]},"542":{"position":[[389,9]]}},"keywords":{}}],["simpl",{"_index":124,"title":{"543":{"position":[[14,6]]}},"content":{"3":{"position":[[610,7]]},"8":{"position":[[77,6]]},"54":{"position":[[443,6]]},"108":{"position":[[37,6]]},"112":{"position":[[41,6]]},"113":{"position":[[42,6]]},"257":{"position":[[179,6]]},"260":{"position":[[141,6]]},"263":{"position":[[347,6]]},"302":{"position":[[1840,6]]},"303":{"position":[[1083,6]]},"306":{"position":[[733,6]]},"307":{"position":[[1256,6]]},"320":{"position":[[1827,6]]},"324":{"position":[[666,6]]},"342":{"position":[[871,6]]},"348":{"position":[[114,6]]},"349":{"position":[[1442,6]]},"350":{"position":[[26,6]]},"367":{"position":[[212,6],[513,6],[919,6]]},"369":{"position":[[505,7]]},"421":{"position":[[459,6]]},"449":{"position":[[120,6]]},"450":{"position":[[35,6]]},"501":{"position":[[113,6]]},"504":{"position":[[251,6]]},"533":{"position":[[332,6]]},"538":{"position":[[251,7]]},"542":{"position":[[49,6],[891,6]]},"548":{"position":[[56,6]]},"549":{"position":[[339,6]]}},"keywords":{}}],["simple.txt",{"_index":2966,"title":{},"content":{"320":{"position":[[1542,10]]}},"keywords":{}}],["simpler",{"_index":2829,"title":{},"content":{"309":{"position":[[157,7]]}},"keywords":{}}],["simpli",{"_index":332,"title":{},"content":{"12":{"position":[[222,6]]},"50":{"position":[[790,6]]},"52":{"position":[[216,6]]},"53":{"position":[[20,6]]},"56":{"position":[[416,6]]},"100":{"position":[[952,6]]},"271":{"position":[[1453,6]]},"326":{"position":[[381,6]]},"330":{"position":[[1176,6]]},"358":{"position":[[6091,6]]},"359":{"position":[[1834,6]]},"382":{"position":[[97,6]]},"395":{"position":[[165,6]]},"400":{"position":[[28,6]]},"419":{"position":[[107,6]]},"422":{"position":[[659,6]]},"428":{"position":[[168,6]]},"454":{"position":[[125,6],[420,6]]},"473":{"position":[[334,6]]},"522":{"position":[[1129,6]]},"530":{"position":[[29,6]]},"554":{"position":[[632,6]]},"561":{"position":[[246,6]]},"658":{"position":[[1044,6]]},"697":{"position":[[215,6]]}},"keywords":{}}],["simul",{"_index":2367,"title":{},"content":{"220":{"position":[[1659,10]]}},"keywords":{}}],["simulation=${simul",{"_index":3574,"title":{},"content":{"376":{"position":[[91,24]]}},"keywords":{}}],["simulation=n",{"_index":3573,"title":{},"content":{"376":{"position":[[69,17]]}},"keywords":{}}],["simultan",{"_index":3997,"title":{},"content":{"420":{"position":[[167,14]]}},"keywords":{}}],["singl",{"_index":142,"title":{"264":{"position":[[0,6]]},"563":{"position":[[15,6]]}},"content":{"5":{"position":[[53,6]]},"9":{"position":[[798,6],[907,6]]},"39":{"position":[[30,6]]},"43":{"position":[[586,6]]},"48":{"position":[[2705,6]]},"81":{"position":[[38,6],[93,6]]},"82":{"position":[[44,6]]},"91":{"position":[[512,6],[829,6]]},"92":{"position":[[496,6],[620,6]]},"110":{"position":[[370,6],[418,6]]},"192":{"position":[[128,6]]},"195":{"position":[[88,6]]},"196":{"position":[[157,6]]},"258":{"position":[[1742,6]]},"259":{"position":[[188,6]]},"264":{"position":[[74,6],[176,6],[346,6]]},"348":{"position":[[48,6]]},"358":{"position":[[1057,6],[2485,6],[2539,6]]},"368":{"position":[[785,6]]},"395":{"position":[[3,6]]},"454":{"position":[[91,6]]},"472":{"position":[[785,6]]},"506":{"position":[[636,6]]},"524":{"position":[[937,6]]},"534":{"position":[[994,6]]},"563":{"position":[[249,6]]},"566":{"position":[[12,6],[124,6],[282,6],[381,6]]},"574":{"position":[[205,6]]},"637":{"position":[[616,6]]},"642":{"position":[[199,6]]},"673":{"position":[[102,6],[1355,6],[1762,6]]},"770":{"position":[[271,6]]}},"keywords":{}}],["sit",{"_index":4249,"title":{},"content":{"517":{"position":[[24,4]]}},"keywords":{}}],["site",{"_index":397,"title":{},"content":{"20":{"position":[[97,4]]},"391":{"position":[[479,4]]},"393":{"position":[[938,4]]},"432":{"position":[[1289,5]]},"434":{"position":[[121,4],[148,5],[314,6],[783,4],[865,5]]}},"keywords":{}}],["situat",{"_index":4165,"title":{},"content":{"470":{"position":[[41,11]]},"519":{"position":[[240,11]]},"569":{"position":[[678,9]]}},"keywords":{}}],["six",{"_index":4319,"title":{},"content":{"535":{"position":[[32,3]]}},"keywords":{}}],["size",{"_index":375,"title":{"273":{"position":[[9,5]]}},"content":{"17":{"position":[[80,5],[179,5]]},"18":{"position":[[83,5],[183,5]]},"35":{"position":[[350,4],[359,4],[558,4]]},"36":{"position":[[1616,4]]},"37":{"position":[[143,4],[152,4],[351,4]]},"48":{"position":[[339,4],[2339,5],[4390,5],[4412,4],[4556,5]]},"54":{"position":[[424,4],[581,4],[783,4]]},"55":{"position":[[785,4],[915,4],[924,4],[1953,4]]},"65":{"position":[[562,4],[571,4]]},"138":{"position":[[495,4]]},"154":{"position":[[60,4],[126,4]]},"157":{"position":[[67,4],[133,4]]},"161":{"position":[[62,4],[128,4]]},"164":{"position":[[69,4],[135,4]]},"228":{"position":[[379,4],[388,4],[587,4]]},"229":{"position":[[1616,4]]},"230":{"position":[[162,4],[171,4],[370,4]]},"231":{"position":[[549,4],[558,4],[757,4]]},"232":{"position":[[385,4],[394,4],[593,4]]},"233":{"position":[[401,4],[410,4],[553,4],[568,4]]},"234":{"position":[[184,4],[193,4],[336,4],[351,4]]},"272":{"position":[[388,5]]},"273":{"position":[[29,5],[51,4],[166,5],[259,4],[346,5]]},"274":{"position":[[458,4]]},"278":{"position":[[372,4],[381,4],[585,4]]},"279":{"position":[[1611,4],[7451,4],[7460,4]]},"280":{"position":[[164,4],[173,4],[377,4]]},"281":{"position":[[495,4],[504,4]]},"282":{"position":[[164,4],[173,4]]},"283":{"position":[[394,4],[403,4],[546,4],[561,4]]},"284":{"position":[[186,4],[195,4],[338,4],[353,4]]},"289":{"position":[[165,4]]},"369":{"position":[[3764,6],[4013,6]]},"402":{"position":[[5214,5],[5233,4]]},"498":{"position":[[695,4]]},"585":{"position":[[130,4]]},"586":{"position":[[132,4]]},"590":{"position":[[95,5],[202,4]]},"594":{"position":[[223,5]]},"595":{"position":[[92,5]]},"596":{"position":[[72,5]]},"597":{"position":[[96,5]]},"598":{"position":[[73,5]]},"599":{"position":[[81,5]]},"607":{"position":[[16,4]]},"626":{"position":[[1965,5],[1972,4]]},"627":{"position":[[622,4],[2018,5],[2025,4]]},"628":{"position":[[1990,5],[1997,4]]},"647":{"position":[[259,4],[269,4]]},"648":{"position":[[366,4],[376,4]]},"756":{"position":[[193,5],[213,5],[642,5],[676,5],[1198,5],[1234,5]]},"765":{"position":[[187,5],[207,5],[618,5],[652,5],[1153,5],[1186,5]]}},"keywords":{}}],["sl",{"_index":2857,"title":{},"content":{"309":{"position":[[1706,2]]}},"keywords":{}}],["sleep",{"_index":1676,"title":{},"content":{"83":{"position":[[3516,5]]}},"keywords":{}}],["slip",{"_index":1132,"title":{"52":{"position":[[0,4]]}},"content":{"50":{"position":[[67,5]]},"52":{"position":[[20,6],[206,4]]}},"keywords":{}}],["slot",{"_index":4137,"title":{},"content":{"452":{"position":[[454,4]]}},"keywords":{}}],["slow",{"_index":385,"title":{},"content":{"17":{"position":[[363,5]]},"18":{"position":[[368,5]]},"552":{"position":[[2209,4]]},"793":{"position":[[152,4]]}},"keywords":{}}],["slowdown",{"_index":3413,"title":{},"content":{"368":{"position":[[849,8]]}},"keywords":{}}],["small",{"_index":85,"title":{},"content":{"3":{"position":[[45,5]]},"349":{"position":[[1129,5]]},"351":{"position":[[205,5]]},"369":{"position":[[2016,5]]},"547":{"position":[[927,5]]},"554":{"position":[[319,5]]},"569":{"position":[[824,5],[927,5]]}},"keywords":{}}],["smaller",{"_index":2679,"title":{},"content":{"289":{"position":[[140,7]]},"522":{"position":[[291,7]]}},"keywords":{}}],["smallest",{"_index":804,"title":{},"content":{"36":{"position":[[7105,8]]},"229":{"position":[[7105,8]]},"279":{"position":[[5706,8]]},"358":{"position":[[4059,8]]}},"keywords":{}}],["snmp",{"_index":1823,"title":{"112":{"position":[[0,4]]},"113":{"position":[[0,4]]}},"content":{"100":{"position":[[366,5]]},"103":{"position":[[341,5],[347,4]]},"112":{"position":[[5,4],[89,4],[204,4],[237,4],[397,4],[622,4]]},"113":{"position":[[5,4],[88,4],[448,4]]}},"keywords":{}}],["snmp_int",{"_index":1945,"title":{},"content":{"112":{"position":[[908,8]]},"113":{"position":[[513,8]]}},"keywords":{}}],["snmp_interface.rb",{"_index":1946,"title":{},"content":{"112":{"position":[[917,17]]}},"keywords":{}}],["snmp_trap_interface.rb",{"_index":1953,"title":{},"content":{"113":{"position":[[522,22]]}},"keywords":{}}],["snooz",{"_index":4008,"title":{},"content":{"422":{"position":[[1028,6],[1057,6],[1407,6]]}},"keywords":{}}],["soak",{"_index":3480,"title":{},"content":{"369":{"position":[[2178,5]]}},"keywords":{}}],["socket",{"_index":1704,"title":{"87":{"position":[[0,6]]}},"content":{"100":{"position":[[550,8]]},"104":{"position":[[48,6],[143,6]]},"105":{"position":[[114,7],[205,6]]},"106":{"position":[[404,7]]},"115":{"position":[[85,6],[380,6]]},"309":{"position":[[2427,6]]},"429":{"position":[[488,7]]},"455":{"position":[[461,6],[706,6]]}},"keywords":{}}],["softwar",{"_index":1990,"title":{},"content":{"119":{"position":[[52,8],[182,8]]},"178":{"position":[[124,8]]},"258":{"position":[[53,8]]},"343":{"position":[[906,8]]},"349":{"position":[[696,8],[1282,8]]},"387":{"position":[[1492,8],[1717,8]]},"389":{"position":[[606,8],[1230,9]]},"390":{"position":[[673,9],[691,8],[1113,8],[1158,9]]},"393":{"position":[[749,8]]},"426":{"position":[[215,8],[1270,9]]}},"keywords":{}}],["sold",{"_index":3793,"title":{},"content":{"391":{"position":[[395,4]]},"424":{"position":[[50,4]]}},"keywords":{}}],["sole",{"_index":4034,"title":{},"content":{"424":{"position":[[1459,6]]},"434":{"position":[[28,6]]}},"keywords":{}}],["solut",{"_index":824,"title":{},"content":{"36":{"position":[[9043,9]]},"67":{"position":[[62,8]]},"100":{"position":[[589,9]]},"229":{"position":[[9043,9]]},"279":{"position":[[7166,9]]},"359":{"position":[[2853,9]]},"369":{"position":[[3804,8]]},"547":{"position":[[914,8]]}},"keywords":{}}],["solv",{"_index":4396,"title":{},"content":{"544":{"position":[[488,6]]}},"keywords":{}}],["somehow",{"_index":1964,"title":{},"content":{"115":{"position":[[103,7],[398,7]]}},"keywords":{}}],["someon",{"_index":4338,"title":{},"content":{"540":{"position":[[1132,7]]}},"keywords":{}}],["someth",{"_index":1224,"title":{},"content":{"55":{"position":[[1522,9]]},"56":{"position":[[355,9]]},"67":{"position":[[533,9],[2740,9]]},"147":{"position":[[196,9]]},"189":{"position":[[196,9]]},"219":{"position":[[1391,9]]},"332":{"position":[[949,9]]},"358":{"position":[[7135,9]]},"359":{"position":[[854,9]]},"498":{"position":[[660,9]]},"499":{"position":[[566,9]]},"547":{"position":[[303,9]]},"551":{"position":[[414,9]]},"552":{"position":[[752,9]]},"565":{"position":[[158,9]]},"569":{"position":[[6,9],[189,9],[778,9]]},"673":{"position":[[1387,9],[1794,9]]},"674":{"position":[[36,9]]}},"keywords":{}}],["sometim",{"_index":105,"title":{},"content":{"3":{"position":[[361,9]]},"24":{"position":[[48,9],[154,9]]},"36":{"position":[[6615,9],[7411,9]]},"69":{"position":[[763,9]]},"229":{"position":[[6615,9],[7411,9]]},"279":{"position":[[5154,9],[6012,9]]},"382":{"position":[[581,9]]},"535":{"position":[[1440,9]]},"552":{"position":[[824,9]]},"563":{"position":[[201,9]]},"568":{"position":[[927,9]]}},"keywords":{}}],["somewher",{"_index":3061,"title":{},"content":{"332":{"position":[[1136,9]]}},"keywords":{}}],["soon",{"_index":3774,"title":{},"content":{"390":{"position":[[30,4]]},"568":{"position":[[389,4]]}},"keywords":{}}],["sort",{"_index":2569,"title":{},"content":{"267":{"position":[[81,6]]},"332":{"position":[[469,4]]},"339":{"position":[[92,6]]},"342":{"position":[[388,5]]},"447":{"position":[[23,6]]},"514":{"position":[[79,6]]},"515":{"position":[[82,6]]}},"keywords":{}}],["sourc",{"_index":677,"title":{"81":{"position":[[37,7]]}},"content":{"36":{"position":[[806,6]]},"44":{"position":[[1083,6]]},"81":{"position":[[20,6]]},"88":{"position":[[73,6]]},"106":{"position":[[337,6]]},"109":{"position":[[2716,7]]},"110":{"position":[[2447,7]]},"200":{"position":[[212,6]]},"209":{"position":[[337,6]]},"229":{"position":[[806,6]]},"240":{"position":[[195,6]]},"255":{"position":[[39,6]]},"258":{"position":[[725,6]]},"261":{"position":[[68,6]]},"279":{"position":[[801,6]]},"287":{"position":[[204,6]]},"309":{"position":[[2632,6],[2682,6]]},"320":{"position":[[23,6]]},"362":{"position":[[20,6]]},"365":{"position":[[34,6],[182,8]]},"368":{"position":[[59,6]]},"387":{"position":[[682,6],[811,6]]},"389":{"position":[[26,6],[684,6],[926,6],[1279,6],[1756,6]]},"392":{"position":[[563,6]]},"440":{"position":[[150,6],[482,6]]},"505":{"position":[[98,6],[205,6]]}},"keywords":{}}],["source_url",{"_index":5751,"title":{},"content":{"807":{"position":[[338,13]]},"808":{"position":[[1216,13],[1239,13]]}},"keywords":{}}],["spa",{"_index":1018,"title":{"264":{"position":[[7,4]]}},"content":{"43":{"position":[[593,3]]},"192":{"position":[[135,3]]},"195":{"position":[[95,4]]},"196":{"position":[[164,3]]},"264":{"position":[[81,3],[183,3],[353,3]]}},"keywords":{}}],["space",{"_index":290,"title":{},"content":{"8":{"position":[[381,6]]},"42":{"position":[[2334,7]]},"55":{"position":[[2674,5],[2772,5]]},"96":{"position":[[323,5],[652,6]]},"125":{"position":[[321,5]]},"236":{"position":[[160,5]]},"265":{"position":[[32,5],[102,5]]},"286":{"position":[[151,5]]},"289":{"position":[[198,5]]},"321":{"position":[[967,5]]},"332":{"position":[[1154,7]]},"358":{"position":[[4453,5]]},"440":{"position":[[448,6]]},"454":{"position":[[152,5]]},"473":{"position":[[606,6]]},"506":{"position":[[154,6]]},"524":{"position":[[152,6]]},"540":{"position":[[315,6],[524,7],[1258,7]]},"609":{"position":[[45,5]]},"610":{"position":[[45,5]]},"612":{"position":[[545,5],[634,5],[725,5]]},"659":{"position":[[1167,5]]},"787":{"position":[[906,6]]}},"keywords":{}}],["space(//main/div/a[2]/p/text",{"_index":2293,"title":{},"content":{"216":{"position":[[914,31]]},"217":{"position":[[3035,31]]}},"keywords":{}}],["space(//main/div/a[2]/span/h2/text",{"_index":2288,"title":{},"content":{"216":{"position":[[689,37]]},"217":{"position":[[2810,37]]}},"keywords":{}}],["spacecraft",{"_index":1282,"title":{},"content":{"59":{"position":[[383,10]]},"60":{"position":[[217,10]]}},"keywords":{}}],["spacer",{"_index":4675,"title":{"607":{"position":[[0,7]]}},"content":{"607":{"position":[[21,6],[97,6],[140,6],[221,6]]}},"keywords":{}}],["spaces.python",{"_index":4329,"title":{},"content":{"540":{"position":[[426,14]]}},"keywords":{}}],["spacesystem",{"_index":3849,"title":{},"content":{"398":{"position":[[270,11]]}},"keywords":{}}],["spacesystemtelemetrymetadatacommandmetadataparametertypesetenumerationlistparametersetcontainersetentrylistdefaultcalibratordefaultalarmrestrictioncriteriacomparisonlistmetacommandsetdefaultcalibratorargumenttypesetargumentlistargumentassignmentlistenumeratedparametertypeenumeratedargumenttypeintegerparametertypeintegerargumenttypefloatparametertypefloatargumenttypestringparametertypestringargumenttypebinaryparametertypebinaryargumenttypeintegerdataencodingfloatdataencodingstringdataencodingbinarydataencoding'sizeinbitsfixedvalueunitsetunitpolynomialcalibratortermstaticalarmrangeswarningrangecriticalrangevalidrangeenumerationparameterargumentparameterpropertiessequencecontainerbasecontainerlongdescriptionparameterrefentryargumentrefentrybasemetacommandcomparisonmetacommandbasemetacommandcommandcontainerargumentassign",{"_index":3852,"title":{},"content":{"399":{"position":[[76,832]]}},"keywords":{}}],["spare",{"_index":3667,"title":{},"content":{"379":{"position":[[3444,5],[3474,5]]}},"keywords":{}}],["spare2align",{"_index":3661,"title":{},"content":{"379":{"position":[[3276,11]]}},"keywords":{}}],["sparklin",{"_index":4727,"title":{"627":{"position":[[0,10]]}},"content":{"627":{"position":[[12,9],[579,9],[726,10]]},"628":{"position":[[51,9]]}},"keywords":{}}],["spawn",{"_index":3405,"title":{},"content":{"368":{"position":[[93,6]]},"420":{"position":[[271,6]]},"422":{"position":[[827,8],[873,5],[931,8]]},"530":{"position":[[219,7]]},"548":{"position":[[230,5]]}},"keywords":{}}],["spec",{"_index":1702,"title":{},"content":{"86":{"position":[[302,5]]},"221":{"position":[[322,4]]},"369":{"position":[[4232,5]]},"385":{"position":[[320,4]]}},"keywords":{}}],["special",{"_index":1175,"title":{},"content":{"51":{"position":[[336,7]]},"52":{"position":[[124,7]]},"78":{"position":[[505,7]]},"86":{"position":[[159,7]]},"274":{"position":[[255,7]]},"309":{"position":[[964,7]]},"468":{"position":[[145,8],[300,8]]},"533":{"position":[[829,7]]},"552":{"position":[[1989,7]]},"562":{"position":[[183,7]]},"639":{"position":[[525,7]]},"654":{"position":[[374,7]]},"690":{"position":[[1338,9],[1500,10]]},"692":{"position":[[558,11],[694,11]]}},"keywords":{}}],["special"",{"_index":4365,"title":{},"content":{"540":{"position":[[2525,14],[3435,14]]},"680":{"position":[[1626,14],[1844,14]]},"690":{"position":[[699,14]]}},"keywords":{}}],["specif",{"_index":673,"title":{},"content":{"36":{"position":[[671,8]]},"50":{"position":[[1189,9]]},"70":{"position":[[190,8]]},"83":{"position":[[1277,8]]},"86":{"position":[[65,14]]},"98":{"position":[[35,8]]},"115":{"position":[[1133,8],[1392,8]]},"126":{"position":[[242,8]]},"139":{"position":[[631,8]]},"174":{"position":[[249,8]]},"178":{"position":[[360,8]]},"229":{"position":[[671,8]]},"235":{"position":[[180,8]]},"240":{"position":[[60,8]]},"279":{"position":[[666,8],[10662,8]]},"285":{"position":[[179,8]]},"287":{"position":[[69,8]]},"288":{"position":[[310,8]]},"301":{"position":[[723,8],[1167,8]]},"302":{"position":[[1198,8],[1316,8],[1725,8]]},"320":{"position":[[447,8]]},"333":{"position":[[465,8]]},"343":{"position":[[1476,8]]},"346":{"position":[[95,8]]},"348":{"position":[[495,8],[778,8],[956,8],[983,8],[1145,8]]},"350":{"position":[[288,8]]},"378":{"position":[[1431,14]]},"382":{"position":[[738,8]]},"383":{"position":[[453,8],[496,8]]},"391":{"position":[[183,8]]},"402":{"position":[[2099,8]]},"473":{"position":[[931,8]]},"498":{"position":[[251,8]]},"499":{"position":[[270,8]]},"546":{"position":[[999,8],[1093,8]]},"549":{"position":[[280,8],[386,8]]},"556":{"position":[[763,8]]},"563":{"position":[[475,8]]},"575":{"position":[[226,8]]},"581":{"position":[[284,8]]},"582":{"position":[[553,8]]},"591":{"position":[[284,8]]},"657":{"position":[[243,8]]},"704":{"position":[[194,8]]},"715":{"position":[[28,8]]},"741":{"position":[[1523,8]]}},"keywords":{}}],["specifi",{"_index":340,"title":{},"content":{"12":{"position":[[422,7],[540,10]]},"15":{"position":[[323,7]]},"16":{"position":[[325,7]]},"20":{"position":[[1238,9],[1312,7],[1369,9],[1443,7]]},"32":{"position":[[1,7]]},"35":{"position":[[506,9],[1119,7],[1650,7]]},"36":{"position":[[8018,9],[8385,9],[9780,9],[10095,7]]},"37":{"position":[[299,9],[912,7],[1443,7]]},"39":{"position":[[1,7]]},"57":{"position":[[953,7]]},"66":{"position":[[34,9]]},"86":{"position":[[236,9],[369,9]]},"138":{"position":[[680,9],[741,9]]},"217":{"position":[[1471,9],[2093,9]]},"228":{"position":[[535,9],[1148,7],[1679,7]]},"229":{"position":[[8018,9],[8385,9],[9780,9],[10095,7]]},"230":{"position":[[318,9],[931,7],[1462,7]]},"231":{"position":[[705,9],[1823,7]]},"232":{"position":[[541,9],[1659,7]]},"233":{"position":[[706,9]]},"234":{"position":[[489,9]]},"273":{"position":[[8,9]]},"278":{"position":[[533,9]]},"279":{"position":[[6678,9],[7043,9]]},"280":{"position":[[325,9]]},"281":{"position":[[656,9]]},"282":{"position":[[325,9]]},"283":{"position":[[699,9]]},"284":{"position":[[491,9]]},"298":{"position":[[10,9]]},"331":{"position":[[828,9]]},"349":{"position":[[4941,9]]},"359":{"position":[[257,7]]},"383":{"position":[[1061,10]]},"401":{"position":[[216,10]]},"419":{"position":[[211,7]]},"421":{"position":[[97,10],[161,9]]},"422":{"position":[[206,9],[556,10],[777,9],[1046,10]]},"424":{"position":[[530,10]]},"473":{"position":[[1212,9]]},"481":{"position":[[47,7]]},"482":{"position":[[510,9]]},"514":{"position":[[390,9]]},"515":{"position":[[418,9]]},"522":{"position":[[762,9],[874,10],[946,9]]},"594":{"position":[[118,10]]},"611":{"position":[[65,9]]},"626":{"position":[[1603,9]]},"627":{"position":[[1656,9]]},"628":{"position":[[1628,9]]},"673":{"position":[[1131,9]]},"677":{"position":[[9,9]]},"678":{"position":[[9,9]]},"679":{"position":[[9,9]]},"680":{"position":[[9,9]]},"681":{"position":[[9,9]]},"682":{"position":[[9,9]]},"683":{"position":[[9,9]]},"684":{"position":[[9,9]]},"695":{"position":[[31,9]]},"697":{"position":[[55,9]]},"701":{"position":[[11,9],[447,10]]},"703":{"position":[[74,9],[511,10]]},"704":{"position":[[51,9],[221,9]]},"709":{"position":[[31,9]]},"711":{"position":[[337,9]]},"722":{"position":[[1271,10],[1303,10]]},"723":{"position":[[1038,10],[1070,10]]},"724":{"position":[[824,10]]},"725":{"position":[[705,10]]},"726":{"position":[[883,10],[915,10]]},"727":{"position":[[934,10],[966,10]]},"728":{"position":[[749,10]]},"729":{"position":[[561,9],[677,10]]},"732":{"position":[[35,9]]},"733":{"position":[[36,9]]},"734":{"position":[[55,9]]},"735":{"position":[[56,9]]},"744":{"position":[[295,10]]},"772":{"position":[[13,9]]},"780":{"position":[[33,9],[319,9]]},"781":{"position":[[236,9]]},"783":{"position":[[249,9]]},"785":{"position":[[289,9]]},"786":{"position":[[384,9]]},"787":{"position":[[440,9],[672,7]]}},"keywords":{}}],["speed",{"_index":3409,"title":{},"content":{"368":{"position":[[610,7]]},"793":{"position":[[120,8]]}},"keywords":{}}],["speed_of_light",{"_index":4340,"title":{},"content":{"540":{"position":[[1347,14]]}},"keywords":{}}],["splinecalibratoraltern",{"_index":3856,"title":{},"content":{"401":{"position":[[179,25]]}},"keywords":{}}],["split",{"_index":2352,"title":{},"content":{"219":{"position":[[1442,5]]},"612":{"position":[[463,7],[768,6]]}},"keywords":{}}],["spread",{"_index":2981,"title":{},"content":{"321":{"position":[[1351,6]]}},"keywords":{}}],["spreadsheet",{"_index":4574,"title":{},"content":{"571":{"position":[[9,11]]}},"keywords":{}}],["sprintf('%04u/%02u/%02u",{"_index":2727,"title":{},"content":{"299":{"position":[[1625,23]]}},"keywords":{}}],["sql",{"_index":2524,"title":{},"content":{"258":{"position":[[1822,3]]}},"keywords":{}}],["sr",{"_index":3092,"title":{},"content":{"340":{"position":[[281,4]]},"349":{"position":[[1673,2],[1852,2],[2071,2],[2165,2],[2305,2],[2436,2],[2533,2],[2715,2],[2822,2],[2993,2],[3112,2],[3282,2],[3502,2],[3642,2],[3789,2],[3953,2],[4051,2],[4150,2],[4264,2],[4536,2],[4648,2],[4810,2],[4957,2],[5070,2],[5183,2],[5294,2],[5460,2],[5626,2],[5765,2],[5911,2],[6078,2],[6226,2],[6356,2],[6518,2],[6731,2]]}},"keywords":{}}],["sr_messag",{"_index":4523,"title":{},"content":{"561":{"position":[[512,11],[811,11]]}},"keywords":{}}],["src",{"_index":2944,"title":{},"content":{"320":{"position":[[60,3]]}},"keywords":{}}],["src/bigwidget.vu",{"_index":2964,"title":{},"content":{"320":{"position":[[1130,17]]}},"keywords":{}}],["src/helloworldwidget.vu",{"_index":2961,"title":{},"content":{"320":{"position":[[986,24],[1233,24]]}},"keywords":{}}],["src/main.j",{"_index":2812,"title":{},"content":{"307":{"position":[[829,11]]}},"keywords":{}}],["src/router.j",{"_index":2813,"title":{},"content":{"307":{"position":[[917,13]]}},"keywords":{}}],["src/tools/datavi",{"_index":2814,"title":{},"content":{"307":{"position":[[953,17]]}},"keywords":{}}],["src/tools/datavis/datavis.vu",{"_index":2818,"title":{},"content":{"307":{"position":[[1187,29]]}},"keywords":{}}],["src="12"/><div><ul><li>3.14</li><li>example</li></ul></div><div></div></body></html>",{"_index":2360,"title":{},"content":{"220":{"position":[[579,170],[1820,170]]}},"keywords":{}}],["src="3"></script><noscript>101</noscript></head><body><img",{"_index":2359,"title":{},"content":{"220":{"position":[[474,104],[1715,104]]}},"keywords":{}}],["ss",{"_index":4581,"title":{},"content":{"571":{"position":[[527,2]]}},"keywords":{}}],["ss[0][0][0",{"_index":4583,"title":{},"content":{"571":{"position":[[585,11]]}},"keywords":{}}],["ssh",{"_index":3968,"title":{},"content":{"404":{"position":[[1839,3],[1895,3],[1937,3],[2097,4]]}},"keywords":{}}],["sshgoto",{"_index":3962,"title":{},"content":{"404":{"position":[[1404,7]]}},"keywords":{}}],["sshyou",{"_index":3960,"title":{},"content":{"404":{"position":[[1297,6]]}},"keywords":{}}],["ssl",{"_index":387,"title":{"19":{"position":[[0,3]]}},"content":{"20":{"position":[[224,3]]},"26":{"position":[[59,3]]},"27":{"position":[[75,3]]},"109":{"position":[[225,3],[608,3],[628,3],[647,3]]},"110":{"position":[[245,3],[601,3],[621,3],[640,3]]},"309":{"position":[[3678,3]]},"332":{"position":[[79,3],[279,3],[416,3],[477,3],[565,3]]},"429":{"position":[[502,5],[595,3]]}},"keywords":{}}],["ssl_cert_fil",{"_index":3045,"title":{},"content":{"332":{"position":[[295,13],[1245,13]]}},"keywords":{}}],["stack",{"_index":3259,"title":{},"content":{"358":{"position":[[3383,6]]},"759":{"position":[[678,5]]},"769":{"position":[[682,5]]}},"keywords":{}}],["stackdisplay",{"_index":4286,"title":{},"content":{"529":{"position":[[221,12]]}},"keywords":{}}],["stagnant",{"_index":4688,"title":{},"content":{"611":{"position":[[223,9]]},"635":{"position":[[114,9]]}},"keywords":{}}],["stakehold",{"_index":3346,"title":{},"content":{"363":{"position":[[181,13]]}},"keywords":{}}],["stale",{"_index":4197,"title":{},"content":{"489":{"position":[[26,5]]},"579":{"position":[[34,5],[72,5],[237,6],[422,5]]}},"keywords":{}}],["stale_tim",{"_index":4601,"title":{"579":{"position":[[0,11]]}},"content":{"579":{"position":[[361,10]]}},"keywords":{}}],["stamp",{"_index":3114,"title":{},"content":{"344":{"position":[[672,5],[776,5],[990,6],[1033,5],[1099,6]]},"346":{"position":[[1740,6],[1772,6]]}},"keywords":{}}],["stand",{"_index":191,"title":{},"content":{"6":{"position":[[5,6]]}},"keywords":{}}],["standard",{"_index":494,"title":{},"content":{"22":{"position":[[312,8]]},"61":{"position":[[337,9]]},"95":{"position":[[20,12]]},"96":{"position":[[341,12]]},"102":{"position":[[256,10]]},"125":{"position":[[242,8]]},"183":{"position":[[75,8]]},"184":{"position":[[82,8]]},"195":{"position":[[271,8]]},"213":{"position":[[165,9]]},"258":{"position":[[36,8]]},"263":{"position":[[187,8]]},"309":{"position":[[395,8]]},"314":{"position":[[1846,8]]},"349":{"position":[[1474,8],[1566,8],[1752,8]]},"369":{"position":[[58,8]]},"402":{"position":[[4269,8]]},"434":{"position":[[496,9]]},"440":{"position":[[26,8]]},"540":{"position":[[412,8],[510,8]]},"637":{"position":[[882,8]]},"758":{"position":[[68,8]]},"759":{"position":[[77,8]]},"768":{"position":[[64,8]]},"769":{"position":[[74,8]]},"778":{"position":[[299,8]]}},"keywords":{}}],["standardaddit",{"_index":3859,"title":{},"content":{"401":{"position":[[269,18]]}},"keywords":{}}],["start",{"_index":256,"title":{"357":{"position":[[8,7]]},"777":{"position":[[0,6]]}},"content":{"7":{"position":[[481,5]]},"23":{"position":[[362,5]]},"27":{"position":[[93,5],[1063,7]]},"33":{"position":[[1,5]]},"36":{"position":[[7768,5]]},"47":{"position":[[27,5]]},"52":{"position":[[223,6],[691,5]]},"53":{"position":[[664,8]]},"54":{"position":[[1062,8]]},"55":{"position":[[642,5]]},"65":{"position":[[888,5]]},"148":{"position":[[204,8]]},"177":{"position":[[204,8]]},"191":{"position":[[204,8]]},"200":{"position":[[75,8]]},"209":{"position":[[1,5],[33,5]]},"229":{"position":[[7768,5]]},"244":{"position":[[362,5]]},"255":{"position":[[234,8]]},"257":{"position":[[275,8]]},"259":{"position":[[219,5]]},"279":{"position":[[6365,5]]},"293":{"position":[[209,5]]},"309":{"position":[[2405,5]]},"310":{"position":[[36,5],[104,5],[199,6]]},"314":{"position":[[1729,8]]},"323":{"position":[[131,7]]},"326":{"position":[[124,6]]},"330":{"position":[[1224,7]]},"331":{"position":[[55,8]]},"333":{"position":[[732,5],[1089,6],[1269,6],[1276,5]]},"335":{"position":[[21,8]]},"338":{"position":[[486,5]]},"344":{"position":[[627,8]]},"345":{"position":[[842,8],[866,5]]},"347":{"position":[[169,8]]},"349":{"position":[[2137,5],[2419,5],[3823,8]]},"352":{"position":[[329,5],[338,5]]},"354":{"position":[[308,5],[317,5]]},"358":{"position":[[1992,8],[5225,5]]},"359":{"position":[[2698,5]]},"369":{"position":[[313,8]]},"373":{"position":[[400,5],[413,8]]},"379":{"position":[[1087,6]]},"383":{"position":[[1894,7]]},"385":{"position":[[189,6]]},"402":{"position":[[4418,5]]},"404":{"position":[[393,8]]},"446":{"position":[[168,5]]},"452":{"position":[[536,5]]},"453":{"position":[[22,5]]},"454":{"position":[[49,5]]},"455":{"position":[[61,7],[150,6],[356,5],[1051,5]]},"481":{"position":[[101,5],[224,5]]},"485":{"position":[[29,6]]},"498":{"position":[[829,5],[905,5]]},"504":{"position":[[315,8]]},"513":{"position":[[422,5]]},"522":{"position":[[697,5],[712,5]]},"523":{"position":[[319,6]]},"528":{"position":[[480,5]]},"529":{"position":[[11,7]]},"530":{"position":[[76,5],[199,5]]},"533":{"position":[[86,8]]},"534":{"position":[[782,5],[882,5],[951,5]]},"535":{"position":[[1266,7],[1307,5]]},"540":{"position":[[2274,5],[3186,5]]},"545":{"position":[[244,5]]},"547":{"position":[[1224,6]]},"556":{"position":[[147,7]]},"626":{"position":[[1283,5],[1373,5]]},"627":{"position":[[1336,5],[1426,5]]},"628":{"position":[[1308,5],[1398,5]]},"637":{"position":[[1749,6]]},"639":{"position":[[316,6]]},"643":{"position":[[303,6]]},"651":{"position":[[96,5],[133,5],[168,5]]},"652":{"position":[[269,5],[304,5],[341,5],[376,5]]},"654":{"position":[[490,6]]},"658":{"position":[[512,5]]},"669":{"position":[[307,5]]},"670":{"position":[[228,5]]},"671":{"position":[[204,5]]},"754":{"position":[[1,6],[264,5],[367,5]]},"766":{"position":[[1,6],[249,5],[349,5]]},"777":{"position":[[1,6]]},"795":{"position":[[133,8]]},"803":{"position":[[97,6],[197,5]]},"804":{"position":[[100,6],[201,5]]}},"keywords":{}}],["start("<procedur",{"_index":5640,"title":{},"content":{"777":{"position":[[187,25]]}},"keywords":{}}],["start("test1.rb"",{"_index":5643,"title":{},"content":{"777":{"position":[[458,27]]}},"keywords":{}}],["start/end",{"_index":4190,"title":{"481":{"position":[[0,9]]}},"content":{},"keywords":{}}],["start/go",{"_index":4850,"title":{},"content":{"658":{"position":[[485,8]]}},"keywords":{}}],["start_char",{"_index":1191,"title":{},"content":{"52":{"position":[[761,10]]}},"keywords":{}}],["start_cmd_log",{"_index":4939,"title":{},"content":{"662":{"position":[[4052,13]]}},"keywords":{}}],["start_log",{"_index":4940,"title":{},"content":{"662":{"position":[[4106,13]]}},"keywords":{}}],["start_new_scriptrunner_message_log",{"_index":4941,"title":{},"content":{"662":{"position":[[4160,34]]}},"keywords":{}}],["start_new_server_message_log",{"_index":4942,"title":{},"content":{"662":{"position":[[4235,28]]}},"keywords":{}}],["start_raw_logging_interfac",{"_index":5521,"title":{"754":{"position":[[0,28]]}},"content":{},"keywords":{}}],["start_raw_logging_interface("<interfac",{"_index":5522,"title":{},"content":{"754":{"position":[[115,47]]}},"keywords":{}}],["start_raw_logging_interface("int1"",{"_index":5524,"title":{},"content":{"754":{"position":[[416,45]]}},"keywords":{}}],["start_raw_logging_rout",{"_index":5608,"title":{"766":{"position":[[0,25]]}},"content":{},"keywords":{}}],["start_raw_logging_router("<rout",{"_index":5609,"title":{},"content":{"766":{"position":[[112,41]]}},"keywords":{}}],["start_raw_logging_router("router1"",{"_index":5610,"title":{},"content":{"766":{"position":[[398,45]]}},"keywords":{}}],["start_tim",{"_index":3884,"title":{},"content":{"402":{"position":[[2723,11],[3730,11],[4241,10],[4380,10],[4567,10],[4590,10],[4736,10]]}},"keywords":{}}],["start_tlm_log",{"_index":4943,"title":{},"content":{"662":{"position":[[4304,13]]}},"keywords":{}}],["starttim",{"_index":3906,"title":{},"content":{"402":{"position":[[4674,9]]},"626":{"position":[[1256,10]]},"627":{"position":[[1309,10]]},"628":{"position":[[1281,10]]}},"keywords":{}}],["startup",{"_index":2030,"title":{},"content":{"133":{"position":[[66,7]]}},"keywords":{}}],["stash",{"_index":5620,"title":{"770":{"position":[[0,8]]}},"content":{"771":{"position":[[8,5],[151,5],[168,5]]},"772":{"position":[[23,5],[145,5]]},"773":{"position":[[17,5]]},"774":{"position":[[17,5]]},"775":{"position":[[11,5],[168,5]]}},"keywords":{}}],["stash_al",{"_index":5632,"title":{"773":{"position":[[0,10]]}},"content":{"773":{"position":[[85,11],[177,11]]}},"keywords":{}}],["stash_delet",{"_index":5636,"title":{"775":{"position":[[0,13]]}},"content":{},"keywords":{}}],["stash_delete("<stash",{"_index":5637,"title":{},"content":{"775":{"position":[[79,28]]}},"keywords":{}}],["stash_delete("run_count"",{"_index":5638,"title":{},"content":{"775":{"position":[[213,35]]}},"keywords":{}}],["stash_get",{"_index":5629,"title":{"772":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_get("<stash",{"_index":5630,"title":{},"content":{"772":{"position":[[59,25]]}},"keywords":{}}],["stash_get('run_count",{"_index":5631,"title":{},"content":{"772":{"position":[[190,22]]}},"keywords":{}}],["stash_key",{"_index":5635,"title":{"774":{"position":[[0,11]]}},"content":{"774":{"position":[[63,12]]}},"keywords":{}}],["stash_set",{"_index":5621,"title":{"771":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_set("<stash",{"_index":5622,"title":{},"content":{"771":{"position":[[44,25]]}},"keywords":{}}],["stash_set('run_count",{"_index":5626,"title":{},"content":{"771":{"position":[[218,22]]}},"keywords":{}}],["stash_set('setpoint",{"_index":5627,"title":{},"content":{"771":{"position":[[244,21]]}},"keywords":{}}],["stat",{"_index":3401,"title":{},"content":{"367":{"position":[[1058,6]]},"369":{"position":[[1003,5],[2494,5],[3865,5]]}},"keywords":{}}],["state",{"_index":423,"title":{},"content":{"20":{"position":[[489,5]]},"36":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"39":{"position":[[257,5]]},"40":{"position":[[827,5],[843,5],[1156,5],[1172,5],[1291,5],[1309,5]]},"69":{"position":[[630,5]]},"70":{"position":[[53,5]]},"71":{"position":[[61,5]]},"72":{"position":[[64,5]]},"73":{"position":[[137,5]]},"74":{"position":[[160,5]]},"75":{"position":[[159,5]]},"76":{"position":[[151,5]]},"115":{"position":[[306,6]]},"229":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"253":{"position":[[921,5],[936,5]]},"279":{"position":[[1909,6],[2043,6],[2310,5],[2370,5],[2406,5],[2438,5],[2489,5],[2628,5],[2642,5],[2655,5],[2755,5],[2801,5],[2858,5],[8686,6],[8706,5],[8873,6],[10438,5]]},"299":{"position":[[276,5],[288,5],[363,5],[377,5],[525,5],[539,5],[552,5],[565,5],[1090,5],[1111,5]]},"304":{"position":[[817,7],[1189,5],[1203,5]]},"305":{"position":[[853,5],[900,7],[1467,5],[1481,5]]},"348":{"position":[[898,5],[939,7],[965,5],[1005,7],[1108,7],[1167,7],[1553,5],[1594,5],[1636,5]]},"350":{"position":[[941,6],[1218,6],[1378,5]]},"358":{"position":[[3034,5],[3048,5],[4204,6],[4291,5],[4328,5],[4983,5],[4997,5]]},"359":{"position":[[1634,5],[1648,5]]},"411":{"position":[[81,6]]},"424":{"position":[[84,5]]},"435":{"position":[[286,6]]},"466":{"position":[[54,5]]},"467":{"position":[[301,6],[375,6],[394,5]]},"468":{"position":[[114,6],[275,5]]},"473":{"position":[[323,6],[362,5],[1001,5],[1086,5]]},"487":{"position":[[240,6]]},"530":{"position":[[256,5]]},"551":{"position":[[107,6],[180,6]]},"561":{"position":[[118,5]]},"611":{"position":[[346,5]]},"612":{"position":[[1010,5],[1073,5],[1120,5]]},"619":{"position":[[942,5],[1005,5],[1052,5]]},"635":{"position":[[237,5]]},"650":{"position":[[1285,5],[1337,5]]},"652":{"position":[[1253,5]]},"659":{"position":[[520,5]]},"690":{"position":[[1465,9]]},"692":{"position":[[451,7]]},"703":{"position":[[39,6]]},"704":{"position":[[39,5]]},"741":{"position":[[1722,6]]},"743":{"position":[[28,5],[287,6]]},"756":{"position":[[142,6],[544,6],[1102,6]]},"765":{"position":[[136,6],[520,6],[1063,6]]}},"keywords":{}}],["state"",{"_index":2339,"title":{},"content":{"219":{"position":[[541,11]]}},"keywords":{}}],["statement",{"_index":1055,"title":{},"content":{"44":{"position":[[1500,11]]},"349":{"position":[[2640,9],[3220,9],[3318,9],[3378,9],[4486,10]]},"560":{"position":[[342,10],[383,9]]},"566":{"position":[[27,11],[139,10],[204,9],[297,10],[396,10],[685,10]]},"658":{"position":[[1304,10]]},"722":{"position":[[1125,9]]},"723":{"position":[[892,9]]},"724":{"position":[[678,9]]},"726":{"position":[[737,9]]},"727":{"position":[[788,9]]},"728":{"position":[[603,9]]},"729":{"position":[[533,9]]},"778":{"position":[[333,9],[362,10]]}},"keywords":{}}],["static",{"_index":2517,"title":{},"content":{"258":{"position":[[1183,6],[1389,6]]},"268":{"position":[[391,6]]},"440":{"position":[[703,6],[786,6]]}},"keywords":{}}],["static_config",{"_index":3366,"title":{},"content":{"364":{"position":[[544,15],[691,15],[833,15],[981,15],[1127,15]]}},"keywords":{}}],["statist",{"_index":2205,"title":{},"content":{"209":{"position":[[458,11]]},"424":{"position":[[766,11],[1559,11]]},"430":{"position":[[744,11]]}},"keywords":{}}],["statu",{"_index":305,"title":{"516":{"position":[[0,6]]}},"content":{"9":{"position":[[567,7]]},"33":{"position":[[646,6],[905,6]]},"42":{"position":[[2319,6]]},"64":{"position":[[788,6],[817,8],[893,6]]},"83":{"position":[[2026,7]]},"85":{"position":[[193,6]]},"217":{"position":[[698,7],[1100,6],[2303,6]]},"219":{"position":[[1279,6]]},"299":{"position":[[87,6]]},"304":{"position":[[918,6]]},"305":{"position":[[1135,6]]},"342":{"position":[[445,6]]},"346":{"position":[[43,6]]},"355":{"position":[[563,6],[659,6]]},"358":{"position":[[4749,6],[5130,6],[5643,7]]},"467":{"position":[[468,6],[773,6]]},"509":{"position":[[55,6]]},"513":{"position":[[103,6]]},"516":{"position":[[5,6]]},"529":{"position":[[326,6]]},"632":{"position":[[576,6],[788,6]]},"707":{"position":[[563,6]]},"750":{"position":[[22,6],[78,6]]},"764":{"position":[[18,6],[71,6]]}},"keywords":{}}],["status"",{"_index":246,"title":{},"content":{"7":{"position":[[195,12],[871,12]]},"8":{"position":[[215,12],[366,12]]},"9":{"position":[[223,12]]},"64":{"position":[[692,12]]},"213":{"position":[[923,12]]},"219":{"position":[[1316,12]]},"276":{"position":[[622,12]]}},"keywords":{}}],["status\\naddit",{"_index":301,"title":{},"content":{"9":{"position":[[389,18]]}},"keywords":{}}],["status_bar",{"_index":4858,"title":{},"content":{"661":{"position":[[277,10]]},"662":{"position":[[3959,10]]}},"keywords":{}}],["statusaddit",{"_index":306,"title":{},"content":{"9":{"position":[[716,16]]}},"keywords":{}}],["statusclear",{"_index":4861,"title":{},"content":{"662":{"position":[[163,11]]}},"keywords":{}}],["statusget_all_target_info",{"_index":4855,"title":{},"content":{"661":{"position":[[151,25]]}},"keywords":{}}],["stay",{"_index":3487,"title":{},"content":{"369":{"position":[[2462,5]]}},"keywords":{}}],["stddev",{"_index":3899,"title":{},"content":{"402":{"position":[[3341,7]]},"626":{"position":[[515,6],[1242,6]]},"627":{"position":[[549,6],[1295,6]]},"628":{"position":[[533,6],[1267,6]]}},"keywords":{}}],["stdout",{"_index":3164,"title":{},"content":{"349":{"position":[[2868,7]]},"362":{"position":[[526,6],[856,6],[1178,6]]}},"keywords":{}}],["step",{"_index":592,"title":{"335":{"position":[[5,6]]},"560":{"position":[[40,6]]}},"content":{"27":{"position":[[963,5]]},"44":{"position":[[107,5]]},"55":{"position":[[1940,5]]},"209":{"position":[[427,4]]},"349":{"position":[[4684,4],[4773,4]]},"378":{"position":[[1583,6]]},"380":{"position":[[1378,4]]},"424":{"position":[[1040,4]]},"452":{"position":[[222,6]]},"535":{"position":[[1156,5]]},"536":{"position":[[239,4],[265,4]]},"551":{"position":[[295,6]]},"560":{"position":[[291,5],[509,5]]},"797":{"position":[[26,4]]}},"keywords":{}}],["step_mod",{"_index":5724,"title":{"797":{"position":[[0,10]]}},"content":{"797":{"position":[[120,11]]}},"keywords":{}}],["steps_to_mov",{"_index":4464,"title":{},"content":{"551":{"position":[[900,13],[1312,15],[1367,13]]}},"keywords":{}}],["stern",{"_index":2999,"title":{},"content":{"326":{"position":[[884,5]]}},"keywords":{}}],["still",{"_index":320,"title":{"95":{"position":[[13,5]]}},"content":{"11":{"position":[[244,5]]},"36":{"position":[[2195,5],[8241,5],[10584,5]]},"67":{"position":[[190,5]]},"83":{"position":[[3289,5]]},"225":{"position":[[1288,5]]},"229":{"position":[[2195,5],[8241,5]]},"237":{"position":[[185,5]]},"239":{"position":[[66,5]]},"279":{"position":[[3397,5],[4768,5],[5461,5],[6584,5],[6900,5]]},"290":{"position":[[256,5]]},"309":{"position":[[4043,5]]},"386":{"position":[[325,5]]},"427":{"position":[[238,5]]},"565":{"position":[[106,5]]},"661":{"position":[[96,5]]},"793":{"position":[[311,5]]}},"keywords":{}}],["stop",{"_index":1039,"title":{},"content":{"44":{"position":[[386,4],[835,4],[1548,4]]},"50":{"position":[[623,7]]},"67":{"position":[[1842,4],[1853,5],[2373,4],[2621,4],[3347,5],[4053,5],[4102,4]]},"69":{"position":[[217,4]]},"73":{"position":[[210,5],[375,4],[825,5],[892,4],[904,5],[1284,4],[1639,4]]},"74":{"position":[[234,5],[408,4]]},"75":{"position":[[233,5],[424,4]]},"76":{"position":[[233,5],[423,4]]},"77":{"position":[[449,5],[554,4],[886,5]]},"111":{"position":[[570,4],[590,4]]},"225":{"position":[[1104,5]]},"255":{"position":[[247,8]]},"271":{"position":[[1134,5]]},"314":{"position":[[633,4]]},"333":{"position":[[1096,5],[1310,5],[1316,4]]},"349":{"position":[[416,4],[2467,8],[2503,4],[2526,6],[4716,4],[4928,5]]},"373":{"position":[[509,4]]},"382":{"position":[[104,4],[253,4],[322,4]]},"530":{"position":[[660,4]]},"535":{"position":[[832,4]]},"547":{"position":[[802,7]]},"552":{"position":[[2731,5]]},"555":{"position":[[158,7]]},"565":{"position":[[112,4]]},"566":{"position":[[336,4]]},"569":{"position":[[48,7],[696,8],[1005,7]]},"578":{"position":[[107,5]]},"658":{"position":[[726,4],[743,4]]},"722":{"position":[[294,4]]},"723":{"position":[[188,4]]},"724":{"position":[[284,4]]},"725":{"position":[[164,4]]},"726":{"position":[[176,6],[720,4]]},"727":{"position":[[158,6],[771,4]]},"728":{"position":[[120,5],[586,4]]},"729":{"position":[[109,5],[516,4]]},"755":{"position":[[1,5],[262,4],[364,4]]},"767":{"position":[[1,5],[247,4],[346,4]]},"793":{"position":[[489,5]]}},"keywords":{}}],["stop_background_task",{"_index":4944,"title":{},"content":{"662":{"position":[[4358,20]]}},"keywords":{}}],["stop_bit",{"_index":2920,"title":{},"content":{"314":{"position":[[665,9],[1301,9]]}},"keywords":{}}],["stop_cmd_log",{"_index":4945,"title":{},"content":{"662":{"position":[[4419,12]]}},"keywords":{}}],["stop_log",{"_index":4946,"title":{},"content":{"662":{"position":[[4472,12]]}},"keywords":{}}],["stop_raw_logging_interfac",{"_index":5525,"title":{"755":{"position":[[0,27]]}},"content":{},"keywords":{}}],["stop_raw_logging_interface("<interfac",{"_index":5526,"title":{},"content":{"755":{"position":[[114,46]]}},"keywords":{}}],["stop_raw_logging_interface("int1"",{"_index":5527,"title":{},"content":{"755":{"position":[[412,44]]}},"keywords":{}}],["stop_raw_logging_rout",{"_index":5611,"title":{"767":{"position":[[0,24]]}},"content":{},"keywords":{}}],["stop_raw_logging_router("<rout",{"_index":5612,"title":{},"content":{"767":{"position":[[111,40]]}},"keywords":{}}],["stop_raw_logging_router("router1"",{"_index":5613,"title":{},"content":{"767":{"position":[[394,44]]}},"keywords":{}}],["stop_tlm_log",{"_index":4947,"title":{},"content":{"662":{"position":[[4525,12]]}},"keywords":{}}],["stopped"",{"_index":520,"title":{},"content":{"23":{"position":[[306,13]]}},"keywords":{}}],["storag",{"_index":1098,"title":{},"content":{"48":{"position":[[2331,7]]},"258":{"position":[[1350,7]]},"268":{"position":[[75,7],[253,7],[314,8],[336,7]]},"309":{"position":[[751,7],[872,7],[1200,7]]},"439":{"position":[[64,7],[277,7],[314,8]]},"440":{"position":[[440,7],[731,7]]},"770":{"position":[[87,7],[127,7]]}},"keywords":{}}],["storage"",{"_index":3949,"title":{},"content":{"404":{"position":[[884,13]]}},"keywords":{}}],["store",{"_index":49,"title":{},"content":{"2":{"position":[[328,5],[482,5]]},"27":{"position":[[568,5]]},"36":{"position":[[624,6],[758,5],[897,5],[945,6]]},"46":{"position":[[44,5],[135,6]]},"48":{"position":[[584,6],[623,6],[2289,6],[2941,5],[3367,5],[4079,6]]},"74":{"position":[[670,6],[730,6]]},"82":{"position":[[722,5]]},"96":{"position":[[159,5]]},"141":{"position":[[526,5],[801,5],[831,5],[841,6]]},"188":{"position":[[486,5],[511,5],[541,5],[551,6]]},"214":{"position":[[192,5]]},"217":{"position":[[619,5],[676,5],[1193,5]]},"229":{"position":[[624,6],[758,5],[897,5],[945,6]]},"240":{"position":[[1,6],[147,5],[286,5],[334,6]]},"267":{"position":[[28,5],[134,5]]},"268":{"position":[[51,6]]},"271":{"position":[[1313,5]]},"275":{"position":[[548,6],[701,8],[949,6]]},"279":{"position":[[619,6],[753,5],[892,5],[940,6]]},"287":{"position":[[1,6],[156,5],[295,5],[343,6]]},"343":{"position":[[419,5],[573,5]]},"364":{"position":[[129,6]]},"369":{"position":[[3492,7]]},"380":{"position":[[213,6]]},"406":{"position":[[178,7]]},"424":{"position":[[1386,6]]},"429":{"position":[[273,6]]},"430":{"position":[[727,6]]},"432":{"position":[[107,6]]},"464":{"position":[[211,6]]},"522":{"position":[[525,5]]},"526":{"position":[[97,6]]},"540":{"position":[[4118,5]]},"544":{"position":[[836,6]]},"548":{"position":[[152,5]]},"571":{"position":[[24,5]]},"691":{"position":[[1133,9]]},"770":{"position":[[33,5],[194,5]]},"803":{"position":[[178,5],[237,5]]}},"keywords":{}}],["str",{"_index":5184,"title":{},"content":{"693":{"position":[[631,3]]}},"keywords":{}}],["straight",{"_index":3790,"title":{},"content":{"390":{"position":[[1193,8]]}},"keywords":{}}],["strategi",{"_index":1338,"title":{},"content":{"65":{"position":[[311,8]]}},"keywords":{}}],["stream",{"_index":55,"title":{"110":{"position":[[5,9]]},"402":{"position":[[0,9]]}},"content":{"2":{"position":[[429,7]]},"48":{"position":[[4045,6],[4172,7]]},"50":{"position":[[234,7]]},"58":{"position":[[88,8]]},"59":{"position":[[76,8]]},"60":{"position":[[76,8]]},"62":{"position":[[168,7]]},"104":{"position":[[795,6]]},"105":{"position":[[682,6]]},"109":{"position":[[294,9]]},"110":{"position":[[10,9],[116,9],[978,6],[2243,9]]},"111":{"position":[[874,6]]},"117":{"position":[[329,6]]},"121":{"position":[[14,7],[69,7]]},"183":{"position":[[173,7]]},"258":{"position":[[1254,7]]},"267":{"position":[[94,8],[381,8]]},"343":{"position":[[520,7],[1591,7]]},"345":{"position":[[634,9],[682,6],[740,9],[786,6]]},"358":{"position":[[7920,6]]},"367":{"position":[[696,7]]},"402":{"position":[[0,9],[145,9],[197,6],[1167,6],[1468,6],[2133,9],[2246,6],[2350,6],[3367,6],[4424,9],[4853,9]]},"446":{"position":[[83,9]]},"717":{"position":[[1,7],[304,7],[405,6]]}},"keywords":{}}],["stream_id",{"_index":3625,"title":{},"content":{"379":{"position":[[427,9],[1271,9],[1803,9],[2303,9],[2850,9]]}},"keywords":{}}],["streamapi",{"_index":3874,"title":{},"content":{"402":{"position":[[2038,10]]}},"keywords":{}}],["streamingapi",{"_index":3869,"title":{},"content":{"402":{"position":[[1647,12]]}},"keywords":{}}],["streamingchannel",{"_index":3870,"title":{},"content":{"402":{"position":[[1699,19]]}},"keywords":{}}],["strict",{"_index":1542,"title":{},"content":{"82":{"position":[[1100,6]]},"432":{"position":[[911,6]]}},"keywords":{}}],["strike",{"_index":4180,"title":{},"content":{"473":{"position":[[1174,6]]}},"keywords":{}}],["string",{"_index":181,"title":{"9":{"position":[[0,6]]}},"content":{"5":{"position":[[1087,6]]},"9":{"position":[[31,6],[102,7],[279,7],[443,7],[608,7],[752,6],[822,7],[921,6],[949,6]]},"31":{"position":[[586,7],[674,7]]},"35":{"position":[[438,6],[729,7],[1430,7]]},"36":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"37":{"position":[[231,6],[522,7],[1223,7]]},"40":{"position":[[1375,6]]},"48":{"position":[[1534,6],[2022,6],[4293,6],[5179,6]]},"50":{"position":[[557,6]]},"53":{"position":[[775,6]]},"54":{"position":[[1173,6]]},"55":{"position":[[2073,6]]},"56":{"position":[[569,6],[701,6],[1075,6]]},"60":{"position":[[578,6]]},"61":{"position":[[654,6],[875,6],[1118,6],[1382,6],[1514,6],[2247,6]]},"62":{"position":[[365,6]]},"67":{"position":[[1726,7],[1806,6],[1934,6],[2403,7],[4615,6]]},"73":{"position":[[194,6],[247,7],[1478,7],[1742,7]]},"76":{"position":[[217,6],[270,6]]},"86":{"position":[[171,6]]},"91":{"position":[[519,6],[696,6],[820,6],[836,6],[967,6],[1019,6],[1503,6],[1565,6]]},"92":{"position":[[503,6],[611,6],[627,6],[758,6],[810,6],[861,6],[932,6],[1002,6],[1070,6]]},"115":{"position":[[1905,6]]},"213":{"position":[[239,8]]},"214":{"position":[[917,6],[2153,6]]},"216":{"position":[[521,6],[755,6],[820,6],[893,6]]},"217":{"position":[[2642,6],[2876,6],[2941,6],[3014,6]]},"218":{"position":[[1119,6],[1931,6]]},"219":{"position":[[45,6],[315,6],[1245,6],[1365,6],[1432,6]]},"220":{"position":[[1250,6],[2502,6]]},"225":{"position":[[887,7],[975,7],[1040,6],[1120,6],[1326,6]]},"228":{"position":[[467,6],[758,7],[1459,7],[2151,6]]},"229":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"230":{"position":[[250,6],[541,7],[1242,7],[1888,6]]},"231":{"position":[[637,6],[928,7],[1603,7]]},"232":{"position":[[473,6],[764,7],[1439,7]]},"233":{"position":[[515,7]]},"234":{"position":[[298,7]]},"243":{"position":[[36,6],[135,6],[302,6]]},"267":{"position":[[51,8]]},"271":{"position":[[911,7],[999,7],[1079,6],[1119,6],[1363,7],[1374,6]]},"275":{"position":[[1256,7]]},"278":{"position":[[465,6],[752,7]]},"279":{"position":[[1424,7],[1467,6],[2004,8],[2363,6],[2717,6],[2729,6],[7417,7]]},"280":{"position":[[257,6],[544,7]]},"281":{"position":[[588,6],[761,7]]},"282":{"position":[[257,6],[430,7]]},"283":{"position":[[508,7]]},"284":{"position":[[300,7]]},"292":{"position":[[36,6],[80,6],[148,6]]},"293":{"position":[[78,6]]},"299":{"position":[[1514,6]]},"304":{"position":[[1236,6]]},"305":{"position":[[1514,6]]},"358":{"position":[[3086,6],[4474,6],[4481,8],[4534,7],[4610,6],[5030,6]]},"359":{"position":[[1686,6]]},"379":{"position":[[895,6]]},"398":{"position":[[29,7]]},"498":{"position":[[618,6]]},"540":{"position":[[720,7],[814,7],[4101,7],[4560,7],[4695,6],[4761,7]]},"557":{"position":[[447,7]]},"564":{"position":[[50,7]]},"565":{"position":[[290,6],[426,6],[504,6],[588,7]]},"609":{"position":[[292,6],[306,6]]},"610":{"position":[[292,6],[306,6]]},"611":{"position":[[75,6],[106,6],[527,6],[554,6]]},"637":{"position":[[437,6],[544,6]]},"659":{"position":[[847,7],[894,6],[930,6],[1058,7],[1240,7]]},"664":{"position":[[90,6]]},"665":{"position":[[80,7],[138,6],[634,6],[682,6],[746,6],[898,6],[946,6],[1010,6]]},"670":{"position":[[475,6],[558,6],[887,6]]},"685":{"position":[[25,6]]},"686":{"position":[[203,6]]},"691":{"position":[[87,7]]},"697":{"position":[[1430,6]]},"698":{"position":[[729,7]]},"699":{"position":[[360,6]]},"701":{"position":[[537,8]]},"703":{"position":[[604,8]]},"704":{"position":[[391,7]]},"710":{"position":[[663,7]]},"711":{"position":[[548,7]]},"712":{"position":[[542,7]]},"713":{"position":[[360,7]]},"722":{"position":[[1393,8]]},"723":{"position":[[1160,8]]},"726":{"position":[[1005,8]]},"727":{"position":[[1056,8]]},"748":{"position":[[132,6]]},"759":{"position":[[613,9]]},"769":{"position":[[617,9]]},"786":{"position":[[446,6],[652,6],[924,6]]},"787":{"position":[[502,6],[1114,6],[1414,6]]},"795":{"position":[[808,6],[966,6]]}},"keywords":{}}],["string"",{"_index":892,"title":{},"content":{"40":{"position":[[1406,12]]},"299":{"position":[[1471,12]]},"665":{"position":[[668,13],[932,13]]},"670":{"position":[[123,13]]}},"keywords":{}}],["stringent",{"_index":4562,"title":{},"content":{"568":{"position":[[583,9]]}},"keywords":{}}],["strip",{"_index":17,"title":{},"content":{"1":{"position":[[187,7]]},"8":{"position":[[240,5],[415,8]]},"9":{"position":[[1049,9]]},"52":{"position":[[734,5],[751,5]]},"56":{"position":[[728,5]]},"57":{"position":[[562,5],[763,5],[771,5]]},"61":{"position":[[1900,5]]},"65":{"position":[[240,5]]},"67":{"position":[[3741,9]]}},"keywords":{}}],["strive",{"_index":2584,"title":{},"content":{"271":{"position":[[1303,6]]}},"keywords":{}}],["strong",{"_index":4068,"title":{},"content":{"429":{"position":[[125,6]]}},"keywords":{}}],["strongli",{"_index":4066,"title":{},"content":{"429":{"position":[[17,8]]}},"keywords":{}}],["struct",{"_index":2974,"title":{},"content":{"321":{"position":[[1035,6],[1097,6]]}},"keywords":{}}],["structur",{"_index":1058,"title":{"45":{"position":[[4,9]]},"124":{"position":[[17,10]]}},"content":{"46":{"position":[[150,11]]},"55":{"position":[[736,9]]},"124":{"position":[[46,9]]},"183":{"position":[[545,11]]},"225":{"position":[[699,11]]},"249":{"position":[[136,10]]},"271":{"position":[[726,11]]},"272":{"position":[[90,10]]},"295":{"position":[[136,10]]},"301":{"position":[[1519,9]]},"320":{"position":[[120,9]]},"321":{"position":[[1330,9]]},"338":{"position":[[357,9],[394,9]]},"349":{"position":[[587,10]]},"358":{"position":[[1253,10],[6196,9]]},"378":{"position":[[306,10]]},"382":{"position":[[613,11]]},"496":{"position":[[180,9]]},"532":{"position":[[16,10]]}},"keywords":{}}],["studio",{"_index":897,"title":{},"content":{"42":{"position":[[47,6]]},"324":{"position":[[8,6]]}},"keywords":{}}],["stuf",{"_index":1163,"title":{},"content":{"51":{"position":[[30,8]]}},"keywords":{}}],["stupid",{"_index":4386,"title":{"543":{"position":[[21,8]]}},"content":{},"keywords":{}}],["style",{"_index":658,"title":{},"content":{"36":{"position":[[86,5]]},"61":{"position":[[715,5]]},"229":{"position":[[86,5]]},"279":{"position":[[81,5]]},"320":{"position":[[456,5]]},"540":{"position":[[1224,5],[1826,6],[2715,6]]},"546":{"position":[[427,5]]},"611":{"position":[[541,5]]},"659":{"position":[[823,5]]}},"keywords":{}}],["stylesheet",{"_index":4627,"title":{},"content":{"590":{"position":[[17,10]]}},"keywords":{}}],["su",{"_index":2867,"title":{},"content":{"309":{"position":[[2010,2]]}},"keywords":{}}],["sub",{"_index":1768,"title":{},"content":{"93":{"position":[[544,3]]},"340":{"position":[[178,3]]}},"keywords":{}}],["subarray",{"_index":5482,"title":{},"content":{"748":{"position":[[91,8]]},"756":{"position":[[93,8]]},"765":{"position":[[90,8]]}},"keywords":{}}],["subclass",{"_index":1469,"title":{},"content":{"78":{"position":[[292,10],[440,10],[542,11]]},"115":{"position":[[2103,10]]},"214":{"position":[[126,8]]}},"keywords":{}}],["subdirectori",{"_index":3093,"title":{},"content":{"340":{"position":[[286,12]]}},"keywords":{}}],["subject",{"_index":3827,"title":{},"content":{"393":{"position":[[1188,7]]},"424":{"position":[[1264,8],[1580,7]]},"430":{"position":[[103,7]]},"814":{"position":[[108,7]]}},"keywords":{}}],["sublabel",{"_index":4740,"title":{},"content":{"632":{"position":[[368,8],[403,8]]}},"keywords":{}}],["submenu",{"_index":2177,"title":{},"content":{"198":{"position":[[76,7]]}},"keywords":{}}],["submit",{"_index":2278,"title":{},"content":{"215":{"position":[[71,6]]},"401":{"position":[[390,6]]}},"keywords":{}}],["submodul",{"_index":3568,"title":{},"content":{"375":{"position":[[21,10]]},"376":{"position":[[409,9],[441,9]]}},"keywords":{}}],["subroutin",{"_index":5639,"title":{},"content":{"776":{"position":[[51,11]]},"777":{"position":[[165,11]]},"778":{"position":[[45,11],[100,11],[202,11],[534,11]]}},"keywords":{}}],["subscrib",{"_index":2141,"title":{},"content":{"183":{"position":[[184,9]]},"373":{"position":[[77,11]]},"380":{"position":[[1516,9]]},"402":{"position":[[1628,11]]},"425":{"position":[[225,9]]},"426":{"position":[[321,9]]},"715":{"position":[[13,11]]},"716":{"position":[[292,9]]}},"keywords":{}}],["subscribe_limits_ev",{"_index":4948,"title":{},"content":{"662":{"position":[[4578,23]]}},"keywords":{}}],["subscribe_packet",{"_index":4950,"title":{"716":{"position":[[0,17]]}},"content":{"662":{"position":[[4709,17]]},"717":{"position":[[213,17]]}},"keywords":{}}],["subscribe_packet_data",{"_index":4949,"title":{},"content":{"662":{"position":[[4642,21]]}},"keywords":{}}],["subscribe_packets([['inst",{"_index":4533,"title":{},"content":{"563":{"position":[[547,27],[884,27]]},"716":{"position":[[336,27]]},"717":{"position":[[433,27],[936,27]]}},"keywords":{}}],["subscribe_packets(packet",{"_index":5324,"title":{},"content":{"716":{"position":[[164,26]]}},"keywords":{}}],["subscribe_server_messag",{"_index":4951,"title":{},"content":{"662":{"position":[[4727,25]]}},"keywords":{}}],["subscript",{"_index":3686,"title":{"715":{"position":[[12,14]]}},"content":{"380":{"position":[[1463,12]]},"391":{"position":[[410,14]]},"402":{"position":[[1086,16],[1105,12],[1193,12],[1223,12],[1522,12],[1592,12],[1912,13],[2006,12],[2199,12],[4514,12]]},"563":{"position":[[326,12],[358,12]]},"717":{"position":[[37,13]]}},"keywords":{}}],["subsec",{"_index":3659,"title":{},"content":{"379":{"position":[[3181,7]]}},"keywords":{}}],["subset",{"_index":2915,"title":{"591":{"position":[[0,11]]}},"content":{"314":{"position":[[78,6]]},"556":{"position":[[396,6]]},"581":{"position":[[18,10],[63,11]]},"582":{"position":[[233,11],[304,10]]},"591":{"position":[[18,10],[63,11],[814,10],[921,10]]}},"keywords":{}}],["substanti",{"_index":3777,"title":{},"content":{"390":{"position":[[645,11]]}},"keywords":{}}],["substitut",{"_index":3709,"title":{},"content":{"383":{"position":[[1782,12]]}},"keywords":{}}],["subsystem",{"_index":2683,"title":{},"content":{"297":{"position":[[167,9],[228,9]]},"298":{"position":[[401,9]]},"544":{"position":[[359,10],[592,9],[1076,9]]},"546":{"position":[[1077,10]]}},"keywords":{}}],["subtitl",{"_index":3992,"title":{},"content":{"416":{"position":[[217,8]]}},"keywords":{}}],["subwidget",{"_index":4610,"title":{},"content":{"581":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[647,9],[684,9]]},"591":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[565,9],[616,10]]}},"keywords":{}}],["succe",{"_index":3166,"title":{},"content":{"349":{"position":[[3445,8]]},"556":{"position":[[582,8]]}},"keywords":{}}],["success",{"_index":2434,"title":{},"content":{"251":{"position":[[107,7]]},"313":{"position":[[251,11]]},"349":{"position":[[669,10],[3328,7],[3470,7]]},"355":{"position":[[524,7],[621,7]]},"445":{"position":[[177,10]]},"447":{"position":[[467,7]]},"556":{"position":[[667,11]]},"685":{"position":[[1098,10]]},"722":{"position":[[655,7],[1528,7],[1593,7],[1738,7],[1803,7]]},"723":{"position":[[353,7],[1264,7],[1345,7],[1471,7],[1552,7]]},"724":{"position":[[438,7],[938,7]]},"725":{"position":[[320,7],[819,7]]},"799":{"position":[[107,11]]}},"keywords":{}}],["successfulli",{"_index":845,"title":{},"content":{"36":{"position":[[10190,12]]},"43":{"position":[[332,12]]},"209":{"position":[[401,12]]},"229":{"position":[[10190,12]]},"301":{"position":[[311,12]]},"302":{"position":[[338,12]]},"303":{"position":[[388,12]]},"304":{"position":[[447,12]]},"305":{"position":[[478,12]]},"306":{"position":[[444,12]]},"307":{"position":[[616,12]]},"326":{"position":[[586,12]]},"358":{"position":[[1506,12],[2310,12]]},"359":{"position":[[120,12],[1934,12]]},"454":{"position":[[326,12]]},"568":{"position":[[417,13]]}},"keywords":{}}],["such",{"_index":615,"title":{},"content":{"31":{"position":[[206,4]]},"36":{"position":[[5135,4]]},"55":{"position":[[746,4]]},"56":{"position":[[576,4],[708,4]]},"61":{"position":[[324,4],[1389,4],[1521,4]]},"67":{"position":[[4985,4]]},"86":{"position":[[188,4]]},"126":{"position":[[234,4]]},"183":{"position":[[105,4]]},"184":{"position":[[112,4]]},"219":{"position":[[87,4]]},"229":{"position":[[5135,4]]},"237":{"position":[[42,4]]},"251":{"position":[[314,4]]},"275":{"position":[[639,4]]},"279":{"position":[[3616,4],[8395,4]]},"302":{"position":[[2171,4],[2392,4]]},"307":{"position":[[227,4]]},"343":{"position":[[980,4]]},"349":{"position":[[1266,4],[1594,4]]},"422":{"position":[[73,4]]},"426":{"position":[[440,4]]},"427":{"position":[[149,4]]},"430":{"position":[[154,4]]},"432":{"position":[[677,4],[793,4],[1164,4]]},"439":{"position":[[285,4]]},"504":{"position":[[178,4]]},"517":{"position":[[125,4]]},"540":{"position":[[3875,4]]},"544":{"position":[[337,4]]},"546":{"position":[[823,4],[885,4],[963,4],[1118,4]]},"552":{"position":[[206,4]]},"560":{"position":[[65,4],[297,4]]},"658":{"position":[[243,4]]},"659":{"position":[[510,4]]},"778":{"position":[[632,4]]}},"keywords":{}}],["sudo",{"_index":2854,"title":{},"content":{"309":{"position":[[1640,4],[1656,4],[1815,4],[1868,4],[1912,4],[2005,4],[2212,4],[2276,4]]},"317":{"position":[[279,4]]},"404":{"position":[[2133,4],[2172,4],[2210,4],[2226,4],[2243,4],[2318,4],[2340,4]]}},"keywords":{}}],["suggest",{"_index":3021,"title":{},"content":{"330":{"position":[[830,9]]}},"keywords":{}}],["suit",{"_index":3,"title":{"83":{"position":[[0,5]]},"532":{"position":[[15,7]]},"534":{"position":[[0,6]]},"535":{"position":[[7,5]]},"794":{"position":[[14,7]]}},"content":{"1":{"position":[[13,5]]},"83":{"position":[[36,5],[384,4]]},"349":{"position":[[1217,5],[4977,5],[5028,7],[5063,6],[5090,5],[5203,5],[5314,5],[5480,5],[5520,5],[5582,5],[5610,5],[5646,5],[5699,5],[5758,6],[5785,5],[5931,5],[6098,5],[6246,5],[6376,5],[6538,5],[6751,5]]},"385":{"position":[[17,5]]},"526":{"position":[[221,5],[347,7]]},"528":{"position":[[52,5]]},"532":{"position":[[32,5],[110,6],[173,5],[202,5],[258,5]]},"533":{"position":[[614,6]]},"534":{"position":[[21,6],[64,5],[351,6],[638,5],[670,6],[795,5]]},"535":{"position":[[18,5],[821,5]]},"546":{"position":[[528,5],[551,8],[655,5],[692,7],[742,6],[1253,6]]},"560":{"position":[[987,7]]},"561":{"position":[[44,5]]},"794":{"position":[[24,6],[74,7],[129,7]]},"795":{"position":[[31,6],[394,6],[1641,5]]}},"keywords":{}}],["suite'",{"_index":4322,"title":{},"content":{"535":{"position":[[776,7]]}},"keywords":{}}],["suite/group",{"_index":4321,"title":{},"content":{"535":{"position":[[662,12]]}},"keywords":{}}],["suite=${3",{"_index":1635,"title":{},"content":{"83":{"position":[[2144,10]]}},"keywords":{}}],["suiteshttps://pkg.go.dev/crypto/tls#pkg",{"_index":603,"title":{},"content":{"29":{"position":[[50,39]]}},"keywords":{}}],["summari",{"_index":3749,"title":{},"content":{"389":{"position":[[305,8]]}},"keywords":{}}],["super",{"_index":770,"title":{"542":{"position":[[2,5]]}},"content":{"36":{"position":[[5620,7]]},"97":{"position":[[19,5]]},"115":{"position":[[213,7],[496,7],[970,7]]},"229":{"position":[[5620,7]]},"279":{"position":[[4100,7]]},"795":{"position":[[1406,7]]}},"keywords":{}}],["super().__init__",{"_index":780,"title":{},"content":{"36":{"position":[[5956,18]]},"229":{"position":[[5956,18]]},"279":{"position":[[4436,18]]},"795":{"position":[[1953,18]]}},"keywords":{}}],["super(allow_empty_data",{"_index":1408,"title":{},"content":{"69":{"position":[[73,23]]}},"keywords":{}}],["suppli",{"_index":14,"title":{},"content":{"1":{"position":[[147,9]]},"12":{"position":[[229,6]]},"64":{"position":[[1309,6]]},"219":{"position":[[169,6],[534,6],[747,6],[1309,6]]},"343":{"position":[[1005,7]]}},"keywords":{}}],["supply32gb",{"_index":3928,"title":{},"content":{"404":{"position":[[291,10]]}},"keywords":{}}],["support",{"_index":285,"title":{"88":{"position":[[0,9]]},"394":{"position":[[5,7]]},"398":{"position":[[31,8]]},"399":{"position":[[0,9]]}},"content":{"8":{"position":[[8,8]]},"9":{"position":[[8,8]]},"36":{"position":[[8247,9]]},"48":{"position":[[3954,9]]},"54":{"position":[[622,8]]},"55":{"position":[[439,8]]},"62":{"position":[[743,7]]},"86":{"position":[[128,10],[274,10],[333,10]]},"88":{"position":[[21,9]]},"91":{"position":[[485,10]]},"92":{"position":[[469,10]]},"93":{"position":[[128,9]]},"95":{"position":[[10,7],[113,7]]},"106":{"position":[[486,8]]},"109":{"position":[[213,7]]},"110":{"position":[[233,7]]},"119":{"position":[[150,7]]},"125":{"position":[[376,9]]},"126":{"position":[[369,7]]},"144":{"position":[[140,7]]},"182":{"position":[[141,7]]},"229":{"position":[[8247,9]]},"257":{"position":[[461,7],[507,7]]},"267":{"position":[[39,7]]},"275":{"position":[[540,7]]},"279":{"position":[[6906,9]]},"301":{"position":[[1256,7]]},"314":{"position":[[124,10]]},"332":{"position":[[105,7]]},"342":{"position":[[599,7]]},"343":{"position":[[929,7]]},"344":{"position":[[538,7]]},"346":{"position":[[1554,7]]},"347":{"position":[[355,7],[688,7],[772,7]]},"348":{"position":[[1362,7]]},"349":{"position":[[1988,10],[3528,7],[3668,7],[3815,7],[3979,7],[4077,7],[4176,7],[4290,7],[4562,7],[4674,7],[4836,7],[4994,7],[5107,7],[5220,7],[5331,7],[5497,7],[5802,7],[5948,7],[6115,7],[6263,7],[6393,7],[6555,7],[6768,7]]},"350":{"position":[[1045,7],[1160,7],[1416,7]]},"351":{"position":[[512,7]]},"352":{"position":[[283,7],[392,7],[522,7],[611,7],[723,7],[820,7],[917,7],[1018,7],[1114,7]]},"353":{"position":[[176,7],[281,7],[370,7],[467,7],[643,7],[728,7],[814,7]]},"354":{"position":[[252,7],[367,7],[469,7],[564,7],[664,7]]},"356":{"position":[[246,7],[326,7],[511,7],[604,7],[690,7],[776,7],[858,7]]},"358":{"position":[[4081,9],[4144,9],[8282,7]]},"359":{"position":[[2925,7]]},"365":{"position":[[167,9]]},"382":{"position":[[515,10]]},"391":{"position":[[510,7]]},"392":{"position":[[587,7]]},"399":{"position":[[64,10]]},"401":{"position":[[68,7],[373,9]]},"432":{"position":[[728,7]]},"454":{"position":[[547,8]]},"514":{"position":[[147,7]]},"515":{"position":[[150,7]]},"519":{"position":[[104,8]]},"539":{"position":[[8,8]]},"562":{"position":[[87,8]]},"564":{"position":[[207,7]]},"583":{"position":[[30,8]]},"584":{"position":[[32,8]]},"585":{"position":[[32,8]]},"586":{"position":[[34,8]]},"657":{"position":[[205,7]]},"693":{"position":[[215,10]]},"722":{"position":[[129,8]]},"754":{"position":[[339,7]]},"755":{"position":[[336,7]]},"766":{"position":[[321,7]]},"767":{"position":[[318,7]]},"777":{"position":[[436,10]]}},"keywords":{}}],["support@openc3.com",{"_index":3307,"title":{},"content":{"359":{"position":[[2999,19]]},"437":{"position":[[82,18]]}},"keywords":{}}],["supportcloud",{"_index":3805,"title":{},"content":{"392":{"position":[[235,12]]}},"keywords":{}}],["supportedal",{"_index":3841,"title":{},"content":{"398":{"position":[[77,12]]}},"keywords":{}}],["supportedonli",{"_index":3848,"title":{},"content":{"398":{"position":[[252,13]]}},"keywords":{}}],["supportedpacket",{"_index":3844,"title":{},"content":{"398":{"position":[[144,15]]}},"keywords":{}}],["supportedpolynomialcalibr",{"_index":3847,"title":{},"content":{"398":{"position":[[217,30]]}},"keywords":{}}],["supportedst",{"_index":3845,"title":{},"content":{"398":{"position":[[178,15]]}},"keywords":{}}],["supportedtelemetri",{"_index":3843,"title":{},"content":{"398":{"position":[[108,18]]}},"keywords":{}}],["supportedunit",{"_index":3846,"title":{},"content":{"398":{"position":[[198,14]]}},"keywords":{}}],["supportkubernet",{"_index":3804,"title":{},"content":{"392":{"position":[[217,17]]}},"keywords":{}}],["supportsupport",{"_index":3808,"title":{},"content":{"392":{"position":[[336,14]]}},"keywords":{}}],["suppos",{"_index":1231,"title":{},"content":{"55":{"position":[[2749,7]]}},"keywords":{}}],["suppress",{"_index":684,"title":{},"content":{"36":{"position":[[1278,10]]},"229":{"position":[[1278,10]]},"279":{"position":[[1273,10]]}},"keywords":{}}],["sure",{"_index":1220,"title":{},"content":{"55":{"position":[[815,4],[1322,4]]},"115":{"position":[[200,4],[483,4],[957,4]]},"306":{"position":[[478,4]]},"307":{"position":[[650,4]]},"309":{"position":[[3728,4]]},"313":{"position":[[90,4]]},"317":{"position":[[200,4]]},"358":{"position":[[6240,4]]},"380":{"position":[[1033,4],[1729,4]]},"385":{"position":[[219,4]]},"386":{"position":[[309,4]]},"404":{"position":[[452,4],[1437,4],[1610,5],[1649,4]]},"455":{"position":[[1017,4]]},"542":{"position":[[999,4]]},"552":{"position":[[2292,4],[2440,4],[2573,4]]},"569":{"position":[[499,4]]}},"keywords":{}}],["suspect",{"_index":4055,"title":{},"content":{"426":{"position":[[1071,7]]}},"keywords":{}}],["svelt",{"_index":2557,"title":{},"content":{"264":{"position":[[376,7]]},"307":{"position":[[262,7]]}},"keywords":{}}],["swap",{"_index":2982,"title":{},"content":{"321":{"position":[[1408,9]]}},"keywords":{}}],["swap=0",{"_index":3024,"title":{},"content":{"330":{"position":[[887,6]]}},"keywords":{}}],["switch",{"_index":16,"title":{},"content":{"1":{"position":[[172,8]]},"112":{"position":[[1025,8]]},"113":{"position":[[621,8]]},"309":{"position":[[3655,9]]},"354":{"position":[[604,6]]},"390":{"position":[[1358,6]]}},"keywords":{}}],["symbol",{"_index":1374,"title":{},"content":{"67":{"position":[[1710,8],[1785,6]]},"545":{"position":[[265,6]]},"693":{"position":[[612,6]]},"697":{"position":[[1073,6]]},"698":{"position":[[714,7]]},"701":{"position":[[522,7]]},"703":{"position":[[589,7]]},"710":{"position":[[648,7]]},"711":{"position":[[533,7]]},"712":{"position":[[527,7]]},"713":{"position":[[345,7]]},"722":{"position":[[1378,7]]},"723":{"position":[[1145,7]]},"726":{"position":[[990,7]]},"727":{"position":[[1041,7]]},"759":{"position":[[597,8]]},"769":{"position":[[601,8]]}},"keywords":{}}],["sync",{"_index":1195,"title":{},"content":{"53":{"position":[[291,4],[330,4],[412,4],[446,4],[682,4],[702,4],[758,4],[929,4],[970,4],[1019,4]]},"54":{"position":[[471,4],[633,4],[689,4],[1080,4],[1100,4],[1156,4],[1327,4],[1369,4],[1488,4]]},"55":{"position":[[450,4],[517,4],[853,4],[1205,4],[1360,4],[1857,4],[1877,4],[2056,4],[2227,4],[2269,4],[2383,4],[2450,4],[2803,4],[2868,4],[3270,4]]},"56":{"position":[[982,4],[1002,4],[1058,4],[1229,4],[1271,4],[1320,4]]},"57":{"position":[[576,4],[824,4],[927,4]]},"60":{"position":[[485,4],[505,4],[561,4],[732,4],[812,4]]},"61":{"position":[[2154,4],[2174,4],[2230,4],[2401,4],[2443,4],[2492,4]]},"62":{"position":[[515,4],[550,4],[595,4]]},"228":{"position":[[1959,4]]},"230":{"position":[[1749,4]]},"324":{"position":[[589,4],[942,6]]},"326":{"position":[[1386,4]]},"455":{"position":[[962,5]]},"545":{"position":[[188,4]]}},"keywords":{}}],["syntax",{"_index":227,"title":{},"content":{"6":{"position":[[753,7],[1111,6]]},"7":{"position":[[1080,7]]},"9":{"position":[[873,7]]},"36":{"position":[[168,7]]},"91":{"position":[[472,8]]},"92":{"position":[[456,8]]},"126":{"position":[[554,7]]},"229":{"position":[[168,7]]},"279":{"position":[[163,7]]},"314":{"position":[[117,6]]},"349":{"position":[[126,6],[4087,6],[4136,6]]},"358":{"position":[[7386,6]]},"505":{"position":[[136,6]]},"529":{"position":[[128,6]]},"540":{"position":[[856,7]]},"552":{"position":[[1837,7],[1997,6]]},"557":{"position":[[104,6],[128,6],[239,6],[275,6]]},"565":{"position":[[525,6]]},"637":{"position":[[852,6],[908,7]]},"658":{"position":[[289,6]]},"664":{"position":[[233,7]]},"665":{"position":[[192,7]]},"668":{"position":[[204,7]]},"669":{"position":[[62,7],[144,7]]},"670":{"position":[[55,7]]},"671":{"position":[[54,7]]},"673":{"position":[[454,7],[691,7]]},"675":{"position":[[89,7]]},"677":{"position":[[34,7],[399,7]]},"678":{"position":[[196,7],[591,7]]},"679":{"position":[[201,7],[604,7]]},"680":{"position":[[270,7],[655,7]]},"681":{"position":[[62,7],[451,7]]},"682":{"position":[[219,7],[638,7]]},"683":{"position":[[224,7],[651,7]]},"684":{"position":[[293,7],[702,7]]},"685":{"position":[[38,7],[111,7]]},"686":{"position":[[48,7]]},"687":{"position":[[175,7]]},"688":{"position":[[79,7]]},"689":{"position":[[81,7]]},"690":{"position":[[62,7]]},"691":{"position":[[110,7]]},"692":{"position":[[100,7]]},"693":{"position":[[241,7]]},"694":{"position":[[66,7]]},"695":{"position":[[79,7]]},"697":{"position":[[341,7]]},"698":{"position":[[260,7]]},"699":{"position":[[417,7],[635,6],[919,7]]},"700":{"position":[[140,7]]},"701":{"position":[[62,7]]},"702":{"position":[[93,7]]},"703":{"position":[[217,7]]},"704":{"position":[[261,7]]},"705":{"position":[[62,7]]},"706":{"position":[[61,7]]},"707":{"position":[[39,7]]},"708":{"position":[[38,7]]},"709":{"position":[[92,7]]},"710":{"position":[[380,7]]},"711":{"position":[[90,7]]},"712":{"position":[[242,7]]},"713":{"position":[[93,7]]},"714":{"position":[[216,7]]},"716":{"position":[[155,7]]},"717":{"position":[[57,7],[116,7]]},"718":{"position":[[61,7]]},"719":{"position":[[73,7]]},"720":{"position":[[69,7]]},"722":{"position":[[154,8],[365,7],[569,7]]},"723":{"position":[[267,7]]},"724":{"position":[[352,7]]},"725":{"position":[[242,7]]},"726":{"position":[[198,7]]},"727":{"position":[[180,7]]},"728":{"position":[[244,6],[294,7]]},"729":{"position":[[130,7]]},"731":{"position":[[115,7],[220,7]]},"732":{"position":[[76,7]]},"733":{"position":[[77,7]]},"734":{"position":[[99,7]]},"735":{"position":[[100,7]]},"736":{"position":[[65,6]]},"737":{"position":[[80,7]]},"738":{"position":[[95,6]]},"739":{"position":[[63,6]]},"740":{"position":[[86,7]]},"741":{"position":[[228,7]]},"742":{"position":[[146,6]]},"743":{"position":[[109,7]]},"744":{"position":[[100,7]]},"746":{"position":[[64,6]]},"747":{"position":[[78,7]]},"748":{"position":[[168,6]]},"750":{"position":[[125,7]]},"751":{"position":[[76,6]]},"752":{"position":[[72,7]]},"753":{"position":[[77,7]]},"754":{"position":[[106,7]]},"755":{"position":[[105,7]]},"756":{"position":[[296,6],[841,6]]},"757":{"position":[[119,7]]},"758":{"position":[[175,7]]},"759":{"position":[[182,7]]},"761":{"position":[[42,7]]},"762":{"position":[[45,7]]},"763":{"position":[[73,6]]},"764":{"position":[[118,7]]},"765":{"position":[[290,6],[827,6]]},"766":{"position":[[103,7]]},"767":{"position":[[102,7]]},"768":{"position":[[165,7]]},"769":{"position":[[179,7]]},"771":{"position":[[35,7]]},"772":{"position":[[50,7]]},"773":{"position":[[66,6],[158,6]]},"774":{"position":[[44,6]]},"775":{"position":[[70,7]]},"777":{"position":[[178,7]]},"778":{"position":[[388,7]]},"780":{"position":[[68,7]]},"781":{"position":[[49,7]]},"782":{"position":[[41,6]]},"783":{"position":[[61,7]]},"784":{"position":[[83,6]]},"785":{"position":[[93,7]]},"786":{"position":[[165,7]]},"787":{"position":[[234,7]]},"789":{"position":[[66,7]]},"790":{"position":[[86,6]]},"791":{"position":[[150,7]]},"792":{"position":[[149,6]]},"793":{"position":[[501,6],[628,6]]},"795":{"position":[[505,7]]},"797":{"position":[[101,6]]},"798":{"position":[[92,6]]},"799":{"position":[[297,6]]},"801":{"position":[[65,7]]},"802":{"position":[[57,7]]},"803":{"position":[[57,7]]},"804":{"position":[[57,7]]},"805":{"position":[[90,6]]},"807":{"position":[[110,6],[260,6]]},"808":{"position":[[71,6],[850,6]]},"809":{"position":[[130,7]]},"810":{"position":[[170,7]]},"812":{"position":[[102,6],[231,6]]},"813":{"position":[[82,7]]},"814":{"position":[[230,7]]},"815":{"position":[[54,7]]},"816":{"position":[[56,7]]}},"keywords":{}}],["syntax.python",{"_index":4334,"title":{},"content":{"540":{"position":[[762,14]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/defrag",{"_index":2870,"title":{},"content":{"309":{"position":[[2089,42]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/en",{"_index":2869,"title":{},"content":{"309":{"position":[[2029,43]]}},"keywords":{}}],["sysctl",{"_index":2871,"title":{},"content":{"309":{"position":[[2132,6]]},"404":{"position":[[2138,6],[2177,6]]}},"keywords":{}}],["system",{"_index":9,"title":{},"content":{"1":{"position":[[81,8],[96,7]]},"2":{"position":[[88,7],[205,7],[269,7]]},"6":{"position":[[51,6]]},"26":{"position":[[251,7]]},"67":{"position":[[1152,7],[1426,7]]},"82":{"position":[[59,7]]},"91":{"position":[[171,7]]},"96":{"position":[[167,6]]},"100":{"position":[[56,7],[479,7]]},"111":{"position":[[137,8]]},"115":{"position":[[1653,6],[1812,6]]},"178":{"position":[[87,7],[425,6]]},"192":{"position":[[66,7],[214,6]]},"237":{"position":[[205,6]]},"257":{"position":[[128,6],[224,6]]},"258":{"position":[[343,7],[1881,6]]},"261":{"position":[[75,6]]},"265":{"position":[[48,6]]},"290":{"position":[[276,6]]},"309":{"position":[[634,8],[1508,6]]},"314":{"position":[[2058,7]]},"326":{"position":[[1351,6]]},"328":{"position":[[89,8]]},"342":{"position":[[12,6],[167,6],[685,7],[1223,7]]},"343":{"position":[[179,7],[296,7],[360,7],[1026,6],[1209,8],[1348,7]]},"344":{"position":[[937,7]]},"349":{"position":[[624,6],[766,6]]},"350":{"position":[[107,6]]},"356":{"position":[[96,6]]},"358":{"position":[[438,7]]},"361":{"position":[[246,7]]},"363":{"position":[[94,7]]},"368":{"position":[[842,6]]},"369":{"position":[[4074,7]]},"382":{"position":[[826,7]]},"387":{"position":[[63,6],[308,7]]},"402":{"position":[[288,7]]},"404":{"position":[[1160,6]]},"406":{"position":[[114,6]]},"407":{"position":[[66,7]]},"412":{"position":[[79,7]]},"416":{"position":[[156,6]]},"419":{"position":[[322,7]]},"420":{"position":[[278,6]]},"426":{"position":[[626,7]]},"439":{"position":[[72,7]]},"447":{"position":[[178,6]]},"452":{"position":[[62,7]]},"509":{"position":[[352,7]]},"516":{"position":[[32,6]]},"544":{"position":[[69,6]]},"562":{"position":[[6,7]]},"563":{"position":[[339,7],[371,6]]},"568":{"position":[[270,6]]},"576":{"position":[[270,6]]},"676":{"position":[[109,7]]},"704":{"position":[[129,7]]},"711":{"position":[[27,6]]},"736":{"position":[[42,7]]},"739":{"position":[[40,7]]},"743":{"position":[[49,7]]},"746":{"position":[[38,6]]},"751":{"position":[[41,6]]},"763":{"position":[[38,6]]}},"keywords":{}}],["system."",{"_index":2510,"title":{},"content":{"258":{"position":[[518,13]]}},"keywords":{}}],["system.th",{"_index":3281,"title":{},"content":{"358":{"position":[[7284,10]]}},"keywords":{}}],["system/subsystem",{"_index":4380,"title":{},"content":{"542":{"position":[[90,16]]}},"keywords":{}}],["systemctl",{"_index":2883,"title":{},"content":{"309":{"position":[[2442,9]]}},"keywords":{}}],["t",{"_index":1043,"title":{},"content":{"44":{"position":[[490,1]]},"377":{"position":[[108,1]]}},"keywords":{}}],["t2ikutvtxbmtygxiah6iqi4gkpl8mx1w","not",{"_index":1569,"title":{},"content":{"82":{"position":[[4451,48]]}},"keywords":{}}],["tab",{"_index":632,"title":{"512":{"position":[[11,4]]},"513":{"position":[[8,4]]},"514":{"position":[[16,4]]},"515":{"position":[[18,4]]},"516":{"position":[[7,4]]}},"content":{"33":{"position":[[127,4]]},"93":{"position":[[409,3],[548,3]]},"128":{"position":[[463,3]]},"136":{"position":[[49,3]]},"141":{"position":[[400,4]]},"188":{"position":[[360,4]]},"196":{"position":[[263,4]]},"326":{"position":[[733,3]]},"346":{"position":[[248,4],[507,4],[612,4],[746,3],[904,4],[1056,3],[1207,4],[1625,3]]},"347":{"position":[[507,4]]},"352":{"position":[[557,4]]},"354":{"position":[[581,4],[627,4],[681,5],[696,4]]},"356":{"position":[[828,3],[940,3]]},"358":{"position":[[485,4]]},"359":{"position":[[533,4],[965,4],[2082,4]]},"369":{"position":[[513,5]]},"404":{"position":[[1282,3],[1424,3]]},"407":{"position":[[13,3],[260,3]]},"408":{"position":[[13,3]]},"409":{"position":[[16,3]]},"410":{"position":[[13,3]]},"411":{"position":[[19,3]]},"412":{"position":[[14,3],[127,3]]},"413":{"position":[[11,3]]},"414":{"position":[[11,3]]},"415":{"position":[[13,3]]},"416":{"position":[[14,3]]},"476":{"position":[[67,3]]},"478":{"position":[[160,4]]},"511":{"position":[[271,4]]},"512":{"position":[[16,3]]},"513":{"position":[[13,3]]},"514":{"position":[[21,3]]},"515":{"position":[[23,3]]},"516":{"position":[[12,3]]},"517":{"position":[[43,4]]},"524":{"position":[[415,4]]},"531":{"position":[[147,3],[492,3]]},"600":{"position":[[11,6]]},"601":{"position":[[27,3],[122,3]]},"806":{"position":[[75,4]]}},"keywords":{}}],["tabbook",{"_index":4661,"title":{"600":{"position":[[0,8]]}},"content":{"601":{"position":[[148,7]]}},"keywords":{}}],["tabitem",{"_index":4662,"title":{"601":{"position":[[0,8]]}},"content":{"600":{"position":[[41,7]]},"601":{"position":[[156,7],[230,7]]}},"keywords":{}}],["tabl",{"_index":53,"title":{"30":{"position":[[0,6]]},"31":{"position":[[0,5]]},"33":{"position":[[0,6]]},"34":{"position":[[0,5]]},"447":{"position":[[9,6]]},"493":{"position":[[0,5]]}},"content":{"2":{"position":[[406,6]]},"31":{"position":[[1,5],[42,6],[81,5],[96,5],[200,5],[296,5],[314,5],[413,5],[457,5],[712,5]]},"32":{"position":[[46,5]]},"33":{"position":[[13,5],[78,5],[178,5],[292,5],[365,5],[581,5],[797,5],[840,5]]},"34":{"position":[[38,5]]},"35":{"position":[[36,5],[127,6],[170,5],[281,6]]},"36":{"position":[[10547,5]]},"37":{"position":[[36,5],[127,6]]},"38":{"position":[[20,5],[151,5]]},"39":{"position":[[59,5]]},"40":{"position":[[66,5]]},"48":{"position":[[1808,5],[2441,5],[4969,5]]},"225":{"position":[[690,5]]},"271":{"position":[[717,5]]},"275":{"position":[[755,5]]},"342":{"position":[[86,5]]},"343":{"position":[[497,6]]},"358":{"position":[[638,5]]},"447":{"position":[[14,5]]},"454":{"position":[[527,5]]},"455":{"position":[[752,6]]},"467":{"position":[[225,5]]},"470":{"position":[[356,5]]},"483":{"position":[[35,5]]},"485":{"position":[[120,5]]},"491":{"position":[[131,5]]},"494":{"position":[[1,5]]},"496":{"position":[[151,6],[241,5],[288,5]]},"497":{"position":[[1,5],[124,5]]},"498":{"position":[[117,5],[374,5],[583,5]]},"499":{"position":[[119,5],[393,5],[534,5],[758,5]]},"514":{"position":[[66,5],[125,5]]},"515":{"position":[[69,5],[128,5]]},"517":{"position":[[18,5]]},"598":{"position":[[27,5]]},"711":{"position":[[378,5]]}},"keywords":{}}],["table"",{"_index":863,"title":{},"content":{"40":{"position":[[157,11]]}},"keywords":{}}],["table_id",{"_index":4230,"title":{},"content":{"499":{"position":[[657,8],[797,8],[806,12]]}},"keywords":{}}],["tablefil",{"_index":619,"title":{"32":{"position":[[0,10]]}},"content":{"31":{"position":[[358,9]]}},"keywords":{}}],["tables/config",{"_index":613,"title":{},"content":{"31":{"position":[[142,13]]}},"keywords":{}}],["tabsconst",{"_index":4339,"title":{},"content":{"540":{"position":[[1297,13]]}},"keywords":{}}],["tabular",{"_index":3196,"title":{},"content":{"350":{"position":[[119,8]]}},"keywords":{}}],["tag",{"_index":1301,"title":{},"content":{"61":{"position":[[711,3]]}},"keywords":{}}],["tag_key",{"_index":3331,"title":{},"content":{"362":{"position":[[455,7],[785,7],[1107,7]]}},"keywords":{}}],["take",{"_index":252,"title":{},"content":{"7":{"position":[[359,5]]},"36":{"position":[[4263,5],[6552,4],[7348,4]]},"42":{"position":[[779,4]]},"50":{"position":[[441,4]]},"57":{"position":[[250,4]]},"67":{"position":[[347,4]]},"73":{"position":[[102,5]]},"74":{"position":[[125,5]]},"75":{"position":[[124,5]]},"76":{"position":[[116,5]]},"77":{"position":[[265,5]]},"83":{"position":[[1690,5],[3105,4]]},"91":{"position":[[1178,4]]},"104":{"position":[[811,6]]},"105":{"position":[[698,6]]},"110":{"position":[[994,6]]},"111":{"position":[[890,6]]},"122":{"position":[[89,5]]},"186":{"position":[[101,4]]},"217":{"position":[[103,5]]},"229":{"position":[[4263,5],[6552,4],[7348,4]]},"279":{"position":[[3212,5],[5091,4],[5949,4]]},"303":{"position":[[1064,4]]},"305":{"position":[[811,6]]},"333":{"position":[[913,5]]},"358":{"position":[[4426,5],[5387,4]]},"367":{"position":[[227,6],[267,6]]},"373":{"position":[[364,5]]},"389":{"position":[[1063,4],[1742,4],[1913,4]]},"390":{"position":[[14,5]]},"402":{"position":[[5198,4]]},"422":{"position":[[605,5]]},"430":{"position":[[575,4]]},"454":{"position":[[37,4]]},"494":{"position":[[43,5]]},"513":{"position":[[274,4]]},"522":{"position":[[797,4]]},"540":{"position":[[3850,5],[4382,6]]},"552":{"position":[[1014,5]]},"559":{"position":[[416,4]]},"564":{"position":[[173,4]]},"568":{"position":[[123,5]]},"575":{"position":[[86,4]]},"637":{"position":[[1335,5]]}},"keywords":{}}],["taken",{"_index":3995,"title":{},"content":{"419":{"position":[[281,5]]},"424":{"position":[[1053,5]]},"429":{"position":[[119,5]]},"632":{"position":[[198,5]]}},"keywords":{}}],["talk",{"_index":1986,"title":{},"content":{"117":{"position":[[280,4]]},"128":{"position":[[79,4],[216,4]]},"358":{"position":[[66,4]]},"369":{"position":[[4104,4]]},"387":{"position":[[1258,4]]}},"keywords":{}}],["tamper",{"_index":4115,"title":{},"content":{"434":{"position":[[606,10]]}},"keywords":{}}],["tar",{"_index":3039,"title":{},"content":{"331":{"position":[[592,3],[702,3]]}},"keywords":{}}],["target",{"_index":45,"title":{"119":{"position":[[0,7]]},"150":{"position":[[0,7]]},"151":{"position":[[0,6]]},"302":{"position":[[0,6]]},"408":{"position":[[0,8]]},"513":{"position":[[0,7]]},"745":{"position":[[0,8]]}},"content":{"2":{"position":[[277,9],[506,8]]},"5":{"position":[[114,6],[216,7],[610,6],[753,7],[1046,6]]},"11":{"position":[[45,6],[87,6]]},"17":{"position":[[124,6]]},"18":{"position":[[128,6]]},"46":{"position":[[94,8]]},"48":{"position":[[413,6],[1316,6],[1362,6],[1412,6],[1541,6],[1690,6],[1817,6],[1863,6],[1906,6],[1950,6]]},"61":{"position":[[1180,6]]},"66":{"position":[[163,6]]},"67":{"position":[[270,6]]},"83":{"position":[[2092,9]]},"91":{"position":[[157,6],[987,6],[1522,6]]},"92":{"position":[[778,6],[951,6]]},"100":{"position":[[71,8],[251,7],[283,8],[313,6],[1042,6],[1125,7]]},"102":{"position":[[107,7]]},"104":{"position":[[122,7]]},"105":{"position":[[149,7],[184,7]]},"106":{"position":[[75,7]]},"111":{"position":[[36,6]]},"114":{"position":[[572,6]]},"115":{"position":[[143,7],[426,7],[1927,7]]},"117":{"position":[[159,7],[288,8]]},"119":{"position":[[1,7],[251,6]]},"120":{"position":[[61,8],[215,7],[250,8]]},"126":{"position":[[204,7],[330,7],[412,6]]},"128":{"position":[[36,6],[579,7],[648,7]]},"130":{"position":[[8,6],[79,6]]},"131":{"position":[[23,6],[121,6]]},"132":{"position":[[23,6],[124,6]]},"136":{"position":[[266,7]]},"148":{"position":[[38,6]]},"150":{"position":[[15,6],[69,6],[97,6],[201,7],[227,6],[264,6]]},"151":{"position":[[38,6]]},"172":{"position":[[50,6]]},"174":{"position":[[25,6],[342,6]]},"175":{"position":[[174,6]]},"176":{"position":[[80,6]]},"177":{"position":[[38,6]]},"184":{"position":[[20,6],[35,6],[155,6],[281,6]]},"191":{"position":[[38,6]]},"219":{"position":[[1381,6]]},"223":{"position":[[388,6]]},"225":{"position":[[80,8]]},"226":{"position":[[80,6],[223,7]]},"235":{"position":[[253,6]]},"245":{"position":[[126,6]]},"246":{"position":[[132,6]]},"247":{"position":[[110,6]]},"248":{"position":[[112,6]]},"251":{"position":[[882,6],[1650,6]]},"252":{"position":[[335,6]]},"253":{"position":[[47,6],[96,6],[957,6],[1717,6]]},"258":{"position":[[945,6],[1190,6]]},"271":{"position":[[104,8]]},"272":{"position":[[339,6]]},"275":{"position":[[294,6]]},"276":{"position":[[82,6],[252,7]]},"285":{"position":[[253,6]]},"296":{"position":[[331,6]]},"298":{"position":[[261,6]]},"299":{"position":[[49,6]]},"302":{"position":[[5,6],[63,7],[135,6],[205,6],[232,6],[316,6],[327,6],[482,7],[494,6],[579,7],[605,7],[750,7],[829,7],[915,7],[1191,6],[1309,6],[1393,7],[1565,6],[1718,6],[1800,7],[1919,7],[2267,6],[2371,6],[2526,7],[2564,6]]},"303":{"position":[[147,6]]},"304":{"position":[[148,6]]},"305":{"position":[[158,6],[1015,7]]},"314":{"position":[[236,8]]},"320":{"position":[[919,6],[1070,6]]},"338":{"position":[[130,7],[688,6],[724,6]]},"339":{"position":[[208,6]]},"342":{"position":[[145,6],[352,6],[459,7],[557,7]]},"343":{"position":[[368,9],[597,8],[857,8],[972,7],[1315,7]]},"344":{"position":[[584,8],[600,7]]},"345":{"position":[[474,7]]},"346":{"position":[[481,8],[499,7]]},"348":{"position":[[67,8],[190,6],[352,7],[457,6],[515,6]]},"350":{"position":[[250,6],[317,6]]},"353":{"position":[[402,8],[433,7]]},"358":{"position":[[994,7],[1064,6],[1191,7],[2111,8],[2182,7],[2279,6],[2299,6],[2458,6],[2492,6],[2546,6],[2591,7],[2648,6],[3193,6],[5112,6],[5994,7],[6007,7],[6404,7],[6642,6],[6729,6],[7125,6],[7262,6],[7295,6],[7328,6],[8235,6]]},"359":{"position":[[1016,7],[1045,6],[2687,6],[2812,7]]},"364":{"position":[[562,8],[709,8],[851,8],[999,8],[1145,8]]},"367":{"position":[[155,7],[190,7],[219,7],[259,7],[397,8],[454,8],[657,8],[771,8],[900,7]]},"368":{"position":[[124,7],[484,7]]},"369":{"position":[[354,7],[2370,6],[3716,7],[3842,7]]},"378":{"position":[[355,7],[513,6],[863,6],[1232,6],[1268,6],[1376,7],[1424,6],[1607,6]]},"379":{"position":[[15,6]]},"380":{"position":[[1345,6]]},"383":{"position":[[43,7],[150,7],[221,6],[257,7],[505,7],[1251,6],[1346,8],[1503,6],[1595,6],[1775,6]]},"395":{"position":[[76,6]]},"396":{"position":[[140,6]]},"397":{"position":[[83,7],[139,6]]},"402":{"position":[[3120,7],[4044,6]]},"407":{"position":[[102,8],[356,7],[489,6],[519,6]]},"408":{"position":[[5,7],[31,7],[139,6]]},"452":{"position":[[150,6]]},"457":{"position":[[149,7]]},"464":{"position":[[108,6]]},"467":{"position":[[41,6],[64,6],[95,6],[185,7]]},"472":{"position":[[394,6]]},"473":{"position":[[539,6],[662,6]]},"479":{"position":[[155,6]]},"482":{"position":[[25,7],[115,6],[267,7]]},"487":{"position":[[120,7]]},"491":{"position":[[66,6]]},"497":{"position":[[93,6]]},"498":{"position":[[241,6],[293,6]]},"499":{"position":[[260,6],[312,6]]},"503":{"position":[[13,6],[36,6],[106,6]]},"504":{"position":[[78,7],[96,6]]},"509":{"position":[[87,7]]},"513":{"position":[[5,7],[34,7],[355,7],[448,7]]},"523":{"position":[[13,6],[36,6]]},"526":{"position":[[120,6]]},"528":{"position":[[356,8],[733,8]]},"540":{"position":[[2092,6],[2389,7],[2417,8],[3007,6],[3301,7],[3313,6],[4940,6],[4962,6]]},"545":{"position":[[441,6]]},"549":{"position":[[273,6],[395,6]]},"551":{"position":[[635,6],[675,7]]},"556":{"position":[[252,7],[291,7],[406,7],[567,7],[632,8]]},"562":{"position":[[225,6]]},"564":{"position":[[180,6],[239,7]]},"575":{"position":[[251,6]]},"609":{"position":[[108,6]]},"610":{"position":[[108,6]]},"611":{"position":[[441,6]]},"612":{"position":[[83,6]]},"613":{"position":[[110,6]]},"614":{"position":[[104,6]]},"615":{"position":[[112,6]]},"616":{"position":[[124,6]]},"617":{"position":[[127,6]]},"618":{"position":[[123,6]]},"619":{"position":[[391,6]]},"620":{"position":[[120,6]]},"621":{"position":[[118,6]]},"622":{"position":[[104,6]]},"623":{"position":[[93,6]]},"624":{"position":[[96,6]]},"625":{"position":[[92,6]]},"626":{"position":[[90,6],[817,6]]},"627":{"position":[[124,6],[870,6]]},"628":{"position":[[108,6],[842,6]]},"629":{"position":[[89,6]]},"630":{"position":[[114,6]]},"631":{"position":[[102,6]]},"633":{"position":[[136,6]]},"634":{"position":[[88,6]]},"635":{"position":[[332,6]]},"648":{"position":[[126,6]]},"649":{"position":[[795,6]]},"650":{"position":[[318,6],[1708,6]]},"652":{"position":[[190,6]]},"669":{"position":[[39,6],[272,6],[320,6]]},"670":{"position":[[22,6],[193,6],[241,6]]},"671":{"position":[[22,6],[169,6],[217,6]]},"673":{"position":[[341,7]]},"676":{"position":[[56,6]]},"677":{"position":[[794,6]]},"678":{"position":[[182,7],[1016,6]]},"679":{"position":[[1037,6]]},"680":{"position":[[1070,6]]},"681":{"position":[[870,6]]},"682":{"position":[[205,7],[1087,6]]},"683":{"position":[[1108,6]]},"684":{"position":[[1141,6]]},"687":{"position":[[70,7],[277,7]]},"688":{"position":[[56,7],[186,6]]},"689":{"position":[[272,7]]},"690":{"position":[[318,7]]},"691":{"position":[[353,7]]},"692":{"position":[[276,7]]},"693":{"position":[[445,7]]},"694":{"position":[[224,7],[287,6],[406,6],[550,6],[682,6]]},"695":{"position":[[280,7]]},"697":{"position":[[504,6]]},"698":{"position":[[446,6]]},"701":{"position":[[294,6]]},"702":{"position":[[336,7]]},"703":{"position":[[450,7]]},"705":{"position":[[25,6],[163,7]]},"706":{"position":[[25,6],[168,6]]},"707":{"position":[[230,7]]},"708":{"position":[[280,7]]},"709":{"position":[[291,7]]},"710":{"position":[[513,6]]},"711":{"position":[[239,6]]},"712":{"position":[[380,6]]},"713":{"position":[[216,6]]},"716":{"position":[[238,6]]},"718":{"position":[[223,6]]},"719":{"position":[[243,6]]},"720":{"position":[[257,6]]},"722":{"position":[[870,6]]},"723":{"position":[[602,6]]},"725":{"position":[[510,6]]},"726":{"position":[[485,6]]},"727":{"position":[[501,6]]},"729":{"position":[[396,6]]},"731":{"position":[[362,6]]},"732":{"position":[[217,6]]},"733":{"position":[[219,6]]},"740":{"position":[[214,6]]},"741":{"position":[[584,6]]},"745":{"position":[[37,8]]},"746":{"position":[[23,7],[83,7]]},"747":{"position":[[11,6],[64,7],[178,7],[202,6]]},"748":{"position":[[32,8],[113,6]]},"752":{"position":[[13,7]]},"753":{"position":[[18,7]]},"757":{"position":[[7,6],[39,6],[299,6],[383,6],[478,6],[579,6]]},"778":{"position":[[611,6]]},"780":{"position":[[272,6],[329,6]]},"781":{"position":[[189,6],[246,6]]},"783":{"position":[[202,6],[259,6]]},"785":{"position":[[242,6],[299,6]]},"786":{"position":[[337,6],[394,6]]},"787":{"position":[[450,6]]},"799":{"position":[[83,8],[273,8]]},"800":{"position":[[41,6]]}},"keywords":{}}],["target"",{"_index":2696,"title":{},"content":{"299":{"position":[[101,12]]},"482":{"position":[[196,13]]}},"keywords":{}}],["target'",{"_index":280,"title":{},"content":{"7":{"position":[[1190,8]]},"11":{"position":[[166,8]]},"12":{"position":[[199,8]]},"15":{"position":[[444,8]]},"16":{"position":[[446,8]]},"31":{"position":[[133,8]]},"36":{"position":[[4128,8]]},"100":{"position":[[1074,8]]},"225":{"position":[[246,8]]},"229":{"position":[[4128,8]]},"271":{"position":[[274,8]]},"279":{"position":[[3077,8],[10624,8]]},"288":{"position":[[271,8]]},"395":{"position":[[182,8],[209,8]]},"497":{"position":[[182,8],[296,8]]},"575":{"position":[[269,8]]}},"keywords":{}}],["target(",{"_index":1988,"title":{"482":{"position":[[7,9]]}},"content":{"117":{"position":[[690,9]]}},"keywords":{}}],["target.lib.upload_util",{"_index":4369,"title":{},"content":{"540":{"position":[[2758,25]]}},"keywords":{}}],["target.txt",{"_index":313,"title":{"10":{"position":[[0,10]]}},"content":{"272":{"position":[[485,10]]}},"keywords":{}}],["target/cmd_tlm/cmd.txt",{"_index":2464,"title":{},"content":{"253":{"position":[[15,22]]}},"keywords":{}}],["target/cmd_tlm/tlm.txt",{"_index":2694,"title":{},"content":{"299":{"position":[[15,22]]}},"keywords":{}}],["target/lib/helper_utility.rb",{"_index":4354,"title":{},"content":{"540":{"position":[[1926,30]]}},"keywords":{}}],["target/lib/target.[rb/pi",{"_index":4459,"title":{},"content":{"551":{"position":[[579,25]]}},"keywords":{}}],["target/lib/upload_utility.rb",{"_index":4352,"title":{},"content":{"540":{"position":[[1839,30]]}},"keywords":{}}],["target/lib/utility.rb",{"_index":5649,"title":{},"content":{"778":{"position":[[640,21]]}},"keywords":{}}],["target/myscreen.txt",{"_index":4834,"title":{},"content":{"654":{"position":[[15,19]]}},"keywords":{}}],["target/procedur",{"_index":4460,"title":{},"content":{"551":{"position":[[724,17]]}},"keywords":{}}],["target/screens/version.txt",{"_index":4593,"title":{},"content":{"575":{"position":[[310,27]]}},"keywords":{}}],["target/tables/config/mcconfigurationtable_def.txt",{"_index":860,"title":{},"content":{"40":{"position":[[15,49]]}},"keywords":{}}],["target=${1",{"_index":1632,"title":{},"content":{"83":{"position":[[2080,11]]}},"keywords":{}}],["target_int",{"_index":5483,"title":{},"content":{"748":{"position":[[187,11]]}},"keywords":{}}],["target_ints.each",{"_index":5484,"title":{},"content":{"748":{"position":[[225,16]]}},"keywords":{}}],["target_microservic",{"_index":2121,"title":{"174":{"position":[[0,20]]}},"content":{"175":{"position":[[55,20]]}},"keywords":{}}],["target_nam",{"_index":2148,"title":{"184":{"position":[[0,12]]}},"content":{"184":{"position":[[381,11]]},"320":{"position":[[1636,11],[1702,11]]},"654":{"position":[[85,11]]},"685":{"position":[[1180,14]]},"687":{"position":[[826,16]]},"689":{"position":[[868,16]]},"691":{"position":[[1060,14]]},"694":{"position":[[455,12],[566,12],[698,12]]},"714":{"position":[[1368,15],[1482,15],[1602,15],[1724,15]]},"742":{"position":[[27,12]]},"743":{"position":[[294,16]]},"748":{"position":[[245,13],[290,15]]}},"keywords":{}}],["targets/gse/cmd_tlm",{"_index":2761,"title":{},"content":{"302":{"position":[[666,19]]}},"keywords":{}}],["targets/gse/cmd_tlm/cmd.txt",{"_index":2762,"title":{},"content":{"302":{"position":[[1101,27]]}},"keywords":{}}],["targets/gse/cmd_tlm/tlm.txt",{"_index":2763,"title":{},"content":{"302":{"position":[[1217,27]]}},"keywords":{}}],["targets/gse/lib",{"_index":2764,"title":{},"content":{"302":{"position":[[1336,15]]}},"keywords":{}}],["targets/gse/lib/double_conversion.rb",{"_index":2790,"title":{},"content":{"304":{"position":[[410,36]]}},"keywords":{}}],["targets/gse/lib/gse.rb/pi",{"_index":2765,"title":{},"content":{"302":{"position":[[1489,25]]}},"keywords":{}}],["targets/gse/lib/safe_limits_response.rb",{"_index":2800,"title":{},"content":{"305":{"position":[[438,39]]}},"keywords":{}}],["targets/gse/procedur",{"_index":2770,"title":{},"content":{"302":{"position":[[1674,22]]}},"keywords":{}}],["targets/gse/procedures/procedure.rb/pi",{"_index":2773,"title":{},"content":{"302":{"position":[[1973,38]]}},"keywords":{}}],["targets/gse/publ",{"_index":2774,"title":{},"content":{"302":{"position":[[2082,18]]}},"keywords":{}}],["targets/gse/screen",{"_index":2778,"title":{},"content":{"302":{"position":[[2212,19]]}},"keywords":{}}],["targets/gse/screens/status.txt",{"_index":2779,"title":{},"content":{"302":{"position":[[2274,30]]}},"keywords":{}}],["targets/gse/target.txt",{"_index":2780,"title":{},"content":{"302":{"position":[[2348,22]]}},"keywords":{}}],["targets/target/publ",{"_index":4816,"title":{},"content":{"649":{"position":[[134,21]]},"650":{"position":[[575,21],[1414,21]]}},"keywords":{}}],["targets/target_name/procedur",{"_index":4445,"title":{},"content":{"549":{"position":[[302,30]]}},"keywords":{}}],["targets_modifi",{"_index":2994,"title":{},"content":{"326":{"position":[[244,16],[1181,16]]}},"keywords":{}}],["targets_modified/target",{"_index":2995,"title":{},"content":{"326":{"position":[[404,23]]}},"keywords":{}}],["task",{"_index":1592,"title":{},"content":{"83":{"position":[[177,4]]},"123":{"position":[[139,6]]},"349":{"position":[[1151,6]]},"455":{"position":[[1027,4],[1632,4]]},"574":{"position":[[178,5]]},"637":{"position":[[162,6]]}},"keywords":{}}],["tbl_filenam",{"_index":4212,"title":{},"content":{"498":{"position":[[335,12]]},"499":{"position":[[354,12],[642,12],[691,12]]}},"keywords":{}}],["tcp",{"_index":1998,"title":{},"content":{"120":{"position":[[128,3]]},"144":{"position":[[238,4]]},"182":{"position":[[239,4]]}},"keywords":{}}],["tcp/ip",{"_index":1821,"title":{},"content":{"100":{"position":[[343,8],[543,6]]},"312":{"position":[[156,7]]},"342":{"position":[[607,7]]},"343":{"position":[[1149,7]]},"358":{"position":[[7610,6],[7913,6]]}},"keywords":{}}],["tcpip",{"_index":1834,"title":{"104":{"position":[[0,5]]},"105":{"position":[[0,5]]}},"content":{"103":{"position":[[43,5],[57,5]]},"104":{"position":[[5,5],[42,5]]},"105":{"position":[[5,5],[38,5]]}},"keywords":{}}],["tcpip_client_interfac",{"_index":2018,"title":{},"content":{"128":{"position":[[745,23]]},"149":{"position":[[535,23]]}},"keywords":{}}],["tcpip_client_interface.pi",{"_index":3284,"title":{},"content":{"358":{"position":[[7642,25]]}},"keywords":{}}],["tcpip_client_interface.rb",{"_index":1252,"title":{},"content":{"57":{"position":[[406,25]]},"104":{"position":[[874,25],[1005,25],[1115,25],[1225,25],[1360,25],[1469,25],[1585,25]]},"105":{"position":[[1355,25],[1538,25]]},"130":{"position":[[156,25]]},"131":{"position":[[197,25]]},"132":{"position":[[200,25]]},"139":{"position":[[735,25]]},"302":{"position":[[2647,25]]}},"keywords":{}}],["tcpip_server_interfac",{"_index":2019,"title":{},"content":{"128":{"position":[[769,23]]},"149":{"position":[[559,23]]}},"keywords":{}}],["tcpip_server_interface.rb",{"_index":1855,"title":{},"content":{"105":{"position":[[953,25],[1063,25],[1152,25],[1241,25],[1443,25]]},"140":{"position":[[808,25]]},"314":{"position":[[1477,25],[1868,25]]}},"keywords":{}}],["tcpipserverinterfac",{"_index":2058,"title":{},"content":{"140":{"position":[[460,20]]}},"keywords":{}}],["tctf",{"_index":1143,"title":{"59":{"position":[[6,4]]}},"content":{"50":{"position":[[352,4]]},"59":{"position":[[11,4]]}},"keywords":{}}],["team",{"_index":895,"title":{},"content":{"42":{"position":[[17,4]]}},"keywords":{}}],["teardown",{"_index":3187,"title":{},"content":{"349":{"position":[[5370,8],[5450,9],[5536,8],[5616,9]]},"533":{"position":[[509,8],[808,8],[872,8]]},"534":{"position":[[256,8],[565,8],[609,8]]},"795":{"position":[[103,9],[295,8],[1313,8]]}},"keywords":{}}],["teardown"",{"_index":4315,"title":{},"content":{"534":{"position":[[282,14],[521,15]]}},"keywords":{}}],["teardown(self",{"_index":4307,"title":{},"content":{"533":{"position":[[748,15]]},"534":{"position":[[487,15]]},"795":{"position":[[1862,15]]}},"keywords":{}}],["technic",{"_index":2816,"title":{},"content":{"307":{"position":[[1097,9]]},"424":{"position":[[1625,9],[1967,9]]}},"keywords":{}}],["techniqu",{"_index":4481,"title":{},"content":{"552":{"position":[[326,10]]}},"keywords":{}}],["technolog",{"_index":2551,"title":{},"content":{"264":{"position":[[56,10]]},"268":{"position":[[83,10],[261,11]]},"309":{"position":[[209,10]]},"393":{"position":[[33,12],[212,12]]},"429":{"position":[[467,13],[508,10]]},"440":{"position":[[846,10]]}},"keywords":{}}],["telecommand",{"_index":1275,"title":{},"content":{"59":{"position":[[37,11]]},"378":{"position":[[753,13]]},"380":{"position":[[1289,13]]}},"keywords":{}}],["telemeti",{"_index":2623,"title":{},"content":{"278":{"position":[[106,8]]},"280":{"position":[[106,8]]},"281":{"position":[[276,8]]},"282":{"position":[[106,8]]},"283":{"position":[[123,8]]},"284":{"position":[[123,8]]},"659":{"position":[[713,8]]}},"keywords":{}}],["telemetri",{"_index":208,"title":{"16":{"position":[[0,10]]},"92":{"position":[[8,10]]},"270":{"position":[[0,9]]},"271":{"position":[[0,9]]},"276":{"position":[[0,10]]},"277":{"position":[[0,9]]},"346":{"position":[[12,9]]},"351":{"position":[[0,9]]},"352":{"position":[[0,9]]},"500":{"position":[[0,9]]},"508":{"position":[[12,9]]},"510":{"position":[[12,9]]},"515":{"position":[[0,9]]},"518":{"position":[[0,9]]},"520":{"position":[[0,9]]},"562":{"position":[[35,9]]},"563":{"position":[[34,9]]},"575":{"position":[[0,9]]},"608":{"position":[[0,9]]},"659":{"position":[[0,9]]},"696":{"position":[[9,10]]},"779":{"position":[[28,9]]}},"content":{"6":{"position":[[270,9]]},"7":{"position":[[138,9],[814,9]]},"8":{"position":[[152,9],[309,9]]},"9":{"position":[[166,9],[332,9],[515,9],[664,9]]},"14":{"position":[[18,9],[84,9],[119,10],[276,9],[339,9]]},"15":{"position":[[138,9],[229,9],[302,9],[335,9],[546,9]]},"16":{"position":[[19,9],[89,9],[142,9],[233,9],[413,9],[548,9]]},"18":{"position":[[16,9],[112,9],[227,9]]},"48":{"position":[[574,9]]},"50":{"position":[[1042,11]]},"54":{"position":[[1383,9],[1413,9]]},"56":{"position":[[668,9],[822,9]]},"60":{"position":[[37,9],[66,9]]},"61":{"position":[[1481,9],[1994,9]]},"64":{"position":[[574,9],[875,9]]},"65":{"position":[[80,9]]},"66":{"position":[[93,9]]},"74":{"position":[[737,9],[768,10]]},"87":{"position":[[24,9]]},"92":{"position":[[39,10],[151,9],[222,9],[305,9],[389,9],[678,9],[969,9],[1039,9],[1089,9]]},"96":{"position":[[243,9]]},"100":{"position":[[236,9],[469,9],[1006,9]]},"104":{"position":[[84,10],[432,9]]},"105":{"position":[[370,9]]},"106":{"position":[[56,9],[312,9]]},"107":{"position":[[82,10],[337,9]]},"108":{"position":[[294,9]]},"109":{"position":[[185,11],[339,9],[416,9],[1931,9],[2387,9],[2434,9],[2497,9]]},"110":{"position":[[205,11],[391,9],[819,10]]},"117":{"position":[[204,9]]},"119":{"position":[[315,9]]},"120":{"position":[[235,9]]},"121":{"position":[[25,9],[165,9]]},"122":{"position":[[111,10]]},"132":{"position":[[55,9],[114,9],[304,9],[503,9]]},"149":{"position":[[46,9],[222,9]]},"159":{"position":[[26,9]]},"160":{"position":[[1,9]]},"161":{"position":[[1,9]]},"162":{"position":[[22,9],[115,9]]},"163":{"position":[[1,9]]},"164":{"position":[[1,9]]},"165":{"position":[[24,9],[119,9]]},"166":{"position":[[33,9],[137,9]]},"167":{"position":[[31,9],[133,9]]},"168":{"position":[[30,9],[131,9]]},"169":{"position":[[30,9],[131,9]]},"170":{"position":[[30,9],[131,9]]},"203":{"position":[[69,9]]},"213":{"position":[[854,10],[866,9]]},"214":{"position":[[1489,10],[1529,9],[1655,9]]},"215":{"position":[[540,10],[580,9],[712,9]]},"216":{"position":[[225,9],[254,10],[266,9]]},"217":{"position":[[599,9],[656,9],[1173,9],[2191,10],[2240,9],[2448,9]]},"218":{"position":[[1267,10],[1307,9],[1433,9]]},"219":{"position":[[1086,10],[1130,9],[1208,9],[1261,9]]},"220":{"position":[[1350,10],[1389,9],[1511,9],[1630,10]]},"221":{"position":[[298,10]]},"245":{"position":[[40,9],[141,9],[199,9]]},"246":{"position":[[40,9],[147,9],[211,9]]},"247":{"position":[[35,9],[133,9],[188,9],[239,9]]},"248":{"position":[[35,9],[135,9],[192,9]]},"271":{"position":[[1,9],[39,9],[154,9],[229,9],[362,9],[439,10],[628,9],[831,9]]},"274":{"position":[[51,9],[166,9],[325,9]]},"275":{"position":[[38,9],[499,9],[555,9],[647,9],[1767,9]]},"276":{"position":[[15,9],[94,9],[156,9],[226,9],[479,9],[554,9]]},"277":{"position":[[38,9]]},"278":{"position":[[11,9],[41,9],[191,9],[394,9],[705,9],[813,9]]},"279":{"position":[[2151,9],[2970,9],[3335,9],[4637,9],[4706,9],[5325,9],[5399,9],[6448,9],[6522,9],[6832,9],[7926,9],[8005,9],[8142,9],[8357,9],[8608,9],[8747,9],[8938,9],[9056,9],[9215,9],[9373,9],[9712,9],[10099,9]]},"280":{"position":[[11,9],[41,9],[186,9],[497,9],[605,9]]},"281":{"position":[[11,9],[41,9],[361,9],[517,9],[714,9],[807,9],[852,9],[907,9]]},"282":{"position":[[11,9],[41,9],[186,9],[383,9],[476,9],[521,9],[576,9]]},"283":{"position":[[11,9],[41,9],[208,9]]},"284":{"position":[[11,9],[41,9]]},"285":{"position":[[21,9],[199,9]]},"286":{"position":[[35,9]]},"287":{"position":[[33,9]]},"289":{"position":[[9,9],[80,9]]},"290":{"position":[[12,9],[102,9],[161,9],[246,9]]},"292":{"position":[[56,9]]},"293":{"position":[[54,9]]},"296":{"position":[[21,9],[123,9],[179,9],[343,9],[408,9]]},"297":{"position":[[64,9]]},"298":{"position":[[20,9],[331,9]]},"299":{"position":[[39,9]]},"302":{"position":[[711,9],[845,9],[1253,9],[1325,10],[1876,9],[2072,9],[2133,9],[2241,9],[2331,9],[2421,9]]},"304":{"position":[[516,9],[874,9],[904,9]]},"305":{"position":[[552,9],[953,9],[1121,9]]},"306":{"position":[[85,9]]},"320":{"position":[[1765,9]]},"321":{"position":[[1580,9]]},"338":{"position":[[82,9]]},"339":{"position":[[296,9]]},"342":{"position":[[202,9],[294,9],[394,9],[540,9],[932,9],[1138,9]]},"343":{"position":[[1386,9],[1581,9]]},"344":{"position":[[432,9],[489,9],[678,9],[782,9],[1048,9]]},"345":{"position":[[563,9],[585,9],[664,9],[689,9]]},"346":{"position":[[17,9],[171,9],[275,9],[436,9],[534,9],[639,9],[817,9],[864,9],[931,9],[966,9],[1008,9],[1096,9],[1136,9],[1234,9],[1389,9],[1531,9],[1570,9],[1663,9],[1704,9]]},"347":{"position":[[29,9],[98,9],[254,9],[311,9],[372,9],[408,9],[560,9],[627,9]]},"349":{"position":[[4390,9]]},"350":{"position":[[75,9],[230,9],[297,9],[431,9],[482,9],[605,9],[638,9],[775,9],[808,9],[906,9],[1435,9]]},"351":{"position":[[1,9],[45,9],[155,9],[239,9],[308,9],[352,9],[378,9],[393,9],[446,9],[489,9],[532,9],[582,9]]},"352":{"position":[[1,9],[40,9],[140,9],[187,9],[259,9],[312,10],[368,9],[426,10],[498,9],[587,9],[628,9],[699,9],[796,9],[893,9],[994,9],[1090,9]]},"353":{"position":[[202,9],[238,9],[303,9],[392,9],[520,9]]},"354":{"position":[[45,9],[283,9],[394,9],[496,9]]},"358":{"position":[[597,9],[1140,10],[4735,9],[5091,9],[5893,9],[5969,9],[6061,9],[6128,9],[6226,10],[8191,9]]},"359":{"position":[[2744,9]]},"368":{"position":[[404,9]]},"373":{"position":[[96,10],[269,9]]},"378":{"position":[[678,9]]},"379":{"position":[[988,9],[1037,10],[1102,9],[2740,9],[3083,9]]},"380":{"position":[[1219,9],[1845,10]]},"395":{"position":[[48,9],[137,9],[276,9]]},"402":{"position":[[211,9]]},"407":{"position":[[149,9]]},"421":{"position":[[260,9]]},"452":{"position":[[157,9],[319,9]]},"457":{"position":[[42,9]]},"464":{"position":[[320,9]]},"470":{"position":[[71,9]]},"472":{"position":[[658,9]]},"476":{"position":[[37,9]]},"482":{"position":[[302,9],[555,9]]},"487":{"position":[[25,9]]},"492":{"position":[[123,9]]},"501":{"position":[[1,9],[28,9]]},"505":{"position":[[369,9]]},"507":{"position":[[35,9],[108,9]]},"509":{"position":[[17,9],[304,9],[393,9]]},"511":{"position":[[17,9],[132,9]]},"515":{"position":[[5,9],[54,10],[171,9],[230,9],[321,9],[428,9]]},"517":{"position":[[67,9]]},"519":{"position":[[1,9],[73,9]]},"522":{"position":[[181,9],[1018,9]]},"529":{"position":[[102,9]]},"530":{"position":[[509,9],[557,9]]},"540":{"position":[[4637,10]]},"544":{"position":[[622,9]]},"547":{"position":[[403,9]]},"548":{"position":[[254,9]]},"556":{"position":[[641,9]]},"562":{"position":[[131,9],[295,9]]},"563":{"position":[[66,9],[184,9],[268,9],[484,9]]},"564":{"position":[[21,9],[302,9],[734,9]]},"565":{"position":[[247,9]]},"568":{"position":[[190,9],[325,9],[610,9]]},"574":{"position":[[67,9],[386,9],[494,9]]},"575":{"position":[[1,9],[62,9],[184,9]]},"576":{"position":[[8,9],[303,9]]},"577":{"position":[[10,9],[82,9],[260,9],[353,9]]},"592":{"position":[[106,9]]},"603":{"position":[[132,10]]},"604":{"position":[[65,9],[111,9]]},"608":{"position":[[3,9],[41,9],[110,9],[171,9]]},"611":{"position":[[126,9],[577,9]]},"613":{"position":[[224,9]]},"615":{"position":[[307,9]]},"618":{"position":[[262,9],[401,9]]},"619":{"position":[[45,9]]},"625":{"position":[[231,9],[370,9]]},"626":{"position":[[28,9],[742,9]]},"627":{"position":[[62,9],[795,9]]},"628":{"position":[[767,9]]},"630":{"position":[[228,9]]},"631":{"position":[[241,9],[380,9]]},"632":{"position":[[84,9],[550,9],[762,9]]},"633":{"position":[[72,9]]},"635":{"position":[[23,9]]},"637":{"position":[[945,9],[1225,9]]},"645":{"position":[[56,9]]},"648":{"position":[[27,9]]},"650":{"position":[[53,9],[151,10]]},"652":{"position":[[128,9]]},"658":{"position":[[995,9],[1164,9]]},"659":{"position":[[36,9],[130,9],[164,9],[201,9],[246,9],[303,9],[376,9],[441,9],[458,9],[570,9],[636,9],[670,10],[759,9],[782,9],[865,9],[954,9],[986,9],[1026,9],[1108,9],[1143,9],[1194,9],[1278,9],[1333,10]]},"661":{"position":[[189,9]]},"662":{"position":[[175,9],[231,9],[302,9],[435,9],[490,9],[526,9],[613,9],[673,9],[761,9],[818,9],[893,9],[963,9],[1042,9],[1101,9],[1291,9],[1372,9],[1438,9],[1489,9],[1562,9],[1642,9],[1701,9],[1791,9],[1885,9],[1944,9],[2016,9],[2074,9],[2124,9],[2189,9],[2275,9],[2347,9],[2419,9],[2497,9],[2555,9],[2608,9],[2669,9],[2725,9],[2801,9],[3446,9],[3557,9],[4024,9],[4078,9],[4132,9],[4207,9],[4276,9],[4330,9],[4391,9],[4444,9],[4497,9],[4550,9],[4614,9],[4676,9],[4765,9],[4897,9],[4961,9],[5029,9]]},"696":{"position":[[47,9]]},"697":{"position":[[30,9],[65,9],[197,9],[518,9],[558,9],[582,9],[620,9],[683,9],[737,9]]},"698":{"position":[[20,9],[460,9],[500,9],[524,9],[562,9],[615,9]]},"701":{"position":[[31,9],[308,9],[348,9],[372,9],[410,9]]},"703":{"position":[[53,9]]},"704":{"position":[[68,9],[105,9]]},"709":{"position":[[41,9],[323,9],[461,9]]},"710":{"position":[[8,9],[48,9],[289,9]]},"712":{"position":[[66,9]]},"713":{"position":[[60,9]]},"715":{"position":[[101,9]]},"716":{"position":[[43,9]]},"718":{"position":[[29,9]]},"719":{"position":[[40,9]]},"720":{"position":[[25,9]]},"721":{"position":[[62,9]]},"722":{"position":[[89,9],[884,9],[924,9],[948,9],[986,9],[1049,9]]},"723":{"position":[[74,9],[616,9],[656,9],[680,9],[718,9],[771,9]]},"726":{"position":[[102,9],[499,9],[539,9],[563,9],[601,9],[664,9]]},"727":{"position":[[74,9],[515,9],[555,9],[579,9],[617,9],[670,9]]},"730":{"position":[[34,9]]},"731":{"position":[[93,9],[376,9],[416,9],[440,9],[478,9]]},"732":{"position":[[45,9],[231,9],[271,9],[295,9],[333,9]]},"733":{"position":[[46,9],[233,9],[273,9],[297,9],[335,9]]},"734":{"position":[[39,9]]},"735":{"position":[[40,9]]},"740":{"position":[[54,9],[228,9],[267,9],[291,9],[328,9]]},"741":{"position":[[50,9],[598,9],[638,9],[662,9],[700,9]]},"756":{"position":[[273,9]]},"757":{"position":[[59,9],[485,9]]},"779":{"position":[[62,9]]},"780":{"position":[[9,9],[255,9]]},"781":{"position":[[16,9],[172,9]]},"783":{"position":[[21,9],[185,9]]},"784":{"position":[[49,9]]},"785":{"position":[[63,9],[225,9]]},"786":{"position":[[97,9],[320,9]]},"787":{"position":[[115,9]]},"799":{"position":[[160,9]]}},"keywords":{}}],["telemetry"",{"_index":2274,"title":{},"content":{"214":{"position":[[1709,15]]},"215":{"position":[[766,15]]},"218":{"position":[[1487,15]]},"220":{"position":[[1562,15]]},"379":{"position":[[337,15],[2787,15]]},"404":{"position":[[1455,15]]}},"keywords":{}}],["telemetry)"",{"_index":2699,"title":{},"content":{"299":{"position":[[259,16]]}},"keywords":{}}],["telemetry_graph",{"_index":5802,"title":{},"content":{"812":{"position":[[298,21]]}},"keywords":{}}],["tell",{"_index":2740,"title":{},"content":{"301":{"position":[[399,5]]},"342":{"position":[[342,7]]},"358":{"position":[[6366,4],[8157,5]]},"574":{"position":[[380,5]]}},"keywords":{}}],["telmetri",{"_index":5305,"title":{},"content":{"712":{"position":[[32,8]]},"713":{"position":[[26,8]]}},"keywords":{}}],["temp",{"_index":1737,"title":{},"content":{"91":{"position":[[1811,4]]},"473":{"position":[[285,4]]},"542":{"position":[[304,4],[552,4],[748,4]]},"552":{"position":[[2249,4],[2353,4],[2376,4],[2392,4],[2511,4]]},"559":{"position":[[587,4],[604,4],[622,4],[637,4],[884,4],[901,4],[919,4],[935,4]]},"560":{"position":[[607,4],[665,4],[804,4],[863,4]]},"562":{"position":[[318,5],[344,4],[451,4],[558,4]]},"813":{"position":[[297,8],[400,8]]}},"keywords":{}}],["temp#{temp_numb",{"_index":4545,"title":{},"content":{"564":{"position":[[455,18]]}},"keywords":{}}],["temp"",{"_index":4531,"title":{},"content":{"562":{"position":[[420,11],[527,11],[644,11]]}},"keywords":{}}],["temp1",{"_index":2595,"title":{},"content":{"274":{"position":[[395,6]]},"285":{"position":[[431,5]]},"288":{"position":[[472,5],[540,5]]},"296":{"position":[[505,5]]},"298":{"position":[[448,5]]},"320":{"position":[[1734,5]]},"566":{"position":[[785,5],[838,5]]},"591":{"position":[[808,5],[915,5]]},"611":{"position":[[909,5]]},"615":{"position":[[599,5]]},"617":{"position":[[484,5],[545,5]]},"618":{"position":[[857,5],[924,5]]},"620":{"position":[[473,5],[525,5]]},"621":{"position":[[474,5],[529,5]]},"622":{"position":[[470,5],[525,5]]},"623":{"position":[[442,5],[495,5]]},"624":{"position":[[447,5],[503,5]]},"625":{"position":[[821,5],[883,5]]},"626":{"position":[[574,5]]},"627":{"position":[[608,5]]},"628":{"position":[[597,5]]},"631":{"position":[[732,5],[786,5]]},"632":{"position":[[614,5]]},"633":{"position":[[360,5]]},"635":{"position":[[672,5],[716,5]]},"648":{"position":[[637,5]]},"699":{"position":[[1156,7]]},"712":{"position":[[604,5],[640,5],[803,5],[839,5]]},"714":{"position":[[296,5],[1317,5],[1437,8],[1551,8],[1671,8],[1793,8]]},"724":{"position":[[1040,7]]},"728":{"position":[[893,7]]},"740":{"position":[[404,8],[725,8]]},"741":{"position":[[2016,8]]},"743":{"position":[[495,10]]},"786":{"position":[[591,5],[863,5]]},"787":{"position":[[1053,5],[1336,5]]}},"keywords":{}}],["temp1"",{"_index":1488,"title":{},"content":{"81":{"position":[[386,13]]},"82":{"position":[[6139,13]]},"92":{"position":[[1250,13]]},"93":{"position":[[790,13]]},"566":{"position":[[580,12],[822,12]]},"698":{"position":[[862,12],[1029,12]]},"713":{"position":[[423,12],[497,12],[610,12],[684,12]]},"731":{"position":[[561,12],[664,12]]},"732":{"position":[[413,12]]},"733":{"position":[[416,12]]}},"keywords":{}}],["temp1high",{"_index":2675,"title":{},"content":{"288":{"position":[[439,9],[507,9]]}},"keywords":{}}],["temp2",{"_index":2596,"title":{},"content":{"274":{"position":[[402,6]]},"298":{"position":[[491,5]]},"473":{"position":[[452,5],[482,5]]},"632":{"position":[[651,5]]},"648":{"position":[[691,5]]},"712":{"position":[[693,5],[892,5]]}},"keywords":{}}],["temp3",{"_index":2597,"title":{},"content":{"274":{"position":[[409,6]]},"298":{"position":[[534,5]]},"632":{"position":[[826,5]]}},"keywords":{}}],["temp4",{"_index":2672,"title":{},"content":{"286":{"position":[[488,5]]},"632":{"position":[[863,5]]}},"keywords":{}}],["temp4"",{"_index":2598,"title":{},"content":{"274":{"position":[[416,11]]}},"keywords":{}}],["temp[1",{"_index":3427,"title":{},"content":{"369":{"position":[[587,6]]}},"keywords":{}}],["temp_averag",{"_index":2593,"title":{},"content":{"274":{"position":[[353,12]]}},"keywords":{}}],["temp_numb",{"_index":4542,"title":{},"content":{"564":{"position":[[353,12],[531,13]]}},"keywords":{}}],["temp_tlm",{"_index":4403,"title":{},"content":{"544":{"position":[[1383,9],[1550,11],[1662,9],[1831,10]]}},"keywords":{}}],["temperatur",{"_index":4433,"title":{},"content":{"547":{"position":[[816,11],[883,11]]},"559":{"position":[[672,11],[970,11]]}},"keywords":{}}],["temperature"",{"_index":4517,"title":{},"content":{"560":{"position":[[641,18],[838,18]]}},"keywords":{}}],["temperature_numb",{"_index":4430,"title":{},"content":{"547":{"position":[[620,20],[702,18]]}},"keywords":{}}],["tempfile.namedtemporaryfile(mode="w+t"",{"_index":5008,"title":{},"content":{"670":{"position":[[913,49]]}},"keywords":{}}],["tempfile.new('test",{"_index":5002,"title":{},"content":{"670":{"position":[[584,20]]}},"keywords":{}}],["templat",{"_index":193,"title":{"61":{"position":[[0,8]]},"219":{"position":[[0,8]]},"243":{"position":[[0,9]]},"292":{"position":[[0,9]]}},"content":{"6":{"position":[[40,10]]},"11":{"position":[[269,11]]},"50":{"position":[[95,8]]},"61":{"position":[[192,8],[645,8],[763,8],[1171,8]]},"64":{"position":[[731,8],[956,8]]},"104":{"position":[[1427,8],[2378,8]]},"105":{"position":[[1401,8],[2237,8]]},"111":{"position":[[1689,8]]},"214":{"position":[[1078,8]]},"218":{"position":[[331,8],[526,8]]},"219":{"position":[[5,8],[232,8],[294,8],[322,8],[456,8],[579,8],[646,8],[869,8],[1108,8],[1172,8],[1193,8],[1508,8]]},"220":{"position":[[242,8],[429,8],[1601,8],[1670,8]]},"243":{"position":[[27,8],[126,8],[293,8]]},"244":{"position":[[27,8],[124,8],[321,8]]},"257":{"position":[[43,8]]},"292":{"position":[[27,8],[139,8]]},"293":{"position":[[27,8],[168,8]]},"307":{"position":[[793,8]]},"331":{"position":[[39,8]]},"367":{"position":[[535,11]]},"369":{"position":[[385,11]]},"746":{"position":[[148,12]]}},"keywords":{}}],["template_fil",{"_index":2238,"title":{"244":{"position":[[0,14]]},"293":{"position":[[0,14]]}},"content":{"214":{"position":[[289,13],[489,13]]}},"keywords":{}}],["templateaccessor",{"_index":1293,"title":{},"content":{"61":{"position":[[132,16]]},"64":{"position":[[714,16],[939,16]]},"219":{"position":[[562,16],[777,16],[1338,16]]},"221":{"position":[[37,16]]}},"keywords":{}}],["templated_int",{"_index":5513,"title":{},"content":{"751":{"position":[[183,16]]}},"keywords":{}}],["temporari",{"_index":3907,"title":{},"content":{"402":{"position":[[4793,9]]},"770":{"position":[[39,9]]}},"keywords":{}}],["temporarili",{"_index":3126,"title":{},"content":{"347":{"position":[[581,11]]},"473":{"position":[[1190,11]]}},"keywords":{}}],["temp{temp_numb",{"_index":4548,"title":{},"content":{"564":{"position":[[634,17]]}},"keywords":{}}],["ten",{"_index":458,"title":{},"content":{"20":{"position":[[1119,3]]},"392":{"position":[[28,4]]}},"keywords":{}}],["term",{"_index":823,"title":{"98":{"position":[[5,4]]}},"content":{"36":{"position":[[9038,4]]},"98":{"position":[[10,4]]},"229":{"position":[[9038,4]]},"268":{"position":[[148,4]]},"279":{"position":[[7161,4]]},"321":{"position":[[285,6]]},"339":{"position":[[349,4]]},"342":{"position":[[32,5],[106,6],[114,4]]},"389":{"position":[[435,6],[760,5],[1802,6]]},"390":{"position":[[99,6]]},"391":{"position":[[106,5],[205,5]]},"401":{"position":[[63,4]]},"430":{"position":[[557,5]]}},"keywords":{}}],["termin",{"_index":1136,"title":{"56":{"position":[[0,10]]}},"content":{"50":{"position":[[118,10]]},"56":{"position":[[5,10],[50,11],[144,11],[392,10],[481,11],[601,11],[739,11],[778,11]]},"57":{"position":[[606,11],[690,11],[782,11]]},"61":{"position":[[230,10],[432,10],[1294,11],[1414,11],[1911,11],[1950,11]]},"93":{"position":[[623,8]]},"104":{"position":[[1292,10],[2225,10]]},"105":{"position":[[1287,10],[2105,10]]},"111":{"position":[[1567,10]]},"309":{"position":[[2673,8]]},"313":{"position":[[306,8]]},"349":{"position":[[4578,8]]},"404":{"position":[[1871,8]]}},"keywords":{}}],["terminatedprotocol",{"_index":1248,"title":{},"content":{"57":{"position":[[107,18],[316,18],[473,18],[1008,18]]}},"keywords":{}}],["terminolog",{"_index":3095,"title":{"342":{"position":[[0,12]]}},"content":{},"keywords":{}}],["terraform",{"_index":2539,"title":{},"content":{"261":{"position":[[410,9]]}},"keywords":{}}],["test",{"_index":11,"title":{"80":{"position":[[0,7]]},"206":{"position":[[0,7]]},"209":{"position":[[11,8]]},"210":{"position":[[10,6]]},"211":{"position":[[12,6]]},"385":{"position":[[0,4]]}},"content":{"1":{"position":[[125,4]]},"24":{"position":[[523,7]]},"36":{"position":[[999,4],[1032,4]]},"83":{"position":[[79,7],[441,4]]},"109":{"position":[[2048,6],[2125,6],[2186,4],[2230,4],[2261,6],[2361,6],[2449,6],[2512,4],[2556,4],[2587,6],[2697,4]]},"110":{"position":[[2428,4]]},"209":{"position":[[135,5],[185,6],[267,4],[386,5]]},"218":{"position":[[245,5]]},"220":{"position":[[157,5]]},"229":{"position":[[999,4],[1032,4]]},"279":{"position":[[994,4],[1027,4],[8425,8]]},"309":{"position":[[554,6]]},"342":{"position":[[822,4]]},"344":{"position":[[22,4]]},"345":{"position":[[22,4]]},"346":{"position":[[133,4]]},"347":{"position":[[200,4]]},"348":{"position":[[382,4]]},"349":{"position":[[710,5],[747,4],[1261,4],[1318,4],[1396,4],[1449,4],[2283,4],[5023,4],[5058,4],[5136,4],[5171,4],[5249,4],[5283,4],[5349,4],[5411,4],[5439,4],[5515,4],[5577,4],[5605,4],[5705,5],[5850,4],[6008,4],[6165,4],[6281,5],[6297,4],[6323,7],[6427,4],[6452,4],[6605,7],[6637,4],[6849,4]]},"350":{"position":[[168,4]]},"351":{"position":[[287,4]]},"352":{"position":[[119,4]]},"353":{"position":[[134,4]]},"354":{"position":[[213,4]]},"355":{"position":[[118,4]]},"356":{"position":[[125,4]]},"363":{"position":[[310,7]]},"369":{"position":[[296,7]]},"371":{"position":[[24,6]]},"382":{"position":[[660,4],[768,7]]},"385":{"position":[[12,4],[204,5]]},"386":{"position":[[267,6]]},"390":{"position":[[434,5],[1326,5]]},"404":{"position":[[228,7]]},"528":{"position":[[47,4]]},"533":{"position":[[54,4],[119,6]]},"538":{"position":[[174,8]]},"546":{"position":[[303,4],[848,5],[1112,5]]},"550":{"position":[[403,4],[514,4],[639,4],[751,4]]},"556":{"position":[[59,7],[334,7]]},"560":{"position":[[168,6]]},"568":{"position":[[283,4]]},"571":{"position":[[165,4]]},"658":{"position":[[112,4]]},"678":{"position":[[175,4]]},"679":{"position":[[157,7]]},"680":{"position":[[183,7]]},"682":{"position":[[198,4]]},"683":{"position":[[180,7]]},"684":{"position":[[206,7]]},"710":{"position":[[225,7]]},"776":{"position":[[81,4]]},"777":{"position":[[40,4],[97,4],[287,4]]},"778":{"position":[[73,4]]},"779":{"position":[[94,4]]},"795":{"position":[[1156,4],[1240,4],[1286,4],[1331,4],[1703,4],[1780,4],[1834,4],[1887,4]]}},"keywords":{}}],["test"",{"_index":4614,"title":{},"content":{"583":{"position":[[223,10],[273,10]]},"584":{"position":[[227,10],[301,10]]},"585":{"position":[[223,10],[279,10],[353,10]]},"586":{"position":[[225,10],[281,10],[356,10]]},"587":{"position":[[393,10],[448,10]]},"588":{"position":[[387,10],[442,10]]},"670":{"position":[[565,11],[635,11],[894,11],[993,11]]}},"keywords":{}}],["test';"",{"_index":4778,"title":{},"content":{"637":{"position":[[2250,13]]}},"keywords":{}}],["test("'"${script_path#scripts/}"",{"_index":1681,"title":{},"content":{"83":{"position":[[3689,48]]}},"keywords":{}}],["test.mosquitto.org",{"_index":1891,"title":{},"content":{"109":{"position":[[1349,18],[1547,18]]},"110":{"position":[[1690,18],[1912,18]]}},"keywords":{}}],["test_",{"_index":5706,"title":{},"content":{"795":{"position":[[160,8],[481,8]]}},"keywords":{}}],["test_1",{"_index":4587,"title":{},"content":{"572":{"position":[[625,6]]}},"keywords":{}}],["test_1_heater_zone_control",{"_index":4450,"title":{},"content":{"550":{"position":[[317,26],[548,29]]}},"keywords":{}}],["test_minimum_temp(enable_cmd_nam",{"_index":4401,"title":{},"content":{"544":{"position":[[1336,34],[1615,34]]}},"keywords":{}}],["testrunn",{"_index":5644,"title":{},"content":{"778":{"position":[[135,11],[279,11]]}},"keywords":{}}],["tests/procedur",{"_index":3151,"title":{},"content":{"349":{"position":[[779,16]]}},"keywords":{}}],["testsuit",{"_index":1636,"title":{},"content":{"83":{"position":[[2155,12]]}},"keywords":{}}],["text",{"_index":59,"title":{},"content":{"2":{"position":[[535,4]]},"6":{"position":[[128,4]]},"25":{"position":[[63,4]]},"26":{"position":[[218,4]]},"61":{"position":[[276,4],[537,6]]},"91":{"position":[[1243,5]]},"216":{"position":[[620,4]]},"217":{"position":[[2741,4]]},"218":{"position":[[134,4]]},"225":{"position":[[1189,4]]},"339":{"position":[[66,4],[286,5]]},"342":{"position":[[884,4],[1175,4]]},"343":{"position":[[626,4],[1443,4]]},"349":{"position":[[105,4],[1369,4],[2852,4]]},"358":{"position":[[6152,4],[7463,4]]},"379":{"position":[[218,4]]},"389":{"position":[[271,4]]},"461":{"position":[[488,4]]},"467":{"position":[[475,4],[780,4]]},"472":{"position":[[1319,4]]},"478":{"position":[[550,4]]},"481":{"position":[[25,4],[125,4]]},"501":{"position":[[120,4]]},"502":{"position":[[487,4]]},"521":{"position":[[506,4]]},"559":{"position":[[274,4]]},"561":{"position":[[171,4],[263,4],[374,4],[679,4]]},"565":{"position":[[300,4]]},"574":{"position":[[102,5]]},"581":{"position":[[817,4]]},"588":{"position":[[32,4]]},"591":{"position":[[863,4],[971,4]]},"595":{"position":[[208,4]]},"597":{"position":[[166,4]]},"601":{"position":[[94,4],[99,4]]},"604":{"position":[[10,4],[171,4]]},"606":{"position":[[83,4]]},"615":{"position":[[282,4]]},"632":{"position":[[325,4],[377,4]]},"634":{"position":[[36,4]]},"637":{"position":[[1615,4],[1620,4]]},"638":{"position":[[157,4],[162,4]]},"639":{"position":[[30,4],[174,4],[181,4],[236,4],[243,4]]},"640":{"position":[[161,4]]},"642":{"position":[[29,4],[255,4]]},"643":{"position":[[53,4],[113,4],[159,4],[172,4],[191,4]]},"644":{"position":[[161,4]]},"647":{"position":[[7,4],[113,4],[191,4],[215,4],[220,4],[281,4],[326,4]]},"648":{"position":[[11,4],[259,4],[337,4],[388,4],[433,4]]},"668":{"position":[[149,4],[271,4],[361,4],[443,4],[547,4],[552,4]]},"785":{"position":[[39,4]]}},"keywords":{}}],["text_log",{"_index":3087,"title":{"339":{"position":[[0,10]]}},"content":{"339":{"position":[[5,9]]}},"keywords":{}}],["textbox",{"_index":4747,"title":{"634":{"position":[[0,8]]}},"content":{"634":{"position":[[186,7],[243,7],[296,7]]}},"keywords":{}}],["textcolor",{"_index":4607,"title":{"588":{"position":[[0,10]]}},"content":{"580":{"position":[[357,9]]},"581":{"position":[[902,9]]},"588":{"position":[[5,9],[406,9],[461,9]]},"591":{"position":[[827,9],[934,9]]}},"keywords":{}}],["textfield",{"_index":4635,"title":{"643":{"position":[[0,10]]}},"content":{"592":{"position":[[674,9]]},"643":{"position":[[266,9]]},"654":{"position":[[449,9]]}},"keywords":{}}],["textual",{"_index":3206,"title":{},"content":{"350":{"position":[[1349,7]]},"354":{"position":[[26,7],[477,7]]}},"keywords":{}}],["tg",{"_index":3216,"title":{},"content":{"352":{"position":[[254,2],[363,2],[493,2],[582,2],[694,2],[791,2],[888,2],[989,2],[1084,2]]}},"keywords":{}}],["tgt__pkt__item__typ",{"_index":5255,"title":{},"content":{"704":{"position":[[411,24]]}},"keywords":{}}],["thank",{"_index":3813,"title":{},"content":{"392":{"position":[[732,5]]},"543":{"position":[[270,5]]}},"keywords":{}}],["the_great_conversion.pi",{"_index":776,"title":{},"content":{"36":{"position":[[5768,23],[5808,24]]},"229":{"position":[[5768,23],[5808,24]]},"279":{"position":[[4248,23],[4288,24]]}},"keywords":{}}],["the_great_conversion.rb",{"_index":762,"title":{},"content":{"36":{"position":[[5220,25],[5433,23],[5473,24]]},"229":{"position":[[5220,25],[5433,23],[5473,24]]},"279":{"position":[[3701,25],[3913,23],[3953,24]]}},"keywords":{}}],["thecf",{"_index":3615,"title":{},"content":{"378":{"position":[[1405,6]]}},"keywords":{}}],["thedest_ip",{"_index":3649,"title":{},"content":{"379":{"position":[[1143,10]]}},"keywords":{}}],["thegreatconvers",{"_index":763,"title":{},"content":{"36":{"position":[[5268,20],[5558,18]]},"229":{"position":[[5268,20],[5558,18]]},"279":{"position":[[3749,20],[4038,18]]}},"keywords":{}}],["thegreatconversion(convers",{"_index":778,"title":{},"content":{"36":{"position":[[5892,31]]},"229":{"position":[[5892,31]]},"279":{"position":[[4372,31]]}},"keywords":{}}],["themselv",{"_index":1995,"title":{},"content":{"119":{"position":[[237,11]]},"268":{"position":[[124,10]]},"302":{"position":[[624,10]]},"303":{"position":[[728,10]]}},"keywords":{}}],["therefor",{"_index":1073,"title":{},"content":{"48":{"position":[[347,9]]},"100":{"position":[[379,9]]},"225":{"position":[[307,9]]},"271":{"position":[[335,9]]},"540":{"position":[[1196,9]]},"552":{"position":[[1454,10]]}},"keywords":{}}],["thermal",{"_index":2642,"title":{},"content":{"279":{"position":[[8410,7]]},"546":{"position":[[833,7]]}},"keywords":{}}],["thin",{"_index":4643,"title":{},"content":{"595":{"position":[[56,4]]},"597":{"position":[[58,4]]}},"keywords":{}}],["thing",{"_index":110,"title":{"544":{"position":[[5,6]]},"567":{"position":[[5,6]]}},"content":{"3":{"position":[[431,6]]},"67":{"position":[[2530,7]]},"83":{"position":[[1326,5]]},"109":{"position":[[68,6]]},"110":{"position":[[78,6]]},"119":{"position":[[102,6]]},"343":{"position":[[887,6]]},"358":{"position":[[8353,6]]},"387":{"position":[[1154,6]]},"389":{"position":[[214,5]]},"543":{"position":[[83,6]]},"552":{"position":[[194,6]]},"566":{"position":[[102,6]]},"637":{"position":[[466,6]]},"658":{"position":[[248,6]]}},"keywords":{}}],["think",{"_index":3725,"title":{},"content":{"386":{"position":[[594,5]]}},"keywords":{}}],["third",{"_index":1729,"title":{},"content":{"91":{"position":[[1065,5]]},"92":{"position":[[847,5]]},"358":{"position":[[3949,5]]},"424":{"position":[[62,5]]},"434":{"position":[[157,5],[229,5],[683,5]]},"658":{"position":[[783,5]]}},"keywords":{}}],["this.enddatetim",{"_index":3887,"title":{},"content":{"402":{"position":[[2765,17],[3772,17]]}},"keywords":{}}],["this.startdatetim",{"_index":3885,"title":{},"content":{"402":{"position":[[2735,19],[3742,19]]}},"keywords":{}}],["this.subscription.perform("add"",{"_index":3881,"title":{},"content":{"402":{"position":[[2604,42],[3607,42]]}},"keywords":{}}],["those",{"_index":1385,"title":{},"content":{"67":{"position":[[2211,5]]},"213":{"position":[[139,5]]},"350":{"position":[[1229,5]]},"383":{"position":[[536,5],[1798,5]]},"424":{"position":[[638,5]]},"431":{"position":[[855,5]]},"496":{"position":[[204,5]]},"535":{"position":[[1403,5]]},"795":{"position":[[447,5]]},"806":{"position":[[120,5]]}},"keywords":{}}],["though",{"_index":2908,"title":{},"content":{"309":{"position":[[4033,6]]},"572":{"position":[[322,7]]}},"keywords":{}}],["thousand",{"_index":4248,"title":{},"content":{"514":{"position":[[155,9]]},"515":{"position":[[158,9]]}},"keywords":{}}],["thread",{"_index":4132,"title":{},"content":{"450":{"position":[[292,7]]},"455":{"position":[[107,6],[177,7],[207,6],[225,6],[262,6],[432,6],[580,6],[982,6],[1483,6]]}},"keywords":{}}],["three",{"_index":1386,"title":{},"content":{"67":{"position":[[2524,5]]},"91":{"position":[[917,5]]},"92":{"position":[[708,5]]},"351":{"position":[[576,5]]},"358":{"position":[[5821,5]]},"440":{"position":[[20,5]]},"496":{"position":[[5,5]]},"568":{"position":[[11,5]]},"637":{"position":[[1341,5]]},"658":{"position":[[397,5]]},"722":{"position":[[138,5]]}},"keywords":{}}],["through",{"_index":69,"title":{},"content":{"2":{"position":[[675,7]]},"67":{"position":[[3006,7],[3191,7],[3391,7],[4301,7],[4691,7]]},"343":{"position":[[766,7],[1329,7]]},"349":{"position":[[2892,7],[4790,7]]},"393":{"position":[[688,7]]},"402":{"position":[[269,7]]},"434":{"position":[[78,7]]},"473":{"position":[[1181,8]]},"501":{"position":[[105,7]]},"509":{"position":[[333,7]]},"536":{"position":[[283,7]]},"554":{"position":[[1115,7]]},"556":{"position":[[707,7]]},"564":{"position":[[708,7]]},"582":{"position":[[212,7]]},"659":{"position":[[482,7],[806,7]]},"806":{"position":[[48,7]]}},"keywords":{}}],["throughout",{"_index":82,"title":{},"content":{"3":{"position":[[1,10]]},"416":{"position":[[49,10]]}},"keywords":{}}],["throw",{"_index":835,"title":{},"content":{"36":{"position":[[9716,6]]},"229":{"position":[[9716,6]]}},"keywords":{}}],["thrown",{"_index":1242,"title":{},"content":{"56":{"position":[[423,6]]}},"keywords":{}}],["thu",{"_index":754,"title":{},"content":{"36":{"position":[[4697,4],[8694,4]]},"51":{"position":[[189,4],[518,4]]},"53":{"position":[[240,4]]},"67":{"position":[[413,4]]},"109":{"position":[[2022,4]]},"117":{"position":[[531,4]]},"138":{"position":[[130,4]]},"229":{"position":[[4697,4],[8694,4]]},"236":{"position":[[186,4]]},"268":{"position":[[410,4]]},"286":{"position":[[172,4]]},"339":{"position":[[230,4]]},"367":{"position":[[780,4]]},"383":{"position":[[75,4]]},"440":{"position":[[805,4]]},"568":{"position":[[431,5]]},"592":{"position":[[293,4]]},"699":{"position":[[398,4]]}},"keywords":{}}],["thumb",{"_index":3390,"title":{},"content":{"367":{"position":[[353,5]]},"368":{"position":[[558,5]]}},"keywords":{}}],["ticket",{"_index":1816,"title":{},"content":{"98":{"position":[[44,7]]},"401":{"position":[[399,6]]}},"keywords":{}}],["tidbit",{"_index":104,"title":{},"content":{"3":{"position":[[353,7]]}},"keywords":{}}],["tight",{"_index":4563,"title":{},"content":{"568":{"position":[[680,6]]}},"keywords":{}}],["tighter",{"_index":2640,"title":{},"content":{"279":{"position":[[8329,7]]}},"keywords":{}}],["till",{"_index":1309,"title":{},"content":{"61":{"position":[[1710,4]]}},"keywords":{}}],["time",{"_index":224,"title":{"275":{"position":[[9,4],[25,5]]},"446":{"position":[[10,5]]},"644":{"position":[[0,5]]}},"content":{"6":{"position":[[631,4]]},"42":{"position":[[791,4]]},"48":{"position":[[927,4],[973,4],[1002,4],[1429,4],[1621,4],[2879,5],[3012,4],[3148,4],[3314,5],[3438,4]]},"53":{"position":[[231,4]]},"61":{"position":[[2599,6]]},"64":{"position":[[185,6]]},"71":{"position":[[72,4]]},"72":{"position":[[75,4]]},"73":{"position":[[1667,4]]},"74":{"position":[[763,4]]},"100":{"position":[[231,4]]},"106":{"position":[[601,4]]},"109":{"position":[[808,4]]},"110":{"position":[[1142,4]]},"125":{"position":[[176,4]]},"138":{"position":[[362,4],[377,4],[591,4],[690,5],[787,4],[924,4]]},"153":{"position":[[40,4],[99,4]]},"156":{"position":[[47,4],[106,4]]},"160":{"position":[[42,4],[101,4]]},"163":{"position":[[49,4],[108,4]]},"174":{"position":[[166,5]]},"183":{"position":[[236,5]]},"235":{"position":[[274,6]]},"267":{"position":[[353,4]]},"275":{"position":[[201,4],[387,4],[480,4],[823,4],[917,5],[973,4],[1042,4],[1085,4],[1320,4],[1475,4],[1710,4],[1731,4]]},"279":{"position":[[8598,5]]},"285":{"position":[[274,6]]},"288":{"position":[[52,4]]},"299":{"position":[[1174,4],[1439,4],[1525,4]]},"328":{"position":[[206,5]]},"344":{"position":[[667,4],[771,4],[922,4],[985,4],[1028,4],[1094,4]]},"346":{"position":[[1735,4],[1756,5],[1767,4]]},"349":{"position":[[3028,6],[3096,4]]},"352":{"position":[[860,5]]},"354":{"position":[[422,4]]},"358":{"position":[[5073,4]]},"359":{"position":[[2092,4]]},"364":{"position":[[229,4]]},"368":{"position":[[778,4]]},"387":{"position":[[343,5]]},"393":{"position":[[482,5]]},"402":{"position":[[2184,4],[4451,4],[5481,6],[5961,4]]},"404":{"position":[[1255,4]]},"411":{"position":[[75,5]]},"416":{"position":[[163,4]]},"428":{"position":[[124,6]]},"432":{"position":[[572,5]]},"435":{"position":[[300,4]]},"445":{"position":[[101,4]]},"446":{"position":[[147,4],[181,4],[201,4]]},"447":{"position":[[33,4]]},"449":{"position":[[187,6]]},"452":{"position":[[449,4],[542,5],[572,5]]},"453":{"position":[[36,5]]},"454":{"position":[[63,5]]},"455":{"position":[[362,4],[687,5],[1057,4]]},"459":{"position":[[97,5]]},"467":{"position":[[738,5]]},"472":{"position":[[528,4],[817,5]]},"476":{"position":[[149,4]]},"481":{"position":[[59,4],[230,4],[243,4],[264,4],[324,5]]},"522":{"position":[[718,4],[772,5],[906,4],[956,5],[989,4],[1071,4]]},"523":{"position":[[278,4]]},"528":{"position":[[588,5]]},"535":{"position":[[1416,6]]},"540":{"position":[[578,4],[3863,4]]},"544":{"position":[[127,6]]},"546":{"position":[[1361,7]]},"547":{"position":[[86,5]]},"551":{"position":[[446,5]]},"552":{"position":[[1027,4]]},"563":{"position":[[796,4],[1128,4]]},"568":{"position":[[498,4]]},"569":{"position":[[384,6]]},"579":{"position":[[54,4],[78,4]]},"611":{"position":[[262,4]]},"626":{"position":[[1325,4],[1368,4],[1379,4]]},"627":{"position":[[1378,4],[1421,4],[1432,4]]},"628":{"position":[[1350,4],[1393,4],[1404,4]]},"635":{"position":[[153,4]]},"644":{"position":[[12,4],[179,4],[194,7],[251,5],[262,4],[365,4],[370,4]]},"658":{"position":[[776,5]]},"685":{"position":[[1109,7]]},"691":{"position":[[986,8]]},"694":{"position":[[13,4],[275,4],[388,4],[482,4],[561,4],[593,4],[693,4],[725,4],[835,4]]},"695":{"position":[[23,5],[407,5]]},"709":{"position":[[23,5],[432,5]]},"721":{"position":[[102,4]]},"722":{"position":[[48,4],[417,4],[484,4],[524,4],[1135,5]]},"723":{"position":[[48,4],[902,5]]},"724":{"position":[[688,5]]},"726":{"position":[[141,5],[231,4],[747,5]]},"727":{"position":[[48,4],[213,4],[798,5]]},"728":{"position":[[327,4],[613,5]]},"729":{"position":[[163,4],[543,5]]},"744":{"position":[[65,4]]},"789":{"position":[[148,4]]},"793":{"position":[[605,5],[745,5]]},"802":{"position":[[132,4]]},"803":{"position":[[220,4]]},"804":{"position":[[224,4]]}},"keywords":{}}],["time.ccsds2mdy(packet.read('ccsdsday",{"_index":2726,"title":{},"content":{"299":{"position":[[1532,39]]}},"keywords":{}}],["time[0",{"_index":2729,"title":{},"content":{"299":{"position":[[1671,8]]}},"keywords":{}}],["time[1",{"_index":2730,"title":{},"content":{"299":{"position":[[1680,8]]}},"keywords":{}}],["time[2",{"_index":2731,"title":{},"content":{"299":{"position":[[1689,8]]}},"keywords":{}}],["time[3",{"_index":2732,"title":{},"content":{"299":{"position":[[1698,8]]}},"keywords":{}}],["time[4",{"_index":2733,"title":{},"content":{"299":{"position":[[1707,8]]}},"keywords":{}}],["time[5",{"_index":2734,"title":{},"content":{"299":{"position":[[1716,8]]}},"keywords":{}}],["time[6",{"_index":2735,"title":{},"content":{"299":{"position":[[1725,8]]}},"keywords":{}}],["timeformat",{"_index":2724,"title":{},"content":{"299":{"position":[[1399,13]]}},"keywords":{}}],["timelin",{"_index":3228,"title":{"450":{"position":[[7,10]]},"455":{"position":[[0,8]]}},"content":{"355":{"position":[[173,9],[217,8],[313,8],[406,8],[489,8],[741,9],[784,8],[828,9],[847,8]]},"449":{"position":[[42,8],[96,9]]},"450":{"position":[[10,8],[67,8],[105,9],[228,9],[263,8],[315,9]]},"454":{"position":[[16,9]]},"455":{"position":[[23,9],[39,8],[73,8],[135,9],[504,9]]}},"keywords":{}}],["timeout",{"_index":1264,"title":{},"content":{"57":{"position":[[1135,8]]},"61":{"position":[[2543,7],[2774,8]]},"64":{"position":[[144,7],[435,8]]},"104":{"position":[[540,7],[609,7]]},"105":{"position":[[427,7],[496,7]]},"106":{"position":[[709,7],[782,7]]},"107":{"position":[[404,7],[510,7],[626,7]]},"111":{"position":[[619,7],[688,7]]},"112":{"position":[[557,7],[565,7]]},"113":{"position":[[226,7],[239,7]]},"314":{"position":[[685,7],[728,7]]},"330":{"position":[[931,8],[1454,7],[1505,7]]},"358":{"position":[[7851,7],[7894,7]]},"565":{"position":[[383,7]]},"568":{"position":[[131,7],[229,7],[467,7]]},"677":{"position":[[1125,7],[1180,7],[1674,8]]},"678":{"position":[[1347,7],[1402,7]]},"679":{"position":[[1368,7],[1423,7]]},"680":{"position":[[1401,7],[1456,7]]},"681":{"position":[[1201,7],[1256,7]]},"682":{"position":[[1418,7],[1473,7]]},"683":{"position":[[1439,7],[1494,7]]},"684":{"position":[[1472,7],[1527,7]]},"722":{"position":[[271,8],[1065,7],[1073,7]]},"723":{"position":[[155,8],[832,7],[840,7]]},"724":{"position":[[68,7],[89,7],[250,8],[618,7],[626,7]]},"725":{"position":[[78,7],[134,8],[590,7],[598,7]]},"726":{"position":[[157,7],[680,7],[688,7]]},"727":{"position":[[139,7],[731,7],[739,7]]},"728":{"position":[[68,7],[89,7],[546,7],[554,7]]},"729":{"position":[[78,7],[476,7],[484,7]]}},"keywords":{}}],["timeout=10",{"_index":5051,"title":{},"content":{"677":{"position":[[1925,11]]}},"keywords":{}}],["timesec",{"_index":2616,"title":{},"content":{"275":{"position":[[1334,7],[1399,7],[1489,7],[1573,7]]},"611":{"position":[[858,7]]},"614":{"position":[[442,7]]}},"keywords":{}}],["timesecond",{"_index":2716,"title":{},"content":{"299":{"position":[[1136,11]]}},"keywords":{}}],["timestamp",{"_index":1104,"title":{},"content":{"48":{"position":[[2734,9],[2775,9],[3078,9],[3209,9]]},"339":{"position":[[111,12]]},"344":{"position":[[736,12],[1069,10],[1157,11]]},"402":{"position":[[4300,10],[5524,9],[6002,9]]}},"keywords":{}}],["timeu",{"_index":2619,"title":{},"content":{"275":{"position":[[1407,6],[1581,6]]}},"keywords":{}}],["timeus"",{"_index":2617,"title":{},"content":{"275":{"position":[[1346,12],[1501,12]]}},"keywords":{}}],["tip",{"_index":99,"title":{},"content":{"3":{"position":[[235,4]]}},"keywords":{}}],["titl",{"_index":4237,"title":{"606":{"position":[[0,6]]}},"content":{"505":{"position":[[33,5]]},"506":{"position":[[70,5],[325,5],[551,5]]},"522":{"position":[[626,5]]},"524":{"position":[[69,5]]},"606":{"position":[[27,5],[121,5]]},"654":{"position":[[66,5]]},"673":{"position":[[950,5]]},"786":{"position":[[520,5],[792,5]]},"787":{"position":[[980,5],[1263,5]]}},"keywords":{}}],["tl",{"_index":388,"title":{"19":{"position":[[4,3]]}},"content":{"22":{"position":[[160,5],[498,4]]},"29":{"position":[[101,4]]},"109":{"position":[[1042,3]]},"110":{"position":[[1376,3]]},"355":{"position":[[226,2],[322,2],[415,2],[498,2],[595,2],[690,2],[793,2]]}},"keywords":{}}],["tlm",{"_index":938,"title":{"701":{"position":[[0,4]]}},"content":{"42":{"position":[[1134,3],[2149,3],[2399,3],[2493,3]]},"44":{"position":[[44,3],[644,3],[697,3],[723,3],[792,3],[818,3],[865,3],[925,3],[1065,3],[1124,3],[1191,3],[1268,3],[1311,3],[1523,3]]},"92":{"position":[[50,4],[99,3]]},"258":{"position":[[991,3]]},"271":{"position":[[1244,3]]},"299":{"position":[[282,3]]},"346":{"position":[[892,3],[1044,3],[1613,3]]},"349":{"position":[[1912,6]]},"364":{"position":[[736,3],[779,3],[878,3]]},"369":{"position":[[1245,3],[2734,3],[3588,4]]},"402":{"position":[[3100,3],[4024,3]]},"563":{"position":[[114,6]]},"566":{"position":[[701,5]]},"629":{"position":[[31,3]]},"632":{"position":[[591,3],[628,3],[803,3],[840,3]]},"658":{"position":[[1075,4]]},"662":{"position":[[4839,5]]},"712":{"position":[[733,3],[932,3]]},"756":{"position":[[798,3],[1369,3]]},"799":{"position":[[170,7]]}},"keywords":{}}],["tlm>__<target",{"_index":3889,"title":{},"content":{"402":{"position":[[2886,19],[3895,19]]}},"keywords":{}}],["tlm("#{target",{"_index":4364,"title":{},"content":{"540":{"position":[[2437,19]]}},"keywords":{}}],["tlm("<target",{"_index":5229,"title":{},"content":{"701":{"position":[[71,20],[146,20]]}},"keywords":{}}],["tlm("inst",{"_index":2460,"title":{},"content":{"251":{"position":[[1959,14]]},"542":{"position":[[466,14],[662,14]]},"562":{"position":[[397,14],[504,14],[622,14]]},"566":{"position":[[551,14],[793,14]]},"701":{"position":[[570,14],[914,14],[998,14],[1342,14]]}},"keywords":{}}],["tlm("inst"",{"_index":5231,"title":{},"content":{"701":{"position":[[623,21],[1051,21]]}},"keywords":{}}],["tlm("tgt",{"_index":2448,"title":{},"content":{"251":{"position":[[1081,13],[1182,13],[1857,13]]},"271":{"position":[[1742,13]]},"499":{"position":[[851,13]]}},"keywords":{}}],["tlm('inst",{"_index":5221,"title":{},"content":{"699":{"position":[[1132,9]]},"724":{"position":[[1016,9]]},"728":{"position":[[869,9]]}},"keywords":{}}],["tlm(f"{target",{"_index":4374,"title":{},"content":{"540":{"position":[[3347,19]]}},"keywords":{}}],["tlm.txt",{"_index":2582,"title":{},"content":{"271":{"position":[[584,7],[673,8]]}},"keywords":{}}],["tlm__inst__adc",{"_index":3904,"title":{},"content":{"402":{"position":[[4223,17]]}},"keywords":{}}],["tlm__inst__adcs__raw",{"_index":3903,"title":{},"content":{"402":{"position":[[4199,20]]}},"keywords":{}}],["tlm_buffer_depth",{"_index":2100,"title":{"159":{"position":[[0,17]]}},"content":{},"keywords":{}}],["tlm_cnt",{"_index":5292,"title":{},"content":{"709":{"position":[[366,7]]}},"keywords":{}}],["tlm_count",{"_index":5538,"title":{},"content":{"756":{"position":[[481,10],[1040,10]]}},"keywords":{}}],["tlm_count}"",{"_index":5543,"title":{},"content":{"756":{"position":[[809,18]]}},"keywords":{}}],["tlm_decom_log_cycle_s",{"_index":2105,"title":{"164":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_cycle_tim",{"_index":2104,"title":{"163":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_retain_tim",{"_index":2106,"title":{"165":{"position":[[0,26]]}},"content":{},"keywords":{}}],["tlm_format",{"_index":1749,"title":{"701":{"position":[[14,14]]}},"content":{"92":{"position":[[64,14],[243,13]]}},"keywords":{}}],["tlm_formatted("inst",{"_index":5234,"title":{},"content":{"701":{"position":[[759,24],[1187,24]]}},"keywords":{}}],["tlm_int",{"_index":2028,"title":{},"content":{"132":{"position":[[192,7],[326,7],[373,7],[525,7]]}},"keywords":{}}],["tlm_log_cycle_s",{"_index":2102,"title":{"161":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_cycle_tim",{"_index":2101,"title":{"160":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_retain_tim",{"_index":2103,"title":{"162":{"position":[[0,20]]}},"content":{},"keywords":{}}],["tlm_onli",{"_index":5560,"title":{},"content":{"757":{"position":[[231,9],[438,8]]}},"keywords":{}}],["tlm_override.txt",{"_index":2583,"title":{},"content":{"271":{"position":[[607,16]]}},"keywords":{}}],["tlm_packet"",{"_index":2673,"title":{},"content":{"287":{"position":[[419,16]]}},"keywords":{}}],["tlm_raw",{"_index":1748,"title":{"701":{"position":[[5,8]]}},"content":{"92":{"position":[[55,8],[172,7]]},"563":{"position":[[121,10]]},"701":{"position":[[894,7],[1322,7]]}},"keywords":{}}],["tlm_raw("inst",{"_index":5233,"title":{},"content":{"701":{"position":[[702,18],[1130,18]]}},"keywords":{}}],["tlm_unique_id_mod",{"_index":386,"title":{"18":{"position":[[0,19]]}},"content":{"272":{"position":[[459,18]]}},"keywords":{}}],["tlm_variabl",{"_index":4952,"title":{},"content":{"662":{"position":[[4796,12]]}},"keywords":{}}],["tlm_with_unit",{"_index":1750,"title":{"701":{"position":[[29,15]]}},"content":{"92":{"position":[[79,14],[326,14]]}},"keywords":{}}],["tlm_with_units("inst",{"_index":5235,"title":{},"content":{"701":{"position":[[822,25],[1250,25]]}},"keywords":{}}],["tlmgrapher",{"_index":3426,"title":{},"content":{"369":{"position":[[536,10]]}},"keywords":{}}],["tlmviewer",{"_index":3424,"title":{},"content":{"369":{"position":[[419,9]]}},"keywords":{}}],["tls1.2",{"_index":600,"title":{"29":{"position":[[0,6]]}},"content":{},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_128_gcm_sha256",{"_index":607,"title":{},"content":{"29":{"position":[[180,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_256_gcm_sha384",{"_index":609,"title":{},"content":{"29":{"position":[[262,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_chacha20_poly1305_sha256",{"_index":611,"title":{},"content":{"29":{"position":[[350,45]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_128_gcm_sha256",{"_index":606,"title":{},"content":{"29":{"position":[[140,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_256_gcm_sha384",{"_index":608,"title":{},"content":{"29":{"position":[[222,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_chacha20_poly1305_sha256",{"_index":610,"title":{},"content":{"29":{"position":[[304,43]]}},"keywords":{}}],["tm",{"_index":3687,"title":{},"content":{"380":{"position":[[1529,2],[1581,2]]}},"keywords":{}}],["tm/tc",{"_index":3598,"title":{"378":{"position":[[29,5]]},"379":{"position":[[9,5]]}},"content":{},"keywords":{}}],["tmp",{"_index":3040,"title":{},"content":{"331":{"position":[[621,5],[750,5]]}},"keywords":{}}],["tmtf",{"_index":1145,"title":{"60":{"position":[[6,4]]}},"content":{"50":{"position":[[382,4]]},"60":{"position":[[11,4]]}},"keywords":{}}],["to_lab_cmds.txt",{"_index":3622,"title":{},"content":{"379":{"position":[[164,15],[269,16]]}},"keywords":{}}],["to_lab_en",{"_index":3623,"title":{},"content":{"379":{"position":[[299,13]]}},"keywords":{}}],["togeth",{"_index":1313,"title":{},"content":{"62":{"position":[[222,8]]},"297":{"position":[[113,9]]},"419":{"position":[[241,8]]},"612":{"position":[[438,9],[605,8]]}},"keywords":{}}],["toggl",{"_index":4491,"title":{},"content":{"554":{"position":[[259,7]]},"556":{"position":[[181,6]]},"569":{"position":[[596,6]]}},"keywords":{}}],["tohttp://localhost:2900/tools/admin",{"_index":3670,"title":{},"content":{"380":{"position":[[115,36]]}},"keywords":{}}],["tohttp://localhost:2900/tools/cmdsender/cfs/to_lab_en",{"_index":3692,"title":{},"content":{"380":{"position":[[1886,58]]}},"keywords":{}}],["token",{"_index":1474,"title":{},"content":{"81":{"position":[[116,5]]},"82":{"position":[[95,5],[193,5],[321,6]]},"402":{"position":[[1335,6],[1342,6],[1771,5],[2676,6],[3679,6]]}},"keywords":{}}],["toler",{"_index":4567,"title":{},"content":{"568":{"position":[[875,9]]},"698":{"position":[[68,10],[631,9],[643,9]]},"723":{"position":[[129,10],[787,9],[799,9]]},"727":{"position":[[123,10],[686,9],[698,9]]}},"keywords":{}}],["tomcat",{"_index":2579,"title":{},"content":{"268":{"position":[[439,6]]}},"keywords":{}}],["tool",{"_index":79,"title":{"42":{"position":[[12,6]]},"122":{"position":[[0,5]]},"192":{"position":[[0,5]]},"193":{"position":[[0,4]]},"307":{"position":[[0,4]]},"413":{"position":[[0,6]]}},"content":{"2":{"position":[[782,6]]},"13":{"position":[[58,5]]},"14":{"position":[[55,5]]},"36":{"position":[[712,5]]},"43":{"position":[[262,4],[287,4],[980,4],[1373,5]]},"62":{"position":[[121,5]]},"83":{"position":[[238,5]]},"93":{"position":[[342,5],[508,5]]},"96":{"position":[[27,5],[181,4],[223,4]]},"109":{"position":[[1776,4]]},"110":{"position":[[2158,4]]},"117":{"position":[[380,5]]},"119":{"position":[[191,6]]},"122":{"position":[[8,5]]},"138":{"position":[[161,6]]},"192":{"position":[[10,4],[26,4],[74,5],[330,4],[387,4],[409,4],[484,4]]},"193":{"position":[[38,4]]},"194":{"position":[[24,4],[66,5],[267,6]]},"195":{"position":[[24,4],[78,4]]},"196":{"position":[[20,4],[80,5],[103,4],[201,5],[249,4],[311,4]]},"197":{"position":[[5,4],[39,4],[149,4]]},"198":{"position":[[18,4],[39,4],[179,4]]},"199":{"position":[[10,4],[42,4],[133,5],[195,4]]},"200":{"position":[[32,4],[70,4],[124,5],[219,5]]},"201":{"position":[[80,4]]},"229":{"position":[[712,5]]},"237":{"position":[[36,5]]},"240":{"position":[[101,5]]},"258":{"position":[[1414,4]]},"259":{"position":[[32,4]]},"263":{"position":[[466,5]]},"268":{"position":[[118,5],[380,5]]},"275":{"position":[[633,5]]},"279":{"position":[[707,5],[8068,5]]},"287":{"position":[[110,5]]},"290":{"position":[[49,5]]},"301":{"position":[[451,4]]},"307":{"position":[[5,4],[61,5],[136,4],[167,4],[291,5],[360,4],[503,4],[528,4],[533,5],[603,4],[696,5],[865,4],[1025,4],[1234,4],[1340,4],[1441,5],[1626,5],[1720,5],[1799,4]]},"332":{"position":[[542,5],[1066,5]]},"340":{"position":[[63,6],[108,5],[173,4],[456,4]]},"342":{"position":[[1231,4]]},"343":{"position":[[1413,4],[1485,5]]},"349":{"position":[[759,6]]},"350":{"position":[[33,4]]},"353":{"position":[[105,6]]},"355":{"position":[[14,4]]},"356":{"position":[[11,4],[156,4],[235,4],[315,4],[389,4],[500,4],[593,4],[679,4],[723,5],[765,4],[795,5],[809,5],[822,5],[847,4]]},"359":{"position":[[980,5]]},"383":{"position":[[625,4],[1053,4],[1718,4]]},"402":{"position":[[126,5]]},"406":{"position":[[55,5]]},"407":{"position":[[186,5]]},"413":{"position":[[5,5],[29,5],[66,5],[184,5],[282,4]]},"416":{"position":[[99,4]]},"440":{"position":[[69,6],[459,5],[518,5],[548,5],[694,5],[775,5]]},"522":{"position":[[199,5]]},"554":{"position":[[360,5],[899,4]]},"557":{"position":[[32,5],[141,4],[183,4]]},"560":{"position":[[1033,4]]},"602":{"position":[[15,5]]},"658":{"position":[[147,4],[202,4],[339,4]]},"660":{"position":[[121,6],[150,4],[220,6]]},"661":{"position":[[146,4]]},"662":{"position":[[158,4]]},"800":{"position":[[184,6]]},"811":{"position":[[13,5]]},"812":{"position":[[28,4]]},"813":{"position":[[56,4],[168,4]]},"814":{"position":[[19,4],[40,4],[59,4],[343,4]]},"815":{"position":[[19,4],[179,4]]},"816":{"position":[[21,4],[183,4]]}},"keywords":{}}],["tool_log",{"_index":3090,"title":{"340":{"position":[[0,10]]}},"content":{"340":{"position":[[5,9]]}},"keywords":{}}],["toolnam",{"_index":2817,"title":{},"content":{"307":{"position":[[1124,8]]}},"keywords":{}}],["tools/toolfoldernam",{"_index":2157,"title":{},"content":{"192":{"position":[[361,20]]},"194":{"position":[[188,21]]}},"keywords":{}}],["tools/widgets/bigwidget",{"_index":2963,"title":{},"content":{"320":{"position":[[1088,23]]}},"keywords":{}}],["tools/widgets/bigwidget/bigwidget.umd.min.j",{"_index":2942,"title":{},"content":{"319":{"position":[[352,45]]}},"keywords":{}}],["tools/widgets/helloworldwidget",{"_index":2959,"title":{},"content":{"320":{"position":[[937,30],[1300,30]]}},"keywords":{}}],["tools/widgets/helloworldwidget/helloworldwidget.umd.min.j",{"_index":2189,"title":{},"content":{"203":{"position":[[279,59]]},"319":{"position":[[435,59]]},"320":{"position":[[1392,59]]}},"keywords":{}}],["top",{"_index":254,"title":{},"content":{"7":{"position":[[440,3]]},"100":{"position":[[110,3]]},"127":{"position":[[121,3]]},"263":{"position":[[180,3]]},"264":{"position":[[231,3]]},"324":{"position":[[688,4]]},"367":{"position":[[578,3]]},"406":{"position":[[44,3]]},"407":{"position":[[643,3]]},"416":{"position":[[183,3]]},"440":{"position":[[8,3],[97,3]]},"473":{"position":[[45,3]]},"524":{"position":[[649,3]]},"528":{"position":[[472,3]]},"544":{"position":[[970,3]]},"560":{"position":[[1022,3]]},"658":{"position":[[191,3]]}},"keywords":{}}],["topic",{"_index":566,"title":{"183":{"position":[[0,6]]},"570":{"position":[[9,7]]}},"content":{"26":{"position":[[264,5]]},"109":{"position":[[370,6],[391,5],[1886,5],[1977,6],[2042,5],[2159,5],[2224,5],[2247,5],[2355,5],[2483,5],[2550,5],[2573,5]]},"110":{"position":[[377,5],[425,6],[670,5],[694,5],[782,5],[805,5],[2276,5]]},"183":{"position":[[19,5],[32,5],[202,5],[279,7],[335,5],[455,6],[477,5],[557,5],[592,5]]},"386":{"position":[[177,5]]},"402":{"position":[[6054,5]]}},"keywords":{}}],["tort",{"_index":3785,"title":{},"content":{"390":{"position":[[1045,4]]}},"keywords":{}}],["total",{"_index":1071,"title":{},"content":{"48":{"position":[[262,5]]},"55":{"position":[[2989,5],[3291,5]]},"83":{"position":[[527,6]]},"233":{"position":[[558,5]]},"234":{"position":[[341,5]]},"283":{"position":[[551,5]]},"284":{"position":[[343,5]]},"330":{"position":[[515,5],[652,5]]}},"keywords":{}}],["touch",{"_index":3619,"title":{},"content":{"379":{"position":[[121,5],[140,5],[158,5]]}},"keywords":{}}],["track",{"_index":3230,"title":{},"content":{"355":{"position":[[518,5],[615,5]]},"421":{"position":[[755,5]]},"473":{"position":[[1427,5]]},"551":{"position":[[262,5]]}},"keywords":{}}],["tradit",{"_index":4423,"title":{},"content":{"546":{"position":[[387,11]]}},"keywords":{}}],["traefik",{"_index":71,"title":{"21":{"position":[[20,7]]},"22":{"position":[[13,7]]}},"content":{"2":{"position":[[696,7]]},"21":{"position":[[25,7]]},"22":{"position":[[11,7]]},"23":{"position":[[8,7],[157,8],[383,7]]},"42":{"position":[[1378,7],[2737,7]]},"44":{"position":[[183,8],[204,7],[274,7],[289,7],[354,7],[369,7],[405,7],[422,7],[499,7],[520,7],[602,7]]},"96":{"position":[[56,7]]},"147":{"position":[[96,7]]},"189":{"position":[[96,7]]},"255":{"position":[[459,8]]},"258":{"position":[[1439,7]]},"309":{"position":[[3564,7]]},"310":{"position":[[671,7]]},"343":{"position":[[787,7]]},"369":{"position":[[1161,7],[2652,7]]},"404":{"position":[[2535,7]]}},"keywords":{}}],["traefik.yaml",{"_index":477,"title":{},"content":{"21":{"position":[[154,14]]}},"keywords":{}}],["traefik/cert.crt",{"_index":417,"title":{},"content":{"20":{"position":[[400,16],[1219,16]]}},"keywords":{}}],["traefik/cert.key",{"_index":419,"title":{},"content":{"20":{"position":[[436,16],[1350,16]]}},"keywords":{}}],["traefik/dockerfil",{"_index":471,"title":{},"content":{"21":{"position":[[65,18],[97,18]]}},"keywords":{}}],["traefik/traefik.yaml",{"_index":485,"title":{},"content":{"22":{"position":[[53,20],[88,20],[122,20]]}},"keywords":{}}],["traefik:${openc3_tag}"",{"_index":515,"title":{},"content":{"23":{"position":[[200,27]]}},"keywords":{}}],["traefik:2.4",{"_index":475,"title":{},"content":{"21":{"position":[[137,11]]}},"keywords":{}}],["traefik:latest",{"_index":988,"title":{},"content":{"42":{"position":[[2651,14]]}},"keywords":{}}],["traefik_config=traefik",{"_index":1041,"title":{},"content":{"44":{"position":[[457,22]]}},"keywords":{}}],["trae…"",{"_index":990,"title":{},"content":{"42":{"position":[[2687,11]]}},"keywords":{}}],["traffic",{"_index":1593,"title":{},"content":{"83":{"position":[[267,8]]}},"keywords":{}}],["transact",{"_index":1597,"title":{},"content":{"83":{"position":[[514,12],[581,11]]},"429":{"position":[[391,12]]},"431":{"position":[[869,13]]}},"keywords":{}}],["transfer",{"_index":1270,"title":{},"content":{"58":{"position":[[61,8]]},"59":{"position":[[49,8],[174,8]]},"60":{"position":[[47,8],[300,8]]},"82":{"position":[[6583,8]]},"331":{"position":[[651,8],[689,8]]}},"keywords":{}}],["transit",{"_index":1117,"title":{},"content":{"48":{"position":[[4137,10]]},"473":{"position":[[1569,12]]}},"keywords":{}}],["transmiss",{"_index":4118,"title":{},"content":{"434":{"position":[[722,13]]}},"keywords":{}}],["transmit",{"_index":1187,"title":{},"content":{"52":{"position":[[541,11]]},"102":{"position":[[71,11]]},"109":{"position":[[353,11]]},"110":{"position":[[353,11]]},"218":{"position":[[142,8]]},"429":{"position":[[563,8]]},"632":{"position":[[452,8]]},"756":{"position":[[178,8],[225,12],[702,12],[1262,12]]},"765":{"position":[[172,8],[219,12],[678,12],[1211,12]]}},"keywords":{}}],["transpar",{"_index":4021,"title":{},"content":{"424":{"position":[[465,11]]}},"keywords":{}}],["transport",{"_index":1543,"title":{},"content":{"82":{"position":[[1107,9]]}},"keywords":{}}],["trap",{"_index":1837,"title":{"113":{"position":[[5,4]]}},"content":{"103":{"position":[[352,5]]},"113":{"position":[[10,4],[77,6],[93,4]]}},"keywords":{}}],["trash",{"_index":3242,"title":{},"content":{"358":{"position":[[505,5]]},"443":{"position":[[11,5]]},"461":{"position":[[312,5],[619,5]]},"472":{"position":[[491,5],[1143,5],[1450,5]]},"478":{"position":[[374,5],[681,5]]},"483":{"position":[[105,5],[175,5]]},"502":{"position":[[311,5],[618,5]]},"505":{"position":[[288,5]]},"521":{"position":[[330,5],[637,5]]}},"keywords":{}}],["treat",{"_index":396,"title":{},"content":{"20":{"position":[[87,5]]},"36":{"position":[[10289,6]]},"109":{"position":[[1251,7]]},"110":{"position":[[1585,7]]},"229":{"position":[[10289,6]]},"383":{"position":[[36,6]]},"422":{"position":[[227,5]]},"664":{"position":[[559,5]]},"665":{"position":[[525,5]]}},"keywords":{}}],["tree",{"_index":4277,"title":{},"content":{"528":{"position":[[329,4],[706,4]]}},"keywords":{}}],["tri",{"_index":836,"title":{},"content":{"36":{"position":[[9739,3]]},"67":{"position":[[2821,6]]},"93":{"position":[[583,3]]},"105":{"position":[[216,3]]},"115":{"position":[[2349,6]]},"133":{"position":[[31,3]]},"134":{"position":[[17,3]]},"135":{"position":[[78,3],[201,6]]},"229":{"position":[[9739,3]]},"271":{"position":[[1733,3]]},"333":{"position":[[657,3],[717,3]]},"359":{"position":[[779,3]]},"455":{"position":[[1614,6]]},"530":{"position":[[465,6]]},"545":{"position":[[103,3]]},"556":{"position":[[454,6]]},"669":{"position":[[575,3]]},"787":{"position":[[738,3],[821,3]]}},"keywords":{}}],["trick",{"_index":100,"title":{},"content":{"3":{"position":[[244,6]]}},"keywords":{}}],["tricki",{"_index":4324,"title":{},"content":{"535":{"position":[[1409,6]]}},"keywords":{}}],["trigger",{"_index":3993,"title":{"421":{"position":[[0,9]]}},"content":{"419":{"position":[[53,7],[69,9],[94,8],[198,8]]},"420":{"position":[[1,8],[124,8],[233,9],[257,7]]},"421":{"position":[[1,8],[81,7],[137,7],[175,7],[204,7],[290,8],[486,7],[587,8],[628,8],[782,8]]},"422":{"position":[[20,8],[168,8],[237,7],[359,8],[386,8],[398,7],[464,7],[478,7],[519,10],[543,8],[1201,8],[1223,7]]}},"keywords":{}}],["trigger(",{"_index":4005,"title":{},"content":{"422":{"position":[[301,10]]}},"keywords":{}}],["triggergroup",{"_index":3996,"title":{"420":{"position":[[0,14]]}},"content":{},"keywords":{}}],["tripl",{"_index":4220,"title":{},"content":{"498":{"position":[[811,6]]}},"keywords":{}}],["troubl",{"_index":3302,"title":{},"content":{"359":{"position":[[2836,7]]}},"keywords":{}}],["troubleshoot",{"_index":4081,"title":{},"content":{"430":{"position":[[494,12]]}},"keywords":{}}],["true",{"_index":164,"title":{},"content":{"5":{"position":[[649,4],[809,4],[955,4]]},"11":{"position":[[355,4]]},"12":{"position":[[565,4]]},"13":{"position":[[473,4]]},"14":{"position":[[364,4]]},"15":{"position":[[498,4]]},"16":{"position":[[500,4]]},"32":{"position":[[200,4]]},"33":{"position":[[132,4],[265,4]]},"35":{"position":[[134,4],[341,4],[645,4],[743,4],[909,4],[969,4],[1136,4],[1667,4]]},"36":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6351,4],[7127,4],[7147,4],[10428,4]]},"37":{"position":[[134,4],[438,4],[536,4],[702,4],[762,4],[929,4],[1460,4]]},"38":{"position":[[157,4]]},"43":{"position":[[739,6]]},"50":{"position":[[638,5],[687,4]]},"52":{"position":[[799,4],[874,4],[951,4]]},"54":{"position":[[1426,4]]},"55":{"position":[[2417,4],[2642,4]]},"56":{"position":[[842,4]]},"57":{"position":[[1106,4],[1176,4],[1276,4]]},"59":{"position":[[192,4]]},"60":{"position":[[345,4],[848,4]]},"61":{"position":[[2014,4]]},"83":{"position":[[3311,5]]},"104":{"position":[[1195,4],[1317,4],[2110,4],[2250,4]]},"105":{"position":[[1211,4],[1312,4],[2011,4],[2130,4]]},"111":{"position":[[1483,4],[1592,4]]},"115":{"position":[[264,4]]},"126":{"position":[[775,4],[824,4]]},"128":{"position":[[656,4],[825,4]]},"130":{"position":[[116,4]]},"131":{"position":[[158,4]]},"132":{"position":[[161,4]]},"135":{"position":[[317,4]]},"139":{"position":[[513,4],[617,4]]},"140":{"position":[[595,4]]},"141":{"position":[[323,4],[445,4],[673,4]]},"142":{"position":[[128,4],[166,4]]},"143":{"position":[[441,4]]},"144":{"position":[[198,4]]},"145":{"position":[[207,4]]},"147":{"position":[[221,4]]},"149":{"position":[[446,4],[615,4]]},"150":{"position":[[83,4],[242,4]]},"152":{"position":[[154,4]]},"153":{"position":[[145,4]]},"154":{"position":[[163,4]]},"155":{"position":[[152,4]]},"156":{"position":[[152,4]]},"157":{"position":[[170,4]]},"158":{"position":[[156,4]]},"159":{"position":[[164,4]]},"160":{"position":[[147,4]]},"161":{"position":[[165,4]]},"162":{"position":[[156,4]]},"163":{"position":[[154,4]]},"164":{"position":[[172,4]]},"165":{"position":[[160,4]]},"166":{"position":[[178,4]]},"167":{"position":[[174,4]]},"168":{"position":[[172,4]]},"169":{"position":[[172,4]]},"170":{"position":[[172,4]]},"171":{"position":[[164,4]]},"173":{"position":[[136,4]]},"174":{"position":[[456,4]]},"175":{"position":[[201,4]]},"178":{"position":[[333,4],[432,4]]},"180":{"position":[[112,4],[150,4]]},"181":{"position":[[425,4]]},"182":{"position":[[199,4]]},"183":{"position":[[376,4]]},"184":{"position":[[323,4]]},"185":{"position":[[191,4]]},"186":{"position":[[322,4],[391,4]]},"188":{"position":[[283,4],[405,4],[499,4]]},"189":{"position":[[221,4]]},"192":{"position":[[382,4],[462,4]]},"194":{"position":[[274,4]]},"195":{"position":[[290,4]]},"196":{"position":[[363,4]]},"197":{"position":[[253,4]]},"198":{"position":[[189,4]]},"199":{"position":[[100,5],[210,4],[238,5],[250,4]]},"200":{"position":[[330,4]]},"202":{"position":[[97,4],[125,4]]},"203":{"position":[[386,4]]},"226":{"position":[[119,4],[279,4],[425,4]]},"228":{"position":[[153,4],[370,4],[674,4],[772,4],[938,4],[998,4],[1165,4],[1696,4]]},"229":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6351,4],[7127,4],[7147,4],[10428,4]]},"230":{"position":[[153,4],[457,4],[555,4],[721,4],[781,4],[948,4],[1479,4]]},"231":{"position":[[376,4],[540,4],[844,4],[942,4],[1108,4],[1168,4],[1309,4],[1840,4]]},"232":{"position":[[376,4],[680,4],[778,4],[944,4],[1004,4],[1145,4],[1676,4]]},"233":{"position":[[170,4],[387,4],[434,4],[538,4],[731,4]]},"234":{"position":[[170,4],[217,4],[321,4],[514,4]]},"235":{"position":[[371,4]]},"236":{"position":[[455,4]]},"240":{"position":[[292,4]]},"242":{"position":[[301,4]]},"243":{"position":[[344,4]]},"244":{"position":[[388,4]]},"245":{"position":[[167,4],[225,4]]},"246":{"position":[[179,4],[243,4]]},"247":{"position":[[148,4],[203,4],[254,4]]},"248":{"position":[[152,4],[209,4]]},"251":{"position":[[463,4],[1227,6],[1344,6],[2015,6],[2152,6]]},"252":{"position":[[374,4],[422,4]]},"276":{"position":[[130,4],[308,4],[442,4]]},"278":{"position":[[155,4],[363,4],[672,4],[775,4]]},"279":{"position":[[223,4],[390,4],[442,4],[606,4],[898,4],[1502,4],[1735,4],[2381,4],[2464,4],[2648,4],[3770,4],[4890,4],[5728,4],[5748,4],[8559,4],[8693,4],[8912,4],[9027,4],[9185,4],[9346,4],[9466,4],[10648,4]]},"280":{"position":[[155,4],[464,4],[567,4]]},"281":{"position":[[325,4],[486,4],[681,4],[775,4],[869,4]]},"282":{"position":[[155,4],[350,4],[444,4],[538,4]]},"283":{"position":[[172,4],[380,4],[427,4],[531,4],[724,4]]},"284":{"position":[[172,4],[219,4],[323,4],[516,4]]},"285":{"position":[[361,4]]},"286":{"position":[[418,4]]},"287":{"position":[[301,4]]},"288":{"position":[[150,4],[295,4]]},"291":{"position":[[301,4]]},"292":{"position":[[190,4]]},"293":{"position":[[235,4]]},"296":{"position":[[379,4],[435,4]]},"297":{"position":[[783,4]]},"298":{"position":[[268,4],[304,4],[366,4]]},"299":{"position":[[383,4]]},"304":{"position":[[1209,4]]},"305":{"position":[[1487,4]]},"358":{"position":[[3054,4],[4334,4],[5003,4]]},"359":{"position":[[1654,4]]},"362":{"position":[[358,4],[429,4],[688,4],[759,4],[1009,4],[1081,4]]},"419":{"position":[[144,4]]},"421":{"position":[[55,4]]},"422":{"position":[[48,4]]},"434":{"position":[[633,4]]},"455":{"position":[[1525,4]]},"535":{"position":[[1004,5],[1050,5]]},"577":{"position":[[309,4],[402,4],[463,4]]},"579":{"position":[[339,4]]},"580":{"position":[[209,4],[252,4]]},"581":{"position":[[642,4],[694,4],[737,4]]},"583":{"position":[[179,4]]},"584":{"position":[[183,4]]},"585":{"position":[[179,4]]},"586":{"position":[[181,4]]},"587":{"position":[[257,4]]},"588":{"position":[[251,4]]},"589":{"position":[[262,4]]},"590":{"position":[[116,4],[137,4]]},"591":{"position":[[653,4],[696,4]]},"592":{"position":[[488,4],[559,4],[630,4]]},"598":{"position":[[177,4]]},"601":{"position":[[126,4]]},"602":{"position":[[129,4]]},"604":{"position":[[200,4]]},"606":{"position":[[99,4]]},"607":{"position":[[114,4],[157,4]]},"609":{"position":[[120,4],[153,4],[182,4]]},"610":{"position":[[120,4],[153,4],[182,4]]},"611":{"position":[[453,4],[486,4],[515,4]]},"612":{"position":[[95,4],[128,4],[157,4],[1140,4],[1172,4]]},"613":{"position":[[122,4],[155,4],[184,4]]},"614":{"position":[[116,4],[149,4],[178,4]]},"615":{"position":[[124,4],[157,4],[186,4]]},"616":{"position":[[136,4],[169,4],[198,4]]},"617":{"position":[[139,4],[172,4],[201,4]]},"618":{"position":[[135,4],[168,4],[197,4],[335,4],[475,4]]},"619":{"position":[[74,4],[403,4],[436,4],[465,4],[1072,4],[1104,4]]},"620":{"position":[[132,4],[165,4],[194,4]]},"621":{"position":[[130,4],[163,4],[192,4]]},"622":{"position":[[116,4],[149,4],[178,4],[489,4]]},"623":{"position":[[105,4],[138,4],[167,4]]},"624":{"position":[[108,4],[141,4],[170,4]]},"625":{"position":[[104,4],[137,4],[166,4],[304,4],[444,4]]},"626":{"position":[[102,4],[135,4],[164,4],[829,4],[862,4],[891,4],[1419,4],[1568,4],[1709,4],[1834,4],[1959,4],[2043,4],[2072,4]]},"627":{"position":[[136,4],[169,4],[198,4],[882,4],[915,4],[944,4],[1472,4],[1621,4],[1762,4],[1887,4],[2012,4],[2096,4],[2125,4]]},"628":{"position":[[120,4],[153,4],[182,4],[854,4],[887,4],[916,4],[1444,4],[1593,4],[1734,4],[1859,4],[1984,4],[2068,4],[2097,4]]},"629":{"position":[[101,4],[134,4],[281,4],[350,4]]},"630":{"position":[[126,4],[159,4],[188,4]]},"631":{"position":[[114,4],[147,4],[176,4],[314,4],[454,4]]},"632":{"position":[[309,4]]},"633":{"position":[[148,4],[181,4],[210,4]]},"634":{"position":[[100,4],[133,4],[162,4]]},"635":{"position":[[344,4],[377,4],[406,4]]},"637":{"position":[[1456,6],[1649,4],[1720,4]]},"638":{"position":[[198,4]]},"639":{"position":[[224,4]]},"642":{"position":[[296,4]]},"646":{"position":[[252,4],[285,4]]},"647":{"position":[[132,4],[210,4],[249,4]]},"648":{"position":[[138,4],[171,4],[200,4],[278,4],[356,4]]},"649":{"position":[[167,4],[246,4],[325,4],[802,4],[838,4]]},"650":{"position":[[330,4],[363,4],[392,4],[493,4],[608,4],[687,4],[766,4],[1352,4],[1447,4],[1526,4],[1605,4],[1715,4],[1751,4]]},"651":{"position":[[128,4],[200,4],[268,4],[336,4]]},"652":{"position":[[202,4],[235,4],[264,4],[336,4],[408,4],[476,4],[544,4],[1268,4],[1297,4]]},"653":{"position":[[93,4],[131,4],[159,4],[199,4]]},"664":{"position":[[760,5],[864,5],[981,5],[1085,5]]},"665":{"position":[[740,5],[873,5],[1004,5],[1137,5]]},"669":{"position":[[824,5]]},"685":{"position":[[84,5],[303,5]]},"690":{"position":[[1436,5]]},"692":{"position":[[592,4],[730,4]]},"699":{"position":[[878,4]]},"722":{"position":[[588,4],[641,4],[1178,5],[1474,5]]},"723":{"position":[[286,4],[339,4],[945,5],[1241,5],[1445,5]]},"724":{"position":[[58,4],[371,4],[424,4],[731,5],[907,5]]},"725":{"position":[[261,4],[788,5]]},"726":{"position":[[790,5]]},"727":{"position":[[841,5]]},"728":{"position":[[58,4],[656,5]]},"729":{"position":[[760,5]]},"731":{"position":[[581,4],[684,4]]},"741":{"position":[[1890,5],[2072,5]]},"757":{"position":[[625,5]]}},"keywords":{}}],["true"",{"_index":4407,"title":{},"content":{"544":{"position":[[1456,11],[1736,11]]}},"keywords":{}}],["true'"",{"_index":4409,"title":{},"content":{"544":{"position":[[1509,13],[1789,13]]}},"keywords":{}}],["true/fals",{"_index":1411,"title":{},"content":{"69":{"position":[[196,12]]},"692":{"position":[[9,10]]},"731":{"position":[[36,10]]}},"keywords":{}}],["truli",{"_index":3395,"title":{},"content":{"367":{"position":[[809,5]]},"544":{"position":[[909,5]]}},"keywords":{}}],["truncat",{"_index":838,"title":{},"content":{"36":{"position":[[9894,10],[10409,9],[10459,8]]},"229":{"position":[[9894,10],[10409,9],[10459,8]]},"791":{"position":[[93,11],[266,10]]},"792":{"position":[[92,11]]}},"keywords":{}}],["trust",{"_index":1888,"title":{},"content":{"109":{"position":[[1262,7]]},"110":{"position":[[1596,7]]}},"keywords":{}}],["ttl",{"_index":1862,"title":{},"content":{"106":{"position":[[597,3]]},"378":{"position":[[973,3]]}},"keywords":{}}],["tupl",{"_index":1102,"title":{},"content":{"48":{"position":[[2485,7]]}},"keywords":{}}],["turn",{"_index":1387,"title":{},"content":{"67":{"position":[[2599,6],[2921,6]]},"407":{"position":[[531,5]]},"462":{"position":[[464,4]]},"530":{"position":[[386,5]]}},"keywords":{}}],["tutori",{"_index":2985,"title":{},"content":{"323":{"position":[[9,8]]},"324":{"position":[[25,8]]},"371":{"position":[[6,8]]},"383":{"position":[[1902,8]]}},"keywords":{}}],["tv",{"_index":3211,"title":{},"content":{"351":{"position":[[388,2],[484,2]]}},"keywords":{}}],["tvac",{"_index":2657,"title":{},"content":{"279":{"position":[[10325,4]]},"740":{"position":[[583,7],[900,8]]},"741":{"position":[[2061,7]]}},"keywords":{}}],["tvac'=>",{"_index":5410,"title":{},"content":{"740":{"position":[[811,12]]}},"keywords":{}}],["tweak",{"_index":4576,"title":{},"content":{"571":{"position":[[141,5]]},"582":{"position":[[90,6]]}},"keywords":{}}],["twice",{"_index":755,"title":{},"content":{"36":{"position":[[4731,6],[8728,6]]},"229":{"position":[[4731,6],[8728,6]]}},"keywords":{}}],["two",{"_index":198,"title":{},"content":{"6":{"position":[[150,3]]},"8":{"position":[[284,3]]},"9":{"position":[[17,3]]},"36":{"position":[[8065,3]]},"52":{"position":[[120,3],[314,3],[417,3]]},"69":{"position":[[648,3]]},"70":{"position":[[229,3]]},"77":{"position":[[271,3]]},"91":{"position":[[458,3],[910,3]]},"92":{"position":[[442,3]]},"95":{"position":[[176,4]]},"219":{"position":[[624,3]]},"229":{"position":[[8065,3]]},"250":{"position":[[130,3]]},"267":{"position":[[226,3]]},"279":{"position":[[6725,3]]},"358":{"position":[[4200,3]]},"367":{"position":[[463,3],[498,3]]},"369":{"position":[[532,3],[1937,3],[3427,3]]},"378":{"position":[[1211,3]]},"506":{"position":[[719,3]]},"524":{"position":[[624,3],[807,3]]},"544":{"position":[[245,3]]},"546":{"position":[[17,3]]},"552":{"position":[[1158,3]]},"562":{"position":[[241,3]]},"565":{"position":[[612,3],[692,3],[874,3],[970,3]]},"572":{"position":[[22,3]]},"587":{"position":[[187,3]]},"588":{"position":[[181,3]]},"589":{"position":[[192,3]]},"652":{"position":[[80,3]]},"657":{"position":[[175,4]]},"668":{"position":[[664,6],[745,6],[815,6],[867,5],[886,4],[979,6],[1060,6],[1130,6],[1187,6],[1208,5]]}},"keywords":{}}],["two"",{"_index":4555,"title":{},"content":{"565":{"position":[[655,10],[917,10]]}},"keywords":{}}],["tx_byte",{"_index":5535,"title":{},"content":{"756":{"position":[[450,9],[715,12],[1009,9]]},"765":{"position":[[432,9],[691,12],[950,9]]}},"keywords":{}}],["tx_q_size",{"_index":5533,"title":{},"content":{"756":{"position":[[428,10],[648,13],[987,10]]},"765":{"position":[[410,10],[624,13],[928,10]]}},"keywords":{}}],["type",{"_index":376,"title":{"48":{"position":[[6,6]]},"451":{"position":[[0,5]]},"659":{"position":[[10,6]]}},"content":{"17":{"position":[[90,4],[189,4]]},"18":{"position":[[93,4],[193,4]]},"27":{"position":[[353,4],[379,4],[880,4]]},"31":{"position":[[561,6]]},"35":{"position":[[614,4],[655,4],[665,4],[759,4],[1422,4]]},"36":{"position":[[376,5],[9692,4],[9790,5],[10073,5],[10364,6]]},"37":{"position":[[407,4],[448,4],[458,4],[552,4],[1215,4]]},"39":{"position":[[309,4]]},"47":{"position":[[118,4]]},"48":{"position":[[41,5],[215,4],[369,4],[403,5],[1169,5],[1185,5],[1484,4],[1724,4],[2357,4],[2694,5],[3976,4],[4241,4],[4885,4]]},"59":{"position":[[317,4],[333,4]]},"61":{"position":[[308,4]]},"77":{"position":[[172,4]]},"81":{"position":[[188,5],[642,5]]},"82":{"position":[[437,5],[757,5],[1173,4],[4731,5],[6383,5]]},"83":{"position":[[2447,5]]},"91":{"position":[[789,4],[1475,4],[1821,4]]},"92":{"position":[[584,4],[904,4]]},"104":{"position":[[201,4],[716,4]]},"105":{"position":[[603,4]]},"110":{"position":[[899,4]]},"111":{"position":[[795,4]]},"174":{"position":[[185,5],[362,5]]},"175":{"position":[[194,6]]},"213":{"position":[[659,4]]},"217":{"position":[[2059,4],[2184,4]]},"225":{"position":[[862,6],[1127,4]]},"228":{"position":[[643,4],[684,4],[694,4],[788,4],[1451,4]]},"229":{"position":[[376,5],[9692,4],[9790,5],[10073,5],[10364,6]]},"230":{"position":[[426,4],[467,4],[477,4],[571,4],[1234,4]]},"231":{"position":[[813,4],[854,4],[864,4],[958,4],[1595,4]]},"232":{"position":[[649,4],[690,4],[700,4],[794,4],[1431,4]]},"233":{"position":[[449,4],[459,4]]},"234":{"position":[[232,4],[242,4]]},"250":{"position":[[134,5]]},"271":{"position":[[886,6],[1126,4],[1413,5],[1544,4],[1710,4]]},"272":{"position":[[403,4]]},"274":{"position":[[276,5],[481,4]]},"278":{"position":[[641,4],[682,4],[692,4]]},"279":{"position":[[371,5],[7352,4],[7357,4]]},"280":{"position":[[433,4],[474,4],[484,4]]},"281":{"position":[[691,4],[701,4]]},"282":{"position":[[360,4],[370,4]]},"283":{"position":[[442,4],[452,4]]},"284":{"position":[[234,4],[244,4]]},"299":{"position":[[242,4]]},"304":{"position":[[993,4]]},"305":{"position":[[1210,4]]},"321":{"position":[[449,5]]},"350":{"position":[[1478,5],[1586,5]]},"353":{"position":[[495,4],[611,5]]},"354":{"position":[[172,4]]},"358":{"position":[[2822,4],[4617,6],[4824,4]]},"359":{"position":[[1420,4]]},"362":{"position":[[184,5],[261,5],[286,5],[520,5],[591,5],[616,5],[850,5],[912,5],[937,5],[1172,5]]},"365":{"position":[[263,5]]},"379":{"position":[[365,4],[2815,4]]},"398":{"position":[[67,5]]},"402":{"position":[[3161,4],[3285,6],[3300,4],[4079,4],[4156,4]]},"455":{"position":[[1452,4]]},"467":{"position":[[314,4]]},"468":{"position":[[140,4]]},"481":{"position":[[193,4],[312,4]]},"484":{"position":[[234,4]]},"491":{"position":[[190,4]]},"528":{"position":[[486,6]]},"536":{"position":[[110,4],[215,6]]},"540":{"position":[[2520,4],[3430,4]]},"542":{"position":[[291,4],[357,4],[539,4],[735,4]]},"554":{"position":[[506,4],[1022,4]]},"564":{"position":[[404,4],[583,4]]},"580":{"position":[[54,4]]},"581":{"position":[[57,4]]},"592":{"position":[[500,4],[523,5],[625,4]]},"608":{"position":[[147,4]]},"609":{"position":[[432,4],[441,4]]},"610":{"position":[[619,4],[628,4]]},"611":{"position":[[604,4],[613,4]]},"612":{"position":[[168,4],[177,4]]},"613":{"position":[[416,4],[425,4]]},"614":{"position":[[189,4],[198,4]]},"615":{"position":[[335,4],[344,4]]},"616":{"position":[[209,4],[218,4]]},"617":{"position":[[212,4],[221,4]]},"618":{"position":[[486,4],[495,4]]},"619":{"position":[[476,4],[485,4]]},"620":{"position":[[205,4],[214,4]]},"621":{"position":[[203,4],[212,4]]},"622":{"position":[[189,4],[198,4]]},"623":{"position":[[178,4],[187,4]]},"624":{"position":[[181,4],[190,4]]},"625":{"position":[[455,4],[464,4]]},"626":{"position":[[175,4],[184,4],[407,4],[416,4],[902,4],[911,4],[1134,4],[1143,4]]},"627":{"position":[[209,4],[218,4],[441,4],[450,4],[955,4],[964,4],[1187,4],[1196,4]]},"628":{"position":[[193,4],[202,4],[425,4],[434,4],[927,4],[936,4],[1159,4],[1168,4]]},"630":{"position":[[426,4],[435,4]]},"631":{"position":[[465,4],[474,4]]},"633":{"position":[[221,4],[230,4]]},"635":{"position":[[417,4],[426,4]]},"637":{"position":[[1073,4],[1798,4]]},"639":{"position":[[337,4],[436,4]]},"643":{"position":[[418,4]]},"648":{"position":[[450,4],[459,4]]},"650":{"position":[[403,4],[412,4]]},"652":{"position":[[609,4],[618,4]]},"654":{"position":[[539,4]]},"659":{"position":[[140,4],[705,4],[1303,4]]},"662":{"position":[[4854,4],[5106,5],[5179,5],[5260,5],[5353,5]]},"664":{"position":[[121,5]]},"673":{"position":[[1104,6],[1165,6]]},"677":{"position":[[1119,5],[1335,4],[1767,4]]},"678":{"position":[[1341,5],[1572,4],[1798,4]]},"679":{"position":[[1362,5]]},"680":{"position":[[1395,5],[1621,4],[1839,4]]},"681":{"position":[[1195,5],[1415,4],[1597,4]]},"682":{"position":[[1412,5],[1647,4],[1859,4]]},"683":{"position":[[1433,5]]},"684":{"position":[[1466,5],[1696,4],[1898,4]]},"685":{"position":[[468,4],[1027,4]]},"690":{"position":[[671,4],[1221,7],[1310,4]]},"692":{"position":[[544,7],[685,8]]},"693":{"position":[[377,4],[539,4],[550,4]]},"697":{"position":[[75,5],[1065,4],[1134,5],[1422,4]]},"698":{"position":[[676,4],[889,5]]},"701":{"position":[[426,4],[462,5],[959,5]]},"703":{"position":[[490,4],[526,5],[709,5]]},"704":{"position":[[184,4],[209,4]]},"710":{"position":[[578,4],[589,4],[742,4],[878,5],[943,5],[1029,4]]},"711":{"position":[[441,4],[446,4]]},"712":{"position":[[445,4],[450,4],[710,5]]},"713":{"position":[[262,4],[267,4],[510,5]]},"714":{"position":[[111,5],[170,5]]},"722":{"position":[[810,5],[1282,4],[1318,5],[1658,5]]},"723":{"position":[[538,5],[1049,4],[1085,5],[1426,5]]},"726":{"position":[[432,5],[894,4],[930,5],[1176,5]]},"727":{"position":[[448,5],[945,4],[981,5],[1255,5]]}},"keywords":{}}],["type>",{"_index":3894,"title":{},"content":{"402":{"position":[[2988,9],[3956,9]]}},"keywords":{}}],["type>__<reduc",{"_index":3893,"title":{},"content":{"402":{"position":[[2966,21]]}},"keywords":{}}],["type"",{"_index":2224,"title":{},"content":{"213":{"position":[[699,10]]},"253":{"position":[[276,10],[1154,10],[1924,10]]},"690":{"position":[[451,11],[1178,11]]}},"keywords":{}}],["type='format",{"_index":5250,"title":{},"content":{"703":{"position":[[826,17]]}},"keywords":{}}],["type='raw",{"_index":5206,"title":{},"content":{"697":{"position":[[1491,11]]},"698":{"position":[[1056,11]]},"701":{"position":[[1387,11]]},"710":{"position":[[1164,11],[1229,11]]},"712":{"position":[[909,11]]},"713":{"position":[[697,11]]},"722":{"position":[[1868,11]]},"723":{"position":[[1633,11]]},"726":{"position":[[1353,11]]},"727":{"position":[[1460,11]]}},"keywords":{}}],["type=text/html",{"_index":2320,"title":{},"content":{"217":{"position":[[2032,14]]}},"keywords":{}}],["type_nam",{"_index":3329,"title":{},"content":{"362":{"position":[[434,9],[764,9],[1086,9]]}},"keywords":{}}],["typed.vari",{"_index":4331,"title":{},"content":{"540":{"position":[[649,14]]}},"keywords":{}}],["typescontain",{"_index":3860,"title":{},"content":{"401":{"position":[[293,14]]}},"keywords":{}}],["typic",{"_index":614,"title":{},"content":{"31":{"position":[[174,9]]},"38":{"position":[[39,9]]},"48":{"position":[[4823,9]]},"67":{"position":[[2280,9],[3731,9],[3790,9]]},"73":{"position":[[560,9]]},"74":{"position":[[586,9]]},"75":{"position":[[602,9]]},"76":{"position":[[599,9]]},"77":{"position":[[94,7],[776,9]]},"109":{"position":[[23,9]]},"110":{"position":[[33,9]]},"120":{"position":[[79,9]]},"136":{"position":[[152,9]]},"148":{"position":[[130,9]]},"177":{"position":[[130,9]]},"191":{"position":[[130,9]]},"213":{"position":[[590,9],[962,9]]},"215":{"position":[[22,9]]},"216":{"position":[[22,9],[170,9],[330,9]]},"217":{"position":[[18,9],[1457,9],[2512,9]]},"220":{"position":[[21,9]]},"235":{"position":[[128,9]]},"252":{"position":[[49,9]]},"273":{"position":[[194,9]]},"274":{"position":[[132,9],[645,9]]},"285":{"position":[[127,9]]},"296":{"position":[[51,9]]},"298":{"position":[[97,9]]},"302":{"position":[[545,9]]},"303":{"position":[[637,9]]},"314":{"position":[[845,9]]},"332":{"position":[[753,9]]},"349":{"position":[[2882,9]]},"393":{"position":[[877,9]]},"402":{"position":[[1736,9]]},"546":{"position":[[789,9]]},"572":{"position":[[284,9]]},"642":{"position":[[176,7]]},"799":{"position":[[178,9]]},"806":{"position":[[29,9]]}},"keywords":{}}],["typo",{"_index":3689,"title":{},"content":{"380":{"position":[[1594,4],[1618,5],[1756,4]]},"426":{"position":[[924,4]]},"658":{"position":[[1143,5]]}},"keywords":{}}],["typograpi",{"_index":2564,"title":{},"content":{"265":{"position":[[243,10]]}},"keywords":{}}],["ubuntu",{"_index":3423,"title":{},"content":{"369":{"position":[[217,6],[795,6],[907,6],[1093,6],[1118,6],[2281,6],[2584,6],[2609,6]]}},"keywords":{}}],["ubuntu:22.10",{"_index":3570,"title":{},"content":{"376":{"position":[[6,12],[597,12]]}},"keywords":{}}],["udp",{"_index":1836,"title":{"106":{"position":[[0,3]]}},"content":{"103":{"position":[[71,4]]},"106":{"position":[[5,3],[24,3]]},"113":{"position":[[283,3]]},"120":{"position":[[135,3]]},"342":{"position":[[615,4]]},"343":{"position":[[1157,4]]},"378":{"position":[[623,4]]}},"keywords":{}}],["udp_interfac",{"_index":2020,"title":{},"content":{"128":{"position":[[793,14]]},"149":{"position":[[583,14]]}},"keywords":{}}],["udp_interface.rb",{"_index":1866,"title":{},"content":{"106":{"position":[[916,16]]},"378":{"position":[[1060,16]]}},"keywords":{}}],["ui",{"_index":2547,"title":{},"content":{"263":{"position":[[431,2]]},"365":{"position":[[317,3],[347,4]]}},"keywords":{}}],["uint",{"_index":214,"title":{},"content":{"6":{"position":[[396,4],[840,4],[895,4],[950,4],[1005,4],[1060,4]]},"7":{"position":[[299,4],[707,4],[912,4],[984,4]]},"31":{"position":[[573,5]]},"35":{"position":[[707,5],[772,5]]},"36":{"position":[[3530,4],[9228,4],[9417,4]]},"37":{"position":[[500,5],[565,5]]},"40":{"position":[[227,4],[335,4],[454,4],[561,4],[679,4],[816,4],[908,4],[967,4],[1112,4],[1247,4],[1455,4]]},"213":{"position":[[670,4],[806,4],[1049,4],[1111,4]]},"214":{"position":[[624,4],[718,4],[1016,4],[1835,4],[1905,4],[1988,4],[2227,4]]},"215":{"position":[[470,4],[892,4]]},"218":{"position":[[826,4],[920,4],[1218,4],[1613,4],[1683,4],[1766,4],[2005,4]]},"219":{"position":[[1046,4]]},"220":{"position":[[877,4],[1002,4],[2104,4],[2205,4],[2288,4]]},"225":{"position":[[874,5]]},"228":{"position":[[736,5],[801,5],[1969,4]]},"229":{"position":[[3530,4],[9228,4],[9417,4]]},"230":{"position":[[519,5],[584,5],[1757,4]]},"231":{"position":[[906,5],[971,5],[2119,4]]},"232":{"position":[[742,5],[807,5],[1959,4]]},"233":{"position":[[502,5]]},"234":{"position":[[285,5]]},"253":{"position":[[148,4],[231,4],[310,4],[404,4],[497,4],[584,4],[675,4],[877,4],[1026,4],[1109,4],[1188,4],[1282,4],[1375,4],[1462,4],[1553,4],[1632,4],[1796,4],[1879,4],[1958,4],[2052,4],[2145,4],[2232,4],[2323,4],[2450,4]]},"271":{"position":[[898,5]]},"278":{"position":[[739,5],[1081,4]]},"279":{"position":[[2596,4],[7404,5],[7527,4],[7694,4]]},"280":{"position":[[531,5],[876,4]]},"281":{"position":[[748,5],[1178,4]]},"282":{"position":[[417,5],[850,4]]},"283":{"position":[[495,5]]},"284":{"position":[[287,5]]},"299":{"position":[[132,4],[218,4],[318,4],[413,4],[487,4],[604,4],[672,4],[734,4],[819,4],[893,4],[1057,4]]},"304":{"position":[[1164,4]]},"305":{"position":[[1442,4]]},"321":{"position":[[778,4],[1179,4],[1222,4],[1264,4]]},"358":{"position":[[2999,4],[4011,6],[4076,4],[4139,4],[4958,4]]},"359":{"position":[[1599,4]]},"379":{"position":[[440,4],[550,4],[654,4],[739,4],[791,4],[1284,4],[1406,4],[1514,4],[1619,4],[1671,4],[1816,4],[1938,4],[2046,4],[2124,4],[2176,4],[2316,4],[2438,4],[2546,4],[2624,4],[2676,4],[2863,4],[2954,4],[3043,4],[3133,4],[3192,4],[3291,4],[3348,4],[3409,4],[3483,4]]},"690":{"position":[[1276,7]]}},"keywords":{}}],["umd",{"_index":2960,"title":{},"content":{"320":{"position":[[978,3],[1122,3],[1273,3]]}},"keywords":{}}],["unaffect",{"_index":2609,"title":{},"content":{"275":{"position":[[764,11]]},"431":{"position":[[908,10]]}},"keywords":{}}],["unambigu",{"_index":1167,"title":{},"content":{"51":{"position":[[132,11]]}},"keywords":{}}],["unauthent",{"_index":1875,"title":{},"content":{"108":{"position":[[57,15]]}},"keywords":{}}],["unauthor",{"_index":1694,"title":{},"content":{"85":{"position":[[180,12]]},"424":{"position":[[152,12]]},"429":{"position":[[190,12]]},"434":{"position":[[582,12]]}},"keywords":{}}],["unauthoris",{"_index":4039,"title":{},"content":{"424":{"position":[[1861,12]]}},"keywords":{}}],["unavail",{"_index":4825,"title":{},"content":{"650":{"position":[[1088,11]]},"652":{"position":[[1048,11]]}},"keywords":{}}],["uncheck",{"_index":889,"title":{},"content":{"40":{"position":[[1297,9]]},"497":{"position":[[463,7]]},"535":{"position":[[228,10],[519,10]]},"654":{"position":[[937,9]]}},"keywords":{}}],["unclear",{"_index":4413,"title":{},"content":{"545":{"position":[[41,7]]}},"keywords":{}}],["uncom",{"_index":2900,"title":{},"content":{"309":{"position":[[3424,9]]},"310":{"position":[[455,9]]}},"keywords":{}}],["unconvert",{"_index":2632,"title":{},"content":{"279":{"position":[[3434,11],[4805,11],[5498,11],[6621,11]]}},"keywords":{}}],["undefin",{"_index":4290,"title":{},"content":{"531":{"position":[[358,9],[711,9]]}},"keywords":{}}],["under",{"_index":339,"title":{},"content":{"12":{"position":[[384,5]]},"326":{"position":[[1171,5]]},"338":{"position":[[705,5]]},"373":{"position":[[165,5]]},"380":{"position":[[1304,5],[2040,5]]},"389":{"position":[[745,5],[1786,5],[2181,5]]},"390":{"position":[[68,5]]},"391":{"position":[[88,5],[321,5]]},"393":{"position":[[1246,5]]},"424":{"position":[[349,5]]},"435":{"position":[[154,5]]},"511":{"position":[[47,5]]},"513":{"position":[[437,5]]},"557":{"position":[[155,5]]},"568":{"position":[[277,5]]},"582":{"position":[[542,5]]},"605":{"position":[[139,5]]},"813":{"position":[[40,5]]}},"keywords":{}}],["underli",{"_index":3987,"title":{},"content":{"414":{"position":[[56,10]]},"545":{"position":[[202,10]]}},"keywords":{}}],["underopenc3",{"_index":3616,"title":{},"content":{"378":{"position":[[1454,11]]}},"keywords":{}}],["underscor",{"_index":257,"title":{},"content":{"7":{"position":[[492,10]]},"36":{"position":[[5185,11]]},"229":{"position":[[5185,11]]},"244":{"position":[[376,11]]},"251":{"position":[[364,11]]},"279":{"position":[[3666,11]]},"293":{"position":[[223,11]]},"402":{"position":[[2843,12],[3852,12]]},"540":{"position":[[1335,11],[1449,11],[1629,11],[4182,12]]}},"keywords":{}}],["understand",{"_index":107,"title":{},"content":{"3":{"position":[[384,10]]},"20":{"position":[[825,10]]},"67":{"position":[[1543,10],[1589,10]]},"342":{"position":[[60,11]]},"362":{"position":[[121,13]]},"449":{"position":[[78,10]]},"538":{"position":[[267,11]]},"540":{"position":[[1179,10]]},"543":{"position":[[146,10]]}},"keywords":{}}],["undo",{"_index":3159,"title":{},"content":{"349":{"position":[[1620,5]]}},"keywords":{}}],["unedit",{"_index":853,"title":{},"content":{"36":{"position":[[10717,11],[10806,10]]},"40":{"position":[[1052,10],[1187,10],[1325,10]]}},"keywords":{}}],["unencrypt",{"_index":565,"title":{},"content":{"26":{"position":[[200,11]]},"108":{"position":[[44,12]]}},"keywords":{}}],["unexpect",{"_index":1312,"title":{},"content":{"61":{"position":[[2786,10]]},"64":{"position":[[402,10]]},"115":{"position":[[2597,10]]}},"keywords":{}}],["unfinish",{"_index":4007,"title":{},"content":{"422":{"position":[[973,10]]}},"keywords":{}}],["unidentifi",{"_index":3270,"title":{},"content":{"358":{"position":[[5392,12]]}},"keywords":{}}],["unifi",{"_index":3313,"title":{},"content":{"362":{"position":[[58,5]]}},"keywords":{}}],["unimpl",{"_index":4860,"title":{},"content":{"662":{"position":[[95,13],[1246,13],[3751,13],[4782,13]]}},"keywords":{}}],["uninstal",{"_index":3235,"title":{},"content":{"356":{"position":[[334,12],[355,9]]},"358":{"position":[[374,9]]},"407":{"position":[[420,11]]}},"keywords":{}}],["uninstru",{"_index":4480,"title":{"552":{"position":[[16,14]]}},"content":{"552":{"position":[[384,14],[1179,14],[2548,14],[2681,14]]}},"keywords":{}}],["union",{"_index":4088,"title":{},"content":{"431":{"position":[[47,5]]}},"keywords":{}}],["uniqu",{"_index":167,"title":{},"content":{"5":{"position":[[726,6]]},"33":{"position":[[340,8]]},"35":{"position":[[109,6]]},"37":{"position":[[109,6]]},"48":{"position":[[1142,6],[1293,8],[2680,6]]},"141":{"position":[[665,7]]},"147":{"position":[[170,6]]},"189":{"position":[[170,6]]},"226":{"position":[[196,6]]},"228":{"position":[[126,6]]},"230":{"position":[[126,6]]},"231":{"position":[[349,6]]},"232":{"position":[[349,6]]},"233":{"position":[[143,6]]},"234":{"position":[[143,6]]},"276":{"position":[[216,6]]},"278":{"position":[[129,6]]},"279":{"position":[[8515,6]]},"280":{"position":[[129,6]]},"281":{"position":[[299,6],[827,8]]},"282":{"position":[[129,6],[496,8]]},"283":{"position":[[146,6]]},"284":{"position":[[146,6]]},"307":{"position":[[1141,6]]},"351":{"position":[[125,6],[252,6]]},"358":{"position":[[6265,6]]},"450":{"position":[[92,6]]},"504":{"position":[[387,6]]},"546":{"position":[[21,6]]},"582":{"position":[[505,6]]},"592":{"position":[[401,6],[469,6],[586,6]]},"716":{"position":[[82,6]]},"717":{"position":[[191,6]]},"779":{"position":[[55,6]]}},"keywords":{}}],["unit",{"_index":432,"title":{"210":{"position":[[5,4]]},"211":{"position":[[7,4]]}},"content":{"20":{"position":[[642,4]]},"36":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"55":{"position":[[1493,5]]},"58":{"position":[[70,5]]},"64":{"position":[[1101,5],[1213,5]]},"92":{"position":[[414,5]]},"214":{"position":[[676,5],[1951,5]]},"215":{"position":[[522,5]]},"218":{"position":[[878,5],[1729,5]]},"219":{"position":[[1005,5]]},"220":{"position":[[960,5],[2251,5]]},"229":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"235":{"position":[[453,5],[459,5]]},"252":{"position":[[504,5],[510,5]]},"258":{"position":[[45,4]]},"261":{"position":[[226,5]]},"279":{"position":[[279,6],[301,5],[365,5],[428,6],[464,5],[480,5]]},"349":{"position":[[705,4]]},"350":{"position":[[1531,6]]},"379":{"position":[[3151,5],[3210,5]]},"583":{"position":[[43,5],[70,6],[173,5]]},"584":{"position":[[45,5],[72,6],[177,5]]},"585":{"position":[[45,5],[72,6],[173,5]]},"586":{"position":[[47,5],[74,6],[175,5]]},"659":{"position":[[1081,5],[1102,5],[1181,5],[1254,5]]}},"keywords":{}}],["unitsdisplay",{"_index":4202,"title":{},"content":{"490":{"position":[[77,12]]}},"keywords":{}}],["unix",{"_index":1107,"title":{},"content":{"48":{"position":[[2809,4],[3243,4]]},"111":{"position":[[126,4]]},"275":{"position":[[897,4],[1037,4],[1190,4]]},"402":{"position":[[4336,4]]}},"keywords":{}}],["unix_time_conversion.rb",{"_index":2618,"title":{},"content":{"275":{"position":[[1375,23]]}},"keywords":{}}],["unknown",{"_index":1212,"title":{},"content":{"54":{"position":[[1530,7],[1581,7]]},"281":{"position":[[212,7]]},"380":{"position":[[2188,7]]}},"keywords":{}}],["unlaw",{"_index":4040,"title":{},"content":{"424":{"position":[[1877,8]]}},"keywords":{}}],["unlawfulli",{"_index":4116,"title":{},"content":{"434":{"position":[[701,10]]}},"keywords":{}}],["unless",{"_index":1155,"title":{},"content":{"50":{"position":[[692,6]]},"194":{"position":[[240,6]]},"195":{"position":[[252,6]]},"236":{"position":[[191,6]]},"286":{"position":[[177,6]]},"294":{"position":[[113,6]]},"301":{"position":[[579,6]]},"358":{"position":[[1336,6]]},"359":{"position":[[831,6]]},"390":{"position":[[1347,6]]},"441":{"position":[[214,6]]},"443":{"position":[[155,6]]},"468":{"position":[[544,6]]},"540":{"position":[[947,6]]},"712":{"position":[[164,6]]}},"keywords":{}}],["unlik",{"_index":4750,"title":{},"content":{"636":{"position":[[63,6]]}},"keywords":{}}],["unlimit",{"_index":3792,"title":{},"content":{"391":{"position":[[226,9],[518,9]]}},"keywords":{}}],["unmap_old",{"_index":5561,"title":{},"content":{"757":{"position":[[241,10],[534,9],[711,10]]}},"keywords":{}}],["unmap_old=fals",{"_index":5564,"title":{},"content":{"757":{"position":[[812,16]]}},"keywords":{}}],["unnecessari",{"_index":4414,"title":{},"content":{"545":{"position":[[354,11]]}},"keywords":{}}],["unqualifi",{"_index":2895,"title":{},"content":{"309":{"position":[[3252,11]]}},"keywords":{}}],["unrecogn",{"_index":4594,"title":{},"content":{"576":{"position":[[83,13]]}},"keywords":{}}],["unrel",{"_index":4400,"title":{},"content":{"544":{"position":[[1150,9]]}},"keywords":{}}],["unrol",{"_index":4425,"title":{"547":{"position":[[11,8]]}},"content":{"547":{"position":[[450,8],[951,6],[1189,8]]},"564":{"position":[[829,8]]}},"keywords":{}}],["unscop",{"_index":4457,"title":{"551":{"position":[[17,8]]}},"content":{},"keywords":{}}],["unsign",{"_index":627,"title":{},"content":{"31":{"position":[[631,8]]},"36":{"position":[[10342,8]]},"48":{"position":[[245,8],[380,8],[541,8],[602,8],[667,8],[734,8],[841,8],[943,8],[1044,8],[1760,8],[2393,8],[2751,8],[3106,8],[3521,8],[4921,8]]},"213":{"position":[[212,8]]},"225":{"position":[[932,8]]},"229":{"position":[[10342,8]]},"271":{"position":[[956,8]]},"321":{"position":[[1106,8],[1126,8],[1146,8]]},"358":{"position":[[3994,8]]}},"keywords":{}}],["unsolv",{"_index":3733,"title":{},"content":{"387":{"position":[[937,10]]}},"keywords":{}}],["unspecifi",{"_index":1726,"title":{},"content":{"91":{"position":[[720,11]]}},"keywords":{}}],["unsubscrib",{"_index":3905,"title":{},"content":{"402":{"position":[[4530,13]]},"427":{"position":[[538,11]]}},"keywords":{}}],["unsubscribe_limits_ev",{"_index":4953,"title":{},"content":{"662":{"position":[[4859,25]]}},"keywords":{}}],["unsubscribe_packet_data",{"_index":4954,"title":{},"content":{"662":{"position":[[4925,23]]}},"keywords":{}}],["unsubscribe_server_messag",{"_index":4955,"title":{},"content":{"662":{"position":[[4989,27]]}},"keywords":{}}],["unsupport",{"_index":3854,"title":{"401":{"position":[[0,11]]}},"content":{"401":{"position":[[45,12]]}},"keywords":{}}],["until",{"_index":1238,"title":{},"content":{"56":{"position":[[134,5]]},"115":{"position":[[619,5]]},"309":{"position":[[3892,5]]},"347":{"position":[[619,5]]},"402":{"position":[[4482,5]]},"430":{"position":[[236,5],[295,5]]},"455":{"position":[[1359,5]]},"470":{"position":[[193,5]]},"523":{"position":[[495,5]]},"565":{"position":[[361,5]]},"722":{"position":[[71,5],[229,5]]},"723":{"position":[[56,5]]},"724":{"position":[[19,5]]},"725":{"position":[[19,5]]},"726":{"position":[[71,5]]},"727":{"position":[[56,5]]},"728":{"position":[[19,5]]},"729":{"position":[[19,5]]}},"keywords":{}}],["until"",{"_index":4011,"title":{},"content":{"422":{"position":[[1440,11]]}},"keywords":{}}],["untrust",{"_index":547,"title":{},"content":{"24":{"position":[[669,9]]}},"keywords":{}}],["unus",{"_index":1088,"title":{},"content":{"48":{"position":[[1114,7]]}},"keywords":{}}],["uoxepkb8h7omuumm",{"_index":1567,"title":{},"content":{"82":{"position":[[4389,16]]}},"keywords":{}}],["up",{"_index":18,"title":{"372":{"position":[[8,2]]},"374":{"position":[[8,2]]}},"content":{"1":{"position":[[195,3]]},"3":{"position":[[438,2]]},"6":{"position":[[510,2]]},"35":{"position":[[462,2]]},"37":{"position":[[255,2]]},"42":{"position":[[3107,2]]},"43":{"position":[[29,2]]},"48":{"position":[[4502,2]]},"55":{"position":[[345,2]]},"61":{"position":[[1868,2]]},"67":{"position":[[2163,2],[2313,2],[4982,2]]},"83":{"position":[[210,2],[3110,2]]},"225":{"position":[[1179,2]]},"228":{"position":[[491,2]]},"230":{"position":[[274,2]]},"231":{"position":[[661,2]]},"232":{"position":[[497,2]]},"233":{"position":[[662,2]]},"234":{"position":[[445,2]]},"258":{"position":[[76,2]]},"261":{"position":[[195,2]]},"271":{"position":[[1195,2]]},"278":{"position":[[489,2]]},"280":{"position":[[281,2]]},"281":{"position":[[612,2]]},"282":{"position":[[281,2]]},"283":{"position":[[655,2]]},"284":{"position":[[447,2]]},"302":{"position":[[1613,2]]},"309":{"position":[[491,2]]},"312":{"position":[[28,2]]},"332":{"position":[[768,2]]},"348":{"position":[[2185,2]]},"349":{"position":[[806,2]]},"351":{"position":[[188,2]]},"358":{"position":[[3238,2],[3421,2],[4432,2]]},"363":{"position":[[266,2]]},"367":{"position":[[34,2]]},"369":{"position":[[972,2]]},"380":{"position":[[1444,2]]},"386":{"position":[[452,3]]},"402":{"position":[[5074,2]]},"404":{"position":[[171,2]]},"408":{"position":[[132,2]]},"409":{"position":[[107,2]]},"410":{"position":[[101,2]]},"411":{"position":[[150,2]]},"424":{"position":[[1011,2]]},"441":{"position":[[32,2]]},"462":{"position":[[115,2],[424,2]]},"467":{"position":[[348,2]]},"473":{"position":[[1454,2]]},"481":{"position":[[259,2]]},"484":{"position":[[166,2],[319,2]]},"498":{"position":[[842,2],[918,2]]},"504":{"position":[[28,2]]},"505":{"position":[[64,2]]},"506":{"position":[[392,2]]},"514":{"position":[[350,2]]},"515":{"position":[[379,2]]},"522":{"position":[[121,2],[656,2]]},"523":{"position":[[312,2]]},"531":{"position":[[32,2]]},"535":{"position":[[1176,2]]},"543":{"position":[[336,2]]},"546":{"position":[[1434,2]]},"549":{"position":[[78,2]]},"554":{"position":[[1148,2]]},"561":{"position":[[502,2],[801,2]]},"572":{"position":[[497,2]]},"574":{"position":[[436,2]]},"581":{"position":[[116,2],[179,2],[327,2]]},"591":{"position":[[116,2],[179,2],[327,2]]},"658":{"position":[[1094,2]]},"793":{"position":[[129,2]]}},"keywords":{}}],["updat",{"_index":436,"title":{"21":{"position":[[0,8]]},"22":{"position":[[0,8]]},"23":{"position":[[0,6]]}},"content":{"20":{"position":[[735,6]]},"22":{"position":[[538,6]]},"23":{"position":[[1,6]]},"42":{"position":[[1739,6]]},"82":{"position":[[361,6]]},"83":{"position":[[1487,7]]},"115":{"position":[[1115,7],[1374,7]]},"279":{"position":[[8103,6]]},"302":{"position":[[2483,7]]},"303":{"position":[[1146,7]]},"306":{"position":[[856,7]]},"307":{"position":[[1677,7]]},"309":{"position":[[1649,6],[3553,6]]},"310":{"position":[[118,6],[660,6]]},"326":{"position":[[200,7],[1128,7]]},"350":{"position":[[517,9]]},"359":{"position":[[1061,6]]},"376":{"position":[[241,6],[451,6]]},"404":{"position":[[2219,6]]},"411":{"position":[[68,6]]},"422":{"position":[[1455,7]]},"425":{"position":[[246,8]]},"426":{"position":[[234,8],[1246,7]]},"428":{"position":[[144,6]]},"432":{"position":[[342,7]]},"433":{"position":[[65,7]]},"455":{"position":[[550,8],[721,6],[868,8],[1534,6]]},"467":{"position":[[116,7],[456,7],[761,7]]},"468":{"position":[[435,6]]},"473":{"position":[[1010,7]]},"482":{"position":[[715,7]]},"491":{"position":[[114,6]]},"503":{"position":[[67,7]]},"511":{"position":[[330,6]]},"523":{"position":[[67,7],[134,7]]},"530":{"position":[[140,7],[576,7]]},"544":{"position":[[991,7]]},"552":{"position":[[1330,7]]},"568":{"position":[[317,7]]},"569":{"position":[[507,6]]},"577":{"position":[[455,7]]},"741":{"position":[[109,6]]},"804":{"position":[[1,7],[181,6],[241,6]]}},"keywords":{}}],["updated_at",{"_index":5769,"title":{},"content":{"808":{"position":[[961,13],[1067,13],[1178,13],[1297,13]]}},"keywords":{}}],["upgrad",{"_index":1782,"title":{"381":{"position":[[0,9]]},"382":{"position":[[7,9]]}},"content":{"96":{"position":[[19,7]]},"125":{"position":[[210,9]]},"326":{"position":[[690,7],[745,7]]},"356":{"position":[[254,9],[272,7]]},"358":{"position":[[2603,7]]},"359":{"position":[[2153,7],[2602,8]]},"376":{"position":[[272,7]]},"382":{"position":[[531,9],[559,7],[696,9],[799,7]]},"402":{"position":[[998,8]]},"404":{"position":[[2235,7]]},"407":{"position":[[401,8]]},"426":{"position":[[224,9]]}},"keywords":{}}],["upload",{"_index":3234,"title":{"380":{"position":[[0,9]]},"441":{"position":[[0,7]]},"497":{"position":[[0,6]]}},"content":{"356":{"position":[[192,6]]},"359":{"position":[[37,6],[464,6],[643,7]]},"379":{"position":[[3904,8]]},"380":{"position":[[306,7],[1071,9],[1485,8],[1675,9]]},"383":{"position":[[1940,6]]},"415":{"position":[[408,8]]},"441":{"position":[[11,6],[70,6],[155,6]]},"497":{"position":[[67,6],[221,6],[411,6]]},"498":{"position":[[218,6],[572,6],[719,6]]}},"keywords":{}}],["upload.rb",{"_index":4207,"title":{"498":{"position":[[0,10]]}},"content":{"497":{"position":[[156,9]]},"498":{"position":[[39,9]]}},"keywords":{}}],["upon",{"_index":2504,"title":{},"content":{"257":{"position":[[417,4]]},"344":{"position":[[622,4],[696,4]]},"349":{"position":[[2584,4]]},"350":{"position":[[929,4]]},"535":{"position":[[349,4],[723,4]]},"637":{"position":[[42,4]]}},"keywords":{}}],["upper",{"_index":4238,"title":{},"content":{"505":{"position":[[245,5],[306,5]]},"506":{"position":[[307,5],[532,5]]},"524":{"position":[[283,5]]},"645":{"position":[[123,5]]},"646":{"position":[[162,5]]},"647":{"position":[[88,5],[166,5]]},"648":{"position":[[234,5],[312,5]]},"649":{"position":[[201,5],[280,5]]},"650":{"position":[[642,5],[721,5],[1481,5],[1560,5]]},"780":{"position":[[368,5],[437,5]]},"787":{"position":[[541,5],[610,5]]}},"keywords":{}}],["uppercas",{"_index":4375,"title":{},"content":{"540":{"position":[[4167,9]]}},"keywords":{}}],["urgent",{"_index":4108,"title":{},"content":{"432":{"position":[[1415,6]]}},"keywords":{}}],["uri",{"_index":1683,"title":{},"content":{"83":{"position":[[3760,5]]}},"keywords":{}}],["url",{"_index":1620,"title":{"194":{"position":[[0,4]]}},"content":{"83":{"position":[[1354,3],[1760,3],[3939,4]]},"194":{"position":[[1,3],[43,3],[158,4]]},"195":{"position":[[10,3],[34,3],[181,4]]},"365":{"position":[[366,4]]},"402":{"position":[[990,3]]},"416":{"position":[[266,4]]}},"keywords":{}}],["url="$(curl",{"_index":1685,"title":{},"content":{"83":{"position":[[3776,16]]}},"keywords":{}}],["urlencoded"",{"_index":1524,"title":{},"content":{"82":{"position":[[466,16]]}},"keywords":{}}],["us",{"_index":5,"title":{"309":{"position":[[14,5]]},"323":{"position":[[0,5]]},"390":{"position":[[25,3]]},"395":{"position":[[15,5]]},"545":{"position":[[0,3]]},"551":{"position":[[0,5]]},"556":{"position":[[0,5]]},"564":{"position":[[0,5]]},"565":{"position":[[0,5]]},"572":{"position":[[8,3]]},"658":{"position":[[0,5]]}},"content":{"1":{"position":[[47,4]]},"3":{"position":[[97,5],[567,5]]},"6":{"position":[[87,3],[677,4],[736,5],[1102,4]]},"7":{"position":[[26,4],[1062,5]]},"8":{"position":[[102,3]]},"9":{"position":[[125,3],[469,3],[860,3]]},"11":{"position":[[250,3]]},"15":{"position":[[60,4],[274,5],[294,3]]},"16":{"position":[[62,4],[278,5],[298,3]]},"17":{"position":[[146,5],[333,5]]},"18":{"position":[[150,5],[338,5]]},"20":{"position":[[241,3],[1008,3],[1138,3]]},"22":{"position":[[22,3]]},"23":{"position":[[19,3]]},"24":{"position":[[342,4],[430,4],[722,3]]},"26":{"position":[[233,3]]},"27":{"position":[[406,4]]},"31":{"position":[[348,5]]},"33":{"position":[[617,4],[876,4]]},"35":{"position":[[295,3],[414,4]]},"36":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6448,4],[7244,4],[8867,4],[8947,4],[9094,5],[10647,6],[10832,6]]},"37":{"position":[[207,4]]},"39":{"position":[[170,5]]},"42":{"position":[[628,5],[1675,3]]},"44":{"position":[[199,4]]},"46":{"position":[[36,4]]},"47":{"position":[[97,4]]},"48":{"position":[[170,4],[2933,4],[3359,4],[4358,4],[4784,4]]},"53":{"position":[[724,5]]},"54":{"position":[[122,5],[392,5],[1122,5]]},"55":{"position":[[90,5],[250,5],[408,5],[696,5],[1481,4],[1899,5],[2663,4]]},"56":{"position":[[44,5],[249,5],[1024,5]]},"57":{"position":[[151,5]]},"59":{"position":[[222,3]]},"60":{"position":[[527,5]]},"61":{"position":[[124,3],[1079,4],[1739,6],[2196,5]]},"62":{"position":[[47,5],[191,4]]},"65":{"position":[[722,3],[782,4],[917,4],[1051,4],[1195,4]]},"67":{"position":[[196,6],[962,4],[1110,3],[1384,3],[2069,5],[3091,5],[4394,5],[4765,5]]},"69":{"position":[[863,4]]},"70":{"position":[[21,4],[134,4]]},"71":{"position":[[29,4]]},"72":{"position":[[32,4]]},"73":{"position":[[25,4],[1754,4]]},"74":{"position":[[27,4]]},"75":{"position":[[28,4]]},"76":{"position":[[26,4]]},"77":{"position":[[102,3]]},"78":{"position":[[28,4],[82,6]]},"82":{"position":[[26,4],[115,5]]},"83":{"position":[[16,6]]},"88":{"position":[[498,4]]},"91":{"position":[[27,4],[1133,4],[1453,5]]},"92":{"position":[[27,4]]},"100":{"position":[[210,4],[320,4],[641,3]]},"103":{"position":[[136,3]]},"104":{"position":[[113,4]]},"105":{"position":[[175,4]]},"106":{"position":[[19,4],[530,4],[591,5]]},"107":{"position":[[120,4]]},"108":{"position":[[113,4]]},"109":{"position":[[33,4],[602,5],[643,3],[1017,4],[1421,4]]},"110":{"position":[[43,4],[595,5],[636,3],[1351,4],[1779,4]]},"114":{"position":[[278,5],[339,3],[378,3]]},"117":{"position":[[643,4]]},"120":{"position":[[122,5]]},"123":{"position":[[132,6]]},"126":{"position":[[178,4],[300,4],[458,4],[539,5]]},"128":{"position":[[71,4],[693,3]]},"136":{"position":[[68,3],[162,4]]},"137":{"position":[[13,3]]},"138":{"position":[[184,6],[284,5]]},"139":{"position":[[673,4]]},"141":{"position":[[557,3]]},"146":{"position":[[90,4]]},"148":{"position":[[85,4]]},"149":{"position":[[483,3]]},"174":{"position":[[80,4]]},"177":{"position":[[85,4]]},"183":{"position":[[132,3],[223,4]]},"186":{"position":[[209,4]]},"187":{"position":[[74,4]]},"191":{"position":[[85,4]]},"192":{"position":[[117,3]]},"194":{"position":[[5,4],[47,4]]},"195":{"position":[[61,4],[259,5]]},"196":{"position":[[60,4],[147,5]]},"203":{"position":[[61,4],[169,4]]},"209":{"position":[[352,4]]},"213":{"position":[[453,4]]},"214":{"position":[[175,4],[221,5],[282,3],[386,3],[1105,3],[1501,5],[1569,3],[1640,3]]},"215":{"position":[[32,4],[121,5],[182,3],[268,3],[552,5],[620,3],[700,3]]},"216":{"position":[[32,4],[180,4],[235,5],[344,3],[449,4]]},"217":{"position":[[28,4],[392,4],[972,4],[2071,4],[2526,3]]},"218":{"position":[[114,4],[263,5],[324,3],[423,3],[1279,5],[1347,3],[1418,3]]},"219":{"position":[[35,4],[222,5],[287,3],[375,5],[1098,5],[1165,3]]},"220":{"position":[[31,4],[175,5],[235,3],[333,3],[1362,5],[1429,3],[1499,3],[1648,6]]},"222":{"position":[[27,4]]},"223":{"position":[[22,4],[79,4],[286,3]]},"225":{"position":[[111,4],[172,4]]},"228":{"position":[[324,3],[443,4]]},"229":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6448,4],[7244,4],[8867,4],[8947,4],[9094,5]]},"230":{"position":[[226,4]]},"231":{"position":[[94,4],[613,4]]},"232":{"position":[[94,4],[449,4]]},"233":{"position":[[341,3],[618,4]]},"234":{"position":[[401,4]]},"235":{"position":[[60,4],[138,4],[260,4]]},"236":{"position":[[317,3]]},"240":{"position":[[86,4]]},"242":{"position":[[35,4],[113,4]]},"243":{"position":[[43,4]]},"244":{"position":[[41,4]]},"249":{"position":[[88,4],[128,4]]},"250":{"position":[[111,4]]},"251":{"position":[[78,4]]},"252":{"position":[[59,4],[203,4]]},"255":{"position":[[51,4],[130,3]]},"257":{"position":[[142,4]]},"258":{"position":[[1839,3],[1901,3]]},"259":{"position":[[117,3],[280,4],[403,5]]},"260":{"position":[[8,4]]},"267":{"position":[[120,4]]},"268":{"position":[[65,4],[214,4],[323,5]]},"271":{"position":[[135,4],[198,4]]},"272":{"position":[[125,5],[353,3]]},"273":{"position":[[204,4]]},"274":{"position":[[247,3],[547,5]]},"278":{"position":[[323,3],[441,4]]},"279":{"position":[[150,5],[692,4],[1344,4],[2104,4],[4987,4],[5845,4],[7217,5],[8079,3],[8167,6],[8534,3]]},"280":{"position":[[233,4]]},"281":{"position":[[564,4]]},"282":{"position":[[233,4]]},"283":{"position":[[340,3],[611,4]]},"284":{"position":[[403,4]]},"285":{"position":[[57,4],[137,4],[260,4]]},"286":{"position":[[298,3]]},"287":{"position":[[95,4]]},"291":{"position":[[35,4],[113,4]]},"292":{"position":[[43,4]]},"293":{"position":[[41,4]]},"295":{"position":[[88,4],[128,4]]},"296":{"position":[[61,4],[209,4]]},"297":{"position":[[133,4]]},"301":{"position":[[613,3],[819,4],[1411,4],[1557,6],[1647,4]]},"302":{"position":[[1856,3],[2126,3]]},"303":{"position":[[971,4]]},"304":{"position":[[474,3],[828,3]]},"305":{"position":[[505,3],[911,3]]},"306":{"position":[[78,3],[768,5]]},"307":{"position":[[1292,5],[1408,4],[1484,4]]},"309":{"position":[[85,5],[456,4],[1574,5],[2191,3],[2924,4],[3782,3],[3819,3],[4018,4]]},"312":{"position":[[213,5],[263,3]]},"314":{"position":[[17,5],[316,5],[1792,3],[1862,5],[2124,5]]},"315":{"position":[[374,5]]},"317":{"position":[[21,4]]},"320":{"position":[[1181,4],[1577,5]]},"321":{"position":[[1536,3]]},"323":{"position":[[26,3],[142,5]]},"324":{"position":[[39,3],[71,4],[119,3]]},"326":{"position":[[508,5],[709,5]]},"330":{"position":[[81,5],[134,3],[606,4]]},"331":{"position":[[14,5],[306,3],[488,5]]},"332":{"position":[[458,5],[1058,4]]},"333":{"position":[[75,3]]},"342":{"position":[[19,4],[231,5],[740,4],[866,4]]},"343":{"position":[[1506,5]]},"345":{"position":[[881,5]]},"349":{"position":[[688,4],[2939,4],[3601,5],[4734,3]]},"354":{"position":[[128,6]]},"358":{"position":[[1199,3],[1310,3],[3330,5],[3558,4],[5379,4],[7181,6],[7335,5],[7624,5],[7781,5],[7947,5],[8242,5]]},"359":{"position":[[356,5]]},"361":{"position":[[169,3]]},"362":{"position":[[113,3]]},"363":{"position":[[60,3]]},"364":{"position":[[318,4]]},"369":{"position":[[707,5],[1972,5],[3463,5],[3536,5],[3854,3]]},"371":{"position":[[31,5]]},"380":{"position":[[1009,5]]},"382":{"position":[[54,5]]},"385":{"position":[[94,4]]},"387":{"position":[[1359,3],[1687,4]]},"389":{"position":[[78,4],[340,3],[720,3],[1222,3],[1524,3],[1979,3]]},"390":{"position":[[42,3],[135,3],[389,4],[1129,3],[1236,3]]},"391":{"position":[[58,3]]},"392":{"position":[[286,3]]},"395":{"position":[[90,4],[249,3]]},"396":{"position":[[1,3]]},"397":{"position":[[1,3]]},"402":{"position":[[93,4],[451,5],[3264,3],[5372,4]]},"404":{"position":[[1315,3],[1891,3],[1978,3]]},"407":{"position":[[443,5]]},"413":{"position":[[215,5],[270,4]]},"415":{"position":[[58,4],[94,5],[203,5],[282,5],[399,5]]},"416":{"position":[[44,4]]},"420":{"position":[[193,6]]},"424":{"position":[[80,3],[1949,5]]},"426":{"position":[[4,3],[114,3],[475,3],[1151,4],[1186,3]]},"427":{"position":[[72,4],[244,3]]},"429":{"position":[[444,3]]},"430":{"position":[[566,4]]},"431":{"position":[[634,3]]},"432":{"position":[[309,3],[495,3],[959,5]]},"434":{"position":[[426,3]]},"435":{"position":[[143,3],[233,3]]},"440":{"position":[[718,5]]},"446":{"position":[[158,5]]},"447":{"position":[[438,4]]},"457":{"position":[[240,3]]},"462":{"position":[[187,3]]},"464":{"position":[[98,5]]},"473":{"position":[[158,5],[1357,6]]},"474":{"position":[[68,5]]},"498":{"position":[[143,4]]},"499":{"position":[[158,4]]},"505":{"position":[[212,5],[278,5]]},"522":{"position":[[345,4]]},"528":{"position":[[131,4],[446,3],[597,5]]},"531":{"position":[[209,6],[554,6]]},"532":{"position":[[179,3]]},"533":{"position":[[38,4]]},"535":{"position":[[1200,3],[1377,6]]},"538":{"position":[[51,5],[116,4],[345,5]]},"539":{"position":[[180,5]]},"540":{"position":[[350,4],[461,4],[728,5],[822,5],[1206,3],[1243,3],[1293,3],[1534,5],[4594,3]]},"544":{"position":[[522,5],[877,4],[920,6]]},"545":{"position":[[1,3]]},"546":{"position":[[1481,3]]},"547":{"position":[[1271,4]]},"549":{"position":[[494,5]]},"551":{"position":[[362,3]]},"552":{"position":[[252,3],[426,3],[1472,3],[1820,5],[1863,5],[1920,5]]},"554":{"position":[[63,6],[209,3],[642,5],[742,5],[874,5],[1138,5]]},"555":{"position":[[212,5]]},"556":{"position":[[443,6]]},"557":{"position":[[188,4],[487,5]]},"559":{"position":[[88,5],[1035,3]]},"560":{"position":[[18,6],[574,5]]},"561":{"position":[[193,5],[253,3]]},"562":{"position":[[175,5]]},"563":{"position":[[302,5]]},"564":{"position":[[90,3],[688,6]]},"565":{"position":[[422,3]]},"566":{"position":[[8,3],[377,3],[453,3]]},"568":{"position":[[758,5],[854,5]]},"569":{"position":[[167,4],[549,3],[904,4],[973,4]]},"571":{"position":[[1,5],[45,3],[188,3],[262,4],[426,5]]},"572":{"position":[[294,6],[385,5],[418,6]]},"574":{"position":[[294,6]]},"592":{"position":[[160,6],[318,5]]},"593":{"position":[[22,4]]},"603":{"position":[[26,4]]},"605":{"position":[[69,4]]},"608":{"position":[[25,4],[284,6]]},"612":{"position":[[964,5],[1093,4]]},"619":{"position":[[171,5],[896,5],[1025,4]]},"626":{"position":[[701,5]]},"627":{"position":[[754,5]]},"628":{"position":[[726,5]]},"629":{"position":[[259,5]]},"630":{"position":[[33,6]]},"636":{"position":[[27,4]]},"637":{"position":[[122,4],[196,3],[278,5],[433,3],[495,3],[573,3],[643,4],[748,6],[825,5],[941,3],[966,5],[1293,5],[2182,4]]},"638":{"position":[[47,3],[78,4]]},"639":{"position":[[66,3],[97,4]]},"640":{"position":[[49,3],[80,4]]},"642":{"position":[[59,3],[90,4]]},"644":{"position":[[49,3],[80,4]]},"645":{"position":[[22,4]]},"649":{"position":[[670,5]]},"650":{"position":[[70,3],[1231,5]]},"652":{"position":[[1138,5]]},"657":{"position":[[33,5]]},"658":{"position":[[504,4]]},"659":{"position":[[722,4]]},"660":{"position":[[42,4],[93,4],[206,3]]},"661":{"position":[[215,3]]},"662":{"position":[[204,3],[260,3],[331,3],[555,3],[702,3],[847,3],[922,3],[992,3],[1130,3],[1191,3],[1320,3],[1518,3],[1591,3],[1820,3],[2218,3],[2304,3],[2376,3],[2448,3],[2754,3],[2830,3],[3404,3],[3475,3],[3625,3],[3690,3],[3883,3],[4705,3],[4835,3],[5092,3],[5159,3],[5236,3],[5323,3]]},"664":{"position":[[514,4]]},"665":{"position":[[480,4]]},"678":{"position":[[100,4]]},"679":{"position":[[113,4]]},"680":{"position":[[139,4]]},"682":{"position":[[123,4]]},"683":{"position":[[136,4]]},"684":{"position":[[162,4]]},"697":{"position":[[45,5],[272,5],[313,5]]},"698":{"position":[[171,5],[222,5]]},"699":{"position":[[123,4],[173,5],[230,5],[282,5]]},"704":{"position":[[163,5]]},"710":{"position":[[180,6]]},"711":{"position":[[398,5]]},"714":{"position":[[181,5]]},"716":{"position":[[113,4]]},"724":{"position":[[149,4],[199,5]]},"728":{"position":[[145,4],[195,5]]},"741":{"position":[[137,3]]},"752":{"position":[[269,4],[345,3]]},"761":{"position":[[221,4],[291,3]]},"770":{"position":[[175,4]]},"777":{"position":[[157,5]]},"778":{"position":[[38,6],[61,3],[291,3]]},"786":{"position":[[125,3]]},"787":{"position":[[153,6]]},"790":{"position":[[64,6]]},"793":{"position":[[109,6],[242,5],[363,3]]},"799":{"position":[[217,6]]},"800":{"position":[[140,4],[165,5]]},"807":{"position":[[80,4]]},"812":{"position":[[49,4]]}},"keywords":{}}],["us)set",{"_index":3958,"title":{},"content":{"404":{"position":[[1236,6]]}},"keywords":{}}],["us,en;q=0.9",{"_index":1604,"title":{},"content":{"83":{"position":[[864,12],[2394,12]]}},"keywords":{}}],["us/docs/web/html/element/input/file#accept",{"_index":5028,"title":{},"content":{"673":{"position":[[1237,42]]}},"keywords":{}}],["usabl",{"_index":3739,"title":{},"content":{"387":{"position":[[1466,6]]}},"keywords":{}}],["usag",{"_index":186,"title":{"90":{"position":[[8,6]]},"426":{"position":[[3,6]]}},"content":{"5":{"position":[[1417,5]]},"11":{"position":[[369,6]]},"12":{"position":[[579,6]]},"13":{"position":[[487,6]]},"14":{"position":[[378,6]]},"15":{"position":[[175,5],[512,6]]},"16":{"position":[[179,5],[514,6]]},"36":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6655,6],[7451,6],[10442,6]]},"61":{"position":[[1242,6]]},"91":{"position":[[1661,6]]},"92":{"position":[[1113,6]]},"138":{"position":[[850,6]]},"140":{"position":[[659,6]]},"141":{"position":[[883,6]]},"142":{"position":[[180,6]]},"143":{"position":[[455,6]]},"144":{"position":[[258,6]]},"147":{"position":[[235,6]]},"148":{"position":[[235,6]]},"150":{"position":[[256,6]]},"177":{"position":[[235,6]]},"178":{"position":[[446,6]]},"180":{"position":[[164,6]]},"181":{"position":[[439,6]]},"182":{"position":[[259,6]]},"183":{"position":[[390,6]]},"184":{"position":[[337,6]]},"188":{"position":[[593,6]]},"189":{"position":[[235,6]]},"191":{"position":[[235,6]]},"192":{"position":[[476,6]]},"203":{"position":[[493,6]]},"226":{"position":[[520,6]]},"228":{"position":[[1941,6]]},"229":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6655,6],[7451,6],[10442,6]]},"230":{"position":[[1724,6]]},"231":{"position":[[2085,6]]},"232":{"position":[[1921,6]]},"233":{"position":[[941,6]]},"234":{"position":[[724,6]]},"235":{"position":[[385,6]]},"236":{"position":[[469,6]]},"240":{"position":[[375,6]]},"252":{"position":[[436,6]]},"276":{"position":[[546,6]]},"278":{"position":[[1055,6]]},"279":{"position":[[237,6],[456,6],[981,6],[1516,6],[2566,6],[5194,6],[6052,6],[10252,6]]},"280":{"position":[[847,6]]},"281":{"position":[[1149,6]]},"282":{"position":[[818,6]]},"283":{"position":[[934,6]]},"284":{"position":[[726,6]]},"285":{"position":[[375,6]]},"286":{"position":[[432,6]]},"287":{"position":[[384,6]]},"296":{"position":[[449,6]]},"298":{"position":[[380,6]]},"301":{"position":[[210,6]]},"302":{"position":[[212,6]]},"303":{"position":[[230,6]]},"304":{"position":[[249,6]]},"305":{"position":[[269,6]]},"306":{"position":[[302,6]]},"307":{"position":[[508,6]]},"333":{"position":[[1029,5],[1055,6]]},"367":{"position":[[1032,5],[1164,5]]},"369":{"position":[[1066,6],[2557,6]]},"577":{"position":[[477,6]]},"579":{"position":[[353,6]]},"580":{"position":[[314,6]]},"581":{"position":[[799,6]]},"583":{"position":[[193,6]]},"584":{"position":[[197,6]]},"585":{"position":[[193,6]]},"586":{"position":[[195,6]]},"587":{"position":[[363,6]]},"588":{"position":[[357,6]]},"589":{"position":[[368,6]]},"590":{"position":[[151,6]]},"591":{"position":[[758,6]]},"592":{"position":[[644,6]]},"594":{"position":[[349,6]]},"595":{"position":[[324,6]]},"596":{"position":[[197,6]]},"597":{"position":[[282,6]]},"598":{"position":[[243,6]]},"599":{"position":[[304,6]]},"601":{"position":[[140,6]]},"602":{"position":[[209,6]]},"604":{"position":[[214,6]]},"605":{"position":[[99,6]]},"606":{"position":[[113,6]]},"607":{"position":[[171,6]]},"609":{"position":[[560,6]]},"610":{"position":[[747,6]]},"611":{"position":[[826,6]]},"612":{"position":[[810,6]]},"613":{"position":[[544,6]]},"614":{"position":[[411,6]]},"615":{"position":[[557,6]]},"617":{"position":[[434,6]]},"618":{"position":[[811,6]]},"619":{"position":[[708,6]]},"620":{"position":[[436,6]]},"621":{"position":[[434,6]]},"622":{"position":[[431,6]]},"623":{"position":[[400,6]]},"624":{"position":[[402,6]]},"625":{"position":[[780,6]]},"626":{"position":[[537,6]]},"627":{"position":[[571,6]]},"628":{"position":[[555,6]]},"629":{"position":[[364,6]]},"630":{"position":[[554,6]]},"631":{"position":[[696,6]]},"632":{"position":[[427,6]]},"633":{"position":[[326,6]]},"634":{"position":[[288,6]]},"635":{"position":[[639,6]]},"637":{"position":[[1734,6]]},"638":{"position":[[212,6]]},"639":{"position":[[301,6]]},"640":{"position":[[229,6]]},"642":{"position":[[310,6]]},"643":{"position":[[236,6]]},"644":{"position":[[229,6]]},"647":{"position":[[346,6]]},"648":{"position":[[578,6]]},"649":{"position":[[339,6]]},"650":{"position":[[892,6]]},"651":{"position":[[434,6]]},"652":{"position":[[736,6]]},"653":{"position":[[213,6]]}},"keywords":{}}],["useless",{"_index":4350,"title":{},"content":{"540":{"position":[[1737,7]]}},"keywords":{}}],["user",{"_index":64,"title":{"431":{"position":[[14,6]]},"559":{"position":[[0,4]]},"560":{"position":[[29,4]]},"663":{"position":[[11,4]]},"674":{"position":[[29,5]]}},"content":{"2":{"position":[[616,5]]},"24":{"position":[[624,5]]},"36":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6238,4],[6869,4],[7933,4],[8672,4],[8898,4],[10535,4],[10694,4],[10782,4],[10868,4]]},"50":{"position":[[751,5]]},"67":{"position":[[406,6]]},"81":{"position":[[45,4]]},"83":{"position":[[1102,5],[1636,5]]},"85":{"position":[[82,4]]},"112":{"position":[[446,4]]},"114":{"position":[[442,5]]},"117":{"position":[[400,4]]},"126":{"position":[[119,4],[221,4],[314,5]]},"136":{"position":[[100,4],[226,4]]},"214":{"position":[[324,4]]},"215":{"position":[[206,4]]},"218":{"position":[[361,4]]},"220":{"position":[[272,4]]},"229":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6238,4],[6869,4],[7933,4],[8672,4],[8898,4]]},"240":{"position":[[55,4]]},"255":{"position":[[90,5],[411,4]]},"263":{"position":[[150,4],[322,4]]},"279":{"position":[[633,4],[661,4],[1990,4],[2222,4],[3382,5],[3392,4],[4753,5],[4763,4],[5446,5],[5456,4],[6569,5],[6579,4]]},"287":{"position":[[64,4]]},"301":{"position":[[718,4]]},"309":{"position":[[778,4],[2467,4],[3438,5],[3470,5]]},"310":{"position":[[469,5],[501,5]]},"317":{"position":[[247,4]]},"323":{"position":[[598,4]]},"326":{"position":[[115,4]]},"330":{"position":[[178,5]]},"333":{"position":[[1162,4],[1235,4]]},"343":{"position":[[707,5]]},"344":{"position":[[156,4],[271,4]]},"348":{"position":[[90,4],[230,4],[1907,4]]},"349":{"position":[[308,5],[366,4],[384,4],[473,4],[5969,4],[6565,4],[6778,4]]},"351":{"position":[[339,4]]},"355":{"position":[[30,4]]},"358":{"position":[[1731,4],[1781,4],[1861,4],[1890,4]]},"362":{"position":[[1308,4],[1472,4]]},"378":{"position":[[1641,4]]},"383":{"position":[[833,5]]},"387":{"position":[[878,5]]},"389":{"position":[[72,5],[331,5],[442,5],[646,5],[1032,6],[1300,6]]},"391":{"position":[[236,6]]},"392":{"position":[[174,4]]},"393":{"position":[[454,5],[554,4]]},"401":{"position":[[163,4]]},"404":{"position":[[2364,5]]},"418":{"position":[[79,4]]},"424":{"position":[[165,6]]},"432":{"position":[[174,4],[1470,5]]},"433":{"position":[[12,5]]},"434":{"position":[[770,5]]},"440":{"position":[[535,4]]},"447":{"position":[[51,4],[144,4],[166,4]]},"452":{"position":[[101,4]]},"455":{"position":[[8,4]]},"468":{"position":[[44,4],[176,5]]},"472":{"position":[[247,4],[846,4]]},"513":{"position":[[255,5],[390,5],[673,4]]},"529":{"position":[[394,5]]},"535":{"position":[[298,4],[332,4],[1261,4],[1295,4]]},"540":{"position":[[4023,4]]},"546":{"position":[[356,5],[453,5],[1451,6]]},"556":{"position":[[219,4]]},"557":{"position":[[367,5]]},"559":{"position":[[60,4],[94,4],[408,4],[1056,4],[1123,5],[1198,4],[1229,4],[1322,4],[1378,4]]},"560":{"position":[[114,4],[223,4]]},"569":{"position":[[1120,5]]},"636":{"position":[[57,5]]},"643":{"position":[[38,4]]},"658":{"position":[[1293,4]]},"663":{"position":[[25,4]]},"664":{"position":[[13,4],[45,4],[146,4],[375,4]]},"665":{"position":[[13,4],[45,4],[107,4],[341,4]]},"668":{"position":[[129,4],[519,4]]},"673":{"position":[[84,4]]},"674":{"position":[[26,4]]},"675":{"position":[[27,4],[187,4]]},"696":{"position":[[25,4]]},"716":{"position":[[12,4],[277,4]]},"721":{"position":[[25,4]]},"722":{"position":[[239,4]]},"749":{"position":[[25,4]]},"760":{"position":[[25,4]]},"770":{"position":[[25,4]]},"776":{"position":[[25,4]]},"779":{"position":[[25,4]]},"787":{"position":[[190,5]]},"788":{"position":[[25,4]]},"796":{"position":[[25,4]]},"805":{"position":[[13,4]]}},"keywords":{}}],["user'",{"_index":2382,"title":{},"content":{"225":{"position":[[184,6]]},"271":{"position":[[210,6]]}},"keywords":{}}],["user=root",{"_index":3252,"title":{},"content":{"358":{"position":[[1921,9]]}},"keywords":{}}],["usermod",{"_index":3976,"title":{},"content":{"404":{"position":[[2345,7]]}},"keywords":{}}],["usernam",{"_index":1519,"title":{},"content":{"82":{"position":[[123,8],[372,8]]},"109":{"position":[[856,8],[865,8],[1578,8]]},"110":{"position":[[1190,8],[1199,8],[1960,8]]},"112":{"position":[[493,8],[502,8]]},"141":{"position":[[902,8],[924,8]]},"188":{"position":[[612,8]]},"260":{"position":[[209,9]]},"310":{"position":[[133,8]]},"404":{"position":[[1055,8],[1090,8],[1107,9]]},"415":{"position":[[336,8]]}},"keywords":{}}],["username=operator&password=operator&client_id=api&grant_type=password&scope=openid",{"_index":1525,"title":{},"content":{"82":{"position":[[486,100]]}},"keywords":{}}],["usr/bin/dock",{"_index":2865,"title":{},"content":{"309":{"position":[[1953,15]]}},"keywords":{}}],["usr/local/bin/dock",{"_index":2862,"title":{},"content":{"309":{"position":[[1838,21],[1882,21],[1923,21]]}},"keywords":{}}],["usr/share/containers/containers.conf",{"_index":2876,"title":{},"content":{"309":{"position":[[2220,37]]}},"keywords":{}}],["usr/share/elasticsearch/bin/elasticsearch",{"_index":3352,"title":{},"content":{"363":{"position":[[533,42]]}},"keywords":{}}],["usual",{"_index":1297,"title":{},"content":{"61":{"position":[[510,7]]},"85":{"position":[[108,8]]},"447":{"position":[[531,7]]},"549":{"position":[[440,7]]},"699":{"position":[[682,10]]},"722":{"position":[[311,7]]},"723":{"position":[[205,7]]},"724":{"position":[[301,7]]},"725":{"position":[[181,7]]}},"keywords":{}}],["utc",{"_index":3118,"title":{},"content":{"344":{"position":[[1065,3]]}},"keywords":{}}],["utf",{"_index":2423,"title":{},"content":{"243":{"position":[[234,3]]},"244":{"position":[[239,3]]}},"keywords":{}}],["util",{"_index":901,"title":{},"content":{"42":{"position":[[102,7]]},"53":{"position":[[281,7]]},"64":{"position":[[499,8]]},"109":{"position":[[1871,8]]},"110":{"position":[[2263,8]]},"173":{"position":[[23,11]]},"217":{"position":[[443,8],[1023,8],[2217,8]]},"258":{"position":[[539,8]]},"263":{"position":[[379,8],[522,8],[573,8]]},"264":{"position":[[46,7]]},"265":{"position":[[195,8]]},"331":{"position":[[386,4],[794,4]]},"333":{"position":[[1116,5],[1450,5]]},"369":{"position":[[261,9],[2428,11]]},"439":{"position":[[263,7]]},"501":{"position":[[137,7]]},"794":{"position":[[31,8]]}},"keywords":{}}],["ux",{"_index":2558,"title":{"265":{"position":[[6,3]]}},"content":{"265":{"position":[[38,2]]},"632":{"position":[[146,2]]}},"keywords":{}}],["v",{"_index":1332,"title":{},"content":{"64":{"position":[[1113,1],[1225,1]]},"219":{"position":[[1017,1]]}},"keywords":{}}],["v3",{"_index":1785,"title":{},"content":{"96":{"position":[[64,2]]}},"keywords":{}}],["v4",{"_index":4859,"title":{"662":{"position":[[22,2]]}},"content":{},"keywords":{}}],["v5",{"_index":3417,"title":{"661":{"position":[[22,2]]},"662":{"position":[[28,3]]}},"content":{"369":{"position":[[71,2]]},"371":{"position":[[71,2]]}},"keywords":{}}],["v5.5.0",{"_index":3253,"title":{},"content":{"358":{"position":[[2013,7]]}},"keywords":{}}],["v6",{"_index":4854,"title":{"661":{"position":[[28,3]]}},"content":{"661":{"position":[[57,3]]}},"keywords":{}}],["vacuum",{"_index":2643,"title":{},"content":{"279":{"position":[[8418,6]]},"546":{"position":[[841,6]]}},"keywords":{}}],["vagu",{"_index":4449,"title":{},"content":{"550":{"position":[[239,6]]}},"keywords":{}}],["val",{"_index":3624,"title":{},"content":{"379":{"position":[[374,3],[382,3],[391,3]]}},"keywords":{}}],["valid",{"_index":151,"title":{"251":{"position":[[0,10]]}},"content":{"5":{"position":[[339,9],[474,5],[915,5]]},"11":{"position":[[328,5]]},"33":{"position":[[225,5],[420,5]]},"35":{"position":[[688,5],[1365,5],[1857,5]]},"36":{"position":[[3382,5],[10371,5]]},"37":{"position":[[481,5],[1158,5],[1650,5]]},"48":{"position":[[756,5]]},"74":{"position":[[322,6]]},"75":{"position":[[321,6]]},"76":{"position":[[320,6]]},"128":{"position":[[731,5]]},"139":{"position":[[475,5]]},"149":{"position":[[521,5]]},"196":{"position":[[329,5]]},"199":{"position":[[224,5]]},"226":{"position":[[385,5]]},"228":{"position":[[717,5],[1394,5],[1886,5]]},"229":{"position":[[3382,5],[10371,5]]},"230":{"position":[[500,5],[1177,5],[1669,5]]},"231":{"position":[[887,5],[1538,5],[2030,5]]},"232":{"position":[[723,5],[1374,5],[1866,5]]},"233":{"position":[[483,5],[886,5]]},"234":{"position":[[266,5],[669,5]]},"251":{"position":[[27,9],[59,9],[86,8],[511,9],[561,9],[1383,9]]},"276":{"position":[[402,5]]},"278":{"position":[[720,5],[1000,5]]},"279":{"position":[[2518,5],[7385,5],[8880,5]]},"280":{"position":[[512,5],[792,5]]},"281":{"position":[[729,5],[1094,5]]},"282":{"position":[[398,5],[763,5]]},"283":{"position":[[476,5],[879,5]]},"284":{"position":[[268,5],[671,5]]},"432":{"position":[[285,5]]},"445":{"position":[[192,11]]},"447":{"position":[[327,10],[357,9],[384,10],[446,8],[640,9]]},"559":{"position":[[200,8]]},"581":{"position":[[84,5]]},"591":{"position":[[84,5]]},"609":{"position":[[493,5]]},"610":{"position":[[680,5]]},"611":{"position":[[665,5]]},"612":{"position":[[229,5],[754,5]]},"613":{"position":[[477,5]]},"614":{"position":[[250,5]]},"615":{"position":[[396,5]]},"616":{"position":[[270,5]]},"617":{"position":[[273,5]]},"618":{"position":[[547,5]]},"619":{"position":[[537,5]]},"620":{"position":[[266,5]]},"621":{"position":[[264,5]]},"622":{"position":[[250,5]]},"623":{"position":[[239,5]]},"624":{"position":[[242,5]]},"625":{"position":[[516,5]]},"626":{"position":[[236,5],[330,5],[486,5],[963,5],[1057,5],[1213,5]]},"627":{"position":[[270,5],[364,5],[520,5],[1016,5],[1110,5],[1266,5]]},"628":{"position":[[254,5],[348,5],[504,5],[988,5],[1082,5],[1238,5]]},"630":{"position":[[487,5]]},"631":{"position":[[526,5]]},"632":{"position":[[166,5]]},"633":{"position":[[282,5]]},"635":{"position":[[478,5]]},"648":{"position":[[511,5]]},"650":{"position":[[441,5]]},"652":{"position":[[669,5]]},"699":{"position":[[411,5],[629,5]]}},"keywords":{}}],["valu",{"_index":52,"title":{"562":{"position":[[24,5]]},"635":{"position":[[0,6]]}},"content":{"2":{"position":[[400,5]]},"5":{"position":[[480,7],[921,7],[1196,6]]},"6":{"position":[[547,5],[686,5]]},"11":{"position":[[334,7]]},"33":{"position":[[231,7],[412,7],[426,7]]},"35":{"position":[[400,6],[524,6],[694,7],[862,5],[884,5],[922,5],[944,5],[982,5],[996,5],[1129,6],[1371,7],[1513,5],[1527,5],[1660,6],[1863,7]]},"36":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6217,5],[6382,6],[6460,5],[6848,5],[7019,6],[7178,6],[7256,5],[7529,6],[7616,6],[7716,6],[7912,5],[8089,7],[8114,5],[8337,6],[8603,6],[8686,7],[8912,6],[8971,6],[9286,6],[9319,5],[9506,5],[9672,5],[9754,5],[9831,6],[9909,5],[10014,5],[10058,5],[10156,5],[10231,6],[10308,6],[10377,7]]},"37":{"position":[[193,6],[317,6],[487,7],[655,5],[677,5],[715,5],[737,5],[775,5],[789,5],[922,6],[1164,7],[1306,5],[1320,5],[1453,6],[1656,7]]},"39":{"position":[[17,6],[248,6],[263,5],[277,5]]},"42":{"position":[[1850,7]]},"48":{"position":[[4450,7],[4463,5]]},"51":{"position":[[296,5],[344,5],[455,5]]},"55":{"position":[[874,5],[975,5],[1028,6],[1046,5],[1298,5],[1381,5],[2314,5],[2609,5],[3200,5],[3353,5],[3403,6]]},"62":{"position":[[640,5]]},"65":{"position":[[187,5],[879,5],[1064,5],[1208,5]]},"67":{"position":[[232,6],[485,6]]},"91":{"position":[[765,7]]},"92":{"position":[[140,5],[211,5],[294,5],[378,5],[979,5],[1049,5]]},"109":{"position":[[1719,5]]},"110":{"position":[[2101,5]]},"126":{"position":[[788,5],[802,5]]},"128":{"position":[[737,7]]},"139":{"position":[[481,7]]},"141":{"position":[[122,5],[608,6],[620,5],[726,6]]},"142":{"position":[[133,5],[160,5]]},"149":{"position":[[527,7]]},"180":{"position":[[117,5],[144,5]]},"186":{"position":[[355,6]]},"196":{"position":[[335,7]]},"199":{"position":[[230,7]]},"200":{"position":[[250,6]]},"202":{"position":[[102,5],[119,5]]},"214":{"position":[[336,6],[379,6],[1588,6],[1633,6],[1913,5]]},"215":{"position":[[218,6],[261,6],[639,6],[693,6]]},"217":{"position":[[744,5],[797,6],[817,7],[866,5],[920,6],[940,7],[1234,5],[1275,6],[1295,7]]},"218":{"position":[[174,5],[373,6],[416,6],[1366,6],[1411,6],[1691,5]]},"219":{"position":[[862,6],[1218,6]]},"220":{"position":[[284,6],[326,6],[1448,6],[1492,6],[2213,5]]},"226":{"position":[[391,7]]},"228":{"position":[[429,6],[553,6],[723,7],[891,5],[913,5],[951,5],[973,5],[1011,5],[1025,5],[1158,6],[1400,7],[1542,5],[1556,5],[1689,6],[1892,7],[2100,5]]},"229":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6217,5],[6382,6],[6460,5],[6848,5],[7019,6],[7178,6],[7256,5],[7529,6],[7616,6],[7716,6],[7912,5],[8089,7],[8114,5],[8337,6],[8603,6],[8686,7],[8912,6],[8971,6],[9286,6],[9319,5],[9506,5],[9672,5],[9754,5],[9831,6],[9909,5],[10014,5],[10058,5],[10156,5],[10231,6],[10308,6],[10377,7]]},"230":{"position":[[212,6],[336,6],[506,7],[674,5],[696,5],[734,5],[756,5],[794,5],[808,5],[941,6],[1183,7],[1325,5],[1339,5],[1472,6],[1675,7],[1837,5]]},"231":{"position":[[599,6],[723,6],[893,7],[1061,5],[1083,5],[1121,5],[1143,5],[1176,5],[1197,5],[1255,5],[1544,7],[1686,5],[1700,5],[1833,6],[2036,7]]},"232":{"position":[[435,6],[559,6],[729,7],[897,5],[919,5],[957,5],[979,5],[1012,5],[1033,5],[1091,5],[1380,7],[1522,5],[1536,5],[1669,6],[1872,7]]},"233":{"position":[[489,7],[604,6],[724,6],[892,7]]},"234":{"position":[[272,7],[387,6],[507,6],[675,7]]},"235":{"position":[[165,6]]},"240":{"position":[[302,6],[321,6]]},"242":{"position":[[62,6],[131,6]]},"243":{"position":[[89,6],[180,6]]},"244":{"position":[[87,6],[176,6]]},"251":{"position":[[996,5],[1050,5],[1764,5],[1818,5]]},"260":{"position":[[152,5]]},"271":{"position":[[1218,5]]},"274":{"position":[[774,6]]},"275":{"position":[[749,5]]},"276":{"position":[[408,7]]},"278":{"position":[[427,6],[551,6],[726,7],[1006,7]]},"279":{"position":[[209,5],[908,6],[927,6],[1368,5],[1824,5],[1881,6],[1968,5],[2246,5],[2280,6],[2316,7],[2386,5],[2412,5],[2457,6],[2524,7],[2689,6],[3322,5],[3446,5],[3806,6],[4181,5],[4506,6],[4537,5],[4693,5],[4817,5],[4921,6],[4999,5],[5386,5],[5510,5],[5620,6],[5779,6],[5857,5],[6129,6],[6215,6],[6314,6],[6509,5],[6633,5],[6749,7],[6774,5],[6996,6],[7379,5],[7391,7],[7478,5],[7569,6],[7602,5],[7767,5],[8267,6],[8886,7],[8948,5],[8984,5],[9066,5],[9102,6],[9225,5],[9264,6],[9383,5],[9422,5],[9722,5],[9761,6],[10109,5],[10145,6]]},"280":{"position":[[219,6],[343,6],[518,7],[798,7]]},"281":{"position":[[550,6],[674,6],[735,7],[783,5],[793,5],[1100,7]]},"282":{"position":[[219,6],[343,6],[404,7],[452,5],[462,5],[769,7]]},"283":{"position":[[482,7],[597,6],[717,6],[885,7]]},"284":{"position":[[274,7],[389,6],[509,6],[677,7]]},"285":{"position":[[164,6]]},"287":{"position":[[311,6],[330,6]]},"291":{"position":[[62,6],[131,6]]},"292":{"position":[[66,6]]},"293":{"position":[[64,6]]},"302":{"position":[[2341,6]]},"304":{"position":[[791,7],[1075,5]]},"305":{"position":[[1292,5]]},"306":{"position":[[740,6]]},"314":{"position":[[1670,6]]},"323":{"position":[[399,6]]},"330":{"position":[[1412,5]]},"332":{"position":[[1453,5]]},"343":{"position":[[491,5]]},"345":{"position":[[550,5]]},"348":{"position":[[904,6],[971,5],[1073,5],[1133,5],[1559,6],[1600,6],[1642,6]]},"350":{"position":[[132,5],[916,6],[1472,5],[1580,5],[1603,6]]},"353":{"position":[[489,5],[605,5]]},"358":{"position":[[2931,5],[3650,5],[3672,5],[3698,5],[3802,5],[3858,5],[3880,5],[3909,5],[4033,5],[4068,5],[4109,5],[4131,5],[4179,5],[4271,6],[4309,5],[4345,5],[4505,5],[4572,6],[4906,5],[5314,5],[5496,5]]},"359":{"position":[[1159,5],[1179,5],[1268,5],[1278,5],[1529,5],[2527,5],[2537,5]]},"402":{"position":[[2795,6],[3155,5],[3802,6],[4073,5],[4150,5],[5615,5]]},"415":{"position":[[197,5],[220,6],[370,6]]},"421":{"position":[[466,6]]},"452":{"position":[[600,5]]},"466":{"position":[[60,6]]},"467":{"position":[[414,5],[572,6]]},"468":{"position":[[281,6]]},"472":{"position":[[903,6]]},"473":{"position":[[137,6],[223,5],[643,5]]},"487":{"position":[[97,6]]},"496":{"position":[[294,6]]},"517":{"position":[[171,8],[306,6]]},"522":{"position":[[1122,6],[1187,6],[1237,6]]},"540":{"position":[[694,6],[786,6]]},"544":{"position":[[455,6],[1266,6]]},"554":{"position":[[546,5]]},"559":{"position":[[138,6],[213,5],[1416,6]]},"560":{"position":[[209,5],[245,7],[409,5],[558,5]]},"562":{"position":[[120,5],[335,5],[389,5],[442,5],[496,5],[549,5],[614,5]]},"563":{"position":[[55,5],[173,5]]},"564":{"position":[[274,5]]},"565":{"position":[[483,6],[826,5]]},"568":{"position":[[540,5],[620,5],[650,5],[885,6]]},"571":{"position":[[34,6],[152,6],[202,6],[360,6]]},"579":{"position":[[16,6],[204,5]]},"581":{"position":[[220,5],[451,5]]},"587":{"position":[[111,5],[234,5],[251,5],[268,5],[280,5],[297,5],[314,5],[325,5],[342,5]]},"588":{"position":[[105,5],[228,5],[245,5],[262,5],[274,5],[291,5],[308,5],[319,5],[336,5]]},"589":{"position":[[116,5],[239,5],[256,5],[273,5],[285,5],[302,5],[319,5],[330,5],[347,5]]},"590":{"position":[[36,5],[121,5],[131,5]]},"591":{"position":[[220,5],[451,5]]},"592":{"position":[[212,6]]},"604":{"position":[[121,5]]},"608":{"position":[[51,7],[266,5]]},"609":{"position":[[426,5],[453,5],[499,7]]},"610":{"position":[[613,5],[640,5],[686,7]]},"611":{"position":[[33,5],[209,5],[271,5],[303,5],[598,5],[625,5],[671,7],[786,5]]},"612":{"position":[[162,5],[189,5],[235,7],[760,7],[1019,5],[1082,6],[1111,5]]},"613":{"position":[[202,5],[287,5],[410,5],[437,5],[483,7]]},"614":{"position":[[51,5],[183,5],[210,5],[256,7],[371,5]]},"615":{"position":[[59,5],[329,5],[356,5],[402,7],[517,5]]},"616":{"position":[[49,5],[203,5],[230,5],[276,7],[391,5]]},"617":{"position":[[49,5],[206,5],[233,5],[279,7],[394,5]]},"618":{"position":[[49,5],[206,5],[220,5],[293,5],[345,5],[359,5],[432,5],[480,5],[507,5],[553,7],[668,5]]},"619":{"position":[[55,6],[119,6],[148,6],[470,5],[497,5],[543,7],[951,5],[1014,6],[1043,5]]},"620":{"position":[[28,5],[199,5],[226,5],[272,7]]},"621":{"position":[[28,5],[197,5],[224,5],[270,7]]},"622":{"position":[[183,5],[210,5],[256,7]]},"623":{"position":[[18,5],[172,5],[199,5],[245,7],[360,5]]},"624":{"position":[[18,5],[175,5],[202,5],[248,7],[363,5]]},"625":{"position":[[18,5],[175,5],[189,5],[262,5],[314,5],[328,5],[401,5],[449,5],[476,5],[522,7],[637,5]]},"626":{"position":[[169,5],[196,5],[242,7],[336,7],[492,7],[896,5],[923,5],[969,7],[1063,7],[1219,7]]},"627":{"position":[[203,5],[230,5],[276,7],[370,7],[526,7],[949,5],[976,5],[1022,7],[1116,7],[1272,7]]},"628":{"position":[[187,5],[214,5],[260,7],[354,7],[510,7],[921,5],[948,5],[994,7],[1088,7],[1244,7]]},"629":{"position":[[185,5]]},"630":{"position":[[206,5],[295,5],[420,5],[447,5],[493,7]]},"631":{"position":[[49,5],[185,5],[199,5],[272,5],[324,5],[338,5],[411,5],[459,5],[486,5],[532,7]]},"633":{"position":[[82,5],[215,5],[242,5],[288,7],[417,6],[529,5],[562,5],[606,5],[650,5]]},"635":{"position":[[38,5],[100,5],[162,5],[194,5],[411,5],[438,5],[484,7],[599,5],[647,5],[691,5]]},"637":{"position":[[200,6],[271,6],[1235,5],[1567,9]]},"648":{"position":[[16,5],[444,5],[471,5],[517,7]]},"650":{"position":[[63,5],[90,6],[397,5],[424,5],[447,7],[1294,5],[1346,5]]},"652":{"position":[[104,5],[603,5],[630,5],[675,7],[1198,5],[1262,5]]},"659":{"position":[[46,6],[278,5]]},"663":{"position":[[39,6]]},"664":{"position":[[492,5],[532,6],[668,5],[710,5],[736,5],[766,5],[889,5],[931,5],[957,5],[987,5]]},"665":{"position":[[458,5],[498,6],[716,5],[980,5]]},"668":{"position":[[599,5],[671,5],[752,5],[827,5],[914,5],[986,5],[1067,5],[1143,6]]},"677":{"position":[[1027,5],[1033,5],[1065,6],[1188,5]]},"678":{"position":[[1249,5],[1255,5],[1287,6],[1410,5]]},"679":{"position":[[1270,5],[1276,5],[1308,6],[1431,5]]},"680":{"position":[[1303,5],[1309,5],[1341,6],[1464,5]]},"681":{"position":[[1103,5],[1109,5],[1141,6],[1264,5]]},"682":{"position":[[1320,5],[1326,5],[1358,6],[1481,5]]},"683":{"position":[[1341,5],[1347,5],[1379,6],[1502,5]]},"684":{"position":[[1374,5],[1380,5],[1412,6],[1535,5]]},"685":{"position":[[372,6]]},"690":{"position":[[1486,9],[1511,9]]},"693":{"position":[[17,5],[533,5],[544,5],[661,5],[751,5],[787,5]]},"698":{"position":[[55,5],[587,5],[602,5],[669,6]]},"701":{"position":[[562,5],[615,5],[694,5],[751,5],[814,5],[990,5],[1043,5],[1122,5],[1179,5],[1242,5]]},"703":{"position":[[20,7],[96,5]]},"704":{"position":[[13,6],[178,5],[203,5],[270,7],[467,6]]},"710":{"position":[[23,5],[71,5],[299,6],[559,5],[565,5],[583,5]]},"711":{"position":[[372,5],[384,5],[454,6]]},"712":{"position":[[20,5],[89,5],[426,5],[432,5]]},"714":{"position":[[50,6],[105,5],[163,6],[1467,8],[1587,8],[1707,8],[1830,8]]},"723":{"position":[[114,5],[743,5],[758,5],[825,6]]},"726":{"position":[[91,5]]},"727":{"position":[[108,5],[642,5],[657,5],[724,6]]},"741":{"position":[[765,5],[782,5],[870,5],[887,5],[1005,5],[1022,5],[1132,5],[1149,5],[1216,5],[1324,6],[1366,5],[1474,6]]},"748":{"position":[[52,5]]},"756":{"position":[[54,5]]},"765":{"position":[[51,5]]},"770":{"position":[[121,5]]},"771":{"position":[[174,5],[180,5]]},"803":{"position":[[163,5],[398,7],[436,7],[506,7],[539,7]]},"804":{"position":[[166,5],[418,7],[473,7]]},"805":{"position":[[43,6]]},"808":{"position":[[57,7]]},"810":{"position":[[24,6],[310,5],[324,5]]},"814":{"position":[[156,6]]}},"keywords":{}}],["value>",{"_index":5044,"title":{},"content":{"677":{"position":[[134,10],[180,10],[318,10],[374,10],[499,10],[545,10],[679,10],[730,10]]},"678":{"position":[[311,10],[357,10],[510,10],[566,10],[706,10],[752,10],[901,10],[952,10]]},"679":{"position":[[320,10],[366,10],[523,10],[579,10],[723,10],[769,10],[922,10],[973,10]]},"680":{"position":[[380,10],[426,10],[574,10],[630,10],[765,10],[811,10],[955,10],[1006,10]]},"681":{"position":[[166,10],[212,10],[362,10],[426,10],[555,10],[601,10],[747,10],[806,10]]},"682":{"position":[[338,10],[384,10],[549,10],[613,10],[757,10],[803,10],[964,10],[1023,10]]},"683":{"position":[[347,10],[393,10],[562,10],[626,10],[774,10],[820,10],[985,10],[1044,10]]},"684":{"position":[[407,10],[453,10],[613,10],[677,10],[816,10],[862,10],[1018,10],[1077,10]]},"698":{"position":[[369,10]]},"723":{"position":[[462,10]]},"727":{"position":[[368,10]]},"771":{"position":[[95,10]]},"810":{"position":[[225,10]]}},"keywords":{}}],["value<",{"_index":212,"title":{},"content":{"6":{"position":[[373,11]]}},"keywords":{}}],["value"",{"_index":2397,"title":{},"content":{"228":{"position":[[2078,11]]},"359":{"position":[[1322,12],[1563,11],[2581,12]]},"664":{"position":[[792,12],[1013,12]]},"665":{"position":[[780,12],[1044,12]]}},"keywords":{}}],["value(",{"_index":2154,"title":{},"content":{"186":{"position":[[334,8]]},"580":{"position":[[265,8]]},"581":{"position":[[750,8]]},"591":{"position":[[709,8]]}},"keywords":{}}],["value(d,h,m,",{"_index":4720,"title":{},"content":{"626":{"position":[[1523,15]]},"627":{"position":[[1576,15]]},"628":{"position":[[1548,15]]}},"keywords":{}}],["value.split.join",{"_index":2319,"title":{},"content":{"217":{"position":[[1955,21]]}},"keywords":{}}],["value1",{"_index":228,"title":{},"content":{"6":{"position":[[830,6]]},"612":{"position":[[839,6]]},"711":{"position":[[621,9],[731,10]]}},"keywords":{}}],["value2",{"_index":229,"title":{},"content":{"6":{"position":[[885,6]]},"711":{"position":[[642,8],[747,9]]}},"keywords":{}}],["value3",{"_index":231,"title":{},"content":{"6":{"position":[[940,6]]},"619":{"position":[[228,6]]},"637":{"position":[[1015,8]]}},"keywords":{}}],["value4",{"_index":233,"title":{},"content":{"6":{"position":[[995,6]]}},"keywords":{}}],["value5",{"_index":235,"title":{},"content":{"6":{"position":[[1050,6]]},"619":{"position":[[732,6]]}},"keywords":{}}],["value_eq",{"_index":4832,"title":{},"content":{"652":{"position":[[897,8],[922,8],[1006,8],[1039,8],[1166,9]]}},"keywords":{}}],["value_typ",{"_index":5321,"title":{},"content":{"714":{"position":[[1446,13],[1560,13],[1680,13],[1802,13]]}},"keywords":{}}],["valueadd",{"_index":4186,"title":{},"content":{"479":{"position":[[38,8]]}},"keywords":{}}],["valuelimitsbar",{"_index":4713,"title":{"623":{"position":[[0,15]]}},"content":{"623":{"position":[[408,14],[461,14]]}},"keywords":{}}],["valuelimitscolumn",{"_index":4714,"title":{"624":{"position":[[0,18]]}},"content":{"624":{"position":[[410,17],[466,17]]}},"keywords":{}}],["valuerangebar",{"_index":4715,"title":{"625":{"position":[[0,14]]}},"content":{"625":{"position":[[788,13],[850,13]]}},"keywords":{}}],["values[0][0",{"_index":4579,"title":{},"content":{"571":{"position":[[395,12]]}},"keywords":{}}],["valuesonli",{"_index":4188,"title":{},"content":{"479":{"position":[[103,10]]}},"keywords":{}}],["valuesperform",{"_index":4282,"title":{},"content":{"529":{"position":[[112,13]]}},"keywords":{}}],["var",{"_index":3875,"title":{},"content":{"402":{"position":[[2377,3],[3394,3]]},"536":{"position":[[222,3]]},"637":{"position":[[1559,7],[1957,4]]},"639":{"position":[[332,4]]},"640":{"position":[[257,4]]},"643":{"position":[[319,4]]},"644":{"position":[[257,4]]}},"keywords":{}}],["var/lib/apt/list",{"_index":3583,"title":{},"content":{"376":{"position":[[358,20]]}},"keywords":{}}],["vari",{"_index":791,"title":{},"content":{"36":{"position":[[6478,4],[7274,4]]},"81":{"position":[[722,5]]},"82":{"position":[[6463,5]]},"229":{"position":[[6478,4],[7274,4]]},"273":{"position":[[251,4]]},"279":{"position":[[5017,4],[5875,4]]},"367":{"position":[[202,4]]},"402":{"position":[[5206,7]]},"485":{"position":[[285,6]]},"603":{"position":[[122,4]]}},"keywords":{}}],["variabl",{"_index":196,"title":{"126":{"position":[[0,9]]},"273":{"position":[[0,8]]},"564":{"position":[[6,9]]}},"content":{"6":{"position":[[106,9],[560,8]]},"7":{"position":[[1035,8]]},"42":{"position":[[1772,10]]},"44":{"position":[[988,9]]},"48":{"position":[[1133,8],[1512,8],[2000,8],[3647,8],[3764,8],[4271,8],[5157,8]]},"69":{"position":[[673,8]]},"88":{"position":[[115,8]]},"109":{"position":[[1606,8]]},"110":{"position":[[1988,8]]},"115":{"position":[[1142,9],[1401,9]]},"117":{"position":[[633,9]]},"125":{"position":[[120,9]]},"126":{"position":[[23,8],[52,8],[79,8],[161,9],[275,9],[441,9],[566,9],[609,9],[766,8],[815,8]]},"127":{"position":[[90,8]]},"141":{"position":[[277,9],[462,8],[496,8]]},"142":{"position":[[36,8],[114,8],[151,8]]},"180":{"position":[[21,8],[98,8],[135,8]]},"188":{"position":[[237,9],[422,8],[456,8]]},"213":{"position":[[362,8]]},"255":{"position":[[358,10]]},"259":{"position":[[389,9]]},"260":{"position":[[79,9]]},"273":{"position":[[20,8],[157,8],[337,8]]},"279":{"position":[[10679,8]]},"288":{"position":[[327,8]]},"302":{"position":[[2535,8]]},"313":{"position":[[152,8]]},"314":{"position":[[135,9],[459,8],[513,8],[554,8],[610,8],[656,8],[693,8],[736,8],[795,8],[857,8],[943,8],[1112,8],[1644,8],[1680,9]]},"315":{"position":[[224,9],[270,8],[421,9],[467,8]]},"332":{"position":[[321,9],[1197,9],[1333,9],[1375,9]]},"349":{"position":[[6679,8]]},"352":{"position":[[740,8],[839,8],[936,8]]},"358":{"position":[[1382,8],[6462,9],[6574,8],[6977,8],[7359,9],[7444,9],[8272,9],[8385,9]]},"359":{"position":[[2260,9]]},"378":{"position":[[768,8],[790,8],[812,8],[834,8]]},"380":{"position":[[1055,8]]},"383":{"position":[[1738,9]]},"531":{"position":[[288,9],[368,10],[641,9],[721,10]]},"535":{"position":[[977,8],[1208,8]]},"536":{"position":[[121,9],[202,9]]},"540":{"position":[[532,9],[685,8],[777,8],[866,8],[1389,8],[4598,9],[4737,8]]},"554":{"position":[[194,10],[449,9],[515,8],[559,8],[606,9]]},"555":{"position":[[202,9]]},"560":{"position":[[476,8],[1080,8]]},"564":{"position":[[97,9]]},"565":{"position":[[207,9]]},"569":{"position":[[746,9],[1201,8]]},"637":{"position":[[1489,10],[2167,8]]},"699":{"position":[[456,8],[479,8],[654,8]]}},"keywords":{}}],["variable1=value1",{"_index":2926,"title":{},"content":{"315":{"position":[[89,18],[321,18]]}},"keywords":{}}],["variable2=value2",{"_index":2927,"title":{},"content":{"315":{"position":[[108,18],[340,18]]}},"keywords":{}}],["variable_bit_s",{"_index":691,"title":{},"content":{"36":{"position":[[1548,18]]},"229":{"position":[[1548,18]]},"279":{"position":[[1543,18]]}},"keywords":{}}],["variable_nam",{"_index":4492,"title":{},"content":{"554":{"position":[[590,13],[657,13]]}},"keywords":{}}],["variablesshow",{"_index":4280,"title":{},"content":{"529":{"position":[[56,13]]}},"keywords":{}}],["variat",{"_index":3275,"title":{},"content":{"358":{"position":[[6486,9]]},"544":{"position":[[1236,9]]}},"keywords":{}}],["varieti",{"_index":3408,"title":{},"content":{"368":{"position":[[578,7]]}},"keywords":{}}],["variou",{"_index":674,"title":{},"content":{"36":{"position":[[722,7]]},"46":{"position":[[86,7]]},"229":{"position":[[722,7]]},"240":{"position":[[111,7]]},"261":{"position":[[349,7],[463,7]]},"279":{"position":[[717,7]]},"287":{"position":[[120,7]]},"307":{"position":[[1573,7]]},"328":{"position":[[71,7]]},"333":{"position":[[1456,7]]},"338":{"position":[[669,7]]},"339":{"position":[[157,7]]},"340":{"position":[[48,7]]},"368":{"position":[[759,7]]},"402":{"position":[[1880,7]]},"416":{"position":[[27,7],[278,7]]},"440":{"position":[[351,7]]},"462":{"position":[[480,7]]},"473":{"position":[[277,7]]},"511":{"position":[[263,7]]},"650":{"position":[[74,7]]},"788":{"position":[[41,7]]}},"keywords":{}}],["vc_frm_cnt",{"_index":1287,"title":{},"content":{"60":{"position":[[111,10]]}},"keywords":{}}],["vcid",{"_index":1283,"title":{},"content":{"59":{"position":[[420,4]]},"60":{"position":[[93,5]]}},"keywords":{}}],["vcpu",{"_index":3418,"title":{},"content":{"369":{"position":[[77,6]]}},"keywords":{}}],["vel[x,y,z",{"_index":3429,"title":{},"content":{"369":{"position":[[636,11]]}},"keywords":{}}],["veri",{"_index":271,"title":{},"content":{"7":{"position":[[1098,4]]},"53":{"position":[[252,4]]},"55":{"position":[[1930,4]]},"67":{"position":[[3562,4]]},"83":{"position":[[11,4]]},"100":{"position":[[832,4],[882,4]]},"274":{"position":[[208,4]]},"301":{"position":[[1552,4]]},"349":{"position":[[664,4]]},"383":{"position":[[483,4]]},"402":{"position":[[784,4]]},"432":{"position":[[1009,4]]},"506":{"position":[[748,4]]},"539":{"position":[[79,4]]},"543":{"position":[[21,4]]},"559":{"position":[[182,4]]},"657":{"position":[[82,4]]},"793":{"position":[[147,4]]}},"keywords":{}}],["verif",{"_index":5198,"title":{},"content":{"697":{"position":[[12,12],[88,12]]},"698":{"position":[[86,12]]}},"keywords":{}}],["verifi",{"_index":1336,"title":{},"content":{"65":{"position":[[56,6]]},"344":{"position":[[101,6],[593,6],[710,6],[1080,6]]},"348":{"position":[[799,6],[1629,6],[1796,6],[1960,6],[2016,6],[2164,6]]},"349":{"position":[[893,8],[2244,6],[2388,6],[2512,6],[2681,6],[2801,6],[2972,6],[3084,6],[3261,6],[3454,6],[4501,6],[4918,6],[5711,6]]},"350":{"position":[[995,6],[1293,6],[1596,6]]},"351":{"position":[[439,6]]},"542":{"position":[[116,9]]},"568":{"position":[[840,6]]}},"keywords":{}}],["versa",{"_index":311,"title":{},"content":{"9":{"position":[[964,6]]}},"keywords":{}}],["version",{"_index":761,"title":{},"content":{"36":{"position":[[5170,7]]},"44":{"position":[[172,7]]},"47":{"position":[[199,9]]},"62":{"position":[[702,7]]},"86":{"position":[[37,7]]},"112":{"position":[[402,8],[960,7]]},"113":{"position":[[453,8],[556,7]]},"216":{"position":[[808,7]]},"217":{"position":[[2929,7]]},"229":{"position":[[5170,7]]},"251":{"position":[[349,7]]},"253":{"position":[[186,7],[1064,7],[1834,7]]},"260":{"position":[[181,7]]},"279":{"position":[[3651,7]]},"299":{"position":[[156,7]]},"301":{"position":[[1372,7]]},"326":{"position":[[638,8]]},"328":{"position":[[182,7]]},"331":{"position":[[522,7],[562,7],[820,7],[865,7]]},"333":{"position":[[677,7],[705,7],[795,7]]},"359":{"position":[[171,8],[234,7],[269,7],[309,10],[1773,7],[1985,8]]},"362":{"position":[[1378,7],[1458,7]]},"369":{"position":[[4304,8],[4328,8],[4352,8],[4374,8],[4401,8],[4434,8],[4500,8]]},"379":{"position":[[3644,10],[3683,7],[3761,8],[3794,7],[3881,8],[3913,9]]},"383":{"position":[[396,9]]},"426":{"position":[[1254,8]]},"547":{"position":[[1198,7]]},"708":{"position":[[644,7]]},"807":{"position":[[352,10]]},"808":{"position":[[906,10],[926,10]]}},"keywords":{}}],["version=1",{"_index":1534,"title":{},"content":{"82":{"position":[[856,10],[1003,10]]}},"keywords":{}}],["version=1.0.0",{"_index":3288,"title":{},"content":{"359":{"position":[[106,13]]},"379":{"position":[[3621,13]]}},"keywords":{}}],["version=1.0.1",{"_index":2996,"title":{},"content":{"326":{"position":[[572,13]]},"359":{"position":[[1920,13]]}},"keywords":{}}],["version=x.x.x"",{"_index":2756,"title":{},"content":{"301":{"position":[[1326,19]]}},"keywords":{}}],["vertic",{"_index":4235,"title":{"594":{"position":[[0,9]]}},"content":{"504":{"position":[[258,8]]},"524":{"position":[[362,10],[716,10]]},"589":{"position":[[441,8]]},"594":{"position":[[36,10],[73,8],[179,8],[207,8],[357,8]]},"595":{"position":[[36,10],[125,10]]},"599":{"position":[[332,8]]},"601":{"position":[[11,8]]},"607":{"position":[[179,8]]},"621":{"position":[[60,10]]},"654":{"position":[[57,8]]},"786":{"position":[[511,8],[783,8]]},"787":{"position":[[971,8],[1254,8]]}},"keywords":{}}],["vertical_message_box",{"_index":4512,"title":{"667":{"position":[[0,21]]}},"content":{"559":{"position":[[1143,21]]},"668":{"position":[[18,21]]}},"keywords":{}}],["vertical_message_box("<message>"",{"_index":4973,"title":{},"content":{"668":{"position":[[294,49]]}},"keywords":{}}],["vertical_message_box("select",{"_index":4980,"title":{},"content":{"668":{"position":[[679,33],[994,33]]}},"keywords":{}}],["verticalbox",{"_index":4600,"title":{"595":{"position":[[0,12]]}},"content":{"578":{"position":[[128,11],[206,11]]},"591":{"position":[[766,11]]},"595":{"position":[[73,11],[332,11]]},"654":{"position":[[250,11],[687,11]]},"786":{"position":[[549,11],[821,11]]},"787":{"position":[[1011,11],[1294,11]]}},"keywords":{}}],["vetur",{"_index":906,"title":{},"content":{"42":{"position":[[198,6]]}},"keywords":{}}],["vi",{"_index":2878,"title":{},"content":{"309":{"position":[[2281,2],[3194,2],[3386,2]]}},"keywords":{}}],["via",{"_index":701,"title":{},"content":{"36":{"position":[[2000,3]]},"229":{"position":[[2000,3]]},"364":{"position":[[71,3]]},"379":{"position":[[1139,3]]},"393":{"position":[[1260,3]]},"454":{"position":[[509,3]]},"592":{"position":[[37,3]]},"710":{"position":[[233,3]]}},"keywords":{}}],["vice",{"_index":310,"title":{},"content":{"9":{"position":[[959,4]]}},"keywords":{}}],["view",{"_index":1769,"title":{"490":{"position":[[0,4]]}},"content":{"93":{"position":[[555,4]]},"209":{"position":[[630,6]]},"271":{"position":[[1673,4]]},"321":{"position":[[1544,4]]},"344":{"position":[[980,4],[1238,4]]},"346":{"position":[[228,4],[490,4],[591,4],[725,4],[764,4],[883,4],[1035,4],[1074,4],[1190,4],[1635,4],[1762,4]]},"347":{"position":[[296,4],[494,4]]},"349":{"position":[[4184,7]]},"350":{"position":[[41,4],[755,4],[948,4],[1263,4],[1545,4]]},"351":{"position":[[146,5]]},"354":{"position":[[515,4]]},"356":{"position":[[441,4]]},"406":{"position":[[155,7]]},"439":{"position":[[97,4]]},"454":{"position":[[485,6]]},"459":{"position":[[27,4]]},"489":{"position":[[98,5]]},"509":{"position":[[264,4]]},"512":{"position":[[130,4]]},"514":{"position":[[242,4],[321,4]]},"515":{"position":[[263,4],[351,4]]},"528":{"position":[[334,4],[711,4]]}},"keywords":{}}],["viewer",{"_index":359,"title":{"350":{"position":[[7,7]]},"351":{"position":[[10,7]]},"354":{"position":[[5,7]]},"458":{"position":[[5,6]]},"460":{"position":[[5,6]]},"486":{"position":[[7,6]]},"488":{"position":[[7,6]]},"500":{"position":[[10,6]]}},"content":{"14":{"position":[[150,6]]},"96":{"position":[[253,6]]},"203":{"position":[[79,6],[451,6]]},"271":{"position":[[1234,6],[1248,6]]},"290":{"position":[[94,7]]},"302":{"position":[[2143,6]]},"306":{"position":[[95,6]]},"320":{"position":[[1775,6]]},"346":{"position":[[1598,7],[1650,6]]},"350":{"position":[[8,6],[196,6],[381,6],[539,6],[719,6],[887,6],[1032,6],[1147,6],[1403,6]]},"351":{"position":[[11,6],[318,6],[403,6],[499,6]]},"354":{"position":[[6,6],[239,6],[354,6],[456,6],[551,6],[651,6]]},"407":{"position":[[159,6]]},"459":{"position":[[6,6]]},"487":{"position":[[8,6],[35,6]]},"491":{"position":[[26,6]]},"501":{"position":[[11,6],[38,6]]},"504":{"position":[[292,7]]},"505":{"position":[[379,6]]},"515":{"position":[[366,6],[395,6]]},"574":{"position":[[396,6]]},"577":{"position":[[20,6],[270,6],[363,6]]},"662":{"position":[[185,6],[241,6],[312,6],[536,6]]},"783":{"position":[[31,6]]},"786":{"position":[[107,6]]},"787":{"position":[[125,6]]}},"keywords":{}}],["violat",{"_index":2636,"title":{},"content":{"279":{"position":[[7956,8]]},"344":{"position":[[1202,11]]},"347":{"position":[[482,11]]},"389":{"position":[[1174,9]]},"470":{"position":[[123,7]]},"473":{"position":[[85,7]]}},"keywords":{}}],["viral",{"_index":3747,"title":{},"content":{"389":{"position":[[176,5]]}},"keywords":{}}],["virtual",{"_index":1284,"title":{"249":{"position":[[0,8]]},"295":{"position":[[0,8]]}},"content":{"59":{"position":[[425,7]]},"249":{"position":[[38,7]]},"295":{"position":[[38,7]]},"310":{"position":[[53,7]]},"369":{"position":[[115,14]]}},"keywords":{}}],["visibl",{"_index":4257,"title":{},"content":{"522":{"position":[[246,7]]},"552":{"position":[[789,10]]},"787":{"position":[[704,7],[890,7]]}},"keywords":{}}],["visit",{"_index":466,"title":{},"content":{"20":{"position":[[1527,5]]},"43":{"position":[[626,5]]},"437":{"position":[[170,5]]}},"keywords":{}}],["visual",{"_index":896,"title":{},"content":{"42":{"position":[[40,6]]},"209":{"position":[[167,8]]},"306":{"position":[[821,13]]},"321":{"position":[[1311,10]]},"324":{"position":[[1,6]]},"349":{"position":[[26,6]]},"364":{"position":[[326,9]]},"365":{"position":[[67,13]]},"368":{"position":[[733,9]]},"379":{"position":[[3858,9]]},"449":{"position":[[10,10]]},"462":{"position":[[194,6],[320,14],[488,15]]},"540":{"position":[[3972,8]]}},"keywords":{}}],["vm.max_map_count=262144",{"_index":2873,"title":{},"content":{"309":{"position":[[2142,23]]},"404":{"position":[[2148,23]]}},"keywords":{}}],["vm.overcommit_memory=1",{"_index":3972,"title":{},"content":{"404":{"position":[[2187,22]]}},"keywords":{}}],["volt",{"_index":1331,"title":{},"content":{"64":{"position":[[1107,5],[1219,5]]},"219":{"position":[[1011,5]]}},"keywords":{}}],["voltag",{"_index":2342,"title":{},"content":{"219":{"position":[[694,7],[728,7],[948,7]]}},"keywords":{}}],["volum",{"_index":2010,"title":{},"content":{"127":{"position":[[307,6]]},"310":{"position":[[620,6]]},"333":{"position":[[1383,7]]},"382":{"position":[[82,7]]}},"keywords":{}}],["vpnkitmaxportidletim",{"_index":3032,"title":{},"content":{"330":{"position":[[1418,21]]}},"keywords":{}}],["vs",{"_index":2989,"title":{"540":{"position":[[5,2]]},"547":{"position":[[8,2]]},"551":{"position":[[14,2]]},"552":{"position":[[13,2],[46,2]]}},"content":{"324":{"position":[[43,2]]},"358":{"position":[[1272,2]]},"564":{"position":[[826,2]]}},"keywords":{}}],["vscode",{"_index":910,"title":{},"content":{"42":{"position":[[269,6]]}},"keywords":{}}],["vue",{"_index":1783,"title":{},"content":{"96":{"position":[[36,3]]},"264":{"position":[[388,4]]},"307":{"position":[[789,3],[882,4],[931,3],[1461,3]]},"320":{"position":[[482,3],[1046,3],[1190,3],[1471,3]]}},"keywords":{}}],["vue.config.j",{"_index":2820,"title":{},"content":{"307":{"position":[[1447,13]]}},"keywords":{}}],["vue.j",{"_index":2541,"title":{"263":{"position":[[0,7]]}},"content":{"263":{"position":[[71,6],[93,7],[388,6],[531,6],[582,6]]},"264":{"position":[[35,7]]},"306":{"position":[[790,6]]},"307":{"position":[[235,7],[310,7],[1314,6]]},"320":{"position":[[605,6]]}},"keywords":{}}],["vuetifi",{"_index":1784,"title":{},"content":{"96":{"position":[[44,7]]},"263":{"position":[[403,7],[546,7],[597,7]]},"307":{"position":[[887,8]]},"320":{"position":[[492,7],[616,8]]}},"keywords":{}}],["w",{"_index":2872,"title":{},"content":{"309":{"position":[[2140,1]]},"404":{"position":[[2146,1],[2185,1]]}},"keywords":{}}],["w/"1e44c0878528687014e1e60a1cbebdae"",{"_index":1579,"title":{},"content":{"82":{"position":[[6416,46]]}},"keywords":{}}],["w/"e806aacfdbed0b325e7a5928e3bb5cf4"",{"_index":1504,"title":{},"content":{"81":{"position":[[675,46]]}},"keywords":{}}],["wait",{"_index":874,"title":{"722":{"position":[[0,5]]}},"content":{"40":{"position":[[727,4]]},"61":{"position":[[2572,4],[2662,4]]},"64":{"position":[[26,5],[173,4],[201,7],[274,4]]},"67":{"position":[[4993,7]]},"104":{"position":[[154,4],[569,4],[638,4]]},"105":{"position":[[456,4],[525,4]]},"106":{"position":[[738,4],[811,4]]},"107":{"position":[[433,4],[539,4],[655,4]]},"109":{"position":[[816,4]]},"110":{"position":[[1150,4]]},"111":{"position":[[648,4],[717,4]]},"112":{"position":[[573,7]]},"138":{"position":[[385,4]]},"309":{"position":[[3887,4]]},"349":{"position":[[3023,4],[3068,4],[3091,4],[4725,4]]},"367":{"position":[[794,4]]},"404":{"position":[[1620,4],[1796,4]]},"421":{"position":[[538,5]]},"422":{"position":[[11,4],[1491,7]]},"560":{"position":[[335,6],[722,4],[751,4],[934,4],[965,6]]},"563":{"position":[[612,4],[782,4],[1114,4]]},"565":{"position":[[711,7],[989,7]]},"568":{"position":[[166,4],[493,4]]},"579":{"position":[[397,4]]},"658":{"position":[[557,6]]},"662":{"position":[[5096,9]]},"675":{"position":[[36,5]]},"717":{"position":[[275,7],[498,4],[706,5],[1204,5]]},"721":{"position":[[53,4]]},"722":{"position":[[217,4],[280,4],[384,6],[422,6],[489,6],[1120,4],[1145,7],[1506,4],[1521,4],[1713,6]]},"723":{"position":[[887,4],[912,7]]},"724":{"position":[[205,4],[673,4],[698,7]]},"725":{"position":[[875,4]]},"726":{"position":[[14,4],[244,7],[732,4],[757,7]]},"727":{"position":[[226,7],[783,4],[808,7]]},"728":{"position":[[201,4],[340,7],[598,4],[623,7]]},"729":{"position":[[176,7],[528,4],[553,7],[853,4]]},"789":{"position":[[172,4]]},"799":{"position":[[123,5]]}},"keywords":{}}],["wait(<time>",{"_index":5346,"title":{},"content":{"722":{"position":[[439,18]]}},"keywords":{}}],["wait("<target",{"_index":5348,"title":{},"content":{"722":{"position":[[665,21]]}},"keywords":{}}],["wait("inst",{"_index":5354,"title":{},"content":{"722":{"position":[[1538,15],[1603,15],[1748,15],[1813,15]]}},"keywords":{}}],["wait(0.1",{"_index":5329,"title":{},"content":{"717":{"position":[[1001,9]]}},"keywords":{}}],["wait(1.5",{"_index":4539,"title":{},"content":{"563":{"position":[[949,9]]}},"keywords":{}}],["wait(5",{"_index":5355,"title":{},"content":{"722":{"position":[[1730,7]]}},"keywords":{}}],["wait_check",{"_index":3162,"title":{"726":{"position":[[0,11]]}},"content":{"349":{"position":[[1923,12]]},"542":{"position":[[228,13]]},"544":{"position":[[699,13],[780,13],[1106,15]]},"552":{"position":[[216,11]]},"568":{"position":[[103,12]]},"662":{"position":[[5163,15]]},"697":{"position":[[278,10]]},"722":{"position":[[319,10]]}},"keywords":{}}],["wait_check("#{target",{"_index":4360,"title":{},"content":{"540":{"position":[[2164,26],[2540,26]]}},"keywords":{}}],["wait_check("#{target_nam",{"_index":4544,"title":{},"content":{"564":{"position":[[423,31]]}},"keywords":{}}],["wait_check("<target",{"_index":5370,"title":{},"content":{"726":{"position":[[281,27]]}},"keywords":{}}],["wait_check("inst",{"_index":4383,"title":{},"content":{"542":{"position":[[321,21],[569,21]]},"726":{"position":[[1040,21],[1113,21],[1217,21],[1290,21]]}},"keywords":{}}],["wait_check("target",{"_index":4408,"title":{},"content":{"544":{"position":[[1468,23],[1526,23]]}},"keywords":{}}],["wait_check("tgt",{"_index":2454,"title":{},"content":{"251":{"position":[[1266,20]]}},"keywords":{}}],["wait_check(f"inst",{"_index":2462,"title":{},"content":{"251":{"position":[[2059,22]]},"542":{"position":[[765,22]]}},"keywords":{}}],["wait_check(f"target",{"_index":4412,"title":{},"content":{"544":{"position":[[1748,24],[1806,24]]}},"keywords":{}}],["wait_check(f"{target",{"_index":4372,"title":{},"content":{"540":{"position":[[3080,26],[3450,26]]}},"keywords":{}}],["wait_check(f"{target_nam",{"_index":4547,"title":{},"content":{"564":{"position":[[602,31]]}},"keywords":{}}],["wait_check_express",{"_index":4550,"title":{"565":{"position":[[13,22]]},"728":{"position":[[0,22]]}},"content":{"565":{"position":[[12,21],[315,21]]},"699":{"position":[[236,21]]},"724":{"position":[[309,21]]}},"keywords":{}}],["wait_check_expression("<expression>"",{"_index":5373,"title":{},"content":{"728":{"position":[[377,53]]}},"keywords":{}}],["wait_check_expression("on",{"_index":4554,"title":{},"content":{"565":{"position":[[620,31],[764,31],[882,31],[1042,31]]}},"keywords":{}}],["wait_check_expression("tlm('inst",{"_index":5374,"title":{},"content":{"728":{"position":[[795,37]]}},"keywords":{}}],["wait_check_packet",{"_index":5365,"title":{"729":{"position":[[0,18]]}},"content":{"725":{"position":[[189,17]]}},"keywords":{}}],["wait_check_packet("<target>"",{"_index":5375,"title":{},"content":{"729":{"position":[[210,45]]}},"keywords":{}}],["wait_check_packet('inst",{"_index":5376,"title":{},"content":{"729":{"position":[[801,25]]}},"keywords":{}}],["wait_check_raw",{"_index":4957,"title":{},"content":{"662":{"position":[[5118,14]]}},"keywords":{}}],["wait_check_toler",{"_index":4565,"title":{"727":{"position":[[0,21]]}},"content":{"568":{"position":[[768,22]]},"662":{"position":[[5327,25]]},"698":{"position":[[177,20]]},"723":{"position":[[213,20]]}},"keywords":{}}],["wait_check_tolerance("<target",{"_index":5371,"title":{},"content":{"727":{"position":[[263,37]]}},"keywords":{}}],["wait_check_tolerance("inst",{"_index":5372,"title":{},"content":{"727":{"position":[[1091,31],[1178,31],[1296,31],[1383,31]]}},"keywords":{}}],["wait_check_tolerance_raw",{"_index":4960,"title":{},"content":{"662":{"position":[[5272,24]]}},"keywords":{}}],["wait_express",{"_index":5361,"title":{"724":{"position":[[0,16]]}},"content":{"724":{"position":[[259,15]]}},"keywords":{}}],["wait_expression("<expression>"",{"_index":5362,"title":{},"content":{"724":{"position":[[448,47]]}},"keywords":{}}],["wait_expression("tlm('inst",{"_index":5363,"title":{},"content":{"724":{"position":[[948,31]]}},"keywords":{}}],["wait_packet",{"_index":5364,"title":{"725":{"position":[[0,12]]}},"content":{"725":{"position":[[143,11]]}},"keywords":{}}],["wait_packet("<target>"",{"_index":5366,"title":{},"content":{"725":{"position":[[330,39]]}},"keywords":{}}],["wait_packet('inst",{"_index":5369,"title":{},"content":{"725":{"position":[[829,19]]}},"keywords":{}}],["wait_raw",{"_index":4956,"title":{},"content":{"662":{"position":[[5057,8]]}},"keywords":{}}],["wait_toler",{"_index":4959,"title":{"723":{"position":[[0,15]]}},"content":{"662":{"position":[[5240,19]]},"723":{"position":[[164,14]]}},"keywords":{}}],["wait_tolerance("<target",{"_index":5357,"title":{},"content":{"723":{"position":[[363,31]]}},"keywords":{}}],["wait_tolerance("inst",{"_index":5359,"title":{},"content":{"723":{"position":[[1274,25],[1355,25],[1481,25],[1562,25]]}},"keywords":{}}],["wait_tolerance_raw",{"_index":4958,"title":{},"content":{"662":{"position":[[5191,18]]}},"keywords":{}}],["want",{"_index":958,"title":{},"content":{"42":{"position":[[1667,4]]},"44":{"position":[[17,4]]},"67":{"position":[[426,4]]},"126":{"position":[[360,4]]},"136":{"position":[[217,4]]},"140":{"position":[[185,5]]},"279":{"position":[[8324,4]]},"303":{"position":[[930,4]]},"309":{"position":[[2869,4],[3545,4]]},"310":{"position":[[652,4]]},"325":{"position":[[8,4]]},"326":{"position":[[305,4],[852,4]]},"334":{"position":[[82,5]]},"358":{"position":[[58,4]]},"361":{"position":[[199,4]]},"379":{"position":[[3722,4]]},"389":{"position":[[366,5],[740,4],[1118,4]]},"392":{"position":[[5,4],[104,4],[423,4],[453,4],[520,4],[579,4]]},"402":{"position":[[1151,4],[1460,4],[3256,4]]},"452":{"position":[[463,4],[643,4]]},"457":{"position":[[161,4]]},"462":{"position":[[179,4]]},"473":{"position":[[1407,4],[1440,4]]},"482":{"position":[[81,4]]},"498":{"position":[[649,4]]},"499":{"position":[[555,4]]},"528":{"position":[[427,5]]},"540":{"position":[[1890,4],[1973,4],[2804,4],[2888,4],[3935,4]]},"546":{"position":[[464,4]]},"552":{"position":[[844,4]]},"559":{"position":[[475,4],[761,4]]},"637":{"position":[[176,4]]},"673":{"position":[[308,4]]},"778":{"position":[[187,4],[225,4]]},"793":{"position":[[569,4],[709,4]]}},"keywords":{}}],["warn",{"_index":108,"title":{},"content":{"3":{"position":[[404,8]]},"15":{"position":[[167,7]]},"16":{"position":[[171,7]]},"17":{"position":[[325,7]]},"18":{"position":[[330,7]]},"36":{"position":[[1207,8],[1293,7],[8990,7]]},"229":{"position":[[1207,8],[1293,7],[8990,7]]},"279":{"position":[[1202,8],[1288,7],[7113,7]]},"289":{"position":[[178,9]]},"294":{"position":[[105,7]]},"326":{"position":[[890,7]]},"422":{"position":[[814,4]]},"592":{"position":[[240,7]]},"646":{"position":[[106,7]]}},"keywords":{}}],["warning"",{"_index":4670,"title":{},"content":{"604":{"position":[[255,13]]}},"keywords":{}}],["warranti",{"_index":3754,"title":{},"content":{"389":{"position":[[637,8]]},"390":{"position":[[739,8],[816,10]]}},"keywords":{}}],["watch",{"_index":3127,"title":{},"content":{"347":{"position":[[613,5]]}},"keywords":{}}],["water",{"_index":3396,"title":{},"content":{"367":{"position":[[833,5]]}},"keywords":{}}],["watermark_processor.pi",{"_index":2677,"title":{},"content":{"288":{"position":[[517,22]]}},"keywords":{}}],["watermark_processor.rb",{"_index":2676,"title":{},"content":{"288":{"position":[[449,22]]}},"keywords":{}}],["way",{"_index":272,"title":{},"content":{"7":{"position":[[1112,3]]},"55":{"position":[[2706,3]]},"61":{"position":[[421,3]]},"93":{"position":[[77,3]]},"141":{"position":[[753,3]]},"225":{"position":[[456,3],[676,3]]},"271":{"position":[[487,3],[703,3]]},"326":{"position":[[1298,3]]},"351":{"position":[[29,3],[259,5]]},"358":{"position":[[4234,3]]},"361":{"position":[[67,3]]},"386":{"position":[[24,3]]},"404":{"position":[[360,3]]},"426":{"position":[[1172,4]]},"543":{"position":[[55,4]]},"544":{"position":[[256,4]]},"546":{"position":[[28,4]]},"547":{"position":[[856,3]]},"552":{"position":[[293,4],[696,3],[1162,4]]},"554":{"position":[[126,4]]},"659":{"position":[[26,4]]},"699":{"position":[[705,3]]}},"keywords":{}}],["wb",{"_index":2271,"title":{},"content":{"214":{"position":[[1442,5]]}},"keywords":{}}],["we'll",{"_index":1621,"title":{},"content":{"83":{"position":[[1422,5]]}},"keywords":{}}],["we'r",{"_index":2939,"title":{},"content":{"319":{"position":[[1,5]]},"320":{"position":[[1571,5]]},"358":{"position":[[152,5]]},"377":{"position":[[6,5]]},"382":{"position":[[48,5]]}},"keywords":{}}],["we'v",{"_index":4163,"title":{},"content":{"468":{"position":[[199,5]]}},"keywords":{}}],["web",{"_index":66,"title":{},"content":{"2":{"position":[[650,3]]},"22":{"position":[[344,4]]},"62":{"position":[[282,3]]},"83":{"position":[[189,3],[1920,3]]},"122":{"position":[[18,3]]},"192":{"position":[[84,3]]},"216":{"position":[[79,3]]},"217":{"position":[[90,3]]},"220":{"position":[[98,3]]},"269":{"position":[[84,3]]},"307":{"position":[[1015,3]]},"334":{"position":[[11,3]]},"343":{"position":[[741,3]]},"344":{"position":[[211,3],[323,3]]},"365":{"position":[[81,3],[145,3]]},"389":{"position":[[480,3],[856,3]]},"404":{"position":[[2599,3]]},"434":{"position":[[144,3],[310,3]]},"455":{"position":[[457,3],[702,3]]}},"keywords":{}}],["webpag",{"_index":4153,"title":{},"content":{"457":{"position":[[88,7]]}},"keywords":{}}],["websecur",{"_index":499,"title":{},"content":{"22":{"position":[[420,9],[448,10]]}},"keywords":{}}],["webserv",{"_index":2521,"title":{},"content":{"258":{"position":[[1396,9]]}},"keywords":{}}],["websit",{"_index":2578,"title":{"434":{"position":[[53,10]]}},"content":{"268":{"position":[[398,7]]},"427":{"position":[[252,7]]},"432":{"position":[[213,8],[1375,8],[1497,9]]},"434":{"position":[[67,7]]},"440":{"position":[[710,7],[793,7]]}},"keywords":{}}],["websocket",{"_index":1627,"title":{},"content":{"83":{"position":[[1721,9]]},"402":{"position":[[440,10],[628,10],[1015,9]]}},"keywords":{}}],["wed",{"_index":1550,"title":{},"content":{"82":{"position":[[1261,4],[6553,4]]}},"keywords":{}}],["weird",{"_index":2969,"title":{},"content":{"321":{"position":[[69,5]]}},"keywords":{}}],["well",{"_index":54,"title":{},"content":{"2":{"position":[[416,4],[548,4]]},"42":{"position":[[2103,4]]},"46":{"position":[[106,4]]},"67":{"position":[[894,4]]},"109":{"position":[[245,4]]},"110":{"position":[[265,4]]},"124":{"position":[[23,4]]},"302":{"position":[[591,4]]},"303":{"position":[[689,4]]},"342":{"position":[[795,4]]},"343":{"position":[[507,4],[639,4]]},"383":{"position":[[1321,4],[1578,4]]},"387":{"position":[[539,4]]},"389":{"position":[[1682,4]]},"393":{"position":[[54,4],[1338,4]]},"404":{"position":[[2086,5]]},"431":{"position":[[158,4]]},"439":{"position":[[231,4]]},"440":{"position":[[527,4]]},"526":{"position":[[54,4]]},"550":{"position":[[202,6]]},"569":{"position":[[1181,4]]}},"keywords":{}}],["went",{"_index":2637,"title":{},"content":{"279":{"position":[[8042,4]]},"347":{"position":[[593,4]]}},"keywords":{}}],["whatev",{"_index":2002,"title":{},"content":{"126":{"position":[[341,8]]},"309":{"position":[[2548,9],[3754,8]]},"334":{"position":[[69,8]]},"535":{"position":[[1248,8]]},"540":{"position":[[4724,8]]}},"keywords":{}}],["wheel",{"_index":4196,"title":{},"content":{"485":{"position":[[81,5]]}},"keywords":{}}],["whether",{"_index":1150,"title":{},"content":{"50":{"position":[[516,7]]},"52":{"position":[[825,7],[901,7]]},"53":{"position":[[996,7]]},"54":{"position":[[1393,7],[1465,7],[1544,7]]},"56":{"position":[[751,7],[1297,7]]},"57":{"position":[[904,7]]},"59":{"position":[[138,7],[211,7]]},"60":{"position":[[288,7],[789,7]]},"61":{"position":[[1923,7],[2469,7],[2723,7]]},"64":{"position":[[335,7]]},"65":{"position":[[250,7],[1002,7],[1120,7]]},"69":{"position":[[209,7]]},"107":{"position":[[724,7]]},"109":{"position":[[587,7],[632,7]]},"110":{"position":[[580,7],[625,7]]},"139":{"position":[[404,7]]},"199":{"position":[[23,7],[176,7]]},"279":{"position":[[8712,7]]},"349":{"position":[[405,7]]},"390":{"position":[[1009,7]]},"422":{"position":[[216,7],[891,7]]},"445":{"position":[[159,7]]},"468":{"position":[[49,7]]},"497":{"position":[[392,7]]},"626":{"position":[[279,7],[1006,7]]},"627":{"position":[[313,7],[1059,7]]},"628":{"position":[[297,7],[1031,7]]},"637":{"position":[[1383,7]]},"664":{"position":[[403,7],[548,7]]},"665":{"position":[[369,7],[514,7]]},"669":{"position":[[371,7]]},"685":{"position":[[242,7],[313,7]]},"692":{"position":[[31,7]]},"722":{"position":[[615,7],[1435,7]]},"723":{"position":[[313,7],[1202,7]]},"724":{"position":[[398,7],[868,7]]},"725":{"position":[[288,7],[749,7]]},"729":{"position":[[721,7]]},"731":{"position":[[60,7]]},"741":{"position":[[1829,7]]},"757":{"position":[[368,7],[463,7],[560,7]]},"759":{"position":[[495,7]]},"769":{"position":[[499,7]]},"815":{"position":[[240,7]]},"816":{"position":[[244,7]]}},"keywords":{}}],["whichev",{"_index":3015,"title":{},"content":{"330":{"position":[[547,9]]},"430":{"position":[[352,9]]}},"keywords":{}}],["white",{"_index":4328,"title":{},"content":{"540":{"position":[[309,5]]},"581":{"position":[[831,5],[912,5]]},"611":{"position":[[158,5],[251,5]]},"635":{"position":[[49,5],[142,5]]}},"keywords":{}}],["whitespac",{"_index":312,"title":{},"content":{"9":{"position":[[1035,10]]}},"keywords":{}}],["whole",{"_index":3748,"title":{},"content":{"389":{"position":[[208,5],[525,5]]},"390":{"position":[[204,5]]}},"keywords":{}}],["wide",{"_index":3407,"title":{},"content":{"368":{"position":[[573,4]]},"513":{"position":[[203,5]]},"608":{"position":[[225,4]]},"611":{"position":[[769,4]]},"614":{"position":[[354,4]]},"615":{"position":[[500,4]]},"616":{"position":[[374,4]]},"617":{"position":[[377,4]]},"618":{"position":[[651,4]]},"623":{"position":[[343,4]]},"624":{"position":[[346,4]]},"625":{"position":[[620,4]]},"635":{"position":[[582,4]]}},"keywords":{}}],["widespread",{"_index":4391,"title":{},"content":{"544":{"position":[[3,10]]}},"keywords":{}}],["widget",{"_index":2186,"title":{"203":{"position":[[0,7]]},"204":{"position":[[0,6]]},"306":{"position":[[0,6]]},"318":{"position":[[7,7]]},"319":{"position":[[7,8]]},"320":{"position":[[11,7]]},"576":{"position":[[4,8]]},"593":{"position":[[7,8]]},"603":{"position":[[11,8]]},"608":{"position":[[10,8]]},"636":{"position":[[12,8]]},"645":{"position":[[7,8]]}},"content":{"203":{"position":[[17,6],[42,6],[154,6],[197,6],[233,6],[354,7],[415,6],[501,6]]},"204":{"position":[[38,6]]},"205":{"position":[[80,6]]},"302":{"position":[[2163,7]]},"306":{"position":[[67,6],[147,6],[225,6],[295,6],[322,6],[396,6],[420,6],[529,7],[709,6],[899,7],[908,6]]},"307":{"position":[[588,6]]},"319":{"position":[[77,6],[180,8],[190,6],[201,6],[293,8],[314,6],[342,6],[575,7]]},"320":{"position":[[16,6],[181,6],[240,6],[340,9],[440,6],[579,8],[647,6],[1587,8],[1872,7]]},"351":{"position":[[194,7]]},"407":{"position":[[166,8]]},"501":{"position":[[163,8]]},"507":{"position":[[85,7]]},"574":{"position":[[25,6],[247,7]]},"575":{"position":[[152,6]]},"576":{"position":[[242,7],[382,7],[413,7]]},"578":{"position":[[33,6],[52,7]]},"580":{"position":[[11,6],[33,7],[133,7]]},"581":{"position":[[11,6],[36,7],[94,7],[310,7],[397,7],[457,7],[489,7],[571,7]]},"582":{"position":[[11,6],[52,6],[126,7],[335,6],[425,8],[480,7],[562,7]]},"583":{"position":[[10,6]]},"584":{"position":[[10,6]]},"585":{"position":[[10,6]]},"586":{"position":[[10,6]]},"587":{"position":[[55,6]]},"588":{"position":[[49,6]]},"589":{"position":[[60,6]]},"591":{"position":[[11,6],[55,6],[94,7],[310,7],[397,7],[457,7],[489,7],[645,7]]},"592":{"position":[[8,6],[144,7],[230,8],[275,6],[347,6],[438,6],[493,6],[516,6],[539,6],[564,6],[618,6]]},"593":{"position":[[10,7],[45,7],[103,6],[121,7]]},"594":{"position":[[12,7],[106,7],[133,7],[195,7],[216,6],[310,7]]},"595":{"position":[[12,7],[85,6],[285,7]]},"596":{"position":[[12,7],[65,6],[158,7]]},"597":{"position":[[12,7],[89,6],[243,7]]},"598":{"position":[[12,7],[66,6],[204,7]]},"599":{"position":[[12,7],[74,6],[265,7]]},"600":{"position":[[49,7]]},"601":{"position":[[51,7]]},"602":{"position":[[153,6],[187,6]]},"603":{"position":[[14,7]]},"604":{"position":[[47,7],[127,7]]},"607":{"position":[[39,7]]},"608":{"position":[[13,7],[97,7],[243,7]]},"609":{"position":[[206,6],[256,6]]},"610":{"position":[[206,6],[256,6]]},"616":{"position":[[69,7]]},"617":{"position":[[72,7]]},"618":{"position":[[68,7]]},"636":{"position":[[15,7],[80,8],[150,7]]},"637":{"position":[[218,8],[248,7]]},"645":{"position":[[10,7]]},"646":{"position":[[8,6],[36,7],[56,7],[97,7]]}},"keywords":{}}],["widgetname_widget.rb",{"_index":4595,"title":{},"content":{"576":{"position":[[135,20]]}},"keywords":{}}],["widgetnamewidget",{"_index":4596,"title":{},"content":{"576":{"position":[[192,17]]}},"keywords":{}}],["width",{"_index":4269,"title":{"583":{"position":[[0,6]]}},"content":{"524":{"position":[[579,5],[633,5]]},"577":{"position":[[229,5]]},"583":{"position":[[17,5],[24,5],[129,5],[242,5],[292,5]]},"590":{"position":[[105,6]]},"602":{"position":[[134,5],[140,5]]},"607":{"position":[[84,5]]},"609":{"position":[[187,5],[193,5]]},"610":{"position":[[187,5],[193,5]]},"612":{"position":[[287,5],[293,5]]},"613":{"position":[[351,5],[357,5]]},"618":{"position":[[699,5],[705,5]]},"619":{"position":[[595,5],[601,5]]},"620":{"position":[[324,5],[330,5]]},"621":{"position":[[322,5],[328,5]]},"625":{"position":[[668,5],[674,5]]},"626":{"position":[[2027,5]]},"627":{"position":[[2080,5]]},"628":{"position":[[2052,5]]},"630":{"position":[[359,5],[365,5]]},"631":{"position":[[584,5],[590,5]]},"634":{"position":[[167,5],[173,5]]},"643":{"position":[[100,5]]},"646":{"position":[[232,5]]},"650":{"position":[[777,5],[783,5]]},"651":{"position":[[371,5],[377,5]]},"652":{"position":[[549,5],[555,5]]}},"keywords":{}}],["wifi",{"_index":3953,"title":{},"content":{"404":{"position":[[987,4],[1186,4]]}},"keywords":{}}],["wiget",{"_index":4612,"title":{},"content":{"582":{"position":[[442,5]]}},"keywords":{}}],["win64",{"_index":1611,"title":{},"content":{"83":{"position":[[1145,6]]}},"keywords":{}}],["window",{"_index":918,"title":{"196":{"position":[[0,7]]},"506":{"position":[[7,6]]},"524":{"position":[[6,6]]}},"content":{"42":{"position":[[588,7]]},"43":{"position":[[1218,6]]},"44":{"position":[[898,8]]},"83":{"position":[[1127,8]]},"106":{"position":[[693,9]]},"111":{"position":[[96,7]]},"196":{"position":[[48,6]]},"330":{"position":[[235,7],[475,7],[531,7],[578,7],[701,7],[725,7],[1322,7]]},"332":{"position":[[1346,8],[1355,7]]},"333":{"position":[[114,7],[361,10]]},"339":{"position":[[411,7]]},"358":{"position":[[161,7]]},"369":{"position":[[196,7],[831,7],[1079,7],[1106,7],[2570,7],[2597,7],[4245,7],[4263,7],[4492,7]]},"371":{"position":[[159,7]]},"404":{"position":[[1880,6],[1969,8],[2046,7]]},"497":{"position":[[500,6]]},"506":{"position":[[45,6],[442,7],[733,7]]},"511":{"position":[[185,6]]},"514":{"position":[[374,6]]},"515":{"position":[[402,6]]},"522":{"position":[[254,7],[465,6]]},"524":{"position":[[44,6],[261,6],[600,7],[783,7]]},"571":{"position":[[432,8]]},"574":{"position":[[212,6]]},"599":{"position":[[204,6]]}},"keywords":{}}],["window.openc3scop",{"_index":3882,"title":{},"content":{"402":{"position":[[2656,19],[3659,19]]}},"keywords":{}}],["winver",{"_index":3017,"title":{},"content":{"330":{"position":[[611,6]]}},"keywords":{}}],["wish",{"_index":113,"title":{},"content":{"3":{"position":[[475,4]]},"716":{"position":[[282,6]]}},"keywords":{}}],["with_unit",{"_index":3221,"title":{},"content":{"353":{"position":[[564,11]]},"402":{"position":[[3206,11],[4124,11]]},"609":{"position":[[534,10],[677,10]]},"610":{"position":[[721,10]]},"611":{"position":[[706,10]]},"612":{"position":[[270,10]]},"613":{"position":[[518,10]]},"614":{"position":[[291,10]]},"615":{"position":[[437,10]]},"616":{"position":[[311,10]]},"617":{"position":[[314,10]]},"618":{"position":[[588,10]]},"619":{"position":[[578,10]]},"620":{"position":[[307,10]]},"621":{"position":[[305,10]]},"622":{"position":[[291,10]]},"623":{"position":[[280,10]]},"624":{"position":[[283,10]]},"625":{"position":[[557,10]]},"630":{"position":[[528,10]]},"631":{"position":[[567,10]]},"635":{"position":[[519,10]]},"648":{"position":[[552,10],[710,10]]},"650":{"position":[[482,10]]},"652":{"position":[[710,10]]},"693":{"position":[[594,11]]},"701":{"position":[[505,10]]},"703":{"position":[[572,10]]},"710":{"position":[[631,10]]},"711":{"position":[[516,10]]},"712":{"position":[[510,10]]},"713":{"position":[[328,10]]},"714":{"position":[[1816,13]]},"722":{"position":[[1361,10]]},"723":{"position":[[1128,10]]},"726":{"position":[[973,10]]},"727":{"position":[[1024,10]]}},"keywords":{}}],["within",{"_index":643,"title":{},"content":{"35":{"position":[[116,6]]},"37":{"position":[[116,6]]},"48":{"position":[[4858,6]]},"54":{"position":[[902,6]]},"61":{"position":[[699,6],[812,6],[1187,6]]},"67":{"position":[[1610,6]]},"123":{"position":[[61,6]]},"196":{"position":[[220,6]]},"228":{"position":[[133,6]]},"230":{"position":[[133,6]]},"231":{"position":[[356,6]]},"232":{"position":[[356,6]]},"233":{"position":[[150,6]]},"234":{"position":[[150,6]]},"271":{"position":[[1034,6]]},"278":{"position":[[136,6]]},"279":{"position":[[8631,6]]},"280":{"position":[[136,6]]},"281":{"position":[[306,6]]},"282":{"position":[[136,6]]},"283":{"position":[[153,6]]},"284":{"position":[[153,6]]},"358":{"position":[[2125,6]]},"455":{"position":[[656,6]]},"473":{"position":[[234,6],[522,6]]},"526":{"position":[[104,6]]},"534":{"position":[[843,6]]},"549":{"position":[[101,6]]},"565":{"position":[[447,6]]},"594":{"position":[[170,6]]},"595":{"position":[[222,6]]},"597":{"position":[[180,6]]},"602":{"position":[[34,6]]},"620":{"position":[[34,6]]},"621":{"position":[[34,6]]},"646":{"position":[[81,6]]},"723":{"position":[[120,6]]},"727":{"position":[[114,6]]},"779":{"position":[[85,6]]},"780":{"position":[[308,6]]},"781":{"position":[[225,6]]},"783":{"position":[[238,6]]},"785":{"position":[[278,6]]},"786":{"position":[[373,6]]},"787":{"position":[[429,6]]},"810":{"position":[[100,6]]}},"keywords":{}}],["without",{"_index":302,"title":{},"content":{"9":{"position":[[451,7],[631,7]]},"20":{"position":[[1185,7]]},"102":{"position":[[248,7]]},"196":{"position":[[119,7]]},"200":{"position":[[130,7]]},"209":{"position":[[414,7]]},"281":{"position":[[81,7]]},"289":{"position":[[170,7]]},"309":{"position":[[306,7]]},"317":{"position":[[35,7]]},"349":{"position":[[4350,7],[5902,8],[6069,8],[6217,8],[6347,8],[6509,8],[6893,8]]},"358":{"position":[[5681,7]]},"386":{"position":[[421,7]]},"387":{"position":[[1079,7]]},"390":{"position":[[485,7],[731,7]]},"393":{"position":[[710,7]]},"422":{"position":[[144,7]]},"424":{"position":[[1193,7]]},"432":{"position":[[54,7],[1082,7]]},"472":{"position":[[408,7]]},"506":{"position":[[650,7]]},"513":{"position":[[363,7]]},"524":{"position":[[950,7]]},"535":{"position":[[290,7]]},"547":{"position":[[92,7]]},"548":{"position":[[194,7]]},"551":{"position":[[464,7]]},"556":{"position":[[93,7],[350,7],[779,7]]},"560":{"position":[[88,7]]},"569":{"position":[[688,7]]},"572":{"position":[[377,7]]},"576":{"position":[[277,7]]},"678":{"position":[[27,7]]},"679":{"position":[[27,7]]},"680":{"position":[[27,7]]},"681":{"position":[[27,7]]},"682":{"position":[[27,7]]},"683":{"position":[[27,7]]},"684":{"position":[[27,7]]},"799":{"position":[[248,7]]}},"keywords":{}}],["wizard",{"_index":101,"title":{},"content":{"3":{"position":[[282,7]]}},"keywords":{}}],["won't",{"_index":2206,"title":{},"content":{"209":{"position":[[496,5]]},"271":{"position":[[1596,5]]}},"keywords":{}}],["wonder",{"_index":4458,"title":{},"content":{"551":{"position":[[343,9]]}},"keywords":{}}],["word",{"_index":711,"title":{},"content":{"36":{"position":[[2878,4]]},"55":{"position":[[1587,6]]},"67":{"position":[[1775,4]]},"229":{"position":[[2878,4]]},"279":{"position":[[2090,4]]},"314":{"position":[[838,4]]},"610":{"position":[[372,4],[397,4],[422,5],[446,5]]}},"keywords":{}}],["work",{"_index":307,"title":{"371":{"position":[[0,7]]}},"content":{"9":{"position":[[783,4]]},"24":{"position":[[515,4]]},"61":{"position":[[210,5]]},"67":{"position":[[1568,5],[3556,5]]},"143":{"position":[[24,7],[44,7],[263,7]]},"181":{"position":[[9,7],[28,7],[247,7]]},"209":{"position":[[502,5]]},"271":{"position":[[1602,5]]},"309":{"position":[[669,4],[724,4]]},"321":{"position":[[137,4]]},"332":{"position":[[39,4],[783,4]]},"358":{"position":[[410,7]]},"386":{"position":[[40,4]]},"389":{"position":[[1676,5]]},"390":{"position":[[310,4],[1263,4]]},"393":{"position":[[287,4]]},"404":{"position":[[2078,4]]},"439":{"position":[[182,5]]},"528":{"position":[[653,5]]},"542":{"position":[[143,6],[1016,6]]},"551":{"position":[[160,4]]},"569":{"position":[[1175,5]]}},"keywords":{}}],["work_dir",{"_index":2068,"title":{"143":{"position":[[0,9]]},"181":{"position":[[0,9]]}},"content":{"143":{"position":[[463,8]]},"181":{"position":[[483,8]]}},"keywords":{}}],["workaround",{"_index":2841,"title":{},"content":{"309":{"position":[[812,11]]},"332":{"position":[[969,10]]}},"keywords":{}}],["workdir",{"_index":3584,"title":{},"content":{"376":{"position":[[379,7],[652,7]]}},"keywords":{}}],["worker",{"_index":4151,"title":{},"content":{"455":{"position":[[1332,7],[1587,6]]}},"keywords":{}}],["workflow",{"_index":3714,"title":{"386":{"position":[[0,9]]}},"content":{},"keywords":{}}],["workspac",{"_index":909,"title":{},"content":{"42":{"position":[[241,9]]}},"keywords":{}}],["world",{"_index":3734,"title":{},"content":{"387":{"position":[[1029,5]]},"389":{"position":[[531,6]]}},"keywords":{}}],["worri",{"_index":3260,"title":{},"content":{"358":{"position":[[3457,5]]},"387":{"position":[[922,5]]},"556":{"position":[[797,5]]}},"keywords":{}}],["worth",{"_index":1384,"title":{},"content":{"67":{"position":[[2187,5]]},"440":{"position":[[634,5]]}},"keywords":{}}],["wrap",{"_index":4515,"title":{},"content":{"560":{"position":[[364,7]]}},"keywords":{}}],["wrappergroup",{"_index":5714,"title":{},"content":{"795":{"position":[[1189,12]]}},"keywords":{}}],["wrappergroup(group",{"_index":5719,"title":{},"content":{"795":{"position":[[1733,20]]}},"keywords":{}}],["write",{"_index":209,"title":{"537":{"position":[[7,7]]}},"content":{"6":{"position":[[308,5]]},"20":{"position":[[1264,5],[1395,5]]},"36":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7784,5],[8464,5],[8557,5],[8640,5],[8699,5],[9611,5],[9662,7],[9746,5],[9801,7],[10203,5]]},"48":{"position":[[1450,7],[1642,7]]},"50":{"position":[[974,6],[1058,5]]},"52":{"position":[[879,5],[941,6]]},"56":{"position":[[516,5],[528,7]]},"57":{"position":[[600,5]]},"61":{"position":[[1329,5],[1341,7]]},"67":{"position":[[800,7],[1651,5],[3541,7],[3626,5],[3775,7],[3855,5],[3895,5],[4079,5],[4317,5],[4497,5],[5022,7]]},"77":{"position":[[590,7]]},"88":{"position":[[389,7]]},"102":{"position":[[43,7]]},"104":{"position":[[287,5],[306,5],[467,5],[518,5],[534,5],[594,5]]},"105":{"position":[[294,5],[405,5],[421,5],[481,5]]},"106":{"position":[[200,5],[331,5],[703,5],[763,5]]},"107":{"position":[[310,5],[398,5],[458,6],[493,6]]},"108":{"position":[[267,5]]},"110":{"position":[[664,5],[688,5],[864,5],[1720,5],[1942,5]]},"111":{"position":[[275,6],[338,8],[495,5],[613,5],[673,5]]},"115":{"position":[[747,5]]},"138":{"position":[[518,5]]},"139":{"position":[[102,6],[187,5],[285,8],[495,6]]},"213":{"position":[[63,7]]},"217":{"position":[[158,7]]},"223":{"position":[[39,5]]},"225":{"position":[[1273,6]]},"229":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7784,5],[8464,5],[8557,5],[8640,5],[8699,5],[9611,5],[9662,7],[9746,5],[9801,7],[10203,5]]},"237":{"position":[[156,7]]},"242":{"position":[[52,5]]},"269":{"position":[[215,5]]},"290":{"position":[[225,7]]},"291":{"position":[[52,5]]},"314":{"position":[[436,5],[679,5]]},"342":{"position":[[748,5]]},"349":{"position":[[2952,5]]},"358":{"position":[[7801,7],[7845,5]]},"404":{"position":[[367,5]]},"468":{"position":[[500,7]]},"528":{"position":[[904,7]]},"539":{"position":[[42,7]]},"540":{"position":[[96,7],[1099,7]]},"542":{"position":[[871,5]]},"560":{"position":[[46,5]]},"563":{"position":[[6,7]]},"657":{"position":[[284,7]]},"658":{"position":[[1023,7],[1057,7]]},"670":{"position":[[1,6]]},"673":{"position":[[316,5]]},"685":{"position":[[324,5]]},"699":{"position":[[712,5]]},"759":{"position":[[532,5],[570,6]]},"769":{"position":[[536,5],[574,6]]}},"keywords":{}}],["write_convers",{"_index":740,"title":{},"content":{"36":{"position":[[3953,17],[5416,16],[5751,16],[9100,16],[9126,16]]},"229":{"position":[[3953,17],[5416,16],[5751,16],[9100,16],[9126,16]]}},"keywords":{}}],["write_data",{"_index":1403,"title":{"76":{"position":[[0,11]]}},"content":{"67":{"position":[[4458,12],[4703,12]]},"76":{"position":[[5,10]]}},"keywords":{}}],["write_data(data",{"_index":1453,"title":{},"content":{"76":{"position":[[675,16]]}},"keywords":{}}],["write_data(self",{"_index":1454,"title":{},"content":{"76":{"position":[[749,16]]}},"keywords":{}}],["write_dest_port",{"_index":3609,"title":{},"content":{"378":{"position":[[914,15]]}},"keywords":{}}],["write_interfac",{"_index":1405,"title":{},"content":{"67":{"position":[[4775,17]]},"115":{"position":[[1352,18],[1986,15]]}},"keywords":{}}],["write_packet",{"_index":1399,"title":{"75":{"position":[[0,13]]}},"content":{"67":{"position":[[3956,14],[4334,14]]},"75":{"position":[[5,12]]},"77":{"position":[[325,14]]}},"keywords":{}}],["write_packet(packet",{"_index":1451,"title":{},"content":{"75":{"position":[[678,20]]}},"keywords":{}}],["write_packet(self",{"_index":1452,"title":{},"content":{"75":{"position":[[758,18]]}},"keywords":{}}],["write_port_nam",{"_index":2917,"title":{},"content":{"314":{"position":[[468,15],[1201,15]]}},"keywords":{}}],["write_src_port",{"_index":3611,"title":{},"content":{"378":{"position":[[940,14]]}},"keywords":{}}],["write_timeout",{"_index":2921,"title":{},"content":{"314":{"position":[[702,13],[1324,13]]},"378":{"position":[[977,13]]}},"keywords":{}}],["writer",{"_index":4336,"title":{},"content":{"540":{"position":[[1013,6]]}},"keywords":{}}],["writeup",{"_index":3830,"title":{},"content":{"393":{"position":[[1297,7]]}},"keywords":{}}],["written",{"_index":751,"title":{},"content":{"36":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6256,7],[6887,7],[7951,7],[8126,7],[8544,7],[8625,7],[8799,8],[10168,8]]},"53":{"position":[[474,7]]},"67":{"position":[[4123,7],[4736,7],[4926,7]]},"75":{"position":[[338,7]]},"76":{"position":[[83,7],[337,7]]},"77":{"position":[[63,7],[371,7]]},"115":{"position":[[1466,7],[1506,8]]},"229":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6256,7],[6887,7],[7951,7],[8126,7],[8544,7],[8625,7],[8799,8],[10168,8]]},"264":{"position":[[24,7]]},"269":{"position":[[122,7]]},"343":{"position":[[1252,7],[1498,7]]},"349":{"position":[[2857,7]]},"538":{"position":[[234,7]]},"544":{"position":[[33,7]]},"657":{"position":[[194,7]]}},"keywords":{}}],["wrong",{"_index":4552,"title":{"567":{"position":[[15,6]]}},"content":{"565":{"position":[[173,6]]},"566":{"position":[[112,6]]}},"keywords":{}}],["wsl",{"_index":3534,"title":{},"content":{"369":{"position":[[4300,3]]}},"keywords":{}}],["wsl2",{"_index":3013,"title":{},"content":{"330":{"position":[[488,5],[494,4],[868,6]]}},"keywords":{}}],["wslconfig",{"_index":3438,"title":{},"content":{"369":{"position":[[881,10]]}},"keywords":{}}],["wslg",{"_index":3538,"title":{},"content":{"369":{"position":[[4347,4]]}},"keywords":{}}],["wtc",{"_index":1257,"title":{},"content":{"57":{"position":[[554,3],[594,3]]}},"keywords":{}}],["www",{"_index":1523,"title":{},"content":{"82":{"position":[[457,3]]},"85":{"position":[[208,3]]}},"keywords":{}}],["x",{"_index":790,"title":{},"content":{"36":{"position":[[6469,3],[7265,3]]},"81":{"position":[[491,1],[735,1],[786,1]]},"82":{"position":[[588,1],[1163,1],[1195,1],[1223,1],[6244,1],[6476,1],[6527,1]]},"83":{"position":[[797,1],[2571,1]]},"229":{"position":[[6469,3],[7265,3]]},"253":{"position":[[2398,3],[2439,1],[2482,1]]},"279":{"position":[[5008,3],[5866,3]]},"309":{"position":[[1879,2]]},"473":{"position":[[726,3],[909,3]]},"506":{"position":[[768,1]]},"524":{"position":[[995,1]]},"551":{"position":[[1008,1],[1482,1]]},"552":{"position":[[2488,1]]},"647":{"position":[[70,1]]},"648":{"position":[[205,1],[216,1]]},"649":{"position":[[172,1],[183,1]]},"650":{"position":[[613,1],[624,1],[1452,1],[1463,1]]},"651":{"position":[[67,1],[78,1],[209,1],[220,1]]},"652":{"position":[[275,1],[286,1],[417,1],[428,1]]},"653":{"position":[[71,1]]},"677":{"position":[[909,2],[1024,2]]},"678":{"position":[[1131,2],[1246,2]]},"679":{"position":[[1152,2],[1267,2]]},"680":{"position":[[1185,2],[1300,2]]},"681":{"position":[[985,2],[1100,2]]},"682":{"position":[[1202,2],[1317,2]]},"683":{"position":[[1223,2],[1338,2]]},"684":{"position":[[1256,2],[1371,2]]},"685":{"position":[[417,1],[492,1],[976,1]]},"780":{"position":[[336,1],[347,1]]},"787":{"position":[[509,1],[520,1],[682,2]]},"793":{"position":[[683,1]]}},"keywords":{}}],["x.509",{"_index":450,"title":{},"content":{"20":{"position":[[981,5]]}},"keywords":{}}],["x.x.x",{"_index":2757,"title":{},"content":{"301":{"position":[[1352,5]]}},"keywords":{}}],["x.y.z",{"_index":3701,"title":{},"content":{"382":{"position":[[861,7],[903,7],[961,7]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":5105,"title":{},"content":{"685":{"position":[[1316,31]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":5100,"title":{},"content":{"685":{"position":[[921,35]]}},"keywords":{}}],["x509",{"_index":412,"title":{},"content":{"20":{"position":[[347,4]]},"25":{"position":[[44,4]]}},"keywords":{}}],["x64",{"_index":1612,"title":{},"content":{"83":{"position":[[1152,4]]}},"keywords":{}}],["x86_64",{"_index":2859,"title":{},"content":{"309":{"position":[[1790,6]]}},"keywords":{}}],["xml",{"_index":2297,"title":{"220":{"position":[[0,3]]}},"content":{"217":{"position":[[300,3]]},"220":{"position":[[5,3],[87,3],[185,3],[298,3],[353,3],[1372,3],[1464,3],[1521,3]]}},"keywords":{}}],["xmlaccessor",{"_index":2295,"title":{},"content":{"217":{"position":[[232,11]]},"220":{"position":[[417,11],[1587,11]]}},"keywords":{}}],["xmlcmd",{"_index":2356,"title":{},"content":{"220":{"position":[[357,6]]}},"keywords":{}}],["xmltlm",{"_index":2366,"title":{},"content":{"220":{"position":[[1525,6]]}},"keywords":{}}],["xor",{"_index":1352,"title":{},"content":{"65":{"position":[[998,3],[1013,3]]}},"keywords":{}}],["xpath",{"_index":688,"title":{},"content":{"36":{"position":[[1423,5]]},"215":{"position":[[272,6],[704,6]]},"216":{"position":[[241,5],[669,5]]},"217":{"position":[[2790,5]]},"220":{"position":[[337,6],[1503,6]]},"229":{"position":[[1423,5]]},"279":{"position":[[1418,5]]}},"keywords":{}}],["xss",{"_index":1548,"title":{},"content":{"82":{"position":[[1225,3]]}},"keywords":{}}],["xtce",{"_index":3834,"title":{"394":{"position":[[0,4]]},"395":{"position":[[24,5]]},"396":{"position":[[13,5]]},"397":{"position":[[37,5]]}},"content":{"395":{"position":[[10,5],[191,5]]},"396":{"position":[[40,5]]},"397":{"position":[[62,5],[105,5]]},"398":{"position":[[286,5]]}},"keywords":{}}],["xtce_convert",{"_index":3835,"title":{},"content":{"396":{"position":[[201,14]]},"397":{"position":[[200,14]]}},"keywords":{}}],["xusp",{"_index":3858,"title":{},"content":{"401":{"position":[[264,4]]}},"keywords":{}}],["xx",{"_index":422,"title":{},"content":{"20":{"position":[[482,6]]}},"keywords":{}}],["xxx",{"_index":2306,"title":{},"content":{"217":{"position":[[786,4],[909,4],[1264,4]]},"320":{"position":[[741,3]]}},"keywords":{}}],["y",{"_index":3580,"title":{},"content":{"376":{"position":[[270,1],[310,1]]},"404":{"position":[[2265,1]]},"522":{"position":[[1110,1],[1120,1],[1175,1],[1185,1]]},"551":{"position":[[1005,2],[1012,1],[1471,3],[1486,1]]},"559":{"position":[[519,3],[537,3],[805,3],[823,4]]},"647":{"position":[[137,1],[148,1]]},"648":{"position":[[283,1],[294,1]]},"649":{"position":[[251,1],[262,1]]},"650":{"position":[[692,1],[703,1],[1531,1],[1542,1]]},"651":{"position":[[139,1],[150,1],[277,1],[288,1]]},"652":{"position":[[347,1],[358,1],[485,1],[496,1]]},"653":{"position":[[98,1],[109,1]]},"780":{"position":[[405,1],[416,1]]},"787":{"position":[[578,1],[589,1],[685,1]]}},"keywords":{}}],["y%m%d",{"_index":3327,"title":{},"content":{"362":{"position":[[406,6],[736,6],[1058,6]]}},"keywords":{}}],["y/n)?"",{"_index":4504,"title":{},"content":{"559":{"position":[[492,13],[778,13]]}},"keywords":{}}],["yaml",{"_index":2528,"title":{},"content":{"259":{"position":[[123,4]]}},"keywords":{}}],["yarn",{"_index":914,"title":{},"content":{"42":{"position":[[434,4]]},"43":{"position":[[126,4],[146,4],[307,4],[961,4],[1213,4]]},"208":{"position":[[9,4],[35,4],[183,4]]},"209":{"position":[[251,4],[528,4],[585,4]]},"307":{"position":[[1423,4]]},"320":{"position":[[691,4],[732,4]]}},"keywords":{}}],["ye",{"_index":1211,"title":{},"content":{"54":{"position":[[937,3]]},"56":{"position":[[592,3],[724,3]]},"60":{"position":[[249,3]]},"61":{"position":[[1405,3],[1537,3]]},"66":{"position":[[199,3],[255,3]]},"104":{"position":[[283,3],[405,3],[530,3],[600,3],[703,3]]},"105":{"position":[[343,3],[417,3],[487,3],[590,3]]},"106":{"position":[[196,3],[263,3],[327,3]]},"107":{"position":[[293,3]]},"109":{"position":[[526,3]]},"110":{"position":[[519,3]]},"111":{"position":[[347,3],[459,3],[501,3],[566,3],[609,3],[679,3],[782,3]]},"112":{"position":[[216,3]]},"113":{"position":[[295,3]]},"114":{"position":[[160,3],[179,3]]},"223":{"position":[[267,3],[328,3]]},"404":{"position":[[1595,3]]},"468":{"position":[[405,3]]},"699":{"position":[[578,5],[603,3],[610,5],[663,3],[825,5],[854,5],[863,5]]}},"keywords":{}}],["year",{"_index":459,"title":{},"content":{"20":{"position":[[1123,6]]},"392":{"position":[[18,5]]}},"keywords":{}}],["yearli",{"_index":3794,"title":{},"content":{"391":{"position":[[403,6]]}},"keywords":{}}],["yellow",{"_index":2628,"title":{},"content":{"279":{"position":[[2539,7],[2851,6],[9032,6],[9147,6],[9190,6],[9307,6]]},"299":{"position":[[1124,6]]},"470":{"position":[[137,6]]},"473":{"position":[[95,6],[170,6],[309,6]]},"487":{"position":[[197,7]]},"517":{"position":[[157,7]]},"619":{"position":[[831,6]]},"741":{"position":[[815,6],[826,6],[940,7],[948,6],[960,6],[1073,7]]},"743":{"position":[[74,9]]}},"keywords":{}}],["yes'"",{"_index":5216,"title":{},"content":{"699":{"position":[[541,12],[788,12]]}},"keywords":{}}],["you'll",{"_index":912,"title":{},"content":{"42":{"position":[[406,6]]},"267":{"position":[[212,6]]},"319":{"position":[[154,6]]},"320":{"position":[[1560,6]]},"324":{"position":[[255,6]]},"385":{"position":[[41,6]]},"404":{"position":[[193,6]]},"533":{"position":[[248,6]]},"543":{"position":[[263,6]]},"637":{"position":[[579,6]]}},"keywords":{}}],["you'r",{"_index":956,"title":{},"content":{"42":{"position":[[1623,6]]},"67":{"position":[[3724,6],[3783,6]]},"109":{"position":[[595,6]]},"110":{"position":[[588,6]]},"216":{"position":[[625,6]]},"217":{"position":[[2746,6]]},"330":{"position":[[4,6],[225,6]]},"331":{"position":[[282,6]]},"358":{"position":[[403,6],[1824,6]]},"385":{"position":[[149,6]]},"412":{"position":[[134,6]]},"441":{"position":[[221,6]]},"443":{"position":[[162,6]]},"568":{"position":[[847,6]]}},"keywords":{}}],["you'v",{"_index":4002,"title":{},"content":{"421":{"position":[[307,6]]},"483":{"position":[[6,6]]}},"keywords":{}}],["yourfile.pfx",{"_index":577,"title":{},"content":{"27":{"position":[[285,14],[714,14]]}},"keywords":{}}],["yourself",{"_index":1595,"title":{"544":{"position":[[30,10]]}},"content":{"83":{"position":[[372,8]]},"138":{"position":[[275,8]]},"392":{"position":[[90,9]]},"543":{"position":[[161,8],[276,8]]}},"keywords":{}}],["yourusername@cosmos.localon",{"_index":3969,"title":{},"content":{"404":{"position":[[1941,27]]}},"keywords":{}}],["yum",{"_index":2855,"title":{},"content":{"309":{"position":[[1645,3],[1661,3]]}},"keywords":{}}],["yyyy/mm/dd",{"_index":2611,"title":{},"content":{"275":{"position":[[833,10]]},"626":{"position":[[1397,11]]},"627":{"position":[[1450,11]]},"628":{"position":[[1422,11]]}},"keywords":{}}],["z",{"_index":1672,"title":{},"content":{"83":{"position":[[3480,1]]},"310":{"position":[[608,2]]},"506":{"position":[[427,1]]}},"keywords":{}}],["zero",{"_index":648,"title":{},"content":{"35":{"position":[[383,4]]},"37":{"position":[[176,4]]},"51":{"position":[[286,4],[424,4],[450,4],[472,4]]},"125":{"position":[[308,4]]},"228":{"position":[[412,4]]},"230":{"position":[[195,4]]},"231":{"position":[[582,4]]},"232":{"position":[[418,4]]},"233":{"position":[[587,4]]},"234":{"position":[[370,4]]},"278":{"position":[[410,4]]},"280":{"position":[[202,4]]},"281":{"position":[[533,4]]},"282":{"position":[[202,4]]},"283":{"position":[[580,4]]},"284":{"position":[[372,4]]},"289":{"position":[[241,5]]}},"keywords":{}}],["zeromq",{"_index":1795,"title":{},"content":{"96":{"position":[[390,8]]}},"keywords":{}}],["zone",{"_index":3990,"title":{},"content":{"416":{"position":[[168,5]]}},"keywords":{}}],["zonegoto",{"_index":3959,"title":{},"content":{"404":{"position":[[1260,8]]}},"keywords":{}}],["zshrc",{"_index":3068,"title":{},"content":{"333":{"position":[[295,9]]}},"keywords":{}}]],"pipeline":["stemmer"]} \ No newline at end of file diff --git a/docs/lunr-index.json b/docs/lunr-index.json index e4c3e13ca4..4c14d22c40 100644 --- a/docs/lunr-index.json +++ b/docs/lunr-index.json @@ -1 +1 @@ -{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,912.046]],["content/0",[]],["keywords/0",[]],["title/1",[1,235.172,2,944.485]],["content/1",[1,3.267,3,9.635,4,8.762,5,2.571,6,9.907,7,4.59,8,12.679,9,8.614,10,12.679,11,6.901,12,14.32,13,12.95,14,14.32,15,16.566,16,13.654,17,11.968,18,6.25,19,13.122,20,11.574,21,8.762,22,15.212,23,16.566,24,13.122,25,13.122,26,16.566,27,13.654]],["keywords/1",[]],["title/2",[1,235.172,28,861.436]],["content/2",[1,4.462,6,7.172,8,9.179,9,8.005,29,4.66,30,8.451,31,8.904,32,9.499,33,8.863,34,10.366,35,2.648,36,8.482,37,7.365,38,6.411,39,6.633,40,6.796,41,6.151,42,7.278,43,7.924,44,7.776,45,3.452,46,5.064,47,7.639,48,6.114,49,8.172,50,5.805,51,4.35,52,2.855,53,5.576,54,9.714,55,6.796,56,10.83,57,8.451,58,5.245,59,5.283,60,5.866,61,5.868,62,4.104,63,7.511,64,4.084,65,7.924,66,7.391,67,6.556,68,8.904,69,7.172,70,7.639,71,7.172,72,6.343,73,10.366,74,6.713,75,5.488,76,10.366,77,9.179,78,4.499,79,4.578]],["keywords/2",[]],["title/3",[80,723.668,81,1030.714]],["content/3",[1,4.524,5,2.673,18,4.73,80,11.939,82,12.535,83,6.933,84,4.082,85,9.307,86,15.813,87,14.194,88,7.034,89,7.322,90,9.307,91,6.497,92,10.836,93,8.632,94,7.391,95,10.836,96,7.608,97,5.293,98,12.535,99,12.535,100,12.535,101,12.535,102,3.876,103,8.128,104,12.535,105,8.632,106,6.701,107,8.833,108,7.985,109,12.535,110,7.851,111,10.332,112,6.246,113,11.511,114,9.056,115,8.128,116,12.535,117,12.135,118,8.833,119,6.366,120,6.933,121,5.736,122,11.511,123,11.511,124,6.561,125,7.985,126,8.283,127,9.056,128,12.535,129,6.933,130,4.335,131,7.726,132,8.833,133,7.985,134,10.332,135,7.496]],["keywords/3",[]],["title/4",[136,278.481,137,410.191]],["content/4",[]],["keywords/4",[]],["title/5",[138,382.649,139,142.147,140,130.131]],["content/5",[1,3.337,7,2.649,35,5.112,37,3.223,45,4.133,48,2.584,50,4.931,52,4.027,78,3.586,119,7.206,136,3.314,137,3.289,138,7.817,140,3.123,141,4.009,142,4.809,143,4.347,144,2.419,145,6.442,146,8.922,147,14.188,148,12.264,149,10.25,150,4.212,151,6.574,152,6.717,153,5.65,154,8.778,155,4.903,156,6.199,157,4.481,158,3.783,159,7.756,160,3.732,161,4.375,162,2.289,163,4.72,164,3.561,165,5.056,166,5.56,167,4.809,168,6.583,169,6.736,170,6.444,171,5.988,172,10.118,173,4.122,174,4.481,175,5.487,176,5.418,177,8.252,178,8.252,179,7.07,180,2.776,181,3.394,182,5.418,183,4.855,184,7.879,185,4.636,186,2.706,187,3.487,188,5.351,189,3.807]],["keywords/5",[]],["title/6",[190,1028.057]],["content/6",[1,2.772,5,2.887,8,7.223,9,3.932,18,3.561,29,5.461,50,4.885,52,3.345,59,4.158,96,5.728,136,4.645,141,5.894,143,4.305,149,6.818,157,4.424,190,12.538,191,9.438,192,4.217,193,5.644,194,2.905,195,5.728,196,6.237,197,3.758,198,4.747,199,7.223,200,6.236,201,11.146,202,6.902,203,9.515,204,7.441,205,5.644,206,7.779,207,7.682,208,1.909,209,4.252,210,9.438,211,14.872,212,9.438,213,11.146,214,10.589,215,20.849,216,17.185,217,3.044,218,12.148,219,5.042,220,4.319,221,4.577,222,5.644,223,4.703,224,3.104,225,2.905,226,5.045,227,3.661,228,8.158,229,8.666,230,4.158,231,8.158,232,4.703,233,9.438,234,4.537,235,8.666,236,6.65,237,7.223,238,5.489]],["keywords/6",[]],["title/7",[239,1208.042]],["content/7",[1,1.869,4,7.456,5,2.188,7,2.626,13,5.936,50,6.479,91,3.576,102,2.931,114,6.848,127,6.848,136,5.189,139,2.047,140,1.26,143,4.319,144,2.175,145,6.401,146,6.72,152,3.401,162,1.529,187,3.457,190,6.389,196,4.207,201,7.536,203,5.371,204,5.031,207,5.181,208,2.851,211,9.708,213,7.536,214,9.466,219,6.04,222,5.668,227,2.469,239,14.765,240,4.776,241,6.778,242,5.371,243,6.425,244,5.381,245,11.619,246,11.619,247,9.478,248,7.303,249,16.832,250,12.945,251,10.467,252,4.443,253,7.812,254,6.146,255,5.752,256,3.294,257,6.848,258,5.512,259,7.526,260,6.263,261,8.703,262,6.263,263,7.037,264,9.478,265,3.117,266,10.185,267,12.186,268,8.431,269,12.186,270,10.79,271,5.752,272,5.44,273,3.846,274,5.371,275,5.242,276,9.478,277,2.017,278,6.451,279,3.515,280,5.936,281,7.254,282,5.668,283,9.478]],["keywords/7",[]],["title/8",[141,500.068,284,624.046]],["content/8",[1,2.978,5,2.344,17,14.084,50,5.248,124,7.902,136,3.526,141,9.568,144,1.951,146,9.292,198,7.595,207,8.254,208,3.943,243,7.441,244,7.441,245,16.067,246,16.067,284,10.202,285,5.73,286,12.392,287,19.494,288,15.441,289,13.051,290,8.451,291,11.556,292,6.05,293,13.051,294,10.908]],["keywords/8",[]],["title/9",[181,423.278,295,1030.714]],["content/9",[1,2.155,5,2.835,17,7.895,50,3.798,102,4.836,121,7.157,136,2.552,139,2.896,141,6.559,142,7.867,144,2.021,146,9.505,160,3.118,179,9.102,181,8.354,185,5.3,198,5.497,207,8.55,208,4.033,227,2.847,243,7.611,244,7.611,245,12.891,246,9.007,284,5.719,285,4.147,286,11.445,289,13.52,292,4.379,293,9.446,294,7.895,295,17.237,296,5.55,297,18.31,298,9.007,299,10.927,300,12.389,301,10.927,302,7.455,303,10.927,304,13.52,305,6.193,306,10.927,307,6.044,308,12.389,309,5.3,310,10.927,311,10.927,312,10.927]],["keywords/9",[]],["title/10",[138,466.131,313,1094.906]],["content/10",[]],["keywords/10",[]],["title/11",[314,955.22]],["content/11",[5,2.393,33,9.111,45,4.083,52,3.669,102,4.766,121,7.053,140,2.049,144,1.992,151,5.989,152,5.531,160,3.073,164,3.244,186,4.362,190,10.39,192,4.65,193,9.218,225,4.744,280,9.654,314,14.401,315,15.413,316,10.39,317,6.223,318,5.19,319,10.614,320,9.355,321,6.892]],["keywords/11",[]],["title/12",[152,547.238]],["content/12",[14,11.841,102,4.235,136,5.345,140,1.821,144,1.77,152,7.882,153,7.282,160,2.731,162,2.21,164,2.883,186,3.877,192,3.699,236,9.652,280,8.579,322,8.239,323,8.726,324,8.192,325,7.862,326,8.442,327,7.576,328,11.841,329,11.743,330,14.506,331,9.42,332,7.576,333,9.029,334,18.287,335,13.698,336,5.421,337,4.641,338,9.672,339,8.192,340,6.457,341,13.698,342,13.698,343,13.698]],["keywords/12",[]],["title/13",[344,1400.437]],["content/13",[35,5.475,79,5.61,81,12.705,102,4.544,140,3.251,144,2.475,160,2.93,162,3.09,164,3.094,186,4.16,189,5.853,202,6.042,259,6.572,327,8.129,337,4.979,344,13.496,345,11.154,346,10.618,347,9.908,348,11.249,349,6.034,350,3.394,351,7.692,352,3.94,353,6.249,354,12.705,355,8.79,356,13.496]],["keywords/13",[]],["title/14",[357,1400.437]],["content/14",[79,5.925,81,13.417,102,4.799,140,2.064,144,2.564,160,3.094,162,3.201,164,3.267,186,4.393,189,6.181,208,4.818,259,6.94,277,4.223,337,5.259,345,11.448,346,11.214,349,4.889,350,3.584,351,8.123,355,9.282,356,14.253,357,14.253,358,5.964,359,7.808,360,13.417]],["keywords/14",[]],["title/15",[35,336.711]],["content/15",[5,3.225,35,5.226,108,8.891,136,5.529,138,8.652,140,1.856,144,1.803,160,2.782,162,2.251,164,2.938,186,5.24,189,5.558,208,4.658,259,9.291,273,5.664,278,9.508,280,8.742,281,10.682,322,6.288,323,8.891,328,12.065,331,6.387,333,6.891,340,4.928,361,8.229,362,6.71,363,12.065,364,13.957,365,12.816,366,12.816]],["keywords/15",[]],["title/16",[208,308.456]],["content/16",[5,3.225,35,5.085,108,8.891,136,5.529,138,8.652,140,1.856,144,1.803,160,2.782,162,2.251,164,2.938,186,5.24,189,5.558,208,4.788,259,9.291,273,5.664,278,9.508,280,8.742,281,10.682,322,6.288,323,8.891,328,12.065,331,6.387,333,6.891,340,4.928,361,8.229,362,6.71,363,12.065,365,12.816,366,12.816,367,13.957]],["keywords/16",[]],["title/17",[368,1525.086]],["content/17",[5,3.026,7,4.184,35,5.037,45,3.121,78,5.664,108,9.618,168,10.397,240,5.115,277,4.148,296,7.668,309,9.454,369,13.864,370,13.306,371,8.902,372,9.79,373,9.538,374,10.31,375,8.346,376,5.447,377,10.178,378,7.595,379,10.178,380,14.084,381,13.864,382,13.737,383,7.821,384,13.051,385,12.444]],["keywords/17",[]],["title/18",[386,1400.437]],["content/18",[5,3.026,7,4.184,45,3.121,78,5.664,108,9.618,168,10.397,208,4.366,240,5.115,277,4.594,296,7.668,309,9.454,369,13.864,370,13.306,371,8.902,372,9.79,373,9.538,374,10.31,375,8.346,376,5.447,377,10.178,378,7.595,379,10.178,380,14.084,381,13.864,382,13.737,383,7.821,384,13.051,385,12.444]],["keywords/18",[]],["title/19",[387,885.315,388,982.769]],["content/19",[]],["keywords/19",[]],["title/20",[197,474.805,389,840.217]],["content/20",[1,1.535,5,2.314,35,3.291,46,3.285,78,2.919,84,2.534,88,3.178,91,2.936,97,3.285,102,2.406,107,5.483,119,3.951,130,6.685,136,2.833,139,3.186,153,4.83,162,3.461,201,4.159,202,3.199,204,2.777,209,5.465,225,2.395,230,3.428,248,4.03,274,4.409,302,3.709,329,6.484,337,5.703,340,5.944,350,3.442,373,5.935,387,5.777,389,13.623,390,11.138,391,8.763,392,5.483,393,7.144,394,6.163,395,6.726,396,5.777,397,6.163,398,5.141,399,6.413,400,7.144,401,6.413,402,6.163,403,5.777,404,4.713,405,13.875,406,16.834,407,5.141,408,4.722,409,5.955,410,12.129,411,12.129,412,7.144,413,7.78,414,9.608,415,14.906,416,6.413,417,12.129,418,7.78,419,12.129,420,6.726,421,6.413,422,7.78,423,3.453,424,7.78,425,4.587,426,16.834,427,12.129,428,4.873,429,9.283,430,7.78,431,7.144,432,4.525,433,5.141,434,3.479,435,8.763,436,3.56,437,4.072,438,5.777,439,4.956,440,5.621,441,7.78,442,4.795,443,4.205,444,7.78,445,6.726,446,7.36,447,2.902,448,7.78,449,7.78,450,7.78,451,7.78,452,7.78,453,7.144,454,4.956,455,4.355,456,7.78,457,7.78,458,7.144,459,7.144,460,4.722,461,7.78,462,7.78,463,9.283,464,7.78,465,5.777,466,6.726,467,4.722]],["keywords/20",[]],["title/21",[71,496.448,337,281.25,436,379.867,468,616.37]],["content/21",[36,8.673,37,5.757,71,10.212,139,3.318,273,6.93,404,6.636,469,13.527,470,15.681,471,21.07,472,15.681,473,17.077,474,17.077,475,17.077,476,12.423,477,17.077,478,17.077,479,17.077,480,15.681,481,17.077,482,13.527,483,12.679]],["keywords/21",[]],["title/22",[71,585.36,436,447.9,484,659.816]],["content/22",[5,2.014,50,4.51,66,7.997,71,7.76,136,3.031,139,3.76,156,8.414,337,4.396,388,14.533,389,9.144,403,15.954,404,5.042,435,9.374,436,5.938,437,6.791,439,11.232,469,10.278,470,11.915,472,11.915,485,20.027,486,12.976,487,12.976,488,12.976,489,12.976,490,11.915,491,12.976,492,9.144,493,8.574,494,7.177,495,6.527,496,16.191,497,12.976,498,12.976,499,17.632,500,11.915,501,12.976,502,12.976,503,8.747,504,11.915,505,11.915]],["keywords/22",[]],["title/23",[36,497.114,436,447.9,506,726.759]],["content/23",[5,2.312,37,5.021,57,10.496,71,12.827,136,3.479,139,3.296,220,6.816,225,4.584,256,5.177,326,9.18,337,6.547,404,5.788,436,6.816,454,9.488,469,11.799,483,11.06,495,10.79,507,14.895,508,9.488,509,14.895,510,14.895,511,11.728,512,19.324,513,8.908,514,14.895,515,14.895,516,14.895,517,14.895,518,11.401,519,14.895,520,14.895,521,14.895,522,8.663,523,12.876]],["keywords/23",[]],["title/24",[440,861.436,524,1030.714]],["content/24",[5,3.009,11,5.078,37,4.109,64,4.151,67,9.235,89,5.183,105,11.633,120,9.343,127,8.807,136,4.527,155,6.252,162,2.725,183,6.191,197,4.854,204,4.351,307,6.742,371,7.187,389,13.66,391,14.005,409,9.33,434,5.451,446,6.019,454,7.765,480,11.194,525,16.892,526,12.19,527,12.19,528,9.656,529,19.385,530,12.19,531,12.19,532,12.19,533,9.33,534,19.385,535,8.807,536,12.19,537,12.19,538,9.33,539,17.8,540,7.635,541,11.194,542,6.664,543,7.765,544,7.635,545,7.399,546,8.217,547,12.19,548,12.19,549,19.385,550,10.538,551,11.633,552,9.051,553,12.19,554,6.252,555,9.656]],["keywords/24",[]],["title/25",[150,525.302,469,944.485]],["content/25",[59,8.735,405,16.343,412,18.208,469,15.706,539,18.208,556,13.972,557,19.828]],["keywords/25",[]],["title/26",[136,168.317,389,507.836,446,355.831,558,520.661,559,551.594]],["content/26",[5,2.497,9,6.701,37,5.422,59,7.086,136,5.194,137,6.983,187,5.867,242,9.115,387,11.943,389,14.303,402,12.741,446,11.532,465,15.071,528,12.741,559,15.535,560,16.085,561,12.311,562,10.843,563,8.507,564,10.246,565,16.085,566,12.311,567,11.335,568,6.14]],["keywords/26",[]],["title/27",[136,241.5,446,314.377,528,504.352,558,460.004,559,487.333]],["content/27",[5,1.647,35,4.344,37,5.163,49,5.193,97,7.588,114,7.668,130,6.214,136,5.233,143,5.506,187,3.871,221,5.147,225,5.531,256,5.324,338,8.1,376,5.021,387,7.88,389,10.792,404,4.124,405,17.915,434,4.746,445,9.174,446,10.732,454,6.761,465,13.342,524,9.174,528,8.407,558,11.065,559,11.722,563,5.613,569,9.174,570,6.173,571,4.576,572,10.613,573,4.226,574,10.595,575,6.092,576,15.316,577,15.316,578,10.613,579,15.316,580,13.784,581,14.234,582,10.613,583,7.154,584,9.174,585,10.613,586,10.613,587,10.613,588,14.064,589,10.613,590,10.613,591,8.407,592,6.441,593,6.258,594,5.87]],["keywords/27",[]],["title/28",[136,168.317,137,247.924,559,551.594,568,275.096,595,622.975]],["content/28",[35,3.86,97,7.381,136,4.083,137,7.353,143,5.356,225,5.38,405,14.408,445,15.111,490,19.628,524,15.111,559,13.38,568,8.159,595,19.959,596,12.038,597,17.481,598,17.481,599,17.481]],["keywords/28",[]],["title/29",[183,497.114,600,978.814,601,978.814]],["content/29",[153,7.493,350,4.345,388,15.51,602,18.818,603,18.818,604,17.28,605,18.818,606,18.818,607,18.818,608,18.818,609,18.818,610,18.818,611,18.818]],["keywords/29",[]],["title/30",[53,709.091]],["content/30",[]],["keywords/30",[]],["title/31",[53,455.101,136,228.606,278,447.9]],["content/31",[1,2.501,5,1.968,35,2.799,48,4.69,50,4.407,53,11.448,61,9.683,80,7.695,84,4.129,136,4.622,138,6.785,162,2.045,181,6.161,188,7.097,194,3.902,214,6.439,223,8.649,236,8.934,263,9.414,265,5.707,278,10.199,280,7.941,309,6.149,331,5.802,349,3.994,370,7.814,372,8.221,376,3.543,562,8.547,612,7.814,613,12.679,614,6.568,615,6.204,616,12.679,617,12.679,618,9.704,619,11.642,620,6.318,621,6.853,622,8.731,623,10.45,624,7.012,625,9.179,626,11.056,627,9.16,628,5.669]],["keywords/31",[]],["title/32",[619,1400.437]],["content/32",[51,6.443,53,8.258,96,10.78,136,5.648,140,2.361,160,3.541,162,3.482,164,3.738,242,10.066,259,7.942,278,9.876,331,8.128,340,6.272,573,7.073,629,17.762]],["keywords/32",[]],["title/33",[53,709.091]],["content/33",[5,2.48,37,5.386,48,3.043,52,4.421,53,10.833,78,4.224,84,3.667,88,6.526,137,3.874,140,2.838,141,6.701,146,5.368,151,6.209,160,4.645,162,2.578,164,3.363,167,5.664,172,10.039,173,6.889,175,6.463,176,6.382,177,6.549,179,9.255,180,5.87,256,3.914,278,5.153,296,5.719,305,9.055,333,5.56,349,5.85,355,6.734,404,4.376,630,6.834,631,8.619,632,5.611,633,17.054,634,16.66,635,18.572,636,8.619,637,10.008,638,10.34,639,15.979,640,12.23,641,11.261]],["keywords/33",[]],["title/34",[53,554.39,642,594.176]],["content/34",[53,9.387,138,9.103,143,7.134]],["keywords/34",[]],["title/35",[140,202.756]],["content/35",[5,1.837,7,2.09,18,2.846,35,2.613,48,5.393,51,2.736,52,5.565,53,7.695,83,4.171,137,4.072,140,3.229,146,5.642,151,5.678,152,4.248,155,3.868,160,3.978,162,1.217,164,4.349,167,3.794,172,10.787,173,7.136,174,5.549,175,6.794,176,8.28,177,6.885,178,6.885,179,5.899,180,4.807,181,5.187,187,4.318,194,3.643,214,6.012,217,3.818,223,5.899,265,2.48,277,2.519,279,2.797,340,5.159,350,4.152,352,3.173,373,10.111,374,10.093,375,6.255,376,5.025,380,8.552,624,6.547,625,6.261,630,4.577,637,7.414,643,3.398,644,5.315,645,7.296,646,5.481,647,10.191,648,4.577,649,3.868,650,5.772,651,4.51,652,6.132,653,6.885,654,4.983,655,5.6]],["keywords/35",[]],["title/36",[140,158.521,642,594.176]],["content/36",[5,2.163,6,1.124,7,2.329,11,1.466,35,3.749,37,1.186,38,1.881,48,1.34,49,3.052,51,3.049,52,5.318,53,0.874,61,3.611,62,1.204,64,5.329,78,1.32,79,0.717,84,0.612,88,0.768,90,1.395,91,1.871,92,1.625,93,1.294,94,5.996,102,1.929,103,1.219,105,2.423,108,3.16,112,1.753,120,1.946,130,0.65,131,1.158,133,1.197,136,0.822,137,1.21,138,2.439,139,2.023,140,2.76,141,1.476,143,1.078,144,1.919,150,1.55,151,1.367,152,1.78,155,1.804,160,3.12,162,1.764,163,0.928,164,3.294,165,0.994,173,2.138,174,2.924,180,3.176,181,3.312,182,1.994,183,2.519,185,3.025,186,2.878,187,2.692,189,1.401,192,1.7,194,3.13,197,2.939,198,0.945,201,2.652,202,2.565,204,1.256,207,1.027,209,6.491,214,2.519,216,1.549,217,2.012,219,2.238,225,2.587,227,0.49,240,2.114,241,0.904,242,2.811,252,2.325,256,0.653,257,1.358,258,1.093,259,1.573,263,2.612,265,4.038,268,1.124,273,2.995,275,1.039,277,2.856,278,0.86,280,1.177,285,0.713,318,1.835,320,3.01,321,0.84,323,1.197,327,1.039,329,3.335,330,1.324,333,3.08,337,2.847,338,0.994,340,2.203,345,0.984,347,1.267,349,1.108,350,2.525,352,0.943,353,0.799,358,3.488,361,3.678,373,5.351,374,2.623,375,0.805,376,2.062,378,3.138,391,3.583,392,1.324,396,1.395,398,1.242,404,2.424,423,5.958,425,1.108,432,4.888,446,4.15,447,1.312,455,1.969,508,1.197,540,2.204,552,2.612,554,1.804,563,0.994,568,1.893,583,2.372,612,1.158,615,0.92,626,1.197,627,1.358,631,1.438,640,1.438,646,4.365,651,2.966,652,3.232,653,1.093,656,2.787,657,2.787,658,1.324,659,1.625,660,1.625,661,2.281,662,1.549,663,1.625,664,3.041,665,3.041,666,2.542,667,1.625,668,1.625,669,4.205,670,5.479,671,2.201,672,2.204,673,0.86,674,1.065,675,1.994,676,0.768,677,1.027,678,1.489,679,1.294,680,1.625,681,4.632,682,1.489,683,1.438,684,1.625,685,1.358,686,1.823,687,1.625,688,1.625,689,2.693,690,1.625,691,1.625,692,1.489,693,4.763,694,1.625,695,1.923,696,2.135,697,2.519,698,5.619,699,2.612,700,2.053,701,1.358,702,1.197,703,1.489,704,1.267,705,1.726,706,1.726,707,1.726,708,1.625,709,2.423,710,1.625,711,1.395,712,1.267,713,1.489,714,1.625,715,1.489,716,1.438,717,1.039,718,1.242,719,1.489,720,2.372,721,3.041,722,1.242,723,4.296,724,0.945,725,2.811,726,1.489,727,1.625,728,4.288,729,1.726,730,1.726,731,4.288,732,5.393,733,3.231,734,1.625,735,1.489,736,1.726,737,3.041,738,1.726,739,1.726,740,6.776,741,12.295,742,2.201,743,1.219,744,5.5,745,1.438,746,1.016,747,1.625,748,7.166,749,3.628,750,2.855,751,8.201,752,1.691,753,2.046,754,2.135,755,3.231,756,3.231,757,2.325,758,2.218,759,1.549,760,1.549,761,1.005,762,4.288,763,3.041,764,1.395,765,2.542,766,1.625,767,1.489,768,3.45,769,1.625,770,1.438,771,5.142,772,1.625,773,1.625,774,2.241,775,2.463,776,3.041,777,1.625,778,1.625,779,1.395,780,1.549,781,1.625,782,1.625,783,1.625,784,3.041,785,9.727,786,1.625,787,5.393,788,3.041,789,6.54,790,1.787,791,2.423,792,2.542,793,3.041,794,2.693,795,1.573,796,4.775,797,2.325,798,5.728,799,4.088,800,1.625,801,3.929,802,2.693,803,1.016,804,1.549,805,1.625,806,2.924,807,1.625,808,2.623,809,1.052,810,1.625,811,4.555,812,1.027,813,0.828,814,1.549,815,1.438,816,1.625,817,1.489,818,1.358,819,1.027,820,5.728,821,1.242,822,1.052,823,1.197,824,1.395,825,1.052,826,1.489,827,3.041,828,3.231,829,1.625,830,2.325,831,1.625,832,1.549,833,7.265,834,2.542,835,1.726,836,1.141,837,3.041,838,4.088,839,1.625,840,1.158,841,3.231,842,1.324,843,1.158,844,3.231,845,1.158,846,1.726,847,2.693,848,0.81,849,0.928,850,1.625,851,1.549,852,2.325,853,3.231]],["keywords/36",[]],["title/37",[723,1050.255]],["content/37",[5,1.261,7,2.251,18,3.065,35,2.769,48,5.543,51,2.946,52,5.648,53,5.831,83,4.493,137,4.314,140,3.228,146,5.978,151,5.952,152,4.5,160,4.089,162,1.31,164,4.317,167,4.086,172,11.086,173,6.604,174,5.879,175,7.198,176,8.681,177,7.294,178,7.294,179,6.249,180,5.003,181,5.438,187,4.574,194,3.86,214,6.369,217,2.62,223,6.249,265,2.671,277,2.669,279,3.013,340,5.409,350,4.299,352,3.362,373,8.429,374,6.633,375,6.558,376,5.202,380,9.06,624,6.936,625,6.633,630,4.93,637,7.855,643,3.66,645,5.006,646,4.705,647,9.762,648,4.93,649,4.166,650,6.217,651,4.858,652,6.497,653,7.294,654,5.367,655,6.031]],["keywords/37",[]],["title/38",[854,1525.086]],["content/38",[53,10.235,140,2.44,160,3.658,162,2.96,164,3.862,278,8.397,361,10.819,614,9.506,848,10.167,852,8.602,855,7.696,856,14.045,857,18.35]],["keywords/38",[]],["title/39",[350,352.168]],["content/39",[5,2.461,38,8.476,48,5.436,52,5.531,53,7.372,78,5.948,140,2.108,141,6.649,142,7.975,160,3.161,180,4.605,190,10.688,282,9.482,337,5.372,340,5.598,350,4.645,376,4.43,392,11.172,423,7.037,562,10.688,634,19.15,636,12.135,655,11.772,676,6.476,752,7.622,858,13.705,859,12.135]],["keywords/39",[]],["title/40",[136,278.481,144,154.065]],["content/40",[6,5.413,50,3.146,53,4.209,136,2.114,144,1.17,146,4.315,150,3.988,181,3.213,213,8.754,214,11.783,219,7.643,230,3.988,232,6.787,250,8.312,292,3.627,423,9.111,633,8.312,646,9.082,656,15.475,662,16.103,697,6.918,717,7.533,723,16.189,724,6.851,725,12.07,847,6.928,853,15.037,860,9.052,861,9.052,862,9.052,863,9.052,864,9.052,865,9.052,866,9.052,867,13.621,868,9.052,869,9.052,870,9.052,871,13.621,872,9.052,873,9.052,874,4.429,875,4.553,876,7.461,877,5.981,878,8.312,879,9.052,880,9.052,881,9.052,882,10.431,883,10.093,884,9.84,885,16.376,886,16.376,887,9.052,888,9.052,889,7.461,890,9.052,891,9.052,892,7.461,893,9.052]],["keywords/40",[]],["title/41",[11,496.721,894,821.123]],["content/41",[]],["keywords/41",[]],["title/42",[1,125.581,144,82.27,337,215.718,573,253.544,677,348.082,894,438.476]],["content/42",[1,2.353,6,7.133,64,4.062,142,8.37,244,4.553,337,4.041,376,4.649,443,10.357,465,8.856,555,9.448,573,4.75,580,7.881,676,4.872,677,6.521,693,6.76,697,6.058,758,5.334,790,9.731,791,8.214,883,7.351,894,8.214,895,9.129,896,10.311,897,13.714,898,10.953,899,14.383,900,10.953,901,10.311,902,9.831,903,9.831,904,9.448,905,9.448,906,9.129,907,9.831,908,9.129,909,9.448,910,8.214,911,10.311,912,10.953,913,10.311,914,9.129,915,9.129,916,10.953,917,9.831,918,6.76,919,10.953,920,7.351,921,8.04,922,10.953,923,10.953,924,10.098,925,11.928,926,9.831,927,10.953,928,11.928,929,7.881,930,5.785,931,11.928,932,11.928,933,11.928,934,11.928,935,11.928,936,8.856,937,11.928,938,7.471,939,11.928,940,11.928,941,11.928,942,10.311,943,11.928,944,10.953,945,11.928]],["keywords/42",[]],["title/43",[1,142.14,144,93.118,337,244.163,894,496.295,946,393.982]],["content/43",[1,2.996,5,1.629,6,6.274,7,2.907,9,2.701,29,2.519,49,3.172,89,2.756,96,3.934,139,1.524,142,3.261,153,4.178,157,3.039,200,4.283,219,2.326,244,2.475,326,3.995,337,2.196,350,1.497,376,4.662,391,4.683,436,2.966,443,10.159,454,4.129,465,4.813,555,10.469,580,6.933,581,5.135,676,4.285,693,3.674,697,3.292,709,4.464,750,6.048,790,9.545,791,4.464,795,4.691,883,9.361,894,7.225,895,4.962,896,11.425,897,10.893,898,9.634,899,11.425,900,5.953,901,5.604,903,8.648,904,5.135,905,5.135,906,4.962,907,5.343,908,4.962,909,5.135,910,4.464,911,5.604,912,5.953,913,5.604,914,4.962,915,8.03,916,5.953,917,5.343,918,5.946,919,9.634,920,6.466,921,7.072,922,12.136,923,5.953,924,9.218,926,5.343,927,5.953,929,4.283,930,3.144,936,4.813,938,6.571,942,9.069,944,13.947,946,3.544,947,14.421,948,8.03,949,9.069,950,4.568,951,4.962,952,3.144,953,6.483,954,5.953,955,6.483,956,6.483,957,6.483,958,6.483,959,6.483,960,6.483,961,10.492,962,4.464,963,13.216,964,6.483,965,10.492,966,6.483,967,10.492,968,10.492,969,9.634,970,9.069,971,10.492,972,10.492,973,10.492,974,6.483,975,5.953,976,6.483,977,6.483,978,6.483,979,6.483,980,4.962,981,6.483,982,6.483,983,6.483,984,10.492,985,6.483,986,6.483,987,10.492,988,10.492,989,10.492,990,10.492,991,10.492,992,10.492,993,10.492,994,6.483,995,6.483,996,6.483,997,6.483,998,6.483,999,6.483,1000,6.483,1001,6.483,1002,6.483,1003,6.483,1004,6.483,1005,6.483,1006,6.483,1007,6.483,1008,6.483,1009,5.343,1010,6.483,1011,6.483,1012,6.483,1013,6.483,1014,6.483,1015,6.483,1016,6.483,1017,6.483,1018,6.483,1019,6.483,1020,6.483,1021,5.953,1022,4.962,1023,5.953,1024,6.483]],["keywords/43",[]],["title/44",[3,569.283,144,126.472,353,416.153]],["content/44",[1,0.967,3,4.841,5,0.761,7,2.306,11,3.467,18,3.141,21,2.594,29,1.906,35,1.083,45,1.014,46,3.515,47,3.124,48,1.325,60,1.722,62,1.678,64,2.834,66,5.13,67,5.928,72,2.594,74,4.659,78,1.84,79,1.872,97,3.515,110,3.072,115,3.18,117,3.456,137,1.687,139,3.529,144,1.075,149,3.543,150,2.16,152,4.585,153,1.953,159,2.681,164,1.032,165,2.594,176,2.779,189,1.953,194,1.509,204,2.971,207,6.986,225,5.104,230,2.16,248,2.54,252,3.902,271,2.976,275,2.712,279,3.087,284,4.356,292,1.965,296,4.227,305,2.779,314,5.213,320,2.976,325,2.815,336,1.941,352,5.442,353,2.085,376,1.37,393,7.643,434,2.193,436,2.244,437,5.676,443,8.408,447,3.105,467,2.976,542,2.681,545,2.976,551,5.732,556,3.456,563,2.594,573,1.953,580,3.24,631,3.753,646,1.84,673,2.244,675,2.779,693,2.779,758,2.193,790,4.227,849,2.421,852,2.299,856,6.371,894,8.8,897,16.735,899,9.374,906,3.753,915,6.371,918,2.779,924,7.756,929,3.24,930,2.378,938,3.072,1025,4.239,1026,4.904,1027,2.358,1028,4.503,1029,3.753,1030,4.503,1031,5.052,1032,5.865,1033,4.904,1034,4.904,1035,3.884,1036,5.611,1037,4.503,1038,7.195,1039,3.543,1040,4.503,1041,3.314,1042,4.904,1043,4.904,1044,4.904,1045,4.904,1046,9.781,1047,8.324,1048,8.324,1049,8.324,1050,4.904,1051,4.904,1052,4.503,1053,4.904,1054,2.594,1055,4.904,1056,2.815,1057,4.904,1058,4.904,1059,4.904,1060,4.904,1061,4.904,1062,4.904,1063,4.904,1064,4.904,1065,3.543,1066,8.3,1067,2.651,1068,4.904,1069,4.904,1070,9.958,1071,4.503,1072,3.641,1073,4.904,1074,8.444,1075,4.904,1076,4.503,1077,4.904,1078,4.503,1079,14.311,1080,4.904,1081,4.239,1082,4.904,1083,4.904,1084,4.904,1085,4.904,1086,4.904,1087,4.904,1088,4.904,1089,4.904,1090,4.904,1091,4.904,1092,4.042,1093,4.904,1094,4.904,1095,15.555,1096,4.904,1097,4.904,1098,4.904,1099,4.904,1100,4.904,1101,4.904,1102,4.904,1103,4.904,1104,4.904,1105,4.904,1106,4.503,1107,4.904,1108,4.904,1109,4.904,1110,7.643,1111,4.503,1112,4.904,1113,3.124,1114,4.904,1115,8.324,1116,4.904,1117,4.904,1118,3.377,1119,4.904,1120,4.904,1121,4.904,1122,4.904,1123,4.239,1124,4.904,1125,3.24,1126,4.904,1127,4.904,1128,4.904,1129,4.904,1130,4.904,1131,4.904,1132,4.904,1133,4.904,1134,4.904,1135,8.324,1136,4.904,1137,4.904,1138,4.904,1139,4.904]],["keywords/44",[]],["title/45",[571,514.077,1140,746.821]],["content/45",[]],["keywords/45",[]],["title/46",[1,125.581,37,214.634,226,340.39,571,274.515,1140,398.8,1141,487.333]],["content/46",[1,4.172,29,5.213,37,4.522,50,5.623,51,3.218,64,3.021,69,5.305,78,3.328,80,5.384,89,3.771,102,2.743,126,5.861,130,3.067,132,6.251,139,1.288,168,6.109,169,6.251,183,4.505,225,6.704,226,8.648,256,5.623,259,3.967,273,3.6,285,3.366,307,7.419,309,4.302,352,4.336,395,7.668,423,3.937,440,6.409,447,5.004,493,5.861,511,5.384,518,6.79,567,6.251,571,9.12,573,3.532,592,9.818,621,4.795,674,5.027,753,5.159,761,4.742,812,4.849,877,5.861,1067,4.795,1125,5.861,1140,10.132,1142,5.384,1143,6.251,1144,8.871,1145,8.146,1146,6.564,1147,8.871,1148,12.318,1149,11.487,1150,13.414,1151,7.668,1152,6.251,1153,7.668,1154,7.668,1155,10.626,1156,8.146,1157,6.586,1158,12.318,1159,13.414,1160,8.871,1161,8.146,1162,5.23,1163,7.311,1164,7.311,1165,9.238,1166,5.23,1167,6.109,1168,11.399,1169,5.861,1170,8.146,1171,8.871,1172,8.871,1173,13.414,1174,8.871,1175,4.849,1176,5.467,1177,8.545,1178,8.871,1179,8.871,1180,8.871,1181,8.871,1182,8.871,1183,8.871,1184,8.871,1185,8.871,1186,7.668,1187,7.311,1188,8.871,1189,5.98,1190,8.871]],["keywords/46",[]],["title/47",[317,480.389]],["content/47",[]],["keywords/47",[]],["title/48",[187,434.914,317,375.584]],["content/48",[1,3.589,5,3.4,138,7.115,143,5.576,187,6.638,265,5.985,317,7.401,434,8.138,1191,17.35,1192,12.533,1193,13.513,1194,11.593,1195,9.837]],["keywords/48",[]],["title/49",[317,308.318,1191,775.333,1192,674.064]],["content/49",[5,0.878,35,2.071,45,1.169,46,5.076,55,3.205,75,8.109,78,2.121,84,3.055,89,3.988,138,4.699,139,2.253,140,0.752,143,1.733,144,1.212,146,4.472,160,2.397,162,0.912,164,2.945,192,1.144,193,5.61,208,1.897,209,7.538,213,5.015,219,3.366,223,2.818,234,6.726,238,5.456,252,2.651,274,3.205,279,5.189,292,3.759,309,4.55,317,7.417,318,1.235,376,2.621,495,8.415,554,4.811,573,2.252,642,2.818,646,6.957,693,5.316,700,2.34,750,4.293,758,5.375,813,2.491,874,5.882,884,6.777,1056,13.229,1191,7.431,1192,3.894,1196,6.965,1197,5.655,1198,3.985,1199,10.458,1200,8.42,1201,11.43,1202,5.015,1203,6.199,1204,7.333,1205,6.199,1206,16.003,1207,12.803,1208,14.843,1209,16.14,1210,6.46,1211,7.732,1212,5.61,1213,5.876,1214,5.251,1215,6.083,1216,11.531,1217,7.732,1218,11.531,1219,6.777,1220,7.732,1221,12.803]],["keywords/49",[]],["title/50",[317,308.318,434,437.682,1191,775.333]],["content/50",[5,0.94,35,1.337,45,2.052,46,4.192,55,3.433,75,7.914,78,2.272,84,3.233,102,1.873,130,3.433,138,4.931,139,1.832,140,0.805,143,1.856,144,1.283,146,4.732,153,2.412,160,2.515,164,3.071,192,1.225,193,5.937,208,1.225,209,6.573,213,5.307,219,3.562,223,3.018,234,7.014,238,5.774,252,2.839,259,2.708,279,5.411,292,3.978,309,4.815,317,7.36,318,1.323,376,1.693,434,5.641,492,4.268,495,8.7,554,5.092,573,2.412,642,4.947,646,7.152,693,5.626,750,4.543,758,2.708,836,3.676,874,4.858,884,7.172,1056,13.411,1191,7.864,1196,7.371,1199,9.834,1200,7.853,1201,10.66,1202,5.307,1203,6.56,1204,7.558,1205,6.56,1206,16.297,1207,7.172,1209,16.316,1210,6.837,1211,8.183,1212,5.937,1213,6.218,1214,5.557,1215,6.437,1216,12.024,1217,8.183,1218,12.024,1219,7.172,1220,8.183,1221,7.172,1222,4.171,1223,4.497,1224,4.002,1225,5.562,1226,13.918,1227,16.1,1228,5.562]],["keywords/50",[]],["title/51",[317,375.584,1193,885.315]],["content/51",[5,2.542,35,3.007,45,1.871,48,2.446,50,3.146,75,8.94,84,5.333,138,6.402,140,1.203,143,2.773,144,1.76,152,3.248,160,3.265,162,1.46,192,1.831,194,2.786,208,2.755,209,8.208,223,4.511,224,2.977,238,7.922,248,4.689,277,2.898,279,5.052,285,3.435,292,5.458,317,7.063,318,1.976,439,11.605,495,10.714,642,4.511,677,4.949,700,7.539,750,7.493,801,7.17,813,6.001,874,6.665,1025,14.156,1054,4.787,1056,9.399,1140,5.67,1193,10.113,1195,4.893,1196,6.721,1198,13.767,1199,11.039,1200,8.87,1201,8.395,1202,7.282,1203,9,1206,10.113,1208,9.38,1209,9.182,1210,9.38,1229,9.052,1230,6.379,1231,8.312,1232,9.598,1233,13.621,1234,8.312,1235,7.17,1236,9.052,1237,5.13,1238,14.156,1239,8.312,1240,13.621,1241,9.052]],["keywords/51",[]],["title/52",[317,375.584,1194,759.545]],["content/52",[1,1.279,9,2.701,45,1.34,46,2.737,51,2.352,55,3.674,75,8.6,78,2.432,84,4.304,102,2.004,121,2.966,138,5.167,139,2.206,140,0.862,143,1.986,144,0.838,146,3.09,153,2.581,160,2.635,162,1.693,164,2.208,187,2.364,192,2.122,193,3.877,209,7.516,213,3.466,219,7.254,223,3.23,234,5.044,238,3.77,252,3.039,259,2.899,279,5.634,292,4.204,317,6.933,333,6.526,336,2.565,373,5.134,376,1.811,495,8.98,554,3.325,642,5.228,646,5.698,693,3.674,717,5.803,742,2.877,750,4.801,758,5.91,874,5.134,884,4.683,1054,3.429,1056,11.92,1194,11.372,1199,12.67,1200,8.885,1201,12.46,1202,5.609,1203,6.933,1204,7.388,1205,6.933,1206,13.955,1211,5.343,1212,3.877,1213,4.06,1214,3.629,1215,4.204,1216,8.648,1217,5.343,1218,8.648,1219,4.683,1220,5.343,1225,5.953,1242,3.504,1243,9.634,1244,6.483,1245,5.343,1246,13.13,1247,15.189,1248,9.634,1249,6.571,1250,9.069,1251,7.58,1252,9.634,1253,5.001,1254,16.247,1255,6.483,1256,10.492,1257,6.483,1258,10.492,1259,6.483,1260,17.853,1261,11.425,1262,6.483,1263,5.953]],["keywords/52",[]],["title/53",[55,864.282]],["content/53",[5,2.571,46,8.731,55,11.718,75,7.581,130,5.728,209,7.464,240,5.613,255,10.054,317,7.1,362,7.964,434,7.408,554,8.496,742,7.352,744,9.773,1192,11.408,1194,10.553,1264,11.408,1265,16.566,1266,9.056,1267,16.566,1268,16.566,1269,16.566,1270,16.378]],["keywords/53",[]],["title/54",[1204,631.123]],["content/54",[1,2.808,5,1.672,35,1.824,45,1.708,48,3.434,59,2.141,70,3.096,75,6.515,78,1.824,79,1.855,88,1.985,91,1.834,102,1.503,106,2.599,119,5.472,138,1.9,139,1.565,140,1.893,143,2.531,146,3.938,157,5.956,159,2.657,162,1.738,164,2.674,171,3.045,185,2.357,193,6.443,208,0.983,209,6.415,213,4.417,217,1.568,219,2.964,220,2.224,225,2.543,226,2.599,234,7.443,259,4.818,265,4.178,273,1.973,277,3.856,279,3.996,286,2.79,317,7.09,324,6.443,329,2.599,336,1.924,340,4.487,345,4.324,378,2.445,460,2.95,554,2.493,615,2.378,642,2.422,646,6.52,671,2.157,673,2.224,693,8.069,698,3.78,712,3.277,743,3.152,744,2.298,789,6.443,819,2.657,884,9.18,918,2.755,930,2.357,952,2.357,1056,12.54,1200,7.029,1201,9.542,1204,9.14,1206,15.321,1207,11.93,1208,14.21,1209,15.721,1210,5.689,1212,7.598,1213,8.918,1214,4.624,1215,8.239,1216,10.472,1217,6.809,1218,10.472,1219,7.784,1220,6.809,1221,11.185,1222,5.689,1232,5.822,1237,2.755,1271,4.861,1272,4.464,1273,4.464,1274,4.861,1275,3.425,1276,4.861,1277,3.609,1278,4.464,1279,5.822,1280,4.861,1281,10.472,1282,3.425,1283,8.261,1284,8.261,1285,4.861,1286,4.006,1287,5.136,1288,4.006]],["keywords/54",[]],["title/55",[1204,631.123]],["content/55",[]],["keywords/55",[]],["title/56",[277,208.292,1204,405.061,1277,726.759]],["content/56",[1,2.501,55,7.185,64,4.317,75,5.802,78,4.756,88,5.179,91,4.784,97,5.354,102,3.92,119,6.439,140,2.307,143,3.884,155,6.503,164,3.653,173,5.466,180,3.682,181,4.501,187,4.625,193,7.582,194,3.902,217,4.089,241,6.095,252,5.943,277,3.693,332,7.012,508,8.076,564,8.076,671,5.627,675,7.185,693,7.185,758,5.669,775,4.231,819,6.931,843,7.814,1175,6.931,1200,7.88,1204,10.072,1212,7.582,1213,7.941,1215,8.221,1219,9.16,1253,6.043,1277,9.414,1289,10.96,1290,10.96,1291,9.414,1292,9.414,1293,6.568,1294,12.679,1295,12.23,1296,9.704,1297,6.043,1298,9.414,1299,9.414,1300,7.941,1301,10.96,1302,10.96]],["keywords/56",[]],["title/57",[1204,493.432,1289,1030.714]],["content/57",[4,7.07,48,5.495,52,4.84,78,5.015,89,5.683,91,5.044,125,8.515,173,5.763,207,7.308,277,5.084,279,4.958,355,7.994,648,13.201,720,9.011,754,10.918,813,5.889,842,9.419,875,6.724,924,8.113,980,10.231,1022,10.231,1204,5.532,1273,16.519,1289,11.555,1293,11.759,1303,9.925,1304,13.367,1305,13.367,1306,17.99,1307,11.555,1308,12.275,1309,13.367,1310,12.275,1311,11.018,1312,13.367,1313,12.275,1314,9.925,1315,9.657,1316,8.515,1317,13.367,1318,13.367]],["keywords/57",[]],["title/58",[1204,493.432,1290,1030.714]],["content/58",[17,10.088,48,4.515,75,8.476,91,3.531,140,1.244,141,5.856,152,3.358,160,1.866,164,3.516,174,7.831,198,8.403,202,3.847,209,6.292,217,7.14,221,6.772,256,4.854,265,4.592,277,3.942,279,3.471,286,14.079,309,6.772,332,5.176,348,12.786,508,8.895,700,5.779,724,9.317,819,5.116,980,12.786,1140,5.861,1194,8.895,1200,4.249,1204,3.873,1230,9.84,1290,12.071,1293,10.266,1297,6.656,1316,5.961,1319,22.136,1320,13.964,1321,13.964,1322,13.964,1323,13.964,1324,7.413,1325,9.358,1326,9.358,1327,19.816,1328,9.358,1329,9.358,1330,22.626]],["keywords/58",[]],["title/59",[1204,493.432,1212,713.067]],["content/59",[1,2.054,5,1.616,43,9.982,48,6.286,61,5.095,62,3.564,75,8.135,78,3.907,84,3.391,97,4.397,102,3.22,106,5.567,140,1.384,152,3.737,160,2.076,180,3.024,181,3.697,194,3.205,220,4.765,224,3.425,256,3.62,258,8.786,260,6.881,271,6.32,273,4.226,277,4.15,317,4.759,332,5.76,378,5.238,646,3.907,649,7.748,661,6.753,698,4.765,703,8.249,712,7.02,750,4.765,751,6.634,754,6.32,775,5.933,843,6.418,1200,4.728,1204,6.252,1212,10.631,1222,7.171,1232,7.338,1293,11.187,1297,4.964,1315,10.914,1331,10.414,1332,6.753,1333,15.61,1334,16.131,1335,6.881,1336,13.606,1337,5.902,1338,10.414,1339,7.732,1340,6.057,1341,6.418]],["keywords/59",[]],["title/60",[1204,493.432,1213,746.821]],["content/60",[5,2.4,35,1.82,37,2.779,43,8.381,48,5.349,61,4.034,62,2.821,75,7.944,84,5.035,102,2.549,106,6.781,124,4.314,130,2.851,140,1.096,143,2.526,144,1.065,152,2.958,160,1.643,164,1.735,180,4.49,181,2.926,188,4.614,189,3.283,208,2.566,213,4.407,220,3.772,256,2.865,258,7.377,265,2.711,275,4.559,277,4.744,278,3.772,285,3.128,317,5.469,324,4.93,370,9.529,373,6.207,375,6.619,378,4.147,442,5.081,643,3.714,646,3.093,649,7.93,651,9.246,661,5.345,676,3.367,693,4.672,698,3.772,703,6.53,712,5.557,725,4.672,775,4.233,930,6.152,1067,4.456,1199,5.557,1200,3.743,1204,7.756,1212,4.93,1213,11.74,1214,4.614,1232,5.809,1293,11.31,1297,7.37,1315,5.956,1333,14.426,1334,15.291,1336,13.288,1339,9.418,1340,4.794,1341,5.081,1342,8.244,1343,5.447,1344,6.794,1345,6.309,1346,8.244,1347,4.794,1348,8.244,1349,8.244,1350,10.965,1351,9.418,1352,5.251]],["keywords/60",[]],["title/61",[693,675.723,1204,493.432]],["content/61",[1,0.922,5,2.515,7,2.215,18,1.764,20,2.618,37,1.576,43,5.282,48,4.819,52,4.534,61,2.288,62,1.6,75,6.368,78,1.754,84,3.409,96,2.838,102,1.446,120,2.586,139,2.202,140,0.622,143,1.433,144,1.353,146,3.81,152,2.868,159,2.556,160,0.932,164,1.682,172,4.321,173,2.016,177,2.72,180,1.358,181,1.66,182,2.65,188,2.618,194,1.439,213,2.5,219,2.868,220,5.668,230,3.521,232,5.217,234,7.79,256,1.625,258,2.72,265,1.538,268,4.78,271,2.838,272,2.684,275,4.421,277,4.255,285,1.775,290,4.474,298,3.854,309,5.077,317,3.297,325,2.684,333,2.309,362,2.248,373,7.42,374,10.074,375,5.303,377,3.152,378,11.224,379,3.152,432,2.72,447,3.905,543,2.979,592,2.838,615,2.288,637,2.929,646,3.927,649,5.369,652,4.141,661,3.032,676,1.91,693,14.028,695,4.37,696,6.353,698,4.79,711,3.472,743,5.183,750,2.14,775,1.561,819,2.556,883,2.882,884,3.378,895,8.012,1039,5.775,1067,2.528,1176,4.926,1200,3.629,1204,6.275,1212,2.796,1213,2.929,1232,3.295,1251,3.378,1293,11.207,1315,3.378,1333,13.71,1334,14.204,1336,11.606,1339,5.935,1340,2.72,1341,2.882,1347,2.72,1353,4.042,1354,4.294,1355,4.676,1356,11.023,1357,4.676,1358,2.72,1359,8.292,1360,3.579,1361,4.676,1362,2.838,1363,4.294,1364,3.854,1365,8.012,1366,3.704,1367,4.294,1368,3.032,1369,4.676,1370,4.676,1371,4.676,1372,4.676,1373,4.676,1374,4.676,1375,4.676,1376,10.209]],["keywords/61",[]],["title/62",[1204,493.432,1215,773.178]],["content/62",[5,2.561,17,6.621,35,2.023,43,9.084,48,5.78,61,4.484,62,3.137,75,8.987,78,3.438,84,2.984,102,2.834,140,1.218,143,2.808,144,1.184,152,3.288,160,1.827,164,1.929,180,2.662,181,5.856,189,5.474,208,2.78,209,6.194,217,4.434,220,6.291,258,5.33,262,6.055,277,4.876,284,4.796,286,11.837,317,2.887,332,5.069,378,4.61,615,6.727,628,4.098,646,3.438,649,7.051,661,10.698,698,4.194,750,4.194,775,5.506,1199,9.267,1200,4.161,1204,5.689,1215,14.265,1232,6.458,1275,6.458,1277,10.207,1293,10.175,1297,6.553,1315,6.621,1333,13.627,1334,14.829,1336,12.627,1337,5.194,1339,6.804,1340,5.33,1341,10.168,1362,5.562,1377,5.562,1378,15.149,1379,7.014,1380,9.164,1381,8.415,1382,7.922]],["keywords/62",[]],["title/63",[193,713.067,1204,493.432]],["content/63",[1,1.858,5,2.178,17,4.107,18,2.145,35,2.664,37,3.176,43,6.225,45,1.175,46,3.978,48,4.533,50,1.976,59,4.15,60,1.997,61,2.781,62,3.224,75,8.504,78,3.534,84,5.067,89,2.417,97,3.978,102,1.758,112,2.832,129,3.144,140,0.756,141,7.794,144,0.734,152,2.04,160,1.133,162,0.917,164,1.196,165,3.006,174,2.664,180,2.736,181,5.954,183,2.887,186,1.609,189,3.751,193,8.393,208,1.905,209,4.245,217,1.833,219,2.04,220,5.521,224,1.869,258,3.306,272,3.263,275,3.144,277,4.434,279,2.108,282,3.399,286,8.055,292,3.775,307,3.144,309,2.757,317,2.968,326,3.503,327,3.144,336,2.249,345,4.931,358,2.359,376,1.588,378,7.059,494,3.144,508,3.621,558,4.107,562,3.832,574,3.351,615,5.903,620,2.832,643,5.436,646,3.534,649,7.979,658,4.005,661,7.823,698,2.601,712,3.832,746,7.586,750,4.311,758,2.542,775,3.144,848,2.451,874,4.61,875,2.859,918,11.553,929,6.225,1199,6.351,1200,4.277,1202,5.036,1204,6.438,1215,10.875,1232,8.502,1237,5.339,1277,8.958,1278,8.651,1291,6.995,1293,8.059,1295,4.005,1297,5.751,1315,4.107,1333,11.082,1334,12.527,1336,10.741,1337,3.221,1339,4.22,1340,3.306,1341,3.503,1351,6.995,1352,8.94,1378,8.651,1382,4.913,1383,4.685,1384,5.684,1385,5.684,1386,3.306,1387,5.684,1388,3.756,1389,4.005,1390,9.421,1391,7.685,1392,4.502,1393,5.684,1394,4.913,1395,5.684,1396,5.684,1397,9.421,1398,9.421,1399,6.806,1400,5.684,1401,4.502,1402,6.109,1403,4.22,1404,4.913,1405,3.56,1406,5.22]],["keywords/63",[]],["title/64",[1204,493.432,1219,861.436]],["content/64",[1,3.344,5,2.632,31,9.101,39,6.78,43,11.204,46,5.176,48,4.583,52,2.918,55,6.947,62,4.195,66,7.555,79,4.679,120,6.78,130,4.239,140,1.63,152,4.398,154,11.256,160,2.444,181,4.351,194,5.219,230,5.4,234,5.893,275,6.78,277,4.137,285,4.652,378,6.166,383,6.35,404,4.763,596,8.441,652,8.784,661,7.948,671,5.44,676,5.007,693,11.018,742,5.44,761,6.553,775,4.091,813,5.4,883,7.555,1200,7.699,1204,8.045,1219,12.251,1277,9.101,1293,6.35,1301,10.596,1315,8.856,1333,12.846,1334,15.355,1336,9.382,1340,7.129,1341,7.555,1407,10.103,1408,11.256,1409,12.258,1410,12.258]],["keywords/64",[]],["title/65",[1204,493.432,1279,840.217]],["content/65",[1,3.711,143,5.765,187,8.15,317,5.927,345,9.849,812,10.287,1204,9.247,1279,15.746,1281,15.51,1411,16.267]],["keywords/65",[]],["title/66",[1204,493.432,1411,1030.714]],["content/66",[29,5.6,35,3.182,84,6.159,91,5.437,97,6.085,119,7.319,140,1.916,144,1.862,152,5.171,160,2.873,180,4.185,183,7.319,224,4.739,265,4.739,277,3.067,292,7.578,750,6.594,874,10.966,875,7.249,918,13.795,1202,10.11,1204,7.826,1297,6.869,1351,14.041,1352,12.047,1402,12.263,1403,10.7,1404,12.457,1405,9.026,1406,13.233,1411,12.457,1412,14.411,1413,14.411]],["keywords/66",[]],["title/67",[1204,493.432,1281,982.769]],["content/67",[5,2.996,17,6.358,35,1.943,48,3.604,52,4.275,60,3.091,78,3.301,139,2.338,140,1.17,152,3.158,160,1.754,162,1.42,172,7.207,173,3.794,180,2.556,183,8.176,205,5.263,207,4.811,208,1.78,213,10.317,217,2.838,256,3.059,273,3.571,277,4.107,317,2.772,350,4.147,358,3.338,371,5.189,373,9.443,374,7.052,375,5.708,626,5.606,645,5.424,649,6.838,725,11.955,750,4.027,785,10.562,1200,9.221,1204,3.642,1222,11.086,1232,9.396,1266,7.289,1281,19.482,1282,6.201,1288,7.253,1293,4.559,1297,7.673,1337,4.987,1347,5.118,1365,13.746,1382,7.607,1414,6.971,1415,8.8,1416,8.8,1417,8.8,1418,13.009,1419,8.8,1420,8.8,1421,8.8,1422,8.8,1423,8.8,1424,8.8,1425,16.098,1426,8.8,1427,8.8,1428,8.8,1429,13.334,1430,8.081,1431,13.334,1432,17.959,1433,8.8]],["keywords/67",[]],["title/68",[277,208.292,345,512.282,1204,405.061]],["content/68",[1,3.196,35,3.577,45,3.349,140,2.154,152,5.814,160,3.23,162,3.778,174,7.595,208,3.277,277,5.322,340,5.721,345,11.678,1199,13.746,1200,9.258,1204,6.705,1222,11.158,1237,11.556,1434,16.203]],["keywords/68",[]],["title/69",[671,529.196,1204,493.432]],["content/69",[1,3.356,5,2.412,7,1.064,9,2.808,17,2.775,18,3.398,20,3.773,45,0.794,46,1.622,48,5.537,52,1.605,54,2.234,61,1.879,62,1.315,64,1.308,69,7.368,75,8.067,77,6.894,78,5.829,89,4.603,91,4.085,97,4.572,106,3.604,107,4.75,110,2.406,112,1.914,121,1.758,125,2.447,130,3.744,139,0.558,140,1.197,143,2.065,152,3.885,153,1.53,155,1.97,157,5.075,165,2.031,171,4.222,173,1.656,181,4.374,184,3.166,185,1.863,188,2.15,189,1.53,192,2.745,194,1.182,195,2.331,197,1.53,202,3.703,203,3.82,209,7.943,217,1.239,220,3.084,225,2.075,226,3.604,240,7.475,241,5.205,252,1.801,255,2.331,258,2.234,262,4.454,265,1.263,271,2.331,277,4.525,284,2.01,307,3.728,309,3.269,317,6.454,318,2.69,320,2.331,336,3.564,350,2.5,404,3.5,435,2.775,440,2.775,442,5.551,447,3.36,495,1.932,508,4.294,543,2.447,555,7.135,563,2.031,568,2.573,593,3.974,614,4.666,615,1.879,623,3.166,642,6.14,643,1.731,647,2.177,671,5.468,711,2.852,715,5.339,742,1.705,744,6.914,750,4.122,751,5.738,754,2.331,758,4.841,775,5.449,789,4.031,802,2.94,824,2.852,836,2.331,843,4.154,848,2.906,851,3.166,874,1.879,918,3.82,952,1.863,1027,3.241,1036,2.589,1146,1.879,1175,4.924,1204,8.891,1213,2.406,1253,6.973,1266,7.418,1288,5.556,1295,4.75,1352,2.447,1362,4.091,1363,3.527,1435,3.32,1436,3.527,1437,3.841,1438,3.841,1439,2.707,1440,3.527,1441,3.32,1442,3.841,1443,4.371,1444,4.87,1445,5.827,1446,6.741,1447,6.741,1448,3.32,1449,3.32,1450,4.091,1451,3.043,1452,3.32,1453,3.527,1454,14.628,1455,11.73,1456,2.94,1457,9.007,1458,3.527,1459,3.043,1460,3.527,1461,2.707,1462,2.589,1463,5.827,1464,2.94,1465,2.775,1466,3.32,1467,3.841,1468,5.827,1469,5.159,1470,5.827,1471,3.043,1472,3.527,1473,2.94,1474,4.75,1475,6.19,1476,2.15,1477,5.556,1478,2.645,1479,2.645,1480,3.841,1481,5.827,1482,2.775,1483,3.841,1484,3.841,1485,3.32]],["keywords/69",[]],["title/70",[77,912.615,240,403.969]],["content/70",[]],["keywords/70",[]],["title/71",[746,644.506,1486,861.436]],["content/71",[5,1.892,48,3.295,77,9.33,105,8.395,106,6.517,119,6.191,139,3.302,155,6.252,163,6.019,180,3.54,192,2.466,196,5.41,198,6.132,217,3.932,240,4.13,241,5.861,279,4.521,317,6.592,318,2.662,336,7.671,358,3.052,379,8.217,423,5.41,538,9.33,596,8.395,671,5.41,742,7.497,744,9.892,746,6.589,764,9.051,768,9.343,775,4.068,779,9.051,1157,9.051,1200,5.535,1201,7.513,1204,8.661,1253,5.811,1295,8.59,1297,5.811,1298,9.051,1487,12.19,1488,7.399,1489,17.8,1490,10.538,1491,12.19,1492,12.19,1493,9.33,1494,12.19,1495,11.194,1496,11.194,1497,12.19,1498,10.538,1499,9.051,1500,12.19,1501,6.997,1502,11.194]],["keywords/71",[]],["title/72",[1493,1167.278]],["content/72",[5,2.987,10,11.324,46,8.124,70,9.425,192,2.993,195,11.677,198,7.443,217,4.772,240,7.244,274,8.385,279,5.488,317,4.661,318,3.231,336,8.461,423,6.567,673,6.77,742,9.489,744,10.106,758,6.616,768,10.641,952,7.176,1204,6.123,1266,10.518,1347,8.605,1493,17.963,1503,12.195,1504,14.796,1505,10.986]],["keywords/72",[]],["title/73",[1506,1400.437]],["content/73",[5,2.409,46,6.554,70,9.887,78,5.823,192,3.139,195,9.42,217,5.006,224,5.104,225,4.777,240,6.723,241,7.462,274,8.796,317,4.889,318,3.389,336,8.656,423,6.889,570,9.027,742,9.708,744,10.339,768,10.975,1204,6.423,1493,17.644,1498,13.417,1506,20.085,1507,15.521]],["keywords/73",[]],["title/74",[1508,1400.437]],["content/74",[5,2.409,70,9.887,78,5.823,192,3.139,195,9.42,217,5.006,224,5.104,225,4.777,240,6.723,241,7.462,274,8.796,317,4.889,318,3.389,336,8.656,423,6.889,570,9.027,742,9.708,744,10.339,768,10.975,1204,6.423,1266,8.485,1493,17.644,1498,13.417,1508,20.085,1509,15.521]],["keywords/74",[]],["title/75",[1455,1318.333]],["content/75",[5,1.909,48,5.959,51,2.873,62,2.71,75,6.898,91,4.64,103,9.775,139,3.051,140,1.053,143,2.426,173,3.414,180,3.572,181,6.033,189,3.154,192,1.602,201,6.574,217,5.482,219,4.413,224,2.604,240,4.166,241,3.807,252,3.712,259,3.541,277,3.208,317,6.134,318,1.729,327,4.38,336,6.726,362,3.807,371,7.251,379,5.338,390,11.292,423,3.515,425,7.251,442,7.579,447,2.954,555,6.273,614,4.103,642,3.946,646,4.613,676,3.235,742,7.543,744,7.126,768,6.801,775,7.61,819,8.241,1200,3.596,1201,7.579,1204,7.615,1253,9.687,1266,8.241,1295,5.581,1301,13.032,1347,4.606,1352,7.834,1452,10.63,1455,6.846,1458,7.272,1459,6.273,1465,5.721,1478,5.454,1489,15.606,1495,7.272,1496,15.606,1502,7.272,1510,10.136,1511,11.538,1512,9.741,1513,7.919,1514,7.919,1515,7.919,1516,8.666,1517,7.919,1518,7.919,1519,6.846,1520,7.919,1521,7.919,1522,7.919,1523,6.527,1524,6.273,1525,6.527]],["keywords/75",[]],["title/76",[1468,1318.333]],["content/76",[1,3.704,5,1.784,7,3.185,49,7.933,51,4.17,140,1.528,143,3.522,151,4.466,155,5.895,189,4.577,192,2.325,208,3.279,217,3.707,224,3.78,240,5.493,252,5.388,259,5.14,277,5.244,317,5.107,318,2.51,319,7.916,336,7.433,362,5.526,379,7.748,423,5.101,447,4.288,508,7.322,614,5.955,642,5.728,742,7.195,744,8.878,750,5.26,768,8.967,775,7.948,1092,9.474,1204,8.442,1237,6.514,1253,7.728,1266,10.268,1465,8.304,1468,9.936,1478,7.916,1510,13.363,1511,14.376,1512,9.105,1526,7.453,1527,11.494,1528,11.494]],["keywords/76",[]],["title/77",[1477,1257.008]],["content/77",[1,3.834,5,1.903,51,4.446,97,5.176,140,1.63,143,3.756,151,4.763,155,6.287,189,4.881,192,2.479,203,6.947,217,3.954,240,4.153,252,5.746,259,5.481,277,5.205,317,6.124,318,2.676,336,7.694,362,5.893,423,5.44,447,4.572,614,6.35,642,6.108,742,7.526,744,9.189,750,5.609,751,7.808,768,9.379,775,7.794,1092,10.103,1204,8.045,1237,6.947,1253,8.083,1266,10.628,1465,8.856,1477,10.103,1478,8.441,1510,13.976,1511,14.88,1512,9.709,1529,12.258,1530,12.258]],["keywords/77",[]],["title/78",[1481,1318.333]],["content/78",[5,1.872,48,6.588,51,4.374,97,7.079,103,7.819,140,1.603,143,3.694,151,4.685,155,6.184,174,5.652,181,5.951,189,4.801,192,2.439,217,3.889,240,4.085,252,5.652,259,5.392,317,6.071,318,2.633,336,7.627,362,5.797,423,5.351,447,4.498,614,6.246,642,6.008,742,7.44,744,9.109,750,5.517,751,10.679,768,9.272,775,7.758,1092,9.938,1204,7.975,1237,6.833,1253,7.991,1266,10.536,1465,8.711,1478,8.303,1481,10.423,1510,13.818,1511,14.751,1512,9.551,1519,10.423,1531,12.058,1532,12.058]],["keywords/78",[]],["title/79",[1485,1318.333]],["content/79",[5,1.663,35,2.366,48,5.894,97,6.512,102,3.313,103,6.949,140,2.05,150,4.721,155,7.91,157,5.023,187,3.909,189,4.267,192,2.167,198,5.39,209,4.828,217,3.456,240,6.121,241,8.686,252,5.023,277,4.205,309,5.197,317,6.596,318,2.34,327,5.927,336,7.15,362,5.152,376,2.994,543,6.826,614,7.989,709,10.621,742,8.019,744,8.54,751,9.824,758,4.792,768,8.53,775,7.675,918,8.74,1204,7.477,1253,8.612,1266,10.804,1391,6.826,1465,7.742,1477,8.832,1485,13.332,1511,8.202,1519,9.263,1533,10.716,1534,10.716,1535,8.832,1536,8.202,1537,18.067,1538,7.742,1539,9.84,1540,10.716,1541,10.716]],["keywords/79",[]],["title/80",[1542,1400.437]],["content/80",[5,2.874,35,3.081,88,5.701,91,5.266,120,7.719,139,2.689,180,5.378,192,2.823,217,4.502,240,4.729,279,5.177,318,3.047,336,8.223,350,4.276,700,5.776,742,10.221,744,9.821,768,10.241,775,6.18,812,7.63,834,10.083,936,10.363,1072,10.363,1204,7.662,1316,8.891,1523,17.126,1542,12.816,1543,5.297,1544,12.816,1545,13.957,1546,18.516,1547,20.779,1548,13.957,1549,13.957]],["keywords/80",[]],["title/81",[144,197.056]],["content/81",[129,10.497,144,2.452,159,10.375,192,3.839,202,7.803,240,6.43,279,7.039,318,4.144,1204,9.294,1550,12.307,1551,11.519]],["keywords/81",[]],["title/82",[1,235.172,21,630.625]],["content/82",[]],["keywords/82",[]],["title/83",[21,630.625,79,455.148]],["content/83",[1,4.342,5,1.317,7,1.39,18,1.892,21,6.858,35,2.434,36,6.585,37,4.371,47,5.404,50,2.949,52,1.194,54,2.917,57,5.978,58,2.193,70,3.195,71,5.073,80,3.044,84,1.633,91,1.892,102,2.623,130,1.734,136,1.981,139,2.106,143,2.599,144,0.648,152,1.799,157,2.351,162,0.809,165,2.652,179,2.499,192,2.23,196,2.226,202,2.062,219,5.647,220,2.295,224,1.649,225,4.844,232,5.494,236,3.534,248,2.598,252,2.351,279,4.089,290,2.807,305,2.842,309,2.432,318,1.095,325,2.878,326,3.091,327,2.774,333,2.476,336,1.985,337,5.332,352,4.493,353,5.513,383,4.394,414,13.959,416,4.133,434,3.793,436,2.295,437,2.625,465,3.724,495,4.267,513,6.593,522,6.412,540,3.141,554,2.572,571,2.162,575,2.878,620,8.782,676,3.465,686,2.598,697,7.363,724,2.523,822,2.807,848,2.162,849,2.476,930,2.432,1027,8.059,1054,2.652,1078,4.605,1142,3.044,1146,2.454,1167,13.075,1332,3.252,1337,2.842,1366,3.972,1474,3.534,1486,3.623,1552,3.623,1553,5.015,1554,3.252,1555,4.605,1556,3.314,1557,4.605,1558,3.454,1559,5.015,1560,5.015,1561,5.015,1562,5.015,1563,3.724,1564,5.015,1565,5.015,1566,5.015,1567,3.724,1568,3.454,1569,4.605,1570,3.838,1571,3.623,1572,3.972,1573,4.133,1574,3.838,1575,3.091,1576,4.335,1577,5.015,1578,3.972,1579,18.987,1580,5.015,1581,7.79,1582,6.719,1583,18.987,1584,5.015,1585,5.015,1586,5.015,1587,6.932,1588,7.442,1589,5.015,1590,5.015,1591,4.078,1592,5.015,1593,8.483,1594,5.015,1595,5.015,1596,5.015,1597,5.015,1598,5.015,1599,5.015,1600,5.015,1601,5.015,1602,5.015,1603,5.015,1604,5.015,1605,7.79,1606,4.585,1607,4.133,1608,4.133,1609,5.015,1610,5.015,1611,4.133,1612,5.015,1613,5.015,1614,3.141,1615,5.015,1616,5.015,1617,5.015,1618,5.015,1619,5.015,1620,5.015,1621,4.605,1622,5.015,1623,3.838,1624,4.605,1625,4.335,1626,15.739,1627,8.483,1628,11.024,1629,8.483,1630,5.015,1631,5.015,1632,5.015,1633,5.015,1634,5.015,1635,5.015,1636,5.015,1637,5.015,1638,5.015,1639,5.015,1640,5.015,1641,5.015,1642,5.015,1643,5.015,1644,5.015,1645,5.015,1646,5.015,1647,5.015,1648,5.015,1649,5.015,1650,4.605]],["keywords/83",[]],["title/84",[4,517.683,225,301.263,1651,659.816]],["content/84",[1,3.345,4,10.594,7,2.66,18,3.623,20,5.374,21,10.594,67,5.249,79,7.16,102,2.969,130,3.32,139,2.724,142,4.83,144,1.241,162,1.549,164,2.021,202,5.851,225,5.773,248,9.717,273,3.896,279,5.279,325,5.511,326,5.918,337,5.746,349,3.024,350,2.217,352,2.574,353,4.082,361,5.661,404,3.731,466,8.3,467,5.827,476,5.661,495,4.83,542,7.781,546,6.472,556,6.766,594,5.31,620,8.452,621,5.19,775,3.204,845,5.918,856,7.349,951,12.981,952,4.656,1030,8.817,1032,6.766,1041,5.668,1054,5.078,1142,5.827,1168,6.766,1223,7.129,1314,12.593,1335,6.344,1486,10.283,1557,8.817,1570,15.332,1608,7.914,1650,8.817,1651,9.595,1652,9.601,1653,7.349,1654,15.867,1655,9.601,1656,13.07,1657,9.601,1658,7.605,1659,14.233,1660,8.817,1661,7.349,1662,8.3,1663,10.03,1664,9.601,1665,6.612,1666,4.656,1667,9.601,1668,9.601,1669,9.601,1670,8.3,1671,7.129]],["keywords/84",[]],["title/85",[225,301.263,434,437.682,1672,689.738]],["content/85",[1,4.449,5,1.049,7,3.767,21,7.19,35,1.492,36,9.241,37,3.658,47,4.306,65,4.466,71,12.859,96,6.586,136,1.579,139,3.412,143,2.071,156,4.383,162,1.751,192,1.367,196,3,202,6.398,219,3.894,220,4.966,225,4.79,248,5.622,273,2.743,279,4.025,337,7.96,352,2.909,353,4.614,361,3.985,407,4.466,434,4.852,443,5.866,476,6.398,518,5.174,533,10.405,571,2.914,592,4.102,620,5.408,666,4.883,676,2.761,677,3.695,686,3.502,724,3.4,743,4.383,761,3.614,775,2.256,825,3.784,1027,11.2,1032,4.763,1054,3.575,1146,3.307,1168,7.647,1253,6.48,1575,4.166,1587,12.059,1588,12.947,1606,3.654,1614,6.797,1623,8.306,1624,9.965,1625,9.38,1651,4.557,1672,4.763,1673,4.102,1674,5.019,1675,4.466,1676,6.207,1677,6.759,1678,6.759,1679,6.207,1680,6.759,1681,6.207,1682,6.759,1683,5.843,1684,6.759,1685,6.759,1686,7.84,1687,6.759,1688,6.759,1689,8.306,1690,8.596,1691,4.383,1692,6.759,1693,4.466]],["keywords/85",[]],["title/86",[1027,573.248,1074,787.86]],["content/86",[]],["keywords/86",[]],["title/87",[551,1050.255]],["content/87",[37,5.893,64,5.953,275,11.822,305,9.907,403,12.98,434,9.558,443,9.449,551,14.72,954,16.052,1052,16.052,1389,12.318,1694,17.481,1695,19.628,1696,16.052,1697,14.408,1698,17.481,1699,14.408,1700,17.481]],["keywords/87",[]],["title/88",[926,806.76,1074,646.758,1701,898.814]],["content/88",[1,3.879,37,5.16,84,4.985,139,2.223,162,2.469,181,5.434,285,8.247,340,6.945,433,10.114,443,10.631,460,9.29,615,7.49,673,7.004,720,10.318,742,6.794,761,8.183,911,13.232,914,11.716,926,12.616,1027,7.359,1074,10.114,1214,8.568,1316,9.751,1488,9.29,1573,12.616,1591,7.359,1701,14.056,1702,15.307,1703,12.616,1704,15.307,1705,15.307,1706,15.307,1707,13.232,1708,11.059,1709,10.541]],["keywords/88",[]],["title/89",[46,503.475,1196,885.315]],["content/89",[1,4.522,35,3.8,46,7.267,208,3.481,337,5.831,350,4.889,403,15.719,434,9.467,443,9.302,492,14.918,495,10.649,917,14.184,1027,10.178,1710,17.21,1711,17.21,1712,15.803]],["keywords/89",[]],["title/90",[240,403.969,285,452.499]],["content/90",[1,3.607,5,2.126,83,10.114,102,4.235,119,9.287,132,9.652,144,1.77,149,9.896,165,7.245,196,6.079,202,5.631,209,6.172,240,7.977,285,5.198,322,8.239,323,8.726,351,9.571,352,5.518,425,8.076,437,7.169,443,9.885,467,11.099,562,9.234,620,6.826,677,7.488,746,7.404,918,10.363,1027,11.004,1046,10.484,1074,12.083,1205,9.051,1341,8.442,1713,13.698,1714,7.096,1715,11.841,1716,10.85,1717,13.698]],["keywords/90",[]],["title/91",[742,529.196,848,514.077]],["content/91",[1,3.842,143,5.968,192,3.94,314,12.201,318,4.253,742,8.645,1027,9.365,1074,12.871,1718,14.073]],["keywords/91",[]],["title/92",[144,154.065,186,337.46]],["content/92",[]],["keywords/92",[]],["title/93",[35,263.251,700,493.432]],["content/93",[1,1.388,5,2.168,9,2.932,35,4.887,37,3.778,45,2.887,48,3.775,52,1.676,59,3.101,61,3.444,88,2.875,94,9.39,137,2.421,140,2.833,142,5.638,143,2.156,144,0.909,145,3.196,152,2.526,153,5.562,157,5.254,162,2.569,174,5.254,179,5.585,181,7.16,183,5.692,186,1.992,189,2.803,194,3.45,198,5.638,200,4.651,201,5.992,204,4,205,4.209,219,5.715,227,1.834,240,6.583,252,3.299,258,9.263,285,2.671,292,4.491,309,6.773,345,5.866,350,1.625,376,3.903,455,7.818,544,4.409,653,4.094,700,7.196,803,6.059,904,12.615,905,12.615,906,8.579,908,8.579,909,5.575,914,12.189,1456,5.387,1462,4.745,1587,7.467,1719,12.825,1720,12.825,1721,12.825,1722,6.463,1723,10.292,1724,7.039,1725,7.039,1726,7.039,1727,7.039,1728,7.039,1729,5.387,1730,7.039,1731,7.039,1732,6.463,1733,5.387,1734,7.039,1735,5.387,1736,5.575,1737,6.463,1738,7.039,1739,11.208,1740,4.209,1741,12.615,1742,5.085,1743,12.189,1744,6.463,1745,10.292,1746,10.292,1747,11.063,1748,9.415,1749,10.37,1750,12.825,1751,10.09,1752,11.511]],["keywords/93",[]],["title/94",[208,241.161,753,693.483]],["content/94",[5,1.371,37,2.978,45,2.764,48,3.614,51,6.528,52,4.842,62,3.024,88,3.609,137,4.601,140,2.57,142,6.727,143,2.707,144,1.142,152,3.17,157,6.269,162,3.281,181,7.906,186,2.501,198,4.444,200,5.838,201,7.15,204,4.773,208,4.505,217,2.85,227,2.302,230,7.928,240,6.55,244,3.373,258,9.385,277,2.846,285,3.353,292,5.359,358,4.04,376,3.737,432,5.139,568,3.373,628,8.047,775,6.006,904,14.255,905,14.255,906,10.236,907,11.023,908,10.236,909,6.999,910,6.085,914,13.774,1462,5.956,1588,7.676,1722,8.113,1732,8.113,1733,6.762,1737,8.113,1745,12.281,1746,12.281,1747,6.999,1753,11.023,1754,12.281,1755,12.281,1756,6.56,1757,9.662,1758,8.835,1759,8.835,1760,6.999,1761,13.374,1762,7.282,1763,8.835]],["keywords/94",[]],["title/95",[825,667.427,1538,861.436]],["content/95",[21,10.163,35,4.243,62,4.104,67,6.556,79,6.375,112,5.976,139,1.742,143,3.674,157,5.622,174,5.622,192,3.378,230,5.283,242,6.796,244,4.578,272,6.883,273,4.867,279,4.448,285,4.551,309,5.816,314,7.511,316,8.084,317,5.261,377,8.084,383,6.212,443,9.028,542,6.556,632,8.323,676,4.898,700,6.911,724,6.032,742,5.322,825,9.349,836,7.278,894,11.501,897,9.884,901,10.366,902,9.884,903,9.884,904,9.499,905,9.499,906,9.179,907,9.884,908,9.179,909,9.499,910,8.259,914,9.179,917,9.884,918,6.796,1027,5.765,1041,6.651,1074,11.036,1215,7.776,1368,7.776,1764,9.499,1765,11.992,1766,11.992,1767,11.992,1768,11.992,1769,11.992,1770,11.992,1771,11.992,1772,11.992,1773,11.012,1774,6.796,1775,11.992,1776,11.992]],["keywords/95",[]],["title/96",[60,418.815,1358,693.483]],["content/96",[]],["keywords/96",[]],["title/97",[60,291.586,136,193.883,137,285.581,277,176.654]],["content/97",[1,3.531,5,2.779,29,6.958,45,3.701,49,10.612,54,10.414,56,11.61,60,6.289,61,8.761,62,6.128,277,4.965,337,6.066,674,10.147,813,7.888,1074,11.831,1358,10.414]],["keywords/97",[]],["title/98",[136,278.481,275,659.477]],["content/98",[1,3.503,5,2.757,29,6.902,60,6.239,136,5.041,256,6.174,277,3.78,286,10.195,329,9.495,348,13.594,370,10.947,376,4.963,697,9.021,761,9.495,1272,16.31,1777,17.762,1778,13.188,1779,17.762,1780,17.762]],["keywords/98",[]],["title/99",[376,333.189,1781,840.217]],["content/99",[1,1.725,5,1.572,7,3.136,18,1.083,20,3.988,29,1.115,35,0.634,37,2.402,45,3.059,47,4.538,48,5.735,49,5.537,50,1.807,51,1.041,52,1.237,53,3.312,55,2.946,56,7.338,60,4.661,61,4.278,62,4.541,63,5.477,78,1.077,84,0.935,102,2.203,103,9.129,120,1.588,121,2.379,136,3.745,137,2.451,139,2.704,142,1.444,151,1.115,153,3.482,157,5.305,158,1.136,162,2.75,163,1.417,165,1.518,167,3.584,172,1.552,175,1.648,181,3.104,188,1.607,189,1.143,194,0.883,196,5.484,197,4.032,208,0.581,209,2.342,213,3.809,219,6.423,220,2.379,223,2.59,224,4.867,230,1.265,232,1.43,234,2.499,274,4.037,275,1.588,277,4.879,279,1.065,285,1.089,292,2.855,296,2.64,324,10.197,326,1.769,336,1.136,358,0.719,370,1.769,371,1.692,373,8.759,374,4.624,375,4.335,376,4.629,378,7.771,379,9.977,446,6.951,453,2.636,455,2.91,503,1.935,543,1.829,554,3.654,558,3.756,614,1.487,626,11.143,627,12.638,643,1.293,646,5.796,676,2.123,693,8.388,696,1.742,716,3.979,725,4.037,750,1.314,753,6.582,789,4.26,813,6.52,819,1.569,878,2.636,883,3.204,930,5.488,938,3.256,969,4.773,970,4.494,1022,3.979,1036,1.935,1039,2.074,1074,10.208,1214,3.988,1223,5.29,1245,4.285,1293,3.691,1359,10.51,1418,3.504,1476,2.91,1499,3.86,1538,3.756,1543,1.973,1709,1.977,1736,8.02,1781,14.57,1782,2.87,1783,6.926,1784,5.198,1785,2.87,1786,2.274,1787,2.87,1788,2.87,1789,2.87,1790,8.744,1791,8.509,1792,2.274,1793,2.023,1794,10.125,1795,2.87,1796,2.87,1797,2.87,1798,4.285,1799,2.87,1800,5.198,1801,4.773,1802,2.226,1803,11.673,1804,2.87,1805,5.198,1806,2.131,1807,4.773,1808,2.87,1809,2.636,1810,2.87,1811,2.87,1812,7.207,1813,4.773,1814,4.118,1815,4.494,1816,4.773,1817,2.87,1818,2.636,1819,2.023,1820,2.636,1821,2.87,1822,2.636,1823,2.87,1824,2.481,1825,2.87,1826,2.366,1827,2.87]],["keywords/99",[]],["title/100",[1,235.172,11,496.721]],["content/100",[]],["keywords/100",[]],["title/101",[1828,1257.008]],["content/101",[]],["keywords/101",[]],["title/102",[1829,1525.086]],["content/102",[1,4.216,139,2.539,325,10.034,571,10.37,1165,12.038,1169,14.124,1570,17.672,1608,14.408,1828,19.825,1830,15.111,1831,14.408,1832,14.408]],["keywords/102",[]],["title/103",[11,496.721,1828,982.769]],["content/103",[1,4.516,5,1.935,7,3.454,11,8.802,67,6.814,102,3.854,139,3.068,141,7.194,153,6.831,197,4.963,202,7.052,225,6.037,256,5.963,302,5.941,307,6.894,337,4.223,349,3.926,407,8.236,522,7.249,573,4.963,580,8.236,592,7.565,677,6.814,845,7.682,1213,7.807,1302,10.775,1554,8.083,1570,15.012,1774,7.064,1828,17.414,1833,12.465,1834,5.124,1835,12.465,1836,17.154,1837,9.005,1838,12.465,1839,12.465,1840,19.793,1841,11.446,1842,12.465,1843,10.775,1844,11.446,1845,12.465,1846,9.005,1847,12.465]],["keywords/103",[]],["title/104",[11,407.761,192,197.97,432,569.283]],["content/104",[35,3.953,139,3.15,202,7.361,225,5.511,338,9.47,533,13.704,620,8.922,1341,11.036,1689,13.704,1840,15.478,1846,12.936,1848,12.936,1849,23.332,1850,13.704,1851,17.905,1852,17.905]],["keywords/104",[]],["title/105",[11,407.761,318,213.719,432,569.283]],["content/105",[35,3.451,139,3.356,152,5.609,202,6.426,225,6.135,318,4.352,338,8.267,571,8.594,1341,9.634,1392,12.381,1840,18.97,1846,11.293,1848,11.293,1853,23.874,1854,21.945,1855,19.932,1856,18.303,1857,15.631,1858,14.353,1859,15.631,1860,15.631]],["keywords/105",[]],["title/106",[1861,1525.086]],["content/106",[]],["keywords/106",[]],["title/107",[1,112.477,156,369.793,320,346.114,337,193.209,446,281.573,1862,376.815,1863,570.278]],["content/107",[35,5.011,72,8.895,139,3.543,197,6.697,198,8.46,285,7.921,317,5.297,318,3.672,494,9.302,551,11.581,774,10.713,946,11.41,1204,6.96,1591,8.085,1671,12.487,1864,13.861,1865,16.818,1866,16.818,1867,13.861]],["keywords/107",[]],["title/108",[1,142.14,337,244.163,1868,720.675,1869,720.675,1870,720.675]],["content/108",[1,3.107,9,4.598,20,8.817,48,2.983,49,5.4,50,3.836,58,4.827,60,3.876,71,6.6,79,7.011,112,7.849,139,3.653,188,6.178,192,2.232,195,6.698,208,2.232,232,7.849,274,8.926,279,4.093,290,8.817,304,9.54,317,5.785,318,2.41,359,5.552,494,6.104,812,6.033,946,8.611,1032,7.777,1204,6.518,1223,8.194,1250,9.54,1459,8.742,1552,7.973,1591,5.306,1658,8.742,1671,8.194,1834,4.537,1862,7.292,1864,9.096,1871,7.292,1872,9.096,1873,9.096,1874,11.036,1875,11.036,1876,7.44,1877,9.096,1878,9.54,1879,11.036,1880,11.036,1881,11.036,1882,11.036,1883,11.036,1884,15.751,1885,11.036,1886,11.036,1887,9.096,1888,11.036,1889,15.138,1890,9.54,1891,11.036,1892,11.036,1893,10.134,1894,11.036,1895,10.134,1896,11.036,1897,11.036]],["keywords/108",[]],["title/109",[1,193.054,337,331.62,1898,898.814]],["content/109",[1,3.589,6,10.884,30,12.824,139,2.643,187,6.638,240,6.166,434,8.138,454,11.593,724,9.155,770,13.929,1224,12.025,1552,13.148,1862,12.025,1899,11.801,1900,18.199,1901,18.199,1902,12.533]],["keywords/109",[]],["title/110",[823,623.514,1671,726.759,1903,846.118]],["content/110",[1,3.531,129,9.903,131,11.036,132,15.283,408,10.867,503,12.07,673,8.193,823,11.406,1162,10.557,1550,11.61,1563,13.294,1671,16.104,1831,14.758,1862,11.831,1903,15.478,1904,16.442,1905,17.905]],["keywords/110",[]],["title/111",[58,667.006]],["content/111",[]],["keywords/111",[]],["title/112",[0,912.046]],["content/112",[1,4.279,5,2.062,33,6.128,35,2.934,37,4.479,45,3.703,48,3.591,50,7.046,55,7.53,58,10.207,62,4.548,64,4.524,78,4.985,79,5.072,88,5.427,97,5.61,106,7.103,119,6.748,136,4.185,185,6.444,187,6.535,192,2.687,196,5.897,208,2.687,225,4.09,238,7.728,265,5.892,273,5.392,277,2.827,278,6.08,317,6.385,324,7.946,404,6.962,554,6.815,562,8.957,620,6.621,676,5.427,754,8.064,812,7.264,1195,7.182,1906,11.486,1907,10.525,1908,8.957,1909,13.287,1910,12.201]],["keywords/112",[]],["title/113",[1911,1101.818]],["content/113",[]],["keywords/113",[]],["title/114",[45,315.219]],["content/114",[1,4.04,10,12.493,12,14.109,27,13.453,35,3.604,44,10.584,45,4.234,79,6.23,87,16.884,110,10.223,208,3.301,217,5.264,285,6.194,671,7.244,700,6.754,813,7.191,1155,12.929,1224,10.785,1503,13.453,1890,14.109,1902,14.107,1912,14.107,1913,16.322,1914,14.109,1915,16.322,1916,11.502]],["keywords/114",[]],["title/115",[317,480.389]],["content/115",[5,2.671,35,3.8,45,4.739,46,9.682,91,6.493,208,3.481,317,6.669,447,6.419,495,8.657,614,8.915,700,7.122,742,9.396,813,7.582,1193,12.778,1194,10.963,1917,14.877,1918,17.21,1919,14.877]],["keywords/115",[]],["title/116",[1195,824.354]],["content/116",[1,4.586,35,4.765,55,12.231,97,7.5,156,11.517,163,10.657,208,4.365,277,3.78,317,6.798,813,7.825,1195,9.601,1920,14.069,1921,14.639]],["keywords/116",[]],["title/117",[79,582.156]],["content/117",[1,4.341,4,9.705,35,4.051,66,11.31,79,7.005,208,3.711,225,5.648,252,8.602,321,8.205,336,7.262,349,5.78,352,4.919,700,7.594,1027,8.822,1224,12.125]],["keywords/117",[]],["title/118",[33,703.416]],["content/118",[1,3.68,5,2.896,33,8.606,48,5.043,202,7.671,225,6.843,259,8.344,321,8.344,643,8.407,1029,14.281,1606,10.086,1672,13.149,1922,14.78]],["keywords/118",[]],["title/119",[58,428.091,331,447.9,1358,569.283]],["content/119",[1,3.776,54,11.134,58,8.372,119,9.722,133,12.194,197,7.623,202,7.87,265,6.295,331,8.76,1358,11.134,1501,10.988]],["keywords/119",[]],["title/120",[50,340.228,136,228.606,238,569.283]],["content/120",[1,3.914,50,7.603,58,9.566,91,5.856,136,5.384,137,5.34,138,7.757,140,2.064,143,6.701,152,5.569,187,5.661,194,4.777,196,6.889,224,5.104,238,11.541,285,5.89,290,8.688,324,9.282,484,10.463,494,8.585,564,9.887,571,6.692,648,9.42,746,8.39,924,9.42,1871,10.256]],["keywords/120",[]],["title/121",[196,676.867]],["content/121",[5,3.211,45,3.949,50,6.641,52,3.946,58,8.356,64,6.506,136,4.462,138,4.638,140,1.577,160,2.365,162,3.337,164,3.489,190,11.174,192,3.353,194,5.102,196,10.784,202,4.877,220,5.429,225,3.651,227,3.091,238,6.9,248,6.146,255,7.2,265,6.283,285,4.502,296,6.025,309,5.754,350,3.828,439,7.557,443,6.413,495,5.968,571,7.147,615,5.805,673,5.429,686,6.146,749,6.9,752,5.704,840,7.312,1072,8.809,1146,5.805,1230,8.36,1298,8.809,1347,6.9,1501,6.81,1923,9.778,1924,9.397,1925,9.778,1926,11.864]],["keywords/121",[]],["title/122",[1927,1400.437]],["content/122",[7,5.624,58,8.877,102,4.973,173,6.935,196,7.139,254,10.43,255,9.762,273,6.528,322,7.247,325,11.651,330,11.335,338,8.507,398,10.628,540,10.075,676,6.57,852,7.54,936,11.943,946,8.793,1558,11.077,1606,8.694,1693,10.628,1927,18.639,1928,14.77,1929,16.085,1930,14.77,1931,13.904,1932,13.258,1933,12.741,1934,14.77]],["keywords/122",[]],["title/123",[317,480.389]],["content/123",[5,2.583,45,3.96,46,5.036,52,2.839,87,9.831,91,4.5,106,6.377,119,6.058,129,6.597,136,3.886,138,4.663,140,2.212,151,4.635,152,5.97,160,2.378,162,3.518,164,3.502,185,5.785,192,3.365,240,4.041,243,4.553,265,6.301,279,4.424,317,7.662,318,3.633,329,6.377,333,5.889,337,6.492,355,7.133,434,5.334,545,7.239,554,6.117,632,5.944,742,7.385,815,9.129,822,6.677,1204,4.936,1501,6.846,1756,8.856,1902,11.458,1907,13.18,1917,10.311,1935,7.033,1936,11.928,1937,9.831,1938,11.928,1939,10.953,1940,10.311,1941,10.953,1942,10.953,1943,10.953,1944,10.953]],["keywords/123",[]],["title/124",[317,375.584,642,594.176]],["content/124",[138,9.103,143,7.134,317,6.36]],["keywords/124",[]],["title/125",[1945,1132.359]],["content/125",[45,4.083,48,5.339,140,2.049,144,2.552,160,3.073,161,7.053,162,3.517,164,3.244,192,3.117,317,7.242,318,3.365,1056,11.339,1200,8.969,1207,11.136,1208,13.604,1209,13.317,1210,13.604,1212,11.814,1221,11.136,1791,13.604,1945,14.668,1946,18.14]],["keywords/125",[]],["title/126",[1947,1400.437]],["content/126",[35,4.886,45,3.827,48,5.981,139,2.689,140,1.856,144,2.392,160,2.782,161,6.387,162,3.352,164,2.938,192,2.823,317,7.456,318,3.047,575,10.628,1056,10.628,1200,8.407,1207,10.083,1208,12.751,1209,12.482,1210,12.751,1212,11.073,1221,10.083,1791,12.751,1947,17.003,1948,10.682,1949,22.131]],["keywords/126",[]],["title/127",[1950,1400.437]],["content/127",[45,3.827,48,5.981,139,2.689,140,1.856,144,2.392,160,2.782,161,6.387,162,3.352,164,2.938,192,2.823,208,4.476,317,7.456,318,3.047,813,8.157,1056,10.628,1200,8.407,1207,10.083,1208,12.751,1209,12.482,1210,12.751,1212,11.073,1221,10.083,1791,12.751,1948,10.682,1950,17.003,1951,22.131]],["keywords/127",[]],["title/128",[1952,1525.086]],["content/128",[46,8.448,317,6.302,362,9.619,434,8.946,836,12.143,1953,20.007]],["keywords/128",[]],["title/129",[1954,1400.437]],["content/129",[46,8.448,317,6.302,434,8.946,836,12.143,1465,14.455,1955,18.372]],["keywords/129",[]],["title/130",[1956,1525.086]],["content/130",[7,4.523,46,6.892,140,2.17,160,3.254,164,3.435,292,9.409,317,5.141,350,3.769,434,7.298,836,12.433,875,10.305,1113,10.397,1359,12.929,1399,16.175,1456,12.493,1465,17.474,1954,14.988,1955,14.988,1957,12.929,1958,16.322]],["keywords/130",[]],["title/131",[1959,1525.086]],["content/131",[5,3.334,45,3.642,64,7.314,138,6.888,317,6.766,434,7.879,546,11.878,614,9.128,632,8.78,702,11.224,717,9.745,1146,8.622,1266,12.666,1606,9.524,1666,8.545,1960,17.62]],["keywords/131",[]],["title/132",[1961,1525.086]],["content/132",[5,3.192,1291,15.269,1962,17.777]],["keywords/132",[]],["title/133",[1962,1318.333]],["content/133",[2,8.327,4,5.56,5,2.361,48,4.111,60,8.036,75,4.81,79,4.013,136,3.552,139,1.527,140,1.398,144,1.965,149,7.595,160,2.096,165,5.56,174,4.928,180,5.689,186,2.975,209,4.737,224,7.124,255,6.38,273,4.266,275,5.814,279,3.899,317,5.63,337,5.153,340,5.371,350,4.127,361,6.198,375,4.501,618,8.046,661,6.817,698,4.81,750,6.96,754,6.38,795,4.701,813,4.631,825,5.884,874,5.144,882,6.697,950,13.802,1035,8.327,1200,8.115,1264,7.24,1343,10.05,1556,6.946,1571,7.595,1582,14.157,1962,13.148,1963,10.513,1964,6.38,1965,10.513,1966,17.373,1967,9.653,1968,10.513,1969,10.513,1970,10.513,1971,8.046,1972,9.087]],["keywords/133",[]],["title/134",[1204,631.123]],["content/134",[5,1.497,48,5.877,52,2.296,75,9.616,88,3.939,97,4.072,121,6.534,129,5.333,130,3.335,139,2.074,140,2.261,141,4.044,144,1.845,146,4.597,151,3.747,160,1.922,162,1.556,164,3.005,174,4.52,180,2.801,185,4.677,192,2.888,209,8.469,213,5.155,219,3.46,234,4.636,243,5.451,259,4.312,265,4.696,277,2.052,279,3.577,317,6.321,318,3.118,329,7.634,401,11.769,437,5.047,513,8.539,642,4.805,646,5.357,671,4.28,673,4.413,693,5.465,698,6.534,742,4.28,744,4.558,750,4.413,813,4.248,1056,8.196,1200,7.72,1204,10.051,1207,6.967,1208,9.833,1209,9.625,1210,9.833,1211,7.948,1212,5.767,1221,6.967,1222,6.641,1232,6.795,1237,5.465,1286,14.015,1297,4.597,1945,10.602,1946,13.112,1973,9.643,1974,7.948,1975,9.643,1976,9.643,1977,9.643]],["keywords/134",[]],["title/135",[153,607.298]],["content/135",[7,5.19,46,4.828,48,3.09,68,8.49,140,2.706,144,1.478,153,9.315,160,2.28,164,2.407,180,3.321,185,5.546,186,3.236,187,4.171,219,4.103,240,3.874,241,5.498,265,6.159,317,7.019,337,3.874,350,3.73,361,6.742,373,5.595,439,7.284,630,6.94,671,5.075,697,5.808,744,5.405,758,5.113,1046,8.752,1056,9.272,1146,5.595,1194,7.284,1195,6.181,1200,7.334,1201,9.956,1212,6.839,1226,9.885,1228,10.5,1230,8.058,1246,13.963,1254,9.885,1261,9.885,1263,10.5,1347,6.651,1543,4.34,1552,8.261,1673,6.94,1978,16.153,1979,14.833,1980,14.833,1981,14.833,1982,11.435,1983,14.833,1984,10.5,1985,14.833,1986,10.5,1987,14.833,1988,9.058]],["keywords/135",[]],["title/136",[1989,1208.042]],["content/136",[49,10.289,52,4.052,136,5.329,140,1.639,144,1.593,153,8.374,160,2.457,162,3.681,164,4.104,180,4.944,186,3.488,196,8.654,265,5.598,317,6.142,446,9.627,594,9.415,676,5.034,757,8.144,758,5.512,948,13.029,1606,10.54,1614,12.213,1925,10.159,1933,13.483,1974,10.159,1989,19.756,1990,11.318,1991,11.318,1992,11.318,1993,11.318]],["keywords/136",[]],["title/137",[1614,955.22]],["content/137",[7,4.844,33,8.063,52,5.088,140,2.324,144,2.259,160,3.485,162,2.82,164,4.499,186,4.947,196,10.247,337,5.923,429,13.38,689,13.38,1606,12.48,1614,10.949,1994,13.38]],["keywords/137",[]],["title/138",[1995,1257.008]],["content/138",[7,4.184,33,11.156,37,6.571,58,8.526,140,2.007,144,1.951,160,3.01,164,3.178,186,4.273,225,7.022,307,11.94,331,9.879,338,10.31,594,12.619,1587,10.421,1994,11.556,1995,12.444,1996,14.92,1997,16.067,1998,13.864,1999,15.098]],["keywords/138",[]],["title/139",[495,767.157]],["content/139",[33,7.641,84,5.395,140,2.202,144,2.14,152,5.944,160,3.303,164,3.487,180,4.811,186,4.689,285,6.287,350,3.825,495,12.22,511,10.054,573,8.234,676,6.766,698,7.581,1204,8.557,1558,14.239,1919,14.32,1994,12.679,2000,15.212,2001,15.212]],["keywords/139",[]],["title/140",[1587,815.315]],["content/140",[33,10.257,35,4.481,91,6.069,140,2.138,141,8.513,144,2.623,160,3.207,164,3.386,192,4.105,225,6.845,318,4.432,447,6,1205,10.628,1287,9.675,1587,10.851,1689,12.311,1994,12.311,2002,13.258,2003,16.085,2004,20.298,2005,16.085]],["keywords/140",[]],["title/141",[37,514.1]],["content/141",[1,3.589,5,2.825,33,8.394,36,9.243,37,7.921,140,2.42,160,3.628,162,2.936,180,5.286,225,5.601,852,8.531,946,9.949,1287,8.675,1994,13.929,2002,15]],["keywords/141",[]],["title/142",[2006,1257.008]],["content/142",[33,7.938,44,11.159,68,17.025,71,10.292,140,2.288,144,2.224,160,3.431,164,3.622,167,8.657,186,4.871,317,5.421,482,13.632,1362,10.445,1708,12.433,1994,13.172,2006,14.184,2007,20.68,2008,15.803,2009,15.803]],["keywords/142",[]],["title/143",[1195,824.354]],["content/143",[5,2.038,19,10.4,35,3.924,44,8.514,52,3.125,91,6.706,119,6.668,129,7.262,130,6.146,136,3.066,140,2.363,151,5.102,152,4.711,160,2.618,162,2.118,163,6.483,164,3.741,185,6.368,192,2.656,194,4.041,203,7.441,208,3.595,277,4.288,279,4.87,317,7.107,318,2.867,329,7.019,447,4.897,543,8.364,550,11.35,630,7.969,700,7.355,813,8.877,875,6.604,1025,15.364,1192,13.876,1195,11.671,1501,7.536,1940,11.35,1941,12.056,1942,12.056,1943,12.056,1944,12.056]],["keywords/143",[]],["title/144",[45,315.219]],["content/144",[45,5.102,130,5.644,140,2.17,144,2.109,155,8.371,160,3.254,162,3.788,164,4.312,186,4.619,243,7.82,265,5.367,296,8.289,309,9.935,336,6.459,338,11.841,404,6.342,752,7.847,2010,16.322]],["keywords/144",[]],["title/145",[45,246.448,642,594.176]],["content/145",[45,4.173,138,9.103,143,7.134]],["keywords/145",[]],["title/146",[2011,1525.086]],["content/146",[29,7.014,35,3.985,60,6.34,76,18.841,84,5.879,139,2.621,140,2.4,160,3.599,164,3.799,277,3.841,350,4.168,570,10.499,774,13.884,789,10.795,1948,13.816,2012,16.576]],["keywords/146",[]],["title/147",[2013,1525.086]],["content/147",[35,3.985,60,6.34,61,8.832,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/147",[]],["title/148",[2015,1525.086]],["content/148",[35,3.921,60,7.581,61,8.691,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/148",[]],["title/149",[2019,1525.086]],["content/149",[35,4.742,60,7.544,62,7.351,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/149",[]],["title/150",[2021,1525.086]],["content/150",[35,3.985,56,11.705,60,6.34,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/150",[]],["title/151",[2022,1525.086]],["content/151",[35,3.921,56,11.517,60,7.581,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/151",[]],["title/152",[2023,1525.086]],["content/152",[35,4.742,60,7.544,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134,2024,15.947]],["keywords/152",[]],["title/153",[2025,1525.086]],["content/153",[60,6.289,76,18.748,84,5.831,139,2.6,140,2.38,160,3.57,164,3.769,208,3.621,277,4.615,350,4.135,570,10.414,774,13.816,789,10.708,1948,13.704,1972,15.478,2012,16.442]],["keywords/153",[]],["title/154",[2026,1525.086]],["content/154",[60,6.34,61,8.832,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,208,3.651,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/154",[]],["title/155",[2027,1525.086]],["content/155",[60,7.581,61,8.691,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,208,3.592,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/155",[]],["title/156",[2028,1525.086]],["content/156",[60,7.544,62,7.351,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/156",[]],["title/157",[2029,1525.086]],["content/157",[56,11.705,60,6.34,136,4.216,139,2.621,140,2.4,160,3.599,164,3.799,208,3.651,224,7.167,292,7.233,350,4.168,652,9.351,875,9.08,1957,14.298,1966,12.72,1971,13.816,2014,10.795]],["keywords/157",[]],["title/158",[2030,1525.086]],["content/158",[56,11.517,60,7.581,115,11.517,136,5.041,139,2.579,140,2.361,160,3.541,164,3.738,208,3.592,350,4.101,375,9.24,652,9.201,1293,9.201,1966,12.516,2016,14.639,2017,13.594,2018,14.639]],["keywords/158",[]],["title/159",[2031,1525.086]],["content/159",[60,7.544,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134,2024,15.947]],["keywords/159",[]],["title/160",[2032,1525.086]],["content/160",[60,7.472,63,13.324,74,11.907,84,5.648,139,3.089,140,2.306,160,3.458,164,3.651,208,4.302,292,8.524,350,4.005,822,9.709,950,14.99,1200,7.875,2014,10.372,2020,11.944]],["keywords/160",[]],["title/161",[2033,1525.086]],["content/161",[60,7.472,63,13.324,74,11.907,84,5.648,139,3.089,140,2.306,160,3.458,164,3.651,208,4.302,292,8.524,350,4.005,822,9.709,1200,7.875,1582,16.85,2014,10.372,2020,11.944]],["keywords/161",[]],["title/162",[2034,1525.086]],["content/162",[60,7.472,63,13.324,74,11.907,84,5.648,139,3.089,140,2.306,160,3.458,164,3.651,208,4.302,292,8.524,350,4.005,414,16.85,822,9.709,1200,7.875,2014,10.372,2020,11.944]],["keywords/162",[]],["title/163",[2035,1525.086]],["content/163",[60,7.544,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,260,14.192,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/163",[]],["title/164",[2036,1525.086]],["content/164",[60,7.544,63,13.453,74,12.023,84,5.738,139,3.119,140,2.343,160,3.513,164,3.709,208,4.344,292,8.607,350,4.069,822,9.863,1200,8,2014,10.537,2020,12.134]],["keywords/164",[]],["title/165",[2037,1525.086]],["content/165",[84,5.784,139,3.134,140,2.361,160,3.541,164,3.738,225,6.643,259,9.651,292,7.117,350,4.101,875,8.934,950,12.516,1113,11.314,1403,13.188,2014,10.622,2038,17.789,2039,16.31]],["keywords/165",[]],["title/166",[2040,1525.086]],["content/166",[33,9.312,45,4.173,48,5.456,717,11.167,1826,16.641]],["keywords/166",[]],["title/167",[2041,1525.086]],["content/167",[48,4.919,139,2.643,140,2.42,160,3.628,164,3.831,350,4.203,646,6.827,652,9.428,698,8.328,808,9.625,1332,11.801,1343,12.025,1826,15,2042,14.416,2043,18.199,2044,18.199,2045,13.929]],["keywords/167",[]],["title/168",[2046,1400.437]],["content/168",[5,2.312,33,8.913,45,3.994,63,9.329,78,5.588,91,5.62,97,6.29,130,5.151,138,5.823,140,1.98,160,2.97,164,3.135,189,5.931,224,4.898,259,10.517,265,4.898,277,4.112,309,7.224,376,5.4,447,5.556,673,6.816,752,9.29,1125,9.842,1151,12.876,1482,10.761,1948,11.401,1974,12.277,2024,11.06,2038,12.277,2047,11.799,2048,11.799,2049,14.895,2050,14.895,2051,14.895,2052,14.895]],["keywords/168",[]],["title/169",[277,324.538]],["content/169",[33,8.258,45,3.701,51,6.495,63,11.215,140,2.38,160,3.57,162,3.764,164,3.769,277,4.615,376,5.003,698,8.193,1948,13.704,2038,14.758,2046,16.442,2053,15.478,2054,17.905]],["keywords/169",[]],["title/170",[2055,1257.008]],["content/170",[7,4.732,39,9.445,45,3.53,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696]],["keywords/170",[]],["title/171",[33,703.416]],["content/171",[9,8.05,33,11.316,58,8.451,140,1.98,144,2.771,160,2.97,162,3.662,164,4.067,186,4.216,259,8.641,265,6.355,273,6.045,321,6.66,337,7.267,338,10.22,377,10.041,404,5.788,596,10.258,673,6.816,1837,10.761,1912,10.258,1922,11.799,2061,14.895,2062,11.799,2063,14.895]],["keywords/171",[]],["title/172",[33,549.953,642,594.176]],["content/172",[33,9.312,138,9.103,143,7.134]],["keywords/172",[]],["title/173",[1614,955.22]],["content/173",[7,4.732,33,9.718,52,5.016,140,2.27,144,2.953,160,3.405,162,2.755,164,4.435,186,4.833,196,10.142,337,7.138,429,13.07,689,13.07,1606,12.352,1614,10.696]],["keywords/173",[]],["title/174",[1995,1257.008]],["content/174",[7,4.1,33,11.298,37,6.486,58,8.415,139,2.149,140,1.967,144,2.763,160,2.95,164,3.114,186,4.187,225,6.968,307,11.825,331,9.784,337,5.013,338,10.176,594,12.522,1587,10.286,1995,12.195,1996,14.726,1997,15.858,1998,13.586]],["keywords/174",[]],["title/175",[495,767.157]],["content/175",[33,9.362,84,5.238,140,2.138,144,2.874,152,5.772,160,3.207,164,3.386,180,4.672,186,4.552,285,6.104,337,5.45,350,3.714,495,12.114,511,9.762,573,8.083,676,6.57,685,11.621,698,7.36,1204,8.4,1558,13.978,1919,13.904,2000,14.77,2001,14.77]],["keywords/175",[]],["title/176",[566,1167.278]],["content/176",[1,2.652,5,2.804,33,10.057,47,12.993,48,3.635,55,7.621,70,8.567,88,5.493,106,7.19,138,5.257,139,2.623,140,1.788,144,2.635,152,4.826,160,2.681,162,2.169,163,10.766,164,2.831,186,3.806,224,4.422,277,2.862,337,6.12,494,7.438,538,10.293,545,8.162,566,18.859,615,6.58,676,5.493,1358,7.822,1925,11.084,1964,8.162,2064,12.349,2065,9.716,2066,13.448,2067,11.625,2068,13.448,2069,10.653,2070,13.448,2071,13.448]],["keywords/176",[]],["title/177",[2072,988.931]],["content/177",[33,11.059,37,5.345,45,4.802,50,5.511,72,8.385,140,2.108,144,3.002,160,3.161,161,7.255,162,2.558,163,10.907,164,3.337,182,8.985,186,4.487,337,8.124,494,8.769,615,7.758,2064,14.559,2072,10.281]],["keywords/177",[]],["title/178",[1587,815.315]],["content/178",[33,10.988,35,4.381,91,5.856,140,2.064,141,8.322,144,3.148,160,3.094,164,3.267,192,4.013,225,6.732,318,4.333,337,6.723,447,5.79,1205,10.256,1287,9.458,1587,10.608,1689,11.88,2002,12.793,2073,15.521,2074,15.521]],["keywords/178",[]],["title/179",[153,607.298]],["content/179",[5,2.409,33,10.089,50,5.395,52,3.695,91,5.856,136,3.625,138,6.068,140,2.064,141,6.51,153,9.863,160,3.094,162,3.201,163,7.664,164,4.177,197,6.181,200,10.256,252,7.276,337,5.259,447,5.79,752,9.54,758,9.781,2075,15.521,2076,15.521,2077,14.253,2078,12.793]],["keywords/179",[]],["title/180",[37,514.1]],["content/180",[1,3.619,5,2.848,33,8.464,36,9.32,37,7.949,140,2.44,160,3.658,162,2.96,180,5.329,225,5.648,852,8.602,946,10.032,1287,8.747,2002,15.125]],["keywords/180",[]],["title/181",[1989,1208.042]],["content/181",[33,8.297,49,10.643,136,5.461,140,1.777,144,1.727,160,2.665,162,3.662,164,4.28,180,3.882,186,3.783,196,9.025,265,5.916,446,8.882,594,9.95,676,5.46,757,8.832,948,10.231,1606,10.991,1614,12.736,1933,14.25,1974,11.018,1989,19.873,1990,12.275,1991,12.275,1992,12.275,1993,12.275]],["keywords/181",[]],["title/182",[2006,1257.008]],["content/182",[33,9.626,44,10.905,68,16.851,71,10.057,140,2.236,144,2.173,160,3.353,164,3.54,167,8.46,186,4.76,482,13.321,1362,10.207,1708,12.15,1928,15.443,2006,13.861,2007,20.514,2008,15.443,2009,15.443,2079,19.618]],["keywords/182",[]],["title/183",[2055,1257.008]],["content/183",[7,4.732,33,7.876,39,9.445,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696]],["keywords/183",[]],["title/184",[79,582.156]],["content/184",[4,7.428,5,2.18,9,7.746,33,6.478,58,8.132,66,8.657,79,9.234,89,5.971,140,1.867,142,7.065,144,1.815,160,2.8,162,3.579,164,3.914,186,3.975,194,4.323,225,4.323,265,6.115,273,5.7,282,11.12,336,5.558,337,6.3,338,9.834,349,4.424,377,9.468,1223,10.428,1443,9.108,1476,7.862,1651,9.468,1661,10.75,1718,10.147,1778,10.428,1848,10.147,2062,11.125,2080,14.045,2081,12.897,2082,6.639]],["keywords/184",[]],["title/185",[79,455.148,642,594.176]],["content/185",[79,7.707,138,9.103,143,7.134]],["keywords/185",[]],["title/186",[1066,1167.278]],["content/186",[5,3.271,44,11.073,79,8.723,140,2.27,160,3.405,164,3.594,189,8.39,197,6.8,350,4.865,686,10.915,1066,17.49,1300,10.696,1550,11.073,1996,13.07,2081,15.681,2083,17.077,2084,14.762]],["keywords/186",[]],["title/187",[2085,1400.437]],["content/187",[5,3.195,70,10.474,72,10.885,79,7.856,136,3.84,140,2.186,142,8.271,160,3.278,164,3.461,189,8.195,197,6.548,329,8.791,350,4.752,494,9.094,720,11.084,1066,17.194,1300,10.299,1661,12.585,1718,11.88,2084,14.214,2086,16.443,2087,15.099,2088,15.099]],["keywords/187",[]],["title/188",[1054,806.599]],["content/188",[5,3,44,9.659,52,3.546,70,9.488,79,9.2,140,1.98,142,7.493,151,5.788,160,2.97,164,3.135,302,7.1,337,5.046,349,6.756,383,11.112,404,8.335,467,9.04,573,8.541,632,7.423,643,6.711,951,11.401,1054,7.878,1661,11.401,1848,10.761,1887,17.679,2087,17.744,2089,10.258,2090,14.895]],["keywords/188",[]],["title/189",[2091,815.315]],["content/189",[7,4.59,38,8.856,79,8.604,140,2.202,156,10.742,160,3.303,162,3.636,164,3.487,337,5.613,349,5.218,952,10.028,1386,9.635,1848,11.968,2082,7.83,2091,12.619,2092,15.212,2093,13.654,2094,16.566,2095,15.212,2096,16.566,2097,13.654]],["keywords/189",[]],["title/190",[2098,1400.437]],["content/190",[79,8.969,140,2.42,160,3.628,162,2.936,163,10.815,164,3.831,1848,13.148,2082,8.602,2098,21.577,2099,13.513,2100,18.199,2101,18.199]],["keywords/190",[]],["title/191",[38,815.315]],["content/191",[38,11.211,52,4.034,79,9.083,140,2.253,151,6.585,160,3.378,164,5.008,180,6.09,197,6.748,336,6.706,337,5.741,351,8.869,1297,9.996,1352,10.795,1848,12.243,2082,8.01,2102,16.946]],["keywords/191",[]],["title/192",[460,925.606]],["content/192",[1,3.172,52,3.829,79,8.916,140,2.138,160,3.207,164,3.386,217,5.188,219,5.772,230,7.086,256,5.591,302,7.667,460,14.616,571,6.935,573,6.405,626,10.246,677,8.793,716,12.311,1662,13.904,1756,11.943,1798,13.258,2103,16.085,2104,16.085,2105,9.619,2106,10.43,2107,14.77,2108,16.085]],["keywords/192",[]],["title/193",[2055,1257.008]],["content/193",[7,4.732,39,9.445,79,6.519,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696]],["keywords/193",[]],["title/194",[2109,614.984]],["content/194",[5,2.936,48,3.895,83,7.97,91,5.437,117,10.155,136,3.366,140,1.916,144,2.444,160,2.873,162,3.051,164,3.033,180,4.185,186,4.078,208,2.915,265,6.219,279,5.345,355,8.618,359,9.513,554,7.391,594,7.97,620,7.181,622,9.924,671,9.369,742,6.396,1175,7.878,1237,8.167,1501,8.272,1834,5.924,2109,9.959,2110,11.878,2111,14.98,2112,12.457,2113,8.722]],["keywords/194",[]],["title/195",[642,594.176,2109,480.814]],["content/195",[138,9.103,143,7.134,2109,8.141]],["keywords/195",[]],["title/196",[2055,1257.008]],["content/196",[7,4.732,39,9.445,140,2.27,160,3.405,180,4.96,190,15.404,205,10.212,259,10.218,260,11.284,329,11.264,717,11.653,1242,9.231,2056,14.075,2057,14.075,2058,14.075,2059,12.094,2060,10.696,2109,6.886]],["keywords/196",[]],["title/197",[35,336.711]],["content/197",[]],["keywords/197",[]],["title/198",[35,216.104,136,228.606,278,447.9]],["content/198",[1,3.262,5,2.141,18,3.472,35,5.064,45,1.902,48,4.964,53,4.279,59,4.054,60,4.844,61,6.748,75,6.31,84,2.997,102,4.264,127,6.648,130,3.182,136,5.002,138,3.598,140,1.833,143,2.819,144,1.189,162,2.225,174,4.314,181,6.985,209,4.146,214,4.674,221,4.463,223,8.241,236,6.485,259,6.166,265,5.439,272,7.915,273,3.735,277,2.935,278,7.568,280,5.764,281,7.043,296,4.674,320,5.585,325,7.915,331,4.211,333,4.544,351,4.816,361,5.426,376,3.853,421,11.366,447,3.433,540,5.764,562,6.203,624,5.09,625,7.293,626,8.784,627,6.648,628,4.115,646,5.173,704,6.203,750,4.211,752,4.424,758,4.115,802,7.043,819,5.031,848,5.946,875,4.629,877,6.081,1067,4.974,1189,6.203,1253,4.386,1293,7.144,1358,5.352,1703,11.366,1736,7.289,1786,7.289,1876,6.203,1906,7.955,2114,8.45,2115,8.45,2116,7.585,2117,6.833,2118,7.955,2119,13.79,2120,9.202,2121,6.833,2122,7.955,2123,6.081,2124,6.833,2125,8.45,2126,7.955]],["keywords/198",[]],["title/199",[35,336.711]],["content/199",[35,5.415,45,3.827,48,3.772,52,3.322,137,4.801,140,1.856,144,1.803,145,6.337,146,8.826,151,5.423,160,4.143,161,6.387,162,2.987,163,6.891,164,4.374,165,7.382,166,8.117,167,7.021,168,9.611,169,9.835,170,9.408,171,8.742,172,11.232,173,6.017,174,6.542,175,8.011,176,7.909,177,8.117,178,8.117,179,6.955,180,4.053,186,3.95,243,5.328,265,4.59,277,2.97,404,5.423,1111,12.816,2127,12.065]],["keywords/199",[]],["title/200",[35,263.251,642,594.176]],["content/200",[35,4.458,138,9.103,143,7.134]],["keywords/200",[]],["title/201",[140,202.756]],["content/201",[5,1.617,7,1.781,18,2.425,35,3.926,48,5.271,51,2.331,52,5.433,61,3.144,83,3.554,137,3.584,140,3.232,144,0.83,146,4.966,151,5.105,152,3.738,155,3.296,160,3.733,162,1.037,164,4.105,167,3.232,172,10.122,173,6.515,174,4.883,175,5.98,176,7.446,177,6.059,178,6.059,179,5.191,180,4.389,181,5.364,186,1.819,187,3.8,194,3.206,214,6.673,217,3.36,223,7.53,265,2.113,277,3.534,279,2.383,340,4.639,350,3.835,352,2.792,373,9.544,374,9.404,375,5.625,376,4.641,380,7.526,624,7.266,625,6.949,630,3.9,637,6.525,643,2.895,644,4.528,645,6.421,646,7.025,647,9.412,648,3.9,649,3.296,650,4.918,651,3.843,652,5.397,653,6.059,654,4.246,655,4.771,725,8.564,882,4.093,883,3.961,884,9.492,1296,4.918,1333,4.246,1418,4.332,1578,5.09,2113,4.805,2128,5.901,2129,5.901,2130,5.901,2131,5.297,2132,5.297,2133,5.297,2134,9.566,2135,4.771,2136,4.918,2137,6.426,2138,6.426,2139,6.426]],["keywords/201",[]],["title/202",[140,158.521,642,594.176]],["content/202",[5,2.034,7,2.383,11,1.509,35,3.796,37,1.221,48,1.378,49,3.132,51,3.12,52,5.351,61,3.132,62,1.24,64,4.822,78,1.359,79,0.74,84,0.631,88,0.792,90,1.439,91,1.923,93,1.335,94,6.123,102,1.979,103,1.257,105,2.494,108,3.247,112,1.805,120,2.003,130,0.67,131,1.195,133,1.235,136,0.846,137,1.246,138,2.502,139,2.057,140,2.714,141,1.519,143,1.11,144,1.948,150,1.596,151,1.407,152,1.829,155,1.858,160,3.164,162,1.8,163,0.957,164,3.341,165,1.025,173,0.836,174,3,180,3.24,181,3.385,182,2.052,183,2.589,185,3.104,186,2.939,187,2.758,189,1.442,192,1.739,194,3.196,197,3.011,198,0.975,201,2.725,202,2.631,204,1.293,209,6.594,214,2.589,216,1.598,217,2.064,219,2.297,225,2.647,227,0.505,240,2.168,241,0.932,242,2.889,252,2.389,256,0.674,257,1.401,258,1.127,259,1.619,263,2.689,265,4.113,268,1.159,273,3.068,275,1.072,277,2.905,278,0.887,280,1.214,285,0.736,318,1.878,320,2.198,321,0.867,323,1.235,327,1.072,329,3.422,330,1.366,333,3.16,337,2.914,338,1.025,340,2.26,345,1.015,347,1.307,349,1.141,350,2.576,352,0.971,353,0.824,358,3.546,361,3.774,373,5.458,374,2.696,375,0.83,376,2.113,378,1.822,391,3.682,392,1.366,396,1.439,398,1.281,404,2.487,423,6.059,425,1.143,432,5.002,446,4.246,447,1.351,455,2.027,508,1.235,540,2.268,552,2.689,554,1.858,563,1.025,568,1.946,583,2.441,615,0.949,626,1.235,627,1.401,640,1.484,646,4.449,651,3.048,652,3.316,653,1.127,656,2.869,657,2.869,658,1.366,659,1.676,660,1.676,661,2.348,662,1.598,663,1.676,664,3.131,665,3.131,666,2.617,667,1.676,668,1.676,669,4.315,670,5.614,671,2.262,672,2.268,673,0.887,674,1.099,675,2.052,676,0.792,677,1.06,678,1.536,679,1.335,680,1.676,681,4.752,682,1.536,683,1.484,684,1.676,685,1.401,686,1.876,687,1.676,688,1.676,689,2.772,690,1.676,691,1.676,692,1.536,693,4.874,694,1.676,695,1.98,696,2.198,697,2.589,698,5.723,699,2.689,700,2.109,701,1.401,702,1.235,703,1.536,704,1.307,705,1.78,706,1.78,707,1.78,708,1.676,709,2.494,710,1.676,711,1.439,712,1.307,713,1.536,714,1.676,715,1.536,716,1.484,717,1.072,718,1.281,719,1.536,720,1.307,721,3.131,722,1.281,723,4.408,724,0.975,725,2.889,726,1.536,727,1.676,728,4.406,729,1.78,730,1.78,731,4.406,732,5.533,733,3.326,734,1.676,735,1.536,736,1.78,737,3.131,738,1.78,739,1.78,740,6.943,741,12.411,742,2.262,743,1.257,744,5.606,745,1.484,746,1.048,747,1.676,748,7.317,749,3.723,750,2.929,751,8.346,752,1.741,753,2.106,754,2.198,755,3.326,756,3.326,757,2.393,758,2.279,759,1.598,760,1.598,761,1.036,762,4.406,763,3.131,764,1.439,765,2.617,766,1.676,767,1.536,768,3.54,769,1.676,770,1.484,771,5.275,772,1.676,773,1.676,774,2.307,775,2.523,776,3.131,777,1.676,778,1.676,779,1.439,780,1.598,781,1.676,782,1.676,783,1.676,784,3.131,785,9.907,786,1.676,787,5.533,788,3.131,789,6.671,790,1.839,791,2.494,792,2.617,793,3.131,794,2.772,795,1.619,796,4.899,797,2.393,798,5.877,799,4.201,800,1.676,801,4.037,802,2.772,803,1.048,804,1.598,805,1.676,806,3.005,807,1.676,808,2.696,809,1.085,810,1.676,811,4.68,812,1.06,813,0.854,814,1.598,815,1.484,816,1.676,817,1.536,818,1.401,819,1.06,820,5.877,821,1.281,822,1.085,823,1.235,824,1.439,825,1.085,826,1.536,827,3.131,828,3.326,829,1.676,830,2.393,831,1.676,832,1.598,833,7.434,834,2.617,835,1.78,836,1.177,837,3.131,838,4.201,839,1.676,840,1.195,841,3.326,842,1.366,843,1.195,844,3.326,845,1.195,846,1.78]],["keywords/202",[]],["title/203",[723,1050.255]],["content/203",[5,1.143,7,2.041,18,2.779,35,3.926,48,5.345,51,2.672,52,5.591,83,4.074,137,3.997,140,3.174,144,0.952,146,5.539,151,5.592,152,4.17,160,3.943,162,1.188,164,4.163,167,3.705,172,10.69,173,6.204,174,5.447,175,6.67,176,8.155,177,6.758,178,6.758,179,5.79,180,4.745,181,5.799,186,2.085,187,4.238,194,3.576,214,7.308,217,2.376,223,5.79,265,2.422,277,3.062,279,2.732,340,5.081,350,4.106,352,3.115,373,7.994,374,6.146,375,6.161,376,4.968,380,8.395,624,6.427,625,7.611,630,4.471,637,7.278,643,3.319,645,4.54,646,6.129,647,9.258,648,4.471,649,3.778,650,5.638,651,4.405,652,6.02,653,6.758,654,4.867,655,5.469,723,9.91,725,6.585,884,10.396,1333,4.867,1578,5.835,2113,5.36,2128,6.764,2129,6.764,2132,6.071,2133,6.071,2135,5.469,2136,5.638]],["keywords/203",[]],["title/204",[2140,1208.042]],["content/204",[5,1.718,7,1.92,18,2.614,35,4.565,48,5.731,51,2.513,52,5.465,61,6.763,83,3.832,91,2.614,137,3.808,140,3.162,144,0.895,146,5.276,151,5.371,152,2.486,160,3.85,162,1.118,164,4.221,167,3.485,172,10.437,173,6.805,174,5.188,175,6.353,176,7.833,177,6.437,178,6.437,179,5.516,180,4.584,181,4.906,186,1.961,187,2.527,194,3.407,214,7.019,217,3.57,223,6.887,230,6.089,265,2.278,277,4.109,279,2.57,340,3.908,350,2.556,352,1.857,370,8.519,373,9.448,374,9.126,375,5.917,376,4.821,380,5.006,382,7.8,447,2.584,624,6.122,625,5.854,630,4.205,637,6.933,643,3.122,644,4.882,645,6.822,646,4.152,647,8.945,648,4.205,649,3.553,650,5.303,651,4.143,652,5.734,653,4.03,654,4.578,655,5.144,725,6.273,774,4.414,930,5.368,1935,4.085,2059,6.353,2140,8.767,2141,6.362,2142,6.362,2143,6.362]],["keywords/204",[]],["title/205",[2144,1208.042]],["content/205",[5,1.79,7,2.021,18,2.752,35,4.51,48,5.82,51,2.646,52,5.526,61,6.996,83,4.034,91,2.752,137,3.966,140,3.168,144,0.942,146,5.496,151,5.555,152,2.617,160,3.928,162,1.177,164,4.147,167,3.669,172,10.65,173,6.164,174,5.404,175,6.618,176,8.102,177,6.705,178,6.705,179,5.745,180,4.719,181,5.075,186,2.064,187,2.66,194,3.549,214,7.261,217,2.352,223,7.124,230,6.299,265,2.398,277,3.766,279,2.705,340,4.071,350,2.662,352,1.955,370,8.812,373,7.95,374,6.098,375,6.121,376,4.945,380,5.269,382,8.124,447,2.721,624,6.377,625,6.098,630,4.427,637,7.221,643,3.286,645,4.495,646,4.325,647,9.207,648,4.427,649,3.741,650,5.582,651,4.362,652,5.973,653,4.242,654,4.819,655,5.415,725,4.133,774,4.646,930,5.591,1935,4.3,2059,6.618,2140,5.777,2141,6.697,2142,6.697,2143,6.697,2144,5.777]],["keywords/205",[]],["title/206",[2145,1400.437]],["content/206",[5,2.275,18,3.77,35,4.222,48,4.691,51,3.624,52,4.552,78,5.498,137,3.437,140,2.707,144,1.291,146,4.762,151,5.695,155,5.124,160,3.461,162,1.612,164,4.286,167,5.026,172,9.383,173,7.484,174,4.683,175,5.735,176,5.662,177,5.811,178,5.811,179,4.979,180,4.257,181,3.547,186,2.828,214,5.074,217,4.727,223,4.979,265,3.286,277,4.333,340,3.528,358,4.787,373,11.038,374,10.77,375,8.187,376,4.096,624,5.526,625,7.752,630,6.064,643,4.502,644,7.04,645,9.034,646,3.748,647,8.306,648,6.064,649,5.124,795,4.468,1039,7.218,1418,9.88,1714,11.394,2145,9.174,2146,9.174,2147,8.235,2148,9.174,2149,8.235]],["keywords/206",[]],["title/207",[2150,1400.437]],["content/207",[5,1.73,18,4.206,35,4.078,48,4.991,51,4.044,52,4.79,78,5.951,137,3.835,140,2.455,144,1.44,146,5.314,151,6.164,160,3.682,162,1.798,164,4.235,167,5.607,172,9.983,173,6.84,174,5.225,175,6.398,176,6.317,177,6.483,178,6.483,179,5.555,180,4.607,181,3.957,186,3.155,214,5.661,217,3.595,223,5.555,265,3.666,277,3.93,340,3.936,358,5.038,373,9.845,374,5.896,375,8.614,376,4.433,624,6.165,625,8.39,630,6.766,643,5.023,645,6.871,647,6.317,648,6.766,649,5.717,795,4.985,1039,8.054,1418,7.514,1714,11.778,2146,10.236,2147,9.188,2148,10.236,2149,9.188,2150,10.236]],["keywords/207",[]],["title/208",[2151,1318.333]],["content/208",[5,3.287,35,4.193,45,2.998,52,3.453,89,6.167,139,2.106,140,2.815,144,1.874,145,6.586,157,6.799,160,2.892,162,2.34,164,3.053,186,4.105,197,5.776,224,4.77,243,5.537,273,5.887,277,3.087,292,5.812,354,12.539,361,8.552,432,11.046,596,9.989,614,7.514,673,6.637,704,9.778,752,6.974,848,6.254,852,6.799,855,8.881,1536,11.102,1543,5.505,1690,11.49,1740,8.674,1935,8.552,2151,12.539,2152,10.221,2153,15.654]],["keywords/208",[]],["title/209",[2154,1400.437]],["content/209",[5,2.312,35,4.266,48,4.026,140,3.306,144,1.925,145,6.763,160,2.97,162,2.403,164,3.135,186,4.216,243,5.686,265,6.355,277,4.112,278,8.842,290,8.338,354,12.876,404,7.509,682,11.799,686,7.716,754,9.04,848,6.422,1300,9.329,1337,8.441,1740,8.908,2153,15.927,2154,13.678,2155,11.726,2156,13.678,2157,13.678]],["keywords/209",[]],["title/210",[847,1167.278]],["content/210",[9,7.169,35,5.282,79,6.569,174,8.067,209,7.754,320,10.445,337,5.831,346,12.433,347,11.601,352,6.146,353,7.317,355,10.292,615,8.421,640,13.172,847,13.172,848,7.42,1279,12.127,2158,14.184,2159,15.803]],["keywords/210",[]],["title/211",[717,843.502]],["content/211",[35,5.188,112,9.069,174,10.267,183,9.243,207,9.949,258,12.739,346,13.148,352,4.878,700,7.531,717,12.996,1456,13.929]],["keywords/211",[]],["title/212",[721,1318.333]],["content/212",[35,4.339,60,6.903,112,9.793,320,11.927,434,8.788,717,10.869,722,12.985,1587,10.506]],["keywords/212",[]],["title/213",[670,1132.359]],["content/213",[5,2.252,35,3.202,48,5.133,49,10.994,51,5.262,52,4.521,64,4.939,79,5.537,88,5.925,91,5.473,136,3.388,140,1.928,144,2.454,148,12.539,160,2.892,162,3.416,164,3.053,180,4.213,185,7.035,186,4.105,197,5.776,202,5.963,275,8.023,447,7.084,670,16.682,671,6.438,672,11.896,673,6.637,674,8.22,675,8.22,676,5.925,677,7.93,678,11.49,2160,13.32,2161,12.539]],["keywords/213",[]],["title/214",[94,899.2]],["content/214",[35,5.296,51,6.292,94,13.566,140,2.306,160,4.241,178,10.088,179,8.643,180,5.037,182,9.829,638,15.927,700,8.803,718,11.46,719,13.739,750,7.937,1386,10.088,2162,9.829]],["keywords/214",[]],["title/215",[2163,1257.008]],["content/215",[5,3.026,52,4.64,62,6.672,75,8.92,140,2.007,160,3.01,162,3.145,164,3.178,180,4.385,185,7.322,187,5.507,209,6.803,220,6.909,265,6.41,277,4.148,350,3.486,685,10.908,744,11.164,758,6.751,764,11.21,1205,12.881,1445,13.051,2163,17.794,2164,13.864,2165,13.864,2166,13.864,2167,13.864,2168,13.864]],["keywords/215",[]],["title/216",[193,912.046]],["content/216",[5,2.515,35,4.502,52,4.854,137,5.574,140,2.711,160,3.23,164,3.41,178,9.423,179,8.074,181,7.921,193,13.344,197,6.452,265,5.328,350,3.741,649,10.458,685,11.706,697,8.229,746,8.758,750,7.414,1022,12.401,1074,10.706,1392,12.834,2169,14.878,2170,14.878]],["keywords/216",[]],["title/217",[2171,1525.086]],["content/217",[5,2.409,35,4.381,52,4.724,61,7.595,136,5.384,137,5.34,140,2.638,160,3.094,164,3.267,193,13.081,197,7.902,256,5.395,257,11.214,265,5.104,329,8.298,350,3.584,594,10.975,649,10.177,685,11.214,697,7.883,746,8.39,750,7.102,1074,10.256,1392,12.295,1996,11.88,2169,14.253,2170,14.253]],["keywords/217",[]],["title/218",[918,864.282]],["content/218",[35,3.77,45,3.53,140,2.27,160,3.405,161,7.814,162,3.849,164,4.435,173,7.363,208,4.622,277,5.215,918,12.95,1391,10.878,2172,14.075]],["keywords/218",[]],["title/219",[2173,1525.086]],["content/219",[35,3.685,45,3.45,140,2.219,160,3.328,161,7.638,162,3.818,164,4.372,173,7.196,183,11.487,208,4.575,277,5.181,918,12.818,1391,10.632,2172,13.757]],["keywords/219",[]],["title/220",[2174,1525.086]],["content/220",[35,3.577,45,3.349,140,2.154,160,3.23,161,7.414,162,3.974,164,4.697,208,4.736,265,5.328,277,4.339,358,6.168,2172,13.354,2175,16.919]],["keywords/220",[]],["title/221",[1834,626.987]],["content/221",[35,3.8,45,3.557,140,2.288,160,3.431,161,7.875,162,3.859,164,4.456,208,4.638,265,5.659,1834,10.098,2172,14.184,2175,16.566]],["keywords/221",[]],["title/222",[2176,1167.278]],["content/222",[5,3.451,189,7.43,277,5.054,278,8.538,358,4.672,382,13.149,653,10.852,692,14.78,1358,10.852,2176,14.281,2177,17.134]],["keywords/222",[]],["title/223",[2178,1132.359]],["content/223",[5,2.825,35,4.836,94,10.73,152,6.53,198,9.155,277,3.873,376,5.086,447,6.789,653,10.585,724,9.155,1867,18.053,2178,16.263,2179,18.199,2180,16.712]],["keywords/223",[]],["title/224",[151,592.616]],["content/224",[5,1.417,35,4.039,37,4.62,121,4.176,139,2.657,140,1.213,144,2.126,151,8.001,152,3.275,160,1.82,162,1.472,164,4.127,180,4.78,185,4.426,192,2.772,201,4.879,204,4.891,217,5.9,240,3.092,244,5.231,257,6.594,265,5.412,318,2.992,329,9.78,358,3.431,615,4.466,646,5.141,744,10.622,758,4.081,759,7.522,760,7.522,761,4.879,764,6.776,768,10.118,775,6.872,795,6.128,1177,5.814,1200,6.223,1201,8.447,1205,9.056,2181,9.127,2182,6.594,2183,8.381,2184,8.381,2185,9.127,2186,9.127,2187,16.457,2188,9.127,2189,9.127,2190,9.127,2191,9.127,2192,14.226,2193,18.908,2194,11.847,2195,13.705,2196,10.176,2197,16.457,2198,13.705,2199,9.127,2200,9.127,2201,9.127,2202,9.127,2203,9.127,2204,9.127,2205,9.127,2206,7.229,2207,9.127,2208,8.381,2209,9.127]],["keywords/224",[]],["title/225",[2153,1257.008]],["content/225",[5,2.898,35,5.245,45,2.922,50,4.913,136,3.301,139,2.053,140,2.482,144,1.826,145,6.418,160,2.818,161,6.468,162,3.588,163,6.979,164,3.93,186,4,243,5.396,265,4.648,273,7.578,277,3.008,278,6.468,292,5.664,361,8.334,432,10.86,564,9.004,614,7.322,621,7.64,848,8.05,852,6.626,855,7.831,929,9.34,1543,5.364,1690,11.196,1740,8.453,2151,16.141,2152,9.96,2153,11.65]],["keywords/225",[]],["title/226",[136,278.481,144,154.065]],["content/226",[4,5.554,7,1.301,29,4.826,35,2.319,45,2.567,136,1.097,140,2.995,144,0.607,145,3.642,146,5.006,152,1.685,201,5.614,204,3.748,213,8.68,214,11.616,217,1.515,219,7.771,230,4.626,232,10.352,234,7.307,267,9.078,268,6.28,269,19.307,270,8.038,275,12.65,277,3.234,348,11.633,383,2.433,423,3.56,483,3.487,505,4.312,625,2.484,646,9.35,697,4.074,723,3.234,725,7.039,761,5.614,784,4.059,790,5.333,808,2.484,1162,2.769,1292,16.584,1293,2.433,1296,6.14,1356,3.72,1376,8.656,1388,3.103,1743,3.594,2130,4.312,2140,8.318,2210,4.696,2211,4.696,2212,4.312,2213,8.656,2214,9.643,2215,9.643,2216,9.643,2217,9.643,2218,9.078,2219,9.643,2220,10.501,2221,9.643,2222,9.643,2223,9.078,2224,6.81,2225,10.501,2226,9.643,2227,9.643,2228,9.078,2229,4.059,2230,7.366,2231,8.022,2232,4.696,2233,4.312,2234,4.696,2235,4.059,2236,4.312,2237,4.312,2238,4.696,2239,4.059,2240,4.696,2241,4.696,2242,4.696,2243,8.022,2244,4.696,2245,4.312,2246,4.696,2247,4.696]],["keywords/226",[]],["title/227",[55,675.723,1027,573.248]],["content/227",[1,2.976,5,1.498,7,2.673,9,1.364,18,1.235,21,1.731,29,2.273,35,0.723,38,1.75,39,1.81,43,3.866,45,1.209,46,6.032,48,4.862,51,2.122,52,2.931,55,9.316,56,3.794,60,1.15,61,1.602,62,4.889,63,3.664,65,3.866,69,1.958,75,1.498,78,4.16,79,1.25,88,1.337,96,1.987,119,1.662,121,2.677,125,2.085,130,2.023,133,2.085,137,2.013,139,3.46,140,1.055,143,3.397,152,1.175,153,1.303,157,2.742,162,1.789,173,4.78,174,1.534,188,1.832,189,3.842,192,0.662,194,1.008,197,1.303,200,2.163,204,4.394,207,1.79,208,0.662,217,1.056,224,3.173,225,1.801,241,1.574,252,1.534,256,1.138,257,4.227,258,3.403,271,1.987,273,1.328,277,4.515,284,3.062,308,4.634,314,3.664,317,1.031,318,0.715,333,3.916,336,2.315,345,1.713,350,0.756,358,3.957,372,2.123,373,1.602,375,2.505,376,3.098,378,4.853,383,4.109,403,2.43,404,1.272,437,1.713,443,5.993,446,1.616,447,2.959,476,1.93,494,1.81,552,2.43,562,2.207,563,1.731,564,3.727,566,2.505,568,2.233,573,2.33,580,2.163,614,1.696,621,1.769,626,2.085,628,1.464,673,1.498,674,1.855,686,1.696,695,1.79,715,2.593,742,2.597,746,1.769,748,2.307,752,1.574,758,3.547,774,2.085,775,3.701,791,2.254,808,4.195,812,1.79,813,4.885,819,1.79,848,2.522,856,4.478,882,2.085,883,2.018,896,9.585,913,2.83,952,2.837,970,2.83,1022,2.505,1027,5.919,1046,2.505,1066,2.505,1074,7.326,1076,7.284,1146,3.881,1189,2.207,1192,2.254,1242,1.769,1245,2.698,1266,3.198,1275,2.307,1292,2.43,1295,2.307,1337,3.316,1347,5.611,1377,1.987,1418,2.207,1443,2.123,1476,5.401,1499,7.164,1503,2.698,1525,2.698,1539,5.372,1573,7.952,1587,3.128,1588,3.358,1623,2.505,1651,2.207,1703,6.538,1708,6.971,1709,5.462,1714,4.998,1718,8.011,1781,2.307,1793,5.589,1812,6.538,1813,7.284,1814,2.593,1815,2.83,1816,3.006,1824,2.83,1871,2.163,1877,4.822,1878,5.057,2024,4.344,2048,2.593,2065,2.365,2089,2.254,2248,3.006,2249,7.932,2250,3.273,2251,3.273,2252,3.273,2253,12.096,2254,3.273,2255,5.85,2256,3.273,2257,5.85,2258,3.273,2259,3.273,2260,3.273,2261,7.932,2262,3.273,2263,3.273,2264,4.344,2265,3.273,2266,5.85,2267,3.273,2268,5.057,2269,5.85,2270,5.85,2271,5.85,2272,5.85,2273,13.367,2274,5.85,2275,12.313,2276,5.85,2277,5.85,2278,5.85,2279,5.85,2280,3.273,2281,5.85,2282,3.273,2283,5.85,2284,2.698,2285,2.698,2286,2.698,2287,2.837,2288,2.43,2289,2.698,2290,2.698,2291,3.273,2292,3.273,2293,3.273,2294,3.273,2295,3.273,2296,3.006,2297,5.85,2298,3.006,2299,2.698,2300,3.006,2301,3.273,2302,2.83,2303,9.648,2304,5.85,2305,5.85,2306,2.83,2307,5.85,2308,3.006,2309,5.85,2310,2.593,2311,3.273,2312,3.273,2313,5.85,2314,5.85,2315,3.273,2316,3.273]],["keywords/227",[]],["title/228",[197,474.805,202,490.198]],["content/228",[]],["keywords/228",[]],["title/229",[58,521.487,197,474.805]],["content/229",[1,4.401,5,2.914,20,4.632,21,4.376,50,2.876,58,10.581,64,2.818,79,3.158,84,2.695,88,3.38,89,3.518,91,3.122,119,6.461,120,4.576,130,6.015,136,4.977,137,2.846,139,1.847,143,2.535,144,1.069,152,4.565,155,4.244,160,1.65,162,2.5,165,4.376,186,2.342,192,1.674,197,8.222,225,2.547,238,4.812,241,3.978,271,5.022,273,3.358,285,3.14,318,2.778,325,4.749,331,5.821,333,4.085,337,6.361,345,4.331,370,5.1,404,4.943,437,4.331,438,6.144,522,7.399,551,5.698,562,5.578,620,6.339,673,5.821,761,4.423,818,5.978,843,5.1,845,5.1,852,5.963,924,5.022,946,4.523,1165,5.698,1189,5.578,1300,5.183,1358,4.812,1386,4.812,1607,6.82,1656,7.598,1850,6.333,1858,7.598,1908,5.578,1916,10.92,1930,7.598,2007,7.153,2089,5.698,2317,6.144,2318,10.077,2319,10.558,2320,8.274,2321,6.82,2322,8.274,2323,8.274,2324,9.19,2325,7.153,2326,6.554,2327,8.274,2328,8.274,2329,7.153,2330,6.144,2331,8.274,2332,8.274,2333,6.82,2334,7.598,2335,11.681,2336,8.274,2337,8.274,2338,8.274,2339,7.598,2340,7.598]],["keywords/229",[]],["title/230",[45,246.448,197,474.805]],["content/230",[1,3.443,5,1.566,18,2.33,21,3.266,35,4.066,37,5.483,45,4.994,50,5.13,52,1.47,54,3.592,58,2.701,83,3.415,88,2.522,91,2.33,102,1.909,114,4.461,124,3.232,130,3.488,136,4.774,137,2.124,139,1.857,143,1.892,144,2.379,150,2.721,152,3.619,155,3.167,162,2.381,163,3.049,165,3.266,174,2.895,186,1.748,192,1.249,194,1.901,196,2.741,197,6.477,201,6.835,202,5.256,204,3.6,208,4.134,222,3.693,238,3.592,240,3.417,242,3.5,259,4.51,265,3.317,273,2.506,277,2.146,278,4.615,279,2.29,294,4.461,317,3.177,318,1.348,331,2.826,337,3.417,338,5.334,345,3.232,349,1.945,350,2.329,352,1.655,358,1.546,359,3.106,404,3.919,436,2.826,437,3.232,513,6.032,522,5.866,540,3.868,571,2.662,614,3.199,615,4.935,620,3.077,671,5.674,673,5.85,676,4.12,700,2.556,744,2.919,789,3.693,812,3.376,813,2.721,821,4.08,845,3.806,848,2.662,852,4.728,1056,3.545,1142,3.748,1155,4.892,1200,2.804,1204,2.556,1207,4.461,1208,4.253,1209,4.163,1210,4.253,1212,3.693,1279,4.352,1379,4.726,1383,5.09,1386,3.592,1391,3.934,1443,8.29,1451,4.892,1591,2.969,1792,4.892,1834,4.146,1916,13.536,1923,5.09,1945,4.585,2109,2.49,2116,5.09,2317,4.585,2318,4.892,2319,7.759,2341,6.175,2342,6.175,2343,6.175,2344,6.175,2345,6.175,2346,6.175,2347,5.09,2348,6.175,2349,5.671,2350,5.09,2351,6.175,2352,7.879,2353,5.338,2354,6.175,2355,6.175,2356,2.848,2357,4.08,2358,5.338,2359,5.338,2360,6.175,2361,6.175,2362,6.175,2363,14.759,2364,5.338]],["keywords/230",[]],["title/231",[33,549.953,197,474.805]],["content/231",[1,3.772,5,1.551,33,11.273,37,3.368,45,2.065,50,3.473,54,5.811,58,4.37,60,3.509,102,3.089,106,5.341,112,4.979,124,5.229,130,5.068,136,3.423,139,2.521,143,3.061,144,1.291,150,4.402,152,5.259,155,5.124,158,3.954,162,3.085,186,2.828,192,2.964,194,3.075,195,6.064,197,8.109,202,4.107,222,5.975,225,4.511,238,5.811,252,4.683,265,3.286,273,4.055,318,2.181,331,4.572,337,4.966,350,2.307,404,5.695,436,4.572,522,8.525,571,4.308,614,5.176,671,4.434,735,7.914,742,4.434,812,5.462,845,6.158,848,4.308,852,4.683,918,5.662,950,7.04,1146,4.889,1155,7.914,1386,5.811,1451,7.914,1478,6.88,1551,8.896,1587,5.341,1591,4.803,1697,8.235,1837,15.377,1916,10.328,1923,8.235,2317,7.418,2318,7.914,2319,10.536,2365,9.991,2366,9.991,2367,6.479,2368,7.418,2369,7.914,2370,6.479,2371,9.991]],["keywords/231",[]],["title/232",[197,474.805,741,746.821]],["content/232",[1,3.937,5,2.195,45,1.967,52,3.367,58,4.163,121,4.356,130,4.89,136,2.223,138,3.721,139,2.713,143,4.333,144,2.18,146,4.537,152,3.416,160,1.898,162,3.013,164,2.004,180,2.765,181,3.379,186,2.694,192,1.925,197,8.328,202,3.913,208,3.413,211,11.621,213,5.089,214,4.834,219,5.075,222,5.692,240,3.225,241,4.576,266,6.877,273,5.739,300,7.54,305,5.394,308,7.54,318,2.078,331,4.356,337,4.791,358,3.541,376,2.66,404,3.699,423,7.489,522,8.225,568,3.634,624,5.265,625,5.034,646,5.305,697,4.834,725,5.394,741,14.236,742,4.225,812,5.204,845,5.867,848,6.097,930,6.859,1591,4.576,1916,13.162,2113,6.523,2135,7.068,2136,7.286,2317,7.068,2318,7.54,2319,10.241,2367,6.172,2372,8.741,2373,8.228,2374,9.519,2375,11.656,2376,14.142,2377,9.519,2378,8.228,2379,7.846,2380,7.846,2381,8.228,2382,7.846,2383,7.846]],["keywords/232",[]],["title/233",[158,387.36,197,389.769,918,554.704]],["content/233",[1,3.444,5,1.986,45,2.644,51,3.024,52,1.985,58,3.646,121,3.815,130,4.424,136,1.947,138,3.259,139,2.536,143,3.92,144,1.653,146,3.974,152,2.991,157,3.908,158,9.002,160,1.662,162,2.817,164,1.755,180,2.421,181,2.959,186,2.359,192,1.686,197,8.244,202,3.427,208,3.149,211,10.722,213,4.457,214,4.234,219,5.587,222,4.986,240,2.824,241,4.008,252,3.908,265,4.207,266,6.023,273,7.087,300,6.604,305,4.724,318,1.82,331,3.815,336,3.299,337,4.335,350,1.925,358,4.372,376,2.33,404,3.239,423,7.751,522,7.441,624,4.611,625,4.409,646,4.8,676,3.405,697,4.234,724,4.194,725,4.724,742,3.7,812,4.557,845,5.138,848,3.594,918,11.268,930,6.205,1201,5.138,1551,5.06,1591,4.008,1916,13.275,1935,4.915,2113,5.901,2135,6.19,2136,6.381,2310,6.604,2317,6.19,2318,6.604,2319,9.45,2367,5.406,2372,7.655,2373,17.187,2378,7.206,2379,6.871,2380,6.871,2381,7.206,2382,6.871,2383,6.871,2384,7.206,2385,8.337,2386,12.795,2387,8.337,2388,10.135,2389,7.206,2390,9.793]],["keywords/233",[]],["title/234",[197,474.805,2109,480.814]],["content/234",[1,4.226,5,2.498,48,3.075,52,2.708,58,4.976,83,6.292,88,4.647,91,4.292,124,5.954,129,6.292,130,6.458,136,3.759,139,2.337,143,3.485,144,1.47,152,4.082,162,2.596,186,3.22,197,8.532,202,4.677,208,2.301,222,6.803,238,6.617,273,4.617,279,4.22,331,5.206,337,5.453,349,3.583,359,5.723,404,6.254,436,5.206,522,9.361,671,5.049,681,8.447,741,7.125,812,6.219,845,7.012,848,8.052,1176,7.012,1554,7.377,1591,5.469,1834,6.617,1916,11.341,2109,9.824,2111,9.011,2317,8.447,2319,11.335,2347,9.377,2367,7.377,2391,11.376,2392,17.15,2393,11.376,2394,11.376,2395,8.707,2396,10.447]],["keywords/234",[]],["title/235",[79,455.148,197,474.805]],["content/235",[1,3.748,4,8.705,5,2.253,21,9.465,37,2.517,41,3.829,50,4.082,58,3.265,66,4.601,72,3.948,79,9.198,80,7.127,106,3.991,124,3.907,127,5.394,129,4.129,130,5.019,136,4.438,139,1.705,143,2.287,152,4.214,155,3.829,158,2.954,162,2.887,167,3.755,185,3.621,186,2.113,193,4.465,197,7.126,199,5.714,202,3.069,222,4.465,225,2.298,238,4.342,239,5.914,265,2.455,273,3.03,278,3.416,279,2.769,325,4.285,331,3.416,336,2.954,337,3.979,349,2.352,404,6.395,436,3.416,437,3.907,522,6.83,554,3.829,571,3.219,615,3.653,620,7.233,622,5.141,628,3.338,671,3.313,674,4.231,812,4.081,845,4.601,848,5.063,1142,4.531,1176,4.601,1195,4.035,1314,8.719,1341,4.601,1386,4.342,1443,4.841,1543,2.833,1570,5.714,1591,3.589,1608,6.153,1651,9.785,1666,3.621,1718,8.484,1781,5.261,1872,13.565,1873,6.153,1916,8.275,1923,6.153,2069,5.914,2085,6.855,2088,6.855,2089,8.087,2091,7.76,2095,6.855,2109,3.01,2121,5.543,2317,5.543,2319,8.81,2347,6.153,2367,4.841,2395,11.11,2396,6.855,2397,7.466,2398,6.855,2399,6.454,2400,6.855,2401,17.895,2402,6.855,2403,7.466,2404,7.466,2405,7.466,2406,7.466,2407,6.454,2408,6.855,2409,7.466,2410,7.466,2411,6.855,2412,7.466,2413,7.466,2414,7.466,2415,7.466,2416,7.466,2417,7.466,2418,7.466]],["keywords/235",[]],["title/236",[1,163.73,337,281.25,446,409.879,1911,599.745]],["content/236",[]],["keywords/236",[]],["title/237",[408,925.606]],["content/237",[1,4.891,5,2.974,7,4.073,21,7.773,37,7.184,47,9.362,50,5.109,64,6.523,71,8.79,121,6.726,136,4.977,196,6.523,202,6.042,225,4.524,256,5.109,408,12.935,484,9.908,503,9.908,506,10.913,522,8.548,620,7.324,642,7.324,677,8.035,936,10.913,1253,7.006,1303,10.913,1614,9.206,1764,11.642,1831,12.114,2419,10.913,2420,11.249]],["keywords/237",[]],["title/238",[32,1208.042]],["content/238",[]],["keywords/238",[]],["title/239",[513,912.046]],["content/239",[1,2.788,5,2.194,9,7.779,36,10.619,75,6.468,124,7.398,130,7.691,185,6.855,192,2.859,193,8.453,194,4.35,241,6.796,256,4.913,273,5.736,285,7.086,318,3.086,325,8.113,336,5.594,407,9.34,425,8.334,468,10.495,513,14.207,567,9.96,571,6.094,620,7.044,695,7.727,1538,10.212,1569,12.98,1591,6.796,1651,9.528,1672,9.96,1716,11.196,2421,14.135,2422,14.135,2423,17.146,2424,14.135,2425,15.39,2426,10.819]],["keywords/239",[]],["title/240",[37,514.1]],["content/240",[1,4.72,4,3.653,5,1.714,9,4.599,18,2.606,30,4.867,33,3.186,36,7.005,37,7.293,45,2.282,47,7.033,48,1.867,50,3.838,55,3.914,57,7.78,62,2.364,68,5.128,71,4.131,72,3.653,73,5.971,79,2.637,89,2.937,125,4.4,136,3.68,139,1.003,142,3.474,143,3.383,162,1.781,187,7.034,202,6.478,219,7.763,225,4.849,248,3.578,317,3.478,321,3.088,322,3.112,325,3.964,336,2.733,337,7.463,352,2.959,353,2.937,372,4.479,391,4.99,432,4.017,434,7.045,442,4.257,447,2.576,476,4.072,493,4.564,494,3.82,503,4.656,511,4.192,573,2.75,676,2.821,677,3.776,695,6.036,789,4.131,875,3.474,936,5.128,946,8.614,947,9.544,1027,7.575,1032,7.78,1175,3.776,1288,5.693,1303,10.241,1308,6.342,1314,10.241,1332,4.479,1443,4.479,1444,4.99,1486,4.99,1558,4.757,1567,5.128,1587,3.692,1588,3.964,1591,6.631,1606,9.312,1623,10.557,1695,6.342,1712,12.665,1806,5.128,1912,4.757,1931,5.971,1934,6.342,2069,5.471,2425,5.693,2427,10.138,2428,5.971,2429,5.693,2430,6.907,2431,6.907,2432,6.907,2433,4.757,2434,6.907,2435,6.907,2436,6.342,2437,10.138,2438,6.342,2439,9.544,2440,5.971,2441,6.907,2442,5.693,2443,6.907,2444,6.342,2445,8.746,2446,6.342,2447,6.907,2448,6.342]],["keywords/240",[]],["title/241",[36,605.569,2449,840.217]],["content/241",[1,3.083,4,8.267,5,3.406,35,3.451,36,10.123,37,5.269,50,5.433,79,5.967,121,7.153,130,5.405,136,4.655,142,7.863,196,6.937,225,6.135,256,5.433,265,5.14,337,5.296,482,12.381,495,7.863,506,11.606,511,12.097,620,7.789,695,8.545,858,13.512,1606,8.449,2449,14.046,2450,15.631,2451,15.631,2452,15.631,2453,15.631]],["keywords/241",[]],["title/242",[136,278.481,1606,644.506]],["content/242",[1,4.476,5,2.611,36,8.541,37,5.669,52,4.003,91,6.345,124,8.802,136,4.875,196,7.464,446,8.304,580,11.112,709,11.581,712,11.337,758,7.52,761,8.991,936,12.487,948,12.872,1303,12.487,1606,11.282,1614,10.534,2433,11.581,2449,11.851,2454,12.15]],["keywords/242",[]],["title/243",[1558,1050.255]],["content/243",[1,4.203,4,10.132,9,6.123,18,5.545,30,13.499,32,11.642,37,4.954,89,6.249,125,12.203,187,6.987,195,8.92,352,3.94,432,8.548,573,5.853,612,11.807,674,10.856,677,8.035,695,8.035,830,9.711,946,10.473,1275,10.357,1558,10.122,1606,10.355,2433,14.677,2455,14.698,2456,14.698,2457,14.698,2458,10.913,2459,8.035,2460,14.698,2461,13.496,2462,12.114,2463,14.698,2464,14.698]],["keywords/243",[]],["title/244",[1651,1028.057]],["content/244",[]],["keywords/244",[]],["title/245",[2395,1167.278]],["content/245",[1,4.459,21,6.985,29,5.132,31,9.807,64,6.077,67,9.756,79,5.042,80,8.016,124,6.913,187,4.818,225,4.065,254,8.564,316,8.903,317,5.621,324,7.899,336,5.227,494,7.305,620,10.071,622,12.289,695,7.22,742,5.862,1214,7.393,1307,11.417,1332,13.105,1392,10.462,1443,8.564,1651,8.903,1718,12.892,1873,16.658,2089,13.918,2367,8.564,2395,17.303,2465,12.128,2466,10.109,2467,12.128,2468,13.208,2469,12.128,2470,8.273,2471,16.386,2472,17.845]],["keywords/245",[]],["title/246",[142,599.787,1661,912.615]],["content/246",[1,4.258,4,11.418,21,7.985,120,8.351,130,5.221,142,10.86,187,5.507,194,4.647,239,11.96,241,7.259,254,9.79,255,9.163,258,8.781,401,12.444,443,8.161,751,9.618,1195,8.161,1332,9.79,1512,11.96,1651,10.178,1661,16.524,1718,10.908,1872,12.444,2089,13.424,2123,9.976,2288,11.21,2395,11.556,2398,13.864,2399,13.051,2400,13.864,2473,11.556,2474,15.098,2475,12.444]],["keywords/246",[]],["title/247",[2097,982.769,2476,1030.714]],["content/247",[1,3.914,9,6.466,21,8.209,65,10.256,134,12.793,226,8.298,290,11.107,333,7.664,620,7.735,622,10.689,695,8.485,724,7.808,1067,8.39,1332,10.065,1334,10.463,1368,10.065,1386,12.722,1658,12.295,2097,19,2135,11.524,2476,13.417,2477,15.521,2478,15.521,2479,14.253,2480,15.521,2481,14.253,2482,8.585,2483,15.521,2484,15.521,2485,13.417,2486,15.521]],["keywords/247",[]],["title/248",[1672,1074.677]],["content/248",[]],["keywords/248",[]],["title/249",[47,971.494]],["content/249",[1,4.396,5,1.968,7,4.809,37,7.758,47,15.504,48,5.751,49,8.492,50,6.033,55,9.836,91,4.784,96,7.695,121,5.802,181,4.501,187,4.625,198,6.378,219,6.228,224,4.169,285,4.812,321,5.669,322,7.82,337,5.88,372,8.221,416,10.45,455,7.097,752,6.095,830,8.377,946,6.931,1065,9.16,1152,8.934,1526,8.221,1568,8.731,1922,10.043,2440,15.003,2461,11.642,2462,10.45,2487,8.547,2488,9.414,2489,8.934,2490,9.704,2491,10.96,2492,10.45,2493,8.377]],["keywords/249",[]],["title/250",[57,1074.677]],["content/250",[1,4.332,5,3.195,30,12.886,31,10.17,49,6.702,57,9.652,60,4.811,79,6.98,121,6.268,136,3.199,144,1.77,194,4.216,226,7.323,321,6.125,333,6.763,371,8.076,593,8.076,676,5.595,754,8.313,818,9.896,822,7.667,823,8.726,840,8.442,946,7.488,1140,8.579,1155,10.85,1314,10.17,1444,14.872,1606,7.404,1709,9.433,1806,16.31,2433,12.593,2439,11.841,2442,15.072,2473,13.996,2494,12.578,2495,12.578,2496,12.578,2497,12.578,2498,10.484,2499,13.698,2500,13.698]],["keywords/250",[]],["title/251",[192,241.161,1623,912.615]],["content/251",[1,3.267,4,8.762,13,10.376,21,8.762,66,10.21,91,6.25,93,11.408,192,4.559,194,5.099,202,6.811,209,7.464,314,12.95,316,11.167,352,4.44,353,7.043,545,10.054,751,10.553,1027,7.964,1623,17.252,1670,14.32,1672,11.674,2089,14.239,2501,15.212]],["keywords/251",[]],["title/252",[256,414.454,753,693.483]],["content/252",[]],["keywords/252",[]],["title/253",[317,375.584,1902,821.123]],["content/253",[1,3.646,5,2.161,7,0.65,8,1.795,9,0.977,18,2.267,33,1.082,35,3.326,36,1.191,37,2.518,45,3.928,46,2.538,48,1.624,50,2.089,52,4.333,53,1.09,55,1.329,58,7.2,59,1.904,64,2.543,75,2.75,78,1.621,83,3.324,84,0.764,88,2.455,89,2.555,90,1.741,91,3.722,97,1.825,102,0.725,106,2.31,110,1.469,114,1.694,119,2.195,123,2.153,127,1.694,129,1.297,130,5.21,131,1.445,133,5.569,136,2.042,138,1.689,139,1.822,140,1.162,141,3.132,142,3.023,143,0.718,144,0.777,146,3.56,150,1.904,152,0.841,153,1.721,156,1.52,157,2.026,159,1.282,160,1.198,162,1.752,164,1.265,167,1.18,180,1.745,181,3.502,185,1.137,188,1.313,190,1.581,192,1.511,194,1.85,196,5.214,197,6,198,1.18,201,3.993,202,0.964,204,2.145,208,2.683,209,1.947,211,4.139,213,4.674,214,4.44,219,5.21,222,2.584,224,0.771,225,3.342,227,0.611,241,6.378,252,2.026,256,1.502,265,3.244,266,1.694,272,1.346,273,3.031,277,3.206,278,1.073,279,3.243,282,3.594,285,2.281,290,1.313,292,0.94,300,4.76,302,1.118,305,3.406,307,1.297,316,1.581,317,3.42,318,1.909,319,1.615,324,2.584,326,4.603,331,2.75,332,1.297,333,2.134,337,3.98,350,2.713,358,1.87,370,1.445,371,3.543,372,1.52,373,5.748,374,2.285,376,1.679,391,3.122,398,1.549,404,2.335,407,1.549,408,3.647,409,3.307,423,4.819,425,3.543,434,1.048,435,1.694,437,2.262,439,2.753,440,1.694,442,5.388,447,1.612,463,1.795,467,1.423,476,1.383,495,2.174,508,1.494,522,2.513,535,1.694,540,1.469,543,2.753,571,3.769,573,2.393,575,1.346,593,2.548,594,2.39,620,1.168,621,1.267,624,4.131,625,3.95,626,5.569,627,1.694,632,1.168,637,1.469,642,1.168,643,1.056,646,5.652,651,4.467,652,3.869,676,2.455,693,1.329,695,1.282,697,3.052,700,0.97,712,1.581,723,6.793,725,3.406,750,1.073,752,1.127,795,1.048,804,1.933,813,1.033,815,1.795,819,1.282,837,2.027,845,2.663,852,1.099,882,3.828,883,3.704,930,5.266,952,1.137,1041,1.721,1054,1.24,1056,1.346,1067,2.336,1142,2.623,1146,1.147,1168,1.652,1169,1.549,1176,1.445,1192,1.615,1200,1.065,1201,1.445,1202,2.31,1204,0.97,1208,2.976,1209,2.913,1210,2.976,1212,2.584,1221,1.694,1222,1.615,1224,1.549,1230,1.652,1251,1.694,1270,3.423,1293,1.215,1299,3.208,1300,1.469,1358,2.513,1362,1.423,1368,1.52,1462,1.581,1473,1.795,1474,3.045,1479,1.615,1482,1.694,1501,1.346,1505,1.741,1524,1.857,1526,1.52,1543,1.64,1578,3.423,1606,1.267,1666,1.137,1671,1.741,1675,2.855,1693,1.549,1733,1.795,1756,3.208,1781,1.652,1871,1.549,1902,1.615,1907,1.857,1945,3.208,2059,3.449,2089,1.615,2091,1.254,2106,1.52,2113,4.032,2132,3.562,2133,1.933,2135,3.208,2136,3.307,2140,1.857,2144,3.423,2155,1.282,2319,5.986,2321,3.562,2339,2.153,2340,2.153,2350,1.933,2356,1.082,2364,2.027,2378,3.735,2379,3.562,2380,4.953,2381,3.735,2382,6.156,2383,3.562,2402,2.153,2419,6.491,2489,4.235,2497,3.968,2502,2.345,2503,1.795,2504,1.857,2505,2.027,2506,1.933,2507,1.857,2508,2.153,2509,2.153,2510,1.652,2511,1.933,2512,1.741,2513,2.345,2514,2.345,2515,4.321,2516,3.968,2517,15.117,2518,2.027,2519,2.345,2520,2.345,2521,1.933,2522,3.423,2523,2.345,2524,2.153,2525,2.345,2526,1.494,2527,2.153,2528,2.027,2529,2.153,2530,3.122,2531,2.345,2532,2.345,2533,2.027,2534,2.027,2535,2.345,2536,2.345,2537,2.345,2538,2.345,2539,2.345,2540,2.345,2541,2.345,2542,2.345,2543,2.345,2544,4.76,2545,2.345,2546,2.345,2547,2.153,2548,2.153,2549,2.345,2550,2.153,2551,2.027,2552,2.345,2553,2.153,2554,2.345,2555,8.028,2556,1.741,2557,2.345,2558,4.321,2559,2.345,2560,2.345,2561,3.968,2562,2.345,2563,2.345,2564,2.345,2565,2.153,2566,1.857,2567,2.027]],["keywords/253",[]],["title/254",[58,521.487,620,594.176]],["content/254",[1,4.276,5,0.806,21,2.746,29,4.393,35,2.927,45,2.74,46,4.774,52,4.056,58,9.349,79,1.982,84,2.844,89,2.207,96,3.151,102,1.605,112,2.587,129,2.871,130,1.795,131,3.2,132,3.658,136,2.64,138,2.029,139,0.754,140,0.69,144,1.128,146,2.474,152,1.863,160,2.254,162,2.386,164,1.093,180,1.508,181,1.843,196,2.304,208,1.05,213,2.775,214,2.636,219,4.757,220,2.375,224,1.707,225,1.598,256,1.804,258,5.08,265,1.707,278,2.375,279,5.485,285,1.97,300,4.112,317,2.751,322,2.339,326,3.2,332,2.871,337,6.517,340,1.833,347,5.887,350,2.611,355,3.105,371,3.061,376,1.451,404,4.393,423,3.876,436,2.375,440,3.75,463,6.685,467,6.861,476,3.061,492,3.658,495,2.611,523,4.487,538,3.973,554,6.799,571,3.765,573,3.478,574,3.061,575,8.489,620,7.37,624,2.871,625,2.746,628,5.928,632,5.634,642,4.352,646,4.973,676,3.567,697,2.636,723,7.785,724,2.611,725,2.942,761,8.566,824,3.854,836,3.151,845,5.383,855,3.663,882,5.563,883,5.383,921,3.499,930,2.518,952,2.518,1041,6.785,1125,5.771,1142,3.151,1143,3.658,1209,3.499,1300,3.251,1335,3.43,1362,3.151,1449,4.487,1526,3.366,1543,5.612,1575,3.2,1578,4.112,1607,7.199,1653,6.685,1850,6.685,1871,5.771,1908,3.499,2091,2.775,2106,5.663,2113,4.028,2131,9.318,2132,4.279,2133,4.279,2135,3.854,2136,3.973,2144,4.112,2319,5.301,2329,7.55,2379,4.279,2380,4.279,2382,4.279,2383,4.279,2419,6.485,2433,3.575,2485,4.487,2489,9.342,2517,18.158,2527,8.02,2529,4.767,2530,3.75,2555,4.767,2561,4.767,2566,4.112,2568,7.621,2569,4.767,2570,8.734,2571,5.191,2572,5.191,2573,5.191,2574,5.191,2575,4.767,2576,4.279,2577,4.487,2578,10.381,2579,5.191,2580,5.191,2581,5.191,2582,4.767,2583,4.767,2584,8.02,2585,4.279,2586,5.191,2587,5.191,2588,5.191,2589,4.279,2590,5.191,2591,3.854,2592,4.767]],["keywords/254",[]],["title/255",[1871,1007.71]],["content/255",[]],["keywords/255",[]],["title/256",[1,235.172,1871,787.86]],["content/256",[1,4.6,4,11.2,5,2.252,36,9.646,37,6.402,51,5.262,136,3.388,144,1.874,225,6.518,332,8.023,404,7.38,408,11.527,848,8.188,1143,15.832,1166,8.552,1253,10.094,1479,9.989,1543,5.505,1614,9.085,1932,11.955,2419,14.102,2504,11.49,2505,18.305,2516,17.44,2593,10.77,2594,14.505]],["keywords/256",[]],["title/257",[1,225.25,29,280.039,234,346.477,2595,593.996]],["content/257",[1,4.602,28,5.151,29,8.311,33,3.288,37,3.817,45,4.421,50,5.576,54,6.586,58,9.714,64,2.428,78,2.674,79,5.376,91,2.69,126,4.711,130,5.547,136,3.29,143,3.469,144,0.921,162,1.827,194,2.194,196,3.164,203,4.04,220,3.262,225,2.194,234,7.712,238,4.146,241,5.444,243,4.322,256,2.478,262,10.599,271,4.327,279,2.644,282,10.465,309,3.458,317,3.567,330,9.925,331,5.181,333,3.52,337,3.836,340,2.517,372,7.342,396,5.293,404,7.239,407,4.711,408,8.548,484,4.806,495,3.586,564,4.541,568,4.322,570,4.146,571,4.882,573,2.839,594,6.263,618,5.457,620,5.642,671,3.164,673,5.181,676,2.912,753,4.146,754,4.327,761,3.811,848,8.032,1142,4.327,1292,5.293,1347,4.146,1461,7.979,1476,3.991,1478,4.91,1479,4.91,1505,5.293,1543,4.297,1778,10.458,1862,4.711,1902,4.91,1964,4.327,1997,5.876,2117,5.293,2319,6.872,2330,5.293,2349,6.547,2352,8.681,2433,4.91,2454,5.151,2505,13.866,2507,5.647,2568,4.806,2595,14.423,2596,7.129,2597,5.647,2598,7.129,2599,6.547,2600,11.323,2601,11.323,2602,7.129,2603,6.547,2604,7.129,2605,5.876]],["keywords/257",[]],["title/258",[208,308.456]],["content/258",[]],["keywords/258",[]],["title/259",[136,228.606,208,197.97,278,447.9]],["content/259",[1,3.552,5,1.842,18,2.855,37,4.001,45,1.564,48,5.749,49,3.703,52,1.801,53,3.519,61,8.113,75,5.431,80,4.593,84,2.464,97,3.195,102,2.34,130,2.617,136,4.667,137,2.603,143,2.319,144,0.978,156,4.907,162,1.915,181,6.784,192,1.531,203,4.289,208,4.184,214,3.843,221,3.67,222,4.526,223,9.523,236,5.333,240,2.564,241,3.638,259,6.548,265,4.815,272,6.813,273,3.071,277,3.116,278,6.701,280,4.74,281,5.792,296,3.843,307,4.186,318,1.652,325,6.813,331,3.463,332,4.186,333,3.737,349,2.384,351,3.961,352,2.028,358,4.509,359,5.97,361,4.462,376,5.033,421,9.783,447,2.823,540,4.74,554,3.881,562,5.101,624,4.186,625,6.277,626,7.561,627,5.467,628,3.384,643,3.41,646,2.839,661,4.907,720,8.001,722,9.676,750,3.463,752,3.638,802,5.792,813,3.334,819,4.137,836,4.593,848,5.117,875,3.807,877,5,1067,4.091,1189,5.101,1253,3.607,1293,6.149,1358,4.401,1588,4.344,1703,6.237,1736,13.134,1774,4.289,1786,5.994,1844,6.949,1876,5.101,1906,6.542,2114,6.949,2115,6.949,2116,6.237,2117,5.619,2118,6.542,2121,5.619,2122,6.542,2123,5,2124,5.619,2192,6.542,2193,13.447,2194,10.26,2356,3.49,2606,11.869,2607,7.568,2608,7.568,2609,6.542,2610,7.568,2611,7.568,2612,7.568]],["keywords/259",[]],["title/260",[358,298.523,930,578.268]],["content/260",[5,2.923,7,3.967,45,2.959,48,5.687,75,6.552,102,4.427,136,3.344,152,5.137,168,9.86,207,7.827,265,4.708,266,10.344,277,4.942,309,6.944,313,13.147,317,4.51,321,6.402,358,4.715,370,11.606,373,9.214,374,7.572,375,6.13,376,4.001,377,9.651,378,7.202,382,13.27,386,13.147,930,6.944,1067,7.739,1204,5.925,1222,9.86,1358,8.327,1935,8.442,2059,10.809,2544,11.341,2613,14.318,2614,14.318,2615,13.147]],["keywords/260",[]],["title/261",[196,434.419,358,245.059,375,419.053]],["content/261",[1,3.061,5,2.409,37,5.232,48,4.195,84,5.055,102,4.799,196,9.708,265,5.104,277,4.655,323,9.887,325,8.909,340,5.481,358,5.771,370,9.566,373,7.595,375,10.199,447,5.79,614,8.041,646,5.823,695,8.485,791,10.689,876,16.355,1293,8.041,2356,7.159,2487,10.463,2616,13.417]],["keywords/261",[]],["title/262",[358,298.523,647,675.723]],["content/262",[1,3.307,5,2.602,48,5.209,52,2.87,61,5.9,96,7.318,102,3.728,126,7.967,138,4.714,143,3.694,188,6.749,197,4.801,208,3.898,211,8.303,217,3.889,221,5.848,265,3.965,271,7.318,277,2.566,278,8.819,324,7.211,333,5.953,336,4.772,358,6.167,373,8.203,374,6.377,375,5.162,376,4.685,437,6.311,543,7.681,614,8.685,646,7.23,647,13.434,741,7.552,848,5.199,1316,7.681,1352,7.681,1505,8.953,1526,7.819,1911,8.711,2375,9.938,2429,9.938,2617,12.058,2618,12.058,2619,5.9,2620,9.229,2621,10.423,2622,12.058,2623,10.423]],["keywords/262",[]],["title/263",[224,419.379,277,176.654,813,365.724]],["content/263",[1,3.703,7,4.82,31,6.144,45,1.71,46,3.494,48,4.188,49,7.583,50,2.876,51,3.002,52,1.97,53,3.847,62,4.354,70,8.103,79,3.158,80,5.022,84,2.695,91,3.122,97,3.494,102,2.558,121,3.786,126,5.467,130,4.399,136,1.933,137,2.846,138,3.235,144,2.002,153,3.295,181,2.937,187,3.018,192,3.134,194,2.547,208,3.797,224,7.576,265,2.721,277,4.218,285,3.14,292,5.097,317,4.007,318,3.384,336,6.133,350,1.911,358,4.701,362,3.978,379,5.578,615,4.049,625,4.376,646,6.526,647,8.782,741,5.183,744,3.911,775,5.806,813,6.827,938,9.706,1245,12.773,1347,4.812,1365,6.333,1575,5.1,1673,5.022,1709,13.651,1814,6.554,1876,5.578,2060,5.183,2375,10.485,2624,10.996,2625,10.485,2626,6.82,2627,7.598,2628,7.153,2629,10.996,2630,17.395,2631,5.978,2632,7.598,2633,8.274,2634,6.82,2635,8.274,2636,8.274,2637,8.274,2638,8.274,2639,15.037,2640,12.721,2641,8.274,2642,12.721,2643,8.274,2644,8.274]],["keywords/263",[]],["title/264",[208,308.456]],["content/264",[35,3.006,45,3.764,48,3.679,52,3.241,137,4.683,140,1.81,144,1.759,146,8.681,151,5.29,160,4.091,161,6.23,162,2.938,163,6.722,164,4.32,165,7.2,166,7.918,167,6.848,168,9.375,169,9.593,170,9.177,171,8.527,172,11.093,173,5.869,175,7.814,176,7.715,177,7.918,178,7.918,179,6.784,180,3.954,186,3.853,208,4.754,243,5.197,244,5.197,246,11.221,265,4.477,277,5.002,304,11.768,404,5.29,2645,12.501]],["keywords/264",[]],["title/265",[208,241.161,642,594.176]],["content/265",[138,9.103,143,7.134,208,4.083]],["keywords/265",[]],["title/266",[358,381.825]],["content/266",[5,2.195,7,2.638,18,3.591,48,5.048,51,3.453,52,4.446,83,5.265,137,3.275,140,1.88,144,1.23,146,4.537,151,5.495,155,4.882,160,3.364,162,1.536,164,3.932,167,4.788,172,10.096,173,7.275,175,5.464,176,8.015,177,5.536,178,5.536,179,4.743,180,4.107,181,5.02,186,2.694,208,4.23,213,5.089,214,7.183,217,4.561,223,4.743,265,3.13,270,7.286,277,4.451,279,3.531,340,3.361,358,5.791,373,10.885,374,11.062,375,7.224,376,4.715,624,5.265,625,5.034,630,5.777,643,4.289,644,6.708,645,8.716,646,7.488,647,11.311,648,5.777,649,4.882,654,6.29,1296,7.286,1299,7.068,2530,6.877,2646,7.068,2647,7.846,2648,8.228,2649,8.741]],["keywords/266",[]],["title/267",[358,298.523,642,594.176]],["content/267",[5,1.775,7,2.28,11,2.015,35,0.403,37,1.155,40,7.178,48,0.926,49,2.981,51,2.984,52,5.269,62,3.913,64,4.313,75,2.214,79,1.308,84,1.575,88,1.976,90,1.356,91,1.825,93,5.666,97,0.771,102,1.884,103,1.184,105,2.359,108,3.081,112,1.707,130,0.632,131,1.126,136,1.423,137,1.179,138,2.821,139,1.993,140,2.053,141,1.437,143,1.05,144,2.042,151,1.88,152,0.655,153,1.364,155,0.937,158,7.411,160,2.919,162,1.948,163,0.902,164,3.532,165,0.966,167,0.919,173,0.788,180,3.838,181,3.246,183,2.457,185,2.955,186,2.823,189,0.727,192,2.017,194,3.07,196,0.811,197,2.873,198,0.919,201,2.586,202,2.505,204,1.223,208,3.394,211,4.196,214,3.094,216,1.506,217,1.965,219,1.736,223,0.91,224,0.601,227,0.476,232,1.707,240,1.161,241,1.647,242,2.741,252,2.268,256,0.635,257,1.32,258,1.062,259,1.532,263,2.544,265,4.513,268,1.092,273,2.928,275,1.01,277,2.569,279,2.26,280,2.146,285,0.693,296,3.094,309,0.886,318,2.178,320,4.38,321,0.817,323,1.164,327,1.01,329,3.858,330,2.414,331,0.836,333,1.691,337,2.064,338,0.966,340,1.21,345,0.956,349,3.142,350,1.407,358,4.342,361,1.077,373,4.881,374,2.558,375,2.071,376,1.352,378,0.919,392,1.287,398,1.207,404,0.71,423,6.681,425,1.077,432,4.785,434,0.817,436,0.836,446,4.062,447,1.278,508,1.164,540,1.144,563,0.966,568,3.141,615,1.676,624,1.01,625,0.966,643,0.823,646,2.286,653,1.062,656,2.714,657,2.714,658,1.287,659,1.579,660,1.579,661,1.184,662,1.506,663,1.579,664,2.961,665,2.961,666,2.475,667,1.579,668,1.579,669,1.231,670,5.358,671,2.147,672,2.146,673,1.568,674,1.035,675,1.941,676,0.746,677,0.999,678,1.447,679,1.258,680,1.579,681,4.524,682,1.447,683,1.398,684,1.579,685,1.32,686,1.775,687,1.579,688,1.579,689,2.622,690,1.579,691,1.579,692,1.447,693,5.181,694,1.579,695,1.873,696,2.079,697,0.928,698,5.796,700,0.756,708,1.579,709,2.359,710,1.579,711,1.356,712,1.231,713,6.517,714,1.579,715,1.447,716,1.398,717,1.895,722,1.207,724,3.63,725,2.741,726,1.447,727,1.579,728,2.961,731,2.961,732,5.267,735,2.714,737,2.961,741,11.18,742,2.704,743,1.184,744,6.246,745,1.398,746,3.293,747,1.579,748,7.029,750,3.302,752,0.878,758,1.532,759,1.506,760,1.506,761,0.977,762,4.181,763,2.961,764,2.544,765,2.475,766,1.579,767,1.447,768,3.37,769,1.579,770,1.398,771,5.022,772,1.579,773,1.579,774,2.182,775,2.408,776,2.961,777,1.579,778,1.579,779,1.356,780,1.506,781,1.579,782,1.579,783,1.579,785,9.564,786,1.579,787,5.267,788,2.961,789,5.965,790,1.74,791,2.359,792,2.475,793,2.961,794,2.622,795,2.724,796,4.663,797,2.264,799,3.987,800,1.579,801,3.832,802,2.622,803,3.293,804,1.506,805,1.579,806,2.852,807,1.579,808,2.558,809,1.022,810,1.579,812,0.999,813,0.805,814,1.506,815,1.398,816,1.579,817,1.447,818,1.32,819,0.999,821,1.207,822,1.022,823,1.164,824,1.356,825,1.022,826,1.447,827,2.961,829,1.579,830,2.264,831,1.579,832,1.506,840,6.616,918,2.741,1031,1.109,1072,1.356,1146,0.894,1264,7.393,1297,0.871,1360,6.297,1501,3.497,1543,1.836,1591,2.929,1606,1.852,1911,1.32,1922,1.447,2059,1.048,2107,1.677,2162,3.453,2310,1.447,2373,4.181,2375,5.948,2388,4.826,2389,1.579,2390,2.622,2482,3.991,2593,2.544,2650,1.447,2651,5.798,2652,5.881,2653,1.827,2654,4.524,2655,6.092,2656,3.146,2657,6.092,2658,4.442,2659,5.595,2660,1.827,2661,1.398,2662,1.677,2663,1.827,2664,1.827,2665,1.827,2666,1.827,2667,1.677,2668,1.677,2669,1.827,2670,7.112,2671,7.112,2672,3.426,2673,3.426,2674,3.881,2675,3.146,2676,3.426,2677,1.579,2678,2.961,2679,1.827,2680,1.827,2681,1.827]],["keywords/267",[]],["title/268",[211,1050.255]],["content/268",[5,1.696,7,3.028,18,4.123,48,4.937,51,3.964,52,4.747,83,6.044,137,3.759,140,2.079,144,1.412,146,5.209,151,6.077,160,3.642,162,1.763,164,3.845,167,5.497,172,10.778,173,6.743,175,6.272,176,8.863,177,6.355,178,6.355,179,5.445,180,4.542,181,5.552,186,3.093,208,4.268,211,7.525,213,5.842,214,7.943,217,3.525,223,5.445,265,3.593,270,8.364,277,4.243,279,4.053,340,3.859,358,5.496,373,9.757,374,8.272,375,7.82,376,5.104,624,6.044,625,5.779,630,6.632,643,4.923,645,6.735,646,5.867,647,10.351,648,6.632,649,5.604,654,7.22,1299,8.113,2530,7.895,2646,8.113,2647,9.007]],["keywords/268",[]],["title/269",[2544,1208.042]],["content/269",[5,1.465,18,3.561,48,4.537,51,3.424,52,4.963,83,5.22,91,3.561,102,2.918,137,3.247,140,1.255,144,1.219,146,4.499,151,5.461,160,3.347,162,1.522,164,4.186,167,7.069,172,10.054,173,7.239,175,5.417,176,7.964,177,5.489,178,5.489,179,4.703,180,4.081,181,4.989,186,2.671,208,4.488,213,5.045,214,7.137,217,4.533,219,3.386,223,4.703,265,4.621,277,4.912,279,3.5,302,4.499,340,3.333,358,5.556,370,5.817,373,9.731,374,9.837,375,6.016,376,3.927,447,3.52,624,5.22,625,4.991,630,5.728,643,4.252,644,6.65,645,8.661,648,5.728,649,4.84,654,6.236,930,6.815,1162,5.564,1222,6.499,1299,7.007,1350,8.158,2059,5.417,2530,6.818,2544,11.131,2547,8.666,2548,8.666,2646,7.007,2647,7.779,2648,8.158,2682,7.476,2683,6.236]],["keywords/269",[]],["title/270",[266,1101.818]],["content/270",[5,1.705,18,4.143,48,4.242,51,3.984,52,5.234,83,6.074,137,3.778,140,1.46,144,1.419,146,5.235,151,6.099,160,3.652,162,1.772,164,4.206,167,7.895,172,10.802,173,6.767,175,6.303,176,8.895,177,6.387,178,6.387,179,5.472,180,4.558,181,5.572,186,3.108,208,4.578,213,5.871,214,7.971,217,3.542,219,3.94,223,5.472,265,3.611,266,7.934,277,4.499,279,4.073,340,3.878,358,5.667,370,6.768,373,7.68,374,5.808,375,6.72,376,4.386,624,6.074,625,5.808,630,6.665,643,4.948,645,6.768,648,6.665,649,5.632,654,7.256,930,7.612,1299,8.154,2530,7.934,2646,8.154,2647,9.051,2683,7.256]],["keywords/270",[]],["title/271",[2684,1400.437]],["content/271",[5,2.275,18,3.77,48,4.691,51,3.624,52,4.552,78,5.498,137,3.437,140,1.328,144,1.291,146,4.762,151,5.695,155,5.124,160,3.461,162,1.612,164,4.286,167,5.026,172,9.383,173,7.484,174,4.683,175,5.735,176,5.662,177,5.811,178,5.811,179,4.979,180,4.257,181,3.547,186,2.828,208,3.511,214,5.074,217,4.727,223,4.979,265,3.286,277,4.529,340,3.528,358,5.648,373,11.038,374,10.77,375,8.187,376,4.096,624,5.526,625,7.752,630,6.064,643,4.502,644,7.04,645,9.034,646,3.748,647,8.306,648,6.064,649,5.124,725,5.662,795,4.468,1039,7.218,1418,6.735,1714,11.394,2147,8.235,2149,8.235,2646,7.418,2684,9.174,2685,9.174]],["keywords/271",[]],["title/272",[2686,1400.437]],["content/272",[5,1.73,18,4.206,48,4.991,51,4.044,52,4.79,78,5.951,137,3.835,140,1.482,144,1.44,146,5.314,151,6.164,160,3.682,162,1.798,164,4.235,167,5.607,172,9.983,173,6.84,174,5.225,175,6.398,176,6.317,177,6.483,178,6.483,179,5.555,180,4.607,181,3.957,186,3.155,208,3.209,214,5.661,217,3.595,223,5.555,265,3.666,277,4.282,340,3.936,358,5.532,373,9.845,374,5.896,375,8.614,376,4.433,624,6.165,625,8.39,630,6.766,643,5.023,645,6.871,647,6.317,648,6.766,649,5.717,725,6.317,795,4.985,1039,8.054,1714,11.778,2147,9.188,2149,9.188,2646,8.277,2685,10.236,2686,10.236]],["keywords/272",[]],["title/273",[2687,1318.333]],["content/273",[5,3.176,45,2.797,52,3.221,89,5.753,139,1.965,140,1.799,144,1.748,157,6.343,158,7.178,160,2.698,162,2.183,164,2.848,186,3.829,197,5.388,208,3.668,224,4.449,232,6.742,243,5.165,244,5.165,265,4.449,277,2.879,350,3.124,358,5.122,360,11.696,361,10.694,596,9.318,614,7.009,673,6.191,704,9.121,724,6.806,752,6.505,842,9.534,848,7.82,852,6.343,855,8.58,1536,10.356,1543,5.135,1935,7.978,2152,9.534,2388,14.367,2390,13.882,2619,6.62,2687,11.696,2688,14.949,2689,16.655]],["keywords/273",[]],["title/274",[2690,1400.437]],["content/274",[5,2.312,48,4.026,140,1.98,144,1.925,160,2.97,162,2.403,164,3.135,186,4.216,208,3.013,243,5.686,244,5.686,265,6.355,277,4.564,278,8.842,290,8.338,358,6.142,360,12.876,404,7.509,682,11.799,686,7.716,754,9.04,848,6.422,1300,9.329,1337,8.441,2155,11.726,2156,13.678,2157,13.678,2688,15.927,2690,13.678,2691,13.678]],["keywords/274",[]],["title/275",[670,1132.359]],["content/275",[5,2.237,48,5.111,49,10.966,51,5.227,52,4.502,64,4.907,79,5.501,88,5.886,91,5.437,136,3.366,140,1.916,144,2.444,160,2.873,162,3.405,164,3.033,180,4.185,185,6.989,186,4.078,197,5.738,202,5.924,208,2.915,275,7.97,277,3.067,447,7.054,670,16.64,671,6.396,672,11.845,673,6.594,674,8.167,675,8.167,676,5.886,677,7.878,678,11.415,2160,13.233,2161,12.457,2692,14.411]],["keywords/275",[]],["title/276",[1914,1318.333]],["content/276",[84,4.603,136,4.361,140,1.879,144,2.413,153,7.435,160,2.818,162,3.373,164,3.93,180,4.105,192,3.777,196,6.273,202,5.811,224,4.648,265,4.648,277,3.008,280,8.853,318,4.077,329,7.557,330,9.96,331,6.468,673,6.468,693,8.01,742,6.273,744,9.883,758,6.32,764,10.495,813,6.227,1287,6.738,1914,20.943,2619,9.136,2693,14.135,2694,18.672,2695,14.135,2696,14.135]],["keywords/276",[]],["title/277",[2697,1525.086]],["content/277",[48,4.687,93,11.944,103,11.247,108,11.048,194,5.338,208,4.302,259,7.756,265,6.995,277,4.896,290,9.709,302,8.267,337,5.876,375,7.426,648,10.527,649,8.895,693,9.829,813,7.641,1729,13.275,2698,15.927]],["keywords/277",[]],["title/278",[847,1167.278]],["content/278",[9,6.901,79,6.324,150,7.298,208,4.774,209,7.464,277,4.797,320,10.054,337,5.613,346,14.938,352,6.042,353,7.043,355,12.365,359,8.333,640,12.679,813,7.298,848,7.142,1279,11.674,2158,13.654,2159,15.212,2631,11.968]],["keywords/278",[]],["title/279",[2163,1257.008]],["content/279",[5,3.136,52,4.81,62,6.915,75,9.246,140,2.123,160,3.184,162,3.259,164,3.361,187,5.825,209,7.195,220,7.307,265,6.644,277,4.3,350,3.688,685,11.537,744,11.011,1445,13.804,2163,16.653,2164,14.664,2165,14.664,2166,14.664,2167,14.664,2168,14.664]],["keywords/279",[]],["title/280",[2699,1525.086]],["content/280",[39,9.745,78,6.61,108,11.224,138,6.888,197,7.016,277,4.93,345,11.241,358,5.801,621,9.524,681,17.908,1162,10.389,1300,11.036,2700,17.62]],["keywords/280",[]],["title/281",[2176,1167.278]],["content/281",[5,3.451,189,7.43,277,5.054,278,8.538,358,4.672,382,13.149,653,10.852,692,14.78,1358,10.852,2176,14.281,2177,17.134]],["keywords/281",[]],["title/282",[2688,1257.008]],["content/282",[5,2.748,45,2.698,50,4.537,136,3.048,139,1.895,140,1.735,144,1.686,158,7.006,160,2.602,161,5.973,162,3.475,163,6.444,164,3.726,186,3.694,208,4.554,232,6.504,243,4.982,244,4.982,265,5.821,273,5.297,277,4.584,278,5.973,350,3.014,358,4.432,361,10.437,564,8.314,614,6.761,621,7.055,724,6.566,842,9.197,848,8.661,852,6.118,855,7.424,929,8.624,1543,4.953,2152,9.197,2388,14.022,2390,13.549,2619,6.386,2687,15.302,2688,10.758,2689,16.255]],["keywords/282",[]],["title/283",[2701,1318.333]],["content/283",[5,1.968,13,7.941,37,4.274,140,1.686,144,2.243,157,5.943,158,8.422,160,2.528,162,2.8,164,2.669,208,2.564,240,4.295,241,8.344,265,4.169,352,4.652,353,7.379,358,5.58,583,8.547,717,12.73,724,11.854,752,6.095,819,6.931,1407,10.45,1935,7.475,2175,12.539,2459,13.117,2702,14.305,2703,12.679,2704,12.679,2705,17.356,2706,12.679,2707,19.789,2708,17.356,2709,12.679]],["keywords/283",[]],["title/284",[2710,1400.437]],["content/284",[45,2.867,50,4.821,88,5.665,136,3.239,140,1.844,144,1.792,158,5.489,160,2.765,161,6.347,162,3.89,164,4.36,186,3.925,208,3.729,243,7.907,244,7.907,265,4.561,273,7.483,277,3.924,338,7.335,340,4.897,358,5.186,564,8.835,614,7.185,819,7.582,1379,10.615,2459,10.08,2619,6.786,2620,10.615,2621,11.989,2701,15.939,2702,11.431,2710,19.021,2711,13.869,2712,13.869]],["keywords/284",[]],["title/285",[136,278.481,144,154.065]],["content/285",[4,3.711,29,2.726,35,1.549,40,3.976,45,1.45,48,1.896,84,2.285,136,1.639,137,2.414,139,2.818,144,0.907,146,3.344,157,3.289,164,1.477,180,2.038,181,2.491,208,1.419,213,9.282,214,11.037,219,6.638,224,4.583,230,4.925,232,6.945,234,3.373,245,5.783,259,3.137,267,6.065,268,4.196,269,16.775,270,5.37,275,3.881,277,3.383,279,2.602,305,3.976,348,8.557,358,5.622,376,1.961,383,3.635,414,5.558,423,9.447,624,3.881,625,3.711,646,8.298,647,6.336,697,3.563,725,7.898,761,3.751,819,3.836,892,5.783,1162,4.137,1238,6.065,1356,5.558,1376,5.783,1418,4.73,1587,3.751,1588,4.027,1814,11.04,1815,6.065,2134,6.443,2213,5.783,2215,6.443,2217,6.443,2218,6.065,2219,6.443,2221,6.443,2222,6.443,2223,6.065,2224,4.55,2226,6.443,2227,6.443,2228,6.065,2229,6.065,2230,6.443,2233,6.443,2235,6.065,2236,6.443,2245,6.443,2296,6.443,2544,5.558,2645,10.266,2648,6.065,2649,10.266,2651,4.944,2656,6.443,2658,10.266,2659,10.266,2713,7.016,2714,5.37,2715,6.443,2716,6.443,2717,5.21,2718,6.443,2719,7.016,2720,7.016,2721,7.016,2722,7.016,2723,7.016,2724,7.016,2725,7.016,2726,7.016,2727,7.016,2728,7.016,2729,7.016,2730,7.016,2731,5.783,2732,7.016,2733,7.016,2734,7.016,2735,7.016,2736,7.016,2737,7.016,2738,7.016,2739,11.18,2740,7.016,2741,11.18,2742,7.016,2743,7.016,2744,7.016,2745,7.016,2746,7.016,2747,7.016,2748,7.016,2749,7.016,2750,7.016,2751,7.016,2752,7.016,2753,7.016,2754,7.016]],["keywords/285",[]],["title/286",[571,657.529]],["content/286",[]],["keywords/286",[]],["title/287",[1,193.054,337,331.62,571,422.008]],["content/287",[1,4.278,9,7.459,80,10.867,119,9.094,133,11.406,143,5.486,194,5.511,224,5.888,225,5.511,337,6.066,433,11.831,571,7.72,674,10.147,761,9.572,1140,11.215,1152,12.617,1198,12.617,1591,8.608]],["keywords/287",[]],["title/288",[1,142.14,337,244.163,571,310.713,1140,451.387,1198,507.836]],["content/288",[]],["keywords/288",[]],["title/289",[569,1318.333]],["content/289",[1,1.632,5,2.406,6,4.948,7,3.525,29,3.215,36,11.849,37,2.789,46,7.345,48,3.438,52,1.97,64,2.818,75,3.786,91,3.122,93,5.698,102,4.792,117,5.831,118,5.831,119,4.202,130,2.861,136,1.933,150,3.645,182,4.689,201,4.423,219,2.969,230,3.645,256,2.876,321,3.7,332,4.576,336,3.275,350,1.911,371,4.879,407,8.406,442,5.1,483,6.144,513,4.948,544,5.183,546,5.578,563,4.376,567,5.831,571,7.5,583,5.578,620,6.339,642,6.339,645,5.1,646,4.772,651,4.948,676,3.38,750,3.786,806,4.879,924,5.022,950,5.831,1039,9.19,1054,10.92,1125,5.467,1142,10.558,1198,5.831,1202,8.285,1237,7.209,1403,6.144,1466,7.153,1474,8.964,1543,3.14,1567,9.445,1572,6.554,1693,5.467,1920,6.554,2042,10.077,2047,10.077,2053,10.996,2423,7.598,2449,5.831,2487,8.575,2503,6.333,2506,6.82,2507,6.554,2652,4.879,2755,7.598,2756,8.274,2757,6.554,2758,11.681,2759,10.996,2760,8.274,2761,11.681,2762,8.274,2763,8.274,2764,15.497,2765,10.996,2766,7.598,2767,12.721,2768,8.274,2769,7.153,2770,8.274,2771,8.274,2772,8.274,2773,8.274,2774,8.274,2775,8.274,2776,15.497,2777,8.274,2778,8.274,2779,6.554,2780,8.274,2781,8.274,2782,8.274,2783,8.274,2784,8.274,2785,8.274]],["keywords/289",[]],["title/290",[408,723.668,1169,787.86]],["content/290",[1,3.79,5,2.983,37,6.478,50,4.168,72,8.833,102,3.708,130,4.147,136,3.901,157,7.829,193,7.172,226,6.411,256,4.168,279,4.448,331,5.488,340,4.235,408,10.136,522,9.714,563,6.343,571,7.201,676,6.822,761,11.11,849,9.488,946,6.556,1021,15.336,1142,7.278,1165,11.501,1166,7.071,1169,11.036,1332,10.83,1474,8.451,1605,19.083,1606,9.028,1831,13.766,1832,13.766,2059,6.883,2786,15.336,2787,15.336,2788,16.701,2789,19.217,2790,15.336,2791,16.701,2792,16.701,2793,11.992,2794,10.366]],["keywords/290",[]],["title/291",[389,1074.677]],["content/291",[1,2.754,4,4.949,5,2.168,7,5.132,18,3.531,19,11.061,29,3.636,35,3.083,36,4.753,37,4.707,52,2.228,67,5.116,72,4.949,79,5.33,102,4.318,112,4.663,118,9.84,130,3.236,131,5.768,136,4.628,141,5.856,143,2.867,144,1.209,159,5.116,162,1.51,182,5.303,196,8.221,220,4.282,221,6.772,236,6.594,248,4.848,285,3.551,290,5.238,294,6.761,307,7.723,336,3.703,337,3.17,352,2.508,387,14.713,389,13.052,404,3.636,408,5.68,425,5.517,428,8.746,437,4.898,447,3.491,476,5.517,528,7.413,533,7.162,544,5.861,554,4.799,571,4.035,588,8.593,594,9.239,595,12.071,614,4.848,676,5.704,894,9.616,1054,7.385,1152,6.594,1153,8.089,1165,6.444,1362,5.68,1386,5.443,1478,6.444,1505,6.948,1606,10.012,1674,6.948,2062,7.413,2488,6.948,2603,8.593,2795,8.089,2796,9.358,2797,13.964,2798,9.358,2799,9.358,2800,6.948,2801,9.358,2802,9.358,2803,9.358,2804,9.358,2805,9.358,2806,9.358,2807,9.358,2808,9.358,2809,9.358,2810,8.593,2811,8.593,2812,13.964,2813,9.358,2814,9.358,2815,9.358]],["keywords/291",[]],["title/292",[225,469.396]],["content/292",[5,1.265,35,3.811,36,10.771,37,4.24,64,4.283,80,10.475,83,4.509,91,4.745,102,2.521,129,6.956,130,2.819,131,5.025,136,3.586,139,2.982,143,2.498,144,1.625,173,3.515,183,7.798,186,3.559,220,3.731,225,7.427,226,4.358,248,4.223,252,3.822,256,5.999,273,5.104,279,3.024,284,4.267,331,3.731,333,4.025,337,6.318,350,1.883,351,6.582,352,2.185,407,5.387,408,4.948,409,6.24,447,3.041,522,10.038,570,4.742,571,3.515,583,5.496,594,8.492,673,3.731,674,4.62,752,3.919,761,8.208,836,7.633,852,5.895,1032,5.745,1054,6.652,1106,7.486,1143,5.745,1167,5.614,1169,5.387,1205,10.145,1253,7.319,1279,5.745,1332,8.155,1476,4.563,1543,3.094,1573,6.719,1614,5.106,1625,7.047,1686,9.086,1932,6.719,2038,12.655,2123,5.387,2319,11.96,2419,6.053,2449,10.819,2506,6.719,2524,11.549,2816,8.153,2817,8.153,2818,8.153,2819,8.153,2820,8.153,2821,8.153,2822,8.153,2823,8.153,2824,8.153,2825,8.153,2826,7.486,2827,9.626,2828,8.153]],["keywords/292",[]],["title/293",[46,643.969]],["content/293",[7,5.446,46,8.298,66,12.112,67,10.744,580,12.985,1146,9.616,1187,16.198,1924,15.567]],["keywords/293",[]],["title/294",[592,723.668,952,578.268]],["content/294",[256,7.148,284,10.763,753,11.96]],["keywords/294",[]],["title/295",[2829,1525.086]],["content/295",[89,8.21,117,13.607,118,13.607,119,9.807,129,10.68,130,6.677,131,11.901,132,13.607,133,12.301,135,11.548]],["keywords/295",[]],["title/296",[152,427.848,1386,693.483]],["content/296",[]],["keywords/296",[]],["title/297",[2830,1525.086]],["content/297",[1,4.473,4,8.88,5,2.887,8,7.223,9,7.749,11,3.932,13,5.911,35,4.603,37,4.737,45,3.844,46,5.934,50,5.836,53,4.388,54,5.489,59,6.191,60,5.897,61,4.618,78,3.54,79,3.603,88,5.74,107,6.65,112,7.003,124,4.939,125,6.012,136,5.044,143,2.892,156,6.12,162,1.522,187,3.442,192,2.842,197,3.758,208,4.217,209,4.252,242,5.348,265,4.621,273,3.83,277,4.437,285,3.582,305,5.348,314,5.911,316,6.362,317,5.859,321,4.22,352,2.53,402,7.476,434,4.22,538,7.223,563,4.991,671,4.189,700,5.815,744,4.461,789,5.644,813,6.191,823,10.695,1193,7.007,1194,6.012,1198,6.65,1223,7.007,1270,7.476,1443,6.12,1503,11.582,1551,5.728,1673,5.728,2321,7.779,2330,7.007,2352,5.817,2488,7.007,2831,9.438,2832,9.438,2833,14.053]],["keywords/297",[]],["title/298",[28,599.745,2834,584.972,2835,684.219,2836,762.291]],["content/298",[1,4.33,5,1.304,6,5.023,8,9.85,9,8.308,12,7.261,13,5.261,14,7.261,28,9.297,29,5.001,30,5.919,31,6.237,32,6.654,33,7.215,34,7.261,35,3.454,36,6.536,37,6.372,38,4.491,39,4.646,40,4.76,41,4.308,42,5.098,43,5.55,44,5.447,45,3.907,46,8.421,47,5.351,48,5.61,49,6.297,50,6.094,51,3.047,52,2,53,3.906,54,7.485,55,7.293,56,8.345,57,5.919,58,3.674,59,5.669,60,5.495,61,4.11,62,2.875,63,5.261,64,2.86,65,8.503,66,5.177,67,4.592,68,6.237,69,7.696,70,5.351,71,5.023,72,4.443,73,7.261,79,4.912,110,5.261,143,2.574,144,1.085,187,3.064,208,2.603,220,3.844,259,3.756,285,3.188,296,4.266,317,4.927,351,4.396,402,6.654,446,4.147,545,5.098,570,4.885,615,4.11,671,3.728,673,3.844,751,8.198,1193,6.237,1194,5.351,1224,8.503,1242,4.54,1270,6.654,1364,6.923,1443,5.447,1793,9.068,1890,7.261,1895,7.713,1912,5.785,1916,5.919,1920,6.654,2836,7.713,2837,7.713,2838,8.4,2839,8.4,2840,8.4,2841,8.4,2842,8.4,2843,7.261,2844,8.4,2845,7.713,2846,8.4,2847,8.4,2848,8.4]],["keywords/298",[]],["title/299",[152,427.848,2834,840.217]],["content/299",[1,5.001,9,3.581,11,3.581,29,3.34,32,6.809,35,2.892,36,4.365,45,2.707,46,5.53,56,5.574,60,7.35,64,4.46,66,8.072,67,7.16,102,2.658,112,4.283,135,5.14,152,3.084,158,3.402,160,1.714,165,4.546,174,4.029,183,4.365,208,3.863,219,4.7,224,6.618,225,4.031,230,3.787,232,4.283,234,4.132,256,2.988,268,5.14,277,3.776,285,3.262,317,4.125,336,3.402,395,11.322,552,6.382,573,5.215,686,6.785,697,4.365,795,3.843,812,4.699,813,7.817,930,4.169,1037,7.893,1149,5.475,1157,6.382,1214,4.811,1282,12.503,1391,5.475,1439,6.057,1456,6.579,1526,5.574,1552,6.21,1591,4.132,1715,7.43,1774,7.422,1812,13.078,2124,6.382,2368,6.382,2426,10.024,2437,7.893,2661,6.579,2731,7.085,2849,5.574,2850,14.354,2851,8.595,2852,17.538,2853,8.595,2854,13.097,2855,8.595,2856,8.595]],["keywords/299",[]],["title/300",[152,427.848,1027,573.248]],["content/300",[1,4.561,5,1.579,7,4.861,11,4.239,29,3.954,35,4.259,45,2.103,46,8.145,51,5.388,52,2.422,55,10.931,60,5.217,75,6.797,158,5.878,160,2.028,194,6.979,208,3.901,219,3.651,230,4.482,232,5.07,234,4.892,256,5.163,277,4.105,296,5.167,317,4.679,352,6.078,358,2.547,628,4.55,697,5.167,700,4.211,855,4.267,930,4.934,1027,11.949,1149,6.481,1195,8.029,1214,5.695,1266,10.545,1793,10.467,2849,6.598,2850,14.201,2857,10.175]],["keywords/300",[]],["title/301",[35,216.104,208,197.97,434,437.682]],["content/301",[1,1.375,7,3.846,11,2.905,29,2.709,35,5.175,45,2.299,46,6.689,48,3.006,51,2.529,60,2.449,62,5.422,158,4.402,160,1.39,187,2.543,194,4.272,208,4.816,219,2.502,224,4.564,230,3.072,232,3.474,234,3.352,248,3.612,268,4.17,277,4.771,285,2.646,296,3.541,305,3.951,317,4.99,322,7.798,349,6.332,359,5.596,434,10.026,571,3.006,573,2.776,631,8.514,632,10.017,673,3.19,697,3.541,795,3.118,809,3.903,813,4.901,855,2.924,930,3.381,1041,5.527,1149,4.441,1195,8.562,1214,3.903,1266,8.66,1275,7.839,1439,4.913,1587,5.947,1588,7.966,1666,7.682,1708,5.037,1715,18.753,1774,12.294,1819,7.839,1964,8.423,2834,4.913,2849,4.521,2850,13.831,2852,10.215,2858,6.972,2859,7.35,2860,5.523]],["keywords/301",[]],["title/302",[158,471.87,1031,723.668]],["content/302",[11,4.486,29,4.184,40,6.102,50,6.884,51,5.614,60,5.436,72,8.185,74,6.027,97,8.363,158,9.721,160,2.147,208,4.657,219,3.864,230,4.744,232,5.366,234,5.177,256,3.743,284,5.636,285,6.875,345,8.1,349,6.609,351,5.636,628,10.297,632,5.366,775,3.594,849,7.641,930,5.222,1031,13.976,1041,4.288,1214,6.027,1377,6.535,1774,8.771,2661,8.242,2662,9.888,2849,6.982,2850,13.681,2861,9.308,2862,10.768,2863,20.98,2864,9.888,2865,10.768]],["keywords/302",[]],["title/303",[35,263.251,347,803.767]],["content/303",[11,2.418,18,2.19,29,2.255,35,5.606,38,3.102,41,6.279,45,3.252,52,4.267,64,4.169,74,3.248,78,2.177,94,5.651,97,4.047,121,2.656,124,3.037,125,3.697,140,2.661,142,2.919,150,4.222,152,3.439,153,3.816,160,1.157,162,2.733,174,4.493,187,5.185,194,4.375,219,2.082,230,2.557,232,2.892,234,2.79,240,1.966,268,3.47,277,2.039,285,2.202,317,1.828,345,8.867,347,14.397,349,4.956,351,3.037,355,3.47,383,6.342,423,8.623,428,3.635,447,2.165,649,4.915,661,6.215,673,7.2,697,2.947,700,9.11,720,3.912,749,9.151,750,4.386,795,2.595,803,6.617,809,3.248,855,8.395,930,2.814,1041,2.311,1046,4.442,1149,3.697,1175,3.173,1214,3.248,1237,3.289,1282,11.939,1391,3.697,1439,4.089,1456,4.442,1587,10.972,1666,2.814,1964,5.817,2082,2.743,2162,5.431,2428,5.016,2593,7.116,2849,3.763,2850,13.133,2859,3.835,2866,4.783,2867,5.803,2868,5.803,2869,4.597,2870,5.329,2871,5.803,2872,5.803,2873,5.803,2874,5.803,2875,5.329,2876,4.597,2877,5.016,2878,5.803,2879,9.055,2880,9.584]],["keywords/303",[]],["title/304",[352,319.604,353,506.944]],["content/304",[1,0.869,3,10.67,5,1.179,7,1.221,9,1.836,11,8.562,18,0.904,20,1.341,21,2.331,29,0.931,35,1.677,41,5.135,46,1.012,51,1.599,59,2.696,60,4.947,64,3.75,65,1.583,69,2.636,78,0.899,79,0.914,84,0.78,85,1.779,102,1.363,112,2.196,117,3.106,121,1.096,124,1.254,130,3.808,136,0.559,138,0.936,141,6.79,144,0.31,150,7.132,152,0.86,157,1.123,160,0.478,163,1.183,166,1.393,168,3.035,173,1.9,174,1.123,183,6.82,187,3.652,192,0.485,194,2.734,196,1.063,197,0.954,202,2.516,208,0.485,209,1.079,213,1.281,219,0.86,220,2.801,221,1.162,224,1.449,225,1.356,227,1.594,230,1.055,232,1.194,234,1.152,240,3.392,242,1.358,255,2.675,256,2.127,268,1.433,271,1.454,284,1.254,285,7.169,296,1.217,302,5.249,317,0.755,321,2.737,326,1.476,327,4.202,336,0.948,340,0.846,345,1.254,352,6.579,353,9.265,379,2.971,383,8.387,404,0.931,425,1.412,428,1.5,432,1.393,434,1.071,447,2.283,476,1.412,494,3.385,542,1.31,544,4.758,552,5.641,554,1.229,573,2.437,583,1.615,591,1.898,592,2.675,614,1.241,615,2.156,618,1.834,621,6.868,697,1.217,700,0.991,725,1.358,742,1.063,750,1.096,751,1.526,795,1.071,809,1.341,812,4.856,825,3.426,842,4.313,849,2.176,852,2.066,855,6.157,874,3.717,930,1.162,952,1.162,1027,1.152,1029,1.834,1041,0.954,1067,4.801,1072,1.779,1113,1.526,1118,7.584,1125,4.044,1149,1.526,1152,5.353,1175,1.31,1177,3.899,1203,2.912,1214,1.341,1215,1.553,1253,4.773,1266,2.409,1282,10.729,1287,10.587,1297,1.142,1334,1.615,1340,3.56,1345,1.834,1358,1.393,1376,1.974,1386,1.393,1388,2.912,1405,4.758,1436,2.2,1439,1.688,1472,2.2,1554,1.553,1556,2.912,1581,2.2,1587,1.281,1588,1.375,1591,2.942,1663,1.688,1666,1.162,1691,5.76,1774,1.358,1778,1.779,1846,3.184,1862,1.583,1912,3.035,1935,1.412,1964,2.675,2045,1.834,2082,1.132,2182,5.488,2224,1.553,2353,2.071,2356,2.033,2426,1.834,2459,6.508,2526,1.526,2593,3.272,2779,1.898,2834,1.688,2835,1.974,2849,1.553,2850,13.341,2859,5.869,2869,1.898,2877,2.071,2881,2.2,2882,6.595,2883,7.293,2884,1.779,2885,2.2,2886,1.974,2887,2.396,2888,2.396,2889,2.396,2890,2.396,2891,2.071,2892,2.396,2893,2.396,2894,3.106,2895,2.396,2896,2.396,2897,2.396,2898,2.396,2899,2.2,2900,2.396,2901,2.396,2902,2.396,2903,19.433,2904,1.688,2905,2.396,2906,2.2,2907,2.2,2908,2.2,2909,4.407,2910,2.071,2911,3.81,2912,2.2,2913,2.396,2914,2.396,2915,2.396,2916,2.396,2917,1.898,2918,4.407,2919,2.2,2920,2.396,2921,2.2,2922,1.974,2923,2.396,2924,3.491,2925,1.731,2926,2.396,2927,2.396,2928,2.396,2929,6.261,2930,2.396,2931,2.396,2932,2.396,2933,2.071,2934,2.2,2935,2.396,2936,4.047,2937,2.396,2938,2.396]],["keywords/304",[]],["title/305",[277,253.734,359,599.787]],["content/305",[1,1.472,9,3.11,11,3.11,29,2.901,37,2.517,45,2.427,50,2.595,52,4.26,62,2.555,78,4.405,79,2.85,88,3.049,124,3.907,136,1.744,137,4.994,158,7.082,160,1.488,162,2.655,173,3.219,187,5.295,194,3.614,208,4.471,219,2.679,230,3.289,232,3.72,234,3.589,265,2.455,277,5.054,285,5.509,336,2.954,349,5.637,358,4.977,359,10.656,376,3.281,383,6.083,423,6.442,432,4.342,436,3.416,446,3.686,542,6.42,568,2.85,570,4.342,673,3.416,697,3.792,855,8.884,924,7.127,930,3.621,1041,4.676,1149,4.756,1175,4.081,1214,4.179,1237,4.231,1249,7.355,1282,10.229,1402,7.615,1461,5.261,1501,4.285,1543,2.833,1774,10.141,1793,5.261,2082,7.779,2426,5.714,2482,9.898,2551,6.454,2835,9.679,2849,4.841,2850,12.898,2869,9.302,2939,7.466,2940,7.466,2941,19.879,2942,6.855,2943,4.676,2944,7.466,2945,7.466,2946,14.516,2947,7.466,2948,6.855,2949,10.151,2950,7.466]],["keywords/305",[]],["title/306",[208,241.161,359,599.787]],["content/306",[11,5.106,18,4.625,48,5.254,50,4.261,64,4.174,85,9.101,136,2.863,160,2.444,167,8.53,187,4.471,194,3.773,208,5.04,219,4.398,230,5.4,232,6.108,265,4.031,272,9.733,285,4.652,349,6.124,351,6.415,359,10.553,428,10.621,460,7.439,535,8.856,573,7.742,622,8.441,628,5.481,631,9.382,671,5.44,849,6.052,855,5.141,930,5.945,1282,8.638,1462,8.263,1774,6.947,1793,11.949,1834,9.054,2109,4.943,2333,10.103,2849,7.948,2850,12.177,2951,12.258,2952,12.258,2953,16.957,2954,11.256]],["keywords/306",[]],["title/307",[208,241.161,2631,861.436]],["content/307",[11,3.526,29,3.289,48,5.625,50,6.119,51,3.07,60,5.521,67,4.627,72,6.846,84,4.215,121,3.873,136,1.977,141,3.55,153,3.37,160,1.687,187,3.087,196,6.976,208,4.877,219,3.037,224,2.783,230,3.729,232,4.218,234,4.069,256,4.499,273,6.378,285,8.35,292,3.392,321,3.785,447,3.157,628,9.307,632,4.218,695,7.076,697,4.299,752,8.463,795,3.785,849,9.365,852,7.368,855,3.55,930,4.105,1149,5.392,1214,4.738,1439,5.964,1673,5.137,1709,8.914,1740,5.062,1793,11.075,1877,6.976,2082,4.001,2526,5.392,2631,16.495,2849,5.488,2850,14.062,2859,5.593,2943,13.445,2955,8.464,2956,8.464,2957,20.813,2958,22.002]],["keywords/307",[]],["title/308",[48,322.245,1876,803.767]],["content/308",[11,4.219,29,3.936,39,9.677,45,3.06,48,6.344,50,5.146,52,3.524,60,3.557,62,3.466,72,5.357,78,3.799,79,3.866,136,3.458,137,5.093,160,2.019,208,4.141,219,3.634,230,4.462,232,5.047,234,4.869,259,4.529,273,7.101,277,3.723,285,8.382,358,4.38,376,4.137,484,9.979,558,10.695,568,3.866,621,8.002,628,7.824,849,5.001,855,8.072,930,4.912,1041,4.033,1149,6.452,1214,5.669,1476,9.794,1543,3.844,1876,15.265,2155,8.093,2287,4.912,2849,6.567,2850,13.834,2859,6.692,2954,9.3,2959,8.348,2960,8.755,2961,8.023,2962,10.128,2963,21.386,2964,10.128]],["keywords/308",[]],["title/309",[48,322.245,359,599.787]],["content/309",[5,1.757,11,4.715,16,9.329,29,4.398,48,6.502,60,5.633,112,5.64,160,2.256,187,4.128,208,4.097,219,4.061,224,3.722,230,4.986,232,5.64,234,5.441,240,3.835,256,5.574,259,7.171,277,4.311,285,8.116,349,6.995,359,11.171,376,3.163,632,10.095,752,5.441,803,6.118,821,7.479,855,4.747,875,5.693,876,9.329,930,5.489,1366,8.965,1673,6.869,1774,6.414,1793,11.3,1877,13.217,2155,8.767,2487,7.63,2849,7.339,2850,13.394,2859,7.479,2948,14.726,2965,8.177,2966,11.318,2967,20.259]],["keywords/309",[]],["title/310",[2968,1050.255]],["content/310",[1,2.073,11,4.379,29,4.085,35,4.324,64,3.58,79,4.013,96,9.232,130,5.26,160,2.096,187,3.834,194,6.668,219,3.772,230,4.631,232,5.239,234,5.054,273,7.253,305,8.62,317,3.311,327,8.413,352,5.25,358,2.632,388,18.415,404,5.91,697,5.339,746,5.682,930,5.098,1027,5.054,1041,4.186,1149,6.697,1177,9.689,1214,5.884,1287,5.011,1551,6.38,1666,5.098,1783,12.048,1798,12.537,2047,8.327,2155,10.708,2182,10.989,2849,6.817,2850,14.33,2968,16.055,2969,14.731,2970,10.513,2971,17.31,2972,10.513,2973,12.537,2974,6.479,2975,10.513]],["keywords/310",[]],["title/311",[2106,988.931]],["content/311",[1,1.936,7,4.008,9,4.088,11,4.088,20,5.493,29,3.813,33,7.924,44,6.364,50,3.411,58,10.191,79,9.3,88,4.008,160,1.957,187,3.58,194,3.021,219,3.521,220,4.491,230,4.324,232,4.89,234,4.718,273,5.87,285,8.299,317,3.091,349,3.091,363,8.483,571,8.174,612,6.049,632,7.208,697,4.984,812,5.365,852,6.781,930,4.76,1149,6.252,1166,5.786,1214,5.493,1439,6.916,1476,12.825,1550,9.38,1774,5.562,1871,9.558,2105,8.651,2106,15.109,2508,13.283,2568,6.616,2827,7.511,2849,6.364,2850,14.351,2976,9.814,2977,9.814,2978,9.814,2979,9.814,2980,13.283,2981,13.283]],["keywords/311",[]],["title/312",[1,193.054,2982,846.118,2983,634.705]],["content/312",[]],["keywords/312",[]],["title/313",[50,414.454,307,659.477]],["content/313",[1,3.342,5,2.631,11,7.06,143,5.192,144,2.19,162,2.734,219,6.081,594,9.373,622,11.67,842,11.941,1054,8.963,1143,11.941,1563,12.582,1567,12.582,2059,9.727,2605,13.967,2984,13.967,2985,16.946,2986,16.946,2987,14.649,2988,16.946,2989,16.946,2990,16.946,2991,16.946,2992,16.946,2993,16.946]],["keywords/313",[]],["title/314",[1,193.054,7,271.221,18,369.313]],["content/314",[1,3.946,567,14.099,571,9.986,2556,14.855,2994,20.007]],["keywords/314",[]],["title/315",[1,235.172,50,414.454]],["content/315",[1,3.778,36,7.464,46,6.206,50,5.109,67,8.035,84,6.239,157,6.89,208,3.875,225,5.896,252,6.89,256,6.659,337,6.49,339,8.79,433,9.711,495,11.359,522,11.142,700,6.082,882,9.362,1113,9.362,1175,8.035,1187,12.114,1253,7.006,1543,5.578,1591,9.21,1756,10.913,2059,8.436,2065,10.618,2982,12.705,2983,12.422,2995,14.698,2996,13.496,2997,14.698,2998,14.698,2999,14.698]],["keywords/315",[]],["title/316",[7,271.221,18,369.313,2983,634.705]],["content/316",[36,10.161,37,6.744,143,6.13,225,6.158,2982,17.295,2983,12.974]],["keywords/316",[]],["title/317",[1169,787.86,2983,773.178]],["content/317",[1165,13.904,1169,13.341,3000,20.19,3001,18.54,3002,20.19]],["keywords/317",[]],["title/318",[130,287.057,468,616.37,2794,717.6,2983,538.298]],["content/318",[89,8.077,139,3.592,225,6.672,436,7.529,476,9.701,496,10.779,571,7.094,620,5.849,851,9.675,1165,13.082,1486,8.48,1614,11.898,1676,18.906,1683,10.147,1856,10.779,1871,7.756,2983,7.611,3001,15.108,3003,16.453,3004,11.738,3005,11.738,3006,11.738,3007,11.738,3008,11.738,3009,11.738,3010,11.738,3011,11.738,3012,17.444,3013,19.425,3014,10.481,3015,11.738,3016,10.779,3017,11.738,3018,16.453,3019,15.108,3020,11.738,3021,11.738,3022,11.738,3023,11.738,3024,11.738,3025,16.453,3026,11.738,3027,11.738,3028,11.738]],["keywords/318",[]],["title/319",[225,301.263,620,487.762,2983,634.705]],["content/319",[1,4.078,36,11.448,46,6.995,102,5.122,139,2.406,162,2.672,225,5.099,273,6.723,482,13.122,495,8.333,620,8.255,1032,15.884,1451,13.122,1576,14.32,1679,15.212,2504,13.122,2983,15.306,3029,16.566,3030,16.566,3031,16.566,3032,16.566]],["keywords/319",[]],["title/320",[1,125.581,58,278.472,130,220.172,317,200.56,2983,412.874,3033,584.676]],["content/320",[1,2.481,35,1.8,38,4.358,45,4.384,58,9.72,64,2.776,74,4.563,84,2.655,102,2.521,112,4.063,119,4.14,121,3.731,130,6.449,136,1.904,139,2.23,140,1.084,143,3.853,144,1.625,162,3.421,173,3.515,196,7.66,197,5.008,198,4.101,201,10.535,204,6.656,208,1.649,238,4.742,317,3.962,337,2.762,338,6.652,371,4.807,404,3.168,421,6.719,434,3.645,435,5.89,463,6.24,492,5.745,495,6.326,567,5.745,571,3.515,592,4.948,673,3.731,700,3.374,743,5.286,1168,10.819,1193,6.053,1200,7.837,1205,5.387,1224,5.387,1230,8.862,1234,7.486,1238,7.047,1239,7.486,1242,4.407,1358,4.742,1464,6.24,1501,4.679,1543,3.094,1917,7.047,1937,6.719,1945,6.053,1988,6.458,2059,7.219,2122,7.047,2319,7.633,2364,7.047,2556,6.053,2794,7.047,2870,7.486,2983,14.888,3034,8.153,3035,8.153,3036,7.486,3037,8.153,3038,11.549,3039,15.354,3040,15.354,3041,7.486,3042,7.486,3043,8.153,3044,15.849,3045,8.153,3046,8.153,3047,8.153,3048,8.153,3049,7.486,3050,7.486,3051,8.153,3052,6.719,3053,8.153,3054,8.153,3055,8.153]],["keywords/320",[]],["title/321",[130,338.468,278,447.9,3033,898.814]],["content/321",[35,3.133,45,0.858,50,1.443,58,6.668,59,1.829,84,1.352,90,3.082,130,2.494,135,2.482,136,2.669,139,2.642,140,0.959,143,1.272,146,6.168,148,8.268,160,1.438,162,1.543,181,1.473,183,2.108,187,1.514,208,2.617,211,11.119,213,11.046,214,11.697,219,3.432,230,4.214,237,3.177,256,1.443,259,1.856,266,2.999,270,5.52,275,5.29,279,1.539,292,2.89,336,1.643,337,2.444,338,3.815,348,9.904,373,3.529,376,2.015,378,2.088,432,4.195,439,2.644,463,5.52,467,2.519,573,1.653,593,2.447,620,4.766,646,3.588,649,2.129,656,14.412,676,1.695,697,8.938,700,1.718,701,2.999,723,14.229,724,3.628,725,4.087,726,3.288,752,1.995,761,7.587,813,1.829,848,3.11,875,2.088,882,2.644,883,2.558,924,2.519,930,2.013,1146,2.031,1168,5.082,1214,5.354,1230,5.082,1275,2.925,1292,3.082,1293,2.15,1337,2.352,1430,3.811,1453,18.014,1469,3.177,1486,2.999,1493,3.177,1543,2.737,1554,2.691,1556,2.742,1587,2.219,1683,3.588,1801,3.811,1850,3.177,1908,2.798,2144,9.052,2212,6.623,2218,6.235,2228,8.268,2237,3.811,2319,2.519,2530,11.015,2551,3.588,2568,2.798,2569,3.811,2731,3.421,2983,10.973,3038,3.811,3052,3.421,3056,4.15,3057,9.564,3058,7.212,3059,7.212,3060,7.212,3061,4.15,3062,6.623,3063,9.564,3064,12.94,3065,11.428,3066,7.212,3067,17.599,3068,12.94,3069,11.428,3070,12.94,3071,17.599,3072,4.15,3073,7.212,3074,6.623,3075,11.428,3076,11.428,3077,15.247,3078,11.428,3079,4.15,3080,4.15,3081,3.811,3082,4.15,3083,4.15,3084,4.15,3085,4.15,3086,4.15,3087,4.15,3088,4.15,3089,4.15,3090,16.922,3091,9.564,3092,9.564,3093,4.15,3094,4.15,3095,4.15,3096,4.15,3097,4.15,3098,4.15,3099,4.15,3100,4.15,3101,4.15,3102,4.15,3103,7.212,3104,4.15,3105,4.15,3106,7.212,3107,3.811,3108,7.212,3109,3.588,3110,3.811]],["keywords/321",[]],["title/322",[58,521.487,2568,803.767]],["content/322",[1,3.711,5,1.132,7,3.195,18,2.752,35,1.61,36,5.855,37,3.886,42,4.427,45,1.508,46,4.868,49,3.569,50,2.535,58,9.196,67,6.303,84,2.375,89,4.902,102,2.255,118,5.14,136,3.339,139,3.245,141,3.059,144,1.49,153,2.904,159,6.303,162,1.86,173,3.145,182,4.133,183,3.704,196,3.237,208,2.332,225,4.4,237,5.582,248,3.778,265,2.398,277,3.457,279,4.276,319,5.023,337,4.844,339,6.895,351,3.817,425,4.3,439,7.344,447,2.721,467,4.427,492,5.14,495,8.173,513,6.895,542,3.987,554,3.741,556,5.14,563,3.857,571,3.145,575,4.186,592,4.427,700,4.771,724,3.669,813,3.213,819,3.987,822,4.083,855,4.835,930,3.537,1032,12.469,1041,4.591,1072,5.415,1176,7.106,1222,5.023,1230,10.075,1243,6.697,1350,6.305,1543,5.426,1576,6.305,1591,6.874,1653,5.582,1708,5.269,1848,5.269,1899,4.729,1908,4.917,2059,4.186,2065,5.269,2091,3.899,2106,4.729,2253,5.582,2329,6.305,2353,6.305,2518,6.305,2568,10.952,2769,6.305,2795,6.305,2983,12.776,3041,6.697,3042,6.697,3044,6.697,3081,6.697,3111,5.582,3112,7.294,3113,7.294,3114,7.294,3115,14.297,3116,7.294,3117,7.294,3118,7.294,3119,7.294,3120,11.529,3121,7.294,3122,7.294,3123,7.294,3124,7.294,3125,7.294,3126,7.294,3127,7.294,3128,11.529,3129,7.294,3130,12.359,3131,6.697,3132,11.529,3133,7.294,3134,7.294,3135,7.294,3136,7.294]],["keywords/322",[]],["title/323",[2757,1208.042]],["content/323",[]],["keywords/323",[]],["title/324",[1,112.477,5,88.522,36,289.629,337,193.209,2449,401.856,2757,451.725,3137,523.668]],["content/324",[1,2.446,5,2.654,7,2.219,9,3.336,11,1.952,16,3.862,18,1.768,36,9.936,37,4.181,38,2.505,47,2.985,50,3.644,51,2.905,64,4.224,67,2.562,71,2.802,74,2.623,84,1.526,89,3.405,90,3.479,91,3.956,102,2.476,130,1.62,131,2.888,132,3.302,136,2.897,139,0.681,141,5.202,143,2.453,153,4.175,176,2.656,188,2.623,194,3.818,197,1.866,204,2.858,219,1.681,225,4.673,226,4.281,240,1.588,241,2.253,242,2.656,248,2.428,255,2.844,256,1.629,279,2.97,296,2.38,302,2.234,307,4.429,320,2.844,326,2.888,331,2.144,350,1.082,371,2.763,384,4.051,387,3.479,394,3.712,403,3.479,407,3.096,409,3.587,436,3.664,446,2.314,447,1.748,454,2.985,484,3.159,493,3.096,494,2.592,495,4.028,503,7.068,506,5.946,508,6.679,511,4.86,513,2.802,522,2.725,554,2.403,567,3.302,569,4.051,571,6.545,593,4.721,642,3.99,676,1.914,677,4.378,686,2.428,724,2.357,743,5.192,790,2.38,826,3.712,852,5.814,874,2.293,894,3.227,930,3.884,1009,3.862,1110,7.353,1140,5.015,1142,2.844,1143,5.643,1146,3.918,1148,7.353,1154,4.051,1163,14.091,1165,5.514,1166,2.763,1167,3.227,1168,3.302,1169,3.096,1170,4.303,1176,2.888,1186,4.051,1187,3.862,1196,3.479,1215,3.039,1242,2.533,1316,2.985,1337,2.656,1340,2.725,1377,2.844,1386,2.725,1499,3.479,1543,1.778,1567,3.479,1572,6.343,1591,3.85,1674,7.785,1681,4.303,1686,3.386,1690,3.712,1806,7.785,1924,6.343,1931,9.063,1933,3.712,1988,3.712,2060,2.935,2121,3.479,2123,3.096,2302,4.051,2330,3.479,2356,2.161,2425,8.642,2438,4.303,2449,13.033,2459,2.562,2471,4.303,2473,3.587,2566,6.343,2757,16.701,2761,7.353,2787,4.303,2800,3.479,2810,4.303,2826,4.303,2974,2.888,2987,6.922,3019,7.353,3137,11.39,3138,4.686,3139,3.587,3140,4.303,3141,8.008,3142,4.686,3143,3.712,3144,8.008,3145,8.008,3146,4.303,3147,3.479,3148,4.686,3149,4.686,3150,4.686,3151,4.686,3152,4.686,3153,4.686,3154,4.686,3155,4.686,3156,8.008,3157,8.008,3158,4.686,3159,4.686,3160,4.686,3161,4.303,3162,4.686,3163,10.485,3164,4.303,3165,4.686,3166,4.686,3167,4.686,3168,4.686,3169,4.686,3170,4.303,3171,4.303,3172,4.303,3173,4.686,3174,4.686,3175,4.686,3176,10.485,3177,4.686,3178,4.686,3179,4.686,3180,4.686,3181,4.686,3182,4.686,3183,8.008,3184,4.686,3185,4.686,3186,13.933,3187,8.008,3188,8.008,3189,4.686,3190,8.008,3191,4.686,3192,3.862,3193,5.946,3194,4.303,3195,4.303,3196,4.303,3197,3.302,3198,4.303,3199,4.051,3200,4.686,3201,4.303]],["keywords/324",[]],["title/325",[567,840.217,1572,944.485]],["content/325",[1,3.396,36,9.991,50,4.357,64,5.864,71,7.496,102,3.876,139,2.501,141,8.882,153,4.992,194,3.858,225,5.3,256,6.838,394,9.929,436,7.88,476,7.391,506,9.307,522,7.29,540,7.851,563,6.63,571,9.131,686,6.494,852,8.072,948,9.594,952,6.079,1123,10.836,1146,6.133,1168,8.833,1198,14.924,1337,7.104,1486,9.056,1567,9.307,1572,9.929,1663,8.833,1686,9.056,1932,10.332,1933,9.929,2176,9.594,2449,12.135,2757,18.168,3194,11.511,3195,11.511,3196,11.511,3197,8.833,3198,11.511,3202,17.221,3203,12.535]],["keywords/325",[]],["title/326",[671,529.196,2109,480.814]],["content/326",[]],["keywords/326",[]],["title/327",[671,529.196,2109,480.814]],["content/327",[1,3.762,58,6.386,96,13.671,127,10.548,130,5.049,136,4.455,143,4.473,162,2.355,175,10.948,182,8.274,199,11.175,238,8.492,279,5.415,282,8.732,324,8.732,331,6.681,541,13.407,554,9.783,575,8.381,671,6.48,1471,11.565,1568,10.055,1665,10.055,2109,9.986,2111,15.109,2112,12.621,2433,10.055,2504,11.565,2521,12.034,3204,14.601,3205,14.601,3206,14.601]],["keywords/327",[]],["title/328",[2109,480.814,2111,944.485]],["content/328",[1,1.503,5,1.852,45,2.466,48,3.225,58,6.433,88,3.112,91,2.875,96,8.927,97,3.217,117,5.369,119,3.87,124,3.988,129,4.214,136,1.78,137,5.06,139,3.228,143,4.506,144,0.985,150,3.357,162,1.925,171,4.773,175,4.374,199,5.832,201,7.863,202,4.906,204,5.249,207,4.166,208,1.541,220,3.487,225,4.527,237,9.133,241,5.737,244,4.555,279,2.826,282,7.136,288,6.036,330,8.409,331,5.46,350,1.76,352,2.042,358,1.908,359,3.833,437,6.245,511,10.101,554,6.12,563,4.03,573,4.752,620,9.551,658,5.369,671,5.296,673,3.487,677,4.166,742,3.382,775,2.543,796,5.832,882,9.369,1041,3.034,1231,10.958,1341,7.355,1358,4.432,1516,8.409,1543,2.892,1568,5.247,1570,9.133,1651,5.136,1686,5.505,1834,6.047,1872,13.718,1873,9.835,2072,7.738,2109,8.597,2111,9.452,2112,6.587,2223,6.587,2319,10.101,2335,6.997,2356,3.514,2392,6.997,2395,5.832,2411,10.958,2465,6.997,2504,6.036,2619,3.728,3013,6.587,3207,7.62,3208,7.62,3209,7.62,3210,7.62,3211,7.62,3212,7.62,3213,7.62,3214,6.997,3215,7.62,3216,7.62,3217,7.62,3218,7.62,3219,7.62,3220,7.62,3221,7.62,3222,7.62,3223,11.933,3224,14.708,3225,11.933,3226,7.62,3227,7.62,3228,7.62,3229,7.62,3230,5.505,3231,7.62]],["keywords/328",[]],["title/329",[172,529.078,176,554.704,654,646.758]],["content/329",[1,2.92,2,6.099,5,1.195,35,1.7,37,2.595,48,3.251,62,2.635,97,3.251,102,3.72,106,4.116,133,4.904,134,6.346,139,1.747,143,3.686,144,0.995,146,7.058,155,6.17,157,5.639,159,6.577,169,10.434,171,4.822,172,8.003,176,9.486,177,11.195,208,1.557,213,6.431,214,8.501,219,2.763,234,9.669,262,5.087,265,6.33,277,3.562,290,4.31,307,4.258,309,3.734,358,5.477,373,11.368,374,4.072,376,2.151,378,6.051,437,4.03,511,4.673,556,5.425,624,4.258,627,10.697,644,13.564,646,2.888,654,11.06,666,10.697,697,9.223,725,6.818,743,4.992,753,4.478,809,4.31,823,4.904,1189,5.19,1293,10.78,1347,4.478,1352,4.904,1358,4.478,1368,4.992,1418,8.11,1435,6.655,1554,4.992,1714,3.988,1756,5.717,1774,4.363,1862,5.087,2161,12.799,2507,6.099,2717,10.994,3109,10.399,3232,7.699,3233,9.529,3234,6.655,3235,9.916,3236,12.03,3237,7.699,3238,7.699,3239,7.699,3240,7.699,3241,7.699,3242,7.699,3243,7.699,3244,7.699,3245,7.699]],["keywords/329",[]],["title/330",[248,617.686,383,617.686]],["content/330",[]],["keywords/330",[]],["title/331",[5,151.938,248,507.061,383,507.061]],["content/331",[1,4.06,5,2.839,37,4.617,50,7.155,52,3.261,58,7.998,64,4.664,83,7.576,89,5.824,102,4.235,121,6.268,136,4.808,150,8.056,225,4.216,238,7.967,242,7.763,248,7.096,256,4.761,279,5.081,282,10.936,309,6.643,331,9.42,377,9.234,408,13.332,522,7.967,570,7.967,571,8.875,612,8.442,852,6.421,1169,12.083,1298,10.17,1383,11.29,1908,9.234,2491,11.841,2605,11.29,3246,13.698,3247,18.287,3248,13.698]],["keywords/331",[]],["title/332",[352,319.604,852,558.933]],["content/332",[1,3.14,5,2.875,21,8.42,74,6.271,97,4.731,124,5.864,136,4.326,139,1.627,141,4.699,183,5.69,202,6.545,221,5.434,225,4.9,248,10.447,254,7.265,274,6.349,279,4.156,288,8.875,326,11.415,327,6.197,329,5.99,352,6.346,353,6.769,355,6.7,362,5.386,383,9.594,440,11.502,476,6.606,573,4.461,575,6.431,628,5.01,702,7.137,849,7.861,852,7.463,951,8.575,952,5.434,1041,4.461,1065,11.502,1067,6.056,1149,7.137,1213,7.017,1333,10.52,1386,6.516,1439,7.895,1476,6.271,1543,4.252,1554,7.265,1555,10.288,1556,7.403,1568,7.716,1666,5.434,1672,7.895,1716,8.875,1764,8.875,2489,7.895,2512,8.319,2605,9.234,2899,14.62,3197,13.051,3249,11.204,3250,11.204]],["keywords/332",[]],["title/333",[248,507.061,383,507.061,717,541.368]],["content/333",[7,5.351,136,4.51,248,10.003,383,10.003,717,10.68,852,9.052,1146,9.448,1614,12.094,2155,10.556,3251,19.31]],["keywords/333",[]],["title/334",[50,414.454,612,734.894]],["content/334",[1,4.106,5,2.174,9,3.915,13,5.886,21,4.97,39,7.748,41,4.82,50,4.869,58,10.364,64,3.2,108,5.986,130,3.25,136,3.272,139,1.365,150,4.14,162,1.516,194,2.892,220,4.3,248,8.676,256,3.267,272,5.394,282,10.015,331,9.084,332,5.198,337,5.674,339,5.62,352,2.519,362,4.518,383,4.868,404,6.507,408,5.704,436,6.41,463,7.193,476,5.541,493,6.21,522,5.466,523,8.124,554,7.184,571,7.22,612,5.792,620,4.683,628,6.264,632,4.683,636,7.193,718,6.21,753,5.466,761,5.024,845,5.792,848,4.052,855,3.941,929,9.256,1142,5.704,1143,6.622,1146,6.854,1242,5.08,1333,6.21,1337,7.939,1341,5.792,1536,10.722,1543,7.044,1550,6.094,1607,7.746,1764,7.444,1834,3.864,1850,7.193,1871,9.256,2106,6.094,2155,5.138,2319,8.502,2489,9.871,2582,8.63,2583,8.63,2584,8.63,2671,8.124,3147,6.978,3193,6.978,3252,14.008,3253,9.398,3254,9.398,3255,9.398,3256,7.746,3257,9.398,3258,9.398]],["keywords/334",[]],["title/335",[1899,988.931]],["content/335",[]],["keywords/335",[]],["title/336",[197,330.566,317,261.487,1195,448.715,1899,538.298]],["content/336",[1,4.594,5,3.136,18,6.025,19,12.649,46,6.743,48,5.99,174,7.486,197,6.359,277,3.398,317,5.03,535,11.537,693,9.05,744,7.548,1067,8.632,1140,10.002,1195,8.632,1204,8.361,1212,9.55,1242,8.632,1270,12.649,1277,11.857,1574,12.222,1675,10.552,1899,10.355,1921,13.162,2384,13.804,3259,12.649]],["keywords/336",[]],["title/337",[152,297.874,225,255.503,1140,519.949,1899,538.298]],["content/337",[89,6.889,96,9.834,117,11.417,152,5.814,192,4.513,196,7.191,225,6.276,331,7.414,337,6.908,571,8.791,594,12.341,1140,10.148,1176,9.986,1177,10.321,1215,10.506,1287,9.72,1606,11.022,1908,15.786,3260,16.203,3261,13.354]],["keywords/337",[]],["title/338",[50,340.228,1899,634.705,3262,846.118]],["content/338",[1,3.016,5,2.605,6,3.923,7,1.818,9,2.733,36,3.331,45,1.356,46,5.625,48,2.863,50,5.316,52,1.561,58,2.869,68,7.865,75,4.847,136,2.474,138,4.141,139,3.154,143,2.01,144,1.721,153,5.305,162,2.149,163,5.23,187,2.393,196,9.939,197,2.612,201,11.612,204,7.752,209,4.772,219,3.801,220,3.001,225,4.1,227,1.709,230,2.89,238,3.815,242,3.717,256,2.28,285,2.489,309,3.181,317,4.817,350,3.076,351,3.433,373,5.183,434,2.933,435,4.739,454,4.178,492,7.464,494,3.628,495,9.029,508,4.178,573,2.612,614,3.398,642,3.269,646,2.461,676,2.679,686,5.487,695,3.586,697,5.379,702,4.178,711,4.87,744,3.1,1056,6.08,1140,4.108,1194,8.487,1195,8.267,1198,7.464,1200,4.809,1201,9.426,1202,5.663,1208,4.517,1212,3.923,1226,9.156,1246,9.156,1248,6.023,1249,4.108,1250,11.516,1251,4.739,1252,6.023,1253,3.127,1254,9.156,1261,5.67,1543,2.489,1621,6.023,1899,8.639,1920,5.196,1945,4.87,1979,12.234,1980,6.023,1981,12.234,1983,9.726,1985,9.726,1986,6.023,1987,9.726,1988,8.39,2059,3.765,2069,5.196,2597,5.196,3049,9.726,3050,9.726,3261,5.406,3262,9.156,3263,5.02,3264,6.023,3265,10.592,3266,10.592,3267,10.592,3268,10.592,3269,13.322,3270,10.592]],["keywords/338",[]],["title/339",[35,216.104,1899,634.705,3261,806.76]],["content/339",[5,2.344,50,5.248,51,5.477,136,4.553,144,1.951,187,5.507,189,6.012,196,10.126,197,6.012,225,6,329,8.072,331,6.909,350,4.985,361,11.494,758,8.717,1899,14.794,1908,10.178,3261,17.794,3262,18.662,3264,13.864,3271,19.494,3272,19.494,3273,15.098,3274,15.098]],["keywords/339",[]],["title/340",[144,126.472,1899,634.705,1908,659.816]],["content/340",[1,4.757,6,10.537,337,8.171,495,8.863,1194,11.224,1473,13.486,1899,15.64,3275,17.62,3276,17.62,3277,17.62,3278,16.18,3279,17.62]],["keywords/340",[]],["title/341",[102,302.649,495,492.368,1194,623.514]],["content/341",[5,2.571,19,16.378,36,10.501,64,5.641,89,7.043,143,5.076,225,5.099,226,8.856,273,6.723,302,7.896,407,10.946,495,8.333,506,12.3,511,10.054,571,7.142,686,8.582,1163,13.654,1164,13.654,1176,10.21,1194,13.171,1591,7.964,1899,10.742,3164,15.212,3280,16.566,3281,16.566,3282,16.566]],["keywords/341",[]],["title/342",[60,535.684]],["content/342",[]],["keywords/342",[]],["title/343",[139,142.147,3283,898.814,3284,898.814]],["content/343",[7,4.735,21,6.555,33,5.717,35,2.737,37,5.76,45,4.042,48,5.285,56,8.037,60,7.404,61,6.065,62,5.848,88,5.063,91,4.677,102,3.832,119,6.295,121,5.672,136,4.567,144,1.602,156,8.037,157,8.01,162,2,208,2.507,238,7.209,256,4.308,273,5.03,277,2.638,279,4.597,282,7.412,324,7.412,331,5.672,338,6.555,339,7.412,350,2.862,404,4.816,642,6.177,653,7.209,674,7.024,795,7.641,938,7.763,950,12.041,1067,6.7,1175,6.776,1249,7.763,1264,8.536,1358,9.938,1538,8.955,1543,4.704,1967,11.382,2585,10.216,2795,10.715,3283,11.382,3284,11.382,3285,10.715,3286,12.395,3287,11.382,3288,12.395,3289,10.216,3290,12.395]],["keywords/343",[]],["title/344",[3291,1400.437]],["content/344",[33,9.071,35,3.379,37,7.325,45,3.164,59,8.664,60,8.055,112,11.428,136,4.593,150,6.744,156,9.926,174,7.175,208,3.096,220,7.004,338,8.096,402,12.125,434,6.845,583,10.318,674,8.675,754,9.29,822,8.568,823,9.751,938,9.587,1054,8.096,1653,11.716,1812,12.616,2488,11.365,3291,14.056,3292,15.307,3293,12.125]],["keywords/344",[]],["title/345",[3294,1400.437]],["content/345",[1,2.621,37,6.04,60,7.12,79,8.282,102,4.108,112,10.102,120,7.349,130,6.196,136,3.103,144,1.717,194,4.09,203,7.53,207,7.264,225,6.239,226,7.103,279,4.928,331,9.929,352,6.502,353,8.619,355,7.946,404,5.163,593,7.834,674,7.53,819,7.264,1036,8.957,1041,5.291,1067,9.685,1166,10.564,1499,9.865,1550,8.616,1773,12.201,2903,12.201,3294,12.201,3295,17.917,3296,13.287,3297,13.287]],["keywords/345",[]],["title/346",[24,944.485,25,944.485]],["content/346",[]],["keywords/346",[]],["title/347",[1,142.14,24,570.857,25,570.857,225,221.812,234,346.477]],["content/347",[1,2.781,5,1.883,7,3.361,9,2.386,11,2.386,13,8.832,18,2.161,22,5.26,24,15.784,25,17.379,35,1.265,36,4.815,46,4.004,48,1.548,54,3.332,64,1.951,66,3.53,67,3.132,71,3.426,88,2.34,89,5.995,102,1.771,139,1.377,143,1.755,153,2.281,206,7.815,209,2.581,219,2.055,224,1.884,225,5.182,230,2.524,234,4.558,248,2.967,256,1.991,259,2.561,263,4.253,272,3.288,307,3.168,326,3.53,327,3.168,336,2.267,337,1.941,350,1.323,373,2.803,407,8.016,420,4.952,433,3.785,435,4.138,436,2.621,439,3.649,440,4.138,446,2.828,493,3.785,495,2.881,506,4.253,511,5.754,513,5.67,522,3.332,540,3.588,561,4.384,571,4.088,573,3.776,574,3.377,580,8.016,632,4.725,649,2.938,671,2.542,676,2.34,698,4.339,724,2.881,726,4.537,749,3.332,852,4.445,855,2.402,874,4.639,894,3.945,948,9.285,950,6.681,1054,6.416,1067,3.096,1152,6.681,1154,12.189,1156,5.26,1163,14.69,1165,6.529,1168,4.036,1169,3.785,1176,8.691,1186,4.952,1199,3.861,1215,3.714,1264,3.945,1337,5.373,1418,6.391,1568,3.945,1658,4.537,1674,4.253,1675,3.785,1832,4.721,1871,3.785,1988,4.537,2062,4.537,2429,11.622,2506,4.721,2599,5.26,2758,5.26,2786,5.26,2827,4.384,3012,11.139,3014,3.649,3062,5.26,3161,5.26,3170,8.706,3171,8.706,3172,5.26,3193,4.253,3298,5.728,3299,5.728,3300,5.728,3301,5.728,3302,5.728,3303,5.728,3304,5.728,3305,17.823,3306,13.505,3307,5.26,3308,5.728,3309,5.728,3310,5.728,3311,9.481,3312,5.728,3313,4.952,3314,5.728,3315,5.728,3316,11.139,3317,5.728,3318,5.728,3319,5.728,3320,5.728,3321,9.481,3322,9.481,3323,5.728,3324,5.728,3325,5.728,3326,5.728,3327,5.728,3328,5.728,3329,9.481,3330,5.728,3331,5.728,3332,5.728,3333,3.714,3334,5.728,3335,5.728,3336,5.728,3337,5.728,3338,5.728,3339,5.728,3340,5.728,3341,5.728,3342,5.728,3343,5.728,3344,5.26,3345,14.101,3346,5.728,3347,5.728,3348,5.728,3349,5.728,3350,5.728,3351,5.728,3352,9.481,3353,5.728,3354,5.728,3355,5.728,3356,5.728,3357,5.728]],["keywords/347",[]],["title/348",[1031,925.606]],["content/348",[]],["keywords/348",[]],["title/349",[1031,723.668,3358,1192.361]],["content/349",[1,4.522,5,2.671,9,7.169,37,5.801,44,11.159,70,10.963,75,7.875,88,7.029,91,6.493,135,10.292,272,9.878,336,6.811,437,9.007,511,12.849,676,7.029,1031,13.917,1146,8.421,3147,12.778,3359,17.21]],["keywords/349",[]],["title/350",[3360,1525.086]],["content/350",[5,1.355,48,4.33,58,5.797,64,4.513,102,2.7,107,6.152,119,6.731,135,5.221,139,1.268,145,3.964,164,4.261,204,3.116,225,2.687,337,6.06,376,6.325,409,6.682,468,6.483,476,10.546,495,8.998,571,5.714,573,3.477,677,4.773,761,7.086,1140,10.034,1741,6.916,1908,8.934,1921,7.196,1984,8.017,2445,6.916,2528,7.547,2906,14.711,2996,8.017,3013,7.547,3361,13.254,3362,8.731,3363,8.731,3364,8.731,3365,13.254,3366,8.731,3367,8.731,3368,8.731,3369,16.02,3370,8.731,3371,20.246,3372,19.319,3373,16.02,3374,16.02,3375,16.02,3376,16.02,3377,16.02,3378,16.02,3379,16.02,3380,16.02,3381,16.02,3382,16.02,3383,16.02,3384,14.711,3385,20.246,3386,16.02,3387,8.731,3388,8.731,3389,8.731,3390,16.02,3391,8.731,3392,7.196,3393,8.731]],["keywords/350",[]],["title/351",[3394,1400.437]],["content/351",[5,2.208,7,3.942,9,5.926,11,5.926,13,11.745,18,5.367,36,9.523,48,3.845,58,6.222,60,4.997,102,4.399,125,11.945,136,3.322,144,1.838,187,5.189,225,4.378,317,4.481,325,8.165,362,6.839,437,7.445,454,9.062,468,10.562,573,5.665,612,8.768,700,5.887,717,7.868,724,7.156,1027,6.839,1031,11.381,1337,8.062,1341,11.557,2370,9.224,2884,13.923,3372,13.063,3394,13.063,3395,14.226,3396,10.562,3397,14.226,3398,13.063,3399,14.226,3400,14.226,3401,14.226,3402,14.226,3403,14.226,3404,14.226]],["keywords/351",[]],["title/352",[3392,1257.008]],["content/352",[5,1.587,45,4.248,48,4.754,49,5.001,57,7.203,70,6.511,102,3.16,139,2.164,145,4.641,169,7.203,197,4.07,224,3.361,225,3.146,226,5.464,248,5.295,273,4.148,337,6.549,352,3.995,353,6.336,403,7.589,404,3.972,468,7.589,500,9.386,550,8.836,701,7.385,848,4.407,1027,8.456,1113,9.494,1235,8.097,1242,5.525,1388,6.754,1554,6.628,1587,9.403,1588,10.096,1830,8.836,2288,7.589,2445,11.805,2490,7.823,2518,15.205,2565,9.386,2682,13.933,2765,8.836,2884,7.589,3233,8.097,3293,8.097,3392,12.284,3405,14.903,3406,10.222,3407,8.097,3408,8.836,3409,14.903,3410,10.222,3411,10.222,3412,10.222,3413,10.222,3414,10.222,3415,10.222,3416,20.552,3417,20.552,3418,10.222,3419,19.331,3420,14.903,3421,10.222,3422,14.903,3423,14.903,3424,10.222,3425,10.222,3426,10.222,3427,10.222,3428,10.222,3429,10.222]],["keywords/352",[]],["title/353",[3408,1318.333]],["content/353",[4,7.722,46,6.165,48,3.946,65,9.647,66,11.756,67,7.982,102,4.515,139,2.12,162,2.355,187,5.326,219,5.239,285,5.541,376,4.08,383,7.564,434,6.529,468,10.841,476,8.609,573,5.814,677,10.428,686,9.881,858,12.621,1066,11.175,1554,9.468,1674,10.841,2444,17.515,2462,12.034,2469,17.515,2503,11.175,2884,10.841,2943,9.145,3392,15.721,3408,12.621,3430,14.601,3431,19.074,3432,14.601,3433,14.601,3434,14.601,3435,14.601,3436,14.601,3437,14.601]],["keywords/353",[]],["title/354",[1,193.054,152,351.222,1902,674.064]],["content/354",[]],["keywords/354",[]],["title/355",[2487,1028.057]],["content/355",[1,3.806,18,3.32,24,6.971,25,6.971,30,6.201,36,4.469,37,5.427,45,4.598,47,10.254,48,3.604,55,4.987,56,5.706,62,3.012,78,3.301,84,2.866,121,4.027,124,8.425,139,2.338,144,1.723,152,4.784,182,4.987,185,4.268,186,3.774,193,5.263,198,6.707,225,2.709,234,4.231,243,5.09,252,6.25,254,5.706,265,2.894,277,3.822,279,3.264,282,7.974,288,12.751,321,3.935,336,6.371,358,4.03,446,4.345,447,3.283,571,3.794,628,3.935,653,5.118,748,6.201,754,5.341,765,6.358,791,6.06,795,5.962,806,5.189,808,4.654,819,4.811,821,5.815,840,5.424,874,4.306,882,5.606,1113,5.606,1365,6.736,1558,6.06,1996,6.736,2369,12.751,2487,8.988,2490,6.736,2492,7.253,2503,6.736,2556,6.534,2759,18.236,2917,6.971,2949,7.607,3233,6.971,3438,21.096,3439,7.607,3440,17.959,3441,8.081,3442,8.8,3443,13.334,3444,10.99,3445,6.971,3446,8.8,3447,8.081,3448,8.8,3449,8.081,3450,8.081,3451,12.244,3452,13.334,3453,8.081,3454,8.081,3455,8.8]],["keywords/355",[]],["title/356",[2042,1208.042]],["content/356",[1,4.042,9,4.839,28,8.391,33,5.357,35,2.564,37,3.915,45,3.376,48,4.414,56,7.532,60,4.08,72,8.638,78,4.357,127,8.391,142,5.843,187,4.237,194,3.575,197,6.503,208,2.349,224,3.82,225,3.575,230,5.117,242,6.582,259,5.194,277,2.472,321,7.303,350,2.682,352,3.113,372,7.532,434,5.194,447,4.333,571,5.008,573,4.625,618,8.89,674,6.582,677,6.35,695,6.35,696,7.049,753,6.755,808,6.143,830,7.675,852,7.656,946,6.35,1027,7.852,1031,7.049,1368,7.532,1391,7.399,1405,7.275,1435,10.04,1552,15.601,1554,7.532,1558,7.999,1778,8.624,1826,9.573,2042,9.2,2099,8.624,2433,7.999,2485,10.04,2492,9.573,2493,7.675,2522,9.2,3233,9.2,3441,10.666,3456,10.666,3457,9.2,3458,11.615,3459,7.532,3460,11.615,3461,10.666,3462,10.666,3463,11.615,3464,11.615,3465,11.615]],["keywords/356",[]],["title/357",[321,533.171,3466,803.767]],["content/357",[1,4.246,5,1.709,7,0.898,9,1.35,11,1.35,13,2.029,18,1.222,27,2.67,35,0.715,36,6.748,37,1.954,43,2.141,45,1.979,46,1.368,47,7.014,48,0.876,49,1.585,57,4.085,71,3.467,78,1.215,80,1.966,84,1.055,85,2.406,91,2.187,97,1.368,102,1.002,121,2.653,124,1.696,125,2.064,130,2.005,131,1.997,139,2.376,143,0.993,144,0.419,145,1.471,150,1.427,152,1.163,158,1.282,162,0.935,173,1.397,182,1.836,186,1.641,188,3.245,189,1.29,193,1.938,194,1.784,198,3.957,207,1.771,213,3.099,219,7.362,223,1.615,225,3.765,234,3.782,242,1.836,243,3.655,244,1.237,256,1.126,263,2.406,268,5.726,277,1.674,282,3.467,321,3.517,326,3.573,336,1.282,337,6.779,350,0.748,351,4.117,352,1.554,353,2.465,358,0.811,375,2.482,407,2.141,408,12.144,416,2.67,425,1.91,494,1.792,571,3.391,573,1.29,621,3.133,628,1.449,632,1.615,676,1.323,695,1.771,697,2.944,712,5.303,761,7.103,765,2.341,795,3.517,809,3.245,824,2.406,830,3.83,839,2.801,852,3.687,875,2.916,877,2.141,946,11.341,947,5.011,1009,4.778,1027,4.603,1054,7.939,1149,3.693,1167,2.231,1198,4.085,1214,1.814,1242,1.751,1249,2.029,1303,2.406,1332,3.759,1368,2.101,1404,2.801,1488,1.966,1552,4.188,1558,5.417,1567,2.406,1587,4.205,1588,4.515,1591,3.782,1675,2.141,1707,2.801,1714,1.678,1819,2.283,1834,2.383,1902,5.417,1907,2.566,2042,12.961,2053,2.801,2121,2.406,2123,2.141,2176,2.48,2224,2.101,2369,2.566,2440,8.277,2445,4.592,2446,5.323,2487,8.957,2492,4.778,2496,2.975,2503,8.427,2616,2.801,2714,2.48,2759,5.011,2800,2.406,2912,2.975,2917,2.566,2921,7.223,2934,2.975,2943,3.631,2984,2.67,3234,5.011,3344,2.975,3444,2.67,3451,2.975,3453,7.223,3454,7.223,3462,7.223,3467,3.24,3468,3.24,3469,3.24,3470,3.24,3471,2.801,3472,3.24,3473,9.575,3474,14.205,3475,3.24,3476,5.101,3477,3.24,3478,3.24,3479,3.24,3480,3.24,3481,3.24,3482,5.797,3483,3.24,3484,5.797,3485,7.866,3486,3.24,3487,5.797,3488,3.24,3489,3.24,3490,3.24,3491,3.24,3492,5.797,3493,5.797,3494,3.24,3495,3.24,3496,3.24,3497,3.24,3498,3.24,3499,3.24,3500,3.24,3501,3.24,3502,3.24,3503,3.24,3504,5.797,3505,3.24,3506,3.24,3507,3.24,3508,3.24,3509,15.011,3510,3.24,3511,3.24,3512,11.011,3513,3.24,3514,3.24,3515,3.24,3516,3.24,3517,3.24,3518,3.24,3519,3.24,3520,3.24,3521,3.24,3522,3.24,3523,3.24,3524,3.24,3525,3.24,3526,3.24,3527,3.24,3528,5.797,3529,3.24,3530,3.24,3531,3.24,3532,2.801,3533,3.24,3534,3.24,3535,3.24,3536,3.24,3537,3.24,3538,3.24,3539,3.24,3540,3.24,3541,3.24,3542,3.24,3543,3.24,3544,3.24,3545,3.24,3546,3.24,3547,3.24,3548,3.24,3549,3.24,3550,3.24,3551,3.24,3552,3.24,3553,3.24,3554,3.24,3555,3.24,3556,3.24,3557,3.24,3558,3.24,3559,3.24,3560,3.24,3561,3.24,3562,3.24,3563,3.24,3564,3.24,3565,3.24,3566,3.24,3567,3.24,3568,3.24,3569,3.24,3570,3.24,3571,3.24,3572,3.24,3573,3.24,3574,3.24,3575,3.24,3576,2.67,3577,3.24,3578,3.24,3579,3.24,3580,2.566,3581,3.24,3582,3.24,3583,3.24,3584,3.24,3585,3.24,3586,3.24,3587,3.24,3588,3.24,3589,3.24,3590,3.24,3591,3.24,3592,3.24,3593,3.24,3594,3.24,3595,3.24,3596,3.24,3597,3.24,3598,3.24,3599,3.24,3600,3.24,3601,3.24,3602,3.24]],["keywords/357",[]],["title/358",[2324,1101.818]],["content/358",[]],["keywords/358",[]],["title/359",[2326,1208.042]],["content/359",[1,2.888,4,4.002,5,2.966,10,11.208,20,4.236,42,4.593,50,2.63,54,4.401,58,7.252,59,3.334,64,6.508,66,7.315,74,4.236,75,3.463,110,4.74,143,2.319,159,4.137,169,5.333,173,3.263,184,6.237,187,6.048,188,4.236,189,3.013,194,4.507,202,8.215,220,5.431,252,6.864,296,3.843,307,4.186,309,3.67,337,5.618,339,8.757,350,1.747,394,9.402,437,6.212,446,3.737,447,2.823,465,5.619,476,4.462,535,5.467,542,8.005,543,4.821,546,9.871,561,5.792,573,5.831,647,4.289,671,3.359,677,9.847,686,7.586,698,3.463,818,8.575,822,4.236,823,9.328,1032,8.364,1070,6.949,1142,4.593,1146,7.165,1230,5.333,1275,5.333,1476,4.236,1536,9.084,1550,7.696,1552,5.467,1658,5.994,1912,8.174,2020,5.211,2324,16.722,2326,16.851,2550,6.949,2661,5.792,3131,10.899,3278,6.949,3471,6.542,3603,7.568,3604,7.568,3605,10.899,3606,7.568,3607,7.568,3608,7.568,3609,5.333,3610,11.869,3611,6.949,3612,6.949,3613,7.568,3614,6.949,3615,7.568,3616,6.949,3617,7.568,3618,7.568,3619,10.873,3620,6.542,3621,7.568,3622,6.949,3623,7.568,3624,6.237,3625,6.949,3626,6.542,3627,6.542,3628,7.568,3629,6.949,3630,6.949,3631,6.949]],["keywords/359",[]],["title/360",[5,151.938,3632,577.115,3633,898.814]],["content/360",[5,3.038,11,5.692,16,7.491,21,7.226,46,3.838,51,3.297,58,7.984,75,4.159,97,3.838,139,3.59,158,3.597,159,4.969,187,3.315,202,3.737,205,5.436,220,6.252,252,4.261,302,6.512,307,7.557,337,5.562,339,5.436,437,4.757,446,4.488,476,5.359,546,6.127,551,6.259,675,9.303,814,7.491,823,5.79,942,7.857,1065,9.871,1071,8.346,1164,7.491,1297,4.332,1300,5.693,1339,6.749,1356,7.2,1526,5.894,1551,5.516,1591,6.569,1693,6.006,1729,6.957,1889,11.261,1912,12.572,1921,7.491,1935,5.359,2079,11.81,2324,15.409,2370,5.894,2427,8.346,2589,7.491,2837,8.346,2850,8.557,2965,6.567,3605,8.346,3612,12.546,3619,12.189,3620,11.81,3624,7.491,3626,14.19,3627,7.857,3632,9.679,3633,15.074,3634,8.346,3635,9.21,3636,12.546,3637,9.089,3638,9.089,3639,9.089,3640,9.089,3641,9.089,3642,9.089,3643,8.346,3644,9.089,3645,9.089,3646,9.089,3647,9.089,3648,8.346,3649,9.089,3650,9.089]],["keywords/360",[]],["title/361",[2324,861.436,3619,885.315]],["content/361",[5,2.126,21,7.245,28,9.896,58,5.991,64,4.664,103,8.882,143,4.197,194,5.628,197,5.455,202,7.518,285,5.198,316,9.234,337,4.641,339,10.936,391,9.896,397,10.85,408,11.099,546,9.234,571,5.906,673,6.268,676,5.595,720,9.234,812,7.488,823,11.649,946,7.488,949,11.841,1379,10.484,1864,11.29,2089,9.433,2253,10.484,2324,17.645,2326,10.85,2589,11.29,3614,12.578,3619,13.578,3651,13.698,3652,18.287,3653,12.578,3654,13.698,3655,13.698,3656,12.578,3657,13.698,3658,12.578]],["keywords/361",[]],["title/362",[2324,707.157,3619,726.759,3659,978.814]],["content/362",[1,3.926,5,1.991,21,10.529,58,5.609,64,4.367,74,7.179,89,5.453,91,4.839,143,3.929,171,8.033,202,7.191,279,4.757,284,6.712,285,4.867,309,6.22,336,5.076,337,4.345,371,10.314,458,11.777,459,11.777,467,7.784,542,7.011,546,8.646,671,5.692,677,7.011,686,9.062,812,9.563,849,6.333,852,6.012,946,11.69,1035,10.159,1146,11.301,1550,8.317,2079,11.087,2326,10.159,2433,8.832,3619,9.523,3624,10.571,3660,12.825,3661,12.825,3662,12.825,3663,12.825,3664,12.825,3665,12.825,3666,12.825,3667,12.825,3668,12.825,3669,12.825,3670,12.825,3671,12.825,3672,12.825,3673,11.777]],["keywords/362",[]],["title/363",[3674,1525.086]],["content/363",[1,4.061,6,9.842,54,7.971,64,4.667,69,5.458,70,5.814,88,5.598,91,5.171,119,4.635,121,4.176,129,7.58,158,5.424,162,1.472,185,4.426,224,3.001,275,5.048,279,3.385,288,10.856,302,4.35,307,5.048,316,6.152,337,5.575,339,5.458,397,7.229,429,12.596,442,5.625,542,4.989,545,8.318,554,4.681,571,5.909,612,5.625,614,4.728,671,6.083,676,3.728,695,7.492,698,4.176,701,6.594,852,9.652,929,6.03,946,11.257,1347,5.308,1482,6.594,1501,5.239,1673,5.539,1686,9.901,1864,11.296,1912,6.285,2324,16.794,2459,4.989,2473,10.489,2521,7.522,2589,7.522,2591,10.176,2811,8.381,2981,8.381,3619,10.176,3620,7.889,3626,7.889,3629,15.112,3630,15.112,3631,8.381,3635,9.238,3675,13.705,3676,9.127,3677,8.381,3678,9.127,3679,9.127,3680,11.847,3681,8.381,3682,7.522,3683,13.705,3684,9.127,3685,13.705,3686,13.705,3687,7.522,3688,9.127,3689,9.127,3690,9.127,3691,8.381,3692,9.127,3693,8.381]],["keywords/363",[]],["title/364",[3694,1318.333]],["content/364",[1,4.702,5,2.057,6,5.221,9,5.521,10,12.262,21,4.618,28,6.308,35,1.928,46,3.687,48,2.36,50,5.568,54,5.078,60,5.627,64,2.973,74,4.887,84,2.843,89,3.712,97,3.687,110,5.468,118,6.152,125,5.562,126,5.769,143,2.675,158,3.455,171,8.301,187,5.843,195,8.044,202,6.586,221,4.234,224,2.871,274,4.948,294,6.308,302,4.162,317,5.046,351,4.569,371,5.148,398,5.769,442,5.381,493,10.585,556,6.152,573,5.278,593,5.148,642,4.351,671,3.875,676,7.855,677,7.246,720,5.885,742,3.875,794,6.682,847,6.682,848,3.764,851,7.196,852,6.213,946,4.773,1027,4.198,1046,6.682,1224,10.585,1242,4.719,1251,6.308,1292,6.483,1310,8.017,1334,5.885,1353,7.547,1364,7.196,1386,5.078,1464,6.682,1501,5.011,1523,7.196,1867,7.196,1889,7.196,1902,6.013,1907,6.916,1912,9.127,1920,6.916,1989,6.916,2178,6.483,2429,10.924,2491,11.457,2534,7.547,2566,6.916,2609,7.547,2755,8.017,2843,7.547,2879,5.562,3611,8.017,3624,7.196,3625,8.017,3694,7.547,3695,8.731,3696,7.547,3697,8.731,3698,8.731,3699,7.547,3700,7.547,3701,8.731,3702,13.254,3703,7.547,3704,7.547,3705,6.916,3706,8.731,3707,8.731,3708,8.731,3709,8.731,3710,8.731,3711,8.731]],["keywords/364",[]],["title/365",[1834,626.987]],["content/365",[]],["keywords/365",[]],["title/366",[278,697.87]],["content/366",[1,2.753,5,2.166,18,5.266,37,4.705,48,3.772,59,6.149,84,4.545,97,5.893,136,4.853,141,5.853,142,7.021,162,2.251,184,11.503,187,5.091,208,4.203,265,4.59,278,8.473,321,6.241,349,6.545,359,7.021,428,8.742,535,10.083,628,6.241,1029,10.682,1054,7.382,1666,6.769,1736,11.055,1834,9.929,2109,7.467,2321,11.503,2866,11.503,2943,8.742,3407,11.055,3712,13.957,3713,10.363,3714,13.957,3715,9.222,3716,13.957,3717,10.363,3718,13.957]],["keywords/366",[]],["title/367",[136,193.883,208,167.9,278,379.867,1834,341.284]],["content/367",[45,3.254,136,5.142,138,7.827,143,4.823,144,2.034,197,6.269,200,10.402,208,4.453,252,7.379,265,6.584,278,10.075,280,9.86,331,7.203,575,9.036,673,7.203,924,9.554,1834,10.216,1935,9.282,2109,6.348,2407,13.608,3407,12.469,3719,15.742]],["keywords/367",[]],["title/368",[404,463.326,2109,480.814]],["content/368",[9,6.421,37,5.196,75,7.053,83,8.525,88,6.296,91,5.816,129,8.525,130,5.33,136,3.6,137,5.302,138,7.723,149,11.136,200,10.185,208,3.995,241,7.41,278,9.04,302,7.347,404,5.989,671,8.768,744,7.285,848,6.645,1476,8.628,1479,10.614,1543,5.849,1834,8.963,1937,12.704,2109,8.791,2124,11.444,3720,15.413,3721,15.413,3722,15.413]],["keywords/368",[]],["title/369",[1834,626.987]],["content/369",[84,4.517,138,7.208,140,2.451,144,1.792,157,6.501,160,2.765,162,2.237,164,4.36,186,3.925,208,4.465,265,6.064,278,6.347,292,5.558,359,10.42,362,8.865,436,6.347,704,9.349,875,6.977,1213,8.687,1402,8.993,1403,10.298,1516,15.556,1741,10.986,1834,10.193,2834,9.773,3723,10.298,3724,7.415,3725,11.549,3726,13.322,3727,10.45]],["keywords/369",[]],["title/370",[217,491.902]],["content/370",[138,8.479,144,2.314,173,9.351,217,6.995,370,11.036,1253,8.535,1344,14.758,2059,10.277,2109,8.746,2894,15.283,3726,15.669,3728,16.104]],["keywords/370",[]],["title/371",[3729,1400.437]],["content/371",[29,5.711,48,3.972,52,4.56,84,4.786,91,5.545,114,10.618,139,2.134,140,1.954,144,1.899,160,2.93,164,3.094,180,4.269,186,4.16,224,6.3,277,4.077,292,7.676,350,3.394,358,3.68,460,8.92,651,8.79,653,12.395,669,9.908,713,11.642,750,6.726,874,7.192,1142,8.92,1663,13.499,2045,11.249,2121,10.913,2628,12.705,2670,12.705,3729,13.496,3730,14.698,3731,20.737,3732,14.698,3733,14.698]],["keywords/371",[]],["title/372",[3734,1318.333]],["content/372",[7,6.752,115,10.065,140,2.064,144,2.564,160,3.094,162,3.529,164,4.177,180,4.508,186,4.393,279,7.36,376,4.337,698,9.08,744,9.379,1501,11.39,1666,7.528,2078,12.793,2109,8.82,2110,12.793,2113,7.159,3734,13.417,3735,12.793,3736,12.295,3737,11.88]],["keywords/372",[]],["title/373",[3738,1318.333]],["content/373",[7,6.422,18,6.93,52,3.75,59,4.862,91,4.164,115,7.156,139,1.603,140,1.467,144,2.373,151,4.288,160,2.2,162,2.963,164,3.866,180,3.205,186,3.123,194,3.397,219,5.652,230,4.862,279,5.842,333,5.449,376,3.084,447,4.117,535,13.269,646,6.89,673,5.05,698,7.208,744,7.445,752,5.306,758,8.213,1501,9.041,1803,14.925,2078,9.096,2109,9.346,2110,9.096,2113,7.265,2482,6.104,2593,8.194,3230,11.38,3263,12.056,3735,15.138,3736,8.742,3738,9.54,3739,21.284,3740,8.447,3741,12.983]],["keywords/373",[]],["title/374",[7,422.589]],["content/374",[7,6.766,50,5.075,69,8.732,119,7.415,138,5.708,140,1.941,153,5.814,167,7.344,185,7.081,194,4.494,265,7.407,274,8.274,339,8.732,437,7.642,593,8.609,673,6.681,698,10.307,750,6.681,1535,12.034,2109,9.846,2526,9.301,3263,14.599,3734,16.488,3738,16.488,3742,13.407,3743,14.601]],["keywords/374",[]],["title/375",[3724,815.315]],["content/375",[7,6.142,140,2.123,144,2.063,160,3.184,164,3.361,186,4.52,285,6.06,323,10.172,324,9.55,350,3.688,432,12.891,679,13.914,806,9.415,2109,6.439,2113,9.319,2466,12.222,3723,11.857,3724,12.846,3725,12.655,3744,12.649,3745,15.002,3746,15.969]],["keywords/375",[]],["title/376",[3727,864.282]],["content/376",[7,6.573,140,2.035,144,1.978,160,3.052,164,3.222,186,4.332,285,5.809,323,9.751,324,9.154,350,3.535,432,12.638,679,13.544,806,9.025,2109,6.172,2113,9.071,2466,11.716,2674,9.751,3725,12.318,3727,13.443,3744,12.125,3745,14.602,3747,14.056,3748,15.053,3749,13.232,3750,15.307]],["keywords/376",[]],["title/377",[3751,1101.818]],["content/377",[7,6.531,40,8.498,140,1.994,144,1.938,160,2.99,164,3.156,186,4.244,285,5.691,323,9.553,324,8.968,350,3.463,375,6.42,432,12.516,679,14.819,795,6.706,2017,11.478,2109,6.047,2113,9.925,2466,11.478,2674,9.553,3725,12.156,3744,11.879,3745,15.978,3748,16.47,3749,12.963,3751,15.547]],["keywords/377",[]],["title/378",[850,1318.333]],["content/378",[7,6.531,40,8.498,140,1.994,144,1.938,160,2.99,164,3.156,186,4.244,285,5.691,323,9.553,324,8.968,350,3.463,375,6.42,432,12.516,679,14.819,795,6.706,850,18.602,2017,11.478,2109,6.047,2113,9.925,2466,11.478,2674,9.553,3725,12.156,3744,11.879,3745,15.978,3748,16.47,3749,12.963]],["keywords/378",[]],["title/379",[3748,1167.278]],["content/379",[7,6.057,20,7.574,40,10.279,52,5.873,91,5.105,140,2.411,144,1.748,160,2.698,162,2.926,164,2.848,180,5.268,186,3.829,198,6.806,274,7.668,333,6.681,679,12.49,758,6.05,806,7.978,1837,9.775,2109,5.456,2113,8.365,2482,10.031,2652,12.888,2674,11.554,3139,10.356,3737,10.356,3745,13.467,3748,15.659,3752,11.696,3753,17.685,3754,15.678]],["keywords/379",[]],["title/380",[3736,1208.042]],["content/380",[7,6.057,20,7.574,40,10.279,52,5.873,59,5.961,91,5.105,140,2.411,144,1.748,160,2.698,162,2.926,164,2.848,180,5.268,186,3.829,198,6.806,274,7.668,333,6.681,679,12.49,758,6.05,806,7.978,2109,5.456,2113,8.365,2482,10.031,2652,12.888,2674,11.554,3139,10.356,3736,16.206,3737,10.356,3745,13.467,3752,11.696,3753,17.685,3754,15.678]],["keywords/380",[]],["title/381",[3755,1400.437]],["content/381",[7,5.983,20,7.349,40,10.072,52,5.837,91,4.954,140,2.363,144,1.696,160,2.618,162,2.867,164,2.764,180,5.162,186,3.716,198,6.604,217,5.733,274,7.441,333,6.483,758,5.871,806,7.741,2109,5.294,2113,8.198,2482,9.83,2493,8.675,2652,12.731,2674,11.322,2683,8.675,3139,10.049,3726,9.486,3737,10.049,3752,11.35,3753,17.417,3754,15.364,3755,18.502,3756,11.35,3757,16.321,3758,8.514,3759,10.822]],["keywords/381",[]],["title/382",[62,521.972]],["content/382",[7,4.523,20,9.136,52,5.33,62,7.011,140,2.17,144,2.109,160,3.254,164,4.312,186,4.619,375,8.77,446,10.115,689,12.493,698,7.469,883,10.06,2093,16.884,2113,7.528,2466,17.136,2683,10.785,3724,8.726,3757,14.988,3760,16.322,3761,16.322]],["keywords/382",[]],["title/383",[3263,1167.278]],["content/383",[7,6.182,18,6.725,40,8.59,52,3.608,59,6.678,91,3.948,139,2.201,140,1.391,144,1.959,151,4.066,160,2.086,162,1.688,164,3.191,180,3.039,186,2.961,194,3.22,217,3.375,219,5.439,230,4.61,243,5.786,244,5.786,265,3.441,279,5.622,333,5.166,447,3.903,535,12.878,646,7.332,673,4.788,698,6.936,752,5.03,758,7.971,1501,8.701,1543,5.753,1803,14.618,2078,8.624,2109,9.214,2113,6.992,2526,6.665,2593,7.769,2619,7.417,2674,9.656,3230,10.951,3263,14.959,3728,7.769,3735,12.494,3736,12.007,3739,20.982,3740,8.008,3762,10.463,3763,10.463,3764,15.158]],["keywords/383",[]],["title/384",[3765,1050.255]],["content/384",[5,2.663,31,9.255,52,2.967,75,5.704,108,7.94,120,6.894,130,4.31,140,2.608,143,3.819,144,1.611,160,3.42,162,3.574,164,4.128,167,9.866,186,3.528,189,4.963,194,3.836,208,2.521,240,5.812,262,8.236,322,5.616,376,5.481,447,4.649,596,8.584,676,5.091,686,8.886,695,6.814,698,5.704,701,9.005,754,7.565,775,4.16,1591,5.993,1666,8.319,1740,7.454,1834,8.063,2109,9.993,2110,10.274,3765,8.584,3766,17.154,3767,10.775,3768,10.274,3769,12.465,3770,12.465]],["keywords/384",[]],["title/385",[2109,480.814,3726,861.436]],["content/385",[5,2.872,144,2.391,221,8.974,460,11.23,1834,9.095,2109,9.887,2493,14.617,3726,15.982,3771,14.657]],["keywords/385",[]],["title/386",[3758,988.931]],["content/386",[120,8.294,139,2.178,140,1.994,144,1.938,160,2.99,180,4.355,186,4.244,217,4.837,221,9.413,340,5.295,350,4.482,362,7.21,375,6.42,643,6.757,875,7.543,924,9.101,1834,6.165,2109,9.736,2113,8.952,2965,10.834,3726,15.547,3751,10.834,3758,15.283,3771,11.879,3772,13.77,3773,11.478,3774,14.996,3775,11.879,3776,12.36]],["keywords/386",[]],["title/387",[3728,1132.359]],["content/387",[41,7.639,59,6.562,120,8.238,139,2.163,140,1.98,144,1.925,160,2.97,180,5.612,186,4.216,217,4.804,221,9.372,222,8.908,350,3.44,375,6.377,643,6.711,875,7.493,924,9.04,1834,6.124,2109,8.649,2113,9.893,2493,9.842,2827,11.401,2965,13.961,3728,14.348,3751,13.961,3756,16.704,3758,12.53,3771,11.799,3773,11.401,3775,11.799,3776,12.277,3777,13.678,3778,13.678]],["keywords/387",[]],["title/388",[2493,1007.71]],["content/388",[120,9.162,139,2.406,140,2.202,144,2.14,160,3.303,180,4.811,186,4.689,217,5.343,221,8.034,350,3.825,375,7.092,808,8.762,875,8.333,924,10.054,2109,9.089,2113,9.537,2493,14.894,2965,11.968,3751,11.968,3771,13.122,3772,15.212,3773,12.679,3775,13.122,3776,13.654]],["keywords/388",[]],["title/389",[3779,1400.437]],["content/389",[41,7.797,59,6.697,120,8.408,139,2.208,140,2.021,144,1.964,160,3.031,180,5.687,186,4.302,217,4.903,221,9.496,222,9.091,350,3.51,375,6.508,643,6.849,795,6.798,875,7.647,924,9.226,2109,8.734,2113,9.99,2493,10.045,2827,11.635,2965,10.983,3751,14.146,3756,16.926,3771,12.042,3773,11.635,3775,12.042,3776,12.53,3777,13.959,3778,13.959,3779,17.98]],["keywords/389",[]],["title/390",[3780,1400.437]],["content/390",[53,6.834,84,4.786,120,8.129,130,5.082,139,2.134,140,1.954,144,1.899,160,2.93,164,3.094,180,4.269,186,4.16,217,4.741,221,7.128,232,7.324,350,3.394,375,6.292,795,6.572,859,11.249,875,7.393,924,8.92,2109,8.594,2113,11.076,2683,9.711,2965,10.618,3751,13.84,3759,12.114,3773,11.249,3780,17.591,3781,14.698,3782,14.698,3783,21.312,3784,13.496,3785,12.705,3786,12.705,3787,12.705]],["keywords/390",[]],["title/391",[3788,1400.437]],["content/391",[37,4.589,120,7.529,139,2.645,140,1.81,144,1.759,160,2.714,180,5.289,186,3.853,217,5.874,221,6.602,222,8.141,350,4.205,375,5.828,652,7.052,795,6.087,808,7.2,875,6.848,920,8.391,1054,7.2,1834,5.597,2109,8.275,2113,11.393,2965,9.835,3111,10.42,3725,8.527,3727,7.715,3747,12.501,3751,13.157,3758,8.828,3773,10.42,3785,11.768,3786,11.768,3787,11.768,3788,16.723,3789,13.614,3790,11.768,3791,12.501,3792,13.614,3793,13.614,3794,13.614,3795,13.614,3796,13.614]],["keywords/391",[]],["title/392",[3797,1400.437]],["content/392",[130,6.918,221,9.703,632,9.97,2109,8.068,3111,15.313,3798,17.295]],["keywords/392",[]],["title/393",[3798,1318.333]],["content/393",[59,8.901,130,5.522,140,2.123,144,2.063,160,3.184,164,3.361,186,4.52,217,7.149,221,7.745,349,5.03,632,10.069,2109,6.439,2113,10.744,2683,10.552,3726,11.537,3758,10.355,3759,13.162,3785,13.804,3786,13.804,3787,13.804,3791,14.664,3797,14.664,3798,17.466,3799,15.969,3800,20.205]],["keywords/393",[]],["title/394",[1887,1257.008]],["content/394",[44,10.823,79,6.371,140,2.219,144,2.157,160,3.328,164,3.513,180,6.033,186,4.724,337,5.655,349,5.257,467,10.13,573,6.646,594,9.231,643,7.52,1887,18.642,2039,15.327,2084,14.428,2109,8.377,3724,11.106,3727,11.773,3801,16.691,3802,16.691]],["keywords/394",[]],["title/395",[2109,480.814,3803,1094.906]],["content/395",[5,2.971,203,10.848,208,3.872,355,11.448,791,13.183,1697,15.778,1822,17.578,1834,7.87,2109,7.719,3715,12.649,3803,17.578]],["keywords/395",[]],["title/396",[2113,703.416]],["content/396",[37,5.713,52,4.034,59,9.239,140,2.253,144,2.19,160,3.378,164,3.567,166,9.856,186,4.796,197,6.748,208,4.241,221,8.219,349,6.605,952,8.219,1834,6.967,2109,8.456,2113,10.503,3804,14.649,3805,16.946,3806,16.946]],["keywords/396",[]],["title/397",[3807,1318.333]],["content/397",[5,2.896,141,7.826,144,2.411,186,5.281,339,11.159,349,5.877,564,11.886,1242,10.086,1834,7.671,2113,10.255,2493,12.329,3807,16.13,3808,14.78]],["keywords/397",[]],["title/398",[3809,1050.255]],["content/398",[59,7.952,140,2.4,144,2.332,160,3.599,164,3.799,186,5.109,349,6.865,877,11.927,1834,7.421,2113,8.326,3682,14.878,3804,15.604,3807,15.604,3809,15.009,3810,18.051,3811,18.051]],["keywords/398",[]],["title/399",[3812,1400.437]],["content/399",[140,2.154,144,2.094,160,3.23,164,4.292,186,4.586,217,5.226,221,7.858,232,8.074,375,6.937,646,6.078,808,8.569,875,8.15,1213,10.148,2109,6.534,2113,9.405,3723,12.03,3724,8.662,3725,12.772,3727,11.556,3758,10.506,3812,21.504,3813,20.391,3814,16.203,3815,16.203]],["keywords/399",[]],["title/400",[208,241.161,2109,480.814]],["content/400",[5,3.24,52,4.968,78,6.309,137,5.786,140,2.236,157,7.883,166,9.781,208,4.8,325,9.653,349,6.574,358,4.211,376,4.699,675,9.531,855,8.753,1386,9.781,1834,6.914,2109,9.152,3459,10.905]],["keywords/400",[]],["title/401",[1714,790.05]],["content/401",[45,2.281,48,2.983,52,4.372,62,3.777,78,4.14,84,3.594,137,6.891,139,2.909,140,1.467,144,1.426,151,4.288,160,2.2,161,5.05,162,3.553,164,3.866,180,6.152,181,5.592,186,3.123,234,7.573,243,6.013,244,6.013,277,3.352,290,6.178,349,4.962,350,4.891,358,5.303,376,4.401,428,6.912,483,8.194,564,7.03,568,6.013,634,15.138,695,8.611,698,5.05,808,8.331,920,9.708,1200,7.152,1214,6.178,1714,10.972,2109,6.352,2287,7.639,3724,8.421,3727,8.926,3816,11.036,3817,10.134,3818,11.036,3819,11.036]],["keywords/401",[]],["title/402",[223,759.979]],["content/402",[45,2.103,48,2.75,52,4.176,62,3.482,78,5.572,84,4.837,137,7.057,139,3.111,140,1.353,141,4.267,144,1.315,151,3.954,160,2.028,161,4.656,162,3.456,164,3.692,180,6.424,181,5.273,186,2.88,223,7.402,234,9.273,243,3.884,277,3.161,290,5.695,349,4.679,350,5.108,358,4.392,376,4.151,428,6.373,439,11.175,442,6.271,513,8.883,564,6.481,568,5.67,634,14.459,695,10.545,698,4.656,711,14.322,722,9.815,808,5.381,920,9.155,1189,6.859,1200,6.744,1293,7.695,1714,5.271,2109,5.99,2287,4.934,3724,7.941,3727,8.418,3820,10.175,3821,10.175,3822,10.175]],["keywords/402",[]],["title/403",[3823,1400.437]],["content/403",[41,9.118,45,2.152,48,2.814,52,5.432,62,3.564,78,3.907,84,4.92,89,4.427,97,4.397,136,2.432,137,7.429,139,1.512,140,1.384,144,1.952,151,4.047,158,5.978,160,2.076,161,4.765,162,3.484,164,3.742,180,5.163,181,6.923,186,2.947,189,4.147,208,3.055,224,3.425,243,5.767,277,3.215,278,4.765,286,8.671,336,4.121,340,3.677,349,4.759,350,3.488,358,4.882,376,4.221,423,4.622,568,7.444,637,6.523,657,8.249,658,7.338,698,4.765,809,5.829,1167,10.403,1543,3.952,1729,7.971,2287,5.05,2420,7.971,2482,5.76,2619,5.095,2639,9.002,2652,6.14,2917,11.966,3459,6.753,3741,12.451,3823,13.872,3824,9.563,3825,9.563,3826,9.563,3827,9.563,3828,10.414,3829,10.414]],["keywords/403",[]],["title/404",[2113,703.416]],["content/404",[5,2.154,7,5.111,40,5.259,42,11.195,45,1.918,52,5.112,62,3.176,137,3.192,138,3.628,139,2.015,140,1.845,143,4.251,144,1.199,151,5.392,160,2.767,161,4.246,162,3.342,164,4.156,180,5.357,185,6.73,186,2.626,228,8.022,243,3.542,277,2.953,290,9.304,324,5.549,349,4.371,350,4.259,358,3.474,376,3.878,423,7.377,542,10.084,568,5.297,575,7.965,669,6.255,698,6.35,821,6.131,875,4.668,1113,8.839,1407,11.437,1414,7.35,1488,5.632,1791,6.39,2059,5.326,2113,9.556,2287,4.5,2482,9.193,2490,10.621,2652,5.471,2875,8.521,3109,8.022,3259,7.35,3682,11.437,3691,8.521,3724,7.418,3727,7.864,3830,18.199,3831,11.437,3832,9.28,3833,13.877,3834,9.28,3835,15.263]],["keywords/404",[]],["title/405",[3836,1400.437]],["content/405",[45,2.52,52,5.232,62,5.782,137,4.194,139,1.77,140,1.621,143,3.735,144,1.575,151,4.737,160,2.43,161,5.578,162,3.761,164,4.08,180,5.63,186,3.45,208,2.466,230,5.37,243,6.448,277,3.595,349,6.106,350,4.476,358,5.24,376,4.72,483,9.051,568,6.448,646,4.573,748,8.59,750,5.578,771,10.047,803,6.589,808,6.447,830,8.055,843,7.513,920,7.513,1741,9.656,2105,10.102,2113,5.623,2287,5.912,2922,13.923,3476,10.954,3724,9.031,3725,7.635,3836,15.512,3837,10.538,3838,15.512]],["keywords/405",[]],["title/406",[3230,1101.818]],["content/406",[41,6.856,45,2.763,52,5.404,62,4.575,84,5.859,89,5.683,137,4.599,139,1.941,140,1.777,143,4.095,144,1.727,151,5.194,160,2.665,161,6.117,162,3.854,164,4.28,180,5.225,186,3.783,243,6.867,277,3.828,286,10.326,349,5.667,350,4.154,358,5.091,376,5.027,568,7.762,809,7.482,1167,12.389,2113,6.165,2224,8.668,2287,6.483,2639,11.555,3230,12.997,3459,8.668,3839,11.018]],["keywords/406",[]],["title/407",[3840,1400.437]],["content/407",[41,6.287,45,2.534,52,5.243,59,5.4,62,5.804,84,6.331,89,5.211,137,4.217,139,1.78,140,1.63,143,3.756,144,1.584,151,4.763,160,4.391,161,5.609,162,3.675,163,6.052,164,4.092,180,5.646,186,3.469,208,2.479,243,6.473,244,6.473,277,3.608,286,9.733,349,6.608,350,4.489,358,5.252,376,4.738,568,6.473,809,6.861,2113,7.821,2224,7.948,2287,5.945,2619,5.998,2683,8.099,3459,7.948,3839,10.103,3840,15.571,3841,12.258]],["keywords/407",[]],["title/408",[3735,1257.008]],["content/408",[41,7.296,45,2.94,52,5.517,62,4.869,84,6.107,89,6.048,137,4.894,139,2.066,140,1.891,143,4.358,151,5.528,160,2.836,161,6.51,162,3.914,164,4.415,180,5.446,277,3.99,286,10.763,349,5.906,350,4.33,358,5.252,376,5.24,568,7.158,809,7.963,2109,5.736,2113,6.561,2287,6.899,3459,9.224,3740,10.888]],["keywords/408",[]],["title/409",[3842,1400.437]],["content/409",[41,6.774,45,2.73,52,5.382,62,4.52,84,5.811,89,5.615,137,4.544,139,1.918,140,1.756,143,4.047,144,1.707,151,5.132,160,2.633,161,6.044,162,3.842,164,4.254,180,5.183,186,3.738,243,6.812,244,6.812,277,3.797,286,10.243,349,5.621,350,4.121,358,5.06,376,4.987,568,7.715,809,7.393,2109,5.326,2113,6.092,2224,8.564,2287,6.405,2619,8.732,3459,8.564,3842,16.386,3843,10.886]],["keywords/409",[]],["title/410",[3844,1400.437]],["content/410",[41,5.078,45,2.047,52,5.636,62,4.983,84,4.742,89,4.21,137,3.406,139,2.508,140,1.316,143,3.034,144,1.279,151,3.848,159,5.413,160,1.974,161,4.531,162,3.538,164,4.27,180,5.53,186,2.802,208,2.945,217,4.696,243,5.558,244,5.558,277,3.099,286,8.358,349,5.997,350,4.397,358,5.079,376,4.069,568,5.558,646,3.715,651,5.922,652,5.129,803,10.292,809,5.542,840,8.974,920,6.103,1036,6.675,1264,10.027,2105,12.688,2109,3.993,2113,4.567,2224,6.421,2287,4.802,2619,7.125,2925,7.154,3459,6.421,3532,8.559,3580,7.843,3724,7.784,3727,8.252,3844,13.371,3845,8.161,3846,11.144,3847,12.587,3848,8.559,3849,12.587]],["keywords/410",[]],["title/411",[3830,1257.008]],["content/411",[5,2.567,7,6.241,40,9.373,45,1.902,52,5.362,62,5.66,137,3.166,138,3.598,139,2.402,140,1.833,143,4.225,144,1.782,151,3.576,160,2.749,161,4.211,162,3.332,164,4.347,180,5.335,185,4.463,186,2.604,208,1.861,219,4.948,231,7.955,235,8.45,243,5.264,277,2.935,324,5.503,336,3.642,349,4.344,350,4.242,358,3.453,376,3.853,423,7.34,568,5.264,646,5.173,669,6.203,698,6.31,1113,8.784,1476,5.151,1488,8.37,1543,3.492,1791,6.337,2059,5.282,2287,4.463,2482,10.16,2651,6.485,2652,9.751,2917,7.289,2925,6.648,3724,7.372,3727,7.815,3737,7.043,3830,18.154,3831,11.366,3835,20.225,3850,9.202,3851,9.202]],["keywords/411",[]],["title/412",[3740,1167.278]],["content/412",[45,2.651,51,4.652,52,5.09,62,4.39,137,4.412,139,2.54,140,1.705,144,1.657,151,4.984,158,5.076,160,2.557,161,5.869,162,3.726,164,4.19,180,5.782,186,3.63,243,6.677,244,6.677,277,3.722,349,5.51,350,4.597,358,4.38,376,4.888,568,7.599,643,5.779,683,9.816,803,9.455,806,7.562,920,7.905,2105,10.461,2287,6.22,2482,7.094,2493,8.474,2619,8.559,2925,9.266,3580,10.159,3724,9.352,3727,9.913,3740,13.389]],["keywords/412",[]],["title/413",[3843,1257.008]],["content/413",[45,2.651,51,4.652,52,5.09,62,4.39,137,4.412,139,2.54,140,1.705,144,1.657,151,4.984,158,5.076,160,2.557,161,5.869,162,3.726,164,4.19,180,5.782,186,3.63,243,6.677,244,6.677,277,3.722,349,5.51,350,4.597,358,4.38,376,4.888,568,7.599,643,5.779,683,9.816,803,9.455,806,7.562,920,7.905,2105,10.461,2287,6.22,2482,7.094,2619,8.559,2925,9.266,3580,10.159,3724,9.352,3727,9.913,3758,8.317,3843,14.418]],["keywords/413",[]],["title/414",[3852,1400.437]],["content/414",[45,2.682,52,4.768,62,4.441,137,4.464,140,1.725,144,1.677,151,5.042,158,5.135,160,2.587,161,5.938,162,3.892,164,4.523,180,6.241,186,3.672,243,6.73,244,6.73,277,3.752,349,5.554,350,4.625,351,6.791,358,5.626,376,4.927,425,10.396,568,7.645,795,5.802,2045,9.931,2287,6.293,2482,7.177,2619,8.627,3831,14.533,3852,16.191,3853,12.976,3854,16.191]],["keywords/414",[]],["title/415",[3855,1400.437]],["content/415",[41,6.897,45,2.78,52,5.415,62,4.603,84,5.883,89,5.718,137,4.626,139,1.953,140,1.788,143,4.12,144,1.738,151,5.226,160,2.681,161,6.154,162,3.778,164,4.293,180,5.246,186,3.806,243,6.895,244,6.895,277,3.844,286,10.368,349,5.69,350,4.171,358,5.106,376,5.048,568,7.786,809,7.528,2224,8.72,2287,6.522,2619,8.838,3459,8.72,3740,10.293,3855,16.587]],["keywords/415",[]],["title/416",[3856,1400.437]],["content/416",[41,6.897,45,2.78,52,5.415,62,4.603,84,5.883,89,5.718,137,4.626,139,1.953,140,1.788,143,4.12,144,1.738,151,5.226,160,2.681,161,6.154,162,3.778,164,4.293,180,5.246,186,3.806,243,6.895,244,6.895,277,3.844,286,10.368,349,5.69,350,4.171,358,5.106,376,5.048,568,7.786,697,6.83,2224,8.72,2287,6.522,2619,8.838,3459,8.72,3843,11.084,3856,16.587]],["keywords/416",[]],["title/417",[3857,1400.437]],["content/417",[41,5.147,45,2.074,52,5.652,62,5.033,84,4.789,89,4.267,137,3.453,139,2.528,140,1.334,143,3.075,144,1.297,151,3.9,159,5.487,160,2.001,161,4.593,162,3.439,164,4.294,180,5.566,186,2.84,208,2.974,217,4.743,243,5.613,244,5.613,277,3.129,286,8.441,349,6.036,350,4.425,358,5.107,376,4.109,568,5.613,646,3.765,651,6.002,652,5.199,803,10.358,809,5.618,840,9.064,920,6.186,1036,6.765,1264,10.127,2105,12.749,2224,6.508,2287,4.867,2619,7.195,2925,7.251,3459,6.508,3532,8.676,3580,7.95,3724,7.862,3727,8.334,3845,8.272,3846,11.255,3847,12.712,3848,8.676,3849,12.712,3857,13.504]],["keywords/417",[]],["title/418",[3858,1400.437]],["content/418",[5,1.009,7,3.669,45,2.174,48,4.515,52,4.948,62,3.599,63,13.019,84,5.822,137,2.237,138,2.542,139,0.944,140,2.605,141,2.727,143,1.992,144,1.359,151,6.947,160,3.906,161,4.812,162,3.495,164,4.636,180,5.192,185,3.153,186,1.84,208,2.127,224,4.355,243,4.014,244,2.482,256,3.656,273,4.268,277,3.238,292,6.097,340,2.296,349,6.696,350,3.513,358,5.067,375,4.502,376,5.474,568,5.808,628,4.703,669,4.383,698,6.962,746,3.514,849,5.193,882,6.699,883,6.482,1113,4.142,1297,5.013,1386,3.781,2014,7.92,2024,13.273,2284,8.668,2285,8.668,2286,8.668,2289,8.668,2290,8.668,2299,5.359,2487,4.383,2619,3.181,2634,5.359,2879,8.436,2943,12.675,3476,4.216,3723,4.827,3724,3.476,3725,6.587,3727,5.96,3808,8.33,3858,9.657,3859,6.502,3860,5.359,3861,5.62,3862,5.62,3863,5.62,3864,5.62,3865,5.62,3866,5.62,3867,5.62,3868,5.62]],["keywords/418",[]],["title/419",[3869,1318.333]],["content/419",[5,0.992,7,4.173,45,2.143,48,4.793,52,4.92,62,3.549,63,12.946,84,5.775,137,2.198,138,2.498,139,0.928,140,2.587,143,1.957,144,1.34,151,6.891,160,3.88,161,4.745,162,3.478,164,4.615,180,5.15,186,1.808,208,2.097,224,4.303,243,2.439,244,2.439,256,3.604,273,4.208,277,3.205,292,6.635,340,2.256,349,6.661,350,3.478,358,4.677,375,5.603,376,5.438,568,5.749,628,4.637,669,4.307,698,6.891,746,3.453,806,3.767,830,4.222,849,5.12,882,6.605,883,6.391,1113,4.07,1297,4.943,1386,3.716,2014,7.826,2024,13.167,2045,7.936,2284,8.546,2285,8.546,2286,8.546,2289,8.546,2290,8.546,2299,5.266,2487,4.307,2619,3.126,2634,5.266,2879,9.593,2911,5.523,2943,12.599,3439,5.523,3723,4.744,3724,3.416,3725,6.495,3727,5.876,3808,8.213,3860,5.266,3861,5.523,3862,5.523,3863,5.523,3864,5.523,3865,5.523,3866,5.523,3867,5.523,3868,5.523,3869,11.312,3870,6.389]],["keywords/419",[]],["title/420",[3871,1400.437]],["content/420",[5,1.009,7,3.669,29,2.526,45,2.174,48,4.831,52,4.948,62,3.599,63,13.019,84,5.822,137,2.237,138,2.542,139,0.944,140,2.605,143,3.222,144,1.359,151,6.947,160,3.906,161,4.812,162,3.553,164,4.636,180,5.192,186,1.84,208,1.315,224,4.355,243,2.482,244,2.482,256,3.656,273,4.268,277,3.238,292,6.097,340,2.296,349,6.696,350,3.513,358,4.711,375,4.502,376,5.474,568,5.808,628,4.703,669,4.383,698,6.962,746,3.514,849,5.193,882,6.699,883,6.482,950,4.581,1113,4.142,1297,5.013,1386,3.781,2014,7.92,2024,13.273,2113,2.999,2284,8.668,2285,8.668,2286,8.668,2289,8.668,2290,8.668,2299,5.359,2487,4.383,2619,3.181,2634,5.359,2879,9.692,2943,12.27,3723,4.827,3724,3.476,3725,6.587,3727,5.96,3808,8.33,3860,5.359,3861,5.62,3862,5.62,3863,5.62,3864,5.62,3865,5.62,3866,5.62,3867,5.62,3868,5.62,3869,5.62,3871,9.657,3872,6.502]],["keywords/420",[]],["title/421",[3873,1400.437]],["content/421",[5,2.208,20,7.963,45,2.94,48,3.845,52,3.386,137,6.451,140,1.891,144,1.838,160,2.836,161,6.51,162,3.839,164,4.693,185,6.899,186,4.026,243,5.43,259,6.361,277,4.464,333,7.024,349,4.481,358,5.252,392,10.024,513,13.335,568,5.43,647,8.062,676,5.81,1022,10.888,1574,10.888,1588,8.165,1824,18.132,3873,13.063,3874,18.751,3875,14.226]],["keywords/421",[]],["title/422",[3837,1318.333]],["content/422",[5,1.903,45,2.534,52,5.243,62,4.195,137,4.217,139,1.78,140,1.63,144,1.584,151,4.763,160,2.444,161,5.609,162,3.675,164,4.092,180,5.646,186,3.469,208,2.479,243,6.473,277,3.608,349,6.608,350,4.489,358,4.867,376,4.738,568,6.473,646,4.598,748,8.638,750,5.609,752,5.893,796,9.382,803,6.626,808,8.968,830,8.099,843,7.555,920,7.555,1741,9.709,2105,11.627,2287,5.945,2922,16.024,3476,10.996,3724,9.065,3725,7.677,3837,14.658,3838,15.571,3876,12.258]],["keywords/422",[]],["title/423",[3845,1257.008]],["content/423",[45,2.183,52,5.642,62,5.224,137,3.634,139,2.217,140,1.404,144,1.365,151,4.104,159,5.774,160,2.106,161,4.833,162,3.501,164,4.383,180,5.205,186,2.989,208,3.087,217,4.923,243,5.826,244,5.826,277,3.248,349,6.559,350,4.138,358,5.213,376,4.265,568,5.826,646,3.963,651,6.317,652,5.472,671,4.688,803,11.255,806,6.228,808,9.478,840,9.407,920,6.51,1036,7.12,1264,10.511,2105,13.381,2287,5.123,2619,7.468,2925,7.631,3724,8.16,3727,8.65,3845,12.58,3846,11.682,3847,13.194,3848,9.131]],["keywords/423",[]],["title/424",[3877,1400.437]],["content/424",[7,6.073,27,8.962,59,6.866,139,2.889,140,1.446,144,1.405,151,4.225,160,2.168,162,1.754,164,2.289,180,4.526,186,3.077,208,3.684,243,8.365,244,7.594,305,8.832,336,4.303,349,4.909,358,3.902,573,6.206,698,7.132,1041,6.206,1324,8.613,1543,4.127,1588,11.419,1834,8.179,2091,12.066,2092,9.985,2097,12.846,2113,7.188,2470,6.811,2476,9.4,2482,6.014,2619,5.321,2620,8.323,2621,9.4,2683,7.185,2691,9.985,2714,11.929,2942,9.985,3396,8.074,3759,8.962,3877,19.339,3878,10.874,3879,8.962,3880,10.874,3881,10.874,3882,10.874,3883,15.585,3884,10.874,3885,10.874,3886,10.874,3887,10.874]],["keywords/424",[]],["title/425",[1459,1208.042]],["content/425",[7,4.926,29,4.047,45,2.152,52,5.537,62,3.564,139,3.235,140,1.384,144,1.346,151,4.047,160,2.076,161,4.765,162,3.484,164,3.742,180,3.024,186,2.947,201,9.504,204,6.345,208,2.106,219,5.421,230,6.655,232,5.189,243,5.767,244,3.975,277,3.215,333,5.142,336,4.121,349,6.802,350,3.488,358,3.782,376,4.221,568,5.767,573,4.147,646,7.316,803,8.166,806,12.732,808,5.508,1041,4.147,1459,11.966,1543,3.952,1834,6.211,1972,9.002,2045,7.971,2091,8.076,2105,13.323,2619,5.095,2714,7.971,3888,10.414,3889,10.414,3890,9.563,3891,9.563]],["keywords/425",[]],["title/426",[3892,1400.437]],["content/426",[41,7.538,45,3.038,59,6.475,139,2.782,140,1.954,144,1.899,160,2.93,161,6.726,162,3.874,164,4.486,180,5.564,186,4.16,187,5.361,243,5.61,244,5.61,277,4.077,350,4.424,358,4.796,877,9.711,920,11.807,2625,12.114,3724,10.241,3727,10.856,3744,15.174,3892,19.57,3893,14.698,3894,12.705,3895,12.705]],["keywords/426",[]],["title/427",[52,363.045]],["content/427",[41,9.715,45,2.413,52,5.765,62,3.996,78,4.38,84,5.338,89,4.964,97,4.93,137,4.017,139,1.696,140,1.552,144,2.118,151,4.537,158,6.487,160,2.328,161,5.343,162,3.619,164,3.987,180,4.761,186,3.305,208,2.362,224,3.84,243,6.257,244,6.257,277,3.488,286,9.409,336,4.621,349,5.163,350,3.785,358,5.143,376,4.581,423,5.182,568,7.231,637,7.313,809,6.536,1543,4.431,1729,8.937,2224,7.571,2287,5.663,2420,8.937,2482,6.458,2619,8.021,2652,6.884,3459,7.571,3741,13.511,3824,10.722,3825,10.722,3826,10.722,3827,10.722]],["keywords/427",[]],["title/428",[65,787.86,2109,480.814]],["content/428",[5,2.825,64,6.197,65,14.473,203,10.314,2109,9.475,2866,15,2910,15.732,3715,14.473,3896,16.712,3897,18.199,3898,16.712,3899,15.732,3900,18.199]],["keywords/428",[]],["title/429",[1666,739.633]],["content/429",[1,2.156,2,5.404,5,3.462,7,1.89,35,3.454,52,3.724,59,4.816,75,3.122,89,2.9,91,4.125,96,4.14,102,2.109,110,4.273,139,3.239,140,1.453,141,4.585,142,3.432,144,2.021,145,6.211,150,3.005,160,1.36,162,1.764,164,2.879,173,2.941,180,1.981,181,3.881,186,1.931,196,4.852,202,6.432,204,2.435,206,5.623,208,2.211,225,3.365,227,2.848,231,5.897,240,3.704,252,3.198,256,2.371,265,2.243,279,2.53,295,9.45,297,6.264,308,5.404,321,3.05,337,2.311,349,3.443,350,1.575,352,5.144,353,2.9,362,3.28,376,3.055,443,3.687,455,3.819,494,3.773,564,8.714,573,2.717,628,3.05,676,2.786,700,5.661,775,2.277,812,3.729,813,3.005,1029,5.221,1041,2.717,1072,5.065,1146,3.338,1162,6.446,1287,5.211,1297,3.252,1462,4.599,1488,4.14,1568,4.698,1587,3.647,1606,5.909,1614,6.847,1666,10.815,1718,9.883,1740,6.538,1764,5.404,1834,2.805,1837,7.898,1925,5.623,2109,4.408,2264,8.117,2369,8.659,2426,5.221,2511,5.623,2859,4.508,2860,5.404,2936,6.264,3632,4.022,3765,7.528,3901,6.264,3902,6.822,3903,6.822,3904,9.01,3905,5.897,3906,10.932,3907,10.932,3908,10.932,3909,6.822,3910,6.822,3911,5.897,3912,6.822,3913,6.822,3914,10.932,3915,6.822,3916,6.822,3917,6.822,3918,5.623,3919,5.404,3920,6.822,3921,5.404,3922,6.822,3923,6.822,3924,6.822,3925,6.822,3926,10.932,3927,6.822,3928,10.932,3929,6.822,3930,6.822,3931,6.822,3932,6.822]],["keywords/429",[]],["title/430",[3904,1257.008]],["content/430",[5,3.066,41,7.905,59,8.703,94,9.088,102,4.766,120,8.525,139,3.339,140,2.049,144,1.992,150,9.605,158,6.1,160,3.073,164,3.244,186,4.362,345,8.067,349,6.223,700,6.378,952,7.475,1571,11.136,1666,7.475,2152,10.861,3765,13.604,3904,12.704,3918,12.704,3921,12.209,3933,15.413,3934,15.413,3935,15.413,3936,16.282]],["keywords/430",[]],["title/431",[2860,1208.042]],["content/431",[5,2.862,59,10.125,102,4.288,120,7.671,139,2.678,140,1.844,144,1.792,145,8.372,153,5.523,158,5.489,160,2.765,164,2.919,180,4.028,186,3.925,219,4.977,256,4.821,322,6.249,349,6.525,358,3.472,376,5.153,855,7.733,1162,8.177,1175,11.324,1237,11.739,1316,8.835,1571,10.02,1666,6.726,1740,8.294,2077,12.736,2152,9.773,2264,10.298,2860,10.986,3765,12.698,3839,11.431,3918,11.431,3937,13.869,3938,13.869,3939,13.869,3940,12.736]],["keywords/431",[]],["title/432",[938,955.22]],["content/432",[5,3.108,48,4.254,59,6.935,102,4.867,120,8.707,139,2.908,140,2.093,144,2.034,158,6.23,160,3.138,180,4.572,186,4.455,349,4.959,350,3.635,855,6.602,938,15.317,1571,11.373,1666,7.635,2113,9.235,2152,11.093,2264,11.688,2884,11.688,3765,13.788,3941,14.455,3942,15.742,3943,15.742,3944,15.742]],["keywords/432",[]],["title/433",[3945,1318.333]],["content/433",[130,6.093,140,2.343,160,3.513,180,5.117,195,10.694,262,11.643,336,6.973,646,6.61,724,8.863,746,9.524,855,9.717,1666,10.417,2459,11.742,3946,17.703,3947,17.62,3948,16.18]],["keywords/433",[]],["title/434",[3946,1257.008]],["content/434",[5,2.815,37,4.561,59,7.99,102,4.184,120,7.484,139,3.31,140,1.799,142,6.806,144,1.748,158,5.355,160,2.698,164,2.848,170,12.226,179,6.742,186,3.829,217,4.364,219,4.855,336,5.355,349,5.713,614,7.009,646,6.804,700,5.599,724,6.806,746,7.314,855,7.607,952,6.562,1203,11.984,1571,9.775,1666,9.922,1803,9.534,2152,9.534,2459,7.397,3765,12.49,3804,11.696,3911,11.696,3945,15.678,3946,16.863,3948,16.655,3949,12.425,3950,12.425,3951,13.53]],["keywords/434",[]],["title/435",[3768,1257.008]],["content/435",[41,7.488,59,10.296,64,4.972,139,3.085,140,1.941,144,1.887,145,8.66,160,2.911,180,5.54,186,4.132,256,5.075,286,8.381,349,4.599,350,4.906,376,4.08,378,9.595,749,8.492,809,10.677,1162,8.609,1524,11.565,1666,7.081,1740,11.407,2264,10.841,2356,6.734,3724,7.806,3765,10.055,3768,12.034,3901,13.407,3918,12.034,3952,14.601,3953,13.407,3954,14.601,3955,14.601,3956,14.601]],["keywords/435",[]],["title/436",[224,501.519]],["content/436",[5,3.108,59,6.935,102,4.867,120,8.707,139,2.908,140,2.093,144,2.034,158,6.23,160,3.138,180,4.572,186,4.455,224,8.171,349,4.959,350,3.635,855,6.602,1571,11.373,1666,7.635,2014,9.414,2113,9.235,2152,11.093,2264,11.688,2884,11.688,3765,13.788,3941,14.455,3957,15.742,3958,15.742]],["keywords/436",[]],["title/437",[2109,480.814,2357,787.86]],["content/437",[5,2.825,42,11.046,208,3.681,221,8.826,349,5.733,671,8.077,980,13.929,1834,7.482,2109,7.339,2357,15.526,3717,13.513,3959,15,3960,16.712,3961,12.268,3962,12.824]],["keywords/437",[]],["title/438",[2357,1007.71]],["content/438",[42,9.98,108,10.474,140,2.186,160,3.278,164,4.332,178,9.563,221,7.975,643,7.409,980,12.585,2109,9.493,2357,16.578,3723,12.209,3724,8.791,3726,11.88,3727,11.663,3959,13.553,3960,15.099,3961,11.084,3962,11.587]],["keywords/438",[]],["title/439",[3963,1400.437]],["content/439",[29,6.934,42,10.83,59,10.493,139,1.918,140,1.756,144,1.707,160,2.633,164,4.254,180,5.183,186,3.738,217,4.26,350,3.05,375,7.64,460,13.137,790,6.708,808,9.438,809,7.393,1141,13.658,2093,14.708,2224,8.564,2357,14.938,2482,9.87,2652,7.787,2674,8.413,2933,11.417,3014,11.367,3717,13.25,3895,11.417,3961,12.029,3962,12.575,3963,16.386,3964,12.128,3965,13.208,3966,13.208,3967,13.208]],["keywords/439",[]],["title/440",[3968,1318.333]],["content/440",[29,6.121,42,9.56,45,2.281,52,4.768,59,9.331,62,3.777,137,3.797,139,1.603,140,1.467,144,1.426,151,4.288,153,4.395,160,2.2,161,5.05,162,3.553,164,4.458,180,5.334,186,3.123,208,2.232,217,3.56,243,6.013,244,6.013,277,3.352,349,3.476,350,3.637,358,4.598,375,6.743,376,4.401,460,12.157,568,6.013,790,8,795,4.935,808,5.837,809,8.817,920,6.802,980,8.447,1141,8.447,2093,12.983,2287,7.639,2357,13.235,2482,8.712,2619,5.4,2620,8.447,2652,6.507,2674,7.03,2933,9.54,3014,10.034,3717,8.194,3895,9.54,3961,10.618,3962,11.099,3968,13.616]],["keywords/440",[]],["title/441",[2358,1318.333]],["content/441",[5,1.822,7,5.264,42,9.986,45,2.426,136,3.843,138,4.589,140,2.187,143,3.596,144,1.517,160,3.28,161,5.371,162,3.497,164,4.563,186,3.322,217,3.786,237,8.984,242,6.652,243,4.481,329,6.275,331,5.371,349,3.697,460,12.496,513,12.312,573,4.674,646,4.403,698,7.529,790,8.356,795,7.357,920,10.141,1041,4.674,1834,8.912,2357,13.604,2358,16.422,2714,8.984,3014,10.481,3817,17.444,3894,10.147,3961,11.091,3962,11.594,3969,11.738,3970,10.779,3971,11.738,3972,11.738,3973,11.738,3974,11.738,3975,11.738]],["keywords/441",[]],["title/442",[2359,1318.333]],["content/442",[5,1.808,7,5.487,42,9.934,45,2.408,46,4.919,52,4.714,62,2.53,136,2.721,137,2.543,138,2.889,140,1.917,143,2.264,144,1.863,151,2.872,160,2.875,161,5.331,162,3.487,164,4.786,173,3.187,180,3.384,186,2.092,208,2.356,217,2.384,242,4.189,243,4.447,244,2.821,277,2.479,279,2.741,282,4.42,327,4.088,329,6.228,331,5.331,336,2.925,349,5.61,350,3.779,358,2.917,376,3.256,423,5.171,460,12.455,513,14.386,568,4.447,573,2.943,669,4.982,674,4.189,698,5.331,790,8.312,795,8.46,808,7.627,1041,2.943,1543,2.805,1791,5.09,1834,7.322,2287,3.584,2357,12.502,2359,10.071,2714,5.657,3014,10.426,3439,6.389,3724,6.228,3727,6.603,3961,11.033,3962,11.533,3970,10.698,3976,11.651,3977,11.651,3978,6.389,3979,7.391,3980,10.698,3981,6.787,3982,7.391]],["keywords/442",[]],["title/443",[3983,1400.437]],["content/443",[29,9.033,40,6.833,139,1.751,140,1.603,141,9.75,144,1.558,160,2.404,164,4.384,180,4.869,186,3.413,217,7.061,219,4.327,230,5.312,232,6.008,256,6.699,350,2.784,460,14.387,790,10.579,806,7.109,808,6.377,1141,9.229,2357,14.974,2482,9.272,2674,7.681,3014,13.269,3717,8.953,3724,8.962,3725,7.552,3860,9.938,3983,17.697,3984,19.272,3985,15.394]],["keywords/443",[]],["title/444",[3986,1400.437]],["content/444",[5,1.289,7,5.501,29,6.036,40,7.23,43,5.488,45,1.717,46,3.507,52,4.726,62,4.366,137,2.857,138,3.247,139,1.206,140,1.696,141,8.948,143,2.545,144,1.073,151,3.227,160,2.543,161,3.8,162,3.203,163,4.101,164,4.606,180,3.705,186,2.351,198,4.178,208,1.68,217,6.066,219,2.98,232,4.139,243,5.929,244,5.929,256,6.058,277,2.715,336,3.287,349,2.616,350,2.946,358,3.889,376,3.565,423,3.686,447,3.098,460,12.949,568,4.87,646,4.786,669,5.599,698,5.838,790,8.852,806,4.897,809,7.141,1141,6.357,1543,3.152,1791,5.72,2287,4.028,2357,13.118,2482,10.402,2652,7.522,2925,9.217,3014,11.103,3717,6.167,3724,6.82,3725,5.202,3737,6.357,3808,6.579,3849,7.179,3968,7.179,3978,13.428,3981,7.627,3985,11.715,3986,14.264,3987,12.758,3988,18.807]],["keywords/444",[]],["title/445",[3989,1400.437]],["content/445",[29,6.031,140,2.064,144,2.006,160,3.094,164,4.852,186,4.393,217,5.006,460,13.991,790,7.883,795,6.94,806,11.7,1113,9.887,1141,11.88,2357,13.111,2482,10.975,2674,9.887,3014,12.64,3717,11.524,3725,9.722,3854,18.221,3964,14.253,3989,14.253,3990,19.635]],["keywords/445",[]],["title/446",[136,278.481,144,154.065]],["content/446",[7,4.035,35,2.186,93,6.819,94,5.838,136,2.313,139,3.185,144,1.279,145,8.645,150,6.415,153,3.943,170,11.641,179,8.606,204,3.534,217,6.843,219,3.553,243,6.592,244,6.592,256,3.442,336,3.919,345,5.182,350,2.286,376,2.767,504,9.092,646,5.462,700,4.098,746,5.352,796,7.579,809,5.542,855,4.153,889,8.161,1162,5.838,1203,9.621,1316,6.307,1516,10.26,1666,7.062,1740,11.386,1803,6.977,1834,4.071,2072,6.421,2113,6.716,2459,5.413,2493,9.621,2860,7.843,3230,12.476,3728,10.811,3748,11.144,3758,6.421,3765,13.112,3768,8.161,3809,6.819,3839,12.001,3904,8.161,3911,12.587,3945,8.559,3946,12.001,3949,9.092,3950,9.092,3953,9.092,3991,9.902,3992,9.902,3993,9.902,3994,9.902,3995,9.902,3996,9.902,3997,9.902,3998,19.04,3999,14.561,4000,9.902,4001,9.902,4002,9.902,4003,9.902,4004,9.902]],["keywords/446",[]],["title/447",[1158,1400.437]],["content/447",[]],["keywords/447",[]],["title/448",[11,496.721,325,684.396]],["content/448",[1,3.061,3,9.027,5,2.409,7,4.301,11,8.266,35,3.427,50,5.395,89,6.599,139,2.882,225,6.732,256,5.395,325,8.909,533,16.741,571,6.692,620,9.888,676,6.34,719,12.295,750,7.102,758,6.94,1176,9.566,1344,12.793,1474,10.937,1568,10.689,1606,8.39,1689,11.88,1707,13.417,1850,11.88,1908,10.463,4005,15.521,4006,15.521,4007,13.417]],["keywords/448",[]],["title/449",[4008,1525.086]],["content/449",[11,5.312,18,4.811,37,4.299,89,5.421,95,11.023,106,6.817,117,8.986,118,8.986,119,6.476,122,11.709,129,7.053,130,6.863,131,7.859,132,8.986,133,11.099,135,7.626,195,7.739,202,5.242,225,3.925,272,7.319,273,5.175,289,15.062,302,6.078,307,7.053,320,7.739,408,7.739,443,6.893,493,8.426,533,9.76,566,9.76,758,5.702,929,8.426,1023,11.709,1165,13.668,1169,8.426,1175,6.971,1176,7.859,1381,11.709,1543,6.612,1563,9.468,1574,9.76,1674,9.468,1689,9.76,1696,11.709,2060,7.987,2490,9.76,2717,9.468,2987,15.062,4009,17.424,4010,12.752,4011,12.752,4012,11.709,4013,17.424,4014,12.752,4015,12.752,4016,12.752,4017,12.752,4018,12.752,4019,12.752]],["keywords/449",[]],["title/450",[285,452.499,4020,861.436]],["content/450",[]],["keywords/450",[]],["title/451",[1,125.581,5,98.835,136,148.708,225,195.97,278,291.357,4020,460.004]],["content/451",[1,4.078,5,3.21,35,4.977,37,5.584,45,3.424,136,5.265,142,8.333,208,4.559,221,10.028,278,10.315,280,12.95,281,12.679,332,9.162,338,8.762,1162,9.767,4020,14.938]],["keywords/451",[]],["title/452",[1,142.14,50,250.501,136,168.317,568,275.096,4020,520.661]],["content/452",[1,3.368,5,2.651,35,3.77,45,3.53,50,7.324,136,5.337,143,5.232,189,6.8,203,11.94,221,8.282,331,7.814,338,9.032,563,9.032,568,8.043,2319,10.364,2419,12.679,4020,12.337,4021,15.681,4022,17.077,4023,15.681]],["keywords/452",[]],["title/453",[1,163.73,50,288.55,568,316.881,4020,599.745]],["content/453",[5,2.611,35,3.713,45,4.314,58,9.128,136,4.875,143,5.153,189,6.697,203,11.828,221,8.156,331,7.696,337,5.698,338,8.895,447,6.273,568,7.967,695,9.194,2319,10.207,2419,12.487,4020,15.079,4021,15.443,4023,15.443,4024,16.818]],["keywords/453",[]],["title/454",[51,261.426,255,437.393,285,273.495,840,444.178,4025,570.857]],["content/454",[35,3.77,61,8.356,181,6.062,358,4.275,376,4.772,382,12.034,447,6.37,625,9.032,626,10.878,695,9.336,875,8.59,2436,15.681,4020,12.337,4026,17.077,4027,17.077,4028,17.077,4029,17.077,4030,17.077,4031,17.077,4032,17.077,4033,17.077,4034,17.077,4035,17.077,4036,17.077,4037,17.077]],["keywords/454",[]],["title/455",[285,371.458,3700,846.118,3713,726.759]],["content/455",[51,7.193,143,6.075,163,9.79,285,7.525,3700,17.14,3713,14.722,4038,19.828]],["keywords/455",[]],["title/456",[345,624.046,3713,885.315]],["content/456",[1,3.946,143,6.13,332,11.066,345,10.471,3713,14.855,4039,20.007]],["keywords/456",[]],["title/457",[3713,885.315,4040,1094.906]],["content/457",[48,4.285,51,5.751,64,5.399,129,8.769,132,11.172,143,4.858,159,8.667,165,8.385,240,5.372,285,7.633,319,10.918,322,7.143,340,5.598,374,8.385,443,8.57,676,6.476,823,10.1,1671,11.772,1862,13.29,1903,13.705,1904,14.559,1935,9.348,3713,16.402,4040,14.559,4041,14.559,4042,15.855,4043,15.855,4044,15.855,4045,15.855,4046,15.855,4047,15.855]],["keywords/457",[]],["title/458",[337,281.25,962,571.679,3635,559.596,4048,616.37]],["content/458",[]],["keywords/458",[]],["title/459",[1563,1132.359]],["content/459",[5,1.904,6,4.719,18,2.977,29,3.066,48,5.671,49,3.861,64,2.687,88,6.144,92,10.601,97,3.332,106,8.041,126,5.214,139,2.184,145,3.583,152,4.4,158,3.123,171,4.943,200,5.214,220,3.611,259,9.849,302,3.761,337,2.674,339,4.719,340,2.786,372,7.952,382,5.561,392,5.561,398,5.214,423,3.502,454,7.812,542,4.314,561,9.386,570,7.132,581,9.714,592,4.789,621,6.629,666,5.701,675,12.911,742,3.502,746,4.265,789,4.719,792,8.86,794,6.04,903,6.504,918,4.472,938,4.943,1081,6.821,1379,9.386,1399,5.701,1403,5.859,1440,7.246,1461,5.561,1482,5.701,1538,8.86,1563,5.859,1699,6.504,1733,6.04,1843,10.601,1878,10.601,2060,7.681,2175,8.86,2325,13.002,2408,11.261,2556,5.859,2717,5.859,2850,7.681,3313,6.821,3333,9.753,3449,7.246,3609,13.703,3635,5.319,3643,7.246,3653,7.246,3687,10.108,3879,6.504,3899,6.821,4049,7.891,4050,7.246,4051,7.891,4052,13.812,4053,6.504,4054,15.041,4055,7.891,4056,7.891,4057,7.891,4058,7.891,4059,7.891,4060,12.263,4061,12.263,4062,12.263,4063,12.263,4064,7.891,4065,7.891,4066,7.246,4067,7.246,4068,7.891,4069,7.246,4070,12.263,4071,7.891,4072,7.891,4073,7.246,4074,7.891,4075,7.891,4076,7.891,4077,7.246,4078,7.246]],["keywords/459",[]],["title/460",[219,427.848,1065,861.436]],["content/460",[88,9.53,187,6.531,197,7.13,370,11.036,436,8.193,443,9.678,511,10.867,546,12.07,718,11.831,2065,12.936,2470,11.215,3609,12.617,4079,17.905,4080,17.905,4081,17.905,4082,14.758,4083,15.478]],["keywords/460",[]],["title/461",[186,337.46,230,525.302]],["content/461",[5,3.202,9,4.298,84,4.886,88,8.792,89,4.386,97,4.356,119,7.62,134,8.503,135,6.17,139,2.568,143,3.161,145,9.366,162,1.664,187,5.473,194,3.175,221,5.003,272,5.922,314,6.462,337,5.083,362,4.96,404,4.009,420,8.918,436,6.866,438,16.494,439,9.558,511,11.784,546,6.954,615,5.048,671,4.579,675,8.503,700,6.209,761,5.515,789,12.336,1028,9.474,1067,5.576,1143,7.27,1192,7.105,1224,9.914,1340,6,1368,6.69,1591,4.96,1675,6.817,1871,6.817,1912,10.333,2065,7.453,2489,7.27,2591,11.141,2876,8.172,2884,7.66,3052,8.503,3130,8.918,3140,13.778,3306,8.918,3609,7.27,3635,6.954,3656,13.778,4082,8.503,4084,10.317,4085,9.474,4086,10.317,4087,10.317,4088,15.004,4089,10.317,4090,10.317,4091,10.317,4092,9.474,4093,10.317,4094,10.317]],["keywords/461",[]],["title/462",[232,594.176,4095,1094.906]],["content/462",[5,2.923,78,5.371,88,9.131,115,9.284,152,5.137,159,7.827,185,6.944,187,8.154,205,8.562,320,8.69,337,4.851,439,9.12,467,8.69,511,8.69,551,9.86,615,7.006,675,8.114,686,7.417,813,8.296,895,10.958,1224,12.443,1525,11.801,1538,10.344,1665,9.86,2123,9.46,2298,13.147,2470,8.968,2498,10.958,2591,10.631,2974,8.824,3111,10.958,3139,10.958,3609,13.27,3627,12.377,3635,9.651,4095,17.292,4096,13.147,4097,13.147,4098,14.318]],["keywords/462",[]],["title/463",[88,399.796,234,470.582,686,507.061]],["content/463",[51,6.656,88,9.631,187,6.693,224,6.034,332,10.149,436,8.397,443,9.919,570,10.672,700,7.594,794,14.045,3609,12.931,4099,18.35,4100,18.143]],["keywords/463",[]],["title/464",[29,380.346,88,399.796,454,623.514]],["content/464",[5,2.026,48,4.784,49,6.386,88,8.205,143,3.999,221,6.33,240,4.422,337,4.422,387,13.144,394,10.339,434,5.836,447,4.869,454,13.721,552,9.691,570,7.591,581,14.022,584,11.283,593,7.696,686,9.17,752,6.275,758,5.836,789,7.806,1038,11.283,1081,11.283,1167,8.988,1196,9.691,1242,7.055,1313,11.985,1324,10.339,1368,8.464,1475,11.985,1563,9.691,1699,10.758,2048,10.339,2178,9.691,2470,8.175,2473,13.549,3199,11.283,3635,8.798,3693,11.985,3879,10.758,4052,16.255,4077,11.985,4078,11.985,4083,11.283,4101,13.052,4102,13.052,4103,13.052,4104,13.052,4105,13.052,4106,17.702,4107,13.052,4108,13.052]],["keywords/464",[]],["title/465",[88,399.796,1214,547.894,4109,978.814]],["content/465",[5,2.002,48,3.486,49,6.312,88,9.159,106,9.389,118,9.09,156,8.365,157,6.047,163,6.369,187,6.406,197,5.137,252,6.047,443,6.973,511,10.659,615,6.312,675,7.311,702,8.217,718,8.524,792,9.32,822,7.221,823,8.217,843,7.951,895,15.283,962,8.884,1040,11.846,1347,7.503,1377,10.659,1379,9.874,1538,9.32,1551,7.829,1843,11.151,2117,9.578,2126,11.151,2155,10.916,2420,9.874,2511,10.633,2556,9.578,2766,11.846,3680,11.151,3687,10.633,3899,11.151,4048,9.578,4110,21.435,4111,12.9,4112,11.846,4113,16.127,4114,12.9,4115,12.9,4116,12.9,4117,12.9,4118,12.9]],["keywords/465",[]],["title/466",[64,245.403,542,393.982,1149,459.077,4119,720.675,4120,720.675]],["content/466",[5,1.862,48,5.193,54,6.975,88,6.822,97,8.775,106,6.411,112,5.976,115,13.476,133,7.639,143,3.674,158,4.746,187,4.374,197,4.775,259,5.362,438,12.401,542,12.69,567,8.451,596,8.259,675,6.796,686,8.652,698,7.642,700,4.963,718,7.924,743,7.776,813,5.283,895,9.179,1009,9.884,1036,8.084,1038,10.366,1166,7.071,1224,12.698,1461,8.451,1674,8.904,1709,8.259,2155,6.556,2178,12.401,2632,11.012,3111,9.179,3313,10.366,3609,11.769,4053,15.839,4067,11.012,4082,9.884,4121,11.992,4122,16.701,4123,11.992,4124,11.992,4125,10.366,4126,11.992,4127,11.992,4128,20.782,4129,11.992]],["keywords/466",[]],["title/467",[88,399.796,372,634.705,697,497.114]],["content/467",[5,2.58,48,2.508,49,4.54,64,4.725,80,5.632,84,3.022,88,9.019,106,4.961,151,3.606,152,5.964,158,3.672,187,6.728,220,4.246,222,5.549,224,3.052,259,6.205,271,5.632,285,3.522,302,6.614,321,4.149,337,6.249,372,6.017,397,7.35,401,7.648,429,14.118,434,4.149,436,4.246,438,6.89,439,8.839,454,5.911,511,11.195,542,5.073,561,7.102,581,10.992,596,6.39,615,8.133,666,6.704,671,4.118,675,5.259,686,4.807,700,3.84,718,9.169,719,7.35,735,7.35,752,4.461,789,9.94,801,7.35,821,6.131,962,6.39,975,8.521,1065,6.704,1164,7.648,1314,6.89,1408,8.521,1551,5.632,2048,7.35,2126,8.022,2178,6.89,2370,6.017,2425,7.648,2498,12.722,2566,7.35,2591,6.89,2597,7.35,2717,6.89,2843,8.022,3199,8.022,3306,8.022,3609,9.778,3635,12.434,3677,12.742,4048,6.89,4092,8.521,4096,8.521,4097,8.521,4112,8.521,4113,12.742,4125,8.022,4130,13.877,4131,9.28,4132,9.28,4133,9.28,4134,9.28,4135,9.28,4136,8.521,4137,9.28,4138,9.28,4139,9.28,4140,9.28,4141,9.28,4142,9.28,4143,9.28]],["keywords/467",[]],["title/468",[97,413.305,1439,689.738,4053,806.76]],["content/468",[64,6,97,9.069,187,7.834,436,8.063,439,11.224,467,10.694,546,11.878,813,7.763,1041,7.016,1224,11.643,1525,14.523,1550,11.426,1665,12.134,2591,13.083,4053,17.703,4082,14.523,4144,17.62,4145,17.62]],["keywords/468",[]],["title/469",[337,174.954,698,236.299,795,230.909,962,355.617,1550,334.853,2498,395.241,4048,383.418,4085,474.189]],["content/469",[5,1.935,37,4.202,64,4.244,65,8.236,66,10.573,69,7.454,88,9.049,91,4.703,145,8.905,164,2.624,171,7.807,220,5.704,337,5.812,397,17.549,429,9.54,454,10.927,494,6.894,584,10.775,686,6.457,698,5.704,915,9.54,918,7.064,924,7.565,962,11.813,1550,8.083,1551,10.411,1699,10.274,1733,15.012,2334,11.446,2498,9.54,2522,9.873,3609,14.888,3635,11.563,3699,10.775,4048,14.563,4050,18.011,4069,11.446,4083,10.775,4100,10.274,4146,12.465,4147,12.465,4148,12.465,4149,12.465,4150,12.465,4151,12.465,4152,12.465,4153,12.465,4154,12.465]],["keywords/469",[]],["title/470",[268,585.36,962,674.064,1543,371.458]],["content/470",[5,3.255,88,8.565,89,7.205,111,13.967,145,9.521,155,8.691,224,5.573,296,8.607,339,10.134,423,7.521,437,8.869,438,12.582,628,7.578,915,12.97,962,11.67,1543,7.958,2325,14.649,2876,13.423,2885,15.561,4048,12.582,4125,14.649,4136,15.561]],["keywords/470",[]],["title/471",[809,547.894,962,674.064,3680,846.118]],["content/471",[89,8.069,126,12.54,129,10.497,337,6.43,1368,12.307,1511,14.526,1675,12.54,2876,15.033,3635,12.794,3699,16.406,4155,18.979,4156,18.979]],["keywords/471",[]],["title/472",[2907,898.814,3197,689.738,4157,806.76]],["content/472",[80,10.78,88,7.255,129,11.937,185,8.614,337,6.018,438,13.188,466,15.354,467,10.78,938,11.125,962,12.232,2591,13.188,2592,16.31,3197,12.516,3635,11.973,4048,13.188,4157,14.639,4158,17.762,4159,17.762,4160,17.762]],["keywords/472",[]],["title/473",[83,541.368,209,441.015,352,262.365]],["content/473",[]],["keywords/473",[]],["title/474",[0,912.046]],["content/474",[1,3.967,5,3.429,11,6.605,83,8.769,107,11.172,119,8.052,124,8.298,125,10.1,187,8.058,352,6.228,353,6.741,446,7.828,570,9.221,751,10.1,1157,11.772,1368,10.281,1501,9.1,1591,7.622,1675,10.476,1735,12.135,2458,11.772,2522,12.559,2974,9.772,3407,12.559,3696,13.705,4161,15.855,4162,15.855]],["keywords/474",[]],["title/475",[1911,1101.818]],["content/475",[1,3.394,5,2.671,83,9.518,121,10.492,144,2.735,188,9.633,189,6.853,192,4.638,209,7.754,226,9.2,271,10.445,285,6.531,314,10.779,318,5.007,352,5.675,698,7.875]],["keywords/475",[]],["title/476",[1,163.73,192,167.9,318,181.257,2512,616.37]],["content/476",[1,1.375,5,2.581,13,4.368,29,4.323,35,0.882,37,1.346,38,2.135,45,3.275,49,1.954,52,1.66,64,1.36,72,5.885,78,2.616,89,2.965,91,1.507,102,1.235,107,2.814,121,3.191,129,2.209,130,3.21,133,4.443,136,1.629,138,1.561,139,3.419,140,0.531,141,4.666,143,2.844,144,1.438,145,9.128,150,3.072,156,6.02,157,1.872,158,1.58,162,2.556,170,4.701,181,4.928,185,3.382,187,2.544,188,3.904,192,3.021,196,6.63,202,5.707,203,2.263,208,0.808,209,3.142,217,2.994,218,3.452,221,4.502,222,4.171,223,5.544,224,2.293,225,1.229,227,1.04,230,1.759,234,1.92,240,3.77,241,3.353,244,5.299,248,2.069,251,5.178,252,3.269,256,2.424,257,8.038,273,1.621,286,2.292,290,5.197,293,8.025,296,3.542,314,2.501,318,2.758,319,4.803,321,3.118,324,8.933,351,7.818,352,4.004,353,1.698,371,2.355,376,1.949,446,1.972,447,1.49,483,2.965,494,3.857,508,2.544,513,2.388,540,2.501,545,2.424,563,4.91,604,10.217,615,1.954,623,3.291,644,4.914,658,6.542,676,1.631,693,2.263,695,2.183,696,2.424,722,2.639,744,4.388,758,4.151,768,3.857,821,6.134,822,5.197,843,2.461,848,1.722,875,3.508,918,2.263,952,1.937,1065,5.038,1067,2.159,1118,4.803,1145,3.667,1146,6.18,1189,2.692,1223,2.965,1242,2.159,1251,2.885,1279,4.914,1287,7.12,1298,5.178,1300,2.501,1303,2.965,1394,6.029,1443,7.215,1448,3.452,1451,3.163,1464,3.056,1469,5.338,1470,3.452,1499,2.965,1551,2.424,1554,2.589,1673,2.424,1690,3.163,1714,3.613,1716,3.163,1786,3.163,1862,2.639,1924,3.163,2059,2.292,2196,5.178,2356,3.217,2407,6.029,2454,2.885,2481,3.667,2526,2.544,2575,3.667,2597,3.163,2960,3.452,3052,3.291,3192,3.291,3197,4.914,3705,5.524,3741,3.291,3905,3.452,3936,5.748,4073,6.404,4100,3.291,4163,3.993,4164,3.993,4165,3.993,4166,3.993,4167,3.452,4168,3.993,4169,3.993,4170,3.993,4171,3.993,4172,3.993,4173,3.993,4174,3.993,4175,3.993,4176,3.993,4177,3.993,4178,3.993,4179,3.993,4180,3.993,4181,3.993,4182,3.993,4183,3.993,4184,3.993,4185,3.993,4186,7.354,4187,3.993,4188,11.126,4189,6.974,4190,6.974,4191,6.974,4192,6.974,4193,3.993,4194,6.974,4195,3.993,4196,3.993,4197,6.029,4198,6.404,4199,6.974,4200,6.974,4201,3.993,4202,3.993,4203,6.974,4204,6.974,4205,3.993,4206,3.993,4207,3.993,4208,6.974,4209,3.993,4210,3.667,4211,6.974,4212,3.993]],["keywords/476",[]],["title/477",[352,319.604,3694,1030.714]],["content/477",[]],["keywords/477",[]],["title/478",[144,107.262,199,635.377,352,222.514,770,635.377]],["content/478",[1,3.085,29,7.098,35,4.658,38,5.842,78,4.099,89,4.646,91,4.123,124,8.186,139,3.064,143,4.792,145,9.58,150,4.814,159,5.974,192,2.21,204,5.582,209,4.923,244,8.054,251,11.613,307,8.65,318,2.386,352,4.192,358,2.736,376,5.572,447,4.076,676,4.463,696,12.102,700,4.522,742,4.85,750,5,1162,10.77,1175,5.974,1176,6.735,1282,7.7,1334,12.313,1352,6.961,1367,10.034,1391,9.963,1469,8.364,1471,8.656,1587,5.842,1742,13.196,1744,10.034,2206,12.389,2208,10.034,2288,8.113,2904,7.7,3285,9.446,3891,10.034,3940,16.773,4198,14.362,4213,10.927,4214,15.055,4215,14.362]],["keywords/478",[]],["title/479",[74,464.673,124,434.471,4216,830.14,4217,830.14]],["content/479",[13,9.654,18,5.816,107,10.861,110,9.654,119,7.828,130,5.33,155,7.905,171,9.654,189,6.138,192,3.117,205,11.814,240,5.222,260,13.053,271,9.355,272,8.847,309,7.475,314,9.654,318,3.365,447,7.369,545,9.355,1035,15.648,1125,10.185,1298,11.444,1568,10.614,2117,11.444,2118,13.324,2123,10.185,2347,12.704,2369,15.648,2501,14.154,3673,14.154,4218,19.755,4219,15.413]],["keywords/479",[]],["title/480",[74,356.403,110,398.8,371,375.412,1035,504.352,4220,550.398,4221,584.676]],["content/480",[5,2.383,6,4.875,9,3.396,13,7.877,20,8.594,29,4.887,35,1.8,49,3.989,52,2.994,96,4.948,118,5.745,120,4.509,121,3.731,136,2.937,139,3.228,141,7.239,144,1.053,150,6.764,159,4.457,162,1.315,166,7.315,168,5.614,192,2.544,198,4.101,202,7.096,204,4.489,208,1.649,217,4.056,223,8.601,224,2.681,240,5.202,242,4.62,254,5.286,258,4.742,272,4.679,274,7.127,296,4.14,318,2.746,321,3.645,333,4.025,352,5.282,377,5.496,436,3.731,447,3.041,570,4.742,615,3.989,724,6.326,751,5.193,752,3.919,768,9.546,806,7.415,808,6.652,812,4.457,842,5.745,877,5.387,1067,4.407,1157,6.053,1205,5.387,1337,4.62,1359,6.458,1551,4.948,1587,8.208,1591,3.919,1675,5.387,2060,5.106,2099,6.053,2553,7.486,2702,12.655,2904,10.819,2974,5.025,3447,7.486,3704,7.047,3830,6.719,3894,7.047,4100,6.719,4221,7.486,4222,8.153,4223,8.153,4224,8.153,4225,12.577,4226,8.153,4227,17.26,4228,8.153,4229,8.153,4230,12.577,4231,17.26,4232,17.26,4233,12.577,4234,8.153,4235,12.577,4236,12.577,4237,12.577,4238,12.577,4239,12.577,4240,8.153,4241,12.577]],["keywords/480",[]],["title/481",[5,151.938,3197,689.738,3333,634.705]],["content/481",[5,2.126,7,3.796,35,3.024,45,2.831,84,4.461,96,8.313,97,5.784,114,9.896,139,3.19,141,8.634,192,2.77,202,5.631,255,8.313,256,4.761,318,2.991,675,7.763,700,5.669,821,9.051,826,10.85,836,8.313,1203,9.051,1333,9.051,1414,14.485,1450,8.313,1501,7.862,2099,10.17,2229,11.841,2356,6.318,2609,11.841,2623,11.841,3197,16.592,3980,12.578,4210,12.578,4214,15.072,4242,13.698,4243,13.698,4244,13.698,4245,11.841,4246,20.586,4247,12.578,4248,13.698,4249,13.698,4250,13.698]],["keywords/481",[]],["title/482",[352,319.604,353,506.944]],["content/482",[1,2.538,3,11.599,5,1.304,7,2.328,11,6.517,13,5.261,18,3.169,20,4.702,21,4.443,37,2.832,39,4.646,64,5.327,91,6.615,121,7.158,136,3.006,137,2.89,139,1.22,145,3.814,162,2.076,167,4.225,187,6.395,194,2.585,198,4.225,202,3.453,220,3.844,221,4.074,224,2.762,225,4.815,240,4.36,255,5.098,272,4.821,316,5.662,321,3.756,327,7.118,352,6.619,353,7.454,358,2.103,362,4.038,447,4.8,544,8.06,545,5.098,573,3.345,614,4.351,615,8.579,621,8.456,658,5.919,673,5.889,696,5.098,758,5.754,792,6.069,852,3.938,877,8.503,1125,5.55,1146,4.11,1175,4.592,1275,5.919,1287,4.004,1383,10.607,1556,8.503,1591,4.038,1606,9.477,1670,7.261,1675,5.55,1846,6.069,1893,7.713,1911,6.069,2089,5.785,2125,7.713,2175,9.297,2330,6.237,2352,9.641,2459,9.585,2467,7.713,2667,7.713,2668,7.713,2682,6.654,2702,6.923,2845,7.713,2869,6.654,2891,7.261,2974,5.177,3016,7.713,3407,6.654,3636,7.713,3696,7.261,3705,6.654,4012,11.817,4066,7.713,4251,8.4,4252,8.4,4253,8.4]],["keywords/482",[]],["title/483",[1118,878.242,2512,616.37,4254,717.6]],["content/483",[1,2.959,5,1.601,13,6.462,78,3.87,84,4.886,85,7.66,89,6.379,135,8.973,139,1.498,141,4.327,159,8.203,192,2.087,194,3.175,202,4.241,208,2.087,217,3.328,218,8.918,219,3.702,224,3.393,225,3.175,226,5.515,232,5.141,234,4.96,240,5.083,241,4.96,256,3.586,268,6.17,272,5.922,279,3.827,302,4.918,309,7.277,318,2.253,321,4.613,322,4.648,352,5.529,398,6.817,518,11.484,544,6.462,628,7.907,696,6.261,752,4.96,761,5.515,824,7.66,855,4.327,1118,15.98,1242,9.558,1253,4.918,1264,7.105,1362,6.261,1405,6.462,1591,4.96,1862,6.817,1911,7.453,2182,7.453,2470,9.398,2779,8.172,2961,8.172,3193,7.66,3622,9.474,3704,8.918,4220,8.918,4254,15.285,4255,10.317,4256,10.317,4257,10.317,4258,10.317,4259,15.004,4260,15.004,4261,10.317,4262,13.778,4263,10.317,4264,10.317,4265,10.317,4266,10.317,4267,10.317,4268,10.317,4269,10.317,4270,10.317,4271,10.317,4272,10.317]],["keywords/483",[]],["title/484",[352,319.604,428,746.821]],["content/484",[1,3.368,33,7.876,37,5.757,49,8.356,58,9.994,124,8.938,130,5.905,208,3.454,241,8.21,259,7.636,262,11.284,265,5.616,302,8.14,330,12.034,331,7.814,352,6.125,1792,13.527,2352,12.986,2671,14.762,3457,13.527]],["keywords/484",[]],["title/485",[58,428.091,352,262.365,428,613.069]],["content/485",[5,2.18,18,5.299,37,4.735,45,3.843,58,6.143,89,5.971,124,7.351,136,4.868,139,2.7,192,2.841,221,9.018,237,10.75,240,6.3,291,10.75,318,3.067,338,7.428,352,4.984,428,8.797,437,10.909,447,5.239,503,9.468,545,8.524,643,6.328,673,8.508,752,6.752,877,9.28,1125,9.28,1142,8.524,1388,9.28,1389,9.897,1473,10.75,2099,10.428,2352,11.46,2567,12.141,2881,12.897,3682,11.576,4186,11.125,4273,14.045,4274,14.045,4275,9.28,4276,14.045,4277,14.045]],["keywords/485",[]],["title/486",[240,331.62,352,262.365,428,613.069]],["content/486",[11,8.597,54,6.863,78,4.427,89,7.021,125,7.517,139,2.997,152,7.405,162,3.073,169,8.315,170,7.955,192,2.387,202,8.484,217,5.327,240,7.359,255,7.162,318,2.577,352,4.427,428,7.391,437,10.8,628,5.277,768,11.414,822,6.605,840,7.273,1479,8.127,1482,8.525,2356,9.518,2675,10.836,2834,8.315,2974,7.273,3705,9.347,4025,9.347,4278,11.801,4279,11.801,4280,16.515,4281,15.165,4282,18.95,4283,18.95,4284,18.95,4285,16.515,4286,16.515]],["keywords/486",[]],["title/487",[5,111.868,240,244.163,744,340.637,2512,535.093,4287,720.675]],["content/487",[1,1.626,5,1.28,7,2.284,34,7.126,37,2.779,45,2.622,74,4.614,77,6.309,84,2.685,102,2.549,136,1.925,139,3.485,144,1.065,162,2.046,163,4.07,165,4.36,192,1.667,194,2.537,202,3.389,207,6.934,217,6.045,221,3.998,224,2.711,240,5.882,241,3.963,291,6.309,302,3.929,307,4.559,316,5.557,318,1.8,321,3.686,331,3.772,352,3.4,372,5.345,423,5.63,428,5.163,476,4.86,563,4.36,592,5.003,646,6.513,676,6.315,744,9.356,746,4.456,752,3.963,768,11.772,775,2.751,779,6.121,790,6.442,795,5.672,1279,5.809,1362,5.003,1364,6.794,1464,6.309,1663,5.809,1709,5.677,1937,6.794,2175,5.956,2356,5.851,2973,6.794,3014,11.059,3146,11.648,3147,12.891,3193,6.121,4247,21.138,4288,8.244,4289,8.244,4290,8.244,4291,8.244,4292,17.361,4293,8.244,4294,15.461,4295,8.244,4296,12.685,4297,8.244,4298,12.685,4299,12.685,4300,12.685,4301,8.244,4302,12.685,4303,12.685,4304,8.244,4305,15.461,4306,8.244,4307,8.244,4308,8.244,4309,8.244]],["keywords/487",[]],["title/488",[72,301.613,141,239.171,152,204.63,1388,376.815,2512,701.398,4310,523.668]],["content/488",[1,2.901,5,2.702,21,3.248,37,2.07,39,3.397,44,3.982,51,2.228,72,9.207,78,3.766,89,5.415,103,3.982,105,4.229,110,3.846,121,2.81,126,4.058,135,3.673,136,4.88,138,3.925,139,2.528,141,6.802,150,2.705,152,6.592,157,2.879,187,3.662,192,2.031,194,3.09,197,3.998,198,3.089,202,9.385,217,3.238,219,3.603,220,5.828,224,2.019,225,3.92,227,2.616,236,4.327,240,3.402,241,2.952,242,5.69,252,2.879,272,7.31,284,3.214,318,2.192,329,3.283,349,1.934,350,1.418,351,3.214,352,5.138,353,4.269,371,3.621,385,5.062,425,3.621,436,2.81,437,5.255,442,3.785,447,2.291,518,4.7,544,6.288,563,7.78,615,3.005,646,3.766,676,2.508,712,4.14,717,5.553,790,3.119,822,3.437,843,3.785,877,6.634,952,2.978,1118,6.914,1142,3.727,1146,3.005,1162,3.621,1176,7.849,1242,3.319,1253,2.927,1287,7.012,1291,4.56,1316,3.912,1335,4.058,1351,10.922,1352,10.331,1362,3.727,1388,13.806,1443,6.51,1476,3.437,1523,8.275,1543,4.833,1571,4.437,1575,3.785,1591,2.952,1660,5.639,1716,4.864,1742,11.717,1786,4.864,2048,4.864,2117,4.56,2182,4.437,2248,5.639,2356,2.832,2650,4.864,2882,9.456,2904,4.327,2974,3.785,3307,5.639,4186,7.953,4275,13.482,4310,13.507,4311,6.141,4312,5.639,4313,6.141,4314,5.309,4315,6.141,4316,5.639,4317,11.009,4318,6.141,4319,6.141,4320,6.141]],["keywords/488",[]],["title/489",[825,667.427,4321,1030.714]],["content/489",[]],["keywords/489",[]],["title/490",[554,502.009,825,547.894,1735,749.17]],["content/490",[1,2.054,5,3.352,7,4.186,18,3.929,29,4.047,35,4.571,52,2.479,60,6.85,69,6.228,74,5.829,79,5.767,85,7.732,97,4.397,102,3.22,106,5.567,112,7.528,115,6.753,139,1.512,145,4.728,153,4.147,157,4.882,162,1.68,196,9.19,202,4.281,225,3.205,240,3.528,253,8.583,272,5.977,273,4.226,296,5.289,319,7.171,332,5.76,352,5.971,353,6.423,376,4.221,554,5.341,556,10.645,563,5.508,574,12.208,722,6.881,749,8.786,812,5.693,825,12.47,855,4.367,1162,6.14,1175,5.693,1242,5.629,1287,4.964,1292,7.732,1360,7.971,1653,7.971,1665,7.171,1735,7.971,2082,4.922,2654,7.732,2859,6.881,2879,9.623,2883,5.977,3790,9.002,4214,8.583,4322,10.414,4323,9.002,4324,15.107,4325,10.414,4326,10.414,4327,8.249,4328,10.414]],["keywords/490",[]],["title/491",[2924,1208.042]],["content/491",[5,2.692,42,10.527,84,5.648,141,8.921,196,7.698,273,7.039,352,5.702,353,7.374,362,8.339,825,9.709,1041,6.907,1253,8.267,1575,10.69,2883,9.955,2924,18.226,3259,13.739,3289,14.296,3632,10.226,4329,17.344]],["keywords/491",[]],["title/492",[5,151.938,383,507.061,1266,535.102]],["content/492",[5,1.872,11,6.984,35,2.662,45,4.525,64,4.106,69,7.211,97,5.091,150,5.312,153,4.801,155,6.184,183,8.514,194,5.932,195,7.318,204,4.303,208,2.439,225,3.711,256,4.191,261,11.072,302,9.186,350,2.784,352,6.075,353,5.126,383,9.984,398,7.967,574,7.109,673,5.517,812,6.592,834,8.711,836,7.318,855,8.736,1118,8.303,1153,10.423,1177,7.681,1266,12.959,1526,10.871,1535,9.938,1575,7.431,1606,9.062,1862,7.967,1889,9.938,1902,13.272,2352,7.431,2420,9.229,2534,10.423,2908,11.072,3263,9.229,4007,10.423,4323,10.423]],["keywords/492",[]],["title/493",[352,319.604,4321,1030.714]],["content/493",[5,2.85,38,7.368,64,4.693,79,7.882,80,8.365,112,6.868,121,6.307,138,7.179,150,9.097,179,6.868,181,4.893,183,7,192,4.454,217,4.446,220,6.307,223,6.868,225,4.242,227,5.737,274,7.811,339,8.243,352,5.903,353,5.86,377,9.291,379,9.291,666,9.958,750,6.307,1287,8.753,1299,10.234,1341,11.318,1359,10.918,1673,8.365,2082,6.515,2877,11.915,2894,9.712,3110,16.862,4321,11.915,4330,13.783,4331,13.783]],["keywords/493",[]],["title/494",[274,675.723,2891,1030.714]],["content/494",[]],["keywords/494",[]],["title/495",[64,282.678,1368,538.298,2522,657.566,3715,548.521]],["content/495",[1,1.695,5,2.033,52,3.777,59,3.787,64,7.525,102,2.658,103,5.574,139,3.274,141,3.605,151,3.34,153,3.423,155,4.408,171,8.203,187,4.777,189,3.423,192,1.738,194,2.646,201,7.002,204,4.674,217,4.224,240,6.012,252,4.029,271,5.217,284,8.304,296,6.652,318,1.877,322,3.873,352,4.253,399,7.085,447,3.206,563,6.927,570,4.999,574,7.722,575,4.934,594,4.754,637,5.384,718,8.654,749,9.228,750,3.933,875,6.588,1041,3.423,1056,10.185,1067,4.646,1146,6.408,1335,8.654,1347,4.999,1351,9.724,1673,5.217,1742,15.583,1743,10.024,1964,5.217,2306,11.322,2384,7.43,2470,5.384,2576,10.795,2593,9.724,2883,4.934,3014,11.303,3147,6.382,3289,7.085,3715,13.826,3896,7.893,4262,12.027,4332,6.809,4333,7.893,4334,18.479,4335,13.097,4336,13.097,4337,8.595,4338,13.097,4339,12.027,4340,12.027,4341,8.595,4342,8.595,4343,7.43,4344,7.43,4345,7.43]],["keywords/495",[]],["title/496",[64,216.814,152,228.469,592,386.436,1964,386.436,3715,420.714,4346,636.716]],["content/496",[3,6.232,5,2.394,7,2.969,11,4.464,52,4.704,64,5.252,79,4.091,91,4.043,119,5.442,139,2.87,144,1.993,150,4.721,171,6.712,187,3.909,192,3.119,194,3.298,196,6.845,209,4.828,217,4.974,225,4.747,226,5.729,241,5.152,254,6.949,302,5.108,318,3.367,350,3.561,352,4.134,574,9.093,592,9.36,615,7.546,676,4.377,704,7.224,718,7.081,742,4.756,749,8.97,874,10.246,1287,5.108,1334,10.396,1386,6.232,1516,10.868,1691,10,1742,14.277,1964,13.639,2235,13.332,2330,7.956,2356,4.943,2390,11.804,2470,6.712,3703,15.618,3715,10.19,3921,8.488,4347,10.716,4348,16.591,4349,15.422,4350,15.422,4351,10.716,4352,10.716]],["keywords/496",[]],["title/497",[88,339.07,103,538.298,203,470.449,1846,599.745]],["content/497",[1,2.255,3,6.651,5,2.507,18,6.095,59,8.966,60,6.579,78,4.29,112,5.698,136,3.773,139,2.956,141,6.775,143,5.738,144,1.478,152,5.796,192,2.313,197,4.554,201,6.113,217,5.21,221,7.834,253,9.425,318,2.497,332,6.325,351,9.802,352,5.455,353,6.868,362,5.498,423,5.075,563,6.048,722,7.556,744,7.635,768,8.934,1591,5.498,1846,14.704,2356,8.638,2459,6.251,3139,8.752,4281,10.5,4282,14.833,4283,14.833,4284,14.833,4332,9.058,4353,11.435,4354,11.435,4355,9.425,4356,13.963,4357,11.435,4358,16.153,4359,11.435,4360,16.153,4361,9.425,4362,11.435,4363,11.435,4364,11.435]],["keywords/497",[]],["title/498",[52,135.754,208,115.342,277,121.355,628,255.003,752,274.171,753,331.676,1819,401.856]],["content/498",[1,2.501,5,1.968,9,5.282,45,2.621,48,3.426,52,5.61,121,5.802,139,3.342,162,2.8,198,6.378,208,3.51,220,5.802,241,6.095,243,4.84,277,4.743,285,4.812,309,6.149,628,8.849,752,6.095,753,7.374,813,8.718,840,7.814,1167,11.952,1249,7.941,1316,8.076,1479,8.731,1742,15.374,1819,14.996,2206,15.675,4365,21.281,4366,21.281,4367,19.789]],["keywords/498",[]],["title/499",[142,362.518,150,317.498,208,145.76,628,322.254,2288,535.093]],["content/499",[1,2.92,5,1.572,9,6.167,20,5.669,52,3.524,78,3.799,91,3.821,97,4.277,105,6.975,139,3.289,142,5.095,150,4.462,192,2.048,208,3.893,209,4.563,217,3.267,224,4.868,240,3.431,243,5.651,244,5.651,277,5.063,318,2.211,321,4.529,352,2.715,447,3.778,628,8.606,673,4.635,676,4.137,753,5.891,757,6.692,775,4.941,813,4.462,819,8.093,832,8.348,856,11.331,874,8.561,930,10.982,1162,5.972,1298,10.992,1588,5.813,1753,8.348,1819,10.432,2123,6.692,2253,11.331,2288,7.52,2350,12.202,2356,4.671,2528,8.755,2682,8.023,2960,8.755,3192,8.348,3476,9.599,4368,8.348,4369,10.128,4370,12.797,4371,17.674,4372,9.3,4373,9.3,4374,13.594,4375,13.594,4376,10.128,4377,9.3]],["keywords/499",[]],["title/500",[5,151.938,166,569.283,196,434.419]],["content/500",[1,2.501,5,2.694,7,4.809,35,2.799,45,3.587,52,3.018,69,7.582,77,9.704,84,5.652,89,7.379,144,1.638,145,7.88,162,2.045,166,7.374,181,4.501,192,2.564,196,5.627,202,5.212,204,6.194,208,4.002,217,4.089,240,4.295,252,5.943,285,4.812,318,2.768,352,3.398,376,4.85,433,8.377,596,8.731,628,7.761,752,6.095,758,5.669,768,9.599,1118,14.655,2512,9.414,2567,10.96,2835,10.45,3456,11.642,3715,8.377,4254,10.96,4327,13.748,4340,15.937,4378,17.356,4379,17.356,4380,12.679,4381,12.679,4382,12.679,4383,12.679,4384,12.679,4385,12.679,4386,12.679]],["keywords/500",[]],["title/501",[5,151.938,671,434.419,4387,775.333]],["content/501",[1,1.877,5,1.478,52,3.367,59,4.194,78,3.571,91,3.591,112,4.743,139,3.519,144,1.23,150,9.801,180,4.107,181,6.631,183,8.57,192,1.925,194,2.93,196,4.225,198,9.396,201,7.561,204,5.047,205,5.692,208,1.925,219,7.505,222,5.692,227,2.48,230,6.23,248,7.326,292,5.667,318,2.078,320,5.777,321,4.256,352,2.551,377,6.417,447,8.078,543,6.064,563,5.034,568,3.634,626,9.009,628,4.256,643,4.289,646,5.305,758,6.324,795,4.256,797,9.345,803,9.121,874,6.92,1202,5.089,1253,4.537,1362,5.777,1377,5.777,1405,5.962,1486,6.877,1575,5.867,2060,8.858,3143,7.54,3632,8.338,3846,7.286,4167,12.225,4387,11.202,4388,7.846,4389,8.228,4390,9.519,4391,18.679,4392,14.142,4393,14.142,4394,9.519,4395,8.741]],["keywords/501",[]],["title/502",[1,125.581,192,128.779,260,420.714,296,323.372,352,277.162]],["content/502",[1,3.779,5,2.974,39,6.597,78,4.475,110,7.471,139,3.011,141,9.145,142,10.429,166,6.937,192,2.412,202,6.84,204,5.938,217,3.847,225,3.671,244,6.351,262,7.881,284,8.708,317,3.757,352,5.557,371,7.033,508,7.598,538,9.129,544,12.001,575,6.846,910,11.458,1056,9.55,1253,5.685,1287,5.685,1344,9.831,1347,6.937,1351,8.856,1352,12.206,1368,7.734,1388,7.881,1505,8.856,1588,6.846,1653,9.129,1691,14.645,2062,9.448,2206,13.18,2619,8.141,2650,9.448,2769,10.311,4389,10.311,4396,16.639,4397,11.928]],["keywords/502",[]],["title/503",[110,613.069,575,561.824,4389,846.118]],["content/503",[]],["keywords/503",[]],["title/504",[126,548.521,150,365.724,274,470.449,544,519.949]],["content/504",[1,2.166,5,2.436,9,4.575,11,4.575,52,4.757,84,3.576,89,4.669,102,3.395,105,7.563,126,7.256,150,10.198,169,7.738,173,4.735,185,5.326,189,4.373,208,3.705,224,3.611,240,3.721,252,5.148,274,6.223,279,4.073,284,5.747,327,6.074,339,6.567,352,4.91,433,7.256,436,5.025,543,6.995,544,9.831,570,6.387,625,5.808,628,7.018,676,4.485,754,6.665,758,4.91,792,7.934,803,8.484,813,4.838,815,8.405,822,6.147,845,6.768,874,7.68,877,7.256,921,7.403,952,5.326,1202,9.792,1282,7.738,1311,9.051,1347,6.387,1353,9.493,1391,6.995,1399,7.934,1449,9.493,1462,7.403,1473,8.405,1474,7.738,1526,7.121,1551,6.665,2060,9.831,2182,11.339,2615,10.084,2670,9.493,2904,7.738,3333,7.121,3634,10.084,3658,10.084,4398,10.084,4399,10.982,4400,10.982,4401,10.982,4402,10.982,4403,8.699,4404,10.982,4405,9.051]],["keywords/504",[]],["title/505",[1311,982.769,4406,1192.361]],["content/505",[1,1.971,5,2.968,54,5.811,64,3.402,80,6.064,85,10.883,89,4.248,102,3.089,131,9.034,141,6.147,152,3.585,183,5.074,187,3.644,194,3.075,196,6.505,204,3.566,224,3.286,225,5.885,278,4.572,284,5.229,302,4.762,307,5.526,319,6.88,321,4.468,352,6.496,353,4.248,433,6.602,436,4.572,437,5.229,518,7.647,542,5.462,544,11.977,556,7.04,574,5.891,628,4.468,676,5.987,825,8.204,848,4.308,855,7.28,952,4.845,1041,6.913,1176,6.158,1253,8.275,1287,9.115,1311,12.081,1335,6.602,1362,10.536,1543,3.792,1551,6.064,1575,6.158,1666,7.108,1673,6.064,1675,6.602,1729,7.647,2121,7.418,2182,12.541,2511,8.235,2869,7.914,2882,7.418,2883,8.413,2886,14.308,4323,8.637,4332,11.61,4407,9.991,4408,9.991,4409,9.991,4410,8.637,4411,9.991,4412,9.991,4413,9.991,4414,9.174]],["keywords/505",[]],["title/506",[566,912.615,2067,1030.714]],["content/506",[]],["keywords/506",[]],["title/507",[50,250.501,352,193.172,2067,622.975,2959,593.996,2961,570.857]],["content/507",[1,2.702,5,3.553,6,8.192,11,5.706,37,4.617,48,3.702,49,6.702,52,5.229,75,8.368,84,4.461,136,4.271,139,2.656,152,6.562,153,5.455,192,2.77,296,9.287,352,4.902,408,8.313,676,7.469,744,6.474,1054,7.245,1142,8.313,1194,8.726,1443,8.882,2330,10.17,2356,8.434,2503,10.484,2959,16.967,2961,10.85,3705,10.85,3742,12.578,4415,13.698,4416,13.698,4417,13.698,4418,13.698,4419,13.698,4420,13.698,4421,13.698,4422,13.698,4423,13.698]],["keywords/507",[]],["title/508",[5,151.938,192,197.97,767,775.333]],["content/508",[1,3.437,5,3.081,18,4.811,136,2.978,144,1.648,162,2.057,192,3.524,194,5.363,198,6.414,201,6.817,217,6.88,220,5.835,240,5.903,242,7.226,273,5.175,274,9.874,277,3.708,296,6.476,302,6.078,309,6.184,352,3.418,398,8.426,442,7.859,614,6.606,675,7.226,744,11.155,745,9.76,752,6.131,767,13.802,768,9.637,812,6.971,1125,8.426,1443,8.269,1476,7.138,2117,9.468,2616,11.023,2790,18.226,3201,11.709,3214,18.226,4355,10.51,4424,17.424,4425,17.424,4426,12.752,4427,12.752]],["keywords/508",[]],["title/509",[946,651.845,2368,885.315]],["content/509",[]],["keywords/509",[]],["title/510",[0,912.046]],["content/510",[35,4.263,64,6.575,194,5.943,265,6.35,336,7.642,352,5.176,1287,9.204,2368,14.337,2458,14.337,3233,15.296]],["keywords/510",[]],["title/511",[4025,1208.042]],["content/511",[9,6.75,10,12.401,164,3.41,180,4.706,194,4.987,195,9.834,199,12.401,223,10.161,321,7.245,332,8.961,336,6.412,340,5.721,447,6.044,545,9.834,575,9.3,620,8.074,1407,13.354,1550,10.506,1551,12.376,1591,7.79,2368,12.03,2459,8.858,3632,9.553,3879,13.354,4428,18.55,4429,17.627]],["keywords/511",[]],["title/512",[4430,1525.086]],["content/512",[5,2.631,9,7.06,78,6.357,121,7.755,130,5.86,194,5.216,428,13.134,570,9.856,676,6.922,681,12.582,830,11.197,840,10.445,1778,12.582,2047,13.423,2459,12.449,3457,13.423,3632,9.992,4041,15.561,4428,18.848,4431,16.946]],["keywords/512",[]],["title/513",[4428,1208.042]],["content/513",[52,3.089,102,4.012,124,6.791,130,6.097,159,7.094,164,2.731,180,3.769,189,5.167,195,10.701,208,2.624,322,5.846,340,6.226,349,4.087,358,3.249,493,8.574,622,8.936,676,5.3,717,7.177,724,6.527,843,7.997,848,5.594,874,6.349,1041,5.167,1067,7.014,1575,7.997,1591,6.238,1964,7.875,2091,6.937,2123,11.65,2162,7.353,2333,10.695,2368,9.634,2370,8.414,2459,7.094,2475,10.695,2882,9.634,2973,10.695,2974,10.867,3471,11.217,3632,10.396,4428,19.59,4432,12.976,4433,11.915,4434,17.632,4435,20.027,4436,11.915,4437,12.976,4438,12.976]],["keywords/513",[]],["title/514",[4429,1318.333]],["content/514",[7,2.55,35,3.651,84,2.997,102,2.845,108,5.862,111,7.585,130,5.719,144,1.189,153,3.664,164,1.937,173,3.968,185,4.463,194,5.654,225,6.779,252,4.314,255,10.038,258,5.352,284,4.816,292,3.687,302,4.386,317,2.899,321,4.115,322,4.146,327,5.09,332,5.09,340,6.486,352,5.904,396,6.833,436,4.211,545,5.585,562,6.203,563,4.867,574,5.426,583,9.296,615,4.503,637,5.764,700,5.707,750,6.31,752,4.424,843,5.672,848,3.968,855,5.784,856,7.043,874,6.748,1297,6.573,1339,6.833,1366,7.289,1543,3.492,1551,8.37,1575,5.672,1697,7.585,2047,7.289,2091,4.92,2162,7.815,2333,7.585,2399,7.955,2490,10.555,2717,6.833,2765,7.955,2974,5.672,3396,12.28,3457,13.1,3632,5.426,4428,18.687,4429,20.393,4439,9.202,4440,9.202,4441,9.202,4442,9.202,4443,16.539,4444,9.202,4445,9.202,4446,9.202]],["keywords/514",[]],["title/515",[1444,861.436,2577,1030.714]],["content/515",[]],["keywords/515",[]],["title/516",[0,912.046]],["content/516",[1,3.949,9,6.558,30,15.515,54,9.156,67,10.946,121,7.203,136,5.142,194,4.845,248,8.155,307,8.707,571,6.787,615,7.703,1166,9.282,1332,10.208,1444,15.907,1672,11.093,1774,8.921,1806,16.348,2433,10.841,2442,12.975,2494,14.455,2495,14.455,2577,17.308,3398,14.455,4447,15.742]],["keywords/516",[]],["title/517",[136,278.481,2585,982.769]],["content/517",[1,4.373,5,1.748,30,7.935,33,5.194,37,3.796,39,6.228,41,5.775,50,3.914,51,4.085,54,6.549,58,6.988,60,7.497,64,3.834,78,4.224,79,8.463,91,4.249,102,3.482,130,3.894,136,2.63,162,1.817,194,3.466,197,4.484,202,4.629,226,6.02,254,10.361,255,6.834,279,4.177,290,6.303,333,5.56,338,5.956,350,2.6,484,10.771,494,6.228,554,5.775,561,8.619,571,6.889,573,4.484,674,6.382,677,8.735,699,8.361,754,6.834,849,5.56,852,5.279,1314,8.361,1340,10.802,1444,16.833,1460,10.34,1462,7.591,1499,13.79,1708,11.544,1806,11.864,1834,4.629,2439,13.812,2442,9.281,2473,8.619,2498,12.23,2827,8.619,3287,10.34]],["keywords/517",[]],["title/518",[2568,1028.057]],["content/518",[1,3.421,18,6.544,51,6.292,67,9.482,102,5.363,136,5.374,338,9.173,594,9.593,855,7.274,946,9.482,1041,6.907,1300,10.863,1444,12.531,1474,12.222,2091,9.272,2106,11.247,2568,15.51,4275,11.46,4448,15.927]],["keywords/518",[]],["title/519",[1166,899.2]],["content/519",[136,4.59,594,10.869,621,10.623,1041,7.826,1166,13.516,1444,14.198,2091,10.506]],["keywords/519",[]],["title/520",[2155,833.74]],["content/520",[1,3.619,102,5.674,136,5.141,338,9.705,621,9.919,946,10.032,1041,7.307,1300,11.493,1474,12.931,2091,9.81,2106,11.899,2155,12.034,2510,12.931,4448,16.85]],["keywords/520",[]],["title/521",[946,651.845,2968,821.123]],["content/521",[]],["keywords/521",[]],["title/522",[0,912.046]],["content/522",[35,3.921,88,7.255,102,5.492,107,12.516,124,9.296,125,11.314,194,5.467,221,8.614,224,5.841,336,7.029,352,4.761,447,6.625,672,11.125,938,11.125,1287,8.466,1554,11.517,1783,14.069,2968,12.232,2971,16.025]],["keywords/522",[]],["title/523",[1476,667.427,2971,885.315]],["content/523",[1,3.243,78,6.169,106,8.791,124,8.606,130,7.768,162,2.653,167,8.271,185,7.975,189,6.548,204,5.868,431,15.099,675,9.318,681,15.281,1041,6.548,1303,12.209,1476,9.204,1482,11.88,1673,9.98,2971,18.361,2974,12.684,4449,15.099]],["keywords/523",[]],["title/524",[376,333.189,2370,773.178]],["content/524",[]],["keywords/524",[]],["title/525",[672,955.22]],["content/525",[1,2.59,9,5.47,20,7.349,45,2.714,48,4.803,52,3.125,64,4.471,102,4.06,130,6.967,139,1.907,144,1.696,189,5.228,194,5.47,208,3.595,217,4.235,220,6.008,224,6.626,256,4.564,273,5.328,336,5.196,355,7.852,358,5.045,378,6.604,404,5.102,446,6.483,542,7.178,592,7.969,593,7.741,672,14.567,709,9.042,718,8.675,748,9.252,1041,5.228,1146,8.697,1151,11.35,1340,7.636,1591,6.312,1781,9.252,2082,6.206,2175,9.486,2352,8.092,2597,10.4,2968,9.042,3293,10.4,3715,8.675,4332,10.4,4450,13.13,4451,13.13,4452,13.13]],["keywords/525",[]],["title/526",[102,471.555]],["content/526",[102,7.396,121,8.685,130,6.563,152,6.81,217,6.121,224,6.241,256,6.597,2370,12.307,2968,13.07,3293,15.033]],["keywords/526",[]],["title/527",[2974,939.964]],["content/527",[35,2.934,37,6.04,40,11.488,53,6.178,121,8.199,136,3.103,137,4.571,139,2.602,142,6.684,165,7.027,217,4.286,224,4.369,225,5.515,252,6.228,256,4.618,285,5.042,290,7.437,298,10.951,322,8.073,327,7.349,332,9.91,349,4.185,352,3.561,355,7.946,701,9.599,845,8.189,1524,10.525,1543,5.042,1575,8.189,1663,9.363,1774,7.53,1783,10.525,1798,10.951,2091,7.103,2370,11.618,2968,13.96,2969,14.768,2971,9.865,2974,13.373,3831,16.708,3921,10.525,4453,13.287,4454,13.287,4455,13.287,4456,11.486]],["keywords/527",[]],["title/528",[742,434.419,1501,561.824,2971,726.759]],["content/528",[20,4.83,33,6.059,37,2.909,51,3.13,53,4.012,64,2.938,66,8.096,89,5.585,91,3.256,93,5.942,130,2.984,150,7.007,152,3.096,155,4.426,164,1.816,183,6.671,221,4.185,223,6.546,224,5.23,225,5.472,256,6.18,273,5.331,292,5.264,322,3.888,327,4.772,336,3.415,376,2.411,404,3.353,436,8.136,443,4.664,447,3.219,492,6.08,503,10.722,570,5.019,612,9.803,643,3.888,653,5.019,753,7.64,819,4.717,836,5.237,849,4.26,1029,10.054,1113,5.497,1140,5.405,1176,5.318,1196,9.753,1287,4.113,1333,5.702,1337,4.89,1360,6.604,1377,5.237,1476,4.83,1543,6.036,1551,9.653,1574,6.604,1575,5.318,1582,6.835,1841,7.924,2370,5.595,2448,17.568,2487,5.817,2526,5.497,2682,10.405,2969,18.235,2971,14.205,2974,14.138,3293,10.405,3632,5.088,4368,14.654,4449,20.316,4457,8.629,4458,8.629,4459,8.629,4460,8.629,4461,15.905,4462,15.905,4463,13.136]],["keywords/528",[]],["title/529",[35,263.251,347,803.767]],["content/529",[]],["keywords/529",[]],["title/530",[0,912.046]],["content/530",[1,3.04,5,2.393,35,5.529,45,3.186,49,7.542,140,2.049,187,5.622,208,3.117,265,5.069,277,3.28,347,10.39,349,4.855,378,7.753,542,8.426,699,11.444,700,6.378,749,8.965,852,7.225,855,6.464,952,7.475,1175,8.426,1237,8.735,1287,7.347,1335,10.185,1665,10.614,1834,6.337,2175,11.136,2654,11.444,2859,10.185,2879,13.888]],["keywords/530",[]],["title/531",[35,216.104,347,659.816,2082,462.65]],["content/531",[]],["keywords/531",[]],["title/532",[358,245.059,383,507.061,2082,462.65]],["content/532",[52,4.518,140,3.18,345,11.754,423,8.423,741,11.887,803,10.259,4464,18.979,4465,18.979,4466,18.979]],["keywords/532",[]],["title/533",[35,263.251,700,493.432]],["content/533",[18,4.452,35,5.359,45,4.265,52,3.931,53,5.487,59,7.276,84,3.843,140,2.744,141,7.99,144,2.134,153,4.699,157,5.532,159,6.451,174,5.532,197,4.699,224,3.881,226,6.309,232,5.88,277,2.511,305,9.359,309,5.723,349,3.717,362,5.673,376,3.298,378,5.936,404,4.585,423,8.455,436,8.718,699,8.762,700,4.883,749,11.08,852,5.532,855,9.44,952,8.009,1041,4.699,1175,9.028,1237,9.359,1287,5.625,1543,7.23,1673,7.162,2859,10.912,2879,12.136,4275,7.797]],["keywords/533",[]],["title/534",[35,263.251,94,703.024]],["content/534",[35,4.85,38,7.323,52,3.261,64,6.227,94,10.782,102,4.235,140,2.92,144,1.77,145,6.219,150,8.056,152,4.915,153,7.282,209,6.172,243,5.229,279,5.081,323,8.726,345,7.169,349,4.315,351,7.169,352,3.672,376,3.828,423,8.116,436,6.268,574,10.782,653,7.967,661,8.882,700,8.519,717,10.114,741,8.579,765,9.896,803,7.404,855,5.745,1199,9.234,1297,6.529,1300,8.579,1316,11.649,1740,8.192,2082,6.474,2879,8.726,4467,13.698,4468,13.698]],["keywords/534",[]],["title/535",[35,216.104,208,197.97,434,437.682]],["content/535",[]],["keywords/535",[]],["title/536",[0,912.046]],["content/536",[1,3.845,4,10.31,9,6.29,35,4.766,45,3.121,46,6.375,60,5.303,62,6.672,69,9.029,112,9.714,121,6.909,137,5.194,187,7.11,208,4.366,277,3.213,305,8.556,317,6.14,351,7.902,434,9.654,571,6.509,575,8.666,696,9.163,775,5.039,1266,8.254,1293,7.821,1665,10.397,1774,8.556,1940,13.051,4007,13.051,4469,15.098]],["keywords/536",[]],["title/537",[35,183.28,208,167.9,434,371.202,2082,392.377]],["content/537",[]],["keywords/537",[]],["title/538",[136,228.606,358,245.059,2082,462.65]],["content/538",[4,8.326,35,4.421,60,5.529,63,9.86,67,8.606,72,8.326,102,4.867,112,9.978,121,7.203,136,3.677,153,6.269,197,6.269,204,5.618,208,4.05,284,8.239,339,9.414,434,9.845,436,7.203,447,5.872,632,7.845,674,8.921,951,15.325,1054,8.326,1249,12.541,1543,7.598,1672,11.093,2082,7.441,2162,8.921]],["keywords/538",[]],["title/539",[317,375.584,632,594.176]],["content/539",[1,3.649,46,7.813,62,6.333,265,6.085,277,3.938,317,7.454,349,5.828,571,7.978,632,9.221,696,11.23,1266,10.115,1293,9.585,1774,10.486]],["keywords/539",[]],["title/540",[45,246.448,632,594.176]],["content/540",[35,5.581,38,6.589,45,4.346,64,6.64,78,4.624,94,7.267,102,3.811,152,4.423,153,4.908,252,5.778,256,4.284,296,6.26,302,5.875,305,6.985,317,3.883,322,5.554,339,7.371,349,3.883,352,5.226,383,6.385,551,15.714,621,6.663,632,6.142,686,6.385,700,5.101,704,8.309,724,11.1,946,6.738,1482,8.905,1575,7.597,1662,10.655,1708,12.298,1791,8.488,1867,14.03,1964,7.481,2106,7.993,2178,9.152,2180,11.318,2368,9.152,2454,8.905,2968,8.488,2969,10.159,3459,7.993,4470,12.326]],["keywords/540",[]],["title/541",[35,216.104,277,208.292,632,487.762]],["content/541",[18,5.697,35,5.506,53,9.064,62,6.672,275,8.351,277,3.213,285,5.73,340,5.331,347,13.141,349,6.14,404,5.867,467,9.163,573,7.763,593,8.902,632,7.524,859,11.556,1041,8.597,1054,7.985,1293,7.821,1340,11.338,1774,11.047,2105,9.029,2162,8.556,2488,11.21,4456,13.051,4471,13.864]],["keywords/541",[]],["title/542",[208,197.97,277,208.292,632,487.762]],["content/542",[18,5.545,53,8.907,62,6.557,208,4.857,275,8.129,277,5.204,285,5.578,340,5.19,349,6.034,359,9.636,404,5.711,467,8.92,573,7.628,593,8.666,632,7.324,859,11.249,1041,8.487,1054,7.773,1293,7.614,1340,11.142,1774,10.856,2105,8.79,2162,8.329,2488,10.913,4456,12.705,4471,13.496]],["keywords/542",[]],["title/543",[305,675.723,632,594.176]],["content/543",[1,3.946,9,8.335,305,11.338,349,6.302,632,9.97,2445,15.848]],["keywords/543",[]],["title/544",[60,418.815,112,594.176]],["content/544",[4,8.096,35,3.379,40,8.675,41,7.851,46,6.463,52,4.682,53,7.117,60,6.908,112,10.828,136,3.575,158,6.058,208,3.096,317,4.822,349,4.822,404,7.642,434,8.794,556,10.786,615,7.49,621,8.274,632,7.628,749,8.903,1036,10.318,1266,8.368,1340,8.903,1673,9.29,2370,14.091,2651,10.786,2652,9.025,2779,12.125,2883,8.786,4472,15.307,4473,11.365]],["keywords/544",[]],["title/545",[35,216.104,946,535.102,2879,623.514]],["content/545",[]],["keywords/545",[]],["title/546",[0,912.046]],["content/546",[1,3.531,35,5.354,151,6.958,174,10.167,187,6.531,220,8.193,224,5.888,279,6.641,322,8.067,789,10.708,1177,11.406,1287,8.535,1297,8.535,2654,13.294,2879,11.406]],["keywords/546",[]],["title/547",[224,392.104,855,500.068]],["content/547",[5,2.651,35,5.045,55,9.678,139,3.06,174,8.005,217,5.508,224,7.514,256,5.936,284,8.938,296,8.673,349,5.379,350,3.943,803,9.231,819,9.336,855,7.162,938,13.197,1582,13.527,2879,10.878,4474,15.681]],["keywords/547",[]],["title/548",[35,263.251,53,554.39]],["content/548",[1,2.574,5,2.026,9,5.437,35,5.126,38,6.978,53,6.069,64,6.84,75,5.973,88,5.331,91,4.925,119,6.629,121,5.973,138,5.102,144,2.596,151,8.749,153,5.197,159,9.678,160,3.529,189,5.197,192,3.58,207,10.982,224,4.292,240,4.422,259,7.916,279,4.841,282,7.806,318,3.865,322,5.881,378,6.566,543,8.314,544,8.175,744,6.169,1177,8.314,1287,6.221,1389,9.197,1591,6.275,1837,9.43,2106,8.464,2182,9.43,2183,11.985,2184,11.985,2479,11.985,2488,9.691,4475,13.052,4476,13.052]],["keywords/548",[]],["title/549",[48,322.245,1876,803.767]],["content/549",[]],["keywords/549",[]],["title/550",[0,912.046]],["content/550",[6,9.907,35,3.657,39,9.162,48,5.588,84,5.395,136,3.869,144,2.14,153,6.597,203,9.388,208,3.351,224,5.448,259,9.246,277,3.525,358,5.177,558,11.968,564,10.553,621,8.954,632,8.255,915,12.679,1242,8.954,1403,12.3,1876,13.938,2961,13.122,4477,15.212,4478,15.212]],["keywords/550",[]],["title/551",[48,264.532,1876,659.816,2082,462.65]],["content/551",[]],["keywords/551",[]],["title/552",[136,228.606,358,245.059,2082,462.65]],["content/552",[50,8.888,51,4.68,59,5.683,72,6.823,162,3.458,203,9.953,322,7.913,349,5.532,350,2.979,358,3.23,378,6.489,404,5.013,573,7.951,632,6.428,749,7.503,848,7.572,849,11.423,855,5.41,921,11.838,952,8.517,1041,8.929,2091,9.389,2155,9.601,2162,9.953,2510,12.375,4479,10.218,4480,12.9,4481,12.9,4482,12.9]],["keywords/552",[]],["title/553",[358,245.059,383,507.061,2082,462.65]],["content/553",[45,3.613,139,2.539,162,2.82,203,9.907,275,9.669,277,3.72,322,7.876,358,5.351,425,10.307,591,13.847,649,8.966,859,13.38,1295,12.318,1543,6.634,3197,12.318,4478,16.052,4483,17.481,4484,17.481,4485,17.481,4486,17.481,4487,17.481]],["keywords/553",[]],["title/554",[203,554.704,358,245.059,855,410.509]],["content/554",[]],["keywords/554",[]],["title/555",[4488,1192.361,4489,1192.361]],["content/555",[18,5.775,48,4.137,59,8.664,102,6.081,187,5.583,217,6.343,224,7.801,256,6.836,340,5.405,358,3.832,376,5.496,378,9.893,558,11.059,573,7.831,803,8.274,938,14.364,1041,7.831,1876,10.318,1964,11.936,2091,8.183,2162,11.145,4474,18.059]],["keywords/555",[]],["title/556",[1476,464.673,1910,762.291,4490,830.14,4491,830.14]],["content/556",[7,4.847,45,4.115,48,3.466,102,5.409,160,3.487,187,4.678,208,3.538,265,5.752,273,7.099,277,4.762,340,4.529,350,4.039,358,5.782,378,6.452,436,5.869,621,6.933,623,14.418,628,9.562,683,9.816,855,8.968,1146,6.276,1175,10.883,1237,11.282,1337,9.913,1476,9.792,1543,4.867,1666,9.655,1686,9.266,1876,8.646,2194,11.087,2715,11.777,3074,11.777,4492,19.907]],["keywords/556",[]],["title/557",[358,298.523,1337,675.723]],["content/557",[53,8.193,275,9.745,322,7.939,358,6.297,952,8.545,1041,8.553,1337,12.172,1476,9.863,1575,10.86,2091,11.482,2510,15.135,4436,16.18]],["keywords/557",[]],["title/558",[358,298.523,852,558.933]],["content/558",[18,7.487,48,4.195,188,8.688,194,4.777,275,8.585,322,6.993,358,6.201,376,4.337,621,10.726,852,11.167,952,9.623,1041,9.18,1543,5.89,2091,10.608,2162,11.245,4275,13.111,4493,18.908]],["keywords/558",[]],["title/559",[259,533.171,358,298.523]],["content/559",[38,8.662,42,9.834,53,7.533,67,11.147,102,5.01,136,3.784,144,2.094,194,4.987,256,5.632,259,10.792,322,7.3,327,8.961,351,8.48,358,4.057,400,14.878,791,11.158,1041,6.452,1166,9.553,1543,6.149,1550,10.506,1666,9.889,2576,16.807,2922,13.354,3259,12.834,4494,16.203]],["keywords/559",[]],["title/560",[48,322.245,359,599.787]],["content/560",[]],["keywords/560",[]],["title/561",[0,912.046]],["content/561",[48,6.441,121,8.611,194,5.792,224,6.188,277,4.004,358,4.711,359,9.466,621,10.172,1526,12.202,1663,13.26,1774,10.664]],["keywords/561",[]],["title/562",[48,264.532,359,492.368,2082,462.65]],["content/562",[]],["keywords/562",[]],["title/563",[136,228.606,358,245.059,2082,462.65]],["content/563",[7,3.704,50,8.888,51,4.849,59,5.889,72,7.07,162,3.509,322,8.106,349,5.667,350,3.087,378,6.724,404,5.194,573,8.097,749,7.774,848,7.756,849,11.544,855,5.606,921,12.127,952,8.725,1041,9.039,2091,9.617,2155,9.835,2162,10.195,2510,12.677,4479,10.588,4495,11.555]],["keywords/563",[]],["title/564",[622,821.123,1476,667.427]],["content/564",[1,2.718,5,2.139,7,5.088,18,6.928,48,4.963,84,4.489,130,4.766,157,6.461,273,8.38,277,3.908,279,5.112,298,11.36,317,4.342,349,6.504,404,5.356,622,16.581,674,7.811,699,10.234,843,8.495,855,5.781,952,6.684,1041,8.223,1146,6.744,1463,11.915,1554,13.39,2091,9.817,2162,10.406,2507,10.918,2879,8.78,3234,11.915,4275,12.133,4496,18.363,4497,13.783,4498,13.783]],["keywords/564",[]],["title/565",[2158,1257.008]],["content/565",[]],["keywords/565",[]],["title/566",[0,912.046]],["content/566",[1,3.196,5,2.515,35,3.577,45,3.349,67,11.147,84,5.277,137,7.015,207,8.858,208,3.277,278,7.414,349,6.423,467,13.543,722,13.473,849,10.068,855,6.795,859,12.401,1146,7.928,1686,11.706,1735,12.401,2158,13.354,4499,16.203,4500,16.203,4501,22.314]],["keywords/566",[]],["title/567",[277,253.734,359,599.787]],["content/567",[]],["keywords/567",[]],["title/568",[0,912.046]],["content/568",[40,9.318,45,3.399,50,5.715,51,7.466,52,3.914,88,6.716,152,5.9,158,6.507,208,3.326,265,5.407,277,4.38,349,6.483,358,5.624,359,10.352,423,7.298,542,8.989,1041,6.548,1235,13.025,1501,9.438,2482,9.094,2556,12.209,2651,11.587,2652,9.695,2674,10.474]],["keywords/568",[]],["title/569",[277,208.292,359,492.368,2082,462.65]],["content/569",[]],["keywords/569",[]],["title/570",[136,228.606,358,245.059,2082,462.65]],["content/570",[7,5.214,50,7.767,51,6.826,350,4.345,849,9.291,951,14.403,1543,7.141,1774,10.664,3731,17.28,4479,14.906,4502,18.818,4503,18.818]],["keywords/570",[]],["title/571",[358,245.059,1774,554.704,2082,462.65]],["content/571",[62,6.333,137,7.61,345,9.684,351,9.684,358,5.925,568,7.063,647,10.486,4504,23.665,4505,18.503,4506,18.503]],["keywords/571",[]],["title/572",[277,253.734,855,500.068]],["content/572",[41,8.826,45,3.557,53,8.002,157,8.067,277,4.879,322,7.754,358,5.3,359,8.657,376,4.809,404,6.687,436,7.875,573,8.43,746,9.302,1041,6.853,1175,9.408,1237,9.753,1340,10.009,2082,8.134,2116,14.184,4473,12.778]],["keywords/572",[]],["title/573",[1501,875.375]],["content/573",[208,3.774,265,6.136,322,8.407,358,5.566,493,12.329,542,10.201,573,7.43,855,7.826,1041,7.43,1501,12.761,2162,12.6]],["keywords/573",[]],["title/574",[158,471.87,1031,723.668]],["content/574",[]],["keywords/574",[]],["title/575",[0,912.046]],["content/575",[4,8.267,38,10.656,39,8.645,53,7.268,60,5.49,97,6.6,111,12.883,131,9.634,158,9.448,185,7.581,187,5.701,208,3.161,277,3.326,284,8.181,323,9.957,345,8.181,358,5.494,621,8.449,1031,9.487,1275,11.015,1340,9.091,1377,9.487,1964,9.487,2370,10.136,2651,11.015,2652,9.216,2661,11.964,4410,13.512,4473,11.606,4507,15.631]],["keywords/575",[]],["title/576",[158,387.36,1031,594.063,2082,462.65]],["content/576",[]],["keywords/576",[]],["title/577",[136,228.606,358,245.059,2082,462.65]],["content/577",[1,3.167,7,5.838,38,4.686,39,4.848,45,1.812,50,8.367,51,3.18,52,2.087,59,3.862,64,4.527,72,4.636,78,3.288,97,5.613,102,2.71,138,3.427,142,4.409,158,9.112,162,3.108,194,2.698,208,1.773,224,4.372,243,3.346,265,2.882,277,2.829,302,4.178,322,8.075,345,11.026,349,5.646,350,3.07,351,6.957,358,5.274,378,4.409,404,5.166,442,5.402,447,3.27,573,5.294,698,4.011,749,5.098,848,5.731,849,10.012,855,3.676,921,8.961,952,8.692,1041,8.389,1337,4.967,1543,5.045,1964,5.32,2091,9.582,2155,7.267,2162,10.157,2510,11.316,2834,6.177,2974,8.193,3846,6.709,4479,6.943,4508,8.765,4509,8.765,4510,8.765,4511,8.765]],["keywords/577",[]],["title/578",[158,471.87,358,298.523]],["content/578",[1,1.626,5,1.969,18,3.11,37,2.779,38,6.781,39,4.559,40,8.762,41,4.228,45,2.622,51,4.601,52,3.681,69,4.93,97,5.356,121,3.772,144,1.639,157,3.864,158,8.977,159,4.507,162,2.494,173,5.469,185,3.998,243,3.147,244,4.842,254,5.345,258,4.794,265,2.711,277,3.989,282,4.93,284,4.314,290,4.614,292,3.303,296,6.442,317,2.597,322,3.714,332,4.559,340,2.911,345,10.359,346,11.17,349,6.495,358,6.131,423,7.705,425,4.86,436,3.772,503,5.557,575,4.732,583,5.557,636,6.309,643,5.715,673,3.772,674,4.672,704,5.557,734,7.126,790,6.442,819,4.507,849,4.07,1031,9.384,1041,6.157,1146,6.207,1242,4.456,1478,5.677,1742,5.956,1818,7.57,2091,6.781,2105,4.93,2482,4.559,2489,8.938,2509,7.57,2620,9.709,2651,10.895,2652,9.116,2661,6.309,2834,5.809,2861,7.126,2864,7.57,2910,7.126,2973,6.794,3444,6.794,3846,6.309,3978,10.965,4316,7.57,4512,8.244,4513,7.57,4514,8.244,4515,8.244,4516,8.244,4517,8.244]],["keywords/578",[]],["title/579",[60,418.815,158,471.87]],["content/579",[5,2.971,38,10.234,41,9.818,60,6.724,158,7.576,322,8.625,433,12.649,1340,11.134,2370,14.637,4473,14.213]],["keywords/579",[]],["title/580",[53,554.39,612,734.894]],["content/580",[]],["keywords/580",[]],["title/581",[0,912.046]],["content/581",[1,3.503,35,3.921,53,8.258,61,11.377,136,5.43,188,9.942,252,8.326,277,3.78,278,9.876,378,8.934,612,10.947,620,8.851,631,13.594,852,8.326,1556,11.736]],["keywords/581",[]],["title/582",[136,228.606,358,245.059,2082,462.65]],["content/582",[51,8.646,61,10.933,130,6.507,336,7.447,404,7.312,848,8.113,4518,18.818,4519,18.818,4520,18.818,4521,18.818]],["keywords/582",[]],["title/583",[136,278.481,1166,703.024]],["content/583",[52,3.829,53,10.34,61,10.882,62,6.947,136,5.624,197,6.405,265,5.289,278,10.176,351,8.418,373,9.932,612,9.914,952,7.801,1166,11.968,1358,9.355,1461,11.335,1462,10.843,1666,7.801,1846,14.664,2959,13.258]],["keywords/583",[]],["title/584",[139,142.147,1166,577.115,2568,659.816]],["content/584",[1,2.685,41,6.982,45,2.814,53,8.468,61,6.661,136,5.118,139,1.977,141,7.638,173,5.869,225,4.19,226,7.278,241,9.866,280,11.407,331,8.334,351,7.125,352,5.873,353,5.788,404,5.29,612,11.225,889,11.221,1054,7.2,1166,12.1,1287,6.489,1297,6.489,1341,11.225,1666,9.953,1837,9.835,2099,13.522,2352,11.225,2568,13.834,2654,10.108,2974,11.225,4522,11.768,4523,11.768,4524,13.614]],["keywords/584",[]],["title/585",[4522,1318.333]],["content/585",[1,1.919,5,1.51,7,3.982,18,5.423,35,3.773,45,2.97,53,7.947,102,5.285,130,3.364,136,4.924,139,3.722,143,2.98,144,1.257,162,2.318,181,3.453,189,3.874,192,1.967,195,8.722,201,5.2,204,3.472,217,5.513,220,6.576,256,4.995,262,6.428,265,3.199,282,5.817,308,7.705,352,4.581,375,4.165,442,8.858,573,3.874,628,4.35,646,3.649,671,4.317,673,4.451,686,5.039,700,4.026,742,4.317,774,12.025,1146,4.76,1293,5.039,1362,5.904,1803,13.303,2356,6.629,2568,11.521,3193,7.223,3990,11.845,4522,8.409,4525,8.933,4526,8.933,4527,8.933,4528,8.933,4529,9.728,4530,8.409,4531,9.728,4532,17.091,4533,9.728,4534,9.728,4535,9.728,4536,9.728,4537,9.728,4538,9.728,4539,9.728,4540,8.933]],["keywords/585",[]],["title/586",[4523,1318.333]],["content/586",[1,2.093,5,1.647,7,4.244,29,4.124,35,3.381,45,3.166,53,9.148,102,3.282,130,3.67,136,4.872,139,3.735,143,3.252,144,1.371,162,2.471,189,4.226,195,9.295,201,5.674,217,3.423,219,6.448,262,7.013,265,3.49,282,6.347,336,6.061,352,4.817,443,5.737,628,4.746,671,4.71,673,4.857,686,5.498,742,4.71,774,12.533,799,8.748,876,8.748,1146,5.193,1166,10.595,1296,8.123,1362,6.441,1365,11.722,2192,9.174,2356,4.895,3193,7.88,4523,9.174,4525,9.746,4527,16.501,4528,9.746,4541,15.316,4542,8.748,4543,15.316,4544,17.97,4545,10.613,4546,10.613,4547,10.613,4548,10.613]],["keywords/586",[]],["title/587",[208,241.161,359,599.787]],["content/587",[]],["keywords/587",[]],["title/588",[0,912.046]],["content/588",[50,6.224,59,7.888,69,10.708,124,9.371,136,4.182,208,4.387,349,5.64,359,10.91,554,11.124,671,7.947,716,13.704,1235,14.183,1332,11.61,1834,8.917,2109,7.22]],["keywords/588",[]],["title/589",[136,228.606,358,245.059,2082,462.65]],["content/589",[7,3.704,50,8.888,51,4.849,59,5.889,72,7.07,162,3.509,322,8.106,349,5.667,350,3.087,378,6.724,404,5.194,573,8.097,749,7.774,848,7.756,849,11.544,855,5.606,921,12.127,952,8.725,1041,9.039,2091,9.617,2155,9.835,2162,10.195,2510,12.677,4479,10.588,4495,11.555]],["keywords/589",[]],["title/590",[855,500.068,1834,490.198]],["content/590",[45,4.789,182,9.986,349,5.55,351,9.222,362,8.471,436,8.063,593,10.389,855,9.717,1041,7.016,1175,11.742,1237,12.172,1834,9.916]],["keywords/590",[]],["title/591",[404,463.326,1834,490.198]],["content/591",[7,4.046,18,5.509,45,3.942,102,4.515,124,7.642,130,5.049,162,3.077,167,7.344,188,8.173,197,5.814,256,5.075,277,4.521,336,5.778,358,3.655,359,7.344,404,7.412,540,9.145,615,7.144,628,6.529,671,6.48,821,9.647,848,6.295,855,6.123,1041,5.814,1834,10.388,1935,8.609,2123,9.647,2162,8.274,3476,9.468,3758,9.468,4275,9.647,4433,13.407,4549,14.601]],["keywords/591",[]],["title/592",[852,558.933,1834,490.198]],["content/592",[5,3,18,5.62,42,9.04,208,3.013,227,3.881,239,11.799,327,8.238,349,4.692,359,7.493,542,8.143,628,6.66,677,10.564,849,9.541,852,9.058,1041,7.695,1166,11.393,1335,9.842,1516,10.496,1556,9.842,1666,7.224,1834,9.908,2091,10.331,2105,8.908,2155,8.143,2162,8.441,2510,10.496,2882,11.06,3809,10.258,3961,13.026,4275,9.842,4493,12.876]],["keywords/592",[]],["title/593",[612,603.278,1054,517.683,1834,402.406]],["content/593",[18,4.574,42,7.358,67,6.628,130,4.192,142,6.098,143,3.714,194,5.949,198,6.098,271,7.358,290,6.786,291,12.88,294,8.759,302,5.779,346,8.759,513,7.25,542,6.628,625,8.9,649,6.218,789,10.064,790,6.157,848,5.227,1036,8.172,1041,7.697,1054,10.223,1123,10.48,1175,6.628,1543,6.386,1665,8.349,1666,8.161,1693,8.011,1803,8.543,1834,10.137,1996,9.279,2091,8.996,2105,11.559,2894,11.858,3147,14.351,3809,13.311,3961,11.344,4550,11.133,4551,12.124,4552,12.124,4553,16.828,4554,12.124,4555,15.453,4556,11.133]],["keywords/593",[]],["title/594",[620,594.176,1834,490.198]],["content/594",[50,6.654,119,9.722,129,10.588,208,4.565,279,7.1,620,9.539,1834,9.869,2109,7.719]],["keywords/594",[]],["title/595",[208,241.161,2631,861.436]],["content/595",[]],["keywords/595",[]],["title/596",[0,912.046]],["content/596",[4,9.102,50,5.982,91,6.493,194,5.297,208,4.282,285,6.531,296,8.74,447,6.419,628,7.695,695,11.574,752,10.178,849,8.497,1834,7.075,2631,12.433,2943,14.362,2980,15.803,4410,14.877,4557,17.21,4558,17.21]],["keywords/596",[]],["title/597",[208,197.97,2082,462.65,2631,707.157]],["content/597",[]],["keywords/597",[]],["title/598",[136,228.606,358,245.059,2082,462.65]],["content/598",[7,3.66,50,8.916,51,4.791,59,5.819,72,6.985,162,3.492,322,8.04,349,5.621,350,3.05,378,6.644,404,5.132,573,8.048,749,7.682,848,7.694,849,11.503,855,5.539,921,12.029,952,8.654,1041,9.002,2091,9.54,2155,9.756,2162,10.113,2510,12.575,2943,8.273,4495,11.417,4559,13.208]],["keywords/598",[]],["title/599",[358,245.059,2082,462.65,2943,613.069]],["content/599",[5,1.304,7,5.752,18,4.856,48,4.738,49,4.11,52,3.724,67,4.592,79,3.206,84,2.736,139,1.869,143,2.574,157,3.938,158,3.324,182,4.76,194,2.585,208,2.603,217,5.655,224,6.558,252,3.938,256,4.473,273,3.409,284,4.396,292,6.268,321,3.756,325,4.821,332,4.646,340,5.524,349,4.054,350,1.94,358,2.103,362,4.038,378,4.225,404,3.264,414,6.654,443,6.956,513,5.023,621,4.54,628,8.917,646,3.151,651,5.023,652,4.351,704,8.675,808,4.443,830,10.336,840,5.177,849,4.147,852,8.219,882,8.198,883,7.932,938,9.798,1041,3.345,1054,6.806,1189,5.662,1242,4.54,1302,7.261,1335,5.55,1365,6.429,1471,6.654,1516,5.919,1524,6.654,1526,5.447,1543,7.174,1591,4.038,1673,5.098,2091,4.491,2105,5.023,2155,4.592,2162,7.293,2302,7.261,2489,5.919,2631,12.667,2698,7.713,2779,6.654,2943,14.66,3014,11.169,3450,7.713,3809,5.785,3890,7.713,4275,8.503,4314,7.261,4493,7.261,4560,8.4,4561,8.4,4562,8.4,4563,8.4,4564,8.4,4565,8.4,4566,8.4,4567,11.817]],["keywords/599",[]],["title/600",[358,298.523,855,500.068]],["content/600",[18,4.925,39,7.219,45,3.659,157,6.118,194,4.017,224,4.292,256,4.537,273,8.152,277,3.767,351,6.831,358,5.945,362,8.511,404,5.072,425,7.696,436,8.1,503,8.798,593,10.437,649,9.079,758,5.836,855,9.443,1041,5.197,1157,9.691,1175,10.982,1189,11.933,1237,11.384,1377,7.922,1470,11.283,1476,7.306,1535,10.758,1665,8.988,2879,12.796,2943,14.872,3790,11.283,4025,10.339]],["keywords/600",[]],["title/601",[612,603.278,1054,517.683,2943,613.069]],["content/601",[7,2.927,67,10.732,78,5.726,102,3.266,121,4.833,130,3.653,141,4.43,142,5.313,157,4.951,194,6.409,198,7.678,234,5.078,254,6.849,290,5.912,291,11.682,292,6.116,294,7.631,302,5.035,309,5.123,346,7.631,351,5.528,425,11.574,542,5.774,632,5.264,649,5.417,789,9.128,790,5.365,792,7.631,843,6.51,848,4.554,1041,4.206,1054,10.382,1666,10.098,1693,6.979,2105,6.317,2493,10.085,2894,7.443,2943,15.655,3147,13.306,3259,12.09,3616,9.699,3724,8.16,3727,10.156,3758,9.897,3809,7.274,3961,7.12,3962,7.443,4025,8.367,4550,9.699,4555,9.699,4556,9.699,4568,17.921,4569,17.921,4570,17.921]],["keywords/601",[]],["title/602",[352,319.604,353,506.944]],["content/602",[]],["keywords/602",[]],["title/603",[0,912.046]],["content/603",[1,3.896,3,11.489,39,8.525,45,3.186,49,7.542,54,8.965,121,7.053,136,4.614,153,6.138,185,7.475,187,7.205,225,4.744,352,6.78,353,9.269,573,7.866,621,8.331,643,6.945,849,7.61,1166,9.088,1287,7.347,1556,10.185,2155,8.426,2459,8.426,2654,11.444]],["keywords/603",[]],["title/604",[352,262.365,353,416.153,2082,462.65]],["content/604",[]],["keywords/604",[]],["title/605",[136,228.606,358,245.059,2082,462.65]],["content/605",[3,6.451,5,2.859,11,4.621,41,5.689,45,3.267,51,7.282,97,4.683,136,5.767,157,5.199,162,1.789,170,7.477,188,6.209,192,2.243,207,6.064,209,4.997,224,3.647,254,7.192,256,3.855,262,7.329,307,6.135,329,9.846,338,9.741,349,4.979,355,6.633,376,3.099,378,5.579,404,4.31,571,6.815,573,8.45,574,6.54,649,5.689,750,7.233,848,4.782,849,9.912,855,6.63,921,7.477,1041,6.295,1146,5.427,1242,5.995,1340,6.451,1556,7.329,1774,8.958,1819,7.816,1964,6.732,2162,11.377,2585,9.142,3256,9.142,4473,8.235,4571,11.092,4572,11.092,4573,11.092,4574,11.092,4575,11.092,4576,11.092,4577,11.092,4578,15.807]],["keywords/605",[]],["title/606",[352,262.365,358,245.059,2082,462.65]],["content/606",[46,6.007,51,6.802,60,4.997,64,4.844,143,4.358,166,8.274,194,4.378,208,2.877,225,5.771,227,3.706,241,6.839,256,4.945,265,4.678,305,8.062,322,8.449,349,4.481,352,6.601,640,10.888,825,7.963,1166,8.388,1287,9.998,1388,9.4,1441,12.297,1526,9.224,1606,7.689,2454,10.277,2526,9.062,2924,11.268,4398,13.063,4579,14.226,4580,14.226,4581,14.226,4582,14.226,4583,14.226,4584,14.226,4585,14.226,4586,14.226,4587,14.226,4588,14.226]],["keywords/606",[]],["title/607",[225,366.989,352,319.604]],["content/607",[40,7.311,46,5.447,51,4.68,72,6.823,141,8.374,150,5.683,183,8.919,194,5.405,208,3.552,217,4.161,225,3.97,256,6.104,258,7.503,260,8.524,284,6.752,294,9.32,325,7.404,329,6.896,332,7.135,350,2.979,352,6.201,423,5.725,434,5.768,436,8.036,573,6.993,575,7.404,628,5.768,653,7.503,758,5.768,836,7.829,1041,7.951,1235,10.218,1253,6.149,1287,8.371,1335,8.524,1463,11.151,1478,8.884,1543,6.665,1556,8.524,1575,7.951,1666,8.517,1837,9.32,2099,9.578,2124,9.578,2652,7.606,2883,7.404,2886,14.475,3457,10.218]],["keywords/607",[]],["title/608",[352,262.365,542,535.102,1041,389.769]],["content/608",[1,3.344,5,2.632,7,3.397,18,4.625,51,7.052,84,3.992,87,13.976,114,8.856,141,5.141,153,4.881,165,11.095,170,11.431,182,9.61,194,3.773,196,9.311,202,7.993,225,5.219,352,5.903,353,7.209,433,8.099,437,6.415,476,9.998,493,8.099,542,6.701,632,8.45,743,7.948,855,9.236,1041,6.752,1161,15.571,1287,10,1556,8.099,1673,7.439,1778,12.59,2428,10.596,2911,10.596,2924,13.432,3192,13.976,4275,8.099,4414,11.256,4589,16.957]],["keywords/608",[]],["title/609",[3,569.283,225,301.263,352,262.365]],["content/609",[3,14.098,5,2.552,130,5.686,136,4.807,149,11.88,182,9.318,192,3.326,197,6.548,204,5.868,314,10.299,318,3.59,352,6.021,353,6.991,362,7.905,404,7.997,699,12.209,1175,8.989,1237,9.318,1358,9.563,2082,7.772,2123,10.865,2459,8.989]],["keywords/609",[]],["title/610",[2459,833.74]],["content/610",[3,6.387,5,1.705,11,6.539,37,3.702,95,9.493,124,5.747,144,2.367,152,3.94,159,6.003,163,5.422,192,2.221,201,5.871,217,6.446,220,5.025,222,6.567,225,5.637,240,7.162,242,6.223,256,3.817,318,2.398,352,4.91,362,5.28,513,6.567,563,5.808,724,5.524,742,4.874,744,9.446,768,12.161,952,5.326,1041,4.373,1065,7.934,1152,12.907,1175,8.58,1237,8.895,1316,6.995,1568,7.563,1591,5.28,1666,7.612,2082,7.419,2356,8.448,2459,10.925,2683,10.371,2929,15.097,3681,10.084,4355,9.051,4356,9.493,4361,9.051,4590,10.982,4591,10.084,4592,10.084,4593,10.982,4594,10.982,4595,10.982,4596,10.084,4597,10.084,4598,9.493,4599,10.982,4600,10.084,4601,10.982,4602,9.493,4603,10.982]],["keywords/610",[]],["title/611",[3,886.997]],["content/611",[3,12.725,78,4.059,130,5.37,136,2.527,142,5.443,144,1.398,149,7.818,192,2.189,201,5.785,217,6.403,225,5.591,240,5.262,241,5.202,255,9.426,256,6.314,309,5.248,318,2.363,352,5.321,563,5.723,583,7.294,643,4.875,724,5.443,744,8.586,745,8.282,746,5.849,752,5.202,768,12.101,779,8.034,952,7.532,1041,7.234,1152,12.801,1175,8.49,1237,8.801,1471,8.571,1476,8.693,1666,5.248,2082,7.341,2356,7.163,2459,12.321,2929,14.973,4361,8.919,4598,9.354,4602,9.354,4604,9.354,4605,9.936,4606,9.936,4607,9.936,4608,15.53,4609,15.53,4610,15.53,4611,9.936,4612,10.821,4613,15.53]],["keywords/611",[]],["title/612",[3,569.283,153,389.769,352,262.365]],["content/612",[3,7.686,5,2.051,7,5.32,18,3.281,39,8.839,41,8.197,51,3.155,64,6.079,102,2.689,105,5.989,130,3.007,153,5.262,157,6.194,164,2.781,183,12.098,187,3.172,188,4.868,192,1.759,194,4.919,196,5.865,217,2.805,224,2.86,225,2.677,241,4.181,256,4.593,284,10.996,302,4.145,318,1.899,319,5.989,327,4.81,350,3.051,352,6.385,442,5.36,551,9.1,573,3.463,575,4.992,592,5.278,593,5.128,636,10.114,825,4.868,889,10.892,952,4.218,1041,5.262,1118,13.921,1125,8.731,1162,7.791,1203,8.731,1253,4.145,1287,9.636,1405,5.447,1461,6.128,1464,6.656,1591,4.181,1663,6.128,1830,7.518,1924,6.889,1964,9.7,2124,15.01,2426,10.114,2459,8.737,2650,6.889,2883,7.585,3921,6.889,4348,7.986,4614,8.697,4615,8.697,4616,8.697,4617,8.697,4618,8.697]],["keywords/612",[]],["title/613",[352,319.604,825,667.427]],["content/613",[7,4.331,60,7.001,69,9.348,112,9.933,139,2.27,141,9.204,182,8.858,185,7.581,194,4.811,196,8.846,203,8.858,248,10.326,260,10.328,284,8.181,352,5.343,355,9.348,376,5.57,574,9.216,575,8.972,592,12.097,724,7.863,795,6.989,825,8.749,875,7.863,1041,6.224,1287,7.451,1666,7.581,2264,11.606]],["keywords/613",[]],["title/614",[83,541.368,352,262.365,1027,470.582]],["content/614",[]],["keywords/614",[]],["title/615",[1911,1101.818]],["content/615",[]],["keywords/615",[]],["title/616",[314,746.821,316,803.767]],["content/616",[1,4.04,5,2.534,83,11.33,88,6.667,121,7.469,185,7.916,188,9.136,192,4.143,198,8.21,209,7.354,271,9.906,285,6.194,314,12.831,318,4.473,352,6.001,545,9.906,636,12.493,673,7.469,742,7.244,751,10.397,875,8.21,1027,7.847,1067,8.822,1341,10.06]],["keywords/616",[]],["title/617",[5,151.938,352,262.365,353,416.153]],["content/617",[4,4.991,5,1.465,11,3.932,18,3.561,35,3.707,51,3.424,60,3.315,63,5.911,64,3.214,79,6.409,86,8.666,97,3.985,110,5.911,112,4.703,136,2.204,141,5.894,150,4.158,166,5.489,168,6.499,174,4.424,183,9.447,187,5.126,194,2.905,202,5.777,208,2.842,209,6.332,224,3.104,225,4.325,227,2.459,234,4.537,254,6.12,256,3.28,284,4.939,321,4.22,322,4.252,327,7.772,332,5.22,349,5.288,352,6.279,353,5.975,355,5.644,433,6.236,503,6.362,543,6.012,573,3.758,593,5.564,615,4.618,628,4.22,722,6.236,742,4.189,843,8.661,849,4.66,852,4.424,874,4.618,952,4.577,1189,6.362,1253,6.698,1287,9.48,1335,6.236,1405,5.911,1452,8.158,1462,6.362,1543,3.582,1587,5.045,1588,5.417,1606,5.101,1663,6.65,1665,6.499,1666,9.645,1691,6.12,1733,7.223,1862,9.285,2082,4.461,2105,8.404,2124,7.007,2352,5.817,2449,6.65,2866,7.779,2883,8.066,2886,7.779,3111,10.756,3130,8.158,3285,8.158,4275,6.236,4619,9.438,4620,9.438,4621,9.438,4622,9.438,4623,9.438]],["keywords/617",[]],["title/618",[208,241.161,376,333.189]],["content/618",[1,1.944,2,7.808,5,1.53,43,6.513,52,3.455,62,6.931,69,8.679,137,7.891,143,3.02,155,5.056,181,7.189,208,5.16,217,3.179,265,5.664,272,5.658,274,5.586,277,3.088,290,5.518,296,7.371,309,9.214,352,2.642,358,5.07,376,4.813,423,4.375,432,11.05,443,5.328,568,7.73,615,4.823,628,6.49,647,8.225,657,7.808,658,6.946,741,13.267,743,6.392,748,6.946,750,4.511,757,6.513,775,3.29,785,7.808,1200,4.476,1352,10.972,1526,6.392,1756,7.319,2462,8.125,2521,8.125,2646,7.319,2861,12.545,2949,8.521,3898,9.052,4624,9.858]],["keywords/618",[]],["title/619",[352,262.365,353,416.153,1027,470.582]],["content/619",[1,4.156,5,3.547,79,8.723,91,6.443,129,9.445,143,5.232,240,7.138,279,6.334,352,4.577,353,7.26,433,11.284,545,10.364,554,8.758,671,9.351,1027,8.21,1307,14.762,1386,9.932,2352,10.525]],["keywords/619",[]],["title/620",[1,163.73,2595,684.219,2984,684.219,4625,762.291]],["content/620",[1,3.243,5,2.552,35,3.63,79,6.277,143,5.038,208,3.326,240,7.611,320,9.98,352,5.516,353,8.75,434,7.353,637,10.299,817,13.025,818,11.88,1027,9.894,1291,12.209,1337,13.342,4625,15.099,4626,16.443,4627,13.553,4628,15.099,4629,15.099]],["keywords/620",[]],["title/621",[1,163.73,2595,684.219,2984,684.219,4630,830.14]],["content/621",[1,1.317,5,3.554,29,2.596,35,5.41,38,2.032,51,1.379,62,3.679,79,1.451,143,1.165,155,1.95,208,4.996,240,2.263,349,1.197,352,5.475,353,8.684,359,5.407,376,3.42,434,10.957,495,3.36,758,1.7,817,5.291,818,4.826,848,2.88,874,1.86,1027,1.828,1266,2.078,1291,19.008,1466,3.286,1588,2.182,2904,2.679,4186,3.011,4312,3.491,4403,3.011,4627,3.133,4628,3.491,4629,3.491,4631,10.748,4632,3.801,4633,6.134,4634,3.801,4635,3.133,4636,3.801,4637,3.801,4638,3.801,4639,3.801,4640,3.491,4641,3.801,4642,3.801,4643,3.801,4644,3.801,4645,6.134,4646,3.801,4647,3.491,4648,3.801,4649,3.801,4650,3.801,4651,3.286,4652,3.801,4653,3.801,4654,3.801,4655,6.134,4656,3.801,4657,3.801,4658,8.204,4659,3.801,4660,3.801,4661,3.801,4662,3.801,4663,18.587,4664,3.801,4665,6.134,4666,3.801,4667,3.801,4668,3.801,4669,3.801,4670,3.801,4671,3.801,4672,8.204,4673,3.801,4674,3.801,4675,3.801,4676,3.286,4677,3.801,4678,3.801,4679,3.801,4680,3.801,4681,3.801,4682,3.801,4683,3.286,4684,3.491,4685,3.801,4686,3.801,4687,3.801,4688,3.801,4689,3.801,4690,3.801,4691,3.801,4692,3.801,4693,3.801,4694,3.801,4695,3.801,4696,3.801,4697,3.491,4698,3.801,4699,3.491,4700,3.801,4701,3.286,4702,3.801,4703,3.801,4704,3.801,4705,3.801,4706,3.491,4707,3.801,4708,3.801,4709,3.801,4710,3.801,4711,3.801,4712,3.801,4713,3.801,4714,3.801,4715,3.801,4716,3.801,4717,3.801,4718,3.801,4719,3.801,4720,3.801,4721,3.286,4722,3.801,4723,3.801,4724,3.801,4725,3.801,4726,3.801,4727,3.801,4728,3.801,4729,3.801,4730,3.286,4731,3.801]],["keywords/621",[]],["title/622",[64,333.304,757,646.758,3715,646.758]],["content/622",[52,4.72,64,6.752,194,6.103,240,6.718,352,5.315,676,8.099,749,11.532]],["keywords/622",[]],["title/623",[718,1007.71]],["content/623",[5,1.655,48,2.882,52,5.654,60,3.746,64,6.714,84,3.473,139,3.398,140,1.418,144,2.328,153,4.247,164,4.15,180,5.727,181,3.786,192,3.108,194,3.282,219,3.827,227,2.778,318,3.356,349,3.359,350,4.161,362,5.127,376,2.98,396,7.918,568,4.071,574,9.062,580,13.029,626,6.793,720,7.189,749,6.202,758,4.769,775,3.559,795,6.872,902,12.667,918,6.044,1295,7.515,1297,7.326,1781,7.515,2131,12.667,2239,13.285,2268,9.219,3333,6.915,3715,10.155,3990,8.79,4157,12.667,4339,21.09,4732,10.664,4733,9.793,4734,9.793,4735,9.793,4736,9.793,4737,9.793,4738,15.369]],["keywords/623",[]],["title/624",[4333,1400.437]],["content/624",[5,1.688,52,4.736,60,3.819,64,6.775,139,3.414,140,1.446,144,2.354,153,4.33,155,5.577,164,4.188,180,5.778,181,8.196,192,3.152,194,3.347,227,2.833,318,3.403,349,3.425,350,4.206,396,8.074,574,9.189,580,13.146,720,7.33,749,6.324,758,4.862,775,5.201,892,12.846,902,12.846,918,6.162,1295,7.662,1297,7.429,1781,7.662,2131,12.846,2239,13.472,2268,13.472,3715,10.298,3775,12.345,3990,8.962,4157,12.846,4733,9.985,4734,9.985,4735,9.985,4736,9.985,4737,9.985,4739,10.874,4740,23.087]],["keywords/624",[]],["title/625",[4343,1318.333]],["content/625",[]],["keywords/625",[]],["title/626",[4344,1318.333]],["content/626",[]],["keywords/626",[]],["title/627",[4345,1318.333]],["content/627",[41,5.242,52,5.404,59,9.452,64,5.075,112,7.427,130,3.535,139,3.416,140,1.359,144,1.926,192,3.014,198,11.833,217,3.297,227,2.663,240,3.463,318,3.254,447,8.775,574,6.027,775,3.411,855,6.25,1041,5.935,1067,9.507,1666,8.53,2059,5.867,2214,19.702,2356,6.874,4332,8.097,4343,8.836,4344,8.836,4345,8.836,4741,10.222,4742,14.903,4743,17.589,4744,10.222,4745,10.222,4746,10.222,4747,9.386,4748,10.222,4749,14.903,4750,22.703,4751,14.903,4752,14.903,4753,14.903]],["keywords/627",[]],["title/628",[4526,1400.437]],["content/628",[45,3.734,61,7.546,136,5.881,137,6.215,139,3.453,140,1.425,144,1.993,162,1.729,164,2.256,180,4.479,192,3.119,227,4.018,256,3.725,318,3.367,331,7.057,333,5.291,350,2.475,362,5.152,442,6.605,563,5.668,594,5.927,642,7.685,775,3.576,836,6.504,848,4.62,929,13.836,1027,5.152,1297,5.108,1347,6.232,1354,9.84,1479,7.38,1536,8.202,1574,8.202,2155,10.804,2356,7.113,2475,8.832,4530,9.263,4754,15.422,4755,13.332,4756,10.716,4757,9.263,4758,9.263,4759,15.422,4760,10.716,4761,15.422,4762,15.422,4763,10.716,4764,10.716,4765,14.162,4766,10.716,4767,9.84]],["keywords/628",[]],["title/629",[4542,1257.008]],["content/629",[45,3.995,48,4.548,61,8.234,102,3.749,136,5.629,139,3.032,140,1.612,144,2.174,162,1.956,181,6.861,192,3.404,209,5.462,227,3.158,256,4.214,318,3.674,331,7.7,333,5.986,594,6.705,642,8.386,679,11.589,848,7.255,892,9.992,929,8.011,1479,8.349,1709,8.349,2475,9.992,2526,7.723,3745,15.503,4755,10.48,4757,10.48,4758,10.48,4768,12.124,4769,12.124,4770,11.133,4771,19.328,4772,16.828,4773,12.124,4774,16.828,4775,12.124,4776,16.828,4777,16.828,4778,12.124,4779,12.124,4780,12.124,4781,12.124]],["keywords/629",[]],["title/630",[4782,1525.086]],["content/630",[45,4.491,58,6.695,102,4.733,130,5.293,136,5.356,139,2.856,140,2.035,144,1.978,162,2.469,192,3.978,227,3.988,256,5.321,318,4.294,331,8.999,333,7.558,571,6.599,594,8.466,637,9.587,929,10.114,1479,10.541,2155,10.752,4542,12.616,4755,13.232,4757,13.232,4758,13.232,4783,15.307,4784,15.307,4785,15.307,4786,15.307,4787,15.307]],["keywords/630",[]],["title/631",[4788,1400.437]],["content/631",[]],["keywords/631",[]],["title/632",[4789,1400.437]],["content/632",[1,1.579,28,5.783,29,3.111,41,6.36,45,1.655,64,2.726,88,3.27,89,3.403,91,3.02,102,2.475,112,8.518,130,2.768,136,5.693,139,3.143,140,2.273,142,7.635,144,1.602,152,2.872,153,6.807,162,1.291,192,3.07,194,2.464,209,3.607,217,2.582,227,3.231,240,4.201,279,2.969,318,2.708,333,3.953,340,2.827,349,2.522,376,3.465,404,3.111,443,4.327,447,4.626,621,4.327,752,7.297,775,2.672,842,5.641,855,7.169,1146,3.917,1251,8.959,1291,5.944,1315,5.783,1362,7.526,1473,6.127,1505,5.944,1709,10.453,1714,6.424,2162,8.602,2356,9.022,2489,5.641,3316,11.387,3809,5.513,4473,13.731,4477,7.351,4530,10.719,4540,11.387,4542,6.598,4684,11.387,4697,11.387,4765,11.387,4767,11.387,4788,7.351,4789,7.351,4790,8.005,4791,12.401,4792,17.093,4793,12.401,4794,12.401,4795,12.401,4796,8.005,4797,8.005,4798,8.005,4799,8.005,4800,12.401,4801,12.401,4802,12.401,4803,8.005,4804,12.401,4805,12.401,4806,8.005,4807,8.005,4808,15.179]],["keywords/632",[]],["title/633",[64,333.304,88,399.796,187,357.023]],["content/633",[64,6.875,240,6.84,1362,12.254,1405,12.646,2876,15.993]],["keywords/633",[]],["title/634",[574,899.2]],["content/634",[64,7.209,112,10.55,139,3.074,140,2.288,144,2.224,192,4.282,227,4.484,318,4.622,349,5.421,574,10.147,874,8.421,921,14.271,1666,8.346,2859,11.371,4747,15.803,4809,17.21,4810,17.21,4811,17.21]],["keywords/634",[]],["title/635",[35,336.711]],["content/635",[9,8.044,35,5.009,45,3.991,88,7.887,187,7.043,240,6.542,700,7.991,813,8.507,1735,14.779]],["keywords/635",[]],["title/636",[1587,815.315]],["content/636",[29,2.971,35,4.429,45,1.58,52,3.969,60,2.686,138,2.989,139,2.913,140,2.667,144,1.546,145,5.433,153,5.87,162,3.349,163,3.775,165,4.044,166,4.447,179,5.963,180,2.221,189,3.045,192,2.981,204,6.85,219,7.45,227,3.117,230,9.146,291,5.852,292,3.064,318,2.613,340,2.7,350,1.766,362,3.676,376,4.119,568,2.919,700,3.164,702,4.871,790,6.077,795,8.582,1202,7.881,1394,6.609,1488,7.262,1543,2.902,1740,7.156,1748,9.937,1749,10.945,1751,10.65,1752,12.15,1802,3.273,3333,4.958,4214,13.744,4245,10.343,4327,9.478,4812,16.675,4813,10.159,4814,8.066,4815,16.333,4816,13.462,4817,7.189,4818,7.262,4819,13.744,4820,13.744,4821,8.644,4822,14.741,4823,7.646,4824,7.646]],["keywords/636",[]],["title/637",[1719,1400.437]],["content/637",[5,1.247,11,3.347,29,3.122,35,4.66,45,2.57,52,4.077,60,2.822,106,4.295,138,3.141,139,1.806,140,2.806,144,1.607,145,5.646,150,3.54,153,4.952,162,3.405,163,3.967,165,4.249,166,4.673,179,6.197,189,3.199,192,2.515,204,6.112,219,7.574,227,3.24,230,9.299,268,10.242,292,3.219,302,3.83,318,2.715,321,3.593,340,2.837,350,1.855,362,3.863,376,4.251,568,3.067,700,5.146,702,5.118,790,6.316,803,4.343,1202,6.648,1414,6.364,1488,7.547,1543,3.049,1740,7.437,1748,8.383,1749,9.233,1751,8.984,1752,10.25,1802,3.44,3333,5.21,4327,9.85,4813,10.328,4814,8.383,4815,16.53,4816,13.687,4817,7.384,4818,7.547,4819,14.116,4820,14.116,4821,5.804,4825,6.622,4826,17.126,4827,12.435,4828,12.435]],["keywords/637",[]],["title/638",[1720,1400.437]],["content/638",[5,1.361,11,3.652,29,3.406,35,4.906,45,1.812,52,4.267,60,3.079,94,7.838,106,4.686,138,3.427,139,2.332,140,2.696,144,1.133,153,5.294,162,3.501,163,4.328,165,4.636,166,5.098,179,6.624,189,3.49,192,2.689,204,4.744,219,7.787,227,3.463,230,9.561,292,3.512,302,4.178,318,2.903,321,3.92,340,3.095,350,2.024,362,4.214,376,2.449,568,3.346,700,3.627,702,5.584,790,6.751,1202,7.107,1488,8.068,1543,3.326,1802,3.753,2367,5.684,2458,6.508,2800,6.508,3333,5.684,3396,6.508,3936,7.225,4813,10.619,4814,8.961,4815,16.864,4816,14.072,4817,7.727,4818,8.068,4819,14.773,4820,14.773,4821,6.333,4829,17.923,4830,8.765,4831,8.765,4832,8.049]],["keywords/638",[]],["title/639",[1721,1400.437]],["content/639",[5,1.225,11,3.287,29,3.066,35,4.758,45,1.631,52,4.038,60,2.772,94,7.231,106,4.219,138,3.085,139,1.781,140,2.79,144,1.585,145,5.568,150,3.476,153,4.883,162,3.385,163,3.896,165,4.174,166,4.59,179,6.111,189,3.142,192,2.48,204,6.054,219,7.529,227,3.195,230,9.244,268,10.144,292,3.162,302,3.761,318,2.678,321,3.529,340,2.786,350,1.822,362,3.794,376,4.203,399,6.504,568,3.012,700,3.266,702,5.027,790,6.228,803,4.265,1202,6.556,1488,7.443,1543,2.995,1740,7.334,1748,8.267,1749,9.105,1751,8.86,1802,3.378,2367,5.117,2458,5.859,2800,5.859,3333,5.117,3396,5.859,4197,10.601,4813,10.267,4814,8.267,4815,16.459,4816,13.606,4817,7.313,4818,7.443,4819,13.981,4820,13.981,4821,5.701,4825,6.504,4833,16.962,4834,12.263,4835,12.263,4836,12.263]],["keywords/639",[]],["title/640",[4837,1525.086]],["content/640",[29,3.252,35,4.577,45,1.73,52,4.165,60,2.939,138,3.271,139,1.863,140,2.647,144,1.658,145,5.826,153,5.11,162,3.45,163,4.132,165,4.426,166,4.867,179,6.394,189,3.332,192,2.595,204,6.245,219,7.674,225,2.576,227,3.343,230,9.422,292,3.353,302,3.989,318,2.802,340,2.955,350,1.932,362,4.023,376,4.361,568,3.194,646,4.814,700,3.463,702,5.331,741,5.241,790,6.517,795,7.824,1202,6.86,1488,7.788,1543,3.176,1740,7.674,1748,8.65,1749,9.527,1751,9.27,1802,3.583,2196,9.527,3333,5.426,4813,10.465,4814,8.65,4815,16.688,4816,13.869,4817,9.221,4818,7.788,4821,6.046,4838,17.498,4839,14.423,4840,12.832,4841,12.832]],["keywords/640",[]],["title/641",[4842,1525.086]],["content/641",[5,1.238,11,3.323,29,3.099,35,4.649,45,2.556,52,4.061,60,2.802,106,4.264,138,3.118,139,1.796,140,2.8,144,1.598,145,5.615,150,3.514,153,4.924,162,3.397,163,3.938,165,4.219,166,4.639,179,6.162,189,3.176,192,2.501,204,6.089,219,7.556,225,2.455,227,3.222,230,9.277,268,10.203,292,3.196,302,3.802,318,2.7,321,3.567,340,2.817,350,1.842,362,3.835,376,4.232,568,3.045,646,4.639,700,5.117,702,5.081,741,4.996,790,6.28,803,4.311,1202,6.611,1414,6.318,1488,7.505,1543,3.027,1740,7.395,1748,8.336,1749,9.182,1751,8.934,1802,3.415,2196,9.182,3333,5.172,4813,10.303,4814,8.336,4815,16.502,4816,13.654,4817,9.079,4818,7.505,4821,5.763,4825,6.574,4839,14.062,4843,17.06,4844,12.366,4845,12.366]],["keywords/641",[]],["title/642",[4846,1525.086]],["content/642",[5,1.35,11,3.623,29,3.379,35,4.895,45,1.797,52,4.249,60,3.055,94,7.791,106,4.649,138,3.4,139,2.321,140,2.688,144,1.124,153,5.262,162,3.492,163,4.294,165,4.6,166,5.058,179,6.585,189,3.463,192,2.673,204,4.716,219,7.768,225,2.677,227,3.443,230,9.538,292,3.485,302,4.145,318,2.885,321,3.889,340,3.071,350,2.008,362,4.181,376,2.43,568,3.32,700,3.599,702,5.54,741,5.447,790,6.711,1202,7.064,1488,8.02,1543,3.3,1802,3.723,2367,5.639,2458,6.457,2800,6.457,3333,5.639,3396,6.457,3936,7.168,4813,10.593,4814,8.908,4815,16.834,4816,14.038,4817,9.334,4818,8.02,4821,6.283,4832,7.986,4839,14.713,4847,17.851,4848,8.697,4849,8.697]],["keywords/642",[]],["title/643",[4850,1525.086]],["content/643",[5,1.216,11,3.264,29,3.045,35,4.748,45,1.619,52,4.022,60,2.752,94,7.191,106,4.189,138,3.063,139,1.771,140,2.783,144,1.576,145,5.537,150,3.452,153,4.856,162,3.377,163,3.869,165,4.144,166,4.557,179,6.077,189,3.12,192,2.467,204,6.031,219,7.888,225,2.412,227,3.177,230,9.222,268,10.105,292,3.14,302,3.735,318,2.663,321,3.504,340,2.767,350,1.809,362,3.767,376,4.184,399,6.458,568,2.991,700,3.242,702,4.991,741,4.908,790,6.194,803,4.235,1202,6.52,1488,7.402,1543,2.973,1740,7.293,1748,8.221,1749,9.055,1751,8.811,1802,3.354,2367,5.081,2458,5.818,2683,8.058,2800,5.818,3333,5.081,3396,5.818,4813,10.243,4814,8.221,4815,16.431,4816,13.574,4817,9.025,4818,7.402,4821,5.661,4825,6.458,4839,13.927,4851,16.898,4852,12.196,4853,12.196]],["keywords/643",[]],["title/644",[4854,830.14,4855,599.745,4856,830.14,4857,830.14]],["content/644",[35,4.452,52,2.667,61,5.482,62,6.339,139,2.312,140,2.117,144,2.057,145,8.409,150,4.936,164,3.351,180,3.254,181,3.977,192,3.22,204,5.682,207,6.125,209,5.048,224,3.684,227,4.148,230,4.936,243,4.277,279,4.156,318,3.476,321,5.01,350,3.676,376,4.449,568,6.077,620,5.583,646,4.203,774,7.137,790,9.406,795,7.119,803,6.056,930,5.434,1177,7.137,1205,7.403,1297,7.589,1587,5.99,1740,9.521,1757,8.094,2072,7.265,2196,8.319,2356,5.168,2626,9.234,2629,9.685,4327,12.611,4858,15.921,4859,15.921,4860,11.204,4861,11.204,4862,11.204,4863,15.921,4864,11.204,4865,11.204,4866,11.204,4867,11.204,4868,8.319,4869,10.288,4870,11.204,4871,11.204,4872,11.204,4873,11.204,4874,11.204,4875,15.921,4876,11.204,4877,11.204]],["keywords/644",[]],["title/645",[4878,1525.086]],["content/645",[48,6.537,62,7.663,139,2.975,140,2.17,144,2.109,162,3.305,181,5.794,192,4.528,227,4.252,317,6.453,318,4.473,700,9.265,4813,7.986,4879,16.322,4880,16.322,4881,11.792,4882,16.322]],["keywords/645",[]],["title/646",[4645,762.291,4855,599.745,4883,584.972,4884,830.14]],["content/646",[35,3.553,45,3.327,133,7.247,139,3.779,140,1.512,144,2.08,145,7.308,146,5.423,160,2.268,162,3.013,172,6.149,192,3.255,204,5.744,227,2.964,232,5.669,243,6.144,277,2.421,318,3.514,358,2.848,455,6.368,593,6.708,646,4.268,775,5.371,1203,10.635,1388,7.517,1714,9.675,1757,8.219,1802,4.87,1935,6.708,2072,7.377,2213,9.377,2356,5.247,2367,7.377,3235,9.377,4817,4.905,4868,8.447,4885,11.376,4886,17.15,4887,16.095,4888,10.447,4889,8.707,4890,10.447,4891,9.834,4892,9.377,4893,9.011,4894,9.011,4895,9.011,4896,10.447,4897,9.834]],["keywords/646",[]],["title/647",[4855,599.745,4898,830.14,4899,762.291,4900,830.14]],["content/647",[35,3.379,45,4.065,139,3.445,140,2.035,144,2.541,162,3.505,192,3.978,204,7.019,227,3.988,318,4.294,775,5.109,1203,12.995,1714,7.93,1802,6.553,1935,9.025,2356,7.06,4817,6.599,4886,19.954,4896,14.056,4901,15.307,4902,19.667,4903,19.667,4904,19.667]],["keywords/647",[]],["title/648",[4651,717.6,4855,599.745,4883,584.972,4905,830.14]],["content/648",[35,3.465,45,2.27,133,6.995,139,3.775,140,1.46,144,2.028,145,7.126,146,5.235,160,2.189,162,3.41,172,5.936,192,3.174,204,5.602,227,2.861,232,5.472,243,5.991,277,3.898,318,3.999,358,2.749,455,6.147,646,4.12,775,3.665,1203,10.371,1388,7.256,1757,7.934,1802,4.701,2072,7.121,2213,9.051,2356,5.065,2367,7.121,3235,9.051,4245,13.568,4813,5.373,4817,7.897,4868,8.154,4888,10.084,4889,8.405,4890,10.084,4891,9.493,4892,9.051,4893,8.699,4894,8.699,4895,8.699,4897,9.493,4906,15.695,4907,6.475,4908,7.934,4909,18.316,4910,15.695,4911,10.982]],["keywords/648",[]],["title/649",[4855,599.745,4883,584.972,4912,830.14,4913,830.14]],["content/649",[35,3.853,45,2.084,52,3.512,94,5.944,139,3.525,140,2.553,144,1.906,145,7.923,146,4.806,152,3.618,158,3.99,160,2.01,162,3.558,164,2.122,172,5.45,183,5.12,189,4.015,192,2.984,204,5.266,213,5.39,214,5.12,219,3.618,227,2.627,318,3.222,350,2.328,376,4.876,423,4.475,455,5.643,646,6.546,651,6.029,652,5.223,775,3.365,833,8.715,1162,10.289,1316,9.399,1418,6.796,1488,10.591,1802,4.316,2216,13.549,2356,4.65,3235,8.31,4197,8.715,4813,7.219,4814,6.796,4817,8.28,4818,6.119,4889,7.717,4897,8.715,4914,14.755,4915,10.082,4916,9.258,4917,14.755,4918,10.082,4919,10.082,4920,10.082,4921,9.258,4922,10.082,4923,10.082,4924,10.082,4925,10.082,4926,10.082,4927,9.258,4928,10.082,4929,10.082,4930,10.082,4931,10.082,4932,10.082,4933,10.082,4934,10.082]],["keywords/649",[]],["title/650",[4935,1525.086]],["content/650",[45,2.479,49,5.868,62,4.104,139,3.574,140,1.594,144,2.158,145,5.445,162,3.352,180,3.483,181,4.257,188,6.713,192,3.887,204,5.961,224,3.944,227,3.124,243,4.578,277,4.939,318,3.647,455,6.713,774,13.238,775,4.002,1757,8.664,1802,5.134,2072,7.776,2127,14.437,2356,5.531,2454,8.664,2626,9.884,2629,10.366,2919,11.012,4651,10.366,4813,5.868,4817,5.17,4868,8.904,4869,11.012,4907,7.071,4908,8.664,4936,16.701,4937,15.336,4938,16.701,4939,11.992,4940,11.992,4941,11.992,4942,11.992,4943,11.992,4944,10.366,4945,16.701,4946,11.992]],["keywords/650",[]],["title/651",[4947,1525.086]],["content/651",[35,5.126,45,2.698,94,13.275,102,4.036,139,2.917,140,2.671,144,2.287,153,5.197,162,3.475,164,3.726,173,5.627,189,5.197,192,3.58,204,7.169,227,3.4,318,3.865,336,5.165,376,4.947,379,8.798,423,5.793,455,7.306,775,4.356,1297,6.221,1316,11.277,1488,10.744,1490,11.283,1748,11.933,1802,5.588,1935,7.696,2356,6.02,4814,8.798,4817,7.632,4818,7.922,4948,13.052,4949,11.985,4950,17.702,4951,13.052]],["keywords/651",[]],["title/652",[4952,1525.086]],["content/652",[35,4.599,45,2.492,52,5.395,62,5.738,75,7.671,102,3.728,137,4.148,139,2.799,140,2.769,144,2.166,162,3.656,174,5.652,192,3.898,204,5.983,227,3.141,277,2.566,285,4.576,318,4.208,376,5.385,568,4.603,775,4.024,1450,7.318,1743,12.831,1748,11.301,1750,15.394,1802,5.162,1819,8.497,2287,5.848,2356,5.561,2624,10.423,2625,9.938,2626,9.938,2627,11.072,2628,10.423,4817,8.309,4818,7.318,4916,11.072,4949,11.072,4953,12.058,4954,12.058,4955,12.058,4956,12.058,4957,16.765,4958,12.058,4959,11.072]],["keywords/652",[]],["title/653",[4960,1400.437]],["content/653",[35,5.234,45,4.525,139,3.443,140,1.603,144,1.558,145,5.475,162,3.884,174,9.034,189,7.674,192,3.391,224,7.917,227,3.141,243,6.399,318,3.66,775,6.432,1723,17.697,1748,8.128,1802,5.162,1819,15.969,2072,12.497,4818,7.318,4960,11.072,4961,12.058,4962,14.492,4963,16.765]],["keywords/653",[]],["title/654",[4964,1525.086]],["content/654",[35,5.037,45,3.121,84,6.348,139,3.313,140,2.007,144,1.951,145,6.855,162,3.68,174,9.138,192,3.943,224,6.41,227,3.933,243,5.763,318,4.256,340,5.331,775,5.039,1802,6.464,2127,13.051,3107,13.864,4813,7.388,4814,10.178,4817,9.308,4818,9.163,4965,19.494,4966,15.098]],["keywords/654",[]],["title/655",[208,241.161,1347,693.483]],["content/655",[64,6.813,65,13.22,194,6.158,208,4.047,240,6.778,358,5.009]],["keywords/655",[]],["title/656",[150,365.724,4967,830.14,4968,830.14,4969,830.14]],["content/656",[5,2.536,45,1.863,60,3.167,62,3.086,102,2.787,135,5.391,139,2.372,140,1.199,144,1.755,145,10.361,150,5.982,162,3.306,181,3.2,183,4.579,189,5.407,192,3.304,203,5.109,204,8.145,208,4.53,227,2.349,244,8.711,277,2.89,318,3.567,321,6.072,332,4.986,340,3.183,352,4.379,358,5.48,376,5.08,544,5.647,722,8.972,758,6.072,1067,4.873,1450,5.471,1802,3.86,2060,5.647,2470,5.647,2683,15.079,2883,5.175,2904,6.353,3466,12.255,4813,7.993,4907,5.315,4962,7.793,4970,12.469,4971,9.015,4972,5.846,4973,9.015,4974,16.695,4975,13.579,4976,13.579,4977,13.579,4978,6.208]],["keywords/656",[]],["title/657",[4979,1400.437]],["content/657",[5,2.419,45,2.247,52,4.736,62,5.334,102,3.362,135,6.503,139,2.263,140,1.446,144,2.014,150,4.791,162,3.535,181,3.86,183,5.523,192,3.684,208,4.432,227,2.833,244,7.594,251,11.572,277,3.316,318,3.977,350,2.511,352,2.915,358,5.487,376,4.355,544,6.811,568,5.949,910,10.733,1056,8.946,1067,5.878,1391,12.673,1401,12.345,1450,6.6,1802,4.655,2060,6.811,2470,6.811,2883,6.241,4403,8.613,4405,15.014,4813,7.626,4816,7.051,4817,4.688,4907,6.411,4970,9.985,4972,7.051,4978,7.488,4979,9.985,4980,10.874,4981,9.4,4982,9.4,4983,19.895,4984,14.311,4985,15.585]],["keywords/657",[]],["title/658",[4388,1257.008]],["content/658",[5,3.061,29,4.144,37,5.181,38,5.701,91,4.024,102,3.297,135,6.378,139,3.335,140,1.418,143,3.267,144,1.986,145,4.842,150,7.938,151,5.972,164,2.245,180,3.097,181,3.786,183,5.416,192,3.644,196,7.997,204,5.485,205,11.792,209,4.805,222,6.378,226,5.701,227,4.694,240,3.613,244,5.867,265,3.507,272,6.121,274,6.044,318,3.356,321,4.769,326,6.573,352,2.859,493,7.047,754,6.472,758,4.769,1067,5.764,1199,15.126,1389,7.515,1675,7.047,2470,6.68,2619,5.218,2883,6.121,3143,8.447,3466,7.189,3632,12.837,3905,9.219,4167,9.219,4334,14.113,4387,8.447,4388,12.667,4986,10.664,4987,10.664,4988,15.369,4989,10.664,4990,10.664,4991,9.219,4992,10.664,4993,9.219,4994,9.219]],["keywords/658",[]],["title/659",[4995,1525.086]],["content/659",[1,2.861,20,8.119,139,2.106,140,2.525,144,2.454,162,2.34,192,3.841,204,5.177,227,3.779,240,7.901,318,4.147,333,7.162,352,3.888,1287,9.053,1351,15.723,1352,12.098,1391,9.24,1488,11.527,1587,7.754,1747,15.044,1748,12.803,1751,13.721,1752,15.654,4817,6.254,4962,12.539,4996,14.505,4997,14.505,4998,14.505,4999,14.505,5000,18.992]],["keywords/659",[]],["title/660",[1588,476.487,1753,684.219,1754,762.291,1755,762.291]],["content/660",[45,1.976,52,5.512,62,4.856,75,4.375,137,3.289,139,3.55,140,1.886,144,1.833,162,3.498,181,3.394,192,3.422,200,6.317,208,4.044,227,2.491,244,8.839,251,17.192,277,3.019,318,3.694,340,5.01,350,2.208,358,5.006,376,4.727,568,3.649,1450,5.802,1753,11.694,1762,11.694,1802,4.093,2206,14.827,2287,4.636,4596,13.028,4813,6.942,4817,8.07,4907,5.637,4908,6.907,4972,6.199,4978,6.583,5001,14.188,5002,8.778,5003,14.188,5004,14.188,5005,14.188,5006,14.188,5007,14.188,5008,14.188]],["keywords/660",[]],["title/661",[5009,1525.086]],["content/661",[45,3.1,62,5.133,139,3.423,140,1.994,144,1.938,162,3.671,188,8.394,192,3.925,227,3.907,277,5.016,318,4.238,455,8.394,774,13.708,775,5.005,1802,6.42,2454,10.834,4813,7.338,4817,6.465,4907,8.842,4908,10.834,4937,17.822,5010,13.77,5011,19.408,5012,14.996,5013,11.478,5014,14.996]],["keywords/661",[]],["title/662",[5015,1525.086]],["content/662",[37,4.25,45,2.606,52,4.115,62,4.315,78,4.729,137,5.947,139,2.865,140,2.298,144,2.234,158,4.989,162,3.706,181,4.475,192,3.991,208,2.55,227,3.284,277,4.199,318,4.308,340,6.105,350,2.911,358,3.156,376,5.513,423,5.595,568,4.812,775,5.77,1450,7.651,1714,8.956,1760,9.986,1781,8.883,1802,5.397,2287,6.114,4813,6.168,4817,8.506,4907,7.433,4908,9.108,5013,13.232,5016,12.606,5017,10.897,5018,17.288,5019,13.694,5020,17.288,5021,17.288,5022,12.606]],["keywords/662",[]],["title/663",[642,487.762,4883,689.738,5023,978.814]],["content/663",[5,2.126,7,3.796,9,5.706,51,4.969,52,5.448,78,5.139,139,3.547,140,1.821,144,1.77,158,5.421,181,4.863,192,3.699,200,9.051,208,3.699,227,3.569,277,2.915,309,6.643,318,3.993,340,6.457,358,5.154,376,5.11,423,6.079,646,5.139,673,6.268,757,9.051,775,4.572,1714,7.096,2308,12.578,4959,12.578,5017,11.841,5024,15.808,5025,13.698,5026,13.698,5027,13.698,5028,13.698,5029,13.698,5030,18.287]],["keywords/663",[]],["title/664",[4647,762.291,4855,599.745,4883,584.972,5031,830.14]],["content/664",[45,3.977,139,3.746,140,1.967,144,1.912,162,3.104,192,3.891,227,3.855,277,4.094,318,4.201,455,8.282,775,4.938,1296,11.324,1714,7.665,1802,6.334,4817,6.379,4868,10.986,4889,11.324,4892,12.195,4893,11.72,4894,11.72,4895,11.72,4944,12.79,5032,14.796,5033,14.796,5034,14.796,5035,14.796,5036,14.796,5037,13.586]],["keywords/664",[]],["title/665",[4855,599.745,4899,762.291,5038,830.14,5039,830.14]],["content/665",[45,4.355,139,3.318,140,2.27,144,2.207,162,3.686,192,4.261,204,6.095,227,4.449,277,3.634,318,4.6,775,5.699,1714,8.846,1762,14.075,1802,7.311,4817,7.363,5040,17.077,5041,17.077,5042,13.07]],["keywords/665",[]],["title/666",[4855,599.745,4883,584.972,5010,762.291,5043,830.14]],["content/666",[45,2.606,139,3.771,140,1.676,144,1.629,162,3.425,192,3.497,227,3.284,277,4.518,305,7.144,318,3.775,455,7.057,775,4.207,808,6.667,1802,5.397,4813,6.168,4817,8.506,4868,9.36,4889,9.649,4891,10.897,4892,10.391,4893,9.986,4894,9.986,4895,9.986,4907,7.433,4908,9.108,4944,10.897,5013,9.649,5037,11.576,5044,17.288,5045,12.606,5046,11.576,5047,12.606,5048,12.606,5049,12.606,5050,12.606,5051,17.288,5052,17.288,5053,12.606,5054,12.606]],["keywords/666",[]],["title/667",[4883,840.217,5055,1192.361]],["content/667",[45,2.698,84,4.251,139,3.596,140,1.735,144,1.686,162,3.745,192,3.58,227,3.4,244,4.982,277,4.275,279,4.841,318,3.865,358,5.393,455,7.306,761,6.978,775,4.356,1356,10.339,1802,5.588,2716,11.985,2717,9.691,2718,11.985,4813,8.662,4817,9.286,4889,9.99,4893,10.339,4894,10.339,4895,10.339,4907,7.696,4908,9.43,4921,11.985,4927,11.985,4972,8.464,5002,11.985,5056,17.702,5057,13.052,5058,13.052,5059,13.052,5060,13.052,5061,13.052]],["keywords/667",[]],["title/668",[5062,1318.333]],["content/668",[45,3.058,84,6.266,139,3.288,140,1.967,144,1.912,162,3.652,192,3.891,208,4.324,224,6.327,227,3.855,243,5.648,244,5.648,277,4.818,318,4.201,340,5.224,775,4.938,813,8.476,1802,6.334,4813,7.24,4817,9.218,4907,8.724,4908,10.689,5013,11.324,5063,19.24,5064,14.796,5065,13.586]],["keywords/668",[]],["title/669",[4706,1400.437]],["content/669",[5,1.484,7,4.688,11,3.982,35,2.111,45,1.976,52,4.987,62,5.79,126,6.317,137,3.289,139,3.454,140,1.271,144,1.833,145,10.114,162,2.729,181,3.394,192,3.422,194,2.942,195,5.802,208,3.422,227,2.491,240,3.239,244,8.503,277,3.6,317,4.469,318,3.694,350,3.907,352,3.803,353,4.064,358,4.235,376,5.854,383,4.952,404,3.715,434,4.275,545,5.802,568,6.458,594,5.287,701,6.907,813,4.212,1266,7.756,1287,4.557,1450,5.802,1802,4.093,1964,5.802,2287,4.636,3919,14.827,4395,17.188,4770,8.778,4974,17.188,4978,9.77,5019,7.572,5066,9.56,5067,8.264,5068,8.778,5069,8.778,5070,18.718]],["keywords/669",[]],["title/670",[5071,1525.086]],["content/670",[5,1.957,9,5.252,45,2.606,51,4.573,52,4.697,53,5.861,62,4.315,78,4.729,137,4.337,139,1.831,140,2.298,144,2.234,153,5.02,162,2.789,181,4.475,192,3.991,204,6.17,227,3.284,228,14.944,229,15.875,253,10.391,277,4.518,317,3.971,318,3.775,340,4.451,350,3.992,358,5.569,376,4.831,455,11.883,568,4.812,813,5.554,908,13.232,1200,5.724,1401,13.694,1450,7.651,1802,5.397,1898,15.875,2287,6.114,5019,9.986,5072,12.606,5073,12.606,5074,12.606,5075,12.606,5076,17.288]],["keywords/670",[]],["title/671",[4683,1318.333]],["content/671",[7,5.476,29,5.993,35,2.366,45,2.215,52,4.704,62,6.764,137,3.686,139,3.453,140,1.425,144,1.993,162,2.915,181,3.804,192,3.654,208,2.167,227,2.792,240,3.631,244,7.544,277,3.845,317,3.375,318,3.945,350,2.475,358,3.861,361,9.093,376,5.049,404,4.164,434,4.792,443,8.336,568,5.887,628,4.792,646,5.786,775,5.147,813,4.721,1157,7.956,1251,7.742,1300,6.712,1450,6.504,1588,8.852,1802,4.588,2196,11.451,2287,5.197,2576,8.832,2619,9.67,2620,11.804,3919,12.216,4978,7.38,5019,8.488,5067,9.263,5068,9.84,5069,9.84,5077,9.84,5078,9.84,5079,10.716,5080,18.147]],["keywords/671",[]],["title/672",[5078,1400.437]],["content/672",[35,2.799,45,2.621,62,7.283,137,4.362,139,3.237,140,1.686,144,2.243,162,3.192,170,15.025,181,4.501,192,4.002,208,2.564,227,3.303,244,8.123,277,3.693,318,4.321,350,2.928,358,4.345,361,13.142,376,5.53,434,5.669,568,4.84,628,5.669,910,14.655,1162,7.475,1450,7.695,1802,5.428,2287,6.149,4978,8.731,5019,10.043,5067,10.96,5077,11.642,5081,12.679,5082,12.679,5083,21.281]],["keywords/672",[]],["title/673",[5084,1400.437]],["content/673",[5,1.572,7,2.806,29,7.479,51,3.674,52,5.258,62,3.466,102,3.132,137,3.484,139,3.584,144,1.913,192,2.994,204,5.283,227,2.639,234,4.869,243,7.347,244,8.164,318,3.232,350,2.339,376,4.137,568,3.866,775,4.941,1441,12.797,1714,5.247,1757,13.905,1760,15.246,2072,12.48,2287,4.912,2356,4.671,2619,10.464,3919,11.726,4683,12.797,4868,14.291,5046,17.674,5080,13.594,5084,13.594,5085,19.247,5086,10.128,5087,14.804,5088,10.128,5089,10.128,5090,14.804,5091,10.128,5092,10.128,5093,19.247]],["keywords/673",[]],["title/674",[48,264.532,277,208.292,2253,749.17]],["content/674",[48,5.92,78,6.827,187,6.638,208,3.681,240,6.166,277,4.661,317,5.733,570,10.585,673,8.328,703,14.416,813,8.018,1347,10.585,1402,11.801,2065,13.148,5094,18.199]],["keywords/674",[]],["title/675",[4721,1030.714,5095,1094.906]],["content/675",[5,2.36,45,3.142,48,5.292,64,6.667,91,5.736,113,13.959,139,3.145,140,2.021,144,1.964,162,2.452,167,7.647,192,3.96,194,4.679,208,3.075,227,3.96,243,5.803,244,5.803,277,3.235,318,4.275,447,5.67,492,10.712,709,10.469,757,10.045,775,5.074,930,9.496,1714,7.875,1807,13.959,1809,13.959,2065,10.983,3476,9.858,4370,13.141,4513,13.959,4567,13.959,5096,15.202]],["keywords/675",[]],["title/676",[4658,1094.906,5095,1094.906]],["content/676",[48,2.562,55,9.539,78,3.556,84,4.591,139,3.297,140,1.26,144,1.822,167,4.768,192,2.851,194,4.339,200,6.263,217,4.547,219,6.04,223,9.928,227,3.673,241,6.778,243,5.381,244,5.381,277,5.23,318,3.078,350,2.189,591,7.508,652,4.91,696,10.216,765,10.185,775,4.705,819,7.707,874,9.12,930,11.011,1200,6.401,1201,5.842,2253,7.254,2350,11.619,2356,6.502,2731,7.812,3384,12.945,3476,9.141,4370,12.186,4371,19.175,4372,12.945,4373,12.945,4374,17.116,4375,17.116,4377,12.945,4721,8.193,5097,9.478,5098,9.478,5099,9.478,5100,8.193,5101,9.478,5102,9.478,5103,9.478]],["keywords/676",[]],["title/677",[5062,1318.333]],["content/677",[45,3.476,139,3.031,140,2.236,144,2.173,162,3.367,192,4.221,204,6.002,208,3.401,227,4.381,277,4.829,318,4.557,696,10.207,795,7.52,813,7.409,1802,7.2,5013,12.872,5065,15.443,5104,16.818,5105,15.443,5106,16.818,5107,13.321]],["keywords/677",[]],["title/678",[5062,1318.333]],["content/678",[45,3.374,139,2.975,140,2.17,144,2.109,162,3.305,192,4.143,204,5.825,208,3.301,227,4.252,277,4.764,318,4.473,696,9.906,795,7.298,808,8.632,813,7.191,1714,8.455,1747,12.929,1762,13.453,1802,6.988,5042,12.493,5107,16.227,5108,16.322,5109,16.322,5110,16.322]],["keywords/678",[]],["title/679",[5111,1525.086]],["content/679",[45,3.399,139,3.262,140,2.186,144,2.125,162,3.32,192,4.162,204,5.868,208,3.326,227,4.284,277,4.78,318,4.494,322,7.409,358,4.117,647,9.318,1802,7.04,2624,14.214,2625,13.553,5013,12.585,5105,15.099,5107,13.025,5112,16.443,5113,16.443,5114,16.443]],["keywords/679",[]],["title/680",[1399,1101.818]],["content/680",[64,6.519,194,5.892,208,3.872,224,6.295,240,6.486,352,5.131,758,8.56,874,9.367,1343,12.649,1543,7.265,2883,10.988]],["keywords/680",[]],["title/681",[874,746.228]],["content/681",[29,2.709,38,3.727,45,1.441,50,2.423,60,2.449,62,3.807,64,2.374,97,2.944,102,2.156,135,4.17,137,2.399,139,3.432,140,2.301,144,1.437,145,7.192,162,3.243,164,3.334,173,3.006,180,4.031,181,2.475,189,4.43,192,3.204,204,3.97,205,4.17,207,3.812,208,3.731,224,5.692,227,3.616,244,6.047,277,2.367,285,2.646,292,5.561,296,3.541,318,3.459,321,3.118,336,2.759,340,3.928,350,3.205,352,3.72,358,4.619,376,4.426,543,7.086,568,4.246,575,4.002,651,4.17,775,4.632,795,7.083,797,4.607,874,10.395,1177,11.025,1202,7.42,1249,6.967,1253,3.323,1297,5.302,1343,4.607,1345,5.336,1377,6.751,1389,4.913,1399,5.037,1402,4.521,1405,4.367,1450,4.232,1462,4.7,1691,4.521,1802,2.985,2060,4.367,2287,3.381,2470,4.367,2859,4.607,2883,4.002,2904,4.913,3466,10.678,3576,5.747,3632,4.111,3703,6.027,3784,14.546,4813,6.791,4907,4.111,4972,4.521,4978,4.801,5115,6.972,5116,6.402,5117,14.613,5118,6.972,5119,6.972,5120,6.972,5121,6.402,5122,5.037,5123,5.037,5124,4.607,5125,10.994,5126,15.84,5127,6.972,5128,6.972]],["keywords/681",[]],["title/682",[4730,1318.333]],["content/682",[45,1.679,50,2.823,52,4.101,60,2.853,62,4.292,97,3.43,102,2.512,135,4.858,137,2.794,139,2.979,140,2.037,144,1.62,153,3.234,162,3.417,164,3.919,173,3.502,180,3.642,181,2.883,192,3.098,205,4.858,207,4.441,208,3.98,224,4.124,227,2.116,244,6.576,251,12.79,277,2.669,292,5.025,318,3.345,336,3.214,340,4.428,350,3.537,352,4.106,358,4.926,376,4.814,568,4.787,643,3.66,775,2.711,795,7.703,797,5.367,874,6.136,1056,9.888,1177,11.859,1202,8.189,1249,7.855,1253,3.872,1297,5.978,1343,5.367,1345,6.217,1360,6.217,1377,4.93,1389,5.724,1391,10.973,1401,13.645,1402,5.267,1450,4.93,1691,5.267,1802,3.477,2287,3.939,2470,5.088,2883,4.662,3466,8.454,3576,6.695,3632,4.789,4403,6.434,4405,12.626,4730,7.021,4813,6.136,4816,5.267,4817,3.502,4907,4.789,4972,5.267,4978,5.594,4981,7.021,4982,7.021,5122,5.868,5123,5.868,5125,9.934,5129,8.123,5130,8.123,5131,17.226,5132,8.123]],["keywords/682",[]],["title/683",[5133,1400.437]],["content/683",[5,2.411,29,4.205,38,5.785,60,3.801,91,4.083,97,4.569,102,3.346,135,6.471,139,2.883,140,2.065,144,2.007,145,4.913,162,1.746,164,4.424,173,4.665,180,4.511,192,3.141,204,5.543,205,10.864,207,5.915,224,3.558,227,2.819,240,3.666,244,5.928,284,5.663,292,6.223,318,2.363,321,4.839,336,4.282,340,3.821,350,3.586,352,5.321,775,3.611,795,4.839,797,7.15,874,8.889,1177,9.893,1202,11.237,1249,9.727,1253,5.158,1297,7.403,1345,8.282,1377,6.567,1389,7.625,1402,7.017,1405,9.727,1691,7.017,2470,6.777,2619,5.295,2883,6.211,3143,8.571,3466,12.246,3632,10.711,4387,8.571,4991,9.354,4993,9.354,4994,9.354,5122,7.818,5123,7.818,5124,7.15,5125,12.302,5133,9.936,5134,10.821,5135,10.821]],["keywords/683",[]],["title/684",[5136,1400.437]],["content/684",[29,6.187,45,2.316,60,3.935,84,5.185,102,3.464,115,7.265,135,6.7,139,3.214,140,2.117,144,1.448,162,2.988,164,3.351,173,4.83,180,3.254,192,3.22,207,6.125,227,2.919,243,4.277,244,6.077,277,4.845,284,5.864,292,6.38,318,3.476,336,4.434,340,3.956,350,3.676,352,4.964,775,3.739,795,7.119,797,7.403,813,8.159,874,5.482,1177,10.142,1202,10.781,1242,6.056,1249,9.972,1253,5.34,1297,7.589,1377,6.8,1389,7.895,1402,7.265,1405,7.017,1802,4.797,2470,7.017,2883,6.431,3445,8.875,3466,7.552,3632,6.606,5107,8.875,5122,8.094,5123,8.094,5124,7.403,5125,12.611,5136,10.288,5137,10.288,5138,11.204,5139,10.288,5140,10.288,5141,11.204]],["keywords/684",[]],["title/685",[2904,1074.677]],["content/685",[45,1.848,52,2.129,62,4.619,97,5.699,137,3.076,138,3.496,139,3.08,140,1.794,144,1.744,145,8.221,150,3.94,162,3.422,164,1.882,181,3.174,189,3.561,192,3.288,204,6.462,205,5.348,208,4.133,224,5.346,227,2.33,244,6.912,277,2.872,292,5.408,318,3.549,321,3.999,340,4.766,350,3.116,352,4.357,358,5.116,376,5.06,447,3.336,568,5.152,618,6.844,775,2.984,795,8.096,797,5.909,874,8.859,1202,8.69,1249,8.453,1253,6.433,1343,5.909,1377,5.427,1402,5.799,1450,5.427,1691,5.799,1802,3.828,2060,5.601,2287,4.337,2883,5.133,3466,12.205,3576,7.37,3632,5.272,3919,14.342,4215,16.626,4813,7.954,4907,5.272,4972,5.799,4978,6.158,5116,8.211,5117,16.185,5121,8.211,5122,6.461,5123,6.461,5124,5.909,5142,8.942]],["keywords/685",[]],["title/686",[4403,1208.042]],["content/686",[45,1.819,50,3.059,52,4.275,62,4.564,97,3.716,137,3.027,139,3.155,140,1.773,144,1.723,162,3.403,164,1.852,181,3.124,192,3.256,205,5.263,208,4.107,224,5.294,227,2.293,244,6.855,251,13.335,277,2.837,292,5.343,318,3.515,340,4.708,350,3.079,352,4.315,358,5.084,376,5.019,568,5.09,643,3.965,775,2.937,795,8.031,797,5.815,874,7.877,1056,10.308,1202,8.606,1249,8.351,1253,6.356,1343,8.81,1360,6.736,1377,5.341,1391,11.44,1401,14.226,1402,5.706,1450,5.341,1691,5.706,1802,3.768,2287,4.268,2883,5.051,3466,8.988,3632,5.189,4405,13.268,4813,6.524,4816,5.706,4817,3.794,4907,5.189,4972,5.706,4978,6.06,4981,7.607,4982,7.607,5117,16.086,5122,6.358,5123,6.358,5124,5.815,5143,8.8,5144,17.959]],["keywords/686",[]],["title/687",[4387,1208.042]],["content/687",[5,2.535,29,4.513,38,6.209,91,4.382,97,4.904,102,3.591,139,3.136,140,1.544,144,2.11,145,5.274,164,3.438,192,3.82,204,5.829,205,11.296,224,5.371,227,4.255,240,3.935,244,6.234,279,4.308,292,6.544,318,3.566,321,5.194,340,4.101,350,2.682,352,5.063,775,3.876,795,5.194,797,7.675,874,10.027,1202,10.956,1249,10.229,1253,7.785,1343,7.675,1377,7.049,1402,7.532,1405,10.229,1691,7.532,2619,5.683,2883,6.667,3143,9.2,3466,12.733,3632,11.137,4388,9.573,4991,10.04,4993,10.04,4994,10.04,5117,14.962,5122,8.391,5123,8.391,5124,7.675,5145,11.615,5146,11.615]],["keywords/687",[]],["title/688",[5137,1400.437]],["content/688",[29,6.187,45,2.316,60,3.935,84,6.031,97,4.731,115,7.265,139,3.214,140,2.117,144,1.448,162,2.988,164,2.358,173,4.83,192,3.22,207,6.125,224,5.236,227,2.919,243,4.277,244,6.077,277,4.952,292,6.38,318,3.476,340,5.622,350,3.676,352,4.964,775,3.739,795,7.119,797,7.403,813,7.014,874,9.868,1202,9.901,1242,6.056,1249,9.972,1253,7.589,1297,5.34,1343,7.403,1377,6.8,1402,7.265,1405,7.017,1691,7.265,1802,4.797,2883,6.431,3445,8.875,3466,7.552,3632,6.606,5107,8.875,5117,14.67,5122,8.094,5123,8.094,5124,7.403,5125,12.611,5139,10.288,5140,10.288,5147,11.204,5148,11.204]],["keywords/688",[]],["title/689",[158,603.544]],["content/689",[158,7.99,208,4.083,240,6.84,1347,11.742,3648,18.54]],["keywords/689",[]],["title/690",[5149,1527.505]],["content/690",[45,2.698,139,2.571,140,1.735,144,2.287,158,5.165,162,3.745,164,3.726,180,5.141,192,3.58,204,6.318,208,4.554,227,4.612,240,4.422,244,6.757,277,3.767,318,3.865,325,7.492,358,5.637,724,10.105,775,4.356,910,12.191,1297,6.221,1490,11.283,1802,5.588,4813,10.539,4817,7.632,4907,10.437,4972,11.479,5149,11.985,5150,13.052,5151,13.052,5152,13.052,5153,13.052]],["keywords/690",[]],["title/691",[5154,1525.086]],["content/691",[45,3.121,139,2.831,140,2.007,144,1.951,158,5.975,162,3.902,192,3.943,208,4.777,227,3.933,244,5.763,277,4.148,318,4.256,340,5.331,358,5.913,724,7.595,910,10.397,1031,9.163,1802,6.464,4813,9.538,4817,6.509,4907,8.902,4972,9.79,5155,15.098,5156,15.098]],["keywords/691",[]],["title/692",[5157,1525.086]],["content/692",[45,3.121,139,2.831,140,2.007,144,1.951,158,5.975,162,3.902,192,3.943,208,4.777,227,3.933,244,5.763,277,4.148,318,4.256,340,5.331,358,5.913,717,8.351,910,10.397,1031,9.163,1802,6.464,4813,9.538,4817,6.509,4907,8.902,4972,9.79,5158,15.098,5159,15.098]],["keywords/692",[]],["title/693",[5160,1525.086]],["content/693",[7,4.625,139,3.017,140,2.219,144,2.157,158,8.951,162,3.351,192,4.202,208,3.376,227,4.348,318,4.536,340,5.894,358,4.179,724,8.396,1031,10.13,2459,12.939,4817,7.196,5161,16.691,5162,13.757,5163,16.691]],["keywords/693",[]],["title/694",[5164,1525.086]],["content/694",[7,4.625,139,3.017,140,2.219,144,2.157,158,8.951,162,3.351,192,4.202,208,3.376,227,4.348,318,4.536,340,5.894,358,4.179,717,9.231,1031,10.13,2459,12.939,4817,7.196,5162,13.757,5165,16.691,5166,16.691]],["keywords/694",[]],["title/695",[5167,1400.437]],["content/695",[9,7.773,139,3.449,144,2.411,158,7.384,192,3.774,227,4.861,318,4.074,322,8.407,775,6.227,2459,10.201,2701,16.13,5167,17.134]],["keywords/695",[]],["title/696",[5168,1525.086]],["content/696",[7,6.891,51,6.101,139,3.031,140,2.236,144,2.173,158,8.981,162,3.367,192,4.221,227,4.381,318,4.557,350,4.82,4817,7.251,5162,13.861,5169,16.818,5170,16.818]],["keywords/696",[]],["title/697",[5171,1257.008]],["content/697",[7,6.039,51,6.548,139,3.4,144,2.332,158,8.625,162,2.912,192,3.651,227,4.703,318,3.941,350,5.033,775,6.024,5024,15.604,5171,14.878]],["keywords/697",[]],["title/698",[5171,1257.008]],["content/698",[7,5.17,9,7.773,139,3.449,144,2.411,158,7.384,192,3.774,227,4.861,318,4.074,322,8.407,775,6.227,5024,16.13,5171,15.379]],["keywords/698",[]],["title/699",[5172,1525.086]],["content/699",[7,2.886,45,2.152,139,3.136,140,1.384,144,1.952,158,4.121,162,3.484,192,3.055,204,7.707,207,9.719,208,4.188,227,2.713,244,5.767,277,3.215,318,3.298,350,2.405,358,4.882,455,5.829,628,4.657,775,3.476,1802,4.458,2310,15.447,2356,8.199,2388,19.163,2389,16.857,2390,17.466,2619,7.392,2677,13.059,2678,16.857,4813,8.698,4907,6.14,4972,6.753,5173,8.249,5174,10.414,5175,15.107,5176,10.414,5177,10.414,5178,10.414,5179,10.414,5180,10.414,5181,10.414,5182,10.414,5183,10.414,5184,10.414,5185,10.414]],["keywords/699",[]],["title/700",[5186,1525.086]],["content/700",[5,1.037,7,6.71,40,8.758,45,1.38,52,5.196,84,2.175,89,7.694,93,9.286,97,2.82,102,4.169,135,3.994,136,1.56,139,1.561,140,0.888,144,0.863,153,6.745,158,9.349,159,5.875,162,2.919,164,2.262,173,4.633,189,5.37,192,2.173,208,3.426,219,2.396,227,1.74,244,2.549,277,2.287,296,3.392,318,2.346,350,3.114,358,5.465,423,2.964,436,3.056,484,4.502,628,2.986,671,2.964,673,3.056,704,7.244,713,10.681,724,5.406,750,3.056,821,7.101,840,11.726,1036,7.244,1056,3.833,1067,3.61,1264,14.065,1297,3.183,1543,5.117,1591,5.166,1743,5.111,1793,4.706,1802,2.859,1922,5.29,2288,4.958,2306,5.773,2310,5.29,2619,3.268,2651,12.752,2652,11.667,2674,6.845,2677,5.773,2678,5.773,4813,6.598,4907,3.937,4972,4.33,5124,11.192,5187,6.678,5188,6.678,5189,10.746,5190,10.746,5191,10.746,5192,10.746,5193,10.746,5194,6.678,5195,6.678,5196,6.678,5197,10.746,5198,6.678,5199,6.678]],["keywords/700",[]],["title/701",[5200,1400.437]],["content/701",[97,7.56,139,3.388,144,2.314,158,7.086,192,3.621,227,4.665,318,3.909,358,4.483,775,5.976,803,9.678,1714,9.275,1757,12.936,1760,14.183,2072,11.61,5017,15.478,5200,16.442,5201,17.905]],["keywords/701",[]],["title/702",[5202,1400.437]],["content/702",[1,2.938,9,6.205,40,8.441,139,3.416,140,1.98,144,1.925,153,5.931,158,7.647,192,3.908,227,3.881,244,5.686,318,4.219,319,10.258,345,7.796,358,4.838,423,8.576,775,6.449,1714,10.01,1757,10.761,1760,11.799,2072,9.659,2619,7.288,2651,10.496,2652,8.782,2834,13.617,5202,13.678,5203,14.895,5204,14.895,5205,14.895,5206,19.324,5207,14.895]],["keywords/702",[]],["title/703",[5208,1400.437]],["content/703",[84,3.473,139,3.765,140,2.043,144,1.378,157,4.999,158,6.082,162,1.72,192,3.108,219,3.827,224,3.507,227,2.778,241,8.663,318,3.356,336,4.22,340,3.766,350,3.549,358,2.67,374,9.53,591,8.447,646,4.001,652,5.525,696,9.328,746,5.764,775,6.581,808,5.64,819,9.85,1200,4.842,1820,9.793,2196,11.411,2370,13.553,2683,7.047,5208,14.113,5209,10.664,5210,15.369,5211,15.369,5212,18.018,5213,15.369,5214,15.369,5215,15.369,5216,10.664,5217,10.664,5218,10.664,5219,15.369,5220,10.664,5221,10.664,5222,10.664,5223,10.664,5224,10.664,5225,10.664]],["keywords/703",[]],["title/704",[45,315.219]],["content/704",[45,4.211,240,6.903,753,11.85,2069,16.14]],["keywords/704",[]],["title/705",[4676,1318.333]],["content/705",[9,7.582,45,4.527,139,3.181,144,2.83,192,3.681,193,10.884,204,6.495,227,4.741,243,6.947,322,8.2,775,6.074,1714,9.428,3444,15,4676,15.732]],["keywords/705",[]],["title/706",[4672,1400.437]],["content/706",[37,3.957,45,4.255,88,4.794,139,3.833,140,1.561,144,1.517,162,2.654,192,3.328,227,3.058,455,6.57,775,3.918,1802,5.025,4817,5.061,5226,11.738,5227,11.738,5228,11.738,5229,11.738,5230,11.738,5231,11.738,5232,11.738,5233,15.108,5234,16.453,5235,16.453,5236,16.453,5237,16.453,5238,16.453,5239,16.453,5240,11.738,5241,11.738,5242,11.738,5243,11.738,5244,11.738,5245,11.738,5246,11.738,5247,11.738,5248,11.738,5249,11.738,5250,11.738,5251,11.738,5252,11.738,5253,10.147]],["keywords/706",[]],["title/707",[4627,1257.008]],["content/707",[37,5.543,45,4.254,52,3.914,78,6.169,139,2.989,144,2.125,162,3.32,181,5.837,217,5.304,227,4.284,317,7.416,775,6.869,1714,10.661,2072,13.345,2356,7.584,4627,13.553,5254,14.214,5255,16.443,5256,16.443,5257,16.443,5258,16.443]],["keywords/707",[]],["title/708",[317,480.389]],["content/708",[1,3.946,64,6.813,194,6.158,240,6.778,317,6.302,5259,18.372]],["keywords/708",[]],["title/709",[4655,1094.906,4883,840.217]],["content/709",[20,7.057,51,4.573,139,3.799,140,1.676,144,1.629,162,2.789,192,3.497,220,5.769,227,3.284,305,9.797,317,6.687,318,3.775,554,6.466,775,4.207,1469,9.649,1792,9.986,4817,5.435,4881,9.108,5253,10.897,5260,12.606,5261,12.606,5262,12.606,5263,12.606,5264,12.606,5265,11.576,5266,11.576,5267,11.576,5268,11.576,5269,11.576,5270,11.576,5271,11.576,5272,11.576,5273,11.576,5274,11.576,5275,11.576,5276,11.576,5277,11.576,5278,11.576,5279,11.576,5280,11.576,5281,11.576,5282,11.576]],["keywords/709",[]],["title/710",[5283,1400.437]],["content/710",[9,7.459,139,3.388,144,2.314,192,3.621,204,6.39,227,4.665,317,5.64,318,3.909,322,8.067,775,5.976,1206,13.294,1714,9.275,1939,16.442,5283,16.442,5284,17.905,5285,17.905,5286,17.905]],["keywords/710",[]],["title/711",[5287,1525.086]],["content/711",[1,2.978,5,3.026,45,3.121,46,6.375,50,5.248,136,3.526,139,2.831,140,3.14,144,1.951,162,3.145,163,7.455,189,7.763,192,3.943,227,3.933,317,7.44,318,4.256,434,6.751,435,10.908,495,7.595,746,8.161,1201,9.306,4817,6.509,4881,10.908,5124,9.976,5288,15.098,5289,15.098,5290,19.494]],["keywords/711",[]],["title/712",[5291,1525.086]],["content/712",[1,3.475,45,3.642,139,3.119,140,2.343,144,2.277,162,3.465,163,8.7,192,4.344,227,4.591,317,6.766,318,4.69,1266,9.633,4817,7.597,4881,12.73,5292,17.62,5293,17.62]],["keywords/712",[]],["title/713",[5294,1525.086]],["content/713",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,256,7.529,285,5.769,317,6.822,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,4881,10.983,5295,15.202,5296,12.53,5297,15.202]],["keywords/713",[]],["title/714",[5298,1525.086]],["content/714",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,285,5.769,317,6.822,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,1253,10.324,4881,10.983,5296,12.53,5299,15.202,5300,15.202]],["keywords/714",[]],["title/715",[5301,1400.437]],["content/715",[35,2.093,37,3.195,46,8.818,52,2.256,78,3.556,84,3.087,88,3.871,139,2.893,144,1.822,162,1.529,192,1.917,208,1.917,217,3.057,227,3.673,317,5.302,318,2.069,375,8.94,423,7.47,696,12.674,775,4.705,813,9.2,1192,11.591,1206,12.497,1293,10.818,1324,14.765,1588,8.092,1714,7.303,2356,7.763,3036,8.703,3445,11.167,4368,17.212,5254,8.193,5301,12.945,5302,16.832,5303,9.478,5304,15.456,5305,12.945,5306,15.456,5307,15.456,5308,15.456,5309,12.945,5310,16.832,5311,14.097,5312,8.703,5313,8.703,5314,8.703,5315,9.478,5316,9.478,5317,9.478,5318,9.478,5319,9.478,5320,9.478,5321,8.703,5322,9.478,5323,9.478,5324,9.478,5325,9.478,5326,9.478,5327,9.478,5328,9.478]],["keywords/715",[]],["title/716",[5329,1525.086]],["content/716",[35,3.832,45,4.757,139,1.841,140,2.829,144,2.243,162,3.801,164,2.669,180,5.747,192,3.51,194,3.902,208,3.51,227,3.303,259,5.669,317,7.423,318,3.79,350,4.57,848,5.466,1297,9.433,1337,7.185,1791,13.628,1802,5.428,4817,7.483,5330,12.679,5331,12.679,5332,17.356,5333,17.356,5334,19.789,5335,17.356,5336,17.356,5337,12.679]],["keywords/716",[]],["title/717",[5338,1525.086]],["content/717",[1,2.938,35,5.193,139,2.806,140,2.852,144,1.925,162,3.662,192,3.908,226,7.963,227,3.881,317,7.15,318,4.219,494,8.238,671,6.611,700,8.876,742,6.611,834,10.761,1543,5.653,1693,9.842,4817,8.331,4818,11.728,4881,10.761,5339,14.895,5340,12.277,5341,14.895,5342,12.277]],["keywords/717",[]],["title/718",[1544,1400.437]],["content/718",[1,2.353,35,5.22,75,7.614,139,1.732,140,2.547,144,2.15,162,3.345,181,4.234,192,3.875,209,7.497,219,6.876,226,6.377,227,3.107,317,5.241,318,4.184,350,3.842,447,4.449,494,6.597,671,5.294,698,7.614,700,8.58,742,5.294,753,6.937,834,8.617,1204,9.024,1286,17.973,1297,5.685,1450,7.239,1543,4.527,1693,7.881,1803,13.502,2533,10.311,4817,7.174,4818,10.098,4881,8.617,5340,9.831,5342,13.714,5343,11.928,5344,16.639,5345,10.953]],["keywords/718",[]],["title/719",[1195,824.354]],["content/719",[1,3.946,64,6.813,194,6.158,240,6.778,1195,10.815,5259,18.372]],["keywords/719",[]],["title/720",[5346,1525.086]],["content/720",[1,2.958,5,3.013,46,6.332,50,5.212,136,3.502,139,2.819,140,3.133,144,1.938,162,3.131,189,7.729,192,3.925,227,3.907,318,4.238,434,6.706,746,8.106,1056,8.607,1195,12.74,1200,6.809,1201,9.243,1219,10.834,4817,6.465,5124,9.909,5347,14.996,5348,14.996,5349,11.134,5350,19.408,5351,19.408]],["keywords/720",[]],["title/721",[5352,1525.086]],["content/721",[1,3.531,139,3.15,140,2.38,144,2.314,162,3.499,192,4.387,227,4.665,318,4.736,1195,11.723,1266,9.788,4817,7.72,5349,13.294,5353,17.905,5354,17.905]],["keywords/721",[]],["title/722",[5355,1400.437]],["content/722",[9,7.644,139,3.424,144,2.371,192,3.711,204,6.549,227,4.781,318,4.007,322,8.268,775,6.124,1195,9.919,1714,9.506,5355,16.85,5356,16.85,5357,18.35]],["keywords/722",[]],["title/723",[4665,1094.906,4883,840.217]],["content/723",[20,7.057,51,4.573,139,3.799,140,1.676,144,1.629,162,2.789,192,3.497,220,5.769,227,3.284,305,9.797,318,3.775,554,6.466,775,4.207,1195,11.475,1469,9.649,1792,9.986,4817,5.435,5253,10.897,5265,11.576,5266,11.576,5267,11.576,5268,11.576,5269,11.576,5270,11.576,5271,11.576,5272,11.576,5273,11.576,5274,11.576,5275,11.576,5276,11.576,5277,11.576,5278,11.576,5279,11.576,5280,11.576,5281,11.576,5282,11.576,5349,9.36,5358,12.606,5359,12.606,5360,12.606,5361,12.606,5362,12.606]],["keywords/723",[]],["title/724",[5363,1400.437]],["content/724",[37,3.195,46,8.818,52,2.256,78,3.556,84,3.087,88,3.871,139,2.893,144,1.822,162,1.529,174,7.89,192,1.917,217,3.057,227,3.673,277,3.966,318,2.069,375,8.94,423,7.47,775,4.705,813,10.002,1192,11.591,1195,9.098,1293,10.818,1324,14.765,1714,7.303,2356,7.763,2530,6.848,3445,11.167,4368,17.212,5254,8.193,5304,15.456,5305,12.945,5306,15.456,5307,15.456,5308,15.456,5309,12.945,5312,8.703,5313,8.703,5314,8.703,5321,8.703,5356,15.456,5363,12.945,5364,16.832,5365,9.478,5366,16.832,5367,14.097,5368,9.478,5369,9.478,5370,9.478,5371,9.478,5372,9.478,5373,9.478,5374,9.478,5375,9.478,5376,9.478,5377,9.478,5378,9.478,5379,9.478,5380,9.478]],["keywords/724",[]],["title/725",[5381,1525.086]],["content/725",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,256,7.529,285,5.769,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,1195,11.707,5296,12.53,5349,11.287,5382,15.202,5383,15.202]],["keywords/725",[]],["title/726",[5384,1525.086]],["content/726",[35,3.356,48,6.182,60,8.034,62,7.829,139,2.843,140,2.021,144,1.964,162,3.494,182,8.615,192,3.96,227,3.96,285,5.769,318,4.275,350,3.51,447,5.67,675,8.615,825,8.509,1195,11.707,1253,10.324,5296,12.53,5349,11.287,5385,15.202,5386,15.202]],["keywords/726",[]],["title/727",[5387,1525.086]],["content/727",[1,2.938,35,5.193,139,2.806,140,2.852,144,1.925,162,3.662,192,3.908,226,7.963,227,3.881,318,4.219,494,8.238,671,6.611,700,8.876,742,6.611,834,10.761,1195,12.269,1543,5.653,1693,9.842,4817,8.331,4818,11.728,5340,12.277,5342,12.277,5349,11.06,5388,14.895,5389,14.895]],["keywords/727",[]],["title/728",[5390,1525.086]],["content/728",[1,2.327,35,5.206,75,7.557,139,1.714,140,2.533,144,2.134,162,3.329,181,4.189,192,3.853,209,7.441,219,6.836,226,6.309,227,3.074,318,4.16,350,3.813,447,4.402,494,6.527,671,5.237,698,7.557,700,8.54,742,5.237,753,6.863,834,8.525,1195,8.927,1204,8.989,1286,18.552,1297,5.625,1450,7.162,1543,4.478,1693,7.797,1803,14.542,2533,10.201,4817,7.12,4818,10.023,5340,9.726,5342,13.612,5345,10.836,5349,8.762,5391,11.801,5392,16.515]],["keywords/728",[]],["title/729",[48,322.245,5393,912.615]],["content/729",[1,3.267,5,2.571,48,4.477,49,10.117,52,3.944,64,5.641,88,6.766,139,2.406,142,8.333,192,3.351,194,5.099,225,5.099,240,5.613,318,3.617,352,6.042,446,8.179,455,9.273,698,7.581,742,7.352,752,9.941,757,10.946,1806,15.352,2300,15.212,5173,13.122]],["keywords/729",[]],["title/730",[5394,1525.086]],["content/730",[7,6.225,29,6.389,52,4.899,139,2.989,140,2.186,144,2.125,162,2.653,192,4.162,227,4.284,318,4.494,358,4.117,446,10.162,4816,10.662,5393,17.194,5395,16.443,5396,14.214,5397,16.443,5398,14.214,5399,16.443,5400,16.443,5401,15.099]],["keywords/730",[]],["title/731",[5402,1525.086]],["content/731",[29,6.687,139,3.074,140,2.288,144,2.224,162,2.776,192,4.282,204,6.142,227,4.484,318,4.622,340,6.077,358,4.309,446,10.453,775,7.066,5393,16.204,5396,14.877,5398,14.877,5403,17.21,5404,17.21]],["keywords/731",[]],["title/732",[5405,1400.437]],["content/732",[29,8.034,139,3.003,144,2.672,192,4.182,204,8.425,227,5.387,318,4.515,358,4.148,455,9.273,775,5.529,5173,13.122,5393,12.679,5401,18.987,5405,18.987,5406,18.987,5407,18.987]],["keywords/732",[]],["title/733",[5408,1400.437]],["content/733",[139,3.245,144,2.431,192,3.806,204,6.716,227,4.902,318,4.109,446,9.291,775,6.28,5393,14.403,5406,17.28,5407,17.28,5408,17.28]],["keywords/733",[]],["title/734",[5409,1525.086]],["content/734",[102,5.321,139,3.074,140,2.288,144,2.224,162,2.776,192,4.282,227,4.484,318,4.622,358,4.309,446,10.453,1551,10.445,2155,11.574,3256,14.184,5393,16.204,5396,14.877,5398,14.877,5410,17.21,5411,17.21]],["keywords/734",[]],["title/735",[1287,568.356,2352,734.894]],["content/735",[11,8.115,64,6.633,136,4.55,194,5.995,240,6.6,1287,9.285,2352,12.006,4275,12.871,5412,16.839]],["keywords/735",[]],["title/736",[256,530.107]],["content/736",[5,2.344,11,8.994,106,8.072,136,4.553,140,2.87,144,1.951,162,2.436,189,6.012,192,3.054,227,3.933,242,8.556,255,11.831,256,5.248,285,5.73,329,8.072,338,7.985,392,10.639,594,10.782,840,12.015,1162,8.902,1287,7.197,1340,8.781,1997,12.444,2352,14.062,2420,11.556,2623,13.051,5412,13.051,5413,15.098,5414,13.864,5415,15.098,5416,15.098]],["keywords/736",[]],["title/737",[4186,1208.042]],["content/737",[5,3.118,11,5.437,37,5.967,45,2.698,72,6.903,75,5.973,136,4.134,139,2.917,140,1.735,141,7.424,144,1.686,152,4.683,162,2.856,192,4.063,220,8.1,225,4.017,227,3.4,236,9.197,318,4.386,329,6.978,352,4.745,425,7.696,494,7.219,563,9.363,594,7.219,615,6.386,676,5.331,1146,8.662,1654,14.022,1691,11.479,2352,8.044,2882,13.144,5412,18.619,5414,11.985,5417,17.702,5418,13.052,5419,13.052,5420,13.052,5421,13.052,5422,13.052,5423,13.052,5424,13.052]],["keywords/737",[]],["title/738",[130,220.172,139,92.466,208,128.779,573,253.544,1834,261.764,2894,448.672]],["content/738",[11,7.906,64,6.463,130,6.563,167,9.547,194,5.841,208,3.839,240,6.43,573,7.558,643,8.551,1834,7.803,2352,11.697,2894,13.374]],["keywords/738",[]],["title/739",[4640,1400.437]],["content/739",[42,11.008,45,3.749,139,2.634,140,1.799,144,1.748,162,3.526,192,3.668,208,3.668,227,3.525,318,3.96,340,6.404,460,13.834,573,5.388,643,6.096,790,9.211,808,7.156,920,8.339,1802,5.793,1834,9.646,3014,11.554,3959,14.949,3961,12.226,3962,12.781,4817,7.82,5042,10.356,5124,11.984,5425,13.53,5426,10.718,5427,12.425,5428,12.425,5429,16.655,5430,13.53]],["keywords/739",[]],["title/740",[4633,1400.437]],["content/740",[45,4.215,139,2.961,140,2.154,144,2.094,162,3.778,192,4.124,208,4.124,227,4.221,318,4.452,340,5.721,573,6.452,643,7.3,1802,6.937,1834,9.627,2894,11.417,4817,8.791,5042,12.401,5426,12.834,5431,16.203,5432,16.203]],["keywords/740",[]],["title/741",[4635,1257.008]],["content/741",[139,3.295,144,2.495,192,3.905,227,5.031,318,4.216,573,7.689,1834,7.939,2894,13.607,4635,15.916]],["keywords/741",[]],["title/742",[5433,1525.086]],["content/742",[45,4.195,139,2.948,140,2.138,144,2.078,162,3.768,192,4.105,208,4.105,227,4.191,318,4.432,340,5.68,359,8.091,643,7.247,848,6.935,1802,6.886,1834,9.602,2155,8.793,4817,8.751,5042,12.311,5426,12.741,5434,16.085,5435,16.085]],["keywords/742",[]],["title/743",[5436,1400.437]],["content/743",[35,3.953,139,3.388,144,2.314,192,3.621,204,6.39,208,3.621,227,4.665,243,8.279,318,3.909,322,8.067,593,10.557,775,5.976,1834,7.361,3476,11.61,5436,19.916]],["keywords/743",[]],["title/744",[5437,1400.437]],["content/744",[45,4.157,59,6.985,136,3.703,139,2.921,140,2.108,144,2.049,162,3.748,192,3.207,208,4.068,227,4.131,278,7.255,318,3.462,340,5.598,643,7.143,775,5.291,924,9.623,1802,6.788,1834,9.552,4817,8.672,5426,12.559,5437,14.559,5438,15.855,5439,15.855,5440,15.855,5441,15.855]],["keywords/744",[]],["title/745",[5442,1400.437]],["content/745",[4,5.64,5,1.655,39,5.898,45,3.177,130,3.688,139,3.398,140,1.418,144,1.986,162,3.181,181,6.396,192,3.108,194,3.282,208,3.108,217,6.36,226,5.701,227,2.778,243,5.867,244,5.867,278,9.023,318,3.356,340,3.766,352,2.859,359,5.364,437,8.044,643,4.805,758,6.872,849,5.266,1213,9.626,1516,13.895,1783,8.447,1802,4.566,1834,9.764,2578,14.113,2619,7.52,3230,11.103,3728,11.411,3758,9.966,3809,10.584,4817,6.626,5100,13.285,5426,8.447,5442,9.793,5443,10.664,5444,9.793,5445,18.106,5446,14.113,5447,15.369,5448,15.369]],["keywords/745",[]],["title/746",[5449,1400.437]],["content/746",[5,1.339,39,4.772,42,7.972,45,1.783,64,2.938,65,5.702,80,5.237,102,2.668,130,4.542,131,5.318,139,3.043,140,1.147,144,1.697,157,4.045,162,2.119,170,5.817,171,5.405,181,5.646,192,2.657,194,2.656,208,1.745,217,5.735,226,4.613,227,2.248,243,5.014,244,5.014,248,4.47,278,8.136,290,4.83,318,2.868,322,3.888,340,4.638,349,5.6,352,3.521,359,4.341,437,6.875,447,3.219,460,10.791,540,5.405,643,3.888,743,5.595,758,5.874,790,8.078,836,7.972,849,4.26,1213,8.228,1335,5.702,1516,12.528,1834,9.678,1971,10.054,2619,6.427,3014,10.132,3230,9.49,3256,7.112,3728,9.753,3758,8.518,3809,9.046,3959,10.827,3961,8.855,3962,9.256,4314,11.355,4635,7.112,4817,3.72,5100,11.355,5124,8.68,5427,7.924,5428,7.924,5429,12.062,5444,7.924,5445,16.326,5446,12.062,5449,7.924,5450,8.629,5451,8.629,5452,13.136,5453,13.136,5454,13.136,5455,13.136]],["keywords/746",[]],["title/747",[7,271.221,352,262.365,353,416.153]],["content/747",[6,11.753,7,5.446,64,6.692,194,6.049,240,6.658,352,5.268,353,8.355,674,11.137]],["keywords/747",[]],["title/748",[5456,1525.086]],["content/748",[7,4.556,139,3.262,140,2.186,141,8.631,144,2.125,192,4.162,224,5.407,227,4.284,240,5.571,292,6.589,318,4.494,352,6.021,353,8.75,874,8.046,875,8.271,1287,7.838,1343,10.865,1399,11.88,1743,12.585,5457,16.443,5458,16.443,5459,16.443]],["keywords/748",[]],["title/749",[5460,1400.437]],["content/749",[5,2.825,51,6.602,139,3.412,141,7.633,144,2.352,192,3.681,227,4.741,240,6.166,318,3.974,352,4.878,353,7.738,753,10.585,1399,13.148,5460,16.712,5461,18.199]],["keywords/749",[]],["title/750",[5462,1525.086]],["content/750",[7,4.523,84,6.671,139,2.975,140,2.17,144,2.109,192,4.143,203,11.609,227,4.252,240,5.53,286,12.851,318,4.473,349,5.141,350,3.769,352,4.375,353,6.939,652,8.455,750,9.374,838,16.884,5463,14.988,5464,16.322,5465,16.322,5466,16.322]],["keywords/750",[]],["title/751",[5467,1525.086]],["content/751",[84,5.648,139,3.089,144,2.241,192,3.508,203,9.829,204,6.19,227,4.519,240,5.876,286,12.21,318,3.787,349,5.463,350,4.005,352,4.649,353,7.374,652,8.985,750,7.937,753,10.088,838,14.296,4984,15.927,5463,15.927,5468,17.344]],["keywords/751",[]],["title/752",[4317,1318.333]],["content/752",[5,3.054,18,4.73,75,5.736,136,4.022,139,3.076,141,7.222,144,2.225,182,9.759,183,8.746,192,2.535,194,3.858,202,7.08,217,5.554,223,6.246,224,5.663,227,4.486,271,7.608,309,6.079,318,2.737,320,7.608,327,6.933,352,4.616,371,10.153,385,10.332,392,8.833,564,7.985,717,10.88,765,12.441,790,6.366,1118,8.632,1125,8.283,1146,8.426,1253,5.975,1352,7.985,1366,9.929,1388,12.998,1405,7.851,1693,8.283,2650,9.929,2882,14.606,3461,11.511,4317,14.886,5469,12.535,5470,12.535,5471,12.535,5472,12.535,5473,12.535]],["keywords/752",[]],["title/753",[3,569.283,352,262.365,353,416.153]],["content/753",[3,13.666,88,7.433,91,6.867,129,10.066,130,6.293,225,5.601,265,5.985,273,7.386,279,6.75,352,5.871,353,7.738,1027,8.75,1332,11.801,2459,9.949]],["keywords/753",[]],["title/754",[4604,717.6,5474,762.291,5475,762.291,5476,762.291]],["content/754",[3,7.891,11,8.271,72,3.564,102,2.084,139,3.41,140,0.896,144,1.399,162,2.745,181,3.843,192,3.142,201,7.253,202,8.162,206,16.364,217,6.404,220,4.953,226,5.787,227,1.756,240,7.636,256,2.342,265,4.462,273,7.374,318,3.392,337,3.668,437,10.391,563,5.725,621,3.643,744,10.654,745,5.158,746,3.643,758,8.878,768,11.628,770,5.158,779,5.004,780,5.554,1027,7.469,1152,9.56,1448,5.825,1461,4.749,2459,11.2,2526,4.293,2929,11.182,4355,8.922,4356,5.825,4361,5.554,4591,6.188,4592,6.188,4597,6.188,4598,5.825,4600,6.188,4602,5.825,4604,5.825,4605,6.188,4606,6.188,4607,6.188,4611,6.188,5474,6.188,5475,6.188,5476,9.94,5477,6.739,5478,10.825,5479,10.825,5480,6.739,5481,15.535,5482,6.739,5483,6.739,5484,6.739,5485,6.739,5486,6.739,5487,6.739,5488,13.567,5489,6.739,5490,6.739,5491,6.739,5492,6.739,5493,6.739,5494,6.739,5495,6.739,5496,6.739,5497,6.739]],["keywords/754",[]],["title/755",[352,262.365,353,416.153,825,547.894]],["content/755",[64,6.813,194,6.158,240,6.778,352,5.363,825,11.199,1654,15.848]],["keywords/755",[]],["title/756",[5498,1400.437]],["content/756",[139,3.197,141,7.696,144,2.371,192,3.711,221,8.899,227,4.781,318,4.007,383,9.506,575,10.533,592,11.137,952,8.899,1345,14.045,1654,14.535,3289,15.125,5498,16.85]],["keywords/756",[]],["title/757",[5499,1400.437]],["content/757",[139,3.213,141,7.76,144,2.391,192,3.742,221,8.974,225,6.809,227,4.821,318,4.04,362,8.896,383,9.585,952,8.974,1654,14.657,5499,16.991]],["keywords/757",[]],["title/758",[4701,1318.333]],["content/758",[5,2.426,35,3.451,45,4.12,46,6.6,139,2.895,144,2.02,150,6.886,174,7.327,192,3.161,208,3.161,225,4.811,227,4.072,302,7.451,318,3.413,352,5.343,383,11.368,398,10.328,443,8.449,614,8.097,646,5.864,775,5.217,874,7.648,949,13.512,1177,9.957,1266,11.997,1588,8.972,2356,7.209,4220,13.512,4701,13.512,5500,15.631]],["keywords/758",[]],["title/759",[672,955.22]],["content/759",[1,4.278,5,3.367,45,3.701,48,5.862,60,6.289,79,6.835,139,2.6,194,5.511,260,11.831,277,3.81,378,9.007,653,10.414,672,13.584,1340,10.414,4473,13.294]],["keywords/759",[]],["title/760",[5501,1400.437]],["content/760",[7,4.769,139,2.499,140,2.288,144,2.735,192,4.282,227,4.484,318,4.622,350,3.974,358,4.309,672,13.26,775,7.066,808,9.102,1343,11.371,2526,10.963,5162,14.184,5501,15.803,5502,17.21,5503,15.803,5504,17.21]],["keywords/760",[]],["title/761",[5505,1525.086]],["content/761",[7,4.696,139,2.461,140,2.788,144,2.71,162,2.734,192,4.241,224,5.573,227,4.415,292,6.79,318,4.579,626,10.795,672,13.134,757,11.197,775,5.656,1814,13.423,2526,10.795,5503,15.561,5506,20.97,5507,16.946,5508,16.946]],["keywords/761",[]],["title/762",[5509,1400.437]],["content/762",[7,3.682,49,8.767,52,5.393,139,3.29,140,2.695,144,2.315,162,2.89,192,3.624,204,6.395,224,4.369,227,3.462,256,6.228,318,3.912,326,8.189,349,4.185,350,4.137,446,11.185,455,7.437,672,13.59,709,9.15,775,4.434,2482,12.001,2526,8.464,2968,9.15,5173,10.525,5509,19.924,5510,13.287,5511,12.201,5512,12.201,5513,13.287,5514,13.287]],["keywords/762",[]],["title/763",[5515,1400.437]],["content/763",[7,3.942,52,4.993,139,3.046,140,2.789,144,2.423,162,3.025,192,3.793,204,5.077,224,4.678,227,3.706,256,6.518,318,4.094,349,4.481,350,4.33,436,9.598,446,10.357,455,7.963,672,14.515,709,9.797,1167,9.797,2482,11.601,2526,9.062,2968,9.797,5173,11.268,5511,13.063,5512,13.063,5515,17.219,5516,14.226]],["keywords/763",[]],["title/764",[5517,1400.437]],["content/764",[7,5.043,52,4.332,64,6.197,130,6.293,139,3.181,144,2.352,192,3.681,227,4.741,318,3.974,404,8.511,447,6.789,574,10.73,672,11.399,848,7.846,5517,16.712]],["keywords/764",[]],["title/765",[7,422.589]],["content/765",[1,3.619,7,6.534,69,10.974,194,5.648,309,8.899,614,9.506,632,9.144,686,11.403,1027,8.822,1461,12.931,1673,11.137,2106,11.899,3767,15.862]],["keywords/765",[]],["title/766",[5518,1400.437]],["content/766",[1,3.267,5,2.571,7,4.59,51,6.009,139,3.003,144,2.672,162,3.335,192,3.351,204,7.379,227,5.387,318,3.617,761,8.856,775,5.529,1027,7.964,1611,13.654,2356,7.641,5518,15.212,5519,16.566,5520,16.566,5521,16.566,5522,16.566,5523,16.566,5524,15.212,5525,15.212]],["keywords/766",[]],["title/767",[5526,1400.437]],["content/767",[1,2.458,7,3.454,48,5.71,51,4.522,52,2.967,139,3.677,144,2.216,162,3.408,192,2.521,204,6.122,227,4.469,318,2.722,761,9.171,775,4.16,1611,14.139,1832,10.274,2356,5.749,2454,9.005,5524,15.752,5525,15.752,5526,11.446,5527,12.465,5528,12.465,5529,11.446,5530,12.465,5531,12.465,5532,12.465,5533,12.465,5534,12.465,5535,12.465,5536,12.465,5537,12.465,5538,12.465,5539,12.465,5540,12.465,5541,11.446,5542,11.446,5543,21.128,5544,12.465,5545,12.465,5546,12.465,5547,11.446,5548,12.465,5549,12.465]],["keywords/767",[]],["title/768",[5550,1663.464]],["content/768",[1,2.735,7,5.74,48,3.748,139,2.678,140,1.844,144,2.383,162,2.975,189,5.523,192,4.19,204,7.879,227,3.613,318,4.523,775,6.913,848,5.98,1200,6.297,1201,8.548,1611,15.198,2356,8.505,4813,6.786,5529,16.932,5541,16.932,5542,16.932,5547,12.736,5551,13.869,5552,13.869,5553,13.869,5554,12.736,5555,13.869,5556,12.736,5557,13.869,5558,18.439,5559,13.869,5560,13.869,5561,18.439]],["keywords/768",[]],["title/769",[4699,1400.437]],["content/769",[7,6.606,44,9.284,52,5.009,139,2.079,140,1.903,144,2.433,152,6.757,162,3.038,189,5.701,192,3.809,204,6.721,227,3.73,318,4.112,352,3.838,353,6.087,580,9.46,643,6.451,686,7.417,1027,6.883,1543,5.433,2106,12.211,2356,6.604,4813,7.006,4816,9.284,5554,13.147,5556,13.147,5562,14.318,5563,14.318,5564,14.318,5565,14.318,5566,14.318,5567,14.318,5568,14.318,5569,18.831,5570,14.318]],["keywords/769",[]],["title/770",[50,530.107]],["content/770",[1,3.711,50,7.767,72,11.818,79,7.183,194,5.792,545,11.421,849,11.033,1027,9.047,2654,13.972,3767,16.267]],["keywords/770",[]],["title/771",[5571,1400.437]],["content/771",[5,2.534,50,5.673,79,6.23,139,3.41,140,2.17,144,2.647,157,7.651,162,3.788,192,3.301,204,7.311,227,5.337,318,3.564,322,7.354,1027,7.847,5571,18.811,5572,14.988,5573,16.322,5574,16.322,5575,16.322,5576,16.322,5577,16.322]],["keywords/771",[]],["title/772",[5578,1525.086]],["content/772",[50,6.806,79,7.474,139,3.145,140,2.021,144,2.53,162,3.818,189,6.053,192,3.96,204,6.988,227,3.96,318,4.275,322,6.849,339,9.091,484,14.6,757,10.045,849,7.506,1742,14.146,3476,12.696,4813,7.438,5572,13.959,5579,15.202,5580,12.53,5581,19.58,5582,13.959]],["keywords/772",[]],["title/773",[5583,1400.437]],["content/773",[50,7.81,52,3.089,72,6.863,79,8.202,119,6.59,139,3.716,140,1.725,144,1.677,162,3.466,192,3.566,204,4.631,227,3.38,318,3.85,446,6.407,484,8.747,642,6.466,775,4.331,875,6.527,1143,9.144,1543,6.691,1747,10.278,1935,7.651,2367,8.414,3476,8.414,3687,10.695,4813,8.627,5042,9.931,5233,11.915,5580,10.695,5582,11.915,5583,11.915,5584,12.976,5585,11.217,5586,12.976,5587,12.976,5588,12.976,5589,12.976,5590,12.976]],["keywords/773",[]],["title/774",[5591,1525.086]],["content/774",[50,8.076,79,7.678,139,2.921,140,2.108,144,2.049,162,3.748,192,4.068,227,4.131,248,8.213,318,4.392,383,8.213,484,10.688,849,9.931,1297,7.557,1935,9.348,3476,10.281,4813,9.841,5580,13.068,5585,13.705,5592,15.855,5593,18.469,5594,15.855]],["keywords/774",[]],["title/775",[5595,1525.086]],["content/775",[50,8.097,79,7.713,139,2.934,140,2.123,144,2.063,162,3.758,192,4.087,227,4.16,248,8.273,318,4.412,383,8.273,1297,7.612,1935,9.415,2155,11.046,3476,10.355,4813,9.886,5580,13.162,5585,13.804,5593,18.554,5596,15.969,5597,15.969]],["keywords/775",[]]],"invertedIndex":[["",{"_index":139,"title":{"5":{"position":[[8,1]]},"343":{"position":[[11,1]]},"584":{"position":[[7,1]]},"738":{"position":[[17,1]]}},"content":{"7":{"position":[[335,3],[1020,3]]},"9":{"position":[[149,2],[236,1],[498,2],[575,1]]},"20":{"position":[[344,1],[352,1],[362,1],[375,1],[384,1],[417,1],[524,4],[666,4],[723,3],[787,3]]},"21":{"position":[[84,3],[116,2],[129,2]]},"22":{"position":[[109,3],[143,2],[157,2],[166,1],[182,1],[228,1],[271,1],[376,1],[384,1],[400,1],[414,1],[430,1],[446,1],[459,1],[488,1],[496,1],[503,1],[514,1]]},"23":{"position":[[79,3],[122,2],[137,2],[259,1]]},"36":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7494,1],[7581,1],[7681,1],[9288,1],[9300,1],[9480,1],[9487,1]]},"43":{"position":[[315,1],[4668,1]]},"44":{"position":[[794,1],[806,1],[838,1],[877,1],[904,1],[934,1],[959,1],[996,1],[1097,1],[1242,1],[2491,1],[2493,1],[2507,1],[2618,1],[2631,1],[2662,1],[2689,3],[2718,1],[2819,1],[2852,1],[2854,1],[2856,1],[2863,1],[2917,2],[3263,1],[3303,1],[3428,1],[3476,2],[3497,3],[3529,1],[3547,1],[3662,2],[3687,1],[3751,1],[3758,1]]},"46":{"position":[[877,1]]},"49":{"position":[[365,1],[489,1],[678,1],[1652,1],[2640,1]]},"50":{"position":[[565,1],[1392,1],[2233,1]]},"52":{"position":[[320,1],[432,1],[757,1],[1658,1]]},"54":{"position":[[569,1],[2643,1],[2855,1]]},"61":{"position":[[3031,1],[3035,1],[3039,1],[3043,1],[3426,1],[3431,1]]},"67":{"position":[[219,1],[372,1],[405,1]]},"69":{"position":[[1327,1]]},"71":{"position":[[170,1],[287,1],[307,1],[331,1],[489,1],[518,1]]},"75":{"position":[[751,2],[759,1],[860,1],[1115,2],[1124,1],[1248,1],[1524,1],[1548,1]]},"80":{"position":[[254,1],[402,1]]},"83":{"position":[[657,1],[913,1],[931,1],[2223,1],[2343,1]]},"84":{"position":[[144,1],[233,1],[305,1],[775,5]]},"85":{"position":[[262,1],[297,1],[309,1],[377,1],[430,1],[511,1],[528,1],[674,1],[731,1],[743,1],[826,1],[875,1],[952,1],[1073,1],[1132,1],[1199,1],[1276,1],[1319,1]]},"88":{"position":[[205,2]]},"95":{"position":[[438,1]]},"99":{"position":[[411,1],[434,1],[458,1],[473,1],[494,1],[512,1],[560,1],[572,1],[621,1],[637,1],[686,1],[701,1],[798,1],[812,1],[860,1],[878,1],[962,1],[988,1]]},"102":{"position":[[181,1]]},"103":{"position":[[21,1],[249,1],[526,1],[583,1]]},"104":{"position":[[66,1],[93,1]]},"105":{"position":[[80,1],[149,1],[214,1],[260,1]]},"107":{"position":[[1,1],[18,1],[95,1],[121,1],[154,1]]},"108":{"position":[[17,1],[42,1],[54,1],[67,1],[76,1],[146,1],[165,1],[199,1],[241,1],[295,1],[339,1],[414,1],[464,1],[536,1],[592,1],[659,1]]},"109":{"position":[[17,1]]},"126":{"position":[[289,1],[485,1]]},"127":{"position":[[292,1],[491,1]]},"133":{"position":[[897,1]]},"134":{"position":[[821,1],[1156,1]]},"146":{"position":[[149,1]]},"147":{"position":[[138,1]]},"148":{"position":[[149,1]]},"149":{"position":[[135,1],[141,1]]},"150":{"position":[[145,1]]},"151":{"position":[[156,1]]},"152":{"position":[[139,1],[145,1]]},"153":{"position":[[158,1]]},"154":{"position":[[140,1]]},"155":{"position":[[151,1]]},"156":{"position":[[139,1],[145,1]]},"157":{"position":[[147,1]]},"158":{"position":[[158,1]]},"159":{"position":[[143,1],[149,1]]},"160":{"position":[[161,1],[167,1]]},"161":{"position":[[157,1],[163,1]]},"162":{"position":[[155,1],[161,1]]},"163":{"position":[[155,1],[161,1]]},"164":{"position":[[155,1],[161,1]]},"165":{"position":[[144,1],[150,1]]},"167":{"position":[[130,1]]},"174":{"position":[[492,1]]},"176":{"position":[[434,1],[496,1]]},"202":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7494,1],[7581,1],[7681,1],[9288,1],[9300,1],[9480,1],[9487,1]]},"208":{"position":[[447,1]]},"224":{"position":[[773,2],[842,1],[1211,2],[1281,1]]},"225":{"position":[[498,1]]},"227":{"position":[[891,1],[1236,1],[1266,1],[1349,2],[1352,1],[1377,1],[1379,2],[1403,2],[1417,2],[1426,1],[1428,2],[1480,2],[1497,2],[1506,1],[1508,2],[1554,2],[1567,2],[1576,1],[1578,2],[1620,2],[1623,1],[1625,2],[2387,1],[2389,1],[2531,2],[2602,1],[2647,1],[2783,3],[2787,3],[3406,1],[3408,1],[3534,2],[3605,1],[3650,1],[3790,3],[3794,3],[5638,1],[5640,1],[5763,2],[5766,1],[5889,1],[5891,1],[6211,1],[6213,1],[6365,2],[6368,1],[6518,1],[6520,1]]},"229":{"position":[[178,1],[250,1]]},"230":{"position":[[180,1],[252,1],[291,1]]},"231":{"position":[[192,1],[276,1],[315,1]]},"232":{"position":[[213,1],[308,1],[347,1],[970,1]]},"233":{"position":[[228,1],[333,1],[372,1],[1187,1]]},"234":{"position":[[270,1],[371,1]]},"235":{"position":[[478,1],[563,1]]},"240":{"position":[[1866,1]]},"253":{"position":[[804,1],[928,1],[1931,1],[2799,1],[4801,1],[6456,1],[6511,1],[6603,1],[6660,1]]},"254":{"position":[[1397,1]]},"267":{"position":[[2057,1],[2069,1],[2671,1],[4120,1],[4187,1],[4471,1],[4543,1],[6094,1],[6180,1],[6279,1],[7571,1],[7583,1],[7741,1],[7748,1]]},"273":{"position":[[437,1]]},"282":{"position":[[511,1]]},"285":{"position":[[1273,1],[1284,1],[1312,1],[1322,1],[1351,1],[1364,1],[1530,1]]},"292":{"position":[[1122,1],[1194,1],[1267,1],[1308,1],[1352,1],[1402,1],[1448,1]]},"318":{"position":[[231,1],[259,1],[291,1],[349,1],[397,1],[399,1],[424,1],[458,1],[509,1],[550,1],[691,1],[717,1]]},"319":{"position":[[114,1]]},"320":{"position":[[364,1],[369,2],[903,1]]},"321":{"position":[[119,1],[353,1],[1230,1],[1566,1],[2803,1],[3081,1],[3232,1],[3315,1],[3442,1],[3450,1],[3564,1]]},"322":{"position":[[545,1],[547,1],[602,3],[630,1],[710,1],[799,2],[880,1],[990,1],[992,1],[994,3],[998,1],[1000,1]]},"324":{"position":[[3282,1]]},"325":{"position":[[110,1],[362,1]]},"328":{"position":[[330,1],[357,1],[366,1],[368,2],[391,2],[394,2],[397,2],[437,2],[462,2],[868,1],[1171,2]]},"329":{"position":[[1104,1],[1166,1]]},"332":{"position":[[693,1]]},"334":{"position":[[543,1]]},"338":{"position":[[434,1],[489,1],[542,1],[580,1],[631,1],[677,1],[721,1],[762,1],[822,1],[878,1],[969,1],[1077,1]]},"347":{"position":[[1928,1],[2456,1]]},"350":{"position":[[1392,1]]},"352":{"position":[[448,1],[476,1]]},"353":{"position":[[280,1]]},"355":{"position":[[644,1],[650,1],[666,1]]},"357":{"position":[[738,1],[779,1],[822,1],[1091,1],[1104,1],[2223,1],[2265,1],[2313,1],[2582,1],[2595,1],[4525,1]]},"360":{"position":[[225,1],[269,1],[271,1],[301,1],[303,1],[373,1],[451,1],[530,1],[550,1],[552,1],[640,1],[683,1],[685,1],[781,1],[861,1],[946,1],[1030,1],[1111,1]]},"371":{"position":[[374,1]]},"373":{"position":[[807,1]]},"383":{"position":[[842,1],[950,1]]},"386":{"position":[[327,1]]},"387":{"position":[[302,1]]},"388":{"position":[[175,1]]},"389":{"position":[[260,1]]},"390":{"position":[[221,1]]},"391":{"position":[[230,1],[282,1]]},"401":{"position":[[222,1],[272,1],[349,1],[415,1]]},"402":{"position":[[222,1],[272,1],[349,1],[411,1],[469,1],[564,1]]},"403":{"position":[[805,1]]},"404":{"position":[[326,1],[379,1]]},"405":{"position":[[392,1]]},"406":{"position":[[390,1]]},"407":{"position":[[536,1]]},"408":{"position":[[410,1]]},"409":{"position":[[413,1]]},"410":{"position":[[687,1],[737,1],[790,1]]},"411":{"position":[[634,1],[687,1],[749,1]]},"412":{"position":[[362,1],[415,1]]},"413":{"position":[[360,1],[413,1]]},"415":{"position":[[379,1]]},"416":{"position":[[382,1]]},"417":{"position":[[656,1],[706,1],[759,1]]},"418":{"position":[[606,1]]},"419":{"position":[[654,1]]},"420":{"position":[[622,1]]},"422":{"position":[[400,1]]},"423":{"position":[[622,1],[675,1]]},"424":{"position":[[499,1],[548,1],[711,1],[760,1]]},"425":{"position":[[366,1],[415,1],[481,1],[527,1],[560,1],[604,1],[648,1]]},"426":{"position":[[209,1],[266,1]]},"427":{"position":[[618,1]]},"429":{"position":[[499,1],[577,1],[633,2],[665,2],[785,3],[1454,1],[1901,1],[2144,1],[2146,1],[2230,1],[2232,3],[2248,1],[2264,1]]},"430":{"position":[[343,1],[345,1],[347,1],[401,1]]},"431":{"position":[[342,1],[401,1]]},"432":{"position":[[267,1],[318,1]]},"434":{"position":[[350,1],[498,3],[504,1],[513,1],[543,1]]},"435":{"position":[[147,1],[328,1],[383,1]]},"436":{"position":[[267,1],[318,1]]},"439":{"position":[[295,1]]},"440":{"position":[[402,1]]},"443":{"position":[[414,1]]},"444":{"position":[[592,1]]},"446":{"position":[[768,1],[911,1],[1009,3],[1015,1],[1039,1],[1083,1],[1126,1]]},"448":{"position":[[166,2],[294,2]]},"459":{"position":[[1,1],[75,1],[172,1]]},"461":{"position":[[62,1],[131,1],[197,1]]},"476":{"position":[[1362,1],[1374,1],[1471,1],[1660,1],[1703,1],[1870,1],[1957,1],[1996,1],[2028,1],[2047,1],[2214,2],[2233,38],[2272,1],[2280,38],[2326,1],[2359,1],[2435,1],[2590,2],[2604,1],[2749,1],[2784,1],[2872,1],[2911,1],[2943,1],[2962,1],[3130,2],[3145,38],[3184,1],[3192,38],[3238,1],[3271,1],[3345,1],[3500,2],[3513,1],[4671,1]]},"478":{"position":[[362,2],[464,1],[628,1],[660,1],[824,1]]},"480":{"position":[[677,1],[758,1],[1050,1],[1093,1],[1104,1],[1122,4],[1148,1],[1192,1],[1506,2],[1786,2]]},"481":{"position":[[257,1],[304,1],[394,1],[509,1]]},"482":{"position":[[1374,1]]},"483":{"position":[[678,1]]},"485":{"position":[[515,1],[569,1]]},"486":{"position":[[401,1],[512,1],[637,1],[749,1]]},"487":{"position":[[833,1],[865,1],[897,2],[934,1],[966,1],[1010,1],[1025,1],[1151,1],[1293,1],[1328,1],[1364,2],[1404,1],[1440,1],[1484,1],[1495,1],[1623,1]]},"488":{"position":[[2254,1],[2285,1],[2358,2],[2397,1],[2433,1],[2516,2]]},"490":{"position":[[671,1]]},"495":{"position":[[449,1],[516,2],[534,2],[592,1],[642,1],[735,1],[802,2],[820,2],[889,1],[940,1]]},"496":{"position":[[612,1],[670,1],[809,1],[868,1]]},"497":{"position":[[358,1],[475,1],[663,1],[774,1]]},"498":{"position":[[325,1],[395,1],[432,1],[502,1],[539,1],[620,1]]},"499":{"position":[[545,1],[633,1],[780,1],[850,1],[882,1],[971,1],[1112,1],[1182,1]]},"501":{"position":[[608,1],[616,1],[652,2],[669,1],[689,2],[736,1],[819,1],[836,1],[870,1],[878,1],[914,2],[947,1],[967,2],[1014,1]]},"502":{"position":[[623,1],[699,1],[768,1],[791,1]]},"507":{"position":[[367,1],[530,1]]},"525":{"position":[[598,1]]},"527":{"position":[[302,4],[396,4]]},"547":{"position":[[179,1],[199,1]]},"553":{"position":[[64,5]]},"584":{"position":[[418,1]]},"585":{"position":[[333,1],[430,1],[451,1],[497,1],[509,1],[533,1],[589,1],[634,1],[676,1],[687,1],[693,1],[734,1],[738,1],[742,1],[771,1],[773,1],[801,1],[803,1],[877,1],[879,1],[949,1],[1029,1],[1043,1],[1047,2],[1059,1]]},"586":{"position":[[352,1],[462,1],[482,1],[540,1],[589,1],[591,2],[594,1],[598,1],[602,1],[617,1],[621,1],[655,1],[666,1],[670,1],[704,1],[732,1],[734,1],[771,1],[839,1],[848,2],[886,1],[890,2],[895,1]]},"599":{"position":[[24,1],[983,1]]},"613":{"position":[[226,1]]},"623":{"position":[[224,1],[674,1],[716,1],[772,1],[818,1],[895,1],[937,1],[993,1],[1039,1]]},"624":{"position":[[183,1],[641,1],[689,1],[753,1],[820,1],[905,1],[953,1],[1017,1],[1084,1]]},"627":{"position":[[195,1],[289,4],[379,4],[461,4],[605,1],[677,1],[758,1],[920,1],[992,1],[1073,1]]},"628":{"position":[[622,1],[703,1],[738,1],[757,1],[859,1],[943,1],[1027,1],[1063,1],[1082,1],[1186,1]]},"629":{"position":[[582,1],[799,1],[911,1],[1159,1]]},"630":{"position":[[45,1],[385,1]]},"632":{"position":[[1323,1],[1452,1],[1504,1],[1557,1],[1590,1],[1730,1],[1898,1],[1951,1],[1986,1]]},"634":{"position":[[80,1],[204,1]]},"636":{"position":[[385,4],[741,5],[1354,1],[1568,1],[1643,2],[1829,1],[1894,2]]},"637":{"position":[[577,4],[963,5]]},"638":{"position":[[590,4],[984,5],[1527,1]]},"639":{"position":[[641,4],[1017,5]]},"640":{"position":[[437,4],[817,5]]},"641":{"position":[[624,4],[1034,5]]},"642":{"position":[[637,4],[1055,5],[1598,1]]},"643":{"position":[[688,4],[1088,5]]},"644":{"position":[[419,1],[978,1]]},"645":{"position":[[39,1],[233,1]]},"646":{"position":[[166,1],[310,1],[364,1],[414,1],[463,1],[516,1],[594,1],[722,3],[726,2],[729,1],[731,3],[735,1],[737,2],[768,1],[824,1],[851,1],[877,1],[907,1],[967,1],[1032,3],[1036,2],[1039,1],[1041,3],[1045,1],[1047,2]]},"647":{"position":[[70,1],[218,1],[309,4],[342,1],[435,4]]},"648":{"position":[[72,1],[318,1],[347,1],[403,1],[453,1],[502,1],[555,1],[633,1],[761,3],[765,2],[768,1],[770,3],[774,1],[776,2],[808,1],[866,1],[893,1],[919,1],[949,1],[1009,1],[1074,3],[1078,2],[1081,1],[1083,3],[1087,1],[1089,2]]},"649":{"position":[[53,1],[420,1],[481,1],[627,1],[741,1],[927,1],[1147,1],[1210,1],[1284,1],[1362,1],[1463,1],[1537,5],[1553,3]]},"650":{"position":[[101,1],[126,1],[213,1],[416,1],[478,1],[598,1],[784,1],[920,1],[984,1],[1058,1],[1152,1]]},"651":{"position":[[91,1],[485,1],[626,1]]},"652":{"position":[[232,1],[667,1],[793,1]]},"653":{"position":[[57,1],[436,1],[487,1],[504,1],[598,1],[631,1],[730,1],[784,1]]},"654":{"position":[[70,1],[328,1],[355,1],[395,1]]},"656":{"position":[[332,1],[1051,1],[1406,1]]},"657":{"position":[[251,1],[641,1]]},"658":{"position":[[538,2],[554,1],[607,2],[785,2],[801,1],[860,2],[910,1],[1044,1]]},"659":{"position":[[131,1]]},"660":{"position":[[53,1],[568,1],[621,1],[700,1],[757,1],[820,1],[878,1],[912,1],[996,1],[1049,1],[1128,1],[1185,1],[1248,1],[1306,1],[1340,1]]},"661":{"position":[[84,1],[109,1],[196,1],[382,1],[408,1]]},"662":{"position":[[208,1],[660,1],[777,1]]},"663":{"position":[[252,1],[321,1],[436,3],[440,1],[448,1],[474,1],[603,1],[605,2]]},"664":{"position":[[53,1],[177,1],[204,1],[300,1],[348,1],[401,1],[471,1],[501,1],[526,1],[573,1],[605,1],[635,1],[637,3]]},"665":{"position":[[52,1],[181,1],[289,4]]},"666":{"position":[[30,1],[276,1],[302,1],[406,1],[463,1],[516,1],[597,1],[627,1],[657,1],[705,1],[770,1],[845,1],[893,1],[957,1],[1028,1],[1053,1],[1100,1],[1132,1],[1162,1],[1164,3]]},"667":{"position":[[29,1],[354,1],[378,1],[487,1],[519,1],[549,1],[595,1],[688,1],[741,1],[775,1]]},"668":{"position":[[83,1],[347,1],[374,1],[420,1]]},"669":{"position":[[371,1],[446,1],[729,1],[740,1],[812,2],[866,1],[930,2],[1016,1],[1027,1],[1098,2],[1152,1],[1216,2]]},"670":{"position":[[81,1]]},"671":{"position":[[233,1],[313,1],[610,1],[621,1],[699,1],[722,1],[809,1],[820,1],[898,1],[921,1]]},"672":{"position":[[84,1],[436,1],[522,1],[623,1],[709,1]]},"673":{"position":[[207,1],[302,1],[341,1],[343,1],[561,1],[785,1],[1021,1],[1258,1],[1323,1],[1364,1],[1366,1],[1480,1],[1600,1],[1722,1],[1844,1]]},"675":{"position":[[146,1],[312,1],[334,1]]},"676":{"position":[[324,1],[431,1],[519,1],[666,1],[742,1],[934,1],[1023,1],[1164,1],[1240,1]]},"677":{"position":[[52,1],[260,1]]},"678":{"position":[[64,1],[280,1]]},"679":{"position":[[60,1],[294,1],[424,4]]},"681":{"position":[[356,1],[382,1],[437,1],[560,1],[578,1],[663,1],[1504,1],[1519,1],[1536,1],[1577,2],[1601,1],[1642,2],[1711,1],[1728,1],[1746,1],[1787,2],[1811,1],[1852,2]]},"682":{"position":[[276,1],[361,1],[797,1],[1272,1],[1353,1],[1479,1],[1560,1]]},"683":{"position":[[361,1],[446,1],[919,1],[946,1]]},"684":{"position":[[233,1],[251,1],[328,1],[800,1],[827,1],[873,1]]},"685":{"position":[[189,1],[207,1],[279,1],[1038,1],[1111,1],[1215,1],[1288,1]]},"686":{"position":[[171,1],[189,1],[261,1],[696,1],[1089,1],[1176,1],[1294,1],[1381,1]]},"687":{"position":[[285,1],[303,1],[375,1],[766,1],[793,1]]},"688":{"position":[[121,1],[139,1],[208,1],[772,1],[799,1],[851,1]]},"690":{"position":[[518,1],[622,1]]},"691":{"position":[[67,1],[355,1]]},"692":{"position":[[68,1],[357,1]]},"693":{"position":[[90,1],[240,1]]},"694":{"position":[[91,1],[242,1]]},"695":{"position":[[56,1],[72,1],[98,1]]},"696":{"position":[[71,1],[210,1]]},"697":{"position":[[86,1],[102,1],[125,1]]},"698":{"position":[[54,1],[70,1],[94,1]]},"699":{"position":[[14,1],[77,1],[366,1],[621,1],[687,1],[941,1]]},"700":{"position":[[219,1],[1961,1]]},"701":{"position":[[137,1],[153,1],[185,1]]},"702":{"position":[[100,1],[340,4],[351,1],[391,1],[441,1]]},"703":{"position":[[91,1],[374,1],[400,1],[467,1],[518,1],[565,1],[612,1],[658,1],[717,1],[773,1],[816,1],[865,1],[897,1],[948,1],[995,1],[1042,1],[1088,1],[1144,1],[1203,1],[1246,1],[1295,1],[1355,2],[1369,1],[1449,1],[1500,1],[1502,3]]},"705":{"position":[[71,1],[91,1]]},"706":{"position":[[209,1],[295,1],[343,1],[374,1],[412,1],[437,1],[462,1],[486,1],[511,1],[540,1],[567,1],[594,1],[616,1],[649,1],[674,1],[699,1],[723,1],[748,1],[777,1],[804,1],[831,1],[861,1],[897,1],[936,1],[972,1],[1005,1],[1060,1],[1114,1],[1158,1],[1202,1],[1228,1],[1278,1]]},"707":{"position":[[175,1],[199,1]]},"709":{"position":[[116,1],[251,1],[280,1],[380,1],[440,1],[491,1],[534,1],[573,1],[612,1],[656,1],[686,1],[718,1],[746,1],[779,1],[809,1],[859,1],[906,1],[935,1],[963,1],[991,1],[1020,1],[1049,1],[1076,1]]},"710":{"position":[[67,1],[83,1],[111,1]]},"711":{"position":[[63,1],[420,1]]},"712":{"position":[[68,1],[210,1]]},"713":{"position":[[97,1],[397,1]]},"714":{"position":[[96,1],[393,1]]},"715":{"position":[[303,1],[330,1],[848,1],[875,1],[937,1]]},"716":{"position":[[110,1]]},"717":{"position":[[166,1],[474,1]]},"718":{"position":[[173,1]]},"720":{"position":[[33,1],[366,1]]},"721":{"position":[[36,1],[166,1]]},"722":{"position":[[64,1],[80,1],[105,1]]},"723":{"position":[[109,1],[232,1],[258,1],[356,1],[413,1],[464,1],[507,1],[546,1],[585,1],[629,1],[659,1],[691,1],[719,1],[752,1],[782,1],[832,1],[879,1],[908,1],[936,1],[964,1],[993,1],[1022,1],[1049,1]]},"724":{"position":[[297,1],[321,1],[834,1],[858,1],[882,1]]},"725":{"position":[[94,1],[379,1]]},"726":{"position":[[93,1],[375,1]]},"727":{"position":[[156,1],[452,1]]},"728":{"position":[[170,1]]},"729":{"position":[[119,1]]},"730":{"position":[[26,1],[199,1]]},"731":{"position":[[41,1],[171,1]]},"732":{"position":[[73,1],[165,1]]},"733":{"position":[[35,1],[51,1]]},"734":{"position":[[61,1],[194,1]]},"737":{"position":[[379,1],[726,1],[786,1]]},"739":{"position":[[59,1],[480,1]]},"740":{"position":[[40,1],[259,1]]},"741":{"position":[[32,1],[48,1]]},"742":{"position":[[52,1],[272,1]]},"743":{"position":[[74,1],[90,1],[160,4]]},"744":{"position":[[312,1],[349,1]]},"745":{"position":[[158,1],[480,1],[482,1],[605,1],[607,1],[752,1],[754,1],[877,1],[879,1]]},"746":{"position":[[227,1],[940,1],[942,1],[1067,1],[1069,1],[1206,1],[1369,1]]},"748":{"position":[[57,1],[238,1],[250,1]]},"749":{"position":[[77,1],[93,1],[121,1]]},"750":{"position":[[141,1],[283,1]]},"751":{"position":[[140,1],[156,1]]},"752":{"position":[[508,1],[561,1],[635,1],[701,1]]},"754":{"position":[[496,1],[1147,1],[1171,3],[1231,1],[1255,3],[1277,1],[1301,3],[1322,1],[1346,3],[1600,1],[1694,1],[1718,3],[1771,1],[1795,3],[1825,1],[1849,3],[1878,1],[1902,3]]},"756":{"position":[[92,1],[108,1]]},"757":{"position":[[83,1],[99,1]]},"758":{"position":[[288,1],[304,1]]},"759":{"position":[[48,1]]},"760":{"position":[[56,1]]},"761":{"position":[[48,1]]},"762":{"position":[[48,1],[406,2],[444,2],[514,2],[547,2]]},"763":{"position":[[48,1],[426,2],[481,2]]},"764":{"position":[[81,1],[97,1]]},"766":{"position":[[117,1],[267,1]]},"767":{"position":[[78,1],[121,1],[123,1],[288,1],[466,1],[649,1],[839,1],[857,1],[902,1],[904,1],[997,1],[1103,1],[1214,1],[1332,1]]},"768":{"position":[[121,1],[232,4]]},"769":{"position":[[161,1]]},"771":{"position":[[109,1],[127,1],[238,1],[256,1]]},"772":{"position":[[73,1],[234,1],[333,1]]},"773":{"position":[[221,1],[399,1],[425,1],[489,1],[491,1],[493,1],[495,1],[516,1],[518,1],[520,1],[522,1],[566,1],[610,1],[656,1],[658,3]]},"774":{"position":[[45,1],[294,1]]},"775":{"position":[[47,1],[300,1]]}},"keywords":{}}],["0",{"_index":646,"title":{},"content":{"35":{"position":[[315,1],[548,1],[566,1]]},"36":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7480,1],[9228,1],[9241,1],[9417,1],[9430,1]]},"37":{"position":[[341,1],[359,1]]},"40":{"position":[[232,1],[245,1],[340,1],[459,1],[471,1],[566,1],[684,1],[821,1],[841,1],[1125,1],[1170,1],[1307,1],[1460,1],[1462,1],[1464,1]]},"44":{"position":[[956,2]]},"49":{"position":[[947,1],[952,1],[1189,1],[1322,1],[1823,1],[1828,1],[2103,1],[2255,1]]},"50":{"position":[[813,1],[818,1],[1013,1],[1125,1],[1542,1],[1547,1],[1780,1],[1911,1]]},"52":{"position":[[1011,1],[1016,1],[1236,1],[1356,1]]},"54":{"position":[[939,1],[1048,1],[1053,1],[1192,1],[1679,1],[1808,1],[1813,1],[1970,1]]},"59":{"position":[[733,1]]},"60":{"position":[[1131,1]]},"61":{"position":[[897,1],[1404,1],[2031,1]]},"62":{"position":[[1033,1]]},"63":{"position":[[1622,1],[2217,1]]},"75":{"position":[[674,2],[1022,2]]},"99":{"position":[[570,1],[635,1],[699,1],[810,1],[876,1],[986,1],[1109,1],[1936,2],[2598,2],[4510,1],[5097,2]]},"134":{"position":[[933,1],[938,1]]},"167":{"position":[[104,1]]},"198":{"position":[[1163,4],[1319,3]]},"201":{"position":[[344,1],[577,1],[595,1],[1964,1],[2065,1],[2118,1],[2228,1]]},"202":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7480,1],[9228,1],[9241,1],[9417,1],[9430,1]]},"203":{"position":[[360,1],[378,1],[1852,1],[1886,1]]},"204":{"position":[[747,1],[765,1]]},"205":{"position":[[583,1],[601,1]]},"206":{"position":[[361,1]]},"224":{"position":[[776,1],[1214,2]]},"226":{"position":[[144,1],[153,1],[155,1],[157,1],[315,1],[317,1],[319,1],[409,1],[589,1],[597,1],[843,1],[853,1],[855,1],[882,1],[886,1],[934,1],[1022,1],[1031,1],[1033,1],[1035,1],[1193,1],[1195,1],[1197,1],[1287,1],[1467,1],[1475,1],[1558,1],[1560,1],[1562,1],[1637,1],[1639,1],[1641,1],[1792,1],[1801,1],[1803,1],[1805,1],[1963,1],[1965,1],[1967,1],[2057,1],[2237,1],[2245,1],[2328,1],[2330,1],[2332,1],[2455,1],[2459,1]]},"232":{"position":[[1201,1],[1234,1]]},"233":{"position":[[1479,1],[1512,1]]},"253":{"position":[[2946,1],[3012,1],[3046,1],[3084,1],[3867,2],[4095,3],[4188,2],[4278,1],[4318,1],[4408,1],[4995,1],[5028,1],[5522,1]]},"254":{"position":[[1544,1],[1612,1],[1646,1],[1684,1]]},"259":{"position":[[1179,4]]},"261":{"position":[[59,2]]},"262":{"position":[[366,1],[368,1],[466,1]]},"263":{"position":[[1297,1],[1299,1],[1450,1],[1452,1]]},"266":{"position":[[343,1],[575,1],[593,1],[1118,1],[1120,1]]},"267":{"position":[[1900,1],[2071,2],[2640,1],[6080,1]]},"268":{"position":[[367,1],[385,1]]},"271":{"position":[[360,1]]},"285":{"position":[[128,1],[286,1],[375,1],[537,1],[850,2],[932,2],[1032,1],[1103,1],[1148,1],[1150,1],[1413,1],[1415,1]]},"289":{"position":[[1484,3],[1494,1]]},"321":{"position":[[1624,1],[1626,1],[1628,1]]},"329":{"position":[[296,1]]},"338":{"position":[[645,2]]},"373":{"position":[[212,1],[410,1],[900,1]]},"383":{"position":[[212,1],[410,1],[825,1],[932,1]]},"399":{"position":[[228,1]]},"405":{"position":[[319,1]]},"410":{"position":[[863,1]]},"411":{"position":[[276,1],[777,1]]},"417":{"position":[[827,1]]},"422":{"position":[[327,1]]},"423":{"position":[[738,1]]},"425":{"position":[[511,1],[587,1],[618,1],[699,1]]},"433":{"position":[[193,2]]},"434":{"position":[[378,1],[502,1]]},"441":{"position":[[586,1]]},"444":{"position":[[808,1],[931,1]]},"446":{"position":[[796,1],[1013,1]]},"487":{"position":[[835,1],[968,1],[1295,1],[1442,1]]},"488":{"position":[[2256,1],[2399,1]]},"501":{"position":[[801,1],[1079,1]]},"585":{"position":[[740,1]]},"599":{"position":[[1304,1]]},"640":{"position":[[1530,2],[1703,3]]},"641":{"position":[[1777,2],[1980,3]]},"644":{"position":[[1084,3]]},"646":{"position":[[1014,2]]},"648":{"position":[[1056,2]]},"649":{"position":[[1359,2],[1375,2],[1496,3]]},"663":{"position":[[626,3]]},"671":{"position":[[744,1],[943,1]]},"703":{"position":[[1331,5]]},"758":{"position":[[195,2]]}},"keywords":{}}],["0"",{"_index":2196,"title":{},"content":{"224":{"position":[[815,8],[1254,8]]},"476":{"position":[[2217,8],[3133,8]]},"640":{"position":[[1420,8],[1602,8]]},"641":{"position":[[1652,8],[1864,8]]},"644":{"position":[[541,8]]},"671":{"position":[[701,8],[900,8]]},"703":{"position":[[458,8],[1440,8]]}},"keywords":{}}],["0,0",{"_index":3960,"title":{},"content":{"437":{"position":[[110,5]]},"438":{"position":[[149,5]]}},"keywords":{}}],["0.0",{"_index":1743,"title":{},"content":{"93":{"position":[[1816,4],[2082,4],[2335,4],[2619,4]]},"226":{"position":[[774,3]]},"495":{"position":[[594,3],[891,3]]},"652":{"position":[[764,3],[903,3]]},"700":{"position":[[2032,4]]},"748":{"position":[[240,3]]}},"keywords":{}}],["0.0.0.0",{"_index":1984,"title":{},"content":{"135":{"position":[[585,9]]},"350":{"position":[[214,7]]}},"keywords":{}}],["0.0.0.0:2900",{"_index":1637,"title":{},"content":{"83":{"position":[[2699,12]]}},"keywords":{}}],["0.00",{"_index":3512,"title":{},"content":{"357":{"position":[[1573,5],[1796,5],[1866,5],[3357,5],[3363,5]]}},"keywords":{}}],["0.01",{"_index":3509,"title":{},"content":{"357":{"position":[[1494,5],[1500,5],[1567,5],[1790,5],[2668,5],[2984,5],[2990,5],[3057,5],[3063,5]]}},"keywords":{}}],["0.01745",{"_index":2234,"title":{},"content":{"226":{"position":[[845,7]]}},"keywords":{}}],["0.02",{"_index":1404,"title":{},"content":{"63":{"position":[[2713,4]]},"66":{"position":[[353,4]]},"357":{"position":[[3287,5]]}},"keywords":{}}],["0.046477",{"_index":1019,"title":{},"content":{"43":{"position":[[6538,8]]}},"keywords":{}}],["0.059044",{"_index":937,"title":{},"content":{"42":{"position":[[797,8]]}},"keywords":{}}],["0.1",{"_index":5100,"title":{},"content":{"676":{"position":[[503,3]]},"745":{"position":[[501,3],[773,3]]},"746":{"position":[[961,3],[1244,3]]}},"keywords":{}}],["0.10",{"_index":3567,"title":{},"content":{"357":{"position":[[3281,5]]}},"keywords":{}}],["0.12",{"_index":3548,"title":{},"content":{"357":{"position":[[2825,5]]}},"keywords":{}}],["0.13",{"_index":3503,"title":{},"content":{"357":{"position":[[1334,5]]}},"keywords":{}}],["0.17",{"_index":3502,"title":{},"content":{"357":{"position":[[1328,5]]}},"keywords":{}}],["0.20",{"_index":3547,"title":{},"content":{"357":{"position":[[2819,5]]}},"keywords":{}}],["0.25",{"_index":797,"title":{},"content":{"36":{"position":[[6687,4],[7489,4]]},"202":{"position":[[6687,4],[7489,4]]},"267":{"position":[[5225,4],[6089,4]]},"501":{"position":[[931,5],[1107,5]]},"681":{"position":[[1259,4]]},"682":{"position":[[1026,4]]},"683":{"position":[[812,4]]},"684":{"position":[[693,4]]},"685":{"position":[[871,4]]},"686":{"position":[[922,4]]},"687":{"position":[[737,4]]},"688":{"position":[[665,4]]}},"keywords":{}}],["0.275",{"_index":807,"title":{},"content":{"36":{"position":[[7575,5]]},"202":{"position":[[7575,5]]},"267":{"position":[[6174,5]]}},"keywords":{}}],["0.3",{"_index":810,"title":{},"content":{"36":{"position":[[7677,3]]},"202":{"position":[[7677,3]]},"267":{"position":[[6275,3]]}},"keywords":{}}],["0.34mib",{"_index":3542,"title":{},"content":{"357":{"position":[[2682,7]]}},"keywords":{}}],["0.39",{"_index":3525,"title":{},"content":{"357":{"position":[[1872,5]]}},"keywords":{}}],["0.5",{"_index":796,"title":{},"content":{"36":{"position":[[6683,3],[7485,3],[7571,3],[7673,3]]},"202":{"position":[[6683,3],[7485,3],[7571,3],[7673,3]]},"267":{"position":[[5221,3],[6085,3],[6170,3],[6271,3]]},"328":{"position":[[1614,3]]},"422":{"position":[[596,3]]},"446":{"position":[[53,3]]}},"keywords":{}}],["0.72",{"_index":3520,"title":{},"content":{"357":{"position":[[1725,5]]}},"keywords":{}}],["003784",{"_index":5512,"title":{},"content":{"762":{"position":[[346,8]]},"763":{"position":[[363,8]]}},"keywords":{}}],["00:00:10",{"_index":971,"title":{},"content":{"43":{"position":[[917,8],[1039,8]]}},"keywords":{}}],["00:40:40",{"_index":985,"title":{},"content":{"43":{"position":[[1278,8]]}},"keywords":{}}],["00:41:33",{"_index":1020,"title":{},"content":{"43":{"position":[[6570,8]]}},"keywords":{}}],["01",{"_index":968,"title":{},"content":{"43":{"position":[[905,2],[1027,2]]}},"keywords":{}}],["012u",{"_index":3828,"title":{},"content":{"403":{"position":[[866,5]]}},"keywords":{}}],["02u:%02u:%02u.%06u",{"_index":2747,"title":{},"content":{"285":{"position":[[1649,21]]}},"keywords":{}}],["04",{"_index":940,"title":{},"content":{"42":{"position":[[817,2]]}},"keywords":{}}],["0:0",{"_index":3196,"title":{},"content":{"324":{"position":[[3444,3]]},"325":{"position":[[475,3]]}},"keywords":{}}],["0px",{"_index":3773,"title":{},"content":{"386":{"position":[[329,4]]},"387":{"position":[[304,4]]},"388":{"position":[[177,4]]},"389":{"position":[[262,4]]},"390":{"position":[[223,4]]},"391":{"position":[[284,4]]}},"keywords":{}}],["0x%0x",{"_index":660,"title":{},"content":{"36":{"position":[[189,7]]},"202":{"position":[[189,7]]},"267":{"position":[[184,7]]}},"keywords":{}}],["0x0",{"_index":2138,"title":{},"content":{"201":{"position":[[2236,3]]}},"keywords":{}}],["0x0001",{"_index":3071,"title":{},"content":{"321":{"position":[[659,6],[1519,6],[1526,6],[1533,6],[2051,6],[2058,6],[2065,6],[2551,6],[2558,6],[2565,6]]}},"keywords":{}}],["0x0001cadb",{"_index":1374,"title":{},"content":{"61":{"position":[[2942,10]]}},"keywords":{}}],["0x0003",{"_index":1375,"title":{},"content":{"61":{"position":[[2953,6]]}},"keywords":{}}],["0x0012",{"_index":3072,"title":{},"content":{"321":{"position":[[673,6]]}},"keywords":{}}],["0x03ffffb",{"_index":869,"title":{},"content":{"40":{"position":[[461,9]]}},"keywords":{}}],["0x03fffff",{"_index":871,"title":{},"content":{"40":{"position":[[568,9],[578,9]]}},"keywords":{}}],["0x03fffffb",{"_index":865,"title":{},"content":{"40":{"position":[[234,10]]}},"keywords":{}}],["0x03ffffff",{"_index":867,"title":{},"content":{"40":{"position":[[342,10],[353,10]]}},"keywords":{}}],["0x0883",{"_index":3097,"title":{},"content":{"321":{"position":[[2868,6]]}},"keywords":{}}],["0x0d0a",{"_index":1216,"title":{},"content":{"49":{"position":[[1303,6],[1310,6],[2236,6],[2243,6]]},"50":{"position":[[1106,6],[1113,6],[1892,6],[1899,6]]},"52":{"position":[[1337,6],[1344,6]]},"54":{"position":[[1173,6],[1180,6],[1951,6],[1958,6]]}},"keywords":{}}],["0x0ffffffff",{"_index":873,"title":{},"content":{"40":{"position":[[686,11]]}},"keywords":{}}],["0x1",{"_index":4468,"title":{},"content":{"534":{"position":[[309,5]]}},"keywords":{}}],["0x1880",{"_index":3065,"title":{},"content":{"321":{"position":[[445,6],[452,6],[459,6],[1010,6]]}},"keywords":{}}],["0x1882",{"_index":3090,"title":{},"content":{"321":{"position":[[1289,6],[1296,6],[1303,6],[1821,6],[1828,6],[1835,6],[2321,6],[2328,6],[2335,6]]}},"keywords":{}}],["0x1acffc1d",{"_index":1372,"title":{},"content":{"61":{"position":[[2819,11]]}},"keywords":{}}],["0x98",{"_index":3079,"title":{},"content":{"321":{"position":[[816,4]]}},"keywords":{}}],["0xa",{"_index":1218,"title":{},"content":{"49":{"position":[[1436,3],[1440,3],[2387,3],[2391,3]]},"50":{"position":[[1218,3],[1222,3],[2022,3],[2026,3]]},"52":{"position":[[1457,3],[1461,3]]},"54":{"position":[[1306,3],[1310,3],[2102,3],[2106,3]]}},"keywords":{}}],["0xabcd",{"_index":1378,"title":{},"content":{"62":{"position":[[285,7],[584,7],[716,7]]},"63":{"position":[[1409,7],[1541,7]]}},"keywords":{}}],["0xba5eba11",{"_index":1211,"title":{},"content":{"49":{"position":[[969,10],[1845,10]]},"50":{"position":[[835,10],[1564,10]]},"52":{"position":[[1033,10]]},"134":{"position":[[955,10]]}},"keywords":{}}],["0xc0",{"_index":1320,"title":{},"content":{"58":{"position":[[164,4],[1008,4]]}},"keywords":{}}],["0xc000",{"_index":3068,"title":{},"content":{"321":{"position":[[555,6],[573,6],[1433,6],[1965,6],[2465,6]]}},"keywords":{}}],["0xcafebab",{"_index":1220,"title":{},"content":{"49":{"position":[[1549,10],[2519,10]]},"50":{"position":[[1310,10],[2133,10]]},"52":{"position":[[1568,10]]},"54":{"position":[[1419,10],[2234,10]]}},"keywords":{}}],["0xdb",{"_index":1321,"title":{},"content":{"58":{"position":[[180,5],[1042,4]]}},"keywords":{}}],["0xdc",{"_index":1322,"title":{},"content":{"58":{"position":[[343,4],[1100,4]]}},"keywords":{}}],["0xdd",{"_index":1323,"title":{},"content":{"58":{"position":[[446,4],[1158,4]]}},"keywords":{}}],["0xdeadbeef",{"_index":884,"title":{},"content":{"40":{"position":[[980,10],[1382,10]]},"49":{"position":[[1079,10],[1974,10]]},"50":{"position":[[924,10],[1672,10]]},"52":{"position":[[1140,10]]},"54":{"position":[[829,10],[1550,10],[2590,10],[2802,10]]},"61":{"position":[[2960,10]]},"201":{"position":[[1974,10],[1985,10],[1996,10]]},"203":{"position":[[1762,10],[1773,10],[1784,10]]}},"keywords":{}}],["0xf005ba11",{"_index":1217,"title":{},"content":{"49":{"position":[[1324,10],[2257,10]]},"50":{"position":[[1127,10],[1913,10]]},"52":{"position":[[1358,10]]},"54":{"position":[[1194,10],[1972,10]]}},"keywords":{}}],["0xffff",{"_index":1430,"title":{},"content":{"67":{"position":[[1037,6]]},"321":{"position":[[666,6]]}},"keywords":{}}],["0xffffffff",{"_index":828,"title":{},"content":{"36":{"position":[[9230,10],[9419,10]]},"202":{"position":[[9230,10],[9419,10]]}},"keywords":{}}],["1",{"_index":219,"title":{"460":{"position":[[0,2]]}},"content":{"6":{"position":[[508,1],[857,1]]},"7":{"position":[[266,2],[917,1],[1060,1]]},"36":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"40":{"position":[[823,1],[825,1],[856,1],[913,1],[1185,1],[1260,1],[1323,1]]},"43":{"position":[[1241,2]]},"49":{"position":[[954,1],[1830,1]]},"50":{"position":[[820,1],[1549,1]]},"52":{"position":[[606,2],[993,1],[1018,1],[1121,1],[1217,1],[1314,1],[1436,1],[1543,1],[1646,1]]},"54":{"position":[[1055,1],[1815,1]]},"61":{"position":[[1597,1],[3159,3]]},"63":{"position":[[1905,1]]},"75":{"position":[[748,2],[1112,2]]},"83":{"position":[[2501,1],[2635,1],[2745,1],[2833,1],[2943,1],[3053,1]]},"85":{"position":[[413,1],[873,1]]},"93":{"position":[[1859,2],[2143,2],[2396,2],[2680,2]]},"99":{"position":[[409,1],[535,1],[558,1],[596,1],[619,1],[661,1],[684,1],[728,1],[796,1],[835,1],[858,1],[937,1],[960,1],[1980,2],[2642,2],[5141,2]]},"134":{"position":[[940,1]]},"135":{"position":[[730,1]]},"192":{"position":[[89,2]]},"202":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"226":{"position":[[229,1],[236,1],[238,1],[240,1],[308,1],[884,1],[947,1],[1107,1],[1114,1],[1116,1],[1118,1],[1186,1],[1688,1],[1877,1],[1884,1],[1886,1],[1888,1],[1956,1]]},"232":{"position":[[1038,1],[1214,1]]},"233":{"position":[[1255,1],[1340,1],[1492,1]]},"240":{"position":[[812,1],[892,1],[999,1],[1096,1],[1170,1],[1241,1],[1322,1],[1447,1],[1647,1],[1740,1],[1820,1]]},"249":{"position":[[268,1],[304,2]]},"253":{"position":[[2885,1],[2887,1],[2889,1],[3059,1],[3659,2],[3681,2],[3707,2],[4284,2],[4869,1],[5008,1],[5323,1],[5505,2]]},"254":{"position":[[1483,1],[1485,1],[1487,1],[1659,1]]},"267":{"position":[[2059,1],[2132,1],[2653,1]]},"269":{"position":[[1183,1]]},"270":{"position":[[855,1]]},"285":{"position":[[216,1],[298,1],[316,1],[388,1],[550,1],[1122,1]]},"289":{"position":[[375,1]]},"299":{"position":[[45,1],[819,1]]},"300":{"position":[[42,1]]},"301":{"position":[[153,1]]},"302":{"position":[[219,1]]},"303":{"position":[[402,1]]},"304":{"position":[[1337,1]]},"305":{"position":[[187,1]]},"306":{"position":[[306,1]]},"307":{"position":[[138,1]]},"308":{"position":[[153,1]]},"309":{"position":[[232,1]]},"310":{"position":[[137,1]]},"311":{"position":[[144,1]]},"313":{"position":[[127,2]]},"321":{"position":[[2129,1],[2131,1],[2133,1]]},"324":{"position":[[3851,1]]},"329":{"position":[[994,1]]},"338":{"position":[[648,2],[675,1]]},"347":{"position":[[1815,1]]},"353":{"position":[[229,1]]},"357":{"position":[[211,1],[1169,1],[1253,1],[1326,1],[1400,1],[1492,1],[1565,1],[1646,1],[1717,1],[1788,1],[1864,1],[2173,1],[2660,1],[2742,1],[2817,1],[2891,1],[2982,1],[3055,1],[3136,1],[3208,1],[3279,1],[3355,1]]},"373":{"position":[[245,2],[441,1]]},"383":{"position":[[245,2],[441,1]]},"411":{"position":[[303,1],[803,1]]},"425":{"position":[[452,1],[598,1]]},"431":{"position":[[179,1]]},"434":{"position":[[348,1]]},"443":{"position":[[416,2]]},"444":{"position":[[906,1]]},"446":{"position":[[766,1]]},"483":{"position":[[680,2]]},"488":{"position":[[2361,1],[2519,1]]},"501":{"position":[[610,1],[666,2],[852,2],[872,1],[928,2],[1104,2]]},"586":{"position":[[600,1],[668,1],[893,1]]},"623":{"position":[[184,1]]},"636":{"position":[[109,2],[131,2],[285,2],[315,2],[474,2],[496,2],[651,2],[676,2]]},"637":{"position":[[286,2],[308,2],[477,2],[507,2],[681,2],[703,2],[873,2],[898,2]]},"638":{"position":[[295,2],[317,2],[490,2],[520,2],[698,2],[720,2],[894,2],[919,2]]},"639":{"position":[[355,2],[377,2],[541,2],[571,2],[740,2],[762,2],[927,2],[952,2]]},"640":{"position":[[141,2],[163,2],[325,2],[359,2],[530,2],[552,2],[715,2],[744,2]]},"641":{"position":[[313,2],[335,2],[512,2],[546,2],[732,2],[754,2],[932,2],[961,2]]},"642":{"position":[[322,2],[344,2],[525,2],[559,2],[749,2],[771,2],[953,2],[982,2]]},"643":{"position":[[382,2],[404,2],[576,2],[610,2],[791,2],[813,2],[986,2],[1015,2],[1821,2],[2014,3]]},"649":{"position":[[1521,2]]},"676":{"position":[[721,1],[780,2],[1219,1]]},"700":{"position":[[2069,2]]},"703":{"position":[[1358,3]]},"718":{"position":[[729,1],[880,2],[1000,2]]},"728":{"position":[[733,1],[881,2],[998,2]]}},"keywords":{}}],["1>"",{"_index":4743,"title":{},"content":{"627":{"position":[[276,12],[366,12],[448,12]]}},"keywords":{}}],["1"",{"_index":2683,"title":{},"content":{"269":{"position":[[1215,7]]},"270":{"position":[[887,7]]},"381":{"position":[[405,7]]},"382":{"position":[[177,7]]},"390":{"position":[[288,7]]},"393":{"position":[[174,7]]},"407":{"position":[[630,7]]},"424":{"position":[[471,7]]},"610":{"position":[[493,7],[735,8]]},"643":{"position":[[1701,8],[1903,8]]},"656":{"position":[[855,8],[913,8],[977,8],[1042,8],[1125,8],[1210,8],[1268,8],[1332,8],[1397,8],[1482,8]]},"703":{"position":[[888,8]]}},"keywords":{}}],["1)"",{"_index":2718,"title":{},"content":{"285":{"position":[[190,8]]},"667":{"position":[[678,9]]}},"keywords":{}}],["1,000,000",{"_index":4564,"title":{},"content":{"599":{"position":[[504,9]]}},"keywords":{}}],["1,3",{"_index":473,"title":{},"content":{"21":{"position":[[120,3]]}},"keywords":{}}],["1,4",{"_index":474,"title":{},"content":{"21":{"position":[[124,4]]}},"keywords":{}}],["1..5).each",{"_index":210,"title":{},"content":{"6":{"position":[[336,11]]}},"keywords":{}}],["1.0",{"_index":1741,"title":{},"content":{"93":{"position":[[1806,4],[2059,4],[2312,4],[2596,4]]},"350":{"position":[[1257,3]]},"369":{"position":[[502,3]]},"405":{"position":[[340,4]]},"422":{"position":[[348,4]]}},"keywords":{}}],["1.0.0",{"_index":2570,"title":{},"content":{"254":{"position":[[180,5],[2144,5]]}},"keywords":{}}],["1.0.0.gem",{"_index":2329,"title":{},"content":{"229":{"position":[[919,10]]},"254":{"position":[[210,9],[616,9]]},"322":{"position":[[253,9]]}},"keywords":{}}],["1.0.1",{"_index":2583,"title":{},"content":{"254":{"position":[[1994,5]]},"334":{"position":[[647,5]]}},"keywords":{}}],["1.0.1.gem",{"_index":2584,"title":{},"content":{"254":{"position":[[2024,9],[2455,10]]},"334":{"position":[[678,9]]}},"keywords":{}}],["1.0.51",{"_index":3589,"title":{},"content":{"357":{"position":[[4361,6]]}},"keywords":{}}],["1.017035",{"_index":4393,"title":{},"content":{"501":{"position":[[719,8],[997,8]]}},"keywords":{}}],["1.2.3770",{"_index":3591,"title":{},"content":{"357":{"position":[[4383,8]]}},"keywords":{}}],["1.2.5.0",{"_index":3585,"title":{},"content":{"357":{"position":[[4313,7]]}},"keywords":{}}],["1.207gib",{"_index":3508,"title":{},"content":{"357":{"position":[[1425,8]]}},"keywords":{}}],["1.214gib",{"_index":3507,"title":{},"content":{"357":{"position":[[1416,8]]}},"keywords":{}}],["1.32",{"_index":3495,"title":{},"content":{"357":{"position":[[1177,5]]}},"keywords":{}}],["1.49",{"_index":3564,"title":{},"content":{"357":{"position":[[3216,5]]}},"keywords":{}}],["1.5",{"_index":832,"title":{},"content":{"36":{"position":[[9482,4]]},"202":{"position":[[9482,4]]},"267":{"position":[[7743,4]]},"499":{"position":[[617,3]]}},"keywords":{}}],["1.5).to_i",{"_index":829,"title":{},"content":{"36":{"position":[[9290,9]]},"202":{"position":[[9290,9]]},"267":{"position":[[7573,9]]}},"keywords":{}}],["1.512gib",{"_index":3554,"title":{},"content":{"357":{"position":[[2915,8]]}},"keywords":{}}],["1.56",{"_index":3519,"title":{},"content":{"357":{"position":[[1719,5]]}},"keywords":{}}],["1.608.2",{"_index":3593,"title":{},"content":{"357":{"position":[[4410,7]]}},"keywords":{}}],["1.6gib",{"_index":3553,"title":{},"content":{"357":{"position":[[2908,6]]}},"keywords":{}}],["1.8.5",{"_index":3393,"title":{},"content":{"350":{"position":[[1466,5]]}},"keywords":{}}],["1.89",{"_index":3516,"title":{},"content":{"357":{"position":[[1654,5]]}},"keywords":{}}],["1.final",{"_index":2540,"title":{},"content":{"253":{"position":[[4354,9]]}},"keywords":{}}],["10",{"_index":795,"title":{"469":{"position":[[0,3]]}},"content":{"36":{"position":[[6680,2],[7482,2]]},"43":{"position":[[1266,2],[6558,2]]},"133":{"position":[[430,2]]},"202":{"position":[[6680,2],[7482,2]]},"206":{"position":[[1002,2]]},"207":{"position":[[789,2]]},"224":{"position":[[995,3],[1465,3]]},"253":{"position":[[7862,2]]},"267":{"position":[[5218,2],[6082,2],[10818,2],[10883,2]]},"271":{"position":[[990,2]]},"272":{"position":[[786,2]]},"299":{"position":[[1012,2]]},"301":{"position":[[1370,2]]},"303":{"position":[[1841,2]]},"304":{"position":[[2825,2]]},"307":{"position":[[1087,2]]},"343":{"position":[[513,2],[600,2]]},"355":{"position":[[721,2],[1100,2]]},"357":{"position":[[766,3],[770,3],[2114,2]]},"377":{"position":[[328,2]]},"378":{"position":[[331,2]]},"389":{"position":[[309,2]]},"390":{"position":[[269,2]]},"391":{"position":[[329,2]]},"414":{"position":[[348,3]]},"440":{"position":[[702,2]]},"441":{"position":[[400,2],[403,2]]},"442":{"position":[[1004,2],[1007,2],[1068,2],[1071,2],[1127,2],[1130,2]]},"445":{"position":[[244,2]]},"487":{"position":[[1194,3],[1666,3]]},"501":{"position":[[816,2]]},"613":{"position":[[228,3]]},"623":{"position":[[805,3],[1026,3]]},"636":{"position":[[1331,3],[1478,3],[1597,3],[1683,3],[1763,3],[1853,3]]},"640":{"position":[[1411,3],[1503,3],[1593,3],[1681,3]]},"644":{"position":[[464,3],[1023,3]]},"677":{"position":[[330,2]]},"678":{"position":[[412,3]]},"681":{"position":[[1589,3],[1654,3],[1799,3],[1864,3]]},"682":{"position":[[1341,3],[1422,3],[1548,3],[1629,3]]},"683":{"position":[[1065,3]]},"684":{"position":[[869,3],[918,3]]},"685":{"position":[[1099,3],[1172,3],[1276,3],[1349,3]]},"686":{"position":[[1164,3],[1251,3],[1369,3],[1456,3]]},"687":{"position":[[918,3]]},"688":{"position":[[847,3],[896,3]]}},"keywords":{}}],["10"",{"_index":4395,"title":{},"content":{"501":{"position":[[1094,9]]},"669":{"position":[[868,9],[933,9],[1154,9],[1219,9]]}},"keywords":{}}],["10.0",{"_index":1056,"title":{},"content":{"44":{"position":[[1139,5]]},"49":{"position":[[931,4],[1062,4],[1172,4],[1282,4],[1287,4],[1417,4],[1422,4],[1526,4],[1642,4],[1647,4],[1806,4],[1956,4],[2085,4],[2215,4],[2220,4],[2368,4],[2373,4],[2495,4],[2630,4],[2635,4]]},"50":{"position":[[797,4],[907,4],[996,4],[1085,4],[1090,4],[1199,4],[1204,4],[1287,4],[1382,4],[1387,4],[1525,4],[1654,4],[1762,4],[1871,4],[1876,4],[2003,4],[2008,4],[2109,4],[2223,4],[2228,4]]},"51":{"position":[[772,4],[977,4],[1121,4]]},"52":{"position":[[995,4],[1123,4],[1219,4],[1316,4],[1321,4],[1438,4],[1443,4],[1545,4],[1648,4],[1653,4]]},"54":{"position":[[812,4],[922,4],[1032,4],[1152,4],[1157,4],[1287,4],[1292,4],[1396,4],[1532,4],[1661,4],[1791,4],[1930,4],[1935,4],[2083,4],[2088,4],[2210,4],[2573,4],[2784,4]]},"125":{"position":[[213,4],[357,4]]},"126":{"position":[[254,4],[450,4]]},"127":{"position":[[257,4],[456,4]]},"134":{"position":[[792,4],[1079,4]]},"135":{"position":[[732,4],[844,4]]},"230":{"position":[[2704,4]]},"253":{"position":[[6887,4]]},"338":{"position":[[716,4],[1553,4]]},"495":{"position":[[614,4],[692,4],[911,4],[990,4]]},"502":{"position":[[598,4],[849,4]]},"657":{"position":[[810,5],[977,5]]},"682":{"position":[[1330,5],[1411,5],[1537,5],[1618,5]]},"686":{"position":[[1153,5],[1240,5],[1358,5],[1445,5]]},"700":{"position":[[2026,5]]},"720":{"position":[[482,5]]}},"keywords":{}}],["10.0"",{"_index":3940,"title":{},"content":{"431":{"position":[[470,12]]},"478":{"position":[[309,11],[557,11],[753,11]]}},"keywords":{}}],["10.0.22621.2134",{"_index":3602,"title":{},"content":{"357":{"position":[[4509,15]]}},"keywords":{}}],["10.0.25131.1002",{"_index":3596,"title":{},"content":{"357":{"position":[[4443,15]]}},"keywords":{}}],["10.16",{"_index":3498,"title":{},"content":{"357":{"position":[[1255,6]]}},"keywords":{}}],["10.5",{"_index":2132,"title":{},"content":{"201":{"position":[[2120,4]]},"203":{"position":[[1854,4]]},"253":{"position":[[2948,4],[3889,5]]},"254":{"position":[[1546,4]]}},"keywords":{}}],["10.time",{"_index":4258,"title":{},"content":{"483":{"position":[[608,8]]}},"keywords":{}}],["100",{"_index":808,"title":{},"content":{"36":{"position":[[7636,3],[7666,3],[7724,3]]},"167":{"position":[[109,3]]},"202":{"position":[[7636,3],[7666,3],[7724,3]]},"226":{"position":[[416,3]]},"227":{"position":[[5080,3],[5127,3],[5141,3]]},"267":{"position":[[6235,3],[6264,3],[6322,3]]},"355":{"position":[[234,3]]},"356":{"position":[[813,6]]},"388":{"position":[[216,3]]},"391":{"position":[[325,3]]},"399":{"position":[[230,3]]},"401":{"position":[[274,4],[667,3]]},"402":{"position":[[274,4]]},"405":{"position":[[324,4]]},"422":{"position":[[332,4],[402,3]]},"423":{"position":[[624,4],[793,3],[797,3]]},"425":{"position":[[516,3]]},"439":{"position":[[361,3],[365,3]]},"440":{"position":[[597,3]]},"442":{"position":[[229,4],[814,5],[871,5]]},"443":{"position":[[449,3]]},"480":{"position":[[679,3],[760,3]]},"599":{"position":[[1329,3]]},"666":{"position":[[815,4]]},"678":{"position":[[406,5]]},"703":{"position":[[364,3]]},"739":{"position":[[550,4]]},"760":{"position":[[165,4]]}},"keywords":{}}],["100,000",{"_index":4224,"title":{},"content":{"480":{"position":[[168,8]]}},"keywords":{}}],["100.0",{"_index":2308,"title":{},"content":{"227":{"position":[[5757,5]]},"663":{"position":[[608,6]]}},"keywords":{}}],["1000",{"_index":765,"title":{},"content":{"36":{"position":[[5457,4],[5792,4]]},"202":{"position":[[5457,4],[5792,4]]},"267":{"position":[[3937,4],[4272,4]]},"355":{"position":[[1116,4]]},"357":{"position":[[2130,4]]},"534":{"position":[[349,6]]},"676":{"position":[[101,5],[767,5]]},"752":{"position":[[600,4],[740,4]]}},"keywords":{}}],["1000.0",{"_index":2740,"title":{},"content":{"285":{"position":[[1314,7]]}},"keywords":{}}],["1000.time",{"_index":5472,"title":{},"content":{"752":{"position":[[547,10]]}},"keywords":{}}],["100000",{"_index":3848,"title":{},"content":{"410":{"position":[[865,6]]},"417":{"position":[[829,6]]},"423":{"position":[[740,6]]}},"keywords":{}}],["1000000.0",{"_index":2742,"title":{},"content":{"285":{"position":[[1353,10]]}},"keywords":{}}],["100gb",{"_index":2763,"title":{},"content":{"289":{"position":[[454,5]]}},"keywords":{}}],["101",{"_index":2240,"title":{},"content":{"226":{"position":[[1294,3]]}},"keywords":{}}],["102",{"_index":2245,"title":{},"content":{"226":{"position":[[2064,3]]},"285":{"position":[[418,3]]}},"keywords":{}}],["1023",{"_index":3200,"title":{},"content":{"324":{"position":[[3853,6]]}},"keywords":{}}],["1024",{"_index":727,"title":{},"content":{"36":{"position":[[3619,4]]},"202":{"position":[[3619,4]]},"267":{"position":[[2724,4]]}},"keywords":{}}],["104mb",{"_index":1598,"title":{},"content":{"83":{"position":[[1417,5]]}},"keywords":{}}],["105.2mib",{"_index":3513,"title":{},"content":{"357":{"position":[[1579,8]]}},"keywords":{}}],["106.3mib",{"_index":3557,"title":{},"content":{"357":{"position":[[3069,8]]}},"keywords":{}}],["10hz",{"_index":3451,"title":{},"content":{"355":{"position":[[968,4],[1135,4]]},"357":{"position":[[2149,4]]}},"keywords":{}}],["10m",{"_index":5115,"title":{},"content":{"681":{"position":[[62,5]]}},"keywords":{}}],["11",{"_index":268,"title":{"470":{"position":[[0,3]]}},"content":{"7":{"position":[[704,2],[909,2]]},"36":{"position":[[7568,2]]},"61":{"position":[[3420,2],[3428,2]]},"202":{"position":[[7568,2]]},"226":{"position":[[401,2],[1279,2],[2049,2]]},"267":{"position":[[6167,2]]},"285":{"position":[[410,2]]},"299":{"position":[[1130,2]]},"301":{"position":[[1512,2]]},"303":{"position":[[2076,2]]},"304":{"position":[[2996,2]]},"357":{"position":[[204,2],[751,2],[2236,2],[4271,2]]},"483":{"position":[[733,4]]},"637":{"position":[[1568,3],[1676,3],[1794,3],[1898,3]]},"639":{"position":[[1617,3],[1721,3],[1835,3],[1935,3]]},"641":{"position":[[1643,3],[1750,3],[1855,3],[1958,3]]},"643":{"position":[[1692,3],[1794,3],[1894,3],[1992,3]]}},"keywords":{}}],["11.5",{"_index":4565,"title":{},"content":{"599":{"position":[[536,4]]}},"keywords":{}}],["11.81mib",{"_index":3566,"title":{},"content":{"357":{"position":[[3231,8]]}},"keywords":{}}],["110.0",{"_index":2311,"title":{},"content":{"227":{"position":[[5883,5]]}},"keywords":{}}],["110kb/",{"_index":3529,"title":{},"content":{"357":{"position":[[2154,10]]}},"keywords":{}}],["111mb",{"_index":1596,"title":{},"content":{"83":{"position":[[1355,5]]}},"keywords":{}}],["112",{"_index":2648,"title":{},"content":{"266":{"position":[[1074,3]]},"269":{"position":[[1171,3]]},"285":{"position":[[960,3]]}},"keywords":{}}],["115",{"_index":3987,"title":{},"content":{"444":{"position":[[876,3],[991,3]]}},"keywords":{}}],["115200",{"_index":1261,"title":{},"content":{"52":{"position":[[1302,6],[1424,6],[1634,6]]},"135":{"position":[[718,6]]},"338":{"position":[[573,6]]}},"keywords":{}}],["117.1mib",{"_index":3511,"title":{},"content":{"357":{"position":[[1515,8]]}},"keywords":{}}],["11th",{"_index":4159,"title":{},"content":{"472":{"position":[[206,5]]}},"keywords":{}}],["12",{"_index":809,"title":{"471":{"position":[[0,3]]}},"content":{"36":{"position":[[7670,2]]},"202":{"position":[[7670,2]]},"267":{"position":[[6268,2]]},"301":{"position":[[1685,2]]},"303":{"position":[[2220,2]]},"304":{"position":[[3115,2]]},"329":{"position":[[1217,2]]},"357":{"position":[[758,3],[762,3]]},"403":{"position":[[807,3]]},"406":{"position":[[392,3]]},"407":{"position":[[538,3]]},"408":{"position":[[412,3]]},"409":{"position":[[415,3]]},"410":{"position":[[689,3]]},"415":{"position":[[381,3]]},"417":{"position":[[658,3]]},"427":{"position":[[620,3]]},"435":{"position":[[149,3],[276,2]]},"439":{"position":[[297,3]]},"440":{"position":[[404,3],[648,2]]},"444":{"position":[[810,2],[813,2]]},"446":{"position":[[459,2]]}},"keywords":{}}],["12.82mib",{"_index":3521,"title":{},"content":{"357":{"position":[[1731,8]]}},"keywords":{}}],["120",{"_index":3849,"title":{},"content":{"410":{"position":[[931,3],[935,3]]},"417":{"position":[[890,3],[894,3]]},"444":{"position":[[751,3]]}},"keywords":{}}],["1234",{"_index":3043,"title":{},"content":{"320":{"position":[[829,4]]}},"keywords":{}}],["1234657585858",{"_index":2304,"title":{},"content":{"227":{"position":[[5660,14],[6233,14]]}},"keywords":{}}],["1234657585859",{"_index":2309,"title":{},"content":{"227":{"position":[[5786,14],[6388,14]]}},"keywords":{}}],["1235",{"_index":3042,"title":{},"content":{"320":{"position":[[807,4]]},"322":{"position":[[1540,5]]}},"keywords":{}}],["127.0.0.1",{"_index":1988,"title":{},"content":{"135":{"position":[[898,9]]},"320":{"position":[[780,9]]},"324":{"position":[[3632,9]]},"338":{"position":[[1143,9],[1989,9]]},"347":{"position":[[2487,10]]}},"keywords":{}}],["127.0.0.1:2901",{"_index":1630,"title":{},"content":{"83":{"position":[[2447,14]]}},"keywords":{}}],["127.0.0.1:2902",{"_index":1632,"title":{},"content":{"83":{"position":[[2575,14]]}},"keywords":{}}],["127.0.0.1:6379",{"_index":1648,"title":{},"content":{"83":{"position":[[3005,14]]}},"keywords":{}}],["127.0.0.1:9000",{"_index":1643,"title":{},"content":{"83":{"position":[[2895,14]]}},"keywords":{}}],["127.4mib",{"_index":3510,"title":{},"content":{"357":{"position":[[1506,8]]}},"keywords":{}}],["127.5mib",{"_index":3556,"title":{},"content":{"357":{"position":[[3005,8]]}},"keywords":{}}],["128",{"_index":1238,"title":{},"content":{"51":{"position":[[689,3],[973,3],[1117,3]]},"285":{"position":[[1051,3]]},"320":{"position":[[1143,3]]}},"keywords":{}}],["128722m",{"_index":1657,"title":{},"content":{"84":{"position":[[348,8]]}},"keywords":{}}],["13",{"_index":2907,"title":{"472":{"position":[[0,3]]}},"content":{"304":{"position":[[3285,2]]}},"keywords":{}}],["13.91",{"_index":3506,"title":{},"content":{"357":{"position":[[1409,6]]}},"keywords":{}}],["133.0",{"_index":2716,"title":{},"content":{"285":{"position":[[182,5]]},"667":{"position":[[670,5]]}},"keywords":{}}],["1348",{"_index":1015,"title":{},"content":{"43":{"position":[[6499,4]]}},"keywords":{}}],["136.6mib",{"_index":3555,"title":{},"content":{"357":{"position":[[2996,8]]}},"keywords":{}}],["14",{"_index":1376,"title":{},"content":{"61":{"position":[[3019,2],[3045,3],[3307,2],[3433,4]]},"226":{"position":[[581,2],[1459,2],[2229,2]]},"285":{"position":[[601,2]]},"304":{"position":[[3505,2]]}},"keywords":{}}],["144",{"_index":3082,"title":{},"content":{"321":{"position":[[891,3]]}},"keywords":{}}],["15",{"_index":1113,"title":{},"content":{"44":{"position":[[3116,2]]},"130":{"position":[[305,2]]},"165":{"position":[[152,2]]},"304":{"position":[[3645,2]]},"315":{"position":[[378,4]]},"352":{"position":[[407,3],[432,3]]},"355":{"position":[[950,3]]},"404":{"position":[[328,3],[381,3]]},"411":{"position":[[636,3],[689,3]]},"418":{"position":[[1564,3]]},"419":{"position":[[1617,3]]},"420":{"position":[[1589,3]]},"445":{"position":[[247,2]]},"528":{"position":[[1093,2]]}},"keywords":{}}],["15.6g",{"_index":3487,"title":{},"content":{"357":{"position":[[824,5],[2315,5]]}},"keywords":{}}],["15.87mib",{"_index":3565,"title":{},"content":{"357":{"position":[[3222,8]]}},"keywords":{}}],["150",{"_index":3894,"title":{},"content":{"426":{"position":[[344,3]]},"441":{"position":[[596,3]]},"480":{"position":[[1052,3]]}},"keywords":{}}],["152.9mib",{"_index":3523,"title":{},"content":{"357":{"position":[[1802,8]]}},"keywords":{}}],["155",{"_index":3754,"title":{},"content":{"379":{"position":[[477,3],[484,3]]},"380":{"position":[[471,3],[478,3]]},"381":{"position":[[500,3],[507,3]]}},"keywords":{}}],["15min",{"_index":3446,"title":{},"content":{"355":{"position":[[799,6]]}},"keywords":{}}],["16",{"_index":213,"title":{},"content":{"6":{"position":[[393,2],[837,2],[892,2],[947,2],[1002,2],[1057,2]]},"7":{"position":[[296,2],[981,2]]},"40":{"position":[[1109,2],[1244,2],[1452,2]]},"49":{"position":[[949,2],[1825,2]]},"50":{"position":[[815,2],[1544,2]]},"52":{"position":[[1013,2]]},"54":{"position":[[1050,2],[1810,2]]},"60":{"position":[[498,2]]},"61":{"position":[[960,2]]},"67":{"position":[[597,3],[808,2],[937,2],[1072,2],[1216,2]]},"99":{"position":[[1753,2],[2386,2],[4914,2]]},"134":{"position":[[935,2]]},"226":{"position":[[492,2],[672,2],[1370,2],[1550,2],[2140,2],[2320,2],[2447,2]]},"232":{"position":[[1031,2]]},"233":{"position":[[1248,2]]},"253":{"position":[[2878,2],[3607,2],[4862,2],[5275,2],[5576,2]]},"254":{"position":[[1476,2]]},"266":{"position":[[1078,2]]},"268":{"position":[[873,2]]},"269":{"position":[[1175,2]]},"270":{"position":[[847,2]]},"285":{"position":[[482,2],[669,2],[731,2],[890,2],[964,2]]},"304":{"position":[[3792,2]]},"321":{"position":[[437,2],[547,2],[651,2],[1281,2],[1403,2],[1511,2],[1813,2],[1935,2],[2043,2],[2313,2],[2435,2],[2543,2],[2860,2],[2951,2],[3040,2],[3189,2],[3480,2]]},"329":{"position":[[398,3],[803,3]]},"357":{"position":[[84,2],[2299,3]]},"649":{"position":[[1259,3]]}},"keywords":{}}],["160",{"_index":3580,"title":{},"content":{"357":{"position":[[4157,3]]},"410":{"position":[[739,4]]},"412":{"position":[[364,4]]},"413":{"position":[[362,4]]},"417":{"position":[[708,4]]}},"keywords":{}}],["163",{"_index":3998,"title":{},"content":{"446":{"position":[[675,3],[683,3],[1179,3],[1187,3]]}},"keywords":{}}],["16383",{"_index":2225,"title":{},"content":{"226":{"position":[[591,5],[1469,5],[2239,5]]}},"keywords":{}}],["167.8mib",{"_index":3568,"title":{},"content":{"357":{"position":[[3293,8]]}},"keywords":{}}],["169.8mib",{"_index":3524,"title":{},"content":{"357":{"position":[[1811,8]]}},"keywords":{}}],["1697298167748",{"_index":4874,"title":{},"content":{"644":{"position":[[1069,14]]}},"keywords":{}}],["1697298167749155717",{"_index":4875,"title":{},"content":{"644":{"position":[[1117,22],[1157,22]]}},"keywords":{}}],["1697298923745982470",{"_index":4945,"title":{},"content":{"650":{"position":[[995,22],[1035,22]]}},"keywords":{}}],["1698026776573904132",{"_index":5549,"title":{},"content":{"767":{"position":[[1311,20]]}},"keywords":{}}],["1698026776574105465",{"_index":5548,"title":{},"content":{"767":{"position":[[1192,21]]}},"keywords":{}}],["1698026776574347007",{"_index":5546,"title":{},"content":{"767":{"position":[[1081,21]]}},"keywords":{}}],["1698074299509456507",{"_index":5544,"title":{},"content":{"767":{"position":[[975,21]]}},"keywords":{}}],["16gb",{"_index":2762,"title":{},"content":{"289":{"position":[[435,4]]}},"keywords":{}}],["17",{"_index":2912,"title":{},"content":{"304":{"position":[[3956,2]]},"357":{"position":[[2291,3]]}},"keywords":{}}],["17.78",{"_index":3543,"title":{},"content":{"357":{"position":[[2744,6]]}},"keywords":{}}],["1700.r",{"_index":3598,"title":{},"content":{"357":{"position":[[4466,7]]}},"keywords":{}}],["172.16.9.112",{"_index":3085,"title":{},"content":{"321":{"position":[[951,13]]}},"keywords":{}}],["172.20.0.8",{"_index":3132,"title":{},"content":{"322":{"position":[[1823,11],[2004,12]]}},"keywords":{}}],["172.20.0.9.port_tm",{"_index":3126,"title":{},"content":{"322":{"position":[[1153,18]]}},"keywords":{}}],["179.2mib",{"_index":3569,"title":{},"content":{"357":{"position":[[3302,8]]}},"keywords":{}}],["18",{"_index":2224,"title":{},"content":{"226":{"position":[[578,2],[1456,2],[2226,2]]},"285":{"position":[[598,2]]},"304":{"position":[[4054,2]]},"357":{"position":[[2303,3]]},"406":{"position":[[460,2]]},"407":{"position":[[642,2]]},"409":{"position":[[500,2]]},"410":{"position":[[876,2]]},"415":{"position":[[458,2]]},"416":{"position":[[463,2]]},"417":{"position":[[840,2]]},"427":{"position":[[688,2]]},"439":{"position":[[448,2]]}},"keywords":{}}],["180",{"_index":3980,"title":{},"content":{"442":{"position":[[1010,3],[1014,3]]},"481":{"position":[[518,3]]}},"keywords":{}}],["180.0",{"_index":2231,"title":{},"content":{"226":{"position":[[762,5],[768,5]]}},"keywords":{}}],["180.0"",{"_index":4249,"title":{},"content":{"481":{"position":[[496,12]]}},"keywords":{}}],["185",{"_index":3999,"title":{},"content":{"446":{"position":[[679,3],[1183,3]]}},"keywords":{}}],["19",{"_index":2915,"title":{},"content":{"304":{"position":[[4153,2]]}},"keywords":{}}],["19.63",{"_index":3559,"title":{},"content":{"357":{"position":[[3138,6]]}},"keywords":{}}],["192",{"_index":2137,"title":{},"content":{"201":{"position":[[2224,3]]}},"keywords":{}}],["19200",{"_index":1259,"title":{},"content":{"52":{"position":[[1206,5]]}},"keywords":{}}],["1958",{"_index":2724,"title":{},"content":{"285":{"position":[[776,5]]}},"keywords":{}}],["1970",{"_index":970,"title":{},"content":{"43":{"position":[[912,4],[1034,4]]},"99":{"position":[[2830,5],[3264,5]]},"227":{"position":[[4370,6]]}},"keywords":{}}],["1][0",{"_index":5224,"title":{},"content":{"703":{"position":[[1396,6]]}},"keywords":{}}],["1d",{"_index":3863,"title":{},"content":{"418":{"position":[[1551,3]]},"419":{"position":[[1604,3]]},"420":{"position":[[1576,3]]}},"keywords":{}}],["1hr",{"_index":3481,"title":{},"content":{"357":{"position":[[676,3]]}},"keywords":{}}],["1hz",{"_index":3450,"title":{},"content":{"355":{"position":[[936,3]]},"599":{"position":[[549,3]]}},"keywords":{}}],["1ivz2l0b",{"_index":989,"title":{},"content":{"43":{"position":[[2365,8],[5830,8]]}},"keywords":{}}],["1s",{"_index":3384,"title":{},"content":{"350":{"position":[[488,2],[818,2],[1140,2]]},"676":{"position":[[703,2],[1201,2]]}},"keywords":{}}],["1st",{"_index":1815,"title":{},"content":{"99":{"position":[[2825,4],[3259,4]]},"227":{"position":[[4365,4]]},"285":{"position":[[771,4]]}},"keywords":{}}],["1}"",{"_index":4198,"title":{},"content":{"476":{"position":[[2606,9],[3515,9]]},"478":{"position":[[630,9],[826,9]]}},"keywords":{}}],["2",{"_index":230,"title":{"461":{"position":[[0,2]]}},"content":{"6":{"position":[[912,1]]},"20":{"position":[[466,2]]},"40":{"position":[[698,1]]},"44":{"position":[[3522,1]]},"61":{"position":[[2907,2],[3037,1]]},"64":{"position":[[741,2]]},"94":{"position":[[1280,2],[1442,2],[1630,2],[1792,2]]},"95":{"position":[[820,2]]},"99":{"position":[[432,1]]},"192":{"position":[[87,1]]},"204":{"position":[[2124,1],[2126,1],[2128,1]]},"205":{"position":[[1964,1],[1966,1],[1968,1]]},"226":{"position":[[495,1],[1373,1],[2143,1]]},"285":{"position":[[485,1],[563,1]]},"289":{"position":[[445,2]]},"299":{"position":[[143,1]]},"300":{"position":[[179,1]]},"301":{"position":[[257,1]]},"302":{"position":[[332,1]]},"303":{"position":[[571,1]]},"304":{"position":[[1676,1]]},"305":{"position":[[372,1]]},"306":{"position":[[391,1]]},"307":{"position":[[257,1]]},"308":{"position":[[258,1]]},"309":{"position":[[347,1]]},"310":{"position":[[229,1]]},"311":{"position":[[223,1]]},"321":{"position":[[2629,1],[2631,1],[2633,1]]},"338":{"position":[[654,1]]},"347":{"position":[[2581,1]]},"356":{"position":[[104,1]]},"373":{"position":[[469,1]]},"383":{"position":[[469,1]]},"405":{"position":[[591,1]]},"425":{"position":[[459,1],[641,1]]},"443":{"position":[[502,1]]},"476":{"position":[[424,1]]},"501":{"position":[[618,1],[880,1]]},"636":{"position":[[155,2],[177,2],[341,2],[371,2],[520,2],[542,2],[702,2],[727,2]]},"637":{"position":[[332,2],[354,2],[533,2],[563,2],[727,2],[749,2],[924,2],[949,2]]},"638":{"position":[[341,2],[363,2],[546,2],[576,2],[744,2],[766,2],[945,2],[970,2]]},"639":{"position":[[401,2],[423,2],[597,2],[627,2],[786,2],[808,2],[978,2],[1003,2]]},"640":{"position":[[187,2],[209,2],[389,2],[423,2],[576,2],[598,2],[774,2],[803,2]]},"641":{"position":[[359,2],[381,2],[576,2],[610,2],[778,2],[800,2],[991,2],[1020,2]]},"642":{"position":[[368,2],[390,2],[589,2],[623,2],[795,2],[817,2],[1012,2],[1041,2]]},"643":{"position":[[428,2],[450,2],[640,2],[674,2],[837,2],[859,2],[1045,2],[1074,2]]},"644":{"position":[[1247,4]]}},"keywords":{}}],["2"",{"_index":3759,"title":{},"content":{"381":{"position":[[468,7]]},"390":{"position":[[312,7]]},"393":{"position":[[248,7]]},"424":{"position":[[682,7]]}},"keywords":{}}],["2.0",{"_index":1701,"title":{"88":{"position":[[9,4]]}},"content":{"88":{"position":[[61,3]]}},"keywords":{}}],["2.5",{"_index":2133,"title":{},"content":{"201":{"position":[[2125,3]]},"203":{"position":[[1859,3]]},"253":{"position":[[2953,3]]},"254":{"position":[[1185,4]]}},"keywords":{}}],["2.5.then",{"_index":2537,"title":{},"content":{"253":{"position":[[3918,8]]}},"keywords":{}}],["2.x",{"_index":2471,"title":{},"content":{"245":{"position":[[538,3],[554,3]]},"324":{"position":[[1467,3]]}},"keywords":{}}],["20",{"_index":2917,"title":{},"content":{"304":{"position":[[4267,2]]},"355":{"position":[[985,2]]},"357":{"position":[[2295,3]]},"403":{"position":[[882,2],[930,2]]},"411":{"position":[[746,2]]}},"keywords":{}}],["20.0",{"_index":2390,"title":{},"content":{"233":{"position":[[1373,4],[1378,4]]},"267":{"position":[[10303,4],[10308,4]]},"273":{"position":[[551,4],[556,4]]},"282":{"position":[[625,4],[630,4]]},"496":{"position":[[672,4],[870,4]]},"699":{"position":[[485,5],[491,6],[649,5],[655,5],[798,5],[804,6],[969,5],[975,5]]}},"keywords":{}}],["200",{"_index":920,"title":{},"content":{"42":{"position":[[557,3]]},"43":{"position":[[697,3],[6317,3]]},"391":{"position":[[232,4]]},"401":{"position":[[224,4],[663,3]]},"402":{"position":[[224,4],[782,3]]},"405":{"position":[[593,3]]},"410":{"position":[[879,3]]},"412":{"position":[[489,3]]},"413":{"position":[[493,3]]},"417":{"position":[[843,3]]},"422":{"position":[[600,3]]},"423":{"position":[[751,3]]},"426":{"position":[[211,4],[268,4]]},"440":{"position":[[593,3]]},"441":{"position":[[406,3],[410,3]]},"739":{"position":[[555,4]]}},"keywords":{}}],["20000",{"_index":4985,"title":{},"content":{"657":{"position":[[882,6],[1049,6]]}},"keywords":{}}],["20175",{"_index":2767,"title":{},"content":{"289":{"position":[[600,5],[745,5]]}},"keywords":{}}],["2021",{"_index":2785,"title":{},"content":{"289":{"position":[[1566,4]]}},"keywords":{}}],["2022",{"_index":4160,"title":{},"content":{"472":{"position":[[212,4]]}},"keywords":{}}],["2022)docker",{"_index":2990,"title":{},"content":{"313":{"position":[[130,11]]}},"keywords":{}}],["2023",{"_index":942,"title":{},"content":{"42":{"position":[[824,4]]},"43":{"position":[[1273,4],[6565,4]]},"360":{"position":[[283,4]]}},"keywords":{}}],["2024",{"_index":1870,"title":{"108":{"position":[[24,6]]}},"content":{},"keywords":{}}],["2047",{"_index":2220,"title":{},"content":{"226":{"position":[[411,4],[1289,4],[2059,4]]}},"keywords":{}}],["2048",{"_index":448,"title":{},"content":{"20":{"position":[[954,4]]}},"keywords":{}}],["20em",{"_index":3746,"title":{},"content":{"375":{"position":[[298,4]]}},"keywords":{}}],["21",{"_index":2919,"title":{},"content":{"304":{"position":[[4539,2]]},"650":{"position":[[1127,5]]}},"keywords":{}}],["21.27",{"_index":3505,"title":{},"content":{"357":{"position":[[1402,6]]}},"keywords":{}}],["216",{"_index":2744,"title":{},"content":{"285":{"position":[[1521,3]]}},"keywords":{}}],["21:34:47",{"_index":943,"title":{},"content":{"42":{"position":[[829,8]]}},"keywords":{}}],["22",{"_index":2921,"title":{},"content":{"304":{"position":[[4651,2]]},"357":{"position":[[224,3],[802,2],[2288,2]]}},"keywords":{}}],["220531",{"_index":3597,"title":{},"content":{"357":{"position":[[4459,6]]}},"keywords":{}}],["221.15",{"_index":3551,"title":{},"content":{"357":{"position":[[2893,7]]}},"keywords":{}}],["223e98129fe9",{"_index":1592,"title":{},"content":{"83":{"position":[[1212,12]]}},"keywords":{}}],["23",{"_index":2923,"title":{},"content":{"304":{"position":[[4813,2]]}},"keywords":{}}],["23.4",{"_index":5401,"title":{},"content":{"730":{"position":[[266,5]]},"732":{"position":[[143,5],[225,5]]}},"keywords":{}}],["230",{"_index":3977,"title":{},"content":{"442":{"position":[[907,3],[911,3]]}},"keywords":{}}],["238mb",{"_index":1600,"title":{},"content":{"83":{"position":[[1477,5]]}},"keywords":{}}],["24",{"_index":3966,"title":{},"content":{"439":{"position":[[405,2]]}},"keywords":{}}],["24224",{"_index":3367,"title":{},"content":{"350":{"position":[[203,5]]}},"keywords":{}}],["25",{"_index":2925,"title":{},"content":{"304":{"position":[[4960,2]]},"410":{"position":[[792,3]]},"411":{"position":[[743,2]]},"412":{"position":[[417,3]]},"413":{"position":[[415,3]]},"417":{"position":[[761,3]]},"423":{"position":[[677,3]]},"444":{"position":[[873,2],[880,2]]}},"keywords":{}}],["25.0"",{"_index":4994,"title":{},"content":{"658":{"position":[[1169,11]]},"683":{"position":[[1053,11]]},"687":{"position":[[906,11]]}},"keywords":{}}],["250",{"_index":3817,"title":{},"content":{"401":{"position":[[597,3]]},"441":{"position":[[354,3],[588,3],[592,3]]}},"keywords":{}}],["255",{"_index":837,"title":{},"content":{"36":{"position":[[9804,3],[10204,3]]},"202":{"position":[[9804,3],[10204,3]]},"253":{"position":[[4159,5]]}},"keywords":{}}],["256",{"_index":1800,"title":{},"content":{"99":{"position":[[1272,3],[1284,3]]}},"keywords":{}}],["256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426"",{"_index":3975,"title":{},"content":{"441":{"position":[[508,77]]}},"keywords":{}}],["26",{"_index":2926,"title":{},"content":{"304":{"position":[[5073,2]]}},"keywords":{}}],["265",{"_index":452,"title":{},"content":{"20":{"position":[[1012,3]]}},"keywords":{}}],["27",{"_index":2927,"title":{},"content":{"304":{"position":[[5186,2]]}},"keywords":{}}],["28",{"_index":2928,"title":{},"content":{"304":{"position":[[5297,2]]}},"keywords":{}}],["29",{"_index":1581,"title":{},"content":{"83":{"position":[[1006,2],[1087,2]]},"304":{"position":[[5463,2]]}},"keywords":{}}],["2900",{"_index":1711,"title":{},"content":{"89":{"position":[[178,4]]}},"keywords":{}}],["2900:2900",{"_index":1682,"title":{},"content":{"85":{"position":[[576,9]]}},"keywords":{}}],["2950",{"_index":1987,"title":{},"content":{"135":{"position":[[834,4],[839,4]]},"338":{"position":[[964,4],[2188,5]]}},"keywords":{}}],["299792458",{"_index":4174,"title":{},"content":{"476":{"position":[[1364,9]]}},"keywords":{}}],["2a46",{"_index":1005,"title":{},"content":{"43":{"position":[[4563,4]]}},"keywords":{}}],["2em",{"_index":3750,"title":{},"content":{"376":{"position":[[350,3]]}},"keywords":{}}],["2f",{"_index":3829,"title":{},"content":{"403":{"position":[[915,4]]}},"keywords":{}}],["2h",{"_index":3864,"title":{},"content":{"418":{"position":[[1555,3]]},"419":{"position":[[1608,3]]},"420":{"position":[[1580,3]]}},"keywords":{}}],["2s",{"_index":3732,"title":{},"content":{"371":{"position":[[287,2]]}},"keywords":{}}],["3",{"_index":232,"title":{"462":{"position":[[0,2]]}},"content":{"6":{"position":[[967,1]]},"40":{"position":[[915,1],[917,1]]},"61":{"position":[[3091,1],[3337,1],[3423,2]]},"83":{"position":[[1162,1],[1225,1],[1284,1]]},"99":{"position":[[456,1]]},"108":{"position":[[40,1],[52,1]]},"226":{"position":[[146,1],[227,1],[502,1],[504,1],[506,1],[1024,1],[1105,1],[1380,1],[1382,1],[1384,1],[1794,1],[1875,1],[2150,1],[2152,1],[2154,1]]},"267":{"position":[[10270,1],[10325,1]]},"273":{"position":[[518,1]]},"282":{"position":[[592,1]]},"285":{"position":[[130,1],[214,1],[579,1]]},"299":{"position":[[258,1]]},"300":{"position":[[309,1]]},"301":{"position":[[418,1]]},"302":{"position":[[428,1]]},"303":{"position":[[689,1]]},"304":{"position":[[1855,1]]},"305":{"position":[[530,1]]},"306":{"position":[[487,1]]},"307":{"position":[[366,1]]},"308":{"position":[[347,1]]},"309":{"position":[[449,1]]},"310":{"position":[[325,1]]},"311":{"position":[[303,1]]},"390":{"position":[[267,1]]},"399":{"position":[[188,1]]},"425":{"position":[[469,1]]},"443":{"position":[[531,1]]},"444":{"position":[[594,2]]},"483":{"position":[[835,2]]},"533":{"position":[[818,2]]},"646":{"position":[[1029,2]]},"648":{"position":[[1071,2]]}},"keywords":{}}],["3"",{"_index":3784,"title":{},"content":{"390":{"position":[[336,7]]},"681":{"position":[[1580,8],[1645,8],[1790,8],[1855,8]]}},"keywords":{}}],["3)instal",{"_index":3260,"title":{},"content":{"337":{"position":[[41,9]]}},"keywords":{}}],["3,17",{"_index":487,"title":{},"content":{"22":{"position":[[151,5]]}},"keywords":{}}],["3,6",{"_index":486,"title":{},"content":{"22":{"position":[[147,3]]}},"keywords":{}}],["3.2g",{"_index":3486,"title":{},"content":{"357":{"position":[[817,4]]}},"keywords":{}}],["3.74g",{"_index":3536,"title":{},"content":{"357":{"position":[[2307,5]]}},"keywords":{}}],["3.91",{"_index":3560,"title":{},"content":{"357":{"position":[[3145,5]]}},"keywords":{}}],["3.9g",{"_index":3483,"title":{},"content":{"357":{"position":[[774,4]]}},"keywords":{}}],["3.x",{"_index":2472,"title":{},"content":{"245":{"position":[[589,3],[605,4]]}},"keywords":{}}],["30",{"_index":2045,"title":{},"content":{"167":{"position":[[132,3]]},"304":{"position":[[5629,2]]},"371":{"position":[[259,4]]},"414":{"position":[[486,2]]},"419":{"position":[[650,3],[660,2]]},"425":{"position":[[494,3]]}},"keywords":{}}],["30.0",{"_index":2678,"title":{},"content":{"267":{"position":[[10342,4],[10347,4]]},"699":{"position":[[528,5],[534,5],[831,5],[837,5]]},"700":{"position":[[2049,5]]}},"keywords":{}}],["300",{"_index":3443,"title":{},"content":{"355":{"position":[[379,3],[668,3]]}},"keywords":{}}],["304",{"_index":4282,"title":{},"content":{"486":{"position":[[377,4],[488,4],[612,4],[724,4]]},"497":{"position":[[455,4],[753,4]]}},"keywords":{}}],["306",{"_index":4283,"title":{},"content":{"486":{"position":[[382,4],[493,4],[617,4],[729,4]]},"497":{"position":[[460,4],[758,4]]}},"keywords":{}}],["30m",{"_index":3865,"title":{},"content":{"418":{"position":[[1559,4]]},"419":{"position":[[1612,4]]},"420":{"position":[[1584,4]]}},"keywords":{}}],["30px",{"_index":3761,"title":{},"content":{"382":{"position":[[207,4]]}},"keywords":{}}],["31",{"_index":2930,"title":{},"content":{"304":{"position":[[5768,2]]}},"keywords":{}}],["310"",{"_index":4284,"title":{},"content":{"486":{"position":[[391,9],[502,9],[626,10],[738,10]]},"497":{"position":[[465,9],[763,10]]}},"keywords":{}}],["32",{"_index":725,"title":{},"content":{"36":{"position":[[3527,2],[9220,2],[9409,2]]},"40":{"position":[[224,2],[332,2],[451,2],[558,2],[676,2],[964,2],[1372,2]]},"60":{"position":[[464,2]]},"67":{"position":[[555,2],[601,3],[614,2],[823,2],[952,2],[1086,2],[1230,2]]},"99":{"position":[[238,2],[1211,2],[3514,2]]},"201":{"position":[[1966,2],[2047,2],[2050,2],[2109,2]]},"202":{"position":[[3527,2],[9220,2],[9409,2]]},"203":{"position":[[1754,2],[1843,2]]},"204":{"position":[[2113,2],[2116,2]]},"205":{"position":[[1956,2]]},"226":{"position":[[669,2],[752,2],[1547,2],[2317,2]]},"232":{"position":[[1081,2]]},"233":{"position":[[1298,2]]},"253":{"position":[[2937,2],[3818,2],[4912,2]]},"254":{"position":[[1535,2]]},"267":{"position":[[2593,2],[7519,2],[7686,2]]},"271":{"position":[[962,2]]},"272":{"position":[[758,2]]},"285":{"position":[[666,2],[816,2],[1244,2]]},"304":{"position":[[5914,2]]},"321":{"position":[[3130,2],[3288,2]]},"329":{"position":[[402,3],[807,3]]}},"keywords":{}}],["320",{"_index":2685,"title":{},"content":{"271":{"position":[[971,3]]},"272":{"position":[[767,3]]}},"keywords":{}}],["3207",{"_index":959,"title":{},"content":{"43":{"position":[[744,4]]}},"keywords":{}}],["326mb",{"_index":1604,"title":{},"content":{"83":{"position":[[1595,5]]}},"keywords":{}}],["32gb",{"_index":2773,"title":{},"content":{"289":{"position":[[854,4]]}},"keywords":{}}],["33",{"_index":2932,"title":{},"content":{"304":{"position":[[6081,2]]}},"keywords":{}}],["333.8mib",{"_index":3561,"title":{},"content":{"357":{"position":[[3151,8]]}},"keywords":{}}],["33xxwnbu6pnslqhpvlqu5vmzlk0iofk",{"_index":995,"title":{},"content":{"43":{"position":[[4203,31]]}},"keywords":{}}],["34",{"_index":2933,"title":{},"content":{"304":{"position":[[6229,2]]},"439":{"position":[[383,2]]},"440":{"position":[[645,2]]}},"keywords":{}}],["35",{"_index":2934,"title":{},"content":{"304":{"position":[[6359,2]]},"357":{"position":[[2247,3]]}},"keywords":{}}],["35.4mib",{"_index":3570,"title":{},"content":{"357":{"position":[[3369,7]]}},"keywords":{}}],["350",{"_index":3455,"title":{},"content":{"355":{"position":[[1179,3]]}},"keywords":{}}],["36",{"_index":2935,"title":{},"content":{"304":{"position":[[6521,2]]}},"keywords":{}}],["3650",{"_index":415,"title":{},"content":{"20":{"position":[[370,4],[1053,4],[1111,4]]}},"keywords":{}}],["37",{"_index":2938,"title":{},"content":{"304":{"position":[[6734,2]]}},"keywords":{}}],["37.33mib",{"_index":3526,"title":{},"content":{"357":{"position":[[1878,8]]}},"keywords":{}}],["370.8mib",{"_index":3562,"title":{},"content":{"357":{"position":[[3160,8]]}},"keywords":{}}],["372mb",{"_index":1602,"title":{},"content":{"83":{"position":[[1536,5]]}},"keywords":{}}],["38400",{"_index":1257,"title":{},"content":{"52":{"position":[[1111,5]]}},"keywords":{}}],["39",{"_index":3533,"title":{},"content":{"357":{"position":[[2251,3]]}},"keywords":{}}],["392mib",{"_index":3501,"title":{},"content":{"357":{"position":[[1277,6]]}},"keywords":{}}],["4",{"_index":234,"title":{"257":{"position":[[22,1]]},"347":{"position":[[31,2]]},"463":{"position":[[0,2]]}},"content":{"6":{"position":[[1022,1]]},"49":{"position":[[967,1],[1077,1],[1843,1],[1972,1]]},"50":{"position":[[833,1],[922,1],[1562,1],[1670,1]]},"52":{"position":[[1031,1],[1138,1]]},"54":{"position":[[827,1],[1068,1],[1548,1],[1828,1],[2588,1],[2800,1]]},"61":{"position":[[2873,2],[2890,2],[2922,2],[3029,1],[3033,1],[3041,1],[3054,1]]},"64":{"position":[[755,1]]},"99":{"position":[[374,1],[471,1]]},"134":{"position":[[953,1]]},"226":{"position":[[306,1],[680,1],[682,1],[684,1],[1184,1],[1954,1]]},"257":{"position":[[122,1],[664,1],[744,1],[932,1]]},"285":{"position":[[314,1]]},"299":{"position":[[365,1]]},"300":{"position":[[431,1]]},"301":{"position":[[516,1]]},"302":{"position":[[515,1]]},"303":{"position":[[845,1]]},"304":{"position":[[2074,1]]},"305":{"position":[[710,1]]},"307":{"position":[[496,1]]},"308":{"position":[[444,1]]},"309":{"position":[[544,1]]},"310":{"position":[[418,1]]},"311":{"position":[[377,1]]},"329":{"position":[[1175,1],[1177,1],[1262,1],[1436,1],[1449,1],[1459,1],[1486,1]]},"347":{"position":[[18,1],[220,1]]},"355":{"position":[[452,1]]},"357":{"position":[[74,2],[594,2],[4177,1]]},"401":{"position":[[417,2],[675,1]]},"402":{"position":[[413,2],[471,1],[803,1],[805,1]]},"476":{"position":[[522,1]]},"483":{"position":[[902,2]]},"601":{"position":[[386,1]]},"617":{"position":[[167,1]]},"673":{"position":[[161,1]]}},"keywords":{}}],["4).3",{"_index":1410,"title":{},"content":{"64":{"position":[[747,4]]}},"keywords":{}}],["4.0.0",{"_index":1973,"title":{},"content":{"134":{"position":[[9,6]]}},"keywords":{}}],["4.0.7",{"_index":3391,"title":{},"content":{"350":{"position":[[1386,5]]}},"keywords":{}}],["4.05",{"_index":3515,"title":{},"content":{"357":{"position":[[1648,5]]}},"keywords":{}}],["4.09",{"_index":3540,"title":{},"content":{"357":{"position":[[2662,5]]}},"keywords":{}}],["4.16",{"_index":3494,"title":{},"content":{"357":{"position":[[1171,5]]}},"keywords":{}}],["4.22.0",{"_index":3583,"title":{},"content":{"357":{"position":[[4293,6]]}},"keywords":{}}],["4.4.0",{"_index":369,"title":{},"content":{"17":{"position":[[9,6]]},"18":{"position":[[9,6]]}},"keywords":{}}],["4.4.1",{"_index":682,"title":{},"content":{"36":{"position":[[1077,6]]},"202":{"position":[[1077,6]]},"209":{"position":[[9,6]]},"267":{"position":[[1072,6]]},"274":{"position":[[9,6]]}},"keywords":{}}],["4.64g",{"_index":3535,"title":{},"content":{"357":{"position":[[2259,5]]}},"keywords":{}}],["4.9.0",{"_index":2991,"title":{},"content":{"313":{"position":[[150,5]]}},"keywords":{}}],["40",{"_index":3532,"title":{},"content":{"357":{"position":[[2243,3]]},"410":{"position":[[883,2]]},"417":{"position":[[847,2]]}},"keywords":{}}],["40.0",{"_index":5199,"title":{},"content":{"700":{"position":[[2055,5]]}},"keywords":{}}],["400",{"_index":3439,"title":{},"content":{"355":{"position":[[274,3]]},"419":{"position":[[627,3]]},"442":{"position":[[225,3]]}},"keywords":{}}],["401",{"_index":1698,"title":{},"content":{"87":{"position":[[176,3]]}},"keywords":{}}],["401.6mib",{"_index":3500,"title":{},"content":{"357":{"position":[[1268,8]]}},"keywords":{}}],["405.8mib",{"_index":3546,"title":{},"content":{"357":{"position":[[2766,8]]}},"keywords":{}}],["405mb",{"_index":1593,"title":{},"content":{"83":{"position":[[1236,5],[1295,5]]}},"keywords":{}}],["407.9mib",{"_index":3545,"title":{},"content":{"357":{"position":[[2757,8]]}},"keywords":{}}],["4096",{"_index":444,"title":{},"content":{"20":{"position":[[917,4]]}},"keywords":{}}],["41.02mib",{"_index":3527,"title":{},"content":{"357":{"position":[[1887,8]]}},"keywords":{}}],["42",{"_index":3534,"title":{},"content":{"357":{"position":[[2255,3]]}},"keywords":{}}],["42.93mib",{"_index":3571,"title":{},"content":{"357":{"position":[[3377,8]]}},"keywords":{}}],["43.54mib",{"_index":3496,"title":{},"content":{"357":{"position":[[1183,8]]}},"keywords":{}}],["430",{"_index":3971,"title":{},"content":{"441":{"position":[[358,3]]}},"keywords":{}}],["431mb",{"_index":1586,"title":{},"content":{"83":{"position":[[1100,5]]}},"keywords":{}}],["432mb",{"_index":1590,"title":{},"content":{"83":{"position":[[1173,5]]}},"keywords":{}}],["4374",{"_index":933,"title":{},"content":{"42":{"position":[[763,4]]}},"keywords":{}}],["44.3mib",{"_index":3541,"title":{},"content":{"357":{"position":[[2674,7]]}},"keywords":{}}],["443",{"_index":507,"title":{},"content":{"23":{"position":[[35,3]]}},"keywords":{}}],["446mb",{"_index":1584,"title":{},"content":{"83":{"position":[[1019,5]]}},"keywords":{}}],["45",{"_index":3985,"title":{},"content":{"443":{"position":[[493,2],[523,2]]},"444":{"position":[[988,2],[995,2]]}},"keywords":{}}],["450",{"_index":3802,"title":{},"content":{"394":{"position":[[247,3]]}},"keywords":{}}],["46.22mib",{"_index":3517,"title":{},"content":{"357":{"position":[[1660,8]]}},"keywords":{}}],["4693",{"_index":1016,"title":{},"content":{"43":{"position":[[6504,4]]}},"keywords":{}}],["476.8mib",{"_index":3504,"title":{},"content":{"357":{"position":[[1340,8],[1349,8]]}},"keywords":{}}],["47a8dd26",{"_index":1014,"title":{},"content":{"43":{"position":[[6490,8]]}},"keywords":{}}],["48",{"_index":2230,"title":{},"content":{"226":{"position":[[749,2],[1627,2]]},"285":{"position":[[728,2]]}},"keywords":{}}],["480.2mib",{"_index":3549,"title":{},"content":{"357":{"position":[[2831,8]]}},"keywords":{}}],["481.5mib",{"_index":3550,"title":{},"content":{"357":{"position":[[2840,8]]}},"keywords":{}}],["4aacbaf49f7a",{"_index":1585,"title":{},"content":{"83":{"position":[[1074,12]]}},"keywords":{}}],["4c12",{"_index":1006,"title":{},"content":{"43":{"position":[[4568,4]]}},"keywords":{}}],["4cac7a3ea9d3",{"_index":1580,"title":{},"content":{"83":{"position":[[993,12]]}},"keywords":{}}],["4gib",{"_index":1787,"title":{},"content":{"99":{"position":[[357,5]]}},"keywords":{}}],["5",{"_index":29,"title":{"257":{"position":[[34,2]]},"464":{"position":[[0,2]]}},"content":{"2":{"position":[[10,1]]},"6":{"position":[[530,1],[1077,1]]},"43":{"position":[[214,1]]},"44":{"position":[[512,1]]},"46":{"position":[[56,1],[256,1]]},"66":{"position":[[267,1]]},"97":{"position":[[30,1]]},"98":{"position":[[8,1]]},"99":{"position":[[492,1]]},"146":{"position":[[151,2]]},"226":{"position":[[399,1],[1277,1],[2047,1],[2457,1]]},"227":{"position":[[143,1],[686,1]]},"245":{"position":[[520,1]]},"254":{"position":[[1287,1],[1551,1],[2546,1]]},"257":{"position":[[8,1],[134,1],[602,1],[694,1],[790,1],[1104,1],[1209,1],[1456,1],[1639,1],[1960,2]]},"285":{"position":[[408,1]]},"289":{"position":[[1014,1]]},"291":{"position":[[176,1]]},"298":{"position":[[40,1],[101,1]]},"299":{"position":[[409,1]]},"300":{"position":[[501,1]]},"301":{"position":[[621,1]]},"302":{"position":[[665,1]]},"303":{"position":[[1017,1]]},"304":{"position":[[2168,1]]},"305":{"position":[[878,1]]},"307":{"position":[[585,1]]},"308":{"position":[[620,1]]},"309":{"position":[[644,1]]},"310":{"position":[[501,1]]},"311":{"position":[[488,1]]},"371":{"position":[[372,1]]},"420":{"position":[[628,1]]},"425":{"position":[[674,1]]},"439":{"position":[[381,1],[424,1]]},"440":{"position":[[643,1],[697,1]]},"443":{"position":[[467,1],[469,1],[474,1],[487,1],[489,1],[491,1],[518,1]]},"444":{"position":[[871,1],[883,1],[986,1]]},"445":{"position":[[255,1]]},"459":{"position":[[373,1]]},"476":{"position":[[2226,2],[2616,2],[3142,2],[3525,2]]},"478":{"position":[[381,2],[640,2],[836,2]]},"480":{"position":[[1523,2],[1803,2]]},"490":{"position":[[673,1]]},"586":{"position":[[619,1]]},"621":{"position":[[79,2],[146,3]]},"632":{"position":[[176,1]]},"636":{"position":[[1197,1]]},"637":{"position":[[1419,1]]},"638":{"position":[[1440,1]]},"639":{"position":[[1473,1]]},"640":{"position":[[1273,1]]},"641":{"position":[[1490,1]]},"642":{"position":[[1511,1]]},"643":{"position":[[1544,1]]},"658":{"position":[[1126,1]]},"671":{"position":[[653,1],[852,1]]},"673":{"position":[[1476,3],[1596,3],[1716,5],[1839,4]]},"681":{"position":[[1526,1]]},"683":{"position":[[1010,1]]},"684":{"position":[[866,2],[884,1]]},"687":{"position":[[863,1]]},"688":{"position":[[844,2],[862,1]]},"730":{"position":[[241,2]]},"731":{"position":[[220,1]]},"732":{"position":[[123,2],[210,2]]}},"keywords":{}}],["5"",{"_index":3919,"title":{},"content":{"429":{"position":[[1820,9]]},"669":{"position":[[731,8],[815,8],[1018,8],[1101,8]]},"671":{"position":[[612,8],[811,8]]},"673":{"position":[[304,8],[1325,8]]},"685":{"position":[[1090,8],[1163,8],[1267,8],[1340,8]]}},"keywords":{}}],["5.0",{"_index":1401,"title":{},"content":{"63":{"position":[[2625,3]]},"657":{"position":[[816,4],[983,4]]},"670":{"position":[[637,4],[742,4]]},"682":{"position":[[1336,4],[1417,4],[1543,4],[1624,4]]},"686":{"position":[[1159,4],[1246,4],[1364,4],[1451,4]]}},"keywords":{}}],["5.0.0",{"_index":4883,"title":{"646":{"position":[[34,5]]},"648":{"position":[[29,5]]},"649":{"position":[[31,5]]},"663":{"position":[[28,7]]},"664":{"position":[[33,5]]},"666":{"position":[[29,5]]},"667":{"position":[[16,7]]},"709":{"position":[[21,7]]},"723":{"position":[[18,7]]}},"content":{},"keywords":{}}],["5.0.10",{"_index":685,"title":{},"content":{"36":{"position":[[1325,7]]},"175":{"position":[[9,7]]},"202":{"position":[[1325,7]]},"215":{"position":[[9,7]]},"216":{"position":[[9,7]]},"217":{"position":[[9,7]]},"267":{"position":[[1320,7]]},"279":{"position":[[9,7]]}},"keywords":{}}],["5.0.3",{"_index":5095,"title":{"675":{"position":[[25,7]]},"676":{"position":[[19,7]]}},"content":{},"keywords":{}}],["5.0.6",{"_index":4899,"title":{"647":{"position":[[39,5]]},"665":{"position":[[39,5]]}},"content":{},"keywords":{}}],["5.0.6cf",{"_index":2985,"title":{},"content":{"313":{"position":[[82,8]]}},"keywords":{}}],["5.0.8",{"_index":2103,"title":{},"content":{"192":{"position":[[9,6]]}},"keywords":{}}],["5.0.9",{"_index":2825,"title":{},"content":{"292":{"position":[[488,6]]}},"keywords":{}}],["5.1.0",{"_index":3730,"title":{},"content":{"371":{"position":[[9,6]]}},"keywords":{}}],["5.11",{"_index":1796,"title":{},"content":{"99":{"position":[[912,5]]}},"keywords":{}}],["5.11.0",{"_index":1797,"title":{},"content":{"99":{"position":[[1021,7]]}},"keywords":{}}],["5.11.1",{"_index":315,"title":{},"content":{"11":{"position":[[9,7]]}},"keywords":{}}],["5.11.4",{"_index":5541,"title":{},"content":{"767":{"position":[[945,7]]},"768":{"position":[[548,7],[616,8]]}},"keywords":{}}],["5.12.0",{"_index":2056,"title":{},"content":{"170":{"position":[[9,7]]},"183":{"position":[[9,7]]},"193":{"position":[[9,7]]},"196":{"position":[[9,7]]}},"keywords":{}}],["5.13.0",{"_index":4855,"title":{"644":{"position":[[17,7]]},"646":{"position":[[20,7]]},"647":{"position":[[25,7]]},"648":{"position":[[15,7]]},"649":{"position":[[17,7]]},"664":{"position":[[19,7]]},"665":{"position":[[25,7]]},"666":{"position":[[15,7]]}},"content":{},"keywords":{}}],["5.14.0",{"_index":2172,"title":{},"content":{"218":{"position":[[9,7]]},"219":{"position":[[9,7]]},"220":{"position":[[9,7]]},"221":{"position":[[9,7]]}},"keywords":{}}],["5.15.90.1",{"_index":3587,"title":{},"content":{"357":{"position":[[4337,9]]}},"keywords":{}}],["5.16.0",{"_index":2700,"title":{},"content":{"280":{"position":[[9,7]]}},"keywords":{}}],["5.16.2",{"_index":2789,"title":{},"content":{"290":{"position":[[416,6],[530,7],[804,6]]}},"keywords":{}}],["5.17.1",{"_index":3878,"title":{},"content":{"424":{"position":[[9,7]]}},"keywords":{}}],["5.17.2",{"_index":3888,"title":{},"content":{"425":{"position":[[9,7]]}},"keywords":{}}],["5.18.0",{"_index":692,"title":{},"content":{"36":{"position":[[1576,7]]},"202":{"position":[[1576,7]]},"222":{"position":[[9,7]]},"267":{"position":[[1571,7]]},"281":{"position":[[9,7]]}},"keywords":{}}],["5.19.0",{"_index":2181,"title":{},"content":{"224":{"position":[[9,7]]}},"keywords":{}}],["5.2.0",{"_index":1948,"title":{},"content":{"126":{"position":[[9,6]]},"127":{"position":[[9,6]]},"146":{"position":[[9,6]]},"153":{"position":[[9,6]]},"168":{"position":[[9,6]]},"169":{"position":[[9,6]]}},"keywords":{}}],["5.20.0",{"_index":2179,"title":{},"content":{"223":{"position":[[9,7]]}},"keywords":{}}],["5.3.0",{"_index":1990,"title":{},"content":{"136":{"position":[[9,6]]},"181":{"position":[[9,6]]}},"keywords":{}}],["5.5.0",{"_index":1928,"title":{},"content":{"122":{"position":[[9,6]]},"182":{"position":[[9,6]]}},"keywords":{}}],["5.5.1",{"_index":3808,"title":{},"content":{"397":{"position":[[9,6]]},"418":{"position":[[1276,6],[1443,6]]},"419":{"position":[[1329,6],[1496,6]]},"420":{"position":[[1301,6],[1468,6]]},"444":{"position":[[1185,6]]}},"keywords":{}}],["5.5.2",{"_index":1963,"title":{},"content":{"133":{"position":[[9,6]]}},"keywords":{}}],["5.7.0",{"_index":1994,"title":{},"content":{"137":{"position":[[9,6]]},"138":{"position":[[9,6]]},"139":{"position":[[9,6]]},"140":{"position":[[9,6]]},"141":{"position":[[9,6]]},"142":{"position":[[9,6]]}},"keywords":{}}],["5.8.0",{"_index":4856,"title":{"644":{"position":[[31,5]]}},"content":{},"keywords":{}}],["5.9.1",{"_index":3472,"title":{},"content":{"357":{"position":[[149,5]]}},"keywords":{}}],["5.time",{"_index":2246,"title":{},"content":{"226":{"position":[[2387,7]]}},"keywords":{}}],["5.x",{"_index":1863,"title":{"107":{"position":[[44,5]]}},"content":{},"keywords":{}}],["50",{"_index":806,"title":{},"content":{"36":{"position":[[7536,2],[7565,2],[7624,2]]},"202":{"position":[[7536,2],[7565,2],[7624,2]]},"267":{"position":[[6136,2],[6164,2],[6223,2]]},"289":{"position":[[508,3]]},"355":{"position":[[1012,2]]},"375":{"position":[[248,2]]},"376":{"position":[[276,2]]},"379":{"position":[[481,2]]},"380":{"position":[[475,2]]},"381":{"position":[[504,2]]},"412":{"position":[[493,2]]},"413":{"position":[[490,2]]},"419":{"position":[[631,2]]},"423":{"position":[[755,2]]},"425":{"position":[[541,2],[575,2],[629,2],[662,2],[696,2],[701,2]]},"443":{"position":[[453,2]]},"444":{"position":[[755,2]]},"445":{"position":[[228,2],[231,2]]},"480":{"position":[[1592,3],[1871,3]]}},"keywords":{}}],["50,000",{"_index":5463,"title":{},"content":{"750":{"position":[[116,6]]},"751":{"position":[[115,6]]}},"keywords":{}}],["50.0",{"_index":2306,"title":{},"content":{"227":{"position":[[5713,5]]},"495":{"position":[[632,4],[929,5]]},"700":{"position":[[2037,5]]}},"keywords":{}}],["50.0"",{"_index":4340,"title":{},"content":{"495":{"position":[[701,11],[999,11]]},"500":{"position":[[479,11],[657,11]]}},"keywords":{}}],["500",{"_index":5503,"title":{},"content":{"760":{"position":[[206,4]]},"761":{"position":[[233,4]]}},"keywords":{}}],["50000",{"_index":4984,"title":{},"content":{"657":{"position":[[875,6],[1042,6]]},"751":{"position":[[199,5]]}},"keywords":{}}],["5000000.time",{"_index":4318,"title":{},"content":{"488":{"position":[[2336,13]]}},"keywords":{}}],["50_000_000",{"_index":2018,"title":{},"content":{"148":{"position":[[151,11]]},"151":{"position":[[158,11]]},"155":{"position":[[153,11]]},"158":{"position":[[160,11]]}},"keywords":{}}],["50mb",{"_index":1967,"title":{},"content":{"133":{"position":[[564,5]]},"343":{"position":[[527,5]]}},"keywords":{}}],["51",{"_index":925,"title":{},"content":{"42":{"position":[[631,2]]}},"keywords":{}}],["51.38mib",{"_index":3497,"title":{},"content":{"357":{"position":[[1192,8]]}},"keywords":{}}],["512",{"_index":4533,"title":{},"content":{"585":{"position":[[689,3]]}},"keywords":{}}],["5375f60abc6c",{"_index":1018,"title":{},"content":{"43":{"position":[[6514,12]]}},"keywords":{}}],["561b128",{"_index":2988,"title":{},"content":{"313":{"position":[[113,7]]}},"keywords":{}}],["57"",{"_index":3087,"title":{},"content":{"321":{"position":[[968,8]]}},"keywords":{}}],["57.295",{"_index":2734,"title":{},"content":{"285":{"position":[[1034,6]]}},"keywords":{}}],["57600",{"_index":1262,"title":{},"content":{"52":{"position":[[1532,5]]}},"keywords":{}}],["5a3003a49199",{"_index":1595,"title":{},"content":{"83":{"position":[[1331,12]]}},"keywords":{}}],["5d002c1",{"_index":3689,"title":{},"content":{"363":{"position":[[1269,8]]}},"keywords":{}}],["5m",{"_index":3872,"title":{},"content":{"420":{"position":[[619,2]]}},"keywords":{}}],["5px",{"_index":3774,"title":{},"content":{"386":{"position":[[366,3]]}},"keywords":{}}],["6",{"_index":1214,"title":{"465":{"position":[[0,2]]}},"content":{"49":{"position":[[1187,1],[2101,1]]},"50":{"position":[[1011,1],[1778,1]]},"52":{"position":[[1234,1]]},"54":{"position":[[937,1],[1677,1]]},"60":{"position":[[589,1]]},"88":{"position":[[293,1]]},"99":{"position":[[23,1],[510,1],[1038,1]]},"245":{"position":[[571,1]]},"299":{"position":[[458,1]]},"300":{"position":[[605,1]]},"301":{"position":[[799,1]]},"302":{"position":[[749,1]]},"303":{"position":[[1179,1]]},"304":{"position":[[2308,1]]},"305":{"position":[[1023,1]]},"307":{"position":[[697,1]]},"308":{"position":[[705,1]]},"310":{"position":[[598,1]]},"311":{"position":[[581,1]]},"321":{"position":[[744,1],[746,1],[748,1]]},"357":{"position":[[814,2]]},"401":{"position":[[621,1]]}},"keywords":{}}],["6.0",{"_index":1868,"title":{"108":{"position":[[14,3]]}},"content":{},"keywords":{}}],["6.1",{"_index":1875,"title":{},"content":{"108":{"position":[[139,5]]}},"keywords":{}}],["6.14",{"_index":3499,"title":{},"content":{"357":{"position":[[1262,5]]}},"keywords":{}}],["6.18",{"_index":3544,"title":{},"content":{"357":{"position":[[2751,5]]}},"keywords":{}}],["60",{"_index":1972,"title":{},"content":{"133":{"position":[[947,2]]},"153":{"position":[[160,3]]},"425":{"position":[[498,3]]}},"keywords":{}}],["60.0",{"_index":2310,"title":{},"content":{"227":{"position":[[5839,5]]},"233":{"position":[[1362,4]]},"267":{"position":[[10292,4]]},"699":{"position":[[472,5],[636,5],[785,5],[956,5]]},"700":{"position":[[2043,5]]}},"keywords":{}}],["600",{"_index":1971,"title":{},"content":{"133":{"position":[[932,3]]},"147":{"position":[[140,4]]},"150":{"position":[[147,4]]},"154":{"position":[[142,4]]},"157":{"position":[[149,4]]},"746":{"position":[[1167,4],[1467,4]]}},"keywords":{}}],["61064218",{"_index":3594,"title":{},"content":{"357":{"position":[[4418,8]]}},"keywords":{}}],["620",{"_index":3820,"title":{},"content":{"402":{"position":[[778,3]]}},"keywords":{}}],["64",{"_index":1418,"title":{},"content":{"67":{"position":[[608,2],[842,2],[971,2],[1099,2],[1243,2]]},"99":{"position":[[2744,2],[3099,2]]},"201":{"position":[[2106,2]]},"206":{"position":[[971,2],[974,2]]},"207":{"position":[[761,2]]},"227":{"position":[[4285,2]]},"271":{"position":[[959,2]]},"285":{"position":[[813,2]]},"329":{"position":[[410,2],[814,2]]},"347":{"position":[[409,2],[847,3]]},"649":{"position":[[1243,3]]}},"keywords":{}}],["640",{"_index":2146,"title":{},"content":{"206":{"position":[[983,3]]},"207":{"position":[[770,3]]}},"keywords":{}}],["64bit",{"_index":2148,"title":{},"content":{"206":{"position":[[1005,5]]},"207":{"position":[[792,5]]}},"keywords":{}}],["65535",{"_index":4934,"title":{},"content":{"649":{"position":[[1389,6]]}},"keywords":{}}],["65536",{"_index":1811,"title":{},"content":{"99":{"position":[[2720,6]]}},"keywords":{}}],["66.72",{"_index":3552,"title":{},"content":{"357":{"position":[[2901,6]]}},"keywords":{}}],["666",{"_index":3281,"title":{},"content":{"341":{"position":[[290,3]]}},"keywords":{}}],["69.84mib",{"_index":3518,"title":{},"content":{"357":{"position":[[1669,8]]}},"keywords":{}}],["6d22",{"_index":932,"title":{},"content":{"42":{"position":[[758,4]]}},"keywords":{}}],["7",{"_index":1149,"title":{"466":{"position":[[0,2]]}},"content":{"46":{"position":[[297,1],[309,2],[706,1],[718,2]]},"299":{"position":[[523,1]]},"300":{"position":[[711,1]]},"301":{"position":[[913,1]]},"303":{"position":[[1339,1]]},"304":{"position":[[2439,1]]},"305":{"position":[[1138,1]]},"307":{"position":[[794,1]]},"308":{"position":[[791,1]]},"310":{"position":[[693,1]]},"311":{"position":[[667,1]]},"332":{"position":[[383,1]]},"357":{"position":[[805,2],[808,2]]}},"keywords":{}}],["7.0",{"_index":1898,"title":{"109":{"position":[[14,4]]}},"content":{"670":{"position":[[657,5],[757,5]]}},"keywords":{}}],["7.42",{"_index":3563,"title":{},"content":{"357":{"position":[[3210,5]]}},"keywords":{}}],["7.7g",{"_index":3484,"title":{},"content":{"357":{"position":[[781,4],[2267,4]]}},"keywords":{}}],["70",{"_index":3895,"title":{},"content":{"426":{"position":[[348,2]]},"439":{"position":[[426,2]]},"440":{"position":[[699,2]]}},"keywords":{}}],["70,7",{"_index":512,"title":{},"content":{"23":{"position":[[126,4],[131,5]]}},"keywords":{}}],["70.0",{"_index":2389,"title":{},"content":{"233":{"position":[[1357,4]]},"267":{"position":[[10287,4]]},"699":{"position":[[466,5],[630,5],[779,5],[950,5]]}},"keywords":{}}],["7272",{"_index":2001,"title":{},"content":{"139":{"position":[[271,4]]},"175":{"position":[[308,4]]}},"keywords":{}}],["75",{"_index":5454,"title":{},"content":{"746":{"position":[[1172,3],[1472,3]]}},"keywords":{}}],["7777",{"_index":1710,"title":{},"content":{"89":{"position":[[118,6]]}},"keywords":{}}],["7779",{"_index":5351,"title":{},"content":{"720":{"position":[[465,5],[471,5]]}},"keywords":{}}],["787f6e3fc0b",{"_index":1599,"title":{},"content":{"83":{"position":[[1453,12]]}},"keywords":{}}],["8",{"_index":697,"title":{"467":{"position":[[0,2]]}},"content":{"36":{"position":[[1814,1],[9813,1],[10213,1]]},"40":{"position":[[814,1],[906,1]]},"42":{"position":[[486,3]]},"43":{"position":[[6239,3]]},"83":{"position":[[1344,1],[1406,1],[1466,1],[1525,1],[1584,1]]},"98":{"position":[[42,1]]},"135":{"position":[[785,1]]},"202":{"position":[[1814,1],[9813,1],[10213,1]]},"216":{"position":[[238,1]]},"217":{"position":[[243,2]]},"226":{"position":[[875,1],[1630,1]]},"232":{"position":[[1162,1]]},"233":{"position":[[1440,1]]},"253":{"position":[[2997,1],[3988,1],[4956,1]]},"254":{"position":[[1597,1]]},"267":{"position":[[1809,1]]},"285":{"position":[[1055,1]]},"299":{"position":[[652,1]]},"300":{"position":[[813,1]]},"301":{"position":[[1118,1]]},"303":{"position":[[1511,1]]},"304":{"position":[[2536,1]]},"305":{"position":[[1394,1]]},"307":{"position":[[891,1]]},"310":{"position":[[796,1]]},"311":{"position":[[753,1]]},"321":{"position":[[737,1],[789,1],[1617,1],[1669,1],[2122,1],[2174,1],[2622,1],[2674,1],[3346,1],[3407,1]]},"329":{"position":[[395,2],[638,1],[800,2],[1220,1],[1260,1]]},"338":{"position":[[855,1],[876,1]]},"357":{"position":[[811,2],[858,1]]},"416":{"position":[[384,2]]}},"keywords":{}}],["8.8",{"_index":3144,"title":{},"content":{"324":{"position":[[574,4],[1346,3]]}},"keywords":{}}],["80",{"_index":483,"title":{},"content":{"21":{"position":[[242,2]]},"23":{"position":[[55,3]]},"226":{"position":[[872,2]]},"289":{"position":[[640,3]]},"401":{"position":[[601,2]]},"405":{"position":[[394,2]]},"476":{"position":[[133,2]]}},"keywords":{}}],["80.0",{"_index":2388,"title":{},"content":{"233":{"position":[[1351,4],[1367,4]]},"267":{"position":[[10281,4],[10297,4],[10336,4],[10352,4]]},"273":{"position":[[535,4],[540,4]]},"282":{"position":[[609,4],[614,4]]},"699":{"position":[[459,5],[478,5],[521,5],[540,6],[623,5],[642,5],[772,5],[791,5],[824,5],[843,6],[943,5],[962,5]]}},"keywords":{}}],["800",{"_index":3440,"title":{},"content":{"355":{"position":[[323,3],[560,3],[589,3],[646,3]]}},"keywords":{}}],["8080",{"_index":1209,"title":{},"content":{"49":{"position":[[921,4],[1052,4],[1057,4],[1162,4],[1167,4],[1272,4],[1277,4],[1407,4],[1412,4],[1516,4],[1521,4],[1632,4],[1637,4],[1796,4],[1946,4],[1951,4],[2075,4],[2080,4],[2205,4],[2210,4],[2358,4],[2363,4],[2485,4],[2490,4],[2620,4],[2625,4]]},"50":{"position":[[787,4],[897,4],[902,4],[986,4],[991,4],[1075,4],[1080,4],[1189,4],[1194,4],[1277,4],[1282,4],[1372,4],[1377,4],[1515,4],[1644,4],[1649,4],[1752,4],[1757,4],[1861,4],[1866,4],[1993,4],[1998,4],[2099,4],[2104,4],[2213,4],[2218,4]]},"51":{"position":[[954,4],[1097,4]]},"54":{"position":[[802,4],[807,4],[912,4],[917,4],[1022,4],[1142,4],[1147,4],[1277,4],[1282,4],[1386,4],[1391,4],[1522,4],[1527,4],[1651,4],[1656,4],[1781,4],[1920,4],[1925,4],[2073,4],[2078,4],[2200,4],[2205,4],[2563,4],[2568,4],[2774,4],[2779,4]]},"125":{"position":[[203,4],[347,4]]},"126":{"position":[[244,4],[440,4]]},"127":{"position":[[247,4],[446,4]]},"134":{"position":[[782,4],[1069,4]]},"230":{"position":[[2694,4]]},"253":{"position":[[6877,4],[7792,4]]},"254":{"position":[[882,4]]}},"keywords":{}}],["8081",{"_index":1210,"title":{},"content":{"49":{"position":[[926,4],[1801,4]]},"50":{"position":[[792,4],[1520,4]]},"51":{"position":[[959,4],[1102,4]]},"54":{"position":[[1027,4],[1786,4]]},"125":{"position":[[208,4],[352,4]]},"126":{"position":[[249,4],[445,4]]},"127":{"position":[[252,4],[451,4]]},"134":{"position":[[787,4],[1074,4]]},"230":{"position":[[2699,4]]},"253":{"position":[[6882,4],[7813,4]]}},"keywords":{}}],["8082",{"_index":1240,"title":{},"content":{"51":{"position":[[964,4],[1107,4]]}},"keywords":{}}],["80gb",{"_index":2760,"title":{},"content":{"289":{"position":[[382,4]]}},"keywords":{}}],["83.87mib",{"_index":3514,"title":{},"content":{"357":{"position":[[1588,8]]}},"keywords":{}}],["84.87mib",{"_index":3558,"title":{},"content":{"357":{"position":[[3078,8]]}},"keywords":{}}],["86399999)"",{"_index":2728,"title":{},"content":{"285":{"position":[[855,15]]}},"keywords":{}}],["86400.0",{"_index":2738,"title":{},"content":{"285":{"position":[[1275,8]]}},"keywords":{}}],["8df1",{"_index":1017,"title":{},"content":{"43":{"position":[[6509,4]]}},"keywords":{}}],["8gb",{"_index":2758,"title":{},"content":{"289":{"position":[[366,3],[542,4]]},"347":{"position":[[241,3]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa"",{"_index":1012,"title":{},"content":{"43":{"position":[[5931,81]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyjhbgcioijiuzi1niisinr5ccigoiaislduiiwia2lkiia6ici5njnlmjjims0wzmywltrmzjktytg0zi1hogi4mzcxowfimdeifq.eyjlehaioje2odm2odewndasimlhdci6mty4mzy3oti0mcwianrpijoimmqyyjiynmitnjjkos00yjrjlwi3ytytmgewyjk4mgqymjmwiiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisimf1zci6imh0dha6ly9sb2nhbghvc3q6mjkwmc9hdxrol3jlywxtcy9vcgvuyzmilcjzdwiioijhy2uxztzhms05mze5ltq3nmutymy0my02zjnjywi5zwuyzguilcj0exaioijszwzyzxnoiiwiyxpwijoiyxbpiiwic2vzc2lvbl9zdgf0zsi6imyznzg1oty3ltjhndytngmxmi1hzdbjlwnmzjdmyzq3n2rmosisinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkifq.1hlkdxqkal5tyuhtxsocelzfmnnll9bjoa4oul70x9m","token_type":"bearer","id_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwiyxv0af90aw1lijowlcjqdgkioijhndjkoty1zs1lmzu0ltrim2qtotiyys1howe0zdgwzwyxmtkilcjpc3mioijodhrwoi8vbg9jywxob3n0oji5mdavyxv0ac9yzwfsbxmvb3blbmmziiwiyxvkijoiyxbpiiwic3viijoiywnlmwu2ytetotmxos00nzzllwjmndmtnmyzy2fiowvlmmrliiwidhlwijoisuqilcjhenaioijhcgkilcjzzxnzaw9ux3n0yxrlijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwiyxrfagfzaci6ijnbwe9iskfkyzfpvldld2y0a0q4tkeilcjhy3iioiixiiwic2lkijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwizw1hawxfdmvyawzpzwqiomzhbhnllcjuyw1lijoivghlie9wzxjhdg9yiiwichjlzmvycmvkx3vzzxjuyw1lijoib3blcmf0b3iilcjnaxzlbl9uyw1lijoivghliiwizmftawx5x25hbwuioijpcgvyyxrvcij9.gdll6kokiiadl6jyeuaxqrgcnvuwlqb3rdnwrhjdqyfxshiwofbilmfrersi",{"_index":994,"title":{},"content":{"43":{"position":[[2466,1736]]}},"keywords":{}}],["9",{"_index":1439,"title":{"468":{"position":[[0,2]]}},"content":{"69":{"position":[[769,1]]},"299":{"position":[[756,1]]},"301":{"position":[[1216,1]]},"303":{"position":[[1675,1]]},"304":{"position":[[2718,1]]},"307":{"position":[[992,1]]},"311":{"position":[[835,1]]},"332":{"position":[[391,1]]}},"keywords":{}}],["9.2",{"_index":3145,"title":{},"content":{"324":{"position":[[588,4],[1354,3]]}},"keywords":{}}],["9.484mib",{"_index":3522,"title":{},"content":{"357":{"position":[[1740,8]]}},"keywords":{}}],["90",{"_index":3891,"title":{},"content":{"425":{"position":[[502,2]]},"478":{"position":[[841,3]]}},"keywords":{}}],["90.0",{"_index":2689,"title":{},"content":{"273":{"position":[[529,4],[545,4]]},"282":{"position":[[603,4],[619,4]]}},"keywords":{}}],["900",{"_index":2039,"title":{},"content":{"165":{"position":[[146,3]]},"394":{"position":[[243,3]]}},"keywords":{}}],["9200",{"_index":3373,"title":{},"content":{"350":{"position":[[337,4],[667,4],[988,4]]}},"keywords":{}}],["94.9438",{"_index":1761,"title":{},"content":{"94":{"position":[[1417,8],[1767,8]]}},"keywords":{}}],["95",{"_index":3984,"title":{},"content":{"443":{"position":[[471,2],[515,2],[520,2]]}},"keywords":{}}],["96",{"_index":2134,"title":{},"content":{"201":{"position":[[2145,2],[2148,2]]},"285":{"position":[[887,2]]}},"keywords":{}}],["9600",{"_index":1255,"title":{},"content":{"52":{"position":[[983,4]]}},"keywords":{}}],["98df5c0378c2",{"_index":1594,"title":{},"content":{"83":{"position":[[1271,12]]}},"keywords":{}}],["999)"",{"_index":2732,"title":{},"content":{"285":{"position":[[935,10]]}},"keywords":{}}],["9a8806bd4be3",{"_index":1589,"title":{},"content":{"83":{"position":[[1149,12]]}},"keywords":{}}],["__init__",{"_index":747,"title":{},"content":{"36":{"position":[[4232,8]]},"202":{"position":[[4232,8]]},"267":{"position":[[3181,8]]}},"keywords":{}}],["__init__(self",{"_index":779,"title":{},"content":{"36":{"position":[[5928,14]]},"71":{"position":[[435,14]]},"202":{"position":[[5928,14]]},"267":{"position":[[4408,14]]},"487":{"position":[[1259,15]]},"611":{"position":[[390,15]]},"754":{"position":[[1937,15]]}},"keywords":{}}],["__openc3.log>",{"_index":3387,"title":{},"content":{"350":{"position":[[573,17]]}},"keywords":{}}],["_ccsds_apid.txt",{"_index":264,"title":{},"content":{"7":{"position":[[638,15]]}},"keywords":{}}],["_def.txt",{"_index":617,"title":{},"content":{"31":{"position":[[245,8]]}},"keywords":{}}],["_int",{"_index":1938,"title":{},"content":{"123":{"position":[[592,6]]}},"keywords":{}}],["_timeformat",{"_index":2633,"title":{},"content":{"263":{"position":[[781,14]]}},"keywords":{}}],["_timesecond",{"_index":2636,"title":{},"content":{"263":{"position":[[872,12]]}},"keywords":{}}],["a"",{"_index":3240,"title":{},"content":{"329":{"position":[[1202,7]]}},"keywords":{}}],["a/compose.yaml",{"_index":509,"title":{},"content":{"23":{"position":[[64,14]]}},"keywords":{}}],["a/openc3",{"_index":470,"title":{},"content":{"21":{"position":[[56,8]]},"22":{"position":[[79,8]]}},"keywords":{}}],["a86f",{"_index":934,"title":{},"content":{"42":{"position":[[768,4]]}},"keywords":{}}],["a:4",{"_index":3237,"title":{},"content":{"329":{"position":[[1121,4]]}},"keywords":{}}],["aa158bbb9539",{"_index":1603,"title":{},"content":{"83":{"position":[[1571,12]]}},"keywords":{}}],["abbrevi",{"_index":665,"title":{},"content":{"36":{"position":[[400,11],[412,12]]},"202":{"position":[[400,11],[412,12]]},"267":{"position":[[395,11],[407,12]]}},"keywords":{}}],["abil",{"_index":2654,"title":{},"content":{"267":{"position":[[3411,7],[4777,7],[5470,7],[6593,7]]},"490":{"position":[[160,7]]},"530":{"position":[[29,7]]},"546":{"position":[[30,7]]},"584":{"position":[[23,7]]},"603":{"position":[[158,7]]},"770":{"position":[[28,7]]}},"keywords":{}}],["abort",{"_index":1203,"title":{},"content":{"49":{"position":[[581,8],[650,8]]},"50":{"position":[[468,8],[537,8]]},"51":{"position":[[750,8],[823,8]]},"52":{"position":[[660,8],[729,8]]},"304":{"position":[[6123,8],[6186,5]]},"434":{"position":[[404,7],[535,7]]},"446":{"position":[[822,7],[1031,7]]},"481":{"position":[[325,5]]},"612":{"position":[[676,5],[696,5]]},"646":{"position":[[868,8],[924,7]]},"647":{"position":[[277,9],[403,9]]},"648":{"position":[[910,8],[966,7]]}},"keywords":{}}],["abort"",{"_index":4245,"title":{},"content":{"481":{"position":[[381,12]]},"636":{"position":[[1661,12],[1912,12]]},"648":{"position":[[368,12],[829,12]]}},"keywords":{}}],["abort_cmd",{"_index":4909,"title":{},"content":{"648":{"position":[[337,9],[386,9],[798,9]]}},"keywords":{}}],["abov",{"_index":159,"title":{},"content":{"5":{"position":[[521,5],[1464,6]]},"44":{"position":[[1869,5]]},"54":{"position":[[201,5]]},"61":{"position":[[1970,5]]},"81":{"position":[[82,5]]},"253":{"position":[[5867,6]]},"291":{"position":[[1433,5]]},"322":{"position":[[1127,5],[1783,6]]},"329":{"position":[[996,6],[1340,5]]},"359":{"position":[[978,6]]},"360":{"position":[[558,5]]},"410":{"position":[[421,5]]},"417":{"position":[[390,5]]},"423":{"position":[[400,5]]},"457":{"position":[[25,5]]},"462":{"position":[[85,5]]},"478":{"position":[[913,5]]},"480":{"position":[[813,5]]},"483":{"position":[[785,5],[1206,6]]},"513":{"position":[[721,5]]},"533":{"position":[[326,5]]},"548":{"position":[[133,6],[602,6]]},"578":{"position":[[1542,5]]},"610":{"position":[[235,5]]},"700":{"position":[[1011,5],[1138,5]]}},"keywords":{}}],["above"",{"_index":3815,"title":{},"content":{"399":{"position":[[253,11]]}},"keywords":{}}],["absolut",{"_index":1997,"title":{},"content":{"138":{"position":[[165,8],[384,8]]},"174":{"position":[[149,8],[368,8]]},"257":{"position":[[1076,8]]},"736":{"position":[[417,8]]}},"keywords":{}}],["abus",{"_index":4154,"title":{},"content":{"469":{"position":[[802,5]]}},"keywords":{}}],["accept",{"_index":1046,"title":{},"content":{"44":{"position":[[811,8],[843,7],[2314,8],[2373,7]]},"90":{"position":[[168,8]]},"135":{"position":[[554,6]]},"227":{"position":[[2022,8]]},"303":{"position":[[2028,9]]},"364":{"position":[[969,6]]}},"keywords":{}}],["access",{"_index":686,"title":{"463":{"position":[[3,6]]}},"content":{"36":{"position":[[1357,6],[1490,6]]},"83":{"position":[[2071,6]]},"85":{"position":[[123,6]]},"121":{"position":[[592,10]]},"186":{"position":[[13,6],[55,6]]},"202":{"position":[[1357,6],[1490,6]]},"209":{"position":[[297,11]]},"227":{"position":[[1764,6]]},"267":{"position":[[1352,6],[1485,6]]},"274":{"position":[[278,11]]},"299":{"position":[[180,10],[295,10]]},"324":{"position":[[3595,6]]},"325":{"position":[[702,6]]},"338":{"position":[[2026,6],[2105,6]]},"341":{"position":[[270,7]]},"353":{"position":[[282,6],[352,7]]},"359":{"position":[[469,6],[578,6],[666,6]]},"362":{"position":[[198,6],[539,10]]},"384":{"position":[[24,6],[88,6]]},"462":{"position":[[319,6]]},"464":{"position":[[203,7],[349,7]]},"466":{"position":[[102,7],[401,6]]},"467":{"position":[[179,7]]},"469":{"position":[[595,6]]},"540":{"position":[[340,6]]},"585":{"position":[[171,6]]},"586":{"position":[[186,6]]},"765":{"position":[[39,8],[110,6]]},"769":{"position":[[73,10]]}},"keywords":{}}],["access_log",{"_index":3380,"title":{},"content":{"350":{"position":[[444,10],[774,10],[1096,10]]}},"keywords":{}}],["accessor",{"_index":2163,"title":{"215":{"position":[[0,9]]},"279":{"position":[[0,9]]}},"content":{"215":{"position":[[192,9],[341,8],[404,8]]},"279":{"position":[[192,9],[341,8]]}},"keywords":{}}],["accident",{"_index":4076,"title":{},"content":{"459":{"position":[[1909,10]]}},"keywords":{}}],["accomplish",{"_index":2501,"title":{},"content":{"251":{"position":[[237,13]]},"479":{"position":[[63,10]]}},"keywords":{}}],["accord",{"_index":2556,"title":{},"content":{"253":{"position":[[6617,9]]},"314":{"position":[[16,9]]},"320":{"position":[[229,9]]},"355":{"position":[[1038,9]]},"459":{"position":[[312,10]]},"465":{"position":[[657,10]]},"568":{"position":[[213,9]]}},"keywords":{}}],["accordingli",{"_index":2950,"title":{},"content":{"305":{"position":[[1624,12]]}},"keywords":{}}],["account",{"_index":895,"title":{},"content":{"42":{"position":[[50,8]]},"43":{"position":[[404,7]]},"61":{"position":[[823,7],[1330,7],[1984,7]]},"462":{"position":[[390,8]]},"465":{"position":[[205,7],[333,7],[428,8]]},"466":{"position":[[883,7]]}},"keywords":{}}],["accountsrol",{"_index":3662,"title":{},"content":{"362":{"position":[[179,12]]}},"keywords":{}}],["accur",{"_index":794,"title":{},"content":{"36":{"position":[[6625,9],[7421,9]]},"202":{"position":[[6625,9],[7421,9]]},"267":{"position":[[5164,9],[6022,9]]},"364":{"position":[[599,8]]},"459":{"position":[[975,8]]},"463":{"position":[[96,8]]}},"keywords":{}}],["accuraci",{"_index":2855,"title":{},"content":{"299":{"position":[[949,8]]}},"keywords":{}}],["act",{"_index":401,"title":{},"content":{"20":{"position":[[154,3]]},"134":{"position":[[139,3],[193,4]]},"246":{"position":[[221,4]]},"467":{"position":[[1408,3]]}},"keywords":{}}],["action",{"_index":1551,"title":{},"content":{"81":{"position":[[99,7]]},"231":{"position":[[1069,6],[1090,7]]},"233":{"position":[[818,6]]},"297":{"position":[[373,6]]},"310":{"position":[[78,7]]},"360":{"position":[[1023,6]]},"465":{"position":[[586,7]]},"467":{"position":[[1169,6]]},"469":{"position":[[212,7],[654,8]]},"476":{"position":[[3637,7]]},"480":{"position":[[330,6]]},"504":{"position":[[302,6]]},"505":{"position":[[636,7]]},"511":{"position":[[222,6],[268,6]]},"514":{"position":[[65,7],[594,7]]},"528":{"position":[[738,6],[765,7],[852,7]]},"734":{"position":[[33,7]]}},"keywords":{}}],["actionc",{"_index":2249,"title":{},"content":{"227":{"position":[[467,11],[490,11],[861,11]]}},"keywords":{}}],["actioncable.createconsumer('/openc3",{"_index":2251,"title":{},"content":{"227":{"position":[[893,35]]}},"keywords":{}}],["activ",{"_index":2974,"title":{"527":{"position":[[0,9]]}},"content":{"310":{"position":[[725,10]]},"324":{"position":[[238,8]]},"462":{"position":[[376,8]]},"474":{"position":[[145,10]]},"480":{"position":[[1160,10]]},"482":{"position":[[1169,10]]},"486":{"position":[[10,8]]},"488":{"position":[[2185,10]]},"513":{"position":[[550,9],[580,6]]},"514":{"position":[[1239,6]]},"523":{"position":[[177,10],[194,10]]},"527":{"position":[[26,10],[72,10],[227,10],[409,10]]},"528":{"position":[[280,9],[374,8],[399,8],[559,11],[1179,8],[1233,8],[1284,8],[1368,8],[1469,9],[1504,8],[1641,8]]},"577":{"position":[[803,6],[865,6]]},"584":{"position":[[243,7],[359,7]]}},"keywords":{}}],["activemq",{"_index":1883,"title":{},"content":{"108":{"position":[[399,9]]}},"keywords":{}}],["actual",{"_index":543,"title":{},"content":{"24":{"position":[[593,8]]},"61":{"position":[[1039,6]]},"69":{"position":[[4914,6]]},"79":{"position":[[362,8]]},"99":{"position":[[5232,6]]},"143":{"position":[[376,6]]},"253":{"position":[[6164,6],[6635,6]]},"262":{"position":[[79,8]]},"359":{"position":[[256,6]]},"501":{"position":[[458,6]]},"504":{"position":[[603,6]]},"548":{"position":[[159,6]]},"617":{"position":[[811,6]]},"681":{"position":[[410,6],[477,6]]}},"keywords":{}}],["ad",{"_index":1476,"title":{"523":{"position":[[0,6]]},"556":{"position":[[0,6]]},"564":{"position":[[0,6]]}},"content":{"69":{"position":[[3800,6]]},"99":{"position":[[898,6],[1007,6]]},"184":{"position":[[193,5]]},"227":{"position":[[2160,5],[2233,5],[2334,6],[3349,6]]},"257":{"position":[[1826,5]]},"292":{"position":[[136,6]]},"308":{"position":[[184,6],[289,6],[378,6]]},"311":{"position":[[220,2],[300,2],[374,2],[485,2],[578,2],[664,2],[698,6],[750,2],[832,2]]},"332":{"position":[[657,6]]},"359":{"position":[[828,6]]},"368":{"position":[[257,5]]},"411":{"position":[[162,5]]},"488":{"position":[[91,5]]},"508":{"position":[[344,6]]},"523":{"position":[[1,6]]},"528":{"position":[[529,7]]},"556":{"position":[[327,5],[580,5]]},"557":{"position":[[13,5]]},"600":{"position":[[429,6]]},"611":{"position":[[12,5],[745,5]]}},"keywords":{}}],["ad0c",{"_index":1007,"title":{},"content":{"43":{"position":[[4573,4]]}},"keywords":{}}],["adapt",{"_index":3697,"title":{},"content":{"364":{"position":[[287,6]]}},"keywords":{}}],["adc",{"_index":3476,"title":{},"content":{"357":{"position":[[437,6],[606,4],[631,4]]},"405":{"position":[[574,4],[623,4]]},"418":{"position":[[598,4]]},"422":{"position":[[579,4],[621,4]]},"499":{"position":[[602,9],[939,9]]},"591":{"position":[[440,6]]},"675":{"position":[[391,9]]},"676":{"position":[[488,9],[991,9]]},"743":{"position":[[134,6]]},"772":{"position":[[288,8],[391,8]]},"773":{"position":[[460,7]]},"774":{"position":[[346,7]]},"775":{"position":[[354,7]]}},"keywords":{}}],["adcs2",{"_index":4549,"title":{},"content":{"591":{"position":[[423,7]]}},"keywords":{}}],["add",{"_index":273,"title":{},"content":{"7":{"position":[[1119,3]]},"15":{"position":[[79,3]]},"16":{"position":[[81,3]]},"21":{"position":[[1,3]]},"36":{"position":[[74,4],[292,3],[6102,4],[6722,4],[7797,4]]},"46":{"position":[[577,3]]},"54":{"position":[[2320,4]]},"59":{"position":[[442,3]]},"67":{"position":[[22,3]]},"84":{"position":[[1181,3]]},"85":{"position":[[1470,3]]},"95":{"position":[[426,3]]},"112":{"position":[[372,3]]},"122":{"position":[[294,4]]},"133":{"position":[[103,3]]},"171":{"position":[[68,4]]},"184":{"position":[[47,4]]},"198":{"position":[[477,3]]},"202":{"position":[[74,4],[292,3],[6102,4],[6722,4],[7797,4]]},"208":{"position":[[449,3]]},"225":{"position":[[155,3],[500,3]]},"227":{"position":[[1447,3]]},"229":{"position":[[714,3]]},"230":{"position":[[2514,3]]},"231":{"position":[[1177,3]]},"232":{"position":[[493,3],[862,3]]},"233":{"position":[[529,3],[941,3],[1082,3],[1102,3]]},"234":{"position":[[887,3]]},"235":{"position":[[1708,3]]},"239":{"position":[[323,3]]},"253":{"position":[[990,3],[6082,3],[6248,3],[7706,4]]},"259":{"position":[[508,3]]},"267":{"position":[[69,4],[287,3],[4581,4],[5259,4],[6393,4]]},"282":{"position":[[159,3]]},"284":{"position":[[1,4],[349,3]]},"292":{"position":[[1,3],[274,3]]},"297":{"position":[[674,3]]},"307":{"position":[[205,3],[562,3],[655,3]]},"308":{"position":[[220,3],[322,3],[411,3]]},"310":{"position":[[294,3],[388,3],[466,3]]},"311":{"position":[[729,3],[899,3]]},"319":{"position":[[133,3]]},"341":{"position":[[83,3]]},"343":{"position":[[661,3]]},"352":{"position":[[1219,3]]},"418":{"position":[[608,3],[736,3]]},"419":{"position":[[656,3],[789,3]]},"420":{"position":[[624,3],[761,3]]},"449":{"position":[[263,3]]},"476":{"position":[[1733,3]]},"490":{"position":[[313,3]]},"491":{"position":[[70,3]]},"508":{"position":[[428,3]]},"525":{"position":[[590,3]]},"528":{"position":[[391,3],[1263,4]]},"556":{"position":[[221,3],[480,3]]},"564":{"position":[[45,3],[122,3],[220,3]]},"599":{"position":[[3,3]]},"600":{"position":[[201,3],[210,4],[553,3]]},"753":{"position":[[48,3]]},"754":{"position":[[1,4],[59,4],[196,4],[281,4],[361,4],[422,3]]}},"keywords":{}}],["add_group",{"_index":4604,"title":{"754":{"position":[[0,10]]}},"content":{"611":{"position":[[91,9]]},"754":{"position":[[42,9]]}},"keywords":{}}],["add_group(<group",{"_index":5480,"title":{},"content":{"754":{"position":[[514,19]]}},"keywords":{}}],["add_group('examplegroup",{"_index":4607,"title":{},"content":{"611":{"position":[[179,25]]},"754":{"position":[[1414,25]]}},"keywords":{}}],["add_group_setup",{"_index":5474,"title":{"754":{"position":[[11,16]]}},"content":{"754":{"position":[[173,15]]}},"keywords":{}}],["add_group_setup(<group",{"_index":5482,"title":{},"content":{"754":{"position":[[545,25]]}},"keywords":{}}],["add_group_setup('wrappergroup",{"_index":5489,"title":{},"content":{"754":{"position":[[1440,31]]}},"keywords":{}}],["add_group_teardown",{"_index":5475,"title":{"754":{"position":[[28,19]]}},"content":{"754":{"position":[[255,18]]}},"keywords":{}}],["add_group_teardown(<group",{"_index":5483,"title":{},"content":{"754":{"position":[[582,28]]}},"keywords":{}}],["add_group_teardown('wrappergroup",{"_index":5491,"title":{},"content":{"754":{"position":[[1512,34]]}},"keywords":{}}],["add_script",{"_index":5476,"title":{"754":{"position":[[48,11]]}},"content":{"754":{"position":[[343,10],[407,10]]}},"keywords":{}}],["add_script(<group",{"_index":5484,"title":{},"content":{"754":{"position":[[622,20]]}},"keywords":{}}],["add_script('wrappergroup",{"_index":5490,"title":{},"content":{"754":{"position":[[1472,26]]}},"keywords":{}}],["addit",{"_index":185,"title":{},"content":{"5":{"position":[[1399,9]]},"9":{"position":[[577,11]]},"36":{"position":[[764,10],[5304,10],[6354,10],[7150,10]]},"54":{"position":[[3213,9]]},"69":{"position":[[2575,10]]},"112":{"position":[[436,10]]},"123":{"position":[[831,10]]},"134":{"position":[[651,10]]},"135":{"position":[[161,10]]},"143":{"position":[[621,10]]},"202":{"position":[[764,10],[5304,10],[6354,10],[7150,10]]},"213":{"position":[[153,10]]},"215":{"position":[[370,10]]},"224":{"position":[[477,10]]},"235":{"position":[[382,10]]},"239":{"position":[[486,10]]},"253":{"position":[[6105,10]]},"267":{"position":[[759,10],[3785,10],[4893,10],[5751,10]]},"275":{"position":[[162,10]]},"355":{"position":[[676,9]]},"363":{"position":[[738,10]]},"374":{"position":[[79,10]]},"404":{"position":[[534,10],[623,10]]},"411":{"position":[[137,10]]},"418":{"position":[[612,10]]},"421":{"position":[[200,10]]},"462":{"position":[[296,10]]},"472":{"position":[[106,10]]},"476":{"position":[[3735,10],[4790,10]]},"504":{"position":[[482,10]]},"514":{"position":[[508,10]]},"523":{"position":[[252,10]]},"575":{"position":[[312,9]]},"578":{"position":[[789,10]]},"603":{"position":[[272,10]]},"613":{"position":[[37,10]]},"616":{"position":[[223,10]]}},"keywords":{}}],["addition",{"_index":2420,"title":{},"content":{"237":{"position":[[369,13]]},"403":{"position":[[286,12]]},"427":{"position":[[177,12]]},"465":{"position":[[375,13]]},"492":{"position":[[591,13]]},"736":{"position":[[403,13]]}},"keywords":{}}],["address",{"_index":439,"title":{},"content":{"20":{"position":[[779,7]]},"22":{"position":[[349,8],[461,8]]},"51":{"position":[[143,7],[456,7],[519,7],[571,7]]},"121":{"position":[[254,9]]},"135":{"position":[[543,7]]},"253":{"position":[[7671,7],[7749,7]]},"321":{"position":[[1122,7]]},"322":{"position":[[332,7],[1974,7]]},"347":{"position":[[2065,9]]},"402":{"position":[[479,7],[509,7],[598,8]]},"461":{"position":[[943,7],[1002,7]]},"462":{"position":[[644,7]]},"467":{"position":[[297,8],[483,8]]},"468":{"position":[[239,7]]}},"keywords":{}}],["adequ",{"_index":4064,"title":{},"content":{"459":{"position":[[861,9]]}},"keywords":{}}],["adher",{"_index":3699,"title":{},"content":{"364":{"position":[[395,6]]},"469":{"position":[[465,7]]},"471":{"position":[[53,7]]}},"keywords":{}}],["adjust",{"_index":2507,"title":{},"content":{"253":{"position":[[259,6]]},"257":{"position":[[843,6]]},"289":{"position":[[1098,6]]},"329":{"position":[[1637,6]]},"564":{"position":[[341,6]]}},"keywords":{}}],["admin",{"_index":2106,"title":{"311":{"position":[[0,6]]}},"content":{"192":{"position":[[108,5]]},"253":{"position":[[456,5]]},"254":{"position":[[500,5],[2049,5]]},"311":{"position":[[5,5],[150,5],[229,5],[309,5],[383,5],[494,5],[587,5],[673,5],[759,5],[841,5]]},"322":{"position":[[67,5]]},"334":{"position":[[719,5]]},"518":{"position":[[231,6]]},"520":{"position":[[172,6]]},"540":{"position":[[168,5]]},"548":{"position":[[185,7]]},"765":{"position":[[60,5]]},"769":{"position":[[32,5],[139,5]]}},"keywords":{}}],["administr",{"_index":2976,"title":{},"content":{"311":{"position":[[25,14]]}},"keywords":{}}],["advanc",{"_index":2067,"title":{"506":{"position":[[0,8]]},"507":{"position":[[0,8]]}},"content":{"176":{"position":[[468,8]]}},"keywords":{}}],["advantag",{"_index":4325,"title":{},"content":{"490":{"position":[[856,12]]}},"keywords":{}}],["advic",{"_index":3245,"title":{},"content":{"329":{"position":[[1508,6]]}},"keywords":{}}],["aerospac",{"_index":3630,"title":{},"content":{"359":{"position":[[2159,9]]},"363":{"position":[[17,9],[196,9],[314,10]]}},"keywords":{}}],["affect",{"_index":704,"title":{},"content":{"36":{"position":[[2162,6]]},"198":{"position":[[1250,6]]},"202":{"position":[[2162,6]]},"208":{"position":[[219,6]]},"273":{"position":[[219,6]]},"369":{"position":[[165,6]]},"496":{"position":[[1059,7]]},"540":{"position":[[527,8]]},"578":{"position":[[1113,8]]},"599":{"position":[[152,9],[431,6]]},"700":{"position":[[1763,7],[1907,7]]}},"keywords":{}}],["afterward",{"_index":1484,"title":{},"content":{"69":{"position":[[4801,11]]}},"keywords":{}}],["ag",{"_index":3354,"title":{},"content":{"347":{"position":[[2354,2]]}},"keywords":{}}],["again",{"_index":583,"title":{},"content":{"27":{"position":[[488,5]]},"36":{"position":[[4636,6],[8628,6]]},"202":{"position":[[4636,6],[8628,6]]},"283":{"position":[[690,5]]},"289":{"position":[[1240,6]]},"292":{"position":[[746,6]]},"304":{"position":[[6706,5]]},"344":{"position":[[86,5]]},"514":{"position":[[1156,6],[1527,6]]},"578":{"position":[[1319,5]]},"611":{"position":[[541,5]]}},"keywords":{}}],["against",{"_index":2060,"title":{},"content":{"170":{"position":[[190,7]]},"183":{"position":[[196,7]]},"193":{"position":[[188,7]]},"196":{"position":[[190,7]]},"263":{"position":[[1683,7]]},"324":{"position":[[561,7]]},"449":{"position":[[516,7]]},"459":{"position":[[1853,7],[1901,7]]},"480":{"position":[[470,8]]},"501":{"position":[[217,7],[263,7]]},"504":{"position":[[554,7],[664,7]]},"656":{"position":[[671,7]]},"657":{"position":[[35,7]]},"681":{"position":[[1037,7]]},"685":{"position":[[652,7]]}},"keywords":{}}],["age=0",{"_index":922,"title":{},"content":{"42":{"position":[[583,6]]},"43":{"position":[[935,6],[1057,6],[6343,6]]}},"keywords":{}}],["age=31536000",{"_index":977,"title":{},"content":{"43":{"position":[[1131,13]]}},"keywords":{}}],["agent",{"_index":1052,"title":{},"content":{"44":{"position":[[1108,6]]},"87":{"position":[[87,5]]}},"keywords":{}}],["aggreg",{"_index":3406,"title":{},"content":{"352":{"position":[[204,9]]}},"keywords":{}}],["agil",{"_index":2841,"title":{},"content":{"298":{"position":[[991,7]]}},"keywords":{}}],["ago",{"_index":1583,"title":{},"content":{"83":{"position":[[1015,3],[1096,3],[1169,3],[1232,3],[1291,3],[1351,3],[1413,3],[1473,3],[1532,3],[1591,3]]}},"keywords":{}}],["agpl",{"_index":3607,"title":{},"content":{"359":{"position":[[319,4]]}},"keywords":{}}],["agplv3",{"_index":2326,"title":{"359":{"position":[[0,7]]}},"content":{"229":{"position":[[571,7]]},"359":{"position":[[87,6],[233,6],[773,7],[1188,6],[1361,6],[1476,6],[1580,6],[1634,6],[1847,6]]},"361":{"position":[[148,7]]},"362":{"position":[[442,6]]}},"keywords":{}}],["agreement",{"_index":3631,"title":{},"content":{"359":{"position":[[2190,10]]},"363":{"position":[[162,9]]}},"keywords":{}}],["ahead",{"_index":2575,"title":{},"content":{"254":{"position":[[798,5]]},"476":{"position":[[569,5]]}},"keywords":{}}],["aid",{"_index":2920,"title":{},"content":{"304":{"position":[[4590,3]]}},"keywords":{}}],["aim",{"_index":4161,"title":{},"content":{"474":{"position":[[12,4]]}},"keywords":{}}],["air",{"_index":2435,"title":{},"content":{"240":{"position":[[687,3]]}},"keywords":{}}],["aka",{"_index":1865,"title":{},"content":{"107":{"position":[[60,4]]}},"keywords":{}}],["alert",{"_index":2884,"title":{},"content":{"304":{"position":[[371,8]]},"351":{"position":[[85,8],[280,7]]},"352":{"position":[[272,7]]},"353":{"position":[[130,6]]},"432":{"position":[[244,6]]},"436":{"position":[[244,6]]},"461":{"position":[[202,5]]}},"keywords":{}}],["alert("date:"+d",{"_index":3944,"title":{},"content":{"432":{"position":[[320,31]]}},"keywords":{}}],["alert("time:"+tim",{"_index":3958,"title":{},"content":{"436":{"position":[[320,31]]}},"keywords":{}}],["algorithm",{"_index":1306,"title":{},"content":{"57":{"position":[[61,9],[400,9]]}},"keywords":{}}],["algorithm).day",{"_index":456,"title":{},"content":{"20":{"position":[[1037,15]]}},"keywords":{}}],["align",{"_index":3109,"title":{},"content":{"321":{"position":[[3452,9]]},"329":{"position":[[422,7],[830,8]]},"404":{"position":[[471,6]]}},"keywords":{}}],["aliv",{"_index":1049,"title":{},"content":{"44":{"position":[[927,6],[2428,6]]}},"keywords":{}}],["all"",{"_index":2548,"title":{},"content":{"253":{"position":[[5719,9]]},"269":{"position":[[126,9]]}},"keywords":{}}],["alloc",{"_index":2053,"title":{},"content":{"169":{"position":[[31,8]]},"289":{"position":[[345,9],[414,9]]},"357":{"position":[[848,9]]}},"keywords":{}}],["allow",{"_index":194,"title":{},"content":{"6":{"position":[[73,6]]},"31":{"position":[[382,6]]},"35":{"position":[[876,7],[936,7]]},"36":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9868,6],[10043,9],[10127,5]]},"37":{"position":[[669,7],[729,7]]},"44":{"position":[[112,6]]},"51":{"position":[[650,7]]},"56":{"position":[[368,5]]},"59":{"position":[[315,5]]},"61":{"position":[[2306,7]]},"64":{"position":[[105,5],[622,7]]},"69":{"position":[[4968,6]]},"93":{"position":[[312,6],[393,6]]},"99":{"position":[[4115,6]]},"120":{"position":[[135,5]]},"121":{"position":[[308,5],[653,6]]},"143":{"position":[[306,6]]},"184":{"position":[[163,6]]},"201":{"position":[[905,7],[965,7]]},"202":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9868,6],[10043,9],[10127,5]]},"203":{"position":[[688,7],[748,7]]},"204":{"position":[[1075,7],[1135,7]]},"205":{"position":[[911,7],[971,7]]},"227":{"position":[[639,5]]},"230":{"position":[[618,5]]},"231":{"position":[[722,5]]},"239":{"position":[[236,6]]},"246":{"position":[[88,5]]},"250":{"position":[[344,6]]},"251":{"position":[[202,6]]},"253":{"position":[[6480,5],[7216,6],[7427,6]]},"257":{"position":[[372,6]]},"263":{"position":[[1611,6]]},"267":{"position":[[1092,7],[1235,6],[1980,5],[2079,6],[2170,6],[8235,5],[9605,6],[9992,6]]},"277":{"position":[[69,6]]},"287":{"position":[[154,5]]},"300":{"position":[[65,5],[202,5],[332,5],[454,5],[524,5],[628,5],[734,5],[836,5]]},"301":{"position":[[298,5],[1257,5],[1412,5]]},"303":{"position":[[425,5],[594,5],[1040,5],[2244,5]]},"304":{"position":[[2330,5],[2461,5],[4322,5],[5956,8],[6029,5]]},"305":{"position":[[209,5],[1190,5]]},"306":{"position":[[99,5]]},"310":{"position":[[154,5],[246,5],[342,5],[435,5],[710,5],[813,5]]},"311":{"position":[[167,5]]},"324":{"position":[[1157,6],[3589,5],[3702,5],[3747,6]]},"325":{"position":[[696,5]]},"334":{"position":[[105,5]]},"345":{"position":[[613,6]]},"356":{"position":[[351,8]]},"357":{"position":[[109,5],[657,7]]},"359":{"position":[[324,6],[709,7],[1430,6]]},"361":{"position":[[51,6],[216,5]]},"373":{"position":[[253,6]]},"374":{"position":[[69,5]]},"383":{"position":[[253,6]]},"384":{"position":[[18,5]]},"461":{"position":[[101,5]]},"482":{"position":[[1224,6]]},"483":{"position":[[36,5]]},"487":{"position":[[40,5]]},"488":{"position":[[731,6],[2121,6]]},"492":{"position":[[52,6],[323,6],[684,6]]},"495":{"position":[[118,5]]},"496":{"position":[[131,6]]},"501":{"position":[[57,5]]},"505":{"position":[[437,5]]},"508":{"position":[[72,6],[338,5]]},"510":{"position":[[11,6]]},"511":{"position":[[255,5]]},"512":{"position":[[117,6]]},"514":{"position":[[274,6],[368,6],[1141,7],[1512,7]]},"516":{"position":[[83,6]]},"517":{"position":[[739,6]]},"522":{"position":[[106,5]]},"525":{"position":[[10,6],[239,6]]},"558":{"position":[[204,6]]},"559":{"position":[[170,5]]},"561":{"position":[[13,6]]},"577":{"position":[[835,6]]},"593":{"position":[[166,6],[373,5],[611,6]]},"596":{"position":[[50,6]]},"599":{"position":[[1194,6]]},"600":{"position":[[539,6]]},"601":{"position":[[164,6],[376,5],[613,6],[796,6],[912,6]]},"606":{"position":[[381,6]]},"607":{"position":[[441,5],[480,6]]},"608":{"position":[[757,6]]},"612":{"position":[[248,6],[908,7],[1078,6]]},"613":{"position":[[251,6]]},"617":{"position":[[226,6]]},"622":{"position":[[15,5]]},"623":{"position":[[421,5]]},"624":{"position":[[387,5]]},"632":{"position":[[1091,7]]},"655":{"position":[[15,5]]},"669":{"position":[[306,6]]},"675":{"position":[[1,6]]},"676":{"position":[[693,5],[1191,5]]},"680":{"position":[[15,5]]},"708":{"position":[[15,5]]},"716":{"position":[[30,8]]},"719":{"position":[[15,5]]},"729":{"position":[[15,5]]},"735":{"position":[[15,5]]},"738":{"position":[[15,5]]},"745":{"position":[[19,6]]},"746":{"position":[[18,6]]},"747":{"position":[[15,5]]},"752":{"position":[[317,8]]},"755":{"position":[[15,5]]},"759":{"position":[[10,6]]},"765":{"position":[[91,5]]},"770":{"position":[[81,5]]}},"keywords":{}}],["allow_empty_data",{"_index":1489,"title":{},"content":{"71":{"position":[[179,16],[313,17],[836,16]]},"75":{"position":[[800,17],[841,18],[868,17],[1493,16]]}},"keywords":{}}],["allow_empty_data.nil",{"_index":1514,"title":{},"content":{"75":{"position":[[680,22]]}},"keywords":{}}],["allow_empty_data=non",{"_index":1494,"title":{},"content":{"71":{"position":[[450,23]]}},"keywords":{}}],["allow_short",{"_index":2697,"title":{"277":{"position":[[0,12]]}},"content":{},"keywords":{}}],["along",{"_index":2454,"title":{},"content":{"242":{"position":[[33,5]]},"257":{"position":[[894,6]]},"476":{"position":[[1155,5]]},"540":{"position":[[70,5]]},"606":{"position":[[441,5]]},"650":{"position":[[44,5]]},"661":{"position":[[44,5]]},"767":{"position":[[40,5]]}},"keywords":{}}],["alphabet",{"_index":2116,"title":{},"content":{"198":{"position":[[291,15]]},"230":{"position":[[975,12]]},"259":{"position":[[319,15]]},"572":{"position":[[53,12]]}},"keywords":{}}],["alpin",{"_index":2423,"title":{},"content":{"239":{"position":[[157,6],[289,7]]},"289":{"position":[[1617,6]]}},"keywords":{}}],["alpine_build=9",{"_index":1616,"title":{},"content":{"83":{"position":[[1878,14]]}},"keywords":{}}],["alpine_version=3.18",{"_index":1615,"title":{},"content":{"83":{"position":[[1858,19]]}},"keywords":{}}],["alreadi",{"_index":540,"title":{},"content":{"24":{"position":[[460,7]]},"36":{"position":[[4789,7],[8781,7]]},"83":{"position":[[355,7]]},"122":{"position":[[222,7]]},"198":{"position":[[540,7]]},"202":{"position":[[4789,7],[8781,7]]},"230":{"position":[[1073,7]]},"253":{"position":[[714,7]]},"259":{"position":[[571,7]]},"267":{"position":[[2291,7]]},"325":{"position":[[380,7]]},"347":{"position":[[1373,7]]},"476":{"position":[[961,7]]},"591":{"position":[[454,7]]},"746":{"position":[[801,7]]}},"keywords":{}}],["alter",{"_index":4105,"title":{},"content":{"464":{"position":[[223,11]]}},"keywords":{}}],["altern",{"_index":3139,"title":{},"content":{"324":{"position":[[187,11]]},"379":{"position":[[170,13]]},"380":{"position":[[164,13]]},"381":{"position":[[175,13]]},"462":{"position":[[579,14]]},"497":{"position":[[223,14]]}},"keywords":{}}],["although",{"_index":154,"title":{},"content":{"5":{"position":[[388,8]]},"64":{"position":[[221,8]]}},"keywords":{}}],["alway",{"_index":155,"title":{},"content":{"5":{"position":[[417,6]]},"24":{"position":[[762,6]]},"35":{"position":[[288,6]]},"36":{"position":[[2031,6],[4295,6]]},"56":{"position":[[609,6]]},"69":{"position":[[244,6]]},"71":{"position":[[61,6]]},"76":{"position":[[954,6]]},"77":{"position":[[817,6]]},"78":{"position":[[823,6]]},"79":{"position":[[208,6],[1159,6]]},"144":{"position":[[131,6]]},"201":{"position":[[317,6]]},"202":{"position":[[2031,6],[4295,6]]},"206":{"position":[[334,6]]},"229":{"position":[[952,6]]},"230":{"position":[[509,6]]},"231":{"position":[[601,6]]},"235":{"position":[[1057,6]]},"266":{"position":[[316,6]]},"267":{"position":[[3244,6]]},"271":{"position":[[333,6]]},"329":{"position":[[256,6],[301,6]]},"470":{"position":[[91,6]]},"479":{"position":[[102,6]]},"492":{"position":[[575,6]]},"495":{"position":[[1028,6]]},"528":{"position":[[952,6]]},"618":{"position":[[880,6]]},"621":{"position":[[3946,6]]},"624":{"position":[[59,6]]}},"keywords":{}}],["amazon/opendistro",{"_index":3401,"title":{},"content":{"351":{"position":[[486,17]]}},"keywords":{}}],["amend",{"_index":4126,"title":{},"content":{"466":{"position":[[454,7]]}},"keywords":{}}],["amount",{"_index":1343,"title":{},"content":{"60":{"position":[[43,6]]},"133":{"position":[[367,6],[500,6]]},"167":{"position":[[9,6]]},"680":{"position":[[92,6]]},"681":{"position":[[38,6]]},"682":{"position":[[38,6]]},"685":{"position":[[221,6]]},"686":{"position":[[38,6],[203,6]]},"687":{"position":[[317,6]]},"688":{"position":[[153,6]]},"748":{"position":[[138,6]]},"760":{"position":[[118,6]]}},"keywords":{}}],["amp",{"_index":288,"title":{},"content":{"8":{"position":[[131,6],[192,5]]},"328":{"position":[[486,5]]},"332":{"position":[[385,5]]},"355":{"position":[[481,5],[529,5],[888,5]]},"363":{"position":[[27,5],[206,5]]}},"keywords":{}}],["amp;&",{"_index":3013,"title":{},"content":{"318":{"position":[[248,10],[280,10],[338,10],[426,10],[460,10],[511,10]]},"328":{"position":[[1035,10]]},"350":{"position":[[1394,10]]}},"keywords":{}}],["ampersand",{"_index":287,"title":{},"content":{"8":{"position":[[110,9],[250,9]]}},"keywords":{}}],["analysi",{"_index":2960,"title":{},"content":{"308":{"position":[[78,8]]},"476":{"position":[[3889,8]]},"499":{"position":[[231,8]]}},"keywords":{}}],["analyt",{"_index":3430,"title":{},"content":{"353":{"position":[[41,9]]}},"keywords":{}}],["analyz",{"_index":1510,"title":{},"content":{"75":{"position":[[33,7],[161,9]]},"76":{"position":[[35,7],[186,9]]},"77":{"position":[[36,7],[185,9]]},"78":{"position":[[34,7],[175,8]]}},"keywords":{}}],["and/or",{"_index":1503,"title":{},"content":{"72":{"position":[[91,6]]},"114":{"position":[[45,6]]},"227":{"position":[[229,6]]},"297":{"position":[[279,6],[525,6]]}},"keywords":{}}],["angl",{"_index":2229,"title":{},"content":{"226":{"position":[[743,5]]},"285":{"position":[[988,5]]},"481":{"position":[[490,5]]}},"keywords":{}}],["angledeg",{"_index":2733,"title":{},"content":{"285":{"position":[[951,8]]}},"keywords":{}}],["angular",{"_index":2398,"title":{},"content":{"235":{"position":[[243,8]]},"246":{"position":[[360,8]]}},"keywords":{}}],["anomali",{"_index":4406,"title":{"505":{"position":[[20,10]]}},"content":{},"keywords":{}}],["anoth",{"_index":242,"title":{},"content":{"7":{"position":[[96,7]]},"26":{"position":[[243,7]]},"32":{"position":[[9,7]]},"36":{"position":[[1177,7],[1266,7],[1632,7]]},"95":{"position":[[50,7]]},"202":{"position":[[1177,7],[1266,7],[1632,7]]},"230":{"position":[[1051,7]]},"267":{"position":[[1172,7],[1261,7],[1627,7]]},"297":{"position":[[1236,7]]},"304":{"position":[[1082,7]]},"324":{"position":[[883,7]]},"331":{"position":[[590,7]]},"338":{"position":[[1095,7]]},"356":{"position":[[1,7]]},"357":{"position":[[978,7]]},"441":{"position":[[712,7]]},"442":{"position":[[1625,7]]},"480":{"position":[[846,7]]},"488":{"position":[[1266,7],[1435,7]]},"508":{"position":[[227,7]]},"610":{"position":[[324,7]]},"736":{"position":[[21,7]]}},"keywords":{}}],["another."",{"_index":2430,"title":{},"content":{"240":{"position":[[188,14]]}},"keywords":{}}],["answer",{"_index":4334,"title":{},"content":{"495":{"position":[[442,6],[509,6],[527,6],[728,6],[795,6],[813,6]]},"658":{"position":[[562,6],[809,6]]}},"keywords":{}}],["answer}"",{"_index":4338,"title":{},"content":{"495":{"position":[[567,15],[868,15]]}},"keywords":{}}],["antenna",{"_index":3885,"title":{},"content":{"424":{"position":[[664,7]]}},"keywords":{}}],["anymor",{"_index":3129,"title":{},"content":{"322":{"position":[[1584,8]]}},"keywords":{}}],["anyon",{"_index":3610,"title":{},"content":{"359":{"position":[[452,6],[566,6]]}},"keywords":{}}],["anyth",{"_index":10,"title":{},"content":{"1":{"position":[[111,8]]},"72":{"position":[[414,9]]},"114":{"position":[[261,8]]},"359":{"position":[[819,8],[1001,8],[1104,8]]},"364":{"position":[[119,8],[170,8],[1048,8]]},"511":{"position":[[296,8]]}},"keywords":{}}],["anything.al",{"_index":2846,"title":{},"content":{"298":{"position":[[1274,12]]}},"keywords":{}}],["anywher",{"_index":2623,"title":{},"content":{"262":{"position":[[603,8]]},"481":{"position":[[283,8]]},"736":{"position":[[369,8]]}},"keywords":{}}],["api",{"_index":1027,"title":{"86":{"position":[[5,3]]},"227":{"position":[[10,3]]},"300":{"position":[[0,3]]},"614":{"position":[[10,3]]},"619":{"position":[[14,4]]}},"content":{"44":{"position":[[108,3]]},"69":{"position":[[1005,4],[1275,4]]},"83":{"position":[[1063,3],[1138,3],[2090,3],[2153,3],[2175,3],[2497,3],[2631,3]]},"85":{"position":[[48,3],[69,3],[222,3],[648,3],[669,3],[701,3],[727,3],[796,3],[822,3],[869,3],[1069,3],[1128,3],[1195,3],[1272,3],[1315,3],[1403,3],[1527,3]]},"88":{"position":[[12,3]]},"89":{"position":[[79,3],[150,3]]},"90":{"position":[[45,3],[69,3],[260,4],[302,3],[349,3]]},"91":{"position":[[17,3]]},"95":{"position":[[41,3]]},"117":{"position":[[73,4]]},"227":{"position":[[10,3],[155,3],[416,3],[833,3],[1160,3],[4863,3]]},"240":{"position":[[995,3],[1043,3],[1092,3],[1136,3]]},"251":{"position":[[12,3]]},"300":{"position":[[55,3],[175,3],[192,3],[305,3],[322,3],[427,3],[444,3],[497,3],[514,3],[601,3],[618,3],[707,3],[724,3],[809,3],[826,3],[891,3]]},"304":{"position":[[1943,3]]},"310":{"position":[[49,3]]},"351":{"position":[[243,4]]},"352":{"position":[[297,3],[783,3],[931,3]]},"356":{"position":[[414,3],[437,3]]},"357":{"position":[[1249,3],[1488,3],[2738,3],[2978,3]]},"364":{"position":[[372,3]]},"616":{"position":[[144,4]]},"619":{"position":[[155,3]]},"620":{"position":[[15,3],[84,3]]},"621":{"position":[[15,3]]},"628":{"position":[[552,3]]},"753":{"position":[[40,4]]},"754":{"position":[[795,3],[854,3],[953,3],[1013,3]]},"765":{"position":[[86,4]]},"766":{"position":[[98,5]]},"769":{"position":[[61,3]]},"770":{"position":[[76,4]]},"771":{"position":[[90,5]]}},"keywords":{}}],["api>",{"_index":1684,"title":{},"content":{"85":{"position":[[929,7]]}},"keywords":{}}],["api"",{"_index":1089,"title":{},"content":{"44":{"position":[[2241,9]]}},"keywords":{}}],["api.cmd",{"_index":3907,"title":{},"content":{"429":{"position":[[755,8],[831,10]]}},"keywords":{}}],["api.cmd("inst",{"_index":3918,"title":{},"content":{"429":{"position":[[1765,19]]},"430":{"position":[[403,18]]},"431":{"position":[[403,19]]},"435":{"position":[[385,19]]}},"keywords":{}}],["api.cmd('inst",{"_index":3911,"title":{},"content":{"429":{"position":[[1046,13]]},"434":{"position":[[545,13]]},"446":{"position":[[1017,13],[1128,13]]}},"keywords":{}}],["api.cmd_no_hazardous_check("inst",{"_index":3935,"title":{},"content":{"430":{"position":[[349,38]]}},"keywords":{}}],["api.cmd_no_hazardous_check('inst",{"_index":4003,"title":{},"content":{"446":{"position":[[1085,32]]}},"keywords":{}}],["api.tlm",{"_index":3913,"title":{},"content":{"429":{"position":[[1114,9]]}},"keywords":{}}],["api.tlm('inst",{"_index":3909,"title":{},"content":{"429":{"position":[[994,13]]}},"keywords":{}}],["api/api",{"_index":917,"title":{},"content":{"42":{"position":[[527,7]]},"43":{"position":[[6280,7]]},"89":{"position":[[203,7]]},"95":{"position":[[961,7]]}},"keywords":{}}],["api/c",{"_index":2252,"title":{},"content":{"227":{"position":[[929,11]]}},"keywords":{}}],["api/internal/metrics"",{"_index":3421,"title":{},"content":{"352":{"position":[[664,26]]}},"keywords":{}}],["api/metrics"",{"_index":3423,"title":{},"content":{"352":{"position":[[815,17],[963,17]]}},"keywords":{}}],["api/scripts/target/procedures/cmd_tlm_test.rb/lock?scope=default",{"_index":1045,"title":{},"content":{"44":{"position":[[728,65]]}},"keywords":{}}],["api/storage/download/$bucket_file_uri?bucket=openc3_logs_bucket&scope=default"",{"_index":1138,"title":{},"content":{"44":{"position":[[3819,87]]}},"keywords":{}}],["api:2901"",{"_index":3422,"title":{},"content":{"352":{"position":[[740,15],[882,15]]}},"keywords":{}}],["api:2902"",{"_index":3425,"title":{},"content":{"352":{"position":[[1036,15]]}},"keywords":{}}],["api:latest",{"_index":1627,"title":{},"content":{"83":{"position":[[2403,10],[2531,10]]}},"keywords":{}}],["api_whitelist",{"_index":1713,"title":{},"content":{"90":{"position":[[100,14]]}},"keywords":{}}],["apid",{"_index":249,"title":{},"content":{"7":{"position":[[259,6],[719,4],[1044,4]]}},"keywords":{}}],["apivers",{"_index":3432,"title":{},"content":{"353":{"position":[[217,11]]}},"keywords":{}}],["apk",{"_index":1609,"title":{},"content":{"83":{"position":[[1706,3]]}},"keywords":{}}],["apk_url",{"_index":1613,"title":{},"content":{"83":{"position":[[1806,8]]}},"keywords":{}}],["apk_url=http://dl",{"_index":1619,"title":{},"content":{"83":{"position":[[1962,17]]}},"keywords":{}}],["app",{"_index":1658,"title":{},"content":{"84":{"position":[[357,3]]},"108":{"position":[[155,3]]},"247":{"position":[[108,3]]},"347":{"position":[[490,3]]},"359":{"position":[[484,4]]}},"keywords":{}}],["appclick",{"_index":3315,"title":{},"content":{"347":{"position":[[660,8]]}},"keywords":{}}],["appear",{"_index":355,"title":{},"content":{"13":{"position":[[461,7]]},"14":{"position":[[352,7]]},"33":{"position":[[109,6]]},"57":{"position":[[493,6]]},"123":{"position":[[438,6]]},"194":{"position":[[432,6]]},"210":{"position":[[110,6]]},"254":{"position":[[768,6]]},"278":{"position":[[77,6],[176,9]]},"303":{"position":[[1980,7]]},"332":{"position":[[783,9]]},"345":{"position":[[299,7]]},"395":{"position":[[46,10]]},"525":{"position":[[489,7]]},"527":{"position":[[257,6]]},"605":{"position":[[641,8]]},"613":{"position":[[53,7]]},"617":{"position":[[1315,6]]}},"keywords":{}}],["append",{"_index":1756,"title":{},"content":{"94":{"position":[[420,8]]},"123":{"position":[[599,8]]},"192":{"position":[[153,8]]},"253":{"position":[[3340,6],[5534,6]]},"315":{"position":[[119,6]]},"329":{"position":[[121,6]]},"618":{"position":[[1213,8]]}},"keywords":{}}],["append_array_item",{"_index":2686,"title":{"272":{"position":[[0,18]]}},"content":{"272":{"position":[[734,17]]}},"keywords":{}}],["append_array_paramet",{"_index":2150,"title":{"207":{"position":[[0,23]]}},"content":{"207":{"position":[[732,22]]}},"keywords":{}}],["append_id_item",{"_index":266,"title":{"270":{"position":[[0,15]]}},"content":{"7":{"position":[[679,14],[884,14]]},"232":{"position":[[1013,14]]},"233":{"position":[[1230,14]]},"253":{"position":[[4844,14]]},"260":{"position":[[147,15]]},"270":{"position":[[826,14]]},"321":{"position":[[2835,14]]}},"keywords":{}}],["append_id_paramet",{"_index":2144,"title":{"205":{"position":[[0,20]]}},"content":{"205":{"position":[[1929,19]]},"253":{"position":[[2855,19],[3518,19]]},"254":{"position":[[1453,19]]},"321":{"position":[[407,19],[1251,19],[1783,19],[2283,19]]}},"keywords":{}}],["append_item",{"_index":211,"title":{"268":{"position":[[0,12]]}},"content":{"6":{"position":[[361,11],[660,11],[818,11],[873,11],[928,11],[983,11],[1038,11]]},"7":{"position":[[275,11],[960,11]]},"232":{"position":[[1063,11],[1145,11],[1216,11]]},"233":{"position":[[1280,11],[1423,11],[1494,11]]},"253":{"position":[[4894,11],[4939,11],[5010,11]]},"262":{"position":[[570,12]]},"267":{"position":[[2574,11],[2705,11],[7501,11],[7668,11]]},"268":{"position":[[855,11]]},"321":{"position":[[2930,11],[3020,11],[3110,11],[3169,11],[3264,11],[3325,11],[3387,11],[3462,11]]}},"keywords":{}}],["append_paramet",{"_index":723,"title":{"37":{"position":[[0,17]]},"203":{"position":[[0,17]]}},"content":{"36":{"position":[[3503,16],[3595,16],[9197,16],[9386,16]]},"40":{"position":[[169,16],[279,16],[396,16],[505,16],[620,16],[768,16],[858,16],[919,16],[1063,16],[1198,16],[1336,16],[1419,16]]},"202":{"position":[[3503,16],[3595,16],[9197,16],[9386,16]]},"203":{"position":[[1732,16],[1820,16],[1863,16]]},"226":{"position":[[2408,16]]},"253":{"position":[[2914,16],[2975,16],[3061,16],[3766,16],[3930,16],[4367,16]]},"254":{"position":[[1512,16],[1575,16],[1661,16]]},"321":{"position":[[521,16],[626,16],[713,16],[763,16],[866,16],[1377,16],[1486,16],[1593,16],[1643,16],[1909,16],[2018,16],[2098,16],[2148,16],[2409,16],[2518,16],[2598,16],[2648,16]]}},"keywords":{}}],["applewebkit/537.36",{"_index":1059,"title":{},"content":{"44":{"position":[[1157,18]]}},"keywords":{}}],["appli",{"_index":698,"title":{"469":{"position":[[37,5]]}},"content":{"36":{"position":[[1864,5],[3972,7],[4354,7],[6197,7],[6828,7],[7052,7],[7496,5],[7583,5],[7683,5],[7892,7],[10315,7]]},"54":{"position":[[2958,5],[3011,7]]},"59":{"position":[[647,7]]},"60":{"position":[[1045,7]]},"61":{"position":[[1002,5],[1826,7],[3377,5]]},"62":{"position":[[951,7]]},"63":{"position":[[2135,7]]},"133":{"position":[[770,7]]},"134":{"position":[[244,7],[415,5]]},"139":{"position":[[82,7]]},"167":{"position":[[38,5]]},"169":{"position":[[146,5]]},"175":{"position":[[83,7]]},"202":{"position":[[1864,5],[3972,7],[4354,7],[6197,7],[6828,7],[7052,7],[7496,5],[7583,5],[7683,5],[7892,7],[10315,7]]},"267":{"position":[[1859,5],[2259,7],[2428,5],[2934,7],[3303,7],[4673,7],[5362,7],[5653,7],[6096,5],[6182,5],[6281,5],[6485,7]]},"347":{"position":[[1562,5],[1760,5]]},"359":{"position":[[276,8]]},"363":{"position":[[813,8]]},"372":{"position":[[1,7],[167,7]]},"373":{"position":[[1,7],[605,7]]},"374":{"position":[[1,7],[115,7],[315,7],[410,7]]},"382":{"position":[[1,5]]},"383":{"position":[[1,7],[587,5]]},"384":{"position":[[413,7]]},"401":{"position":[[313,7]]},"402":{"position":[[313,7]]},"403":{"position":[[564,5]]},"404":{"position":[[928,5],[956,7]]},"411":{"position":[[865,5],[888,7]]},"418":{"position":[[453,7],[664,5],[693,7],[1180,7]]},"419":{"position":[[487,7],[717,5],[746,7],[1233,7]]},"420":{"position":[[471,7],[684,5],[718,7],[1205,7]]},"424":{"position":[[333,5],[385,5]]},"441":{"position":[[631,5],[662,7]]},"442":{"position":[[1187,5],[1223,7]]},"444":{"position":[[1095,5],[1130,7]]},"466":{"position":[[269,5],[301,5]]},"469":{"position":[[20,7]]},"475":{"position":[[135,7]]},"577":{"position":[[887,5]]},"718":{"position":[[703,5],[737,7]]},"728":{"position":[[707,5],[741,7]]},"729":{"position":[[217,7]]}},"keywords":{}}],["applic",{"_index":4,"title":{"84":{"position":[[19,12]]}},"content":{"1":{"position":[[22,12]]},"7":{"position":[[742,11],[931,11]]},"57":{"position":[[223,12]]},"84":{"position":[[84,12],[174,11],[614,11],[838,11],[1117,11]]},"117":{"position":[[28,12]]},"133":{"position":[[312,12]]},"184":{"position":[[94,12]]},"226":{"position":[[447,11],[1325,11],[2095,11]]},"235":{"position":[[446,12],[816,12],[1502,11],[1543,12]]},"240":{"position":[[116,11]]},"241":{"position":[[85,13]]},"243":{"position":[[150,13],[201,11]]},"246":{"position":[[122,12],[262,11],[314,12]]},"251":{"position":[[88,11]]},"256":{"position":[[129,12],[277,11],[422,11]]},"285":{"position":[[434,11]]},"291":{"position":[[819,13]]},"297":{"position":[[765,12],[980,12],[1262,12]]},"353":{"position":[[85,12]]},"359":{"position":[[860,12]]},"536":{"position":[[34,11],[219,11]]},"538":{"position":[[283,12]]},"544":{"position":[[84,12]]},"575":{"position":[[20,11]]},"596":{"position":[[33,11]]},"617":{"position":[[30,11]]},"745":{"position":[[137,12]]}},"keywords":{}}],["application'",{"_index":2452,"title":{},"content":{"241":{"position":[[151,13]]}},"keywords":{}}],["application/json",{"_index":899,"title":{},"content":{"42":{"position":[[194,16],[648,16]]},"43":{"position":[[763,16],[4737,16],[6389,16]]},"44":{"position":[[820,17],[2323,17],[2453,17]]}},"keywords":{}}],["application/x",{"_index":953,"title":{},"content":{"43":{"position":[[443,13]]}},"keywords":{}}],["apply"",{"_index":2136,"title":{},"content":{"201":{"position":[[2196,11]]},"203":{"position":[[1933,11]]},"232":{"position":[[1262,11]]},"233":{"position":[[1540,11]]},"253":{"position":[[3131,11],[5056,11]]},"254":{"position":[[1731,11]]}},"keywords":{}}],["appreci",{"_index":3672,"title":{},"content":{"362":{"position":[[662,10]]}},"keywords":{}}],["appropri",{"_index":3333,"title":{"481":{"position":[[13,14]]}},"content":{"347":{"position":[[1217,13]]},"459":{"position":[[1613,11],[1789,11],[1955,11]]},"504":{"position":[[863,11]]},"623":{"position":[[104,11]]},"636":{"position":[[1107,11]]},"637":{"position":[[1329,11]]},"638":{"position":[[1350,11]]},"639":{"position":[[1383,11]]},"640":{"position":[[1183,11]]},"641":{"position":[[1400,11]]},"642":{"position":[[1421,11]]},"643":{"position":[[1454,11]]}},"keywords":{}}],["approv",{"_index":2180,"title":{},"content":{"223":{"position":[[66,8]]},"540":{"position":[[681,7]]}},"keywords":{}}],["approxim",{"_index":3344,"title":{},"content":{"347":{"position":[[1801,13]]},"357":{"position":[[3778,12]]}},"keywords":{}}],["apt",{"_index":3012,"title":{},"content":{"318":{"position":[[233,3],[261,3],[293,3]]},"347":{"position":[[2215,3],[2231,3],[2248,3]]}},"keywords":{}}],["arbitrari",{"_index":4332,"title":{},"content":{"495":{"position":[[128,9]]},"497":{"position":[[161,9]]},"505":{"position":[[626,9],[1153,9]]},"525":{"position":[[31,9]]},"627":{"position":[[88,9]]}},"keywords":{}}],["architectur",{"_index":28,"title":{"2":{"position":[[7,13]]},"298":{"position":[[8,12]]}},"content":{"257":{"position":[[19,12]]},"298":{"position":[[42,13],[79,13]]},"356":{"position":[[589,14]]},"361":{"position":[[563,13]]},"364":{"position":[[665,12]]},"632":{"position":[[397,12]]}},"keywords":{}}],["archiv",{"_index":4061,"title":{},"content":{"459":{"position":[[677,9],[1470,9]]}},"keywords":{}}],["arduino",{"_index":23,"title":{},"content":{"1":{"position":[[236,10]]}},"keywords":{}}],["area",{"_index":3111,"title":{},"content":{"322":{"position":[[73,4]]},"391":{"position":[[51,4]]},"392":{"position":[[18,4]]},"462":{"position":[[334,5]]},"466":{"position":[[74,5]]},"617":{"position":[[900,5],[1330,5]]}},"keywords":{}}],["arg",{"_index":1676,"title":{},"content":{"85":{"position":[[453,3]]},"318":{"position":[[30,3],[65,3],[116,3],[163,3]]}},"keywords":{}}],["argument",{"_index":1205,"title":{},"content":{"49":{"position":[[748,9],[780,9]]},"50":{"position":[[635,9],[667,9]]},"52":{"position":[[827,9],[859,9]]},"90":{"position":[[222,8]]},"140":{"position":[[164,9]]},"178":{"position":[[148,9]]},"215":{"position":[[361,8],[381,8]]},"224":{"position":[[468,8],[488,8]]},"292":{"position":[[928,10],[951,9],[1007,9]]},"320":{"position":[[1215,9]]},"480":{"position":[[1313,10]]},"644":{"position":[[342,9]]}},"keywords":{}}],["ari",{"_index":3816,"title":{},"content":{"401":{"position":[[593,3]]}},"keywords":{}}],["aris",{"_index":3647,"title":{},"content":{"360":{"position":[[1064,7]]}},"keywords":{}}],["arm",{"_index":3299,"title":{},"content":{"347":{"position":[[43,3]]}},"keywords":{}}],["around",{"_index":291,"title":{},"content":{"8":{"position":[[388,6]]},"485":{"position":[[375,6]]},"487":{"position":[[237,7]]},"593":{"position":[[26,6],[121,6]]},"601":{"position":[[25,6],[119,6]]},"636":{"position":[[1377,6]]}},"keywords":{}}],["array",{"_index":1714,"title":{"401":{"position":[[0,6]]}},"content":{"90":{"position":[[147,5]]},"206":{"position":[[70,5],[423,5],[472,5],[543,5],[580,6],[639,5],[965,5]]},"207":{"position":[[70,5],[206,5],[255,5],[326,5],[363,6],[422,5],[755,5]]},"227":{"position":[[4945,6],[4978,5],[5111,5],[5287,5]]},"271":{"position":[[69,5],[416,5],[465,5],[536,5],[573,6],[632,5],[953,5]]},"272":{"position":[[69,5],[208,5],[257,5],[328,5],[365,6],[424,5],[752,5]]},"329":{"position":[[1372,5]]},"357":{"position":[[444,6]]},"401":{"position":[[10,5],[329,5],[386,5],[568,5],[633,5]]},"402":{"position":[[329,5]]},"476":{"position":[[4092,5],[4551,5]]},"632":{"position":[[1592,5],[1988,5]]},"646":{"position":[[12,5],[91,5],[103,5]]},"647":{"position":[[12,5]]},"662":{"position":[[120,5],[129,6]]},"663":{"position":[[382,5]]},"664":{"position":[[12,5]]},"665":{"position":[[12,5]]},"673":{"position":[[12,5]]},"675":{"position":[[229,5]]},"678":{"position":[[31,5]]},"701":{"position":[[12,5]]},"702":{"position":[[214,5],[223,6]]},"705":{"position":[[51,6]]},"707":{"position":[[64,5],[73,6]]},"710":{"position":[[54,6]]},"715":{"position":[[66,5],[75,6]]},"722":{"position":[[51,6]]},"724":{"position":[[63,5],[72,6]]}},"keywords":{}}],["array_item",{"_index":2684,"title":{"271":{"position":[[0,11]]}},"content":{"271":{"position":[[942,10]]}},"keywords":{}}],["array_paramet",{"_index":2145,"title":{"206":{"position":[[0,16]]}},"content":{"206":{"position":[[949,15]]}},"keywords":{}}],["arriv",{"_index":4567,"title":{},"content":{"599":{"position":[[1084,7],[1244,7]]},"675":{"position":[[72,7]]}},"keywords":{}}],["arrow",{"_index":4328,"title":{},"content":{"490":{"position":[[1160,7]]}},"keywords":{}}],["art",{"_index":4051,"title":{},"content":{"459":{"position":[[97,3]]}},"keywords":{}}],["articl",{"_index":4055,"title":{},"content":{"459":{"position":[[365,7]]}},"keywords":{}}],["ary2",{"_index":3819,"title":{},"content":{"401":{"position":[[658,4]]}},"keywords":{}}],["arycmd",{"_index":4903,"title":{},"content":{"647":{"position":[[287,9],[413,9]]}},"keywords":{}}],["ascii",{"_index":1736,"title":{},"content":{"93":{"position":[[1237,5]]},"99":{"position":[[1528,5],[2016,5],[3846,5],[4287,5],[5173,5]]},"198":{"position":[[684,5]]},"259":{"position":[[711,5],[1323,5],[1357,5],[1574,6]]},"366":{"position":[[364,5]]}},"keywords":{}}],["asciicmd",{"_index":4904,"title":{},"content":{"647":{"position":[[297,11],[423,11]]}},"keywords":{}}],["ask",{"_index":718,"title":{"623":{"position":[[0,4]]}},"content":{"36":{"position":[[3214,3]]},"202":{"position":[[3214,3]]},"214":{"position":[[90,6]]},"334":{"position":[[840,4]]},"460":{"position":[[114,5]]},"465":{"position":[[305,3]]},"466":{"position":[[579,3]]},"467":{"position":[[230,5],[439,3]]},"495":{"position":[[151,5],[263,6]]},"496":{"position":[[305,6]]},"525":{"position":[[93,3]]}},"keywords":{}}],["ask("<question>"",{"_index":4732,"title":{},"content":{"623":{"position":[[242,33]]}},"keywords":{}}],["ask("ent",{"_index":4339,"title":{},"content":{"495":{"position":[[644,15],[942,15]]},"623":{"position":[[676,15],[718,15],[774,15],[820,15],[897,15],[939,15],[995,15],[1041,15]]}},"keywords":{}}],["ask("pleas",{"_index":4349,"title":{},"content":{"496":{"position":[[614,16],[811,16]]}},"keywords":{}}],["ask_str",{"_index":4333,"title":{"624":{"position":[[0,11]]}},"content":{"495":{"position":[[161,14]]}},"keywords":{}}],["ask_string("<question>"",{"_index":4739,"title":{},"content":{"624":{"position":[[201,40]]}},"keywords":{}}],["ask_string("do",{"_index":4335,"title":{},"content":{"495":{"position":[[451,19],[737,19]]}},"keywords":{}}],["ask_string("ent",{"_index":4740,"title":{},"content":{"624":{"position":[[643,22],[691,22],[755,22],[822,22],[907,22],[955,22],[1019,22],[1086,22]]}},"keywords":{}}],["aspect",{"_index":1364,"title":{},"content":{"61":{"position":[[2553,6]]},"298":{"position":[[63,7]]},"364":{"position":[[642,6]]},"487":{"position":[[133,6]]}},"keywords":{}}],["assign",{"_index":1925,"title":{},"content":{"121":{"position":[[580,8]]},"136":{"position":[[110,7]]},"176":{"position":[[445,9]]},"429":{"position":[[97,9]]}},"keywords":{}}],["assist",{"_index":4117,"title":{},"content":{"465":{"position":[[517,6]]}},"keywords":{}}],["associ",{"_index":163,"title":{},"content":{"5":{"position":[[633,10]]},"36":{"position":[[1717,10]]},"71":{"position":[[738,10]]},"99":{"position":[[1679,10]]},"116":{"position":[[142,10],[186,10]]},"143":{"position":[[186,10]]},"176":{"position":[[1,9],[41,9],[258,9],[344,9]]},"177":{"position":[[1,9],[45,9],[291,9]]},"179":{"position":[[365,9]]},"190":{"position":[[24,10],[165,9]]},"199":{"position":[[103,10]]},"202":{"position":[[1717,10]]},"225":{"position":[[358,10]]},"230":{"position":[[1898,10]]},"264":{"position":[[114,10]]},"267":{"position":[[1712,10]]},"282":{"position":[[363,10]]},"304":{"position":[[926,10]]},"338":{"position":[[168,10],[289,10]]},"407":{"position":[[287,10]]},"444":{"position":[[117,10]]},"455":{"position":[[28,10]]},"465":{"position":[[184,10]]},"487":{"position":[[96,10]]},"610":{"position":[[954,10]]},"636":{"position":[[817,10]]},"637":{"position":[[1039,10]]},"638":{"position":[[1060,10]]},"639":{"position":[[1093,10]]},"640":{"position":[[893,10]]},"641":{"position":[[1110,10]]},"642":{"position":[[1131,10]]},"643":{"position":[[1164,10]]},"711":{"position":[[21,10]]},"712":{"position":[[26,10]]}},"keywords":{}}],["assum",{"_index":1479,"title":{},"content":{"69":{"position":[[4159,7]]},"253":{"position":[[144,7]]},"256":{"position":[[195,7]]},"257":{"position":[[717,7]]},"368":{"position":[[103,7]]},"486":{"position":[[171,9]]},"498":{"position":[[214,6]]},"628":{"position":[[297,6]]},"629":{"position":[[218,6]]},"630":{"position":[[194,6]]}},"keywords":{}}],["assumpt",{"_index":1160,"title":{},"content":{"46":{"position":[[647,10]]}},"keywords":{}}],["astro",{"_index":2097,"title":{"247":{"position":[[0,5]]}},"content":{"189":{"position":[[246,6]]},"247":{"position":[[26,5],[208,5],[290,5],[332,5]]},"424":{"position":[[140,5],[184,7]]}},"keywords":{}}],["astrouxd",{"_index":2477,"title":{},"content":{"247":{"position":[[5,10]]}},"keywords":{}}],["atla",{"_index":1891,"title":{},"content":{"108":{"position":[[571,7]]}},"keywords":{}}],["attach",{"_index":3255,"title":{},"content":{"334":{"position":[[898,8]]}},"keywords":{}}],["attempt",{"_index":1456,"title":{},"content":{"69":{"position":[[2048,9]]},"93":{"position":[[1305,8]]},"130":{"position":[[280,9]]},"211":{"position":[[107,8]]},"299":{"position":[[559,10]]},"303":{"position":[[1267,7]]}},"keywords":{}}],["attitud",{"_index":5036,"title":{},"content":{"664":{"position":[[450,8]]}},"keywords":{}}],["attr_accessor",{"_index":4291,"title":{},"content":{"487":{"position":[[774,13]]}},"keywords":{}}],["attribut",{"_index":3700,"title":{"455":{"position":[[23,11]]}},"content":{"364":{"position":[[547,11]]},"455":{"position":[[39,10]]}},"keywords":{}}],["aubruze6r0pji6pe1hblpmupbcx3uuiwxu2",{"_index":1000,"title":{},"content":{"43":{"position":[[4353,35]]}},"keywords":{}}],["audit",{"_index":4321,"title":{"489":{"position":[[14,9]]},"493":{"position":[[0,8]]}},"content":{"493":{"position":[[46,5]]}},"keywords":{}}],["august",{"_index":4158,"title":{},"content":{"472":{"position":[[199,6]]}},"keywords":{}}],["auth",{"_index":3337,"title":{},"content":{"347":{"position":[[1328,5]]}},"keywords":{}}],["authent",{"_index":1695,"title":{},"content":{"87":{"position":[[67,12],[212,12]]},"240":{"position":[[1769,14]]}},"keywords":{}}],["author",{"_index":551,"title":{"87":{"position":[[0,14]]}},"content":{"24":{"position":[[860,10],[890,9]]},"44":{"position":[[882,15],[2344,15]]},"87":{"position":[[10,13],[234,14]]},"107":{"position":[[131,9]]},"229":{"position":[[762,8]]},"360":{"position":[[925,7]]},"462":{"position":[[128,10]]},"540":{"position":[[93,9],[140,9],[222,9],[287,9],[379,10],[547,10]]},"612":{"position":[[1096,6],[1190,6]]}},"keywords":{}}],["auto",{"_index":1516,"title":{},"content":{"75":{"position":[[795,4],[1160,4]]},"328":{"position":[[1604,4],[1609,4]]},"369":{"position":[[248,4],[341,4],[492,4],[497,4]]},"446":{"position":[[43,4],[48,4]]},"496":{"position":[[730,4],[942,4]]},"592":{"position":[[160,4]]},"599":{"position":[[1360,5]]},"745":{"position":[[491,4],[496,4],[763,4],[768,4]]},"746":{"position":[[951,4],[956,4],[1234,4],[1239,4]]}},"keywords":{}}],["autom",{"_index":2458,"title":{},"content":{"243":{"position":[[86,10]]},"474":{"position":[[124,8]]},"510":{"position":[[26,9]]},"638":{"position":[[148,8]]},"639":{"position":[[174,8]]},"642":{"position":[[171,8]]},"643":{"position":[[197,8]]}},"keywords":{}}],["automat",{"_index":362,"title":{},"content":{"15":{"position":[[207,9]]},"16":{"position":[[211,9]]},"53":{"position":[[217,13]]},"61":{"position":[[2489,13]]},"75":{"position":[[570,13]]},"76":{"position":[[596,13]]},"77":{"position":[[612,13]]},"78":{"position":[[609,13]]},"79":{"position":[[786,13]]},"128":{"position":[[17,13]]},"263":{"position":[[8,13]]},"332":{"position":[[769,13]]},"334":{"position":[[1362,13]]},"351":{"position":[[159,13]]},"369":{"position":[[277,13],[370,13]]},"386":{"position":[[149,13]]},"429":{"position":[[523,13]]},"461":{"position":[[136,13]]},"482":{"position":[[1319,13]]},"491":{"position":[[104,13]]},"497":{"position":[[50,13]]},"533":{"position":[[102,13]]},"590":{"position":[[53,13]]},"599":{"position":[[1220,13]]},"600":{"position":[[53,13],[452,13]]},"609":{"position":[[41,13]]},"610":{"position":[[173,13]]},"623":{"position":[[59,13]]},"628":{"position":[[561,13]]},"636":{"position":[[1076,13]]},"637":{"position":[[1298,13]]},"638":{"position":[[1319,13]]},"639":{"position":[[1352,13]]},"640":{"position":[[1152,13]]},"641":{"position":[[1369,13]]},"642":{"position":[[1390,13]]},"643":{"position":[[1423,13]]},"757":{"position":[[62,14]]}},"keywords":{}}],["autonom",{"_index":2368,"title":{"509":{"position":[[0,9]]}},"content":{"231":{"position":[[1021,12]]},"299":{"position":[[546,12]]},"510":{"position":[[1,9]]},"511":{"position":[[1,9]]},"513":{"position":[[524,9]]},"540":{"position":[[509,9]]}},"keywords":{}}],["avail",{"_index":593,"title":{},"content":{"27":{"position":[[1030,9]]},"69":{"position":[[504,9],[4591,9]]},"250":{"position":[[223,9]]},"253":{"position":[[2380,10],[2434,9]]},"321":{"position":[[3966,9]]},"324":{"position":[[136,10],[824,9]]},"345":{"position":[[437,9]]},"364":{"position":[[864,9]]},"374":{"position":[[147,9]]},"464":{"position":[[457,9]]},"525":{"position":[[140,9]]},"541":{"position":[[42,9]]},"542":{"position":[[44,9]]},"590":{"position":[[79,9]]},"600":{"position":[[79,9],[146,9]]},"612":{"position":[[1521,9]]},"617":{"position":[[973,9]]},"646":{"position":[[43,9]]},"743":{"position":[[39,9]]}},"keywords":{}}],["averag",{"_index":3442,"title":{},"content":{"355":{"position":[[365,7]]}},"keywords":{}}],["avg",{"_index":2289,"title":{},"content":{"227":{"position":[[3333,4]]},"418":{"position":[[510,4],[1237,4]]},"419":{"position":[[544,4],[1290,4]]},"420":{"position":[[528,4],[1262,4]]}},"keywords":{}}],["avoid",{"_index":114,"title":{},"content":{"3":{"position":[[483,5]]},"7":{"position":[[506,5]]},"27":{"position":[[625,5]]},"230":{"position":[[1635,5]]},"253":{"position":[[7191,5]]},"371":{"position":[[293,5]]},"481":{"position":[[110,5]]},"608":{"position":[[564,5]]}},"keywords":{}}],["aw",{"_index":2494,"title":{},"content":{"250":{"position":[[278,3]]},"516":{"position":[[293,3]]}},"keywords":{}}],["awar",{"_index":111,"title":{},"content":{"3":{"position":[[444,5]]},"470":{"position":[[98,5]]},"514":{"position":[[847,5]]},"575":{"position":[[53,9]]}},"keywords":{}}],["away",{"_index":1381,"title":{},"content":{"62":{"position":[[430,5]]},"449":{"position":[[257,5]]}},"keywords":{}}],["awesom",{"_index":2094,"title":{},"content":{"189":{"position":[[181,8]]}},"keywords":{}}],["azur",{"_index":2496,"title":{},"content":{"250":{"position":[[303,5]]},"357":{"position":[[47,5]]}},"keywords":{}}],["b",{"_index":2717,"title":{},"content":{"285":{"position":[[188,1]]},"329":{"position":[[1215,1],[1446,2],[1496,2]]},"449":{"position":[[229,1]]},"459":{"position":[[513,2]]},"467":{"position":[[1295,3]]},"514":{"position":[[486,1]]},"667":{"position":[[676,1]]}},"keywords":{}}],["b"",{"_index":3241,"title":{},"content":{"329":{"position":[[1245,7]]}},"keywords":{}}],["b"\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":4781,"title":{},"content":{"629":{"position":[[1112,46]]}},"keywords":{}}],["b/compose.yaml",{"_index":510,"title":{},"content":{"23":{"position":[[83,14]]}},"keywords":{}}],["b/g",{"_index":4524,"title":{},"content":{"584":{"position":[[371,3]]}},"keywords":{}}],["b/openc3",{"_index":472,"title":{},"content":{"21":{"position":[[88,8]]},"22":{"position":[[113,8]]}},"keywords":{}}],["b3ee86d3620a",{"_index":1601,"title":{},"content":{"83":{"position":[[1512,12]]}},"keywords":{}}],["b411xqprpt",{"_index":992,"title":{},"content":{"43":{"position":[[2440,10],[5905,10]]}},"keywords":{}}],["b4ynq0dna1tv1kmnxrl8w1ultqyvzjdsn",{"_index":996,"title":{},"content":{"43":{"position":[[4235,33]]}},"keywords":{}}],["b5b0b95e6939",{"_index":935,"title":{},"content":{"42":{"position":[[773,12]]}},"keywords":{}}],["b:8",{"_index":3238,"title":{},"content":{"329":{"position":[[1141,4]]}},"keywords":{}}],["back",{"_index":2489,"title":{},"content":{"249":{"position":[[185,4]]},"253":{"position":[[573,4],[3395,4],[3403,4]]},"254":{"position":[[488,4],[654,4],[2037,4],[2469,4]]},"332":{"position":[[726,4]]},"334":{"position":[[340,4],[438,4]]},"461":{"position":[[906,4]]},"578":{"position":[[1385,4],[1582,4]]},"599":{"position":[[839,4]]},"632":{"position":[[329,4]]}},"keywords":{}}],["backcolor",{"_index":3748,"title":{"379":{"position":[[0,10]]}},"content":{"376":{"position":[[246,9],[320,9]]},"377":{"position":[[242,9],[298,9],[372,9]]},"378":{"position":[[244,9],[300,9],[375,9]]},"379":{"position":[[5,9],[412,9],[467,9]]},"446":{"position":[[665,9],[1169,9]]}},"keywords":{}}],["backend",{"_index":1672,"title":{"85":{"position":[[10,7]]},"248":{"position":[[0,8]]}},"content":{"85":{"position":[[73,7]]},"118":{"position":[[38,7]]},"239":{"position":[[519,8]]},"251":{"position":[[34,8]]},"332":{"position":[[884,8]]},"516":{"position":[[49,7]]},"538":{"position":[[200,7]]}},"keywords":{}}],["background",{"_index":1837,"title":{},"content":{"103":{"position":[[219,11]]},"171":{"position":[[113,10]]},"231":{"position":[[353,10],[377,10],[564,10],[949,11],[1217,10],[1228,10]]},"379":{"position":[[32,10]]},"429":{"position":[[1929,10],[2044,12]]},"548":{"position":[[208,10]]},"584":{"position":[[444,11]]},"607":{"position":[[596,11]]}},"keywords":{}}],["background.rb",{"_index":2371,"title":{},"content":{"231":{"position":[[1261,13]]}},"keywords":{}}],["backslash",{"_index":303,"title":{},"content":{"9":{"position":[[477,9]]}},"keywords":{}}],["backtrac",{"_index":4708,"title":{},"content":{"621":{"position":[[3936,9]]}},"keywords":{}}],["backward",{"_index":817,"title":{},"content":{"36":{"position":[[8256,9]]},"202":{"position":[[8256,9]]},"267":{"position":[[6915,9]]},"620":{"position":[[113,9]]},"621":{"position":[[3379,9],[3600,9]]}},"keywords":{}}],["bad",{"_index":1414,"title":{},"content":{"67":{"position":[[307,3]]},"404":{"position":[[893,3]]},"481":{"position":[[341,3],[532,3]]},"637":{"position":[[150,3]]},"641":{"position":[[173,3]]}},"keywords":{}}],["bae",{"_index":3678,"title":{},"content":{"363":{"position":[[177,3]]}},"keywords":{}}],["balanc",{"_index":73,"title":{},"content":{"2":{"position":[[709,9]]},"240":{"position":[[1483,8]]},"298":{"position":[[800,9]]}},"keywords":{}}],["ball",{"_index":3629,"title":{},"content":{"359":{"position":[[2154,4]]},"363":{"position":[[12,4],[191,4],[309,4]]}},"keywords":{}}],["balloon",{"_index":4552,"title":{},"content":{"593":{"position":[[356,7]]}},"keywords":{}}],["bar",{"_index":2105,"title":{},"content":{"192":{"position":[[48,3]]},"311":{"position":[[895,3],[920,3]]},"405":{"position":[[276,4],[379,3]]},"410":{"position":[[250,4],[303,3],[389,4],[442,3],[724,3],[777,3]]},"412":{"position":[[349,3],[402,3]]},"413":{"position":[[347,3],[400,3]]},"417":{"position":[[219,4],[272,3],[358,4],[411,3],[693,3],[746,3]]},"422":{"position":[[21,3],[284,4],[387,3]]},"423":{"position":[[25,3],[229,4],[282,3],[368,4],[421,3],[609,3],[662,3]]},"425":{"position":[[454,4],[461,3],[471,3],[555,4],[600,3],[643,4],[676,4]]},"541":{"position":[[189,3]]},"542":{"position":[[201,3]]},"578":{"position":[[190,3]]},"592":{"position":[[39,3]]},"593":{"position":[[76,3],[331,4],[557,3]]},"599":{"position":[[632,3]]},"601":{"position":[[75,3]]},"617":{"position":[[217,3],[344,3]]}},"keywords":{}}],["base",{"_index":336,"title":{},"content":{"12":{"position":[[297,4]]},"44":{"position":[[469,5]]},"52":{"position":[[131,5]]},"54":{"position":[[555,5]]},"63":{"position":[[293,5]]},"69":{"position":[[324,4],[831,4],[1621,4]]},"71":{"position":[[115,4],[137,4],[396,4]]},"72":{"position":[[243,4],[292,4],[371,4]]},"73":{"position":[[106,4],[171,4],[250,4]]},"74":{"position":[[112,4],[180,4],[262,4]]},"75":{"position":[[599,4],[929,4],[1349,4],[1607,4]]},"76":{"position":[[780,4],[857,4],[943,4]]},"77":{"position":[[641,4],[719,4],[806,4]]},"78":{"position":[[638,4],[710,4],[812,4]]},"79":{"position":[[922,4],[1020,4],[1148,4]]},"80":{"position":[[183,4],[322,4],[470,4]]},"83":{"position":[[1259,4]]},"99":{"position":[[1154,5]]},"117":{"position":[[22,5]]},"144":{"position":[[209,5]]},"184":{"position":[[88,5]]},"191":{"position":[[128,4]]},"227":{"position":[[699,5],[5220,5]]},"233":{"position":[[825,5]]},"235":{"position":[[1019,5]]},"239":{"position":[[113,4]]},"240":{"position":[[503,4]]},"245":{"position":[[263,5]]},"262":{"position":[[151,5]]},"263":{"position":[[1119,5],[1325,5],[1480,5]]},"289":{"position":[[1604,5]]},"291":{"position":[[157,4]]},"299":{"position":[[205,5]]},"304":{"position":[[2109,5]]},"305":{"position":[[923,5]]},"321":{"position":[[3535,4]]},"347":{"position":[[47,5]]},"349":{"position":[[33,5]]},"355":{"position":[[286,4],[599,4],[621,4]]},"357":{"position":[[1997,4]]},"362":{"position":[[192,5]]},"403":{"position":[[320,5]]},"411":{"position":[[36,5]]},"424":{"position":[[66,5]]},"425":{"position":[[63,5]]},"427":{"position":[[211,5]]},"433":{"position":[[196,6]]},"434":{"position":[[380,5]]},"442":{"position":[[142,5]]},"444":{"position":[[91,5]]},"446":{"position":[[798,5]]},"510":{"position":[[70,5]]},"511":{"position":[[287,5]]},"522":{"position":[[161,5]]},"525":{"position":[[269,5]]},"528":{"position":[[343,5]]},"582":{"position":[[23,5]]},"586":{"position":[[633,5],[682,5]]},"591":{"position":[[160,5]]},"651":{"position":[[432,5]]},"681":{"position":[[602,5]]},"682":{"position":[[300,5]]},"683":{"position":[[385,5]]},"684":{"position":[[275,5]]},"703":{"position":[[23,5]]}},"keywords":{}}],["base2",{"_index":3600,"title":{},"content":{"357":{"position":[[4482,5]]}},"keywords":{}}],["base64",{"_index":1824,"title":{},"content":{"99":{"position":[[4657,7]]},"227":{"position":[[6171,6]]},"421":{"position":[[11,6],[222,7],[317,6]]}},"keywords":{}}],["bash",{"_index":1078,"title":{},"content":{"44":{"position":[[1838,4]]},"83":{"position":[[547,4]]}},"keywords":{}}],["bash_profil",{"_index":3184,"title":{},"content":{"324":{"position":[[2531,13]]}},"keywords":{}}],["bashrc",{"_index":3183,"title":{},"content":{"324":{"position":[[2514,7],[2689,7]]}},"keywords":{}}],["basic",{"_index":199,"title":{"478":{"position":[[8,5]]}},"content":{"6":{"position":[[154,5]]},"235":{"position":[[783,5]]},"327":{"position":[[7,9]]},"328":{"position":[[114,5]]},"511":{"position":[[30,5]]}},"keywords":{}}],["bat",{"_index":2598,"title":{},"content":{"257":{"position":[[872,4]]}},"keywords":{}}],["batch",{"_index":1573,"title":{},"content":{"83":{"position":[[599,5]]},"88":{"position":[[308,5]]},"227":{"position":[[5022,8],[5100,5],[5157,5],[5186,7]]},"292":{"position":[[83,5]]}},"keywords":{}}],["baud",{"_index":1248,"title":{},"content":{"52":{"position":[[463,4],[473,4]]},"338":{"position":[[544,4]]}},"keywords":{}}],["baud_rat",{"_index":3267,"title":{},"content":{"338":{"position":[[563,9],[1258,9]]}},"keywords":{}}],["bbad6c6b",{"_index":931,"title":{},"content":{"42":{"position":[[749,8]]}},"keywords":{}}],["be",{"_index":258,"title":{},"content":{"7":{"position":[[512,5]]},"36":{"position":[[8115,5]]},"59":{"position":[[468,5],[718,5]]},"60":{"position":[[340,5],[1116,5]]},"61":{"position":[[1893,5]]},"62":{"position":[[1018,5]]},"63":{"position":[[2202,5]]},"69":{"position":[[3978,5]]},"93":{"position":[[959,5],[1011,5],[1071,5],[1218,5]]},"94":{"position":[[750,5],[802,5],[853,5]]},"202":{"position":[[8115,5]]},"211":{"position":[[28,5],[84,5]]},"227":{"position":[[1535,5],[1605,5]]},"246":{"position":[[274,5]]},"254":{"position":[[709,5],[2374,5]]},"267":{"position":[[6775,5]]},"480":{"position":[[434,5]]},"514":{"position":[[1506,5]]},"578":{"position":[[1107,5]]},"607":{"position":[[570,5]]}},"keywords":{}}],["beaglebon",{"_index":26,"title":{},"content":{"1":{"position":[[261,11]]}},"keywords":{}}],["becom",{"_index":2099,"title":{},"content":{"190":{"position":[[66,7]]},"356":{"position":[[286,7]]},"480":{"position":[[638,7]]},"481":{"position":[[174,6]]},"485":{"position":[[17,6]]},"584":{"position":[[235,7],[351,7]]},"607":{"position":[[262,7]]}},"keywords":{}}],["befor",{"_index":750,"title":{},"content":{"36":{"position":[[4395,6],[6238,6],[6869,6],[7933,6]]},"43":{"position":[[151,6],[269,6],[4500,6]]},"49":{"position":[[574,6],[643,6]]},"50":{"position":[[461,6],[530,6]]},"51":{"position":[[658,6],[743,6],[816,6]]},"52":{"position":[[653,6],[722,6]]},"59":{"position":[[75,6]]},"61":{"position":[[2009,6]]},"62":{"position":[[801,6]]},"63":{"position":[[1985,6],[2604,6]]},"66":{"position":[[218,6]]},"67":{"position":[[1161,6]]},"69":{"position":[[2025,6],[2232,6],[4199,6]]},"76":{"position":[[82,6]]},"77":{"position":[[83,6]]},"78":{"position":[[70,6]]},"99":{"position":[[2138,6]]},"133":{"position":[[390,6],[524,6]]},"134":{"position":[[210,6]]},"198":{"position":[[762,6]]},"202":{"position":[[4395,6],[6238,6],[6869,6],[7933,6]]},"214":{"position":[[114,6]]},"216":{"position":[[74,6]]},"217":{"position":[[72,6]]},"253":{"position":[[324,6]]},"259":{"position":[[789,6]]},"267":{"position":[[3352,6],[4718,6],[5411,6],[6534,6],[8658,6]]},"289":{"position":[[593,6]]},"303":{"position":[[1912,6],[1988,6]]},"304":{"position":[[533,6]]},"371":{"position":[[402,6]]},"374":{"position":[[362,6]]},"405":{"position":[[242,6]]},"422":{"position":[[246,6]]},"448":{"position":[[178,6]]},"478":{"position":[[430,6]]},"493":{"position":[[70,6]]},"495":{"position":[[240,6]]},"514":{"position":[[1113,6],[1499,6]]},"605":{"position":[[851,6],[892,6]]},"618":{"position":[[218,6]]},"700":{"position":[[1699,6]]},"750":{"position":[[86,6],[259,6]]},"751":{"position":[[85,6]]}},"keywords":{}}],["begin",{"_index":1189,"title":{},"content":{"46":{"position":[[1666,10]]},"198":{"position":[[717,9]]},"227":{"position":[[837,6]]},"229":{"position":[[959,5]]},"259":{"position":[[744,9]]},"329":{"position":[[1049,9]]},"402":{"position":[[532,9]]},"476":{"position":[[4306,9]]},"599":{"position":[[749,5]]},"600":{"position":[[255,6],[505,9]]},"617":{"position":[[1051,5]]}},"keywords":{}}],["behalf",{"_index":4133,"title":{},"content":{"467":{"position":[[669,7]]}},"keywords":{}}],["behav",{"_index":4322,"title":{},"content":{"490":{"position":[[104,8]]}},"keywords":{}}],["behavior",{"_index":834,"title":{},"content":{"36":{"position":[[9643,8],[9854,8]]},"80":{"position":[[108,8]]},"202":{"position":[[9643,8],[9854,8]]},"492":{"position":[[813,8]]},"717":{"position":[[150,9]]},"718":{"position":[[157,9]]},"727":{"position":[[140,9]]},"728":{"position":[[154,9]]}},"keywords":{}}],["behaviour",{"_index":1271,"title":{},"content":{"54":{"position":[[22,9]]}},"keywords":{}}],["behind",{"_index":2048,"title":{},"content":{"168":{"position":[[138,7]]},"227":{"position":[[98,6]]},"464":{"position":[[280,6]]},"467":{"position":[[114,6]]},"488":{"position":[[97,6]]}},"keywords":{}}],["belief",{"_index":4138,"title":{},"content":{"467":{"position":[[1152,6]]}},"keywords":{}}],["believ",{"_index":1511,"title":{},"content":{"75":{"position":[[263,8],[410,8],[509,8]]},"76":{"position":[[294,8],[443,8],[535,8]]},"77":{"position":[[293,8],[459,8],[551,8]]},"78":{"position":[[294,8],[458,8],[548,8]]},"79":{"position":[[725,8]]},"471":{"position":[[24,7]]}},"keywords":{}}],["belong",{"_index":2705,"title":{},"content":{"283":{"position":[[449,6],[556,7]]}},"keywords":{}}],["below",{"_index":1036,"title":{},"content":{"44":{"position":[[408,5],[1827,5]]},"69":{"position":[[885,5]]},"99":{"position":[[1191,5]]},"345":{"position":[[521,5]]},"410":{"position":[[282,5]]},"417":{"position":[[251,5]]},"423":{"position":[[261,5]]},"466":{"position":[[371,6]]},"544":{"position":[[29,5]]},"593":{"position":[[703,5]]},"700":{"position":[[771,5],[876,5]]}},"keywords":{}}],["below"",{"_index":3814,"title":{},"content":{"399":{"position":[[209,11]]}},"keywords":{}}],["benefit",{"_index":3142,"title":{},"content":{"324":{"position":[[275,7]]}},"keywords":{}}],["best",{"_index":1368,"title":{"495":{"position":[[11,4]]}},"content":{"61":{"position":[[2701,4]]},"95":{"position":[[72,4]]},"247":{"position":[[166,4]]},"253":{"position":[[2510,4]]},"329":{"position":[[1503,4]]},"356":{"position":[[639,4]]},"357":{"position":[[3799,4]]},"461":{"position":[[470,4]]},"464":{"position":[[452,4]]},"471":{"position":[[118,4]]},"474":{"position":[[32,4]]},"502":{"position":[[631,4]]}},"keywords":{}}],["beta0",{"_index":5542,"title":{},"content":{"767":{"position":[[953,7]]},"768":{"position":[[556,6],[625,7]]}},"keywords":{}}],["beta0"",{"_index":5529,"title":{},"content":{"767":{"position":[[226,12]]},"768":{"position":[[367,11],[445,12]]}},"keywords":{}}],["better",{"_index":135,"title":{},"content":{"3":{"position":[[750,7]]},"295":{"position":[[108,7]]},"299":{"position":[[836,7]]},"321":{"position":[[3730,6]]},"349":{"position":[[60,6]]},"350":{"position":[[106,6]]},"449":{"position":[[737,7]]},"461":{"position":[[682,6]]},"483":{"position":[[433,6],[907,6]]},"488":{"position":[[782,6]]},"656":{"position":[[294,6]]},"657":{"position":[[203,6]]},"658":{"position":[[263,6]]},"681":{"position":[[335,6]]},"682":{"position":[[239,6]]},"683":{"position":[[336,6]]},"684":{"position":[[212,6]]},"700":{"position":[[99,6]]}},"keywords":{}}],["bettera",{"_index":3308,"title":{},"content":{"347":{"position":[[338,7]]}},"keywords":{}}],["between",{"_index":875,"title":{},"content":{"40":{"position":[[732,7]]},"57":{"position":[[378,7]]},"63":{"position":[[2679,7]]},"66":{"position":[[319,7]]},"130":{"position":[[183,7],[262,7]]},"143":{"position":[[342,7]]},"147":{"position":[[104,7]]},"150":{"position":[[111,7]]},"154":{"position":[[106,7]]},"157":{"position":[[113,7]]},"165":{"position":[[99,7]]},"198":{"position":[[1030,7]]},"240":{"position":[[1943,7]]},"259":{"position":[[1069,7]]},"309":{"position":[[611,7]]},"321":{"position":[[3749,7]]},"357":{"position":[[1925,7],[3415,7]]},"369":{"position":[[440,7]]},"386":{"position":[[302,7]]},"387":{"position":[[277,7]]},"388":{"position":[[150,7]]},"389":{"position":[[235,7]]},"390":{"position":[[196,7]]},"391":{"position":[[257,7]]},"399":{"position":[[31,7]]},"404":{"position":[[557,7]]},"454":{"position":[[325,7]]},"476":{"position":[[55,7],[3667,7]]},"495":{"position":[[684,7],[982,7]]},"613":{"position":[[61,7]]},"616":{"position":[[163,7]]},"748":{"position":[[177,7]]},"773":{"position":[[126,7]]}},"keywords":{}}],["bg",{"_index":3925,"title":{},"content":{"429":{"position":[[2029,2]]}},"keywords":{}}],["big",{"_index":175,"title":{},"content":{"5":{"position":[[880,3]]},"33":{"position":[[190,3]]},"35":{"position":[[1291,3],[1822,3]]},"37":{"position":[[1084,3],[1615,3]]},"99":{"position":[[101,3]]},"199":{"position":[[350,3]]},"201":{"position":[[1320,3],[1851,3]]},"203":{"position":[[1103,3],[1634,3]]},"204":{"position":[[1464,3],[1995,3]]},"205":{"position":[[1300,3],[1831,3]]},"206":{"position":[[851,3]]},"207":{"position":[[634,3]]},"264":{"position":[[367,3]]},"266":{"position":[[926,3]]},"268":{"position":[[718,3]]},"269":{"position":[[1020,3]]},"270":{"position":[[689,3]]},"271":{"position":[[844,3]]},"272":{"position":[[636,3]]},"327":{"position":[[197,3],[310,3]]},"328":{"position":[[1691,3]]}},"keywords":{}}],["big_endian",{"_index":146,"title":{},"content":{"5":{"position":[[129,10],[233,11],[929,11],[1161,10]]},"7":{"position":[[167,10],[843,10]]},"8":{"position":[[181,10],[338,10]]},"9":{"position":[[195,10],[361,10],[544,10],[693,10]]},"33":{"position":[[239,11]]},"35":{"position":[[1379,11],[1871,11]]},"37":{"position":[[1172,11],[1664,11]]},"40":{"position":[[101,10]]},"49":{"position":[[956,10],[1832,10]]},"50":{"position":[[822,10],[1551,10]]},"52":{"position":[[1020,10]]},"54":{"position":[[1057,10],[1817,10]]},"61":{"position":[[1673,12],[1709,12]]},"134":{"position":[[942,10]]},"199":{"position":[[399,11],[549,10]]},"201":{"position":[[1408,11],[1900,11]]},"203":{"position":[[1191,11],[1683,11]]},"204":{"position":[[1552,11],[2044,11]]},"205":{"position":[[1388,11],[1880,11]]},"206":{"position":[[900,11]]},"207":{"position":[[683,11]]},"226":{"position":[[67,10],[969,10],[1733,10]]},"232":{"position":[[925,10]]},"233":{"position":[[1142,10]]},"253":{"position":[[2757,10],[3244,10],[4756,10],[5151,10]]},"254":{"position":[[1355,10]]},"264":{"position":[[416,11],[583,10]]},"266":{"position":[[1014,11]]},"268":{"position":[[806,11]]},"269":{"position":[[1108,11]]},"270":{"position":[[777,11]]},"271":{"position":[[893,11]]},"272":{"position":[[685,11]]},"285":{"position":[[59,10]]},"321":{"position":[[313,10],[1194,10],[1737,10],[2244,10],[2757,10]]},"329":{"position":[[274,10],[600,12],[956,10]]},"646":{"position":[[893,13]]},"648":{"position":[[935,13]]},"649":{"position":[[1410,13]]}},"keywords":{}}],["big_endian/little_endian",{"_index":1419,"title":{},"content":{"67":{"position":[[650,26]]}},"keywords":{}}],["bigwidget"",{"_index":3228,"title":{},"content":{"328":{"position":[[1155,15]]}},"keywords":{}}],["bill",{"_index":4130,"title":{},"content":{"467":{"position":[[475,7],[524,4]]}},"keywords":{}}],["bin",{"_index":3288,"title":{},"content":{"343":{"position":[[280,4]]}},"keywords":{}}],["bin/bash",{"_index":1080,"title":{},"content":{"44":{"position":[[2061,11]]}},"keywords":{}}],["binari",{"_index":61,"title":{},"content":{"2":{"position":[[556,6]]},"31":{"position":[[35,6],[444,7],[686,6]]},"36":{"position":[[4425,6],[6268,6],[6899,6],[7963,6],[10626,7]]},"59":{"position":[[605,6]]},"60":{"position":[[1003,6]]},"61":{"position":[[1784,6]]},"62":{"position":[[909,6]]},"63":{"position":[[2093,6]]},"69":{"position":[[4382,6]]},"93":{"position":[[1183,6]]},"97":{"position":[[54,6]]},"99":{"position":[[112,6],[1219,6],[1265,6],[3799,6]]},"147":{"position":[[9,6]]},"148":{"position":[[9,6]]},"154":{"position":[[11,6]]},"155":{"position":[[11,6]]},"198":{"position":[[987,6],[1082,6]]},"201":{"position":[[2255,6]]},"202":{"position":[[4425,6],[6268,6],[6899,6],[7963,6]]},"204":{"position":[[115,6],[236,6],[1227,6]]},"205":{"position":[[115,6],[236,6],[1063,6]]},"217":{"position":[[229,6]]},"227":{"position":[[349,6]]},"259":{"position":[[1011,6],[1562,6],[1678,6],[1726,6]]},"262":{"position":[[101,6]]},"297":{"position":[[1088,6]]},"298":{"position":[[647,6]]},"343":{"position":[[313,6]]},"454":{"position":[[41,6]]},"581":{"position":[[20,6],[49,6],[165,6]]},"582":{"position":[[16,6],[132,6]]},"583":{"position":[[54,6],[113,6],[308,7]]},"584":{"position":[[76,6]]},"628":{"position":[[714,6],[1038,6]]},"629":{"position":[[801,6],[1161,6]]},"644":{"position":[[18,6]]}},"keywords":{}}],["binaryaccessor",{"_index":1445,"title":{},"content":{"69":{"position":[[1176,15],[1450,15]]},"215":{"position":[[167,15]]},"279":{"position":[[167,15]]}},"keywords":{}}],["binarydelet",{"_index":4521,"title":{},"content":{"582":{"position":[[107,12]]}},"keywords":{}}],["binaryrenam",{"_index":4520,"title":{},"content":{"582":{"position":[[82,12]]}},"keywords":{}}],["binarysav",{"_index":4519,"title":{},"content":{"582":{"position":[[59,10]]}},"keywords":{}}],["bind",{"_index":2996,"title":{},"content":{"315":{"position":[[133,7]]},"350":{"position":[[209,4]]}},"keywords":{}}],["bind_address",{"_index":3051,"title":{},"content":{"320":{"position":[[1004,12]]}},"keywords":{}}],["bit",{"_index":373,"title":{},"content":{"17":{"position":[[68,3],[167,3]]},"18":{"position":[[71,3],[171,3]]},"20":{"position":[[922,3],[1016,3]]},"35":{"position":[[139,3],[150,3],[200,3],[301,3],[346,3],[355,3],[534,3],[554,3]]},"36":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9815,3],[9940,5],[10215,3]]},"37":{"position":[[139,3],[148,3],[327,3],[347,3]]},"52":{"position":[[575,4],[595,5]]},"60":{"position":[[467,3],[501,3]]},"61":{"position":[[607,3],[622,3],[899,4],[911,3],[932,4],[963,4]]},"67":{"position":[[449,3],[460,3],[558,3],[567,3],[1131,3]]},"99":{"position":[[241,3],[376,3],[537,3],[598,3],[663,3],[730,3],[837,3],[939,3],[1040,3],[1276,3],[1756,3],[2389,3],[2747,3],[3102,3],[3517,3],[4917,3]]},"135":{"position":[[426,4]]},"201":{"position":[[158,3],[169,3],[228,3],[330,3],[375,3],[384,3],[563,3],[583,3]]},"202":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9815,3],[9940,5],[10215,3]]},"203":{"position":[[158,3],[167,3],[346,3],[366,3]]},"204":{"position":[[381,3],[392,3],[451,3],[545,3],[554,3],[733,3],[753,3]]},"205":{"position":[[381,3],[390,3],[569,3],[589,3]]},"206":{"position":[[175,3],[186,3],[245,3],[347,3],[397,3],[406,3],[549,3],[564,3]]},"207":{"position":[[180,3],[189,3],[332,3],[347,3]]},"227":{"position":[[4288,3]]},"253":{"position":[[3482,3],[3610,3],[3821,3],[3990,3],[4410,3],[5278,3],[5511,3],[5579,3]]},"260":{"position":[[372,3],[384,3]]},"261":{"position":[[47,3]]},"262":{"position":[[439,3],[454,3]]},"266":{"position":[[160,3],[171,3],[232,3],[329,3],[368,3],[377,3],[561,3],[581,3]]},"267":{"position":[[1152,3],[1607,3],[1747,4],[1762,4],[1830,3],[1851,4],[7442,3],[7451,3]]},"268":{"position":[[160,3],[169,3],[353,3],[373,3]]},"269":{"position":[[330,3],[341,3],[402,3],[491,3],[500,3]]},"270":{"position":[[160,3],[169,3]]},"271":{"position":[[177,3],[188,3],[249,3],[346,3],[390,3],[399,3],[542,3],[557,3]]},"272":{"position":[[182,3],[191,3],[334,3],[349,3]]},"321":{"position":[[360,4],[2810,4]]},"329":{"position":[[240,3],[292,3],[329,3],[413,3],[503,3],[640,3],[727,3],[817,3],[853,3],[933,3],[1438,4],[1451,4],[1461,4],[1488,4]]},"338":{"position":[[638,4],[829,4]]},"347":{"position":[[412,3]]},"583":{"position":[[131,4],[214,5]]}},"keywords":{}}],["bit)"click",{"_index":3324,"title":{},"content":{"347":{"position":[[851,15]]}},"keywords":{}}],["bit=0x04c11db7",{"_index":1423,"title":{},"content":{"67":{"position":[[826,15]]}},"keywords":{}}],["bit=0x1021",{"_index":1422,"title":{},"content":{"67":{"position":[[811,11]]}},"keywords":{}}],["bit=0x42f0e1eba9ea3693",{"_index":1424,"title":{},"content":{"67":{"position":[[845,23]]}},"keywords":{}}],["bit=0xffff",{"_index":1426,"title":{},"content":{"67":{"position":[[940,11]]}},"keywords":{}}],["bit=0xffffffff",{"_index":1427,"title":{},"content":{"67":{"position":[[955,15]]}},"keywords":{}}],["bit=0xffffffffffffffff",{"_index":1428,"title":{},"content":{"67":{"position":[[974,23]]}},"keywords":{}}],["bit=fals",{"_index":1431,"title":{},"content":{"67":{"position":[[1075,10],[1219,10]]}},"keywords":{}}],["bit=tru",{"_index":1432,"title":{},"content":{"67":{"position":[[1089,9],[1102,9],[1233,9],[1246,9]]}},"keywords":{}}],["bit_offset",{"_index":3235,"title":{},"content":{"329":{"position":[[468,10],[882,10]]},"646":{"position":[[1000,13]]},"648":{"position":[[1042,13]]},"649":{"position":[[1229,13]]}},"keywords":{}}],["bit_siz",{"_index":4897,"title":{},"content":{"646":{"position":[[1017,11]]},"648":{"position":[[1059,11]]},"649":{"position":[[1247,11]]}},"keywords":{}}],["bitfield",{"_index":654,"title":{"329":{"position":[[14,9]]}},"content":{"35":{"position":[[1354,10]]},"37":{"position":[[1147,10]]},"201":{"position":[[1383,10]]},"203":{"position":[[1166,10]]},"204":{"position":[[1527,10]]},"205":{"position":[[1363,10]]},"266":{"position":[[989,10]]},"268":{"position":[[781,10]]},"269":{"position":[[1083,10]]},"270":{"position":[[752,10]]},"329":{"position":[[14,9],[47,9],[161,10],[944,8]]}},"keywords":{}}],["bits.x509",{"_index":449,"title":{},"content":{"20":{"position":[[959,9]]}},"keywords":{}}],["bitsiz",{"_index":2379,"title":{},"content":{"232":{"position":[[985,7]]},"233":{"position":[[1202,7]]},"253":{"position":[[2814,7],[4816,7]]},"254":{"position":[[1412,7]]}},"keywords":{}}],["black",{"_index":3737,"title":{},"content":{"372":{"position":[[367,5]]},"379":{"position":[[149,8]]},"380":{"position":[[143,8]]},"381":{"position":[[154,8]]},"411":{"position":[[130,6]]},"444":{"position":[[816,5]]}},"keywords":{}}],["blank",{"_index":1524,"title":{},"content":{"75":{"position":[[1736,5]]},"253":{"position":[[632,5]]},"435":{"position":[[214,6]]},"527":{"position":[[434,5]]},"599":{"position":[[1001,5]]}},"keywords":{}}],["blank_or_default",{"_index":4736,"title":{},"content":{"623":{"position":[[386,16]]},"624":{"position":[[352,16]]}},"keywords":{}}],["blind",{"_index":2946,"title":{},"content":{"305":{"position":[[1176,5],[1249,6],[1278,5]]}},"keywords":{}}],["blob",{"_index":2497,"title":{},"content":{"250":{"position":[[309,4]]},"253":{"position":[[5405,5],[5475,4]]}},"keywords":{}}],["block",{"_index":223,"title":{"402":{"position":[[0,6]]}},"content":{"6":{"position":[[592,5]]},"31":{"position":[[594,6],[693,6]]},"35":{"position":[[737,5],[1438,5]]},"37":{"position":[[530,5],[1231,5]]},"49":{"position":[[688,5]]},"50":{"position":[[575,5]]},"51":{"position":[[848,6]]},"52":{"position":[[767,5]]},"99":{"position":[[3663,5],[3780,5]]},"198":{"position":[[895,6],[994,6],[1051,5]]},"201":{"position":[[766,5],[1467,5],[2218,5],[2230,5]]},"203":{"position":[[549,5],[1250,5]]},"204":{"position":[[122,5],[936,5],[1611,5]]},"205":{"position":[[122,5],[772,5],[1447,5]]},"206":{"position":[[523,6]]},"207":{"position":[[306,6]]},"259":{"position":[[919,6],[1018,6],[1090,5],[1341,5],[1533,5],[1704,5]]},"266":{"position":[[760,6]]},"267":{"position":[[7420,5]]},"268":{"position":[[552,6]]},"269":{"position":[[769,5]]},"270":{"position":[[438,5]]},"271":{"position":[[516,6]]},"272":{"position":[[308,6]]},"357":{"position":[[451,6]]},"402":{"position":[[10,5],[755,5]]},"476":{"position":[[398,6],[496,6],[896,5],[941,5]]},"480":{"position":[[85,6],[295,6],[374,6],[1201,6]]},"493":{"position":[[495,5]]},"511":{"position":[[45,7],[122,6]]},"528":{"position":[[444,5],[1340,5]]},"676":{"position":[[82,6],[231,5],[263,5],[339,6],[760,6]]},"752":{"position":[[32,5]]}},"keywords":{}}],["block=1000",{"_index":5102,"title":{},"content":{"676":{"position":[[1258,11]]}},"keywords":{}}],["block=non",{"_index":5097,"title":{},"content":{"676":{"position":[[141,11]]}},"keywords":{}}],["blow",{"_index":109,"title":{},"content":{"3":{"position":[[426,4]]}},"keywords":{}}],["blue",{"_index":2674,"title":{},"content":{"267":{"position":[[9584,4],[9801,4],[9971,4],[10187,4]]},"376":{"position":[[256,4]]},"377":{"position":[[252,4]]},"378":{"position":[[254,4]]},"379":{"position":[[309,4],[320,4]]},"380":{"position":[[303,4],[314,4]]},"381":{"position":[[314,4],[325,4]]},"383":{"position":[[837,4],[871,4]]},"439":{"position":[[451,4]]},"440":{"position":[[705,4]]},"443":{"position":[[526,4]]},"445":{"position":[[250,4]]},"568":{"position":[[183,6]]},"700":{"position":[[1289,4],[1439,4]]}},"keywords":{}}],["board",{"_index":22,"title":{},"content":{"1":{"position":[[229,6]]},"347":{"position":[[222,5]]}},"keywords":{}}],["bob",{"_index":2517,"title":{},"content":{"253":{"position":[[1468,3],[1502,3],[2229,3],[2286,3],[2306,3],[2505,4],[2745,3],[3200,3],[4745,3],[5119,3],[6400,3],[6599,3],[6736,3],[7258,3],[7324,3],[8231,3]]},"254":{"position":[[167,3],[206,3],[612,3],[1012,3],[1041,3],[1128,3],[1343,3],[1981,3],[2020,3],[2140,3],[2451,3]]}},"keywords":{}}],["bob>",{"_index":2527,"title":{},"content":{"253":{"position":[[2247,7]]},"254":{"position":[[72,7],[1886,7]]}},"keywords":{}}],["bob"",{"_index":2519,"title":{},"content":{"253":{"position":[[1594,9]]}},"keywords":{}}],["bob/plugin.txt",{"_index":2552,"title":{},"content":{"253":{"position":[[6435,14]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/cmd.txt",{"_index":2529,"title":{},"content":{"253":{"position":[[2704,32]]},"254":{"position":[[1213,31]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/tlm.txt",{"_index":2541,"title":{},"content":{"253":{"position":[[4702,32]]}},"keywords":{}}],["bob_int",{"_index":2561,"title":{},"content":{"253":{"position":[[7579,7],[8252,7]]},"254":{"position":[[743,7]]}},"keywords":{}}],["bob_target_nam",{"_index":2555,"title":{},"content":{"253":{"position":[[6583,15],[6747,15],[6786,15],[6921,15],[6993,15]]},"254":{"position":[[2270,17]]}},"keywords":{}}],["bob_target_name.th",{"_index":2560,"title":{},"content":{"253":{"position":[[7504,19]]}},"keywords":{}}],["bodi",{"_index":4257,"title":{},"content":{"483":{"position":[[487,4]]}},"keywords":{}}],["bonjour",{"_index":3348,"title":{},"content":{"347":{"position":[[2034,7]]}},"keywords":{}}],["bonu",{"_index":4278,"title":{},"content":{"486":{"position":[[222,5]]}},"keywords":{}}],["book.titl",{"_index":690,"title":{},"content":{"36":{"position":[[1533,12]]},"202":{"position":[[1533,12]]},"267":{"position":[[1528,12]]}},"keywords":{}}],["bookkeep",{"_index":4454,"title":{},"content":{"527":{"position":[[197,12]]}},"keywords":{}}],["bool",{"_index":2382,"title":{},"content":{"232":{"position":[[1157,4]]},"233":{"position":[[1435,4]]},"253":{"position":[[2992,4],[3972,4],[4191,4],[4951,4]]},"254":{"position":[[1592,4]]}},"keywords":{}}],["boolean",{"_index":4737,"title":{},"content":{"623":{"position":[[484,7]]},"624":{"position":[[450,7]]}},"keywords":{}}],["boot",{"_index":1156,"title":{},"content":{"46":{"position":[[500,5]]},"347":{"position":[[1834,4]]}},"keywords":{}}],["bootstrap",{"_index":1652,"title":{},"content":{"84":{"position":[[98,9]]}},"keywords":{}}],["border",{"_index":3756,"title":{},"content":{"381":{"position":[[34,6]]},"387":{"position":[[61,6],[233,6]]},"389":{"position":[[63,6],[191,6]]}},"keywords":{}}],["bordercolor",{"_index":3755,"title":{"381":{"position":[[0,12]]}},"content":{"381":{"position":[[5,11],[425,11],[488,11]]}},"keywords":{}}],["both",{"_index":121,"title":{},"content":{"3":{"position":[[562,4]]},"9":{"position":[[793,4],[844,4]]},"11":{"position":[[223,4]]},"52":{"position":[[91,4]]},"69":{"position":[[4874,4]]},"99":{"position":[[2889,4],[3324,4]]},"134":{"position":[[268,4],[470,4]]},"224":{"position":[[131,4]]},"227":{"position":[[296,4],[4731,4]]},"232":{"position":[[141,4]]},"233":{"position":[[151,4]]},"237":{"position":[[444,4]]},"241":{"position":[[302,4]]},"249":{"position":[[140,4]]},"250":{"position":[[102,4]]},"263":{"position":[[944,4]]},"303":{"position":[[2023,4]]},"304":{"position":[[3461,4]]},"307":{"position":[[60,4]]},"320":{"position":[[1683,4]]},"331":{"position":[[280,4]]},"343":{"position":[[98,4]]},"355":{"position":[[731,4]]},"357":{"position":[[191,4],[2384,4]]},"363":{"position":[[7,4]]},"475":{"position":[[17,4],[155,5],[186,4]]},"476":{"position":[[980,4],[3577,4]]},"480":{"position":[[479,4]]},"482":{"position":[[99,4],[203,4],[1485,4]]},"488":{"position":[[430,5]]},"493":{"position":[[65,4]]},"498":{"position":[[275,4]]},"512":{"position":[[54,4]]},"516":{"position":[[188,4]]},"526":{"position":[[15,4]]},"527":{"position":[[42,4],[579,4]]},"536":{"position":[[269,4]]},"538":{"position":[[167,4]]},"548":{"position":[[491,4]]},"561":{"position":[[71,4]]},"578":{"position":[[428,4]]},"601":{"position":[[340,4]]},"603":{"position":[[18,4]]},"616":{"position":[[213,4]]}},"keywords":{}}],["bottom",{"_index":1665,"title":{},"content":{"84":{"position":[[788,6]]},"327":{"position":[[117,6]]},"462":{"position":[[668,6]]},"468":{"position":[[254,6]]},"490":{"position":[[346,6]]},"530":{"position":[[362,6]]},"536":{"position":[[367,6]]},"593":{"position":[[753,7]]},"600":{"position":[[368,6]]},"617":{"position":[[1199,6]]}},"keywords":{}}],["bounc",{"_index":4089,"title":{},"content":{"461":{"position":[[899,6]]}},"keywords":{}}],["bound",{"_index":801,"title":{},"content":{"36":{"position":[[6968,5],[6992,5],[7115,6]]},"51":{"position":[[419,5]]},"202":{"position":[[6968,5],[6992,5],[7115,6]]},"267":{"position":[[5569,5],[5593,5],[5716,6]]},"467":{"position":[[902,5]]}},"keywords":{}}],["boundari",{"_index":1273,"title":{},"content":{"54":{"position":[[82,10]]},"57":{"position":[[369,8],[551,10]]}},"keywords":{}}],["box",{"_index":41,"title":{},"content":{"2":{"position":[[223,5]]},"235":{"position":[[1871,3]]},"298":{"position":[[314,5]]},"303":{"position":[[1976,3],[2211,4],[2349,4]]},"304":{"position":[[5886,3],[6053,3],[6201,3],[6331,3],[6493,3],[6877,3]]},"334":{"position":[[1037,3]]},"387":{"position":[[253,3]]},"389":{"position":[[211,3]]},"403":{"position":[[12,3],[179,3],[792,3]]},"406":{"position":[[377,3]]},"407":{"position":[[523,3]]},"408":{"position":[[397,3]]},"409":{"position":[[400,3]]},"410":{"position":[[674,3]]},"415":{"position":[[366,3]]},"416":{"position":[[369,3]]},"417":{"position":[[643,3]]},"426":{"position":[[18,3]]},"427":{"position":[[12,3],[70,3],[605,3]]},"430":{"position":[[18,3]]},"435":{"position":[[24,3]]},"517":{"position":[[597,3]]},"544":{"position":[[327,4]]},"572":{"position":[[209,4]]},"578":{"position":[[649,3]]},"579":{"position":[[85,3]]},"584":{"position":[[476,3]]},"605":{"position":[[461,3]]},"612":{"position":[[244,3],[535,3],[1069,3]]},"627":{"position":[[79,3]]},"632":{"position":[[73,3],[1033,4]]}},"keywords":{}}],["bracket",{"_index":1394,"title":{},"content":{"63":{"position":[[733,8]]},"476":{"position":[[4663,7],[4817,8]]},"636":{"position":[[1368,8]]}},"keywords":{}}],["branch",{"_index":2987,"title":{},"content":{"313":{"position":[[98,6]]},"324":{"position":[[2740,6],[2753,6]]},"449":{"position":[[183,6],[445,6]]}},"keywords":{}}],["brave",{"_index":1172,"title":{},"content":{"46":{"position":[[980,6]]}},"keywords":{}}],["break",{"_index":1125,"title":{},"content":{"44":{"position":[[3506,6]]},"46":{"position":[[1147,5]]},"168":{"position":[[16,6]]},"254":{"position":[[410,8],[1814,8]]},"289":{"position":[[963,5]]},"304":{"position":[[984,5],[6401,8],[6473,5]]},"479":{"position":[[327,8]]},"482":{"position":[[667,6]]},"485":{"position":[[67,5]]},"508":{"position":[[491,5]]},"612":{"position":[[1459,5],[1481,5]]},"752":{"position":[[193,8]]}},"keywords":{}}],["breakdown",{"_index":441,"title":{},"content":{"20":{"position":[[799,9]]}},"keywords":{}}],["breakpoint",{"_index":2924,"title":{"491":{"position":[[0,12]]}},"content":{"304":{"position":[[4844,10],[4879,10]]},"491":{"position":[[76,11],[141,11],[173,11]]},"606":{"position":[[299,11]]},"608":{"position":[[744,12],[785,11]]}},"keywords":{}}],["brew",{"_index":3202,"title":{},"content":{"325":{"position":[[16,4],[334,4]]}},"keywords":{}}],["bridg",{"_index":1899,"title":{"335":{"position":[[0,7]]},"336":{"position":[[0,7]]},"337":{"position":[[30,8]]},"338":{"position":[[0,6]]},"339":{"position":[[0,6]]},"340":{"position":[[8,6]]}},"content":{"109":{"position":[[25,6]]},"322":{"position":[[487,6]]},"336":{"position":[[1,7]]},"338":{"position":[[1,7],[207,7],[1719,6]]},"339":{"position":[[71,6],[135,6],[367,6],[409,6]]},"340":{"position":[[28,6],[61,6],[94,6],[148,6]]},"341":{"position":[[43,7]]}},"keywords":{}}],["bridge.txt",{"_index":3262,"title":{"338":{"position":[[22,11]]}},"content":{"338":{"position":[[51,11],[371,10]]},"339":{"position":[[36,10],[187,10],[384,10]]}},"keywords":{}}],["bridgegem",{"_index":3273,"title":{},"content":{"339":{"position":[[300,9]]}},"keywords":{}}],["bridgesetup",{"_index":3264,"title":{},"content":{"338":{"position":[[421,11]]},"339":{"position":[[11,11]]}},"keywords":{}}],["brighten",{"_index":3827,"title":{},"content":{"403":{"position":[[238,9]]},"427":{"position":[[129,9]]}},"keywords":{}}],["bring",{"_index":4275,"title":{},"content":{"485":{"position":[[448,5]]},"488":{"position":[[301,5],[337,5],[375,5],[488,5],[703,5],[1170,5],[1243,5],[1288,5],[1412,5],[1580,5]]},"518":{"position":[[26,5]]},"533":{"position":[[341,6]]},"558":{"position":[[159,6],[312,6]]},"564":{"position":[[108,6],[418,5]]},"591":{"position":[[21,6]]},"592":{"position":[[57,6]]},"599":{"position":[[114,6],[649,6]]},"608":{"position":[[25,6]]},"617":{"position":[[1088,5]]},"735":{"position":[[33,5]]}},"keywords":{}}],["broken",{"_index":3285,"title":{},"content":{"343":{"position":[[115,6]]},"478":{"position":[[28,6]]},"617":{"position":[[155,6]]}},"keywords":{}}],["brought",{"_index":3491,"title":{},"content":{"357":{"position":[[964,7]]}},"keywords":{}}],["brows",{"_index":2585,"title":{"517":{"position":[[0,8]]}},"content":{"254":{"position":[[2173,6]]},"343":{"position":[[170,8]]},"605":{"position":[[403,6]]}},"keywords":{}}],["browser",{"_index":67,"title":{},"content":{"2":{"position":[[654,7]]},"24":{"position":[[452,7],[920,8]]},"44":{"position":[[475,8],[644,9],[1269,7]]},"84":{"position":[[1251,7]]},"95":{"position":[[324,7]]},"103":{"position":[[59,8]]},"245":{"position":[[30,7],[489,7]]},"291":{"position":[[771,8]]},"293":{"position":[[15,7]]},"298":{"position":[[745,7]]},"299":{"position":[[215,8],[327,7]]},"307":{"position":[[549,7]]},"315":{"position":[[437,7]]},"322":{"position":[[107,7],[1866,7]]},"324":{"position":[[3974,7]]},"347":{"position":[[2603,7]]},"353":{"position":[[331,8]]},"516":{"position":[[27,7],[129,7]]},"518":{"position":[[42,7]]},"538":{"position":[[177,7]]},"559":{"position":[[239,7],[295,8]]},"566":{"position":[[248,7],[280,8]]},"593":{"position":[[37,7]]},"599":{"position":[[457,7]]},"601":{"position":[[36,7],[407,7],[592,7],[775,7]]}},"keywords":{}}],["browser'",{"_index":1030,"title":{},"content":{"44":{"position":[[218,9]]},"84":{"position":[[1351,9]]}},"keywords":{}}],["browserdelet",{"_index":4577,"title":{},"content":{"605":{"position":[[236,14]]}},"keywords":{}}],["brute",{"_index":381,"title":{},"content":{"17":{"position":[[289,5]]},"18":{"position":[[294,5]]}},"keywords":{}}],["bucket",{"_index":1444,"title":{"515":{"position":[[0,6]]}},"content":{"69":{"position":[[1168,7],[1442,7]]},"240":{"position":[[1343,6]]},"250":{"position":[[246,6],[290,8],[329,6]]},"516":{"position":[[1,6],[57,6],[166,6]]},"517":{"position":[[42,8],[81,6],[203,6],[295,6],[465,6],[685,7],[724,6],[830,6]]},"518":{"position":[[94,6]]},"519":{"position":[[74,6]]}},"keywords":{}}],["bucket_file_uri="$(curl",{"_index":1128,"title":{},"content":{"44":{"position":[[3549,28]]}},"keywords":{}}],["buf_siz",{"_index":4532,"title":{},"content":{"585":{"position":[[678,8],[1031,11],[1050,8]]}},"keywords":{}}],["buffer",{"_index":774,"title":{},"content":{"36":{"position":[[5686,7],[6041,8]]},"107":{"position":[[106,6]]},"146":{"position":[[38,6],[116,6]]},"153":{"position":[[47,6],[125,6]]},"202":{"position":[[5686,7],[6041,8]]},"204":{"position":[[1269,6]]},"205":{"position":[[1105,6]]},"227":{"position":[[6148,6]]},"267":{"position":[[4166,7],[4521,8]]},"585":{"position":[[490,6],[601,6],[705,6],[794,6]]},"586":{"position":[[582,6],[764,6],[841,6],[938,7]]},"644":{"position":[[1252,9]]},"650":{"position":[[70,6],[119,6],[206,6],[1154,9]]},"661":{"position":[[70,7],[102,6],[189,6]]}},"keywords":{}}],["buffer.format",{"_index":4531,"title":{},"content":{"585":{"position":[[516,16]]}},"keywords":{}}],["buffer.length",{"_index":4534,"title":{},"content":{"585":{"position":[[757,13]]}},"keywords":{}}],["buffer[i...(i",{"_index":4539,"title":{},"content":{"585":{"position":[[1015,13]]}},"keywords":{}}],["build",{"_index":620,"title":{"254":{"position":[[0,8]]},"319":{"position":[[0,5]]},"594":{"position":[[0,8]]}},"content":{"31":{"position":[[396,5]]},"63":{"position":[[1141,5]]},"83":{"position":[[451,8],[615,5],[671,5],[736,5],[822,6],[839,5],[1611,8],[1630,8]]},"84":{"position":[[503,5],[550,6],[569,6]]},"85":{"position":[[439,5],[447,5]]},"90":{"position":[[540,5]]},"104":{"position":[[73,5]]},"112":{"position":[[568,6]]},"194":{"position":[[177,5]]},"229":{"position":[[1264,8],[1320,5]]},"230":{"position":[[1604,8]]},"235":{"position":[[1370,5],[1431,5],[1533,5]]},"237":{"position":[[59,5]]},"239":{"position":[[411,5]]},"241":{"position":[[307,5]]},"245":{"position":[[141,8],[170,6],[445,5]]},"247":{"position":[[91,5]]},"253":{"position":[[3414,6]]},"254":{"position":[[16,5],[100,5],[280,6],[325,8],[1914,5]]},"257":{"position":[[1853,8],[1914,5]]},"289":{"position":[[586,6],[733,6]]},"318":{"position":[[312,5]]},"319":{"position":[[101,5]]},"321":{"position":[[3509,5],[3615,5],[3709,5]]},"328":{"position":[[629,5],[700,5],[911,5],[1062,5],[1209,5],[1487,5]]},"334":{"position":[[566,5]]},"448":{"position":[[27,5],[314,5]]},"511":{"position":[[36,8]]},"581":{"position":[[126,6]]},"594":{"position":[[29,5]]},"644":{"position":[[1,6]]}},"keywords":{}}],["build_cmd",{"_index":4854,"title":{"644":{"position":[[0,9]]}},"content":{},"keywords":{}}],["build_cmd(<args>",{"_index":4858,"title":{},"content":{"644":{"position":[[47,23],[120,23]]}},"keywords":{}}],["build_cmd("inst",{"_index":4863,"title":{},"content":{"644":{"position":[[421,20],[980,20]]}},"keywords":{}}],["build_command",{"_index":4857,"title":{"644":{"position":[[40,15]]}},"content":{},"keywords":{}}],["builder",{"_index":3004,"title":{},"content":{"318":{"position":[[22,7]]}},"keywords":{}}],["buildtype=${buildtyp",{"_index":3009,"title":{},"content":{"318":{"position":[[140,22]]}},"keywords":{}}],["buildtype=debug",{"_index":3008,"title":{},"content":{"318":{"position":[[120,15]]}},"keywords":{}}],["built",{"_index":554,"title":{"490":{"position":[[0,5]]}},"content":{"24":{"position":[[965,5]]},"36":{"position":[[4525,6],[8517,6]]},"49":{"position":[[1657,5],[2645,5]]},"50":{"position":[[1397,5],[2238,5]]},"52":{"position":[[1663,5]]},"53":{"position":[[122,5]]},"54":{"position":[[155,5]]},"83":{"position":[[871,5]]},"99":{"position":[[1802,5],[2435,5],[4963,5]]},"112":{"position":[[507,5]]},"123":{"position":[[258,5]]},"194":{"position":[[268,5]]},"202":{"position":[[4525,6],[8517,6]]},"235":{"position":[[301,5]]},"254":{"position":[[133,5],[447,5],[1947,5],[2193,5]]},"259":{"position":[[1628,5]]},"291":{"position":[[51,5]]},"304":{"position":[[800,5]]},"322":{"position":[[27,6]]},"324":{"position":[[3912,5]]},"327":{"position":[[287,5],[587,6]]},"328":{"position":[[554,5],[725,6]]},"334":{"position":[[599,5],[786,5]]},"363":{"position":[[300,5]]},"490":{"position":[[19,5]]},"517":{"position":[[502,5]]},"588":{"position":[[67,5],[154,5]]},"619":{"position":[[108,5]]},"709":{"position":[[46,5]]},"723":{"position":[[42,5]]}},"keywords":{}}],["bump",{"_index":2580,"title":{},"content":{"254":{"position":[[1841,4]]}},"keywords":{}}],["bunch",{"_index":2520,"title":{},"content":{"253":{"position":[[1611,5]]}},"keywords":{}}],["bundl",{"_index":533,"title":{},"content":{"24":{"position":[[205,7]]},"85":{"position":[[1278,6],[1321,6],[1352,6]]},"104":{"position":[[95,6]]},"291":{"position":[[908,7]]},"448":{"position":[[130,6],[169,6],[297,6]]},"449":{"position":[[349,6]]}},"keywords":{}}],["bundle.pem",{"_index":534,"title":{},"content":{"24":{"position":[[214,10],[283,10],[347,11]]}},"keywords":{}}],["bundler",{"_index":4006,"title":{},"content":{"448":{"position":[[99,8]]}},"keywords":{}}],["burst",{"_index":1212,"title":{"59":{"position":[[0,5]]}},"content":{"49":{"position":[[1071,5],[1966,5]]},"50":{"position":[[916,5],[1664,5]]},"52":{"position":[[1132,5]]},"54":{"position":[[821,5],[1542,5],[2582,5],[2794,5]]},"56":{"position":[[73,6]]},"59":{"position":[[5,5],[150,5],[203,6]]},"60":{"position":[[717,5]]},"61":{"position":[[545,5]]},"125":{"position":[[222,5],[366,5]]},"126":{"position":[[263,5],[459,5]]},"127":{"position":[[266,5],[465,5]]},"134":{"position":[[1088,5]]},"135":{"position":[[853,5]]},"230":{"position":[[2713,5]]},"253":{"position":[[6897,5],[7964,5]]},"336":{"position":[[223,5]]},"338":{"position":[[1562,5]]}},"keywords":{}}],["buse",{"_index":1881,"title":{},"content":{"108":{"position":[[384,5]]}},"keywords":{}}],["busi",{"_index":3608,"title":{},"content":{"359":{"position":[[376,9]]}},"keywords":{}}],["button",{"_index":1666,"title":{"429":{"position":[[0,7]]}},"content":{"84":{"position":[[819,6]]},"131":{"position":[[24,6]]},"235":{"position":[[1263,7]]},"253":{"position":[[462,6]]},"301":{"position":[[367,6],[773,6],[1083,6],[1323,6]]},"303":{"position":[[677,7]]},"304":{"position":[[2377,6]]},"310":{"position":[[193,6]]},"332":{"position":[[820,6]]},"366":{"position":[[130,7]]},"372":{"position":[[201,7]]},"384":{"position":[[194,7],[684,6]]},"429":{"position":[[34,6],[61,6],[107,7],[186,6],[383,6],[817,7],[1286,6],[1642,6],[1654,6],[1702,6],[1742,6],[1830,6],[2057,6]]},"430":{"position":[[277,6]]},"431":{"position":[[309,6]]},"432":{"position":[[237,6]]},"433":{"position":[[145,6],[168,6]]},"434":{"position":[[18,6],[289,6],[436,6]]},"435":{"position":[[296,6]]},"436":{"position":[[237,6]]},"446":{"position":[[483,6],[947,6]]},"505":{"position":[[271,6],[320,6]]},"556":{"position":[[176,6],[435,6],[650,6]]},"559":{"position":[[22,6],[142,6]]},"583":{"position":[[11,7]]},"584":{"position":[[228,6],[344,6],[375,6]]},"592":{"position":[[231,6]]},"593":{"position":[[518,6],[770,6]]},"601":{"position":[[268,7],[498,6],[682,6],[856,6],[997,6]]},"607":{"position":[[82,7],[414,6]]},"610":{"position":[[880,7],[937,7]]},"611":{"position":[[620,7]]},"613":{"position":[[244,6]]},"617":{"position":[[403,8],[494,6],[580,6],[657,6],[731,6]]},"627":{"position":[[98,7],[161,6],[563,6]]},"634":{"position":[[66,7]]}},"keywords":{}}],["button)send",{"_index":1770,"title":{},"content":{"95":{"position":[[440,11]]}},"keywords":{}}],["button/select",{"_index":4748,"title":{},"content":{"627":{"position":[[530,16]]}},"keywords":{}}],["buttonpick",{"_index":3318,"title":{},"content":{"347":{"position":[[699,10]]}},"keywords":{}}],["buttonselect",{"_index":3321,"title":{},"content":{"347":{"position":[[765,12],[898,12]]}},"keywords":{}}],["buy",{"_index":3659,"title":{"362":{"position":[[15,3]]}},"content":{},"keywords":{}}],["byte",{"_index":1293,"title":{},"content":{"56":{"position":[[229,4]]},"57":{"position":[[25,4],[89,5],[291,4],[434,4],[482,5]]},"58":{"position":[[272,4],[318,4],[375,5],[421,4],[482,4]]},"59":{"position":[[369,5],[559,5],[579,5],[658,5],[751,6],[797,4]]},"60":{"position":[[591,6],[666,6],[810,5],[930,6],[957,5],[977,5],[1056,5],[1149,6],[1195,4]]},"61":{"position":[[483,6],[1122,5],[1406,5],[1436,5],[1543,6],[1599,4],[1738,5],[1758,5],[1837,5],[2049,6],[2095,4],[2876,6],[2893,6],[2910,6],[3022,6],[3056,5],[3235,5],[3310,6]]},"62":{"position":[[863,5],[883,5],[962,5],[1051,6],[1097,4]]},"63":{"position":[[2047,5],[2067,5],[2146,5],[2235,6],[2281,4]]},"64":{"position":[[377,4]]},"67":{"position":[[1148,4]]},"99":{"position":[[291,5],[1214,4],[3597,5]]},"148":{"position":[[134,5]]},"151":{"position":[[141,5]]},"155":{"position":[[136,5]]},"158":{"position":[[143,5]]},"198":{"position":[[1158,4],[1313,5]]},"226":{"position":[[1690,4]]},"253":{"position":[[5414,5]]},"259":{"position":[[1174,4],[1871,5]]},"261":{"position":[[291,5]]},"321":{"position":[[3239,5]]},"329":{"position":[[346,4],[417,4],[520,4],[695,4],[825,4],[1367,4],[1403,4],[1613,5]]},"402":{"position":[[362,5],[387,5]]},"536":{"position":[[189,4]]},"539":{"position":[[139,4]]},"541":{"position":[[285,5]]},"542":{"position":[[306,5]]},"585":{"position":[[628,5]]},"715":{"position":[[219,5],[238,5],[696,5],[728,5],[1256,5],[1291,5]]},"724":{"position":[[213,5],[232,5],[672,5],[704,5],[1205,5],[1237,5]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":4946,"title":{},"content":{"650":{"position":[[1164,88]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00a",{"_index":4876,"title":{},"content":{"644":{"position":[[1262,53]]}},"keywords":{}}],["bytes)0x1acffc1d",{"_index":1373,"title":{},"content":{"61":{"position":[[2925,16]]}},"keywords":{}}],["c",{"_index":666,"title":{},"content":{"36":{"position":[[445,1],[483,1]]},"85":{"position":[[1570,2]]},"202":{"position":[[445,1],[483,1]]},"267":{"position":[[440,1],[478,1]]},"329":{"position":[[1033,1],[1258,1],[1466,2]]},"459":{"position":[[858,2]]},"467":{"position":[[1404,3]]},"493":{"position":[[223,1]]}},"keywords":{}}],["c"",{"_index":3242,"title":{},"content":{"329":{"position":[[1287,7]]}},"keywords":{}}],["c0",{"_index":805,"title":{},"content":{"36":{"position":[[7127,2]]},"202":{"position":[[7127,2]]},"267":{"position":[[5728,2]]}},"keywords":{}}],["c2",{"_index":3710,"title":{},"content":{"364":{"position":[[1714,2]]}},"keywords":{}}],["c3",{"_index":3695,"title":{},"content":{"364":{"position":[[23,2]]}},"keywords":{}}],["c:4",{"_index":3239,"title":{},"content":{"329":{"position":[[1161,4]]}},"keywords":{}}],["c:\\cosmo",{"_index":2505,"title":{},"content":{"253":{"position":[[196,10]]},"256":{"position":[[233,9],[289,9],[434,9]]},"257":{"position":[[763,9],[808,9],[1134,9],[1369,9]]}},"keywords":{}}],["c:\\cosmos>",{"_index":2600,"title":{},"content":{"257":{"position":[[1120,13],[1355,13]]}},"keywords":{}}],["c:\\openc3",{"_index":2515,"title":{},"content":{"253":{"position":[[1415,9],[2190,9]]}},"keywords":{}}],["c:\\shared\\ball.pem",{"_index":2812,"title":{},"content":{"291":{"position":[[1095,20],[1225,19]]}},"keywords":{}}],["c:\\users\\<username>\\.wslconfig",{"_index":2771,"title":{},"content":{"289":{"position":[[792,37]]}},"keywords":{}}],["c:\\users\\username\\appdata\\roaming\\docker\\settings.json",{"_index":2780,"title":{},"content":{"289":{"position":[[1264,54]]}},"keywords":{}}],["ca",{"_index":2806,"title":{},"content":{"291":{"position":[[904,3]]}},"keywords":{}}],["cabl",{"_index":2250,"title":{},"content":{"227":{"position":[[885,5]]}},"keywords":{}}],["cable.subscriptions.cr",{"_index":2254,"title":{},"content":{"227":{"position":[[1238,27]]}},"keywords":{}}],["cacert.pem",{"_index":2796,"title":{},"content":{"291":{"position":[[120,10]]}},"keywords":{}}],["cach",{"_index":555,"title":{},"content":{"24":{"position":[[971,6]]},"42":{"position":[[564,5]]},"43":{"position":[[704,5],[791,5],[6324,5]]},"69":{"position":[[2156,6],[2217,6],[2306,6]]},"75":{"position":[[1821,6]]}},"keywords":{}}],["cad",{"_index":2418,"title":{},"content":{"235":{"position":[[1867,3]]}},"keywords":{}}],["calcul",{"_index":1365,"title":{},"content":{"61":{"position":[[2586,11],[3130,10],[3179,9]]},"67":{"position":[[172,10],[731,11],[898,11],[1168,11]]},"263":{"position":[[1672,10]]},"355":{"position":[[633,10]]},"586":{"position":[[623,9],[672,9]]},"599":{"position":[[355,11]]}},"keywords":{}}],["calendar",{"_index":2968,"title":{"310":{"position":[[0,9]]},"521":{"position":[[0,8]]}},"content":{"310":{"position":[[5,8],[139,8],[231,8],[327,8],[420,8],[503,8],[600,8],[695,8],[798,8]]},"522":{"position":[[1,8]]},"525":{"position":[[427,8]]},"526":{"position":[[102,9]]},"527":{"position":[[165,8],[218,8],[457,8]]},"540":{"position":[[497,8]]},"762":{"position":[[325,9]]},"763":{"position":[[342,9]]}},"keywords":{}}],["calibr",{"_index":4248,"title":{},"content":{"481":{"position":[[429,11]]}},"keywords":{}}],["call",{"_index":241,"title":{},"content":{"7":{"position":[[42,6],[574,6]]},"36":{"position":[[4316,4]]},"56":{"position":[[290,6]]},"69":{"position":[[1911,4],[3984,7],[4481,6],[4862,6]]},"71":{"position":[[68,4]]},"73":{"position":[[295,5]]},"74":{"position":[[310,5]]},"75":{"position":[[1675,4]]},"79":{"position":[[36,6],[598,4],[673,7]]},"135":{"position":[[76,5]]},"202":{"position":[[4316,4]]},"227":{"position":[[946,4]]},"229":{"position":[[129,6]]},"232":{"position":[[746,6]]},"233":{"position":[[793,6]]},"239":{"position":[[150,6]]},"246":{"position":[[67,6]]},"253":{"position":[[1567,6],[3586,6],[3795,6],[3965,6],[4384,6],[5123,6],[5255,6],[6986,6],[7396,6],[7559,6]]},"257":{"position":[[1218,6],[1465,6]]},"259":{"position":[[1644,6]]},"267":{"position":[[3265,4],[10410,6]]},"283":{"position":[[282,4],[373,4]]},"324":{"position":[[1252,6]]},"328":{"position":[[81,6],[686,4]]},"368":{"position":[[185,6]]},"476":{"position":[[4251,6],[4899,4]]},"483":{"position":[[516,7]]},"484":{"position":[[70,6]]},"487":{"position":[[668,6]]},"488":{"position":[[1350,4]]},"496":{"position":[[1038,6]]},"498":{"position":[[311,6]]},"584":{"position":[[43,4],[149,6],[261,6]]},"606":{"position":[[216,4]]},"611":{"position":[[79,7]]},"612":{"position":[[986,6]]},"676":{"position":[[687,5],[1185,5]]},"703":{"position":[[77,7],[211,4],[268,4]]}},"keywords":{}}],["call(self",{"_index":783,"title":{},"content":{"36":{"position":[[6015,10]]},"202":{"position":[[6015,10]]},"267":{"position":[[4495,10]]}},"keywords":{}}],["call(valu",{"_index":773,"title":{},"content":{"36":{"position":[[5666,11]]},"202":{"position":[[5666,11]]},"267":{"position":[[4146,11]]}},"keywords":{}}],["callback",{"_index":2261,"title":{},"content":{"227":{"position":[[1849,8],[2054,8],[4894,8]]}},"keywords":{}}],["camel",{"_index":4178,"title":{},"content":{"476":{"position":[[1550,5]]}},"keywords":{}}],["camelcas",{"_index":760,"title":{},"content":{"36":{"position":[[5160,9]]},"202":{"position":[[5160,9]]},"224":{"position":[[339,9]]},"267":{"position":[[3641,9]]}},"keywords":{}}],["can't",{"_index":1071,"title":{},"content":{"44":{"position":[[1642,5]]},"360":{"position":[[1230,5]]}},"keywords":{}}],["cancel",{"_index":2576,"title":{},"content":{"254":{"position":[[814,8]]},"495":{"position":[[1248,9],[1263,6]]},"559":{"position":[[160,6],[176,9]]},"671":{"position":[[187,8]]}},"keywords":{}}],["canva",{"_index":2357,"title":{"437":{"position":[[0,6]]},"438":{"position":[[0,7]]}},"content":{"230":{"position":[[2150,6]]},"437":{"position":[[3,6],[79,6],[148,7]]},"438":{"position":[[29,6],[49,6],[90,6],[118,6],[187,7],[245,6],[278,6]]},"439":{"position":[[21,6],[125,6],[203,6],[242,6],[354,6]]},"440":{"position":[[51,6],[271,6],[349,6],[586,6]]},"441":{"position":[[26,6],[239,6],[318,6],[347,6]]},"442":{"position":[[26,6],[680,6],[759,6],[900,6],[1519,6],[1598,6]]},"443":{"position":[[23,6],[121,6],[193,6],[261,6],[329,6],[442,6]]},"444":{"position":[[38,6],[329,6],[401,6],[469,6],[537,6],[744,6]]},"445":{"position":[[22,6],[221,6]]}},"keywords":{}}],["canvasdot",{"_index":3989,"title":{"445":{"position":[[0,10]]}},"content":{"445":{"position":[[234,9]]}},"keywords":{}}],["canvasimag",{"_index":2358,"title":{"441":{"position":[[0,12]]}},"content":{"230":{"position":[[2179,11]]},"441":{"position":[[362,11],[437,11],[640,12]]}},"keywords":{}}],["canvasimagevalu",{"_index":2359,"title":{"442":{"position":[[0,17]]}},"content":{"230":{"position":[[2195,16]]},"442":{"position":[[915,16],[1196,17]]}},"keywords":{}}],["canvaslabel",{"_index":3963,"title":{"439":{"position":[[0,12]]}},"content":{"439":{"position":[[369,11],[412,11]]}},"keywords":{}}],["canvaslabelvalu",{"_index":3968,"title":{"440":{"position":[[0,17]]}},"content":{"440":{"position":[[601,16],[655,16]]},"444":{"position":[[758,16]]}},"keywords":{}}],["canvaslin",{"_index":3983,"title":{"443":{"position":[[0,11]]}},"content":{"443":{"position":[[456,10],[476,10],[504,10]]}},"keywords":{}}],["canvaslinevalu",{"_index":3986,"title":{"444":{"position":[[0,16]]}},"content":{"444":{"position":[[822,15],[937,15],[1104,16]]}},"keywords":{}}],["cap",{"_index":1451,"title":{},"content":{"69":{"position":[[1770,4]]},"230":{"position":[[531,5]]},"231":{"position":[[623,5]]},"319":{"position":[[129,3]]},"476":{"position":[[1325,4]]}},"keywords":{}}],["cap_sys_resourc",{"_index":3029,"title":{},"content":{"319":{"position":[[137,16]]}},"keywords":{}}],["capabl",{"_index":1735,"title":{"490":{"position":[[19,13]]}},"content":{"93":{"position":[[1207,7]]},"474":{"position":[[71,12]]},"490":{"position":[[38,12]]},"566":{"position":[[298,10]]},"635":{"position":[[23,10]]}},"keywords":{}}],["capit",{"_index":2122,"title":{},"content":{"198":{"position":[[732,7]]},"259":{"position":[[759,7]]},"320":{"position":[[213,7]]}},"keywords":{}}],["captur",{"_index":1383,"title":{},"content":{"63":{"position":[[71,7]]},"230":{"position":[[770,7]]},"331":{"position":[[375,8]]},"482":{"position":[[930,7],[1150,7]]}},"keywords":{}}],["card",{"_index":3306,"title":{},"content":{"347":{"position":[[315,4],[376,5],[442,4],[552,4],[1703,4]]},"461":{"position":[[1108,4]]},"467":{"position":[[459,4]]}},"keywords":{}}],["card!)open",{"_index":3314,"title":{},"content":{"347":{"position":[[625,10]]}},"keywords":{}}],["cardclick",{"_index":3326,"title":{},"content":{"347":{"position":[[919,9]]}},"keywords":{}}],["cardholder’",{"_index":4091,"title":{},"content":{"461":{"position":[[1088,12]]}},"keywords":{}}],["care",{"_index":3192,"title":{},"content":{"324":{"position":[[3319,4]]},"476":{"position":[[209,7]]},"499":{"position":[[505,4]]},"608":{"position":[[257,7],[610,7]]}},"keywords":{}}],["carri",{"_index":4129,"title":{},"content":{"466":{"position":[[665,5]]}},"keywords":{}}],["case",{"_index":1067,"title":{},"content":{"44":{"position":[[1383,4]]},"46":{"position":[[541,4]]},"60":{"position":[[556,4]]},"61":{"position":[[2980,4]]},"198":{"position":[[775,4]]},"247":{"position":[[278,6]]},"253":{"position":[[5465,4],[7483,4]]},"259":{"position":[[802,4]]},"260":{"position":[[440,5]]},"304":{"position":[[812,5],[1016,5],[1111,5],[5254,6],[5288,5]]},"332":{"position":[[123,4]]},"336":{"position":[[172,6]]},"343":{"position":[[564,4]]},"345":{"position":[[387,5],[490,5]]},"347":{"position":[[254,4]]},"461":{"position":[[881,4]]},"476":{"position":[[1556,4]]},"480":{"position":[[145,6]]},"495":{"position":[[328,6]]},"513":{"position":[[449,4]]},"616":{"position":[[127,5]]},"627":{"position":[[822,4],[1150,4],[1182,4]]},"656":{"position":[[266,5]]},"657":{"position":[[165,5]]},"658":{"position":[[224,5]]},"700":{"position":[[81,5]]}},"keywords":{}}],["cat",{"_index":536,"title":{},"content":{"24":{"position":[[248,3]]}},"keywords":{}}],["catch",{"_index":2650,"title":{},"content":{"267":{"position":[[2236,5]]},"488":{"position":[[172,7]]},"502":{"position":[[82,5]]},"612":{"position":[[1387,5]]},"752":{"position":[[79,10]]}},"keywords":{}}],["categori",{"_index":2098,"title":{"190":{"position":[[0,9]]}},"content":{"190":{"position":[[1,8],[51,8],[153,8]]}},"keywords":{}}],["caught",{"_index":5470,"title":{},"content":{"752":{"position":[[339,6]]}},"keywords":{}}],["caus",{"_index":182,"title":{},"content":{"5":{"position":[[1208,5]]},"36":{"position":[[3197,5],[9980,6]]},"61":{"position":[[2422,6]]},"177":{"position":[[144,6]]},"202":{"position":[[3197,5],[9980,6]]},"214":{"position":[[74,6]]},"289":{"position":[[1066,5]]},"291":{"position":[[508,5]]},"322":{"position":[[1655,5]]},"327":{"position":[[254,6]]},"355":{"position":[[1005,6]]},"357":{"position":[[2377,6]]},"590":{"position":[[166,6]]},"599":{"position":[[1012,5]]},"608":{"position":[[75,6],[396,6]]},"609":{"position":[[55,6]]},"613":{"position":[[134,5]]},"713":{"position":[[312,6]]},"714":{"position":[[309,6]]},"725":{"position":[[297,6]]},"726":{"position":[[294,6]]},"752":{"position":[[411,5],[457,5]]}},"keywords":{}}],["caution",{"_index":5471,"title":{},"content":{"752":{"position":[[372,7]]}},"keywords":{}}],["cbor",{"_index":1794,"title":{},"content":{"99":{"position":[[718,4],[800,4],[2299,4],[3709,4],[3866,4]]}},"keywords":{}}],["cboraccessor",{"_index":2165,"title":{},"content":{"215":{"position":[[229,13]]},"279":{"position":[[229,13]]}},"keywords":{}}],["ccsd",{"_index":1356,"title":{},"content":{"61":{"position":[[280,5],[402,5],[2668,5],[2766,5],[3104,5]]},"226":{"position":[[1673,5]]},"285":{"position":[[176,5]]},"360":{"position":[[155,5]]},"667":{"position":[[664,5]]}},"keywords":{}}],["ccsds_utility.pi",{"_index":4182,"title":{},"content":{"476":{"position":[[1708,18]]}},"keywords":{}}],["ccsds_version",{"_index":356,"title":{},"content":{"13":{"position":[[512,13]]},"14":{"position":[[398,13]]}},"keywords":{}}],["ccsdsapid",{"_index":267,"title":{},"content":{"7":{"position":[[694,9],[899,9]]},"226":{"position":[[389,9],[1267,9],[2037,9]]},"285":{"position":[[398,9]]}},"keywords":{}}],["ccsdsday",{"_index":2722,"title":{},"content":{"285":{"position":[[719,8]]}},"keywords":{}}],["ccsdslength",{"_index":2227,"title":{},"content":{"226":{"position":[[657,11],[1535,11],[2305,11]]},"285":{"position":[[654,11]]}},"keywords":{}}],["ccsdsmsod",{"_index":2726,"title":{},"content":{"285":{"position":[[803,9]]}},"keywords":{}}],["ccsdsseqcnt",{"_index":2223,"title":{},"content":{"226":{"position":[[566,11],[1444,11],[2214,11]]},"285":{"position":[[586,11]]},"328":{"position":[[1668,11]]}},"keywords":{}}],["ccsdsseqflag",{"_index":2221,"title":{},"content":{"226":{"position":[[478,13],[1356,13],[2126,13]]},"285":{"position":[[468,13]]}},"keywords":{}}],["ccsdsshf",{"_index":2217,"title":{},"content":{"226":{"position":[[297,8],[1175,8],[1945,8]]},"285":{"position":[[305,8]]}},"keywords":{}}],["ccsdstype",{"_index":2215,"title":{},"content":{"226":{"position":[[217,9],[1095,9],[1865,9]]},"285":{"position":[[204,9]]}},"keywords":{}}],["ccsdsusom",{"_index":2729,"title":{},"content":{"285":{"position":[[876,10]]}},"keywords":{}}],["ccsdsutil",{"_index":4181,"title":{},"content":{"476":{"position":[[1689,13]]}},"keywords":{}}],["ccsdsver",{"_index":2213,"title":{},"content":{"226":{"position":[[135,8],[1013,8],[1783,8]]},"285":{"position":[[119,8]]},"646":{"position":[[988,11]]},"648":{"position":[[1030,11]]}},"keywords":{}}],["ccsdsver"",{"_index":5058,"title":{},"content":{"667":{"position":[[414,15]]}},"keywords":{}}],["cd",{"_index":1168,"title":{},"content":{"46":{"position":[[874,2],[1068,2],[1254,2]]},"84":{"position":[[235,2]]},"85":{"position":[[264,2],[676,2]]},"253":{"position":[[2212,2]]},"320":{"position":[[322,2],[366,2],[453,2]]},"321":{"position":[[82,2],[3566,2]]},"324":{"position":[[3376,2]]},"325":{"position":[[739,2]]},"347":{"position":[[2446,2]]}},"keywords":{}}],["cdn.alpinelinux.org",{"_index":1620,"title":{},"content":{"83":{"position":[[1980,19]]}},"keywords":{}}],["cell",{"_index":4483,"title":{},"content":{"553":{"position":[[14,5]]}},"keywords":{}}],["cellular",{"_index":3889,"title":{},"content":{"425":{"position":[[28,8]]}},"keywords":{}}],["celsiu",{"_index":664,"title":{},"content":{"36":{"position":[[387,7],[475,7]]},"202":{"position":[[387,7],[475,7]]},"267":{"position":[[382,7],[470,7]]}},"keywords":{}}],["center",{"_index":3682,"title":{},"content":{"363":{"position":[[987,6]]},"398":{"position":[[18,8]]},"404":{"position":[[571,8],[775,7]]},"485":{"position":[[366,8]]}},"keywords":{}}],["cento",{"_index":1150,"title":{},"content":{"46":{"position":[[302,6],[711,6]]}},"keywords":{}}],["cer",{"_index":2807,"title":{},"content":{"291":{"position":[[916,5]]}},"keywords":{}}],["cert",{"_index":469,"title":{"25":{"position":[[9,6]]}},"content":{"21":{"position":[[13,4]]},"22":{"position":[[34,4]]},"23":{"position":[[432,4]]},"25":{"position":[[21,4]]}},"keywords":{}}],["cert.crt",{"_index":479,"title":{},"content":{"21":{"position":[[201,10]]}},"keywords":{}}],["cert.key",{"_index":480,"title":{},"content":{"21":{"position":[[212,10]]},"24":{"position":[[73,8]]}},"keywords":{}}],["cert.pem",{"_index":539,"title":{},"content":{"24":{"position":[[360,9],[371,8],[730,8]]},"25":{"position":[[53,8]]}},"keywords":{}}],["certain",{"_index":115,"title":{},"content":{"3":{"position":[[489,7]]},"44":{"position":[[169,7]]},"148":{"position":[[43,7]]},"151":{"position":[[50,7]]},"155":{"position":[[45,7]]},"158":{"position":[[52,7]]},"372":{"position":[[46,7]]},"373":{"position":[[49,7]]},"462":{"position":[[326,7]]},"466":{"position":[[202,7],[286,7],[315,7],[491,7]]},"490":{"position":[[118,7]]},"684":{"position":[[27,7]]},"688":{"position":[[27,7]]}},"keywords":{}}],["certfil",{"_index":488,"title":{},"content":{"22":{"position":[[186,9]]}},"keywords":{}}],["certif",{"_index":389,"title":{"20":{"position":[[13,12]]},"26":{"position":[[15,11]]},"291":{"position":[[0,13]]}},"content":{"20":{"position":[[19,12],[123,12],[228,12],[893,11],[1094,11],[1288,11]]},"22":{"position":[[168,13]]},"24":{"position":[[399,12],[476,11],[679,12]]},"26":{"position":[[63,11],[154,11]]},"27":{"position":[[79,12],[681,12]]},"291":{"position":[[204,12],[569,11],[1005,11],[1483,11]]}},"keywords":{}}],["certifi",{"_index":457,"title":{},"content":{"20":{"position":[[1082,7]]}},"keywords":{}}],["certificate.sha256",{"_index":451,"title":{},"content":{"20":{"position":[[987,18]]}},"keywords":{}}],["cf",{"_index":2983,"title":{"312":{"position":[[16,3]]},"316":{"position":[[11,4]]},"317":{"position":[[6,4]]},"318":{"position":[[21,3]]},"319":{"position":[[14,4]]},"320":{"position":[[50,4]]}},"content":{"315":{"position":[[68,4],[250,3]]},"316":{"position":[[13,3]]},"318":{"position":[[387,4]]},"319":{"position":[[82,3],[110,3],[189,3],[221,3]]},"320":{"position":[[163,4],[168,3],[395,3],[449,3],[470,3],[520,3],[664,3],[734,3],[859,3],[870,3],[1327,4],[1700,4]]},"321":{"position":[[295,3],[1057,3],[1185,3],[1232,3],[1568,3],[1727,3],[2232,3],[2750,3],[3576,3]]},"322":{"position":[[249,3],[344,3],[1096,3],[1200,3],[1268,3],[1450,4],[2239,3]]}},"keywords":{}}],["cfdp",{"_index":2079,"title":{},"content":{"182":{"position":[[256,4],[261,4],[279,5]]},"360":{"position":[[161,4],[174,4]]},"362":{"position":[[290,4]]}},"keywords":{}}],["cfe/cmake/makefile.sampl",{"_index":3020,"title":{},"content":{"318":{"position":[[474,25]]}},"keywords":{}}],["cfe/cmake/sample_def",{"_index":3022,"title":{},"content":{"318":{"position":[[528,21]]}},"keywords":{}}],["cff7fc477df9","scope":"openid",{"_index":1008,"title":{},"content":{"43":{"position":[[4578,49]]}},"keywords":{}}],["cfs/build",{"_index":3025,"title":{},"content":{"318":{"position":[[630,10],[641,10]]}},"keywords":{}}],["cfs/build/exe/cpu1",{"_index":3026,"title":{},"content":{"318":{"position":[[660,19]]}},"keywords":{}}],["cfs/targets/cf",{"_index":3055,"title":{},"content":{"320":{"position":[[1466,16]]}},"keywords":{}}],["cfs/targets/cfs/cmd_tlm",{"_index":3056,"title":{},"content":{"321":{"position":[[92,23]]}},"keywords":{}}],["cfs_cmds.txt",{"_index":3058,"title":{},"content":{"321":{"position":[[127,12],[1162,13]]}},"keywords":{}}],["cfs_int",{"_index":3135,"title":{},"content":{"322":{"position":[[2180,7]]}},"keywords":{}}],["cfs_target_nam",{"_index":3044,"title":{},"content":{"320":{"position":[[843,15],[881,15],[1034,15],[1173,15]]},"322":{"position":[[1310,15]]}},"keywords":{}}],["cfs_tlm.txt",{"_index":3059,"title":{},"content":{"321":{"position":[[146,11],[2726,12]]}},"keywords":{}}],["chain",{"_index":1301,"title":{},"content":{"56":{"position":[[566,6]]},"64":{"position":[[189,5]]},"75":{"position":[[784,5],[1149,5],[1591,6]]}},"keywords":{}}],["chain.pem",{"_index":549,"title":{},"content":{"24":{"position":[[782,9],[811,10],[823,9]]}},"keywords":{}}],["chanc",{"_index":715,"title":{},"content":{"36":{"position":[[3002,6]]},"69":{"position":[[3921,6],[4524,6]]},"202":{"position":[[3002,6]]},"227":{"position":[[1437,6]]},"267":{"position":[[2211,6]]}},"keywords":{}}],["chang",{"_index":1543,"title":{"470":{"position":[[4,7]]}},"content":{"80":{"position":[[92,6]]},"99":{"position":[[4616,8],[4851,6]]},"135":{"position":[[409,7]]},"208":{"position":[[189,7]]},"225":{"position":[[248,6]]},"235":{"position":[[1742,7]]},"253":{"position":[[224,6],[7101,6]]},"254":{"position":[[419,8],[1249,6],[1823,7],[2297,6],[2427,6]]},"256":{"position":[[327,6]]},"257":{"position":[[860,6],[902,6]]},"267":{"position":[[8382,7],[8665,8],[10459,7]]},"273":{"position":[[188,7]]},"282":{"position":[[249,6]]},"289":{"position":[[1443,6]]},"292":{"position":[[442,6]]},"305":{"position":[[1110,6]]},"308":{"position":[[594,6]]},"315":{"position":[[1,6]]},"320":{"position":[[556,6]]},"321":{"position":[[1,6],[3672,6]]},"322":{"position":[[1041,6],[1334,6],[1945,6]]},"324":{"position":[[1183,6]]},"328":{"position":[[657,7]]},"332":{"position":[[752,7]]},"334":{"position":[[332,7],[828,7],[950,8],[988,7]]},"338":{"position":[[1702,7]]},"343":{"position":[[633,6]]},"368":{"position":[[289,6]]},"383":{"position":[[844,6],[952,6]]},"403":{"position":[[277,8]]},"411":{"position":[[22,7]]},"424":{"position":[[52,7]]},"425":{"position":[[55,7]]},"427":{"position":[[168,8]]},"442":{"position":[[38,7]]},"444":{"position":[[15,8]]},"449":{"position":[[206,7],[566,6]]},"470":{"position":[[12,7],[62,7]]},"488":{"position":[[1301,7],[1493,6],[1593,8]]},"505":{"position":[[278,7]]},"514":{"position":[[1392,7]]},"527":{"position":[[348,7]]},"528":{"position":[[489,7],[601,7],[644,7]]},"533":{"position":[[82,8],[553,6],[656,7]]},"538":{"position":[[88,7],[231,7]]},"553":{"position":[[95,7]]},"556":{"position":[[657,7]]},"558":{"position":[[218,6]]},"559":{"position":[[149,7]]},"570":{"position":[[3,6]]},"577":{"position":[[587,6],[854,6]]},"593":{"position":[[344,6],[407,6]]},"599":{"position":[[136,6],[205,8],[234,7],[400,8],[1093,8]]},"607":{"position":[[421,7],[519,8]]},"617":{"position":[[664,7]]},"636":{"position":[[1161,6]]},"637":{"position":[[1383,6]]},"638":{"position":[[1404,6]]},"639":{"position":[[1437,6]]},"640":{"position":[[1237,6]]},"641":{"position":[[1454,6]]},"642":{"position":[[1475,6]]},"643":{"position":[[1508,6]]},"680":{"position":[[75,6]]},"700":{"position":[[175,8],[1706,8],[1744,7]]},"717":{"position":[[143,6]]},"718":{"position":[[150,6]]},"727":{"position":[[133,6]]},"728":{"position":[[147,6]]},"769":{"position":[[295,6]]},"773":{"position":[[119,6],[198,6]]}},"keywords":{}}],["changes)not",{"_index":1069,"title":{},"content":{"44":{"position":[[1505,12]]}},"keywords":{}}],["channel",{"_index":2255,"title":{},"content":{"227":{"position":[[1268,8],[1679,7]]}},"keywords":{}}],["chapter",{"_index":3035,"title":{},"content":{"320":{"position":[[76,7]]}},"keywords":{}}],["char",{"_index":1327,"title":{},"content":{"58":{"position":[[660,4],[960,4],[1017,4],[1058,4],[1116,4]]}},"keywords":{}}],["charact",{"_index":286,"title":{},"content":{"8":{"position":[[37,9],[120,10],[260,9]]},"9":{"position":[[52,10],[138,10],[487,10],[772,10]]},"54":{"position":[[494,10]]},"58":{"position":[[58,10],[132,11],[301,10],[403,10],[523,9],[665,9],[718,10],[740,10],[843,9],[919,9],[965,9],[1029,9],[1063,9],[1087,9],[1121,9],[1145,9]]},"62":{"position":[[62,10],[156,10],[493,10],[613,10],[628,10],[790,10]]},"63":{"position":[[1318,10],[1438,10],[1453,10],[1974,10]]},"98":{"position":[[44,9]]},"403":{"position":[[733,10],[758,10]]},"406":{"position":[[318,10],[343,10]]},"407":{"position":[[464,10],[489,10]]},"408":{"position":[[338,10],[363,10]]},"409":{"position":[[341,10],[366,10]]},"410":{"position":[[615,10],[640,10]]},"415":{"position":[[307,10],[332,10]]},"416":{"position":[[310,10],[335,10]]},"417":{"position":[[584,10],[609,10]]},"427":{"position":[[546,10],[571,10]]},"435":{"position":[[127,10]]},"476":{"position":[[136,9]]},"750":{"position":[[40,10],[123,11],[238,10]]},"751":{"position":[[39,10],[122,11]]}},"keywords":{}}],["character",{"_index":3467,"title":{},"content":{"357":{"position":[[13,16]]}},"keywords":{}}],["chart",{"_index":2462,"title":{},"content":{"243":{"position":[[305,6]]},"249":{"position":[[504,6]]},"353":{"position":[[110,7]]},"618":{"position":[[95,5]]}},"keywords":{}}],["check",{"_index":150,"title":{"25":{"position":[[0,8]]},"499":{"position":[[0,8]]},"504":{"position":[[15,6]]},"656":{"position":[[0,6]]}},"content":{"5":{"position":[[327,7]]},"36":{"position":[[4958,5],[8950,5]]},"40":{"position":[[1315,7]]},"44":{"position":[[2015,6]]},"79":{"position":[[872,7]]},"202":{"position":[[4958,5],[8950,5]]},"230":{"position":[[2063,8]]},"231":{"position":[[1011,5]]},"253":{"position":[[4624,5],[5874,5]]},"278":{"position":[[304,7]]},"289":{"position":[[621,6]]},"303":{"position":[[1408,9],[1437,8]]},"304":{"position":[[3214,5],[3312,5],[3372,5],[3998,8],[4044,6],[4094,8],[4143,6],[4480,5],[5890,7],[6057,7],[6205,7],[6335,7],[6497,7],[6654,6],[6881,7]]},"328":{"position":[[595,5]]},"331":{"position":[[171,5],[575,5]]},"334":{"position":[[1027,5]]},"344":{"position":[[306,8]]},"357":{"position":[[4082,5]]},"429":{"position":[[1842,7]]},"430":{"position":[[12,5],[233,5],[269,7]]},"446":{"position":[[867,5],[903,7]]},"476":{"position":[[4628,8],[4842,8]]},"478":{"position":[[947,5]]},"480":{"position":[[440,7],[462,7],[1273,7]]},"488":{"position":[[2634,5]]},"492":{"position":[[609,6]]},"493":{"position":[[111,6],[135,5],[246,5]]},"496":{"position":[[398,6]]},"499":{"position":[[30,8]]},"501":{"position":[[95,6],[135,5],[201,5],[239,5],[678,6],[738,8],[956,6],[1016,8]]},"504":{"position":[[37,6],[218,6],[401,5],[546,7],[656,7],[708,6],[804,8],[896,5]]},"528":{"position":[[989,6],[1117,5],[1442,5]]},"534":{"position":[[210,7],[330,8]]},"607":{"position":[[487,6]]},"617":{"position":[[296,6]]},"637":{"position":[[52,8]]},"639":{"position":[[66,6]]},"641":{"position":[[75,8]]},"643":{"position":[[89,6]]},"644":{"position":[[267,8]]},"656":{"position":[[182,5],[319,6]]},"657":{"position":[[1,6]]},"658":{"position":[[179,5],[448,5],[890,5]]},"685":{"position":[[23,5]]},"758":{"position":[[92,6]]}},"keywords":{}}],["check("<target",{"_index":4971,"title":{},"content":{"656":{"position":[[350,22]]}},"keywords":{}}],["check("inst",{"_index":4974,"title":{},"content":{"656":{"position":[[810,16],[1080,16],[1165,16],[1437,16]]},"669":{"position":[[772,16],[890,16],[1058,16],[1176,16]]}},"keywords":{}}],["check_except",{"_index":4995,"title":{"659":{"position":[[0,16]]}},"content":{},"keywords":{}}],["check_exception("<method",{"_index":4997,"title":{},"content":{"659":{"position":[[149,32]]}},"keywords":{}}],["check_exception("cmd"",{"_index":5000,"title":{},"content":{"659":{"position":[[392,32],[526,32]]}},"keywords":{}}],["check_express",{"_index":4388,"title":{"658":{"position":[[0,17]]}},"content":{"501":{"position":[[39,17]]},"658":{"position":[[288,17],[343,16]]},"687":{"position":[[261,17]]}},"keywords":{}}],["check_expression("#{answ",{"_index":4987,"title":{},"content":{"658":{"position":[[505,32]]}},"keywords":{}}],["check_expression("<expression>"",{"_index":4990,"title":{},"content":{"658":{"position":[[928,48]]}},"keywords":{}}],["check_expression("'#{answ",{"_index":4989,"title":{},"content":{"658":{"position":[[750,34]]}},"keywords":{}}],["check_expression("tlm('inst",{"_index":4992,"title":{},"content":{"658":{"position":[[1063,32]]}},"keywords":{}}],["check_format",{"_index":4968,"title":{"656":{"position":[[18,16]]}},"content":{},"keywords":{}}],["check_formatted("inst",{"_index":4976,"title":{},"content":{"656":{"position":[[922,26],[1277,26]]}},"keywords":{}}],["check_raw",{"_index":4967,"title":{"656":{"position":[[7,10]]}},"content":{},"keywords":{}}],["check_raw("inst",{"_index":4975,"title":{},"content":{"656":{"position":[[864,20],[1219,20]]}},"keywords":{}}],["check_temperature(1",{"_index":4263,"title":{},"content":{"483":{"position":[[969,20]]}},"keywords":{}}],["check_temperature(10",{"_index":4272,"title":{},"content":{"483":{"position":[[1158,21]]}},"keywords":{}}],["check_temperature(2",{"_index":4264,"title":{},"content":{"483":{"position":[[990,20]]}},"keywords":{}}],["check_temperature(3",{"_index":4265,"title":{},"content":{"483":{"position":[[1011,20]]}},"keywords":{}}],["check_temperature(4",{"_index":4266,"title":{},"content":{"483":{"position":[[1032,20]]}},"keywords":{}}],["check_temperature(5",{"_index":4267,"title":{},"content":{"483":{"position":[[1053,20]]}},"keywords":{}}],["check_temperature(6",{"_index":4268,"title":{},"content":{"483":{"position":[[1074,20]]}},"keywords":{}}],["check_temperature(7",{"_index":4269,"title":{},"content":{"483":{"position":[[1095,20]]}},"keywords":{}}],["check_temperature(8",{"_index":4270,"title":{},"content":{"483":{"position":[[1116,20]]}},"keywords":{}}],["check_temperature(9",{"_index":4271,"title":{},"content":{"483":{"position":[[1137,20]]}},"keywords":{}}],["check_temperature(temperature_numb",{"_index":4260,"title":{},"content":{"483":{"position":[[641,36],[738,37]]}},"keywords":{}}],["check_toler",{"_index":4979,"title":{"657":{"position":[[0,16]]}},"content":{"657":{"position":[[228,16]]}},"keywords":{}}],["check_tolerance("<target",{"_index":4980,"title":{},"content":{"657":{"position":[[269,32]]}},"keywords":{}}],["check_tolerance("inst",{"_index":4983,"title":{},"content":{"657":{"position":[[753,26],[821,26],[920,26],[988,26]]}},"keywords":{}}],["check_with_unit",{"_index":4969,"title":{"656":{"position":[[35,17]]}},"content":{},"keywords":{}}],["check_with_units("inst",{"_index":4977,"title":{},"content":{"656":{"position":[[986,27],[1341,27]]}},"keywords":{}}],["checkbox",{"_index":3921,"title":{},"content":{"429":{"position":[[1940,8]]},"430":{"position":[[189,8]]},"496":{"position":[[1006,8]]},"527":{"position":[[387,8]]},"612":{"position":[[36,10]]}},"keywords":{}}],["checkbutton",{"_index":3904,"title":{"430":{"position":[[0,12]]}},"content":{"429":{"position":[[369,12],[2032,11]]},"430":{"position":[[239,11]]},"446":{"position":[[873,11]]}},"keywords":{}}],["checkedclick",{"_index":3340,"title":{},"content":{"347":{"position":[[1478,12]]}},"keywords":{}}],["checkerror",{"_index":4996,"title":{},"content":{"659":{"position":[[103,10]]}},"keywords":{}}],["checkingdisplay",{"_index":4464,"title":{},"content":{"532":{"position":[[27,16]]}},"keywords":{}}],["checkout",{"_index":4012,"title":{},"content":{"449":{"position":[[219,8]]},"482":{"position":[[913,9],[1132,9]]}},"keywords":{}}],["checkperform",{"_index":4583,"title":{},"content":{"606":{"position":[[135,12]]}},"keywords":{}}],["checks.rb",{"_index":3924,"title":{},"content":{"429":{"position":[[2006,9]]}},"keywords":{}}],["checksum",{"_index":3076,"title":{},"content":{"321":{"position":[[780,8],[1660,8],[2165,8],[2665,8]]}},"keywords":{}}],["checkview",{"_index":4584,"title":{},"content":{"606":{"position":[[166,9]]}},"keywords":{}}],["chmod",{"_index":3164,"title":{},"content":{"324":{"position":[[1873,5]]},"341":{"position":[[284,5]]}},"keywords":{}}],["choic",{"_index":2470,"title":{},"content":{"245":{"position":[[505,7]]},"424":{"position":[[172,7]]},"460":{"position":[[146,6]]},"462":{"position":[[629,7]]},"464":{"position":[[90,7]]},"483":{"position":[[350,7],[440,6]]},"495":{"position":[[1106,7]]},"496":{"position":[[234,7]]},"656":{"position":[[301,6]]},"657":{"position":[[210,6]]},"658":{"position":[[270,6]]},"681":{"position":[[342,7]]},"682":{"position":[[246,7]]},"683":{"position":[[343,7]]},"684":{"position":[[219,7]]}},"keywords":{}}],["choos",{"_index":2123,"title":{},"content":{"198":{"position":[[831,6]]},"246":{"position":[[168,7]]},"259":{"position":[[855,6]]},"292":{"position":[[824,6]]},"324":{"position":[[3772,6]]},"357":{"position":[[3733,8]]},"462":{"position":[[174,6]]},"479":{"position":[[109,6]]},"499":{"position":[[387,6]]},"513":{"position":[[362,6],[398,6]]},"591":{"position":[[103,7]]},"609":{"position":[[217,6]]}},"keywords":{}}],["chooser",{"_index":4474,"title":{},"content":{"547":{"position":[[206,9]]},"555":{"position":[[150,7],[269,7]]}},"keywords":{}}],["chosen",{"_index":3471,"title":{},"content":{"357":{"position":[[99,6]]},"359":{"position":[[1658,6]]},"513":{"position":[[314,6]]}},"keywords":{}}],["chrome",{"_index":400,"title":{},"content":{"20":{"position":[[142,6]]},"559":{"position":[[325,7]]}},"keywords":{}}],["chrome)click",{"_index":1768,"title":{},"content":{"95":{"position":[[376,12]]}},"keywords":{}}],["chrome/124.0.0.0",{"_index":1062,"title":{},"content":{"44":{"position":[[1196,16]]}},"keywords":{}}],["chrome/edg",{"_index":2851,"title":{},"content":{"299":{"position":[[239,11]]}},"keywords":{}}],["chromium",{"_index":1037,"title":{},"content":{"44":{"position":[[460,8]]},"299":{"position":[[196,8]]}},"keywords":{}}],["chunk",{"_index":1023,"title":{},"content":{"43":{"position":[[6602,7]]},"449":{"position":[[413,7]]}},"keywords":{}}],["ciphersuit",{"_index":605,"title":{},"content":{"29":{"position":[[124,13]]}},"keywords":{}}],["circl",{"_index":3831,"title":{},"content":{"404":{"position":[[310,6],[363,6]]},"411":{"position":[[618,6],[671,6]]},"414":{"position":[[12,6],[329,6]]},"527":{"position":[[277,6],[367,6],[446,7]]}},"keywords":{}}],["circumst",{"_index":4125,"title":{},"content":{"466":{"position":[[331,14]]},"467":{"position":[[1422,13]]},"470":{"position":[[165,14]]}},"keywords":{}}],["citi",{"_index":427,"title":{},"content":{"20":{"position":[[548,5],[563,7]]}},"keywords":{}}],["claim",{"_index":3642,"title":{},"content":{"360":{"position":[[974,6]]}},"keywords":{}}],["clariti",{"_index":714,"title":{},"content":{"36":{"position":[[2985,7]]},"202":{"position":[[2985,7]]},"267":{"position":[[2194,7]]}},"keywords":{}}],["class",{"_index":744,"title":{"487":{"position":[[6,7]]}},"content":{"36":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8185,5],[9079,5]]},"53":{"position":[[23,7],[138,7]]},"54":{"position":[[3153,5]]},"69":{"position":[[143,7],[639,5],[751,5],[836,5],[1249,8],[1523,8],[1636,5]]},"71":{"position":[[129,6],[142,5],[401,5],[702,5]]},"72":{"position":[[248,5],[297,5],[376,5]]},"73":{"position":[[111,5],[176,5],[255,5]]},"74":{"position":[[117,5],[185,5],[267,5]]},"75":{"position":[[604,5],[934,5],[1354,5]]},"76":{"position":[[785,5],[862,5],[948,5]]},"77":{"position":[[646,5],[724,5],[811,5]]},"78":{"position":[[643,5],[715,5],[817,5]]},"79":{"position":[[927,5],[1025,5],[1153,5]]},"80":{"position":[[188,5],[327,5],[475,5]]},"134":{"position":[[576,5]]},"135":{"position":[[70,5]]},"202":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8185,5],[9079,5]]},"215":{"position":[[29,5],[99,5],[314,5],[350,5],[413,5]]},"224":{"position":[[37,5],[69,5],[264,6],[308,5],[328,5],[437,6],[521,5],[666,5],[1107,5]]},"230":{"position":[[1466,7]]},"263":{"position":[[1058,5]]},"267":{"position":[[3102,5],[3566,6],[3610,5],[3630,5],[3742,6],[3856,5],[4032,5],[4366,5],[6844,5],[7202,5],[10396,5],[10507,5],[10735,5]]},"276":{"position":[[21,5],[165,5],[388,5]]},"279":{"position":[[29,5],[99,5],[314,5],[350,5]]},"297":{"position":[[484,5]]},"336":{"position":[[53,5]]},"338":{"position":[[1820,6]]},"368":{"position":[[179,5]]},"372":{"position":[[97,5],[124,5]]},"373":{"position":[[535,5],[562,5]]},"476":{"position":[[1516,5],[1641,5],[4455,5]]},"487":{"position":[[1,7],[368,6],[527,6],[662,5],[761,5],[1241,5]]},"497":{"position":[[312,5],[625,5]]},"507":{"position":[[253,5]]},"508":{"position":[[86,7],[217,5],[266,6],[369,7],[461,7],[500,7],[572,5]]},"548":{"position":[[423,5]]},"610":{"position":[[11,5],[163,5],[387,5],[627,5]]},"611":{"position":[[42,5],[131,5],[364,5]]},"754":{"position":[[244,6],[332,6],[699,5],[736,5],[779,6],[875,5],[937,6],[1034,5],[1096,5],[1183,5],[1358,5],[1647,5],[1727,5],[1911,5]]}},"keywords":{}}],["class>",{"_index":5481,"title":{},"content":{"754":{"position":[[534,10],[571,10],[611,10],[643,10]]}},"keywords":{}}],["classif",{"_index":2981,"title":{},"content":{"311":{"position":[[880,14],[905,14]]},"363":{"position":[[1358,14]]}},"keywords":{}}],["classnam",{"_index":1975,"title":{},"content":{"134":{"position":[[539,9]]}},"keywords":{}}],["clcert",{"_index":585,"title":{},"content":{"27":{"position":[[730,7]]}},"keywords":{}}],["clean",{"_index":2509,"title":{},"content":{"253":{"position":[[425,5]]},"578":{"position":[[1448,5]]}},"keywords":{}}],["cleanup",{"_index":2038,"title":{},"content":{"165":{"position":[[28,7],[119,7]]},"168":{"position":[[448,7]]},"169":{"position":[[166,7]]},"292":{"position":[[1102,8],[1354,8],[1363,7]]}},"keywords":{}}],["cleanup_poll_tim",{"_index":2037,"title":{"165":{"position":[[0,18]]}},"content":{},"keywords":{}}],["clear",{"_index":170,"title":{},"content":{"5":{"position":[[790,5]]},"199":{"position":[[260,5]]},"264":{"position":[[289,5]]},"434":{"position":[[359,7],[424,7]]},"446":{"position":[[777,7],[842,7],[1118,7]]},"476":{"position":[[2049,5],[2964,5]]},"486":{"position":[[298,6]]},"605":{"position":[[3,6]]},"608":{"position":[[733,6],[779,5]]},"672":{"position":[[1,6],[438,5],[524,5],[625,5],[711,5]]},"746":{"position":[[864,5]]}},"keywords":{}}],["clear"",{"_index":3936,"title":{},"content":{"430":{"position":[[388,12],[422,13]]},"476":{"position":[[2151,12],[3067,12]]},"638":{"position":[[1580,12]]},"642":{"position":[[1655,12]]}},"keywords":{}}],["clear')"",{"_index":3951,"title":{},"content":{"434":{"position":[[559,13]]}},"keywords":{}}],["clear'))"",{"_index":4004,"title":{},"content":{"446":{"position":[[1142,14]]}},"keywords":{}}],["clear_al",{"_index":4634,"title":{},"content":{"621":{"position":[[221,9]]}},"keywords":{}}],["clear_all_screen",{"_index":4635,"title":{"741":{"position":[[0,18]]}},"content":{"621":{"position":[[264,17]]},"741":{"position":[[60,19]]},"746":{"position":[[835,19]]}},"keywords":{}}],["clear_collect",{"_index":4208,"title":{},"content":{"476":{"position":[[4258,15],[4908,16]]}},"keywords":{}}],["clear_collects('inst",{"_index":4199,"title":{},"content":{"476":{"position":[[2623,22],[3528,22]]}},"keywords":{}}],["clear_collects('inst2",{"_index":4200,"title":{},"content":{"476":{"position":[[2646,23],[3551,23]]}},"keywords":{}}],["clear_collects(target",{"_index":4190,"title":{},"content":{"476":{"position":[[2108,22],[3023,23]]}},"keywords":{}}],["clear_disconnected_target",{"_index":4637,"title":{},"content":{"621":{"position":[[348,26]]}},"keywords":{}}],["clear_screen",{"_index":4633,"title":{"740":{"position":[[0,13]]}},"content":{"621":{"position":[[208,12],[335,12]]}},"keywords":{}}],["clear_screen("<target",{"_index":5431,"title":{},"content":{"740":{"position":[[58,29]]}},"keywords":{}}],["clear_screen("inst"",{"_index":5432,"title":{},"content":{"740":{"position":[[278,30]]}},"keywords":{}}],["clearli",{"_index":4079,"title":{},"content":{"460":{"position":[[9,7]]}},"keywords":{}}],["clg",{"_index":1866,"title":{},"content":{"107":{"position":[[88,6]]}},"keywords":{}}],["cli",{"_index":2319,"title":{},"content":{"229":{"position":[[190,3],[217,3],[262,3],[1311,3]]},"230":{"position":[[192,3],[219,3],[303,3]]},"231":{"position":[[204,3],[237,3],[327,3]]},"232":{"position":[[225,3],[256,3],[359,3]]},"233":{"position":[[240,3],[276,3],[384,3]]},"234":{"position":[[282,3],[309,3],[383,3]]},"235":{"position":[[490,3],[515,3],[575,3]]},"253":{"position":[[1285,3],[1448,3],[1740,3],[1963,3],[2266,3],[2406,3]]},"254":{"position":[[91,3],[1905,3]]},"257":{"position":[[1163,3],[1398,3]]},"292":{"position":[[1074,5],[1124,4],[1135,3],[1167,5],[1211,3],[1240,5]]},"320":{"position":[[429,3],[500,3]]},"321":{"position":[[3606,3]]},"328":{"position":[[899,3],[1050,3],[1194,3],[1475,3]]},"334":{"position":[[518,4],[557,3]]},"452":{"position":[[197,3]]},"453":{"position":[[196,3]]}},"keywords":{}}],["click",{"_index":1041,"title":{"608":{"position":[[6,5]]}},"content":{"44":{"position":[[560,5],[597,5]]},"84":{"position":[[657,5],[801,5]]},"95":{"position":[[355,5],[514,5]]},"253":{"position":[[446,5],[495,5]]},"254":{"position":[[515,5],[538,5],[637,5],[808,5],[2064,5],[2097,5],[2322,5]]},"301":{"position":[[754,5],[1064,5],[1629,5]]},"302":{"position":[[390,5]]},"303":{"position":[[314,5]]},"304":{"position":[[3769,5]]},"305":{"position":[[627,5],[797,5]]},"308":{"position":[[576,5]]},"310":{"position":[[183,5]]},"322":{"position":[[153,5],[297,5]]},"328":{"position":[[1452,5]]},"332":{"position":[[896,8]]},"345":{"position":[[586,8]]},"424":{"position":[[519,5],[731,5]]},"425":{"position":[[386,5]]},"429":{"position":[[47,9]]},"441":{"position":[[732,7]]},"442":{"position":[[1645,7]]},"468":{"position":[[155,8]]},"491":{"position":[[9,5]]},"495":{"position":[[1273,8]]},"505":{"position":[[298,8],[1040,8],[1074,8]]},"513":{"position":[[682,8]]},"518":{"position":[[1,5]]},"519":{"position":[[1,5]]},"520":{"position":[[1,5]]},"523":{"position":[[45,8]]},"525":{"position":[[411,8]]},"533":{"position":[[272,8]]},"541":{"position":[[89,8],[230,8],[312,8]]},"542":{"position":[[92,8],[251,8],[342,8]]},"552":{"position":[[298,5],[361,8],[521,5],[608,5],[668,8]]},"555":{"position":[[88,8],[211,8]]},"557":{"position":[[92,8],[162,8]]},"558":{"position":[[24,8],[94,8],[137,8],[265,8]]},"559":{"position":[[1,8]]},"563":{"position":[[236,5],[299,8],[459,5],[546,5],[606,8]]},"564":{"position":[[82,5],[275,5],[395,5]]},"568":{"position":[[266,7]]},"572":{"position":[[85,5]]},"573":{"position":[[7,8]]},"577":{"position":[[276,8],[478,8],[1067,5],[1130,8],[1290,5],[1377,5],[1437,8]]},"578":{"position":[[700,8],[880,8],[1141,8]]},"589":{"position":[[235,5],[298,8],[458,5],[545,5],[605,8]]},"590":{"position":[[145,8]]},"591":{"position":[[1,8]]},"592":{"position":[[1,8],[318,5]]},"593":{"position":[[55,8],[277,8],[386,5]]},"598":{"position":[[254,5],[317,8],[477,5],[564,5],[624,8]]},"599":{"position":[[598,8]]},"600":{"position":[[192,8]]},"601":{"position":[[54,8]]},"605":{"position":[[770,8],[858,8]]},"607":{"position":[[63,8],[193,5],[621,5]]},"608":{"position":[[7,8],[804,8]]},"610":{"position":[[922,8]]},"611":{"position":[[775,8],[875,8],[944,8]]},"612":{"position":[[337,8],[1300,6]]},"613":{"position":[[303,8]]},"627":{"position":[[138,6],[168,7]]}},"keywords":{}}],["clickabl",{"_index":3902,"title":{},"content":{"429":{"position":[[24,9]]}},"keywords":{}}],["client",{"_index":1192,"title":{"49":{"position":[[6,6]]}},"content":{"48":{"position":[[57,7]]},"49":{"position":[[11,6]]},"53":{"position":[[305,6]]},"143":{"position":[[160,7],[292,8],[362,6]]},"227":{"position":[[502,6]]},"253":{"position":[[7617,6]]},"461":{"position":[[1194,8]]},"715":{"position":[[169,8],[586,8],[1139,8]]},"724":{"position":[[163,8],[562,8],[1097,8]]}},"keywords":{}}],["clip",{"_index":3113,"title":{},"content":{"322":{"position":[[166,4]]}},"keywords":{}}],["cliroot",{"_index":2524,"title":{},"content":{"253":{"position":[[1944,7]]},"292":{"position":[[1080,8],[1196,8]]}},"keywords":{}}],["clock",{"_index":2485,"title":{},"content":{"247":{"position":[[296,6]]},"254":{"position":[[2107,5]]},"356":{"position":[[604,5]]}},"keywords":{}}],["clone",{"_index":1169,"title":{"290":{"position":[[0,5]]},"317":{"position":[[0,5]]}},"content":{"46":{"position":[[883,5]]},"102":{"position":[[40,5],[77,5]]},"253":{"position":[[734,6]]},"290":{"position":[[69,5],[124,5]]},"292":{"position":[[17,6]]},"317":{"position":[[5,5]]},"324":{"position":[[2771,5]]},"331":{"position":[[103,6],[607,5]]},"347":{"position":[[2388,5]]},"449":{"position":[[115,5]]}},"keywords":{}}],["close",{"_index":2894,"title":{"738":{"position":[[9,7]]}},"content":{"304":{"position":[[1094,7],[1528,6]]},"370":{"position":[[15,5],[68,6]]},"493":{"position":[[430,7]]},"593":{"position":[[658,7],[777,6]]},"601":{"position":[[1004,6]]},"738":{"position":[[39,5]]},"740":{"position":[[1,6]]},"741":{"position":[[1,6]]}},"keywords":{}}],["close_local_screen",{"_index":4636,"title":{},"content":{"621":{"position":[[282,19]]}},"keywords":{}}],["cloud",{"_index":30,"title":{},"content":{"2":{"position":[[17,5]]},"109":{"position":[[113,5]]},"240":{"position":[[664,5]]},"243":{"position":[[357,5],[471,5]]},"250":{"position":[[196,5],[233,5]]},"298":{"position":[[108,5]]},"355":{"position":[[68,6]]},"516":{"position":[[239,5],[271,5],[308,5]]},"517":{"position":[[840,5]]}},"keywords":{}}],["cluster",{"_index":2492,"title":{},"content":{"249":{"position":[[528,7]]},"355":{"position":[[53,7]]},"356":{"position":[[343,7]]},"357":{"position":[[4041,7],[4195,7]]}},"keywords":{}}],["cm",{"_index":4416,"title":{},"content":{"507":{"position":[[97,2]]}},"keywords":{}}],["cmake",{"_index":3015,"title":{},"content":{"318":{"position":[[332,5]]}},"keywords":{}}],["cmd",{"_index":1587,"title":{"140":{"position":[[0,4]]},"178":{"position":[[0,4]]},"636":{"position":[[0,4]]}},"content":{"83":{"position":[[1130,3],[2145,3],[2395,3],[2489,3]]},"85":{"position":[[40,3],[640,3],[693,3],[719,3],[788,3],[814,3],[861,3],[921,3],[1061,3],[1120,3],[1187,3],[1264,3],[1307,3],[1519,3]]},"93":{"position":[[50,4],[118,3],[1253,3]]},"138":{"position":[[86,3],[305,3]]},"140":{"position":[[228,3],[307,3]]},"174":{"position":[[70,3],[289,3]]},"178":{"position":[[248,3],[330,3]]},"212":{"position":[[34,8]]},"227":{"position":[[3093,3],[4017,3]]},"231":{"position":[[1252,3]]},"240":{"position":[[987,3]]},"285":{"position":[[294,3]]},"301":{"position":[[600,3],[734,3]]},"303":{"position":[[567,3],[685,3],[841,3],[1013,3],[1175,3],[1335,3],[1507,3],[1671,3],[1837,3],[2072,3],[2216,3]]},"304":{"position":[[1905,6]]},"321":{"position":[[1572,3]]},"352":{"position":[[732,3],[775,3],[874,3]]},"357":{"position":[[1241,3],[2730,3],[3584,3]]},"429":{"position":[[846,5]]},"478":{"position":[[210,5]]},"480":{"position":[[692,6],[773,6],[1095,8]]},"617":{"position":[[1067,4]]},"644":{"position":[[225,4]]},"659":{"position":[[324,6]]}},"keywords":{}}],["cmd("#{target",{"_index":4191,"title":{},"content":{"476":{"position":[[2131,19],[2487,19]]}},"keywords":{}}],["cmd("#{target_nam",{"_index":4380,"title":{},"content":{"500":{"position":[[366,24]]}},"keywords":{}}],["cmd("<target",{"_index":4812,"title":{},"content":{"636":{"position":[[43,20],[202,20],[408,20],[567,20]]}},"keywords":{}}],["cmd("inst",{"_index":4214,"title":{},"content":{"478":{"position":[[263,14],[511,14],[707,14]]},"481":{"position":[[366,14],[463,14]]},"490":{"position":[[994,14]]},"636":{"position":[[1294,14],[1646,14],[1726,14],[1897,14]]}},"keywords":{}}],["cmd("inst"",{"_index":4822,"title":{},"content":{"636":{"position":[[1408,21],[1525,21],[1786,21]]}},"keywords":{}}],["cmd("target",{"_index":4234,"title":{},"content":{"480":{"position":[[1408,16]]}},"keywords":{}}],["cmd("tgt",{"_index":4545,"title":{},"content":{"586":{"position":[[773,13]]}},"keywords":{}}],["cmd("tgt"",{"_index":4536,"title":{},"content":{"585":{"position":[[951,20]]}},"keywords":{}}],["cmd(f"target",{"_index":4240,"title":{},"content":{"480":{"position":[[1688,17]]}},"keywords":{}}],["cmd(f"{target",{"_index":4203,"title":{},"content":{"476":{"position":[[3047,19],[3397,19]]}},"keywords":{}}],["cmd(f"{target_nam",{"_index":4383,"title":{},"content":{"500":{"position":[[545,24]]}},"keywords":{}}],["cmd.txt",{"_index":2119,"title":{},"content":{"198":{"position":[[553,7],[641,8]]}},"keywords":{}}],["cmd/tlm",{"_index":1792,"title":{},"content":{"99":{"position":[[522,7]]},"230":{"position":[[2460,7]]},"484":{"position":[[210,7]]},"709":{"position":[[85,8]]},"723":{"position":[[78,8]]}},"keywords":{}}],["cmd_acpt_cnt",{"_index":2197,"title":{},"content":{"224":{"position":[[828,13],[953,12],[1420,12]]}},"keywords":{}}],["cmd_acpt_cnt"",{"_index":2198,"title":{},"content":{"224":{"position":[[862,19],[1312,19]]}},"keywords":{}}],["cmd_acpt_cnt}"",{"_index":2201,"title":{},"content":{"224":{"position":[[971,23]]}},"keywords":{}}],["cmd_arg",{"_index":1546,"title":{},"content":{"80":{"position":[[243,10],[390,11]]}},"keywords":{}}],["cmd_buffer_depth",{"_index":2011,"title":{"146":{"position":[[0,17]]}},"content":{},"keywords":{}}],["cmd_cnt",{"_index":3107,"title":{},"content":{"321":{"position":[[3399,7]]},"654":{"position":[[347,7]]}},"keywords":{}}],["cmd_count",{"_index":5310,"title":{},"content":{"715":{"position":[[470,10],[784,13],[1029,10]]}},"keywords":{}}],["cmd_decom_log_cycle_s",{"_index":2022,"title":{"151":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_cycle_tim",{"_index":2021,"title":{"150":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_retain_tim",{"_index":2023,"title":{"152":{"position":[[0,26]]}},"content":{},"keywords":{}}],["cmd_err",{"_index":3105,"title":{},"content":{"321":{"position":[[3337,8]]}},"keywords":{}}],["cmd_id",{"_index":3075,"title":{},"content":{"321":{"position":[[730,6],[1610,6],[2115,6],[2615,6]]}},"keywords":{}}],["cmd_int",{"_index":1949,"title":{},"content":{"126":{"position":[[189,7],[320,7],[367,7],[516,7]]}},"keywords":{}}],["cmd_list",{"_index":4886,"title":{},"content":{"646":{"position":[[301,8],[348,8],[759,8]]},"647":{"position":[[209,8],[261,8],[333,8]]}},"keywords":{}}],["cmd_log_cycle_s",{"_index":2015,"title":{"148":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_cycle_tim",{"_index":2013,"title":{"147":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_retain_tim",{"_index":2019,"title":{"149":{"position":[[0,20]]}},"content":{},"keywords":{}}],["cmd_name",{"_index":1549,"title":{},"content":{"80":{"position":[[380,9]]}},"keywords":{}}],["cmd_no_check",{"_index":1721,"title":{"639":{"position":[[0,14]]}},"content":{"93":{"position":[[99,13],[354,13],[1423,13]]}},"keywords":{}}],["cmd_no_checks("<target",{"_index":4833,"title":{},"content":{"639":{"position":[[279,30],[448,30],[664,30],[833,30]]}},"keywords":{}}],["cmd_no_checks("inst",{"_index":4834,"title":{},"content":{"639":{"position":[[1570,24],[1788,24]]}},"keywords":{}}],["cmd_no_checks("inst"",{"_index":4835,"title":{},"content":{"639":{"position":[[1641,31],[1859,31]]}},"keywords":{}}],["cmd_no_hazardous_check",{"_index":1720,"title":{"638":{"position":[[0,23]]}},"content":{"93":{"position":[[75,23],[263,22],[1396,23]]}},"keywords":{}}],["cmd_no_hazardous_check("<target",{"_index":4829,"title":{},"content":{"638":{"position":[[210,39],[388,39],[613,39],[791,39]]}},"keywords":{}}],["cmd_no_hazardous_check("inst",{"_index":4830,"title":{},"content":{"638":{"position":[[1546,33]]}},"keywords":{}}],["cmd_no_hazardous_check("inst"",{"_index":4831,"title":{},"content":{"638":{"position":[[1593,40]]}},"keywords":{}}],["cmd_no_range_check",{"_index":1719,"title":{"637":{"position":[[0,19]]}},"content":{"93":{"position":[[55,19],[183,18],[1261,18]]}},"keywords":{}}],["cmd_no_range_check("<target",{"_index":4826,"title":{},"content":{"637":{"position":[[205,35],[379,35],[600,35],[774,35]]}},"keywords":{}}],["cmd_no_range_check("inst",{"_index":4827,"title":{},"content":{"637":{"position":[[1516,29],[1742,29]]}},"keywords":{}}],["cmd_no_range_check("inst"",{"_index":4828,"title":{},"content":{"637":{"position":[[1591,36],[1817,36]]}},"keywords":{}}],["cmd_onli",{"_index":5332,"title":{},"content":{"716":{"position":[[221,9],[343,8]]}},"keywords":{}}],["cmd_or_tlm/target",{"_index":1808,"title":{},"content":{"99":{"position":[[2450,17]]}},"keywords":{}}],["cmd_override.txt",{"_index":2120,"title":{},"content":{"198":{"position":[[576,16]]}},"keywords":{}}],["cmd_raw",{"_index":4837,"title":{"640":{"position":[[0,8]]}},"content":{},"keywords":{}}],["cmd_raw("<target",{"_index":4838,"title":{},"content":{"640":{"position":[[71,24],[234,24],[460,24],[623,24]]}},"keywords":{}}],["cmd_raw("inst",{"_index":4840,"title":{},"content":{"640":{"position":[[1370,18],[1552,18]]}},"keywords":{}}],["cmd_raw("inst"",{"_index":4841,"title":{},"content":{"640":{"position":[[1429,25],[1611,25]]}},"keywords":{}}],["cmd_raw_no_check",{"_index":4850,"title":{"643":{"position":[[0,18]]}},"content":{},"keywords":{}}],["cmd_raw_no_checks("<target",{"_index":4851,"title":{},"content":{"643":{"position":[[302,34],[475,34],[711,34],[884,34]]}},"keywords":{}}],["cmd_raw_no_checks("inst",{"_index":4852,"title":{},"content":{"643":{"position":[[1641,28],[1843,28]]}},"keywords":{}}],["cmd_raw_no_checks("inst"",{"_index":4853,"title":{},"content":{"643":{"position":[[1710,35],[1912,35]]}},"keywords":{}}],["cmd_raw_no_hazardous_check",{"_index":4846,"title":{"642":{"position":[[0,27]]}},"content":{},"keywords":{}}],["cmd_raw_no_hazardous_check("<target",{"_index":4847,"title":{},"content":{"642":{"position":[[233,43],[415,43],[660,43],[842,43]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst",{"_index":4848,"title":{},"content":{"642":{"position":[[1617,37]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst"",{"_index":4849,"title":{},"content":{"642":{"position":[[1668,44]]}},"keywords":{}}],["cmd_raw_no_range_check",{"_index":4842,"title":{"641":{"position":[[0,23]]}},"content":{},"keywords":{}}],["cmd_raw_no_range_check("<target",{"_index":4843,"title":{},"content":{"641":{"position":[[228,39],[406,39],[647,39],[825,39]]}},"keywords":{}}],["cmd_raw_no_range_check("inst",{"_index":4844,"title":{},"content":{"641":{"position":[[1587,33],[1799,33]]}},"keywords":{}}],["cmd_raw_no_range_check("inst"",{"_index":4845,"title":{},"content":{"641":{"position":[[1661,40],[1873,40]]}},"keywords":{}}],["cmd_templat",{"_index":1390,"title":{},"content":{"63":{"position":[[580,12],[858,13]]}},"keywords":{}}],["cmd_tlm",{"_index":281,"title":{},"content":{"7":{"position":[[1199,7]]},"15":{"position":[[453,7]]},"16":{"position":[[455,7]]},"198":{"position":[[255,7]]},"259":{"position":[[283,7]]},"451":{"position":[[218,7]]}},"keywords":{}}],["cmd_tlm_clear_count",{"_index":4638,"title":{},"content":{"621":{"position":[[400,22]]}},"keywords":{}}],["cmd_tlm_reload",{"_index":4639,"title":{},"content":{"621":{"position":[[463,14]]}},"keywords":{}}],["cmd_unique_id_mod",{"_index":368,"title":{"17":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmdrespons",{"_index":1411,"title":{"66":{"position":[[0,11]]}},"content":{"65":{"position":[[49,12]]},"66":{"position":[[5,11]]}},"keywords":{}}],["cmdresponseprotocol",{"_index":1385,"title":{},"content":{"63":{"position":[[170,19]]}},"keywords":{}}],["cmdsender",{"_index":4326,"title":{},"content":{"490":{"position":[[909,9]]}},"keywords":{}}],["cmdtlmserver",{"_index":1653,"title":{},"content":{"84":{"position":[[186,14]]},"254":{"position":[[666,12],[952,12]]},"322":{"position":[[2149,12]]},"344":{"position":[[385,12]]},"490":{"position":[[966,12]]},"502":{"position":[[725,12]]}},"keywords":{}}],["cob",{"_index":1289,"title":{"57":{"position":[[0,4]]}},"content":{"56":{"position":[[61,5]]},"57":{"position":[[39,6]]}},"keywords":{}}],["code",{"_index":202,"title":{"228":{"position":[[0,4]]}},"content":{"6":{"position":[[186,4],[483,4],[576,4]]},"13":{"position":[[270,4]]},"20":{"position":[[476,5]]},"36":{"position":[[813,4],[8041,4],[8299,4],[8408,4]]},"58":{"position":[[289,4]]},"69":{"position":[[473,5],[1133,4],[1407,4]]},"81":{"position":[[57,4]]},"83":{"position":[[54,4]]},"84":{"position":[[1185,4],[1294,5]]},"85":{"position":[[8,4],[1457,5],[1474,4],[1531,4]]},"90":{"position":[[80,4]]},"103":{"position":[[551,4],[601,4]]},"104":{"position":[[115,4]]},"105":{"position":[[278,4]]},"118":{"position":[[46,4]]},"119":{"position":[[83,4]]},"121":{"position":[[676,4]]},"202":{"position":[[813,4],[8041,4],[8299,4],[8408,4]]},"213":{"position":[[202,4]]},"230":{"position":[[1372,4],[1425,4],[1641,4]]},"231":{"position":[[519,4]]},"232":{"position":[[848,4]]},"233":{"position":[[927,4]]},"234":{"position":[[797,4]]},"235":{"position":[[1321,4]]},"237":{"position":[[46,4]]},"240":{"position":[[79,4],[274,5],[465,4],[1928,4]]},"251":{"position":[[226,4]]},"253":{"position":[[7634,4]]},"267":{"position":[[808,4],[6701,4],[6958,4],[7066,4]]},"275":{"position":[[211,4]]},"276":{"position":[[41,4]]},"304":{"position":[[150,4],[1885,4],[2028,4]]},"328":{"position":[[30,4],[1219,4]]},"332":{"position":[[15,4],[46,4]]},"359":{"position":[[348,4],[691,4],[933,5],[1072,4],[1286,4],[1922,4],[2176,4]]},"360":{"position":[[1245,4]]},"361":{"position":[[69,4],[287,4]]},"362":{"position":[[470,4],[570,4]]},"364":{"position":[[818,4],[1236,4],[1396,4]]},"429":{"position":[[92,4],[390,4],[1661,4],[1677,4]]},"449":{"position":[[644,4]]},"476":{"position":[[393,4],[491,4],[3839,4],[3915,4],[3993,4],[4801,4]]},"480":{"position":[[95,4],[305,4],[384,4],[1211,4]]},"481":{"position":[[213,5]]},"482":{"position":[[183,4]]},"483":{"position":[[127,4]]},"486":{"position":[[408,4],[519,4],[644,4],[756,4]]},"487":{"position":[[212,4]]},"488":{"position":[[86,4],[256,4],[315,5],[359,4],[399,5],[510,4],[554,4],[860,4],[970,4],[1194,5],[1256,4],[1425,4],[1849,4],[1906,4],[2563,4],[2587,4],[2696,5]]},"490":{"position":[[370,4]]},"500":{"position":[[141,5]]},"502":{"position":[[486,5],[655,4]]},"517":{"position":[[489,4]]},"608":{"position":[[104,4],[245,4],[598,4]]},"617":{"position":[[914,4],[1097,4]]},"752":{"position":[[41,4],[202,4]]},"754":{"position":[[1161,4],[1245,4],[1291,4],[1336,4],[1708,4],[1785,4],[1839,4],[1892,4]]}},"keywords":{}}],["coeffici",{"_index":787,"title":{},"content":{"36":{"position":[[6334,11],[6365,11],[7130,11],[7161,11]]},"202":{"position":[[6334,11],[6365,11],[7130,11],[7161,11]]},"267":{"position":[[4873,11],[4904,11],[5731,11],[5762,11]]}},"keywords":{}}],["cognit",{"_index":1894,"title":{},"content":{"108":{"position":[[642,9]]}},"keywords":{}}],["collect",{"_index":145,"title":{},"content":{"5":{"position":[[121,7],[224,8]]},"7":{"position":[[287,8],[972,8]]},"93":{"position":[[1784,7]]},"199":{"position":[[541,7]]},"208":{"position":[[413,7]]},"209":{"position":[[497,7]]},"225":{"position":[[464,7]]},"226":{"position":[[106,7],[899,10]]},"350":{"position":[[73,10]]},"352":{"position":[[340,9]]},"357":{"position":[[697,9]]},"429":{"position":[[1060,7],[1756,8],[1785,7]]},"431":{"position":[[323,8],[423,7]]},"435":{"position":[[310,8],[405,7]]},"446":{"position":[[159,8],[273,7],[497,8],[526,7]]},"459":{"position":[[516,9]]},"461":{"position":[[293,7],[509,7],[577,7],[767,7],[828,7]]},"469":{"position":[[50,9],[414,7],[848,7]]},"470":{"position":[[127,8],[312,10]]},"476":{"position":[[2059,7],[2205,8],[2369,8],[2426,8],[2507,7],[2581,8],[2593,10],[2974,7],[3121,8],[3281,8],[3336,8],[3417,7],[3491,8],[3503,9],[4500,7],[4859,7]]},"478":{"position":[[278,7],[526,7],[605,8],[722,7],[802,8]]},"482":{"position":[[1038,10]]},"490":{"position":[[1009,7]]},"500":{"position":[[391,7],[570,7]]},"534":{"position":[[127,7]]},"636":{"position":[[1309,7],[1741,7]]},"637":{"position":[[1546,7],[1772,7]]},"639":{"position":[[1595,7],[1813,7]]},"640":{"position":[[1389,7],[1571,7]]},"641":{"position":[[1621,7],[1833,7]]},"643":{"position":[[1670,7],[1872,7]]},"644":{"position":[[442,7],[1001,7],[1218,10]]},"646":{"position":[[561,7],[934,7]]},"648":{"position":[[600,7],[976,7]]},"649":{"position":[[443,7],[1170,7],[1301,8]]},"650":{"position":[[1098,10]]},"653":{"position":[[815,7]]},"654":{"position":[[422,7]]},"656":{"position":[[841,8],[899,8],[963,8],[1028,8],[1111,8],[1196,8],[1254,8],[1318,8],[1383,8],[1468,8]]},"658":{"position":[[1110,10]]},"669":{"position":[[720,8],[803,8],[857,8],[921,8],[1007,8],[1089,8],[1143,8],[1207,8]]},"681":{"position":[[1568,8],[1633,8],[1778,8],[1843,8]]},"683":{"position":[[994,10]]},"685":{"position":[[1076,8],[1149,8],[1253,8],[1326,8]]},"687":{"position":[[847,10]]}},"keywords":{}}],["collect"",{"_index":2127,"title":{},"content":{"199":{"position":[[572,13]]},"650":{"position":[[444,14],[948,14]]},"654":{"position":[[380,14]]}},"keywords":{}}],["collect.rb",{"_index":3923,"title":{},"content":{"429":{"position":[[1995,10]]}},"keywords":{}}],["collect_data",{"_index":2211,"title":{},"content":{"226":{"position":[[54,12]]}},"keywords":{}}],["collect_typ",{"_index":3839,"title":{},"content":{"406":{"position":[[486,12]]},"407":{"position":[[679,12]]},"431":{"position":[[496,12]]},"446":{"position":[[198,12],[345,12]]}},"keywords":{}}],["collector",{"_index":3362,"title":{},"content":{"350":{"position":[[32,10]]}},"keywords":{}}],["collects"",{"_index":251,"title":{},"content":{"7":{"position":[[320,14],[1005,14]]},"476":{"position":[[2471,15],[3381,15]]},"478":{"position":[[495,15],[691,15]]},"657":{"position":[[794,15],[961,15]]},"660":{"position":[[599,15],[735,15],[798,15],[862,15],[943,15],[1027,15],[1163,15],[1226,15],[1290,15],[1371,15]]},"682":{"position":[[1314,15],[1395,15],[1521,15],[1602,15]]},"686":{"position":[[1137,15],[1224,15],[1342,15],[1429,15]]}},"keywords":{}}],["color",{"_index":2482,"title":{},"content":{"247":{"position":[[236,6]]},"267":{"position":[[2469,5],[2479,5],[8129,7],[9576,7],[9963,7]]},"305":{"position":[[900,5],[1011,8],[1170,5],[1243,5],[1384,6]]},"373":{"position":[[822,5]]},"379":{"position":[[43,5],[137,6]]},"380":{"position":[[37,5],[131,6]]},"381":{"position":[[41,5],[142,6]]},"403":{"position":[[312,7]]},"404":{"position":[[1030,5],[1149,5],[1155,5]]},"411":{"position":[[30,5],[962,5],[1081,5],[1087,5]]},"412":{"position":[[45,7]]},"413":{"position":[[45,7]]},"414":{"position":[[40,5]]},"424":{"position":[[60,5]]},"427":{"position":[[203,7]]},"439":{"position":[[307,5],[313,5]]},"440":{"position":[[414,5],[420,5]]},"443":{"position":[[341,5],[347,5]]},"444":{"position":[[9,5],[84,6],[1209,5],[1273,5],[1279,5]]},"445":{"position":[[136,5],[142,5]]},"568":{"position":[[175,7]]},"578":{"position":[[368,5]]},"762":{"position":[[104,6],[269,5],[292,5],[447,6]]},"763":{"position":[[107,6],[286,5],[309,5]]}},"keywords":{}}],["color='ff5252",{"_index":5514,"title":{},"content":{"762":{"position":[[550,15]]}},"keywords":{}}],["column",{"_index":859,"title":{},"content":{"39":{"position":[[52,6]]},"390":{"position":[[159,7]]},"541":{"position":[[105,6]]},"542":{"position":[[108,6]]},"553":{"position":[[132,6]]},"566":{"position":[[195,7]]}},"keywords":{}}],["com1",{"_index":1246,"title":{},"content":{"52":{"position":[[287,6],[399,6],[973,4],[978,4]]},"135":{"position":[[708,4],[713,4]]},"338":{"position":[[484,4],[537,4]]}},"keywords":{}}],["com2",{"_index":1258,"title":{},"content":{"52":{"position":[[1196,4],[1201,4]]}},"keywords":{}}],["com4",{"_index":1260,"title":{},"content":{"52":{"position":[[1292,4],[1297,4],[1414,4],[1419,4],[1624,4],[1629,4]]}},"keywords":{}}],["combin",{"_index":618,"title":{},"content":{"31":{"position":[[339,8]]},"133":{"position":[[623,8]]},"257":{"position":[[561,8]]},"304":{"position":[[1192,8]]},"356":{"position":[[136,8]]},"685":{"position":[[1,8]]}},"keywords":{}}],["combo_box",{"_index":4345,"title":{"627":{"position":[[0,10]]}},"content":{"495":{"position":[[1165,11]]},"627":{"position":[[44,9]]}},"keywords":{}}],["combo_box("<message>"",{"_index":4745,"title":{},"content":{"627":{"position":[[384,38]]}},"keywords":{}}],["combo_box("select",{"_index":4752,"title":{},"content":{"627":{"position":[[760,22],[1075,22]]}},"keywords":{}}],["combobox",{"_index":2860,"title":{"431":{"position":[[0,9]]}},"content":{"301":{"position":[[1498,9]]},"429":{"position":[[1986,8]]},"431":{"position":[[509,8]]},"446":{"position":[[358,8]]}},"keywords":{}}],["come",{"_index":156,"title":{"107":{"position":[[22,4]]}},"content":{"5":{"position":[[424,4]]},"22":{"position":[[295,6]]},"85":{"position":[[1416,6]]},"116":{"position":[[175,5]]},"189":{"position":[[166,4]]},"253":{"position":[[5480,5]]},"259":{"position":[[1615,5]]},"297":{"position":[[572,5]]},"343":{"position":[[544,5]]},"344":{"position":[[143,4]]},"465":{"position":[[362,5]]},"476":{"position":[[87,5],[1057,5],[1150,4]]}},"keywords":{}}],["comma",{"_index":4477,"title":{},"content":{"550":{"position":[[58,5]]},"632":{"position":[[1144,5]]}},"keywords":{}}],["command",{"_index":35,"title":{"15":{"position":[[0,9]]},"93":{"position":[[8,9]]},"197":{"position":[[0,8]]},"198":{"position":[[0,7]]},"199":{"position":[[0,8]]},"200":{"position":[[0,7]]},"301":{"position":[[0,7]]},"303":{"position":[[0,7]]},"339":{"position":[[7,9]]},"529":{"position":[[0,7]]},"531":{"position":[[0,7]]},"533":{"position":[[8,9]]},"534":{"position":[[10,9]]},"535":{"position":[[0,7]]},"537":{"position":[[0,7]]},"541":{"position":[[0,7]]},"545":{"position":[[0,7]]},"548":{"position":[[0,8]]},"635":{"position":[[0,9]]}},"content":{"2":{"position":[[68,7]]},"5":{"position":[[106,7],[185,7],[505,7],[622,7],[654,7],[675,8],[736,8],[855,7],[992,7],[1057,7]]},"13":{"position":[[18,7],[87,7],[125,8],[147,7],[166,7],[244,7],[378,7],[449,8]]},"15":{"position":[[19,7],[87,7],[126,7],[217,7],[413,7],[520,8]]},"16":{"position":[[130,7],[221,7],[306,7],[337,7],[522,8]]},"17":{"position":[[16,7],[109,8],[208,8],[224,7]]},"20":{"position":[[261,7],[813,7],[1510,7]]},"27":{"position":[[145,7],[229,7],[658,7],[784,7]]},"28":{"position":[[108,7]]},"31":{"position":[[515,7]]},"35":{"position":[[1266,7],[1797,7]]},"36":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6153,7],[6275,7],[6783,7],[6906,7],[7847,7],[7970,7],[8170,7],[8480,7],[8506,7],[8921,8]]},"37":{"position":[[1059,7],[1590,7]]},"44":{"position":[[338,7]]},"49":{"position":[[63,8],[312,8]]},"50":{"position":[[300,8]]},"51":{"position":[[251,8],[383,8]]},"54":{"position":[[561,7],[3094,11]]},"60":{"position":[[1444,8]]},"62":{"position":[[538,7]]},"63":{"position":[[299,7],[359,8],[1363,7]]},"66":{"position":[[55,8]]},"67":{"position":[[43,8]]},"68":{"position":[[44,7]]},"79":{"position":[[253,8]]},"80":{"position":[[41,8]]},"83":{"position":[[518,8],[903,8],[2361,7]]},"85":{"position":[[1372,7]]},"89":{"position":[[12,7]]},"93":{"position":[[40,9],[137,7],[329,8],[410,8],[887,7],[1035,7],[1145,7],[1324,7],[1382,9],[1541,7],[1588,7],[1633,7]]},"95":{"position":[[305,7],[454,7],[605,8]]},"99":{"position":[[562,7]]},"104":{"position":[[43,8]]},"105":{"position":[[50,8]]},"107":{"position":[[65,7],[123,7],[165,10]]},"112":{"position":[[192,7]]},"114":{"position":[[291,8]]},"115":{"position":[[203,8]]},"116":{"position":[[80,8],[106,8]]},"117":{"position":[[130,9]]},"126":{"position":[[55,8],[113,7],[301,8],[497,8]]},"140":{"position":[[16,7],[67,7]]},"143":{"position":[[26,8],[126,7]]},"146":{"position":[[26,8]]},"147":{"position":[[1,7]]},"148":{"position":[[1,7]]},"149":{"position":[[22,7],[113,7]]},"150":{"position":[[1,7]]},"151":{"position":[[1,7]]},"152":{"position":[[24,7],[117,7]]},"178":{"position":[[1,7],[51,7]]},"198":{"position":[[1,7],[37,7],[130,7],[203,7],[334,7],[409,9],[597,8],[804,7],[1089,7],[1348,7]]},"199":{"position":[[15,7],[92,7],[124,7],[145,8],[206,8],[325,7],[462,7],[528,7]]},"200":{"position":[[38,7]]},"201":{"position":[[11,7],[44,7],[144,8],[189,7],[1295,7],[1826,7]]},"202":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6153,7],[6275,7],[6783,7],[6906,7],[7847,7],[7970,7],[8170,7],[8480,7],[8506,7],[8921,8]]},"203":{"position":[[11,7],[44,7],[144,8],[1078,7],[1609,7]]},"204":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[412,7],[1439,7],[1970,7]]},"205":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[1275,7],[1806,7]]},"206":{"position":[[11,7],[44,7],[161,8],[206,7]]},"207":{"position":[[11,7],[44,7],[161,8]]},"208":{"position":[[21,7],[200,8]]},"209":{"position":[[36,7],[113,7]]},"210":{"position":[[12,7],[50,7],[94,8],[177,7]]},"211":{"position":[[15,7],[50,7],[133,8]]},"212":{"position":[[53,8]]},"213":{"position":[[33,7]]},"214":{"position":[[24,7],[66,7],[133,7],[208,7]]},"216":{"position":[[66,7],[206,7]]},"217":{"position":[[64,7],[202,7]]},"218":{"position":[[74,7]]},"219":{"position":[[80,7]]},"220":{"position":[[58,7]]},"221":{"position":[[60,7]]},"223":{"position":[[87,10],[152,8]]},"224":{"position":[[49,7],[99,7],[1168,9],[1373,9]]},"225":{"position":[[21,7],[121,7],[175,7],[347,7],[379,7],[404,7]]},"226":{"position":[[39,7],[949,7],[1709,7]]},"227":{"position":[[236,7]]},"230":{"position":[[699,7],[796,8],[1137,7],[1207,9],[1864,7],[2051,7],[2409,7]]},"241":{"position":[[195,8]]},"253":{"position":[[585,7],[1127,8],[1289,7],[2737,7],[3181,7],[3222,7],[4643,7],[5848,7],[5957,7],[6049,7],[6116,7],[6214,7],[8215,8]]},"254":{"position":[[1100,7],[1335,7],[2477,7],[2732,7]]},"264":{"position":[[135,7]]},"267":{"position":[[7988,7]]},"285":{"position":[[247,8]]},"291":{"position":[[529,7],[806,7]]},"292":{"position":[[738,7],[1139,7],[1215,7],[1471,8]]},"297":{"position":[[190,7],[267,8],[310,7],[513,8],[919,8],[1126,8]]},"298":{"position":[[159,7],[1373,8],[1569,7]]},"299":{"position":[[388,8],[1176,8]]},"300":{"position":[[460,10],[489,7],[770,7],[793,7]]},"301":{"position":[[5,7],[159,7],[263,7],[424,7],[522,7],[581,9],[627,7],[674,7],[707,7],[786,8],[805,7],[919,7],[1124,7],[1222,7],[1377,7],[1519,7],[1692,7]]},"303":{"position":[[1,7],[55,8],[161,7],[206,7],[252,8],[291,7],[337,7],[404,7],[446,7],[504,7],[573,7],[621,8],[648,7],[691,7],[760,8],[787,7],[847,7],[915,7],[992,7],[1019,7],[1085,7],[1154,7],[1181,7],[1217,8],[1285,7],[1341,7],[1378,8],[1467,7],[1513,7],[1677,7],[1725,7],[1844,7],[1883,8],[1948,7],[1999,7],[2079,7],[2107,7],[2131,7],[2152,7],[2195,7],[2223,7],[2267,7],[2282,7],[2317,8],[2333,7]]},"304":{"position":[[2744,8],[2789,7],[4378,7],[4467,8]]},"310":{"position":[[263,8],[300,7],[546,8],[587,7]]},"320":{"position":[[273,7]]},"321":{"position":[[287,7],[1002,7],[1075,8],[1177,7],[1719,7],[2224,7]]},"322":{"position":[[2030,8]]},"329":{"position":[[1568,7]]},"343":{"position":[[70,7]]},"344":{"position":[[262,8]]},"347":{"position":[[2122,8]]},"356":{"position":[[392,7]]},"357":{"position":[[458,11]]},"364":{"position":[[26,9]]},"429":{"position":[[135,8],[739,8],[803,8],[1208,7]]},"446":{"position":[[103,10]]},"448":{"position":[[137,7]]},"451":{"position":[[36,7],[125,7],[264,7]]},"452":{"position":[[19,7]]},"453":{"position":[[19,7]]},"454":{"position":[[131,8]]},"476":{"position":[[4613,10]]},"478":{"position":[[77,7],[135,7],[441,8],[983,7],[1008,7]]},"480":{"position":[[49,7]]},"481":{"position":[[331,7]]},"490":{"position":[[711,8],[759,10],[785,8],[930,7],[1080,7]]},"492":{"position":[[538,8]]},"500":{"position":[[9,7]]},"510":{"position":[[49,8]]},"514":{"position":[[91,7],[633,8],[687,8]]},"522":{"position":[[140,8]]},"527":{"position":[[98,9]]},"530":{"position":[[1,7],[49,7],[76,8],[162,7],[192,7],[242,8],[258,7],[387,7]]},"533":{"position":[[10,7],[166,8],[200,7],[448,7],[488,7],[534,7],[628,8],[644,7],[698,7],[804,8]]},"534":{"position":[[19,8],[69,8],[81,8],[423,7]]},"536":{"position":[[5,7],[292,7],[381,7]]},"538":{"position":[[5,7],[120,7]]},"540":{"position":[[85,7],[132,7],[214,7],[279,7],[321,7],[371,7],[411,7],[462,8],[539,7],[618,7],[641,10],[694,8],[761,8],[787,11]]},"541":{"position":[[5,7],[52,9],[168,9],[218,8],[300,8],[329,7],[359,7],[400,8]]},"544":{"position":[[55,7]]},"546":{"position":[[1,7],[53,8],[78,8],[147,7]]},"547":{"position":[[13,7],[55,8],[93,8]]},"548":{"position":[[5,8],[74,8],[319,7],[376,7],[459,7],[546,7]]},"550":{"position":[[25,7]]},"566":{"position":[[30,7]]},"581":{"position":[[95,7]]},"585":{"position":[[267,10],[552,10],[726,7]]},"586":{"position":[[286,10],[501,10]]},"617":{"position":[[983,8],[1152,7],[1246,8]]},"620":{"position":[[177,7]]},"621":{"position":[[423,7],[478,7],[601,7],[661,7],[749,7],[806,7],[881,7],[951,7],[1030,7],[1089,7],[1279,7],[1360,7],[1426,7],[1477,7],[1550,7],[1630,7],[1689,7],[1779,7],[1873,7],[1932,7],[2004,7],[2062,7],[2112,7],[2177,7],[2263,7],[2335,7],[2407,7],[2485,7],[2543,7],[2596,7],[2657,7],[2713,7],[2789,7],[3434,7],[3545,7],[4012,7],[4066,7],[4120,7],[4195,7],[4264,7],[4318,7],[4379,7],[4432,7],[4485,7],[4538,7],[4602,7],[4664,7],[4753,7],[4885,7],[4949,7],[5017,7]]},"635":{"position":[[42,8],[93,8]]},"636":{"position":[[19,8],[806,7],[834,7],[860,8],[927,7],[1046,7],[1270,7]]},"637":{"position":[[19,7],[154,7],[1028,7],[1056,7],[1082,8],[1149,7],[1268,7],[1492,7]]},"638":{"position":[[19,7],[84,8],[185,9],[1049,7],[1077,7],[1103,8],[1170,7],[1289,7],[1513,7]]},"639":{"position":[[19,7],[110,8],[211,8],[1082,7],[1110,7],[1136,8],[1203,7],[1322,7],[1546,7]]},"640":{"position":[[19,7],[882,7],[910,7],[936,8],[1003,7],[1122,7],[1346,7]]},"641":{"position":[[19,7],[177,7],[1099,7],[1127,7],[1153,8],[1220,7],[1339,7],[1563,7]]},"642":{"position":[[19,7],[107,8],[208,9],[1120,7],[1148,7],[1174,8],[1241,7],[1360,7],[1584,7]]},"643":{"position":[[19,7],[133,8],[234,8],[1153,7],[1181,7],[1207,8],[1274,7],[1393,7],[1617,7]]},"644":{"position":[[10,7],[201,7],[283,8],[334,7]]},"646":{"position":[[25,8],[144,7]]},"647":{"position":[[25,7]]},"648":{"position":[[11,7],[50,7]]},"649":{"position":[[29,7],[326,7],[351,8]]},"651":{"position":[[52,7],[284,7],[309,8],[318,7],[369,7],[404,8]]},"652":{"position":[[51,7],[453,7],[478,8],[514,7]]},"653":{"position":[[37,7],[267,7],[311,7],[336,8],[380,7],[530,7],[657,7],[823,7]]},"654":{"position":[[41,7],[288,7],[313,8],[430,7]]},"669":{"position":[[36,7]]},"671":{"position":[[54,7]]},"672":{"position":[[48,7]]},"713":{"position":[[253,7]]},"714":{"position":[[251,7]]},"715":{"position":[[254,7]]},"716":{"position":[[46,8],[390,8]]},"717":{"position":[[8,7],[368,7],[393,7],[409,7],[460,7]]},"718":{"position":[[8,7],[384,7],[409,7],[425,7],[476,7],[503,7],[688,7],[749,7]]},"725":{"position":[[238,7]]},"726":{"position":[[236,7]]},"727":{"position":[[8,7],[346,7],[371,7],[387,7],[438,7]]},"728":{"position":[[8,7],[388,7],[413,7],[429,7],[480,7],[507,7],[692,7],[753,7]]},"743":{"position":[[147,12]]},"758":{"position":[[58,8]]}},"keywords":{}}],["command"",{"_index":148,"title":{},"content":{"5":{"position":[[154,13],[263,14]]},"213":{"position":[[410,13]]},"321":{"position":[[1216,13],[1769,13],[2269,13]]}},"keywords":{}}],["command/respons",{"_index":1534,"title":{},"content":{"79":{"position":[[155,16]]}},"keywords":{}}],["command/telemetri",{"_index":4251,"title":{},"content":{"482":{"position":[[227,17]]}},"keywords":{}}],["command:"",{"_index":3994,"title":{},"content":{"446":{"position":[[281,14]]}},"keywords":{}}],["command_nam",{"_index":1723,"title":{},"content":{"93":{"position":[[556,12],[1552,12]]},"653":{"position":[[468,13],[579,13],[711,13]]}},"keywords":{}}],["command_param",{"_index":1738,"title":{},"content":{"93":{"position":[[1596,14]]}},"keywords":{}}],["command_validator.rb",{"_index":2185,"title":{},"content":{"224":{"position":[[399,22]]}},"keywords":{}}],["commandlog",{"_index":2049,"title":{},"content":{"168":{"position":[[390,11]]}},"keywords":{}}],["commands:"",{"_index":4001,"title":{},"content":{"446":{"position":[[720,15]]}},"keywords":{}}],["commandvalid",{"_index":2186,"title":{},"content":{"224":{"position":[[444,18]]}},"keywords":{}}],["commasdelimit",{"_index":4482,"title":{},"content":{"552":{"position":[[134,13]]}},"keywords":{}}],["comment",{"_index":3197,"title":{"472":{"position":[[17,9]]},"481":{"position":[[4,8]]}},"content":{"324":{"position":[[3458,7]]},"325":{"position":[[489,7]]},"332":{"position":[[365,7],[673,7],[980,8]]},"472":{"position":[[26,8]]},"476":{"position":[[1745,8],[4291,7]]},"481":{"position":[[5,8],[154,7],[235,8],[345,8],[455,7],[536,7]]},"553":{"position":[[56,7]]}},"keywords":{}}],["comment/uncom",{"_index":2902,"title":{},"content":{"304":{"position":[[1648,17]]}},"keywords":{}}],["comment=expir",{"_index":966,"title":{},"content":{"43":{"position":[[867,16]]}},"keywords":{}}],["commerc",{"_index":3693,"title":{},"content":{"363":{"position":[[1405,9]]},"464":{"position":[[382,8]]}},"keywords":{}}],["commerci",{"_index":3619,"title":{"361":{"position":[[0,10]]},"362":{"position":[[21,10]]}},"content":{"359":{"position":[[1491,10],[1609,10],[2076,13]]},"360":{"position":[[466,10],[511,10],[1381,10]]},"361":{"position":[[331,10],[597,10]]},"362":{"position":[[684,10]]},"363":{"position":[[260,13],[359,10]]}},"keywords":{}}],["commit",{"_index":1563,"title":{"459":{"position":[[4,11]]}},"content":{"83":{"position":[[218,6]]},"110":{"position":[[109,6]]},"313":{"position":[[105,7]]},"449":{"position":[[392,7]]},"459":{"position":[[280,9]]},"464":{"position":[[26,9]]}},"keywords":{}}],["commod",{"_index":3692,"title":{},"content":{"363":{"position":[[1348,9]]}},"keywords":{}}],["common",{"_index":274,"title":{"494":{"position":[[0,6]]},"504":{"position":[[0,6]]}},"content":{"7":{"position":[[1123,6]]},"20":{"position":[[671,6]]},"49":{"position":[[194,6]]},"72":{"position":[[143,6]]},"73":{"position":[[328,6]]},"74":{"position":[[343,6]]},"99":{"position":[[126,6],[153,6],[3918,6]]},"108":{"position":[[369,6],[510,6]]},"332":{"position":[[112,6]]},"364":{"position":[[1532,6]]},"374":{"position":[[435,6]]},"379":{"position":[[117,6]]},"380":{"position":[[111,6]]},"381":{"position":[[122,6]]},"480":{"position":[[249,6],[323,6]]},"493":{"position":[[408,6]]},"504":{"position":[[17,6]]},"508":{"position":[[351,6],[432,6]]},"618":{"position":[[698,6]]},"658":{"position":[[427,6]]}},"keywords":{}}],["common/src/components/widgets/widget"",{"_index":3213,"title":{},"content":{"328":{"position":[[271,43]]}},"keywords":{}}],["commonli",{"_index":1367,"title":{},"content":{"61":{"position":[[2654,8]]},"478":{"position":[[184,8]]}},"keywords":{}}],["commun",{"_index":1224,"title":{},"content":{"50":{"position":[[128,11]]},"109":{"position":[[94,11]]},"114":{"position":[[73,12]]},"117":{"position":[[45,11]]},"253":{"position":[[1170,11]]},"298":{"position":[[1049,13],[1296,13]]},"320":{"position":[[596,13]]},"364":{"position":[[48,14],[153,11],[420,11]]},"461":{"position":[[396,14],[798,11]]},"462":{"position":[[483,13],[563,15]]},"466":{"position":[[608,14],[783,14],[949,15]]},"468":{"position":[[112,14]]}},"keywords":{}}],["compact",{"_index":2424,"title":{},"content":{"239":{"position":[[190,7]]}},"keywords":{}}],["compani",{"_index":429,"title":{},"content":{"20":{"position":[[594,8],[612,7]]},"137":{"position":[[192,7]]},"173":{"position":[[212,7]]},"363":{"position":[[826,8],[953,7],[1090,10]]},"467":{"position":[[46,7],[90,8],[624,9],[798,9]]},"469":{"position":[[108,8]]}},"keywords":{}}],["compar",{"_index":3890,"title":{},"content":{"425":{"position":[[427,7]]},"599":{"position":[[1252,7]]}},"keywords":{}}],["comparison",{"_index":3466,"title":{"357":{"position":[[12,11]]}},"content":{"656":{"position":[[159,10],[636,10],[649,10],[704,10]]},"658":{"position":[[156,11]]},"681":{"position":[[1002,10],[1015,10],[1161,10],[1211,10]]},"682":{"position":[[928,10],[978,10]]},"683":{"position":[[182,11],[714,10],[764,10]]},"684":{"position":[[645,10]]},"685":{"position":[[617,10],[630,10],[773,10],[823,10]]},"686":{"position":[[824,10],[874,10]]},"687":{"position":[[178,11],[639,10],[689,10]]},"688":{"position":[[617,10]]}},"keywords":{}}],["compat",{"_index":818,"title":{},"content":{"36":{"position":[[8266,15]]},"202":{"position":[[8266,15]]},"229":{"position":[[551,10]]},"250":{"position":[[33,10]]},"267":{"position":[[6925,15]]},"359":{"position":[[1368,10],[1456,10]]},"620":{"position":[[123,14]]},"621":{"position":[[3389,14],[3610,14]]}},"keywords":{}}],["competitor",{"_index":3621,"title":{},"content":{"359":{"position":[[1723,11]]}},"keywords":{}}],["compil",{"_index":1656,"title":{},"content":{"84":{"position":[[323,8],[1235,7]]},"229":{"position":[[827,9]]}},"keywords":{}}],["complet",{"_index":327,"title":{},"content":{"12":{"position":[[100,10]]},"13":{"position":[[275,10]]},"36":{"position":[[9587,8]]},"63":{"position":[[1601,11]]},"75":{"position":[[441,8]]},"79":{"position":[[603,9]]},"83":{"position":[[845,9]]},"202":{"position":[[9587,8]]},"267":{"position":[[7846,8]]},"304":{"position":[[155,10],[1890,10],[2033,10],[4524,11]]},"310":{"position":[[577,9],[673,9]]},"332":{"position":[[339,11]]},"347":{"position":[[1635,8]]},"442":{"position":[[253,8]]},"482":{"position":[[188,10],[1508,8]]},"504":{"position":[[407,9]]},"514":{"position":[[919,11]]},"527":{"position":[[317,8]]},"528":{"position":[[1570,9]]},"559":{"position":[[225,9]]},"592":{"position":[[165,11]]},"612":{"position":[[932,9]]},"617":{"position":[[919,10],[1102,11]]},"752":{"position":[[478,10]]}},"keywords":{}}],["complete"",{"_index":4360,"title":{},"content":{"497":{"position":[[553,14],[853,15]]}},"keywords":{}}],["complex",{"_index":2369,"title":{},"content":{"231":{"position":[[1045,7]]},"355":{"position":[[137,10],[251,7],[467,7]]},"357":{"position":[[3698,10]]},"429":{"position":[[410,7],[1908,7]]},"479":{"position":[[213,7],[304,7]]}},"keywords":{}}],["complex."",{"_index":2468,"title":{},"content":{"245":{"position":[[357,14]]}},"keywords":{}}],["compli",{"_index":4112,"title":{},"content":{"465":{"position":[[440,6]]},"467":{"position":[[1233,6]]}},"keywords":{}}],["complic",{"_index":3143,"title":{},"content":{"324":{"position":[[441,11]]},"501":{"position":[[83,11]]},"658":{"position":[[144,11]]},"683":{"position":[[170,11]]},"687":{"position":[[166,11]]}},"keywords":{}}],["compon",{"_index":622,"title":{"564":{"position":[[7,11]]}},"content":{"31":{"position":[[419,10]]},"194":{"position":[[458,9]]},"235":{"position":[[935,9]]},"245":{"position":[[253,9],[411,9]]},"247":{"position":[[338,11]]},"306":{"position":[[215,10]]},"313":{"position":[[51,11]]},"513":{"position":[[22,10]]},"564":{"position":[[31,10],[55,9],[126,9],[165,9],[256,10],[310,9],[385,9]]}},"keywords":{}}],["components/blob/master/static/json/rux",{"_index":3881,"title":{},"content":{"424":{"position":[[258,38]]}},"keywords":{}}],["compos",{"_index":2449,"title":{"241":{"position":[[7,8]]},"324":{"position":[[47,8]]}},"content":{"241":{"position":[[104,8],[285,7]]},"242":{"position":[[51,7]]},"289":{"position":[[317,8]]},"292":{"position":[[603,7],[695,7],[1293,7]]},"324":{"position":[[1443,7],[1528,7],[1623,7],[1776,7],[1807,7],[1830,7],[1860,7],[1904,7],[1945,7],[1969,7]]},"325":{"position":[[326,7],[354,7]]},"617":{"position":[[876,7]]}},"keywords":{}}],["compose.yaml",{"_index":506,"title":{"23":{"position":[[14,13]]}},"content":{"237":{"position":[[268,12]]},"241":{"position":[[333,12]]},"324":{"position":[[3389,12],[3407,12]]},"325":{"position":[[438,12]]},"341":{"position":[[128,13]]},"347":{"position":[[2463,12]]}},"keywords":{}}],["composit",{"_index":3763,"title":{},"content":{"383":{"position":[[635,9]]}},"keywords":{}}],["comprehens",{"_index":283,"title":{},"content":{"7":{"position":[[1242,13]]}},"keywords":{}}],["compromis",{"_index":4093,"title":{},"content":{"461":{"position":[[1134,12]]}},"keywords":{}}],["comput",{"_index":2429,"title":{},"content":{"240":{"position":[[163,9]]},"262":{"position":[[142,8]]},"347":{"position":[[567,8],[1361,8],[1718,8],[2619,9]]},"364":{"position":[[195,8],[207,8]]}},"keywords":{}}],["concaten",{"_index":295,"title":{"9":{"position":[[7,14]]}},"content":{"9":{"position":[[38,13],[90,11],[431,11],[893,11]]},"429":{"position":[[444,13],[551,14]]}},"keywords":{}}],["concept",{"_index":1911,"title":{"113":{"position":[[0,9]]},"236":{"position":[[18,8]]},"475":{"position":[[0,9]]},"615":{"position":[[0,9]]}},"content":{"262":{"position":[[14,7]]},"267":{"position":[[8186,7]]},"482":{"position":[[771,7]]},"483":{"position":[[159,9]]}},"keywords":{}}],["concern",{"_index":3464,"title":{},"content":{"356":{"position":[[830,7]]}},"keywords":{}}],["conclus",{"_index":3573,"title":{},"content":{"357":{"position":[[3604,11]]}},"keywords":{}}],["condit",{"_index":2670,"title":{},"content":{"267":{"position":[[8995,9],[9153,9],[9314,9],[9434,9],[9818,9],[10204,9]]},"371":{"position":[[327,11]]},"504":{"position":[[516,10]]}},"keywords":{}}],["condition",{"_index":4346,"title":{"496":{"position":[[0,13]]}},"content":{},"keywords":{}}],["config",{"_index":484,"title":{"22":{"position":[[21,7]]}},"content":{"120":{"position":[[404,6]]},"237":{"position":[[427,6]]},"257":{"position":[[978,7]]},"308":{"position":[[695,6],[781,6]]},"324":{"position":[[3682,6]]},"517":{"position":[[51,7],[196,6]]},"700":{"position":[[121,6]]},"772":{"position":[[226,7],[273,7],[325,7]]},"773":{"position":[[418,6]]},"774":{"position":[[354,7]]}},"keywords":{}}],["config/default/targets_modifi",{"_index":4448,"title":{},"content":{"518":{"position":[[175,31]]},"520":{"position":[[116,31]]}},"keywords":{}}],["config/target/cmd_tlm",{"_index":2711,"title":{},"content":{"284":{"position":[[152,21]]}},"keywords":{}}],["config_tool_nam",{"_index":5571,"title":{"771":{"position":[[0,18]]}},"content":{"771":{"position":[[129,19],[258,19]]}},"keywords":{}}],["configparser.handle_true_false(allow_empty_data",{"_index":1492,"title":{},"content":{"71":{"position":[[333,48]]}},"keywords":{}}],["configparser.handle_true_false_none(allow_empty_data",{"_index":1497,"title":{},"content":{"71":{"position":[[520,53]]}},"keywords":{}}],["configur",{"_index":50,"title":{"120":{"position":[[11,13]]},"313":{"position":[[8,14]]},"315":{"position":[[0,11]]},"334":{"position":[[0,13]]},"338":{"position":[[7,14]]},"452":{"position":[[38,14]]},"453":{"position":[[20,13]]},"507":{"position":[[16,13]]},"770":{"position":[[0,14]]}},"content":{"2":{"position":[[347,13],[515,13]]},"5":{"position":[[23,13],[1321,13]]},"6":{"position":[[280,13],[1155,13]]},"7":{"position":[[72,13],[104,13],[402,13],[541,13]]},"8":{"position":[[50,13]]},"9":{"position":[[66,13]]},"22":{"position":[[1,9]]},"31":{"position":[[523,14]]},"40":{"position":[[143,13]]},"46":{"position":[[33,14],[317,13],[1711,14]]},"51":{"position":[[538,9]]},"63":{"position":[[1222,13]]},"83":{"position":[[251,13],[284,9]]},"99":{"position":[[1323,13],[1347,13]]},"108":{"position":[[484,13]]},"112":{"position":[[53,9],[100,9],[245,9]]},"120":{"position":[[14,13],[158,10],[258,13]]},"121":{"position":[[10,12],[499,13],[684,13]]},"177":{"position":[[162,13]]},"179":{"position":[[157,13]]},"225":{"position":[[78,13]]},"229":{"position":[[1242,10]]},"230":{"position":[[456,13],[1145,14],[1263,14],[2378,13]]},"231":{"position":[[542,13]]},"235":{"position":[[1465,13],[1601,9]]},"237":{"position":[[285,11]]},"240":{"position":[[840,10],[1197,13]]},"241":{"position":[[136,9]]},"249":{"position":[[149,13],[432,13]]},"253":{"position":[[349,13],[6948,10],[8077,9]]},"257":{"position":[[666,13],[746,13],[934,13],[1692,11]]},"263":{"position":[[509,13]]},"282":{"position":[[80,13]]},"284":{"position":[[126,13]]},"290":{"position":[[578,13]]},"297":{"position":[[839,13],[889,13],[958,9]]},"298":{"position":[[438,13],[606,13],[1421,10],[1448,13]]},"302":{"position":[[707,14],[731,14],[792,14],[816,14]]},"305":{"position":[[1055,12]]},"306":{"position":[[630,14]]},"307":{"position":[[1037,14],[1069,14],[1134,14],[1175,14]]},"308":{"position":[[658,15],[744,15]]},"311":{"position":[[866,11]]},"315":{"position":[[19,13]]},"321":{"position":[[3991,14]]},"322":{"position":[[1739,13]]},"324":{"position":[[1977,9],[2171,9],[3572,13]]},"325":{"position":[[679,13]]},"331":{"position":[[49,10],[494,13],[648,14]]},"334":{"position":[[22,13],[161,14]]},"338":{"position":[[26,13],[103,13],[1778,10],[2172,10]]},"339":{"position":[[155,13]]},"359":{"position":[[1082,14]]},"364":{"position":[[1363,13],[1422,13],[1564,13]]},"374":{"position":[[201,10]]},"448":{"position":[[271,10]]},"452":{"position":[[63,13],[98,13]]},"517":{"position":[[227,13]]},"552":{"position":[[47,13],[82,13],[171,14],[196,13],[246,15],[275,13],[343,14],[395,13],[421,14],[446,13],[501,15],[531,13],[589,14],[650,14],[702,13]]},"563":{"position":[[70,13],[109,14],[134,13],[184,15],[213,13],[281,14],[333,13],[359,14],[384,13],[439,15],[469,13],[527,14],[588,14],[640,13]]},"568":{"position":[[60,13]]},"570":{"position":[[84,13],[123,13]]},"577":{"position":[[113,13],[152,13],[940,14],[965,13],[1015,15],[1044,13],[1112,14],[1164,13],[1190,14],[1215,13],[1270,15],[1300,13],[1358,14],[1419,14],[1471,13]]},"588":{"position":[[94,10]]},"589":{"position":[[69,13],[108,14],[133,13],[183,15],[212,13],[280,14],[332,13],[358,14],[383,13],[438,15],[468,13],[526,14],[587,14],[639,13]]},"594":{"position":[[64,9]]},"596":{"position":[[185,14]]},"598":{"position":[[16,13],[88,13],[127,14],[152,13],[202,15],[231,13],[299,14],[351,13],[377,14],[402,13],[457,15],[487,13],[545,14],[606,14],[658,13]]},"681":{"position":[[25,12]]},"682":{"position":[[25,12]]},"686":{"position":[[25,12]]},"711":{"position":[[394,13]]},"720":{"position":[[340,13]]},"770":{"position":[[55,14],[129,14]]},"771":{"position":[[14,13]]},"772":{"position":[[20,13],[185,13]]},"773":{"position":[[24,14],[45,13],[64,14],[348,13],[379,13]]},"774":{"position":[[24,14],[184,13],[215,13],[260,13]]},"775":{"position":[[26,14],[188,13],[219,13],[266,13]]}},"keywords":{}}],["configuration."",{"_index":2453,"title":{},"content":{"241":{"position":[[252,20]]}},"keywords":{}}],["configurationreset",{"_index":4495,"title":{},"content":{"563":{"position":[[47,18]]},"589":{"position":[[46,18]]},"598":{"position":[[65,18]]}},"keywords":{}}],["configurationsav",{"_index":4479,"title":{},"content":{"552":{"position":[[17,17]]},"563":{"position":[[17,17]]},"570":{"position":[[54,17]]},"577":{"position":[[83,17]]},"589":{"position":[[16,17]]}},"keywords":{}}],["configurationsth",{"_index":3666,"title":{},"content":{"362":{"position":[[259,17]]}},"keywords":{}}],["confirm",{"_index":719,"title":{},"content":{"36":{"position":[[3227,12]]},"202":{"position":[[3227,12]]},"214":{"position":[[101,12]]},"448":{"position":[[243,7]]},"467":{"position":[[362,13]]}},"keywords":{}}],["conflict",{"_index":2402,"title":{},"content":{"235":{"position":[[672,8]]},"253":{"position":[[7202,9]]}},"keywords":{}}],["conform",{"_index":4139,"title":{},"content":{"467":{"position":[[1197,7]]}},"keywords":{}}],["confus",{"_index":1363,"title":{},"content":{"61":{"position":[[2543,9]]},"69":{"position":[[384,9]]}},"keywords":{}}],["congrat",{"_index":1188,"title":{},"content":{"46":{"position":[[1596,8]]}},"keywords":{}}],["congratul",{"_index":3357,"title":{},"content":{"347":{"position":[[2664,16]]}},"keywords":{}}],["conjunct",{"_index":2152,"title":{},"content":{"208":{"position":[[68,11]]},"225":{"position":[[211,11]]},"273":{"position":[[65,11]]},"282":{"position":[[217,11]]},"430":{"position":[[86,11]]},"431":{"position":[[105,11]]},"432":{"position":[[88,11]]},"434":{"position":[[98,11]]},"436":{"position":[[88,11]]}},"keywords":{}}],["connect",{"_index":46,"title":{"89":{"position":[[7,12]]},"293":{"position":[[0,8]]}},"content":{"2":{"position":[[300,8]]},"20":{"position":[[168,10]]},"44":{"position":[[909,12],[2410,12]]},"49":{"position":[[28,8],[165,11],[272,7]]},"50":{"position":[[78,11],[223,7]]},"52":{"position":[[22,8]]},"53":{"position":[[74,8],[83,10]]},"63":{"position":[[1672,10],[1773,7]]},"64":{"position":[[120,7]]},"69":{"position":[[573,7]]},"72":{"position":[[81,9],[167,7]]},"73":{"position":[[94,10]]},"89":{"position":[[53,11]]},"115":{"position":[[35,10],[98,11],[156,11]]},"123":{"position":[[11,10]]},"128":{"position":[[38,7]]},"129":{"position":[[58,10]]},"130":{"position":[[118,10]]},"135":{"position":[[561,11]]},"227":{"position":[[814,10],[873,11],[966,10],[1025,11],[1042,10],[1406,10],[1958,9],[1982,9]]},"253":{"position":[[6385,7],[6649,10],[7597,7]]},"254":{"position":[[786,8],[903,8],[2786,7]]},"263":{"position":[[277,9]]},"289":{"position":[[920,10],[984,11],[1152,11],[1519,11]]},"293":{"position":[[1,7]]},"297":{"position":[[219,8],[631,12]]},"298":{"position":[[391,8],[822,7],[1080,9],[1133,10],[1179,12],[1263,7]]},"299":{"position":[[573,7],[612,9]]},"300":{"position":[[80,10],[139,7],[217,10],[273,7]]},"301":{"position":[[311,10],[392,7],[1270,10],[1348,7]]},"304":{"position":[[4360,10]]},"315":{"position":[[422,7]]},"319":{"position":[[12,10]]},"322":{"position":[[92,7],[1878,7]]},"336":{"position":[[86,9]]},"338":{"position":[[899,11],[993,11],[1910,7]]},"347":{"position":[[1902,7],[1991,8]]},"353":{"position":[[154,9]]},"357":{"position":[[339,10]]},"360":{"position":[[1091,10]]},"364":{"position":[[1175,7]]},"442":{"position":[[189,9],[1032,9]]},"444":{"position":[[1015,9]]},"536":{"position":[[155,9]]},"539":{"position":[[93,7]]},"544":{"position":[[228,11]]},"606":{"position":[[403,7]]},"607":{"position":[[270,11]]},"711":{"position":[[1,8]]},"715":{"position":[[131,10],[159,9],[533,10],[576,9],[1091,10],[1129,9]]},"720":{"position":[[1,8]]},"724":{"position":[[125,10],[153,9],[509,10],[552,9],[1052,10],[1087,9]]},"758":{"position":[[263,9]]}},"keywords":{}}],["connect/token",{"_index":958,"title":{},"content":{"43":{"position":[[652,13]]}},"keywords":{}}],["connect_interfac",{"_index":5287,"title":{"711":{"position":[[0,18]]}},"content":{},"keywords":{}}],["connect_interface("<interfac",{"_index":5288,"title":{},"content":{"711":{"position":[[81,37]]}},"keywords":{}}],["connect_interface("int1"",{"_index":5290,"title":{},"content":{"711":{"position":[[439,35],[475,35]]}},"keywords":{}}],["connect_reset",{"_index":1506,"title":{"73":{"position":[[0,14]]}},"content":{"73":{"position":[[5,13],[143,13],[261,13]]}},"keywords":{}}],["connect_reset(self",{"_index":1507,"title":{},"content":{"73":{"position":[[210,20]]}},"keywords":{}}],["connect_rout",{"_index":5346,"title":{"720":{"position":[[0,15]]}},"content":{},"keywords":{}}],["connect_router("<rout",{"_index":5347,"title":{},"content":{"720":{"position":[[51,31]]}},"keywords":{}}],["connect_router("inst_router"",{"_index":5350,"title":{},"content":{"720":{"position":[[385,39],[425,39]]}},"keywords":{}}],["connection_st",{"_index":5304,"title":{},"content":{"715":{"position":[[397,17],[551,20],[956,17]]},"724":{"position":[[379,17],[527,20],[897,17]]}},"keywords":{}}],["consecut",{"_index":2107,"title":{},"content":{"192":{"position":[[230,11]]},"267":{"position":[[8581,11]]}},"keywords":{}}],["consent",{"_index":4095,"title":{"462":{"position":[[3,8]]}},"content":{"462":{"position":[[49,7],[422,7]]}},"keywords":{}}],["consid",{"_index":392,"title":{},"content":{"20":{"position":[[36,10]]},"36":{"position":[[9048,8]]},"39":{"position":[[161,8]]},"202":{"position":[[9048,8]]},"267":{"position":[[7171,8]]},"421":{"position":[[250,8]]},"459":{"position":[[800,10]]},"736":{"position":[[148,8]]},"752":{"position":[[184,8]]}},"keywords":{}}],["consider",{"_index":3456,"title":{},"content":{"356":{"position":[[9,13]]},"500":{"position":[[758,11]]}},"keywords":{}}],["consist",{"_index":1303,"title":{},"content":{"57":{"position":[[5,10]]},"237":{"position":[[183,8]]},"240":{"position":[[572,10],[743,7],[1570,8]]},"242":{"position":[[129,8]]},"357":{"position":[[554,10]]},"476":{"position":[[1247,10]]},"523":{"position":[[272,8]]}},"keywords":{}}],["consol",{"_index":1662,"title":{},"content":{"84":{"position":[[680,7]]},"192":{"position":[[114,9]]},"540":{"position":[[174,7]]}},"keywords":{}}],["console.log",{"_index":1669,"title":{},"content":{"84":{"position":[[1196,12]]}},"keywords":{}}],["constant",{"_index":604,"title":{},"content":{"29":{"position":[[90,9]]},"476":{"position":[[2006,9],[2921,9],[4068,9],[4151,8]]}},"keywords":{}}],["constrain",{"_index":4342,"title":{},"content":{"495":{"position":[[1086,11]]}},"keywords":{}}],["construct",{"_index":4255,"title":{},"content":{"483":{"position":[[20,10]]}},"keywords":{}}],["constructor",{"_index":764,"title":{},"content":{"36":{"position":[[5381,12]]},"71":{"position":[[13,11]]},"202":{"position":[[5381,12]]},"215":{"position":[[419,11]]},"224":{"position":[[527,11]]},"267":{"position":[[3862,12],[10741,11]]},"276":{"position":[[394,12]]}},"keywords":{}}],["consult",{"_index":1447,"title":{},"content":{"69":{"position":[[1212,7],[1486,7]]}},"keywords":{}}],["consum",{"_index":2765,"title":{},"content":{"289":{"position":[[499,8],[631,8]]},"352":{"position":[[301,9]]},"514":{"position":[[992,9]]}},"keywords":{}}],["consumpt",{"_index":3364,"title":{},"content":{"350":{"position":[[88,11]]}},"keywords":{}}],["cont",{"_index":2720,"title":{},"content":{"285":{"position":[[545,4]]}},"keywords":{}}],["contact",{"_index":2591,"title":{},"content":{"254":{"position":[[2985,7]]},"363":{"position":[[1011,7],[1422,7]]},"461":{"position":[[866,7],[1023,7]]},"462":{"position":[[602,7]]},"467":{"position":[[252,7]]},"468":{"position":[[218,10]]},"472":{"position":[[142,7]]}},"keywords":{}}],["contain",{"_index":37,"title":{"46":{"position":[[43,12]]},"141":{"position":[[0,10]]},"180":{"position":[[0,10]]},"240":{"position":[[0,11]]}},"content":{"2":{"position":[[136,10],[176,10],[334,8],[437,10],[488,8]]},"5":{"position":[[42,8]]},"21":{"position":[[40,10]]},"23":{"position":[[391,9]]},"24":{"position":[[380,8]]},"26":{"position":[[46,8]]},"27":{"position":[[62,8],[186,8]]},"33":{"position":[[298,8],[391,10]]},"36":{"position":[[5057,8],[5253,7]]},"46":{"position":[[73,10],[110,11]]},"60":{"position":[[433,7]]},"61":{"position":[[270,7]]},"63":{"position":[[530,8],[646,8]]},"83":{"position":[[709,9],[752,11],[2271,10],[2293,9]]},"85":{"position":[[324,9],[758,9]]},"87":{"position":[[39,8]]},"88":{"position":[[151,7]]},"93":{"position":[[843,10],[1153,8]]},"94":{"position":[[634,10]]},"99":{"position":[[2858,8],[3292,8],[4026,8]]},"112":{"position":[[703,9]]},"138":{"position":[[186,9],[405,9]]},"141":{"position":[[23,9],[35,9],[173,9]]},"174":{"position":[[170,9],[389,9]]},"177":{"position":[[199,9]]},"180":{"position":[[8,9],[19,9],[157,9]]},"202":{"position":[[5057,8],[5253,7]]},"224":{"position":[[236,8],[429,7]]},"230":{"position":[[443,8],[686,8],[1352,8],[1709,8],[2232,8]]},"231":{"position":[[506,8]]},"235":{"position":[[971,8]]},"237":{"position":[[22,8],[308,11],[402,8]]},"240":{"position":[[21,9],[228,9],[298,9],[428,10],[548,10],[604,10],[732,10],[906,9],[1262,10],[1533,9],[1951,10]]},"241":{"position":[[68,9]]},"242":{"position":[[169,7]]},"243":{"position":[[174,10]]},"249":{"position":[[197,9],[236,11],[321,9],[331,8],[406,9],[416,8]]},"253":{"position":[[1047,7],[1077,8],[1771,9],[5142,8]]},"256":{"position":[[30,11],[67,10]]},"257":{"position":[[1269,10],[1526,10]]},"259":{"position":[[1553,8],[1715,10]]},"261":{"position":[[221,10]]},"267":{"position":[[3538,8],[3734,7]]},"283":{"position":[[56,7]]},"289":{"position":[[1589,10]]},"290":{"position":[[321,11],[362,11],[453,10]]},"291":{"position":[[12,10],[396,9]]},"292":{"position":[[891,11],[1426,10]]},"297":{"position":[[1101,10],[1186,10]]},"298":{"position":[[227,10],[267,10],[425,8],[528,10],[579,8]]},"305":{"position":[[973,10]]},"316":{"position":[[29,9]]},"322":{"position":[[348,9],[378,9]]},"324":{"position":[[199,9],[741,9],[862,9],[2837,9]]},"329":{"position":[[544,8]]},"331":{"position":[[272,7]]},"343":{"position":[[37,7],[297,7]]},"344":{"position":[[22,8],[57,8],[246,7]]},"345":{"position":[[25,8],[313,8]]},"349":{"position":[[23,9]]},"355":{"position":[[298,10],[604,9],[704,7]]},"356":{"position":[[309,9]]},"357":{"position":[[1041,9],[2532,9]]},"366":{"position":[[224,8]]},"368":{"position":[[168,8]]},"391":{"position":[[127,9]]},"396":{"position":[[55,7]]},"434":{"position":[[140,9]]},"449":{"position":[[193,7]]},"451":{"position":[[21,10]]},"469":{"position":[[126,8]]},"476":{"position":[[1581,7]]},"482":{"position":[[1350,10]]},"484":{"position":[[109,8]]},"485":{"position":[[253,10]]},"487":{"position":[[651,8]]},"488":{"position":[[980,8]]},"507":{"position":[[453,8]]},"517":{"position":[[88,8]]},"527":{"position":[[284,10],[374,10]]},"528":{"position":[[214,8]]},"578":{"position":[[419,8]]},"610":{"position":[[17,8]]},"658":{"position":[[569,8],[816,8]]},"662":{"position":[[152,10]]},"706":{"position":[[23,10]]},"707":{"position":[[100,8]]},"715":{"position":[[102,8]]},"724":{"position":[[99,8]]},"737":{"position":[[29,8],[523,10]]}},"keywords":{}}],["container",{"_index":32,"title":{"238":{"position":[[0,17]]}},"content":{"2":{"position":[[31,14]]},"243":{"position":[[136,13]]},"298":{"position":[[122,14]]},"299":{"position":[[86,14]]}},"keywords":{}}],["container."",{"_index":2422,"title":{},"content":{"239":{"position":[[92,16]]}},"keywords":{}}],["containers/group.com.docker/settings.json",{"_index":2782,"title":{},"content":{"289":{"position":[[1349,41]]}},"keywords":{}}],["containersoutput",{"_index":4043,"title":{},"content":{"457":{"position":[[240,16]]}},"keywords":{}}],["content",{"_index":924,"title":{},"content":{"42":{"position":[[615,7],[634,7]]},"43":{"position":[[728,7],[749,7],[1165,7],[6375,7]]},"44":{"position":[[939,8],[1473,8],[1569,9],[2438,8]]},"57":{"position":[[180,8]]},"120":{"position":[[84,8]]},"229":{"position":[[848,8]]},"289":{"position":[[840,8]]},"305":{"position":[[59,8],[406,8]]},"321":{"position":[[259,8]]},"367":{"position":[[50,8]]},"386":{"position":[[247,9]]},"387":{"position":[[116,8]]},"388":{"position":[[96,8]]},"389":{"position":[[120,8]]},"390":{"position":[[97,8]]},"469":{"position":[[286,7]]},"744":{"position":[[49,8]]}},"keywords":{}}],["context",{"_index":2835,"title":{"298":{"position":[[25,7]]}},"content":{"304":{"position":[[3775,7]]},"305":{"position":[[693,7],[861,7]]},"500":{"position":[[115,8]]}},"keywords":{}}],["continu",{"_index":284,"title":{"8":{"position":[[5,13]]}},"content":{"8":{"position":[[24,12],[89,12]]},"9":{"position":[[759,12]]},"44":{"position":[[68,10],[2003,11]]},"62":{"position":[[110,12]]},"69":{"position":[[2699,9]]},"227":{"position":[[312,12],[4693,8]]},"292":{"position":[[766,9]]},"294":{"position":[[1,8]]},"302":{"position":[[538,8]]},"304":{"position":[[459,9]]},"362":{"position":[[599,9]]},"488":{"position":[[738,10]]},"495":{"position":[[483,8],[769,8],[1364,9]]},"502":{"position":[[241,9],[360,9]]},"504":{"position":[[377,8]]},"505":{"position":[[457,9]]},"514":{"position":[[1267,13]]},"538":{"position":[[318,8]]},"547":{"position":[[73,9]]},"575":{"position":[[172,8]]},"578":{"position":[[1415,8]]},"599":{"position":[[1039,8]]},"607":{"position":[[633,8]]},"612":{"position":[[269,8],[378,8],[401,8],[623,8],[857,8],[919,8],[1274,13]]},"613":{"position":[[315,9]]},"617":{"position":[[533,8]]},"683":{"position":[[120,9]]},"684":{"position":[[109,9]]}},"keywords":{}}],["continue"",{"_index":4811,"title":{},"content":{"634":{"position":[[248,15]]}},"keywords":{}}],["contract",{"_index":2589,"title":{},"content":{"254":{"position":[[2933,9]]},"360":{"position":[[1035,9]]},"361":{"position":[[26,8]]},"363":{"position":[[696,8]]}},"keywords":{}}],["contractu",{"_index":3651,"title":{},"content":{"361":{"position":[[94,11]]}},"keywords":{}}],["contribut",{"_index":1158,"title":{"447":{"position":[[0,12]]}},"content":{"46":{"position":[[558,13],[1726,13]]}},"keywords":{}}],["control",{"_index":6,"title":{},"content":{"1":{"position":[[55,7]]},"2":{"position":[[80,7]]},"36":{"position":[[10838,7]]},"40":{"position":[[135,7]]},"42":{"position":[[570,8]]},"43":{"position":[[710,8],[6330,8]]},"109":{"position":[[154,7]]},"289":{"position":[[776,8]]},"298":{"position":[[171,7]]},"338":{"position":[[769,7]]},"340":{"position":[[122,11]]},"363":{"position":[[758,9],[1211,9],[1235,10]]},"364":{"position":[[36,7]]},"459":{"position":[[205,7]]},"480":{"position":[[61,7]]},"507":{"position":[[100,10]]},"550":{"position":[[209,7]]},"747":{"position":[[33,7]]}},"keywords":{}}],["controlldap",{"_index":3663,"title":{},"content":{"362":{"position":[[205,11]]}},"keywords":{}}],["convent",{"_index":1937,"title":{},"content":{"123":{"position":[[534,10]]},"320":{"position":[[1508,11]]},"368":{"position":[[226,11]]},"487":{"position":[[545,10]]}},"keywords":{}}],["convers",{"_index":741,"title":{"232":{"position":[[0,10]]}},"content":{"36":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6120,10],[6176,10],[6392,11],[6425,10],[6750,10],[6807,10],[7188,11],[7221,10],[7506,10],[7593,10],[7693,10],[7785,10],[7812,10],[7871,10],[7999,10],[8421,10],[8465,11],[8558,11],[8641,11],[8700,11],[9001,11],[9068,10],[9612,10]]},"202":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6120,10],[6176,10],[6392,11],[6425,10],[6750,10],[6807,10],[7188,11],[7221,10],[7506,10],[7593,10],[7693,10],[7785,10],[7812,10],[7871,10],[7999,10],[8421,10],[8465,11],[8558,11],[8641,11],[8700,11],[9001,11],[9068,10],[9612,10]]},"232":{"position":[[5,10],[67,11],[164,10],[238,10],[269,10],[399,10],[482,10],[692,10],[837,10]]},"234":{"position":[[5,10]]},"262":{"position":[[716,10]]},"263":{"position":[[1047,10]]},"267":{"position":[[2944,10],[2986,11],[3126,11],[3282,10],[3821,10],[4062,10],[4355,10],[4599,10],[4652,10],[4931,11],[4964,10],[5287,10],[5341,10],[5789,11],[5822,10],[6106,10],[6192,10],[6291,10],[6381,10],[6408,10],[6464,10],[6659,10],[7079,10],[7124,11],[7191,10],[7870,10]]},"532":{"position":[[120,11]]},"534":{"position":[[379,12]]},"618":{"position":[[229,12],[492,10],[526,10],[553,11],[601,10],[829,10]]},"640":{"position":[[43,12]]},"641":{"position":[[43,11]]},"642":{"position":[[43,11]]},"643":{"position":[[43,11]]}},"keywords":{}}],["convert",{"_index":568,"title":{"28":{"position":[[0,7]]},"452":{"position":[[0,10]]},"453":{"position":[[0,10]]}},"content":{"26":{"position":[[302,7]]},"28":{"position":[[50,7],[119,7]]},"36":{"position":[[8322,9],[9302,7],[9489,7]]},"69":{"position":[[3060,9],[4369,9]]},"94":{"position":[[130,9]]},"202":{"position":[[8322,9],[9302,7],[9489,7]]},"227":{"position":[[3181,10],[4099,10]]},"232":{"position":[[763,7]]},"257":{"position":[[139,10],[634,10]]},"267":{"position":[[6981,9],[7364,9],[7432,9],[7463,9],[7585,7],[7750,7]]},"305":{"position":[[1490,10]]},"308":{"position":[[542,10]]},"401":{"position":[[482,10],[512,10]]},"402":{"position":[[669,10],[699,10]]},"403":{"position":[[654,10],[684,10],[872,9],[920,9]]},"404":{"position":[[218,10],[248,10]]},"405":{"position":[[466,10],[496,10]]},"406":{"position":[[239,10],[269,10],[450,9]]},"407":{"position":[[385,10],[415,10]]},"408":{"position":[[259,10],[289,10]]},"409":{"position":[[262,10],[292,10],[490,9]]},"410":{"position":[[536,10],[566,10]]},"411":{"position":[[526,10],[556,10]]},"412":{"position":[[255,10],[285,10],[479,9]]},"413":{"position":[[253,10],[283,10],[480,9]]},"414":{"position":[[239,10],[269,10],[476,9]]},"415":{"position":[[228,10],[258,10],[448,9]]},"416":{"position":[[231,10],[261,10],[453,9]]},"417":{"position":[[505,10],[535,10]]},"418":{"position":[[225,10],[255,9],[952,10],[982,9]]},"419":{"position":[[259,10],[289,9],[1005,10],[1035,9]]},"420":{"position":[[243,10],[273,9],[977,10],[1007,9]]},"421":{"position":[[175,9]]},"422":{"position":[[476,10],[506,10]]},"423":{"position":[[515,10],[545,10]]},"425":{"position":[[271,10],[301,9]]},"427":{"position":[[467,10],[497,10],[678,9]]},"440":{"position":[[500,10],[530,10]]},"442":{"position":[[460,10],[965,9]]},"444":{"position":[[659,9],[688,10]]},"452":{"position":[[30,7],[88,9]]},"453":{"position":[[30,7],[95,9]]},"501":{"position":[[571,9]]},"571":{"position":[[113,9]]},"618":{"position":[[421,9],[431,9],[626,9],[772,9],[1016,9]]},"623":{"position":[[73,9]]},"636":{"position":[[1090,9]]},"637":{"position":[[1312,9]]},"638":{"position":[[1333,9]]},"639":{"position":[[1366,9]]},"640":{"position":[[1166,9]]},"641":{"position":[[1383,9]]},"642":{"position":[[1404,9]]},"643":{"position":[[1437,9]]},"644":{"position":[[362,9],[390,10]]},"652":{"position":[[569,10]]},"657":{"position":[[10,9],[681,9]]},"660":{"position":[[473,9]]},"662":{"position":[[537,9]]},"669":{"position":[[599,9],[750,10],[1037,9]]},"670":{"position":[[484,9]]},"671":{"position":[[10,9],[488,10]]},"672":{"position":[[306,10]]},"673":{"position":[[1574,12]]},"681":{"position":[[79,9],[1329,9]]},"682":{"position":[[64,9],[1096,9]]},"685":{"position":[[81,9],[941,9]]},"686":{"position":[[64,9],[992,9]]}},"keywords":{}}],["convert_data_to_packet",{"_index":1467,"title":{},"content":{"69":{"position":[[3113,24]]}},"keywords":{}}],["convert_packet_to_data",{"_index":1480,"title":{},"content":{"69":{"position":[[4416,24]]}},"keywords":{}}],["cooki",{"_index":963,"title":{},"content":{"43":{"position":[[830,7],[884,7],[982,7]]}},"keywords":{}}],["coordin",{"_index":3959,"title":{},"content":{"437":{"position":[[86,10]]},"438":{"position":[[125,10]]},"739":{"position":[[349,10],[418,10]]},"746":{"position":[[522,10],[591,10]]}},"keywords":{}}],["copi",{"_index":476,"title":{},"content":{"21":{"position":[[149,4],[195,5]]},"84":{"position":[[1105,4]]},"85":{"position":[[147,5],[628,4]]},"227":{"position":[[6186,4]]},"240":{"position":[[814,6]]},"253":{"position":[[7244,6]]},"254":{"position":[[1072,4]]},"291":{"position":[[360,4]]},"304":{"position":[[1607,5]]},"318":{"position":[[392,4],[610,4]]},"325":{"position":[[162,4]]},"332":{"position":[[464,4]]},"334":{"position":[[388,4]]},"350":{"position":[[267,4],[597,4],[918,4],[1261,4]]},"353":{"position":[[436,4]]},"359":{"position":[[153,4]]},"360":{"position":[[633,6]]},"487":{"position":[[472,4]]},"608":{"position":[[115,6],[460,6]]}},"keywords":{}}],["copyright",{"_index":3626,"title":{},"content":{"359":{"position":[[2004,9]]},"360":{"position":[[273,9],[564,9],[936,9]]},"363":{"position":[[81,9]]}},"keywords":{}}],["core",{"_index":1552,"title":{},"content":{"83":{"position":[[5,4]]},"108":{"position":[[1,4]]},"109":{"position":[[1,4]]},"135":{"position":[[284,4]]},"299":{"position":[[58,4]]},"356":{"position":[[473,4],[512,6],[622,4],[767,6],[792,4]]},"357":{"position":[[729,4],[2214,4]]},"359":{"position":[[1696,4]]}},"keywords":{}}],["corner",{"_index":3962,"title":{},"content":{"437":{"position":[[134,6]]},"438":{"position":[[173,6]]},"439":{"position":[[99,6],[177,6]]},"440":{"position":[[245,6],[323,6]]},"441":{"position":[[212,6],[291,6]]},"442":{"position":[[653,6],[732,6],[1492,6],[1571,6]]},"601":{"position":[[295,7]]},"739":{"position":[[384,6],[453,6]]},"746":{"position":[[557,6],[626,6]]}},"keywords":{}}],["corp",{"_index":3675,"title":{},"content":{"363":{"position":[[46,4],[225,5]]}},"keywords":{}}],["correct",{"_index":1675,"title":{},"content":{"85":{"position":[[242,7]]},"253":{"position":[[1245,7],[7738,7]]},"336":{"position":[[271,7]]},"347":{"position":[[1247,7]]},"357":{"position":[[3746,7]]},"461":{"position":[[988,7]]},"471":{"position":[[140,12]]},"474":{"position":[[297,8]]},"480":{"position":[[614,7]]},"482":{"position":[[1399,7]]},"505":{"position":[[666,7]]},"658":{"position":[[697,7]]}},"keywords":{}}],["correctli",{"_index":2603,"title":{},"content":{"257":{"position":[[1682,9]]},"291":{"position":[[788,9]]}},"keywords":{}}],["correl",{"_index":4451,"title":{},"content":{"525":{"position":[[295,11]]}},"keywords":{}}],["correspond",{"_index":562,"title":{},"content":{"26":{"position":[[97,13]]},"31":{"position":[[607,10]]},"39":{"position":[[283,13]]},"63":{"position":[[1149,13]]},"90":{"position":[[314,10]]},"112":{"position":[[178,13]]},"198":{"position":[[908,10]]},"227":{"position":[[5601,13]]},"229":{"position":[[872,13]]},"259":{"position":[[932,10]]},"514":{"position":[[154,13]]}},"keywords":{}}],["correspondingli",{"_index":1396,"title":{},"content":{"63":{"position":[[956,16]]}},"keywords":{}}],["cosmo",{"_index":1,"title":{"1":{"position":[[11,7]]},"2":{"position":[[0,6]]},"42":{"position":[[25,6]]},"43":{"position":[[25,6]]},"46":{"position":[[11,6]]},"82":{"position":[[11,6]]},"100":{"position":[[8,6]]},"107":{"position":[[37,6]]},"108":{"position":[[7,6]]},"109":{"position":[[7,6]]},"236":{"position":[[7,6]]},"256":{"position":[[0,6]]},"257":{"position":[[15,6],[27,6]]},"287":{"position":[[18,7]]},"288":{"position":[[18,6]]},"312":{"position":[[0,6]]},"314":{"position":[[11,7]]},"315":{"position":[[12,7]]},"320":{"position":[[11,6]]},"324":{"position":[[7,6]]},"347":{"position":[[0,6]]},"354":{"position":[[0,6]]},"451":{"position":[[8,6]]},"452":{"position":[[31,6]]},"453":{"position":[[13,6]]},"476":{"position":[[18,7]]},"502":{"position":[[0,6]]},"620":{"position":[[15,6]]},"621":{"position":[[15,6]]}},"content":{"1":{"position":[[1,6]]},"2":{"position":[[3,6],[104,6],[198,6],[293,6],[636,6],[775,6]]},"3":{"position":[[103,6],[218,6],[275,6],[395,7],[547,6],[588,6]]},"5":{"position":[[16,6],[301,6],[1314,6]]},"6":{"position":[[263,6],[1095,6]]},"7":{"position":[[1,6]]},"8":{"position":[[1,6]]},"9":{"position":[[1,6]]},"20":{"position":[[292,6]]},"31":{"position":[[74,6]]},"42":{"position":[[8,6]]},"43":{"position":[[8,6],[4651,6],[4670,6],[6290,6]]},"44":{"position":[[95,7]]},"46":{"position":[[49,6],[177,6],[249,6],[421,6],[855,6],[934,6],[1614,6]]},"48":{"position":[[1,6]]},"52":{"position":[[63,6]]},"54":{"position":[[126,6],[632,6],[656,6],[2247,6],[3285,6]]},"56":{"position":[[1,6]]},"59":{"position":[[106,6]]},"61":{"position":[[3214,6]]},"63":{"position":[[109,6],[1210,6]]},"64":{"position":[[62,6],[195,6]]},"65":{"position":[[1,6]]},"68":{"position":[[68,6]]},"69":{"position":[[87,6],[329,6],[1080,6],[1118,6],[1233,6],[1354,6],[1392,6],[1507,6],[3077,6],[4655,6]]},"76":{"position":[[68,6],[219,6],[271,6]]},"77":{"position":[[69,6],[218,6],[270,6]]},"83":{"position":[[10,6],[398,7],[460,6],[495,6],[621,6],[702,6],[974,6],[1042,6],[1123,6],[2010,6],[2026,6],[2475,6],[2603,6],[2723,6],[2810,6],[2923,6],[3033,6],[3100,6]]},"84":{"position":[[22,6],[77,6],[167,6]]},"85":{"position":[[192,6],[391,6],[558,6],[686,6],[712,6],[807,6],[840,6],[854,6],[914,6],[1054,6],[1113,6],[1180,6],[1257,6],[1300,6]]},"88":{"position":[[5,6],[348,6]]},"89":{"position":[[5,6],[72,6],[126,6]]},"90":{"position":[[38,6],[332,6]]},"91":{"position":[[5,6]]},"93":{"position":[[150,6]]},"97":{"position":[[23,6]]},"98":{"position":[[1,6]]},"99":{"position":[[905,6],[1014,6],[2149,6],[4221,7]]},"102":{"position":[[50,6],[163,6]]},"103":{"position":[[7,6],[14,6],[44,6],[231,6],[508,6],[565,6]]},"108":{"position":[[416,6],[466,6]]},"109":{"position":[[56,6]]},"110":{"position":[[134,7]]},"112":{"position":[[65,6],[121,7],[352,7],[393,6]]},"114":{"position":[[66,6],[275,6]]},"116":{"position":[[50,6],[94,7],[132,6]]},"117":{"position":[[1,6],[66,6]]},"118":{"position":[[72,6]]},"119":{"position":[[1,6]]},"120":{"position":[[53,6],[251,6]]},"141":{"position":[[98,6]]},"176":{"position":[[533,6]]},"180":{"position":[[82,6]]},"192":{"position":[[200,6]]},"198":{"position":[[73,6],[1065,6],[1266,6]]},"227":{"position":[[40,6],[119,6],[136,6],[281,6],[679,6],[1803,8],[4278,6],[5506,6],[5984,6]]},"229":{"position":[[56,6],[143,6],[300,6],[505,6],[622,6],[656,6],[908,6],[930,6],[981,6],[1160,6]]},"230":{"position":[[56,6],[106,6],[169,6],[280,6],[899,6],[1586,6]]},"231":{"position":[[62,6],[118,6],[181,6],[304,6]]},"232":{"position":[[60,6],[114,6],[202,6],[336,6],[784,6]]},"233":{"position":[[65,6],[124,6],[217,6],[361,6]]},"234":{"position":[[60,6],[196,6],[259,6],[360,6],[783,6]]},"235":{"position":[[54,6],[107,6],[284,6],[467,6],[552,6],[1307,6]]},"237":{"position":[[10,6],[73,7],[116,6],[138,6],[163,7],[256,7],[301,6],[387,6]]},"239":{"position":[[135,6]]},"240":{"position":[[532,6],[713,6],[800,6],[851,6],[869,6],[899,6],[966,6],[980,6],[1036,6],[1057,6],[1071,6],[1150,6],[1211,6],[1302,6],[1425,6],[1511,6],[1563,6],[1687,6],[1706,6],[1784,6]]},"241":{"position":[[321,7]]},"242":{"position":[[1,6],[98,6],[192,6]]},"243":{"position":[[273,6],[378,6],[438,6]]},"245":{"position":[[5,6],[372,6],[459,6],[513,6],[564,6]]},"246":{"position":[[7,6],[94,6],[291,6]]},"247":{"position":[[188,6],[303,6]]},"249":{"position":[[113,6],[248,6],[274,6],[425,6],[472,6]]},"250":{"position":[[58,6],[111,6],[164,6],[351,6]]},"251":{"position":[[5,6]]},"253":{"position":[[18,6],[173,6],[388,6],[431,6],[535,6],[1023,7],[1207,6],[1495,6],[1587,6],[1764,6],[2006,6],[2222,6],[2240,6],[2697,6],[4695,6],[5927,6],[6371,6],[6428,6],[7277,6],[7957,6],[8087,6],[8163,6]]},"254":{"position":[[50,7],[65,6],[160,6],[199,6],[477,7],[605,6],[1080,7],[1118,6],[1206,6],[1879,6],[1974,6],[2013,6],[2133,6],[2444,6],[2776,6],[2959,6]]},"256":{"position":[[1,6],[122,6],[215,6],[270,6],[415,6]]},"257":{"position":[[1,6],[115,6],[127,6],[595,6],[657,6],[687,6],[737,6],[783,6],[925,6],[1097,6],[1202,6],[1232,6],[1449,6],[1479,6],[1632,6],[1953,6]]},"259":{"position":[[97,6],[1041,7],[1104,6],[1439,6],[1608,6]]},"261":{"position":[[1,6]]},"262":{"position":[[1,6],[183,6]]},"263":{"position":[[1,6],[211,6],[626,6],[1019,6],[1736,6]]},"287":{"position":[[51,6],[193,6]]},"289":{"position":[[1575,6]]},"290":{"position":[[24,6],[314,6],[446,6]]},"291":{"position":[[5,6],[169,6]]},"297":{"position":[[5,6],[138,6],[183,6],[565,6],[758,6],[803,6],[859,6],[973,6],[1255,6]]},"298":{"position":[[33,6],[94,6],[195,6],[289,6],[384,6],[727,6],[811,6],[1341,6],[1516,6]]},"299":{"position":[[51,6],[108,6],[136,6],[149,6],[229,6],[251,6],[264,6],[340,6],[358,6],[367,6],[402,6],[411,6],[451,6],[460,6],[516,6],[525,6],[645,6],[654,6],[749,6],[758,6],[894,6],[1005,6],[1015,6],[1123,6],[1133,6],[1243,6]]},"300":{"position":[[48,6],[185,6],[315,6],[437,6],[507,6],[611,6],[717,6],[819,6],[851,6]]},"301":{"position":[[69,6]]},"304":{"position":[[1936,6],[2115,6]]},"305":{"position":[[1465,6]]},"310":{"position":[[89,6]]},"311":{"position":[[89,6]]},"313":{"position":[[64,6]]},"314":{"position":[[9,6]]},"315":{"position":[[342,7],[490,7]]},"319":{"position":[[30,6],[167,6]]},"320":{"position":[[246,6],[463,6]]},"322":{"position":[[242,6],[362,6],[472,6],[530,6],[580,6],[1504,6]]},"324":{"position":[[78,6],[2701,6],[3379,6],[3864,6]]},"325":{"position":[[732,6],[742,6]]},"327":{"position":[[37,6],[261,6]]},"328":{"position":[[535,6]]},"329":{"position":[[94,7],[198,6],[233,6]]},"331":{"position":[[34,6],[112,6],[239,6]]},"332":{"position":[[83,6],[954,6]]},"334":{"position":[[131,6],[531,6],[626,6],[666,6],[800,6],[1394,7]]},"336":{"position":[[36,6],[144,6],[206,6],[251,6]]},"338":{"position":[[916,6],[1010,7],[1082,6],[1899,6]]},"340":{"position":[[21,6],[54,6],[87,6],[141,6]]},"345":{"position":[[56,6]]},"347":{"position":[[133,7],[2439,6],[2449,6],[2694,6]]},"349":{"position":[[13,6],[99,7],[184,7]]},"355":{"position":[[1,6],[291,6],[436,6],[867,6],[1080,6]]},"356":{"position":[[86,6],[232,6],[385,6],[667,6]]},"357":{"position":[[142,6],[326,6],[1201,6],[1234,6],[1284,6],[1358,6],[1434,6],[1467,6],[1524,6],[1597,6],[1678,6],[1749,6],[1820,6],[2049,6],[2690,6],[2723,6],[2775,6],[2849,6],[2924,6],[2957,6],[3014,6],[3087,6],[3169,6],[3240,6],[3311,6],[3641,6],[3941,6]]},"359":{"position":[[879,8],[1715,7],[2169,6]]},"362":{"position":[[148,6],[360,6],[643,6]]},"363":{"position":[[418,6],[513,6],[594,6],[642,6],[779,6],[848,6]]},"364":{"position":[[11,6],[128,6],[280,6],[437,7],[496,6],[652,7],[707,6],[841,6],[1072,6],[1165,6],[1216,6],[1295,6],[1456,6],[1647,6]]},"366":{"position":[[60,6]]},"429":{"position":[[636,6],[891,6]]},"448":{"position":[[87,6]]},"451":{"position":[[118,6],[237,6]]},"452":{"position":[[56,6]]},"456":{"position":[[46,7]]},"474":{"position":[[96,7],[355,6]]},"475":{"position":[[1,6]]},"476":{"position":[[104,6],[3617,6]]},"478":{"position":[[6,6],[852,6]]},"482":{"position":[[1,6],[208,6]]},"483":{"position":[[205,6],[1217,6]]},"484":{"position":[[170,6]]},"487":{"position":[[559,6]]},"488":{"position":[[1,6],[538,6],[1651,6],[1966,6]]},"490":{"position":[[892,6]]},"495":{"position":[[1,6]]},"497":{"position":[[1,6]]},"498":{"position":[[80,6]]},"499":{"position":[[14,6],[312,6]]},"500":{"position":[[61,6]]},"501":{"position":[[5,6]]},"502":{"position":[[40,6],[410,6],[501,6]]},"504":{"position":[[52,6]]},"505":{"position":[[120,6]]},"507":{"position":[[441,6]]},"508":{"position":[[192,6],[305,6]]},"516":{"position":[[42,6],[221,6]]},"517":{"position":[[35,6],[220,6],[312,6],[359,6],[511,6],[746,6]]},"518":{"position":[[124,6]]},"520":{"position":[[65,6]]},"523":{"position":[[22,6]]},"525":{"position":[[55,6]]},"530":{"position":[[68,7]]},"536":{"position":[[116,6],[345,6]]},"539":{"position":[[64,6]]},"543":{"position":[[25,6]]},"546":{"position":[[70,7]]},"548":{"position":[[724,6]]},"564":{"position":[[368,6]]},"566":{"position":[[23,6]]},"577":{"position":[[52,6],[767,6],[924,7]]},"578":{"position":[[407,6]]},"581":{"position":[[88,6]]},"584":{"position":[[50,6]]},"585":{"position":[[5,6]]},"586":{"position":[[5,6]]},"603":{"position":[[36,6],[113,6]]},"608":{"position":[[321,6],[674,6]]},"616":{"position":[[1,6],[137,6]]},"618":{"position":[[73,7]]},"619":{"position":[[114,6],[143,6]]},"620":{"position":[[50,6]]},"621":{"position":[[72,6],[139,6]]},"632":{"position":[[169,6]]},"659":{"position":[[283,6]]},"702":{"position":[[42,6]]},"708":{"position":[[44,6]]},"711":{"position":[[39,6]]},"712":{"position":[[44,6]]},"717":{"position":[[77,6]]},"718":{"position":[[86,6]]},"719":{"position":[[44,6]]},"720":{"position":[[12,6]]},"721":{"position":[[15,6]]},"727":{"position":[[73,6]]},"728":{"position":[[83,6]]},"729":{"position":[[59,6]]},"759":{"position":[[72,6],[177,6]]},"765":{"position":[[1,6]]},"766":{"position":[[24,6]]},"767":{"position":[[24,6]]},"768":{"position":[[32,6]]},"770":{"position":[[6,6]]}},"keywords":{}}],["cosmos'",{"_index":4005,"title":{},"content":{"448":{"position":[[64,8]]}},"keywords":{}}],["cosmos.cosmo",{"_index":2842,"title":{},"content":{"298":{"position":[[1093,13]]}},"keywords":{}}],["cosmos.localset",{"_index":3331,"title":{},"content":{"347":{"position":[[1035,15]]}},"keywords":{}}],["cosmos/compose.yaml",{"_index":3194,"title":{},"content":{"324":{"position":[[3356,19]]},"325":{"position":[[413,19]]}},"keywords":{}}],["cosmos/examples/hostinstall/centos7",{"_index":1173,"title":{},"content":{"46":{"position":[[1071,35],[1257,35]]}},"keywords":{}}],["cosmos/openc3",{"_index":1849,"title":{},"content":{"104":{"position":[[13,13],[52,13],[79,13]]}},"keywords":{}}],["cosmos/openc3/coverage/index.html",{"_index":1852,"title":{},"content":{"104":{"position":[[153,33]]}},"keywords":{}}],["cosmos/openc3/python",{"_index":1853,"title":{},"content":{"105":{"position":[[13,20],[59,20],[128,20],[193,20],[239,20]]}},"keywords":{}}],["cosmos/openc3/python/coverage/index.html",{"_index":1860,"title":{},"content":{"105":{"position":[[316,40]]}},"keywords":{}}],["cosmos_host/tools/scriptrunner/$id"",{"_index":1117,"title":{},"content":{"44":{"position":[[3204,41]]}},"keywords":{}}],["cosmos_host='http://localhost:2900",{"_index":1087,"title":{},"content":{"44":{"position":[[2168,35]]}},"keywords":{}}],["cosmosopen",{"_index":1765,"title":{},"content":{"95":{"position":[[294,10]]}},"keywords":{}}],["cost",{"_index":3298,"title":{},"content":{"347":{"position":[[29,4]]}},"keywords":{}}],["cot",{"_index":2840,"title":{},"content":{"298":{"position":[[967,4]]}},"keywords":{}}],["count",{"_index":696,"title":{},"content":{"36":{"position":[[1761,5],[1776,5]]},"61":{"position":[[1416,5],[1464,8],[1575,5]]},"99":{"position":[[4493,8]]},"202":{"position":[[1761,5],[1776,5]]},"267":{"position":[[1756,5],[1771,5]]},"356":{"position":[[627,7]]},"476":{"position":[[4867,5]]},"478":{"position":[[458,5],[620,7],[654,5],[817,6]]},"482":{"position":[[1381,7]]},"483":{"position":[[938,6]]},"536":{"position":[[194,6]]},"539":{"position":[[155,7]]},"676":{"position":[[94,6],[346,5],[773,6]]},"677":{"position":[[17,5]]},"678":{"position":[[17,6]]},"703":{"position":[[142,6],[273,5]]},"715":{"position":[[262,6],[283,6],[777,6],[802,6],[1346,6],[1373,6]]}},"keywords":{}}],["count"",{"_index":2226,"title":{},"content":{"226":{"position":[[635,11],[1513,11],[2283,11]]},"285":{"position":[[637,11]]}},"keywords":{}}],["count=1",{"_index":5103,"title":{},"content":{"676":{"position":[[1270,8]]}},"keywords":{}}],["count=1000",{"_index":5098,"title":{},"content":{"676":{"position":[[153,11]]}},"keywords":{}}],["counter",{"_index":1469,"title":{},"content":{"69":{"position":[[3456,7],[3861,7]]},"321":{"position":[[1760,8]]},"476":{"position":[[2067,7],[2982,7]]},"478":{"position":[[406,7]]},"709":{"position":[[94,9]]},"723":{"position":[[87,9]]}},"keywords":{}}],["counter"",{"_index":3106,"title":{},"content":{"321":{"position":[[3373,13],[3428,13]]}},"keywords":{}}],["countri",{"_index":420,"title":{},"content":{"20":{"position":[[453,7]]},"347":{"position":[[1209,7]]},"461":{"position":[[656,7]]}},"keywords":{}}],["coupl",{"_index":548,"title":{},"content":{"24":{"position":[[769,7]]}},"keywords":{}}],["cours",{"_index":3658,"title":{},"content":{"361":{"position":[[581,6]]},"504":{"position":[[919,7]]}},"keywords":{}}],["cover",{"_index":2845,"title":{},"content":{"298":{"position":[[1197,6]]},"482":{"position":[[799,5]]}},"keywords":{}}],["coverag",{"_index":1840,"title":{},"content":{"103":{"position":[[328,8],[449,8],[487,8],[556,8],[590,8],[606,8]]},"104":{"position":[[120,8]]},"105":{"position":[[216,8],[262,8],[283,8]]}},"keywords":{}}],["cp",{"_index":3019,"title":{},"content":{"318":{"position":[[471,2],[522,2]]},"324":{"position":[[2217,2],[3132,2]]}},"keywords":{}}],["cpu",{"_index":2042,"title":{"356":{"position":[[0,4]]}},"content":{"167":{"position":[[19,3]]},"289":{"position":[[377,4],[448,5]]},"356":{"position":[[30,3]]},"357":{"position":[[734,3],[1051,3],[1087,3],[1100,3],[2219,3],[2424,3],[2542,3],[2578,3],[2591,3],[3552,3],[3893,3]]}},"keywords":{}}],["cpu1"",{"_index":3028,"title":{},"content":{"318":{"position":[[706,10]]}},"keywords":{}}],["crc",{"_index":1281,"title":{"67":{"position":[[0,3]]}},"content":{"54":{"position":[[2325,4],[2363,4],[2639,3],[2851,3]]},"65":{"position":[[62,3]]},"67":{"position":[[5,3],[26,4],[63,4],[183,3],[246,3],[272,3],[334,3],[478,3],[583,3],[646,3],[747,3],[1021,3],[1184,3]]}},"keywords":{}}],["crcprotocol",{"_index":1284,"title":{},"content":{"54":{"position":[[2627,11],[2839,11]]}},"keywords":{}}],["creat",{"_index":130,"title":{"318":{"position":[[0,6]]},"320":{"position":[[0,8]]},"321":{"position":[[0,8]]},"738":{"position":[[19,8]]}},"content":{"3":{"position":[[679,6]]},"20":{"position":[[199,6],[879,7],[971,7],[1171,7],[1280,7],[1411,7]]},"27":{"position":[[444,7],[558,9],[907,7]]},"36":{"position":[[9057,8]]},"46":{"position":[[336,6]]},"50":{"position":[[28,7],[106,7]]},"53":{"position":[[241,8]]},"60":{"position":[[242,6]]},"64":{"position":[[94,7]]},"69":{"position":[[1,8],[118,8],[160,8],[434,6]]},"83":{"position":[[2307,7]]},"84":{"position":[[530,6]]},"134":{"position":[[313,8]]},"143":{"position":[[1,6],[93,7]]},"144":{"position":[[185,6]]},"168":{"position":[[196,6]]},"198":{"position":[[569,6]]},"202":{"position":[[9057,8]]},"227":{"position":[[619,8],[1182,8]]},"229":{"position":[[22,7],[106,6],[342,7],[1601,7]]},"230":{"position":[[22,7],[369,7]]},"231":{"position":[[28,7],[419,7]]},"232":{"position":[[26,7],[576,7]]},"233":{"position":[[31,7],[615,7]]},"234":{"position":[[26,7],[605,7],[805,6]]},"235":{"position":[[20,7],[709,7],[1329,6]]},"239":{"position":[[74,8],[300,6],[371,6],[436,6]]},"241":{"position":[[208,6]]},"246":{"position":[[115,6]]},"253":{"position":[[331,8],[954,6],[1234,6],[1544,6],[2042,7],[2102,6],[2142,7],[2475,7],[2530,6],[2665,7],[3171,7],[5081,7],[6098,6]]},"254":{"position":[[2645,6]]},"257":{"position":[[183,8],[1188,7],[1436,6],[1731,6]]},"259":{"position":[[600,6]]},"263":{"position":[[22,7],[355,7]]},"267":{"position":[[7180,8]]},"289":{"position":[[785,6]]},"290":{"position":[[606,7]]},"291":{"position":[[1402,6]]},"292":{"position":[[834,6]]},"295":{"position":[[45,6]]},"304":{"position":[[1433,6],[1999,6],[2617,6],[3191,6],[3349,6],[4870,6],[5663,6]]},"310":{"position":[[160,8],[204,6]]},"320":{"position":[[34,6],[129,6],[288,6],[344,6],[540,7]]},"321":{"position":[[63,6],[199,7]]},"324":{"position":[[2937,6]]},"327":{"position":[[88,8]]},"334":{"position":[[188,7]]},"345":{"position":[[154,7],[203,7]]},"357":{"position":[[523,8],[2106,7]]},"368":{"position":[[366,8]]},"384":{"position":[[172,8]]},"390":{"position":[[170,6]]},"392":{"position":[[1,7]]},"393":{"position":[[1,7]]},"433":{"position":[[1,7]]},"449":{"position":[[168,6],[494,6],[674,6]]},"476":{"position":[[4082,6],[4419,8],[4582,7]]},"479":{"position":[[206,6]]},"484":{"position":[[47,6]]},"512":{"position":[[318,7]]},"513":{"position":[[70,8],[497,7]]},"514":{"position":[[426,8],[499,8],[1305,7]]},"517":{"position":[[540,7]]},"523":{"position":[[54,6],[122,7],[308,6]]},"525":{"position":[[344,6],[387,6],[651,7]]},"526":{"position":[[73,6]]},"528":{"position":[[13,7]]},"564":{"position":[[281,6]]},"582":{"position":[[3,6]]},"585":{"position":[[17,7]]},"586":{"position":[[17,7]]},"591":{"position":[[136,8]]},"593":{"position":[[230,7]]},"601":{"position":[[224,7]]},"609":{"position":[[249,6]]},"611":{"position":[[31,8],[697,7]]},"612":{"position":[[24,7]]},"627":{"position":[[62,6]]},"630":{"position":[[277,7]]},"632":{"position":[[52,6]]},"738":{"position":[[48,6]]},"745":{"position":[[33,6]]},"746":{"position":[[32,6],[748,6]]},"753":{"position":[[1,8]]},"764":{"position":[[53,6]]}},"keywords":{}}],["create_screen",{"_index":5442,"title":{"745":{"position":[[0,14]]}},"content":{"745":{"position":[[5,13]]}},"keywords":{}}],["create_screen("<target",{"_index":5443,"title":{},"content":{"745":{"position":[[174,30]]}},"keywords":{}}],["create_screen("inst"",{"_index":5447,"title":{},"content":{"745":{"position":[[659,31],[931,31]]}},"keywords":{}}],["creation",{"_index":2333,"title":{},"content":{"229":{"position":[[1192,9]]},"306":{"position":[[113,8]]},"513":{"position":[[145,8]]},"514":{"position":[[190,8]]}},"keywords":{}}],["creator",{"_index":2159,"title":{},"content":{"210":{"position":[[78,7]]},"278":{"position":[[133,8]]}},"keywords":{}}],["credenti",{"_index":1694,"title":{},"content":{"87":{"position":[[52,11]]}},"keywords":{}}],["credit",{"_index":4092,"title":{},"content":{"461":{"position":[[1101,6]]},"467":{"position":[[452,6]]}},"keywords":{}}],["criteria",{"_index":5116,"title":{},"content":{"681":{"position":[[116,9]]},"685":{"position":[[129,8]]}},"keywords":{}}],["critic",{"_index":1867,"title":{},"content":{"107":{"position":[[156,8]]},"223":{"position":[[78,8],[143,8]]},"364":{"position":[[633,8]]},"540":{"position":[[609,8],[632,8]]}},"keywords":{}}],["cross",{"_index":4417,"title":{},"content":{"507":{"position":[[319,5]]}},"keywords":{}}],["crt",{"_index":528,"title":{"27":{"position":[[8,4]]}},"content":{"24":{"position":[[103,4]]},"26":{"position":[[327,4]]},"27":{"position":[[973,4]]},"291":{"position":[[899,4]]}},"keywords":{}}],["crt/key",{"_index":532,"title":{},"content":{"24":{"position":[[197,7]]}},"keywords":{}}],["cryptic",{"_index":4330,"title":{},"content":{"493":{"position":[[386,8]]}},"keywords":{}}],["css",{"_index":2466,"title":{},"content":{"245":{"position":[[202,4]]},"375":{"position":[[39,3]]},"376":{"position":[[41,3]]},"377":{"position":[[41,3]]},"378":{"position":[[43,3]]},"382":{"position":[[13,3],[77,3],[127,3]]}},"keywords":{}}],["csv",{"_index":2959,"title":{"507":{"position":[[35,3]]}},"content":{"308":{"position":[[63,3]]},"507":{"position":[[249,3],[292,3],[354,5]]},"583":{"position":[[265,3]]}},"keywords":{}}],["csv.read('test.csv",{"_index":4418,"title":{},"content":{"507":{"position":[[369,20]]}},"keywords":{}}],["ct",{"_index":1715,"title":{},"content":{"90":{"position":[[184,4]]},"299":{"position":[[640,4]]},"301":{"position":[[253,3],[414,3],[512,3],[617,3],[795,3],[909,3],[1114,3],[1212,3],[1366,3],[1508,3],[1681,3]]}},"keywords":{}}],["ctrl",{"_index":1692,"title":{},"content":{"85":{"position":[[1564,5]]}},"keywords":{}}],["cubesat",{"_index":1880,"title":{},"content":{"108":{"position":[[314,8]]}},"keywords":{}}],["curl",{"_index":894,"title":{"41":{"position":[[13,4]]},"42":{"position":[[0,4]]},"43":{"position":[[0,4]]}},"content":{"42":{"position":[[163,4]]},"43":{"position":[[412,4],[4706,4]]},"44":{"position":[[693,4],[1907,4],[2509,4],[3954,4]]},"95":{"position":[[652,5],[659,4]]},"291":{"position":[[514,4],[1077,4]]},"324":{"position":[[1700,4]]},"347":{"position":[[2267,4]]}},"keywords":{}}],["curl"",{"_index":1043,"title":{},"content":{"44":{"position":[[617,10]]}},"keywords":{}}],["curl_arg",{"_index":1091,"title":{},"content":{"44":{"position":[[2299,11]]}},"keywords":{}}],["curl_ca_bundl",{"_index":2814,"title":{},"content":{"291":{"position":[[1259,14]]}},"keywords":{}}],["curr_line_delay",{"_index":5461,"title":{},"content":{"749":{"position":[[105,15]]}},"keywords":{}}],["currenc",{"_index":4086,"title":{},"content":{"461":{"position":[[606,9]]}},"keywords":{}}],["current",{"_index":51,"title":{"454":{"position":[[23,7]]}},"content":{"2":{"position":[[392,7]]},"32":{"position":[[175,7]]},"35":{"position":[[28,7]]},"36":{"position":[[2055,7],[2725,7],[4010,7],[6145,7],[6775,7],[7839,7]]},"37":{"position":[[28,7]]},"46":{"position":[[1689,9]]},"52":{"position":[[170,9]]},"75":{"position":[[129,7]]},"76":{"position":[[152,7]]},"77":{"position":[[151,7]]},"78":{"position":[[143,7]]},"94":{"position":[[122,7],[199,7],[276,7],[360,7]]},"99":{"position":[[3171,9]]},"169":{"position":[[47,7]]},"201":{"position":[[36,7]]},"202":{"position":[[2055,7],[2725,7],[4010,7],[6145,7],[6775,7],[7839,7]]},"203":{"position":[[36,7]]},"204":{"position":[[52,7]]},"205":{"position":[[52,7]]},"206":{"position":[[36,7]]},"207":{"position":[[36,7]]},"213":{"position":[[25,7]]},"214":{"position":[[16,7]]},"227":{"position":[[4443,7],[5039,7]]},"233":{"position":[[838,7]]},"256":{"position":[[262,7]]},"263":{"position":[[741,7]]},"266":{"position":[[33,7]]},"267":{"position":[[1950,7],[2962,7],[4624,7],[5312,7],[6435,7],[10446,7]]},"268":{"position":[[33,7]]},"269":{"position":[[33,7]]},"270":{"position":[[33,7]]},"271":{"position":[[33,7]]},"272":{"position":[[33,7]]},"275":{"position":[[25,7]]},"298":{"position":[[483,7]]},"300":{"position":[[362,7],[542,7]]},"301":{"position":[[1439,7]]},"302":{"position":[[55,9],[271,9]]},"304":{"position":[[221,9],[2204,9]]},"307":{"position":[[1061,7]]},"324":{"position":[[2665,7],[2727,7]]},"339":{"position":[[205,7]]},"360":{"position":[[106,9]]},"412":{"position":[[20,7]]},"413":{"position":[[20,7]]},"455":{"position":[[54,9]]},"457":{"position":[[35,9]]},"463":{"position":[[109,7]]},"488":{"position":[[145,7]]},"517":{"position":[[619,7]]},"518":{"position":[[86,7]]},"528":{"position":[[679,7]]},"552":{"position":[[39,7]]},"563":{"position":[[39,7]]},"568":{"position":[[89,7],[232,7]]},"570":{"position":[[76,7]]},"577":{"position":[[105,7]]},"578":{"position":[[215,7],[1461,7]]},"582":{"position":[[74,7],[99,7],[124,7]]},"589":{"position":[[38,7]]},"598":{"position":[[57,7]]},"605":{"position":[[150,9],[190,7],[216,7],[255,7]]},"606":{"position":[[349,9],[456,9]]},"607":{"position":[[303,9]]},"608":{"position":[[185,7],[423,7],[530,7]]},"612":{"position":[[890,7]]},"617":{"position":[[366,9]]},"621":{"position":[[85,9]]},"663":{"position":[[24,7]]},"670":{"position":[[364,7]]},"673":{"position":[[29,9]]},"696":{"position":[[10,7]]},"697":{"position":[[25,7]]},"709":{"position":[[70,7]]},"723":{"position":[[63,7]]},"749":{"position":[[54,9]]},"766":{"position":[[16,7]]},"767":{"position":[[16,7]]}},"keywords":{}}],["cursor",{"_index":2911,"title":{},"content":{"304":{"position":[[3872,6],[3945,7]]},"419":{"position":[[32,7]]},"608":{"position":[[447,6]]}},"keywords":{}}],["custom",{"_index":671,"title":{"69":{"position":[[0,6]]},"326":{"position":[[0,6]]},"327":{"position":[[0,6]]},"501":{"position":[[6,6]]}},"content":{"36":{"position":[[631,6],[705,6],[4070,6]]},"54":{"position":[[3339,6]]},"56":{"position":[[679,6]]},"64":{"position":[[55,6]]},"69":{"position":[[12,6],[75,11],[169,6],[443,6],[590,6]]},"71":{"position":[[34,6]]},"114":{"position":[[175,6]]},"134":{"position":[[331,6]]},"135":{"position":[[105,6]]},"194":{"position":[[10,6],[35,6],[347,6]]},"202":{"position":[[631,6],[705,6],[4070,6]]},"213":{"position":[[94,6]]},"230":{"position":[[1365,6],[1418,6],[1449,6]]},"231":{"position":[[908,6]]},"234":{"position":[[140,6]]},"235":{"position":[[160,6]]},"257":{"position":[[519,6]]},"267":{"position":[[626,6],[700,6],[3019,6]]},"275":{"position":[[103,6]]},"297":{"position":[[644,6]]},"298":{"position":[[1222,6]]},"306":{"position":[[67,6]]},"327":{"position":[[70,6]]},"328":{"position":[[640,6],[1865,6]]},"347":{"position":[[1571,13]]},"359":{"position":[[1899,9]]},"362":{"position":[[695,10]]},"363":{"position":[[325,9],[1166,9]]},"364":{"position":[[1604,6]]},"368":{"position":[[375,6],[406,6]]},"423":{"position":[[12,6]]},"437":{"position":[[35,6]]},"461":{"position":[[150,9]]},"467":{"position":[[719,8]]},"585":{"position":[[545,6]]},"586":{"position":[[494,6]]},"588":{"position":[[60,6]]},"591":{"position":[[334,11]]},"619":{"position":[[101,6],[213,6]]},"700":{"position":[[1600,6]]},"717":{"position":[[123,6]]},"718":{"position":[[131,6]]},"727":{"position":[[116,6]]},"728":{"position":[[128,6]]}},"keywords":{}}],["custom_validator.pi",{"_index":2202,"title":{},"content":{"224":{"position":[[1086,20]]}},"keywords":{}}],["custom_validator.rb",{"_index":2187,"title":{},"content":{"224":{"position":[[571,19],[602,20],[1055,19]]}},"keywords":{}}],["customvalid",{"_index":2189,"title":{},"content":{"224":{"position":[[672,15]]}},"keywords":{}}],["customvalidator(commandvalid",{"_index":2203,"title":{},"content":{"224":{"position":[[1113,34]]}},"keywords":{}}],["cut",{"_index":1436,"title":{},"content":{"69":{"position":[[496,3]]},"304":{"position":[[1602,4]]}},"keywords":{}}],["cx",{"_index":788,"title":{},"content":{"36":{"position":[[6351,2],[7147,2]]},"202":{"position":[[6351,2],[7147,2]]},"267":{"position":[[4890,2],[5748,2]]}},"keywords":{}}],["cycl",{"_index":1966,"title":{},"content":{"133":{"position":[[397,7],[454,5],[469,5],[489,5],[531,7],[576,5],[608,5],[637,5],[653,5],[720,6],[751,5],[781,5],[806,5],[823,5]]},"147":{"position":[[28,6]]},"148":{"position":[[28,6]]},"150":{"position":[[35,6]]},"151":{"position":[[35,6]]},"154":{"position":[[30,6]]},"155":{"position":[[30,6]]},"157":{"position":[[37,6]]},"158":{"position":[[37,6]]}},"keywords":{}}],["cycle_tim",{"_index":3290,"title":{},"content":{"343":{"position":[[677,10]]}},"keywords":{}}],["d",{"_index":903,"title":{},"content":{"42":{"position":[[261,1]]},"43":{"position":[[484,1],[6014,1]]},"95":{"position":[[665,1]]},"459":{"position":[[972,2]]}},"keywords":{}}],["d4",{"_index":3468,"title":{},"content":{"357":{"position":[[67,3]]}},"keywords":{}}],["d842f813f1c7",{"_index":3114,"title":{},"content":{"322":{"position":[[452,12]]}},"keywords":{}}],["daemon",{"_index":2826,"title":{},"content":{"292":{"position":[[556,6]]},"324":{"position":[[327,6]]}},"keywords":{}}],["daili",{"_index":1968,"title":{},"content":{"133":{"position":[[667,5]]}},"keywords":{}}],["damag",{"_index":3643,"title":{},"content":{"360":{"position":[[981,7]]},"459":{"position":[[1941,7]]}},"keywords":{}}],["darken",{"_index":3824,"title":{},"content":{"403":{"position":[[183,7]]},"427":{"position":[[74,7]]}},"keywords":{}}],["dash",{"_index":4554,"title":{},"content":{"593":{"position":[[513,4]]}},"keywords":{}}],["dashboard",{"_index":1886,"title":{},"content":{"108":{"position":[[473,10]]}},"keywords":{}}],["data",{"_index":48,"title":{"308":{"position":[[0,4]]},"309":{"position":[[0,4]]},"549":{"position":[[0,4]]},"551":{"position":[[0,4]]},"560":{"position":[[0,4]]},"562":{"position":[[0,4]]},"674":{"position":[[7,4]]},"729":{"position":[[9,5]]}},"content":{"2":{"position":[[323,4],[424,4],[461,5],[477,4],[529,5],[610,5]]},"5":{"position":[[842,4]]},"31":{"position":[[556,4],[703,5]]},"33":{"position":[[165,4]]},"35":{"position":[[609,4],[650,4],[660,4],[754,4],[1253,4],[1417,4],[1784,4]]},"36":{"position":[[658,4],[680,4],[10354,4]]},"37":{"position":[[402,4],[443,4],[453,4],[547,4],[1046,4],[1210,4],[1577,4]]},"39":{"position":[[272,4],[304,4]]},"44":{"position":[[2987,4]]},"51":{"position":[[186,4]]},"54":{"position":[[107,4],[256,4],[442,4],[580,4]]},"57":{"position":[[84,4],[429,4],[477,4]]},"58":{"position":[[242,4],[267,4],[370,4]]},"59":{"position":[[41,4],[96,4],[159,4],[213,4],[393,4],[463,4],[612,4],[847,5],[904,4]]},"60":{"position":[[53,4],[202,4],[1010,4],[1245,5],[1302,4],[1405,4]]},"61":{"position":[[132,4],[1149,4],[1791,4],[2004,4],[2145,5],[2202,4],[2917,4],[3065,5],[3144,5]]},"62":{"position":[[129,4],[214,5],[298,4],[508,4],[916,4],[1147,5],[1204,4]]},"63":{"position":[[1107,4],[1333,4],[1737,4],[2100,4],[2331,5],[2388,4]]},"64":{"position":[[427,5],[484,4]]},"67":{"position":[[489,5],[1156,4]]},"69":{"position":[[2040,4],[2196,4],[2247,4],[2293,4],[2432,4],[2538,4],[2643,4],[2892,4],[2981,5],[2994,4],[3322,4],[3761,4],[4110,4],[4389,4],[4557,5],[4625,4],[4677,4],[4921,4]]},"71":{"position":[[250,4]]},"75":{"position":[[72,4],[150,4],[204,5],[277,4],[433,4],[918,4],[984,5],[1329,6],[1406,4],[1730,5]]},"78":{"position":[[65,4],[164,4],[227,5],[280,5],[312,4],[471,4],[699,4],[766,5],[792,6],[847,4]]},"79":{"position":[[49,4],[348,4],[988,5],[1009,4],[1094,5],[1129,5]]},"93":{"position":[[784,4],[1190,4],[1470,4]]},"94":{"position":[[579,4],[899,4]]},"99":{"position":[[119,5],[210,4],[630,4],[648,4],[805,4],[819,4],[1128,4],[1149,4],[1479,4],[1719,4],[2094,4],[2133,4],[2210,4],[2352,4],[3053,4],[3474,4],[3589,4],[3631,4],[3669,4],[3746,5],[3759,4],[3786,4],[3813,4],[3857,4],[4204,4],[4236,4],[4551,4],[4880,4],[5194,4]]},"108":{"position":[[290,4]]},"112":{"position":[[340,4]]},"118":{"position":[[109,4]]},"125":{"position":[[239,4],[383,4]]},"126":{"position":[[284,4],[296,4],[480,4],[492,4]]},"127":{"position":[[287,4],[299,4],[486,4],[498,4]]},"133":{"position":[[24,4],[510,4]]},"134":{"position":[[65,4],[150,4],[205,4],[446,5],[461,5],[816,4],[1105,4]]},"135":{"position":[[421,4]]},"166":{"position":[[14,4]]},"167":{"position":[[47,4]]},"176":{"position":[[540,4]]},"194":{"position":[[446,4]]},"198":{"position":[[857,4],[1004,5],[1210,4],[1261,4]]},"199":{"position":[[312,4]]},"201":{"position":[[638,4],[679,4],[689,4],[783,4],[1282,4],[1446,4],[1813,4],[2042,4]]},"202":{"position":[[658,4],[680,4],[10354,4]]},"203":{"position":[[421,4],[462,4],[472,4],[566,4],[1065,4],[1229,4],[1596,4]]},"204":{"position":[[131,4],[243,4],[808,4],[849,4],[859,4],[953,4],[1234,4],[1426,4],[1590,4],[1957,4]]},"205":{"position":[[131,4],[243,4],[644,4],[685,4],[695,4],[789,4],[1070,4],[1262,4],[1426,4],[1793,4]]},"206":{"position":[[444,4],[454,4],[829,4]]},"207":{"position":[[227,4],[237,4],[612,4]]},"209":{"position":[[285,4]]},"213":{"position":[[47,4],[69,4]]},"227":{"position":[[1137,4],[1364,6],[1398,4],[2108,4],[2143,4],[2221,4],[3280,4],[4826,5],[4832,4],[4918,4],[5245,4],[5312,4],[5390,4],[6205,5]]},"234":{"position":[[816,4]]},"240":{"position":[[1297,4]]},"249":{"position":[[23,4],[167,5],[358,4],[572,4]]},"253":{"position":[[5762,4],[5780,4],[8012,4]]},"259":{"position":[[881,4],[1028,5],[1276,4],[1329,4],[1398,4],[1408,4],[1539,4],[1581,4],[1685,5]]},"260":{"position":[[58,4],[166,4],[398,4]]},"261":{"position":[[101,4]]},"262":{"position":[[108,5],[271,4],[476,4]]},"263":{"position":[[326,5],[378,4],[669,4]]},"264":{"position":[[341,4]]},"266":{"position":[[636,4],[677,4],[687,4],[1113,4]]},"267":{"position":[[653,4],[675,4]]},"268":{"position":[[428,4],[469,4],[479,4]]},"269":{"position":[[174,5],[686,4],[696,4]]},"270":{"position":[[355,4],[365,4]]},"271":{"position":[[437,4],[447,4],[822,4]]},"272":{"position":[[229,4],[239,4],[614,4]]},"274":{"position":[[266,4]]},"275":{"position":[[56,4],[78,4]]},"277":{"position":[[119,4]]},"285":{"position":[[696,4]]},"289":{"position":[[978,5],[1207,4]]},"298":{"position":[[414,4],[515,4],[552,5],[568,4],[620,5],[701,5],[1622,5]]},"301":{"position":[[682,4],[983,4]]},"306":{"position":[[165,5],[433,5],[478,5]]},"307":{"position":[[230,4],[409,4],[469,4],[488,4],[668,4],[759,4],[955,4]]},"308":{"position":[[1,4],[33,4],[51,4],[155,4],[260,4],[349,4],[446,4],[622,4],[707,4],[793,4]]},"309":{"position":[[1,4],[177,4],[234,4],[349,4],[451,4],[535,5],[546,4],[590,4],[635,5],[646,4]]},"328":{"position":[[350,6],[380,4]]},"329":{"position":[[227,5],[444,4]]},"336":{"position":[[69,4],[136,4],[179,4]]},"338":{"position":[[824,4],[1933,4]]},"343":{"position":[[92,5],[320,5],[580,4]]},"347":{"position":[[610,4]]},"350":{"position":[[27,4],[68,4],[138,5]]},"351":{"position":[[131,4]]},"352":{"position":[[189,4],[255,4],[350,5]]},"353":{"position":[[177,4]]},"355":{"position":[[420,4],[757,4]]},"356":{"position":[[185,4],[213,4]]},"357":{"position":[[2345,4]]},"364":{"position":[[464,4]]},"366":{"position":[[114,5]]},"371":{"position":[[417,4]]},"401":{"position":[[16,4]]},"402":{"position":[[16,4]]},"403":{"position":[[40,4]]},"418":{"position":[[306,5],[431,4],[1033,5],[1158,4],[1480,4]]},"419":{"position":[[340,5],[465,4],[674,4],[1086,5],[1211,4],[1533,4]]},"420":{"position":[[324,5],[449,4],[641,4],[1058,5],[1183,4],[1505,4]]},"421":{"position":[[324,4]]},"432":{"position":[[179,4]]},"457":{"position":[[288,4]]},"459":{"position":[[304,4],[410,4],[1083,4],[1259,4],[1345,4],[1374,4],[1436,4],[1826,5]]},"464":{"position":[[166,4],[265,4]]},"465":{"position":[[708,4]]},"466":{"position":[[422,4],[560,5],[652,4]]},"467":{"position":[[99,4]]},"498":{"position":[[32,4]]},"507":{"position":[[282,4]]},"525":{"position":[[41,4],[329,5]]},"550":{"position":[[1,4],[162,4]]},"555":{"position":[[1,4]]},"556":{"position":[[1,4]]},"558":{"position":[[229,4]]},"561":{"position":[[1,4],[39,4],[63,4]]},"564":{"position":[[21,4],[205,5]]},"599":{"position":[[553,4],[741,4],[844,4],[926,4]]},"623":{"position":[[116,4]]},"629":{"position":[[438,4],[447,4]]},"645":{"position":[[11,4],[180,4],[189,4],[213,4],[283,5]]},"674":{"position":[[48,5],[184,4]]},"675":{"position":[[64,4],[134,5]]},"676":{"position":[[16,4]]},"713":{"position":[[23,4],[274,4],[351,4],[385,5]]},"714":{"position":[[22,4],[271,4],[348,4],[381,5]]},"725":{"position":[[23,4],[259,4],[333,4],[367,5]]},"726":{"position":[[22,4],[256,4],[330,4],[363,5]]},"729":{"position":[[49,4]]},"759":{"position":[[57,4],[155,4]]},"767":{"position":[[937,7],[1032,7],[1146,7],[1253,7]]},"768":{"position":[[12,4]]}},"keywords":{}}],["data"",{"_index":1296,"title":{},"content":{"56":{"position":[[315,11]]},"201":{"position":[[2262,10]]},"226":{"position":[[114,10],[1698,10]]},"266":{"position":[[1144,10]]},"586":{"position":[[874,11]]},"664":{"position":[[459,11]]}},"keywords":{}}],["data.length",{"_index":1513,"title":{},"content":{"75":{"position":[[655,12]]}},"keywords":{}}],["data_bit",{"_index":1981,"title":{},"content":{"135":{"position":[[393,9],[775,9]]},"338":{"position":[[866,9],[1423,9],[1440,9]]}},"keywords":{}}],["data_int",{"_index":1946,"title":{},"content":{"125":{"position":[[147,8],[273,8]]},"134":{"position":[[726,8],[995,8]]}},"keywords":{}}],["data_typ",{"_index":4933,"title":{},"content":{"649":{"position":[[1263,12]]}},"keywords":{}}],["data_uploader.rb'class",{"_index":4180,"title":{},"content":{"476":{"position":[[1665,23]]}},"keywords":{}}],["data_view",{"_index":5577,"title":{},"content":{"771":{"position":[[320,14]]}},"keywords":{}}],["databas",{"_index":2448,"title":{},"content":{"240":{"position":[[1826,8]]},"528":{"position":[[899,8],[939,8],[1317,9],[1545,8],[1700,9]]}},"keywords":{}}],["dataencod",{"_index":4029,"title":{},"content":{"454":{"position":[[90,13]]}},"keywords":{}}],["datasourc",{"_index":3433,"title":{},"content":{"353":{"position":[[231,12]]}},"keywords":{}}],["datasource.yaml",{"_index":3431,"title":{},"content":{"353":{"position":[[200,15],[441,15]]}},"keywords":{}}],["dataupload",{"_index":4179,"title":{},"content":{"476":{"position":[[1647,12]]}},"keywords":{}}],["datavi",{"_index":2401,"title":{},"content":{"235":{"position":[[595,7],[608,7],[655,7],[1036,8],[1804,7]]}},"keywords":{}}],["dataview",{"_index":4496,"title":{},"content":{"564":{"position":[[1,10],[299,10]]}},"keywords":{}}],["date",{"_index":938,"title":{"432":{"position":[[0,5]]}},"content":{"42":{"position":[[806,5]]},"43":{"position":[[1255,5],[6547,5]]},"44":{"position":[[3092,7]]},"99":{"position":[[2960,6],[3386,6]]},"263":{"position":[[814,4],[995,4],[1107,4]]},"343":{"position":[[151,5]]},"344":{"position":[[102,4]]},"432":{"position":[[12,4],[194,7],[251,5],[262,4],[365,4],[370,4]]},"459":{"position":[[1017,5]]},"472":{"position":[[192,6]]},"522":{"position":[[177,5]]},"547":{"position":[[174,4],[194,4]]},"555":{"position":[[107,4],[120,4],[145,4],[205,5]]},"599":{"position":[[703,4],[893,4],[978,4]]}},"keywords":{}}],["date/tim",{"_index":4489,"title":{"555":{"position":[[10,10]]}},"content":{},"keywords":{}}],["day",{"_index":414,"title":{},"content":{"20":{"position":[[365,4],[1074,4]]},"83":{"position":[[1164,4],[1227,4],[1286,4],[1346,4],[1408,4],[1468,4],[1527,4],[1586,4]]},"162":{"position":[[26,3],[127,3]]},"285":{"position":[[846,3]]},"599":{"position":[[541,4]]}},"keywords":{}}],["de",{"_index":2963,"title":{},"content":{"308":{"position":[[255,2],[344,2],[441,2],[617,2],[702,2],[788,2]]}},"keywords":{}}],["deal",{"_index":3648,"title":{},"content":{"360":{"position":[[1142,8]]},"689":{"position":[[15,4]]}},"keywords":{}}],["death",{"_index":116,"title":{},"content":{"3":{"position":[[497,6]]}},"keywords":{}}],["debian_frontend=noninteract",{"_index":3005,"title":{},"content":{"318":{"position":[[34,30]]}},"keywords":{}}],["debug",{"_index":825,"title":{"95":{"position":[[8,10]]},"489":{"position":[[0,9]]},"490":{"position":[[9,9]]},"613":{"position":[[0,9]]},"755":{"position":[[14,10]]}},"content":{"36":{"position":[[9151,5]]},"85":{"position":[[1490,9]]},"95":{"position":[[84,5],[196,5]]},"133":{"position":[[205,9]]},"202":{"position":[[9151,5]]},"267":{"position":[[7272,5]]},"304":{"position":[[4572,5],[4597,9],[4641,6]]},"490":{"position":[[28,9],[217,9],[267,6],[325,6],[575,5],[729,5],[1057,5]]},"491":{"position":[[222,5]]},"505":{"position":[[557,5],[603,6]]},"606":{"position":[[238,5]]},"612":{"position":[[1397,5]]},"613":{"position":[[21,5]]},"713":{"position":[[66,9]]},"714":{"position":[[65,9]]},"725":{"position":[[63,9]]},"726":{"position":[[62,9]]},"755":{"position":[[33,5]]}},"keywords":{}}],["decemb",{"_index":2784,"title":{},"content":{"289":{"position":[[1557,8]]}},"keywords":{}}],["decid",{"_index":2885,"title":{},"content":{"304":{"position":[[398,6]]},"470":{"position":[[223,6]]}},"keywords":{}}],["declar",{"_index":324,"title":{},"content":{"12":{"position":[[66,7]]},"54":{"position":[[690,8],[2460,8],[3267,8]]},"60":{"position":[[877,7]]},"99":{"position":[[420,11],[1369,11],[1389,8],[1561,11],[1581,8],[1870,12],[1913,11],[1957,11],[2532,12],[2575,11],[2619,11],[5031,12],[5074,11],[5118,11]]},"112":{"position":[[616,8]]},"120":{"position":[[71,8]]},"245":{"position":[[237,11]]},"253":{"position":[[7307,8],[7534,8]]},"262":{"position":[[538,8]]},"327":{"position":[[168,7]]},"343":{"position":[[715,8]]},"375":{"position":[[159,8]]},"376":{"position":[[163,8]]},"377":{"position":[[159,8]]},"378":{"position":[[161,8]]},"404":{"position":[[1130,9]]},"411":{"position":[[1062,9]]},"476":{"position":[[560,8],[875,8],[969,9],[1998,7],[2913,7],[4056,7],[4204,7]]}},"keywords":{}}],["declaract",{"_index":1788,"title":{},"content":{"99":{"position":[[443,12]]}},"keywords":{}}],["declin",{"_index":2878,"title":{},"content":{"303":{"position":[[2053,9]]}},"keywords":{}}],["decod",{"_index":1355,"title":{},"content":{"61":{"position":[[163,7]]}},"keywords":{}}],["decom",{"_index":2024,"title":{},"content":{"152":{"position":[[18,5],[111,5]]},"159":{"position":[[18,5],[113,5]]},"168":{"position":[[383,6]]},"227":{"position":[[3018,6],[3988,6]]},"418":{"position":[[323,6],[344,6],[479,6],[1050,6],[1071,6],[1206,6]]},"419":{"position":[[357,6],[378,6],[513,6],[1103,6],[1124,6],[1259,6]]},"420":{"position":[[341,6],[362,6],[497,6],[1075,6],[1096,6],[1231,6]]}},"keywords":{}}],["decom_log",{"_index":3283,"title":{"343":{"position":[[0,10]]}},"content":{"343":{"position":[[5,10]]}},"keywords":{}}],["decom_microservic",{"_index":2064,"title":{},"content":{"176":{"position":[[113,18]]},"177":{"position":[[120,18]]}},"keywords":{}}],["decomcmdlog",{"_index":2050,"title":{},"content":{"168":{"position":[[402,12]]}},"keywords":{}}],["decomlog",{"_index":2052,"title":{},"content":{"168":{"position":[[426,9]]}},"keywords":{}}],["decommut",{"_index":56,"title":{},"content":{"2":{"position":[[448,12],[584,13]]},"97":{"position":[[114,12]]},"99":{"position":[[2156,13],[2221,14],[2947,12],[3373,12],[4437,12],[4538,12]]},"150":{"position":[[9,13]]},"151":{"position":[[9,13]]},"157":{"position":[[11,13]]},"158":{"position":[[11,13]]},"227":{"position":[[367,12],[5410,12]]},"298":{"position":[[539,12],[675,13]]},"299":{"position":[[473,11]]},"343":{"position":[[49,12]]},"355":{"position":[[744,12]]},"356":{"position":[[164,13]]}},"keywords":{}}],["decomut",{"_index":2441,"title":{},"content":{"240":{"position":[[1285,11]]}},"keywords":{}}],["decor",{"_index":3803,"title":{"395":{"position":[[0,10]]}},"content":{"395":{"position":[[3,10]]}},"keywords":{}}],["decrypt",{"_index":588,"title":{},"content":{"27":{"position":[[795,7],[991,9]]},"291":{"position":[[83,10]]}},"keywords":{}}],["decrypted.key",{"_index":590,"title":{},"content":{"27":{"position":[[863,14]]}},"keywords":{}}],["decryptor",{"_index":2799,"title":{},"content":{"291":{"position":[[481,9]]}},"keywords":{}}],["dedic",{"_index":3458,"title":{},"content":{"356":{"position":[[463,9]]}},"keywords":{}}],["def",{"_index":768,"title":{},"content":{"36":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"71":{"position":[[255,3],[431,3]]},"72":{"position":[[276,3],[327,3]]},"73":{"position":[[139,3],[206,3]]},"74":{"position":[[145,3],[215,3]]},"75":{"position":[[632,3],[964,3]]},"76":{"position":[[813,3],[892,3]]},"77":{"position":[[674,3],[754,3]]},"78":{"position":[[671,3],[745,3]]},"79":{"position":[[955,3],[1055,3]]},"80":{"position":[[216,3],[357,3]]},"202":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"224":{"position":[[718,3],[905,3],[1148,3],[1352,3]]},"267":{"position":[[4073,3],[4142,3],[4404,3],[4491,3]]},"476":{"position":[[2104,3],[3019,3]]},"480":{"position":[[654,3],[732,3],[1332,3],[1611,3]]},"486":{"position":[[313,3],[422,3],[544,3],[654,3]]},"487":{"position":[[802,3],[841,3],[918,3],[978,3],[1255,3],[1297,3],[1381,3],[1444,3]]},"497":{"position":[[345,3],[647,3]]},"500":{"position":[[328,3],[506,3]]},"508":{"position":[[546,3],[621,3]]},"610":{"position":[[425,3],[462,3],[505,3],[654,3],[696,3],[744,3]]},"611":{"position":[[164,3],[209,3],[252,3],[386,3],[437,3],[485,3]]},"754":{"position":[[1134,3],[1221,3],[1263,3],[1309,3],[1391,3],[1674,3],[1754,3],[1804,3],[1858,3],[1933,3]]}},"keywords":{}}],["default",{"_index":350,"title":{"39":{"position":[[0,8]]}},"content":{"13":{"position":[[218,8]]},"14":{"position":[[187,8]]},"20":{"position":[[554,8],[603,8],[939,7]]},"29":{"position":[[115,8]]},"35":{"position":[[974,7],[988,7],[1041,7],[1519,7],[1572,7]]},"36":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8590,7],[9696,7]]},"37":{"position":[[767,7],[781,7],[834,7],[1312,7],[1365,7]]},"39":{"position":[[9,7],[103,7]]},"43":{"position":[[180,7]]},"67":{"position":[[787,7],[922,7],[1056,7],[1200,7]]},"69":{"position":[[54,7],[207,10],[2813,7],[3618,7]]},"80":{"position":[[256,7],[404,7]]},"84":{"position":[[811,7]]},"89":{"position":[[101,8],[170,7]]},"93":{"position":[[757,7]]},"121":{"position":[[780,7],[794,7]]},"130":{"position":[[294,7]]},"133":{"position":[[419,7],[553,7],[912,7]]},"135":{"position":[[369,9],[576,8]]},"139":{"position":[[227,7]]},"146":{"position":[[140,8]]},"147":{"position":[[129,8]]},"148":{"position":[[140,8]]},"149":{"position":[[126,8]]},"150":{"position":[[136,8]]},"151":{"position":[[147,8]]},"152":{"position":[[130,8]]},"153":{"position":[[149,8]]},"154":{"position":[[131,8]]},"155":{"position":[[142,8]]},"156":{"position":[[130,8]]},"157":{"position":[[138,8]]},"158":{"position":[[149,8]]},"159":{"position":[[134,8]]},"160":{"position":[[152,8]]},"161":{"position":[[148,8]]},"162":{"position":[[146,8]]},"163":{"position":[[146,8]]},"164":{"position":[[146,8]]},"165":{"position":[[135,8]]},"167":{"position":[[121,8]]},"175":{"position":[[228,7]]},"186":{"position":[[72,8],[176,8]]},"187":{"position":[[100,8],[199,8]]},"201":{"position":[[1003,7],[1017,7],[1070,7],[1548,7],[1601,7]]},"202":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8590,7],[9696,7]]},"203":{"position":[[786,7],[800,7],[853,7],[1331,7],[1384,7]]},"204":{"position":[[1692,7],[1745,7]]},"205":{"position":[[1528,7],[1581,7]]},"215":{"position":[[155,8]]},"216":{"position":[[81,7]]},"217":{"position":[[79,7]]},"227":{"position":[[1746,10]]},"230":{"position":[[559,7],[997,8]]},"231":{"position":[[651,7]]},"233":{"position":[[1332,7]]},"253":{"position":[[1756,7],[2835,7],[3690,7],[3901,7],[4171,7],[4497,7],[7016,7],[7570,8]]},"254":{"position":[[1260,7],[1433,7],[2519,7]]},"263":{"position":[[413,8]]},"267":{"position":[[1797,8],[1888,8],[8545,8],[10262,7]]},"273":{"position":[[510,7]]},"279":{"position":[[155,8]]},"282":{"position":[[584,7]]},"289":{"position":[[950,7]]},"292":{"position":[[1154,7]]},"324":{"position":[[2829,7]]},"328":{"position":[[322,7]]},"338":{"position":[[363,7],[1018,8],[1662,7]]},"339":{"position":[[175,8],[279,9],[476,9]]},"343":{"position":[[434,7]]},"347":{"position":[[1082,7]]},"356":{"position":[[78,7]]},"357":{"position":[[2083,7]]},"359":{"position":[[13,7]]},"371":{"position":[[248,7]]},"375":{"position":[[58,7]]},"376":{"position":[[60,7]]},"377":{"position":[[60,7]]},"378":{"position":[[62,7]]},"386":{"position":[[59,8],[318,8]]},"387":{"position":[[293,8]]},"388":{"position":[[166,8]]},"389":{"position":[[251,8]]},"390":{"position":[[212,8]]},"391":{"position":[[221,8],[273,8]]},"401":{"position":[[213,8],[263,8],[340,8],[406,8],[471,7]]},"402":{"position":[[213,8],[263,8],[340,8],[402,8],[460,8],[555,8],[658,7]]},"403":{"position":[[643,7],[796,8]]},"404":{"position":[[207,7],[317,8],[370,8],[452,7]]},"405":{"position":[[329,7],[383,8],[455,7]]},"406":{"position":[[228,7],[381,8]]},"407":{"position":[[243,8],[374,7],[527,8]]},"408":{"position":[[248,7],[401,8]]},"409":{"position":[[251,7],[404,8]]},"410":{"position":[[525,7],[678,8],[728,8],[781,8]]},"411":{"position":[[66,7],[515,7],[625,8],[678,8]]},"412":{"position":[[244,7],[353,8],[406,8]]},"413":{"position":[[242,7],[351,8],[404,8]]},"414":{"position":[[228,7],[336,8],[397,8]]},"415":{"position":[[217,7],[370,8]]},"416":{"position":[[220,7],[373,8]]},"417":{"position":[[494,7],[647,8],[697,8],[750,8]]},"418":{"position":[[214,7],[312,7],[941,7],[1039,7]]},"419":{"position":[[248,7],[346,7],[994,7],[1092,7]]},"420":{"position":[[232,7],[330,7],[966,7],[1064,7]]},"422":{"position":[[337,7],[391,8],[465,7]]},"423":{"position":[[504,7],[613,8],[666,8]]},"425":{"position":[[260,7],[483,7]]},"426":{"position":[[200,8],[257,8]]},"427":{"position":[[456,7],[609,8]]},"429":{"position":[[1445,8]]},"432":{"position":[[205,8]]},"435":{"position":[[138,8],[164,7],[202,8]]},"436":{"position":[[205,8]]},"439":{"position":[[286,8]]},"440":{"position":[[393,8],[489,7]]},"442":{"position":[[498,7],[525,7],[802,8],[859,8]]},"443":{"position":[[405,8]]},"444":{"position":[[583,8],[648,7]]},"446":{"position":[[929,7]]},"488":{"position":[[688,7]]},"492":{"position":[[278,8]]},"496":{"position":[[201,7],[550,7]]},"517":{"position":[[183,8]]},"547":{"position":[[4,8]]},"552":{"position":[[96,8]]},"556":{"position":[[143,8],[402,8]]},"563":{"position":[[84,8]]},"570":{"position":[[137,8]]},"577":{"position":[[166,9],[706,7]]},"589":{"position":[[83,8]]},"598":{"position":[[102,8]]},"599":{"position":[[493,7]]},"607":{"position":[[93,7]]},"612":{"position":[[170,7],[461,7]]},"623":{"position":[[455,8],[524,7],[634,7]]},"624":{"position":[[421,8],[490,7],[600,7]]},"628":{"position":[[456,7]]},"636":{"position":[[1172,7]]},"637":{"position":[[1394,7]]},"638":{"position":[[1415,7]]},"639":{"position":[[1448,7]]},"640":{"position":[[1248,7]]},"641":{"position":[[1465,7]]},"642":{"position":[[1486,7]]},"643":{"position":[[1519,7]]},"644":{"position":[[292,7],[379,7]]},"649":{"position":[[1348,10]]},"657":{"position":[[691,9]]},"660":{"position":[[483,10]]},"662":{"position":[[547,10]]},"669":{"position":[[609,10],[764,7],[1050,7]]},"670":{"position":[[424,8],[494,10]]},"671":{"position":[[472,10]]},"672":{"position":[[290,10]]},"673":{"position":[[146,7]]},"676":{"position":[[312,7]]},"681":{"position":[[1247,8],[1339,10],[1462,8]]},"682":{"position":[[1014,8],[1106,10],[1229,8]]},"683":{"position":[[800,8],[895,8]]},"684":{"position":[[681,8],[776,8]]},"685":{"position":[[859,8],[951,10]]},"686":{"position":[[910,8],[1002,10]]},"687":{"position":[[725,8]]},"688":{"position":[[653,8],[748,8]]},"696":{"position":[[34,7],[56,8]]},"697":{"position":[[49,7],[71,8]]},"699":{"position":[[571,11]]},"700":{"position":[[1565,8],[1729,8],[1878,8]]},"703":{"position":[[237,7],[353,7]]},"713":{"position":[[288,8]]},"714":{"position":[[285,8]]},"716":{"position":[[421,9],[517,9],[615,9]]},"718":{"position":[[627,7],[717,7]]},"725":{"position":[[273,8]]},"726":{"position":[[270,8]]},"728":{"position":[[631,7],[721,7]]},"750":{"position":[[105,7]]},"751":{"position":[[104,7]]},"760":{"position":[[154,7]]},"762":{"position":[[253,7],[335,7]]},"763":{"position":[[258,7],[352,7]]}},"keywords":{}}],["default'=>",{"_index":5181,"title":{},"content":{"699":{"position":[[755,16]]}},"keywords":{}}],["default/raw_logs/tlm/inst2/<yyyymmdd>",{"_index":3286,"title":{},"content":{"343":{"position":[[188,44]]}},"keywords":{}}],["default__decom__inst2",{"_index":4476,"title":{},"content":{"548":{"position":[[250,23]]}},"keywords":{}}],["default__interface__int1",{"_index":2004,"title":{},"content":{"140":{"position":[[263,24],[344,24]]}},"keywords":{}}],["default__multi__inst",{"_index":4475,"title":{},"content":{"548":{"position":[[227,22]]}},"keywords":{}}],["default__openc3_log_messag",{"_index":2070,"title":{},"content":{"176":{"position":[[563,28]]}},"keywords":{}}],["default__telemetry__example__statu",{"_index":2071,"title":{},"content":{"176":{"position":[[598,35]]}},"keywords":{}}],["default_valu",{"_index":707,"title":{},"content":{"36":{"position":[[2550,14]]},"202":{"position":[[2550,14]]}},"keywords":{}}],["defaultdiscard",{"_index":1338,"title":{},"content":{"59":{"position":[[536,14]]}},"keywords":{}}],["defaulthost",{"_index":1229,"title":{},"content":{"51":{"position":[[115,11]]}},"keywords":{}}],["defaultlength",{"_index":1357,"title":{},"content":{"61":{"position":[[593,13]]}},"keywords":{}}],["defaultminimum",{"_index":1348,"title":{},"content":{"60":{"position":[[765,14]]}},"keywords":{}}],["defaultrespons",{"_index":1413,"title":{},"content":{"66":{"position":[[168,15]]}},"keywords":{}}],["defaultstart",{"_index":1326,"title":{},"content":{"58":{"position":[[647,12]]}},"keywords":{}}],["defaultsync",{"_index":1409,"title":{},"content":{"64":{"position":[[331,11]]}},"keywords":{}}],["defaulttarget",{"_index":1434,"title":{},"content":{"68":{"position":[[144,13]]}},"keywords":{}}],["defaultwrit",{"_index":1382,"title":{},"content":{"62":{"position":[[468,12]]},"63":{"position":[[1293,12]]},"67":{"position":[[131,12]]}},"keywords":{}}],["defend",{"_index":4141,"title":{},"content":{"467":{"position":[[1311,6]]}},"keywords":{}}],["defin",{"_index":265,"title":{},"content":{"7":{"position":[[657,7]]},"31":{"position":[[24,6],[118,7]]},"35":{"position":[[1,7]]},"36":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6974,7]]},"37":{"position":[[1,7]]},"48":{"position":[[120,7]]},"54":{"position":[[11,6],[133,7],[2259,7],[3231,6]]},"58":{"position":[[36,7],[112,7]]},"60":{"position":[[106,7]]},"61":{"position":[[74,7]]},"66":{"position":[[71,7]]},"69":{"position":[[757,7]]},"112":{"position":[[152,6],[311,6]]},"119":{"position":[[28,7]]},"121":{"position":[[1,6],[69,7],[226,7]]},"123":{"position":[[1,7],[245,7],[289,6]]},"134":{"position":[[835,8],[889,6]]},"135":{"position":[[253,7],[330,7],[505,6]]},"136":{"position":[[16,6],[59,7]]},"144":{"position":[[1,7]]},"168":{"position":[[149,7]]},"171":{"position":[[1,7],[29,7]]},"181":{"position":[[16,6],[62,7]]},"184":{"position":[[1,6],[16,7]]},"194":{"position":[[1,6],[25,7]]},"198":{"position":[[26,6],[119,6],[795,8]]},"199":{"position":[[1,7]]},"201":{"position":[[1,7]]},"202":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6974,7]]},"203":{"position":[[1,7]]},"204":{"position":[[1,7]]},"205":{"position":[[1,7]]},"206":{"position":[[1,7]]},"207":{"position":[[1,7]]},"209":{"position":[[152,7],[358,6]]},"215":{"position":[[17,7],[87,7]]},"216":{"position":[[17,7]]},"217":{"position":[[17,7]]},"220":{"position":[[17,7]]},"221":{"position":[[17,7]]},"224":{"position":[[17,7],[591,7],[1075,7]]},"225":{"position":[[132,7]]},"230":{"position":[[516,7],[1091,9]]},"231":{"position":[[608,7]]},"233":{"position":[[985,8],[1053,7]]},"235":{"position":[[1064,7]]},"241":{"position":[[41,8]]},"253":{"position":[[1106,8],[3357,8],[3469,8],[5673,7],[5814,6],[5938,7]]},"254":{"position":[[1004,7]]},"259":{"position":[[28,6],[143,6],[822,8]]},"260":{"position":[[117,7]]},"261":{"position":[[128,7]]},"262":{"position":[[595,7]]},"263":{"position":[[1590,8]]},"264":{"position":[[1,7]]},"266":{"position":[[1,7]]},"267":{"position":[[529,7],[1328,7],[1616,7],[1917,7],[2036,6],[2299,7],[3942,7],[4277,7],[5575,7],[7891,7],[8224,7],[9526,7],[9913,7],[10377,7]]},"268":{"position":[[1,7]]},"269":{"position":[[1,7],[73,7]]},"270":{"position":[[1,7]]},"271":{"position":[[1,7]]},"272":{"position":[[1,7]]},"273":{"position":[[439,6]]},"274":{"position":[[143,7],[336,6]]},"276":{"position":[[1,7]]},"277":{"position":[[53,7],[157,7]]},"279":{"position":[[17,7],[87,7]]},"282":{"position":[[136,7],[513,6]]},"283":{"position":[[1,7]]},"284":{"position":[[47,7]]},"297":{"position":[[92,7],[912,6]]},"305":{"position":[[92,7]]},"306":{"position":[[344,7]]},"322":{"position":[[2223,6]]},"329":{"position":[[24,8],[263,7],[455,6],[742,7],[869,6],[1080,7]]},"355":{"position":[[173,7]]},"366":{"position":[[483,6]]},"367":{"position":[[35,6],[173,6]]},"369":{"position":[[1,6],[114,7]]},"374":{"position":[[44,7],[342,7],[461,7],[488,6]]},"383":{"position":[[47,7]]},"429":{"position":[[227,6]]},"484":{"position":[[202,7]]},"510":{"position":[[84,7]]},"530":{"position":[[57,7]]},"539":{"position":[[48,7]]},"556":{"position":[[236,7],[495,7]]},"568":{"position":[[112,7]]},"573":{"position":[[108,7]]},"577":{"position":[[623,7]]},"578":{"position":[[245,7]]},"583":{"position":[[136,7]]},"585":{"position":[[278,7]]},"586":{"position":[[297,7]]},"606":{"position":[[70,7]]},"618":{"position":[[612,8],[940,7],[1264,7]]},"658":{"position":[[674,7]]},"753":{"position":[[66,7]]},"754":{"position":[[223,7],[311,7],[728,7]]}},"keywords":{}}],["defininig",{"_index":2543,"title":{},"content":{"253":{"position":[[5234,9]]}},"keywords":{}}],["definit",{"_index":278,"title":{"31":{"position":[[6,10]]},"198":{"position":[[8,10]]},"259":{"position":[[10,10]]},"321":{"position":[[15,12]]},"366":{"position":[[0,12]]},"367":{"position":[[17,10]]},"451":{"position":[[30,10]]}},"content":{"7":{"position":[[1165,11],[1207,11]]},"15":{"position":[[27,10],[95,10],[421,10]]},"16":{"position":[[29,10],[99,10],[423,10]]},"31":{"position":[[7,10],[102,11],[302,11],[320,11],[463,10]]},"32":{"position":[[52,11],[183,10]]},"33":{"position":[[19,10]]},"36":{"position":[[2269,11]]},"38":{"position":[[78,10]]},"60":{"position":[[860,11]]},"112":{"position":[[221,13]]},"198":{"position":[[9,10],[211,10],[626,11]]},"202":{"position":[[2269,11]]},"209":{"position":[[70,10],[121,10]]},"222":{"position":[[104,11]]},"225":{"position":[[183,11]]},"230":{"position":[[721,10],[1886,11]]},"235":{"position":[[1391,10]]},"253":{"position":[[5856,10]]},"254":{"position":[[2754,11]]},"259":{"position":[[11,10],[239,10],[658,11]]},"262":{"position":[[335,11],[626,10],[683,10]]},"274":{"position":[[66,10],[112,10]]},"281":{"position":[[104,11]]},"282":{"position":[[189,11]]},"366":{"position":[[317,10],[342,10]]},"367":{"position":[[18,10],[209,10],[345,10]]},"368":{"position":[[25,10],[320,10]]},"369":{"position":[[99,11]]},"403":{"position":[[136,10]]},"451":{"position":[[58,11],[147,10],[286,12]]},"505":{"position":[[1210,11]]},"566":{"position":[[52,11]]},"581":{"position":[[61,11],[110,11]]},"583":{"position":[[71,10],[162,10],[190,10]]},"744":{"position":[[80,11]]},"745":{"position":[[401,10],[430,10],[636,10],[908,10]]},"746":{"position":[[457,10],[486,10],[1098,10],[1398,10]]}},"keywords":{}}],["definitionopen",{"_index":4518,"title":{},"content":{"582":{"position":[[32,14]]}},"keywords":{}}],["definitiontarget",{"_index":2831,"title":{},"content":{"297":{"position":[[119,16]]}},"keywords":{}}],["definitionwidget",{"_index":3712,"title":{},"content":{"366":{"position":[[6,16]]}},"keywords":{}}],["degre",{"_index":4250,"title":{},"content":{"481":{"position":[[522,7]]}},"keywords":{}}],["degrees"",{"_index":2233,"title":{},"content":{"226":{"position":[[807,13]]},"285":{"position":[[997,13]]}},"keywords":{}}],["delay",{"_index":1399,"title":{"680":{"position":[[0,7]]}},"content":{"63":{"position":[[1643,5],[1660,5]]},"130":{"position":[[11,5],[148,5],[245,5]]},"459":{"position":[[1201,6]]},"504":{"position":[[73,5]]},"681":{"position":[[543,5]]},"748":{"position":[[27,5]]},"749":{"position":[[26,5]]}},"keywords":{}}],["delet",{"_index":2155,"title":{"520":{"position":[[0,7]]}},"content":{"209":{"position":[[16,7],[83,8],[448,6]]},"253":{"position":[[550,6]]},"274":{"position":[[16,6],[79,8],[411,6]]},"308":{"position":[[822,8],[862,6]]},"309":{"position":[[672,8],[687,6]]},"310":{"position":[[716,8],[751,6],[819,8],[838,6]]},"333":{"position":[[66,6]]},"334":{"position":[[860,6]]},"465":{"position":[[315,6],[344,7],[420,7]]},"466":{"position":[[465,7]]},"520":{"position":[[25,6],[96,6]]},"552":{"position":[[327,6],[634,6]]},"563":{"position":[[265,6],[572,6]]},"577":{"position":[[1096,6],[1403,6]]},"589":{"position":[[264,6],[571,6]]},"592":{"position":[[260,6]]},"598":{"position":[[283,6],[590,6]]},"599":{"position":[[1158,8]]},"603":{"position":[[194,6]]},"628":{"position":[[740,6],[861,6],[1065,6],[1188,6]]},"630":{"position":[[1,6],[313,8]]},"734":{"position":[[1,7],[181,6]]},"742":{"position":[[1,7]]},"775":{"position":[[1,6],[255,6]]}},"keywords":{}}],["delete_config",{"_index":5595,"title":{"775":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_config(<tool",{"_index":5596,"title":{},"content":{"775":{"position":[[65,22]]}},"keywords":{}}],["delete_config('telemetry_graph",{"_index":5597,"title":{},"content":{"775":{"position":[[319,34]]}},"keywords":{}}],["delete_item",{"_index":2690,"title":{"274":{"position":[[0,12]]}},"content":{"274":{"position":[[476,11]]}},"keywords":{}}],["delete_paramet",{"_index":2154,"title":{"209":{"position":[[0,17]]}},"content":{"209":{"position":[[505,16]]}},"keywords":{}}],["delete_screen",{"_index":5433,"title":{"742":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_screen("<target",{"_index":5434,"title":{},"content":{"742":{"position":[[70,30]]}},"keywords":{}}],["delete_screen("inst"",{"_index":5435,"title":{},"content":{"742":{"position":[[291,31]]}},"keywords":{}}],["delete_target_fil",{"_index":4782,"title":{"630":{"position":[[0,19]]}},"content":{},"keywords":{}}],["delete_target_file("<fil",{"_index":4783,"title":{},"content":{"630":{"position":[[63,33]]}},"keywords":{}}],["delete_target_file("inst/delete_me.txt"",{"_index":4787,"title":{},"content":{"630":{"position":[[479,50]]}},"keywords":{}}],["deleted"",{"_index":4786,"title":{},"content":{"630":{"position":[[464,14]]}},"keywords":{}}],["delimit",{"_index":1315,"title":{},"content":{"57":{"position":[[323,9]]},"59":{"position":[[218,9],[886,9]]},"60":{"position":[[1284,9]]},"61":{"position":[[2184,9]]},"62":{"position":[[1186,9]]},"63":{"position":[[2370,9]]},"64":{"position":[[466,9]]},"632":{"position":[[1150,9]]}},"keywords":{}}],["delin",{"_index":1277,"title":{"56":{"position":[[7,11]]}},"content":{"54":{"position":[[458,10]]},"56":{"position":[[38,11]]},"62":{"position":[[25,10],[645,9]]},"63":{"position":[[402,10],[700,10],[1470,9]]},"64":{"position":[[28,10]]},"336":{"position":[[286,11]]}},"keywords":{}}],["deliveri",{"_index":4134,"title":{},"content":{"467":{"position":[[709,9]]}},"keywords":{}}],["demand",{"_index":3295,"title":{},"content":{"345":{"position":[[165,7],[214,7]]}},"keywords":{}}],["demo",{"_index":282,"title":{},"content":{"7":{"position":[[1226,4]]},"39":{"position":[[203,5]]},"63":{"position":[[1217,4]]},"184":{"position":[[489,4],[494,4]]},"253":{"position":[[25,4],[395,4],[542,4]]},"257":{"position":[[1178,4],[1239,4],[1264,4],[1410,4],[1486,4]]},"327":{"position":[[44,4]]},"328":{"position":[[669,4],[1528,4]]},"331":{"position":[[41,4],[246,4]]},"334":{"position":[[538,4],[633,4],[673,4]]},"343":{"position":[[590,5]]},"355":{"position":[[443,4],[874,4]]},"357":{"position":[[333,5],[2002,4]]},"442":{"position":[[242,4]]},"548":{"position":[[731,5]]},"578":{"position":[[414,4]]},"585":{"position":[[12,4]]},"586":{"position":[[12,4]]}},"keywords":{}}],["demo'",{"_index":3204,"title":{},"content":{"327":{"position":[[131,6]]}},"keywords":{}}],["demo_part",{"_index":2602,"title":{},"content":{"257":{"position":[[1516,9]]}},"keywords":{}}],["demonstr",{"_index":3248,"title":{},"content":{"331":{"position":[[671,11]]}},"keywords":{}}],["denot",{"_index":1732,"title":{},"content":{"93":{"position":[[974,8]]},"94":{"position":[[765,8]]}},"keywords":{}}],["denser",{"_index":1823,"title":{},"content":{"99":{"position":[[4630,6]]}},"keywords":{}}],["depart",{"_index":2811,"title":{},"content":{"291":{"position":[[1035,10]]},"363":{"position":[[1391,10]]}},"keywords":{}}],["depend",{"_index":325,"title":{"448":{"position":[[5,13]]}},"content":{"12":{"position":[[74,13]]},"44":{"position":[[628,8]]},"61":{"position":[[21,7]]},"83":{"position":[[719,12]]},"84":{"position":[[917,9]]},"102":{"position":[[150,12]]},"122":{"position":[[43,12],[159,12]]},"198":{"position":[[353,6],[611,7]]},"229":{"position":[[1463,12]]},"235":{"position":[[1380,10]]},"239":{"position":[[261,13]]},"240":{"position":[[96,12]]},"259":{"position":[[383,6],[643,7]]},"261":{"position":[[264,9]]},"351":{"position":[[336,9]]},"400":{"position":[[130,9]]},"448":{"position":[[73,13]]},"599":{"position":[[818,9]]},"607":{"position":[[499,6]]},"690":{"position":[[47,9]]}},"keywords":{}}],["depends_on",{"_index":521,"title":{},"content":{"23":{"position":[[320,11]]}},"keywords":{}}],["depict",{"_index":3853,"title":{},"content":{"414":{"position":[[19,9]]}},"keywords":{}}],["deploy",{"_index":2433,"title":{},"content":{"240":{"position":[[631,6]]},"242":{"position":[[199,9]]},"243":{"position":[[97,11],[321,10],[431,6]]},"250":{"position":[[182,8],[432,6]]},"254":{"position":[[715,8]]},"257":{"position":[[582,11]]},"327":{"position":[[240,8]]},"356":{"position":[[327,8]]},"362":{"position":[[248,10]]},"516":{"position":[[245,11]]}},"keywords":{}}],["deprec",{"_index":1291,"title":{},"content":{"56":{"position":[[104,13]]},"63":{"position":[[1,10],[34,10]]},"132":{"position":[[1,11]]},"488":{"position":[[459,10]]},"620":{"position":[[73,10]]},"621":{"position":[[38,10],[192,11],[248,11],[319,11],[389,10],[452,10],[507,10],[543,11],[630,10],[690,11],[778,10],[835,11],[910,11],[980,11],[1059,10],[1118,11],[1179,11],[1308,11],[1389,10],[1455,10],[1506,11],[1579,11],[1659,10],[1718,10],[1752,10],[1808,11],[1902,10],[1961,10],[2033,10],[2091,10],[2141,10],[2206,11],[2292,11],[2364,11],[2436,11],[2514,10],[2572,10],[2625,10],[2686,10],[2742,11],[2818,11],[2883,10],[2922,10],[2956,10],[2992,10],[3028,10],[3058,10],[3096,10],[3133,10],[3177,10],[3209,10],[3244,10],[3282,10],[3312,10],[3353,10],[3463,11],[3521,10],[3574,10],[3678,11],[3788,10],[3834,10],[3871,11],[3924,11],[3984,10],[4041,10],[4095,10],[4149,10],[4224,10],[4293,10],[4347,10],[4408,10],[4461,10],[4514,10],[4567,10],[4631,10],[4693,11],[4823,11],[4914,10],[4978,10],[5046,10],[5080,11],[5147,11],[5224,11],[5311,11]]},"632":{"position":[[182,10]]}},"keywords":{}}],["depth",{"_index":76,"title":{},"content":{"2":{"position":[[743,5]]},"146":{"position":[[110,5],[123,5]]},"153":{"position":[[119,5],[132,5]]}},"keywords":{}}],["deriv",{"_index":647,"title":{"262":{"position":[[0,7]]}},"content":{"35":{"position":[[321,7],[583,7],[634,10],[720,8],[785,7]]},"37":{"position":[[376,7],[427,10],[513,8],[578,7]]},"69":{"position":[[614,6]]},"201":{"position":[[350,7],[612,7],[663,10],[749,8],[814,7]]},"203":{"position":[[395,7],[446,10],[532,8],[597,7]]},"204":{"position":[[782,7],[833,10],[919,8],[984,7]]},"205":{"position":[[618,7],[669,10],[755,8],[820,7]]},"206":{"position":[[367,7],[530,7]]},"207":{"position":[[313,7]]},"262":{"position":[[27,7],[114,7],[190,7],[263,7],[296,7],[370,7],[489,8],[514,7]]},"263":{"position":[[460,7],[1301,7],[1454,7]]},"266":{"position":[[349,7],[610,7],[661,10],[767,7],[1122,7]]},"268":{"position":[[402,7],[453,10],[559,7]]},"271":{"position":[[366,7],[523,7]]},"272":{"position":[[315,7]]},"285":{"position":[[1152,7],[1417,7]]},"359":{"position":[[2064,11]]},"421":{"position":[[267,7]]},"571":{"position":[[30,7]]},"618":{"position":[[295,7],[391,7]]},"679":{"position":[[17,7]]}},"keywords":{}}],["describ",{"_index":133,"title":{},"content":{"3":{"position":[[705,10]]},"36":{"position":[[3441,10]]},"119":{"position":[[56,9]]},"202":{"position":[[3441,10]]},"227":{"position":[[1118,9]]},"253":{"position":[[906,8],[3273,9],[3718,9],[5175,9],[5329,9]]},"287":{"position":[[24,8]]},"295":{"position":[[71,10]]},"329":{"position":[[976,9]]},"449":{"position":[[547,8],[700,10]]},"466":{"position":[[349,8]]},"476":{"position":[[1766,8],[4331,10]]},"646":{"position":[[131,8]]},"648":{"position":[[36,9]]}},"keywords":{}}],["descript",{"_index":160,"title":{},"content":{"5":{"position":[[571,11],[960,11],[972,11],[1240,11]]},"9":{"position":[[589,12],[733,12]]},"11":{"position":[[292,11]]},"12":{"position":[[132,11]]},"13":{"position":[[329,11]]},"14":{"position":[[232,11]]},"15":{"position":[[374,11]]},"16":{"position":[[374,11]]},"32":{"position":[[75,11]]},"33":{"position":[[41,11],[530,11],[562,11],[602,11],[746,11],[809,11],[821,11],[861,11]]},"35":{"position":[[53,11],[834,11],[1141,11],[1153,11],[1485,11],[1672,11],[1684,11]]},"36":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6311,11],[6942,11],[10244,11]]},"37":{"position":[[53,11],[627,11],[934,11],[946,11],[1278,11],[1465,11],[1477,11]]},"38":{"position":[[100,11]]},"39":{"position":[[220,11]]},"49":{"position":[[231,11],[2685,11],[2753,11]]},"50":{"position":[[255,11],[2278,11],[2346,11]]},"51":{"position":[[94,11],[1153,11],[1221,11]]},"52":{"position":[[217,11],[1703,11],[1771,11]]},"58":{"position":[[626,11]]},"59":{"position":[[515,11]]},"60":{"position":[[744,11]]},"61":{"position":[[572,11]]},"62":{"position":[[447,11]]},"63":{"position":[[1272,11]]},"64":{"position":[[310,11]]},"66":{"position":[[147,11]]},"67":{"position":[[110,11]]},"68":{"position":[[123,11]]},"121":{"position":[[716,11]]},"123":{"position":[[365,11]]},"125":{"position":[[47,11]]},"126":{"position":[[81,11]]},"127":{"position":[[82,11]]},"130":{"position":[[219,11]]},"133":{"position":[[336,11]]},"134":{"position":[[379,11]]},"135":{"position":[[202,11]]},"136":{"position":[[152,11]]},"137":{"position":[[78,11]]},"138":{"position":[[233,11]]},"139":{"position":[[159,11]]},"140":{"position":[[127,11]]},"141":{"position":[[136,11]]},"142":{"position":[[115,11]]},"143":{"position":[[402,11]]},"144":{"position":[[33,11]]},"146":{"position":[[83,11]]},"147":{"position":[[66,11]]},"148":{"position":[[88,11]]},"149":{"position":[[58,11]]},"150":{"position":[[73,11]]},"151":{"position":[[95,11]]},"152":{"position":[[60,11]]},"153":{"position":[[92,11]]},"154":{"position":[[68,11]]},"155":{"position":[[90,11]]},"156":{"position":[[60,11]]},"157":{"position":[[75,11]]},"158":{"position":[[97,11]]},"159":{"position":[[62,11]]},"160":{"position":[[71,11]]},"161":{"position":[[69,11]]},"162":{"position":[[68,11]]},"163":{"position":[[68,11]]},"164":{"position":[[68,11]]},"165":{"position":[[56,11]]},"167":{"position":[[73,11]]},"168":{"position":[[313,11]]},"169":{"position":[[88,11]]},"170":{"position":[[149,11]]},"171":{"position":[[190,11]]},"173":{"position":[[62,11]]},"174":{"position":[[217,11]]},"175":{"position":[[160,11]]},"176":{"position":[[298,11]]},"177":{"position":[[242,11]]},"178":{"position":[[111,11]]},"179":{"position":[[271,11]]},"180":{"position":[[120,11]]},"181":{"position":[[112,11]]},"182":{"position":[[115,11]]},"183":{"position":[[155,11]]},"184":{"position":[[271,11]]},"186":{"position":[[130,11]]},"187":{"position":[[146,11]]},"188":{"position":[[279,11]]},"189":{"position":[[91,11]]},"190":{"position":[[119,11]]},"191":{"position":[[150,11]]},"192":{"position":[[282,11]]},"193":{"position":[[147,11]]},"194":{"position":[[106,11]]},"196":{"position":[[149,11]]},"199":{"position":[[41,11],[430,11],[442,11]]},"201":{"position":[[70,11],[863,11],[1170,11],[1182,11],[1514,11],[1701,11],[1713,11]]},"202":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6311,11],[6942,11],[10244,11]]},"203":{"position":[[70,11],[646,11],[953,11],[965,11],[1297,11],[1484,11],[1496,11]]},"204":{"position":[[293,11],[1033,11],[1314,11],[1326,11],[1658,11],[1845,11],[1857,11]]},"205":{"position":[[293,11],[869,11],[1150,11],[1162,11],[1494,11],[1681,11],[1693,11]]},"206":{"position":[[87,11],[736,11],[748,11]]},"207":{"position":[[87,11],[519,11],[531,11]]},"208":{"position":[[292,11]]},"209":{"position":[[393,11]]},"213":{"position":[[232,11]]},"214":{"position":[[152,11],[184,11]]},"215":{"position":[[285,11]]},"216":{"position":[[260,11]]},"217":{"position":[[257,11]]},"218":{"position":[[94,11]]},"219":{"position":[[100,11]]},"220":{"position":[[78,11]]},"221":{"position":[[80,11]]},"224":{"position":[[182,11]]},"225":{"position":[[291,11]]},"229":{"position":[[749,12]]},"232":{"position":[[1001,11]]},"233":{"position":[[1218,11]]},"253":{"position":[[1642,11],[2843,11],[4832,11]]},"254":{"position":[[1297,11],[1441,11],[2556,11]]},"264":{"position":[[43,11],[447,11],[459,11]]},"266":{"position":[[69,11],[780,11],[792,11]]},"267":{"position":[[109,11],[318,11],[502,12],[537,11],[560,11],[594,11],[838,11],[1443,11],[1659,11],[2335,11],[3484,11],[4850,11],[5543,11],[7317,11],[8440,11],[10478,11]]},"268":{"position":[[69,11],[572,11],[584,11]]},"269":{"position":[[239,11],[874,11],[886,11]]},"270":{"position":[[69,11],[543,11],[555,11]]},"271":{"position":[[86,11],[729,11],[741,11]]},"272":{"position":[[86,11],[521,11],[533,11]]},"273":{"position":[[292,11]]},"274":{"position":[[366,11]]},"275":{"position":[[241,11]]},"276":{"position":[[89,11]]},"279":{"position":[[285,11]]},"282":{"position":[[287,11]]},"283":{"position":[[727,11]]},"284":{"position":[[217,11]]},"299":{"position":[[10,11]]},"300":{"position":[[10,11]]},"301":{"position":[[121,11]]},"302":{"position":[[188,11]]},"303":{"position":[[370,11]]},"304":{"position":[[1306,11]]},"305":{"position":[[156,11]]},"306":{"position":[[275,11]]},"307":{"position":[[107,11]]},"308":{"position":[[122,11]]},"309":{"position":[[201,11]]},"310":{"position":[[106,11]]},"311":{"position":[[113,11]]},"321":{"position":[[395,11],[2823,11]]},"369":{"position":[[203,11]]},"371":{"position":[[115,11]]},"372":{"position":[[70,11]]},"373":{"position":[[508,11]]},"375":{"position":[[103,11]]},"376":{"position":[[105,11]]},"377":{"position":[[105,11]]},"378":{"position":[[107,11]]},"379":{"position":[[73,11]]},"380":{"position":[[67,11]]},"381":{"position":[[78,11]]},"382":{"position":[[53,11]]},"383":{"position":[[508,11]]},"384":{"position":[[365,11],[546,12]]},"386":{"position":[[268,11]]},"387":{"position":[[182,11]]},"388":{"position":[[116,11]]},"389":{"position":[[140,11]]},"390":{"position":[[117,11]]},"391":{"position":[[148,11]]},"393":{"position":[[70,11]]},"394":{"position":[[59,11]]},"396":{"position":[[146,11]]},"398":{"position":[[58,11]]},"399":{"position":[[58,11]]},"401":{"position":[[72,11]]},"402":{"position":[[72,11]]},"403":{"position":[[405,11]]},"404":{"position":[[47,11],[1047,11]]},"405":{"position":[[74,11]]},"406":{"position":[[68,11]]},"407":{"position":[[33,11],[76,11],[191,11],[207,11],[270,11]]},"408":{"position":[[88,11]]},"409":{"position":[[91,11]]},"410":{"position":[[87,11]]},"411":{"position":[[355,11],[979,11]]},"412":{"position":[[84,11]]},"413":{"position":[[82,11]]},"414":{"position":[[68,11]]},"415":{"position":[[57,11]]},"416":{"position":[[60,11]]},"417":{"position":[[56,11]]},"418":{"position":[[54,11],[781,11],[1342,11],[1497,11],[1655,11],[1783,11],[1908,11],[2001,11]]},"419":{"position":[[88,11],[834,11],[1395,11],[1550,11],[1708,11],[1836,11],[1961,11],[2054,11]]},"420":{"position":[[72,11],[806,11],[1367,11],[1522,11],[1680,11],[1808,11],[1933,11],[2026,11]]},"421":{"position":[[53,11]]},"422":{"position":[[78,11]]},"423":{"position":[[66,11]]},"424":{"position":[[106,11]]},"425":{"position":[[100,11]]},"426":{"position":[[52,11]]},"427":{"position":[[296,11]]},"429":{"position":[[1588,11]]},"430":{"position":[[128,11]]},"431":{"position":[[147,11]]},"432":{"position":[[130,11]]},"433":{"position":[[108,11]]},"434":{"position":[[230,11]]},"435":{"position":[[69,11]]},"436":{"position":[[130,11]]},"438":{"position":[[206,11]]},"439":{"position":[[39,11]]},"440":{"position":[[90,11]]},"441":{"position":[[44,11],[751,11]]},"442":{"position":[[282,11],[1311,11],[1664,11]]},"443":{"position":[[41,11]]},"444":{"position":[[154,11],[1227,11]]},"445":{"position":[[40,11]]},"548":{"position":[[110,12],[563,11]]},"556":{"position":[[697,11],[739,12]]},"646":{"position":[[909,14]]},"648":{"position":[[951,14]]},"649":{"position":[[1286,14]]}},"keywords":{}}],["description"",{"_index":300,"title":{},"content":{"9":{"position":[[255,17],[408,17]]},"232":{"position":[[952,17]]},"233":{"position":[[1169,17]]},"253":{"position":[[2781,17],[3299,18],[4783,17]]},"254":{"position":[[1379,17]]}},"keywords":{}}],["description".w",{"_index":2542,"title":{},"content":{"253":{"position":[[5204,20]]}},"keywords":{}}],["description.gitignor",{"_index":2320,"title":{},"content":{"229":{"position":[[377,21]]}},"keywords":{}}],["descriptionad",{"_index":2977,"title":{},"content":{"311":{"position":[[130,13]]}},"keywords":{}}],["descriptionapi",{"_index":2857,"title":{},"content":{"300":{"position":[[27,14]]}},"keywords":{}}],["descriptionarg",{"_index":4862,"title":{},"content":{"644":{"position":[[185,15]]}},"keywords":{}}],["descriptionburst",{"_index":1274,"title":{},"content":{"54":{"position":[[225,16]]}},"keywords":{}}],["descriptioncharact",{"_index":5465,"title":{},"content":{"750":{"position":[[206,21]]}},"keywords":{}}],["descriptioncmd",{"_index":2868,"title":{},"content":{"303":{"position":[[387,14]]}},"keywords":{}}],["descriptioncommand_str",{"_index":1731,"title":{},"content":{"93":{"position":[[794,25]]}},"keywords":{}}],["descriptioncosmo",{"_index":2437,"title":{},"content":{"240":{"position":[[775,17],[1603,17]]},"299":{"position":[[27,17]]}},"keywords":{}}],["descriptioncrc",{"_index":1280,"title":{},"content":{"54":{"position":[[2305,14]]}},"keywords":{}}],["descriptionct",{"_index":2858,"title":{},"content":{"301":{"position":[[138,14]]}},"keywords":{}}],["descriptiond",{"_index":2962,"title":{},"content":{"308":{"position":[[139,13]]}},"keywords":{}}],["descriptiondelay",{"_index":5458,"title":{},"content":{"748":{"position":[[117,16]]}},"keywords":{}}],["descriptiondv",{"_index":2966,"title":{},"content":{"309":{"position":[[218,13]]}},"keywords":{}}],["descriptionexpress",{"_index":4991,"title":{},"content":{"658":{"position":[[989,21]]},"683":{"position":[[565,21]]},"687":{"position":[[493,21]]}},"keywords":{}}],["descriptiongroup",{"_index":5486,"title":{},"content":{"754":{"position":[[682,16]]}},"keywords":{}}],["descriptionid",{"_index":5099,"title":{},"content":{"676":{"position":[[177,13]]}},"keywords":{}}],["descriptionignor",{"_index":5205,"title":{},"content":{"702":{"position":[[189,18]]}},"keywords":{}}],["descriptioninterfac",{"_index":4881,"title":{},"content":{"645":{"position":[[116,20]]},"709":{"position":[[196,20]]},"711":{"position":[[188,20]]},"712":{"position":[[155,20]]},"713":{"position":[[202,20]]},"714":{"position":[[200,20]]},"717":{"position":[[320,20]]},"718":{"position":[[336,20]]}},"keywords":{}}],["descriptionitem",{"_index":5026,"title":{},"content":{"663":{"position":[[365,16]]}},"keywords":{}}],["descriptionlength",{"_index":1785,"title":{},"content":{"99":{"position":[[220,17]]}},"keywords":{}}],["descriptionlimit",{"_index":5162,"title":{},"content":{"693":{"position":[[179,17]]},"694":{"position":[[181,17]]},"696":{"position":[[153,17]]},"760":{"position":[[101,16]]}},"keywords":{}}],["descriptionlm",{"_index":2862,"title":{},"content":{"302":{"position":[[205,13]]}},"keywords":{}}],["descriptionmessag",{"_index":4747,"title":{},"content":{"627":{"position":[[478,18]]},"634":{"position":[[146,18]]}},"keywords":{}}],["descriptionmetadata",{"_index":5511,"title":{},"content":{"762":{"position":[[123,19]]},"763":{"position":[[126,19]]}},"keywords":{}}],["descriptionmethod",{"_index":4999,"title":{},"content":{"659":{"position":[[256,17]]}},"keywords":{}}],["descriptionmicroservices/background",{"_index":2365,"title":{},"content":{"231":{"position":[[470,35]]}},"keywords":{}}],["descriptionoffset",{"_index":1820,"title":{},"content":{"99":{"position":[[4246,17]]},"703":{"position":[[161,17]]}},"keywords":{}}],["descriptionpacket",{"_index":1807,"title":{},"content":{"99":{"position":[[2362,17],[4890,17]]},"675":{"position":[[203,18]]}},"keywords":{}}],["descriptionpath",{"_index":4757,"title":{},"content":{"628":{"position":[[228,15]]},"629":{"position":[[149,15]]},"630":{"position":[[125,15]]}},"keywords":{}}],["descriptionprocedur",{"_index":5415,"title":{},"content":{"736":{"position":[[245,20]]}},"keywords":{}}],["descriptionpv",{"_index":2940,"title":{},"content":{"305":{"position":[[173,13]]}},"keywords":{}}],["descriptionquest",{"_index":4735,"title":{},"content":{"623":{"position":[[332,19]]},"624":{"position":[[298,19]]}},"keywords":{}}],["descriptionraw",{"_index":4624,"title":{},"content":{"618":{"position":[[145,14]]}},"keywords":{}}],["descriptionrout",{"_index":5349,"title":{},"content":{"720":{"position":[[149,17]]},"721":{"position":[[117,17]]},"723":{"position":[[183,17]]},"725":{"position":[[193,17]]},"726":{"position":[[191,17]]},"727":{"position":[[304,17]]},"728":{"position":[[346,17]]}},"keywords":{}}],["descriptionscreen",{"_index":5451,"title":{},"content":{"746":{"position":[[394,17]]}},"keywords":{}}],["descriptionset",{"_index":5556,"title":{},"content":{"768":{"position":[[249,18]]},"769":{"position":[[248,18]]}},"keywords":{}}],["descriptionsr",{"_index":2898,"title":{},"content":{"304":{"position":[[1323,13]]}},"keywords":{}}],["descriptionsrc/app.vu",{"_index":2403,"title":{},"content":{"235":{"position":[[760,22]]}},"keywords":{}}],["descriptionsrc/helloworldwidget.vu",{"_index":2394,"title":{},"content":{"234":{"position":[[656,35]]}},"keywords":{}}],["descriptionstart",{"_index":5507,"title":{},"content":{"761":{"position":[[98,16]]}},"keywords":{}}],["descriptionstash",{"_index":5398,"title":{},"content":{"730":{"position":[[118,16]]},"731":{"position":[[112,16]]},"734":{"position":[[135,16]]}},"keywords":{}}],["descriptiontarget",{"_index":1802,"title":{},"content":{"99":{"position":[[1489,17],[1729,17]]},"636":{"position":[[759,17]]},"637":{"position":[[981,17]]},"638":{"position":[[1002,17]]},"639":{"position":[[1035,17]]},"640":{"position":[[835,17]]},"641":{"position":[[1052,17]]},"642":{"position":[[1073,17]]},"643":{"position":[[1106,17]]},"646":{"position":[[242,17]]},"647":{"position":[[151,17]]},"648":{"position":[[237,17]]},"649":{"position":[[283,17]]},"650":{"position":[[318,17]]},"651":{"position":[[241,17]]},"652":{"position":[[410,17]]},"653":{"position":[[189,17]]},"654":{"position":[[245,17]]},"656":{"position":[[469,17]]},"657":{"position":[[411,17]]},"660":{"position":[[259,17]]},"661":{"position":[[301,17]]},"662":{"position":[[415,17]]},"664":{"position":[[128,17]]},"665":{"position":[[133,17]]},"666":{"position":[[195,17]]},"667":{"position":[[245,17]]},"668":{"position":[[256,17]]},"669":{"position":[[495,17]]},"670":{"position":[[221,17]]},"671":{"position":[[362,17]]},"672":{"position":[[198,17]]},"677":{"position":[[205,17]]},"678":{"position":[[225,17]]},"679":{"position":[[239,17]]},"681":{"position":[[835,17]]},"682":{"position":[[567,17]]},"684":{"position":[[488,17]]},"685":{"position":[[450,17]]},"686":{"position":[[466,17]]},"688":{"position":[[374,17]]},"690":{"position":[[327,17]]},"691":{"position":[[182,17]]},"692":{"position":[[184,17]]},"699":{"position":[[179,17]]},"700":{"position":[[549,17]]},"706":{"position":[[143,17]]},"716":{"position":[[264,17]]},"739":{"position":[[232,17]]},"740":{"position":[[149,17]]},"742":{"position":[[162,17]]},"744":{"position":[[202,17]]},"745":{"position":[[297,17]]}},"keywords":{}}],["descriptiontarget_nam",{"_index":1737,"title":{},"content":{"93":{"position":[[1480,22]]},"94":{"position":[[909,22]]}},"keywords":{}}],["descriptiontargets/gs",{"_index":2341,"title":{},"content":{"230":{"position":[[420,22]]}},"keywords":{}}],["descriptiontargets/gse/lib/double_conversion.rb",{"_index":2377,"title":{},"content":{"232":{"position":[[627,47]]}},"keywords":{}}],["descriptiontargets/gse/lib/safe_limits_response.rb",{"_index":2387,"title":{},"content":{"233":{"position":[[666,50]]}},"keywords":{}}],["descriptiontargets/target_name/lib",{"_index":4273,"title":{},"content":{"485":{"position":[[199,34]]}},"keywords":{}}],["descriptiontg",{"_index":2955,"title":{},"content":{"307":{"position":[[124,13]]}},"keywords":{}}],["descriptiontim",{"_index":5119,"title":{},"content":{"681":{"position":[[508,15]]}},"keywords":{}}],["descriptiontitl",{"_index":4796,"title":{},"content":{"632":{"position":[[929,16]]}},"keywords":{}}],["descriptiontl",{"_index":2970,"title":{},"content":{"310":{"position":[[123,13]]}},"keywords":{}}],["descriptiontlm_str",{"_index":1759,"title":{},"content":{"94":{"position":[[589,21]]}},"keywords":{}}],["descriptiontool",{"_index":5580,"title":{},"content":{"772":{"position":[[135,15]]},"773":{"position":[[310,15]]},"774":{"position":[[146,15]]},"775":{"position":[[150,15]]}},"keywords":{}}],["descriptiontv",{"_index":2952,"title":{},"content":{"306":{"position":[[292,13]]}},"keywords":{}}],["descriptionutil",{"_index":5419,"title":{},"content":{"737":{"position":[[471,18]]}},"keywords":{}}],["design",{"_index":1386,"title":{"296":{"position":[[17,6]]}},"content":{"63":{"position":[[275,8]]},"189":{"position":[[199,6]]},"214":{"position":[[1,10]]},"229":{"position":[[595,8]]},"230":{"position":[[596,8]]},"231":{"position":[[694,8]]},"235":{"position":[[1773,6]]},"247":{"position":[[41,6],[78,9],[214,6]]},"291":{"position":[[27,8]]},"304":{"position":[[614,9]]},"324":{"position":[[382,7]]},"332":{"position":[[298,7]]},"364":{"position":[[1305,8]]},"400":{"position":[[198,8]]},"418":{"position":[[1314,10]]},"419":{"position":[[1367,10]]},"420":{"position":[[1339,10]]},"496":{"position":[[25,6]]},"619":{"position":[[27,8]]}},"keywords":{}}],["desir",{"_index":2593,"title":{},"content":{"256":{"position":[[370,7]]},"267":{"position":[[9627,7],[10014,7]]},"303":{"position":[[153,7],[283,7]]},"304":{"position":[[3886,7],[6830,8]]},"373":{"position":[[676,7]]},"383":{"position":[[557,7]]},"495":{"position":[[664,7],[962,7]]}},"keywords":{}}],["desktop",{"_index":1567,"title":{},"content":{"83":{"position":[[330,7]]},"240":{"position":[[419,8]]},"289":{"position":[[145,7],[266,8]]},"313":{"position":[[142,7]]},"324":{"position":[[4076,7]]},"325":{"position":[[400,7]]},"357":{"position":[[4285,7]]}},"keywords":{}}],["dest",{"_index":1231,"title":{},"content":{"51":{"position":[[206,4]]},"328":{"position":[[932,4],[1083,4]]}},"keywords":{}}],["dest_ip",{"_index":3081,"title":{},"content":{"321":{"position":[[883,7]]},"322":{"position":[[1956,7]]}},"keywords":{}}],["destruct",{"_index":4078,"title":{},"content":{"459":{"position":[[1926,11]]},"464":{"position":[[238,12]]}},"keywords":{}}],["detail",{"_index":1501,"title":{"528":{"position":[[24,8]]},"573":{"position":[[0,8]]}},"content":{"71":{"position":[[797,7]]},"119":{"position":[[69,6]]},"121":{"position":[[193,7]]},"123":{"position":[[916,8]]},"143":{"position":[[706,8]]},"194":{"position":[[377,8]]},"253":{"position":[[8059,7]]},"267":{"position":[[3457,7],[4823,7],[5516,7],[6639,7]]},"305":{"position":[[579,8]]},"320":{"position":[[5,8]]},"363":{"position":[[1288,8]]},"364":{"position":[[981,6]]},"372":{"position":[[243,8],[290,8]]},"373":{"position":[[728,8],[775,8]]},"383":{"position":[[687,8],[734,8]]},"474":{"position":[[334,7]]},"481":{"position":[[141,7]]},"568":{"position":[[281,8]]},"573":{"position":[[38,7],[60,7]]}},"keywords":{}}],["detect",{"_index":2671,"title":{},"content":{"267":{"position":[[9013,8],[9171,8],[9332,8],[9452,8],[9836,9],[10222,9]]},"334":{"position":[[807,7]]},"484":{"position":[[177,7]]}},"keywords":{}}],["determin",{"_index":319,"title":{},"content":{"11":{"position":[[147,10]]},"76":{"position":[[700,10]]},"253":{"position":[[5424,9]]},"322":{"position":[[315,9]]},"457":{"position":[[149,10]]},"476":{"position":[[374,9],[481,9]]},"490":{"position":[[73,11]]},"505":{"position":[[764,9]]},"612":{"position":[[1106,9]]},"702":{"position":[[256,11]]}},"keywords":{}}],["dev",{"_index":1624,"title":{},"content":{"83":{"position":[[2237,3]]},"85":{"position":[[507,3],[610,3]]}},"keywords":{}}],["dev.txt",{"_index":1857,"title":{},"content":{"105":{"position":[[120,7]]}},"keywords":{}}],["dev.yaml",{"_index":1678,"title":{},"content":{"85":{"position":[[480,8]]}},"keywords":{}}],["dev/stderr",{"_index":1115,"title":{},"content":{"44":{"position":[[3139,11],[3251,11]]}},"keywords":{}}],["dev/ttys0",{"_index":1247,"title":{},"content":{"52":{"position":[[297,13],[409,13],[1510,10],[1521,10]]}},"keywords":{}}],["dev/ttys1",{"_index":1256,"title":{},"content":{"52":{"position":[[1089,10],[1100,10]]}},"keywords":{}}],["dev/ttyusb0",{"_index":3282,"title":{},"content":{"341":{"position":[[294,12]]}},"keywords":{}}],["dev_server.bat",{"_index":1685,"title":{},"content":{"85":{"position":[[937,14]]}},"keywords":{}}],["develop",{"_index":21,"title":{"82":{"position":[[0,10]]},"83":{"position":[[0,11]]}},"content":{"1":{"position":[[217,11]]},"44":{"position":[[228,9]]},"83":{"position":[[22,8],[487,7],[2036,11],[2204,11]]},"84":{"position":[[55,7],[491,11],[891,11],[1361,11],[1406,12]]},"85":{"position":[[25,7],[135,11],[160,11]]},"95":{"position":[[4,10],[332,9],[498,9]]},"227":{"position":[[47,10]]},"229":{"position":[[456,12]]},"230":{"position":[[1575,10]]},"235":{"position":[[147,10],[365,12],[410,12],[1517,11],[1656,11]]},"237":{"position":[[101,11]]},"245":{"position":[[314,7]]},"246":{"position":[[101,10]]},"247":{"position":[[63,10]]},"251":{"position":[[100,11]]},"254":{"position":[[2966,11]]},"304":{"position":[[172,10],[1385,10]]},"332":{"position":[[90,11],[153,12]]},"334":{"position":[[1305,7]]},"343":{"position":[[404,9]]},"360":{"position":[[405,12],[1297,12]]},"361":{"position":[[313,7]]},"362":{"position":[[56,10],[491,7],[609,11]]},"364":{"position":[[1636,10]]},"482":{"position":[[291,7]]},"488":{"position":[[904,9]]}},"keywords":{}}],["developerslot",{"_index":3669,"title":{},"content":{"362":{"position":[[367,14]]}},"keywords":{}}],["devic",{"_index":19,"title":{},"content":{"1":{"position":[[199,8]]},"143":{"position":[[383,7]]},"291":{"position":[[94,7],[491,6]]},"336":{"position":[[96,7]]},"341":{"position":[[144,8],[216,6]]}},"keywords":{}}],["device"",{"_index":3317,"title":{},"content":{"347":{"position":[[686,12]]}},"keywords":{}}],["dfw4kkva6acgfsf_f8tbh_rzrvqwlvwwzda_eggkzhzwcnac8tdjxrxuawmnogwt0aahzaow8evwmkp",{"_index":988,"title":{},"content":{"43":{"position":[[2285,79],[5750,79]]}},"keywords":{}}],["diag",{"_index":2236,"title":{},"content":{"226":{"position":[[942,4]]},"285":{"position":[[1117,4]]}},"keywords":{}}],["diagram",{"_index":2836,"title":{"298":{"position":[[33,8]]}},"content":{"298":{"position":[[15,7]]}},"keywords":{}}],["dialog",{"_index":2162,"title":{},"content":{"214":{"position":[[83,6]]},"267":{"position":[[3465,7],[4831,7],[5524,7],[6647,7]]},"303":{"position":[[1969,6],[2042,6]]},"513":{"position":[[154,6]]},"514":{"position":[[199,6],[571,6]]},"538":{"position":[[81,6]]},"541":{"position":[[259,6]]},"542":{"position":[[280,6]]},"552":{"position":[[210,6],[460,6]]},"555":{"position":[[158,7],[277,7]]},"558":{"position":[[188,7],[332,6]]},"563":{"position":[[148,6],[398,6]]},"564":{"position":[[136,7],[448,7]]},"573":{"position":[[68,7],[84,6]]},"577":{"position":[[207,6],[828,6],[979,6],[1229,6]]},"589":{"position":[[147,6],[397,6]]},"591":{"position":[[46,7]]},"592":{"position":[[76,7]]},"598":{"position":[[166,6],[416,6]]},"599":{"position":[[126,6],[674,7]]},"605":{"position":[[83,6],[311,6],[634,6],[684,6]]},"632":{"position":[[66,6],[970,7],[1026,6]]}},"keywords":{}}],["dict",{"_index":5173,"title":{},"content":{"699":{"position":[[16,4]]},"729":{"position":[[156,6]]},"732":{"position":[[54,5]]},"762":{"position":[[151,4]]},"763":{"position":[[154,4]]}},"keywords":{}}],["dict_keys(['default",{"_index":5184,"title":{},"content":{"699":{"position":[[878,21]]}},"keywords":{}}],["didn't",{"_index":2579,"title":{},"content":{"254":{"position":[[1798,6]]}},"keywords":{}}],["differ",{"_index":296,"title":{"502":{"position":[[17,11]]}},"content":{"9":{"position":[[21,9]]},"17":{"position":[[244,6]]},"18":{"position":[[249,6]]},"33":{"position":[[402,9]]},"44":{"position":[[1533,9],[1776,9]]},"99":{"position":[[25,9],[4749,9]]},"121":{"position":[[424,9]]},"144":{"position":[[172,9]]},"198":{"position":[[1019,10]]},"259":{"position":[[1058,10]]},"267":{"position":[[8119,9],[8245,9],[8272,9],[8635,9]]},"298":{"position":[[838,9]]},"300":{"position":[[391,9]]},"301":{"position":[[1468,9]]},"304":{"position":[[1026,9]]},"324":{"position":[[910,9]]},"359":{"position":[[1792,9]]},"470":{"position":[[266,9]]},"476":{"position":[[43,11],[3656,10]]},"480":{"position":[[399,6]]},"490":{"position":[[882,9]]},"495":{"position":[[25,9],[318,9]]},"507":{"position":[[192,9],[213,9]]},"508":{"position":[[135,9]]},"540":{"position":[[663,9]]},"547":{"position":[[137,9]]},"578":{"position":[[529,9],[1236,9]]},"596":{"position":[[230,9]]},"618":{"position":[[16,9],[116,12]]},"681":{"position":[[144,9]]},"700":{"position":[[141,9]]}},"keywords":{}}],["differenti",{"_index":1272,"title":{},"content":{"54":{"position":[[59,15]]},"98":{"position":[[159,13]]}},"keywords":{}}],["difficult",{"_index":3622,"title":{},"content":{"359":{"position":[[1863,9]]},"483":{"position":[[245,9]]}},"keywords":{}}],["difficult.indent",{"_index":4163,"title":{},"content":{"476":{"position":[[287,21]]}},"keywords":{}}],["digit",{"_index":3617,"title":{},"content":{"359":{"position":[[1259,7]]}},"keywords":{}}],["dir",{"_index":2794,"title":{"318":{"position":[[25,4]]}},"content":{"290":{"position":[[756,3]]},"320":{"position":[[399,3]]}},"keywords":{}}],["direct",{"_index":1674,"title":{},"content":{"85":{"position":[[215,6]]},"291":{"position":[[1307,10]]},"324":{"position":[[36,10],[467,10],[533,10]]},"347":{"position":[[147,10]]},"353":{"position":[[324,6]]},"449":{"position":[[17,6]]},"466":{"position":[[689,6]]}},"keywords":{}}],["direct3d",{"_index":3592,"title":{},"content":{"357":{"position":[[4392,8]]}},"keywords":{}}],["directli",{"_index":226,"title":{"46":{"position":[[18,8]]}},"content":{"6":{"position":[[701,8]]},"46":{"position":[[184,8],[280,8],[1629,8]]},"54":{"position":[[699,8]]},"69":{"position":[[1138,8],[1412,8]]},"247":{"position":[[310,8]]},"250":{"position":[[361,8]]},"290":{"position":[[297,8]]},"292":{"position":[[66,8]]},"324":{"position":[[674,10],[3088,9]]},"341":{"position":[[26,8]]},"345":{"position":[[428,8]]},"352":{"position":[[59,8]]},"475":{"position":[[143,8]]},"483":{"position":[[536,8]]},"496":{"position":[[1089,9]]},"517":{"position":[[756,8]]},"533":{"position":[[516,8]]},"584":{"position":[[34,8]]},"658":{"position":[[385,8]]},"717":{"position":[[16,8]]},"718":{"position":[[16,8]]},"727":{"position":[[16,8]]},"728":{"position":[[16,8]]},"745":{"position":[[49,8]]},"746":{"position":[[54,8]]},"754":{"position":[[881,9],[1040,9]]}},"keywords":{}}],["directori",{"_index":331,"title":{"119":{"position":[[7,9]]}},"content":{"12":{"position":[[212,9],[313,9],[398,9]]},"15":{"position":[[461,10]]},"16":{"position":[[463,10]]},"31":{"position":[[156,9]]},"32":{"position":[[158,9]]},"119":{"position":[[36,9]]},"138":{"position":[[32,9],[52,9],[271,9]]},"174":{"position":[[17,9],[36,9],[255,9]]},"198":{"position":[[263,9]]},"229":{"position":[[119,9],[436,9]]},"230":{"position":[[401,12]]},"231":{"position":[[451,12]]},"232":{"position":[[608,12]]},"233":{"position":[[647,12]]},"234":{"position":[[637,12]]},"235":{"position":[[741,12]]},"253":{"position":[[312,10],[1557,9],[2157,10]]},"257":{"position":[[948,10],[1011,10]]},"259":{"position":[[291,9]]},"267":{"position":[[10632,10]]},"276":{"position":[[284,10]]},"290":{"position":[[627,9]]},"292":{"position":[[32,9]]},"324":{"position":[[699,11]]},"327":{"position":[[501,11]]},"328":{"position":[[64,9],[1331,10]]},"331":{"position":[[189,9],[251,10],[468,9]]},"334":{"position":[[84,10],[261,10],[428,9],[1113,9],[1198,9]]},"337":{"position":[[238,9]]},"339":{"position":[[213,10]]},"343":{"position":[[233,10]]},"345":{"position":[[15,9],[135,9],[182,11],[406,9]]},"367":{"position":[[286,10]]},"441":{"position":[[156,10]]},"442":{"position":[[597,10],[1436,10]]},"452":{"position":[[174,10]]},"453":{"position":[[173,10]]},"484":{"position":[[137,11]]},"487":{"position":[[742,10]]},"584":{"position":[[202,9],[316,9]]},"628":{"position":[[46,9],[279,10]]},"629":{"position":[[29,9],[200,10]]},"630":{"position":[[29,9],[176,10]]}},"keywords":{}}],["disabl",{"_index":717,"title":{"211":{"position":[[0,9]]},"333":{"position":[[0,9]]}},"content":{"36":{"position":[[3136,7]]},"40":{"position":[[833,7],[1162,7]]},"52":{"position":[[330,7],[442,7]]},"131":{"position":[[1,7]]},"166":{"position":[[1,8]]},"170":{"position":[[17,7],[42,7]]},"183":{"position":[[17,7],[42,7]]},"193":{"position":[[17,7],[42,7]]},"196":{"position":[[17,7],[42,7]]},"202":{"position":[[3136,7]]},"211":{"position":[[1,8],[67,8],[124,8]]},"212":{"position":[[1,7]]},"267":{"position":[[8781,9],[8898,8]]},"283":{"position":[[104,8],[200,8],[357,7],[499,8],[622,7],[654,9]]},"333":{"position":[[16,7]]},"351":{"position":[[411,7]]},"488":{"position":[[2008,9],[2135,7]]},"513":{"position":[[658,8]]},"534":{"position":[[315,8],[360,8]]},"692":{"position":[[1,8]]},"694":{"position":[[1,8]]},"752":{"position":[[1,8],[380,9],[445,8]]}},"keywords":{}}],["disable_disconnect",{"_index":1959,"title":{"131":{"position":[[0,19]]}},"content":{},"keywords":{}}],["disable_erb",{"_index":2055,"title":{"170":{"position":[[0,12]]},"183":{"position":[[0,12]]},"193":{"position":[[0,12]]},"196":{"position":[[0,12]]}},"content":{},"keywords":{}}],["disable_instrument",{"_index":4317,"title":{"752":{"position":[[0,24]]}},"content":{"488":{"position":[[2084,23],[2258,23],[2406,26]]},"752":{"position":[[520,23],[652,26]]}},"keywords":{}}],["disable_limit",{"_index":5157,"title":{"692":{"position":[[0,15]]}},"content":{},"keywords":{}}],["disable_limits("<target",{"_index":5158,"title":{},"content":{"692":{"position":[[86,31]]}},"keywords":{}}],["disable_limits("inst",{"_index":5159,"title":{},"content":{"692":{"position":[[376,25]]}},"keywords":{}}],["disable_limits_group",{"_index":5164,"title":{"694":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disable_limits_group("<limit",{"_index":5165,"title":{},"content":{"694":{"position":[[109,37]]}},"keywords":{}}],["disable_limits_group("name"",{"_index":2704,"title":{},"content":{"283":{"position":[[382,38]]}},"keywords":{}}],["disable_limits_group("safe_mode"",{"_index":5166,"title":{},"content":{"694":{"position":[[261,43]]}},"keywords":{}}],["disable_messag",{"_index":721,"title":{"212":{"position":[[0,17]]}},"content":{"36":{"position":[[3309,16],[3717,16]]},"202":{"position":[[3309,16],[3717,16]]}},"keywords":{}}],["discard",{"_index":1336,"title":{},"content":{"59":{"position":[[361,7],[588,7],[743,7]]},"60":{"position":[[647,10],[941,7],[986,7],[1141,7]]},"61":{"position":[[464,10],[1722,7],[1767,7],[1905,10],[2016,11],[2041,7]]},"62":{"position":[[847,7],[892,7],[1043,7]]},"63":{"position":[[1762,10],[2031,7],[2076,7],[2227,7]]},"64":{"position":[[563,10]]}},"keywords":{}}],["disclos",{"_index":4136,"title":{},"content":{"467":{"position":[[1046,8]]},"470":{"position":[[191,8]]}},"keywords":{}}],["disclosur",{"_index":4104,"title":{},"content":{"464":{"position":[[211,11]]}},"keywords":{}}],["disconnect",{"_index":1266,"title":{"492":{"position":[[6,10]]}},"content":{"53":{"position":[[98,10]]},"67":{"position":[[394,10],[407,10]]},"69":{"position":[[2712,10],[2777,13],[3356,11],[4062,11],[4236,10],[4252,10]]},"72":{"position":[[98,13],[179,10]]},"74":{"position":[[97,13]]},"75":{"position":[[219,11],[468,10],[542,12]]},"76":{"position":[[243,11],[494,10],[568,12]]},"77":{"position":[[242,11],[510,10],[584,12]]},"78":{"position":[[242,11],[507,10],[581,12]]},"79":{"position":[[458,11],[684,10],[758,12],[895,10]]},"131":{"position":[[13,10],[110,13],[248,10]]},"227":{"position":[[1483,13],[1541,12]]},"300":{"position":[[95,13],[124,10],[232,13],[258,10]]},"301":{"position":[[326,13],[377,10],[1285,13],[1333,10]]},"304":{"position":[[4301,12],[4433,11]]},"492":{"position":[[1,10],[128,10],[188,11],[263,11],[303,13],[521,10],[554,12],[619,12]]},"536":{"position":[[168,12]]},"539":{"position":[[104,10]]},"544":{"position":[[244,15]]},"621":{"position":[[1195,11]]},"669":{"position":[[205,12],[255,10]]},"712":{"position":[[1,11]]},"721":{"position":[[1,11]]},"758":{"position":[[21,10],[41,10],[198,10]]}},"keywords":{}}],["disconnect_interfac",{"_index":5291,"title":{"712":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disconnect_interface("<interfac",{"_index":5292,"title":{},"content":{"712":{"position":[[86,40]]}},"keywords":{}}],["disconnect_interface("int1"",{"_index":5293,"title":{},"content":{"712":{"position":[[229,38]]}},"keywords":{}}],["disconnect_reset",{"_index":1508,"title":{"74":{"position":[[0,17]]}},"content":{"74":{"position":[[5,16],[149,16],[273,16]]}},"keywords":{}}],["disconnect_reset(self",{"_index":1509,"title":{},"content":{"74":{"position":[[219,23]]}},"keywords":{}}],["disconnect_rout",{"_index":5352,"title":{"721":{"position":[[0,18]]}},"content":{},"keywords":{}}],["disconnect_router("<rout",{"_index":5353,"title":{},"content":{"721":{"position":[[54,34]]}},"keywords":{}}],["disconnect_router("int1_router"",{"_index":5354,"title":{},"content":{"721":{"position":[[185,42]]}},"keywords":{}}],["disconnect_script",{"_index":4701,"title":{"758":{"position":[[0,18]]}},"content":{"621":{"position":[[3694,17]]},"758":{"position":[[316,19]]}},"keywords":{}}],["discount",{"_index":4084,"title":{},"content":{"461":{"position":[[243,9]]}},"keywords":{}}],["discov",{"_index":2978,"title":{},"content":{"311":{"position":[[633,8]]}},"keywords":{}}],["discoveri",{"_index":363,"title":{},"content":{"15":{"position":[[244,10]]},"16":{"position":[[248,10]]},"311":{"position":[[612,9]]}},"keywords":{}}],["discovery."",{"_index":2460,"title":{},"content":{"243":{"position":[[256,16]]}},"keywords":{}}],["discret",{"_index":2115,"title":{},"content":{"198":{"position":[[191,11]]},"259":{"position":[[217,11]]}},"keywords":{}}],["discuss",{"_index":77,"title":{"70":{"position":[[7,12]]}},"content":{"2":{"position":[[749,10]]},"69":{"position":[[904,10],[1679,7],[1751,11]]},"71":{"position":[[906,9]]},"487":{"position":[[688,10]]},"500":{"position":[[801,9]]}},"keywords":{}}],["disk",{"_index":2761,"title":{},"content":{"289":{"position":[[387,4],[460,4]]},"324":{"position":[[948,5],[980,4]]}},"keywords":{}}],["diskrenam",{"_index":4575,"title":{},"content":{"605":{"position":[[175,10]]}},"keywords":{}}],["dismiss",{"_index":4507,"title":{},"content":{"575":{"position":[[210,10]]}},"keywords":{}}],["display",{"_index":349,"title":{},"content":{"13":{"position":[[192,7],[295,7]]},"14":{"position":[[166,7]]},"31":{"position":[[61,9]]},"33":{"position":[[270,7],[468,7],[683,7]]},"36":{"position":[[202,7],[296,9]]},"84":{"position":[[1274,10]]},"103":{"position":[[176,8]]},"117":{"position":[[100,10]]},"184":{"position":[[422,9]]},"188":{"position":[[8,7],[68,7],[316,7]]},"189":{"position":[[129,7]]},"202":{"position":[[202,7],[296,9]]},"230":{"position":[[2323,7]]},"234":{"position":[[722,8]]},"235":{"position":[[1245,8]]},"259":{"position":[[1203,10]]},"267":{"position":[[197,7],[291,9],[2505,9],[3365,9],[4731,9],[5424,9],[6547,9],[8105,8]]},"301":{"position":[[194,7],[459,7],[557,7],[662,7],[840,7],[954,7],[1159,7],[1727,7]]},"302":{"position":[[16,8],[242,7],[301,9],[458,9],[547,10]]},"303":{"position":[[712,7],[1545,7],[1653,9],[1709,7],[1826,10]]},"305":{"position":[[394,7],[503,9],[1332,9],[1424,10],[1614,9]]},"306":{"position":[[231,7],[331,7],[416,7]]},"309":{"position":[[34,7],[75,7],[182,8],[485,7],[524,7],[595,8]]},"311":{"position":[[400,7]]},"366":{"position":[[94,7],[520,9],[555,7]]},"393":{"position":[[107,7]]},"394":{"position":[[107,7]]},"396":{"position":[[1,8],[179,7]]},"397":{"position":[[16,8]]},"398":{"position":[[1,8],[91,7]]},"400":{"position":[[33,7],[254,7]]},"401":{"position":[[1,8],[462,8]]},"402":{"position":[[1,8],[649,8]]},"403":{"position":[[1,8],[634,8]]},"404":{"position":[[1,8],[198,8]]},"405":{"position":[[1,8],[249,10],[446,8]]},"406":{"position":[[1,8],[219,8]]},"407":{"position":[[1,8],[222,7],[258,7],[365,8]]},"408":{"position":[[1,8],[239,8]]},"409":{"position":[[1,8],[242,8]]},"410":{"position":[[1,8],[229,7],[368,7],[516,8]]},"411":{"position":[[1,8],[506,8]]},"412":{"position":[[1,8],[235,8]]},"413":{"position":[[1,8],[233,8]]},"414":{"position":[[1,8],[219,8]]},"415":{"position":[[1,8],[208,8]]},"416":{"position":[[1,8],[211,8]]},"417":{"position":[[1,8],[198,7],[337,7],[485,8]]},"418":{"position":[[1,8],[205,8],[290,7],[439,8],[932,8],[1017,7],[1166,8],[1450,7],[1591,7],[1701,7],[1876,7]]},"419":{"position":[[1,8],[239,8],[324,7],[473,8],[985,8],[1070,7],[1219,8],[1503,7],[1644,7],[1754,7],[1929,7]]},"420":{"position":[[1,8],[223,8],[308,7],[457,8],[957,8],[1042,7],[1191,8],[1475,7],[1616,7],[1726,7],[1901,7]]},"421":{"position":[[1,7]]},"422":{"position":[[1,8],[44,10],[253,10],[456,8]]},"423":{"position":[[1,8],[29,10],[208,7],[347,7],[495,8]]},"424":{"position":[[17,8],[157,8]]},"425":{"position":[[17,8],[251,8],[544,7],[589,8],[632,8],[665,8]]},"427":{"position":[[1,8],[447,8]]},"429":{"position":[[1,8],[1625,9]]},"430":{"position":[[1,8],[167,9]]},"431":{"position":[[1,8],[189,7],[251,7]]},"432":{"position":[[1,8]]},"434":{"position":[[1,8],[263,7]]},"435":{"position":[[1,8]]},"436":{"position":[[1,8]]},"437":{"position":[[42,8]]},"440":{"position":[[480,8]]},"441":{"position":[[1,8]]},"442":{"position":[[1,8],[132,9],[433,7],[542,8],[1381,8]]},"444":{"position":[[639,8]]},"488":{"position":[[852,7]]},"513":{"position":[[511,9]]},"527":{"position":[[533,7]]},"530":{"position":[[345,9]]},"533":{"position":[[158,7]]},"534":{"position":[[267,7]]},"539":{"position":[[20,8]]},"540":{"position":[[17,8]]},"541":{"position":[[25,8],[266,10]]},"542":{"position":[[27,8],[287,10]]},"543":{"position":[[16,8]]},"544":{"position":[[100,8]]},"547":{"position":[[29,8]]},"552":{"position":[[217,8],[472,8]]},"563":{"position":[[155,8],[410,8]]},"564":{"position":[[12,8],[431,7],[535,9]]},"566":{"position":[[169,7],[206,7]]},"568":{"position":[[77,7],[165,9]]},"577":{"position":[[214,8],[573,10],[986,8],[1241,8]]},"578":{"position":[[65,9],[148,9],[194,10],[341,9],[575,8],[688,10],[1328,10]]},"588":{"position":[[51,8]]},"589":{"position":[[154,8],[409,8]]},"590":{"position":[[188,8]]},"592":{"position":[[108,9]]},"598":{"position":[[173,8],[428,8]]},"599":{"position":[[262,10],[391,8]]},"605":{"position":[[318,8],[691,10]]},"606":{"position":[[3,7]]},"617":{"position":[[353,8],[796,7],[1213,7]]},"621":{"position":[[518,7]]},"623":{"position":[[598,9]]},"624":{"position":[[564,9]]},"632":{"position":[[1011,7]]},"634":{"position":[[1,8]]},"746":{"position":[[712,8],[778,7],[809,11],[898,7]]},"750":{"position":[[54,7]]},"751":{"position":[[53,7]]},"762":{"position":[[301,7]]},"763":{"position":[[318,7]]}},"keywords":{}}],["display/us",{"_index":3714,"title":{},"content":{"366":{"position":[[159,12]]}},"keywords":{}}],["display_screen",{"_index":4640,"title":{"739":{"position":[[0,15]]}},"content":{"621":{"position":[[559,14]]}},"keywords":{}}],["display_screen("<target",{"_index":5425,"title":{},"content":{"739":{"position":[[77,31]]}},"keywords":{}}],["display_screen("inst"",{"_index":5430,"title":{},"content":{"739":{"position":[[499,32]]}},"keywords":{}}],["disput",{"_index":4115,"title":{},"content":{"465":{"position":[[484,9]]}},"keywords":{}}],["distanc",{"_index":1417,"title":{},"content":{"67":{"position":[[523,8]]}},"keywords":{}}],["distinct",{"_index":2675,"title":{},"content":{"267":{"position":[[9618,8],[10005,8]]},"486":{"position":[[26,8]]}},"keywords":{}}],["distinguish",{"_index":2551,"title":{},"content":{"253":{"position":[[6320,13]]},"305":{"position":[[1196,14]]},"321":{"position":[[3737,11]]}},"keywords":{}}],["distribut",{"_index":3359,"title":{},"content":{"349":{"position":[[234,11]]}},"keywords":{}}],["distro",{"_index":3395,"title":{},"content":{"351":{"position":[[6,6]]}},"keywords":{}}],["dive",{"_index":4313,"title":{},"content":{"488":{"position":[[597,4]]}},"keywords":{}}],["dn",{"_index":3173,"title":{},"content":{"324":{"position":[[2208,3]]}},"keywords":{}}],["do",{"_index":2609,"title":{},"content":{"259":{"position":[[1463,5]]},"364":{"position":[[320,5]]},"481":{"position":[[32,5]]}},"keywords":{}}],["docker",{"_index":36,"title":{"23":{"position":[[7,6]]},"241":{"position":[[0,6]]},"324":{"position":[[40,6]]}},"content":{"2":{"position":[[129,6],[160,6]]},"21":{"position":[[33,6]]},"83":{"position":[[143,7],[323,6],[915,6],[2345,6]]},"85":{"position":[[299,6],[379,6],[432,6],[530,6],[733,6],[828,6]]},"141":{"position":[[16,6]]},"180":{"position":[[1,6]]},"239":{"position":[[5,7],[85,6],[386,6]]},"240":{"position":[[5,7],[212,7],[412,6]]},"241":{"position":[[5,7],[78,6]]},"242":{"position":[[44,6]]},"253":{"position":[[1908,6]]},"256":{"position":[[23,6],[60,6]]},"289":{"position":[[74,6],[99,6],[138,6],[259,6],[310,6],[358,7],[427,7],[465,6],[913,6],[940,6],[1109,6],[1582,6],[1624,6]]},"291":{"position":[[389,6]]},"292":{"position":[[549,6],[585,6],[596,6],[668,6],[688,6],[855,6],[1286,6],[1333,7]]},"298":{"position":[[220,6],[251,6]]},"299":{"position":[[129,6]]},"315":{"position":[[12,6]]},"316":{"position":[[22,6]]},"319":{"position":[[45,7],[94,6],[116,6]]},"322":{"position":[[405,6],[500,6]]},"324":{"position":[[109,7],[129,6],[223,6],[404,7],[1436,6],[1521,6],[1616,6],[1684,6],[1800,6],[1823,6],[3020,6],[4069,6]]},"325":{"position":[[319,6],[347,6],[393,6]]},"338":{"position":[[2066,6]]},"341":{"position":[[60,6],[260,6]]},"347":{"position":[[2357,6],[2377,6]]},"351":{"position":[[289,6],[455,6]]},"355":{"position":[[1051,6]]},"357":{"position":[[134,7],[288,7],[996,6],[2487,6],[3655,6],[3858,6],[4278,6]]}},"keywords":{}}],["docker.io",{"_index":2787,"title":{},"content":{"290":{"position":[[396,9],[473,9]]},"324":{"position":[[3340,10]]}},"keywords":{}}],["docker.sh",{"_index":3352,"title":{},"content":{"347":{"position":[[2308,9],[2330,9]]}},"keywords":{}}],["docker_host="unix://$xdg_runtime_dir/podman/podman.sock"",{"_index":3185,"title":{},"content":{"324":{"position":[[2565,66]]}},"keywords":{}}],["docker_host='unix:///users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock",{"_index":3203,"title":{},"content":{"325":{"position":[[218,92]]}},"keywords":{}}],["dockerfil",{"_index":468,"title":{"21":{"position":[[28,11]]},"318":{"position":[[7,10]]}},"content":{"239":{"position":[[309,10]]},"350":{"position":[[1217,10]]},"351":{"position":[[469,10]]},"352":{"position":[[1178,10]]},"353":{"position":[[403,10]]}},"keywords":{}}],["document",{"_index":119,"title":{},"content":{"3":{"position":[[527,13]]},"5":{"position":[[545,14],[1341,8]]},"20":{"position":[[1549,13]]},"54":{"position":[[2653,13],[2865,13],[3356,13]]},"56":{"position":[[696,14]]},"66":{"position":[[107,13]]},"71":{"position":[[930,9]]},"90":{"position":[[361,10],[602,10]]},"112":{"position":[[6,8]]},"119":{"position":[[98,14]]},"123":{"position":[[893,13]]},"143":{"position":[[683,13]]},"227":{"position":[[19,13]]},"229":{"position":[[1081,10],[1419,8]]},"253":{"position":[[4651,13],[5903,13]]},"287":{"position":[[103,8]]},"289":{"position":[[207,14]]},"295":{"position":[[23,14]]},"320":{"position":[[253,14]]},"328":{"position":[[1493,14]]},"343":{"position":[[414,14]]},"350":{"position":[[1367,8],[1447,8]]},"363":{"position":[[1373,8]]},"374":{"position":[[531,10]]},"449":{"position":[[652,14]]},"461":{"position":[[165,9],[634,8]]},"474":{"position":[[200,8]]},"479":{"position":[[343,11]]},"496":{"position":[[190,10]]},"548":{"position":[[650,13]]},"594":{"position":[[5,13]]},"773":{"position":[[93,10]]}},"keywords":{}}],["doesn't",{"_index":1505,"title":{},"content":{"72":{"position":[[403,7]]},"253":{"position":[[4587,7]]},"257":{"position":[[1723,7]]},"262":{"position":[[71,7]]},"291":{"position":[[1116,7]]},"502":{"position":[[173,7]]},"632":{"position":[[371,7]]}},"keywords":{}}],["dollar",{"_index":3661,"title":{},"content":{"362":{"position":[[48,7]]}},"keywords":{}}],["domain",{"_index":502,"title":{},"content":{"22":{"position":[[505,8]]}},"keywords":{}}],["don't",{"_index":371,"title":{"480":{"position":[[16,6]]}},"content":{"17":{"position":[[43,5]]},"18":{"position":[[46,5]]},"24":{"position":[[706,5]]},"67":{"position":[[221,5]]},"75":{"position":[[862,5],[1250,5]]},"99":{"position":[[4845,5]]},"250":{"position":[[418,5]]},"253":{"position":[[3443,5],[4542,5],[5793,5]]},"254":{"position":[[2291,5]]},"289":{"position":[[1092,5]]},"320":{"position":[[1490,5]]},"324":{"position":[[2863,5]]},"362":{"position":[[417,5],[514,5]]},"364":{"position":[[997,5]]},"476":{"position":[[1727,5]]},"488":{"position":[[838,5]]},"502":{"position":[[519,5]]},"752":{"position":[[563,5],[703,5]]}},"keywords":{}}],["done",{"_index":856,"title":{},"content":{"38":{"position":[[49,4]]},"44":{"position":[[1587,4],[3524,4]]},"84":{"position":[[318,4]]},"227":{"position":[[2360,4],[3377,4]]},"499":{"position":[[104,5],[297,4]]},"514":{"position":[[491,4]]}},"keywords":{}}],["dont_connect",{"_index":1952,"title":{"128":{"position":[[0,13]]}},"content":{},"keywords":{}}],["dont_reconnect",{"_index":1954,"title":{"129":{"position":[[0,15]]}},"content":{"130":{"position":[[32,14]]}},"keywords":{}}],["dot",{"_index":3990,"title":{},"content":{"445":{"position":[[9,3],[89,3],[127,3],[155,3],[185,3]]},"585":{"position":[[818,4],[894,4]]},"623":{"position":[[613,4]]},"624":{"position":[[579,4]]}},"keywords":{}}],["dotfil",{"_index":2414,"title":{},"content":{"235":{"position":[[1581,8]]}},"keywords":{}}],["doubl",{"_index":308,"title":{},"content":{"9":{"position":[[808,6],[935,6]]},"227":{"position":[[2836,6],[3845,6]]},"232":{"position":[[392,6]]},"429":{"position":[[648,6]]},"585":{"position":[[887,6]]}},"keywords":{}}],["double_conversion.rb",{"_index":2376,"title":{},"content":{"232":{"position":[[548,20],[1124,20]]}},"keywords":{}}],["doubt",{"_index":1446,"title":{},"content":{"69":{"position":[[1205,6],[1479,6]]}},"keywords":{}}],["down",{"_index":1175,"title":{},"content":{"46":{"position":[[1156,4]]},"56":{"position":[[403,4]]},"69":{"position":[[525,4],[1970,4],[2563,4]]},"194":{"position":[[473,4]]},"240":{"position":[[493,4]]},"303":{"position":[[555,4]]},"304":{"position":[[995,4]]},"305":{"position":[[357,4]]},"315":{"position":[[485,4]]},"343":{"position":[[122,4]]},"431":{"position":[[17,4],[219,4],[281,4]]},"449":{"position":[[94,4]]},"478":{"position":[[35,4]]},"482":{"position":[[682,4]]},"490":{"position":[[1155,4]]},"530":{"position":[[131,4]]},"533":{"position":[[76,5],[358,4]]},"556":{"position":[[51,5],[138,4],[397,4]]},"572":{"position":[[100,4]]},"590":{"position":[[48,4],[139,5]]},"593":{"position":[[399,4]]},"600":{"position":[[48,4],[123,4],[186,5]]},"609":{"position":[[140,4]]},"610":{"position":[[306,4],[911,4]]},"611":{"position":[[651,4],[763,4]]}},"keywords":{}}],["download",{"_index":1166,"title":{"519":{"position":[[0,9]]},"583":{"position":[[5,9]]},"584":{"position":[[9,9]]}},"content":{"46":{"position":[[813,11]]},"256":{"position":[[147,8]]},"290":{"position":[[433,8]]},"311":{"position":[[646,8]]},"324":{"position":[[1413,9]]},"345":{"position":[[599,8],[627,8]]},"466":{"position":[[119,8]]},"516":{"position":[[151,8]]},"519":{"position":[[11,8],[28,8]]},"559":{"position":[[260,8]]},"583":{"position":[[32,8],[41,8]]},"584":{"position":[[103,8],[335,8],[420,8]]},"586":{"position":[[233,8],[464,8],[521,8]]},"592":{"position":[[185,8],[222,8]]},"603":{"position":[[181,8]]},"606":{"position":[[537,8]]}},"keywords":{}}],["download.rb",{"_index":4523,"title":{"586":{"position":[[0,12]]}},"content":{"584":{"position":[[268,11]]},"586":{"position":[[39,11]]}},"keywords":{}}],["downsid",{"_index":4386,"title":{},"content":{"500":{"position":[[777,9]]}},"keywords":{}}],["dramat",{"_index":3537,"title":{},"content":{"357":{"position":[[2402,12]]}},"keywords":{}}],["drastic",{"_index":1821,"title":{},"content":{"99":{"position":[[4518,11]]}},"keywords":{}}],["draw",{"_index":3717,"title":{},"content":{"366":{"position":[[410,4]]},"437":{"position":[[30,4]]},"439":{"position":[[1,5],[228,4]]},"440":{"position":[[1,5]]},"443":{"position":[[1,5]]},"444":{"position":[[1,5]]},"445":{"position":[[1,5]]}},"keywords":{}}],["dri",{"_index":4220,"title":{"480":{"position":[[12,3]]}},"content":{"483":{"position":[[155,3]]},"758":{"position":[[228,3]]}},"keywords":{}}],["drive",{"_index":2586,"title":{},"content":{"254":{"position":[[2801,5]]}},"keywords":{}}],["driver",{"_index":1243,"title":{},"content":{"52":{"position":[[79,7],[114,7]]},"322":{"position":[[439,6]]}},"keywords":{}}],["drlive",{"_index":589,"title":{},"content":{"27":{"position":[[855,7]]}},"keywords":{}}],["drlive.crt",{"_index":587,"title":{},"content":{"27":{"position":[[751,12]]}},"keywords":{}}],["drlive.key",{"_index":579,"title":{},"content":{"27":{"position":[[314,12],[837,12]]}},"keywords":{}}],["drop",{"_index":1237,"title":{},"content":{"51":{"position":[[665,8]]},"54":{"position":[[2427,8]]},"63":{"position":[[1613,5],[1742,8]]},"68":{"position":[[28,5],[78,5]]},"76":{"position":[[482,8]]},"77":{"position":[[498,8]]},"78":{"position":[[495,8]]},"134":{"position":[[1158,4]]},"194":{"position":[[468,4]]},"289":{"position":[[1164,8],[1535,8]]},"303":{"position":[[550,4]]},"305":{"position":[[352,4]]},"431":{"position":[[12,4],[214,4],[276,4]]},"530":{"position":[[126,4]]},"533":{"position":[[71,4],[353,4]]},"556":{"position":[[46,4],[133,4],[392,4]]},"572":{"position":[[95,4]]},"590":{"position":[[43,4],[134,4]]},"600":{"position":[[43,4],[118,4],[181,4]]},"609":{"position":[[135,4]]},"610":{"position":[[301,4],[906,4]]},"611":{"position":[[646,4],[758,4]]}},"keywords":{}}],["dropdown",{"_index":2867,"title":{},"content":{"303":{"position":[[121,9]]}},"keywords":{}}],["dual",{"_index":3278,"title":{},"content":{"340":{"position":[[111,4]]},"359":{"position":[[1530,4]]}},"keywords":{}}],["dualsens",{"_index":3279,"title":{},"content":{"340":{"position":[[155,9]]}},"keywords":{}}],["due",{"_index":2121,"title":{},"content":{"198":{"position":[[665,3]]},"235":{"position":[[1090,3]]},"259":{"position":[[692,3]]},"324":{"position":[[759,3]]},"357":{"position":[[870,3]]},"371":{"position":[[315,3]]},"505":{"position":[[377,3]]}},"keywords":{}}],["dummi",{"_index":2241,"title":{},"content":{"226":{"position":[[1621,5]]}},"keywords":{}}],["dump",{"_index":876,"title":{},"content":{"40":{"position":[[740,7]]},"261":{"position":[[239,5],[297,7]]},"309":{"position":[[146,5]]},"586":{"position":[[787,4]]}},"keywords":{}}],["dump_pkt",{"_index":4547,"title":{},"content":{"586":{"position":[[865,8]]}},"keywords":{}}],["duplic",{"_index":2348,"title":{},"content":{"230":{"position":[[1646,11]]}},"keywords":{}}],["dur",{"_index":3954,"title":{},"content":{"435":{"position":[[324,3]]}},"keywords":{}}],["dur))"",{"_index":3912,"title":{},"content":{"429":{"position":[[1095,13]]}},"keywords":{}}],["durat",{"_index":1740,"title":{},"content":{"93":{"position":[[1797,8]]},"208":{"position":[[438,8]]},"209":{"position":[[522,8]]},"225":{"position":[[489,8]]},"307":{"position":[[848,8]]},"384":{"position":[[665,8]]},"429":{"position":[[1086,8],[1811,8]]},"431":{"position":[[461,8]]},"435":{"position":[[257,8],[431,8]]},"446":{"position":[[241,8],[410,9],[440,8],[594,8]]},"534":{"position":[[339,9]]},"636":{"position":[[1322,8],[1754,8]]},"637":{"position":[[1559,8],[1785,8]]},"639":{"position":[[1608,8],[1826,8]]},"640":{"position":[[1402,8],[1584,8]]},"641":{"position":[[1634,8],[1846,8]]},"643":{"position":[[1683,8],[1885,8]]},"644":{"position":[[455,8],[1014,8]]}},"keywords":{}}],["dure",{"_index":1072,"title":{},"content":{"44":{"position":[[1656,6]]},"80":{"position":[[117,6]]},"121":{"position":[[133,6]]},"267":{"position":[[8398,6]]},"304":{"position":[[192,6]]},"322":{"position":[[1064,6]]},"429":{"position":[[537,6]]}},"keywords":{}}],["dv",{"_index":2967,"title":{},"content":{"309":{"position":[[344,2],[446,2],[541,2],[641,2]]}},"keywords":{}}],["dxcore",{"_index":3595,"title":{},"content":{"357":{"position":[[4427,6]]}},"keywords":{}}],["dynam",{"_index":1223,"title":{},"content":{"50":{"position":[[94,11]]},"84":{"position":[[1169,11]]},"99":{"position":[[1790,11],[2423,11],[4951,11]]},"108":{"position":[[685,8]]},"184":{"position":[[181,11]]},"297":{"position":[[711,7]]},"476":{"position":[[637,11]]}},"keywords":{}}],["e",{"_index":1081,"title":{},"content":{"44":{"position":[[2078,1]]},"459":{"position":[[1209,2]]},"464":{"position":[[380,1]]}},"keywords":{}}],["e.g",{"_index":333,"title":{},"content":{"12":{"position":[[250,4],[447,4]]},"15":{"position":[[472,4]]},"16":{"position":[[474,4]]},"33":{"position":[[322,5]]},"36":{"position":[[382,4],[440,4],[9791,4],[10172,4]]},"52":{"position":[[282,4],[394,4],[601,4]]},"61":{"position":[[1550,4]]},"83":{"position":[[1717,5]]},"123":{"position":[[621,4]]},"198":{"position":[[371,4]]},"202":{"position":[[382,4],[440,4],[9791,4],[10172,4]]},"227":{"position":[[2856,4],[3865,4],[4193,5]]},"229":{"position":[[896,4]]},"247":{"position":[[285,4]]},"250":{"position":[[273,4]]},"253":{"position":[[4091,3],[4154,4]]},"257":{"position":[[513,5]]},"259":{"position":[[401,4]]},"262":{"position":[[736,4]]},"267":{"position":[[377,4],[435,4]]},"292":{"position":[[482,5]]},"373":{"position":[[354,4]]},"379":{"position":[[144,4]]},"380":{"position":[[138,4]]},"381":{"position":[[149,4]]},"383":{"position":[[354,4]]},"421":{"position":[[329,5]]},"425":{"position":[[505,5]]},"480":{"position":[[1086,6]]},"517":{"position":[[650,4]]},"628":{"position":[[333,4]]},"629":{"position":[[254,4]]},"630":{"position":[[230,4]]},"632":{"position":[[1172,4]]},"659":{"position":[[319,4]]}},"keywords":{}}],["each",{"_index":78,"title":{},"content":{"2":{"position":[[763,4]]},"5":{"position":[[1,4]]},"17":{"position":[[203,4]]},"18":{"position":[[207,4]]},"20":{"position":[[841,4]]},"33":{"position":[[328,4]]},"36":{"position":[[4532,4],[8524,4]]},"39":{"position":[[120,4]]},"44":{"position":[[1442,4]]},"46":{"position":[[1218,4]]},"49":{"position":[[790,4]]},"50":{"position":[[677,4]]},"52":{"position":[[869,4]]},"54":{"position":[[519,4]]},"56":{"position":[[148,4]]},"57":{"position":[[419,4]]},"59":{"position":[[145,4]]},"61":{"position":[[1446,4]]},"62":{"position":[[327,4]]},"63":{"position":[[471,4],[517,4]]},"67":{"position":[[1143,4]]},"69":{"position":[[861,4],[1978,4],[2471,4],[2843,4],[3199,4],[3890,4],[4492,4],[4813,4]]},"73":{"position":[[67,4]]},"74":{"position":[[70,4]]},"99":{"position":[[4458,4]]},"112":{"position":[[492,4]]},"168":{"position":[[223,4]]},"202":{"position":[[4532,4],[8524,4]]},"206":{"position":[[418,4],[467,4]]},"207":{"position":[[201,4],[250,4]]},"227":{"position":[[4988,4],[5095,4],[5430,4],[5558,4],[5910,4]]},"253":{"position":[[1280,4],[6339,4]]},"257":{"position":[[204,4]]},"271":{"position":[[411,4],[460,4]]},"272":{"position":[[203,4],[252,4]]},"280":{"position":[[120,4]]},"297":{"position":[[968,4]]},"303":{"position":[[2126,4]]},"304":{"position":[[4756,4]]},"305":{"position":[[1448,4],[1563,4]]},"308":{"position":[[515,4]]},"355":{"position":[[1127,4]]},"356":{"position":[[273,4]]},"357":{"position":[[2141,4]]},"400":{"position":[[83,4]]},"401":{"position":[[324,4]]},"402":{"position":[[324,4],[545,4]]},"403":{"position":[[257,4]]},"427":{"position":[[148,4]]},"462":{"position":[[478,4]]},"476":{"position":[[4319,4],[4935,4]]},"478":{"position":[[978,4]]},"483":{"position":[[549,4]]},"486":{"position":[[5,4]]},"488":{"position":[[61,4],[631,4]]},"497":{"position":[[128,4]]},"499":{"position":[[521,4]]},"501":{"position":[[225,4]]},"502":{"position":[[69,4]]},"512":{"position":[[252,4]]},"517":{"position":[[76,4]]},"523":{"position":[[247,4]]},"540":{"position":[[689,4]]},"577":{"position":[[675,4]]},"601":{"position":[[237,4],[656,4]]},"611":{"position":[[852,4]]},"662":{"position":[[141,4]]},"663":{"position":[[235,4]]},"670":{"position":[[308,4]]},"674":{"position":[[96,4]]},"676":{"position":[[393,4]]},"707":{"position":[[86,4]]},"715":{"position":[[88,4]]},"724":{"position":[[85,4]]}},"keywords":{}}],["ear",{"_index":3686,"title":{},"content":{"363":{"position":[[1131,4],[1256,3]]}},"keywords":{}}],["earlier",{"_index":4414,"title":{},"content":{"505":{"position":[[1228,7]]},"608":{"position":[[580,7]]}},"keywords":{}}],["eas",{"_index":2349,"title":{},"content":{"230":{"position":[[1662,4]]},"257":{"position":[[574,4]]}},"keywords":{}}],["easi",{"_index":125,"title":{},"content":{"3":{"position":[[622,5]]},"57":{"position":[[204,4]]},"69":{"position":[[31,4]]},"227":{"position":[[649,4]]},"240":{"position":[[623,4]]},"243":{"position":[[236,4],[316,4]]},"297":{"position":[[666,4]]},"303":{"position":[[28,4]]},"351":{"position":[[52,4],[254,4]]},"357":{"position":[[3629,4]]},"364":{"position":[[1669,4]]},"474":{"position":[[259,4]]},"486":{"position":[[96,4]]},"522":{"position":[[70,4]]}},"keywords":{}}],["easier",{"_index":90,"title":{},"content":{"3":{"position":[[110,7]]},"36":{"position":[[9141,6]]},"202":{"position":[[9141,6]]},"253":{"position":[[2575,6]]},"267":{"position":[[7262,6]]},"321":{"position":[[3848,6]]},"324":{"position":[[1556,6]]}},"keywords":{}}],["easiest",{"_index":2118,"title":{},"content":{"198":{"position":[[448,7]]},"259":{"position":[[479,7]]},"479":{"position":[[135,7]]}},"keywords":{}}],["easili",{"_index":2330,"title":{},"content":{"229":{"position":[[1008,6]]},"257":{"position":[[426,6]]},"297":{"position":[[1009,6]]},"324":{"position":[[1176,6]]},"482":{"position":[[1303,7]]},"496":{"position":[[161,6]]},"507":{"position":[[270,6]]}},"keywords":{}}],["ec13a8d16a2f",{"_index":1597,"title":{},"content":{"83":{"position":[[1393,12]]}},"keywords":{}}],["eccn",{"_index":3688,"title":{},"content":{"363":{"position":[[1264,4]]}},"keywords":{}}],["echo",{"_index":1110,"title":{},"content":{"44":{"position":[[3047,4],[3151,4]]},"324":{"position":[[2013,4],[2073,4]]}},"keywords":{}}],["econom",{"_index":4124,"title":{},"content":{"466":{"position":[[65,8]]}},"keywords":{}}],["edg",{"_index":4439,"title":{},"content":{"514":{"position":[[251,4]]}},"keywords":{}}],["edg/124.0.0.0",{"_index":1064,"title":{},"content":{"44":{"position":[[1227,14]]}},"keywords":{}}],["edict",{"_index":4140,"title":{},"content":{"467":{"position":[[1212,6]]}},"keywords":{}}],["edit",{"_index":852,"title":{"332":{"position":[[0,7]]},"558":{"position":[[0,7]]},"592":{"position":[[0,4]]}},"content":{"36":{"position":[[10694,8],[10790,9],[10915,5]]},"38":{"position":[[30,8]]},"44":{"position":[[1648,4]]},"122":{"position":[[259,8]]},"141":{"position":[[116,8]]},"180":{"position":[[100,8]]},"208":{"position":[[43,7]]},"225":{"position":[[40,7]]},"229":{"position":[[640,8],[704,6]]},"230":{"position":[[1176,6],[1294,6]]},"231":{"position":[[886,4]]},"253":{"position":[[873,4]]},"273":{"position":[[40,7]]},"282":{"position":[[42,7]]},"292":{"position":[[205,4],[419,4]]},"304":{"position":[[47,7],[1575,7]]},"307":{"position":[[772,4],[866,4],[968,4]]},"311":{"position":[[519,7],[541,4]]},"324":{"position":[[2321,4],[3243,4],[3351,4],[3402,4]]},"325":{"position":[[408,4],[433,4]]},"331":{"position":[[565,5]]},"332":{"position":[[604,4],[632,4]]},"333":{"position":[[43,4]]},"347":{"position":[[929,4],[2458,4]]},"356":{"position":[[66,8],[250,7]]},"357":{"position":[[166,7],[245,7],[3959,7]]},"362":{"position":[[166,7]]},"363":{"position":[[436,8],[531,7],[612,7],[660,7],[797,7],[866,7]]},"364":{"position":[[781,8],[797,9]]},"482":{"position":[[483,4]]},"517":{"position":[[157,7]]},"530":{"position":[[232,9]]},"533":{"position":[[525,4]]},"558":{"position":[[14,6],[84,6],[150,4],[173,4],[342,4]]},"581":{"position":[[142,4]]},"592":{"position":[[71,4],[348,5]]},"599":{"position":[[85,7],[567,7],[663,4],[685,7]]},"617":{"position":[[867,4]]}},"keywords":{}}],["editor",{"_index":1556,"title":{},"content":{"83":{"position":[[59,6]]},"133":{"position":[[296,6]]},"304":{"position":[[110,6],[1374,6]]},"321":{"position":[[223,6]]},"332":{"position":[[64,6]]},"482":{"position":[[148,7],[167,6]]},"581":{"position":[[32,7]]},"592":{"position":[[124,6]]},"603":{"position":[[26,6]]},"605":{"position":[[14,6]]},"607":{"position":[[156,6]]},"608":{"position":[[820,6]]}},"keywords":{}}],["educ",{"_index":3633,"title":{"360":{"position":[[15,9]]}},"content":{"360":{"position":[[89,9],[249,11],[346,11]]}},"keywords":{}}],["eea",{"_index":4120,"title":{"466":{"position":[[10,3]]}},"content":{},"keywords":{}}],["effect",{"_index":1693,"title":{},"content":{"85":{"position":[[1599,7]]},"122":{"position":[[210,11]]},"253":{"position":[[1895,12]]},"289":{"position":[[691,6]]},"360":{"position":[[20,6]]},"593":{"position":[[585,11]]},"601":{"position":[[886,11]]},"717":{"position":[[54,6]]},"718":{"position":[[63,6]]},"727":{"position":[[50,6]]},"728":{"position":[[60,6]]},"752":{"position":[[298,6]]}},"keywords":{}}],["effici",{"_index":1307,"title":{},"content":{"57":{"position":[[111,10]]},"245":{"position":[[302,11]]},"619":{"position":[[193,9]]}},"keywords":{}}],["effort",{"_index":2596,"title":{},"content":{"257":{"position":[[92,6]]}},"keywords":{}}],["eg",{"_index":426,"title":{},"content":{"20":{"position":[[543,4],[589,4],[652,4],[683,4]]}},"keywords":{}}],["ek",{"_index":3581,"title":{},"content":{"357":{"position":[[4206,4]]}},"keywords":{}}],["elaps",{"_index":5117,"title":{},"content":{"681":{"position":[[374,7],[429,7],[1496,7],[1511,7],[1703,7],[1720,7]]},"685":{"position":[[236,7],[271,7],[1030,7],[1103,7],[1207,7],[1280,7]]},"686":{"position":[[218,7],[253,7],[1081,7],[1168,7],[1286,7],[1373,7]]},"687":{"position":[[332,7],[367,7],[785,7]]},"688":{"position":[[168,7],[200,7],[791,7]]}},"keywords":{}}],["elasticsearch",{"_index":3372,"title":{},"content":{"350":{"position":[[292,13],[318,13],[622,13],[648,13],[943,13],[969,13],[1348,13]]},"351":{"position":[[17,13]]}},"keywords":{}}],["elasticsearch:1.12.0",{"_index":3402,"title":{},"content":{"351":{"position":[[508,20]]}},"keywords":{}}],["electron",{"_index":4144,"title":{},"content":{"468":{"position":[[192,10]]}},"keywords":{}}],["elegantli",{"_index":1346,"title":{},"content":{"60":{"position":[[534,9]]}},"keywords":{}}],["element",{"_index":3713,"title":{"455":{"position":[[10,8]]},"456":{"position":[[8,9]]},"457":{"position":[[12,9]]}},"content":{"366":{"position":[[47,7]]},"455":{"position":[[15,8]]},"456":{"position":[[15,8]]},"457":{"position":[[5,8],[94,8],[345,7]]}},"keywords":{}}],["elif",{"_index":1522,"title":{},"content":{"75":{"position":[[1220,4]]}},"keywords":{}}],["elimin",{"_index":839,"title":{},"content":{"36":{"position":[[9913,11]]},"202":{"position":[[9913,11]]},"357":{"position":[[3990,9]]}},"keywords":{}}],["ellips",{"_index":3851,"title":{},"content":{"411":{"position":[[751,7]]}},"keywords":{}}],["elsif",{"_index":1517,"title":{},"content":{"75":{"position":[[835,5]]}},"keywords":{}}],["email",{"_index":438,"title":{},"content":{"20":{"position":[[773,5]]},"229":{"position":[[771,7]]},"461":{"position":[[306,5],[522,5],[780,5],[892,6],[937,5],[996,5],[1203,5]]},"466":{"position":[[745,5],[861,7]]},"467":{"position":[[291,5]]},"470":{"position":[[345,6]]},"472":{"position":[[69,5]]}},"keywords":{}}],["email"",{"_index":1010,"title":{},"content":{"43":{"position":[[4636,12]]}},"keywords":{}}],["embed",{"_index":8,"title":{},"content":{"1":{"position":[[72,8]]},"2":{"position":[[260,8]]},"6":{"position":[[16,8]]},"253":{"position":[[7407,9]]},"297":{"position":[[158,8]]},"298":{"position":[[351,8],[1017,8]]}},"keywords":{}}],["emi",{"_index":2896,"title":{},"content":{"304":{"position":[[1274,4]]}},"keywords":{}}],["employ",{"_index":1313,"title":{},"content":{"57":{"position":[[274,7]]},"464":{"position":[[522,8]]}},"keywords":{}}],["employe",{"_index":4107,"title":{},"content":{"464":{"position":[[340,8]]}},"keywords":{}}],["empow",{"_index":3709,"title":{},"content":{"364":{"position":[[1628,7]]}},"keywords":{}}],["empti",{"_index":1295,"title":{},"content":{"56":{"position":[[309,5],[377,5]]},"63":{"position":[[1727,5]]},"69":{"position":[[1928,5],[2397,5]]},"71":{"position":[[244,5]]},"75":{"position":[[1472,5]]},"227":{"position":[[5281,5]]},"553":{"position":[[8,5]]},"623":{"position":[[427,5]]},"624":{"position":[[393,5]]}},"keywords":{}}],["en",{"_index":1047,"title":{},"content":{"44":{"position":[[861,2],[2391,2]]}},"keywords":{}}],["enabl",{"_index":724,"title":{},"content":{"36":{"position":[[3520,6]]},"40":{"position":[[849,6],[1178,6]]},"58":{"position":[[809,6],[836,6],[885,6],[912,6]]},"83":{"position":[[2053,7]]},"85":{"position":[[116,6]]},"95":{"position":[[183,8]]},"109":{"position":[[44,6]]},"202":{"position":[[3520,6]]},"223":{"position":[[101,7]]},"233":{"position":[[1342,7]]},"247":{"position":[[55,7]]},"254":{"position":[[2769,6]]},"267":{"position":[[2586,6],[8770,7],[8889,8],[10272,7],[10327,7]]},"273":{"position":[[520,7]]},"282":{"position":[[594,7]]},"283":{"position":[[92,7],[189,7],[267,6],[488,7],[599,6],[676,6],[707,8]]},"321":{"position":[[979,8],[1030,6]]},"322":{"position":[[1838,6]]},"324":{"position":[[2452,6]]},"347":{"position":[[1290,6]]},"351":{"position":[[102,8]]},"433":{"position":[[74,6]]},"434":{"position":[[169,6]]},"480":{"position":[[1449,6],[1729,6]]},"513":{"position":[[671,7]]},"540":{"position":[[153,7],[189,7],[235,8],[303,7],[720,7]]},"610":{"position":[[850,6]]},"611":{"position":[[590,6]]},"613":{"position":[[10,6]]},"690":{"position":[[79,7],[510,7],[614,7]]},"691":{"position":[[1,7]]},"693":{"position":[[1,7]]},"700":{"position":[[1811,7],[1855,7]]}},"keywords":{}}],["enable_cmd_nam",{"_index":4235,"title":{},"content":{"480":{"position":[[1425,18],[1706,17]]}},"keywords":{}}],["enable_limit",{"_index":5154,"title":{"691":{"position":[[0,14]]}},"content":{},"keywords":{}}],["enable_limits("<target",{"_index":5155,"title":{},"content":{"691":{"position":[[85,30]]}},"keywords":{}}],["enable_limits("inst",{"_index":5156,"title":{},"content":{"691":{"position":[[374,24]]}},"keywords":{}}],["enable_limits_group",{"_index":5160,"title":{"693":{"position":[[0,20]]}},"content":{},"keywords":{}}],["enable_limits_group("<limit",{"_index":5161,"title":{},"content":{"693":{"position":[[108,36]]}},"keywords":{}}],["enable_limits_group("name"",{"_index":2703,"title":{},"content":{"283":{"position":[[291,37]]}},"keywords":{}}],["enable_limits_group("safe_mode"",{"_index":5163,"title":{},"content":{"693":{"position":[[259,42]]}},"keywords":{}}],["enable_tlm",{"_index":4231,"title":{},"content":{"480":{"position":[[1371,11],[1492,13],[1650,11],[1773,12]]}},"keywords":{}}],["encapsul",{"_index":3771,"title":{},"content":{"385":{"position":[[132,12]]},"386":{"position":[[23,12]]},"387":{"position":[[23,12]]},"388":{"position":[[23,12]]},"389":{"position":[[23,12]]}},"keywords":{}}],["enclos",{"_index":178,"title":{},"content":{"5":{"position":[[1014,8],[1270,8]]},"35":{"position":[[1198,8],[1729,8]]},"37":{"position":[[991,8],[1522,8]]},"199":{"position":[[484,8]]},"201":{"position":[[1227,8],[1758,8]]},"203":{"position":[[1010,8],[1541,8]]},"204":{"position":[[1371,8],[1902,8]]},"205":{"position":[[1207,8],[1738,8]]},"206":{"position":[[774,8]]},"207":{"position":[[557,8]]},"214":{"position":[[243,8]]},"216":{"position":[[325,8]]},"264":{"position":[[510,8]]},"266":{"position":[[842,8]]},"268":{"position":[[634,8]]},"269":{"position":[[936,8]]},"270":{"position":[[605,8]]},"271":{"position":[[767,8]]},"272":{"position":[[559,8]]},"438":{"position":[[72,8]]}},"keywords":{}}],["encod",{"_index":1022,"title":{},"content":{"43":{"position":[[6592,9]]},"57":{"position":[[75,8]]},"99":{"position":[[3722,7],[4637,8]]},"216":{"position":[[240,8]]},"227":{"position":[[6178,7]]},"421":{"position":[[230,9]]}},"keywords":{}}],["encount",{"_index":2124,"title":{},"content":{"198":{"position":[[1140,10]]},"259":{"position":[[1156,10]]},"299":{"position":[[1225,12]]},"368":{"position":[[63,11]]},"607":{"position":[[365,11]]},"612":{"position":[[145,12],[354,12],[436,12],[586,11],[728,12],[790,10]]},"617":{"position":[[635,11]]}},"keywords":{}}],["encourag",{"_index":4146,"title":{},"content":{"469":{"position":[[324,9]]}},"keywords":{}}],["encrypt",{"_index":524,"title":{"24":{"position":[[6,8]]}},"content":{"27":{"position":[[1005,9]]},"28":{"position":[[215,9]]}},"keywords":{}}],["encrypted.key",{"_index":597,"title":{},"content":{"28":{"position":[[173,14]]}},"keywords":{}}],["end",{"_index":217,"title":{"370":{"position":[[0,4]]}},"content":{"6":{"position":[[448,3]]},"35":{"position":[[270,3],[488,3]]},"36":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"37":{"position":[[281,3]]},"54":{"position":[[512,3]]},"56":{"position":[[573,3]]},"58":{"position":[[144,3],[157,3],[297,3],[519,3],[956,3],[991,3],[1054,3],[1083,3]]},"62":{"position":[[86,3],[659,3]]},"63":{"position":[[1484,3]]},"67":{"position":[[537,3]]},"69":{"position":[[402,3]]},"71":{"position":[[390,3]]},"72":{"position":[[286,3]]},"73":{"position":[[165,3]]},"74":{"position":[[174,3]]},"75":{"position":[[831,3],[910,3],[914,3],[923,3]]},"76":{"position":[[851,3]]},"77":{"position":[[713,3]]},"78":{"position":[[704,3]]},"79":{"position":[[1014,3]]},"80":{"position":[[316,3]]},"94":{"position":[[436,4]]},"114":{"position":[[120,3]]},"192":{"position":[[169,3]]},"201":{"position":[[298,3],[517,3]]},"202":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"203":{"position":[[300,3]]},"204":{"position":[[521,3],[687,3]]},"205":{"position":[[523,3]]},"206":{"position":[[315,3],[688,3]]},"207":{"position":[[471,3]]},"224":{"position":[[824,3],[901,3],[1018,3],[1022,3]]},"226":{"position":[[2502,3]]},"227":{"position":[[5383,3]]},"262":{"position":[[669,4]]},"266":{"position":[[297,3],[515,3]]},"267":{"position":[[4138,3],[4201,3],[4205,3],[4209,3]]},"268":{"position":[[307,3]]},"269":{"position":[[467,3],[638,3]]},"270":{"position":[[307,3]]},"271":{"position":[[314,3],[681,3]]},"272":{"position":[[473,3]]},"370":{"position":[[172,3],[218,5]]},"381":{"position":[[413,3],[476,3]]},"383":{"position":[[985,3]]},"386":{"position":[[418,3]]},"387":{"position":[[397,3]]},"388":{"position":[[268,3]]},"389":{"position":[[360,3]]},"390":{"position":[[410,3]]},"391":{"position":[[539,3],[543,3]]},"393":{"position":[[226,3],[300,3],[304,3]]},"399":{"position":[[265,3]]},"410":{"position":[[330,4],[470,4]]},"417":{"position":[[299,4],[439,4]]},"423":{"position":[[309,4],[449,4]]},"434":{"position":[[432,3]]},"439":{"position":[[456,3]]},"440":{"position":[[721,3]]},"441":{"position":[[600,3]]},"442":{"position":[[1156,3]]},"443":{"position":[[205,3],[238,3],[273,3],[306,3],[533,3]]},"444":{"position":[[413,3],[446,3],[481,3],[514,3],[1064,3]]},"445":{"position":[[257,3]]},"446":{"position":[[382,3],[479,3],[653,3],[850,3],[1157,3],[1191,3]]},"476":{"position":[[359,3],[2229,3],[2619,3]]},"480":{"position":[[717,3],[1596,3]]},"483":{"position":[[683,3]]},"486":{"position":[[418,3],[529,3]]},"487":{"position":[[837,3],[914,3],[970,3],[974,3],[1014,3]]},"488":{"position":[[2363,3],[2367,3]]},"493":{"position":[[469,5]]},"495":{"position":[[583,3],[713,3]]},"496":{"position":[[677,3],[756,3]]},"497":{"position":[[568,3],[572,3]]},"499":{"position":[[776,3]]},"500":{"position":[[491,3]]},"502":{"position":[[867,3]]},"508":{"position":[[564,3],[568,3],[648,3],[652,3]]},"525":{"position":[[568,3]]},"526":{"position":[[32,3]]},"527":{"position":[[59,3]]},"547":{"position":[[190,3]]},"555":{"position":[[116,3],[239,3]]},"585":{"position":[[867,3],[939,3],[1061,3]]},"586":{"position":[[897,3]]},"599":{"position":[[889,3],[902,3],[974,3],[985,3]]},"607":{"position":[[668,3]]},"610":{"position":[[458,3],[501,3],[544,3],[548,3]]},"611":{"position":[[205,3],[248,3],[297,3],[301,3]]},"612":{"position":[[566,3]]},"618":{"position":[[1229,3]]},"627":{"position":[[891,3]]},"632":{"position":[[1702,3]]},"676":{"position":[[662,3],[908,3]]},"707":{"position":[[338,3]]},"715":{"position":[[828,3]]},"724":{"position":[[814,3]]},"745":{"position":[[597,3],[601,3],[869,3],[873,3]]},"746":{"position":[[1059,3],[1063,3],[1342,3],[1346,3]]},"752":{"position":[[611,3],[615,3]]},"754":{"position":[[1175,3],[1179,3],[1259,3],[1305,3],[1350,3],[1354,3],[1547,3],[1551,3]]}},"keywords":{}}],["end_char",{"_index":1329,"title":{},"content":{"58":{"position":[[776,8]]}},"keywords":{}}],["end_tim",{"_index":2275,"title":{},"content":{"227":{"position":[[2755,9],[3762,9],[4256,8],[4544,8],[4614,8],[4751,8]]}},"keywords":{}}],["endian",{"_index":172,"title":{"329":{"position":[[7,6]]}},"content":{"5":{"position":[[814,10],[884,6],[901,6],[1116,10]]},"33":{"position":[[137,10],[194,6],[211,6]]},"35":{"position":[[1225,10],[1295,6],[1312,6],[1347,6],[1756,10],[1826,6],[1843,6]]},"37":{"position":[[1018,10],[1088,6],[1105,6],[1140,6],[1549,10],[1619,6],[1636,6]]},"61":{"position":[[1611,10],[1626,10]]},"67":{"position":[[617,10],[628,10]]},"99":{"position":[[105,6]]},"199":{"position":[[284,10],[354,6],[371,6]]},"201":{"position":[[1254,10],[1324,6],[1341,6],[1376,6],[1785,10],[1855,6],[1872,6]]},"203":{"position":[[1037,10],[1107,6],[1124,6],[1159,6],[1568,10],[1638,6],[1655,6]]},"204":{"position":[[1398,10],[1468,6],[1485,6],[1520,6],[1929,10],[1999,6],[2016,6]]},"205":{"position":[[1234,10],[1304,6],[1321,6],[1356,6],[1765,10],[1835,6],[1852,6]]},"206":{"position":[[801,10],[855,6],[872,6]]},"207":{"position":[[584,10],[638,6],[655,6]]},"264":{"position":[[313,10],[371,6],[388,6]]},"266":{"position":[[869,10],[930,6],[947,6],[982,6]]},"268":{"position":[[661,10],[722,6],[739,6],[774,6]]},"269":{"position":[[963,10],[1024,6],[1041,6],[1076,6]]},"270":{"position":[[632,10],[693,6],[710,6],[745,6]]},"271":{"position":[[794,10],[848,6],[865,6]]},"272":{"position":[[586,10],[640,6],[657,6]]},"329":{"position":[[7,6],[40,6],[154,6]]},"646":{"position":[[879,13]]},"648":{"position":[[921,13]]},"649":{"position":[[1396,13]]}},"keywords":{}}],["endpoint",{"_index":1712,"title":{},"content":{"89":{"position":[[211,9]]},"240":{"position":[[1047,9],[1140,9],[1518,9]]}},"keywords":{}}],["enforc",{"_index":3680,"title":{"471":{"position":[[4,11]]}},"content":{"363":{"position":[[628,9],[679,8]]},"465":{"position":[[545,7]]}},"keywords":{}}],["engin",{"_index":2755,"title":{},"content":{"289":{"position":[[106,6]]},"364":{"position":[[1501,10]]}},"keywords":{}}],["enhanc",{"_index":1822,"title":{},"content":{"99":{"position":[[4590,8]]},"395":{"position":[[34,7]]}},"keywords":{}}],["enough",{"_index":1353,"title":{},"content":{"61":{"position":[[125,6]]},"364":{"position":[[1674,6]]},"504":{"position":[[255,6]]}},"keywords":{}}],["enquir",{"_index":2588,"title":{},"content":{"254":{"position":[[2911,7]]}},"keywords":{}}],["ensur",{"_index":570,"title":{},"content":{"27":{"position":[[15,6]]},"73":{"position":[[321,6]]},"74":{"position":[[336,6]]},"146":{"position":[[48,6]]},"153":{"position":[[57,6]]},"257":{"position":[[1652,6]]},"292":{"position":[[578,6]]},"298":{"position":[[1361,7]]},"305":{"position":[[449,6]]},"331":{"position":[[539,7]]},"459":{"position":[[1062,6],[1781,7]]},"463":{"position":[[78,6]]},"464":{"position":[[71,8]]},"474":{"position":[[215,6]]},"480":{"position":[[606,7]]},"495":{"position":[[356,6]]},"504":{"position":[[736,6]]},"512":{"position":[[83,6]]},"528":{"position":[[911,6]]},"674":{"position":[[84,6]]}},"keywords":{}}],["enter",{"_index":749,"title":{},"content":{"36":{"position":[[4375,7],[6218,7],[6849,7],[7913,7]]},"121":{"position":[[127,5]]},"202":{"position":[[4375,7],[6218,7],[6849,7],[7913,7]]},"303":{"position":[[1065,7],[1125,5],[1418,5],[1574,5],[1745,5]]},"347":{"position":[[2102,5]]},"435":{"position":[[47,5]]},"490":{"position":[[375,7],[420,5]]},"495":{"position":[[558,8],[859,8],[1406,5]]},"496":{"position":[[631,5],[828,5]]},"530":{"position":[[305,6]]},"533":{"position":[[588,5],[683,7],[724,5]]},"544":{"position":[[297,8]]},"552":{"position":[[562,5]]},"563":{"position":[[500,5]]},"577":{"position":[[1331,5]]},"589":{"position":[[499,5]]},"598":{"position":[[518,5]]},"622":{"position":[[33,5]]},"623":{"position":[[151,6]]},"624":{"position":[[112,6]]}},"keywords":{}}],["enterpris",{"_index":946,"title":{"43":{"position":[[32,11]]},"509":{"position":[[10,12]]},"521":{"position":[[9,12]]},"545":{"position":[[16,12]]}},"content":{"43":{"position":[[15,10]]},"107":{"position":[[141,12],[193,11]]},"108":{"position":[[186,12],[228,12]]},"122":{"position":[[248,10]]},"141":{"position":[[105,10]]},"180":{"position":[[89,10]]},"229":{"position":[[629,10]]},"240":{"position":[[1552,10],[1621,10],[1713,10],[1791,10]]},"243":{"position":[[280,10],[385,10]]},"249":{"position":[[479,10]]},"250":{"position":[[171,10]]},"290":{"position":[[163,10]]},"356":{"position":[[239,10]]},"357":{"position":[[155,10],[234,10],[1135,10],[1208,10],[1291,10],[1365,10],[1441,10],[1531,10],[1604,10],[1685,10],[1756,10],[1827,10],[2626,10],[2697,10],[2782,10],[2856,10],[2931,10],[3021,10],[3094,10],[3176,10],[3247,10],[3318,10],[3948,10]]},"361":{"position":[[665,10]]},"362":{"position":[[120,10],[155,10],[305,10],[397,10]]},"363":{"position":[[425,10],[520,10],[601,10],[649,10],[786,10],[855,10]]},"364":{"position":[[770,10]]},"518":{"position":[[131,10]]},"520":{"position":[[72,10]]},"540":{"position":[[110,11]]}},"keywords":{}}],["entir",{"_index":39,"title":{},"content":{"2":{"position":[[191,6]]},"64":{"position":[[144,6]]},"170":{"position":[[73,6]]},"183":{"position":[[73,6]]},"193":{"position":[[73,6]]},"196":{"position":[[73,6]]},"227":{"position":[[2319,6]]},"280":{"position":[[199,6]]},"298":{"position":[[282,6]]},"308":{"position":[[296,6],[329,6],[385,6]]},"334":{"position":[[47,6],[397,6]]},"482":{"position":[[1246,6]]},"488":{"position":[[2712,6]]},"502":{"position":[[317,6]]},"517":{"position":[[678,6]]},"550":{"position":[[108,6]]},"575":{"position":[[242,6]]},"577":{"position":[[341,6]]},"578":{"position":[[747,6]]},"600":{"position":[[385,6]]},"603":{"position":[[340,6]]},"612":{"position":[[706,6],[814,6],[1340,6]]},"745":{"position":[[416,6]]},"746":{"position":[[472,6]]}},"keywords":{}}],["entitl",{"_index":4099,"title":{},"content":{"463":{"position":[[9,8]]}},"keywords":{}}],["entri",{"_index":1781,"title":{"99":{"position":[[0,5]]}},"content":{"99":{"position":[[35,5],[83,5],[133,5],[194,8],[282,5],[333,5],[363,5],[397,5],[1122,5],[1163,5],[1179,5],[1381,6],[1573,6],[2069,8],[2914,7],[2983,8],[3340,7],[3409,8],[3833,8],[3900,8],[3925,5],[3991,6],[4013,6],[4109,5],[4329,6],[4349,5]]},"227":{"position":[[5131,9]]},"235":{"position":[[841,5]]},"253":{"position":[[7725,5]]},"525":{"position":[[516,7]]},"623":{"position":[[569,5]]},"624":{"position":[[535,5]]},"662":{"position":[[146,5]]}},"keywords":{}}],["entrypoint",{"_index":496,"title":{},"content":{"22":{"position":[[331,12],[402,11]]},"318":{"position":[[680,10]]}},"keywords":{}}],["entrypoint.s…"",{"_index":1647,"title":{},"content":{"83":{"position":[[2985,19]]}},"keywords":{}}],["ent…"",{"_index":1642,"title":{},"content":{"83":{"position":[[2884,10]]}},"keywords":{}}],["enumer",{"_index":4026,"title":{},"content":{"454":{"position":[[17,11]]}},"keywords":{}}],["env",{"_index":1614,"title":{"137":{"position":[[0,4]]},"173":{"position":[[0,4]]}},"content":{"83":{"position":[[1831,4]]},"85":{"position":[[1005,4],[1090,8]]},"136":{"position":[[177,3],[190,3],[597,3]]},"137":{"position":[[188,3]]},"173":{"position":[[208,3]]},"181":{"position":[[137,3],[150,3],[497,3]]},"237":{"position":[[328,4]]},"242":{"position":[[119,4]]},"256":{"position":[[353,4]]},"292":{"position":[[428,4]]},"318":{"position":[[87,3],[136,3],[188,3]]},"333":{"position":[[52,4]]},"429":{"position":[[1953,3],[2226,3]]}},"keywords":{}}],["env)"",{"_index":3932,"title":{},"content":{"429":{"position":[[2349,10]]}},"keywords":{}}],["env['tbl_filenam",{"_index":4525,"title":{},"content":{"585":{"position":[[71,19]]},"586":{"position":[[73,19]]}},"keywords":{}}],["env['typ",{"_index":3928,"title":{},"content":{"429":{"position":[[2204,11],[2236,11]]}},"keywords":{}}],["env_usernam",{"_index":1992,"title":{},"content":{"136":{"position":[[610,12]]},"181":{"position":[[510,12]]}},"keywords":{}}],["environ",{"_index":1606,"title":{"242":{"position":[[0,11]]}},"content":{"83":{"position":[[1652,11],[1760,11]]},"85":{"position":[[976,11]]},"118":{"position":[[79,12]]},"122":{"position":[[78,11]]},"131":{"position":[[185,11]]},"136":{"position":[[224,11],[339,11],[373,11]]},"137":{"position":[[24,11],[102,11],[139,11]]},"173":{"position":[[9,11],[86,11],[123,11]]},"181":{"position":[[184,11],[299,11],[333,11]]},"240":{"position":[[173,11],[253,11],[381,11],[591,12],[670,13]]},"241":{"position":[[377,11]]},"242":{"position":[[16,11],[67,11]]},"243":{"position":[[363,13],[477,13]]},"250":{"position":[[202,11]]},"253":{"position":[[1370,11]]},"267":{"position":[[8282,13],[8370,11]]},"290":{"position":[[246,11],[676,12]]},"291":{"position":[[309,11],[1185,11],[1321,11],[1363,11]]},"337":{"position":[[140,11],[199,11]]},"429":{"position":[[1477,11],[2155,11]]},"448":{"position":[[256,11]]},"482":{"position":[[123,11],[276,11],[622,11],[1407,11]]},"492":{"position":[[81,11],[497,13]]},"606":{"position":[[44,11]]},"617":{"position":[[66,11]]}},"keywords":{}}],["environment",{"_index":4450,"title":{},"content":{"525":{"position":[[188,13]]}},"keywords":{}}],["environment'",{"_index":2793,"title":{},"content":{"290":{"position":[[728,13]]}},"keywords":{}}],["ephemer",{"_index":2440,"title":{},"content":{"240":{"position":[[1231,9]]},"249":{"position":[[294,9],[311,9]]},"357":{"position":[[1636,9],[1956,9],[3126,9],[3446,9]]}},"keywords":{}}],["epoch",{"_index":1814,"title":{},"content":{"99":{"position":[[2814,5],[3248,5]]},"227":{"position":[[4341,5]]},"263":{"position":[[1195,6]]},"285":{"position":[[756,5],[1185,5],[1450,5]]},"761":{"position":[[191,5]]}},"keywords":{}}],["equal",{"_index":1360,"title":{},"content":{"61":{"position":[[1096,5]]},"267":{"position":[[8965,5],[9083,5],[9245,5],[9403,5],[9742,5],[10126,5]]},"490":{"position":[[648,7]]},"528":{"position":[[1065,5]]},"682":{"position":[[95,6]]},"686":{"position":[[89,6]]}},"keywords":{}}],["equat",{"_index":4432,"title":{},"content":{"513":{"position":[[111,8]]}},"keywords":{}}],["equip",{"_index":12,"title":{},"content":{"1":{"position":[[130,9]]},"114":{"position":[[158,9]]},"298":{"position":[[937,9]]}},"keywords":{}}],["equival",{"_index":4596,"title":{},"content":{"610":{"position":[[554,10]]},"660":{"position":[[880,10],[1308,10]]}},"keywords":{}}],["eras",{"_index":3313,"title":{},"content":{"347":{"position":[[600,5]]},"459":{"position":[[1173,6]]},"466":{"position":[[131,5]]}},"keywords":{}}],["erb",{"_index":190,"title":{"6":{"position":[[0,4]]}},"content":{"6":{"position":[[1,3],[31,3],[169,4],[1107,3]]},"7":{"position":[[38,3]]},"11":{"position":[[254,3]]},"39":{"position":[[176,3]]},"121":{"position":[[550,3],[649,3]]},"170":{"position":[[25,3],[50,3],[227,3]]},"183":{"position":[[25,3],[50,3],[233,3]]},"193":{"position":[[25,3],[50,3],[225,3]]},"196":{"position":[[25,3],[50,3],[227,3]]},"253":{"position":[[7403,3]]}},"keywords":{}}],["error",{"_index":183,"title":{"29":{"position":[[27,7]]}},"content":{"5":{"position":[[1217,5]]},"24":{"position":[[660,5]]},"36":{"position":[[3018,6],[9721,5],[10380,6]]},"46":{"position":[[549,8]]},"63":{"position":[[2768,6]]},"66":{"position":[[408,6]]},"67":{"position":[[338,6],[366,5],[387,6]]},"93":{"position":[[251,7],[449,7]]},"202":{"position":[[3018,6],[9721,5],[10380,6]]},"211":{"position":[[155,5]]},"219":{"position":[[57,5],[157,5],[221,5]]},"267":{"position":[[2227,6],[2661,5],[2699,5]]},"292":{"position":[[532,5],[643,6],[760,5]]},"299":{"position":[[1218,6]]},"304":{"position":[[2610,6],[3142,6],[5826,5],[5880,5],[5991,6],[6047,5],[6148,6],[6195,5],[6435,6],[6487,5]]},"321":{"position":[[3367,5]]},"322":{"position":[[1599,6]]},"332":{"position":[[287,6]]},"492":{"position":[[739,6],[772,6]]},"493":{"position":[[282,6]]},"501":{"position":[[141,5],[671,6],[949,6]]},"505":{"position":[[1016,6]]},"528":{"position":[[1602,5],[1687,5]]},"607":{"position":[[356,5],[651,5]]},"612":{"position":[[104,6],[136,5],[283,6],[370,6],[393,6],[427,5],[598,5],[688,6],[744,6],[804,5],[872,5],[1423,6],[1473,6],[1502,5]]},"617":{"position":[[547,6],[626,5],[699,7],[1270,6]]},"649":{"position":[[1454,8]]},"656":{"position":[[146,6]]},"657":{"position":[[144,6]]},"658":{"position":[[97,6]]},"752":{"position":[[326,6],[421,5]]}},"keywords":{}}],["error_allow_hex",{"_index":844,"title":{},"content":{"36":{"position":[[10098,17],[10387,16]]},"202":{"position":[[10098,17],[10387,16]]}},"keywords":{}}],["error_respons",{"_index":2173,"title":{"219":{"position":[[0,15]]}},"content":{},"keywords":{}}],["errors.push",{"_index":4017,"title":{},"content":{"449":{"position":[[429,11]]}},"keywords":{}}],["esc",{"_index":1319,"title":{},"content":{"58":{"position":[[152,4],[173,3],[335,3],[399,3],[438,3],[1013,3],[1112,3],[1141,3]]}},"keywords":{}}],["escap",{"_index":1330,"title":{},"content":{"58":{"position":[[816,8],[853,8],[892,8],[929,8],[1022,6],[1047,6],[1076,6],[1105,6],[1134,6]]}},"keywords":{}}],["eslint",{"_index":1561,"title":{},"content":{"83":{"position":[[182,7]]}},"keywords":{}}],["especi",{"_index":1366,"title":{},"content":{"61":{"position":[[2631,10]]},"83":{"position":[[796,10]]},"309":{"position":[[117,10]]},"514":{"position":[[1171,10]]},"752":{"position":[[98,10]]}},"keywords":{}}],["essenti",{"_index":851,"title":{},"content":{"36":{"position":[[10671,9]]},"69":{"position":[[3258,11]]},"318":{"position":[[318,9]]},"364":{"position":[[619,9]]}},"keywords":{}}],["establish",{"_index":2479,"title":{},"content":{"247":{"position":[[129,11]]},"548":{"position":[[338,11]]}},"keywords":{}}],["etag",{"_index":927,"title":{},"content":{"42":{"position":[[669,5]]},"43":{"position":[[6410,5]]}},"keywords":{}}],["etc",{"_index":20,"title":{},"content":{"1":{"position":[[208,5],[273,5]]},"61":{"position":[[1219,5]]},"69":{"position":[[1192,4],[1466,4]]},"84":{"position":[[215,4]]},"99":{"position":[[1983,4],[2645,4],[5144,4]]},"108":{"position":[[114,4],[409,4]]},"229":{"position":[[789,4]]},"304":{"position":[[1106,4]]},"311":{"position":[[481,3]]},"359":{"position":[[396,5]]},"379":{"position":[[165,4]]},"380":{"position":[[159,4]]},"381":{"position":[[170,4]]},"382":{"position":[[112,3]]},"421":{"position":[[345,4]]},"480":{"position":[[713,3],[794,3],[1194,4]]},"482":{"position":[[1389,4]]},"499":{"position":[[132,3]]},"525":{"position":[[229,4]]},"528":{"position":[[840,6]]},"659":{"position":[[331,4]]},"709":{"position":[[104,5]]},"723":{"position":[[97,5]]}},"keywords":{}}],["etc/cert",{"_index":481,"title":{},"content":{"21":{"position":[[223,11]]}},"keywords":{}}],["etc/contain",{"_index":3175,"title":{},"content":{"324":{"position":[[2258,17]]}},"keywords":{}}],["etc/containers/containers.conf",{"_index":3177,"title":{},"content":{"324":{"position":[[2284,31]]}},"keywords":{}}],["etc/containers/registries.conf",{"_index":3188,"title":{},"content":{"324":{"position":[[3051,31],[3135,31]]}},"keywords":{}}],["etc/containers/storage.conf",{"_index":3152,"title":{},"content":{"324":{"position":[[1223,28]]}},"keywords":{}}],["etc/grafana/provisioning/datasourc",{"_index":3437,"title":{},"content":{"353":{"position":[[457,38]]}},"keywords":{}}],["etc/host",{"_index":2563,"title":{},"content":{"253":{"position":[[7714,10]]}},"keywords":{}}],["etc/prometheu",{"_index":3429,"title":{},"content":{"352":{"position":[[1239,16]]}},"keywords":{}}],["etc/traefik/traefik.yaml",{"_index":478,"title":{},"content":{"21":{"position":[[169,25]]}},"keywords":{}}],["ethernet",{"_index":1918,"title":{},"content":{"115":{"position":[[89,8]]}},"keywords":{}}],["eu",{"_index":4119,"title":{"466":{"position":[[3,2]]}},"content":{},"keywords":{}}],["european",{"_index":4122,"title":{},"content":{"466":{"position":[[38,8],[56,8]]}},"keywords":{}}],["evalu",{"_index":3632,"title":{"360":{"position":[[0,10]]}},"content":{"360":{"position":[[74,10],[234,10],[331,10]]},"429":{"position":[[696,9]]},"491":{"position":[[193,8]]},"501":{"position":[[351,9],[545,9]]},"511":{"position":[[135,8]]},"512":{"position":[[139,9]]},"513":{"position":[[42,9],[123,9]]},"514":{"position":[[35,9]]},"528":{"position":[[317,8]]},"658":{"position":[[1,9],[44,9],[375,9],[590,9],[841,9],[1028,9]]},"681":{"position":[[1225,9]]},"682":{"position":[[992,9]]},"683":{"position":[[42,9],[608,9],[778,9]]},"684":{"position":[[659,9]]},"685":{"position":[[837,9]]},"686":{"position":[[888,9]]},"687":{"position":[[42,9],[536,9],[703,9]]},"688":{"position":[[631,9]]}},"keywords":{}}],["evaluation_interv",{"_index":3411,"title":{},"content":{"352":{"position":[[411,20]]}},"keywords":{}}],["even",{"_index":1251,"title":{},"content":{"52":{"position":[[548,7],[1212,4]]},"61":{"position":[[379,4]]},"253":{"position":[[5767,5]]},"338":{"position":[[605,4]]},"364":{"position":[[762,4]]},"476":{"position":[[4777,4]]},"632":{"position":[[1614,5],[2010,5]]},"671":{"position":[[114,4]]}},"keywords":{}}],["event",{"_index":2370,"title":{"524":{"position":[[9,7]]}},"content":{"231":{"position":[[1053,6]]},"351":{"position":[[64,5]]},"360":{"position":[[909,5]]},"467":{"position":[[751,5]]},"513":{"position":[[742,6]]},"526":{"position":[[89,5]]},"527":{"position":[[466,6],[600,7]]},"528":{"position":[[1271,5]]},"544":{"position":[[140,6],[188,6],[221,6]]},"575":{"position":[[333,6]]},"579":{"position":[[34,7],[42,6]]},"703":{"position":[[16,6],[335,6],[393,6],[1349,5],[1362,6]]}},"keywords":{}}],["eventu",{"_index":1466,"title":{},"content":{"69":{"position":[[2907,10]]},"289":{"position":[[1055,10]]},"621":{"position":[[109,11]]}},"keywords":{}}],["everyon",{"_index":3625,"title":{},"content":{"359":{"position":[[1986,9]]},"364":{"position":[[1695,9]]}},"keywords":{}}],["everyth",{"_index":493,"title":{},"content":{"22":{"position":[[284,10]]},"46":{"position":[[1044,10]]},"240":{"position":[[444,10]]},"324":{"position":[[3898,10]]},"334":{"position":[[1160,10]]},"347":{"position":[[1513,10]]},"364":{"position":[[449,10],[827,10],[1266,11]]},"449":{"position":[[314,10]]},"513":{"position":[[761,10]]},"573":{"position":[[97,10]]},"608":{"position":[[403,10]]},"658":{"position":[[321,10]]}},"keywords":{}}],["evolv",{"_index":3698,"title":{},"content":{"364":{"position":[[330,7]]}},"keywords":{}}],["exact",{"_index":377,"title":{},"content":{"17":{"position":[[156,5]]},"18":{"position":[[160,5]]},"61":{"position":[[1106,5]]},"95":{"position":[[224,5]]},"171":{"position":[[239,5]]},"184":{"position":[[312,5]]},"260":{"position":[[361,5]]},"331":{"position":[[637,5]]},"480":{"position":[[289,5]]},"493":{"position":[[303,5]]},"501":{"position":[[284,5]]}},"keywords":{}}],["exactli",{"_index":2,"title":{"1":{"position":[[19,9]]}},"content":{"133":{"position":[[46,7]]},"329":{"position":[[580,7]]},"429":{"position":[[865,7]]},"618":{"position":[[177,7]]}},"keywords":{}}],["exampl",{"_index":144,"title":{"40":{"position":[[0,7]]},"42":{"position":[[5,7]]},"43":{"position":[[5,7]]},"44":{"position":[[13,8]]},"81":{"position":[[0,9]]},"92":{"position":[[0,7]]},"226":{"position":[[0,7]]},"285":{"position":[[0,7]]},"340":{"position":[[0,7]]},"446":{"position":[[0,7]]},"478":{"position":[[21,8]]}},"content":{"5":{"position":[[96,8],[492,8],[1409,7],[1450,7]]},"7":{"position":[[128,8],[629,8],[1256,8]]},"8":{"position":[[142,8]]},"9":{"position":[[156,8],[505,8]]},"11":{"position":[[361,7]]},"12":{"position":[[571,7]]},"13":{"position":[[138,8],[479,7]]},"14":{"position":[[134,8],[370,7]]},"15":{"position":[[504,7]]},"16":{"position":[[506,7]]},"36":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6642,7],[7438,7],[9187,8],[9376,8],[10429,7]]},"40":{"position":[[1,7]]},"44":{"position":[[420,7],[665,7]]},"49":{"position":[[838,9],[1695,9]]},"50":{"position":[[725,9],[1435,9]]},"51":{"position":[[881,8],[1006,8]]},"52":{"position":[[917,9]]},"60":{"position":[[367,8]]},"61":{"position":[[225,8],[1229,8],[2740,8]]},"62":{"position":[[224,8]]},"63":{"position":[[1243,7]]},"66":{"position":[[125,10]]},"81":{"position":[[66,8]]},"83":{"position":[[1842,7]]},"84":{"position":[[1152,9]]},"90":{"position":[[430,7]]},"93":{"position":[[1653,7]]},"94":{"position":[[1105,7]]},"125":{"position":[[127,8],[253,8]]},"126":{"position":[[169,8],[347,8]]},"127":{"position":[[172,8],[353,8]]},"133":{"position":[[842,7],[868,7]]},"134":{"position":[[706,8],[975,8]]},"135":{"position":[[651,7]]},"136":{"position":[[574,7]]},"137":{"position":[[172,7]]},"138":{"position":[[447,7]]},"139":{"position":[[250,7]]},"140":{"position":[[218,8],[297,8]]},"142":{"position":[[227,7]]},"144":{"position":[[248,7]]},"171":{"position":[[438,7],[467,7],[482,7]]},"173":{"position":[[156,7],[185,7],[200,7]]},"174":{"position":[[431,7],[460,7],[475,7]]},"175":{"position":[[251,7],[280,7],[295,7]]},"176":{"position":[[382,7],[411,7],[426,7]]},"177":{"position":[[329,7],[358,7],[373,7],[393,7]]},"178":{"position":[[202,8],[225,7],[240,7],[284,8],[307,7],[322,7]]},"181":{"position":[[474,7]]},"182":{"position":[[227,7]]},"184":{"position":[[468,7]]},"194":{"position":[[224,8],[485,7]]},"198":{"position":[[524,8]]},"199":{"position":[[512,7]]},"201":{"position":[[1933,7]]},"202":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6642,7],[7438,7],[9187,8],[9376,8],[10429,7]]},"203":{"position":[[1716,7]]},"204":{"position":[[2077,7]]},"205":{"position":[[1913,7]]},"206":{"position":[[933,7]]},"207":{"position":[[716,7]]},"208":{"position":[[377,7]]},"209":{"position":[[461,7]]},"213":{"position":[[133,7],[367,7]]},"224":{"position":[[390,8],[551,8],[1035,8]]},"225":{"position":[[428,7]]},"226":{"position":[[1,7]]},"229":{"position":[[168,8]]},"230":{"position":[[152,8],[1129,7],[1245,7],[1406,8],[1515,7],[2030,7],[2305,7]]},"231":{"position":[[164,8]]},"232":{"position":[[185,8],[716,7],[894,8]]},"233":{"position":[[200,8],[763,7]]},"234":{"position":[[242,8]]},"250":{"position":[[459,8]]},"253":{"position":[[1981,9],[2749,7],[5949,7]]},"254":{"position":[[1132,7],[1347,7]]},"256":{"position":[[187,7]]},"257":{"position":[[709,7]]},"259":{"position":[[555,8]]},"263":{"position":[[1009,8],[1270,8],[1423,8]]},"264":{"position":[[538,7]]},"266":{"position":[[1047,7]]},"267":{"position":[[175,8],[229,7],[448,7],[739,7],[973,7],[1508,7],[2017,8],[2558,7],[3692,8],[3887,8],[4222,8],[5181,7],[6039,7],[7491,8],[7658,8],[8300,8],[10239,7],[10765,8],[10830,8]]},"268":{"position":[[839,7]]},"269":{"position":[[1141,7]]},"270":{"position":[[810,7]]},"271":{"position":[[926,7]]},"272":{"position":[[718,7]]},"273":{"position":[[367,7]]},"274":{"position":[[424,7]]},"275":{"position":[[142,7],[376,7]]},"276":{"position":[[419,8],[487,8]]},"282":{"position":[[441,7]]},"283":{"position":[[254,9],[536,8]]},"284":{"position":[[372,7]]},"285":{"position":[[1,7]]},"291":{"position":[[1087,7]]},"292":{"position":[[256,8],[974,7]]},"298":{"position":[[870,8]]},"304":{"position":[[854,8]]},"313":{"position":[[231,8]]},"320":{"position":[[1392,8],[1666,8]]},"322":{"position":[[1119,7],[1775,7]]},"328":{"position":[[1834,7]]},"329":{"position":[[1010,8]]},"338":{"position":[[1743,7],[2007,7],[2202,9]]},"339":{"position":[[47,7]]},"343":{"position":[[161,8]]},"345":{"position":[[226,8]]},"351":{"position":[[440,7]]},"355":{"position":[[412,7],[520,8]]},"357":{"position":[[362,9]]},"367":{"position":[[301,8]]},"369":{"position":[[469,7]]},"370":{"position":[[117,8]]},"371":{"position":[[345,7]]},"372":{"position":[[183,8],[306,7]]},"373":{"position":[[151,8],[621,8],[791,7]]},"375":{"position":[[185,7]]},"376":{"position":[[189,7]]},"377":{"position":[[185,7]]},"378":{"position":[[187,7]]},"379":{"position":[[355,7]]},"380":{"position":[[349,7]]},"381":{"position":[[360,7]]},"382":{"position":[[143,7]]},"383":{"position":[[151,8],[750,7]]},"384":{"position":[[636,7]]},"385":{"position":[[72,8]]},"386":{"position":[[341,7]]},"387":{"position":[[316,7]]},"388":{"position":[[189,7]]},"389":{"position":[[274,7]]},"390":{"position":[[235,7]]},"391":{"position":[[296,7]]},"393":{"position":[[132,7]]},"394":{"position":[[201,7]]},"396":{"position":[[206,7]]},"397":{"position":[[91,7]]},"398":{"position":[[105,7]]},"399":{"position":[[163,7]]},"401":{"position":[[552,7]]},"402":{"position":[[739,7]]},"403":{"position":[[361,7],[818,7]]},"404":{"position":[[802,7]]},"405":{"position":[[536,7]]},"406":{"position":[[403,7]]},"407":{"position":[[549,7]]},"409":{"position":[[426,7]]},"410":{"position":[[803,7]]},"411":{"position":[[204,7],[700,7]]},"412":{"position":[[428,7]]},"413":{"position":[[426,7]]},"414":{"position":[[423,7]]},"415":{"position":[[392,7]]},"416":{"position":[[394,7]]},"417":{"position":[[772,7]]},"418":{"position":[[529,7],[1543,7]]},"419":{"position":[[563,7],[1596,7]]},"420":{"position":[[547,7],[1568,7]]},"421":{"position":[[356,7]]},"422":{"position":[[546,7]]},"423":{"position":[[688,7]]},"424":{"position":[[419,7]]},"425":{"position":[[318,7]]},"426":{"position":[[280,7]]},"427":{"position":[[252,7],[631,7]]},"429":{"position":[[358,7],[1504,8],[1726,7],[1916,7]]},"430":{"position":[[204,7]]},"431":{"position":[[293,7]]},"432":{"position":[[221,7]]},"434":{"position":[[302,7]]},"435":{"position":[[228,7]]},"436":{"position":[[221,7]]},"439":{"position":[[338,7]]},"440":{"position":[[570,7]]},"441":{"position":[[331,7]]},"442":{"position":[[166,8],[262,8],[884,7]]},"443":{"position":[[426,7]]},"444":{"position":[[728,7]]},"445":{"position":[[205,7]]},"446":{"position":[[1,7]]},"475":{"position":[[167,8],[209,7]]},"476":{"position":[[1805,7],[2692,7],[3582,8],[4508,7]]},"480":{"position":[[557,8]]},"487":{"position":[[191,8]]},"496":{"position":[[586,8],[769,8]]},"497":{"position":[[203,7]]},"500":{"position":[[151,8]]},"501":{"position":[[184,8]]},"508":{"position":[[159,8]]},"514":{"position":[[757,7]]},"525":{"position":[[74,8]]},"533":{"position":[[332,8],[833,9]]},"534":{"position":[[190,8]]},"548":{"position":[[594,7],[686,7],[709,7]]},"550":{"position":[[272,8]]},"559":{"position":[[309,7]]},"578":{"position":[[1488,8],[1548,7]]},"585":{"position":[[307,7]]},"586":{"position":[[326,7]]},"610":{"position":[[219,8],[344,8],[572,8]]},"611":{"position":[[113,7]]},"623":{"position":[[131,7],[658,8],[879,8]]},"624":{"position":[[92,7],[624,8],[888,8]]},"627":{"position":[[589,8],[904,8]]},"628":{"position":[[607,8],[882,8]]},"629":{"position":[[488,8],[817,8]]},"630":{"position":[[394,8]]},"632":{"position":[[1308,8],[1715,8]]},"634":{"position":[[213,8]]},"636":{"position":[[1284,8],[1716,8]]},"637":{"position":[[1506,8],[1732,8]]},"638":{"position":[[1536,8]]},"639":{"position":[[1560,8],[1778,8]]},"640":{"position":[[1360,8],[1542,8]]},"641":{"position":[[1577,8],[1789,8]]},"642":{"position":[[1607,8]]},"643":{"position":[[1631,8],[1833,8]]},"644":{"position":[[407,8],[966,8]]},"645":{"position":[[242,8]]},"646":{"position":[[291,8],[749,8]]},"647":{"position":[[199,8],[323,8]]},"648":{"position":[[327,8],[788,8]]},"649":{"position":[[404,8],[1131,8]]},"650":{"position":[[399,8],[903,8]]},"651":{"position":[[465,8],[606,8]]},"652":{"position":[[651,8],[777,8]]},"653":{"position":[[445,8]]},"654":{"position":[[337,8]]},"656":{"position":[[800,8],[1155,8]]},"657":{"position":[[743,8],[910,8]]},"658":{"position":[[201,8],[1053,8]]},"659":{"position":[[382,8],[516,8]]},"660":{"position":[[552,8],[980,8]]},"661":{"position":[[391,8]]},"662":{"position":[[619,8],[736,8]]},"663":{"position":[[457,8]]},"664":{"position":[[186,8]]},"665":{"position":[[190,8]]},"666":{"position":[[285,8]]},"667":{"position":[[363,8]]},"668":{"position":[[356,8]]},"669":{"position":[[677,8],[964,8]]},"670":{"position":[[562,8],[672,8]]},"671":{"position":[[556,8],[755,8]]},"672":{"position":[[374,8],[561,8]]},"673":{"position":[[248,8],[1269,8]]},"675":{"position":[[321,8]]},"676":{"position":[[418,8],[921,8]]},"677":{"position":[[269,8]]},"678":{"position":[[289,8]]},"679":{"position":[[303,8]]},"681":{"position":[[1486,8],[1693,8]]},"682":{"position":[[1253,9],[1460,9]]},"683":{"position":[[226,8],[928,8]]},"684":{"position":[[809,8]]},"685":{"position":[[1020,8],[1197,8]]},"686":{"position":[[1071,8],[1276,8]]},"687":{"position":[[222,8],[775,8]]},"688":{"position":[[781,8]]},"690":{"position":[[500,8],[604,8]]},"691":{"position":[[364,8]]},"692":{"position":[[366,8]]},"693":{"position":[[249,8]]},"694":{"position":[[251,8]]},"695":{"position":[[74,8]]},"696":{"position":[[219,8]]},"697":{"position":[[104,8]]},"698":{"position":[[72,8]]},"699":{"position":[[349,8],[670,8]]},"700":{"position":[[1970,8]]},"701":{"position":[[155,8]]},"702":{"position":[[360,8]]},"703":{"position":[[383,8]]},"705":{"position":[[73,8],[137,10]]},"706":{"position":[[192,8]]},"707":{"position":[[177,8]]},"709":{"position":[[260,8]]},"710":{"position":[[85,8]]},"711":{"position":[[429,8]]},"712":{"position":[[219,8]]},"713":{"position":[[406,8]]},"714":{"position":[[402,8]]},"715":{"position":[[305,8],[850,8]]},"716":{"position":[[637,8],[738,8]]},"717":{"position":[[483,8]]},"718":{"position":[[771,8],[892,8]]},"720":{"position":[[375,8]]},"721":{"position":[[175,8]]},"722":{"position":[[82,8]]},"723":{"position":[[241,8]]},"724":{"position":[[299,8],[836,8]]},"725":{"position":[[388,8]]},"726":{"position":[[384,8]]},"727":{"position":[[461,8]]},"728":{"position":[[775,8],[893,8]]},"730":{"position":[[208,8]]},"731":{"position":[[180,8]]},"732":{"position":[[75,8],[167,8]]},"733":{"position":[[53,8]]},"734":{"position":[[203,8]]},"736":{"position":[[448,8]]},"737":{"position":[[663,8]]},"739":{"position":[[489,8]]},"740":{"position":[[268,8]]},"741":{"position":[[50,8]]},"742":{"position":[[281,8]]},"743":{"position":[[92,8]]},"744":{"position":[[321,8]]},"745":{"position":[[459,8],[731,8]]},"746":{"position":[[919,8],[1185,8]]},"748":{"position":[[259,8]]},"749":{"position":[[95,8]]},"750":{"position":[[292,8]]},"751":{"position":[[158,8]]},"752":{"position":[[510,8],[637,8]]},"754":{"position":[[1056,8],[1564,8]]},"756":{"position":[[110,8]]},"757":{"position":[[101,8]]},"758":{"position":[[306,8]]},"760":{"position":[[176,8],[220,8]]},"761":{"position":[[203,8],[247,8]]},"762":{"position":[[361,8],[474,8]]},"763":{"position":[[378,8],[438,8]]},"764":{"position":[[99,8]]},"766":{"position":[[119,8],[269,8]]},"767":{"position":[[80,8],[859,8]]},"768":{"position":[[309,8],[501,8]]},"769":{"position":[[343,8],[486,8]]},"771":{"position":[[111,8],[240,8]]},"772":{"position":[[216,8],[315,8]]},"773":{"position":[[408,8]]},"774":{"position":[[303,8]]},"775":{"position":[[309,8]]}},"keywords":{}}],["example(target_nam",{"_index":4378,"title":{},"content":{"500":{"position":[[332,20],[510,20]]}},"keywords":{}}],["example.com.crt",{"_index":531,"title":{},"content":{"24":{"position":[[179,16]]}},"keywords":{}}],["example.com.key",{"_index":527,"title":{},"content":{"24":{"position":[[85,16]]}},"keywords":{}}],["example.th",{"_index":2531,"title":{},"content":{"253":{"position":[[3210,11]]}},"keywords":{}}],["example_int",{"_index":5285,"title":{},"content":{"710":{"position":[[168,14]]}},"keywords":{}}],["example_interface.rb",{"_index":1970,"title":{},"content":{"133":{"position":[[876,20]]}},"keywords":{}}],["example_limits_response.pi",{"_index":2681,"title":{},"content":{"267":{"position":[[10856,26]]}},"keywords":{}}],["example_limits_response.rb",{"_index":2680,"title":{},"content":{"267":{"position":[[10791,26]]}},"keywords":{}}],["example_target.pi",{"_index":2074,"title":{},"content":{"178":{"position":[[341,17]]}},"keywords":{}}],["example_target.rb",{"_index":2073,"title":{},"content":{"178":{"position":[[257,17]]}},"keywords":{}}],["examplegroup",{"_index":4592,"title":{},"content":{"610":{"position":[[393,12]]},"754":{"position":[[1102,12]]}},"keywords":{}}],["examplegroup(group",{"_index":4597,"title":{},"content":{"610":{"position":[[633,20]]},"754":{"position":[[1653,20]]}},"keywords":{}}],["examples"",{"_index":3992,"title":{},"content":{"446":{"position":[[114,14]]}},"keywords":{}}],["excel",{"_index":2961,"title":{"507":{"position":[[42,6]]}},"content":{"308":{"position":[[90,5]]},"483":{"position":[[340,9]]},"507":{"position":[[484,5]]},"550":{"position":[[251,5]]}},"keywords":{}}],["excelspreadsheet.new('c:/git/cosmos/test.xlsx",{"_index":4422,"title":{},"content":{"507":{"position":[[532,47]]}},"keywords":{}}],["except",{"_index":1352,"title":{},"content":{"60":{"position":[[1564,9]]},"63":{"position":[[262,6],[464,6],[2724,10],[2752,10]]},"66":{"position":[[364,10],[392,10]]},"69":{"position":[[4601,6]]},"75":{"position":[[1388,6],[1434,9]]},"191":{"position":[[106,6]]},"262":{"position":[[235,6]]},"329":{"position":[[631,6]]},"478":{"position":[[919,6]]},"488":{"position":[[180,10],[2324,11],[2472,11],[2611,10],[2656,9]]},"502":{"position":[[88,10],[154,9],[257,9]]},"618":{"position":[[284,6],[1036,6],[1153,6]]},"659":{"position":[[34,9],[90,10]]},"752":{"position":[[69,9]]}},"keywords":{}}],["exclus",{"_index":4470,"title":{},"content":{"540":{"position":[[311,9]]}},"keywords":{}}],["exec",{"_index":1689,"title":{},"content":{"85":{"position":[[1328,4],[1359,4]]},"104":{"position":[[102,4]]},"140":{"position":[[177,4]]},"178":{"position":[[161,4]]},"448":{"position":[[304,4]]},"449":{"position":[[356,4]]}},"keywords":{}}],["execect",{"_index":2972,"title":{},"content":{"310":{"position":[[283,10]]}},"keywords":{}}],["execut",{"_index":1287,"title":{"735":{"position":[[0,9]]}},"content":{"54":{"position":[[3427,7],[3504,7],[3549,8]]},"140":{"position":[[32,7],[83,7]]},"141":{"position":[[48,7]]},"178":{"position":[[17,7],[67,7]]},"180":{"position":[[32,7]]},"276":{"position":[[32,8]]},"304":{"position":[[59,9],[206,10],[231,9],[1245,7],[2096,7],[2147,7],[2214,9],[2295,9],[2347,9],[2479,9],[2567,9],[2759,7],[2917,7],[3035,7],[3180,10],[3536,9],[3588,7],[3676,9],[3741,7],[4332,9],[4445,7],[4895,7],[5002,9],[5036,7],[5115,9],[5149,7],[5228,9],[5261,7],[5339,9],[5401,7],[5429,7],[5505,9],[5567,7],[5595,7],[5685,9],[5746,9],[5840,7],[5998,7],[6132,9],[6155,7],[6287,7],[6442,7],[6627,7],[6839,7]]},"310":{"position":[[378,9]]},"337":{"position":[[108,10],[227,10]]},"429":{"position":[[68,8],[1685,7]]},"476":{"position":[[1903,9],[1986,9],[2817,9],[2901,9],[3800,10],[3981,7],[4782,7]]},"482":{"position":[[113,9]]},"488":{"position":[[153,9],[659,9],[865,9],[1035,7]]},"490":{"position":[[406,8]]},"493":{"position":[[87,10],[202,10]]},"496":{"position":[[525,9]]},"502":{"position":[[643,7]]},"505":{"position":[[335,7],[796,7],[872,8],[912,7]]},"510":{"position":[[36,9]]},"522":{"position":[[127,9]]},"528":{"position":[[117,9]]},"530":{"position":[[284,8]]},"533":{"position":[[616,7]]},"546":{"position":[[106,9]]},"548":{"position":[[309,9]]},"584":{"position":[[534,9]]},"603":{"position":[[62,8]]},"606":{"position":[[316,9],[466,9],[509,8]]},"607":{"position":[[313,9],[683,10]]},"608":{"position":[[55,8],[155,8],[500,8],[570,9]]},"612":{"position":[[218,9],[509,9],[608,9],[713,9],[837,10],[1141,7]]},"613":{"position":[[333,10]]},"617":{"position":[[307,7],[376,9],[602,9],[687,7],[752,9]]},"659":{"position":[[1,8],[310,8]]},"669":{"position":[[321,9]]},"735":{"position":[[67,7]]},"736":{"position":[[8,9]]},"748":{"position":[[196,9]]}},"keywords":{}}],["execution)run",{"_index":1073,"title":{},"content":{"44":{"position":[[1663,13]]}},"keywords":{}}],["exercis",{"_index":2353,"title":{},"content":{"230":{"position":[[1770,8]]},"304":{"position":[[2019,8]]},"322":{"position":[[2260,8]]}},"keywords":{}}],["exist",{"_index":848,"title":{"91":{"position":[[0,8]]}},"content":{"36":{"position":[[10585,5]]},"38":{"position":[[11,8],[69,8],[142,8]]},"63":{"position":[[614,5]]},"69":{"position":[[1224,8],[1498,8]]},"83":{"position":[[579,5]]},"198":{"position":[[400,8],[500,8]]},"208":{"position":[[12,8]]},"209":{"position":[[27,8]]},"210":{"position":[[191,6]]},"225":{"position":[[12,8],[166,8]]},"227":{"position":[[532,5],[601,5]]},"230":{"position":[[97,8]]},"231":{"position":[[109,8]]},"232":{"position":[[105,8],[775,8]]},"233":{"position":[[115,8]]},"234":{"position":[[187,8],[520,8],[774,8]]},"235":{"position":[[98,8],[1298,8]]},"256":{"position":[[113,8],[206,8]]},"257":{"position":[[648,8],[728,8],[916,8],[1284,8],[1337,8],[1541,8]]},"259":{"position":[[430,8],[531,8]]},"262":{"position":[[88,5]]},"273":{"position":[[12,8],[494,8]]},"274":{"position":[[26,8]]},"278":{"position":[[262,6]]},"282":{"position":[[12,8],[170,8],[568,8]]},"321":{"position":[[44,8],[3872,8]]},"334":{"position":[[819,8]]},"352":{"position":[[246,8]]},"364":{"position":[[1548,6]]},"368":{"position":[[156,7]]},"476":{"position":[[919,5]]},"505":{"position":[[1222,5]]},"513":{"position":[[281,8]]},"514":{"position":[[138,5]]},"552":{"position":[[334,8],[641,8]]},"563":{"position":[[272,8],[579,8]]},"577":{"position":[[1103,8],[1410,8]]},"582":{"position":[[50,8]]},"589":{"position":[[271,8],[578,8]]},"591":{"position":[[462,7]]},"593":{"position":[[666,8]]},"598":{"position":[[290,8],[597,8]]},"601":{"position":[[965,8]]},"605":{"position":[[915,8]]},"621":{"position":[[3368,6],[3589,6]]},"628":{"position":[[542,5]]},"629":{"position":[[308,5],[393,8]]},"716":{"position":[[595,8]]},"742":{"position":[[12,8]]},"764":{"position":[[25,8]]},"768":{"position":[[108,6]]}},"keywords":{}}],["exit",{"_index":2438,"title":{},"content":{"240":{"position":[[863,5]]},"324":{"position":[[2166,4]]}},"keywords":{}}],["exotrail",{"_index":1897,"title":{},"content":{"108":{"position":[[708,9]]}},"keywords":{}}],["expand",{"_index":2347,"title":{},"content":{"230":{"position":[[1549,8]]},"234":{"position":[[759,8]]},"235":{"position":[[1283,8]]},"479":{"position":[[294,9]]}},"keywords":{}}],["expans",{"_index":1784,"title":{},"content":{"99":{"position":[[68,10],[1081,10]]}},"keywords":{}}],["expect",{"_index":1391,"title":{},"content":{"63":{"position":[[602,8],[990,8],[1883,8]]},"79":{"position":[[227,8]]},"218":{"position":[[31,8]]},"219":{"position":[[31,8]]},"230":{"position":[[872,8]]},"299":{"position":[[1113,9]]},"303":{"position":[[810,8]]},"356":{"position":[[683,8]]},"478":{"position":[[153,9],[1026,9]]},"504":{"position":[[641,8]]},"657":{"position":[[46,8],[578,8],[593,8],[660,8]]},"659":{"position":[[23,7]]},"682":{"position":[[105,8],[734,8],[749,8],[816,8]]},"686":{"position":[[99,8],[633,8],[648,8],[715,8]]}},"keywords":{}}],["expected_temp",{"_index":4233,"title":{},"content":{"480":{"position":[[1393,14],[1672,15]]}},"keywords":{}}],["expected_temp}"",{"_index":4239,"title":{},"content":{"480":{"position":[[1568,23],[1848,22]]}},"keywords":{}}],["experi",{"_index":134,"title":{},"content":{"3":{"position":[[721,10]]},"247":{"position":[[112,11]]},"329":{"position":[[1521,10]]},"461":{"position":[[689,10]]}},"keywords":{}}],["expert",{"_index":3711,"title":{},"content":{"364":{"position":[[1726,8]]}},"keywords":{}}],["expir",{"_index":949,"title":{},"content":{"43":{"position":[[204,6],[261,7]]},"361":{"position":[[437,8]]},"758":{"position":[[129,6]]}},"keywords":{}}],["expires=thu",{"_index":967,"title":{},"content":{"43":{"position":[[892,12],[1014,12]]}},"keywords":{}}],["explain",{"_index":2521,"title":{},"content":{"253":{"position":[[1674,9]]},"327":{"position":[[53,7]]},"363":{"position":[[1305,10]]},"618":{"position":[[101,8]]}},"keywords":{}}],["explicit",{"_index":4058,"title":{},"content":{"459":{"position":[[541,8]]}},"keywords":{}}],["explicitli",{"_index":323,"title":{},"content":{"12":{"position":[[55,10]]},"15":{"position":[[68,10]]},"16":{"position":[[70,10]]},"36":{"position":[[1229,10]]},"90":{"position":[[591,10]]},"202":{"position":[[1229,10]]},"261":{"position":[[117,10]]},"267":{"position":[[1224,10]]},"375":{"position":[[148,10]]},"376":{"position":[[152,10]]},"377":{"position":[[148,10]]},"378":{"position":[[150,10]]},"534":{"position":[[551,10]]},"575":{"position":[[199,10]]}},"keywords":{}}],["explor",{"_index":2577,"title":{"515":{"position":[[7,8]]}},"content":{"254":{"position":[[934,7]]},"516":{"position":[[8,8],[173,8]]}},"keywords":{}}],["export",{"_index":1686,"title":{},"content":{"85":{"position":[[1134,6],[1201,6]]},"292":{"position":[[235,6],[305,6]]},"324":{"position":[[2558,6]]},"325":{"position":[[211,6]]},"328":{"position":[[315,6]]},"363":{"position":[[1204,6],[1228,6]]},"556":{"position":[[89,7]]},"566":{"position":[[108,8]]}},"keywords":{}}],["expos",{"_index":482,"title":{},"content":{"21":{"position":[[235,6]]},"142":{"position":[[73,6]]},"182":{"position":[[73,6]]},"241":{"position":[[365,7]]},"319":{"position":[[69,8]]}},"keywords":{}}],["express",{"_index":205,"title":{},"content":{"6":{"position":[[222,10]]},"67":{"position":[[751,9]]},"93":{"position":[[1224,9]]},"170":{"position":[[107,11]]},"183":{"position":[[113,11]]},"193":{"position":[[105,11]]},"196":{"position":[[107,11]]},"360":{"position":[[761,7]]},"462":{"position":[[616,7]]},"479":{"position":[[250,12],[363,12]]},"501":{"position":[[465,10]]},"658":{"position":[[14,11],[33,10],[723,10],[1014,10]]},"681":{"position":[[627,10]]},"682":{"position":[[325,10]]},"683":{"position":[[28,10],[410,10],[594,10]]},"685":{"position":[[260,10]]},"686":{"position":[[242,10]]},"687":{"position":[[28,10],[356,10],[522,10]]}},"keywords":{}}],["extend",{"_index":1906,"title":{},"content":{"112":{"position":[[114,6]]},"198":{"position":[[393,6]]},"259":{"position":[[423,6]]}},"keywords":{}}],["extens",{"_index":236,"title":{},"content":{"6":{"position":[[1118,11]]},"12":{"position":[[513,9]]},"31":{"position":[[254,9]]},"83":{"position":[[122,10]]},"198":{"position":[[484,9]]},"259":{"position":[[515,9]]},"291":{"position":[[852,9]]},"488":{"position":[[1738,10]]},"737":{"position":[[571,10]]}},"keywords":{}}],["extern",{"_index":44,"title":{},"content":{"2":{"position":[[251,8]]},"114":{"position":[[17,8]]},"142":{"position":[[80,10]]},"143":{"position":[[353,8]]},"182":{"position":[[80,10]]},"186":{"position":[[258,8]]},"188":{"position":[[192,8]]},"298":{"position":[[342,8]]},"311":{"position":[[714,8]]},"349":{"position":[[138,8]]},"394":{"position":[[6,8]]},"488":{"position":[[893,10]]},"769":{"position":[[84,10]]}},"keywords":{}}],["extra",{"_index":103,"title":{"497":{"position":[[11,5]]}},"content":{"3":{"position":[[347,5]]},"36":{"position":[[4269,5]]},"75":{"position":[[1213,6],[1315,6],[1336,6]]},"78":{"position":[[799,6]]},"79":{"position":[[1135,6]]},"99":{"position":[[824,5],[862,5],[880,5],[3490,5],[3554,5],[3583,5],[3625,5],[3690,5],[3740,5]]},"202":{"position":[[4269,5]]},"267":{"position":[[3218,5]]},"277":{"position":[[192,5]]},"361":{"position":[[638,5]]},"488":{"position":[[80,5]]},"495":{"position":[[292,5]]}},"keywords":{}}],["extra=non",{"_index":1519,"title":{},"content":{"75":{"position":[[990,12]]},"78":{"position":[[772,12]]},"79":{"position":[[1100,12]]}},"keywords":{}}],["extract",{"_index":558,"title":{"26":{"position":[[0,10]]},"27":{"position":[[0,7]]}},"content":{"27":{"position":[[240,7],[669,7]]},"63":{"position":[[1099,7]]},"99":{"position":[[3029,9],[3450,9]]},"308":{"position":[[42,8],[503,7]]},"550":{"position":[[16,8]]},"555":{"position":[[73,7]]}},"keywords":{}}],["extractor",{"_index":1876,"title":{"308":{"position":[[5,10]]},"549":{"position":[[5,9]]},"551":{"position":[[5,9]]}},"content":{"108":{"position":[[213,9]]},"198":{"position":[[1215,10]]},"259":{"position":[[1281,10]]},"263":{"position":[[674,10]]},"308":{"position":[[6,9],[160,9],[265,9],[354,9],[451,9],[627,9],[712,9],[798,9]]},"550":{"position":[[6,9],[167,9]]},"555":{"position":[[6,9]]},"556":{"position":[[6,9]]}},"keywords":{}}],["extrapol",{"_index":1717,"title":{},"content":{"90":{"position":[[521,11]]}},"keywords":{}}],["extrem",{"_index":4223,"title":{},"content":{"480":{"position":[[137,7]]}},"keywords":{}}],["ey",{"_index":734,"title":{},"content":{"36":{"position":[[3823,3]]},"202":{"position":[[3823,3]]},"578":{"position":[[1164,4]]}},"keywords":{}}],["eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":1011,"title":{},"content":{"43":{"position":[[4788,927]]}},"keywords":{}}],["f",{"_index":4073,"title":{},"content":{"459":{"position":[[1751,2]]},"476":{"position":[[812,1],[4693,1]]}},"keywords":{}}],["f"",{"_index":4212,"title":{},"content":{"476":{"position":[[4702,7]]}},"keywords":{}}],["f"{variable}"",{"_index":4170,"title":{},"content":{"476":{"position":[[832,23]]}},"keywords":{}}],["factor",{"_index":748,"title":{},"content":{"36":{"position":[[4344,6],[6131,6],[6187,6],[6761,6],[6818,6],[7882,6],[9331,6],[9518,6]]},"202":{"position":[[4344,6],[6131,6],[6187,6],[6761,6],[6818,6],[7882,6],[9331,6],[9518,6]]},"227":{"position":[[5269,8]]},"267":{"position":[[3293,6],[4610,6],[4663,6],[5298,6],[5352,6],[6475,6],[7614,6],[7779,6]]},"355":{"position":[[112,6]]},"405":{"position":[[195,6]]},"422":{"position":[[199,6]]},"525":{"position":[[202,8]]},"618":{"position":[[503,6]]}},"keywords":{}}],["fail",{"_index":544,"title":{"504":{"position":[[22,5]]}},"content":{"24":{"position":[[602,4]]},"93":{"position":[[1293,4]]},"289":{"position":[[1183,7]]},"291":{"position":[[607,5]]},"304":{"position":[[497,6],[2672,4],[3252,4],[3410,4]]},"482":{"position":[[1204,5],[1376,4]]},"483":{"position":[[313,8]]},"488":{"position":[[201,4],[762,6]]},"502":{"position":[[214,6],[671,4],[713,4]]},"504":{"position":[[44,4],[909,6]]},"505":{"position":[[20,7],[214,6],[356,7],[788,7]]},"548":{"position":[[554,6]]},"656":{"position":[[101,5]]},"657":{"position":[[99,5]]}},"keywords":{}}],["failur",{"_index":2182,"title":{},"content":{"224":{"position":[[118,7]]},"304":{"position":[[321,7],[447,7],[3340,8],[3482,7]]},"310":{"position":[[535,7],[632,7]]},"483":{"position":[[237,7]]},"488":{"position":[[2640,9]]},"504":{"position":[[508,7],[952,9]]},"505":{"position":[[236,8],[368,8],[484,7]]},"548":{"position":[[478,7]]}},"keywords":{}}],["fairli",{"_index":3449,"title":{},"content":{"355":{"position":[[912,6]]},"459":{"position":[[449,6]]}},"keywords":{}}],["faith",{"_index":4137,"title":{},"content":{"467":{"position":[[1146,5]]}},"keywords":{}}],["fall",{"_index":1151,"title":{},"content":{"46":{"position":[[366,5]]},"168":{"position":[[130,7]]},"525":{"position":[[123,4]]}},"keywords":{}}],["fals",{"_index":180,"title":{},"content":{"5":{"position":[[1035,5]]},"33":{"position":[[456,5],[671,5],[803,5],[930,5]]},"35":{"position":[[1219,5],[1405,5],[1750,5],[1897,5]]},"36":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6635,5],[7431,5]]},"37":{"position":[[1012,5],[1198,5],[1543,5],[1690,5]]},"39":{"position":[[314,5]]},"56":{"position":[[470,6]]},"59":{"position":[[1055,5]]},"60":{"position":[[1431,6],[1524,5],[1599,5]]},"61":{"position":[[2527,5]]},"62":{"position":[[1356,5]]},"63":{"position":[[2540,5],[2822,5]]},"66":{"position":[[487,5]]},"67":{"position":[[301,5]]},"71":{"position":[[289,6]]},"75":{"position":[[1518,5],[1526,5]]},"80":{"position":[[310,5],[458,5]]},"133":{"position":[[483,5],[570,5],[800,5],[835,5]]},"134":{"position":[[694,5]]},"135":{"position":[[644,5]]},"136":{"position":[[487,5],[567,5]]},"139":{"position":[[243,5]]},"141":{"position":[[183,5]]},"170":{"position":[[242,5]]},"175":{"position":[[244,5]]},"180":{"position":[[167,5]]},"181":{"position":[[467,5]]},"183":{"position":[[248,5]]},"191":{"position":[[218,5],[244,5]]},"193":{"position":[[240,5]]},"194":{"position":[[478,5]]},"196":{"position":[[242,5]]},"199":{"position":[[505,5]]},"201":{"position":[[1248,5],[1434,5],[1779,5],[1926,5]]},"202":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6635,5],[7431,5]]},"203":{"position":[[1031,5],[1217,5],[1562,5],[1709,5]]},"204":{"position":[[1392,5],[1578,5],[1923,5],[2070,5]]},"205":{"position":[[1228,5],[1414,5],[1759,5],[1906,5]]},"206":{"position":[[795,5],[926,5]]},"207":{"position":[[578,5],[709,5]]},"213":{"position":[[360,5]]},"214":{"position":[[264,5]]},"215":{"position":[[431,5]]},"224":{"position":[[539,5],[785,7],[1224,7]]},"232":{"position":[[1195,5]]},"233":{"position":[[1473,5]]},"253":{"position":[[3040,5],[4297,5],[4989,5]]},"254":{"position":[[1640,5]]},"264":{"position":[[531,5]]},"266":{"position":[[863,5],[1040,5]]},"267":{"position":[[966,5],[1811,5],[1902,5],[2551,5],[2634,5],[3875,5],[5174,5],[6032,5],[7426,5],[7479,5],[9846,5],[10232,5],[10753,5]]},"268":{"position":[[655,5],[832,5]]},"269":{"position":[[957,5],[1134,5]]},"270":{"position":[[626,5],[803,5]]},"271":{"position":[[788,5],[919,5]]},"272":{"position":[[580,5],[711,5]]},"275":{"position":[[369,5]]},"276":{"position":[[407,5]]},"285":{"position":[[369,5]]},"371":{"position":[[299,5]]},"372":{"position":[[299,5]]},"373":{"position":[[784,5]]},"379":{"position":[[303,5],[348,5]]},"380":{"position":[[297,5],[342,5]]},"381":{"position":[[308,5],[353,5]]},"383":{"position":[[743,5]]},"386":{"position":[[334,5]]},"387":{"position":[[257,5],[309,5]]},"388":{"position":[[182,5]]},"389":{"position":[[215,5],[267,5]]},"390":{"position":[[228,5]]},"391":{"position":[[237,5],[289,5]]},"394":{"position":[[160,5],[194,5]]},"401":{"position":[[229,5],[279,5],[356,5],[420,5],[545,5]]},"402":{"position":[[229,5],[279,5],[356,5],[416,5],[473,5],[607,5],[732,5]]},"403":{"position":[[592,5],[717,5],[811,5]]},"404":{"position":[[281,5],[332,5],[385,5],[795,5]]},"405":{"position":[[345,5],[404,5],[529,5]]},"406":{"position":[[302,5],[396,5]]},"407":{"position":[[323,5],[448,5],[542,5]]},"408":{"position":[[322,5],[416,5]]},"409":{"position":[[325,5],[419,5]]},"410":{"position":[[599,5],[693,5],[744,5],[796,5]]},"411":{"position":[[92,5],[589,5],[640,5],[693,5]]},"412":{"position":[[318,5],[369,5],[421,5]]},"413":{"position":[[316,5],[367,5],[419,5]]},"414":{"position":[[302,5],[352,5],[409,6],[416,5]]},"415":{"position":[[291,5],[385,5]]},"416":{"position":[[294,5],[387,5]]},"417":{"position":[[568,5],[662,5],[713,5],[765,5]]},"418":{"position":[[265,5],[393,5],[522,5],[992,5],[1120,5],[1249,5]]},"419":{"position":[[299,5],[427,5],[556,5],[1045,5],[1173,5],[1302,5]]},"420":{"position":[[283,5],[411,5],[540,5],[1017,5],[1145,5],[1274,5]]},"422":{"position":[[353,5],[414,5],[539,5]]},"423":{"position":[[578,5],[629,5],[681,5]]},"424":{"position":[[357,5],[412,5]]},"425":{"position":[[311,5]]},"426":{"position":[[216,5],[273,5]]},"427":{"position":[[530,5],[624,5]]},"429":{"position":[[1552,6]]},"431":{"position":[[286,5]]},"432":{"position":[[214,5]]},"433":{"position":[[203,5]]},"435":{"position":[[153,5],[221,5]]},"436":{"position":[[214,5]]},"439":{"position":[[301,5],[331,5]]},"440":{"position":[[408,5],[438,5],[563,5]]},"442":{"position":[[820,5],[877,5]]},"443":{"position":[[365,5],[419,5]]},"444":{"position":[[597,5],[721,5]]},"501":{"position":[[699,5],[977,5]]},"511":{"position":[[152,6]]},"513":{"position":[[63,6]]},"623":{"position":[[467,7],[645,6],[857,6],[1078,6]]},"624":{"position":[[433,7],[611,6],[866,6],[1130,6]]},"628":{"position":[[128,6],[467,5]]},"636":{"position":[[1700,6]]},"644":{"position":[[95,6]]},"650":{"position":[[1143,8]]},"658":{"position":[[57,5]]},"681":{"position":[[596,5],[649,5],[1677,6]]},"682":{"position":[[294,5],[347,5]]},"683":{"position":[[379,5],[432,5]]},"684":{"position":[[269,5]]},"690":{"position":[[589,5],[692,5]]},"716":{"position":[[431,6],[527,6],[722,6]]}},"keywords":{}}],["famili",{"_index":4142,"title":{},"content":{"467":{"position":[[1365,6]]}},"keywords":{}}],["familiar",{"_index":1670,"title":{},"content":{"84":{"position":[[1332,8]]},"251":{"position":[[179,11]]},"482":{"position":[[371,8]]}},"keywords":{}}],["fanci",{"_index":2539,"title":{},"content":{"253":{"position":[[4228,5]]}},"keywords":{}}],["faq",{"_index":3674,"title":{"363":{"position":[[0,5]]}},"content":{},"keywords":{}}],["far",{"_index":4566,"title":{},"content":{"599":{"position":[[835,3]]}},"keywords":{}}],["fashion",{"_index":184,"title":{},"content":{"5":{"position":[[1387,8]]},"69":{"position":[[3183,7]]},"359":{"position":[[1379,8]]},"366":{"position":[[301,8]]}},"keywords":{}}],["faster",{"_index":3307,"title":{},"content":{"347":{"position":[[327,6]]},"488":{"position":[[1081,6]]}},"keywords":{}}],["fault",{"_index":4331,"title":{},"content":{"493":{"position":[[415,6]]}},"keywords":{}}],["faulti",{"_index":4441,"title":{},"content":{"514":{"position":[[942,6]]}},"keywords":{}}],["featur",{"_index":1862,"title":{"107":{"position":[[4,8]]}},"content":{"108":{"position":[[6,9]]},"109":{"position":[[6,9]]},"110":{"position":[[116,7]]},"257":{"position":[[1804,8]]},"304":{"position":[[96,8]]},"329":{"position":[[1553,7]]},"457":{"position":[[107,8],[356,7]]},"476":{"position":[[3605,8]]},"483":{"position":[[1256,7]]},"492":{"position":[[22,7]]},"617":{"position":[[930,7],[1119,7]]}},"keywords":{}}],["feedback",{"_index":2829,"title":{"295":{"position":[[0,9]]}},"content":{},"keywords":{}}],["feel",{"_index":1171,"title":{},"content":{"46":{"position":[[972,7]]}},"keywords":{}}],["fep",{"_index":1915,"title":{},"content":{"114":{"position":[[135,7]]}},"keywords":{}}],["few",{"_index":1716,"title":{},"content":{"90":{"position":[[426,3]]},"239":{"position":[[349,3]]},"332":{"position":[[283,3]]},"476":{"position":[[35,3]]},"488":{"position":[[289,3]]}},"keywords":{}}],["ff5252",{"_index":5513,"title":{},"content":{"762":{"position":[[454,10]]}},"keywords":{}}],["fi",{"_index":1126,"title":{},"content":{"44":{"position":[[3513,2]]}},"keywords":{}}],["field",{"_index":378,"title":{},"content":{"17":{"position":[[194,5]]},"18":{"position":[[198,5]]},"36":{"position":[[1880,5],[2214,5],[10703,7],[10846,6]]},"54":{"position":[[380,5]]},"59":{"position":[[989,6]]},"60":{"position":[[1458,6]]},"61":{"position":[[41,5],[156,6],[307,6],[369,5],[676,6],[767,5],[951,5],[1022,5],[1066,5],[1191,5],[1252,5],[1458,5],[1513,5],[1569,5],[1651,6],[2334,5],[2440,5],[3082,5],[3121,5],[3328,5],[3397,5]]},"62":{"position":[[1290,6]]},"63":{"position":[[593,5],[640,5],[1064,6],[2474,6]]},"64":{"position":[[650,5]]},"99":{"position":[[204,5],[322,6],[1241,5],[1473,5],[1713,5],[2346,5],[2852,5],[3286,5],[3941,5],[4230,5],[4874,5]]},"202":{"position":[[1880,5],[2214,5]]},"227":{"position":[[5488,5],[5966,5],[6036,5],[6155,5]]},"260":{"position":[[285,7]]},"267":{"position":[[1875,5]]},"321":{"position":[[1154,6]]},"329":{"position":[[731,6],[857,6]]},"435":{"position":[[118,5],[196,5]]},"525":{"position":[[284,6]]},"530":{"position":[[136,6]]},"533":{"position":[[420,5]]},"548":{"position":[[286,5]]},"552":{"position":[[555,6]]},"555":{"position":[[30,6],[130,6]]},"556":{"position":[[709,5]]},"563":{"position":[[493,6]]},"577":{"position":[[1324,6]]},"581":{"position":[[151,6]]},"589":{"position":[[492,6]]},"598":{"position":[[511,6]]},"599":{"position":[[994,6]]},"605":{"position":[[829,5]]},"759":{"position":[[93,7]]}},"keywords":{}}],["field"",{"_index":886,"title":{},"content":{"40":{"position":[[1008,11],[1144,11],[1279,11]]}},"keywords":{}}],["figur",{"_index":1028,"title":{},"content":{"44":{"position":[[132,6]]},"461":{"position":[[968,6]]}},"keywords":{}}],["file",{"_index":136,"title":{"4":{"position":[[0,4]]},"26":{"position":[[48,5]]},"27":{"position":[[22,5],[38,5]]},"28":{"position":[[13,4]]},"31":{"position":[[17,6]]},"40":{"position":[[8,5]]},"97":{"position":[[11,4]]},"98":{"position":[[0,4]]},"120":{"position":[[25,5]]},"198":{"position":[[19,6]]},"226":{"position":[[8,5]]},"242":{"position":[[12,5]]},"259":{"position":[[21,6]]},"285":{"position":[[8,5]]},"367":{"position":[[28,6]]},"446":{"position":[[8,5]]},"451":{"position":[[41,5]]},"452":{"position":[[19,4]]},"517":{"position":[[9,6]]},"538":{"position":[[0,4]]},"552":{"position":[[0,4]]},"563":{"position":[[0,4]]},"570":{"position":[[0,4]]},"577":{"position":[[0,4]]},"582":{"position":[[0,4]]},"583":{"position":[[0,4]]},"589":{"position":[[0,4]]},"598":{"position":[[0,4]]},"605":{"position":[[0,4]]}},"content":{"5":{"position":[[37,4],[1335,5]]},"6":{"position":[[133,6],[294,4],[620,4],[728,4],[1169,5]]},"7":{"position":[[86,4],[118,5],[416,4],[450,5],[461,4],[555,5],[566,4],[619,5]]},"8":{"position":[[64,6]]},"9":{"position":[[80,6]]},"12":{"position":[[17,4],[37,5],[186,5],[284,5],[364,4]]},"15":{"position":[[38,4],[106,4],[148,5],[239,4],[345,5],[432,4]]},"16":{"position":[[40,4],[110,4],[152,5],[243,4],[345,5],[434,4]]},"20":{"position":[[1324,4],[1455,4]]},"22":{"position":[[39,5]]},"23":{"position":[[437,5]]},"24":{"position":[[42,4],[147,5],[577,6]]},"26":{"position":[[10,5],[319,4],[341,6]]},"27":{"position":[[205,5],[461,5],[540,4],[599,4],[942,4],[978,4],[1020,5]]},"28":{"position":[[67,4]]},"31":{"position":[[18,5],[286,4],[474,5]]},"32":{"position":[[17,4],[117,5],[127,4],[194,5]]},"36":{"position":[[825,6],[4092,4]]},"40":{"position":[[9,5]]},"83":{"position":[[573,5],[1836,5]]},"85":{"position":[[1010,5]]},"98":{"position":[[21,5],[126,4]]},"99":{"position":[[12,5],[1466,5],[1658,5],[1890,5],[2552,5],[2712,4],[3192,7],[4098,5],[4157,5],[4385,4],[4867,5],[5051,5]]},"112":{"position":[[557,4],[605,4]]},"120":{"position":[[28,4],[225,4],[272,4],[411,5]]},"121":{"position":[[513,4],[626,5],[698,6]]},"123":{"position":[[155,4],[685,4]]},"133":{"position":[[413,5],[547,5]]},"136":{"position":[[184,5],[246,4],[276,5],[363,4],[402,4],[639,4]]},"143":{"position":[[475,4]]},"147":{"position":[[112,5]]},"148":{"position":[[55,4],[121,4]]},"150":{"position":[[119,5]]},"151":{"position":[[62,4],[128,4]]},"154":{"position":[[114,5]]},"155":{"position":[[57,4],[123,4]]},"157":{"position":[[121,5]]},"158":{"position":[[64,4],[130,4]]},"179":{"position":[[171,5]]},"181":{"position":[[144,5],[206,4],[236,5],[323,4],[362,4],[530,4]]},"187":{"position":[[56,4]]},"194":{"position":[[274,4]]},"198":{"position":[[20,5],[99,4],[159,5],[222,5],[342,5],[509,4],[711,5]]},"202":{"position":[[825,6],[4092,4]]},"213":{"position":[[214,6]]},"217":{"position":[[36,4],[133,4],[286,4],[330,5]]},"225":{"position":[[92,4]]},"226":{"position":[[9,5]]},"229":{"position":[[364,6],[683,4],[811,4],[890,5],[1060,4],[1176,4],[1406,4],[1476,4]]},"230":{"position":[[391,5],[732,5],[764,5],[937,5],[1059,4],[1442,6],[1531,4],[2111,5],[2468,5],[2506,4]]},"231":{"position":[[441,5],[1169,4]]},"232":{"position":[[598,5]]},"233":{"position":[[637,5]]},"234":{"position":[[627,5],[879,4]]},"235":{"position":[[731,5],[988,5],[1402,5],[1479,4],[1700,4],[1862,4]]},"237":{"position":[[224,5],[333,4],[434,5]]},"240":{"position":[[359,6],[821,5],[1419,5],[1876,4]]},"241":{"position":[[128,4],[293,5]]},"242":{"position":[[28,4],[124,4]]},"250":{"position":[[157,6]]},"253":{"position":[[1620,5],[1665,5],[6157,6],[6450,5],[7468,6]]},"254":{"position":[[186,5],[626,5],[2000,5]]},"256":{"position":[[358,4]]},"257":{"position":[[1312,5],[1569,5],[1674,4]]},"259":{"position":[[22,5],[123,4],[185,5],[250,5],[372,5],[540,4],[738,5]]},"260":{"position":[[496,4]]},"263":{"position":[[523,5]]},"267":{"position":[[820,6],[3041,4],[10549,4],[10597,4]]},"275":{"position":[[223,6]]},"276":{"position":[[207,4],[249,4]]},"282":{"position":[[94,4]]},"284":{"position":[[140,4]]},"285":{"position":[[9,5]]},"289":{"position":[[1256,4]]},"290":{"position":[[596,5],[706,5]]},"291":{"position":[[131,4],[283,4],[847,4],[1017,4],[1495,5]]},"292":{"position":[[89,4],[226,4],[433,4]]},"297":{"position":[[853,5],[903,5],[999,5],[1082,5],[1095,5],[1169,5],[1180,5]]},"304":{"position":[[1483,4]]},"305":{"position":[[1089,4]]},"306":{"position":[[616,4]]},"307":{"position":[[82,4]]},"308":{"position":[[681,4],[767,4]]},"320":{"position":[[578,5]]},"321":{"position":[[53,5],[74,6],[207,5],[3831,4]]},"322":{"position":[[263,5],[1645,5],[1718,5]]},"324":{"position":[[2522,4],[2651,4],[3083,4],[3689,5]]},"327":{"position":[[149,4],[517,4]]},"328":{"position":[[792,5]]},"331":{"position":[[339,5],[370,4],[447,5]]},"332":{"position":[[226,5],[870,4],[922,4]]},"333":{"position":[[57,4]]},"334":{"position":[[653,5],[1346,4]]},"338":{"position":[[40,4],[68,4]]},"339":{"position":[[55,4],[169,5]]},"343":{"position":[[285,5],[376,5],[502,4]]},"344":{"position":[[71,5],[334,5]]},"345":{"position":[[656,5]]},"351":{"position":[[462,5]]},"366":{"position":[[328,4],[353,4],[370,4]]},"367":{"position":[[29,5],[220,5],[356,5]]},"368":{"position":[[118,4]]},"403":{"position":[[147,6]]},"441":{"position":[[95,5],[105,4]]},"442":{"position":[[555,4],[1394,4]]},"446":{"position":[[9,5]]},"451":{"position":[[16,4],[158,6],[197,4]]},"452":{"position":[[46,4],[77,6],[112,5]]},"453":{"position":[[68,6],[111,5]]},"476":{"position":[[1569,5],[4474,4]]},"480":{"position":[[854,4],[981,5]]},"482":{"position":[[534,4],[661,5]]},"485":{"position":[[95,5],[247,5],[467,5]]},"487":{"position":[[605,4]]},"488":{"position":[[270,6],[526,6],[572,5],[617,4],[718,6],[886,6],[1274,4],[1316,4],[1443,4],[1504,4],[1571,4]]},"497":{"position":[[528,4],[827,4]]},"507":{"position":[[296,5],[490,6]]},"508":{"position":[[522,6]]},"516":{"position":[[22,4],[102,5],[124,4]]},"517":{"position":[[643,6]]},"518":{"position":[[37,4],[62,4],[162,5]]},"519":{"position":[[59,5]]},"520":{"position":[[46,5],[103,5]]},"527":{"position":[[513,4]]},"538":{"position":[[53,4]]},"544":{"position":[[200,6]]},"550":{"position":[[81,6]]},"559":{"position":[[255,4]]},"581":{"position":[[27,4],[56,4],[172,5]]},"583":{"position":[[27,4],[61,5],[82,5],[103,5],[231,4]]},"584":{"position":[[83,4],[114,4],[144,4],[256,4]]},"585":{"position":[[123,4],[185,5],[229,4],[380,4],[441,4],[446,4]]},"586":{"position":[[125,4],[200,5],[246,4],[399,4],[477,4]]},"588":{"position":[[125,5]]},"603":{"position":[[87,5],[207,6]]},"605":{"position":[[102,4],[167,4],[224,4],[263,4],[285,4],[301,4],[418,4],[540,4],[569,4],[603,4],[621,4],[674,4],[924,5]]},"609":{"position":[[89,4],[187,4]]},"611":{"position":[[717,4]]},"617":{"position":[[272,6]]},"628":{"position":[[10,4],[27,4],[260,4],[399,4],[450,5],[506,5],[528,4],[617,4],[721,4],[747,4],[752,4],[868,4],[938,4],[1045,4],[1072,4],[1077,4],[1195,4]]},"629":{"position":[[10,4],[181,4],[288,4],[341,4],[411,5],[577,4],[703,5],[906,4],[1062,5]]},"630":{"position":[[10,4],[157,4],[271,5],[331,5]]},"632":{"position":[[61,4],[121,6],[324,4],[441,6],[1099,4],[1160,4],[1318,4],[1447,4],[1459,4],[1498,5],[1584,5],[1601,4],[1658,6],[1670,4],[1725,4],[1892,5],[1997,4],[2044,4],[2052,6]]},"700":{"position":[[128,5]]},"711":{"position":[[408,5]]},"720":{"position":[[354,5]]},"735":{"position":[[42,5]]},"736":{"position":[[302,5],[314,5]]},"737":{"position":[[19,4],[518,4]]},"744":{"position":[[44,4]]},"752":{"position":[[233,4],[280,4]]}},"keywords":{}}],["file"",{"_index":4801,"title":{},"content":{"632":{"position":[[1362,11],[1769,11]]}},"keywords":{}}],["file(",{"_index":4790,"title":{},"content":{"632":{"position":[[141,7]]}},"keywords":{}}],["file.clos",{"_index":4765,"title":{},"content":{"628":{"position":[[1050,12],[1173,12]]},"632":{"position":[[1879,12],[2090,12]]}},"keywords":{}}],["file.delet",{"_index":4540,"title":{},"content":{"585":{"position":[[1065,11]]},"632":{"position":[[1486,11],[1690,11]]}},"keywords":{}}],["file.read",{"_index":4530,"title":{},"content":{"585":{"position":[[499,9]]},"628":{"position":[[835,11]]},"632":{"position":[[1476,9],[1680,9]]}},"keywords":{}}],["file.read().format",{"_index":4760,"title":{},"content":{"628":{"position":[[681,21]]}},"keywords":{}}],["file.rewind",{"_index":4775,"title":{},"content":{"629":{"position":[[647,11]]}},"keywords":{}}],["file.seek(0",{"_index":4780,"title":{},"content":{"629":{"position":[[1005,12]]}},"keywords":{}}],["file.unlink",{"_index":4761,"title":{},"content":{"628":{"position":[[726,11],[847,11]]}},"keywords":{}}],["file.write("thi",{"_index":4774,"title":{},"content":{"629":{"position":[[605,21],[963,21]]}},"keywords":{}}],["filecompose.yaml",{"_index":2997,"title":{},"content":{"315":{"position":[[148,16]]}},"keywords":{}}],["filedownload",{"_index":4576,"title":{},"content":{"605":{"position":[[198,13]]}},"keywords":{}}],["filenam",{"_index":329,"title":{},"content":{"12":{"position":[[161,8],[240,9],[349,9],[555,9]]},"20":{"position":[[1252,8],[1383,8]]},"36":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"54":{"position":[[3141,8]]},"98":{"position":[[146,8]]},"123":{"position":[[661,8]]},"134":{"position":[[527,8],[564,8]]},"143":{"position":[[451,8]]},"170":{"position":[[128,9],[198,10]]},"183":{"position":[[134,9],[204,10]]},"187":{"position":[[280,9]]},"193":{"position":[[126,9],[196,10]]},"196":{"position":[[128,9],[198,10]]},"202":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"217":{"position":[[336,8]]},"224":{"position":[[208,8],[221,8],[275,8],[376,9]]},"267":{"position":[[3510,8],[3523,8],[3577,8],[3678,9],[10513,8]]},"276":{"position":[[171,8]]},"332":{"position":[[839,8]]},"339":{"position":[[78,10]]},"441":{"position":[[70,8]]},"442":{"position":[[512,8],[1363,8]]},"488":{"position":[[1719,8]]},"605":{"position":[[505,8],[820,8],[842,8]]},"607":{"position":[[128,8]]},"736":{"position":[[266,8]]},"737":{"position":[[490,8]]}},"keywords":{}}],["filename>"",{"_index":5414,"title":{},"content":{"736":{"position":[[213,19]]},"737":{"position":[[439,19]]}},"keywords":{}}],["filenamecr",{"_index":4571,"title":{},"content":{"605":{"position":[[25,15]]}},"keywords":{}}],["filepacket",{"_index":4037,"title":{},"content":{"454":{"position":[[292,11]]}},"keywords":{}}],["files"",{"_index":4805,"title":{},"content":{"632":{"position":[[1544,12],[1938,12]]}},"keywords":{}}],["files.each",{"_index":4806,"title":{},"content":{"632":{"position":[[1644,10]]}},"keywords":{}}],["files.program",{"_index":2848,"title":{},"content":{"298":{"position":[[1462,13]]}},"keywords":{}}],["filesav",{"_index":4574,"title":{},"content":{"605":{"position":[[136,9]]}},"keywords":{}}],["fill",{"_index":649,"title":{},"content":{"35":{"position":[[445,5]]},"37":{"position":[[238,5]]},"59":{"position":[[984,4],[1007,4]]},"60":{"position":[[677,7],[1453,4],[1476,4]]},"61":{"position":[[494,7],[2367,4],[2482,6]]},"62":{"position":[[1285,4],[1308,4]]},"63":{"position":[[690,6],[846,4],[877,6],[2469,4],[2492,4]]},"67":{"position":[[162,4],[227,5]]},"201":{"position":[[474,5]]},"203":{"position":[[257,5]]},"204":{"position":[[644,5]]},"205":{"position":[[480,5]]},"206":{"position":[[645,5]]},"207":{"position":[[428,5]]},"216":{"position":[[100,6],[191,6]]},"217":{"position":[[98,6],[187,6]]},"266":{"position":[[472,5]]},"268":{"position":[[264,5]]},"269":{"position":[[595,5]]},"270":{"position":[[264,5]]},"271":{"position":[[638,5]]},"272":{"position":[[430,5]]},"277":{"position":[[226,6]]},"303":{"position":[[271,4],[1323,6]]},"321":{"position":[[234,4]]},"347":{"position":[[1527,6]]},"553":{"position":[[3,4]]},"593":{"position":[[145,4]]},"600":{"position":[[306,5],[466,5]]},"601":{"position":[[143,4]]},"605":{"position":[[804,7]]}},"keywords":{}}],["filter",{"_index":4473,"title":{},"content":{"544":{"position":[[270,8]]},"572":{"position":[[157,6]]},"575":{"position":[[284,6]]},"579":{"position":[[56,8]]},"605":{"position":[[517,6]]},"632":{"position":[[536,7],[646,7],[1058,6],[1084,6],[1416,7]]},"759":{"position":[[148,6]]}},"keywords":{}}],["filter="<filter>"",{"_index":4795,"title":{},"content":{"632":{"position":[[773,34],[882,34]]}},"keywords":{}}],["filter=".txt"",{"_index":4807,"title":{},"content":{"632":{"position":[[1823,24]]}},"keywords":{}}],["final",{"_index":843,"title":{},"content":{"36":{"position":[[10074,7]]},"56":{"position":[[274,5]]},"59":{"position":[[426,8]]},"69":{"position":[[4208,5],[4883,5]]},"202":{"position":[[10074,7]]},"229":{"position":[[866,5]]},"405":{"position":[[281,5]]},"422":{"position":[[289,5]]},"465":{"position":[[694,8]]},"476":{"position":[[4888,7]]},"488":{"position":[[1957,8]]},"513":{"position":[[386,7]]},"514":{"position":[[1016,7]]},"564":{"position":[[267,7]]},"601":{"position":[[989,5]]},"617":{"position":[[713,8],[1186,8]]}},"keywords":{}}],["find",{"_index":117,"title":{},"content":{"3":{"position":[[505,4],[654,4]]},"44":{"position":[[1428,4]]},"194":{"position":[[256,4]]},"289":{"position":[[1247,4]]},"295":{"position":[[1,4]]},"304":{"position":[[1822,4],[1837,4]]},"328":{"position":[[825,4]]},"337":{"position":[[169,4]]},"449":{"position":[[622,4]]}},"keywords":{}}],["fine",{"_index":2769,"title":{},"content":{"289":{"position":[[763,4]]},"322":{"position":[[1414,4]]},"502":{"position":[[445,4]]}},"keywords":{}}],["finish",{"_index":4398,"title":{},"content":{"504":{"position":[[291,6]]},"606":{"position":[[23,8]]}},"keywords":{}}],["fired!"",{"_index":739,"title":{},"content":{"36":{"position":[[3938,12]]},"202":{"position":[[3938,12]]}},"keywords":{}}],["firefox",{"_index":395,"title":{},"content":{"20":{"position":[[74,7]]},"46":{"position":[[1554,8]]},"299":{"position":[[315,7],[350,7]]}},"keywords":{}}],["firewal",{"_index":3199,"title":{},"content":{"324":{"position":[[3738,8]]},"464":{"position":[[296,9]]},"467":{"position":[[130,9]]}},"keywords":{}}],["first",{"_index":157,"title":{},"content":{"5":{"position":[[429,6]]},"6":{"position":[[464,5]]},"43":{"position":[[79,5]]},"54":{"position":[[2905,5],[3458,6],[3480,7],[3558,7]]},"69":{"position":[[1578,5],[1673,5],[1957,5],[3837,6]]},"79":{"position":[[833,5]]},"83":{"position":[[816,5]]},"93":{"position":[[501,5],[943,5]]},"94":{"position":[[485,5],[734,5]]},"95":{"position":[[153,6]]},"99":{"position":[[1423,5],[1615,5],[1900,5],[2562,5],[4697,5],[5061,5]]},"208":{"position":[[103,5]]},"227":{"position":[[1431,5],[2070,5]]},"233":{"position":[[1068,5]]},"253":{"position":[[5551,7],[5660,5]]},"273":{"position":[[102,5]]},"283":{"position":[[593,5]]},"285":{"position":[[531,5]]},"290":{"position":[[269,5],[347,5]]},"304":{"position":[[3894,5]]},"315":{"position":[[354,5]]},"329":{"position":[[340,5],[514,5]]},"343":{"position":[[550,6],[622,6]]},"369":{"position":[[61,5]]},"400":{"position":[[63,5]]},"465":{"position":[[368,6]]},"476":{"position":[[3718,5]]},"488":{"position":[[1204,5]]},"490":{"position":[[242,5]]},"533":{"position":[[21,5]]},"564":{"position":[[144,5]]},"572":{"position":[[47,5]]},"578":{"position":[[713,5]]},"599":{"position":[[1342,5]]},"600":{"position":[[522,5]]},"601":{"position":[[307,5]]},"605":{"position":[[582,5]]},"612":{"position":[[580,5],[758,5]]},"703":{"position":[[1320,5]]},"746":{"position":[[855,5]]},"771":{"position":[[61,5]]}},"keywords":{}}],["fit",{"_index":2965,"title":{},"content":{"309":{"position":[[106,4]]},"360":{"position":[[847,7]]},"386":{"position":[[239,3]]},"387":{"position":[[108,3],[143,3]]},"388":{"position":[[88,3]]},"389":{"position":[[112,3]]},"390":{"position":[[89,3]]},"391":{"position":[[97,3]]}},"keywords":{}}],["fix",{"_index":1213,"title":{"60":{"position":[[0,5]]}},"content":{"49":{"position":[[1181,5],[2095,5]]},"50":{"position":[[1005,5],[1772,5]]},"52":{"position":[[1228,5]]},"54":{"position":[[292,5],[308,5],[391,5],[931,5],[1671,5]]},"56":{"position":[[80,6]]},"60":{"position":[[5,5],[346,5],[418,5],[513,5],[602,5]]},"61":{"position":[[52,5]]},"69":{"position":[[255,5]]},"103":{"position":[[311,3]]},"332":{"position":[[357,3]]},"369":{"position":[[506,5]]},"399":{"position":[[10,5]]},"745":{"position":[[505,5],[777,5]]},"746":{"position":[[965,5],[1248,5]]}},"keywords":{}}],["fixlinux",{"_index":1845,"title":{},"content":{"103":{"position":[[533,8]]}},"keywords":{}}],["fixwindow",{"_index":1842,"title":{},"content":{"103":{"position":[[357,10]]}},"keywords":{}}],["flag",{"_index":379,"title":{},"content":{"17":{"position":[[261,4]]},"18":{"position":[[266,4]]},"61":{"position":[[2409,4]]},"71":{"position":[[858,4]]},"75":{"position":[[1510,4]]},"76":{"position":[[677,4]]},"99":{"position":[[530,4],[591,4],[656,4],[723,4],[830,4],[932,4],[3153,4],[3560,4],[3696,4],[3874,4]]},"263":{"position":[[710,4]]},"304":{"position":[[6579,4],[6792,4]]},"493":{"position":[[225,4]]},"651":{"position":[[63,7]]}},"keywords":{}}],["flag"",{"_index":2219,"title":{},"content":{"226":{"position":[[365,10],[1243,10],[2013,10]]},"285":{"position":[[352,10]]}},"keywords":{}}],["flags"",{"_index":2222,"title":{},"content":{"226":{"position":[[544,11],[1422,11],[2192,11]]},"285":{"position":[[513,11]]}},"keywords":{}}],["flavor",{"_index":2532,"title":{},"content":{"253":{"position":[[3347,6]]}},"keywords":{}}],["flight",{"_index":1895,"title":{},"content":{"108":{"position":[[678,6]]},"298":{"position":[[899,6]]}},"keywords":{}}],["float",{"_index":625,"title":{},"content":{"31":{"position":[[579,6],[650,8]]},"35":{"position":[[713,6],[778,6]]},"37":{"position":[[506,6],[571,6]]},"198":{"position":[[880,6],[951,8]]},"201":{"position":[[742,6],[807,6],[2112,5]]},"203":{"position":[[525,6],[590,6],[1846,5]]},"204":{"position":[[912,6],[977,6]]},"205":{"position":[[748,6],[813,6]]},"206":{"position":[[508,6],[977,5]]},"207":{"position":[[291,6],[764,5]]},"226":{"position":[[755,5]]},"232":{"position":[[1084,5]]},"233":{"position":[[1301,5]]},"253":{"position":[[2940,5],[3825,5],[3831,7],[4915,5]]},"254":{"position":[[1538,5]]},"259":{"position":[[904,6],[975,8]]},"263":{"position":[[1247,5]]},"266":{"position":[[745,6]]},"267":{"position":[[7405,6]]},"268":{"position":[[537,6]]},"269":{"position":[[754,6]]},"270":{"position":[[423,6]]},"271":{"position":[[501,6],[965,5]]},"272":{"position":[[293,6],[761,5]]},"285":{"position":[[1238,5]]},"454":{"position":[[10,6]]},"504":{"position":[[813,8]]},"593":{"position":[[256,5],[470,7]]}},"keywords":{}}],["float(multipli",{"_index":782,"title":{},"content":{"36":{"position":[[5993,17]]},"202":{"position":[[5993,17]]},"267":{"position":[[4473,17]]}},"keywords":{}}],["floats"",{"_index":2149,"title":{},"content":{"206":{"position":[[1011,12]]},"207":{"position":[[798,12]]},"271":{"position":[[993,12]]},"272":{"position":[[789,12]]}},"keywords":{}}],["flow",{"_index":1920,"title":{},"content":{"116":{"position":[[9,4]]},"289":{"position":[[1232,7]]},"298":{"position":[[1323,5]]},"338":{"position":[[764,4]]},"364":{"position":[[474,5]]}},"keywords":{}}],["flow_control",{"_index":1979,"title":{},"content":{"135":{"position":[[338,12],[748,12]]},"338":{"position":[[804,12],[1377,12],[1397,12]]}},"keywords":{}}],["fluent",{"_index":3390,"title":{},"content":{"350":{"position":[[1334,6],[1417,6],[1477,6]]}},"keywords":{}}],["fluent/fluentd",{"_index":3360,"title":{"350":{"position":[[0,15]]}},"content":{},"keywords":{}}],["fluent/fluentd:v1.10.3",{"_index":3388,"title":{},"content":{"350":{"position":[[1234,22]]}},"keywords":{}}],["fluentd",{"_index":3361,"title":{},"content":{"350":{"position":[[1,7],[1030,7]]}},"keywords":{}}],["fluentd/etc/fluent.conf",{"_index":3389,"title":{},"content":{"350":{"position":[[1283,24]]}},"keywords":{}}],["flush_interv",{"_index":3383,"title":{},"content":{"350":{"position":[[473,14],[803,14],[1125,14]]}},"keywords":{}}],["fnkgt8h4nynrzr8po2jwebpfyzlr00gvsyk",{"_index":991,"title":{},"content":{"43":{"position":[[2404,35],[5869,35]]}},"keywords":{}}],["focu",{"_index":4556,"title":{},"content":{"593":{"position":[[625,5]]},"601":{"position":[[926,5]]}},"keywords":{}}],["folder",{"_index":338,"title":{},"content":{"12":{"position":[[377,6],[434,6]]},"27":{"position":[[128,7],[174,6]]},"36":{"position":[[4141,7]]},"104":{"position":[[27,7]]},"105":{"position":[[34,7]]},"122":{"position":[[135,6]]},"138":{"position":[[137,6],[356,6]]},"144":{"position":[[76,6],[150,6],[234,7]]},"171":{"position":[[223,6],[270,6]]},"174":{"position":[[121,6],[340,6]]},"184":{"position":[[296,6],[335,6]]},"202":{"position":[[4141,7]]},"230":{"position":[[951,6],[1702,6]]},"267":{"position":[[3090,7]]},"284":{"position":[[174,6]]},"320":{"position":[[1357,6],[1384,7]]},"321":{"position":[[22,6],[3555,7]]},"343":{"position":[[29,7]]},"344":{"position":[[15,6]]},"451":{"position":[[226,6]]},"452":{"position":[[147,6]]},"453":{"position":[[146,6]]},"485":{"position":[[192,6]]},"517":{"position":[[107,7]]},"518":{"position":[[207,6]]},"520":{"position":[[148,6]]},"605":{"position":[[391,7],[760,6],[783,6]]},"736":{"position":[[351,6]]}},"keywords":{}}],["folder/my_file"",{"_index":341,"title":{},"content":{"12":{"position":[[466,21]]}},"keywords":{}}],["follow",{"_index":143,"title":{},"content":{"5":{"position":[[68,8],[535,9]]},"6":{"position":[[318,10],[806,10]]},"7":{"position":[[668,8],[804,8]]},"27":{"position":[[219,9],[648,9],[774,9]]},"28":{"position":[[98,9]]},"34":{"position":[[5,9],[29,6]]},"36":{"position":[[5,9],[29,6]]},"48":{"position":[[21,9]]},"49":{"position":[[2791,6]]},"50":{"position":[[2384,6]]},"51":{"position":[[1259,6]]},"52":{"position":[[1809,6]]},"54":{"position":[[145,9],[2271,9]]},"56":{"position":[[21,9]]},"60":{"position":[[484,8]]},"61":{"position":[[2856,10]]},"62":{"position":[[273,8]]},"65":{"position":[[21,9]]},"69":{"position":[[1741,9],[4975,6]]},"75":{"position":[[351,9]]},"76":{"position":[[384,9]]},"77":{"position":[[400,9]]},"78":{"position":[[399,9]]},"83":{"position":[[893,9],[1750,9]]},"85":{"position":[[885,9]]},"91":{"position":[[49,9]]},"93":{"position":[[5,9]]},"94":{"position":[[5,9]]},"95":{"position":[[169,10]]},"120":{"position":[[230,7],[296,8],[353,9]]},"124":{"position":[[5,9],[29,6]]},"145":{"position":[[5,9],[29,6]]},"172":{"position":[[5,9],[29,6]]},"185":{"position":[[5,9],[29,6]]},"195":{"position":[[5,9],[29,6]]},"198":{"position":[[847,9]]},"200":{"position":[[5,9],[29,6]]},"202":{"position":[[5,9],[29,6]]},"227":{"position":[[719,9],[2368,8],[3104,8],[3385,8],[4028,8]]},"229":{"position":[[354,9]]},"230":{"position":[[381,9]]},"231":{"position":[[431,9]]},"232":{"position":[[501,9],[588,9]]},"233":{"position":[[537,9],[627,9]]},"234":{"position":[[617,9]]},"235":{"position":[[721,9]]},"240":{"position":[[758,10],[1586,10]]},"253":{"position":[[671,8]]},"257":{"position":[[887,6],[1842,6]]},"259":{"position":[[871,9]]},"262":{"position":[[702,8]]},"265":{"position":[[5,9],[29,6]]},"267":{"position":[[5,9],[29,6]]},"287":{"position":[[5,9]]},"291":{"position":[[1175,9]]},"292":{"position":[[282,9]]},"297":{"position":[[76,9]]},"298":{"position":[[5,9]]},"313":{"position":[[41,9]]},"316":{"position":[[46,10]]},"320":{"position":[[1496,6],[1573,9]]},"321":{"position":[[249,9]]},"324":{"position":[[523,9],[2494,9]]},"327":{"position":[[26,6]]},"328":{"position":[[136,8],[834,10],[1797,10]]},"329":{"position":[[1023,9],[1387,9]]},"338":{"position":[[346,9]]},"341":{"position":[[91,9]]},"347":{"position":[[2112,9]]},"357":{"position":[[409,9]]},"359":{"position":[[418,6]]},"361":{"position":[[137,6]]},"362":{"position":[[431,6]]},"364":{"position":[[79,9]]},"367":{"position":[[128,8]]},"384":{"position":[[428,9]]},"404":{"position":[[18,8],[909,9]]},"405":{"position":[[37,8]]},"406":{"position":[[37,8]]},"407":{"position":[[45,8]]},"408":{"position":[[37,8]]},"409":{"position":[[37,8]]},"410":{"position":[[37,8]]},"411":{"position":[[246,8],[846,9]]},"415":{"position":[[24,8]]},"416":{"position":[[24,8]]},"417":{"position":[[24,8]]},"418":{"position":[[645,9]]},"419":{"position":[[698,9]]},"420":{"position":[[37,8],[665,9]]},"441":{"position":[[612,9]]},"442":{"position":[[1168,9]]},"444":{"position":[[1076,9]]},"452":{"position":[[9,9]]},"453":{"position":[[9,9]]},"455":{"position":[[5,9]]},"456":{"position":[[5,9]]},"457":{"position":[[84,9]]},"461":{"position":[[42,9]]},"464":{"position":[[404,6]]},"466":{"position":[[801,9]]},"476":{"position":[[1214,9],[1789,9],[2676,9]]},"478":{"position":[[216,8],[251,10]]},"497":{"position":[[214,8],[364,9],[669,9]]},"585":{"position":[[29,9]]},"586":{"position":[[29,9]]},"593":{"position":[[485,9]]},"599":{"position":[[1264,9]]},"606":{"position":[[434,6]]},"618":{"position":[[85,9]]},"619":{"position":[[5,9]]},"620":{"position":[[5,9]]},"621":{"position":[[5,9]]},"658":{"position":[[740,8]]}},"keywords":{}}],["font",{"_index":2093,"title":{},"content":{"189":{"position":[[176,4]]},"382":{"position":[[90,4],[197,4]]},"439":{"position":[[254,4],[264,4]]},"440":{"position":[[361,4],[371,4]]}},"keywords":{}}],["footer",{"_index":276,"title":{},"content":{"7":{"position":[[1142,6]]}},"keywords":{}}],["footnot",{"_index":3582,"title":{},"content":{"357":{"position":[[4216,10]]}},"keywords":{}}],["forc",{"_index":380,"title":{},"content":{"17":{"position":[[281,5],[295,5]]},"18":{"position":[[286,5],[300,5]]},"35":{"position":[[1109,6],[1640,6]]},"37":{"position":[[902,6],[1433,6]]},"201":{"position":[[1138,6],[1669,6]]},"203":{"position":[[921,6],[1452,6]]},"204":{"position":[[1813,6]]},"205":{"position":[[1649,6]]}},"keywords":{}}],["foreground",{"_index":3915,"title":{},"content":{"429":{"position":[[1417,10]]}},"keywords":{}}],["foreign",{"_index":3684,"title":{},"content":{"363":{"position":[[1082,7]]}},"keywords":{}}],["forev",{"_index":2020,"title":{},"content":{"149":{"position":[[143,8]]},"152":{"position":[[147,8]]},"156":{"position":[[147,8]]},"159":{"position":[[151,8]]},"160":{"position":[[169,8]]},"161":{"position":[[165,8]]},"162":{"position":[[163,8]]},"163":{"position":[[163,8]]},"164":{"position":[[163,8]]},"359":{"position":[[1823,7]]}},"keywords":{}}],["forget",{"_index":3110,"title":{},"content":{"321":{"position":[[3662,6]]},"493":{"position":[[455,10],[505,10]]}},"keywords":{}}],["fork",{"_index":4009,"title":{},"content":{"449":{"position":[[71,4],[104,5]]}},"keywords":{}}],["form",{"_index":200,"title":{},"content":{"6":{"position":[[160,5]]},"43":{"position":[[461,4]]},"93":{"position":[[533,4]]},"94":{"position":[[517,4]]},"179":{"position":[[110,4]]},"227":{"position":[[6092,4]]},"367":{"position":[[103,4]]},"368":{"position":[[130,4]]},"459":{"position":[[1222,4]]},"660":{"position":[[21,4]]},"663":{"position":[[406,4]]},"676":{"position":[[295,4]]}},"keywords":{}}],["formal",{"_index":3636,"title":{},"content":{"360":{"position":[[398,6],[1289,7]]},"482":{"position":[[590,7]]}},"keywords":{}}],["format",{"_index":137,"title":{"4":{"position":[[5,6]]},"28":{"position":[[26,7]]},"97":{"position":[[16,7]]}},"content":{"5":{"position":[[908,6]]},"26":{"position":[[38,7],[223,6]]},"28":{"position":[[82,7],[139,7]]},"33":{"position":[[218,6]]},"35":{"position":[[1319,7],[1850,6]]},"36":{"position":[[92,10],[148,6]]},"37":{"position":[[1112,7],[1643,6]]},"44":{"position":[[1961,11]]},"93":{"position":[[1116,6]]},"94":{"position":[[284,9],[368,9]]},"99":{"position":[[139,7],[160,6],[3931,6]]},"120":{"position":[[277,6]]},"199":{"position":[[378,6]]},"201":{"position":[[1348,7],[1879,6]]},"202":{"position":[[92,10],[148,6]]},"203":{"position":[[1131,7],[1662,6]]},"204":{"position":[[1492,7],[2023,6]]},"205":{"position":[[1328,7],[1859,6]]},"206":{"position":[[879,6]]},"207":{"position":[[662,6]]},"216":{"position":[[145,9]]},"217":{"position":[[141,9]]},"227":{"position":[[3192,10],[4110,10]]},"229":{"position":[[1068,9]]},"230":{"position":[[782,6]]},"259":{"position":[[1651,9]]},"263":{"position":[[857,6]]},"264":{"position":[[395,6]]},"266":{"position":[[954,7]]},"267":{"position":[[87,10],[143,6]]},"268":{"position":[[746,7]]},"269":{"position":[[1048,7]]},"270":{"position":[[717,7]]},"271":{"position":[[872,6]]},"272":{"position":[[664,6]]},"285":{"position":[[1461,9]]},"305":{"position":[[138,7],[1501,10],[1516,9]]},"308":{"position":[[67,6],[553,10]]},"328":{"position":[[970,7],[1114,7],[1262,7]]},"368":{"position":[[331,7]]},"400":{"position":[[291,7]]},"401":{"position":[[285,6],[299,6],[523,10],[623,9]]},"402":{"position":[[285,6],[299,6],[487,6],[494,6],[710,10]]},"403":{"position":[[23,9],[48,9],[99,6],[520,6],[547,6],[695,10]]},"404":{"position":[[259,10]]},"405":{"position":[[507,10]]},"406":{"position":[[280,10]]},"407":{"position":[[426,10]]},"408":{"position":[[300,10]]},"409":{"position":[[303,10]]},"410":{"position":[[577,10]]},"411":{"position":[[567,10]]},"412":{"position":[[296,10]]},"413":{"position":[[294,10]]},"414":{"position":[[280,10]]},"415":{"position":[[269,10]]},"416":{"position":[[272,10]]},"417":{"position":[[546,10]]},"418":{"position":[[1387,9]]},"419":{"position":[[1440,9]]},"420":{"position":[[1412,9]]},"421":{"position":[[286,6],[303,6]]},"422":{"position":[[517,10]]},"423":{"position":[[556,10]]},"427":{"position":[[508,10]]},"440":{"position":[[541,10]]},"442":{"position":[[471,10]]},"444":{"position":[[699,10]]},"482":{"position":[[1497,7]]},"527":{"position":[[502,6]]},"536":{"position":[[282,9]]},"566":{"position":[[11,7],[78,9]]},"571":{"position":[[56,9],[90,9]]},"618":{"position":[[739,9],[749,9],[855,9],[923,6],[976,9],[1066,9],[1087,9],[1133,9],[1323,9]]},"628":{"position":[[705,6],[928,9],[1029,6]]},"652":{"position":[[580,10]]},"660":{"position":[[494,10]]},"662":{"position":[[558,10],[715,11]]},"669":{"position":[[620,10]]},"670":{"position":[[505,10]]},"671":{"position":[[499,10]]},"672":{"position":[[317,10]]},"673":{"position":[[1694,12]]},"681":{"position":[[1350,10]]},"682":{"position":[[1117,10]]},"685":{"position":[[962,10]]},"686":{"position":[[1013,10]]}},"keywords":{}}],["format_str",{"_index":656,"title":{},"content":{"36":{"position":[[58,14],[250,13]]},"40":{"position":[[247,13],[364,13],[473,13],[588,13],[1020,13]]},"202":{"position":[[58,14],[250,13]]},"267":{"position":[[53,14],[245,13]]},"321":{"position":[[488,13],[593,13],[834,13],[1344,13],[1453,13],[1876,13],[1985,13],[2376,13],[2485,13],[2897,13],[2987,13]]}},"keywords":{}}],["formatt",{"_index":2415,"title":{},"content":{"235":{"position":[[1611,10]]}},"keywords":{}}],["formatvalu",{"_index":3823,"title":{"403":{"position":[[0,12]]}},"content":{"403":{"position":[[834,11],[885,11]]}},"keywords":{}}],["formerli",{"_index":3679,"title":{},"content":{"363":{"position":[[181,9]]}},"keywords":{}}],["fortun",{"_index":4408,"title":{},"content":{"505":{"position":[[107,12]]}},"keywords":{}}],["forward",{"_index":1921,"title":{},"content":{"116":{"position":[[119,9]]},"336":{"position":[[122,8]]},"350":{"position":[[190,7]]},"360":{"position":[[1202,8]]}},"keywords":{}}],["found",{"_index":1341,"title":{},"content":{"59":{"position":[[909,5]]},"60":{"position":[[1307,5]]},"61":{"position":[[2207,5]]},"62":{"position":[[73,5],[171,5],[1209,5]]},"63":{"position":[[2393,5]]},"64":{"position":[[489,5]]},"90":{"position":[[56,5]]},"104":{"position":[[144,5]]},"105":{"position":[[307,5]]},"235":{"position":[[1786,5]]},"328":{"position":[[38,5],[1224,5]]},"334":{"position":[[231,5]]},"351":{"position":[[325,5],[396,5]]},"493":{"position":[[149,5],[293,5]]},"584":{"position":[[169,5],[283,5]]},"616":{"position":[[264,5]]}},"keywords":{}}],["foundher",{"_index":3034,"title":{},"content":{"320":{"position":[[58,10]]}},"keywords":{}}],["four",{"_index":2949,"title":{},"content":{"305":{"position":[[1460,4],[1575,4]]},"355":{"position":[[931,4]]},"618":{"position":[[11,4]]}},"keywords":{}}],["fqt",{"_index":2897,"title":{},"content":{"304":{"position":[[1291,4]]}},"keywords":{}}],["frame",{"_index":980,"title":{},"content":{"43":{"position":[[1197,5]]},"57":{"position":[[151,7]]},"58":{"position":[[74,5],[700,6],[998,6]]},"437":{"position":[[97,5]]},"438":{"position":[[136,5]]},"440":{"position":[[73,5]]}},"keywords":{}}],["framework",{"_index":2089,"title":{},"content":{"188":{"position":[[168,10]]},"227":{"position":[[479,10]]},"229":{"position":[[1613,9]]},"235":{"position":[[217,9],[342,9]]},"245":{"position":[[78,10],[127,9],[421,9]]},"246":{"position":[[153,9],[207,9]]},"251":{"position":[[112,9],[286,11]]},"253":{"position":[[2066,9]]},"361":{"position":[[553,9]]},"482":{"position":[[342,9]]}},"keywords":{}}],["fraud",{"_index":4114,"title":{},"content":{"465":{"position":[[469,6]]}},"keywords":{}}],["fraudul",{"_index":4094,"title":{},"content":{"461":{"position":[[1161,10]]}},"keywords":{}}],["free",{"_index":3131,"title":{},"content":{"322":{"position":[[1761,5]]},"359":{"position":[[67,4],[1974,4]]}},"keywords":{}}],["freedom",{"_index":4072,"title":{},"content":{"459":{"position":[[1721,8]]}},"keywords":{}}],["fresh",{"_index":1161,"title":{},"content":{"46":{"position":[[677,5]]},"608":{"position":[[127,5],[472,5]]}},"keywords":{}}],["friendli",{"_index":710,"title":{},"content":{"36":{"position":[[2783,8]]},"202":{"position":[[2783,8]]},"267":{"position":[[1995,8]]}},"keywords":{}}],["from=build",{"_index":3024,"title":{},"content":{"318":{"position":[[617,12]]}},"keywords":{}}],["front",{"_index":1913,"title":{},"content":{"114":{"position":[[114,5]]}},"keywords":{}}],["frontend",{"_index":1651,"title":{"84":{"position":[[10,8]]},"244":{"position":[[0,9]]}},"content":{"84":{"position":[[112,8],[1397,8]]},"85":{"position":[[1448,8]]},"184":{"position":[[236,8]]},"227":{"position":[[705,9]]},"235":{"position":[[401,8],[437,8],[1647,8]]},"239":{"position":[[473,8]]},"245":{"position":[[12,8]]},"246":{"position":[[198,8]]},"328":{"position":[[542,8]]}},"keywords":{}}],["fssl",{"_index":3350,"title":{},"content":{"347":{"position":[[2273,4]]}},"keywords":{}}],["fsw",{"_index":2838,"title":{},"content":{"298":{"position":[[915,6]]}},"keywords":{}}],["fsw_type",{"_index":2160,"title":{},"content":{"213":{"position":[[388,8]]},"275":{"position":[[397,8]]}},"keywords":{}}],["fulfil",{"_index":4462,"title":{},"content":{"528":{"position":[[1219,9],[1513,11],[1662,9]]}},"keywords":{}}],["full",{"_index":425,"title":{},"content":{"20":{"position":[[512,5]]},"36":{"position":[[353,4]]},"75":{"position":[[303,4],[452,4]]},"90":{"position":[[217,4]]},"202":{"position":[[353,4]]},"239":{"position":[[211,4]]},"253":{"position":[[1637,4],[4638,4],[5888,4]]},"267":{"position":[[348,4]]},"291":{"position":[[1466,4]]},"304":{"position":[[91,4]]},"322":{"position":[[2234,4]]},"357":{"position":[[4227,4]]},"414":{"position":[[358,4],[382,4]]},"488":{"position":[[1714,4]]},"553":{"position":[[150,4]]},"578":{"position":[[657,4]]},"600":{"position":[[603,4]]},"601":{"position":[[574,4],[628,4],[756,4],[811,4]]},"737":{"position":[[606,4]]}},"keywords":{}}],["fullchain.pem",{"_index":529,"title":{},"content":{"24":{"position":[[109,13],[252,13],[795,14]]}},"keywords":{}}],["fulli",{"_index":2367,"title":{},"content":{"231":{"position":[[809,5]]},"232":{"position":[[675,5]]},"233":{"position":[[717,5]]},"234":{"position":[[692,5]]},"235":{"position":[[1217,5]]},"245":{"position":[[24,5]]},"638":{"position":[[142,5]]},"639":{"position":[[168,5]]},"642":{"position":[[165,5]]},"643":{"position":[[191,5]]},"646":{"position":[[125,5]]},"648":{"position":[[30,5]]},"773":{"position":[[87,5]]}},"keywords":{}}],["fun",{"_index":123,"title":{},"content":{"3":{"position":[[605,4]]},"253":{"position":[[33,3]]}},"keywords":{}}],["function",{"_index":812,"title":{},"content":{"36":{"position":[[7823,8]]},"46":{"position":[[586,13]]},"65":{"position":[[109,13]]},"80":{"position":[[513,13]]},"108":{"position":[[121,13]]},"112":{"position":[[476,14]]},"202":{"position":[[7823,8]]},"227":{"position":[[1858,9]]},"230":{"position":[[1779,13]]},"231":{"position":[[815,10]]},"232":{"position":[[681,10]]},"233":{"position":[[723,10]]},"234":{"position":[[698,10]]},"235":{"position":[[1223,10]]},"267":{"position":[[6419,8]]},"299":{"position":[[63,13]]},"304":{"position":[[1725,14],[1780,14],[4007,9],[4103,9],[4855,14]]},"311":{"position":[[40,13]]},"361":{"position":[[644,13]]},"362":{"position":[[76,13],[131,13]]},"429":{"position":[[1124,8]]},"480":{"position":[[540,11]]},"490":{"position":[[227,14]]},"492":{"position":[[833,11]]},"508":{"position":[[439,13]]}},"keywords":{}}],["further",{"_index":1538,"title":{"95":{"position":[[0,7]]}},"content":{"79":{"position":[[620,7]]},"99":{"position":[[4366,7],[4582,7]]},"239":{"position":[[403,7]]},"343":{"position":[[107,7]]},"459":{"position":[[582,7],[654,7]]},"462":{"position":[[555,7]]},"465":{"position":[[139,7]]}},"keywords":{}}],["futur",{"_index":1783,"title":{},"content":{"99":{"position":[[61,6],[1074,6],[4606,6],[4729,6]]},"310":{"position":[[276,6],[371,6]]},"522":{"position":[[170,6]]},"527":{"position":[[593,6]]},"745":{"position":[[118,6]]}},"keywords":{}}],["gain",{"_index":1827,"title":{},"content":{"99":{"position":[[4815,7]]}},"keywords":{}}],["gap",{"_index":2436,"title":{},"content":{"240":{"position":[[691,6]]},"454":{"position":[[320,4]]}},"keywords":{}}],["gateway",{"_index":2565,"title":{},"content":{"253":{"position":[[7772,8]]},"352":{"position":[[96,7]]}},"keywords":{}}],["gather",{"_index":3896,"title":{},"content":{"428":{"position":[[35,6]]},"495":{"position":[[46,6]]}},"keywords":{}}],["gave",{"_index":3578,"title":{},"content":{"357":{"position":[[4114,4]]}},"keywords":{}}],["gb",{"_index":3488,"title":{},"content":{"357":{"position":[[860,2]]}},"keywords":{}}],["gcp",{"_index":2495,"title":{},"content":{"250":{"position":[[286,3]]},"516":{"position":[[304,3]]}},"keywords":{}}],["gdpr",{"_index":4054,"title":{},"content":{"459":{"position":[[359,5],[382,4],[1679,4]]}},"keywords":{}}],["gear",{"_index":4498,"title":{},"content":{"564":{"position":[[405,4]]}},"keywords":{}}],["gecko",{"_index":1061,"title":{},"content":{"44":{"position":[[1189,6]]}},"keywords":{}}],["gem",{"_index":1908,"title":{"340":{"position":[[15,5]]}},"content":{"112":{"position":[[523,3]]},"229":{"position":[[886,3]]},"254":{"position":[[2206,3]]},"321":{"position":[[3826,4]]},"322":{"position":[[1713,4]]},"331":{"position":[[289,3]]},"337":{"position":[[62,3],[66,3],[104,3],[195,3]]},"339":{"position":[[416,4]]},"350":{"position":[[1322,3],[1405,3]]},"448":{"position":[[37,3]]}},"keywords":{}}],["gem_hom",{"_index":1929,"title":{},"content":{"122":{"position":[[69,8]]}},"keywords":{}}],["gem_nam",{"_index":3274,"title":{},"content":{"339":{"position":[[310,10]]}},"keywords":{}}],["gemspec",{"_index":1930,"title":{},"content":{"122":{"position":[[179,8]]},"229":{"position":[[675,7]]}},"keywords":{}}],["gener",{"_index":197,"title":{"20":{"position":[[0,8]]},"228":{"position":[[5,10]]},"229":{"position":[[7,10]]},"230":{"position":[[7,10]]},"231":{"position":[[13,10]]},"232":{"position":[[11,10]]},"233":{"position":[[16,10]]},"234":{"position":[[7,10]]},"235":{"position":[[5,10]]},"336":{"position":[[12,9]]}},"content":{"6":{"position":[[119,8]]},"24":{"position":[[712,9]]},"36":{"position":[[797,8],[7771,7],[7804,7],[8993,7],[9598,7]]},"69":{"position":[[2452,8]]},"99":{"position":[[1831,9],[2279,9],[2493,9],[4680,9],[4992,9]]},"103":{"position":[[542,8]]},"107":{"position":[[78,9]]},"119":{"position":[[88,9]]},"179":{"position":[[37,7]]},"186":{"position":[[210,9]]},"187":{"position":[[222,9]]},"191":{"position":[[87,9]]},"202":{"position":[[797,8],[7771,7],[7804,7],[8993,7],[9598,7]]},"208":{"position":[[155,9]]},"213":{"position":[[186,8]]},"216":{"position":[[112,9]]},"217":{"position":[[110,9],[352,9]]},"227":{"position":[[83,9]]},"229":{"position":[[12,9],[194,8],[221,8],[266,8],[324,10],[1586,9],[1633,10]]},"230":{"position":[[12,9],[196,8],[223,8],[307,8],[351,10]]},"231":{"position":[[18,9],[208,8],[241,8],[331,8],[401,10]]},"232":{"position":[[16,9],[229,8],[260,8],[363,8],[460,10],[807,9]]},"233":{"position":[[21,9],[244,8],[280,8],[388,8],[491,10],[890,9],[1001,9]]},"234":{"position":[[16,9],[286,8],[313,8],[387,8],[457,10]]},"235":{"position":[[10,9],[494,8],[519,8],[579,8],[629,10]]},"253":{"position":[[1221,9],[1452,8],[1519,10],[1698,9],[2032,9],[2171,8],[2270,8],[2323,10],[2336,10],[2369,10],[2410,8],[2465,9],[2655,9]]},"262":{"position":[[761,8]]},"267":{"position":[[792,8],[6368,7],[6400,7],[7116,7],[7857,7]]},"273":{"position":[[154,9]]},"275":{"position":[[195,8]]},"280":{"position":[[94,8]]},"297":{"position":[[1206,9]]},"304":{"position":[[5730,9]]},"320":{"position":[[433,8],[504,8]]},"324":{"position":[[4049,9]]},"336":{"position":[[13,9]]},"338":{"position":[[390,9]]},"339":{"position":[[24,9]]},"352":{"position":[[263,8]]},"356":{"position":[[496,9],[542,7]]},"361":{"position":[[157,9]]},"367":{"position":[[95,7]]},"396":{"position":[[30,10]]},"460":{"position":[[175,10]]},"465":{"position":[[218,9]]},"466":{"position":[[275,10]]},"488":{"position":[[924,9],[1605,8]]},"497":{"position":[[64,9]]},"517":{"position":[[334,9]]},"533":{"position":[[234,9]]},"538":{"position":[[353,10]]},"583":{"position":[[255,9]]},"591":{"position":[[236,9]]},"609":{"position":[[158,8]]}},"keywords":{}}],["generic_read_conversion_end",{"_index":2659,"title":{},"content":{"267":{"position":[[7002,27],[7621,27],[7786,27],[7816,28]]},"285":{"position":[[1366,27],[1734,27]]}},"keywords":{}}],["generic_read_conversion_start",{"_index":2658,"title":{},"content":{"267":{"position":[[6328,30],[7527,29],[7694,29]]},"285":{"position":[[1208,29],[1484,29]]}},"keywords":{}}],["generic_write_conversion_end",{"_index":820,"title":{},"content":{"36":{"position":[[8343,28],[9338,28],[9525,28],[9556,29]]},"202":{"position":[[8343,28],[9338,28],[9525,28],[9556,29]]}},"keywords":{}}],["generic_write_conversion_start",{"_index":811,"title":{},"content":{"36":{"position":[[7730,31],[9243,30],[9432,30]]},"202":{"position":[[7730,31],[9243,30],[9432,30]]}},"keywords":{}}],["get",{"_index":753,"title":{"94":{"position":[[0,7]]},"252":{"position":[[0,7]]},"498":{"position":[[0,7]]}},"content":{"36":{"position":[[4542,4],[8534,4]]},"46":{"position":[[241,7]]},"99":{"position":[[1925,4],[1969,4],[2587,4],[2631,4],[5086,4],[5130,4]]},"202":{"position":[[4542,4],[8534,4]]},"257":{"position":[[1886,7]]},"294":{"position":[[13,7]]},"329":{"position":[[1346,4]]},"334":{"position":[[1123,4]]},"356":{"position":[[797,4]]},"498":{"position":[[96,7]]},"499":{"position":[[91,4]]},"528":{"position":[[713,4],[1594,4]]},"704":{"position":[[13,7]]},"718":{"position":[[511,4]]},"728":{"position":[[515,4]]},"749":{"position":[[12,4]]},"751":{"position":[[12,4]]}},"keywords":{}}],["get_all_cmd",{"_index":4645,"title":{"646":{"position":[[0,12]]}},"content":{"621":{"position":[[851,12],[996,12]]}},"keywords":{}}],["get_all_cmd_info",{"_index":4644,"title":{},"content":{"621":{"position":[[789,16]]}},"keywords":{}}],["get_all_cmd_nam",{"_index":4898,"title":{"647":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_cmd_names("<target",{"_index":4901,"title":{},"content":{"647":{"position":[[88,34]]}},"keywords":{}}],["get_all_cmd_names("inst"",{"_index":4902,"title":{},"content":{"647":{"position":[[220,35],[344,35]]}},"keywords":{}}],["get_all_cmds("<target",{"_index":4885,"title":{},"content":{"646":{"position":[[184,29]]}},"keywords":{}}],["get_all_cmds("inst"",{"_index":4887,"title":{},"content":{"646":{"position":[[312,30],[770,30]]}},"keywords":{}}],["get_all_command",{"_index":4884,"title":{"646":{"position":[[43,18]]}},"content":{},"keywords":{}}],["get_all_command_nam",{"_index":4900,"title":{"647":{"position":[[48,23]]}},"content":{},"keywords":{}}],["get_all_interface_info",{"_index":5301,"title":{"715":{"position":[[0,23]]}},"content":{"715":{"position":[[332,24],[877,24]]}},"keywords":{}}],["get_all_packet_logger_info",{"_index":4641,"title":{},"content":{"621":{"position":[[574,26]]}},"keywords":{}}],["get_all_router_info",{"_index":5363,"title":{"724":{"position":[[0,20]]}},"content":{"724":{"position":[[323,21],[860,21]]}},"keywords":{}}],["get_all_set",{"_index":5526,"title":{"767":{"position":[[0,17]]}},"content":{"767":{"position":[[95,18]]}},"keywords":{}}],["get_all_target_info",{"_index":4642,"title":{},"content":{"621":{"position":[[641,19]]}},"keywords":{}}],["get_all_telemetri",{"_index":5031,"title":{"664":{"position":[[42,19]]}},"content":{},"keywords":{}}],["get_all_telemetry_nam",{"_index":5039,"title":{"665":{"position":[[48,25]]}},"content":{},"keywords":{}}],["get_all_tlm",{"_index":4647,"title":{"664":{"position":[[0,11]]}},"content":{"621":{"position":[[926,11]]}},"keywords":{}}],["get_all_tlm("<target",{"_index":5032,"title":{},"content":{"664":{"position":[[71,28]]}},"keywords":{}}],["get_all_tlm("inst"",{"_index":5033,"title":{},"content":{"664":{"position":[[206,29]]}},"keywords":{}}],["get_all_tlm_info",{"_index":4646,"title":{},"content":{"621":{"position":[[864,16]]}},"keywords":{}}],["get_all_tlm_nam",{"_index":5038,"title":{"665":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_tlm_names("<target",{"_index":5040,"title":{},"content":{"665":{"position":[[70,34]]}},"keywords":{}}],["get_all_tlm_names("inst"",{"_index":5041,"title":{},"content":{"665":{"position":[[200,35]]}},"keywords":{}}],["get_background_task",{"_index":4643,"title":{},"content":{"621":{"position":[[728,20]]}},"keywords":{}}],["get_cmd",{"_index":4651,"title":{"648":{"position":[[0,7]]}},"content":{"621":{"position":[[1134,7]]},"650":{"position":[[35,8]]}},"keywords":{}}],["get_cmd("<target",{"_index":4906,"title":{},"content":{"648":{"position":[[90,24],[151,24]]}},"keywords":{}}],["get_cmd("inst",{"_index":4910,"title":{},"content":{"648":{"position":[[349,18],[810,18]]}},"keywords":{}}],["get_cmd_buff",{"_index":4935,"title":{"650":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_cmd_buffer("<target",{"_index":4936,"title":{},"content":{"650":{"position":[[128,31],[215,31]]}},"keywords":{}}],["get_cmd_buffer("inst",{"_index":4938,"title":{},"content":{"650":{"position":[[418,25],[922,25]]}},"keywords":{}}],["get_cmd_cnt",{"_index":4964,"title":{"654":{"position":[[0,12]]}},"content":{},"keywords":{}}],["get_cmd_cnt("<target",{"_index":4965,"title":{},"content":{"654":{"position":[[88,28],[154,28]]}},"keywords":{}}],["get_cmd_cnt("inst",{"_index":4966,"title":{},"content":{"654":{"position":[[357,22]]}},"keywords":{}}],["get_cmd_hazard",{"_index":4947,"title":{"651":{"position":[[0,18]]}},"content":{},"keywords":{}}],["get_cmd_hazardous("<target",{"_index":4948,"title":{},"content":{"651":{"position":[[109,34]]}},"keywords":{}}],["get_cmd_hazardous("inst"",{"_index":4950,"title":{},"content":{"651":{"position":[[487,35],[628,35]]}},"keywords":{}}],["get_cmd_list",{"_index":4648,"title":{},"content":{"621":{"position":[[938,12]]}},"keywords":{}}],["get_cmd_log_filenam",{"_index":4649,"title":{},"content":{"621":{"position":[[1009,20]]}},"keywords":{}}],["get_cmd_param_list",{"_index":4650,"title":{},"content":{"621":{"position":[[1070,18]]}},"keywords":{}}],["get_cmd_tim",{"_index":4960,"title":{"653":{"position":[[0,13]]}},"content":{"653":{"position":[[489,14]]}},"keywords":{}}],["get_cmd_time("<target",{"_index":4961,"title":{},"content":{"653":{"position":[[75,29]]}},"keywords":{}}],["get_cmd_time("inst"",{"_index":4963,"title":{},"content":{"653":{"position":[[600,30],[732,30]]}},"keywords":{}}],["get_cmd_tlm_disconnect",{"_index":4652,"title":{},"content":{"621":{"position":[[1142,22]]}},"keywords":{}}],["get_cmd_valu",{"_index":4952,"title":{"652":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_cmd_value("<target",{"_index":4954,"title":{},"content":{"652":{"position":[[250,30]]}},"keywords":{}}],["get_cmd_value("inst"",{"_index":4957,"title":{},"content":{"652":{"position":[[669,31],[795,31]]}},"keywords":{}}],["get_command",{"_index":4905,"title":{"648":{"position":[[38,13]]}},"content":{},"keywords":{}}],["get_disconnected_target",{"_index":4653,"title":{},"content":{"621":{"position":[[1207,24]]}},"keywords":{}}],["get_interfac",{"_index":4655,"title":{"709":{"position":[[0,13]]}},"content":{"621":{"position":[[1324,13],[2758,13]]}},"keywords":{}}],["get_interface("<interfac",{"_index":5260,"title":{},"content":{"709":{"position":[[134,33]]}},"keywords":{}}],["get_interface("inst_int"",{"_index":5261,"title":{},"content":{"709":{"position":[[282,35]]}},"keywords":{}}],["get_interface_info",{"_index":4654,"title":{},"content":{"621":{"position":[[1260,18]]}},"keywords":{}}],["get_interface_nam",{"_index":5283,"title":{"710":{"position":[[0,20]]}},"content":{"710":{"position":[[113,21]]}},"keywords":{}}],["get_interface_target",{"_index":4656,"title":{},"content":{"621":{"position":[[1338,21]]}},"keywords":{}}],["get_item",{"_index":5055,"title":{"667":{"position":[[0,8]]}},"content":{},"keywords":{}}],["get_item("<target",{"_index":5056,"title":{},"content":{"667":{"position":[[47,25],[127,25]]}},"keywords":{}}],["get_item("inst",{"_index":5057,"title":{},"content":{"667":{"position":[[380,19]]}},"keywords":{}}],["get_limit",{"_index":5172,"title":{"699":{"position":[[0,11]]}},"content":{},"keywords":{}}],["get_limits(<target",{"_index":5174,"title":{},"content":{"699":{"position":[[95,21]]}},"keywords":{}}],["get_limits('inst",{"_index":5175,"title":{},"content":{"699":{"position":[[368,18],[689,18]]}},"keywords":{}}],["get_limits_ev",{"_index":5208,"title":{"703":{"position":[[0,18]]}},"content":{"703":{"position":[[219,17],[402,18]]}},"keywords":{}}],["get_limits_event(<offset>",{"_index":5209,"title":{},"content":{"703":{"position":[[109,32]]}},"keywords":{}}],["get_limits_event(ev",{"_index":5223,"title":{},"content":{"703":{"position":[[1371,24]]}},"keywords":{}}],["get_limits_group",{"_index":5167,"title":{"695":{"position":[[0,18]]}},"content":{"695":{"position":[[100,19]]}},"keywords":{}}],["get_limits_set",{"_index":5171,"title":{"697":{"position":[[0,15]]},"698":{"position":[[0,16]]}},"content":{"697":{"position":[[127,16]]},"698":{"position":[[96,17]]}},"keywords":{}}],["get_line_delay",{"_index":5460,"title":{"749":{"position":[[0,15]]}},"content":{"749":{"position":[[123,16]]}},"keywords":{}}],["get_max_output",{"_index":5467,"title":{"751":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_out_of_limit",{"_index":5200,"title":{"701":{"position":[[0,18]]}},"content":{"701":{"position":[[187,19]]}},"keywords":{}}],["get_output_logs_filenam",{"_index":4657,"title":{},"content":{"621":{"position":[[1400,25]]}},"keywords":{}}],["get_overall_limits_st",{"_index":5202,"title":{"702":{"position":[[0,25]]}},"content":{"702":{"position":[[393,26]]}},"keywords":{}}],["get_overall_limits_state(<ignor",{"_index":5203,"title":{},"content":{"702":{"position":[[118,36]]}},"keywords":{}}],["get_overall_limits_state([['inst",{"_index":5207,"title":{},"content":{"702":{"position":[[443,34]]}},"keywords":{}}],["get_overrid",{"_index":5084,"title":{"673":{"position":[[0,14]]}},"content":{"673":{"position":[[225,15],[318,15]]}},"keywords":{}}],["get_packet",{"_index":4658,"title":{"676":{"position":[[0,11]]}},"content":{"621":{"position":[[1466,10],[1522,11],[1595,11]]}},"keywords":{}}],["get_packet_data",{"_index":4659,"title":{},"content":{"621":{"position":[[1534,15]]}},"keywords":{}}],["get_packet_derived_item",{"_index":5111,"title":{"679":{"position":[[0,25]]}},"content":{},"keywords":{}}],["get_packet_derived_items("<target>",{"_index":5112,"title":{},"content":{"679":{"position":[[78,45]]}},"keywords":{}}],["get_packet_derived_items("<target>"",{"_index":5113,"title":{},"content":{"679":{"position":[[146,52]]}},"keywords":{}}],["get_packet_derived_items("inst",{"_index":5114,"title":{},"content":{"679":{"position":[[313,35]]}},"keywords":{}}],["get_packet_logg",{"_index":4661,"title":{},"content":{"621":{"position":[[1670,18]]}},"keywords":{}}],["get_packet_logger_info",{"_index":4660,"title":{},"content":{"621":{"position":[[1607,22]]}},"keywords":{}}],["get_packets(id",{"_index":4371,"title":{},"content":{"499":{"position":[[635,15],[852,15],[973,15],[1184,15]]},"676":{"position":[[66,15],[125,15],[521,15],[744,15],[1025,15],[1242,15]]}},"keywords":{}}],["get_param",{"_index":4912,"title":{"649":{"position":[[0,9]]}},"content":{},"keywords":{}}],["get_param("<target",{"_index":4914,"title":{},"content":{"649":{"position":[[71,26],[158,26]]}},"keywords":{}}],["get_param("inst",{"_index":4917,"title":{},"content":{"649":{"position":[[422,20],[1149,20]]}},"keywords":{}}],["get_paramet",{"_index":4913,"title":{"649":{"position":[[40,15]]}},"content":{},"keywords":{}}],["get_replay_mod",{"_index":4662,"title":{},"content":{"621":{"position":[[1729,15]]}},"keywords":{}}],["get_rout",{"_index":4665,"title":{"723":{"position":[[0,10]]}},"content":{"621":{"position":[[1824,10],[3479,10]]}},"keywords":{}}],["get_router("<rout",{"_index":5358,"title":{},"content":{"723":{"position":[[127,27]]}},"keywords":{}}],["get_router("router_int"",{"_index":5359,"title":{},"content":{"723":{"position":[[260,34]]}},"keywords":{}}],["get_router_info",{"_index":4664,"title":{},"content":{"621":{"position":[[1763,15]]}},"keywords":{}}],["get_router_nam",{"_index":5355,"title":{"722":{"position":[[0,17]]}},"content":{"722":{"position":[[107,18]]}},"keywords":{}}],["get_screen_definit",{"_index":5437,"title":{"744":{"position":[[0,22]]}},"content":{"744":{"position":[[5,21]]}},"keywords":{}}],["get_screen_definition("<target",{"_index":5438,"title":{},"content":{"744":{"position":[[102,38]]}},"keywords":{}}],["get_screen_definition("inst"",{"_index":5440,"title":{},"content":{"744":{"position":[[351,39]]}},"keywords":{}}],["get_screen_list",{"_index":5436,"title":{"743":{"position":[[0,16]]}},"content":{"743":{"position":[[5,15],[102,17]]}},"keywords":{}}],["get_scriptrunner_message_log_filenam",{"_index":4666,"title":{},"content":{"621":{"position":[[1835,37]]}},"keywords":{}}],["get_server_messag",{"_index":4667,"title":{},"content":{"621":{"position":[[1913,18]]}},"keywords":{}}],["get_server_message_log_filenam",{"_index":4668,"title":{},"content":{"621":{"position":[[1972,31]]}},"keywords":{}}],["get_server_statu",{"_index":4669,"title":{},"content":{"621":{"position":[[2044,17]]}},"keywords":{}}],["get_set",{"_index":5550,"title":{"768":{"position":[[0,12],[13,13]]}},"content":{},"keywords":{}}],["get_setting(<set",{"_index":5551,"title":{},"content":{"768":{"position":[[139,23]]}},"keywords":{}}],["get_setting('vers",{"_index":5557,"title":{},"content":{"768":{"position":[[324,22]]}},"keywords":{}}],["get_settings(<set",{"_index":5552,"title":{},"content":{"768":{"position":[[173,24]]}},"keywords":{}}],["get_settings('rubygems_url",{"_index":5566,"title":{},"content":{"769":{"position":[[409,28]]}},"keywords":{}}],["get_settings('vers",{"_index":5559,"title":{},"content":{"768":{"position":[[384,23]]}},"keywords":{}}],["get_stal",{"_index":4670,"title":{},"content":{"621":{"position":[[2102,9]]}},"keywords":{}}],["get_target",{"_index":4672,"title":{"706":{"position":[[0,11]]}},"content":{"621":{"position":[[2222,10],[2308,10],[2380,10]]}},"keywords":{}}],["get_target("<target",{"_index":5226,"title":{},"content":{"706":{"position":[[87,27]]}},"keywords":{}}],["get_target("inst"",{"_index":5227,"title":{},"content":{"706":{"position":[[211,28]]}},"keywords":{}}],["get_target_fil",{"_index":4526,"title":{"628":{"position":[[0,16]]}},"content":{"585":{"position":[[148,15]]}},"keywords":{}}],["get_target_file("<fil",{"_index":4754,"title":{},"content":{"628":{"position":[[71,30],[153,30]]}},"keywords":{}}],["get_target_file("inst/data/attitude.bin"",{"_index":4759,"title":{},"content":{"628":{"position":[[624,51],[945,51]]}},"keywords":{}}],["get_target_file("inst/procedures/checks.rb"",{"_index":4762,"title":{},"content":{"628":{"position":[[759,54],[1084,54]]}},"keywords":{}}],["get_target_file(env['tbl_filenam",{"_index":4529,"title":{},"content":{"585":{"position":[[453,36]]}},"keywords":{}}],["get_target_ignored_item",{"_index":4671,"title":{},"content":{"621":{"position":[[2152,24]]}},"keywords":{}}],["get_target_ignored_paramet",{"_index":4673,"title":{},"content":{"621":{"position":[[2233,29]]}},"keywords":{}}],["get_target_info",{"_index":4674,"title":{},"content":{"621":{"position":[[2319,15]]}},"keywords":{}}],["get_target_interfac",{"_index":4627,"title":{"707":{"position":[[0,22]]}},"content":{"620":{"position":[[219,21]]},"621":{"position":[[706,21]]},"707":{"position":[[201,23]]}},"keywords":{}}],["get_target_list",{"_index":4675,"title":{},"content":{"621":{"position":[[2391,15]]}},"keywords":{}}],["get_target_nam",{"_index":4676,"title":{"705":{"position":[[0,17]]}},"content":{"621":{"position":[[2452,16]]},"705":{"position":[[93,18]]}},"keywords":{}}],["get_telemetri",{"_index":5043,"title":{"666":{"position":[[38,15]]}},"content":{},"keywords":{}}],["get_tlm",{"_index":5010,"title":{"666":{"position":[[0,7]]}},"content":{"661":{"position":[[35,8]]}},"keywords":{}}],["get_tlm("<target",{"_index":5044,"title":{},"content":{"666":{"position":[[48,24],[109,24]]}},"keywords":{}}],["get_tlm("inst",{"_index":5045,"title":{},"content":{"666":{"position":[[304,18]]}},"keywords":{}}],["get_tlm_buff",{"_index":5009,"title":{"661":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_buffer("<target",{"_index":5011,"title":{},"content":{"661":{"position":[[111,31],[198,31]]}},"keywords":{}}],["get_tlm_buffer("inst",{"_index":5012,"title":{},"content":{"661":{"position":[[410,25]]}},"keywords":{}}],["get_tlm_cnt",{"_index":5062,"title":{"668":{"position":[[0,12]]},"677":{"position":[[0,12]]},"678":{"position":[[0,13]]}},"content":{},"keywords":{}}],["get_tlm_cnt("<target",{"_index":5063,"title":{},"content":{"668":{"position":[[101,28],[166,28]]}},"keywords":{}}],["get_tlm_cnt("<target>",{"_index":5104,"title":{},"content":{"677":{"position":[[70,32]]}},"keywords":{}}],["get_tlm_cnt("<target>"",{"_index":5106,"title":{},"content":{"677":{"position":[[125,39]]}},"keywords":{}}],["get_tlm_cnt("inst",{"_index":5065,"title":{},"content":{"668":{"position":[[376,22]]},"677":{"position":[[279,22]]}},"keywords":{}}],["get_tlm_cnts([["<target>"",{"_index":5108,"title":{},"content":{"678":{"position":[[82,42]]}},"keywords":{}}],["get_tlm_cnts([["inst"",{"_index":5110,"title":{},"content":{"678":{"position":[[299,32]]}},"keywords":{}}],["get_tlm_detail",{"_index":4677,"title":{},"content":{"621":{"position":[[2469,15]]}},"keywords":{}}],["get_tlm_item_list",{"_index":4678,"title":{},"content":{"621":{"position":[[2525,17]]}},"keywords":{}}],["get_tlm_list",{"_index":4679,"title":{},"content":{"621":{"position":[[2583,12]]}},"keywords":{}}],["get_tlm_log_filenam",{"_index":4680,"title":{},"content":{"621":{"position":[[2636,20]]}},"keywords":{}}],["get_tlm_packet",{"_index":5015,"title":{"662":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_packet("<target",{"_index":5018,"title":{},"content":{"662":{"position":[[226,31],[308,31]]}},"keywords":{}}],["get_tlm_packet("inst",{"_index":5021,"title":{},"content":{"662":{"position":[[662,25],[779,25]]}},"keywords":{}}],["get_tlm_valu",{"_index":5023,"title":{"663":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_tlm_values(<items>",{"_index":5025,"title":{},"content":{"663":{"position":[[323,29]]}},"keywords":{}}],["get_tlm_values(["inst__health_status__temp1__converted"",{"_index":5028,"title":{},"content":{"663":{"position":[[476,66]]}},"keywords":{}}],["getnamedwidget",{"_index":3766,"title":{},"content":{"384":{"position":[[45,14],[248,14]]}},"keywords":{}}],["gib",{"_index":3470,"title":{},"content":{"357":{"position":[[87,3]]}},"keywords":{}}],["gimbal",{"_index":4247,"title":{},"content":{"481":{"position":[[407,6]]},"487":{"position":[[230,6],[767,6],[876,6],[945,6],[1018,6],[1108,6],[1247,7],[1339,6],[1415,6],[1488,6],[1497,8],[1580,6]]}},"keywords":{}}],["gimbal.gimbal_steps}"",{"_index":4302,"title":{},"content":{"487":{"position":[[1115,28],[1587,28]]}},"keywords":{}}],["gimbal.home_gimb",{"_index":4298,"title":{},"content":{"487":{"position":[[1038,18],[1506,20]]}},"keywords":{}}],["gimbal.move(100",{"_index":4299,"title":{},"content":{"487":{"position":[[1057,16],[1527,16]]}},"keywords":{}}],["gimbal.move(200",{"_index":4300,"title":{},"content":{"487":{"position":[[1074,16],[1544,16]]}},"keywords":{}}],["gimbal.new",{"_index":4297,"title":{},"content":{"487":{"position":[[1027,10]]}},"keywords":{}}],["gimbal_step",{"_index":4292,"title":{},"content":{"487":{"position":[[788,13],[819,13],[883,13],[952,13]]}},"keywords":{}}],["git",{"_index":1165,"title":{},"content":{"46":{"position":[[789,3],[879,3]]},"102":{"position":[[73,3]]},"229":{"position":[[405,3]]},"290":{"position":[[65,3],[120,3]]},"291":{"position":[[553,3]]},"317":{"position":[[1,3]]},"318":{"position":[[328,3],[405,3],[437,3]]},"324":{"position":[[1673,3],[2767,3]]},"347":{"position":[[2260,3],[2384,3]]},"449":{"position":[[111,3],[215,3],[457,3]]}},"keywords":{}}],["git://github.com/<username>/openc3.git",{"_index":4011,"title":{},"content":{"449":{"position":[[121,44]]}},"keywords":{}}],["github",{"_index":132,"title":{},"content":{"3":{"position":[[698,6]]},"46":{"position":[[867,6]]},"90":{"position":[[88,7]]},"110":{"position":[[62,6],[167,6]]},"254":{"position":[[2870,6]]},"295":{"position":[[64,6]]},"324":{"position":[[1482,7]]},"449":{"position":[[693,6]]},"457":{"position":[[409,7]]}},"keywords":{}}],["gitlen",{"_index":1559,"title":{},"content":{"83":{"position":[[163,8]]}},"keywords":{}}],["give",{"_index":1482,"title":{},"content":{"69":{"position":[[4512,6]]},"168":{"position":[[88,4]]},"253":{"position":[[4241,6]]},"363":{"position":[[237,5]]},"459":{"position":[[177,4]]},"486":{"position":[[105,5]]},"523":{"position":[[80,6]]},"540":{"position":[[265,4]]}},"keywords":{}}],["given",{"_index":189,"title":{},"content":{"5":{"position":[[1458,5]]},"13":{"position":[[12,5]]},"14":{"position":[[12,5]]},"15":{"position":[[13,5]]},"16":{"position":[[13,5]]},"36":{"position":[[2041,5],[8442,6]]},"44":{"position":[[1875,5]]},"60":{"position":[[914,5]]},"62":{"position":[[554,5],[686,5]]},"63":{"position":[[1379,5],[1511,5]]},"69":{"position":[[3913,5]]},"75":{"position":[[1418,6]]},"76":{"position":[[985,6]]},"77":{"position":[[848,6]]},"78":{"position":[[852,6]]},"79":{"position":[[1195,6]]},"93":{"position":[[751,5]]},"99":{"position":[[4472,5]]},"168":{"position":[[243,5]]},"186":{"position":[[170,5],[234,5]]},"187":{"position":[[193,5],[246,5]]},"202":{"position":[[2041,5],[8442,6]]},"222":{"position":[[164,5]]},"227":{"position":[[984,5],[4604,5],[4668,5],[4764,6]]},"267":{"position":[[7100,6]]},"281":{"position":[[164,5]]},"339":{"position":[[149,5]]},"357":{"position":[[3924,5]]},"359":{"position":[[660,5]]},"384":{"position":[[612,5]]},"403":{"position":[[113,5]]},"452":{"position":[[161,5]]},"453":{"position":[[160,5]]},"475":{"position":[[221,6]]},"479":{"position":[[90,5]]},"495":{"position":[[219,5]]},"504":{"position":[[79,5]]},"513":{"position":[[567,5]]},"523":{"position":[[222,5]]},"525":{"position":[[443,5]]},"548":{"position":[[578,5]]},"585":{"position":[[325,6]]},"586":{"position":[[344,6]]},"636":{"position":[[1011,6]]},"637":{"position":[[1233,6]]},"638":{"position":[[1254,6]]},"639":{"position":[[1287,6]]},"640":{"position":[[1087,6]]},"641":{"position":[[1304,6]]},"642":{"position":[[1325,6]]},"643":{"position":[[1358,6]]},"649":{"position":[[23,5]]},"651":{"position":[[356,5]]},"653":{"position":[[239,6],[352,6],[400,5]]},"656":{"position":[[173,5],[722,5]]},"681":{"position":[[110,5],[194,5]]},"685":{"position":[[123,5]]},"700":{"position":[[1205,6],[1355,6],[1551,5]]},"711":{"position":[[315,5],[374,5]]},"720":{"position":[[264,5],[320,5]]},"736":{"position":[[77,5]]},"768":{"position":[[26,5]]},"769":{"position":[[10,5]]},"772":{"position":[[50,5]]}},"keywords":{}}],["given_valu",{"_index":756,"title":{},"content":{"36":{"position":[[4835,14],[8827,14]]},"202":{"position":[[4835,14],[8827,14]]}},"keywords":{}}],["global",{"_index":1830,"title":{},"content":{"102":{"position":[[28,6]]},"352":{"position":[[382,7]]},"612":{"position":[[970,6]]}},"keywords":{}}],["global_set",{"_index":3734,"title":{"372":{"position":[[0,15]]}},"content":{"372":{"position":[[322,14]]},"374":{"position":[[245,14],[373,14]]}},"keywords":{}}],["global_subset",{"_index":3738,"title":{"373":{"position":[[0,18]]}},"content":{"373":{"position":[[862,17]]},"374":{"position":[[264,17],[392,17]]}},"keywords":{}}],["gmt",{"_index":944,"title":{},"content":{"42":{"position":[[838,3]]},"43":{"position":[[926,4],[1048,4],[1287,3],[6579,3]]}},"keywords":{}}],["go",{"_index":575,"title":{"503":{"position":[[12,2]]}},"content":{"27":{"position":[[164,2]]},"83":{"position":[[3064,2]]},"126":{"position":[[310,2],[506,2]]},"253":{"position":[[570,2]]},"254":{"position":[[485,2],[651,2],[795,2],[2034,2],[2466,2]]},"322":{"position":[[1856,2]]},"327":{"position":[[17,5]]},"332":{"position":[[723,2]]},"367":{"position":[[258,2]]},"404":{"position":[[551,5],[731,5]]},"495":{"position":[[1352,4]]},"502":{"position":[[109,2]]},"511":{"position":[[305,5]]},"536":{"position":[[330,2]]},"578":{"position":[[827,2]]},"607":{"position":[[627,2]]},"612":{"position":[[346,2]]},"613":{"position":[[312,2]]},"681":{"position":[[252,3]]},"756":{"position":[[42,2]]}},"keywords":{}}],["go/retri",{"_index":2931,"title":{},"content":{"304":{"position":[[6035,8]]}},"keywords":{}}],["goal",{"_index":3696,"title":{},"content":{"364":{"position":[[97,6]]},"474":{"position":[[187,4]]},"482":{"position":[[1523,6]]}},"keywords":{}}],["goe",{"_index":3846,"title":{},"content":{"410":{"position":[[277,4],[416,4]]},"417":{"position":[[246,4],[385,4]]},"423":{"position":[[256,4],[395,4]]},"501":{"position":[[168,4]]},"577":{"position":[[543,4]]},"578":{"position":[[1289,4]]}},"keywords":{}}],["gone",{"_index":2861,"title":{},"content":{"302":{"position":[[125,4]]},"578":{"position":[[1380,4]]},"618":{"position":[[477,4],[801,4]]}},"keywords":{}}],["good",{"_index":821,"title":{},"content":{"36":{"position":[[9023,4]]},"202":{"position":[[9023,4]]},"230":{"position":[[1401,4]]},"267":{"position":[[7146,4]]},"309":{"position":[[101,4]]},"355":{"position":[[340,4]]},"404":{"position":[[864,4]]},"467":{"position":[[1141,4]]},"476":{"position":[[1816,4],[2703,4],[3821,4]]},"481":{"position":[[450,4]]},"591":{"position":[[310,4]]},"700":{"position":[[1307,4],[1457,4]]}},"keywords":{}}],["googl",{"_index":2979,"title":{},"content":{"311":{"position":[[743,6]]}},"keywords":{}}],["gotcha",{"_index":4315,"title":{},"content":{"488":{"position":[[1673,6]]}},"keywords":{}}],["goto",{"_index":1186,"title":{},"content":{"46":{"position":[[1567,5]]},"324":{"position":[[3939,4]]},"347":{"position":[[2633,5]]}},"keywords":{}}],["govern",{"_index":3657,"title":{},"content":{"361":{"position":[[542,10]]}},"keywords":{}}],["gplv3",{"_index":3603,"title":{},"content":{"359":{"position":[[119,5]]}},"keywords":{}}],["grab",{"_index":1354,"title":{},"content":{"61":{"position":[[140,4]]},"628":{"position":[[488,4]]}},"keywords":{}}],["grafana",{"_index":3408,"title":{"353":{"position":[[0,8]]}},"content":{"352":{"position":[[280,7]]},"353":{"position":[[1,7]]}},"keywords":{}}],["grafana/grafana",{"_index":3436,"title":{},"content":{"353":{"position":[[420,15]]}},"keywords":{}}],["grain",{"_index":2770,"title":{},"content":{"289":{"position":[[768,7]]}},"keywords":{}}],["graph",{"_index":2943,"title":{"599":{"position":[[0,5]]},"601":{"position":[[0,5]]}},"content":{"305":{"position":[[762,5]]},"307":{"position":[[28,8],[177,6],[300,8],[353,9],[400,8],[463,5],[828,8],[925,8]]},"353":{"position":[[118,7]]},"357":{"position":[[547,6],[952,6]]},"366":{"position":[[108,5]]},"418":{"position":[[17,5],[631,5],[764,5],[1293,5],[1638,5],[1759,5],[1891,5],[1953,5],[1984,5]]},"419":{"position":[[22,5],[684,5],[817,5],[1346,5],[1691,5],[1812,5],[1944,5],[2006,5],[2037,5]]},"420":{"position":[[651,5],[789,5],[1318,5],[1663,5],[1784,5],[1916,5],[1978,5],[2009,5]]},"596":{"position":[[24,8],[94,6],[122,6]]},"598":{"position":[[30,7]]},"599":{"position":[[168,5],[226,7],[273,5],[310,7],[329,7],[589,5],[643,5],[668,5],[1051,5],[1145,5],[1205,5],[1274,5],[1348,5]]},"600":{"position":[[231,5],[262,9],[300,5],[355,5],[446,5],[476,5],[570,5]]},"601":{"position":[[5,6],[102,6],[185,6],[242,5],[334,5],[388,6],[442,6],[477,6],[526,5],[639,6],[710,5],[823,6],[877,5],[944,5],[974,7],[1015,6]]}},"keywords":{}}],["graphedit",{"_index":4563,"title":{},"content":{"599":{"position":[[57,9]]}},"keywords":{}}],["grapher",{"_index":2631,"title":{"307":{"position":[[10,8]]},"595":{"position":[[10,7]]},"597":{"position":[[10,7]]}},"content":{"263":{"position":[[657,7]]},"278":{"position":[[112,7]]},"307":{"position":[[11,7],[150,7],[269,7],[378,7],[508,7],[597,7],[709,7],[806,7],[903,7],[1004,7],[1100,7]]},"596":{"position":[[11,7]]},"599":{"position":[[67,7],[97,7],[191,7],[1028,7]]}},"keywords":{}}],["graphic",{"_index":2866,"title":{},"content":{"303":{"position":[[80,9]]},"366":{"position":[[37,9]]},"428":{"position":[[112,9]]},"617":{"position":[[20,9]]}},"keywords":{}}],["graphingpaus",{"_index":4561,"title":{},"content":{"599":{"position":[[33,13]]}},"keywords":{}}],["graphstart",{"_index":4560,"title":{},"content":{"599":{"position":[[13,10]]}},"keywords":{}}],["graphstop",{"_index":4562,"title":{},"content":{"599":{"position":[[47,9]]}},"keywords":{}}],["gray",{"_index":3825,"title":{},"content":{"403":{"position":[[194,4]]},"427":{"position":[[85,4]]}},"keywords":{}}],["great",{"_index":3705,"title":{},"content":{"364":{"position":[[1439,5]]},"476":{"position":[[1045,5],[1063,5]]},"482":{"position":[[270,5]]},"486":{"position":[[113,5]]},"507":{"position":[[70,5]]}},"keywords":{}}],["greater",{"_index":713,"title":{},"content":{"36":{"position":[[2977,7]]},"202":{"position":[[2977,7]]},"267":{"position":[[2186,7],[9108,7],[9229,7],[9387,7],[9726,7],[10151,7]]},"371":{"position":[[186,7]]},"700":{"position":[[897,7],[1222,7],[1372,7]]}},"keywords":{}}],["greatli",{"_index":4623,"title":{},"content":{"617":{"position":[[1127,7]]}},"keywords":{}}],["green",{"_index":40,"title":{},"content":{"2":{"position":[[217,5]]},"267":{"position":[[2532,6],[2795,5],[9466,5],[9494,5],[9508,5],[9680,5],[9781,5],[9852,5],[9881,5],[9895,5],[10067,5],[10168,5]]},"285":{"position":[[1105,5]]},"298":{"position":[[308,5]]},"302":{"position":[[655,6]]},"377":{"position":[[382,5]]},"378":{"position":[[385,5]]},"379":{"position":[[262,5],[274,5]]},"380":{"position":[[256,5],[268,5]]},"381":{"position":[[267,5],[279,5]]},"383":{"position":[[944,5],[979,5]]},"404":{"position":[[869,5]]},"411":{"position":[[82,5],[278,6],[779,5]]},"443":{"position":[[496,5]]},"444":{"position":[[908,5],[1025,5]]},"527":{"position":[[271,5],[361,5],[440,5]]},"544":{"position":[[165,5]]},"568":{"position":[[190,6]]},"578":{"position":[[177,5],[1393,5],[1590,6]]},"607":{"position":[[343,6]]},"700":{"position":[[1182,5],[1235,5],[1331,5],[1385,5]]},"702":{"position":[[65,8]]}},"keywords":{}}],["green_high",{"_index":5197,"title":{},"content":{"700":{"position":[[1259,10],[1409,10]]}},"keywords":{}}],["grep",{"_index":1577,"title":{},"content":{"83":{"position":[[933,4]]}},"keywords":{}}],["grey",{"_index":3749,"title":{},"content":{"376":{"position":[[330,4]]},"377":{"position":[[308,4]]},"378":{"position":[[310,4]]}},"keywords":{}}],["grid",{"_index":4551,"title":{},"content":{"593":{"position":[[290,4]]}},"keywords":{}}],["ground",{"_index":1890,"title":{},"content":{"108":{"position":[[555,6]]},"114":{"position":[[143,6]]},"298":{"position":[[922,6]]}},"keywords":{}}],["ground1statu",{"_index":3978,"title":{},"content":{"442":{"position":[[951,13]]},"444":{"position":[[794,13],[857,13],[972,13]]},"578":{"position":[[387,15],[1515,13]]}},"keywords":{}}],["group",{"_index":2459,"title":{"610":{"position":[[0,6]]}},"content":{"243":{"position":[[167,6]]},"283":{"position":[[11,5],[49,6],[141,5],[276,5],[367,5],[468,6],[508,5],[777,5]]},"284":{"position":[[76,5],[360,5]]},"304":{"position":[[842,7],[882,5],[1176,6],[5141,7],[5176,6],[5354,5],[5416,5],[5444,5]]},"324":{"position":[[791,5]]},"363":{"position":[[918,6]]},"433":{"position":[[11,5],[65,5]]},"434":{"position":[[331,5]]},"446":{"position":[[749,5]]},"482":{"position":[[700,7],[923,6],[1021,5],[1272,7]]},"497":{"position":[[619,5]]},"511":{"position":[[61,7]]},"512":{"position":[[29,7],[43,6],[265,5]]},"513":{"position":[[183,5]]},"603":{"position":[[318,6]]},"609":{"position":[[117,6]]},"610":{"position":[[5,5],[157,5],[621,5],[900,5]]},"611":{"position":[[1,6],[358,5],[683,6],[822,6],[857,6],[897,5],[937,6]]},"612":{"position":[[784,5],[1325,5],[1347,5]]},"693":{"position":[[77,6],[145,5],[197,5],[227,6]]},"694":{"position":[[78,6],[147,5],[199,5],[229,6]]},"695":{"position":[[28,6]]},"753":{"position":[[52,6]]},"754":{"position":[[72,5],[238,5],[326,5],[773,5],[836,6],[869,5],[931,5],[1028,5],[1634,6]]}},"keywords":{}}],["group'",{"_index":5477,"title":{},"content":{"754":{"position":[[8,7]]}},"keywords":{}}],["group.print("verifi",{"_index":4363,"title":{},"content":{"497":{"position":[[713,26]]}},"keywords":{}}],["group1",{"_index":2707,"title":{},"content":{"283":{"position":[[567,6],[606,6],[683,6]]}},"keywords":{}}],["group2",{"_index":2708,"title":{},"content":{"283":{"position":[[578,6],[630,6]]}},"keywords":{}}],["grow",{"_index":4569,"title":{},"content":{"601":{"position":[[324,5],[516,5],[700,5]]}},"keywords":{}}],["gsaw",{"_index":3579,"title":{},"content":{"357":{"position":[[4122,4]]}},"keywords":{}}],["gse",{"_index":1916,"title":{},"content":{"114":{"position":[[168,6]]},"229":{"position":[[282,3],[307,3],[915,3]]},"230":{"position":[[176,3],[287,3],[323,3],[334,3],[478,3],[746,3],[2560,3],[2571,3]]},"231":{"position":[[188,3],[311,3]]},"232":{"position":[[209,3],[343,3],[388,3],[914,3]]},"233":{"position":[[224,3],[368,3],[413,3],[1011,3],[1131,3]]},"234":{"position":[[266,3],[367,3]]},"235":{"position":[[474,3],[559,3]]},"298":{"position":[[947,6]]}},"keywords":{}}],["gse.gemspec",{"_index":2327,"title":{},"content":{"229":{"position":[[663,11]]}},"keywords":{}}],["gse_target_nam",{"_index":2363,"title":{},"content":{"230":{"position":[[2544,15],[2582,15],[2621,15],[2737,15]]}},"keywords":{}}],["gt",{"_index":204,"title":{},"content":{"6":{"position":[[204,5],[250,5],[355,5],[387,5],[422,5],[452,5]]},"7":{"position":[[269,5],[724,5]]},"20":{"position":[[768,4]]},"24":{"position":[[278,4]]},"36":{"position":[[7618,5],[7718,5]]},"44":{"position":[[3134,4],[3246,4]]},"93":{"position":[[1671,4],[2148,4]]},"94":{"position":[[1123,4],[1447,4]]},"202":{"position":[[7618,5],[7718,5]]},"224":{"position":[[966,4],[1433,4]]},"226":{"position":[[2402,5],[2441,5],[2506,5]]},"227":{"position":[[1371,5],[1420,5],[1500,5],[1570,5],[2596,5],[3599,5]]},"230":{"position":[[2598,5],[2753,5]]},"253":{"position":[[6763,5],[6937,5],[7380,5]]},"267":{"position":[[6217,5],[6316,5]]},"320":{"position":[[897,5],[1087,5],[1108,5],[1129,5],[1189,5]]},"324":{"position":[[2024,4],[2084,4]]},"328":{"position":[[195,4],[1648,5],[1714,5]]},"338":{"position":[[1217,5],[1245,5],[1268,5],[1288,5],[1311,5],[1338,5],[1364,5],[1410,5],[1450,5],[1522,5],[1547,5],[1636,5]]},"350":{"position":[[903,8]]},"425":{"position":[[568,5],[612,5],[656,5]]},"429":{"position":[[1040,5]]},"446":{"position":[[97,5]]},"478":{"position":[[614,5],[811,5]]},"480":{"position":[[1562,5],[1842,5]]},"492":{"position":[[176,4]]},"495":{"position":[[627,4],[924,4]]},"500":{"position":[[474,4],[652,4]]},"501":{"position":[[796,4],[1074,4]]},"502":{"position":[[593,4],[844,4]]},"505":{"position":[[591,4]]},"523":{"position":[[62,4]]},"538":{"position":[[59,4]]},"585":{"position":[[1009,5]]},"609":{"position":[[193,4]]},"636":{"position":[[299,5],[355,5],[1472,5],[1499,5],[1591,5],[1618,5]]},"637":{"position":[[491,5],[547,5],[1670,5],[1697,5]]},"638":{"position":[[504,5],[560,5]]},"639":{"position":[[555,5],[611,5],[1715,5],[1742,5]]},"640":{"position":[[343,5],[407,5],[1497,5],[1524,5]]},"641":{"position":[[530,5],[594,5],[1744,5],[1771,5]]},"642":{"position":[[543,5],[607,5]]},"643":{"position":[[594,5],[658,5],[1788,5],[1815,5]]},"644":{"position":[[494,6],[1055,6]]},"646":{"position":[[357,6],[817,6]]},"647":{"position":[[270,6],[396,6]]},"648":{"position":[[396,6],[859,6]]},"649":{"position":[[474,6],[1203,6]]},"650":{"position":[[471,6],[977,6]]},"651":{"position":[[552,5],[585,6],[723,6]]},"652":{"position":[[757,6],[896,6]]},"656":{"position":[[850,4],[908,4],[972,4],[1037,4],[1120,4],[1205,4],[1263,4],[1327,4],[1392,4],[1477,4]]},"658":{"position":[[1121,4],[1164,4]]},"659":{"position":[[481,5]]},"665":{"position":[[236,6]]},"670":{"position":[[631,5],[651,5]]},"673":{"position":[[334,6],[1357,6]]},"677":{"position":[[323,6]]},"678":{"position":[[399,6]]},"679":{"position":[[370,6]]},"681":{"position":[[391,6],[458,6]]},"683":{"position":[[1005,4],[1048,4]]},"685":{"position":[[1085,4],[1158,4],[1262,4],[1335,4]]},"687":{"position":[[858,4],[901,4]]},"690":{"position":[[574,6],[677,6]]},"699":{"position":[[425,6],[564,6],[614,6],[748,6],[871,6],[934,6]]},"705":{"position":[[112,6]]},"710":{"position":[[135,6]]},"722":{"position":[[126,6]]},"731":{"position":[[213,6]]},"732":{"position":[[97,6],[117,5],[137,5],[189,6]]},"733":{"position":[[76,6]]},"743":{"position":[[120,6]]},"751":{"position":[[192,6]]},"762":{"position":[[392,5],[430,5]]},"763":{"position":[[412,5]]},"766":{"position":[[150,6],[302,6]]},"767":{"position":[[114,6],[895,6]]},"768":{"position":[[347,6],[424,6],[541,6],[609,6]]},"769":{"position":[[438,6],[576,6]]},"771":{"position":[[158,6],[291,6]]},"772":{"position":[[281,6],[384,6]]},"773":{"position":[[482,6]]}},"keywords":{}}],["gt;"",{"_index":505,"title":{},"content":{"22":{"position":[[571,10]]},"226":{"position":[[2484,11]]}},"keywords":{}}],["gt;2901/tcp",{"_index":1631,"title":{},"content":{"83":{"position":[[2462,12]]}},"keywords":{}}],["gt;2902/tcp",{"_index":1633,"title":{},"content":{"83":{"position":[[2590,12]]}},"keywords":{}}],["gt;6379/tcp",{"_index":1649,"title":{},"content":{"83":{"position":[[3020,12]]}},"keywords":{}}],["gt;80/tcp",{"_index":1638,"title":{},"content":{"83":{"position":[[2712,10]]}},"keywords":{}}],["gt;9000/tcp",{"_index":1644,"title":{},"content":{"83":{"position":[[2910,12]]}},"keywords":{}}],["gt;_int",{"_index":2364,"title":{},"content":{"230":{"position":[[2637,9]]},"253":{"position":[[6802,9]]},"320":{"position":[[1050,9]]}},"keywords":{}}],["gt;color",{"_index":2947,"title":{},"content":{"305":{"position":[[1268,9]]}},"keywords":{}}],["gt;execut",{"_index":2909,"title":{},"content":{"304":{"position":[[3614,11],[3928,11]]}},"keywords":{}}],["gt;inspect",{"_index":1767,"title":{},"content":{"95":{"position":[[361,11]]}},"keywords":{}}],["gt;load",{"_index":2964,"title":{},"content":{"308":{"position":[[772,8]]}},"keywords":{}}],["gt;mnemon",{"_index":2913,"title":{},"content":{"304":{"position":[[4031,12]]}},"keywords":{}}],["gt;option",{"_index":2945,"title":{},"content":{"305":{"position":[[1094,11]]}},"keywords":{}}],["gt;rubi",{"_index":2914,"title":{},"content":{"304":{"position":[[4127,8]]}},"keywords":{}}],["gt;save",{"_index":2954,"title":{},"content":{"306":{"position":[[621,8]]},"308":{"position":[[686,8]]}},"keywords":{}}],["gt;show",{"_index":4455,"title":{},"content":{"527":{"position":[[518,8]]}},"keywords":{}}],["gt;toggl",{"_index":2918,"title":{},"content":{"304":{"position":[[4422,10],[4630,10]]}},"keywords":{}}],["gt;view",{"_index":2916,"title":{},"content":{"304":{"position":[[4234,8]]}},"keywords":{}}],["guarante",{"_index":552,"title":{},"content":{"24":{"position":[[933,10]]},"36":{"position":[[4756,10],[8748,10]]},"202":{"position":[[4756,10],[8748,10]]},"227":{"position":[[5170,11]]},"299":{"position":[[968,11]]},"304":{"position":[[2658,10],[3238,10],[3396,10],[3431,10]]},"464":{"position":[[361,9]]}},"keywords":{}}],["gui",{"_index":631,"title":{},"content":{"33":{"position":[[123,3]]},"36":{"position":[[10556,3]]},"44":{"position":[[193,3]]},"301":{"position":[[363,3],[1319,3]]},"306":{"position":[[211,3]]},"581":{"position":[[135,3]]}},"keywords":{}}],["guid",{"_index":83,"title":{"473":{"position":[[15,5]]},"614":{"position":[[14,5]]}},"content":{"3":{"position":[[17,5]]},"35":{"position":[[1331,5]]},"37":{"position":[[1124,5]]},"90":{"position":[[397,6],[485,5]]},"194":{"position":[[362,5]]},"201":{"position":[[1360,5]]},"203":{"position":[[1143,5]]},"204":{"position":[[1504,5]]},"205":{"position":[[1340,5]]},"230":{"position":[[1945,5]]},"234":{"position":[[154,6]]},"253":{"position":[[138,5],[697,5],[8130,6]]},"266":{"position":[[966,5]]},"268":{"position":[[758,5]]},"269":{"position":[[1060,5]]},"270":{"position":[[729,5]]},"292":{"position":[[1035,6]]},"331":{"position":[[80,6]]},"368":{"position":[[421,6]]},"474":{"position":[[6,5]]},"475":{"position":[[129,5]]},"616":{"position":[[185,5],[292,6]]}},"keywords":{}}],["guidanc",{"_index":4162,"title":{},"content":{"474":{"position":[[306,8]]}},"keywords":{}}],["guidelin",{"_index":2481,"title":{},"content":{"247":{"position":[[221,10]]},"476":{"position":[[1230,11]]}},"keywords":{}}],["guiview",{"_index":1771,"title":{},"content":{"95":{"position":[[471,7]]}},"keywords":{}}],["gutter",{"_index":4329,"title":{},"content":{"491":{"position":[[42,7]]}},"keywords":{}}],["gzip",{"_index":3287,"title":{},"content":{"343":{"position":[[272,7]]},"517":{"position":[[424,7]]}},"keywords":{}}],["h",{"_index":897,"title":{},"content":{"42":{"position":[[172,1],[222,1]]},"43":{"position":[[421,1],[4715,1],[4765,1]]},"44":{"position":[[809,1],[841,1],[880,1],[907,1],[937,1],[962,1],[999,1],[1100,1],[2312,1],[2342,1],[2371,1],[2408,1],[2436,1]]},"95":{"position":[[970,1]]}},"keywords":{}}],["habitu",{"_index":4121,"title":{},"content":{"466":{"position":[[12,10]]}},"keywords":{}}],["hack",{"_index":122,"title":{},"content":{"3":{"position":[[577,7]]},"449":{"position":[[252,4]]}},"keywords":{}}],["half",{"_index":4570,"title":{},"content":{"601":{"position":[[430,4],[566,4],[748,4]]}},"keywords":{}}],["hand",{"_index":5429,"title":{},"content":{"739":{"position":[[379,4],[448,4]]},"746":{"position":[[552,4],[621,4]]}},"keywords":{}}],["handbook",{"_index":2158,"title":{"565":{"position":[[0,9]]}},"content":{"210":{"position":[[69,8]]},"278":{"position":[[124,8]]},"566":{"position":[[1,9]]}},"keywords":{}}],["handi",{"_index":86,"title":{},"content":{"3":{"position":[[55,5],[301,5]]},"617":{"position":[[908,5]]}},"keywords":{}}],["handl",{"_index":1347,"title":{"655":{"position":[[0,8]]}},"content":{"60":{"position":[[544,6]]},"61":{"position":[[351,6]]},"67":{"position":[[327,6]]},"72":{"position":[[209,7]]},"75":{"position":[[1460,8]]},"121":{"position":[[186,6]]},"135":{"position":[[150,6]]},"227":{"position":[[1382,6],[1511,6],[1581,6],[4870,7]]},"257":{"position":[[1768,6]]},"263":{"position":[[609,7]]},"329":{"position":[[205,7]]},"363":{"position":[[1112,6]]},"465":{"position":[[646,7]]},"495":{"position":[[311,6]]},"502":{"position":[[164,8]]},"504":{"position":[[994,6]]},"628":{"position":[[15,6]]},"674":{"position":[[134,7]]},"689":{"position":[[25,8]]}},"keywords":{}}],["happen",{"_index":1464,"title":{},"content":{"69":{"position":[[2754,8]]},"320":{"position":[[610,7]]},"364":{"position":[[568,8]]},"476":{"position":[[4036,10]]},"487":{"position":[[429,7]]},"612":{"position":[[1450,7]]}},"keywords":{}}],["haproxi",{"_index":537,"title":{},"content":{"24":{"position":[[295,7]]}},"keywords":{}}],["har8x3rauvsluprp2basy1xsmnna1jvb",{"_index":998,"title":{},"content":{"43":{"position":[[4316,32]]}},"keywords":{}}],["hard",{"_index":1435,"title":{},"content":{"69":{"position":[[468,4]]},"329":{"position":[[1303,4]]},"356":{"position":[[524,4]]}},"keywords":{}}],["hardwar",{"_index":1902,"title":{"253":{"position":[[22,9]]},"354":{"position":[[7,8]]}},"content":{"109":{"position":[[145,8]]},"114":{"position":[[36,8],[212,8]]},"123":{"position":[[109,9],[228,9]]},"253":{"position":[[88,9]]},"257":{"position":[[526,9]]},"357":{"position":[[3754,9],[3930,9],[4004,8]]},"364":{"position":[[381,8]]},"492":{"position":[[106,8],[367,9],[848,9]]}},"keywords":{}}],["hardware"",{"_index":3037,"title":{},"content":{"320":{"position":[[112,15]]}},"keywords":{}}],["hash",{"_index":455,"title":{},"content":{"20":{"position":[[1032,4]]},"36":{"position":[[4889,4],[8881,4]]},"93":{"position":[[1079,4],[1611,4],[1625,4]]},"99":{"position":[[1226,4],[1288,4]]},"202":{"position":[[4889,4],[8881,4]]},"249":{"position":[[60,7]]},"429":{"position":[[1469,4]]},"646":{"position":[[112,6]]},"648":{"position":[[19,4]]},"649":{"position":[[11,4]]},"650":{"position":[[18,4]]},"651":{"position":[[333,4]]},"661":{"position":[[18,4]]},"664":{"position":[[39,7]]},"666":{"position":[[18,5]]},"667":{"position":[[17,5]]},"670":{"position":[[275,4],[280,4],[354,5],[473,5]]},"699":{"position":[[9,4]]},"706":{"position":[[18,4]]},"729":{"position":[[141,4]]},"732":{"position":[[39,4]]},"762":{"position":[[143,4]]},"763":{"position":[[146,4]]}},"keywords":{}}],["hat",{"_index":2756,"title":{},"content":{"289":{"position":[[174,3]]}},"keywords":{}}],["have",{"_index":398,"title":{},"content":{"20":{"position":[[105,6]]},"36":{"position":[[1601,6]]},"122":{"position":[[268,6]]},"202":{"position":[[1601,6]]},"253":{"position":[[1831,6]]},"267":{"position":[[1596,6]]},"364":{"position":[[959,6]]},"459":{"position":[[1109,6]]},"483":{"position":[[100,6]]},"492":{"position":[[787,6]]},"508":{"position":[[79,6]]},"758":{"position":[[256,6]]}},"keywords":{}}],["hazard",{"_index":94,"title":{"214":{"position":[[0,10]]},"534":{"position":[[0,9]]}},"content":{"3":{"position":[[145,10]]},"36":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"93":{"position":[[319,9],[400,9],[1353,10],[1372,9]]},"202":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"214":{"position":[[35,9],[56,9],[219,9]]},"223":{"position":[[161,10]]},"303":{"position":[[1873,9],[1938,9]]},"430":{"position":[[259,9]]},"446":{"position":[[893,9]]},"534":{"position":[[9,9],[104,9]]},"540":{"position":[[736,9]]},"638":{"position":[[74,9],[175,9]]},"639":{"position":[[100,9],[201,9]]},"642":{"position":[[97,9],[198,9]]},"643":{"position":[[123,9],[224,9]]},"649":{"position":[[1524,12]]},"651":{"position":[[74,10],[422,9],[475,9],[575,9],[616,9]]}},"keywords":{}}],["hazard"",{"_index":736,"title":{},"content":{"36":{"position":[[3834,12]]},"202":{"position":[[3834,12]]}},"keywords":{}}],["head",{"_index":1836,"title":{},"content":{"103":{"position":[[153,6],[293,6]]}},"keywords":{}}],["header",{"_index":275,"title":{"98":{"position":[[5,7]]}},"content":{"7":{"position":[[1130,7]]},"36":{"position":[[818,6]]},"44":{"position":[[1286,7]]},"60":{"position":[[450,6]]},"61":{"position":[[286,6],[2883,6]]},"63":{"position":[[1781,7]]},"64":{"position":[[69,7]]},"87":{"position":[[32,6],[225,7]]},"99":{"position":[[89,7]]},"133":{"position":[[118,7]]},"202":{"position":[[818,6]]},"213":{"position":[[207,6]]},"226":{"position":[[179,6],[262,6],[341,6],[358,6],[440,6],[528,6],[619,6],[706,6],[1057,6],[1140,6],[1219,6],[1236,6],[1318,6],[1406,6],[1497,6],[1584,6],[1827,6],[1910,6],[1989,6],[2006,6],[2088,6],[2176,6],[2267,6],[2354,6]]},"267":{"position":[[813,6]]},"275":{"position":[[216,6]]},"285":{"position":[[345,6]]},"321":{"position":[[1244,6],[1586,6],[3103,6]]},"363":{"position":[[91,8]]},"541":{"position":[[112,8]]},"542":{"position":[[115,8]]},"553":{"position":[[177,6]]},"557":{"position":[[193,7]]},"558":{"position":[[126,7]]}},"keywords":{}}],["headeraliassetalia",{"_index":4039,"title":{},"content":{"456":{"position":[[55,19]]}},"keywords":{}}],["headerlist",{"_index":4487,"title":{},"content":{"553":{"position":[[139,10]]}},"keywords":{}}],["headeronli",{"_index":4485,"title":{},"content":{"553":{"position":[[77,10]]}},"keywords":{}}],["headless",{"_index":3485,"title":{},"content":{"357":{"position":[[786,8],[926,9],[2272,8]]}},"keywords":{}}],["health",{"_index":304,"title":{},"content":{"9":{"position":[[555,7],[704,7]]},"108":{"position":[[174,6]]},"264":{"position":[[611,6]]}},"keywords":{}}],["health_statu",{"_index":244,"title":{},"content":{"7":{"position":[[153,13],[829,13]]},"8":{"position":[[167,13],[324,13]]},"9":{"position":[[181,13],[347,13],[530,13],[679,13]]},"42":{"position":[[372,13]]},"43":{"position":[[6125,13]]},"94":{"position":[[1236,13]]},"95":{"position":[[776,13]]},"224":{"position":[[1298,13],[1406,13]]},"264":{"position":[[569,13]]},"273":{"position":[[405,13]]},"274":{"position":[[462,13]]},"282":{"position":[[479,13]]},"284":{"position":[[434,13],[477,13],[520,13]]},"328":{"position":[[1654,13],[1720,13]]},"357":{"position":[[573,13]]},"383":{"position":[[794,13],[901,13]]},"401":{"position":[[579,13],[644,13]]},"407":{"position":[[585,13],[665,13]]},"409":{"position":[[470,13],[531,13]]},"410":{"position":[[843,13],[910,13]]},"412":{"position":[[459,13],[511,13]]},"413":{"position":[[460,13],[515,13]]},"414":{"position":[[456,13],[511,13]]},"415":{"position":[[428,13],[481,13]]},"416":{"position":[[433,13],[489,13]]},"417":{"position":[[807,13],[869,13]]},"418":{"position":[[560,13]]},"419":{"position":[[594,13]]},"420":{"position":[[583,13]]},"423":{"position":[[718,13],[772,13]]},"424":{"position":[[600,13],[637,13],[812,13],[849,13]]},"425":{"position":[[346,13]]},"426":{"position":[[309,13]]},"427":{"position":[[658,13],[702,13]]},"440":{"position":[[623,13],[677,13]]},"442":{"position":[[937,13]]},"444":{"position":[[780,13],[843,13],[958,13]]},"446":{"position":[[145,13],[184,13],[227,13]]},"476":{"position":[[2191,13],[2457,13],[2567,13],[3107,13],[3367,13],[3477,13]]},"478":{"position":[[343,13],[481,13],[591,13],[677,13],[788,13]]},"499":{"position":[[575,17],[912,17]]},"502":{"position":[[566,13],[808,13]]},"578":{"position":[[438,13],[468,13]]},"656":{"position":[[827,13],[885,13],[949,13],[1014,13],[1097,13],[1182,13],[1240,13],[1304,13],[1369,13],[1454,13]]},"657":{"position":[[780,13],[848,13],[947,13],[1015,13]]},"658":{"position":[[1096,13],[1142,13]]},"660":{"position":[[585,13],[721,13],[784,13],[848,13],[929,13],[1013,13],[1149,13],[1212,13],[1276,13],[1357,13]]},"667":{"position":[[400,13]]},"668":{"position":[[447,13]]},"669":{"position":[[706,13],[789,13],[843,13],[907,13],[993,13],[1075,13],[1129,13],[1193,13]]},"671":{"position":[[590,13],[679,13],[789,13],[878,13]]},"672":{"position":[[409,13],[483,13],[596,13],[670,13]]},"673":{"position":[[282,13],[1303,13],[1407,16],[1521,16],[1641,16],[1763,16]]},"675":{"position":[[364,17]]},"676":{"position":[[461,17],[964,17]]},"681":{"position":[[1554,13],[1619,13],[1764,13],[1829,13]]},"682":{"position":[[1300,13],[1381,13],[1507,13],[1588,13]]},"683":{"position":[[980,13],[1026,13]]},"684":{"position":[[849,16],[891,13]]},"685":{"position":[[1062,13],[1135,13],[1239,13],[1312,13]]},"686":{"position":[[1123,13],[1210,13],[1328,13],[1415,13]]},"687":{"position":[[833,13],[879,13]]},"688":{"position":[[827,16],[869,13]]},"690":{"position":[[547,13],[650,13]]},"691":{"position":[[399,13]]},"692":{"position":[[402,13]]},"699":{"position":[[387,16],[708,16]]},"700":{"position":[[1999,16]]},"702":{"position":[[478,16]]},"745":{"position":[[577,13],[849,13]]},"746":{"position":[[1039,13],[1322,13]]}},"keywords":{}}],["health_status"",{"_index":5013,"title":{},"content":{"661":{"position":[[436,20]]},"662":{"position":[[688,20],[805,20]]},"666":{"position":[[323,20]]},"668":{"position":[[399,20]]},"677":{"position":[[302,20]]},"679":{"position":[[349,20]]}},"keywords":{}}],["height",{"_index":3727,"title":{"376":{"position":[[0,7]]}},"content":{"369":{"position":[[314,6],[321,6]]},"376":{"position":[[17,6],[25,6],[132,6],[269,6],[343,6]]},"391":{"position":[[183,6]]},"394":{"position":[[166,6],[173,6]]},"399":{"position":[[119,6],[126,6]]},"401":{"position":[[235,6],[242,6]]},"402":{"position":[[235,6],[242,6]]},"404":{"position":[[338,6],[345,6]]},"410":{"position":[[750,6],[757,6]]},"411":{"position":[[646,6],[653,6]]},"412":{"position":[[375,6],[382,6]]},"413":{"position":[[373,6],[380,6]]},"417":{"position":[[719,6],[726,6]]},"418":{"position":[[2048,6],[2055,6]]},"419":{"position":[[2101,6],[2108,6]]},"420":{"position":[[2073,6],[2080,6]]},"423":{"position":[[635,6],[642,6]]},"426":{"position":[[222,6],[229,6]]},"438":{"position":[[257,6],[264,6]]},"442":{"position":[[832,6],[839,6]]},"601":{"position":[[435,6],[761,6],[816,6]]}},"keywords":{}}],["helloworld",{"_index":2111,"title":{"328":{"position":[[0,10]]}},"content":{"194":{"position":[[240,10],[508,10]]},"234":{"position":[[915,10]]},"327":{"position":[[208,10],[421,10]]},"328":{"position":[[5,10],[1680,10]]}},"keywords":{}}],["helloworldwidget",{"_index":2392,"title":{},"content":{"234":{"position":[[403,16],[427,16],[483,16]]},"328":{"position":[[1018,16]]}},"keywords":{}}],["helloworldwidget.vu",{"_index":3208,"title":{},"content":{"328":{"position":[[88,21]]}},"keywords":{}}],["helm",{"_index":2461,"title":{},"content":{"243":{"position":[[300,4]]},"249":{"position":[[499,4]]}},"keywords":{}}],["help",{"_index":80,"title":{"3":{"position":[[0,7]]}},"content":{"3":{"position":[[195,4],[261,4],[413,4]]},"31":{"position":[[264,5]]},"46":{"position":[[1745,4]]},"83":{"position":[[279,4]]},"235":{"position":[[393,4],[1596,4]]},"245":{"position":[[292,5]]},"259":{"position":[[1664,4]]},"263":{"position":[[534,5]]},"287":{"position":[[119,4]]},"292":{"position":[[869,4],[965,5],[1173,5],[1246,5]]},"357":{"position":[[3981,5]]},"467":{"position":[[610,4]]},"472":{"position":[[180,4]]},"493":{"position":[[41,4]]},"505":{"position":[[759,4]]},"746":{"position":[[185,4]]}},"keywords":{}}],["helper",{"_index":1279,"title":{"65":{"position":[[0,6]]}},"content":{"54":{"position":[[2281,6],[3292,6]]},"65":{"position":[[31,6],[102,6]]},"210":{"position":[[144,6]]},"230":{"position":[[1749,6]]},"278":{"position":[[213,6]]},"292":{"position":[[1464,6]]},"476":{"position":[[2319,6],[3231,6]]},"487":{"position":[[394,6]]}},"keywords":{}}],["helper.setup",{"_index":4194,"title":{},"content":{"476":{"position":[[2346,12],[3256,14]]}},"keywords":{}}],["helper_util",{"_index":4209,"title":{},"content":{"476":{"position":[[4394,16]]}},"keywords":{}}],["helperutil",{"_index":4205,"title":{},"content":{"476":{"position":[[3240,15]]}},"keywords":{}}],["helperutility.new",{"_index":4193,"title":{},"content":{"476":{"position":[[2328,17]]}},"keywords":{}}],["here",{"_index":437,"title":{},"content":{"20":{"position":[[761,4]]},"22":{"position":[[564,4]]},"44":{"position":[[654,4],[1342,4],[3198,5]]},"83":{"position":[[527,4]]},"90":{"position":[[613,5]]},"134":{"position":[[899,4]]},"227":{"position":[[1475,4]]},"229":{"position":[[1213,5]]},"230":{"position":[[2117,4]]},"235":{"position":[[1792,5]]},"253":{"position":[[3318,4],[6472,4]]},"262":{"position":[[282,4]]},"291":{"position":[[1293,4]]},"328":{"position":[[188,4],[1458,4]]},"329":{"position":[[172,4]]},"349":{"position":[[110,4]]},"351":{"position":[[429,4]]},"359":{"position":[[220,5],[289,4]]},"360":{"position":[[218,5]]},"374":{"position":[[469,5]]},"470":{"position":[[70,4]]},"485":{"position":[[118,4],[297,4],[402,4]]},"486":{"position":[[413,4],[524,4],[649,4],[761,4]]},"488":{"position":[[2308,4],[2456,4]]},"505":{"position":[[1032,4]]},"608":{"position":[[390,5]]},"745":{"position":[[609,4],[881,4]]},"746":{"position":[[1071,4],[1371,4]]},"754":{"position":[[1166,4],[1250,4],[1296,4],[1341,4],[1713,4],[1790,4],[1844,4],[1897,4]]}},"keywords":{}}],["here"",{"_index":4413,"title":{},"content":{"505":{"position":[[1108,11]]}},"keywords":{}}],["here'",{"_index":95,"title":{},"content":{"3":{"position":[[156,6]]},"449":{"position":[[1,6]]},"610":{"position":[[317,6]]}},"keywords":{}}],["hex",{"_index":661,"title":{},"content":{"36":{"position":[[223,4],[10147,3]]},"59":{"position":[[771,3]]},"60":{"position":[[1169,3]]},"61":{"position":[[2069,3]]},"62":{"position":[[565,3],[697,3],[1071,3]]},"63":{"position":[[1390,3],[1522,3],[2255,3]]},"64":{"position":[[351,3]]},"133":{"position":[[292,3]]},"202":{"position":[[223,4],[10147,3]]},"259":{"position":[[1884,4]]},"267":{"position":[[218,4]]},"303":{"position":[[1569,4],[1666,4]]},"534":{"position":[[291,3]]}},"keywords":{}}],["hex"",{"_index":2872,"title":{},"content":{"303":{"position":[[1610,9]]}},"keywords":{}}],["hexshow",{"_index":4465,"title":{},"content":{"532":{"position":[[70,8]]}},"keywords":{}}],["hh:mm:ss",{"_index":3861,"title":{},"content":{"418":{"position":[[1409,9]]},"419":{"position":[[1462,9]]},"420":{"position":[[1434,9]]}},"keywords":{}}],["hh:mm:ss.sss",{"_index":2635,"title":{},"content":{"263":{"position":[[844,12]]}},"keywords":{}}],["hidapips5",{"_index":3277,"title":{},"content":{"340":{"position":[[101,9]]}},"keywords":{}}],["hidden",{"_index":847,"title":{"210":{"position":[[0,7]]},"278":{"position":[[0,7]]}},"content":{"36":{"position":[[10465,7],[10561,6]]},"40":{"position":[[1466,6]]},"210":{"position":[[87,6]]},"364":{"position":[[754,7]]}},"keywords":{}}],["hide",{"_index":346,"title":{},"content":{"13":{"position":[[67,4]]},"14":{"position":[[64,4]]},"210":{"position":[[1,5]]},"211":{"position":[[40,5]]},"278":{"position":[[1,5],[150,5]]},"578":{"position":[[1202,5],[1339,6],[1506,4]]},"593":{"position":[[597,4]]},"601":{"position":[[898,4]]}},"keywords":{}}],["hierarchi",{"_index":4447,"title":{},"content":{"516":{"position":[[137,9]]}},"keywords":{}}],["high",{"_index":840,"title":{"454":{"position":[[0,4]]}},"content":{"36":{"position":[[9929,4]]},"121":{"position":[[637,4]]},"202":{"position":[[9929,4]]},"250":{"position":[[12,4]]},"267":{"position":[[9192,4],[9288,4],[9309,4],[9350,4],[9429,4],[9514,4],[9787,4],[9858,4],[9901,4]]},"355":{"position":[[828,4]]},"410":{"position":[[340,4],[465,4]]},"417":{"position":[[309,4],[434,4]]},"423":{"position":[[319,4],[444,4]]},"486":{"position":[[119,4]]},"498":{"position":[[22,4]]},"512":{"position":[[219,4]]},"599":{"position":[[483,5]]},"700":{"position":[[425,4],[955,4],[967,4],[1046,4],[1085,4],[1094,4],[1337,4]]},"736":{"position":[[29,4],[86,4]]}},"keywords":{}}],["high>",{"_index":5192,"title":{},"content":{"700":{"position":[[357,9],[375,9]]}},"keywords":{}}],["higher",{"_index":826,"title":{},"content":{"36":{"position":[[9161,6]]},"202":{"position":[[9161,6]]},"267":{"position":[[7286,6]]},"324":{"position":[[3825,6]]},"481":{"position":[[63,6]]}},"keywords":{}}],["highest",{"_index":4253,"title":{},"content":{"482":{"position":[[757,7]]}},"keywords":{}}],["highli",{"_index":1557,"title":{},"content":{"83":{"position":[[73,6]]},"84":{"position":[[1306,6]]}},"keywords":{}}],["highlight",{"_index":2882,"title":{},"content":{"304":{"position":[[133,12],[249,11],[289,11],[2190,9],[2266,11]]},"488":{"position":[[130,10],[641,11],[1048,12]]},"505":{"position":[[68,11]]},"513":{"position":[[600,11]]},"592":{"position":[[143,12]]},"737":{"position":[[167,12],[248,11]]},"752":{"position":[[52,12],[590,9],[730,9]]}},"keywords":{}}],["hint",{"_index":81,"title":{"3":{"position":[[8,6]]}},"content":{"13":{"position":[[37,4]]},"14":{"position":[[34,4]]}},"keywords":{}}],["histor",{"_index":1878,"title":{},"content":{"108":{"position":[[279,10]]},"227":{"position":[[4815,10],[5344,10]]},"459":{"position":[[734,10],[1527,10]]}},"keywords":{}}],["histori",{"_index":2879,"title":{"545":{"position":[[8,7]]}},"content":{"303":{"position":[[2115,7],[2203,7],[2290,8],[2341,7]]},"364":{"position":[[528,7]]},"418":{"position":[[1299,7],[1425,8],[1469,7]]},"419":{"position":[[642,7],[1352,7],[1478,8],[1522,7]]},"420":{"position":[[611,7],[1324,7],[1450,8],[1494,7]]},"490":{"position":[[1088,7],[1127,7]]},"530":{"position":[[200,7],[266,7],[395,8]]},"533":{"position":[[496,8],[542,7],[706,8]]},"534":{"position":[[446,7]]},"546":{"position":[[9,7]]},"547":{"position":[[21,7]]},"564":{"position":[[553,8]]},"600":{"position":[[392,8],[487,7],[608,8]]}},"keywords":{}}],["hit",{"_index":3289,"title":{},"content":{"343":{"position":[[618,3]]},"491":{"position":[[132,4]]},"495":{"position":[[1344,7]]},"756":{"position":[[53,3]]}},"keywords":{}}],["hk",{"_index":3095,"title":{},"content":{"321":{"position":[[2754,2]]}},"keywords":{}}],["hold",{"_index":1499,"title":{},"content":{"71":{"position":[[682,5]]},"99":{"position":[[2079,5],[4180,7]]},"227":{"position":[[5494,7],[5972,7],[6042,7],[6161,7]]},"324":{"position":[[733,7]]},"345":{"position":[[538,5]]},"476":{"position":[[4746,5]]},"517":{"position":[[210,5],[302,5],[472,5]]}},"keywords":{}}],["holder",{"_index":3627,"title":{},"content":{"359":{"position":[[2014,7]]},"360":{"position":[[948,7]]},"462":{"position":[[139,6]]}},"keywords":{}}],["home",{"_index":3146,"title":{},"content":{"324":{"position":[[694,4]]},"487":{"position":[[936,4],[1406,4]]}},"keywords":{}}],["home/.config/contain",{"_index":3190,"title":{},"content":{"324":{"position":[[3107,24],[3167,26]]}},"keywords":{}}],["home/.config/containers/registries.conf",{"_index":3187,"title":{},"content":{"324":{"position":[[2946,40],[3197,40]]}},"keywords":{}}],["home_gimb",{"_index":4295,"title":{},"content":{"487":{"position":[[922,11]]}},"keywords":{}}],["home_gimbal(self",{"_index":4307,"title":{},"content":{"487":{"position":[[1385,18]]}},"keywords":{}}],["homepag",{"_index":2328,"title":{},"content":{"229":{"position":[[779,9]]}},"keywords":{}}],["honor",{"_index":4102,"title":{},"content":{"464":{"position":[[102,8]]}},"keywords":{}}],["hook",{"_index":1533,"title":{},"content":{"79":{"position":[[137,4]]}},"keywords":{}}],["horizont",{"_index":2493,"title":{"388":{"position":[[0,11]]}},"content":{"249":{"position":[[547,10]]},"356":{"position":[[360,10]]},"381":{"position":[[376,10]]},"385":{"position":[[85,10],[145,12]]},"387":{"position":[[158,12]]},"388":{"position":[[36,12],[54,10],[205,10]]},"389":{"position":[[36,12]]},"397":{"position":[[27,10]]},"412":{"position":[[60,12]]},"446":{"position":[[296,10],[386,10]]},"601":{"position":[[345,12],[532,12]]}},"keywords":{}}],["horizontalbox",{"_index":3779,"title":{"389":{"position":[[0,14]]}},"content":{"389":{"position":[[75,13],[290,13]]}},"keywords":{}}],["horizontallin",{"_index":3807,"title":{"397":{"position":[[0,15]]}},"content":{"397":{"position":[[118,14]]},"398":{"position":[[145,14]]}},"keywords":{}}],["horribl",{"_index":3707,"title":{},"content":{"364":{"position":[[1581,8]]}},"keywords":{}}],["host",{"_index":1140,"title":{"45":{"position":[[0,4]]},"46":{"position":[[34,4]]},"288":{"position":[[28,4]]},"337":{"position":[[0,4]]}},"content":{"46":{"position":[[198,5],[464,4],[1643,5]]},"51":{"position":[[127,4]]},"58":{"position":[[211,4]]},"250":{"position":[[97,4]]},"287":{"position":[[138,4]]},"324":{"position":[[937,4],[1987,4]]},"336":{"position":[[81,4]]},"337":{"position":[[12,4]]},"338":{"position":[[2053,4]]},"350":{"position":[[306,4],[636,4],[957,4]]},"528":{"position":[[242,5]]}},"keywords":{}}],["host'",{"_index":2564,"title":{},"content":{"253":{"position":[[7765,6]]}},"keywords":{}}],["host.docker.intern",{"_index":1208,"title":{},"content":{"49":{"position":[[900,20],[1031,20],[1141,20],[1251,20],[1386,20],[1495,20],[1611,20],[1775,20],[1925,20],[2054,20],[2184,20],[2337,20],[2464,20],[2599,20]]},"51":{"position":[[933,20],[1076,20]]},"54":{"position":[[781,20],[891,20],[1001,20],[1121,20],[1256,20],[1365,20],[1501,20],[1630,20],[1760,20],[1899,20],[2052,20],[2179,20],[2542,20],[2753,20]]},"125":{"position":[[182,20],[326,20]]},"126":{"position":[[223,20],[419,20]]},"127":{"position":[[226,20],[425,20]]},"134":{"position":[[761,20],[1048,20]]},"230":{"position":[[2673,20]]},"253":{"position":[[6856,20],[7679,20]]},"338":{"position":[[2134,20]]}},"keywords":{}}],["hosthidapi",{"_index":3276,"title":{},"content":{"340":{"position":[[68,11]]}},"keywords":{}}],["hostnam",{"_index":435,"title":{},"content":{"20":{"position":[[713,9],[752,8]]},"22":{"position":[[555,8]]},"69":{"position":[[552,8]]},"253":{"position":[[8365,9]]},"320":{"position":[[905,8]]},"338":{"position":[[2155,8]]},"347":{"position":[[1022,8]]},"711":{"position":[[511,9]]}},"keywords":{}}],["hour",{"_index":1582,"title":{},"content":{"83":{"position":[[1009,5],[1090,5]]},"133":{"position":[[460,4],[582,4],[829,5]]},"161":{"position":[[26,4],[128,4]]},"528":{"position":[[667,4]]},"547":{"position":[[47,4]]}},"keywords":{}}],["hourli",{"_index":1969,"title":{},"content":{"133":{"position":[[727,6]]}},"keywords":{}}],["housekeep",{"_index":2956,"title":{},"content":{"307":{"position":[[217,12]]}},"keywords":{}}],["hqzfc7dkjmrci1udlfdvdbza9otur",{"_index":990,"title":{},"content":{"43":{"position":[[2374,29],[5839,29]]}},"keywords":{}}],["hr",{"_index":3530,"title":{},"content":{"357":{"position":[[2175,2]]}},"keywords":{}}],["hs",{"_index":2714,"title":{},"content":{"285":{"position":[[56,2]]},"357":{"position":[[470,3]]},"424":{"position":[[545,2],[757,2]]},"425":{"position":[[412,2]]},"441":{"position":[[434,2]]},"442":{"position":[[1153,2]]}},"keywords":{}}],["html",{"_index":1392,"title":{},"content":{"63":{"position":[[718,4]]},"105":{"position":[[271,4]]},"216":{"position":[[166,4]]},"217":{"position":[[162,4]]},"245":{"position":[[196,5]]}},"keywords":{}}],["htmlaccessor",{"_index":2166,"title":{},"content":{"215":{"position":[[243,13]]},"279":{"position":[[243,13]]}},"keywords":{}}],["htop",{"_index":3462,"title":{},"content":{"356":{"position":[[725,4]]},"357":{"position":[[713,5],[2184,4],[3875,4]]}},"keywords":{}}],["http",{"_index":403,"title":{},"content":{"20":{"position":[[189,5]]},"22":{"position":[[321,4],[378,5],[440,5],[490,5]]},"87":{"position":[[5,4]]},"89":{"position":[[89,4],[145,4]]},"227":{"position":[[961,4]]},"324":{"position":[[3708,4]]},"352":{"position":[[1122,4]]}},"keywords":{}}],["http/1.1",{"_index":919,"title":{},"content":{"42":{"position":[[548,8]]},"43":{"position":[[688,8],[6308,8]]}},"keywords":{}}],["http://127.0.0.1:2900/auth/realms/openc3/protocol/openid",{"_index":957,"title":{},"content":{"43":{"position":[[595,56]]}},"keywords":{}}],["http://127.0.0.1:2900/openc3",{"_index":916,"title":{},"content":{"42":{"position":[[498,28]]},"43":{"position":[[6251,28]]}},"keywords":{}}],["http://ascportal:2900",{"_index":1050,"title":{},"content":{"44":{"position":[[973,22]]}},"keywords":{}}],["http://cosmos.local:2900",{"_index":3356,"title":{},"content":{"347":{"position":[[2639,24]]}},"keywords":{}}],["http://localhost:2900",{"_index":1187,"title":{},"content":{"46":{"position":[[1573,22]]},"293":{"position":[[26,22]]},"315":{"position":[[448,22]]},"324":{"position":[[3944,21]]}},"keywords":{}}],["http://localhost:2900/openc3",{"_index":1776,"title":{},"content":{"95":{"position":[[932,28]]}},"keywords":{}}],["http://localhost:2900/script",{"_index":1044,"title":{},"content":{"44":{"position":[[698,29]]}},"keywords":{}}],["http://localhost:2900/tools/cmdtlmserver/tlm",{"_index":3134,"title":{},"content":{"322":{"position":[[2046,44]]}},"keywords":{}}],["http://localhost:2900/tools/scriptrunner/?file=target%2fprocedures%2fcmd_tlm_test.rb",{"_index":1051,"title":{},"content":{"44":{"position":[[1011,85]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunn",{"_index":1659,"title":{},"content":{"84":{"position":[[382,41],[435,41]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunner/js/app.j",{"_index":1668,"title":{},"content":{"84":{"position":[[1006,50]]}},"keywords":{}}],["http://openc3",{"_index":3434,"title":{},"content":{"353":{"position":[[371,13]]}},"keywords":{}}],["httponli",{"_index":973,"title":{},"content":{"43":{"position":[[969,8],[1091,8]]}},"keywords":{}}],["https://datatracker.ietf.org/doc/html/rfc1055",{"_index":1325,"title":{},"content":{"58":{"position":[[558,45]]}},"keywords":{}}],["https://developer.mozilla.org/en",{"_index":4798,"title":{},"content":{"632":{"position":[[1204,32]]}},"keywords":{}}],["https://doc.traefik.io/traefik/https/tls/#ciph",{"_index":602,"title":{},"content":{"29":{"position":[[1,48]]}},"keywords":{}}],["https://docs.openc3.com/docs/configuration/telemetri",{"_index":2393,"title":{},"content":{"234":{"position":[[537,52]]}},"keywords":{}}],["https://en.wikipedia.org/wiki/consistent_overhead_byte_stuf",{"_index":1318,"title":{},"content":{"57":{"position":[[567,63]]}},"keywords":{}}],["https://get.docker.com",{"_index":3351,"title":{},"content":{"347":{"position":[[2278,22]]}},"keywords":{}}],["https://github.com/docker/compose/releases/download/v2.16.0/dock",{"_index":3159,"title":{},"content":{"324":{"position":[[1709,66]]}},"keywords":{}}],["https://github.com/nasa/cfs.git",{"_index":3002,"title":{},"content":{"317":{"position":[[32,31]]}},"keywords":{}}],["https://github.com/openc3/cosmo",{"_index":1832,"title":{},"content":{"102":{"position":[[83,32]]},"290":{"position":[[75,32],[130,32]]},"347":{"position":[[2394,32]]},"767":{"position":[[1261,35]]}},"keywords":{}}],["https://github.com/openc3/cosmos.git",{"_index":1170,"title":{},"content":{"46":{"position":[[889,36]]},"324":{"position":[[2777,36]]}},"keywords":{}}],["https://github.com/rocketcommunicationsinc/astro",{"_index":3880,"title":{},"content":{"424":{"position":[[209,48]]}},"keywords":{}}],["https://guides.rubygems.org/specif",{"_index":2332,"title":{},"content":{"229":{"position":[[1096,41]]}},"keywords":{}}],["https://materialdesignicons.com",{"_index":2096,"title":{},"content":{"189":{"position":[[206,35]]}},"keywords":{}}],["https://mygemserv",{"_index":5565,"title":{},"content":{"769":{"position":[[381,22]]}},"keywords":{}}],["https://mypypiserv",{"_index":5569,"title":{},"content":{"769":{"position":[[520,23],[583,22]]}},"keywords":{}}],["https://openc3.com",{"_index":3801,"title":{},"content":{"394":{"position":[[224,18]]}},"keywords":{}}],["https://pypi.org/simpl",{"_index":5545,"title":{},"content":{"767":{"position":[[1040,26]]}},"keywords":{}}],["https://rubygems.org",{"_index":5547,"title":{},"content":{"767":{"position":[[1154,23]]},"768":{"position":[[633,23]]}},"keywords":{}}],["https://www.raspberrypi.com/softwar",{"_index":3312,"title":{},"content":{"347":{"position":[[500,37]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/nf",{"_index":3154,"title":{},"content":{"324":{"position":[[1286,35]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/rootless",{"_index":3149,"title":{},"content":{"324":{"position":[[997,41]]}},"keywords":{}}],["httpserverinterfac",{"_index":1982,"title":{},"content":{"135":{"position":[[485,19]]}},"keywords":{}}],["human",{"_index":2832,"title":{},"content":{"297":{"position":[[1016,5]]}},"keywords":{}}],["hyp",{"_index":3601,"title":{},"content":{"357":{"position":[[4488,3]]}},"keywords":{}}],["i.",{"_index":3052,"title":{},"content":{"320":{"position":[[1322,4]]},"321":{"position":[[946,4]]},"461":{"position":[[1147,3]]},"476":{"position":[[612,4]]}},"keywords":{}}],["icon",{"_index":2091,"title":{"189":{"position":[[0,5]]}},"content":{"189":{"position":[[10,4],[16,4],[121,4],[160,5]]},"235":{"position":[[1730,4],[1780,5],[1853,4]]},"253":{"position":[[515,4]]},"254":{"position":[[2113,4]]},"322":{"position":[[171,4]]},"424":{"position":[[41,4],[149,4],[192,5],[314,4],[346,4],[363,4],[398,4]]},"425":{"position":[[44,4],[475,5]]},"513":{"position":[[700,5]]},"514":{"position":[[1414,4]]},"518":{"position":[[18,4]]},"519":{"position":[[20,4]]},"520":{"position":[[17,4]]},"527":{"position":[[343,4]]},"552":{"position":[[380,4],[687,4]]},"555":{"position":[[248,4]]},"557":{"position":[[111,4],[181,4]]},"558":{"position":[[44,4],[114,4]]},"563":{"position":[[318,4],[625,4]]},"564":{"position":[[97,5],[410,4]]},"577":{"position":[[296,5],[497,5],[1149,4],[1456,4]]},"578":{"position":[[730,4],[1159,4]]},"589":{"position":[[317,4],[624,4]]},"592":{"position":[[21,4],[294,4]]},"593":{"position":[[295,4],[364,4]]},"598":{"position":[[336,4],[643,4]]},"599":{"position":[[618,4]]}},"keywords":{}}],["iconograpi",{"_index":2484,"title":{},"content":{"247":{"position":[[258,11]]}},"keywords":{}}],["icons.json",{"_index":3882,"title":{},"content":{"424":{"position":[[297,11]]}},"keywords":{}}],["id",{"_index":930,"title":{"260":{"position":[[0,2]]}},"content":{"42":{"position":[[745,3]]},"43":{"position":[[6486,3]]},"44":{"position":[[3283,2]]},"54":{"position":[[342,2]]},"60":{"position":[[505,3],[780,2]]},"83":{"position":[[2303,3]]},"99":{"position":[[653,2],[688,2],[703,2],[1197,2],[1238,2],[3938,2]]},"204":{"position":[[76,2],[1173,2]]},"205":{"position":[[76,2],[1009,2]]},"232":{"position":[[998,2],[1028,2]]},"233":{"position":[[1215,2],[1245,2]]},"253":{"position":[[2875,2],[3593,2],[4829,2],[4859,2],[5262,2],[5311,2],[5366,2]]},"254":{"position":[[1473,2]]},"260":{"position":[[282,2]]},"269":{"position":[[780,2],[1198,2]]},"270":{"position":[[449,2],[870,2]]},"299":{"position":[[7,2]]},"300":{"position":[[7,2]]},"301":{"position":[[118,2]]},"302":{"position":[[185,2]]},"303":{"position":[[367,2]]},"304":{"position":[[1303,2]]},"305":{"position":[[153,2]]},"306":{"position":[[272,2]]},"307":{"position":[[104,2]]},"308":{"position":[[119,2]]},"309":{"position":[[198,2]]},"310":{"position":[[103,2]]},"311":{"position":[[110,2]]},"321":{"position":[[2820,2]]},"322":{"position":[[431,2]]},"324":{"position":[[783,3],[797,4]]},"499":{"position":[[542,2],[621,3],[835,2],[838,3],[879,2],[959,3],[1167,2],[1170,3]]},"644":{"position":[[1062,6]]},"675":{"position":[[89,2],[331,2]]},"676":{"position":[[198,2],[428,2],[507,3],[674,2],[730,3],[931,2],[1011,3],[1172,2],[1228,3]]}},"keywords":{}}],["id"",{"_index":270,"title":{},"content":{"7":{"position":[[762,8],[951,8]]},"226":{"position":[[459,8],[1337,8],[2107,8]]},"266":{"position":[[1099,8]]},"268":{"position":[[894,8]]},"285":{"position":[[454,8]]},"321":{"position":[[479,8],[2888,8]]}},"keywords":{}}],["id=$(curl",{"_index":1107,"title":{},"content":{"44":{"position":[[2920,9]]}},"keywords":{}}],["id_item",{"_index":2544,"title":{"269":{"position":[[0,8]]}},"content":{"253":{"position":[[5247,7],[5693,8],[6289,7]]},"260":{"position":[[135,7]]},"269":{"position":[[101,8],[1157,7]]},"285":{"position":[[390,7]]}},"keywords":{}}],["id_item(",{"_index":1349,"title":{},"content":{"60":{"position":[[891,10]]}},"keywords":{}}],["id_paramet",{"_index":2140,"title":{"204":{"position":[[0,13]]}},"content":{"204":{"position":[[199,13],[2093,12]]},"205":{"position":[[199,13]]},"226":{"position":[[376,12],[1254,12],[2024,12]]},"253":{"position":[[6272,12]]}},"keywords":{}}],["idea",{"_index":1905,"title":{},"content":{"110":{"position":[[124,5]]}},"keywords":{}}],["ideal",{"_index":168,"title":{},"content":{"5":{"position":[[761,7]]},"17":{"position":[[97,7]]},"18":{"position":[[100,7]]},"46":{"position":[[385,5]]},"199":{"position":[[231,7]]},"260":{"position":[[303,7]]},"264":{"position":[[260,7]]},"304":{"position":[[966,7],[1121,7]]},"480":{"position":[[800,8]]},"617":{"position":[[60,5]]}},"keywords":{}}],["ident",{"_index":636,"title":{},"content":{"33":{"position":[[376,9]]},"39":{"position":[[151,9]]},"334":{"position":[[151,9]]},"578":{"position":[[498,11]]},"612":{"position":[[182,9],[473,9]]},"616":{"position":[[153,9]]}},"keywords":{}}],["identif",{"_index":382,"title":{},"content":{"17":{"position":[[301,14],[376,14]]},"18":{"position":[[306,14],[381,14]]},"204":{"position":[[12,14],[1182,14]]},"205":{"position":[[12,14],[1018,14]]},"222":{"position":[[71,14]]},"260":{"position":[[21,14],[552,15]]},"281":{"position":[[71,14]]},"454":{"position":[[160,14]]},"459":{"position":[[1241,14]]}},"keywords":{}}],["identifi",{"_index":370,"title":{},"content":{"17":{"position":[[31,11],[135,10],[232,11]]},"18":{"position":[[34,11],[139,10],[237,11]]},"31":{"position":[[273,8]]},"60":{"position":[[89,8],[151,10],[826,8]]},"98":{"position":[[105,8]]},"99":{"position":[[1302,11]]},"204":{"position":[[102,8],[270,11],[1282,10]]},"205":{"position":[[102,8],[270,11],[1118,10]]},"229":{"position":[[1015,12]]},"253":{"position":[[3566,8]]},"260":{"position":[[251,10],[411,9]]},"261":{"position":[[79,11]]},"269":{"position":[[836,10]]},"270":{"position":[[505,10]]},"370":{"position":[[87,8]]},"460":{"position":[[61,10]]}},"keywords":{}}],["identification"",{"_index":3091,"title":{},"content":{"321":{"position":[[1323,20],[1855,20],[2355,20]]}},"keywords":{}}],["identifier"",{"_index":2143,"title":{},"content":{"204":{"position":[[2143,16]]},"205":{"position":[[1983,16]]}},"keywords":{}}],["idl",{"_index":2776,"title":{},"content":{"289":{"position":[[969,4],[1147,4],[1513,5]]}},"keywords":{}}],["ie",{"_index":2062,"title":{},"content":{"171":{"position":[[292,3]]},"184":{"position":[[357,3]]},"291":{"position":[[1220,4]]},"347":{"position":[[1231,4]]},"502":{"position":[[696,2]]}},"keywords":{}}],["ifram",{"_index":1887,"title":{"394":{"position":[[0,7]]}},"content":{"108":{"position":[[498,7]]},"188":{"position":[[179,6],[213,6],[351,7]]},"394":{"position":[[27,6],[122,6],[217,6]]}},"keywords":{}}],["ignor",{"_index":345,"title":{"68":{"position":[[0,6]]},"456":{"position":[[0,7]]}},"content":{"13":{"position":[[1,6],[75,6],[430,7]]},"14":{"position":[[1,6],[72,6],[320,7]]},"36":{"position":[[7067,7]]},"54":{"position":[[2388,6],[2395,7]]},"63":{"position":[[1553,6],[1594,6]]},"65":{"position":[[70,7]]},"68":{"position":[[5,6],[192,6],[248,6]]},"93":{"position":[[227,7],[435,7]]},"202":{"position":[[7067,7]]},"227":{"position":[[4556,7]]},"229":{"position":[[412,6]]},"230":{"position":[[2400,8]]},"267":{"position":[[5668,7]]},"280":{"position":[[17,7],[171,7]]},"302":{"position":[[363,8],[396,6]]},"303":{"position":[[724,7],[1393,8],[1424,6],[1717,7],[1762,7],[1803,7]]},"304":{"position":[[436,6]]},"430":{"position":[[251,7]]},"446":{"position":[[885,7]]},"456":{"position":[[35,7]]},"532":{"position":[[3,7],[79,7]]},"534":{"position":[[247,7]]},"571":{"position":[[9,7]]},"575":{"position":[[273,7]]},"577":{"position":[[20,7],[127,8],[192,8],[265,7],[289,6],[372,7],[449,7]]},"578":{"position":[[735,7],[853,7],[913,7],[974,7],[1125,7],[1251,8]]},"702":{"position":[[244,6]]}},"keywords":{}}],["ignore_item",{"_index":357,"title":{"14":{"position":[[0,12]]}},"content":{"14":{"position":[[386,11]]}},"keywords":{}}],["ignore_overlap",{"_index":2699,"title":{"280":{"position":[[0,15]]}},"content":{},"keywords":{}}],["ignore_paramet",{"_index":344,"title":{"13":{"position":[[0,17]]}},"content":{"13":{"position":[[495,16]]}},"keywords":{}}],["ignored)"",{"_index":4516,"title":{},"content":{"578":{"position":[[1048,14]]}},"keywords":{}}],["ignorepacketprotocol",{"_index":1977,"title":{},"content":{"134":{"position":[[1124,20]]}},"keywords":{}}],["illustr",{"_index":1369,"title":{},"content":{"61":{"position":[[2713,10]]}},"keywords":{}}],["imag",{"_index":513,"title":{"239":{"position":[[0,7]]}},"content":{"23":{"position":[[166,6]]},"83":{"position":[[877,6],[922,5],[2355,5]]},"134":{"position":[[1150,5],[1172,5]]},"230":{"position":[[2105,5],[2157,5]]},"239":{"position":[[22,5],[198,5],[393,6],[427,5],[452,5],[497,6]]},"289":{"position":[[1631,6]]},"322":{"position":[[1803,5],[1998,5]]},"324":{"position":[[985,6]]},"347":{"position":[[483,6],[653,6]]},"402":{"position":[[766,5],[772,5]]},"421":{"position":[[18,5],[297,5],[389,5],[395,5]]},"441":{"position":[[13,5],[89,5],[226,5],[305,5]]},"442":{"position":[[13,5],[115,6],[183,5],[506,5],[533,5],[667,5],[746,5],[771,5],[796,5],[826,5],[853,5],[1026,5],[1082,5],[1259,6],[1274,5],[1357,5],[1372,5],[1506,5],[1585,5]]},"476":{"position":[[3883,5]]},"593":{"position":[[454,5]]},"599":{"position":[[1354,5]]},"610":{"position":[[241,6]]}},"keywords":{}}],["imageview",{"_index":3873,"title":{"421":{"position":[[0,12]]}},"content":{"421":{"position":[[372,11]]}},"keywords":{}}],["imagin",{"_index":2396,"title":{},"content":{"234":{"position":[[835,11]]},"235":{"position":[[1345,11]]}},"keywords":{}}],["immedi",{"_index":1535,"title":{},"content":{"79":{"position":[[215,11]]},"374":{"position":[[350,11]]},"492":{"position":[[655,11]]},"600":{"position":[[243,11]]}},"keywords":{}}],["imped",{"_index":3615,"title":{},"content":{"359":{"position":[[1143,6]]}},"keywords":{}}],["implement",{"_index":742,"title":{"91":{"position":[[9,16]]},"528":{"position":[[9,14]]}},"content":{"36":{"position":[[4053,11],[4197,9],[4302,9]]},"52":{"position":[[185,11]]},"53":{"position":[[36,9]]},"64":{"position":[[283,15]]},"69":{"position":[[842,14]]},"71":{"position":[[153,15],[414,15]]},"72":{"position":[[259,15],[310,15],[388,14]]},"73":{"position":[[122,15],[189,15],[275,14]]},"74":{"position":[[128,15],[198,15],[290,14]]},"75":{"position":[[615,15],[947,15],[1360,14],[1612,14]]},"76":{"position":[[796,15],[875,15]]},"77":{"position":[[657,15],[737,15]]},"78":{"position":[[654,15],[728,15]]},"79":{"position":[[145,9],[938,15],[1038,15]]},"80":{"position":[[199,15],[277,11],[340,15],[425,11],[527,11]]},"88":{"position":[[16,10]]},"91":{"position":[[30,11]]},"95":{"position":[[270,15]]},"115":{"position":[[12,9],[110,11]]},"123":{"position":[[166,10],[319,10]]},"134":{"position":[[593,10]]},"194":{"position":[[204,15]]},"202":{"position":[[4053,11],[4197,9],[4302,9]]},"227":{"position":[[423,11],[5047,14]]},"231":{"position":[[894,9]]},"232":{"position":[[724,14]]},"233":{"position":[[771,14]]},"245":{"position":[[52,11]]},"267":{"position":[[3002,11],[3146,9],[3251,9],[10560,10]]},"276":{"position":[[218,10]]},"304":{"position":[[728,11]]},"328":{"position":[[171,9]]},"364":{"position":[[717,11]]},"459":{"position":[[1591,14]]},"478":{"position":[[193,11]]},"496":{"position":[[256,9]]},"585":{"position":[[535,9]]},"586":{"position":[[484,9]]},"610":{"position":[[136,11]]},"616":{"position":[[21,11]]},"617":{"position":[[94,12]]},"717":{"position":[[106,11]]},"718":{"position":[[114,11]]},"727":{"position":[[99,11]]},"728":{"position":[[111,11]]},"729":{"position":[[98,11]]}},"keywords":{}}],["impli",{"_index":814,"title":{},"content":{"36":{"position":[[8064,7]]},"202":{"position":[[8064,7]]},"267":{"position":[[6724,7]]},"360":{"position":[[772,8]]}},"keywords":{}}],["implic",{"_index":3613,"title":{},"content":{"359":{"position":[[958,12]]}},"keywords":{}}],["import",{"_index":563,"title":{},"content":{"26":{"position":[[143,6]]},"27":{"position":[[362,6]]},"36":{"position":[[5868,6]]},"44":{"position":[[1316,9]]},"69":{"position":[[1320,6]]},"202":{"position":[[5868,6]]},"227":{"position":[[1935,9]]},"267":{"position":[[4348,6]]},"289":{"position":[[895,10]]},"290":{"position":[[764,6]]},"297":{"position":[[47,9]]},"322":{"position":[[42,6]]},"325":{"position":[[563,10]]},"328":{"position":[[233,6]]},"452":{"position":[[218,6]]},"476":{"position":[[2742,6],[2751,6],[3685,8]]},"487":{"position":[[123,9]]},"488":{"position":[[1830,6],[1854,8],[1869,6],[1911,8]]},"490":{"position":[[142,10]]},"495":{"position":[[187,9],[298,9]]},"497":{"position":[[612,6]]},"501":{"position":[[405,9]]},"514":{"position":[[1182,9]]},"610":{"position":[[607,6]]},"611":{"position":[[344,6]]},"628":{"position":[[921,6]]},"737":{"position":[[195,6],[353,8]]},"754":{"position":[[1593,6],[1627,6]]}},"keywords":{}}],["imposs",{"_index":3704,"title":{},"content":{"364":{"position":[[1197,10]]},"480":{"position":[[199,10]]},"483":{"position":[[258,11]]}},"keywords":{}}],["improv",{"_index":1190,"title":{},"content":{"46":{"position":[[1753,7]]}},"keywords":{}}],["in_docker.conf",{"_index":3365,"title":{},"content":{"350":{"position":[[153,14],[1266,16]]}},"keywords":{}}],["inaccur",{"_index":4065,"title":{},"content":{"459":{"position":[[1097,11]]}},"keywords":{}}],["inadequate_secur",{"_index":601,"title":{"29":{"position":[[7,19]]}},"content":{},"keywords":{}}],["inadvert",{"_index":1960,"title":{},"content":{"131":{"position":[[234,13]]}},"keywords":{}}],["inc",{"_index":3635,"title":{"458":{"position":[[8,4]]}},"content":{"360":{"position":[[296,4],[545,4]]},"363":{"position":[[70,3],[129,3]]},"459":{"position":[[272,4]]},"461":{"position":[[284,4]]},"462":{"position":[[117,4]]},"464":{"position":[[9,4]]},"467":{"position":[[1037,4],[1277,4],[1352,4],[1487,5]]},"469":{"position":[[180,4],[460,4]]},"471":{"position":[[40,4]]},"472":{"position":[[158,4]]}},"keywords":{}}],["inc'",{"_index":4085,"title":{"469":{"position":[[16,5]]}},"content":{"461":{"position":[[424,5]]}},"keywords":{}}],["includ",{"_index":220,"title":{},"content":{"6":{"position":[[520,9]]},"23":{"position":[[415,7]]},"54":{"position":[[49,9]]},"59":{"position":[[915,9]]},"60":{"position":[[1313,9]]},"61":{"position":[[1169,10],[1843,9],[2213,9],[3255,10]]},"62":{"position":[[968,9],[1215,9]]},"63":{"position":[[1026,7],[2152,9],[2399,9]]},"69":{"position":[[285,9],[876,8]]},"83":{"position":[[133,9]]},"85":{"position":[[344,9],[778,9]]},"99":{"position":[[301,9],[3607,9]]},"121":{"position":[[518,8]]},"215":{"position":[[207,7]]},"254":{"position":[[374,10]]},"257":{"position":[[604,8]]},"279":{"position":[[207,7]]},"291":{"position":[[191,8]]},"292":{"position":[[783,7]]},"298":{"position":[[879,7]]},"304":{"position":[[1499,9],[1795,9],[3057,8]]},"311":{"position":[[54,9]]},"328":{"position":[[560,10]]},"334":{"position":[[62,9]]},"338":{"position":[[1835,8]]},"344":{"position":[[179,9]]},"359":{"position":[[786,8],[1307,9]]},"360":{"position":[[617,8],[783,9]]},"459":{"position":[[1832,9]]},"467":{"position":[[273,9]]},"469":{"position":[[244,9]]},"482":{"position":[[174,8]]},"488":{"position":[[1091,8],[1728,9],[1811,8]]},"493":{"position":[[15,8]]},"498":{"position":[[14,7]]},"508":{"position":[[604,7]]},"525":{"position":[[167,9]]},"546":{"position":[[126,7]]},"585":{"position":[[856,10],[928,10]]},"610":{"position":[[187,8]]},"709":{"position":[[29,9]]},"723":{"position":[[25,9]]},"737":{"position":[[546,9],[594,7]]},"754":{"position":[[86,9],[437,9]]}},"keywords":{}}],["include_tag_key",{"_index":3378,"title":{},"content":{"350":{"position":[[413,15],[743,15],[1065,15]]}},"keywords":{}}],["includesubdomain",{"_index":978,"title":{},"content":{"43":{"position":[[1145,17]]}},"keywords":{}}],["incom",{"_index":1222,"title":{},"content":{"50":{"position":[[69,8]]},"54":{"position":[[2371,8],[3035,8]]},"59":{"position":[[384,8]]},"67":{"position":[[71,8],[281,8],[348,8]]},"68":{"position":[[84,8]]},"134":{"position":[[437,8]]},"253":{"position":[[5753,8]]},"260":{"position":[[49,8]]},"269":{"position":[[165,8]]},"322":{"position":[[2119,8]]}},"keywords":{}}],["incompat",{"_index":4060,"title":{},"content":{"459":{"position":[[620,12],[817,12]]}},"keywords":{}}],["incorpor",{"_index":2486,"title":{},"content":{"247":{"position":[[319,12]]}},"keywords":{}}],["incorrect",{"_index":4399,"title":{},"content":{"504":{"position":[[566,9]]}},"keywords":{}}],["increas",{"_index":3234,"title":{},"content":{"329":{"position":[[368,10]]},"357":{"position":[[2415,8],[3672,10]]},"564":{"position":[[504,8]]}},"keywords":{}}],["increasingli",{"_index":2798,"title":{},"content":{"291":{"position":[[427,12]]}},"keywords":{}}],["increment",{"_index":1470,"title":{},"content":{"69":{"position":[[3467,11],[3872,12]]},"476":{"position":[[4876,10]]},"600":{"position":[[576,13]]}},"keywords":{}}],["incur",{"_index":2614,"title":{},"content":{"260":{"position":[[507,6]]}},"keywords":{}}],["indefinit",{"_index":2297,"title":{},"content":{"227":{"position":[[4469,12],[4702,12]]}},"keywords":{}}],["indent",{"_index":293,"title":{},"content":{"8":{"position":[[427,11]]},"9":{"position":[[985,11]]},"476":{"position":[[384,8],[466,11],[1270,11]]}},"keywords":{}}],["independ",{"_index":1778,"title":{},"content":{"98":{"position":[[131,11]]},"184":{"position":[[224,11]]},"257":{"position":[[54,11],[209,11],[346,11]]},"304":{"position":[[1139,11]]},"356":{"position":[[297,11]]},"512":{"position":[[149,13]]},"608":{"position":[[164,13],[509,13]]}},"keywords":{}}],["index",{"_index":1803,"title":{},"content":{"99":{"position":[[1705,6],[1747,5],[1777,5],[1930,5],[1974,5],[2380,5],[2410,5],[2592,5],[2636,5],[4908,5],[4938,5],[5091,5],[5135,5]]},"373":{"position":[[206,5],[239,5],[429,6],[657,5],[663,5]]},"383":{"position":[[206,5],[239,5],[429,6],[538,5],[544,5]]},"434":{"position":[[386,5]]},"446":{"position":[[804,5]]},"585":{"position":[[835,6],[871,5],[911,6],[943,5]]},"593":{"position":[[429,5]]},"718":{"position":[[650,5],[872,6],[993,6]]},"728":{"position":[[327,6],[654,5],[873,6],[991,6]]}},"keywords":{}}],["indic",{"_index":173,"title":{},"content":{"5":{"position":[[825,9]]},"33":{"position":[[148,9],[278,9]]},"35":{"position":[[242,8],[422,8],[1236,9],[1767,9]]},"36":{"position":[[3153,9],[10474,9],[10725,9]]},"37":{"position":[[215,8],[1029,9],[1560,9]]},"56":{"position":[[332,9]]},"57":{"position":[[355,9]]},"61":{"position":[[1258,9]]},"67":{"position":[[514,8]]},"69":{"position":[[2411,10]]},"75":{"position":[[1647,8]]},"122":{"position":[[16,9]]},"199":{"position":[[295,9]]},"201":{"position":[[270,8],[451,8],[1265,9],[1796,9]]},"202":{"position":[[3153,9]]},"203":{"position":[[234,8],[1048,9],[1579,9]]},"204":{"position":[[493,8],[621,8],[1409,9],[1940,9]]},"205":{"position":[[457,8],[1245,9],[1776,9]]},"206":{"position":[[287,8],[626,8],[812,9]]},"207":{"position":[[409,8],[595,9]]},"218":{"position":[[17,9]]},"219":{"position":[[17,9]]},"227":{"position":[[4405,9],[4637,9],[4781,9],[5293,9],[5395,10]]},"264":{"position":[[324,9]]},"266":{"position":[[269,8],[449,8],[880,9]]},"267":{"position":[[8020,8]]},"268":{"position":[[241,8],[672,9]]},"269":{"position":[[439,8],[572,8],[974,9]]},"270":{"position":[[241,8],[643,9]]},"271":{"position":[[286,8],[619,8],[805,9]]},"272":{"position":[[411,8],[597,9]]},"292":{"position":[[538,10]]},"304":{"position":[[6584,10],[6797,10]]},"305":{"position":[[1357,10]]},"320":{"position":[[706,9]]},"322":{"position":[[1246,9]]},"357":{"position":[[2193,10]]},"359":{"position":[[1565,10]]},"370":{"position":[[1,9],[187,8]]},"429":{"position":[[671,8]]},"442":{"position":[[100,8]]},"504":{"position":[[144,9]]},"514":{"position":[[1466,8]]},"578":{"position":[[1021,8],[1066,8]]},"584":{"position":[[382,9]]},"651":{"position":[[20,10]]},"681":{"position":[[1424,10]]},"682":{"position":[[1191,10]]},"683":{"position":[[857,10]]},"684":{"position":[[738,10]]},"688":{"position":[[710,10]]},"700":{"position":[[1294,10],[1444,10]]}},"keywords":{}}],["individu",{"_index":621,"title":{},"content":{"31":{"position":[[402,10]]},"46":{"position":[[1223,10]]},"84":{"position":[[66,10]]},"225":{"position":[[258,10]]},"227":{"position":[[2267,10]]},"253":{"position":[[2616,13]]},"280":{"position":[[125,10]]},"282":{"position":[[259,10]]},"304":{"position":[[1005,10],[5012,10],[5047,10],[5125,10],[5160,10],[5238,10],[5272,10],[5387,13],[5553,13]]},"308":{"position":[[191,10],[227,10]]},"357":{"position":[[1030,10],[2521,10]]},"459":{"position":[[499,12],[1733,12]]},"482":{"position":[[720,11],[1158,10],[1440,10]]},"519":{"position":[[48,10]]},"520":{"position":[[35,10]]},"540":{"position":[[244,10]]},"544":{"position":[[380,10]]},"550":{"position":[[88,10]]},"556":{"position":[[630,10]]},"558":{"position":[[296,10],[351,10]]},"561":{"position":[[47,10]]},"575":{"position":[[221,10]]},"599":{"position":[[578,10]]},"603":{"position":[[298,10]]},"632":{"position":[[430,10]]},"754":{"position":[[369,10]]}},"keywords":{}}],["industri",{"_index":4147,"title":{},"content":{"469":{"position":[[476,8]]}},"keywords":{}}],["inf",{"_index":1706,"title":{},"content":{"88":{"position":[[208,4]]}},"keywords":{}}],["infinit",{"_index":3703,"title":{},"content":{"364":{"position":[[1135,8]]},"496":{"position":[[326,8],[713,8],[925,8]]},"681":{"position":[[208,8]]}},"keywords":{}}],["info",{"_index":2827,"title":{},"content":{"292":{"position":[[1188,5],[1261,5]]},"311":{"position":[[446,4]]},"347":{"position":[[1191,5]]},"387":{"position":[[344,4]]},"389":{"position":[[304,4]]},"517":{"position":[[402,6]]}},"keywords":{}}],["inform",{"_index":88,"title":{"463":{"position":[[18,12]]},"464":{"position":[[15,12]]},"465":{"position":[[16,12]]},"467":{"position":[[23,11]]},"497":{"position":[[17,11]]},"633":{"position":[[10,11]]}},"content":{"3":{"position":[[71,11],[317,11]]},"20":{"position":[[1476,11]]},"33":{"position":[[658,12],[917,12]]},"36":{"position":[[775,11]]},"54":{"position":[[3379,12]]},"56":{"position":[[658,11]]},"80":{"position":[[169,12]]},"93":{"position":[[867,11]]},"94":{"position":[[658,11]]},"112":{"position":[[28,11]]},"134":{"position":[[298,11]]},"176":{"position":[[141,11]]},"202":{"position":[[775,11]]},"213":{"position":[[164,11]]},"227":{"position":[[63,11]]},"229":{"position":[[732,11]]},"230":{"position":[[1960,12]]},"234":{"position":[[120,11]]},"253":{"position":[[1094,11],[6562,11],[6717,11]]},"267":{"position":[[770,11],[8083,11],[8169,12]]},"275":{"position":[[173,11]]},"284":{"position":[[82,11]]},"297":{"position":[[330,11],[423,11]]},"305":{"position":[[588,11]]},"311":{"position":[[408,11]]},"328":{"position":[[509,11]]},"343":{"position":[[335,11]]},"347":{"position":[[992,12]]},"349":{"position":[[123,11]]},"363":{"position":[[1051,12],[1462,12]]},"368":{"position":[[348,11]]},"459":{"position":[[8,11],[135,11],[217,11]]},"460":{"position":[[17,6],[33,11],[191,11]]},"461":{"position":[[22,11],[79,11],[185,11],[382,13],[664,11],[1113,11]]},"462":{"position":[[32,12],[154,12],[217,12],[454,11]]},"463":{"position":[[41,11],[156,11],[205,12]]},"464":{"position":[[55,11],[582,12],[639,11]]},"465":{"position":[[11,11],[159,12],[172,11],[403,11],[616,11]]},"466":{"position":[[142,12],[229,12]]},"467":{"position":[[6,11],[260,12],[318,11],[380,11],[504,11],[817,11],[970,11],[1069,12]]},"469":{"position":[[38,11],[439,12],[529,11],[748,12],[822,11]]},"470":{"position":[[112,11],[242,11]]},"472":{"position":[[117,11]]},"522":{"position":[[51,11]]},"548":{"position":[[619,11]]},"568":{"position":[[290,12]]},"616":{"position":[[252,11]]},"632":{"position":[[1289,12]]},"635":{"position":[[75,11]]},"706":{"position":[[42,11]]},"715":{"position":[[9,11]]},"724":{"position":[[9,11]]},"729":{"position":[[200,11]]},"753":{"position":[[91,11]]}},"keywords":{}}],["information"",{"_index":4081,"title":{},"content":{"460":{"position":[[92,18]]}},"keywords":{}}],["infrastructur",{"_index":2464,"title":{},"content":{"243":{"position":[[445,14]]}},"keywords":{}}],["ingest",{"_index":3400,"title":{},"content":{"351":{"position":[[357,6]]}},"keywords":{}}],["inherit",{"_index":745,"title":{},"content":{"36":{"position":[[4164,7]]},"202":{"position":[[4164,7]]},"267":{"position":[[3113,7]]},"508":{"position":[[391,12]]},"611":{"position":[[48,10]]},"754":{"position":[[748,8]]}},"keywords":{}}],["init",{"_index":1486,"title":{"71":{"position":[[14,5]]}},"content":{"83":{"position":[[981,4]]},"84":{"position":[[139,4],[228,4]]},"240":{"position":[[807,4]]},"318":{"position":[[419,4]]},"321":{"position":[[386,4]]},"325":{"position":[[84,4]]},"501":{"position":[[821,4]]}},"keywords":{}}],["initi",{"_index":746,"title":{"71":{"position":[[0,10]]}},"content":{"36":{"position":[[4211,10]]},"63":{"position":[[1630,7],[1652,7],[1793,7],[1821,7]]},"71":{"position":[[100,10]]},"90":{"position":[[127,11]]},"120":{"position":[[187,9]]},"202":{"position":[[4211,10]]},"216":{"position":[[51,10]]},"217":{"position":[[49,10]]},"227":{"position":[[847,10]]},"267":{"position":[[3160,10],[8693,7],[8760,9],[8860,7]]},"310":{"position":[[57,10]]},"418":{"position":[[1461,7]]},"419":{"position":[[1514,7]]},"420":{"position":[[1486,7]]},"433":{"position":[[178,14]]},"434":{"position":[[367,10]]},"446":{"position":[[785,10]]},"459":{"position":[[839,7]]},"487":{"position":[[806,12]]},"572":{"position":[[1,9]]},"611":{"position":[[168,10]]},"703":{"position":[[260,7]]},"711":{"position":[[277,10]]},"720":{"position":[[229,10]]},"754":{"position":[[1395,10]]}},"keywords":{}}],["initialize(allow_empty_data",{"_index":1491,"title":{},"content":{"71":{"position":[[259,27]]}},"keywords":{}}],["initialize(multipli",{"_index":769,"title":{},"content":{"36":{"position":[[5597,22]]},"202":{"position":[[5597,22]]},"267":{"position":[[4077,22]]}},"keywords":{}}],["inject",{"_index":253,"title":{},"content":{"7":{"position":[[424,6]]},"490":{"position":[[704,6]]},"497":{"position":[[154,6]]},"670":{"position":[[1,7]]}},"keywords":{}}],["inject_tlm",{"_index":5071,"title":{"670":{"position":[[0,11]]}},"content":{},"keywords":{}}],["inject_tlm("<target_name>"",{"_index":5072,"title":{},"content":{"670":{"position":[[99,43]]}},"keywords":{}}],["inject_tlm("inst"",{"_index":5076,"title":{},"content":{"670":{"position":[[572,28],[682,28]]}},"keywords":{}}],["inlin",{"_index":2087,"title":{},"content":{"187":{"position":[[174,6]]},"188":{"position":[[86,6],[343,7]]}},"keywords":{}}],["inline_url",{"_index":2085,"title":{"187":{"position":[[0,11]]}},"content":{"235":{"position":[[1832,10]]}},"keywords":{}}],["innov",{"_index":3671,"title":{},"content":{"362":{"position":[[625,10]]}},"keywords":{}}],["input",{"_index":3715,"title":{"495":{"position":[[5,5]]},"496":{"position":[[34,5]]},"622":{"position":[[16,6]]}},"content":{"366":{"position":[[172,5]]},"395":{"position":[[95,6]]},"428":{"position":[[42,5],[165,5]]},"495":{"position":[[65,5],[99,5],[279,6],[376,5],[1061,5],[1203,5],[1327,5]]},"496":{"position":[[119,6],[228,5]]},"500":{"position":[[198,5]]},"525":{"position":[[110,6]]},"623":{"position":[[22,5],[50,5]]},"624":{"position":[[22,5],[50,5]]}},"keywords":{}}],["insecur",{"_index":393,"title":{},"content":{"20":{"position":[[47,8]]},"44":{"position":[[1246,8],[2473,8]]}},"keywords":{}}],["insert",{"_index":206,"title":{},"content":{"6":{"position":[[236,6]]},"347":{"position":[[538,6],[1731,6]]},"429":{"position":[[514,8]]},"754":{"position":[[1149,6],[1233,6],[1279,6],[1324,6],[1696,6],[1773,6],[1827,6],[1880,6]]}},"keywords":{}}],["insid",{"_index":222,"title":{},"content":{"6":{"position":[[581,6]]},"7":{"position":[[31,6]]},"230":{"position":[[87,6]]},"231":{"position":[[99,6]]},"232":{"position":[[95,6]]},"233":{"position":[[105,6]]},"234":{"position":[[177,6]]},"235":{"position":[[88,6]]},"253":{"position":[[725,6],[833,6]]},"259":{"position":[[1334,6]]},"387":{"position":[[47,6]]},"389":{"position":[[49,6]]},"391":{"position":[[20,6]]},"467":{"position":[[79,6]]},"476":{"position":[[884,6],[4806,6]]},"501":{"position":[[490,6]]},"610":{"position":[[148,6]]},"658":{"position":[[332,6]]}},"keywords":{}}],["insofar",{"_index":4068,"title":{},"content":{"459":{"position":[[1412,7]]}},"keywords":{}}],["inspect",{"_index":556,"title":{},"content":{"25":{"position":[[9,7]]},"44":{"position":[[1401,7]]},"84":{"position":[[663,9]]},"322":{"position":[[515,7]]},"329":{"position":[[1601,7]]},"364":{"position":[[887,7]]},"490":{"position":[[171,7],[441,7]]},"505":{"position":[[738,7]]},"544":{"position":[[369,7]]}},"keywords":{}}],["inst",{"_index":243,"title":{},"content":{"7":{"position":[[148,4],[824,4],[1185,4]]},"8":{"position":[[162,4],[319,4]]},"9":{"position":[[176,4],[342,4],[525,4],[674,4]]},"123":{"position":[[643,4]]},"134":{"position":[[1145,4],[1167,4]]},"144":{"position":[[271,4],[276,4]]},"199":{"position":[[536,4]]},"208":{"position":[[408,4]]},"209":{"position":[[492,4]]},"225":{"position":[[459,4]]},"257":{"position":[[1420,4],[1590,4]]},"264":{"position":[[564,4]]},"273":{"position":[[400,4]]},"274":{"position":[[457,4]]},"282":{"position":[[474,4]]},"284":{"position":[[429,4],[472,4],[515,4]]},"355":{"position":[[475,5],[883,4]]},"357":{"position":[[372,5],[568,4],[601,4],[626,4]]},"383":{"position":[[789,4],[896,4]]},"401":{"position":[[574,4],[639,4]]},"402":{"position":[[761,4]]},"403":{"position":[[846,4],[897,4]]},"404":{"position":[[827,4]]},"405":{"position":[[569,4],[618,4]]},"406":{"position":[[430,4],[474,4]]},"407":{"position":[[580,4],[660,4]]},"409":{"position":[[465,4],[526,4]]},"410":{"position":[[838,4],[905,4]]},"411":{"position":[[216,4],[720,4]]},"412":{"position":[[454,4],[506,4]]},"413":{"position":[[455,4],[510,4]]},"414":{"position":[[451,4],[506,4]]},"415":{"position":[[423,4],[476,4]]},"416":{"position":[[428,4],[484,4]]},"417":{"position":[[802,4],[864,4]]},"418":{"position":[[555,4],[593,4]]},"419":{"position":[[589,4]]},"420":{"position":[[578,4]]},"421":{"position":[[384,4]]},"422":{"position":[[574,4],[616,4]]},"423":{"position":[[713,4],[767,4]]},"424":{"position":[[540,4],[595,4],[632,4],[752,4],[807,4],[844,4]]},"425":{"position":[[341,4],[407,4]]},"426":{"position":[[304,4]]},"427":{"position":[[653,4],[697,4]]},"440":{"position":[[618,4],[672,4]]},"441":{"position":[[429,4]]},"442":{"position":[[932,4],[1148,4]]},"444":{"position":[[775,4],[838,4],[953,4]]},"446":{"position":[[140,4],[179,4],[222,4]]},"498":{"position":[[232,4]]},"499":{"position":[[593,8],[930,8]]},"534":{"position":[[121,5]]},"577":{"position":[[437,4]]},"578":{"position":[[433,4]]},"644":{"position":[[1195,7]]},"646":{"position":[[843,7],[949,4]]},"648":{"position":[[885,7],[991,4]]},"650":{"position":[[1075,7]]},"653":{"position":[[677,4],[810,4]]},"654":{"position":[[417,4]]},"668":{"position":[[442,4]]},"673":{"position":[[1384,7],[1498,7],[1618,7],[1740,7]]},"675":{"position":[[382,8]]},"676":{"position":[[479,8],[982,8]]},"684":{"position":[[886,4]]},"688":{"position":[[864,4]]},"705":{"position":[[119,8]]},"743":{"position":[[127,6],[141,5]]},"745":{"position":[[572,4],[844,4]]},"746":{"position":[[1034,4],[1317,4]]}},"keywords":{}}],["inst','inst2",{"_index":4189,"title":{},"content":{"476":{"position":[[2030,16],[2945,16]]}},"keywords":{}}],["inst/procedures/checks.rb",{"_index":3249,"title":{},"content":{"332":{"position":[[200,25]]}},"keywords":{}}],["inst/procedures/proc.rb",{"_index":4758,"title":{},"content":{"628":{"position":[[338,23]]},"629":{"position":[[259,24]]},"630":{"position":[[235,24]]}},"keywords":{}}],["inst2",{"_index":3444,"title":{},"content":{"355":{"position":[[487,6],[894,5]]},"357":{"position":[[378,6]]},"578":{"position":[[462,5]]},"705":{"position":[[128,8]]}},"keywords":{}}],["inst2_int",{"_index":5284,"title":{},"content":{"710":{"position":[[155,12]]}},"keywords":{}}],["inst_cmds_v2.txt",{"_index":365,"title":{},"content":{"15":{"position":[[529,16]]},"16":{"position":[[531,16]]}},"keywords":{}}],["inst_int",{"_index":1939,"title":{},"content":{"123":{"position":[[626,8]]},"710":{"position":[[142,12]]}},"keywords":{}}],["inst_tlm_v2.txt",{"_index":366,"title":{},"content":{"15":{"position":[[556,15]]},"16":{"position":[[558,15]]}},"keywords":{}}],["instal",{"_index":571,"title":{"45":{"position":[[5,7]]},"46":{"position":[[0,10]]},"286":{"position":[[0,12]]},"287":{"position":[[0,10]]},"288":{"position":[[0,10]]}},"content":{"27":{"position":[[33,9]]},"46":{"position":[[258,9],[353,8],[683,7],[793,10],[941,12],[1013,9],[1035,8]]},"83":{"position":[[439,10]]},"85":{"position":[[1285,7]]},"102":{"position":[[1,7],[18,7],[127,7],[188,7]]},"105":{"position":[[96,7],[165,7]]},"120":{"position":[[197,9]]},"121":{"position":[[147,13],[386,13]]},"192":{"position":[[185,10]]},"230":{"position":[[652,13]]},"231":{"position":[[756,13]]},"235":{"position":[[1173,13]]},"239":{"position":[[249,7]]},"253":{"position":[[112,7],[183,9],[299,12],[684,12],[7053,7]]},"254":{"position":[[562,7],[2380,9]]},"257":{"position":[[792,12],[1106,13]]},"287":{"position":[[58,9]]},"289":{"position":[[63,10],[91,7],[251,7],[302,7]]},"290":{"position":[[196,12],[224,7]]},"291":{"position":[[594,12]]},"292":{"position":[[614,9]]},"301":{"position":[[76,12]]},"311":{"position":[[173,10],[203,7],[283,9],[423,9]]},"314":{"position":[[1,7],[42,12]]},"318":{"position":[[301,7],[584,7]]},"320":{"position":[[1546,7]]},"322":{"position":[[1689,10]]},"324":{"position":[[10,12],[55,10],[1372,7],[1427,8],[1566,7],[1665,7]]},"325":{"position":[[1,7],[21,7],[311,7],[339,7]]},"331":{"position":[[67,12],[302,9],[426,10]]},"334":{"position":[[1045,8],[1080,10],[1263,8]]},"337":{"position":[[22,12],[70,7]]},"341":{"position":[[67,14]]},"347":{"position":[[2026,7],[2252,7]]},"350":{"position":[[1326,7],[1409,7]]},"355":{"position":[[1065,10]]},"356":{"position":[[659,7]]},"357":{"position":[[178,9],[2068,9],[3819,7]]},"361":{"position":[[247,8]]},"363":{"position":[[498,10],[562,12]]},"448":{"position":[[56,7]]},"516":{"position":[[204,13]]},"517":{"position":[[275,10],[554,9]]},"536":{"position":[[123,13]]},"539":{"position":[[71,13]]},"605":{"position":[[346,9],[723,9]]},"630":{"position":[[353,12]]}},"keywords":{}}],["instanc",{"_index":596,"title":{},"content":{"28":{"position":[[16,9]]},"64":{"position":[[202,9]]},"71":{"position":[[708,8]]},"171":{"position":[[382,8]]},"208":{"position":[[239,8]]},"273":{"position":[[239,8]]},"384":{"position":[[445,9]]},"466":{"position":[[499,10]]},"467":{"position":[[1019,9]]},"500":{"position":[[224,9]]}},"keywords":{}}],["instanti",{"_index":1940,"title":{},"content":{"123":{"position":[[702,13]]},"143":{"position":[[492,13]]},"536":{"position":[[95,12]]}},"keywords":{}}],["instantli",{"_index":5500,"title":{},"content":{"758":{"position":[[136,10]]}},"keywords":{}}],["instead",{"_index":508,"title":{},"content":{"23":{"position":[[39,7]]},"36":{"position":[[9112,8]]},"56":{"position":[[427,8]]},"58":{"position":[[356,8],[459,8]]},"63":{"position":[[190,8]]},"69":{"position":[[3310,8],[4642,7]]},"76":{"position":[[747,7]]},"202":{"position":[[9112,8]]},"253":{"position":[[1952,7]]},"267":{"position":[[7234,8]]},"324":{"position":[[98,7],[1585,8],[2378,7]]},"338":{"position":[[248,7]]},"476":{"position":[[1758,7]]},"502":{"position":[[613,8]]}},"keywords":{}}],["instruct",{"_index":567,"title":{"325":{"position":[[6,13]]}},"content":{"26":{"position":[[279,12]]},"46":{"position":[[210,12]]},"239":{"position":[[57,12]]},"289":{"position":[[113,12]]},"314":{"position":[[55,13]]},"320":{"position":[[14,12]]},"324":{"position":[[1358,12]]},"466":{"position":[[823,12]]}},"keywords":{}}],["instrument",{"_index":1388,"title":{"488":{"position":[[0,12]]}},"content":{"63":{"position":[[385,13]]},"226":{"position":[[793,10]]},"304":{"position":[[4203,16],[4243,12]]},"352":{"position":[[33,12]]},"485":{"position":[[478,15]]},"488":{"position":[[29,15],[346,12],[497,12],[952,13],[1126,10],[1883,13],[1942,13],[2018,15],[2054,12],[2143,15],[2227,13]]},"502":{"position":[[57,11]]},"606":{"position":[[180,12]]},"646":{"position":[[954,12]]},"648":{"position":[[996,12]]},"752":{"position":[[10,15],[170,13],[390,15]]}},"keywords":{}}],["instrument"",{"_index":4891,"title":{},"content":{"646":{"position":[[576,17]]},"648":{"position":[[615,17]]},"666":{"position":[[579,17]]}},"keywords":{}}],["int",{"_index":624,"title":{},"content":{"31":{"position":[[568,4]]},"35":{"position":[[702,4],[767,4]]},"37":{"position":[[495,4],[560,4]]},"198":{"position":[[869,4]]},"201":{"position":[[731,4],[796,4],[2053,3]]},"203":{"position":[[514,4],[579,4]]},"204":{"position":[[901,4],[966,4]]},"205":{"position":[[737,4],[802,4]]},"206":{"position":[[497,4]]},"207":{"position":[[280,4]]},"232":{"position":[[1034,3]]},"233":{"position":[[1251,3]]},"253":{"position":[[2881,3],[3629,5],[4865,3],[5297,5]]},"254":{"position":[[1479,3]]},"259":{"position":[[893,4]]},"266":{"position":[[734,4]]},"267":{"position":[[7394,4]]},"268":{"position":[[526,4]]},"269":{"position":[[743,4]]},"270":{"position":[[412,4]]},"271":{"position":[[490,4]]},"272":{"position":[[282,4]]},"285":{"position":[[967,3]]},"329":{"position":[[771,3]]}},"keywords":{}}],["int(valu",{"_index":831,"title":{},"content":{"36":{"position":[[9470,9]]},"202":{"position":[[9470,9]]},"267":{"position":[[7731,9]]}},"keywords":{}}],["integ",{"_index":626,"title":{},"content":{"31":{"position":[[621,9],[640,9]]},"36":{"position":[[10346,7]]},"67":{"position":[[767,7]]},"99":{"position":[[254,7],[389,7],[550,7],[611,7],[676,7],[743,7],[850,7],[952,7],[1053,7],[1769,7],[2402,7],[2760,7],[3115,7],[3530,7],[4930,7]]},"192":{"position":[[242,7]]},"198":{"position":[[922,9],[941,9]]},"202":{"position":[[10346,7]]},"227":{"position":[[4292,7]]},"253":{"position":[[3621,7],[4003,7],[4263,7],[5289,7],[5583,8]]},"259":{"position":[[946,9],[965,9]]},"454":{"position":[[1,8]]},"501":{"position":[[750,7],[1028,7]]},"623":{"position":[[192,7]]},"761":{"position":[[170,7]]}},"keywords":{}}],["integer"",{"_index":4738,"title":{},"content":{"623":{"position":[[695,14],[916,14]]}},"keywords":{}}],["integer.nod",{"_index":461,"title":{},"content":{"20":{"position":[[1155,13]]}},"keywords":{}}],["integr",{"_index":1889,"title":{},"content":{"108":{"position":[[538,11],[594,11],[661,11]]},"360":{"position":[[418,11],[1310,11]]},"364":{"position":[[1038,9]]},"492":{"position":[[486,10]]}},"keywords":{}}],["intellectu",{"_index":3676,"title":{},"content":{"363":{"position":[[140,12]]}},"keywords":{}}],["intellig",{"_index":4550,"title":{},"content":{"593":{"position":[[128,13]]},"601":{"position":[[126,13]]}},"keywords":{}}],["intend",{"_index":1144,"title":{},"content":{"46":{"position":[[88,8]]}},"keywords":{}}],["intens",{"_index":2397,"title":{},"content":{"235":{"position":[[181,9]]}},"keywords":{}}],["intent",{"_index":4184,"title":{},"content":{"476":{"position":[[1775,6]]}},"keywords":{}}],["intention",{"_index":4825,"title":{},"content":{"637":{"position":[[129,13]]},"639":{"position":[[225,13]]},"641":{"position":[[152,13]]},"643":{"position":[[248,13]]}},"keywords":{}}],["interact",{"_index":65,"title":{"428":{"position":[[0,11]]}},"content":{"2":{"position":[[622,8]]},"85":{"position":[[1428,12]]},"227":{"position":[[654,11],[729,12]]},"247":{"position":[[141,11]]},"298":{"position":[[713,8],[1542,8]]},"304":{"position":[[4738,11]]},"353":{"position":[[55,11]]},"428":{"position":[[3,11],[138,11]]},"469":{"position":[[86,12]]},"655":{"position":[[33,8]]},"746":{"position":[[196,8]]}},"keywords":{}}],["intercept",{"_index":4152,"title":{},"content":{"469":{"position":[[712,9]]}},"keywords":{}}],["interest",{"_index":92,"title":{},"content":{"3":{"position":[[123,12]]},"36":{"position":[[10875,10]]},"459":{"position":[[710,9],[1503,9]]}},"keywords":{}}],["interesting"",{"_index":4802,"title":{},"content":{"632":{"position":[[1397,18],[1804,18]]}},"keywords":{}}],["interfac",{"_index":317,"title":{"47":{"position":[[0,10]]},"48":{"position":[[9,11]]},"49":{"position":[[13,10]]},"50":{"position":[[13,10]]},"51":{"position":[[4,10]]},"52":{"position":[[7,10]]},"115":{"position":[[0,10]]},"123":{"position":[[0,10]]},"124":{"position":[[0,9]]},"253":{"position":[[0,11]]},"320":{"position":[[35,9]]},"336":{"position":[[30,9]]},"539":{"position":[[0,10]]},"708":{"position":[[0,11]]}},"content":{"11":{"position":[[52,10],[175,10]]},"48":{"position":[[31,10],[100,9],[135,9]]},"49":{"position":[[18,9],[100,9],[209,10],[384,9],[508,9],[849,9],[980,9],[1090,9],[1200,9],[1335,9],[1444,9],[1560,9],[1706,9],[1856,9],[1985,9],[2115,9],[2268,9],[2395,9],[2530,9],[2669,9],[2704,9],[2727,9],[2802,9]]},"50":{"position":[[18,9],[162,9],[736,9],[846,9],[935,9],[1024,9],[1138,9],[1226,9],[1321,9],[1446,9],[1575,9],[1683,9],[1792,9],[1924,9],[2030,9],[2144,9],[2262,9],[2297,9],[2320,9],[2395,9]]},"51":{"position":[[9,9],[446,9],[509,9],[891,9],[1016,9],[1137,9],[1172,9],[1195,9],[1270,9]]},"52":{"position":[[12,9],[157,9],[928,9],[1044,9],[1151,9],[1247,9],[1369,9],[1465,9],[1579,9],[1687,9],[1722,9],[1745,9],[1820,9]]},"53":{"position":[[259,10],[284,10],[312,10]]},"54":{"position":[[38,10],[207,11],[282,9],[598,10],[718,10],[730,9],[840,9],[950,9],[1070,9],[1205,9],[1314,9],[1432,9],[1561,9],[1691,9],[1830,9],[1983,9],[2110,9],[2479,10],[2491,9],[2684,9],[3320,10]]},"59":{"position":[[65,9],[493,10]]},"60":{"position":[[132,10],[216,9],[330,9],[402,9]]},"61":{"position":[[100,10],[260,9],[707,9]]},"62":{"position":[[259,9]]},"63":{"position":[[325,10],[1699,9]]},"65":{"position":[[126,11]]},"67":{"position":[[418,9]]},"69":{"position":[[94,10],[133,9],[176,10],[336,10],[450,9],[1087,10],[1361,10],[1626,9],[2269,10],[2669,9],[2795,9],[3434,9],[3513,10],[3531,9],[4139,9],[4267,10],[4755,9],[4945,10]]},"71":{"position":[[296,10],[663,9],[692,9],[819,9]]},"72":{"position":[[68,9]]},"73":{"position":[[81,9]]},"74":{"position":[[84,9]]},"75":{"position":[[88,10],[522,9],[706,10],[771,9],[1136,9],[1684,9]]},"76":{"position":[[111,10],[548,9]]},"77":{"position":[[110,10],[354,10],[564,9]]},"78":{"position":[[102,10],[353,10],[561,9]]},"79":{"position":[[79,10],[177,10],[387,10],[580,9],[738,9]]},"95":{"position":[[18,9],[143,9]]},"107":{"position":[[50,9]]},"108":{"position":[[90,12],[304,9],[354,10]]},"112":{"position":[[259,10],[405,10],[673,9]]},"115":{"position":[[1,10],[187,10]]},"116":{"position":[[153,11],[197,11]]},"123":{"position":[[44,10],[119,10],[185,9],[267,10],[334,9],[412,10],[452,10],[556,10],[720,10],[882,10]]},"124":{"position":[[38,9]]},"125":{"position":[[26,9],[106,9],[137,9],[263,9]]},"126":{"position":[[41,9],[148,9],[179,9],[328,9],[357,9],[524,9]]},"127":{"position":[[41,9],[151,9],[182,9],[334,9],[363,9],[533,9]]},"128":{"position":[[53,9]]},"129":{"position":[[41,9]]},"130":{"position":[[101,9]]},"131":{"position":[[38,10],[133,10]]},"133":{"position":[[36,9],[221,10],[858,9]]},"134":{"position":[[37,9],[171,9],[716,9],[871,9],[985,9]]},"135":{"position":[[23,9],[60,9],[112,10],[298,11],[445,10],[667,9]]},"136":{"position":[[47,9],[85,9],[445,9]]},"142":{"position":[[256,10]]},"143":{"position":[[81,10],[197,11],[251,10],[510,10],[672,10]]},"227":{"position":[[174,9]]},"230":{"position":[[1456,9],[2604,9]]},"240":{"position":[[930,10],[1358,9]]},"245":{"position":[[155,11],[327,11]]},"253":{"position":[[652,11],[6769,9],[7549,9],[8036,10],[8094,10],[8120,9],[8260,10]]},"254":{"position":[[751,9],[2718,9]]},"257":{"position":[[242,10],[280,9]]},"260":{"position":[[188,9]]},"263":{"position":[[258,9],[723,9]]},"297":{"position":[[240,9],[467,9],[583,10],[651,10]]},"298":{"position":[[1063,9],[1118,10],[1229,10]]},"299":{"position":[[161,9],[276,9]]},"300":{"position":[[112,11],[150,9]]},"301":{"position":[[216,11],[237,10],[343,11],[403,10]]},"303":{"position":[[95,9]]},"304":{"position":[[33,9]]},"310":{"position":[[35,9]]},"311":{"position":[[454,11]]},"320":{"position":[[1017,9],[1646,10]]},"336":{"position":[[43,9]]},"338":{"position":[[145,10],[276,9],[1153,9],[1760,9]]},"351":{"position":[[220,9]]},"364":{"position":[[104,9],[216,10],[250,9]]},"502":{"position":[[460,10]]},"514":{"position":[[1333,10]]},"536":{"position":[[72,10],[137,10]]},"539":{"position":[[5,10],[37,10],[115,10]]},"540":{"position":[[59,10]]},"544":{"position":[[211,9]]},"564":{"position":[[72,9]]},"578":{"position":[[10,9]]},"645":{"position":[[22,10],[154,9]]},"669":{"position":[[133,10],[190,10]]},"670":{"position":[[64,10]]},"671":{"position":[[154,9]]},"674":{"position":[[71,9]]},"707":{"position":[[13,10],[150,9],[259,11],[306,11]]},"708":{"position":[[51,11]]},"709":{"position":[[12,9],[52,9],[234,10],[270,9]]},"710":{"position":[[23,10]]},"711":{"position":[[46,10],[226,10],[237,9],[292,10],[330,9]]},"712":{"position":[[51,10],[193,10]]},"713":{"position":[[42,11],[240,9],[323,10]]},"714":{"position":[[41,11],[238,9],[320,10]]},"715":{"position":[[31,11],[115,9],[906,9]]},"716":{"position":[[20,9],[93,10],[306,9],[333,9],[411,9],[507,9],[604,10]]},"717":{"position":[[31,10],[84,10],[130,9],[358,9]]},"718":{"position":[[31,9],[374,9]]}},"keywords":{}}],["interface'",{"_index":1457,"title":{},"content":{"69":{"position":[[2079,11],[3101,11],[4404,11]]}},"keywords":{}}],["interface.read_protocol",{"_index":1515,"title":{},"content":{"75":{"position":[[721,26]]}},"keywords":{}}],["interface[0",{"_index":5318,"title":{},"content":{"715":{"position":[[1075,15]]}},"keywords":{}}],["interface[1",{"_index":5319,"title":{},"content":{"715":{"position":[[1109,15]]}},"keywords":{}}],["interface[2]}"",{"_index":5320,"title":{},"content":{"715":{"position":[[1148,21]]}},"keywords":{}}],["interface[3",{"_index":5322,"title":{},"content":{"715":{"position":[[1204,15]]}},"keywords":{}}],["interface[4",{"_index":5323,"title":{},"content":{"715":{"position":[[1240,15]]}},"keywords":{}}],["interface[5",{"_index":5324,"title":{},"content":{"715":{"position":[[1275,15]]}},"keywords":{}}],["interface[6]}"",{"_index":5325,"title":{},"content":{"715":{"position":[[1307,21]]}},"keywords":{}}],["interface[7",{"_index":5327,"title":{},"content":{"715":{"position":[[1353,15]]}},"keywords":{}}],["interface[8]}"",{"_index":5328,"title":{},"content":{"715":{"position":[[1380,21]]}},"keywords":{}}],["interface_address",{"_index":3048,"title":{},"content":{"320":{"position":[[955,17]]}},"keywords":{}}],["interface_cmd",{"_index":5338,"title":{"717":{"position":[[0,14]]}},"content":{},"keywords":{}}],["interface_cmd("<interfac",{"_index":5339,"title":{},"content":{"717":{"position":[[184,33]]}},"keywords":{}}],["interface_cmd("inst"",{"_index":5341,"title":{},"content":{"717":{"position":[[493,31]]}},"keywords":{}}],["interface_info",{"_index":5302,"title":{},"content":{"715":{"position":[[315,14],[860,14],[919,17]]}},"keywords":{}}],["interface_info.each",{"_index":5303,"title":{},"content":{"715":{"position":[[357,19]]}},"keywords":{}}],["interface_microservice.pi",{"_index":2005,"title":{},"content":{"140":{"position":[[318,25]]}},"keywords":{}}],["interface_microservice.rb",{"_index":2003,"title":{},"content":{"140":{"position":[[237,25]]}},"keywords":{}}],["interface_nam",{"_index":1206,"title":{},"content":{"49":{"position":[[859,14],[990,14],[1100,14],[1210,14],[1345,14],[1454,14],[1570,14],[1716,14],[1866,14],[1995,14],[2125,14],[2278,14],[2405,14],[2540,14]]},"50":{"position":[[746,14],[856,14],[945,14],[1034,14],[1148,14],[1236,14],[1331,14],[1456,14],[1585,14],[1693,14],[1802,14],[1934,14],[2040,14],[2154,14]]},"51":{"position":[[901,14],[1026,14]]},"52":{"position":[[938,14],[1054,14],[1161,14],[1257,14],[1379,14],[1475,14],[1589,14]]},"54":{"position":[[740,14],[850,14],[960,14],[1080,14],[1215,14],[1324,14],[1442,14],[1571,14],[1701,14],[1840,14],[1993,14],[2120,14],[2501,14],[2694,14]]},"710":{"position":[[95,15]]},"715":{"position":[[380,16],[514,18],[939,16]]}},"keywords":{}}],["interface_protocol_cmd",{"_index":1544,"title":{"718":{"position":[[0,23]]}},"content":{"80":{"position":[[137,22]]}},"keywords":{}}],["interface_protocol_cmd("<interfac",{"_index":5343,"title":{},"content":{"718":{"position":[[191,42]]}},"keywords":{}}],["interface_protocol_cmd("inst"",{"_index":5344,"title":{},"content":{"718":{"position":[[781,40],[902,40]]}},"keywords":{}}],["interface_st",{"_index":4681,"title":{},"content":{"621":{"position":[[2697,15]]}},"keywords":{}}],["interfaces](../configuration/interfac",{"_index":2557,"title":{},"content":{"253":{"position":[[6666,41]]}},"keywords":{}}],["interfacesdelet",{"_index":4588,"title":{},"content":{"606":{"position":[[271,16]]}},"keywords":{}}],["interfaces}"",{"_index":5258,"title":{},"content":{"707":{"position":[[318,19]]}},"keywords":{}}],["intermedi",{"_index":1236,"title":{},"content":{"51":{"position":[[629,12]]}},"keywords":{}}],["intermediari",{"_index":550,"title":{},"content":{"24":{"position":[[840,12]]},"143":{"position":[[327,14]]},"352":{"position":[[78,12]]}},"keywords":{}}],["intern",{"_index":70,"title":{},"content":{"2":{"position":[[687,8]]},"54":{"position":[[623,8]]},"72":{"position":[[35,8]]},"73":{"position":[[43,8]]},"74":{"position":[[46,8]]},"83":{"position":[[2081,8]]},"176":{"position":[[524,8]]},"187":{"position":[[1,8]]},"188":{"position":[[108,10]]},"263":{"position":[[923,10],[1694,8]]},"298":{"position":[[778,8]]},"349":{"position":[[86,9]]},"352":{"position":[[619,8]]},"363":{"position":[[1152,13]]}},"keywords":{}}],["internet",{"_index":394,"title":{},"content":{"20":{"position":[[64,9]]},"324":{"position":[[3611,8]]},"325":{"position":[[718,9]]},"359":{"position":[[503,9],[1961,8]]},"464":{"position":[[660,9]]}},"keywords":{}}],["interoper",{"_index":2995,"title":{},"content":{"315":{"position":[[41,16]]}},"keywords":{}}],["interpol",{"_index":4167,"title":{},"content":{"476":{"position":[[664,14]]},"501":{"position":[[433,13],[511,13]]},"658":{"position":[[488,15]]}},"keywords":{}}],["interpret",{"_index":1299,"title":{},"content":{"56":{"position":[[498,11]]},"253":{"position":[[5559,11],[7935,11]]},"266":{"position":[[911,11]]},"268":{"position":[[703,11]]},"269":{"position":[[1005,11]]},"270":{"position":[[674,11]]},"493":{"position":[[339,11]]}},"keywords":{}}],["interv",{"_index":1957,"title":{},"content":{"130":{"position":[[163,8]]},"147":{"position":[[45,9]]},"150":{"position":[[52,9]]},"154":{"position":[[47,9]]},"157":{"position":[[54,9]]}},"keywords":{}}],["intervalopen",{"_index":4502,"title":{},"content":{"570":{"position":[[32,13]]}},"keywords":{}}],["intervent",{"_index":4615,"title":{},"content":{"612":{"position":[[303,13]]}},"keywords":{}}],["intim",{"_index":2068,"title":{},"content":{"176":{"position":[[498,8]]}},"keywords":{}}],["intranet",{"_index":1901,"title":{},"content":{"109":{"position":[[132,8]]}},"keywords":{}}],["introduct",{"_index":0,"title":{"0":{"position":[[0,12]]},"112":{"position":[[0,13]]},"474":{"position":[[0,13]]},"510":{"position":[[0,13]]},"516":{"position":[[0,13]]},"522":{"position":[[0,13]]},"530":{"position":[[0,13]]},"536":{"position":[[0,13]]},"546":{"position":[[0,13]]},"550":{"position":[[0,13]]},"561":{"position":[[0,13]]},"566":{"position":[[0,13]]},"568":{"position":[[0,13]]},"575":{"position":[[0,13]]},"581":{"position":[[0,13]]},"588":{"position":[[0,13]]},"596":{"position":[[0,14]]},"603":{"position":[[0,13]]}},"content":{},"keywords":{}}],["introspect",{"_index":1500,"title":{},"content":{"71":{"position":[[786,10]]}},"keywords":{}}],["intuit",{"_index":3398,"title":{},"content":{"351":{"position":[[203,9]]},"516":{"position":[[114,9]]}},"keywords":{}}],["invalid",{"_index":399,"title":{},"content":{"20":{"position":[[115,7]]},"495":{"position":[[368,7]]},"639":{"position":[[244,7]]},"643":{"position":[[267,7]]}},"keywords":{}}],["investig",{"_index":1040,"title":{},"content":{"44":{"position":[[537,11]]},"465":{"position":[[529,15]]}},"keywords":{}}],["involv",{"_index":2800,"title":{},"content":{"291":{"position":[[632,7]]},"324":{"position":[[847,7]]},"357":{"position":[[304,8]]},"638":{"position":[[165,9]]},"639":{"position":[[191,9]]},"642":{"position":[[188,9]]},"643":{"position":[[214,9]]}},"keywords":{}}],["io",{"_index":4771,"title":{},"content":{"629":{"position":[[462,2],[632,2],[990,2]]}},"keywords":{}}],["ip",{"_index":1230,"title":{},"content":{"51":{"position":[[140,2]]},"58":{"position":[[17,2],[80,2]]},"121":{"position":[[251,2]]},"135":{"position":[[540,2]]},"253":{"position":[[7746,2]]},"320":{"position":[[777,2],[1084,2]]},"321":{"position":[[942,3],[1119,2]]},"322":{"position":[[329,2],[1052,2],[1971,2]]},"359":{"position":[[2187,2]]}},"keywords":{}}],["is"",{"_index":3638,"title":{},"content":{"360":{"position":[[721,9]]}},"keywords":{}}],["isn't",{"_index":2616,"title":{},"content":{"261":{"position":[[111,5]]},"357":{"position":[[1966,5]]},"508":{"position":[[278,5]]}},"keywords":{}}],["isol",{"_index":2431,"title":{},"content":{"240":{"position":[[244,8]]}},"keywords":{}}],["issu",{"_index":131,"title":{},"content":{"3":{"position":[[689,5]]},"36":{"position":[[1198,6]]},"110":{"position":[[174,6]]},"202":{"position":[[1198,6]]},"253":{"position":[[1838,6]]},"254":{"position":[[2877,6]]},"267":{"position":[[1193,6]]},"291":{"position":[[420,6]]},"292":{"position":[[811,5]]},"295":{"position":[[55,5]]},"324":{"position":[[766,6]]},"357":{"position":[[4020,5]]},"449":{"position":[[684,5]]},"505":{"position":[[391,7],[427,5]]},"575":{"position":[[301,7]]},"746":{"position":[[825,7]]}},"keywords":{}}],["istanbul/nyc",{"_index":1839,"title":{},"content":{"103":{"position":[[315,12]]}},"keywords":{}}],["it'",{"_index":127,"title":{},"content":{"3":{"position":[[659,4]]},"7":{"position":[[597,4]]},"24":{"position":[[750,4]]},"198":{"position":[[1283,4]]},"235":{"position":[[67,4]]},"253":{"position":[[853,4]]},"327":{"position":[[552,4]]},"356":{"position":[[519,4]]}},"keywords":{}}],["itar",{"_index":3685,"title":{},"content":{"363":{"position":[[1119,4],[1199,4]]}},"keywords":{}}],["item",{"_index":358,"title":{"260":{"position":[[3,6]]},"261":{"position":[[15,6]]},"262":{"position":[[8,6]]},"266":{"position":[[0,5]]},"267":{"position":[[0,4]]},"532":{"position":[[10,6]]},"538":{"position":[[10,6]]},"552":{"position":[[10,6]]},"553":{"position":[[10,6]]},"554":{"position":[[10,5]]},"557":{"position":[[9,6]]},"558":{"position":[[8,6]]},"559":{"position":[[11,6]]},"563":{"position":[[10,6]]},"570":{"position":[[10,6]]},"571":{"position":[[10,6]]},"577":{"position":[[10,6]]},"578":{"position":[[7,6]]},"582":{"position":[[10,6]]},"589":{"position":[[10,6]]},"598":{"position":[[10,6]]},"599":{"position":[[11,6]]},"600":{"position":[[10,6]]},"605":{"position":[[10,6]]},"606":{"position":[[12,6]]}},"content":{"14":{"position":[[28,4],[94,4],[178,4],[286,5],[307,4]]},"36":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8529,4],[8610,5]]},"63":{"position":[[678,5],[813,5]]},"67":{"position":[[144,4],[154,4]]},"71":{"position":[[652,6]]},"94":{"position":[[688,4],[877,4],[1099,4]]},"99":{"position":[[5246,4]]},"202":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8529,4],[8610,5]]},"206":{"position":[[392,4],[429,4],[439,4],[478,4]]},"207":{"position":[[175,4],[212,4],[222,4],[261,4]]},"220":{"position":[[45,4],[143,4],[198,4],[208,4],[218,4],[249,4]]},"222":{"position":[[151,5]]},"224":{"position":[[807,4],[1246,4]]},"227":{"position":[[2278,5],[2341,5],[2381,5],[2709,6],[2716,6],[2809,4],[3139,4],[4488,5],[5423,6],[5580,4]]},"230":{"position":[[2431,5]]},"232":{"position":[[526,5],[884,5]]},"233":{"position":[[562,5],[877,4],[963,4],[1035,5]]},"253":{"position":[[5162,5],[5369,5],[5546,4],[5827,5]]},"259":{"position":[[841,5],[1347,5],[1381,6],[1523,4],[1694,4]]},"260":{"position":[[36,5],[107,5]]},"261":{"position":[[35,4],[172,5],[184,5],[352,4]]},"262":{"position":[[35,4],[61,4],[122,5],[176,6],[198,5],[229,5],[304,4],[348,4],[522,5],[553,4],[678,4]]},"263":{"position":[[48,5],[468,4],[796,5],[1280,4],[1433,4]]},"266":{"position":[[21,4],[115,5],[244,5],[357,5],[404,5],[715,4],[823,4],[897,4],[1063,4],[1108,4]]},"267":{"position":[[38,4],[1084,4],[1117,5],[1180,5],[1245,4],[1497,4],[1588,4],[1642,4],[1686,4],[1730,4],[1791,5],[1958,4],[2161,4],[2980,4],[4642,4],[5330,4],[6453,5],[7931,4],[8032,4],[8147,5],[8613,4],[8752,4],[8824,5],[10454,4]]},"268":{"position":[[21,4],[115,5],[196,5],[507,4],[615,4],[689,4]]},"269":{"position":[[21,4],[285,5],[414,5],[527,5],[724,4],[817,4],[917,4],[991,4]]},"270":{"position":[[21,4],[115,5],[196,5],[393,4],[486,4],[586,4],[660,4]]},"271":{"position":[[21,4],[132,5],[261,5],[374,5],[385,4],[422,4],[432,4],[471,4]]},"272":{"position":[[21,4],[132,5],[177,4],[214,4],[224,4],[263,4]]},"273":{"position":[[31,4],[329,4],[462,5]]},"274":{"position":[[45,4],[91,4],[166,5],[203,5],[328,4],[349,5],[403,4]]},"280":{"position":[[36,5],[65,5],[136,4]]},"281":{"position":[[151,5]]},"282":{"position":[[270,5],[536,5]]},"283":{"position":[[35,5],[74,5],[439,5],[551,4],[641,4]]},"284":{"position":[[30,4],[309,4],[341,4]]},"285":{"position":[[114,4],[199,4],[300,4],[463,4],[581,4],[649,4],[714,4],[798,4],[871,4],[946,4],[1041,4],[1131,4],[1394,4]]},"300":{"position":[[573,4]]},"305":{"position":[[460,5],[615,5],[648,4],[785,5],[818,4],[967,5],[1305,5]]},"308":{"position":[[585,4],[831,5],[847,4]]},"310":{"position":[[772,4]]},"328":{"position":[[385,5]]},"329":{"position":[[565,5],[658,6],[707,5],[783,4],[1168,4],[1197,4],[1210,4],[1240,4],[1253,4],[1282,4]]},"355":{"position":[[954,5],[988,6],[1121,5]]},"357":{"position":[[2135,5]]},"371":{"position":[[141,5]]},"400":{"position":[[181,5]]},"401":{"position":[[158,4],[172,4],[335,4],[362,5],[392,5]]},"402":{"position":[[158,4],[172,4],[335,4]]},"403":{"position":[[333,5],[491,4],[505,4],[587,4]]},"404":{"position":[[133,4],[147,4]]},"405":{"position":[[27,4],[160,4],[174,4],[234,4]]},"406":{"position":[[27,4],[154,4],[168,4]]},"407":{"position":[[27,5],[162,4],[176,4],[317,5]]},"408":{"position":[[27,4],[174,4],[188,4]]},"409":{"position":[[27,4],[177,4],[191,4]]},"410":{"position":[[27,4],[173,4],[187,4],[272,4],[411,4]]},"411":{"position":[[441,4],[455,4]]},"412":{"position":[[170,4],[184,4]]},"413":{"position":[[168,4],[182,4]]},"414":{"position":[[52,4],[154,4],[168,4],[363,4],[387,4]]},"415":{"position":[[13,4],[143,4],[157,4]]},"416":{"position":[[13,4],[146,4],[160,4]]},"417":{"position":[[13,4],[142,4],[156,4],[241,4],[380,4]]},"418":{"position":[[38,4],[140,4],[154,4],[588,4],[623,4],[729,5],[752,4],[867,4],[881,4]]},"419":{"position":[[72,4],[174,4],[188,4],[782,5],[805,4],[920,4],[934,4]]},"420":{"position":[[27,4],[158,4],[172,4],[754,5],[777,4],[892,4],[906,4]]},"421":{"position":[[139,4],[153,4],[275,5]]},"422":{"position":[[164,4],[178,4],[238,4]]},"423":{"position":[[44,4],[152,4],[166,4],[251,4],[390,4]]},"424":{"position":[[560,5],[772,5]]},"425":{"position":[[186,4],[200,4]]},"426":{"position":[[138,4],[152,4]]},"427":{"position":[[33,4],[224,5],[382,4],[396,4]]},"431":{"position":[[35,5]]},"440":{"position":[[37,4],[176,4],[190,4]]},"442":{"position":[[368,4],[382,4]]},"444":{"position":[[138,4],[240,4],[254,4]]},"454":{"position":[[333,5]]},"478":{"position":[[967,4]]},"482":{"position":[[245,4]]},"513":{"position":[[270,4]]},"525":{"position":[[366,4],[481,4],[633,5]]},"550":{"position":[[47,5],[99,5]]},"552":{"position":[[61,5]]},"553":{"position":[[119,4],[169,4]]},"555":{"position":[[81,6]]},"556":{"position":[[41,4],[71,5],[231,4],[387,4],[490,4],[641,4]]},"557":{"position":[[19,5],[29,5],[61,6],[68,5],[128,5],[138,5]]},"558":{"position":[[1,5],[61,5],[71,5],[182,5],[246,5],[307,4],[362,5]]},"559":{"position":[[58,5]]},"561":{"position":[[58,4]]},"568":{"position":[[136,6],[143,5],[247,5]]},"571":{"position":[[38,5],[66,5],[140,5]]},"572":{"position":[[125,5],[176,5]]},"573":{"position":[[19,4],[133,5]]},"575":{"position":[[81,5],[111,5],[232,5]]},"577":{"position":[[231,5],[324,6],[419,4],[457,5],[538,4],[668,6],[680,4]]},"578":{"position":[[55,5],[119,5],[290,7],[298,5],[516,5],[588,4],[771,4],[800,5],[940,5],[964,5],[1042,5],[1133,6],[1222,5],[1263,4],[1284,4],[1349,4],[1371,4],[1477,6],[1529,5]]},"591":{"position":[[196,5]]},"599":{"position":[[1057,5]]},"600":{"position":[[156,5],[176,4],[205,4],[219,4],[420,4],[528,5],[557,5]]},"618":{"position":[[256,5],[399,4],[580,4],[1204,4],[1288,4]]},"646":{"position":[[969,8]]},"648":{"position":[[1011,8]]},"655":{"position":[[57,6]]},"656":{"position":[[40,4],[207,4],[528,5],[592,5],[598,4],[630,5],[693,5],[747,4]]},"657":{"position":[[30,4],[470,5],[534,5],[540,4],[572,5],[625,5]]},"660":{"position":[[41,5],[318,5],[382,5],[388,4],[420,5]]},"662":{"position":[[63,5]]},"663":{"position":[[78,6],[85,5],[240,5]]},"667":{"position":[[12,4],[320,4],[342,5],[373,4]]},"669":{"position":[[18,4],[544,4],[549,4]]},"670":{"position":[[270,4],[288,4],[313,5],[325,4],[468,4]]},"671":{"position":[[411,4],[416,4]]},"672":{"position":[[247,4],[252,4]]},"679":{"position":[[35,5]]},"681":{"position":[[99,4],[894,5],[958,5],[964,4],[996,5],[1059,5]]},"682":{"position":[[84,4],[626,5],[690,5],[696,4],[728,5],[781,5]]},"685":{"position":[[112,4],[509,5],[573,5],[579,4],[611,5],[674,5]]},"686":{"position":[[84,4],[525,5],[589,5],[595,4],[627,5],[680,5]]},"690":{"position":[[103,5],[386,5],[450,5],[456,4],[488,5]]},"691":{"position":[[55,5],[241,5],[305,5],[311,4],[343,5]]},"692":{"position":[[56,5],[243,5],[307,5],[313,4],[345,5]]},"693":{"position":[[49,5]]},"694":{"position":[[50,5]]},"699":{"position":[[238,4],[301,4],[306,4],[338,4]]},"700":{"position":[[608,5],[672,5],[678,4],[710,5],[805,4],[935,4],[1068,4],[1172,4],[1284,4],[1434,4],[1672,4],[1872,5]]},"701":{"position":[[88,5]]},"702":{"position":[[208,5],[235,5]]},"703":{"position":[[1326,4]]},"730":{"position":[[14,5]]},"731":{"position":[[29,5]]},"732":{"position":[[23,5]]},"734":{"position":[[17,5]]},"760":{"position":[[137,5]]}},"keywords":{}}],["item"",{"_index":2194,"title":{},"content":{"224":{"position":[[761,11],[1199,11]]},"259":{"position":[[1493,13],[1827,13]]},"556":{"position":[[678,10]]}},"keywords":{}}],["item").format",{"_index":2611,"title":{},"content":{"259":{"position":[[1760,21]]}},"keywords":{}}],["item'",{"_index":683,"title":{},"content":{"36":{"position":[[1150,6]]},"202":{"position":[[1150,6]]},"267":{"position":[[1145,6]]},"412":{"position":[[13,6]]},"413":{"position":[[13,6]]},"556":{"position":[[732,6]]}},"keywords":{}}],["item(",{"_index":4491,"title":{"556":{"position":[[27,8]]}},"content":{},"keywords":{}}],["item1",{"_index":827,"title":{},"content":{"36":{"position":[[9214,5],[9403,5]]},"202":{"position":[[9214,5],[9403,5]]},"267":{"position":[[7513,5],[7680,5]]}},"keywords":{}}],["item_nam",{"_index":1760,"title":{},"content":{"94":{"position":[[1060,9]]},"662":{"position":[[163,11]]},"673":{"position":[[1424,12],[1538,12],[1658,12],[1780,12]]},"701":{"position":[[53,10]]},"702":{"position":[[326,13]]}},"keywords":{}}],["item_name"",{"_index":1758,"title":{},"content":{"94":{"position":[[552,15]]}},"keywords":{}}],["item_valu",{"_index":5016,"title":{},"content":{"662":{"position":[[175,11]]}},"keywords":{}}],["items>",{"_index":5204,"title":{},"content":{"702":{"position":[[155,9]]}},"keywords":{}}],["items)reset",{"_index":4510,"title":{},"content":{"577":{"position":[[136,11]]}},"keywords":{}}],["items)sav",{"_index":4559,"title":{},"content":{"598":{"position":[[42,10]]}},"keywords":{}}],["itemschang",{"_index":4508,"title":{},"content":{"577":{"position":[[28,11]]}},"keywords":{}}],["itemsdisplay",{"_index":4504,"title":{},"content":{"571":{"position":[[17,12],[100,12],[123,12]]}},"keywords":{}}],["iter",{"_index":218,"title":{},"content":{"6":{"position":[[494,8],[640,9]]},"476":{"position":[[4534,7]]},"483":{"position":[[554,9]]}},"keywords":{}}],["itself",{"_index":120,"title":{},"content":{"3":{"position":[[554,7]]},"24":{"position":[[438,6],[742,7]]},"36":{"position":[[4822,6],[8814,6]]},"61":{"position":[[1197,7]]},"64":{"position":[[553,6]]},"80":{"position":[[66,7]]},"99":{"position":[[3617,7]]},"202":{"position":[[4822,6],[8814,6]]},"229":{"position":[[1567,7]]},"246":{"position":[[14,6]]},"345":{"position":[[461,7]]},"384":{"position":[[282,6]]},"386":{"position":[[229,6]]},"387":{"position":[[98,6]]},"388":{"position":[[78,6]]},"389":{"position":[[102,6]]},"390":{"position":[[79,6]]},"391":{"position":[[87,6]]},"430":{"position":[[54,6]]},"431":{"position":[[73,6]]},"432":{"position":[[56,6]]},"434":{"position":[[66,6]]},"436":{"position":[[56,6]]},"480":{"position":[[281,7]]}},"keywords":{}}],["i}"",{"_index":4546,"title":{},"content":{"586":{"position":[[827,11]]}},"keywords":{}}],["jan",{"_index":969,"title":{},"content":{"43":{"position":[[908,3],[1030,3]]},"99":{"position":[[2820,4],[3254,4]]}},"keywords":{}}],["januari",{"_index":2296,"title":{},"content":{"227":{"position":[[4357,7]]},"285":{"position":[[762,8]]}},"keywords":{}}],["javascript",{"_index":1718,"title":{},"content":{"91":{"position":[[87,11]]},"184":{"position":[[139,10]]},"187":{"position":[[45,10]]},"227":{"position":[[551,11],[688,10],[759,11],[1815,10],[4906,11]]},"235":{"position":[[206,10],[1636,10]]},"245":{"position":[[116,10],[211,10]]},"246":{"position":[[142,10]]},"429":{"position":[[81,10],[972,10],[1666,10]]}},"keywords":{}}],["job",{"_index":2682,"title":{},"content":{"269":{"position":[[201,3]]},"352":{"position":[[46,5],[120,5],[1070,3]]},"482":{"position":[[1427,3]]},"499":{"position":[[100,3]]},"528":{"position":[[1145,4],[1408,3]]}},"keywords":{}}],["job_nam",{"_index":3416,"title":{},"content":{"352":{"position":[[523,9],[602,9],[758,9],[900,9],[1054,9]]}},"keywords":{}}],["jpg",{"_index":3874,"title":{},"content":{"421":{"position":[[335,4],[401,3]]}},"keywords":{}}],["jq",{"_index":1079,"title":{},"content":{"44":{"position":[[1937,2],[2910,2],[3430,2],[3665,2],[3935,3]]}},"keywords":{}}],["js/app.j",{"_index":2088,"title":{},"content":{"187":{"position":[[211,10]]},"235":{"position":[[1843,9]]}},"keywords":{}}],["json",{"_index":1074,"title":{"86":{"position":[[0,4]]},"88":{"position":[[0,4]]}},"content":{"44":{"position":[[1698,4],[1944,4],[2657,4],[2858,4]]},"88":{"position":[[52,4]]},"90":{"position":[[297,4],[438,4]]},"91":{"position":[[12,4]]},"95":{"position":[[36,4],[564,4]]},"97":{"position":[[145,4]]},"99":{"position":[[814,4],[2057,4],[2316,4],[2902,4],[2971,4],[3048,4],[3397,4],[3469,4],[3717,4],[3852,4],[3888,4]]},"216":{"position":[[158,4]]},"217":{"position":[[154,4]]},"227":{"position":[[380,4],[4940,4],[4959,4],[5462,4],[5942,4]]}},"keywords":{}}],["json/cbor",{"_index":1789,"title":{},"content":{"99":{"position":[[475,9]]}},"keywords":{}}],["jsonaccessor",{"_index":2164,"title":{},"content":{"215":{"position":[[215,13]]},"279":{"position":[[215,13]]}},"keywords":{}}],["jsonpath",{"_index":687,"title":{},"content":{"36":{"position":[[1411,8]]},"202":{"position":[[1411,8]]},"267":{"position":[[1406,8]]}},"keywords":{}}],["judg",{"_index":3574,"title":{},"content":{"357":{"position":[[3883,5]]}},"keywords":{}}],["june",{"_index":2989,"title":{},"content":{"313":{"position":[[121,5]]}},"keywords":{}}],["jupyt",{"_index":1885,"title":{},"content":{"108":{"position":[[445,7]]}},"keywords":{}}],["justif",{"_index":3691,"title":{},"content":{"363":{"position":[[1321,13]]},"404":{"position":[[391,13]]}},"keywords":{}}],["justifi",{"_index":3832,"title":{},"content":{"404":{"position":[[412,7]]}},"keywords":{}}],["k8",{"_index":2457,"title":{},"content":{"243":{"position":[[52,4]]}},"keywords":{}}],["kayhan",{"_index":1896,"title":{},"content":{"108":{"position":[[694,8]]}},"keywords":{}}],["kc_restart",{"_index":974,"title":{},"content":{"43":{"position":[[990,12]]}},"keywords":{}}],["keep",{"_index":74,"title":{"479":{"position":[[5,5]]},"480":{"position":[[0,4]]}},"content":{"2":{"position":[[720,4]]},"44":{"position":[[922,4],[2423,4]]},"149":{"position":[[13,4],[104,4]]},"152":{"position":[[13,4],[106,4]]},"156":{"position":[[13,4],[106,4]]},"159":{"position":[[13,4],[108,4]]},"160":{"position":[[13,4],[117,4]]},"161":{"position":[[13,4],[115,4]]},"162":{"position":[[13,4],[114,4]]},"163":{"position":[[13,4],[114,4]]},"164":{"position":[[13,4],[114,4]]},"302":{"position":[[451,4]]},"303":{"position":[[2100,4]]},"320":{"position":[[1678,4]]},"324":{"position":[[2884,4]]},"332":{"position":[[566,5]]},"359":{"position":[[996,4]]},"362":{"position":[[461,4]]},"364":{"position":[[591,7]]},"487":{"position":[[257,4]]},"490":{"position":[[1070,5]]}},"keywords":{}}],["kept",{"_index":1379,"title":{},"content":{"62":{"position":[[347,4]]},"230":{"position":[[1835,4]]},"284":{"position":[[107,4]]},"361":{"position":[[357,4]]},"459":{"position":[[1006,4],[1212,4]]},"465":{"position":[[231,4]]}},"keywords":{}}],["kernel",{"_index":3586,"title":{},"content":{"357":{"position":[[4321,6]]}},"keywords":{}}],["key",{"_index":446,"title":{"26":{"position":[[31,4]]},"27":{"position":[[17,4]]},"107":{"position":[[0,3]]},"236":{"position":[[14,3]]}},"content":{"20":{"position":[[930,4],[1181,3],[1427,3]]},"24":{"position":[[1,4]]},"26":{"position":[[83,5],[119,5],[178,4],[336,4]]},"27":{"position":[[260,4],[535,4],[595,3],[815,4],[938,3],[1015,4]]},"36":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"99":{"position":[[514,3],[4321,3],[4341,3],[4669,3],[4759,5],[4840,4],[5149,3],[5186,3],[5225,3]]},"136":{"position":[[562,4],[644,3],[675,3]]},"181":{"position":[[462,4],[535,3]]},"202":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"227":{"position":[[5585,4]]},"242":{"position":[[148,3]]},"267":{"position":[[1306,4],[1340,3],[1391,4],[1478,3],[1524,3],[1964,3]]},"298":{"position":[[59,3]]},"305":{"position":[[128,3]]},"324":{"position":[[271,3]]},"347":{"position":[[1344,3]]},"355":{"position":[[96,3]]},"359":{"position":[[954,3]]},"360":{"position":[[1219,3]]},"382":{"position":[[28,3],[81,3]]},"474":{"position":[[330,3]]},"476":{"position":[[39,3]]},"525":{"position":[[594,3]]},"729":{"position":[[115,3]]},"730":{"position":[[135,3],[157,3]]},"731":{"position":[[129,3],[151,3]]},"733":{"position":[[23,5]]},"734":{"position":[[152,3],[174,3]]},"762":{"position":[[159,3],[386,5],[424,5],[499,6],[532,6]]},"763":{"position":[[162,3],[406,5],[466,6]]},"773":{"position":[[209,5]]}},"keywords":{}}],["key>"",{"_index":5396,"title":{},"content":{"730":{"position":[[70,14]]},"731":{"position":[[85,14]]},"734":{"position":[[108,14]]}},"keywords":{}}],["key/valu",{"_index":708,"title":{},"content":{"36":{"position":[[2702,9]]},"202":{"position":[[2702,9]]},"267":{"position":[[1927,9]]}},"keywords":{}}],["key/value(",{"_index":2075,"title":{},"content":{"179":{"position":[[45,12]]}},"keywords":{}}],["key_valu",{"_index":633,"title":{},"content":{"33":{"position":[[307,9],[434,10],[479,9]]},"40":{"position":[[112,9]]}},"keywords":{}}],["keyboard",{"_index":3900,"title":{},"content":{"428":{"position":[[187,8]]}},"keywords":{}}],["keycloak",{"_index":947,"title":{},"content":{"43":{"position":[[35,8],[106,8],[296,8],[333,8],[668,8]]},"240":{"position":[[1731,8],[1846,8]]},"357":{"position":[[1317,8],[2808,8]]}},"keywords":{}}],["keycloak_local",{"_index":964,"title":{},"content":{"43":{"position":[[838,17]]}},"keywords":{}}],["keyfil",{"_index":490,"title":{},"content":{"22":{"position":[[230,8]]},"28":{"position":[[164,8],[206,8]]}},"keywords":{}}],["keyout",{"_index":418,"title":{},"content":{"20":{"position":[[420,6]]}},"keywords":{}}],["keypair",{"_index":582,"title":{},"content":{"27":{"position":[[427,7]]}},"keywords":{}}],["keyword",{"_index":138,"title":{"5":{"position":[[0,7]]},"10":{"position":[[11,8]]}},"content":{"5":{"position":[[60,7],[174,7],[278,8],[513,7],[1356,7]]},"15":{"position":[[49,7],[189,7],[263,7],[312,7]]},"16":{"position":[[51,7],[193,7],[267,7],[314,7]]},"31":{"position":[[368,8],[718,8]]},"34":{"position":[[15,8],[44,8]]},"36":{"position":[[15,8],[48,8],[1221,7],[8372,7]]},"48":{"position":[[156,9]]},"49":{"position":[[2714,8],[2772,8],[2812,8]]},"50":{"position":[[2307,8],[2365,8],[2405,8]]},"51":{"position":[[1182,8],[1240,8],[1280,8]]},"52":{"position":[[1732,8],[1790,8],[1830,8]]},"54":{"position":[[2940,7]]},"120":{"position":[[287,8],[363,8]]},"121":{"position":[[61,7]]},"123":{"position":[[513,9]]},"124":{"position":[[15,8],[48,8]]},"131":{"position":[[77,7]]},"145":{"position":[[15,8],[45,8]]},"168":{"position":[[293,8]]},"172":{"position":[[15,8],[51,8]]},"176":{"position":[[208,7]]},"179":{"position":[[193,8]]},"185":{"position":[[15,8],[43,8]]},"195":{"position":[[15,8],[45,8]]},"198":{"position":[[1356,8]]},"200":{"position":[[15,8],[46,8]]},"202":{"position":[[15,8],[48,8],[1221,7],[8372,7]]},"232":{"position":[[972,7]]},"233":{"position":[[1189,7]]},"253":{"position":[[2801,7],[4803,7]]},"254":{"position":[[1399,7]]},"262":{"position":[[727,8]]},"263":{"position":[[1777,8]]},"265":{"position":[[15,8],[48,8]]},"267":{"position":[[15,8],[43,8],[1216,7],[7030,7],[8537,7]]},"280":{"position":[[157,8]]},"304":{"position":[[2061,9]]},"338":{"position":[[188,9],[332,8]]},"367":{"position":[[120,7],[159,8]]},"368":{"position":[[52,7],[436,8]]},"369":{"position":[[46,7],[67,7]]},"370":{"position":[[140,7],[176,7]]},"374":{"position":[[282,9]]},"404":{"position":[[982,8]]},"411":{"position":[[914,8]]},"418":{"position":[[719,8]]},"419":{"position":[[772,8]]},"420":{"position":[[744,8]]},"441":{"position":[[688,8]]},"442":{"position":[[1249,8]]},"444":{"position":[[1156,8]]},"476":{"position":[[363,7]]},"488":{"position":[[1224,8],[1767,7]]},"493":{"position":[[475,8],[536,8]]},"548":{"position":[[367,8]]},"577":{"position":[[647,7]]},"636":{"position":[[989,7]]},"637":{"position":[[1211,7]]},"638":{"position":[[1232,7]]},"639":{"position":[[1265,7]]},"640":{"position":[[1065,7]]},"641":{"position":[[1282,7]]},"642":{"position":[[1303,7]]},"643":{"position":[[1336,7]]},"685":{"position":[[29,8]]}},"keywords":{}}],["keyword/param",{"_index":2076,"title":{},"content":{"179":{"position":[[118,14]]}},"keywords":{}}],["keyword/paramet",{"_index":3718,"title":{},"content":{"366":{"position":[[454,17]]}},"keywords":{}}],["khtml",{"_index":1060,"title":{},"content":{"44":{"position":[[1176,7]]}},"keywords":{}}],["kibana",{"_index":3399,"title":{},"content":{"351":{"position":[[213,6]]}},"keywords":{}}],["kilomet",{"_index":667,"title":{},"content":{"36":{"position":[[491,10]]},"202":{"position":[[491,10]]},"267":{"position":[[486,10]]}},"keywords":{}}],["kind",{"_index":2837,"title":{},"content":{"298":{"position":[[848,5]]},"360":{"position":[[755,5]]}},"keywords":{}}],["kiss",{"_index":4216,"title":{"479":{"position":[[0,4]]}},"content":{},"keywords":{}}],["km",{"_index":668,"title":{},"content":{"36":{"position":[[502,2]]},"202":{"position":[[502,2]]},"267":{"position":[[497,2]]}},"keywords":{}}],["know",{"_index":538,"title":{},"content":{"24":{"position":[[329,4]]},"71":{"position":[[829,6]]},"176":{"position":[[156,4]]},"254":{"position":[[390,4]]},"297":{"position":[[495,5]]},"502":{"position":[[181,4]]}},"keywords":{}}],["knowledg",{"_index":2069,"title":{},"content":{"176":{"position":[[507,9]]},"235":{"position":[[191,9]]},"240":{"position":[[315,9]]},"338":{"position":[[223,9]]},"704":{"position":[[21,9]]}},"keywords":{}}],["known",{"_index":1275,"title":{},"content":{"54":{"position":[[336,5]]},"62":{"position":[[374,5]]},"227":{"position":[[523,5]]},"243":{"position":[[43,5]]},"301":{"position":[[575,5],[858,5]]},"321":{"position":[[3249,5]]},"359":{"position":[[142,5]]},"482":{"position":[[54,5]]},"575":{"position":[[295,5]]}},"keywords":{}}],["kubernet",{"_index":1558,"title":{"243":{"position":[[0,11]]}},"content":{"83":{"position":[[151,11]]},"122":{"position":[[327,10]]},"139":{"position":[[49,10],[129,10]]},"175":{"position":[[50,10],[130,10]]},"240":{"position":[[1908,10]]},"243":{"position":[[335,10]]},"355":{"position":[[42,10]]},"356":{"position":[[261,11]]},"357":{"position":[[271,11],[3970,10],[4184,10]]}},"keywords":{}}],["kubernetes.io",{"_index":2455,"title":{},"content":{"243":{"position":[[5,14]]}},"keywords":{}}],["label",{"_index":2113,"title":{"396":{"position":[[0,6]]},"404":{"position":[[0,9]]}},"content":{"194":{"position":[[391,5],[401,5]]},"201":{"position":[[2139,5],[2187,5]]},"203":{"position":[[1880,5],[1924,5]]},"232":{"position":[[1228,5],[1253,5]]},"233":{"position":[[1506,5],[1531,5]]},"253":{"position":[[3078,5],[3122,5],[4391,5],[5022,5],[5047,5]]},"254":{"position":[[1678,5],[1722,5]]},"372":{"position":[[192,5]]},"373":{"position":[[187,5],[391,5]]},"375":{"position":[[201,5],[251,5]]},"376":{"position":[[205,5],[279,5]]},"377":{"position":[[201,5],[257,5],[331,5]]},"378":{"position":[[203,5],[259,5],[334,5]]},"379":{"position":[[371,5],[426,5]]},"380":{"position":[[365,5],[420,5]]},"381":{"position":[[387,5],[450,5]]},"382":{"position":[[159,5]]},"383":{"position":[[187,5],[391,5]]},"386":{"position":[[370,5],[393,5]]},"387":{"position":[[243,5],[349,5],[372,5]]},"388":{"position":[[220,5],[243,5]]},"389":{"position":[[201,5],[312,5],[335,5]]},"390":{"position":[[272,5],[296,5],[320,5],[344,5],[366,5],[388,5]]},"391":{"position":[[341,5],[363,5],[385,5],[407,5],[429,5],[451,5],[473,5],[495,5],[517,5]]},"393":{"position":[[182,5],[204,5],[256,5],[278,5]]},"396":{"position":[[41,5],[194,5],[222,5]]},"397":{"position":[[107,5],[133,5]]},"398":{"position":[[160,5]]},"399":{"position":[[190,5],[234,5]]},"404":{"position":[[12,5],[424,5],[482,5],[591,5],[818,8],[937,9]]},"405":{"position":[[12,5]]},"406":{"position":[[12,5]]},"407":{"position":[[12,5],[237,5]]},"408":{"position":[[12,5]]},"409":{"position":[[12,5]]},"410":{"position":[[12,5]]},"420":{"position":[[12,5]]},"424":{"position":[[319,5],[351,5]]},"432":{"position":[[155,5],[169,5]]},"436":{"position":[[155,5],[169,5]]},"446":{"position":[[307,5],[397,5]]}},"keywords":{}}],["label'",{"_index":3764,"title":{},"content":{"383":{"position":[[855,7],[963,7]]}},"keywords":{}}],["labelprogressbar",{"_index":3836,"title":{"405":{"position":[[0,17]]}},"content":{"405":{"position":[[552,16],[601,16]]}},"keywords":{}}],["labelsparklin",{"_index":3871,"title":{"420":{"position":[[0,15]]}},"content":{"420":{"position":[[563,14],[693,15]]}},"keywords":{}}],["labelvalu",{"_index":3230,"title":{"406":{"position":[[0,11]]}},"content":{"328":{"position":[[1618,10]]},"373":{"position":[[160,10],[630,11]]},"383":{"position":[[160,10],[778,10]]},"406":{"position":[[419,10],[463,10]]},"446":{"position":[[129,10],[168,10],[211,10]]},"745":{"position":[[561,10],[833,10]]},"746":{"position":[[1023,10],[1306,10]]}},"keywords":{}}],["labelvaluedesc",{"_index":3840,"title":{"407":{"position":[[0,15]]}},"content":{"407":{"position":[[565,14],[645,14]]}},"keywords":{}}],["labelvaluelimitsbar",{"_index":3735,"title":{"408":{"position":[[0,20]]}},"content":{"372":{"position":[[337,19]]},"373":{"position":[[359,20],[841,20],[880,19]]},"383":{"position":[[359,20],[876,19]]}},"keywords":{}}],["labelvaluelimitscolumn",{"_index":3842,"title":{"409":{"position":[[0,23]]}},"content":{"409":{"position":[[442,22],[503,22]]}},"keywords":{}}],["labelvaluerangebar",{"_index":3844,"title":{"410":{"position":[[0,19]]}},"content":{"410":{"position":[[819,18],[886,18]]}},"keywords":{}}],["labview",{"_index":2839,"title":{},"content":{"298":{"position":[[954,8]]}},"keywords":{}}],["languag",{"_index":314,"title":{"11":{"position":[[0,9]]},"616":{"position":[[12,10]]}},"content":{"11":{"position":[[29,8],[94,8],[138,8],[377,8]]},"44":{"position":[[851,9],[2381,9]]},"91":{"position":[[59,10]]},"95":{"position":[[58,9]]},"227":{"position":[[587,9],[804,9]]},"251":{"position":[[154,9],[272,9]]},"297":{"position":[[731,8]]},"461":{"position":[[596,9]]},"475":{"position":[[102,9]]},"476":{"position":[[985,9]]},"479":{"position":[[35,9]]},"609":{"position":[[272,9]]},"616":{"position":[[105,9],[234,8]]}},"keywords":{}}],["laptop",{"_index":3309,"title":{},"content":{"347":{"position":[[346,6]]}},"keywords":{}}],["larg",{"_index":877,"title":{},"content":{"40":{"position":[[748,5]]},"46":{"position":[[1007,5]]},"198":{"position":[[93,5]]},"259":{"position":[[117,5]]},"357":{"position":[[3504,5]]},"398":{"position":[[12,5]]},"426":{"position":[[12,5]]},"480":{"position":[[79,5]]},"482":{"position":[[807,5],[859,5]]},"485":{"position":[[24,5]]},"488":{"position":[[989,5],[2163,5]]},"504":{"position":[[249,5]]}},"keywords":{}}],["larger",{"_index":263,"title":{},"content":{"7":{"position":[[612,6]]},"31":{"position":[[437,6]]},"36":{"position":[[6522,6],[7318,6]]},"202":{"position":[[6522,6],[7318,6]]},"267":{"position":[[5061,6],[5919,6]]},"347":{"position":[[305,6]]},"357":{"position":[[2326,6]]}},"keywords":{}}],["largest",{"_index":2538,"title":{},"content":{"253":{"position":[[4122,8]]}},"keywords":{}}],["laser",{"_index":733,"title":{},"content":{"36":{"position":[[3811,5],[3924,5]]},"202":{"position":[[3811,5],[3924,5]]}},"keywords":{}}],["laser"",{"_index":732,"title":{},"content":{"36":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"202":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"267":{"position":[[2817,11],[2839,11],[2875,11],[2898,11]]}},"keywords":{}}],["last",{"_index":819,"title":{},"content":{"36":{"position":[[8286,4]]},"54":{"position":[[3533,5]]},"56":{"position":[[545,4]]},"58":{"position":[[477,4]]},"61":{"position":[[1935,4]]},"75":{"position":[[761,4],[1126,4],[1579,4]]},"99":{"position":[[4067,4]]},"198":{"position":[[438,5]]},"202":{"position":[[8286,4]]},"227":{"position":[[3222,4]]},"253":{"position":[[7524,4]]},"259":{"position":[[469,5]]},"267":{"position":[[6945,4]]},"283":{"position":[[483,4]]},"284":{"position":[[42,4]]},"285":{"position":[[558,4]]},"322":{"position":[[1480,4]]},"345":{"position":[[573,4]]},"355":{"position":[[716,4]]},"499":{"position":[[821,4],[1153,4]]},"528":{"position":[[1088,4]]},"547":{"position":[[42,4]]},"578":{"position":[[1154,4]]},"676":{"position":[[682,4],[1180,4]]},"703":{"position":[[60,4],[1301,4],[1344,4]]}},"keywords":{}}],["last_nam",{"_index":4176,"title":{},"content":{"476":{"position":[[1461,9]]}},"keywords":{}}],["lastdisplay",{"_index":4505,"title":{},"content":{"571":{"position":[[44,11]]}},"keywords":{}}],["late",{"_index":1869,"title":{"108":{"position":[[18,5]]}},"content":{},"keywords":{}}],["later",{"_index":1298,"title":{},"content":{"56":{"position":[[411,5]]},"71":{"position":[[916,5]]},"121":{"position":[[463,5]]},"331":{"position":[[688,6]]},"476":{"position":[[605,6],[1161,5]]},"479":{"position":[[285,5]]},"499":{"position":[[801,5],[1133,5]]}},"keywords":{}}],["latest",{"_index":1167,"title":{},"content":{"46":{"position":[[829,6]]},"83":{"position":[[986,6],[1067,6],[1142,6],[1205,6],[1264,6],[1324,6],[1386,6],[1446,6],[1505,6],[1564,6]]},"292":{"position":[[507,9]]},"324":{"position":[[1460,6]]},"357":{"position":[[474,7]]},"403":{"position":[[851,6],[902,6]]},"406":{"position":[[435,6],[479,6]]},"464":{"position":[[415,6]]},"498":{"position":[[206,7],[637,6]]},"763":{"position":[[269,6]]}},"keywords":{}}],["launch",{"_index":1764,"title":{},"content":{"95":{"position":[[287,6]]},"237":{"position":[[156,6]]},"332":{"position":[[166,6]]},"334":{"position":[[141,6]]},"429":{"position":[[1270,8]]}},"keywords":{}}],["law",{"_index":4113,"title":{},"content":{"465":{"position":[[456,4],[607,4]]},"467":{"position":[[1127,3],[1226,3]]}},"keywords":{}}],["lawfulli",{"_index":4056,"title":{},"content":{"459":{"position":[[439,9]]}},"keywords":{}}],["lay",{"_index":3716,"title":{},"content":{"366":{"position":[[279,5]]}},"keywords":{}}],["layer",{"_index":1475,"title":{},"content":{"69":{"position":[[3751,6],[3810,6]]},"464":{"position":[[496,5]]}},"keywords":{}}],["layout",{"_index":3726,"title":{"385":{"position":[[0,6]]}},"content":{"369":{"position":[[291,6],[384,6]]},"370":{"position":[[26,6],[45,6]]},"381":{"position":[[53,6]]},"385":{"position":[[3,6],[96,6]]},"386":{"position":[[82,7],[99,6],[188,6]]},"393":{"position":[[20,6]]},"438":{"position":[[1,6]]}},"keywords":{}}],["lead",{"_index":1339,"title":{},"content":{"59":{"position":[[551,7]]},"60":{"position":[[658,7],[949,7]]},"61":{"position":[[475,7],[1730,7]]},"62":{"position":[[855,7]]},"63":{"position":[[2039,7]]},"360":{"position":[[1268,7]]},"514":{"position":[[960,4]]}},"keywords":{}}],["learn",{"_index":2334,"title":{},"content":{"229":{"position":[[1202,5]]},"469":{"position":[[374,5]]}},"keywords":{}}],["leav",{"_index":1302,"title":{},"content":{"56":{"position":[[623,5]]},"103":{"position":[[192,5]]},"599":{"position":[[962,7]]}},"keywords":{}}],["led",{"_index":3830,"title":{"411":{"position":[[0,4]]}},"content":{"404":{"position":[[32,3],[306,3],[359,3],[434,3],[508,3],[601,3],[1145,3],[1168,3]]},"411":{"position":[[12,3],[212,3],[614,3],[667,3],[716,3],[874,4],[1077,3],[1100,3]]},"480":{"position":[[161,3]]}},"keywords":{}}],["led_color",{"_index":3835,"title":{},"content":{"404":{"position":[[854,9],[883,9],[992,10]]},"411":{"position":[[181,9],[266,9],[293,9],[322,9],[767,9],[793,9],[817,9],[924,10]]}},"keywords":{}}],["left",{"_index":42,"title":{},"content":{"2":{"position":[[236,4]]},"298":{"position":[[327,4]]},"322":{"position":[[2272,4]]},"359":{"position":[[158,4]]},"404":{"position":[[495,4],[647,4],[663,6],[783,5]]},"437":{"position":[[129,4]]},"438":{"position":[[168,4]]},"439":{"position":[[94,4],[172,4]]},"440":{"position":[[240,4],[318,4]]},"441":{"position":[[207,4],[286,4]]},"442":{"position":[[648,4],[727,4],[1487,4],[1566,4]]},"491":{"position":[[31,5]]},"559":{"position":[[103,4]]},"592":{"position":[[312,5]]},"593":{"position":[[313,4]]},"739":{"position":[[374,4],[443,4]]},"746":{"position":[[547,4],[616,4]]}},"keywords":{}}],["legaci",{"_index":3628,"title":{},"content":{"359":{"position":[[2147,6]]}},"keywords":{}}],["legal",{"_index":2126,"title":{},"content":{"198":{"position":[[1294,5]]},"465":{"position":[[118,5]]},"467":{"position":[[1245,5]]}},"keywords":{}}],["legend",{"_index":3870,"title":{},"content":{"419":{"position":[[49,7]]}},"keywords":{}}],["legitim",{"_index":4059,"title":{},"content":{"459":{"position":[[554,10]]}},"keywords":{}}],["len(data",{"_index":1520,"title":{},"content":{"75":{"position":[[1006,9]]}},"keywords":{}}],["length",{"_index":693,"title":{"61":{"position":[[0,6]]}},"content":{"36":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"42":{"position":[[623,7]]},"43":{"position":[[736,7]]},"44":{"position":[[948,7]]},"49":{"position":[[940,6],[1816,6]]},"50":{"position":[[806,6],[1535,6]]},"52":{"position":[[1004,6]]},"54":{"position":[[314,6],[354,6],[373,6],[1041,6],[1801,6]]},"56":{"position":[[87,7]]},"60":{"position":[[355,7]]},"61":{"position":[[5,6],[34,6],[149,6],[199,6],[300,6],[318,6],[362,6],[388,6],[418,6],[506,6],[669,6],[760,6],[839,6],[904,6],[944,6],[968,6],[1015,6],[1059,6],[1184,6],[1245,6],[1275,6],[1346,6],[1451,6],[1506,6],[1562,6],[1604,6],[1644,6],[2287,6],[2327,6],[2359,7],[2372,6],[2433,6],[2567,6],[2602,6],[2900,6],[2995,6],[3075,6],[3114,6],[3150,6],[3193,6],[3297,6],[3321,6],[3346,6],[3390,6]]},"64":{"position":[[603,6],[643,6],[675,7]]},"99":{"position":[[268,6],[315,6],[1521,6],[2009,6],[3496,6],[3573,6],[3656,6],[3773,6],[4280,6],[5166,6]]},"134":{"position":[[848,6]]},"202":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"253":{"position":[[5785,7]]},"267":{"position":[[1635,6],[1723,6],[1740,6],[1784,6],[1817,6],[1868,6],[10683,6]]},"276":{"position":[[336,6]]},"277":{"position":[[61,6]]},"336":{"position":[[312,7]]},"476":{"position":[[160,7]]}},"keywords":{}}],["length"",{"_index":2228,"title":{},"content":{"226":{"position":[[720,12],[1598,12],[2368,12]]},"285":{"position":[[701,12]]},"321":{"position":[[1553,12],[2085,12],[2585,12]]}},"keywords":{}}],["lengthprotocol",{"_index":1976,"title":{},"content":{"134":{"position":[[918,14]]}},"keywords":{}}],["less",{"_index":93,"title":{},"content":{"3":{"position":[[140,4]]},"36":{"position":[[2997,4]]},"202":{"position":[[2997,4]]},"251":{"position":[[221,4]]},"267":{"position":[[2206,4],[8952,4],[9070,4],[9270,4],[9767,4],[10113,4]]},"277":{"position":[[37,4]]},"289":{"position":[[560,5]]},"446":{"position":[[715,4]]},"528":{"position":[[1074,4]]},"700":{"position":[[1032,4],[1249,4],[1399,4]]}},"keywords":{}}],["let",{"_index":2528,"title":{},"content":{"253":{"position":[[2630,4]]},"350":{"position":[[49,4]]},"499":{"position":[[378,4]]}},"keywords":{}}],["let'",{"_index":440,"title":{"24":{"position":[[0,5]]}},"content":{"20":{"position":[[793,5]]},"46":{"position":[[614,5]]},"69":{"position":[[1667,5]]},"253":{"position":[[98,5]]},"254":{"position":[[1024,5]]},"332":{"position":[[351,5],[626,5]]},"347":{"position":[[383,5]]}},"keywords":{}}],["letter",{"_index":421,"title":{},"content":{"20":{"position":[[469,6]]},"198":{"position":[[740,7],[780,8]]},"259":{"position":[[767,7],[807,8]]},"320":{"position":[[221,7]]}},"keywords":{}}],["level",{"_index":255,"title":{"454":{"position":[[5,5]]}},"content":{"7":{"position":[[444,5]]},"53":{"position":[[17,5]]},"69":{"position":[[4551,5]]},"121":{"position":[[642,6]]},"122":{"position":[[125,5]]},"133":{"position":[[199,5]]},"246":{"position":[[235,5]]},"304":{"position":[[631,5],[773,5]]},"324":{"position":[[321,5]]},"481":{"position":[[70,5]]},"482":{"position":[[765,5]]},"486":{"position":[[124,5]]},"514":{"position":[[259,6],[819,6],[1195,5]]},"517":{"position":[[101,5]]},"611":{"position":[[803,5],[903,5]]},"736":{"position":[[34,5],[91,5]]}},"keywords":{}}],["li",{"_index":4512,"title":{},"content":{"578":{"position":[[229,4]]}},"keywords":{}}],["liabil",{"_index":3644,"title":{},"content":{"360":{"position":[[998,10]]}},"keywords":{}}],["liabl",{"_index":3641,"title":{},"content":{"360":{"position":[[959,6]]}},"keywords":{}}],["lib",{"_index":330,"title":{},"content":{"12":{"position":[[208,3],[309,3],[394,3]]},"36":{"position":[[4137,3]]},"122":{"position":[[131,3]]},"202":{"position":[[4137,3]]},"257":{"position":[[986,4],[1293,3],[1550,3]]},"267":{"position":[[3086,3],[10628,3]]},"276":{"position":[[280,3]]},"328":{"position":[[926,3],[1077,3]]},"484":{"position":[[118,3]]}},"keywords":{}}],["libcsp",{"_index":1879,"title":{},"content":{"108":{"position":[[297,6]]}},"keywords":{}}],["librari",{"_index":1443,"title":{},"content":{"69":{"position":[[1125,7],[1399,7]]},"184":{"position":[[150,7]]},"227":{"position":[[509,9]]},"230":{"position":[[1434,7],[1523,7],[1616,7]]},"235":{"position":[[906,10]]},"240":{"position":[[1933,9]]},"245":{"position":[[434,7]]},"297":{"position":[[782,9]]},"298":{"position":[[1523,9]]},"476":{"position":[[1872,7],[1959,7],[2786,7],[2874,7]]},"488":{"position":[[914,9],[1797,9]]},"507":{"position":[[464,7]]},"508":{"position":[[240,7]]}},"keywords":{}}],["library/group",{"_index":2781,"title":{},"content":{"289":{"position":[[1333,15]]}},"keywords":{}}],["licens",{"_index":2324,"title":{"358":{"position":[[0,8]]},"361":{"position":[[11,8]]},"362":{"position":[[32,8]]}},"content":{"229":{"position":[[481,7],[530,8]]},"359":{"position":[[33,7],[49,7],[163,7],[182,8],[263,7],[1346,8],[1409,7],[1502,8],[1535,7],[1620,8],[1641,7],[1775,7],[2040,7],[2139,7]]},"360":{"position":[[6,7],[210,7],[261,7],[318,8],[522,7],[1175,7],[1392,8]]},"361":{"position":[[6,7],[170,7],[342,7],[382,8],[456,8],[484,9],[498,8],[608,8]]},"363":{"position":[[370,7],[539,7],[620,7],[668,7],[718,7],[805,7],[887,8],[943,9],[961,9],[994,9],[1071,7]]}},"keywords":{}}],["license.txt",{"_index":2323,"title":{},"content":{"229":{"position":[[469,11]]}},"keywords":{}}],["lifecycl",{"_index":2262,"title":{},"content":{"227":{"position":[[1888,9]]}},"keywords":{}}],["limit",{"_index":158,"title":{"233":{"position":[[0,6]]},"302":{"position":[[0,6]]},"574":{"position":[[0,6]]},"576":{"position":[[0,6]]},"578":{"position":[[0,6]]},"579":{"position":[[0,6]]},"689":{"position":[[0,7]]}},"content":{"5":{"position":[[459,7]]},"99":{"position":[[2655,6]]},"231":{"position":[[1119,6]]},"233":{"position":[[72,6],[174,6],[422,6],[513,6],[734,6],[846,6],[920,6],[978,6],[1046,6],[1086,6],[1325,6]]},"235":{"position":[[1107,12]]},"267":{"position":[[7882,7],[7908,6],[7940,6],[8049,7],[8255,6],[8342,6],[8483,6],[8517,6],[8645,6],[8674,6],[8715,6],[8817,6],[8920,5],[9038,5],[9133,6],[9197,5],[9293,6],[9355,5],[9476,5],[9519,6],[9693,6],[9792,6],[9863,5],[9906,6],[10080,6],[10178,6],[10255,6],[10313,6],[10426,6],[10575,6]]},"273":{"position":[[446,6],[503,6]]},"282":{"position":[[520,6],[577,6]]},"283":{"position":[[28,6],[42,6],[155,6],[770,6]]},"284":{"position":[[69,6]]},"299":{"position":[[1195,6]]},"300":{"position":[[370,6],[401,6]]},"301":{"position":[[1447,6],[1478,6]]},"302":{"position":[[1,6],[72,6],[137,6],[150,6],[221,6],[288,7],[334,6],[430,6],[475,6],[517,6],[605,7],[667,6],[751,6]]},"305":{"position":[[934,6],[984,6],[1211,6],[1316,6],[1371,6]]},"357":{"position":[[482,7]]},"360":{"position":[[801,7]]},"363":{"position":[[404,6],[575,7]]},"364":{"position":[[1102,11]]},"403":{"position":[[339,6],[385,8]]},"412":{"position":[[53,6]]},"413":{"position":[[53,6]]},"414":{"position":[[33,6]]},"427":{"position":[[230,6],[276,8]]},"430":{"position":[[39,7]]},"431":{"position":[[58,7]]},"432":{"position":[[41,7]]},"434":{"position":[[51,7]]},"436":{"position":[[41,7]]},"459":{"position":[[884,7]]},"466":{"position":[[323,7]]},"467":{"position":[[645,7]]},"476":{"position":[[146,5]]},"544":{"position":[[133,6]]},"568":{"position":[[154,6]]},"575":{"position":[[5,6],[92,7],[104,6],[151,6],[326,6]]},"577":{"position":[[59,6],[317,6],[555,6],[594,6],[607,6],[640,6],[714,6],[755,5],[792,6],[872,6],[897,5]]},"578":{"position":[[23,6],[109,6],[130,6],[183,6],[253,6],[555,6],[837,6],[864,6],[994,6],[1079,6],[1301,6]]},"579":{"position":[[27,6]]},"599":{"position":[[916,5]]},"649":{"position":[[1543,9]]},"662":{"position":[[32,6]]},"663":{"position":[[32,6]]},"689":{"position":[[44,7]]},"690":{"position":[[68,6]]},"691":{"position":[[9,6]]},"692":{"position":[[10,6]]},"693":{"position":[[9,6],[70,6],[220,6]]},"694":{"position":[[10,6],[71,6],[222,6]]},"695":{"position":[[21,6]]},"696":{"position":[[18,6],[42,6],[192,6]]},"697":{"position":[[33,6],[57,6]]},"698":{"position":[[21,6]]},"699":{"position":[[32,6]]},"700":{"position":[[28,6],[151,6],[184,6],[749,6],[854,6],[989,6],[1116,6],[1481,6],[1510,6],[1532,6],[1585,6],[1607,6],[1692,6],[1715,6],[1775,6],[1798,6],[1844,6],[1919,6],[1942,6]]},"701":{"position":[[116,6]]},"702":{"position":[[21,6],[280,6]]},"703":{"position":[[9,6],[328,6]]}},"keywords":{}}],["limit"",{"_index":2673,"title":{},"content":{"267":{"position":[[9555,11],[9942,11]]}},"keywords":{}}],["limitless",{"_index":3231,"title":{},"content":{"328":{"position":[[1884,10]]}},"keywords":{}}],["limits_en",{"_index":5149,"title":{"690":{"position":[[0,16],[17,15]]}},"content":{"690":{"position":[[5,15]]}},"keywords":{}}],["limits_enabled("<target",{"_index":5151,"title":{},"content":{"690":{"position":[[229,31]]}},"keywords":{}}],["limits_enabled("inst",{"_index":5153,"title":{},"content":{"690":{"position":[[624,25]]}},"keywords":{}}],["limits_enabled?("<target",{"_index":5150,"title":{},"content":{"690":{"position":[[124,32]]}},"keywords":{}}],["limits_enabled?("inst",{"_index":5152,"title":{},"content":{"690":{"position":[[520,26]]}},"keywords":{}}],["limits_group",{"_index":2701,"title":{"283":{"position":[[0,13]]}},"content":{"284":{"position":[[55,12],[388,12]]},"695":{"position":[[84,13]]}},"keywords":{}}],["limits_group_item",{"_index":2710,"title":{"284":{"position":[[0,18]]}},"content":{"284":{"position":[[411,17],[454,17],[497,17]]}},"keywords":{}}],["limits_groups.txt",{"_index":2712,"title":{},"content":{"284":{"position":[[187,18]]}},"keywords":{}}],["limits_respons",{"_index":2373,"title":{},"content":{"232":{"position":[[372,15]]},"233":{"position":[[5,15],[253,15],[289,15],[397,15],[568,15],[1383,15]]},"267":{"position":[[10359,16],[10775,15],[10840,15]]}},"keywords":{}}],["limits_response.rb",{"_index":343,"title":{},"content":{"12":{"position":[[595,18]]}},"keywords":{}}],["limits_set",{"_index":5024,"title":{},"content":{"663":{"position":[[293,16],[310,10]]},"697":{"position":[[114,10]]},"698":{"position":[[82,11]]}},"keywords":{}}],["limits_st",{"_index":5017,"title":{},"content":{"662":{"position":[[187,14]]},"663":{"position":[[278,14]]},"701":{"position":[[68,12]]}},"keywords":{}}],["limitsbar",{"_index":3740,"title":{"412":{"position":[[0,10]]}},"content":{"373":{"position":[[479,9]]},"383":{"position":[[479,9]]},"408":{"position":[[59,9]]},"412":{"position":[[444,9],[496,9]]},"415":{"position":[[36,9]]}},"keywords":{}}],["limitscolor",{"_index":3852,"title":{"414":{"position":[[0,12]]}},"content":{"414":{"position":[[439,11],[494,11]]}},"keywords":{}}],["limitscolumn",{"_index":3843,"title":{"413":{"position":[[0,13]]}},"content":{"409":{"position":[[59,12]]},"413":{"position":[[442,12],[497,12]]},"416":{"position":[[36,12]]}},"keywords":{}}],["line",{"_index":141,"title":{"8":{"position":[[0,4]]},"488":{"position":[[31,5]]}},"content":{"5":{"position":[[6,4]]},"6":{"position":[[470,4],[672,4]]},"8":{"position":[[19,4],[84,4],[288,5],[406,4]]},"9":{"position":[[849,5],[1011,4]]},"33":{"position":[[653,4],[912,4]]},"36":{"position":[[8291,4],[8399,5]]},"39":{"position":[[111,4]]},"58":{"position":[[12,4],[103,5]]},"63":{"position":[[503,4],[541,4],[1560,5],[1585,5],[1624,5],[1844,5],[1864,5],[1907,4]]},"103":{"position":[[474,4],[482,4]]},"134":{"position":[[881,4]]},"140":{"position":[[24,4],[75,4]]},"178":{"position":[[9,4],[59,4]]},"179":{"position":[[140,4]]},"202":{"position":[[8291,4],[8399,5]]},"253":{"position":[[6138,5],[7302,4],[7529,4],[8152,4]]},"267":{"position":[[6950,4],[7057,5]]},"291":{"position":[[537,4],[814,4]]},"304":{"position":[[241,4],[504,6],[527,5],[1666,6],[2224,4],[2256,5],[3555,6],[3578,5],[3635,6],[3695,5],[3731,5],[3850,5],[3900,4],[4761,5],[4951,5]]},"307":{"position":[[172,4]]},"322":{"position":[[292,4]]},"324":{"position":[[2346,4],[3284,4],[3448,5],[3525,6]]},"325":{"position":[[154,4],[479,5],[556,6],[633,5]]},"332":{"position":[[377,5]]},"366":{"position":[[472,5]]},"397":{"position":[[38,4]]},"402":{"position":[[550,4]]},"418":{"position":[[12,4]]},"429":{"position":[[603,5],[680,5]]},"443":{"position":[[9,4],[109,4],[181,4],[249,4],[317,4],[360,4],[390,4]]},"444":{"position":[[24,4],[50,4],[317,4],[389,4],[457,4],[525,4],[568,4],[1292,4]]},"476":{"position":[[155,4],[168,5],[3998,4],[4006,4]]},"480":{"position":[[177,4],[683,5],[764,5],[1056,5]]},"481":{"position":[[96,6],[297,5],[311,4]]},"483":{"position":[[1250,5]]},"488":{"position":[[66,4],[163,4],[636,4],[1061,6],[1137,6]]},"491":{"position":[[19,4],[228,5]]},"495":{"position":[[1333,5]]},"497":{"position":[[487,4],[786,4]]},"502":{"position":[[19,4],[74,4],[131,4],[289,4],[388,4]]},"505":{"position":[[80,5],[347,4]]},"533":{"position":[[601,4],[670,4],[756,4]]},"584":{"position":[[521,4],[529,4]]},"601":{"position":[[851,4]]},"607":{"position":[[323,4],[381,4],[451,4]]},"608":{"position":[[827,4]]},"613":{"position":[[48,4],[270,4],[278,4]]},"617":{"position":[[707,5],[1080,4]]},"737":{"position":[[153,5],[236,5]]},"748":{"position":[[22,4],[185,5]]},"749":{"position":[[21,4]]},"752":{"position":[[46,5],[160,5]]},"756":{"position":[[80,5]]},"757":{"position":[[50,4]]}},"keywords":{}}],["linegraph",{"_index":3858,"title":{"418":{"position":[[0,10]]}},"content":{"418":{"position":[[545,9],[673,10]]}},"keywords":{}}],["liner",{"_index":4218,"title":{},"content":{"479":{"position":[[225,6],[316,6]]}},"keywords":{}}],["link",{"_index":1550,"title":{"469":{"position":[[46,6]]}},"content":{"81":{"position":[[16,6]]},"110":{"position":[[24,7]]},"186":{"position":[[247,7]]},"311":{"position":[[705,5],[735,4]]},"334":{"position":[[753,5]]},"345":{"position":[[608,4]]},"359":{"position":[[890,4],[1267,4]]},"362":{"position":[[550,4]]},"468":{"position":[[171,4]]},"469":{"position":[[135,5]]},"511":{"position":[[176,6]]},"559":{"position":[[269,5]]}},"keywords":{}}],["linux",{"_index":407,"title":{},"content":{"20":{"position":[[277,5]]},"85":{"position":[[957,6]]},"103":{"position":[[378,7]]},"239":{"position":[[164,6]]},"253":{"position":[[217,6]]},"257":{"position":[[827,5]]},"289":{"position":[[14,5],[156,7]]},"292":{"position":[[189,5]]},"324":{"position":[[1784,5]]},"341":{"position":[[54,5]]},"347":{"position":[[76,6],[110,6],[1930,6]]},"357":{"position":[[2448,5]]}},"keywords":{}}],["linux/mac",{"_index":2823,"title":{},"content":{"292":{"position":[[391,12]]}},"keywords":{}}],["list",{"_index":322,"title":{},"content":{"12":{"position":[[23,4],[340,4]]},"15":{"position":[[118,4]]},"16":{"position":[[122,4]]},"90":{"position":[[5,4],[231,4]]},"122":{"position":[[145,5]]},"240":{"position":[[1543,4]]},"249":{"position":[[68,6],[207,4]]},"254":{"position":[[2417,4]]},"301":{"position":[[204,4],[469,4],[567,4],[850,4],[1169,4]]},"384":{"position":[[529,6]]},"431":{"position":[[22,4]]},"457":{"position":[[18,6]]},"483":{"position":[[395,4]]},"495":{"position":[[1098,4]]},"513":{"position":[[619,5]]},"514":{"position":[[1319,6]]},"527":{"position":[[497,4],[571,7]]},"528":{"position":[[1150,4]]},"540":{"position":[[597,4]]},"546":{"position":[[91,6]]},"548":{"position":[[42,4]]},"552":{"position":[[228,4],[483,4]]},"553":{"position":[[114,4]]},"557":{"position":[[53,4]]},"558":{"position":[[259,5]]},"559":{"position":[[64,5]]},"563":{"position":[[166,4],[421,4]]},"572":{"position":[[168,4]]},"573":{"position":[[91,5]]},"577":{"position":[[12,4],[384,6],[997,4],[1252,4]]},"578":{"position":[[1469,4]]},"579":{"position":[[17,5]]},"589":{"position":[[165,4],[420,4]]},"598":{"position":[[184,4],[439,4]]},"606":{"position":[[339,5],[492,5]]},"617":{"position":[[960,4]]},"679":{"position":[[9,4]]},"695":{"position":[[13,4]]},"698":{"position":[[13,4]]},"705":{"position":[[11,4]]},"710":{"position":[[11,4]]},"722":{"position":[[11,4]]},"743":{"position":[[31,4]]},"746":{"position":[[139,5]]},"771":{"position":[[1,4]]},"772":{"position":[[1,4]]}},"keywords":{}}],["list)reset",{"_index":4480,"title":{},"content":{"552":{"position":[[67,10]]}},"keywords":{}}],["list_config",{"_index":5578,"title":{"772":{"position":[[0,13]]}},"content":{},"keywords":{}}],["list_configs(<tool",{"_index":5579,"title":{},"content":{"772":{"position":[[91,21]]}},"keywords":{}}],["list_configs('telemetry_graph",{"_index":5581,"title":{},"content":{"772":{"position":[[236,33],[335,33]]}},"keywords":{}}],["list_set",{"_index":5518,"title":{"766":{"position":[[0,14]]}},"content":{"766":{"position":[[134,15]]}},"keywords":{}}],["listen",{"_index":492,"title":{},"content":{"22":{"position":[[273,6]]},"50":{"position":[[57,7]]},"89":{"position":[[41,7],[133,7]]},"254":{"position":[[864,9]]},"320":{"position":[[738,7]]},"322":{"position":[[1275,9]]},"338":{"position":[[888,6],[979,6]]},"528":{"position":[[471,6]]},"675":{"position":[[20,6]]}},"keywords":{}}],["listen_address",{"_index":1983,"title":{},"content":{"135":{"position":[[512,14],[883,14]]},"338":{"position":[[1592,14],[1964,14]]}},"keywords":{}}],["lite",{"_index":3311,"title":{},"content":{"347":{"position":[[427,4],[842,4]]}},"keywords":{}}],["literal'",{"_index":1704,"title":{},"content":{"88":{"position":[[178,9]]}},"keywords":{}}],["littl",{"_index":176,"title":{"329":{"position":[[0,6]]}},"content":{"5":{"position":[[894,6]]},"33":{"position":[[204,6]]},"35":{"position":[[1305,6],[1340,6],[1836,6]]},"37":{"position":[[1098,6],[1133,6],[1629,6]]},"44":{"position":[[1769,6]]},"199":{"position":[[364,6]]},"201":{"position":[[1334,6],[1369,6],[1865,6]]},"203":{"position":[[1117,6],[1152,6],[1648,6]]},"204":{"position":[[1478,6],[1513,6],[2009,6]]},"205":{"position":[[1314,6],[1349,6],[1845,6]]},"206":{"position":[[865,6]]},"207":{"position":[[648,6]]},"264":{"position":[[381,6]]},"266":{"position":[[940,6],[975,6]]},"268":{"position":[[732,6],[767,6]]},"269":{"position":[[1034,6],[1069,6]]},"270":{"position":[[703,6],[738,6]]},"271":{"position":[[858,6]]},"272":{"position":[[650,6]]},"324":{"position":[[429,6]]},"329":{"position":[[0,6],[33,6],[62,6],[147,6]]}},"keywords":{}}],["little_endian",{"_index":177,"title":{},"content":{"5":{"position":[[941,13],[1175,14]]},"33":{"position":[[251,13]]},"35":{"position":[[1391,13],[1883,13]]},"37":{"position":[[1184,13],[1676,13]]},"61":{"position":[[1689,16]]},"199":{"position":[[411,13]]},"201":{"position":[[1420,13],[1912,13]]},"203":{"position":[[1203,13],[1695,13]]},"204":{"position":[[1564,13],[2056,13]]},"205":{"position":[[1400,13],[1892,13]]},"206":{"position":[[912,13]]},"207":{"position":[[695,13]]},"264":{"position":[[428,13]]},"266":{"position":[[1026,13]]},"268":{"position":[[818,13]]},"269":{"position":[[1120,13]]},"270":{"position":[[789,13]]},"271":{"position":[[905,13]]},"272":{"position":[[697,13]]},"329":{"position":[[213,13],[430,13],[644,13],[713,13],[757,13],[839,13]]}},"keywords":{}}],["live",{"_index":1235,"title":{},"content":{"51":{"position":[[609,5]]},"352":{"position":[[114,5]]},"568":{"position":[[20,4]]},"588":{"position":[[23,4]]},"607":{"position":[[584,4]]}},"keywords":{}}],["lm",{"_index":2863,"title":{},"content":{"302":{"position":[[329,2],[425,2],[512,2],[662,2],[746,2]]}},"keywords":{}}],["ln",{"_index":3165,"title":{},"content":{"324":{"position":[[1917,2]]}},"keywords":{}}],["load",{"_index":72,"title":{"488":{"position":[[49,6]]}},"content":{"2":{"position":[[704,4]]},"44":{"position":[[1604,5]]},"107":{"position":[[73,4]]},"177":{"position":[[183,6]]},"187":{"position":[[17,4],[69,4]]},"235":{"position":[[876,5]]},"240":{"position":[[1478,4]]},"290":{"position":[[799,4],[876,5]]},"291":{"position":[[409,5]]},"298":{"position":[[795,4]]},"302":{"position":[[780,7],[807,4]]},"307":{"position":[[1122,7],[1149,4]]},"308":{"position":[[736,7]]},"356":{"position":[[692,4],[747,4]]},"476":{"position":[[1834,4],[3675,6],[3730,4],[4487,7]]},"488":{"position":[[1217,6],[1233,4],[1358,5],[1382,4],[1614,4],[1685,4]]},"538":{"position":[[159,4]]},"552":{"position":[[310,4]]},"563":{"position":[[248,4]]},"577":{"position":[[1079,4]]},"589":{"position":[[247,4]]},"598":{"position":[[266,4]]},"607":{"position":[[163,5]]},"737":{"position":[[313,6]]},"754":{"position":[[1066,4]]},"770":{"position":[[39,4],[111,4]]},"773":{"position":[[1,4]]}},"keywords":{}}],["load_config",{"_index":5583,"title":{"773":{"position":[[0,12]]}},"content":{"773":{"position":[[175,11]]}},"keywords":{}}],["load_config(<tool",{"_index":5584,"title":{},"content":{"773":{"position":[[239,20]]}},"keywords":{}}],["load_config('telemetry_graph",{"_index":5586,"title":{},"content":{"773":{"position":[[427,32]]}},"keywords":{}}],["load_util",{"_index":4186,"title":{"737":{"position":[[0,13]]}},"content":{"476":{"position":[[1913,12],[3698,15],[3952,14]]},"485":{"position":[[500,13]]},"488":{"position":[[437,12],[1926,12]]},"621":{"position":[[3408,12]]}},"keywords":{}}],["load_utility("target/lib/<util",{"_index":5418,"title":{},"content":{"737":{"position":[[397,41]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.py"",{"_index":5424,"title":{},"content":{"737":{"position":[[733,52]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.rb"",{"_index":5423,"title":{},"content":{"737":{"position":[[673,52]]}},"keywords":{}}],["load_utility('target/lib/helper_utility.rb",{"_index":4202,"title":{},"content":{"476":{"position":[[2827,44]]}},"keywords":{}}],["load_utility('target/lib/my_other_script.rb",{"_index":4276,"title":{},"content":{"485":{"position":[[523,45]]}},"keywords":{}}],["load_utility('target/procedures/my_other_script.pi",{"_index":4277,"title":{},"content":{"485":{"position":[[579,52]]}},"keywords":{}}],["loadsim",{"_index":3454,"title":{},"content":{"355":{"position":[[1087,7]]},"357":{"position":[[2056,7],[2362,7],[3510,7]]}},"keywords":{}}],["local",{"_index":248,"title":{"330":{"position":[[0,5]]},"331":{"position":[[6,5]]},"333":{"position":[[10,5]]}},"content":{"7":{"position":[[251,7],[1072,7]]},"20":{"position":[[529,8]]},"44":{"position":[[1499,5]]},"51":{"position":[[361,5]]},"83":{"position":[[746,5]]},"84":{"position":[[161,5],[375,6],[955,5],[1099,5]]},"85":{"position":[[622,5],[1041,5]]},"121":{"position":[[603,5]]},"240":{"position":[[641,5]]},"291":{"position":[[999,5]]},"292":{"position":[[9,7]]},"301":{"position":[[1750,5]]},"322":{"position":[[494,5]]},"324":{"position":[[942,5]]},"331":{"position":[[559,5]]},"332":{"position":[[132,5],[441,5],[555,5],[641,5]]},"333":{"position":[[24,5]]},"334":{"position":[[326,5],[1273,5],[1340,5]]},"347":{"position":[[2058,6]]},"352":{"position":[[156,7]]},"476":{"position":[[4216,5]]},"501":{"position":[[937,9],[1113,9]]},"516":{"position":[[198,5]]},"613":{"position":[[115,5],[196,5]]},"746":{"position":[[41,5]]},"774":{"position":[[277,5]]},"775":{"position":[[283,5]]}},"keywords":{}}],["local_mod",{"_index":5593,"title":{},"content":{"774":{"position":[[122,11],[229,10]]},"775":{"position":[[126,11],[233,10]]}},"keywords":{}}],["local_screen",{"_index":5449,"title":{"746":{"position":[[0,13]]}},"content":{"746":{"position":[[5,12]]}},"keywords":{}}],["local_screen("<screen",{"_index":5450,"title":{},"content":{"746":{"position":[[243,29]]}},"keywords":{}}],["local_screen("testing"",{"_index":5453,"title":{},"content":{"746":{"position":[[1121,33],[1421,33]]}},"keywords":{}}],["localhost",{"_index":1621,"title":{},"content":{"83":{"position":[[2061,9]]},"338":{"position":[[1030,9]]}},"keywords":{}}],["localhost:2900",{"_index":1650,"title":{},"content":{"83":{"position":[[3070,14]]},"84":{"position":[[632,14]]}},"keywords":{}}],["localstorage.openc3token",{"_index":2272,"title":{},"content":{"227":{"position":[[2683,25],[3686,25]]}},"keywords":{}}],["localstorage.setitem("devtools"",{"_index":1664,"title":{},"content":{"84":{"position":[[696,42]]}},"keywords":{}}],["locat",{"_index":743,"title":{},"content":{"36":{"position":[[4113,7]]},"54":{"position":[[397,8]]},"61":{"position":[[58,8],[802,9]]},"85":{"position":[[250,10]]},"202":{"position":[[4113,7]]},"267":{"position":[[3062,7]]},"320":{"position":[[379,8]]},"324":{"position":[[891,9],[1208,8]]},"329":{"position":[[900,8]]},"466":{"position":[[23,7]]},"608":{"position":[[431,8]]},"618":{"position":[[339,8]]},"746":{"position":[[687,8]]}},"keywords":{}}],["lock",{"_index":1070,"title":{},"content":{"44":{"position":[[1610,4],[1976,5],[2495,4]]},"359":{"position":[[1831,6]]}},"keywords":{}}],["log",{"_index":60,"title":{"96":{"position":[[0,3]]},"97":{"position":[[7,3]]},"342":{"position":[[0,7]]},"544":{"position":[[0,3]]},"579":{"position":[[7,4]]}},"content":{"2":{"position":[[540,4],[563,4]]},"44":{"position":[[3753,4]]},"63":{"position":[[120,8]]},"67":{"position":[[379,3]]},"97":{"position":[[8,4]]},"98":{"position":[[17,3]]},"99":{"position":[[8,3],[190,3],[1462,3],[1654,3],[3188,3],[4094,3],[4153,3],[4381,3]]},"108":{"position":[[201,3]]},"133":{"position":[[16,3],[270,4],[409,3],[543,3],[618,4],[663,3],[708,3],[920,3]]},"146":{"position":[[55,6]]},"147":{"position":[[16,4]]},"148":{"position":[[16,4],[51,3]]},"149":{"position":[[30,4],[121,4]]},"150":{"position":[[23,4]]},"151":{"position":[[23,4],[58,3]]},"152":{"position":[[32,4],[125,4]]},"153":{"position":[[64,6]]},"154":{"position":[[18,4]]},"155":{"position":[[18,4],[53,3]]},"156":{"position":[[32,4],[125,4]]},"157":{"position":[[25,4]]},"158":{"position":[[25,4],[60,3]]},"159":{"position":[[34,4],[129,4]]},"160":{"position":[[43,4],[147,4]]},"161":{"position":[[41,4],[143,4]]},"162":{"position":[[40,4],[141,4]]},"163":{"position":[[40,4],[141,4]]},"164":{"position":[[40,4],[141,4]]},"198":{"position":[[1097,3],[1194,3]]},"212":{"position":[[72,7]]},"227":{"position":[[301,6]]},"231":{"position":[[871,3]]},"250":{"position":[[153,3]]},"297":{"position":[[1078,3],[1119,6],[1165,3]]},"298":{"position":[[631,4],[654,4],[1615,6]]},"299":{"position":[[380,3],[424,3],[717,6],[1000,4],[1087,6],[1169,3],[1258,4]]},"300":{"position":[[657,6],[763,6]]},"301":{"position":[[1782,4]]},"302":{"position":[[468,3],[503,3]]},"304":{"position":[[269,6],[2740,3],[2814,7],[2848,3],[2985,7],[3019,3],[3104,7],[3138,3],[3274,7],[3308,3],[3494,7]]},"307":{"position":[[78,3],[419,6],[481,6]]},"308":{"position":[[26,6]]},"309":{"position":[[160,3],[375,6]]},"343":{"position":[[390,3],[459,7],[498,3],[644,7]]},"344":{"position":[[130,3],[241,4],[321,3],[398,3]]},"345":{"position":[[34,4],[340,3],[393,4]]},"351":{"position":[[369,4]]},"356":{"position":[[152,7]]},"364":{"position":[[445,3],[506,7],[608,4]]},"490":{"position":[[802,6],[838,4],[952,6],[987,5]]},"497":{"position":[[299,4],[524,3],[823,3]]},"517":{"position":[[59,5],[290,4],[319,4],[385,7],[415,4]]},"536":{"position":[[417,3]]},"538":{"position":[[300,3]]},"544":{"position":[[5,3],[180,7]]},"575":{"position":[[344,6]]},"579":{"position":[[5,3]]},"606":{"position":[[557,4]]},"613":{"position":[[88,3],[165,3]]},"617":{"position":[[1228,3]]},"623":{"position":[[626,7]]},"624":{"position":[[592,7]]},"636":{"position":[[1255,7]]},"637":{"position":[[1477,7]]},"638":{"position":[[1498,7]]},"639":{"position":[[1531,7]]},"640":{"position":[[1331,7]]},"641":{"position":[[1548,7]]},"642":{"position":[[1569,7]]},"643":{"position":[[1602,7]]},"656":{"position":[[789,4]]},"681":{"position":[[1446,3]]},"682":{"position":[[1213,3]]},"683":{"position":[[879,3]]},"684":{"position":[[760,3]]},"688":{"position":[[732,3]]},"713":{"position":[[8,7],[279,8],[356,7],[373,7]]},"714":{"position":[[7,7],[276,8],[353,7],[369,7]]},"725":{"position":[[8,7],[264,8],[338,7],[355,7]]},"726":{"position":[[7,7],[261,8],[335,7],[351,7]]},"759":{"position":[[62,6]]}},"keywords":{}}],["log_messag",{"_index":4821,"title":{},"content":{"636":{"position":[[1207,11],[1687,12]]},"637":{"position":[[1429,11]]},"638":{"position":[[1450,11]]},"639":{"position":[[1483,11]]},"640":{"position":[[1283,11]]},"641":{"position":[[1500,11]]},"642":{"position":[[1521,11]]},"643":{"position":[[1554,11]]}},"keywords":{}}],["log_message=fals",{"_index":4824,"title":{},"content":{"636":{"position":[[1937,18]]}},"keywords":{}}],["log_nam",{"_index":3382,"title":{},"content":{"350":{"position":[[463,9],[793,9],[1115,9]]}},"keywords":{}}],["log_raw",{"_index":1961,"title":{"132":{"position":[[0,8]]}},"content":{},"keywords":{}}],["log_retain_tim",{"_index":2035,"title":{"163":{"position":[[0,16]]}},"content":{},"keywords":{}}],["log_stream",{"_index":1962,"title":{"133":{"position":[[0,11]]}},"content":{"132":{"position":[[17,10]]},"133":{"position":[[83,10],[936,10]]}},"keywords":{}}],["logged.everi",{"_index":2847,"title":{},"content":{"298":{"position":[[1400,12]]}},"keywords":{}}],["logic",{"_index":195,"title":{},"content":{"6":{"position":[[96,5]]},"69":{"position":[[1604,5]]},"72":{"position":[[160,6],[199,5]]},"73":{"position":[[341,5]]},"74":{"position":[[356,5]]},"108":{"position":[[635,6]]},"231":{"position":[[915,5]]},"243":{"position":[[218,7]]},"364":{"position":[[1406,5],[1595,5]]},"433":{"position":[[91,5]]},"449":{"position":[[405,7]]},"492":{"position":[[733,5]]},"511":{"position":[[114,7]]},"513":{"position":[[14,7],[573,6]]},"585":{"position":[[209,5],[563,5]]},"586":{"position":[[224,5],[512,5]]},"669":{"position":[[339,7]]}},"keywords":{}}],["login",{"_index":1833,"title":{},"content":{"103":{"position":[[75,5]]}},"keywords":{}}],["logsrequest",{"_index":1077,"title":{},"content":{"44":{"position":[[1735,11]]}},"keywords":{}}],["logstash_dateformat",{"_index":3376,"title":{},"content":{"350":{"position":[[386,19],[716,19],[1038,19]]}},"keywords":{}}],["logstash_format",{"_index":3374,"title":{},"content":{"350":{"position":[[342,15],[672,15],[993,15]]}},"keywords":{}}],["logstash_prefix",{"_index":3375,"title":{},"content":{"350":{"position":[[363,15],[693,15],[1014,15]]}},"keywords":{}}],["long",{"_index":822,"title":{},"content":{"36":{"position":[[9028,4]]},"83":{"position":[[786,4]]},"123":{"position":[[308,4]]},"149":{"position":[[5,4]]},"152":{"position":[[5,4]]},"156":{"position":[[5,4]]},"159":{"position":[[5,4]]},"160":{"position":[[5,4]]},"161":{"position":[[5,4]]},"162":{"position":[[5,4]]},"163":{"position":[[5,4]]},"164":{"position":[[5,4]]},"202":{"position":[[9028,4]]},"250":{"position":[[143,4]]},"267":{"position":[[7151,4]]},"322":{"position":[[1398,4]]},"344":{"position":[[344,4]]},"359":{"position":[[405,4]]},"465":{"position":[[26,4]]},"476":{"position":[[184,4],[238,4],[3858,4]]},"486":{"position":[[289,4]]},"488":{"position":[[1022,4]]},"504":{"position":[[158,4]]}},"keywords":{}}],["longer",{"_index":792,"title":{},"content":{"36":{"position":[[6552,6],[7348,6]]},"202":{"position":[[6552,6],[7348,6]]},"267":{"position":[[5091,6],[5949,6]]},"459":{"position":[[1280,6],[1397,6]]},"465":{"position":[[251,6]]},"482":{"position":[[420,6]]},"504":{"position":[[460,6]]},"601":{"position":[[452,6]]}},"keywords":{}}],["look",{"_index":96,"title":{},"content":{"3":{"position":[[171,4]]},"6":{"position":[[792,4]]},"32":{"position":[[140,6]]},"43":{"position":[[4689,5]]},"61":{"position":[[2842,4]]},"85":{"position":[[311,4],[745,4]]},"227":{"position":[[1206,5]]},"249":{"position":[[180,4]]},"254":{"position":[[2844,4]]},"262":{"position":[[315,4]]},"310":{"position":[[555,4],[651,4]]},"327":{"position":[[105,4],[271,4],[329,4],[411,5]]},"328":{"position":[[745,5],[1368,5],[1516,4]]},"337":{"position":[[215,7]]},"429":{"position":[[859,5]]},"480":{"position":[[1017,4]]},"481":{"position":[[417,4]]}},"keywords":{}}],["lookup",{"_index":1841,"title":{},"content":{"103":{"position":[[344,7]]},"528":{"position":[[745,6]]}},"keywords":{}}],["loop",{"_index":1118,"title":{"483":{"position":[[0,7],[20,6]]}},"content":{"44":{"position":[[3265,4]]},"304":{"position":[[6271,7],[6318,4],[6414,7],[6479,4],[6600,4],[6694,7],[6722,8]]},"476":{"position":[[905,4],[3907,7]]},"483":{"position":[[1,5],[327,5],[383,4],[463,4],[482,4],[569,4],[875,4],[933,4],[962,5]]},"488":{"position":[[995,5],[2169,5]]},"492":{"position":[[122,5]]},"500":{"position":[[700,7],[790,7],[818,7],[838,5]]},"612":{"position":[[1236,5],[1243,4],[1361,7],[1465,4],[1491,4],[1538,4]]},"752":{"position":[[132,5]]}},"keywords":{}}],["loop_test",{"_index":2937,"title":{},"content":{"304":{"position":[[6665,13]]}},"keywords":{}}],["loosen",{"_index":4402,"title":{},"content":{"504":{"position":[[687,6]]}},"keywords":{}}],["looser",{"_index":2666,"title":{},"content":{"267":{"position":[[8335,6]]}},"keywords":{}}],["lose",{"_index":3616,"title":{},"content":{"359":{"position":[[1203,4]]},"601":{"position":[[958,6]]}},"keywords":{}}],["loss",{"_index":4077,"title":{},"content":{"459":{"position":[[1920,5]]},"464":{"position":[[176,5]]}},"keywords":{}}],["lost",{"_index":1955,"title":{},"content":{"129":{"position":[[72,4]]},"130":{"position":[[132,5]]}},"keywords":{}}],["lot",{"_index":623,"title":{},"content":{"31":{"position":[[488,3]]},"69":{"position":[[354,3]]},"476":{"position":[[1022,3]]},"556":{"position":[[295,3],[548,3]]}},"keywords":{}}],["low",{"_index":1264,"title":{},"content":{"53":{"position":[[13,3]]},"133":{"position":[[195,3]]},"267":{"position":[[8916,3],[8991,3],[9034,3],[9129,3],[9149,3],[9472,3],[9500,3],[9887,3],[10174,3]]},"343":{"position":[[576,3]]},"347":{"position":[[25,3]]},"410":{"position":[[202,3],[326,3]]},"417":{"position":[[171,3],[295,3]]},"423":{"position":[[181,3],[305,3]]},"483":{"position":[[284,3]]},"700":{"position":[[395,3],[720,3],[728,3],[822,3],[833,3],[914,3],[1188,3],[1241,3],[1391,3]]}},"keywords":{}}],["low>",{"_index":5190,"title":{},"content":{"700":{"position":[[317,8],[337,8]]}},"keywords":{}}],["lower",{"_index":802,"title":{},"content":{"36":{"position":[[6986,5],[7109,5]]},"69":{"position":[[4545,5]]},"198":{"position":[[769,5]]},"202":{"position":[[6986,5],[7109,5]]},"259":{"position":[[796,5]]},"267":{"position":[[5587,5],[5710,5]]}},"keywords":{}}],["lowercas",{"_index":2407,"title":{},"content":{"235":{"position":[[1079,10]]},"367":{"position":[[370,10]]},"476":{"position":[[1434,9],[1614,9]]}},"keywords":{}}],["ls",{"_index":1576,"title":{},"content":{"83":{"position":[[928,2]]},"319":{"position":[[61,3]]},"322":{"position":[[420,2]]}},"keywords":{}}],["lt",{"_index":201,"title":{},"content":{"6":{"position":[[175,5],[210,6],[330,5],[413,6],[442,5],[746,6]]},"7":{"position":[[208,6],[712,6]]},"20":{"position":[[727,5]]},"36":{"position":[[5577,4],[7531,4],[7631,4]]},"75":{"position":[[668,5],[1016,5]]},"93":{"position":[[1930,4],[2467,4]]},"94":{"position":[[1351,4],[1701,4]]},"202":{"position":[[5577,4],[7531,4],[7631,4]]},"224":{"position":[[688,4]]},"226":{"position":[[2381,5],[2475,6],[2496,5]]},"230":{"position":[[2575,6],[2614,6],[2730,6]]},"253":{"position":[[6740,6],[6779,6],[6914,6],[7373,6]]},"267":{"position":[[4057,4],[6131,4],[6230,4]]},"289":{"position":[[740,4]]},"320":{"position":[[874,6],[1027,6],[1077,6],[1093,6],[1114,6],[1166,6]]},"328":{"position":[[163,5],[1629,6],[1695,6]]},"338":{"position":[[1194,6],[1223,6],[1251,6],[1274,6],[1294,6],[1317,6],[1344,6],[1390,6],[1433,6],[1503,6],[1528,6],[1607,6]]},"425":{"position":[[535,4],[582,4],[624,4]]},"495":{"position":[[609,4],[906,4]]},"497":{"position":[[326,4]]},"501":{"position":[[811,4],[1089,4]]},"508":{"position":[[585,4]]},"585":{"position":[[752,4]]},"586":{"position":[[714,4]]},"610":{"position":[[406,4]]},"611":{"position":[[145,4]]},"754":{"position":[[1115,4],[1202,4],[1372,4]]}},"keywords":{}}],["lt;<",{"_index":1097,"title":{},"content":{"44":{"position":[[2648,8]]}},"keywords":{}}],["lt;/match>",{"_index":3386,"title":{},"content":{"350":{"position":[[548,14],[878,14],[1200,14]]}},"keywords":{}}],["lt;/script>",{"_index":3216,"title":{},"content":{"328":{"position":[[400,15]]}},"keywords":{}}],["lt;/source>",{"_index":3368,"title":{},"content":{"350":{"position":[[222,15]]}},"keywords":{}}],["lt;/store>",{"_index":3385,"title":{},"content":{"350":{"position":[[491,14],[533,14],[821,14],[863,14],[1143,14],[1185,14]]}},"keywords":{}}],["lt;/style>",{"_index":3219,"title":{},"content":{"328":{"position":[[465,14]]}},"keywords":{}}],["lt;/template>",{"_index":3210,"title":{},"content":{"328":{"position":[[200,17]]}},"keywords":{}}],["lt;blank_or_default>",{"_index":4733,"title":{},"content":{"623":{"position":[[276,25]]},"624":{"position":[[242,25]]}},"keywords":{}}],["lt;command",{"_index":4814,"title":{},"content":{"636":{"position":[[73,11],[438,11]]},"637":{"position":[[250,11],[645,11]]},"638":{"position":[[259,11],[662,11]]},"639":{"position":[[319,11],[704,11]]},"640":{"position":[[105,11],[494,11]]},"641":{"position":[[277,11],[696,11]]},"642":{"position":[[286,11],[713,11]]},"643":{"position":[[346,11],[755,11]]},"649":{"position":[[107,11]]},"651":{"position":[[194,11]]},"654":{"position":[[126,11]]}},"keywords":{}}],["lt;comparison",{"_index":4973,"title":{},"content":{"656":{"position":[[420,14]]}},"keywords":{}}],["lt;comparison>"",{"_index":5121,"title":{},"content":{"681":{"position":[[734,25]]},"685":{"position":[[356,25]]}},"keywords":{}}],["lt;configur",{"_index":5585,"title":{},"content":{"773":{"position":[[270,17]]},"774":{"position":[[94,17]]},"775":{"position":[[98,17]]}},"keywords":{}}],["lt;data>",{"_index":4880,"title":{},"content":{"645":{"position":[[90,13]]}},"keywords":{}}],["lt;dotfiles>",{"_index":2413,"title":{},"content":{"235":{"position":[[1556,16]]}},"keywords":{}}],["lt;enabl",{"_index":5196,"title":{},"content":{"700":{"position":[[509,11]]}},"keywords":{}}],["lt;expect",{"_index":4981,"title":{},"content":{"657":{"position":[[356,12]]},"682":{"position":[[449,12]]},"686":{"position":[[355,12]]}},"keywords":{}}],["lt;green",{"_index":5193,"title":{},"content":{"700":{"position":[[385,9],[415,9]]}},"keywords":{}}],["lt;i",{"_index":5428,"title":{},"content":{"739":{"position":[[189,5]]},"746":{"position":[[351,5]]}},"keywords":{}}],["lt;interfac",{"_index":5289,"title":{},"content":{"711":{"position":[[135,13]]}},"keywords":{}}],["lt;item",{"_index":4972,"title":{},"content":{"656":{"position":[[402,8]]},"657":{"position":[[331,8]]},"660":{"position":[[121,8]]},"667":{"position":[[102,8]]},"681":{"position":[[716,8]]},"682":{"position":[[424,8]]},"685":{"position":[[338,8]]},"686":{"position":[[330,8]]},"690":{"position":[[186,8],[290,8]]},"691":{"position":[[145,8]]},"692":{"position":[[147,8]]},"699":{"position":[[148,8]]},"700":{"position":[[290,8]]}},"keywords":{}}],["lt;item>",{"_index":5068,"title":{},"content":{"669":{"position":[[433,12]]},"671":{"position":[[300,12]]}},"keywords":{}}],["lt;item>"",{"_index":5082,"title":{},"content":{"672":{"position":[[152,19]]}},"keywords":{}}],["lt;item_hash>",{"_index":5074,"title":{},"content":{"670":{"position":[[176,18]]}},"keywords":{}}],["lt;limit",{"_index":5194,"title":{},"content":{"700":{"position":[[446,10]]}},"keywords":{}}],["lt;match",{"_index":3369,"title":{},"content":{"350":{"position":[[238,9],[563,9],[893,9]]}},"keywords":{}}],["lt;method>",{"_index":5485,"title":{},"content":{"754":{"position":[[654,15]]}},"keywords":{}}],["lt;mode>__<cmd",{"_index":2277,"title":{},"content":{"227":{"position":[[2861,21],[3870,21]]}},"keywords":{}}],["lt;name>",{"_index":2318,"title":{},"content":{"229":{"position":[[150,13],[237,12]]},"230":{"position":[[239,12]]},"231":{"position":[[263,12]]},"232":{"position":[[295,12]]},"233":{"position":[[320,12]]}},"keywords":{}}],["lt;num",{"_index":5139,"title":{},"content":{"684":{"position":[[398,7]]},"688":{"position":[[284,7]]}},"keywords":{}}],["lt;output_dir>",{"_index":4023,"title":{},"content":{"452":{"position":[[256,18]]},"453":{"position":[[252,18]]}},"keywords":{}}],["lt;packet",{"_index":4907,"title":{},"content":{"648":{"position":[[124,10]]},"650":{"position":[[169,10]]},"656":{"position":[[382,10]]},"657":{"position":[[311,10]]},"660":{"position":[[101,10]]},"661":{"position":[[152,10]]},"662":{"position":[[267,10]]},"666":{"position":[[82,10]]},"667":{"position":[[82,10]]},"668":{"position":[[139,10]]},"681":{"position":[[696,10]]},"682":{"position":[[404,10]]},"685":{"position":[[318,10]]},"686":{"position":[[310,10]]},"690":{"position":[[166,10],[270,10]]},"691":{"position":[[125,10]]},"692":{"position":[[127,10]]},"699":{"position":[[127,10]]},"700":{"position":[[269,10]]}},"keywords":{}}],["lt;packet>",{"_index":5067,"title":{},"content":{"669":{"position":[[418,14]]},"671":{"position":[[285,14]]},"672":{"position":[[137,14]]}},"keywords":{}}],["lt;packet>"",{"_index":5105,"title":{},"content":{"677":{"position":[[103,21]]},"679":{"position":[[124,21]]}},"keywords":{}}],["lt;param",{"_index":4815,"title":{},"content":{"636":{"position":[[99,9],[121,9],[145,9],[167,9],[305,9],[361,9],[464,9],[486,9],[510,9],[532,9],[666,9],[717,9]]},"637":{"position":[[276,9],[298,9],[322,9],[344,9],[497,9],[553,9],[671,9],[693,9],[717,9],[739,9],[888,9],[939,9]]},"638":{"position":[[285,9],[307,9],[331,9],[353,9],[510,9],[566,9],[688,9],[710,9],[734,9],[756,9],[909,9],[960,9]]},"639":{"position":[[345,9],[367,9],[391,9],[413,9],[561,9],[617,9],[730,9],[752,9],[776,9],[798,9],[942,9],[993,9]]},"640":{"position":[[131,9],[153,9],[177,9],[199,9],[349,9],[413,9],[520,9],[542,9],[566,9],[588,9],[734,9],[793,9]]},"641":{"position":[[303,9],[325,9],[349,9],[371,9],[536,9],[600,9],[722,9],[744,9],[768,9],[790,9],[951,9],[1010,9]]},"642":{"position":[[312,9],[334,9],[358,9],[380,9],[549,9],[613,9],[739,9],[761,9],[785,9],[807,9],[972,9],[1031,9]]},"643":{"position":[[372,9],[394,9],[418,9],[440,9],[600,9],[664,9],[781,9],[803,9],[827,9],[849,9],[1005,9],[1064,9]]}},"keywords":{}}],["lt;paramet",{"_index":4915,"title":{},"content":{"649":{"position":[[128,13]]}},"keywords":{}}],["lt;password>",{"_index":4734,"title":{},"content":{"623":{"position":[[302,17]]},"624":{"position":[[268,17]]}},"keywords":{}}],["lt;persist",{"_index":5195,"title":{},"content":{"700":{"position":[[477,15]]}},"keywords":{}}],["lt;plugin.gem>",{"_index":4024,"title":{},"content":{"453":{"position":[[224,18]]}},"keywords":{}}],["lt;poll",{"_index":5123,"title":{},"content":{"681":{"position":[[777,11]]},"682":{"position":[[509,11]]},"683":{"position":[[513,11]]},"684":{"position":[[436,11]]},"685":{"position":[[399,11]]},"686":{"position":[[415,11]]},"687":{"position":[[448,11]]},"688":{"position":[[322,11]]}},"keywords":{}}],["lt;red",{"_index":5189,"title":{},"content":{"700":{"position":[[309,7],[367,7]]}},"keywords":{}}],["lt;router",{"_index":5348,"title":{},"content":{"720":{"position":[[99,10]]}},"keywords":{}}],["lt;script>",{"_index":3211,"title":{},"content":{"328":{"position":[[218,14]]}},"keywords":{}}],["lt;set",{"_index":5554,"title":{},"content":{"768":{"position":[[209,11]]},"769":{"position":[[213,11]]}},"keywords":{}}],["lt;source>",{"_index":3366,"title":{},"content":{"350":{"position":[[169,14]]}},"keywords":{}}],["lt;stash",{"_index":5397,"title":{},"content":{"730":{"position":[[85,9]]}},"keywords":{}}],["lt;store>",{"_index":3371,"title":{},"content":{"350":{"position":[[272,13],[506,13],[602,13],[836,13],[923,13],[1158,13]]}},"keywords":{}}],["lt;style",{"_index":3217,"title":{},"content":{"328":{"position":[[416,9]]}},"keywords":{}}],["lt;superdatawidget>",{"_index":2391,"title":{},"content":{"234":{"position":[[329,23]]}},"keywords":{}}],["lt;target>",{"_index":2372,"title":{},"content":{"232":{"position":[[280,14]]},"233":{"position":[[305,14]]}},"keywords":{}}],["lt;template>",{"_index":3209,"title":{},"content":{"328":{"position":[[146,16]]}},"keywords":{}}],["lt;timeout>",{"_index":5122,"title":{},"content":{"681":{"position":[[760,16]]},"682":{"position":[[492,16]]},"683":{"position":[[496,16]]},"684":{"position":[[419,16]]},"685":{"position":[[382,16]]},"686":{"position":[[398,16]]},"687":{"position":[[431,16]]},"688":{"position":[[305,16]]}},"keywords":{}}],["lt;token/password>",{"_index":1700,"title":{},"content":{"87":{"position":[[249,22]]}},"keywords":{}}],["lt;tolerance>",{"_index":4982,"title":{},"content":{"657":{"position":[[380,18]]},"682":{"position":[[473,18]]},"686":{"position":[[379,18]]}},"keywords":{}}],["lt;type>",{"_index":5019,"title":{},"content":{"662":{"position":[[294,13],[389,13]]},"669":{"position":[[469,13]]},"670":{"position":[[195,13]]},"671":{"position":[[336,13]]},"672":{"position":[[172,13]]}},"keywords":{}}],["lt;username>",{"_index":2993,"title":{},"content":{"313":{"position":[[240,17]]}},"keywords":{}}],["lt;valu",{"_index":4955,"title":{},"content":{"652":{"position":[[367,9]]}},"keywords":{}}],["lt;value>"",{"_index":5069,"title":{},"content":{"669":{"position":[[448,20]]},"671":{"position":[[315,20]]}},"keywords":{}}],["lt;x",{"_index":5427,"title":{},"content":{"739":{"position":[[158,5]]},"746":{"position":[[320,5]]}},"keywords":{}}],["lt;xtce_filename>",{"_index":4022,"title":{},"content":{"452":{"position":[[225,21]]}},"keywords":{}}],["lt;xxxxxx>",{"_index":2992,"title":{},"content":{"313":{"position":[[180,14]]}},"keywords":{}}],["lt;yellow",{"_index":5191,"title":{},"content":{"700":{"position":[[326,10],[346,10]]}},"keywords":{}}],["ltd",{"_index":430,"title":{},"content":{"20":{"position":[[620,6]]}},"keywords":{}}],["m",{"_index":1854,"title":{},"content":{"105":{"position":[[90,1],[159,1],[230,1]]}},"keywords":{}}],["mac",{"_index":2506,"title":{},"content":{"253":{"position":[[210,3]]},"289":{"position":[[246,4]]},"292":{"position":[[270,3]]},"347":{"position":[[1924,3]]}},"keywords":{}}],["machin",{"_index":1198,"title":{"288":{"position":[[33,9]]}},"content":{"49":{"position":[[256,7]]},"51":{"position":[[158,7],[235,7],[296,7],[367,7],[478,7]]},"287":{"position":[[143,7]]},"289":{"position":[[859,8]]},"297":{"position":[[1044,7]]},"325":{"position":[[61,7],[76,7],[96,7],[191,7]]},"338":{"position":[[1103,8],[2093,7]]},"357":{"position":[[986,8],[2454,7]]}},"keywords":{}}],["maco",{"_index":1572,"title":{"325":{"position":[[0,5]]}},"content":{"83":{"position":[[505,5]]},"289":{"position":[[1394,6]]},"324":{"position":[[3993,5],[4026,6]]},"325":{"position":[[577,5]]}},"keywords":{}}],["made",{"_index":535,"title":{},"content":{"24":{"position":[[234,4]]},"253":{"position":[[3233,4]]},"306":{"position":[[183,4]]},"336":{"position":[[23,4]]},"359":{"position":[[813,5]]},"366":{"position":[[431,4]]},"373":{"position":[[111,4],[174,4],[322,4]]},"383":{"position":[[111,4],[174,4],[322,4]]}},"keywords":{}}],["mail",{"_index":4145,"title":{},"content":{"468":{"position":[[203,8]]}},"keywords":{}}],["main",{"_index":503,"title":{},"content":{"22":{"position":[[518,5]]},"99":{"position":[[2089,4]]},"110":{"position":[[188,4]]},"237":{"position":[[5,4]]},"240":{"position":[[894,4]]},"324":{"position":[[2735,4],[2747,5],[3015,4]]},"485":{"position":[[416,4]]},"528":{"position":[[102,4],[427,4],[575,4]]},"578":{"position":[[5,4]]},"600":{"position":[[295,4]]},"617":{"position":[[169,4]]}},"keywords":{}}],["maintain",{"_index":1157,"title":{},"content":{"46":{"position":[[510,8]]},"71":{"position":[[620,9]]},"299":{"position":[[1146,8]]},"474":{"position":[[279,13]]},"480":{"position":[[213,8]]},"600":{"position":[[594,8]]},"671":{"position":[[103,10]]}},"keywords":{}}],["major",{"_index":2895,"title":{},"content":{"304":{"position":[[1255,5]]}},"keywords":{}}],["make",{"_index":89,"title":{},"content":{"3":{"position":[[92,4],[742,4]]},"24":{"position":[[538,5]]},"43":{"position":[[162,4]]},"46":{"position":[[1208,4]]},"49":{"position":[[375,4],[499,4]]},"57":{"position":[[194,6]]},"63":{"position":[[1875,4]]},"69":{"position":[[3382,5],[3691,5],[4292,5],[4682,5]]},"184":{"position":[[112,4]]},"208":{"position":[[175,4]]},"229":{"position":[[998,4]]},"240":{"position":[[615,4]]},"243":{"position":[[190,4]]},"253":{"position":[[2567,4],[4595,4],[8348,4]]},"254":{"position":[[1805,4]]},"273":{"position":[[174,4]]},"295":{"position":[[100,4]]},"318":{"position":[[556,4],[570,4],[579,4]]},"322":{"position":[[1028,4],[1724,4]]},"324":{"position":[[343,6],[3723,4]]},"331":{"position":[[554,4]]},"337":{"position":[[85,4]]},"341":{"position":[[195,4]]},"347":{"position":[[447,4],[1151,4],[1432,4],[1644,4]]},"362":{"position":[[710,4]]},"364":{"position":[[1449,6]]},"403":{"position":[[777,4]]},"406":{"position":[[362,4]]},"407":{"position":[[508,4]]},"408":{"position":[[382,4]]},"409":{"position":[[385,4]]},"410":{"position":[[659,4]]},"415":{"position":[[351,4]]},"416":{"position":[[354,4]]},"417":{"position":[[628,4]]},"427":{"position":[[590,4]]},"429":{"position":[[461,4]]},"448":{"position":[[214,4]]},"449":{"position":[[729,4]]},"461":{"position":[[487,4]]},"470":{"position":[[7,4]]},"471":{"position":[[135,4]]},"476":{"position":[[224,4],[249,5]]},"478":{"position":[[994,4]]},"483":{"position":[[187,4],[471,6]]},"485":{"position":[[52,5]]},"486":{"position":[[77,5],[266,4]]},"488":{"position":[[2287,4],[2435,4],[2568,4]]},"500":{"position":[[85,4],[127,4]]},"504":{"position":[[723,5]]},"505":{"position":[[467,4]]},"528":{"position":[[592,4],[1012,4]]},"632":{"position":[[379,4]]},"700":{"position":[[796,4],[926,4],[1059,4],[1163,4],[1275,4],[1425,4]]}},"keywords":{}}],["makefil",{"_index":3021,"title":{},"content":{"318":{"position":[[500,8]]}},"keywords":{}}],["malform",{"_index":1312,"title":{},"content":{"57":{"position":[[252,9]]}},"keywords":{}}],["manag",{"_index":612,"title":{"334":{"position":[[14,11]]},"580":{"position":[[6,7]]},"593":{"position":[[14,11]]},"601":{"position":[[13,11]]}},"content":{"31":{"position":[[87,8]]},"36":{"position":[[10548,7]]},"243":{"position":[[122,10],[241,10]]},"311":{"position":[[64,8]]},"331":{"position":[[508,7]]},"334":{"position":[[36,6]]},"351":{"position":[[273,6]]},"363":{"position":[[726,8]]},"528":{"position":[[169,7],[199,7],[304,7]]},"581":{"position":[[7,7]]},"583":{"position":[[247,7]]},"584":{"position":[[7,7],[130,8]]}},"keywords":{}}],["mani",{"_index":545,"title":{},"content":{"24":{"position":[[611,4]]},"44":{"position":[[1257,4]]},"123":{"position":[[253,4]]},"176":{"position":[[231,4]]},"251":{"position":[[261,4]]},"298":{"position":[[833,4]]},"363":{"position":[[449,4],[477,4]]},"476":{"position":[[11,4]]},"479":{"position":[[50,4]]},"482":{"position":[[1462,4]]},"485":{"position":[[35,4]]},"511":{"position":[[193,4]]},"514":{"position":[[968,4]]},"616":{"position":[[122,4]]},"619":{"position":[[76,4]]},"669":{"position":[[334,4]]},"770":{"position":[[1,4]]}},"keywords":{}}],["manifest",{"_index":2778,"title":{},"content":{"289":{"position":[[1135,8]]}},"keywords":{}}],["manipul",{"_index":5259,"title":{},"content":{"708":{"position":[[33,10]]},"719":{"position":[[33,10]]}},"keywords":{}}],["manner",{"_index":2325,"title":{},"content":{"229":{"position":[[544,6]]},"459":{"position":[[477,6],[605,6],[1769,6]]},"470":{"position":[[259,6]]}},"keywords":{}}],["manual",{"_index":1964,"title":{"496":{"position":[[22,6]]}},"content":{"133":{"position":[[249,8]]},"176":{"position":[[436,8]]},"257":{"position":[[1832,9]]},"301":{"position":[[304,6],[1263,6],[1418,8]]},"303":{"position":[[1056,8],[1116,8]]},"304":{"position":[[6808,6],[6870,6]]},"495":{"position":[[53,6]]},"496":{"position":[[284,6],[418,7],[502,6],[599,7],[684,8],[1045,8],[1072,7]]},"513":{"position":[[649,8]]},"540":{"position":[[780,6]]},"555":{"position":[[184,8],[303,8]]},"575":{"position":[[264,8]]},"577":{"position":[[256,8]]},"605":{"position":[[373,8]]},"612":{"position":[[943,7],[993,7],[1149,6]]},"669":{"position":[[272,8]]}},"keywords":{}}],["map",{"_index":1791,"title":{},"content":{"99":{"position":[[518,3],[4325,3],[4345,3],[4673,3],[5153,3],[5190,3],[5204,7]]},"125":{"position":[[1,4],[94,3]]},"126":{"position":[[16,4],[136,3]]},"127":{"position":[[16,4],[139,3]]},"404":{"position":[[1004,3]]},"411":{"position":[[936,3]]},"442":{"position":[[1267,3]]},"444":{"position":[[1192,3]]},"540":{"position":[[52,6]]},"716":{"position":[[1,3],[379,3],[474,3]]}},"keywords":{}}],["map_cmd_target",{"_index":1947,"title":{"126":{"position":[[0,15]]}},"content":{"126":{"position":[[269,14],[465,14]]}},"keywords":{}}],["map_target",{"_index":1945,"title":{"125":{"position":[[0,11]]}},"content":{"125":{"position":[[228,10],[372,10]]},"134":{"position":[[805,10],[1094,10]]},"230":{"position":[[2719,10]]},"253":{"position":[[6903,10],[8141,10]]},"320":{"position":[[1155,10]]},"338":{"position":[[259,12]]}},"keywords":{}}],["map_target_to_interfac",{"_index":5329,"title":{"716":{"position":[[0,24]]}},"content":{},"keywords":{}}],["map_target_to_interface("<target",{"_index":5330,"title":{},"content":{"716":{"position":[[128,40]]}},"keywords":{}}],["map_target_to_interface("inst"",{"_index":5335,"title":{},"content":{"716":{"position":[[647,41],[748,41]]}},"keywords":{}}],["map_tlm_target",{"_index":1950,"title":{"127":{"position":[[0,15]]}},"content":{"127":{"position":[[272,14],[471,14]]}},"keywords":{}}],["margin",{"_index":3751,"title":{"377":{"position":[[0,7]]}},"content":{"377":{"position":[[17,6],[25,6],[321,6]]},"386":{"position":[[295,6]]},"387":{"position":[[263,6],[270,6]]},"388":{"position":[[143,6]]},"389":{"position":[[221,6],[228,6]]},"390":{"position":[[182,6],[189,6]]},"391":{"position":[[243,6],[250,6]]}},"keywords":{}}],["mark",{"_index":653,"title":{},"content":{"35":{"position":[[1060,4],[1591,4]]},"36":{"position":[[1584,5]]},"37":{"position":[[853,4],[1384,4]]},"93":{"position":[[1346,6]]},"201":{"position":[[1089,4],[1620,4]]},"202":{"position":[[1584,5]]},"203":{"position":[[872,4],[1403,4]]},"204":{"position":[[1764,4]]},"205":{"position":[[1600,4]]},"222":{"position":[[17,5]]},"223":{"position":[[17,5]]},"267":{"position":[[1579,5]]},"281":{"position":[[17,5]]},"343":{"position":[[610,4]]},"355":{"position":[[846,4]]},"371":{"position":[[27,6],[230,6],[409,7]]},"528":{"position":[[1495,4]]},"534":{"position":[[562,6]]},"607":{"position":[[331,6]]},"759":{"position":[[24,4]]}},"keywords":{}}],["markdown",{"_index":2340,"title":{},"content":{"229":{"position":[[1397,8]]},"253":{"position":[[892,10]]}},"keywords":{}}],["marker",{"_index":1790,"title":{},"content":{"99":{"position":[[503,6],[4006,6],[4264,6],[4313,6]]}},"keywords":{}}],["market",{"_index":4128,"title":{},"content":{"466":{"position":[[598,9],[696,9],[773,9],[939,9]]}},"keywords":{}}],["master",{"_index":2986,"title":{},"content":{"313":{"position":[[91,6]]}},"keywords":{}}],["match",{"_index":2059,"title":{},"content":{"170":{"position":[[184,5],[212,6]]},"183":{"position":[[190,5],[218,6]]},"193":{"position":[[182,5],[210,6]]},"196":{"position":[[184,5],[212,6]]},"204":{"position":[[226,5],[1244,5]]},"205":{"position":[[226,5],[1080,5]]},"253":{"position":[[288,5],[5741,7],[6186,5]]},"260":{"position":[[70,7],[265,8]]},"267":{"position":[[2673,5]]},"269":{"position":[[155,5]]},"290":{"position":[[855,5]]},"313":{"position":[[205,8]]},"315":{"position":[[223,5]]},"320":{"position":[[1292,5],[1347,5]]},"322":{"position":[[1084,5]]},"338":{"position":[[937,5]]},"370":{"position":[[156,7]]},"404":{"position":[[1101,5]]},"411":{"position":[[1033,5]]},"476":{"position":[[1601,5]]},"627":{"position":[[1137,5]]}},"keywords":{}}],["match).next",{"_index":2549,"title":{},"content":{"253":{"position":[[5799,11]]}},"keywords":{}}],["materi",{"_index":2095,"title":{},"content":{"189":{"position":[[190,8]]},"235":{"position":[[1764,8]]}},"keywords":{}}],["math",{"_index":3708,"title":{},"content":{"364":{"position":[[1611,4]]}},"keywords":{}}],["matlab",{"_index":4478,"title":{},"content":{"550":{"position":[[260,7]]},"553":{"position":[[49,6]]}},"keywords":{}}],["matrix",{"_index":3781,"title":{},"content":{"390":{"position":[[38,6]]}},"keywords":{}}],["matrixbycolumn",{"_index":3780,"title":{"390":{"position":[[0,16]]}},"content":{"390":{"position":[[50,15],[251,15]]}},"keywords":{}}],["matter",{"_index":294,"title":{},"content":{"8":{"position":[[448,7]]},"9":{"position":[[1025,6]]},"230":{"position":[[1015,6]]},"291":{"position":[[1124,6]]},"364":{"position":[[1351,7]]},"593":{"position":[[201,6]]},"601":{"position":[[195,6]]},"607":{"position":[[38,6]]}},"keywords":{}}],["max",{"_index":883,"title":{},"content":{"40":{"position":[[976,3],[1121,3],[1256,3]]},"42":{"position":[[579,3]]},"43":{"position":[[931,3],[1053,3],[1127,3],[6339,3]]},"61":{"position":[[2283,3]]},"64":{"position":[[599,3]]},"99":{"position":[[329,3],[2666,3]]},"201":{"position":[[2061,3]]},"227":{"position":[[3328,4]]},"253":{"position":[[2831,3],[3008,3],[4118,3]]},"254":{"position":[[1429,3],[1608,3]]},"321":{"position":[[378,3]]},"382":{"position":[[101,3]]},"418":{"position":[[505,4],[1232,4]]},"419":{"position":[[539,4],[1285,4]]},"420":{"position":[[523,4],[1257,4]]},"599":{"position":[[1116,3],[1181,3]]}},"keywords":{}}],["max_uint16",{"_index":3069,"title":{},"content":{"321":{"position":[[562,10],[1422,10],[1954,10],[2454,10]]}},"keywords":{}}],["max_uint8",{"_index":3078,"title":{},"content":{"321":{"position":[[806,9],[1686,9],[2191,9],[2691,9]]}},"keywords":{}}],["maximum",{"_index":652,"title":{},"content":{"35":{"position":[[914,7],[928,7]]},"36":{"position":[[2453,7],[2512,7],[10024,7],[10139,7]]},"37":{"position":[[707,7],[721,7]]},"61":{"position":[[2298,7],[2351,7]]},"64":{"position":[[614,7],[667,7]]},"147":{"position":[[91,7]]},"148":{"position":[[113,7]]},"150":{"position":[[98,7]]},"151":{"position":[[120,7]]},"154":{"position":[[93,7]]},"155":{"position":[[115,7]]},"157":{"position":[[100,7]]},"158":{"position":[[122,7]]},"167":{"position":[[1,7]]},"201":{"position":[[943,7],[957,7]]},"202":{"position":[[2453,7],[2512,7],[10024,7],[10139,7]]},"203":{"position":[[726,7],[740,7]]},"204":{"position":[[1113,7],[1127,7]]},"205":{"position":[[949,7],[963,7]]},"253":{"position":[[3664,7],[3872,7],[4101,7],[4564,7]]},"391":{"position":[[175,7]]},"410":{"position":[[351,7]]},"417":{"position":[[320,7]]},"423":{"position":[[330,7]]},"599":{"position":[[1314,7]]},"649":{"position":[[1378,10]]},"676":{"position":[[352,7]]},"703":{"position":[[310,7]]},"750":{"position":[[22,7]]},"751":{"position":[[21,7]]}},"keywords":{}}],["maximum_valu",{"_index":706,"title":{},"content":{"36":{"position":[[2416,14]]},"202":{"position":[[2416,14]]}},"keywords":{}}],["mb",{"_index":3438,"title":{},"content":{"355":{"position":[[238,2],[278,3],[327,2],[383,2],[564,2],[593,2],[630,2]]}},"keywords":{}}],["mdi",{"_index":2417,"title":{},"content":{"235":{"position":[[1858,3]]}},"keywords":{}}],["mean",{"_index":442,"title":{},"content":{"20":{"position":[[853,6]]},"60":{"position":[[1438,5]]},"69":{"position":[[1847,5],[2632,5],[2729,5]]},"75":{"position":[[886,5],[1278,5]]},"240":{"position":[[285,5]]},"253":{"position":[[3162,5],[4046,8],[4248,7],[4414,8],[7985,5]]},"289":{"position":[[1496,5]]},"363":{"position":[[115,5]]},"364":{"position":[[269,5]]},"402":{"position":[[576,5]]},"488":{"position":[[50,5]]},"508":{"position":[[145,9]]},"577":{"position":[[508,5]]},"585":{"position":[[823,5],[899,5]]},"612":{"position":[[539,5]]},"628":{"position":[[479,5]]}},"keywords":{}}],["meant",{"_index":2491,"title":{},"content":{"249":{"position":[[454,5]]},"331":{"position":[[482,5]]},"364":{"position":[[732,5],[1657,5]]}},"keywords":{}}],["measur",{"_index":4052,"title":{},"content":{"459":{"position":[[110,8],[1654,8],[1995,10]]},"464":{"position":[[141,8],[431,8]]}},"keywords":{}}],["mech",{"_index":4511,"title":{},"content":{"577":{"position":[[442,6]]}},"keywords":{}}],["mechan",{"_index":2869,"title":{},"content":{"303":{"position":[[878,9]]},"304":{"position":[[955,10]]},"305":{"position":[[562,9],[742,9]]},"482":{"position":[[1008,10]]},"505":{"position":[[144,10]]}},"keywords":{}}],["meet",{"_index":3576,"title":{},"content":{"357":{"position":[[4052,4]]},"681":{"position":[[104,5]]},"682":{"position":[[89,5]]},"685":{"position":[[117,5]]}},"keywords":{}}],["mem",{"_index":3492,"title":{},"content":{"357":{"position":[[1114,3],[2605,3]]}},"keywords":{}}],["memcosmo",{"_index":3493,"title":{},"content":{"357":{"position":[[1125,9],[2616,9]]}},"keywords":{}}],["memori",{"_index":2487,"title":{"355":{"position":[[0,7]]}},"content":{"249":{"position":[[16,6]]},"261":{"position":[[232,6]]},"289":{"position":[[521,6],[658,7]]},"309":{"position":[[139,6]]},"355":{"position":[[839,6],[1157,6]]},"357":{"position":[[91,7],[1059,6],[1897,6],[1983,6],[2550,6],[3387,6],[3901,6]]},"418":{"position":[[1765,6]]},"419":{"position":[[1818,6]]},"420":{"position":[[1790,6]]},"528":{"position":[[619,6]]}},"keywords":{}}],["memory=16gb",{"_index":2774,"title":{},"content":{"289":{"position":[[875,11]]}},"keywords":{}}],["mention",{"_index":1472,"title":{},"content":{"69":{"position":[[3600,9]]},"304":{"position":[[2051,9]]}},"keywords":{}}],["menu",{"_index":2082,"title":{"531":{"position":[[15,6]]},"532":{"position":[[5,4]]},"537":{"position":[[29,6]]},"538":{"position":[[5,4]]},"551":{"position":[[15,6]]},"552":{"position":[[5,4]]},"553":{"position":[[5,4]]},"562":{"position":[[12,6]]},"563":{"position":[[5,4]]},"569":{"position":[[14,6]]},"570":{"position":[[5,4]]},"571":{"position":[[5,4]]},"576":{"position":[[15,6]]},"577":{"position":[[5,4]]},"582":{"position":[[5,4]]},"589":{"position":[[5,4]]},"597":{"position":[[18,6]]},"598":{"position":[[5,4]]},"599":{"position":[[6,4]]},"604":{"position":[[14,6]]},"605":{"position":[[5,4]]},"606":{"position":[[7,4]]}},"content":{"184":{"position":[[457,4]]},"189":{"position":[[74,5]]},"190":{"position":[[102,5]]},"191":{"position":[[74,5]]},"303":{"position":[[560,6]]},"304":{"position":[[3783,5]]},"305":{"position":[[362,6],[701,5],[869,5],[1550,5]]},"307":{"position":[[448,4]]},"490":{"position":[[297,5]]},"493":{"position":[[172,5]]},"525":{"position":[[394,4]]},"534":{"position":[[226,4]]},"538":{"position":[[42,4]]},"572":{"position":[[105,5]]},"609":{"position":[[145,6]]},"610":{"position":[[311,5],[916,5]]},"611":{"position":[[656,5],[768,6]]},"617":{"position":[[212,4]]}},"keywords":{}}],["merchant",{"_index":3639,"title":{},"content":{"360":{"position":[[830,16]]}},"keywords":{}}],["merg",{"_index":289,"title":{},"content":{"8":{"position":[[274,5]]},"9":{"position":[[295,6],[624,6]]},"449":{"position":[[45,6],[613,7]]}},"keywords":{}}],["messag",{"_index":112,"title":{"544":{"position":[[4,9]]}},"content":{"3":{"position":[[459,8]]},"36":{"position":[[1301,8],[3144,8]]},"63":{"position":[[97,8]]},"69":{"position":[[5036,8]]},"95":{"position":[[110,8]]},"108":{"position":[[205,7],[376,7]]},"202":{"position":[[1301,8],[3144,8]]},"211":{"position":[[161,8]]},"212":{"position":[[43,9]]},"231":{"position":[[877,8]]},"254":{"position":[[2349,7]]},"267":{"position":[[1296,8],[7962,7]]},"291":{"position":[[618,8]]},"297":{"position":[[1157,7],[1197,8]]},"299":{"position":[[1250,7]]},"304":{"position":[[276,8],[2960,7]]},"309":{"position":[[164,7]]},"320":{"position":[[688,9]]},"344":{"position":[[134,8],[325,8],[369,8],[402,8]]},"345":{"position":[[507,8],[555,8],[642,8]]},"466":{"position":[[891,8]]},"490":{"position":[[830,7],[979,7]]},"493":{"position":[[309,7]]},"497":{"position":[[291,7]]},"501":{"position":[[147,7]]},"536":{"position":[[421,8],[445,9]]},"538":{"position":[[304,8],[340,8]]},"544":{"position":[[9,8],[116,8],[391,8]]},"613":{"position":[[92,9],[169,9]]},"617":{"position":[[1232,9]]},"627":{"position":[[71,7],[497,7]]},"632":{"position":[[988,7],[1000,7],[1559,7],[1953,7]]},"634":{"position":[[12,7],[165,7]]}},"keywords":{}}],["message_box",{"_index":4343,"title":{"625":{"position":[[0,12]]}},"content":{"495":{"position":[[1129,13]]},"627":{"position":[[5,12]]}},"keywords":{}}],["message_box("<message>"",{"_index":4741,"title":{},"content":{"627":{"position":[[213,40]]}},"keywords":{}}],["message_box("select",{"_index":4749,"title":{},"content":{"627":{"position":[[607,24],[922,24]]}},"keywords":{}}],["messages.port_tc",{"_index":3127,"title":{},"content":{"322":{"position":[[1229,16]]}},"keywords":{}}],["meta",{"_index":670,"title":{"213":{"position":[[0,5]]},"275":{"position":[[0,5]]}},"content":{"36":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"202":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"213":{"position":[[42,4],[297,4],[350,4],[383,4]]},"267":{"position":[[612,5],[648,4],[903,4],[956,4],[989,4]]},"275":{"position":[[51,4],[306,4],[359,4],[392,4]]}},"keywords":{}}],["metadata",{"_index":672,"title":{"525":{"position":[[0,9]]},"759":{"position":[[0,9]]}},"content":{"36":{"position":[[643,8],[885,8]]},"202":{"position":[[643,8],[885,8]]},"213":{"position":[[8,8],[274,8]]},"267":{"position":[[638,8],[880,8]]},"275":{"position":[[8,8],[283,8]]},"522":{"position":[[21,9]]},"525":{"position":[[1,8],[260,8],[357,8],[472,8],[507,8],[624,8]]},"759":{"position":[[1,8],[106,8]]},"760":{"position":[[17,8],[128,8]]},"761":{"position":[[9,8],[158,8]]},"762":{"position":[[9,8],[187,9],[243,9],[309,8]]},"763":{"position":[[9,8],[191,9],[248,9],[276,9],[326,8]]},"764":{"position":[[34,8]]}},"keywords":{}}],["metadata_al",{"_index":5501,"title":{"760":{"position":[[0,13]]}},"content":{"760":{"position":[[74,14]]}},"keywords":{}}],["metadata_all(limit",{"_index":5502,"title":{},"content":{"760":{"position":[[186,19]]}},"keywords":{}}],["metadata_all(limit='500",{"_index":5504,"title":{},"content":{"760":{"position":[[230,25]]}},"keywords":{}}],["metadata_get",{"_index":5505,"title":{"761":{"position":[[0,13]]}},"content":{},"keywords":{}}],["metadata_get(start",{"_index":5506,"title":{},"content":{"761":{"position":[[66,19],[213,19]]}},"keywords":{}}],["metadata_get(start='500",{"_index":5508,"title":{},"content":{"761":{"position":[[257,25]]}},"keywords":{}}],["metadata_input",{"_index":5517,"title":{"764":{"position":[[0,15]]}},"content":{"764":{"position":[[109,16]]}},"keywords":{}}],["metadata_set",{"_index":5509,"title":{"762":{"position":[[0,13]]}},"content":{"762":{"position":[[371,14],[409,14],[484,14],[517,14]]}},"keywords":{}}],["metadata_set(<metadata>",{"_index":5510,"title":{},"content":{"762":{"position":[[66,30]]}},"keywords":{}}],["metadata_upd",{"_index":5515,"title":{"763":{"position":[[0,16]]}},"content":{"763":{"position":[[388,17],[448,17]]}},"keywords":{}}],["metadata_update(<metadata>",{"_index":5516,"title":{},"content":{"763":{"position":[[66,33]]}},"keywords":{}}],["metadatashow",{"_index":4581,"title":{},"content":{"606":{"position":[[78,12]]}},"keywords":{}}],["meter",{"_index":4175,"title":{},"content":{"476":{"position":[[1376,6]]}},"keywords":{}}],["method",{"_index":240,"title":{"70":{"position":[[0,6]]},"90":{"position":[[10,8]]},"486":{"position":[[22,8]]},"487":{"position":[[26,8]]}},"content":{"7":{"position":[[19,6],[352,6]]},"17":{"position":[[316,7]]},"18":{"position":[[321,7]]},"36":{"position":[[4250,6],[4321,7],[4850,6],[8842,6]]},"53":{"position":[[109,8]]},"69":{"position":[[771,7],[866,6],[929,7],[1657,8],[1696,7],[2018,6],[2108,7],[2353,7],[2499,6],[2871,6],[3041,7],[3138,7],[3234,7],[3247,6],[3417,7],[3549,6],[3971,6],[3997,6],[4349,8],[4441,7],[4471,6],[4716,8],[4793,7],[4852,6],[4961,6]]},"71":{"position":[[891,6]]},"72":{"position":[[11,6],[117,6],[233,8]]},"73":{"position":[[19,6],[311,6]]},"74":{"position":[[22,6],[326,6]]},"75":{"position":[[15,6],[1711,6]]},"76":{"position":[[17,6],[629,6]]},"77":{"position":[[18,6]]},"78":{"position":[[16,6]]},"79":{"position":[[26,6],[114,6],[661,7]]},"80":{"position":[[18,6]]},"81":{"position":[[88,7]]},"90":{"position":[[13,7],[160,7],[246,6],[306,7],[353,7],[579,7]]},"93":{"position":[[15,7],[122,6],[202,6],[286,6],[368,6],[1280,7],[1437,7]]},"94":{"position":[[15,7],[103,6],[180,6],[257,6],[341,6]]},"109":{"position":[[84,6]]},"123":{"position":[[195,7]]},"135":{"position":[[97,7]]},"202":{"position":[[4250,6],[4321,7],[4850,6],[8842,6]]},"224":{"position":[[163,7]]},"230":{"position":[[1624,7],[1756,7]]},"232":{"position":[[753,6]]},"233":{"position":[[800,6]]},"259":{"position":[[1637,6]]},"267":{"position":[[3199,6],[3270,7]]},"283":{"position":[[329,6]]},"303":{"position":[[33,6]]},"304":{"position":[[1947,8],[1968,7],[2909,7],[3073,6],[5379,7],[5545,7]]},"309":{"position":[[83,7]]},"324":{"position":[[165,7]]},"384":{"position":[[60,6],[324,7]]},"429":{"position":[[342,7],[1315,7]]},"457":{"position":[[205,7]]},"464":{"position":[[620,7]]},"476":{"position":[[1408,6],[4222,7],[4324,6],[4925,6]]},"479":{"position":[[120,6]]},"480":{"position":[[528,7],[819,7],[1300,7]]},"482":{"position":[[215,7],[732,9]]},"483":{"position":[[499,7],[529,6]]},"485":{"position":[[40,8],[289,7]]},"486":{"position":[[35,7],[69,7],[194,7],[252,6],[276,6]]},"487":{"position":[[79,7],[152,7],[319,8],[401,6]]},"488":{"position":[[1105,6],[2108,7]]},"490":{"position":[[770,8]]},"495":{"position":[[35,7],[105,7],[1067,7],[1209,7]]},"499":{"position":[[136,7]]},"500":{"position":[[162,6]]},"504":{"position":[[116,6]]},"508":{"position":[[98,7],[358,7]]},"548":{"position":[[523,7]]},"610":{"position":[[30,7],[78,7],[816,7],[836,7],[965,7]]},"611":{"position":[[101,7],[576,7]]},"619":{"position":[[15,7],[171,7]]},"620":{"position":[[19,7],[88,7],[139,6]]},"621":{"position":[[19,7],[151,6]]},"622":{"position":[[7,7]]},"627":{"position":[[54,7]]},"632":{"position":[[44,7],[240,8]]},"633":{"position":[[7,7]]},"635":{"position":[[7,7]]},"655":{"position":[[7,7]]},"658":{"position":[[109,6]]},"659":{"position":[[12,6],[65,6],[300,6],[336,6],[369,6]]},"669":{"position":[[165,6]]},"671":{"position":[[219,7]]},"674":{"position":[[1,7]]},"680":{"position":[[7,7]]},"683":{"position":[[135,6]]},"687":{"position":[[131,6]]},"689":{"position":[[7,7]]},"690":{"position":[[21,6]]},"704":{"position":[[1,7]]},"708":{"position":[[7,7]]},"719":{"position":[[7,7]]},"729":{"position":[[7,7]]},"735":{"position":[[7,7]]},"738":{"position":[[7,7]]},"747":{"position":[[7,7]]},"748":{"position":[[6,6]]},"749":{"position":[[5,6]]},"750":{"position":[[6,6]]},"751":{"position":[[5,6]]},"754":{"position":[[16,7],[52,6],[78,7],[125,7],[189,6],[216,6],[274,6],[304,6],[354,6],[380,6],[430,6],[891,6],[910,6],[994,7]]},"755":{"position":[[7,7]]}},"keywords":{}}],["methodolog",{"_index":2888,"title":{},"content":{"304":{"position":[[598,11]]}},"keywords":{}}],["metric",{"_index":2445,"title":{},"content":{"240":{"position":[[1639,7],[1676,7]]},"350":{"position":[[379,6]]},"352":{"position":[[20,7],[628,7]]},"357":{"position":[[1557,7],[3047,7]]},"543":{"position":[[39,8]]}},"keywords":{}}],["metric>",{"_index":3370,"title":{},"content":{"350":{"position":[[248,12]]}},"keywords":{}}],["metrics_path",{"_index":3419,"title":{},"content":{"352":{"position":[[636,13],[787,13],[935,13],[1074,13]]}},"keywords":{}}],["mib",{"_index":3452,"title":{},"content":{"355":{"position":[[1015,3],[1183,4]]}},"keywords":{}}],["micro",{"_index":2474,"title":{},"content":{"246":{"position":[[192,5]]}},"keywords":{}}],["microsecond",{"_index":2637,"title":{},"content":{"263":{"position":[[1167,12]]}},"keywords":{}}],["microservic",{"_index":33,"title":{"118":{"position":[[0,13]]},"171":{"position":[[0,13]]},"172":{"position":[[0,12]]},"231":{"position":[[0,12]]}},"content":{"2":{"position":[[46,12],[111,13],[373,14]]},"11":{"position":[[67,13],[190,13]]},"112":{"position":[[447,13]]},"118":{"position":[[1,13]]},"137":{"position":[[52,13]]},"138":{"position":[[73,12],[124,12],[200,12],[292,12],[343,12],[419,12]]},"139":{"position":[[34,12]]},"140":{"position":[[51,13],[102,13],[193,13]]},"141":{"position":[[68,12]]},"142":{"position":[[57,12]]},"166":{"position":[[29,12]]},"168":{"position":[[32,12],[349,12]]},"169":{"position":[[181,12]]},"171":{"position":[[15,12],[39,12],[95,13],[257,12],[338,12],[398,12],[454,12]]},"172":{"position":[[38,12]]},"173":{"position":[[37,13],[172,12]]},"174":{"position":[[57,12],[108,12],[184,12],[276,12],[327,12],[403,12],[447,12]]},"175":{"position":[[35,12],[267,12]]},"176":{"position":[[61,13],[91,13],[363,12],[398,12]]},"177":{"position":[[64,13],[98,13],[217,13],[310,12],[345,12]]},"178":{"position":[[36,13],[86,13],[177,13],[212,12],[294,12]]},"179":{"position":[[23,12],[81,13],[246,13]]},"180":{"position":[[52,12]]},"181":{"position":[[47,12],[88,12]]},"182":{"position":[[57,12],[243,12]]},"183":{"position":[[80,12]]},"184":{"position":[[245,14]]},"231":{"position":[[5,12],[69,13],[217,12],[250,12],[340,12],[364,12],[575,13],[671,13],[703,13],[826,12],[987,13],[1189,13],[1204,12],[1239,12]]},"240":{"position":[[952,13]]},"253":{"position":[[1006,13]]},"257":{"position":[[1751,13]]},"298":{"position":[[137,12],[202,13],[464,14]]},"311":{"position":[[466,14],[527,13],[565,12]]},"343":{"position":[[467,12]]},"344":{"position":[[165,13],[215,14]]},"356":{"position":[[106,13]]},"484":{"position":[[236,13]]},"517":{"position":[[366,13]]},"528":{"position":[[48,12],[82,12]]}},"keywords":{}}],["microservices/background/background.rb",{"_index":2366,"title":{},"content":{"231":{"position":[[770,38]]}},"keywords":{}}],["microservices/microservicefoldernam",{"_index":2063,"title":{},"content":{"171":{"position":[[296,36]]}},"keywords":{}}],["middl",{"_index":4316,"title":{},"content":{"488":{"position":[[2041,6]]},"578":{"position":[[900,8]]}},"keywords":{}}],["midnight",{"_index":1816,"title":{},"content":{"99":{"position":[[2836,10],[3270,10]]},"227":{"position":[[4347,9]]}},"keywords":{}}],["midnight)"",{"_index":2725,"title":{},"content":{"285":{"position":[[782,15]]}},"keywords":{}}],["migrat",{"_index":2595,"title":{"257":{"position":[[0,9]]},"620":{"position":[[0,9]]},"621":{"position":[[0,9]]}},"content":{"257":{"position":[[615,9],[1043,9],[1167,7],[1402,7],[1708,9]]}},"keywords":{}}],["million",{"_index":3660,"title":{},"content":{"362":{"position":[[36,8]]}},"keywords":{}}],["millisecond",{"_index":2731,"title":{},"content":{"285":{"position":[[920,11]]},"299":{"position":[[821,11]]},"321":{"position":[[3216,12]]},"676":{"position":[[247,12]]}},"keywords":{}}],["min",{"_index":882,"title":{},"content":{"40":{"position":[[972,3],[1117,3],[1252,3]]},"133":{"position":[[433,4]]},"201":{"position":[[2057,3]]},"227":{"position":[[3323,4]]},"253":{"position":[[2827,3],[3004,3],[4042,3]]},"254":{"position":[[1425,3],[1604,3]]},"315":{"position":[[383,5]]},"321":{"position":[[370,3]]},"328":{"position":[[982,3],[1126,3],[1277,3]]},"355":{"position":[[724,3]]},"418":{"position":[[500,4],[1227,4]]},"419":{"position":[[534,4],[1280,4]]},"420":{"position":[[518,4],[1252,4]]},"599":{"position":[[1106,3],[1171,3]]}},"keywords":{}}],["min_uint16",{"_index":3092,"title":{},"content":{"321":{"position":[[1411,10],[1943,10],[2443,10]]}},"keywords":{}}],["min_uint8",{"_index":3077,"title":{},"content":{"321":{"position":[[796,9],[1676,9],[1696,9],[2181,9],[2201,9],[2681,9],[2701,9]]}},"keywords":{}}],["minicomput",{"_index":3300,"title":{},"content":{"347":{"position":[[53,12]]}},"keywords":{}}],["minim",{"_index":4555,"title":{},"content":{"593":{"position":[[561,9],[723,9]]},"601":{"position":[[863,9]]}},"keywords":{}}],["minimum",{"_index":651,"title":{},"content":{"35":{"position":[[868,7]]},"36":{"position":[[2319,7],[2378,7],[10035,7]]},"37":{"position":[[661,7]]},"60":{"position":[[35,7],[568,7],[792,7]]},"201":{"position":[[897,7]]},"202":{"position":[[2319,7],[2378,7],[10035,7]]},"203":{"position":[[680,7]]},"204":{"position":[[1067,7]]},"205":{"position":[[903,7]]},"253":{"position":[[3642,7],[3850,7],[4025,7],[4553,7]]},"289":{"position":[[327,7]]},"371":{"position":[[276,7]]},"410":{"position":[[212,7]]},"417":{"position":[[181,7]]},"423":{"position":[[191,7]]},"599":{"position":[[1289,7]]},"649":{"position":[[1364,10]]},"681":{"position":[[53,8]]}},"keywords":{}}],["minimum_valu",{"_index":705,"title":{},"content":{"36":{"position":[[2282,14]]},"202":{"position":[[2282,14]]}},"keywords":{}}],["minio",{"_index":57,"title":{"250":{"position":[[0,6]]}},"content":{"2":{"position":[[471,5]]},"23":{"position":[[115,6]]},"83":{"position":[[1440,5],[2937,5]]},"240":{"position":[[830,5],[1316,5]]},"250":{"position":[[1,5]]},"298":{"position":[[562,5]]},"352":{"position":[[1064,5]]},"357":{"position":[[1782,5],[3273,5]]}},"keywords":{}}],["minio/v2/metrics/clust",{"_index":3426,"title":{},"content":{"352":{"position":[[1088,25]]}},"keywords":{}}],["minio:9000",{"_index":3427,"title":{},"content":{"352":{"position":[[1163,12]]}},"keywords":{}}],["minio:latest",{"_index":1640,"title":{},"content":{"83":{"position":[[2849,12]]}},"keywords":{}}],["minu",{"_index":1361,"title":{},"content":{"61":{"position":[[1282,5]]}},"keywords":{}}],["minut",{"_index":950,"title":{},"content":{"43":{"position":[[216,8]]},"133":{"position":[[475,7],[643,6],[757,7],[812,6]]},"160":{"position":[[26,6],[130,6]]},"165":{"position":[[155,8]]},"231":{"position":[[860,6]]},"289":{"position":[[1016,8]]},"343":{"position":[[516,7],[603,6]]},"347":{"position":[[1817,6],[2583,8]]},"420":{"position":[[630,7]]}},"keywords":{}}],["minutes)"",{"_index":1114,"title":{},"content":{"44":{"position":[[3119,14]]}},"keywords":{}}],["mirror",{"_index":2889,"title":{},"content":{"304":{"position":[[652,7]]}},"keywords":{}}],["misinterpret",{"_index":1317,"title":{},"content":{"57":{"position":[[526,14]]}},"keywords":{}}],["miss",{"_index":5094,"title":{},"content":{"674":{"position":[[196,7]]}},"keywords":{}}],["mission",{"_index":1864,"title":{},"content":{"107":{"position":[[33,7]]},"108":{"position":[[611,7]]},"361":{"position":[[528,8]]},"363":{"position":[[907,7],[975,7]]}},"keywords":{}}],["misspel",{"_index":4397,"title":{},"content":{"502":{"position":[[774,10]]}},"keywords":{}}],["mistak",{"_index":4986,"title":{},"content":{"658":{"position":[[434,7]]}},"keywords":{}}],["misus",{"_index":584,"title":{},"content":{"27":{"position":[[631,7]]},"464":{"position":[[182,7]]},"469":{"position":[[792,6]]}},"keywords":{}}],["mit",{"_index":3618,"title":{},"content":{"359":{"position":[[1405,3]]}},"keywords":{}}],["mixin",{"_index":3214,"title":{},"content":{"328":{"position":[[332,7]]},"508":{"position":[[52,7],[331,6],[404,6]]}},"keywords":{}}],["mkdir",{"_index":3189,"title":{},"content":{"324":{"position":[[3098,5]]}},"keywords":{}}],["mnemon",{"_index":166,"title":{"500":{"position":[[19,10]]}},"content":{"5":{"position":[[708,9]]},"199":{"position":[[178,9]]},"264":{"position":[[198,9]]},"304":{"position":[[3989,8]]},"396":{"position":[[75,8]]},"400":{"position":[[120,9]]},"480":{"position":[[425,8],[1253,9]]},"500":{"position":[[31,9]]},"502":{"position":[[759,8]]},"606":{"position":[[157,8]]},"617":{"position":[[1174,10]]},"636":{"position":[[893,9]]},"637":{"position":[[1115,9]]},"638":{"position":[[1136,9]]},"639":{"position":[[1169,9]]},"640":{"position":[[969,9]]},"641":{"position":[[1186,9]]},"642":{"position":[[1207,9]]},"643":{"position":[[1240,9]]}},"keywords":{}}],["mode",{"_index":383,"title":{"330":{"position":[[6,4]]},"331":{"position":[[12,5]]},"333":{"position":[[16,5]]},"492":{"position":[[17,5]]},"532":{"position":[[0,4]]},"553":{"position":[[0,4]]}},"content":{"17":{"position":[[344,4]]},"18":{"position":[[349,4]]},"64":{"position":[[683,4]]},"83":{"position":[[2048,4],[2216,5]]},"95":{"position":[[202,5]]},"188":{"position":[[55,4],[306,4],[324,4]]},"226":{"position":[[867,4]]},"227":{"position":[[2998,4],[3966,4],[4144,5]]},"285":{"position":[[1046,4]]},"303":{"position":[[1446,4],[1620,4],[1787,4]]},"304":{"position":[[4314,4],[4689,4],[4983,4],[5096,4],[5209,4],[5320,4],[5486,4],[5652,4],[5791,4],[5937,4],[6104,4],[6252,4],[6382,4],[6544,4],[6757,4]]},"305":{"position":[[1182,4],[1284,4]]},"332":{"position":[[138,4],[447,4],[561,4]]},"333":{"position":[[30,4]]},"334":{"position":[[1279,4]]},"353":{"position":[[289,4]]},"492":{"position":[[12,4],[139,4],[532,5]]},"540":{"position":[[626,5]]},"669":{"position":[[266,5]]},"756":{"position":[[31,4]]},"757":{"position":[[30,4]]},"758":{"position":[[32,5],[52,5],[209,4]]},"774":{"position":[[283,4]]},"775":{"position":[[289,4]]}},"keywords":{}}],["mode"",{"_index":2235,"title":{},"content":{"226":{"position":[[910,10]]},"285":{"position":[[1079,10]]},"496":{"position":[[735,10],[947,11]]}},"keywords":{}}],["mode=block",{"_index":983,"title":{},"content":{"43":{"position":[[1244,10]]}},"keywords":{}}],["model",{"_index":2467,"title":{},"content":{"245":{"position":[[281,5]]},"482":{"position":[[409,5]]}},"keywords":{}}],["modelclick",{"_index":3319,"title":{},"content":{"347":{"position":[[728,10]]}},"keywords":{}}],["modern",{"_index":3301,"title":{},"content":{"347":{"position":[[103,6]]}},"keywords":{}}],["modif",{"_index":1536,"title":{},"content":{"79":{"position":[[308,13]]},"208":{"position":[[358,12]]},"273":{"position":[[348,12]]},"334":{"position":[[217,13],[1240,13]]},"359":{"position":[[99,12],[799,13]]},"628":{"position":[[429,13]]}},"keywords":{}}],["modifi",{"_index":642,"title":{"34":{"position":[[6,10]]},"36":{"position":[[10,10]]},"124":{"position":[[10,10]]},"145":{"position":[[7,10]]},"172":{"position":[[13,10]]},"185":{"position":[[5,10]]},"195":{"position":[[7,10]]},"200":{"position":[[8,10]]},"202":{"position":[[10,10]]},"265":{"position":[[10,10]]},"267":{"position":[[5,10]]},"663":{"position":[[15,9]]}},"content":{"49":{"position":[[2737,9]]},"50":{"position":[[2330,9],[2462,9]]},"51":{"position":[[1205,9]]},"52":{"position":[[1755,9],[1882,9]]},"54":{"position":[[97,9]]},"69":{"position":[[2965,8],[3931,6],[4036,8],[4534,6],[4889,8]]},"75":{"position":[[57,6]]},"76":{"position":[[59,6]]},"77":{"position":[[60,6]]},"78":{"position":[[58,6]]},"134":{"position":[[26,6]]},"237":{"position":[[416,10]]},"253":{"position":[[6605,6]]},"254":{"position":[[1030,6],[2704,9]]},"289":{"position":[[906,6],[1401,6]]},"324":{"position":[[2991,6],[3040,6]]},"338":{"position":[[179,8]]},"343":{"position":[[695,9]]},"364":{"position":[[898,6]]},"628":{"position":[[497,8],[519,8]]},"629":{"position":[[375,9],[402,8]]},"773":{"position":[[149,6]]}},"keywords":{}}],["modul",{"_index":767,"title":{"508":{"position":[[17,8]]}},"content":{"36":{"position":[[5538,6]]},"202":{"position":[[5538,6]]},"267":{"position":[[4018,6]]},"508":{"position":[[1,7],[530,6]]}},"keywords":{}}],["modular",{"_index":3702,"title":{},"content":{"364":{"position":[[1117,7],[1320,7]]}},"keywords":{}}],["module_method",{"_index":4425,"title":{},"content":{"508":{"position":[[550,13],[632,15]]}},"keywords":{}}],["monet",{"_index":3623,"title":{},"content":{"359":{"position":[[1876,9]]}},"keywords":{}}],["monitor",{"_index":1031,"title":{"302":{"position":[[7,8]]},"348":{"position":[[0,10]]},"349":{"position":[[0,10]]},"574":{"position":[[7,7]]},"576":{"position":[[7,7]]}},"content":{"44":{"position":[[247,7],[3170,7]]},"267":{"position":[[8722,10]]},"302":{"position":[[8,7],[157,7],[228,7],[341,7],[437,7],[524,7],[674,7],[758,7]]},"349":{"position":[[74,7],[176,7],[223,10]]},"351":{"position":[[70,10],[118,7]]},"356":{"position":[[709,10]]},"575":{"position":[[12,7]]},"578":{"position":[[30,7],[562,7],[871,8]]},"691":{"position":[[16,10]]},"692":{"position":[[17,10]]},"693":{"position":[[16,10]]},"694":{"position":[[17,10]]}},"keywords":{}}],["more",{"_index":91,"title":{},"content":{"3":{"position":[[118,4],[208,4]]},"7":{"position":[[1237,4]]},"20":{"position":[[1471,4]]},"36":{"position":[[927,4],[6620,4],[7416,4]]},"54":{"position":[[3374,4]]},"56":{"position":[[653,4]]},"57":{"position":[[635,6]]},"58":{"position":[[608,6]]},"66":{"position":[[102,4]]},"69":{"position":[[2166,4],[2427,4],[2638,4],[4172,4]]},"75":{"position":[[428,4],[1725,4]]},"80":{"position":[[164,4]]},"83":{"position":[[1819,4]]},"115":{"position":[[56,4]]},"120":{"position":[[316,4]]},"123":{"position":[[911,4]]},"140":{"position":[[159,4]]},"143":{"position":[[76,4],[701,4]]},"168":{"position":[[93,4]]},"178":{"position":[[143,4]]},"179":{"position":[[350,4]]},"194":{"position":[[372,4]]},"202":{"position":[[927,4],[6620,4],[7416,4]]},"204":{"position":[[194,4]]},"205":{"position":[[194,4]]},"213":{"position":[[316,4]]},"229":{"position":[[1208,4]]},"230":{"position":[[1955,4]]},"234":{"position":[[115,4]]},"242":{"position":[[243,5]]},"249":{"position":[[107,5]]},"251":{"position":[[251,4]]},"253":{"position":[[4669,5],[5921,5],[6035,4],[6086,4],[6557,4],[6712,4]]},"257":{"position":[[421,4]]},"263":{"position":[[593,4]]},"267":{"position":[[922,4],[5159,4],[6017,4]]},"269":{"position":[[96,4]]},"275":{"position":[[325,4]]},"289":{"position":[[758,4]]},"292":{"position":[[1183,4],[1256,4]]},"324":{"position":[[367,4],[436,4],[1171,4]]},"328":{"position":[[504,4]]},"343":{"position":[[330,4]]},"349":{"position":[[212,4]]},"357":{"position":[[3474,4],[3547,4]]},"362":{"position":[[382,4]]},"363":{"position":[[1046,4],[1457,4]]},"368":{"position":[[343,4]]},"371":{"position":[[62,4]]},"373":{"position":[[122,4]]},"379":{"position":[[191,4]]},"380":{"position":[[185,4]]},"381":{"position":[[196,4]]},"383":{"position":[[122,4]]},"429":{"position":[[473,4],[1903,4]]},"469":{"position":[[380,4]]},"476":{"position":[[282,4]]},"478":{"position":[[953,4]]},"482":{"position":[[585,4],[607,4],[1267,4],[1290,4]]},"496":{"position":[[156,4]]},"499":{"position":[[401,4]]},"501":{"position":[[78,4]]},"517":{"position":[[397,4]]},"528":{"position":[[248,4]]},"548":{"position":[[614,4]]},"596":{"position":[[68,4]]},"619":{"position":[[188,4]]},"632":{"position":[[1284,4]]},"658":{"position":[[139,4]]},"675":{"position":[[38,4]]},"683":{"position":[[165,4]]},"687":{"position":[[161,4]]},"753":{"position":[[86,4]]}},"keywords":{}}],["mount",{"_index":1933,"title":{},"content":{"122":{"position":[[314,5]]},"136":{"position":[[199,5],[251,6]]},"181":{"position":[[159,5],[211,6]]},"324":{"position":[[972,7]]},"325":{"position":[[627,5]]}},"keywords":{}}],["mous",{"_index":2910,"title":{},"content":{"304":{"position":[[3866,5]]},"428":{"position":[[199,6]]},"578":{"position":[[628,5]]}},"keywords":{}}],["mouseov",{"_index":639,"title":{},"content":{"33":{"position":[[625,9],[884,9]]}},"keywords":{}}],["move",{"_index":3147,"title":{},"content":{"324":{"position":[[855,6]]},"334":{"position":[[973,5]]},"349":{"position":[[6,6]]},"487":{"position":[[222,5],[285,6],[867,4],[1330,4]]},"495":{"position":[[247,6]]},"593":{"position":[[20,5],[84,6],[116,4]]},"601":{"position":[[19,5],[83,6],[114,4]]}},"keywords":{}}],["move(self",{"_index":4306,"title":{},"content":{"487":{"position":[[1301,10]]}},"keywords":{}}],["move(steps_to_mov",{"_index":4293,"title":{},"content":{"487":{"position":[[845,19]]}},"keywords":{}}],["mozilla/5.0",{"_index":1053,"title":{},"content":{"44":{"position":[[1115,11]]}},"keywords":{}}],["mqtt",{"_index":2844,"title":{},"content":{"298":{"position":[[1162,5]]}},"keywords":{}}],["ms",{"_index":3101,"title":{},"content":{"321":{"position":[[3229,2]]}},"keywords":{}}],["msrdc",{"_index":3590,"title":{},"content":{"357":{"position":[[4368,5]]}},"keywords":{}}],["much",{"_index":712,"title":{},"content":{"36":{"position":[[2972,4]]},"54":{"position":[[251,4]]},"59":{"position":[[36,4]]},"60":{"position":[[197,4]]},"63":{"position":[[228,4]]},"202":{"position":[[2972,4]]},"242":{"position":[[238,4]]},"253":{"position":[[8007,4]]},"267":{"position":[[2181,4]]},"357":{"position":[[1978,4],[3469,4],[3542,4]]},"488":{"position":[[1076,4]]}},"keywords":{}}],["multi",{"_index":858,"title":{},"content":{"39":{"position":[[46,5]]},"241":{"position":[[62,5]]},"353":{"position":[[14,5]]}},"keywords":{}}],["multicast",{"_index":1233,"title":{},"content":{"51":{"position":[[495,9],[561,9]]}},"keywords":{}}],["multilin",{"_index":3893,"title":{},"content":{"426":{"position":[[26,9]]}},"keywords":{}}],["multipart",{"_index":1991,"title":{},"content":{"136":{"position":[[552,9]]},"181":{"position":[[452,9]]}},"keywords":{}}],["multipl",{"_index":752,"title":{"498":{"position":[[56,8]]}},"content":{"36":{"position":[[4458,8],[8450,8]]},"39":{"position":[[78,8]]},"121":{"position":[[377,8]]},"144":{"position":[[192,8]]},"168":{"position":[[157,8],[203,8]]},"179":{"position":[[177,8],[222,8]]},"198":{"position":[[150,8]]},"202":{"position":[[4458,8],[8450,8]]},"208":{"position":[[265,8]]},"227":{"position":[[1077,8]]},"249":{"position":[[594,8]]},"253":{"position":[[7235,8]]},"259":{"position":[[176,8]]},"267":{"position":[[8808,8]]},"273":{"position":[[265,8]]},"283":{"position":[[459,8]]},"292":{"position":[[919,8]]},"307":{"position":[[530,8],[566,8],[619,8],[659,8]]},"309":{"position":[[572,8]]},"321":{"position":[[3942,8]]},"373":{"position":[[333,8]]},"383":{"position":[[333,8]]},"422":{"position":[[215,8]]},"464":{"position":[[287,8]]},"467":{"position":[[121,8]]},"480":{"position":[[118,8]]},"483":{"position":[[77,8]]},"485":{"position":[[86,8]]},"487":{"position":[[437,8]]},"498":{"position":[[158,8]]},"500":{"position":[[215,8]]},"508":{"position":[[513,8]]},"514":{"position":[[350,8]]},"596":{"position":[[113,8],[176,8]]},"611":{"position":[[663,8]]},"632":{"position":[[112,8],[1535,8],[1929,8]]},"729":{"position":[[232,8],[252,8]]}},"keywords":{}}],["multipli",{"_index":771,"title":{},"content":{"36":{"position":[[5628,11],[5709,10],[5943,12],[6065,10]]},"202":{"position":[[5628,11],[5709,10],[5943,12],[6065,10]]},"267":{"position":[[4108,11],[4189,11],[4423,12],[4545,10]]},"405":{"position":[[211,8]]}},"keywords":{}}],["multiplier.to_f",{"_index":772,"title":{},"content":{"36":{"position":[[5642,15]]},"202":{"position":[[5642,15]]},"267":{"position":[[4122,15]]}},"keywords":{}}],["mv",{"_index":3162,"title":{},"content":{"324":{"position":[[1820,2]]}},"keywords":{}}],["my_awesome_featur",{"_index":4013,"title":{},"content":{"449":{"position":[[231,18],[473,18]]}},"keywords":{}}],["my_file"",{"_index":335,"title":{},"content":{"12":{"position":[[269,14]]}},"keywords":{}}],["my_method",{"_index":5488,"title":{},"content":{"754":{"position":[[1267,9],[1499,12],[2066,12]]}},"keywords":{}}],["my_method(self",{"_index":5493,"title":{},"content":{"754":{"position":[[1808,16]]}},"keywords":{}}],["mygroup",{"_index":4354,"title":{},"content":{"497":{"position":[[318,7]]}},"keywords":{}}],["mygroup(group",{"_index":4362,"title":{},"content":{"497":{"position":[[631,15]]}},"keywords":{}}],["mymodul",{"_index":4424,"title":{},"content":{"508":{"position":[[537,8],[612,8]]}},"keywords":{}}],["myprefix",{"_index":2009,"title":{},"content":{"142":{"position":[[211,9]]},"182":{"position":[[211,9]]}},"keywords":{}}],["myself",{"_index":816,"title":{},"content":{"36":{"position":[[8224,8]]},"202":{"position":[[8224,8]]},"267":{"position":[[6883,8]]}},"keywords":{}}],["mysteri",{"_index":3206,"title":{},"content":{"327":{"position":[[537,10]]}},"keywords":{}}],["mysuit",{"_index":4605,"title":{},"content":{"611":{"position":[[137,7]]},"754":{"position":[[1364,7]]}},"keywords":{}}],["mysuite(suit",{"_index":4611,"title":{},"content":{"611":{"position":[[370,15]]},"754":{"position":[[1917,15]]}},"keywords":{}}],["mytest",{"_index":4426,"title":{},"content":{"508":{"position":[[578,6]]}},"keywords":{}}],["n",{"_index":3937,"title":{},"content":{"431":{"position":[[241,1]]}},"keywords":{}}],["name",{"_index":162,"title":{},"content":{"5":{"position":[[598,4],[662,4]]},"7":{"position":[[390,4]]},"12":{"position":[[441,5]]},"13":{"position":[[359,4],[368,4]]},"14":{"position":[[257,4],[266,4]]},"15":{"position":[[403,4]]},"16":{"position":[[403,4]]},"20":{"position":[[461,4],[507,4],[518,5],[538,4],[584,4],[647,4],[678,4],[693,4],[1460,5]]},"24":{"position":[[64,5],[170,5]]},"31":{"position":[[184,5]]},"32":{"position":[[100,4],[105,4]]},"33":{"position":[[66,4],[99,4]]},"35":{"position":[[78,4]]},"36":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"37":{"position":[[78,4]]},"38":{"position":[[130,4]]},"49":{"position":[[264,4]]},"51":{"position":[[132,4]]},"52":{"position":[[248,4],[361,4]]},"54":{"position":[[220,4],[2300,4],[3159,5]]},"63":{"position":[[807,5]]},"67":{"position":[[149,4]]},"68":{"position":[[158,4],[170,4],[214,4],[226,4]]},"83":{"position":[[2375,5]]},"84":{"position":[[985,4]]},"85":{"position":[[339,4],[773,4]]},"88":{"position":[[262,4]]},"93":{"position":[[994,5],[1043,5],[1510,4],[1576,4]]},"94":{"position":[[785,5],[833,5],[882,5],[939,4],[1009,4],[1077,4]]},"99":{"position":[[1402,4],[1507,4],[1548,4],[1594,4],[1697,4],[1824,6],[1995,4],[2036,4],[2480,4],[4424,5],[4488,4],[4774,5],[4985,6],[5251,4]]},"121":{"position":[[350,4],[434,6],[745,4],[754,4]]},"123":{"position":[[395,4],[400,4],[428,4],[551,4],[615,5]]},"125":{"position":[[15,4],[74,4],[86,4]]},"126":{"position":[[30,4],[108,4],[128,4]]},"127":{"position":[[30,4],[109,4],[131,4]]},"134":{"position":[[582,4]]},"136":{"position":[[294,4],[303,4],[394,4],[440,4],[506,4],[511,4]]},"137":{"position":[[123,4]]},"141":{"position":[[161,4]]},"143":{"position":[[427,4]]},"144":{"position":[[60,4],[88,4],[104,5],[157,4]]},"169":{"position":[[23,4],[115,4],[131,5]]},"171":{"position":[[230,4],[245,4],[351,4],[369,4]]},"173":{"position":[[107,4]]},"176":{"position":[[324,4]]},"177":{"position":[[269,4]]},"179":{"position":[[298,4],[303,4]]},"180":{"position":[[145,4]]},"181":{"position":[[254,4],[263,4],[354,4],[406,4],[411,4]]},"184":{"position":[[303,4],[318,4],[392,4],[397,4]]},"189":{"position":[[44,4],[116,4],[154,5]]},"190":{"position":[[148,4]]},"194":{"position":[[133,4],[142,4]]},"198":{"position":[[432,5],[514,5]]},"199":{"position":[[68,4],[132,4]]},"201":{"position":[[95,4]]},"202":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"203":{"position":[[95,4]]},"204":{"position":[[318,4]]},"205":{"position":[[318,4]]},"206":{"position":[[112,4]]},"207":{"position":[[112,4]]},"208":{"position":[[322,4]]},"209":{"position":[[423,4]]},"213":{"position":[[257,4],[262,4],[355,4]]},"215":{"position":[[320,4],[329,4]]},"218":{"position":[[121,4],[133,4],[179,4],[191,4]]},"219":{"position":[[127,4],[139,4],[191,4],[203,4]]},"220":{"position":[[105,4],[117,4],[160,4],[172,4],[213,4],[223,4]]},"221":{"position":[[107,4],[119,4],[164,4],[176,4]]},"224":{"position":[[292,5]]},"225":{"position":[[318,4],[323,4],[387,4],[392,4]]},"227":{"position":[[1687,4],[2814,4],[3144,6],[3823,4],[4062,6]]},"229":{"position":[[92,4],[372,4],[798,4]]},"230":{"position":[[142,5],[415,4],[501,4],[567,4]]},"231":{"position":[[154,5],[465,4],[593,4],[659,4]]},"232":{"position":[[155,4],[175,5],[622,4],[980,4]]},"233":{"position":[[165,4],[190,5],[661,4],[1197,4]]},"234":{"position":[[232,5],[651,4]]},"235":{"position":[[141,5],[539,5],[755,4],[1030,5],[1049,4]]},"240":{"position":[[770,4],[1598,4]]},"253":{"position":[[2499,5],[2809,4],[3204,5],[4811,4],[7112,4],[7197,4],[7345,4]]},"254":{"position":[[147,5],[1407,4],[1961,5],[2308,4],[2665,5]]},"257":{"position":[[1258,5],[1510,5]]},"259":{"position":[[463,5],[545,5]]},"264":{"position":[[70,4],[143,4]]},"266":{"position":[[94,4]]},"267":{"position":[[343,4],[353,4],[863,4],[868,4],[961,4],[1691,4],[1700,4],[2376,4],[3594,5],[8471,4],[10522,4]]},"268":{"position":[[94,4]]},"269":{"position":[[264,4]]},"270":{"position":[[94,4]]},"271":{"position":[[111,4]]},"272":{"position":[[111,4]]},"273":{"position":[[317,4]]},"274":{"position":[[391,4]]},"275":{"position":[[266,4],[271,4],[364,4]]},"276":{"position":[[119,4],[128,4],[180,4]]},"279":{"position":[[320,4],[329,4]]},"282":{"position":[[314,4],[319,4],[391,4],[396,4]]},"283":{"position":[[753,4],[758,4]]},"284":{"position":[[181,5],[244,4],[249,4],[280,4],[285,4],[314,4],[319,4]]},"291":{"position":[[1427,5]]},"297":{"position":[[1244,4]]},"303":{"position":[[197,4],[214,5],[464,4],[480,5],[522,4],[538,4]]},"305":{"position":[[257,4],[273,5],[324,4],[340,4]]},"313":{"position":[[224,6]]},"319":{"position":[[184,4]]},"320":{"position":[[158,4],[179,4],[1275,4],[1302,4],[1337,4],[1364,4],[1594,4],[1688,5]]},"321":{"position":[[355,4],[2805,4],[3836,5]]},"322":{"position":[[434,4],[1352,4]]},"327":{"position":[[522,5]]},"328":{"position":[[1013,4],[1150,4]]},"334":{"position":[[613,5]]},"338":{"position":[[45,5],[454,4],[508,4]]},"343":{"position":[[731,4]]},"353":{"position":[[246,5]]},"357":{"position":[[1074,4],[2565,4]]},"363":{"position":[[901,5]]},"366":{"position":[[1,4]]},"369":{"position":[[126,4]]},"372":{"position":[[103,4],[112,4],[222,4]]},"373":{"position":[[541,4],[550,4],[707,4]]},"379":{"position":[[99,4],[124,4]]},"380":{"position":[[93,4],[118,4]]},"381":{"position":[[104,4],[129,4]]},"383":{"position":[[666,4]]},"384":{"position":[[1,4],[135,4],[392,4],[408,4],[455,5]]},"401":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"402":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"403":{"position":[[432,4],[448,4],[465,4],[481,4],[496,4],[510,4]]},"404":{"position":[[74,4],[90,4],[107,4],[123,4],[138,4],[152,4]]},"405":{"position":[[32,4],[101,4],[117,4],[134,4],[150,4],[165,4],[179,4]]},"406":{"position":[[32,4],[95,4],[111,4],[128,4],[144,4],[159,4],[173,4]]},"407":{"position":[[103,4],[119,4],[136,4],[152,4],[167,4],[181,4]]},"408":{"position":[[32,4],[115,4],[131,4],[148,4],[164,4],[179,4],[193,4]]},"409":{"position":[[32,4],[118,4],[134,4],[151,4],[167,4],[182,4],[196,4]]},"410":{"position":[[32,4],[114,4],[130,4],[147,4],[163,4],[178,4],[192,4]]},"411":{"position":[[382,4],[398,4],[415,4],[431,4],[446,4],[460,4]]},"412":{"position":[[111,4],[127,4],[144,4],[160,4],[175,4],[189,4]]},"413":{"position":[[109,4],[125,4],[142,4],[158,4],[173,4],[187,4]]},"414":{"position":[[95,4],[111,4],[128,4],[144,4],[159,4],[173,4],[368,4],[392,4]]},"415":{"position":[[84,4],[100,4],[117,4],[133,4],[148,4],[162,4]]},"416":{"position":[[87,4],[103,4],[120,4],[136,4],[151,4],[165,4]]},"417":{"position":[[83,4],[99,4],[116,4],[132,4],[147,4],[161,4]]},"418":{"position":[[81,4],[97,4],[114,4],[130,4],[145,4],[159,4],[808,4],[824,4],[841,4],[857,4],[872,4],[886,4]]},"419":{"position":[[115,4],[131,4],[148,4],[164,4],[179,4],[193,4],[861,4],[877,4],[894,4],[910,4],[925,4],[939,4]]},"420":{"position":[[32,4],[99,4],[115,4],[132,4],[148,4],[163,4],[177,4],[833,4],[849,4],[866,4],[882,4],[897,4],[911,4]]},"421":{"position":[[80,4],[96,4],[113,4],[129,4],[144,4],[158,4]]},"422":{"position":[[105,4],[121,4],[138,4],[154,4],[169,4],[183,4]]},"423":{"position":[[93,4],[109,4],[126,4],[142,4],[157,4],[171,4]]},"424":{"position":[[131,4]]},"425":{"position":[[127,4],[143,4],[160,4],[176,4],[191,4],[205,4]]},"426":{"position":[[79,4],[95,4],[112,4],[128,4],[143,4],[157,4]]},"427":{"position":[[323,4],[339,4],[356,4],[372,4],[387,4],[401,4]]},"429":{"position":[[242,5],[1363,4]]},"440":{"position":[[117,4],[133,4],[150,4],[166,4],[181,4],[195,4]]},"441":{"position":[[79,4],[778,4],[783,4],[814,4],[819,4]]},"442":{"position":[[309,4],[325,4],[342,4],[358,4],[373,4],[387,4],[1691,4],[1696,4],[1727,4],[1732,4]]},"444":{"position":[[181,4],[197,4],[214,4],[230,4],[245,4],[259,4]]},"461":{"position":[[590,5]]},"476":{"position":[[1398,5],[1415,5],[1522,5],[2099,4],[3014,4],[4461,4],[4479,4],[4969,5]]},"480":{"position":[[413,4]]},"482":{"position":[[250,6],[539,6]]},"486":{"position":[[185,4],[259,6],[283,5]]},"487":{"position":[[619,5],[642,4]]},"490":{"position":[[524,4]]},"498":{"position":[[58,4],[198,4]]},"500":{"position":[[187,4]]},"508":{"position":[[120,5]]},"517":{"position":[[115,5]]},"523":{"position":[[99,5]]},"552":{"position":[[409,5],[545,4],[572,4],[716,5]]},"553":{"position":[[124,4]]},"563":{"position":[[347,5],[483,4],[510,4],[654,5]]},"577":{"position":[[749,5],[1178,5],[1314,4],[1341,4],[1485,5]]},"578":{"position":[[510,5],[593,4],[680,4]]},"585":{"position":[[105,4],[362,4]]},"586":{"position":[[107,4],[381,4]]},"589":{"position":[[346,5],[482,4],[509,4],[653,5]]},"591":{"position":[[373,5],[408,4]]},"598":{"position":[[365,5],[501,4],[528,4],[672,5]]},"605":{"position":[[790,4]]},"628":{"position":[[327,5]]},"629":{"position":[[248,5]]},"630":{"position":[[224,5]]},"632":{"position":[[1065,5]]},"636":{"position":[[777,4],[782,4],[842,4],[847,4],[912,4],[917,4],[1142,5],[1228,5]]},"637":{"position":[[999,4],[1004,4],[1064,4],[1069,4],[1134,4],[1139,4],[1364,5],[1450,5]]},"638":{"position":[[1020,4],[1025,4],[1085,4],[1090,4],[1155,4],[1160,4],[1385,5],[1471,5]]},"639":{"position":[[1053,4],[1058,4],[1118,4],[1123,4],[1188,4],[1193,4],[1418,5],[1504,5]]},"640":{"position":[[853,4],[858,4],[918,4],[923,4],[988,4],[993,4],[1218,5],[1304,5]]},"641":{"position":[[1070,4],[1075,4],[1135,4],[1140,4],[1205,4],[1210,4],[1435,5],[1521,5]]},"642":{"position":[[1091,4],[1096,4],[1156,4],[1161,4],[1226,4],[1231,4],[1456,5],[1542,5]]},"643":{"position":[[1124,4],[1129,4],[1189,4],[1194,4],[1259,4],[1264,4],[1489,5],[1575,5]]},"645":{"position":[[137,4],[142,4]]},"646":{"position":[[260,4],[265,4],[978,9]]},"647":{"position":[[33,5],[169,4],[174,4]]},"648":{"position":[[255,4],[260,4],[287,4],[292,4],[1020,9]]},"649":{"position":[[301,4],[306,4],[334,4],[339,4],[370,4],[375,4],[1212,8]]},"650":{"position":[[336,4],[341,4],[368,4],[373,4]]},"651":{"position":[[259,4],[264,4],[292,4],[297,4]]},"652":{"position":[[428,4],[433,4],[461,4],[466,4],[497,4],[502,4]]},"653":{"position":[[105,4],[150,4],[207,4],[212,4],[319,4],[324,4],[506,4],[633,4],[786,4]]},"654":{"position":[[263,4],[268,4],[296,4],[301,4]]},"656":{"position":[[487,4],[492,4],[541,4],[546,4],[603,4],[608,4]]},"657":{"position":[[429,4],[434,4],[483,4],[488,4],[545,4],[550,4]]},"659":{"position":[[274,4]]},"660":{"position":[[277,4],[282,4],[331,4],[336,4],[393,4],[398,4],[431,5]]},"661":{"position":[[319,4],[324,4],[351,4],[356,4]]},"662":{"position":[[13,6],[433,4],[438,4],[465,4],[470,4],[495,5]]},"664":{"position":[[146,4],[151,4]]},"665":{"position":[[39,6],[151,4],[156,4]]},"666":{"position":[[213,4],[218,4],[245,4],[250,4]]},"667":{"position":[[263,4],[268,4],[295,4],[300,4],[325,4],[330,4]]},"668":{"position":[[274,4],[279,4],[306,4],[311,4]]},"669":{"position":[[520,4],[539,4],[554,4]]},"670":{"position":[[246,4],[265,4]]},"671":{"position":[[387,4],[406,4],[421,4]]},"672":{"position":[[223,4],[242,4],[257,4]]},"675":{"position":[[257,4]]},"677":{"position":[[230,4],[249,4]]},"678":{"position":[[250,4],[269,4]]},"679":{"position":[[264,4],[283,4]]},"681":{"position":[[853,4],[858,4],[907,4],[912,4],[969,4],[974,4],[1287,5],[1408,5]]},"682":{"position":[[585,4],[590,4],[639,4],[644,4],[701,4],[706,4],[1054,5],[1175,5]]},"683":{"position":[[841,5]]},"684":{"position":[[517,4],[540,4],[722,5]]},"685":{"position":[[468,4],[473,4],[522,4],[527,4],[584,4],[589,4],[899,5]]},"686":{"position":[[484,4],[489,4],[538,4],[543,4],[600,4],[605,4],[950,5]]},"688":{"position":[[403,4],[426,4],[694,5]]},"690":{"position":[[345,4],[350,4],[399,4],[404,4],[461,4],[466,4]]},"691":{"position":[[200,4],[205,4],[254,4],[259,4],[316,4],[321,4]]},"692":{"position":[[202,4],[207,4],[256,4],[261,4],[318,4],[323,4]]},"693":{"position":[[203,4],[208,4]]},"694":{"position":[[205,4],[210,4]]},"696":{"position":[[175,4],[180,4]]},"697":{"position":[[13,4]]},"699":{"position":[[197,4],[202,4],[250,4],[255,4],[311,4],[316,4]]},"700":{"position":[[567,4],[572,4],[621,4],[626,4],[683,4],[688,4]]},"703":{"position":[[279,5]]},"706":{"position":[[161,4],[166,4]]},"707":{"position":[[120,5],[160,6]]},"709":{"position":[[217,4],[222,4]]},"711":{"position":[[209,4],[214,4]]},"712":{"position":[[176,4],[181,4]]},"713":{"position":[[163,4],[223,4],[228,4]]},"714":{"position":[[161,4],[221,4],[226,4]]},"715":{"position":[[125,5]]},"716":{"position":[[282,4],[287,4],[316,4],[321,4],[352,5],[447,5],[544,5]]},"717":{"position":[[341,4],[346,4],[376,4],[381,4]]},"718":{"position":[[357,4],[362,4],[392,4],[397,4]]},"720":{"position":[[167,4],[172,4]]},"721":{"position":[[135,4],[140,4]]},"723":{"position":[[201,4],[206,4]]},"724":{"position":[[119,5]]},"725":{"position":[[154,4],[211,4],[216,4]]},"726":{"position":[[152,4],[209,4],[214,4]]},"727":{"position":[[322,4],[327,4],[354,4],[359,4]]},"728":{"position":[[364,4],[369,4],[396,4],[401,4]]},"730":{"position":[[139,4]]},"731":{"position":[[133,4]]},"734":{"position":[[156,4]]},"736":{"position":[[275,4]]},"737":{"position":[[499,4],[618,4]]},"739":{"position":[[250,4],[279,4],[291,4],[303,4]]},"740":{"position":[[167,4],[196,4],[208,4],[220,4]]},"742":{"position":[[180,4],[209,4],[221,4],[233,4]]},"744":{"position":[[220,4],[249,4],[261,4],[273,4]]},"745":{"position":[[315,4],[344,4],[356,4],[368,4]]},"746":{"position":[[412,4],[424,4]]},"754":{"position":[[457,5],[705,4],[824,4],[898,4],[982,4]]},"761":{"position":[[115,5]]},"762":{"position":[[203,5],[275,5]]},"763":{"position":[[207,5],[292,5]]},"766":{"position":[[39,5],[59,5]]},"767":{"position":[[917,8],[1011,8],[1121,8],[1230,8]]},"768":{"position":[[268,4],[273,4]]},"769":{"position":[[267,4],[272,4]]},"771":{"position":[[33,5],[121,5],[152,5],[250,5]]},"772":{"position":[[34,5],[61,5],[151,4],[156,4],[199,5]]},"773":{"position":[[326,4],[331,4],[362,4],[367,4]]},"774":{"position":[[162,4],[167,4],[198,4],[203,4]]},"775":{"position":[[166,4],[171,4],[202,4],[207,4]]}},"keywords":{}}],["name>",{"_index":4813,"title":{},"content":{"636":{"position":[[64,8],[85,8],[112,8],[158,8],[429,8],[450,8],[477,8],[523,8]]},"637":{"position":[[241,8],[262,8],[289,8],[335,8],[636,8],[657,8],[684,8],[730,8]]},"638":{"position":[[250,8],[271,8],[298,8],[344,8],[653,8],[674,8],[701,8],[747,8]]},"639":{"position":[[310,8],[331,8],[358,8],[404,8],[695,8],[716,8],[743,8],[789,8]]},"640":{"position":[[96,8],[117,8],[144,8],[190,8],[485,8],[506,8],[533,8],[579,8]]},"641":{"position":[[268,8],[289,8],[316,8],[362,8],[687,8],[708,8],[735,8],[781,8]]},"642":{"position":[[277,8],[298,8],[325,8],[371,8],[704,8],[725,8],[752,8],[798,8]]},"643":{"position":[[337,8],[358,8],[385,8],[431,8],[746,8],[767,8],[794,8],[840,8]]},"645":{"position":[[80,9]]},"648":{"position":[[115,8]]},"649":{"position":[[98,8],[119,8]]},"650":{"position":[[160,8]]},"654":{"position":[[117,8]]},"656":{"position":[[373,8],[393,8],[411,8]]},"657":{"position":[[302,8],[322,8]]},"660":{"position":[[92,8],[112,8]]},"661":{"position":[[143,8]]},"662":{"position":[[258,8]]},"666":{"position":[[73,8]]},"667":{"position":[[73,8],[93,8]]},"668":{"position":[[130,8]]},"681":{"position":[[687,8],[707,8],[725,8]]},"682":{"position":[[395,8],[415,8]]},"685":{"position":[[309,8],[329,8],[347,8]]},"686":{"position":[[301,8],[321,8]]},"690":{"position":[[157,8],[177,8],[261,8],[281,8]]},"691":{"position":[[116,8],[136,8]]},"692":{"position":[[118,8],[138,8]]},"699":{"position":[[117,9],[138,9],[157,9]]},"700":{"position":[[259,9],[280,9],[299,9]]},"768":{"position":[[163,9]]},"769":{"position":[[203,9]]},"772":{"position":[[113,9]]},"773":{"position":[[260,9],[288,9]]},"774":{"position":[[84,9],[112,9]]},"775":{"position":[[88,9],[116,9]]}},"keywords":{}}],["name>"",{"_index":4817,"title":{},"content":{"636":{"position":[[223,15],[257,15],[588,15],[622,15]]},"637":{"position":[[415,15],[449,15],[810,15],[844,15]]},"638":{"position":[[428,15],[462,15],[831,15],[865,15]]},"639":{"position":[[479,15],[513,15],[864,15],[898,15]]},"640":{"position":[[259,15],[293,15],[328,14],[392,14],[648,15],[682,15],[718,15],[777,15]]},"641":{"position":[[446,15],[480,15],[515,14],[579,14],[865,15],[899,15],[935,15],[994,15]]},"642":{"position":[[459,15],[493,15],[528,14],[592,14],[886,15],[920,15],[956,15],[1015,15]]},"643":{"position":[[510,15],[544,15],[579,14],[643,14],[919,15],[953,15],[989,15],[1048,15]]},"646":{"position":[[214,15]]},"647":{"position":[[123,15]]},"648":{"position":[[135,15],[176,15],[209,15]]},"649":{"position":[[142,15],[185,15],[219,15],[255,15]]},"650":{"position":[[247,15]]},"651":{"position":[[144,15],[178,15]]},"652":{"position":[[281,15],[315,15],[351,15]]},"654":{"position":[[138,15],[183,15],[217,15]]},"657":{"position":[[340,15]]},"659":{"position":[[182,15]]},"660":{"position":[[130,15],[167,15],[200,15],[231,15]]},"661":{"position":[[230,15]]},"662":{"position":[[278,15],[340,15],[373,15]]},"664":{"position":[[100,15]]},"665":{"position":[[105,15]]},"666":{"position":[[93,15],[134,15],[167,15]]},"667":{"position":[[111,15],[153,15],[186,15],[217,15]]},"668":{"position":[[150,15],[195,15],[228,15]]},"682":{"position":[[433,15]]},"686":{"position":[[339,15]]},"690":{"position":[[195,15],[299,15]]},"691":{"position":[[154,15]]},"692":{"position":[[156,15]]},"693":{"position":[[151,15]]},"694":{"position":[[153,15]]},"696":{"position":[[125,15]]},"706":{"position":[[115,15]]},"709":{"position":[[168,15]]},"711":{"position":[[119,15]]},"712":{"position":[[127,15]]},"716":{"position":[[169,15],[205,15]]},"717":{"position":[[218,15],[252,15]]},"718":{"position":[[234,15],[268,15]]},"720":{"position":[[83,15]]},"721":{"position":[[89,15]]},"723":{"position":[[155,15]]},"727":{"position":[[202,15],[236,15]]},"728":{"position":[[225,15],[259,15]]},"739":{"position":[[109,15],[142,15]]},"740":{"position":[[88,15],[121,15]]},"742":{"position":[[101,15],[134,15]]},"744":{"position":[[141,15],[174,15]]},"745":{"position":[[205,15],[238,14]]},"746":{"position":[[273,14]]}},"keywords":{}}],["name>")['buff",{"_index":4937,"title":{},"content":{"650":{"position":[[180,25],[280,25]]},"661":{"position":[[163,25],[263,25]]}},"keywords":{}}],["name>__<item",{"_index":2280,"title":{},"content":{"227":{"position":[[2927,18]]}},"keywords":{}}],["name>__<packet",{"_index":2279,"title":{},"content":{"227":{"position":[[2906,20],[3915,20]]}},"keywords":{}}],["name>__<valu",{"_index":2281,"title":{},"content":{"227":{"position":[[2946,19],[3936,19]]}},"keywords":{}}],["name"",{"_index":4820,"title":{},"content":{"636":{"position":[[288,10],[344,10],[654,11],[705,11]]},"637":{"position":[[480,10],[536,10],[876,11],[927,11]]},"638":{"position":[[493,10],[549,10],[897,11],[948,11]]},"639":{"position":[[544,10],[600,10],[930,11],[981,11]]}},"keywords":{}}],["name.keyout",{"_index":464,"title":{},"content":{"20":{"position":[[1329,11]]}},"keywords":{}}],["name/packet",{"_index":1809,"title":{},"content":{"99":{"position":[[2468,11]]},"675":{"position":[[245,11]]}},"keywords":{}}],["name/valu",{"_index":5075,"title":{},"content":{"670":{"position":[[293,10]]}},"keywords":{}}],["name1>",{"_index":5553,"title":{},"content":{"768":{"position":[[198,10]]}},"keywords":{}}],["name2>",{"_index":5555,"title":{},"content":{"768":{"position":[[221,10]]}},"keywords":{}}],["named_widget",{"_index":3765,"title":{"384":{"position":[[0,13]]}},"content":{"384":{"position":[[652,12]]},"429":{"position":[[1962,12],[2016,12]]},"430":{"position":[[103,13],[220,12]]},"431":{"position":[[122,13],[483,12]]},"432":{"position":[[105,13],[352,12]]},"434":{"position":[[115,13],[318,12]]},"435":{"position":[[244,12]]},"436":{"position":[[105,13],[352,12]]},"446":{"position":[[332,12],[427,12],[736,12],[854,12]]}},"keywords":{}}],["names/valu",{"_index":1734,"title":{},"content":{"93":{"position":[[1097,13]]}},"keywords":{}}],["names_values_and_limits_st",{"_index":5020,"title":{},"content":{"662":{"position":[[629,30],[746,30]]}},"keywords":{}}],["namespac",{"_index":2790,"title":{},"content":{"290":{"position":[[508,9],[548,9]]},"508":{"position":[[36,11],[60,11],[180,11]]}},"keywords":{}}],["nan",{"_index":1705,"title":{},"content":{"88":{"position":[[196,4]]}},"keywords":{}}],["nanosecond",{"_index":1813,"title":{},"content":{"99":{"position":[[2788,11],[3222,11]]},"227":{"position":[[4314,11],[5513,10],[5991,10]]}},"keywords":{}}],["narrow",{"_index":2676,"title":{},"content":{"267":{"position":[[9662,8],[10049,8]]}},"keywords":{}}],["nasa",{"_index":2982,"title":{"312":{"position":[[11,4]]}},"content":{"315":{"position":[[63,4]]},"316":{"position":[[8,4]]}},"keywords":{}}],["nativ",{"_index":31,"title":{},"content":{"2":{"position":[[23,7]]},"64":{"position":[[276,6]]},"245":{"position":[[38,6]]},"250":{"position":[[239,6]]},"263":{"position":[[1223,6]]},"298":{"position":[[114,7]]},"384":{"position":[[332,6]]}},"keywords":{}}],["nav",{"_index":2104,"title":{},"content":{"192":{"position":[[44,3]]}},"keywords":{}}],["navig",{"_index":1848,"title":{},"content":{"104":{"position":[[1,8]]},"105":{"position":[[1,8]]},"184":{"position":[[446,10]]},"188":{"position":[[30,9]]},"189":{"position":[[63,10]]},"190":{"position":[[91,10]]},"191":{"position":[[63,10]]},"322":{"position":[[180,8]]}},"keywords":{}}],["near",{"_index":1903,"title":{"110":{"position":[[0,4]]}},"content":{"110":{"position":[[5,4]]},"457":{"position":[[58,4]]}},"keywords":{}}],["nearbi",{"_index":2887,"title":{},"content":{"304":{"position":[[520,6]]}},"keywords":{}}],["necessari",{"_index":106,"title":{},"content":{"3":{"position":[[371,9]]},"54":{"position":[[115,10]]},"59":{"position":[[338,10]]},"60":{"position":[[67,9],[229,9]]},"69":{"position":[[299,9],[4189,9]]},"71":{"position":[[773,9]]},"112":{"position":[[40,9]]},"123":{"position":[[203,9]]},"176":{"position":[[245,9]]},"231":{"position":[[532,9]]},"235":{"position":[[994,9]]},"253":{"position":[[275,9],[778,10]]},"329":{"position":[[1647,10]]},"449":{"position":[[369,10]]},"459":{"position":[[903,9],[995,10],[1295,9]]},"465":{"position":[[40,9],[258,9]]},"466":{"position":[[435,10]]},"467":{"position":[[1179,9]]},"490":{"position":[[680,10]]},"523":{"position":[[328,10]]},"637":{"position":[[116,9]]},"638":{"position":[[129,9]]},"639":{"position":[[155,9]]},"641":{"position":[[139,9]]},"642":{"position":[[152,9]]},"643":{"position":[[178,9]]},"736":{"position":[[132,10]]}},"keywords":{}}],["necessarili",{"_index":1696,"title":{},"content":{"87":{"position":[[125,12]]},"449":{"position":[[278,11]]}},"keywords":{}}],["need",{"_index":676,"title":{},"content":{"36":{"position":[[787,6]]},"39":{"position":[[96,4]]},"42":{"position":[[70,4]]},"43":{"position":[[234,4],[353,4]]},"60":{"position":[[816,6]]},"61":{"position":[[1976,4]]},"64":{"position":[[252,6]]},"75":{"position":[[422,5]]},"83":{"position":[[318,4],[418,4]]},"85":{"position":[[1540,4]]},"95":{"position":[[418,4]]},"99":{"position":[[3061,7],[3482,7]]},"112":{"position":[[270,6]]},"122":{"position":[[37,5]]},"136":{"position":[[32,6]]},"139":{"position":[[60,5]]},"175":{"position":[[61,5]]},"176":{"position":[[272,6]]},"181":{"position":[[32,6]]},"202":{"position":[[787,6]]},"213":{"position":[[176,6]]},"230":{"position":[[1165,4],[1283,4]]},"233":{"position":[[1074,4]]},"240":{"position":[[470,5]]},"250":{"position":[[424,4]]},"253":{"position":[[946,4],[1160,6],[6358,4]]},"254":{"position":[[8,4],[456,4]]},"257":{"position":[[295,4]]},"267":{"position":[[782,6]]},"275":{"position":[[185,6]]},"289":{"position":[[294,4]]},"290":{"position":[[216,4],[846,5]]},"291":{"position":[[217,6],[1394,4]]},"321":{"position":[[1020,6]]},"324":{"position":[[3811,4]]},"338":{"position":[[1059,4]]},"347":{"position":[[200,5]]},"349":{"position":[[51,6]]},"357":{"position":[[4061,5]]},"361":{"position":[[259,6]]},"363":{"position":[[340,4]]},"364":{"position":[[908,7],[1062,4],[1250,4],[1415,6],[1620,7]]},"384":{"position":[[127,4]]},"421":{"position":[[243,6]]},"429":{"position":[[586,4]]},"448":{"position":[[48,4]]},"457":{"position":[[368,4]]},"476":{"position":[[1171,4]]},"478":{"position":[[939,4]]},"487":{"position":[[249,4],[387,4],[511,4]]},"488":{"position":[[243,5]]},"496":{"position":[[353,4]]},"499":{"position":[[215,4]]},"504":{"position":[[237,5]]},"505":{"position":[[656,6],[850,5]]},"507":{"position":[[122,4],[180,4]]},"512":{"position":[[329,7]]},"513":{"position":[[354,4]]},"622":{"position":[[55,6]]},"737":{"position":[[586,4]]}},"keywords":{}}],["needs_depend",{"_index":1927,"title":{"122":{"position":[[0,19]]}},"content":{"122":{"position":[[188,18],[275,18]]}},"keywords":{}}],["neg",{"_index":645,"title":{},"content":{"35":{"position":[[230,8],[391,8]]},"37":{"position":[[184,8]]},"67":{"position":[[502,8]]},"201":{"position":[[258,8],[420,8]]},"203":{"position":[[203,8]]},"204":{"position":[[481,8],[590,8]]},"205":{"position":[[426,8]]},"206":{"position":[[275,8],[595,8]]},"207":{"position":[[378,8]]},"266":{"position":[[257,8],[418,8]]},"268":{"position":[[210,8]]},"269":{"position":[[427,8],[541,8]]},"270":{"position":[[210,8]]},"271":{"position":[[274,8],[588,8]]},"272":{"position":[[380,8]]},"289":{"position":[[682,8]]}},"keywords":{}}],["nem",{"_index":999,"title":{},"content":{"43":{"position":[[4349,3]]}},"keywords":{}}],["nest",{"_index":4513,"title":{},"content":{"578":{"position":[[719,6]]},"675":{"position":[[222,6]]}},"keywords":{}}],["net=openc3",{"_index":3030,"title":{},"content":{"319":{"position":[[156,10]]}},"keywords":{}}],["netavark",{"_index":3157,"title":{},"content":{"324":{"position":[[1691,8],[2195,8]]}},"keywords":{}}],["network",{"_index":1032,"title":{},"content":{"44":{"position":[[259,7],[573,7]]},"84":{"position":[[426,8]]},"85":{"position":[[565,7]]},"108":{"position":[[562,8]]},"240":{"position":[[698,9],[1868,7]]},"292":{"position":[[1371,7]]},"319":{"position":[[37,7],[53,7],[174,7]]},"322":{"position":[[412,7],[423,7],[479,7],[507,7],[537,7]]},"359":{"position":[[551,8],[593,8]]}},"keywords":{}}],["network"",{"_index":3116,"title":{},"content":{"322":{"position":[[587,14]]}},"keywords":{}}],["network=openc3",{"_index":1680,"title":{},"content":{"85":{"position":[[543,14]]}},"keywords":{}}],["network_backend",{"_index":3178,"title":{},"content":{"324":{"position":[[2330,15]]}},"keywords":{}}],["never",{"_index":2566,"title":{},"content":{"253":{"position":[[7888,5]]},"254":{"position":[[897,5]]},"324":{"position":[[2018,5],[2078,5]]},"364":{"position":[[916,5]]},"467":{"position":[[21,5]]}},"keywords":{}}],["new",{"_index":404,"title":{"368":{"position":[[0,3]]},"591":{"position":[[0,3]]}},"content":{"20":{"position":[[208,3],[889,3]]},"21":{"position":[[9,3]]},"22":{"position":[[30,3]]},"23":{"position":[[428,3]]},"27":{"position":[[507,3]]},"33":{"position":[[9,3]]},"36":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"64":{"position":[[268,3]]},"69":{"position":[[129,3],[2032,3],[2243,3]]},"84":{"position":[[1290,3]]},"112":{"position":[[376,3],[472,3]]},"144":{"position":[[11,3]]},"171":{"position":[[11,3]]},"188":{"position":[[235,3],[259,3],[359,3]]},"199":{"position":[[11,3]]},"202":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"209":{"position":[[213,3],[367,3]]},"227":{"position":[[675,3]]},"229":{"position":[[52,3],[115,3]]},"230":{"position":[[52,3],[2522,3]]},"231":{"position":[[58,3],[1185,3]]},"232":{"position":[[56,3]]},"233":{"position":[[61,3]]},"234":{"position":[[56,3],[895,3]]},"235":{"position":[[50,3],[356,3],[861,3],[1716,3]]},"253":{"position":[[1553,3],[7320,3],[7545,3]]},"254":{"position":[[1769,3],[2515,3],[2654,3]]},"256":{"position":[[168,3],[411,3]]},"257":{"position":[[15,3],[779,3],[1198,3],[1445,3],[1628,3],[1925,3]]},"264":{"position":[[11,3]]},"267":{"position":[[590,3]]},"274":{"position":[[199,3],[345,3]]},"291":{"position":[[1409,3]]},"304":{"position":[[1509,4]]},"310":{"position":[[169,3],[213,3]]},"320":{"position":[[138,3]]},"334":{"position":[[1066,3],[1145,3],[1259,3]]},"343":{"position":[[494,3]]},"345":{"position":[[277,3]]},"352":{"position":[[225,3]]},"368":{"position":[[238,3]]},"461":{"position":[[1280,3]]},"525":{"position":[[353,3]]},"528":{"position":[[35,3]]},"533":{"position":[[666,3]]},"541":{"position":[[355,3]]},"542":{"position":[[384,3]]},"544":{"position":[[147,4],[195,4]]},"552":{"position":[[585,3]]},"563":{"position":[[523,3]]},"564":{"position":[[51,3]]},"572":{"position":[[142,3]]},"577":{"position":[[893,3],[1354,3]]},"582":{"position":[[12,3]]},"584":{"position":[[482,3]]},"589":{"position":[[522,3]]},"591":{"position":[[10,3],[35,3]]},"598":{"position":[[541,3]]},"599":{"position":[[9,3]]},"600":{"position":[[416,3]]},"605":{"position":[[43,3]]},"609":{"position":[[169,3],[198,3]]},"632":{"position":[[393,3]]},"669":{"position":[[102,3]]},"671":{"position":[[124,3]]},"764":{"position":[[60,3],[66,3]]}},"keywords":{}}],["newer",{"_index":1779,"title":{},"content":{"98":{"position":[[183,5]]}},"keywords":{}}],["newgrp",{"_index":3355,"title":{},"content":{"347":{"position":[[2370,6]]}},"keywords":{}}],["newish",{"_index":3151,"title":{},"content":{"324":{"position":[[1130,6]]}},"keywords":{}}],["newkey",{"_index":410,"title":{},"content":{"20":{"position":[[328,6],[861,6]]}},"keywords":{}}],["newli",{"_index":463,"title":{},"content":{"20":{"position":[[1274,5],[1405,5]]},"253":{"position":[[2136,5]]},"254":{"position":[[998,5],[2187,5]]},"320":{"position":[[534,5]]},"321":{"position":[[193,5],[3898,5]]},"334":{"position":[[780,5]]}},"keywords":{}}],["newlin",{"_index":297,"title":{},"content":{"9":{"position":[[117,7],[309,7],[461,7],[641,7]]},"429":{"position":[[501,8]]}},"keywords":{}}],["newslett",{"_index":4082,"title":{},"content":{"460":{"position":[[255,11]]},"461":{"position":[[350,10]]},"466":{"position":[[751,11]]},"468":{"position":[[90,11]]}},"keywords":{}}],["next",{"_index":952,"title":{"294":{"position":[[0,4]]}},"content":{"43":{"position":[[281,4]]},"54":{"position":[[3110,4]]},"69":{"position":[[4449,4]]},"72":{"position":[[224,4]]},"84":{"position":[[826,4]]},"189":{"position":[[27,4],[137,4]]},"227":{"position":[[3075,4],[3999,4]]},"253":{"position":[[520,4]]},"254":{"position":[[2118,4]]},"304":{"position":[[1827,5]]},"325":{"position":[[149,4]]},"332":{"position":[[827,4]]},"396":{"position":[[99,4]]},"430":{"position":[[177,4]]},"434":{"position":[[271,4]]},"476":{"position":[[4048,4]]},"488":{"position":[[1345,4]]},"504":{"position":[[970,4]]},"505":{"position":[[539,4]]},"530":{"position":[[375,4]]},"533":{"position":[[426,4],[828,4]]},"552":{"position":[[385,4],[692,4]]},"557":{"position":[[116,4]]},"558":{"position":[[49,4],[285,4]]},"563":{"position":[[323,4],[630,4]]},"564":{"position":[[211,4]]},"577":{"position":[[302,4],[523,4],[1154,4],[1461,4]]},"583":{"position":[[19,4]]},"589":{"position":[[322,4],[629,4]]},"598":{"position":[[341,4],[648,4]]},"610":{"position":[[888,4]]},"611":{"position":[[628,4],[959,4]]},"612":{"position":[[1313,4]]},"617":{"position":[[329,4]]},"756":{"position":[[75,4]]},"757":{"position":[[45,4]]}},"keywords":{}}],["nexu",{"_index":1610,"title":{},"content":{"83":{"position":[[1723,7]]}},"keywords":{}}],["nf",{"_index":1931,"title":{},"content":{"122":{"position":[[303,3]]},"240":{"position":[[1862,3]]},"324":{"position":[[690,3],[711,3],[1098,5]]}},"keywords":{}}],["nfs]https://www.redhat.com/sysadmin/rootless",{"_index":3150,"title":{},"content":{"324":{"position":[[1046,44]]}},"keywords":{}}],["nginx",{"_index":2500,"title":{},"content":{"250":{"position":[[449,5]]}},"keywords":{}}],["nice",{"_index":4499,"title":{},"content":{"566":{"position":[[71,6]]}},"keywords":{}}],["nil",{"_index":1200,"title":{},"content":{"49":{"position":[[361,3],[485,3],[674,3],[936,3],[1067,3],[1177,3],[1191,3],[1531,3]]},"50":{"position":[[561,3],[802,3],[912,3],[1001,3],[1015,3],[1292,3]]},"51":{"position":[[400,3],[582,3],[844,3],[969,3],[982,3]]},"52":{"position":[[316,3],[428,3],[753,3],[1000,3],[1128,3],[1224,3],[1238,3],[1550,3]]},"54":{"position":[[817,3],[927,3],[941,3],[1037,3],[1401,3],[2578,3]]},"56":{"position":[[480,4],[491,3]]},"58":{"position":[[710,3]]},"59":{"position":[[962,3]]},"60":{"position":[[1361,3]]},"61":{"position":[[2261,3],[2343,3]]},"62":{"position":[[1263,3]]},"63":{"position":[[1813,3],[2447,3]]},"64":{"position":[[577,3],[659,3]]},"67":{"position":[[214,4],[236,3],[778,3],[913,3],[1047,3],[1191,3]]},"68":{"position":[[203,3],[259,3]]},"71":{"position":[[309,3]]},"75":{"position":[[1544,3]]},"125":{"position":[[218,3],[362,3]]},"126":{"position":[[259,3],[455,3]]},"127":{"position":[[262,3],[461,3]]},"133":{"position":[[441,3],[699,4],[795,4]]},"134":{"position":[[797,3],[801,3],[1084,3]]},"135":{"position":[[737,3],[849,3]]},"149":{"position":[[137,3]]},"152":{"position":[[141,3]]},"156":{"position":[[141,3]]},"159":{"position":[[145,3]]},"160":{"position":[[163,3]]},"161":{"position":[[159,3]]},"162":{"position":[[157,3]]},"163":{"position":[[157,3]]},"164":{"position":[[157,3]]},"224":{"position":[[896,4],[1013,4]]},"230":{"position":[[2709,3]]},"253":{"position":[[7902,6]]},"320":{"position":[[1135,3],[1139,3],[1147,3],[1151,3]]},"338":{"position":[[758,3],[1558,3]]},"401":{"position":[[351,4],[671,3]]},"402":{"position":[[351,4],[566,3]]},"618":{"position":[[416,4]]},"670":{"position":[[436,4]]},"676":{"position":[[89,4],[320,3]]},"703":{"position":[[248,3]]},"720":{"position":[[477,4]]},"768":{"position":[[56,3]]}},"keywords":{}}],["nocert",{"_index":578,"title":{},"content":{"27":{"position":[[301,7]]}},"keywords":{}}],["node",{"_index":416,"title":{},"content":{"20":{"position":[[378,5]]},"83":{"position":[[1500,4]]},"249":{"position":[[609,6]]},"357":{"position":[[4179,4]]}},"keywords":{}}],["node_modul",{"_index":2322,"title":{},"content":{"229":{"position":[[423,12]]}},"keywords":{}}],["nodej",{"_index":1569,"title":{},"content":{"83":{"position":[[423,6]]},"239":{"position":[[445,6]]}},"keywords":{}}],["nogroup",{"_index":2721,"title":{},"content":{"285":{"position":[[571,7]]}},"keywords":{}}],["nokey",{"_index":586,"title":{},"content":{"27":{"position":[[739,6]]}},"keywords":{}}],["non",{"_index":720,"title":{},"content":{"36":{"position":[[3271,3],[10685,3]]},"57":{"position":[[446,3]]},"88":{"position":[[167,3]]},"187":{"position":[[267,3]]},"202":{"position":[[3271,3]]},"259":{"position":[[1319,3],[1569,4]]},"303":{"position":[[720,3]]},"361":{"position":[[433,3]]},"364":{"position":[[1488,3]]},"623":{"position":[[480,3]]},"624":{"position":[[446,3]]}},"keywords":{}}],["none",{"_index":1201,"title":{},"content":{"49":{"position":[[367,4],[491,4],[680,4],[1811,4],[1961,4],[2090,4],[2105,4],[2500,4]]},"50":{"position":[[567,4],[1530,4],[1659,4],[1767,4],[1782,4],[2114,4]]},"51":{"position":[[1112,4],[1126,4]]},"52":{"position":[[322,4],[434,4],[540,7],[759,4],[988,4],[1309,4],[1431,4],[1538,4],[1641,4]]},"54":{"position":[[1537,4],[1666,4],[1681,4],[1796,4],[2215,4],[2789,4]]},"71":{"position":[[491,4]]},"75":{"position":[[1053,5],[1550,4]]},"135":{"position":[[364,4],[725,4]]},"224":{"position":[[1346,5],[1483,5]]},"233":{"position":[[1023,4]]},"253":{"position":[[6892,4]]},"338":{"position":[[591,5],[626,4],[779,5],[817,4]]},"676":{"position":[[326,4]]},"711":{"position":[[306,4]]},"720":{"position":[[255,4]]},"768":{"position":[[70,4]]}},"keywords":{}}],["noninfring",{"_index":3640,"title":{},"content":{"360":{"position":[[886,16]]}},"keywords":{}}],["noop",{"_index":2237,"title":{},"content":{"226":{"position":[[964,4]]},"321":{"position":[[1189,4]]}},"keywords":{}}],["noout",{"_index":557,"title":{},"content":{"25":{"position":[[69,5]]}},"keywords":{}}],["normal",{"_index":1162,"title":{},"content":{"46":{"position":[[742,6]]},"110":{"position":[[160,6]]},"226":{"position":[[927,6]]},"269":{"position":[[180,8]]},"280":{"position":[[85,8]]},"285":{"position":[[1096,6]]},"429":{"position":[[1078,7],[1803,7]]},"431":{"position":[[518,6]]},"435":{"position":[[423,7]]},"446":{"position":[[367,6]]},"451":{"position":[[111,6]]},"478":{"position":[[296,7],[544,7],[740,7]]},"488":{"position":[[20,8]]},"490":{"position":[[752,6]]},"499":{"position":[[82,8]]},"612":{"position":[[199,6],[490,6]]},"649":{"position":[[689,6],[1328,6],[1475,10]]},"672":{"position":[[275,10]]},"736":{"position":[[324,8]]}},"keywords":{}}],["normal"",{"_index":4327,"title":{},"content":{"490":{"position":[[1027,13]]},"500":{"position":[[409,13],[588,13]]},"636":{"position":[[1340,13],[1772,13]]},"637":{"position":[[1577,13],[1803,13]]},"644":{"position":[[473,13],[1032,13]]}},"keywords":{}}],["normal'"",{"_index":1744,"title":{},"content":{"93":{"position":[[1826,16]]},"478":{"position":[[365,15]]}},"keywords":{}}],["normalize_tlm",{"_index":5078,"title":{"672":{"position":[[0,14]]}},"content":{"671":{"position":[[205,13]]}},"keywords":{}}],["normalize_tlm("<target>",{"_index":5081,"title":{},"content":{"672":{"position":[[102,34]]}},"keywords":{}}],["normalize_tlm("inst",{"_index":5083,"title":{},"content":{"672":{"position":[[384,24],[458,24],[571,24],[645,24]]}},"keywords":{}}],["nosniff",{"_index":979,"title":{},"content":{"43":{"position":[[1187,7]]}},"keywords":{}}],["notat",{"_index":4211,"title":{},"content":{"476":{"position":[[4673,8],[4710,8]]}},"keywords":{}}],["note",{"_index":102,"title":{"341":{"position":[[0,4]]},"526":{"position":[[0,5]]}},"content":{"3":{"position":[[291,5]]},"7":{"position":[[1026,4]]},"9":{"position":[[834,4],[976,4]]},"11":{"position":[[213,4]]},"12":{"position":[[488,4]]},"13":{"position":[[397,4]]},"14":{"position":[[292,4]]},"20":{"position":[[1,5]]},"36":{"position":[[2138,4],[6512,4],[7308,4],[8191,6]]},"46":{"position":[[1,5]]},"50":{"position":[[2414,5]]},"52":{"position":[[1839,5]]},"54":{"position":[[2896,4]]},"56":{"position":[[243,4]]},"59":{"position":[[632,4]]},"60":{"position":[[1030,4]]},"61":{"position":[[1811,4]]},"62":{"position":[[936,4]]},"63":{"position":[[2120,4]]},"79":{"position":[[814,4]]},"83":{"position":[[468,5],[764,5]]},"84":{"position":[[477,4]]},"90":{"position":[[282,5]]},"99":{"position":[[2236,4],[3909,4],[4562,5]]},"103":{"position":[[141,5]]},"122":{"position":[[235,4]]},"198":{"position":[[655,4],[1226,4]]},"202":{"position":[[2138,4],[6512,4],[7308,4],[8191,6]]},"230":{"position":[[923,4]]},"231":{"position":[[1076,6]]},"253":{"position":[[5651,4]]},"254":{"position":[[220,4]]},"259":{"position":[[682,4]]},"260":{"position":[[293,4]]},"261":{"position":[[305,4]]},"262":{"position":[[430,4]]},"263":{"position":[[1202,5]]},"267":{"position":[[5051,4],[5909,4],[6850,6],[8791,4]]},"269":{"position":[[59,5]]},"289":{"position":[[164,5],[1488,5],[1545,5]]},"290":{"position":[[811,4]]},"291":{"position":[[246,5],[833,4]]},"292":{"position":[[405,5]]},"299":{"position":[[844,5]]},"304":{"position":[[1956,5],[2876,5]]},"319":{"position":[[1,4]]},"320":{"position":[[1197,4]]},"322":{"position":[[2137,4]]},"324":{"position":[[1104,4],[1402,5]]},"325":{"position":[[112,5]]},"329":{"position":[[111,4],[613,4]]},"331":{"position":[[437,5]]},"343":{"position":[[247,4]]},"345":{"position":[[70,4]]},"347":{"position":[[576,5]]},"350":{"position":[[145,6]]},"351":{"position":[[297,6]]},"352":{"position":[[357,6]]},"353":{"position":[[192,6]]},"357":{"position":[[228,5]]},"429":{"position":[[718,4]]},"430":{"position":[[23,4]]},"431":{"position":[[42,4]]},"432":{"position":[[25,4]]},"434":{"position":[[35,4]]},"436":{"position":[[25,4]]},"476":{"position":[[4428,4]]},"487":{"position":[[535,5]]},"490":{"position":[[1043,4]]},"495":{"position":[[1178,4]]},"504":{"position":[[351,4]]},"505":{"position":[[472,4]]},"513":{"position":[[709,4]]},"514":{"position":[[419,6]]},"517":{"position":[[576,4]]},"518":{"position":[[111,4]]},"520":{"position":[[52,4]]},"522":{"position":[[31,6]]},"525":{"position":[[497,4]]},"526":{"position":[[1,5],[65,4],[84,4]]},"534":{"position":[[485,4]]},"538":{"position":[[216,4]]},"540":{"position":[[456,5]]},"555":{"position":[[166,4],[285,4]]},"556":{"position":[[275,5],[528,5]]},"559":{"position":[[275,4]]},"577":{"position":[[331,4]]},"585":{"position":[[57,4],[591,4],[805,5]]},"586":{"position":[[59,4]]},"591":{"position":[[356,4]]},"601":{"position":[[420,4]]},"612":{"position":[[848,5]]},"629":{"position":[[322,5]]},"630":{"position":[[260,5]]},"632":{"position":[[163,5]]},"651":{"position":[[389,4]]},"652":{"position":[[606,5]]},"656":{"position":[[252,5]]},"657":{"position":[[151,5]]},"658":{"position":[[210,5]]},"673":{"position":[[78,5]]},"681":{"position":[[256,4]]},"682":{"position":[[140,4]]},"683":{"position":[[235,4]]},"684":{"position":[[119,4]]},"687":{"position":[[251,5]]},"700":{"position":[[67,5],[1752,5],[1896,5]]},"734":{"position":[[23,4]]},"746":{"position":[[648,5]]},"754":{"position":[[401,5]]}},"keywords":{}}],["notebook",{"_index":1884,"title":{},"content":{"108":{"position":[[423,9],[453,10]]}},"keywords":{}}],["noth",{"_index":1523,"title":{},"content":{"75":{"position":[[1380,7]]},"80":{"position":[[267,7],[415,7],[486,7]]},"364":{"position":[[689,7]]},"488":{"position":[[2297,7],[2445,7]]}},"keywords":{}}],["nothing"",{"_index":2239,"title":{},"content":{"226":{"position":[[989,13]]},"623":{"position":[[745,14],[966,14]]},"624":{"position":[[725,14],[989,14]]}},"keywords":{}}],["notic",{"_index":1065,"title":{"460":{"position":[[3,7]]}},"content":{"44":{"position":[[1335,6]]},"249":{"position":[[219,6]]},"332":{"position":[[262,6],[429,6]]},"360":{"position":[[574,6],[601,6]]},"467":{"position":[[1090,7]]},"476":{"position":[[3645,6],[4140,6]]},"610":{"position":[[255,6]]}},"keywords":{}}],["notif",{"_index":3396,"title":{},"content":{"351":{"position":[[145,13]]},"424":{"position":[[28,12]]},"514":{"position":[[673,13],[735,13],[794,12]]},"638":{"position":[[50,12]]},"639":{"position":[[76,12]]},"642":{"position":[[73,12]]},"643":{"position":[[99,12]]}},"keywords":{}}],["notifi",{"_index":2876,"title":{},"content":{"303":{"position":[[1896,6]]},"461":{"position":[[1221,6]]},"470":{"position":[[331,6]]},"471":{"position":[[89,6]]},"633":{"position":[[15,6]]}},"keywords":{}}],["nov",{"_index":941,"title":{},"content":{"42":{"position":[[820,3]]}},"keywords":{}}],["now",{"_index":326,"title":{},"content":{"12":{"position":[[96,3]]},"23":{"position":[[334,3]]},"43":{"position":[[4685,3]]},"63":{"position":[[30,3]]},"83":{"position":[[2251,3]]},"84":{"position":[[4,3]]},"99":{"position":[[2275,3]]},"253":{"position":[[50,3],[939,3],[4675,3],[6351,3]]},"254":{"position":[[1,3]]},"304":{"position":[[567,3]]},"324":{"position":[[2461,3]]},"332":{"position":[[425,3],[713,3],[965,3]]},"347":{"position":[[2685,3]]},"357":{"position":[[2189,3],[3459,3]]},"658":{"position":[[832,3]]},"762":{"position":[[264,4]]}},"keywords":{}}],["npm",{"_index":1608,"title":{},"content":{"83":{"position":[[1699,3]]},"84":{"position":[[561,3]]},"102":{"position":[[14,3]]},"235":{"position":[[1416,3]]}},"keywords":{}}],["npm_url",{"_index":1612,"title":{},"content":{"83":{"position":[[1797,8]]}},"keywords":{}}],["npm_url=https://registry.npmjs.org",{"_index":1618,"title":{},"content":{"83":{"position":[[1927,34]]}},"keywords":{}}],["nt",{"_index":1055,"title":{},"content":{"44":{"position":[[1136,2]]}},"keywords":{}}],["null",{"_index":1703,"title":{},"content":{"88":{"position":[[115,4]]},"198":{"position":[[1153,4],[1308,4]]},"227":{"position":[[4394,5],[4581,5],[4626,5]]},"259":{"position":[[1169,4]]}},"keywords":{}}],["num",{"_index":3445,"title":{},"content":{"355":{"position":[[652,4]]},"684":{"position":[[545,3]]},"688":{"position":[[431,3]]},"715":{"position":[[572,3],[1125,3]]},"724":{"position":[[548,3],[1083,3]]}},"keywords":{}}],["num_client",{"_index":5305,"title":{},"content":{"715":{"position":[[415,12],[974,12]]},"724":{"position":[[397,12],[915,12]]}},"keywords":{}}],["num_clients}"",{"_index":5312,"title":{},"content":{"715":{"position":[[595,20]]},"724":{"position":[[571,20]]}},"keywords":{}}],["num_seg",{"_index":4543,"title":{},"content":{"586":{"position":[[604,12],[719,12]]}},"keywords":{}}],["number",{"_index":84,"title":{},"content":{"3":{"position":[[35,6]]},"20":{"position":[[1064,6]]},"31":{"position":[[665,8]]},"33":{"position":[[775,6]]},"36":{"position":[[2913,6]]},"49":{"position":[[548,6],[617,6]]},"50":{"position":[[435,6],[504,6]]},"51":{"position":[[619,6],[717,6],[790,6]]},"52":{"position":[[580,6],[627,6],[696,6]]},"59":{"position":[[569,6]]},"60":{"position":[[800,6],[920,6],[967,6]]},"61":{"position":[[1112,6],[1426,6],[1748,6]]},"62":{"position":[[873,6]]},"63":{"position":[[1566,6],[1854,6],[2057,6],[2563,6],[2653,6]]},"66":{"position":[[192,6],[293,6]]},"83":{"position":[[112,6]]},"88":{"position":[[139,7]]},"99":{"position":[[2670,6]]},"139":{"position":[[191,6]]},"146":{"position":[[16,6]]},"149":{"position":[[83,6]]},"152":{"position":[[85,6]]},"153":{"position":[[16,6]]},"156":{"position":[[85,6]]},"159":{"position":[[87,6]]},"160":{"position":[[96,6]]},"161":{"position":[[94,6]]},"162":{"position":[[93,6]]},"163":{"position":[[93,6]]},"164":{"position":[[93,6]]},"165":{"position":[[81,6]]},"175":{"position":[[192,6]]},"198":{"position":[[966,8]]},"202":{"position":[[2913,6]]},"229":{"position":[[1380,6]]},"253":{"position":[[2359,6]]},"254":{"position":[[1781,7],[1864,7]]},"259":{"position":[[990,8]]},"261":{"position":[[281,6]]},"263":{"position":[[1132,6]]},"267":{"position":[[2125,6],[8571,6],[10690,6]]},"276":{"position":[[343,6]]},"285":{"position":[[164,6]]},"304":{"position":[[1160,6]]},"307":{"position":[[749,6],[945,6]]},"315":{"position":[[209,6],[243,6]]},"320":{"position":[[648,6]]},"321":{"position":[[3691,6]]},"322":{"position":[[1184,6]]},"324":{"position":[[3832,8]]},"355":{"position":[[126,6]]},"357":{"position":[[3687,6]]},"364":{"position":[[1144,6]]},"366":{"position":[[237,6]]},"369":{"position":[[422,6]]},"371":{"position":[[376,6]]},"390":{"position":[[149,6]]},"401":{"position":[[376,6]]},"402":{"position":[[377,6],[436,6]]},"403":{"position":[[723,6],[748,6]]},"406":{"position":[[308,6],[333,6]]},"407":{"position":[[454,6],[479,6],[623,6]]},"408":{"position":[[328,6],[353,6]]},"409":{"position":[[331,6],[356,6]]},"410":{"position":[[605,6],[630,6]]},"415":{"position":[[297,6],[322,6]]},"416":{"position":[[300,6],[325,6]]},"417":{"position":[[574,6],[599,6]]},"418":{"position":[[1613,6],[1680,6],[1738,6],[1808,6],[1856,6],[1933,6]]},"419":{"position":[[1666,6],[1733,6],[1791,6],[1861,6],[1909,6],[1986,6]]},"420":{"position":[[1638,6],[1705,6],[1763,6],[1833,6],[1881,6],[1958,6]]},"427":{"position":[[536,6],[561,6]]},"461":{"position":[[847,6],[1041,6]]},"467":{"position":[[464,6]]},"481":{"position":[[124,7]]},"483":{"position":[[828,6],[895,6]]},"487":{"position":[[275,6]]},"491":{"position":[[24,6]]},"500":{"position":[[293,8],[718,8]]},"504":{"position":[[828,7]]},"507":{"position":[[230,8]]},"514":{"position":[[1071,6]]},"533":{"position":[[794,6]]},"550":{"position":[[188,6]]},"564":{"position":[[517,6]]},"566":{"position":[[185,6]]},"599":{"position":[[371,6]]},"608":{"position":[[832,7]]},"623":{"position":[[177,6]]},"654":{"position":[[13,6],[397,6]]},"667":{"position":[[652,6]]},"668":{"position":[[13,6],[422,6]]},"676":{"position":[[237,6],[360,6]]},"684":{"position":[[35,6],[561,6]]},"688":{"position":[[35,6],[447,6],[571,6]]},"700":{"position":[[1649,6]]},"703":{"position":[[318,6]]},"715":{"position":[[149,6]]},"724":{"position":[[143,6]]},"750":{"position":[[30,6],[228,6]]},"751":{"position":[[29,6]]}},"keywords":{}}],["number"",{"_index":2214,"title":{},"content":{"226":{"position":[[194,12],[1072,12],[1842,12]]},"627":{"position":[[643,13],[724,13],[794,13],[958,13],[1039,13],[1109,13]]}},"keywords":{}}],["numer",{"_index":716,"title":{},"content":{"36":{"position":[[3097,9]]},"99":{"position":[[4480,7],[5217,7]]},"192":{"position":[[311,9]]},"202":{"position":[[3097,9]]},"267":{"position":[[2396,9]]},"588":{"position":[[145,8]]}},"keywords":{}}],["nwziw_ewyssghec172ciwjuphvp8acdqg",{"_index":987,"title":{},"content":{"43":{"position":[[2251,33],[5716,33]]}},"keywords":{}}],["o",{"_index":3161,"title":{},"content":{"324":{"position":[[1798,1]]},"347":{"position":[[2302,1]]}},"keywords":{}}],["object",{"_index":1709,"title":{},"content":{"88":{"position":[[411,7]]},"99":{"position":[[3730,6]]},"227":{"position":[[4964,6],[5467,6],[5947,6]]},"250":{"position":[[44,6]]},"263":{"position":[[485,6],[978,6],[1000,7],[1090,6],[1112,6],[1230,6]]},"307":{"position":[[235,7],[673,7]]},"466":{"position":[[192,6]]},"487":{"position":[[12,6]]},"629":{"position":[[465,6]]},"632":{"position":[[1464,6],[1606,7],[2002,7]]}},"keywords":{}}],["oblig",{"_index":4111,"title":{},"content":{"465":{"position":[[124,11]]}},"keywords":{}}],["observ",{"_index":3358,"title":{"349":{"position":[[15,14]]}},"content":{},"keywords":{}}],["obtus",{"_index":4219,"title":{},"content":{"479":{"position":[[235,6]]}},"keywords":{}}],["obvious",{"_index":2550,"title":{},"content":{"253":{"position":[[6020,9]]},"359":{"position":[[241,10]]}},"keywords":{}}],["occas",{"_index":4132,"title":{},"content":{"467":{"position":[[589,8]]}},"keywords":{}}],["occasion",{"_index":4098,"title":{},"content":{"462":{"position":[[433,12]]}},"keywords":{}}],["occur",{"_index":1405,"title":{},"content":{"63":{"position":[[2775,5]]},"66":{"position":[[415,5]]},"304":{"position":[[329,7],[3154,5],[5832,7],[6616,10]]},"356":{"position":[[862,6]]},"483":{"position":[[590,9]]},"501":{"position":[[391,7]]},"612":{"position":[[1508,7]]},"617":{"position":[[1282,6]]},"633":{"position":[[50,9]]},"681":{"position":[[222,6]]},"683":{"position":[[76,7],[97,6]]},"684":{"position":[[86,6]]},"687":{"position":[[76,7],[97,6]]},"688":{"position":[[86,6]]},"752":{"position":[[432,6]]}},"keywords":{}}],["occurr",{"_index":2905,"title":{},"content":{"304":{"position":[[2593,10]]}},"keywords":{}}],["odd",{"_index":1252,"title":{},"content":{"52":{"position":[[559,6],[1117,3]]},"338":{"position":[[597,4]]}},"keywords":{}}],["offer",{"_index":3656,"title":{},"content":{"361":{"position":[[473,5]]},"461":{"position":[[556,7],[1308,7]]}},"keywords":{}}],["offici",{"_index":2994,"title":{},"content":{"314":{"position":[[33,8]]}},"keywords":{}}],["offlin",{"_index":1605,"title":{},"content":{"83":{"position":[[1603,7],[1644,7]]},"290":{"position":[[188,7],[238,7],[668,7],[720,7]]}},"keywords":{}}],["offset",{"_index":374,"title":{},"content":{"17":{"position":[[72,7],[171,7]]},"18":{"position":[[75,7],[175,7]]},"35":{"position":[[143,6],[154,6],[254,6],[305,6],[472,6],[538,6]]},"36":{"position":[[1161,6],[1839,6],[1846,6]]},"37":{"position":[[265,6],[331,6]]},"61":{"position":[[395,6],[611,6],[626,6],[981,6],[992,6],[1082,6],[1962,7],[2615,7],[3206,7],[3359,6],[3366,7]]},"67":{"position":[[453,6],[464,6]]},"99":{"position":[[496,6],[3999,6],[4052,6],[4306,6]]},"201":{"position":[[162,6],[173,6],[282,6],[334,6],[501,6],[567,6]]},"202":{"position":[[1161,6],[1839,6],[1846,6]]},"203":{"position":[[284,6],[350,6]]},"204":{"position":[[385,6],[396,6],[505,6],[671,6],[737,6]]},"205":{"position":[[507,6],[573,6]]},"206":{"position":[[179,6],[190,6],[299,6],[351,6],[672,6]]},"207":{"position":[[455,6]]},"253":{"position":[[3486,6],[5515,6]]},"260":{"position":[[376,7]]},"262":{"position":[[443,6]]},"266":{"position":[[164,6],[175,6],[281,6],[333,6],[499,6],[565,6]]},"267":{"position":[[1156,6],[1834,6],[1841,6]]},"268":{"position":[[291,6],[357,6]]},"269":{"position":[[334,6],[345,6],[451,6],[622,6]]},"270":{"position":[[291,6]]},"271":{"position":[[181,6],[192,6],[298,6],[350,6],[665,6]]},"272":{"position":[[457,6]]},"329":{"position":[[244,7]]},"457":{"position":[[227,7]]},"703":{"position":[[35,6],[179,6],[1306,6]]}},"keywords":{}}],["ok",{"_index":921,"title":{},"content":{"42":{"position":[[561,2]]},"43":{"position":[[701,2],[6321,2]]},"254":{"position":[[2328,3]]},"504":{"position":[[629,3]]},"552":{"position":[[304,2],[614,2]]},"563":{"position":[[242,2],[552,2]]},"577":{"position":[[1073,2],[1383,2]]},"589":{"position":[[241,2],[551,2]]},"598":{"position":[[260,2],[570,2]]},"605":{"position":[[867,3]]},"634":{"position":[[63,2],[242,2]]}},"keywords":{}}],["okset",{"_index":3330,"title":{},"content":{"347":{"position":[[1012,5]]}},"keywords":{}}],["older",{"_index":1780,"title":{},"content":{"98":{"position":[[193,5]]}},"keywords":{}}],["omit",{"_index":2293,"title":{},"content":{"227":{"position":[[4185,7]]}},"keywords":{}}],["omit_deprecated=${omit_deprec",{"_index":3011,"title":{},"content":{"318":{"position":[[192,34]]}},"keywords":{}}],["omit_deprecated=tru",{"_index":3010,"title":{},"content":{"318":{"position":[[167,20]]}},"keywords":{}}],["on",{"_index":447,"title":{},"content":{"20":{"position":[[947,3]]},"36":{"position":[[740,3],[920,3]]},"44":{"position":[[687,4],[1447,3]]},"46":{"position":[[1003,3],[1058,3]]},"61":{"position":[[1288,4],[1314,4],[1919,3]]},"69":{"position":[[2176,3],[2320,3],[2517,3]]},"75":{"position":[[108,3]]},"76":{"position":[[131,3]]},"77":{"position":[[130,3]]},"78":{"position":[[122,3]]},"115":{"position":[[49,3]]},"140":{"position":[[152,3]]},"143":{"position":[[69,3]]},"168":{"position":[[376,3]]},"178":{"position":[[136,3]]},"179":{"position":[[343,3]]},"198":{"position":[[89,3]]},"202":{"position":[[740,3],[920,3]]},"204":{"position":[[187,3]]},"205":{"position":[[187,3]]},"213":{"position":[[129,3],[309,3]]},"223":{"position":[[119,3]]},"227":{"position":[[3169,3],[3308,3],[4087,3]]},"240":{"position":[[159,3]]},"253":{"position":[[6045,3],[6261,3]]},"259":{"position":[[113,3]]},"261":{"position":[[333,3]]},"267":{"position":[[735,3],[915,3]]},"269":{"position":[[89,3]]},"275":{"position":[[138,3],[318,3]]},"291":{"position":[[1413,4]]},"292":{"position":[[841,4]]},"303":{"position":[[2306,3]]},"304":{"position":[[878,3],[1047,3],[3419,3]]},"307":{"position":[[684,3]]},"322":{"position":[[1627,3]]},"324":{"position":[[3713,4]]},"355":{"position":[[964,3]]},"356":{"position":[[132,3]]},"359":{"position":[[2093,3]]},"373":{"position":[[132,3]]},"383":{"position":[[132,3]]},"384":{"position":[[505,3]]},"444":{"position":[[73,3]]},"453":{"position":[[75,3]]},"454":{"position":[[266,3]]},"464":{"position":[[602,3]]},"476":{"position":[[4247,3]]},"478":{"position":[[963,3]]},"479":{"position":[[221,3],[312,3]]},"480":{"position":[[934,3]]},"482":{"position":[[1260,3],[1283,3]]},"485":{"position":[[382,3]]},"488":{"position":[[1669,3]]},"495":{"position":[[1039,3]]},"499":{"position":[[394,3]]},"501":{"position":[[604,3],[685,3],[807,3],[832,3],[866,3],[963,3],[1085,3]]},"511":{"position":[[186,3]]},"522":{"position":[[66,3]]},"528":{"position":[[258,3]]},"538":{"position":[[38,3]]},"577":{"position":[[813,3]]},"596":{"position":[[61,3]]},"627":{"position":[[657,6],[738,6],[808,6],[838,5],[857,4],[972,6],[1053,6],[1123,6],[1155,6],[1176,5]]},"632":{"position":[[1639,4],[2035,4]]},"675":{"position":[[31,3]]},"685":{"position":[[43,4]]},"713":{"position":[[31,3]]},"714":{"position":[[30,3]]},"718":{"position":[[557,3]]},"725":{"position":[[31,3]]},"726":{"position":[[30,3]]},"728":{"position":[[561,3]]},"746":{"position":[[164,3]]},"764":{"position":[[70,4]]}},"keywords":{}}],["onc",{"_index":1575,"title":{},"content":{"83":{"position":[[830,4]]},"85":{"position":[[1343,4]]},"254":{"position":[[428,4]]},"263":{"position":[[332,4]]},"488":{"position":[[1448,5]]},"491":{"position":[[153,4]]},"492":{"position":[[200,4]]},"501":{"position":[[555,4]]},"505":{"position":[[1,4]]},"513":{"position":[[302,4]]},"514":{"position":[[1284,4]]},"527":{"position":[[307,4]]},"528":{"position":[[1401,4]]},"540":{"position":[[209,4]]},"557":{"position":[[1,4]]},"607":{"position":[[184,4]]}},"keywords":{}}],["onecor",{"_index":3599,"title":{},"content":{"357":{"position":[[4474,7]]}},"keywords":{}}],["one}"",{"_index":4394,"title":{},"content":{"501":{"position":[[838,13]]}},"keywords":{}}],["onlin",{"_index":4083,"title":{},"content":{"460":{"position":[[276,6]]},"464":{"position":[[546,6]]},"469":{"position":[[647,6]]}},"keywords":{}}],["only"",{"_index":680,"title":{},"content":{"36":{"position":[[1046,10]]},"202":{"position":[[1046,10]]},"267":{"position":[[1041,10]]}},"keywords":{}}],["onto",{"_index":1141,"title":{"46":{"position":[[27,4]]}},"content":{"439":{"position":[[12,4],[233,4]]},"440":{"position":[[42,4]]},"443":{"position":[[14,4]]},"444":{"position":[[29,4]]},"445":{"position":[[13,4]]}},"keywords":{}}],["op",{"_index":3681,"title":{},"content":{"363":{"position":[[983,3]]},"610":{"position":[[110,5]]}},"keywords":{}}],["opcod",{"_index":2141,"title":{},"content":{"204":{"position":[[2106,6]]},"205":{"position":[[1949,6]]}},"keywords":{}}],["open",{"_index":573,"title":{"42":{"position":[[32,4]]},"738":{"position":[[0,8]]}},"content":{"27":{"position":[[136,4]]},"32":{"position":[[25,4]]},"42":{"position":[[15,4]]},"44":{"position":[[205,4]]},"46":{"position":[[1549,4]]},"49":{"position":[[136,4]]},"50":{"position":[[198,4]]},"103":{"position":[[39,4]]},"139":{"position":[[16,4],[93,4]]},"175":{"position":[[17,4],[94,4]]},"188":{"position":[[93,5],[186,5],[239,5]]},"192":{"position":[[207,4]]},"227":{"position":[[951,5],[2215,5]]},"240":{"position":[[720,4]]},"243":{"position":[[63,4]]},"253":{"position":[[2681,4],[4679,4],[6412,4]]},"254":{"position":[[1095,4],[1190,4]]},"257":{"position":[[1619,4]]},"299":{"position":[[224,4],[335,4]]},"301":{"position":[[1562,7]]},"304":{"position":[[1063,7],[1410,4],[1514,5]]},"306":{"position":[[371,4],[527,4],[571,4]]},"321":{"position":[[182,4]]},"328":{"position":[[804,4],[1742,7]]},"332":{"position":[[191,4]]},"338":{"position":[[1070,6]]},"347":{"position":[[1864,4],[2592,4]]},"350":{"position":[[15,4]]},"351":{"position":[[1,4]]},"353":{"position":[[29,4]]},"356":{"position":[[54,4]]},"357":{"position":[[397,7]]},"359":{"position":[[21,4],[1691,4],[1751,4]]},"364":{"position":[[660,4],[1019,5]]},"394":{"position":[[1,4]]},"424":{"position":[[511,4],[723,4]]},"425":{"position":[[378,4]]},"429":{"position":[[1394,4]]},"441":{"position":[[707,4]]},"442":{"position":[[1620,4]]},"482":{"position":[[518,7]]},"517":{"position":[[145,4]]},"541":{"position":[[251,5],[344,5]]},"542":{"position":[[272,5],[373,5]]},"552":{"position":[[3,5],[166,4],[191,4]]},"555":{"position":[[137,5],[253,5]]},"563":{"position":[[3,5],[104,4],[129,4]]},"572":{"position":[[11,7],[38,4]]},"573":{"position":[[51,4]]},"577":{"position":[[935,4],[960,4]]},"585":{"position":[[432,4]]},"589":{"position":[[3,4],[103,4],[128,4]]},"598":{"position":[[3,4],[122,4],[147,4]]},"603":{"position":[[169,5],[241,7]]},"605":{"position":[[160,6],[290,5],[306,4],[382,4],[679,4]]},"607":{"position":[[48,7],[110,4]]},"612":{"position":[[1,7]]},"617":{"position":[[258,4]]},"738":{"position":[[33,5]]},"739":{"position":[[1,5]]},"740":{"position":[[11,4]]},"741":{"position":[[12,4]]}},"keywords":{}}],["open_directory_dialog",{"_index":4684,"title":{},"content":{"621":{"position":[[2847,21]]},"632":{"position":[[218,21],[349,21]]}},"keywords":{}}],["open_file_dialog",{"_index":4788,"title":{"631":{"position":[[0,17]]}},"content":{"632":{"position":[[5,16]]}},"keywords":{}}],["open_file_dialog("<title>"",{"_index":4791,"title":{},"content":{"632":{"position":[[463,43],[700,43]]}},"keywords":{}}],["open_file_dialog("open",{"_index":4800,"title":{},"content":{"632":{"position":[[1325,27],[1732,27]]}},"keywords":{}}],["open_files_dialog",{"_index":4789,"title":{"632":{"position":[[0,18]]}},"content":{"632":{"position":[[26,17]]}},"keywords":{}}],["open_files_dialog("<title>"",{"_index":4794,"title":{},"content":{"632":{"position":[[572,44],[808,44]]}},"keywords":{}}],["open_files_dialog("open",{"_index":4804,"title":{},"content":{"632":{"position":[[1506,28],[1900,28]]}},"keywords":{}}],["openc3",{"_index":337,"title":{"21":{"position":[[13,6]]},"42":{"position":[[18,6]]},"43":{"position":[[18,6]]},"107":{"position":[[30,6]]},"108":{"position":[[0,6]]},"109":{"position":[[0,6]]},"236":{"position":[[0,6]]},"287":{"position":[[11,6]]},"288":{"position":[[11,6]]},"324":{"position":[[0,6]]},"458":{"position":[[0,7]]},"469":{"position":[[9,6]]}},"content":{"12":{"position":[[302,6]]},"13":{"position":[[51,6]]},"14":{"position":[[48,6]]},"20":{"position":[[391,8],[427,8],[1210,8],[1341,8]]},"22":{"position":[[46,6]]},"23":{"position":[[108,6],[150,6]]},"36":{"position":[[1191,6],[5545,6],[9704,6],[9879,6],[9987,6],[10277,6]]},"39":{"position":[[196,6]]},"42":{"position":[[1,6]]},"43":{"position":[[1,6]]},"83":{"position":[[2482,6],[2610,6],[2730,6],[2817,6],[2930,6],[3040,6]]},"84":{"position":[[132,6],[221,6],[280,6]]},"85":{"position":[[267,6],[282,6],[362,6],[398,6],[415,6],[492,6],[513,6],[595,6],[679,6],[705,6],[800,6],[847,6],[907,6],[1047,6],[1106,6],[1173,6],[1250,6],[1293,6]]},"89":{"position":[[195,7]]},"97":{"position":[[16,6]]},"103":{"position":[[640,6]]},"123":{"position":[[64,6],[238,6],[527,6]]},"133":{"position":[[111,6],[154,6]]},"135":{"position":[[246,6]]},"137":{"position":[[200,6]]},"171":{"position":[[80,6],[418,6],[475,6]]},"173":{"position":[[193,6],[220,6]]},"174":{"position":[[468,6]]},"175":{"position":[[288,6]]},"176":{"position":[[84,6],[419,6]]},"177":{"position":[[13,6],[28,6],[91,6],[274,6],[366,6]]},"178":{"position":[[233,6],[315,6]]},"179":{"position":[[150,6]]},"184":{"position":[[59,6],[439,6]]},"188":{"position":[[227,7]]},"189":{"position":[[56,6]]},"191":{"position":[[121,6]]},"202":{"position":[[1191,6],[5545,6],[9704,6],[9879,6],[9987,6],[10277,6]]},"210":{"position":[[29,6]]},"229":{"position":[[136,6],[293,6],[649,6],[901,6],[974,6]]},"230":{"position":[[162,6],[273,6]]},"231":{"position":[[174,6],[297,6]]},"232":{"position":[[195,6],[329,6]]},"233":{"position":[[210,6],[354,6]]},"234":{"position":[[252,6],[353,6]]},"235":{"position":[[460,6],[545,6]]},"240":{"position":[[793,6],[876,6],[973,6],[1064,6],[1157,6],[1218,6],[1309,6],[1432,6],[1632,6],[1724,6],[1802,6],[1855,6]]},"241":{"position":[[273,6]]},"249":{"position":[[255,6],[281,6]]},"253":{"position":[[528,6],[741,6],[1488,6],[2215,6],[2233,6],[2690,6],[4688,6],[6421,6]]},"254":{"position":[[58,6],[153,6],[192,6],[598,6],[1199,6],[1872,6],[1967,6],[2006,6],[2126,6],[2437,6]]},"257":{"position":[[1225,6],[1472,6]]},"267":{"position":[[1186,6],[4025,6],[9592,7],[9979,7]]},"277":{"position":[[250,7]]},"278":{"position":[[42,6]]},"287":{"position":[[44,6]]},"291":{"position":[[335,6]]},"292":{"position":[[904,8],[1301,6],[1345,6],[1395,6],[1441,6]]},"315":{"position":[[183,6],[284,6]]},"320":{"position":[[456,6]]},"321":{"position":[[85,6],[3569,6]]},"322":{"position":[[235,6],[465,6],[523,6]]},"334":{"position":[[524,6],[619,6],[659,6]]},"337":{"position":[[55,6],[78,6]]},"340":{"position":[[14,6],[47,6],[80,6],[134,6]]},"347":{"position":[[2528,6]]},"350":{"position":[[311,6],[641,6],[709,6],[962,6]]},"352":{"position":[[612,6],[768,6],[910,6],[1154,8]]},"357":{"position":[[1154,6],[1227,6],[1310,6],[1384,6],[1460,6],[1550,6],[1623,6],[1704,6],[1775,6],[1846,6],[2645,6],[2716,6],[2801,6],[2875,6],[2950,6],[3040,6],[3113,6],[3195,6],[3266,6],[3337,6]]},"359":{"position":[[226,6],[1602,6],[2022,6],[2115,7]]},"360":{"position":[[227,6],[288,7],[537,7]]},"361":{"position":[[40,7]]},"362":{"position":[[715,6]]},"363":{"position":[[62,7],[121,7],[383,7]]},"394":{"position":[[41,6]]},"429":{"position":[[732,6]]},"453":{"position":[[43,6]]},"459":{"position":[[264,7]]},"461":{"position":[[276,7],[417,6]]},"462":{"position":[[109,7]]},"464":{"position":[[1,7]]},"467":{"position":[[1029,7],[1269,7],[1344,7],[1479,7]]},"469":{"position":[[172,7],[452,7]]},"471":{"position":[[32,7]]},"472":{"position":[[150,7]]},"754":{"position":[[766,6],[924,6]]}},"keywords":{}}],["openc3.bat",{"_index":2419,"title":{},"content":{"237":{"position":[[213,10]]},"253":{"position":[[231,10],[793,10],[1437,10],[2255,10],[2395,10]]},"254":{"position":[[80,10],[1894,10]]},"256":{"position":[[311,10],[456,10]]},"292":{"position":[[346,10]]},"452":{"position":[[186,10]]},"453":{"position":[[185,10]]}},"keywords":{}}],["openc3.cod",{"_index":1564,"title":{},"content":{"83":{"position":[[229,11]]}},"keywords":{}}],["openc3.conversions.convers",{"_index":777,"title":{},"content":{"36":{"position":[[5838,29]]},"202":{"position":[[5838,29]]},"267":{"position":[[4318,29]]}},"keywords":{}}],["openc3.script",{"_index":1448,"title":{},"content":{"69":{"position":[[1306,13]]},"476":{"position":[[2728,13]]},"754":{"position":[[1579,13]]}},"keywords":{}}],["openc3.script.suit",{"_index":4361,"title":{},"content":{"497":{"position":[[592,19]]},"610":{"position":[[587,19]]},"611":{"position":[[324,19]]},"754":{"position":[[1607,19]]}},"keywords":{}}],["openc3.sh",{"_index":522,"title":{},"content":{"23":{"position":[[350,11]]},"83":{"position":[[638,9],[659,11],[2225,11]]},"103":{"position":[[23,9]]},"229":{"position":[[180,9],[252,9]]},"230":{"position":[[182,9],[293,9]]},"231":{"position":[[194,9],[317,9]]},"232":{"position":[[215,9],[349,9]]},"233":{"position":[[230,9],[374,9]]},"234":{"position":[[272,9],[373,9]]},"235":{"position":[[480,9],[565,9]]},"237":{"position":[[199,9]]},"253":{"position":[[245,9],[806,9]]},"290":{"position":[[374,11],[782,11]]},"292":{"position":[[375,11],[989,9],[1043,11],[1062,11]]},"315":{"position":[[390,9],[499,9]]},"324":{"position":[[3871,11]]},"325":{"position":[[749,11]]},"331":{"position":[[148,9]]},"334":{"position":[[545,11]]},"347":{"position":[[2551,11]]}},"keywords":{}}],["openc3.utilities.str",{"_index":4763,"title":{},"content":{"628":{"position":[[897,23]]}},"keywords":{}}],["openc3/conversions/convers",{"_index":766,"title":{},"content":{"36":{"position":[[5506,31]]},"202":{"position":[[5506,31]]},"267":{"position":[[3986,31]]}},"keywords":{}}],["openc3/conversions/unix_time_conversion.pi",{"_index":2644,"title":{},"content":{"263":{"position":[[1530,42]]}},"keywords":{}}],["openc3/cosmos:main",{"_index":4018,"title":{},"content":{"449":{"position":[[524,18]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.pi",{"_index":1438,"title":{},"content":{"69":{"position":[[696,39]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.rb",{"_index":1437,"title":{},"content":{"69":{"position":[[645,39]]}},"keywords":{}}],["openc3/interfaces/tcpip_client_interface.pi",{"_index":1221,"title":{},"content":{"49":{"position":[[1731,43],[1881,43],[2010,43],[2140,43],[2293,43],[2420,43],[2555,43]]},"50":{"position":[[1949,43],[2169,43]]},"54":{"position":[[1457,43],[1586,43],[1716,43],[1855,43],[2008,43],[2135,43]]},"125":{"position":[[282,43]]},"126":{"position":[[375,43]]},"127":{"position":[[381,43]]},"134":{"position":[[1004,43]]},"253":{"position":[[6812,43]]}},"keywords":{}}],["openc3/interfaces/tcpip_client_interface.rb",{"_index":1285,"title":{},"content":{"54":{"position":[[2709,43]]}},"keywords":{}}],["openc3/interfaces/tcpip_server_interface.pi",{"_index":1227,"title":{},"content":{"50":{"position":[[1471,43],[1600,43],[1708,43],[1817,43],[2055,43]]}},"keywords":{}}],["openc3/interfaces/udp_interface.pi",{"_index":1241,"title":{},"content":{"51":{"position":[[1041,34]]}},"keywords":{}}],["openc3/lib/openc3/microservic",{"_index":1999,"title":{},"content":{"138":{"position":[[472,34]]}},"keywords":{}}],["openc3/openc3",{"_index":1626,"title":{},"content":{"83":{"position":[[2381,13],[2503,13],[2637,13],[2747,13],[2835,13],[2945,13]]}},"keywords":{}}],["openc3/packets/command_valid",{"_index":2188,"title":{},"content":{"224":{"position":[[631,34]]}},"keywords":{}}],["openc3/script",{"_index":1442,"title":{},"content":{"69":{"position":[[1039,15]]}},"keywords":{}}],["openc3/script/suite.rb",{"_index":4591,"title":{},"content":{"610":{"position":[[362,24]]},"754":{"position":[[1071,24]]}},"keywords":{}}],["openc3/tool",{"_index":1667,"title":{},"content":{"84":{"position":[[850,13]]}},"keywords":{}}],["openc3/win32/excel",{"_index":4420,"title":{},"content":{"507":{"position":[[506,20]]}},"keywords":{}}],["openc3::commandvalid",{"_index":2190,"title":{},"content":{"224":{"position":[[693,24]]}},"keywords":{}}],["openc3::group",{"_index":4355,"title":{},"content":{"497":{"position":[[331,13]]},"508":{"position":[[590,13]]},"610":{"position":[[411,13]]},"754":{"position":[[1120,13],[1207,13]]}},"keywords":{}}],["openc3::group.put",{"_index":4357,"title":{},"content":{"497":{"position":[[408,18]]}},"keywords":{}}],["openc3::suit",{"_index":4606,"title":{},"content":{"611":{"position":[[150,13]]},"754":{"position":[[1377,13]]}},"keywords":{}}],["openc3_first_init.sh",{"_index":1185,"title":{},"content":{"46":{"position":[[1481,22]]}},"keywords":{}}],["openc3_install.sh",{"_index":1174,"title":{},"content":{"46":{"position":[[1107,19]]}},"keywords":{}}],["openc3_install_minio.sh",{"_index":1181,"title":{},"content":{"46":{"position":[[1373,25]]}},"keywords":{}}],["openc3_install_openc3.sh",{"_index":1183,"title":{},"content":{"46":{"position":[[1427,26]]}},"keywords":{}}],["openc3_install_packages.sh",{"_index":1178,"title":{},"content":{"46":{"position":[[1293,28]]}},"keywords":{}}],["openc3_install_redis.sh",{"_index":1180,"title":{},"content":{"46":{"position":[[1347,25]]}},"keywords":{}}],["openc3_install_ruby.sh",{"_index":1179,"title":{},"content":{"46":{"position":[[1322,24]]}},"keywords":{}}],["openc3_install_traefik.sh",{"_index":1182,"title":{},"content":{"46":{"position":[[1399,27]]}},"keywords":{}}],["openc3_languag",{"_index":2514,"title":{},"content":{"253":{"position":[[1354,15]]}},"keywords":{}}],["openc3_local_mode=1",{"_index":3251,"title":{},"content":{"333":{"position":[[85,20]]}},"keywords":{}}],["openc3_log_messag",{"_index":3292,"title":{},"content":{"344":{"position":[[31,19]]}},"keywords":{}}],["openc3_redis_ephemeral_hostname=127.0.0.1",{"_index":1688,"title":{},"content":{"85":{"position":[[1208,41]]}},"keywords":{}}],["openc3_redis_hostname=127.0.0.1",{"_index":1687,"title":{},"content":{"85":{"position":[[1141,31]]}},"keywords":{}}],["openc3_start_services.sh",{"_index":1184,"title":{},"content":{"46":{"position":[[1454,26]]}},"keywords":{}}],["openc3_tag",{"_index":2824,"title":{},"content":{"292":{"position":[[449,10]]}},"keywords":{}}],["openc3_tag=5.1.1",{"_index":2594,"title":{},"content":{"256":{"position":[[386,16]]}},"keywords":{}}],["openc3auth.updatetoken(openc3auth.defaultminvalidity).then",{"_index":2269,"title":{},"content":{"227":{"position":[[2534,61],[3537,61]]}},"keywords":{}}],["openc3cli",{"_index":3261,"title":{"339":{"position":[[17,10]]}},"content":{"337":{"position":[[289,9]]},"338":{"position":[[411,9]]},"339":{"position":[[1,9],[61,9],[290,9]]}},"keywords":{}}],["openc3inc",{"_index":2788,"title":{},"content":{"290":{"position":[[406,9],[498,9]]}},"keywords":{}}],["openc3inc/openc3",{"_index":1579,"title":{},"content":{"83":{"position":[[957,16],[1025,16],[1106,16],[1179,16],[1242,16],[1301,16],[1361,16],[1423,16],[1483,16],[1542,16]]}},"keywords":{}}],["opendistro",{"_index":3394,"title":{"351":{"position":[[0,11]]}},"content":{"351":{"position":[[383,10]]}},"keywords":{}}],["opendistro_secur",{"_index":3404,"title":{},"content":{"351":{"position":[[590,19]]}},"keywords":{}}],["openopen",{"_index":4573,"title":{},"content":{"605":{"position":[[110,9]]}},"keywords":{}}],["opensourc",{"_index":2260,"title":{},"content":{"227":{"position":[[1792,10]]}},"keywords":{}}],["openssl",{"_index":405,"title":{},"content":{"20":{"position":[[249,7],[315,7],[1498,7],[1537,7]]},"25":{"position":[[36,7]]},"27":{"position":[[22,7],[99,7],[266,7],[695,7],[821,7],[1071,8]]},"28":{"position":[[148,7]]}},"keywords":{}}],["openssl\\bin",{"_index":572,"title":{},"content":{"27":{"position":[[116,11]]}},"keywords":{}}],["oper",{"_index":1591,"title":{},"content":{"83":{"position":[[1196,8],[2824,8]]},"88":{"position":[[314,11]]},"107":{"position":[[181,9]]},"108":{"position":[[517,9]]},"230":{"position":[[79,7]]},"231":{"position":[[91,7]]},"232":{"position":[[87,7]]},"233":{"position":[[97,7]]},"234":{"position":[[169,7]]},"235":{"position":[[80,7]]},"239":{"position":[[118,9]]},"240":{"position":[[333,9],[508,9],[883,8]]},"267":{"position":[[9635,11],[9806,11],[10022,11],[10192,11]]},"287":{"position":[[79,9]]},"299":{"position":[[927,9]]},"304":{"position":[[1488,10],[1583,10],[6815,10]]},"315":{"position":[[190,9],[291,9]]},"322":{"position":[[369,8],[1794,8],[1989,8]]},"324":{"position":[[624,9],[1498,9]]},"341":{"position":[[108,8]]},"357":{"position":[[1391,8],[2882,8],[3574,9]]},"360":{"position":[[440,10],[1335,11]]},"384":{"position":[[306,8]]},"461":{"position":[[616,9]]},"474":{"position":[[160,10]]},"480":{"position":[[1062,9]]},"482":{"position":[[865,10]]},"483":{"position":[[66,10]]},"488":{"position":[[803,10]]},"497":{"position":[[22,9]]},"511":{"position":[[11,8]]},"513":{"position":[[373,9]]},"525":{"position":[[177,10]]},"548":{"position":[[193,9]]},"599":{"position":[[783,9]]},"610":{"position":[[62,11]]},"612":{"position":[[1123,8]]},"700":{"position":[[1312,11],[1462,11]]}},"keywords":{}}],["operand"",{"_index":4435,"title":{},"content":{"513":{"position":[[231,14],[336,13],[421,13]]}},"keywords":{}}],["operator:latest",{"_index":1639,"title":{},"content":{"83":{"position":[[2761,15]]}},"keywords":{}}],["operator_1"",{"_index":3124,"title":{},"content":{"322":{"position":[[920,17]]}},"keywords":{}}],["opportun",{"_index":1525,"title":{},"content":{"75":{"position":[[1797,11]]},"227":{"position":[[2076,11]]},"462":{"position":[[523,11]]},"468":{"position":[[27,11]]}},"keywords":{}}],["opposit",{"_index":3834,"title":{},"content":{"404":{"position":[[744,9]]}},"keywords":{}}],["opt",{"_index":4053,"title":{"468":{"position":[[10,3]]}},"content":{"459":{"position":[[253,4]]},"466":{"position":[[724,3],[815,3],[926,3]]},"468":{"position":[[42,3],[144,3]]}},"keywords":{}}],["optim",{"_index":1660,"title":{},"content":{"84":{"position":[[516,10]]},"488":{"position":[[1394,9]]}},"keywords":{}}],["option",{"_index":153,"title":{"135":{"position":[[0,7]]},"179":{"position":[[0,7]]},"612":{"position":[[13,8]]}},"content":{"5":{"position":[[379,8],[1296,9]]},"12":{"position":[[111,9],[526,8]]},"20":{"position":[[846,6],[1518,8]]},"29":{"position":[[106,8]]},"43":{"position":[[1178,8],[1203,8]]},"44":{"position":[[1886,8]]},"50":{"position":[[2455,6]]},"52":{"position":[[1875,6]]},"69":{"position":[[4579,7]]},"93":{"position":[[706,9],[1056,8],[1616,8]]},"99":{"position":[[1200,10],[3088,10],[3503,10],[3636,10]]},"103":{"position":[[160,6],[300,10]]},"135":{"position":[[42,6],[172,7],[231,6],[269,7],[637,6],[741,6],[768,6],[876,6]]},"136":{"position":[[99,10],[134,6],[433,6],[455,6]]},"179":{"position":[[9,6],[58,7],[186,6],[231,7],[315,6],[327,6],[384,6]]},"227":{"position":[[3240,8]]},"253":{"position":[[2444,8],[7091,6]]},"263":{"position":[[1154,12]]},"267":{"position":[[10666,7],[10700,7]]},"276":{"position":[[319,7],[353,7]]},"303":{"position":[[1534,10],[1698,10]]},"307":{"position":[[453,6]]},"322":{"position":[[1386,8]]},"324":{"position":[[1,8],[23,6],[2814,8]]},"325":{"position":[[364,8]]},"338":{"position":[[1370,6],[1416,6],[1585,6]]},"347":{"position":[[1416,7]]},"374":{"position":[[101,7]]},"431":{"position":[[229,6]]},"440":{"position":[[64,8]]},"446":{"position":[[916,6]]},"490":{"position":[[274,6]]},"492":{"position":[[377,11]]},"495":{"position":[[1238,6]]},"507":{"position":[[76,6]]},"514":{"position":[[717,10]]},"533":{"position":[[142,7]]},"534":{"position":[[231,7],[535,8]]},"538":{"position":[[64,8]]},"540":{"position":[[571,6]]},"548":{"position":[[101,8]]},"550":{"position":[[198,7]]},"603":{"position":[[283,7]]},"608":{"position":[[43,8]]},"612":{"position":[[61,7],[1543,6]]},"623":{"position":[[443,9]]},"624":{"position":[[409,9]]},"632":{"position":[[1038,8],[1111,8],[1570,8],[1964,8]]},"636":{"position":[[1133,8],[1219,8],[1399,8]]},"637":{"position":[[1355,8],[1441,8]]},"638":{"position":[[1376,8],[1462,8]]},"639":{"position":[[1409,8],[1495,8]]},"640":{"position":[[1209,8],[1295,8]]},"641":{"position":[[1426,8],[1512,8]]},"642":{"position":[[1447,8],[1533,8]]},"643":{"position":[[1480,8],[1566,8]]},"651":{"position":[[377,11]]},"670":{"position":[[404,8]]},"682":{"position":[[526,11]]},"700":{"position":[[1192,9],[1342,9],[1492,9],[1631,9],[1819,9]]},"702":{"position":[[165,11]]}},"keywords":{}}],["optional>",{"_index":4949,"title":{},"content":{"651":{"position":[[215,13]]},"652":{"position":[[384,13]]}},"keywords":{}}],["optional>"",{"_index":4962,"title":{},"content":{"653":{"position":[[112,19],[157,19]]},"656":{"position":[[437,19]]},"659":{"position":[[224,19]]}},"keywords":{}}],["optional)>",{"_index":5124,"title":{},"content":{"681":{"position":[[794,15]]},"683":{"position":[[530,15]]},"684":{"position":[[453,15]]},"685":{"position":[[416,15]]},"686":{"position":[[432,15]]},"687":{"position":[[465,15]]},"688":{"position":[[339,15]]},"700":{"position":[[399,15],[430,15],[461,15],[493,15],[521,15]]},"711":{"position":[[160,15]]},"720":{"position":[[121,15]]},"739":{"position":[[173,15],[204,15]]},"746":{"position":[[335,15],[366,15]]}},"keywords":{}}],["optional)>"",{"_index":5296,"title":{},"content":{"713":{"position":[[168,21]]},"714":{"position":[[166,21]]},"725":{"position":[[159,21]]},"726":{"position":[[157,21]]}},"keywords":{}}],["optionalraspbeerri",{"_index":3303,"title":{},"content":{"347":{"position":[[263,18]]}},"keywords":{}}],["options)open",{"_index":1075,"title":{},"content":{"44":{"position":[[1708,12]]}},"keywords":{}}],["orang",{"_index":3850,"title":{},"content":{"411":{"position":[[336,7]]}},"keywords":{}}],["orbit",{"_index":1893,"title":{},"content":{"108":{"position":[[628,6]]},"482":{"position":[[907,5]]}},"keywords":{}}],["order",{"_index":789,"title":{},"content":{"36":{"position":[[6408,5],[6487,5],[6529,5],[6583,5],[7204,5],[7283,5],[7325,5],[7379,5],[9934,5]]},"54":{"position":[[3406,5],[3442,5],[3527,5]]},"69":{"position":[[3661,5],[3828,7]]},"99":{"position":[[1850,5],[2512,5],[5011,5]]},"146":{"position":[[65,5]]},"153":{"position":[[74,5]]},"202":{"position":[[6408,5],[6487,5],[6529,5],[6583,5],[7204,5],[7283,5],[7325,5],[7379,5],[9934,5]]},"230":{"position":[[988,5]]},"240":{"position":[[479,5]]},"267":{"position":[[4947,5],[5026,5],[5068,5],[5122,5],[5805,5],[5884,5],[5926,5],[5980,5]]},"297":{"position":[[253,5]]},"459":{"position":[[1687,5]]},"461":{"position":[[364,5],[749,5],[789,5],[857,5],[1212,5]]},"464":{"position":[[553,6]]},"467":{"position":[[356,5],[421,5],[556,7]]},"546":{"position":[[116,5]]},"593":{"position":[[180,5],[214,5]]},"601":{"position":[[175,5],[208,5]]}},"keywords":{}}],["order.mak",{"_index":4014,"title":{},"content":{"449":{"position":[[298,10]]}},"keywords":{}}],["organ",{"_index":428,"title":{"484":{"position":[[7,13]]},"485":{"position":[[0,10]]},"486":{"position":[[0,8]]}},"content":{"20":{"position":[[571,12]]},"291":{"position":[[232,13],[440,13]]},"303":{"position":[[177,9]]},"304":{"position":[[827,9]]},"306":{"position":[[36,8],[136,9]]},"366":{"position":[[265,9]]},"401":{"position":[[21,9]]},"402":{"position":[[21,9]]},"485":{"position":[[140,12]]},"486":{"position":[[83,12]]},"487":{"position":[[53,8]]},"512":{"position":[[14,9],[63,12]]}},"keywords":{}}],["organis",{"_index":4070,"title":{},"content":{"459":{"position":[[1639,14],[1980,14]]}},"keywords":{}}],["organiz",{"_index":431,"title":{},"content":{"20":{"position":[[627,14]]},"523":{"position":[[134,14]]}},"keywords":{}}],["orient",{"_index":34,"title":{},"content":{"2":{"position":[[59,8]]},"298":{"position":[[150,8]]},"487":{"position":[[19,8]]}},"keywords":{}}],["origin",{"_index":929,"title":{},"content":{"42":{"position":[[728,6]]},"43":{"position":[[6469,6]]},"44":{"position":[[964,8]]},"63":{"position":[[83,8],[927,10]]},"225":{"position":[[112,8]]},"282":{"position":[[114,8]]},"334":{"position":[[364,10],[450,8]]},"363":{"position":[[278,8]]},"449":{"position":[[466,6]]},"628":{"position":[[118,9],[362,8],[390,8],[591,9],[814,9]]},"629":{"position":[[332,8]]},"630":{"position":[[322,8]]}},"keywords":{}}],["original=fals",{"_index":4756,"title":{},"content":{"628":{"position":[[200,15]]}},"keywords":{}}],["original=tru",{"_index":4766,"title":{},"content":{"628":{"position":[[1139,14]]}},"keywords":{}}],["os",{"_index":1154,"title":{},"content":{"46":{"position":[[469,2]]},"324":{"position":[[1992,2]]},"347":{"position":[[424,2],[797,2],[839,2],[1568,2]]}},"keywords":{}}],["os"",{"_index":3320,"title":{},"content":{"347":{"position":[[756,8]]}},"keywords":{}}],["oscilloscop",{"_index":15,"title":{},"content":{"1":{"position":[[157,14]]}},"keywords":{}}],["other",{"_index":2117,"title":{},"content":{"198":{"position":[[363,7]]},"257":{"position":[[1610,8]]},"259":{"position":[[393,7]]},"465":{"position":[[95,7]]},"479":{"position":[[174,7]]},"488":{"position":[[368,6]]},"508":{"position":[[477,7]]}},"keywords":{}}],["other)"select",{"_index":3323,"title":{},"content":{"347":{"position":[[800,19]]}},"keywords":{}}],["otherwis",{"_index":3646,"title":{},"content":{"360":{"position":[[1053,10]]}},"keywords":{}}],["our_target",{"_index":4188,"title":{},"content":{"476":{"position":[[2016,11],[2931,11],[3323,12],[4127,12]]}},"keywords":{}}],["our_targets.each",{"_index":4195,"title":{},"content":{"476":{"position":[[2397,16]]}},"keywords":{}}],["out",{"_index":97,"title":{"468":{"position":[[14,4]]}},"content":{"3":{"position":[[176,3]]},"20":{"position":[[387,3]]},"27":{"position":[[310,3],[747,3],[851,3]]},"28":{"position":[[202,3]]},"44":{"position":[[139,3],[1433,3]]},"56":{"position":[[210,3]]},"59":{"position":[[482,3]]},"63":{"position":[[907,3],[2618,3]]},"66":{"position":[[232,3]]},"69":{"position":[[4131,3],[4744,3],[4934,3],[5030,3]]},"77":{"position":[[346,3]]},"78":{"position":[[91,3],[345,3]]},"79":{"position":[[71,3],[379,3]]},"112":{"position":[[345,3]]},"116":{"position":[[43,3]]},"134":{"position":[[228,4]]},"168":{"position":[[45,3]]},"253":{"position":[[4630,3],[5880,3]]},"259":{"position":[[1877,3]]},"263":{"position":[[363,3]]},"267":{"position":[[8042,3]]},"302":{"position":[[65,3],[130,3],[281,3],[598,3]]},"303":{"position":[[1330,4],[1483,3]]},"328":{"position":[[601,3]]},"329":{"position":[[1358,3]]},"332":{"position":[[373,3]]},"357":{"position":[[4088,3]]},"360":{"position":[[1078,3]]},"364":{"position":[[489,3]]},"366":{"position":[[285,3]]},"403":{"position":[[378,3]]},"427":{"position":[[269,3]]},"459":{"position":[[258,4]]},"461":{"position":[[975,3]]},"466":{"position":[[671,3],[728,3],[819,3],[930,3]]},"468":{"position":[[46,3],[148,3]]},"481":{"position":[[181,3]]},"490":{"position":[[538,3]]},"492":{"position":[[461,3]]},"499":{"position":[[467,3]]},"575":{"position":[[291,3]]},"577":{"position":[[310,3],[548,3]]},"578":{"position":[[830,3],[1294,3]]},"605":{"position":[[812,3]]},"617":{"position":[[965,3]]},"681":{"position":[[1141,3]]},"682":{"position":[[908,3]]},"683":{"position":[[694,3]]},"685":{"position":[[147,4],[753,3]]},"686":{"position":[[804,3]]},"687":{"position":[[619,3]]},"688":{"position":[[549,3]]},"700":{"position":[[1685,3]]},"701":{"position":[[103,3]]}},"keywords":{}}],["out_of_limits_item",{"_index":5201,"title":{},"content":{"701":{"position":[[165,19]]}},"keywords":{}}],["outclick",{"_index":3342,"title":{},"content":{"347":{"position":[[1534,8]]}},"keywords":{}}],["outform",{"_index":598,"title":{},"content":{"28":{"position":[[189,7]]}},"keywords":{}}],["outgo",{"_index":1232,"title":{},"content":{"51":{"position":[[431,8],[552,8]]},"54":{"position":[[2333,8],[3077,8]]},"59":{"position":[[1035,8]]},"60":{"position":[[1504,8]]},"61":{"position":[[2506,8]]},"62":{"position":[[1336,8]]},"63":{"position":[[560,8],[1003,8],[2520,8]]},"67":{"position":[[34,8],[197,8]]},"134":{"position":[[452,8]]}},"keywords":{}}],["output",{"_index":203,"title":{"497":{"position":[[0,10]]},"554":{"position":[[20,7]]}},"content":{"6":{"position":[[197,6],[606,6],[710,7]]},"7":{"position":[[794,6]]},"69":{"position":[[2204,6],[4228,7]]},"77":{"position":[[96,6]]},"143":{"position":[[39,6]]},"257":{"position":[[1003,7]]},"259":{"position":[[1266,6]]},"345":{"position":[[548,6]]},"395":{"position":[[115,6]]},"428":{"position":[[100,6]]},"452":{"position":[[167,6],[249,6]]},"453":{"position":[[166,6],[245,6]]},"476":{"position":[[3944,7]]},"550":{"position":[[221,6]]},"552":{"position":[[122,6],[148,6]]},"553":{"position":[[88,6]]},"613":{"position":[[151,6]]},"656":{"position":[[244,7]]},"750":{"position":[[79,6],[252,6]]},"751":{"position":[[78,6]]}},"keywords":{}}],["outsid",{"_index":2597,"title":{},"content":{"257":{"position":[[440,7]]},"338":{"position":[[2038,7]]},"467":{"position":[[34,7]]},"476":{"position":[[925,7]]},"525":{"position":[[128,7]]}},"keywords":{}}],["over",{"_index":1242,"title":{},"content":{"52":{"position":[[43,4]]},"170":{"position":[[119,4]]},"183":{"position":[[125,4]]},"193":{"position":[[117,4]]},"196":{"position":[[119,4]]},"227":{"position":[[435,4]]},"298":{"position":[[1144,4]]},"320":{"position":[[618,4]]},"324":{"position":[[390,4]]},"334":{"position":[[979,4]]},"336":{"position":[[151,4]]},"352":{"position":[[179,4]]},"357":{"position":[[4152,4]]},"364":{"position":[[338,4]]},"397":{"position":[[113,4]]},"464":{"position":[[651,4]]},"476":{"position":[[4542,4]]},"483":{"position":[[132,4],[141,4],[388,4]]},"488":{"position":[[1634,4]]},"490":{"position":[[869,4]]},"550":{"position":[[140,4]]},"578":{"position":[[634,4]]},"599":{"position":[[531,4]]},"605":{"position":[[899,4]]},"684":{"position":[[913,4]]},"688":{"position":[[891,4]]}},"keywords":{}}],["overal",{"_index":2834,"title":{"298":{"position":[[0,7]]},"299":{"position":[[0,7]]}},"content":{"301":{"position":[[61,7]]},"304":{"position":[[1209,7]]},"369":{"position":[[183,8]]},"486":{"position":[[151,7]]},"577":{"position":[[44,7]]},"578":{"position":[[986,7]]},"702":{"position":[[13,7],[272,7]]}},"keywords":{}}],["overall_limits_st",{"_index":5206,"title":{},"content":{"702":{"position":[[370,20],[420,20]]}},"keywords":{}}],["overflow",{"_index":833,"title":{},"content":{"36":{"position":[[9624,9],[9673,9],[9761,9],[9845,8],[10294,8],[10445,8]]},"202":{"position":[[9624,9],[9673,9],[9761,9],[9845,8],[10294,8],[10445,8]]},"649":{"position":[[1442,11]]}},"keywords":{}}],["overhead",{"_index":1304,"title":{},"content":{"57":{"position":[[16,8]]}},"keywords":{}}],["overlap",{"_index":681,"title":{},"content":{"36":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"202":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"234":{"position":[[509,7]]},"267":{"position":[[1054,8],[1103,7],[1163,8],[1253,7]]},"280":{"position":[[48,7],[77,7],[149,7],[179,8]]},"512":{"position":[[204,11]]},"523":{"position":[[165,11],[209,7]]}},"keywords":{}}],["overload",{"_index":3463,"title":{},"content":{"356":{"position":[[802,10]]}},"keywords":{}}],["overrid",{"_index":361,"title":{},"content":{"15":{"position":[[197,9]]},"16":{"position":[[201,9]]},"36":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"38":{"position":[[57,8]]},"84":{"position":[[597,8]]},"85":{"position":[[1020,8]]},"133":{"position":[[899,8]]},"135":{"position":[[127,8]]},"198":{"position":[[381,8]]},"202":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"208":{"position":[[146,8]]},"225":{"position":[[143,8]]},"259":{"position":[[411,8]]},"267":{"position":[[516,8]]},"273":{"position":[[145,8],[468,9]]},"282":{"position":[[147,8],[542,9]]},"339":{"position":[[261,8],[458,8]]},"671":{"position":[[175,8],[458,9]]},"672":{"position":[[12,8],[448,9],[543,8],[635,9],[730,8]]}},"keywords":{}}],["overridden",{"_index":1441,"title":{},"content":{"69":{"position":[[947,10]]},"606":{"position":[[91,10]]},"673":{"position":[[39,10],[126,10]]}},"keywords":{}}],["override_tlm",{"_index":4683,"title":{"671":{"position":[[0,13]]}},"content":{"621":{"position":[[2834,12]]},"673":{"position":[[64,13],[187,13]]}},"keywords":{}}],["override_tlm("<target>",{"_index":5079,"title":{},"content":{"671":{"position":[[251,33]]}},"keywords":{}}],["override_tlm("inst",{"_index":5080,"title":{},"content":{"671":{"position":[[566,23],[655,23],[765,23],[854,23]]},"673":{"position":[[258,23],[1279,23]]}},"keywords":{}}],["override_tlm_raw",{"_index":4682,"title":{},"content":{"621":{"position":[[2772,16]]}},"keywords":{}}],["overview",{"_index":4025,"title":{"454":{"position":[[11,8]]},"511":{"position":[[0,9]]}},"content":{"486":{"position":[[130,8]]},"600":{"position":[[346,8]]},"601":{"position":[[468,8]]}},"keywords":{}}],["overwrit",{"_index":4541,"title":{},"content":{"586":{"position":[[133,9],[407,9]]}},"keywords":{}}],["overwritten",{"_index":4770,"title":{},"content":{"629":{"position":[[425,12]]},"669":{"position":[[85,11]]}},"keywords":{}}],["own",{"_index":4433,"title":{},"content":{"513":{"position":[[195,4]]},"591":{"position":[[69,5]]}},"keywords":{}}],["oylnwe0v3ajcytbvia3dp8rgo6bvv0ogkjwtlda6mbkyzn",{"_index":997,"title":{},"content":{"43":{"position":[[4269,46]]}},"keywords":{}}],["p",{"_index":1681,"title":{},"content":{"85":{"position":[[574,1]]},"324":{"position":[[3105,1]]}},"keywords":{}}],["p1234:1234/udp",{"_index":3031,"title":{},"content":{"319":{"position":[[194,14]]}},"keywords":{}}],["p1235:1235",{"_index":3032,"title":{},"content":{"319":{"position":[[210,10]]}},"keywords":{}}],["p7",{"_index":2809,"title":{},"content":{"291":{"position":[[928,5]]}},"keywords":{}}],["p7b",{"_index":2808,"title":{},"content":{"291":{"position":[[922,5]]}},"keywords":{}}],["packag",{"_index":2425,"title":{},"content":{"239":{"position":[[216,7],[359,8]]},"240":{"position":[[67,8]]},"324":{"position":[[1393,8],[1536,8],[1631,8]]},"467":{"position":[[685,10]]}},"keywords":{}}],["package.json",{"_index":2411,"title":{},"content":{"235":{"position":[[1357,12]]},"328":{"position":[[779,12],[809,12]]}},"keywords":{}}],["packet",{"_index":277,"title":{"56":{"position":[[0,6]]},"68":{"position":[[7,6]]},"97":{"position":[[0,6]]},"169":{"position":[[0,7]]},"263":{"position":[[18,6]]},"305":{"position":[[0,6]]},"498":{"position":[[65,8]]},"541":{"position":[[8,7]]},"542":{"position":[[10,7]]},"567":{"position":[[0,6]]},"569":{"position":[[0,6]]},"572":{"position":[[10,8]]},"674":{"position":[[0,6]]}},"content":{"7":{"position":[[1158,6]]},"14":{"position":[[143,6],[213,7]]},"17":{"position":[[24,6],[369,6]]},"18":{"position":[[26,7],[212,7],[374,6]]},"35":{"position":[[455,6],[499,6]]},"36":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6283,6],[6914,6],[7978,6],[8133,8],[8178,6],[8214,6],[8807,6]]},"37":{"position":[[248,6],[292,6]]},"51":{"position":[[28,7],[678,7]]},"54":{"position":[[75,6],[321,7],[469,7],[524,6],[2342,7],[2380,7],[2417,6],[3044,7],[3086,7]]},"56":{"position":[[31,6],[214,7]]},"57":{"position":[[144,6],[173,6],[262,8],[316,6],[386,9],[507,6],[544,6]]},"58":{"position":[[83,7],[196,7],[254,7],[494,6]]},"59":{"position":[[113,6],[134,6],[879,6],[1044,7]]},"60":{"position":[[114,7],[166,6],[253,6],[315,7],[384,7],[837,7],[853,6],[1277,6],[1513,7],[1589,6]]},"61":{"position":[[82,7],[213,7],[242,7],[655,6],[689,6],[1162,6],[1268,6],[2177,6],[2515,8],[2680,6],[2778,7],[3009,6],[3248,6]]},"62":{"position":[[36,7],[99,7],[207,6],[241,7],[332,6],[546,7],[678,7],[832,6],[1179,6],[1345,7]]},"63":{"position":[[413,7],[476,6],[569,8],[627,7],[835,6],[948,7],[1012,6],[1371,7],[1503,7],[2016,6],[2363,6],[2529,7]]},"64":{"position":[[39,7],[151,6],[459,6]]},"66":{"position":[[88,6]]},"67":{"position":[[90,8],[206,7],[290,7],[357,8],[544,6]]},"68":{"position":[[12,6],[52,7],[103,8],[182,6],[207,6],[219,6],[238,6]]},"69":{"position":[[1160,7],[1434,7],[2180,6],[2224,7],[2463,7],[2613,7],[2935,6],[3084,6],[3151,6],[3303,6],[3375,6],[3444,6],[3487,6],[3848,6],[3942,6],[4045,7],[4177,7],[4214,6],[4285,6],[4662,7],[4898,7]]},"75":{"position":[[308,7],[457,7],[1828,7]]},"76":{"position":[[75,6],[173,6],[226,7],[278,7],[312,6],[456,6],[687,6],[720,6],[844,6],[914,8],[930,6],[978,6]]},"77":{"position":[[76,6],[172,6],[225,7],[277,7],[311,6],[472,6],[706,6],[777,8],[793,6],[841,6]]},"79":{"position":[[291,6],[1001,7],[1086,7],[1120,8]]},"94":{"position":[[826,6],[1021,6]]},"97":{"position":[[1,6],[61,7],[127,7]]},"98":{"position":[[10,6]]},"99":{"position":[[1,6],[183,6],[436,6],[464,6],[485,6],[1340,6],[1554,6],[1604,6],[1988,6],[2029,6],[2046,6],[2062,6],[2105,7],[2117,7],[2194,7],[2263,7],[2525,6],[2568,6],[2612,6],[2687,6],[2727,6],[2768,6],[2871,7],[2907,6],[2976,6],[2996,6],[3333,6],[3402,6],[3422,6],[3752,6],[3806,6],[3826,6],[3893,6],[3984,6],[4072,6],[4718,7],[4736,7],[4833,6],[4978,6],[5024,6],[5067,6],[5111,6],[5239,6]]},"112":{"position":[[214,6]]},"116":{"position":[[35,7]]},"134":{"position":[[1178,7]]},"143":{"position":[[56,7],[134,7],[232,7]]},"146":{"position":[[132,7]]},"153":{"position":[[36,7],[141,7]]},"168":{"position":[[258,7],[286,6]]},"169":{"position":[[16,6],[124,6]]},"176":{"position":[[166,6]]},"198":{"position":[[45,7],[138,8]]},"199":{"position":[[23,6]]},"201":{"position":[[52,6],[197,6],[309,7],[484,6],[528,6]]},"202":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6283,6],[6914,6],[7978,6],[8133,8],[8178,6],[8214,6],[8807,6]]},"203":{"position":[[52,6],[267,6],[311,6]]},"204":{"position":[[68,6],[171,6],[420,6],[532,7],[654,6],[698,6],[1301,7]]},"205":{"position":[[68,6],[171,6],[490,6],[534,6],[1137,7]]},"206":{"position":[[52,6],[214,6],[326,7],[655,6],[699,6]]},"207":{"position":[[52,6],[438,6],[482,6]]},"208":{"position":[[120,7]]},"209":{"position":[[63,6],[268,6]]},"215":{"position":[[78,6],[147,7]]},"218":{"position":[[50,6],[160,6],[172,6],[184,6],[218,6]]},"219":{"position":[[50,6],[172,6],[184,6],[196,6],[236,6]]},"220":{"position":[[153,6],[165,6]]},"222":{"position":[[28,6],[97,6],[170,7]]},"223":{"position":[[28,6]]},"225":{"position":[[29,6]]},"226":{"position":[[269,6],[713,6],[1147,6],[1591,6],[1917,6],[2361,6]]},"227":{"position":[[221,7],[244,7],[356,7],[385,7],[2291,6],[2326,7],[3128,6],[3356,7],[3398,7],[3712,8],[3721,8],[3816,6],[4055,6],[4993,6],[5084,7],[5145,7],[5435,6],[5541,7],[5630,7],[5901,8],[5915,6],[6019,7],[6029,6],[6064,6],[6198,6]]},"230":{"position":[[855,7],[1041,6]]},"253":{"position":[[1119,7],[3428,6],[3579,6],[4466,7],[5101,6],[5440,6],[5602,6],[5666,6],[5729,6],[5979,6],[6071,7],[6171,7],[6305,7]]},"259":{"position":[[49,7],[164,8],[1227,6]]},"260":{"position":[[5,7],[83,6],[241,6],[315,7],[545,6]]},"261":{"position":[[69,6],[213,7],[361,7]]},"262":{"position":[[619,6]]},"263":{"position":[[63,7],[231,7],[339,6],[565,7],[1703,6],[1756,7]]},"264":{"position":[[25,6],[104,6],[166,7],[236,7],[354,6],[489,6]]},"266":{"position":[[51,6],[147,7],[201,6],[308,7],[482,6],[526,6]]},"267":{"position":[[1130,6],[1381,7],[3345,6],[4158,7],[4513,7],[4711,6],[5404,6],[6527,6],[6790,8],[6837,6],[6873,6]]},"268":{"position":[[51,6],[147,7],[274,6],[318,6]]},"269":{"position":[[51,7],[65,7],[136,7],[220,7],[317,7],[371,6],[478,7],[605,6],[649,6],[862,6]]},"270":{"position":[[51,6],[147,7],[274,6],[318,6],[531,6]]},"271":{"position":[[51,6],[164,7],[218,6],[325,7],[648,6],[692,6]]},"272":{"position":[[51,6],[164,7],[440,6],[484,6]]},"273":{"position":[[119,7]]},"274":{"position":[[59,6],[105,6],[249,6]]},"275":{"position":[[43,6]]},"276":{"position":[[59,6]]},"277":{"position":[[19,7],[90,6],[211,6]]},"278":{"position":[[22,6],[61,6],[87,6]]},"279":{"position":[[78,6],[147,7]]},"280":{"position":[[29,6],[58,6],[206,7]]},"281":{"position":[[28,6],[97,6],[170,7]]},"282":{"position":[[31,6],[353,6],[384,6],[418,6]]},"284":{"position":[[273,6],[297,6]]},"285":{"position":[[149,6],[235,6],[621,6],[689,6]]},"297":{"position":[[320,6],[404,6],[413,6],[942,8],[1071,6],[1148,8]]},"299":{"position":[[499,7],[688,7],[724,7],[792,7]]},"300":{"position":[[674,7],[699,7],[778,7],[801,7]]},"301":{"position":[[604,7],[738,7],[874,8],[896,7],[976,6],[1018,6],[1048,7],[1106,7],[1580,7],[1591,6],[1617,7],[1643,6],[1673,7]]},"303":{"position":[[473,6],[531,6]]},"305":{"position":[[1,6],[85,6],[189,6],[240,6],[266,6],[307,6],[333,6],[374,6],[441,7],[492,6],[532,6],[712,6],[880,6],[955,6],[1025,6],[1140,6],[1396,6]]},"308":{"position":[[313,8],[336,7],[419,7]]},"309":{"position":[[55,7],[293,8],[404,8],[506,8]]},"322":{"position":[[2091,8],[2128,8],[2196,7],[2243,6]]},"329":{"position":[[356,7],[532,6],[1064,6],[1626,6]]},"336":{"position":[[279,6]]},"343":{"position":[[138,7]]},"355":{"position":[[181,8],[940,6],[973,6],[1103,7]]},"356":{"position":[[145,6]]},"357":{"position":[[2022,7],[2117,7],[2333,7]]},"371":{"position":[[47,6],[152,7]]},"401":{"position":[[125,6],[141,6]]},"402":{"position":[[125,6],[141,6]]},"403":{"position":[[458,6],[474,6]]},"404":{"position":[[100,6],[116,6]]},"405":{"position":[[127,6],[143,6]]},"406":{"position":[[121,6],[137,6]]},"407":{"position":[[129,6],[145,6]]},"408":{"position":[[141,6],[157,6]]},"409":{"position":[[144,6],[160,6]]},"410":{"position":[[140,6],[156,6]]},"411":{"position":[[408,6],[424,6]]},"412":{"position":[[137,6],[153,6]]},"413":{"position":[[135,6],[151,6]]},"414":{"position":[[121,6],[137,6]]},"415":{"position":[[110,6],[126,6]]},"416":{"position":[[113,6],[129,6]]},"417":{"position":[[109,6],[125,6]]},"418":{"position":[[107,6],[123,6],[834,6],[850,6]]},"419":{"position":[[141,6],[157,6],[887,6],[903,6]]},"420":{"position":[[125,6],[141,6],[859,6],[875,6]]},"421":{"position":[[35,6],[106,6],[122,6]]},"422":{"position":[[131,6],[147,6]]},"423":{"position":[[119,6],[135,6]]},"425":{"position":[[153,6],[169,6]]},"426":{"position":[[105,6],[121,6]]},"427":{"position":[[349,6],[365,6]]},"440":{"position":[[143,6],[159,6]]},"442":{"position":[[335,6],[351,6]]},"444":{"position":[[207,6],[223,6]]},"498":{"position":[[72,7],[167,7],[191,6],[245,8],[280,7]]},"499":{"position":[[319,6],[351,6],[406,7],[526,7],[625,7],[667,8],[842,7],[963,7],[993,6],[1003,8],[1174,7]]},"508":{"position":[[210,6],[259,6]]},"530":{"position":[[119,6]]},"533":{"position":[[135,6]]},"536":{"position":[[314,7]]},"539":{"position":[[148,6]]},"541":{"position":[[13,7]]},"542":{"position":[[15,7],[181,8],[240,7],[331,7],[359,6],[388,6],[438,7]]},"550":{"position":[[115,7]]},"553":{"position":[[162,6]]},"556":{"position":[[33,7],[126,6],[253,6],[376,6],[520,7]]},"561":{"position":[[32,6]]},"564":{"position":[[224,7],[527,7]]},"568":{"position":[[1,6],[128,7]]},"572":{"position":[[19,6],[77,7],[146,7]]},"575":{"position":[[249,7]]},"577":{"position":[[348,7],[401,6]]},"578":{"position":[[546,8],[673,6],[754,6],[814,6],[953,7]]},"581":{"position":[[103,6]]},"591":{"position":[[171,6],[221,6],[285,6]]},"600":{"position":[[89,7],[111,6]]},"618":{"position":[[211,6],[353,7]]},"646":{"position":[[152,7]]},"648":{"position":[[58,7],[280,6],[304,7]]},"650":{"position":[[11,6],[63,6],[361,6],[385,7],[409,6],[464,6],[913,6]]},"652":{"position":[[59,7]]},"656":{"position":[[534,6],[568,6]]},"657":{"position":[[476,6],[510,6]]},"660":{"position":[[324,6],[358,6]]},"661":{"position":[[11,6],[63,6],[344,6],[368,7],[401,6]]},"662":{"position":[[84,7],[458,6],[482,7]]},"663":{"position":[[115,6]]},"664":{"position":[[32,6],[196,7]]},"665":{"position":[[32,6]]},"666":{"position":[[11,6],[238,6],[262,7],[295,6]]},"667":{"position":[[288,6],[312,7],[637,6]]},"668":{"position":[[51,6],[299,6],[333,7],[471,6]]},"669":{"position":[[106,6],[525,6],[532,6]]},"670":{"position":[[11,6],[83,6],[251,6],[258,6]]},"671":{"position":[[128,6],[392,6],[399,6]]},"672":{"position":[[228,6],[235,6]]},"674":{"position":[[37,7],[111,6]]},"675":{"position":[[53,7]]},"676":{"position":[[9,6],[287,7],[370,7],[398,6],[511,7],[553,8],[723,6],[734,7],[799,8],[1015,7],[1045,6],[1055,8],[1221,6],[1232,7],[1283,6],[1293,8]]},"677":{"position":[[39,6],[235,6],[242,6]]},"678":{"position":[[50,7],[255,6],[262,6]]},"679":{"position":[[47,6],[269,6],[276,6]]},"681":{"position":[[900,6],[934,6]]},"682":{"position":[[632,6],[666,6]]},"684":{"position":[[45,7],[300,6],[522,6],[533,6],[549,7],[571,7],[905,7]]},"685":{"position":[[515,6],[549,6]]},"686":{"position":[[531,6],[565,6]]},"688":{"position":[[45,7],[192,7],[408,6],[419,6],[435,7],[457,7],[581,8],[883,7]]},"690":{"position":[[392,6],[426,6]]},"691":{"position":[[247,6],[281,6]]},"692":{"position":[[249,6],[283,6]]},"699":{"position":[[243,6],[277,6]]},"700":{"position":[[614,6],[648,6]]},"724":{"position":[[248,7],[270,7],[781,7],[1316,7]]},"759":{"position":[[50,6]]}},"keywords":{}}],["packet"",{"_index":3074,"title":{},"content":{"321":{"position":[[700,12],[3068,12]]},"556":{"position":[[455,13]]}},"keywords":{}}],["packet(",{"_index":4490,"title":{"556":{"position":[[17,9]]}},"content":{},"keywords":{}}],["packet.first",{"_index":2535,"title":{},"content":{"253":{"position":[[3502,12]]}},"keywords":{}}],["packet.read('ccsdsday",{"_index":2737,"title":{},"content":{"285":{"position":[[1247,25]]}},"keywords":{}}],["packet.read('ccsdsmsod",{"_index":2739,"title":{},"content":{"285":{"position":[[1286,25],[1572,25]]}},"keywords":{}}],["packet.read('ccsdsusom",{"_index":2741,"title":{},"content":{"285":{"position":[[1324,26],[1598,26]]}},"keywords":{}}],["packet/data",{"_index":1537,"title":{},"content":{"79":{"position":[[436,12],[486,11],[1183,11]]}},"keywords":{}}],["packet1",{"_index":4365,"title":{},"content":{"498":{"position":[[254,7],[381,7],[412,7],[595,7]]}},"keywords":{}}],["packet2",{"_index":4366,"title":{},"content":{"498":{"position":[[266,8],[488,7],[519,7],[606,7]]}},"keywords":{}}],["packet['buff",{"_index":5014,"title":{},"content":{"661":{"position":[[457,16]]}},"keywords":{}}],["packet['packet_name']}"",{"_index":4375,"title":{},"content":{"499":{"position":[[745,30],[1081,30]]},"676":{"position":[[631,30],[877,30],[1133,30],[1371,30]]}},"keywords":{}}],["packet['target_nam",{"_index":4374,"title":{},"content":{"499":{"position":[[720,24],[1057,23]]},"676":{"position":[[606,24],[852,24],[1109,23],[1347,23]]}},"keywords":{}}],["packet_nam",{"_index":1757,"title":{},"content":{"94":{"position":[[540,11],[990,11]]},"644":{"position":[[1203,14]]},"646":{"position":[[853,14]]},"648":{"position":[[895,14]]},"650":{"position":[[1083,14]]},"673":{"position":[[1392,14],[1506,14],[1626,14],[1748,14]]},"701":{"position":[[40,12]]},"702":{"position":[[311,14]]}},"keywords":{}}],["packet_tim",{"_index":2630,"title":{},"content":{"263":{"position":[[401,11],[1285,11],[1438,11],[1599,11]]}},"keywords":{}}],["packet_timeformat",{"_index":2625,"title":{},"content":{"263":{"position":[[91,21],[1645,20]]},"426":{"position":[[323,20]]},"652":{"position":[[111,23]]},"679":{"position":[[400,23]]}},"keywords":{}}],["packet_timesecond",{"_index":2624,"title":{},"content":{"263":{"position":[[71,19],[1622,18]]},"652":{"position":[[89,21]]},"679":{"position":[[377,22]]}},"keywords":{}}],["packetlog",{"_index":2051,"title":{},"content":{"168":{"position":[[415,10]]}},"keywords":{}}],["packets>",{"_index":5140,"title":{},"content":{"684":{"position":[[406,12]]},"688":{"position":[[292,12]]}},"keywords":{}}],["packets"",{"_index":878,"title":{},"content":{"40":{"position":[[754,13]]},"99":{"position":[[782,13]]}},"keywords":{}}],["packets.each",{"_index":4372,"title":{},"content":{"499":{"position":[[651,12]]},"676":{"position":[[537,12],[783,12]]}},"keywords":{}}],["packetswindow",{"_index":3572,"title":{},"content":{"357":{"position":[[3518,14]]}},"keywords":{}}],["pad",{"_index":850,"title":{"378":{"position":[[0,8]]}},"content":{"36":{"position":[[10653,7]]},"378":{"position":[[17,7],[26,7],[323,7]]}},"keywords":{}}],["page",{"_index":467,"title":{},"content":{"20":{"position":[[1563,5]]},"44":{"position":[[1599,4]]},"84":{"position":[[1070,4]]},"90":{"position":[[194,4],[409,4]]},"188":{"position":[[142,4]]},"253":{"position":[[1708,5]]},"254":{"position":[[506,4],[2055,4],[2884,5]]},"321":{"position":[[4021,5]]},"322":{"position":[[85,5]]},"362":{"position":[[408,4]]},"394":{"position":[[99,4]]},"462":{"position":[[683,5]]},"468":{"position":[[269,5]]},"472":{"position":[[185,5]]},"541":{"position":[[206,5]]},"542":{"position":[[218,5]]},"566":{"position":[[221,5],[269,5],[364,4]]}},"keywords":{}}],["pagin",{"_index":4456,"title":{},"content":{"527":{"position":[[556,10]]},"541":{"position":[[134,9]]},"542":{"position":[[137,9]]}},"keywords":{}}],["pain",{"_index":128,"title":{},"content":{"3":{"position":[[666,5]]}},"keywords":{}}],["pair",{"_index":709,"title":{},"content":{"36":{"position":[[2712,4],[2762,5]]},"43":{"position":[[145,5]]},"79":{"position":[[428,4],[498,4]]},"202":{"position":[[2712,4],[2762,5]]},"242":{"position":[[158,5]]},"267":{"position":[[1937,4],[1974,5]]},"525":{"position":[[606,5]]},"675":{"position":[[262,5]]},"762":{"position":[[169,5]]},"763":{"position":[[172,5]]}},"keywords":{}}],["pane",{"_index":3297,"title":{},"content":{"345":{"position":[[516,4]]}},"keywords":{}}],["param",{"_index":1488,"title":{},"content":{"71":{"position":[[172,6]]},"88":{"position":[[221,6]]},"357":{"position":[[497,7]]},"404":{"position":[[832,6]]},"411":{"position":[[221,6],[725,6]]},"429":{"position":[[1008,6]]},"636":{"position":[[903,5],[1018,5]]},"637":{"position":[[1125,5],[1240,5]]},"638":{"position":[[1146,5],[1261,5]]},"639":{"position":[[1179,5],[1294,5]]},"640":{"position":[[979,5],[1094,5]]},"641":{"position":[[1196,5],[1311,5]]},"642":{"position":[[1217,5],[1332,5]]},"643":{"position":[[1250,5],[1365,5]]},"649":{"position":[[414,5],[468,5],[1141,5]]},"651":{"position":[[206,6],[326,6]]},"659":{"position":[[215,6],[343,6]]}},"keywords":{}}],["paramet",{"_index":140,"title":{"5":{"position":[[10,11]]},"35":{"position":[[0,10]]},"36":{"position":[[0,9]]},"201":{"position":[[0,10]]},"202":{"position":[[0,9]]}},"content":{"5":{"position":[[80,11],[201,10],[312,10],[349,10],[406,10],[441,10],[561,9],[1065,10],[1127,9],[1252,9],[1368,10]]},"7":{"position":[[367,9]]},"11":{"position":[[282,9]]},"12":{"position":[[122,9]]},"13":{"position":[[26,9],[95,9],[204,9],[307,10],[319,9],[386,10],[412,9]]},"14":{"position":[[222,9]]},"15":{"position":[[364,9]]},"16":{"position":[[364,9]]},"32":{"position":[[65,9]]},"33":{"position":[[31,9],[503,10],[520,9],[719,10],[736,9]]},"35":{"position":[[11,9],[43,9],[90,10],[212,10],[329,11],[372,10],[591,9],[678,9],[807,10],[824,9],[899,9],[959,9],[1011,10],[1069,9],[1174,9],[1458,10],[1475,9],[1542,10],[1600,9],[1705,9]]},"36":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6161,9],[6301,9],[6791,9],[6932,9],[7855,10],[8072,11],[8488,10],[8765,10],[8956,9],[10234,9],[10493,9],[10568,10],[10744,9],[10812,10]]},"37":{"position":[[11,9],[43,9],[90,10],[165,10],[384,9],[471,9],[600,10],[617,9],[692,9],[752,9],[804,10],[862,9],[967,9],[1251,10],[1268,9],[1335,10],[1393,9],[1498,9]]},"38":{"position":[[90,9]]},"39":{"position":[[210,9]]},"49":{"position":[[221,9]]},"50":{"position":[[245,9]]},"51":{"position":[[84,9]]},"52":{"position":[[207,9]]},"54":{"position":[[2671,10],[2883,10],[2911,9],[3115,9],[3175,10]]},"56":{"position":[[280,9],[638,10]]},"58":{"position":[[616,9]]},"59":{"position":[[505,9]]},"60":{"position":[[734,9]]},"61":{"position":[[562,9]]},"62":{"position":[[437,9]]},"63":{"position":[[1262,9]]},"64":{"position":[[300,9]]},"66":{"position":[[137,9]]},"67":{"position":[[100,9]]},"68":{"position":[[113,9]]},"69":{"position":[[218,10],[361,10],[514,10]]},"75":{"position":[[112,9]]},"76":{"position":[[135,9]]},"77":{"position":[[134,9]]},"78":{"position":[[126,9]]},"79":{"position":[[275,11],[839,9]]},"93":{"position":[[235,9],[462,9],[732,10],[774,9],[923,10],[949,9],[1087,9],[1162,10],[1460,9],[1641,10]]},"94":{"position":[[446,9],[569,9],[714,10],[740,9],[889,9]]},"120":{"position":[[337,11]]},"121":{"position":[[706,9]]},"123":{"position":[[355,9],[842,10]]},"125":{"position":[[37,9]]},"126":{"position":[[71,9]]},"127":{"position":[[72,9]]},"130":{"position":[[209,9]]},"133":{"position":[[326,9]]},"134":{"position":[[369,9],[640,10],[662,10]]},"135":{"position":[[7,9],[192,9],[600,10],[611,10]]},"136":{"position":[[142,9]]},"137":{"position":[[68,9]]},"138":{"position":[[223,9]]},"139":{"position":[[149,9]]},"140":{"position":[[117,9]]},"141":{"position":[[126,9]]},"142":{"position":[[105,9]]},"143":{"position":[[392,9],[632,10]]},"144":{"position":[[23,9]]},"146":{"position":[[73,9]]},"147":{"position":[[56,9]]},"148":{"position":[[78,9]]},"149":{"position":[[48,9]]},"150":{"position":[[63,9]]},"151":{"position":[[85,9]]},"152":{"position":[[50,9]]},"153":{"position":[[82,9]]},"154":{"position":[[58,9]]},"155":{"position":[[80,9]]},"156":{"position":[[50,9]]},"157":{"position":[[65,9]]},"158":{"position":[[87,9]]},"159":{"position":[[52,9]]},"160":{"position":[[61,9]]},"161":{"position":[[59,9]]},"162":{"position":[[58,9]]},"163":{"position":[[58,9]]},"164":{"position":[[58,9]]},"165":{"position":[[46,9]]},"167":{"position":[[63,9]]},"168":{"position":[[303,9]]},"169":{"position":[[78,9]]},"170":{"position":[[139,9]]},"171":{"position":[[180,9]]},"173":{"position":[[52,9]]},"174":{"position":[[207,9]]},"175":{"position":[[150,9]]},"176":{"position":[[288,9]]},"177":{"position":[[232,9]]},"178":{"position":[[101,9]]},"179":{"position":[[261,9]]},"180":{"position":[[110,9]]},"181":{"position":[[102,9]]},"182":{"position":[[105,9]]},"183":{"position":[[145,9]]},"184":{"position":[[261,9]]},"186":{"position":[[120,9]]},"187":{"position":[[136,9]]},"188":{"position":[[269,9]]},"189":{"position":[[81,9]]},"190":{"position":[[109,9]]},"191":{"position":[[140,9]]},"192":{"position":[[272,9]]},"193":{"position":[[137,9]]},"194":{"position":[[96,9]]},"196":{"position":[[139,9]]},"198":{"position":[[812,10],[1333,11]]},"199":{"position":[[31,9]]},"201":{"position":[[19,9],[60,9],[107,10],[240,10],[358,11],[401,10],[620,9],[707,9],[836,10],[853,9],[928,9],[988,9],[1040,10],[1098,9],[1203,9],[1487,10],[1504,9],[1571,10],[1629,9],[1734,9],[1949,9],[2032,9],[2090,9],[2129,9],[2208,9]]},"202":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6161,9],[6301,9],[6791,9],[6932,9],[7855,10],[8072,11],[8488,10],[8765,10],[8956,9],[10234,9]]},"203":{"position":[[19,9],[60,9],[107,10],[184,10],[403,9],[490,9],[619,10],[636,9],[711,9],[771,9],[823,10],[881,9],[986,9],[1270,10],[1287,9],[1354,10],[1412,9],[1517,9]]},"204":{"position":[[35,9],[79,10],[283,9],[330,10],[463,10],[571,10],[790,9],[877,9],[1006,10],[1023,9],[1098,9],[1158,9],[1212,10],[1347,9],[1631,10],[1648,9],[1715,10],[1773,9],[1878,9]]},"205":{"position":[[35,9],[79,10],[283,9],[330,10],[407,10],[626,9],[713,9],[842,10],[859,9],[934,9],[994,9],[1048,10],[1183,9],[1467,10],[1484,9],[1551,10],[1609,9],[1714,9]]},"206":{"position":[[19,9],[77,9],[124,10],[257,10],[375,11]]},"207":{"position":[[19,9],[77,9],[124,10]]},"208":{"position":[[29,9],[282,9],[334,9]]},"209":{"position":[[44,9],[94,9],[175,10],[217,10],[345,9],[371,10],[383,9],[435,9]]},"213":{"position":[[222,9]]},"214":{"position":[[142,9]]},"215":{"position":[[275,9]]},"216":{"position":[[214,11],[250,9]]},"217":{"position":[[210,11],[247,9]]},"218":{"position":[[84,9]]},"219":{"position":[[90,9]]},"220":{"position":[[68,9]]},"221":{"position":[[70,9]]},"224":{"position":[[172,9]]},"225":{"position":[[269,10],[281,9]]},"226":{"position":[[125,9],[207,9],[287,9],[468,9],[556,9],[647,9],[733,9],[857,9],[1003,9],[1085,9],[1165,9],[1346,9],[1434,9],[1525,9],[1611,9],[1655,9],[1773,9],[1855,9],[1935,9],[2116,9],[2204,9],[2295,9]]},"227":{"position":[[3080,9],[3227,9],[4004,9]]},"253":{"position":[[3255,10],[3366,10],[3540,9],[3785,9],[3955,9]]},"254":{"position":[[1165,9]]},"264":{"position":[[33,9]]},"266":{"position":[[59,9],[618,9]]},"267":{"position":[[99,9],[308,9],[550,9],[828,9],[1010,9],[1433,9],[1649,9],[2325,9],[3224,10],[3474,9],[3775,9],[3796,9],[4840,9],[5533,9],[6732,11],[7307,9],[8430,9],[10468,9]]},"268":{"position":[[59,9],[410,9]]},"269":{"position":[[229,9]]},"270":{"position":[[59,9]]},"271":{"position":[[76,9]]},"272":{"position":[[76,9]]},"273":{"position":[[282,9]]},"274":{"position":[[356,9]]},"275":{"position":[[231,9]]},"276":{"position":[[79,9]]},"279":{"position":[[275,9]]},"282":{"position":[[277,9]]},"283":{"position":[[717,9]]},"284":{"position":[[207,9]]},"303":{"position":[[299,10],[732,10],[819,10],[923,10],[1093,9],[1238,10],[1309,9],[1496,10],[1733,11],[1811,10]]},"320":{"position":[[1239,9]]},"321":{"position":[[3931,10],[3951,10]]},"369":{"position":[[149,10],[193,9]]},"371":{"position":[[105,9]]},"372":{"position":[[60,9]]},"373":{"position":[[498,9]]},"374":{"position":[[166,11]]},"375":{"position":[[93,9]]},"376":{"position":[[95,9]]},"377":{"position":[[95,9]]},"378":{"position":[[97,9]]},"379":{"position":[[63,9],[196,10]]},"380":{"position":[[57,9],[190,10]]},"381":{"position":[[68,9],[201,10]]},"382":{"position":[[43,9]]},"383":{"position":[[498,9]]},"384":{"position":[[355,9],[571,10],[593,10]]},"386":{"position":[[258,9]]},"387":{"position":[[172,9]]},"388":{"position":[[106,9]]},"389":{"position":[[130,9]]},"390":{"position":[[107,9]]},"391":{"position":[[138,9]]},"393":{"position":[[60,9]]},"394":{"position":[[49,9]]},"396":{"position":[[136,9]]},"398":{"position":[[48,9]]},"399":{"position":[[48,9]]},"400":{"position":[[69,10]]},"401":{"position":[[62,9]]},"402":{"position":[[62,9]]},"403":{"position":[[395,9]]},"404":{"position":[[37,9],[1037,9]]},"405":{"position":[[64,9]]},"406":{"position":[[58,9]]},"407":{"position":[[66,9]]},"408":{"position":[[78,9]]},"409":{"position":[[81,9]]},"410":{"position":[[77,9]]},"411":{"position":[[345,9],[969,9]]},"412":{"position":[[74,9]]},"413":{"position":[[72,9]]},"414":{"position":[[58,9]]},"415":{"position":[[47,9]]},"416":{"position":[[50,9]]},"417":{"position":[[46,9]]},"418":{"position":[[44,9],[771,9],[1332,9],[1487,9],[1645,9],[1773,9],[1898,9],[1991,9]]},"419":{"position":[[78,9],[824,9],[1385,9],[1540,9],[1698,9],[1826,9],[1951,9],[2044,9]]},"420":{"position":[[62,9],[796,9],[1357,9],[1512,9],[1670,9],[1798,9],[1923,9],[2016,9]]},"421":{"position":[[43,9]]},"422":{"position":[[68,9]]},"423":{"position":[[56,9]]},"424":{"position":[[96,9]]},"425":{"position":[[90,9]]},"426":{"position":[[42,9]]},"427":{"position":[[286,9]]},"429":{"position":[[1347,11],[1578,9]]},"430":{"position":[[118,9]]},"431":{"position":[[137,9]]},"432":{"position":[[120,9]]},"433":{"position":[[98,9]]},"434":{"position":[[220,9]]},"435":{"position":[[59,9]]},"436":{"position":[[120,9]]},"438":{"position":[[196,9]]},"439":{"position":[[29,9]]},"440":{"position":[[80,9]]},"441":{"position":[[34,9],[741,9]]},"442":{"position":[[272,9],[1301,9],[1654,9]]},"443":{"position":[[31,9]]},"444":{"position":[[144,9],[1217,9]]},"445":{"position":[[30,9]]},"476":{"position":[[4363,10]]},"530":{"position":[[170,9]]},"532":{"position":[[11,9],[44,9],[110,9]]},"533":{"position":[[212,10],[257,11],[286,9],[562,9]]},"534":{"position":[[255,11],[369,9],[467,10],[520,10]]},"623":{"position":[[322,9]]},"624":{"position":[[288,9]]},"627":{"position":[[468,9]]},"628":{"position":[[218,9]]},"629":{"position":[[139,9]]},"630":{"position":[[115,9]]},"632":{"position":[[919,9],[1047,10],[1071,9],[1120,10]]},"634":{"position":[[136,9]]},"636":{"position":[[749,9],[935,10],[962,10],[1054,10],[1148,9],[1234,9],[1384,10]]},"637":{"position":[[68,11],[162,9],[971,9],[1157,10],[1184,10],[1276,10],[1370,9],[1456,9]]},"638":{"position":[[992,9],[1178,10],[1205,10],[1297,10],[1391,9],[1477,9]]},"639":{"position":[[50,9],[252,11],[1025,9],[1211,10],[1238,10],[1330,10],[1424,9],[1510,9]]},"640":{"position":[[825,9],[1011,10],[1038,10],[1130,10],[1224,9],[1310,9]]},"641":{"position":[[91,11],[185,9],[1042,9],[1228,10],[1255,10],[1347,10],[1441,9],[1527,9]]},"642":{"position":[[1063,9],[1249,10],[1276,10],[1368,10],[1462,9],[1548,9]]},"643":{"position":[[73,9],[275,11],[1096,9],[1282,10],[1309,10],[1401,10],[1495,9],[1581,9]]},"644":{"position":[[175,9],[209,10]]},"645":{"position":[[106,9]]},"646":{"position":[[232,9]]},"647":{"position":[[141,9]]},"648":{"position":[[227,9]]},"649":{"position":[[37,9],[273,9],[360,9],[387,10]]},"650":{"position":[[308,9]]},"651":{"position":[[231,9],[345,10],[441,9]]},"652":{"position":[[78,10],[400,9],[487,9],[522,10]]},"653":{"position":[[179,9]]},"654":{"position":[[235,9]]},"656":{"position":[[459,9]]},"657":{"position":[[401,9]]},"658":{"position":[[979,9]]},"659":{"position":[[246,9],[350,10]]},"660":{"position":[[249,9],[437,9]]},"661":{"position":[[291,9]]},"662":{"position":[[405,9],[501,9]]},"663":{"position":[[355,9]]},"664":{"position":[[118,9]]},"665":{"position":[[123,9]]},"666":{"position":[[185,9]]},"667":{"position":[[235,9]]},"668":{"position":[[246,9]]},"669":{"position":[[485,9]]},"670":{"position":[[211,9],[413,10]]},"671":{"position":[[352,9]]},"672":{"position":[[188,9]]},"675":{"position":[[193,9]]},"676":{"position":[[167,9]]},"677":{"position":[[195,9]]},"678":{"position":[[215,9]]},"679":{"position":[[229,9]]},"681":{"position":[[179,10],[498,9],[825,9],[1293,9],[1414,9]]},"682":{"position":[[557,9],[1060,9],[1181,9]]},"683":{"position":[[555,9],[847,9]]},"684":{"position":[[478,9],[728,9]]},"685":{"position":[[440,9],[905,9]]},"686":{"position":[[456,9],[956,9]]},"687":{"position":[[483,9]]},"688":{"position":[[364,9],[700,9]]},"690":{"position":[[317,9]]},"691":{"position":[[172,9]]},"692":{"position":[[174,9]]},"693":{"position":[[169,9]]},"694":{"position":[[171,9]]},"696":{"position":[[143,9]]},"699":{"position":[[169,9]]},"700":{"position":[[539,9]]},"702":{"position":[[179,9]]},"703":{"position":[[151,9],[285,9]]},"706":{"position":[[133,9]]},"709":{"position":[[186,9]]},"711":{"position":[[149,10],[178,9],[247,10],[258,10],[353,10]]},"712":{"position":[[145,9]]},"713":{"position":[[192,9]]},"714":{"position":[[190,9]]},"716":{"position":[[254,9],[358,9],[453,9],[550,9]]},"717":{"position":[[310,9],[417,10],[432,10]]},"718":{"position":[[326,9],[433,10],[448,10]]},"720":{"position":[[110,10],[139,9],[199,10],[210,10],[299,10]]},"721":{"position":[[107,9]]},"723":{"position":[[173,9]]},"725":{"position":[[183,9]]},"726":{"position":[[181,9]]},"727":{"position":[[294,9],[395,10],[410,10]]},"728":{"position":[[336,9],[437,10],[452,10]]},"730":{"position":[[108,9]]},"731":{"position":[[102,9]]},"734":{"position":[[125,9]]},"736":{"position":[[59,10],[117,10],[235,9]]},"737":{"position":[[461,9]]},"739":{"position":[[222,9]]},"740":{"position":[[139,9]]},"742":{"position":[[152,9]]},"744":{"position":[[192,9]]},"745":{"position":[[287,9]]},"746":{"position":[[384,9]]},"748":{"position":[[107,9]]},"750":{"position":[[196,9]]},"754":{"position":[[672,9]]},"760":{"position":[[91,9]]},"761":{"position":[[88,9],[121,10]]},"762":{"position":[[113,9],[209,10],[281,10]]},"763":{"position":[[116,9],[213,10],[298,10]]},"768":{"position":[[239,9]]},"769":{"position":[[238,9]]},"771":{"position":[[67,9]]},"772":{"position":[[125,9]]},"773":{"position":[[300,9]]},"774":{"position":[[136,9]]},"775":{"position":[[140,9]]}},"keywords":{}}],["parameter"",{"_index":730,"title":{},"content":{"36":{"position":[[3661,15]]},"202":{"position":[[3661,15]]}},"keywords":{}}],["parameter/argu",{"_index":4027,"title":{},"content":{"454":{"position":[[48,18]]}},"keywords":{}}],["parameter_name_1",{"_index":1724,"title":{},"content":{"93":{"position":[[574,16]]}},"keywords":{}}],["parameter_name_2",{"_index":1726,"title":{},"content":{"93":{"position":[[610,16]]}},"keywords":{}}],["parameter_value_1",{"_index":1725,"title":{},"content":{"93":{"position":[[591,18]]}},"keywords":{}}],["parameter_value_2",{"_index":1727,"title":{},"content":{"93":{"position":[[627,18]]}},"keywords":{}}],["parameters>"",{"_index":5340,"title":{},"content":{"717":{"position":[[286,21]]},"718":{"position":[[302,21]]},"727":{"position":[[270,21]]},"728":{"position":[[293,21]]}},"keywords":{}}],["parameters"",{"_index":2874,"title":{},"content":{"303":{"position":[[1770,16]]}},"keywords":{}}],["parametersdis",{"_index":4466,"title":{},"content":{"532":{"position":[[87,18]]}},"keywords":{}}],["pariti",{"_index":1250,"title":{},"content":{"52":{"position":[[505,6],[524,7]]},"108":{"position":[[83,6]]},"338":{"position":[[582,6],[619,6],[1281,6]]}},"keywords":{}}],["pars",{"_index":149,"title":{},"content":{"5":{"position":[[291,6],[1228,7]]},"6":{"position":[[779,7]]},"44":{"position":[[1949,7]]},"90":{"position":[[559,5]]},"133":{"position":[[258,5]]},"368":{"position":[[39,6]]},"609":{"position":[[79,5]]},"611":{"position":[[734,6]]}},"keywords":{}}],["part",{"_index":262,"title":{},"content":{"7":{"position":[[602,4]]},"62":{"position":[[319,4]]},"69":{"position":[[1070,4],[1344,4]]},"257":{"position":[[306,4],[1415,4],[1491,4],[1874,4]]},"329":{"position":[[553,4]]},"384":{"position":[[95,5]]},"433":{"position":[[55,4]]},"484":{"position":[[21,4]]},"502":{"position":[[192,4]]},"585":{"position":[[782,4]]},"586":{"position":[[746,4]]},"605":{"position":[[493,4]]}},"keywords":{}}],["parti",{"_index":4050,"title":{},"content":{"459":{"position":[[68,6]]},"469":{"position":[[163,8],[235,8],[689,7]]}},"keywords":{}}],["partial",{"_index":261,"title":{},"content":{"7":{"position":[[583,7]]},"492":{"position":[[476,9]]}},"keywords":{}}],["particip",{"_index":2177,"title":{},"content":{"222":{"position":[[54,13]]},"281":{"position":[[54,13]]}},"keywords":{}}],["particular",{"_index":1935,"title":{},"content":{"123":{"position":[[89,10]]},"204":{"position":[[141,10]]},"205":{"position":[[141,10]]},"208":{"position":[[228,10]]},"233":{"position":[[866,10]]},"260":{"position":[[328,10]]},"273":{"position":[[228,10]]},"283":{"position":[[217,10]]},"304":{"position":[[944,10]]},"360":{"position":[[863,10]]},"367":{"position":[[240,10]]},"457":{"position":[[334,10]]},"591":{"position":[[210,10]]},"646":{"position":[[59,10]]},"647":{"position":[[45,10]]},"651":{"position":[[41,10]]},"773":{"position":[[8,10]]},"774":{"position":[[8,10]]},"775":{"position":[[10,10]]}},"keywords":{}}],["partit",{"_index":3148,"title":{},"content":{"324":{"position":[[920,9]]}},"keywords":{}}],["pass",{"_index":758,"title":{},"content":{"36":{"position":[[4981,6],[5361,6],[8973,6]]},"42":{"position":[[84,4]]},"44":{"position":[[898,5]]},"49":{"position":[[356,4],[480,4],[669,4]]},"50":{"position":[[556,4]]},"52":{"position":[[311,4],[423,4],[748,4]]},"56":{"position":[[396,6]]},"63":{"position":[[938,6]]},"69":{"position":[[1963,6],[2556,6],[2881,6],[2999,6]]},"72":{"position":[[344,4]]},"79":{"position":[[517,6]]},"135":{"position":[[625,4]]},"136":{"position":[[465,4]]},"179":{"position":[[1,4],[69,4],[217,4]]},"198":{"position":[[1303,4]]},"202":{"position":[[4981,6],[5361,6],[8973,6]]},"215":{"position":[[390,6]]},"224":{"position":[[497,6]]},"227":{"position":[[262,6],[1669,7],[1835,4]]},"242":{"position":[[62,4]]},"267":{"position":[[3842,6],[10721,6]]},"276":{"position":[[374,6]]},"339":{"position":[[246,6],[443,6]]},"373":{"position":[[264,7],[405,4],[436,4]]},"379":{"position":[[211,6]]},"380":{"position":[[205,6]]},"381":{"position":[[216,6]]},"383":{"position":[[264,7],[405,4],[436,4]]},"448":{"position":[[234,4]]},"449":{"position":[[331,6]]},"464":{"position":[[631,7]]},"476":{"position":[[2082,6],[2997,6],[4950,7]]},"482":{"position":[[1196,4],[1369,4]]},"500":{"position":[[262,4]]},"501":{"position":[[305,6],[370,7]]},"504":{"position":[[209,4]]},"600":{"position":[[283,7]]},"607":{"position":[[642,4]]},"621":{"position":[[4849,4]]},"623":{"position":[[501,6]]},"624":{"position":[[467,6]]},"656":{"position":[[1058,6],[1415,6]]},"658":{"position":[[896,7]]},"680":{"position":[[110,5]]},"745":{"position":[[617,4],[889,4]]},"746":{"position":[[1079,4],[1379,4]]},"754":{"position":[[799,6],[858,6],[957,6],[1017,6],[1722,4],[1799,4],[1853,4],[1906,4]]}},"keywords":{}}],["pass/failed/skip",{"_index":4353,"title":{},"content":{"497":{"position":[[98,19]]}},"keywords":{}}],["passphrase.out",{"_index":462,"title":{},"content":{"20":{"position":[[1195,14]]}},"keywords":{}}],["password",{"_index":580,"title":{},"content":{"27":{"position":[[369,9],[388,8],[511,8],[578,8],[889,8]]},"42":{"position":[[100,8]]},"43":{"position":[[136,8],[385,8]]},"44":{"position":[[2360,9]]},"103":{"position":[[97,8]]},"227":{"position":[[1780,8]]},"242":{"position":[[223,10]]},"293":{"position":[[57,8]]},"347":{"position":[[1068,9],[1139,8],[1319,8]]},"623":{"position":[[539,8],[580,8],[809,8],[1030,8]]},"624":{"position":[[505,8],[546,8],[811,8],[1075,8]]},"769":{"position":[[145,9]]}},"keywords":{}}],["password"",{"_index":902,"title":{},"content":{"42":{"position":[[245,14]]},"95":{"position":[[993,14]]},"623":{"position":[[841,15],[1062,15]]},"624":{"position":[[850,15],[1114,15]]}},"keywords":{}}],["passwordless",{"_index":3338,"title":{},"content":{"347":{"position":[[1391,12]]}},"keywords":{}}],["passwork",{"_index":5562,"title":{},"content":{"769":{"position":[[38,8]]}},"keywords":{}}],["past",{"_index":1663,"title":{},"content":{"84":{"position":[[688,6],[878,5]]},"304":{"position":[[1613,6]]},"325":{"position":[[167,5]]},"371":{"position":[[98,4],[217,4]]},"487":{"position":[[481,8]]},"527":{"position":[[584,4]]},"561":{"position":[[80,4]]},"612":{"position":[[278,4]]},"617":{"position":[[542,4]]}},"keywords":{}}],["patch",{"_index":2581,"title":{},"content":{"254":{"position":[[1850,5]]}},"keywords":{}}],["path",{"_index":594,"title":{},"content":{"27":{"position":[[1047,5]]},"84":{"position":[[903,4]]},"136":{"position":[[368,4],[407,4]]},"138":{"position":[[103,4],[174,4],[322,4],[393,4]]},"174":{"position":[[87,4],[158,4],[306,4],[377,4]]},"181":{"position":[[328,4],[367,4]]},"194":{"position":[[185,4]]},"217":{"position":[[291,4],[309,4]]},"253":{"position":[[266,5],[773,4]]},"257":{"position":[[850,5],[1085,4]]},"291":{"position":[[267,4],[1215,4],[1471,4]]},"292":{"position":[[50,4],[180,5],[246,5]]},"313":{"position":[[214,5]]},"337":{"position":[[119,4],[135,4],[179,4]]},"394":{"position":[[87,4]]},"495":{"position":[[428,5]]},"518":{"position":[[105,5]]},"519":{"position":[[85,5]]},"628":{"position":[[248,4]]},"629":{"position":[[169,4]]},"630":{"position":[[145,4]]},"669":{"position":[[347,5]]},"736":{"position":[[397,5],[426,5]]},"737":{"position":[[627,4]]}},"keywords":{}}],["path>"",{"_index":4755,"title":{},"content":{"628":{"position":[[102,15],[184,15]]},"629":{"position":[[95,15]]},"630":{"position":[[97,15]]}},"keywords":{}}],["path=/auth/realms/openc3",{"_index":972,"title":{},"content":{"43":{"position":[[942,26],[1064,26]]}},"keywords":{}}],["path=~/cosmo",{"_index":2821,"title":{},"content":{"292":{"position":[[312,13]]}},"keywords":{}}],["path_to_openc3/openc3.sh",{"_index":3038,"title":{},"content":{"320":{"position":[[403,25],[474,25]]},"321":{"position":[[3580,25]]}},"keywords":{}}],["pattern",{"_index":1334,"title":{},"content":{"59":{"position":[[296,7],[417,8],[451,8],[687,7],[707,7],[763,7],[802,7],[858,7],[934,7],[975,8],[1024,7]]},"60":{"position":[[476,7],[638,8],[694,7],[1085,7],[1105,7],[1161,7],[1200,7],[1256,7],[1332,7],[1374,8],[1493,7]]},"61":{"position":[[455,8],[522,7],[858,7],[1210,8],[1365,7],[1862,7],[1882,7],[2061,7],[2100,7],[2156,7],[2232,7],[2274,8],[2388,7],[2455,7],[2808,7],[3275,8]]},"62":{"position":[[987,7],[1007,7],[1063,7],[1102,7],[1158,7],[1234,7],[1276,8],[1325,7]]},"63":{"position":[[2171,7],[2191,7],[2247,7],[2286,7],[2342,7],[2418,7],[2460,8],[2509,7]]},"64":{"position":[[343,7],[382,7],[438,7],[510,7],[545,7],[590,8]]},"247":{"position":[[153,8]]},"304":{"position":[[680,7]]},"364":{"position":[[1539,8]]},"478":{"position":[[56,7],[168,7],[898,8]]},"496":{"position":[[32,7],[271,8]]}},"keywords":{}}],["pattern"",{"_index":2129,"title":{},"content":{"201":{"position":[[2018,13]]},"203":{"position":[[1806,13]]}},"keywords":{}}],["paus",{"_index":2883,"title":{},"content":{"304":{"position":[[351,6],[2336,7],[2371,5],[2405,7],[2558,5],[2707,7],[3707,7],[5810,7],[5871,5]]},"490":{"position":[[480,5]]},"491":{"position":[[118,5]]},"495":{"position":[[1296,6]]},"505":{"position":[[263,7],[995,6]]},"544":{"position":[[347,6]]},"607":{"position":[[408,5]]},"612":{"position":[[95,5],[112,6]]},"617":{"position":[[592,5],[651,5]]},"656":{"position":[[131,6]]},"657":{"position":[[129,6]]},"658":{"position":[[82,6]]},"680":{"position":[[33,5]]},"681":{"position":[[1,6]]},"682":{"position":[[1,6]]},"683":{"position":[[1,6]]},"684":{"position":[[1,6]]},"685":{"position":[[53,6]]},"686":{"position":[[1,6]]},"687":{"position":[[1,6]]},"688":{"position":[[1,6]]}},"keywords":{}}],["pause/retri",{"_index":4622,"title":{},"content":{"617":{"position":[[568,11]]}},"keywords":{}}],["payload",{"_index":3104,"title":{},"content":{"321":{"position":[[3317,7]]}},"keywords":{}}],["pc",{"_index":3086,"title":{},"content":{"321":{"position":[[965,2]]}},"keywords":{}}],["pdf",{"_index":4501,"title":{},"content":{"566":{"position":[[122,4],[320,3],[372,4]]}},"keywords":{}}],["peg",{"_index":3847,"title":{},"content":{"410":{"position":[[310,8],[449,8]]},"417":{"position":[[279,8],[418,8]]},"423":{"position":[[289,8],[428,8]]}},"keywords":{}}],["pem",{"_index":595,"title":{"28":{"position":[[21,4]]}},"content":{"28":{"position":[[77,4],[135,3],[197,3]]},"291":{"position":[[875,5],[893,5]]}},"keywords":{}}],["pem.key",{"_index":599,"title":{},"content":{"28":{"position":[[225,8]]}},"keywords":{}}],["penalti",{"_index":2615,"title":{},"content":{"260":{"position":[[528,7]]},"504":{"position":[[446,7]]}},"keywords":{}}],["pencil",{"_index":4493,"title":{},"content":{"558":{"position":[[37,6],[107,6],[278,6]]},"592":{"position":[[14,6]]},"599":{"position":[[611,6]]}},"keywords":{}}],["peopl",{"_index":2572,"title":{},"content":{"254":{"position":[[349,6]]}},"keywords":{}}],["per",{"_index":695,"title":{},"content":{"36":{"position":[[1757,3],[1772,3]]},"61":{"position":[[1412,3],[1442,3]]},"202":{"position":[[1757,3],[1772,3]]},"227":{"position":[[5153,3]]},"239":{"position":[[1,3]]},"240":{"position":[[1,3],[208,3]]},"241":{"position":[[1,3]]},"243":{"position":[[1,3]]},"245":{"position":[[89,3]]},"247":{"position":[[1,3]]},"253":{"position":[[2553,3]]},"261":{"position":[[357,3]]},"267":{"position":[[1752,3],[1767,3]]},"307":{"position":[[545,3],[645,3]]},"338":{"position":[[834,3]]},"356":{"position":[[120,3]]},"357":{"position":[[130,3]]},"363":{"position":[[822,3],[835,3]]},"384":{"position":[[476,3]]},"401":{"position":[[368,3],[398,3]]},"402":{"position":[[368,3],[393,3],[428,3],[452,3]]},"453":{"position":[[79,3]]},"454":{"position":[[282,3]]},"476":{"position":[[1383,3]]},"596":{"position":[[90,3],[129,3]]}},"keywords":{}}],["percent",{"_index":2044,"title":{},"content":{"167":{"position":[[113,7]]}},"keywords":{}}],["percentag",{"_index":3876,"title":{},"content":{"422":{"position":[[55,11]]}},"keywords":{}}],["perform",{"_index":321,"title":{"357":{"position":[[0,11]]}},"content":{"11":{"position":[[261,7]]},"36":{"position":[[9168,12]]},"117":{"position":[[81,7]]},"118":{"position":[[118,7]]},"171":{"position":[[148,7]]},"202":{"position":[[9168,12]]},"240":{"position":[[1694,11]]},"249":{"position":[[539,7]]},"250":{"position":[[17,12]]},"260":{"position":[[516,11]]},"267":{"position":[[7293,12]]},"289":{"position":[[709,12]]},"297":{"position":[[362,7]]},"304":{"position":[[1462,7],[1554,7],[1740,7]]},"307":{"position":[[19,8]]},"355":{"position":[[100,11]]},"356":{"position":[[34,12],[204,8]]},"357":{"position":[[1,11],[34,9],[2474,11]]},"366":{"position":[[141,7]]},"429":{"position":[[148,7]]},"467":{"position":[[850,7]]},"476":{"position":[[2361,7],[3273,7]]},"480":{"position":[[313,7]]},"482":{"position":[[893,10]]},"483":{"position":[[49,7]]},"487":{"position":[[302,9]]},"499":{"position":[[223,7]]},"501":{"position":[[70,7]]},"505":{"position":[[618,7]]},"511":{"position":[[232,8]]},"514":{"position":[[57,7]]},"599":{"position":[[438,11]]},"617":{"position":[[279,7]]},"637":{"position":[[35,10]]},"638":{"position":[[35,10]]},"639":{"position":[[35,10]]},"641":{"position":[[58,10]]},"642":{"position":[[58,10]]},"643":{"position":[[58,10]]},"644":{"position":[[253,7]]},"656":{"position":[[1,8],[663,7]]},"658":{"position":[[131,7]]},"681":{"position":[[1029,7]]},"683":{"position":[[157,7]]},"685":{"position":[[644,7]]},"687":{"position":[[153,7]]}},"keywords":{}}],["perform_common_math(gimbal.gimbal_step",{"_index":4303,"title":{},"content":{"487":{"position":[[1153,40],[1625,40]]}},"keywords":{}}],["perform_common_math(x",{"_index":4296,"title":{},"content":{"487":{"position":[[982,22],[1448,22]]}},"keywords":{}}],["perhap",{"_index":2892,"title":{},"content":{"304":{"position":[[1051,7]]}},"keywords":{}}],["period",{"_index":1403,"title":{},"content":{"63":{"position":[[2646,6]]},"66":{"position":[[286,6]]},"165":{"position":[[1,6]]},"289":{"position":[[1004,6]]},"369":{"position":[[415,6]]},"459":{"position":[[1404,7]]},"550":{"position":[[154,7]]}},"keywords":{}}],["perman",{"_index":3256,"title":{},"content":{"334":{"position":[[925,11]]},"605":{"position":[[268,14]]},"734":{"position":[[44,10]]},"746":{"position":[[90,11]]}},"keywords":{}}],["permiss",{"_index":1164,"title":{},"content":{"46":{"position":[[768,12]]},"341":{"position":[[227,11]]},"360":{"position":[[590,10]]},"467":{"position":[[67,11]]}},"keywords":{}}],["permit",{"_index":3899,"title":{},"content":{"428":{"position":[[158,6]]},"459":{"position":[[1233,7]]},"465":{"position":[[594,9]]}},"keywords":{}}],["perpetu",{"_index":3655,"title":{},"content":{"361":{"position":[[446,9]]}},"keywords":{}}],["persist",{"_index":1922,"title":{},"content":{"118":{"position":[[19,10]]},"171":{"position":[[156,10]]},"249":{"position":[[463,8]]},"267":{"position":[[8559,11]]},"700":{"position":[[1619,11]]}},"keywords":{}}],["person",{"_index":3609,"title":{},"content":{"359":{"position":[[386,9]]},"459":{"position":[[401,8],[1074,8],[1336,8],[1365,8],[1427,8],[1817,8]]},"460":{"position":[[50,10]]},"461":{"position":[[13,8]]},"462":{"position":[[23,8],[208,8]]},"463":{"position":[[32,8]]},"466":{"position":[[413,8],[643,8]]},"467":{"position":[[1060,8],[1451,8]]},"469":{"position":[[430,8],[520,8],[739,8],[813,8]]}},"keywords":{}}],["pfx",{"_index":559,"title":{"26":{"position":[[43,4]]},"27":{"position":[[33,4]]},"28":{"position":[[8,4]]}},"content":{"26":{"position":[[5,4],[314,4]]},"27":{"position":[[200,4],[456,4]]},"28":{"position":[[62,4]]}},"keywords":{}}],["phase",{"_index":1804,"title":{},"content":{"99":{"position":[[2170,6]]}},"keywords":{}}],["philosophi",{"_index":3694,"title":{"364":{"position":[[0,10]]},"477":{"position":[[10,11]]}},"content":{"364":{"position":[[0,10]]}},"keywords":{}}],["phone",{"_index":4088,"title":{},"content":{"461":{"position":[[841,5],[1035,5]]}},"keywords":{}}],["photo",{"_index":3974,"title":{},"content":{"441":{"position":[[502,5]]}},"keywords":{}}],["physic",{"_index":1917,"title":{},"content":{"115":{"position":[[26,8]]},"123":{"position":[[27,8]]},"320":{"position":[[1259,8]]}},"keywords":{}}],["pi",{"_index":25,"title":{"346":{"position":[[10,2]]},"347":{"position":[[28,2]]}},"content":{"1":{"position":[[257,3]]},"347":{"position":[[15,2],[217,2],[251,2],[282,2],[480,2],[650,2],[725,2],[794,2],[836,2],[1668,2],[1757,2],[1789,2],[1861,2],[1918,2],[2724,3]]},"355":{"position":[[31,2]]}},"keywords":{}}],["pick",{"_index":4369,"title":{},"content":{"499":{"position":[[462,4]]}},"keywords":{}}],["picker",{"_index":3941,"title":{},"content":{"432":{"position":[[17,6]]},"436":{"position":[[17,6]]}},"keywords":{}}],["pictur",{"_index":1888,"title":{},"content":{"108":{"position":[[527,8]]}},"keywords":{}}],["piec",{"_index":87,"title":{},"content":{"3":{"position":[[61,6],[307,6]]},"114":{"position":[[26,6],[202,6]]},"123":{"position":[[100,5]]},"608":{"position":[[95,5],[588,6]]}},"keywords":{}}],["pink",{"_index":4407,"title":{},"content":{"505":{"position":[[63,4]]}},"keywords":{}}],["pip",{"_index":1855,"title":{},"content":{"105":{"position":[[92,3],[161,3]]}},"keywords":{}}],["pixel",{"_index":3725,"title":{},"content":{"369":{"position":[[238,6],[331,6]]},"375":{"position":[[83,8],[138,6]]},"376":{"position":[[85,8],[142,6]]},"377":{"position":[[85,8],[138,6]]},"378":{"position":[[87,8],[140,6]]},"391":{"position":[[214,6]]},"399":{"position":[[107,6],[150,6]]},"405":{"position":[[397,6]]},"418":{"position":[[2036,6],[2065,6]]},"419":{"position":[[2089,6],[2118,6]]},"420":{"position":[[2061,6],[2090,6]]},"422":{"position":[[406,7]]},"443":{"position":[[398,6]]},"444":{"position":[[576,6]]},"445":{"position":[[192,6]]}},"keywords":{}}],["pkcs#12",{"_index":560,"title":{},"content":{"26":{"position":[[30,7]]}},"keywords":{}}],["pkcs12",{"_index":576,"title":{},"content":{"27":{"position":[[274,6],[703,6]]}},"keywords":{}}],["pkt",{"_index":2193,"title":{},"content":{"224":{"position":[[757,3],[803,3],[858,3],[949,3],[1195,3],[1242,3]]},"259":{"position":[[1489,3],[1756,3],[1823,3]]}},"keywords":{}}],["pkt_len",{"_index":3070,"title":{},"content":{"321":{"position":[[643,7],[1503,7],[2035,7],[2535,7],[3032,7]]}},"keywords":{}}],["pktid",{"_index":2647,"title":{},"content":{"266":{"position":[[1068,5]]},"268":{"position":[[867,5]]},"269":{"position":[[1165,5]]},"270":{"position":[[841,5]]}},"keywords":{}}],["pkts_rcvd",{"_index":5366,"title":{},"content":{"724":{"position":[[452,10],[767,13],[970,10]]}},"keywords":{}}],["pkts_sent",{"_index":5367,"title":{},"content":{"724":{"position":[[463,10],[981,9]]}},"keywords":{}}],["pkts_sent}"",{"_index":5369,"title":{},"content":{"724":{"position":[[795,18]]}},"keywords":{}}],["place",{"_index":221,"title":{},"content":{"6":{"position":[[536,6]]},"27":{"position":[[616,5]]},"58":{"position":[[678,5],[978,5]]},"198":{"position":[[232,6]]},"259":{"position":[[260,6]]},"262":{"position":[[655,6]]},"291":{"position":[[143,6],[372,5]]},"304":{"position":[[3856,5]]},"332":{"position":[[619,6]]},"364":{"position":[[1339,6]]},"385":{"position":[[110,6]]},"386":{"position":[[1,6],[163,6]]},"387":{"position":[[1,6],[216,5]]},"388":{"position":[[1,6]]},"389":{"position":[[1,6],[174,5]]},"390":{"position":[[1,6]]},"391":{"position":[[1,6]]},"392":{"position":[[35,5]]},"393":{"position":[[45,5]]},"396":{"position":[[92,6]]},"399":{"position":[[1,6]]},"437":{"position":[[103,6]]},"438":{"position":[[142,6]]},"451":{"position":[[98,5],[172,5]]},"452":{"position":[[126,6]]},"453":{"position":[[125,6]]},"461":{"position":[[738,5]]},"464":{"position":[[540,5]]},"476":{"position":[[708,6],[800,6],[3826,5]]},"482":{"position":[[505,6]]},"485":{"position":[[234,5],[333,5]]},"487":{"position":[[353,5]]},"497":{"position":[[387,6],[692,6]]},"522":{"position":[[89,6]]},"528":{"position":[[1380,6]]},"756":{"position":[[1,6]]},"757":{"position":[[1,6]]}},"keywords":{}}],["plain",{"_index":402,"title":{},"content":{"20":{"position":[[183,5]]},"26":{"position":[[212,5]]},"297":{"position":[[878,5]]},"298":{"position":[[1437,5]]},"344":{"position":[[280,5]]}},"keywords":{}}],["plan",{"_index":1671,"title":{"110":{"position":[[10,9]]}},"content":{"84":{"position":[[1386,4]]},"107":{"position":[[41,8]]},"108":{"position":[[619,8]]},"110":{"position":[[15,8],[69,8]]},"253":{"position":[[8323,4]]},"457":{"position":[[120,7]]}},"keywords":{}}],["platform",{"_index":2503,"title":{},"content":{"253":{"position":[[124,8]]},"289":{"position":[[279,9]]},"353":{"position":[[20,8]]},"355":{"position":[[82,9]]},"357":{"position":[[720,8],[2205,8],[2389,9],[3662,9],[4253,9]]},"507":{"position":[[325,8]]}},"keywords":{}}],["platformsredi",{"_index":3528,"title":{},"content":{"357":{"position":[[1941,14],[3431,14]]}},"keywords":{}}],["play",{"_index":2502,"title":{},"content":{"253":{"position":[[1,7]]}},"keywords":{}}],["play_wav_fil",{"_index":4628,"title":{},"content":{"620":{"position":[[241,13]]},"621":{"position":[[2894,13]]}},"keywords":{}}],["playback",{"_index":1877,"title":{},"content":{"108":{"position":[[267,8]]},"227":{"position":[[4650,8],[4803,8]]},"307":{"position":[[87,9]]},"309":{"position":[[382,8],[436,9]]}},"keywords":{}}],["playwright",{"_index":1828,"title":{"101":{"position":[[0,11]]},"103":{"position":[[0,10]]}},"content":{"102":{"position":[[57,10],[116,10],[135,10],[170,10]]},"103":{"position":[[238,10],[256,10],[515,10],[572,10]]}},"keywords":{}}],["playwright/coverage/index.html",{"_index":1847,"title":{},"content":{"103":{"position":[[647,30]]}},"keywords":{}}],["pleas",{"_index":129,"title":{},"content":{"3":{"position":[[672,6]]},"63":{"position":[[129,6]]},"81":{"position":[[1,6]]},"110":{"position":[[142,6]]},"123":{"position":[[867,6]]},"134":{"position":[[347,6]]},"143":{"position":[[657,6]]},"234":{"position":[[468,6]]},"235":{"position":[[640,6]]},"253":{"position":[[8105,6]]},"254":{"position":[[2978,6]]},"292":{"position":[[650,6],[776,6]]},"295":{"position":[[38,6]]},"328":{"position":[[588,6]]},"363":{"position":[[1004,6],[1415,6]]},"368":{"position":[[390,6]]},"449":{"position":[[667,6]]},"457":{"position":[[383,6]]},"471":{"position":[[82,6]]},"472":{"position":[[62,6],[163,6]]},"476":{"position":[[4274,6]]},"594":{"position":[[93,6]]},"619":{"position":[[128,6]]},"753":{"position":[[103,6]]}},"keywords":{}}],["plot",{"_index":2957,"title":{},"content":{"307":{"position":[[248,5],[539,5],[575,6],[649,5],[688,5],[879,8],[980,8]]}},"keywords":{}}],["plu",{"_index":298,"title":{},"content":{"9":{"position":[[133,4]]},"61":{"position":[[1072,4]]},"527":{"position":[[297,4]]},"564":{"position":[[92,4]]}},"keywords":{}}],["plug",{"_index":2475,"title":{},"content":{"246":{"position":[[336,4]]},"513":{"position":[[695,4]]},"628":{"position":[[413,4]]},"629":{"position":[[355,4]]}},"keywords":{}}],["plugin",{"_index":58,"title":{"111":{"position":[[0,7]]},"119":{"position":[[0,6]]},"229":{"position":[[0,6]]},"254":{"position":[[14,7]]},"320":{"position":[[18,6]]},"322":{"position":[[14,7]]},"485":{"position":[[31,7]]}},"content":{"2":{"position":[[497,8]]},"83":{"position":[[300,8]]},"108":{"position":[[148,6]]},"112":{"position":[[72,7],[80,7],[130,7],[497,6],[579,7],[655,6]]},"119":{"position":[[8,7]]},"120":{"position":[[60,7],[100,6],[145,6]]},"121":{"position":[[40,6],[140,6],[532,6]]},"122":{"position":[[30,6],[108,6]]},"138":{"position":[[151,7],[370,7]]},"171":{"position":[[61,6],[284,7]]},"174":{"position":[[135,7],[354,7]]},"184":{"position":[[40,6],[349,7]]},"229":{"position":[[5,6],[63,7],[85,6],[203,6],[230,6],[275,6],[286,6],[497,7],[512,7],[841,6],[937,7],[1185,6],[1277,6],[1365,6],[1432,6],[1498,8],[1579,6]]},"230":{"position":[[113,6]]},"231":{"position":[[125,6]]},"232":{"position":[[121,6]]},"233":{"position":[[131,6]]},"234":{"position":[[203,6]]},"235":{"position":[[114,6]]},"253":{"position":[[477,7],[963,7],[971,7],[1035,6],[1214,6],[1461,6],[1481,6],[1691,6],[2025,6],[2059,6],[2150,6],[2557,6],[6504,6],[6963,6],[7066,6],[8307,6]]},"254":{"position":[[26,6],[339,6],[367,6],[437,6],[525,7],[702,6],[1755,6],[2074,7],[2165,7],[2199,6],[2253,6],[2367,6],[2409,7],[2615,7],[2658,6]]},"257":{"position":[[66,8],[161,8],[192,7],[323,7],[358,7],[383,6],[696,7],[1211,6],[1458,6],[1641,6],[1867,6],[1929,6]]},"298":{"position":[[588,8]]},"311":{"position":[[73,7],[184,7],[213,6],[264,7],[293,6],[347,7],[367,6],[433,7],[625,7],[657,6]]},"320":{"position":[[43,7],[142,6],[191,6],[299,6],[334,6],[442,6],[548,7],[1314,7],[1412,7],[1559,6]]},"321":{"position":[[3519,6],[3548,6],[3637,6],[3777,7],[3924,6],[3984,6],[4014,6]]},"322":{"position":[[11,6],[53,6],[203,6],[1020,7],[1365,7],[1429,6],[1494,6],[1552,7],[1638,6]]},"327":{"position":[[230,6]]},"328":{"position":[[715,6],[1361,6],[1382,6]]},"331":{"position":[[415,6],[460,7]]},"334":{"position":[[76,7],[176,7],[352,6],[459,7],[501,6],[702,6],[725,7],[792,7],[1012,6],[1070,6],[1105,7],[1149,6]]},"338":{"position":[[925,6]]},"350":{"position":[[1341,6],[1424,6]]},"351":{"position":[[576,6]]},"359":{"position":[[843,8],[1317,8],[1330,7],[1442,7]]},"360":{"position":[[50,6],[125,6],[166,7],[179,6]]},"361":{"position":[[296,7]]},"362":{"position":[[479,7]]},"453":{"position":[[50,6],[217,6]]},"484":{"position":[[31,7],[63,6],[187,6]]},"485":{"position":[[110,7]]},"517":{"position":[[263,7],[567,8]]},"630":{"position":[[346,6]]}},"keywords":{}}],["plugin"",{"_index":2574,"title":{},"content":{"254":{"position":[[570,12]]}},"keywords":{}}],["plugin'",{"_index":237,"title":{},"content":{"6":{"position":[[1135,8]]},"321":{"position":[[3817,8]]},"322":{"position":[[1704,8]]},"328":{"position":[[51,8],[1533,8]]},"441":{"position":[[125,8]]},"485":{"position":[[162,8]]}},"keywords":{}}],["plugin.gemspec",{"_index":1909,"title":{},"content":{"112":{"position":[[542,14]]}},"keywords":{}}],["plugin.txt",{"_index":238,"title":{"120":{"position":[[0,10]]}},"content":{"6":{"position":[[1144,10]]},"49":{"position":[[822,10],[1677,10]]},"50":{"position":[[709,10],[1417,10]]},"51":{"position":[[865,10],[988,10]]},"52":{"position":[[901,10]]},"112":{"position":[[594,10]]},"120":{"position":[[3,10],[393,10]]},"121":{"position":[[472,10]]},"229":{"position":[[1149,10]]},"230":{"position":[[2495,10]]},"231":{"position":[[1158,10]]},"234":{"position":[[868,10]]},"235":{"position":[[1689,10]]},"257":{"position":[[1663,10]]},"320":{"position":[[567,10]]},"327":{"position":[[138,10]]},"331":{"position":[[388,10]]},"338":{"position":[[92,10]]},"343":{"position":[[744,11]]}},"keywords":{}}],["plugin_instance.json",{"_index":3247,"title":{},"content":{"331":{"position":[[318,20],[349,20]]}},"keywords":{}}],["plugins/default/openc3",{"_index":3246,"title":{},"content":{"331":{"position":[[216,22]]}},"keywords":{}}],["plugins/packages/openc3",{"_index":1655,"title":{},"content":{"84":{"position":[[238,23]]}},"keywords":{}}],["plugins/targets_modified/inst/procedures/checks.rb",{"_index":3250,"title":{},"content":{"332":{"position":[[486,51]]}},"keywords":{}}],["plugins](../configuration/plugin",{"_index":2554,"title":{},"content":{"253":{"position":[[6517,35]]}},"keywords":{}}],["pluginsgrafana",{"_index":3667,"title":{},"content":{"362":{"position":[[321,14]]}},"keywords":{}}],["png",{"_index":3875,"title":{},"content":{"421":{"position":[[340,4]]}},"keywords":{}}],["pod",{"_index":1934,"title":{},"content":{"122":{"position":[[338,4]]},"240":{"position":[[1888,3]]}},"keywords":{}}],["podman",{"_index":2757,"title":{"323":{"position":[[0,6]]},"324":{"position":[[29,6]]}},"content":{"289":{"position":[[200,6]]},"324":{"position":[[91,6],[174,6],[291,6],[511,7],[653,6],[1039,6],[1091,6],[1137,6],[1331,6],[1677,6],[2181,6],[2420,6],[2874,6],[3799,6],[3983,6],[3999,6]]},"325":{"position":[[9,6],[29,6],[46,6],[69,6],[89,6],[183,7]]}},"keywords":{}}],["podman.socket",{"_index":3182,"title":{},"content":{"324":{"position":[[2472,13]]}},"keywords":{}}],["point",{"_index":628,"title":{"498":{"position":[[45,5]]},"499":{"position":[[44,6]]}},"content":{"31":{"position":[[659,5]]},"62":{"position":[[186,5]]},"94":{"position":[[161,6],[232,6],[315,6],[399,5]]},"198":{"position":[[960,5]]},"227":{"position":[[1898,6]]},"235":{"position":[[847,5]]},"254":{"position":[[733,5],[920,5],[2399,5],[2631,5]]},"259":{"position":[[984,5]]},"300":{"position":[[595,5]]},"302":{"position":[[39,6],[108,6],[264,6],[321,7],[382,7],[418,6],[570,5],[637,6]]},"306":{"position":[[55,6]]},"307":{"position":[[50,6],[197,7],[638,6],[764,7],[777,6],[960,7],[973,6]]},"308":{"position":[[212,7],[248,6],[530,5]]},"332":{"position":[[549,5]]},"334":{"position":[[281,5],[475,5]]},"355":{"position":[[425,6]]},"357":{"position":[[2039,5]]},"366":{"position":[[504,6]]},"418":{"position":[[1866,6],[1943,6]]},"419":{"position":[[1919,6],[1996,6]]},"420":{"position":[[1891,6],[1968,6]]},"429":{"position":[[1190,5]]},"470":{"position":[[214,5]]},"483":{"position":[[226,5],[413,7],[1304,6]]},"486":{"position":[[228,6]]},"498":{"position":[[37,6],[141,5],[305,5]]},"499":{"position":[[76,5],[194,6],[278,6],[494,6]]},"500":{"position":[[312,7],[744,6]]},"501":{"position":[[257,5]]},"504":{"position":[[200,5],[822,5]]},"505":{"position":[[1163,6]]},"556":{"position":[[312,6],[333,5],[565,6],[586,5]]},"585":{"position":[[199,5]]},"586":{"position":[[214,5]]},"591":{"position":[[324,5]]},"592":{"position":[[363,5]]},"596":{"position":[[83,6]]},"599":{"position":[[279,7],[322,6],[381,6],[413,6],[514,6],[558,7]]},"607":{"position":[[293,5]]},"617":{"position":[[1005,6]]},"618":{"position":[[313,6],[964,6]]},"671":{"position":[[41,5]]},"672":{"position":[[35,5]]},"699":{"position":[[64,6]]},"700":{"position":[[60,6]]}},"keywords":{}}],["pointsgraph",{"_index":3868,"title":{},"content":{"418":{"position":[[1840,14]]},"419":{"position":[[1893,14]]},"420":{"position":[[1865,14]]}},"keywords":{}}],["pointssav",{"_index":3867,"title":{},"content":{"418":{"position":[[1715,12]]},"419":{"position":[[1768,12]]},"420":{"position":[[1740,12]]}},"keywords":{}}],["poli",{"_index":1421,"title":{},"content":{"67":{"position":[[703,4]]}},"keywords":{}}],["polici",{"_index":962,"title":{"458":{"position":[[21,6]]},"469":{"position":[[30,6]]},"470":{"position":[[20,7]]},"471":{"position":[[19,7]]}},"content":{"43":{"position":[[806,7]]},"465":{"position":[[686,7]]},"467":{"position":[[926,8]]},"469":{"position":[[13,6],[362,8]]},"470":{"position":[[35,7]]},"472":{"position":[[54,7]]}},"keywords":{}}],["policy":0,"session_state":"f3785967",{"_index":1004,"title":{},"content":{"43":{"position":[[4507,55]]}},"keywords":{}}],["poll",{"_index":1402,"title":{},"content":{"63":{"position":[[2638,7],[2687,7]]},"66":{"position":[[278,7],[327,7]]},"305":{"position":[[1068,7],[1121,7]]},"369":{"position":[[407,7]]},"674":{"position":[[165,7]]},"681":{"position":[[1184,7]]},"682":{"position":[[951,7]]},"683":{"position":[[737,7]]},"684":{"position":[[618,7]]},"685":{"position":[[796,7]]},"686":{"position":[[847,7]]},"687":{"position":[[662,7]]},"688":{"position":[[590,7]]}},"keywords":{}}],["poly_read_convers",{"_index":2656,"title":{},"content":{"267":{"position":[[4558,21],[5197,20]]},"285":{"position":[[1011,20]]}},"keywords":{}}],["poly_write_convers",{"_index":784,"title":{},"content":{"36":{"position":[[6078,22],[6658,21]]},"202":{"position":[[6078,22],[6658,21]]},"226":{"position":[[821,21]]}},"keywords":{}}],["polynomi",{"_index":785,"title":{},"content":{"36":{"position":[[6109,10],[6414,10],[6500,11],[6535,11],[6589,12],[6739,10],[7041,10],[7210,10],[7296,11],[7331,11],[7385,12]]},"67":{"position":[[708,10],[795,10]]},"202":{"position":[[6109,10],[6414,10],[6500,11],[6535,11],[6589,12],[6739,10],[7041,10],[7210,10],[7296,11],[7331,11],[7385,12]]},"267":{"position":[[4588,10],[4953,10],[5039,11],[5074,11],[5128,12],[5276,10],[5642,10],[5811,10],[5897,11],[5932,11],[5986,12]]},"618":{"position":[[542,10]]}},"keywords":{}}],["pool",{"_index":4457,"title":{},"content":{"528":{"position":[[232,4]]}},"keywords":{}}],["popul",{"_index":699,"title":{},"content":{"36":{"position":[[1953,9],[2201,8]]},"202":{"position":[[1953,9],[2201,8]]},"517":{"position":[[250,9]]},"530":{"position":[[149,8]]},"533":{"position":[[400,9]]},"564":{"position":[[243,8]]},"609":{"position":[[97,8]]}},"keywords":{}}],["popup",{"_index":640,"title":{},"content":{"33":{"position":[[635,6],[894,6]]},"36":{"position":[[3205,5]]},"202":{"position":[[3205,5]]},"210":{"position":[[138,5]]},"278":{"position":[[207,5]]},"606":{"position":[[333,5]]}},"keywords":{}}],["port",{"_index":495,"title":{"139":{"position":[[0,5]]},"175":{"position":[[0,5]]},"341":{"position":[[15,6]]}},"content":{"22":{"position":[[326,4]]},"23":{"position":[[30,4],[50,4],[228,6]]},"49":{"position":[[293,4],[298,4],[349,6],[414,4],[419,4],[473,6]]},"50":{"position":[[281,4],[286,4],[337,5],[352,4],[357,4],[411,5]]},"51":{"position":[[211,4],[216,4],[272,4],[277,4],[344,4],[349,4],[440,5]]},"52":{"position":[[57,5],[243,4],[267,4],[356,4],[380,4],[519,4]]},"69":{"position":[[565,4]]},"83":{"position":[[2094,5],[2369,5]]},"84":{"position":[[934,4]]},"89":{"position":[[110,4],[183,4]]},"115":{"position":[[180,6]]},"121":{"position":[[268,6]]},"139":{"position":[[21,4],[100,4],[186,4],[212,4],[266,4]]},"175":{"position":[[22,4],[101,4],[187,4],[213,4],[303,4]]},"241":{"position":[[355,5]]},"253":{"position":[[7787,4],[8379,5]]},"254":{"position":[[877,4]]},"257":{"position":[[102,7]]},"315":{"position":[[128,4],[204,4],[238,4],[301,6]]},"319":{"position":[[86,6]]},"320":{"position":[[643,4],[720,4]]},"322":{"position":[[1179,4],[1260,4],[1458,4],[1535,4]]},"324":{"position":[[3763,4],[3841,4]]},"338":{"position":[[449,4],[503,4],[880,4],[971,4],[1954,5],[2183,4]]},"340":{"position":[[8,5]]},"341":{"position":[[8,5]]},"347":{"position":[[2507,5]]},"350":{"position":[[198,4],[332,4],[662,4],[983,4]]},"621":{"position":[[62,6],[129,6]]},"711":{"position":[[521,5]]}},"keywords":{}}],["port_tc",{"_index":3040,"title":{},"content":{"320":{"position":[[698,7],[821,7],[1100,7]]}},"keywords":{}}],["port_tm",{"_index":3039,"title":{},"content":{"320":{"position":[[628,7],[799,7],[1121,7]]}},"keywords":{}}],["portabl",{"_index":4127,"title":{},"content":{"466":{"position":[[540,11]]}},"keywords":{}}],["portion",{"_index":1729,"title":{},"content":{"93":{"position":[[681,7]]},"277":{"position":[[124,7]]},"360":{"position":[[657,8]]},"403":{"position":[[164,7]]},"427":{"position":[[55,7]]},"505":{"position":[[933,7]]}},"keywords":{}}],["pos[x,y,z",{"_index":3479,"title":{},"content":{"357":{"position":[[611,10]]}},"keywords":{}}],["posit",{"_index":460,"title":{"192":{"position":[[0,9]]}},"content":{"20":{"position":[[1146,8]]},"54":{"position":[[345,8]]},"88":{"position":[[249,9]]},"192":{"position":[[16,8],[54,8],[140,8],[261,9],[321,8]]},"306":{"position":[[560,10]]},"371":{"position":[[305,9]]},"385":{"position":[[30,8]]},"439":{"position":[[61,8],[72,8],[139,8],[150,8]]},"440":{"position":[[207,8],[218,8],[285,8],[296,8]]},"441":{"position":[[174,8],[185,8],[253,8],[264,8]]},"442":{"position":[[615,8],[626,8],[694,8],[705,8],[1454,8],[1465,8],[1533,8],[1544,8]]},"443":{"position":[[69,8],[80,8],[141,8],[152,8],[211,8],[222,8],[279,8],[290,8]]},"444":{"position":[[277,8],[288,8],[349,8],[360,8],[419,8],[430,8],[487,8],[498,8]]},"445":{"position":[[62,8],[73,8],[100,8],[111,8]]},"739":{"position":[[43,9],[164,8],[195,8],[338,8],[407,8]]},"746":{"position":[[326,8],[357,8],[511,8],[580,8]]}},"keywords":{}}],["posix",{"_index":1244,"title":{},"content":{"52":{"position":[[108,5]]}},"keywords":{}}],["posprogress",{"_index":3838,"title":{},"content":{"405":{"position":[[579,11],[628,11]]},"422":{"position":[[584,11],[626,11]]}},"keywords":{}}],["possess",{"_index":4149,"title":{},"content":{"469":{"position":[[548,11]]}},"keywords":{}}],["possibl",{"_index":171,"title":{},"content":{"5":{"position":[[799,9]]},"54":{"position":[[264,8]]},"69":{"position":[[2956,8],[3286,14]]},"199":{"position":[[269,9]]},"264":{"position":[[298,9]]},"328":{"position":[[1846,13]]},"329":{"position":[[82,8]]},"362":{"position":[[722,9]]},"364":{"position":[[1382,9],[1476,8]]},"459":{"position":[[190,11]]},"469":{"position":[[669,8]]},"479":{"position":[[194,8]]},"495":{"position":[[335,13],[1018,9]]},"496":{"position":[[6,9]]},"746":{"position":[[660,8]]}},"keywords":{}}],["post",{"_index":915,"title":{},"content":{"42":{"position":[[493,4]]},"43":{"position":[[590,4],[6246,4]]},"44":{"position":[[799,6],[1388,6]]},"469":{"position":[[294,6]]},"470":{"position":[[51,4]]},"550":{"position":[[232,4]]}},"keywords":{}}],["post_check",{"_index":2184,"title":{},"content":{"224":{"position":[[152,10]]},"548":{"position":[[512,10]]}},"keywords":{}}],["post_check(packet",{"_index":2199,"title":{},"content":{"224":{"position":[[909,18]]}},"keywords":{}}],["post_check(self",{"_index":2207,"title":{},"content":{"224":{"position":[[1356,16]]}},"keywords":{}}],["post_write_interfac",{"_index":1485,"title":{"79":{"position":[[0,21]]}},"content":{"69":{"position":[[4829,22]]},"79":{"position":[[5,20],[638,22]]}},"keywords":{}}],["post_write_interface(packet",{"_index":1540,"title":{},"content":{"79":{"position":[[959,28]]}},"keywords":{}}],["post_write_interface(self",{"_index":1541,"title":{},"content":{"79":{"position":[[1059,26]]}},"keywords":{}}],["postgresql",{"_index":2446,"title":{},"content":{"240":{"position":[[1809,10]]},"357":{"position":[[1853,10],[3344,10]]}},"keywords":{}}],["potenti",{"_index":1478,"title":{},"content":{"69":{"position":[[4024,11]]},"75":{"position":[[45,11]]},"76":{"position":[[47,11]]},"77":{"position":[[48,11]]},"78":{"position":[[46,11]]},"231":{"position":[[961,9]]},"257":{"position":[[546,11]]},"291":{"position":[[937,11]]},"578":{"position":[[1095,11]]},"607":{"position":[[531,11]]}},"keywords":{}}],["pound",{"_index":4210,"title":{},"content":{"476":{"position":[[4657,5]]},"481":{"position":[[259,5]]}},"keywords":{}}],["power",{"_index":13,"title":{},"content":{"1":{"position":[[140,6],[181,5]]},"7":{"position":[[1103,8]]},"251":{"position":[[47,7]]},"283":{"position":[[241,7]]},"297":{"position":[[702,8]]},"298":{"position":[[999,5]]},"334":{"position":[[1289,8]]},"347":{"position":[[34,8],[285,5],[1678,7],[1766,5]]},"351":{"position":[[42,9],[234,8]]},"357":{"position":[[3556,5]]},"476":{"position":[[1029,6],[1051,5]]},"479":{"position":[[26,8]]},"480":{"position":[[345,8],[580,6]]},"482":{"position":[[612,9]]},"483":{"position":[[11,8]]}},"keywords":{}}],["power_off_subystem",{"_index":4228,"title":{},"content":{"480":{"position":[[1127,20]]}},"keywords":{}}],["power_on_subsystem",{"_index":4227,"title":{},"content":{"480":{"position":[[658,18],[736,21],[1029,20],[1171,20]]}},"keywords":{}}],["pp",{"_index":5572,"title":{},"content":{"771":{"position":[[149,2]]},"772":{"position":[[270,2]]}},"keywords":{}}],["ppsselectiontable_def.txt",{"_index":616,"title":{},"content":{"31":{"position":[[214,26]]}},"keywords":{}}],["practic",{"_index":2522,"title":{"495":{"position":[[16,10]]}},"content":{"253":{"position":[[1811,9],[2515,8]]},"356":{"position":[[644,8]]},"469":{"position":[[268,9]]},"474":{"position":[[37,9]]}},"keywords":{}}],["practices."",{"_index":2480,"title":{},"content":{"247":{"position":[[171,16]]}},"keywords":{}}],["pragma",{"_index":960,"title":{},"content":{"43":{"position":[[780,7]]}},"keywords":{}}],["pre",{"_index":553,"title":{},"content":{"24":{"position":[[961,3]]}},"keywords":{}}],["pre_check",{"_index":2183,"title":{},"content":{"224":{"position":[[138,9]]},"548":{"position":[[498,9]]}},"keywords":{}}],["pre_check(packet",{"_index":2191,"title":{},"content":{"224":{"position":[[722,17]]}},"keywords":{}}],["pre_check(self",{"_index":2204,"title":{},"content":{"224":{"position":[[1152,15]]}},"keywords":{}}],["prebuilt",{"_index":2828,"title":{},"content":{"292":{"position":[[1417,8]]}},"keywords":{}}],["preexist",{"_index":2975,"title":{},"content":{"310":{"position":[[760,11]]}},"keywords":{}}],["prefil",{"_index":3328,"title":{},"content":{"347":{"position":[[975,7]]}},"keywords":{}}],["prefix",{"_index":2007,"title":{},"content":{"142":{"position":[[16,6],[34,6],[141,6],[154,7]]},"182":{"position":[[16,6],[34,6],[141,6],[154,7]]},"229":{"position":[[988,6]]}},"keywords":{}}],["preidentifi",{"_index":1219,"title":{"64":{"position":[[0,13]]}},"content":{"49":{"position":[[1535,13],[2505,13]]},"50":{"position":[[1296,13],[2119,13]]},"52":{"position":[[1554,13]]},"54":{"position":[[609,13],[1405,13],[2220,13]]},"56":{"position":[[133,14]]},"64":{"position":[[5,13],[707,13]]},"720":{"position":[[488,16]]}},"keywords":{}}],["prem",{"_index":2434,"title":{},"content":{"240":{"position":[[650,4]]}},"keywords":{}}],["prep",{"_index":3023,"title":{},"content":{"318":{"position":[[561,4]]}},"keywords":{}}],["prepend",{"_index":1371,"title":{},"content":{"61":{"position":[[2786,9]]}},"keywords":{}}],["prerequesit",{"_index":1829,"title":{"102":{"position":[[0,13]]}},"content":{},"keywords":{}}],["prerequisit",{"_index":569,"title":{"289":{"position":[[0,14]]}},"content":{"27":{"position":[[1,13]]},"324":{"position":[[1380,12]]}},"keywords":{}}],["presenc",{"_index":2795,"title":{},"content":{"291":{"position":[[64,8]]},"322":{"position":[[1606,8]]},"343":{"position":[[256,8]]}},"keywords":{}}],["present",{"_index":1359,"title":{},"content":{"61":{"position":[[884,9],[1391,9],[2467,8]]},"99":{"position":[[691,7],[710,7],[868,7],[890,7],[978,7],[3128,7],[3543,7],[3679,7]]},"130":{"position":[[54,7]]},"480":{"position":[[272,8]]},"493":{"position":[[317,9]]}},"keywords":{}}],["preset",{"_index":1342,"title":{},"content":{"60":{"position":[[28,6]]}},"keywords":{}}],["press",{"_index":2859,"title":{},"content":{"301":{"position":[[355,5],[1311,5]]},"303":{"position":[[659,8]]},"304":{"position":[[2131,5],[2365,5],[2413,5],[2497,5],[4767,5]]},"307":{"position":[[323,5]]},"308":{"position":[[856,5]]},"309":{"position":[[302,5]]},"429":{"position":[[1712,7]]},"490":{"position":[[429,8]]},"530":{"position":[[296,8]]},"533":{"position":[[579,8],[715,8]]},"634":{"position":[[54,5]]},"681":{"position":[[244,7]]}},"keywords":{}}],["pressur",{"_index":3575,"title":{},"content":{"357":{"position":[[3908,8]]}},"keywords":{}}],["pretti",{"_index":3649,"title":{},"content":{"360":{"position":[[1186,6]]}},"keywords":{}}],["prettier",{"_index":1560,"title":{},"content":{"83":{"position":[[172,9]]}},"keywords":{}}],["prevent",{"_index":702,"title":{},"content":{"36":{"position":[[2087,8]]},"131":{"position":[[88,7]]},"202":{"position":[[2087,8]]},"332":{"position":[[312,7]]},"338":{"position":[[2018,7]]},"465":{"position":[[461,7]]},"636":{"position":[[1247,7]]},"637":{"position":[[1469,7]]},"638":{"position":[[1490,7]]},"639":{"position":[[1523,7]]},"640":{"position":[[1323,7]]},"641":{"position":[[1540,7]]},"642":{"position":[[1561,7]]},"643":{"position":[[1594,7]]}},"keywords":{}}],["previou",{"_index":591,"title":{},"content":{"27":{"position":[[954,8]]},"304":{"position":[[1842,9]]},"553":{"position":[[29,8]]},"676":{"position":[[28,8]]},"703":{"position":[[202,8]]}},"keywords":{}}],["previous",{"_index":2526,"title":{},"content":{"253":{"position":[[2076,11]]},"304":{"position":[[716,11]]},"307":{"position":[[1158,10]]},"374":{"position":[[33,10]]},"383":{"position":[[36,10]]},"476":{"position":[[4571,10]]},"528":{"position":[[1127,10]]},"606":{"position":[[498,10]]},"629":{"position":[[297,10]]},"754":{"position":[[717,10]]},"760":{"position":[[35,10]]},"761":{"position":[[27,10]]},"762":{"position":[[27,10]]},"763":{"position":[[27,10]]}},"keywords":{}}],["primari",{"_index":1292,"title":{},"content":{"56":{"position":[[180,7]]},"226":{"position":[[171,7],[254,7],[333,7],[432,7],[520,7],[611,7],[698,7],[1049,7],[1132,7],[1211,7],[1310,7],[1398,7],[1489,7],[1576,7],[1819,7],[1902,7],[1981,7],[2080,7],[2168,7],[2259,7],[2346,7]]},"227":{"position":[[166,7]]},"257":{"position":[[84,7]]},"321":{"position":[[1236,7]]},"364":{"position":[[89,7]]},"490":{"position":[[134,7]]}},"keywords":{}}],["primarili",{"_index":1571,"title":{},"content":{"83":{"position":[[477,9]]},"133":{"position":[[174,9]]},"430":{"position":[[68,9]]},"431":{"position":[[87,9]]},"432":{"position":[[70,9]]},"434":{"position":[[80,9]]},"436":{"position":[[70,9]]},"488":{"position":[[120,9]]}},"keywords":{}}],["principl",{"_index":4155,"title":{},"content":{"471":{"position":[[70,11]]}},"keywords":{}}],["print",{"_index":722,"title":{},"content":{"36":{"position":[[3341,5]]},"202":{"position":[[3341,5]]},"212":{"position":[[25,8]]},"259":{"position":[[1389,8],[1426,7],[1861,5]]},"267":{"position":[[7973,7]]},"402":{"position":[[517,7],[589,5]]},"476":{"position":[[255,7]]},"490":{"position":[[532,5]]},"497":{"position":[[257,5]]},"566":{"position":[[259,5],[336,5]]},"617":{"position":[[1298,5]]},"656":{"position":[[222,7],[765,7]]}},"keywords":{}}],["print("script",{"_index":4601,"title":{},"content":{"610":{"position":[[716,18]]}},"keywords":{}}],["print("script_1",{"_index":4364,"title":{},"content":{"497":{"position":[[832,20]]}},"keywords":{}}],["print("setup"",{"_index":4599,"title":{},"content":{"610":{"position":[[671,24]]}},"keywords":{}}],["print("skip",{"_index":4352,"title":{},"content":{"496":{"position":[[904,20]]}},"keywords":{}}],["print("suit",{"_index":4613,"title":{},"content":{"611":{"position":[[454,17],[505,17]]}},"keywords":{}}],["print("teardown"",{"_index":4603,"title":{},"content":{"610":{"position":[[763,27]]}},"keywords":{}}],["print("verifi",{"_index":4286,"title":{},"content":{"486":{"position":[[578,20],[690,20]]}},"keywords":{}}],["print('sensor",{"_index":4753,"title":{},"content":{"627":{"position":[[1162,13],[1194,13]]}},"keywords":{}}],["print(abort_cmd",{"_index":4911,"title":{},"content":{"648":{"position":[[842,16]]}},"keywords":{}}],["print(cmd_list",{"_index":4896,"title":{},"content":{"646":{"position":[[801,15]]},"647":{"position":[[380,15]]}},"keywords":{}}],["print(config",{"_index":5582,"title":{},"content":{"772":{"position":[[369,14]]},"773":{"position":[[468,13]]}},"keywords":{}}],["print(ev",{"_index":5210,"title":{},"content":{"703":{"position":[[421,13],[1403,13]]}},"keywords":{}}],["print(f"cmd",{"_index":5326,"title":{},"content":{"715":{"position":[[1329,16]]}},"keywords":{}}],["print(f"interfac",{"_index":5317,"title":{},"content":{"715":{"position":[[1051,23]]}},"keywords":{}}],["print(f"math:{result}"",{"_index":4309,"title":{},"content":{"487":{"position":[[1670,33]]}},"keywords":{}}],["print(f"mov",{"_index":4308,"title":{},"content":{"487":{"position":[[1561,18]]}},"keywords":{}}],["print(f"packet",{"_index":5378,"title":{},"content":{"724":{"position":[[1272,20]]}},"keywords":{}}],["print(f"rout",{"_index":5370,"title":{},"content":{"724":{"position":[[1018,20]]}},"keywords":{}}],["print(f"transmit",{"_index":5321,"title":{},"content":{"715":{"position":[[1170,21]]},"724":{"position":[[1125,21]]}},"keywords":{}}],["print(f"{packet['packet_timesecond",{"_index":4377,"title":{},"content":{"499":{"position":[[1012,44]]},"676":{"position":[[1064,44],[1302,44]]}},"keywords":{}}],["print(fil",{"_index":4808,"title":{},"content":{"632":{"position":[[1848,11],[1973,12],[2059,11]]}},"keywords":{}}],["print(file.read",{"_index":4767,"title":{},"content":{"628":{"position":[[1154,18]]},"632":{"position":[[1860,18],[2071,18]]}},"keywords":{}}],["print(formatted(file.read",{"_index":4764,"title":{},"content":{"628":{"position":[[997,29]]}},"keywords":{}}],["print(formatted(tlm("tgt",{"_index":2612,"title":{},"content":{"259":{"position":[[1793,29]]}},"keywords":{}}],["print(get_all_set",{"_index":5540,"title":{},"content":{"767":{"position":[[869,25]]}},"keywords":{}}],["print(get_max_output",{"_index":5468,"title":{},"content":{"751":{"position":[[168,23]]}},"keywords":{}}],["print(get_overrid",{"_index":5092,"title":{},"content":{"673":{"position":[[1334,22]]}},"keywords":{}}],["print(get_setting('vers",{"_index":5561,"title":{},"content":{"768":{"position":[[511,29],[563,28]]}},"keywords":{}}],["print(get_settings('pypi_url",{"_index":5570,"title":{},"content":{"769":{"position":[[544,31]]}},"keywords":{}}],["print(hazard",{"_index":4951,"title":{},"content":{"651":{"position":[[706,16]]}},"keywords":{}}],["print(interfac",{"_index":5262,"title":{},"content":{"709":{"position":[[318,16]]}},"keywords":{}}],["print(item",{"_index":5059,"title":{},"content":{"667":{"position":[[430,11]]}},"keywords":{}}],["print(list_set",{"_index":5523,"title":{},"content":{"766":{"position":[[279,22]]}},"keywords":{}}],["print(nam",{"_index":5575,"title":{},"content":{"771":{"position":[[278,12]]}},"keywords":{}}],["print(packet",{"_index":4944,"title":{},"content":{"650":{"position":[[963,13]]},"664":{"position":[[236,14]]},"666":{"position":[[344,13]]}},"keywords":{}}],["print(param",{"_index":4932,"title":{},"content":{"649":{"position":[[1190,12]]}},"keywords":{}}],["print(result",{"_index":5180,"title":{},"content":{"699":{"position":[[734,13]]}},"keywords":{}}],["print(result.key",{"_index":5183,"title":{},"content":{"699":{"position":[[850,20]]}},"keywords":{}}],["print(result['default",{"_index":5185,"title":{},"content":{"699":{"position":[[909,24]]}},"keywords":{}}],["print(rout",{"_index":5360,"title":{},"content":{"723":{"position":[[295,13]]}},"keywords":{}}],["print(target",{"_index":5228,"title":{},"content":{"706":{"position":[[240,13]]}},"keywords":{}}],["print(temp",{"_index":4320,"title":{},"content":{"488":{"position":[[2521,11]]}},"keywords":{}}],["print(tlm("tgt",{"_index":2610,"title":{},"content":{"259":{"position":[[1469,19]]}},"keywords":{}}],["print(valu",{"_index":4959,"title":{},"content":{"652":{"position":[[883,12]]},"663":{"position":[[589,13]]}},"keywords":{}}],["print(x",{"_index":4873,"title":{},"content":{"644":{"position":[[1046,8]]}},"keywords":{}}],["printf",{"_index":657,"title":{},"content":{"36":{"position":[[79,6],[161,6]]},"202":{"position":[[79,6],[161,6]]},"267":{"position":[[74,6],[156,6]]},"403":{"position":[[534,6]]},"618":{"position":[[816,6]]}},"keywords":{}}],["prior",{"_index":4409,"title":{},"content":{"505":{"position":[[526,5]]}},"keywords":{}}],["prioriti",{"_index":4041,"title":{},"content":{"457":{"position":[[132,8]]},"512":{"position":[[224,8]]}},"keywords":{}}],["privaci",{"_index":4048,"title":{"458":{"position":[[13,7]]},"469":{"position":[[22,7]]}},"content":{"465":{"position":[[678,7]]},"467":{"position":[[918,7]]},"469":{"position":[[5,7],[260,7],[354,7]]},"470":{"position":[[27,7]]},"472":{"position":[[46,7]]}},"keywords":{}}],["privat",{"_index":465,"title":{},"content":{"20":{"position":[[1419,7]]},"26":{"position":[[111,7],[170,7]]},"27":{"position":[[252,7],[807,7],[930,7]]},"42":{"position":[[590,8]]},"43":{"position":[[6350,8]]},"83":{"position":[[1681,7]]},"359":{"position":[[543,7]]}},"keywords":{}}],["privkey.pem",{"_index":525,"title":{},"content":{"24":{"position":[[7,11],[266,11]]}},"keywords":{}}],["pro",{"_index":3473,"title":{},"content":{"357":{"position":[[207,3],[754,3],[2239,3],[4274,3]]}},"keywords":{}}],["probabl",{"_index":3193,"title":{},"content":{"324":{"position":[[3330,9],[3646,8]]},"334":{"position":[[296,8]]},"347":{"position":[[2009,8]]},"483":{"position":[[288,11]]},"487":{"position":[[493,8]]},"585":{"position":[[640,8]]},"586":{"position":[[546,8]]}},"keywords":{}}],["problem",{"_index":118,"title":{},"content":{"3":{"position":[[512,7]]},"289":{"position":[[1076,8]]},"291":{"position":[[581,9],[741,8]]},"295":{"position":[[8,7]]},"322":{"position":[[1661,8]]},"364":{"position":[[948,7]]},"449":{"position":[[629,7]]},"465":{"position":[[507,9]]},"480":{"position":[[14,7]]}},"keywords":{}}],["proce",{"_index":1345,"title":{},"content":{"60":{"position":[[177,8]]},"304":{"position":[[5977,7]]},"681":{"position":[[1105,7]]},"682":{"position":[[872,7]]},"683":{"position":[[658,7]]},"756":{"position":[[60,7]]}},"keywords":{}}],["procedur",{"_index":2352,"title":{"735":{"position":[[16,11]]}},"content":{"230":{"position":[[1734,10],[1814,10],[2012,9]]},"257":{"position":[[991,11],[1301,10],[1558,10]]},"297":{"position":[[827,11]]},"482":{"position":[[63,12],[433,11],[813,9]]},"484":{"position":[[88,10],[126,10]]},"485":{"position":[[346,10],[421,9]]},"492":{"position":[[718,10]]},"525":{"position":[[211,10]]},"584":{"position":[[191,10],[305,10]]},"617":{"position":[[117,11]]},"619":{"position":[[64,11]]},"735":{"position":[[86,11]]},"736":{"position":[[45,10],[102,11],[292,9],[340,10]]},"737":{"position":[[78,10]]},"738":{"position":[[99,10]]}},"keywords":{}}],["procedures/cmd_tlm_test.rb",{"_index":1084,"title":{},"content":{"44":{"position":[[2114,29]]}},"keywords":{}}],["proceed",{"_index":2877,"title":{},"content":{"303":{"position":[[1919,11]]},"304":{"position":[[540,11]]},"493":{"position":[[520,10]]}},"keywords":{}}],["process",{"_index":259,"title":{"559":{"position":[[0,10]]}},"content":{"7":{"position":[[518,9],[754,7],[943,7]]},"13":{"position":[[110,10]]},"14":{"position":[[104,10]]},"15":{"position":[[1,7],[157,8],[354,8]]},"16":{"position":[[1,7],[161,8],[354,8]]},"32":{"position":[[34,7]]},"36":{"position":[[6562,7],[7358,7]]},"46":{"position":[[428,9]]},"50":{"position":[[2441,9]]},"52":{"position":[[1861,9]]},"54":{"position":[[298,9],[361,9],[540,9]]},"75":{"position":[[333,10]]},"76":{"position":[[366,10]]},"77":{"position":[[382,10]]},"78":{"position":[[381,10]]},"118":{"position":[[101,7]]},"134":{"position":[[50,10]]},"165":{"position":[[36,8],[127,7]]},"168":{"position":[[62,8],[111,10],[212,10],[228,7],[269,7]]},"170":{"position":[[29,10],[54,10],[231,10]]},"171":{"position":[[133,9],[167,11]]},"183":{"position":[[29,10],[54,10],[237,10]]},"193":{"position":[[29,10],[54,10],[229,10]]},"196":{"position":[[29,10],[54,10],[231,10]]},"198":{"position":[[281,9],[752,9]]},"202":{"position":[[6562,7],[7358,7]]},"230":{"position":[[962,9],[2448,7]]},"259":{"position":[[82,9],[309,9],[779,9]]},"267":{"position":[[5101,7],[5959,7]]},"277":{"position":[[1,7]]},"285":{"position":[[446,7]]},"298":{"position":[[1607,7]]},"308":{"position":[[16,9]]},"309":{"position":[[269,10],[332,11]]},"321":{"position":[[2236,7]]},"347":{"position":[[587,7]]},"356":{"position":[[278,7]]},"421":{"position":[[211,10]]},"459":{"position":[[293,10],[429,9],[590,9],[662,10],[960,10],[1158,10],[1354,10],[1449,9],[1754,9],[1886,10]]},"466":{"position":[[210,10]]},"467":{"position":[[740,10],[1251,7]]},"484":{"position":[[264,11]]},"548":{"position":[[60,9],[219,7]]},"550":{"position":[[130,9],[237,10]]},"559":{"position":[[14,7],[40,10],[134,7],[190,8],[211,10]]},"716":{"position":[[75,9]]}},"keywords":{}}],["processor",{"_index":1914,"title":{"276":{"position":[[0,10]]}},"content":{"114":{"position":[[124,10]]},"276":{"position":[[11,9],[140,9],[155,9],[233,10],[300,9],[429,9],[497,9]]}},"keywords":{}}],["produc",{"_index":2125,"title":{},"content":{"198":{"position":[[1198,8]]},"482":{"position":[[1333,8]]}},"keywords":{}}],["product",{"_index":546,"title":{},"content":{"24":{"position":[[633,10]]},"84":{"position":[[539,10]]},"131":{"position":[[172,12]]},"289":{"position":[[37,12]]},"359":{"position":[[1701,8],[1763,7],[2052,7]]},"360":{"position":[[1281,7]]},"361":{"position":[[676,8]]},"362":{"position":[[650,7]]},"460":{"position":[[238,7]]},"461":{"position":[[430,9]]},"468":{"position":[[80,9]]}},"keywords":{}}],["product(",{"_index":4131,"title":{},"content":{"467":{"position":[[541,10]]}},"keywords":{}}],["products/servic",{"_index":4087,"title":{},"content":{"461":{"position":[[709,18]]}},"keywords":{}}],["profession",{"_index":2590,"title":{},"content":{"254":{"position":[[2946,12]]}},"keywords":{}}],["profil",{"_index":1009,"title":{},"content":{"43":{"position":[[4628,7]]},"324":{"position":[[2643,7]]},"357":{"position":[[1904,8],[3394,8]]},"466":{"position":[[675,9]]}},"keywords":{}}],["program",{"_index":316,"title":{"616":{"position":[[0,11]]}},"content":{"11":{"position":[[17,11]]},"95":{"position":[[639,7]]},"245":{"position":[[269,11]]},"251":{"position":[[142,11]]},"253":{"position":[[920,7]]},"297":{"position":[[719,11]]},"361":{"position":[[80,7]]},"363":{"position":[[839,8]]},"482":{"position":[[1467,8]]},"487":{"position":[[28,11]]}},"keywords":{}}],["programm",{"_index":1387,"title":{},"content":{"63":{"position":[[372,12]]}},"keywords":{}}],["programmat",{"_index":3767,"title":{},"content":{"384":{"position":[[71,16]]},"765":{"position":[[97,12]]},"770":{"position":[[94,16]]}},"keywords":{}}],["progress",{"_index":2922,"title":{},"content":{"304":{"position":[[4781,8]]},"405":{"position":[[267,8],[370,8]]},"422":{"position":[[12,8],[275,8],[378,8]]},"559":{"position":[[72,8]]}},"keywords":{}}],["progressbar",{"_index":3837,"title":{"422":{"position":[[0,12]]}},"content":{"405":{"position":[[51,11]]},"422":{"position":[[562,11],[604,11]]}},"keywords":{}}],["prohibit",{"_index":4135,"title":{},"content":{"467":{"position":[[943,10]]}},"keywords":{}}],["project",{"_index":408,"title":{"237":{"position":[[0,9]]},"290":{"position":[[6,8]]}},"content":{"20":{"position":[[299,7]]},"110":{"position":[[78,8]]},"237":{"position":[[145,7],[175,7],[394,7]]},"253":{"position":[[748,7],[845,7],[930,8]]},"256":{"position":[[222,7],[243,8]]},"257":{"position":[[462,8],[488,7],[818,8]]},"290":{"position":[[31,7],[742,7]]},"291":{"position":[[178,7]]},"292":{"position":[[24,7]]},"331":{"position":[[119,7],[181,7],[525,8],[617,7]]},"334":{"position":[[54,7]]},"357":{"position":[[1146,7],[1219,7],[1302,7],[1376,7],[1452,7],[1542,7],[1615,7],[1696,7],[1767,7],[1838,7],[2637,7],[2708,7],[2793,7],[2867,7],[2942,7],[3032,7],[3105,7],[3187,7],[3258,7],[3329,7]]},"361":{"position":[[192,7],[274,8]]},"449":{"position":[[61,8]]},"507":{"position":[[334,10]]}},"keywords":{}}],["project>",{"_index":2516,"title":{},"content":{"253":{"position":[[1425,11],[2200,11]]},"256":{"position":[[299,11],[444,11]]}},"keywords":{}}],["project"",{"_index":2818,"title":{},"content":{"292":{"position":[[159,13]]}},"keywords":{}}],["project'",{"_index":3258,"title":{},"content":{"334":{"position":[[1095,9]]}},"keywords":{}}],["project.clon",{"_index":4010,"title":{},"content":{"449":{"position":[[80,13]]}},"keywords":{}}],["project.git",{"_index":2786,"title":{},"content":{"290":{"position":[[108,11],[174,11]]},"347":{"position":[[2427,11]]}},"keywords":{}}],["project:$path",{"_index":2822,"title":{},"content":{"292":{"position":[[326,14]]}},"keywords":{}}],["project=chromium",{"_index":1838,"title":{},"content":{"103":{"position":[[274,16]]}},"keywords":{}}],["project\\openc3.bat",{"_index":2601,"title":{},"content":{"257":{"position":[[1144,18],[1379,18]]}},"keywords":{}}],["prom/prometheus:v2.24.1",{"_index":3428,"title":{},"content":{"352":{"position":[[1195,23]]}},"keywords":{}}],["prometheu",{"_index":3392,"title":{"352":{"position":[[0,11]]}},"content":{"350":{"position":[[1431,10]]},"352":{"position":[[1,10],[533,10]]},"353":{"position":[[252,10],[269,10]]}},"keywords":{}}],["prometheus.yaml",{"_index":3409,"title":{},"content":{"352":{"position":[[365,15],[1223,15]]}},"keywords":{}}],["prometheus:9090",{"_index":3435,"title":{},"content":{"353":{"position":[[385,15]]}},"keywords":{}}],["promis",{"_index":3908,"title":{},"content":{"429":{"position":[[983,9],[1143,7]]}},"keywords":{}}],["promot",{"_index":3140,"title":{},"content":{"324":{"position":[[247,8]]},"461":{"position":[[544,11],[1296,11]]}},"keywords":{}}],["prompt",{"_index":574,"title":{"634":{"position":[[0,7]]}},"content":{"27":{"position":[[153,6],[341,8],[479,8]]},"63":{"position":[[1801,8]]},"254":{"position":[[2238,6]]},"347":{"position":[[945,8]]},"490":{"position":[[332,6],[391,6],[581,7],[735,6],[1063,6]]},"492":{"position":[[227,8]]},"495":{"position":[[397,6],[1394,8]]},"496":{"position":[[96,9],[312,9]]},"505":{"position":[[563,6]]},"514":{"position":[[578,7]]},"534":{"position":[[33,6],[165,6]]},"605":{"position":[[883,8]]},"613":{"position":[[27,6]]},"623":{"position":[[1,7],[364,6]]},"624":{"position":[[1,7],[330,6]]},"627":{"position":[[508,6]]},"634":{"position":[[176,6]]},"764":{"position":[[1,7]]}},"keywords":{}}],["prompt("<message>"",{"_index":4809,"title":{},"content":{"634":{"position":[[98,35]]}},"keywords":{}}],["prompt("press",{"_index":4810,"title":{},"content":{"634":{"position":[[223,18]]}},"keywords":{}}],["promptdisconnect",{"_index":4587,"title":{},"content":{"606":{"position":[[244,16]]}},"keywords":{}}],["promptli",{"_index":4156,"title":{},"content":{"471":{"position":[[126,8]]}},"keywords":{}}],["proper",{"_index":1153,"title":{},"content":{"46":{"position":[[441,6]]},"291":{"position":[[992,6]]},"492":{"position":[[826,6]]}},"keywords":{}}],["properli",{"_index":1344,"title":{},"content":{"60":{"position":[[80,8]]},"370":{"position":[[78,8]]},"448":{"position":[[282,10]]},"502":{"position":[[232,8]]}},"keywords":{}}],["properti",{"_index":3677,"title":{},"content":{"363":{"position":[[153,8]]},"467":{"position":[[1332,8],[1388,11]]}},"keywords":{}}],["proprietari",{"_index":3614,"title":{},"content":{"359":{"position":[[1010,11]]},"361":{"position":[[362,12]]}},"keywords":{}}],["proprietaryy",{"_index":3670,"title":{},"content":{"362":{"position":[[499,14]]}},"keywords":{}}],["protect",{"_index":581,"title":{},"content":{"27":{"position":[[414,7],[523,7],[918,7]]},"43":{"position":[[1229,11]]},"459":{"position":[[122,7],[1842,10]]},"464":{"position":[[39,10],[153,7]]},"467":{"position":[[1299,7],[1439,7]]}},"keywords":{}}],["protip",{"_index":98,"title":{},"content":{"3":{"position":[[186,8]]}},"keywords":{}}],["protocol",{"_index":1204,"title":{"54":{"position":[[0,10]]},"55":{"position":[[0,9]]},"56":{"position":[[19,10]]},"57":{"position":[[5,9]]},"58":{"position":[[5,9]]},"59":{"position":[[6,9]]},"60":{"position":[[6,9]]},"61":{"position":[[7,9]]},"62":{"position":[[11,9]]},"63":{"position":[[9,9]]},"64":{"position":[[14,9]]},"65":{"position":[[7,10]]},"66":{"position":[[12,9]]},"67":{"position":[[4,9]]},"68":{"position":[[14,9]]},"69":{"position":[[7,10]]},"134":{"position":[[0,9]]}},"content":{"49":{"position":[[707,8],[725,10],[739,8],[762,9],[802,8],[1666,8],[2654,8]]},"50":{"position":[[594,8],[612,10],[626,8],[649,9],[689,8],[1406,8],[2247,8]]},"52":{"position":[[786,8],[804,10],[818,8],[841,9],[881,8],[1672,8]]},"54":{"position":[[1,9],[164,9],[639,8],[676,9],[2288,10],[2446,9],[2612,8],[2824,8],[2931,8],[2968,9],[3023,8],[3132,8],[3190,8],[3247,9],[3299,9],[3346,9],[3393,8],[3417,9],[3494,9]]},"56":{"position":[[50,10],[162,9],[257,9],[354,8],[417,9],[529,8],[550,8],[588,8],[686,9]]},"57":{"position":[[46,8]]},"58":{"position":[[27,8]]},"59":{"position":[[11,8],[176,8]]},"60":{"position":[[11,8],[288,8],[519,8],[608,8],[723,9]]},"61":{"position":[[12,8],[325,8],[425,8],[551,9],[2574,8],[2687,9]]},"62":{"position":[[16,8],[403,8]]},"63":{"position":[[18,8],[213,8],[253,8],[455,8],[784,8]]},"64":{"position":[[19,8],[82,8],[721,8]]},"65":{"position":[[38,10],[84,9]]},"66":{"position":[[17,8],[428,8]]},"67":{"position":[[9,8]]},"68":{"position":[[19,8]]},"69":{"position":[[19,8],[309,10],[597,9],[630,8],[817,9],[979,10],[996,8],[1010,9],[1240,8],[1266,8],[1280,9],[1514,8],[1558,9],[2136,9],[2331,9],[2586,9],[2687,8],[3632,9],[3675,10],[3901,8],[4085,8],[4503,8]]},"71":{"position":[[41,9],[120,8],[611,8],[726,8]]},"72":{"position":[[44,8]]},"73":{"position":[[52,8]]},"74":{"position":[[55,8]]},"75":{"position":[[361,10],[401,8],[500,8],[1563,8],[1769,9]]},"76":{"position":[[394,10],[434,8],[526,8],[647,8]]},"77":{"position":[[410,10],[450,8],[542,8]]},"78":{"position":[[409,10],[449,8],[539,8]]},"79":{"position":[[540,10],[628,9],[716,8]]},"80":{"position":[[57,8],[99,8]]},"81":{"position":[[28,8],[48,8]]},"107":{"position":[[97,8]]},"108":{"position":[[103,10],[329,9]]},"123":{"position":[[344,9]]},"134":{"position":[[16,9],[72,9],[129,9],[256,8],[338,8],[358,9],[425,8],[518,8],[608,8],[622,8],[685,8],[855,8],[904,8],[1110,8]]},"139":{"position":[[203,8],[217,9]]},"175":{"position":[[204,8],[218,9]]},"230":{"position":[[1478,10]]},"253":{"position":[[7970,8]]},"260":{"position":[[217,9]]},"336":{"position":[[229,9],[298,8]]},"718":{"position":[[41,9],[93,9],[138,8],[538,10],[662,8]]},"728":{"position":[[38,9],[90,9],[135,8],[542,10],[666,8]]}},"keywords":{}}],["protocol'",{"_index":1454,"title":{},"content":{"69":{"position":[[1995,10],[2476,10],[2848,10],[3018,10],[3209,10],[4323,10],[4818,10]]}},"keywords":{}}],["protocol_cmd",{"_index":1542,"title":{"80":{"position":[[0,13]]}},"content":{"80":{"position":[[5,12]]}},"keywords":{}}],["protocol_cmd(cmd_nam",{"_index":1545,"title":{},"content":{"80":{"position":[[220,22]]}},"keywords":{}}],["protocol_cmd(self",{"_index":1548,"title":{},"content":{"80":{"position":[[361,18]]}},"keywords":{}}],["provid",{"_index":187,"title":{"48":{"position":[[0,8]]},"633":{"position":[[0,9]]}},"content":{"5":{"position":[[1426,8]]},"7":{"position":[[8,8]]},"26":{"position":[[270,8]]},"27":{"position":[[497,7]]},"35":{"position":[[1031,7],[1562,7]]},"36":{"position":[[2243,8],[4680,8],[4906,8],[8672,8],[8898,8]]},"37":{"position":[[824,7],[1355,7]]},"48":{"position":[[8,8]]},"52":{"position":[[70,8]]},"56":{"position":[[8,8]]},"65":{"position":[[8,8],[94,7]]},"79":{"position":[[127,7]]},"109":{"position":[[67,7]]},"112":{"position":[[15,8],[464,7]]},"120":{"position":[[111,8]]},"135":{"position":[[289,8]]},"201":{"position":[[1060,7],[1591,7]]},"202":{"position":[[2243,8],[4680,8],[4906,8],[8672,8],[8898,8]]},"203":{"position":[[843,7],[1374,7]]},"204":{"position":[[1735,7]]},"205":{"position":[[1571,7]]},"215":{"position":[[183,8]]},"240":{"position":[[393,8],[562,7],[1019,8],[1116,8],[1324,8],[1449,8],[1667,8]]},"243":{"position":[[291,8],[401,8]]},"245":{"position":[[226,8]]},"246":{"position":[[298,8]]},"249":{"position":[[490,8]]},"263":{"position":[[1026,8]]},"279":{"position":[[183,8]]},"297":{"position":[[435,9]]},"298":{"position":[[1038,8]]},"301":{"position":[[34,8]]},"303":{"position":[[16,8],[105,8],[868,7],[1257,9]]},"304":{"position":[[15,8],[117,8],[576,8],[1359,7],[1698,7],[1877,7]]},"305":{"position":[[15,8],[552,7],[732,7]]},"306":{"position":[[18,8]]},"307":{"position":[[164,7]]},"309":{"position":[[13,8]]},"310":{"position":[[19,8]]},"311":{"position":[[16,8]]},"321":{"position":[[1130,8]]},"338":{"position":[[1653,8]]},"339":{"position":[[395,8]]},"351":{"position":[[31,8]]},"353":{"position":[[101,8]]},"356":{"position":[[532,7]]},"359":{"position":[[618,8],[903,8],[1249,7],[1931,7]]},"360":{"position":[[703,8]]},"364":{"position":[[184,8],[519,8],[851,8]]},"366":{"position":[[120,7]]},"426":{"position":[[1,8]]},"460":{"position":[[156,7]]},"461":{"position":[[67,7],[1056,8]]},"462":{"position":[[10,7],[200,7],[407,9],[652,8]]},"463":{"position":[[62,8]]},"465":{"position":[[53,7],[271,7]]},"466":{"position":[[836,8]]},"467":{"position":[[239,7],[637,7],[785,7],[888,9]]},"468":{"position":[[4,7],[176,8]]},"474":{"position":[[20,7],[84,8],[384,9]]},"476":{"position":[[995,8],[4281,7]]},"482":{"position":[[8,8],[90,8],[331,8],[574,8]]},"488":{"position":[[773,8],[1149,8]]},"495":{"position":[[8,8],[1217,7]]},"496":{"position":[[179,8]]},"505":{"position":[[127,8]]},"530":{"position":[[16,8]]},"536":{"position":[[46,8],[236,8]]},"546":{"position":[[17,8]]},"555":{"position":[[16,8]]},"556":{"position":[[16,8]]},"575":{"position":[[32,8]]},"603":{"position":[[145,8],[263,8]]},"612":{"position":[[53,7]]},"617":{"position":[[47,8],[941,8]]},"635":{"position":[[15,7]]},"674":{"position":[[59,8]]}},"keywords":{}}],["provinc",{"_index":424,"title":{},"content":{"20":{"position":[[498,8]]}},"keywords":{}}],["proxi",{"_index":2444,"title":{},"content":{"240":{"position":[[1468,5]]},"353":{"position":[[296,5],[360,5]]}},"keywords":{}}],["ps",{"_index":1625,"title":{},"content":{"83":{"position":[[2352,2]]},"85":{"position":[[306,2],[740,2]]},"292":{"position":[[862,2]]}},"keywords":{}}],["pseudo",{"_index":4953,"title":{},"content":{"652":{"position":[[71,6]]}},"keywords":{}}],["public",{"_index":561,"title":{},"content":{"26":{"position":[[75,7]]},"347":{"position":[[1337,6]]},"359":{"position":[[496,6]]},"459":{"position":[[703,6],[1496,6]]},"467":{"position":[[1514,7]]},"517":{"position":[[823,6]]}},"keywords":{}}],["publish",{"_index":3624,"title":{},"content":{"359":{"position":[[1943,7]]},"360":{"position":[[60,7]]},"362":{"position":[[528,7]]},"364":{"position":[[361,7]]}},"keywords":{}}],["pull",{"_index":1574,"title":{},"content":{"83":{"position":[[689,4]]},"336":{"position":[[64,4]]},"421":{"position":[[166,4]]},"449":{"position":[[503,4]]},"528":{"position":[[1415,6]]},"628":{"position":[[582,4]]}},"keywords":{}}],["purchas",{"_index":3620,"title":{},"content":{"359":{"position":[[1592,9]]},"360":{"position":[[497,8],[1368,10]]},"363":{"position":[[348,8]]}},"keywords":{}}],["pure",{"_index":2301,"title":{},"content":{"227":{"position":[[5337,6]]}},"keywords":{}}],["purpos",{"_index":675,"title":{},"content":{"36":{"position":[[730,9],[1037,8]]},"44":{"position":[[398,9]]},"56":{"position":[[188,7]]},"202":{"position":[[730,9],[1037,8]]},"213":{"position":[[119,9]]},"267":{"position":[[725,9],[1032,8]]},"275":{"position":[[128,9]]},"360":{"position":[[358,8],[477,7],[874,7]]},"400":{"position":[[156,7]]},"459":{"position":[[565,8],[644,9],[687,8],[754,8],[778,8],[847,9],[932,8],[1130,8],[1313,8],[1480,8],[1547,8],[1571,8]]},"461":{"position":[[52,9],[454,7]]},"462":{"position":[[91,8]]},"465":{"position":[[756,9]]},"466":{"position":[[706,9]]},"467":{"position":[[996,8]]},"481":{"position":[[76,7]]},"508":{"position":[[26,9]]},"523":{"position":[[149,8]]},"713":{"position":[[76,8]]},"714":{"position":[[75,8]]},"725":{"position":[[73,8]]},"726":{"position":[[72,8]]}},"keywords":{}}],["push",{"_index":2490,"title":{},"content":{"249":{"position":[[363,6]]},"352":{"position":[[91,4]]},"355":{"position":[[1140,6]]},"404":{"position":[[580,6],[681,6]]},"449":{"position":[[461,4]]},"514":{"position":[[666,4],[728,4]]}},"keywords":{}}],["put",{"_index":2356,"title":{},"content":{"230":{"position":[[2101,3]]},"253":{"position":[[7440,3]]},"259":{"position":[[1737,4]]},"261":{"position":[[144,3]]},"304":{"position":[[2904,4],[2944,4]]},"324":{"position":[[2486,3]]},"328":{"position":[[1285,4]]},"435":{"position":[[180,3]]},"476":{"position":[[3835,3],[4719,4]]},"481":{"position":[[116,7]]},"486":{"position":[[1,3],[43,7],[344,4],[455,4]]},"487":{"position":[[1091,4],[1198,4]]},"488":{"position":[[2371,4]]},"496":{"position":[[693,4]]},"497":{"position":[[482,4],[533,4],[781,4]]},"499":{"position":[[676,4]]},"507":{"position":[[390,4],[580,4]]},"585":{"position":[[385,4],[511,4]]},"586":{"position":[[417,4]]},"610":{"position":[[435,4],[475,4],[518,4]]},"611":{"position":[[219,4],[265,4]]},"627":{"position":[[844,4],[873,4]]},"628":{"position":[[676,4],[830,4]]},"632":{"position":[[959,3],[1442,4],[1471,4],[1579,4],[1665,4],[1675,4]]},"644":{"position":[[487,4]]},"646":{"position":[[343,4]]},"647":{"position":[[256,4]]},"648":{"position":[[381,4]]},"649":{"position":[[463,4]]},"650":{"position":[[459,4]]},"651":{"position":[[570,4]]},"652":{"position":[[746,4]]},"673":{"position":[[313,4]]},"676":{"position":[[562,4],[808,4]]},"699":{"position":[[413,4],[547,4],[591,4]]},"707":{"position":[[271,4]]},"715":{"position":[[492,4],[616,4],[762,4]]},"724":{"position":[[474,4],[592,4],[738,4]]},"758":{"position":[[1,4]]},"766":{"position":[[129,4]]},"767":{"position":[[90,4]]},"768":{"position":[[319,4],[379,4]]},"769":{"position":[[404,4]]}},"keywords":{}}],["put_target_fil",{"_index":4542,"title":{"629":{"position":[[0,16]]}},"content":{"586":{"position":[[163,15]]},"630":{"position":[[290,15]]},"632":{"position":[[285,15]]}},"keywords":{}}],["put_target_file("<fil",{"_index":4768,"title":{},"content":{"629":{"position":[[64,30]]}},"keywords":{}}],["put_target_file("inst/delete_me.txt"",{"_index":4784,"title":{},"content":{"630":{"position":[[404,47]]}},"keywords":{}}],["put_target_file("inst/test1.txt"",{"_index":4772,"title":{},"content":{"629":{"position":[[498,43],[827,43]]}},"keywords":{}}],["put_target_file("inst/test2.txt"",{"_index":4776,"title":{},"content":{"629":{"position":[[659,43],[1018,43]]}},"keywords":{}}],["put_target_file("inst/test3.bin"",{"_index":4777,"title":{},"content":{"629":{"position":[[709,43],[1068,43]]}},"keywords":{}}],["put_target_file(env['tbl_filenam",{"_index":4548,"title":{},"content":{"586":{"position":[[901,36]]}},"keywords":{}}],["putti",{"_index":3347,"title":{},"content":{"347":{"position":[[1982,5]]}},"keywords":{}}],["pv",{"_index":2941,"title":{},"content":{"305":{"position":[[369,2],[527,2],[707,2],[875,2],[1020,2],[1135,2],[1391,2]]}},"keywords":{}}],["px",{"_index":3744,"title":{},"content":{"375":{"position":[[80,2]]},"376":{"position":[[82,2]]},"377":{"position":[[82,2]]},"378":{"position":[[84,2]]},"426":{"position":[[197,2],[254,2]]}},"keywords":{}}],["py",{"_index":5421,"title":{},"content":{"737":{"position":[[567,3]]}},"keywords":{}}],["pypi_url",{"_index":5524,"title":{},"content":{"766":{"position":[[309,12]]},"767":{"position":[[999,11],[1020,11]]}},"keywords":{}}],["pytest",{"_index":1859,"title":{},"content":{"105":{"position":[[232,6]]}},"keywords":{}}],["python",{"_index":318,"title":{"105":{"position":[[0,6]]},"476":{"position":[[8,6]]}},"content":{"11":{"position":[[126,7],[237,6],[321,6],[348,6],[386,6]]},"36":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8034,6],[9369,6]]},"49":{"position":[[1688,6]]},"50":{"position":[[1428,6]]},"51":{"position":[[999,6]]},"69":{"position":[[736,9],[1259,6],[1719,6],[1816,7],[1891,7]]},"71":{"position":[[407,6]]},"72":{"position":[[303,6]]},"73":{"position":[[182,6]]},"74":{"position":[[191,6]]},"75":{"position":[[940,6]]},"76":{"position":[[868,6]]},"77":{"position":[[730,6]]},"78":{"position":[[721,6]]},"79":{"position":[[1031,6]]},"80":{"position":[[333,6]]},"81":{"position":[[41,6]]},"83":{"position":[[190,7]]},"91":{"position":[[76,6]]},"105":{"position":[[82,6],[151,6]]},"107":{"position":[[3,6]]},"108":{"position":[[69,6]]},"123":{"position":[[148,6],[678,6]]},"125":{"position":[[246,6]]},"126":{"position":[[340,6]]},"127":{"position":[[346,6]]},"134":{"position":[[557,6],[968,6]]},"140":{"position":[[290,6],[311,6]]},"143":{"position":[[468,6]]},"178":{"position":[[277,6],[334,6]]},"202":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8034,6],[9369,6]]},"224":{"position":[[257,6],[1028,6]]},"227":{"position":[[573,7]]},"229":{"position":[[1456,6],[1491,6]]},"230":{"position":[[265,7]]},"231":{"position":[[289,7]]},"232":{"position":[[321,7]]},"233":{"position":[[346,7]]},"239":{"position":[[336,6]]},"253":{"position":[[1265,6],[1319,6],[1394,8],[1474,6],[2292,6]]},"259":{"position":[[1841,8]]},"263":{"position":[[988,6],[1100,6],[1416,6]]},"267":{"position":[[3034,6],[3190,8],[3559,6],[4215,6],[6694,6],[7651,6],[10542,6],[10823,6]]},"276":{"position":[[200,6],[480,6]]},"475":{"position":[[31,6],[68,6],[202,6]]},"476":{"position":[[72,6],[454,6],[626,6],[2708,6],[4686,6]]},"478":{"position":[[645,7]]},"479":{"position":[[10,6]]},"480":{"position":[[723,7],[1602,7]]},"481":{"position":[[228,6]]},"483":{"position":[[689,7]]},"485":{"position":[[571,7]]},"486":{"position":[[535,7]]},"487":{"position":[[1232,7]]},"488":{"position":[[1789,7],[2383,7]]},"495":{"position":[[719,7]]},"496":{"position":[[461,7],[762,6]]},"497":{"position":[[578,7]]},"499":{"position":[[870,7]]},"500":{"position":[[497,7]]},"501":{"position":[[857,7]]},"548":{"position":[[416,6],[702,6]]},"609":{"position":[[239,6]]},"610":{"position":[[565,6]]},"611":{"position":[[310,7]]},"612":{"position":[[1013,7]]},"616":{"position":[[54,7],[71,6]]},"623":{"position":[[226,6],[872,6]]},"624":{"position":[[185,6],[881,6]]},"627":{"position":[[197,6],[897,6]]},"628":{"position":[[137,6],[875,6]]},"629":{"position":[[48,6],[810,6]]},"630":{"position":[[47,6],[387,6]]},"632":{"position":[[684,6],[1708,6]]},"634":{"position":[[82,6],[206,6]]},"636":{"position":[[392,6],[1709,6]]},"637":{"position":[[584,6],[1725,6]]},"638":{"position":[[597,6],[1529,6]]},"639":{"position":[[648,6],[1771,6]]},"640":{"position":[[444,6],[1535,6]]},"641":{"position":[[631,6],[1782,6]]},"642":{"position":[[644,6],[1600,6]]},"643":{"position":[[695,6],[1826,6]]},"644":{"position":[[104,6],[959,6]]},"645":{"position":[[41,6],[235,6]]},"646":{"position":[[168,6],[742,6]]},"647":{"position":[[72,6],[316,6]]},"648":{"position":[[74,6],[320,6],[781,6]]},"649":{"position":[[55,6],[1124,6]]},"650":{"position":[[103,6],[896,6]]},"651":{"position":[[93,6],[599,6]]},"652":{"position":[[234,6],[638,6],[770,6]]},"653":{"position":[[59,6],[438,6]]},"654":{"position":[[72,6],[330,6]]},"656":{"position":[[334,6],[1148,6],[1408,6]]},"657":{"position":[[253,6],[722,6],[903,6]]},"658":{"position":[[912,6],[1046,6]]},"659":{"position":[[133,6],[509,6]]},"660":{"position":[[55,6],[530,6],[973,6]]},"661":{"position":[[86,6],[384,6]]},"662":{"position":[[210,6],[597,6],[729,6]]},"663":{"position":[[254,6],[450,6]]},"664":{"position":[[55,6],[179,6]]},"665":{"position":[[54,6],[183,6]]},"666":{"position":[[32,6],[278,6]]},"667":{"position":[[31,6],[356,6]]},"668":{"position":[[85,6],[349,6]]},"669":{"position":[[373,6],[656,6],[957,6]]},"670":{"position":[[541,6],[665,6]]},"671":{"position":[[235,6],[535,6],[748,6]]},"672":{"position":[[86,6],[353,6],[554,6]]},"673":{"position":[[209,6],[1262,6]]},"675":{"position":[[148,6],[314,6]]},"676":{"position":[[109,6],[914,6]]},"677":{"position":[[54,6],[262,6]]},"678":{"position":[[66,6],[282,6]]},"679":{"position":[[62,6],[296,6]]},"681":{"position":[[358,6],[562,6],[1386,6],[1686,6]]},"682":{"position":[[260,6],[1153,6],[1453,6]]},"683":{"position":[[921,6]]},"684":{"position":[[235,6],[802,6]]},"685":{"position":[[191,6],[998,6],[1190,6]]},"686":{"position":[[173,6],[1049,6],[1269,6]]},"687":{"position":[[287,6],[768,6]]},"688":{"position":[[123,6],[774,6]]},"690":{"position":[[213,6],[597,6]]},"691":{"position":[[69,6],[357,6]]},"692":{"position":[[70,6],[359,6]]},"693":{"position":[[92,6],[242,6]]},"694":{"position":[[93,6],[244,6]]},"695":{"position":[[58,6]]},"696":{"position":[[73,6],[212,6]]},"697":{"position":[[88,6]]},"698":{"position":[[56,6]]},"699":{"position":[[79,6],[663,6]]},"700":{"position":[[221,6],[1963,6]]},"701":{"position":[[139,6]]},"702":{"position":[[102,6],[353,6]]},"703":{"position":[[93,6],[376,6]]},"709":{"position":[[118,6],[253,6]]},"710":{"position":[[69,6]]},"711":{"position":[[65,6],[422,6]]},"712":{"position":[[70,6],[212,6]]},"713":{"position":[[99,6],[399,6]]},"714":{"position":[[98,6],[395,6]]},"715":{"position":[[834,6]]},"716":{"position":[[112,6],[731,6]]},"717":{"position":[[168,6],[476,6]]},"718":{"position":[[175,6],[606,6],[885,6]]},"720":{"position":[[35,6],[368,6]]},"721":{"position":[[38,6],[168,6]]},"722":{"position":[[66,6]]},"723":{"position":[[111,6],[234,6]]},"724":{"position":[[820,6]]},"725":{"position":[[96,6],[381,6]]},"726":{"position":[[95,6],[377,6]]},"727":{"position":[[158,6],[454,6]]},"728":{"position":[[172,6],[610,6],[886,6]]},"729":{"position":[[149,6]]},"730":{"position":[[28,6],[201,6]]},"731":{"position":[[43,6],[173,6]]},"732":{"position":[[47,6],[151,6]]},"733":{"position":[[37,6]]},"734":{"position":[[63,6],[196,6]]},"737":{"position":[[346,6],[381,6],[788,6]]},"739":{"position":[[61,6],[482,6]]},"740":{"position":[[42,6],[261,6]]},"741":{"position":[[34,6]]},"742":{"position":[[54,6],[274,6]]},"743":{"position":[[76,6]]},"744":{"position":[[314,6]]},"745":{"position":[[151,6],[724,6]]},"746":{"position":[[220,6],[1178,6]]},"748":{"position":[[59,6],[252,6]]},"749":{"position":[[79,6]]},"750":{"position":[[143,6],[285,6]]},"751":{"position":[[142,6]]},"752":{"position":[[621,6]]},"754":{"position":[[498,6],[847,6],[1006,6],[1557,6]]},"756":{"position":[[94,6]]},"757":{"position":[[85,6]]},"758":{"position":[[290,6]]},"760":{"position":[[58,6],[213,6]]},"761":{"position":[[50,6],[240,6]]},"762":{"position":[[50,6],[467,6]]},"763":{"position":[[50,6],[431,6]]},"764":{"position":[[83,6]]},"766":{"position":[[253,6]]},"767":{"position":[[843,6]]},"768":{"position":[[75,8],[123,6],[494,6]]},"769":{"position":[[163,6],[479,6]]},"771":{"position":[[224,6]]},"772":{"position":[[75,6],[308,6]]},"773":{"position":[[223,6],[401,6]]},"774":{"position":[[47,6],[296,6]]},"775":{"position":[[49,6],[302,6]]}},"keywords":{}}],["pythonopen",{"_index":4572,"title":{},"content":{"605":{"position":[[69,11]]}},"keywords":{}}],["q1",{"_index":3859,"title":{},"content":{"418":{"position":[[603,2]]}},"keywords":{}}],["qprobyzwh5woma",{"_index":993,"title":{},"content":{"43":{"position":[[2451,14],[5916,14]]}},"keywords":{}}],["queri",{"_index":2302,"title":{},"content":{"227":{"position":[[5355,5]]},"324":{"position":[[2889,8]]},"599":{"position":[[731,5]]}},"keywords":{}}],["question",{"_index":4157,"title":{"472":{"position":[[4,9]]}},"content":{"472":{"position":[[13,9]]},"623":{"position":[[35,9],[352,8]]},"624":{"position":[[35,9],[318,8]]}},"keywords":{}}],["queu",{"_index":4461,"title":{},"content":{"528":{"position":[[1138,6],[1201,6],[1250,7]]}},"keywords":{}}],["queue",{"_index":4368,"title":{},"content":{"499":{"position":[[442,6]]},"528":{"position":[[415,6],[1353,5],[1394,6],[1431,5]]},"715":{"position":[[187,5],[207,5],[636,5],[670,5],[1192,5],[1228,5]]},"724":{"position":[[181,5],[201,5],[612,5],[646,5],[1147,5],[1180,5]]}},"keywords":{}}],["quick",{"_index":4007,"title":{},"content":{"448":{"position":[[113,5]]},"492":{"position":[[697,5]]},"536":{"position":[[245,5]]}},"keywords":{}}],["quickli",{"_index":2428,"title":{},"content":{"240":{"position":[[133,7]]},"303":{"position":[[134,7]]},"608":{"position":[[771,7]]}},"keywords":{}}],["quiet",{"_index":5125,"title":{},"content":{"681":{"position":[[816,6],[1402,5],[1670,6]]},"682":{"position":[[1169,5],[1438,6]]},"683":{"position":[[546,6],[835,5]]},"684":{"position":[[469,6],[716,5]]},"688":{"position":[[355,6],[688,5]]}},"keywords":{}}],["quiet>",{"_index":5130,"title":{},"content":{"682":{"position":[[544,10]]}},"keywords":{}}],["quiet=fals",{"_index":5128,"title":{},"content":{"681":{"position":[[1880,12]]}},"keywords":{}}],["quiet=tru",{"_index":5132,"title":{},"content":{"682":{"position":[[1645,11]]}},"keywords":{}}],["quit",{"_index":3539,"title":{},"content":{"357":{"position":[[2468,5]]}},"keywords":{}}],["quot",{"_index":179,"title":{},"content":{"5":{"position":[[1028,6],[1282,6]]},"9":{"position":[[815,6],[914,6],[942,6]]},"33":{"position":[[87,7],[590,7],[849,7]]},"35":{"position":[[1212,6],[1743,6]]},"37":{"position":[[1005,6],[1536,6]]},"83":{"position":[[2802,7]]},"93":{"position":[[646,9],[671,9]]},"199":{"position":[[498,6]]},"201":{"position":[[1241,6],[1772,6]]},"203":{"position":[[1024,6],[1555,6]]},"204":{"position":[[1385,6],[1916,6]]},"205":{"position":[[1221,6],[1752,6]]},"206":{"position":[[788,6]]},"207":{"position":[[571,6]]},"214":{"position":[[257,6]]},"216":{"position":[[337,6]]},"264":{"position":[[524,6]]},"266":{"position":[[856,6]]},"268":{"position":[[648,6]]},"269":{"position":[[950,6]]},"270":{"position":[[619,6]]},"271":{"position":[[781,6]]},"272":{"position":[[573,6]]},"434":{"position":[[506,6]]},"446":{"position":[[325,6],[403,6],[420,6]]},"493":{"position":[[440,6]]},"636":{"position":[[191,10],[556,10]]},"637":{"position":[[368,10],[763,10]]},"638":{"position":[[377,10],[780,10]]},"639":{"position":[[437,10],[822,10]]},"640":{"position":[[223,10],[612,10]]},"641":{"position":[[395,10],[814,10]]},"642":{"position":[[404,10],[831,10]]},"643":{"position":[[464,10],[873,10]]}},"keywords":{}}],["quot;#{packet['packet_timesecond",{"_index":4373,"title":{},"content":{"499":{"position":[[681,38]]},"676":{"position":[[567,38],[813,38]]}},"keywords":{}}],["quot;#{variable}"",{"_index":4168,"title":{},"content":{"476":{"position":[[738,23]]}},"keywords":{}}],["quot;$cosmos_host$url"",{"_index":1139,"title":{},"content":{"44":{"position":[[3959,28]]}},"keywords":{}}],["quot;$cosmos_host/openc3",{"_index":1137,"title":{},"content":{"44":{"position":[[3793,25]]}},"keywords":{}}],["quot;$run_opts"",{"_index":1109,"title":{},"content":{"44":{"position":[[2996,21]]}},"keywords":{}}],["quot;$script_api/$script_path/lock?scope=default"",{"_index":1093,"title":{},"content":{"44":{"position":[[2514,55]]}},"keywords":{}}],["quot;$script_api/$script_path/run?scope=default"",{"_index":1108,"title":{},"content":{"44":{"position":[[2930,54]]}},"keywords":{}}],["quot;$script_api/complet",{"_index":1129,"title":{},"content":{"44":{"position":[[3578,27]]}},"keywords":{}}],["quot;$script_api/run",{"_index":1120,"title":{},"content":{"44":{"position":[[3347,25]]}},"keywords":{}}],["quot;$suite"",{"_index":1102,"title":{},"content":{"44":{"position":[[2778,19]]}},"keywords":{}}],["quot;${curl_args[@]}"",{"_index":1095,"title":{},"content":{"44":{"position":[[2590,27],[3018,28],[3400,27],[3634,27],[3907,27],[3988,27]]}},"keywords":{}}],["quot;${openc3_user_id}:${openc3_group_id}"",{"_index":3198,"title":{},"content":{"324":{"position":[[3476,48]]},"325":{"position":[[507,48]]}},"keywords":{}}],["quot;%02x"",{"_index":3821,"title":{},"content":{"402":{"position":[[786,16]]}},"keywords":{}}],["quot;<",{"_index":504,"title":{},"content":{"22":{"position":[[524,11]]},"446":{"position":[[72,12]]}},"keywords":{}}],["quot;<button",{"_index":4742,"title":{},"content":{"627":{"position":[[254,16],[344,16]]}},"keywords":{}}],["quot;<command",{"_index":4818,"title":{},"content":{"636":{"position":[[239,17],[604,17]]},"637":{"position":[[431,17],[826,17]]},"638":{"position":[[444,17],[847,17]]},"639":{"position":[[495,17],[880,17]]},"640":{"position":[[275,17],[664,17]]},"641":{"position":[[462,17],[881,17]]},"642":{"position":[[475,17],[902,17]]},"643":{"position":[[526,17],[935,17]]},"649":{"position":[[201,17]]},"651":{"position":[[160,17]]},"652":{"position":[[297,17]]},"653":{"position":[[132,17]]},"654":{"position":[[199,17]]},"717":{"position":[[234,17],[268,17]]},"718":{"position":[[250,17],[284,17]]},"727":{"position":[[218,17],[252,17]]},"728":{"position":[[241,17],[275,17]]}},"keywords":{}}],["quot;<definition>"",{"_index":5444,"title":{},"content":{"745":{"position":[[253,31]]},"746":{"position":[[288,31]]}},"keywords":{}}],["quot;<example>"",{"_index":1395,"title":{},"content":{"63":{"position":[[742,28]]}},"keywords":{}}],["quot;<filter>"",{"_index":4793,"title":{},"content":{"632":{"position":[[544,27],[654,27]]}},"keywords":{}}],["quot;<interfac",{"_index":5331,"title":{},"content":{"716":{"position":[[185,19]]}},"keywords":{}}],["quot;<item",{"_index":5002,"title":{},"content":{"660":{"position":[[216,14]]},"667":{"position":[[202,14]]}},"keywords":{}}],["quot;<message>"",{"_index":4792,"title":{},"content":{"632":{"position":[[507,28],[617,28],[744,28],[853,28]]}},"keywords":{}}],["quot;<method",{"_index":4998,"title":{},"content":{"659":{"position":[[198,16]]}},"keywords":{}}],["quot;<packet",{"_index":4908,"title":{},"content":{"648":{"position":[[192,16]]},"650":{"position":[[263,16]]},"660":{"position":[[183,16]]},"661":{"position":[[246,16]]},"662":{"position":[[356,16]]},"666":{"position":[[150,16]]},"667":{"position":[[169,16]]},"668":{"position":[[211,16]]}},"keywords":{}}],["quot;<packet>"",{"_index":5107,"title":{},"content":{"677":{"position":[[165,27]]},"678":{"position":[[125,28],[183,29]]},"679":{"position":[[199,27]]},"684":{"position":[[370,27]]},"688":{"position":[[256,27]]}},"keywords":{}}],["quot;<packet_name>"",{"_index":5073,"title":{},"content":{"670":{"position":[[143,32]]}},"keywords":{}}],["quot;<param",{"_index":4839,"title":{},"content":{"640":{"position":[[309,15],[373,15],[698,16],[758,15]]},"641":{"position":[[496,15],[560,15],[915,16],[975,15]]},"642":{"position":[[509,15],[573,15],[936,16],[996,15]]},"643":{"position":[[560,15],[624,15],[969,16],[1029,15]]}},"keywords":{}}],["quot;<paramet",{"_index":4916,"title":{},"content":{"649":{"position":[[235,19]]},"652":{"position":[[331,19]]}},"keywords":{}}],["quot;<screen",{"_index":5426,"title":{},"content":{"739":{"position":[[125,16]]},"740":{"position":[[104,16]]},"742":{"position":[[117,16]]},"744":{"position":[[157,16]]},"745":{"position":[[221,16]]}},"keywords":{}}],["quot;<select",{"_index":4746,"title":{},"content":{"627":{"position":[[423,19]]}},"keywords":{}}],["quot;<target>"",{"_index":5109,"title":{},"content":{"678":{"position":[[154,28]]}},"keywords":{}}],["quot;"",{"_index":1453,"title":{},"content":{"69":{"position":[[1941,12]]},"321":{"position":[[580,12],[750,12],[821,12],[1440,12],[1630,12],[1706,12],[1972,12],[2135,12],[2211,12],[2472,12],[2635,12],[2711,12],[3138,12],[3197,12]]}},"keywords":{}}],["quot;""",{"_index":5455,"title":{},"content":{"746":{"position":[[1208,18],[1350,18]]}},"keywords":{}}],["quot;(som",{"_index":4515,"title":{},"content":{"578":{"position":[[1030,11]]}},"keywords":{}}],["quot;))][0",{"_index":1133,"title":{},"content":{"44":{"position":[[3738,12]]}},"keywords":{}}],["quot;+dur+""",{"_index":3956,"title":{},"content":{"435":{"position":[[440,25]]}},"keywords":{}}],["quot;+type+"",{"_index":3939,"title":{},"content":{"431":{"position":[[441,19]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_cmds.txt"",{"_index":5247,"title":{},"content":{"706":{"position":[[1007,52]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_tlm.txt"",{"_index":5248,"title":{},"content":{"706":{"position":[[1062,51]]}},"keywords":{}}],["quot;./cor",{"_index":3027,"title":{},"content":{"318":{"position":[[693,12]]}},"keywords":{}}],["quot;.[]|select(.id==$id)")"",{"_index":1122,"title":{},"content":{"44":{"position":[[3433,39]]}},"keywords":{}}],["quot;.rb"",{"_index":342,"title":{},"content":{"12":{"position":[[497,15]]}},"keywords":{}}],["quot;.txt"",{"_index":4803,"title":{},"content":{"632":{"position":[[1424,17]]}},"keywords":{}}],["quot;.txt,.doc"",{"_index":4797,"title":{},"content":{"632":{"position":[[1177,22]]}},"keywords":{}}],["quot;/dev/ttyusb0:/dev/ttyusb0"",{"_index":3280,"title":{},"content":{"341":{"position":[[155,37]]}},"keywords":{}}],["quot;/entrypoint.sh",{"_index":1635,"title":{},"content":{"83":{"position":[[2666,20]]}},"keywords":{}}],["quot;/etc/certs/cert.crt"",{"_index":489,"title":{},"content":{"22":{"position":[[196,31]]}},"keywords":{}}],["quot;/etc/certs/cert.key"",{"_index":491,"title":{},"content":{"22":{"position":[[239,31]]}},"keywords":{}}],["quot;/openc3",{"_index":3420,"title":{},"content":{"352":{"position":[[650,13],[801,13]]}},"keywords":{}}],["quot;/sbin/tini",{"_index":1628,"title":{},"content":{"83":{"position":[[2414,16],[2542,16],[2777,16]]}},"keywords":{}}],["quot;/script",{"_index":3424,"title":{},"content":{"352":{"position":[[949,13]]}},"keywords":{}}],["quot;/tmp/data/cert"",{"_index":1993,"title":{},"content":{"136":{"position":[[648,26]]},"181":{"position":[[539,26]]}},"keywords":{}}],["quot;/tools/toolfoldername"",{"_index":2083,"title":{},"content":{"186":{"position":[[84,34]]}},"keywords":{}}],["quot;/usr/bin/dock",{"_index":1641,"title":{},"content":{"83":{"position":[[2862,21]]}},"keywords":{}}],["quot;0"",{"_index":2266,"title":{},"content":{"227":{"position":[[2437,15],[3445,15]]}},"keywords":{}}],["quot;03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d"",{"_index":3118,"title":{},"content":{"322":{"position":[[632,77]]}},"keywords":{}}],["quot;0x%04x"",{"_index":3067,"title":{},"content":{"321":{"position":[[502,18],[607,18],[1358,18],[1467,18],[1890,18],[1999,18],[2390,18],[2499,18],[2911,18],[3001,18]]}},"keywords":{}}],["quot;0x%08x:"",{"_index":3822,"title":{},"content":{"402":{"position":[[807,19]]}},"keywords":{}}],["quot;0x%0x"",{"_index":662,"title":{},"content":{"36":{"position":[[264,17]]},"40":{"position":[[261,17],[378,17],[487,17],[602,17],[1034,17]]},"202":{"position":[[264,17]]},"267":{"position":[[259,17]]}},"keywords":{}}],["quot;0x%2x"",{"_index":3080,"title":{},"content":{"321":{"position":[[848,17]]}},"keywords":{}}],["quot;0x%x"",{"_index":3818,"title":{},"content":{"401":{"position":[[604,16]]}},"keywords":{}}],["quot;1"",{"_index":2268,"title":{},"content":{"227":{"position":[[2515,15],[3518,15]]},"623":{"position":[[158,14]]},"624":{"position":[[119,14],[145,13]]}},"keywords":{}}],["quot;10.0"",{"_index":3953,"title":{},"content":{"435":{"position":[[279,16]]},"446":{"position":[[462,16]]}},"keywords":{}}],["quot;100"",{"_index":3785,"title":{},"content":{"390":{"position":[[350,15]]},"391":{"position":[[347,15]]},"393":{"position":[[188,15]]}},"keywords":{}}],["quot;1235:1235/udp"",{"_index":2998,"title":{},"content":{"315":{"position":[[310,25]]}},"keywords":{}}],["quot;127.0.0.1"",{"_index":3083,"title":{},"content":{"321":{"position":[[902,21]]}},"keywords":{}}],["quot;1613077715557",{"_index":5211,"title":{},"content":{"703":{"position":[[435,22],[867,20]]}},"keywords":{}}],["quot;1613077715657",{"_index":5225,"title":{},"content":{"703":{"position":[[1417,22]]}},"keywords":{}}],["quot;172.20.0.8/16"",{"_index":3125,"title":{},"content":{"322":{"position":[[963,26]]}},"keywords":{}}],["quot;172.20.0.9/16"",{"_index":3121,"title":{},"content":{"322":{"position":[[772,26]]}},"keywords":{}}],["quot;2.0"",{"_index":905,"title":{},"content":{"42":{"position":[[286,16]]},"43":{"position":[[6039,16]]},"93":{"position":[[1698,16],[1959,16],[2175,16],[2496,16]]},"94":{"position":[[1150,16],[1380,16],[1474,16],[1730,16]]},"95":{"position":[[690,16]]}},"keywords":{}}],["quot;200"",{"_index":3786,"title":{},"content":{"390":{"position":[[372,15]]},"391":{"position":[[369,15]]},"393":{"position":[[210,15]]}},"keywords":{}}],["quot;300"",{"_index":3787,"title":{},"content":{"390":{"position":[[394,15]]},"391":{"position":[[391,15]]},"393":{"position":[[262,15]]}},"keywords":{}}],["quot;3i5n49dmnfg9fl32k3"",{"_index":2316,"title":{},"content":{"227":{"position":[[6487,30]]}},"keywords":{}}],["quot;400"",{"_index":3791,"title":{},"content":{"391":{"position":[[413,15]]},"393":{"position":[[284,15]]}},"keywords":{}}],["quot;443:2943"",{"_index":517,"title":{},"content":{"23":{"position":[[263,20]]}},"keywords":{}}],["quot;5.11.4",{"_index":5558,"title":{},"content":{"768":{"position":[[354,12],[431,13]]}},"keywords":{}}],["quot;500"",{"_index":3792,"title":{},"content":{"391":{"position":[[435,15]]}},"keywords":{}}],["quot;600"",{"_index":3793,"title":{},"content":{"391":{"position":[[457,15]]}},"keywords":{}}],["quot;700"",{"_index":3794,"title":{},"content":{"391":{"position":[[479,15]]}},"keywords":{}}],["quot;800"",{"_index":3795,"title":{},"content":{"391":{"position":[[501,15]]}},"keywords":{}}],["quot;80:2900"",{"_index":516,"title":{},"content":{"23":{"position":[[239,19]]}},"keywords":{}}],["quot;900"",{"_index":3796,"title":{},"content":{"391":{"position":[[523,15]]}},"keywords":{}}],["quot;:2900"",{"_index":497,"title":{},"content":{"22":{"position":[[358,17]]}},"keywords":{}}],["quot;:2943"",{"_index":501,"title":{},"content":{"22":{"position":[[470,17]]}},"keywords":{}}],["quot;@openc3/tool",{"_index":3212,"title":{},"content":{"328":{"position":[[252,18]]}},"keywords":{}}],["quot;\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":4778,"title":{},"content":{"629":{"position":[[753,45]]}},"keywords":{}}],["quot;_ccsds_apid.txt"",{"_index":247,"title":{},"content":{"7":{"position":[[222,28]]}},"keywords":{}}],["quot;a",{"_index":2427,"title":{},"content":{"240":{"position":[[13,7],[220,7]]},"360":{"position":[[712,8]]}},"keywords":{}}],["quot;access_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":986,"title":{},"content":{"43":{"position":[[1291,959]]}},"keywords":{}}],["quot;adcs"",{"_index":5042,"title":{},"content":{"665":{"position":[[243,18]]},"678":{"position":[[332,18]]},"739":{"position":[[532,17]]},"740":{"position":[[309,17]]},"742":{"position":[[323,17]]},"773":{"position":[[592,17]]}},"keywords":{}}],["quot;add",{"_index":4492,"title":{},"content":{"556":{"position":[[186,9],[445,9],[668,9]]}},"keywords":{}}],["quot;addit",{"_index":299,"title":{},"content":{"9":{"position":[[238,16]]}},"keywords":{}}],["quot;allow",{"_index":1294,"title":{},"content":{"56":{"position":[[297,11]]}},"keywords":{}}],["quot;an",{"_index":2421,"title":{},"content":{"239":{"position":[[13,8]]}},"keywords":{}}],["quot;angl",{"_index":2232,"title":{},"content":{"226":{"position":[[778,11]]}},"keywords":{}}],["quot;api.cmd('inst",{"_index":3950,"title":{},"content":{"434":{"position":[[515,19]]},"446":{"position":[[506,19]]}},"keywords":{}}],["quot;arm",{"_index":731,"title":{},"content":{"36":{"position":[[3740,9],[3762,9],[3794,12]]},"202":{"position":[[3740,9],[3762,9],[3794,12]]},"267":{"position":[[2807,9],[2829,9]]}},"keywords":{}}],["quot;array",{"_index":2147,"title":{},"content":{"206":{"position":[[987,11]]},"207":{"position":[[774,11]]},"271":{"position":[[975,11]]},"272":{"position":[[771,11]]}},"keywords":{}}],["quot;author",{"_index":901,"title":{},"content":{"42":{"position":[[224,20]]},"43":{"position":[[4767,20]]},"95":{"position":[[972,20]]}},"keywords":{}}],["quot;auto_reconnect"=>tru",{"_index":5267,"title":{},"content":{"709":{"position":[[536,36]]},"723":{"position":[[509,36]]}},"keywords":{}}],["quot;averag",{"_index":2618,"title":{},"content":{"262":{"position":[[378,13]]}},"keywords":{}}],["quot;ballaerospace/openc3",{"_index":514,"title":{},"content":{"23":{"position":[[173,26]]}},"keywords":{}}],["quot;big_endian"",{"_index":1420,"title":{},"content":{"67":{"position":[[680,22]]}},"keywords":{}}],["quot;binari",{"_index":891,"title":{},"content":{"40":{"position":[[1393,12]]}},"keywords":{}}],["quot;binary"",{"_index":890,"title":{},"content":{"40":{"position":[[1353,18]]}},"keywords":{}}],["quot;bit_offset"=>0",{"_index":4894,"title":{},"content":{"646":{"position":[[664,29]]},"648":{"position":[[703,29]]},"664":{"position":[[575,29]]},"666":{"position":[[1102,29]]},"667":{"position":[[489,29]]}},"keywords":{}}],["quot;bit_offset"=>64",{"_index":4919,"title":{},"content":{"649":{"position":[[523,30]]}},"keywords":{}}],["quot;bit_size"=>16",{"_index":4920,"title":{},"content":{"649":{"position":[[554,28]]}},"keywords":{}}],["quot;bit_size"=>3",{"_index":4895,"title":{},"content":{"646":{"position":[[694,27]]},"648":{"position":[[733,27]]},"664":{"position":[[607,27]]},"666":{"position":[[1134,27]]},"667":{"position":[[521,27]]}},"keywords":{}}],["quot;block",{"_index":2139,"title":{},"content":{"201":{"position":[[2240,11]]}},"keywords":{}}],["quot;bob"",{"_index":2558,"title":{},"content":{"253":{"position":[[7027,16],[7156,16]]}},"keywords":{}}],["quot;boolean"",{"_index":2383,"title":{},"content":{"232":{"position":[[1169,19]]},"233":{"position":[[1447,19]]},"253":{"position":[[3014,19],[4963,19]]},"254":{"position":[[1614,19]]}},"keywords":{}}],["quot;buffer"",{"_index":2314,"title":{},"content":{"227":{"position":[[6312,19],[6467,19]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":4943,"title":{},"content":{"650":{"position":[[786,107]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00a",{"_index":4871,"title":{},"content":{"644":{"position":[[852,68]]}},"keywords":{}}],["quot;build"",{"_index":3222,"title":{},"content":{"328":{"position":[[870,18]]}},"keywords":{}}],["quot;c:\\openc3",{"_index":2817,"title":{},"content":{"292":{"position":[[143,15]]}},"keywords":{}}],["quot;catch",{"_index":2547,"title":{},"content":{"253":{"position":[[5707,11]]},"269":{"position":[[114,11]]}},"keywords":{}}],["quot;ccsd",{"_index":269,"title":{},"content":{"7":{"position":[[730,11],[919,11]]},"226":{"position":[[159,11],[242,11],[321,11],[420,11],[508,11],[599,11],[686,11],[1037,11],[1120,11],[1199,11],[1298,11],[1386,11],[1477,11],[1564,11],[1807,11],[1890,11],[1969,11],[2068,11],[2156,11],[2247,11],[2334,11]]},"285":{"position":[[137,11],[223,11],[323,11],[422,11],[492,11],[609,11],[677,11]]}},"keywords":{}}],["quot;ccsdsapid"",{"_index":5236,"title":{},"content":{"706":{"position":[[488,22],[725,22]]}},"keywords":{}}],["quot;ccsdslength"",{"_index":5239,"title":{},"content":{"706":{"position":[[569,24],[806,24]]}},"keywords":{}}],["quot;ccsdsseqcnt"",{"_index":5238,"title":{},"content":{"706":{"position":[[542,24],[779,24]]}},"keywords":{}}],["quot;ccsdsseqflags"",{"_index":5237,"title":{},"content":{"706":{"position":[[513,26],[750,26]]}},"keywords":{}}],["quot;ccsdsshf"",{"_index":5235,"title":{},"content":{"706":{"position":[[464,21],[701,21]]}},"keywords":{}}],["quot;ccsdstype"",{"_index":5234,"title":{},"content":{"706":{"position":[[439,22],[676,22]]}},"keywords":{}}],["quot;ccsdsver"",{"_index":5233,"title":{},"content":{"706":{"position":[[414,22],[651,22]]},"773":{"position":[[634,21]]}},"keywords":{}}],["quot;ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc"",{"_index":3122,"title":{},"content":{"322":{"position":[[802,77]]}},"keywords":{}}],["quot;certificate"",{"_index":2801,"title":{},"content":{"291":{"position":[[640,24]]}},"keywords":{}}],["quot;cfs"",{"_index":3119,"title":{},"content":{"322":{"position":[[730,16]]}},"keywords":{}}],["quot;choos",{"_index":3316,"title":{},"content":{"347":{"position":[[673,12],[743,12],[871,12]]},"632":{"position":[[1374,12],[1781,12]]}},"keywords":{}}],["quot;class"=>"openc3::statisticsprocessor"",{"_index":5050,"title":{},"content":{"666":{"position":[[707,62]]}},"keywords":{}}],["quot;class"=>"openc3::watermarkprocessor"",{"_index":5054,"title":{},"content":{"666":{"position":[[895,61]]}},"keywords":{}}],["quot;clear"",{"_index":4832,"title":{},"content":{"638":{"position":[[1634,18]]},"642":{"position":[[1713,18]]}},"keywords":{}}],["quot;click",{"_index":2573,"title":{},"content":{"254":{"position":[[547,11]]}},"keywords":{}}],["quot;clients"=>0",{"_index":5276,"title":{},"content":{"709":{"position":[[908,26]]},"723":{"position":[[881,26]]}},"keywords":{}}],["quot;cmd",{"_index":5315,"title":{},"content":{"715":{"position":[[767,9]]}},"keywords":{}}],["quot;cmd"",{"_index":1739,"title":{},"content":{"93":{"position":[[1735,16],[2212,16]]}},"keywords":{}}],["quot;cmd.txt"",{"_index":364,"title":{},"content":{"15":{"position":[[477,20]]}},"keywords":{}}],["quot;cmd_tlm_files"=>",{"_index":5246,"title":{},"content":{"706":{"position":[[974,30]]}},"keywords":{}}],["quot;cmd_unique_id_mode"=>fals",{"_index":5249,"title":{},"content":{"706":{"position":[[1116,41]]}},"keywords":{}}],["quot;cni"",{"_index":3180,"title":{},"content":{"324":{"position":[[2389,15]]}},"keywords":{}}],["quot;col",{"_index":3783,"title":{},"content":{"390":{"position":[[278,9],[302,9],[326,9]]}},"keywords":{}}],["quot;collect",{"_index":147,"title":{},"content":{"5":{"position":[[140,13],[249,13]]}},"keywords":{}}],["quot;collect"",{"_index":1748,"title":{},"content":{"93":{"position":[[2015,20],[2268,20],[2552,20]]},"636":{"position":[[1430,20],[1547,20],[1808,20]]},"637":{"position":[[1628,20],[1854,20]]},"639":{"position":[[1673,20],[1891,20]]},"640":{"position":[[1455,20],[1637,20]]},"641":{"position":[[1702,20],[1914,20]]},"643":{"position":[[1746,20],[1948,20]]},"651":{"position":[[523,20],[664,20]]},"652":{"position":[[701,20],[827,20]]},"653":{"position":[[763,20]]},"659":{"position":[[443,20],[577,20]]}},"keywords":{}}],["quot;collects"",{"_index":5004,"title":{},"content":{"660":{"position":[[672,21],[1100,21]]}},"keywords":{}}],["quot;command",{"_index":2212,"title":{},"content":{"226":{"position":[[78,14]]},"321":{"position":[[3353,13],[3414,13]]}},"keywords":{}}],["quot;compos",{"_index":2450,"title":{},"content":{"241":{"position":[[13,13]]}},"keywords":{}}],["quot;config_params"=>["interface.rb"",{"_index":5264,"title":{},"content":{"709":{"position":[[382,57]]}},"keywords":{}}],["quot;config_params"=>["router.rb"",{"_index":5362,"title":{},"content":{"723":{"position":[[358,54]]}},"keywords":{}}],["quot;connect_on_startup"=>tru",{"_index":5266,"title":{},"content":{"709":{"position":[[493,40]]},"723":{"position":[[466,40]]}},"keywords":{}}],["quot;cont",{"_index":898,"title":{},"content":{"42":{"position":[[174,13]]},"43":{"position":[[423,13],[4717,13]]}},"keywords":{}}],["quot;containers"",{"_index":3117,"title":{},"content":{"322":{"position":[[606,23]]}},"keywords":{}}],["quot;continueaftererror"",{"_index":1104,"title":{},"content":{"44":{"position":[[2821,30]]}},"keywords":{}}],["quot;converted"",{"_index":5052,"title":{},"content":{"666":{"position":[[820,24],[1002,25]]}},"keywords":{}}],["quot;copi",{"_index":1042,"title":{},"content":{"44":{"position":[[603,10]]}},"keywords":{}}],["quot;cosmos5_"",{"_index":1777,"title":{},"content":{"98":{"position":[[63,21]]}},"keywords":{}}],["quot;created"",{"_index":4458,"title":{},"content":{"528":{"position":[[777,20]]}},"keywords":{}}],["quot;crt"",{"_index":530,"title":{},"content":{"24":{"position":[[131,15]]}},"keywords":{}}],["quot;data",{"_index":2130,"title":{},"content":{"201":{"position":[[2067,10]]},"226":{"position":[[888,10]]}},"keywords":{}}],["quot;data"",{"_index":4538,"title":{},"content":{"585":{"position":[[992,16]]}},"keywords":{}}],["quot;data"=>"5.11.4",{"_index":5528,"title":{},"content":{"767":{"position":[[192,33]]}},"keywords":{}}],["quot;data"=>"https://github.com/openc3/cosmos"",{"_index":5538,"title":{},"content":{"767":{"position":[[724,66]]}},"keywords":{}}],["quot;data"=>"https://pypi.org/simple"",{"_index":5532,"title":{},"content":{"767":{"position":[[359,57]]}},"keywords":{}}],["quot;data"=>"https://rubygems.org"",{"_index":5535,"title":{},"content":{"767":{"position":[[545,54]]}},"keywords":{}}],["quot;data_type"=>"uint"",{"_index":4921,"title":{},"content":{"649":{"position":[[583,43]]},"667":{"position":[[551,43]]}},"keywords":{}}],["quot;data_viewer"",{"_index":5574,"title":{},"content":{"771":{"position":[[197,24]]}},"keywords":{}}],["quot;datavis"",{"_index":2416,"title":{},"content":{"235":{"position":[[1812,19]]}},"keywords":{}}],["quot;day",{"_index":2723,"title":{},"content":{"285":{"position":[[739,10]]}},"keywords":{}}],["quot;decom__cmd__inst__collect__duration__with_units"",{"_index":2267,"title":{},"content":{"227":{"position":[[2453,61]]}},"keywords":{}}],["quot;decom__tlm__inst__adcs__q1__raw"",{"_index":2265,"title":{},"content":{"227":{"position":[[2391,45]]}},"keywords":{}}],["quot;decom__tlm__inst__health_status__formatted"",{"_index":2292,"title":{},"content":{"227":{"position":[[3461,56]]}},"keywords":{}}],["quot;default"",{"_index":913,"title":{},"content":{"42":{"position":[[448,21]]},"43":{"position":[[6201,21]]},"227":{"position":[[1314,20]]}},"keywords":{}}],["quot;default"=>",{"_index":5176,"title":{},"content":{"699":{"position":[[432,26]]}},"keywords":{}}],["quot;default"=>0",{"_index":4923,"title":{},"content":{"649":{"position":[[714,26]]}},"keywords":{}}],["quot;default__telemetry__inst__adcs"",{"_index":2313,"title":{},"content":{"227":{"position":[[6268,43],[6423,43]]}},"keywords":{}}],["quot;deleted"",{"_index":4460,"title":{},"content":{"528":{"position":[[819,20]]}},"keywords":{}}],["quot;deriv",{"_index":2649,"title":{},"content":{"266":{"position":[[1130,13]]},"285":{"position":[[1160,13],[1425,13]]}},"keywords":{}}],["quot;description"=>"abort",{"_index":4890,"title":{},"content":{"646":{"position":[[518,40]]},"648":{"position":[[557,40]]}},"keywords":{}}],["quot;description"=>"ccsd",{"_index":5060,"title":{},"content":{"667":{"position":[[597,39]]}},"keywords":{}}],["quot;description"=>"collect",{"_index":4922,"title":{},"content":{"649":{"position":[[629,41]]}},"keywords":{}}],["quot;description"=>"health",{"_index":5047,"title":{},"content":{"666":{"position":[[518,40]]}},"keywords":{}}],["quot;description"=>"posit",{"_index":5035,"title":{},"content":{"664":{"position":[[403,42]]}},"keywords":{}}],["quot;destin",{"_index":3084,"title":{},"content":{"321":{"position":[[924,17]]}},"keywords":{}}],["quot;details"",{"_index":2942,"title":{},"content":{"305":{"position":[[664,19]]},"424":{"position":[[479,19]]}},"keywords":{}}],["quot;disable_crc"",{"_index":5342,"title":{},"content":{"717":{"position":[[525,24]]},"718":{"position":[[822,24],[943,24]]},"727":{"position":[[500,24]]},"728":{"position":[[823,24],[941,24]]}},"keywords":{}}],["quot;disable_disconnect"=>fals",{"_index":5269,"title":{},"content":{"709":{"position":[[614,41]]},"723":{"position":[[587,41]]}},"keywords":{}}],["quot;display",{"_index":2871,"title":{},"content":{"303":{"position":[[1580,13]]}},"keywords":{}}],["quot;do",{"_index":2238,"title":{},"content":{"226":{"position":[[980,8]]}},"keywords":{}}],["quot;dock",{"_index":1646,"title":{},"content":{"83":{"position":[[2972,12]]}},"keywords":{}}],["quot;dummi",{"_index":2242,"title":{},"content":{"226":{"position":[[1643,11]]}},"keywords":{}}],["quot;dump_packet_throttle_(sec)"",{"_index":872,"title":{},"content":{"40":{"position":[[637,38]]}},"keywords":{}}],["quot;duration"",{"_index":1749,"title":{},"content":{"93":{"position":[[2036,22],[2289,22],[2573,22]]},"636":{"position":[[1451,20],[1570,20],[1831,21]]},"637":{"position":[[1649,20],[1875,22]]},"639":{"position":[[1694,20],[1912,22]]},"640":{"position":[[1476,20],[1658,22]]},"641":{"position":[[1723,20],[1935,22]]},"643":{"position":[[1767,20],[1969,22]]}},"keywords":{}}],["quot;en",{"_index":726,"title":{},"content":{"36":{"position":[[3541,12]]},"202":{"position":[[3541,12]]},"267":{"position":[[2601,12]]},"321":{"position":[[324,12]]},"347":{"position":[[1442,12]]}},"keywords":{}}],["quot;endianness"=>"big_endian"",{"_index":4889,"title":{},"content":{"646":{"position":[[465,50]]},"648":{"position":[[504,50]]},"649":{"position":[[801,50]]},"664":{"position":[[350,50]]},"666":{"position":[[465,50]]},"667":{"position":[[690,50]]}},"keywords":{}}],["quot;environment"",{"_index":1098,"title":{},"content":{"44":{"position":[[2664,24]]}},"keywords":{}}],["quot;error"",{"_index":1416,"title":{},"content":{"67":{"position":[[431,17]]}},"keywords":{}}],["quot;feature"",{"_index":2777,"title":{},"content":{"289":{"position":[[1030,19]]}},"keywords":{}}],["quot;file:#{env['tbl_filename']}"",{"_index":4528,"title":{},"content":{"585":{"position":[[390,39]]},"586":{"position":[[422,39]]}},"keywords":{}}],["quot;fir",{"_index":737,"title":{},"content":{"36":{"position":[[3853,10],[3876,10]]},"202":{"position":[[3853,10],[3876,10]]},"267":{"position":[[2864,10],[2887,10]]}},"keywords":{}}],["quot;first.rules"",{"_index":3413,"title":{},"content":{"352":{"position":[[452,23]]}},"keywords":{}}],["quot;folder_name"=>"inst"",{"_index":5230,"title":{},"content":{"706":{"position":[[297,45]]}},"keywords":{}}],["quot;gnd",{"_index":3886,"title":{},"content":{"424":{"position":[[672,9]]}},"keywords":{}}],["quot;graph"",{"_index":2944,"title":{},"content":{"305":{"position":[[834,17]]}},"keywords":{}}],["quot;ground_error.png"",{"_index":3979,"title":{},"content":{"442":{"position":[[975,28]]}},"keywords":{}}],["quot;ground_off.png"",{"_index":3982,"title":{},"content":{"442":{"position":[[1100,26]]}},"keywords":{}}],["quot;ground_on.png"",{"_index":3976,"title":{},"content":{"442":{"position":[[199,25],[1042,25]]}},"keywords":{}}],["quot;hazardous"=>""",{"_index":4930,"title":{},"content":{"649":{"position":[[1053,41]]}},"keywords":{}}],["quot;health",{"_index":245,"title":{},"content":{"7":{"position":[[178,12],[854,12]]},"8":{"position":[[198,12],[349,12]]},"9":{"position":[[206,12],[372,12]]},"285":{"position":[[70,12]]}},"keywords":{}}],["quot;health_status"",{"_index":1762,"title":{},"content":{"94":{"position":[[1567,26]]},"660":{"position":[[645,26],[1073,26]]},"665":{"position":[[262,26]]},"678":{"position":[[370,28]]}},"keywords":{}}],["quot;hole"",{"_index":2157,"title":{},"content":{"209":{"position":[[244,16]]},"274":{"position":[[225,16]]}},"keywords":{}}],["quot;housekeep",{"_index":3096,"title":{},"content":{"321":{"position":[[2768,18]]}},"keywords":{}}],["quot;hs"",{"_index":5441,"title":{},"content":{"744":{"position":[[391,15]]}},"keywords":{}}],["quot;https://images.pexels.com/photos/256152/pexel",{"_index":3973,"title":{},"content":{"441":{"position":[[449,52]]}},"keywords":{}}],["quot;https://mygemserver"",{"_index":5567,"title":{},"content":{"769":{"position":[[445,31]]}},"keywords":{}}],["quot;https://rubygems.org"",{"_index":5560,"title":{},"content":{"768":{"position":[[458,33]]}},"keywords":{}}],["quot;id"",{"_index":914,"title":{},"content":{"42":{"position":[[470,15]]},"43":{"position":[[6223,15]]},"88":{"position":[[97,14]]},"93":{"position":[[1843,15],[2127,15],[2380,15],[2664,15]]},"94":{"position":[[1264,15],[1426,15],[1614,15],[1776,15]]},"95":{"position":[[804,15]]}},"keywords":{}}],["quot;id"=>"1696437370872",{"_index":4864,"title":{},"content":{"644":{"position":[[501,39]]}},"keywords":{}}],["quot;id"=>nil",{"_index":5251,"title":{},"content":{"706":{"position":[[1204,23]]}},"keywords":{}}],["quot;identified"",{"_index":2546,"title":{},"content":{"253":{"position":[[5617,22]]}},"keywords":{}}],["quot;identifier"",{"_index":2380,"title":{},"content":{"232":{"position":[[1040,22]]},"233":{"position":[[1257,22]]},"253":{"position":[[2891,22],[4871,22],[5342,23]]},"254":{"position":[[1489,22]]}},"keywords":{}}],["quot;identifier".next",{"_index":2536,"title":{},"content":{"253":{"position":[[3735,27]]}},"keywords":{}}],["quot;ignored_items"=>",{"_index":5241,"title":{},"content":{"706":{"position":[[618,30]]}},"keywords":{}}],["quot;ignored_parameters"=>",{"_index":5232,"title":{},"content":{"706":{"position":[[376,35]]}},"keywords":{}}],["quot;inst",{"_index":909,"title":{},"content":{"42":{"position":[[360,11]]},"43":{"position":[[6113,11]]},"93":{"position":[[1772,11]]},"94":{"position":[[1224,11]]},"95":{"position":[[764,11]]}},"keywords":{}}],["quot;inst"",{"_index":1747,"title":{},"content":{"93":{"position":[[1996,18],[2249,18],[2533,18]]},"94":{"position":[[1548,18]]},"659":{"position":[[425,17],[559,17]]},"678":{"position":[[351,18]]},"773":{"position":[[548,17]]}},"keywords":{}}],["quot;inst__health_status__temp2__raw"",{"_index":5029,"title":{},"content":{"663":{"position":[[543,45]]}},"keywords":{}}],["quot;inst_int"",{"_index":5336,"title":{},"content":{"716":{"position":[[689,21],[790,21]]}},"keywords":{}}],["quot;instru",{"_index":2645,"title":{},"content":{"264":{"position":[[594,16]]},"285":{"position":[[971,16],[1062,16]]}},"keywords":{}}],["quot;interfac",{"_index":3036,"title":{},"content":{"320":{"position":[[84,17]]},"715":{"position":[[497,16]]}},"keywords":{}}],["quot;io",{"_index":4769,"title":{},"content":{"629":{"position":[[111,8]]}},"keywords":{}}],["quot;ipv4address"",{"_index":3120,"title":{},"content":{"322":{"position":[[747,24],[938,24]]}},"keywords":{}}],["quot;item_name"=>"item"",{"_index":5215,"title":{},"content":{"703":{"position":[[614,43],[1044,43]]}},"keywords":{}}],["quot;item_name"=>"temp1"",{"_index":5085,"title":{},"content":{"673":{"position":[[447,44],[665,44],[889,44],[1125,44]]}},"keywords":{}}],["quot;itemname"",{"_index":5590,"title":{},"content":{"773":{"position":[[612,21]]}},"keywords":{}}],["quot;items"",{"_index":5587,"title":{},"content":{"773":{"position":[[497,18]]}},"keywords":{}}],["quot;items"=>",{"_index":4892,"title":{},"content":{"646":{"position":[[596,22]]},"648":{"position":[[635,22]]},"664":{"position":[[503,22]]},"666":{"position":[[1030,22]]}},"keywords":{}}],["quot;js/app.js"",{"_index":2086,"title":{},"content":{"187":{"position":[[112,22]]}},"keywords":{}}],["quot;json"",{"_index":1805,"title":{},"content":{"99":{"position":[[2177,16],[2246,16]]}},"keywords":{}}],["quot;json/cbor",{"_index":1795,"title":{},"content":{"99":{"position":[[766,15]]}},"keywords":{}}],["quot;jsonrpc"",{"_index":904,"title":{},"content":{"42":{"position":[[263,22]]},"43":{"position":[[6016,22]]},"93":{"position":[[1676,21],[1937,21],[2153,21],[2474,21]]},"94":{"position":[[1128,21],[1358,21],[1452,21],[1708,21]]},"95":{"position":[[667,22]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":29.204100000000007",{"_index":1024,"title":{},"content":{"43":{"position":[[6610,92]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":53.26555000000001",{"_index":945,"title":{},"content":{"42":{"position":[[842,91]]}},"keywords":{}}],["quot;key"",{"_index":526,"title":{},"content":{"24":{"position":[[26,15]]}},"keywords":{}}],["quot;keyword_params"",{"_index":911,"title":{},"content":{"42":{"position":[[400,27]]},"43":{"position":[[6153,27]]},"88":{"position":[[384,26]]}},"keywords":{}}],["quot;keyword_params":{"scope":"default"",{"_index":1745,"title":{},"content":{"93":{"position":[[1862,67],[2399,67]]},"94":{"position":[[1283,67],[1633,67]]}},"keywords":{}}],["quot;keyword_params":{"type":"with_units","scope":"default"",{"_index":1775,"title":{},"content":{"95":{"position":[[823,108]]}},"keywords":{}}],["quot;kubernet",{"_index":2456,"title":{},"content":{"243":{"position":[[20,17]]}},"keywords":{}}],["quot;label",{"_index":3757,"title":{},"content":{"381":{"position":[[393,11],[456,11]]},"382":{"position":[[165,11]]}},"keywords":{}}],["quot;label"",{"_index":3811,"title":{},"content":{"398":{"position":[[166,17]]}},"keywords":{}}],["quot;label1"",{"_index":3965,"title":{},"content":{"439":{"position":[[386,18]]}},"keywords":{}}],["quot;label2"",{"_index":3967,"title":{},"content":{"439":{"position":[[429,18]]}},"keywords":{}}],["quot;left",{"_index":4434,"title":{},"content":{"513":{"position":[[220,10],[325,10]]}},"keywords":{}}],["quot;length",{"_index":3073,"title":{},"content":{"321":{"position":[[680,12],[3048,12]]}},"keywords":{}}],["quot;limit",{"_index":2663,"title":{},"content":{"267":{"position":[[8197,12]]}},"keywords":{}}],["quot;limits"=>",{"_index":4931,"title":{},"content":{"649":{"position":[[1095,26]]}},"keywords":{}}],["quot;limits_groups"=>",{"_index":5245,"title":{},"content":{"706":{"position":[[938,33]]}},"keywords":{}}],["quot;loc",{"_index":5452,"title":{},"content":{"746":{"position":[[986,11],[1269,11]]}},"keywords":{}}],["quot;local"",{"_index":5448,"title":{},"content":{"745":{"position":[[691,18],[963,18]]}},"keywords":{}}],["quot;localhost:9090"",{"_index":3418,"title":{},"content":{"352":{"position":[[571,28]]}},"keywords":{}}],["quot;location"",{"_index":3887,"title":{},"content":{"424":{"position":[[690,20]]}},"keywords":{}}],["quot;log"=>tru",{"_index":5272,"title":{},"content":{"709":{"position":[[720,25]]},"723":{"position":[[693,25]]}},"keywords":{}}],["quot;log_raw"=>fals",{"_index":5273,"title":{},"content":{"709":{"position":[[748,30]]},"723":{"position":[[721,30]]}},"keywords":{}}],["quot;math:#{result}"",{"_index":4304,"title":{},"content":{"487":{"position":[[1203,26]]}},"keywords":{}}],["quot;maximum"=>65535",{"_index":4925,"title":{},"content":{"649":{"position":[[770,30]]}},"keywords":{}}],["quot;mc_configuration"",{"_index":861,"title":{},"content":{"40":{"position":[[72,28]]}},"keywords":{}}],["quot;memori",{"_index":862,"title":{},"content":{"40":{"position":[[122,12]]}},"keywords":{}}],["quot;memory_scrubbing"",{"_index":879,"title":{},"content":{"40":{"position":[[785,28]]}},"keywords":{}}],["quot;message"=>"message"",{"_index":5219,"title":{},"content":{"703":{"position":[[818,46],[1248,46]]}},"keywords":{}}],["quot;method"",{"_index":906,"title":{},"content":{"42":{"position":[[303,19]]},"43":{"position":[[6056,19]]},"44":{"position":[[2720,19]]},"93":{"position":[[1715,19],[2192,19]]},"94":{"position":[[1167,19],[1491,19]]},"95":{"position":[[707,19]]}},"keywords":{}}],["quot;microsecond",{"_index":2730,"title":{},"content":{"285":{"position":[[898,18]]}},"keywords":{}}],["quot;millisecond",{"_index":2727,"title":{},"content":{"285":{"position":[[824,18]]}},"keywords":{}}],["quot;minimum"=>0",{"_index":4924,"title":{},"content":{"649":{"position":[[743,26]]}},"keywords":{}}],["quot;mov",{"_index":4301,"title":{},"content":{"487":{"position":[[1096,11]]}},"keywords":{}}],["quot;name"",{"_index":3115,"title":{},"content":{"322":{"position":[[549,17],[712,17],[882,17]]}},"keywords":{}}],["quot;name"=>"ccsdsver"",{"_index":4893,"title":{},"content":{"646":{"position":[[619,44]]},"648":{"position":[[658,44]]},"664":{"position":[[528,44]]},"666":{"position":[[1055,44]]},"667":{"position":[[442,44]]}},"keywords":{}}],["quot;name"=>"inst"",{"_index":5229,"title":{},"content":{"706":{"position":[[254,40]]}},"keywords":{}}],["quot;name"=>"inst_int"",{"_index":5263,"title":{},"content":{"709":{"position":[[335,44]]}},"keywords":{}}],["quot;name"=>"router_int"",{"_index":5361,"title":{},"content":{"723":{"position":[[309,46]]}},"keywords":{}}],["quot;name"=>"temp1stat"",{"_index":5049,"title":{},"content":{"666":{"position":[[659,45]]}},"keywords":{}}],["quot;name"=>"temp1water"",{"_index":5053,"title":{},"content":{"666":{"position":[[847,45]]}},"keywords":{}}],["quot;name"=>"type"",{"_index":4918,"title":{},"content":{"649":{"position":[[483,39]]}},"keywords":{}}],["quot;netavark"",{"_index":3179,"title":{},"content":{"324":{"position":[[2357,20]]}},"keywords":{}}],["quot;network"",{"_index":1769,"title":{},"content":{"95":{"position":[[389,19]]}},"keywords":{}}],["quot;new",{"_index":2578,"title":{},"content":{"254":{"position":[[1312,9],[1553,9],[2571,9]]},"745":{"position":[[526,9],[798,9]]}},"keywords":{}}],["quot;new_limits_state"=>"red_low"",{"_index":5217,"title":{},"content":{"703":{"position":[[719,53]]}},"keywords":{}}],["quot;new_limits_state"=>"yellow_low"",{"_index":5221,"title":{},"content":{"703":{"position":[[1146,56]]}},"keywords":{}}],["quot;noop",{"_index":3089,"title":{},"content":{"321":{"position":[[1205,10]]}},"keywords":{}}],["quot;noop"",{"_index":728,"title":{},"content":{"36":{"position":[[3631,16],[3683,16],[3700,16]]},"202":{"position":[[3631,16],[3683,16],[3700,16]]},"267":{"position":[[2761,16],[2778,16]]}},"keywords":{}}],["quot;normal"",{"_index":1752,"title":{},"content":{"93":{"position":[[2105,21],[2358,21],[2642,21]]},"636":{"position":[[1505,19],[1624,18],[1875,18]]},"637":{"position":[[1703,19],[1920,20]]},"659":{"position":[[487,19],[617,20]]}},"keywords":{}}],["quot;not",{"_index":3805,"title":{},"content":{"396":{"position":[[228,11]]}},"keywords":{}}],["quot;numb",{"_index":250,"title":{},"content":{"7":{"position":[[304,12],[989,12]]},"40":{"position":[[700,12]]}},"keywords":{}}],["quot;old_limits_state"=>"red_low"",{"_index":5220,"title":{},"content":{"703":{"position":[[1090,53]]}},"keywords":{}}],["quot;old_limits_state"=>"yellow_low"",{"_index":5216,"title":{},"content":{"703":{"position":[[660,56]]}},"keywords":{}}],["quot;opcod",{"_index":2142,"title":{},"content":{"204":{"position":[[2130,12]]},"205":{"position":[[1970,12]]}},"keywords":{}}],["quot;openc3",{"_index":2518,"title":{},"content":{"253":{"position":[[1574,12]]},"322":{"position":[[567,12]]},"352":{"position":[[718,13],[860,13],[1008,13]]}},"keywords":{}}],["quot;openc3"",{"_index":1578,"title":{},"content":{"83":{"position":[[938,18]]},"201":{"position":[[2158,18]]},"203":{"position":[[1895,18]]},"253":{"position":[[3093,18],[4514,19]]},"254":{"position":[[1693,18]]}},"keywords":{}}],["quot;openc3.sh",{"_index":2336,"title":{},"content":{"229":{"position":[[1295,15]]}},"keywords":{}}],["quot;openc3_openc3",{"_index":3123,"title":{},"content":{"322":{"position":[[900,19]]}},"keywords":{}}],["quot;oper",{"_index":2672,"title":{},"content":{"267":{"position":[[9537,17],[9924,17]]}},"keywords":{}}],["quot;options"",{"_index":1103,"title":{},"content":{"44":{"position":[[2798,20]]}},"keywords":{}}],["quot;options"=>",{"_index":5270,"title":{},"content":{"709":{"position":[[658,27]]},"723":{"position":[[631,27]]}},"keywords":{}}],["quot;overflow"=>"error"",{"_index":4927,"title":{},"content":{"649":{"position":[[883,43]]},"667":{"position":[[777,43]]}},"keywords":{}}],["quot;packet",{"_index":2530,"title":{},"content":{"253":{"position":[[2768,12],[3286,12]]},"254":{"position":[[1366,12]]},"266":{"position":[[1086,12]]},"268":{"position":[[881,12]]},"269":{"position":[[1185,12]]},"270":{"position":[[857,12]]},"321":{"position":[[1310,12],[1540,12],[1842,12],[2072,12],[2342,12],[2572,12],[2959,12]]},"724":{"position":[[743,13]]}},"keywords":{}}],["quot;packet"",{"_index":1539,"title":{},"content":{"79":{"position":[[849,19]]},"227":{"position":[[6248,19],[6403,19]]}},"keywords":{}}],["quot;packet_name"=>"abort"",{"_index":4888,"title":{},"content":{"646":{"position":[[416,46]]},"648":{"position":[[455,46]]}},"keywords":{}}],["quot;packet_name"=>"adcs"",{"_index":5034,"title":{},"content":{"664":{"position":[[302,45]]}},"keywords":{}}],["quot;packet_name"=>"collect"",{"_index":4869,"title":{},"content":{"644":{"position":[[757,48]]},"650":{"position":[[646,48]]}},"keywords":{}}],["quot;packet_name"=>"health_status"",{"_index":5046,"title":{},"content":{"666":{"position":[[408,54]]},"673":{"position":[[392,54],[610,54],[834,54],[1070,54]]}},"keywords":{}}],["quot;packet_name"=>"pkt"",{"_index":5214,"title":{},"content":{"703":{"position":[[567,44],[997,44]]}},"keywords":{}}],["quot;packetname"",{"_index":5589,"title":{},"content":{"773":{"position":[[568,23]]}},"keywords":{}}],["quot;pad"",{"_index":893,"title":{},"content":{"40":{"position":[[1436,15]]}},"keywords":{}}],["quot;param",{"_index":4819,"title":{},"content":{"636":{"position":[[273,11],[329,11],[638,12],[690,11]]},"637":{"position":[[465,11],[521,11],[860,12],[912,11]]},"638":{"position":[[478,11],[534,11],[881,12],[933,11]]},"639":{"position":[[529,11],[585,11],[914,12],[966,11]]}},"keywords":{}}],["quot;paramet",{"_index":4000,"title":{},"content":{"446":{"position":[[699,15]]}},"keywords":{}}],["quot;params"",{"_index":908,"title":{},"content":{"42":{"position":[[340,19]]},"43":{"position":[[6093,19]]},"93":{"position":[[1752,19],[2229,19]]},"94":{"position":[[1204,19],[1528,19]]},"95":{"position":[[744,19]]},"670":{"position":[[601,19],[711,19]]}},"keywords":{}}],["quot;params"=>["temp1"",{"_index":5051,"title":{},"content":{"666":{"position":[[772,42],[959,42]]}},"keywords":{}}],["quot;password"",{"_index":1835,"title":{},"content":{"103":{"position":[[109,21]]}},"keywords":{}}],["quot;pause/retry"",{"_index":4620,"title":{},"content":{"617":{"position":[[434,24]]}},"keywords":{}}],["quot;payload"",{"_index":1772,"title":{},"content":{"95":{"position":[[524,19]]}},"keywords":{}}],["quot;person",{"_index":4080,"title":{},"content":{"460":{"position":[[76,15]]}},"keywords":{}}],["quot;pktid"",{"_index":5240,"title":{},"content":{"706":{"position":[[596,19]]}},"keywords":{}}],["quot;plugin"=>nil",{"_index":5253,"title":{},"content":{"706":{"position":[[1280,27]]},"709":{"position":[[781,27]]},"723":{"position":[[754,27]]}},"keywords":{}}],["quot;post"",{"_index":1094,"title":{},"content":{"44":{"position":[[2573,16]]}},"keywords":{}}],["quot;process",{"_index":3094,"title":{},"content":{"321":{"position":[[2255,13]]}},"keywords":{}}],["quot;processors"=>",{"_index":5048,"title":{},"content":{"666":{"position":[[629,27]]}},"keywords":{}}],["quot;protocols"=>",{"_index":5271,"title":{},"content":{"709":{"position":[[688,29]]},"723":{"position":[[661,29]]}},"keywords":{}}],["quot;push"",{"_index":3769,"title":{},"content":{"384":{"position":[[691,16]]}},"keywords":{}}],["quot;pypi_url"",{"_index":5519,"title":{},"content":{"766":{"position":[[157,22]]}},"keywords":{}}],["quot;pypi_url"=>{"name"=>"pypi_url"",{"_index":5531,"title":{},"content":{"767":{"position":[[290,68]]}},"keywords":{}}],["quot;python",{"_index":2643,"title":{},"content":{"263":{"position":[[1462,12]]}},"keywords":{}}],["quot;raspberri",{"_index":3322,"title":{},"content":{"347":{"position":[[778,15],[820,15]]}},"keywords":{}}],["quot;raw"",{"_index":4958,"title":{},"content":{"652":{"position":[[866,16]]}},"keywords":{}}],["quot;raw__tlm__inst__adcs"",{"_index":2291,"title":{},"content":{"227":{"position":[[3410,34]]}},"keywords":{}}],["quot;received_count"",{"_index":5242,"title":{},"content":{"706":{"position":[[833,27]]}},"keywords":{}}],["quot;received_count"=>"20"",{"_index":4941,"title":{},"content":{"650":{"position":[[695,46]]}},"keywords":{}}],["quot;received_count"=>"3"",{"_index":4870,"title":{},"content":{"644":{"position":[[806,45]]}},"keywords":{}}],["quot;received_time"=>"1696437370872305961"",{"_index":4867,"title":{},"content":{"644":{"position":[[648,62]]}},"keywords":{}}],["quot;received_time"=>"1697298846752053420"",{"_index":4940,"title":{},"content":{"650":{"position":[[535,62]]}},"keywords":{}}],["quot;received_timeformatted"",{"_index":5244,"title":{},"content":{"706":{"position":[[899,36]]}},"keywords":{}}],["quot;received_timeseconds"",{"_index":5243,"title":{},"content":{"706":{"position":[[863,33]]}},"keywords":{}}],["quot;reconnect_delay"=>5.0",{"_index":5268,"title":{},"content":{"709":{"position":[[575,36]]},"723":{"position":[[548,36]]}},"keywords":{}}],["quot;requir",{"_index":334,"title":{},"content":{"12":{"position":[[255,13],[452,13]]}},"keywords":{}}],["quot;required"=>fals",{"_index":5061,"title":{},"content":{"667":{"position":[[743,31]]}},"keywords":{}}],["quot;required"=>tru",{"_index":4926,"title":{},"content":{"649":{"position":[[852,30]]}},"keywords":{}}],["quot;requires"=>",{"_index":5231,"title":{},"content":{"706":{"position":[[345,28]]}},"keywords":{}}],["quot;reserve"",{"_index":4453,"title":{},"content":{"527":{"position":[[132,19]]}},"keywords":{}}],["quot;reset",{"_index":3093,"title":{},"content":{"321":{"position":[[1748,11]]}},"keywords":{}}],["quot;result"",{"_index":1746,"title":{},"content":{"93":{"position":[[1976,19],[2513,19]]},"94":{"position":[[1397,19],[1747,19]]}},"keywords":{}}],["quot;result"=>"success"",{"_index":4865,"title":{},"content":{"644":{"position":[[550,43]]}},"keywords":{}}],["quot;right",{"_index":4437,"title":{},"content":{"513":{"position":[[409,11]]}},"keywords":{}}],["quot;rout",{"_index":5368,"title":{},"content":{"724":{"position":[[479,13]]}},"keywords":{}}],["quot;rubi",{"_index":2638,"title":{},"content":{"263":{"position":[[1309,10]]}},"keywords":{}}],["quot;rubygems_url"",{"_index":5520,"title":{},"content":{"766":{"position":[[180,25]]}},"keywords":{}}],["quot;rubygems_url"=>{"name"=>"rubygems_url"",{"_index":5534,"title":{},"content":{"767":{"position":[[468,76]]}},"keywords":{}}],["quot;run",{"_index":4412,"title":{},"content":{"505":{"position":[[1093,9]]}},"keywords":{}}],["quot;runscript('inst/procedures/'+script",{"_index":3930,"title":{},"content":{"429":{"position":[[2266,42]]}},"keywords":{}}],["quot;rxbytes"=>0",{"_index":5280,"title":{},"content":{"709":{"position":[[1022,26]]},"723":{"position":[[995,26]]}},"keywords":{}}],["quot;rxcnt"=>0",{"_index":5282,"title":{},"content":{"709":{"position":[[1078,24]]},"723":{"position":[[1051,24]]}},"keywords":{}}],["quot;rxsize"=>0",{"_index":5278,"title":{},"content":{"709":{"position":[[965,25]]},"723":{"position":[[938,25]]}},"keywords":{}}],["quot;sat",{"_index":3884,"title":{},"content":{"424":{"position":[[461,9]]}},"keywords":{}}],["quot;satellite.png"",{"_index":3972,"title":{},"content":{"441":{"position":[[374,25]]}},"keywords":{}}],["quot;save"",{"_index":3341,"title":{},"content":{"347":{"position":[[1491,16]]}},"keywords":{}}],["quot;scope"",{"_index":912,"title":{},"content":{"42":{"position":[[428,19]]},"43":{"position":[[6181,19]]}},"keywords":{}}],["quot;screen"",{"_index":3776,"title":{},"content":{"386":{"position":[[399,18]]},"387":{"position":[[378,18]]},"388":{"position":[[249,18]]},"389":{"position":[[341,18]]}},"keywords":{}}],["quot;screen.getnamedwidget('duration').text()"",{"_index":3770,"title":{},"content":{"384":{"position":[[708,52]]}},"keywords":{}}],["quot;screen.getnamedwidget('group').select",{"_index":3949,"title":{},"content":{"434":{"position":[[450,47]]},"446":{"position":[[961,47]]}},"keywords":{}}],["quot;screens"",{"_index":2951,"title":{},"content":{"306":{"position":[[74,19]]}},"keywords":{}}],["quot;script",{"_index":4594,"title":{},"content":{"610":{"position":[[480,12]]}},"keywords":{}}],["quot;script_1",{"_index":4359,"title":{},"content":{"497":{"position":[[538,14]]}},"keywords":{}}],["quot;scripts"",{"_index":3221,"title":{},"content":{"328":{"position":[[847,20]]}},"keywords":{}}],["quot;scrub_region_1_end_addr"",{"_index":866,"title":{},"content":{"40":{"position":[[296,35]]}},"keywords":{}}],["quot;scrub_region_1_start_addr"",{"_index":864,"title":{},"content":{"40":{"position":[[186,37]]}},"keywords":{}}],["quot;scrub_region_2_end_addr"",{"_index":870,"title":{},"content":{"40":{"position":[[522,35]]}},"keywords":{}}],["quot;scrub_region_2_start_addr"",{"_index":868,"title":{},"content":{"40":{"position":[[413,37]]}},"keywords":{}}],["quot;second.rules"",{"_index":3414,"title":{},"content":{"352":{"position":[[480,24]]}},"keywords":{}}],["quot;secure"",{"_index":2805,"title":{},"content":{"291":{"position":[[710,18]]}},"keywords":{}}],["quot;self",{"_index":2803,"title":{},"content":{"291":{"position":[[682,10]]}},"keywords":{}}],["quot;send",{"_index":3993,"title":{},"content":{"446":{"position":[[262,10]]}},"keywords":{}}],["quot;set",{"_index":2243,"title":{},"content":{"226":{"position":[[1744,9],[2461,13]]}},"keywords":{}}],["quot;setup"",{"_index":4593,"title":{},"content":{"610":{"position":[[440,17]]}},"keywords":{}}],["quot;show",{"_index":2873,"title":{},"content":{"303":{"position":[[1751,10]]}},"keywords":{}}],["quot;sioc_memory_config"",{"_index":880,"title":{},"content":{"40":{"position":[[875,30]]}},"keywords":{}}],["quot;skdfjgodkdfjdfoekfsg"",{"_index":2315,"title":{},"content":{"227":{"position":[[6332,32]]}},"keywords":{}}],["quot;skip",{"_index":4351,"title":{},"content":{"496":{"position":[[698,14]]}},"keywords":{}}],["quot;smith"perform_setup_oper",{"_index":4177,"title":{},"content":{"476":{"position":[[1473,42]]}},"keywords":{}}],["quot;snooz",{"_index":4445,"title":{},"content":{"514":{"position":[[1427,12]]}},"keywords":{}}],["quot;source_url"",{"_index":5521,"title":{},"content":{"766":{"position":[[206,23]]}},"keywords":{}}],["quot;source_url"=>{"name"=>"source_url"",{"_index":5537,"title":{},"content":{"767":{"position":[[651,72]]}},"keywords":{}}],["quot;spac",{"_index":3813,"title":{},"content":{"399":{"position":[[196,12],[240,12]]}},"keywords":{}}],["quot;spares"",{"_index":3103,"title":{},"content":{"321":{"position":[[3296,18],[3488,18]]}},"keywords":{}}],["quot;special"",{"_index":4836,"title":{},"content":{"639":{"position":[[1748,20],[1957,21]]}},"keywords":{}}],["quot;special"=>{"value"=>1",{"_index":4929,"title":{},"content":{"649":{"position":[[1003,49]]}},"keywords":{}}],["quot;ssl"",{"_index":2802,"title":{},"content":{"291":{"position":[[665,16]]}},"keywords":{}}],["quot;stale"=>tru",{"_index":5037,"title":{},"content":{"664":{"position":[[473,27]]},"666":{"position":[[599,27]]}},"keywords":{}}],["quot;start",{"_index":1111,"title":{},"content":{"44":{"position":[[3052,14]]},"199":{"position":[[560,11]]}},"keywords":{}}],["quot;start"",{"_index":1100,"title":{},"content":{"44":{"position":[[2740,18]]}},"keywords":{}}],["quot;start/go"",{"_index":4619,"title":{},"content":{"617":{"position":[[412,21]]}},"keywords":{}}],["quot;state"",{"_index":4444,"title":{},"content":{"514":{"position":[[1374,17]]}},"keywords":{}}],["quot;state"=>"connected"",{"_index":5275,"title":{},"content":{"709":{"position":[[861,44]]},"723":{"position":[[834,44]]}},"keywords":{}}],["quot;states"=>{"normal"=>{"value"=>0",{"_index":4928,"title":{},"content":{"649":{"position":[[929,73]]}},"keywords":{}}],["quot;stop"",{"_index":1452,"title":{},"content":{"69":{"position":[[1871,16]]},"75":{"position":[[1194,18],[1296,18]]},"617":{"position":[[463,17]]}},"keywords":{}}],["quot;stored"=>"false"",{"_index":4942,"title":{},"content":{"650":{"position":[[742,41]]}},"keywords":{}}],["quot;str",{"_index":729,"title":{},"content":{"36":{"position":[[3648,12]]},"202":{"position":[[3648,12]]}},"keywords":{}}],["quot;stream",{"_index":3066,"title":{},"content":{"321":{"position":[[466,12],[2875,12]]}},"keywords":{}}],["quot;streamingchannel"",{"_index":2256,"title":{},"content":{"227":{"position":[[1277,29]]}},"keywords":{}}],["quot;string"",{"_index":2653,"title":{},"content":{"267":{"position":[[2736,18]]}},"keywords":{}}],["quot;struct",{"_index":2161,"title":{},"content":{"213":{"position":[[397,12]]},"275":{"position":[[406,12]]},"329":{"position":[[1184,12],[1227,12],[1269,12]]}},"keywords":{}}],["quot;suit",{"_index":4608,"title":{},"content":{"611":{"position":[[224,11],[270,11]]}},"keywords":{}}],["quot;suite"",{"_index":1101,"title":{},"content":{"44":{"position":[[2759,18]]}},"keywords":{}}],["quot;suiterunner"",{"_index":1099,"title":{},"content":{"44":{"position":[[2693,24]]}},"keywords":{}}],["quot;sync",{"_index":2128,"title":{},"content":{"201":{"position":[[2007,10]]},"203":{"position":[[1795,10]]}},"keywords":{}}],["quot;tab",{"_index":3800,"title":{},"content":{"393":{"position":[[164,9],[238,9]]}},"keywords":{}}],["quot;target",{"_index":5257,"title":{},"content":{"707":{"position":[[276,13]]}},"keywords":{}}],["quot;target_nam",{"_index":1722,"title":{},"content":{"93":{"position":[[538,17]]},"94":{"position":[[522,17]]}},"keywords":{}}],["quot;target_name"=>"inst"",{"_index":4868,"title":{},"content":{"644":{"position":[[711,45]]},"646":{"position":[[366,47]]},"648":{"position":[[405,47]]},"650":{"position":[[600,45]]},"664":{"position":[[251,48]]},"666":{"position":[[358,47]]},"673":{"position":[[345,46],[563,46],[787,46],[1023,46]]}},"keywords":{}}],["quot;target_name"=>"tgt"",{"_index":5213,"title":{},"content":{"703":{"position":[[520,44],[950,44]]}},"keywords":{}}],["quot;target_names"=>["inst"",{"_index":5265,"title":{},"content":{"709":{"position":[[442,48]]},"723":{"position":[[415,48]]}},"keywords":{}}],["quot;targetname"",{"_index":5588,"title":{},"content":{"773":{"position":[[524,23]]}},"keywords":{}}],["quot;teardown"",{"_index":4595,"title":{},"content":{"610":{"position":[[523,20]]}},"keywords":{}}],["quot;telemetri",{"_index":2378,"title":{},"content":{"232":{"position":[[936,15]]},"233":{"position":[[1153,15]]},"253":{"position":[[4767,15],[5188,15]]}},"keywords":{}}],["quot;telemetry_grapher"",{"_index":5573,"title":{},"content":{"771":{"position":[[165,31]]}},"keywords":{}}],["quot;temp"",{"_index":1750,"title":{},"content":{"93":{"position":[[2064,17],[2317,17],[2601,17]]},"652":{"position":[[722,17],[848,17]]}},"keywords":{}}],["quot;temp1"",{"_index":1763,"title":{},"content":{"94":{"position":[[1594,19]]}},"keywords":{}}],["quot;temperatur",{"_index":3841,"title":{},"content":{"407":{"position":[[605,17]]}},"keywords":{}}],["quot;test"",{"_index":3775,"title":{},"content":{"386":{"position":[[376,16]]},"387":{"position":[[355,16]]},"388":{"position":[[226,16]]},"389":{"position":[[318,16]]},"624":{"position":[[793,17],[1057,17]]}},"keywords":{}}],["quot;tgt",{"_index":2195,"title":{},"content":{"224":{"position":[[793,9],[1232,9]]}},"keywords":{}}],["quot;th",{"_index":2135,"title":{},"content":{"201":{"position":[[2177,9]]},"203":{"position":[[1914,9]]},"232":{"position":[[1243,9]]},"233":{"position":[[1521,9]]},"247":{"position":[[16,9]]},"253":{"position":[[3112,9],[5037,9]]},"254":{"position":[[1712,9]]}},"keywords":{}}],["quot;thi",{"_index":679,"title":{},"content":{"36":{"position":[[1004,10]]},"202":{"position":[[1004,10]]},"267":{"position":[[999,10]]},"375":{"position":[[207,10],[257,10]]},"376":{"position":[[211,10],[285,10]]},"377":{"position":[[207,10],[263,10],[337,10]]},"378":{"position":[[209,10],[265,10],[340,10]]},"379":{"position":[[377,10],[432,10]]},"380":{"position":[[371,10],[426,10]]},"629":{"position":[[542,10],[871,10]]}},"keywords":{}}],["quot;time"",{"_index":2303,"title":{},"content":{"227":{"position":[[5642,17],[5768,17],[6215,17],[6370,17]]}},"keywords":{}}],["quot;time"=>"1696437370872305961"",{"_index":4866,"title":{},"content":{"644":{"position":[[594,53]]}},"keywords":{}}],["quot;time"=>"1697298846752053420"",{"_index":4939,"title":{},"content":{"650":{"position":[[480,54]]}},"keywords":{}}],["quot;time_nsec"=>"1"",{"_index":5218,"title":{},"content":{"703":{"position":[[775,40]]}},"keywords":{}}],["quot;time_nsec"=>"2"",{"_index":5222,"title":{},"content":{"703":{"position":[[1205,40]]}},"keywords":{}}],["quot;title"",{"_index":3810,"title":{},"content":{"398":{"position":[[127,17]]}},"keywords":{}}],["quot;tlm"",{"_index":907,"title":{},"content":{"42":{"position":[[323,16]]},"43":{"position":[[6076,16]]},"94":{"position":[[1187,16],[1511,16]]},"95":{"position":[[727,16]]}},"keywords":{}}],["quot;tlm.txt"",{"_index":367,"title":{},"content":{"16":{"position":[[479,20]]}},"keywords":{}}],["quot;tlm__inst__adcs__q1__raw"",{"_index":2305,"title":{},"content":{"227":{"position":[[5675,37],[5801,37]]}},"keywords":{}}],["quot;tlm__inst__adcs__q2__raw"",{"_index":2307,"title":{},"content":{"227":{"position":[[5719,37],[5845,37]]}},"keywords":{}}],["quot;tlm_unique_id_mode"=>fals",{"_index":5250,"title":{},"content":{"706":{"position":[[1160,41]]}},"keywords":{}}],["quot;to",{"_index":4785,"title":{},"content":{"630":{"position":[[452,8]]}},"keywords":{}}],["quot;transmit",{"_index":5313,"title":{},"content":{"715":{"position":[[621,14]]},"724":{"position":[[597,14]]}},"keywords":{}}],["quot;tvac"=>",{"_index":5177,"title":{},"content":{"699":{"position":[[498,22]]}},"keywords":{}}],["quot;txbytes"=>0",{"_index":5279,"title":{},"content":{"709":{"position":[[993,26]]},"723":{"position":[[966,26]]}},"keywords":{}}],["quot;txcnt"=>0",{"_index":5281,"title":{},"content":{"709":{"position":[[1051,24]]},"723":{"position":[[1024,24]]}},"keywords":{}}],["quot;txsize"=>0",{"_index":5277,"title":{},"content":{"709":{"position":[[937,25]]},"723":{"position":[[910,25]]}},"keywords":{}}],["quot;typ",{"_index":3995,"title":{},"content":{"446":{"position":[[313,11]]}},"keywords":{}}],["quot;type"",{"_index":1751,"title":{},"content":{"93":{"position":[[2087,17],[2340,17],[2624,17]]},"636":{"position":[[1482,16],[1601,16],[1857,17]]},"637":{"position":[[1680,16],[1902,17]]},"639":{"position":[[1725,16],[1939,17]]},"640":{"position":[[1507,16],[1685,17]]},"641":{"position":[[1754,16],[1962,17]]},"643":{"position":[[1798,16],[1996,17]]},"659":{"position":[[464,16],[598,18]]}},"keywords":{}}],["quot;type"=>"limits_change"",{"_index":5212,"title":{},"content":{"703":{"position":[[469,48],[899,48],[1451,48]]}},"keywords":{}}],["quot;unedit",{"_index":885,"title":{},"content":{"40":{"position":[[991,16],[1127,16],[1262,16]]}},"keywords":{}}],["quot;uneditable_check"",{"_index":888,"title":{},"content":{"40":{"position":[[1215,28]]}},"keywords":{}}],["quot;uneditable_state"",{"_index":887,"title":{},"content":{"40":{"position":[[1080,28]]}},"keywords":{}}],["quot;uneditable_text"",{"_index":881,"title":{},"content":{"40":{"position":[[936,27]]}},"keywords":{}}],["quot;unless",{"_index":519,"title":{},"content":{"23":{"position":[[293,12]]}},"keywords":{}}],["quot;updated"",{"_index":4459,"title":{},"content":{"528":{"position":[[798,20]]}},"keywords":{}}],["quot;updated_at"=>1613076213535979900",{"_index":5274,"title":{},"content":{"709":{"position":[[811,47]]},"723":{"position":[[784,47]]}},"keywords":{}}],["quot;updated_at"=>1613077058266815900",{"_index":5252,"title":{},"content":{"706":{"position":[[1230,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776573904132",{"_index":5539,"title":{},"content":{"767":{"position":[[791,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776574105465",{"_index":5536,"title":{},"content":{"767":{"position":[[600,48]]}},"keywords":{}}],["quot;updated_at"=>1698026776574347007",{"_index":5533,"title":{},"content":{"767":{"position":[[417,48]]}},"keywords":{}}],["quot;updated_at"=>1698074299509456507",{"_index":5530,"title":{},"content":{"767":{"position":[[239,48]]}},"keywords":{}}],["quot;upload"",{"_index":4537,"title":{},"content":{"585":{"position":[[972,19]]}},"keywords":{}}],["quot;us",{"_index":4337,"title":{},"content":{"495":{"position":[[547,10]]}},"keywords":{}}],["quot;valu",{"_index":215,"title":{},"content":{"6":{"position":[[401,11],[845,11],[900,11],[955,11],[1010,11],[1065,11]]}},"keywords":{}}],["quot;value"",{"_index":2381,"title":{},"content":{"232":{"position":[[1090,17]]},"233":{"position":[[1307,17]]},"253":{"position":[[2957,17],[4921,17]]}},"keywords":{}}],["quot;value"=>"5"",{"_index":5090,"title":{},"content":{"673":{"position":[[984,36],[1221,36]]}},"keywords":{}}],["quot;value"=>5",{"_index":5087,"title":{},"content":{"673":{"position":[[536,24],[760,24]]}},"keywords":{}}],["quot;value_type"=>"converted"",{"_index":5088,"title":{},"content":{"673":{"position":[[710,49]]}},"keywords":{}}],["quot;value_type"=>"formatted"",{"_index":5089,"title":{},"content":{"673":{"position":[[934,49]]}},"keywords":{}}],["quot;value_type"=>"raw"",{"_index":5086,"title":{},"content":{"673":{"position":[[492,43]]}},"keywords":{}}],["quot;value_type"=>"with_units"",{"_index":5091,"title":{},"content":{"673":{"position":[[1170,50]]}},"keywords":{}}],["quot;var",{"_index":3926,"title":{},"content":{"429":{"position":[[2077,9],[2216,9]]}},"keywords":{}}],["quot;verifi",{"_index":4281,"title":{},"content":{"486":{"position":[[349,14],[460,14]]},"497":{"position":[[427,14]]}},"keywords":{}}],["quot;version"",{"_index":5522,"title":{},"content":{"766":{"position":[[230,20]]}},"keywords":{}}],["quot;version"=>{"name"=>"version"",{"_index":5527,"title":{},"content":{"767":{"position":[[125,66]]}},"keywords":{}}],["quot;vu",{"_index":2465,"title":{},"content":{"245":{"position":[[101,9]]},"328":{"position":[[889,9]]}},"keywords":{}}],["quot;warn",{"_index":738,"title":{},"content":{"36":{"position":[[3909,14]]},"202":{"position":[[3909,14]]}},"keywords":{}}],["quot;wins"",{"_index":2706,"title":{},"content":{"283":{"position":[[514,17]]}},"keywords":{}}],["quot;with",{"_index":1728,"title":{},"content":{"93":{"position":[[660,10]]}},"keywords":{}}],["quot;yes"",{"_index":3343,"title":{},"content":{"347":{"position":[[1543,15]]}},"keywords":{}}],["quot;you",{"_index":1116,"title":{},"content":{"44":{"position":[[3156,9]]}},"keywords":{}}],["r",{"_index":1856,"title":{},"content":{"105":{"position":[[105,1],[174,1]]},"318":{"position":[[526,1]]}},"keywords":{}}],["r)"",{"_index":1135,"title":{},"content":{"44":{"position":[[3767,8],[3945,8]]}},"keywords":{}}],["race",{"_index":3733,"title":{},"content":{"371":{"position":[[322,4]]}},"keywords":{}}],["radio",{"_index":3948,"title":{},"content":{"433":{"position":[[162,5]]},"434":{"position":[[12,5],[283,5]]}},"keywords":{}}],["radiobutton",{"_index":3946,"title":{"434":{"position":[[0,12]]}},"content":{"433":{"position":[[20,12],[34,12]]},"434":{"position":[[206,12],[392,11],[412,11]]},"446":{"position":[[810,11],[830,11]]}},"keywords":{}}],["radiogroup",{"_index":3945,"title":{"433":{"position":[[0,11]]}},"content":{"434":{"position":[[155,10],[337,10]]},"446":{"position":[[755,10]]}},"keywords":{}}],["radiu",{"_index":3854,"title":{},"content":{"414":{"position":[[308,6],[315,6]]},"445":{"position":[[164,6],[171,6]]}},"keywords":{}}],["rail",{"_index":1623,"title":{"251":{"position":[[8,6]]}},"content":{"83":{"position":[[2179,5]]},"85":{"position":[[1333,5],[1364,5]]},"227":{"position":[[461,5]]},"240":{"position":[[1001,5],[1098,5],[1649,5]]},"251":{"position":[[66,6],[73,5],[164,5]]}},"keywords":{}}],["rails_env=develop",{"_index":1622,"title":{},"content":{"83":{"position":[[2116,21]]}},"keywords":{}}],["rails…"",{"_index":1629,"title":{},"content":{"83":{"position":[[2434,12],[2562,12]]}},"keywords":{}}],["rais",{"_index":1351,"title":{},"content":{"60":{"position":[[1538,5],[1555,5]]},"63":{"position":[[2718,5],[2746,5]]},"66":{"position":[[358,5],[386,5]]},"488":{"position":[[2318,5],[2466,5],[2601,5],[2669,6]]},"495":{"position":[[541,5],[828,5]]},"502":{"position":[[270,6]]},"659":{"position":[[50,7],[81,5],[117,7]]}},"keywords":{}}],["rake",{"_index":1850,"title":{},"content":{"104":{"position":[[68,4]]},"229":{"position":[[1315,4]]},"254":{"position":[[95,4],[1909,4]]},"321":{"position":[[3610,4]]},"334":{"position":[[561,4]]},"448":{"position":[[309,4]]}},"keywords":{}}],["rake.if",{"_index":4015,"title":{},"content":{"449":{"position":[[361,7]]}},"keywords":{}}],["rakefil",{"_index":2335,"title":{},"content":{"229":{"position":[[1219,8],[1233,8]]},"328":{"position":[[674,8]]}},"keywords":{}}],["ram",{"_index":2759,"title":{},"content":{"289":{"position":[[370,4],[440,4]]},"355":{"position":[[244,3],[333,4],[389,3],[570,3],[614,5],[626,3],[1028,3]]},"357":{"position":[[866,3],[3479,3]]}},"keywords":{}}],["ram)a",{"_index":3302,"title":{},"content":{"347":{"position":[[245,5]]}},"keywords":{}}],["ramwindow",{"_index":3482,"title":{},"content":{"357":{"position":[[740,10],[2225,10]]}},"keywords":{}}],["rang",{"_index":803,"title":{},"content":{"36":{"position":[[7005,5]]},"93":{"position":[[245,5],[443,5]]},"202":{"position":[[7005,5]]},"267":{"position":[[5606,5],[8652,5],[9647,5],[10034,5]]},"303":{"position":[[1402,5],[1431,5],[1490,5]]},"309":{"position":[[427,5]]},"405":{"position":[[310,5]]},"410":{"position":[[244,5],[383,5],[718,5],[771,5]]},"412":{"position":[[343,5],[396,5]]},"413":{"position":[[341,5],[394,5]]},"417":{"position":[[213,5],[352,5],[687,5],[740,5]]},"422":{"position":[[318,5]]},"423":{"position":[[19,5],[223,5],[362,5],[603,5],[656,5]]},"425":{"position":[[520,6],[689,5]]},"501":{"position":[[273,6],[758,5],[1036,5]]},"504":{"position":[[531,5],[698,6]]},"532":{"position":[[21,5]]},"534":{"position":[[324,5]]},"547":{"position":[[152,5]]},"555":{"position":[[64,5]]},"637":{"position":[[46,5]]},"639":{"position":[[60,5]]},"641":{"position":[[69,5]]},"643":{"position":[[83,5]]},"644":{"position":[[261,5]]},"701":{"position":[[123,7]]}},"keywords":{}}],["range(0,5000000",{"_index":4319,"title":{},"content":{"488":{"position":[[2493,17]]}},"keywords":{}}],["range(1",{"_index":4261,"title":{},"content":{"483":{"position":[[724,8]]}},"keywords":{}}],["range(1000",{"_index":5473,"title":{},"content":{"752":{"position":[[688,12]]}},"keywords":{}}],["range_check",{"_index":4859,"title":{},"content":{"644":{"position":[[71,12],[230,11]]}},"keywords":{}}],["range_check=tru",{"_index":4860,"title":{},"content":{"644":{"position":[[144,17]]}},"keywords":{}}],["rangebar",{"_index":3845,"title":{"423":{"position":[[0,9]]}},"content":{"410":{"position":[[59,8]]},"417":{"position":[[36,8]]},"423":{"position":[[704,8],[758,8]]}},"keywords":{}}],["rare",{"_index":1408,"title":{},"content":{"64":{"position":[[242,6]]},"467":{"position":[[1014,4]]}},"keywords":{}}],["raspberri",{"_index":24,"title":{"346":{"position":[[0,9]]},"347":{"position":[[18,9]]}},"content":{"1":{"position":[[247,9]]},"347":{"position":[[5,9],[207,9],[470,9],[640,9],[715,9],[1658,9],[1747,9],[1779,9],[1851,9],[2714,9]]},"355":{"position":[[21,9]]}},"keywords":{}}],["raspian",{"_index":3310,"title":{},"content":{"347":{"position":[[416,7]]}},"keywords":{}}],["rate",{"_index":1249,"title":{},"content":{"52":{"position":[[468,4],[478,4]]},"305":{"position":[[1076,5],[1129,5]]},"338":{"position":[[549,4]]},"343":{"position":[[585,4]]},"357":{"position":[[2350,4]]},"498":{"position":[[27,4]]},"538":{"position":[[108,4],[251,4]]},"681":{"position":[[789,4],[1192,4]]},"682":{"position":[[521,4],[959,4]]},"683":{"position":[[525,4],[745,4]]},"684":{"position":[[448,4],[626,4]]},"685":{"position":[[411,4],[804,4]]},"686":{"position":[[427,4],[855,4]]},"687":{"position":[[460,4],[670,4]]},"688":{"position":[[334,4],[598,4]]}},"keywords":{}}],["raw",{"_index":62,"title":{"382":{"position":[[0,4]]}},"content":{"2":{"position":[[579,4]]},"36":{"position":[[1369,3],[8105,3]]},"44":{"position":[[2992,3]]},"59":{"position":[[843,3]]},"60":{"position":[[1241,3]]},"61":{"position":[[2141,3]]},"62":{"position":[[1143,3]]},"63":{"position":[[116,3],[2327,3]]},"64":{"position":[[423,3]]},"69":{"position":[[2036,3]]},"75":{"position":[[68,3]]},"94":{"position":[[207,3]]},"95":{"position":[[601,3]]},"97":{"position":[[50,3]]},"99":{"position":[[460,3],[2042,3],[2113,3],[2894,3],[3184,3],[3329,3],[3795,3],[3822,3]]},"112":{"position":[[336,3]]},"149":{"position":[[18,3],[109,3]]},"156":{"position":[[18,3],[111,3]]},"202":{"position":[[1369,3],[8105,3]]},"215":{"position":[[58,3],[127,3]]},"227":{"position":[[345,3],[3013,4],[3176,4],[3981,3],[4094,4],[4140,3],[4178,3],[5897,3]]},"240":{"position":[[1277,3]]},"263":{"position":[[322,3],[374,3]]},"267":{"position":[[1364,3],[3318,3],[3430,3],[4684,3],[4796,3],[5377,3],[5489,3],[6500,3],[6612,3],[6765,3]]},"279":{"position":[[58,3],[127,3]]},"298":{"position":[[670,4]]},"301":{"position":[[670,3],[769,3],[962,3],[1079,3]]},"305":{"position":[[1484,5]]},"308":{"position":[[536,5]]},"329":{"position":[[1549,3]]},"343":{"position":[[66,3],[309,3]]},"355":{"position":[[736,3]]},"382":{"position":[[9,3],[193,3]]},"401":{"position":[[507,4]]},"402":{"position":[[694,4]]},"403":{"position":[[679,4]]},"404":{"position":[[243,4]]},"405":{"position":[[491,4],[597,3]]},"406":{"position":[[264,4]]},"407":{"position":[[410,4],[638,3]]},"408":{"position":[[284,4]]},"409":{"position":[[287,4]]},"410":{"position":[[561,4],[872,3]]},"411":{"position":[[235,3],[551,4],[739,3]]},"412":{"position":[[280,4]]},"413":{"position":[[278,4]]},"414":{"position":[[264,4]]},"415":{"position":[[253,4]]},"416":{"position":[[256,4]]},"417":{"position":[[530,4],[836,3]]},"418":{"position":[[250,4],[977,4]]},"419":{"position":[[284,4],[1030,4]]},"420":{"position":[[268,4],[1002,4]]},"422":{"position":[[501,4]]},"423":{"position":[[540,4],[747,3]]},"425":{"position":[[296,4]]},"427":{"position":[[492,4]]},"440":{"position":[[525,4]]},"442":{"position":[[455,4]]},"444":{"position":[[683,4],[885,3]]},"536":{"position":[[185,3],[274,3]]},"539":{"position":[[135,3]]},"541":{"position":[[247,3],[281,3]]},"542":{"position":[[268,3],[302,3]]},"571":{"position":[[136,3]]},"583":{"position":[[127,3],[210,3]]},"618":{"position":[[160,3],[274,3],[372,3],[454,3],[666,3]]},"621":{"position":[[5112,5],[5185,5],[5266,5],[5359,5]]},"644":{"position":[[90,4],[309,3],[355,3]]},"645":{"position":[[7,3],[176,3],[194,3]]},"650":{"position":[[59,3]]},"652":{"position":[[564,4],[740,5]]},"656":{"position":[[1140,5]]},"657":{"position":[[704,3],[895,5]]},"660":{"position":[[468,4],[965,5]]},"661":{"position":[[59,3]]},"662":{"position":[[532,4]]},"669":{"position":[[594,4],[884,5],[949,5]]},"670":{"position":[[479,4]]},"671":{"position":[[483,4],[716,5],[729,3],[928,3]]},"672":{"position":[[301,4],[516,5],[539,3],[726,3]]},"673":{"position":[[1460,6]]},"681":{"position":[[1324,4],[1664,5]]},"682":{"position":[[1091,4],[1432,5]]},"685":{"position":[[936,4],[1182,5]]},"686":{"position":[[987,4],[1261,5]]},"713":{"position":[[19,3],[270,3],[347,3],[381,3]]},"714":{"position":[[18,3],[267,3],[344,3],[377,3]]},"725":{"position":[[19,3],[255,3],[329,3],[363,3]]},"726":{"position":[[18,3],[252,3],[326,3],[359,3]]}},"keywords":{}}],["raw').then(dur",{"_index":3910,"title":{},"content":{"429":{"position":[[1024,15]]}},"keywords":{}}],["raw/decom",{"_index":4497,"title":{},"content":{"564":{"position":[[375,9]]}},"keywords":{}}],["raw=fals",{"_index":4861,"title":{},"content":{"644":{"position":[[162,10]]}},"keywords":{}}],["raw_log",{"_index":3284,"title":{"343":{"position":[[13,9]]}},"content":{"343":{"position":[[20,8]]}},"keywords":{}}],["raw_valu",{"_index":5008,"title":{},"content":{"660":{"position":[[902,9],[1330,9]]}},"keywords":{}}],["rb",{"_index":5420,"title":{},"content":{"737":{"position":[[560,3]]}},"keywords":{}}],["rbc",{"_index":1892,"title":{},"content":{"108":{"position":[[579,3]]}},"keywords":{}}],["rc",{"_index":1106,"title":{},"content":{"44":{"position":[[2914,2]]},"292":{"position":[[223,2]]}},"keywords":{}}],["re",{"_index":1335,"title":{},"content":{"59":{"position":[[327,2]]},"84":{"position":[[1232,2]]},"254":{"position":[[2235,2]]},"488":{"position":[[1556,2]]},"495":{"position":[[394,2],[1391,2]]},"505":{"position":[[332,2]]},"530":{"position":[[281,2]]},"592":{"position":[[391,2]]},"599":{"position":[[728,2]]},"607":{"position":[[462,2]]},"617":{"position":[[684,2]]},"746":{"position":[[745,2]]}},"keywords":{}}],["reach",{"_index":2016,"title":{},"content":{"148":{"position":[[68,8]]},"151":{"position":[[75,8]]},"155":{"position":[[70,8]]},"158":{"position":[[77,8]]}},"keywords":{}}],["react",{"_index":2399,"title":{},"content":{"235":{"position":[[252,6]]},"246":{"position":[[369,6]]},"514":{"position":[[330,5]]}},"keywords":{}}],["reaction",{"_index":4429,"title":{"514":{"position":[[0,10]]}},"content":{"511":{"position":[[83,10],[159,9]]},"514":{"position":[[1,9],[120,9],[181,8],[316,8],[410,8],[437,8],[1099,8],[1124,8],[1250,8],[1293,8],[1356,8],[1479,8]]}},"keywords":{}}],["reactiv",{"_index":3215,"title":{},"content":{"328":{"position":[[371,8]]}},"keywords":{}}],["read",{"_index":75,"title":{},"content":{"2":{"position":[[725,7]]},"49":{"position":[[344,4],[394,4],[409,4],[427,4],[604,4],[663,5],[697,5]]},"50":{"position":[[332,4],[347,4],[365,4],[491,4],[550,5],[584,5]]},"51":{"position":[[267,4],[307,4],[777,4],[836,4],[858,5]]},"52":{"position":[[351,4],[388,5],[450,8],[486,4],[683,4],[742,5],[776,5]]},"53":{"position":[[46,5]]},"54":{"position":[[242,5],[415,5],[2978,5],[3006,4],[3412,4]]},"56":{"position":[[670,4]]},"58":{"position":[[729,4],[790,5],[804,4],[865,5]]},"59":{"position":[[27,5],[164,6],[623,8]]},"60":{"position":[[20,5],[189,4],[576,4],[1021,8]]},"61":{"position":[[119,5],[179,5],[1140,4],[1802,8],[3221,5]]},"62":{"position":[[123,5],[596,4],[734,4],[773,4],[927,8]]},"63":{"position":[[798,4],[1421,4],[1638,4],[1717,4],[1829,5],[1918,4],[1957,4],[2111,8]]},"69":{"position":[[1642,4],[1691,4],[1919,5],[1990,4],[2064,4],[2255,4],[3204,4],[3451,4],[3580,5],[3670,4],[3716,7]]},"75":{"position":[[77,4],[766,4],[1131,4]]},"133":{"position":[[146,4]]},"134":{"position":[[96,5],[124,4],[273,7],[489,5],[913,4],[1119,4]]},"198":{"position":[[1072,5],[1110,7]]},"215":{"position":[[43,4],[122,4]]},"227":{"position":[[6075,4]]},"239":{"position":[[33,4]]},"253":{"position":[[7822,8],[7877,5],[7999,4]]},"259":{"position":[[1111,5],[1140,7]]},"260":{"position":[[174,4]]},"267":{"position":[[6376,4],[6781,4],[7865,4]]},"279":{"position":[[43,4],[122,4]]},"289":{"position":[[191,4]]},"300":{"position":[[530,7],[578,4]]},"338":{"position":[[491,4],[723,4]]},"349":{"position":[[207,4]]},"359":{"position":[[199,4]]},"360":{"position":[[195,4]]},"368":{"position":[[397,4]]},"384":{"position":[[207,4]]},"429":{"position":[[260,4]]},"507":{"position":[[277,4],[476,7]]},"548":{"position":[[631,4]]},"652":{"position":[[9,5],[558,5]]},"660":{"position":[[1,5]]},"718":{"position":[[524,4],[564,5]]},"728":{"position":[[528,4],[568,5]]},"737":{"position":[[1,5]]},"752":{"position":[[271,4]]}},"keywords":{}}],["read_convers",{"_index":2375,"title":{},"content":{"232":{"position":[[532,15],[1108,15]]},"262":{"position":[[741,16]]},"263":{"position":[[1359,15],[1514,15]]},"267":{"position":[[2916,16],[3897,15],[4232,15],[7218,15],[7243,15]]}},"keywords":{}}],["read_data",{"_index":1455,"title":{"75":{"position":[[0,10]]}},"content":{"69":{"position":[[2006,11],[2341,11],[2487,11],[2859,11],[3029,11],[3333,13]]},"75":{"position":[[5,9]]}},"keywords":{}}],["read_data(data",{"_index":1502,"title":{},"content":{"71":{"position":[[875,15]]},"75":{"position":[[636,15]]}},"keywords":{}}],["read_data(self",{"_index":1518,"title":{},"content":{"75":{"position":[[968,15]]}},"keywords":{}}],["read_interfac",{"_index":1458,"title":{},"content":{"69":{"position":[[2091,16]]},"75":{"position":[[1694,16]]}},"keywords":{}}],["read_nonblock",{"_index":1265,"title":{},"content":{"53":{"position":[[52,14]]}},"keywords":{}}],["read_packet",{"_index":1468,"title":{"76":{"position":[[0,12]]}},"content":{"69":{"position":[[3220,13],[3403,13]]},"76":{"position":[[5,11]]}},"keywords":{}}],["read_packet(packet",{"_index":1527,"title":{},"content":{"76":{"position":[[817,19]]}},"keywords":{}}],["read_packet(self",{"_index":1528,"title":{},"content":{"76":{"position":[[896,17]]}},"keywords":{}}],["read_port",{"_index":3046,"title":{},"content":{"320":{"position":[[930,9]]}},"keywords":{}}],["read_port_nam",{"_index":3266,"title":{},"content":{"338":{"position":[[522,14],[1230,14]]}},"keywords":{}}],["read_timeout",{"_index":3050,"title":{},"content":{"320":{"position":[[991,12]]},"338":{"position":[[745,12],[1351,12]]}},"keywords":{}}],["read_writ",{"_index":1286,"title":{},"content":{"54":{"position":[[2994,11]]},"134":{"position":[[112,11],[233,10],[502,10]]},"718":{"position":[[484,10],[580,10],[638,11],[847,11],[859,12]]},"728":{"position":[[315,11],[488,10],[584,10],[642,11],[848,11],[860,12]]}},"keywords":{}}],["read_write='read_writ",{"_index":5345,"title":{},"content":{"718":{"position":[[968,24]]},"728":{"position":[[966,24]]}},"keywords":{}}],["readabl",{"_index":2936,"title":{},"content":{"304":{"position":[[6570,8],[6783,8]]},"429":{"position":[[478,9]]}},"keywords":{}}],["readable/edit",{"_index":2833,"title":{},"content":{"297":{"position":[[1022,17],[1052,18]]}},"keywords":{}}],["reader",{"_index":3136,"title":{},"content":{"322":{"position":[[2284,7]]}},"keywords":{}}],["readi",{"_index":1512,"title":{},"content":{"75":{"position":[[289,5],[323,5]]},"76":{"position":[[356,5]]},"77":{"position":[[372,5]]},"78":{"position":[[371,5]]},"246":{"position":[[327,5]]}},"keywords":{}}],["readme.md",{"_index":2339,"title":{},"content":{"229":{"position":[[1387,9]]},"253":{"position":[[882,9]]}},"keywords":{}}],["real",{"_index":1526,"title":{},"content":{"76":{"position":[[758,4]]},"249":{"position":[[348,4]]},"253":{"position":[[83,4]]},"254":{"position":[[2682,4]]},"262":{"position":[[224,4]]},"299":{"position":[[917,4]]},"360":{"position":[[1258,4]]},"492":{"position":[[101,4],[362,4]]},"504":{"position":[[947,4]]},"561":{"position":[[92,4]]},"599":{"position":[[1066,4]]},"606":{"position":[[266,4]]},"618":{"position":[[334,4]]}},"keywords":{}}],["realli",{"_index":1449,"title":{},"content":{"69":{"position":[[1536,6]]},"254":{"position":[[842,6]]},"504":{"position":[[902,6]]}},"keywords":{}}],["realtim",{"_index":1793,"title":{},"content":{"99":{"position":[[639,8]]},"227":{"position":[[328,9],[4459,9],[4718,9]]},"298":{"position":[[1287,8],[1560,8]]},"300":{"position":[[644,8],[750,8]]},"305":{"position":[[50,8]]},"306":{"position":[[424,8],[469,8]]},"307":{"position":[[65,8],[291,8],[344,8]]},"309":{"position":[[260,8],[323,8]]},"700":{"position":[[203,9]]}},"keywords":{}}],["reason",{"_index":126,"title":{"504":{"position":[[7,7]]}},"content":{"3":{"position":[[643,6]]},"46":{"position":[[143,7]]},"257":{"position":[[335,6]]},"262":{"position":[[507,6]]},"263":{"position":[[598,10]]},"364":{"position":[[1287,7]]},"459":{"position":[[1029,10]]},"471":{"position":[[13,6]]},"488":{"position":[[415,7]]},"504":{"position":[[24,7]]},"669":{"position":[[153,6]]}},"keywords":{}}],["reassign",{"_index":4165,"title":{},"content":{"476":{"position":[[594,10]]}},"keywords":{}}],["rebas",{"_index":4016,"title":{},"content":{"449":{"position":[[380,6]]}},"keywords":{}}],["rebuild",{"_index":523,"title":{},"content":{"23":{"position":[[371,7]]},"254":{"position":[[1743,7]]},"334":{"position":[[489,7]]}},"keywords":{}}],["rebuilt",{"_index":3257,"title":{},"content":{"334":{"position":[[1000,7]]}},"keywords":{}}],["receipt",{"_index":2853,"title":{},"content":{"299":{"position":[[701,8]]}},"keywords":{}}],["receiv",{"_index":813,"title":{"263":{"position":[[0,8]]}},"content":{"36":{"position":[[8051,8]]},"49":{"position":[[76,7]]},"51":{"position":[[48,7],[178,7]]},"57":{"position":[[213,9]]},"64":{"position":[[132,7]]},"97":{"position":[[72,8]]},"99":{"position":[[918,8],[964,8],[993,8],[3003,8],[3069,8],[3139,8],[3200,8],[3305,8],[3429,8],[4209,8]]},"114":{"position":[[307,7]]},"115":{"position":[[227,7]]},"116":{"position":[[61,7]]},"127":{"position":[[314,8],[513,8]]},"133":{"position":[[72,8]]},"134":{"position":[[155,8]]},"143":{"position":[[18,7],[117,8],[214,7]]},"202":{"position":[[8051,8]]},"227":{"position":[[187,7],[1354,9],[1389,8],[1972,9],[4885,8]]},"230":{"position":[[887,8]]},"253":{"position":[[8183,7]]},"259":{"position":[[69,8]]},"263":{"position":[[218,8],[308,9],[1743,8]]},"267":{"position":[[6711,8]]},"276":{"position":[[69,8]]},"277":{"position":[[103,8]]},"278":{"position":[[291,8]]},"297":{"position":[[286,7],[532,7]]},"299":{"position":[[442,8],[507,8],[1039,8],[1185,9]]},"301":{"position":[[715,9],[1025,9]]},"321":{"position":[[1061,8]]},"322":{"position":[[1569,7]]},"429":{"position":[[1244,9]]},"462":{"position":[[288,7],[446,7]]},"466":{"position":[[735,9]]},"468":{"position":[[55,9]]},"498":{"position":[[372,8],[479,8],[586,8]]},"499":{"position":[[418,7]]},"504":{"position":[[341,9]]},"635":{"position":[[67,7]]},"668":{"position":[[67,9],[487,9]]},"669":{"position":[[116,8]]},"670":{"position":[[47,8]]},"671":{"position":[[138,8]]},"674":{"position":[[121,8]]},"677":{"position":[[9,7]]},"678":{"position":[[9,7]]},"684":{"position":[[63,9],[311,8],[582,7]]},"688":{"position":[[63,9],[468,7]]},"715":{"position":[[199,7],[244,9],[662,7],[734,9],[1220,7],[1297,9]]},"724":{"position":[[193,7],[238,9],[256,9],[638,7],[710,9],[757,9],[1172,7],[1243,9],[1293,9]]}},"keywords":{}}],["received_count",{"_index":2626,"title":{},"content":{"263":{"position":[[113,15]]},"644":{"position":[[1229,17]]},"650":{"position":[[1109,17]]},"652":{"position":[[135,17]]}},"keywords":{}}],["received_tim",{"_index":2629,"title":{},"content":{"263":{"position":[[180,13],[425,14]]},"644":{"position":[[1140,16]]},"650":{"position":[[1018,16]]}},"keywords":{}}],["received_timeformat",{"_index":2627,"title":{},"content":{"263":{"position":[[129,23]]},"652":{"position":[[153,25]]}},"keywords":{}}],["received_timesecond",{"_index":2628,"title":{},"content":{"263":{"position":[[157,21]]},"371":{"position":[[165,20]]},"652":{"position":[[183,22]]}},"keywords":{}}],["recent",{"_index":1819,"title":{"498":{"position":[[17,6]]}},"content":{"99":{"position":[[4197,6]]},"301":{"position":[[700,6],[1001,6]]},"357":{"position":[[4097,6]]},"498":{"position":[[113,6],[363,8],[470,8],[577,8]]},"499":{"position":[[48,6],[166,6]]},"605":{"position":[[122,8]]},"652":{"position":[[37,8]]},"653":{"position":[[30,6],[260,6],[373,6],[523,6],[650,6],[803,6]]}},"keywords":{}}],["recept",{"_index":1825,"title":{},"content":{"99":{"position":[[4703,9]]}},"keywords":{}}],["recogn",{"_index":4148,"title":{},"content":{"469":{"position":[[485,10]]}},"keywords":{}}],["recommend",{"_index":1142,"title":{},"content":{"46":{"position":[[21,11]]},"83":{"position":[[80,9]]},"84":{"position":[[1313,11]]},"230":{"position":[[1593,10]]},"235":{"position":[[330,11]]},"253":{"position":[[858,11],[1799,11]]},"254":{"position":[[290,9]]},"257":{"position":[[173,9]]},"289":{"position":[[20,12],[53,9],[392,11],[1462,10]]},"290":{"position":[[4,9]]},"324":{"position":[[4059,9]]},"334":{"position":[[7,11]]},"359":{"position":[[1391,9]]},"371":{"position":[[264,9]]},"485":{"position":[[128,11]]},"488":{"position":[[1622,11]]},"507":{"position":[[302,12]]}},"keywords":{}}],["reconnect",{"_index":1465,"title":{},"content":{"69":{"position":[[2831,11]]},"75":{"position":[[584,13]]},"76":{"position":[[610,13]]},"77":{"position":[[626,13]]},"78":{"position":[[623,13]]},"79":{"position":[[800,13]]},"129":{"position":[[24,9]]},"130":{"position":[[1,9],[85,9],[138,9],[191,9],[270,9]]}},"keywords":{}}],["reconnect_delay",{"_index":1956,"title":{"130":{"position":[[0,16]]}},"content":{},"keywords":{}}],["record",{"_index":3293,"title":{},"content":{"344":{"position":[[354,7]]},"352":{"position":[[218,6]]},"525":{"position":[[24,6]]},"526":{"position":[[54,6]]},"528":{"position":[[1554,6],[1676,6]]}},"keywords":{}}],["recov",{"_index":1311,"title":{"505":{"position":[[7,7]]}},"content":{"57":{"position":[[239,7]]},"504":{"position":[[1010,8]]},"505":{"position":[[98,8],[175,7]]}},"keywords":{}}],["rectangular",{"_index":3901,"title":{},"content":{"429":{"position":[[12,11]]},"435":{"position":[[12,11]]}},"keywords":{}}],["rectifi",{"_index":4067,"title":{},"content":{"459":{"position":[[1183,9]]},"466":{"position":[[110,8]]}},"keywords":{}}],["recurs",{"_index":3000,"title":{},"content":{"317":{"position":[[13,7]]}},"keywords":{}}],["red",{"_index":2652,"title":{},"content":{"267":{"position":[[2547,3],[2910,3],[8912,3],[8987,3],[9125,3],[9284,3],[9346,3],[9425,3]]},"289":{"position":[[170,3]]},"379":{"position":[[107,3],[158,6],[230,3],[422,3]]},"380":{"position":[[101,3],[152,6],[224,3],[416,3]]},"381":{"position":[[112,3],[163,6],[235,3],[437,3]]},"403":{"position":[[352,4]]},"404":{"position":[[897,3]]},"411":{"position":[[101,3],[305,4],[805,3]]},"427":{"position":[[243,4]]},"439":{"position":[[408,3]]},"440":{"position":[[651,3]]},"444":{"position":[[933,3],[1060,3]]},"544":{"position":[[152,4]]},"568":{"position":[[208,4]]},"575":{"position":[[147,3]]},"578":{"position":[[105,3],[166,3],[319,3]]},"607":{"position":[[392,3]]},"700":{"position":[[716,3],[724,3],[810,4],[910,3],[1042,3],[1081,3],[1090,3],[1177,4]]},"702":{"position":[[87,6]]}},"keywords":{}}],["red_low",{"_index":5030,"title":{},"content":{"663":{"position":[[615,10],[630,10]]}},"keywords":{}}],["redefin",{"_index":2156,"title":{},"content":{"209":{"position":[[202,8]]},"274":{"position":[[188,8]]}},"keywords":{}}],["redhat",{"_index":3141,"title":{},"content":{"324":{"position":[[259,7],[1339,6]]}},"keywords":{}}],["redi",{"_index":47,"title":{"249":{"position":[[0,6]]}},"content":{"2":{"position":[[317,5]]},"44":{"position":[[1819,6]]},"83":{"position":[[1318,5],[3047,5]]},"85":{"position":[[1029,5]]},"99":{"position":[[4039,5],[4166,5],[4300,5]]},"176":{"position":[[13,5],[26,5],[329,5]]},"237":{"position":[[449,5]]},"240":{"position":[[1164,5],[1225,5]]},"249":{"position":[[1,5],[125,5],[230,5],[262,5],[288,5],[375,5],[400,5],[522,5],[603,5]]},"298":{"position":[[408,5]]},"324":{"position":[[1999,5]]},"355":{"position":[[690,5],[1022,5],[1151,5]]},"357":{"position":[[1630,5],[1711,5],[3120,5],[3202,5],[3597,5]]}},"keywords":{}}],["redirect",{"_index":498,"title":{},"content":{"22":{"position":[[386,13]]}},"keywords":{}}],["redis:latest",{"_index":1645,"title":{},"content":{"83":{"position":[[2959,12]]}},"keywords":{}}],["redo",{"_index":2901,"title":{},"content":{"304":{"position":[[1626,5]]}},"keywords":{}}],["reduc",{"_index":63,"title":{},"content":{"2":{"position":[[602,7]]},"99":{"position":[[2324,6],[4374,6],[4399,8],[4530,7]]},"160":{"position":[[18,7],[122,7]]},"161":{"position":[[18,7],[120,7]]},"162":{"position":[[18,7],[119,7]]},"164":{"position":[[22,7],[123,7]]},"168":{"position":[[436,8]]},"169":{"position":[[155,7]]},"227":{"position":[[3272,7],[3292,7]]},"298":{"position":[[693,7]]},"418":{"position":[[271,7],[298,7],[399,7],[424,6],[464,7],[998,7],[1025,7],[1126,7],[1151,6],[1191,7]]},"419":{"position":[[305,7],[332,7],[433,7],[458,6],[498,7],[1051,7],[1078,7],[1179,7],[1204,6],[1244,7]]},"420":{"position":[[289,7],[316,7],[417,7],[442,6],[482,7],[1023,7],[1050,7],[1151,7],[1176,6],[1216,7]]},"538":{"position":[[152,6]]},"617":{"position":[[1135,7]]}},"keywords":{}}],["reduced_day",{"_index":2286,"title":{},"content":{"227":{"position":[[3058,12]]},"418":{"position":[[381,11],[1108,11]]},"419":{"position":[[415,11],[1161,11]]},"420":{"position":[[399,11],[1133,11]]}},"keywords":{}}],["reduced_day_log_retain_tim",{"_index":2034,"title":{"162":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduced_hour",{"_index":2285,"title":{},"content":{"227":{"position":[[3041,13]]},"418":{"position":[[367,13],[1094,13]]},"419":{"position":[[401,13],[1147,13]]},"420":{"position":[[385,13],[1119,13]]}},"keywords":{}}],["reduced_hour_log_retain_tim",{"_index":2033,"title":{"161":{"position":[[0,29]]}},"content":{},"keywords":{}}],["reduced_log_retain_tim",{"_index":2036,"title":{"164":{"position":[[0,24]]}},"content":{},"keywords":{}}],["reduced_minut",{"_index":2284,"title":{},"content":{"227":{"position":[[3025,15]]},"418":{"position":[[351,15],[1078,15]]},"419":{"position":[[385,15],[1131,15]]},"420":{"position":[[369,15],[1103,15]]}},"keywords":{}}],["reduced_minute_log_retain_tim",{"_index":2032,"title":{"160":{"position":[[0,31]]}},"content":{},"keywords":{}}],["reducer_dis",{"_index":2040,"title":{"166":{"position":[[0,16]]}},"content":{},"keywords":{}}],["reducer_max_cpu_util",{"_index":2041,"title":{"167":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduct",{"_index":1826,"title":{},"content":{"99":{"position":[[4802,9]]},"166":{"position":[[19,9]]},"167":{"position":[[52,9]]},"356":{"position":[[218,10]]}},"keywords":{}}],["refer",{"_index":165,"title":{},"content":{"5":{"position":[[689,8]]},"36":{"position":[[8153,9]]},"44":{"position":[[1001,9]]},"63":{"position":[[486,8]]},"69":{"position":[[1829,9]]},"83":{"position":[[537,9]]},"90":{"position":[[508,9]]},"99":{"position":[[1664,10]]},"133":{"position":[[445,5]]},"199":{"position":[[159,8]]},"202":{"position":[[8153,9]]},"229":{"position":[[1138,10]]},"230":{"position":[[1029,9]]},"264":{"position":[[179,8]]},"267":{"position":[[6810,9]]},"299":{"position":[[872,6]]},"457":{"position":[[308,10]]},"487":{"position":[[699,6]]},"527":{"position":[[178,9]]},"608":{"position":[[268,10],[348,9],[621,10],[701,9]]},"636":{"position":[[874,8]]},"637":{"position":[[1096,8]]},"638":{"position":[[1117,8]]},"639":{"position":[[1150,8]]},"640":{"position":[[950,8]]},"641":{"position":[[1167,8]]},"642":{"position":[[1188,8]]},"643":{"position":[[1221,8]]}},"keywords":{}}],["referenc",{"_index":815,"title":{},"content":{"36":{"position":[[8198,11]]},"123":{"position":[[493,10]]},"202":{"position":[[8198,11]]},"253":{"position":[[7488,11]]},"267":{"position":[[6857,11]]},"504":{"position":[[179,10]]}},"keywords":{}}],["referr",{"_index":961,"title":{},"content":{"43":{"position":[[797,8],[817,8]]}},"keywords":{}}],["refin",{"_index":2613,"title":{},"content":{"260":{"position":[[202,7]]}},"keywords":{}}],["reflect",{"_index":1433,"title":{},"content":{"67":{"position":[[1112,7]]}},"keywords":{}}],["reformat",{"_index":1034,"title":{},"content":{"44":{"position":[[358,8]]}},"keywords":{}}],["refresh",{"_index":951,"title":{},"content":{"43":{"position":[[245,9]]},"84":{"position":[[748,7],[1058,7],[1266,7]]},"188":{"position":[[127,10]]},"332":{"position":[[858,7]]},"538":{"position":[[100,7],[243,7]]},"570":{"position":[[14,7]]}},"keywords":{}}],["refus",{"_index":2870,"title":{},"content":{"303":{"position":[[1202,6]]},"320":{"position":[[1536,6]]}},"keywords":{}}],["regard",{"_index":4066,"title":{},"content":{"459":{"position":[[1116,6]]},"482":{"position":[[987,9]]}},"keywords":{}}],["regardless",{"_index":1310,"title":{},"content":{"57":{"position":[[159,10]]},"364":{"position":[[227,10]]}},"keywords":{}}],["regex",{"_index":2058,"title":{},"content":{"170":{"position":[[175,5]]},"183":{"position":[[181,5]]},"193":{"position":[[173,5]]},"196":{"position":[[175,5]]}},"keywords":{}}],["regist",{"_index":4096,"title":{},"content":{"462":{"position":[[188,8]]},"467":{"position":[[197,8]]}},"keywords":{}}],["registr",{"_index":4097,"title":{},"content":{"462":{"position":[[353,13]]},"467":{"position":[[757,14]]}},"keywords":{}}],["registri",{"_index":3186,"title":{},"content":{"324":{"position":[[2847,8],[2912,8],[3027,8],[3271,10],[3306,8]]}},"keywords":{}}],["regular",{"_index":260,"title":{"502":{"position":[[34,7]]}},"content":{"7":{"position":[[533,7]]},"59":{"position":[[195,7]]},"163":{"position":[[22,7],[123,7]]},"170":{"position":[[99,7]]},"183":{"position":[[105,7]]},"193":{"position":[[97,7]]},"196":{"position":[[99,7]]},"479":{"position":[[242,7],[355,7]]},"607":{"position":[[11,7]]},"613":{"position":[[325,7]]},"759":{"position":[[33,7]]}},"keywords":{}}],["reject",{"_index":2257,"title":{},"content":{"227":{"position":[[1557,9],[1611,8]]}},"keywords":{}}],["rel",{"_index":1996,"title":{},"content":{"138":{"position":[[108,8],[327,8]]},"174":{"position":[[92,8],[311,8]]},"186":{"position":[[34,8]]},"217":{"position":[[300,8]]},"355":{"position":[[502,10]]},"593":{"position":[[418,8]]}},"keywords":{}}],["relat",{"_index":2175,"title":{},"content":{"220":{"position":[[27,7],[125,7],[180,7],[231,7]]},"221":{"position":[[27,7],[127,7],[184,7]]},"283":{"position":[[20,7],[147,7]]},"459":{"position":[[487,8],[916,8]]},"482":{"position":[[940,7],[1064,7]]},"487":{"position":[[71,7]]},"525":{"position":[[311,7]]},"530":{"position":[[312,7]]}},"keywords":{}}],["related_item",{"_index":2174,"title":{"220":{"position":[[0,13]]}},"content":{},"keywords":{}}],["relax",{"_index":1702,"title":{},"content":{"88":{"position":[[29,7]]}},"keywords":{}}],["releas",{"_index":1143,"title":{},"content":{"46":{"position":[[61,8]]},"254":{"position":[[1856,7]]},"256":{"position":[[11,8],[172,8],[338,7],[378,7]]},"292":{"position":[[474,7]]},"313":{"position":[[74,7]]},"324":{"position":[[1471,7],[2712,7]]},"334":{"position":[[313,7]]},"461":{"position":[[1235,7]]},"773":{"position":[[134,9]]}},"keywords":{}}],["relev",{"_index":1440,"title":{},"content":{"69":{"position":[[788,8]]},"459":{"position":[[871,8]]}},"keywords":{}}],["reli",{"_index":703,"title":{},"content":{"36":{"position":[[2110,7]]},"59":{"position":[[185,6]]},"60":{"position":[[297,6]]},"202":{"position":[[2110,7]]},"674":{"position":[[154,7]]}},"keywords":{}}],["reliabl",{"_index":1308,"title":{},"content":{"57":{"position":[[122,9]]},"240":{"position":[[145,8]]}},"keywords":{}}],["reload",{"_index":2899,"title":{},"content":{"304":{"position":[[1520,7]]},"332":{"position":[[813,6],[910,7]]}},"keywords":{}}],["remain",{"_index":637,"title":{},"content":{"33":{"position":[[493,9],[709,9]]},"35":{"position":[[797,9],[1448,9]]},"37":{"position":[[590,9],[1241,9]]},"61":{"position":[[189,9]]},"201":{"position":[[826,9],[1477,9]]},"203":{"position":[[609,9],[1260,9]]},"204":{"position":[[996,9],[1621,9]]},"205":{"position":[[832,9],[1457,9]]},"253":{"position":[[4443,9]]},"403":{"position":[[215,7]]},"427":{"position":[[106,7]]},"495":{"position":[[1307,7]]},"514":{"position":[[1231,7]]},"620":{"position":[[102,6]]},"630":{"position":[[371,7]]}},"keywords":{}}],["remaind",{"_index":1276,"title":{},"content":{"54":{"position":[[425,9]]}},"keywords":{}}],["rememb",{"_index":3905,"title":{},"content":{"429":{"position":[[421,8]]},"476":{"position":[[1085,8]]},"658":{"position":[[307,8]]}},"keywords":{}}],["remot",{"_index":1025,"title":{},"content":{"44":{"position":[[52,8]]},"51":{"position":[[228,6],[289,6],[471,6]]},"143":{"position":[[153,6],[285,6]]}},"keywords":{}}],["remov",{"_index":1337,"title":{"557":{"position":[[0,8]]}},"content":{"59":{"position":[[401,6]]},"62":{"position":[[762,6]]},"63":{"position":[[1946,6]]},"67":{"position":[[261,6]]},"83":{"position":[[2285,7]]},"209":{"position":[[141,6]]},"227":{"position":[[2169,7],[4498,8]]},"274":{"position":[[132,6]]},"321":{"position":[[33,6]]},"324":{"position":[[3623,8]]},"325":{"position":[[597,6]]},"334":{"position":[[937,6],[1211,7]]},"347":{"position":[[1689,6],[2480,6]]},"351":{"position":[[583,6]]},"480":{"position":[[498,8]]},"528":{"position":[[537,9]]},"556":{"position":[[346,8],[599,8]]},"557":{"position":[[81,7],[151,7]]},"577":{"position":[[467,7]]},"620":{"position":[[37,7],[206,8],[269,7],[302,7]]},"716":{"position":[[568,6]]}},"keywords":{}}],["renam",{"_index":1923,"title":{},"content":{"121":{"position":[[323,6]]},"230":{"position":[[641,7]]},"231":{"position":[[745,7]]},"235":{"position":[[1162,7]]}},"keywords":{}}],["render",{"_index":239,"title":{"7":{"position":[[0,7]]}},"content":{"7":{"position":[[49,6],[62,7],[215,6],[345,6]]},"235":{"position":[[805,6]]},"246":{"position":[[251,6]]},"592":{"position":[[394,6]]}},"keywords":{}}],["rent",{"_index":4049,"title":{},"content":{"459":{"position":[[40,6]]}},"keywords":{}}],["reorder",{"_index":2980,"title":{},"content":{"311":{"position":[[784,10],[801,7]]},"596":{"position":[[165,10]]}},"keywords":{}}],["repeat",{"_index":4221,"title":{"480":{"position":[[23,6]]}},"content":{"480":{"position":[[109,8]]}},"keywords":{}}],["repeatedli",{"_index":4390,"title":{},"content":{"501":{"position":[[340,10]]}},"keywords":{}}],["repetit",{"_index":4225,"title":{},"content":{"480":{"position":[[261,10],[511,10]]}},"keywords":{}}],["replac",{"_index":842,"title":{},"content":{"36":{"position":[[9997,7]]},"57":{"position":[[410,8]]},"202":{"position":[[9997,7]]},"273":{"position":[[481,8]]},"282":{"position":[[555,8]]},"304":{"position":[[1717,7],[1772,7],[1813,8]]},"313":{"position":[[168,7]]},"480":{"position":[[1288,8]]},"632":{"position":[[273,8]]}},"keywords":{}}],["replay",{"_index":4663,"title":{},"content":{"621":{"position":[[1745,6],[2949,6],[2985,6],[3021,6],[3051,6],[3089,6],[3126,6],[3170,6],[3202,6],[3237,6],[3275,6],[3305,6],[3781,6]]}},"keywords":{}}],["replay_move_end",{"_index":4685,"title":{},"content":{"621":{"position":[[2933,15]]}},"keywords":{}}],["replay_move_index",{"_index":4686,"title":{},"content":{"621":{"position":[[2967,17]]}},"keywords":{}}],["replay_move_start",{"_index":4687,"title":{},"content":{"621":{"position":[[3003,17]]}},"keywords":{}}],["replay_play",{"_index":4688,"title":{},"content":{"621":{"position":[[3039,11]]}},"keywords":{}}],["replay_reverse_play",{"_index":4689,"title":{},"content":{"621":{"position":[[3069,19]]}},"keywords":{}}],["replay_select_fil",{"_index":4690,"title":{},"content":{"621":{"position":[[3107,18]]}},"keywords":{}}],["replay_set_playback_delay",{"_index":4691,"title":{},"content":{"621":{"position":[[3144,25]]}},"keywords":{}}],["replay_statu",{"_index":4692,"title":{},"content":{"621":{"position":[[3188,13]]}},"keywords":{}}],["replay_step_back",{"_index":4693,"title":{},"content":{"621":{"position":[[3220,16]]}},"keywords":{}}],["replay_step_forward",{"_index":4694,"title":{},"content":{"621":{"position":[[3255,19]]}},"keywords":{}}],["replay_stop",{"_index":4695,"title":{},"content":{"621":{"position":[[3293,11]]}},"keywords":{}}],["repo",{"_index":1831,"title":{},"content":{"102":{"position":[[68,4]]},"110":{"position":[[193,5]]},"237":{"position":[[17,4]]},"290":{"position":[[483,4],[542,5]]}},"keywords":{}}],["report",{"_index":1846,"title":{"497":{"position":[[34,7]]}},"content":{"103":{"position":[[615,7]]},"104":{"position":[[129,7]]},"105":{"position":[[292,7]]},"304":{"position":[[5672,6],[5720,6]]},"482":{"position":[[1342,7]]},"497":{"position":[[76,6],[186,6],[401,6],[706,6]]},"583":{"position":[[96,6],[224,6]]}},"keywords":{}}],["repositori",{"_index":2331,"title":{},"content":{"229":{"position":[[1044,11]]}},"keywords":{}}],["repres",{"_index":43,"title":{},"content":{"2":{"position":[[241,9]]},"59":{"position":[[782,12],[866,10]]},"60":{"position":[[1180,12],[1264,10]]},"61":{"position":[[2080,12],[2164,10]]},"62":{"position":[[1082,12],[1166,10]]},"63":{"position":[[2266,12],[2350,10]]},"64":{"position":[[362,12],[446,10]]},"227":{"position":[[5445,11],[5925,11]]},"298":{"position":[[332,9]]},"357":{"position":[[3827,14]]},"444":{"position":[[58,11]]},"618":{"position":[[1043,11]]}},"keywords":{}}],["represent",{"_index":3898,"title":{},"content":{"428":{"position":[[122,15]]},"618":{"position":[[901,15]]}},"keywords":{}}],["req",{"_index":406,"title":{},"content":{"20":{"position":[[257,3],[323,3],[1506,3],[1545,3]]}},"keywords":{}}],["reqt",{"_index":2849,"title":{},"content":{"299":{"position":[[1,5]]},"300":{"position":[[1,5]]},"301":{"position":[[112,5]]},"302":{"position":[[179,5]]},"303":{"position":[[361,5]]},"304":{"position":[[1297,5]]},"305":{"position":[[147,5]]},"306":{"position":[[266,5]]},"307":{"position":[[98,5]]},"308":{"position":[[113,5]]},"309":{"position":[[192,5]]},"310":{"position":[[97,5]]},"311":{"position":[[104,5]]}},"keywords":{}}],["request",{"_index":443,"title":{},"content":{"20":{"position":[[905,7]]},"42":{"position":[[132,8],[153,8],[737,7]]},"43":{"position":[[85,7],[167,9],[286,8],[305,8],[4658,8],[4677,7],[6478,7]]},"44":{"position":[[297,8],[1366,7],[1543,7],[1924,8],[2039,8],[3531,7]]},"85":{"position":[[226,8],[1407,8]]},"87":{"position":[[24,7]]},"88":{"position":[[80,8],[213,7]]},"89":{"position":[[154,8]]},"90":{"position":[[443,8],[546,8]]},"95":{"position":[[230,7],[483,7]]},"121":{"position":[[101,9]]},"227":{"position":[[400,10],[2091,7],[2256,10],[2304,10],[5570,9]]},"246":{"position":[[280,10]]},"429":{"position":[[929,7]]},"449":{"position":[[508,7]]},"457":{"position":[[168,9]]},"460":{"position":[[206,9]]},"463":{"position":[[175,7]]},"465":{"position":[[74,9]]},"528":{"position":[[481,7]]},"586":{"position":[[736,7]]},"599":{"position":[[852,10],[931,7]]},"618":{"position":[[361,10]]},"632":{"position":[[422,7]]},"671":{"position":[[627,8],[826,8]]},"758":{"position":[[147,8]]}},"keywords":{}}],["requests_ca_bundl",{"_index":2815,"title":{},"content":{"291":{"position":[[1274,18]]}},"keywords":{}}],["requir",{"_index":152,"title":{"12":{"position":[[0,8]]},"296":{"position":[[0,12]]},"299":{"position":[[8,13]]},"300":{"position":[[4,13]]},"337":{"position":[[5,12]]},"354":{"position":[[16,12]]},"488":{"position":[[37,8]]},"496":{"position":[[14,7]]}},"content":{"5":{"position":[[367,8],[397,8],[1102,9],[1140,8]]},"7":{"position":[[469,8]]},"11":{"position":[[304,8]]},"12":{"position":[[1,8],[43,8],[173,8],[587,7]]},"35":{"position":[[1079,8],[1610,8]]},"36":{"position":[[1914,9],[1938,8],[5498,7]]},"37":{"position":[[872,8],[1403,8]]},"44":{"position":[[151,8],[320,8],[1302,9],[1898,8]]},"51":{"position":[[106,8]]},"58":{"position":[[638,8]]},"59":{"position":[[527,8]]},"60":{"position":[[756,8]]},"61":{"position":[[584,8],[1128,8]]},"62":{"position":[[459,8]]},"63":{"position":[[1284,8]]},"64":{"position":[[322,8]]},"66":{"position":[[159,8]]},"67":{"position":[[122,8]]},"68":{"position":[[135,8]]},"69":{"position":[[1031,7],[2440,8],[2651,8],[2768,8]]},"83":{"position":[[379,11]]},"93":{"position":[[858,8]]},"94":{"position":[[649,8]]},"105":{"position":[[107,12]]},"120":{"position":[[36,8]]},"123":{"position":[[130,7],[857,9]]},"139":{"position":[[116,8]]},"143":{"position":[[647,9]]},"175":{"position":[[117,8]]},"176":{"position":[[487,8]]},"201":{"position":[[1108,8],[1639,8]]},"202":{"position":[[1914,9],[1938,8],[5498,7]]},"203":{"position":[[891,8],[1422,8]]},"204":{"position":[[1783,8]]},"205":{"position":[[1619,8]]},"223":{"position":[[58,7]]},"224":{"position":[[623,7]]},"226":{"position":[[1679,8]]},"227":{"position":[[1660,8]]},"229":{"position":[[74,8],[1532,9]]},"230":{"position":[[124,8],[1377,8]]},"231":{"position":[[136,8],[1109,7]]},"232":{"position":[[132,8]]},"233":{"position":[[142,8]]},"234":{"position":[[214,8]]},"235":{"position":[[125,8],[172,8]]},"253":{"position":[[1297,8]]},"254":{"position":[[245,8]]},"260":{"position":[[13,7]]},"267":{"position":[[3978,7]]},"299":{"position":[[855,11]]},"303":{"position":[[1229,8],[1300,8]]},"304":{"position":[[913,12]]},"337":{"position":[[1,8]]},"355":{"position":[[309,7],[551,8]]},"357":{"position":[[3724,8]]},"459":{"position":[[387,8],[1663,8]]},"462":{"position":[[345,7]]},"467":{"position":[[598,7],[829,8],[1106,8]]},"486":{"position":[[364,12],[475,12],[599,12],[711,12]]},"488":{"position":[[1364,9],[1476,7],[1512,9],[1559,7],[1639,7],[1701,8],[1759,7]]},"497":{"position":[[442,12],[740,12]]},"505":{"position":[[1192,8]]},"507":{"position":[[346,7],[498,7]]},"526":{"position":[[7,7]]},"528":{"position":[[860,7]]},"534":{"position":[[569,9]]},"540":{"position":[[652,8]]},"568":{"position":[[48,8]]},"610":{"position":[[354,7]]},"632":{"position":[[978,9]]},"649":{"position":[[1424,11]]},"737":{"position":[[323,9]]},"769":{"position":[[47,8],[126,8]]}},"keywords":{}}],["require/load",{"_index":5469,"title":{},"content":{"752":{"position":[[255,12]]}},"keywords":{}}],["require_util",{"_index":4312,"title":{},"content":{"488":{"position":[[470,17]]},"621":{"position":[[3323,15]]}},"keywords":{}}],["requiredaccessor",{"_index":2168,"title":{},"content":{"215":{"position":[[297,16]]},"279":{"position":[[297,16]]}},"keywords":{}}],["requiredarg",{"_index":2002,"title":{},"content":{"140":{"position":[[139,12]]},"141":{"position":[[148,12]]},"178":{"position":[[123,12]]},"180":{"position":[[132,12]]}},"keywords":{}}],["requiredbehavior",{"_index":846,"title":{},"content":{"36":{"position":[[10256,16]]},"202":{"position":[[10256,16]]}},"keywords":{}}],["requiredbuff",{"_index":2012,"title":{},"content":{"146":{"position":[[95,14]]},"153":{"position":[[104,14]]}},"keywords":{}}],["requiredbutton",{"_index":3917,"title":{},"content":{"429":{"position":[[1600,14]]}},"keywords":{}}],["requiredc0",{"_index":786,"title":{},"content":{"36":{"position":[[6323,10]]},"202":{"position":[[6323,10]]},"267":{"position":[[4862,10]]}},"keywords":{}}],["requiredcategori",{"_index":2101,"title":{},"content":{"190":{"position":[[131,16]]}},"keywords":{}}],["requiredcharact",{"_index":3952,"title":{},"content":{"435":{"position":[[81,18]]}},"keywords":{}}],["requiredcheckbox",{"_index":3933,"title":{},"content":{"430":{"position":[[140,16]]}},"keywords":{}}],["requiredclass",{"_index":759,"title":{},"content":{"36":{"position":[[5015,13]]},"202":{"position":[[5015,13]]},"224":{"position":[[194,13]]},"267":{"position":[[3496,13]]}},"keywords":{}}],["requiredcolor",{"_index":3752,"title":{},"content":{"379":{"position":[[85,13]]},"380":{"position":[[79,13]]},"381":{"position":[[90,13]]}},"keywords":{}}],["requiredcolumn",{"_index":3782,"title":{},"content":{"390":{"position":[[129,15]]}},"keywords":{}}],["requiredconvert",{"_index":2660,"title":{},"content":{"267":{"position":[[7329,17]]}},"keywords":{}}],["requiredcycl",{"_index":1965,"title":{},"content":{"133":{"position":[[348,13]]}},"keywords":{}}],["requiredd",{"_index":3942,"title":{},"content":{"432":{"position":[[142,12]]}},"keywords":{}}],["requireddefault",{"_index":655,"title":{},"content":{"35":{"position":[[1497,15]]},"37":{"position":[[1290,15]]},"39":{"position":[[232,15]]},"201":{"position":[[1526,15]]},"203":{"position":[[1309,15]]},"204":{"position":[[1670,15]]},"205":{"position":[[1506,15]]}},"keywords":{}}],["requireddelay",{"_index":1958,"title":{},"content":{"130":{"position":[[231,13]]}},"keywords":{}}],["requireddescript",{"_index":638,"title":{},"content":{"33":{"position":[[542,19]]},"214":{"position":[[164,19]]}},"keywords":{}}],["requireddirectori",{"_index":1998,"title":{},"content":{"138":{"position":[[245,17]]},"174":{"position":[[229,17]]}},"keywords":{}}],["requiredfil",{"_index":629,"title":{},"content":{"32":{"position":[[87,12]]}},"keywords":{}}],["requiredfilenam",{"_index":328,"title":{},"content":{"12":{"position":[[144,16]]},"15":{"position":[[386,16]]},"16":{"position":[[386,16]]}},"keywords":{}}],["requiredfold",{"_index":2010,"title":{},"content":{"144":{"position":[[45,14]]}},"keywords":{}}],["requiredformat",{"_index":659,"title":{},"content":{"36":{"position":[[126,14]]},"202":{"position":[[126,14]]},"267":{"position":[[121,14]]}},"keywords":{}}],["requiredful",{"_index":663,"title":{},"content":{"36":{"position":[[335,12]]},"202":{"position":[[335,12]]},"267":{"position":[[330,12]]}},"keywords":{}}],["requiredgroup",{"_index":2709,"title":{},"content":{"283":{"position":[[739,13]]}},"keywords":{}}],["requiredheight",{"_index":3747,"title":{},"content":{"376":{"position":[[117,14]]},"391":{"position":[[160,14]]}},"keywords":{}}],["requiredhost",{"_index":1197,"title":{},"content":{"49":{"position":[[243,12]]}},"keywords":{}}],["requiredicon",{"_index":2092,"title":{},"content":{"189":{"position":[[103,12]]},"424":{"position":[[118,12]]}},"keywords":{}}],["requiredimag",{"_index":3969,"title":{},"content":{"441":{"position":[[56,13]]}},"keywords":{}}],["requirediniti",{"_index":3947,"title":{},"content":{"433":{"position":[[120,15]]}},"keywords":{}}],["requiredinterfac",{"_index":1936,"title":{},"content":{"123":{"position":[[377,17]]}},"keywords":{}}],["requireditem",{"_index":360,"title":{},"content":{"14":{"position":[[244,12]]},"273":{"position":[[304,12]]},"274":{"position":[[378,12]]}},"keywords":{}}],["requiredkey",{"_index":689,"title":{},"content":{"36":{"position":[[1460,11],[3048,11]]},"137":{"position":[[90,11]]},"173":{"position":[[74,11]]},"202":{"position":[[1460,11],[3048,11]]},"267":{"position":[[1455,11],[2347,11]]},"382":{"position":[[65,11]]}},"keywords":{}}],["requiredlength",{"_index":694,"title":{},"content":{"36":{"position":[[1676,14]]},"202":{"position":[[1676,14]]},"267":{"position":[[1671,14]]}},"keywords":{}}],["requiredlimit",{"_index":2669,"title":{},"content":{"267":{"position":[[8452,14]]}},"keywords":{}}],["requiredlow",{"_index":800,"title":{},"content":{"36":{"position":[[6954,13]]},"202":{"position":[[6954,13]]},"267":{"position":[[5555,13]]}},"keywords":{}}],["requiredmargin",{"_index":3772,"title":{},"content":{"386":{"position":[[280,14]]},"388":{"position":[[128,14]]}},"keywords":{}}],["requiredmeta",{"_index":678,"title":{},"content":{"36":{"position":[[855,12]]},"202":{"position":[[855,12]]},"213":{"position":[[244,12]]},"267":{"position":[[850,12]]},"275":{"position":[[253,12]]}},"keywords":{}}],["requiredmicroservic",{"_index":2061,"title":{},"content":{"171":{"position":[[202,20]]}},"keywords":{}}],["requiredminimum",{"_index":650,"title":{},"content":{"35":{"position":[[846,15]]},"37":{"position":[[639,15]]},"201":{"position":[[875,15]]},"203":{"position":[[658,15]]},"204":{"position":[[1045,15]]},"205":{"position":[[881,15]]}},"keywords":{}}],["requirednam",{"_index":630,"title":{},"content":{"33":{"position":[[53,12]]},"35":{"position":[[65,12]]},"37":{"position":[[65,12]]},"135":{"position":[[214,12]]},"143":{"position":[[414,12]]},"201":{"position":[[82,12]]},"203":{"position":[[82,12]]},"204":{"position":[[305,12]]},"205":{"position":[[305,12]]},"206":{"position":[[99,12]]},"207":{"position":[[99,12]]},"266":{"position":[[81,12]]},"268":{"position":[[81,12]]},"269":{"position":[[251,12]]},"270":{"position":[[81,12]]},"271":{"position":[[98,12]]},"272":{"position":[[98,12]]}},"keywords":{}}],["requirednumb",{"_index":2000,"title":{},"content":{"139":{"position":[[171,14]]},"175":{"position":[[172,14]]}},"keywords":{}}],["requiredopt",{"_index":2077,"title":{},"content":{"179":{"position":[[283,14]]},"431":{"position":[[159,14]]}},"keywords":{}}],["requiredpacket",{"_index":2054,"title":{},"content":{"169":{"position":[[100,14]]}},"keywords":{}}],["requiredparamet",{"_index":354,"title":{},"content":{"13":{"position":[[341,17]]},"208":{"position":[[304,17]]},"209":{"position":[[405,17]]}},"keywords":{}}],["requiredpercentag",{"_index":2043,"title":{},"content":{"167":{"position":[[85,18]]}},"keywords":{}}],["requiredposit",{"_index":2108,"title":{},"content":{"192":{"position":[[294,16]]}},"keywords":{}}],["requiredprocessor",{"_index":2693,"title":{},"content":{"276":{"position":[[101,17]]}},"keywords":{}}],["requiredregex",{"_index":2057,"title":{},"content":{"170":{"position":[[161,13]]},"183":{"position":[[167,13]]},"193":{"position":[[159,13]]},"196":{"position":[[161,13]]}},"keywords":{}}],["requiredrespons",{"_index":2679,"title":{},"content":{"267":{"position":[[10490,16]]}},"keywords":{}}],["requiredrout",{"_index":2008,"title":{},"content":{"142":{"position":[[127,13]]},"182":{"position":[[127,13]]}},"keywords":{}}],["requiredrow",{"_index":641,"title":{},"content":{"33":{"position":[[758,12]]}},"keywords":{}}],["requireds",{"_index":2017,"title":{},"content":{"148":{"position":[[100,12]]},"151":{"position":[[107,12]]},"155":{"position":[[102,12]]},"158":{"position":[[109,12]]},"377":{"position":[[117,12]]},"378":{"position":[[119,12]]}},"keywords":{}}],["requiredshown",{"_index":2102,"title":{},"content":{"191":{"position":[[162,13]]}},"keywords":{}}],["requiredstart",{"_index":3860,"title":{},"content":{"418":{"position":[[1354,13]]},"419":{"position":[[1407,13]]},"420":{"position":[[1379,13]]},"443":{"position":[[53,13]]}},"keywords":{}}],["requiredsubwidget",{"_index":3762,"title":{},"content":{"383":{"position":[[520,17]]}},"keywords":{}}],["requiredt",{"_index":857,"title":{},"content":{"38":{"position":[[112,13]]}},"keywords":{}}],["requiredtab",{"_index":3799,"title":{},"content":{"393":{"position":[[82,11]]}},"keywords":{}}],["requiredtarget",{"_index":161,"title":{},"content":{"5":{"position":[[583,14]]},"125":{"position":[[59,14]]},"126":{"position":[[93,14]]},"127":{"position":[[94,14]]},"177":{"position":[[254,14]]},"199":{"position":[[53,14]]},"218":{"position":[[106,14]]},"219":{"position":[[112,14]]},"220":{"position":[[90,14]]},"221":{"position":[[92,14]]},"225":{"position":[[303,14]]},"264":{"position":[[55,14]]},"282":{"position":[[299,14]]},"284":{"position":[[229,14]]},"401":{"position":[[84,14]]},"402":{"position":[[84,14]]},"403":{"position":[[417,14]]},"404":{"position":[[59,14]]},"405":{"position":[[86,14]]},"406":{"position":[[80,14]]},"407":{"position":[[88,14]]},"408":{"position":[[100,14]]},"409":{"position":[[103,14]]},"410":{"position":[[99,14]]},"411":{"position":[[367,14]]},"412":{"position":[[96,14]]},"413":{"position":[[94,14]]},"414":{"position":[[80,14]]},"415":{"position":[[69,14]]},"416":{"position":[[72,14]]},"417":{"position":[[68,14]]},"418":{"position":[[66,14],[793,14]]},"419":{"position":[[100,14],[846,14]]},"420":{"position":[[84,14],[818,14]]},"421":{"position":[[65,14]]},"422":{"position":[[90,14]]},"423":{"position":[[78,14]]},"425":{"position":[[112,14]]},"426":{"position":[[64,14]]},"427":{"position":[[308,14]]},"440":{"position":[[102,14]]},"441":{"position":[[763,14]]},"442":{"position":[[294,14],[1676,14]]},"444":{"position":[[166,14]]}},"keywords":{}}],["requiredtempl",{"_index":2170,"title":{},"content":{"216":{"position":[[272,16]]},"217":{"position":[[269,16]]}},"keywords":{}}],["requiredtext",{"_index":3804,"title":{},"content":{"396":{"position":[[158,12]]},"398":{"position":[[70,12]]},"434":{"position":[[242,12]]}},"keywords":{}}],["requiredtim",{"_index":2014,"title":{},"content":{"147":{"position":[[78,12]]},"149":{"position":[[70,12]]},"150":{"position":[[85,12]]},"152":{"position":[[72,12]]},"154":{"position":[[80,12]]},"156":{"position":[[72,12]]},"157":{"position":[[87,12]]},"159":{"position":[[74,12]]},"160":{"position":[[83,12]]},"161":{"position":[[81,12]]},"162":{"position":[[80,12]]},"163":{"position":[[80,12]]},"164":{"position":[[80,12]]},"165":{"position":[[68,12]]},"418":{"position":[[1667,12],[1795,12],[1920,12]]},"419":{"position":[[1720,12],[1848,12],[1973,12]]},"420":{"position":[[1692,12],[1820,12],[1945,12]]},"436":{"position":[[142,12]]}},"keywords":{}}],["requiredtitl",{"_index":3778,"title":{},"content":{"387":{"position":[[194,13]]},"389":{"position":[[152,13]]}},"keywords":{}}],["requiredtool",{"_index":2080,"title":{},"content":{"184":{"position":[[283,12]]}},"keywords":{}}],["requiredtop",{"_index":2066,"title":{},"content":{"176":{"position":[[310,13]]}},"keywords":{}}],["requiredtyp",{"_index":1974,"title":{},"content":{"134":{"position":[[391,12]]},"136":{"position":[[164,12]]},"168":{"position":[[325,12]]},"181":{"position":[[124,12]]}},"keywords":{}}],["requiredurl",{"_index":2084,"title":{},"content":{"186":{"position":[[142,11]]},"187":{"position":[[158,11]]},"394":{"position":[[71,11]]}},"keywords":{}}],["requiredvalu",{"_index":669,"title":{},"content":{"36":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"202":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"267":{"position":[[572,13]]},"371":{"position":[[127,13]]},"404":{"position":[[1059,13]]},"411":{"position":[[991,13]]},"418":{"position":[[1509,13]]},"419":{"position":[[1562,13]]},"420":{"position":[[1534,13]]},"442":{"position":[[1323,13]]},"444":{"position":[[1239,13]]}},"keywords":{}}],["requiredvari",{"_index":1926,"title":{},"content":{"121":{"position":[[728,16]]}},"keywords":{}}],["requiredwidget",{"_index":2110,"title":{},"content":{"194":{"position":[[118,14]]},"372":{"position":[[82,14]]},"373":{"position":[[520,14]]},"384":{"position":[[377,14]]}},"keywords":{}}],["requiredwidth",{"_index":3723,"title":{},"content":{"369":{"position":[[215,13]]},"375":{"position":[[115,13]]},"399":{"position":[[70,13]]},"418":{"position":[[2013,13]]},"419":{"position":[[2066,13]]},"420":{"position":[[2038,13]]},"438":{"position":[[218,13]]}},"keywords":{}}],["requiredwindow",{"_index":2090,"title":{},"content":{"188":{"position":[[291,14]]}},"keywords":{}}],["requiredwrit",{"_index":1225,"title":{},"content":{"50":{"position":[[267,13]]},"52":{"position":[[229,13]]}},"keywords":{}}],["requiredx",{"_index":3964,"title":{},"content":{"439":{"position":[[51,9]]},"445":{"position":[[52,9]]}},"keywords":{}}],["requirements.txt",{"_index":1858,"title":{},"content":{"105":{"position":[[176,16]]},"229":{"position":[[1439,16]]}},"keywords":{}}],["research",{"_index":4063,"title":{},"content":{"459":{"position":[[745,8],[1538,8]]}},"keywords":{}}],["resend",{"_index":2880,"title":{},"content":{"303":{"position":[[2250,9],[2299,6]]}},"keywords":{}}],["reserv",{"_index":1798,"title":{},"content":{"99":{"position":[[1029,8],[1061,8]]},"192":{"position":[[95,8]]},"310":{"position":[[445,9],[472,11]]},"527":{"position":[[401,7]]}},"keywords":{}}],["reset",{"_index":1493,"title":{"72":{"position":[[0,6]]}},"content":{"71":{"position":[[382,7]]},"72":{"position":[[5,5],[29,5],[150,9],[280,5],[382,5]]},"73":{"position":[[37,5],[157,7],[305,5],[335,5]]},"74":{"position":[[40,5],[166,7],[320,5],[350,5]]},"321":{"position":[[1731,5]]}},"keywords":{}}],["reset(self",{"_index":1504,"title":{},"content":{"72":{"position":[[331,12]]}},"keywords":{}}],["resid",{"_index":4514,"title":{},"content":{"578":{"position":[[776,8]]}},"keywords":{}}],["resiz",{"_index":4557,"title":{},"content":{"596":{"position":[[153,7]]}},"keywords":{}}],["resolut",{"_index":2854,"title":{},"content":{"299":{"position":[[805,10],[882,11]]}},"keywords":{}}],["resolv",{"_index":2511,"title":{},"content":{"253":{"position":[[822,10]]},"429":{"position":[[1160,8]]},"465":{"position":[[476,7]]},"505":{"position":[[415,7]]}},"keywords":{}}],["resourc",{"_index":2047,"title":{},"content":{"168":{"position":[[98,9]]},"289":{"position":[[335,9],[404,9]]},"310":{"position":[[457,8]]},"512":{"position":[[285,9]]},"514":{"position":[[1002,10]]}},"keywords":{}}],["respect",{"_index":2875,"title":{},"content":{"303":{"position":[[1865,7]]},"404":{"position":[[700,10]]}},"keywords":{}}],["respond",{"_index":1697,"title":{},"content":{"87":{"position":[[159,9]]},"231":{"position":[[1034,7]]},"395":{"position":[[84,7]]},"514":{"position":[[452,8]]}},"keywords":{}}],["respons",{"_index":918,"title":{"218":{"position":[[0,9]]},"233":{"position":[[7,8]]}},"content":{"42":{"position":[[537,9]]},"43":{"position":[[677,9],[6297,9]]},"44":{"position":[[310,9]]},"54":{"position":[[571,8]]},"63":{"position":[[311,8],[978,8],[1121,8],[1576,8],[1835,8],[1892,9],[2546,8],[2595,8],[2629,8],[2701,8],[2809,9]]},"66":{"position":[[38,8],[79,8],[255,8],[269,8],[341,8],[453,9],[466,8]]},"69":{"position":[[2381,8],[5007,8]]},"79":{"position":[[196,8],[239,8]]},"90":{"position":[[456,10],[565,9]]},"95":{"position":[[242,8]]},"218":{"position":[[57,8],[151,8],[209,8]]},"219":{"position":[[63,8],[163,8],[227,8]]},"231":{"position":[[1126,10]]},"233":{"position":[[79,9],[181,8],[429,8],[520,8],[741,8],[1110,9]]},"267":{"position":[[10387,8],[10582,9],[10648,8]]},"459":{"position":[[332,16]]},"469":{"position":[[192,11]]},"476":{"position":[[1069,15]]},"623":{"position":[[433,9]]},"624":{"position":[[399,9]]}},"keywords":{}}],["rest",{"_index":1026,"title":{},"content":{"44":{"position":[[103,4]]}},"keywords":{}}],["restart",{"_index":518,"title":{},"content":{"23":{"position":[[284,8]]},"46":{"position":[[478,7]]},"85":{"position":[[1577,7]]},"483":{"position":[[192,10],[863,7]]},"488":{"position":[[1531,7]]},"505":{"position":[[1130,7]]}},"keywords":{}}],["restor",{"_index":4558,"title":{},"content":{"596":{"position":[[217,8]]}},"keywords":{}}],["restrict",{"_index":2178,"title":{"223":{"position":[[0,11]]}},"content":{"223":{"position":[[38,10],[176,11]]},"364":{"position":[[1087,11]]},"464":{"position":[[329,10]]},"466":{"position":[[179,8],[476,11]]},"467":{"position":[[163,10]]},"540":{"position":[[750,10]]}},"keywords":{}}],["result",{"_index":207,"title":{},"content":{"6":{"position":[[243,6],[765,6]]},"7":{"position":[[784,6]]},"8":{"position":[[297,6]]},"9":{"position":[[320,6],[652,6]]},"36":{"position":[[10616,9]]},"44":{"position":[[1747,6],[1798,7],[2052,7],[3539,7]]},"57":{"position":[[100,7]]},"67":{"position":[[1025,6]]},"211":{"position":[[142,6]]},"227":{"position":[[5010,7]]},"260":{"position":[[231,9]]},"328":{"position":[[1782,7]]},"345":{"position":[[344,9]]},"357":{"position":[[684,7]]},"487":{"position":[[1144,6],[1616,6]]},"548":{"position":[[87,6],[279,6],[299,6]]},"566":{"position":[[354,9]]},"605":{"position":[[528,8]]},"644":{"position":[[1088,9]]},"681":{"position":[[1454,7]]},"682":{"position":[[1221,7]]},"683":{"position":[[887,7]]},"684":{"position":[[768,7]]},"688":{"position":[[740,7]]},"699":{"position":[[359,6],[418,6],[680,6]]}},"keywords":{}}],["result.key",{"_index":5178,"title":{},"content":{"699":{"position":[[552,11]]}},"keywords":{}}],["result['default",{"_index":5179,"title":{},"content":{"699":{"position":[[596,17]]}},"keywords":{}}],["resum",{"_index":2779,"title":{},"content":{"289":{"position":[[1194,6]]},"304":{"position":[[2428,7]]},"483":{"position":[[1279,6]]},"544":{"position":[[358,7]]},"599":{"position":[[26,6]]}},"keywords":{}}],["retain",{"_index":4110,"title":{},"content":{"465":{"position":[[4,6],[147,6],[396,6],[631,6]]}},"keywords":{}}],["retent",{"_index":4109,"title":{"465":{"position":[[3,9]]}},"content":{},"keywords":{}}],["retri",{"_index":2886,"title":{},"content":{"304":{"position":[[487,5]]},"505":{"position":[[222,5],[289,8],[314,5]]},"607":{"position":[[432,5],[546,7]]},"617":{"position":[[675,5]]}},"keywords":{}}],["retriev",{"_index":757,"title":{"622":{"position":[[0,10]]}},"content":{"36":{"position":[[4878,8],[8870,8]]},"136":{"position":[[325,8]]},"181":{"position":[[285,8]]},"202":{"position":[[4878,8],[8870,8]]},"499":{"position":[[148,8]]},"618":{"position":[[60,9]]},"663":{"position":[[153,9]]},"675":{"position":[[121,8]]},"729":{"position":[[70,8]]},"761":{"position":[[149,8]]},"772":{"position":[[176,8]]}},"keywords":{}}],["return",{"_index":775,"title":{},"content":{"36":{"position":[[5694,6],[6050,6],[8311,6],[9274,6],[9463,6]]},"56":{"position":[[439,9]]},"59":{"position":[[82,9],[124,7],[950,8]]},"60":{"position":[[274,8],[1348,9]]},"61":{"position":[[2248,9]]},"62":{"position":[[195,7],[808,9],[1250,9]]},"63":{"position":[[1992,9],[2434,9]]},"64":{"position":[[526,9]]},"69":{"position":[[2366,6],[2510,6],[2946,7],[3279,6],[3497,8],[4015,6],[4094,7],[4572,6],[4633,8]]},"71":{"position":[[232,8]]},"75":{"position":[[178,6],[237,7],[383,8],[482,8],[818,6],[897,6],[1187,6],[1289,6],[1322,6],[1395,6],[1632,6],[1812,6]]},"76":{"position":[[95,8],[203,6],[261,7],[339,9],[416,8],[508,8],[837,6],[923,6],[966,7]]},"77":{"position":[[202,6],[260,7],[432,8],[524,8],[699,6],[786,6],[829,7]]},"78":{"position":[[201,6],[260,7],[431,8],[521,8],[692,6],[785,6],[835,7]]},"79":{"position":[[405,6],[476,7],[562,8],[698,8],[913,7],[994,6],[1113,6],[1171,7]]},"80":{"position":[[303,6],[451,6]]},"84":{"position":[[939,8]]},"85":{"position":[[1380,7]]},"94":{"position":[[110,7],[187,7],[264,7],[348,7]]},"202":{"position":[[5694,6],[6050,6],[8311,6],[9274,6],[9463,6]]},"224":{"position":[[778,6],[882,6],[999,6],[1217,6],[1332,6],[1469,6]]},"227":{"position":[[4837,8],[4926,8],[5000,9],[5067,6],[5250,9]]},"263":{"position":[[802,7],[885,7],[1070,7],[1213,7]]},"267":{"position":[[4174,6],[4530,6],[6970,6],[7557,6],[7724,6]]},"302":{"position":[[644,7]]},"328":{"position":[[359,6]]},"384":{"position":[[263,7]]},"429":{"position":[[1133,7]]},"487":{"position":[[1475,6]]},"499":{"position":[[826,8],[1158,8]]},"536":{"position":[[205,9]]},"618":{"position":[[409,6]]},"623":{"position":[[208,9]]},"624":{"position":[[66,8],[167,9]]},"627":{"position":[[179,9]]},"628":{"position":[[1,6]]},"632":{"position":[[152,9]]},"646":{"position":[[1,7],[82,8]]},"647":{"position":[[1,7]]},"648":{"position":[[1,7]]},"649":{"position":[[1,7]]},"650":{"position":[[1,7]]},"651":{"position":[[1,7]]},"652":{"position":[[1,7]]},"653":{"position":[[1,7],[302,8],[421,8]]},"654":{"position":[[1,7]]},"661":{"position":[[1,7]]},"662":{"position":[[1,7],[105,8]]},"663":{"position":[[1,7]]},"664":{"position":[[1,7]]},"665":{"position":[[1,7]]},"666":{"position":[[1,7]]},"667":{"position":[[1,7]]},"668":{"position":[[1,7]]},"671":{"position":[[646,6],[845,6]]},"673":{"position":[[1,7],[89,7]]},"675":{"position":[[95,8]]},"676":{"position":[[201,8],[381,6]]},"681":{"position":[[398,7],[465,7],[580,7]]},"682":{"position":[[278,7]]},"683":{"position":[[363,7]]},"684":{"position":[[253,7]]},"685":{"position":[[209,7]]},"686":{"position":[[191,7]]},"687":{"position":[[305,7]]},"688":{"position":[[141,7]]},"690":{"position":[[28,7]]},"695":{"position":[[1,7]]},"697":{"position":[[1,7]]},"698":{"position":[[1,7]]},"699":{"position":[[1,7]]},"701":{"position":[[1,7]]},"702":{"position":[[1,7],[57,7]]},"703":{"position":[[1,7],[42,8],[186,8],[345,7]]},"705":{"position":[[1,7]]},"706":{"position":[[1,7]]},"707":{"position":[[1,7],[45,6]]},"709":{"position":[[1,7]]},"710":{"position":[[1,7]]},"715":{"position":[[1,7],[47,6]]},"722":{"position":[[1,7]]},"723":{"position":[[1,7]]},"724":{"position":[[1,7],[44,6]]},"731":{"position":[[1,7],[158,6]]},"732":{"position":[[1,7]]},"733":{"position":[[1,7]]},"743":{"position":[[21,7]]},"744":{"position":[[27,7]]},"758":{"position":[[188,6]]},"760":{"position":[[1,7],[146,7]]},"761":{"position":[[1,7]]},"762":{"position":[[1,7]]},"766":{"position":[[1,6]]},"767":{"position":[[1,6]]},"768":{"position":[[1,6],[48,7],[296,6]]},"773":{"position":[[163,8]]}},"keywords":{}}],["reus",{"_index":2350,"title":{},"content":{"230":{"position":[[1667,6]]},"253":{"position":[[8331,5]]},"499":{"position":[[811,5],[1143,5]]},"676":{"position":[[668,5],[1166,5]]}},"keywords":{}}],["reusabl",{"_index":2567,"title":{},"content":{"253":{"position":[[8290,11]]},"485":{"position":[[264,8]]},"500":{"position":[[132,8]]}},"keywords":{}}],["revalid",{"_index":923,"title":{},"content":{"42":{"position":[[604,10]]},"43":{"position":[[6364,10]]}},"keywords":{}}],["revers",{"_index":1288,"title":{},"content":{"54":{"position":[[3519,7]]},"67":{"position":[[1135,7]]},"69":{"position":[[3653,7],[3820,7]]},"240":{"position":[[1460,7]]}},"keywords":{}}],["review",{"_index":4100,"title":{},"content":{"463":{"position":[[21,6],[134,6]]},"469":{"position":[[341,6]]},"476":{"position":[[263,7]]},"480":{"position":[[226,7]]}},"keywords":{}}],["rewrit",{"_index":4256,"title":{},"content":{"483":{"position":[[110,7]]}},"keywords":{}}],["rf",{"_index":3016,"title":{},"content":{"318":{"position":[[355,2]]},"482":{"position":[[1129,2]]}},"keywords":{}}],["rgb",{"_index":3753,"title":{},"content":{"379":{"position":[[247,3],[293,3],[338,3]]},"380":{"position":[[241,3],[287,3],[332,3]]},"381":{"position":[[252,3],[298,3],[343,3]]}},"keywords":{}}],["rhel",{"_index":1148,"title":{},"content":{"46":{"position":[[292,4],[701,4]]},"324":{"position":[[569,4],[583,4]]}},"keywords":{}}],["rhel8",{"_index":3155,"title":{},"content":{"324":{"position":[[1594,5]]}},"keywords":{}}],["rich",{"_index":2478,"title":{},"content":{"247":{"position":[[97,4]]}},"keywords":{}}],["right",{"_index":542,"title":{"466":{"position":[[21,7]]},"608":{"position":[[0,5]]}},"content":{"24":{"position":[[571,5]]},"44":{"position":[[554,5]]},"84":{"position":[[651,5],[795,5]]},"95":{"position":[[348,6]]},"304":{"position":[[3763,5]]},"305":{"position":[[621,5],[791,5]]},"322":{"position":[[269,5]]},"359":{"position":[[1053,6],[1156,6],[1212,6]]},"362":{"position":[[277,5]]},"363":{"position":[[250,6]]},"404":{"position":[[519,5],[656,6],[673,7],[789,5]]},"459":{"position":[[1710,6]]},"466":{"position":[[93,5],[170,5],[262,6],[294,6],[364,6],[392,5],[527,5]]},"467":{"position":[[1322,6]]},"505":{"position":[[1068,5]]},"525":{"position":[[405,5]]},"530":{"position":[[369,5]]},"568":{"position":[[260,5]]},"573":{"position":[[1,5]]},"592":{"position":[[251,5]]},"593":{"position":[[538,5]]},"601":{"position":[[289,5]]},"608":{"position":[[1,5]]}},"keywords":{}}],["rm",{"_index":1683,"title":{},"content":{"85":{"position":[[592,2]]},"318":{"position":[[351,2]]},"321":{"position":[[116,2]]}},"keywords":{}}],["roadmap",{"_index":1861,"title":{"106":{"position":[[0,7]]}},"content":{},"keywords":{}}],["robust",{"_index":1331,"title":{},"content":{"59":{"position":[[257,7]]}},"keywords":{}}],["rollup",{"_index":3877,"title":{"424":{"position":[[0,7]]}},"content":{"424":{"position":[[77,6],[435,6],[569,6],[657,6],[781,6]]}},"keywords":{}}],["room",{"_index":1782,"title":{},"content":{"99":{"position":[[52,4]]}},"keywords":{}}],["root",{"_index":409,"title":{},"content":{"20":{"position":[[307,6]]},"24":{"position":[[885,4]]},"253":{"position":[[1726,4],[1885,4]]},"292":{"position":[[1230,4]]},"324":{"position":[[316,4]]},"350":{"position":[[1313,4]]}},"keywords":{}}],["rootless",{"_index":3137,"title":{"324":{"position":[[20,8]]}},"content":{"324":{"position":[[644,8],[1322,8],[2411,8],[3790,8]]}},"keywords":{}}],["rootless_storage_path",{"_index":3153,"title":{},"content":{"324":{"position":[[1259,22]]}},"keywords":{}}],["rotat",{"_index":4246,"title":{},"content":{"481":{"position":[[396,6],[478,6],[511,6]]}},"keywords":{}}],["rout",{"_index":68,"title":{},"content":{"2":{"position":[[668,6]]},"135":{"position":[[859,5]]},"142":{"position":[[26,5],[44,5],[148,5]]},"182":{"position":[[26,5],[44,5],[148,5]]},"240":{"position":[[1497,6]]},"298":{"position":[[759,6]]},"338":{"position":[[326,5],[1568,5]]}},"keywords":{}}],["route_prefix",{"_index":2006,"title":{"142":{"position":[[0,13]]},"182":{"position":[[0,13]]}},"content":{"142":{"position":[[243,12]]},"182":{"position":[[266,12]]}},"keywords":{}}],["router",{"_index":1195,"title":{"116":{"position":[[0,7]]},"143":{"position":[[0,7]]},"336":{"position":[[44,7]]},"719":{"position":[[0,8]]}},"content":{"48":{"position":[[149,6]]},"51":{"position":[[642,7]]},"112":{"position":[[318,7]]},"116":{"position":[[1,7]]},"135":{"position":[[787,6]]},"143":{"position":[[8,6],[104,6],[313,7],[439,6]]},"235":{"position":[[945,7]]},"246":{"position":[[241,6]]},"300":{"position":[[249,8],[283,6]]},"301":{"position":[[1181,8],[1199,7],[1302,8],[1358,7]]},"336":{"position":[[110,6]]},"338":{"position":[[156,7],[309,6],[1456,6],[1855,6]]},"719":{"position":[[51,8]]},"720":{"position":[[19,7],[184,7],[192,6],[244,7],[279,6]]},"721":{"position":[[22,7],[152,7]]},"722":{"position":[[23,7]]},"723":{"position":[[11,6],[48,6],[218,7],[251,6]]},"724":{"position":[[31,8],[112,6],[995,6]]},"725":{"position":[[42,8],[228,6],[308,7]]},"726":{"position":[[41,8],[226,6],[305,7]]},"727":{"position":[[30,7],[80,7],[123,6],[339,6]]},"728":{"position":[[31,6],[381,6]]}},"keywords":{}}],["router[0",{"_index":5371,"title":{},"content":{"724":{"position":[[1039,12]]}},"keywords":{}}],["router[1",{"_index":5372,"title":{},"content":{"724":{"position":[[1070,12]]}},"keywords":{}}],["router[2]}"",{"_index":5373,"title":{},"content":{"724":{"position":[[1106,18]]}},"keywords":{}}],["router[3",{"_index":5374,"title":{},"content":{"724":{"position":[[1159,12]]}},"keywords":{}}],["router[4",{"_index":5375,"title":{},"content":{"724":{"position":[[1192,12]]}},"keywords":{}}],["router[5",{"_index":5376,"title":{},"content":{"724":{"position":[[1224,12]]}},"keywords":{}}],["router[6]}"",{"_index":5377,"title":{},"content":{"724":{"position":[[1253,18]]}},"keywords":{}}],["router[7",{"_index":5379,"title":{},"content":{"724":{"position":[[1303,12]]}},"keywords":{}}],["router[8]}"",{"_index":5380,"title":{},"content":{"724":{"position":[[1330,18]]}},"keywords":{}}],["router_cmd",{"_index":5387,"title":{"727":{"position":[[0,11]]}},"content":{},"keywords":{}}],["router_cmd("<rout",{"_index":5388,"title":{},"content":{"727":{"position":[[174,27]]}},"keywords":{}}],["router_cmd("inst"",{"_index":5389,"title":{},"content":{"727":{"position":[[471,28]]}},"keywords":{}}],["router_info",{"_index":5364,"title":{},"content":{"724":{"position":[[309,11],[846,11],[1005,12]]}},"keywords":{}}],["router_info.each",{"_index":5365,"title":{},"content":{"724":{"position":[[345,16]]}},"keywords":{}}],["router_int",{"_index":5357,"title":{},"content":{"722":{"position":[[133,14]]}},"keywords":{}}],["router_listen_address",{"_index":3270,"title":{},"content":{"338":{"position":[[1121,21],[1614,21]]}},"keywords":{}}],["router_nam",{"_index":5356,"title":{},"content":{"722":{"position":[[92,12]]},"724":{"position":[[365,13],[493,15],[884,12]]}},"keywords":{}}],["router_port",{"_index":3269,"title":{},"content":{"338":{"position":[[952,11],[1510,11],[1535,11]]}},"keywords":{}}],["router_protocol_cmd",{"_index":5390,"title":{"728":{"position":[[0,20]]}},"content":{},"keywords":{}}],["router_protocol_cmd("<rout",{"_index":5391,"title":{},"content":{"728":{"position":[[188,36]]}},"keywords":{}}],["router_protocol_cmd("inst"",{"_index":5392,"title":{},"content":{"728":{"position":[[785,37],[903,37]]}},"keywords":{}}],["router_st",{"_index":4696,"title":{},"content":{"621":{"position":[[3421,12]]}},"keywords":{}}],["routin",{"_index":4404,"title":{},"content":{"504":{"position":[[791,7]]}},"keywords":{}}],["row",{"_index":634,"title":{},"content":{"33":{"position":[[317,4],[333,3],[386,4],[785,4]]},"39":{"position":[[37,3],[87,4],[125,4],[142,4]]},"401":{"position":[[36,4],[372,3],[402,3]]},"402":{"position":[[36,4],[432,3],[456,3]]}},"keywords":{}}],["row_column",{"_index":635,"title":{},"content":{"33":{"position":[[354,10],[445,10],[694,10]]}},"keywords":{}}],["rpc",{"_index":926,"title":{"88":{"position":[[5,3]]}},"content":{"42":{"position":[[665,3]]},"43":{"position":[[6406,3]]},"88":{"position":[[57,3]]}},"keywords":{}}],["rpc"",{"_index":900,"title":{},"content":{"42":{"position":[[211,9]]},"43":{"position":[[4754,9]]}},"keywords":{}}],["rsa",{"_index":445,"title":{},"content":{"20":{"position":[[926,3]]},"27":{"position":[[829,3]]},"28":{"position":[[156,3]]}},"keywords":{}}],["rsa:4096",{"_index":411,"title":{},"content":{"20":{"position":[[335,8],[868,8]]}},"keywords":{}}],["rsp_packet",{"_index":1398,"title":{},"content":{"63":{"position":[[1053,10],[1163,11]]}},"keywords":{}}],["rsp_templat",{"_index":1397,"title":{},"content":{"63":{"position":[[1036,12],[1075,12]]}},"keywords":{}}],["rspec",{"_index":1851,"title":{},"content":{"104":{"position":[[107,5]]}},"keywords":{}}],["rtsct",{"_index":1980,"title":{},"content":{"135":{"position":[[382,6],[761,6]]},"338":{"position":[[788,6]]}},"keywords":{}}],["rubi",{"_index":192,"title":{"104":{"position":[[0,4]]},"251":{"position":[[0,4]]},"476":{"position":[[0,4]]},"502":{"position":[[42,4]]},"508":{"position":[[12,4]]}},"content":{"6":{"position":[[25,5],[62,4],[91,4],[181,4],[217,4],[478,4]]},"11":{"position":[[118,4],[228,4],[313,4],[342,5]]},"12":{"position":[[12,4],[32,4]]},"36":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8026,4],[9182,4]]},"49":{"position":[[833,4]]},"50":{"position":[[720,4]]},"51":{"position":[[876,4]]},"52":{"position":[[200,5],[912,4]]},"69":{"position":[[685,6],[991,4],[1705,4],[1795,4],[1862,4],[4610,4]]},"71":{"position":[[148,4]]},"72":{"position":[[254,4]]},"73":{"position":[[117,4]]},"74":{"position":[[123,4]]},"75":{"position":[[610,4]]},"76":{"position":[[791,4]]},"77":{"position":[[652,4]]},"78":{"position":[[649,4]]},"79":{"position":[[933,4]]},"80":{"position":[[194,4]]},"81":{"position":[[23,4]]},"83":{"position":[[209,5],[1559,4],[2797,4]]},"85":{"position":[[1485,4]]},"91":{"position":[[70,5]]},"95":{"position":[[138,4],[265,4]]},"108":{"position":[[78,4]]},"112":{"position":[[518,4]]},"121":{"position":[[545,4],[671,4]]},"123":{"position":[[140,4],[670,4]]},"125":{"position":[[122,4]]},"126":{"position":[[164,4]]},"127":{"position":[[167,4]]},"134":{"position":[[549,4],[701,4]]},"140":{"position":[[213,4],[232,4]]},"143":{"position":[[460,4]]},"178":{"position":[[197,4],[252,4]]},"202":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8026,4],[9182,4]]},"224":{"position":[[249,4],[546,4]]},"227":{"position":[[563,5]]},"229":{"position":[[1228,4]]},"230":{"position":[[255,4]]},"231":{"position":[[279,4],[1256,4]]},"232":{"position":[[311,4]]},"233":{"position":[[336,4]]},"239":{"position":[[327,4]]},"251":{"position":[[58,4],[137,4],[196,5]]},"253":{"position":[[1275,4],[1331,4],[1406,7],[7417,5]]},"259":{"position":[[1782,6]]},"263":{"position":[[968,4],[1080,4],[1265,4]]},"267":{"position":[[3026,4],[3171,6],[3551,4],[3882,4],[6686,4],[7486,4],[10534,4],[10760,4]]},"276":{"position":[[192,4],[414,4]]},"297":{"position":[[479,4],[693,4]]},"304":{"position":[[2104,4]]},"337":{"position":[[17,4],[35,5],[99,4]]},"475":{"position":[[22,4],[59,4],[193,4]]},"476":{"position":[[63,4],[322,5],[345,4],[617,4],[679,5],[1821,4],[4652,4]]},"478":{"position":[[451,5]]},"479":{"position":[[1,4]]},"480":{"position":[[647,5],[1325,5]]},"481":{"position":[[219,4]]},"483":{"position":[[601,5]]},"485":{"position":[[517,5]]},"486":{"position":[[306,5]]},"487":{"position":[[754,5]]},"488":{"position":[[1144,4],[2242,5]]},"493":{"position":[[99,4],[123,4],[197,4],[334,4]]},"495":{"position":[[435,5]]},"496":{"position":[[429,4],[581,4]]},"497":{"position":[[305,5]]},"499":{"position":[[535,5]]},"500":{"position":[[321,5]]},"501":{"position":[[597,5]]},"502":{"position":[[481,4]]},"507":{"position":[[244,4]]},"508":{"position":[[12,4],[235,4]]},"548":{"position":[[408,4],[681,4]]},"585":{"position":[[613,4]]},"605":{"position":[[61,4]]},"609":{"position":[[231,4]]},"610":{"position":[[339,4]]},"611":{"position":[[124,5]]},"612":{"position":[[955,5]]},"616":{"position":[[46,4],[62,4]]},"623":{"position":[[219,4],[653,4]]},"624":{"position":[[178,4],[619,4]]},"627":{"position":[[190,4],[584,4]]},"628":{"position":[[57,4],[602,4]]},"629":{"position":[[40,4],[483,4]]},"630":{"position":[[40,4],[380,4]]},"632":{"position":[[449,4],[1303,4],[1454,4]]},"634":{"position":[[75,4],[199,4]]},"636":{"position":[[29,4],[1279,4],[1359,4]]},"637":{"position":[[191,4],[1501,4]]},"638":{"position":[[196,4],[1522,4]]},"639":{"position":[[265,4],[1555,4]]},"640":{"position":[[57,4],[1355,4]]},"641":{"position":[[214,4],[1572,4]]},"642":{"position":[[219,4],[1593,4]]},"643":{"position":[[288,4],[1626,4]]},"644":{"position":[[33,4],[402,4]]},"645":{"position":[[34,4],[198,4],[228,4]]},"646":{"position":[[161,4],[286,4]]},"647":{"position":[[65,4],[194,4]]},"648":{"position":[[67,4],[313,4]]},"649":{"position":[[48,4],[399,4]]},"650":{"position":[[82,4],[96,4],[394,4]]},"651":{"position":[[86,4],[460,4]]},"652":{"position":[[227,4],[622,4],[646,4]]},"653":{"position":[[52,4],[431,4]]},"654":{"position":[[65,4],[323,4]]},"656":{"position":[[327,4],[795,4],[1053,4]]},"657":{"position":[[246,4],[708,5],[738,4]]},"658":{"position":[[473,5],[905,4],[1039,4]]},"659":{"position":[[126,4],[377,4]]},"660":{"position":[[48,4],[516,5],[547,4]]},"661":{"position":[[79,4],[377,4]]},"662":{"position":[[203,4],[583,5],[614,4]]},"663":{"position":[[247,4],[443,4]]},"664":{"position":[[48,4],[172,4]]},"665":{"position":[[47,4],[176,4]]},"666":{"position":[[25,4],[271,4]]},"667":{"position":[[24,4],[349,4]]},"668":{"position":[[78,4],[342,4]]},"669":{"position":[[366,4],[642,5],[672,4]]},"670":{"position":[[76,4],[527,5],[557,4]]},"671":{"position":[[228,4],[521,5],[551,4]]},"672":{"position":[[79,4],[339,5],[369,4]]},"673":{"position":[[202,4],[243,4]]},"675":{"position":[[141,4],[307,4]]},"676":{"position":[[52,4],[413,4]]},"677":{"position":[[47,4],[255,4]]},"678":{"position":[[59,4],[275,4]]},"679":{"position":[[55,4],[289,4]]},"681":{"position":[[351,4],[555,4],[1372,5],[1481,4]]},"682":{"position":[[255,4],[1139,5],[1248,4]]},"683":{"position":[[589,4],[914,4]]},"684":{"position":[[228,4],[795,4]]},"685":{"position":[[184,4],[984,5],[1015,4]]},"686":{"position":[[166,4],[1035,5],[1066,4]]},"687":{"position":[[280,4],[517,4],[761,4]]},"688":{"position":[[116,4],[767,4]]},"690":{"position":[[110,4],[495,4]]},"691":{"position":[[62,4],[350,4]]},"692":{"position":[[63,4],[352,4]]},"693":{"position":[[85,4],[235,4]]},"694":{"position":[[86,4],[237,4]]},"695":{"position":[[51,4]]},"696":{"position":[[66,4],[205,4]]},"697":{"position":[[81,4]]},"698":{"position":[[49,4]]},"699":{"position":[[72,4],[344,4]]},"700":{"position":[[214,4],[1956,4]]},"701":{"position":[[132,4]]},"702":{"position":[[95,4],[346,4]]},"703":{"position":[[86,4],[369,4]]},"705":{"position":[[59,4]]},"706":{"position":[[73,4],[187,4]]},"709":{"position":[[111,4],[246,4]]},"710":{"position":[[62,4]]},"711":{"position":[[58,4],[415,4]]},"712":{"position":[[63,4],[205,4]]},"713":{"position":[[92,4],[392,4]]},"714":{"position":[[91,4],[388,4]]},"715":{"position":[[291,4]]},"716":{"position":[[105,4],[632,4]]},"717":{"position":[[161,4],[469,4]]},"718":{"position":[[168,4],[591,5],[766,4]]},"720":{"position":[[28,4],[361,4]]},"721":{"position":[[31,4],[161,4]]},"722":{"position":[[59,4]]},"723":{"position":[[104,4],[227,4]]},"724":{"position":[[285,4]]},"725":{"position":[[89,4],[374,4]]},"726":{"position":[[88,4],[370,4]]},"727":{"position":[[151,4],[447,4]]},"728":{"position":[[165,4],[595,5],[770,4]]},"729":{"position":[[135,5]]},"730":{"position":[[21,4],[194,4]]},"731":{"position":[[36,4],[166,4]]},"732":{"position":[[34,4],[61,4]]},"733":{"position":[[30,4]]},"734":{"position":[[56,4],[189,4]]},"736":{"position":[[385,4]]},"737":{"position":[[308,4],[374,4],[728,4]]},"739":{"position":[[54,4],[475,4]]},"740":{"position":[[35,4],[254,4]]},"741":{"position":[[27,4]]},"742":{"position":[[47,4],[267,4]]},"743":{"position":[[69,4]]},"744":{"position":[[307,4]]},"745":{"position":[[160,4],[454,4]]},"746":{"position":[[229,4],[914,4]]},"748":{"position":[[52,4],[245,4]]},"749":{"position":[[72,4]]},"750":{"position":[[136,4],[278,4]]},"751":{"position":[[135,4]]},"752":{"position":[[496,4]]},"754":{"position":[[491,4],[790,4],[948,4],[1051,4]]},"756":{"position":[[87,4]]},"757":{"position":[[78,4]]},"758":{"position":[[283,4]]},"760":{"position":[[51,4],[171,4]]},"761":{"position":[[43,4],[198,4]]},"762":{"position":[[43,4],[356,4]]},"763":{"position":[[43,4],[373,4]]},"764":{"position":[[76,4]]},"766":{"position":[[105,4]]},"767":{"position":[[66,4]]},"768":{"position":[[60,6],[116,4],[304,4]]},"769":{"position":[[156,4],[338,4]]},"771":{"position":[[97,4]]},"772":{"position":[[68,4],[211,4]]},"773":{"position":[[216,4],[394,4]]},"774":{"position":[[40,4],[289,4]]},"775":{"position":[[42,4],[295,4]]}},"keywords":{}}],["rubygem",{"_index":1607,"title":{},"content":{"83":{"position":[[1689,9]]},"229":{"position":[[1035,8]]},"254":{"position":[[139,7],[1953,7]]},"334":{"position":[[605,7]]}},"keywords":{}}],["rubygems_url",{"_index":1611,"title":{},"content":{"83":{"position":[[1783,13]]},"766":{"position":[[322,15]]},"767":{"position":[[1105,15],[1130,15]]},"768":{"position":[[408,15],[592,16]]}},"keywords":{}}],["rubygems_url=https://rubygems.org",{"_index":1617,"title":{},"content":{"83":{"position":[[1893,33]]}},"keywords":{}}],["rule",{"_index":3233,"title":{},"content":{"329":{"position":[[185,5],[989,4]]},"352":{"position":[[173,5]]},"355":{"position":[[345,4]]},"356":{"position":[[550,4]]},"510":{"position":[[92,6]]}},"keywords":{}}],["rule_fil",{"_index":3412,"title":{},"content":{"352":{"position":[[436,11]]}},"keywords":{}}],["run",{"_index":225,"title":{"84":{"position":[[0,7]]},"85":{"position":[[0,7]]},"292":{"position":[[0,4]]},"319":{"position":[[10,3]]},"337":{"position":[[22,7]]},"347":{"position":[[7,7]]},"451":{"position":[[0,7]]},"607":{"position":[[0,7]]},"609":{"position":[[0,7]]}},"content":{"6":{"position":[[650,5]]},"11":{"position":[[208,4]]},"20":{"position":[[269,4]]},"23":{"position":[[346,3]]},"27":{"position":[[211,3],[640,3],[766,3]]},"28":{"position":[[90,3]]},"36":{"position":[[4582,4],[4665,4],[4727,3],[8574,4],[8657,4],[8719,3]]},"44":{"position":[[26,3],[163,3],[332,3],[431,7],[1986,4],[2620,3],[3295,7]]},"46":{"position":[[103,3],[173,3],[272,7],[530,7],[729,7],[926,3],[995,3],[1621,7]]},"54":{"position":[[3402,3],[3475,4]]},"69":{"position":[[3166,3],[3642,3]]},"73":{"position":[[350,4]]},"74":{"position":[[365,4]]},"83":{"position":[[394,3],[2002,7],[2018,7],[2197,3],[2263,7],[3114,8]]},"84":{"position":[[36,7],[361,7],[557,3],[565,3]]},"85":{"position":[[154,3],[537,3],[616,3],[877,3]]},"103":{"position":[[131,3],[208,3],[397,3]]},"104":{"position":[[35,3]]},"105":{"position":[[42,3],[225,3]]},"112":{"position":[[432,3]]},"117":{"position":[[144,7]]},"118":{"position":[[30,7],[56,4]]},"121":{"position":[[667,3]]},"138":{"position":[[65,3],[213,4],[284,3],[432,4]]},"140":{"position":[[43,3],[94,3],[185,3]]},"141":{"position":[[60,3]]},"165":{"position":[[20,3],[107,4]]},"174":{"position":[[49,3],[197,4],[268,3],[416,4]]},"178":{"position":[[28,3],[78,3],[169,3]]},"180":{"position":[[44,3]]},"184":{"position":[[206,7]]},"202":{"position":[[4582,4],[4665,4],[4727,3],[8574,4],[8657,4],[8719,3]]},"227":{"position":[[1873,3],[1992,4]]},"229":{"position":[[1287,7]]},"231":{"position":[[850,3],[938,3]]},"235":{"position":[[427,7]]},"237":{"position":[[69,3]]},"240":{"position":[[128,4],[369,4],[488,4],[921,4]]},"241":{"position":[[54,7],[317,3]]},"245":{"position":[[478,3]]},"253":{"position":[[1715,3],[1744,4],[1845,7],[1874,3],[1915,3],[1936,7],[2391,3]]},"254":{"position":[[2827,3]]},"256":{"position":[[160,3],[403,3],[467,3]]},"257":{"position":[[1035,3]]},"287":{"position":[[174,7]]},"292":{"position":[[342,3],[357,3],[387,3],[570,7],[628,8],[664,3],[724,3],[847,7],[883,7],[939,3],[982,3],[1111,4],[1129,3],[1205,3],[1325,7],[1404,4],[1409,3]]},"299":{"position":[[118,7],[910,3]]},"304":{"position":[[1238,3],[4516,4]]},"315":{"position":[[338,3],[360,3]]},"316":{"position":[[4,3]]},"318":{"position":[[227,3],[401,3],[552,3],[566,3],[575,3]]},"319":{"position":[[123,3]]},"322":{"position":[[392,7],[1103,8],[1812,7]]},"324":{"position":[[70,7],[302,3],[498,7],[3860,3],[3883,3],[3922,7]]},"325":{"position":[[728,3],[761,3]]},"328":{"position":[[696,3],[737,3],[768,3]]},"331":{"position":[[158,4]]},"332":{"position":[[239,3],[328,7]]},"337":{"position":[[187,7],[285,3]]},"338":{"position":[[13,3],[403,7],[2073,7]]},"339":{"position":[[128,4],[360,4]]},"341":{"position":[[252,7]]},"345":{"position":[[100,3],[241,7],[359,7]]},"347":{"position":[[71,4],[98,4],[129,3],[178,8],[2563,3],[2701,7]]},"350":{"position":[[1318,3]]},"351":{"position":[[529,3]]},"352":{"position":[[168,4]]},"355":{"position":[[12,3]]},"356":{"position":[[429,7]]},"357":{"position":[[668,3],[918,7],[1018,3],[2509,3],[3562,7],[3637,3]]},"429":{"position":[[1837,4],[2064,4]]},"448":{"position":[[4,3],[119,3],[196,3]]},"449":{"position":[[341,7]]},"476":{"position":[[3871,3]]},"482":{"position":[[36,3],[638,7],[1235,7]]},"483":{"position":[[373,7]]},"488":{"position":[[545,4],[2219,7],[2540,7]]},"490":{"position":[[464,7]]},"492":{"position":[[703,3]]},"493":{"position":[[233,3]]},"496":{"position":[[84,3],[979,7]]},"502":{"position":[[746,7]]},"505":{"position":[[544,4],[709,7],[862,4],[1023,3]]},"514":{"position":[[102,7],[642,3],[908,7],[1108,4],[1152,3],[1263,3],[1365,4],[1523,3]]},"527":{"position":[[87,3],[108,3]]},"528":{"position":[[272,3],[1039,4],[1461,3],[1624,3]]},"584":{"position":[[403,3]]},"603":{"position":[[294,3]]},"606":{"position":[[359,7],[414,7]]},"607":{"position":[[1,7]]},"608":{"position":[[219,3],[380,4]]},"610":{"position":[[46,3],[210,4],[945,4]]},"611":{"position":[[814,3],[914,3],[983,3]]},"612":{"position":[[76,7]]},"617":{"position":[[82,7],[850,8]]},"640":{"position":[[35,7]]},"641":{"position":[[35,7]]},"642":{"position":[[35,7]]},"643":{"position":[[35,7]]},"729":{"position":[[261,4]]},"737":{"position":[[112,3]]},"753":{"position":[[114,7]]},"757":{"position":[[26,3],[58,3]]},"758":{"position":[[232,7]]}},"keywords":{}}],["run_count",{"_index":5406,"title":{},"content":{"732":{"position":[[104,12],[196,13]]},"733":{"position":[[83,13]]}},"keywords":{}}],["run_method",{"_index":4396,"title":{},"content":{"502":{"position":[[535,12],[854,12]]}},"keywords":{}}],["run_mod",{"_index":5499,"title":{"757":{"position":[[0,9]]}},"content":{"757":{"position":[[111,10]]}},"keywords":{}}],["run_opts=$(<<<"$run_opts"",{"_index":1105,"title":{},"content":{"44":{"position":[[2865,44]]}},"keywords":{}}],["run_opts=$(cat",{"_index":1096,"title":{},"content":{"44":{"position":[[2633,14]]}},"keywords":{}}],["runner",{"_index":353,"title":{"44":{"position":[[6,6]]},"304":{"position":[[7,7]]},"482":{"position":[[7,7]]},"602":{"position":[[7,6]]},"604":{"position":[[7,6]]},"617":{"position":[[13,7]]},"619":{"position":[[7,6]]},"747":{"position":[[7,6]]},"753":{"position":[[7,6]]},"755":{"position":[[7,6]]}},"content":{"13":{"position":[[263,6]]},"36":{"position":[[2011,6]]},"44":{"position":[[3191,6]]},"83":{"position":[[1056,6],[2168,6],[2524,6],[2624,6]]},"84":{"position":[[1137,6]]},"85":{"position":[[62,6],[662,6]]},"202":{"position":[[2011,6]]},"210":{"position":[[131,6]]},"240":{"position":[[1085,6]]},"251":{"position":[[27,6]]},"278":{"position":[[200,6]]},"283":{"position":[[346,7],[431,7]]},"304":{"position":[[8,6],[560,6],[752,6],[1346,6],[1422,6],[1685,6],[1864,6],[2083,6],[2177,6],[2317,6],[2448,6],[2545,6],[2727,6],[2835,6],[3006,6],[3125,6],[3295,6],[3515,6],[3655,6],[3802,6],[3966,6],[4064,6],[4163,6],[4277,6],[4549,6],[4661,6],[4823,6],[4970,6],[5083,6],[5196,6],[5307,6],[5473,6],[5639,6],[5778,6],[5924,6],[6091,6],[6239,6],[6369,6],[6531,6],[6744,6]]},"332":{"position":[[180,6],[741,6]]},"345":{"position":[[268,6],[333,6],[483,6]]},"352":{"position":[[924,6],[1029,6]]},"357":{"position":[[1481,6],[2971,6]]},"429":{"position":[[1438,6]]},"474":{"position":[[369,6]]},"476":{"position":[[3788,6]]},"482":{"position":[[83,6],[324,6],[567,6],[1217,6]]},"488":{"position":[[585,6],[1546,6]]},"490":{"position":[[8,6],[823,6]]},"491":{"position":[[60,6]]},"492":{"position":[[40,6]]},"493":{"position":[[8,6]]},"497":{"position":[[15,6],[284,6]]},"505":{"position":[[256,6]]},"584":{"position":[[493,6]]},"603":{"position":[[8,6],[138,6],[256,6]]},"608":{"position":[[140,6],[485,6]]},"609":{"position":[[69,6]]},"617":{"position":[[8,6],[140,6]]},"619":{"position":[[57,6]]},"620":{"position":[[262,6],[295,6]]},"621":{"position":[[382,6],[1172,6],[1239,6],[2876,6],[2915,6],[3346,6],[3514,6],[3671,6],[3744,6],[3827,6],[3864,6],[3917,6],[3977,6],[4816,6],[5073,6],[5140,6],[5217,6],[5304,6]]},"669":{"position":[[248,6]]},"747":{"position":[[56,6]]},"748":{"position":[[43,7],[160,6]]},"749":{"position":[[44,6]]},"750":{"position":[[72,6]]},"751":{"position":[[71,6]]},"753":{"position":[[17,6]]},"769":{"position":[[114,7]]}},"keywords":{}}],["runningscript.manu",{"_index":4348,"title":{},"content":{"496":{"position":[[437,20],[782,21],[882,21]]},"612":{"position":[[1026,20]]}},"keywords":{}}],["runscript",{"_index":3914,"title":{},"content":{"429":{"position":[[1303,11],[1323,11]]}},"keywords":{}}],["runscript("inst/procedures/checks.rb"",{"_index":3920,"title":{},"content":{"429":{"position":[[1850,50]]}},"keywords":{}}],["runscript('inst/procedures/script.rb",{"_index":3916,"title":{},"content":{"429":{"position":[[1513,38]]}},"keywords":{}}],["runtim",{"_index":936,"title":{},"content":{"42":{"position":[[788,8]]},"43":{"position":[[6529,8]]},"80":{"position":[[124,8]]},"122":{"position":[[151,7]]},"237":{"position":[[350,7]]},"240":{"position":[[583,7]]},"242":{"position":[[105,8]]}},"keywords":{}}],["runtimeerror(f"us",{"_index":4341,"title":{},"content":{"495":{"position":[[834,24]]}},"keywords":{}}],["rx_byte",{"_index":5309,"title":{},"content":{"715":{"position":[[460,9],[1019,9]]},"724":{"position":[[442,9],[960,9]]}},"keywords":{}}],["rx_bytes}"",{"_index":5314,"title":{},"content":{"715":{"position":[[744,17]]},"724":{"position":[[720,17]]}},"keywords":{}}],["rx_q_size",{"_index":5307,"title":{},"content":{"715":{"position":[[439,10],[682,13],[998,10]]},"724":{"position":[[421,10],[658,13],[939,10]]}},"keywords":{}}],["ryan",{"_index":3577,"title":{},"content":{"357":{"position":[[4109,4]]}},"keywords":{}}],["s",{"_index":1690,"title":{},"content":{"85":{"position":[[1339,1],[1370,1]]},"208":{"position":[[473,1]]},"225":{"position":[[524,1]]},"324":{"position":[[1921,1]]},"476":{"position":[[1387,1]]}},"keywords":{}}],["s3",{"_index":2442,"title":{},"content":{"240":{"position":[[1335,2]]},"250":{"position":[[30,2],[282,3]]},"516":{"position":[[297,2]]},"517":{"position":[[862,2]]}},"keywords":{}}],["s98ahprarwszc0mmhd5b_wixusmvw4xyw8eavfue4zfw",{"_index":1002,"title":{},"content":{"43":{"position":[[4406,44]]}},"keywords":{}}],["saa",{"_index":1900,"title":{},"content":{"109":{"position":[[51,4]]}},"keywords":{}}],["safari/537.36",{"_index":1063,"title":{},"content":{"44":{"position":[[1213,13]]}},"keywords":{}}],["safe",{"_index":2384,"title":{},"content":{"233":{"position":[[417,4]]},"336":{"position":[[191,6]]},"495":{"position":[[423,4]]}},"keywords":{}}],["safe_limits_response.rb",{"_index":2386,"title":{},"content":{"233":{"position":[[584,23],[1399,23]]}},"keywords":{}}],["safeguard",{"_index":4071,"title":{},"content":{"459":{"position":[[1696,9]]}},"keywords":{}}],["safest",{"_index":4108,"title":{},"content":{"464":{"position":[[613,6]]}},"keywords":{}}],["safeti",{"_index":735,"title":{},"content":{"36":{"position":[[3827,6]]},"202":{"position":[[3827,6]]},"231":{"position":[[980,6]]},"267":{"position":[[9686,6],[10073,6]]},"467":{"position":[[1460,6]]}},"keywords":{}}],["sale",{"_index":4118,"title":{},"content":{"465":{"position":[[738,5]]}},"keywords":{}}],["sales@openc3.com",{"_index":3683,"title":{},"content":{"363":{"position":[[1025,16],[1436,16]]}},"keywords":{}}],["same",{"_index":309,"title":{},"content":{"9":{"position":[[868,4]]},"17":{"position":[[63,4],[162,4]]},"18":{"position":[[66,4],[166,4]]},"31":{"position":[[551,4]]},"46":{"position":[[1168,4]]},"49":{"position":[[336,4],[459,4]]},"50":{"position":[[324,4],[397,4]]},"58":{"position":[[284,4],[388,4]]},"61":{"position":[[731,4],[780,4],[797,4]]},"63":{"position":[[428,4]]},"69":{"position":[[3274,4],[4567,4]]},"79":{"position":[[423,4]]},"83":{"position":[[568,4]]},"93":{"position":[[218,4],[302,5],[384,4]]},"95":{"position":[[105,4]]},"121":{"position":[[407,4]]},"144":{"position":[[142,4],[222,4]]},"168":{"position":[[180,4]]},"257":{"position":[[318,4]]},"260":{"position":[[367,4]]},"267":{"position":[[8855,4]]},"329":{"position":[[592,4]]},"331":{"position":[[643,4]]},"338":{"position":[[2088,4]]},"359":{"position":[[755,4]]},"362":{"position":[[71,4]]},"479":{"position":[[78,4]]},"483":{"position":[[61,4],[122,4]]},"498":{"position":[[53,4]]},"508":{"position":[[115,4]]},"533":{"position":[[751,4]]},"601":{"position":[[402,4]]},"611":{"position":[[712,4]]},"618":{"position":[[658,4],[1008,4],[1125,4],[1315,4]]},"663":{"position":[[173,4]]},"752":{"position":[[293,4]]},"765":{"position":[[126,4]]}},"keywords":{}}],["sameorigin",{"_index":981,"title":{},"content":{"43":{"position":[[1212,10]]}},"keywords":{}}],["sampl",{"_index":2288,"title":{"499":{"position":[[22,6]]}},"content":{"227":{"position":[[3315,7]]},"246":{"position":[[307,6]]},"352":{"position":[[148,7]]},"478":{"position":[[422,7]]},"499":{"position":[[256,6]]},"700":{"position":[[1659,7]]}},"keywords":{}}],["sat",{"_index":939,"title":{},"content":{"42":{"position":[[812,4]]}},"keywords":{}}],["satellit",{"_index":27,"title":{},"content":{"1":{"position":[[282,11]]},"114":{"position":[[226,10]]},"357":{"position":[[4161,10]]},"424":{"position":[[442,9]]}},"keywords":{}}],["satur",{"_index":841,"title":{},"content":{"36":{"position":[[9963,10],[10414,8]]},"202":{"position":[[9963,10],[10414,8]]}},"keywords":{}}],["save",{"_index":849,"title":{},"content":{"36":{"position":[[10603,5]]},"44":{"position":[[1810,5]]},"83":{"position":[[2329,4]]},"290":{"position":[[353,4],[391,4],[841,4]]},"302":{"position":[[696,6],[722,4]]},"304":{"position":[[1535,5],[1545,4]]},"306":{"position":[[520,6]]},"307":{"position":[[731,6],[784,6],[1026,6],[1052,4],[1169,5]]},"308":{"position":[[651,6]]},"332":{"position":[[397,4],[456,5]]},"362":{"position":[[13,4]]},"418":{"position":[[1729,4],[1829,4]]},"419":{"position":[[1782,4],[1882,4]]},"420":{"position":[[1754,4],[1854,4]]},"517":{"position":[[435,4]]},"528":{"position":[[1304,5]]},"552":{"position":[[11,5],[240,5],[416,4],[441,4],[495,5],[620,5]]},"563":{"position":[[11,5],[178,5],[354,4],[379,4],[433,5],[558,5]]},"566":{"position":[[312,4],[345,4]]},"570":{"position":[[48,5]]},"577":{"position":[[77,5],[1009,5],[1185,4],[1210,4],[1264,5],[1389,5]]},"578":{"position":[[601,4]]},"589":{"position":[[10,5],[177,5],[353,4],[378,4],[432,5],[557,5]]},"592":{"position":[[324,4],[332,4]]},"596":{"position":[[207,5]]},"598":{"position":[[10,5],[196,5],[372,4],[397,4],[451,5],[576,5]]},"599":{"position":[[420,5]]},"603":{"position":[[175,5]]},"605":{"position":[[545,4],[560,6],[608,4],[626,4]]},"617":{"position":[[267,4]]},"745":{"position":[[88,5]]},"746":{"position":[[102,5]]},"770":{"position":[[48,4],[120,4]]},"772":{"position":[[14,5]]},"774":{"position":[[1,4],[251,4]]}},"keywords":{}}],["save_config",{"_index":5591,"title":{"774":{"position":[[0,12]]}},"content":{},"keywords":{}}],["save_config(<tool",{"_index":5592,"title":{},"content":{"774":{"position":[[63,20]]}},"keywords":{}}],["save_config('telemetry_graph",{"_index":5594,"title":{},"content":{"774":{"position":[[313,32]]}},"keywords":{}}],["save_file_dialog",{"_index":4697,"title":{},"content":{"621":{"position":[[3490,16]]},"632":{"position":[[197,16],[249,16]]}},"keywords":{}}],["save_set",{"_index":4698,"title":{},"content":{"621":{"position":[[3532,12]]}},"keywords":{}}],["scaffold",{"_index":2317,"title":{},"content":{"229":{"position":[[34,11]]},"230":{"position":[[34,11]]},"231":{"position":[[40,11]]},"232":{"position":[[38,11]]},"233":{"position":[[43,11]]},"234":{"position":[[38,11]]},"235":{"position":[[32,11]]}},"keywords":{}}],["scale",{"_index":830,"title":{},"content":{"36":{"position":[[9325,5],[9512,5]]},"202":{"position":[[9325,5],[9512,5]]},"243":{"position":[[109,8]]},"249":{"position":[[558,7]]},"267":{"position":[[7608,5],[7773,5]]},"356":{"position":[[371,8]]},"357":{"position":[[4029,7],[4142,6]]},"405":{"position":[[189,5]]},"419":{"position":[[40,5]]},"422":{"position":[[193,5]]},"512":{"position":[[102,6]]},"599":{"position":[[1151,6],[1214,5],[1366,7]]}},"keywords":{}}],["scenario",{"_index":2891,"title":{"494":{"position":[[7,10]]}},"content":{"304":{"position":[[1036,10]]},"482":{"position":[[876,8]]}},"keywords":{}}],["scene",{"_index":2248,"title":{},"content":{"227":{"position":[[109,6]]},"488":{"position":[[108,6]]}},"keywords":{}}],["schedul",{"_index":2969,"title":{},"content":{"310":{"position":[[68,9],[252,10],[348,10]]},"527":{"position":[[1,9],[242,9]]},"528":{"position":[[159,9],[189,9],[294,9],[330,8],[626,8],[881,8],[922,8],[973,8],[1162,9]]},"540":{"position":[[482,9]]}},"keywords":{}}],["scheme",{"_index":500,"title":{},"content":{"22":{"position":[[432,7]]},"352":{"position":[[1114,7]]}},"keywords":{}}],["scientif",{"_index":4062,"title":{},"content":{"459":{"position":[[720,10],[1513,10]]}},"keywords":{}}],["scope",{"_index":1708,"title":{},"content":{"88":{"position":[[355,5]]},"142":{"position":[[188,7]]},"182":{"position":[[188,7]]},"227":{"position":[[1307,6],[1721,5],[2649,6],[3652,6]]},"301":{"position":[[104,6]]},"322":{"position":[[446,5]]},"517":{"position":[[131,6],[174,5]]},"540":{"position":[[197,5],[591,5]]}},"keywords":{}}],["scope__telemetry__targetname__packetnam",{"_index":2312,"title":{},"content":{"227":{"position":[[6100,41]]}},"keywords":{}}],["scoped>",{"_index":3218,"title":{},"content":{"328":{"position":[[426,10]]}},"keywords":{}}],["scpi",{"_index":1278,"title":{},"content":{"54":{"position":[[593,4]]},"63":{"position":[[92,4],[344,4]]}},"keywords":{}}],["scrape",{"_index":3405,"title":{},"content":{"352":{"position":[[12,7],[140,7]]}},"keywords":{}}],["scrape_config",{"_index":3415,"title":{},"content":{"352":{"position":[[505,15]]}},"keywords":{}}],["scrape_interv",{"_index":3410,"title":{},"content":{"352":{"position":[[390,16]]}},"keywords":{}}],["screen",{"_index":1834,"title":{"221":{"position":[[0,7]]},"365":{"position":[[0,7]]},"367":{"position":[[10,6]]},"369":{"position":[[0,7]]},"590":{"position":[[10,8]]},"591":{"position":[[4,7]]},"592":{"position":[[5,7]]},"593":{"position":[[0,6]]},"594":{"position":[[9,8]]},"738":{"position":[[38,8]]}},"content":{"103":{"position":[[81,7]]},"108":{"position":[[260,6]]},"194":{"position":[[86,8]]},"221":{"position":[[45,6],[145,6],[157,6],[169,6],[202,6]]},"230":{"position":[[2251,7],[2313,6]]},"234":{"position":[[102,8],[590,7]]},"306":{"position":[[171,7],[362,8],[456,7],[542,7],[592,7]]},"328":{"position":[[1553,6],[1597,6],[1755,6]]},"334":{"position":[[1325,7]]},"357":{"position":[[429,7],[940,7]]},"366":{"position":[[77,7],[184,6],[193,6],[310,6],[335,6],[417,7],[537,6]]},"367":{"position":[[11,6],[72,8],[113,6],[194,7],[202,6],[278,7],[338,6]]},"368":{"position":[[18,6],[313,6],[429,6]]},"369":{"position":[[27,6],[39,6],[92,6],[138,6],[176,6],[302,6],[395,6],[448,6],[485,6]]},"384":{"position":[[116,6],[181,7],[480,7]]},"385":{"position":[[60,7],[165,7]]},"386":{"position":[[52,6]]},"387":{"position":[[151,6]]},"391":{"position":[[105,6]]},"395":{"position":[[64,7]]},"396":{"position":[[22,6]]},"397":{"position":[[50,6]]},"398":{"position":[[40,6]]},"400":{"position":[[191,6]]},"424":{"position":[[501,6],[533,6],[713,6],[745,6]]},"425":{"position":[[368,6],[400,6]]},"429":{"position":[[958,7]]},"437":{"position":[[66,8]]},"441":{"position":[[422,6],[698,7],[720,6],[807,6],[831,6]]},"442":{"position":[[1141,6],[1611,7],[1633,6],[1720,6],[1744,6]]},"446":{"position":[[36,6]]},"517":{"position":[[627,6]]},"530":{"position":[[333,7]]},"588":{"position":[[73,8],[82,7]]},"590":{"position":[[89,7],[127,6],[159,6],[178,6]]},"591":{"position":[[14,6],[39,6],[57,7],[121,6],[145,7],[267,6],[348,7],[366,6],[401,6],[447,6]]},"592":{"position":[[50,6],[91,6],[198,6],[271,6],[341,6],[405,7]]},"593":{"position":[[5,7],[103,7],[190,7],[266,7],[460,6],[495,6],[575,6],[643,6],[675,8],[691,6],[788,7]]},"594":{"position":[[45,7],[78,6],[118,8]]},"596":{"position":[[133,6]]},"738":{"position":[[72,7]]},"739":{"position":[[19,6],[265,6],[284,6],[296,6],[398,6],[467,6]]},"740":{"position":[[26,7],[182,6],[201,6],[213,6]]},"741":{"position":[[17,8]]},"742":{"position":[[38,7],[195,6],[214,6],[226,6]]},"743":{"position":[[59,8]]},"744":{"position":[[73,6],[235,6],[254,6],[266,6]]},"745":{"position":[[42,6],[78,6],[330,6],[349,6],[361,6],[423,6],[484,6],[629,6],[756,6],[901,6]]},"746":{"position":[[47,6],[132,6],[172,7],[417,6],[479,6],[571,6],[640,6],[759,6],[874,7],[944,6],[1091,6],[1227,6],[1391,6]]}},"keywords":{}}],["screen"",{"_index":5446,"title":{},"content":{"745":{"position":[[536,12],[808,12]]},"746":{"position":[[998,12],[1281,12]]}},"keywords":{}}],["screen.getnamedwidget("check").check",{"_index":3934,"title":{},"content":{"430":{"position":[[291,51]]}},"keywords":{}}],["screen.getnamedwidget("collect_type").text",{"_index":3938,"title":{},"content":{"431":{"position":[[344,56]]}},"keywords":{}}],["screen.getnamedwidget("date").text",{"_index":3943,"title":{},"content":{"432":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("duration").text",{"_index":3955,"title":{},"content":{"435":{"position":[[330,52]]}},"keywords":{}}],["screen.getnamedwidget("time").text",{"_index":3957,"title":{},"content":{"436":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("widget_name").text",{"_index":3903,"title":{},"content":{"429":{"position":[[288,53]]}},"keywords":{}}],["screen.getnamedwidget('bg').check",{"_index":3931,"title":{},"content":{"429":{"position":[[2309,39]]}},"keywords":{}}],["screen.getnamedwidget('check').check",{"_index":4002,"title":{},"content":{"446":{"position":[[1041,41]]}},"keywords":{}}],["screen.getnamedwidget('collect_type').text",{"_index":3996,"title":{},"content":{"446":{"position":[[544,49]]}},"keywords":{}}],["screen.getnamedwidget('duration').text())"",{"_index":3997,"title":{},"content":{"446":{"position":[[603,49]]}},"keywords":{}}],["screen_def",{"_index":5445,"title":{},"content":{"745":{"position":[[469,10],[710,11],[741,10],[982,11]]},"746":{"position":[[929,10],[1155,11],[1195,10],[1455,11]]}},"keywords":{}}],["screen_definit",{"_index":5439,"title":{},"content":{"744":{"position":[[331,17]]}},"keywords":{}}],["screenshot",{"_index":4438,"title":{},"content":{"513":{"position":[[727,10]]}},"keywords":{}}],["script",{"_index":352,"title":{"304":{"position":[[0,6]]},"332":{"position":[[8,8]]},"473":{"position":[[0,6]]},"477":{"position":[[0,9]]},"478":{"position":[[14,6]]},"482":{"position":[[0,6]]},"484":{"position":[[0,6]]},"485":{"position":[[16,7]]},"486":{"position":[[9,7]]},"493":{"position":[[14,8]]},"502":{"position":[[7,9],[47,10]]},"507":{"position":[[9,6]]},"602":{"position":[[0,6]]},"604":{"position":[[0,6]]},"606":{"position":[[0,6]]},"607":{"position":[[8,8]]},"608":{"position":[[12,7]]},"609":{"position":[[8,6]]},"612":{"position":[[0,6]]},"613":{"position":[[10,8]]},"614":{"position":[[0,9]]},"617":{"position":[[6,6]]},"619":{"position":[[0,6]]},"747":{"position":[[0,6]]},"753":{"position":[[0,6]]},"755":{"position":[[0,6]]}},"content":{"13":{"position":[[256,6]]},"35":{"position":[[1093,7],[1624,7]]},"36":{"position":[[1966,7],[2004,6]]},"37":{"position":[[886,7],[1417,7]]},"44":{"position":[[45,6],[446,6],[1466,6],[1562,6],[1619,6],[1677,6],[1843,6],[1995,7],[2500,6],[2624,6],[3067,6],[3184,6],[3276,6]]},"46":{"position":[[954,6],[1023,6],[1196,7]]},"83":{"position":[[552,7],[605,8],[648,7],[1049,6],[2161,6],[2517,6],[2617,6]]},"84":{"position":[[1129,7]]},"85":{"position":[[55,6],[655,6]]},"90":{"position":[[339,9],[379,9],[475,9]]},"117":{"position":[[152,8]]},"201":{"position":[[1122,7],[1653,7]]},"202":{"position":[[1966,7],[2004,6]]},"203":{"position":[[905,7],[1436,7]]},"204":{"position":[[1797,7]]},"205":{"position":[[1633,7]]},"210":{"position":[[124,6],[164,8],[231,8]]},"211":{"position":[[98,8]]},"230":{"position":[[1935,9]]},"240":{"position":[[1078,6],[1129,6]]},"243":{"position":[[420,7]]},"251":{"position":[[20,6]]},"259":{"position":[[1446,6]]},"278":{"position":[[193,6],[233,8],[315,8]]},"283":{"position":[[339,6],[424,6]]},"291":{"position":[[348,6]]},"292":{"position":[[103,7]]},"297":{"position":[[810,7]]},"300":{"position":[[71,8],[167,7],[208,8],[297,7],[338,8],[419,7],[858,7],[874,6]]},"304":{"position":[[1,6],[183,8],[199,6],[341,6],[425,7],[553,6],[637,9],[1339,6],[1401,8],[1415,6],[1454,7],[1678,6],[1857,6],[2008,6],[2076,6],[2122,8],[2157,7],[2170,6],[2236,7],[2288,6],[2310,6],[2357,7],[2395,6],[2441,6],[2489,7],[2519,6],[2538,6],[2577,6],[2626,6],[2697,6],[2720,6],[2769,6],[2828,6],[2927,6],[2999,6],[3045,6],[3118,6],[3170,6],[3200,6],[3288,6],[3358,6],[3508,6],[3607,6],[3648,6],[3795,6],[3834,6],[3921,6],[3959,6],[4024,6],[4057,6],[4120,6],[4156,6],[4196,6],[4227,6],[4256,7],[4270,6],[4342,7],[4415,6],[4455,6],[4542,6],[4607,8],[4623,6],[4654,6],[4704,6],[4802,7],[4816,6],[4907,6],[4963,6],[5076,6],[5189,6],[5300,6],[5466,6],[5632,6],[5771,6],[5855,6],[5917,6],[6013,6],[6084,6],[6170,6],[6232,6],[6302,6],[6362,6],[6457,6],[6524,6],[6642,6],[6737,6],[6854,6]]},"310":{"position":[[359,7],[394,6],[643,7],[683,6]]},"328":{"position":[[755,9]]},"332":{"position":[[146,6],[173,6],[248,6],[406,7],[476,6],[578,7],[647,6],[705,7],[734,6]]},"334":{"position":[[1313,7]]},"345":{"position":[[251,6],[261,6],[326,6],[371,7],[476,6],[500,6],[531,6],[578,7]]},"352":{"position":[[917,6],[1022,6]]},"356":{"position":[[422,6]]},"357":{"position":[[1474,6],[2964,6]]},"429":{"position":[[898,9],[1255,7],[1375,7],[1403,6],[1431,6],[2069,7],[2194,6]]},"474":{"position":[[61,9],[104,7],[222,7],[362,6]]},"475":{"position":[[50,8],[92,9]]},"476":{"position":[[111,8],[274,7],[1006,6],[1112,7],[3624,9],[3746,7],[3781,6]]},"478":{"position":[[13,7],[859,7]]},"480":{"position":[[25,7],[182,7],[568,6],[891,8],[938,7],[999,6]]},"482":{"position":[[40,7],[76,6],[106,6],[141,6],[160,6],[308,8],[317,6],[399,9],[494,7],[560,6],[646,8],[674,7],[712,7],[955,7],[979,7],[1052,7],[1142,7],[1210,6],[1295,7],[1490,6]]},"483":{"position":[[212,6],[363,6],[791,6],[1231,6],[1290,6]]},"484":{"position":[[5,7],[77,7],[158,8]]},"485":{"position":[[9,7],[240,6]]},"486":{"position":[[56,7],[159,6]]},"487":{"position":[[457,6],[709,7]]},"488":{"position":[[8,7],[236,6],[578,6],[1539,6],[1658,10],[1973,9],[2067,7],[2719,6]]},"490":{"position":[[1,6],[94,6],[187,6],[290,6],[472,7],[490,6],[816,6]]},"491":{"position":[[53,6],[92,6]]},"492":{"position":[[33,6],[67,7],[168,6],[342,7],[465,7],[756,6]]},"493":{"position":[[1,6],[57,7],[165,6],[260,7]]},"495":{"position":[[74,8],[233,6],[1286,6]]},"496":{"position":[[57,7],[142,7]]},"497":{"position":[[8,6],[37,6],[133,7],[277,6]]},"499":{"position":[[21,8]]},"500":{"position":[[68,8]]},"501":{"position":[[121,6]]},"502":{"position":[[47,9],[324,6],[417,8],[508,9]]},"504":{"position":[[59,8],[365,6],[748,6]]},"505":{"position":[[37,6],[207,6],[249,6],[447,6],[519,6],[583,6],[717,7],[843,6],[948,7],[985,6],[1056,7],[1140,6],[1243,7]]},"507":{"position":[[54,6],[111,6]]},"508":{"position":[[312,9]]},"510":{"position":[[62,7]]},"514":{"position":[[112,7],[648,7],[700,7],[767,6],[836,7],[879,7],[949,6],[984,7]]},"522":{"position":[[153,7]]},"527":{"position":[[114,7]]},"534":{"position":[[508,7]]},"540":{"position":[[333,6],[430,6],[474,7]]},"584":{"position":[[57,6],[429,7],[486,6],[551,7]]},"585":{"position":[[49,7],[136,6],[315,6]]},"586":{"position":[[51,7],[151,6],[334,6]]},"603":{"position":[[1,6],[43,7],[71,8],[80,6],[131,6],[230,7],[249,6],[309,8],[328,8]]},"606":{"position":[[150,6],[209,6],[292,6],[367,8],[422,7],[476,7],[518,7],[550,6]]},"607":{"position":[[19,6],[117,6],[173,7],[209,6],[249,6],[676,6]]},"608":{"position":[[18,6],[133,6],[193,7],[478,6],[538,7]]},"609":{"position":[[6,6],[62,6],[128,6]]},"610":{"position":[[100,9],[199,7],[294,6]]},"611":{"position":[[837,7],[922,7],[971,6],[1003,7]]},"612":{"position":[[11,6],[84,7],[123,6],[206,7],[259,6],[414,6],[497,7],[554,6],[647,7],[764,6],[898,6],[1089,6],[1183,6],[1226,8]]},"613":{"position":[[73,6],[295,7]]},"616":{"position":[[8,9],[95,9],[277,6]]},"617":{"position":[[1,6],[133,6],[320,7],[386,6],[522,6],[612,7],[762,6],[818,7],[836,6],[884,7],[1036,7]]},"618":{"position":[[730,8]]},"619":{"position":[[50,6]]},"620":{"position":[[255,6],[288,6]]},"621":{"position":[[375,6],[1165,6],[1232,6],[2869,6],[2908,6],[3339,6],[3507,6],[3664,6],[3737,6],[3820,6],[3857,6],[3910,6],[3970,6],[4809,6],[5066,6],[5133,6],[5210,6],[5297,6]]},"622":{"position":[[69,7]]},"656":{"position":[[116,6],[237,6],[782,6]]},"657":{"position":[[114,6]]},"658":{"position":[[67,6]]},"659":{"position":[[290,9]]},"669":{"position":[[241,6],[356,8]]},"680":{"position":[[43,6]]},"681":{"position":[[12,6],[303,7],[1093,6]]},"682":{"position":[[12,6],[197,7],[860,6]]},"683":{"position":[[12,6],[108,6],[293,7],[646,6]]},"684":{"position":[[12,6],[97,6],[173,7]]},"685":{"position":[[64,6],[169,6],[708,6]]},"686":{"position":[[12,6],[151,6],[759,6]]},"687":{"position":[[12,6],[108,6],[574,6]]},"688":{"position":[[12,6],[97,6],[504,6]]},"729":{"position":[[183,7],[241,7],[278,7]]},"737":{"position":[[12,6],[511,6]]},"745":{"position":[[65,7]]},"746":{"position":[[70,6],[210,8]]},"747":{"position":[[49,6]]},"748":{"position":[[36,6],[153,6],[208,7]]},"749":{"position":[[37,6]]},"750":{"position":[[65,6]]},"751":{"position":[[64,6]]},"752":{"position":[[354,7],[468,6]]},"753":{"position":[[10,6],[122,6]]},"755":{"position":[[39,7]]},"758":{"position":[[6,9],[240,7]]},"769":{"position":[[107,6]]}},"keywords":{}}],["script=${2",{"_index":1083,"title":{},"content":{"44":{"position":[[2102,11]]}},"keywords":{}}],["script=screen.getnamedwidget('scriptname').text();"",{"_index":3927,"title":{},"content":{"429":{"position":[[2087,56]]}},"keywords":{}}],["script?scope=default"",{"_index":1121,"title":{},"content":{"44":{"position":[[3373,26]]}},"keywords":{}}],["script_",{"_index":5478,"title":{},"content":{"754":{"position":[[147,9],[468,9]]}},"keywords":{}}],["script_1",{"_index":4356,"title":{},"content":{"497":{"position":[[349,8],[651,11]]},"610":{"position":[[466,8]]},"754":{"position":[[1138,8]]}},"keywords":{}}],["script_1(self",{"_index":4600,"title":{},"content":{"610":{"position":[[700,15]]},"754":{"position":[[1678,15]]}},"keywords":{}}],["script_1_heater_zone_control",{"_index":4285,"title":{},"content":{"486":{"position":[[426,28],[658,31]]}},"keywords":{}}],["script_api="$cosmos_host/script",{"_index":1088,"title":{},"content":{"44":{"position":[[2204,36]]}},"keywords":{}}],["script_path",{"_index":1112,"title":{},"content":{"44":{"position":[[3074,14]]}},"keywords":{}}],["script_path="scripts/$target/$script"",{"_index":1090,"title":{},"content":{"44":{"position":[[2251,47]]}},"keywords":{}}],["script_power_on",{"_index":4590,"title":{},"content":{"610":{"position":[[266,17]]}},"keywords":{}}],["script_statu",{"_index":1124,"title":{},"content":{"44":{"position":[[3482,14]]}},"keywords":{}}],["script_status="$(curl",{"_index":1119,"title":{},"content":{"44":{"position":[[3320,26]]}},"keywords":{}}],["scriptnam",{"_index":3922,"title":{},"content":{"429":{"position":[[1975,10]]}},"keywords":{}}],["scriptrunn",{"_index":1654,"title":{},"content":{"84":{"position":[[201,13],[267,12],[292,12],[864,13],[990,14]]},"737":{"position":[[119,12],[263,12]]},"755":{"position":[[52,13]]},"756":{"position":[[8,12]]},"757":{"position":[[8,12]]}},"keywords":{}}],["scripts/procedur",{"_index":2881,"title":{},"content":{"304":{"position":[[69,19]]},"485":{"position":[[171,19]]}},"keywords":{}}],["scripts?scope=default"",{"_index":1130,"title":{},"content":{"44":{"position":[[3606,27]]}},"keywords":{}}],["scriptshow",{"_index":4585,"title":{},"content":{"606":{"position":[[193,11]]}},"keywords":{}}],["scriptsshow",{"_index":4579,"title":{},"content":{"606":{"position":[[32,11]]}},"keywords":{}}],["scroll",{"_index":3790,"title":{},"content":{"391":{"position":[[197,6]]},"490":{"position":[[1108,6]]},"600":{"position":[[326,9]]}},"keywords":{}}],["scrollabl",{"_index":3789,"title":{},"content":{"391":{"position":[[40,10]]}},"keywords":{}}],["scrollwindow",{"_index":3788,"title":{"391":{"position":[[0,13]]}},"content":{"391":{"position":[[61,12],[312,12]]}},"keywords":{}}],["sd",{"_index":3305,"title":{},"content":{"347":{"position":[[312,2],[373,2],[439,2],[549,2],[622,2],[916,2],[1700,2]]}},"keywords":{}}],["se",{"_index":2513,"title":{},"content":{"253":{"position":[[1347,2]]}},"keywords":{}}],["seamless",{"_index":1817,"title":{},"content":{"99":{"position":[[4128,8]]}},"keywords":{}}],["search",{"_index":1340,"title":{},"content":{"59":{"position":[[823,8]]},"60":{"position":[[1221,8]]},"61":{"position":[[2121,8]]},"62":{"position":[[1123,8]]},"63":{"position":[[2307,8]]},"64":{"position":[[403,8]]},"304":{"position":[[1706,6],[1761,6],[1805,7]]},"324":{"position":[[3264,6]]},"461":{"position":[[643,8]]},"517":{"position":[[590,6],[606,8],[667,6]]},"525":{"position":[[250,9]]},"541":{"position":[[182,6],[193,8]]},"542":{"position":[[194,6],[205,8]]},"544":{"position":[[320,6]]},"572":{"position":[[202,6]]},"575":{"position":[[375,9]]},"579":{"position":[[78,6]]},"605":{"position":[[454,6]]},"736":{"position":[[390,6]]},"759":{"position":[[127,8]]}},"keywords":{}}],["sec",{"_index":3099,"title":{},"content":{"321":{"position":[[3165,3]]}},"keywords":{}}],["second",{"_index":292,"title":{},"content":{"8":{"position":[[399,6]]},"9":{"position":[[1004,6]]},"40":{"position":[[716,7]]},"44":{"position":[[680,6]]},"49":{"position":[[558,7],[627,7]]},"50":{"position":[[445,7],[514,7]]},"51":{"position":[[727,7],[800,7]]},"52":{"position":[[637,7],[706,7]]},"63":{"position":[[2573,7],[2663,7]]},"66":{"position":[[202,7],[303,7]]},"93":{"position":[[900,6],[1004,6]]},"94":{"position":[[698,6],[795,6]]},"99":{"position":[[1943,6],[2605,6],[5104,6]]},"130":{"position":[[20,7],[175,7],[254,7],[308,8]]},"147":{"position":[[121,7]]},"149":{"position":[[38,8],[93,7]]},"150":{"position":[[128,7]]},"152":{"position":[[40,8],[95,7]]},"154":{"position":[[123,7]]},"156":{"position":[[40,8],[95,7]]},"157":{"position":[[130,7]]},"159":{"position":[[42,8],[97,7]]},"160":{"position":[[51,8],[106,7]]},"161":{"position":[[49,8],[104,7]]},"162":{"position":[[48,8],[103,7]]},"163":{"position":[[48,8],[103,7]]},"164":{"position":[[48,8],[103,7]]},"165":{"position":[[91,7]]},"208":{"position":[[465,7]]},"225":{"position":[[516,7]]},"253":{"position":[[7865,7]]},"263":{"position":[[902,7],[1142,7]]},"307":{"position":[[871,7]]},"321":{"position":[[3122,7],[3157,7]]},"369":{"position":[[432,7]]},"371":{"position":[[83,7],[386,7]]},"418":{"position":[[1623,7],[1690,7],[1748,7],[1818,7]]},"419":{"position":[[663,7],[1676,7],[1743,7],[1801,7],[1871,7]]},"420":{"position":[[1648,7],[1715,7],[1773,7],[1843,7]]},"501":{"position":[[728,7],[1006,7]]},"514":{"position":[[1081,7]]},"528":{"position":[[1002,6],[1096,7]]},"578":{"position":[[893,6]]},"599":{"position":[[218,7],[302,7],[810,7]]},"601":{"position":[[491,6],[675,6]]},"636":{"position":[[1199,7]]},"637":{"position":[[1421,7]]},"638":{"position":[[1442,7]]},"639":{"position":[[1475,7]]},"640":{"position":[[1275,7]]},"641":{"position":[[1492,7]]},"642":{"position":[[1513,7]]},"643":{"position":[[1546,7]]},"681":{"position":[[532,7],[1084,8],[1238,8]]},"682":{"position":[[851,8],[1005,8]]},"683":{"position":[[637,8],[791,8]]},"684":{"position":[[609,8],[672,8]]},"685":{"position":[[699,8],[850,8]]},"686":{"position":[[750,8],[901,8]]},"687":{"position":[[565,8],[716,8]]},"688":{"position":[[495,8],[644,8]]},"748":{"position":[[219,8]]},"761":{"position":[[178,7]]}},"keywords":{}}],["secondari",{"_index":2218,"title":{},"content":{"226":{"position":[[348,9],[1226,9],[1996,9]]},"285":{"position":[[335,9]]},"321":{"position":[[1576,9],[3093,9]]}},"keywords":{}}],["seconds"",{"_index":2736,"title":{},"content":{"285":{"position":[[1194,13]]}},"keywords":{}}],["secondsgraph",{"_index":3866,"title":{},"content":{"418":{"position":[[1574,15]]},"419":{"position":[[1627,15]]},"420":{"position":[[1599,15]]}},"keywords":{}}],["secret",{"_index":1989,"title":{"136":{"position":[[0,7]]},"181":{"position":[[0,7]]}},"content":{"136":{"position":[[25,6],[69,6],[209,6],[262,6],[287,6],[315,6],[421,6],[474,6],[493,6],[523,6],[590,6],[632,6]]},"181":{"position":[[25,6],[72,6],[169,6],[222,6],[247,6],[275,6],[381,6],[393,6],[423,6],[490,6],[523,6]]},"364":{"position":[[744,6]]}},"keywords":{}}],["section",{"_index":433,"title":{},"content":{"20":{"position":[[657,8]]},"88":{"position":[[285,7]]},"287":{"position":[[15,8]]},"315":{"position":[[175,7]]},"347":{"position":[[2513,7]]},"500":{"position":[[844,8]]},"504":{"position":[[975,7]]},"505":{"position":[[830,7]]},"579":{"position":[[9,7]]},"608":{"position":[[234,7]]},"617":{"position":[[174,9]]},"619":{"position":[[159,7]]}},"keywords":{}}],["secur",{"_index":454,"title":{"464":{"position":[[3,8]]}},"content":{"20":{"position":[[1024,7]]},"23":{"position":[[23,6]]},"24":{"position":[[651,8]]},"27":{"position":[[609,6]]},"43":{"position":[[1117,9]]},"109":{"position":[[77,6]]},"324":{"position":[[372,6]]},"338":{"position":[[1044,9]]},"351":{"position":[[419,9]]},"459":{"position":[[101,8],[1801,8]]},"464":{"position":[[132,8],[309,6],[422,8],[481,6]]},"467":{"position":[[143,6]]},"469":{"position":[[509,6],[567,6]]}},"keywords":{}}],["securefil",{"_index":3332,"title":{},"content":{"347":{"position":[[1167,10]]}},"keywords":{}}],["see",{"_index":279,"title":{},"content":{"7":{"position":[[1177,3]]},"35":{"position":[[1327,3]]},"37":{"position":[[1120,3]]},"44":{"position":[[285,3],[493,3]]},"49":{"position":[[721,3],[758,3],[2665,3],[2723,3]]},"50":{"position":[[608,3],[645,3],[2258,3],[2316,3]]},"51":{"position":[[1133,3],[1191,3]]},"52":{"position":[[800,3],[837,3],[1683,3],[1741,3]]},"54":{"position":[[2645,3],[2857,3],[3331,3]]},"57":{"position":[[562,4]]},"58":{"position":[[553,4]]},"63":{"position":[[1175,3]]},"71":{"position":[[600,4]]},"72":{"position":[[362,4]]},"80":{"position":[[133,3]]},"81":{"position":[[8,3]]},"83":{"position":[[863,3],[2255,3],[3096,3]]},"84":{"position":[[771,3],[1090,3]]},"85":{"position":[[1399,3],[1591,3]]},"95":{"position":[[216,3]]},"99":{"position":[[1175,3]]},"108":{"position":[[703,4]]},"123":{"position":[[874,3]]},"133":{"position":[[819,3]]},"134":{"position":[[354,3]]},"143":{"position":[[664,3]]},"194":{"position":[[339,3]]},"201":{"position":[[1356,3]]},"203":{"position":[[1139,3]]},"204":{"position":[[1500,3]]},"205":{"position":[[1336,3]]},"230":{"position":[[1927,3]]},"234":{"position":[[132,3]]},"235":{"position":[[423,3]]},"253":{"position":[[2422,3],[2635,3],[6513,3],[6662,3],[8112,3]]},"254":{"position":[[694,3],[989,3],[1151,3],[2343,3],[2507,3]]},"257":{"position":[[970,3]]},"266":{"position":[[962,3]]},"267":{"position":[[3422,3],[4788,3],[5481,3],[6604,3]]},"268":{"position":[[754,3]]},"269":{"position":[[1056,3]]},"270":{"position":[[725,3]]},"285":{"position":[[171,4]]},"290":{"position":[[275,3]]},"292":{"position":[[525,3]]},"321":{"position":[[4006,3]]},"322":{"position":[[2111,3],[2176,3]]},"324":{"position":[[992,4],[1282,3]]},"327":{"position":[[161,3]]},"328":{"position":[[1567,3]]},"331":{"position":[[210,3]]},"332":{"position":[[972,3]]},"343":{"position":[[382,3]]},"345":{"position":[[126,3]]},"355":{"position":[[815,3]]},"362":{"position":[[389,3]]},"363":{"position":[[3,3]]},"372":{"position":[[227,3],[274,3]]},"373":{"position":[[712,3],[759,3]]},"383":{"position":[[671,3],[718,3]]},"429":{"position":[[350,3]]},"442":{"position":[[234,3]]},"483":{"position":[[146,4]]},"504":{"position":[[962,3]]},"517":{"position":[[380,4]]},"534":{"position":[[295,4]]},"546":{"position":[[41,3]]},"548":{"position":[[673,3]]},"564":{"position":[[291,3]]},"594":{"position":[[100,3]]},"619":{"position":[[135,3]]},"632":{"position":[[1200,3]]},"644":{"position":[[220,4]]},"667":{"position":[[659,4]]},"687":{"position":[[236,3]]},"753":{"position":[[110,3]]}},"keywords":{}}],["seed",{"_index":1425,"title":{},"content":{"67":{"position":[[869,4],[874,4],[930,4]]}},"keywords":{}}],["seem",{"_index":541,"title":{},"content":{"24":{"position":[[547,4]]},"327":{"position":[[532,4]]}},"keywords":{}}],["seen",{"_index":1801,"title":{},"content":{"99":{"position":[[1440,4],[1632,4]]},"321":{"position":[[3805,4]]}},"keywords":{}}],["seg_poly_read_convers",{"_index":2657,"title":{},"content":{"267":{"position":[[5232,25],[6055,24],[6139,24],[6239,24]]}},"keywords":{}}],["seg_poly_write_convers",{"_index":798,"title":{},"content":{"36":{"position":[[6694,26],[7454,25],[7539,25],[7640,25]]},"202":{"position":[[6694,26],[7454,25],[7539,25],[7640,25]]}},"keywords":{}}],["segment",{"_index":799,"title":{},"content":{"36":{"position":[[6729,9],[7031,9],[7083,7]]},"202":{"position":[[6729,9],[7031,9],[7083,7]]},"267":{"position":[[5266,9],[5632,9],[5684,7]]},"586":{"position":[[819,7]]}},"keywords":{}}],["select",{"_index":855,"title":{"547":{"position":[[0,9]]},"554":{"position":[[0,9]]},"572":{"position":[[0,9]]},"590":{"position":[[0,9]]},"600":{"position":[[0,9]]}},"content":{"38":{"position":[[1,6]]},"208":{"position":[[1,7],[109,6],[347,6]]},"225":{"position":[[1,7],[415,6]]},"254":{"position":[[587,6],[2214,6]]},"273":{"position":[[1,7],[108,6],[337,6]]},"282":{"position":[[1,7],[428,6]]},"300":{"position":[[382,6]]},"301":{"position":[[1459,6]]},"303":{"position":[[142,6],[239,8],[431,9],[486,6],[612,8],[639,8],[751,8],[769,6],[891,6],[947,6]]},"304":{"position":[[1632,6],[3546,8],[3562,6],[3626,8],[3686,8],[3715,6],[3914,6],[4017,6],[4113,6],[4220,6],[4408,6],[4616,6]]},"305":{"position":[[215,9],[279,6],[422,8],[473,8],[657,6],[827,6],[1082,6],[1256,6],[1556,6]]},"306":{"position":[[609,6]]},"307":{"position":[[437,6]]},"308":{"position":[[475,9],[674,6],[760,6],[837,6]]},"309":{"position":[[413,6]]},"322":{"position":[[224,6],[282,9]]},"334":{"position":[[768,6]]},"347":{"position":[[1005,6]]},"400":{"position":[[211,6],[230,9]]},"431":{"position":[[204,9],[266,9]]},"432":{"position":[[184,9]]},"433":{"position":[[81,9],[136,8],[152,7]]},"434":{"position":[[184,9],[352,6]]},"436":{"position":[[184,9]]},"446":{"position":[[770,6]]},"483":{"position":[[1241,8]]},"490":{"position":[[248,6]]},"492":{"position":[[158,9],[205,9],[239,6],[421,8]]},"505":{"position":[[573,9],[804,9],[1086,6]]},"514":{"position":[[288,6],[340,9]]},"518":{"position":[[53,6]]},"530":{"position":[[89,8]]},"533":{"position":[[1,6],[27,9],[57,6],[128,6],[366,6],[382,9]]},"534":{"position":[[395,9]]},"547":{"position":[[128,6]]},"552":{"position":[[266,6]]},"556":{"position":[[60,6],[106,6],[367,6],[620,6]]},"563":{"position":[[204,6]]},"564":{"position":[[154,6]]},"566":{"position":[[138,6]]},"573":{"position":[[28,9]]},"577":{"position":[[1035,6]]},"589":{"position":[[203,6]]},"590":{"position":[[1,9],[29,6],[120,6]]},"591":{"position":[[89,6]]},"598":{"position":[[222,6]]},"600":{"position":[[1,9],[29,6],[104,6],[169,6],[404,9]]},"605":{"position":[[93,6],[751,6]]},"608":{"position":[[64,10],[86,8],[225,8],[311,9],[664,9]]},"627":{"position":[[109,10],[573,9]]},"632":{"position":[[93,6],[132,8],[1627,6],[2023,6]]}},"keywords":{}}],["select(.nam",{"_index":1131,"title":{},"content":{"44":{"position":[[3668,18]]}},"keywords":{}}],["select_command",{"_index":2153,"title":{"225":{"position":[[0,15]]}},"content":{"208":{"position":[[85,14],[393,14]]},"209":{"position":[[321,14],[477,14]]},"225":{"position":[[444,14]]}},"keywords":{}}],["select_item",{"_index":2687,"title":{"273":{"position":[[0,12]]}},"content":{"273":{"position":[[419,11]]},"282":{"position":[[234,11],[493,11]]}},"keywords":{}}],["select_paramet",{"_index":2151,"title":{"208":{"position":[[0,17]]}},"content":{"208":{"position":[[421,16]]},"225":{"position":[[228,16],[472,16]]}},"keywords":{}}],["select_t",{"_index":854,"title":{"38":{"position":[[0,13]]}},"content":{},"keywords":{}}],["select_telemetri",{"_index":2688,"title":{"282":{"position":[[0,17]]}},"content":{"273":{"position":[[82,16],[383,16]]},"274":{"position":[[302,16],[440,16]]},"282":{"position":[[457,16]]}},"keywords":{}}],["selection"",{"_index":4411,"title":{},"content":{"505":{"position":[[881,15]]}},"keywords":{}}],["self",{"_index":390,"title":{},"content":{"20":{"position":[[7,4],[212,4]]},"75":{"position":[[754,4],[1118,5]]}},"keywords":{}}],["self.add_group('examplegroup",{"_index":4612,"title":{},"content":{"611":{"position":[[406,30]]}},"keywords":{}}],["self.add_group(examplegroup",{"_index":5494,"title":{},"content":{"754":{"position":[[1972,28]]}},"keywords":{}}],["self.add_group_setup(wrappergroup",{"_index":5495,"title":{},"content":{"754":{"position":[[2001,34]]}},"keywords":{}}],["self.add_group_teardown(wrappergroup",{"_index":5497,"title":{},"content":{"754":{"position":[[2079,37]]}},"keywords":{}}],["self.add_script(wrappergroup",{"_index":5496,"title":{},"content":{"754":{"position":[[2036,29]]}},"keywords":{}}],["self.allow_empty_data",{"_index":1496,"title":{},"content":{"71":{"position":[[496,21]]},"75":{"position":[[1028,21],[1165,21],[1225,22],[1256,21]]}},"keywords":{}}],["self.cmd_acpt_cnt",{"_index":2205,"title":{},"content":{"224":{"position":[[1263,17]]}},"keywords":{}}],["self.cmd_acpt_cnt}"",{"_index":2209,"title":{},"content":{"224":{"position":[[1438,26]]}},"keywords":{}}],["self.gimbal_step",{"_index":4305,"title":{},"content":{"487":{"position":[[1275,17],[1346,17],[1422,17]]}},"keywords":{}}],["self.interfac",{"_index":1495,"title":{},"content":{"71":{"position":[[474,14]]},"75":{"position":[[1062,14]]}},"keywords":{}}],["self.interface.read_protocol",{"_index":1521,"title":{},"content":{"75":{"position":[[1081,30]]}},"keywords":{}}],["self.multipli",{"_index":781,"title":{},"content":{"36":{"position":[[5975,15]]},"202":{"position":[[5975,15]]},"267":{"position":[[4455,15]]}},"keywords":{}}],["self.reset",{"_index":1498,"title":{},"content":{"71":{"position":[[574,12]]},"73":{"position":[[231,12]]},"74":{"position":[[243,12]]}},"keywords":{}}],["semant",{"_index":2571,"title":{},"content":{"254":{"position":[[300,8]]}},"keywords":{}}],["semicolon",{"_index":3906,"title":{},"content":{"429":{"position":[[623,9],[655,9]]}},"keywords":{}}],["send",{"_index":700,"title":{"93":{"position":[[0,7]]},"533":{"position":[[0,7]]}},"content":{"36":{"position":[[1980,7],[2927,7],[3245,7]]},"49":{"position":[[58,4]]},"51":{"position":[[39,4],[169,4],[246,4],[378,4]]},"58":{"position":[[189,4],[230,7]]},"80":{"position":[[36,4]]},"93":{"position":[[35,4],[129,5],[1317,4],[1367,4],[1532,4]]},"95":{"position":[[96,4],[587,7]]},"114":{"position":[[286,4]]},"115":{"position":[[198,4]]},"117":{"position":[[122,7]]},"143":{"position":[[172,5],[266,4]]},"202":{"position":[[1980,7],[2927,7],[3245,7]]},"211":{"position":[[119,4]]},"214":{"position":[[46,7],[121,7]]},"230":{"position":[[2041,7]]},"253":{"position":[[8210,4]]},"267":{"position":[[2139,7]]},"297":{"position":[[262,4],[508,4]]},"300":{"position":[[482,4]]},"303":{"position":[[43,4],[172,4],[320,4],[328,4],[600,7],[630,4],[672,4],[1046,7],[1212,4],[1278,4],[1370,7],[1460,4],[1931,4],[2066,5],[2145,4]]},"304":{"position":[[2781,5]]},"315":{"position":[[257,7]]},"320":{"position":[[668,5]]},"321":{"position":[[1094,7]]},"322":{"position":[[1207,7],[2021,4]]},"351":{"position":[[140,4]]},"429":{"position":[[130,4],[798,4],[1199,4]]},"430":{"position":[[284,6]]},"434":{"position":[[443,6]]},"446":{"position":[[954,6]]},"461":{"position":[[373,4],[531,4]]},"463":{"position":[[191,4]]},"466":{"position":[[593,4]]},"467":{"position":[[333,4]]},"478":{"position":[[67,7]]},"481":{"position":[[316,5]]},"514":{"position":[[81,7],[626,4]]},"530":{"position":[[40,4]]},"533":{"position":[[438,7]]},"534":{"position":[[1,7],[60,4],[414,4]]},"540":{"position":[[404,4]]},"585":{"position":[[775,4]]},"635":{"position":[[37,4]]},"636":{"position":[[1,5]]},"637":{"position":[[1,5],[143,4]]},"638":{"position":[[1,5]]},"639":{"position":[[1,5]]},"640":{"position":[[1,5]]},"641":{"position":[[1,5],[166,4]]},"642":{"position":[[1,5]]},"643":{"position":[[1,5]]},"645":{"position":[[1,5],[167,4],[221,5]]},"717":{"position":[[1,4],[404,4],[446,4]]},"718":{"position":[[1,4],[420,4],[462,4],[516,4]]},"727":{"position":[[1,4],[382,4],[424,4]]},"728":{"position":[[1,4],[424,4],[466,4],[520,4]]}},"keywords":{}}],["send_raw",{"_index":4878,"title":{"645":{"position":[[0,9]]}},"content":{},"keywords":{}}],["send_raw(<interfac",{"_index":4879,"title":{},"content":{"645":{"position":[[57,22]]}},"keywords":{}}],["send_raw("inst_int"",{"_index":4882,"title":{},"content":{"645":{"position":[[252,30]]}},"keywords":{}}],["sender",{"_index":347,"title":{"303":{"position":[[8,7]]},"529":{"position":[[8,6]]},"531":{"position":[[8,6]]}},"content":{"13":{"position":[[155,6]]},"36":{"position":[[2177,6]]},"202":{"position":[[2177,6]]},"210":{"position":[[58,6]]},"254":{"position":[[1108,6],[2485,6]]},"303":{"position":[[9,6],[412,6],[581,6],[699,6],[855,6],[1027,6],[1189,6],[1349,6],[1521,6],[1685,6],[1852,6],[2087,6],[2231,6]]},"530":{"position":[[9,6]]},"541":{"position":[[337,6],[367,6]]}},"keywords":{}}],["senderopen",{"_index":1766,"title":{},"content":{"95":{"position":[[313,10]]}},"keywords":{}}],["sens",{"_index":1473,"title":{},"content":{"69":{"position":[[3697,5]]},"253":{"position":[[4600,5]]},"340":{"position":[[116,5]]},"485":{"position":[[58,5]]},"504":{"position":[[729,6]]},"632":{"position":[[384,5]]}},"keywords":{}}],["sensit",{"_index":4106,"title":{},"content":{"464":{"position":[[255,9],[572,9]]}},"keywords":{}}],["sensor",{"_index":4750,"title":{},"content":{"627":{"position":[[636,6],[717,6],[787,6],[849,7],[878,7],[951,6],[1032,6],[1102,6]]}},"keywords":{}}],["sent",{"_index":174,"title":{},"content":{"5":{"position":[[872,4]]},"35":{"position":[[1283,4],[1814,4]]},"36":{"position":[[4451,5],[6294,5],[6925,5],[7989,5]]},"37":{"position":[[1076,4],[1607,4]]},"58":{"position":[[351,4],[454,4],[510,5]]},"63":{"position":[[902,4]]},"68":{"position":[[60,4]]},"78":{"position":[[188,5]]},"93":{"position":[[344,5],[425,5]]},"95":{"position":[[251,4]]},"133":{"position":[[63,4]]},"134":{"position":[[223,4]]},"198":{"position":[[65,4]]},"199":{"position":[[342,4]]},"201":{"position":[[1312,4],[1843,4]]},"202":{"position":[[4451,5],[6294,5],[6925,5],[7989,5]]},"203":{"position":[[1095,4],[1626,4]]},"204":{"position":[[1456,4],[1987,4]]},"205":{"position":[[1292,4],[1823,4]]},"206":{"position":[[843,4]]},"207":{"position":[[626,4]]},"210":{"position":[[223,4]]},"211":{"position":[[34,4],[90,4]]},"227":{"position":[[5326,4]]},"230":{"position":[[817,4]]},"271":{"position":[[836,4]]},"272":{"position":[[628,4]]},"299":{"position":[[397,4]]},"303":{"position":[[2010,5],[2139,5]]},"304":{"position":[[2753,5]]},"336":{"position":[[198,4]]},"344":{"position":[[271,4]]},"533":{"position":[[813,4]]},"546":{"position":[[62,4],[138,4]]},"547":{"position":[[114,5]]},"617":{"position":[[1264,5]]},"652":{"position":[[46,4]]},"653":{"position":[[45,5],[538,4],[665,4]]},"654":{"position":[[58,5],[447,4]]},"724":{"position":[[278,5],[789,5],[1324,5]]},"758":{"position":[[75,4]]}},"keywords":{}}],["separ",{"_index":564,"title":{},"content":{"26":{"position":[[183,10]]},"56":{"position":[[199,10]]},"120":{"position":[[327,9]]},"225":{"position":[[69,8]]},"227":{"position":[[2823,9],[3832,9]]},"257":{"position":[[406,10]]},"282":{"position":[[71,8]]},"284":{"position":[[117,8]]},"397":{"position":[[79,9]]},"401":{"position":[[51,9]]},"402":{"position":[[51,9]]},"429":{"position":[[594,8],[706,11],[772,9]]},"550":{"position":[[71,9]]},"752":{"position":[[224,8]]}},"keywords":{}}],["sequenc",{"_index":348,"title":{},"content":{"13":{"position":[[174,8]]},"58":{"position":[[46,8],[323,8],[426,8]]},"98":{"position":[[54,8]]},"226":{"position":[[535,8],[626,8],[1413,8],[1504,8],[2183,8],[2274,8]]},"285":{"position":[[504,8],[628,8]]},"321":{"position":[[538,8],[1394,8],[1926,8],[2426,8],[2942,8]]}},"keywords":{}}],["sequence"",{"_index":3098,"title":{},"content":{"321":{"position":[[2972,14]]}},"keywords":{}}],["seri",{"_index":3407,"title":{},"content":{"352":{"position":[[234,6]]},"366":{"position":[[444,6]]},"367":{"position":[[142,6]]},"474":{"position":[[135,6]]},"482":{"position":[[1102,6]]}},"keywords":{}}],["serial",{"_index":1194,"title":{"52":{"position":[[0,6]]},"341":{"position":[[8,6]]}},"content":{"48":{"position":[[88,7]]},"52":{"position":[[5,6],[50,6],[150,6],[260,6],[373,6],[512,6]]},"53":{"position":[[252,6]]},"58":{"position":[[5,6],[96,6]]},"115":{"position":[[173,6]]},"135":{"position":[[438,6]]},"297":{"position":[[624,6]]},"298":{"position":[[1172,6]]},"338":{"position":[[442,6],[496,6],[1947,6]]},"340":{"position":[[1,6]]},"341":{"position":[[1,6],[209,6]]},"507":{"position":[[223,6]]}},"keywords":{}}],["serial_int",{"_index":1985,"title":{},"content":{"135":{"position":[[677,10],[865,10]]},"338":{"position":[[1163,10],[1574,10]]}},"keywords":{}}],["serial_interfac",{"_index":1944,"title":{},"content":{"123":{"position":[[808,16]]},"143":{"position":[[598,16]]}},"keywords":{}}],["serial_interface.rb",{"_index":1254,"title":{},"content":{"52":{"position":[[953,19],[1069,19],[1176,19],[1272,19],[1394,19],[1490,19],[1604,19]]},"135":{"position":[[688,19]]},"338":{"position":[[1174,19],[1800,19]]}},"keywords":{}}],["serial_rout",{"_index":1986,"title":{},"content":{"135":{"position":[[794,13]]},"338":{"position":[[1463,13]]}},"keywords":{}}],["serialhost",{"_index":3275,"title":{},"content":{"340":{"position":[[35,11]]}},"keywords":{}}],["serialinterfac",{"_index":1263,"title":{},"content":{"52":{"position":[[1845,15]]},"135":{"position":[[314,15]]}},"keywords":{}}],["serialstream",{"_index":1267,"title":{},"content":{"53":{"position":[[150,13]]}},"keywords":{}}],["serv",{"_index":1314,"title":{},"content":{"57":{"position":[[305,5]]},"84":{"position":[[153,5],[312,5],[966,5]]},"235":{"position":[[1007,5],[1492,5]]},"240":{"position":[[1172,6],[1243,6],[1377,6]]},"250":{"position":[[370,5]]},"467":{"position":[[1259,6]]},"517":{"position":[[765,5]]}},"keywords":{}}],["server",{"_index":434,"title":{"50":{"position":[[6,6]]},"85":{"position":[[18,7]]},"301":{"position":[[22,7]]},"535":{"position":[[22,6]]},"537":{"position":[[22,6]]}},"content":{"20":{"position":[[706,6]]},"24":{"position":[[315,6]]},"27":{"position":[[50,6]]},"44":{"position":[[87,7]]},"48":{"position":[[71,7]]},"50":{"position":[[11,6],[44,6],[236,7]]},"53":{"position":[[277,6]]},"83":{"position":[[1710,6],[2185,8]]},"85":{"position":[[81,7],[1557,6]]},"87":{"position":[[100,7],[148,6]]},"89":{"position":[[34,6],[94,6]]},"109":{"position":[[119,6]]},"123":{"position":[[474,6]]},"128":{"position":[[1,6]]},"129":{"position":[[1,6]]},"130":{"position":[[66,6]]},"131":{"position":[[60,6]]},"212":{"position":[[13,6]]},"240":{"position":[[655,8],[1007,6],[1104,6],[1655,6]]},"253":{"position":[[607,6]]},"267":{"position":[[8010,6]]},"297":{"position":[[212,6]]},"301":{"position":[[27,6],[181,6],[285,6],[446,6],[544,6],[649,6],[827,6],[941,6],[1146,6],[1244,6],[1399,6],[1541,6],[1714,6]]},"304":{"position":[[4400,7]]},"320":{"position":[[1524,6]]},"338":{"position":[[2117,6]]},"344":{"position":[[193,6]]},"353":{"position":[[302,7]]},"356":{"position":[[441,7]]},"464":{"position":[[316,7]]},"467":{"position":[[150,7]]},"536":{"position":[[27,6],[403,6],[438,6]]},"538":{"position":[[27,6],[142,6],[208,7]]},"544":{"position":[[77,6],[109,6]]},"607":{"position":[[234,6]]},"620":{"position":[[199,6]]},"621":{"position":[[445,6],[500,6],[623,6],[683,6],[771,6],[828,6],[903,6],[973,6],[1052,6],[1111,6],[1301,6],[1382,6],[1448,6],[1499,6],[1572,6],[1652,6],[1711,6],[1801,6],[1895,6],[1954,6],[2026,6],[2084,6],[2134,6],[2199,6],[2285,6],[2357,6],[2429,6],[2507,6],[2565,6],[2618,6],[2679,6],[2735,6],[2811,6],[3456,6],[3567,6],[4034,6],[4088,6],[4142,6],[4217,6],[4286,6],[4340,6],[4401,6],[4454,6],[4507,6],[4560,6],[4624,6],[4686,6],[4775,6],[4907,6],[4971,6],[5039,6]]},"669":{"position":[[58,7]]},"671":{"position":[[76,7]]},"672":{"position":[[70,7]]},"711":{"position":[[387,6]]},"720":{"position":[[333,6]]}},"keywords":{}}],["servic",{"_index":511,"title":{},"content":{"23":{"position":[[98,9],[140,9]]},"46":{"position":[[448,8]]},"139":{"position":[[68,7]]},"175":{"position":[[69,7]]},"240":{"position":[[1757,7]]},"241":{"position":[[165,9],[233,8]]},"324":{"position":[[334,8],[2434,7]]},"328":{"position":[[903,7],[1054,7],[1198,7],[1479,7]]},"329":{"position":[[1590,7]]},"341":{"position":[[117,7]]},"347":{"position":[[1273,8],[2543,7]]},"349":{"position":[[39,8],[147,8]]},"460":{"position":[[283,9]]},"461":{"position":[[122,8],[262,8],[338,8],[1284,8]]},"462":{"position":[[307,8]]},"465":{"position":[[65,8],[283,8]]},"467":{"position":[[402,9],[653,8],[864,9],[880,7]]}},"keywords":{}}],["set",{"_index":7,"title":{"314":{"position":[[0,7]]},"316":{"position":[[0,7]]},"374":{"position":[[0,8]]},"747":{"position":[[14,9]]},"765":{"position":[[0,9]]}},"content":{"1":{"position":[[65,3]]},"5":{"position":[[467,3]]},"7":{"position":[[1053,3]]},"17":{"position":[[274,3]]},"18":{"position":[[279,3]]},"35":{"position":[[627,3]]},"36":{"position":[[3305,3],[4590,3],[8582,3],[9635,3],[9833,7],[9959,3]]},"37":{"position":[[420,3]]},"43":{"position":[[826,3],[978,3]]},"44":{"position":[[1458,3],[2073,3]]},"61":{"position":[[341,3],[2396,7]]},"69":{"position":[[2974,3]]},"76":{"position":[[662,3]]},"83":{"position":[[2111,4]]},"84":{"position":[[578,3]]},"85":{"position":[[964,3],[1075,3],[1099,3]]},"99":{"position":[[1102,3],[1250,4],[3161,3],[3568,4],[3704,4],[3879,4]]},"103":{"position":[[89,3]]},"122":{"position":[[60,4],[230,4]]},"130":{"position":[[154,4]]},"135":{"position":[[1,3],[52,3],[241,4]]},"137":{"position":[[16,4]]},"138":{"position":[[16,3]]},"170":{"position":[[92,3]]},"173":{"position":[[1,4]]},"174":{"position":[[1,3]]},"183":{"position":[[98,3]]},"189":{"position":[[1,3]]},"193":{"position":[[90,3]]},"196":{"position":[[92,3]]},"201":{"position":[[656,3]]},"202":{"position":[[3305,3],[4590,3],[8582,3],[9635,3],[9833,7],[9959,3]]},"203":{"position":[[439,3]]},"204":{"position":[[826,3]]},"205":{"position":[[662,3]]},"226":{"position":[[1724,8]]},"227":{"position":[[1130,3],[1692,3],[1842,3],[4171,3]]},"237":{"position":[[342,7]]},"249":{"position":[[75,5],[88,5]]},"253":{"position":[[6458,3]]},"260":{"position":[[455,3]]},"263":{"position":[[247,3],[395,4],[451,3],[693,3]]},"266":{"position":[[654,3]]},"267":{"position":[[7901,3],[8467,3],[8490,4],[8524,4],[9482,7],[9869,7]]},"268":{"position":[[446,3]]},"289":{"position":[[1116,9],[1473,7]]},"291":{"position":[[259,3],[763,4],[1167,3],[1443,3]]},"293":{"position":[[49,3]]},"300":{"position":[[347,7],[377,4],[408,3]]},"301":{"position":[[1427,7],[1454,4],[1485,3]]},"304":{"position":[[3571,3],[3724,3]]},"311":{"position":[[550,8],[931,8]]},"322":{"position":[[1143,3],[2250,4]]},"324":{"position":[[1144,7],[2825,3]]},"333":{"position":[[77,7]]},"338":{"position":[[1982,3]]},"343":{"position":[[442,8],[652,8]]},"347":{"position":[[1133,3],[1201,3],[1585,9]]},"351":{"position":[[262,3]]},"357":{"position":[[2091,8]]},"372":{"position":[[18,7],[151,7],[214,7],[231,7],[257,7],[278,7]]},"373":{"position":[[272,8],[383,3],[589,7],[699,7],[716,7],[742,7],[763,7],[809,3]]},"374":{"position":[[18,7],[60,8],[184,8],[224,8],[292,7],[448,8],[512,8]]},"375":{"position":[[1,4],[234,7],[284,7]]},"376":{"position":[[1,4],[238,7],[261,7],[312,7],[335,7]]},"377":{"position":[[1,4],[234,7],[290,7],[313,7],[364,7]]},"378":{"position":[[1,4],[236,7],[292,7],[315,7],[367,7]]},"379":{"position":[[15,7],[23,4],[404,7],[459,7]]},"380":{"position":[[15,7],[23,4],[398,7],[453,7]]},"381":{"position":[[17,7],[25,4],[417,7],[480,7]]},"382":{"position":[[185,7]]},"383":{"position":[[272,8],[383,3],[597,7],[658,7],[675,7],[701,7],[722,7]]},"404":{"position":[[846,7],[875,7],[919,8],[974,7]]},"411":{"position":[[191,8],[258,7],[285,7],[314,7],[759,7],[785,7],[809,7],[856,8],[906,7]]},"418":{"position":[[580,7],[655,8],[711,7]]},"419":{"position":[[614,7],[634,7],[708,8],[764,7]]},"420":{"position":[[603,7],[675,8],[736,7]]},"424":{"position":[[525,7],[583,7],[620,7],[737,7],[795,7],[832,7]]},"425":{"position":[[392,7],[440,7],[681,7]]},"429":{"position":[[2148,3]]},"441":{"position":[[414,7],[622,8],[680,7]]},"442":{"position":[[82,7],[175,7],[1018,7],[1074,7],[1133,7],[1178,8],[1241,7]]},"444":{"position":[[889,7],[914,7],[998,7],[1031,7],[1086,8],[1148,7]]},"446":{"position":[[657,7],[1161,7]]},"448":{"position":[[160,4]]},"481":{"position":[[89,3]]},"482":{"position":[[948,3]]},"487":{"position":[[64,3]]},"490":{"position":[[183,3],[628,3]]},"496":{"position":[[488,4]]},"500":{"position":[[286,3],[727,3]]},"514":{"position":[[1035,7]]},"556":{"position":[[167,4],[426,4]]},"563":{"position":[[93,9]]},"564":{"position":[[352,8],[439,8]]},"570":{"position":[[146,9]]},"577":{"position":[[176,9],[601,4],[614,4],[721,3],[761,5],[799,3],[879,3]]},"585":{"position":[[94,3],[351,3]]},"586":{"position":[[96,3],[370,3]]},"589":{"position":[[92,9]]},"591":{"position":[[416,3]]},"598":{"position":[[111,9]]},"599":{"position":[[75,8],[105,8],[143,8],[475,3],[1136,4],[1297,3],[1322,3]]},"601":{"position":[[254,3]]},"608":{"position":[[797,3]]},"612":{"position":[[881,4],[961,4],[1021,4],[1056,7],[1553,4]]},"613":{"position":[[192,3]]},"663":{"position":[[61,3]]},"669":{"position":[[1,4],[281,7],[574,3]]},"671":{"position":[[1,4],[441,3],[737,3],[936,3]]},"673":{"position":[[57,3]]},"693":{"position":[[32,3]]},"694":{"position":[[33,3]]},"696":{"position":[[1,4],[25,4],[49,3],[121,3],[171,3],[199,4]]},"697":{"position":[[40,4],[64,3]]},"698":{"position":[[28,4]]},"699":{"position":[[39,8]]},"700":{"position":[[23,4],[35,8],[158,4],[191,8],[457,3],[732,7],[756,4],[837,7],[861,4],[972,7],[996,4],[1099,7],[1123,4],[1488,3],[1502,3],[1539,4],[1577,7],[1614,4],[1641,3],[1782,8],[1805,5],[1926,8],[1949,5]]},"730":{"position":[[1,4],[164,3],[189,3]]},"747":{"position":[[63,9]]},"748":{"position":[[13,4]]},"750":{"position":[[13,4]]},"760":{"position":[[46,3]]},"761":{"position":[[38,3]]},"762":{"position":[[38,3]]},"763":{"position":[[38,3]]},"764":{"position":[[21,3]]},"765":{"position":[[20,8],[66,8],[131,9]]},"766":{"position":[[31,7]]},"767":{"position":[[31,8]]},"768":{"position":[[39,8],[91,7],[285,7]]},"769":{"position":[[1,4],[16,7],[284,7],[302,7],[316,7],[333,3]]}},"keywords":{}}],["set_cmd_tlm_disconnect",{"_index":4700,"title":{},"content":{"621":{"position":[[3641,22]]}},"keywords":{}}],["set_disconnected_target",{"_index":4702,"title":{},"content":{"621":{"position":[[3712,24]]}},"keywords":{}}],["set_limit",{"_index":5186,"title":{"700":{"position":[[0,11]]}},"content":{},"keywords":{}}],["set_limits(<target",{"_index":5188,"title":{},"content":{"700":{"position":[[237,21]]}},"keywords":{}}],["set_limits('inst",{"_index":5198,"title":{},"content":{"700":{"position":[[1980,18]]}},"keywords":{}}],["set_limits_method",{"_index":5187,"title":{},"content":{"700":{"position":[[5,17]]}},"keywords":{}}],["set_limits_set",{"_index":5168,"title":{"696":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_limits_set("<limit",{"_index":5169,"title":{},"content":{"696":{"position":[[89,31]]}},"keywords":{}}],["set_limits_set("default"",{"_index":5170,"title":{},"content":{"696":{"position":[[229,35]]}},"keywords":{}}],["set_line_delay",{"_index":5456,"title":{"748":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_line_delay(<delay>",{"_index":5457,"title":{},"content":{"748":{"position":[[75,29]]}},"keywords":{}}],["set_line_delay(0.0",{"_index":5459,"title":{},"content":{"748":{"position":[[269,19]]}},"keywords":{}}],["set_max_output",{"_index":5462,"title":{"750":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_max_output(<characters>",{"_index":5464,"title":{},"content":{"750":{"position":[[159,34]]}},"keywords":{}}],["set_max_output(100",{"_index":5466,"title":{},"content":{"750":{"position":[[302,19]]}},"keywords":{}}],["set_opt",{"_index":1978,"title":{},"content":{"135":{"position":[[86,10],[136,10]]}},"keywords":{}}],["set_replay_mod",{"_index":4703,"title":{},"content":{"621":{"position":[[3765,15]]}},"keywords":{}}],["set_set",{"_index":4699,"title":{"769":{"position":[[0,12]]}},"content":{"621":{"position":[[3629,11]]}},"keywords":{}}],["set_setting(<set",{"_index":5563,"title":{},"content":{"769":{"position":[[179,23]]}},"keywords":{}}],["set_setting('pypi_url",{"_index":5568,"title":{},"content":{"769":{"position":[[496,23]]}},"keywords":{}}],["set_setting('rubygems_url",{"_index":5564,"title":{},"content":{"769":{"position":[[353,27]]}},"keywords":{}}],["set_stdout_max_lin",{"_index":4704,"title":{},"content":{"621":{"position":[[3799,20]]}},"keywords":{}}],["set_tlm",{"_index":4706,"title":{"669":{"position":[[0,8]]}},"content":{"621":{"position":[[3887,7]]}},"keywords":{}}],["set_tlm("<target>",{"_index":5066,"title":{},"content":{"669":{"position":[[389,28]]}},"keywords":{}}],["set_tlm("inst",{"_index":5070,"title":{},"content":{"669":{"position":[[687,18],[824,18],[974,18],[1110,18]]}},"keywords":{}}],["set_tlm_raw",{"_index":4705,"title":{},"content":{"621":{"position":[[3845,11]]}},"keywords":{}}],["setopen",{"_index":4509,"title":{},"content":{"577":{"position":[[66,8]]}},"keywords":{}}],["setpoint",{"_index":5407,"title":{},"content":{"732":{"position":[[126,10],[213,11]]},"733":{"position":[[97,11]]}},"keywords":{}}],["sets"",{"_index":2664,"title":{},"content":{"267":{"position":[[8210,10]]}},"keywords":{}}],["setting<",{"_index":2247,"title":{},"content":{"226":{"position":[[2425,13]]}},"keywords":{}}],["setting"",{"_index":216,"title":{},"content":{"6":{"position":[[428,13],[859,13],[914,13],[969,13],[1024,13],[1079,13]]},"36":{"position":[[3554,13]]},"202":{"position":[[3554,13]]},"267":{"position":[[2614,13]]}},"keywords":{}}],["settings"",{"_index":2244,"title":{},"content":{"226":{"position":[[1758,14]]}},"keywords":{}}],["settings)delimit",{"_index":4481,"title":{},"content":{"552":{"position":[[105,16]]}},"keywords":{}}],["settings)reset",{"_index":4503,"title":{},"content":{"570":{"position":[[104,14]]}},"keywords":{}}],["settings.sinc",{"_index":3490,"title":{},"content":{"357":{"position":[[892,14]]}},"keywords":{}}],["settingsif",{"_index":3327,"title":{},"content":{"347":{"position":[[934,10]]}},"keywords":{}}],["setup",{"_index":1152,"title":{},"content":{"46":{"position":[[411,5]]},"249":{"position":[[516,5]]},"287":{"position":[[128,5]]},"291":{"position":[[342,5]]},"304":{"position":[[5360,5],[5422,6],[5526,5],[5588,6]]},"347":{"position":[[403,5],[1381,5]]},"610":{"position":[[429,5],[797,5],[861,5]]},"611":{"position":[[213,5],[557,5],[601,5]]},"754":{"position":[[96,6],[210,5],[1225,5]]}},"keywords":{}}],["setup"",{"_index":4609,"title":{},"content":{"611":{"position":[[236,11],[472,12]]}},"keywords":{}}],["setup(self",{"_index":4598,"title":{},"content":{"610":{"position":[[658,12]]},"611":{"position":[[441,12]]},"754":{"position":[[1758,12]]}},"keywords":{}}],["sever",{"_index":1673,"title":{},"content":{"85":{"position":[[99,7]]},"135":{"position":[[261,7]]},"263":{"position":[[30,7]]},"297":{"position":[[24,7]]},"307":{"position":[[209,7]]},"309":{"position":[[619,7]]},"363":{"position":[[1144,7]]},"476":{"position":[[3597,7]]},"493":{"position":[[24,7]]},"495":{"position":[[17,7]]},"505":{"position":[[136,7]]},"523":{"position":[[284,7]]},"533":{"position":[[730,7]]},"544":{"position":[[282,8]]},"599":{"position":[[802,7]]},"608":{"position":[[35,7]]},"765":{"position":[[12,7]]}},"keywords":{}}],["sh",{"_index":2599,"title":{},"content":{"257":{"position":[[880,3]]},"347":{"position":[[2323,2]]}},"keywords":{}}],["sha",{"_index":453,"title":{},"content":{"20":{"position":[[1020,3]]},"99":{"position":[[1280,3]]}},"keywords":{}}],["sha256",{"_index":413,"title":{},"content":{"20":{"position":[[355,6]]}},"keywords":{}}],["shall",{"_index":2850,"title":{},"content":{"299":{"position":[[77,5],[171,5],[286,5],[374,5],[418,5],[467,5],[532,5],[661,5],[765,5],[1022,5],[1140,5]]},"300":{"position":[[59,5],[196,5],[326,5],[448,5],[518,5],[622,5],[728,5],[830,5]]},"301":{"position":[[188,5],[292,5],[453,5],[551,5],[656,5],[834,5],[948,5],[1153,5],[1251,5],[1406,5],[1548,5],[1721,5]]},"302":{"position":[[236,5],[349,5],[445,5],[532,5],[682,5],[766,5]]},"303":{"position":[[419,5],[588,5],[706,5],[862,5],[1034,5],[1196,5],[1356,5],[1528,5],[1692,5],[1859,5],[2094,5],[2238,5]]},"304":{"position":[[1353,5],[1692,5],[1871,5],[2090,5],[2184,5],[2324,5],[2455,5],[2552,5],[2734,5],[2842,5],[3013,5],[3132,5],[3302,5],[3522,5],[3662,5],[3809,5],[3973,5],[4071,5],[4170,5],[4284,5],[4556,5],[4668,5],[4830,5],[4988,5],[5101,5],[5214,5],[5325,5],[5491,5],[5657,5],[5796,5],[5942,5],[6109,5],[6257,5],[6387,5],[6549,5],[6762,5]]},"305":{"position":[[203,5],[388,5],[546,5],[726,5],[894,5],[1039,5],[1154,5],[1410,5]]},"306":{"position":[[325,5],[410,5],[506,5]]},"307":{"position":[[158,5],[277,5],[386,5],[516,5],[605,5],[717,5],[814,5],[911,5],[1012,5],[1108,5]]},"308":{"position":[[170,5],[275,5],[364,5],[461,5],[637,5],[722,5],[808,5]]},"309":{"position":[[246,5],[361,5],[463,5],[558,5],[658,5]]},"310":{"position":[[148,5],[240,5],[336,5],[429,5],[512,5],[609,5],[704,5],[807,5]]},"311":{"position":[[161,5],[240,5],[320,5],[394,5],[505,5],[598,5],[684,5],[770,5],[852,5]]},"360":{"position":[[608,5],[915,5]]},"459":{"position":[[415,5],[787,5]]}},"keywords":{}}],["share",{"_index":372,"title":{"467":{"position":[[39,6]]}},"content":{"17":{"position":[[53,5]]},"18":{"position":[[56,5]]},"31":{"position":[[480,5]]},"227":{"position":[[1065,6]]},"240":{"position":[[1922,5]]},"249":{"position":[[580,6]]},"253":{"position":[[2585,5]]},"257":{"position":[[271,5],[433,6]]},"356":{"position":[[506,5]]},"459":{"position":[[32,7],[238,6]]},"467":{"position":[[27,6]]},"487":{"position":[[173,6]]}},"keywords":{}}],["shell",{"_index":2816,"title":{},"content":{"292":{"position":[[97,5]]}},"keywords":{}}],["shell'",{"_index":2819,"title":{},"content":{"292":{"position":[[215,7]]}},"keywords":{}}],["ship",{"_index":2843,"title":{},"content":{"298":{"position":[[1107,5]]},"364":{"position":[[1211,4]]},"467":{"position":[[696,8]]}},"keywords":{}}],["short",{"_index":169,"title":{},"content":{"5":{"position":[[780,5]]},"46":{"position":[[372,5]]},"199":{"position":[[250,5]]},"264":{"position":[[279,5]]},"329":{"position":[[1115,5],[1135,5],[1155,5]]},"352":{"position":[[108,5]]},"359":{"position":[[299,5]]},"486":{"position":[[246,5]]},"504":{"position":[[93,5]]}},"keywords":{}}],["shortcut",{"_index":4469,"title":{},"content":{"536":{"position":[[251,9]]}},"keywords":{}}],["shorter",{"_index":793,"title":{},"content":{"36":{"position":[[6575,7],[7371,7]]},"202":{"position":[[6575,7],[7371,7]]},"267":{"position":[[5114,7],[5972,7]]}},"keywords":{}}],["shot",{"_index":4553,"title":{},"content":{"593":{"position":[[502,5],[698,4]]}},"keywords":{}}],["show",{"_index":351,"title":{},"content":{"13":{"position":[[232,7]]},"14":{"position":[[201,7]]},"90":{"position":[[208,4],[419,4]]},"191":{"position":[[1,4]]},"198":{"position":[[1173,5]]},"259":{"position":[[1189,5]]},"292":{"position":[[874,4],[1022,4]]},"298":{"position":[[23,5]]},"302":{"position":[[88,5]]},"303":{"position":[[2179,5]]},"306":{"position":[[464,4]]},"322":{"position":[[1436,7]]},"338":{"position":[[1751,5]]},"357":{"position":[[1025,4],[2516,4],[4127,7]]},"364":{"position":[[1520,5]]},"414":{"position":[[373,4]]},"476":{"position":[[1898,4],[1981,4],[2812,4],[2896,4],[3591,5],[4014,4],[4516,5]]},"488":{"position":[[626,4]]},"497":{"position":[[88,5],[497,4],[796,4]]},"534":{"position":[[242,4]]},"536":{"position":[[430,7]]},"559":{"position":[[247,5]]},"571":{"position":[[3,5]]},"577":{"position":[[3,4],[187,4]]},"583":{"position":[[274,5]]},"584":{"position":[[512,4]]},"590":{"position":[[154,4]]},"600":{"position":[[375,5]]},"601":{"position":[[459,4]]}},"keywords":{}}],["show_backtrac",{"_index":4707,"title":{},"content":{"621":{"position":[[3895,14]]}},"keywords":{}}],["shown",{"_index":38,"title":{"191":{"position":[[0,6]]}},"content":{"2":{"position":[[170,5]]},"36":{"position":[[10517,5],[10764,5]]},"39":{"position":[[183,5]]},"189":{"position":[[21,5]]},"191":{"position":[[50,5],[203,6]]},"227":{"position":[[750,5]]},"298":{"position":[[261,5]]},"303":{"position":[[834,6]]},"320":{"position":[[1628,5]]},"324":{"position":[[2760,6]]},"476":{"position":[[3772,5]]},"478":{"position":[[907,5]]},"493":{"position":[[354,5]]},"534":{"position":[[478,6]]},"540":{"position":[[578,5]]},"548":{"position":[[127,5]]},"559":{"position":[[90,5]]},"575":{"position":[[162,5],[187,5]]},"577":{"position":[[428,5]]},"578":{"position":[[264,5],[378,5]]},"579":{"position":[[92,6]]},"621":{"position":[[3953,5]]},"658":{"position":[[188,5]]},"681":{"position":[[166,6]]},"683":{"position":[[213,5]]},"687":{"position":[[209,5]]}},"keywords":{}}],["shrink",{"_index":4568,"title":{},"content":{"601":{"position":[[313,7],[505,7],[689,7]]}},"keywords":{}}],["shut",{"_index":2999,"title":{},"content":{"315":{"position":[[476,8]]}},"keywords":{}}],["shutdown_cmd_tlm",{"_index":4709,"title":{},"content":{"621":{"position":[[3995,16]]}},"keywords":{}}],["shutter",{"_index":2893,"title":{},"content":{"304":{"position":[[1073,8]]}},"keywords":{}}],["side",{"_index":3259,"title":{},"content":{"336":{"position":[[258,4]]},"404":{"position":[[711,4]]},"491":{"position":[[37,4]]},"559":{"position":[[108,4]]},"601":{"position":[[830,4],[838,5]]}},"keywords":{}}],["sign",{"_index":391,"title":{},"content":{"20":{"position":[[12,6],[217,6]]},"24":{"position":[[494,6],[853,6],[871,6]]},"36":{"position":[[9819,6],[10219,6],[10326,6]]},"43":{"position":[[51,4]]},"202":{"position":[[9819,6],[10219,6],[10326,6]]},"240":{"position":[[1749,4]]},"253":{"position":[[3614,6],[5282,6]]},"361":{"position":[[19,6]]}},"keywords":{}}],["signal",{"_index":1459,"title":{"425":{"position":[[0,7]]}},"content":{"69":{"position":[[2126,6]]},"75":{"position":[[1762,6]]},"108":{"position":[[583,8]]},"425":{"position":[[37,6],[334,6]]}},"keywords":{}}],["signed"",{"_index":2804,"title":{},"content":{"291":{"position":[[693,13]]}},"keywords":{}}],["signific",{"_index":644,"title":{},"content":{"35":{"position":[[188,11]]},"201":{"position":[[216,11]]},"204":{"position":[[439,11]]},"206":{"position":[[233,11]]},"266":{"position":[[220,11]]},"269":{"position":[[390,11]]},"271":{"position":[[237,11]]},"329":{"position":[[317,11],[491,11],[683,11],[921,11],[1424,11],[1474,11]]},"476":{"position":[[332,12],[441,12]]}},"keywords":{}}],["significantli",{"_index":384,"title":{},"content":{"17":{"position":[[349,13]]},"18":{"position":[[354,13]]},"324":{"position":[[353,13]]}},"keywords":{}}],["silent",{"_index":1092,"title":{},"content":{"44":{"position":[[2484,6]]},"76":{"position":[[473,8]]},"77":{"position":[[489,8]]},"78":{"position":[[486,8]]}},"keywords":{}}],["similar",{"_index":188,"title":{},"content":{"5":{"position":[[1435,7]]},"31":{"position":[[495,10]]},"60":{"position":[[702,7]]},"61":{"position":[[530,7]]},"69":{"position":[[3175,7]]},"99":{"position":[[4646,7]]},"108":{"position":[[433,8]]},"227":{"position":[[789,7]]},"253":{"position":[[5833,7]]},"262":{"position":[[213,7]]},"324":{"position":[[607,7]]},"357":{"position":[[1917,7],[3407,7]]},"359":{"position":[[1543,7]]},"475":{"position":[[84,7]]},"476":{"position":[[16,12],[4437,10]]},"558":{"position":[[324,7]]},"581":{"position":[[73,7]]},"591":{"position":[[274,7]]},"605":{"position":[[659,7]]},"612":{"position":[[317,7]]},"616":{"position":[[87,7]]},"650":{"position":[[23,8]]},"661":{"position":[[23,8]]}},"keywords":{}}],["similarli",{"_index":1471,"title":{},"content":{"69":{"position":[[3567,9]]},"327":{"position":[[398,9]]},"478":{"position":[[389,9]]},"599":{"position":[[863,10]]},"611":{"position":[[864,10]]}},"keywords":{}}],["simpl",{"_index":124,"title":{"479":{"position":[[14,6]]}},"content":{"3":{"position":[[610,7]]},"8":{"position":[[77,6]]},"60":{"position":[[443,6]]},"230":{"position":[[1840,6]]},"231":{"position":[[1083,6]]},"234":{"position":[[733,6]]},"235":{"position":[[1256,6]]},"239":{"position":[[179,6]]},"242":{"position":[[141,6]]},"245":{"position":[[347,6]]},"297":{"position":[[871,6]]},"303":{"position":[[114,6]]},"304":{"position":[[1442,6]]},"305":{"position":[[26,6]]},"328":{"position":[[1827,6]]},"332":{"position":[[666,6]]},"355":{"position":[[212,6],[513,6],[919,6]]},"357":{"position":[[505,7]]},"474":{"position":[[251,7]]},"478":{"position":[[49,6],[891,6]]},"484":{"position":[[56,6]]},"485":{"position":[[339,6]]},"513":{"position":[[459,6]]},"522":{"position":[[120,6]]},"523":{"position":[[35,6]]},"588":{"position":[[113,6]]},"591":{"position":[[251,6]]},"610":{"position":[[332,6]]}},"keywords":{}}],["simple.txt",{"_index":3229,"title":{},"content":{"328":{"position":[[1542,10]]}},"keywords":{}}],["simpler",{"_index":3138,"title":{},"content":{"324":{"position":[[157,7]]}},"keywords":{}}],["simpli",{"_index":332,"title":{},"content":{"12":{"position":[[222,6]]},"56":{"position":[[616,6]]},"58":{"position":[[216,6]]},"59":{"position":[[20,6]]},"62":{"position":[[416,6]]},"253":{"position":[[6091,6]]},"254":{"position":[[1834,6]]},"256":{"position":[[97,6]]},"259":{"position":[[1453,6]]},"289":{"position":[[1176,6]]},"334":{"position":[[381,6]]},"451":{"position":[[165,6]]},"456":{"position":[[28,6]]},"463":{"position":[[168,6]]},"490":{"position":[[632,6]]},"497":{"position":[[246,6]]},"511":{"position":[[107,6]]},"514":{"position":[[659,6]]},"527":{"position":[[125,6],[420,6]]},"578":{"position":[[334,6]]},"599":{"position":[[1129,6]]},"607":{"position":[[29,6]]},"617":{"position":[[1044,6]]},"656":{"position":[[215,6]]}},"keywords":{}}],["simulation=${simul",{"_index":3007,"title":{},"content":{"318":{"position":[[91,24]]}},"keywords":{}}],["simulation=n",{"_index":3006,"title":{},"content":{"318":{"position":[[69,17]]}},"keywords":{}}],["simultan",{"_index":4431,"title":{},"content":{"512":{"position":[[167,14]]}},"keywords":{}}],["singl",{"_index":142,"title":{"246":{"position":[[0,6]]},"499":{"position":[[15,6]]}},"content":{"5":{"position":[[53,6]]},"9":{"position":[[798,6],[907,6]]},"39":{"position":[[30,6]]},"42":{"position":[[38,6],[93,6]]},"43":{"position":[[44,6]]},"84":{"position":[[586,6]]},"93":{"position":[[512,6],[829,6]]},"94":{"position":[[496,6],[620,6]]},"99":{"position":[[2705,6]]},"184":{"position":[[128,6]]},"187":{"position":[[88,6]]},"188":{"position":[[157,6]]},"240":{"position":[[1742,6]]},"241":{"position":[[188,6]]},"246":{"position":[[74,6],[176,6],[346,6]]},"253":{"position":[[1057,6],[2485,6],[2539,6]]},"303":{"position":[[48,6]]},"356":{"position":[[785,6]]},"366":{"position":[[205,6]]},"429":{"position":[[616,6]]},"434":{"position":[[199,6]]},"451":{"position":[[3,6]]},"499":{"position":[[249,6]]},"502":{"position":[[12,6],[124,6],[282,6],[381,6]]},"527":{"position":[[91,6]]},"577":{"position":[[785,6]]},"593":{"position":[[636,6]]},"601":{"position":[[937,6]]},"611":{"position":[[996,6]]},"632":{"position":[[102,6],[1355,6],[1762,6]]},"729":{"position":[[271,6]]}},"keywords":{}}],["sit",{"_index":4472,"title":{},"content":{"544":{"position":[[24,4]]}},"keywords":{}}],["site",{"_index":397,"title":{},"content":{"20":{"position":[[97,4]]},"361":{"position":[[479,4]]},"363":{"position":[[938,4]]},"467":{"position":[[1289,5]]},"469":{"position":[[121,4],[148,5],[314,6],[783,4],[865,5]]}},"keywords":{}}],["situat",{"_index":4410,"title":{},"content":{"505":{"position":[[678,9]]},"575":{"position":[[41,11]]},"596":{"position":[[240,11]]}},"keywords":{}}],["six",{"_index":4614,"title":{},"content":{"612":{"position":[[32,3]]}},"keywords":{}}],["size",{"_index":375,"title":{"261":{"position":[[9,5]]}},"content":{"17":{"position":[[80,5],[179,5]]},"18":{"position":[[83,5],[183,5]]},"35":{"position":[[350,4],[359,4],[558,4]]},"36":{"position":[[1616,4]]},"37":{"position":[[143,4],[152,4],[351,4]]},"60":{"position":[[424,4],[581,4],[783,4]]},"61":{"position":[[785,4],[915,4],[924,4],[1953,4]]},"67":{"position":[[562,4],[571,4]]},"99":{"position":[[339,4],[2339,5],[4390,5],[4412,4],[4556,5]]},"133":{"position":[[495,4]]},"148":{"position":[[60,4],[126,4]]},"151":{"position":[[67,4],[133,4]]},"155":{"position":[[62,4],[128,4]]},"158":{"position":[[69,4],[135,4]]},"201":{"position":[[379,4],[388,4],[587,4]]},"202":{"position":[[1616,4]]},"203":{"position":[[162,4],[171,4],[370,4]]},"204":{"position":[[549,4],[558,4],[757,4]]},"205":{"position":[[385,4],[394,4],[593,4]]},"206":{"position":[[401,4],[410,4],[553,4],[568,4]]},"207":{"position":[[184,4],[193,4],[336,4],[351,4]]},"227":{"position":[[5214,5],[5233,4]]},"260":{"position":[[388,5]]},"261":{"position":[[29,5],[51,4],[166,5],[259,4],[346,5]]},"262":{"position":[[458,4]]},"266":{"position":[[372,4],[381,4],[585,4]]},"267":{"position":[[1611,4],[7446,4],[7455,4]]},"268":{"position":[[164,4],[173,4],[377,4]]},"269":{"position":[[495,4],[504,4]]},"270":{"position":[[164,4],[173,4]]},"271":{"position":[[394,4],[403,4],[546,4],[561,4]]},"272":{"position":[[186,4],[195,4],[338,4],[353,4]]},"277":{"position":[[165,4]]},"357":{"position":[[3764,6],[4013,6]]},"377":{"position":[[130,4]]},"378":{"position":[[132,4]]},"382":{"position":[[95,5],[202,4]]},"386":{"position":[[223,5]]},"387":{"position":[[92,5]]},"388":{"position":[[72,5]]},"389":{"position":[[96,5]]},"390":{"position":[[73,5]]},"391":{"position":[[81,5]]},"399":{"position":[[16,4]]},"418":{"position":[[1965,5],[1972,4]]},"419":{"position":[[622,4],[2018,5],[2025,4]]},"420":{"position":[[1990,5],[1997,4]]},"439":{"position":[[259,4],[269,4]]},"440":{"position":[[366,4],[376,4]]},"585":{"position":[[695,4]]},"715":{"position":[[193,5],[213,5],[642,5],[676,5],[1198,5],[1234,5]]},"724":{"position":[[187,5],[207,5],[618,5],[652,5],[1153,5],[1186,5]]}},"keywords":{}}],["sl",{"_index":3158,"title":{},"content":{"324":{"position":[[1706,2]]}},"keywords":{}}],["sleep",{"_index":1127,"title":{},"content":{"44":{"position":[[3516,5]]}},"keywords":{}}],["slip",{"_index":1290,"title":{"58":{"position":[[0,4]]}},"content":{"56":{"position":[[67,5]]},"58":{"position":[[20,6],[206,4]]}},"keywords":{}}],["slot",{"_index":4452,"title":{},"content":{"525":{"position":[[454,4]]}},"keywords":{}}],["slow",{"_index":385,"title":{},"content":{"17":{"position":[[363,5]]},"18":{"position":[[368,5]]},"488":{"position":[[2209,4]]},"752":{"position":[[152,4]]}},"keywords":{}}],["slowdown",{"_index":3465,"title":{},"content":{"356":{"position":[[849,8]]}},"keywords":{}}],["small",{"_index":85,"title":{},"content":{"3":{"position":[[45,5]]},"304":{"position":[[1129,5]]},"306":{"position":[[205,5]]},"357":{"position":[[2016,5]]},"483":{"position":[[927,5]]},"490":{"position":[[319,5]]},"505":{"position":[[824,5],[927,5]]}},"keywords":{}}],["smaller",{"_index":2698,"title":{},"content":{"277":{"position":[[140,7]]},"599":{"position":[[291,7]]}},"keywords":{}}],["smallest",{"_index":804,"title":{},"content":{"36":{"position":[[7100,8]]},"202":{"position":[[7100,8]]},"253":{"position":[[4059,8]]},"267":{"position":[[5701,8]]}},"keywords":{}}],["snooz",{"_index":4443,"title":{},"content":{"514":{"position":[[1028,6],[1057,6],[1407,6]]}},"keywords":{}}],["soak",{"_index":3531,"title":{},"content":{"357":{"position":[[2178,5]]}},"keywords":{}}],["socket",{"_index":1196,"title":{"89":{"position":[[0,6]]}},"content":{"49":{"position":[[48,6],[143,6]]},"50":{"position":[[114,7],[205,6]]},"51":{"position":[[404,7]]},"324":{"position":[[2427,6]]},"464":{"position":[[488,7]]},"528":{"position":[[461,6],[706,6]]}},"keywords":{}}],["softwar",{"_index":1912,"title":{},"content":{"114":{"position":[[52,8],[182,8]]},"171":{"position":[[124,8]]},"240":{"position":[[53,8]]},"298":{"position":[[906,8]]},"304":{"position":[[696,8],[1282,8]]},"359":{"position":[[606,8],[1230,9]]},"360":{"position":[[673,9],[691,8],[1113,8],[1158,9]]},"363":{"position":[[749,8]]},"364":{"position":[[1492,8],[1717,8]]},"461":{"position":[[215,8],[1270,9]]}},"keywords":{}}],["sold",{"_index":3653,"title":{},"content":{"361":{"position":[[395,4]]},"459":{"position":[[50,4]]}},"keywords":{}}],["sole",{"_index":4069,"title":{},"content":{"459":{"position":[[1459,6]]},"469":{"position":[[28,6]]}},"keywords":{}}],["solut",{"_index":824,"title":{},"content":{"36":{"position":[[9038,9]]},"69":{"position":[[62,8]]},"202":{"position":[[9038,9]]},"254":{"position":[[2853,9]]},"267":{"position":[[7161,9]]},"357":{"position":[[3804,8]]},"483":{"position":[[914,8]]}},"keywords":{}}],["solv",{"_index":4226,"title":{},"content":{"480":{"position":[[488,6]]}},"keywords":{}}],["someon",{"_index":1145,"title":{},"content":{"46":{"position":[[151,7]]},"476":{"position":[[1132,7]]}},"keywords":{}}],["someth",{"_index":1362,"title":{},"content":{"61":{"position":[[1522,9]]},"62":{"position":[[355,9]]},"69":{"position":[[533,9],[2740,9]]},"142":{"position":[[196,9]]},"182":{"position":[[196,9]]},"253":{"position":[[7135,9]]},"254":{"position":[[854,9]]},"291":{"position":[[949,9]]},"483":{"position":[[303,9]]},"487":{"position":[[414,9]]},"488":{"position":[[752,9]]},"501":{"position":[[158,9]]},"505":{"position":[[6,9],[189,9],[778,9]]},"585":{"position":[[660,9]]},"586":{"position":[[566,9]]},"632":{"position":[[1387,9],[1794,9]]},"633":{"position":[[36,9]]}},"keywords":{}}],["sometim",{"_index":105,"title":{},"content":{"3":{"position":[[361,9]]},"24":{"position":[[48,9],[154,9]]},"36":{"position":[[6610,9],[7406,9]]},"71":{"position":[[763,9]]},"202":{"position":[[6610,9],[7406,9]]},"267":{"position":[[5149,9],[6007,9]]},"488":{"position":[[824,9]]},"499":{"position":[[201,9]]},"504":{"position":[[927,9]]},"612":{"position":[[1440,9]]}},"keywords":{}}],["somewher",{"_index":2813,"title":{},"content":{"291":{"position":[[1136,9]]}},"keywords":{}}],["soon",{"_index":3634,"title":{},"content":{"360":{"position":[[30,4]]},"504":{"position":[[389,4]]}},"keywords":{}}],["sort",{"_index":2488,"title":{},"content":{"249":{"position":[[81,6]]},"291":{"position":[[469,4]]},"297":{"position":[[388,5]]},"344":{"position":[[92,6]]},"541":{"position":[[79,6]]},"542":{"position":[[82,6]]},"548":{"position":[[23,6]]}},"keywords":{}}],["sourc",{"_index":677,"title":{"42":{"position":[[37,7]]}},"content":{"36":{"position":[[806,6]]},"42":{"position":[[20,6]]},"51":{"position":[[337,6]]},"85":{"position":[[1083,6]]},"90":{"position":[[73,6]]},"103":{"position":[[337,6]]},"192":{"position":[[212,6]]},"202":{"position":[[806,6]]},"213":{"position":[[195,6]]},"237":{"position":[[39,6]]},"240":{"position":[[725,6]]},"243":{"position":[[68,6]]},"267":{"position":[[801,6]]},"275":{"position":[[204,6]]},"324":{"position":[[2632,6],[2682,6]]},"328":{"position":[[23,6]]},"350":{"position":[[20,6]]},"353":{"position":[[34,6],[182,8]]},"356":{"position":[[59,6]]},"359":{"position":[[26,6],[684,6],[926,6],[1279,6],[1756,6]]},"362":{"position":[[563,6]]},"364":{"position":[[682,6],[811,6]]},"517":{"position":[[150,6],[482,6]]},"592":{"position":[[98,6],[205,6]]}},"keywords":{}}],["source_url",{"_index":5525,"title":{},"content":{"766":{"position":[[338,13]]},"767":{"position":[[1216,13],[1239,13]]}},"keywords":{}}],["spa",{"_index":1661,"title":{"246":{"position":[[7,4]]}},"content":{"84":{"position":[[593,3]]},"184":{"position":[[135,3]]},"187":{"position":[[95,4]]},"188":{"position":[[164,3]]},"246":{"position":[[81,3],[183,3],[353,3]]}},"keywords":{}}],["space",{"_index":290,"title":{},"content":{"8":{"position":[[381,6]]},"61":{"position":[[2674,5],[2772,5]]},"83":{"position":[[2334,7]]},"108":{"position":[[323,5],[652,6]]},"120":{"position":[[321,5]]},"209":{"position":[[160,5]]},"247":{"position":[[32,5],[102,5]]},"253":{"position":[[4453,5]]},"274":{"position":[[151,5]]},"277":{"position":[[198,5]]},"291":{"position":[[1154,7]]},"329":{"position":[[967,5]]},"401":{"position":[[45,5]]},"402":{"position":[[45,5]]},"404":{"position":[[545,5],[634,5],[725,5]]},"476":{"position":[[315,6],[524,7],[1258,7]]},"517":{"position":[[448,6]]},"527":{"position":[[152,5]]},"578":{"position":[[606,6]]},"593":{"position":[[154,6]]},"601":{"position":[[152,6]]},"618":{"position":[[1167,5]]},"746":{"position":[[906,6]]}},"keywords":{}}],["spacer",{"_index":3812,"title":{"399":{"position":[[0,7]]}},"content":{"399":{"position":[[21,6],[97,6],[140,6],[221,6]]}},"keywords":{}}],["spaces.python",{"_index":4164,"title":{},"content":{"476":{"position":[[426,14]]}},"keywords":{}}],["spacesystem",{"_index":4036,"title":{},"content":{"454":{"position":[[270,11]]}},"keywords":{}}],["spacesystemtelemetrymetadatacommandmetadataparametertypesetenumerationlistparametersetcontainersetentrylistdefaultcalibratordefaultalarmrestrictioncriteriacomparisonlistmetacommandsetdefaultcalibratorargumenttypesetargumentlistargumentassignmentlistenumeratedparametertypeenumeratedargumenttypeintegerparametertypeintegerargumenttypefloatparametertypefloatargumenttypestringparametertypestringargumenttypebinaryparametertypebinaryargumenttypeintegerdataencodingfloatdataencodingstringdataencodingbinarydataencoding'sizeinbitsfixedvalueunitsetunitpolynomialcalibratortermstaticalarmrangeswarningrangecriticalrangevalidrangeenumerationparameterargumentparameterpropertiessequencecontainerbasecontainerlongdescriptionparameterrefentryargumentrefentrybasemetacommandcomparisonmetacommandbasemetacommandcommandcontainerargumentassign",{"_index":4038,"title":{},"content":{"455":{"position":[[76,832]]}},"keywords":{}}],["spare",{"_index":3108,"title":{},"content":{"321":{"position":[[3444,5],[3474,5]]}},"keywords":{}}],["spare2align",{"_index":3102,"title":{},"content":{"321":{"position":[[3276,11]]}},"keywords":{}}],["sparklin",{"_index":3869,"title":{"419":{"position":[[0,10]]}},"content":{"419":{"position":[[12,9],[579,9],[726,10]]},"420":{"position":[[51,9]]}},"keywords":{}}],["spawn",{"_index":3457,"title":{},"content":{"356":{"position":[[93,6]]},"484":{"position":[[230,5]]},"512":{"position":[[271,6]]},"514":{"position":[[827,8],[873,5],[931,8]]},"607":{"position":[[219,7]]}},"keywords":{}}],["spec",{"_index":1707,"title":{},"content":{"88":{"position":[[302,5]]},"357":{"position":[[4232,5]]},"448":{"position":[[320,4]]}},"keywords":{}}],["special",{"_index":1316,"title":{},"content":{"57":{"position":[[336,7]]},"58":{"position":[[124,7]]},"80":{"position":[[505,7]]},"88":{"position":[[159,7]]},"262":{"position":[[255,7]]},"324":{"position":[[964,7]]},"431":{"position":[[525,7]]},"446":{"position":[[374,7]]},"488":{"position":[[1989,7]]},"498":{"position":[[183,7]]},"534":{"position":[[145,8],[300,8]]},"610":{"position":[[828,7]]},"649":{"position":[[1338,9],[1500,10]]},"651":{"position":[[558,11],[694,11]]}},"keywords":{}}],["special"",{"_index":4197,"title":{},"content":{"476":{"position":[[2525,14],[3435,14]]},"639":{"position":[[1626,14],[1844,14]]},"649":{"position":[[699,14]]}},"keywords":{}}],["specif",{"_index":673,"title":{},"content":{"36":{"position":[[671,8]]},"44":{"position":[[1277,8]]},"54":{"position":[[3199,9]]},"72":{"position":[[190,8]]},"88":{"position":[[65,14]]},"110":{"position":[[35,8]]},"121":{"position":[[242,8]]},"134":{"position":[[631,8]]},"168":{"position":[[249,8]]},"171":{"position":[[360,8]]},"202":{"position":[[671,8]]},"208":{"position":[[180,8]]},"213":{"position":[[60,8]]},"227":{"position":[[2099,8]]},"229":{"position":[[723,8],[1167,8]]},"230":{"position":[[1198,8],[1316,8],[1725,8]]},"257":{"position":[[453,8],[496,8]]},"267":{"position":[[666,8],[10657,8]]},"273":{"position":[[179,8]]},"275":{"position":[[69,8]]},"276":{"position":[[310,8]]},"292":{"position":[[465,8]]},"298":{"position":[[1476,8]]},"301":{"position":[[95,8]]},"303":{"position":[[495,8],[778,8],[956,8],[983,8],[1145,8]]},"305":{"position":[[288,8]]},"320":{"position":[[1431,14]]},"328":{"position":[[447,8]]},"361":{"position":[[183,8]]},"367":{"position":[[226,8]]},"373":{"position":[[284,8]]},"374":{"position":[[553,8]]},"383":{"position":[[284,8]]},"482":{"position":[[999,8],[1093,8]]},"485":{"position":[[280,8],[386,8]]},"492":{"position":[[763,8]]},"499":{"position":[[475,8]]},"578":{"position":[[931,8]]},"585":{"position":[[251,8]]},"586":{"position":[[270,8]]},"616":{"position":[[243,8]]},"663":{"position":[[194,8]]},"674":{"position":[[28,8]]},"700":{"position":[[1523,8]]}},"keywords":{}}],["specifi",{"_index":340,"title":{},"content":{"12":{"position":[[422,7],[540,10]]},"15":{"position":[[323,7]]},"16":{"position":[[325,7]]},"20":{"position":[[1238,9],[1312,7],[1369,9],[1443,7]]},"32":{"position":[[1,7]]},"35":{"position":[[506,9],[1119,7],[1650,7]]},"36":{"position":[[8013,9],[8380,9],[9775,9],[10090,7]]},"37":{"position":[[299,9],[912,7],[1443,7]]},"39":{"position":[[1,7]]},"54":{"position":[[2407,9],[3448,9],[3465,9],[3539,9]]},"68":{"position":[[34,9]]},"88":{"position":[[236,9],[369,9]]},"133":{"position":[[680,9],[741,9]]},"201":{"position":[[535,9],[1148,7],[1679,7]]},"202":{"position":[[8013,9],[8380,9],[9775,9],[10090,7]]},"203":{"position":[[318,9],[931,7],[1462,7]]},"204":{"position":[[705,9],[1823,7]]},"205":{"position":[[541,9],[1659,7]]},"206":{"position":[[706,9]]},"207":{"position":[[489,9]]},"254":{"position":[[257,7]]},"257":{"position":[[1061,10]]},"261":{"position":[[8,9]]},"266":{"position":[[533,9]]},"267":{"position":[[6673,9],[7038,9]]},"268":{"position":[[325,9]]},"269":{"position":[[656,9]]},"270":{"position":[[325,9]]},"271":{"position":[[699,9]]},"272":{"position":[[491,9]]},"284":{"position":[[10,9]]},"290":{"position":[[828,9]]},"304":{"position":[[4941,9]]},"386":{"position":[[118,10]]},"403":{"position":[[65,9]]},"418":{"position":[[1603,9]]},"419":{"position":[[1656,9]]},"420":{"position":[[1628,9]]},"457":{"position":[[216,10]]},"459":{"position":[[530,10]]},"511":{"position":[[211,7]]},"513":{"position":[[97,10],[161,9]]},"514":{"position":[[206,9],[556,10],[777,9],[1046,10]]},"541":{"position":[[390,9]]},"542":{"position":[[418,9]]},"555":{"position":[[47,7]]},"556":{"position":[[510,9]]},"578":{"position":[[1212,9]]},"599":{"position":[[762,9],[874,10],[946,9]]},"632":{"position":[[1131,9]]},"636":{"position":[[9,9]]},"637":{"position":[[9,9]]},"638":{"position":[[9,9]]},"639":{"position":[[9,9]]},"640":{"position":[[9,9]]},"641":{"position":[[9,9]]},"642":{"position":[[9,9]]},"643":{"position":[[9,9]]},"654":{"position":[[31,9]]},"656":{"position":[[55,9]]},"660":{"position":[[11,9],[447,10]]},"662":{"position":[[74,9],[511,10]]},"663":{"position":[[51,9],[221,9]]},"668":{"position":[[31,9]]},"670":{"position":[[337,9]]},"681":{"position":[[1271,10],[1303,10]]},"682":{"position":[[1038,10],[1070,10]]},"683":{"position":[[824,10]]},"684":{"position":[[705,10]]},"685":{"position":[[883,10],[915,10]]},"686":{"position":[[934,10],[966,10]]},"687":{"position":[[749,10]]},"688":{"position":[[561,9],[677,10]]},"691":{"position":[[35,9]]},"692":{"position":[[36,9]]},"693":{"position":[[55,9]]},"694":{"position":[[56,9]]},"703":{"position":[[295,10]]},"731":{"position":[[13,9]]},"739":{"position":[[33,9],[319,9]]},"740":{"position":[[236,9]]},"742":{"position":[[249,9]]},"744":{"position":[[289,9]]},"745":{"position":[[384,9]]},"746":{"position":[[440,9],[672,7]]}},"keywords":{}}],["speed",{"_index":3461,"title":{},"content":{"356":{"position":[[610,7]]},"752":{"position":[[120,8]]}},"keywords":{}}],["speed_of_light",{"_index":4173,"title":{},"content":{"476":{"position":[[1347,14]]}},"keywords":{}}],["splinecalibratoraltern",{"_index":4042,"title":{},"content":{"457":{"position":[[179,25]]}},"keywords":{}}],["split",{"_index":3833,"title":{},"content":{"404":{"position":[[463,7],[768,6]]}},"keywords":{}}],["spread",{"_index":3243,"title":{},"content":{"329":{"position":[[1351,6]]}},"keywords":{}}],["spreadsheet",{"_index":4415,"title":{},"content":{"507":{"position":[[9,11]]}},"keywords":{}}],["sprintf('%04u/%02u/%02u",{"_index":2746,"title":{},"content":{"285":{"position":[[1625,23]]}},"keywords":{}}],["sql",{"_index":2447,"title":{},"content":{"240":{"position":[[1822,3]]}},"keywords":{}}],["sr",{"_index":2903,"title":{},"content":{"304":{"position":[[1673,2],[1852,2],[2071,2],[2165,2],[2305,2],[2436,2],[2533,2],[2715,2],[2822,2],[2993,2],[3112,2],[3282,2],[3502,2],[3642,2],[3789,2],[3953,2],[4051,2],[4150,2],[4264,2],[4536,2],[4648,2],[4810,2],[4957,2],[5070,2],[5183,2],[5294,2],[5460,2],[5626,2],[5765,2],[5911,2],[6078,2],[6226,2],[6356,2],[6518,2],[6731,2]]},"345":{"position":[[281,4]]}},"keywords":{}}],["sr_messag",{"_index":4358,"title":{},"content":{"497":{"position":[[512,11],[811,11]]}},"keywords":{}}],["src",{"_index":3207,"title":{},"content":{"328":{"position":[[60,3]]}},"keywords":{}}],["src/bigwidget.vu",{"_index":3227,"title":{},"content":{"328":{"position":[[1130,17]]}},"keywords":{}}],["src/helloworldwidget.vu",{"_index":3225,"title":{},"content":{"328":{"position":[[986,24],[1233,24]]}},"keywords":{}}],["src/main.j",{"_index":2404,"title":{},"content":{"235":{"position":[[829,11]]}},"keywords":{}}],["src/router.j",{"_index":2405,"title":{},"content":{"235":{"position":[[917,13]]}},"keywords":{}}],["src/tools/datavi",{"_index":2406,"title":{},"content":{"235":{"position":[[953,17]]}},"keywords":{}}],["src/tools/datavis/datavis.vu",{"_index":2410,"title":{},"content":{"235":{"position":[[1187,29]]}},"keywords":{}}],["ss",{"_index":4421,"title":{},"content":{"507":{"position":[[527,2]]}},"keywords":{}}],["ss[0][0][0",{"_index":4423,"title":{},"content":{"507":{"position":[[585,11]]}},"keywords":{}}],["ssh",{"_index":3345,"title":{},"content":{"347":{"position":[[1839,3],[1895,3],[1937,3],[2097,4]]}},"keywords":{}}],["sshgoto",{"_index":3339,"title":{},"content":{"347":{"position":[[1404,7]]}},"keywords":{}}],["sshyou",{"_index":3336,"title":{},"content":{"347":{"position":[[1297,6]]}},"keywords":{}}],["ssl",{"_index":387,"title":{"19":{"position":[[0,3]]}},"content":{"20":{"position":[[224,3]]},"26":{"position":[[59,3]]},"27":{"position":[[75,3]]},"291":{"position":[[79,3],[279,3],[416,3],[477,3],[565,3]]},"324":{"position":[[3678,3]]},"464":{"position":[[502,5],[595,3]]}},"keywords":{}}],["ssl_cert_fil",{"_index":2797,"title":{},"content":{"291":{"position":[[295,13],[1245,13]]}},"keywords":{}}],["stack",{"_index":2533,"title":{},"content":{"253":{"position":[[3383,6]]},"718":{"position":[[678,5]]},"728":{"position":[[682,5]]}},"keywords":{}}],["stackdisplay",{"_index":4586,"title":{},"content":{"606":{"position":[[221,12]]}},"keywords":{}}],["stagnant",{"_index":3826,"title":{},"content":{"403":{"position":[[223,9]]},"427":{"position":[[114,9]]}},"keywords":{}}],["stakehold",{"_index":3397,"title":{},"content":{"351":{"position":[[181,13]]}},"keywords":{}}],["stale",{"_index":3731,"title":{},"content":{"371":{"position":[[34,5],[72,5],[237,6],[422,5]]},"570":{"position":[[26,5]]}},"keywords":{}}],["stale_tim",{"_index":3729,"title":{"371":{"position":[[0,11]]}},"content":{"371":{"position":[[361,10]]}},"keywords":{}}],["stamp",{"_index":2852,"title":{},"content":{"299":{"position":[[672,5],[776,5],[990,6],[1033,5],[1099,6]]},"301":{"position":[[1740,6],[1772,6]]}},"keywords":{}}],["stand",{"_index":191,"title":{},"content":{"6":{"position":[[5,6]]}},"keywords":{}}],["standard",{"_index":494,"title":{},"content":{"22":{"position":[[312,8]]},"63":{"position":[[349,9]]},"107":{"position":[[20,12]]},"108":{"position":[[341,12]]},"120":{"position":[[242,8]]},"176":{"position":[[75,8]]},"177":{"position":[[82,8]]},"187":{"position":[[271,8]]},"227":{"position":[[4269,8]]},"240":{"position":[[36,8]]},"245":{"position":[[187,8]]},"304":{"position":[[1474,8],[1566,8],[1752,8]]},"324":{"position":[[395,8]]},"338":{"position":[[1846,8]]},"357":{"position":[[58,8]]},"429":{"position":[[882,8]]},"469":{"position":[[496,9]]},"476":{"position":[[412,8],[510,8]]},"517":{"position":[[26,8]]},"717":{"position":[[68,8]]},"718":{"position":[[77,8]]},"727":{"position":[[64,8]]},"728":{"position":[[74,8]]},"737":{"position":[[299,8]]}},"keywords":{}}],["standardaddit",{"_index":4045,"title":{},"content":{"457":{"position":[[269,18]]}},"keywords":{}}],["start",{"_index":256,"title":{"252":{"position":[[8,7]]},"736":{"position":[[0,6]]}},"content":{"7":{"position":[[481,5]]},"23":{"position":[[362,5]]},"27":{"position":[[93,5],[1063,7]]},"33":{"position":[[1,5]]},"36":{"position":[[7763,5]]},"46":{"position":[[624,8],[638,8],[804,5]]},"58":{"position":[[223,6],[691,5]]},"59":{"position":[[664,8]]},"60":{"position":[[1062,8]]},"61":{"position":[[642,5]]},"67":{"position":[[888,5]]},"98":{"position":[[27,5]]},"103":{"position":[[1,5],[33,5]]},"192":{"position":[[75,8]]},"202":{"position":[[7763,5]]},"217":{"position":[[362,5]]},"227":{"position":[[4418,5]]},"237":{"position":[[234,8]]},"239":{"position":[[275,8]]},"241":{"position":[[219,5]]},"253":{"position":[[1992,8],[5225,5]]},"254":{"position":[[2698,5]]},"257":{"position":[[1894,7]]},"267":{"position":[[6360,5]]},"289":{"position":[[1224,7]]},"290":{"position":[[55,8]]},"292":{"position":[[732,5],[1089,6],[1269,6],[1276,5]]},"294":{"position":[[21,8]]},"299":{"position":[[627,8]]},"300":{"position":[[842,8],[866,5]]},"302":{"position":[[169,8]]},"304":{"position":[[2137,5],[2419,5],[3823,8]]},"307":{"position":[[329,5],[338,5]]},"309":{"position":[[308,5],[317,5]]},"315":{"position":[[400,5],[413,8]]},"321":{"position":[[1087,6]]},"324":{"position":[[2405,5]]},"325":{"position":[[36,5],[104,5],[199,6]]},"331":{"position":[[131,7]]},"334":{"position":[[124,6]]},"338":{"position":[[1729,8]]},"343":{"position":[[486,5]]},"347":{"position":[[393,8]]},"357":{"position":[[313,8]]},"418":{"position":[[1283,5],[1373,5]]},"419":{"position":[[1336,5],[1426,5]]},"420":{"position":[[1308,5],[1398,5]]},"429":{"position":[[1749,6]]},"431":{"position":[[316,6]]},"435":{"position":[[303,6]]},"443":{"position":[[96,5],[133,5],[168,5]]},"444":{"position":[[269,5],[304,5],[341,5],[376,5]]},"446":{"position":[[490,6]]},"448":{"position":[[189,6]]},"476":{"position":[[2274,5],[3186,5]]},"481":{"position":[[244,5]]},"483":{"position":[[1224,6]]},"492":{"position":[[147,7]]},"525":{"position":[[536,5]]},"526":{"position":[[22,5]]},"527":{"position":[[49,5]]},"528":{"position":[[61,7],[150,6],[356,5],[1051,5]]},"540":{"position":[[422,5]]},"547":{"position":[[168,5]]},"555":{"position":[[101,5],[224,5]]},"559":{"position":[[29,6]]},"585":{"position":[[829,5],[905,5]]},"591":{"position":[[315,8]]},"599":{"position":[[697,5],[712,5]]},"600":{"position":[[319,6]]},"605":{"position":[[480,5]]},"606":{"position":[[11,7]]},"607":{"position":[[76,5],[199,5]]},"610":{"position":[[86,8]]},"611":{"position":[[784,5],[884,5],[953,5]]},"612":{"position":[[1266,7],[1307,5]]},"617":{"position":[[512,5]]},"628":{"position":[[307,5]]},"629":{"position":[[228,5]]},"630":{"position":[[204,5]]},"713":{"position":[[1,6],[264,5],[367,5]]},"725":{"position":[[1,6],[249,5],[349,5]]},"736":{"position":[[1,6]]},"754":{"position":[[133,8]]},"762":{"position":[[97,6],[197,5]]},"763":{"position":[[100,6],[201,5]]}},"keywords":{}}],["start("<procedur",{"_index":5413,"title":{},"content":{"736":{"position":[[187,25]]}},"keywords":{}}],["start("test1.rb"",{"_index":5416,"title":{},"content":{"736":{"position":[[458,27]]}},"keywords":{}}],["start/end",{"_index":4488,"title":{"555":{"position":[[0,9]]}},"content":{},"keywords":{}}],["start/go",{"_index":4621,"title":{},"content":{"617":{"position":[[485,8]]}},"keywords":{}}],["start_char",{"_index":1328,"title":{},"content":{"58":{"position":[[761,10]]}},"keywords":{}}],["start_cmd_log",{"_index":4710,"title":{},"content":{"621":{"position":[[4052,13]]}},"keywords":{}}],["start_log",{"_index":4711,"title":{},"content":{"621":{"position":[[4106,13]]}},"keywords":{}}],["start_new_scriptrunner_message_log",{"_index":4712,"title":{},"content":{"621":{"position":[[4160,34]]}},"keywords":{}}],["start_new_server_message_log",{"_index":4713,"title":{},"content":{"621":{"position":[[4235,28]]}},"keywords":{}}],["start_raw_logging_interfac",{"_index":5294,"title":{"713":{"position":[[0,28]]}},"content":{},"keywords":{}}],["start_raw_logging_interface("<interfac",{"_index":5295,"title":{},"content":{"713":{"position":[[115,47]]}},"keywords":{}}],["start_raw_logging_interface("int1"",{"_index":5297,"title":{},"content":{"713":{"position":[[416,45]]}},"keywords":{}}],["start_raw_logging_rout",{"_index":5381,"title":{"725":{"position":[[0,25]]}},"content":{},"keywords":{}}],["start_raw_logging_router("<rout",{"_index":5382,"title":{},"content":{"725":{"position":[[112,41]]}},"keywords":{}}],["start_raw_logging_router("router1"",{"_index":5383,"title":{},"content":{"725":{"position":[[398,45]]}},"keywords":{}}],["start_tim",{"_index":2273,"title":{},"content":{"227":{"position":[[2723,11],[3730,11],[4241,10],[4380,10],[4567,10],[4590,10],[4736,10]]}},"keywords":{}}],["start_tlm_log",{"_index":4714,"title":{},"content":{"621":{"position":[[4304,13]]}},"keywords":{}}],["starttim",{"_index":2299,"title":{},"content":{"227":{"position":[[4674,9]]},"418":{"position":[[1256,10]]},"419":{"position":[[1309,10]]},"420":{"position":[[1281,10]]}},"keywords":{}}],["startup",{"_index":1953,"title":{},"content":{"128":{"position":[[66,7]]}},"keywords":{}}],["stash",{"_index":5393,"title":{"729":{"position":[[0,8]]}},"content":{"730":{"position":[[8,5],[151,5],[168,5]]},"731":{"position":[[23,5],[145,5]]},"732":{"position":[[17,5]]},"733":{"position":[[17,5]]},"734":{"position":[[11,5],[168,5]]}},"keywords":{}}],["stash_al",{"_index":5405,"title":{"732":{"position":[[0,10]]}},"content":{"732":{"position":[[85,11],[177,11]]}},"keywords":{}}],["stash_delet",{"_index":5409,"title":{"734":{"position":[[0,13]]}},"content":{},"keywords":{}}],["stash_delete("<stash",{"_index":5410,"title":{},"content":{"734":{"position":[[79,28]]}},"keywords":{}}],["stash_delete("run_count"",{"_index":5411,"title":{},"content":{"734":{"position":[[213,35]]}},"keywords":{}}],["stash_get",{"_index":5402,"title":{"731":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_get("<stash",{"_index":5403,"title":{},"content":{"731":{"position":[[59,25]]}},"keywords":{}}],["stash_get('run_count",{"_index":5404,"title":{},"content":{"731":{"position":[[190,22]]}},"keywords":{}}],["stash_key",{"_index":5408,"title":{"733":{"position":[[0,11]]}},"content":{"733":{"position":[[63,12]]}},"keywords":{}}],["stash_set",{"_index":5394,"title":{"730":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_set("<stash",{"_index":5395,"title":{},"content":{"730":{"position":[[44,25]]}},"keywords":{}}],["stash_set('run_count",{"_index":5399,"title":{},"content":{"730":{"position":[[218,22]]}},"keywords":{}}],["stash_set('setpoint",{"_index":5400,"title":{},"content":{"730":{"position":[[244,21]]}},"keywords":{}}],["stat",{"_index":3453,"title":{},"content":{"355":{"position":[[1058,6]]},"357":{"position":[[1003,5],[2494,5],[3865,5]]}},"keywords":{}}],["state",{"_index":423,"title":{},"content":{"20":{"position":[[489,5]]},"36":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"39":{"position":[[257,5]]},"40":{"position":[[827,5],[843,5],[1156,5],[1172,5],[1291,5],[1309,5]]},"46":{"position":[[1652,6]]},"71":{"position":[[630,5]]},"72":{"position":[[53,5]]},"73":{"position":[[61,5]]},"74":{"position":[[64,5]]},"75":{"position":[[137,5]]},"76":{"position":[[160,5]]},"77":{"position":[[159,5]]},"78":{"position":[[151,5]]},"202":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"226":{"position":[[921,5],[936,5]]},"232":{"position":[[817,7],[1189,5],[1203,5]]},"233":{"position":[[853,5],[900,7],[1467,5],[1481,5]]},"253":{"position":[[3034,5],[3048,5],[4204,6],[4291,5],[4328,5],[4983,5],[4997,5]]},"254":{"position":[[1634,5],[1648,5]]},"267":{"position":[[1909,6],[2043,6],[2310,5],[2370,5],[2406,5],[2438,5],[2489,5],[2628,5],[2642,5],[2655,5],[2755,5],[2801,5],[2858,5],[8681,6],[8701,5],[8868,6],[10433,5]]},"285":{"position":[[276,5],[288,5],[363,5],[377,5],[525,5],[539,5],[552,5],[565,5],[1090,5],[1111,5]]},"303":{"position":[[898,5],[939,7],[965,5],[1005,7],[1108,7],[1167,7],[1553,5],[1594,5],[1636,5]]},"305":{"position":[[941,6],[1218,6],[1378,5]]},"403":{"position":[[346,5]]},"404":{"position":[[1010,5],[1073,5],[1120,5]]},"411":{"position":[[942,5],[1005,5],[1052,5]]},"427":{"position":[[237,5]]},"442":{"position":[[1285,5],[1337,5]]},"444":{"position":[[1253,5]]},"459":{"position":[[84,5]]},"470":{"position":[[286,6]]},"487":{"position":[[107,6],[180,6]]},"497":{"position":[[118,5]]},"532":{"position":[[54,5]]},"533":{"position":[[301,6],[375,6],[394,5]]},"534":{"position":[[114,6],[275,5]]},"568":{"position":[[240,6]]},"578":{"position":[[323,6],[362,5],[1001,5],[1086,5]]},"607":{"position":[[256,5]]},"618":{"position":[[520,5]]},"649":{"position":[[1465,9]]},"651":{"position":[[451,7]]},"662":{"position":[[39,6]]},"663":{"position":[[39,5]]},"700":{"position":[[1722,6]]},"702":{"position":[[28,5],[287,6]]},"715":{"position":[[142,6],[544,6],[1102,6]]},"724":{"position":[[136,6],[520,6],[1063,6]]}},"keywords":{}}],["statement",{"_index":1691,"title":{},"content":{"85":{"position":[[1500,11]]},"304":{"position":[[2640,9],[3220,9],[3318,9],[3378,9],[4486,10]]},"496":{"position":[[342,10],[383,9]]},"502":{"position":[[27,11],[139,10],[204,9],[297,10],[396,10],[685,10]]},"617":{"position":[[1304,10]]},"681":{"position":[[1125,9]]},"682":{"position":[[892,9]]},"683":{"position":[[678,9]]},"685":{"position":[[737,9]]},"686":{"position":[[788,9]]},"687":{"position":[[603,9]]},"688":{"position":[[533,9]]},"737":{"position":[[333,9],[362,10]]}},"keywords":{}}],["static",{"_index":2439,"title":{},"content":{"240":{"position":[[1183,6],[1389,6]]},"250":{"position":[[391,6]]},"517":{"position":[[703,6],[786,6]]}},"keywords":{}}],["static_config",{"_index":3417,"title":{},"content":{"352":{"position":[[544,15],[691,15],[833,15],[981,15],[1127,15]]}},"keywords":{}}],["statist",{"_index":1843,"title":{},"content":{"103":{"position":[[458,11]]},"459":{"position":[[766,11],[1559,11]]},"465":{"position":[[744,11]]}},"keywords":{}}],["statu",{"_index":305,"title":{"543":{"position":[[0,6]]}},"content":{"9":{"position":[[567,7]]},"33":{"position":[[646,6],[905,6]]},"44":{"position":[[2026,7]]},"83":{"position":[[2319,6]]},"87":{"position":[[193,6]]},"232":{"position":[[918,6]]},"233":{"position":[[1135,6]]},"253":{"position":[[4749,6],[5130,6],[5643,7]]},"285":{"position":[[87,6]]},"297":{"position":[[445,6]]},"301":{"position":[[43,6]]},"310":{"position":[[563,6],[659,6]]},"424":{"position":[[576,6],[788,6]]},"533":{"position":[[468,6],[773,6]]},"536":{"position":[[55,6]]},"540":{"position":[[103,6]]},"543":{"position":[[5,6]]},"606":{"position":[[326,6]]},"666":{"position":[[563,6]]},"709":{"position":[[22,6],[78,6]]},"723":{"position":[[18,6],[71,6]]}},"keywords":{}}],["status"",{"_index":246,"title":{},"content":{"7":{"position":[[195,12],[871,12]]},"8":{"position":[[215,12],[366,12]]},"9":{"position":[[223,12]]},"264":{"position":[[622,12]]}},"keywords":{}}],["status\\naddit",{"_index":301,"title":{},"content":{"9":{"position":[[389,18]]}},"keywords":{}}],["status_bar",{"_index":4629,"title":{},"content":{"620":{"position":[[277,10]]},"621":{"position":[[3959,10]]}},"keywords":{}}],["statusaddit",{"_index":306,"title":{},"content":{"9":{"position":[[716,16]]}},"keywords":{}}],["statusclear",{"_index":4632,"title":{},"content":{"621":{"position":[[163,11]]}},"keywords":{}}],["statusget_all_target_info",{"_index":4626,"title":{},"content":{"620":{"position":[[151,25]]}},"keywords":{}}],["stay",{"_index":3538,"title":{},"content":{"357":{"position":[[2462,5]]}},"keywords":{}}],["stddev",{"_index":2290,"title":{},"content":{"227":{"position":[[3341,7]]},"418":{"position":[[515,6],[1242,6]]},"419":{"position":[[549,6],[1295,6]]},"420":{"position":[[533,6],[1267,6]]}},"keywords":{}}],["stdout",{"_index":2906,"title":{},"content":{"304":{"position":[[2868,7]]},"350":{"position":[[526,6],[856,6],[1178,6]]}},"keywords":{}}],["step",{"_index":592,"title":{"294":{"position":[[5,6]]},"496":{"position":[[40,6]]}},"content":{"27":{"position":[[963,5]]},"46":{"position":[[1062,5],[1173,5],[1234,4]]},"61":{"position":[[1940,5]]},"85":{"position":[[107,5]]},"103":{"position":[[427,4]]},"304":{"position":[[4684,4],[4773,4]]},"320":{"position":[[1583,6]]},"322":{"position":[[1378,4]]},"459":{"position":[[1040,4]]},"487":{"position":[[295,6]]},"496":{"position":[[291,5],[509,5]]},"525":{"position":[[222,6]]},"612":{"position":[[1156,5]]},"613":{"position":[[239,4],[265,4]]},"756":{"position":[[26,4]]}},"keywords":{}}],["step_mod",{"_index":5498,"title":{"756":{"position":[[0,10]]}},"content":{"756":{"position":[[120,11]]}},"keywords":{}}],["steps_to_mov",{"_index":4294,"title":{},"content":{"487":{"position":[[900,13],[1312,15],[1367,13]]}},"keywords":{}}],["stern",{"_index":3254,"title":{},"content":{"334":{"position":[[884,5]]}},"keywords":{}}],["still",{"_index":320,"title":{"107":{"position":[[13,5]]}},"content":{"11":{"position":[[244,5]]},"36":{"position":[[2195,5],[8236,5],[10579,5]]},"44":{"position":[[3289,5]]},"69":{"position":[[190,5]]},"198":{"position":[[1288,5]]},"202":{"position":[[2195,5],[8236,5]]},"210":{"position":[[185,5]]},"212":{"position":[[66,5]]},"267":{"position":[[3397,5],[4763,5],[5456,5],[6579,5],[6895,5]]},"278":{"position":[[256,5]]},"324":{"position":[[4043,5]]},"449":{"position":[[325,5]]},"462":{"position":[[238,5]]},"501":{"position":[[106,5]]},"620":{"position":[[96,5]]},"752":{"position":[[311,5]]}},"keywords":{}}],["stop",{"_index":1253,"title":{},"content":{"52":{"position":[[570,4],[590,4]]},"56":{"position":[[449,7]]},"69":{"position":[[1842,4],[1853,5],[2373,4],[2621,4],[3347,5],[4053,5],[4102,4]]},"71":{"position":[[217,4]]},"75":{"position":[[210,5],[375,4],[825,5],[892,4],[904,5],[1284,4],[1639,4]]},"76":{"position":[[234,5],[408,4]]},"77":{"position":[[233,5],[424,4]]},"78":{"position":[[233,5],[423,4]]},"79":{"position":[[449,5],[554,4],[886,5]]},"85":{"position":[[386,4],[835,4],[1548,4]]},"198":{"position":[[1104,5]]},"237":{"position":[[247,8]]},"256":{"position":[[104,4],[253,4],[322,4]]},"259":{"position":[[1134,5]]},"292":{"position":[[1096,5],[1310,5],[1316,4]]},"304":{"position":[[416,4],[2467,8],[2503,4],[2526,6],[4716,4],[4928,5]]},"315":{"position":[[509,4]]},"338":{"position":[[633,4]]},"370":{"position":[[107,5]]},"483":{"position":[[802,7]]},"488":{"position":[[2731,5]]},"491":{"position":[[158,7]]},"501":{"position":[[112,4]]},"502":{"position":[[336,4]]},"505":{"position":[[48,7],[696,8],[1005,7]]},"607":{"position":[[660,4]]},"612":{"position":[[832,4]]},"617":{"position":[[726,4],[743,4]]},"681":{"position":[[294,4]]},"682":{"position":[[188,4]]},"683":{"position":[[284,4]]},"684":{"position":[[164,4]]},"685":{"position":[[176,6],[720,4]]},"686":{"position":[[158,6],[771,4]]},"687":{"position":[[120,5],[586,4]]},"688":{"position":[[109,5],[516,4]]},"714":{"position":[[1,5],[262,4],[364,4]]},"726":{"position":[[1,5],[247,4],[346,4]]},"752":{"position":[[489,5]]}},"keywords":{}}],["stop_background_task",{"_index":4715,"title":{},"content":{"621":{"position":[[4358,20]]}},"keywords":{}}],["stop_bit",{"_index":3268,"title":{},"content":{"338":{"position":[[665,9],[1301,9]]}},"keywords":{}}],["stop_cmd_log",{"_index":4716,"title":{},"content":{"621":{"position":[[4419,12]]}},"keywords":{}}],["stop_log",{"_index":4717,"title":{},"content":{"621":{"position":[[4472,12]]}},"keywords":{}}],["stop_raw_logging_interfac",{"_index":5298,"title":{"714":{"position":[[0,27]]}},"content":{},"keywords":{}}],["stop_raw_logging_interface("<interfac",{"_index":5299,"title":{},"content":{"714":{"position":[[114,46]]}},"keywords":{}}],["stop_raw_logging_interface("int1"",{"_index":5300,"title":{},"content":{"714":{"position":[[412,44]]}},"keywords":{}}],["stop_raw_logging_rout",{"_index":5384,"title":{"726":{"position":[[0,24]]}},"content":{},"keywords":{}}],["stop_raw_logging_router("<rout",{"_index":5385,"title":{},"content":{"726":{"position":[[111,40]]}},"keywords":{}}],["stop_raw_logging_router("router1"",{"_index":5386,"title":{},"content":{"726":{"position":[[394,44]]}},"keywords":{}}],["stop_tlm_log",{"_index":4718,"title":{},"content":{"621":{"position":[[4525,12]]}},"keywords":{}}],["stopped"",{"_index":520,"title":{},"content":{"23":{"position":[[306,13]]}},"keywords":{}}],["storag",{"_index":1806,"title":{},"content":{"99":{"position":[[2331,7]]},"240":{"position":[[1350,7]]},"250":{"position":[[75,7],[253,7],[314,8],[336,7]]},"324":{"position":[[751,7],[872,7],[1200,7]]},"516":{"position":[[64,7],[277,7],[314,8]]},"517":{"position":[[440,7],[731,7]]},"729":{"position":[[87,7],[127,7]]}},"keywords":{}}],["storage"",{"_index":3325,"title":{},"content":{"347":{"position":[[884,13]]}},"keywords":{}}],["store",{"_index":49,"title":{},"content":{"2":{"position":[[328,5],[482,5]]},"27":{"position":[[568,5]]},"36":{"position":[[624,6],[758,5],[897,5],[945,6]]},"43":{"position":[[722,5]]},"76":{"position":[[670,6],[730,6]]},"97":{"position":[[44,5],[135,6]]},"99":{"position":[[584,6],[623,6],[2289,6],[2941,5],[3367,5],[4079,6]]},"108":{"position":[[159,5]]},"136":{"position":[[415,5],[500,5],[530,5],[540,6]]},"181":{"position":[[375,5],[400,5],[430,5],[440,6]]},"202":{"position":[[624,6],[758,5],[897,5],[945,6]]},"213":{"position":[[1,6],[147,5],[286,5],[334,6]]},"249":{"position":[[28,5],[134,5]]},"250":{"position":[[51,6]]},"259":{"position":[[1313,5]]},"263":{"position":[[548,6],[701,8],[949,6]]},"267":{"position":[[619,6],[753,5],[892,5],[940,6]]},"275":{"position":[[1,6],[156,5],[295,5],[343,6]]},"298":{"position":[[419,5],[573,5]]},"322":{"position":[[213,6]]},"352":{"position":[[129,6]]},"357":{"position":[[3492,7]]},"459":{"position":[[1386,6]]},"464":{"position":[[273,6]]},"465":{"position":[[727,6]]},"467":{"position":[[107,6]]},"476":{"position":[[4118,5]]},"480":{"position":[[836,6]]},"484":{"position":[[152,5]]},"507":{"position":[[24,5]]},"530":{"position":[[211,6]]},"599":{"position":[[525,5]]},"603":{"position":[[97,6]]},"650":{"position":[[1133,9]]},"729":{"position":[[33,5],[194,5]]},"762":{"position":[[178,5],[237,5]]}},"keywords":{}}],["str",{"_index":4956,"title":{},"content":{"652":{"position":[[631,3]]}},"keywords":{}}],["straight",{"_index":3650,"title":{},"content":{"360":{"position":[[1193,8]]}},"keywords":{}}],["strategi",{"_index":1415,"title":{},"content":{"67":{"position":[[311,8]]}},"keywords":{}}],["stream",{"_index":55,"title":{"53":{"position":[[0,8]]},"227":{"position":[[0,9]]}},"content":{"2":{"position":[[429,7]]},"49":{"position":[[795,6]]},"50":{"position":[[682,6]]},"52":{"position":[[874,6]]},"53":{"position":[[1,7],[131,6]]},"56":{"position":[[234,7]]},"64":{"position":[[158,7]]},"99":{"position":[[4045,6],[4172,7]]},"112":{"position":[[329,6]]},"116":{"position":[[14,7],[69,7]]},"176":{"position":[[173,7]]},"227":{"position":[[0,9],[145,9],[197,6],[1167,6],[1468,6],[2133,9],[2246,6],[2350,6],[3367,6],[4424,9],[4853,9]]},"240":{"position":[[1254,7]]},"249":{"position":[[94,8],[381,8]]},"253":{"position":[[7920,6]]},"298":{"position":[[520,7],[1591,7]]},"300":{"position":[[634,9],[682,6],[740,9],[786,6]]},"355":{"position":[[696,7]]},"547":{"position":[[83,9]]},"676":{"position":[[1,7],[304,7],[405,6]]}},"keywords":{}}],["stream_id",{"_index":3064,"title":{},"content":{"321":{"position":[[427,9],[1271,9],[1803,9],[2303,9],[2850,9]]}},"keywords":{}}],["streamapi",{"_index":2263,"title":{},"content":{"227":{"position":[[2038,10]]}},"keywords":{}}],["streamingapi",{"_index":2258,"title":{},"content":{"227":{"position":[[1647,12]]}},"keywords":{}}],["streamingchannel",{"_index":2259,"title":{},"content":{"227":{"position":[[1699,19]]}},"keywords":{}}],["strict",{"_index":975,"title":{},"content":{"43":{"position":[[1100,6]]},"467":{"position":[[911,6]]}},"keywords":{}}],["strike",{"_index":4517,"title":{},"content":{"578":{"position":[[1174,6]]}},"keywords":{}}],["string",{"_index":181,"title":{"9":{"position":[[0,6]]}},"content":{"5":{"position":[[1087,6]]},"9":{"position":[[31,6],[102,7],[279,7],[443,7],[608,7],[752,6],[822,7],[921,6],[949,6]]},"31":{"position":[[586,7],[674,7]]},"35":{"position":[[438,6],[729,7],[1430,7]]},"36":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"37":{"position":[[231,6],[522,7],[1223,7]]},"40":{"position":[[1375,6]]},"56":{"position":[[383,6]]},"59":{"position":[[775,6]]},"60":{"position":[[1173,6]]},"61":{"position":[[2073,6]]},"62":{"position":[[569,6],[701,6],[1075,6]]},"63":{"position":[[666,6],[887,6],[1130,6],[1394,6],[1526,6],[2259,6]]},"64":{"position":[[355,6]]},"69":{"position":[[1726,7],[1806,6],[1934,6],[2403,7],[4615,6]]},"75":{"position":[[194,6],[247,7],[1478,7],[1742,7]]},"78":{"position":[[217,6],[270,6]]},"88":{"position":[[171,6]]},"93":{"position":[[519,6],[696,6],[820,6],[836,6],[967,6],[1019,6],[1503,6],[1565,6]]},"94":{"position":[[503,6],[611,6],[627,6],[758,6],[810,6],[861,6],[932,6],[1002,6],[1070,6]]},"99":{"position":[[1534,6],[2022,6],[4293,6],[5179,6]]},"198":{"position":[[887,7],[975,7],[1040,6],[1120,6],[1326,6]]},"201":{"position":[[467,6],[758,7],[1459,7],[2151,6]]},"202":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"203":{"position":[[250,6],[541,7],[1242,7],[1888,6]]},"204":{"position":[[637,6],[928,7],[1603,7]]},"205":{"position":[[473,6],[764,7],[1439,7]]},"206":{"position":[[515,7]]},"207":{"position":[[298,7]]},"216":{"position":[[36,6],[135,6],[302,6]]},"232":{"position":[[1236,6]]},"233":{"position":[[1514,6]]},"249":{"position":[[51,8]]},"253":{"position":[[3086,6],[4474,6],[4481,8],[4534,7],[4610,6],[5030,6]]},"254":{"position":[[1686,6]]},"259":{"position":[[911,7],[999,7],[1079,6],[1119,6],[1363,7],[1374,6]]},"263":{"position":[[1256,7]]},"266":{"position":[[465,6],[752,7]]},"267":{"position":[[1424,7],[1467,6],[2004,8],[2363,6],[2717,6],[2729,6],[7412,7]]},"268":{"position":[[257,6],[544,7]]},"269":{"position":[[588,6],[761,7]]},"270":{"position":[[257,6],[430,7]]},"271":{"position":[[508,7]]},"272":{"position":[[300,7]]},"285":{"position":[[1514,6]]},"321":{"position":[[895,6]]},"401":{"position":[[292,6],[306,6]]},"402":{"position":[[292,6],[306,6]]},"403":{"position":[[75,6],[106,6],[527,6],[554,6]]},"429":{"position":[[437,6],[544,6]]},"454":{"position":[[29,7]]},"476":{"position":[[720,7],[814,7],[4101,7],[4560,7],[4695,6],[4761,7]]},"493":{"position":[[447,7]]},"500":{"position":[[50,7]]},"501":{"position":[[290,6],[426,6],[504,6],[588,7]]},"585":{"position":[[618,6]]},"618":{"position":[[847,7],[894,6],[930,6],[1058,7],[1240,7]]},"623":{"position":[[90,6]]},"624":{"position":[[80,7],[138,6],[634,6],[682,6],[746,6],[898,6],[946,6],[1010,6]]},"629":{"position":[[475,6],[558,6],[887,6]]},"644":{"position":[[25,6]]},"645":{"position":[[203,6]]},"650":{"position":[[87,7]]},"656":{"position":[[1430,6]]},"657":{"position":[[729,7]]},"658":{"position":[[360,6]]},"660":{"position":[[537,8]]},"662":{"position":[[604,8]]},"663":{"position":[[391,7]]},"669":{"position":[[663,7]]},"670":{"position":[[548,7]]},"671":{"position":[[542,7]]},"672":{"position":[[360,7]]},"681":{"position":[[1393,8]]},"682":{"position":[[1160,8]]},"685":{"position":[[1005,8]]},"686":{"position":[[1056,8]]},"707":{"position":[[132,6]]},"718":{"position":[[613,9]]},"728":{"position":[[617,9]]},"745":{"position":[[446,6],[652,6],[924,6]]},"746":{"position":[[502,6],[1114,6],[1414,6]]},"754":{"position":[[808,6],[966,6]]}},"keywords":{}}],["string"",{"_index":892,"title":{},"content":{"40":{"position":[[1406,12]]},"285":{"position":[[1471,12]]},"624":{"position":[[668,13],[932,13]]},"629":{"position":[[123,13]]}},"keywords":{}}],["stringent",{"_index":4400,"title":{},"content":{"504":{"position":[[583,9]]}},"keywords":{}}],["strip",{"_index":17,"title":{},"content":{"1":{"position":[[187,7]]},"8":{"position":[[240,5],[415,8]]},"9":{"position":[[1049,9]]},"58":{"position":[[734,5],[751,5]]},"62":{"position":[[728,5]]},"63":{"position":[[1912,5]]},"67":{"position":[[240,5]]},"69":{"position":[[3741,9]]}},"keywords":{}}],["strive",{"_index":2608,"title":{},"content":{"259":{"position":[[1303,6]]}},"keywords":{}}],["strong",{"_index":4103,"title":{},"content":{"464":{"position":[[125,6]]}},"keywords":{}}],["strongli",{"_index":4101,"title":{},"content":{"464":{"position":[[17,8]]}},"keywords":{}}],["struct",{"_index":3236,"title":{},"content":{"329":{"position":[[1035,6],[1097,6]]}},"keywords":{}}],["structur",{"_index":1358,"title":{"96":{"position":[[4,9]]},"119":{"position":[[17,10]]}},"content":{"61":{"position":[[736,9]]},"97":{"position":[[150,11]]},"119":{"position":[[46,9]]},"176":{"position":[[545,11]]},"198":{"position":[[699,11]]},"222":{"position":[[136,10]]},"229":{"position":[[1519,9]]},"253":{"position":[[1253,10],[6196,9]]},"259":{"position":[[726,11]]},"260":{"position":[[90,10]]},"281":{"position":[[136,10]]},"304":{"position":[[587,10]]},"320":{"position":[[306,10]]},"328":{"position":[[120,9]]},"329":{"position":[[1330,9]]},"343":{"position":[[357,9],[394,9]]},"583":{"position":[[180,9]]},"609":{"position":[[16,10]]}},"keywords":{}}],["studio",{"_index":1555,"title":{},"content":{"83":{"position":[[47,6]]},"332":{"position":[[8,6]]}},"keywords":{}}],["stuf",{"_index":1305,"title":{},"content":{"57":{"position":[[30,8]]}},"keywords":{}}],["stupid",{"_index":4217,"title":{"479":{"position":[[21,8]]}},"content":{},"keywords":{}}],["style",{"_index":658,"title":{},"content":{"36":{"position":[[86,5]]},"63":{"position":[[727,5]]},"202":{"position":[[86,5]]},"267":{"position":[[81,5]]},"328":{"position":[[456,5]]},"403":{"position":[[541,5]]},"476":{"position":[[1224,5],[1826,6],[2715,6]]},"482":{"position":[[427,5]]},"618":{"position":[[823,5]]}},"keywords":{}}],["stylesheet",{"_index":3760,"title":{},"content":{"382":{"position":[[17,10]]}},"keywords":{}}],["su",{"_index":3167,"title":{},"content":{"324":{"position":[[2010,2]]}},"keywords":{}}],["sub",{"_index":1773,"title":{},"content":{"95":{"position":[[544,3]]},"345":{"position":[[178,3]]}},"keywords":{}}],["subarray",{"_index":5254,"title":{},"content":{"707":{"position":[[91,8]]},"715":{"position":[[93,8]]},"724":{"position":[[90,8]]}},"keywords":{}}],["subclass",{"_index":1547,"title":{},"content":{"80":{"position":[[292,10],[440,10],[542,11]]}},"keywords":{}}],["subdirectori",{"_index":3296,"title":{},"content":{"345":{"position":[[286,12]]}},"keywords":{}}],["subject",{"_index":3687,"title":{},"content":{"363":{"position":[[1188,7]]},"459":{"position":[[1264,8],[1580,7]]},"465":{"position":[[103,7]]},"773":{"position":[[108,7]]}},"keywords":{}}],["sublabel",{"_index":3883,"title":{},"content":{"424":{"position":[[368,8],[403,8]]}},"keywords":{}}],["submenu",{"_index":2100,"title":{},"content":{"190":{"position":[[76,7]]}},"keywords":{}}],["submit",{"_index":4047,"title":{},"content":{"457":{"position":[[390,6]]}},"keywords":{}}],["submodul",{"_index":3001,"title":{},"content":{"317":{"position":[[21,10]]},"318":{"position":[[409,9],[441,9]]}},"keywords":{}}],["subroutin",{"_index":5412,"title":{},"content":{"735":{"position":[[51,11]]},"736":{"position":[[165,11]]},"737":{"position":[[45,11],[100,11],[202,11],[534,11]]}},"keywords":{}}],["subscrib",{"_index":2065,"title":{},"content":{"176":{"position":[[184,9]]},"227":{"position":[[1628,11]]},"315":{"position":[[77,11]]},"322":{"position":[[1516,9]]},"460":{"position":[[225,9]]},"461":{"position":[[321,9]]},"674":{"position":[[13,11]]},"675":{"position":[[292,9]]}},"keywords":{}}],["subscribe_limits_ev",{"_index":4719,"title":{},"content":{"621":{"position":[[4578,23]]}},"keywords":{}}],["subscribe_packet",{"_index":4721,"title":{"675":{"position":[[0,17]]}},"content":{"621":{"position":[[4709,17]]},"676":{"position":[[213,17]]}},"keywords":{}}],["subscribe_packet_data",{"_index":4720,"title":{},"content":{"621":{"position":[[4642,21]]}},"keywords":{}}],["subscribe_packets([['inst",{"_index":4370,"title":{},"content":{"499":{"position":[[547,27],[884,27]]},"675":{"position":[[336,27]]},"676":{"position":[[433,27],[936,27]]}},"keywords":{}}],["subscribe_packets(packet",{"_index":5096,"title":{},"content":{"675":{"position":[[164,26]]}},"keywords":{}}],["subscribe_server_messag",{"_index":4722,"title":{},"content":{"621":{"position":[[4727,25]]}},"keywords":{}}],["subscript",{"_index":2253,"title":{"674":{"position":[[12,14]]}},"content":{"227":{"position":[[1086,16],[1105,12],[1193,12],[1223,12],[1522,12],[1592,12],[1912,13],[2006,12],[2199,12],[4514,12]]},"322":{"position":[[1463,12]]},"361":{"position":[[410,14]]},"499":{"position":[[326,12],[358,12]]},"676":{"position":[[37,13]]}},"keywords":{}}],["subsec",{"_index":3100,"title":{},"content":{"321":{"position":[[3181,7]]}},"keywords":{}}],["subset",{"_index":3263,"title":{"383":{"position":[[0,11]]}},"content":{"338":{"position":[[78,6]]},"373":{"position":[[18,10],[63,11]]},"374":{"position":[[233,11],[304,10]]},"383":{"position":[[18,10],[63,11],[814,10],[921,10]]},"492":{"position":[[396,6]]}},"keywords":{}}],["substanti",{"_index":3637,"title":{},"content":{"360":{"position":[[645,11]]}},"keywords":{}}],["substitut",{"_index":2604,"title":{},"content":{"257":{"position":[[1782,12]]}},"keywords":{}}],["subsystem",{"_index":2702,"title":{},"content":{"283":{"position":[[167,9],[228,9]]},"284":{"position":[[401,9]]},"480":{"position":[[359,10],[592,9],[1076,9]]},"482":{"position":[[1077,10]]}},"keywords":{}}],["subwidget",{"_index":3739,"title":{},"content":{"373":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[647,9],[684,9]]},"383":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[565,9],[616,10]]}},"keywords":{}}],["succe",{"_index":2908,"title":{},"content":{"304":{"position":[[3445,8]]},"492":{"position":[[582,8]]}},"keywords":{}}],["success",{"_index":1177,"title":{},"content":{"46":{"position":[[1242,11],[1515,11]]},"224":{"position":[[107,7]]},"304":{"position":[[669,10],[3328,7],[3470,7]]},"310":{"position":[[524,7],[621,7]]},"337":{"position":[[251,11]]},"492":{"position":[[667,11]]},"546":{"position":[[177,10]]},"548":{"position":[[467,7]]},"644":{"position":[[1098,10]]},"681":{"position":[[655,7],[1528,7],[1593,7],[1738,7],[1803,7]]},"682":{"position":[[353,7],[1264,7],[1345,7],[1471,7],[1552,7]]},"683":{"position":[[438,7],[938,7]]},"684":{"position":[[320,7],[819,7]]},"758":{"position":[[107,11]]}},"keywords":{}}],["successfulli",{"_index":845,"title":{},"content":{"36":{"position":[[10185,12]]},"84":{"position":[[332,12]]},"103":{"position":[[401,12]]},"202":{"position":[[10185,12]]},"229":{"position":[[311,12]]},"230":{"position":[[338,12]]},"231":{"position":[[388,12]]},"232":{"position":[[447,12]]},"233":{"position":[[478,12]]},"234":{"position":[[444,12]]},"235":{"position":[[616,12]]},"253":{"position":[[1506,12],[2310,12]]},"254":{"position":[[120,12],[1934,12]]},"334":{"position":[[586,12]]},"504":{"position":[[417,13]]},"527":{"position":[[326,12]]}},"keywords":{}}],["such",{"_index":615,"title":{},"content":{"31":{"position":[[206,4]]},"36":{"position":[[5135,4]]},"54":{"position":[[585,4]]},"61":{"position":[[746,4]]},"62":{"position":[[576,4],[708,4]]},"63":{"position":[[336,4],[1401,4],[1533,4]]},"69":{"position":[[4985,4]]},"88":{"position":[[188,4]]},"121":{"position":[[234,4]]},"176":{"position":[[105,4]]},"177":{"position":[[112,4]]},"202":{"position":[[5135,4]]},"210":{"position":[[42,4]]},"224":{"position":[[314,4]]},"230":{"position":[[2171,4],[2392,4]]},"235":{"position":[[227,4]]},"263":{"position":[[639,4]]},"267":{"position":[[3616,4],[8390,4]]},"298":{"position":[[980,4]]},"304":{"position":[[1266,4],[1594,4]]},"461":{"position":[[440,4]]},"462":{"position":[[149,4]]},"465":{"position":[[154,4]]},"467":{"position":[[677,4],[793,4],[1164,4]]},"476":{"position":[[3875,4]]},"480":{"position":[[337,4]]},"482":{"position":[[823,4],[885,4],[963,4],[1118,4]]},"488":{"position":[[206,4]]},"496":{"position":[[65,4],[297,4]]},"514":{"position":[[73,4]]},"516":{"position":[[285,4]]},"544":{"position":[[125,4]]},"591":{"position":[[178,4]]},"617":{"position":[[243,4]]},"618":{"position":[[510,4]]},"737":{"position":[[632,4]]}},"keywords":{}}],["sudo",{"_index":1163,"title":{},"content":{"46":{"position":[[763,4]]},"324":{"position":[[1640,4],[1656,4],[1815,4],[1868,4],[1912,4],[2005,4],[2212,4],[2276,4]]},"341":{"position":[[279,4]]},"347":{"position":[[2133,4],[2172,4],[2210,4],[2226,4],[2243,4],[2318,4],[2340,4]]}},"keywords":{}}],["suggest",{"_index":2772,"title":{},"content":{"289":{"position":[[830,9]]}},"keywords":{}}],["suit",{"_index":3,"title":{"44":{"position":[[0,5]]},"609":{"position":[[15,7]]},"611":{"position":[[0,6]]},"612":{"position":[[7,5]]},"753":{"position":[[14,7]]}},"content":{"1":{"position":[[13,5]]},"44":{"position":[[36,5],[384,4]]},"304":{"position":[[1217,5],[4977,5],[5028,7],[5063,6],[5090,5],[5203,5],[5314,5],[5480,5],[5520,5],[5582,5],[5610,5],[5646,5],[5699,5],[5758,6],[5785,5],[5931,5],[6098,5],[6246,5],[6376,5],[6538,5],[6751,5]]},"448":{"position":[[17,5]]},"482":{"position":[[528,5],[551,8],[655,5],[692,7],[742,6],[1253,6]]},"496":{"position":[[987,7]]},"497":{"position":[[44,5]]},"603":{"position":[[221,5],[347,7]]},"605":{"position":[[52,5]]},"609":{"position":[[32,5],[110,6],[173,5],[202,5],[258,5]]},"610":{"position":[[614,6]]},"611":{"position":[[21,6],[64,5],[351,6],[640,5],[672,6],[797,5]]},"612":{"position":[[18,5],[821,5]]},"753":{"position":[[24,6],[74,7],[129,7]]},"754":{"position":[[31,6],[394,6],[1641,5]]}},"keywords":{}}],["suite'",{"_index":4617,"title":{},"content":{"612":{"position":[[776,7]]}},"keywords":{}}],["suite/group",{"_index":4616,"title":{},"content":{"612":{"position":[[662,12]]}},"keywords":{}}],["suite=${3",{"_index":1085,"title":{},"content":{"44":{"position":[[2144,10]]}},"keywords":{}}],["suiteshttps://pkg.go.dev/crypto/tls#pkg",{"_index":603,"title":{},"content":{"29":{"position":[[50,39]]}},"keywords":{}}],["summari",{"_index":3606,"title":{},"content":{"359":{"position":[[305,8]]}},"keywords":{}}],["super",{"_index":770,"title":{"478":{"position":[[2,5]]}},"content":{"36":{"position":[[5620,7]]},"109":{"position":[[19,5]]},"202":{"position":[[5620,7]]},"267":{"position":[[4100,7]]},"754":{"position":[[1406,7]]}},"keywords":{}}],["super().__init__",{"_index":780,"title":{},"content":{"36":{"position":[[5956,18]]},"202":{"position":[[5956,18]]},"267":{"position":[[4436,18]]},"754":{"position":[[1953,18]]}},"keywords":{}}],["super(allow_empty_data",{"_index":1487,"title":{},"content":{"71":{"position":[[73,23]]}},"keywords":{}}],["suppli",{"_index":14,"title":{},"content":{"1":{"position":[[147,9]]},"12":{"position":[[229,6]]},"298":{"position":[[1005,7]]}},"keywords":{}}],["supply32gb",{"_index":3304,"title":{},"content":{"347":{"position":[[291,10]]}},"keywords":{}}],["support",{"_index":285,"title":{"90":{"position":[[0,9]]},"450":{"position":[[5,7]]},"454":{"position":[[31,8]]},"455":{"position":[[0,9]]}},"content":{"8":{"position":[[8,8]]},"9":{"position":[[8,8]]},"36":{"position":[[8242,9]]},"46":{"position":[[1701,9]]},"51":{"position":[[486,8]]},"60":{"position":[[622,8]]},"61":{"position":[[439,8]]},"64":{"position":[[733,7]]},"88":{"position":[[128,10],[274,10],[333,10]]},"90":{"position":[[21,9]]},"93":{"position":[[485,10]]},"94":{"position":[[469,10]]},"95":{"position":[[128,9]]},"99":{"position":[[3954,9]]},"107":{"position":[[10,7],[113,7]]},"114":{"position":[[150,7]]},"120":{"position":[[376,9]]},"121":{"position":[[369,7]]},"139":{"position":[[140,7]]},"175":{"position":[[141,7]]},"202":{"position":[[8242,9]]},"229":{"position":[[1256,7]]},"239":{"position":[[461,7],[507,7]]},"249":{"position":[[39,7]]},"253":{"position":[[4081,9],[4144,9],[8282,7]]},"254":{"position":[[2925,7]]},"263":{"position":[[540,7]]},"267":{"position":[[6901,9]]},"291":{"position":[[105,7]]},"297":{"position":[[599,7]]},"298":{"position":[[929,7]]},"299":{"position":[[538,7]]},"301":{"position":[[1554,7]]},"302":{"position":[[355,7],[688,7],[772,7]]},"303":{"position":[[1362,7]]},"304":{"position":[[1988,10],[3528,7],[3668,7],[3815,7],[3979,7],[4077,7],[4176,7],[4290,7],[4562,7],[4674,7],[4836,7],[4994,7],[5107,7],[5220,7],[5331,7],[5497,7],[5802,7],[5948,7],[6115,7],[6263,7],[6393,7],[6555,7],[6768,7]]},"305":{"position":[[1045,7],[1160,7],[1416,7]]},"306":{"position":[[512,7]]},"307":{"position":[[283,7],[392,7],[522,7],[611,7],[723,7],[820,7],[917,7],[1018,7],[1114,7]]},"308":{"position":[[176,7],[281,7],[370,7],[467,7],[643,7],[728,7],[814,7]]},"309":{"position":[[252,7],[367,7],[469,7],[564,7],[664,7]]},"311":{"position":[[246,7],[326,7],[511,7],[604,7],[690,7],[776,7],[858,7]]},"338":{"position":[[124,10]]},"353":{"position":[[167,9]]},"361":{"position":[[510,7]]},"362":{"position":[[587,7]]},"375":{"position":[[30,8]]},"376":{"position":[[32,8]]},"377":{"position":[[32,8]]},"378":{"position":[[34,8]]},"455":{"position":[[64,10]]},"457":{"position":[[68,7],[373,9]]},"467":{"position":[[728,7]]},"475":{"position":[[8,8]]},"498":{"position":[[87,8]]},"500":{"position":[[207,7]]},"527":{"position":[[547,8]]},"541":{"position":[[147,7]]},"542":{"position":[[150,7]]},"596":{"position":[[104,8]]},"616":{"position":[[205,7]]},"652":{"position":[[215,10]]},"681":{"position":[[129,8]]},"713":{"position":[[339,7]]},"714":{"position":[[336,7]]},"725":{"position":[[321,7]]},"726":{"position":[[318,7]]},"736":{"position":[[436,10]]}},"keywords":{}}],["support@openc3.com",{"_index":2592,"title":{},"content":{"254":{"position":[[2999,19]]},"472":{"position":[[82,18]]}},"keywords":{}}],["supportcloud",{"_index":3665,"title":{},"content":{"362":{"position":[[235,12]]}},"keywords":{}}],["supportedal",{"_index":4028,"title":{},"content":{"454":{"position":[[77,12]]}},"keywords":{}}],["supportedonli",{"_index":4035,"title":{},"content":{"454":{"position":[[252,13]]}},"keywords":{}}],["supportedpacket",{"_index":4031,"title":{},"content":{"454":{"position":[[144,15]]}},"keywords":{}}],["supportedpolynomialcalibr",{"_index":4034,"title":{},"content":{"454":{"position":[[217,30]]}},"keywords":{}}],["supportedst",{"_index":4032,"title":{},"content":{"454":{"position":[[178,15]]}},"keywords":{}}],["supportedtelemetri",{"_index":4030,"title":{},"content":{"454":{"position":[[108,18]]}},"keywords":{}}],["supportedunit",{"_index":4033,"title":{},"content":{"454":{"position":[[198,14]]}},"keywords":{}}],["supportkubernet",{"_index":3664,"title":{},"content":{"362":{"position":[[217,17]]}},"keywords":{}}],["supportsupport",{"_index":3668,"title":{},"content":{"362":{"position":[[336,14]]}},"keywords":{}}],["suppos",{"_index":1370,"title":{},"content":{"61":{"position":[[2749,7]]}},"keywords":{}}],["suppress",{"_index":684,"title":{},"content":{"36":{"position":[[1278,10]]},"202":{"position":[[1278,10]]},"267":{"position":[[1273,10]]}},"keywords":{}}],["sure",{"_index":1176,"title":{},"content":{"46":{"position":[[1213,4]]},"61":{"position":[[815,4],[1322,4]]},"234":{"position":[[478,4]]},"235":{"position":[[650,4]]},"253":{"position":[[6240,4]]},"322":{"position":[[1033,4],[1729,4]]},"324":{"position":[[3728,4]]},"337":{"position":[[90,4]]},"341":{"position":[[200,4]]},"347":{"position":[[452,4],[1437,4],[1610,5],[1649,4]]},"448":{"position":[[219,4]]},"449":{"position":[[309,4]]},"478":{"position":[[999,4]]},"488":{"position":[[2292,4],[2440,4],[2573,4]]},"505":{"position":[[499,4]]},"528":{"position":[[1017,4]]}},"keywords":{}}],["suspect",{"_index":4090,"title":{},"content":{"461":{"position":[[1071,7]]}},"keywords":{}}],["svelt",{"_index":2400,"title":{},"content":{"235":{"position":[[262,7]]},"246":{"position":[[376,7]]}},"keywords":{}}],["swap",{"_index":3244,"title":{},"content":{"329":{"position":[[1408,9]]}},"keywords":{}}],["swap=0",{"_index":2775,"title":{},"content":{"289":{"position":[[887,6]]}},"keywords":{}}],["switch",{"_index":16,"title":{},"content":{"1":{"position":[[172,8]]},"309":{"position":[[604,6]]},"324":{"position":[[3655,9]]},"360":{"position":[[1358,6]]}},"keywords":{}}],["symbol",{"_index":1450,"title":{},"content":{"69":{"position":[[1710,8],[1785,6]]},"481":{"position":[[265,6]]},"652":{"position":[[612,6]]},"656":{"position":[[1073,6]]},"657":{"position":[[714,7]]},"660":{"position":[[522,7]]},"662":{"position":[[589,7]]},"669":{"position":[[648,7]]},"670":{"position":[[533,7]]},"671":{"position":[[527,7]]},"672":{"position":[[345,7]]},"681":{"position":[[1378,7]]},"682":{"position":[[1145,7]]},"685":{"position":[[990,7]]},"686":{"position":[[1041,7]]},"718":{"position":[[597,8]]},"728":{"position":[[601,8]]}},"keywords":{}}],["sync",{"_index":1333,"title":{},"content":{"59":{"position":[[291,4],[330,4],[412,4],[446,4],[682,4],[702,4],[758,4],[929,4],[970,4],[1019,4]]},"60":{"position":[[471,4],[633,4],[689,4],[1080,4],[1100,4],[1156,4],[1327,4],[1369,4],[1488,4]]},"61":{"position":[[450,4],[517,4],[853,4],[1205,4],[1360,4],[1857,4],[1877,4],[2056,4],[2227,4],[2269,4],[2383,4],[2450,4],[2803,4],[2868,4],[3270,4]]},"62":{"position":[[982,4],[1002,4],[1058,4],[1229,4],[1271,4],[1320,4]]},"63":{"position":[[2166,4],[2186,4],[2242,4],[2413,4],[2455,4],[2504,4]]},"64":{"position":[[505,4],[540,4],[585,4]]},"201":{"position":[[1959,4]]},"203":{"position":[[1749,4]]},"332":{"position":[[589,4],[942,6]]},"334":{"position":[[1386,4]]},"481":{"position":[[188,4]]},"528":{"position":[[962,5]]}},"keywords":{}}],["syntax",{"_index":227,"title":{},"content":{"6":{"position":[[753,7],[1111,6]]},"7":{"position":[[1080,7]]},"9":{"position":[[873,7]]},"36":{"position":[[168,7]]},"93":{"position":[[472,8]]},"94":{"position":[[456,8]]},"121":{"position":[[554,7]]},"202":{"position":[[168,7]]},"253":{"position":[[7386,6]]},"267":{"position":[[163,7]]},"304":{"position":[[126,6],[4087,6],[4136,6]]},"338":{"position":[[117,6]]},"429":{"position":[[852,6],[908,7]]},"476":{"position":[[856,7]]},"488":{"position":[[1837,7],[1997,6]]},"493":{"position":[[104,6],[128,6],[239,6],[275,6]]},"501":{"position":[[525,6]]},"592":{"position":[[136,6]]},"606":{"position":[[128,6]]},"617":{"position":[[289,6]]},"623":{"position":[[233,7]]},"624":{"position":[[192,7]]},"627":{"position":[[204,7]]},"628":{"position":[[62,7],[144,7]]},"629":{"position":[[55,7]]},"630":{"position":[[54,7]]},"632":{"position":[[454,7],[691,7]]},"634":{"position":[[89,7]]},"636":{"position":[[34,7],[399,7]]},"637":{"position":[[196,7],[591,7]]},"638":{"position":[[201,7],[604,7]]},"639":{"position":[[270,7],[655,7]]},"640":{"position":[[62,7],[451,7]]},"641":{"position":[[219,7],[638,7]]},"642":{"position":[[224,7],[651,7]]},"643":{"position":[[293,7],[702,7]]},"644":{"position":[[38,7],[111,7]]},"645":{"position":[[48,7]]},"646":{"position":[[175,7]]},"647":{"position":[[79,7]]},"648":{"position":[[81,7]]},"649":{"position":[[62,7]]},"650":{"position":[[110,7]]},"651":{"position":[[100,7]]},"652":{"position":[[241,7]]},"653":{"position":[[66,7]]},"654":{"position":[[79,7]]},"656":{"position":[[341,7]]},"657":{"position":[[260,7]]},"658":{"position":[[417,7],[635,6],[919,7]]},"659":{"position":[[140,7]]},"660":{"position":[[62,7]]},"661":{"position":[[93,7]]},"662":{"position":[[217,7]]},"663":{"position":[[261,7]]},"664":{"position":[[62,7]]},"665":{"position":[[61,7]]},"666":{"position":[[39,7]]},"667":{"position":[[38,7]]},"668":{"position":[[92,7]]},"669":{"position":[[380,7]]},"670":{"position":[[90,7]]},"671":{"position":[[242,7]]},"672":{"position":[[93,7]]},"673":{"position":[[216,7]]},"675":{"position":[[155,7]]},"676":{"position":[[57,7],[116,7]]},"677":{"position":[[61,7]]},"678":{"position":[[73,7]]},"679":{"position":[[69,7]]},"681":{"position":[[154,8],[365,7],[569,7]]},"682":{"position":[[267,7]]},"683":{"position":[[352,7]]},"684":{"position":[[242,7]]},"685":{"position":[[198,7]]},"686":{"position":[[180,7]]},"687":{"position":[[244,6],[294,7]]},"688":{"position":[[130,7]]},"690":{"position":[[115,7],[220,7]]},"691":{"position":[[76,7]]},"692":{"position":[[77,7]]},"693":{"position":[[99,7]]},"694":{"position":[[100,7]]},"695":{"position":[[65,6]]},"696":{"position":[[80,7]]},"697":{"position":[[95,6]]},"698":{"position":[[63,6]]},"699":{"position":[[86,7]]},"700":{"position":[[228,7]]},"701":{"position":[[146,6]]},"702":{"position":[[109,7]]},"703":{"position":[[100,7]]},"705":{"position":[[64,6]]},"706":{"position":[[78,7]]},"707":{"position":[[168,6]]},"709":{"position":[[125,7]]},"710":{"position":[[76,6]]},"711":{"position":[[72,7]]},"712":{"position":[[77,7]]},"713":{"position":[[106,7]]},"714":{"position":[[105,7]]},"715":{"position":[[296,6],[841,6]]},"716":{"position":[[119,7]]},"717":{"position":[[175,7]]},"718":{"position":[[182,7]]},"720":{"position":[[42,7]]},"721":{"position":[[45,7]]},"722":{"position":[[73,6]]},"723":{"position":[[118,7]]},"724":{"position":[[290,6],[827,6]]},"725":{"position":[[103,7]]},"726":{"position":[[102,7]]},"727":{"position":[[165,7]]},"728":{"position":[[179,7]]},"730":{"position":[[35,7]]},"731":{"position":[[50,7]]},"732":{"position":[[66,6],[158,6]]},"733":{"position":[[44,6]]},"734":{"position":[[70,7]]},"736":{"position":[[178,7]]},"737":{"position":[[388,7]]},"739":{"position":[[68,7]]},"740":{"position":[[49,7]]},"741":{"position":[[41,6]]},"742":{"position":[[61,7]]},"743":{"position":[[83,6]]},"744":{"position":[[93,7]]},"745":{"position":[[165,7]]},"746":{"position":[[234,7]]},"748":{"position":[[66,7]]},"749":{"position":[[86,6]]},"750":{"position":[[150,7]]},"751":{"position":[[149,6]]},"752":{"position":[[501,6],[628,6]]},"754":{"position":[[505,7]]},"756":{"position":[[101,6]]},"757":{"position":[[92,6]]},"758":{"position":[[297,6]]},"760":{"position":[[65,7]]},"761":{"position":[[57,7]]},"762":{"position":[[57,7]]},"763":{"position":[[57,7]]},"764":{"position":[[90,6]]},"766":{"position":[[110,6],[260,6]]},"767":{"position":[[71,6],[850,6]]},"768":{"position":[[130,7]]},"769":{"position":[[170,7]]},"771":{"position":[[102,6],[231,6]]},"772":{"position":[[82,7]]},"773":{"position":[[230,7]]},"774":{"position":[[54,7]]},"775":{"position":[[56,7]]}},"keywords":{}}],["syntax.python",{"_index":4169,"title":{},"content":{"476":{"position":[[762,14]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/defrag",{"_index":3169,"title":{},"content":{"324":{"position":[[2089,42]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/en",{"_index":3168,"title":{},"content":{"324":{"position":[[2029,43]]}},"keywords":{}}],["sysctl",{"_index":3170,"title":{},"content":{"324":{"position":[[2132,6]]},"347":{"position":[[2138,6],[2177,6]]}},"keywords":{}}],["system",{"_index":9,"title":{},"content":{"1":{"position":[[81,8],[96,7]]},"2":{"position":[[88,7],[205,7],[269,7]]},"6":{"position":[[51,6]]},"26":{"position":[[251,7]]},"43":{"position":[[59,7]]},"52":{"position":[[137,8]]},"69":{"position":[[1152,7],[1426,7]]},"93":{"position":[[171,7]]},"108":{"position":[[167,6]]},"171":{"position":[[87,7],[425,6]]},"184":{"position":[[66,7],[214,6]]},"210":{"position":[[205,6]]},"227":{"position":[[288,7]]},"239":{"position":[[128,6],[224,6]]},"240":{"position":[[343,7],[1881,6]]},"243":{"position":[[75,6]]},"247":{"position":[[48,6]]},"253":{"position":[[438,7]]},"278":{"position":[[276,6]]},"287":{"position":[[89,8]]},"297":{"position":[[12,6],[167,6],[685,7],[1223,7]]},"298":{"position":[[179,7],[296,7],[360,7],[1026,6],[1209,8],[1348,7]]},"299":{"position":[[937,7]]},"304":{"position":[[624,6],[766,6]]},"305":{"position":[[107,6]]},"311":{"position":[[96,6]]},"324":{"position":[[634,8],[1508,6]]},"334":{"position":[[1351,6]]},"338":{"position":[[2058,7]]},"347":{"position":[[1160,6]]},"349":{"position":[[246,7]]},"351":{"position":[[94,7]]},"356":{"position":[[842,6]]},"357":{"position":[[4074,7]]},"364":{"position":[[63,6],[308,7]]},"368":{"position":[[270,6]]},"461":{"position":[[626,7]]},"480":{"position":[[69,6]]},"498":{"position":[[6,7]]},"499":{"position":[[339,7],[371,6]]},"504":{"position":[[270,6]]},"511":{"position":[[322,7]]},"512":{"position":[[278,6]]},"516":{"position":[[72,7]]},"525":{"position":[[62,7]]},"536":{"position":[[352,7]]},"543":{"position":[[32,6]]},"548":{"position":[[178,6]]},"635":{"position":[[109,7]]},"663":{"position":[[129,7]]},"670":{"position":[[27,6]]},"695":{"position":[[42,7]]},"698":{"position":[[40,7]]},"702":{"position":[[49,7]]},"705":{"position":[[38,6]]},"710":{"position":[[41,6]]},"722":{"position":[[38,6]]}},"keywords":{}}],["system."",{"_index":2432,"title":{},"content":{"240":{"position":[[518,13]]}},"keywords":{}}],["system.th",{"_index":2559,"title":{},"content":{"253":{"position":[[7284,10]]}},"keywords":{}}],["system/subsystem",{"_index":4213,"title":{},"content":{"478":{"position":[[90,16]]}},"keywords":{}}],["systemctl",{"_index":3181,"title":{},"content":{"324":{"position":[[2442,9]]}},"keywords":{}}],["t",{"_index":1679,"title":{},"content":{"85":{"position":[[490,1]]},"319":{"position":[[108,1]]}},"keywords":{}}],["t2ikutvtxbmtygxiah6iqi4gkpl8mx1w","not",{"_index":1003,"title":{},"content":{"43":{"position":[[4451,48]]}},"keywords":{}}],["tab",{"_index":632,"title":{"539":{"position":[[11,4]]},"540":{"position":[[8,4]]},"541":{"position":[[16,4]]},"542":{"position":[[18,4]]},"543":{"position":[[7,4]]}},"content":{"33":{"position":[[127,4]]},"95":{"position":[[409,3],[548,3]]},"123":{"position":[[463,3]]},"131":{"position":[[49,3]]},"188":{"position":[[263,4]]},"253":{"position":[[485,4]]},"254":{"position":[[533,4],[965,4],[2082,4]]},"301":{"position":[[248,4],[507,4],[612,4],[746,3],[904,4],[1056,3],[1207,4],[1625,3]]},"302":{"position":[[507,4]]},"307":{"position":[[557,4]]},"309":{"position":[[581,4],[627,4],[681,5],[696,4]]},"311":{"position":[[828,3],[940,3]]},"334":{"position":[[733,3]]},"347":{"position":[[1282,3],[1424,3]]},"357":{"position":[[513,5]]},"392":{"position":[[11,6]]},"393":{"position":[[27,3],[122,3]]},"538":{"position":[[271,4]]},"539":{"position":[[16,3]]},"540":{"position":[[13,3]]},"541":{"position":[[21,3]]},"542":{"position":[[23,3]]},"543":{"position":[[12,3]]},"544":{"position":[[43,4]]},"550":{"position":[[67,3]]},"552":{"position":[[160,4]]},"601":{"position":[[415,4]]},"608":{"position":[[147,3],[492,3]]},"765":{"position":[[75,4]]}},"keywords":{}}],["tabbook",{"_index":3797,"title":{"392":{"position":[[0,8]]}},"content":{"393":{"position":[[148,7]]}},"keywords":{}}],["tabitem",{"_index":3798,"title":{"393":{"position":[[0,8]]}},"content":{"392":{"position":[[41,7]]},"393":{"position":[[156,7],[230,7]]}},"keywords":{}}],["tabl",{"_index":53,"title":{"30":{"position":[[0,6]]},"31":{"position":[[0,5]]},"33":{"position":[[0,6]]},"34":{"position":[[0,5]]},"548":{"position":[[9,6]]},"580":{"position":[[0,5]]}},"content":{"2":{"position":[[406,6]]},"31":{"position":[[1,5],[42,6],[81,5],[96,5],[200,5],[296,5],[314,5],[413,5],[457,5],[712,5]]},"32":{"position":[[46,5]]},"33":{"position":[[13,5],[78,5],[178,5],[292,5],[365,5],[581,5],[797,5],[840,5]]},"34":{"position":[[38,5]]},"35":{"position":[[36,5],[127,6],[170,5],[281,6]]},"36":{"position":[[10542,5]]},"37":{"position":[[36,5],[127,6]]},"38":{"position":[[20,5],[151,5]]},"39":{"position":[[59,5]]},"40":{"position":[[66,5]]},"99":{"position":[[1808,5],[2441,5],[4969,5]]},"198":{"position":[[690,5]]},"253":{"position":[[638,5]]},"259":{"position":[[717,5]]},"263":{"position":[[755,5]]},"297":{"position":[[86,5]]},"298":{"position":[[497,6]]},"390":{"position":[[27,5]]},"527":{"position":[[527,5]]},"528":{"position":[[752,6]]},"533":{"position":[[225,5]]},"541":{"position":[[66,5],[125,5]]},"542":{"position":[[69,5],[128,5]]},"544":{"position":[[18,5]]},"548":{"position":[[14,5]]},"557":{"position":[[35,5]]},"559":{"position":[[120,5]]},"572":{"position":[[131,5]]},"575":{"position":[[356,5]]},"581":{"position":[[1,5]]},"583":{"position":[[151,6],[241,5],[288,5]]},"584":{"position":[[1,5],[124,5]]},"585":{"position":[[117,5],[374,5],[583,5]]},"586":{"position":[[119,5],[393,5],[534,5],[758,5]]},"670":{"position":[[378,5]]}},"keywords":{}}],["table"",{"_index":863,"title":{},"content":{"40":{"position":[[157,11]]}},"keywords":{}}],["table_id",{"_index":4544,"title":{},"content":{"586":{"position":[[657,8],[797,8],[806,12]]}},"keywords":{}}],["tablefil",{"_index":619,"title":{"32":{"position":[[0,10]]}},"content":{"31":{"position":[[358,9]]}},"keywords":{}}],["tables/config",{"_index":613,"title":{},"content":{"31":{"position":[[142,13]]}},"keywords":{}}],["tabsconst",{"_index":4172,"title":{},"content":{"476":{"position":[[1297,13]]}},"keywords":{}}],["tabular",{"_index":2939,"title":{},"content":{"305":{"position":[[119,8]]}},"keywords":{}}],["tag",{"_index":1393,"title":{},"content":{"63":{"position":[[723,3]]}},"keywords":{}}],["tag_key",{"_index":3381,"title":{},"content":{"350":{"position":[[455,7],[785,7],[1107,7]]}},"keywords":{}}],["take",{"_index":252,"title":{},"content":{"7":{"position":[[359,5]]},"36":{"position":[[4263,5],[6547,4],[7343,4]]},"44":{"position":[[1690,5],[3105,4]]},"49":{"position":[[811,6]]},"50":{"position":[[698,6]]},"52":{"position":[[890,6]]},"56":{"position":[[267,4]]},"69":{"position":[[347,4]]},"75":{"position":[[102,5]]},"76":{"position":[[125,5]]},"77":{"position":[[124,5]]},"78":{"position":[[116,5]]},"79":{"position":[[265,5]]},"83":{"position":[[779,4]]},"93":{"position":[[1178,4]]},"117":{"position":[[89,5]]},"179":{"position":[[101,4]]},"202":{"position":[[4263,5],[6547,4],[7343,4]]},"227":{"position":[[5198,4]]},"231":{"position":[[1064,4]]},"233":{"position":[[811,6]]},"253":{"position":[[4426,5],[5387,4]]},"267":{"position":[[3212,5],[5086,4],[5944,4]]},"292":{"position":[[913,5]]},"315":{"position":[[364,5]]},"355":{"position":[[227,6],[267,6]]},"359":{"position":[[1063,4],[1742,4],[1913,4]]},"360":{"position":[[14,5]]},"367":{"position":[[86,4]]},"429":{"position":[[1335,5]]},"465":{"position":[[575,4]]},"476":{"position":[[3850,5],[4382,6]]},"488":{"position":[[1014,5]]},"495":{"position":[[416,4]]},"500":{"position":[[173,4]]},"504":{"position":[[123,5]]},"514":{"position":[[605,5]]},"527":{"position":[[37,4]]},"540":{"position":[[274,4]]},"581":{"position":[[43,5]]},"599":{"position":[[797,4]]}},"keywords":{}}],["taken",{"_index":3879,"title":{},"content":{"424":{"position":[[198,5]]},"459":{"position":[[1053,5]]},"464":{"position":[[119,5]]},"511":{"position":[[281,5]]}},"keywords":{}}],["talk",{"_index":1907,"title":{},"content":{"112":{"position":[[280,4]]},"123":{"position":[[79,4],[216,4]]},"253":{"position":[[66,4]]},"357":{"position":[[4104,4]]},"364":{"position":[[1258,4]]}},"keywords":{}}],["tamper",{"_index":4150,"title":{},"content":{"469":{"position":[[606,10]]}},"keywords":{}}],["tar",{"_index":2791,"title":{},"content":{"290":{"position":[[592,3],[702,3]]}},"keywords":{}}],["target",{"_index":45,"title":{"114":{"position":[[0,7]]},"144":{"position":[[0,7]]},"145":{"position":[[0,6]]},"230":{"position":[[0,6]]},"540":{"position":[[0,7]]},"704":{"position":[[0,8]]}},"content":{"2":{"position":[[277,9],[506,8]]},"5":{"position":[[114,6],[216,7],[610,6],[753,7],[1046,6]]},"11":{"position":[[45,6],[87,6]]},"17":{"position":[[124,6]]},"18":{"position":[[128,6]]},"44":{"position":[[2092,9]]},"49":{"position":[[122,7]]},"50":{"position":[[149,7],[184,7]]},"51":{"position":[[75,7]]},"52":{"position":[[36,6]]},"54":{"position":[[2601,6],[2813,6]]},"63":{"position":[[1192,6]]},"68":{"position":[[163,6]]},"69":{"position":[[270,6]]},"93":{"position":[[157,6],[987,6],[1522,6]]},"94":{"position":[[778,6],[951,6]]},"97":{"position":[[94,8]]},"99":{"position":[[413,6],[1316,6],[1362,6],[1412,6],[1541,6],[1690,6],[1817,6],[1863,6],[1906,6],[1950,6]]},"112":{"position":[[159,7],[288,8]]},"114":{"position":[[1,7],[251,6]]},"115":{"position":[[61,8],[215,7],[250,8]]},"121":{"position":[[204,7],[330,7],[412,6]]},"123":{"position":[[36,6],[579,7],[648,7]]},"125":{"position":[[8,6],[79,6]]},"126":{"position":[[23,6],[121,6]]},"127":{"position":[[23,6],[124,6]]},"131":{"position":[[266,7]]},"144":{"position":[[15,6],[69,6],[97,6],[201,7],[227,6],[264,6]]},"145":{"position":[[38,6]]},"166":{"position":[[50,6]]},"168":{"position":[[25,6],[342,6]]},"169":{"position":[[174,6]]},"170":{"position":[[80,6]]},"177":{"position":[[20,6],[35,6],[155,6],[281,6]]},"198":{"position":[[80,8]]},"199":{"position":[[80,6],[223,7]]},"208":{"position":[[253,6]]},"218":{"position":[[126,6]]},"219":{"position":[[132,6]]},"220":{"position":[[110,6]]},"221":{"position":[[112,6]]},"225":{"position":[[335,6]]},"226":{"position":[[47,6],[96,6],[957,6],[1717,6]]},"227":{"position":[[3120,7],[4044,6]]},"230":{"position":[[5,6],[63,7],[135,6],[205,6],[232,6],[316,6],[327,6],[482,7],[494,6],[579,7],[605,7],[750,7],[829,7],[915,7],[1191,6],[1309,6],[1393,7],[1565,6],[1718,6],[1800,7],[1919,7],[2267,6],[2371,6],[2526,7],[2564,6]]},"231":{"position":[[147,6]]},"232":{"position":[[148,6]]},"233":{"position":[[158,6],[1015,7]]},"240":{"position":[[945,6],[1190,6]]},"253":{"position":[[994,7],[1064,6],[1191,7],[2111,8],[2182,7],[2279,6],[2299,6],[2458,6],[2492,6],[2546,6],[2591,7],[2648,6],[3193,6],[5112,6],[5994,7],[6007,7],[6404,7],[6642,6],[6729,6],[7125,6],[7262,6],[7295,6],[7328,6],[8235,6]]},"254":{"position":[[1016,7],[1045,6],[2687,6],[2812,7]]},"257":{"position":[[43,7],[150,7],[221,6],[257,7],[505,7],[1251,6],[1346,8],[1503,6],[1595,6],[1775,6]]},"259":{"position":[[104,8]]},"260":{"position":[[339,6]]},"263":{"position":[[294,6]]},"264":{"position":[[82,6],[252,7]]},"273":{"position":[[253,6]]},"282":{"position":[[331,6]]},"284":{"position":[[261,6]]},"285":{"position":[[49,6]]},"297":{"position":[[145,6],[352,6],[459,7],[557,7]]},"298":{"position":[[368,9],[597,8],[857,8],[972,7],[1315,7]]},"299":{"position":[[584,8],[600,7]]},"300":{"position":[[474,7]]},"301":{"position":[[481,8],[499,7]]},"303":{"position":[[67,8],[190,6],[352,7],[457,6],[515,6]]},"305":{"position":[[250,6],[317,6]]},"308":{"position":[[402,8],[433,7]]},"320":{"position":[[355,7],[513,6],[863,6],[1232,6],[1268,6],[1376,7],[1424,6],[1607,6]]},"321":{"position":[[15,6]]},"322":{"position":[[1345,6]]},"328":{"position":[[919,6],[1070,6]]},"338":{"position":[[236,8]]},"343":{"position":[[130,7],[688,6],[724,6]]},"344":{"position":[[208,6]]},"352":{"position":[[562,8],[709,8],[851,8],[999,8],[1145,8]]},"355":{"position":[[155,7],[190,7],[219,7],[259,7],[397,8],[454,8],[657,8],[771,8],[900,7]]},"356":{"position":[[124,7],[484,7]]},"357":{"position":[[354,7],[2370,6],[3716,7],[3842,7]]},"367":{"position":[[251,6]]},"401":{"position":[[108,6]]},"402":{"position":[[108,6]]},"403":{"position":[[441,6]]},"404":{"position":[[83,6]]},"405":{"position":[[110,6]]},"406":{"position":[[104,6]]},"407":{"position":[[112,6]]},"408":{"position":[[124,6]]},"409":{"position":[[127,6]]},"410":{"position":[[123,6]]},"411":{"position":[[391,6]]},"412":{"position":[[120,6]]},"413":{"position":[[118,6]]},"414":{"position":[[104,6]]},"415":{"position":[[93,6]]},"416":{"position":[[96,6]]},"417":{"position":[[92,6]]},"418":{"position":[[90,6],[817,6]]},"419":{"position":[[124,6],[870,6]]},"420":{"position":[[108,6],[842,6]]},"421":{"position":[[89,6]]},"422":{"position":[[114,6]]},"423":{"position":[[102,6]]},"425":{"position":[[136,6]]},"426":{"position":[[88,6]]},"427":{"position":[[332,6]]},"440":{"position":[[126,6]]},"441":{"position":[[795,6]]},"442":{"position":[[318,6],[1708,6]]},"444":{"position":[[190,6]]},"451":{"position":[[76,6]]},"452":{"position":[[140,6]]},"453":{"position":[[83,7],[139,6]]},"476":{"position":[[2092,6],[2389,7],[2417,8],[3007,6],[3301,7],[3313,6],[4940,6],[4962,6]]},"481":{"position":[[441,6]]},"485":{"position":[[273,6],[395,6]]},"487":{"position":[[635,6],[675,7]]},"492":{"position":[[252,7],[291,7],[406,7],[567,7],[632,8]]},"498":{"position":[[225,6]]},"500":{"position":[[180,6],[239,7]]},"525":{"position":[[150,6]]},"530":{"position":[[108,6]]},"533":{"position":[[41,6],[64,6],[95,6],[185,7]]},"536":{"position":[[87,7]]},"540":{"position":[[5,7],[34,7],[355,7],[448,7]]},"553":{"position":[[155,6]]},"556":{"position":[[25,7],[115,6],[267,7]]},"566":{"position":[[149,7]]},"568":{"position":[[120,7]]},"572":{"position":[[66,6]]},"577":{"position":[[394,6]]},"578":{"position":[[539,6],[662,6]]},"584":{"position":[[93,6]]},"585":{"position":[[241,6],[293,6]]},"586":{"position":[[260,6],[312,6]]},"590":{"position":[[13,6],[36,6],[106,6]]},"591":{"position":[[78,7],[96,6]]},"600":{"position":[[13,6],[36,6]]},"603":{"position":[[120,6]]},"605":{"position":[[356,8],[733,8]]},"628":{"position":[[39,6],[272,6],[320,6]]},"629":{"position":[[22,6],[193,6],[241,6]]},"630":{"position":[[22,6],[169,6],[217,6]]},"632":{"position":[[341,7]]},"635":{"position":[[56,6]]},"636":{"position":[[794,6]]},"637":{"position":[[182,7],[1016,6]]},"638":{"position":[[1037,6]]},"639":{"position":[[1070,6]]},"640":{"position":[[870,6]]},"641":{"position":[[205,7],[1087,6]]},"642":{"position":[[1108,6]]},"643":{"position":[[1141,6]]},"646":{"position":[[70,7],[277,7]]},"647":{"position":[[56,7],[186,6]]},"648":{"position":[[272,7]]},"649":{"position":[[318,7]]},"650":{"position":[[353,7]]},"651":{"position":[[276,7]]},"652":{"position":[[445,7]]},"653":{"position":[[224,7],[287,6],[406,6],[550,6],[682,6]]},"654":{"position":[[280,7]]},"656":{"position":[[504,6]]},"657":{"position":[[446,6]]},"660":{"position":[[294,6]]},"661":{"position":[[336,7]]},"662":{"position":[[450,7]]},"664":{"position":[[25,6],[163,7]]},"665":{"position":[[25,6],[168,6]]},"666":{"position":[[230,7]]},"667":{"position":[[280,7]]},"668":{"position":[[291,7]]},"669":{"position":[[513,6]]},"670":{"position":[[239,6]]},"671":{"position":[[380,6]]},"672":{"position":[[216,6]]},"675":{"position":[[238,6]]},"677":{"position":[[223,6]]},"678":{"position":[[243,6]]},"679":{"position":[[257,6]]},"681":{"position":[[870,6]]},"682":{"position":[[602,6]]},"684":{"position":[[510,6]]},"685":{"position":[[485,6]]},"686":{"position":[[501,6]]},"688":{"position":[[396,6]]},"690":{"position":[[362,6]]},"691":{"position":[[217,6]]},"692":{"position":[[219,6]]},"699":{"position":[[214,6]]},"700":{"position":[[584,6]]},"704":{"position":[[37,8]]},"705":{"position":[[23,7],[83,7]]},"706":{"position":[[11,6],[64,7],[178,7],[202,6]]},"707":{"position":[[32,8],[113,6]]},"711":{"position":[[13,7]]},"712":{"position":[[18,7]]},"716":{"position":[[7,6],[39,6],[299,6],[383,6],[478,6],[579,6]]},"737":{"position":[[611,6]]},"739":{"position":[[272,6],[329,6]]},"740":{"position":[[189,6],[246,6]]},"742":{"position":[[202,6],[259,6]]},"744":{"position":[[242,6],[299,6]]},"745":{"position":[[337,6],[394,6]]},"746":{"position":[[450,6]]},"758":{"position":[[83,8],[273,8]]},"759":{"position":[[41,6]]}},"keywords":{}}],["target"",{"_index":2715,"title":{},"content":{"285":{"position":[[101,12]]},"556":{"position":[[196,13]]}},"keywords":{}}],["target'",{"_index":280,"title":{},"content":{"7":{"position":[[1190,8]]},"11":{"position":[[166,8]]},"12":{"position":[[199,8]]},"15":{"position":[[444,8]]},"16":{"position":[[446,8]]},"31":{"position":[[133,8]]},"36":{"position":[[4128,8]]},"198":{"position":[[246,8]]},"202":{"position":[[4128,8]]},"259":{"position":[[274,8]]},"267":{"position":[[3077,8],[10619,8]]},"276":{"position":[[271,8]]},"367":{"position":[[269,8]]},"451":{"position":[[182,8],[209,8]]},"584":{"position":[[182,8],[296,8]]}},"keywords":{}}],["target(",{"_index":1910,"title":{"556":{"position":[[7,9]]}},"content":{"112":{"position":[[690,9]]}},"keywords":{}}],["target.lib.upload_util",{"_index":4201,"title":{},"content":{"476":{"position":[[2758,25]]}},"keywords":{}}],["target.txt",{"_index":313,"title":{"10":{"position":[[0,10]]}},"content":{"260":{"position":[[485,10]]}},"keywords":{}}],["target/cmd_tlm/cmd.txt",{"_index":2210,"title":{},"content":{"226":{"position":[[15,22]]}},"keywords":{}}],["target/cmd_tlm/tlm.txt",{"_index":2713,"title":{},"content":{"285":{"position":[[15,22]]}},"keywords":{}}],["target/lib/helper_utility.rb",{"_index":4187,"title":{},"content":{"476":{"position":[[1926,30]]}},"keywords":{}}],["target/lib/target.[rb/pi",{"_index":4289,"title":{},"content":{"487":{"position":[[579,25]]}},"keywords":{}}],["target/lib/upload_utility.rb",{"_index":4185,"title":{},"content":{"476":{"position":[[1839,30]]}},"keywords":{}}],["target/lib/utility.rb",{"_index":5422,"title":{},"content":{"737":{"position":[[640,21]]}},"keywords":{}}],["target/myscreen.txt",{"_index":3991,"title":{},"content":{"446":{"position":[[15,19]]}},"keywords":{}}],["target/procedur",{"_index":4290,"title":{},"content":{"487":{"position":[[724,17]]}},"keywords":{}}],["target/screens/version.txt",{"_index":3719,"title":{},"content":{"367":{"position":[[310,27]]}},"keywords":{}}],["target/tables/config/mcconfigurationtable_def.txt",{"_index":860,"title":{},"content":{"40":{"position":[[15,49]]}},"keywords":{}}],["target=${1",{"_index":1082,"title":{},"content":{"44":{"position":[[2080,11]]}},"keywords":{}}],["target_int",{"_index":5255,"title":{},"content":{"707":{"position":[[187,11]]}},"keywords":{}}],["target_ints.each",{"_index":5256,"title":{},"content":{"707":{"position":[[225,16]]}},"keywords":{}}],["target_microservic",{"_index":2046,"title":{"168":{"position":[[0,20]]}},"content":{"169":{"position":[[55,20]]}},"keywords":{}}],["target_nam",{"_index":2072,"title":{"177":{"position":[[0,12]]}},"content":{"177":{"position":[[381,11]]},"328":{"position":[[1636,11],[1702,11]]},"446":{"position":[[85,11]]},"644":{"position":[[1180,14]]},"646":{"position":[[826,16]]},"648":{"position":[[868,16]]},"650":{"position":[[1060,14]]},"653":{"position":[[455,12],[566,12],[698,12]]},"673":{"position":[[1368,15],[1482,15],[1602,15],[1724,15]]},"701":{"position":[[27,12]]},"702":{"position":[[294,16]]},"707":{"position":[[245,13],[290,15]]}},"keywords":{}}],["targets/gse/cmd_tlm",{"_index":2342,"title":{},"content":{"230":{"position":[[666,19]]}},"keywords":{}}],["targets/gse/cmd_tlm/cmd.txt",{"_index":2343,"title":{},"content":{"230":{"position":[[1101,27]]}},"keywords":{}}],["targets/gse/cmd_tlm/tlm.txt",{"_index":2344,"title":{},"content":{"230":{"position":[[1217,27]]}},"keywords":{}}],["targets/gse/lib",{"_index":2345,"title":{},"content":{"230":{"position":[[1336,15]]}},"keywords":{}}],["targets/gse/lib/double_conversion.rb",{"_index":2374,"title":{},"content":{"232":{"position":[[410,36]]}},"keywords":{}}],["targets/gse/lib/gse.rb/pi",{"_index":2346,"title":{},"content":{"230":{"position":[[1489,25]]}},"keywords":{}}],["targets/gse/lib/safe_limits_response.rb",{"_index":2385,"title":{},"content":{"233":{"position":[[438,39]]}},"keywords":{}}],["targets/gse/procedur",{"_index":2351,"title":{},"content":{"230":{"position":[[1674,22]]}},"keywords":{}}],["targets/gse/procedures/procedure.rb/pi",{"_index":2354,"title":{},"content":{"230":{"position":[[1973,38]]}},"keywords":{}}],["targets/gse/publ",{"_index":2355,"title":{},"content":{"230":{"position":[[2082,18]]}},"keywords":{}}],["targets/gse/screen",{"_index":2360,"title":{},"content":{"230":{"position":[[2212,19]]}},"keywords":{}}],["targets/gse/screens/status.txt",{"_index":2361,"title":{},"content":{"230":{"position":[[2274,30]]}},"keywords":{}}],["targets/gse/target.txt",{"_index":2362,"title":{},"content":{"230":{"position":[[2348,22]]}},"keywords":{}}],["targets/target/publ",{"_index":3970,"title":{},"content":{"441":{"position":[[134,21]]},"442":{"position":[[575,21],[1414,21]]}},"keywords":{}}],["targets/target_name/procedur",{"_index":4274,"title":{},"content":{"485":{"position":[[302,30]]}},"keywords":{}}],["targets_modifi",{"_index":3252,"title":{},"content":{"334":{"position":[[244,16],[1181,16]]}},"keywords":{}}],["targets_modified/target",{"_index":3253,"title":{},"content":{"334":{"position":[[404,23]]}},"keywords":{}}],["task",{"_index":1029,"title":{},"content":{"44":{"position":[[177,4]]},"118":{"position":[[139,6]]},"304":{"position":[[1151,6]]},"366":{"position":[[178,5]]},"429":{"position":[[162,6]]},"528":{"position":[[1027,4],[1632,4]]}},"keywords":{}}],["tbl_filenam",{"_index":4527,"title":{},"content":{"585":{"position":[[335,12]]},"586":{"position":[[354,12],[642,12],[691,12]]}},"keywords":{}}],["tcp",{"_index":1919,"title":{},"content":{"115":{"position":[[128,3]]},"139":{"position":[[238,4]]},"175":{"position":[[239,4]]}},"keywords":{}}],["tcp/ip",{"_index":1270,"title":{},"content":{"53":{"position":[[270,6],[298,6]]},"253":{"position":[[7610,6],[7913,6]]},"297":{"position":[[607,7]]},"298":{"position":[[1149,7]]},"336":{"position":[[156,7]]}},"keywords":{}}],["tcpip",{"_index":1191,"title":{"49":{"position":[[0,5]]},"50":{"position":[[0,5]]}},"content":{"48":{"position":[[51,5],[65,5]]},"49":{"position":[[5,5],[42,5]]},"50":{"position":[[5,5],[38,5]]}},"keywords":{}}],["tcpip_client_interfac",{"_index":1941,"title":{},"content":{"123":{"position":[[745,23]]},"143":{"position":[[535,23]]}},"keywords":{}}],["tcpip_client_interface.pi",{"_index":2562,"title":{},"content":{"253":{"position":[[7642,25]]}},"keywords":{}}],["tcpip_client_interface.rb",{"_index":1207,"title":{},"content":{"49":{"position":[[874,25],[1005,25],[1115,25],[1225,25],[1360,25],[1469,25],[1585,25]]},"50":{"position":[[1163,25],[1346,25]]},"54":{"position":[[755,25],[865,25],[975,25],[1095,25],[1230,25],[1339,25],[2516,25]]},"125":{"position":[[156,25]]},"126":{"position":[[197,25]]},"127":{"position":[[200,25]]},"134":{"position":[[735,25]]},"230":{"position":[[2647,25]]}},"keywords":{}}],["tcpip_server_interfac",{"_index":1942,"title":{},"content":{"123":{"position":[[769,23]]},"143":{"position":[[559,23]]}},"keywords":{}}],["tcpip_server_interface.rb",{"_index":1226,"title":{},"content":{"50":{"position":[[761,25],[871,25],[960,25],[1049,25],[1251,25]]},"135":{"position":[[808,25]]},"338":{"position":[[1477,25],[1868,25]]}},"keywords":{}}],["tcpipclientstream",{"_index":1269,"title":{},"content":{"53":{"position":[[186,17]]}},"keywords":{}}],["tcpipserverinterfac",{"_index":1228,"title":{},"content":{"50":{"position":[[2420,20]]},"135":{"position":[[460,20]]}},"keywords":{}}],["tcpipsocketstream",{"_index":1268,"title":{},"content":{"53":{"position":[[164,17]]}},"keywords":{}}],["team",{"_index":1553,"title":{},"content":{"83":{"position":[[17,4]]}},"keywords":{}}],["teardown",{"_index":2929,"title":{},"content":{"304":{"position":[[5370,8],[5450,9],[5536,8],[5616,9]]},"610":{"position":[[509,8],[807,8],[871,8]]},"611":{"position":[[256,8],[567,8],[611,8]]},"754":{"position":[[103,9],[295,8],[1313,8]]}},"keywords":{}}],["teardown"",{"_index":4610,"title":{},"content":{"611":{"position":[[282,14],[523,15]]}},"keywords":{}}],["teardown(self",{"_index":4602,"title":{},"content":{"610":{"position":[[748,14]]},"611":{"position":[[489,15]]},"754":{"position":[[1862,15]]}},"keywords":{}}],["technic",{"_index":2408,"title":{},"content":{"235":{"position":[[1097,9]]},"459":{"position":[[1625,9],[1967,9]]}},"keywords":{}}],["techniqu",{"_index":4311,"title":{},"content":{"488":{"position":[[326,10]]}},"keywords":{}}],["technolog",{"_index":2473,"title":{},"content":{"246":{"position":[[56,10]]},"250":{"position":[[83,10],[261,11]]},"324":{"position":[[209,10]]},"363":{"position":[[33,12],[212,12]]},"464":{"position":[[467,13],[508,10]]},"517":{"position":[[846,10]]}},"keywords":{}}],["telecommand",{"_index":3041,"title":{},"content":{"320":{"position":[[753,13]]},"322":{"position":[[1289,13]]}},"keywords":{}}],["telemeti",{"_index":2646,"title":{},"content":{"266":{"position":[[106,8]]},"268":{"position":[[106,8]]},"269":{"position":[[276,8]]},"270":{"position":[[106,8]]},"271":{"position":[[123,8]]},"272":{"position":[[123,8]]},"618":{"position":[[713,8]]}},"keywords":{}}],["telemetri",{"_index":208,"title":{"16":{"position":[[0,10]]},"94":{"position":[[8,10]]},"258":{"position":[[0,9]]},"259":{"position":[[0,9]]},"264":{"position":[[0,10]]},"265":{"position":[[0,9]]},"301":{"position":[[12,9]]},"306":{"position":[[0,9]]},"307":{"position":[[0,9]]},"367":{"position":[[0,9]]},"400":{"position":[[0,9]]},"498":{"position":[[35,9]]},"499":{"position":[[34,9]]},"535":{"position":[[12,9]]},"537":{"position":[[12,9]]},"542":{"position":[[0,9]]},"587":{"position":[[0,9]]},"595":{"position":[[0,9]]},"597":{"position":[[0,9]]},"618":{"position":[[0,9]]},"655":{"position":[[9,10]]},"738":{"position":[[28,9]]}},"content":{"6":{"position":[[270,9]]},"7":{"position":[[138,9],[814,9]]},"8":{"position":[[152,9],[309,9]]},"9":{"position":[[166,9],[332,9],[515,9],[664,9]]},"14":{"position":[[18,9],[84,9],[119,10],[276,9],[339,9]]},"15":{"position":[[138,9],[229,9],[302,9],[335,9],[546,9]]},"16":{"position":[[19,9],[89,9],[142,9],[233,9],[413,9],[548,9]]},"18":{"position":[[16,9],[112,9],[227,9]]},"49":{"position":[[84,10],[432,9]]},"50":{"position":[[370,9]]},"51":{"position":[[56,9],[312,9]]},"54":{"position":[[3052,11]]},"60":{"position":[[1383,9],[1413,9]]},"62":{"position":[[668,9],[822,9]]},"63":{"position":[[1493,9],[2006,9]]},"67":{"position":[[80,9]]},"68":{"position":[[93,9]]},"76":{"position":[[737,9],[768,10]]},"89":{"position":[[24,9]]},"94":{"position":[[39,10],[151,9],[222,9],[305,9],[389,9],[678,9],[969,9],[1039,9],[1089,9]]},"99":{"position":[[574,9]]},"108":{"position":[[243,9]]},"112":{"position":[[204,9]]},"114":{"position":[[315,9]]},"115":{"position":[[235,9]]},"116":{"position":[[25,9],[165,9]]},"117":{"position":[[111,10]]},"127":{"position":[[55,9],[114,9],[304,9],[503,9]]},"143":{"position":[[46,9],[222,9]]},"153":{"position":[[26,9]]},"154":{"position":[[1,9]]},"155":{"position":[[1,9]]},"156":{"position":[[22,9],[115,9]]},"157":{"position":[[1,9]]},"158":{"position":[[1,9]]},"159":{"position":[[24,9],[119,9]]},"160":{"position":[[33,9],[137,9]]},"161":{"position":[[31,9],[133,9]]},"162":{"position":[[30,9],[131,9]]},"163":{"position":[[30,9],[131,9]]},"164":{"position":[[30,9],[131,9]]},"194":{"position":[[69,9]]},"218":{"position":[[40,9],[141,9],[199,9]]},"219":{"position":[[40,9],[147,9],[211,9]]},"220":{"position":[[35,9],[133,9],[188,9],[239,9]]},"221":{"position":[[35,9],[135,9],[192,9]]},"227":{"position":[[211,9]]},"230":{"position":[[711,9],[845,9],[1253,9],[1325,10],[1876,9],[2072,9],[2133,9],[2241,9],[2331,9],[2421,9]]},"232":{"position":[[516,9],[874,9],[904,9]]},"233":{"position":[[552,9],[953,9],[1121,9]]},"234":{"position":[[85,9]]},"253":{"position":[[597,9],[1140,10],[4735,9],[5091,9],[5893,9],[5969,9],[6061,9],[6128,9],[6226,10],[8191,9]]},"254":{"position":[[2744,9]]},"259":{"position":[[1,9],[39,9],[154,9],[229,9],[362,9],[439,10],[628,9],[831,9]]},"262":{"position":[[51,9],[166,9],[325,9]]},"263":{"position":[[38,9],[499,9],[555,9],[647,9],[1767,9]]},"264":{"position":[[15,9],[94,9],[156,9],[226,9],[479,9],[554,9]]},"265":{"position":[[38,9]]},"266":{"position":[[11,9],[41,9],[191,9],[394,9],[705,9],[813,9]]},"267":{"position":[[2151,9],[2970,9],[3335,9],[4632,9],[4701,9],[5320,9],[5394,9],[6443,9],[6517,9],[6827,9],[7921,9],[8000,9],[8137,9],[8352,9],[8603,9],[8742,9],[8933,9],[9051,9],[9210,9],[9368,9],[9707,9],[10094,9]]},"268":{"position":[[11,9],[41,9],[186,9],[497,9],[605,9]]},"269":{"position":[[11,9],[41,9],[361,9],[517,9],[714,9],[807,9],[852,9],[907,9]]},"270":{"position":[[11,9],[41,9],[186,9],[383,9],[476,9],[521,9],[576,9]]},"271":{"position":[[11,9],[41,9],[208,9]]},"272":{"position":[[11,9],[41,9]]},"273":{"position":[[21,9],[199,9]]},"274":{"position":[[35,9]]},"275":{"position":[[33,9]]},"277":{"position":[[9,9],[80,9]]},"278":{"position":[[12,9],[102,9],[161,9],[246,9]]},"282":{"position":[[21,9],[123,9],[179,9],[343,9],[408,9]]},"283":{"position":[[64,9]]},"284":{"position":[[20,9],[331,9]]},"285":{"position":[[39,9]]},"297":{"position":[[202,9],[294,9],[394,9],[540,9],[932,9],[1138,9]]},"298":{"position":[[1386,9],[1581,9]]},"299":{"position":[[432,9],[489,9],[678,9],[782,9],[1048,9]]},"300":{"position":[[563,9],[585,9],[664,9],[689,9]]},"301":{"position":[[17,9],[171,9],[275,9],[436,9],[534,9],[639,9],[817,9],[864,9],[931,9],[966,9],[1008,9],[1096,9],[1136,9],[1234,9],[1389,9],[1531,9],[1570,9],[1663,9],[1704,9]]},"302":{"position":[[29,9],[98,9],[254,9],[311,9],[372,9],[408,9],[560,9],[627,9]]},"304":{"position":[[4390,9]]},"305":{"position":[[75,9],[230,9],[297,9],[431,9],[482,9],[605,9],[638,9],[775,9],[808,9],[906,9],[1435,9]]},"306":{"position":[[1,9],[45,9],[155,9],[239,9],[308,9],[352,9],[378,9],[393,9],[446,9],[489,9],[532,9],[582,9]]},"307":{"position":[[1,9],[40,9],[140,9],[187,9],[259,9],[312,10],[368,9],[426,10],[498,9],[587,9],[628,9],[699,9],[796,9],[893,9],[994,9],[1090,9]]},"308":{"position":[[202,9],[238,9],[303,9],[392,9],[520,9]]},"309":{"position":[[45,9],[283,9],[394,9],[496,9]]},"315":{"position":[[96,10],[269,9]]},"320":{"position":[[678,9]]},"321":{"position":[[988,9],[1037,10],[1102,9],[2740,9],[3083,9]]},"322":{"position":[[1219,9],[1845,10]]},"328":{"position":[[1765,9]]},"329":{"position":[[1580,9]]},"343":{"position":[[82,9]]},"344":{"position":[[296,9]]},"356":{"position":[[404,9]]},"366":{"position":[[67,9],[386,9],[494,9]]},"367":{"position":[[1,9],[62,9],[184,9]]},"368":{"position":[[8,9],[303,9]]},"369":{"position":[[10,9],[82,9],[260,9],[353,9]]},"384":{"position":[[106,9]]},"395":{"position":[[132,10]]},"396":{"position":[[65,9],[111,9]]},"400":{"position":[[3,9],[41,9],[110,9],[171,9]]},"403":{"position":[[126,9],[577,9]]},"405":{"position":[[224,9]]},"407":{"position":[[307,9]]},"410":{"position":[[262,9],[401,9]]},"411":{"position":[[45,9]]},"417":{"position":[[231,9],[370,9]]},"418":{"position":[[28,9],[742,9]]},"419":{"position":[[62,9],[795,9]]},"420":{"position":[[767,9]]},"422":{"position":[[228,9]]},"423":{"position":[[241,9],[380,9]]},"424":{"position":[[84,9],[550,9],[762,9]]},"425":{"position":[[72,9]]},"427":{"position":[[23,9]]},"429":{"position":[[945,9],[1225,9]]},"437":{"position":[[56,9]]},"440":{"position":[[27,9]]},"442":{"position":[[53,9],[151,10]]},"444":{"position":[[128,9]]},"451":{"position":[[48,9],[137,9],[276,9]]},"476":{"position":[[4637,10]]},"480":{"position":[[622,9]]},"483":{"position":[[403,9]]},"484":{"position":[[254,9]]},"492":{"position":[[641,9]]},"498":{"position":[[131,9],[295,9]]},"499":{"position":[[66,9],[184,9],[268,9],[484,9]]},"500":{"position":[[21,9],[302,9],[734,9]]},"501":{"position":[[247,9]]},"504":{"position":[[190,9],[325,9],[610,9]]},"513":{"position":[[260,9]]},"525":{"position":[[157,9],[319,9]]},"530":{"position":[[320,9]]},"536":{"position":[[17,9],[304,9],[393,9]]},"538":{"position":[[17,9],[132,9]]},"542":{"position":[[5,9],[54,10],[171,9],[230,9],[321,9],[428,9]]},"544":{"position":[[67,9]]},"550":{"position":[[37,9]]},"556":{"position":[[302,9],[555,9]]},"566":{"position":[[42,9]]},"568":{"position":[[25,9]]},"573":{"position":[[123,9]]},"575":{"position":[[71,9]]},"577":{"position":[[658,9]]},"588":{"position":[[1,9],[28,9]]},"592":{"position":[[369,9]]},"594":{"position":[[35,9],[108,9]]},"596":{"position":[[1,9],[73,9]]},"599":{"position":[[181,9],[1018,9]]},"606":{"position":[[102,9]]},"607":{"position":[[509,9],[557,9]]},"617":{"position":[[995,9],[1164,9]]},"618":{"position":[[36,9],[130,9],[164,9],[201,9],[246,9],[303,9],[376,9],[441,9],[458,9],[570,9],[636,9],[670,10],[759,9],[782,9],[865,9],[954,9],[986,9],[1026,9],[1108,9],[1143,9],[1194,9],[1278,9],[1333,10]]},"620":{"position":[[189,9]]},"621":{"position":[[175,9],[231,9],[302,9],[435,9],[490,9],[526,9],[613,9],[673,9],[761,9],[818,9],[893,9],[963,9],[1042,9],[1101,9],[1291,9],[1372,9],[1438,9],[1489,9],[1562,9],[1642,9],[1701,9],[1791,9],[1885,9],[1944,9],[2016,9],[2074,9],[2124,9],[2189,9],[2275,9],[2347,9],[2419,9],[2497,9],[2555,9],[2608,9],[2669,9],[2725,9],[2801,9],[3446,9],[3557,9],[4024,9],[4078,9],[4132,9],[4207,9],[4276,9],[4330,9],[4391,9],[4444,9],[4497,9],[4550,9],[4614,9],[4676,9],[4765,9],[4897,9],[4961,9],[5029,9]]},"655":{"position":[[47,9]]},"656":{"position":[[30,9],[65,9],[197,9],[518,9],[558,9],[582,9],[620,9],[683,9],[737,9]]},"657":{"position":[[20,9],[460,9],[500,9],[524,9],[562,9],[615,9]]},"660":{"position":[[31,9],[308,9],[348,9],[372,9],[410,9]]},"662":{"position":[[53,9]]},"663":{"position":[[68,9],[105,9]]},"668":{"position":[[41,9],[323,9],[461,9]]},"669":{"position":[[8,9],[48,9],[289,9]]},"671":{"position":[[66,9]]},"672":{"position":[[60,9]]},"674":{"position":[[101,9]]},"675":{"position":[[43,9]]},"677":{"position":[[29,9]]},"678":{"position":[[40,9]]},"679":{"position":[[25,9]]},"680":{"position":[[62,9]]},"681":{"position":[[89,9],[884,9],[924,9],[948,9],[986,9],[1049,9]]},"682":{"position":[[74,9],[616,9],[656,9],[680,9],[718,9],[771,9]]},"685":{"position":[[102,9],[499,9],[539,9],[563,9],[601,9],[664,9]]},"686":{"position":[[74,9],[515,9],[555,9],[579,9],[617,9],[670,9]]},"689":{"position":[[34,9]]},"690":{"position":[[93,9],[376,9],[416,9],[440,9],[478,9]]},"691":{"position":[[45,9],[231,9],[271,9],[295,9],[333,9]]},"692":{"position":[[46,9],[233,9],[273,9],[297,9],[335,9]]},"693":{"position":[[39,9]]},"694":{"position":[[40,9]]},"699":{"position":[[54,9],[228,9],[267,9],[291,9],[328,9]]},"700":{"position":[[50,9],[598,9],[638,9],[662,9],[700,9]]},"715":{"position":[[273,9]]},"716":{"position":[[59,9],[485,9]]},"738":{"position":[[62,9]]},"739":{"position":[[9,9],[255,9]]},"740":{"position":[[16,9],[172,9]]},"742":{"position":[[21,9],[185,9]]},"743":{"position":[[49,9]]},"744":{"position":[[63,9],[225,9]]},"745":{"position":[[97,9],[320,9]]},"746":{"position":[[115,9]]},"758":{"position":[[160,9]]}},"keywords":{}}],["telemetry"",{"_index":3062,"title":{},"content":{"321":{"position":[[337,15],[2787,15]]},"347":{"position":[[1455,15]]}},"keywords":{}}],["telemetry)"",{"_index":2719,"title":{},"content":{"285":{"position":[[259,16]]}},"keywords":{}}],["telemetry_graph",{"_index":5576,"title":{},"content":{"771":{"position":[[298,21]]}},"keywords":{}}],["tell",{"_index":2321,"title":{},"content":{"229":{"position":[[399,5]]},"253":{"position":[[6366,4],[8157,5]]},"297":{"position":[[342,7]]},"366":{"position":[[380,5]]}},"keywords":{}}],["telmetri",{"_index":5077,"title":{},"content":{"671":{"position":[[32,8]]},"672":{"position":[[26,8]]}},"keywords":{}}],["temp",{"_index":1742,"title":{},"content":{"93":{"position":[[1811,4]]},"478":{"position":[[304,4],[552,4],[748,4]]},"488":{"position":[[2249,4],[2353,4],[2376,4],[2392,4],[2511,4]]},"495":{"position":[[587,4],[604,4],[622,4],[637,4],[884,4],[901,4],[919,4],[935,4]]},"496":{"position":[[607,4],[665,4],[804,4],[863,4]]},"498":{"position":[[318,5],[344,4],[451,4],[558,4]]},"578":{"position":[[285,4]]},"772":{"position":[[297,8],[400,8]]}},"keywords":{}}],["temp#{temp_numb",{"_index":4382,"title":{},"content":{"500":{"position":[[455,18]]}},"keywords":{}}],["temp"",{"_index":4367,"title":{},"content":{"498":{"position":[[420,11],[527,11],[644,11]]}},"keywords":{}}],["temp1",{"_index":2619,"title":{},"content":{"262":{"position":[[395,6]]},"273":{"position":[[431,5]]},"276":{"position":[[472,5],[540,5]]},"282":{"position":[[505,5]]},"284":{"position":[[448,5]]},"328":{"position":[[1734,5]]},"383":{"position":[[808,5],[915,5]]},"403":{"position":[[909,5]]},"407":{"position":[[599,5]]},"409":{"position":[[484,5],[545,5]]},"410":{"position":[[857,5],[924,5]]},"412":{"position":[[473,5],[525,5]]},"413":{"position":[[474,5],[529,5]]},"414":{"position":[[470,5],[525,5]]},"415":{"position":[[442,5],[495,5]]},"416":{"position":[[447,5],[503,5]]},"417":{"position":[[821,5],[883,5]]},"418":{"position":[[574,5]]},"419":{"position":[[608,5]]},"420":{"position":[[597,5]]},"423":{"position":[[732,5],[786,5]]},"424":{"position":[[614,5]]},"425":{"position":[[360,5]]},"427":{"position":[[672,5],[716,5]]},"440":{"position":[[637,5]]},"502":{"position":[[785,5],[838,5]]},"658":{"position":[[1156,7]]},"671":{"position":[[604,5],[640,5],[803,5],[839,5]]},"673":{"position":[[296,5],[1317,5],[1437,8],[1551,8],[1671,8],[1793,8]]},"683":{"position":[[1040,7]]},"687":{"position":[[893,7]]},"699":{"position":[[404,8],[725,8]]},"700":{"position":[[2016,8]]},"702":{"position":[[495,10]]},"745":{"position":[[591,5],[863,5]]},"746":{"position":[[1053,5],[1336,5]]}},"keywords":{}}],["temp1"",{"_index":910,"title":{},"content":{"42":{"position":[[386,13]]},"43":{"position":[[6139,13]]},"94":{"position":[[1250,13]]},"95":{"position":[[790,13]]},"502":{"position":[[580,12],[822,12]]},"657":{"position":[[862,12],[1029,12]]},"672":{"position":[[423,12],[497,12],[610,12],[684,12]]},"690":{"position":[[561,12],[664,12]]},"691":{"position":[[413,12]]},"692":{"position":[[416,12]]}},"keywords":{}}],["temp1high",{"_index":2694,"title":{},"content":{"276":{"position":[[439,9],[507,9]]}},"keywords":{}}],["temp2",{"_index":2620,"title":{},"content":{"262":{"position":[[402,6]]},"284":{"position":[[491,5]]},"424":{"position":[[651,5]]},"440":{"position":[[691,5]]},"578":{"position":[[452,5],[482,5]]},"671":{"position":[[693,5],[892,5]]}},"keywords":{}}],["temp3",{"_index":2621,"title":{},"content":{"262":{"position":[[409,6]]},"284":{"position":[[534,5]]},"424":{"position":[[826,5]]}},"keywords":{}}],["temp4",{"_index":2691,"title":{},"content":{"274":{"position":[[488,5]]},"424":{"position":[[863,5]]}},"keywords":{}}],["temp4"",{"_index":2622,"title":{},"content":{"262":{"position":[[416,11]]}},"keywords":{}}],["temp[1",{"_index":3478,"title":{},"content":{"357":{"position":[[587,6]]}},"keywords":{}}],["temp_averag",{"_index":2617,"title":{},"content":{"262":{"position":[[353,12]]}},"keywords":{}}],["temp_numb",{"_index":4379,"title":{},"content":{"500":{"position":[[353,12],[531,13]]}},"keywords":{}}],["temp_tlm",{"_index":4232,"title":{},"content":{"480":{"position":[[1383,9],[1550,11],[1662,9],[1831,10]]}},"keywords":{}}],["temperatur",{"_index":4262,"title":{},"content":{"483":{"position":[[816,11],[883,11]]},"495":{"position":[[672,11],[970,11]]}},"keywords":{}}],["temperature"",{"_index":4350,"title":{},"content":{"496":{"position":[[641,18],[838,18]]}},"keywords":{}}],["temperature_numb",{"_index":4259,"title":{},"content":{"483":{"position":[[620,20],[702,18]]}},"keywords":{}}],["tempfile.namedtemporaryfile(mode="w+t"",{"_index":4779,"title":{},"content":{"629":{"position":[[913,49]]}},"keywords":{}}],["tempfile.new('test",{"_index":4773,"title":{},"content":{"629":{"position":[[584,20]]}},"keywords":{}}],["templat",{"_index":193,"title":{"63":{"position":[[0,8]]},"216":{"position":[[0,9]]}},"content":{"6":{"position":[[40,10]]},"11":{"position":[[269,11]]},"49":{"position":[[1427,8],[2378,8]]},"50":{"position":[[1209,8],[2013,8]]},"52":{"position":[[1448,8]]},"54":{"position":[[531,8],[1297,8],[2093,8]]},"56":{"position":[[95,8]]},"63":{"position":[[204,8],[657,8],[775,8],[1183,8]]},"216":{"position":[[27,8],[126,8],[293,8]]},"217":{"position":[[27,8],[124,8],[321,8]]},"235":{"position":[[793,8]]},"239":{"position":[[43,8]]},"290":{"position":[[39,8]]},"355":{"position":[[535,11]]},"357":{"position":[[385,11]]},"705":{"position":[[148,12]]}},"keywords":{}}],["template_fil",{"_index":2171,"title":{"217":{"position":[[0,14]]}},"content":{},"keywords":{}}],["templateaccessor",{"_index":1384,"title":{},"content":{"63":{"position":[[144,16]]}},"keywords":{}}],["templated_int",{"_index":5286,"title":{},"content":{"710":{"position":[[183,16]]}},"keywords":{}}],["temporari",{"_index":2300,"title":{},"content":{"227":{"position":[[4793,9]]},"729":{"position":[[39,9]]}},"keywords":{}}],["temporarili",{"_index":2864,"title":{},"content":{"302":{"position":[[581,11]]},"578":{"position":[[1190,11]]}},"keywords":{}}],["temp{temp_numb",{"_index":4385,"title":{},"content":{"500":{"position":[[634,17]]}},"keywords":{}}],["ten",{"_index":458,"title":{},"content":{"20":{"position":[[1119,3]]},"362":{"position":[[28,4]]}},"keywords":{}}],["term",{"_index":823,"title":{"110":{"position":[[5,4]]}},"content":{"36":{"position":[[9033,4]]},"110":{"position":[[10,4]]},"202":{"position":[[9033,4]]},"250":{"position":[[148,4]]},"267":{"position":[[7156,4]]},"297":{"position":[[32,5],[106,6],[114,4]]},"329":{"position":[[285,6]]},"344":{"position":[[349,4]]},"359":{"position":[[435,6],[760,5],[1802,6]]},"360":{"position":[[99,6]]},"361":{"position":[[106,5],[205,5]]},"457":{"position":[[63,4]]},"465":{"position":[[557,5]]}},"keywords":{}}],["termin",{"_index":1215,"title":{"62":{"position":[[0,10]]}},"content":{"49":{"position":[[1292,10],[2225,10]]},"50":{"position":[[1095,10],[1881,10]]},"52":{"position":[[1326,10]]},"54":{"position":[[447,10],[482,11],[1162,10],[1940,10]]},"56":{"position":[[118,10]]},"62":{"position":[[5,10],[50,11],[144,11],[392,10],[481,11],[601,11],[739,11],[778,11]]},"63":{"position":[[242,10],[444,10],[1306,11],[1426,11],[1923,11],[1962,11]]},"95":{"position":[[623,8]]},"304":{"position":[[4578,8]]},"324":{"position":[[2673,8]]},"337":{"position":[[306,8]]},"347":{"position":[[1871,8]]}},"keywords":{}}],["terminolog",{"_index":2830,"title":{"297":{"position":[[0,12]]}},"content":{},"keywords":{}}],["terraform",{"_index":2463,"title":{},"content":{"243":{"position":[[410,9]]}},"keywords":{}}],["test",{"_index":11,"title":{"41":{"position":[[0,7]]},"100":{"position":[[0,7]]},"103":{"position":[[11,8]]},"104":{"position":[[10,6]]},"105":{"position":[[12,6]]},"448":{"position":[[0,4]]}},"content":{"1":{"position":[[125,4]]},"24":{"position":[[523,7]]},"36":{"position":[[999,4],[1032,4]]},"44":{"position":[[79,7],[441,4]]},"103":{"position":[[135,5],[185,6],[267,4],[386,5]]},"202":{"position":[[999,4],[1032,4]]},"267":{"position":[[994,4],[1027,4],[8420,8]]},"297":{"position":[[822,4]]},"299":{"position":[[22,4]]},"300":{"position":[[22,4]]},"301":{"position":[[133,4]]},"302":{"position":[[200,4]]},"303":{"position":[[382,4]]},"304":{"position":[[710,5],[747,4],[1261,4],[1318,4],[1396,4],[1449,4],[2283,4],[5023,4],[5058,4],[5136,4],[5171,4],[5249,4],[5283,4],[5349,4],[5411,4],[5439,4],[5515,4],[5577,4],[5605,4],[5705,5],[5850,4],[6008,4],[6165,4],[6281,5],[6297,4],[6323,7],[6427,4],[6452,4],[6605,7],[6637,4],[6849,4]]},"305":{"position":[[168,4]]},"306":{"position":[[287,4]]},"307":{"position":[[119,4]]},"308":{"position":[[134,4]]},"309":{"position":[[213,4]]},"310":{"position":[[118,4]]},"311":{"position":[[125,4]]},"313":{"position":[[24,6]]},"324":{"position":[[554,6]]},"347":{"position":[[228,7]]},"351":{"position":[[310,7]]},"357":{"position":[[296,7]]},"360":{"position":[[434,5],[1326,5]]},"448":{"position":[[12,4],[204,5]]},"449":{"position":[[267,6]]},"474":{"position":[[174,8]]},"482":{"position":[[303,4],[848,5],[1112,5]]},"486":{"position":[[403,4],[514,4],[639,4],[751,4]]},"492":{"position":[[59,7],[334,7]]},"496":{"position":[[168,6]]},"504":{"position":[[283,4]]},"507":{"position":[[165,4]]},"605":{"position":[[47,4]]},"610":{"position":[[54,4],[119,6]]},"617":{"position":[[112,4]]},"637":{"position":[[175,4]]},"638":{"position":[[157,7]]},"639":{"position":[[183,7]]},"641":{"position":[[198,4]]},"642":{"position":[[180,7]]},"643":{"position":[[206,7]]},"669":{"position":[[225,7]]},"735":{"position":[[81,4]]},"736":{"position":[[40,4],[97,4],[287,4]]},"737":{"position":[[73,4]]},"738":{"position":[[94,4]]},"754":{"position":[[1156,4],[1240,4],[1286,4],[1331,4],[1703,4],[1780,4],[1834,4],[1887,4]]}},"keywords":{}}],["test"",{"_index":3745,"title":{},"content":{"375":{"position":[[223,10],[273,10]]},"376":{"position":[[227,10],[301,10]]},"377":{"position":[[223,10],[279,10],[353,10]]},"378":{"position":[[225,10],[281,10],[356,10]]},"379":{"position":[[393,10],[448,10]]},"380":{"position":[[387,10],[442,10]]},"629":{"position":[[565,11],[635,11],[894,11],[993,11]]}},"keywords":{}}],["test';"",{"_index":3929,"title":{},"content":{"429":{"position":[[2250,13]]}},"keywords":{}}],["test("'"${script_path#scripts/}"",{"_index":1132,"title":{},"content":{"44":{"position":[[3689,48]]}},"keywords":{}}],["test_",{"_index":5479,"title":{},"content":{"754":{"position":[[160,8],[481,8]]}},"keywords":{}}],["test_1",{"_index":4427,"title":{},"content":{"508":{"position":[[625,6]]}},"keywords":{}}],["test_1_heater_zone_control",{"_index":4280,"title":{},"content":{"486":{"position":[[317,26],[548,29]]}},"keywords":{}}],["test_minimum_temp(enable_cmd_nam",{"_index":4230,"title":{},"content":{"480":{"position":[[1336,34],[1615,34]]}},"keywords":{}}],["testrunn",{"_index":5417,"title":{},"content":{"737":{"position":[[135,11],[279,11]]}},"keywords":{}}],["tests/procedur",{"_index":2890,"title":{},"content":{"304":{"position":[[779,16]]}},"keywords":{}}],["testsuit",{"_index":1086,"title":{},"content":{"44":{"position":[[2155,12]]}},"keywords":{}}],["text",{"_index":59,"title":{},"content":{"2":{"position":[[535,4]]},"6":{"position":[[128,4]]},"25":{"position":[[63,4]]},"26":{"position":[[218,4]]},"54":{"position":[[550,4]]},"63":{"position":[[288,4],[549,6]]},"93":{"position":[[1243,5]]},"198":{"position":[[1189,4]]},"253":{"position":[[6152,4],[7463,4]]},"297":{"position":[[884,4],[1175,4]]},"298":{"position":[[626,4],[1443,4]]},"304":{"position":[[105,4],[1369,4],[2852,4]]},"321":{"position":[[218,4]]},"344":{"position":[[66,4],[286,5]]},"359":{"position":[[271,4]]},"366":{"position":[[102,5]]},"373":{"position":[[817,4]]},"380":{"position":[[32,4]]},"383":{"position":[[863,4],[971,4]]},"387":{"position":[[208,4]]},"389":{"position":[[166,4]]},"393":{"position":[[94,4],[99,4]]},"396":{"position":[[10,4],[171,4]]},"398":{"position":[[83,4]]},"407":{"position":[[282,4]]},"424":{"position":[[325,4],[377,4]]},"426":{"position":[[36,4]]},"429":{"position":[[1615,4],[1620,4]]},"430":{"position":[[157,4],[162,4]]},"431":{"position":[[30,4],[174,4],[181,4],[236,4],[243,4]]},"432":{"position":[[161,4]]},"434":{"position":[[29,4],[255,4]]},"435":{"position":[[53,4],[113,4],[159,4],[172,4],[191,4]]},"436":{"position":[[161,4]]},"439":{"position":[[7,4],[113,4],[191,4],[215,4],[220,4],[281,4],[326,4]]},"440":{"position":[[11,4],[259,4],[337,4],[388,4],[433,4]]},"495":{"position":[[274,4]]},"497":{"position":[[171,4],[263,4],[374,4],[679,4]]},"501":{"position":[[300,4]]},"533":{"position":[[475,4],[780,4]]},"552":{"position":[[550,4]]},"555":{"position":[[25,4],[125,4]]},"563":{"position":[[488,4]]},"577":{"position":[[1319,4]]},"588":{"position":[[120,4]]},"589":{"position":[[487,4]]},"598":{"position":[[506,4]]},"627":{"position":[[149,4],[271,4],[361,4],[443,4],[547,4],[552,4]]},"744":{"position":[[39,4]]}},"keywords":{}}],["text_log",{"_index":3291,"title":{"344":{"position":[[0,10]]}},"content":{"344":{"position":[[5,9]]}},"keywords":{}}],["textbox",{"_index":3892,"title":{"426":{"position":[[0,8]]}},"content":{"426":{"position":[[186,7],[243,7],[296,7]]}},"keywords":{}}],["textcolor",{"_index":3736,"title":{"380":{"position":[[0,10]]}},"content":{"372":{"position":[[357,9]]},"373":{"position":[[902,9]]},"380":{"position":[[5,9],[406,9],[461,9]]},"383":{"position":[[827,9],[934,9]]}},"keywords":{}}],["textfield",{"_index":3768,"title":{"435":{"position":[[0,10]]}},"content":{"384":{"position":[[674,9]]},"435":{"position":[[266,9]]},"446":{"position":[[449,9]]}},"keywords":{}}],["textual",{"_index":2948,"title":{},"content":{"305":{"position":[[1349,7]]},"309":{"position":[[26,7],[477,7]]}},"keywords":{}}],["tg",{"_index":2958,"title":{},"content":{"307":{"position":[[254,2],[363,2],[493,2],[582,2],[694,2],[791,2],[888,2],[989,2],[1084,2]]}},"keywords":{}}],["tgt",{"_index":1283,"title":{},"content":{"54":{"position":[[2608,3],[2820,3]]}},"keywords":{}}],["tgt__pkt__item__typ",{"_index":5027,"title":{},"content":{"663":{"position":[[411,24]]}},"keywords":{}}],["thank",{"_index":3673,"title":{},"content":{"362":{"position":[[732,5]]},"479":{"position":[[270,5]]}},"keywords":{}}],["the_great_conversion.pi",{"_index":776,"title":{},"content":{"36":{"position":[[5768,23],[5808,24]]},"202":{"position":[[5768,23],[5808,24]]},"267":{"position":[[4248,23],[4288,24]]}},"keywords":{}}],["the_great_conversion.rb",{"_index":762,"title":{},"content":{"36":{"position":[[5220,25],[5433,23],[5473,24]]},"202":{"position":[[5220,25],[5433,23],[5473,24]]},"267":{"position":[[3701,25],[3913,23],[3953,24]]}},"keywords":{}}],["thecf",{"_index":3053,"title":{},"content":{"320":{"position":[[1405,6]]}},"keywords":{}}],["thedest_ip",{"_index":3088,"title":{},"content":{"321":{"position":[[1143,10]]}},"keywords":{}}],["thegreatconvers",{"_index":763,"title":{},"content":{"36":{"position":[[5268,20],[5558,18]]},"202":{"position":[[5268,20],[5558,18]]},"267":{"position":[[3749,20],[4038,18]]}},"keywords":{}}],["thegreatconversion(convers",{"_index":778,"title":{},"content":{"36":{"position":[[5892,31]]},"202":{"position":[[5892,31]]},"267":{"position":[[4372,31]]}},"keywords":{}}],["themselv",{"_index":1155,"title":{},"content":{"46":{"position":[[486,10],[519,10]]},"114":{"position":[[237,11]]},"230":{"position":[[624,10]]},"231":{"position":[[728,10]]},"250":{"position":[[124,10]]}},"keywords":{}}],["therefor",{"_index":1786,"title":{},"content":{"99":{"position":[[347,9]]},"198":{"position":[[307,9]]},"259":{"position":[[335,9]]},"476":{"position":[[1196,9]]},"488":{"position":[[1454,10]]}},"keywords":{}}],["thermal",{"_index":2667,"title":{},"content":{"267":{"position":[[8405,7]]},"482":{"position":[[833,7]]}},"keywords":{}}],["thin",{"_index":3777,"title":{},"content":{"387":{"position":[[56,4]]},"389":{"position":[[58,4]]}},"keywords":{}}],["thing",{"_index":110,"title":{"480":{"position":[[5,6]]},"503":{"position":[[5,6]]}},"content":{"3":{"position":[[431,6]]},"44":{"position":[[1326,5]]},"69":{"position":[[2530,7]]},"114":{"position":[[102,6]]},"253":{"position":[[8353,6]]},"298":{"position":[[887,6]]},"359":{"position":[[214,5]]},"364":{"position":[[1154,6]]},"429":{"position":[[466,6]]},"479":{"position":[[83,6]]},"488":{"position":[[194,6]]},"502":{"position":[[102,6]]},"617":{"position":[[248,6]]}},"keywords":{}}],["think",{"_index":4019,"title":{},"content":{"449":{"position":[[594,5]]}},"keywords":{}}],["third",{"_index":1733,"title":{},"content":{"93":{"position":[[1065,5]]},"94":{"position":[[847,5]]},"253":{"position":[[3949,5]]},"459":{"position":[[62,5]]},"469":{"position":[[157,5],[229,5],[683,5]]},"617":{"position":[[783,5]]}},"keywords":{}}],["this.enddatetim",{"_index":2276,"title":{},"content":{"227":{"position":[[2765,17],[3772,17]]}},"keywords":{}}],["this.startdatetim",{"_index":2274,"title":{},"content":{"227":{"position":[[2735,19],[3742,19]]}},"keywords":{}}],["this.subscription.perform("add"",{"_index":2270,"title":{},"content":{"227":{"position":[[2604,42],[3607,42]]}},"keywords":{}}],["those",{"_index":1461,"title":{},"content":{"69":{"position":[[2211,5]]},"257":{"position":[[536,5],[1798,5]]},"305":{"position":[[1229,5]]},"459":{"position":[[638,5]]},"466":{"position":[[855,5]]},"583":{"position":[[204,5]]},"612":{"position":[[1403,5]]},"754":{"position":[[447,5]]},"765":{"position":[[120,5]]}},"keywords":{}}],["though",{"_index":3201,"title":{},"content":{"324":{"position":[[4033,6]]},"508":{"position":[[322,7]]}},"keywords":{}}],["thousand",{"_index":4471,"title":{},"content":{"541":{"position":[[155,9]]},"542":{"position":[[158,9]]}},"keywords":{}}],["thread",{"_index":4449,"title":{},"content":{"523":{"position":[[292,7]]},"528":{"position":[[107,6],[177,7],[207,6],[225,6],[262,6],[432,6],[580,6],[982,6],[1483,6]]}},"keywords":{}}],["three",{"_index":1462,"title":{},"content":{"69":{"position":[[2524,5]]},"93":{"position":[[917,5]]},"94":{"position":[[708,5]]},"253":{"position":[[5821,5]]},"306":{"position":[[576,5]]},"429":{"position":[[1341,5]]},"504":{"position":[[11,5]]},"517":{"position":[[20,5]]},"583":{"position":[[5,5]]},"617":{"position":[[397,5]]},"681":{"position":[[138,5]]}},"keywords":{}}],["through",{"_index":69,"title":{},"content":{"2":{"position":[[675,7]]},"46":{"position":[[233,7]]},"69":{"position":[[3006,7],[3191,7],[3391,7],[4301,7],[4691,7]]},"227":{"position":[[269,7]]},"298":{"position":[[766,7],[1329,7]]},"304":{"position":[[2892,7],[4790,7]]},"363":{"position":[[688,7]]},"374":{"position":[[212,7]]},"469":{"position":[[78,7]]},"490":{"position":[[1115,7]]},"492":{"position":[[707,7]]},"500":{"position":[[708,7]]},"536":{"position":[[333,7]]},"578":{"position":[[1181,8]]},"588":{"position":[[105,7]]},"613":{"position":[[283,7]]},"618":{"position":[[482,7],[806,7]]},"765":{"position":[[48,7]]}},"keywords":{}}],["throughout",{"_index":82,"title":{},"content":{"3":{"position":[[1,10]]}},"keywords":{}}],["throw",{"_index":835,"title":{},"content":{"36":{"position":[[9711,6]]},"202":{"position":[[9711,6]]}},"keywords":{}}],["thrown",{"_index":1380,"title":{},"content":{"62":{"position":[[423,6]]}},"keywords":{}}],["thu",{"_index":754,"title":{},"content":{"36":{"position":[[4697,4],[8689,4]]},"57":{"position":[[189,4],[518,4]]},"59":{"position":[[240,4]]},"69":{"position":[[413,4]]},"112":{"position":[[531,4]]},"133":{"position":[[130,4]]},"202":{"position":[[4697,4],[8689,4]]},"209":{"position":[[186,4]]},"250":{"position":[[410,4]]},"257":{"position":[[75,4]]},"274":{"position":[[172,4]]},"344":{"position":[[230,4]]},"355":{"position":[[780,4]]},"384":{"position":[[293,4]]},"504":{"position":[[431,5]]},"517":{"position":[[805,4]]},"658":{"position":[[398,4]]}},"keywords":{}}],["thumb",{"_index":3441,"title":{},"content":{"355":{"position":[[353,5]]},"356":{"position":[[558,5]]}},"keywords":{}}],["ticket",{"_index":1904,"title":{},"content":{"110":{"position":[[44,7]]},"457":{"position":[[399,6]]}},"keywords":{}}],["tidbit",{"_index":104,"title":{},"content":{"3":{"position":[[353,7]]}},"keywords":{}}],["tight",{"_index":4401,"title":{},"content":{"504":{"position":[[680,6]]}},"keywords":{}}],["tighter",{"_index":2665,"title":{},"content":{"267":{"position":[[8324,7]]}},"keywords":{}}],["till",{"_index":1400,"title":{},"content":{"63":{"position":[[1722,4]]}},"keywords":{}}],["time",{"_index":224,"title":{"263":{"position":[[9,4],[25,5]]},"436":{"position":[[0,5]]},"547":{"position":[[10,5]]}},"content":{"6":{"position":[[631,4]]},"51":{"position":[[601,4]]},"59":{"position":[[231,4]]},"63":{"position":[[2611,6]]},"66":{"position":[[225,6]]},"73":{"position":[[72,4]]},"74":{"position":[[75,4]]},"75":{"position":[[1667,4]]},"76":{"position":[[763,4]]},"83":{"position":[[791,4]]},"99":{"position":[[927,4],[973,4],[1002,4],[1429,4],[1621,4],[2879,5],[3012,4],[3148,4],[3314,5],[3438,4]]},"120":{"position":[[176,4]]},"133":{"position":[[362,4],[377,4],[591,4],[690,5],[787,4],[924,4]]},"147":{"position":[[40,4],[99,4]]},"150":{"position":[[47,4],[106,4]]},"154":{"position":[[42,4],[101,4]]},"157":{"position":[[49,4],[108,4]]},"168":{"position":[[166,5]]},"176":{"position":[[236,5]]},"208":{"position":[[274,6]]},"227":{"position":[[2184,4],[4451,4],[5481,6],[5961,4]]},"249":{"position":[[353,4]]},"253":{"position":[[5073,4]]},"254":{"position":[[2092,4]]},"263":{"position":[[201,4],[387,4],[480,4],[823,4],[917,5],[973,4],[1042,4],[1085,4],[1320,4],[1475,4],[1710,4],[1731,4]]},"267":{"position":[[8593,5]]},"273":{"position":[[274,6]]},"276":{"position":[[52,4]]},"285":{"position":[[1174,4],[1439,4],[1525,4]]},"287":{"position":[[206,5]]},"299":{"position":[[667,4],[771,4],[922,4],[985,4],[1028,4],[1094,4]]},"301":{"position":[[1735,4],[1756,5],[1767,4]]},"304":{"position":[[3028,6],[3096,4]]},"307":{"position":[[860,5]]},"309":{"position":[[422,4]]},"347":{"position":[[1255,4]]},"352":{"position":[[229,4]]},"356":{"position":[[778,4]]},"363":{"position":[[482,5]]},"364":{"position":[[343,5]]},"371":{"position":[[54,4],[78,4]]},"403":{"position":[[262,4]]},"418":{"position":[[1325,4],[1368,4],[1379,4]]},"419":{"position":[[1378,4],[1421,4],[1432,4]]},"420":{"position":[[1350,4],[1393,4],[1404,4]]},"427":{"position":[[153,4]]},"436":{"position":[[12,4],[179,4],[194,7],[251,5],[262,4],[365,4],[370,4]]},"463":{"position":[[124,6]]},"467":{"position":[[572,5]]},"470":{"position":[[300,4]]},"476":{"position":[[578,4],[3863,4]]},"480":{"position":[[127,6]]},"482":{"position":[[1361,7]]},"483":{"position":[[86,5]]},"487":{"position":[[446,5]]},"488":{"position":[[1027,4]]},"499":{"position":[[796,4],[1128,4]]},"504":{"position":[[498,4]]},"505":{"position":[[384,6]]},"522":{"position":[[187,6]]},"525":{"position":[[449,4],[542,5],[572,5]]},"526":{"position":[[36,5]]},"527":{"position":[[63,5]]},"528":{"position":[[362,4],[687,5],[1057,4]]},"533":{"position":[[738,5]]},"546":{"position":[[101,4]]},"547":{"position":[[147,4],[181,4],[201,4]]},"548":{"position":[[33,4]]},"550":{"position":[[149,4]]},"555":{"position":[[59,4],[230,4],[243,4],[264,4],[324,5]]},"561":{"position":[[97,5]]},"577":{"position":[[528,4],[817,5]]},"599":{"position":[[718,4],[772,5],[906,4],[956,5],[989,4],[1071,4]]},"600":{"position":[[278,4]]},"605":{"position":[[588,5]]},"612":{"position":[[1416,6]]},"617":{"position":[[776,5]]},"644":{"position":[[1109,7]]},"650":{"position":[[986,8]]},"653":{"position":[[13,4],[275,4],[388,4],[482,4],[561,4],[593,4],[693,4],[725,4],[835,4]]},"654":{"position":[[23,5],[407,5]]},"668":{"position":[[23,5],[432,5]]},"680":{"position":[[102,4]]},"681":{"position":[[48,4],[417,4],[484,4],[524,4],[1135,5]]},"682":{"position":[[48,4],[902,5]]},"683":{"position":[[688,5]]},"685":{"position":[[141,5],[231,4],[747,5]]},"686":{"position":[[48,4],[213,4],[798,5]]},"687":{"position":[[327,4],[613,5]]},"688":{"position":[[163,4],[543,5]]},"703":{"position":[[65,4]]},"748":{"position":[[148,4]]},"752":{"position":[[605,5],[745,5]]},"761":{"position":[[132,4]]},"762":{"position":[[220,4]]},"763":{"position":[[224,4]]}},"keywords":{}}],["time.ccsds2mdy(packet.read('ccsdsday",{"_index":2745,"title":{},"content":{"285":{"position":[[1532,39]]}},"keywords":{}}],["time[0",{"_index":2748,"title":{},"content":{"285":{"position":[[1671,8]]}},"keywords":{}}],["time[1",{"_index":2749,"title":{},"content":{"285":{"position":[[1680,8]]}},"keywords":{}}],["time[2",{"_index":2750,"title":{},"content":{"285":{"position":[[1689,8]]}},"keywords":{}}],["time[3",{"_index":2751,"title":{},"content":{"285":{"position":[[1698,8]]}},"keywords":{}}],["time[4",{"_index":2752,"title":{},"content":{"285":{"position":[[1707,8]]}},"keywords":{}}],["time[5",{"_index":2753,"title":{},"content":{"285":{"position":[[1716,8]]}},"keywords":{}}],["time[6",{"_index":2754,"title":{},"content":{"285":{"position":[[1725,8]]}},"keywords":{}}],["timeformat",{"_index":2743,"title":{},"content":{"285":{"position":[[1399,13]]}},"keywords":{}}],["timelin",{"_index":2971,"title":{"523":{"position":[[7,10]]},"528":{"position":[[0,8]]}},"content":{"310":{"position":[[173,9],[217,8],[313,8],[406,8],[489,8],[741,9],[784,8],[828,9],[847,8]]},"522":{"position":[[42,8],[96,9]]},"523":{"position":[[10,8],[67,8],[105,9],[228,9],[263,8],[315,9]]},"527":{"position":[[16,9]]},"528":{"position":[[23,9],[39,8],[73,8],[135,9],[504,9]]}},"keywords":{}}],["timeout",{"_index":1202,"title":{},"content":{"49":{"position":[[540,7],[609,7]]},"50":{"position":[[427,7],[496,7]]},"51":{"position":[[709,7],[782,7]]},"52":{"position":[[619,7],[688,7]]},"63":{"position":[[2555,7],[2786,8]]},"66":{"position":[[184,7],[475,8]]},"253":{"position":[[7851,7],[7894,7]]},"289":{"position":[[931,8],[1454,7],[1505,7]]},"338":{"position":[[685,7],[728,7]]},"501":{"position":[[383,7]]},"504":{"position":[[131,7],[229,7],[467,7]]},"636":{"position":[[1125,7],[1180,7],[1674,8]]},"637":{"position":[[1347,7],[1402,7]]},"638":{"position":[[1368,7],[1423,7]]},"639":{"position":[[1401,7],[1456,7]]},"640":{"position":[[1201,7],[1256,7]]},"641":{"position":[[1418,7],[1473,7]]},"642":{"position":[[1439,7],[1494,7]]},"643":{"position":[[1472,7],[1527,7]]},"681":{"position":[[271,8],[1065,7],[1073,7]]},"682":{"position":[[155,8],[832,7],[840,7]]},"683":{"position":[[68,7],[89,7],[250,8],[618,7],[626,7]]},"684":{"position":[[78,7],[134,8],[590,7],[598,7]]},"685":{"position":[[157,7],[680,7],[688,7]]},"686":{"position":[[139,7],[731,7],[739,7]]},"687":{"position":[[68,7],[89,7],[546,7],[554,7]]},"688":{"position":[[78,7],[476,7],[484,7]]}},"keywords":{}}],["timeout=10",{"_index":4823,"title":{},"content":{"636":{"position":[[1925,11]]}},"keywords":{}}],["timesec",{"_index":2639,"title":{},"content":{"263":{"position":[[1334,7],[1399,7],[1489,7],[1573,7]]},"403":{"position":[[858,7]]},"406":{"position":[[442,7]]}},"keywords":{}}],["timesecond",{"_index":2735,"title":{},"content":{"285":{"position":[[1136,11]]}},"keywords":{}}],["timestamp",{"_index":1812,"title":{},"content":{"99":{"position":[[2734,9],[2775,9],[3078,9],[3209,9]]},"227":{"position":[[4300,10],[5524,9],[6002,9]]},"299":{"position":[[736,12],[1069,10],[1157,11]]},"344":{"position":[[111,12]]}},"keywords":{}}],["timeu",{"_index":2642,"title":{},"content":{"263":{"position":[[1407,6],[1581,6]]}},"keywords":{}}],["timeus"",{"_index":2640,"title":{},"content":{"263":{"position":[[1346,12],[1501,12]]}},"keywords":{}}],["tip",{"_index":99,"title":{},"content":{"3":{"position":[[235,4]]}},"keywords":{}}],["titl",{"_index":3809,"title":{"398":{"position":[[0,6]]}},"content":{"398":{"position":[[27,5],[121,5]]},"446":{"position":[[66,5]]},"592":{"position":[[33,5]]},"593":{"position":[[70,5],[325,5],[551,5]]},"599":{"position":[[626,5]]},"601":{"position":[[69,5]]},"632":{"position":[[950,5]]},"745":{"position":[[520,5],[792,5]]},"746":{"position":[[980,5],[1263,5]]}},"keywords":{}}],["tl",{"_index":388,"title":{"19":{"position":[[4,3]]}},"content":{"22":{"position":[[160,5],[498,4]]},"29":{"position":[[101,4]]},"310":{"position":[[226,2],[322,2],[415,2],[498,2],[595,2],[690,2],[793,2]]}},"keywords":{}}],["tlm",{"_index":1588,"title":{"660":{"position":[[0,4]]}},"content":{"83":{"position":[[1134,3],[2149,3],[2399,3],[2493,3]]},"85":{"position":[[44,3],[644,3],[697,3],[723,3],[792,3],[818,3],[865,3],[925,3],[1065,3],[1124,3],[1191,3],[1268,3],[1311,3],[1523,3]]},"94":{"position":[[50,4],[99,3]]},"227":{"position":[[3100,3],[4024,3]]},"240":{"position":[[991,3]]},"259":{"position":[[1244,3]]},"285":{"position":[[282,3]]},"301":{"position":[[892,3],[1044,3],[1613,3]]},"304":{"position":[[1912,6]]},"352":{"position":[[736,3],[779,3],[878,3]]},"357":{"position":[[1245,3],[2734,3],[3588,4]]},"421":{"position":[[31,3]]},"424":{"position":[[591,3],[628,3],[803,3],[840,3]]},"499":{"position":[[114,6]]},"502":{"position":[[701,5]]},"617":{"position":[[1075,4]]},"621":{"position":[[4839,5]]},"671":{"position":[[733,3],[932,3]]},"715":{"position":[[798,3],[1369,3]]},"758":{"position":[[170,7]]}},"keywords":{}}],["tlm>__<target",{"_index":2278,"title":{},"content":{"227":{"position":[[2886,19],[3895,19]]}},"keywords":{}}],["tlm("#{target",{"_index":4196,"title":{},"content":{"476":{"position":[[2437,19]]}},"keywords":{}}],["tlm("<target",{"_index":5001,"title":{},"content":{"660":{"position":[[71,20],[146,20]]}},"keywords":{}}],["tlm("inst",{"_index":2206,"title":{},"content":{"224":{"position":[[1283,14]]},"478":{"position":[[466,14],[662,14]]},"498":{"position":[[397,14],[504,14],[622,14]]},"502":{"position":[[551,14],[793,14]]},"660":{"position":[[570,14],[914,14],[998,14],[1342,14]]}},"keywords":{}}],["tlm("inst"",{"_index":5003,"title":{},"content":{"660":{"position":[[623,21],[1051,21]]}},"keywords":{}}],["tlm("tgt",{"_index":2192,"title":{},"content":{"224":{"position":[[743,13],[844,13],[1181,13]]},"259":{"position":[[1742,13]]},"586":{"position":[[851,13]]}},"keywords":{}}],["tlm('inst",{"_index":4993,"title":{},"content":{"658":{"position":[[1132,9]]},"683":{"position":[[1016,9]]},"687":{"position":[[869,9]]}},"keywords":{}}],["tlm(f"{target",{"_index":4206,"title":{},"content":{"476":{"position":[[3347,19]]}},"keywords":{}}],["tlm.txt",{"_index":2606,"title":{},"content":{"259":{"position":[[584,7],[673,8]]}},"keywords":{}}],["tlm__inst__adc",{"_index":2295,"title":{},"content":{"227":{"position":[[4223,17]]}},"keywords":{}}],["tlm__inst__adcs__raw",{"_index":2294,"title":{},"content":{"227":{"position":[[4199,20]]}},"keywords":{}}],["tlm_buffer_depth",{"_index":2025,"title":{"153":{"position":[[0,17]]}},"content":{},"keywords":{}}],["tlm_cnt",{"_index":5064,"title":{},"content":{"668":{"position":[[366,7]]}},"keywords":{}}],["tlm_count",{"_index":5311,"title":{},"content":{"715":{"position":[[481,10],[1040,10]]}},"keywords":{}}],["tlm_count}"",{"_index":5316,"title":{},"content":{"715":{"position":[[809,18]]}},"keywords":{}}],["tlm_decom_log_cycle_s",{"_index":2030,"title":{"158":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_cycle_tim",{"_index":2029,"title":{"157":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_retain_tim",{"_index":2031,"title":{"159":{"position":[[0,26]]}},"content":{},"keywords":{}}],["tlm_format",{"_index":1754,"title":{"660":{"position":[[14,14]]}},"content":{"94":{"position":[[64,14],[243,13]]}},"keywords":{}}],["tlm_formatted("inst",{"_index":5006,"title":{},"content":{"660":{"position":[[759,24],[1187,24]]}},"keywords":{}}],["tlm_int",{"_index":1951,"title":{},"content":{"127":{"position":[[192,7],[326,7],[373,7],[525,7]]}},"keywords":{}}],["tlm_log_cycle_s",{"_index":2027,"title":{"155":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_cycle_tim",{"_index":2026,"title":{"154":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_retain_tim",{"_index":2028,"title":{"156":{"position":[[0,20]]}},"content":{},"keywords":{}}],["tlm_onli",{"_index":5333,"title":{},"content":{"716":{"position":[[231,9],[438,8]]}},"keywords":{}}],["tlm_override.txt",{"_index":2607,"title":{},"content":{"259":{"position":[[607,16]]}},"keywords":{}}],["tlm_packet"",{"_index":2692,"title":{},"content":{"275":{"position":[[419,16]]}},"keywords":{}}],["tlm_raw",{"_index":1753,"title":{"660":{"position":[[5,8]]}},"content":{"94":{"position":[[55,8],[172,7]]},"499":{"position":[[121,10]]},"660":{"position":[[894,7],[1322,7]]}},"keywords":{}}],["tlm_raw("inst",{"_index":5005,"title":{},"content":{"660":{"position":[[702,18],[1130,18]]}},"keywords":{}}],["tlm_unique_id_mod",{"_index":386,"title":{"18":{"position":[[0,19]]}},"content":{"260":{"position":[[459,18]]}},"keywords":{}}],["tlm_variabl",{"_index":4723,"title":{},"content":{"621":{"position":[[4796,12]]}},"keywords":{}}],["tlm_with_unit",{"_index":1755,"title":{"660":{"position":[[29,15]]}},"content":{"94":{"position":[[79,14],[326,14]]}},"keywords":{}}],["tlm_with_units("inst",{"_index":5007,"title":{},"content":{"660":{"position":[[822,25],[1250,25]]}},"keywords":{}}],["tlmgrapher",{"_index":3477,"title":{},"content":{"357":{"position":[[536,10]]}},"keywords":{}}],["tlmviewer",{"_index":3475,"title":{},"content":{"357":{"position":[[419,9]]}},"keywords":{}}],["tls1.2",{"_index":600,"title":{"29":{"position":[[0,6]]}},"content":{},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_128_gcm_sha256",{"_index":607,"title":{},"content":{"29":{"position":[[180,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_256_gcm_sha384",{"_index":609,"title":{},"content":{"29":{"position":[[262,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_chacha20_poly1305_sha256",{"_index":611,"title":{},"content":{"29":{"position":[[350,45]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_128_gcm_sha256",{"_index":606,"title":{},"content":{"29":{"position":[[140,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_256_gcm_sha384",{"_index":608,"title":{},"content":{"29":{"position":[[222,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_chacha20_poly1305_sha256",{"_index":610,"title":{},"content":{"29":{"position":[[304,43]]}},"keywords":{}}],["tm",{"_index":3128,"title":{},"content":{"322":{"position":[[1529,2],[1581,2]]}},"keywords":{}}],["tm/tc",{"_index":3033,"title":{"320":{"position":[[29,5]]},"321":{"position":[[9,5]]}},"content":{},"keywords":{}}],["tmp",{"_index":2792,"title":{},"content":{"290":{"position":[[621,5],[750,5]]}},"keywords":{}}],["to_lab_cmds.txt",{"_index":3060,"title":{},"content":{"321":{"position":[[164,15],[269,16]]}},"keywords":{}}],["to_lab_en",{"_index":3061,"title":{},"content":{"321":{"position":[[299,13]]}},"keywords":{}}],["todo",{"_index":1412,"title":{},"content":{"66":{"position":[[95,6]]}},"keywords":{}}],["togeth",{"_index":1407,"title":{},"content":{"64":{"position":[[212,8]]},"283":{"position":[[113,9]]},"404":{"position":[[438,9],[605,8]]},"511":{"position":[[241,8]]}},"keywords":{}}],["toggl",{"_index":4323,"title":{},"content":{"490":{"position":[[259,7]]},"492":{"position":[[181,6]]},"505":{"position":[[596,6]]}},"keywords":{}}],["tohttp://localhost:2900/tools/admin",{"_index":3112,"title":{},"content":{"322":{"position":[[115,36]]}},"keywords":{}}],["tohttp://localhost:2900/tools/cmdsender/cfs/to_lab_en",{"_index":3133,"title":{},"content":{"322":{"position":[[1886,58]]}},"keywords":{}}],["token",{"_index":896,"title":{},"content":{"42":{"position":[[116,5]]},"43":{"position":[[95,5],[193,5],[321,6]]},"227":{"position":[[1335,6],[1342,6],[1771,5],[2676,6],[3679,6]]}},"keywords":{}}],["toler",{"_index":4405,"title":{},"content":{"504":{"position":[[875,9]]},"657":{"position":[[68,10],[631,9],[643,9]]},"682":{"position":[[129,10],[787,9],[799,9]]},"686":{"position":[[123,10],[686,9],[698,9]]}},"keywords":{}}],["tomcat",{"_index":2499,"title":{},"content":{"250":{"position":[[439,6]]}},"keywords":{}}],["tool",{"_index":79,"title":{"83":{"position":[[12,6]]},"117":{"position":[[0,5]]},"184":{"position":[[0,5]]},"185":{"position":[[0,4]]},"235":{"position":[[0,4]]}},"content":{"2":{"position":[[782,6]]},"13":{"position":[[58,5]]},"14":{"position":[[55,5]]},"36":{"position":[[712,5]]},"44":{"position":[[238,5]]},"54":{"position":[[663,5]]},"64":{"position":[[111,5]]},"84":{"position":[[262,4],[287,4],[980,4],[1373,5]]},"95":{"position":[[342,5],[508,5]]},"108":{"position":[[27,5],[181,4],[223,4]]},"112":{"position":[[380,5]]},"114":{"position":[[191,6]]},"117":{"position":[[8,5]]},"133":{"position":[[161,6]]},"184":{"position":[[10,4],[26,4],[74,5],[330,4],[387,4],[409,4],[484,4]]},"185":{"position":[[38,4]]},"186":{"position":[[24,4],[66,5],[267,6]]},"187":{"position":[[24,4],[78,4]]},"188":{"position":[[20,4],[80,5],[103,4],[201,5],[249,4],[311,4]]},"189":{"position":[[5,4],[39,4],[149,4]]},"190":{"position":[[18,4],[39,4],[179,4]]},"191":{"position":[[10,4],[42,4],[133,5],[195,4]]},"192":{"position":[[32,4],[70,4],[124,5],[219,5]]},"193":{"position":[[80,4]]},"202":{"position":[[712,5]]},"210":{"position":[[36,5]]},"213":{"position":[[101,5]]},"227":{"position":[[126,5]]},"229":{"position":[[451,4]]},"235":{"position":[[5,4],[61,5],[136,4],[167,4],[291,5],[360,4],[503,4],[528,4],[533,5],[603,4],[696,5],[865,4],[1025,4],[1234,4],[1340,4],[1441,5],[1626,5],[1720,5],[1799,4]]},"240":{"position":[[1414,4]]},"241":{"position":[[32,4]]},"245":{"position":[[466,5]]},"250":{"position":[[118,5],[380,5]]},"254":{"position":[[980,5]]},"257":{"position":[[625,4],[1053,4],[1718,4]]},"263":{"position":[[633,5]]},"267":{"position":[[707,5],[8063,5]]},"275":{"position":[[110,5]]},"278":{"position":[[49,5]]},"291":{"position":[[542,5],[1066,5]]},"297":{"position":[[1231,4]]},"298":{"position":[[1413,4],[1485,5]]},"304":{"position":[[759,6]]},"305":{"position":[[33,4]]},"308":{"position":[[105,6]]},"310":{"position":[[14,4]]},"311":{"position":[[11,4],[156,4],[235,4],[315,4],[389,4],[500,4],[593,4],[679,4],[723,5],[765,4],[795,5],[809,5],[822,5],[847,4]]},"345":{"position":[[63,6],[108,5],[173,4],[456,4]]},"394":{"position":[[15,5]]},"490":{"position":[[360,5],[899,4]]},"493":{"position":[[32,5],[141,4],[183,4]]},"496":{"position":[[1033,4]]},"517":{"position":[[69,6],[459,5],[518,5],[548,5],[694,5],[775,5]]},"599":{"position":[[199,5]]},"617":{"position":[[147,4],[202,4],[339,4]]},"619":{"position":[[121,6],[150,4],[220,6]]},"620":{"position":[[146,4]]},"621":{"position":[[158,4]]},"759":{"position":[[184,6]]},"770":{"position":[[13,5]]},"771":{"position":[[28,4]]},"772":{"position":[[56,4],[168,4]]},"773":{"position":[[19,4],[40,4],[59,4],[343,4]]},"774":{"position":[[19,4],[179,4]]},"775":{"position":[[21,4],[183,4]]}},"keywords":{}}],["tool_log",{"_index":3294,"title":{"345":{"position":[[0,10]]}},"content":{"345":{"position":[[5,9]]}},"keywords":{}}],["toolnam",{"_index":2409,"title":{},"content":{"235":{"position":[[1124,8]]}},"keywords":{}}],["tools/toolfoldernam",{"_index":2081,"title":{},"content":{"184":{"position":[[361,20]]},"186":{"position":[[188,21]]}},"keywords":{}}],["tools/widgets/bigwidget",{"_index":3226,"title":{},"content":{"328":{"position":[[1088,23]]}},"keywords":{}}],["tools/widgets/bigwidget/bigwidget.umd.min.j",{"_index":3205,"title":{},"content":{"327":{"position":[[352,45]]}},"keywords":{}}],["tools/widgets/helloworldwidget",{"_index":3223,"title":{},"content":{"328":{"position":[[937,30],[1300,30]]}},"keywords":{}}],["tools/widgets/helloworldwidget/helloworldwidget.umd.min.j",{"_index":2112,"title":{},"content":{"194":{"position":[[279,59]]},"327":{"position":[[435,59]]},"328":{"position":[[1392,59]]}},"keywords":{}}],["top",{"_index":254,"title":{},"content":{"7":{"position":[[440,3]]},"122":{"position":[[121,3]]},"245":{"position":[[180,3]]},"246":{"position":[[231,3]]},"332":{"position":[[688,4]]},"355":{"position":[[578,3]]},"480":{"position":[[970,3]]},"496":{"position":[[1022,3]]},"517":{"position":[[8,3],[97,3]]},"578":{"position":[[45,3]]},"601":{"position":[[649,3]]},"605":{"position":[[472,3]]},"617":{"position":[[191,3]]}},"keywords":{}}],["topic",{"_index":566,"title":{"176":{"position":[[0,6]]},"506":{"position":[[9,7]]}},"content":{"26":{"position":[[264,5]]},"176":{"position":[[19,5],[32,5],[202,5],[279,7],[335,5],[455,6],[477,5],[557,5],[592,5]]},"227":{"position":[[6054,5]]},"449":{"position":[[177,5]]}},"keywords":{}}],["tort",{"_index":3645,"title":{},"content":{"360":{"position":[[1045,4]]}},"keywords":{}}],["total",{"_index":1039,"title":{},"content":{"44":{"position":[[527,6]]},"61":{"position":[[2989,5],[3291,5]]},"99":{"position":[[262,5]]},"206":{"position":[[558,5]]},"207":{"position":[[341,5]]},"271":{"position":[[551,5]]},"272":{"position":[[343,5]]},"289":{"position":[[515,5],[652,5]]}},"keywords":{}}],["touch",{"_index":3057,"title":{},"content":{"321":{"position":[[121,5],[140,5],[158,5]]}},"keywords":{}}],["track",{"_index":2973,"title":{},"content":{"310":{"position":[[518,5],[615,5]]},"487":{"position":[[262,5]]},"513":{"position":[[755,5]]},"578":{"position":[[1427,5]]}},"keywords":{}}],["tradit",{"_index":4252,"title":{},"content":{"482":{"position":[[387,11]]}},"keywords":{}}],["traefik",{"_index":71,"title":{"21":{"position":[[20,7]]},"22":{"position":[[13,7]]}},"content":{"2":{"position":[[696,7]]},"21":{"position":[[25,7]]},"22":{"position":[[11,7]]},"23":{"position":[[8,7],[157,8],[383,7]]},"83":{"position":[[1378,7],[2737,7]]},"85":{"position":[[183,8],[204,7],[274,7],[289,7],[354,7],[369,7],[405,7],[422,7],[499,7],[520,7],[602,7]]},"108":{"position":[[56,7]]},"142":{"position":[[96,7]]},"182":{"position":[[96,7]]},"237":{"position":[[459,8]]},"240":{"position":[[1439,7]]},"298":{"position":[[787,7]]},"324":{"position":[[3564,7]]},"325":{"position":[[671,7]]},"347":{"position":[[2535,7]]},"357":{"position":[[1161,7],[2652,7]]}},"keywords":{}}],["traefik.yaml",{"_index":477,"title":{},"content":{"21":{"position":[[154,14]]}},"keywords":{}}],["traefik/cert.crt",{"_index":417,"title":{},"content":{"20":{"position":[[400,16],[1219,16]]}},"keywords":{}}],["traefik/cert.key",{"_index":419,"title":{},"content":{"20":{"position":[[436,16],[1350,16]]}},"keywords":{}}],["traefik/dockerfil",{"_index":471,"title":{},"content":{"21":{"position":[[65,18],[97,18]]}},"keywords":{}}],["traefik/traefik.yaml",{"_index":485,"title":{},"content":{"22":{"position":[[53,20],[88,20],[122,20]]}},"keywords":{}}],["traefik:${openc3_tag}"",{"_index":515,"title":{},"content":{"23":{"position":[[200,27]]}},"keywords":{}}],["traefik:2.4",{"_index":475,"title":{},"content":{"21":{"position":[[137,11]]}},"keywords":{}}],["traefik:latest",{"_index":1634,"title":{},"content":{"83":{"position":[[2651,14]]}},"keywords":{}}],["traefik_config=traefik",{"_index":1677,"title":{},"content":{"85":{"position":[[457,22]]}},"keywords":{}}],["trae…"",{"_index":1636,"title":{},"content":{"83":{"position":[[2687,11]]}},"keywords":{}}],["traffic",{"_index":1033,"title":{},"content":{"44":{"position":[[267,8]]}},"keywords":{}}],["transact",{"_index":1038,"title":{},"content":{"44":{"position":[[514,12],[581,11]]},"464":{"position":[[391,12]]},"466":{"position":[[869,13]]}},"keywords":{}}],["transfer",{"_index":1021,"title":{},"content":{"43":{"position":[[6583,8]]},"290":{"position":[[651,8],[689,8]]}},"keywords":{}}],["transit",{"_index":1818,"title":{},"content":{"99":{"position":[[4137,10]]},"578":{"position":[[1569,12]]}},"keywords":{}}],["transmiss",{"_index":4153,"title":{},"content":{"469":{"position":[[722,13]]}},"keywords":{}}],["transmit",{"_index":1324,"title":{},"content":{"58":{"position":[[541,11]]},"424":{"position":[[452,8]]},"464":{"position":[[563,8]]},"715":{"position":[[178,8],[225,12],[702,12],[1262,12]]},"724":{"position":[[172,8],[219,12],[678,12],[1211,12]]}},"keywords":{}}],["transpar",{"_index":4057,"title":{},"content":{"459":{"position":[[465,11]]}},"keywords":{}}],["transport",{"_index":976,"title":{},"content":{"43":{"position":[[1107,9]]}},"keywords":{}}],["trash",{"_index":2510,"title":{},"content":{"253":{"position":[[505,5]]},"520":{"position":[[11,5]]},"552":{"position":[[374,5],[681,5]]},"557":{"position":[[105,5],[175,5]]},"563":{"position":[[312,5],[619,5]]},"577":{"position":[[491,5],[1143,5],[1450,5]]},"589":{"position":[[311,5],[618,5]]},"592":{"position":[[288,5]]},"598":{"position":[[330,5],[637,5]]}},"keywords":{}}],["treat",{"_index":396,"title":{},"content":{"20":{"position":[[87,5]]},"36":{"position":[[10284,6]]},"202":{"position":[[10284,6]]},"257":{"position":[[36,6]]},"514":{"position":[[227,5]]},"623":{"position":[[559,5]]},"624":{"position":[[525,5]]}},"keywords":{}}],["tree",{"_index":4578,"title":{},"content":{"605":{"position":[[329,4],[706,4]]}},"keywords":{}}],["tri",{"_index":836,"title":{},"content":{"36":{"position":[[9734,3]]},"50":{"position":[[216,3]]},"69":{"position":[[2821,6]]},"95":{"position":[[583,3]]},"128":{"position":[[31,3]]},"129":{"position":[[17,3]]},"130":{"position":[[78,3],[201,6]]},"202":{"position":[[9734,3]]},"254":{"position":[[779,3]]},"259":{"position":[[1733,3]]},"292":{"position":[[657,3],[717,3]]},"481":{"position":[[103,3]]},"492":{"position":[[454,6]]},"528":{"position":[[1614,6]]},"607":{"position":[[465,6]]},"628":{"position":[[575,3]]},"746":{"position":[[738,3],[821,3]]}},"keywords":{}}],["trick",{"_index":100,"title":{},"content":{"3":{"position":[[244,6]]}},"keywords":{}}],["tricki",{"_index":4618,"title":{},"content":{"612":{"position":[[1409,6]]}},"keywords":{}}],["trigger",{"_index":4428,"title":{"513":{"position":[[0,9]]}},"content":{"511":{"position":[[53,7],[69,9],[94,8],[198,8]]},"512":{"position":[[1,8],[124,8],[233,9],[257,7]]},"513":{"position":[[1,8],[81,7],[137,7],[175,7],[204,7],[290,8],[486,7],[587,8],[628,8],[782,8]]},"514":{"position":[[20,8],[168,8],[237,7],[359,8],[386,8],[398,7],[464,7],[478,7],[519,10],[543,8],[1201,8],[1223,7]]}},"keywords":{}}],["trigger(",{"_index":4440,"title":{},"content":{"514":{"position":[[301,10]]}},"keywords":{}}],["triggergroup",{"_index":4430,"title":{"512":{"position":[[0,14]]}},"content":{},"keywords":{}}],["tripl",{"_index":4535,"title":{},"content":{"585":{"position":[[811,6]]}},"keywords":{}}],["troubl",{"_index":2587,"title":{},"content":{"254":{"position":[[2836,7]]}},"keywords":{}}],["troubleshoot",{"_index":4116,"title":{},"content":{"465":{"position":[[494,12]]}},"keywords":{}}],["true",{"_index":164,"title":{},"content":{"5":{"position":[[649,4],[809,4],[955,4]]},"11":{"position":[[355,4]]},"12":{"position":[[565,4]]},"13":{"position":[[473,4]]},"14":{"position":[[364,4]]},"15":{"position":[[498,4]]},"16":{"position":[[500,4]]},"32":{"position":[[200,4]]},"33":{"position":[[132,4],[265,4]]},"35":{"position":[[134,4],[341,4],[645,4],[743,4],[909,4],[969,4],[1136,4],[1667,4]]},"36":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6346,4],[7122,4],[7142,4],[10423,4]]},"37":{"position":[[134,4],[438,4],[536,4],[702,4],[762,4],[929,4],[1460,4]]},"38":{"position":[[157,4]]},"44":{"position":[[3311,5]]},"49":{"position":[[1195,4],[1317,4],[2110,4],[2250,4]]},"50":{"position":[[1019,4],[1120,4],[1787,4],[1906,4]]},"52":{"position":[[1242,4],[1351,4]]},"54":{"position":[[945,4],[1187,4],[1686,4],[1965,4]]},"56":{"position":[[464,5],[513,4]]},"58":{"position":[[799,4],[874,4],[951,4]]},"60":{"position":[[1426,4]]},"61":{"position":[[2417,4],[2642,4]]},"62":{"position":[[842,4]]},"63":{"position":[[2026,4]]},"84":{"position":[[739,6]]},"121":{"position":[[775,4],[824,4]]},"123":{"position":[[656,4],[825,4]]},"125":{"position":[[116,4]]},"126":{"position":[[158,4]]},"127":{"position":[[161,4]]},"130":{"position":[[317,4]]},"134":{"position":[[513,4],[617,4]]},"135":{"position":[[595,4]]},"136":{"position":[[282,4],[334,4],[428,4]]},"137":{"position":[[128,4],[166,4]]},"138":{"position":[[441,4]]},"139":{"position":[[198,4]]},"140":{"position":[[207,4]]},"142":{"position":[[221,4]]},"143":{"position":[[446,4],[615,4]]},"144":{"position":[[83,4],[242,4]]},"146":{"position":[[154,4]]},"147":{"position":[[145,4]]},"148":{"position":[[163,4]]},"149":{"position":[[152,4]]},"150":{"position":[[152,4]]},"151":{"position":[[170,4]]},"152":{"position":[[156,4]]},"153":{"position":[[164,4]]},"154":{"position":[[147,4]]},"155":{"position":[[165,4]]},"156":{"position":[[156,4]]},"157":{"position":[[154,4]]},"158":{"position":[[172,4]]},"159":{"position":[[160,4]]},"160":{"position":[[178,4]]},"161":{"position":[[174,4]]},"162":{"position":[[172,4]]},"163":{"position":[[172,4]]},"164":{"position":[[172,4]]},"165":{"position":[[164,4]]},"167":{"position":[[136,4]]},"168":{"position":[[456,4]]},"169":{"position":[[201,4]]},"171":{"position":[[333,4],[432,4]]},"173":{"position":[[112,4],[150,4]]},"174":{"position":[[425,4]]},"175":{"position":[[199,4]]},"176":{"position":[[376,4]]},"177":{"position":[[323,4]]},"178":{"position":[[191,4]]},"179":{"position":[[322,4],[391,4]]},"181":{"position":[[242,4],[294,4],[388,4]]},"182":{"position":[[221,4]]},"184":{"position":[[382,4],[462,4]]},"186":{"position":[[274,4]]},"187":{"position":[[290,4]]},"188":{"position":[[363,4]]},"189":{"position":[[253,4]]},"190":{"position":[[189,4]]},"191":{"position":[[100,5],[210,4],[238,5],[250,4]]},"192":{"position":[[330,4]]},"194":{"position":[[386,4]]},"199":{"position":[[119,4],[279,4],[425,4]]},"201":{"position":[[153,4],[370,4],[674,4],[772,4],[938,4],[998,4],[1165,4],[1696,4]]},"202":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6346,4],[7122,4],[7142,4],[10423,4]]},"203":{"position":[[153,4],[457,4],[555,4],[721,4],[781,4],[948,4],[1479,4]]},"204":{"position":[[376,4],[540,4],[844,4],[942,4],[1108,4],[1168,4],[1309,4],[1840,4]]},"205":{"position":[[376,4],[680,4],[778,4],[944,4],[1004,4],[1145,4],[1676,4]]},"206":{"position":[[170,4],[387,4],[434,4],[538,4],[731,4]]},"207":{"position":[[170,4],[217,4],[321,4],[514,4]]},"208":{"position":[[371,4]]},"209":{"position":[[455,4]]},"213":{"position":[[292,4]]},"215":{"position":[[356,4]]},"216":{"position":[[344,4]]},"217":{"position":[[388,4]]},"218":{"position":[[167,4],[225,4]]},"219":{"position":[[179,4],[243,4]]},"220":{"position":[[148,4],[203,4],[254,4]]},"221":{"position":[[152,4],[209,4]]},"224":{"position":[[463,4],[889,6],[1006,6],[1339,6],[1476,6]]},"225":{"position":[[374,4],[422,4]]},"232":{"position":[[1209,4]]},"233":{"position":[[1487,4]]},"253":{"position":[[3054,4],[4334,4],[5003,4]]},"254":{"position":[[1654,4]]},"264":{"position":[[130,4],[308,4],[442,4]]},"266":{"position":[[155,4],[363,4],[672,4],[775,4]]},"267":{"position":[[223,4],[390,4],[442,4],[606,4],[898,4],[1502,4],[1735,4],[2381,4],[2464,4],[2648,4],[3770,4],[4885,4],[5723,4],[5743,4],[8554,4],[8688,4],[8907,4],[9022,4],[9180,4],[9341,4],[9461,4],[10643,4]]},"268":{"position":[[155,4],[464,4],[567,4]]},"269":{"position":[[325,4],[486,4],[681,4],[775,4],[869,4]]},"270":{"position":[[155,4],[350,4],[444,4],[538,4]]},"271":{"position":[[172,4],[380,4],[427,4],[531,4],[724,4]]},"272":{"position":[[172,4],[219,4],[323,4],[516,4]]},"273":{"position":[[361,4]]},"274":{"position":[[418,4]]},"275":{"position":[[301,4]]},"276":{"position":[[150,4],[295,4]]},"279":{"position":[[356,4]]},"282":{"position":[[379,4],[435,4]]},"283":{"position":[[783,4]]},"284":{"position":[[268,4],[304,4],[366,4]]},"285":{"position":[[383,4]]},"350":{"position":[[358,4],[429,4],[688,4],[759,4],[1009,4],[1081,4]]},"369":{"position":[[309,4],[402,4],[463,4]]},"371":{"position":[[339,4]]},"372":{"position":[[209,4],[252,4]]},"373":{"position":[[642,4],[694,4],[737,4]]},"375":{"position":[[179,4]]},"376":{"position":[[183,4]]},"377":{"position":[[179,4]]},"378":{"position":[[181,4]]},"379":{"position":[[257,4]]},"380":{"position":[[251,4]]},"381":{"position":[[262,4]]},"382":{"position":[[116,4],[137,4]]},"383":{"position":[[653,4],[696,4]]},"384":{"position":[[488,4],[559,4],[630,4]]},"390":{"position":[[177,4]]},"393":{"position":[[126,4]]},"394":{"position":[[129,4]]},"396":{"position":[[200,4]]},"398":{"position":[[99,4]]},"399":{"position":[[114,4],[157,4]]},"401":{"position":[[120,4],[153,4],[182,4]]},"402":{"position":[[120,4],[153,4],[182,4]]},"403":{"position":[[453,4],[486,4],[515,4]]},"404":{"position":[[95,4],[128,4],[157,4],[1140,4],[1172,4]]},"405":{"position":[[122,4],[155,4],[184,4]]},"406":{"position":[[116,4],[149,4],[178,4]]},"407":{"position":[[124,4],[157,4],[186,4]]},"408":{"position":[[136,4],[169,4],[198,4]]},"409":{"position":[[139,4],[172,4],[201,4]]},"410":{"position":[[135,4],[168,4],[197,4],[335,4],[475,4]]},"411":{"position":[[74,4],[403,4],[436,4],[465,4],[1072,4],[1104,4]]},"412":{"position":[[132,4],[165,4],[194,4]]},"413":{"position":[[130,4],[163,4],[192,4]]},"414":{"position":[[116,4],[149,4],[178,4],[489,4]]},"415":{"position":[[105,4],[138,4],[167,4]]},"416":{"position":[[108,4],[141,4],[170,4]]},"417":{"position":[[104,4],[137,4],[166,4],[304,4],[444,4]]},"418":{"position":[[102,4],[135,4],[164,4],[829,4],[862,4],[891,4],[1419,4],[1568,4],[1709,4],[1834,4],[1959,4],[2043,4],[2072,4]]},"419":{"position":[[136,4],[169,4],[198,4],[882,4],[915,4],[944,4],[1472,4],[1621,4],[1762,4],[1887,4],[2012,4],[2096,4],[2125,4]]},"420":{"position":[[120,4],[153,4],[182,4],[854,4],[887,4],[916,4],[1444,4],[1593,4],[1734,4],[1859,4],[1984,4],[2068,4],[2097,4]]},"421":{"position":[[101,4],[134,4],[281,4],[350,4]]},"422":{"position":[[126,4],[159,4],[188,4]]},"423":{"position":[[114,4],[147,4],[176,4],[314,4],[454,4]]},"424":{"position":[[309,4]]},"425":{"position":[[148,4],[181,4],[210,4]]},"426":{"position":[[100,4],[133,4],[162,4]]},"427":{"position":[[344,4],[377,4],[406,4]]},"429":{"position":[[1456,6],[1649,4],[1720,4]]},"430":{"position":[[198,4]]},"431":{"position":[[224,4]]},"434":{"position":[[296,4]]},"438":{"position":[[252,4],[285,4]]},"439":{"position":[[132,4],[210,4],[249,4]]},"440":{"position":[[138,4],[171,4],[200,4],[278,4],[356,4]]},"441":{"position":[[167,4],[246,4],[325,4],[802,4],[838,4]]},"442":{"position":[[330,4],[363,4],[392,4],[493,4],[608,4],[687,4],[766,4],[1352,4],[1447,4],[1526,4],[1605,4],[1715,4],[1751,4]]},"443":{"position":[[128,4],[200,4],[268,4],[336,4]]},"444":{"position":[[202,4],[235,4],[264,4],[336,4],[408,4],[476,4],[544,4],[1268,4],[1297,4]]},"445":{"position":[[93,4],[131,4],[159,4],[199,4]]},"469":{"position":[[633,4]]},"511":{"position":[[144,4]]},"513":{"position":[[55,4]]},"514":{"position":[[48,4]]},"528":{"position":[[1525,4]]},"612":{"position":[[1004,5],[1050,5]]},"623":{"position":[[760,5],[864,5],[981,5],[1085,5]]},"624":{"position":[[740,5],[873,5],[1004,5],[1137,5]]},"628":{"position":[[824,5]]},"644":{"position":[[84,5],[303,5]]},"649":{"position":[[1436,5]]},"651":{"position":[[592,4],[730,4]]},"658":{"position":[[878,4]]},"681":{"position":[[588,4],[641,4],[1178,5],[1474,5]]},"682":{"position":[[286,4],[339,4],[945,5],[1241,5],[1445,5]]},"683":{"position":[[58,4],[371,4],[424,4],[731,5],[907,5]]},"684":{"position":[[261,4],[788,5]]},"685":{"position":[[790,5]]},"686":{"position":[[841,5]]},"687":{"position":[[58,4],[656,5]]},"688":{"position":[[760,5]]},"690":{"position":[[581,4],[684,4]]},"700":{"position":[[1890,5],[2072,5]]},"716":{"position":[[625,5]]}},"keywords":{}}],["true"",{"_index":4236,"title":{},"content":{"480":{"position":[[1456,11],[1736,11]]}},"keywords":{}}],["true'"",{"_index":4238,"title":{},"content":{"480":{"position":[[1509,13],[1789,13]]}},"keywords":{}}],["true/fals",{"_index":1490,"title":{},"content":{"71":{"position":[[196,12]]},"651":{"position":[[9,10]]},"690":{"position":[[36,10]]}},"keywords":{}}],["truli",{"_index":3447,"title":{},"content":{"355":{"position":[[809,5]]},"480":{"position":[[909,5]]}},"keywords":{}}],["truncat",{"_index":838,"title":{},"content":{"36":{"position":[[9889,10],[10404,9],[10454,8]]},"202":{"position":[[9889,10],[10404,9],[10454,8]]},"750":{"position":[[93,11],[266,10]]},"751":{"position":[[92,11]]}},"keywords":{}}],["ttl",{"_index":1234,"title":{},"content":{"51":{"position":[[597,3]]},"320":{"position":[[973,3]]}},"keywords":{}}],["tupl",{"_index":1810,"title":{},"content":{"99":{"position":[[2485,7]]}},"keywords":{}}],["turn",{"_index":1463,"title":{},"content":{"69":{"position":[[2599,6],[2921,6]]},"564":{"position":[[464,4]]},"607":{"position":[[386,5]]}},"keywords":{}}],["tutori",{"_index":2605,"title":{},"content":{"257":{"position":[[1902,8]]},"313":{"position":[[6,8]]},"331":{"position":[[9,8]]},"332":{"position":[[25,8]]}},"keywords":{}}],["tv",{"_index":2953,"title":{},"content":{"306":{"position":[[388,2],[484,2]]}},"keywords":{}}],["tvac",{"_index":2677,"title":{},"content":{"267":{"position":[[10320,4]]},"699":{"position":[[583,7],[900,8]]},"700":{"position":[[2061,7]]}},"keywords":{}}],["tvac'=>",{"_index":5182,"title":{},"content":{"699":{"position":[[811,12]]}},"keywords":{}}],["tweak",{"_index":3742,"title":{},"content":{"374":{"position":[[90,6]]},"507":{"position":[[141,5]]}},"keywords":{}}],["twice",{"_index":755,"title":{},"content":{"36":{"position":[[4731,6],[8723,6]]},"202":{"position":[[4731,6],[8723,6]]}},"keywords":{}}],["two",{"_index":198,"title":{},"content":{"6":{"position":[[150,3]]},"8":{"position":[[284,3]]},"9":{"position":[[17,3]]},"36":{"position":[[8060,3]]},"58":{"position":[[120,3],[314,3],[417,3]]},"71":{"position":[[648,3]]},"72":{"position":[[229,3]]},"79":{"position":[[271,3]]},"93":{"position":[[458,3],[910,3]]},"94":{"position":[[442,3]]},"107":{"position":[[176,4]]},"202":{"position":[[8060,3]]},"223":{"position":[[130,3]]},"249":{"position":[[226,3]]},"253":{"position":[[4200,3]]},"267":{"position":[[6720,3]]},"320":{"position":[[1211,3]]},"355":{"position":[[463,3],[498,3]]},"357":{"position":[[532,3],[1937,3],[3427,3]]},"379":{"position":[[187,3]]},"380":{"position":[[181,3]]},"381":{"position":[[192,3]]},"444":{"position":[[80,3]]},"480":{"position":[[245,3]]},"482":{"position":[[17,3]]},"488":{"position":[[1158,3]]},"498":{"position":[[241,3]]},"501":{"position":[[612,3],[692,3],[874,3],[970,3]]},"508":{"position":[[22,3]]},"593":{"position":[[719,3]]},"601":{"position":[[624,3],[807,3]]},"616":{"position":[[175,4]]},"627":{"position":[[664,6],[745,6],[815,6],[867,5],[886,4],[979,6],[1060,6],[1130,6],[1187,6],[1208,5]]}},"keywords":{}}],["two"",{"_index":4392,"title":{},"content":{"501":{"position":[[655,10],[917,10]]}},"keywords":{}}],["tx_byte",{"_index":5308,"title":{},"content":{"715":{"position":[[450,9],[715,12],[1009,9]]},"724":{"position":[[432,9],[691,12],[950,9]]}},"keywords":{}}],["tx_q_size",{"_index":5306,"title":{},"content":{"715":{"position":[[428,10],[648,13],[987,10]]},"724":{"position":[[410,10],[624,13],[928,10]]}},"keywords":{}}],["type",{"_index":376,"title":{"99":{"position":[[6,6]]},"524":{"position":[[0,5]]},"618":{"position":[[10,6]]}},"content":{"17":{"position":[[90,4],[189,4]]},"18":{"position":[[93,4],[193,4]]},"27":{"position":[[353,4],[379,4],[880,4]]},"31":{"position":[[561,6]]},"35":{"position":[[614,4],[655,4],[665,4],[759,4],[1422,4]]},"36":{"position":[[376,5],[9687,4],[9785,5],[10068,5],[10359,6]]},"37":{"position":[[407,4],[448,4],[458,4],[552,4],[1215,4]]},"39":{"position":[[309,4]]},"42":{"position":[[188,5],[642,5]]},"43":{"position":[[437,5],[757,5],[1173,4],[4731,5],[6383,5]]},"44":{"position":[[2447,5]]},"49":{"position":[[201,4],[716,4]]},"50":{"position":[[603,4]]},"52":{"position":[[795,4]]},"63":{"position":[[320,4]]},"79":{"position":[[172,4]]},"93":{"position":[[789,4],[1475,4],[1821,4]]},"94":{"position":[[584,4],[904,4]]},"98":{"position":[[118,4]]},"99":{"position":[[41,5],[215,4],[369,4],[403,5],[1169,5],[1185,5],[1484,4],[1724,4],[2357,4],[2694,5],[3976,4],[4241,4],[4885,4]]},"168":{"position":[[185,5],[362,5]]},"169":{"position":[[194,6]]},"198":{"position":[[862,6],[1127,4]]},"201":{"position":[[643,4],[684,4],[694,4],[788,4],[1451,4]]},"202":{"position":[[376,5],[9687,4],[9785,5],[10068,5],[10359,6]]},"203":{"position":[[426,4],[467,4],[477,4],[571,4],[1234,4]]},"204":{"position":[[813,4],[854,4],[864,4],[958,4],[1595,4]]},"205":{"position":[[649,4],[690,4],[700,4],[794,4],[1431,4]]},"206":{"position":[[449,4],[459,4]]},"207":{"position":[[232,4],[242,4]]},"223":{"position":[[134,5]]},"227":{"position":[[3161,4],[3285,6],[3300,4],[4079,4],[4156,4]]},"232":{"position":[[993,4]]},"233":{"position":[[1210,4]]},"253":{"position":[[2822,4],[4617,6],[4824,4]]},"254":{"position":[[1420,4]]},"259":{"position":[[886,6],[1126,4],[1413,5],[1544,4],[1710,4]]},"260":{"position":[[403,4]]},"262":{"position":[[276,5],[481,4]]},"266":{"position":[[641,4],[682,4],[692,4]]},"267":{"position":[[371,5],[7347,4],[7352,4]]},"268":{"position":[[433,4],[474,4],[484,4]]},"269":{"position":[[691,4],[701,4]]},"270":{"position":[[360,4],[370,4]]},"271":{"position":[[442,4],[452,4]]},"272":{"position":[[234,4],[244,4]]},"285":{"position":[[242,4]]},"305":{"position":[[1478,5],[1586,5]]},"308":{"position":[[495,4],[611,5]]},"309":{"position":[[172,4]]},"321":{"position":[[365,4],[2815,4]]},"329":{"position":[[449,5]]},"350":{"position":[[184,5],[261,5],[286,5],[520,5],[591,5],[616,5],[850,5],[912,5],[937,5],[1172,5]]},"353":{"position":[[263,5]]},"372":{"position":[[54,4]]},"373":{"position":[[57,4]]},"384":{"position":[[500,4],[523,5],[625,4]]},"400":{"position":[[147,4]]},"401":{"position":[[432,4],[441,4]]},"402":{"position":[[619,4],[628,4]]},"403":{"position":[[604,4],[613,4]]},"404":{"position":[[168,4],[177,4]]},"405":{"position":[[416,4],[425,4]]},"406":{"position":[[189,4],[198,4]]},"407":{"position":[[335,4],[344,4]]},"408":{"position":[[209,4],[218,4]]},"409":{"position":[[212,4],[221,4]]},"410":{"position":[[486,4],[495,4]]},"411":{"position":[[476,4],[485,4]]},"412":{"position":[[205,4],[214,4]]},"413":{"position":[[203,4],[212,4]]},"414":{"position":[[189,4],[198,4]]},"415":{"position":[[178,4],[187,4]]},"416":{"position":[[181,4],[190,4]]},"417":{"position":[[455,4],[464,4]]},"418":{"position":[[175,4],[184,4],[407,4],[416,4],[902,4],[911,4],[1134,4],[1143,4]]},"419":{"position":[[209,4],[218,4],[441,4],[450,4],[955,4],[964,4],[1187,4],[1196,4]]},"420":{"position":[[193,4],[202,4],[425,4],[434,4],[927,4],[936,4],[1159,4],[1168,4]]},"422":{"position":[[426,4],[435,4]]},"423":{"position":[[465,4],[474,4]]},"425":{"position":[[221,4],[230,4]]},"427":{"position":[[417,4],[426,4]]},"429":{"position":[[1073,4],[1798,4]]},"431":{"position":[[337,4],[436,4]]},"435":{"position":[[418,4]]},"440":{"position":[[450,4],[459,4]]},"442":{"position":[[403,4],[412,4]]},"444":{"position":[[609,4],[618,4]]},"446":{"position":[[539,4]]},"454":{"position":[[67,5]]},"476":{"position":[[2520,4],[3430,4]]},"478":{"position":[[291,4],[357,4],[539,4],[735,4]]},"490":{"position":[[506,4],[1022,4]]},"500":{"position":[[404,4],[583,4]]},"528":{"position":[[1452,4]]},"533":{"position":[[314,4]]},"534":{"position":[[140,4]]},"555":{"position":[[193,4],[312,4]]},"558":{"position":[[234,4]]},"572":{"position":[[190,4]]},"605":{"position":[[486,6]]},"613":{"position":[[110,4],[215,6]]},"618":{"position":[[140,4],[705,4],[1303,4]]},"621":{"position":[[4854,4],[5106,5],[5179,5],[5260,5],[5353,5]]},"623":{"position":[[121,5]]},"632":{"position":[[1104,6],[1165,6]]},"636":{"position":[[1119,5],[1335,4],[1767,4]]},"637":{"position":[[1341,5],[1572,4],[1798,4]]},"638":{"position":[[1362,5]]},"639":{"position":[[1395,5],[1621,4],[1839,4]]},"640":{"position":[[1195,5],[1415,4],[1597,4]]},"641":{"position":[[1412,5],[1647,4],[1859,4]]},"642":{"position":[[1433,5]]},"643":{"position":[[1466,5],[1696,4],[1898,4]]},"644":{"position":[[468,4],[1027,4]]},"649":{"position":[[671,4],[1221,7],[1310,4]]},"651":{"position":[[544,7],[685,8]]},"652":{"position":[[377,4],[539,4],[550,4]]},"656":{"position":[[75,5],[1065,4],[1134,5],[1422,4]]},"657":{"position":[[676,4],[889,5]]},"660":{"position":[[426,4],[462,5],[959,5]]},"662":{"position":[[490,4],[526,5],[709,5]]},"663":{"position":[[184,4],[209,4]]},"669":{"position":[[578,4],[589,4],[742,4],[878,5],[943,5],[1029,4]]},"670":{"position":[[441,4],[446,4]]},"671":{"position":[[445,4],[450,4],[710,5]]},"672":{"position":[[262,4],[267,4],[510,5]]},"673":{"position":[[111,5],[170,5]]},"681":{"position":[[810,5],[1282,4],[1318,5],[1658,5]]},"682":{"position":[[538,5],[1049,4],[1085,5],[1426,5]]},"685":{"position":[[432,5],[894,4],[930,5],[1176,5]]},"686":{"position":[[448,5],[945,4],[981,5],[1255,5]]}},"keywords":{}}],["type>",{"_index":2283,"title":{},"content":{"227":{"position":[[2988,9],[3956,9]]}},"keywords":{}}],["type>__<reduc",{"_index":2282,"title":{},"content":{"227":{"position":[[2966,21]]}},"keywords":{}}],["type"",{"_index":2216,"title":{},"content":{"226":{"position":[[276,10],[1154,10],[1924,10]]},"649":{"position":[[451,11],[1178,11]]}},"keywords":{}}],["type='format",{"_index":5022,"title":{},"content":{"662":{"position":[[826,17]]}},"keywords":{}}],["type='raw",{"_index":4978,"title":{},"content":{"656":{"position":[[1491,11]]},"657":{"position":[[1056,11]]},"660":{"position":[[1387,11]]},"669":{"position":[[1164,11],[1229,11]]},"671":{"position":[[909,11]]},"672":{"position":[[697,11]]},"681":{"position":[[1868,11]]},"682":{"position":[[1633,11]]},"685":{"position":[[1353,11]]},"686":{"position":[[1460,11]]}},"keywords":{}}],["type_nam",{"_index":3379,"title":{},"content":{"350":{"position":[[434,9],[764,9],[1086,9]]}},"keywords":{}}],["typed.vari",{"_index":4166,"title":{},"content":{"476":{"position":[[649,14]]}},"keywords":{}}],["typescontain",{"_index":4046,"title":{},"content":{"457":{"position":[[293,14]]}},"keywords":{}}],["typic",{"_index":614,"title":{},"content":{"31":{"position":[[174,9]]},"38":{"position":[[39,9]]},"69":{"position":[[2280,9],[3731,9],[3790,9]]},"75":{"position":[[560,9]]},"76":{"position":[[586,9]]},"77":{"position":[[602,9]]},"78":{"position":[[599,9]]},"79":{"position":[[94,7],[776,9]]},"99":{"position":[[4823,9]]},"115":{"position":[[79,9]]},"131":{"position":[[152,9]]},"208":{"position":[[128,9]]},"225":{"position":[[49,9]]},"227":{"position":[[1736,9]]},"230":{"position":[[545,9]]},"231":{"position":[[637,9]]},"261":{"position":[[194,9]]},"262":{"position":[[132,9],[645,9]]},"273":{"position":[[127,9]]},"282":{"position":[[51,9]]},"284":{"position":[[97,9]]},"291":{"position":[[753,9]]},"304":{"position":[[2882,9]]},"338":{"position":[[845,9]]},"363":{"position":[[877,9]]},"434":{"position":[[176,7]]},"482":{"position":[[789,9]]},"508":{"position":[[284,9]]},"758":{"position":[[178,9]]},"765":{"position":[[29,9]]}},"keywords":{}}],["typo",{"_index":3130,"title":{},"content":{"322":{"position":[[1594,4],[1618,5],[1756,4]]},"461":{"position":[[924,4]]},"617":{"position":[[1143,5]]}},"keywords":{}}],["typograpi",{"_index":2483,"title":{},"content":{"247":{"position":[[243,10]]}},"keywords":{}}],["ubuntu",{"_index":3474,"title":{},"content":{"357":{"position":[[217,6],[795,6],[907,6],[1093,6],[1118,6],[2281,6],[2584,6],[2609,6]]}},"keywords":{}}],["ubuntu:22.10",{"_index":3003,"title":{},"content":{"318":{"position":[[6,12],[597,12]]}},"keywords":{}}],["udp",{"_index":1193,"title":{"51":{"position":[[0,3]]}},"content":{"48":{"position":[[79,4]]},"51":{"position":[[5,3],[24,3]]},"115":{"position":[[135,3]]},"297":{"position":[[615,4]]},"298":{"position":[[1157,4]]},"320":{"position":[[623,4]]}},"keywords":{}}],["udp_interfac",{"_index":1943,"title":{},"content":{"123":{"position":[[793,14]]},"143":{"position":[[583,14]]}},"keywords":{}}],["udp_interface.rb",{"_index":1239,"title":{},"content":{"51":{"position":[[916,16]]},"320":{"position":[[1060,16]]}},"keywords":{}}],["ui",{"_index":2469,"title":{},"content":{"245":{"position":[[431,2]]},"353":{"position":[[317,3],[347,4]]}},"keywords":{}}],["uint",{"_index":214,"title":{},"content":{"6":{"position":[[396,4],[840,4],[895,4],[950,4],[1005,4],[1060,4]]},"7":{"position":[[299,4],[707,4],[912,4],[984,4]]},"31":{"position":[[573,5]]},"35":{"position":[[707,5],[772,5]]},"36":{"position":[[3530,4],[9223,4],[9412,4]]},"37":{"position":[[500,5],[565,5]]},"40":{"position":[[227,4],[335,4],[454,4],[561,4],[679,4],[816,4],[908,4],[967,4],[1112,4],[1247,4],[1455,4]]},"198":{"position":[[874,5]]},"201":{"position":[[736,5],[801,5],[1969,4]]},"202":{"position":[[3530,4],[9223,4],[9412,4]]},"203":{"position":[[519,5],[584,5],[1757,4]]},"204":{"position":[[906,5],[971,5],[2119,4]]},"205":{"position":[[742,5],[807,5],[1959,4]]},"206":{"position":[[502,5]]},"207":{"position":[[285,5]]},"226":{"position":[[148,4],[231,4],[310,4],[404,4],[497,4],[584,4],[675,4],[877,4],[1026,4],[1109,4],[1188,4],[1282,4],[1375,4],[1462,4],[1553,4],[1632,4],[1796,4],[1879,4],[1958,4],[2052,4],[2145,4],[2232,4],[2323,4],[2450,4]]},"232":{"position":[[1164,4]]},"233":{"position":[[1442,4]]},"253":{"position":[[2999,4],[4011,6],[4076,4],[4139,4],[4958,4]]},"254":{"position":[[1599,4]]},"259":{"position":[[898,5]]},"266":{"position":[[739,5],[1081,4]]},"267":{"position":[[2596,4],[7399,5],[7522,4],[7689,4]]},"268":{"position":[[531,5],[876,4]]},"269":{"position":[[748,5],[1178,4]]},"270":{"position":[[417,5],[850,4]]},"271":{"position":[[495,5]]},"272":{"position":[[287,5]]},"285":{"position":[[132,4],[218,4],[318,4],[413,4],[487,4],[604,4],[672,4],[734,4],[819,4],[893,4],[1057,4]]},"321":{"position":[[440,4],[550,4],[654,4],[739,4],[791,4],[1284,4],[1406,4],[1514,4],[1619,4],[1671,4],[1816,4],[1938,4],[2046,4],[2124,4],[2176,4],[2316,4],[2438,4],[2546,4],[2624,4],[2676,4],[2863,4],[2954,4],[3043,4],[3133,4],[3192,4],[3291,4],[3348,4],[3409,4],[3483,4]]},"329":{"position":[[778,4],[1179,4],[1222,4],[1264,4]]},"649":{"position":[[1276,7]]}},"keywords":{}}],["umd",{"_index":3224,"title":{},"content":{"328":{"position":[[978,3],[1122,3],[1273,3]]}},"keywords":{}}],["unaffect",{"_index":2632,"title":{},"content":{"263":{"position":[[764,11]]},"466":{"position":[[908,10]]}},"keywords":{}}],["unambigu",{"_index":1309,"title":{},"content":{"57":{"position":[[132,11]]}},"keywords":{}}],["unauthor",{"_index":1699,"title":{},"content":{"87":{"position":[[180,12]]},"459":{"position":[[152,12]]},"464":{"position":[[190,12]]},"469":{"position":[[582,12]]}},"keywords":{}}],["unauthoris",{"_index":4074,"title":{},"content":{"459":{"position":[[1861,12]]}},"keywords":{}}],["unavail",{"_index":3981,"title":{},"content":{"442":{"position":[[1088,11]]},"444":{"position":[[1048,11]]}},"keywords":{}}],["uncheck",{"_index":889,"title":{},"content":{"40":{"position":[[1297,9]]},"446":{"position":[[937,9]]},"584":{"position":[[463,7]]},"612":{"position":[[228,10],[519,10]]}},"keywords":{}}],["unclear",{"_index":4242,"title":{},"content":{"481":{"position":[[41,7]]}},"keywords":{}}],["uncom",{"_index":3195,"title":{},"content":{"324":{"position":[[3424,9]]},"325":{"position":[[455,9]]}},"keywords":{}}],["unconvert",{"_index":2655,"title":{},"content":{"267":{"position":[[3434,11],[4800,11],[5493,11],[6616,11]]}},"keywords":{}}],["undefin",{"_index":4589,"title":{},"content":{"608":{"position":[[358,9],[711,9]]}},"keywords":{}}],["under",{"_index":339,"title":{},"content":{"12":{"position":[[384,5]]},"315":{"position":[[165,5]]},"322":{"position":[[1304,5],[2040,5]]},"334":{"position":[[1171,5]]},"343":{"position":[[705,5]]},"359":{"position":[[745,5],[1786,5],[2181,5]]},"360":{"position":[[68,5]]},"361":{"position":[[88,5],[321,5]]},"363":{"position":[[1246,5]]},"374":{"position":[[542,5]]},"397":{"position":[[139,5]]},"459":{"position":[[349,5]]},"470":{"position":[[154,5]]},"493":{"position":[[155,5]]},"504":{"position":[[277,5]]},"538":{"position":[[47,5]]},"540":{"position":[[437,5]]},"772":{"position":[[40,5]]}},"keywords":{}}],["underli",{"_index":4243,"title":{},"content":{"481":{"position":[[202,10]]}},"keywords":{}}],["underopenc3",{"_index":3054,"title":{},"content":{"320":{"position":[[1454,11]]}},"keywords":{}}],["underscor",{"_index":257,"title":{},"content":{"7":{"position":[[492,10]]},"36":{"position":[[5185,11]]},"202":{"position":[[5185,11]]},"217":{"position":[[376,11]]},"224":{"position":[[364,11]]},"227":{"position":[[2843,12],[3852,12]]},"267":{"position":[[3666,11]]},"476":{"position":[[1335,11],[1449,11],[1629,11],[4182,12]]}},"keywords":{}}],["understand",{"_index":107,"title":{},"content":{"3":{"position":[[384,10]]},"20":{"position":[[825,10]]},"69":{"position":[[1543,10],[1589,10]]},"297":{"position":[[60,11]]},"350":{"position":[[121,13]]},"474":{"position":[[267,11]]},"476":{"position":[[1179,10]]},"479":{"position":[[146,10]]},"522":{"position":[[78,10]]}},"keywords":{}}],["undo",{"_index":2900,"title":{},"content":{"304":{"position":[[1620,5]]}},"keywords":{}}],["unedit",{"_index":853,"title":{},"content":{"36":{"position":[[10712,11],[10801,10]]},"40":{"position":[[1052,10],[1187,10],[1325,10]]}},"keywords":{}}],["unencrypt",{"_index":565,"title":{},"content":{"26":{"position":[[200,11]]}},"keywords":{}}],["unexpect",{"_index":1406,"title":{},"content":{"63":{"position":[[2798,10]]},"66":{"position":[[442,10]]}},"keywords":{}}],["unfinish",{"_index":4442,"title":{},"content":{"514":{"position":[[973,10]]}},"keywords":{}}],["unidentifi",{"_index":2545,"title":{},"content":{"253":{"position":[[5392,12]]}},"keywords":{}}],["unifi",{"_index":3363,"title":{},"content":{"350":{"position":[[58,5]]}},"keywords":{}}],["unimpl",{"_index":4631,"title":{},"content":{"621":{"position":[[95,13],[1246,13],[3751,13],[4782,13]]}},"keywords":{}}],["uninstal",{"_index":2508,"title":{},"content":{"253":{"position":[[374,9]]},"311":{"position":[[334,12],[355,9]]}},"keywords":{}}],["uninstru",{"_index":4310,"title":{"488":{"position":[[16,14]]}},"content":{"488":{"position":[[384,14],[1179,14],[2548,14],[2681,14]]}},"keywords":{}}],["union",{"_index":4123,"title":{},"content":{"466":{"position":[[47,5]]}},"keywords":{}}],["uniqu",{"_index":167,"title":{},"content":{"5":{"position":[[726,6]]},"33":{"position":[[340,8]]},"35":{"position":[[109,6]]},"37":{"position":[[109,6]]},"99":{"position":[[1142,6],[1293,8],[2680,6]]},"142":{"position":[[170,6]]},"182":{"position":[[170,6]]},"199":{"position":[[196,6]]},"201":{"position":[[126,6]]},"203":{"position":[[126,6]]},"204":{"position":[[349,6]]},"205":{"position":[[349,6]]},"206":{"position":[[143,6]]},"207":{"position":[[143,6]]},"235":{"position":[[1141,6]]},"253":{"position":[[6265,6]]},"264":{"position":[[216,6]]},"266":{"position":[[129,6]]},"267":{"position":[[8510,6]]},"268":{"position":[[129,6]]},"269":{"position":[[299,6],[827,8]]},"270":{"position":[[129,6],[496,8]]},"271":{"position":[[146,6]]},"272":{"position":[[146,6]]},"306":{"position":[[125,6],[252,6]]},"374":{"position":[[505,6]]},"384":{"position":[[401,6],[469,6],[586,6]]},"482":{"position":[[21,6]]},"523":{"position":[[92,6]]},"591":{"position":[[387,6]]},"675":{"position":[[82,6]]},"676":{"position":[[191,6]]},"738":{"position":[[55,6]]}},"keywords":{}}],["unit",{"_index":432,"title":{"104":{"position":[[5,4]]},"105":{"position":[[7,4]]}},"content":{"20":{"position":[[642,4]]},"36":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"61":{"position":[[1493,5]]},"94":{"position":[[414,5]]},"202":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"208":{"position":[[453,5],[459,5]]},"225":{"position":[[504,5],[510,5]]},"240":{"position":[[45,4]]},"243":{"position":[[226,5]]},"267":{"position":[[279,6],[301,5],[365,5],[428,6],[464,5],[480,5]]},"304":{"position":[[705,4]]},"305":{"position":[[1531,6]]},"321":{"position":[[3151,5],[3210,5]]},"375":{"position":[[43,5],[70,6],[173,5]]},"376":{"position":[[45,5],[72,6],[177,5]]},"377":{"position":[[45,5],[72,6],[173,5]]},"378":{"position":[[47,5],[74,6],[175,5]]},"618":{"position":[[1081,5],[1102,5],[1181,5],[1254,5]]}},"keywords":{}}],["unitsdisplay",{"_index":4506,"title":{},"content":{"571":{"position":[[77,12]]}},"keywords":{}}],["unix",{"_index":1245,"title":{},"content":{"52":{"position":[[126,4]]},"99":{"position":[[2809,4],[3243,4]]},"227":{"position":[[4336,4]]},"263":{"position":[[897,4],[1037,4],[1190,4]]}},"keywords":{}}],["unix_time_conversion.rb",{"_index":2641,"title":{},"content":{"263":{"position":[[1375,23]]}},"keywords":{}}],["unknown",{"_index":1350,"title":{},"content":{"60":{"position":[[1530,7],[1581,7]]},"269":{"position":[[212,7]]},"322":{"position":[[2188,7]]}},"keywords":{}}],["unlaw",{"_index":4075,"title":{},"content":{"459":{"position":[[1877,8]]}},"keywords":{}}],["unlawfulli",{"_index":4151,"title":{},"content":{"469":{"position":[[701,10]]}},"keywords":{}}],["unless",{"_index":1300,"title":{},"content":{"56":{"position":[[518,6]]},"186":{"position":[[240,6]]},"187":{"position":[[252,6]]},"209":{"position":[[191,6]]},"229":{"position":[[579,6]]},"253":{"position":[[1336,6]]},"254":{"position":[[831,6]]},"274":{"position":[[177,6]]},"280":{"position":[[113,6]]},"360":{"position":[[1347,6]]},"476":{"position":[[947,6]]},"518":{"position":[[214,6]]},"520":{"position":[[155,6]]},"534":{"position":[[544,6]]},"671":{"position":[[164,6]]}},"keywords":{}}],["unlik",{"_index":3897,"title":{},"content":{"428":{"position":[[63,6]]}},"keywords":{}}],["unlimit",{"_index":3652,"title":{},"content":{"361":{"position":[[226,9],[518,9]]}},"keywords":{}}],["unmap_old",{"_index":5334,"title":{},"content":{"716":{"position":[[241,10],[534,9],[711,10]]}},"keywords":{}}],["unmap_old=fals",{"_index":5337,"title":{},"content":{"716":{"position":[[812,16]]}},"keywords":{}}],["unnecessari",{"_index":4244,"title":{},"content":{"481":{"position":[[354,11]]}},"keywords":{}}],["unqualifi",{"_index":3191,"title":{},"content":{"324":{"position":[[3252,11]]}},"keywords":{}}],["unrecogn",{"_index":3720,"title":{},"content":{"368":{"position":[[83,13]]}},"keywords":{}}],["unrel",{"_index":4229,"title":{},"content":{"480":{"position":[[1150,9]]}},"keywords":{}}],["unrol",{"_index":4254,"title":{"483":{"position":[[11,8]]}},"content":{"483":{"position":[[450,8],[951,6],[1189,8]]},"500":{"position":[[829,8]]}},"keywords":{}}],["unscop",{"_index":4287,"title":{"487":{"position":[[17,8]]}},"content":{},"keywords":{}}],["unsign",{"_index":627,"title":{},"content":{"31":{"position":[[631,8]]},"36":{"position":[[10337,8]]},"99":{"position":[[245,8],[380,8],[541,8],[602,8],[667,8],[734,8],[841,8],[943,8],[1044,8],[1760,8],[2393,8],[2751,8],[3106,8],[3521,8],[4921,8]]},"198":{"position":[[932,8]]},"202":{"position":[[10337,8]]},"253":{"position":[[3994,8]]},"259":{"position":[[956,8]]},"329":{"position":[[1106,8],[1126,8],[1146,8]]}},"keywords":{}}],["unsolv",{"_index":3701,"title":{},"content":{"364":{"position":[[937,10]]}},"keywords":{}}],["unspecifi",{"_index":1730,"title":{},"content":{"93":{"position":[[720,11]]}},"keywords":{}}],["unsubscrib",{"_index":2298,"title":{},"content":{"227":{"position":[[4530,13]]},"462":{"position":[[538,11]]}},"keywords":{}}],["unsubscribe_limits_ev",{"_index":4724,"title":{},"content":{"621":{"position":[[4859,25]]}},"keywords":{}}],["unsubscribe_packet_data",{"_index":4725,"title":{},"content":{"621":{"position":[[4925,23]]}},"keywords":{}}],["unsubscribe_server_messag",{"_index":4726,"title":{},"content":{"621":{"position":[[4989,27]]}},"keywords":{}}],["unsupport",{"_index":4040,"title":{"457":{"position":[[0,11]]}},"content":{"457":{"position":[[45,12]]}},"keywords":{}}],["until",{"_index":1377,"title":{},"content":{"62":{"position":[[134,5]]},"227":{"position":[[4482,5]]},"302":{"position":[[619,5]]},"324":{"position":[[3892,5]]},"465":{"position":[[236,5],[295,5]]},"501":{"position":[[361,5]]},"528":{"position":[[1359,5]]},"575":{"position":[[193,5]]},"600":{"position":[[495,5]]},"681":{"position":[[71,5],[229,5]]},"682":{"position":[[56,5]]},"683":{"position":[[19,5]]},"684":{"position":[[19,5]]},"685":{"position":[[71,5]]},"686":{"position":[[56,5]]},"687":{"position":[[19,5]]},"688":{"position":[[19,5]]}},"keywords":{}}],["until"",{"_index":4446,"title":{},"content":{"514":{"position":[[1440,11]]}},"keywords":{}}],["untrust",{"_index":547,"title":{},"content":{"24":{"position":[[669,9]]}},"keywords":{}}],["unus",{"_index":1799,"title":{},"content":{"99":{"position":[[1114,7]]}},"keywords":{}}],["uoxepkb8h7omuumm",{"_index":1001,"title":{},"content":{"43":{"position":[[4389,16]]}},"keywords":{}}],["up",{"_index":18,"title":{"314":{"position":[[8,2]]},"316":{"position":[[8,2]]}},"content":{"1":{"position":[[195,3]]},"3":{"position":[[438,2]]},"6":{"position":[[510,2]]},"35":{"position":[[462,2]]},"37":{"position":[[255,2]]},"44":{"position":[[210,2],[3110,2]]},"61":{"position":[[345,2]]},"63":{"position":[[1880,2]]},"69":{"position":[[2163,2],[2313,2],[4982,2]]},"83":{"position":[[3107,2]]},"84":{"position":[[29,2]]},"99":{"position":[[4502,2]]},"198":{"position":[[1179,2]]},"201":{"position":[[491,2]]},"203":{"position":[[274,2]]},"204":{"position":[[661,2]]},"205":{"position":[[497,2]]},"206":{"position":[[662,2]]},"207":{"position":[[445,2]]},"227":{"position":[[5074,2]]},"230":{"position":[[1613,2]]},"240":{"position":[[76,2]]},"243":{"position":[[195,2]]},"253":{"position":[[3238,2],[3421,2],[4432,2]]},"259":{"position":[[1195,2]]},"266":{"position":[[489,2]]},"268":{"position":[[281,2]]},"269":{"position":[[612,2]]},"270":{"position":[[281,2]]},"271":{"position":[[655,2]]},"272":{"position":[[447,2]]},"291":{"position":[[768,2]]},"303":{"position":[[2185,2]]},"304":{"position":[[806,2]]},"306":{"position":[[188,2]]},"322":{"position":[[1444,2]]},"324":{"position":[[491,2]]},"336":{"position":[[28,2]]},"347":{"position":[[171,2]]},"351":{"position":[[266,2]]},"355":{"position":[[34,2]]},"357":{"position":[[972,2]]},"366":{"position":[[436,2]]},"373":{"position":[[116,2],[179,2],[327,2]]},"383":{"position":[[116,2],[179,2],[327,2]]},"449":{"position":[[452,3]]},"459":{"position":[[1011,2]]},"479":{"position":[[336,2]]},"482":{"position":[[1434,2]]},"485":{"position":[[78,2]]},"490":{"position":[[1148,2]]},"497":{"position":[[502,2],[801,2]]},"508":{"position":[[497,2]]},"518":{"position":[[32,2]]},"533":{"position":[[348,2]]},"541":{"position":[[350,2]]},"542":{"position":[[379,2]]},"555":{"position":[[259,2]]},"558":{"position":[[166,2],[319,2]]},"564":{"position":[[115,2],[424,2]]},"578":{"position":[[1454,2]]},"585":{"position":[[842,2],[918,2]]},"591":{"position":[[28,2]]},"592":{"position":[[64,2]]},"593":{"position":[[392,2]]},"599":{"position":[[121,2],[656,2]]},"600":{"position":[[312,2]]},"608":{"position":[[32,2]]},"612":{"position":[[1176,2]]},"617":{"position":[[1094,2]]},"752":{"position":[[129,2]]}},"keywords":{}}],["updat",{"_index":436,"title":{"21":{"position":[[0,8]]},"22":{"position":[[0,8]]},"23":{"position":[[0,6]]}},"content":{"20":{"position":[[735,6]]},"22":{"position":[[538,6]]},"23":{"position":[[1,6]]},"43":{"position":[[361,6]]},"44":{"position":[[1487,7]]},"83":{"position":[[1739,6]]},"230":{"position":[[2483,7]]},"231":{"position":[[1146,7]]},"234":{"position":[[856,7]]},"235":{"position":[[1677,7]]},"254":{"position":[[1061,6]]},"267":{"position":[[8098,6]]},"305":{"position":[[517,9]]},"318":{"position":[[241,6],[451,6]]},"324":{"position":[[1649,6],[3553,6]]},"325":{"position":[[118,6],[660,6]]},"334":{"position":[[200,7],[1128,7]]},"347":{"position":[[2219,6]]},"369":{"position":[[455,7]]},"460":{"position":[[246,8]]},"461":{"position":[[234,8],[1246,7]]},"463":{"position":[[144,6]]},"467":{"position":[[342,7]]},"468":{"position":[[65,7]]},"480":{"position":[[991,7]]},"488":{"position":[[1330,7]]},"504":{"position":[[317,7]]},"505":{"position":[[507,6]]},"514":{"position":[[1455,7]]},"528":{"position":[[550,8],[721,6],[868,8],[1534,6]]},"533":{"position":[[116,7],[456,7],[761,7]]},"534":{"position":[[435,6]]},"538":{"position":[[330,6]]},"556":{"position":[[715,7]]},"572":{"position":[[114,6]]},"578":{"position":[[1010,7]]},"590":{"position":[[67,7]]},"600":{"position":[[67,7],[134,7]]},"607":{"position":[[140,7],[576,7]]},"700":{"position":[[109,6]]},"763":{"position":[[1,7],[181,6],[241,6]]}},"keywords":{}}],["updated_at",{"_index":5543,"title":{},"content":{"767":{"position":[[961,13],[1067,13],[1178,13],[1297,13]]}},"keywords":{}}],["upgrad",{"_index":1871,"title":{"255":{"position":[[0,9]]},"256":{"position":[[7,9]]}},"content":{"108":{"position":[[19,7]]},"120":{"position":[[210,9]]},"227":{"position":[[998,8]]},"253":{"position":[[2603,7]]},"254":{"position":[[2153,7],[2602,8]]},"311":{"position":[[254,9],[272,7]]},"318":{"position":[[272,7]]},"334":{"position":[[690,7],[745,7]]},"347":{"position":[[2235,7]]},"461":{"position":[[224,9]]}},"keywords":{}}],["upload",{"_index":2568,"title":{"322":{"position":[[0,9]]},"518":{"position":[[0,7]]},"584":{"position":[[0,6]]}},"content":{"254":{"position":[[37,6],[464,6],[643,7]]},"257":{"position":[[1940,6]]},"311":{"position":[[192,6]]},"321":{"position":[[3904,8]]},"322":{"position":[[306,7],[1071,9],[1485,8],[1675,9]]},"518":{"position":[[11,6],[70,6],[155,6]]},"584":{"position":[[67,6],[221,6],[411,6]]},"585":{"position":[[218,6],[572,6],[719,6]]}},"keywords":{}}],["upload.rb",{"_index":4522,"title":{"585":{"position":[[0,10]]}},"content":{"584":{"position":[[156,9]]},"585":{"position":[[39,9]]}},"keywords":{}}],["upon",{"_index":2426,"title":{},"content":{"239":{"position":[[417,4]]},"299":{"position":[[622,4],[696,4]]},"304":{"position":[[2584,4]]},"305":{"position":[[929,4]]},"429":{"position":[[42,4]]},"612":{"position":[[349,4],[723,4]]}},"keywords":{}}],["upper",{"_index":3961,"title":{},"content":{"437":{"position":[[123,5]]},"438":{"position":[[162,5]]},"439":{"position":[[88,5],[166,5]]},"440":{"position":[[234,5],[312,5]]},"441":{"position":[[201,5],[280,5]]},"442":{"position":[[642,5],[721,5],[1481,5],[1560,5]]},"592":{"position":[[245,5],[306,5]]},"593":{"position":[[307,5],[532,5]]},"601":{"position":[[283,5]]},"739":{"position":[[368,5],[437,5]]},"746":{"position":[[541,5],[610,5]]}},"keywords":{}}],["uppercas",{"_index":4207,"title":{},"content":{"476":{"position":[[4167,9]]}},"keywords":{}}],["urgent",{"_index":4143,"title":{},"content":{"467":{"position":[[1415,6]]}},"keywords":{}}],["uri",{"_index":1134,"title":{},"content":{"44":{"position":[[3760,5]]}},"keywords":{}}],["url",{"_index":1066,"title":{"186":{"position":[[0,4]]}},"content":{"44":{"position":[[1354,3],[1760,3],[3939,4]]},"186":{"position":[[1,3],[43,3],[158,4]]},"187":{"position":[[10,3],[34,3],[181,4]]},"227":{"position":[[990,3]]},"353":{"position":[[366,4]]}},"keywords":{}}],["url="$(curl",{"_index":1136,"title":{},"content":{"44":{"position":[[3776,16]]}},"keywords":{}}],["urlencoded"",{"_index":955,"title":{},"content":{"43":{"position":[[466,16]]}},"keywords":{}}],["us",{"_index":5,"title":{"324":{"position":[[14,5]]},"331":{"position":[[0,5]]},"360":{"position":[[25,3]]},"451":{"position":[[15,5]]},"481":{"position":[[0,3]]},"487":{"position":[[0,5]]},"492":{"position":[[0,5]]},"500":{"position":[[0,5]]},"501":{"position":[[0,5]]},"508":{"position":[[8,3]]},"617":{"position":[[0,5]]}},"content":{"1":{"position":[[47,4]]},"3":{"position":[[97,5],[567,5]]},"6":{"position":[[87,3],[677,4],[736,5],[1102,4]]},"7":{"position":[[26,4],[1062,5]]},"8":{"position":[[102,3]]},"9":{"position":[[125,3],[469,3],[860,3]]},"11":{"position":[[250,3]]},"15":{"position":[[60,4],[274,5],[294,3]]},"16":{"position":[[62,4],[278,5],[298,3]]},"17":{"position":[[146,5],[333,5]]},"18":{"position":[[150,5],[338,5]]},"20":{"position":[[241,3],[1008,3],[1138,3]]},"22":{"position":[[22,3]]},"23":{"position":[[19,3]]},"24":{"position":[[342,4],[430,4],[722,3]]},"26":{"position":[[233,3]]},"27":{"position":[[406,4]]},"31":{"position":[[348,5]]},"33":{"position":[[617,4],[876,4]]},"35":{"position":[[295,3],[414,4]]},"36":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6443,4],[7239,4],[8862,4],[8942,4],[9089,5],[10642,6],[10827,6]]},"37":{"position":[[207,4]]},"39":{"position":[[170,5]]},"43":{"position":[[26,4],[115,5]]},"44":{"position":[[16,6]]},"48":{"position":[[46,4],[113,3]]},"49":{"position":[[113,4]]},"50":{"position":[[175,4]]},"51":{"position":[[19,4],[530,4],[591,5]]},"53":{"position":[[231,4]]},"54":{"position":[[187,4],[477,4],[648,4]]},"59":{"position":[[724,5]]},"60":{"position":[[122,5],[392,5],[1122,5]]},"61":{"position":[[90,5],[250,5],[408,5],[696,5],[1481,4],[1899,5],[2663,4]]},"62":{"position":[[44,5],[249,5],[1024,5]]},"63":{"position":[[136,3],[1091,4],[1751,6],[2208,5]]},"64":{"position":[[47,5],[181,4]]},"67":{"position":[[722,3],[782,4],[917,4],[1051,4],[1195,4]]},"69":{"position":[[196,6],[962,4],[1110,3],[1384,3],[2069,5],[3091,5],[4394,5],[4765,5]]},"71":{"position":[[863,4]]},"72":{"position":[[21,4],[134,4]]},"73":{"position":[[29,4]]},"74":{"position":[[32,4]]},"75":{"position":[[25,4],[1754,4]]},"76":{"position":[[27,4]]},"77":{"position":[[28,4]]},"78":{"position":[[26,4]]},"79":{"position":[[102,3]]},"80":{"position":[[28,4],[82,6]]},"83":{"position":[[628,5],[1675,3]]},"85":{"position":[[199,4]]},"90":{"position":[[498,4]]},"93":{"position":[[27,4],[1133,4],[1453,5]]},"94":{"position":[[27,4]]},"97":{"position":[[36,4]]},"98":{"position":[[97,4]]},"99":{"position":[[170,4],[2933,4],[3359,4],[4358,4],[4784,4]]},"103":{"position":[[352,4]]},"112":{"position":[[643,4]]},"115":{"position":[[122,5]]},"118":{"position":[[132,6]]},"121":{"position":[[178,4],[300,4],[458,4],[539,5]]},"123":{"position":[[71,4],[693,3]]},"131":{"position":[[68,3],[162,4]]},"132":{"position":[[13,3]]},"133":{"position":[[184,6],[284,5]]},"134":{"position":[[673,4]]},"141":{"position":[[90,4]]},"143":{"position":[[483,3]]},"168":{"position":[[80,4]]},"176":{"position":[[132,3],[223,4]]},"179":{"position":[[209,4]]},"180":{"position":[[74,4]]},"184":{"position":[[117,3]]},"186":{"position":[[5,4],[47,4]]},"187":{"position":[[61,4],[259,5]]},"188":{"position":[[60,4],[147,5]]},"194":{"position":[[61,4],[169,4]]},"198":{"position":[[111,4],[172,4]]},"201":{"position":[[324,3],[443,4]]},"202":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6443,4],[7239,4],[8862,4],[8942,4],[9089,5]]},"203":{"position":[[226,4]]},"204":{"position":[[94,4],[613,4]]},"205":{"position":[[94,4],[449,4]]},"206":{"position":[[341,3],[618,4]]},"207":{"position":[[401,4]]},"208":{"position":[[60,4],[138,4],[260,4]]},"209":{"position":[[317,3]]},"213":{"position":[[86,4]]},"215":{"position":[[35,4],[113,4]]},"216":{"position":[[43,4]]},"217":{"position":[[41,4]]},"222":{"position":[[88,4],[128,4]]},"223":{"position":[[111,4]]},"224":{"position":[[78,4]]},"225":{"position":[[59,4],[203,4]]},"227":{"position":[[93,4],[451,5],[3264,3],[5372,4]]},"229":{"position":[[613,3],[819,4],[1411,4],[1557,6],[1647,4]]},"230":{"position":[[1856,3],[2126,3]]},"231":{"position":[[971,4]]},"232":{"position":[[474,3],[828,3]]},"233":{"position":[[505,3],[911,3]]},"234":{"position":[[78,3],[768,5]]},"235":{"position":[[1292,5],[1408,4],[1484,4]]},"237":{"position":[[51,4],[130,3]]},"239":{"position":[[142,4]]},"240":{"position":[[1839,3],[1901,3]]},"241":{"position":[[117,3],[280,4],[403,5]]},"242":{"position":[[8,4]]},"249":{"position":[[120,4]]},"250":{"position":[[65,4],[214,4],[323,5]]},"253":{"position":[[1199,3],[1310,3],[3330,5],[3558,4],[5379,4],[7181,6],[7335,5],[7624,5],[7781,5],[7947,5],[8242,5]]},"254":{"position":[[356,5]]},"256":{"position":[[54,5]]},"259":{"position":[[135,4],[198,4]]},"260":{"position":[[125,5],[353,3]]},"261":{"position":[[204,4]]},"262":{"position":[[247,3],[547,5]]},"266":{"position":[[323,3],[441,4]]},"267":{"position":[[150,5],[692,4],[1344,4],[2104,4],[4982,4],[5840,4],[7212,5],[8074,3],[8162,6],[8529,3]]},"268":{"position":[[233,4]]},"269":{"position":[[564,4]]},"270":{"position":[[233,4]]},"271":{"position":[[340,3],[611,4]]},"272":{"position":[[403,4]]},"273":{"position":[[57,4],[137,4],[260,4]]},"274":{"position":[[298,3]]},"275":{"position":[[95,4]]},"279":{"position":[[35,4],[113,4]]},"281":{"position":[[88,4],[128,4]]},"282":{"position":[[61,4],[209,4]]},"283":{"position":[[133,4]]},"289":{"position":[[81,5],[134,3],[606,4]]},"290":{"position":[[14,5],[306,3],[488,5]]},"291":{"position":[[458,5],[1058,4]]},"292":{"position":[[75,3]]},"297":{"position":[[19,4],[231,5],[740,4],[866,4]]},"298":{"position":[[1506,5]]},"300":{"position":[[881,5]]},"304":{"position":[[688,4],[2939,4],[3601,5],[4734,3]]},"309":{"position":[[128,6]]},"313":{"position":[[31,5]]},"322":{"position":[[1009,5]]},"324":{"position":[[85,5],[456,4],[1574,5],[2191,3],[2924,4],[3782,3],[3819,3],[4018,4]]},"328":{"position":[[1181,4],[1577,5]]},"329":{"position":[[1536,3]]},"331":{"position":[[26,3],[142,5]]},"332":{"position":[[39,3],[71,4],[119,3]]},"334":{"position":[[508,5],[709,5]]},"336":{"position":[[213,5],[263,3]]},"338":{"position":[[17,5],[316,5],[1792,3],[1862,5],[2124,5]]},"339":{"position":[[374,5]]},"341":{"position":[[21,4]]},"347":{"position":[[1315,3],[1891,3],[1978,3]]},"349":{"position":[[169,3]]},"350":{"position":[[113,3]]},"351":{"position":[[60,3]]},"352":{"position":[[318,4]]},"357":{"position":[[707,5],[1972,5],[3463,5],[3536,5],[3854,3]]},"359":{"position":[[78,4],[340,3],[720,3],[1222,3],[1524,3],[1979,3]]},"360":{"position":[[42,3],[135,3],[389,4],[1129,3],[1236,3]]},"361":{"position":[[58,3]]},"362":{"position":[[286,3]]},"364":{"position":[[1359,3],[1687,4]]},"366":{"position":[[294,6]]},"384":{"position":[[160,6],[318,5]]},"385":{"position":[[22,4]]},"395":{"position":[[26,4]]},"397":{"position":[[69,4]]},"400":{"position":[[25,4],[284,6]]},"404":{"position":[[964,5],[1093,4]]},"411":{"position":[[171,5],[896,5],[1025,4]]},"418":{"position":[[701,5]]},"419":{"position":[[754,5]]},"420":{"position":[[726,5]]},"421":{"position":[[259,5]]},"422":{"position":[[33,6]]},"428":{"position":[[27,4]]},"429":{"position":[[122,4],[196,3],[278,5],[433,3],[495,3],[573,3],[643,4],[748,6],[825,5],[941,3],[966,5],[1293,5],[2182,4]]},"430":{"position":[[47,3],[78,4]]},"431":{"position":[[66,3],[97,4]]},"432":{"position":[[49,3],[80,4]]},"434":{"position":[[59,3],[90,4]]},"436":{"position":[[49,3],[80,4]]},"437":{"position":[[22,4]]},"441":{"position":[[670,5]]},"442":{"position":[[70,3],[1231,5]]},"444":{"position":[[1138,5]]},"448":{"position":[[94,4]]},"451":{"position":[[90,4],[249,3]]},"452":{"position":[[1,3]]},"453":{"position":[[1,3]]},"459":{"position":[[80,3],[1949,5]]},"461":{"position":[[4,3],[114,3],[475,3],[1151,4],[1186,3]]},"462":{"position":[[72,4],[244,3]]},"464":{"position":[[444,3]]},"465":{"position":[[566,4]]},"466":{"position":[[634,3]]},"467":{"position":[[309,3],[495,3],[959,5]]},"469":{"position":[[426,3]]},"470":{"position":[[143,3],[233,3]]},"474":{"position":[[51,5],[116,4],[345,5]]},"475":{"position":[[180,5]]},"476":{"position":[[350,4],[461,4],[728,5],[822,5],[1206,3],[1243,3],[1293,3],[1534,5],[4594,3]]},"480":{"position":[[522,5],[877,4],[920,6]]},"481":{"position":[[1,3]]},"482":{"position":[[1481,3]]},"483":{"position":[[1271,4]]},"485":{"position":[[494,5]]},"487":{"position":[[362,3]]},"488":{"position":[[252,3],[426,3],[1472,3],[1820,5],[1863,5],[1920,5]]},"490":{"position":[[63,6],[209,3],[642,5],[742,5],[874,5],[1138,5]]},"491":{"position":[[212,5]]},"492":{"position":[[443,6]]},"493":{"position":[[188,4],[487,5]]},"495":{"position":[[88,5],[1035,3]]},"496":{"position":[[18,6],[574,5]]},"497":{"position":[[193,5],[253,3]]},"498":{"position":[[175,5]]},"499":{"position":[[302,5]]},"500":{"position":[[90,3],[688,6]]},"501":{"position":[[422,3]]},"502":{"position":[[8,3],[377,3],[453,3]]},"504":{"position":[[758,5],[854,5]]},"505":{"position":[[167,4],[549,3],[904,4],[973,4]]},"507":{"position":[[1,5],[45,3],[188,3],[262,4],[426,5]]},"508":{"position":[[294,6],[385,5],[418,6]]},"512":{"position":[[193,6]]},"517":{"position":[[718,5]]},"530":{"position":[[98,5]]},"547":{"position":[[158,5]]},"548":{"position":[[438,4]]},"564":{"position":[[187,3]]},"566":{"position":[[240,3]]},"578":{"position":[[158,5],[1357,6]]},"579":{"position":[[68,5]]},"585":{"position":[[143,4]]},"586":{"position":[[158,4]]},"592":{"position":[[212,5],[278,5]]},"599":{"position":[[345,4]]},"605":{"position":[[131,4],[446,3],[597,5]]},"608":{"position":[[209,6],[554,6]]},"609":{"position":[[179,3]]},"610":{"position":[[38,4]]},"612":{"position":[[1200,3],[1377,6]]},"616":{"position":[[33,5]]},"617":{"position":[[504,4]]},"618":{"position":[[722,4]]},"619":{"position":[[42,4],[93,4],[206,3]]},"620":{"position":[[215,3]]},"621":{"position":[[204,3],[260,3],[331,3],[555,3],[702,3],[847,3],[922,3],[992,3],[1130,3],[1191,3],[1320,3],[1518,3],[1591,3],[1820,3],[2218,3],[2304,3],[2376,3],[2448,3],[2754,3],[2830,3],[3404,3],[3475,3],[3625,3],[3690,3],[3883,3],[4705,3],[4835,3],[5092,3],[5159,3],[5236,3],[5323,3]]},"623":{"position":[[514,4]]},"624":{"position":[[480,4]]},"637":{"position":[[100,4]]},"638":{"position":[[113,4]]},"639":{"position":[[139,4]]},"641":{"position":[[123,4]]},"642":{"position":[[136,4]]},"643":{"position":[[162,4]]},"656":{"position":[[45,5],[272,5],[313,5]]},"657":{"position":[[171,5],[222,5]]},"658":{"position":[[123,4],[173,5],[230,5],[282,5]]},"663":{"position":[[163,5]]},"669":{"position":[[180,6]]},"670":{"position":[[398,5]]},"673":{"position":[[181,5]]},"675":{"position":[[113,4]]},"683":{"position":[[149,4],[199,5]]},"687":{"position":[[145,4],[195,5]]},"700":{"position":[[137,3]]},"711":{"position":[[269,4],[345,3]]},"720":{"position":[[221,4],[291,3]]},"729":{"position":[[175,4]]},"736":{"position":[[157,5]]},"737":{"position":[[38,6],[61,3],[291,3]]},"745":{"position":[[125,3]]},"746":{"position":[[153,6]]},"749":{"position":[[64,6]]},"752":{"position":[[109,6],[242,5],[363,3]]},"758":{"position":[[217,6]]},"759":{"position":[[140,4],[165,5]]},"766":{"position":[[80,4]]},"771":{"position":[[49,4]]}},"keywords":{}}],["us)set",{"_index":3334,"title":{},"content":{"347":{"position":[[1236,6]]}},"keywords":{}}],["us,en;q=0.9",{"_index":1048,"title":{},"content":{"44":{"position":[[864,12],[2394,12]]}},"keywords":{}}],["us/docs/web/html/element/input/file#accept",{"_index":4799,"title":{},"content":{"632":{"position":[[1237,42]]}},"keywords":{}}],["usabl",{"_index":3706,"title":{},"content":{"364":{"position":[[1466,6]]}},"keywords":{}}],["usag",{"_index":186,"title":{"92":{"position":[[8,6]]},"461":{"position":[[3,6]]}},"content":{"5":{"position":[[1417,5]]},"11":{"position":[[369,6]]},"12":{"position":[[579,6]]},"13":{"position":[[487,6]]},"14":{"position":[[378,6]]},"15":{"position":[[175,5],[512,6]]},"16":{"position":[[179,5],[514,6]]},"36":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6650,6],[7446,6],[10437,6]]},"63":{"position":[[1254,6]]},"93":{"position":[[1661,6]]},"94":{"position":[[1113,6]]},"133":{"position":[[850,6]]},"135":{"position":[[659,6]]},"136":{"position":[[582,6]]},"137":{"position":[[180,6]]},"138":{"position":[[455,6]]},"139":{"position":[[258,6]]},"142":{"position":[[235,6]]},"144":{"position":[[256,6]]},"171":{"position":[[446,6]]},"173":{"position":[[164,6]]},"174":{"position":[[439,6]]},"175":{"position":[[259,6]]},"176":{"position":[[390,6]]},"177":{"position":[[337,6]]},"181":{"position":[[482,6]]},"182":{"position":[[235,6]]},"184":{"position":[[476,6]]},"194":{"position":[[493,6]]},"199":{"position":[[520,6]]},"201":{"position":[[1941,6]]},"202":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6650,6],[7446,6],[10437,6]]},"203":{"position":[[1724,6]]},"204":{"position":[[2085,6]]},"205":{"position":[[1921,6]]},"206":{"position":[[941,6]]},"207":{"position":[[724,6]]},"208":{"position":[[385,6]]},"209":{"position":[[469,6]]},"213":{"position":[[375,6]]},"225":{"position":[[436,6]]},"229":{"position":[[210,6]]},"230":{"position":[[212,6]]},"231":{"position":[[230,6]]},"232":{"position":[[249,6]]},"233":{"position":[[269,6]]},"234":{"position":[[302,6]]},"235":{"position":[[508,6]]},"264":{"position":[[546,6]]},"266":{"position":[[1055,6]]},"267":{"position":[[237,6],[456,6],[981,6],[1516,6],[2566,6],[5189,6],[6047,6],[10247,6]]},"268":{"position":[[847,6]]},"269":{"position":[[1149,6]]},"270":{"position":[[818,6]]},"271":{"position":[[934,6]]},"272":{"position":[[726,6]]},"273":{"position":[[375,6]]},"274":{"position":[[432,6]]},"275":{"position":[[384,6]]},"282":{"position":[[449,6]]},"284":{"position":[[380,6]]},"292":{"position":[[1029,5],[1055,6]]},"355":{"position":[[1032,5],[1164,5]]},"357":{"position":[[1066,6],[2557,6]]},"369":{"position":[[477,6]]},"371":{"position":[[353,6]]},"372":{"position":[[314,6]]},"373":{"position":[[799,6]]},"375":{"position":[[193,6]]},"376":{"position":[[197,6]]},"377":{"position":[[193,6]]},"378":{"position":[[195,6]]},"379":{"position":[[363,6]]},"380":{"position":[[357,6]]},"381":{"position":[[368,6]]},"382":{"position":[[151,6]]},"383":{"position":[[758,6]]},"384":{"position":[[644,6]]},"386":{"position":[[349,6]]},"387":{"position":[[324,6]]},"388":{"position":[[197,6]]},"389":{"position":[[282,6]]},"390":{"position":[[243,6]]},"391":{"position":[[304,6]]},"393":{"position":[[140,6]]},"394":{"position":[[209,6]]},"396":{"position":[[214,6]]},"397":{"position":[[99,6]]},"398":{"position":[[113,6]]},"399":{"position":[[171,6]]},"401":{"position":[[560,6]]},"402":{"position":[[747,6]]},"403":{"position":[[826,6]]},"404":{"position":[[810,6]]},"405":{"position":[[544,6]]},"406":{"position":[[411,6]]},"407":{"position":[[557,6]]},"409":{"position":[[434,6]]},"410":{"position":[[811,6]]},"411":{"position":[[708,6]]},"412":{"position":[[436,6]]},"413":{"position":[[434,6]]},"414":{"position":[[431,6]]},"415":{"position":[[400,6]]},"416":{"position":[[402,6]]},"417":{"position":[[780,6]]},"418":{"position":[[537,6]]},"419":{"position":[[571,6]]},"420":{"position":[[555,6]]},"421":{"position":[[364,6]]},"422":{"position":[[554,6]]},"423":{"position":[[696,6]]},"424":{"position":[[427,6]]},"425":{"position":[[326,6]]},"426":{"position":[[288,6]]},"427":{"position":[[639,6]]},"429":{"position":[[1734,6]]},"430":{"position":[[212,6]]},"431":{"position":[[301,6]]},"432":{"position":[[229,6]]},"434":{"position":[[310,6]]},"435":{"position":[[236,6]]},"436":{"position":[[229,6]]},"439":{"position":[[346,6]]},"440":{"position":[[578,6]]},"441":{"position":[[339,6]]},"442":{"position":[[892,6]]},"443":{"position":[[434,6]]},"444":{"position":[[736,6]]},"445":{"position":[[213,6]]}},"keywords":{}}],["useless",{"_index":4183,"title":{},"content":{"476":{"position":[[1737,7]]}},"keywords":{}}],["user",{"_index":64,"title":{"466":{"position":[[14,6]]},"495":{"position":[[0,4]]},"496":{"position":[[29,4]]},"622":{"position":[[11,4]]},"633":{"position":[[29,5]]}},"content":{"2":{"position":[[616,5]]},"24":{"position":[[624,5]]},"36":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6233,4],[6864,4],[7928,4],[8667,4],[8893,4],[10530,4],[10689,4],[10777,4],[10863,4]]},"42":{"position":[[45,4]]},"44":{"position":[[1102,5],[1636,5]]},"46":{"position":[[749,4]]},"56":{"position":[[577,5]]},"69":{"position":[[406,6]]},"87":{"position":[[82,4]]},"112":{"position":[[400,4]]},"121":{"position":[[119,4],[221,4],[314,5]]},"131":{"position":[[100,4],[226,4]]},"202":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6233,4],[6864,4],[7928,4],[8667,4],[8893,4]]},"213":{"position":[[55,4]]},"229":{"position":[[718,4]]},"237":{"position":[[90,5],[411,4]]},"245":{"position":[[150,4],[322,4]]},"253":{"position":[[1731,4],[1781,4],[1861,4],[1890,4]]},"257":{"position":[[833,5]]},"267":{"position":[[633,4],[661,4],[1990,4],[2222,4],[3382,5],[3392,4],[4748,5],[4758,4],[5441,5],[5451,4],[6564,5],[6574,4]]},"275":{"position":[[64,4]]},"289":{"position":[[178,5]]},"292":{"position":[[1162,4],[1235,4]]},"298":{"position":[[707,5]]},"299":{"position":[[156,4],[271,4]]},"303":{"position":[[90,4],[230,4],[1907,4]]},"304":{"position":[[308,5],[366,4],[384,4],[473,4],[5969,4],[6565,4],[6778,4]]},"306":{"position":[[339,4]]},"310":{"position":[[30,4]]},"320":{"position":[[1641,4]]},"324":{"position":[[778,4],[2467,4],[3438,5],[3470,5]]},"325":{"position":[[469,5],[501,5]]},"331":{"position":[[598,4]]},"334":{"position":[[115,4]]},"341":{"position":[[247,4]]},"347":{"position":[[2364,5]]},"350":{"position":[[1308,4],[1472,4]]},"359":{"position":[[72,5],[331,5],[442,5],[646,5],[1032,6],[1300,6]]},"361":{"position":[[236,6]]},"362":{"position":[[174,4]]},"363":{"position":[[454,5],[554,4]]},"364":{"position":[[878,5]]},"428":{"position":[[57,5]]},"435":{"position":[[38,4]]},"457":{"position":[[163,4]]},"459":{"position":[[165,6]]},"467":{"position":[[174,4],[1470,5]]},"468":{"position":[[12,5]]},"469":{"position":[[770,5]]},"476":{"position":[[4023,4]]},"482":{"position":[[356,5],[453,5],[1451,6]]},"492":{"position":[[219,4]]},"493":{"position":[[367,5]]},"495":{"position":[[60,4],[94,4],[408,4],[1056,4],[1123,5],[1198,4],[1229,4],[1322,4],[1378,4]]},"496":{"position":[[114,4],[223,4]]},"505":{"position":[[1120,5]]},"510":{"position":[[79,4]]},"517":{"position":[[535,4]]},"525":{"position":[[101,4]]},"528":{"position":[[8,4]]},"534":{"position":[[44,4],[176,5]]},"540":{"position":[[255,5],[390,5],[673,4]]},"548":{"position":[[51,4],[144,4],[166,4]]},"577":{"position":[[247,4],[846,4]]},"606":{"position":[[394,5]]},"612":{"position":[[298,4],[332,4],[1261,4],[1295,4]]},"617":{"position":[[1293,4]]},"622":{"position":[[25,4]]},"623":{"position":[[13,4],[45,4],[146,4],[375,4]]},"624":{"position":[[13,4],[45,4],[107,4],[341,4]]},"627":{"position":[[129,4],[519,4]]},"632":{"position":[[84,4]]},"633":{"position":[[26,4]]},"634":{"position":[[27,4],[187,4]]},"655":{"position":[[25,4]]},"675":{"position":[[12,4],[277,4]]},"680":{"position":[[25,4]]},"681":{"position":[[239,4]]},"708":{"position":[[25,4]]},"719":{"position":[[25,4]]},"729":{"position":[[25,4]]},"735":{"position":[[25,4]]},"738":{"position":[[25,4]]},"746":{"position":[[190,5]]},"747":{"position":[[25,4]]},"755":{"position":[[25,4]]},"764":{"position":[[13,4]]}},"keywords":{}}],["user'",{"_index":2114,"title":{},"content":{"198":{"position":[[184,6]]},"259":{"position":[[210,6]]}},"keywords":{}}],["user=root",{"_index":2523,"title":{},"content":{"253":{"position":[[1921,9]]}},"keywords":{}}],["usermod",{"_index":3353,"title":{},"content":{"347":{"position":[[2345,7]]}},"keywords":{}}],["usernam",{"_index":948,"title":{},"content":{"43":{"position":[[123,8],[372,8]]},"136":{"position":[[601,8],[623,8]]},"181":{"position":[[501,8]]},"242":{"position":[[209,9]]},"325":{"position":[[133,8]]},"347":{"position":[[1055,8],[1090,8],[1107,9]]}},"keywords":{}}],["username=operator&password=operator&client_id=api&grant_type=password&scope=openid",{"_index":956,"title":{},"content":{"43":{"position":[[486,100]]}},"keywords":{}}],["usr/bin/dock",{"_index":3166,"title":{},"content":{"324":{"position":[[1953,15]]}},"keywords":{}}],["usr/local/bin/dock",{"_index":3163,"title":{},"content":{"324":{"position":[[1838,21],[1882,21],[1923,21]]}},"keywords":{}}],["usr/share/containers/containers.conf",{"_index":3174,"title":{},"content":{"324":{"position":[[2220,37]]}},"keywords":{}}],["usr/share/elasticsearch/bin/elasticsearch",{"_index":3403,"title":{},"content":{"351":{"position":[[533,42]]}},"keywords":{}}],["usual",{"_index":1389,"title":{},"content":{"63":{"position":[[522,7]]},"87":{"position":[[108,8]]},"485":{"position":[[440,7]]},"548":{"position":[[531,7]]},"658":{"position":[[682,10]]},"681":{"position":[[311,7]]},"682":{"position":[[205,7]]},"683":{"position":[[301,7]]},"684":{"position":[[181,7]]}},"keywords":{}}],["utc",{"_index":2856,"title":{},"content":{"299":{"position":[[1065,3]]}},"keywords":{}}],["utf",{"_index":2169,"title":{},"content":{"216":{"position":[[234,3]]},"217":{"position":[[239,3]]}},"keywords":{}}],["util",{"_index":1332,"title":{},"content":{"59":{"position":[[281,7]]},"83":{"position":[[102,7]]},"167":{"position":[[23,11]]},"240":{"position":[[539,8]]},"245":{"position":[[379,8],[522,8],[573,8]]},"246":{"position":[[46,7]]},"247":{"position":[[195,8]]},"290":{"position":[[386,4],[794,4]]},"292":{"position":[[1116,5],[1450,5]]},"357":{"position":[[261,9],[2428,11]]},"516":{"position":[[263,7]]},"588":{"position":[[137,7]]},"753":{"position":[[31,8]]}},"keywords":{}}],["ux",{"_index":2476,"title":{"247":{"position":[[6,3]]}},"content":{"247":{"position":[[38,2]]},"424":{"position":[[146,2]]}},"keywords":{}}],["v3",{"_index":1874,"title":{},"content":{"108":{"position":[[64,2]]}},"keywords":{}}],["v4",{"_index":4630,"title":{"621":{"position":[[22,2]]}},"content":{},"keywords":{}}],["v5",{"_index":2984,"title":{"620":{"position":[[22,2]]},"621":{"position":[[28,3]]}},"content":{"313":{"position":[[71,2]]},"357":{"position":[[71,2]]}},"keywords":{}}],["v5.5.0",{"_index":2525,"title":{},"content":{"253":{"position":[[2013,7]]}},"keywords":{}}],["v6",{"_index":4625,"title":{"620":{"position":[[28,3]]}},"content":{"620":{"position":[[57,3]]}},"keywords":{}}],["vacuum",{"_index":2668,"title":{},"content":{"267":{"position":[[8413,6]]},"482":{"position":[[841,6]]}},"keywords":{}}],["vagu",{"_index":4279,"title":{},"content":{"486":{"position":[[239,6]]}},"keywords":{}}],["val",{"_index":3063,"title":{},"content":{"321":{"position":[[374,3],[382,3],[391,3]]}},"keywords":{}}],["valid",{"_index":151,"title":{"224":{"position":[[0,10]]}},"content":{"5":{"position":[[339,9],[474,5],[915,5]]},"11":{"position":[[328,5]]},"33":{"position":[[225,5],[420,5]]},"35":{"position":[[688,5],[1365,5],[1857,5]]},"36":{"position":[[3382,5],[10366,5]]},"37":{"position":[[481,5],[1158,5],[1650,5]]},"76":{"position":[[322,6]]},"77":{"position":[[321,6]]},"78":{"position":[[320,6]]},"99":{"position":[[756,5]]},"123":{"position":[[731,5]]},"134":{"position":[[475,5]]},"143":{"position":[[521,5]]},"188":{"position":[[329,5]]},"191":{"position":[[224,5]]},"199":{"position":[[385,5]]},"201":{"position":[[717,5],[1394,5],[1886,5]]},"202":{"position":[[3382,5],[10366,5]]},"203":{"position":[[500,5],[1177,5],[1669,5]]},"204":{"position":[[887,5],[1538,5],[2030,5]]},"205":{"position":[[723,5],[1374,5],[1866,5]]},"206":{"position":[[483,5],[886,5]]},"207":{"position":[[266,5],[669,5]]},"224":{"position":[[27,9],[59,9],[86,8],[511,9],[561,9],[1045,9]]},"264":{"position":[[402,5]]},"266":{"position":[[720,5],[1000,5]]},"267":{"position":[[2518,5],[7380,5],[8875,5]]},"268":{"position":[[512,5],[792,5]]},"269":{"position":[[729,5],[1094,5]]},"270":{"position":[[398,5],[763,5]]},"271":{"position":[[476,5],[879,5]]},"272":{"position":[[268,5],[671,5]]},"373":{"position":[[84,5]]},"383":{"position":[[84,5]]},"401":{"position":[[493,5]]},"402":{"position":[[680,5]]},"403":{"position":[[665,5]]},"404":{"position":[[229,5],[754,5]]},"405":{"position":[[477,5]]},"406":{"position":[[250,5]]},"407":{"position":[[396,5]]},"408":{"position":[[270,5]]},"409":{"position":[[273,5]]},"410":{"position":[[547,5]]},"411":{"position":[[537,5]]},"412":{"position":[[266,5]]},"413":{"position":[[264,5]]},"414":{"position":[[250,5]]},"415":{"position":[[239,5]]},"416":{"position":[[242,5]]},"417":{"position":[[516,5]]},"418":{"position":[[236,5],[330,5],[486,5],[963,5],[1057,5],[1213,5]]},"419":{"position":[[270,5],[364,5],[520,5],[1016,5],[1110,5],[1266,5]]},"420":{"position":[[254,5],[348,5],[504,5],[988,5],[1082,5],[1238,5]]},"422":{"position":[[487,5]]},"423":{"position":[[526,5]]},"424":{"position":[[166,5]]},"425":{"position":[[282,5]]},"427":{"position":[[478,5]]},"440":{"position":[[511,5]]},"442":{"position":[[441,5]]},"444":{"position":[[669,5]]},"467":{"position":[[285,5]]},"495":{"position":[[200,8]]},"546":{"position":[[192,11]]},"548":{"position":[[327,10],[357,9],[384,10],[446,8],[640,9]]},"658":{"position":[[411,5],[629,5]]}},"keywords":{}}],["valu",{"_index":52,"title":{"427":{"position":[[0,6]]},"498":{"position":[[24,5]]}},"content":{"2":{"position":[[400,5]]},"5":{"position":[[480,7],[921,7],[1196,6]]},"6":{"position":[[547,5],[686,5]]},"11":{"position":[[334,7]]},"33":{"position":[[231,7],[412,7],[426,7]]},"35":{"position":[[400,6],[524,6],[694,7],[862,5],[884,5],[922,5],[944,5],[982,5],[996,5],[1129,6],[1371,7],[1513,5],[1527,5],[1660,6],[1863,7]]},"36":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6212,5],[6377,6],[6455,5],[6843,5],[7014,6],[7173,6],[7251,5],[7524,6],[7611,6],[7711,6],[7907,5],[8084,7],[8109,5],[8332,6],[8598,6],[8681,7],[8907,6],[8966,6],[9281,6],[9314,5],[9501,5],[9667,5],[9749,5],[9826,6],[9904,5],[10009,5],[10053,5],[10151,5],[10226,6],[10303,6],[10372,7]]},"37":{"position":[[193,6],[317,6],[487,7],[655,5],[677,5],[715,5],[737,5],[775,5],[789,5],[922,6],[1164,7],[1306,5],[1320,5],[1453,6],[1656,7]]},"39":{"position":[[17,6],[248,6],[263,5],[277,5]]},"57":{"position":[[296,5],[344,5],[455,5]]},"61":{"position":[[874,5],[975,5],[1028,6],[1046,5],[1298,5],[1381,5],[2314,5],[2609,5],[3200,5],[3353,5],[3403,6]]},"64":{"position":[[630,5]]},"67":{"position":[[187,5],[879,5],[1064,5],[1208,5]]},"69":{"position":[[232,6],[485,6]]},"83":{"position":[[1850,7]]},"93":{"position":[[765,7]]},"94":{"position":[[140,5],[211,5],[294,5],[378,5],[979,5],[1049,5]]},"99":{"position":[[4450,7],[4463,5]]},"121":{"position":[[788,5],[802,5]]},"123":{"position":[[737,7]]},"134":{"position":[[481,7]]},"136":{"position":[[122,5],[481,5]]},"137":{"position":[[133,5],[160,5]]},"143":{"position":[[527,7]]},"173":{"position":[[117,5],[144,5]]},"179":{"position":[[355,6]]},"188":{"position":[[335,7]]},"191":{"position":[[230,7]]},"192":{"position":[[250,6]]},"199":{"position":[[391,7]]},"201":{"position":[[429,6],[553,6],[723,7],[891,5],[913,5],[951,5],[973,5],[1011,5],[1025,5],[1158,6],[1400,7],[1542,5],[1556,5],[1689,6],[1892,7],[2100,5]]},"202":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6212,5],[6377,6],[6455,5],[6843,5],[7014,6],[7173,6],[7251,5],[7524,6],[7611,6],[7711,6],[7907,5],[8084,7],[8109,5],[8332,6],[8598,6],[8681,7],[8907,6],[8966,6],[9281,6],[9314,5],[9501,5],[9667,5],[9749,5],[9826,6],[9904,5],[10009,5],[10053,5],[10151,5],[10226,6],[10303,6],[10372,7]]},"203":{"position":[[212,6],[336,6],[506,7],[674,5],[696,5],[734,5],[756,5],[794,5],[808,5],[941,6],[1183,7],[1325,5],[1339,5],[1472,6],[1675,7],[1837,5]]},"204":{"position":[[599,6],[723,6],[893,7],[1061,5],[1083,5],[1121,5],[1143,5],[1176,5],[1197,5],[1255,5],[1544,7],[1686,5],[1700,5],[1833,6],[2036,7]]},"205":{"position":[[435,6],[559,6],[729,7],[897,5],[919,5],[957,5],[979,5],[1012,5],[1033,5],[1091,5],[1380,7],[1522,5],[1536,5],[1669,6],[1872,7]]},"206":{"position":[[489,7],[604,6],[724,6],[892,7]]},"207":{"position":[[272,7],[387,6],[507,6],[675,7]]},"208":{"position":[[165,6]]},"213":{"position":[[302,6],[321,6]]},"215":{"position":[[62,6],[131,6]]},"216":{"position":[[89,6],[180,6]]},"217":{"position":[[87,6],[176,6]]},"227":{"position":[[2795,6],[3155,5],[3802,6],[4073,5],[4150,5],[5615,5]]},"230":{"position":[[2341,6]]},"232":{"position":[[791,7],[1075,5]]},"233":{"position":[[1292,5]]},"234":{"position":[[740,6]]},"242":{"position":[[152,5]]},"253":{"position":[[2931,5],[3650,5],[3672,5],[3698,5],[3802,5],[3858,5],[3880,5],[3909,5],[4033,5],[4068,5],[4109,5],[4131,5],[4179,5],[4271,6],[4309,5],[4345,5],[4505,5],[4572,6],[4906,5],[5314,5],[5496,5]]},"254":{"position":[[1159,5],[1179,5],[1268,5],[1278,5],[1529,5],[2527,5],[2537,5]]},"259":{"position":[[1218,5]]},"262":{"position":[[774,6]]},"263":{"position":[[749,5]]},"264":{"position":[[408,7]]},"266":{"position":[[427,6],[551,6],[726,7],[1006,7]]},"267":{"position":[[209,5],[908,6],[927,6],[1368,5],[1824,5],[1881,6],[1968,5],[2246,5],[2280,6],[2316,7],[2386,5],[2412,5],[2457,6],[2524,7],[2689,6],[3322,5],[3446,5],[3806,6],[4181,5],[4506,6],[4537,5],[4688,5],[4812,5],[4916,6],[4994,5],[5381,5],[5505,5],[5615,6],[5774,6],[5852,5],[6124,6],[6210,6],[6309,6],[6504,5],[6628,5],[6744,7],[6769,5],[6991,6],[7374,5],[7386,7],[7473,5],[7564,6],[7597,5],[7762,5],[8262,6],[8881,7],[8943,5],[8979,5],[9061,5],[9097,6],[9220,5],[9259,6],[9378,5],[9417,5],[9717,5],[9756,6],[10104,5],[10140,6]]},"268":{"position":[[219,6],[343,6],[518,7],[798,7]]},"269":{"position":[[550,6],[674,6],[735,7],[783,5],[793,5],[1100,7]]},"270":{"position":[[219,6],[343,6],[404,7],[452,5],[462,5],[769,7]]},"271":{"position":[[482,7],[597,6],[717,6],[885,7]]},"272":{"position":[[274,7],[389,6],[509,6],[677,7]]},"273":{"position":[[164,6]]},"275":{"position":[[311,6],[330,6]]},"279":{"position":[[62,6],[131,6]]},"289":{"position":[[1412,5]]},"291":{"position":[[1453,5]]},"298":{"position":[[491,5]]},"300":{"position":[[550,5]]},"303":{"position":[[904,6],[971,5],[1073,5],[1133,5],[1559,6],[1600,6],[1642,6]]},"305":{"position":[[132,5],[916,6],[1472,5],[1580,5],[1603,6]]},"308":{"position":[[489,5],[605,5]]},"331":{"position":[[399,6]]},"338":{"position":[[1670,6]]},"371":{"position":[[16,6],[204,5]]},"373":{"position":[[220,5],[451,5]]},"379":{"position":[[111,5],[234,5],[251,5],[268,5],[280,5],[297,5],[314,5],[325,5],[342,5]]},"380":{"position":[[105,5],[228,5],[245,5],[262,5],[274,5],[291,5],[308,5],[319,5],[336,5]]},"381":{"position":[[116,5],[239,5],[256,5],[273,5],[285,5],[302,5],[319,5],[330,5],[347,5]]},"382":{"position":[[36,5],[121,5],[131,5]]},"383":{"position":[[220,5],[451,5]]},"384":{"position":[[212,6]]},"396":{"position":[[121,5]]},"400":{"position":[[51,7],[266,5]]},"401":{"position":[[426,5],[453,5],[499,7]]},"402":{"position":[[613,5],[640,5],[686,7]]},"403":{"position":[[33,5],[209,5],[271,5],[303,5],[598,5],[625,5],[671,7],[786,5]]},"404":{"position":[[162,5],[189,5],[235,7],[760,7],[1019,5],[1082,6],[1111,5]]},"405":{"position":[[202,5],[287,5],[410,5],[437,5],[483,7]]},"406":{"position":[[51,5],[183,5],[210,5],[256,7],[371,5]]},"407":{"position":[[59,5],[329,5],[356,5],[402,7],[517,5]]},"408":{"position":[[49,5],[203,5],[230,5],[276,7],[391,5]]},"409":{"position":[[49,5],[206,5],[233,5],[279,7],[394,5]]},"410":{"position":[[49,5],[206,5],[220,5],[293,5],[345,5],[359,5],[432,5],[480,5],[507,5],[553,7],[668,5]]},"411":{"position":[[55,6],[119,6],[148,6],[470,5],[497,5],[543,7],[951,5],[1014,6],[1043,5]]},"412":{"position":[[28,5],[199,5],[226,5],[272,7]]},"413":{"position":[[28,5],[197,5],[224,5],[270,7]]},"414":{"position":[[183,5],[210,5],[256,7]]},"415":{"position":[[18,5],[172,5],[199,5],[245,7],[360,5]]},"416":{"position":[[18,5],[175,5],[202,5],[248,7],[363,5]]},"417":{"position":[[18,5],[175,5],[189,5],[262,5],[314,5],[328,5],[401,5],[449,5],[476,5],[522,7],[637,5]]},"418":{"position":[[169,5],[196,5],[242,7],[336,7],[492,7],[896,5],[923,5],[969,7],[1063,7],[1219,7]]},"419":{"position":[[203,5],[230,5],[276,7],[370,7],[526,7],[949,5],[976,5],[1022,7],[1116,7],[1272,7]]},"420":{"position":[[187,5],[214,5],[260,7],[354,7],[510,7],[921,5],[948,5],[994,7],[1088,7],[1244,7]]},"421":{"position":[[185,5]]},"422":{"position":[[206,5],[295,5],[420,5],[447,5],[493,7]]},"423":{"position":[[49,5],[185,5],[199,5],[272,5],[324,5],[338,5],[411,5],[459,5],[486,5],[532,7]]},"425":{"position":[[82,5],[215,5],[242,5],[288,7],[417,6],[529,5],[562,5],[606,5],[650,5]]},"427":{"position":[[38,5],[100,5],[162,5],[194,5],[411,5],[438,5],[484,7],[599,5],[647,5],[691,5]]},"429":{"position":[[200,6],[271,6],[1235,5],[1567,9]]},"440":{"position":[[16,5],[444,5],[471,5],[517,7]]},"442":{"position":[[63,5],[90,6],[397,5],[424,5],[447,7],[1294,5],[1346,5]]},"444":{"position":[[104,5],[603,5],[630,5],[675,7],[1198,5],[1262,5]]},"476":{"position":[[694,6],[786,6]]},"480":{"position":[[455,6],[1266,6]]},"490":{"position":[[546,5]]},"495":{"position":[[138,6],[213,5],[1416,6]]},"496":{"position":[[209,5],[245,7],[409,5],[558,5]]},"498":{"position":[[120,5],[335,5],[389,5],[442,5],[496,5],[549,5],[614,5]]},"499":{"position":[[55,5],[173,5]]},"500":{"position":[[274,5]]},"501":{"position":[[483,6],[826,5]]},"504":{"position":[[540,5],[620,5],[650,5],[885,6]]},"507":{"position":[[34,6],[152,6],[202,6],[360,6]]},"513":{"position":[[466,6]]},"525":{"position":[[600,5]]},"532":{"position":[[60,6]]},"533":{"position":[[414,5],[572,6]]},"534":{"position":[[281,6]]},"544":{"position":[[171,8],[306,6]]},"568":{"position":[[97,6]]},"577":{"position":[[903,6]]},"578":{"position":[[137,6],[223,5],[643,5]]},"583":{"position":[[294,6]]},"599":{"position":[[1122,6],[1187,6],[1237,6]]},"618":{"position":[[46,6],[278,5]]},"622":{"position":[[39,6]]},"623":{"position":[[492,5],[532,6],[668,5],[710,5],[736,5],[766,5],[889,5],[931,5],[957,5],[987,5]]},"624":{"position":[[458,5],[498,6],[716,5],[980,5]]},"627":{"position":[[599,5],[671,5],[752,5],[827,5],[914,5],[986,5],[1067,5],[1143,6]]},"636":{"position":[[1027,5],[1033,5],[1065,6],[1188,5]]},"637":{"position":[[1249,5],[1255,5],[1287,6],[1410,5]]},"638":{"position":[[1270,5],[1276,5],[1308,6],[1431,5]]},"639":{"position":[[1303,5],[1309,5],[1341,6],[1464,5]]},"640":{"position":[[1103,5],[1109,5],[1141,6],[1264,5]]},"641":{"position":[[1320,5],[1326,5],[1358,6],[1481,5]]},"642":{"position":[[1341,5],[1347,5],[1379,6],[1502,5]]},"643":{"position":[[1374,5],[1380,5],[1412,6],[1535,5]]},"644":{"position":[[372,6]]},"649":{"position":[[1486,9],[1511,9]]},"652":{"position":[[17,5],[533,5],[544,5],[661,5],[751,5],[787,5]]},"657":{"position":[[55,5],[587,5],[602,5],[669,6]]},"660":{"position":[[562,5],[615,5],[694,5],[751,5],[814,5],[990,5],[1043,5],[1122,5],[1179,5],[1242,5]]},"662":{"position":[[20,7],[96,5]]},"663":{"position":[[13,6],[178,5],[203,5],[270,7],[467,6]]},"669":{"position":[[23,5],[71,5],[299,6],[559,5],[565,5],[583,5]]},"670":{"position":[[372,5],[384,5],[454,6]]},"671":{"position":[[20,5],[89,5],[426,5],[432,5]]},"673":{"position":[[50,6],[105,5],[163,6],[1467,8],[1587,8],[1707,8],[1830,8]]},"682":{"position":[[114,5],[743,5],[758,5],[825,6]]},"685":{"position":[[91,5]]},"686":{"position":[[108,5],[642,5],[657,5],[724,6]]},"700":{"position":[[765,5],[782,5],[870,5],[887,5],[1005,5],[1022,5],[1132,5],[1149,5],[1216,5],[1324,6],[1366,5],[1474,6]]},"707":{"position":[[52,5]]},"715":{"position":[[54,5]]},"724":{"position":[[51,5]]},"729":{"position":[[121,5]]},"730":{"position":[[174,5],[180,5]]},"762":{"position":[[163,5],[398,7],[436,7],[506,7],[539,7]]},"763":{"position":[[166,5],[418,7],[473,7]]},"764":{"position":[[43,6]]},"767":{"position":[[57,7]]},"769":{"position":[[24,6],[310,5],[324,5]]},"773":{"position":[[156,6]]}},"keywords":{}}],["value>",{"_index":4816,"title":{},"content":{"636":{"position":[[134,10],[180,10],[318,10],[374,10],[499,10],[545,10],[679,10],[730,10]]},"637":{"position":[[311,10],[357,10],[510,10],[566,10],[706,10],[752,10],[901,10],[952,10]]},"638":{"position":[[320,10],[366,10],[523,10],[579,10],[723,10],[769,10],[922,10],[973,10]]},"639":{"position":[[380,10],[426,10],[574,10],[630,10],[765,10],[811,10],[955,10],[1006,10]]},"640":{"position":[[166,10],[212,10],[362,10],[426,10],[555,10],[601,10],[747,10],[806,10]]},"641":{"position":[[338,10],[384,10],[549,10],[613,10],[757,10],[803,10],[964,10],[1023,10]]},"642":{"position":[[347,10],[393,10],[562,10],[626,10],[774,10],[820,10],[985,10],[1044,10]]},"643":{"position":[[407,10],[453,10],[613,10],[677,10],[816,10],[862,10],[1018,10],[1077,10]]},"657":{"position":[[369,10]]},"682":{"position":[[462,10]]},"686":{"position":[[368,10]]},"730":{"position":[[95,10]]},"769":{"position":[[225,10]]}},"keywords":{}}],["value<",{"_index":212,"title":{},"content":{"6":{"position":[[373,11]]}},"keywords":{}}],["value"",{"_index":2131,"title":{},"content":{"201":{"position":[[2078,11]]},"254":{"position":[[1322,12],[1563,11],[2581,12]]},"623":{"position":[[792,12],[1013,12]]},"624":{"position":[[780,12],[1044,12]]}},"keywords":{}}],["value(",{"_index":2078,"title":{},"content":{"179":{"position":[[334,8]]},"372":{"position":[[265,8]]},"373":{"position":[[750,8]]},"383":{"position":[[709,8]]}},"keywords":{}}],["value(d,h,m,",{"_index":3862,"title":{},"content":{"418":{"position":[[1523,15]]},"419":{"position":[[1576,15]]},"420":{"position":[[1548,15]]}},"keywords":{}}],["value1",{"_index":228,"title":{},"content":{"6":{"position":[[830,6]]},"404":{"position":[[839,6]]},"670":{"position":[[621,9],[731,10]]}},"keywords":{}}],["value2",{"_index":229,"title":{},"content":{"6":{"position":[[885,6]]},"670":{"position":[[642,8],[747,9]]}},"keywords":{}}],["value3",{"_index":231,"title":{},"content":{"6":{"position":[[940,6]]},"411":{"position":[[228,6]]},"429":{"position":[[1015,8]]}},"keywords":{}}],["value4",{"_index":233,"title":{},"content":{"6":{"position":[[995,6]]}},"keywords":{}}],["value5",{"_index":235,"title":{},"content":{"6":{"position":[[1050,6]]},"411":{"position":[[732,6]]}},"keywords":{}}],["value_eq",{"_index":3988,"title":{},"content":{"444":{"position":[[897,8],[922,8],[1006,8],[1039,8],[1166,9]]}},"keywords":{}}],["value_typ",{"_index":5093,"title":{},"content":{"673":{"position":[[1446,13],[1560,13],[1680,13],[1802,13]]}},"keywords":{}}],["valueadd",{"_index":4484,"title":{},"content":{"553":{"position":[[38,8]]}},"keywords":{}}],["valuelimitsbar",{"_index":3855,"title":{"415":{"position":[[0,15]]}},"content":{"415":{"position":[[408,14],[461,14]]}},"keywords":{}}],["valuelimitscolumn",{"_index":3856,"title":{"416":{"position":[[0,18]]}},"content":{"416":{"position":[[410,17],[466,17]]}},"keywords":{}}],["valuerangebar",{"_index":3857,"title":{"417":{"position":[[0,14]]}},"content":{"417":{"position":[[788,13],[850,13]]}},"keywords":{}}],["values[0][0",{"_index":4419,"title":{},"content":{"507":{"position":[[395,12]]}},"keywords":{}}],["valuesonli",{"_index":4486,"title":{},"content":{"553":{"position":[[103,10]]}},"keywords":{}}],["valuesperform",{"_index":4582,"title":{},"content":{"606":{"position":[[112,13]]}},"keywords":{}}],["var",{"_index":2264,"title":{},"content":{"227":{"position":[[2377,3],[3394,3]]},"429":{"position":[[1559,7],[1957,4]]},"431":{"position":[[332,4]]},"432":{"position":[[257,4]]},"435":{"position":[[319,4]]},"436":{"position":[[257,4]]},"613":{"position":[[222,3]]}},"keywords":{}}],["var/lib/apt/list",{"_index":3017,"title":{},"content":{"318":{"position":[[358,20]]}},"keywords":{}}],["vari",{"_index":791,"title":{},"content":{"36":{"position":[[6473,4],[7269,4]]},"42":{"position":[[722,5]]},"43":{"position":[[6463,5]]},"202":{"position":[[6473,4],[7269,4]]},"227":{"position":[[5206,7]]},"261":{"position":[[251,4]]},"267":{"position":[[5012,4],[5870,4]]},"355":{"position":[[202,4]]},"395":{"position":[[122,4]]},"559":{"position":[[285,6]]}},"keywords":{}}],["variabl",{"_index":196,"title":{"121":{"position":[[0,9]]},"261":{"position":[[0,8]]},"500":{"position":[[6,9]]}},"content":{"6":{"position":[[106,9],[560,8]]},"7":{"position":[[1035,8]]},"71":{"position":[[673,8]]},"83":{"position":[[1772,10]]},"85":{"position":[[988,9]]},"90":{"position":[[115,8]]},"99":{"position":[[1133,8],[1512,8],[2000,8],[3647,8],[3764,8],[4271,8],[5157,8]]},"112":{"position":[[633,9]]},"120":{"position":[[120,9]]},"121":{"position":[[23,8],[52,8],[79,8],[161,9],[275,9],[441,9],[566,9],[609,9],[766,8],[815,8]]},"122":{"position":[[90,8]]},"136":{"position":[[236,9],[351,8],[385,8]]},"137":{"position":[[36,8],[114,8],[151,8]]},"173":{"position":[[21,8],[98,8],[135,8]]},"181":{"position":[[196,9],[311,8],[345,8]]},"230":{"position":[[2535,8]]},"237":{"position":[[358,10]]},"241":{"position":[[389,9]]},"242":{"position":[[79,9]]},"253":{"position":[[1382,8],[6462,9],[6574,8],[6977,8],[7359,9],[7444,9],[8272,9],[8385,9]]},"254":{"position":[[2260,9]]},"257":{"position":[[1738,9]]},"261":{"position":[[20,8],[157,8],[337,8]]},"267":{"position":[[10674,8]]},"276":{"position":[[327,8]]},"291":{"position":[[321,9],[1197,9],[1333,9],[1375,9]]},"304":{"position":[[6679,8]]},"307":{"position":[[740,8],[839,8],[936,8]]},"320":{"position":[[768,8],[790,8],[812,8],[834,8]]},"322":{"position":[[1055,8]]},"337":{"position":[[152,8]]},"338":{"position":[[135,9],[459,8],[513,8],[554,8],[610,8],[656,8],[693,8],[736,8],[795,8],[857,8],[943,8],[1112,8],[1644,8],[1680,9]]},"339":{"position":[[224,9],[270,8],[421,9],[467,8]]},"429":{"position":[[1489,10],[2167,8]]},"476":{"position":[[532,9],[685,8],[777,8],[866,8],[1389,8],[4598,9],[4737,8]]},"490":{"position":[[194,10],[449,9],[515,8],[559,8],[606,9]]},"491":{"position":[[202,9]]},"496":{"position":[[476,8],[1080,8]]},"500":{"position":[[97,9]]},"501":{"position":[[207,9]]},"505":{"position":[[746,9],[1201,8]]},"608":{"position":[[288,9],[368,10],[641,9],[721,10]]},"612":{"position":[[977,8],[1208,8]]},"613":{"position":[[121,9],[202,9]]},"658":{"position":[[456,8],[479,8],[654,8]]}},"keywords":{}}],["variable1=value1",{"_index":3271,"title":{},"content":{"339":{"position":[[89,18],[321,18]]}},"keywords":{}}],["variable2=value2",{"_index":3272,"title":{},"content":{"339":{"position":[[108,18],[340,18]]}},"keywords":{}}],["variable_bit_s",{"_index":691,"title":{},"content":{"36":{"position":[[1548,18]]},"202":{"position":[[1548,18]]},"267":{"position":[[1543,18]]}},"keywords":{}}],["variable_nam",{"_index":4324,"title":{},"content":{"490":{"position":[[590,13],[657,13]]}},"keywords":{}}],["variablesshow",{"_index":4580,"title":{},"content":{"606":{"position":[[56,13]]}},"keywords":{}}],["variat",{"_index":2553,"title":{},"content":{"253":{"position":[[6486,9]]},"480":{"position":[[1236,9]]}},"keywords":{}}],["varieti",{"_index":3460,"title":{},"content":{"356":{"position":[[578,7]]}},"keywords":{}}],["variou",{"_index":674,"title":{},"content":{"36":{"position":[[722,7]]},"46":{"position":[[135,7]]},"97":{"position":[[86,7]]},"202":{"position":[[722,7]]},"213":{"position":[[111,7]]},"227":{"position":[[1880,7]]},"235":{"position":[[1573,7]]},"243":{"position":[[349,7],[463,7]]},"267":{"position":[[717,7]]},"275":{"position":[[120,7]]},"287":{"position":[[71,7]]},"292":{"position":[[1456,7]]},"343":{"position":[[669,7]]},"344":{"position":[[157,7]]},"345":{"position":[[48,7]]},"356":{"position":[[759,7]]},"442":{"position":[[74,7]]},"517":{"position":[[351,7]]},"538":{"position":[[263,7]]},"564":{"position":[[480,7]]},"578":{"position":[[277,7]]},"747":{"position":[[41,7]]}},"keywords":{}}],["vcpu",{"_index":3469,"title":{},"content":{"357":{"position":[[77,6]]}},"keywords":{}}],["vel[x,y,z",{"_index":3480,"title":{},"content":{"357":{"position":[[636,11]]}},"keywords":{}}],["veri",{"_index":271,"title":{},"content":{"7":{"position":[[1098,4]]},"44":{"position":[[11,4]]},"59":{"position":[[252,4]]},"61":{"position":[[1930,4]]},"69":{"position":[[3562,4]]},"227":{"position":[[784,4]]},"229":{"position":[[1552,4]]},"257":{"position":[[483,4]]},"262":{"position":[[208,4]]},"304":{"position":[[664,4]]},"467":{"position":[[1009,4]]},"475":{"position":[[79,4]]},"479":{"position":[[21,4]]},"495":{"position":[[182,4]]},"593":{"position":[[748,4]]},"616":{"position":[[82,4]]},"752":{"position":[[147,4]]}},"keywords":{}}],["verif",{"_index":4970,"title":{},"content":{"656":{"position":[[12,12],[88,12]]},"657":{"position":[[86,12]]}},"keywords":{}}],["verifi",{"_index":1282,"title":{},"content":{"54":{"position":[[2354,8]]},"67":{"position":[[56,6]]},"299":{"position":[[101,6],[593,6],[710,6],[1080,6]]},"303":{"position":[[799,6],[1629,6],[1796,6],[1960,6],[2016,6],[2164,6]]},"304":{"position":[[893,8],[2244,6],[2388,6],[2512,6],[2681,6],[2801,6],[2972,6],[3084,6],[3261,6],[3454,6],[4501,6],[4918,6],[5711,6]]},"305":{"position":[[995,6],[1293,6],[1596,6]]},"306":{"position":[[439,6]]},"478":{"position":[[116,9]]},"504":{"position":[[840,6]]}},"keywords":{}}],["versa",{"_index":311,"title":{},"content":{"9":{"position":[[964,6]]}},"keywords":{}}],["version",{"_index":761,"title":{},"content":{"36":{"position":[[5170,7]]},"46":{"position":[[844,7]]},"64":{"position":[[692,7]]},"85":{"position":[[172,7]]},"88":{"position":[[37,7]]},"98":{"position":[[199,9]]},"202":{"position":[[5170,7]]},"224":{"position":[[349,7]]},"226":{"position":[[186,7],[1064,7],[1834,7]]},"229":{"position":[[1372,7]]},"242":{"position":[[181,7]]},"254":{"position":[[171,8],[234,7],[269,7],[309,10],[1773,7],[1985,8]]},"257":{"position":[[396,9]]},"267":{"position":[[3651,7]]},"285":{"position":[[156,7]]},"287":{"position":[[182,7]]},"290":{"position":[[522,7],[562,7],[820,7],[865,7]]},"292":{"position":[[677,7],[705,7],[795,7]]},"321":{"position":[[3644,10],[3683,7],[3761,8],[3794,7],[3881,8],[3913,9]]},"334":{"position":[[638,8]]},"350":{"position":[[1378,7],[1458,7]]},"357":{"position":[[4304,8],[4328,8],[4352,8],[4374,8],[4401,8],[4434,8],[4500,8]]},"461":{"position":[[1254,8]]},"483":{"position":[[1198,7]]},"667":{"position":[[644,7]]},"766":{"position":[[352,10]]},"767":{"position":[[906,10],[926,10]]}},"keywords":{}}],["version=1",{"_index":965,"title":{},"content":{"43":{"position":[[856,10],[1003,10]]}},"keywords":{}}],["version=1.0.0",{"_index":2569,"title":{},"content":{"254":{"position":[[106,13]]},"321":{"position":[[3621,13]]}},"keywords":{}}],["version=1.0.1",{"_index":2582,"title":{},"content":{"254":{"position":[[1920,13]]},"334":{"position":[[572,13]]}},"keywords":{}}],["version=x.x.x"",{"_index":2337,"title":{},"content":{"229":{"position":[[1326,19]]}},"keywords":{}}],["vertic",{"_index":3758,"title":{"386":{"position":[[0,9]]}},"content":{"381":{"position":[[441,8]]},"386":{"position":[[36,10],[73,8],[179,8],[207,8],[357,8]]},"387":{"position":[[36,10],[125,10]]},"391":{"position":[[332,8]]},"393":{"position":[[11,8]]},"399":{"position":[[179,8]]},"413":{"position":[[60,10]]},"446":{"position":[[57,8]]},"591":{"position":[[258,8]]},"601":{"position":[[362,10],[716,10]]},"745":{"position":[[511,8],[783,8]]},"746":{"position":[[971,8],[1254,8]]}},"keywords":{}}],["vertical_message_box",{"_index":4344,"title":{"626":{"position":[[0,21]]}},"content":{"495":{"position":[[1143,21]]},"627":{"position":[[18,21]]}},"keywords":{}}],["vertical_message_box("<message>"",{"_index":4744,"title":{},"content":{"627":{"position":[[294,49]]}},"keywords":{}}],["vertical_message_box("select",{"_index":4751,"title":{},"content":{"627":{"position":[[679,33],[994,33]]}},"keywords":{}}],["verticalbox",{"_index":3728,"title":{"387":{"position":[[0,12]]}},"content":{"370":{"position":[[128,11],[206,11]]},"383":{"position":[[766,11]]},"387":{"position":[[73,11],[332,11]]},"446":{"position":[[250,11],[687,11]]},"745":{"position":[[549,11],[821,11]]},"746":{"position":[[1011,11],[1294,11]]}},"keywords":{}}],["vetur",{"_index":1562,"title":{},"content":{"83":{"position":[[198,6]]}},"keywords":{}}],["vi",{"_index":3176,"title":{},"content":{"324":{"position":[[2281,2],[3194,2],[3386,2]]}},"keywords":{}}],["via",{"_index":701,"title":{},"content":{"36":{"position":[[2000,3]]},"202":{"position":[[2000,3]]},"321":{"position":[[1139,3]]},"352":{"position":[[71,3]]},"363":{"position":[[1260,3]]},"384":{"position":[[37,3]]},"527":{"position":[[509,3]]},"669":{"position":[[233,3]]}},"keywords":{}}],["vice",{"_index":310,"title":{},"content":{"9":{"position":[[959,4]]}},"keywords":{}}],["view",{"_index":1774,"title":{"571":{"position":[[0,4]]}},"content":{"95":{"position":[[555,4]]},"103":{"position":[[630,6]]},"259":{"position":[[1673,4]]},"299":{"position":[[980,4],[1238,4]]},"301":{"position":[[228,4],[490,4],[591,4],[725,4],[764,4],[883,4],[1035,4],[1074,4],[1190,4],[1635,4],[1762,4]]},"302":{"position":[[296,4],[494,4]]},"304":{"position":[[4184,7]]},"305":{"position":[[41,4],[755,4],[948,4],[1263,4],[1545,4]]},"306":{"position":[[146,5]]},"309":{"position":[[515,4]]},"311":{"position":[[441,4]]},"329":{"position":[[1544,4]]},"516":{"position":[[97,4]]},"527":{"position":[[485,6]]},"536":{"position":[[264,4]]},"539":{"position":[[130,4]]},"541":{"position":[[242,4],[321,4]]},"542":{"position":[[263,4],[351,4]]},"561":{"position":[[27,4]]},"570":{"position":[[98,5]]},"605":{"position":[[334,4],[711,4]]}},"keywords":{}}],["viewer",{"_index":359,"title":{"305":{"position":[[7,7]]},"306":{"position":[[10,7]]},"309":{"position":[[5,7]]},"560":{"position":[[5,6]]},"562":{"position":[[5,6]]},"567":{"position":[[7,6]]},"569":{"position":[[7,6]]},"587":{"position":[[10,6]]}},"content":{"14":{"position":[[150,6]]},"108":{"position":[[253,6]]},"194":{"position":[[79,6],[451,6]]},"230":{"position":[[2143,6]]},"234":{"position":[[95,6]]},"259":{"position":[[1234,6],[1248,6]]},"278":{"position":[[94,7]]},"301":{"position":[[1598,7],[1650,6]]},"305":{"position":[[8,6],[196,6],[381,6],[539,6],[719,6],[887,6],[1032,6],[1147,6],[1403,6]]},"306":{"position":[[11,6],[318,6],[403,6],[499,6]]},"309":{"position":[[6,6],[239,6],[354,6],[456,6],[551,6],[651,6]]},"328":{"position":[[1775,6]]},"366":{"position":[[396,6]]},"369":{"position":[[20,6],[270,6],[363,6]]},"542":{"position":[[366,6],[395,6]]},"561":{"position":[[6,6]]},"568":{"position":[[8,6],[35,6]]},"572":{"position":[[26,6]]},"588":{"position":[[11,6],[38,6]]},"591":{"position":[[292,7]]},"592":{"position":[[379,6]]},"621":{"position":[[185,6],[241,6],[312,6],[536,6]]},"742":{"position":[[31,6]]},"745":{"position":[[107,6]]},"746":{"position":[[125,6]]}},"keywords":{}}],["violat",{"_index":2661,"title":{},"content":{"267":{"position":[[7951,8]]},"299":{"position":[[1202,11]]},"302":{"position":[[482,11]]},"359":{"position":[[1174,9]]},"575":{"position":[[123,7]]},"578":{"position":[[85,7]]}},"keywords":{}}],["viral",{"_index":3604,"title":{},"content":{"359":{"position":[[176,5]]}},"keywords":{}}],["virtual",{"_index":2176,"title":{"222":{"position":[[0,8]]},"281":{"position":[[0,8]]}},"content":{"222":{"position":[[38,7]]},"281":{"position":[[38,7]]},"325":{"position":[[53,7]]},"357":{"position":[[115,14]]}},"keywords":{}}],["visibl",{"_index":4314,"title":{},"content":{"488":{"position":[[789,10]]},"599":{"position":[[246,7]]},"746":{"position":[[704,7],[890,7]]}},"keywords":{}}],["visit",{"_index":466,"title":{},"content":{"20":{"position":[[1527,5]]},"84":{"position":[[626,5]]},"472":{"position":[[170,5]]}},"keywords":{}}],["visual",{"_index":1554,"title":{},"content":{"83":{"position":[[40,6]]},"103":{"position":[[167,8]]},"234":{"position":[[821,13]]},"304":{"position":[[26,6]]},"321":{"position":[[3858,9]]},"329":{"position":[[1311,10]]},"332":{"position":[[1,6]]},"352":{"position":[[326,9]]},"353":{"position":[[67,13]]},"356":{"position":[[733,9]]},"476":{"position":[[3972,8]]},"522":{"position":[[10,10]]},"564":{"position":[[194,6],[320,14],[488,15]]}},"keywords":{}}],["vm.max_map_count=262144",{"_index":3172,"title":{},"content":{"324":{"position":[[2142,23]]},"347":{"position":[[2148,23]]}},"keywords":{}}],["vm.overcommit_memory=1",{"_index":3349,"title":{},"content":{"347":{"position":[[2187,22]]}},"keywords":{}}],["volum",{"_index":1932,"title":{},"content":{"122":{"position":[[307,6]]},"256":{"position":[[82,7]]},"292":{"position":[[1383,7]]},"325":{"position":[[620,6]]}},"keywords":{}}],["vpnkitmaxportidletim",{"_index":2783,"title":{},"content":{"289":{"position":[[1418,21]]}},"keywords":{}}],["vs",{"_index":2512,"title":{"476":{"position":[[5,2]]},"483":{"position":[[8,2]]},"487":{"position":[[14,2]]},"488":{"position":[[13,2],[46,2]]}},"content":{"253":{"position":[[1272,2]]},"332":{"position":[[43,2]]},"500":{"position":[[826,2]]}},"keywords":{}}],["vscode",{"_index":1566,"title":{},"content":{"83":{"position":[[269,6]]}},"keywords":{}}],["vue",{"_index":1872,"title":{},"content":{"108":{"position":[[36,3]]},"235":{"position":[[789,3],[882,4],[931,3],[1461,3]]},"246":{"position":[[388,4]]},"328":{"position":[[482,3],[1046,3],[1190,3],[1471,3]]}},"keywords":{}}],["vue.config.j",{"_index":2412,"title":{},"content":{"235":{"position":[[1447,13]]}},"keywords":{}}],["vue.j",{"_index":2395,"title":{"245":{"position":[[0,7]]}},"content":{"234":{"position":[[790,6]]},"235":{"position":[[235,7],[310,7],[1314,6]]},"245":{"position":[[71,6],[93,7],[388,6],[531,6],[582,6]]},"246":{"position":[[35,7]]},"328":{"position":[[605,6]]}},"keywords":{}}],["vuetifi",{"_index":1873,"title":{},"content":{"108":{"position":[[44,7]]},"235":{"position":[[887,8]]},"245":{"position":[[403,7],[546,7],[597,7]]},"328":{"position":[[492,7],[616,8]]}},"keywords":{}}],["w",{"_index":3171,"title":{},"content":{"324":{"position":[[2140,1]]},"347":{"position":[[2146,1],[2185,1]]}},"keywords":{}}],["w/"1e44c0878528687014e1e60a1cbebdae"",{"_index":1013,"title":{},"content":{"43":{"position":[[6416,46]]}},"keywords":{}}],["w/"e806aacfdbed0b325e7a5928e3bb5cf4"",{"_index":928,"title":{},"content":{"42":{"position":[[675,46]]}},"keywords":{}}],["wait",{"_index":874,"title":{"681":{"position":[[0,5]]}},"content":{"40":{"position":[[727,4]]},"49":{"position":[[154,4],[569,4],[638,4]]},"50":{"position":[[456,4],[525,4]]},"51":{"position":[[738,4],[811,4]]},"52":{"position":[[648,4],[717,4]]},"63":{"position":[[2584,4],[2674,4]]},"66":{"position":[[26,5],[213,4],[241,7],[314,4]]},"69":{"position":[[4993,7]]},"133":{"position":[[385,4]]},"304":{"position":[[3023,4],[3068,4],[3091,4],[4725,4]]},"324":{"position":[[3887,4]]},"347":{"position":[[1620,4],[1796,4]]},"355":{"position":[[794,4]]},"371":{"position":[[397,4]]},"496":{"position":[[335,6],[722,4],[751,4],[934,4],[965,6]]},"499":{"position":[[612,4],[782,4],[1114,4]]},"501":{"position":[[711,7],[989,7]]},"504":{"position":[[166,4],[493,4]]},"513":{"position":[[538,5]]},"514":{"position":[[11,4],[1491,7]]},"617":{"position":[[557,6]]},"621":{"position":[[5096,9]]},"634":{"position":[[36,5]]},"676":{"position":[[275,7],[498,4],[706,5],[1204,5]]},"680":{"position":[[53,4]]},"681":{"position":[[217,4],[280,4],[384,6],[422,6],[489,6],[1120,4],[1145,7],[1506,4],[1521,4],[1713,6]]},"682":{"position":[[887,4],[912,7]]},"683":{"position":[[205,4],[673,4],[698,7]]},"684":{"position":[[875,4]]},"685":{"position":[[14,4],[244,7],[732,4],[757,7]]},"686":{"position":[[226,7],[783,4],[808,7]]},"687":{"position":[[201,4],[340,7],[598,4],[623,7]]},"688":{"position":[[176,7],[528,4],[553,7],[853,4]]},"748":{"position":[[172,4]]},"758":{"position":[[123,5]]}},"keywords":{}}],["wait(<time>",{"_index":5118,"title":{},"content":{"681":{"position":[[439,18]]}},"keywords":{}}],["wait("<target",{"_index":5120,"title":{},"content":{"681":{"position":[[665,21]]}},"keywords":{}}],["wait("inst",{"_index":5126,"title":{},"content":{"681":{"position":[[1538,15],[1603,15],[1748,15],[1813,15]]}},"keywords":{}}],["wait(0.1",{"_index":5101,"title":{},"content":{"676":{"position":[[1001,9]]}},"keywords":{}}],["wait(1.5",{"_index":4376,"title":{},"content":{"499":{"position":[[949,9]]}},"keywords":{}}],["wait(5",{"_index":5127,"title":{},"content":{"681":{"position":[[1730,7]]}},"keywords":{}}],["wait_check",{"_index":2904,"title":{"685":{"position":[[0,11]]}},"content":{"304":{"position":[[1923,12]]},"478":{"position":[[228,13]]},"480":{"position":[[699,13],[780,13],[1106,15]]},"488":{"position":[[216,11]]},"504":{"position":[[103,12]]},"621":{"position":[[5163,15]]},"656":{"position":[[278,10]]},"681":{"position":[[319,10]]}},"keywords":{}}],["wait_check("#{target",{"_index":4192,"title":{},"content":{"476":{"position":[[2164,26],[2540,26]]}},"keywords":{}}],["wait_check("#{target_nam",{"_index":4381,"title":{},"content":{"500":{"position":[[423,31]]}},"keywords":{}}],["wait_check("<target",{"_index":5142,"title":{},"content":{"685":{"position":[[281,27]]}},"keywords":{}}],["wait_check("inst",{"_index":4215,"title":{},"content":{"478":{"position":[[321,21],[569,21]]},"685":{"position":[[1040,21],[1113,21],[1217,21],[1290,21]]}},"keywords":{}}],["wait_check("target",{"_index":4237,"title":{},"content":{"480":{"position":[[1468,23],[1526,23]]}},"keywords":{}}],["wait_check("tgt",{"_index":2200,"title":{},"content":{"224":{"position":[[928,20]]}},"keywords":{}}],["wait_check(f"inst",{"_index":2208,"title":{},"content":{"224":{"position":[[1383,22]]},"478":{"position":[[765,22]]}},"keywords":{}}],["wait_check(f"target",{"_index":4241,"title":{},"content":{"480":{"position":[[1748,24],[1806,24]]}},"keywords":{}}],["wait_check(f"{target",{"_index":4204,"title":{},"content":{"476":{"position":[[3080,26],[3450,26]]}},"keywords":{}}],["wait_check(f"{target_nam",{"_index":4384,"title":{},"content":{"500":{"position":[[602,31]]}},"keywords":{}}],["wait_check_express",{"_index":4387,"title":{"501":{"position":[[13,22]]},"687":{"position":[[0,22]]}},"content":{"501":{"position":[[12,21],[315,21]]},"658":{"position":[[236,21]]},"683":{"position":[[309,21]]}},"keywords":{}}],["wait_check_expression("<expression>"",{"_index":5145,"title":{},"content":{"687":{"position":[[377,53]]}},"keywords":{}}],["wait_check_expression("on",{"_index":4391,"title":{},"content":{"501":{"position":[[620,31],[764,31],[882,31],[1042,31]]}},"keywords":{}}],["wait_check_expression("tlm('inst",{"_index":5146,"title":{},"content":{"687":{"position":[[795,37]]}},"keywords":{}}],["wait_check_packet",{"_index":5137,"title":{"688":{"position":[[0,18]]}},"content":{"684":{"position":[[189,17]]}},"keywords":{}}],["wait_check_packet("<target>"",{"_index":5147,"title":{},"content":{"688":{"position":[[210,45]]}},"keywords":{}}],["wait_check_packet('inst",{"_index":5148,"title":{},"content":{"688":{"position":[[801,25]]}},"keywords":{}}],["wait_check_raw",{"_index":4728,"title":{},"content":{"621":{"position":[[5118,14]]}},"keywords":{}}],["wait_check_toler",{"_index":4403,"title":{"686":{"position":[[0,21]]}},"content":{"504":{"position":[[768,22]]},"621":{"position":[[5327,25]]},"657":{"position":[[177,20]]},"682":{"position":[[213,20]]}},"keywords":{}}],["wait_check_tolerance("<target",{"_index":5143,"title":{},"content":{"686":{"position":[[263,37]]}},"keywords":{}}],["wait_check_tolerance("inst",{"_index":5144,"title":{},"content":{"686":{"position":[[1091,31],[1178,31],[1296,31],[1383,31]]}},"keywords":{}}],["wait_check_tolerance_raw",{"_index":4731,"title":{},"content":{"621":{"position":[[5272,24]]}},"keywords":{}}],["wait_express",{"_index":5133,"title":{"683":{"position":[[0,16]]}},"content":{"683":{"position":[[259,15]]}},"keywords":{}}],["wait_expression("<expression>"",{"_index":5134,"title":{},"content":{"683":{"position":[[448,47]]}},"keywords":{}}],["wait_expression("tlm('inst",{"_index":5135,"title":{},"content":{"683":{"position":[[948,31]]}},"keywords":{}}],["wait_packet",{"_index":5136,"title":{"684":{"position":[[0,12]]}},"content":{"684":{"position":[[143,11]]}},"keywords":{}}],["wait_packet("<target>"",{"_index":5138,"title":{},"content":{"684":{"position":[[330,39]]}},"keywords":{}}],["wait_packet('inst",{"_index":5141,"title":{},"content":{"684":{"position":[[829,19]]}},"keywords":{}}],["wait_raw",{"_index":4727,"title":{},"content":{"621":{"position":[[5057,8]]}},"keywords":{}}],["wait_toler",{"_index":4730,"title":{"682":{"position":[[0,15]]}},"content":{"621":{"position":[[5240,19]]},"682":{"position":[[164,14]]}},"keywords":{}}],["wait_tolerance("<target",{"_index":5129,"title":{},"content":{"682":{"position":[[363,31]]}},"keywords":{}}],["wait_tolerance("inst",{"_index":5131,"title":{},"content":{"682":{"position":[[1274,25],[1355,25],[1481,25],[1562,25]]}},"keywords":{}}],["wait_tolerance_raw",{"_index":4729,"title":{},"content":{"621":{"position":[[5191,18]]}},"keywords":{}}],["walk",{"_index":1147,"title":{},"content":{"46":{"position":[[228,4]]}},"keywords":{}}],["want",{"_index":1146,"title":{},"content":{"46":{"position":[[165,4],[1139,4]]},"69":{"position":[[426,4]]},"83":{"position":[[1667,4]]},"85":{"position":[[17,4]]},"121":{"position":[[360,4]]},"131":{"position":[[217,4]]},"135":{"position":[[185,5]]},"227":{"position":[[1151,4],[1460,4],[3256,4]]},"231":{"position":[[930,4]]},"253":{"position":[[58,4]]},"267":{"position":[[8319,4]]},"293":{"position":[[82,5]]},"321":{"position":[[3722,4]]},"324":{"position":[[2869,4],[3545,4]]},"325":{"position":[[652,4]]},"333":{"position":[[8,4]]},"334":{"position":[[305,4],[852,4]]},"349":{"position":[[199,4]]},"359":{"position":[[366,5],[740,4],[1118,4]]},"362":{"position":[[5,4],[104,4],[423,4],[453,4],[520,4],[579,4]]},"429":{"position":[[176,4]]},"476":{"position":[[1890,4],[1973,4],[2804,4],[2888,4],[3935,4]]},"482":{"position":[[464,4]]},"488":{"position":[[844,4]]},"495":{"position":[[475,4],[761,4]]},"525":{"position":[[463,4],[643,4]]},"556":{"position":[[81,4]]},"564":{"position":[[179,4]]},"566":{"position":[[161,4]]},"578":{"position":[[1407,4],[1440,4]]},"585":{"position":[[649,4]]},"586":{"position":[[555,4]]},"605":{"position":[[427,5]]},"632":{"position":[[308,4]]},"737":{"position":[[187,4],[225,4]]},"752":{"position":[[569,4],[709,4]]}},"keywords":{}}],["warn",{"_index":108,"title":{},"content":{"3":{"position":[[404,8]]},"15":{"position":[[167,7]]},"16":{"position":[[171,7]]},"17":{"position":[[325,7]]},"18":{"position":[[330,7]]},"36":{"position":[[1207,8],[1293,7],[8985,7]]},"202":{"position":[[1207,8],[1293,7],[8985,7]]},"267":{"position":[[1202,8],[1288,7],[7108,7]]},"277":{"position":[[178,9]]},"280":{"position":[[105,7]]},"334":{"position":[[890,7]]},"384":{"position":[[240,7]]},"438":{"position":[[106,7]]},"514":{"position":[[814,4]]}},"keywords":{}}],["warning"",{"_index":3806,"title":{},"content":{"396":{"position":[[255,13]]}},"keywords":{}}],["warranti",{"_index":3612,"title":{},"content":{"359":{"position":[[637,8]]},"360":{"position":[[739,8],[816,10]]}},"keywords":{}}],["watch",{"_index":2865,"title":{},"content":{"302":{"position":[[613,5]]}},"keywords":{}}],["water",{"_index":3448,"title":{},"content":{"355":{"position":[[833,5]]}},"keywords":{}}],["watermark_processor.pi",{"_index":2696,"title":{},"content":{"276":{"position":[[517,22]]}},"keywords":{}}],["watermark_processor.rb",{"_index":2695,"title":{},"content":{"276":{"position":[[449,22]]}},"keywords":{}}],["way",{"_index":272,"title":{},"content":{"7":{"position":[[1112,3]]},"61":{"position":[[2706,3]]},"63":{"position":[[433,3]]},"95":{"position":[[77,3]]},"198":{"position":[[456,3],[676,3]]},"253":{"position":[[4234,3]]},"259":{"position":[[487,3],[703,3]]},"306":{"position":[[29,3],[259,5]]},"334":{"position":[[1298,3]]},"347":{"position":[[360,3]]},"349":{"position":[[67,3]]},"449":{"position":[[24,3]]},"461":{"position":[[1172,4]]},"479":{"position":[[55,4]]},"480":{"position":[[256,4]]},"482":{"position":[[28,4]]},"483":{"position":[[856,3]]},"488":{"position":[[293,4],[696,3],[1162,4]]},"490":{"position":[[126,4]]},"618":{"position":[[26,4]]},"658":{"position":[[705,3]]}},"keywords":{}}],["we'll",{"_index":1068,"title":{},"content":{"44":{"position":[[1422,5]]}},"keywords":{}}],["we'r",{"_index":2504,"title":{},"content":{"253":{"position":[[152,5]]},"256":{"position":[[48,5]]},"319":{"position":[[6,5]]},"327":{"position":[[1,5]]},"328":{"position":[[1571,5]]}},"keywords":{}}],["we'v",{"_index":4467,"title":{},"content":{"534":{"position":[[199,5]]}},"keywords":{}}],["web",{"_index":66,"title":{},"content":{"2":{"position":[[650,3]]},"22":{"position":[[344,4]]},"44":{"position":[[189,3],[1920,3]]},"64":{"position":[[272,3]]},"117":{"position":[[18,3]]},"184":{"position":[[84,3]]},"235":{"position":[[1015,3]]},"251":{"position":[[84,3]]},"293":{"position":[[11,3]]},"298":{"position":[[741,3]]},"299":{"position":[[211,3],[323,3]]},"347":{"position":[[2599,3]]},"353":{"position":[[81,3],[145,3]]},"359":{"position":[[480,3],[856,3]]},"469":{"position":[[144,3],[310,3]]},"528":{"position":[[457,3],[702,3]]}},"keywords":{}}],["webpag",{"_index":4500,"title":{},"content":{"566":{"position":[[88,7]]}},"keywords":{}}],["websecur",{"_index":499,"title":{},"content":{"22":{"position":[[420,9],[448,10]]}},"keywords":{}}],["webserv",{"_index":2443,"title":{},"content":{"240":{"position":[[1396,9]]}},"keywords":{}}],["websit",{"_index":2498,"title":{"469":{"position":[[53,10]]}},"content":{"250":{"position":[[398,7]]},"462":{"position":[[252,7]]},"467":{"position":[[213,8],[1375,8],[1497,9]]},"469":{"position":[[67,7]]},"517":{"position":[[710,7],[793,7]]}},"keywords":{}}],["websocket",{"_index":1076,"title":{},"content":{"44":{"position":[[1721,9]]},"227":{"position":[[440,10],[628,10],[1015,9]]}},"keywords":{}}],["wed",{"_index":984,"title":{},"content":{"43":{"position":[[1261,4],[6553,4]]}},"keywords":{}}],["weird",{"_index":3232,"title":{},"content":{"329":{"position":[[69,5]]}},"keywords":{}}],["welcom",{"_index":1159,"title":{},"content":{"46":{"position":[[604,8],[1768,8]]}},"keywords":{}}],["well",{"_index":54,"title":{},"content":{"2":{"position":[[416,4],[548,4]]},"69":{"position":[[894,4]]},"83":{"position":[[2103,4]]},"97":{"position":[[106,4]]},"119":{"position":[[23,4]]},"230":{"position":[[591,4]]},"231":{"position":[[689,4]]},"257":{"position":[[1321,4],[1578,4]]},"297":{"position":[[795,4]]},"298":{"position":[[507,4],[639,4]]},"347":{"position":[[2086,5]]},"359":{"position":[[1682,4]]},"363":{"position":[[54,4],[1338,4]]},"364":{"position":[[539,4]]},"466":{"position":[[158,4]]},"486":{"position":[[202,6]]},"505":{"position":[[1181,4]]},"516":{"position":[[231,4]]},"517":{"position":[[527,4]]},"603":{"position":[[54,4]]}},"keywords":{}}],["went",{"_index":2662,"title":{},"content":{"267":{"position":[[8037,4]]},"302":{"position":[[593,4]]}},"keywords":{}}],["whatev",{"_index":1924,"title":{},"content":{"121":{"position":[[341,8]]},"293":{"position":[[69,8]]},"324":{"position":[[2548,9],[3754,8]]},"476":{"position":[[4724,8]]},"612":{"position":[[1248,8]]}},"keywords":{}}],["wheel",{"_index":4494,"title":{},"content":{"559":{"position":[[81,5]]}},"keywords":{}}],["whether",{"_index":1297,"title":{},"content":{"56":{"position":[[342,7]]},"58":{"position":[[825,7],[901,7]]},"59":{"position":[[996,7]]},"60":{"position":[[1393,7],[1465,7],[1544,7]]},"62":{"position":[[751,7],[1297,7]]},"63":{"position":[[1935,7],[2481,7],[2735,7]]},"66":{"position":[[375,7]]},"67":{"position":[[250,7],[1002,7],[1120,7]]},"71":{"position":[[209,7]]},"134":{"position":[[404,7]]},"191":{"position":[[23,7],[176,7]]},"267":{"position":[[8707,7]]},"304":{"position":[[405,7]]},"360":{"position":[[1009,7]]},"418":{"position":[[279,7],[1006,7]]},"419":{"position":[[313,7],[1059,7]]},"420":{"position":[[297,7],[1031,7]]},"429":{"position":[[1383,7]]},"514":{"position":[[216,7],[891,7]]},"534":{"position":[[49,7]]},"546":{"position":[[159,7]]},"584":{"position":[[392,7]]},"623":{"position":[[403,7],[548,7]]},"624":{"position":[[369,7],[514,7]]},"628":{"position":[[371,7]]},"644":{"position":[[242,7],[313,7]]},"651":{"position":[[31,7]]},"681":{"position":[[615,7],[1435,7]]},"682":{"position":[[313,7],[1202,7]]},"683":{"position":[[398,7],[868,7]]},"684":{"position":[[288,7],[749,7]]},"688":{"position":[[721,7]]},"690":{"position":[[60,7]]},"700":{"position":[[1829,7]]},"716":{"position":[[368,7],[463,7],[560,7]]},"718":{"position":[[495,7]]},"728":{"position":[[499,7]]},"774":{"position":[[240,7]]},"775":{"position":[[244,7]]}},"keywords":{}}],["whichev",{"_index":2766,"title":{},"content":{"289":{"position":[[547,9]]},"465":{"position":[[352,9]]}},"keywords":{}}],["white",{"_index":3741,"title":{},"content":{"373":{"position":[[831,5],[912,5]]},"403":{"position":[[158,5],[251,5]]},"427":{"position":[[49,5],[142,5]]},"476":{"position":[[309,5]]}},"keywords":{}}],["whitespac",{"_index":312,"title":{},"content":{"9":{"position":[[1035,10]]}},"keywords":{}}],["whole",{"_index":3605,"title":{},"content":{"359":{"position":[[208,5],[525,5]]},"360":{"position":[[204,5]]}},"keywords":{}}],["wide",{"_index":3459,"title":{},"content":{"356":{"position":[[573,4]]},"400":{"position":[[225,4]]},"403":{"position":[[769,4]]},"406":{"position":[[354,4]]},"407":{"position":[[500,4]]},"408":{"position":[[374,4]]},"409":{"position":[[377,4]]},"410":{"position":[[651,4]]},"415":{"position":[[343,4]]},"416":{"position":[[346,4]]},"417":{"position":[[620,4]]},"427":{"position":[[582,4]]},"540":{"position":[[203,5]]}},"keywords":{}}],["widespread",{"_index":4222,"title":{},"content":{"480":{"position":[[3,10]]}},"keywords":{}}],["widget",{"_index":2109,"title":{"194":{"position":[[0,7]]},"195":{"position":[[0,6]]},"234":{"position":[[0,6]]},"326":{"position":[[7,7]]},"327":{"position":[[7,8]]},"328":{"position":[[11,7]]},"368":{"position":[[4,8]]},"385":{"position":[[7,8]]},"395":{"position":[[11,8]]},"400":{"position":[[10,8]]},"428":{"position":[[12,8]]},"437":{"position":[[7,8]]}},"content":{"194":{"position":[[17,6],[42,6],[154,6],[197,6],[233,6],[354,7],[415,6],[501,6]]},"195":{"position":[[38,6]]},"196":{"position":[[80,6]]},"230":{"position":[[2163,7]]},"234":{"position":[[67,6],[147,6],[225,6],[295,6],[322,6],[396,6],[420,6],[529,7],[709,6],[899,7],[908,6]]},"235":{"position":[[588,6]]},"306":{"position":[[194,7]]},"327":{"position":[[77,6],[180,8],[190,6],[201,6],[293,8],[314,6],[342,6],[575,7]]},"328":{"position":[[16,6],[181,6],[240,6],[340,9],[440,6],[579,8],[647,6],[1587,8],[1872,7]]},"366":{"position":[[25,6],[247,7]]},"367":{"position":[[152,6]]},"368":{"position":[[242,7],[382,7],[413,7]]},"370":{"position":[[33,6],[52,7]]},"372":{"position":[[11,6],[33,7],[133,7]]},"373":{"position":[[11,6],[36,7],[94,7],[310,7],[397,7],[457,7],[489,7],[571,7]]},"374":{"position":[[11,6],[52,6],[126,7],[335,6],[425,8],[480,7],[562,7]]},"375":{"position":[[10,6]]},"376":{"position":[[10,6]]},"377":{"position":[[10,6]]},"378":{"position":[[10,6]]},"379":{"position":[[55,6]]},"380":{"position":[[49,6]]},"381":{"position":[[60,6]]},"383":{"position":[[11,6],[55,6],[94,7],[310,7],[397,7],[457,7],[489,7],[645,7]]},"384":{"position":[[8,6],[144,7],[230,8],[275,6],[347,6],[438,6],[493,6],[516,6],[539,6],[564,6],[618,6]]},"385":{"position":[[10,7],[45,7],[103,6],[121,7]]},"386":{"position":[[12,7],[106,7],[133,7],[195,7],[216,6],[310,7]]},"387":{"position":[[12,7],[85,6],[285,7]]},"388":{"position":[[12,7],[65,6],[158,7]]},"389":{"position":[[12,7],[89,6],[243,7]]},"390":{"position":[[12,7],[66,6],[204,7]]},"391":{"position":[[12,7],[74,6],[265,7]]},"392":{"position":[[49,7]]},"393":{"position":[[51,7]]},"394":{"position":[[153,6],[187,6]]},"395":{"position":[[14,7]]},"396":{"position":[[47,7],[127,7]]},"399":{"position":[[39,7]]},"400":{"position":[[13,7],[97,7],[243,7]]},"401":{"position":[[206,6],[256,6]]},"402":{"position":[[206,6],[256,6]]},"408":{"position":[[69,7]]},"409":{"position":[[72,7]]},"410":{"position":[[68,7]]},"428":{"position":[[15,7],[80,8],[150,7]]},"429":{"position":[[218,8],[248,7]]},"437":{"position":[[10,7]]},"438":{"position":[[8,6],[36,7],[56,7],[97,7]]},"588":{"position":[[163,8]]},"594":{"position":[[85,7]]}},"keywords":{}}],["widgetname_widget.rb",{"_index":3721,"title":{},"content":{"368":{"position":[[135,20]]}},"keywords":{}}],["widgetnamewidget",{"_index":3722,"title":{},"content":{"368":{"position":[[192,17]]}},"keywords":{}}],["width",{"_index":3724,"title":{"375":{"position":[[0,6]]}},"content":{"369":{"position":[[229,5]]},"375":{"position":[[17,5],[24,5],[129,5],[242,5],[292,5]]},"382":{"position":[[105,6]]},"394":{"position":[[134,5],[140,5]]},"399":{"position":[[84,5]]},"401":{"position":[[187,5],[193,5]]},"402":{"position":[[187,5],[193,5]]},"404":{"position":[[287,5],[293,5]]},"405":{"position":[[351,5],[357,5]]},"410":{"position":[[699,5],[705,5]]},"411":{"position":[[595,5],[601,5]]},"412":{"position":[[324,5],[330,5]]},"413":{"position":[[322,5],[328,5]]},"417":{"position":[[668,5],[674,5]]},"418":{"position":[[2027,5]]},"419":{"position":[[2080,5]]},"420":{"position":[[2052,5]]},"422":{"position":[[359,5],[365,5]]},"423":{"position":[[584,5],[590,5]]},"426":{"position":[[167,5],[173,5]]},"435":{"position":[[100,5]]},"438":{"position":[[232,5]]},"442":{"position":[[777,5],[783,5]]},"443":{"position":[[371,5],[377,5]]},"444":{"position":[[549,5],[555,5]]},"601":{"position":[[579,5],[633,5]]}},"keywords":{}}],["wifi",{"_index":3329,"title":{},"content":{"347":{"position":[[987,4],[1186,4]]}},"keywords":{}}],["wiget",{"_index":3743,"title":{},"content":{"374":{"position":[[442,5]]}},"keywords":{}}],["win64",{"_index":1057,"title":{},"content":{"44":{"position":[[1145,6]]}},"keywords":{}}],["window",{"_index":1054,"title":{"188":{"position":[[0,7]]},"593":{"position":[[7,6]]},"601":{"position":[[6,6]]}},"content":{"44":{"position":[[1127,8]]},"51":{"position":[[693,9]]},"52":{"position":[[96,7]]},"83":{"position":[[588,7]]},"84":{"position":[[1218,6]]},"85":{"position":[[898,8]]},"188":{"position":[[48,6]]},"253":{"position":[[161,7]]},"289":{"position":[[235,7],[475,7],[531,7],[578,7],[701,7],[725,7],[1322,7]]},"291":{"position":[[1346,8],[1355,7]]},"292":{"position":[[114,7],[361,10]]},"313":{"position":[[159,7]]},"344":{"position":[[411,7]]},"347":{"position":[[1880,6],[1969,8],[2046,7]]},"357":{"position":[[196,7],[831,7],[1079,7],[1106,7],[2570,7],[2597,7],[4245,7],[4263,7],[4492,7]]},"366":{"position":[[212,6]]},"391":{"position":[[204,6]]},"507":{"position":[[432,8]]},"538":{"position":[[185,6]]},"541":{"position":[[374,6]]},"542":{"position":[[402,6]]},"584":{"position":[[500,6]]},"593":{"position":[[45,6],[442,7],[733,7]]},"599":{"position":[[254,7],[465,6]]},"601":{"position":[[44,6],[261,6],[600,7],[783,7]]}},"keywords":{}}],["window.openc3scop",{"_index":2271,"title":{},"content":{"227":{"position":[[2656,19],[3659,19]]}},"keywords":{}}],["winver",{"_index":2768,"title":{},"content":{"289":{"position":[[611,6]]}},"keywords":{}}],["wish",{"_index":113,"title":{},"content":{"3":{"position":[[475,4]]},"675":{"position":[[282,6]]}},"keywords":{}}],["with_unit",{"_index":2287,"title":{},"content":{"227":{"position":[[3206,11],[4124,11]]},"308":{"position":[[564,11]]},"401":{"position":[[534,10],[677,10]]},"402":{"position":[[721,10]]},"403":{"position":[[706,10]]},"404":{"position":[[270,10]]},"405":{"position":[[518,10]]},"406":{"position":[[291,10]]},"407":{"position":[[437,10]]},"408":{"position":[[311,10]]},"409":{"position":[[314,10]]},"410":{"position":[[588,10]]},"411":{"position":[[578,10]]},"412":{"position":[[307,10]]},"413":{"position":[[305,10]]},"414":{"position":[[291,10]]},"415":{"position":[[280,10]]},"416":{"position":[[283,10]]},"417":{"position":[[557,10]]},"422":{"position":[[528,10]]},"423":{"position":[[567,10]]},"427":{"position":[[519,10]]},"440":{"position":[[552,10],[710,10]]},"442":{"position":[[482,10]]},"444":{"position":[[710,10]]},"652":{"position":[[594,11]]},"660":{"position":[[505,10]]},"662":{"position":[[572,10]]},"669":{"position":[[631,10]]},"670":{"position":[[516,10]]},"671":{"position":[[510,10]]},"672":{"position":[[328,10]]},"673":{"position":[[1816,13]]},"681":{"position":[[1361,10]]},"682":{"position":[[1128,10]]},"685":{"position":[[973,10]]},"686":{"position":[[1024,10]]}},"keywords":{}}],["within",{"_index":643,"title":{},"content":{"35":{"position":[[116,6]]},"37":{"position":[[116,6]]},"60":{"position":[[902,6]]},"63":{"position":[[711,6],[824,6],[1199,6]]},"69":{"position":[[1610,6]]},"99":{"position":[[4858,6]]},"118":{"position":[[61,6]]},"188":{"position":[[220,6]]},"201":{"position":[[133,6]]},"203":{"position":[[133,6]]},"204":{"position":[[356,6]]},"205":{"position":[[356,6]]},"206":{"position":[[150,6]]},"207":{"position":[[150,6]]},"253":{"position":[[2125,6]]},"259":{"position":[[1034,6]]},"266":{"position":[[136,6]]},"267":{"position":[[8626,6]]},"268":{"position":[[136,6]]},"269":{"position":[[306,6]]},"270":{"position":[[136,6]]},"271":{"position":[[153,6]]},"272":{"position":[[153,6]]},"386":{"position":[[170,6]]},"387":{"position":[[222,6]]},"389":{"position":[[180,6]]},"394":{"position":[[34,6]]},"412":{"position":[[34,6]]},"413":{"position":[[34,6]]},"438":{"position":[[81,6]]},"485":{"position":[[101,6]]},"501":{"position":[[447,6]]},"528":{"position":[[656,6]]},"578":{"position":[[234,6],[522,6]]},"603":{"position":[[104,6]]},"611":{"position":[[845,6]]},"682":{"position":[[120,6]]},"686":{"position":[[114,6]]},"738":{"position":[[85,6]]},"739":{"position":[[308,6]]},"740":{"position":[[225,6]]},"742":{"position":[[238,6]]},"744":{"position":[[278,6]]},"745":{"position":[[373,6]]},"746":{"position":[[429,6]]},"769":{"position":[[100,6]]}},"keywords":{}}],["without",{"_index":302,"title":{},"content":{"9":{"position":[[451,7],[631,7]]},"20":{"position":[[1185,7]]},"103":{"position":[[414,7]]},"188":{"position":[[119,7]]},"192":{"position":[[130,7]]},"253":{"position":[[5681,7]]},"269":{"position":[[81,7]]},"277":{"position":[[170,7]]},"304":{"position":[[4350,7],[5902,8],[6069,8],[6217,8],[6347,8],[6509,8],[6893,8]]},"324":{"position":[[306,7]]},"341":{"position":[[35,7]]},"360":{"position":[[485,7],[731,7]]},"363":{"position":[[710,7]]},"364":{"position":[[1079,7]]},"368":{"position":[[277,7]]},"449":{"position":[[421,7]]},"459":{"position":[[1193,7]]},"467":{"position":[[54,7],[1082,7]]},"483":{"position":[[92,7]]},"484":{"position":[[194,7]]},"487":{"position":[[464,7]]},"492":{"position":[[93,7],[350,7],[779,7]]},"496":{"position":[[88,7]]},"505":{"position":[[688,7]]},"508":{"position":[[377,7]]},"514":{"position":[[144,7]]},"540":{"position":[[363,7]]},"577":{"position":[[408,7]]},"593":{"position":[[650,7]]},"601":{"position":[[950,7]]},"612":{"position":[[290,7]]},"637":{"position":[[27,7]]},"638":{"position":[[27,7]]},"639":{"position":[[27,7]]},"640":{"position":[[27,7]]},"641":{"position":[[27,7]]},"642":{"position":[[27,7]]},"643":{"position":[[27,7]]},"758":{"position":[[248,7]]}},"keywords":{}}],["wizard",{"_index":101,"title":{},"content":{"3":{"position":[[282,7]]}},"keywords":{}}],["won't",{"_index":1844,"title":{},"content":{"103":{"position":[[496,5]]},"259":{"position":[[1596,5]]}},"keywords":{}}],["wonder",{"_index":4288,"title":{},"content":{"487":{"position":[[343,9]]}},"keywords":{}}],["word",{"_index":711,"title":{},"content":{"36":{"position":[[2878,4]]},"61":{"position":[[1587,6]]},"69":{"position":[[1775,4]]},"202":{"position":[[2878,4]]},"267":{"position":[[2090,4]]},"338":{"position":[[838,4]]},"402":{"position":[[372,4],[397,4],[422,5],[446,5]]}},"keywords":{}}],["work",{"_index":307,"title":{"313":{"position":[[0,7]]}},"content":{"9":{"position":[[783,4]]},"24":{"position":[[515,4]]},"46":{"position":[[345,7],[836,7]]},"63":{"position":[[222,5]]},"69":{"position":[[1568,5],[3556,5]]},"103":{"position":[[502,5]]},"138":{"position":[[24,7],[44,7],[263,7]]},"174":{"position":[[9,7],[28,7],[247,7]]},"253":{"position":[[410,7]]},"259":{"position":[[1602,5]]},"291":{"position":[[39,4],[783,4]]},"324":{"position":[[669,4],[724,4]]},"329":{"position":[[137,4]]},"347":{"position":[[2078,4]]},"359":{"position":[[1676,5]]},"360":{"position":[[310,4],[1263,4]]},"363":{"position":[[287,4]]},"449":{"position":[[40,4]]},"478":{"position":[[143,6],[1016,6]]},"487":{"position":[[160,4]]},"505":{"position":[[1175,5]]},"516":{"position":[[182,5]]},"605":{"position":[[653,5]]}},"keywords":{}}],["work_dir",{"_index":1995,"title":{"138":{"position":[[0,9]]},"174":{"position":[[0,9]]}},"content":{"138":{"position":[[463,8]]},"174":{"position":[[483,8]]}},"keywords":{}}],["workaround",{"_index":2810,"title":{},"content":{"291":{"position":[[969,10]]},"324":{"position":[[812,11]]}},"keywords":{}}],["workdir",{"_index":3018,"title":{},"content":{"318":{"position":[[379,7],[652,7]]}},"keywords":{}}],["worker",{"_index":4463,"title":{},"content":{"528":{"position":[[1332,7],[1587,6]]}},"keywords":{}}],["workflow",{"_index":4008,"title":{"449":{"position":[[0,9]]}},"content":{},"keywords":{}}],["workspac",{"_index":1565,"title":{},"content":{"83":{"position":[[241,9]]}},"keywords":{}}],["world",{"_index":3611,"title":{},"content":{"359":{"position":[[531,6]]},"364":{"position":[[1029,5]]}},"keywords":{}}],["worri",{"_index":2534,"title":{},"content":{"253":{"position":[[3457,5]]},"364":{"position":[[922,5]]},"492":{"position":[[797,5]]}},"keywords":{}}],["worth",{"_index":1460,"title":{},"content":{"69":{"position":[[2187,5]]},"517":{"position":[[634,5]]}},"keywords":{}}],["wrap",{"_index":4347,"title":{},"content":{"496":{"position":[[364,7]]}},"keywords":{}}],["wrappergroup",{"_index":5487,"title":{},"content":{"754":{"position":[[1189,12]]}},"keywords":{}}],["wrappergroup(group",{"_index":5492,"title":{},"content":{"754":{"position":[[1733,20]]}},"keywords":{}}],["write",{"_index":209,"title":{"473":{"position":[[7,7]]}},"content":{"6":{"position":[[308,5]]},"20":{"position":[[1264,5],[1395,5]]},"36":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7779,5],[8459,5],[8552,5],[8635,5],[8694,5],[9606,5],[9657,7],[9741,5],[9796,7],[10198,5]]},"49":{"position":[[287,5],[306,5],[467,5],[518,5],[534,5],[594,5]]},"50":{"position":[[294,5],[405,5],[421,5],[481,5]]},"51":{"position":[[200,5],[331,5],[703,5],[763,5]]},"52":{"position":[[275,6],[338,8],[495,5],[613,5],[673,5]]},"53":{"position":[[67,6]]},"54":{"position":[[2621,5],[2833,5],[2984,6],[3068,5],[3488,5]]},"58":{"position":[[879,5],[941,6]]},"62":{"position":[[516,5],[528,7]]},"63":{"position":[[1341,5],[1353,7]]},"69":{"position":[[800,7],[1651,5],[3541,7],[3626,5],[3775,7],[3855,5],[3895,5],[4079,5],[4317,5],[4497,5],[5022,7]]},"79":{"position":[[590,7]]},"90":{"position":[[389,7]]},"99":{"position":[[1450,7],[1642,7]]},"133":{"position":[[518,5]]},"134":{"position":[[102,6],[187,5],[285,8],[495,6]]},"198":{"position":[[1273,6]]},"202":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7779,5],[8459,5],[8552,5],[8635,5],[8694,5],[9606,5],[9657,7],[9741,5],[9796,7],[10198,5]]},"210":{"position":[[156,7]]},"215":{"position":[[52,5]]},"251":{"position":[[215,5]]},"253":{"position":[[7801,7],[7845,5]]},"278":{"position":[[225,7]]},"279":{"position":[[52,5]]},"297":{"position":[[748,5]]},"304":{"position":[[2952,5]]},"338":{"position":[[436,5],[679,5]]},"347":{"position":[[367,5]]},"475":{"position":[[42,7]]},"476":{"position":[[96,7],[1099,7]]},"478":{"position":[[871,5]]},"496":{"position":[[46,5]]},"499":{"position":[[6,7]]},"534":{"position":[[500,7]]},"605":{"position":[[904,7]]},"616":{"position":[[284,7]]},"617":{"position":[[1023,7],[1057,7]]},"629":{"position":[[1,6]]},"632":{"position":[[316,5]]},"644":{"position":[[324,5]]},"658":{"position":[[712,5]]},"718":{"position":[[532,5],[570,6]]},"728":{"position":[[536,5],[574,6]]}},"keywords":{}}],["write_convers",{"_index":740,"title":{},"content":{"36":{"position":[[3953,17],[5416,16],[5751,16],[9095,16],[9121,16]]},"202":{"position":[[3953,17],[5416,16],[5751,16],[9095,16],[9121,16]]}},"keywords":{}}],["write_data",{"_index":1481,"title":{"78":{"position":[[0,11]]}},"content":{"69":{"position":[[4458,12],[4703,12]]},"78":{"position":[[5,10]]}},"keywords":{}}],["write_data(data",{"_index":1531,"title":{},"content":{"78":{"position":[[675,16]]}},"keywords":{}}],["write_data(self",{"_index":1532,"title":{},"content":{"78":{"position":[[749,16]]}},"keywords":{}}],["write_dest_port",{"_index":3045,"title":{},"content":{"320":{"position":[[914,15]]}},"keywords":{}}],["write_interfac",{"_index":1483,"title":{},"content":{"69":{"position":[[4775,17]]}},"keywords":{}}],["write_packet",{"_index":1477,"title":{"77":{"position":[[0,13]]}},"content":{"69":{"position":[[3956,14],[4334,14]]},"77":{"position":[[5,12]]},"79":{"position":[[325,14]]}},"keywords":{}}],["write_packet(packet",{"_index":1529,"title":{},"content":{"77":{"position":[[678,20]]}},"keywords":{}}],["write_packet(self",{"_index":1530,"title":{},"content":{"77":{"position":[[758,18]]}},"keywords":{}}],["write_port_nam",{"_index":3265,"title":{},"content":{"338":{"position":[[468,15],[1201,15]]}},"keywords":{}}],["write_src_port",{"_index":3047,"title":{},"content":{"320":{"position":[[940,14]]}},"keywords":{}}],["write_timeout",{"_index":3049,"title":{},"content":{"320":{"position":[[977,13]]},"338":{"position":[[702,13],[1324,13]]}},"keywords":{}}],["writer",{"_index":4171,"title":{},"content":{"476":{"position":[[1013,6]]}},"keywords":{}}],["writeup",{"_index":3690,"title":{},"content":{"363":{"position":[[1297,7]]}},"keywords":{}}],["written",{"_index":751,"title":{},"content":{"36":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6251,7],[6882,7],[7946,7],[8121,7],[8539,7],[8620,7],[8794,8],[10163,8]]},"59":{"position":[[474,7]]},"69":{"position":[[4123,7],[4736,7],[4926,7]]},"77":{"position":[[338,7]]},"78":{"position":[[83,7],[337,7]]},"79":{"position":[[63,7],[371,7]]},"202":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6251,7],[6882,7],[7946,7],[8121,7],[8539,7],[8620,7],[8794,8],[10163,8]]},"246":{"position":[[24,7]]},"251":{"position":[[122,7]]},"298":{"position":[[1252,7],[1498,7]]},"304":{"position":[[2857,7]]},"474":{"position":[[234,7]]},"480":{"position":[[33,7]]},"616":{"position":[[194,7]]}},"keywords":{}}],["wrong",{"_index":4389,"title":{"503":{"position":[[15,6]]}},"content":{"501":{"position":[[173,6]]},"502":{"position":[[112,6]]}},"keywords":{}}],["wsl",{"_index":3584,"title":{},"content":{"357":{"position":[[4300,3]]}},"keywords":{}}],["wsl2",{"_index":2764,"title":{},"content":{"289":{"position":[[488,5],[494,4],[868,6]]}},"keywords":{}}],["wslconfig",{"_index":3489,"title":{},"content":{"357":{"position":[[881,10]]}},"keywords":{}}],["wslg",{"_index":3588,"title":{},"content":{"357":{"position":[[4347,4]]}},"keywords":{}}],["www",{"_index":954,"title":{},"content":{"43":{"position":[[457,3]]},"87":{"position":[[208,3]]}},"keywords":{}}],["x",{"_index":790,"title":{},"content":{"36":{"position":[[6464,3],[7260,3]]},"42":{"position":[[491,1],[735,1],[786,1]]},"43":{"position":[[588,1],[1163,1],[1195,1],[1223,1],[6244,1],[6476,1],[6527,1]]},"44":{"position":[[797,1],[2571,1]]},"202":{"position":[[6464,3],[7260,3]]},"226":{"position":[[2398,3],[2439,1],[2482,1]]},"267":{"position":[[5003,3],[5861,3]]},"324":{"position":[[1879,2]]},"439":{"position":[[70,1]]},"440":{"position":[[205,1],[216,1]]},"441":{"position":[[172,1],[183,1]]},"442":{"position":[[613,1],[624,1],[1452,1],[1463,1]]},"443":{"position":[[67,1],[78,1],[209,1],[220,1]]},"444":{"position":[[275,1],[286,1],[417,1],[428,1]]},"445":{"position":[[71,1]]},"487":{"position":[[1008,1],[1482,1]]},"488":{"position":[[2488,1]]},"578":{"position":[[726,3],[909,3]]},"593":{"position":[[768,1]]},"601":{"position":[[995,1]]},"636":{"position":[[909,2],[1024,2]]},"637":{"position":[[1131,2],[1246,2]]},"638":{"position":[[1152,2],[1267,2]]},"639":{"position":[[1185,2],[1300,2]]},"640":{"position":[[985,2],[1100,2]]},"641":{"position":[[1202,2],[1317,2]]},"642":{"position":[[1223,2],[1338,2]]},"643":{"position":[[1256,2],[1371,2]]},"644":{"position":[[417,1],[492,1],[976,1]]},"739":{"position":[[336,1],[347,1]]},"746":{"position":[[509,1],[520,1],[682,2]]},"752":{"position":[[683,1]]}},"keywords":{}}],["x.509",{"_index":450,"title":{},"content":{"20":{"position":[[981,5]]}},"keywords":{}}],["x.x.x",{"_index":2338,"title":{},"content":{"229":{"position":[[1352,5]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":4877,"title":{},"content":{"644":{"position":[[1316,31]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":4872,"title":{},"content":{"644":{"position":[[921,35]]}},"keywords":{}}],["x509",{"_index":412,"title":{},"content":{"20":{"position":[[347,4]]},"25":{"position":[[44,4]]}},"keywords":{}}],["x64",{"_index":1058,"title":{},"content":{"44":{"position":[[1152,4]]}},"keywords":{}}],["x86_64",{"_index":3160,"title":{},"content":{"324":{"position":[[1790,6]]}},"keywords":{}}],["xmlaccessor",{"_index":2167,"title":{},"content":{"215":{"position":[[261,12]]},"279":{"position":[[261,12]]}},"keywords":{}}],["xor",{"_index":1429,"title":{},"content":{"67":{"position":[[998,3],[1013,3]]}},"keywords":{}}],["xpath",{"_index":688,"title":{},"content":{"36":{"position":[[1423,5]]},"202":{"position":[[1423,5]]},"267":{"position":[[1418,5]]}},"keywords":{}}],["xss",{"_index":982,"title":{},"content":{"43":{"position":[[1225,3]]}},"keywords":{}}],["xtce",{"_index":4020,"title":{"450":{"position":[[0,4]]},"451":{"position":[[24,5]]},"452":{"position":[[13,5]]},"453":{"position":[[37,5]]}},"content":{"451":{"position":[[10,5],[191,5]]},"452":{"position":[[40,5]]},"453":{"position":[[62,5],[105,5]]},"454":{"position":[[286,5]]}},"keywords":{}}],["xtce_convert",{"_index":4021,"title":{},"content":{"452":{"position":[[201,14]]},"453":{"position":[[200,14]]}},"keywords":{}}],["xusp",{"_index":4044,"title":{},"content":{"457":{"position":[[264,4]]}},"keywords":{}}],["xx",{"_index":422,"title":{},"content":{"20":{"position":[[482,6]]}},"keywords":{}}],["xxx",{"_index":3220,"title":{},"content":{"328":{"position":[[741,3]]}},"keywords":{}}],["y",{"_index":3014,"title":{},"content":{"318":{"position":[[270,1],[310,1]]},"347":{"position":[[2265,1]]},"439":{"position":[[137,1],[148,1]]},"440":{"position":[[283,1],[294,1]]},"441":{"position":[[251,1],[262,1]]},"442":{"position":[[692,1],[703,1],[1531,1],[1542,1]]},"443":{"position":[[139,1],[150,1],[277,1],[288,1]]},"444":{"position":[[347,1],[358,1],[485,1],[496,1]]},"445":{"position":[[98,1],[109,1]]},"487":{"position":[[1005,2],[1012,1],[1471,3],[1486,1]]},"495":{"position":[[519,3],[537,3],[805,3],[823,4]]},"599":{"position":[[1110,1],[1120,1],[1175,1],[1185,1]]},"739":{"position":[[405,1],[416,1]]},"746":{"position":[[578,1],[589,1],[685,1]]}},"keywords":{}}],["y%m%d",{"_index":3377,"title":{},"content":{"350":{"position":[[406,6],[736,6],[1058,6]]}},"keywords":{}}],["y/n)?"",{"_index":4336,"title":{},"content":{"495":{"position":[[492,13],[778,13]]}},"keywords":{}}],["yaml",{"_index":2451,"title":{},"content":{"241":{"position":[[123,4]]}},"keywords":{}}],["yarn",{"_index":1570,"title":{},"content":{"83":{"position":[[434,4]]},"84":{"position":[[126,4],[146,4],[307,4],[961,4],[1213,4]]},"102":{"position":[[9,4],[35,4],[183,4]]},"103":{"position":[[251,4],[528,4],[585,4]]},"235":{"position":[[1423,4]]},"328":{"position":[[691,4],[732,4]]}},"keywords":{}}],["ye",{"_index":1199,"title":{},"content":{"49":{"position":[[283,3],[405,3],[530,3],[600,3],[703,3]]},"50":{"position":[[343,3],[417,3],[487,3],[590,3]]},"51":{"position":[[196,3],[263,3],[327,3]]},"52":{"position":[[347,3],[459,3],[501,3],[566,3],[609,3],[679,3],[782,3]]},"60":{"position":[[937,3]]},"62":{"position":[[592,3],[724,3]]},"63":{"position":[[1417,3],[1549,3]]},"68":{"position":[[199,3],[255,3]]},"347":{"position":[[1595,3]]},"534":{"position":[[405,3]]},"658":{"position":[[578,5],[603,3],[610,5],[663,3],[825,5],[854,5],[863,5]]}},"keywords":{}}],["year",{"_index":459,"title":{},"content":{"20":{"position":[[1123,6]]},"362":{"position":[[18,5]]}},"keywords":{}}],["yearli",{"_index":3654,"title":{},"content":{"361":{"position":[[403,6]]}},"keywords":{}}],["yellow",{"_index":2651,"title":{},"content":{"267":{"position":[[2539,7],[2851,6],[9027,6],[9142,6],[9185,6],[9302,6]]},"285":{"position":[[1124,6]]},"411":{"position":[[831,6]]},"544":{"position":[[157,7]]},"568":{"position":[[197,7]]},"575":{"position":[[137,6]]},"578":{"position":[[95,6],[170,6],[309,6]]},"700":{"position":[[815,6],[826,6],[940,7],[948,6],[960,6],[1073,7]]},"702":{"position":[[74,9]]}},"keywords":{}}],["yes'"",{"_index":4988,"title":{},"content":{"658":{"position":[[541,12],[788,12]]}},"keywords":{}}],["you'll",{"_index":1568,"title":{},"content":{"83":{"position":[[406,6]]},"249":{"position":[[212,6]]},"327":{"position":[[154,6]]},"328":{"position":[[1560,6]]},"332":{"position":[[255,6]]},"347":{"position":[[193,6]]},"429":{"position":[[579,6]]},"448":{"position":[[41,6]]},"479":{"position":[[263,6]]},"610":{"position":[[248,6]]}},"keywords":{}}],["you'r",{"_index":1474,"title":{},"content":{"69":{"position":[[3724,6],[3783,6]]},"83":{"position":[[1623,6]]},"253":{"position":[[403,6],[1824,6]]},"289":{"position":[[4,6],[225,6]]},"290":{"position":[[282,6]]},"448":{"position":[[149,6]]},"504":{"position":[[847,6]]},"518":{"position":[[221,6]]},"520":{"position":[[162,6]]}},"keywords":{}}],["you'v",{"_index":4436,"title":{},"content":{"513":{"position":[[307,6]]},"557":{"position":[[6,6]]}},"keywords":{}}],["yourfile.pfx",{"_index":577,"title":{},"content":{"27":{"position":[[285,14],[714,14]]}},"keywords":{}}],["yourself",{"_index":1035,"title":{"480":{"position":[[30,10]]}},"content":{"44":{"position":[[372,8]]},"133":{"position":[[275,8]]},"362":{"position":[[90,9]]},"479":{"position":[[161,8],[276,8]]}},"keywords":{}}],["yourusername@cosmos.localon",{"_index":3346,"title":{},"content":{"347":{"position":[[1941,27]]}},"keywords":{}}],["yum",{"_index":3156,"title":{},"content":{"324":{"position":[[1645,3],[1661,3]]}},"keywords":{}}],["yyyy/mm/dd",{"_index":2634,"title":{},"content":{"263":{"position":[[833,10]]},"418":{"position":[[1397,11]]},"419":{"position":[[1450,11]]},"420":{"position":[[1422,11]]}},"keywords":{}}],["z",{"_index":1123,"title":{},"content":{"44":{"position":[[3480,1]]},"325":{"position":[[608,2]]},"593":{"position":[[427,1]]}},"keywords":{}}],["zero",{"_index":648,"title":{},"content":{"35":{"position":[[383,4]]},"37":{"position":[[176,4]]},"57":{"position":[[286,4],[424,4],[450,4],[472,4]]},"120":{"position":[[308,4]]},"201":{"position":[[412,4]]},"203":{"position":[[195,4]]},"204":{"position":[[582,4]]},"205":{"position":[[418,4]]},"206":{"position":[[587,4]]},"207":{"position":[[370,4]]},"266":{"position":[[410,4]]},"268":{"position":[[202,4]]},"269":{"position":[[533,4]]},"270":{"position":[[202,4]]},"271":{"position":[[580,4]]},"272":{"position":[[372,4]]},"277":{"position":[[241,5]]}},"keywords":{}}],["zeromq",{"_index":1882,"title":{},"content":{"108":{"position":[[390,8]]}},"keywords":{}}],["zonegoto",{"_index":3335,"title":{},"content":{"347":{"position":[[1260,8]]}},"keywords":{}}],["zshrc",{"_index":2820,"title":{},"content":{"292":{"position":[[295,9]]}},"keywords":{}}]],"pipeline":["stemmer"]} \ No newline at end of file +{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,912.212]],["content/0",[]],["keywords/0",[]],["title/1",[1,224.429,2,955.054]],["content/1",[1,3.122,3,9.792,4,8.917,5,2.481,6,9.792,7,4.497,8,12.463,9,8.415,10,12.463,11,6.831,12,13.82,13,12.736,14,13.287,15,16.738,16,12.843,17,11.835,18,6.26,19,11.835,20,11.489,21,8.825,22,15.381,23,16.738,24,13.287,25,13.287,26,16.738,27,13.82]],["keywords/1",[]],["title/2",[1,224.429,28,871.939]],["content/2",[1,4.261,6,7.103,8,9.041,9,7.828,29,4.751,30,8.585,31,8.8,32,9.639,33,8.582,34,10.509,35,2.597,36,8.645,37,7.376,38,6.1,39,6.683,40,6.924,41,6.276,42,7.301,43,7.908,44,7.771,45,3.453,46,4.986,47,7.522,48,5.948,49,8.122,50,5.784,51,4.352,52,2.828,53,5.699,54,9.631,55,6.609,56,11,57,8.585,58,4.807,59,5.328,60,5.96,61,5.744,62,4.059,63,7.642,64,4.099,65,7.771,66,7.2,67,6.683,68,8.8,69,7.408,70,7.408,71,7.301,72,6.402,73,10.509,74,6.683,75,5.184,76,10.509,77,9.041,78,4.617,79,4.541]],["keywords/2",[]],["title/3",[80,745.296,81,1041.352]],["content/3",[1,4.319,5,2.58,18,4.745,80,12.312,82,11.66,83,6.984,84,4.105,85,9.448,86,15.998,87,14.375,88,6.772,89,7.241,90,9.448,91,6.338,92,10.982,93,8.77,94,7.524,95,10.982,96,7.524,97,5.277,98,12.689,99,12.689,100,12.689,101,12.689,102,3.873,103,7.986,104,12.689,105,8.587,106,6.69,107,8.972,108,8.12,109,12.689,110,7.742,111,10.476,112,6.207,113,11.66,114,9.196,115,8.264,116,12.689,117,12.034,118,8.972,119,6.623,120,7.064,121,5.731,122,11.66,123,11.66,124,6.495,125,7.986,126,8.587,127,8.972,128,12.689,129,6.207,130,4.325,131,7.86,132,9.196,133,7.986,134,10.476,135,7.63]],["keywords/3",[]],["title/4",[136,279.23,137,414.108]],["content/4",[]],["keywords/4",[]],["title/5",[138,388.78,139,144.941,140,128.883]],["content/5",[1,3.192,7,2.603,35,5,37,3.24,45,4.132,48,2.524,50,4.919,52,3.985,78,3.685,119,7.496,136,3.333,137,3.335,138,7.952,140,3.094,141,4.11,142,4.868,143,4.422,144,2.362,145,6.535,146,8.422,147,13.197,148,10.693,149,9.719,150,4.252,151,6.734,152,6.356,153,5.554,154,8.905,155,4.96,156,6.311,157,4.584,158,3.883,159,7.995,160,3.639,161,4.477,162,2.344,163,4.825,164,3.635,165,5.162,166,5.669,167,4.868,168,6.852,169,7.023,170,6.43,171,6.201,172,10.187,173,4.223,174,4.477,175,5.526,176,5.459,177,8.402,178,8.293,179,7.15,180,2.765,181,3.303,182,5.526,183,4.825,184,8.001,185,4.74,186,2.765,187,3.604,188,5.333,189,3.836]],["keywords/5",[]],["title/6",[190,1041.133]],["content/6",[1,2.654,5,2.787,8,7.123,9,3.857,18,3.578,29,5.566,50,4.872,52,3.313,59,4.198,96,5.673,136,4.664,141,6.033,143,4.38,149,6.474,157,4.526,190,12.725,191,9.567,192,4.219,193,5.207,194,2.895,195,5.837,196,6.199,197,3.788,198,4.807,199,7.123,200,6.021,201,11.221,202,6.974,203,9.684,204,7.51,205,5.753,206,7.899,207,7.743,208,1.871,209,4.112,210,9.567,211,12.76,212,9.567,213,10.782,214,10.216,215,21.063,216,16.72,217,3.124,218,12.313,219,5.02,220,4.289,221,4.68,222,5.753,223,4.68,224,3.124,225,2.985,226,4.897,227,3.792,228,8.281,229,8.791,230,4.058,231,8.281,232,4.601,233,9.567,234,4.64,235,8.791,236,6.765,237,7.123,238,5.044]],["keywords/6",[]],["title/7",[239,1221.21]],["content/7",[1,1.792,4,7.602,5,2.115,7,2.581,13,5.862,50,6.454,91,3.498,102,2.933,114,6.963,127,6.793,136,5.207,139,2.094,140,1.254,143,4.394,144,2.125,145,6.494,146,6.352,152,3.227,162,1.568,187,3.574,190,6.502,196,4.187,201,7.602,203,5.479,204,5.088,207,5.229,208,2.791,211,8.348,213,7.305,214,9.139,219,6.008,222,5.777,227,2.561,239,14.957,240,4.888,241,6.697,242,5.412,243,6.547,244,5.488,245,11.328,246,10.626,247,9.608,248,7.376,249,17.024,250,12.352,251,10.342,252,4.439,253,7.933,254,5.862,255,5.697,256,3.34,257,6.793,258,5.548,259,7.927,260,6.375,261,8.829,262,6.375,263,7.154,264,9.608,265,3.123,266,9.469,267,12.352,268,8.581,269,12.352,270,10.95,271,5.777,272,5.479,273,3.897,274,5.288,275,5.229,276,8.829,277,2.048,278,5.935,279,3.182,280,5.952,281,7.372,282,5.697,283,9.608]],["keywords/7",[]],["title/8",[141,510.284,284,634.36]],["content/8",[1,2.848,5,2.262,17,13.922,50,5.228,124,7.814,136,3.543,141,9.766,144,1.906,146,8.764,198,7.669,207,8.308,208,3.851,243,7.572,244,7.572,245,15.63,246,14.661,284,10.382,285,5.804,286,12.429,287,19.69,288,15.63,289,13.212,290,8.599,291,11.713,292,6.154,293,13.212,294,10.794]],["keywords/8",[]],["title/9",[181,410.067,295,1041.352]],["content/9",[1,2.065,5,2.736,17,7.827,50,3.791,102,4.83,121,7.146,136,2.569,139,2.956,141,6.711,142,7.949,144,1.975,146,8.968,160,3.043,179,9.193,181,8.096,185,5.415,198,5.561,207,8.612,208,3.941,227,2.951,243,7.748,244,7.748,245,12.56,246,8.242,284,5.836,285,4.209,286,11.489,289,13.695,292,4.462,293,9.581,294,7.827,295,17.438,296,5.561,297,18.514,298,9.14,299,11.069,300,12.56,301,11.069,302,7.547,303,11.069,304,13.695,305,6.092,306,11.069,307,6.236,308,12.56,309,5.415,310,11.069,311,11.069,312,11.069]],["keywords/9",[]],["title/10",[138,473.512,313,1105.594]],["content/10",[]],["keywords/10",[]],["title/11",[314,968.26]],["content/11",[5,2.309,33,8.817,45,4.08,52,3.629,102,4.756,121,7.038,140,2.033,144,1.945,151,6.132,152,5.234,160,2.996,164,3.31,186,4.446,190,10.545,192,4.648,193,8.481,225,4.862,280,9.652,314,14.605,315,15.581,316,10.545,317,5.692,318,5.277,319,10.339,320,9.507,321,6.936]],["keywords/11",[]],["title/12",[152,516.794]],["content/12",[14,11.001,102,4.23,136,5.362,140,1.808,144,1.73,152,7.45,153,7.147,160,2.665,162,2.262,164,2.944,186,3.954,192,3.702,236,9.799,280,8.585,322,8.226,323,8.722,324,8.455,325,7.807,326,8.585,327,7.715,328,11.442,329,11.463,330,14.701,331,9.606,332,7.627,333,9.201,334,18.48,335,13.858,336,5.422,337,4.344,338,9.845,339,8.333,340,6.589,341,13.858,342,13.858,343,13.858]],["keywords/12",[]],["title/13",[344,1413.703]],["content/13",[35,5.352,79,5.558,81,12.864,102,4.537,140,3.219,144,2.416,160,2.858,162,3.158,164,3.157,186,4.241,189,5.884,202,6.104,259,6.92,327,8.275,337,4.658,344,13.658,345,11.463,346,10.509,347,9.862,348,11.404,349,6.176,350,3.487,351,7.4,352,4.089,353,6.389,354,12.864,355,8.937,356,13.658]],["keywords/13",[]],["title/14",[357,1413.703]],["content/14",[79,5.868,81,13.58,102,4.789,140,2.047,144,2.502,160,3.017,162,3.27,164,3.333,186,4.477,189,6.212,208,4.702,259,7.306,277,4.272,337,4.918,345,11.763,346,11.094,349,5.007,350,3.681,351,7.812,355,9.434,356,14.418,357,14.418,358,6.027,359,7.883,360,13.58]],["keywords/14",[]],["title/15",[35,329.08]],["content/15",[5,3.11,35,5.11,108,9.035,136,5.544,138,8.793,140,1.842,144,1.762,160,2.715,162,2.304,164,2.999,186,5.338,189,5.589,208,4.547,259,9.771,273,5.726,278,8.728,280,8.746,281,10.833,322,6.284,323,8.886,328,11.657,331,6.523,333,7.029,340,5.034,361,8.372,362,6.847,363,12.22,364,14.118,365,12.974,366,12.974]],["keywords/15",[]],["title/16",[208,300.899]],["content/16",[5,3.11,35,4.972,108,9.035,136,5.544,138,8.793,140,1.842,144,1.762,160,2.715,162,2.304,164,2.999,186,5.338,189,5.589,208,4.672,259,9.771,273,5.726,278,8.728,280,8.746,281,10.833,322,6.284,323,8.886,328,11.657,331,6.523,333,7.029,340,5.034,361,8.372,362,6.847,363,12.22,365,12.974,366,12.974,367,14.118]],["keywords/16",[]],["title/17",[368,1538.415]],["content/17",[5,2.918,7,4.101,35,4.926,45,3.121,78,5.804,108,9.769,168,10.794,240,5.228,277,4.197,296,7.669,309,9.632,369,14.028,370,13.106,371,8.93,372,9.769,373,9.55,374,10.489,375,8.521,376,5.527,377,10.331,378,7.533,379,10.331,380,14.27,381,14.028,382,13.922,383,7.968,384,13.212,385,12.604]],["keywords/17",[]],["title/18",[386,1413.703]],["content/18",[5,2.918,7,4.101,45,3.121,78,5.804,108,9.769,168,10.794,208,4.263,240,5.228,277,4.646,296,7.669,309,9.632,369,14.028,370,13.106,371,8.93,372,9.769,373,9.55,374,10.489,375,8.521,376,5.527,377,10.331,378,7.533,379,10.331,380,14.27,381,14.028,382,13.922,383,7.968,384,13.212,385,12.604]],["keywords/18",[]],["title/19",[387,850.703,388,923.159]],["content/19",[]],["keywords/19",[]],["title/20",[197,476.32,389,798.304]],["content/20",[1,1.472,5,2.236,35,3.227,46,3.241,78,3.001,84,2.554,88,3.07,91,2.873,97,3.283,102,2.409,107,5.581,119,4.12,130,6.661,136,2.852,139,3.251,153,4.752,162,3.537,201,4.205,202,3.241,204,2.814,209,5.282,225,2.463,230,3.348,248,4.079,274,4.344,302,3.765,329,6.351,337,5.337,340,6.071,350,3.54,373,5.96,387,5.581,389,12.967,390,11.292,391,8.688,392,5.581,393,7.253,394,5.877,395,7.253,396,5.581,397,6.265,398,5.237,399,6.517,400,7.253,401,6.517,402,6.265,403,4.816,404,4.725,405,14.06,406,17.029,407,5.237,408,4.816,409,6.056,410,12.288,411,12.288,412,7.253,413,7.253,414,9.754,415,15.088,416,6.517,417,12.288,418,7.893,419,12.288,420,6.832,421,6.517,422,7.893,423,3.513,424,7.893,425,3.828,426,17.029,427,12.288,428,4.968,429,9.428,430,7.893,431,7.253,432,4.25,433,5.237,434,3.416,435,8.905,436,3.592,437,4.079,438,5.877,439,4.68,440,5.877,441,7.893,442,4.816,443,4.162,444,7.893,445,6.832,446,6.971,447,2.952,448,7.253,449,7.893,450,7.893,451,7.893,452,7.893,453,6.832,454,5.051,455,4.394,456,7.893,457,7.893,458,7.253,459,7.253,460,4.889,461,7.893,462,7.893,463,9.428,464,7.893,465,5.456,466,6.832,467,4.558]],["keywords/20",[]],["title/21",[71,503.836,337,262.624,436,381.28,468,623.89]],["content/21",[36,8.83,37,5.767,71,10.372,139,3.383,273,6.996,404,6.634,469,12.844,470,15.851,471,21.268,472,15.851,473,17.25,474,17.25,475,17.25,476,12.281,477,17.25,478,17.25,479,17.25,480,15.851,481,17.25,482,13.693,483,11.923]],["keywords/21",[]],["title/22",[71,593.994,436,449.507,484,668.524]],["content/22",[5,1.946,50,4.498,66,7.787,71,7.896,136,3.048,139,3.832,156,8.553,337,4.116,388,13.675,389,8.713,403,13.238,404,5.05,435,9.517,436,5.976,437,6.787,439,10.568,469,9.778,470,12.067,472,12.067,485,20.231,486,13.132,487,13.132,488,13.132,489,13.132,490,12.067,491,13.132,492,9.285,493,8.887,494,7.147,495,6.213,496,16.378,497,13.132,498,13.132,499,17.823,500,12.067,501,13.132,502,13.132,503,8.887,504,12.067,505,12.067]],["keywords/22",[]],["title/23",[36,505.662,436,449.507,506,735.532]],["content/23",[5,2.232,37,5.035,57,10.649,71,13.022,136,3.495,139,3.361,220,6.753,225,4.7,256,5.236,326,9.33,337,6.118,404,5.792,436,6.853,454,9.639,469,11.214,483,10.41,495,10.245,507,13.84,508,9.639,509,15.061,510,15.061,511,11.909,512,19.519,513,9.056,514,15.061,515,15.061,516,15.061,517,15.061,518,11.956,519,15.061,520,15.061,521,15.061,522,8.811,523,13.036]],["keywords/23",[]],["title/24",[440,895.836,524,1041.352]],["content/24",[5,2.903,11,5.037,37,4.126,64,4.166,67,9.401,89,5.133,105,11.559,120,9.509,127,8.726,136,4.546,155,6.317,162,2.788,183,6.145,197,4.886,204,4.4,307,6.953,371,7.22,389,12.997,391,13.85,409,9.47,434,5.341,446,5.702,454,7.898,480,11.341,525,17.08,526,12.341,527,12.341,528,9.797,529,19.587,530,12.341,531,12.341,532,12.341,533,9.47,534,19.587,535,8.944,536,12.341,537,12.341,538,9.189,539,17.999,540,7.768,541,11.341,542,6.575,543,7.898,544,7.768,545,7.421,546,8.189,547,12.341,548,12.341,549,19.587,550,10.682,551,11.333,552,9.189,553,12.341,554,6.317,555,9.797]],["keywords/24",[]],["title/25",[150,527.975,469,895.836]],["content/25",[59,8.778,405,16.516,412,18.382,469,14.895,539,18.382,556,13.273,557,20.004]],["keywords/25",[]],["title/26",[136,168.838,389,482.7,446,336.109,558,527.223,559,558.194]],["content/26",[5,2.409,9,6.553,37,5.434,59,7.133,136,5.209,137,7.054,187,6.046,242,9.157,387,11.494,389,13.599,402,12.904,446,10.889,465,14.166,528,12.904,559,15.726,560,16.255,561,12.473,562,11.001,563,8.401,564,10.403,565,14.937,566,11.781,567,11.781,568,6.216]],["keywords/26",[]],["title/27",[136,242.208,446,296.974,528,510.239,558,465.835,559,493.199]],["content/27",[5,1.594,35,4.253,37,5.181,49,5.171,97,7.556,114,7.793,130,6.192,136,5.251,143,5.594,187,3.999,221,5.26,225,5.669,256,5.387,338,8.255,376,5.1,387,7.603,389,10.282,404,4.135,405,18.124,434,4.654,445,9.307,446,10.142,454,6.881,465,12.557,524,9.307,528,8.536,558,11.23,559,11.89,563,5.558,569,9.307,570,6.291,571,4.531,572,10.753,573,4.335,574,10.772,575,6.209,576,15.496,577,15.496,578,10.753,579,15.496,580,13.054,581,14.421,582,10.753,583,7.277,584,9.307,585,10.753,586,10.753,587,10.753,588,12.794,589,10.753,590,10.753,591,8.536,592,6.661,593,6.291,594,5.853]],["keywords/27",[]],["title/28",[136,168.838,137,250.393,559,558.194,568,278.179,595,577.479]],["content/28",[35,3.777,97,7.343,136,4.097,137,7.425,143,5.437,225,5.509,405,14.577,445,15.281,490,19.824,524,15.281,559,13.547,568,8.249,595,18.493,596,12.203,597,17.655,598,17.655,599,17.655]],["keywords/28",[]],["title/29",[183,491.821,600,987.834,601,987.834]],["content/29",[153,7.346,350,4.456,388,14.573,602,18.993,603,18.993,604,17.453,605,18.993,606,18.993,607,18.993,608,18.993,609,18.993,610,18.993,611,18.993]],["keywords/29",[]],["title/30",[53,722.006]],["content/30",[]],["keywords/30",[]],["title/31",[53,463.608,136,229.264,278,410.861]],["content/31",[1,2.394,5,1.902,35,2.745,48,4.569,50,4.395,53,11.659,61,9.458,80,7.95,84,4.152,136,4.64,138,6.905,162,2.094,181,5.98,188,7.063,194,3.884,214,6.224,223,8.583,236,9.074,263,9.555,265,5.703,278,9.359,280,7.95,309,6.278,331,5.929,349,4.095,370,7.717,372,8.213,376,3.602,562,8.685,612,7.717,613,12.833,614,6.121,615,6.333,616,12.833,617,12.833,618,9.847,619,11.793,620,6.447,621,6.909,622,8.87,623,10.596,624,6.837,625,8.815,626,11.043,627,9.074,628,5.754]],["keywords/31",[]],["title/32",[619,1413.703]],["content/32",[51,6.428,53,8.418,96,10.635,136,5.662,140,2.34,160,3.449,162,3.555,164,3.81,242,10.104,259,8.351,278,9.059,331,8.287,340,6.395,573,7.23,629,17.936]],["keywords/32",[]],["title/33",[53,722.006]],["content/33",[5,2.395,37,5.403,48,2.97,52,4.373,53,11.038,78,4.337,84,3.69,88,6.287,137,3.926,140,2.813,141,6.855,146,5.077,151,6.361,160,4.523,162,2.638,164,3.433,167,5.73,172,10.107,173,7.043,175,6.504,176,6.425,177,6.672,179,9.346,180,5.826,256,3.965,278,4.744,296,5.73,305,8.895,333,5.678,349,5.991,355,6.858,404,4.386,630,6.959,631,8.751,632,5.19,633,17.25,634,16.86,635,18.772,636,8.751,637,10.172,638,10.481,639,16.162,640,12.401,641,11.405]],["keywords/33",[]],["title/34",[53,564.649,642,610.082]],["content/34",[53,9.558,138,9.242,143,7.231]],["keywords/34",[]],["title/35",[140,200.718]],["content/35",[5,1.777,7,2.056,18,2.862,35,2.566,48,5.252,51,2.742,52,5.497,53,7.858,83,4.211,137,4.128,140,3.198,146,5.339,151,5.821,152,4.029,155,3.917,160,3.878,162,1.249,164,4.435,167,3.844,172,10.858,173,7.297,174,5.541,175,6.839,176,8.333,177,7.017,178,6.926,179,5.971,180,4.777,181,5.041,187,4.461,194,3.63,214,5.817,217,3.916,223,5.867,265,2.487,277,2.557,279,2.534,340,5.274,350,4.267,352,3.3,373,10.127,374,10.277,375,6.402,376,5.104,380,8.692,624,6.389,625,6.026,630,4.669,637,7.549,643,3.482,644,5.41,645,7.43,646,5.329,647,10.244,648,4.669,649,3.844,650,5.871,651,4.601,652,6.26,653,7.017,654,4.984,655,5.698]],["keywords/35",[]],["title/36",[140,156.973,642,610.082]],["content/36",[5,2.092,6,1.118,7,2.292,11,1.46,35,3.675,37,1.196,38,1.797,48,1.313,49,3.047,51,3.057,52,5.255,53,0.897,61,3.545,62,1.196,64,5.347,78,1.36,79,0.715,84,0.619,88,0.744,90,1.423,91,1.835,92,1.655,93,1.321,94,6.116,102,1.934,103,1.203,105,2.421,108,3.226,112,1.75,120,1.991,130,0.652,131,1.184,133,1.203,136,0.83,137,1.231,138,2.494,139,2.071,140,2.737,141,1.517,143,1.101,144,1.877,150,1.57,151,1.408,152,1.693,155,1.831,160,3.046,162,1.81,163,0.952,164,3.365,165,1.018,173,2.196,174,2.928,180,3.164,181,3.226,182,2.04,183,2.509,185,3.1,186,2.943,187,2.787,189,1.416,192,1.709,194,3.122,197,2.966,198,0.96,201,2.685,202,2.602,204,1.275,207,1.041,209,6.272,214,2.445,216,1.518,217,2.069,219,2.236,225,2.662,227,0.51,240,2.17,241,0.897,242,2.839,252,2.329,256,0.665,257,1.352,258,1.104,259,1.665,263,2.663,265,4.046,268,1.15,273,3.039,275,1.041,277,2.899,278,0.795,280,1.184,285,0.727,318,1.877,320,3.075,321,0.851,323,1.203,327,1.064,329,3.275,330,1.352,333,3.155,337,2.674,338,1.018,340,2.259,345,1.018,347,1.268,349,1.141,350,2.602,352,0.984,353,0.822,358,3.539,361,3.757,373,5.378,374,2.685,375,0.827,376,2.103,378,3.127,391,3.564,392,1.352,396,1.352,398,1.268,404,2.437,423,6.054,425,0.927,432,4.592,446,3.941,447,1.338,455,1.991,508,1.223,540,2.251,552,2.663,554,1.831,563,0.988,568,1.927,583,2.421,612,1.15,615,0.943,626,1.203,627,1.352,631,1.467,640,1.467,646,4.25,651,3.031,652,3.307,653,1.118,656,2.529,657,2.839,658,1.352,659,1.655,660,1.655,661,2.289,662,1.578,663,1.655,664,2.663,665,3.096,666,2.373,667,1.655,668,1.655,669,4.288,670,5.298,671,2.26,672,2.251,673,0.87,674,1.09,675,2.04,676,0.785,677,1.029,678,1.518,679,1.321,680,1.655,681,4.718,682,1.518,683,1.467,684,1.655,685,1.321,686,1.849,687,1.518,688,1.423,689,2.663,690,1.655,691,1.655,692,1.518,693,4.805,694,1.655,695,1.969,696,2.121,697,2.466,698,5.622,699,2.592,700,2.032,701,1.385,702,1.223,703,1.518,704,1.294,705,1.757,706,1.757,707,1.757,708,1.655,709,2.421,710,1.655,711,1.423,712,1.321,713,1.518,714,1.655,715,1.518,716,1.467,717,1.064,718,1.268,719,1.518,720,2.421,721,3.096,722,1.268,723,3.925,724,0.969,725,2.657,726,1.518,727,1.655,728,4.362,729,1.518,730,1.757,731,4.362,732,5.484,733,3.287,734,1.655,735,1.518,736,1.757,737,3.096,738,1.757,739,1.757,740,6.885,741,12.49,742,2.152,743,1.223,744,5.536,745,1.423,746,1.041,747,1.655,748,7.294,749,3.707,750,2.841,751,8.211,752,1.692,753,2.121,754,2.151,755,3.287,756,3.287,757,2.373,758,2.212,759,1.578,760,1.578,761,0.998,762,4.362,763,3.096,764,1.423,765,2.592,766,1.655,767,1.518,768,3.528,769,1.655,770,1.423,771,4.161,772,1.655,773,1.655,774,2.066,775,2.493,776,3.096,777,1.655,778,1.655,779,1.423,780,1.578,781,3.096,782,1.655,783,1.655,784,3.096,785,9.881,786,1.655,787,5.484,788,3.096,789,6.766,790,1.831,791,2.472,792,2.592,793,3.096,794,2.745,795,1.592,796,4.862,797,2.373,798,5.823,799,4.161,800,1.655,801,4.001,802,2.745,803,1.041,804,1.578,805,1.655,806,2.989,807,1.655,808,2.685,809,1.041,810,1.655,811,4.632,812,1.064,813,0.811,814,1.578,815,1.467,816,1.655,817,1.518,818,1.385,819,1.064,820,5.823,821,1.268,822,1.064,823,1.223,824,1.385,825,1.077,826,1.518,827,2.663,828,3.287,829,1.655,830,2.373,831,1.655,832,1.578,833,7.383,834,2.592,835,1.757,836,1.15,837,3.096,838,4.161,839,1.655,840,1.184,841,3.287,842,1.321,843,1.184,844,3.287,845,1.184,846,1.757,847,2.745,848,0.816,849,0.943,850,1.655,851,1.578,852,2.365,853,3.287]],["keywords/36",[]],["title/37",[723,952.996]],["content/37",[5,1.221,7,2.213,18,3.081,35,2.717,48,5.397,51,2.953,52,5.579,53,5.962,83,4.535,137,4.372,140,3.197,146,5.654,151,6.102,152,4.267,160,3.985,162,1.345,164,4.402,167,4.139,172,11.158,173,6.756,174,5.869,175,7.244,176,8.734,177,7.432,178,7.336,179,6.325,180,4.971,181,5.284,187,4.725,194,3.844,214,6.161,217,2.69,223,6.214,265,2.678,277,2.708,279,2.728,340,5.528,350,4.416,352,3.495,373,8.45,374,6.767,375,6.71,376,5.283,380,9.206,624,6.767,625,6.382,630,5.027,637,7.995,643,3.749,645,5.104,646,4.576,647,9.815,648,5.027,649,4.139,650,6.322,651,4.954,652,6.631,653,7.432,654,5.366,655,6.135]],["keywords/37",[]],["title/38",[854,1538.415]],["content/38",[53,10.424,140,2.417,160,3.562,162,3.023,164,3.935,278,7.705,361,10.984,614,8.836,848,10.157,852,8.694,855,7.857,856,14.214,857,18.525]],["keywords/38",[]],["title/39",[350,360.942]],["content/39",[5,2.375,38,8.051,48,5.29,52,5.461,53,7.52,78,6.093,140,2.091,141,6.796,142,8.051,160,3.081,180,4.572,190,10.844,282,9.502,337,5.023,340,5.713,350,4.765,376,4.498,392,11.33,423,7.133,562,10.844,634,19.358,636,12.295,655,11.931,676,6.581,752,7.581,858,13.87,859,12.295]],["keywords/39",[]],["title/40",[136,279.23,144,150.19]],["content/40",[6,5.369,50,3.143,53,4.307,136,2.13,144,1.146,146,4.085,150,4.027,181,3.128,213,8.48,214,11.36,219,7.593,230,3.893,232,6.632,250,7.944,292,3.7,423,9.232,633,8.434,646,8.802,656,13.961,662,16.303,697,6.746,717,7.678,723,14.7,724,6.993,725,11.344,847,7.042,853,15.223,860,9.178,861,9.178,862,9.178,863,9.178,864,9.178,865,9.178,866,9.178,867,13.79,868,9.178,869,9.178,870,9.178,871,13.79,872,9.178,873,9.178,874,4.377,875,4.654,876,7.578,877,6.211,878,8.434,879,9.178,880,9.178,881,9.178,882,9.691,883,9.447,884,10.268,885,16.566,886,16.566,887,9.178,888,9.178,889,7.578,890,9.178,891,9.178,892,7.578,893,9.178]],["keywords/40",[]],["title/41",[1,224.429,21,634.36]],["content/41",[]],["keywords/41",[]],["title/42",[21,634.36,79,449.943]],["content/42",[1,4.148,5,1.276,7,1.369,18,1.905,21,6.926,35,2.391,36,6.724,37,4.392,47,5.332,50,2.948,52,1.187,54,2.905,57,6.086,58,2.017,70,3.108,71,5.175,80,3.156,84,1.648,91,1.855,102,2.627,130,1.736,136,1.998,139,2.154,143,2.65,144,0.636,152,1.711,157,2.41,162,0.831,165,2.714,179,2.536,192,2.239,196,2.22,202,2.092,219,5.622,220,2.284,224,1.663,225,4.971,232,5.375,236,3.602,248,2.633,252,2.354,279,3.701,290,2.87,305,2.804,309,2.492,318,1.121,325,2.87,326,3.156,327,2.836,333,2.536,336,1.993,337,4.993,352,4.666,353,5.646,383,4.492,414,14.151,416,4.206,434,3.725,436,2.318,437,2.633,465,3.521,495,4.072,513,6.72,522,6.538,540,3.206,554,2.608,571,2.146,575,2.942,620,8.956,676,3.535,686,2.633,697,7.182,724,2.583,822,2.836,848,2.175,849,2.514,894,3.692,895,5.094,896,3.318,897,4.681,898,3.38,899,4.681,900,3.108,901,3.108,902,3.318,903,5.094,904,5.094,905,5.094,906,5.094,907,3.793,908,5.094,909,5.094,910,5.094,911,3.793,912,3.521,913,4.681,914,3.909,915,3.602,916,4.044,917,4.681,918,2.714,919,4.206,920,3.26,921,4.044,922,3.156,923,4.409,924,5.094,925,4.044,926,19.197,927,3.692,928,13.574,929,5.094,930,7.909,931,6.832,932,19.197,933,5.094,934,8.226,935,5.094,936,5.094,937,7.072,938,7.585,939,5.094,940,5.094,941,4.008,942,5.094,943,8.607,944,5.094,945,5.094,946,5.094,947,5.094,948,5.094,949,5.094,950,5.094,951,5.094,952,5.094,953,5.094,954,5.094,955,7.45,956,3.26,957,4.634,958,2.536,959,4.044,960,4.206,961,5.094,962,5.094,963,4.206,964,5.094,965,5.094,966,3.108,967,5.094,968,5.094,969,5.094,970,5.094,971,5.094,972,5.094,973,4.681,974,5.094,975,3.909,976,4.681,977,2.905,978,2.492,979,4.409,980,15.93,981,8.607,982,11.176,983,8.607,984,5.094,985,5.094,986,5.094,987,5.094,988,5.094,989,5.094,990,5.094,991,5.094,992,5.094,993,5.094,994,5.094,995,5.094,996,5.094,997,5.094,998,5.094,999,5.094,1000,5.094,1001,5.094,1002,5.094,1003,5.094,1004,4.681]],["keywords/42",[]],["title/43",[4,526.251,225,308.244,1005,668.524]],["content/43",[1,3.2,4,10.783,7,2.615,18,3.64,20,5.356,21,10.672,67,5.356,79,7.091,102,2.971,130,3.317,139,2.782,142,4.889,144,1.215,162,1.588,164,2.067,202,5.917,225,5.917,248,9.8,273,3.947,279,4.771,325,5.482,326,6.029,337,5.377,349,3.106,350,2.283,352,2.677,353,4.183,361,5.771,404,3.743,466,8.423,467,5.62,476,5.62,495,4.604,542,7.675,546,6.457,556,6.457,594,5.297,620,8.618,621,5.24,775,3.238,845,6.029,856,7.467,899,8.943,900,5.938,914,15.531,918,5.185,927,10.441,960,8.035,1004,8.943,1005,9.75,1006,9.732,1007,12.773,1008,7.246,1009,16.068,1010,7.053,1011,9.732,1012,12.47,1013,9.732,1014,7.725,1015,14.407,1016,6.586,1017,8.943,1018,7.467,1019,5.572,1020,8.423,1021,10.187,1022,9.732,1023,13.162,1024,6.586,1025,4.642,1026,4.72,1027,9.732,1028,9.732,1029,7.053,1030,9.732,1031,6.457,1032,8.423,1033,8.943,1034,7.246]],["keywords/43",[]],["title/44",[225,308.244,434,427.524,1035,698.474]],["content/44",[1,4.249,5,1.017,7,3.699,21,7.259,35,1.468,36,9.418,37,3.677,47,4.25,65,4.391,71,13.061,96,6.522,136,1.592,139,3.48,143,2.113,156,4.468,162,1.795,192,1.374,196,2.99,202,6.468,219,3.882,220,4.932,225,4.915,248,5.685,273,2.783,279,3.643,337,7.434,352,3.026,353,4.728,361,4.068,407,4.552,434,4.76,443,5.8,476,6.352,518,5.446,533,10.564,571,2.891,592,4.25,620,5.526,666,4.552,676,2.817,677,3.694,686,3.546,724,3.479,743,4.391,761,3.581,775,2.283,825,3.865,918,3.655,922,4.25,934,11.407,937,12.264,938,13.153,957,3.694,958,3.416,966,6.711,975,8.44,976,10.108,979,9.52,1005,4.643,1010,7.972,1016,4.643,1035,4.851,1036,4.186,1037,5.108,1038,4.468,1039,6.622,1040,6.304,1041,6.861,1042,6.861,1043,6.304,1044,6.861,1045,6.304,1046,6.861,1047,5.938,1048,6.861,1049,6.861,1050,7.972,1051,6.861,1052,6.861,1053,8.44,1054,8.731,1055,4.468,1056,6.861,1057,4.552]],["keywords/44",[]],["title/45",[60,424.602,1058,694.758]],["content/45",[]],["keywords/45",[]],["title/46",[60,295.707,136,194.465,137,288.399,277,178.609]],["content/46",[1,3.373,5,2.679,29,7.074,45,3.697,49,10.526,54,10.31,56,11.775,60,6.381,61,8.553,62,6.044,277,5.018,337,5.667,674,10.31,813,7.668,1058,10.44,1059,10.577]],["keywords/46",[]],["title/47",[136,279.23,275,654.836]],["content/47",[1,3.346,5,2.658,29,7.018,60,6.33,136,5.055,256,6.235,277,3.823,286,10.228,329,9.27,348,13.762,370,10.785,376,5.035,697,8.774,761,9.362,1060,17.936,1061,13.355,1062,16.482,1063,17.936,1064,17.936]],["keywords/47",[]],["title/48",[376,337.717,1065,850.703]],["content/48",[1,1.655,5,1.522,7,3.082,18,1.092,20,3.981,29,1.142,35,0.624,37,2.418,45,3.065,47,4.481,48,5.584,49,5.518,50,1.809,51,1.046,52,1.23,53,3.395,55,2.875,56,7.473,60,4.744,61,4.198,62,4.494,63,5.584,78,1.11,84,0.944,102,2.208,103,8.975,120,1.625,121,2.385,136,3.767,137,2.49,139,2.763,142,1.466,151,1.149,153,3.432,157,5.428,158,1.169,162,2.816,163,1.453,165,1.555,167,3.634,172,1.571,175,1.664,181,3.024,188,1.606,189,1.155,194,0.883,196,5.457,197,4.066,208,0.571,209,2.27,213,3.703,219,6.39,220,2.368,223,2.584,224,4.894,230,1.238,232,1.404,234,2.561,274,3.981,275,1.589,277,4.935,279,0.967,285,1.11,292,2.916,296,2.653,324,10.526,326,1.808,336,1.142,358,0.732,370,1.755,371,1.707,373,8.782,374,4.727,375,4.444,376,4.706,378,7.718,379,10.143,446,6.588,453,2.526,455,2.94,503,1.975,543,1.868,554,3.703,558,3.828,614,1.392,626,11.139,627,12.514,643,1.328,646,5.635,676,2.169,693,8.443,696,1.731,716,4.052,725,3.814,750,1.309,753,6.803,789,4.413,813,6.357,819,1.625,878,2.682,883,3.012,978,5.612,1029,5.242,1059,9.15,1065,14.775,1066,4.075,1067,2.919,1068,7.043,1069,5.281,1070,2.919,1071,2.115,1072,3.634,1073,2.239,1074,2.919,1075,2.919,1076,2.919,1077,8.873,1078,8.474,1079,2.239,1080,2.064,1081,10.671,1082,8.888,1083,2.919,1084,2.703,1085,2.919,1086,2.919,1087,4.361,1088,2.919,1089,1.901,1090,5.281,1091,4.853,1092,2.286,1093,7.88,1094,11.854,1095,3.932,1096,2.919,1097,5.281,1098,2.173,1099,4.853,1100,2.919,1101,2.682,1102,2.919,1103,2.919,1104,7.326,1105,3.324,1106,4.853,1107,4.361,1108,4.192,1109,4.853,1110,4.571,1111,4.571,1112,4.853,1113,3.324,1114,3.44,1115,1.937,1116,2.919,1117,2.682,1118,1.975,1119,2.682,1120,3.828,1121,2.919,1122,2.682,1123,1.997,1124,2.919,1125,2.526,1126,2.919,1127,2.41,1128,2.919]],["keywords/48",[]],["title/49",[1129,575.333]],["content/49",[]],["keywords/49",[]],["title/50",[277,210.57,1129,369.428,1130,735.532]],["content/50",[1,2.767,35,2.166,55,5.511,64,3.418,75,7.495,78,3.85,88,3.939,91,3.686,97,4.211,102,4.528,119,5.285,138,3.985,140,2.684,143,4.568,155,5.183,157,4.79,162,1.652,164,3.151,173,4.412,180,2.889,181,3.451,187,5.517,193,5.511,194,3.064,208,1.98,209,6.376,217,3.306,241,4.752,252,4.678,277,4.386,329,5.233,332,5.573,508,6.48,564,6.48,671,4.54,673,4.607,675,5.774,693,5.704,698,6.7,744,4.752,758,4.443,775,3.369,819,5.637,843,6.272,1026,4.911,1039,4.87,1072,5.087,1114,6.595,1129,9.292,1130,11.045,1131,8.764,1132,8.764,1133,6.178,1134,6.48,1135,7.338,1136,6.595,1137,7.539,1138,7.338,1139,4.507,1140,11.433,1141,8.764,1142,9.304,1143,8.764,1144,12.839,1145,8.764,1146,6.004,1147,10.125,1148,10.488,1149,7.539,1150,4.642,1151,5.637,1152,7.539,1153,6.603,1154,7.539,1155,6.373,1156,8.764,1157,8.764,1158,8.038,1159,6.999,1160,6.718]],["keywords/50",[]],["title/51",[1129,449.943,1131,1041.352]],["content/51",[4,7.206,48,5.349,52,4.784,78,5.143,89,5.626,91,4.924,125,8.513,173,5.894,207,7.362,277,5.139,279,4.479,355,8.133,648,13.4,720,9.154,754,10.933,813,5.737,842,9.349,875,6.859,1007,10.071,1072,11.513,1114,8.809,1129,5.058,1131,11.707,1161,9.802,1162,13.526,1163,13.526,1164,18.182,1165,11.707,1166,12.429,1167,13.526,1168,9.802,1169,12.429,1170,8.02,1171,11.168,1172,13.526,1173,12.429,1174,9.564,1175,8.656,1176,16.708,1177,13.526,1178,13.526]],["keywords/51",[]],["title/52",[1129,449.943,1132,1041.352]],["content/52",[17,9.995,48,4.401,75,7.995,91,3.454,140,1.238,141,5.996,152,3.187,160,1.824,164,3.589,174,7.807,198,8.489,202,3.896,209,6.076,217,7.299,221,6.915,256,4.914,265,4.595,277,3.992,279,3.142,286,14.115,309,6.915,332,5.221,348,12.965,508,9.047,700,5.699,724,9.495,819,5.281,1072,10.061,1129,3.548,1132,12.235,1150,6.481,1153,4.223,1168,12.246,1175,6.071,1179,8.625,1180,9.207,1181,22.354,1182,14.136,1183,14.136,1184,5.971,1185,14.136,1186,14.136,1187,6.708,1188,9.486,1189,9.486,1190,20.025,1191,9.486,1192,9.486,1193,20.994]],["keywords/52",[]],["title/53",[1129,449.943,1133,734.062]],["content/53",[1,1.968,5,1.564,43,9.956,48,6.115,61,4.992,62,3.528,75,7.674,78,4.012,84,3.414,97,4.389,102,3.221,106,5.563,140,1.377,152,3.545,160,2.029,180,3.011,181,3.596,194,3.193,220,4.731,224,3.446,256,3.668,258,8.827,260,7.001,271,6.345,273,4.28,277,4.201,317,4.361,332,5.807,378,5.207,646,3.801,649,7.68,661,6.753,698,4.766,703,8.376,712,7.293,750,4.731,751,6.641,754,6.345,775,5.981,843,6.536,901,6.438,977,6.017,1031,7.001,1072,10.957,1129,5.717,1133,10.967,1150,4.838,1153,4.697,1159,7.293,1160,7.001,1174,10.808,1194,10.552,1195,15.26,1196,15.731,1197,13.026,1198,10.552,1199,7.647,1200,5.944,1201,6.438]],["keywords/53",[]],["title/54",[1129,449.943,1134,769.966]],["content/54",[5,2.319,35,1.788,37,2.795,43,8.368,48,5.21,61,3.956,62,2.795,75,7.497,84,5.062,102,2.552,106,6.774,124,4.28,130,2.85,140,1.091,143,2.575,144,1.044,152,2.809,160,1.608,164,1.776,180,4.464,181,2.85,188,4.602,189,3.31,208,2.513,213,4.28,220,3.749,256,2.907,258,7.419,265,2.718,275,4.551,277,4.799,278,3.478,285,3.179,317,5.01,324,5.101,370,9.408,373,6.231,375,6.772,378,4.126,442,5.101,643,3.805,646,3.012,649,7.861,651,9.408,661,5.351,676,3.434,693,4.71,698,3.776,703,6.637,712,5.779,725,4.408,775,4.275,978,6.285,1066,4.71,1072,11.079,1129,7.086,1133,5.101,1134,12.127,1150,7.174,1153,3.722,1160,5.548,1174,5.912,1195,14.112,1196,14.917,1197,12.726,1199,9.311,1200,4.71,1201,5.101,1202,8.361,1203,5.548,1204,6.903,1205,6.415,1206,8.361,1207,4.551,1208,4.502,1209,8.361,1210,8.361,1211,4.958,1212,11.12,1213,9.311,1214,5.262]],["keywords/54",[]],["title/55",[693,677.776,1129,449.943]],["content/55",[1,0.886,5,2.43,7,2.179,18,1.777,20,2.615,37,1.588,43,5.283,48,4.697,52,4.486,61,2.248,62,1.588,75,6.018,78,1.806,84,3.434,96,2.817,102,1.45,120,2.645,139,2.253,140,0.62,143,1.463,144,1.325,146,3.611,152,2.725,159,2.645,160,0.914,164,1.723,172,4.367,173,2.07,177,2.779,180,1.355,181,1.619,182,2.709,188,2.615,194,1.438,213,2.432,219,2.863,220,5.627,230,3.44,232,5.105,234,7.953,256,1.651,258,2.743,265,1.544,268,4.878,271,2.857,272,2.709,275,4.415,277,4.308,285,1.806,290,4.57,298,3.922,309,5.192,317,3.029,325,2.676,333,2.365,362,2.304,373,7.446,374,10.26,375,5.432,377,3.215,378,11.121,379,3.215,432,2.558,447,3.97,543,3.04,592,2.943,615,2.344,637,2.99,646,3.824,649,5.333,652,4.234,661,3.04,676,1.951,693,14.073,695,4.464,696,6.294,698,4.794,711,3.537,743,5.191,750,2.13,775,1.581,819,2.645,883,2.709,884,3.537,921,3.771,1058,2.743,1071,5.879,1072,10.98,1081,8.426,1129,5.741,1133,2.899,1134,3.04,1140,9.18,1153,3.611,1160,3.152,1174,3.359,1195,13.418,1196,13.867,1197,11.126,1199,5.879,1200,2.676,1201,2.899,1207,2.586,1208,2.558,1215,4.112,1216,4.112,1217,4.366,1218,3.443,1219,4.751,1220,5.025,1221,8.145,1222,3.645,1223,4.751,1224,2.857,1225,4.366,1226,3.922,1227,8.145,1228,3.771,1229,3.094,1230,4.751,1231,4.751,1232,4.751,1233,4.366,1234,4.751,1235,4.751,1236,4.751,1237,10.363]],["keywords/55",[]],["title/56",[1129,449.943,1136,783.61]],["content/56",[5,2.473,17,6.569,35,1.987,43,9.065,48,5.626,61,4.396,62,3.106,75,8.475,78,3.533,84,3.006,102,2.836,140,1.212,143,2.861,144,1.16,152,3.121,160,1.787,164,1.974,180,2.651,181,5.688,189,5.51,208,2.722,209,5.983,217,4.545,220,6.24,258,5.365,262,6.165,277,4.932,284,4.899,286,11.882,317,2.651,332,5.114,378,4.585,615,6.868,628,4.166,646,3.347,649,6.993,661,10.68,698,4.196,750,4.166,775,5.553,977,5.298,1072,9.973,1129,5.205,1130,10.363,1136,14.47,1150,6.381,1153,4.136,1160,6.165,1174,6.569,1195,13.334,1196,14.47,1197,12.095,1199,6.733,1200,5.234,1201,10.182,1211,8.253,1224,5.587,1238,5.587,1239,15.336,1240,7.129,1241,6.733,1242,9.291,1243,8.538,1244,8.042]],["keywords/56",[]],["title/57",[1129,369.428,1139,439.706,1146,585.741]],["content/57",[1,2.37,5,1.221,12,6.802,17,10.962,29,3.224,51,2.953,58,3.262,75,6.619,129,4.03,139,3.656,140,1.075,144,1.586,164,3.293,180,5.674,183,4.102,192,2.545,209,3.541,217,6.146,238,4.344,252,3.807,277,1.756,278,3.427,279,2.728,286,7.244,317,4.971,337,3.982,340,2.938,425,3.996,442,7.75,511,5.027,646,5.585,649,8.754,742,5.424,941,3.836,1072,4.139,1079,6.322,1084,6.503,1129,8.386,1130,6.135,1136,10.097,1139,3.667,1146,12.689,1150,3.777,1153,5.654,1158,10.084,1195,9.922,1196,8.274,1197,9.206,1213,5.971,1214,5.185,1245,6.802,1246,4.954,1247,5.695,1248,17.423,1249,5.826,1250,12.8,1251,8.239,1252,5.971,1253,8.429,1254,4.698,1255,19.887,1256,15.503,1257,12.703,1258,12.703,1259,5.576,1260,9.747,1261,15.503,1262,11.673,1263,6.631,1264,4.258,1265,5.273,1266,5.104,1267,8.239]],["keywords/57",[]],["title/58",[1129,313.355,1139,372.966,1140,545.732,1141,725.232]],["content/58",[1,3.49,35,3.02,48,5.465,55,7.684,58,5.589,112,6.906,129,6.906,140,1.842,144,1.762,152,4.743,160,2.715,275,10.183,276,19.283,279,4.676,337,4.425,425,6.847,432,7.601,649,9.4,698,6.377,750,6.33,1072,9.4,1114,15.14,1129,6.997,1139,6.284,1140,12.186,1141,16.194,1142,20.531,1160,9.368,1207,7.684,1268,9.035,1269,8.746,1270,11.207,1271,14.118,1272,14.118,1273,14.118,1274,14.118]],["keywords/58",[]],["title/59",[1129,313.355,1139,372.966,1140,545.732,1143,725.232]],["content/59",[1,3.286,5,1.913,6,10.304,35,2.761,55,7.025,58,5.11,129,6.314,140,1.684,144,1.611,150,5.664,152,4.336,160,2.482,164,2.742,180,3.682,183,8.77,213,6.607,219,6.216,279,4.274,337,4.045,370,10.591,373,10.448,376,4.944,378,6.369,425,6.26,646,7.224,698,5.829,795,5.745,1066,7.271,1114,8.406,1129,6.587,1139,5.745,1140,11.472,1143,11.171,1144,11.171,1150,8.076,1168,15.612,1207,7.025,1270,13.982,1275,11.171,1276,12.906,1277,10.656,1278,20.052,1279,9.354,1280,8.921,1281,12.906,1282,11.86,1283,11.86,1284,9.61,1285,10.656]],["keywords/59",[]],["title/60",[1129,313.355,1139,372.966,1140,545.732,1145,725.232]],["content/60",[1,2.941,5,1.632,43,10.269,48,5.235,55,5.995,58,4.361,61,5.211,62,3.683,75,4.703,84,3.564,102,3.363,103,6.933,129,5.389,140,1.437,144,1.375,152,3.7,160,2.118,164,3.349,181,3.754,208,3.084,220,8.256,258,6.361,273,4.468,277,3.361,279,3.648,337,3.453,370,6.624,373,5.343,378,5.436,425,5.343,448,10.122,646,3.968,649,7.921,661,7.05,693,6.205,698,4.975,775,3.665,795,4.903,1072,10.687,1114,7.174,1129,5.896,1139,4.903,1140,10.269,1144,13.647,1145,9.534,1150,7.229,1160,7.309,1168,13.345,1174,7.789,1195,13.614,1196,14.842,1197,13.345,1199,7.983,1200,6.205,1201,6.721,1207,5.995,1211,6.532,1233,10.122,1270,12.516,1282,10.122,1283,10.122,1286,11.015,1287,11.015,1288,7.983,1289,11.015]],["keywords/60",[]],["title/61",[193,537.657,1129,369.428,1135,715.91]],["content/61",[1,1.786,5,2.11,17,4.092,18,2.164,35,2.62,37,3.201,43,6.236,45,1.183,46,3.932,48,4.425,50,1.982,59,4.202,60,2.042,61,2.738,62,3.201,75,8.032,78,3.641,84,5.102,89,2.407,97,3.982,102,1.766,112,2.831,129,2.831,140,0.755,141,7.978,144,0.722,152,1.944,160,1.113,162,0.944,164,1.229,165,3.083,174,2.674,180,2.732,181,5.791,183,2.881,186,1.651,189,3.791,193,7.747,208,1.873,209,4.116,217,1.89,219,2.042,220,5.491,224,1.89,258,3.342,272,3.3,275,3.15,277,4.491,279,1.916,282,3.431,286,8.117,292,3.86,307,3.26,309,2.831,317,2.732,326,3.585,327,3.222,336,2.264,345,5.101,358,2.401,376,1.624,378,7.024,494,3.15,508,3.703,558,4.194,562,3.916,574,3.431,615,6.044,620,2.907,643,5.573,646,3.449,649,7.923,658,4.092,661,7.838,698,2.614,712,4,746,7.747,750,4.293,758,2.539,775,3.186,848,2.471,874,4.567,875,2.934,977,3.3,1072,7.923,1129,5.897,1130,9.12,1135,4.194,1136,11.066,1148,4.092,1150,5.616,1153,4.262,1160,8.127,1174,4.092,1195,10.873,1196,12.252,1197,10.316,1199,4.194,1200,3.26,1201,3.531,1211,5.678,1213,6.939,1214,8.959,1239,8.799,1244,5.009,1250,4.778,1260,4.44,1263,10.763,1264,4.949,1265,6.128,1266,3.585,1290,4.778,1291,6.236,1292,8.288,1293,4.778,1294,3.342,1295,5.787,1296,3.84,1297,4.092,1298,9.575,1299,7.587,1300,4.194,1301,5.787,1302,5.009,1303,5.787,1304,5.787,1305,9.575,1306,9.575,1307,5.46,1308,6.939,1309,5.787,1310,4.309,1311,5.009,1312,5.009]],["keywords/61",[]],["title/62",[70,602.705,1129,369.428,1137,735.532]],["content/62",[1,3.186,5,2.531,31,8.944,39,6.793,43,11.125,46,5.068,48,4.448,52,2.875,55,6.717,62,4.126,66,7.318,70,7.53,79,4.615,120,6.871,130,4.206,140,1.61,152,4.146,154,11.341,160,2.373,181,4.206,194,5.169,230,5.234,234,5.986,275,6.717,277,4.175,285,4.693,378,6.09,383,6.442,404,4.746,596,8.53,652,8.915,661,7.898,671,5.533,676,5.068,693,11.034,742,5.269,761,6.442,775,4.106,813,5.234,883,7.038,1072,6.201,1129,7.325,1130,9.189,1137,12.718,1153,7.603,1156,10.682,1174,8.726,1195,12.535,1196,14.952,1197,8.944,1200,6.953,1201,7.53,1313,10.19,1314,11.341,1315,12.341,1316,12.341]],["keywords/62",[]],["title/63",[1129,449.943,1317,871.939]],["content/63",[1,3.543,143,5.849,187,8.385,317,5.419,345,10.118,812,10.574,1129,8.431,1277,15.682,1317,16.338,1318,16.439]],["keywords/63",[]],["title/64",[1129,449.943,1318,1041.352]],["content/64",[1,2.67,13,5.887,14,7.659,29,3.775,35,4.039,37,3.226,48,2.513,58,3.82,75,6.112,84,4.632,97,4.013,129,4.72,138,3.797,140,1.259,144,1.204,146,6.372,152,3.241,160,1.855,174,4.458,180,2.753,183,4.804,189,3.82,193,7.792,208,2.8,211,8.375,224,3.151,246,7.184,265,4.653,277,4.025,278,5.954,279,3.195,292,5.771,305,9.394,319,6.402,337,3.024,425,4.68,432,7.708,625,7.192,656,10.122,725,7.548,750,4.326,874,9.006,875,4.893,901,5.887,1129,5.354,1139,4.295,1150,4.424,1213,10.375,1214,9.01,1250,7.967,1263,12.366,1264,7.399,1265,9.162,1266,5.977,1285,11.82,1292,8.351,1293,11.82,1299,5.977,1310,7.184,1311,8.351,1312,8.351,1318,8.351,1319,9.649,1320,15.684,1321,9.649,1322,9.649,1323,7.97,1324,9.649,1325,9.649,1326,9.649,1327,8.867,1328,8.867,1329,13.155,1330,6.175,1331,13.155,1332,13.155,1333,14.316,1334,8.867,1335,6.669]],["keywords/64",[]],["title/65",[1129,449.943,1277,993.368]],["content/65",[5,2.891,17,6.31,35,1.909,48,3.516,52,4.23,60,3.149,78,3.393,139,2.39,140,1.164,152,2.998,160,1.716,162,1.456,172,7.269,173,3.889,180,2.546,183,8.109,205,5.366,207,4.857,208,1.745,213,9.985,217,2.914,256,3.102,273,3.619,277,4.158,317,2.546,350,4.261,358,3.385,371,5.22,373,9.46,374,7.193,375,5.843,626,5.616,645,5.528,649,6.783,725,11.237,750,4.001,785,10.718,977,5.089,1072,4.483,1105,12.277,1129,3.337,1150,7.467,1153,9.134,1159,11.257,1160,8.959,1207,4.857,1227,13.934,1244,7.724,1277,19.699,1336,6.467,1337,7.084,1338,8.923,1339,7.431,1340,8.2,1341,8.923,1342,8.923,1343,8.923,1344,8.923,1345,8.923,1346,8.923,1347,8.923,1348,16.287,1349,8.923,1350,8.923,1351,8.923,1352,13.502,1353,8.2,1354,13.502,1355,18.16,1356,8.923,1357,7.368]],["keywords/65",[]],["title/66",[277,210.57,345,526.251,1129,369.428]],["content/66",[1,3.054,35,3.502,45,3.348,140,2.136,152,5.5,160,3.149,162,3.856,174,7.565,208,3.202,277,5.378,340,5.838,345,11.998,1129,6.123,1153,9.164,1159,11.317,1211,12.208,1307,11.74,1358,16.373]],["keywords/66",[]],["title/67",[671,539.435,1129,449.943]],["content/67",[1,3.212,5,2.331,7,1.049,9,2.759,17,2.76,18,3.417,20,3.767,45,0.798,46,1.603,48,5.393,52,1.594,54,2.226,61,1.847,62,1.305,64,1.318,69,7.618,75,7.614,77,6.804,78,5.981,89,4.566,91,3.997,97,4.566,106,3.609,107,4.839,110,2.382,112,1.91,121,1.763,125,2.457,130,3.742,139,0.573,140,1.192,143,2.107,152,3.688,153,1.51,155,1.998,157,5.194,165,2.08,171,4.38,173,1.701,181,4.256,184,3.223,185,1.91,188,2.149,189,1.546,192,2.754,194,1.181,195,2.382,197,1.546,202,3.753,203,3.903,209,7.666,217,1.275,220,3.069,225,2.136,226,3.503,240,7.633,241,5.152,252,1.804,255,2.315,258,2.254,262,4.541,265,1.269,271,2.347,277,4.579,284,2.058,307,3.855,309,3.348,317,5.908,318,2.747,320,2.382,336,3.575,350,2.576,404,3.514,435,2.829,440,2.907,442,5.575,447,3.417,495,1.847,508,4.38,543,2.498,555,7.254,563,2.018,568,2.617,593,4.004,614,4.359,615,1.926,623,3.223,642,6.332,643,1.776,647,2.199,671,5.598,711,2.907,715,5.433,742,1.667,744,6.952,750,4.097,751,5.751,754,2.347,758,4.818,775,5.498,789,4.176,802,2.995,824,2.829,836,2.347,843,4.24,848,2.922,851,3.223,874,1.862,934,3.319,956,4.38,958,1.944,1026,1.893,1039,7.124,1084,1.998,1089,2.543,1129,8.117,1134,2.498,1148,4.839,1151,5.087,1214,2.457,1224,4.115,1225,3.587,1263,3.572,1339,7.565,1357,5.651,1359,3.379,1360,3.587,1361,3.904,1362,3.904,1363,2.76,1364,3.587,1365,3.223,1366,3.904,1367,4.307,1368,4.96,1369,5.651,1370,6.844,1371,6.844,1372,3.379,1373,3.223,1374,4.176,1375,3.099,1376,3.379,1377,3.587,1378,14.813,1379,11.897,1380,2.995,1381,8.397,1382,3.379,1383,3.099,1384,3.587,1385,2.698,1386,2.642,1387,5.651,1388,2.995,1389,2.829,1390,3.379,1391,3.904,1392,5.924,1393,5.251,1394,5.924,1395,2.995,1396,3.587,1397,2.995,1398,6.289,1399,5.651,1400,2.698,1401,2.698,1402,3.904,1403,5.924,1404,2.829,1405,3.587,1406,3.904,1407,3.379]],["keywords/67",[]],["title/68",[77,895.836,240,412.077]],["content/68",[]],["keywords/68",[]],["title/69",[746,654.836,927,871.939]],["content/69",[5,1.829,48,3.214,77,9.189,105,8.352,106,6.507,119,6.442,139,3.368,155,6.317,163,6.145,180,3.521,192,2.472,196,5.378,198,6.201,217,4.03,240,4.227,241,5.792,279,4.087,317,6.031,318,2.715,336,7.664,358,3.094,379,8.352,423,5.493,538,9.189,596,8.53,671,5.533,742,7.293,744,9.921,746,6.717,764,9.189,768,9.509,775,4.106,779,9.189,1039,5.935,1095,9.189,1129,7.905,1148,8.726,1150,5.658,1152,9.189,1153,5.493,1408,12.341,1409,7.421,1410,17.999,1411,10.682,1412,12.341,1413,12.341,1414,9.189,1415,12.341,1416,11.341,1417,7.53,1418,11.341,1419,12.341,1420,10.682,1421,9.47,1422,12.341,1423,7.127,1424,11.341]],["keywords/69",[]],["title/70",[1414,1145.489]],["content/70",[5,2.88,10,11.14,46,7.982,70,9.128,192,2.997,195,11.858,198,7.517,217,4.885,240,7.394,274,8.234,279,4.955,317,4.269,318,3.291,336,8.446,423,6.66,673,6.808,742,9.217,744,10.131,758,6.566,768,10.82,1026,7.256,1129,5.595,1207,8.143,1249,10.579,1339,10.697,1414,17.635,1425,12.353,1426,14.961]],["keywords/70",[]],["title/71",[1427,1413.703]],["content/71",[5,2.325,46,6.443,70,9.573,78,5.966,192,3.143,195,9.573,217,5.123,224,5.123,225,4.896,240,6.864,241,7.363,274,8.635,317,4.477,318,3.452,336,8.639,423,6.984,570,9.179,742,9.427,744,10.363,768,11.157,1129,5.868,1414,17.322,1420,13.58,1427,20.29,1428,15.69]],["keywords/71",[]],["title/72",[1429,1413.703]],["content/72",[5,2.325,70,9.573,78,5.966,192,3.143,195,9.573,217,5.123,224,5.123,225,4.896,240,6.864,241,7.363,274,8.635,317,4.477,318,3.452,336,8.639,423,6.984,570,9.179,742,9.427,744,10.363,768,11.157,1129,5.868,1339,8.635,1414,17.322,1420,13.58,1429,20.29,1430,15.69]],["keywords/72",[]],["title/73",[1379,1331.557]],["content/73",[5,1.846,48,5.799,51,2.879,62,2.686,75,6.515,91,4.535,103,9.603,139,3.114,140,1.048,143,2.474,173,3.501,180,3.554,181,5.859,189,3.18,192,1.609,201,6.636,217,5.614,219,4.396,224,2.623,240,4.267,241,3.77,252,3.712,259,3.741,277,3.253,317,5.616,318,1.767,327,4.472,336,6.726,362,3.896,371,7.288,379,5.437,390,11.448,423,3.576,425,6.042,442,7.601,447,3.004,555,6.377,614,3.832,642,4.074,646,4.488,676,3.299,742,7.34,744,7.161,768,6.935,775,7.661,819,8.495,1039,9.876,1129,6.958,1148,5.68,1153,3.576,1156,13.207,1207,4.372,1214,7.841,1339,8.398,1376,10.782,1379,6.953,1382,6.953,1383,6.377,1389,5.822,1400,5.553,1410,15.797,1416,7.382,1417,7.601,1418,15.797,1424,7.382,1431,10.286,1432,11.708,1433,9.889,1434,8.033,1435,8.033,1436,8.033,1437,8.808,1438,8.033,1439,8.033,1440,6.953,1441,8.033,1442,8.033,1443,8.033,1444,6.633,1445,6.377,1446,6.633]],["keywords/73",[]],["title/74",[1392,1331.557]],["content/74",[1,3.541,5,1.725,7,3.127,49,7.886,51,4.172,140,1.519,143,3.585,151,4.581,155,5.959,189,4.609,192,2.332,208,3.207,217,3.801,224,3.801,240,5.616,252,5.378,259,5.42,277,5.3,317,4.678,318,2.561,319,7.724,336,7.427,362,5.646,379,7.878,423,5.182,447,4.353,508,7.45,614,5.552,642,5.903,742,7.001,744,8.909,750,5.219,768,9.129,775,7.998,1039,7.886,1129,7.707,1307,6.638,1339,10.448,1389,8.436,1392,10.076,1400,8.046,1431,13.538,1432,14.565,1433,9.241,1447,9.611,1448,7.45,1449,11.641,1450,11.641]],["keywords/74",[]],["title/75",[1399,1270.201]],["content/75",[1,3.664,5,1.839,51,4.447,97,5.161,140,1.619,143,3.821,151,4.884,155,6.352,189,4.913,192,2.486,203,7.076,217,4.052,240,4.25,252,5.733,259,5.778,277,5.261,317,5.605,318,2.73,336,7.686,362,6.019,423,5.524,447,4.641,614,5.919,642,6.293,742,7.32,744,9.219,750,5.564,751,7.81,768,9.545,775,7.843,1039,8.246,1129,7.346,1307,7.076,1339,10.812,1389,8.993,1399,10.246,1400,8.577,1431,14.156,1432,15.073,1433,9.851,1447,10.246,1451,12.409,1452,12.409]],["keywords/75",[]],["title/76",[1403,1331.557]],["content/76",[5,1.809,48,6.406,51,4.375,97,7.051,103,7.683,140,1.593,143,3.759,151,4.805,155,6.249,174,5.64,181,5.778,189,4.833,192,2.445,217,3.986,240,4.181,252,5.64,259,5.684,317,5.556,318,2.686,336,7.62,362,5.921,423,5.434,447,4.565,614,5.823,642,6.19,742,7.238,744,9.14,750,5.474,751,10.669,768,9.438,775,7.808,1039,8.153,1129,7.283,1307,6.961,1339,10.718,1389,8.847,1400,8.438,1403,10.566,1431,13.996,1432,14.943,1433,9.691,1440,10.566,1447,10.079,1453,12.208,1454,12.208]],["keywords/76",[]],["title/77",[1407,1331.557]],["content/77",[5,1.609,35,2.322,48,5.735,97,6.49,102,3.314,103,6.833,140,2.036,150,4.764,155,7.987,157,5.136,187,4.038,189,4.298,192,2.175,198,5.454,209,4.667,217,3.545,240,6.256,241,8.572,252,5.016,277,4.257,309,5.311,317,6.035,318,2.388,327,6.044,336,7.147,362,5.265,376,3.047,543,6.948,614,7.442,709,10.56,742,7.799,744,8.572,751,9.82,758,4.764,768,8.687,775,7.725,1039,8.784,1120,7.868,1129,6.831,1263,8.144,1299,6.725,1339,10.99,1389,7.868,1399,8.964,1407,13.505,1432,8.33,1440,9.397,1455,10.856,1456,10.856,1457,8.964,1458,8.33,1459,18.265,1460,9.976,1461,10.856,1462,10.856]],["keywords/77",[]],["title/78",[1463,1413.703]],["content/78",[5,2.773,35,3.02,88,5.492,91,5.14,120,7.86,139,2.745,180,5.338,192,2.828,217,4.61,240,4.836,279,4.676,318,3.106,336,8.21,350,4.39,700,5.691,742,9.925,744,9.848,768,10.416,775,6.225,812,7.86,834,10.232,1123,5.339,1129,6.997,1175,9.035,1444,17.326,1463,12.974,1464,10.512,1465,10.232,1466,12.974,1467,14.118,1468,18.71,1469,18.163,1470,14.118,1471,14.118]],["keywords/78",[]],["title/79",[144,192.046]],["content/79",[129,9.37,144,2.391,159,10.664,192,3.837,202,7.866,240,6.56,279,6.343,318,4.214,1129,8.473,1269,11.865,1472,11.687]],["keywords/79",[]],["title/80",[11,491.014,1473,831.594]],["content/80",[]],["keywords/80",[]],["title/81",[1,119.902,144,80.24,337,201.465,573,259.112,677,346.069,1473,444.28]],["content/81",[1,2.253,6,7.065,64,4.077,142,8.453,244,4.644,337,3.785,376,4.723,443,10.209,465,8.348,555,9.587,573,4.868,580,7.481,676,4.96,677,6.502,693,6.804,697,5.908,758,5.3,790,9.912,791,8.348,883,6.887,978,5.908,1113,7.601,1170,9.977,1221,9.267,1263,6.304,1291,7.866,1465,8.753,1473,8.348,1474,10.453,1475,13.892,1476,11.098,1477,14.563,1478,11.098,1479,10.453,1480,9.972,1481,9.972,1482,9.587,1483,9.587,1484,9.267,1485,9.972,1486,9.267,1487,9.587,1488,8.348,1489,10.453,1490,11.098,1491,10.453,1492,9.267,1493,8.993,1494,11.098,1495,9.972,1496,11.098,1497,7.262,1498,8.173,1499,11.098,1500,11.098,1501,12.077,1502,9.972,1503,11.098,1504,12.077,1505,12.077,1506,12.077,1507,12.077,1508,12.077,1509,12.077,1510,12.077,1511,12.077,1512,12.077,1513,12.077,1514,10.453,1515,12.077,1516,11.098,1517,12.077]],["keywords/81",[]],["title/82",[1,135.702,144,90.814,337,228.015,1139,323.816,1473,502.828]],["content/82",[1,2.868,5,1.576,6,6.222,7,2.857,9,2.653,29,2.575,49,3.165,89,2.737,96,3.902,139,1.561,142,3.306,153,4.114,157,3.113,200,4.142,219,2.322,244,2.531,326,4.076,337,2.062,350,1.544,376,4.738,391,4.653,436,2.994,443,10.019,454,4.211,465,4.548,555,10.626,580,6.589,581,5.224,676,4.368,693,3.707,697,3.219,709,4.453,750,6.002,790,9.727,791,4.548,795,4.734,883,8.767,978,3.219,1023,5.049,1026,3.191,1109,9.774,1111,9.206,1113,6.694,1114,4.286,1139,2.929,1168,4.769,1170,9.116,1221,5.049,1263,5.552,1270,5.224,1291,4.286,1465,4.769,1473,7.352,1474,11.587,1475,11.053,1476,9.774,1477,11.587,1478,6.047,1479,5.695,1481,8.782,1482,5.224,1483,5.224,1484,5.049,1485,5.433,1486,5.049,1487,5.224,1488,4.548,1489,5.695,1490,6.047,1491,5.695,1492,5.049,1493,7.92,1494,6.047,1495,5.433,1496,9.774,1497,6.396,1498,7.198,1499,12.301,1500,6.047,1502,5.433,1503,6.047,1514,9.206,1516,14.128,1518,14.609,1519,7.352,1520,9.206,1521,4.653,1522,6.58,1523,6.047,1524,6.58,1525,6.58,1526,6.58,1527,6.58,1528,6.58,1529,6.58,1530,10.636,1531,4.548,1532,13.387,1533,6.58,1534,10.636,1535,6.58,1536,10.636,1537,10.636,1538,10.636,1539,10.636,1540,10.636,1541,6.58,1542,6.047,1543,6.58,1544,6.58,1545,6.58,1546,6.58,1547,6.58,1548,6.58,1549,6.58,1550,10.636,1551,6.58,1552,6.58,1553,10.636,1554,10.636,1555,10.636,1556,10.636,1557,10.636,1558,10.636,1559,10.636,1560,6.58,1561,6.58,1562,6.58,1563,6.58,1564,6.58,1565,6.58,1566,6.58,1567,6.58,1568,6.58,1569,6.58,1570,6.58,1571,6.58,1572,6.58,1573,6.58,1574,6.58,1575,5.433,1576,6.58,1577,6.58,1578,6.58,1579,6.58,1580,6.58,1581,6.58,1582,6.58,1583,6.58,1584,6.58,1585,6.58,1586,6.58,1587,6.047,1588,6.58]],["keywords/82",[]],["title/83",[3,577.902,144,123.315,353,424.621]],["content/83",[1,0.929,3,4.941,5,0.738,7,2.269,11,3.447,18,3.158,21,2.627,29,1.949,35,1.066,45,1.019,46,3.468,47,3.086,48,1.297,60,1.758,62,1.665,64,2.851,66,5.008,67,6.051,72,2.627,74,4.648,78,1.894,79,1.863,97,3.513,110,3.039,115,3.245,117,3.443,137,1.715,139,3.599,144,1.054,149,3.371,150,2.186,152,4.349,153,1.927,159,2.773,164,1.058,165,2.654,176,2.806,189,1.972,194,1.508,204,3.011,207,7.047,225,5.236,230,2.113,248,2.575,252,3.902,271,2.995,275,2.711,279,2.797,284,4.453,292,2.008,296,4.243,305,2.742,314,5.316,320,3.039,325,2.806,336,1.949,352,5.645,353,2.141,376,1.398,393,7.761,434,2.156,436,2.267,437,5.682,443,8.302,447,3.158,467,2.877,542,2.654,545,2.995,551,5.604,556,3.305,563,2.575,573,2.008,580,3.086,631,3.822,646,1.795,673,2.267,675,2.841,693,2.806,758,2.186,790,4.323,849,2.458,852,2.338,856,6.48,917,4.578,918,2.654,934,2.416,978,2.437,1016,5.716,1019,3.266,1033,4.578,1059,7.574,1071,3.61,1089,5.501,1113,3.135,1170,7.677,1208,2.682,1246,5.078,1254,2.841,1263,2.6,1280,8.949,1291,3.245,1447,4.113,1464,3.709,1473,8.949,1475,16.942,1477,9.516,1484,3.822,1493,6.289,1589,4.113,1590,4.982,1591,4.578,1592,3.822,1593,4.982,1594,4.982,1595,3.954,1596,4.578,1597,7.31,1598,4.578,1599,4.982,1600,4.982,1601,4.982,1602,4.982,1603,8.446,1604,8.446,1605,8.446,1606,4.982,1607,4.982,1608,4.312,1609,4.982,1610,4.982,1611,4.982,1612,4.982,1613,4.982,1614,4.982,1615,4.982,1616,4.982,1617,4.982,1618,4.982,1619,3.61,1620,8.186,1621,4.982,1622,4.982,1623,10.103,1624,4.312,1625,4.982,1626,4.982,1627,4.578,1628,4.982,1629,14.492,1630,4.982,1631,4.312,1632,4.982,1633,4.982,1634,4.982,1635,4.982,1636,4.982,1637,4.982,1638,4.982,1639,4.982,1640,4.982,1641,4.982,1642,4.982,1643,4.982,1644,15.745,1645,4.982,1646,4.982,1647,4.982,1648,4.982,1649,4.982,1650,4.982,1651,4.982,1652,4.982,1653,4.982,1654,4.982,1655,4.578,1656,4.982,1657,4.982,1658,4.982,1659,7.761,1660,4.312,1661,4.982,1662,3.188,1663,4.982,1664,8.446,1665,4.982,1666,4.982,1667,3.443,1668,4.982,1669,4.982,1670,4.982,1671,4.982,1672,4.312,1673,4.982,1674,3.371,1675,4.982,1676,4.982,1677,4.982,1678,4.982,1679,4.982,1680,4.982,1681,4.982,1682,4.982,1683,4.982,1684,8.446,1685,4.982,1686,4.982,1687,4.982,1688,4.982]],["keywords/83",[]],["title/84",[934,583.521,1059,703.852]],["content/84",[]],["keywords/84",[]],["title/85",[551,1020.777]],["content/85",[37,5.902,64,5.959,275,11.742,305,9.717,403,10.772,434,9.337,443,9.309,551,14.314,1297,12.483,1523,16.224,1608,15.281,1689,17.655,1690,17.812,1691,15.281,1692,14.577,1693,17.655,1694,14.577,1695,17.655]],["keywords/85",[]],["title/86",[1059,577.902,1502,815.611,1696,907.755]],["content/86",[1,3.705,37,5.173,84,5.007,139,2.271,162,2.525,181,5.274,285,8.341,340,7.082,433,10.268,443,10.473,460,9.586,615,7.636,673,7.042,720,10.472,742,6.607,761,8.077,919,12.777,934,7.505,941,7.205,1059,9.053,1066,8.717,1115,10.268,1175,9.903,1409,9.305,1489,13.394,1492,11.874,1502,12.777,1696,14.22,1697,15.474,1698,12.777,1699,15.474,1700,15.474,1701,15.474,1702,12.777,1703,11.215]],["keywords/86",[]],["title/87",[46,494.094,1704,850.703]],["content/87",[1,4.316,35,3.718,46,7.139,208,3.4,337,5.448,350,5.013,403,13.038,434,9.248,443,9.165,492,15.109,495,10.109,934,10.364,1495,14.352,1705,17.383,1706,17.383,1707,15.045]],["keywords/87",[]],["title/88",[240,412.077,285,457.481]],["content/88",[1,3.447,5,2.054,83,10.171,102,4.23,119,9.646,132,10.043,144,1.73,149,9.379,165,7.383,196,6.039,202,5.691,209,5.957,240,8.139,285,5.269,322,8.226,323,8.722,351,9.201,352,5.72,425,6.721,437,7.163,443,9.744,467,10.671,562,9.379,620,6.962,677,7.461,746,7.543,934,11.205,1059,10.811,1201,8.455,1263,9.646,1280,9.579,1708,13.858,1709,7.163,1710,11.995,1711,8.869,1712,11.001,1713,13.858]],["keywords/88",[]],["title/89",[742,513.694,848,513.694]],["content/89",[1,3.666,143,6.052,192,3.937,314,12.371,318,4.324,742,8.392,934,9.533,1059,11.499,1714,13.898]],["keywords/89",[]],["title/90",[144,150.19,186,343.271]],["content/90",[]],["keywords/90",[]],["title/91",[35,257.359,700,485]],["content/91",[1,1.332,5,2.096,9,2.879,35,4.782,37,3.798,45,2.892,48,3.683,52,1.664,59,3.135,61,3.379,88,2.779,94,9.556,137,2.459,140,2.808,142,5.707,143,2.2,144,0.892,145,3.25,152,2.4,153,5.47,157,5.374,162,2.63,174,5.248,179,5.656,181,6.948,183,5.656,186,2.038,189,2.828,194,3.438,198,5.707,200,4.496,201,6.052,204,4.05,205,4.295,219,5.688,227,1.904,240,6.727,252,3.3,258,9.306,285,2.716,292,4.579,309,6.918,345,6.052,350,1.676,376,3.97,455,7.873,544,4.496,653,4.179,700,7.09,803,6.183,937,7.614,1093,5.481,1380,5.481,1386,4.834,1482,12.793,1483,12.793,1484,8.716,1486,8.716,1487,5.67,1492,12.366,1715,12.996,1716,12.996,1717,12.996,1718,6.564,1719,10.439,1720,7.143,1721,7.143,1722,7.143,1723,7.143,1724,7.143,1725,5.319,1726,7.143,1727,7.143,1728,6.564,1729,5.481,1730,7.143,1731,5.481,1732,6.564,1733,7.143,1734,11.359,1735,4.235,1736,12.366,1737,5.177,1738,11.68,1739,6.564,1740,10.439,1741,10.439,1742,11.226,1743,9.571,1744,10.53,1745,12.996,1746,10.249,1747,11.677]],["keywords/91",[]],["title/92",[208,235.32,753,713.4]],["content/92",[5,1.328,37,2.995,45,2.769,48,3.527,51,6.521,52,4.787,62,2.995,88,3.485,137,4.661,140,2.549,142,6.804,143,2.759,144,1.118,152,3.01,157,6.407,162,3.354,181,7.666,186,2.556,198,4.501,200,5.639,201,7.214,204,4.828,208,4.399,217,2.925,227,2.388,230,7.718,240,6.692,244,3.445,258,9.428,277,2.887,285,3.407,292,5.459,358,4.093,376,3.801,432,4.823,568,3.426,628,8.159,775,6.055,938,7.82,1386,6.063,1482,14.445,1483,14.445,1484,10.391,1485,11.181,1486,10.391,1487,7.112,1488,6.192,1492,13.962,1718,8.233,1728,8.233,1729,6.874,1732,8.233,1740,12.444,1741,12.444,1742,7.112,1748,11.181,1749,12.444,1750,12.444,1751,6.671,1752,9.814,1753,8.959,1754,8.959,1755,7.112,1756,13.542,1757,7.397,1758,8.959]],["keywords/92",[]],["title/93",[825,677.776,1120,871.939]],["content/93",[21,10.239,35,4.154,62,4.059,67,6.683,79,6.316,112,5.94,139,1.782,143,3.739,157,5.744,174,5.61,192,3.383,230,5.15,242,6.84,244,4.669,272,6.924,273,4.925,279,4.021,285,4.617,309,5.94,314,7.642,316,8.217,317,4.819,377,8.217,383,6.338,443,8.905,542,6.469,632,7.685,676,4.986,700,6.808,724,6.157,742,5.184,825,9.514,836,7.301,934,5.889,1019,6.532,1059,9.88,1136,7.908,1229,7.908,1263,6.338,1473,11.673,1475,10.025,1479,10.509,1480,10.025,1481,10.025,1482,9.639,1483,9.639,1484,9.317,1485,10.025,1486,9.317,1487,9.639,1488,8.393,1492,9.317,1495,10.025,1759,9.639,1760,12.142,1761,12.142,1762,12.142,1763,12.142,1764,12.142,1765,12.142,1766,12.142,1767,12.142,1768,11.158,1769,6.84,1770,12.142,1771,12.142]],["keywords/93",[]],["title/94",[1772,1538.415]],["content/94",[]],["keywords/94",[]],["title/95",[1,107.397,156,374.983,320,351.273,337,180.454,446,266.001,1773,382.015,1774,575.736]],["content/95",[35,4.899,72,8.958,139,3.612,197,6.726,198,8.536,285,8.011,317,4.847,318,3.738,494,9.247,551,11.273,774,9.811,941,7.911,1034,12.651,1129,6.354,1139,9.378,1775,14.028,1776,16.99,1777,16.99,1778,14.028]],["keywords/95",[]],["title/96",[1,135.702,337,228.015,1779,727.478,1780,727.478,1781,727.478]],["content/96",[1,2.972,9,4.507,20,8.77,48,2.911,49,5.376,50,3.829,58,4.426,60,3.945,71,6.722,79,6.943,112,7.795,139,3.724,188,6.153,192,2.239,195,6.821,208,2.187,232,7.663,274,8.77,279,3.702,290,8.976,304,9.676,317,5.297,318,2.459,359,5.617,494,6.085,812,6.224,894,8.102,941,5.205,1014,8.874,1016,7.566,1029,8.102,1034,8.324,1129,5.959,1139,7.093,1245,9.23,1383,8.874,1773,7.418,1775,9.23,1782,7.154,1783,9.23,1784,9.23,1785,11.179,1786,9.676,1787,11.179,1788,7.566,1789,4.65,1790,9.23,1791,9.676,1792,11.179,1793,11.179,1794,11.179,1795,11.179,1796,11.179,1797,15.934,1798,11.179,1799,11.179,1800,9.23,1801,11.179,1802,15.329,1803,11.179,1804,11.179,1805,10.273,1806,11.179,1807,10.273,1808,11.179,1809,11.179]],["keywords/96",[]],["title/97",[1,184.269,337,309.619,1810,907.755]],["content/97",[1,3.427,6,10.749,30,12.992,139,2.696,187,6.834,240,6.293,434,7.952,454,11.759,724,9.317,770,13.681,894,13.316,1268,11.759,1773,12.192,1811,11.967,1812,18.374,1813,18.374,1814,12.7]],["keywords/97",[]],["title/98",[823,632.185,1034,735.532,1815,855.008]],["content/98",[1,3.373,129,8.844,131,11.2,132,15.862,408,11.031,503,12.235,673,8.227,823,11.57,907,13.462,1034,16.297,1269,11.2,1773,11.996,1815,15.648,1816,16.614,1817,18.079,1818,10.44,1819,14.927]],["keywords/98",[]],["title/99",[317,438.935]],["content/99",[]],["keywords/99",[]],["title/100",[1820,1180.425]],["content/100",[1,2.901,5,2.7,8,8.045,9,6.268,10,8.045,20,5.947,35,3.897,44,6.914,45,4.496,46,7.481,48,2.814,50,3.701,68,11.269,77,8.045,83,5.947,97,4.494,102,4.747,130,3.682,136,2.508,138,4.252,140,1.41,187,5.783,188,8.558,200,6.8,202,4.437,208,3.563,224,3.528,238,5.697,241,5.071,254,6.592,255,6.406,265,3.512,271,9.35,274,5.947,280,6.693,309,5.285,317,7.06,332,5.947,372,6.914,404,4.155,563,5.584,700,4.355,742,4.613,744,7.298,813,4.582,824,7.83,848,4.613,1073,8.29,1129,4.041,1179,6.592,1208,5.817,1291,7.037,1381,14.289,1448,6.914,1704,7.639,1725,8.045,1821,12.343,1822,8.045,1823,8.29,1824,10.804,1825,8.921,1826,9.928,1827,5.756,1828,8.921,1829,9.605,1830,7.468]],["keywords/100",[]],["title/101",[1129,575.333]],["content/101",[48,4.865,88,7.266,91,6.8,106,9.848,220,8.375,265,6.071,277,3.982,279,6.186,317,5.329,642,9.471,1062,17.164,1129,8.347,1176,17.164,1831,18.678]],["keywords/101",[]],["title/102",[1323,856.485]],["content/102",[45,3.61,75,7.538,88,8.392,91,7.854,209,7.589,279,7.144,302,8.421,317,6.155,494,9.609,774,10.195,1129,6.603,1187,12.483,1263,9.215,1323,12.97,1832,12.483,1833,16.224]],["keywords/102",[]],["title/103",[187,447.495,317,343.271]],["content/103",[1,3.722,5,2.309,138,8.662,143,6.777,160,2.996,187,7.421,265,5.064,279,5.16,317,7.001,403,12.173,434,8.635,642,7.901,1139,6.936,1146,9.239,1179,9.507,1822,11.602,1823,15.308,1829,8.215,1834,15.837,1835,12.173,1836,11.292,1837,13.486,1838,15.581]],["keywords/103",[]],["title/104",[317,281.845,1834,784.153,1835,602.705]],["content/104",[5,0.88,35,2.093,45,1.214,46,5.123,55,3.233,75,7.768,78,2.258,84,3.165,89,4.069,139,2.347,140,0.775,144,1.221,146,4.355,160,1.142,162,0.969,164,3.072,192,1.19,193,5.325,208,1.913,209,7.396,213,5.008,219,3.452,223,2.905,234,7.014,238,5.158,252,2.744,274,3.269,279,3.24,292,3.944,309,4.786,317,6.631,318,1.307,376,2.746,495,8.14,554,5.008,573,2.394,646,6.848,693,5.511,700,2.394,750,4.386,758,5.474,813,2.519,874,5.949,884,7.284,1066,5.511,1129,6.804,1133,5.969,1134,6.261,1136,6.372,1137,7.284,1153,8.462,1211,9.483,1252,13.185,1253,16.122,1254,13.36,1264,5.056,1417,11.598,1704,6.917,1711,6.261,1834,7.766,1835,3.624,1839,5.939,1840,4.019,1841,6.372,1842,15.922,1843,15.534,1844,6.917,1845,8.077,1846,12.518,1847,8.467,1848,12.518,1849,8.467,1850,13.546]],["keywords/104",[]],["title/105",[317,281.845,434,427.524,1834,784.153]],["content/105",[5,0.904,35,1.305,38,3.065,45,2.045,46,5.219,55,3.32,75,7.441,78,2.319,84,3.235,130,3.408,139,1.865,140,0.796,144,1.586,146,4.451,153,5.685,160,1.923,164,3.122,192,1.222,193,5.443,208,1.193,209,6.318,213,5.119,219,3.529,223,2.984,226,3.122,234,7.129,238,5.272,252,2.818,278,2.537,279,3.312,292,4.031,309,4.892,317,6.609,318,1.342,376,1.712,434,5.5,439,3.617,492,4.313,495,8.245,554,5.119,573,2.459,646,6.921,693,5.633,750,4.483,758,2.677,836,3.668,874,4.769,884,7.446,1029,4.421,1066,5.633,1084,3.122,1129,6.883,1133,6.101,1134,6.399,1136,6.513,1137,7.446,1153,7.758,1159,4.216,1180,3.973,1211,8.715,1252,7.247,1253,16.189,1254,13.43,1264,5.168,1268,3.904,1280,4.216,1417,10.633,1704,7.071,1711,6.399,1834,7.938,1841,6.513,1842,16.033,1844,7.071,1845,8.256,1846,12.722,1847,8.655,1848,12.722,1849,8.655,1850,7.446,1851,5.605,1852,4.542,1853,5.605,1854,4.842,1855,14.041,1856,5.036,1857,4.542,1858,16.223]],["keywords/105",[]],["title/106",[317,343.271,1836,871.939]],["content/106",[5,2.536,35,3.072,45,1.982,48,2.524,50,3.319,75,8.627,84,5.536,140,1.264,144,1.793,152,3.255,160,1.863,162,1.581,192,1.941,194,2.932,208,2.809,209,8.133,223,4.74,224,3.164,238,7.572,248,5.008,277,3.061,285,3.685,292,5.789,317,5.765,318,2.132,439,11.22,495,10.362,677,5.217,700,7.628,750,7.672,801,7.692,813,6.091,874,6.85,918,5.162,1153,8.994,1160,9.529,1180,6.311,1184,6.099,1211,10.146,1253,9.529,1254,9.757,1264,7.423,1307,5.526,1417,8.762,1589,14.127,1704,6.852,1829,5.109,1836,10.408,1840,13.674,1841,9.354,1842,10.408,1843,10.154,1844,10.154,1859,7.692,1860,8.905,1861,14.361,1862,8.905,1863,7.692,1864,9.69,1865,13.129,1866,8.905,1867,14.361,1868,9.69]],["keywords/106",[]],["title/107",[317,281.845,403,602.705,1835,602.705]],["content/107",[1,1.959,5,1.556,29,5.961,35,3.259,46,8.076,48,2.735,75,8.396,84,5.8,88,4.085,91,3.823,103,6.61,139,2.63,140,1.37,144,2.238,152,3.528,160,2.02,162,1.714,180,2.997,192,2.104,208,2.98,209,8.453,220,6.83,223,7.452,238,8.032,279,3.478,292,7.226,317,5.61,318,2.311,337,3.292,403,13.706,434,4.545,443,8.032,483,10.53,495,7.207,507,9.651,700,4.234,750,8.038,758,6.685,813,4.454,874,8.55,1129,5.697,1150,4.815,1153,7.979,1211,6.227,1228,8.337,1263,5.482,1264,9.265,1417,10.937,1835,6.408,1840,7.108,1841,11.676,1842,11.041,1859,8.337,1869,8.671,1870,8.671,1871,10.502,1872,10.502,1873,10.502,1874,10.502]],["keywords/107",[]],["title/108",[317,281.845,403,602.705,434,427.524]],["content/108",[1,2.478,5,1.969,35,2.842,38,6.675,46,5.456,75,5.673,88,5.169,91,4.837,124,6.801,130,4.529,140,1.734,144,2.722,152,4.463,153,7.872,160,3.455,192,2.662,208,2.599,209,5.711,226,6.801,238,9.472,278,5.526,279,4.4,317,6.698,318,2.923,337,4.164,403,12.418,434,7.775,439,7.878,483,9.184,495,6.286,565,12.21,1084,6.801,1180,8.654,1228,10.547,1280,9.184,1842,13.019,1852,9.893,1853,12.21,1854,10.547,1856,10.97,1857,9.893,1869,10.97,1870,10.97,1875,13.287,1876,13.287,1877,13.287,1878,13.287,1879,13.287]],["keywords/108",[]],["title/109",[317,343.271,1822,895.836]],["content/109",[1,2.289,5,2.34,7,2.578,11,8.422,19,4.102,35,3.852,38,2.915,46,5.855,48,2.499,52,1.351,54,3.308,55,3.158,74,3.193,79,2.17,88,2.257,91,2.112,102,3.746,110,3.54,112,4.694,121,2.62,129,2.838,130,4.182,136,2.227,138,2.283,139,2.496,140,0.757,143,2.955,144,1.971,146,4.271,152,1.949,153,6.58,160,1.116,162,3.073,180,1.655,189,2.297,192,1.162,196,2.528,201,5.112,208,3.522,211,3.394,223,4.694,224,1.894,226,2.97,238,5.059,241,4.503,277,2.045,278,5.93,279,3.178,285,2.206,296,2.915,317,5.571,318,2.111,319,3.85,329,6.342,336,2.27,337,1.818,387,10.081,388,4.452,389,9.46,394,4.32,396,4.102,425,2.814,439,3.44,446,6.587,465,4.01,467,3.35,469,7.145,495,4.54,551,3.85,554,2.97,566,15.281,580,11.665,588,4.79,595,7.617,614,2.767,646,3.457,670,10.081,677,3.124,700,2.339,723,3.594,754,3.489,813,5.204,874,2.767,901,3.54,956,3.713,966,5.854,1084,2.97,1114,6.25,1149,7.145,1150,4.399,1180,3.779,1184,3.651,1187,4.102,1211,3.44,1395,4.452,1519,8.481,1690,11.771,1822,15.7,1827,3.091,1835,9.635,1852,4.32,1859,4.605,1880,5.331,1881,7.363,1882,14.511,1883,5.331,1884,8.818,1885,5.331,1886,5.331,1887,5.022,1888,5.331,1889,8.818,1890,5.802,1891,8.818,1892,10.915,1893,5.802,1894,5.331,1895,5.331,1896,8.818,1897,3.44,1898,5.802,1899,2.838,1900,5.406,1901,7.363,1902,9.595]],["keywords/109",[]],["title/110",[55,537.657,317,281.845,1822,735.532]],["content/110",[1,2.388,5,2.418,7,2.71,11,2.517,19,4.36,35,2.739,38,3.098,46,6.076,52,1.436,54,3.516,55,8.052,74,3.394,75,6.967,78,2.345,79,2.306,88,3.925,89,4.196,91,2.245,102,1.882,106,3.251,110,3.762,112,3.017,121,2.785,129,3.017,130,2.102,136,1.431,138,2.427,139,2.713,140,0.805,142,5.069,144,2.037,152,2.071,153,6.775,160,1.186,162,2.663,180,3.653,185,3.017,192,1.235,196,2.687,208,2.504,209,7.014,224,2.014,226,3.157,238,5.32,241,4.735,252,2.849,277,1.314,278,5.325,279,4.899,285,2.345,296,3.098,317,6.126,318,2.22,329,6.618,336,2.413,337,1.933,376,1.731,387,10.461,388,4.732,389,9.817,394,4.592,396,4.36,425,2.991,439,3.656,446,6.835,465,4.262,467,3.561,469,7.512,495,4.773,551,4.092,554,3.157,566,13.401,580,11.952,588,5.091,595,8.009,614,2.941,677,3.32,758,5.619,813,4.279,874,2.941,901,3.762,956,3.946,966,6.156,1084,3.157,1114,6.571,1129,6.102,1150,4.626,1153,6.585,1180,4.016,1184,3.881,1187,4.36,1211,3.656,1417,9.027,1519,8.85,1690,12.215,1711,6.457,1822,15.297,1835,9.955,1852,4.592,1859,4.895,1880,5.667,1881,4.732,1882,14.994,1883,5.667,1884,9.271,1885,5.667,1886,5.667,1887,5.337,1888,5.667,1889,9.271,1891,9.271,1892,11.278,1894,5.667,1895,5.667,1896,9.271,1897,3.656,1903,6.166,1904,6.166]],["keywords/110",[]],["title/111",[317,343.271,1179,734.062]],["content/111",[1,1.179,6,3.699,9,2.549,38,3.176,45,1.293,46,2.596,48,1.646,51,2.266,55,3.441,75,7.979,78,2.404,84,4.858,121,2.855,139,2.203,140,0.825,144,1.285,146,2.814,153,6.394,160,1.98,162,1.68,164,2.187,187,2.351,192,2.063,193,3.441,209,7.106,213,3.236,219,7.11,223,3.093,226,3.236,234,4.994,238,3.333,252,2.921,278,2.629,279,3.41,292,4.151,317,6.049,333,6.485,336,2.474,373,6.318,376,1.775,447,2.364,495,8.841,554,3.236,646,5.41,693,3.562,697,3.093,717,5.732,742,2.699,750,4.616,758,5.716,874,4.911,884,4.707,918,3.368,1039,4.952,1066,3.562,1084,3.236,1107,5.22,1129,6.629,1133,3.857,1134,4.046,1136,4.118,1137,4.707,1153,8.672,1179,11.402,1211,11.081,1218,7.462,1254,11.812,1264,5.322,1417,12.935,1711,6.589,1786,8.912,1827,3.368,1841,6.706,1842,13.543,1845,5.22,1846,8.912,1847,5.472,1848,8.912,1849,5.472,1851,5.81,1852,4.707,1905,9.462,1906,6.322,1907,12.997,1908,15.016,1909,9.462,1910,6.48,1911,9.462,1912,6.322,1913,4.851,1914,8.912,1915,8.912,1916,16.175,1917,6.322,1918,10.296,1919,6.322,1920,10.296,1921,6.322,1922,17.725,1923,11.274,1924,6.322,1925,5.472,1926,4.046]],["keywords/111",[]],["title/112",[317,281.845,1139,439.706,1823,757.965]],["content/112",[1,2.74,16,7.666,19,13.578,38,5.019,46,4.103,51,3.581,58,3.955,64,3.372,124,5.114,129,4.887,140,1.303,144,2.174,152,3.356,153,7.427,160,2.825,162,1.63,192,2.942,194,3.023,219,6.147,226,5.114,230,4.237,232,4.805,238,5.268,278,4.155,279,3.309,317,5.838,337,3.131,413,9.181,425,4.846,443,5.268,447,6.514,453,8.647,465,6.906,495,6.949,580,10.79,612,6.008,686,5.164,700,4.027,742,4.266,761,7.667,874,4.765,978,4.887,1016,6.761,1084,5.114,1129,3.736,1139,4.447,1184,6.288,1211,5.924,1263,5.215,1264,7.592,1268,6.394,1519,10.153,1608,8.647,1823,16.417,1852,7.439,1859,7.931,1927,14.689,1928,9.181,1929,23.158,1930,11.66,1931,11.66,1932,9.991,1933,9.991,1934,9.991,1935,9.991,1936,9.991,1937,9.991,1938,9.991,1939,9.181,1940,9.991,1941,9.991,1942,9.181,1943,9.991,1944,9.991,1945,9.181,1946,9.991,1947,9.991,1948,9.181,1949,9.181]],["keywords/112",[]],["title/113",[317,239.066,1139,372.966,1823,642.918,1837,725.232]],["content/113",[1,3.186,16,9.47,38,6.201,51,4.423,58,4.886,75,8.363,124,6.317,129,6.037,140,1.61,144,2.445,152,4.146,153,8.176,160,3.284,192,3.421,219,6.913,226,6.317,230,5.234,232,5.935,238,6.507,278,5.133,279,4.087,317,6.332,337,3.868,425,5.986,439,10.128,495,9.267,612,7.421,742,5.269,761,8.915,813,5.234,1016,8.352,1084,6.317,1129,4.615,1139,5.493,1153,5.493,1211,7.318,1264,8.828,1823,15.029,1836,8.944,1837,16.953,1852,9.189,1854,9.797,1928,11.341,1945,11.341,1948,11.341,1949,11.341,1950,12.341,1951,17.08,1952,14.784,1953,12.341]],["keywords/113",[]],["title/114",[317,281.845,1139,439.706,1954,907.755]],["content/114",[1,3.419,5,3.062,35,4.721,45,2.799,51,4.906,58,5.42,64,4.621,65,8.761,78,5.205,129,6.697,140,1.786,144,2.288,146,6.094,152,4.599,160,2.633,192,3.672,238,7.218,265,4.45,278,5.694,279,4.534,317,5.896,337,4.291,425,6.64,434,5.925,495,8.672,670,12.96,742,5.845,1139,6.094,1211,10.869,1253,9.084,1954,21.143,1955,13.69,1956,13.69,1957,13.69,1958,13.69,1959,12.58,1960,18.329,1961,16.844,1962,13.69,1963,13.69]],["keywords/114",[]],["title/115",[317,343.271,671,539.435]],["content/115",[1,2.954,9,4.467,37,2.315,45,2.833,46,5.689,48,5.414,60,3.91,61,3.276,62,6.177,72,3.651,75,6.76,102,5.287,106,3.651,117,4.786,121,3.127,130,2.36,133,4.358,136,2.572,143,3.412,144,1.383,155,5.672,162,2.261,164,1.471,180,1.975,181,2.36,183,3.447,194,4.192,196,4.829,199,5.155,209,2.976,220,4.968,223,7.745,240,7.595,241,9.105,255,6.57,277,3.375,317,6.513,325,3.9,329,3.579,349,3.536,350,2.6,404,2.663,423,3.082,436,5.042,447,2.589,495,5.242,538,5.155,554,3.544,563,3.579,573,2.791,593,4.05,673,5.042,696,6.57,700,4.467,742,7.888,744,7.431,750,4.968,751,6.974,770,10.315,775,4.609,813,2.937,836,4.163,848,2.956,941,5.159,1008,8.25,1026,3.358,1038,4.509,1072,5.567,1089,4.509,1118,7.499,1129,4.144,1207,6.031,1208,3.728,1220,8.581,1238,4.163,1312,5.993,1339,7.624,1365,5.717,1382,5.993,1405,10.182,1469,5.993,1704,7.835,1900,3.9,1964,11.08,1965,5.993,1966,12.73,1967,6.924,1968,6.924,1969,4.786,1970,6.924,1971,11.08,1972,5.993,1973,6.924,1974,3.33,1975,6.924,1976,6.924,1977,6.924,1978,6.924,1979,6.924,1980,5.496,1981,9.149,1982,6.924,1983,6.924,1984,6.924,1985,11.08]],["keywords/115",[]],["title/116",[58,609.061]],["content/116",[]],["keywords/116",[]],["title/117",[0,912.212]],["content/117",[1,4.087,5,1.993,33,5.942,35,2.876,37,4.495,45,3.703,48,3.502,50,7.013,55,7.318,58,9.326,62,4.495,64,4.538,78,5.112,79,5.028,88,5.23,97,5.592,106,7.089,119,7.018,136,4.203,185,6.577,187,6.735,192,2.693,196,5.859,208,2.63,225,4.195,238,7.089,265,5.886,273,5.453,277,2.866,278,5.592,317,5.842,324,8.203,404,6.964,554,6.882,562,9.099,620,6.755,676,5.522,754,8.085,812,7.485,1146,7.972,1828,11.101,1829,7.089,1986,10.673,1987,13.445,1988,12.355]],["keywords/117",[]],["title/118",[1989,1114.932]],["content/118",[]],["keywords/118",[]],["title/119",[45,314.583]],["content/119",[1,3.858,10,12.28,12,13.617,27,13.617,35,3.528,44,10.555,45,4.229,79,6.168,87,17.077,110,10.063,208,3.226,217,5.386,285,6.271,671,7.395,700,6.649,813,6.995,1245,13.617,1268,10.555,1425,13.617,1814,14.296,1990,14.296,1991,16.493,1992,14.275,1993,16.493,1994,11.662,1995,13.617]],["keywords/119",[]],["title/120",[317,438.935]],["content/120",[5,2.576,35,3.718,45,4.731,46,9.502,91,6.328,208,3.4,317,6.097,447,6.501,495,8.224,614,8.291,700,7.007,742,9.124,813,7.373,1179,10.606,1836,12.598,1996,15.045,1997,17.383,1998,15.045]],["keywords/120",[]],["title/121",[1829,811.144]],["content/121",[1,4.376,35,4.659,55,11.855,97,7.46,156,11.682,163,10.844,208,4.26,277,3.823,317,6.215,813,7.607,1829,9.457,1913,13.762,1999,14.809]],["keywords/121",[]],["title/122",[79,575.333]],["content/122",[1,4.143,4,9.869,35,3.963,66,10.984,79,6.928,208,3.623,225,5.781,252,8.559,321,8.246,336,7.248,349,5.912,352,5.096,700,7.468,934,8.985,1268,11.855]],["keywords/122",[]],["title/123",[33,679.899]],["content/123",[1,3.513,5,2.791,33,8.324,48,4.905,202,7.735,225,6.999,259,8.77,321,8.384,643,8.57,957,10.14,1035,13.317,1592,14.452,2000,14.951]],["keywords/123",[]],["title/124",[58,391.085,331,456.399,1058,570.435]],["content/124",[1,3.604,54,11.016,58,7.648,119,10.084,133,12.159,197,7.648,202,7.934,265,6.279,331,8.925,1058,11.156,1423,11.156]],["keywords/124",[]],["title/125",[50,338.338,136,229.264,238,520.845]],["content/125",[1,3.738,50,7.563,58,8.741,91,5.712,136,5.399,137,5.4,138,7.887,140,2.047,143,6.799,152,5.271,187,5.836,194,4.748,196,6.837,224,5.123,238,10.566,285,5.966,290,8.839,324,9.573,484,10.618,494,8.54,564,10.041,571,6.611,648,9.573,746,8.54,1170,9.303,1782,10.041]],["keywords/125",[]],["title/126",[196,670.417]],["content/126",[5,3.096,45,3.948,50,6.613,52,3.905,58,7.644,64,6.517,136,4.481,138,4.728,140,1.567,160,2.31,162,3.41,164,3.561,190,11.344,192,3.358,194,5.073,196,10.685,202,4.933,220,5.386,225,3.748,227,3.202,238,6.334,248,6.209,255,7.123,265,6.276,285,4.568,296,6.035,309,5.876,350,3.933,439,7.123,443,6.334,495,5.683,571,7.063,615,5.928,673,5.466,686,6.209,749,7.028,752,5.683,840,7.442,958,5.981,1152,8.945,1180,7.824,1207,6.538,1423,6.937,1464,8.945,2001,9.918,2002,9.536,2003,9.918,2004,12.013]],["keywords/126",[]],["title/127",[2005,1413.703]],["content/127",[7,5.506,58,8.114,102,4.962,173,7.084,196,7.084,254,9.918,255,9.639,273,6.593,322,7.236,325,11.546,330,11.494,338,8.66,398,10.786,540,10.231,676,6.676,852,7.629,902,10.587,957,8.752,1057,10.786,1139,7.236,1465,11.781,2005,18.833,2006,14.937,2007,16.255,2008,14.937,2009,14.069,2010,13.421,2011,12.473,2012,14.937]],["keywords/127",[]],["title/128",[317,438.935]],["content/128",[5,2.494,45,3.959,46,4.96,52,2.813,87,9.972,91,4.397,106,6.368,119,6.304,129,5.908,136,3.905,138,4.753,140,2.195,151,4.753,152,5.652,160,2.322,162,3.594,164,3.574,185,5.908,192,3.37,240,4.136,243,4.644,265,6.294,279,4,317,7.003,318,3.702,329,6.242,333,6.013,337,6.069,355,7.262,434,5.227,545,7.262,554,6.182,632,5.496,742,7.184,815,9.267,822,6.724,1129,4.517,1423,6.974,1751,8.993,1814,11.63,1980,9.587,1986,13.356,1996,10.453,2013,7.161,2014,12.077,2015,12.077,2016,11.098,2017,10.453,2018,11.098,2019,11.098,2020,11.098,2021,11.098]],["keywords/128",[]],["title/129",[317,343.271,642,610.082]],["content/129",[138,9.242,143,7.231,317,5.81]],["keywords/129",[]],["title/130",[2022,1145.489]],["content/130",[45,4.08,48,5.196,140,2.033,144,2.491,160,2.996,161,7.199,162,3.592,164,3.31,192,3.121,317,6.621,318,3.428,1078,13.502,1133,12.173,1153,8.881,1252,11.292,1253,13.238,1254,11.377,1843,14.107,1844,14.107,1850,11.602,2022,14.855,2023,18.334]],["keywords/130",[]],["title/131",[2024,1413.703]],["content/131",[35,4.779,45,3.826,48,5.819,139,2.745,140,1.842,144,2.336,160,2.715,161,6.523,162,3.425,164,2.999,192,2.828,317,6.816,318,3.106,575,10.804,1078,12.662,1133,11.415,1153,8.328,1252,10.232,1253,12.414,1254,10.669,1843,13.229,1844,13.229,1850,10.512,2024,17.193,2025,10.833,2026,22.343]],["keywords/131",[]],["title/132",[2027,1413.703]],["content/132",[45,3.826,48,5.819,139,2.745,140,1.842,144,2.336,160,2.715,161,6.523,162,3.425,164,2.999,192,2.828,208,4.37,317,6.816,318,3.106,813,7.935,1078,12.662,1133,11.415,1153,8.328,1252,10.232,1253,12.414,1254,10.669,1843,13.229,1844,13.229,1850,10.512,2025,10.833,2027,17.193,2028,22.343]],["keywords/132",[]],["title/133",[2029,1538.415]],["content/133",[46,8.289,317,5.758,362,9.789,434,8.735,836,12.136,2030,20.183]],["keywords/133",[]],["title/134",[2031,1413.703]],["content/134",[46,8.289,317,5.758,434,8.735,836,12.136,1389,14.627,2032,18.547]],["keywords/134",[]],["title/135",[2033,1538.415]],["content/135",[7,4.431,46,6.773,140,2.152,160,3.172,164,3.503,292,9.551,317,4.706,350,3.87,434,7.138,836,12.437,875,10.488,1081,13.092,1308,16.376,1380,12.655,1389,17.685,1662,10.555,2031,15.156,2032,15.156,2034,13.092,2035,16.493]],["keywords/135",[]],["title/136",[2036,1538.415]],["content/136",[5,3.212,45,3.639,64,7.317,138,7.003,317,6.185,434,7.701,546,11.807,614,8.487,632,8.097,702,11.388,717,9.907,957,9.58,958,8.859,1025,8.487,1339,12.866,2037,17.794]],["keywords/136",[]],["title/137",[2038,1538.415]],["content/137",[5,3.074,1135,15.03,2039,17.951]],["keywords/137",[]],["title/138",[2039,1331.557]],["content/138",[2,8.455,4,5.674,5,2.281,48,4.008,60,8.152,75,4.548,79,3.983,136,3.572,139,1.563,140,1.39,144,1.921,149,7.208,160,2.048,165,5.674,174,4.921,180,5.647,186,3.039,209,4.578,224,7.145,255,6.316,273,4.32,275,5.797,279,3.527,317,5.156,337,4.824,340,5.487,350,4.24,361,6.316,375,4.61,618,8.173,661,6.816,698,4.811,750,6.9,754,6.405,795,4.741,813,4.518,825,6,874,5.08,882,6.231,898,7.067,915,7.531,931,14.344,1153,8.043,1203,10.212,1521,13.995,1595,8.455,2039,13.321,2040,10.651,2041,7.362,2042,6.316,2043,10.651,2044,17.59,2045,9.788,2046,10.651,2047,10.651,2048,10.651,2049,8.173,2050,9.219]],["keywords/138",[]],["title/139",[1129,575.333]],["content/139",[5,1.449,48,5.72,52,2.277,75,9.064,88,3.802,97,4.065,121,6.528,129,4.781,130,3.331,139,2.121,140,2.244,141,4.146,144,1.804,146,4.351,151,3.847,160,1.88,162,1.595,164,3.07,174,4.516,180,2.789,185,4.781,192,2.895,209,8.168,213,5.003,219,3.449,234,4.741,243,5.558,259,4.551,265,4.698,277,2.084,279,3.237,317,5.786,318,3.18,329,7.47,401,11.933,437,5.052,513,8.691,642,4.956,646,5.207,671,4.382,673,4.448,693,5.506,698,6.528,742,4.173,744,4.587,750,4.382,813,4.146,1129,9.166,1133,5.964,1150,4.481,1153,7.655,1158,13.652,1159,6.756,1160,6.485,1252,7.084,1253,9.59,1254,8.242,1307,5.574,1843,10.22,1844,10.22,1845,8.07,1850,7.278,2022,10.762,2023,13.282,2051,9.774,2052,8.07,2053,9.774,2054,9.774,2055,9.774]],["keywords/139",[]],["title/140",[153,595.006]],["content/140",[7,5.086,46,4.756,48,3.016,68,8.393,140,2.683,144,1.446,153,9.132,160,2.227,164,2.46,180,3.304,185,5.665,186,3.304,187,4.307,219,4.087,240,3.967,241,5.435,265,6.153,317,6.419,337,3.63,350,3.833,361,6.867,373,5.617,439,6.867,630,7.066,671,5.192,697,5.665,744,5.435,758,5.082,894,8.393,958,5.766,1036,7.066,1123,4.379,1133,7.066,1153,7.272,1179,7.066,1180,7.543,1207,6.303,1254,9.317,1280,8.005,1417,9.968,1829,6.106,1854,9.193,1855,10.024,1856,13.489,1857,8.623,1907,14.141,1914,14.141,1915,14.141,1916,10.024,1923,10.024,1925,14.141,2056,16.338,2057,11.581,2058,11.581,2059,11.581,2060,15.013,2061,10.642,2062,15.013]],["keywords/140",[]],["title/141",[1892,1063.343]],["content/141",[5,1.564,7,2.835,49,9.478,52,4.59,88,5.946,91,5.565,102,3.221,136,5.062,139,1.548,140,1.377,144,1.317,153,8.435,160,2.029,162,3.671,164,3.818,167,5.301,180,4.361,186,3.011,196,7.833,265,4.968,272,6.017,279,5.062,294,7.461,317,5.623,446,8.304,594,8.32,632,4.801,676,4.333,757,7.001,758,6.708,822,5.874,957,9.677,966,10.967,1138,7.647,1249,7.461,1373,8.712,1519,10.566,1892,17.49,1897,10.658,2003,8.712,2011,11.729,2052,8.712,2063,9.696,2064,9.696,2065,9.696,2066,9.696]],["keywords/141",[]],["title/142",[966,938.631]],["content/142",[7,4.743,33,7.803,52,5.025,140,2.303,144,2.204,160,3.395,162,2.881,164,4.583,186,5.037,196,10.152,337,5.534,429,13.547,689,13.146,957,12.543,966,10.772,2067,13.547]],["keywords/142",[]],["title/143",[2068,1270.201]],["content/143",[7,4.101,33,10.786,37,6.583,58,7.795,140,1.992,144,1.906,160,2.935,164,3.243,186,4.355,225,7.185,307,12.278,331,10.07,338,10.489,594,12.533,937,10.601,2067,11.713,2068,12.604,2069,14.661,2070,16.257,2071,14.028,2072,15.265]],["keywords/143",[]],["title/144",[495,727.819]],["content/144",[33,7.397,84,5.415,140,2.184,144,2.089,152,5.623,160,3.219,164,3.555,180,4.776,186,4.776,285,6.364,350,3.927,495,11.595,511,10.212,573,8.415,676,6.874,698,7.56,902,13.596,1129,7.806,1998,14.487,2067,12.843,2073,15.381,2074,15.381]],["keywords/144",[]],["title/145",[937,828.284]],["content/145",[33,9.92,35,4.384,91,5.918,140,2.121,141,8.692,144,2.558,160,3.126,164,3.453,192,4.105,225,7.004,318,4.509,447,6.079,937,11.034,1053,12.473,1711,10.403,1974,9.857,2067,12.473,2075,13.421,2076,16.255,2077,20.495,2078,16.255]],["keywords/145",[]],["title/146",[37,514.328]],["content/146",[1,3.427,5,2.723,33,8.12,36,9.405,37,7.925,140,2.397,160,3.533,162,2.999,180,5.242,225,5.733,852,8.623,1139,8.179,1974,8.837,2067,14.098,2075,15.171]],["keywords/146",[]],["title/147",[2079,1270.201]],["content/147",[33,7.682,44,11.124,68,16.768,71,10.452,140,2.268,144,2.17,160,3.343,164,3.692,167,8.733,186,4.96,317,4.96,482,13.799,1224,10.452,1703,12.598,2067,13.338,2079,14.352,2080,20.89,2081,15.974,2082,15.974]],["keywords/147",[]],["title/148",[2083,1180.425]],["content/148",[5,2.518,33,7.509,37,5.68,45,3.474,84,5.497,140,2.217,144,2.121,160,3.267,180,4.847,186,4.847,225,6.574,256,5.906,614,8.104,646,7.59,752,8.038,902,11.066,941,10.664,2083,18.372,2084,14.028,2085,14.705]],["keywords/148",[]],["title/149",[1829,811.144]],["content/149",[5,1.969,19,9.395,35,3.843,44,8.503,52,3.095,91,6.54,119,6.935,129,6.5,130,6.123,136,3.084,140,2.344,151,5.229,152,4.463,160,2.555,162,2.168,163,6.615,164,3.816,185,6.5,192,2.662,194,4.021,203,7.577,208,3.514,277,4.339,279,4.4,317,6.498,318,2.923,329,6.867,447,4.969,543,8.503,550,11.5,630,8.107,700,7.242,813,8.632,875,6.737,1423,7.673,1589,14.832,1829,11.496,1835,12.418,2017,11.5,2018,12.21,2019,12.21,2020,12.21,2021,12.21]],["keywords/149",[]],["title/150",[45,314.583]],["content/150",[45,5.092,130,5.621,140,2.152,144,2.059,155,8.443,160,3.172,162,3.867,164,4.393,186,4.706,243,7.954,265,5.361,296,8.286,309,10.118,336,6.453,338,12.038,404,6.343,752,7.803,2086,16.493]],["keywords/150",[]],["title/151",[45,246.021,642,610.082]],["content/151",[45,4.164,138,9.242,143,7.231]],["keywords/151",[]],["title/152",[2087,1538.415]],["content/152",[29,7.131,35,3.899,60,6.432,76,19.036,84,5.897,139,2.674,140,2.378,160,3.505,164,3.871,277,3.885,350,4.276,570,10.662,774,12.701,789,11.12,2025,13.984,2088,16.748]],["keywords/152",[]],["title/153",[2089,1538.415]],["content/153",[35,3.899,60,6.432,61,8.622,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/153",[]],["title/154",[2091,1538.415]],["content/154",[35,3.837,60,7.687,61,8.485,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/154",[]],["title/155",[2095,1538.415]],["content/155",[35,4.637,60,7.65,62,7.247,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/155",[]],["title/156",[2097,1538.415]],["content/156",[35,3.899,56,11.871,60,6.432,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/156",[]],["title/157",[2098,1538.415]],["content/157",[35,3.837,56,11.682,60,7.687,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/157",[]],["title/158",[2099,1538.415]],["content/158",[35,4.637,60,7.65,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,292,8.738,350,4.175,822,9.907,1153,7.921,1288,15.71,2090,10.7,2096,12.299]],["keywords/158",[]],["title/159",[2100,1538.415]],["content/159",[60,6.381,76,18.944,84,5.849,139,2.653,140,2.359,160,3.477,164,3.84,208,3.536,277,4.665,350,4.242,570,10.577,774,12.639,789,11.031,2025,13.872,2050,15.648,2088,16.614]],["keywords/159",[]],["title/160",[2101,1538.415]],["content/160",[60,6.432,61,8.622,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,208,3.565,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/160",[]],["title/161",[2102,1538.415]],["content/161",[60,7.687,61,8.485,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,208,3.508,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/161",[]],["title/162",[2103,1538.415]],["content/162",[60,7.65,62,7.247,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/162",[]],["title/163",[2104,1538.415]],["content/163",[56,11.871,60,6.432,136,4.23,139,2.674,140,2.378,160,3.505,164,3.871,208,3.565,224,7.182,292,7.347,350,4.276,652,9.513,875,9.242,2034,14.468,2044,12.887,2049,13.984,2090,10.959]],["keywords/163",[]],["title/164",[2105,1538.415]],["content/164",[56,11.682,60,7.687,115,11.682,136,5.055,139,2.632,140,2.34,160,3.449,164,3.81,208,3.508,350,4.208,375,9.427,652,9.362,1072,9.011,2044,12.682,2092,14.809,2093,13.762,2094,14.809]],["keywords/164",[]],["title/165",[2106,1538.415]],["content/165",[60,7.65,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,292,8.738,350,4.175,822,9.907,1153,7.921,1288,15.71,2090,10.7,2096,12.299]],["keywords/165",[]],["title/166",[2107,1538.415]],["content/166",[60,7.577,63,13.513,74,11.817,84,5.668,139,3.15,140,2.286,160,3.369,164,3.721,208,4.199,292,8.655,350,4.11,822,9.753,1153,7.798,1521,15.181,2090,10.534,2096,12.108]],["keywords/166",[]],["title/167",[2108,1538.415]],["content/167",[60,7.577,63,13.513,74,11.817,84,5.668,139,3.15,140,2.286,160,3.369,164,3.721,208,4.199,292,8.655,350,4.11,822,9.753,931,17.043,1153,7.798,2090,10.534,2096,12.108]],["keywords/167",[]],["title/168",[2109,1538.415]],["content/168",[60,7.577,63,13.513,74,11.817,84,5.668,139,3.15,140,2.286,160,3.369,164,3.721,208,4.199,292,8.655,350,4.11,414,17.043,822,9.753,1153,7.798,2090,10.534,2096,12.108]],["keywords/168",[]],["title/169",[2110,1538.415]],["content/169",[60,7.65,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,260,14.383,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/169",[]],["title/170",[2111,1538.415]],["content/170",[60,7.65,63,13.643,74,11.93,84,5.757,139,3.181,140,2.322,160,3.422,164,3.78,208,4.24,292,8.738,350,4.175,822,9.907,1153,7.921,2090,10.7,2096,12.299]],["keywords/170",[]],["title/171",[2112,1538.415]],["content/171",[84,5.803,139,3.196,140,2.34,160,3.449,164,3.81,225,6.797,259,10.142,292,7.23,350,4.208,875,9.095,1310,13.355,1521,12.682,1662,11.478,2090,10.785,2113,17.984,2114,16.482]],["keywords/171",[]],["title/172",[2115,1538.415]],["content/172",[33,9,45,4.164,48,5.304,717,11.338,1127,16.814]],["keywords/172",[]],["title/173",[2116,1538.415]],["content/173",[48,4.785,139,2.696,140,2.397,160,3.533,164,3.903,350,4.311,646,6.619,652,9.591,698,8.299,808,9.788,901,11.211,1127,15.171,1203,12.192,2117,14.585,2118,18.374,2119,18.374,2120,14.098]],["keywords/173",[]],["title/174",[2121,1413.703]],["content/174",[5,2.232,33,8.626,45,3.991,63,9.479,78,5.727,91,5.483,97,6.264,130,5.133,138,5.928,140,1.965,160,2.896,164,3.199,189,5.963,224,4.918,259,11.051,265,4.895,277,4.161,309,7.368,376,5.479,447,5.633,673,6.853,752,9.234,1288,10.915,1404,10.915,1674,10.193,2025,11.556,2052,12.435,2113,12.435,2122,11.956,2123,13.84,2124,11.956,2125,15.061,2126,15.061,2127,15.061,2128,15.061]],["keywords/174",[]],["title/175",[277,327.933]],["content/175",[33,7.99,45,3.697,51,6.479,63,11.379,140,2.359,160,3.477,162,3.842,164,3.84,277,4.665,376,5.075,698,8.166,2025,13.872,2113,14.927,2121,16.614,2129,15.648,2130,18.079]],["keywords/175",[]],["title/176",[2131,1270.201]],["content/176",[7,4.634,39,9.494,45,3.527,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857]],["keywords/176",[]],["title/177",[2083,1180.425]],["content/177",[5,2.518,33,7.509,37,5.68,45,3.474,84,5.497,140,2.217,144,2.121,160,3.267,180,4.847,186,4.847,225,6.574,256,5.906,614,8.104,646,7.59,752,8.038,902,11.066,941,10.664,2083,18.372,2084,14.028,2085,14.705]],["keywords/177",[]],["title/178",[33,679.899]],["content/178",[9,7.869,33,10.939,58,7.728,140,1.965,144,2.703,160,2.896,162,3.739,164,4.146,186,4.297,259,9.089,265,6.344,273,6.109,321,6.704,337,6.788,338,10.399,377,10.193,404,5.792,596,10.41,673,6.853,1990,10.41,2000,11.956,2136,10.915,2137,15.061,2138,11.956,2139,15.061]],["keywords/178",[]],["title/179",[33,531.719,642,610.082]],["content/179",[33,9,138,9.242,143,7.231]],["keywords/179",[]],["title/180",[966,938.631]],["content/180",[7,4.634,33,9.399,52,4.954,140,2.251,144,2.878,160,3.317,162,2.815,164,4.518,186,4.922,196,10.048,337,6.666,429,13.236,689,12.844,957,12.415,966,10.525]],["keywords/180",[]],["title/181",[2068,1270.201]],["content/181",[7,4.019,33,10.922,37,6.498,58,7.694,139,2.195,140,1.952,144,2.695,160,2.877,164,3.178,186,4.269,225,7.131,307,12.161,331,9.974,337,4.689,338,10.354,594,12.438,937,10.464,2068,12.353,2069,14.471,2070,16.047,2071,13.748]],["keywords/181",[]],["title/182",[495,727.819]],["content/182",[33,9.058,84,5.259,140,2.121,144,2.802,152,5.461,160,3.126,164,3.453,180,4.638,186,4.638,285,6.181,337,5.095,350,3.814,495,11.495,511,9.918,573,8.262,676,6.676,685,11.235,698,7.342,902,13.348,1129,7.665,1998,14.069,2073,14.937,2074,14.937]],["keywords/182",[]],["title/183",[566,1114.932]],["content/183",[1,2.538,5,2.705,33,9.73,47,12.762,48,3.544,55,7.406,70,8.302,88,5.293,106,7.175,138,5.355,139,2.679,140,1.775,144,2.572,152,4.571,160,2.617,162,2.221,163,10.961,164,2.89,186,3.882,224,4.443,277,2.901,337,5.722,494,7.406,538,10.132,545,8.182,566,18.017,615,6.715,676,5.588,1058,7.858,2003,11.235,2042,8.069,2140,12.504,2141,9.862,2142,13.607,2143,11.778,2144,13.607,2145,10.802,2146,13.607,2147,13.607]],["keywords/183",[]],["title/184",[2148,1001.987]],["content/184",[33,10.692,37,5.357,45,4.794,50,5.488,72,8.449,140,2.091,144,2.927,160,3.081,161,7.404,162,2.615,163,11.102,164,3.404,182,9.138,186,4.572,337,7.583,494,8.722,615,7.907,2140,14.725,2148,10.437]],["keywords/184",[]],["title/185",[937,828.284]],["content/185",[33,10.624,35,4.287,91,5.712,140,2.047,141,8.499,144,3.069,160,3.017,164,3.333,192,4.014,225,6.89,318,4.409,337,6.281,447,5.868,937,10.789,1053,12.039,1711,10.041,1974,9.638,2075,12.954,2149,15.69,2150,15.69]],["keywords/185",[]],["title/186",[153,595.006]],["content/186",[5,2.325,33,9.758,50,5.374,52,3.655,91,5.712,136,3.641,138,6.175,140,2.047,141,6.655,153,9.664,160,3.017,162,3.27,163,7.812,164,4.257,197,6.212,200,9.875,252,7.249,337,4.918,447,5.868,752,9.481,758,9.689,2151,15.69,2152,15.69,2153,14.418,2154,12.954]],["keywords/186",[]],["title/187",[37,514.328]],["content/187",[1,3.456,5,2.745,33,8.187,36,9.483,37,7.953,140,2.417,160,3.562,162,3.023,180,5.285,225,5.781,852,8.694,1139,8.246,1974,8.909,2075,15.295]],["keywords/187",[]],["title/188",[1892,1063.343]],["content/188",[33,7.606,49,10.214,88,6.695,91,6.266,136,5.346,139,1.831,140,1.628,144,1.558,160,2.399,162,3.636,164,4.185,180,3.56,186,3.56,196,8.585,265,5.594,279,5.7,446,7.952,594,9.367,632,5.678,676,5.124,757,8.279,957,10.607,966,12.02,1519,8.625,1892,17.626,1897,11.682,2011,13.206,2052,10.303,2063,11.466,2064,11.466,2065,11.466,2066,11.466]],["keywords/188",[]],["title/189",[2079,1270.201]],["content/189",[33,9.311,44,10.873,68,16.598,71,10.216,140,2.217,144,2.121,160,3.267,164,3.609,167,8.536,186,4.847,482,13.487,1224,10.216,1703,12.313,2006,15.613,2079,14.028,2080,20.724,2081,15.613,2082,15.613,2155,19.823]],["keywords/189",[]],["title/190",[2131,1270.201]],["content/190",[7,4.634,33,7.624,39,9.494,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857]],["keywords/190",[]],["title/191",[2083,1180.425]],["content/191",[5,2.518,33,7.509,37,5.68,45,3.474,84,5.497,140,2.217,144,2.121,160,3.267,180,4.847,186,4.847,225,6.574,256,5.906,614,8.104,646,7.59,752,8.038,902,11.066,941,10.664,2083,18.372,2084,14.028,2085,14.705]],["keywords/191",[]],["title/192",[79,575.333]],["content/192",[4,7.569,5,2.106,9,7.574,33,6.279,58,7.438,66,8.424,79,9.128,89,5.909,140,1.854,142,7.138,144,1.774,160,2.732,162,3.655,164,3.991,186,4.054,194,4.299,225,4.433,265,6.107,273,5.762,282,11.14,336,5.559,337,5.889,338,10.009,349,4.534,377,9.615,1005,9.615,1018,10.901,1029,10.296,1061,10.579,1084,7.273,1367,8.942,1714,10.046,2138,11.278,2156,14.207,2157,13.056,2158,9.82,2159,6.776]],["keywords/192",[]],["title/193",[79,449.943,642,610.082]],["content/193",[79,7.616,138,9.242,143,7.231]],["keywords/193",[]],["title/194",[1620,1145.489]],["content/194",[5,3.152,44,11.039,79,8.623,140,2.251,160,3.317,164,3.664,189,8.42,197,6.829,350,4.99,686,10.992,1155,10.857,1269,10.686,1620,17.169,2069,12.844,2157,15.851,2160,17.25,2161,14.93]],["keywords/194",[]],["title/195",[2162,1413.703]],["content/195",[5,3.079,70,10.137,72,10.955,79,7.771,136,3.856,140,2.168,142,8.347,160,3.195,164,3.529,189,8.226,197,6.578,329,8.587,350,4.875,494,9.043,720,11.244,1018,12.748,1155,10.457,1620,16.881,1714,11.748,2161,14.38,2163,16.614,2164,15.268,2165,15.268]],["keywords/195",[]],["title/196",[918,819.563]],["content/196",[5,2.893,44,9.639,52,3.508,70,9.189,79,9.094,140,1.965,142,7.567,151,5.928,160,2.896,164,3.199,302,7.184,337,4.721,349,6.911,383,11.304,404,8.328,467,8.697,573,8.73,632,6.853,643,6.853,918,8.024,1018,11.556,1023,11.556,1800,17.88,2158,10.41,2164,17.937,2166,10.41,2167,15.061]],["keywords/196",[]],["title/197",[2168,819.563]],["content/197",[7,4.497,38,8.409,79,8.507,140,2.184,156,10.901,160,3.219,162,3.713,164,3.555,337,5.246,349,5.341,1026,10.124,1294,9.665,2158,11.569,2159,7.983,2168,12.688,2169,15.381,2170,13.82,2171,16.738,2172,14.487,2173,16.738,2174,13.287]],["keywords/197",[]],["title/198",[2175,1413.703]],["content/198",[79,8.865,140,2.397,160,3.533,162,2.999,163,11.004,164,3.903,2158,12.7,2159,8.764,2175,21.783,2176,13.681,2177,18.374,2178,18.374]],["keywords/198",[]],["title/199",[38,772.919]],["content/199",[38,10.635,52,3.987,79,8.978,140,2.234,151,6.737,160,3.292,164,5.1,180,6.04,197,6.777,336,6.698,337,5.366,351,8.523,1150,9.705,1214,10.774,2158,11.832,2159,8.165,2179,17.119]],["keywords/199",[]],["title/200",[460,952.996]],["content/200",[1,3.032,52,3.786,79,8.814,140,2.121,160,3.126,164,3.453,217,5.308,219,5.737,230,6.894,256,5.651,302,7.753,460,15.051,571,6.849,573,6.553,626,10.231,677,8.752,716,12.473,1020,14.069,1087,13.421,1751,12.103,1897,9.639,2180,16.255,2181,16.255,2182,9.51,2183,14.937,2184,16.255]],["keywords/200",[]],["title/201",[2131,1270.201]],["content/201",[7,4.634,39,9.494,79,6.451,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857]],["keywords/201",[]],["title/202",[2185,1538.415]],["content/202",[52,5.148,140,2.397,160,3.533,164,4.695,273,7.452,358,4.607,446,8.489,563,12.252,689,13.681,1078,16.042,2084,15.171]],["keywords/202",[]],["title/203",[2186,623.975]],["content/203",[5,2.831,48,3.796,83,8.022,91,5.306,117,10.074,136,3.383,140,1.902,144,2.385,160,2.803,162,3.118,164,3.096,180,4.158,186,4.158,208,2.851,265,6.21,279,4.827,355,8.764,359,9.599,554,7.461,594,7.933,620,7.322,622,10.074,671,9.557,742,6.223,1151,8.114,1307,8.311,1423,8.416,1789,6.062,2186,10.106,2187,12.034,2188,15.166,2189,12.615,2190,8.896]],["keywords/203",[]],["title/204",[642,610.082,2186,487.983]],["content/204",[138,9.242,143,7.231,2186,8.26]],["keywords/204",[]],["title/205",[2131,1270.201]],["content/205",[7,4.634,39,9.494,140,2.251,160,3.317,180,4.922,190,15.605,205,10.372,259,10.737,260,11.446,329,10.992,717,11.84,1827,9.19,1900,11.981,2132,14.242,2133,14.242,2134,14.242,2135,10.857,2186,6.996]],["keywords/205",[]],["title/206",[1,224.429,11,491.014]],["content/206",[]],["keywords/206",[]],["title/207",[2191,1270.201]],["content/207",[]],["keywords/207",[]],["title/208",[2192,1538.415]],["content/208",[1,4.024,139,2.59,325,9.946,571,10.224,914,17.875,960,14.577,1819,14.577,2191,20.035,2193,15.281,2194,14.6,2195,12.483,2196,14.577]],["keywords/208",[]],["title/209",[11,491.014,2191,993.368]],["content/209",[1,4.312,5,1.87,7,3.39,11,8.709,67,6.945,102,3.852,139,3.131,141,7.356,153,6.708,197,4.995,202,7.122,225,6.184,256,6.029,302,6.018,307,7.108,337,3.955,349,4.027,407,8.372,522,7.382,573,5.086,580,7.816,592,7.816,677,6.793,845,7.816,896,8.218,914,15.205,1134,8.075,1157,10.921,1769,7.108,1789,5.248,2136,9.144,2191,17.618,2197,12.618,2198,12.618,2199,17.343,2200,12.618,2201,12.618,2202,20.006,2203,11.595,2204,12.618,2205,10.921,2206,11.595,2207,12.618,2208,9.144,2209,12.618]],["keywords/209",[]],["title/210",[11,403.15,192,197.881,432,531.85]],["content/210",[35,3.867,139,3.211,202,7.425,225,5.642,338,9.632,533,13.872,620,9.083,1053,13.872,1201,11.031,2158,12.496,2202,15.648,2208,13.103,2210,23.539,2211,13.872,2212,18.079,2213,18.079]],["keywords/210",[]],["title/211",[11,403.15,318,217.321,432,531.85]],["content/211",[35,3.38,139,3.422,152,5.308,202,6.489,225,6.281,318,4.428,338,8.417,571,8.481,1201,9.64,1300,11.45,2158,10.921,2202,19.174,2208,11.45,2214,24.089,2215,22.152,2216,20.129,2217,18.497,2218,15.8,2219,14.519,2220,15.8,2221,15.8]],["keywords/211",[]],["title/212",[1323,856.485]],["content/212",[]],["keywords/212",[]],["title/213",[61,569.195,1323,669.819]],["content/213",[1,1.831,5,1.455,19,6.941,20,5.403,35,3.102,48,3.776,61,9.008,137,3.379,139,2.127,140,2.249,143,3.023,145,7.846,146,6.454,147,15.844,172,5.285,175,5.598,176,5.53,181,3.346,189,3.886,196,4.278,208,2.836,209,4.22,211,10.086,213,7.422,214,9.235,220,6.501,243,5.576,244,3.775,245,7.793,246,7.309,250,8.497,251,7.114,265,4.713,274,5.403,323,9.126,350,4.045,376,2.756,378,4.844,391,6.941,483,6.785,494,5.343,545,5.903,568,3.754,614,6.916,625,8.662,626,6.179,627,6.941,646,3.537,654,6.394,693,5.53,697,4.802,725,9.091,774,8.373,882,5.743,883,5.598,1105,6.179,1118,6.644,1140,6.394,1179,5.989,1207,7.892,1254,5.598,1280,6.785,1299,6.081,1323,11.309,1369,11.972,1385,6.785,1660,8.497,1735,8.598,1736,7.532,1738,7.114,2222,8.105,2223,8.105,2224,8.497,2225,14.5,2226,8.497,2227,7.532,2228,9.021,2229,9.817,2230,9.817,2231,9.817,2232,9.021,2233,8.497,2234,8.497,2235,9.817]],["keywords/213",[]],["title/214",[1082,1041.352,1323,669.819]],["content/214",[1,1.147,5,2.856,7,1.652,31,4.457,35,2.734,48,3.847,49,2.958,52,3.795,60,2.17,61,4.762,64,2.076,102,3.073,130,2.096,136,2.966,137,2.117,139,3.148,144,0.768,146,4.481,148,4.579,152,4.962,181,3.431,192,2.017,193,3.347,194,1.861,208,2.5,211,8.641,213,8.34,214,8.958,217,2.008,219,2.17,230,7.833,232,2.958,234,2.983,266,4.08,278,4.187,318,1.353,336,2.406,358,3.703,432,5.42,437,3.178,446,10.506,624,5.363,625,5.058,646,3.627,656,7.118,664,7.495,666,6.679,687,7.991,697,4.924,723,9.15,725,5.308,729,7.991,809,5.479,827,10.998,882,7.476,883,7.288,920,3.936,1059,5.889,1082,17.267,1105,6.336,1115,4.08,1179,3.752,1323,10.73,1335,6.958,1367,3.871,1469,5.323,1865,7.724,2222,5.078,2236,6.15,2237,6.15,2238,8.713,2239,6.15,2240,10.067,2241,10.067,2242,6.15,2243,4.348,2244,10.444,2245,14.445,2246,14.351,2247,7.991,2248,8.713,2249,7.991,2250,9.251,2251,8.312,2252,8.713,2253,8.713,2254,8.713,2255,9.251,2256,8.713,2257,8.713,2258,9.251,2259,5.078,2260,9.251,2261,7.724,2262,9.251,2263,6.15,2264,6.15,2265,5.651,2266,6.15,2267,6.15,2268,6.15,2269,6.15,2270,6.15,2271,6.15,2272,6.15,2273,6.15,2274,4.719,2275,4.719,2276,4.719,2277,5.078]],["keywords/214",[]],["title/215",[200,757.233,1323,669.819]],["content/215",[5,3.31,7,2.77,35,3.794,48,2.685,52,4.541,64,3.48,102,4.588,146,6.691,148,7.677,152,5.049,194,3.12,200,14.058,208,3.469,211,6.032,213,7.694,214,7.29,219,3.639,230,7.523,266,6.841,278,6.252,317,2.942,358,3.769,403,11.894,432,5.551,434,4.462,446,10.577,614,4.918,624,8.008,664,7.677,666,6.841,688,11.192,723,6.387,725,7.925,827,14.515,882,6.032,883,5.879,920,6.598,1263,5.382,1323,12.435,1335,10.389,1589,8.513,1835,6.291,2243,7.29,2244,13.784,2245,16.095,2246,11.192,2247,8.184,2274,7.911,2278,9.475,2279,10.31,2280,15.031,2281,13.813,2282,10.31]],["keywords/215",[]],["title/216",[1300,871.939,1323,669.819]],["content/216",[1,2.096,5,3.176,35,3.42,59,4.93,66,6.662,70,6.855,96,6.662,97,4.673,139,2.976,144,1.402,146,5.001,149,10.822,160,2.16,162,1.834,181,6.913,188,6.183,204,4.006,208,3.641,211,11.866,279,3.721,317,3.205,337,3.521,403,9.756,425,5.449,446,10.292,467,10.751,476,9.234,542,5.985,556,7.455,614,8.88,688,11.906,743,7.19,758,4.93,761,5.864,775,3.738,956,7.19,1019,4.345,1200,6.329,1263,5.864,1300,13.492,1323,10.365,1497,6.756,1818,9.234,1835,6.855,1869,13.203,2042,6.662,2227,8.621,2283,10.324,2284,10.324,2285,17.108,2286,10.324,2287,8.918,2288,10.324,2289,10.324,2290,10.324,2291,10.324,2292,6.488,2293,10.324]],["keywords/216",[]],["title/217",[403,734.062,1323,669.819]],["content/217",[1,0.988,5,2.225,7,4.033,35,2.881,49,5.53,52,4.392,59,2.325,66,3.141,75,2.262,96,3.141,97,2.203,102,3.51,139,2.66,140,2.777,143,3.541,144,1.681,146,3.96,149,6.02,153,2.049,160,1.019,162,1.452,181,4.591,183,2.637,202,2.176,204,6.464,208,3.179,209,2.277,211,7.88,240,1.814,242,2.984,252,2.448,255,3.141,274,2.916,275,7.331,277,2.451,279,4.972,305,6.329,317,3.843,336,2.073,337,1.66,340,3.172,350,2.087,358,2.23,376,2.497,403,11.885,425,2.569,434,4.976,443,9.109,446,9,455,4.952,467,6.64,476,5.137,542,2.822,556,3.515,594,2.883,614,5.484,628,2.375,646,7.383,647,9.157,688,3.944,743,3.39,758,3.904,761,2.765,775,3.826,901,7.016,956,3.39,1019,2.049,1059,3.099,1089,7.489,1153,9.123,1170,5.275,1200,5.011,1263,7.836,1300,8.333,1323,10.094,1340,4.868,1409,3.185,1493,3.944,1497,3.185,1711,3.39,1818,5.137,1835,8.218,1869,9.494,1870,4.374,2011,4.065,2041,3.662,2042,3.141,2227,4.065,2275,4.065,2276,4.065,2281,8.174,2283,8.174,2284,4.868,2285,8.174,2286,4.868,2287,4.205,2288,4.868,2289,4.868,2290,4.868,2291,4.868,2292,3.059,2293,4.868,2294,5.297,2295,4.868,2296,4.585,2297,4.585,2298,4.585,2299,5.297,2300,8.895,2301,2.822,2302,11.498,2303,8.895,2304,4.868,2305,5.297,2306,10.566,2307,8.895,2308,8.895,2309,8.895,2310,5.297,2311,5.297,2312,5.297,2313,5.297,2314,5.297,2315,4.374,2316,8.895,2317,4.374,2318,5.297,2319,5.297,2320,5.297,2321,5.297,2322,5.297,2323,5.297,2324,5.297]],["keywords/217",[]],["title/218",[1059,703.852,1323,669.819]],["content/218",[1,1.238,5,2.826,7,1.783,11,2.709,35,2.881,48,4.416,52,4.223,59,2.913,64,2.241,102,3.27,137,2.285,139,2.267,144,0.829,146,4.768,148,4.943,152,3.598,181,3.651,193,5.83,194,2.009,208,2.634,211,9.041,213,8.679,214,9.25,219,3.78,230,7.191,232,3.193,266,4.405,278,4.455,279,2.198,337,2.081,358,3.875,425,3.22,432,5.767,446,10.793,624,5.707,625,5.382,646,3.859,656,7.574,664,7.976,666,7.108,687,8.503,697,5.24,709,4.493,723,9.573,725,5.648,729,8.503,809,3.613,827,11.507,882,7.878,883,7.679,920,4.248,1059,11.989,1105,6.742,1115,4.405,1161,4.811,1179,4.05,1187,4.694,1323,11.049,1335,7.404,1709,3.431,1714,4.694,1865,8.219,1870,8.844,2243,4.694,2244,10.927,2245,14.968,2246,14.777,2247,5.27,2248,9.272,2249,8.503,2250,9.844,2251,8.844,2252,9.272,2253,5.746,2254,9.272,2255,9.844,2256,9.272,2257,5.746,2258,9.844,2259,5.481,2260,9.844,2261,8.219,2262,9.844,2265,6.1,2274,5.094,2275,5.094,2276,5.094,2277,5.481,2325,6.1,2326,6.638,2327,6.1,2328,5.746,2329,6.638,2330,10.712,2331,6.638,2332,6.638,2333,6.638,2334,6.638,2335,6.638,2336,6.638,2337,6.638]],["keywords/218",[]],["title/219",[193,654.836,1323,669.819]],["content/219",[1,2.397,5,2.965,13,9.546,14,13.939,35,4.599,45,1.71,52,2.993,58,3.31,62,2.795,75,5.486,139,2.935,140,2.472,144,1.044,146,6.965,152,4.316,153,3.234,174,3.863,181,6.458,193,12.649,198,4.201,208,3.434,211,7.516,214,4.055,216,6.637,219,4.534,230,3.546,246,6.226,265,5.086,278,5.344,279,2.769,305,4.602,336,3.271,337,2.621,371,4.891,425,4.055,432,4.502,615,4.126,625,7.861,697,4.09,699,6.059,723,7.959,725,8.25,774,4.828,842,5.779,882,4.891,883,4.768,920,5.351,1129,3.127,1139,3.722,1224,5.028,1228,6.637,1250,6.903,1263,4.364,1285,12.919,1292,7.237,1293,12.919,1320,14.378,1323,11.137,1327,7.683,1328,11.806,1329,7.683,1330,5.351,1331,7.683,1332,7.683,1334,11.806,1335,5.779,1414,6.226,1738,6.059,2338,7.683,2339,8.361,2340,8.361,2341,8.361,2342,15.647,2343,7.683,2344,12.848,2345,12.848,2346,8.361,2347,8.361,2348,8.361,2349,8.361,2350,8.361,2351,8.361,2352,7.683,2353,7.237,2354,6.226,2355,12.848]],["keywords/219",[]],["title/220",[1323,669.819,2297,1041.352]],["content/220",[1,1.354,5,3.038,7,1.95,11,2.962,35,3.057,48,2.996,52,4.129,64,2.45,66,4.304,102,3.512,139,1.688,144,0.906,146,5.121,148,5.404,152,4.801,181,3.921,193,8.851,194,2.196,208,3.181,211,9.513,213,9.074,214,8.598,230,3.078,232,7.821,266,4.816,278,4.785,279,2.404,317,2.071,337,2.275,358,4.077,403,4.428,425,3.52,432,6.194,434,3.141,446,10.662,614,3.462,624,6.129,625,5.78,656,8.134,664,8.566,666,7.633,688,8.566,700,2.926,723,10.073,725,6.066,729,9.132,809,3.95,813,3.078,827,8.566,882,8.361,883,8.15,920,4.645,1105,7.241,1323,11.413,1335,7.952,1835,4.428,1865,8.827,2243,5.132,2244,8.134,2245,15.573,2246,14.044,2247,5.761,2248,9.957,2249,9.132,2251,9.499,2252,9.957,2253,6.282,2254,9.957,2256,9.957,2257,6.282,2274,5.569,2275,5.569,2276,5.569,2295,10.572,2297,17.743,2356,7.258,2357,11.504,2358,11.504,2359,11.504,2360,11.504,2361,11.504,2362,11.504,2363,11.504,2364,11.504,2365,11.504,2366,7.258,2367,7.258]],["keywords/220",[]],["title/221",[1093,757.965,1139,439.706,1146,585.741]],["content/221",[1,3.738,35,3.356,58,6.212,88,6.103,91,5.712,129,7.675,143,4.831,144,1.959,204,8.295,208,3.069,279,6.636,286,8.947,317,4.477,337,4.918,425,7.61,745,11.682,1139,6.984,1146,11.883,1160,10.411,1193,14.418,1293,12.954,1357,12.954,1702,12.954,2368,15.69,2369,15.69,2370,15.69,2371,15.69,2372,15.69,2373,15.69,2374,15.69,2375,15.69,2376,15.69]],["keywords/221",[]],["title/222",[1139,535.538,2377,923.159]],["content/222",[1,3.986,5,2.576,51,6.23,58,6.882,75,7.422,129,8.503,144,2.17,149,11.764,192,3.482,207,9.461,277,3.705,279,5.757,337,5.448,362,8.431,425,8.431,742,7.422,1139,7.737,1707,15.045,2377,16.396,2378,21.369,2379,13.338]],["keywords/222",[]],["title/223",[774,570.435,1129,369.428,1139,439.706]],["content/223",[1,3.689,5,3.241,45,3.143,51,5.508,58,6.085,75,6.562,129,7.518,136,3.567,140,2.005,144,1.919,160,2.955,192,3.079,197,6.085,209,6.606,279,5.09,328,12.69,337,4.817,425,7.454,742,6.562,744,9.281,774,12.627,915,10.867,1012,13.302,1114,10.01,1129,7.396,1139,6.841,1211,11.726,1217,14.123,1959,14.123,1961,14.123,2380,19.776,2381,10.623]],["keywords/223",[]],["title/224",[35,329.08]],["content/224",[]],["keywords/224",[]],["title/225",[35,211.306,136,229.264,278,410.861]],["content/225",[1,3.121,5,2.069,18,3.489,35,4.954,45,1.908,48,4.837,53,4.378,59,4.094,60,4.927,61,6.605,75,5.961,84,3.018,102,4.262,127,6.597,130,3.18,136,5.021,138,3.672,140,1.822,143,2.873,144,1.165,162,2.278,174,4.31,181,6.777,209,4.01,214,4.525,221,4.564,223,8.184,236,6.597,259,6.501,265,5.438,272,7.961,273,3.784,277,2.976,278,6.958,280,5.779,281,7.158,296,4.687,320,5.692,325,7.865,331,4.31,333,4.645,351,4.645,361,5.532,376,3.919,421,11.527,447,3.489,540,5.872,562,6.314,624,4.97,625,7.014,626,8.787,627,6.597,628,4.183,646,5.03,704,6.314,750,4.183,752,4.414,758,4.094,802,7.158,819,5.194,848,5.961,875,4.731,877,6.314,1039,4.487,1058,5.387,1072,7.014,1073,7.158,1093,7.158,1208,5.023,1259,6.314,1698,11.527,1788,6.314,1828,7.703,1981,7.703,2382,8.573,2383,8.573,2384,7.703,2385,6.947,2386,8.075,2387,13.961,2388,9.329,2389,6.947,2390,6.19,2391,6.947,2392,8.573,2393,8.075]],["keywords/225",[]],["title/226",[35,329.08]],["content/226",[35,5.293,45,3.826,48,3.677,52,3.289,137,4.859,140,1.842,144,1.762,145,6.424,146,8.328,151,5.557,160,4.035,161,6.523,162,3.053,163,7.029,164,4.458,165,7.521,166,8.259,167,7.093,168,9.983,169,10.232,170,9.368,171,9.035,172,11.298,173,6.153,174,6.523,175,8.051,176,7.953,177,8.259,178,8.153,179,7.029,180,4.028,186,4.028,243,5.429,265,4.589,277,3.01,404,5.429,1660,12.22,2223,11.657]],["keywords/226",[]],["title/227",[35,257.359,642,610.082]],["content/227",[35,4.356,138,9.242,143,7.231]],["keywords/227",[]],["title/228",[140,200.718]],["content/228",[5,1.565,7,1.752,18,2.44,35,3.847,48,5.135,51,2.338,52,5.368,61,3.086,83,3.59,137,3.635,140,3.201,144,0.814,146,4.701,151,5.237,152,3.548,155,3.339,160,3.641,162,1.065,164,4.188,167,3.277,172,10.194,173,6.666,174,4.88,175,6.023,176,7.497,177,6.179,178,6.099,179,5.258,180,4.364,181,5.214,186,1.861,187,3.928,194,3.196,214,6.454,217,3.449,223,7.483,265,2.12,277,3.582,279,2.16,340,4.745,350,3.942,352,2.906,373,9.562,374,9.581,375,5.759,376,4.717,380,7.654,624,7.089,625,6.686,630,3.98,637,6.647,643,2.968,644,4.612,645,6.543,646,6.821,647,9.466,648,3.98,649,3.277,650,5.005,651,3.922,652,5.513,653,6.179,654,4.249,655,4.857,725,8.065,882,3.816,883,3.72,884,9.909,925,5.178,1105,4.106,1149,4.857,1195,4.175,2190,4.918,2228,5.994,2394,5.994,2395,5.994,2396,5.994,2397,5.386,2398,5.386,2399,5.386,2400,9.705,2401,4.857,2402,5.005,2403,6.523,2404,6.523]],["keywords/228",[]],["title/229",[140,156.973,642,610.082]],["content/229",[5,1.968,7,2.345,11,1.503,35,3.722,37,1.231,48,1.349,49,3.126,51,3.128,52,5.288,61,3.075,62,1.231,64,4.842,78,1.4,79,0.737,84,0.638,88,0.767,90,1.468,91,1.885,93,1.363,94,6.245,102,1.984,103,1.241,105,2.492,108,3.314,112,1.801,120,2.05,130,0.672,131,1.222,133,1.241,136,0.855,137,1.267,138,2.558,139,2.105,140,2.692,141,1.562,143,1.134,144,1.906,150,1.616,151,1.449,152,1.74,155,1.885,160,3.09,162,1.846,163,0.982,164,3.413,165,1.051,173,0.859,174,3.003,180,3.227,181,3.298,182,2.1,183,2.579,185,3.18,186,3.005,187,2.855,189,1.458,192,1.748,194,3.187,197,3.039,198,0.991,201,2.759,202,2.67,204,1.313,209,6.371,214,2.512,216,1.565,217,2.123,219,2.294,225,2.723,227,0.526,240,2.227,241,0.925,242,2.918,252,2.393,256,0.685,257,1.394,258,1.139,259,1.714,263,2.742,265,4.12,268,1.186,273,3.113,275,1.073,277,2.948,278,0.82,280,1.222,285,0.75,318,1.92,320,2.246,321,0.878,323,1.241,327,1.098,329,3.36,330,1.394,333,3.237,337,2.736,338,1.051,340,2.318,345,1.051,347,1.308,349,1.175,350,2.654,352,1.013,353,0.848,358,3.597,361,3.855,373,5.486,374,2.759,375,0.853,376,2.155,378,1.817,391,3.662,392,1.394,396,1.394,398,1.308,404,2.5,423,6.156,425,0.956,432,4.699,446,4.032,447,1.377,455,2.05,508,1.262,540,2.317,552,2.742,554,1.885,563,1.019,568,1.98,583,2.492,615,0.973,626,1.241,627,1.394,640,1.513,646,4.331,651,3.114,652,3.393,653,1.154,656,2.603,657,2.923,658,1.394,659,1.707,660,1.707,661,2.356,662,1.628,663,1.707,664,2.742,665,3.187,666,2.443,667,1.707,668,1.707,669,4.399,670,5.427,671,2.322,672,2.317,673,0.897,674,1.124,675,2.1,676,0.81,677,1.062,678,1.565,679,1.363,680,1.707,681,4.84,682,1.565,683,1.513,684,1.707,685,1.363,686,1.903,687,1.565,688,1.468,689,2.742,690,1.707,691,1.707,692,1.565,693,4.917,694,1.707,695,2.026,696,2.183,697,2.534,698,5.725,699,2.668,700,2.088,701,1.429,702,1.262,703,1.565,704,1.335,705,1.812,706,1.812,707,1.812,708,1.707,709,2.492,710,1.707,711,1.468,712,1.363,713,1.565,714,1.707,715,1.565,716,1.513,717,1.098,718,1.308,719,1.565,720,1.335,721,3.187,722,1.308,723,4.027,724,1,725,2.731,726,1.565,727,1.707,728,4.483,729,1.565,730,1.812,731,4.483,732,5.627,733,3.383,734,1.707,735,1.565,736,1.812,737,3.187,738,1.812,739,1.812,740,7.054,741,12.608,742,2.211,743,1.262,744,5.643,745,1.468,746,1.073,747,1.707,748,7.447,749,3.803,750,2.915,751,8.356,752,1.742,753,2.183,754,2.214,755,3.383,756,3.383,757,2.443,758,2.273,759,1.628,760,1.628,761,1.029,762,4.483,763,3.187,764,1.468,765,2.668,766,1.707,767,1.565,768,3.619,769,1.707,770,1.468,771,4.276,772,1.707,773,1.707,774,2.126,775,2.554,776,3.187,777,1.707,778,1.707,779,1.468,780,1.628,781,3.187,782,1.707,783,1.707,784,3.187,785,10.062,786,1.707,787,5.627,788,3.187,789,6.901,790,1.885,791,2.545,792,2.668,793,3.187,794,2.825,795,1.639,796,4.988,797,2.443,798,5.974,799,4.276,800,1.707,801,4.111,802,2.825,803,1.073,804,1.628,805,1.707,806,3.071,807,1.707,808,2.759,809,1.073,810,1.707,811,4.759,812,1.098,813,0.836,814,1.628,815,1.513,816,1.707,817,1.565,818,1.429,819,1.098,820,5.974,821,1.308,822,1.098,823,1.262,824,1.429,825,1.111,826,1.565,827,2.742,828,3.383,829,1.707,830,2.443,831,1.707,832,1.628,833,7.554,834,2.668,835,1.812,836,1.186,837,3.187,838,4.276,839,1.707,840,1.222,841,3.383,842,1.363,843,1.222,844,3.383,845,1.222,846,1.812]],["keywords/229",[]],["title/230",[723,952.996]],["content/230",[5,1.108,7,2.008,18,2.795,35,3.846,48,5.206,51,2.679,52,5.523,83,4.114,137,4.053,140,3.144,144,0.933,146,5.241,151,5.734,152,3.955,160,3.844,162,1.22,164,4.246,167,3.755,172,10.762,173,6.349,174,5.44,175,6.714,176,8.207,177,6.888,178,6.799,179,5.862,180,4.716,181,5.634,186,2.133,187,4.379,194,3.563,214,7.066,217,2.441,223,5.76,265,2.429,277,3.105,279,2.475,340,5.194,350,4.219,352,3.239,373,8.017,374,6.273,375,6.305,376,5.047,380,8.533,624,6.273,625,7.319,630,4.56,637,7.411,643,3.401,645,4.63,646,5.955,647,9.312,648,4.56,649,3.755,650,5.735,651,4.494,652,6.146,653,6.888,654,4.868,655,5.565,723,9.025,725,6.208,884,10.848,925,5.933,1195,4.783,2190,5.483,2394,6.868,2395,6.868,2398,6.171,2399,6.171,2401,5.565,2402,5.735]],["keywords/230",[]],["title/231",[2405,1221.21]],["content/231",[5,1.663,7,1.889,18,2.63,35,4.469,48,5.579,51,2.52,52,5.399,61,6.621,83,3.87,91,2.56,137,3.861,140,3.132,144,0.878,146,4.993,151,5.508,152,2.362,160,3.754,162,1.148,164,4.306,167,3.533,172,10.509,173,6.961,174,5.183,175,6.397,176,7.885,177,6.563,178,6.478,179,5.585,180,4.557,181,4.77,186,2.006,187,2.615,194,3.395,214,6.788,217,3.663,223,6.847,230,5.936,265,2.285,277,4.161,279,2.329,340,4,350,2.632,352,1.934,370,8.416,373,9.467,374,9.298,375,6.057,376,4.899,380,5.096,382,7.932,447,2.63,624,5.976,625,5.636,630,4.29,637,7.061,643,3.2,644,4.972,645,6.949,646,4.041,647,8.999,648,4.29,649,3.533,650,5.395,651,4.228,652,5.856,653,4.114,654,4.58,655,5.236,725,5.915,774,4.06,978,5.488,1900,6.32,2013,4.169,2226,6.086,2405,8.905,2406,6.462,2407,6.462]],["keywords/231",[]],["title/232",[2243,1087.777]],["content/232",[5,1.731,7,1.988,18,2.768,35,4.415,48,5.665,51,2.652,52,5.459,61,6.848,83,4.073,91,2.694,137,4.021,140,3.139,144,0.924,146,5.2,151,5.697,152,2.486,160,3.829,162,1.208,164,4.23,167,3.718,172,10.721,173,6.308,174,5.398,175,6.662,176,8.154,177,6.835,178,6.747,179,5.817,180,4.69,181,4.934,186,2.112,187,2.753,194,3.536,214,7.02,217,2.417,223,7.081,230,6.139,265,2.405,277,3.815,279,2.451,340,4.166,350,2.741,352,2.036,370,8.704,373,7.973,374,6.224,375,6.265,376,5.023,380,5.364,382,8.261,447,2.768,624,6.224,625,5.87,630,4.515,637,7.353,643,3.368,645,4.585,646,4.209,647,9.261,648,4.515,649,3.718,650,5.679,651,4.45,652,6.098,653,4.33,654,4.82,655,5.511,725,3.902,774,4.274,978,5.715,1900,6.582,2013,4.388,2226,6.406,2243,5.233,2405,5.875,2406,6.801,2407,6.801]],["keywords/232",[]],["title/233",[2408,1413.703]],["content/233",[5,2.198,18,3.787,35,4.134,48,4.572,51,3.629,52,4.502,78,5.64,137,3.485,140,2.684,144,1.264,146,4.507,151,5.838,155,5.183,160,3.376,162,1.652,164,4.37,167,5.087,172,9.451,173,7.65,174,4.678,175,5.774,176,5.704,177,5.923,178,5.847,179,5.041,180,4.232,181,3.451,186,2.889,214,4.911,217,4.844,223,4.953,265,3.291,277,4.386,340,3.61,358,4.846,373,11.047,374,10.96,375,8.365,376,4.164,624,5.394,625,7.453,630,6.178,643,4.607,644,7.159,645,9.189,646,3.648,647,8.356,648,6.178,649,5.087,795,4.507,1071,7.338,1105,9.336,1709,11.48,2261,7.769,2408,9.304,2409,9.304,2410,9.304,2411,8.36]],["keywords/233",[]],["title/234",[2259,1270.201]],["content/234",[5,1.673,18,4.223,35,3.993,48,4.862,51,4.047,52,4.735,78,6.102,137,3.886,140,2.436,144,1.41,146,5.026,151,6.316,160,3.59,162,1.843,164,4.318,167,5.673,172,10.051,173,6.993,174,5.217,175,6.439,176,6.361,177,6.606,178,6.52,179,5.622,180,4.579,181,3.848,186,3.222,214,5.476,217,3.687,223,5.523,265,3.67,277,3.979,340,4.026,358,5.097,373,9.859,374,6.015,375,8.798,376,4.504,624,6.015,625,8.062,630,6.889,643,5.138,645,6.994,647,6.361,648,6.889,649,5.673,795,5.026,1071,8.183,1105,7.106,1709,11.863,2259,9.323,2261,8.664,2409,10.376,2410,10.376,2411,9.323]],["keywords/234",[]],["title/235",[2412,1331.557]],["content/235",[5,3.169,35,4.104,45,3,52,3.417,89,6.101,139,2.152,140,2.79,144,1.831,145,6.675,157,6.94,160,2.821,162,2.394,164,3.116,186,4.185,197,5.808,224,4.79,243,5.641,273,5.95,277,3.127,292,5.913,354,12.697,361,8.698,432,10.33,596,10.139,614,6.997,673,6.675,704,9.928,752,6.94,848,6.263,852,6.885,855,9.069,1054,11.645,1123,5.547,1458,11.256,1735,8.698,2013,8.698,2381,10.139,2412,12.697,2413,15.842]],["keywords/235",[]],["title/236",[2414,1413.703]],["content/236",[5,2.232,35,4.175,48,3.922,140,3.273,144,1.88,145,6.853,160,2.896,162,2.458,164,3.199,186,4.297,243,5.792,265,6.344,277,4.161,278,8.118,290,8.485,354,13.036,404,7.506,682,11.956,686,7.784,754,9.056,848,6.431,977,8.589,1155,9.479,1735,8.931,2301,11.537,2413,16.116,2414,13.84,2415,13.84,2416,13.84]],["keywords/236",[]],["title/237",[847,1180.425]],["content/237",[9,7.007,35,5.163,79,6.501,174,8.031,209,7.472,320,10.606,337,5.448,346,12.291,347,11.534,352,6.365,353,7.472,355,10.452,615,8.578,640,13.338,847,13.338,848,7.422,1317,12.598,2417,14.352,2418,15.974]],["keywords/237",[]],["title/238",[717,856.485]],["content/238",[35,5.071,112,8.988,174,10.211,183,9.148,207,10.001,258,12.763,346,12.992,352,5.055,700,7.407,717,13.197,1380,14.098]],["keywords/238",[]],["title/239",[721,1331.557]],["content/239",[35,4.241,60,6.998,112,9.699,320,12.098,434,8.581,717,11.039,722,13.156,937,10.675]],["keywords/239",[]],["title/240",[670,1087.777]],["content/240",[5,2.174,35,3.138,48,4.997,49,10.907,51,5.257,52,4.469,64,4.952,79,5.486,88,5.706,91,5.34,136,3.405,140,1.914,144,2.395,148,10.923,160,2.821,162,3.49,164,3.116,180,4.185,185,7.176,186,4.185,197,5.808,202,6.024,275,7.984,447,7.176,670,16.036,671,6.577,672,12.076,673,6.675,674,8.365,675,8.365,676,6.024,677,7.898,678,11.645,2419,13.48,2420,12.697]],["keywords/240",[]],["title/241",[94,912.212]],["content/241",[35,5.177,51,6.278,94,13.766,140,2.286,160,4.129,178,10.116,179,8.722,180,4.998,182,9.989,638,16.098,700,8.655,718,11.623,719,13.906,750,7.854,1294,10.116,2421,9.989]],["keywords/241",[]],["title/242",[1323,856.485]],["content/242",[5,2.957,52,4.647,62,6.67,75,8.518,88,6.061,91,5.673,140,2.033,160,2.996,162,3.256,164,3.31,180,4.446,185,7.622,209,6.698,265,6.485,277,4.253,279,5.16,350,3.656,685,10.77,744,11.257,758,6.838,764,11.602,1323,12.253,1369,12.865,1711,12.768,2422,14.318]],["keywords/242",[]],["title/243",[193,837.327]],["content/243",[5,2.427,35,4.404,52,4.796,137,5.636,140,2.686,160,3.149,164,3.478,178,9.455,179,8.152,181,7.676,193,12.258,197,6.482,265,5.322,350,3.841,649,10.344,685,11.317,697,8.009,746,8.912,750,7.341,1059,9.579,1114,10.664,1300,11.866,2423,15.046,2424,13.519]],["keywords/243",[]],["title/244",[2238,1331.557]],["content/244",[5,2.325,35,4.287,52,4.668,61,7.423,136,5.399,137,5.4,140,2.615,160,3.017,164,3.333,193,12.018,197,7.934,256,5.454,257,11.094,265,5.1,329,8.109,350,3.681,594,10.907,649,10.068,685,10.845,697,7.675,746,8.54,750,7.035,1059,9.179,1300,11.371,2069,11.682,2423,14.418,2424,12.954]],["keywords/244",[]],["title/245",[1263,803.005]],["content/245",[35,3.69,45,3.527,140,2.251,160,3.317,161,7.97,162,3.928,164,4.518,173,7.517,208,4.51,277,5.27,1263,12.036,1299,10.686,2425,14.242]],["keywords/245",[]],["title/246",[2426,1538.415]],["content/246",[35,3.607,45,3.448,140,2.2,160,3.243,161,7.791,162,3.897,164,4.455,173,7.349,183,11.364,208,4.464,277,5.236,1263,11.914,1299,10.446,2425,13.923]],["keywords/246",[]],["title/247",[2427,1538.415]],["content/247",[35,3.502,45,3.348,140,2.136,160,3.149,161,7.565,162,4.056,164,4.784,208,4.622,265,5.322,277,4.389,358,6.232,2425,13.519,2428,17.125]],["keywords/247",[]],["title/248",[1789,639.86]],["content/248",[35,3.718,45,3.555,140,2.268,160,3.343,161,8.031,162,3.939,164,4.539,208,4.525,265,5.65,1789,10.305,2425,14.352,2428,16.768]],["keywords/248",[]],["title/249",[1284,1145.489]],["content/249",[5,3.324,189,7.457,277,5.107,278,7.834,358,4.722,382,13.317,653,11.018,692,14.951,1058,10.876,1284,14.024,2429,17.308]],["keywords/249",[]],["title/250",[2430,1145.489]],["content/250",[5,2.723,35,4.728,94,10.895,152,6.172,198,9.231,277,3.917,376,5.158,447,6.871,653,10.749,724,9.317,1778,18.248,2430,16.457,2431,18.374,2432,16.885]],["keywords/250",[]],["title/251",[151,605.471]],["content/251",[5,1.059,35,4.604,37,3.798,45,2.323,52,3.754,62,5.388,121,6.388,139,3.447,140,0.932,143,3.498,144,1.765,150,4.985,151,7.372,152,2.4,160,1.374,162,3.205,164,3.736,174,5.248,180,4.035,185,3.494,192,2.276,201,3.805,204,7.674,217,5.263,240,2.447,244,4.368,257,5.051,265,4.597,277,3.435,318,2.499,329,8.33,358,2.848,556,7.537,568,4.344,615,3.525,646,4.092,744,9.857,758,6.206,759,5.898,760,5.898,761,3.728,764,5.319,768,8.972,775,6.232,795,5.056,1153,5.056,1417,6.931,1711,7.27,2232,12.996,2246,8.458,2433,7.143,2434,4.652,2435,5.177,2436,12.996,2437,12.996,2438,7.143,2439,7.143,2440,14.142,2441,7.143,2442,7.143,2443,7.143,2444,11.359,2445,11.359,2446,16.116,2447,7.143,2448,12.241,2449,17.212,2450,11.359,2451,8.458,2452,11.359,2453,7.143,2454,7.143,2455,7.143,2456,7.143,2457,7.143,2458,7.143,2459,7.143,2460,5.67,2461,7.143,2462,6.564,2463,7.143]],["keywords/251",[]],["title/252",[2413,1270.201]],["content/252",[5,2.796,35,5.128,45,2.924,50,4.897,136,3.318,139,2.098,140,2.461,144,1.785,145,6.506,160,2.749,161,6.606,162,3.664,163,7.118,164,4.008,186,4.079,243,5.498,265,4.647,273,7.652,277,3.048,278,5.947,292,5.763,361,8.478,432,10.158,564,9.15,614,6.819,621,7.698,848,8.055,852,6.71,855,8.002,1054,11.349,1123,5.406,1291,9.312,1735,8.478,2381,9.882,2412,16.329,2413,11.805]],["keywords/252",[]],["title/253",[136,279.23,144,150.19]],["content/253",[4,5.673,7,1.282,29,4.925,35,2.278,45,2.574,136,1.107,140,2.968,144,0.596,145,3.704,146,4.74,152,1.603,201,5.673,204,3.796,213,8.411,214,11.202,217,1.558,219,7.721,230,4.516,232,10.096,234,7.463,267,9.216,268,6.403,269,19.524,270,8.17,275,12.571,277,3.28,348,11.806,383,2.49,423,3.624,483,3.298,505,4.384,625,2.397,646,9.061,697,3.982,723,2.955,725,6.636,761,5.558,784,4.129,790,5.451,808,2.542,1072,2.397,1138,16.348,1140,3.107,1149,6.062,1237,8.792,1296,3.166,1738,3.458,1818,2.755,2224,9.216,2233,4.129,2234,9.216,2247,3.787,2343,7.481,2396,4.384,2405,8.452,2464,4.771,2465,4.771,2466,8.792,2467,9.785,2468,9.785,2469,9.785,2470,9.216,2471,9.785,2472,10.648,2473,9.785,2474,9.785,2475,9.216,2476,6.935,2477,10.648,2478,9.785,2479,9.216,2480,4.129,2481,7.481,2482,8.141,2483,4.771,2484,4.384,2485,4.771,2486,4.129,2487,4.384,2488,4.384,2489,4.771,2490,4.129,2491,4.771,2492,4.771,2493,4.771,2494,4.384,2495,4.771,2496,4.771]],["keywords/253",[]],["title/254",[1,156.3,337,262.624,446,387.125,1989,607.247]],["content/254",[]],["keywords/254",[]],["title/255",[408,938.631]],["content/255",[1,4.667,5,2.868,7,3.993,21,7.836,37,7.194,47,9.207,50,5.091,64,6.532,71,8.937,121,6.713,136,4.994,196,6.477,202,6.104,225,4.638,256,5.167,408,13.129,484,10.058,503,10.058,506,11.067,522,8.695,620,7.467,642,7.537,677,8.002,966,9.068,1039,7.148,1161,10.771,1465,10.771,1759,11.798,1819,12.271,2497,11.067,2498,11.404]],["keywords/255",[]],["title/256",[32,1221.21]],["content/256",[]],["keywords/256",[]],["title/257",[513,925.064]],["content/257",[1,2.667,5,2.119,9,7.605,36,10.809,75,6.104,124,7.319,130,7.653,185,6.994,192,2.864,193,7.782,194,4.327,241,6.71,256,4.97,273,5.799,285,7.174,318,3.145,325,8.054,336,5.594,407,9.487,425,6.934,468,10.646,513,14.415,567,10.362,571,6.024,620,7.183,695,7.869,913,13.138,941,6.657,1005,9.676,1035,10.109,1120,10.362,1712,11.349,2499,14.297,2500,14.297,2501,17.337,2502,14.297,2503,14.048,2504,10.97]],["keywords/257",[]],["title/258",[37,514.328]],["content/258",[1,4.506,4,3.734,5,1.658,9,4.511,18,2.622,30,4.956,33,3.098,36,7.15,37,7.306,45,2.288,47,6.932,48,1.826,50,3.833,55,3.815,57,7.912,62,2.344,68,5.08,71,4.215,72,3.696,73,6.067,79,2.622,89,2.916,125,4.412,136,3.701,139,1.029,142,3.522,143,3.446,162,1.826,187,7.251,202,6.548,219,7.713,225,4.976,248,3.623,317,3.193,321,3.12,322,3.12,325,3.949,336,2.743,337,6.973,352,3.079,353,3.013,372,4.486,391,4.956,432,3.774,434,6.901,442,4.277,447,2.622,476,4.048,493,4.744,494,3.815,503,4.744,511,4.277,573,2.826,676,2.879,677,3.774,695,6.159,789,4.277,875,3.555,901,4.277,902,4.566,911,5.219,927,5.08,934,7.733,937,3.774,938,4.048,941,6.503,957,9.382,975,10.717,1007,10.4,1016,7.573,1098,5.219,1139,7.098,1151,3.903,1161,10.122,1166,6.442,1357,5.788,1367,4.412,1368,5.08,1465,5.08,1518,9.686,1690,5.788,1707,12.089,1990,4.845,2009,6.067,2012,6.442,2145,5.564,2379,8.586,2503,5.219,2505,10.283,2506,6.067,2507,5.788,2508,7.01,2509,7.01,2510,7.01,2511,4.845,2512,7.01,2513,6.442,2514,6.067,2515,10.283,2516,6.442,2517,9.686,2518,6.067,2519,7.01,2520,5.788,2521,7.01,2522,6.442,2523,6.442,2524,7.01,2525,5.788]],["keywords/258",[]],["title/259",[36,615.868,2526,850.703]],["content/259",[1,2.947,4,8.417,5,3.283,35,3.38,36,10.304,37,5.282,50,5.411,79,5.909,121,7.136,130,5.385,136,4.672,142,7.938,196,6.885,225,6.281,256,5.492,265,5.135,337,4.952,482,12.542,495,7.475,506,11.764,511,12.281,620,7.938,695,8.696,858,13.675,957,8.507,2526,14.233,2527,15.8,2528,15.8,2529,15.8,2530,15.8]],["keywords/259",[]],["title/260",[136,279.23,957,647.764]],["content/260",[1,4.272,5,2.518,36,8.697,37,5.68,52,3.957,91,6.185,124,8.697,136,4.89,196,7.404,446,7.85,580,10.525,709,11.498,712,11.743,758,7.456,761,8.868,957,11.344,966,10.366,1161,12.313,1247,11.743,1465,12.313,1519,11.743,2511,11.743,2526,12.013]],["keywords/260",[]],["title/261",[902,1001.987]],["content/261",[1,4.014,4,10.309,9,5.991,18,5.558,30,13.683,32,11.798,37,4.969,89,6.182,125,12.18,187,7.198,195,9.068,352,4.089,432,8.002,573,5.991,612,11.636,674,11.035,677,8.002,695,8.18,830,9.862,902,9.68,957,10.419,1139,8.614,1241,10.771,2511,14.873,2531,14.863,2532,14.863,2533,14.863,2534,11.067,2535,8.18,2536,14.863,2537,13.658,2538,12.271,2539,14.863,2540,14.863]],["keywords/261",[]],["title/262",[1005,1041.133]],["content/262",[]],["keywords/262",[]],["title/263",[2541,1180.425]],["content/263",[1,4.257,21,7.047,29,5.229,31,9.686,64,6.088,67,9.927,79,4.998,80,8.279,124,6.842,187,4.971,225,4.171,254,8.155,316,9.045,317,5.146,324,8.155,336,5.229,494,7.274,620,10.257,622,12.467,695,7.356,742,5.707,901,12.455,1005,9.045,1066,7.529,1165,11.568,1300,9.686,1367,8.412,1714,12.753,1784,16.855,2166,14.11,2541,17.511,2542,8.705,2543,12.282,2544,10.255,2545,12.282,2546,13.365,2547,12.282,2548,8.412,2549,16.574,2550,18.036]],["keywords/263",[]],["title/264",[142,604.466,1018,923.159]],["content/264",[1,4.066,4,11.611,21,8.049,120,8.499,130,5.203,142,10.95,187,5.678,194,4.62,239,12.118,241,7.164,254,9.314,255,9.051,258,8.815,401,12.604,443,8.049,751,9.608,901,9.314,1005,10.331,1018,16.724,1433,12.118,1714,10.794,1783,12.604,1829,8.049,2166,13.609,2390,10.129,2541,11.713,2551,11.713,2552,15.265,2553,11.366,2554,12.604,2555,14.028,2556,13.212,2557,14.028]],["keywords/264",[]],["title/265",[2174,955.054,2558,1041.352]],["content/265",[1,3.738,9,6.325,21,8.273,65,10.041,134,12.954,226,8.031,290,11.289,333,7.812,620,7.883,622,10.845,695,8.635,724,7.956,901,9.573,1014,12.455,1196,10.219,1208,8.447,1229,10.219,1294,12.75,1965,13.58,2174,18.467,2401,11.682,2558,13.58,2559,15.69,2560,15.69,2561,15.69,2562,14.418,2563,8.735,2564,15.69,2565,15.69,2566,12.954,2567,15.69]],["keywords/265",[]],["title/266",[1035,1087.777]],["content/266",[]],["keywords/266",[]],["title/267",[47,952.996]],["content/267",[1,4.198,5,1.902,7,4.714,37,7.767,47,15.214,48,5.597,49,8.438,50,6.009,55,9.55,91,4.672,96,7.609,121,5.796,181,4.374,187,4.773,198,6.447,219,6.192,224,4.191,285,4.88,321,5.712,322,7.81,337,5.499,372,8.213,416,10.596,455,7.145,752,6.071,830,8.515,912,8.87,1139,5.712,1448,8.213,1619,9.3,1830,8.87,2000,10.187,2354,9.555,2518,15.186,2537,11.793,2538,10.596,2568,8.685,2569,9.555,2570,11.107,2571,9.3,2572,10.596,2573,8.515]],["keywords/267",[]],["title/268",[57,1087.777]],["content/268",[1,4.137,5,3.081,30,13.067,31,10.043,49,6.665,57,9.799,60,4.891,79,6.911,121,6.259,136,3.216,144,1.73,194,4.194,226,7.094,321,6.169,333,6.9,371,8.107,593,8.107,676,5.691,754,8.333,818,10.043,822,7.715,823,8.869,840,8.585,957,7.461,1007,10.319,1098,16.513,1115,9.195,1139,6.169,1184,8.722,1368,15.068,1995,11.442,2511,12.773,2517,11.995,2520,15.258,2551,14.179,2574,12.735,2575,12.735,2576,12.735,2577,12.735,2578,10.633,2579,13.858,2580,13.858]],["keywords/268",[]],["title/269",[192,241.008,975,923.159]],["content/269",[1,3.122,4,8.917,13,10.212,21,8.825,66,9.925,91,6.093,93,11.569,192,4.557,194,5.065,202,6.874,209,7.195,314,13.138,316,11.327,352,4.605,353,7.195,545,10.065,751,10.535,934,8.118,975,17.455,1032,14.487,1035,11.835,2166,14.428,2581,15.381]],["keywords/269",[]],["title/270",[208,300.899]],["content/270",[]],["keywords/270",[]],["title/271",[136,229.264,208,193.211,278,410.861]],["content/271",[1,3.398,5,1.782,18,2.871,37,4.02,45,1.57,48,5.597,49,3.693,52,1.788,53,3.603,61,7.936,75,5.135,80,4.756,84,2.484,97,3.193,102,2.344,130,2.617,136,4.687,137,2.643,143,2.364,144,0.958,156,5.001,162,1.963,181,6.585,192,1.538,203,4.378,208,4.089,214,3.724,221,3.756,222,4.617,223,9.45,236,5.429,240,2.63,241,3.603,259,6.902,265,4.818,272,6.858,273,3.114,277,3.16,278,6.166,280,4.756,281,5.891,296,3.857,307,4.325,318,1.689,325,6.775,331,3.547,332,4.226,333,3.823,349,2.45,351,3.823,352,2.112,358,4.567,359,6.042,361,4.553,376,5.113,421,9.929,447,2.871,540,4.832,554,3.93,562,5.196,624,4.09,625,6.042,626,7.569,627,5.429,628,3.442,643,3.494,646,2.766,661,4.914,720,8.138,722,9.836,750,3.442,752,3.632,802,5.891,813,3.256,819,4.275,836,4.617,848,5.135,875,3.893,877,5.196,938,4.434,1039,3.693,1058,4.434,1072,6.042,1073,5.891,1093,12.872,1208,4.134,1259,5.196,1698,6.339,1769,4.325,1788,5.196,1828,6.339,1981,6.339,2206,7.056,2246,8.954,2287,6.095,2382,7.056,2383,7.056,2384,6.339,2385,5.717,2386,6.646,2389,5.717,2390,5.095,2391,5.717,2448,6.646,2449,13.622,2582,12.026,2583,7.678,2584,7.678,2585,7.678,2586,3.575,2587,7.678,2588,7.678]],["keywords/271",[]],["title/272",[358,301.656,978,588.546]],["content/272",[5,2.82,7,3.89,45,2.961,48,5.534,75,6.183,102,4.42,136,3.361,152,4.865,168,10.239,207,7.882,265,4.707,266,9.608,277,4.996,309,7.084,313,13.307,317,4.132,321,6.446,358,4.77,370,11.44,373,9.227,374,7.714,375,6.267,376,4.065,377,9.8,378,7.146,382,13.452,386,13.307,978,7.084,1058,8.362,1129,5.416,1159,10.009,1208,7.797,1900,10.718,2013,8.587,2244,10.239,2589,14.481,2590,14.481,2591,13.307]],["keywords/272",[]],["title/273",[196,430.482,358,247.676,375,427.524]],["content/273",[1,2.927,5,2.325,37,5.245,48,4.086,84,5.076,102,4.789,196,9.622,265,5.1,277,4.707,323,9.875,325,8.839,340,5.594,358,5.833,370,9.434,373,7.61,375,10.403,447,5.868,614,7.484,646,5.652,695,8.635,791,10.845,876,16.546,1072,7.883,2568,10.618,2586,7.306,2592,13.58]],["keywords/273",[]],["title/274",[358,301.656,647,677.776]],["content/274",[1,3.162,5,2.512,48,5.072,52,2.844,61,5.775,96,7.239,102,3.727,126,8.262,138,4.805,143,3.759,188,6.719,197,4.833,208,3.809,211,7.142,217,3.986,221,5.972,265,3.968,271,7.341,277,2.602,278,8.1,324,7.448,333,6.078,336,4.777,358,6.232,373,8.222,374,6.504,375,5.283,376,4.758,437,6.31,543,7.813,614,8.085,646,7.016,647,13.478,741,7.683,848,5.212,1175,7.813,1214,7.683,1249,8.632,1448,7.813,1989,8.847,2507,10.079,2593,12.208,2594,12.208,2595,6.024,2596,9.367,2597,10.566,2598,12.208,2599,10.566,2600,10.079]],["keywords/274",[]],["title/275",[224,420.224,277,178.609,813,355.379]],["content/275",[1,3.541,7,4.727,31,6.082,45,1.716,46,3.446,48,4.084,49,7.542,50,2.874,51,3.008,52,1.955,53,3.939,62,4.308,70,7.861,79,3.138,80,5.199,84,2.715,91,3.055,97,3.49,102,2.562,121,3.79,126,5.679,130,4.391,136,1.948,137,2.889,138,3.303,144,1.958,153,3.246,181,2.86,187,3.121,192,3.142,194,2.54,208,3.712,224,7.596,265,2.728,277,4.27,285,3.191,292,5.194,317,3.676,318,3.45,336,6.136,350,1.969,358,4.759,362,4.07,379,5.679,615,4.141,625,4.216,646,6.338,647,8.835,741,5.282,744,3.939,775,5.854,813,6.652,922,5.199,1036,5.12,1107,12.949,1108,6.662,1113,9.871,1115,13.293,1207,4.568,1227,6.439,1788,5.679,2135,5.282,2600,10.638,2601,11.152,2602,10.638,2603,6.929,2604,7.712,2605,7.264,2606,11.152,2607,17.593,2608,6.082,2609,7.712,2610,8.392,2611,6.929,2612,8.392,2613,8.392,2614,8.392,2615,8.392,2616,15.228,2617,12.884,2618,8.392,2619,12.884,2620,8.392,2621,8.392]],["keywords/275",[]],["title/276",[208,300.899]],["content/276",[35,2.946,45,3.763,48,3.587,52,3.208,137,4.741,140,1.797,144,1.719,146,8.192,151,5.421,160,3.986,161,6.364,162,3.004,163,6.858,164,4.403,165,7.338,166,8.058,167,6.92,168,9.739,169,9.982,170,9.139,171,8.815,172,11.16,173,6.002,175,7.854,176,7.759,177,8.058,178,7.954,179,6.858,180,3.93,186,3.93,208,4.64,243,5.297,244,5.297,246,10.256,265,4.477,277,5.056,304,11.921,404,5.297,2622,12.657]],["keywords/276",[]],["title/277",[208,235.32,642,610.082]],["content/277",[138,9.242,143,7.231,208,3.983]],["keywords/277",[]],["title/278",[358,385.721]],["content/278",[5,2.122,7,2.592,18,3.608,48,4.918,51,3.458,52,4.398,83,5.311,137,3.321,140,1.868,144,1.204,146,4.295,151,5.634,155,4.939,160,3.282,162,1.575,164,4.011,167,4.848,172,10.166,173,7.438,175,5.502,176,8.065,177,5.645,178,5.572,179,4.804,180,4.084,181,4.879,186,2.753,208,4.133,213,4.939,214,6.943,217,4.675,223,4.72,265,3.136,270,7.403,277,4.504,279,3.195,340,3.44,358,5.855,373,10.896,374,11.256,375,7.387,376,4.791,624,5.14,625,4.848,630,5.887,643,4.391,644,6.822,645,8.868,646,7.266,647,11.362,648,5.887,649,4.848,654,6.284,1149,7.184,1154,7.184,2227,7.403,2623,7.184,2624,7.967,2625,6.993,2626,8.867]],["keywords/278",[]],["title/279",[358,301.656,642,610.082]],["content/279",[5,1.718,7,2.243,11,2.006,35,0.397,37,1.164,40,7.32,48,0.907,49,2.976,51,2.993,52,5.208,62,3.875,64,4.333,75,2.099,79,1.303,84,1.59,88,1.912,90,1.384,91,1.79,93,5.772,97,0.773,102,1.889,103,1.17,105,2.357,108,3.146,112,1.704,130,0.633,131,1.151,136,1.436,137,1.199,138,2.884,139,2.04,140,2.04,141,1.477,143,1.073,144,1.998,151,1.935,152,0.624,153,1.347,155,0.951,158,7.588,160,2.851,162,1.997,163,0.925,164,3.607,165,0.99,167,0.934,173,0.81,180,3.82,181,3.162,183,2.447,185,3.027,186,2.887,189,0.736,192,2.027,194,3.062,196,0.81,197,2.901,198,0.934,201,2.619,202,2.541,204,1.242,208,3.321,211,3.62,214,3.001,216,1.475,217,2.021,219,1.735,223,0.909,224,0.607,227,0.495,232,1.675,240,1.193,241,1.635,242,2.769,252,2.271,256,0.646,257,1.314,258,1.073,259,1.622,263,2.593,265,4.519,268,1.117,273,2.972,275,1.011,277,2.609,279,2.049,280,2.158,285,0.707,296,3.109,309,0.909,318,2.226,320,4.47,321,0.827,323,1.17,327,1.035,329,3.787,330,2.463,331,0.859,333,1.734,337,1.94,338,0.99,340,1.242,345,0.99,349,3.229,350,1.452,358,4.4,361,1.102,373,4.908,374,2.619,375,2.127,376,1.38,378,0.917,392,1.314,398,1.233,404,0.715,423,6.785,425,0.901,432,4.496,434,0.804,436,0.846,446,3.858,447,1.303,508,1.189,540,1.17,563,0.96,568,3.193,615,1.719,624,0.99,625,0.934,643,0.846,646,2.229,653,1.087,656,2.463,657,2.765,658,1.314,659,1.608,660,1.608,661,1.189,662,1.534,663,1.608,664,2.593,665,3.015,666,2.311,667,1.608,668,1.608,669,1.258,670,5.181,671,2.204,672,2.192,673,1.585,674,1.06,675,1.986,676,0.763,677,1,678,1.475,679,1.284,680,1.608,681,4.608,682,1.475,683,1.426,684,1.608,685,1.284,686,1.8,687,1.475,688,1.384,689,2.593,690,1.608,691,1.608,692,1.475,693,5.226,694,1.608,695,1.917,696,2.065,697,0.909,698,5.797,700,0.749,708,1.608,709,2.357,710,1.608,711,1.384,712,1.284,713,6.629,714,1.608,715,1.475,716,1.426,717,1.939,722,1.233,724,3.715,725,2.592,726,1.475,727,1.608,728,3.015,731,3.015,732,5.356,735,2.765,737,3.015,741,11.365,742,2.642,743,1.189,744,6.284,745,1.384,746,3.368,747,1.608,748,7.155,750,3.285,752,0.879,758,1.528,759,1.534,760,1.534,761,0.97,762,4.255,763,3.015,764,2.593,765,2.524,766,1.608,767,1.475,768,3.445,769,1.608,770,1.384,771,4.059,772,1.608,773,1.608,774,2.011,775,2.438,776,3.015,777,1.608,778,1.608,779,1.384,780,1.534,781,3.015,782,1.608,783,1.608,785,9.715,786,1.608,787,5.356,788,3.015,789,6.174,790,1.783,791,2.407,792,2.524,793,3.015,794,2.672,795,2.755,796,4.748,797,2.311,799,4.059,800,1.608,801,3.902,802,2.672,803,3.368,804,1.534,805,1.608,806,2.915,807,1.608,808,2.619,809,1.011,810,1.608,812,1.035,813,0.788,814,1.534,815,1.426,816,1.608,817,1.475,818,1.347,819,1.035,821,1.233,822,1.035,823,1.189,824,1.347,825,1.047,826,1.475,827,2.593,829,1.608,830,2.311,831,1.608,832,1.534,840,6.744,941,2.882,957,1.875,958,0.925,1123,1.859,1150,0.852,1222,6.408,1246,1.117,1263,2.566,1423,3.574,1464,1.384,1900,1.047,1989,1.347,2000,1.475,2041,7.525,2183,1.708,2275,3.772,2276,4.748,2421,3.529,2563,4.079,2600,6.049,2627,1.475,2628,5.905,2629,6,2630,1.858,2631,4.608,2632,6.189,2633,3.201,2634,6.189,2635,1.858,2636,1.426,2637,1.708,2638,1.858,2639,1.858,2640,1.858,2641,1.858,2642,1.708,2643,1.708,2644,1.858,2645,7.228,2646,7.228,2647,3.483,2648,3.483,2649,3.96,2650,3.201,2651,2.593,2652,3.483,2653,4.913,2654,1.608,2655,1.475,2656,2.672,2657,1.608,2658,3.015,2659,4.255,2660,1.858,2661,1.858,2662,1.858]],["keywords/279",[]],["title/280",[211,900.002]],["content/280",[5,1.64,7,2.974,18,4.14,48,4.809,51,3.967,52,4.693,83,6.092,137,3.81,140,2.064,144,1.382,146,4.927,151,6.227,160,3.551,162,1.807,164,3.922,167,5.561,172,10.847,173,6.895,175,6.312,176,8.913,177,6.476,178,6.392,179,5.511,180,4.514,181,5.393,186,3.158,208,4.168,211,6.476,213,5.666,214,7.674,217,3.615,223,5.415,265,3.598,270,8.494,277,4.295,279,3.666,340,3.947,358,5.558,373,9.771,374,8.429,375,7.991,376,5.183,624,5.897,625,5.561,630,6.754,643,5.037,645,6.857,646,5.7,647,10.402,648,6.754,649,5.561,654,7.21,1154,8.242,2623,8.242,2624,9.14,2625,8.022]],["keywords/280",[]],["title/281",[2244,1087.777]],["content/281",[5,1.418,18,3.578,48,4.423,51,3.429,52,4.906,83,5.265,91,3.483,102,2.92,137,3.293,140,1.248,144,1.194,146,4.258,151,5.599,160,3.266,162,1.561,164,4.269,167,7.147,172,10.124,173,7.4,175,5.455,176,8.014,177,5.597,178,5.525,179,4.763,180,4.059,181,4.848,186,2.73,208,4.383,213,4.897,214,6.899,217,4.645,219,3.376,223,4.68,265,4.624,277,4.967,279,3.168,302,4.563,340,3.411,358,5.619,370,5.753,373,9.747,374,10.017,375,6.157,376,3.993,447,3.578,624,5.097,625,4.807,630,5.837,643,4.353,644,6.765,645,8.812,648,5.837,649,4.807,654,6.231,978,6.959,1154,7.123,1159,6.613,1212,8.281,1330,6.123,1818,5.525,1900,5.389,2227,7.341,2244,10.058,2623,7.123,2624,7.899,2625,6.933,2663,8.791,2664,8.791,2665,7.594]],["keywords/281",[]],["title/282",[266,1020.777]],["content/282",[5,1.649,18,4.16,48,4.135,51,3.987,52,5.172,83,6.122,137,3.829,140,1.451,144,1.389,146,4.952,151,6.249,160,3.56,162,1.815,164,4.289,167,7.977,172,10.871,173,6.919,175,6.343,176,8.945,177,6.508,178,6.424,179,5.538,180,4.53,181,5.412,186,3.174,208,4.47,213,5.694,214,7.701,217,3.632,219,3.926,223,5.442,265,3.616,266,7.381,277,4.552,279,3.684,340,3.966,358,5.73,370,6.689,373,7.701,374,5.926,375,6.872,376,4.457,624,5.926,625,5.589,630,6.787,643,5.062,645,6.891,648,6.787,649,5.589,654,7.245,978,7.767,1154,8.283,1330,7.119,2623,8.283,2624,9.185,2625,8.062]],["keywords/282",[]],["title/283",[2666,1413.703]],["content/283",[5,2.198,18,3.787,48,4.572,51,3.629,52,4.502,78,5.64,137,3.485,140,1.321,144,1.264,146,4.507,151,5.838,155,5.183,160,3.376,162,1.652,164,4.37,167,5.087,172,9.451,173,7.65,174,4.678,175,5.774,176,5.704,177,5.923,178,5.847,179,5.041,180,4.232,181,3.451,186,2.889,208,3.433,214,4.911,217,4.844,223,4.953,265,3.291,277,4.583,340,3.61,358,5.711,373,11.047,374,10.96,375,8.365,376,4.164,624,5.394,625,7.453,630,6.178,643,4.607,644,7.159,645,9.189,646,3.648,647,8.356,648,6.178,649,5.087,725,5.339,795,4.507,1071,7.338,1105,6.373,1709,11.48,2261,7.769,2411,8.36,2623,7.539,2666,9.304,2667,9.304]],["keywords/283",[]],["title/284",[2277,1270.201]],["content/284",[5,1.673,18,4.223,48,4.862,51,4.047,52,4.735,78,6.102,137,3.886,140,1.473,144,1.41,146,5.026,151,6.316,160,3.59,162,1.843,164,4.318,167,5.673,172,10.051,173,6.993,174,5.217,175,6.439,176,6.361,177,6.606,178,6.52,179,5.622,180,4.579,181,3.848,186,3.222,208,3.139,214,5.476,217,3.687,223,5.523,265,3.67,277,4.333,340,4.026,358,5.594,373,9.859,374,6.015,375,8.798,376,4.504,624,6.015,625,8.062,630,6.889,643,5.138,645,6.994,647,6.361,648,6.889,649,5.673,725,5.953,795,5.026,1071,8.183,1709,11.863,2261,8.664,2277,9.323,2411,9.323,2623,8.407,2667,10.376]],["keywords/284",[]],["title/285",[2668,1331.557]],["content/285",[5,3.062,45,2.799,52,3.189,89,5.694,139,2.009,140,1.786,144,1.709,157,6.477,158,7.344,160,2.633,162,2.234,164,2.908,186,3.906,197,5.42,208,3.585,224,4.47,232,6.584,243,5.265,244,5.265,265,4.45,277,2.918,350,3.212,358,5.181,360,11.849,361,10.869,596,9.462,614,6.53,673,6.229,704,9.265,724,6.942,752,6.477,842,9.462,848,7.826,852,6.425,855,8.764,1123,5.177,1458,10.504,2013,8.117,2381,9.462,2595,6.756,2653,14.55,2656,14.064,2668,11.849,2669,15.134,2670,16.844]],["keywords/285",[]],["title/286",[2671,1413.703]],["content/286",[5,2.232,48,3.922,140,1.965,144,1.88,160,2.896,162,2.458,164,3.199,186,4.297,208,2.946,243,5.792,244,5.792,265,6.344,277,4.616,278,8.118,290,8.485,358,6.206,360,13.036,404,7.506,682,11.956,686,7.784,754,9.056,848,6.431,977,8.589,1155,9.479,2301,11.537,2415,13.84,2416,13.84,2669,16.116,2671,13.84,2672,13.84]],["keywords/286",[]],["title/287",[670,1087.777]],["content/287",[5,2.16,48,4.976,49,10.88,51,5.223,52,4.45,64,4.92,79,5.451,88,5.669,91,5.306,136,3.383,140,1.902,144,2.385,160,2.803,162,3.479,164,3.096,180,4.158,185,7.13,186,4.158,197,5.77,202,5.985,208,2.851,275,7.933,277,3.107,447,7.145,670,15.996,671,6.535,672,12.025,673,6.632,674,8.311,675,8.311,676,5.985,677,7.847,678,11.569,2419,13.393,2420,12.615,2673,14.575]],["keywords/287",[]],["title/288",[1992,1331.557]],["content/288",[84,4.626,136,4.379,140,1.865,144,2.355,153,7.297,160,2.749,162,3.446,164,4.008,180,4.079,192,3.779,196,6.231,202,5.872,224,4.669,265,4.647,277,3.048,280,8.857,318,4.151,329,7.39,330,10.109,331,6.606,673,6.506,693,8.054,742,6.104,744,9.91,758,6.274,764,10.646,813,6.064,1974,6.876,1992,21.159,2595,9.31,2674,14.297,2675,18.866,2676,14.297,2677,14.297]],["keywords/288",[]],["title/289",[2678,1538.415]],["content/289",[48,4.562,93,12.108,103,11.025,108,11.211,194,5.301,208,4.199,259,8.157,265,6.979,277,4.949,290,9.869,302,8.355,337,5.491,375,7.582,648,10.688,649,8.801,693,9.869,813,7.43,1725,13.044,2679,16.098]],["keywords/289",[]],["title/290",[847,1180.425]],["content/290",[9,6.747,79,6.26,150,7.345,208,4.658,209,7.195,277,4.849,320,10.212,337,5.246,346,14.76,352,6.258,353,7.195,355,12.552,359,8.409,640,12.843,813,7.099,848,7.146,1317,12.13,2417,13.82,2418,15.381,2608,12.13]],["keywords/290",[]],["title/291",[1323,856.485]],["content/291",[5,3.065,52,4.818,62,6.915,75,8.831,88,6.416,91,6.004,140,2.152,160,3.172,162,3.375,164,3.503,209,7.09,265,6.723,277,4.409,279,5.462,350,3.87,685,11.4,744,11.119,1323,11.515,1369,13.617,2422,15.156]],["keywords/291",[]],["title/292",[193,837.327]],["content/292",[5,2.701,52,4.245,140,2.378,160,3.505,164,3.871,178,10.525,179,9.074,181,8.051,193,11.971,208,3.565,265,5.924,685,12.597,774,10.525,920,11.664,2424,15.048]],["keywords/292",[]],["title/293",[2238,1331.557]],["content/293",[5,2.576,52,4.049,136,5.37,140,2.268,160,3.343,164,3.692,181,5.925,193,11.63,197,6.882,208,3.4,256,6.043,257,12.291,265,5.65,329,8.984,594,11.63,685,12.015,774,10.038,920,11.124,2069,12.943,2424,14.352]],["keywords/293",[]],["title/294",[2680,1538.415]],["content/294",[39,9.794,78,6.766,108,11.388,138,7.003,197,7.045,277,4.983,345,11.548,358,5.861,621,9.58,681,18.117,1155,11.199,1818,10.275,2681,17.794]],["keywords/294",[]],["title/295",[1284,1145.489]],["content/295",[5,3.324,189,7.457,277,5.107,278,7.834,358,4.722,382,13.317,653,11.018,692,14.951,1058,10.876,1284,14.024,2429,17.308]],["keywords/295",[]],["title/296",[2669,1270.201]],["content/296",[5,2.652,45,2.701,50,4.524,136,3.066,139,1.938,140,1.723,144,1.649,158,7.169,160,2.54,161,6.103,162,3.55,163,6.576,164,3.801,186,3.769,208,4.446,232,6.353,243,5.08,244,5.08,265,5.816,273,5.357,277,4.636,278,5.494,350,3.099,358,4.486,361,10.61,564,8.453,614,6.3,621,7.112,724,6.698,842,9.13,848,8.664,852,6.199,855,7.589,1123,4.995,1291,8.603,2381,9.13,2595,6.518,2653,14.204,2656,13.729,2668,15.487,2669,10.906,2670,16.443]],["keywords/296",[]],["title/297",[2682,1331.557]],["content/297",[5,1.902,13,7.83,37,4.29,140,1.674,144,2.19,157,6.071,158,8.611,160,2.468,162,2.863,164,2.726,208,2.51,240,4.395,241,8.234,265,4.171,352,4.827,353,7.542,358,5.642,583,8.685,717,12.934,724,12.06,752,6.071,819,7.145,1313,10.596,2013,7.609,2428,12.716,2535,13.327,2683,14.486,2684,12.833,2685,12.833,2686,17.545,2687,12.833,2688,19.992,2689,17.545,2690,12.833]],["keywords/297",[]],["title/298",[2691,1413.703]],["content/298",[45,2.869,50,4.806,88,5.458,136,3.256,140,1.831,144,1.751,158,5.622,160,2.698,161,6.482,162,3.971,164,4.444,186,4.003,208,3.644,243,8.045,244,8.045,265,4.56,273,7.557,277,3.972,338,7.475,340,5.002,358,5.245,564,8.979,614,6.692,819,7.811,1240,10.766,2535,10.255,2595,6.924,2596,10.766,2597,12.144,2682,16.127,2683,11.584,2691,19.224,2692,14.031,2693,14.031]],["keywords/298",[]],["title/299",[136,279.23,144,150.19]],["content/299",[4,3.793,29,2.786,35,1.523,40,4.06,45,1.456,48,1.854,84,2.304,136,1.653,137,2.451,139,2.878,144,0.889,146,3.169,157,3.369,164,1.513,180,2.032,181,2.427,208,1.393,213,8.99,214,10.646,219,6.601,224,4.608,230,4.806,232,6.787,234,3.453,245,5.652,259,3.315,267,6.163,268,4.282,269,16.979,270,5.464,275,3.875,277,3.429,279,2.358,305,3.919,348,8.694,358,5.686,376,1.999,383,3.717,414,5.652,423,9.572,624,3.793,625,3.577,646,8.048,647,6.383,697,3.483,725,7.441,761,3.717,819,3.964,892,5.879,937,3.834,938,4.112,1105,4.482,1108,11.203,1110,6.163,1140,4.638,1237,5.879,1279,5.16,1818,4.112,1865,5.464,2227,5.464,2234,6.163,2244,5.035,2275,8.694,2276,8.694,2400,6.543,2466,5.879,2468,6.543,2469,6.543,2470,6.163,2471,6.543,2473,6.543,2474,6.543,2475,6.163,2476,4.638,2478,6.543,2479,6.163,2480,6.163,2481,6.543,2484,6.543,2486,6.163,2487,6.543,2494,6.543,2622,10.412,2626,10.412,2628,5.035,2633,6.543,2694,7.12,2695,5.464,2696,6.543,2697,6.543,2698,6.543,2699,7.12,2700,7.12,2701,7.12,2702,7.12,2703,7.12,2704,6.543,2705,7.12,2706,7.12,2707,7.12,2708,7.12,2709,7.12,2710,7.12,2711,7.12,2712,5.879,2713,7.12,2714,7.12,2715,7.12,2716,7.12,2717,7.12,2718,7.12,2719,7.12,2720,11.331,2721,7.12,2722,11.331,2723,7.12,2724,7.12,2725,7.12,2726,7.12,2727,7.12,2728,7.12,2729,7.12,2730,7.12,2731,7.12,2732,7.12,2733,7.12,2734,7.12,2735,7.12]],["keywords/299",[]],["title/300",[197,476.32,202,494.094]],["content/300",[]],["keywords/300",[]],["title/301",[58,476.32,197,476.32]],["content/301",[1,4.204,5,2.813,20,4.619,21,4.425,50,2.874,58,9.667,64,2.833,79,3.138,84,2.715,88,3.265,89,3.49,91,3.055,119,6.725,120,4.672,130,5.996,136,4.996,137,2.889,139,1.89,143,2.584,144,1.048,152,4.328,155,4.296,160,1.614,162,2.559,165,4.471,186,2.394,192,1.681,197,8.259,225,2.619,238,4.425,241,3.939,271,5.046,273,3.404,285,3.191,318,2.835,325,4.728,331,5.953,333,4.178,337,5.949,345,4.471,370,5.046,404,4.955,437,4.337,438,6.249,522,7.538,551,5.568,562,5.679,620,6.473,673,5.863,761,4.38,818,6.082,843,5.199,845,5.199,852,6.047,959,6.662,1012,7.264,1058,4.846,1139,3.736,1146,4.976,1155,5.282,1170,4.976,1259,5.679,1294,4.846,1994,11.089,2008,7.712,2080,7.264,2166,5.801,2195,5.934,2211,6.439,2219,7.712,2736,6.249,2737,10.228,2738,10.734,2739,8.392,2740,6.929,2741,8.392,2742,8.392,2743,9.338,2744,7.264,2745,6.662,2746,8.392,2747,8.392,2748,7.264,2749,6.249,2750,8.392,2751,8.392,2752,6.929,2753,7.712,2754,11.84,2755,8.392,2756,8.392,2757,8.392,2758,7.712,2759,7.712]],["keywords/301",[]],["title/302",[45,246.021,197,476.32]],["content/302",[1,3.293,5,1.516,18,2.345,21,3.306,35,3.983,37,5.503,45,4.987,50,5.118,52,1.46,54,3.575,58,2.482,83,3.451,88,2.439,91,2.282,102,1.914,114,4.544,124,3.209,130,3.485,136,4.794,137,2.158,139,1.9,143,1.931,144,2.325,150,2.751,152,3.435,155,3.209,162,2.439,163,3.121,165,3.34,174,2.897,186,1.789,192,1.256,194,1.897,196,2.732,197,6.516,201,6.899,202,5.319,204,3.646,208,4.04,222,3.77,238,3.306,240,3.503,242,3.532,259,4.762,265,3.324,273,2.543,277,2.18,278,4.253,279,2.076,294,4.433,317,2.918,318,1.379,331,2.897,337,3.205,338,5.448,345,3.34,349,2.001,350,2.399,352,1.725,358,1.572,359,3.15,404,3.933,436,2.853,437,3.24,513,6.149,522,5.983,540,3.946,571,2.642,614,2.99,615,5.046,620,3.15,671,5.807,673,5.893,676,4.2,700,2.527,744,2.942,789,3.825,812,3.49,813,2.659,821,4.16,845,3.884,848,2.677,852,4.799,900,3.825,941,2.919,1079,4.81,1129,2.345,1133,3.825,1153,2.791,1240,4.81,1252,4.544,1253,4.16,1254,3.575,1290,5.176,1294,3.62,1299,3.884,1317,4.544,1367,8.151,1375,4.977,1789,4.253,1843,4.433,1844,4.433,1994,13.73,1995,5.176,2001,5.176,2022,4.668,2186,2.543,2384,5.176,2586,2.919,2736,4.668,2737,4.977,2738,7.902,2760,6.269,2761,6.269,2762,6.269,2763,6.269,2764,6.269,2765,6.269,2766,5.176,2767,6.269,2768,5.761,2769,5.176,2770,6.269,2771,8.023,2772,5.426,2773,6.269,2774,6.269,2775,4.16,2776,5.426,2777,5.426,2778,6.269,2779,6.269,2780,6.269,2781,14.942,2782,5.426]],["keywords/302",[]],["title/303",[33,531.719,197,476.32]],["content/303",[1,3.605,5,1.501,33,10.9,37,3.385,45,2.07,50,3.468,54,5.774,58,4.009,60,3.573,102,3.091,106,5.339,112,4.953,124,5.183,130,5.056,136,3.443,139,2.576,143,3.118,144,1.264,150,4.443,152,4.983,155,5.183,158,4.057,162,3.154,186,2.889,192,2.971,194,3.064,195,6.178,197,8.145,202,4.158,222,6.088,225,4.629,238,5.339,252,4.678,265,3.291,273,4.107,318,2.228,331,4.678,337,4.649,350,2.376,404,5.704,436,4.607,522,8.678,571,4.266,614,4.829,671,4.54,735,8.038,742,4.323,812,5.637,845,6.272,848,4.323,852,4.752,937,5.451,941,4.715,958,5.041,1263,5.285,1294,5.847,1375,8.038,1400,6.999,1472,9.05,1521,7.159,1692,8.36,1994,10.488,1995,8.36,2001,8.36,2136,15.58,2542,6.595,2736,7.539,2737,8.038,2738,10.71,2783,10.125,2784,10.125,2785,7.539,2786,8.038,2787,6.595,2788,10.125]],["keywords/303",[]],["title/304",[197,476.32,741,757.233]],["content/304",[1,3.762,5,2.122,45,1.973,52,3.334,58,3.82,121,4.358,130,4.879,136,2.239,138,3.797,139,2.77,143,4.408,144,2.131,146,4.295,152,3.241,160,1.855,162,3.082,164,2.05,180,2.753,181,3.289,186,2.753,192,1.933,197,8.365,202,3.963,208,3.338,211,9.985,213,4.939,214,4.68,219,5.052,222,5.802,240,3.305,241,4.528,266,6.402,273,5.806,300,7.659,305,5.311,308,7.659,318,2.123,331,4.458,337,4.487,358,3.589,376,2.708,404,3.711,423,7.597,522,8.375,568,3.69,624,5.14,625,4.848,646,5.157,697,4.72,725,5.087,741,14.444,742,4.12,812,5.372,845,5.977,848,6.112,941,4.493,978,7.003,1994,13.351,2190,6.666,2401,7.184,2402,7.403,2542,6.284,2600,11.82,2659,8.351,2736,7.184,2737,7.659,2738,10.413,2789,8.867,2790,9.649,2791,14.316,2792,9.649,2793,8.351,2794,7.967,2795,7.967,2796,8.351,2797,7.967,2798,7.967]],["keywords/304",[]],["title/305",[158,395.8,197,391.085,1263,515.619]],["content/305",[1,3.295,5,1.92,45,2.65,51,3.03,52,1.969,58,3.347,121,3.819,130,4.417,136,1.962,138,3.328,139,2.591,143,3.99,144,1.618,146,3.764,152,2.84,157,4,158,9.202,160,1.626,162,2.882,164,1.796,180,2.412,181,2.882,186,2.412,192,1.694,197,8.281,202,3.472,208,3.082,211,9.217,213,4.328,214,4.101,219,5.56,222,5.084,240,2.896,241,3.968,252,3.906,265,4.212,266,5.61,273,7.164,300,6.712,305,4.654,318,1.86,331,3.906,336,3.308,337,4.062,350,1.984,358,4.428,376,2.373,404,3.252,423,7.862,522,7.581,624,4.504,625,4.248,646,4.668,676,3.472,697,4.136,724,4.287,725,4.458,742,3.61,812,4.707,845,5.238,848,3.61,941,3.937,978,6.339,1263,10.488,1417,5.159,1472,5.159,1994,13.466,2013,5.013,2190,6.034,2401,6.296,2402,6.488,2542,5.507,2653,10.287,2654,7.318,2655,6.712,2656,9.943,2659,17.392,2736,6.296,2737,6.712,2738,9.613,2789,7.77,2793,7.318,2794,6.981,2795,6.981,2796,7.318,2797,6.981,2798,6.981,2799,7.318,2800,8.455,2801,12.958,2802,8.455]],["keywords/305",[]],["title/306",[197,476.32,2186,487.983]],["content/306",[1,4.037,5,2.413,48,3.001,52,2.684,58,4.562,83,6.341,88,4.482,91,4.195,124,5.898,129,5.636,130,6.434,136,3.778,139,2.389,143,3.548,144,1.438,152,3.87,162,2.657,186,3.287,197,8.567,202,4.732,208,2.254,222,6.928,238,6.075,273,4.673,279,3.816,331,5.323,337,5.102,349,3.677,359,5.789,404,6.26,436,5.243,522,9.523,671,5.166,681,8.579,741,7.252,812,6.415,845,7.137,848,8.06,896,7.504,941,5.365,1220,7.137,1789,6.771,1994,11.51,2186,9.971,2188,9.146,2541,8.841,2542,7.504,2736,8.579,2738,11.517,2766,9.513,2803,11.522,2804,17.346,2805,11.522,2806,11.522,2807,10.588]],["keywords/306",[]],["title/307",[79,449.943,197,476.32]],["content/307",[1,3.583,4,8.871,5,2.178,21,9.542,37,2.532,41,3.915,50,4.075,58,2.999,66,4.492,72,3.994,79,9.095,80,7.371,106,3.994,124,3.877,127,5.356,129,3.705,130,5.009,136,4.458,139,1.746,143,2.333,152,3.997,155,3.877,158,3.035,162,2.954,167,3.806,185,3.705,186,2.161,193,4.123,197,7.165,199,5.64,202,3.111,222,4.555,225,2.364,238,3.994,239,6.013,265,2.462,273,3.072,278,3.151,279,2.509,325,4.267,331,3.5,336,2.964,337,3.729,349,2.417,404,6.404,436,3.447,437,3.915,522,6.961,554,3.877,571,3.192,615,3.738,620,7.383,622,5.236,628,3.396,671,3.396,674,4.319,812,4.217,845,4.692,848,5.08,900,4.622,914,5.812,941,3.527,960,6.254,1005,9.945,1007,8.86,1025,3.613,1065,5.356,1123,2.864,1201,4.622,1220,4.692,1294,4.374,1367,4.767,1714,8.413,1783,13.748,1784,6.254,1829,3.994,1994,8.413,2001,6.254,2145,6.013,2162,6.961,2165,6.961,2166,8.224,2168,7.829,2172,6.556,2186,3.072,2389,5.64,2541,11.275,2542,4.934,2555,6.961,2556,6.556,2557,6.961,2736,5.64,2738,8.966,2766,6.254,2807,6.961,2808,7.575,2809,18.097,2810,6.961,2811,7.575,2812,7.575,2813,7.575,2814,7.575,2815,6.556,2816,6.961,2817,7.575,2818,7.575,2819,6.961,2820,7.575,2821,7.575,2822,7.575,2823,7.575,2824,7.575,2825,7.575,2826,7.575]],["keywords/307",[]],["title/308",[2827,1221.21]],["content/308",[]],["keywords/308",[]],["title/309",[1,107.397,5,85.324,36,294.713,337,180.454,2526,407.089,2827,457.025,2828,529.063]],["content/309",[1,2.345,5,2.563,7,2.183,9,3.276,11,1.943,16,3.653,18,1.78,36,10.123,37,4.202,38,2.392,47,2.949,50,3.641,51,2.912,64,4.242,67,2.62,71,2.863,74,2.62,84,1.54,89,3.38,90,3.545,91,3.87,102,2.481,130,1.623,131,2.949,132,3.45,136,2.917,139,0.699,141,5.331,143,2.502,153,4.112,176,2.682,188,2.62,194,3.804,197,1.885,204,2.897,219,1.68,225,4.796,226,4.16,240,1.631,241,2.234,242,2.682,248,2.461,255,2.823,256,1.655,279,2.691,296,2.392,302,2.271,307,4.578,320,2.905,326,2.949,331,2.2,350,1.117,371,2.785,384,4.121,387,3.366,394,3.545,403,2.905,407,3.159,409,3.653,436,3.698,446,2.2,447,1.78,454,3.047,484,3.222,493,3.222,494,2.591,495,3.844,503,7.195,506,6.051,508,6.804,511,4.958,513,2.863,522,2.785,554,2.437,567,3.45,569,4.121,571,6.476,593,4.754,642,4.121,676,1.955,677,4.375,686,2.461,724,2.414,743,5.2,790,2.437,826,3.779,852,5.899,874,2.271,900,2.905,911,3.545,916,6.451,928,3.366,941,3.784,958,4.046,977,2.715,978,3.975,1010,3.45,1037,7.916,1045,4.375,1050,3.45,1054,3.779,1095,3.545,1098,7.916,1123,1.8,1136,3.101,1175,3.047,1184,5.114,1200,2.682,1220,2.949,1238,2.863,1294,2.749,1473,3.291,1575,3.931,1659,7.467,1704,3.366,1827,2.536,1857,3.545,2002,6.451,2009,9.202,2011,3.653,2135,2.996,2194,3.222,2195,5.746,2292,2.749,2315,3.931,2389,3.545,2390,3.159,2503,7.916,2516,4.375,2526,13.225,2535,2.62,2549,4.375,2551,3.653,2586,2.217,2749,3.545,2827,16.911,2828,11.55,2829,4.761,2830,3.653,2831,2.949,2832,4.375,2833,8.126,2834,4.761,2835,4.375,2836,3.779,2837,8.126,2838,8.126,2839,8.126,2840,4.375,2841,4.375,2842,3.545,2843,3.545,2844,4.761,2845,7.467,2846,4.761,2847,4.761,2848,4.761,2849,4.761,2850,4.761,2851,4.761,2852,5.889,2853,4.761,2854,14.971,2855,8.126,2856,8.126,2857,4.761,2858,4.761,2859,4.761,2860,4.375,2861,4.761,2862,10.631,2863,4.375,2864,4.761,2865,4.761,2866,4.375,2867,4.761,2868,6.451,2869,4.761,2870,4.761,2871,4.375,2872,4.375,2873,4.375,2874,4.761,2875,7.467,2876,4.761,2877,4.761,2878,10.631,2879,4.761,2880,4.761,2881,4.761,2882,4.761,2883,4.761,2884,4.761,2885,8.126,2886,4.761,2887,4.761,2888,7.033,2889,4.761,2890,14.112,2891,8.126,2892,8.126,2893,4.761,2894,8.126,2895,4.761,2896,3.931,2897,6.051,2898,4.375,2899,4.375,2900,4.375,2901,4.375,2902,3.366,2903,4.375,2904,4.121,2905,4.761,2906,4.375,2907,4.121,2908,4.375]],["keywords/309",[]],["title/310",[567,871.939,916,955.054]],["content/310",[1,3.248,36,10.174,50,4.346,64,5.877,71,7.63,102,3.873,139,2.554,141,9.072,153,4.908,194,3.84,225,5.433,256,6.909,394,9.448,436,7.922,476,7.327,506,9.448,522,7.423,540,7.986,563,6.558,571,9.012,686,6.558,852,8.171,911,9.448,916,10.072,927,9.196,958,6.317,977,7.236,1010,9.196,1021,8.972,1026,6.154,1050,9.196,1284,9.448,1519,8.77,1672,10.982,1840,14.475,2010,10.476,2011,9.736,2526,12.31,2827,18.379,2899,11.66,2900,11.66,2901,11.66,2902,8.972,2903,11.66,2909,17.41,2910,12.689]],["keywords/310",[]],["title/311",[1811,1001.987]],["content/311",[]],["keywords/311",[]],["title/312",[197,331.725,317,239.066,1811,545.732,1829,441.789]],["content/312",[1,4.385,5,3.024,18,6.036,19,11.411,46,6.628,48,5.826,174,7.456,197,6.389,277,3.44,317,4.605,535,11.696,693,9.092,744,7.574,920,10.328,1038,10.511,1129,7.63,1130,12.017,1133,9.847,1184,10.158,1208,8.689,1811,10.511,1821,12.811,1827,8.598,1829,8.509,1999,13.325,2799,13.969,2911,12.383]],["keywords/312",[]],["title/313",[152,281.472,225,261.457,1184,527.362,1811,545.732]],["content/313",[89,6.81,96,9.709,117,11.317,152,5.5,192,4.511,196,7.135,225,6.424,331,7.565,337,6.453,571,8.675,594,12.258,957,11.085,1136,10.664,1146,14.012,1184,10.305,1220,10.143,1974,9.902,2434,10.664,2912,16.373,2913,13.519]],["keywords/313",[]],["title/314",[50,338.338,1811,643.388,2914,855.008]],["content/314",[1,2.888,5,2.516,6,3.895,7,1.789,9,2.684,36,3.408,45,1.361,46,5.541,48,2.796,50,5.302,52,1.551,58,2.636,68,7.782,75,4.585,136,2.492,138,4.226,139,3.219,143,2.05,144,1.684,153,5.219,162,2.202,163,5.346,187,2.476,196,9.855,197,2.636,201,11.688,204,7.823,209,4.616,219,3.789,220,2.985,225,4.211,227,1.775,230,2.824,238,3.51,242,3.751,256,2.314,285,2.532,309,3.257,317,4.417,350,3.166,351,3.315,373,5.208,434,2.882,435,4.825,454,4.261,492,7.592,494,3.624,495,8.588,508,4.261,573,2.684,614,3.176,642,3.376,646,2.399,676,2.734,686,5.55,695,3.664,697,5.253,702,4.261,711,4.957,744,3.125,973,6.118,1039,3.202,1123,2.518,1133,4.062,1153,4.78,1179,8.233,1184,4.19,1218,4.825,1254,6.123,1264,5.55,1417,9.445,1786,11.679,1811,8.788,1829,8.162,1840,7.267,1843,4.708,1855,9.294,1856,8.866,1857,7.995,1900,3.751,1907,9.294,1909,6.118,1910,4.19,1911,6.118,1913,5.109,1914,5.763,1915,11.679,1916,9.294,1923,5.763,1925,11.679,2022,4.957,2060,9.867,2061,6.118,2062,9.867,2145,5.285,2913,5.497,2914,9.294,2915,5.109,2916,6.118,2917,10.738,2918,10.738,2919,10.738,2920,10.738,2921,9.867,2922,9.867,2923,13.493,2924,10.738,2925,5.285]],["keywords/314",[]],["title/315",[35,211.306,1811,643.388,2913,815.611]],["content/315",[5,2.262,50,5.228,51,5.471,136,4.57,144,1.906,187,5.678,189,6.043,196,10.035,197,6.043,225,6.144,329,7.89,331,7.053,350,5.114,361,11.675,758,8.641,1146,9.051,1811,14.998,2913,17.996,2914,18.865,2916,14.028,2926,19.69,2927,19.69,2928,15.265,2929,15.265]],["keywords/315",[]],["title/316",[144,123.315,1146,585.741,1811,643.388]],["content/316",[1,4.539,6,10.41,337,7.626,495,8.418,1179,10.857,1397,13.653,1811,15.847,2930,17.794,2931,17.794,2932,17.794,2933,16.352,2934,17.794]],["keywords/316",[]],["title/317",[102,301.543,495,467.341,1179,602.705]],["content/317",[5,2.481,19,14.76,36,10.685,64,5.65,89,6.962,143,5.154,225,5.223,226,8.568,273,6.789,302,7.983,407,11.106,495,7.919,506,12.463,511,10.212,571,7.052,686,8.651,941,7.794,1179,12.736,1220,10.368,1811,10.901,2854,14.487,2863,15.381,2935,16.738,2936,14.487,2937,16.738,2938,16.738]],["keywords/317",[]],["title/318",[671,539.435,2186,487.983]],["content/318",[]],["keywords/318",[]],["title/319",[671,539.435,2186,487.983]],["content/319",[1,3.594,58,5.846,96,13.482,127,10.44,130,5.033,136,4.472,143,4.547,162,2.41,175,10.988,182,8.42,199,10.994,238,7.785,279,4.89,282,8.755,324,9.009,331,6.822,541,13.568,554,9.864,575,8.526,671,6.62,912,10.206,1024,9.993,1395,11.329,2186,10.134,2188,15.296,2189,12.78,2511,10.206,2939,11.721,2940,12.191,2941,14.765,2942,14.765,2943,14.765]],["keywords/319",[]],["title/320",[2186,487.983,2188,955.054]],["content/320",[1,1.442,5,1.792,45,2.472,48,3.149,58,5.895,88,3.007,91,2.814,96,8.829,97,3.215,117,5.343,119,4.035,124,3.957,129,3.782,136,1.794,137,5.125,139,3.294,143,4.585,144,0.965,150,3.392,162,1.973,171,4.947,175,4.408,199,5.756,201,7.932,202,4.965,204,5.309,207,4.208,208,1.512,220,3.466,225,4.646,237,9.002,241,5.674,244,4.649,279,2.56,282,7.169,288,6.137,330,8.549,331,5.586,350,1.814,352,2.127,358,1.938,359,3.884,437,6.249,511,10.273,554,6.189,563,3.996,573,4.874,620,9.734,658,5.466,671,5.421,673,3.518,677,4.162,742,3.301,775,2.572,796,5.932,882,8.71,912,5.343,914,9.277,1005,5.232,1019,2.99,1050,5.603,1058,4.464,1123,2.923,1201,7.377,1437,8.549,1783,13.902,1784,9.982,1789,6.193,1860,11.11,2148,7.874,2186,8.735,2188,9.597,2189,6.691,2306,7.104,2475,6.691,2541,5.932,2543,7.104,2586,3.6,2595,3.815,2738,10.273,2754,7.104,2804,7.104,2819,11.11,2939,6.137,2944,7.731,2945,7.731,2946,7.731,2947,7.731,2948,7.731,2949,7.731,2950,7.731,2951,7.104,2952,7.731,2953,7.731,2954,7.731,2955,7.731,2956,7.731,2957,7.731,2958,7.731,2959,12.09,2960,14.889,2961,12.09,2962,6.691,2963,7.731,2964,7.731,2965,7.731,2966,7.731,2967,5.603,2968,7.731]],["keywords/320",[]],["title/321",[172,531.85,176,556.491,654,643.388]],["content/321",[1,2.796,2,6.2,5,1.158,35,1.671,37,2.611,48,3.174,62,2.611,97,3.249,102,3.721,106,4.118,133,4.916,134,6.449,139,1.788,143,3.753,144,0.975,146,6.671,155,6.239,157,5.766,159,6.786,169,10.862,171,4.999,172,8.07,176,9.539,177,11.383,208,1.528,213,6.239,214,8.212,219,2.757,234,9.857,262,5.183,265,6.324,277,3.609,290,4.4,307,4.4,309,3.821,358,5.539,373,11.376,374,4.161,376,2.193,378,6.015,437,4.037,511,4.766,556,5.183,624,4.161,627,10.598,644,13.758,646,2.814,654,11.029,666,9.945,697,8.983,725,6.426,743,4.999,753,4.632,809,4.251,823,4.999,896,5.087,1058,4.51,1072,10.563,1105,7.671,1207,4.251,1214,4.916,1229,5.087,1259,5.286,1279,10.862,1359,6.761,1709,4.037,1751,5.816,1769,4.4,1773,5.183,2420,12.973,2969,7.811,2970,9.675,2971,6.761,2972,10.549,2973,10.063,2974,12.188,2975,7.811,2976,7.811,2977,7.811,2978,7.811,2979,7.811,2980,7.811,2981,7.811,2982,7.811,2983,7.811,2984,6.2]],["keywords/321",[]],["title/322",[248,621.835,383,627.995]],["content/322",[]],["keywords/322",[]],["title/323",[5,146.397,248,510.562,383,515.619]],["content/323",[1,3.878,5,2.739,37,4.633,50,7.121,52,3.228,58,7.316,64,4.678,83,7.627,89,5.764,102,4.23,121,6.259,136,4.825,150,8.11,225,4.324,238,7.307,242,7.807,248,7.163,256,4.817,279,4.589,282,10.958,309,6.779,331,9.606,377,9.379,408,13.531,522,8.107,570,8.107,571,8.76,612,8.333,852,6.504,1146,8.217,1152,10.319,1290,11.442,2194,12.506,2570,11.995,2985,11.442,2986,13.858,2987,18.48,2988,13.858]],["keywords/323",[]],["title/324",[352,330.993,852,564.649]],["content/324",[1,3.004,5,2.774,21,8.491,74,6.246,97,4.72,124,5.809,136,4.345,139,1.665,141,4.813,183,5.65,202,6.614,221,5.551,225,5.025,248,10.531,254,6.924,274,6.246,279,3.758,288,9.008,326,11.596,327,6.318,329,5.865,352,6.574,353,6.923,355,6.824,362,5.504,383,9.771,440,11.991,476,6.553,573,4.575,575,6.553,628,5.088,702,7.262,849,7.947,852,7.558,896,7.391,897,10.428,898,7.53,912,7.844,1019,4.389,1023,8.707,1025,5.413,1026,5.504,1035,8.024,1084,5.809,1123,4.291,1134,7.262,1195,10.306,1208,6.11,1294,6.553,1363,8.024,1619,11.671,1712,9.008,1759,9.008,1830,7.844,1926,7.262,2902,13.237,2985,9.369,2989,8.45,2990,11.348,2991,11.348,2992,14.799]],["keywords/324",[]],["title/325",[248,510.562,383,515.619,717,549.959]],["content/325",[7,5.235,136,4.522,248,10.071,383,10.171,717,10.848,852,9.145,958,9.701,966,11.888,2301,10.38,2993,19.485]],["keywords/325",[]],["title/326",[50,412.077,612,723.452]],["content/326",[1,3.923,5,2.102,9,3.84,13,5.812,21,5.023,39,7.805,41,4.924,50,4.857,58,9.469,64,3.216,108,6.097,130,3.247,136,3.291,139,1.398,150,4.181,162,1.555,194,2.883,220,4.271,248,8.755,256,3.312,272,5.432,282,10.044,331,9.269,332,5.243,337,5.309,339,5.728,352,2.621,362,4.62,383,4.973,404,6.514,408,5.812,436,6.453,463,7.31,476,5.501,493,6.447,522,5.573,523,8.246,554,7.259,571,7.137,612,5.728,620,4.786,628,6.358,632,4.335,636,7.31,718,6.321,753,5.649,761,4.973,845,5.901,848,4.067,855,4.04,900,5.812,958,7.06,959,7.562,977,8.086,1123,7.095,1195,6.097,1201,5.812,1269,5.901,1291,9.236,1458,10.881,1759,7.562,1782,9.075,1789,3.962,1827,5.075,1830,9.802,1897,5.649,2211,7.31,2301,5.075,2646,8.246,2738,8.652,2843,7.093,2852,6.904,2897,7.093,2994,14.181,2995,9.526,2996,8.754,2997,8.754,2998,8.754,2999,9.526,3000,9.526,3001,7.866,3002,9.526,3003,9.526]],["keywords/326",[]],["title/327",[571,648.207]],["content/327",[]],["keywords/327",[]],["title/328",[1,184.269,337,309.619,571,416.221]],["content/328",[1,4.083,9,7.288,80,11.2,119,9.437,133,11.379,143,5.567,194,5.471,224,5.904,225,5.642,337,5.667,433,11.996,571,7.618,674,10.31,761,9.437,941,8.418,1184,11.379,1840,12.235,2571,13.103]],["keywords/328",[]],["title/329",[1,135.702,337,228.015,571,306.521,1184,457.866,1840,492.326]],["content/329",[]],["keywords/329",[]],["title/330",[569,1331.557]],["content/330",[1,1.565,5,2.324,6,4.91,7,3.461,29,3.284,36,12.056,37,2.806,46,7.225,48,3.356,52,1.955,64,2.833,75,3.583,91,3.055,93,5.801,102,4.787,117,5.801,118,5.934,119,4.38,130,2.86,136,1.948,150,3.683,182,4.786,201,4.471,219,2.962,230,3.559,256,2.917,321,3.736,332,4.619,336,3.284,350,1.969,371,4.91,407,8.549,442,5.12,483,5.801,513,5.046,544,5.282,546,5.568,563,4.337,567,6.082,571,7.413,583,5.679,620,6.473,642,6.533,645,5.199,646,4.642,651,5.046,676,3.446,750,3.763,806,4.976,900,10.734,911,9.594,916,6.662,918,11.113,956,8.246,1057,5.568,1071,9.338,1123,3.173,1170,4.976,1264,8.106,1307,7.347,1310,6.249,1390,7.264,1521,5.934,1674,5.679,1840,5.679,1913,6.439,2117,10.228,2122,10.228,2129,11.152,2501,7.712,2526,5.934,2568,8.72,2629,4.976,2827,6.662,2845,11.84,2984,6.662,3004,7.712,3005,8.392,3006,6.929,3007,6.439,3008,11.84,3009,11.152,3010,8.392,3011,8.392,3012,8.392,3013,15.683,3014,11.152,3015,7.712,3016,12.884,3017,8.392,3018,7.264,3019,8.392,3020,8.392,3021,8.392,3022,8.392,3023,8.392,3024,8.392,3025,15.683,3026,8.392,3027,8.392,3028,6.662,3029,8.392,3030,8.392,3031,8.392,3032,8.392,3033,8.392,3034,8.392]],["keywords/330",[]],["title/331",[408,734.062,2194,814.224]],["content/331",[1,3.622,5,2.878,37,6.492,50,4.159,72,8.905,102,3.706,130,4.138,136,3.92,157,7.99,193,6.609,226,6.215,256,4.221,279,4.021,331,5.61,340,4.329,408,10.304,522,9.88,563,6.276,571,7.116,676,6.936,761,10.957,849,9.582,900,7.408,901,10.304,955,18.168,956,7.771,957,9.093,1139,5.405,1270,13.406,1819,13.944,1900,6.84,2194,11.429,2195,11.941,2196,13.944,2292,7.012,2898,15.519,3035,15.519,3036,16.888,3037,19.418,3038,15.519,3039,16.888,3040,16.888,3041,12.142,3042,10.509]],["keywords/331",[]],["title/332",[389,1020.777]],["content/332",[1,2.637,4,5.054,5,2.095,7,5.031,18,3.548,19,9.995,29,3.712,35,3.024,36,4.856,37,4.726,52,2.21,67,5.221,72,5.002,79,5.287,102,4.315,112,4.641,118,9.995,130,3.233,131,5.877,136,4.648,141,5.996,143,2.921,144,1.184,159,5.281,162,1.548,182,5.41,196,8.16,220,4.253,221,6.915,236,6.708,248,4.903,285,3.607,290,5.344,294,6.708,307,7.964,336,3.712,337,2.973,352,2.61,387,14.16,389,12.425,404,3.648,408,5.788,425,4.601,428,8.897,437,4.903,447,3.548,476,5.478,528,7.53,533,7.279,544,5.971,554,4.856,571,3.997,588,7.833,594,9.197,595,11.221,614,4.525,676,5.805,918,7.531,957,10.082,1037,7.064,1224,5.704,1249,6.708,1294,5.478,1400,6.557,1473,9.771,2138,7.53,2195,6.708,2569,7.064,2571,6.875,2841,8.717,2842,7.064,3043,8.211,3044,9.486,3045,14.136,3046,9.486,3047,9.486,3048,9.486,3049,9.486,3050,9.486,3051,9.486,3052,9.486,3053,8.717,3054,9.486,3055,9.486,3056,9.486,3057,9.486,3058,8.717,3059,8.717,3060,14.136,3061,9.486,3062,9.486,3063,9.486]],["keywords/332",[]],["title/333",[225,480.047]],["content/333",[5,1.225,35,3.734,36,10.967,37,4.259,64,4.3,80,10.814,83,4.551,91,4.638,102,2.524,129,6.232,130,2.818,131,5.122,136,3.606,139,3.045,143,2.546,144,1.59,173,3.604,183,7.736,186,3.635,220,3.708,225,7.6,226,4.233,248,4.274,252,3.82,256,6.069,273,5.167,279,2.738,284,4.36,331,3.82,333,4.117,337,5.909,350,1.94,351,6.342,352,2.275,407,5.487,408,5.045,409,6.345,447,3.092,522,10.213,570,4.838,571,3.484,583,5.596,594,8.457,673,3.763,674,4.715,752,3.912,761,8.111,836,7.66,852,5.979,901,7.772,918,6.786,919,6.827,928,5.847,966,5.045,979,7.157,1016,5.596,1039,7.473,1050,9.232,1084,4.233,1123,3.127,1317,5.993,1655,7.599,1711,9.944,2010,6.827,2113,12.83,2194,5.596,2390,5.487,2497,6.157,2526,10.987,2738,12.151,2835,7.599,2852,5.993,3006,6.827,3064,8.269,3065,8.269,3066,8.269,3067,8.269,3068,8.269,3069,8.269,3070,8.269,3071,8.269,3072,8.269,3073,8.269,3074,11.706,3075,9.775,3076,8.269]],["keywords/333",[]],["title/334",[46,631.788]],["content/334",[7,5.327,46,8.143,66,11.757,67,10.913,580,12.283,958,9.872,2002,15.74,2907,17.162]],["keywords/334",[]],["title/335",[592,745.296,1026,583.521]],["content/335",[256,7.21,284,10.935,753,12.298]],["keywords/335",[]],["title/336",[3077,1538.415]],["content/336",[89,8.104,117,13.468,118,13.778,119,10.171,129,9.532,130,6.641,131,12.07,132,14.121,133,12.264,135,11.717]],["keywords/336",[]],["title/337",[60,542.93]],["content/337",[]],["keywords/337",[]],["title/338",[139,144.941,3078,907.755,3079,907.755]],["content/338",[7,4.641,21,6.616,33,5.545,35,2.684,37,5.776,45,4.04,48,5.146,56,8.172,60,7.513,61,5.936,62,5.776,88,4.881,91,4.568,102,3.83,119,6.549,121,5.667,136,4.586,144,1.566,156,8.172,157,8.173,162,2.048,208,2.454,238,6.616,256,4.362,273,5.089,277,2.675,279,4.155,282,7.44,324,7.656,331,5.797,338,6.684,339,7.545,350,2.944,404,4.825,642,6.363,653,7.34,674,7.155,795,7.69,1058,9.976,1113,7.897,1120,9.093,1123,4.745,1151,6.986,1208,6.756,1521,12.216,1910,7.897,2041,8.673,2045,11.53,3043,10.86,3078,11.53,3079,11.53,3080,10.86,3081,10.36,3082,12.547,3083,11.53,3084,12.547,3085,10.36,3086,12.547]],["keywords/338",[]],["title/339",[3087,1413.703]],["content/339",[33,8.778,35,3.31,37,7.334,45,3.164,59,8.717,60,8.168,112,11.322,136,4.61,150,6.791,156,10.079,174,7.15,208,3.027,220,6.938,338,8.244,402,12.284,434,6.697,583,10.472,674,8.824,754,9.305,822,8.615,823,9.903,918,8.244,1008,11.522,1104,12.777,1113,9.739,2569,11.522,3087,14.22,3088,15.474,3089,12.284]],["keywords/339",[]],["title/340",[3090,1413.703]],["content/340",[1,2.508,37,6.054,60,7.226,79,8.193,102,4.104,112,10.017,120,7.485,130,6.172,136,3.12,144,1.678,194,4.069,203,7.667,207,7.318,225,6.389,226,6.882,279,4.453,331,10.122,352,6.734,353,8.802,355,8.085,404,5.17,593,7.866,674,7.667,819,7.485,1019,5.2,1089,8.757,1095,10.011,1208,9.75,1269,8.329,1768,12.355,2292,10.457,3090,12.355,3091,18.109,3092,12.355,3093,13.445,3094,13.445]],["keywords/340",[]],["title/341",[152,404.162,1294,694.758]],["content/341",[]],["keywords/341",[]],["title/342",[3095,1538.415]],["content/342",[1,4.271,4,9.047,5,2.787,8,7.123,9,7.58,11,3.904,13,5.837,35,4.506,37,4.756,45,3.845,46,5.842,50,5.816,53,4.49,54,5.455,59,6.243,60,5.993,61,4.526,78,3.638,79,3.578,88,5.534,107,6.765,112,6.959,124,4.897,125,6.021,136,5.062,143,2.946,156,6.231,162,1.561,187,3.558,192,2.85,197,3.788,208,4.12,209,4.112,242,5.389,265,4.624,273,3.88,277,4.49,285,3.638,305,5.265,314,6.021,316,6.474,317,5.365,321,4.258,352,2.632,402,7.594,434,4.14,538,7.123,563,4.945,671,4.289,700,5.734,744,4.49,789,5.837,813,6.033,823,10.868,1029,6.933,1036,5.837,1179,5.837,1367,6.021,1425,11.745,1472,5.837,1821,7.594,1836,6.933,1840,6.474,2327,8.791,2569,7.123,2740,7.899,2749,7.123,2771,5.926,3096,9.567,3097,14.225]],["keywords/342",[]],["title/343",[28,607.247,1931,665.131,3098,592.457,3099,769.972]],["content/343",[1,4.136,5,1.263,6,4.984,8,9.705,9,8.124,12,7.034,13,5.198,14,6.762,28,9.446,29,5.1,30,6.024,31,6.174,32,6.762,33,6.996,34,7.373,35,3.386,36,6.672,37,6.389,38,4.28,39,4.689,40,4.858,41,4.403,42,5.123,43,5.549,44,5.452,45,3.908,46,8.276,47,5.277,48,5.462,49,6.268,50,6.073,51,3.053,52,1.984,53,3.998,54,7.432,55,7.094,56,8.489,57,6.024,58,3.373,59,5.72,60,5.586,61,4.03,62,2.848,63,5.362,64,2.876,65,8.341,66,5.051,67,4.689,68,6.174,69,7.952,70,5.198,71,5.123,72,4.492,73,7.373,79,4.874,110,5.198,143,2.623,144,1.063,187,3.169,208,2.549,220,3.82,259,3.967,285,3.239,296,4.28,317,4.516,351,4.241,402,6.762,446,3.936,545,5.123,570,4.984,615,4.204,671,3.82,673,3.877,751,8.203,1080,9.216,1179,5.198,1226,7.034,1245,7.034,1268,8.341,1367,5.362,1807,7.828,1821,6.762,1822,6.343,1827,4.538,1836,6.174,1913,6.537,1990,5.888,1994,6.024,3099,7.828,3100,7.828,3101,8.519,3102,8.519,3103,8.519,3104,8.519,3105,8.519,3106,7.373,3107,7.828,3108,8.519,3109,8.519,3110,8.519]],["keywords/343",[]],["title/344",[152,404.162,3098,850.703]],["content/344",[1,4.772,9,3.514,11,3.557,29,3.41,32,6.919,35,2.837,36,4.462,45,2.712,46,5.447,56,5.677,60,7.461,64,4.477,66,7.865,67,7.3,102,2.661,112,4.264,135,5.241,152,2.928,158,3.492,160,1.676,165,4.644,174,4.027,183,4.34,208,3.776,219,4.681,224,6.64,225,4.139,230,3.697,232,4.192,234,4.228,256,3.03,268,5.241,277,3.825,285,3.314,317,3.784,336,3.41,395,12.188,552,6.49,573,5.347,686,6.855,697,4.264,795,3.88,812,4.853,813,7.61,894,6.317,941,4.059,978,4.264,1066,4.91,1104,13.256,1299,5.4,1336,13.004,1363,6.163,1380,6.688,1421,6.688,1448,5.578,1596,8.01,1710,7.544,1769,7.472,1926,5.578,2391,6.49,2504,10.177,2515,8.01,2636,6.688,2712,7.197,2785,6.49,3111,5.677,3112,14.563,3113,8.717,3114,17.741,3115,8.717,3116,13.263,3117,8.717,3118,8.717]],["keywords/344",[]],["title/345",[152,404.162,934,583.521]],["content/345",[1,4.355,5,1.528,7,4.766,11,4.208,29,4.034,35,4.17,45,2.108,46,8.006,51,5.387,52,2.402,55,10.61,60,5.305,75,6.418,158,6.023,160,1.983,194,6.928,208,3.813,219,3.639,230,4.373,232,4.959,234,5.001,256,5.225,277,4.155,296,5.18,317,4.289,352,6.298,358,2.585,628,4.623,697,5.044,700,4.156,855,4.373,934,12.163,978,5.044,1066,5.808,1080,10.628,1339,10.729,1829,7.925,1926,6.598,3111,6.715,3112,14.408,3119,10.31]],["keywords/345",[]],["title/346",[35,211.306,208,193.211,434,427.524]],["content/346",[1,1.32,7,3.776,11,2.888,29,2.769,35,5.062,45,2.305,46,6.583,48,2.936,51,2.536,60,2.497,62,5.359,158,4.517,160,1.361,187,2.632,194,4.253,208,4.701,219,2.497,224,4.589,230,3.001,232,3.403,234,3.432,248,3.657,268,4.255,277,4.827,285,2.691,296,3.555,305,3.894,317,4.574,322,7.793,349,6.483,359,5.664,434,9.8,571,2.981,573,2.852,631,8.651,632,9.244,673,3.22,697,3.461,795,3.15,809,3.851,813,4.782,855,3.001,937,6.07,938,8.116,978,3.461,1019,5.436,1025,7.646,1066,3.986,1118,7.63,1241,8.171,1339,8.823,1363,5.003,1703,5.128,1710,18.966,1769,12.344,1829,8.452,1926,4.528,2042,8.333,3098,5.003,3111,4.609,3112,14.037,3114,10.36,3120,7.076,3121,7.481,3122,5.617]],["keywords/346",[]],["title/347",[158,482.063,1246,723.452]],["content/347",[11,4.452,29,4.268,40,6.221,50,6.855,51,5.611,60,5.526,72,8.255,74,6.004,97,8.324,158,9.931,160,2.098,208,4.547,219,3.85,230,4.627,232,5.246,234,5.291,256,3.792,284,5.752,285,6.964,345,8.341,349,6.763,351,5.431,628,10.423,632,4.964,775,3.63,849,7.726,978,5.336,1019,4.219,1066,6.145,1238,6.56,1246,13.978,1769,8.82,2636,8.37,2637,10.024,3111,7.105,3112,13.883,3123,9.442,3124,10.909,3125,21.192,3126,10.024,3127,10.909]],["keywords/347",[]],["title/348",[35,257.359,347,798.304]],["content/348",[11,2.405,18,2.204,29,2.306,35,5.48,38,2.961,41,6.412,45,3.256,52,4.223,64,4.187,74,3.243,78,2.241,94,5.763,97,4.043,121,2.661,124,3.016,125,3.709,140,2.639,142,2.961,150,4.265,152,3.265,153,3.759,160,1.133,162,2.797,174,4.491,187,5.354,194,4.356,219,2.08,230,2.499,232,2.834,234,2.858,240,2.018,268,3.543,277,2.072,285,2.241,317,1.681,345,9.132,347,14.317,349,5.082,351,2.934,355,3.543,383,6.475,423,8.742,428,3.709,447,2.204,649,4.883,661,6.22,673,7.247,697,2.883,700,8.963,720,3.988,749,9.316,750,4.358,795,2.623,803,6.752,809,3.207,855,8.58,937,11.166,978,2.883,1019,2.279,1025,2.811,1066,3.32,1151,3.281,1280,4.073,1299,3.65,1307,3.36,1336,12.422,1363,4.167,1380,4.521,1926,3.771,2042,5.763,2159,2.811,2298,5.1,2421,5.543,2506,5.1,2651,7.237,3111,3.838,3112,13.334,3121,3.91,3128,4.865,3129,5.893,3130,5.893,3131,4.678,3132,5.415,3133,5.893,3134,5.893,3135,5.893,3136,5.893,3137,4.678,3138,5.1,3139,5.893,3140,9.211,3141,9.72]],["keywords/348",[]],["title/349",[352,330.993,353,517.165]],["content/349",[1,0.836,3,10.855,5,1.143,7,1.203,9,1.806,11,8.477,18,0.911,20,1.341,21,2.362,29,0.953,35,1.65,41,5.249,46,1.001,51,1.605,59,2.728,60,5.034,64,3.769,65,1.559,69,2.733,78,0.926,79,0.911,84,0.788,85,1.814,102,1.367,112,2.191,117,3.096,121,1.1,124,1.247,130,3.806,136,0.565,138,0.959,141,6.95,144,0.304,150,7.191,152,0.818,157,1.153,160,0.468,163,1.213,166,1.425,168,3.167,173,1.952,174,1.126,183,6.773,187,3.777,192,0.488,194,2.728,196,1.062,197,0.965,202,2.553,208,0.477,209,1.047,213,1.247,219,0.86,220,2.787,221,1.192,224,1.463,225,1.398,227,1.657,230,1.033,232,1.172,234,1.182,240,3.478,242,1.372,255,2.656,256,2.161,268,1.465,271,1.465,284,1.285,285,7.264,296,1.224,302,5.326,317,0.695,321,2.767,326,1.509,327,4.294,336,0.953,340,0.869,345,1.298,352,6.815,353,9.462,379,3.031,383,8.553,404,0.937,425,1.182,428,1.533,432,1.312,434,1.054,447,2.325,476,1.407,494,3.383,542,1.298,544,4.854,552,5.742,554,1.247,573,2.506,583,1.649,591,1.934,592,2.775,614,1.162,615,2.21,618,1.869,621,6.932,697,1.192,700,0.982,725,1.285,742,1.04,750,1.092,751,1.533,795,1.084,809,1.326,812,5.018,825,3.502,842,4.297,849,2.21,852,2.102,855,6.305,874,3.678,896,1.587,898,2.972,930,2.239,934,1.182,937,1.312,938,1.407,941,2.895,978,1.192,1019,0.942,1021,1.723,1025,1.162,1026,1.182,1039,4.884,1055,5.871,1058,1.407,1061,1.814,1066,1.372,1136,1.587,1150,1.117,1151,1.356,1196,1.587,1200,3.502,1205,1.869,1208,4.853,1237,2.012,1266,4.777,1294,1.407,1296,2.972,1336,11.173,1339,2.465,1360,2.239,1363,1.723,1396,2.239,1464,1.814,1592,1.869,1662,1.559,1667,7.718,1674,4.207,1769,1.372,1773,1.617,1841,2.917,1926,1.559,1930,1.934,1931,1.934,1969,3.096,1974,10.789,1990,3.096,2013,1.445,2042,2.656,2120,1.869,2159,1.162,2208,3.246,2328,3.877,2434,4.049,2435,5.589,2476,1.587,2504,1.869,2535,6.642,2571,5.589,2586,2.086,2651,3.335,2772,2.109,2992,2.239,3028,1.934,3092,19.65,3098,1.723,3111,1.587,3112,13.545,3121,5.981,3131,1.934,3138,2.109,3142,2.239,3143,6.711,3144,7.435,3145,1.814,3146,2.239,3147,2.436,3148,2.436,3149,2.436,3150,1.559,3151,2.436,3152,2.109,3153,2.436,3154,2.436,3155,2.239,3156,2.436,3157,2.436,3158,2.436,3159,2.436,3160,2.436,3161,2.436,3162,1.723,3163,2.436,3164,2.239,3165,2.239,3166,2.239,3167,4.479,3168,2.109,3169,3.877,3170,2.239,3171,2.436,3172,2.436,3173,2.436,3174,2.436,3175,1.934,3176,4.479,3177,2.239,3178,2.436,3179,2.239,3180,2.012,3181,2.436,3182,3.555,3183,1.766,3184,2.436,3185,2.436,3186,2.436,3187,6.368,3188,2.436,3189,2.436,3190,2.436,3191,2.109,3192,2.239,3193,2.436,3194,2.436,3195,2.436]],["keywords/349",[]],["title/350",[277,256.462,359,604.466]],["content/350",[1,1.413,9,3.054,11,3.091,29,2.964,37,2.532,45,2.433,50,2.594,52,4.215,62,2.532,78,4.524,79,2.833,88,2.947,124,3.877,136,1.758,137,5.058,158,7.251,160,1.457,162,2.718,173,3.301,187,5.466,194,3.601,208,4.367,219,2.673,230,3.213,232,3.643,234,3.674,265,2.462,277,5.11,285,5.588,336,2.964,349,5.775,358,5.037,359,10.752,376,3.34,383,6.211,423,6.541,432,4.078,436,3.447,446,3.5,542,6.339,568,2.897,570,4.431,673,3.447,697,3.705,855,9.077,978,3.705,1019,4.602,1066,4.267,1080,5.356,1123,2.864,1151,4.217,1170,7.055,1265,7.615,1307,4.319,1336,10.65,1385,5.236,1423,4.374,1769,10.195,1910,7.489,1926,4.848,1931,9.445,2159,7.942,2504,5.812,2563,10.075,3111,4.934,3112,13.096,3131,9.445,3196,7.575,3197,7.575,3198,20.091,3199,6.961,3200,4.767,3201,7.575,3202,7.575,3203,14.695,3204,6.556,3205,7.575,3206,6.961,3207,10.299,3208,7.575]],["keywords/350",[]],["title/351",[208,235.32,359,604.466]],["content/351",[11,5.064,18,4.641,48,5.116,50,4.25,64,4.189,85,9.24,136,2.88,160,2.386,167,8.614,187,4.616,194,3.755,208,4.917,219,4.379,230,5.263,232,5.968,265,4.033,272,9.777,285,4.719,349,6.269,351,6.178,359,10.645,428,10.791,460,7.687,535,8.993,573,7.919,622,8.577,628,5.564,631,9.522,671,5.564,849,6.124,855,5.263,978,6.07,1080,12.123,1336,8.993,1386,8.398,1769,6.991,1789,9.249,2186,5.033,2752,10.246,3111,8.082,3112,12.364,3209,12.409,3210,12.409,3211,17.145,3212,11.403]],["keywords/351",[]],["title/352",[208,235.32,2608,871.939]],["content/352",[11,3.503,29,3.359,48,5.476,50,6.097,51,3.076,60,5.613,67,4.724,72,6.912,84,4.241,121,3.877,136,1.992,141,3.641,153,3.32,160,1.651,187,3.193,196,6.931,208,4.76,219,3.029,224,2.803,230,3.641,232,4.128,234,4.163,256,4.557,273,6.451,285,8.449,292,3.46,321,3.821,447,3.21,628,9.428,632,3.906,695,7.215,697,4.199,752,8.422,795,3.821,849,9.462,852,7.464,855,3.641,978,4.199,1036,5.237,1066,4.836,1080,11.245,1115,8.698,1363,6.069,1735,5.09,1790,7.087,1926,5.493,2159,4.094,2608,16.707,3111,5.591,3112,14.269,3121,5.696,3150,5.493,3200,13.646,3213,8.584,3214,8.584,3215,21.027,3216,22.22]],["keywords/352",[]],["title/353",[48,313.337,1788,814.224]],["content/353",[11,4.189,29,4.016,39,9.737,45,3.063,48,6.171,50,5.131,52,3.49,60,3.622,62,3.431,72,5.412,78,3.903,79,3.838,136,3.477,137,5.156,160,1.974,208,4.046,219,3.622,230,4.353,232,4.936,234,4.978,259,4.779,273,7.176,277,3.771,285,8.481,358,4.436,376,4.205,484,10.139,558,10.857,568,3.925,621,8.066,628,7.932,849,5.065,855,8.25,978,5.021,1019,3.97,1066,5.782,1084,9.056,1123,3.881,1788,15.473,1926,6.568,1939,19.85,2301,7.981,3111,6.685,3112,14.038,3121,6.81,3212,9.431,3217,8.474,3218,8.883,3219,8.147,3220,10.263,3221,5.021,3222,10.263]],["keywords/353",[]],["title/354",[48,313.337,359,604.466]],["content/354",[5,1.699,11,4.678,16,8.796,29,4.485,48,6.324,60,5.724,112,5.608,160,2.204,187,4.264,208,4.003,219,4.046,224,3.743,230,4.862,232,5.513,234,5.56,240,3.926,256,5.639,259,7.553,277,4.363,285,8.212,349,7.156,359,11.266,376,3.218,632,9.313,752,5.423,803,6.239,821,7.606,855,4.862,875,5.813,876,9.465,921,9.1,978,5.608,1036,6.994,1080,11.469,1769,6.458,1790,13.392,1832,8.105,2301,8.641,2568,7.758,3111,7.466,3112,13.594,3121,7.606,3206,14.905,3223,11.463,3224,20.467]],["keywords/354",[]],["title/355",[3225,1063.343]],["content/355",[1,1.987,11,4.347,29,4.167,35,4.234,64,3.595,79,3.983,96,9.126,130,5.246,160,2.048,187,3.962,194,6.621,219,3.759,230,4.518,232,5.123,234,5.166,273,7.329,305,8.471,317,3.039,327,8.568,352,5.445,358,2.671,388,17.31,404,5.918,697,5.21,746,5.797,934,5.166,978,5.21,1019,4.12,1025,5.08,1066,6,1068,12.217,1087,12.707,1472,6.499,1926,6.816,1974,5.123,2122,8.455,2301,10.545,2434,10.024,2435,11.154,2831,6.598,3111,6.937,3112,14.537,3225,16.267,3226,14.92,3227,10.651,3228,17.523,3229,10.651,3230,12.707,3231,10.651]],["keywords/355",[]],["title/356",[1897,912.212]],["content/356",[1,1.855,7,3.933,9,4.01,11,4.059,20,5.474,29,3.892,33,7.678,44,6.366,50,3.407,58,9.312,79,9.195,88,3.869,160,1.913,187,3.7,194,3.01,219,3.51,220,4.46,230,4.219,232,4.784,234,4.824,273,5.938,285,8.398,317,2.838,349,3.174,363,8.609,571,8.074,612,5.981,632,6.662,697,4.866,812,5.538,852,6.871,978,4.866,1066,5.603,1084,11.841,1269,9.07,1363,7.033,1769,5.603,1782,9.37,1897,13.947,1926,6.366,2182,8.565,2292,5.744,3075,7.632,3111,6.478,3112,14.559,3232,9.947,3233,9.947,3234,6.6,3235,12.672,3236,9.947,3237,9.947,3238,12.672,3239,13.454]],["keywords/356",[]],["title/357",[256,418.237,753,713.4]],["content/357",[]],["keywords/357",[]],["title/358",[317,343.271,1814,831.594]],["content/358",[1,3.487,5,2.09,7,0.641,8,1.776,9,0.961,18,2.283,33,1.054,35,3.263,36,1.221,37,2.535,45,3.93,46,2.507,48,1.59,50,2.091,52,4.288,53,1.119,55,1.298,58,6.596,59,1.927,64,2.559,75,2.606,78,1.67,83,3.36,84,0.772,88,2.375,89,2.539,90,1.776,91,3.643,97,1.827,102,0.728,106,2.316,110,1.455,114,1.728,119,2.292,123,2.191,127,1.686,129,1.167,130,5.2,131,1.477,133,5.584,136,2.059,138,1.728,139,1.866,140,1.157,141,3.216,142,3.067,143,0.734,144,0.762,146,3.375,150,1.927,152,0.801,153,1.699,156,1.553,157,2.078,159,1.328,160,1.174,162,1.797,164,1.297,167,1.198,180,1.742,181,3.41,185,1.167,188,1.313,190,1.614,192,1.519,194,1.847,196,5.189,197,6.04,198,1.198,201,4.039,202,0.979,204,2.176,208,2.629,209,1.888,211,3.571,213,4.541,214,4.303,219,5.19,222,2.641,224,0.779,225,3.436,227,0.636,241,6.309,252,2.029,256,1.527,265,3.252,266,1.582,272,1.36,273,3.075,277,3.252,278,0.992,279,2.938,282,3.62,285,2.321,290,1.343,292,0.961,300,4.846,302,1.137,305,3.36,307,1.343,316,1.614,317,3.142,318,1.952,319,1.582,324,2.68,326,4.697,331,2.82,332,1.313,333,2.187,337,3.732,350,2.794,358,1.901,370,1.434,371,3.571,372,1.526,373,5.776,374,2.34,376,1.713,391,3.105,398,1.582,404,2.347,407,1.582,408,3.724,409,3.37,423,4.901,425,2.961,434,1.032,435,1.728,437,2.27,439,2.604,440,1.776,442,5.413,447,1.642,463,1.83,467,1.377,476,1.377,495,2.078,508,1.526,522,2.569,535,1.728,540,1.501,543,2.811,571,3.738,573,2.461,575,1.377,593,2.569,594,2.39,620,1.198,621,1.284,624,4.039,625,3.81,626,5.584,627,1.686,632,1.085,637,1.501,642,1.209,643,1.085,646,5.496,651,4.559,652,3.958,676,2.507,693,1.343,695,1.313,697,2.986,700,0.961,712,1.648,723,6.198,725,3.219,750,1.069,752,1.128,795,1.062,804,1.969,813,1.011,815,1.83,819,1.328,837,2.064,845,2.721,852,1.119,882,3.571,883,3.481,900,2.68,918,1.27,925,3.486,956,2.811,957,1.284,958,1.187,978,5.386,1010,1.728,1019,1.699,1025,1.137,1026,1.157,1034,1.776,1038,2.86,1057,1.582,1058,2.536,1065,1.686,1072,1.198,1123,1.661,1129,0.892,1133,2.68,1153,1.062,1154,3.27,1155,1.501,1159,1.648,1180,1.553,1208,2.365,1218,1.728,1220,1.477,1224,1.434,1229,1.553,1249,1.686,1253,2.914,1254,1.36,1264,2.27,1268,1.526,1386,1.614,1397,1.83,1401,1.648,1404,1.728,1417,1.455,1423,1.377,1445,1.893,1448,1.526,1729,1.83,1751,3.27,1782,1.526,1814,1.648,1821,3.486,1825,1.969,1830,4.219,1835,1.455,1843,3.105,1844,3.105,1850,1.776,1897,1.414,1900,3.439,1972,2.064,1986,1.893,2022,3.27,2166,1.648,2168,1.27,2190,4.131,2194,1.614,2243,3.105,2244,4.316,2301,1.27,2317,1.969,2398,3.626,2399,1.969,2401,3.27,2402,3.37,2405,1.893,2497,6.606,2577,4.036,2586,1.11,2625,3.183,2663,2.191,2664,2.191,2738,6.105,2740,3.626,2758,2.191,2759,2.191,2769,1.969,2782,2.064,2793,3.801,2794,3.626,2795,5.04,2796,3.801,2797,6.261,2798,3.626,2810,2.191,2868,1.893,2939,1.893,2940,1.969,2984,1.893,2989,1.776,3006,1.969,3007,1.83,3074,2.191,3150,1.526,3204,2.064,3235,2.064,3240,2.385,3241,2.064,3242,1.686,3243,1.969,3244,2.385,3245,2.385,3246,4.392,3247,4.036,3248,15.31,3249,2.385,3250,2.385,3251,3.486,3252,2.385,3253,2.385,3254,2.191,3255,2.064,3256,2.191,3257,2.385,3258,2.385,3259,2.064,3260,2.064,3261,2.385,3262,2.385,3263,2.385,3264,2.385,3265,2.385,3266,2.385,3267,2.385,3268,2.385,3269,2.385,3270,2.385,3271,2.385,3272,2.385,3273,2.191,3274,2.385,3275,2.191,3276,2.385,3277,8.152,3278,1.776,3279,2.385,3280,4.392,3281,2.385,3282,2.385,3283,4.036,3284,2.385,3285,2.385,3286,2.385,3287,2.191]],["keywords/358",[]],["title/359",[58,476.32,620,604.466]],["content/359",[1,4.085,5,0.781,21,2.78,29,4.484,35,2.873,45,2.746,46,4.706,52,4.015,58,8.55,79,1.972,84,2.867,89,2.193,96,3.126,102,1.61,112,2.579,129,2.579,130,1.797,131,3.266,132,3.821,136,2.66,138,2.075,139,0.774,140,0.688,144,1.106,146,2.347,152,1.771,160,2.204,162,2.444,164,1.12,180,1.504,181,1.797,196,2.298,208,1.031,213,2.699,214,2.557,219,4.739,220,2.364,224,1.722,225,1.645,256,1.833,258,5.117,265,1.714,278,2.193,279,4.959,285,2.005,300,4.186,317,2.528,322,2.347,326,3.266,332,2.902,337,6.095,340,1.88,347,5.879,350,2.689,355,3.171,371,3.085,376,1.48,404,4.407,423,3.944,436,2.399,440,3.926,463,6.799,467,6.617,476,3.045,492,3.728,495,2.494,523,4.564,538,3.926,554,6.874,571,3.733,573,3.572,574,3.126,575,8.647,620,7.523,624,2.809,625,2.649,628,6.021,632,5.215,642,4.493,646,4.838,676,3.639,697,2.579,723,7.099,724,2.674,725,2.78,761,8.465,824,3.821,836,3.171,845,5.489,855,3.758,882,5.183,883,5.053,900,3.217,922,3.266,925,4.186,959,7.033,978,2.579,1008,6.597,1019,6.667,1026,2.557,1031,3.499,1123,5.662,1146,3.126,1155,3.319,1224,3.171,1253,3.499,1373,4.353,1448,3.374,1498,3.568,1674,5.996,1782,5.67,1830,9.282,1897,5.254,2168,2.809,2190,4.126,2211,6.799,2243,3.728,2397,9.462,2398,4.353,2399,4.353,2401,3.926,2402,4.046,2497,6.597,2511,3.644,2566,4.353,2625,3.821,2738,5.406,2748,7.669,2794,4.353,2795,4.353,2797,4.353,2798,4.353,2852,3.821,2868,4.186,2996,4.845,2997,4.845,2998,8.142,3081,4.353,3234,7.604,3248,18.368,3254,8.142,3256,4.845,3277,4.845,3283,4.845,3288,4.845,3289,8.86,3290,5.273,3291,5.273,3292,5.273,3293,5.273,3294,4.845,3295,4.353,3296,4.564,3297,10.531,3298,5.273,3299,5.273,3300,4.845,3301,5.273,3302,5.273,3303,5.273,3304,4.353,3305,5.273,3306,3.926,3307,4.845]],["keywords/359",[]],["title/360",[1246,925.064]],["content/360",[]],["keywords/360",[]],["title/361",[1246,723.452,3308,1203.126]],["content/361",[1,4.316,5,2.576,9,7.007,37,5.811,44,11.124,70,10.606,75,7.422,88,6.762,91,6.328,135,10.452,272,9.912,336,6.801,437,8.984,511,13.038,676,7.139,958,8.654,1246,13.913,2843,12.943,3309,17.383]],["keywords/361",[]],["title/362",[3310,1538.415]],["content/362",[5,1.312,48,4.221,58,5.313,64,4.53,102,2.703,107,6.26,119,7.005,135,5.324,139,1.299,145,4.029,164,4.346,204,3.157,225,2.763,337,5.669,376,6.415,409,6.793,468,6.592,476,10.445,495,8.557,571,5.655,573,3.569,677,4.767,761,7.005,1146,7.958,1184,10.202,1736,6.793,1854,7.028,1952,7.663,1999,7.31,2377,6.793,2379,6.793,2962,7.663,3164,14.895,3255,7.663,3311,13.421,3312,8.853,3313,8.853,3314,8.853,3315,13.421,3316,8.853,3317,8.853,3318,8.853,3319,16.209,3320,8.853,3321,20.458,3322,19.531,3323,16.209,3324,16.209,3325,16.209,3326,16.209,3327,16.209,3328,16.209,3329,16.209,3330,16.209,3331,16.209,3332,16.209,3333,16.209,3334,14.895,3335,20.458,3336,16.209,3337,8.853,3338,8.853,3339,8.853,3340,16.209,3341,8.853,3342,8.853]],["keywords/362",[]],["title/363",[3343,1413.703]],["content/363",[5,2.132,7,3.866,9,5.8,11,5.872,13,11.559,18,5.381,36,9.698,48,3.747,58,5.696,60,5.078,102,4.392,125,11.924,136,3.339,144,1.796,187,5.352,225,4.49,317,4.105,325,8.106,362,6.979,437,7.437,454,9.208,468,10.714,573,5.8,612,8.652,700,5.8,717,8.011,724,7.296,934,6.979,977,8.205,1201,11.559,1246,11.392,2787,9.371,3145,14.107,3322,13.222,3343,13.222,3344,14.389,3345,10.714,3346,14.389,3347,13.222,3348,14.389,3349,14.389,3350,14.389,3351,14.389,3352,14.389,3353,14.389]],["keywords/363",[]],["title/364",[2377,1180.425]],["content/364",[5,1.535,45,4.246,48,4.632,49,4.981,57,7.324,70,6.32,102,3.162,139,2.213,145,4.713,169,7.507,197,4.101,224,3.382,225,3.232,226,5.302,248,5.353,273,4.201,337,6.123,352,4.149,353,6.483,403,6.32,404,3.983,468,7.712,500,9.518,550,8.965,701,7.507,848,4.422,896,6.746,934,8.626,937,9.576,938,10.27,1296,6.873,1662,9.652,1827,5.518,1863,8.222,2193,8.965,2317,14.684,2354,7.712,2377,11.572,2379,11.572,2553,7.712,2665,14.118,2970,8.222,3014,8.965,3089,8.222,3145,7.712,3287,9.518,3354,15.081,3355,10.358,3356,8.222,3357,8.965,3358,15.081,3359,10.358,3360,10.358,3361,10.358,3362,10.358,3363,10.358,3364,10.358,3365,20.763,3366,20.763,3367,10.358,3368,19.536,3369,15.081,3370,10.358,3371,15.081,3372,15.081,3373,10.358,3374,10.358,3375,10.358,3376,10.358,3377,10.358,3378,10.358]],["keywords/364",[]],["title/365",[3357,1331.557]],["content/365",[4,7.866,46,6.064,48,3.845,65,9.449,66,11.426,67,8.127,102,4.507,139,2.166,162,2.41,187,5.492,219,5.211,285,5.614,376,4.145,383,7.707,434,6.39,468,10.994,476,8.526,573,5.952,677,10.374,686,9.959,858,12.78,896,9.617,1037,10.994,1620,10.994,2377,14.785,2522,17.707,2538,12.191,2547,17.707,3007,11.329,3145,10.994,3200,9.293,3357,12.78,3379,14.765,3380,19.269,3381,14.765,3382,14.765,3383,14.765,3384,14.765,3385,14.765,3386,14.765]],["keywords/365",[]],["title/366",[1,184.269,152,331.839,1814,682.785]],["content/366",[]],["keywords/366",[]],["title/367",[2568,1041.133]],["content/367",[1,3.639,18,3.337,24,7.084,25,7.084,30,6.31,36,4.568,37,5.445,45,4.594,47,10.089,48,3.516,55,4.857,56,5.812,62,2.983,78,3.393,84,2.887,121,4.03,124,8.337,139,2.39,144,1.685,152,4.536,182,5.089,185,4.365,186,3.852,193,4.857,198,6.783,225,2.784,234,4.328,243,5.192,252,6.238,254,5.444,265,2.9,277,3.871,279,2.955,282,8.006,288,12.929,321,3.972,336,6.372,358,4.084,446,4.123,447,3.337,571,3.76,628,4.001,653,5.22,748,6.31,754,5.366,765,6.467,791,6.168,795,6.01,806,5.291,808,4.754,819,4.968,821,5.921,840,5.528,874,4.256,882,5.22,902,5.812,1227,6.847,1662,5.711,2069,6.644,2304,12.407,2354,6.644,2568,9.137,2572,7.368,2786,12.929,2970,7.084,3007,6.847,3009,18.446,3175,7.084,3207,7.724,3278,6.644,3387,21.311,3388,7.724,3389,18.16,3390,8.2,3391,8.923,3392,11.148,3393,7.084,3394,8.923,3395,8.2,3396,8.923,3397,8.2,3398,8.2,3399,12.407,3400,13.502,3401,8.2,3402,8.2,3403,8.923]],["keywords/367",[]],["title/368",[2117,1221.21]],["content/368",[1,3.862,9,4.742,28,8.524,33,5.198,35,2.516,37,3.932,45,3.378,48,4.302,56,7.661,60,4.151,72,8.709,78,4.472,127,8.317,142,5.909,187,4.375,194,3.56,197,6.539,208,2.301,224,3.841,225,3.67,230,4.989,242,6.626,259,5.477,277,2.507,321,7.352,350,2.76,352,3.236,372,7.527,434,5.091,447,4.399,571,4.956,573,4.742,618,9.025,674,6.707,677,6.333,695,6.474,696,6.974,753,6.974,808,6.266,830,7.805,852,7.752,894,15.804,896,7.661,902,7.661,934,8.011,1061,8.758,1127,9.712,1139,5.236,1229,7.661,1246,7.073,1266,7.286,1299,7.286,1359,10.181,2117,9.337,2176,8.758,2511,8.13,2566,9.712,2572,9.712,2573,7.805,2970,9.337,3251,9.337,3390,10.809,3404,10.809,3405,9.337,3406,10.809,3407,7.661,3408,11.762,3409,10.809,3410,10.809,3411,11.762,3412,11.762,3413,11.762]],["keywords/368",[]],["title/369",[321,535.538,3414,814.224]],["content/369",[1,4.057,5,1.654,7,0.885,9,1.328,11,1.344,13,2.01,18,1.232,27,2.719,35,0.705,36,6.891,37,1.969,43,2.145,45,1.986,46,1.353,47,6.916,48,0.858,49,1.584,57,4.163,71,3.541,78,1.252,80,2.04,84,1.066,85,2.452,91,2.144,97,1.37,102,1.005,121,2.659,124,1.686,125,2.073,130,2.007,131,2.04,139,2.43,143,1.014,144,0.411,145,1.499,150,1.445,152,1.106,158,1.32,162,0.961,173,1.435,182,1.878,186,1.68,188,3.241,189,1.304,193,1.793,194,1.782,198,4.011,207,1.793,213,3.014,219,7.318,223,1.611,225,3.869,234,3.872,242,1.856,243,3.735,244,1.267,256,1.145,263,2.452,268,5.841,277,1.702,282,3.491,321,3.554,326,3.647,336,1.289,337,6.339,350,0.773,351,3.975,352,1.62,353,2.531,358,0.826,375,2.548,407,2.185,408,12.34,416,2.719,425,1.597,494,1.793,571,3.364,573,1.328,621,3.17,628,1.477,632,1.499,676,1.353,695,1.813,697,2.88,712,5.519,761,7.026,765,2.387,795,3.554,809,3.205,824,2.387,830,3.907,839,2.851,852,3.747,875,2.986,877,2.229,894,4.267,901,3.592,902,5.2,911,2.452,918,8.097,928,2.329,934,4.711,937,4.299,938,4.611,941,3.718,1038,2.145,1066,1.856,1118,2.229,1139,9.332,1161,2.387,1229,2.145,1284,2.452,1311,2.851,1409,1.981,1518,5.096,1575,4.861,1702,2.719,1709,1.702,1789,2.449,1814,5.519,1827,1.755,1840,3.985,1910,2.073,1926,3.768,1986,2.615,2117,13.145,2129,2.851,2379,4.518,2389,2.452,2390,2.185,2476,2.145,2518,8.407,2523,5.411,2568,9.11,2572,4.861,2576,3.027,2592,2.851,2695,2.527,2786,2.615,2842,2.452,2971,5.096,3007,8.566,3009,5.096,3170,3.027,3175,2.615,3179,7.337,3192,3.027,3200,3.706,3392,2.719,3399,3.027,3401,7.337,3402,7.337,3410,7.337,3415,3.294,3416,3.294,3417,2.719,3418,3.294,3419,3.294,3420,2.851,3421,3.294,3422,9.713,3423,14.387,3424,3.294,3425,5.2,3426,3.294,3427,3.294,3428,3.294,3429,3.294,3430,3.294,3431,5.888,3432,3.294,3433,5.888,3434,7.984,3435,3.294,3436,5.888,3437,3.294,3438,3.294,3439,3.294,3440,3.294,3441,5.888,3442,5.888,3443,3.294,3444,3.294,3445,3.294,3446,3.294,3447,3.294,3448,3.294,3449,3.294,3450,3.294,3451,3.294,3452,3.294,3453,5.888,3454,3.294,3455,3.294,3456,3.294,3457,3.294,3458,15.199,3459,3.294,3460,3.294,3461,11.164,3462,3.294,3463,3.294,3464,3.294,3465,3.294,3466,3.294,3467,3.294,3468,3.294,3469,3.294,3470,3.294,3471,3.294,3472,3.294,3473,3.294,3474,3.294,3475,3.294,3476,3.294,3477,5.888,3478,3.294,3479,3.294,3480,3.294,3481,2.851,3482,3.294,3483,3.294,3484,3.294,3485,3.294,3486,3.294,3487,3.294,3488,3.294,3489,3.294,3490,3.294,3491,3.294,3492,3.294,3493,3.294,3494,3.294,3495,3.294,3496,3.294,3497,3.294,3498,3.294,3499,3.294,3500,3.294,3501,3.294,3502,3.294,3503,3.294,3504,3.294,3505,3.294,3506,3.294,3507,3.294,3508,3.294,3509,3.294,3510,3.294,3511,3.294,3512,3.294,3513,3.294,3514,3.294,3515,3.294,3516,3.294,3517,3.294,3518,3.294,3519,3.294,3520,3.294,3521,3.294,3522,3.294,3523,3.027,3524,3.294,3525,3.294,3526,2.719,3527,3.294,3528,3.294,3529,3.294,3530,2.615,3531,3.294,3532,3.294,3533,3.294,3534,3.294,3535,3.294,3536,3.294,3537,3.294,3538,3.294,3539,3.294,3540,3.294,3541,3.294,3542,3.294,3543,3.294,3544,3.294,3545,3.294,3546,3.294,3547,3.294,3548,3.294,3549,3.294,3550,3.294,3551,3.294,3552,3.294]],["keywords/369",[]],["title/370",[1,184.269,3553,855.008,3554,643.388]],["content/370",[]],["keywords/370",[]],["title/371",[50,412.077,307,677.776]],["content/371",[1,3.193,5,2.537,11,6.986,143,5.272,144,2.137,162,2.794,219,6.042,594,9.317,622,11.832,842,11.832,907,12.747,911,12.747,918,9.12,1900,9.644,2852,12.407,2888,14.817,2985,14.134,3417,14.134,3555,17.119,3556,17.119,3557,17.119,3558,17.119,3559,17.119,3560,17.119,3561,17.119,3562,17.119]],["keywords/371",[]],["title/372",[1,184.269,7,265.386,18,369.428]],["content/372",[1,3.765,567,14.627,571,9.843,3278,15.028,3563,20.183]],["keywords/372",[]],["title/373",[1,224.429,50,412.077]],["content/373",[1,3.61,36,7.608,46,6.104,50,5.091,67,8.18,84,6.261,157,7.031,208,3.785,225,6.039,252,6.867,256,6.727,337,6.065,339,8.937,433,9.862,495,10.784,522,11.321,700,5.991,882,8.695,941,9.011,1039,7.148,1123,5.62,1151,8.275,1662,9.512,1751,11.067,1833,13.658,1900,8.373,1952,12.864,2141,10.771,2907,12.864,3553,12.864,3554,12.604,3564,14.863,3565,14.863,3566,14.863]],["keywords/373",[]],["title/374",[7,265.386,18,369.428,3554,643.388]],["content/374",[36,10.331,37,6.748,143,6.215,225,6.298,3553,17.469,3554,13.145]],["keywords/374",[]],["title/375",[2194,814.224,3554,783.61]],["content/375",[2194,13.782,2195,14.4,3567,20.365,3568,18.714,3569,20.365]],["keywords/375",[]],["title/376",[130,285.585,468,623.89,3042,725.232,3554,545.732]],["content/376",[89,7.985,139,3.662,225,6.831,436,7.572,476,9.608,496,10.923,571,7.011,620,5.972,851,9.814,927,8.614,966,11.713,1040,19.111,1047,10.288,1782,7.607,2195,13.575,2217,10.923,2875,15.29,2962,19.637,3554,7.742,3568,15.29,3570,16.639,3571,11.886,3572,11.886,3573,11.886,3574,11.886,3575,11.886,3576,11.886,3577,11.886,3578,11.886,3579,17.642,3580,10.649,3581,11.886,3582,10.923,3583,11.886,3584,16.639,3585,11.886,3586,11.886,3587,11.886,3588,11.886,3589,11.886,3590,16.639,3591,11.886,3592,11.886,3593,11.886]],["keywords/376",[]],["title/377",[225,308.244,620,496.3,3554,643.388]],["content/377",[1,3.894,36,11.645,46,6.874,102,5.109,139,2.456,162,2.732,225,5.223,273,6.789,482,13.287,495,7.919,620,8.409,923,14.487,1016,15.395,1043,15.381,1375,13.287,2939,13.287,3554,15.512,3594,16.738,3595,16.738,3596,16.738,3597,16.738]],["keywords/377",[]],["title/378",[1,119.902,58,254.475,130,219.079,317,183.393,3554,418.645,3598,590.666]],["content/378",[1,2.376,35,1.769,38,4.155,45,4.381,58,8.886,64,2.791,74,4.551,84,2.675,102,2.524,112,4.045,119,4.316,121,3.735,130,6.426,136,1.919,139,2.28,140,1.079,143,3.923,144,1.59,162,3.497,173,3.604,196,7.608,197,5.043,198,4.155,201,10.61,204,6.722,208,1.617,238,4.36,317,3.635,337,2.592,338,6.786,371,4.838,404,3.18,421,6.827,434,3.579,435,5.993,463,6.345,492,5.847,495,6.027,567,5.993,571,3.484,592,5.122,673,3.763,700,3.333,743,5.292,1010,11.261,1058,4.775,1123,3.127,1153,7.771,1180,8.297,1268,5.292,1275,7.157,1388,6.345,1423,4.775,1711,5.292,1827,4.405,1836,5.993,1857,6.157,1862,7.599,1865,6.345,1866,7.599,1900,7.176,1980,6.564,1981,6.827,1996,7.157,2022,6.157,2738,7.772,2782,7.157,2921,7.599,2922,7.599,3042,7.157,3132,7.599,3278,6.157,3554,15.098,3599,8.269,3600,8.269,3601,7.599,3602,8.269,3603,11.706,3604,15.539,3605,15.539,3606,7.599,3607,8.269,3608,16.042,3609,8.269,3610,8.269,3611,8.269,3612,8.269,3613,8.269,3614,6.827,3615,8.269,3616,8.269,3617,8.269]],["keywords/378",[]],["title/379",[130,336.688,278,410.861,3598,907.755]],["content/379",[35,3.075,45,0.862,50,1.445,58,6.111,59,1.851,84,1.365,90,3.14,130,2.495,135,2.536,136,2.689,139,2.7,140,0.955,143,1.299,146,5.836,148,7.224,160,1.408,162,1.583,181,1.438,183,2.1,187,1.569,208,2.564,211,9.56,213,10.688,214,11.279,219,3.424,230,4.115,237,3.14,256,1.466,259,1.964,266,2.799,270,5.618,275,5.28,279,1.397,292,2.951,336,1.65,337,2.295,338,3.9,348,10.06,373,3.551,376,2.055,378,2.081,432,3.942,439,2.501,463,5.618,467,2.436,573,1.7,593,2.467,620,4.874,646,3.495,649,2.119,656,13.011,676,1.732,697,8.709,700,1.7,701,3.057,723,12.935,724,3.713,725,3.86,726,3.348,752,1.995,761,7.503,813,1.789,848,3.126,875,2.139,882,2.467,883,2.405,896,2.747,898,2.799,927,3.057,937,2.271,958,2.1,977,2.405,978,2.063,1010,5.306,1047,3.651,1066,5.465,1072,2.119,1091,3.876,1123,2.768,1138,3.057,1146,2.501,1170,2.501,1180,4.769,1241,3.057,1262,3.876,1353,3.876,1377,18.223,1393,3.236,1414,3.14,2211,3.236,2233,6.337,2243,8.191,2274,5.618,2338,3.876,2470,6.337,2479,8.397,2488,3.876,2625,11.187,2712,3.482,2738,2.573,2972,3.651,3204,3.651,3234,2.799,3288,3.876,3554,11.152,3603,3.876,3614,3.482,3618,4.218,3619,9.701,3620,7.322,3621,7.322,3622,7.322,3623,4.218,3624,9.701,3625,13.111,3626,11.584,3627,7.322,3628,17.803,3629,13.111,3630,11.584,3631,13.111,3632,17.803,3633,4.218,3634,7.322,3635,6.728,3636,11.584,3637,11.584,3638,15.435,3639,11.584,3640,4.218,3641,4.218,3642,3.876,3643,4.218,3644,4.218,3645,4.218,3646,4.218,3647,4.218,3648,4.218,3649,4.218,3650,4.218,3651,17.122,3652,9.701,3653,9.701,3654,4.218,3655,4.218,3656,4.218,3657,4.218,3658,4.218,3659,4.218,3660,4.218,3661,4.218,3662,7.322,3663,4.218,3664,4.218,3665,7.322,3666,3.876,3667,7.322,3668,3.876]],["keywords/379",[]],["title/380",[58,476.32,3234,798.304]],["content/380",[1,3.548,5,1.097,7,3.139,18,2.768,35,1.583,36,5.98,37,3.906,42,4.45,45,1.513,46,4.798,49,3.559,50,2.535,58,8.41,67,6.43,84,2.394,89,4.859,102,2.259,118,5.233,136,3.359,139,3.31,141,3.139,144,1.458,153,2.862,159,6.504,162,1.907,173,3.225,182,4.22,183,3.685,196,3.225,208,2.285,225,4.517,237,5.511,248,3.825,265,2.405,277,3.504,279,3.869,319,4.911,337,4.537,339,7.025,351,3.685,425,3.589,439,6.928,447,2.768,467,4.274,492,5.233,495,7.777,513,7.025,542,3.943,554,3.788,556,4.911,563,3.825,571,3.118,575,4.274,592,4.585,700,4.71,724,3.753,813,3.139,819,4.12,822,4.12,855,4.955,923,6.406,941,6.74,978,3.62,1008,5.511,1016,12.111,1019,4.519,1123,5.473,1146,4.388,1159,5.115,1180,9.428,1212,6.406,1220,7.237,1275,6.406,1464,5.511,1703,5.364,1811,4.82,1897,4.388,1900,4.169,1905,6.801,2141,5.364,2158,5.115,2168,3.943,2317,6.111,2748,6.406,2772,6.406,3018,6.406,3043,6.406,3234,10.908,3554,12.97,3606,6.801,3608,6.801,3642,6.801,3669,5.679,3670,7.401,3671,7.401,3672,7.401,3673,14.475,3674,7.401,3675,7.401,3676,7.401,3677,7.401,3678,11.683,3679,7.401,3680,7.401,3681,7.401,3682,7.401,3683,7.401,3684,7.401,3685,7.401,3686,5.679,3687,11.683,3688,7.401,3689,12.529,3690,6.801,3691,11.683,3692,7.401,3693,7.401,3694,7.401,3695,7.401]],["keywords/380",[]],["title/381",[1782,984.542]],["content/381",[]],["keywords/381",[]],["title/382",[1,224.429,1782,769.966]],["content/382",[1,4.162,4,9.945,5,1.673,9,4.552,11,6.549,36,8.214,37,5.365,48,2.941,51,4.047,58,4.47,70,6.889,97,4.696,105,7.641,136,2.621,144,1.41,197,4.47,225,5.825,248,5.836,285,4.293,321,5.026,332,6.214,404,6.171,408,9.791,425,5.476,546,7.492,621,6.079,673,5.138,676,4.637,750,5.062,848,6.852,900,6.889,966,6.889,1039,8.978,1058,6.52,1123,4.269,1401,7.804,1691,9.773,1782,13.01,1840,7.641,2010,9.323,2292,6.52,2497,11.949,2525,9.323,2651,8.407,2852,17.001,2939,8.963,3155,10.376,3241,16.158,3247,14.746,3300,10.376,3696,11.291,3697,21.475,3698,8.963,3699,11.291,3700,11.291,3701,18.668,3702,11.291]],["keywords/382",[]],["title/383",[1,214.995,29,284.639,234,352.83,3698,577.479]],["content/383",[1,4.394,28,5.243,29,8.454,33,3.197,37,3.836,45,4.418,50,5.56,54,6.544,58,8.881,64,2.442,78,2.751,79,5.333,91,2.634,126,4.896,130,5.532,136,3.31,143,3.534,144,0.903,162,1.873,194,2.189,196,3.153,203,4.126,220,3.244,225,2.257,234,7.873,238,3.815,241,5.385,243,4.413,256,2.515,262,10.77,271,4.35,279,2.396,282,10.495,309,3.539,317,3.274,330,10.084,331,5.302,333,3.602,337,3.597,340,2.579,372,7.344,396,5.115,404,7.243,407,4.8,408,8.701,484,4.896,495,3.423,564,4.63,568,4.388,570,4.232,571,4.835,573,2.916,594,6.246,618,5.551,620,5.765,671,3.244,673,5.222,676,2.971,753,4.29,754,4.35,761,3.776,848,8.042,900,4.414,1061,10.619,1084,3.703,1123,4.339,1138,5.243,1207,3.938,1247,5.001,1249,5.115,1385,7.931,1400,5.001,1401,5.001,1773,4.8,1814,5.001,2042,4.29,2070,5.973,2385,5.387,2511,5.001,2738,7.001,2749,5.387,2768,6.648,2771,8.834,2925,5.743,2984,5.743,2985,5.973,3053,6.648,3234,4.8,3241,14.05,3698,14.05,3703,7.235,3704,7.235,3705,6.648,3706,11.475,3707,11.475,3708,7.235,3709,7.235]],["keywords/383",[]],["title/384",[3710,1538.415]],["content/384",[]],["keywords/384",[]],["title/385",[11,491.014,325,677.776]],["content/385",[1,2.927,3,9.179,5,2.325,7,4.215,11,8.178,35,3.356,50,5.374,89,6.526,139,2.94,225,6.89,256,5.454,325,8.839,533,16.942,571,6.611,620,10.068,676,6.443,719,12.455,750,7.035,758,6.885,912,10.845,956,10.041,957,8.447,1053,12.039,1146,9.303,1204,12.954,1220,9.719,1702,12.954,2211,12.039,3711,15.69,3712,15.69,3713,13.58]],["keywords/385",[]],["title/386",[3714,1538.415]],["content/386",[11,5.267,18,4.827,37,4.315,89,5.368,95,11.171,106,6.805,117,8.921,118,9.126,119,6.737,122,11.86,129,6.314,130,6.834,131,7.995,132,9.354,133,11.086,135,7.761,195,7.875,202,5.3,225,4.027,272,7.36,273,5.235,289,15.245,302,6.156,307,7.271,320,7.875,408,7.875,443,6.805,493,8.735,533,9.903,566,9.354,758,5.664,907,9.61,920,8.26,1037,9.61,1053,9.903,1123,6.66,1151,7.185,1220,7.995,1243,11.86,1279,9.354,1291,8.406,1587,11.86,1691,11.171,2135,8.123,2194,8.735,2195,14.178,2354,9.61,2888,15.245,3715,17.614,3716,12.906,3717,12.906,3718,11.86,3719,17.614,3720,12.906,3721,12.906,3722,12.906,3723,12.906,3724,12.906,3725,12.906]],["keywords/386",[]],["title/387",[3726,1331.557]],["content/387",[1,4.489,5,1.989,6,5.179,9,5.41,10,12.069,21,4.668,28,6.416,35,1.894,46,3.636,48,2.306,50,5.552,54,5.049,60,5.72,64,2.988,74,4.873,84,2.864,89,3.682,97,3.682,110,5.402,118,6.26,125,5.572,126,5.992,143,2.726,158,3.547,171,8.589,187,6.029,195,8.189,202,6.657,221,4.331,224,2.891,274,4.873,294,6.26,302,4.223,317,4.625,351,4.408,371,5.179,398,5.874,442,5.402,493,10.969,556,5.874,573,5.41,593,5.179,642,4.489,671,3.97,676,7.983,677,7.226,720,5.992,742,3.78,794,6.793,847,6.793,848,3.78,851,7.31,852,6.299,934,4.294,1138,6.416,1139,3.941,1169,8.136,1196,5.766,1215,7.663,1218,6.416,1226,7.31,1268,10.373,1280,6.119,1294,5.112,1388,6.793,1423,5.112,1444,7.31,1778,7.31,1802,7.31,1814,6.119,1827,4.716,1881,6.793,1892,6.119,1913,6.793,1986,7.028,1990,9.277,2287,7.028,2430,6.592,2507,11.081,2570,11.617,2868,7.028,3004,8.136,3106,7.663,3140,5.666,3260,7.663,3726,7.663,3727,8.853,3728,7.663,3729,8.853,3730,8.853,3731,7.663,3732,7.663,3733,8.853,3734,8.136,3735,13.421,3736,7.663,3737,7.663,3738,7.028,3739,8.853,3740,8.853,3741,8.853,3742,8.853,3743,8.136,3744,8.853,3745,8.853]],["keywords/387",[]],["title/388",[2743,1114.932]],["content/388",[]],["keywords/388",[]],["title/389",[2745,1221.21]],["content/389",[1,2.765,4,4.09,5,2.863,10,11.038,20,4.226,42,4.617,50,2.63,54,4.378,58,6.641,59,3.369,64,6.521,66,7.131,74,4.226,75,3.278,110,4.685,143,2.364,159,4.275,169,5.564,173,3.346,184,6.339,187,6.24,188,4.226,189,3.04,194,4.486,202,8.293,220,5.392,252,6.849,296,3.857,307,4.325,309,3.756,337,5.258,339,8.914,350,1.801,394,8.954,437,6.215,446,3.547,447,2.871,465,5.307,476,4.434,535,5.564,542,7.897,543,4.914,546,9.836,561,5.891,573,5.976,647,4.325,671,3.442,677,9.807,686,7.662,698,3.468,818,8.715,822,4.275,823,9.487,894,5.564,900,4.685,958,7.38,1014,6.095,1016,8.138,1084,3.93,1180,5.001,1241,5.564,1269,7.45,1458,9.227,1623,7.056,1881,5.891,1990,8.312,2096,5.307,2636,5.891,2743,16.935,2745,17.06,2933,7.056,3273,7.056,3420,6.646,3690,11.051,3734,7.056,3743,7.056,3746,7.678,3747,7.678,3748,11.051,3749,7.678,3750,7.678,3751,7.678,3752,5.429,3753,12.026,3754,7.056,3755,7.678,3756,7.056,3757,7.678,3758,7.056,3759,7.678,3760,7.678,3761,11.038,3762,6.646,3763,7.678,3764,7.056,3765,7.678,3766,6.646,3767,6.646,3768,7.678,3769,7.056,3770,7.056,3771,7.056]],["keywords/389",[]],["title/390",[5,146.397,3772,585.741,3773,907.755]],["content/390",[5,2.931,11,5.645,16,7.071,21,7.293,46,3.784,51,3.303,58,7.307,75,3.935,97,3.833,139,3.66,158,3.692,159,5.13,187,3.427,202,3.784,205,5.541,220,6.202,252,4.258,302,6.598,307,7.793,337,5.205,339,5.541,437,4.763,446,4.258,476,5.321,546,6.114,551,6.114,675,9.47,814,7.609,823,5.897,941,6.441,1057,6.114,1140,6.002,1150,4.225,1155,5.8,1199,6.678,1448,5.897,1472,5.622,1514,7.976,1619,10.025,1624,7.976,1725,6.861,1802,11.421,1832,6.516,1881,7.071,1990,12.757,1999,7.609,2013,5.464,2155,11.973,2505,8.468,2743,15.613,2787,6.002,2936,7.976,3100,8.468,3112,8.706,3304,7.609,3748,8.468,3754,12.711,3761,12.365,3762,11.973,3766,14.374,3767,7.976,3772,9.847,3773,15.26,3774,8.468,3775,9.361,3776,12.711,3777,9.215,3778,9.215,3779,9.215,3780,9.215,3781,9.215,3782,9.215,3783,8.468,3784,9.215,3785,9.215,3786,9.215,3787,9.215,3788,8.468,3789,9.215,3790,9.215]],["keywords/390",[]],["title/391",[2743,871.939,3761,895.836]],["content/391",[5,2.054,21,7.307,28,10.043,58,5.486,64,4.678,103,8.722,143,4.267,194,5.592,197,5.486,202,7.589,285,5.269,316,9.379,337,4.344,339,11.112,391,9.799,397,11.001,408,11.275,546,9.195,571,5.839,673,6.306,676,5.691,720,9.379,812,7.715,823,11.826,1139,6.169,1240,10.633,1520,11.995,1775,11.442,2166,9.579,2743,17.86,2745,11.001,3304,11.442,3686,10.633,3756,12.735,3761,13.76,3791,13.858,3792,18.48,3793,12.735,3794,13.858,3795,13.858,3796,12.735,3797,13.858,3798,12.735]],["keywords/391",[]],["title/392",[2743,715.91,3761,735.532,3799,987.834]],["content/392",[1,3.751,5,1.924,21,10.604,58,5.139,64,4.382,74,7.144,89,5.399,91,4.726,143,3.997,171,8.307,202,7.262,279,4.299,284,6.844,285,4.936,309,6.35,336,5.079,337,4.069,371,10.345,458,11.928,459,11.928,467,7.496,542,6.915,546,8.613,671,5.82,677,6.989,686,9.139,812,9.845,849,6.406,852,6.092,958,11.607,1139,9.612,1269,8.041,1595,10.304,1881,9.96,2155,11.235,2511,8.972,2745,10.304,3761,9.665,3800,12.981,3801,12.981,3802,12.981,3803,12.981,3804,12.981,3805,12.981,3806,12.981,3807,12.981,3808,12.981,3809,12.981,3810,12.981,3811,12.981,3812,12.981,3813,11.928]],["keywords/392",[]],["title/393",[3814,1538.415]],["content/393",[1,3.881,6,9.739,54,7.912,64,4.684,69,5.645,70,5.645,88,5.398,91,5.051,119,4.83,121,4.179,129,6.788,158,5.559,162,1.51,185,4.526,224,3.021,275,5.036,279,3.064,288,11.014,302,4.413,307,5.213,316,6.262,337,5.218,339,5.564,397,7.345,429,12.774,442,5.645,542,4.929,545,8.343,554,4.736,571,5.846,612,5.564,614,4.413,671,6.221,676,3.8,695,7.637,698,4.179,701,6.706,852,9.764,1036,5.645,1050,10.056,1139,9.26,1207,5.036,1291,6.027,1404,6.706,1423,5.343,1775,11.456,1990,6.396,2535,5.093,2551,10.647,2743,17.007,2940,7.64,3059,8.503,3239,8.503,3304,7.64,3306,10.331,3761,10.331,3762,8.009,3766,8.009,3769,15.298,3770,15.298,3771,8.503,3775,9.39,3815,13.875,3816,9.253,3817,8.503,3818,9.253,3819,9.253,3820,12.01,3821,8.503,3822,7.64,3823,13.875,3824,9.253,3825,13.875,3826,13.875,3827,7.64,3828,9.253,3829,9.253,3830,9.253,3831,8.503,3832,9.253,3833,8.503]],["keywords/393",[]],["title/394",[285,457.481,3834,871.939]],["content/394",[]],["keywords/394",[]],["title/395",[1,119.902,5,95.259,136,149.179,225,200.571,278,267.343,3834,465.835]],["content/395",[1,3.894,5,3.094,35,4.866,37,5.596,45,3.423,136,5.28,142,8.409,208,4.449,221,10.211,278,9.461,280,12.931,281,12.843,332,9.212,338,8.917,1818,9.665,3834,15.128]],["keywords/395",[]],["title/396",[1,135.702,50,249.165,136,168.838,568,278.179,3834,527.223]],["content/396",[1,3.218,5,2.556,35,3.69,45,3.527,50,7.284,136,5.352,143,5.312,189,6.829,203,12.128,221,8.438,331,7.97,338,9.19,563,8.916,568,8.133,2497,12.844,2738,10.525,3834,12.501,3835,15.851,3836,17.25,3837,15.851]],["keywords/396",[]],["title/397",[1,156.3,50,286.984,568,320.402,3834,607.247]],["content/397",[5,2.518,35,3.634,45,4.308,58,8.341,136,4.89,143,5.232,189,6.726,203,12.015,221,8.311,331,7.85,337,5.325,338,9.051,447,6.354,568,8.057,695,9.351,2497,12.651,2738,10.366,3834,15.269,3835,15.613,3837,15.613,3838,16.99]],["keywords/397",[]],["title/398",[51,260.719,255,431.362,285,276.618,840,450.648,1820,558.194]],["content/398",[35,3.69,61,8.161,181,5.879,358,4.325,376,4.842,382,12.197,447,6.451,625,8.667,626,10.857,695,9.494,875,8.747,2514,14.93,3834,12.501,3839,17.25,3840,17.25,3841,17.25,3842,17.25,3843,17.25,3844,17.25,3845,17.25,3846,17.25,3847,17.25,3848,17.25,3849,17.25,3850,17.25]],["keywords/398",[]],["title/399",[285,375.617,3732,855.008,3851,735.532]],["content/399",[51,7.169,143,6.16,163,9.959,285,7.606,3732,17.314,3851,14.895,3852,20.004]],["keywords/399",[]],["title/400",[345,640.944,3851,895.836]],["content/400",[1,3.765,143,6.215,332,11.108,345,10.752,3851,15.028,3853,20.183]],["keywords/400",[]],["title/401",[3851,895.836,3854,1105.594]],["content/401",[48,4.173,51,5.743,64,5.409,129,7.839,132,11.613,143,4.934,159,8.921,165,8.537,240,5.488,285,7.723,319,10.632,322,7.133,340,5.713,374,8.537,443,8.449,676,6.581,823,10.255,1034,11.931,1773,13.476,1815,13.87,1816,14.725,2013,9.502,2278,14.725,3851,16.603,3854,14.725,3855,14.725,3856,16.024,3857,16.024,3858,16.024,3859,16.024,3860,16.024]],["keywords/401",[]],["title/402",[55,654.836,934,583.521]],["content/402",[1,2.85,5,1.45,7,2.629,9,1.341,18,1.245,21,1.755,29,2.325,35,0.712,38,1.672,39,1.832,43,3.87,45,1.215,46,5.941,48,4.739,51,2.13,52,2.907,55,9.055,56,3.87,60,1.174,61,1.574,62,4.837,63,3.74,65,3.803,69,2.03,75,1.421,78,4.275,79,1.245,88,1.295,96,1.973,119,1.737,121,2.684,125,2.094,130,2.025,133,2.094,137,2.045,139,3.529,140,1.05,143,3.462,152,1.118,153,1.287,157,2.811,162,1.835,173,4.899,174,1.537,188,1.832,189,3.875,192,0.667,194,1.007,197,1.317,200,2.094,204,4.449,207,1.811,208,0.651,217,1.087,224,3.196,225,1.854,241,1.562,252,1.537,256,1.157,257,4.202,258,3.431,271,2.001,273,1.35,277,4.57,284,3.133,308,4.717,314,3.74,317,0.949,318,0.732,333,4.008,336,2.325,345,1.773,350,0.781,358,4.011,372,2.13,373,1.614,375,2.572,376,3.156,378,4.83,383,4.202,403,2.03,404,1.28,437,1.72,443,5.927,446,1.537,447,3.011,476,1.922,494,1.811,552,2.478,562,2.252,563,1.72,564,3.803,566,2.412,568,2.272,573,2.395,580,2.061,614,1.587,621,1.792,626,2.094,628,1.492,673,1.514,674,1.898,686,1.72,695,1.832,715,2.642,742,2.537,746,1.811,748,2.353,752,1.574,758,3.533,774,1.922,775,3.741,791,2.3,808,4.289,812,1.853,813,4.768,819,1.853,848,2.537,856,4.56,882,1.947,883,1.898,919,8.081,934,6.052,937,3.199,938,3.431,958,4.008,975,2.553,977,3.389,1005,2.252,1026,2.882,1059,6.577,1065,2.353,1080,5.692,1084,5.01,1095,7.287,1104,6.647,1105,2.094,1106,7.398,1107,2.748,1108,2.642,1110,2.88,1111,2.88,1112,3.058,1114,2.167,1115,5.342,1125,2.88,1138,2.412,1148,2.353,1207,5.327,1238,2.001,1241,2.412,1259,2.252,1280,2.3,1285,4.906,1288,4.307,1339,3.271,1367,2.094,1425,2.748,1446,2.748,1460,5.461,1474,9.73,1491,2.88,1620,2.478,1627,7.398,1698,6.647,1703,7.093,1709,5.058,1714,7.949,1782,2.13,1790,4.906,1791,5.143,1827,1.773,1835,2.03,1966,5.461,2124,2.642,2141,2.412,2166,2.3,2315,2.748,2553,2.478,2655,2.642,2704,3.058,3221,2.907,3686,12.275,3861,3.058,3862,8.051,3863,3.328,3864,3.328,3865,3.328,3866,3.328,3867,3.328,3868,5.942,3869,3.328,3870,3.328,3871,3.328,3872,8.051,3873,3.328,3874,3.328,3875,4.425,3876,3.328,3877,5.942,3878,3.328,3879,5.143,3880,5.942,3881,5.942,3882,5.942,3883,5.942,3884,13.542,3885,5.942,3886,12.478,3887,5.942,3888,5.942,3889,5.942,3890,5.942,3891,3.328,3892,5.942,3893,3.328,3894,5.942,3895,2.748,3896,2.748,3897,2.748,3898,2.748,3899,2.748,3900,3.328,3901,3.328,3902,3.328,3903,3.328,3904,3.328,3905,3.058,3906,2.748,3907,3.058,3908,3.328,3909,9.787,3910,5.942,3911,5.942,3912,2.88,3913,5.942,3914,3.058,3915,5.942,3916,3.328,3917,3.328,3918,5.942,3919,5.942,3920,3.328,3921,3.328]],["keywords/402",[]],["title/403",[24,955.054,25,955.054]],["content/403",[]],["keywords/403",[]],["title/404",[1,135.702,24,577.479,25,577.479,225,227.002,234,352.83]],["content/404",[1,2.664,5,1.822,7,3.302,9,2.345,11,2.374,13,8.712,18,2.175,22,5.345,24,15.987,25,17.592,35,1.244,36,4.922,46,3.949,48,1.515,54,3.317,64,1.963,66,3.449,67,3.201,71,3.498,88,2.263,89,5.939,102,1.776,139,1.411,143,1.791,153,2.25,206,7.939,209,2.5,219,2.053,224,1.899,225,5.315,230,2.467,234,4.664,248,3.006,256,2.022,259,2.708,263,4.331,272,3.317,307,3.277,326,3.603,327,3.238,336,2.276,337,1.823,350,1.365,373,2.821,407,8.156,420,5.035,433,3.859,435,4.215,436,2.647,439,3.449,440,4.331,446,2.687,493,3.936,495,2.752,506,4.331,511,5.867,513,5.782,522,3.403,540,3.661,561,4.463,571,4.052,573,3.876,574,3.449,580,7.615,632,4.376,649,2.922,671,2.608,676,2.389,698,4.343,724,2.949,726,4.617,749,3.403,852,4.513,855,2.467,874,4.586,912,4.02,918,6.549,977,5.483,1010,4.215,1014,4.617,1037,4.331,1038,3.788,1105,6.052,1136,3.788,1208,3.132,1211,3.449,1220,8.846,1473,4.02,1519,8.496,1521,6.799,1782,3.722,1857,4.331,1942,5.345,2041,4.02,2138,4.617,2194,3.936,2195,6.799,2196,4.803,2274,4.463,2507,11.79,2571,6.969,2854,15.602,2860,5.345,2866,13.122,2871,8.836,2872,8.836,2873,5.345,2897,4.331,2906,5.345,3006,4.803,3008,5.345,3035,5.345,3075,4.463,3523,5.345,3579,11.296,3580,3.722,3705,5.345,3922,5.817,3923,5.817,3924,5.817,3925,5.817,3926,5.817,3927,5.817,3928,5.817,3929,18.026,3930,13.687,3931,5.345,3932,5.817,3933,5.817,3934,5.817,3935,9.616,3936,5.817,3937,5.035,3938,5.817,3939,5.817,3940,11.296,3941,5.817,3942,5.817,3943,5.817,3944,5.817,3945,9.616,3946,9.616,3947,5.817,3948,5.817,3949,5.817,3950,5.817,3951,5.817,3952,5.817,3953,9.616,3954,5.817,3955,5.817,3956,5.817,3957,3.788,3958,5.817,3959,5.817,3960,5.817,3961,5.817,3962,5.817,3963,5.817,3964,5.817,3965,5.817,3966,5.817,3967,5.817,3968,14.279,3969,5.817,3970,5.817,3971,5.817,3972,5.817,3973,5.817,3974,5.817,3975,9.616,3976,5.817,3977,5.817,3978,5.817,3979,5.817,3980,5.817]],["keywords/404",[]],["title/405",[1897,912.212]],["content/405",[]],["keywords/405",[]],["title/406",[0,912.212]],["content/406",[1,3.319,7,4.78,9,7.173,49,8.558,50,6.095,58,7.045,79,6.655,127,12.582,220,7.978,254,10.857,322,7.921,404,6.843,571,7.498,1025,8.487,1123,6.728,1263,9.288,1769,10.024,1892,12.299,1897,10.551,3406,16.352,3981,17.794]],["keywords/406",[]],["title/407",[58,609.061]],["content/407",[1,3.82,5,1.993,9,5.42,33,5.942,37,4.495,39,7.4,45,4.48,58,9.531,79,5.028,136,3.12,143,4.14,162,2.955,208,2.63,237,10.011,254,8.203,273,5.453,282,7.972,317,3.836,322,5.985,351,6.694,359,6.755,378,6.635,404,6.964,542,7.163,571,8.628,632,8.24,642,6.818,852,6.31,1019,7.004,1025,6.413,1029,9.744,1123,5.084,1129,5.028,1146,7.972,1247,9.293,1269,8.329,1387,11.101,1465,9.744,1782,8.604,2186,5.453,2292,10.457,2301,7.163,3235,11.637,3982,12.355]],["keywords/407",[]],["title/408",[45,314.583]],["content/408",[18,6.928,45,4.864,50,6.345,58,7.334,62,6.193,89,7.705,351,11.058,571,7.805,632,8.43,1019,7.165,1059,10.837,3983,18.525,3984,15.295]],["keywords/408",[]],["title/409",[317,438.935]],["content/409",[18,7.044,50,6.451,62,6.297,89,7.834,317,6.835,351,11.168,571,7.936,632,8.57,1019,7.284,1059,11.018,3984,15.551]],["keywords/409",[]],["title/410",[1829,811.144]],["content/410",[18,7.044,50,6.451,62,6.297,89,7.834,351,11.168,571,7.936,632,8.57,1019,7.284,1059,11.018,1829,12.631,3984,15.551]],["keywords/410",[]],["title/411",[33,679.899]],["content/411",[18,6.816,33,10.44,50,6.242,62,6.093,89,7.58,224,5.951,351,10.95,423,8.113,436,8.293,571,7.679,632,8.293,696,10.807,1019,7.049,1059,10.662,3984,15.048]],["keywords/411",[]],["title/412",[2503,1145.489]],["content/412",[1,3.268,9,7.062,192,3.509,318,3.854,325,9.869,351,8.722,571,9.046,632,9.77,920,11.211,955,15.162,956,11.211,957,9.432,959,13.906,1146,10.387,1624,15.162,2503,17.287,2513,16.098,2514,15.162,3985,17.518]],["keywords/412",[]],["title/413",[79,575.333]],["content/413",[5,3.079,42,9.99,79,9.146,273,8.427,322,7.395,571,7,632,7.56,848,7.094,1025,7.925,1207,9.043,1216,14.38,1269,10.292,1294,9.594,1307,9.474,2158,14.362,2168,11.069,2172,14.38,2182,12.156,2911,12.748,3238,14.38,3986,16.614]],["keywords/413",[]],["title/414",[47,952.996]],["content/414",[1,3.427,21,9.688,47,13.691,48,4.785,65,11.759,89,7.642,125,11.564,194,5.56,226,9.405,321,8.179,632,8.361,642,9.317,2301,9.788,2525,15.171,3987,16.885,3988,18.374]],["keywords/414",[]],["title/415",[1892,1063.343]],["content/415",[5,3.54,7,6.202,33,6.792,52,5.093,130,5.238,136,5.358,138,6.049,143,4.733,144,1.919,152,5.163,162,2.508,194,4.651,317,4.385,389,13.122,580,9.521,621,8.275,632,6.994,1170,9.113,1519,10.623,1887,13.302,1892,16.9,3234,10.198,3989,15.369]],["keywords/415",[]],["title/416",[7,413.302]],["content/416",[1,3.032,5,2.409,7,5.506,9,6.553,37,5.434,50,5.567,79,6.079,82,14.937,130,5.54,170,10.786,220,7.288,224,5.308,254,9.918,346,11.494,632,7.397,674,11.687,849,8.021,1024,11.001,1084,8.321,1123,7.75,1367,10.231,1620,12.103,2158,11.235,2174,12.904,2182,9.51,2503,12.103,2566,13.421,3990,16.255,3991,16.255,3992,16.255]],["keywords/416",[]],["title/417",[1139,535.538,2785,895.836]],["content/417",[]],["keywords/417",[]],["title/418",[0,912.212]],["content/418",[35,4.168,64,6.577,194,5.897,265,6.333,336,7.624,352,5.361,1974,9.371,2534,14.508,2785,14.508,2970,15.468]],["keywords/418",[]],["title/419",[1820,1180.425]],["content/419",[9,6.6,10,12.191,164,3.478,180,4.672,194,4.955,195,9.99,199,12.191,223,10.071,321,7.288,332,9.012,336,6.406,340,5.838,447,6.123,545,9.845,575,9.455,620,8.226,941,7.624,1269,10.143,1313,13.519,1472,12.562,2535,9.012,2785,12.191,3772,9.709,3993,18.758,3994,17.82,3995,13.519]],["keywords/419",[]],["title/420",[3996,1538.415]],["content/420",[5,2.537,9,6.901,78,6.509,121,7.732,130,5.835,194,5.181,428,13.323,570,10.015,676,7.03,681,12.747,830,11.359,840,10.605,1061,12.747,2122,13.589,2535,12.648,3405,13.589,3772,10.151,3855,15.731,3993,19.057,3997,17.119]],["keywords/420",[]],["title/421",[3993,1221.21]],["content/421",[52,3.059,102,4.009,124,6.722,130,6.075,159,7.311,164,2.789,180,3.747,189,5.199,195,10.874,208,2.568,322,5.845,340,6.354,349,4.191,358,3.293,493,8.887,622,9.077,676,5.393,717,7.311,724,6.659,843,8.135,848,5.607,874,6.263,922,8.135,941,6.115,1019,5.079,1208,7.07,2042,7.787,2168,6.996,2390,11.826,2421,7.488,2535,7.228,2554,10.842,2752,10.842,2785,9.778,2787,8.553,2831,11.04,3143,9.778,3230,10.842,3420,11.366,3772,10.568,3982,12.067,3993,19.808,3998,13.132,3999,12.067,4000,17.823,4001,20.231,4002,12.067,4003,13.132]],["keywords/421",[]],["title/422",[3994,1331.557]],["content/422",[7,2.506,35,3.579,84,3.018,102,2.848,108,5.971,111,7.703,130,5.702,144,1.165,153,3.608,164,1.982,173,4.066,185,4.564,194,5.62,225,6.941,252,4.31,255,9.92,258,5.387,284,4.919,292,3.761,302,4.45,317,2.662,321,4.153,322,4.153,327,5.194,332,5.135,340,6.621,352,6.119,396,6.597,436,4.245,545,5.61,562,6.314,563,4.822,574,5.532,583,9.448,615,4.604,637,5.872,700,5.628,750,6.26,752,4.414,843,5.779,848,3.983,855,5.921,856,7.158,874,6.659,921,7.406,922,5.779,1123,3.528,1150,6.401,1199,6.761,1279,6.761,1472,8.518,1692,7.703,2122,7.406,2168,4.97,2354,10.395,2421,7.961,2556,8.075,2752,7.703,2831,5.779,3014,8.075,3345,12.457,3405,13.28,3772,5.532,3993,18.903,3994,20.611,4004,9.329,4005,9.329,4006,9.329,4007,9.329,4008,16.73,4009,9.329,4010,9.329,4011,9.329]],["keywords/422",[]],["title/423",[337,262.624,1531,579.149,3775,567.053,4012,623.89]],["content/423",[]],["keywords/423",[]],["title/424",[907,1145.489]],["content/424",[5,1.841,6,4.683,18,2.994,29,3.132,48,5.521,49,3.85,64,2.702,88,5.922,92,10.753,97,3.329,106,8.027,126,5.417,139,2.234,145,3.643,152,4.173,158,3.207,171,5.123,200,5.038,220,3.589,259,10.358,302,3.818,337,2.509,339,4.813,340,2.854,372,7.95,382,5.66,392,5.66,398,5.311,423,3.563,454,7.95,542,4.264,561,9.532,570,7.268,581,9.862,592,4.959,621,6.689,666,5.311,675,13.118,742,3.418,746,4.357,789,4.884,792,9.003,794,6.142,907,5.96,1113,5.038,1120,9.003,1240,9.532,1263,4.178,1279,5.801,1308,5.801,1310,5.96,1364,7.356,1385,5.533,1404,5.801,1481,6.609,1631,6.929,1694,6.609,1729,6.142,1791,10.753,2135,7.819,2205,10.753,2428,9.003,2744,13.177,2816,11.416,3112,7.819,3278,5.96,3397,7.356,3752,13.898,3775,5.417,3783,7.356,3793,7.356,3827,10.257,3937,6.929,3957,9.916,3995,6.609,4013,8.005,4014,7.356,4015,8.005,4016,13.99,4017,6.609,4018,15.224,4019,8.005,4020,8.005,4021,8.005,4022,8.005,4023,8.005,4024,12.423,4025,12.423,4026,12.423,4027,12.423,4028,8.005,4029,8.005,4030,7.356,4031,7.356,4032,6.929,4033,8.005,4034,7.356,4035,12.423,4036,8.005,4037,8.005,4038,7.356,4039,8.005,4040,8.005,4041,8.005,4042,7.356,4043,7.356]],["keywords/424",[]],["title/425",[219,424.602,1619,871.939]],["content/425",[88,9.157,187,6.725,197,7.158,370,10.871,436,8.227,443,9.533,511,11.031,546,11.996,718,11.996,2141,13.103,2548,11.379,3752,12.784,4044,18.079,4045,18.079,4046,18.079,4047,14.927,4048,15.648]],["keywords/425",[]],["title/426",[186,343.271,230,510.284]],["content/426",[5,3.088,9,4.214,84,4.912,88,8.457,89,4.348,97,4.348,119,7.925,134,8.631,135,6.286,139,2.623,143,3.219,145,9.483,162,1.706,187,5.647,194,3.164,221,5.114,272,5.961,314,6.579,337,4.759,362,5.07,404,4.02,420,9.048,436,6.909,438,16.702,439,9.003,511,11.971,546,6.936,615,5.159,671,4.687,675,8.658,700,6.121,761,5.457,789,12.715,941,4.868,1038,6.809,1200,5.889,1208,5.628,1229,6.809,1268,9.717,1591,9.606,1782,6.69,1830,7.226,1835,6.378,1990,10.494,2141,7.576,2832,13.952,2852,7.576,3137,8.298,3145,7.784,3306,11.305,3614,8.631,3689,9.048,3752,7.392,3775,7.075,3796,13.952,3930,9.048,4047,8.631,4049,10.454,4050,9.606,4051,10.454,4052,10.454,4053,15.183,4054,10.454,4055,10.454,4056,10.454,4057,9.606,4058,10.454,4059,10.454]],["keywords/426",[]],["title/427",[232,578.625,4060,1105.594]],["content/427",[5,2.82,78,5.506,88,8.778,115,9.432,152,4.865,159,8.062,185,7.084,187,8.393,205,8.708,320,8.835,337,4.539,439,8.587,467,8.362,511,8.835,551,9.608,615,7.146,675,8.258,686,7.484,813,8.069,1024,9.8,1120,10.495,1221,11.111,1268,12.176,1446,11.956,2390,9.608,2548,9.114,2578,11.111,2830,11.111,2831,8.97,3306,10.782,3669,11.111,3752,13.452,3767,12.534,3775,9.8,3905,13.307,4060,17.483,4061,13.307,4062,13.307,4063,14.481]],["keywords/427",[]],["title/428",[88,384.268,234,479.104,686,510.562]],["content/428",[51,6.639,88,9.253,187,6.89,224,6.049,332,10.196,436,8.43,443,9.767,570,10.837,700,7.468,794,14.214,3752,13.099,4064,18.525,4065,18.338]],["keywords/428",[]],["title/429",[29,386.508,88,384.268,454,632.185]],["content/429",[5,1.958,48,4.66,49,6.353,88,7.894,143,4.067,221,6.461,240,4.524,337,4.14,387,12.652,394,9.835,434,5.717,447,4.94,454,13.919,552,9.835,570,7.727,581,14.204,584,11.433,593,7.727,686,9.248,752,6.249,758,5.797,789,8.059,907,9.835,928,9.34,1173,12.138,1187,9.34,1229,8.603,1398,12.138,1597,11.433,1631,11.433,1694,10.906,1704,9.34,1827,7.037,2124,10.485,2430,9.835,2548,8.313,2551,13.729,2904,11.433,3775,8.939,3833,12.138,3995,10.906,4016,16.443,4042,12.138,4043,12.138,4048,11.433,4066,13.209,4067,13.209,4068,13.209,4069,13.209,4070,13.209,4071,17.893,4072,13.209,4073,13.209]],["keywords/429",[]],["title/430",[88,384.268,1066,556.491,4074,987.834]],["content/430",[5,1.935,48,3.4,49,6.279,88,8.806,106,9.36,118,9.232,156,8.503,157,6.177,163,6.5,187,6.603,197,5.169,252,6.032,443,6.884,511,10.831,615,6.443,675,7.445,702,8.355,718,8.663,792,9.462,822,7.269,823,8.355,843,8.088,1120,9.462,1207,7.106,1221,15.477,1238,10.675,1240,10.018,1472,7.966,1531,9.024,1598,11.997,2205,11.3,2301,10.746,2385,9.721,2393,11.3,2498,10.018,3015,11.997,3243,10.78,3278,9.721,3820,11.3,3827,10.78,4012,9.721,4032,11.3,4075,21.646,4076,13.056,4077,11.997,4078,16.313,4079,13.056,4080,13.056,4081,13.056,4082,13.056,4083,13.056]],["keywords/430",[]],["title/431",[64,245.557,542,387.551,1926,465.565,4084,727.478,4085,727.478]],["content/431",[5,1.799,48,5.057,54,6.924,88,6.57,97,8.731,106,6.402,112,5.94,115,13.672,133,7.642,143,3.739,158,4.865,187,4.516,197,4.807,259,5.654,438,12.575,542,12.482,567,8.8,596,8.393,675,6.924,686,8.729,698,7.628,700,4.895,718,8.057,743,7.771,813,5.15,1037,9.041,1089,7.908,1115,8.057,1221,9.317,1268,12.427,1385,8.393,1575,10.025,1597,10.509,2292,7.012,2301,6.469,2430,12.575,2609,11.158,3669,9.317,3752,11.941,3937,10.509,4017,16.033,4031,11.158,4047,10.025,4086,12.142,4087,16.888,4088,12.142,4089,12.142,4090,10.509,4091,12.142,4092,12.142,4093,20.991,4094,12.142]],["keywords/431",[]],["title/432",[88,384.268,372,632.185,697,483.229]],["content/432",[5,2.492,48,2.45,49,4.524,64,4.742,80,5.827,84,3.044,88,8.674,106,4.96,151,3.702,152,5.648,158,3.769,187,6.936,220,4.218,222,5.657,224,3.072,259,6.541,271,5.657,285,3.577,302,6.701,321,4.187,337,5.845,372,6.02,397,7.468,401,7.767,429,14.309,434,4.071,436,4.281,438,7.005,439,8.33,454,6.02,511,11.378,542,5.012,561,7.218,581,11.152,596,6.502,615,8.297,666,6.242,671,4.218,675,5.364,686,4.862,700,3.792,718,9.321,719,7.468,735,7.468,752,4.451,789,10.258,801,7.468,821,6.242,1007,7.005,1279,6.818,1314,8.645,1472,5.74,1531,6.502,1542,8.645,1619,6.818,2124,7.468,2393,8.142,2430,7.005,2503,7.005,2578,12.901,2787,6.127,2868,7.468,2904,8.142,2925,7.468,2936,8.142,3106,8.142,3306,7.005,3752,9.933,3775,12.62,3817,12.909,3930,8.142,4012,7.005,4057,8.645,4061,8.645,4062,8.645,4077,8.645,4078,12.909,4090,8.142,4095,14.048,4096,9.407,4097,9.407,4098,9.407,4099,9.407,4100,9.407,4101,8.645,4102,9.407,4103,9.407,4104,9.407,4105,9.407,4106,9.407,4107,9.407,4108,9.407]],["keywords/432",[]],["title/433",[97,410.861,1363,698.474,4017,815.611]],["content/433",[64,6.006,97,9.016,187,8.062,436,8.097,439,10.551,467,10.275,546,11.807,813,7.547,1019,6.882,1024,12.042,1268,11.388,1269,11.023,1446,14.692,3306,13.249,4017,17.897,4047,14.692,4109,17.794,4110,17.794]],["keywords/433",[]],["title/434",[337,163.411,698,235.482,795,232.069,1269,322.965,1531,360.362,2578,400.04,4012,388.2,4050,479.097]],["content/434",[5,1.87,37,4.218,64,4.259,65,8.075,66,10.284,69,7.698,88,8.702,91,4.594,145,9.017,164,2.68,171,8.075,220,5.657,337,5.436,397,17.757,429,9.682,454,11.099,494,6.868,584,10.921,686,6.521,698,5.699,1170,7.482,1263,6.586,1269,7.816,1472,10.581,1493,9.395,1531,11.987,1694,10.418,1729,15.205,2578,9.682,2753,11.595,3251,10.016,3731,10.921,3752,15.088,3775,11.737,4012,14.755,4014,18.21,4034,11.595,4048,10.921,4065,10.418,4111,12.618,4112,12.618,4113,12.618,4114,12.618,4115,12.618,4116,12.618,4117,12.618,4118,12.618,4119,12.618]],["keywords/434",[]],["title/435",[268,593.994,1123,373.527,1531,682.785]],["content/435",[5,3.137,88,8.234,89,7.12,111,14.134,145,9.632,155,8.763,224,5.59,296,8.601,339,10.294,423,7.62,437,8.848,438,12.747,628,7.675,1123,8.004,1493,12.747,1531,11.832,2744,14.817,3137,13.589,3146,15.731,4012,12.747,4090,14.817,4101,15.731]],["keywords/435",[]],["title/436",[809,537.657,1531,682.785,3820,855.008]],["content/436",[89,7.967,126,12.963,129,9.37,337,6.004,1038,12.475,1229,12.475,1432,14.697,3137,15.205,3731,16.579,3775,12.963,4120,19.154,4121,19.154]],["keywords/436",[]],["title/437",[2902,698.474,3165,907.755,4122,815.611]],["content/437",[80,11.111,88,6.977,129,10.655,185,8.774,337,5.622,438,13.355,466,15.524,467,10.357,1113,11.288,1531,12.397,2902,12.682,3306,13.355,3307,16.482,3775,12.138,4012,13.355,4122,14.809,4123,17.936,4124,17.936,4125,17.936]],["keywords/437",[]],["title/438",[1368,871.939,3296,1041.352]],["content/438",[]],["keywords/438",[]],["title/439",[0,912.212]],["content/439",[1,3.772,9,6.414,30,15.715,54,9.073,67,11.128,121,7.187,136,5.158,194,4.815,248,8.224,307,8.963,571,6.704,615,7.852,901,9.708,1035,11.25,1098,16.549,1368,16.107,1769,8.963,2292,9.188,2511,10.998,2520,13.137,2574,14.621,2575,14.621,3296,17.5,3347,14.621,4126,15.911]],["keywords/439",[]],["title/440",[136,279.23,3081,993.368]],["content/440",[1,4.176,5,1.69,30,8.064,33,5.041,37,3.813,39,6.277,41,5.895,50,3.906,51,4.088,54,6.504,58,6.399,60,7.608,64,3.85,78,4.337,79,8.372,91,4.152,102,3.482,130,3.887,136,2.647,162,1.861,194,3.452,197,4.515,202,4.684,226,5.838,254,9.861,255,6.763,279,3.777,290,6.425,333,5.678,338,6.076,350,2.676,484,10.938,494,6.208,554,5.838,561,8.751,571,6.81,573,4.598,674,6.504,677,8.702,699,8.266,754,6.858,849,5.628,852,5.353,1007,8.492,1095,13.977,1098,12.034,1200,10.575,1368,17.045,1384,10.481,1386,7.719,1703,11.713,1789,4.744,2517,13.989,2520,9.417,2551,8.751,2578,12.401,3075,8.751,3083,10.481]],["keywords/440",[]],["title/441",[3234,1020.777]],["content/441",[1,3.268,18,6.551,51,6.278,67,9.641,102,5.347,136,5.388,338,9.332,594,9.535,855,7.43,956,11.211,1019,6.775,1139,7.798,1155,11.025,1368,12.696,1897,10.387,2168,9.332,3234,15.405,4127,11.623,4128,16.098]],["keywords/441",[]],["title/442",[2292,888.374]],["content/442",[136,4.602,594,10.792,621,10.675,1019,7.669,1368,14.37,2168,10.563,2292,13.351]],["keywords/442",[]],["title/443",[2301,819.563]],["content/443",[1,3.456,102,5.655,136,5.155,338,9.869,621,9.974,956,11.855,1019,7.165,1139,8.246,1155,11.659,1897,10.984,2168,9.869,2301,11.832,3242,13.099,4128,17.023]],["keywords/443",[]],["title/444",[35,211.306,1139,439.706,3140,632.185]],["content/444",[]],["keywords/444",[]],["title/445",[0,912.212]],["content/445",[1,3.373,35,5.233,151,7.115,174,10.112,187,6.725,220,8.106,224,5.904,279,5.987,322,8.048,789,11.031,1150,8.289,1974,8.695,2434,11.775,2631,13.462,3140,11.57]],["keywords/445",[]],["title/446",[224,392.872,855,510.284]],["content/446",[5,2.556,35,4.932,55,9.389,139,3.121,174,7.97,217,5.633,224,7.529,256,5.996,284,9.095,296,8.667,349,5.505,350,4.047,803,9.389,819,9.604,855,7.316,931,13.693,1113,13.386,3140,11.039,4129,15.851]],["keywords/446",[]],["title/447",[35,257.359,53,564.649]],["content/447",[1,2.464,5,1.958,9,5.325,35,5.013,38,6.636,53,6.199,64,6.849,75,5.64,88,5.138,91,4.809,119,6.895,121,5.966,138,5.199,144,2.533,151,8.946,153,5.109,159,9.962,160,3.441,189,5.229,192,3.584,207,11.045,224,4.313,240,4.524,259,8.332,279,4.374,282,7.832,318,3.936,322,5.88,378,6.518,543,8.453,544,8.313,744,6.199,941,6.15,1297,9.34,1897,7.832,1965,11.433,1974,6.353,2136,9.573,2434,8.603,2435,9.573,2436,12.138,2437,12.138,2569,9.835,4130,13.209,4131,13.209]],["keywords/447",[]],["title/448",[1139,535.538,3225,831.594]],["content/448",[]],["keywords/448",[]],["title/449",[0,912.212]],["content/449",[35,3.837,88,6.977,102,5.475,107,12.682,124,9.181,125,11.288,194,5.428,221,8.774,224,5.857,336,7.018,352,4.934,447,6.708,672,11.288,896,11.682,1068,14.238,1113,11.288,1974,8.626,3225,12.397,3228,16.218]],["keywords/449",[]],["title/450",[1084,615.868,3228,895.836]],["content/450",[1,3.099,78,6.318,106,8.76,124,8.505,130,7.727,162,2.712,167,8.347,185,8.127,189,6.578,204,5.924,431,15.268,675,9.474,681,15.471,1019,6.426,1036,10.137,1084,8.505,1161,12.041,1404,12.041,2831,12.871,3228,18.574,4132,15.268]],["keywords/450",[]],["title/451",[376,337.717,2787,783.61]],["content/451",[]],["keywords/451",[]],["title/452",[672,968.26]],["content/452",[1,2.478,9,5.356,20,7.313,45,2.717,48,4.679,52,3.095,64,4.485,102,4.056,130,6.937,139,1.949,144,1.659,189,5.26,194,5.436,208,3.514,217,4.339,220,5.957,224,6.646,256,4.619,273,5.389,336,5.199,355,7.989,358,5.103,378,6.557,404,5.11,446,6.139,542,7.078,592,8.231,593,7.773,672,14.774,709,8.992,718,8.816,748,9.395,941,6.187,958,8.944,1019,5.139,1065,9.395,1200,7.485,2123,12.21,2159,6.337,2428,9.629,2771,8.231,2925,10.547,3089,10.547,3225,9.184,4133,10.547,4134,8.816,4135,13.287,4136,13.287,4137,13.287]],["keywords/452",[]],["title/453",[102,469.612]],["content/453",[102,7.365,121,8.651,130,6.528,152,6.434,217,6.255,224,6.255,256,6.658,2787,12.475,3089,15.205,3225,13.239]],["keywords/453",[]],["title/454",[2831,952.996]],["content/454",[35,2.876,37,6.054,40,11.677,53,6.31,121,8.179,136,3.12,137,4.628,139,2.657,142,6.755,165,7.163,217,4.39,224,4.39,225,5.651,252,6.212,256,4.674,285,5.112,290,7.574,298,11.101,322,8.061,327,7.485,332,9.967,349,4.291,352,3.699,355,8.085,701,9.744,845,8.329,922,8.329,1021,9.507,1068,10.673,1087,11.101,1123,5.084,1445,10.673,1769,7.574,2168,7.163,2787,11.794,2831,13.572,3225,14.153,3226,14.952,3228,10.011,4138,13.445,4139,13.445,4140,16.906,4141,10.673,4142,13.445,4143,11.637]],["keywords/454",[]],["title/455",[742,421.771,1423,570.435,3228,735.532]],["content/455",[20,4.816,33,5.879,37,2.925,51,3.136,53,4.107,64,2.954,66,7.888,89,5.533,91,3.186,93,6.048,130,2.982,150,7.062,152,2.939,155,4.479,164,1.859,183,6.623,221,4.28,223,6.507,224,5.255,225,5.61,256,6.25,273,5.395,292,5.362,322,3.895,327,4.872,336,3.424,376,2.456,404,3.365,436,8.181,443,4.614,447,3.272,492,6.187,503,10.891,570,5.119,612,9.677,643,3.982,653,5.119,753,7.888,819,4.872,836,5.262,849,4.318,920,5.6,922,5.421,931,6.946,977,4.99,1084,4.479,1123,6.085,1184,5.507,1195,5.6,1220,5.421,1222,6.714,1238,5.262,1472,9.819,1592,10.207,1662,5.6,1704,9.406,1974,4.208,2203,8.041,2525,15.967,2568,5.922,2665,10.56,2787,5.699,2831,14.347,3089,10.56,3150,5.6,3226,18.447,3228,14.399,3772,5.189,4132,20.531,4144,8.75,4145,14.844,4146,8.75,4147,8.75,4148,8.75,4149,16.093,4150,16.093,4151,13.302]],["keywords/455",[]],["title/456",[2417,1270.201]],["content/456",[]],["keywords/456",[]],["title/457",[0,912.212]],["content/457",[1,3.054,5,2.427,35,3.502,45,3.348,67,11.331,84,5.297,137,7.086,207,8.912,208,3.202,278,6.81,349,6.57,467,13.005,722,13.661,849,10.16,855,6.944,859,12.563,958,8.152,1050,11.866,1731,12.563,2417,13.519,4152,16.373,4153,16.373,4154,22.521]],["keywords/457",[]],["title/458",[48,313.337,359,604.466]],["content/458",[]],["keywords/458",[]],["title/459",[0,912.212]],["content/459",[48,6.261,121,8.578,194,5.748,224,6.202,277,4.049,358,4.762,359,9.542,621,10.226,1021,13.429,1448,12.155,1769,10.7]],["keywords/459",[]],["title/460",[48,257.267,359,496.3,2159,471.164]],["content/460",[]],["keywords/460",[]],["title/461",[136,229.264,358,247.676,2159,471.164]],["content/461",[7,3.634,50,8.834,51,4.847,59,5.936,72,7.132,162,3.584,322,8.093,349,5.802,350,3.173,378,6.675,404,5.201,573,8.279,749,7.913,848,7.763,849,11.644,855,5.737,1019,8.863,1026,8.818,1498,12.305,2168,9.686,2301,9.686,2421,10.368,3242,12.856,4155,10.737,4156,11.707]],["keywords/461",[]],["title/462",[622,831.594,1084,615.868]],["content/462",[1,2.601,5,2.066,7,4.985,18,6.939,48,4.833,84,4.511,130,4.753,157,6.597,273,8.459,277,3.955,279,4.618,298,11.513,317,3.978,349,6.655,404,5.362,622,16.793,674,7.951,699,10.105,843,8.638,855,5.914,896,13.583,958,6.942,1019,8.066,1026,6.763,1387,11.513,2168,9.885,2421,10.581,2971,12.069,2984,11.069,3140,8.924,4127,12.312,4157,18.556,4158,13.944,4159,13.944]],["keywords/462",[]],["title/463",[35,257.359,347,798.304]],["content/463",[]],["keywords/463",[]],["title/464",[0,912.212]],["content/464",[1,2.907,5,2.309,35,5.404,45,3.186,49,7.494,140,2.033,187,5.795,208,3.048,265,5.064,277,3.321,347,10.339,349,4.972,378,7.689,542,8.301,699,11.292,700,6.281,749,9.115,852,7.313,855,6.609,1024,10.545,1026,7.557,1031,10.339,1151,8.675,1307,8.885,1789,6.481,1974,7.494,2428,11.292,2631,11.602,3121,10.339,3140,14.085]],["keywords/464",[]],["title/465",[35,211.306,347,655.452,2159,471.164]],["content/465",[]],["keywords/465",[]],["title/466",[358,247.676,383,515.619,2159,471.164]],["content/466",[52,4.462,140,3.148,345,12.07,423,8.526,741,12.055,803,10.425,4160,19.154,4161,19.154,4162,19.154]],["keywords/466",[]],["title/467",[35,257.359,700,485]],["content/467",[18,4.469,35,5.239,45,4.263,52,3.89,53,5.608,59,7.329,84,3.866,140,2.72,141,8.166,144,2.085,153,4.622,157,5.653,159,6.652,174,5.521,197,4.731,224,3.902,226,6.117,232,5.747,277,2.547,305,9.192,309,5.845,349,3.813,362,5.795,376,3.354,378,5.897,404,4.595,423,8.57,436,8.761,699,8.66,700,4.817,749,11.263,852,5.608,855,9.639,1019,4.622,1026,8.1,1036,7.291,1123,7.28,1151,9.298,1307,9.524,1974,5.747,3121,11.081,3140,12.321,4127,7.929]],["keywords/467",[]],["title/468",[35,257.359,94,713.4]],["content/468",[35,4.744,38,6.962,52,3.228,64,6.238,94,10.958,102,4.23,140,2.894,144,1.73,145,6.306,150,8.11,152,4.655,153,7.147,209,5.957,243,5.329,279,4.589,323,8.722,345,7.383,349,4.422,351,6.9,352,3.813,376,3.89,423,8.226,436,6.306,574,10.958,653,8.107,661,8.869,700,8.381,717,10.288,741,8.722,765,10.043,803,7.543,855,5.878,1150,6.354,1155,8.722,1175,11.826,1211,8.217,1735,8.217,2159,6.61,3140,8.869,4163,13.858,4164,13.858]],["keywords/468",[]],["title/469",[158,482.063,1246,723.452]],["content/469",[]],["keywords/469",[]],["title/470",[0,912.212]],["content/470",[4,8.417,38,10.113,39,8.696,53,7.415,60,5.576,97,6.571,111,13.045,131,9.787,158,9.652,185,7.729,187,5.877,208,3.09,277,3.368,284,8.331,323,9.944,345,8.417,358,5.554,621,8.507,1200,8.901,1238,9.501,1241,11.45,1246,9.501,2042,9.369,2628,11.172,2629,9.369,2636,12.123,2787,10.291,4165,13.675,4166,15.8,4167,11.764]],["keywords/470",[]],["title/471",[158,395.8,1246,593.994,2159,471.164]],["content/471",[]],["keywords/471",[]],["title/472",[136,229.264,358,247.676,2159,471.164]],["content/472",[1,3.031,7,5.718,38,4.466,39,4.892,45,1.818,50,8.321,51,3.185,52,2.07,59,3.9,64,4.544,72,4.686,78,3.38,97,5.599,102,2.713,138,3.498,142,4.466,158,9.315,162,3.178,194,2.69,208,1.738,224,4.396,243,3.418,265,2.889,277,2.869,302,4.239,322,8.067,345,11.338,349,5.784,350,3.158,351,6.702,358,5.336,378,4.386,404,5.177,442,5.423,447,3.324,573,5.426,698,4.015,749,5.2,848,5.747,849,10.111,855,3.77,977,5.068,1019,8.231,1026,8.79,1123,5.09,1498,9.11,2042,5.27,2168,9.655,2301,7.171,2421,10.335,2831,8.339,3098,6.285,3242,11.488,4155,7.056,4168,8.888,4169,8.888,4170,8.888,4171,8.888,4172,6.82]],["keywords/472",[]],["title/473",[158,482.063,358,301.656]],["content/473",[1,1.56,5,1.904,18,3.127,37,2.795,38,6.455,39,4.602,40,8.922,41,4.321,45,2.627,51,4.604,52,3.644,69,5.101,97,5.344,121,3.776,144,1.604,157,3.956,158,9.177,159,4.655,162,2.554,173,5.599,185,4.09,243,3.215,244,4.941,254,5.101,258,4.828,265,2.718,277,4.039,282,4.958,284,4.408,290,4.71,292,3.37,296,6.455,317,2.386,322,3.722,332,4.602,340,2.981,345,10.657,346,11.063,349,6.648,358,6.196,423,7.816,425,4.055,436,3.805,503,5.658,575,4.828,583,5.658,636,6.415,643,5.846,673,3.805,674,4.768,704,5.658,734,7.237,790,6.577,819,4.655,849,4.126,958,6.397,1019,6.052,1117,7.683,1246,9.408,1400,5.779,1737,6.059,1827,4.454,1830,8.88,1972,7.237,2168,6.844,2182,4.891,2563,4.655,2596,9.858,2628,11.063,2629,9.278,2636,6.415,3098,5.912,3123,7.237,3126,7.683,3168,7.237,3230,6.903,3392,6.903,4172,6.415,4173,8.361,4174,11.12,4175,7.683,4176,8.361,4177,7.683,4178,8.361,4179,8.361,4180,8.361]],["keywords/473",[]],["title/474",[60,424.602,158,482.063]],["content/474",[5,2.863,38,9.706,41,9.985,60,6.818,158,7.74,322,8.599,433,12.818,1200,10.883,2787,14.831,4167,14.384]],["keywords/474",[]],["title/475",[48,313.337,1788,814.224]],["content/475",[]],["keywords/475",[]],["title/476",[0,912.212]],["content/476",[6,9.792,35,3.58,39,9.212,48,5.436,84,5.415,136,3.885,144,2.089,153,6.474,203,9.545,208,3.274,224,5.466,259,9.72,277,3.568,358,5.234,558,12.13,564,10.712,621,9.012,632,7.616,1310,12.463,1493,12.463,1788,14.127,1827,8.917,2353,14.487,3219,13.287,4181,15.381]],["keywords/476",[]],["title/477",[48,257.267,1788,668.524,2159,471.164]],["content/477",[]],["keywords/477",[]],["title/478",[136,229.264,358,247.676,2159,471.164]],["content/478",[50,8.835,51,4.679,59,5.729,72,6.884,162,3.533,203,10.123,322,7.902,349,5.665,350,3.063,358,3.273,378,6.443,404,5.021,573,8.131,632,5.941,749,7.638,848,7.58,849,11.524,855,5.537,1019,8.756,1026,8.61,1498,12.014,2168,9.457,2301,9.457,2421,10.123,3242,12.552,4155,10.364,4182,13.056,4183,13.056,4184,13.056]],["keywords/478",[]],["title/479",[358,247.676,383,515.619,2159,471.164]],["content/479",[45,3.61,139,2.59,162,2.881,203,10.068,275,9.609,277,3.763,322,7.859,358,5.409,425,8.563,591,14.015,649,8.87,859,13.547,1123,6.676,1148,12.483,2902,12.483,4181,16.224,4185,17.655,4186,17.655,4187,17.655,4188,17.655,4189,17.655]],["keywords/479",[]],["title/480",[203,563.308,358,247.676,855,418.972]],["content/480",[]],["keywords/480",[]],["title/481",[4190,1203.126,4191,1203.126]],["content/481",[18,5.787,48,4.03,59,8.717,102,6.063,187,5.756,217,6.486,224,7.816,256,6.905,340,5.517,358,3.88,376,5.576,378,9.802,558,11.215,573,8.007,803,8.422,1019,7.682,1113,14.567,1788,10.472,2042,11.778,2168,8.244,2421,11.327,4129,18.253]],["keywords/481",[]],["title/482",[1084,428.911,1988,769.972,4192,837.897,4193,837.897]],["content/482",[7,4.751,45,4.112,48,3.381,102,5.398,160,3.4,187,4.828,208,3.459,265,5.747,273,7.172,277,4.816,340,4.628,350,4.149,358,5.845,378,6.406,436,5.907,621,6.989,623,14.6,628,9.682,683,9.96,855,9.159,958,6.463,977,10.084,1025,9.592,1050,9.407,1084,9.052,1123,4.908,1151,11.196,1307,11.468,1788,8.785,2246,9.665,2696,11.928,3635,11.928,4194,20.111]],["keywords/482",[]],["title/483",[358,301.656,977,686.078]],["content/483",[53,8.351,275,9.685,322,7.921,358,6.36,922,11.023,977,12.361,1019,8.384,1026,8.63,1084,9.109,2168,11.548,3242,15.327,4002,16.352]],["keywords/483",[]],["title/484",[358,301.656,852,564.649]],["content/484",[18,7.494,48,4.086,188,8.635,194,4.748,275,8.54,322,6.984,358,6.265,376,4.404,621,10.789,852,11.281,1019,8.998,1026,9.719,1123,5.933,2168,10.676,2421,11.427,4127,13.297,4195,19.111]],["keywords/484",[]],["title/485",[259,560.208,358,301.656]],["content/485",[38,8.226,42,9.845,53,7.684,67,11.331,102,4.998,136,3.8,144,2.044,194,4.955,256,5.692,259,11.338,322,7.288,327,9.115,351,8.152,358,4.105,400,15.046,791,11.317,1019,6.333,1025,9.82,1123,6.191,1269,10.143,2292,9.455,2911,12.563,3180,13.519,3295,16.999,4196,16.373]],["keywords/485",[]],["title/486",[277,256.462,359,604.466]],["content/486",[]],["keywords/486",[]],["title/487",[0,912.212]],["content/487",[40,9.474,45,3.397,50,5.691,51,7.447,52,3.87,88,6.463,152,5.581,158,6.657,208,3.25,265,5.4,277,4.429,349,6.631,358,5.684,359,10.439,423,7.395,542,8.851,1019,6.426,1423,9.594,1863,13.189,2563,9.25,2628,11.748,2629,9.852,2649,10.633,3278,12.371]],["keywords/487",[]],["title/488",[277,210.57,359,496.3,2159,471.164]],["content/488",[]],["keywords/488",[]],["title/489",[136,229.264,358,247.676,2159,471.164]],["content/489",[7,5.103,50,7.721,51,6.807,350,4.456,849,9.372,1023,14.573,1123,7.182,1769,10.7,4155,15.077,4197,17.453,4198,18.993,4199,18.993]],["keywords/489",[]],["title/490",[358,247.676,1769,556.491,2159,471.164]],["content/490",[62,6.245,137,7.682,345,9.951,351,9.3,358,5.985,568,7.142,647,10.522,4200,23.872,4201,18.678,4202,18.678]],["keywords/490",[]],["title/491",[277,256.462,855,510.284]],["content/491",[41,8.984,45,3.555,53,8.158,157,8.224,277,4.932,322,7.737,358,5.358,359,8.733,376,4.879,404,6.685,436,7.91,573,8.614,746,9.461,1019,6.723,1151,9.678,1200,9.792,1307,9.912,2159,8.291,2384,14.352,4167,12.943]],["keywords/491",[]],["title/492",[1423,888.374]],["content/492",[208,3.684,265,6.122,322,8.384,358,5.624,493,12.746,542,10.034,573,7.592,855,7.988,1019,7.284,1423,12.953,2421,12.791]],["keywords/492",[]],["title/493",[53,564.649,612,723.452]],["content/493",[]],["keywords/493",[]],["title/494",[0,912.212]],["content/494",[1,3.346,35,3.837,53,8.418,61,11.098,136,5.444,188,9.871,252,8.287,277,3.823,278,9.059,378,8.851,612,10.785,620,9.011,631,13.762,852,8.418,898,11.901]],["keywords/494",[]],["title/495",[136,229.264,358,247.676,2159,471.164]],["content/495",[51,8.616,61,10.665,130,6.473,336,7.431,404,7.304,848,8.109,4203,18.993,4204,18.993,4205,18.993,4206,18.993]],["keywords/495",[]],["title/496",[136,279.23,2292,694.758]],["content/496",[52,3.786,53,10.534,61,10.619,62,6.852,136,5.639,197,6.435,265,5.283,278,9.336,351,8.093,373,9.94,612,9.774,1025,7.753,1026,7.884,1058,9.387,1385,11.235,1386,11.001,2208,14.853,2292,11.835,3217,13.421]],["keywords/496",[]],["title/497",[139,144.941,2292,570.435,3234,655.452]],["content/497",[1,2.569,41,7.119,45,2.816,53,8.637,61,6.516,136,5.135,139,2.021,141,7.806,173,6.002,225,4.298,226,7.05,241,9.728,280,11.401,331,8.503,351,6.858,352,6.086,353,5.921,404,5.297,612,11.067,889,11.372,918,7.338,1025,9.886,1150,6.315,1201,11.229,1974,6.624,2136,9.982,2176,13.704,2292,11.969,2631,10.256,2771,11.401,2831,11.401,3234,13.753,4207,11.921,4208,11.921,4209,13.773]],["keywords/497",[]],["title/498",[4207,1331.557]],["content/498",[1,1.839,5,1.461,7,3.908,18,5.44,35,3.697,45,2.975,53,8.112,102,5.276,130,3.361,136,4.942,139,3.793,143,3.036,144,1.231,162,2.374,181,3.361,189,3.903,192,1.975,195,8.875,201,5.253,204,3.515,217,5.644,220,6.522,256,5.057,262,6.542,265,3.205,282,5.846,308,7.827,352,4.755,375,4.267,442,8.875,573,3.975,628,4.421,646,3.552,671,4.421,673,4.487,686,5.096,700,3.975,742,4.21,774,11.019,958,4.909,1072,4.954,1094,13.492,1224,5.929,2586,6.773,2897,7.341,3234,11.469,4207,8.534,4210,9.06,4211,9.06,4212,9.06,4213,9.06,4214,9.86,4215,8.534,4216,9.86,4217,17.285,4218,9.86,4219,9.86,4220,9.86,4221,12.01,4222,9.86,4223,9.86,4224,9.86,4225,9.86,4226,9.06]],["keywords/498",[]],["title/499",[4208,1331.557]],["content/499",[1,2.006,5,1.594,7,4.163,29,4.207,35,3.315,45,3.169,53,9.33,102,3.282,130,3.665,136,4.891,139,3.807,143,3.311,144,1.342,162,2.529,189,4.257,195,9.455,201,5.728,217,3.511,219,6.411,262,7.135,265,3.495,282,6.376,336,6.063,352,4.998,443,5.67,628,4.821,671,4.821,673,4.893,686,5.558,742,4.591,774,11.48,799,8.878,876,8.878,958,5.354,1149,8.006,1224,6.466,1227,11.89,2292,10.491,2448,9.307,2586,5.007,2897,8.006,4208,9.307,4210,9.881,4212,16.694,4213,9.881,4227,15.496,4228,8.878,4229,15.496,4230,18.167,4231,10.753,4232,10.753,4233,10.753,4234,10.753]],["keywords/499",[]],["title/500",[208,235.32,359,604.466]],["content/500",[]],["keywords/500",[]],["title/501",[0,912.212]],["content/501",[50,6.192,59,7.934,69,11.031,124,9.255,136,4.196,208,4.281,349,5.77,359,10.996,554,11.204,671,8.106,716,13.872,901,11.031,1789,9.103,1863,14.352,2186,7.333]],["keywords/501",[]],["title/502",[136,229.264,358,247.676,2159,471.164]],["content/502",[7,3.634,50,8.834,51,4.847,59,5.936,72,7.132,162,3.584,322,8.093,349,5.802,350,3.173,378,6.675,404,5.201,573,8.279,749,7.913,848,7.763,849,11.644,855,5.737,1019,8.863,1026,8.818,1498,12.305,2168,9.686,2301,9.686,2421,10.368,3242,12.856,4155,10.737,4156,11.707]],["keywords/502",[]],["title/503",[855,510.284,1789,500.406]],["content/503",[45,4.78,182,10.147,349,5.679,351,8.859,362,8.63,436,8.097,593,10.41,855,9.915,1019,6.882,1151,12.068,1307,12.361,1789,10.12]],["keywords/503",[]],["title/504",[404,462.676,1789,500.406]],["content/504",[7,3.967,18,5.522,45,3.94,102,4.507,124,7.558,130,5.033,162,3.145,167,7.418,188,8.127,197,5.846,256,5.133,277,4.572,336,5.777,358,3.702,359,7.418,404,7.41,540,9.293,615,7.286,628,6.62,671,6.62,821,9.797,848,6.304,855,6.262,1019,5.711,1789,10.601,2013,8.755,2390,9.797,2421,8.42,3425,9.617,3999,13.568,4127,9.797,4235,9.617,4236,14.765]],["keywords/504",[]],["title/505",[852,564.649,1789,500.406]],["content/505",[5,2.893,18,5.633,42,9.056,208,2.946,227,4.015,239,11.956,327,8.385,349,4.806,359,7.567,542,8.024,628,6.753,677,10.509,849,9.632,852,9.161,898,9.993,1019,7.549,1025,7.184,1031,9.993,1437,10.649,1789,10.114,2168,10.399,2182,8.811,2292,11.272,2301,8.024,2421,8.589,3143,11.214,3242,10.649,4127,9.993,4195,13.036,4237,10.41,4238,13.21]],["keywords/505",[]],["title/506",[612,593.994,918,526.251,1789,410.861]],["content/506",[18,4.59,42,7.381,67,6.756,130,4.184,142,6.167,143,3.78,194,5.91,198,6.167,271,7.381,290,6.915,291,13.056,294,8.679,302,5.854,346,8.679,513,7.381,542,6.539,625,8.549,649,6.167,789,10.382,790,6.283,848,5.241,918,10.405,1019,7.554,1024,8.307,1025,8.116,1057,8.144,1089,7.994,1094,8.679,1123,6.434,1151,6.833,1672,10.624,1789,10.348,1969,11.761,2069,9.139,2168,9.065,2182,11.426,2843,14.542,4237,13.499,4238,11.516,4239,11.279,4240,12.274,4241,12.274,4242,17.016,4243,12.274,4244,15.636,4245,11.279]],["keywords/506",[]],["title/507",[620,604.466,1789,500.406]],["content/507",[50,6.617,119,10.084,129,9.45,208,4.454,279,6.398,620,9.706,1789,10.071,2186,7.835]],["keywords/507",[]],["title/508",[35,211.306,208,193.211,434,427.524]],["content/508",[]],["keywords/508",[]],["title/509",[0,912.212]],["content/509",[1,3.673,4,10.489,9,6.154,35,4.662,45,3.121,46,6.269,60,5.387,62,6.583,69,9.314,112,9.632,121,6.895,137,5.254,187,7.323,208,4.263,277,3.254,305,8.402,317,5.618,351,7.6,434,9.433,571,6.432,575,8.815,696,9.051,775,5.079,1024,10.331,1072,7.669,1339,8.402,1769,8.599,2017,13.212,3713,13.212,4246,15.265]],["keywords/509",[]],["title/510",[35,179.233,208,163.885,434,362.633,2159,399.649]],["content/510",[]],["keywords/510",[]],["title/511",[136,229.264,358,247.676,2159,471.164]],["content/511",[4,8.476,35,4.325,60,5.615,63,10.014,67,8.757,72,8.389,102,4.857,112,9.891,121,7.187,136,3.693,153,6.154,197,6.299,204,5.673,208,3.955,284,8.389,339,9.568,434,9.619,436,7.24,447,5.95,632,7.24,674,9.073,918,8.476,1023,15.514,1035,11.25,1123,7.645,1910,12.726,2159,7.589,2421,9.073]],["keywords/511",[]],["title/512",[317,343.271,632,547.475]],["content/512",[1,3.484,46,7.671,62,6.245,265,6.071,277,3.982,317,6.811,349,5.961,571,7.87,632,8.499,696,11.075,1072,9.384,1339,10.28,1769,10.522]],["keywords/512",[]],["title/513",[45,246.021,632,547.475]],["content/513",[7,3.144,35,5.489,38,5.879,45,4.224,64,6.426,78,4.449,94,9.758,102,3.572,144,1.461,152,3.931,153,4.526,252,5.406,256,4.068,296,5.879,302,5.581,305,6.44,317,3.339,322,5.208,339,7.036,347,7.764,349,3.734,352,5.237,383,8.59,437,6.048,551,14.978,621,6.3,632,5.325,686,6.048,700,6.634,704,7.919,724,11.036,922,7.248,1020,10.128,1078,7.919,1139,5.208,1247,8.088,1404,8.48,1703,11.927,1778,15.717,1818,6.757,1897,6.938,2042,6.938,2430,8.713,2432,10.753,2785,8.713,3225,8.088,3226,9.661,3407,7.621,4247,11.701]],["keywords/513",[]],["title/514",[35,211.306,277,210.57,632,449.507]],["content/514",[18,5.709,35,5.382,53,9.241,62,6.583,275,8.308,277,3.254,285,5.804,340,5.443,347,13.065,349,6.283,404,5.87,467,8.815,573,7.937,593,8.93,632,6.946,859,11.713,918,8.132,1019,8.43,1072,7.669,1200,11.092,1769,11.092,2182,8.93,2421,8.705,2569,11.366,4143,13.212,4248,14.028]],["keywords/514",[]],["title/515",[208,193.211,277,210.57,632,449.507]],["content/515",[18,5.558,53,9.082,62,6.47,208,4.739,275,8.089,277,5.26,285,5.651,340,5.299,349,6.176,359,9.723,404,5.716,467,8.583,573,7.801,593,8.695,632,6.763,859,11.404,918,7.918,1019,8.323,1072,7.467,1200,10.902,1769,10.902,2182,8.695,2421,8.475,2569,11.067,4143,12.864,4248,13.658]],["keywords/515",[]],["title/516",[305,662.181,632,547.475]],["content/516",[1,3.765,9,8.136,305,11.108,349,6.441,632,9.184,2379,15.486]],["keywords/516",[]],["title/517",[60,424.602,112,588.546]],["content/517",[4,8.244,35,3.31,40,8.824,41,7.998,46,6.355,52,4.627,53,7.262,60,7.01,112,10.731,136,3.591,158,6.2,208,3.027,317,4.415,349,4.938,404,7.639,434,8.597,556,10.268,615,7.636,621,8.331,632,7.042,749,9.053,1036,9.441,1089,10.079,1200,8.717,1339,8.517,2628,10.942,2629,9.176,2787,14.288,3028,12.284,3144,8.936,4167,11.522,4249,15.474]],["keywords/517",[]],["title/518",[208,235.32,2608,871.939]],["content/518",[]],["keywords/518",[]],["title/519",[0,912.212]],["content/519",[4,9.26,50,5.954,91,6.328,194,5.26,208,4.179,285,6.61,296,8.733,447,6.501,628,7.794,695,11.761,752,10.109,849,8.578,1789,7.23,2608,12.598,3200,14.562,3238,15.045,4165,15.045,4250,17.383,4251,17.383]],["keywords/519",[]],["title/520",[208,193.211,2159,471.164,2608,715.91]],["content/520",[]],["keywords/520",[]],["title/521",[136,229.264,358,247.676,2159,471.164]],["content/521",[7,3.591,50,8.862,51,4.79,59,5.865,72,7.047,162,3.567,322,8.028,349,5.756,350,3.136,378,6.595,404,5.14,573,8.229,749,7.819,848,7.701,849,11.604,855,5.669,1019,8.827,1026,8.748,1498,12.206,2168,9.609,2301,9.609,2421,10.285,3200,8.412,3242,12.753,4156,11.568,4252,13.365]],["keywords/521",[]],["title/522",[358,247.676,2159,471.164,3200,621.731]],["content/522",[5,1.263,7,5.634,18,4.874,48,4.618,49,4.097,52,3.687,67,4.689,79,3.186,84,2.756,139,1.912,143,2.623,157,4.03,158,3.413,182,4.858,194,2.578,208,2.549,217,5.79,224,6.581,252,3.936,256,4.531,273,3.455,284,4.492,292,6.381,321,3.792,325,4.799,332,4.689,340,5.644,349,4.159,350,1.999,358,2.136,362,4.132,378,4.204,404,3.276,414,6.762,443,6.872,513,5.123,621,4.587,628,9.036,646,3.069,651,5.123,652,4.447,704,8.82,808,4.538,830,10.503,840,5.277,849,4.204,852,8.322,882,7.625,883,7.432,918,6.943,941,3.967,1019,3.295,1031,5.653,1036,5.198,1113,9.963,1123,7.226,1157,7.373,1227,6.537,1259,5.765,1395,6.537,1437,6.024,1445,6.762,1448,5.452,1827,4.538,1830,5.888,2168,4.538,2182,4.984,2301,4.538,2315,7.034,2421,7.432,2608,12.851,2679,7.828,3028,6.762,3200,14.871,3398,7.828,3580,11.348,4127,8.648,4195,7.373,4237,5.888,4253,8.519,4254,8.519,4255,8.519,4256,8.519,4257,7.373,4258,8.519,4259,8.519,4260,8.519,4261,11.977,4262,7.828]],["keywords/522",[]],["title/523",[358,301.656,855,510.284]],["content/523",[18,4.94,39,7.27,45,3.659,157,6.249,194,3.997,224,4.313,256,4.592,273,8.23,277,3.814,351,6.576,358,6.008,362,8.678,404,5.08,425,6.406,436,8.142,503,8.939,593,10.468,649,8.99,758,5.797,855,9.64,1019,5.109,1024,8.939,1084,6.761,1151,11.297,1238,7.943,1259,12.109,1307,11.571,1394,11.433,1421,10.135,1457,10.906,1820,10.135,3140,12.986,3200,15.082,4263,11.433]],["keywords/523",[]],["title/524",[612,593.994,918,526.251,3200,621.731]],["content/524",[7,2.875,67,10.918,78,5.872,102,3.267,121,4.834,130,3.648,141,4.539,142,5.377,157,5.063,194,6.365,198,7.759,234,5.19,254,6.529,290,6.029,291,11.849,292,6.225,294,7.567,302,5.104,309,5.235,346,7.567,351,5.328,425,9.621,542,5.701,632,4.87,649,5.377,789,9.422,790,5.478,792,7.756,843,6.629,848,4.569,918,10.568,1019,4.139,1025,10.033,1057,7.101,1820,8.211,1969,7.397,2182,6.261,2573,10.247,2843,13.491,2911,11.849,3200,15.872,3758,9.834,4235,10.058,4237,7.397,4238,7.243,4239,9.834,4244,9.834,4245,9.834,4264,7.567,4265,18.119,4266,18.119,4267,18.119,4268,10.332,4269,8.314]],["keywords/524",[]],["title/525",[352,330.993,353,517.165]],["content/525",[]],["keywords/525",[]],["title/526",[0,912.212]],["content/526",[1,3.722,3,11.672,39,8.576,45,3.186,49,7.494,54,8.885,121,7.038,136,4.63,153,6.026,185,7.622,187,7.421,225,4.862,352,7.02,353,9.46,573,8.043,621,8.389,643,7.09,849,7.689,898,10.339,1974,7.494,2292,8.998,2301,8.301,2535,8.576,2631,11.602]],["keywords/526",[]],["title/527",[352,271.764,353,424.621,2159,471.164]],["content/527",[]],["keywords/527",[]],["title/528",[136,229.264,358,247.676,2159,471.164]],["content/528",[3,6.573,5,2.759,11,4.585,41,5.807,45,3.27,51,7.269,97,4.673,136,5.782,157,5.315,162,1.834,170,7.455,188,6.183,192,2.251,207,6.115,209,4.829,224,3.669,254,6.855,256,3.906,262,7.455,307,6.329,329,9.622,338,9.918,349,5.103,355,6.756,376,3.154,378,5.544,404,4.321,571,6.737,573,8.64,574,6.662,649,5.645,750,7.169,848,4.797,849,10.009,855,6.782,898,7.455,958,5.594,1019,6.185,1118,7.603,1200,6.329,1498,7.603,1769,9.008,1827,5.985,2042,6.662,2421,11.566,3001,9.276,3081,9.276,4167,8.365,4270,11.235,4271,11.235,4272,11.235,4273,11.235,4274,11.235,4275,11.235,4276,11.235,4277,15.99]],["keywords/528",[]],["title/529",[352,271.764,358,247.676,2159,471.164]],["content/529",[46,5.909,51,6.79,60,5.078,64,4.857,143,4.431,166,8.418,194,4.354,208,2.814,225,5.912,227,3.835,241,6.753,256,5.002,265,4.677,305,7.919,322,8.433,349,4.592,352,6.836,640,11.04,825,8.106,957,7.747,1247,9.945,1296,9.547,1365,11.88,1448,9.208,1974,10.187,2292,8.309,3150,9.208,3182,11.422,4278,13.222,4279,14.389,4280,14.389,4281,14.389,4282,14.389,4283,14.389,4284,14.389,4285,14.389,4286,14.389,4287,14.389,4288,14.389]],["keywords/529",[]],["title/530",[225,375.423,352,330.993]],["content/530",[40,7.445,46,5.362,51,4.679,72,6.884,141,8.555,150,5.729,183,8.839,194,5.372,208,3.472,217,4.263,225,4.074,256,6.171,258,7.539,260,8.663,284,6.884,294,9.232,325,7.355,329,6.748,332,7.186,350,3.063,352,6.425,423,5.811,434,5.65,436,8.078,573,7.156,575,7.539,628,5.854,653,7.638,758,5.729,836,7.851,898,8.663,922,8.088,1019,7.801,1025,8.467,1031,8.663,1039,6.279,1123,6.713,1387,10.78,1400,9.024,1863,10.364,1930,14.092,1974,8.538,2136,9.462,2176,9.721,2391,9.721,2629,7.742,3144,7.539,3405,10.364]],["keywords/530",[]],["title/531",[352,271.764,542,526.251,1019,382.06]],["content/531",[1,3.198,5,2.541,7,3.334,18,4.641,51,7.04,84,4.015,87,14.156,114,8.993,141,5.263,153,4.8,165,11.288,170,11.376,182,9.777,194,3.755,196,9.233,202,8.067,225,5.35,352,6.118,353,7.37,433,8.234,437,6.414,476,9.901,493,8.398,542,6.611,632,7.802,743,7.942,855,9.431,898,8.234,1019,6.631,1036,7.571,1061,12.766,1974,10.19,2506,10.741,2896,14.156,3169,10.741,3182,13.61,4127,8.234,4289,17.145,4290,17.145,4291,11.403]],["keywords/531",[]],["title/532",[3,577.902,225,308.244,352,271.764]],["content/532",[3,14.307,5,2.462,130,5.663,136,4.822,149,11.244,182,9.474,192,3.328,197,6.578,204,5.924,314,10.457,318,3.655,352,6.237,353,7.142,362,8.058,404,7.99,699,12.041,1058,9.594,1151,9.25,1307,9.474,2159,7.925,2390,11.024,2535,9.144]],["keywords/532",[]],["title/533",[2535,846.718]],["content/533",[3,6.508,5,1.649,11,6.48,37,3.719,95,9.628,124,5.694,144,2.311,152,3.737,159,6.193,163,5.538,192,2.228,201,5.926,217,6.594,220,4.988,222,6.689,225,5.777,240,7.313,242,6.267,256,3.867,318,2.447,352,5.094,362,5.395,513,6.689,563,5.749,724,5.641,742,4.75,744,9.477,768,12.361,912,7.689,941,5.18,1019,4.302,1025,7.573,1026,5.395,1151,8.84,1175,7.119,1307,9.054,1330,10.161,1619,8.062,2159,7.573,2535,11.113,2571,13.418,2586,8.621,3187,15.287,3821,10.222,4292,11.124,4293,10.222,4294,10.222,4295,9.185,4296,11.124,4297,9.628,4298,11.124,4299,11.124,4300,10.222,4301,9.185,4302,10.222,4303,9.628,4304,11.124,4305,10.222,4306,11.124,4307,9.628,4308,11.124]],["keywords/533",[]],["title/534",[3,900.002]],["content/534",[3,12.926,78,4.168,130,5.355,136,2.544,142,5.507,144,1.368,149,7.419,192,2.196,201,5.84,217,6.55,225,5.73,240,5.381,241,5.145,255,9.316,256,6.384,309,5.362,318,2.412,352,5.518,563,5.666,583,7.419,643,4.988,724,5.559,744,8.619,745,8.162,746,5.966,752,5.186,768,12.301,779,8.162,1019,7.103,1025,5.228,1026,7.62,1084,8.043,1151,8.747,1307,8.96,1395,8.411,2159,7.494,2535,12.524,2571,13.309,2586,7.316,3187,15.163,4301,9.051,4303,9.488,4307,9.488,4309,9.488,4310,10.073,4311,10.073,4312,10.073,4313,15.712,4314,15.712,4315,15.712,4316,10.073,4317,10.073,4318,15.712]],["keywords/534",[]],["title/535",[3,577.902,153,382.06,352,271.764]],["content/535",[3,7.828,5,1.983,7,5.213,18,3.298,39,8.9,41,8.357,51,3.161,64,6.093,102,2.692,105,5.968,130,3.006,153,5.175,157,6.331,164,2.842,183,11.971,187,3.28,188,4.854,192,1.767,194,4.893,196,5.831,217,2.88,224,2.88,225,2.752,241,4.139,256,4.652,284,11.191,302,4.206,318,1.94,319,5.851,327,4.91,350,3.14,352,6.615,442,5.381,551,8.879,573,3.555,575,5.092,592,5.463,593,5.159,636,10.268,825,4.968,889,11.048,941,4.106,1019,5.175,1021,6.236,1026,4.277,1039,4.241,1266,5.463,1385,6.095,1388,6.767,1667,14.119,1674,9.056,1818,7.727,1841,8.715,1974,9.824,2002,7,2042,9.588,2193,7.633,2391,15.21,2504,10.268,2535,8.9,2627,7,3144,7.727,4141,7,4319,8.819,4320,8.819,4321,8.819,4322,8.819,4323,8.104,4324,8.819]],["keywords/535",[]],["title/536",[352,330.993,825,677.776]],["content/536",[7,4.245,60,7.104,69,9.64,112,9.847,139,2.318,141,9.395,182,9.01,185,7.729,194,4.781,196,8.772,203,9.01,248,10.404,260,10.483,284,8.331,352,5.538,355,9.501,376,5.65,574,9.369,575,9.124,592,12.469,724,8.012,795,7.033,825,8.901,875,8.012,1019,6.111,1025,7.536,1974,7.599,3875,11.764]],["keywords/536",[]],["title/537",[83,543.687,209,424.621,352,271.764]],["content/537",[]],["keywords/537",[]],["title/538",[0,912.212]],["content/538",[1,3.789,5,3.305,11,6.54,83,8.819,107,11.33,119,8.364,124,8.203,125,10.085,187,8.294,352,6.45,353,6.888,446,7.404,570,9.374,751,10.085,941,7.461,1038,10.437,1229,10.437,1421,12.295,1423,9.253,1731,12.295,2534,11.931,2831,9.926,3251,12.72,3356,12.72,3728,13.87,4325,16.024,4326,16.024]],["keywords/538",[]],["title/539",[1989,1114.932]],["content/539",[1,3.243,5,2.576,83,9.567,121,10.45,144,2.668,188,9.567,189,6.882,192,4.635,209,7.472,226,8.898,271,10.452,285,6.61,314,10.94,318,5.09,352,5.879,698,7.851]],["keywords/539",[]],["title/540",[1,156.3,192,167.846,318,184.336,2989,623.89]],["content/540",[1,1.321,5,2.493,13,4.32,29,4.413,35,0.868,37,1.357,38,2.039,45,3.279,49,1.952,52,1.649,64,1.37,72,5.947,78,2.692,89,2.945,91,1.477,102,1.239,107,2.87,121,3.198,129,1.985,130,3.21,133,4.456,136,1.643,138,1.597,139,3.487,140,0.529,141,4.784,143,2.9,144,1.408,145,9.246,150,3.107,156,6.134,157,1.92,158,1.626,162,2.617,170,4.698,181,4.792,185,3.464,187,2.633,188,3.897,192,3.03,196,6.591,202,5.774,203,2.314,208,0.794,209,3.043,217,3.075,218,3.513,221,4.607,222,4.257,223,5.518,224,2.312,225,1.266,227,1.082,230,1.721,234,1.968,240,3.863,241,3.323,244,5.407,248,2.098,251,5.131,252,3.271,256,2.461,257,7.976,273,1.646,286,2.314,290,5.306,293,8.152,296,3.557,314,2.554,318,2.816,319,4.698,321,3.152,324,9.228,351,7.53,352,4.161,353,1.744,371,2.374,376,1.987,446,1.875,447,1.518,483,2.805,494,3.854,508,2.597,513,2.44,540,2.554,545,2.44,563,4.868,604,10.366,615,2.003,623,3.351,644,5.006,658,6.659,676,1.667,693,2.286,695,2.234,696,2.406,722,2.693,744,4.42,758,4.133,768,3.942,821,6.249,822,5.243,843,2.514,848,1.733,875,3.59,896,2.643,958,6.372,1026,1.968,1029,2.941,1036,2.476,1054,3.222,1073,3.114,1095,3.022,1152,5.272,1155,2.554,1161,2.941,1208,2.185,1218,2.941,1247,2.805,1259,2.746,1263,2.118,1302,6.128,1317,5.131,1367,7.099,1372,3.513,1375,3.222,1388,3.114,1393,5.433,1394,3.513,1472,2.476,1619,5.131,1667,4.894,1709,3.659,1712,3.222,1773,2.693,1827,2.162,1900,2.286,1974,7.274,2002,3.222,2325,6.506,2451,5.272,2562,3.729,2586,3.297,2815,6.128,2896,3.351,2902,5.006,2925,3.222,3150,2.597,3218,3.513,3294,3.729,3614,3.351,3738,5.62,4038,6.506,4065,3.351,4327,4.058,4328,3.351,4329,4.058,4330,4.058,4331,4.058,4332,3.513,4333,4.058,4334,4.058,4335,4.058,4336,4.058,4337,3.513,4338,4.058,4339,4.058,4340,4.058,4341,4.058,4342,4.058,4343,4.058,4344,4.058,4345,4.058,4346,4.058,4347,4.058,4348,4.058,4349,4.058,4350,4.058,4351,4.058,4352,4.058,4353,7.476,4354,4.058,4355,11.28,4356,7.08,4357,7.08,4358,7.08,4359,5.846,4360,7.08,4361,4.058,4362,7.08,4363,4.058,4364,4.058,4365,6.128,4366,6.506,4367,7.08,4368,7.08,4369,4.058,4370,4.058,4371,7.08,4372,7.08,4373,4.058,4374,4.058,4375,4.058,4376,7.08,4377,4.058,4378,3.729,4379,4.058]],["keywords/540",[]],["title/541",[352,330.993,3726,1041.352]],["content/541",[]],["keywords/541",[]],["title/542",[144,104.598,199,623.89,352,230.515,770,623.89]],["content/542",[1,2.951,29,7.225,35,4.559,38,5.561,78,4.209,89,4.604,91,4.03,124,8.099,139,3.127,143,4.872,145,9.698,150,4.858,159,6.163,192,2.217,204,5.641,209,4.758,244,8.196,251,11.467,307,8.913,318,2.435,352,4.353,358,2.775,376,5.655,447,4.14,676,4.546,696,11.946,700,4.462,742,4.726,750,4.963,937,5.96,1151,6.163,1196,12.026,1214,6.967,1220,6.857,1228,8.787,1299,9.801,1336,8.022,1393,8.494,1395,8.494,1737,13.382,1739,10.172,1818,10.663,2460,12.56,2462,10.172,2553,8.242,3080,9.581,3162,7.827,4366,14.539,4380,11.069,4381,15.245,4382,16.968,4383,14.539,4384,10.172]],["keywords/542",[]],["title/543",[74,461.165,124,428.911,4385,837.897,4386,837.897]],["content/543",[13,9.507,18,5.827,107,11.017,110,9.507,119,8.133,130,5.311,155,7.976,171,9.972,189,6.169,192,3.121,205,11.997,240,5.337,260,13.238,271,9.369,272,8.885,309,7.622,314,9.807,318,3.428,447,7.461,545,9.369,912,10.77,1152,11.602,1595,15.837,1674,10.545,2385,11.602,2386,13.486,2390,10.339,2581,14.318,2766,12.865,2786,15.837,3813,14.318,4387,19.951,4388,15.581]],["keywords/543",[]],["title/544",[74,353.771,110,392.174,371,376.034,1595,510.239,4389,556.344,4390,590.666]],["content/544",[5,2.303,6,4.838,9,3.333,13,7.772,20,8.552,29,4.984,35,1.769,49,3.977,52,2.967,96,4.903,118,5.847,120,4.604,121,3.735,136,2.957,139,3.293,141,7.404,144,1.032,150,6.819,159,4.604,162,1.35,166,7.453,168,5.847,192,2.552,198,4.155,202,7.169,204,4.542,208,1.617,217,4.16,223,8.54,224,2.7,240,5.322,242,4.658,254,5.045,258,4.775,272,4.715,274,7.011,296,4.155,318,2.803,321,3.681,333,4.117,352,5.479,377,5.596,436,3.763,447,3.092,570,4.838,615,4.081,724,6.46,751,5.204,752,3.912,768,9.719,806,7.554,808,6.786,812,4.604,842,5.716,877,5.596,937,8.366,941,3.85,977,4.715,1038,5.386,1081,6.564,1208,4.452,1421,6.345,1472,5.045,1711,5.292,2135,5.204,2176,6.157,2683,12.83,2831,5.122,3162,10.987,3275,7.599,3395,7.599,3737,7.157,4065,6.827,4390,7.599,4391,8.269,4392,8.269,4393,6.827,4394,8.269,4395,12.739,4396,8.269,4397,17.457,4398,7.157,4399,8.269,4400,8.269,4401,12.739,4402,17.457,4403,17.457,4404,12.739,4405,8.269,4406,12.739,4407,12.739,4408,12.739,4409,12.739,4410,12.739,4411,8.269,4412,12.739]],["keywords/544",[]],["title/545",[5,146.397,2902,698.474,3957,643.388]],["content/545",[5,2.054,7,3.723,35,2.964,45,2.834,84,4.484,96,8.217,97,5.764,114,10.043,139,3.254,141,8.818,192,2.776,202,5.691,255,8.217,256,4.817,318,3.049,675,7.903,700,5.586,821,9.195,826,11.001,836,8.333,1195,8.869,1337,14.669,1374,8.455,1423,8.003,1841,9.026,2176,10.319,2287,11.001,2480,11.995,2586,6.453,2599,11.995,2902,16.802,3987,12.735,4378,12.735,4381,15.258,4413,13.858,4414,13.858,4415,11.995,4416,20.791,4417,12.735,4418,13.858,4419,13.858,4420,12.735,4421,13.858]],["keywords/545",[]],["title/546",[352,330.993,353,517.165]],["content/546",[1,2.431,3,11.79,5,1.263,7,2.289,11,6.46,13,5.198,18,3.186,20,4.689,21,4.492,37,2.848,39,4.689,64,5.343,91,6.455,121,7.15,136,3.025,137,2.932,139,1.25,145,3.877,162,2.127,167,4.28,187,6.595,194,2.578,198,4.28,202,3.499,220,3.82,221,4.167,224,2.782,225,4.939,240,4.464,255,5.051,272,4.858,316,5.765,321,3.792,327,7.256,352,6.855,353,7.622,358,2.136,362,4.132,447,4.874,544,8.203,545,5.123,573,3.434,614,4.063,615,8.75,621,8.523,658,6.024,673,5.931,696,5.051,758,5.72,792,6.174,852,3.998,877,8.82,898,8.648,941,3.967,957,9.547,958,4.241,1032,7.373,1038,5.549,1151,4.743,1241,6.174,1290,10.761,1674,5.765,1805,7.828,1974,4.097,1989,6.174,2166,5.888,2208,6.174,2392,7.828,2428,9.446,2535,9.759,2545,7.828,2642,7.828,2643,7.828,2665,6.762,2683,7.034,2749,6.343,2771,9.806,2831,5.277,3107,7.828,3131,6.762,3152,7.373,3356,6.762,3582,7.828,3718,11.977,3728,7.373,3738,6.762,3776,7.828,4030,7.828,4422,8.519,4423,8.519,4424,8.519]],["keywords/546",[]],["title/547",[1667,889.49,2989,623.89,4425,725.232]],["content/547",[1,2.832,5,1.549,13,6.378,78,3.975,84,4.912,85,7.784,89,6.315,135,9.13,139,1.534,141,4.434,159,8.453,192,2.094,194,3.164,202,4.293,208,2.045,217,3.414,218,9.048,219,3.689,224,3.414,225,3.262,226,5.351,232,5.028,234,5.07,240,5.2,241,4.906,256,3.634,268,6.286,272,5.961,279,3.462,302,4.986,309,7.427,318,2.3,321,4.653,322,4.653,352,5.733,398,6.936,518,12.052,544,6.579,628,8.016,696,6.199,752,4.946,761,5.457,824,7.576,855,4.434,941,4.868,1039,5.028,1224,6.286,1266,6.476,1667,16.192,1773,6.936,1827,9.525,1989,7.576,2041,7.226,2435,7.576,2548,9.556,2897,7.784,3028,8.298,3219,8.298,3737,9.048,3764,9.606,4389,9.048,4425,15.475,4426,10.454,4427,10.454,4428,10.454,4429,10.454,4430,15.183,4431,15.183,4432,10.454,4433,13.952,4434,10.454,4435,10.454,4436,10.454,4437,10.454,4438,10.454,4439,10.454,4440,10.454,4441,10.454,4442,10.454,4443,10.454]],["keywords/547",[]],["title/548",[352,330.993,428,757.233]],["content/548",[1,3.218,33,7.624,37,5.767,49,8.296,58,9.129,124,8.83,130,5.879,208,3.374,241,8.096,259,8.032,262,11.446,265,5.607,302,8.228,330,12.197,331,7.97,352,6.344,1079,13.236,2646,14.93,2771,13.175,3405,13.693]],["keywords/548",[]],["title/549",[58,391.085,352,271.764,428,621.731]],["content/549",[5,2.106,18,5.313,37,4.75,45,3.842,58,5.625,89,5.909,124,7.273,136,4.885,139,2.757,192,2.846,221,9.191,237,10.579,240,6.435,291,10.901,318,3.126,338,7.569,352,5.169,428,8.942,437,10.879,447,5.313,503,9.615,545,8.543,643,6.465,673,8.549,752,6.721,877,9.615,900,8.668,1296,9.427,1297,10.046,1397,10.901,1674,9.615,1825,11.73,2176,10.579,2771,11.638,3142,13.056,3822,11.73,4127,9.427,4353,11.278,4444,14.207,4445,14.207,4446,14.207,4447,14.207]],["keywords/549",[]],["title/550",[240,338.338,352,271.764,428,621.731]],["content/550",[11,8.507,54,6.814,78,4.544,89,6.946,125,7.521,139,3.059,152,7.003,162,3.142,169,8.66,170,7.929,192,2.394,202,8.561,217,5.454,240,7.513,255,7.085,318,2.629,352,4.595,428,7.521,437,10.774,628,5.358,768,11.605,822,6.652,840,7.402,1401,8.259,1404,8.66,1820,9.169,2586,9.706,2650,10.98,2831,7.402,3098,8.449,3738,9.485,4448,11.949,4449,11.949,4450,16.701,4451,15.347,4452,19.156,4453,19.156,4454,19.156,4455,16.701,4456,16.701]],["keywords/550",[]],["title/551",[5,107.812,240,249.165,744,341.418,2989,541.673,4457,727.478]],["content/551",[1,1.56,5,1.239,7,2.246,34,7.237,37,2.795,45,2.627,74,4.602,77,6.226,84,2.705,102,2.552,136,1.94,139,3.554,144,1.044,162,2.097,163,4.163,165,4.454,192,1.675,194,2.53,202,3.434,207,6.993,217,6.188,221,4.09,224,2.73,240,6.014,241,3.924,291,6.415,302,3.988,307,4.71,316,5.658,318,1.839,321,3.722,331,3.863,352,3.535,372,5.351,423,5.719,428,5.262,476,4.828,563,4.321,592,5.179,646,6.326,676,6.426,744,9.388,746,4.551,752,3.956,768,11.97,775,2.782,779,6.226,790,6.577,795,5.719,1021,5.912,1115,5.548,1224,5.028,1226,6.903,1317,6.059,1388,6.415,1980,6.637,2428,6.059,2586,5.982,2840,11.806,2843,13.074,2897,6.226,3230,6.903,3580,11.237,4417,21.357,4458,8.361,4459,8.361,4460,8.361,4461,8.361,4462,17.559,4463,8.361,4464,15.647,4465,8.361,4466,12.848,4467,8.361,4468,12.848,4469,12.848,4470,12.848,4471,8.361,4472,12.848,4473,12.848,4474,8.361,4475,15.647,4476,8.361,4477,8.361,4478,8.361,4479,8.361]],["keywords/551",[]],["title/552",[72,303.562,141,244.188,152,193.405,1296,382.015,2989,709.952,4480,529.063]],["content/552",[1,2.778,5,2.61,21,3.287,37,2.084,39,3.431,44,3.99,51,2.234,72,9.285,78,3.871,89,5.366,103,3.924,105,4.219,110,3.804,121,2.816,126,4.219,135,3.749,136,4.9,138,4.007,139,2.584,141,6.961,150,2.736,152,6.241,157,2.95,187,3.786,192,2.039,194,3.081,197,4.03,198,3.132,202,9.467,217,3.324,219,3.593,220,5.785,224,2.036,225,4.026,227,2.714,236,4.408,240,3.487,241,2.926,242,5.735,252,2.881,272,7.357,284,3.287,318,2.24,329,3.222,349,1.99,350,1.463,351,3.104,352,5.331,353,4.376,371,3.647,385,5.148,425,3.024,436,2.837,437,5.262,442,3.804,447,2.332,518,4.949,544,6.407,563,7.697,615,3.077,646,3.667,676,2.56,712,4.309,717,5.668,790,3.191,822,3.471,843,3.862,877,6.89,900,3.804,915,4.408,922,3.862,941,2.903,958,3.104,1017,5.729,1026,3.024,1031,4.137,1039,2.998,1073,4.784,1084,3.191,1123,4.878,1135,4.518,1175,3.99,1213,10.793,1214,10.329,1220,7.992,1224,3.749,1296,14.007,1367,6.407,1444,8.405,1667,7.036,1712,4.949,1737,11.894,1818,3.6,1827,3.321,1974,7.162,2124,4.949,2385,4.642,2435,4.518,2586,2.903,2627,4.949,2831,3.862,3143,9.606,3162,4.408,3861,5.729,3931,5.729,4127,13.681,4177,5.729,4257,5.396,4353,8.081,4480,13.685,4481,6.235,4482,5.729,4483,6.235,4484,6.235,4485,11.167,4486,6.235,4487,6.235,4488,6.235]],["keywords/552",[]],["title/553",[825,677.776,4489,1041.352]],["content/553",[]],["keywords/553",[]],["title/554",[554,505.662,825,556.491,1731,757.965]],["content/554",[1,1.968,5,3.232,7,4.107,18,3.946,29,4.128,35,4.474,52,2.458,60,6.955,69,6.438,74,5.807,79,5.717,85,7.857,97,4.389,102,3.221,106,5.563,112,7.478,115,6.872,139,1.548,145,4.801,153,4.081,157,4.992,162,1.722,196,9.115,202,4.333,225,3.293,240,3.614,253,8.712,272,6.017,273,4.28,296,5.301,319,7.001,332,5.807,352,6.189,353,6.571,376,4.291,554,5.401,556,10.143,563,5.454,574,12.403,722,7.001,749,8.943,812,5.874,825,12.673,855,4.475,1008,7.857,1024,7.141,1138,7.647,1151,5.874,1222,8.096,1731,8.096,1818,6.093,1827,5.621,1974,5.075,2159,5.033,2631,7.857,3121,7.001,3140,9.783,3144,6.093,4263,9.133,4381,8.712,4490,10.552,4491,9.133,4492,15.286,4493,10.552,4494,10.552,4495,8.376,4496,10.552]],["keywords/554",[]],["title/555",[3182,1221.21]],["content/555",[5,2.596,42,10.534,84,5.668,141,9.106,196,7.634,273,7.105,352,5.907,353,7.53,362,8.496,825,9.869,922,10.852,1019,6.775,1039,8.425,2911,13.441,3085,14.464,3144,10.116,3182,18.429,3772,10.387,4497,17.518]],["keywords/555",[]],["title/556",[5,146.397,383,515.619,1339,543.687]],["content/556",[5,1.809,11,6.918,35,2.611,45,4.52,64,4.121,69,7.448,97,5.078,150,5.357,153,4.722,155,6.249,183,8.44,194,5.893,195,7.448,204,4.353,208,2.388,225,3.809,256,4.244,261,11.218,302,9.289,350,2.864,352,6.294,353,5.248,383,10.165,398,8.1,574,7.239,673,5.555,812,6.797,834,8.847,836,7.341,855,8.924,922,7.562,957,9.127,1339,13.168,1448,10.849,1457,10.079,1667,8.438,1773,8.1,1802,10.079,1814,13.461,2434,7.951,2498,9.367,2771,7.562,2915,9.367,3058,11.218,3166,11.218,3260,10.566,3713,10.566,4491,10.566]],["keywords/556",[]],["title/557",[352,330.993,4489,1041.352]],["content/557",[5,2.75,38,7.006,64,4.707,79,7.799,80,8.638,112,6.821,121,6.298,138,7.303,150,9.152,179,6.942,181,4.753,183,6.942,192,4.454,217,4.553,220,6.252,223,6.821,225,4.351,227,5.926,274,7.674,339,8.385,352,6.116,353,5.994,377,9.437,379,9.437,666,9.252,750,6.252,1036,8.507,1081,11.069,1154,10.382,1201,11.321,1969,9.638,1974,8.924,2159,6.651,3138,12.069,3668,17.051,4489,12.069,4498,13.944,4499,13.944]],["keywords/557",[]],["title/558",[274,662.181,3152,1041.352]],["content/558",[]],["keywords/558",[]],["title/559",[64,282.829,1229,545.732,3251,665.131,4134,555.965]],["content/559",[1,1.626,5,1.966,52,3.74,59,3.825,64,7.533,102,2.661,103,5.486,139,3.34,141,3.697,151,3.431,153,3.371,155,4.462,171,8.488,187,4.933,189,3.451,192,1.746,194,2.638,201,7.066,204,4.729,217,4.331,240,6.146,252,4.027,271,5.241,284,8.465,296,6.664,318,1.918,322,3.88,352,4.417,399,7.197,447,3.26,563,6.855,570,5.099,574,7.865,575,5.033,594,4.744,637,5.486,718,8.801,749,9.392,750,3.908,875,6.726,958,6.604,1019,3.371,1031,8.801,1036,5.318,1207,4.744,1208,4.693,1213,9.612,1254,10.232,1737,15.79,1738,9.612,2042,5.169,2548,5.486,2651,9.876,2799,7.544,2843,6.49,3085,7.197,3144,5.033,3295,10.951,3580,11.483,3912,11.48,4133,6.919,4134,14.027,4433,12.188,4500,8.01,4501,8.01,4502,18.686,4503,13.263,4504,13.263,4505,8.717,4506,13.263,4507,12.188,4508,12.188,4509,8.717,4510,8.717,4511,7.544,4512,7.544,4513,7.544]],["keywords/559",[]],["title/560",[64,216.965,152,215.924,592,398.176,2042,381.135,4134,426.495,4514,642.772]],["content/560",[3,6.351,5,2.312,7,2.917,11,4.431,52,4.651,64,5.267,79,4.06,91,3.952,119,5.667,139,2.93,144,1.948,150,4.764,171,6.948,187,4.038,192,3.126,194,3.285,196,6.8,209,4.667,217,5.095,225,4.869,226,5.557,241,5.095,254,6.624,302,5.178,318,3.433,350,3.661,352,4.293,574,9.252,592,9.666,615,7.7,676,4.458,704,7.347,718,7.203,742,4.635,749,9.128,874,10.089,1055,10.163,1196,10.163,1294,6.269,1437,11.033,1737,14.472,1974,5.221,2042,13.454,2486,13.505,2548,6.833,2586,5.055,2656,11.972,2749,8.084,3736,15.809,4134,10.353,4141,8.618,4323,16.785,4515,10.856,4516,15.603,4517,15.603,4518,10.856,4519,10.856]],["keywords/560",[]],["title/561",[88,325.943,103,527.362,203,477.807,2208,607.247]],["content/561",[1,2.16,3,6.775,5,2.421,18,6.11,59,9.023,60,6.681,78,4.404,112,5.665,136,3.792,139,3.017,141,6.929,143,5.829,144,1.446,152,5.488,192,2.32,197,4.585,201,6.17,217,5.335,221,7.992,253,9.562,318,2.548,332,6.374,351,9.425,352,5.656,353,7.023,362,5.617,423,5.155,563,5.986,722,7.684,744,7.668,768,9.096,941,5.392,2208,14.901,2535,6.374,2586,8.814,2830,8.886,4133,9.193,4295,9.562,4297,14.141,4301,9.562,4451,10.642,4452,15.013,4453,15.013,4454,15.013,4520,11.581,4521,11.581,4522,11.581,4523,16.338,4524,11.581,4525,16.338,4526,11.581,4527,11.581,4528,11.581]],["keywords/561",[]],["title/562",[52,134.104,208,112.608,277,122.726,628,258.137,752,272.378,753,341.386,1118,389.633]],["content/562",[1,2.394,5,1.902,9,5.173,45,2.624,48,3.342,52,5.54,121,5.796,139,3.409,162,2.863,198,6.447,208,3.432,220,5.754,241,6.023,243,4.935,277,4.797,285,4.88,309,6.278,628,8.964,752,6.071,753,7.609,813,8.479,840,7.95,928,12.406,1118,14.544,1175,8.213,1401,8.87,1737,15.575,1910,8.077,2460,15.87,4529,21.491,4530,21.491,4531,19.992]],["keywords/562",[]],["title/563",[142,365.494,150,319.244,208,142.288,628,326.172,2553,541.673]],["content/563",[1,2.795,5,1.521,9,6.039,20,5.649,52,3.49,78,3.903,91,3.736,97,4.269,105,6.946,139,3.355,142,5.157,150,4.504,192,2.056,208,3.805,209,4.412,217,3.351,224,4.892,240,3.515,243,5.761,244,5.761,277,5.118,318,2.258,321,4.568,352,2.824,447,3.838,628,8.722,673,4.67,676,4.215,753,6.086,757,6.81,775,4.985,813,4.353,819,8.341,832,8.474,856,11.495,874,8.439,938,5.927,978,11.184,1118,10.139,1152,11.155,1748,8.474,1818,5.927,2390,6.81,2553,7.642,2586,4.779,2665,8.147,2769,12.369,2896,8.474,3218,8.883,3255,8.883,3425,9.757,3686,11.495,4145,8.474,4532,10.263,4533,12.967,4534,17.875,4535,9.431,4536,9.431,4537,13.767,4538,13.767,4539,10.263,4540,9.431]],["keywords/563",[]],["title/564",[5,146.397,166,577.902,196,430.482]],["content/564",[1,2.394,5,2.6,7,4.714,35,2.745,45,3.588,52,2.989,69,7.83,77,9.555,84,5.676,89,7.297,144,1.602,145,7.984,162,2.094,166,7.508,181,4.374,192,2.571,196,5.592,202,5.27,204,6.256,208,3.91,217,4.191,240,4.395,252,5.929,285,4.88,318,2.823,352,3.531,376,4.925,433,8.515,596,8.87,628,7.867,752,6.071,758,5.632,768,9.768,1667,14.854,1825,10.596,1931,10.187,2989,9.555,3404,11.793,4134,8.515,4425,11.107,4495,13.928,4508,16.123,4541,17.545,4542,17.545,4543,12.833,4544,12.833,4545,12.833,4546,12.833,4547,12.833,4548,12.833,4549,12.833]],["keywords/564",[]],["title/565",[5,146.397,671,442.906,4550,784.153]],["content/565",[1,1.8,5,1.43,52,3.334,59,4.234,78,3.669,91,3.513,112,4.72,139,3.588,144,1.204,150,9.858,180,4.084,181,6.436,183,8.497,192,1.933,194,2.92,196,4.205,198,9.487,201,7.626,204,5.104,205,5.802,208,1.887,219,7.457,222,5.802,227,2.572,230,6.072,248,7.399,292,5.771,318,2.123,320,5.887,321,4.295,352,2.654,377,6.53,447,8.18,543,6.175,563,4.987,568,3.69,626,9.01,628,4.326,643,4.391,646,5.157,758,6.282,795,4.295,797,9.499,803,9.289,874,6.828,922,5.977,927,6.993,1039,4.64,1224,5.802,1238,5.802,1264,4.987,1266,5.977,2135,9.01,2836,7.659,3772,8.489,4172,7.403,4332,12.391,4550,11.364,4551,7.967,4552,8.351,4553,9.649,4554,18.882,4555,14.316,4556,14.316,4557,9.649,4558,8.867]],["keywords/565",[]],["title/566",[1,119.902,192,128.759,260,426.495,296,322.937,352,287.108]],["content/566",[1,3.612,5,2.87,39,6.647,78,4.592,110,7.369,139,3.073,141,9.339,142,10.522,166,7.065,192,2.419,202,6.91,204,5.999,217,3.944,225,3.769,244,6.47,262,8.013,284,8.871,317,3.446,352,5.761,371,7.065,508,7.729,538,8.993,544,12.187,575,6.974,938,6.974,1008,8.993,1039,5.808,1055,14.851,1204,9.972,1207,6.573,1213,8.753,1214,12.187,1229,7.866,1249,8.539,1254,9.595,1296,8.013,1488,11.63,1974,5.808,2138,9.587,2460,13.356,2595,8.303,2627,9.587,3018,10.453,4552,10.453,4559,16.825,4560,12.077]],["keywords/566",[]],["title/567",[110,602.705,575,570.435,4552,855.008]],["content/567",[]],["keywords/567",[]],["title/568",[126,567.053,150,367.699,274,461.165,544,527.362]],["content/568",[1,2.075,5,2.353,9,4.484,11,4.54,52,4.703,84,3.599,89,4.627,102,3.396,105,7.528,126,7.528,150,10.254,169,8.062,173,4.848,185,5.442,189,4.404,208,3.621,224,3.632,240,3.81,252,5.14,274,6.122,279,3.684,284,5.865,327,6.193,339,6.689,352,5.094,433,7.381,436,5.062,543,7.119,544,9.993,570,6.508,625,5.589,628,7.119,676,4.568,754,6.689,758,4.882,792,8.062,803,8.642,813,4.718,815,8.535,822,6.193,845,6.891,874,7.573,877,7.528,956,7.119,1026,5.395,1171,9.185,1207,6.055,1215,9.628,1264,9.57,1299,6.891,1308,8.062,1336,8.062,1373,9.185,1386,7.528,1397,8.535,1448,7.119,1472,6.787,1498,7.528,2135,9.993,2435,11.507,2591,10.222,2645,9.628,3162,7.866,3774,10.222,3798,10.222,3957,7.245,4278,10.222,4561,11.124,4562,11.124,4563,11.124,4564,11.124,4565,8.83,4566,11.124,4567,9.185]],["keywords/568",[]],["title/569",[1171,993.368,4568,1203.126]],["content/569",[1,1.889,5,2.864,54,5.774,64,3.418,80,6.272,85,11.045,89,4.211,102,3.091,131,9.189,141,6.291,152,3.401,183,5.041,187,3.766,194,3.064,196,6.464,204,3.61,224,3.306,225,6.031,278,4.211,284,5.339,302,4.829,307,5.704,319,6.718,321,4.507,352,6.728,353,4.352,433,6.718,436,4.607,437,5.233,518,8.038,542,5.394,544,12.164,556,6.718,574,6.004,628,4.54,676,6.092,825,8.356,848,4.323,855,7.445,922,6.272,1019,6.789,1025,7.075,1026,4.911,1031,6.718,1036,6.178,1038,6.595,1039,8.443,1123,3.829,1171,12.247,1220,6.272,1224,10.556,1472,6.178,1725,7.539,1826,9.304,1930,13.935,1974,9.295,2389,7.539,2435,12.722,3131,8.038,3143,7.539,3144,8.566,3243,8.36,4133,11.775,4165,8.764,4291,9.304,4491,8.764,4569,10.125,4570,10.125,4571,10.125,4572,10.125,4573,10.125]],["keywords/569",[]],["title/570",[566,871.939,2143,1041.352]],["content/570",[]],["keywords/570",[]],["title/571",[50,249.165,352,200.137,2143,629.66,3217,600.646,3219,577.479]],["content/571",[1,2.585,5,3.424,6,8.107,11,5.656,37,4.633,48,3.609,49,6.665,52,5.166,75,7.89,84,4.484,136,4.289,139,2.711,152,6.208,153,5.36,192,2.776,296,9.284,352,5.084,408,8.455,676,7.589,744,6.504,900,8.455,918,7.383,1179,8.455,1367,8.722,2586,8.605,2749,10.319,3007,10.633,3217,17.166,3219,11.001,3738,11.001,4574,13.858,4575,13.858,4576,12.735,4577,13.858,4578,13.858,4579,13.858,4580,13.858,4581,13.858,4582,13.858,4583,13.858]],["keywords/571",[]],["title/572",[5,146.397,192,197.881,767,784.153]],["content/572",[1,3.286,5,2.972,18,4.827,136,2.995,144,1.611,162,2.106,192,3.528,194,5.33,198,6.484,201,6.876,217,7.034,220,5.787,240,6.033,242,7.271,273,5.235,274,9.694,277,3.755,296,6.484,302,6.156,309,6.314,352,3.551,398,8.564,442,7.875,614,6.156,675,7.36,744,11.179,745,9.61,752,6.106,767,13.982,768,9.806,812,7.185,1084,6.607,1367,8.123,1674,8.735,2385,9.61,2592,11.171,2908,11.86,2951,18.426,3038,18.426,4295,10.656,4584,17.614,4585,17.614,4586,12.906,4587,12.906]],["keywords/572",[]],["title/573",[1789,639.86]],["content/573",[]],["keywords/573",[]],["title/574",[278,639.86]],["content/574",[1,2.634,5,2.092,18,5.28,37,4.72,48,3.677,59,6.196,84,4.568,97,5.872,136,4.87,141,5.988,142,7.093,162,2.304,184,11.657,187,5.251,208,4.104,265,4.589,278,7.782,321,6.284,349,6.697,359,7.093,428,8.886,535,10.232,628,6.33,918,7.521,1025,6.734,1093,10.833,1592,10.833,1789,10.136,2186,7.589,2740,11.657,3128,11.657,3200,8.886,3356,11.207,3851,10.512,4134,9.368,4588,14.118,4589,14.118,4590,14.118,4591,10.512,4592,14.118]],["keywords/574",[]],["title/575",[136,194.465,208,163.885,278,348.499,1789,348.499]],["content/575",[45,3.254,136,5.158,138,7.958,143,4.9,144,1.986,197,6.299,200,10.014,208,4.347,252,7.351,265,6.572,278,9.244,280,9.856,331,7.351,575,9.188,673,7.24,1170,9.435,1789,10.426,2013,9.435,2186,6.454,2815,13.772,3356,12.63,4593,15.911]],["keywords/575",[]],["title/576",[404,462.676,2186,487.983]],["content/576",[9,6.281,37,5.209,75,6.653,83,8.576,88,6.061,91,5.673,129,7.622,130,5.311,136,3.616,137,5.363,138,7.852,149,10.545,200,9.807,208,3.902,241,7.313,278,8.298,302,7.432,404,5.992,671,8.945,744,7.313,848,6.653,1084,7.976,1123,5.892,1401,10.77,1789,9.154,1980,12.369,2186,8.926,2391,11.602,4594,15.581,4595,15.581,4596,15.581]],["keywords/576",[]],["title/577",[1789,639.86]],["content/577",[84,4.539,138,7.333,140,2.431,144,1.751,157,6.638,160,2.698,162,2.29,164,4.444,186,4.003,208,4.359,265,6.056,278,5.836,292,5.656,359,10.51,362,9.037,436,6.384,704,9.495,875,7.115,1134,8.979,1265,8.979,1310,10.447,1437,15.759,1736,10.766,1789,10.404,3098,9.921,4268,10.625,4269,7.554,4597,10.447,4598,11.727,4599,13.503]],["keywords/577",[]],["title/578",[217,502.358]],["content/578",[138,8.614,144,2.257,173,9.538,217,7.147,370,10.871,1039,8.695,1204,14.927,1900,10.185,1969,15.128,2186,8.877,4599,15.862,4600,16.297]],["keywords/578",[]],["title/579",[4601,1413.703]],["content/579",[29,5.815,48,3.871,52,4.508,84,4.809,91,5.411,114,10.771,139,2.181,140,1.939,144,1.855,160,2.858,164,3.157,180,4.241,186,4.241,224,6.319,277,4.125,292,7.801,350,3.487,358,3.726,460,9.207,651,8.937,653,12.589,669,10.058,713,11.798,750,6.664,874,7.089,900,9.068,1021,13.683,2120,11.404,2389,11.067,2605,12.864,2645,12.864,4197,20.946,4601,13.658,4602,14.863,4603,14.863,4604,14.863]],["keywords/579",[]],["title/580",[4605,1331.557]],["content/580",[7,6.604,115,10.219,140,2.047,144,2.502,160,3.017,162,3.603,164,4.257,180,4.477,186,4.477,279,6.636,376,4.404,698,9.051,744,9.405,1025,7.484,1423,11.572,2154,12.954,2186,8.956,2187,12.954,2190,7.306,4605,13.58,4606,12.954,4607,12.455,4608,12.039]],["keywords/580",[]],["title/581",[4609,1331.557]],["content/581",[7,6.286,18,6.943,52,3.711,59,4.906,91,4.07,115,7.281,139,1.64,140,1.459,144,2.318,151,4.4,160,2.15,162,3.03,164,3.944,180,3.19,186,3.19,194,3.383,219,5.623,230,4.741,279,5.277,333,5.566,376,3.138,447,4.181,535,13.455,646,6.688,673,5.087,698,7.197,744,7.478,752,5.289,758,8.147,1094,15.127,1423,9.201,2154,9.23,2186,9.49,2187,9.23,2190,7.419,2563,6.224,2651,8.324,2915,12.226,2967,11.548,4328,13.156,4606,15.329,4607,8.874,4609,9.676,4610,21.5,4611,8.578]],["keywords/581",[]],["title/582",[7,413.302]],["content/582",[7,6.619,50,5.057,69,9.009,119,7.707,138,5.811,140,1.926,153,5.711,167,7.418,185,7.223,194,4.468,265,7.39,274,8.127,339,8.879,437,7.631,593,8.638,673,6.719,698,10.269,750,6.62,1457,12.191,2186,9.993,2915,14.785,3150,9.449,4576,13.568,4605,16.678,4609,16.678,4612,14.765]],["keywords/582",[]],["title/583",[4269,828.284]],["content/583",[7,6.01,140,2.106,144,2.015,160,3.103,164,3.428,186,4.605,285,6.137,323,10.158,324,9.847,350,3.786,432,12.045,679,14.102,806,9.57,2186,6.546,2190,9.5,2544,12.383,4269,13.053,4597,12.017,4598,12.841,4613,12.811,4614,15.191,4615,16.139]],["keywords/583",[]],["title/584",[4268,877.275]],["content/584",[7,6.431,140,2.019,144,1.932,160,2.976,164,3.287,186,4.415,285,5.884,323,9.739,324,9.441,350,3.631,432,11.811,679,13.729,806,9.176,2186,6.276,2190,9.249,2544,11.874,2649,9.903,4268,13.649,4598,12.502,4613,12.284,4614,14.79,4616,14.22,4617,15.241,4618,13.394,4619,15.474]],["keywords/584",[]],["title/585",[4620,1114.932]],["content/585",[7,6.39,40,8.646,140,1.978,144,1.893,160,2.916,164,3.221,186,4.326,285,5.765,323,9.543,324,9.251,350,3.557,375,6.562,432,11.697,679,15.017,795,6.749,2093,11.634,2186,6.15,2190,10.116,2544,11.634,2649,9.703,4598,12.339,4613,12.036,4614,16.177,4617,16.67,4618,13.124,4620,15.745]],["keywords/585",[]],["title/586",[850,1331.557]],["content/586",[7,6.39,40,8.646,140,1.978,144,1.893,160,2.916,164,3.221,186,4.326,285,5.765,323,9.543,324,9.251,350,3.557,375,6.562,432,11.697,679,15.017,795,6.749,850,18.804,2093,11.634,2186,6.15,2190,10.116,2544,11.634,2649,9.703,4598,12.339,4613,12.036,4614,16.177,4617,16.67,4618,13.124]],["keywords/586",[]],["title/587",[4617,1180.425]],["content/587",[7,5.929,20,7.535,40,10.452,52,5.798,91,4.984,140,2.391,144,1.709,160,2.633,162,2.991,164,2.908,180,5.23,186,3.906,198,6.878,274,7.535,333,6.816,679,12.669,758,6.008,806,8.117,2136,9.921,2186,5.553,2190,8.535,2563,10.205,2629,13.086,2649,11.73,2830,10.504,4608,10.504,4614,13.648,4617,15.855,4621,11.849,4622,17.885,4623,15.865]],["keywords/587",[]],["title/588",[4607,1221.21]],["content/588",[7,5.929,20,7.535,40,10.452,52,5.798,59,6.008,91,4.984,140,2.391,144,1.709,160,2.633,162,2.991,164,2.908,180,5.23,186,3.906,198,6.878,274,7.535,333,6.816,679,12.669,758,6.008,806,8.117,2186,5.553,2190,8.535,2563,10.205,2629,13.086,2649,11.73,2830,10.504,4607,16.403,4608,10.504,4614,13.648,4621,11.849,4622,17.885,4623,15.865]],["keywords/588",[]],["title/589",[4624,1413.703]],["content/589",[7,5.857,20,7.313,40,10.244,52,5.762,91,4.837,140,2.344,144,1.659,160,2.555,162,2.932,164,2.822,180,5.126,186,3.791,198,6.675,217,5.866,274,7.313,333,6.615,758,5.831,806,7.878,1330,8.503,1335,9.184,2186,5.389,2190,8.365,2563,10.001,2573,8.816,2629,12.928,2649,11.497,2830,10.195,4235,8.654,4599,9.629,4608,10.195,4621,11.5,4622,17.616,4623,15.549,4624,18.703,4625,11.5,4626,16.508]],["keywords/589",[]],["title/590",[62,514.328]],["content/590",[7,4.431,20,9.077,52,5.263,62,6.915,140,2.152,144,2.059,160,3.172,164,4.393,186,4.706,375,8.951,446,9.556,689,12.28,698,7.449,883,9.405,1330,10.555,2170,17.077,2190,7.68,2544,17.338,4269,8.88,4626,15.156,4627,16.493,4628,16.493]],["keywords/590",[]],["title/591",[2915,1180.425]],["content/591",[7,6.052,18,6.74,40,8.746,52,3.573,59,6.731,91,3.859,139,2.25,140,1.383,144,1.915,151,4.172,160,2.039,162,1.73,164,3.258,180,3.025,186,3.025,194,3.208,217,3.462,219,5.413,230,4.496,243,5.898,244,5.898,265,3.446,279,5.079,333,5.278,447,3.965,535,13.061,646,7.115,673,4.824,698,6.928,752,5.015,758,7.909,1094,14.817,1123,5.8,1423,8.857,2154,8.753,2186,9.356,2190,7.142,2595,7.569,2649,9.816,2651,7.894,2915,15.154,2967,11.116,3150,6.784,4600,7.894,4606,12.664,4607,12.175,4610,21.198,4611,8.134,4629,10.601,4630,10.601,4631,15.338]],["keywords/591",[]],["title/592",[4632,1063.343]],["content/592",[5,2.57,31,9.144,52,2.939,75,5.387,108,8.075,120,7.025,130,4.301,140,2.585,143,3.885,144,1.575,160,3.335,162,3.651,164,4.209,167,9.956,186,3.6,189,4.995,194,3.818,208,2.468,240,5.94,262,8.372,322,5.616,376,5.563,447,4.719,596,8.721,676,5.182,686,8.964,695,6.945,698,5.699,701,9.144,754,7.587,775,4.198,941,5.875,1025,8.272,1735,7.482,1789,8.242,2186,10.142,2187,10.418,4632,8.721,4633,17.343,4634,10.921,4635,10.418,4636,12.618,4637,12.618]],["keywords/592",[]],["title/593",[2186,487.983,4599,871.939]],["content/593",[5,2.768,144,2.332,221,9.137,460,11.571,1789,9.283,2186,10.031,2573,14.81,4599,16.176,4638,14.827]],["keywords/593",[]],["title/594",[4235,1001.987]],["content/594",[120,8.441,139,2.225,140,1.978,144,1.893,160,2.916,180,4.326,186,4.326,217,4.951,221,9.59,340,5.406,350,4.599,362,7.354,375,6.562,643,6.9,875,7.689,1170,8.991,1789,6.306,1832,10.721,1901,11.634,2186,9.881,2190,9.128,4235,15.491,4599,15.745,4620,10.989,4638,12.036,4639,13.933,4640,11.634,4641,15.162,4642,12.519]],["keywords/594",[]],["title/595",[4600,1145.489]],["content/595",[41,7.784,59,6.609,120,8.385,139,2.21,140,1.965,144,1.88,160,2.896,180,5.569,186,4.297,217,4.918,221,9.548,222,9.056,350,3.534,375,6.518,643,6.853,875,7.637,1170,8.931,1789,6.264,1832,13.802,1901,11.556,2186,8.784,2190,10.084,2573,9.993,3075,11.556,4235,12.713,4600,14.534,4620,14.146,4625,16.895,4638,11.956,4640,11.556,4642,12.435,4643,13.84,4644,13.84]],["keywords/595",[]],["title/596",[2573,1020.777]],["content/596",[120,9.318,139,2.456,140,2.184,144,2.089,160,3.219,180,4.776,186,4.776,217,5.466,221,8.188,350,3.927,375,7.244,808,8.917,875,8.487,1170,9.925,1832,11.835,1901,12.843,2186,9.227,2190,9.72,2573,15.094,4620,12.13,4638,13.287,4639,15.381,4640,12.843,4642,13.82]],["keywords/596",[]],["title/597",[4645,1413.703]],["content/597",[41,7.943,59,6.744,120,8.556,139,2.255,140,2.005,144,1.919,160,2.955,180,5.642,186,4.385,217,5.019,221,9.674,222,9.242,350,3.606,375,6.652,643,6.994,795,6.841,875,7.793,1170,9.113,1832,10.867,1901,11.793,2186,8.869,2190,10.181,2573,10.198,3075,11.793,4620,14.332,4625,17.117,4638,12.2,4640,11.793,4642,12.69,4643,14.123,4644,14.123,4645,18.173]],["keywords/597",[]],["title/598",[4646,1413.703]],["content/598",[53,6.975,84,4.809,120,8.275,130,5.066,139,2.181,140,1.939,144,1.855,160,2.858,164,3.157,180,4.241,186,4.241,217,4.853,221,7.271,232,7.148,350,3.487,375,6.432,795,6.616,859,11.404,875,7.537,1170,8.813,1330,9.512,1335,10.273,1832,10.509,2186,8.728,2190,11.283,2249,11.798,4620,14.025,4640,11.404,4646,17.783,4647,14.863,4648,14.863,4649,21.518,4650,12.864,4651,12.864,4652,12.864]],["keywords/598",[]],["title/599",[4653,1413.703]],["content/599",[37,4.605,120,7.668,139,2.7,140,1.797,144,1.719,160,2.649,180,5.251,186,3.93,217,6.01,221,6.738,222,8.282,350,4.318,375,5.961,652,7.189,795,6.131,808,7.338,875,6.984,918,7.338,1497,8.282,1789,5.729,1832,9.739,2186,8.407,2190,11.604,3669,10.568,4235,8.971,4263,11.921,4268,7.854,4598,8.669,4616,12.657,4620,13.338,4640,10.568,4650,11.921,4651,11.921,4652,11.921,4653,16.912,4654,13.773,4655,12.657,4656,13.773,4657,13.773,4658,13.773,4659,13.773,4660,13.773]],["keywords/599",[]],["title/600",[4661,1413.703]],["content/600",[130,6.879,221,9.873,632,9.184,2186,8.186,3669,15.486,4662,17.469]],["keywords/600",[]],["title/601",[4662,1331.557]],["content/601",[59,8.953,130,5.501,140,2.106,144,2.015,160,3.103,164,3.428,186,4.605,217,7.305,221,7.895,349,5.15,632,9.284,1330,10.328,1335,11.155,2186,6.546,2190,10.945,4235,10.511,4599,11.696,4650,13.969,4651,13.969,4652,13.969,4655,14.831,4661,14.831,4662,17.659,4663,16.139,4664,20.402]],["keywords/601",[]],["title/602",[1800,1270.201]],["content/602",[44,10.792,79,6.306,140,2.2,144,2.105,160,3.243,164,3.582,180,5.983,186,4.811,337,5.285,349,5.381,467,9.738,573,6.798,594,9.178,643,7.673,1800,18.845,2114,15.496,2161,14.595,2186,8.506,4268,11.959,4269,11.291,4665,16.863,4666,16.863]],["keywords/602",[]],["title/603",[2186,487.983,4667,1105.594]],["content/603",[5,2.863,203,11.016,208,3.778,355,11.616,791,13.353,1122,17.752,1692,15.95,1789,8.035,2186,7.835,4134,12.818,4667,17.752]],["keywords/603",[]],["title/604",[2190,716.328]],["content/604",[37,5.723,52,3.987,59,9.289,140,2.234,144,2.137,160,3.292,164,3.636,166,10.015,186,4.884,197,6.777,208,4.14,221,8.374,349,6.755,1026,8.303,1789,7.12,2186,8.586,2190,10.7,4668,14.817,4669,17.119,4670,17.119]],["keywords/604",[]],["title/605",[4671,1331.557]],["content/605",[5,2.791,141,7.988,144,2.351,186,5.374,339,11.325,349,6.011,564,12.053,1789,7.834,1827,10.034,2190,10.445,2573,12.497,4671,16.302,4672,14.951]],["keywords/605",[]],["title/606",[4237,1063.343]],["content/606",[59,7.998,140,2.378,144,2.275,160,3.505,164,3.871,186,5.2,349,7.019,877,12.334,1789,7.58,2190,8.486,3822,15.048,4237,15.202,4668,15.775,4671,15.775,4673,18.226,4674,18.226]],["keywords/606",[]],["title/607",[4675,1413.703]],["content/607",[140,2.136,144,2.044,160,3.149,164,4.373,186,4.672,217,5.347,221,8.009,232,7.874,375,7.086,646,5.899,808,8.723,875,8.303,1134,10.478,2186,6.641,2190,9.586,4235,10.664,4268,11.74,4269,8.815,4597,12.191,4598,12.958,4675,21.714,4676,20.588,4677,16.373,4678,16.373]],["keywords/607",[]],["title/608",[208,235.32,2186,487.983]],["content/608",[5,3.122,52,4.908,78,6.46,137,5.848,140,2.217,157,8.038,166,9.939,208,4.683,325,9.571,349,6.724,358,4.26,376,4.769,675,9.688,855,8.936,1294,9.811,1789,7.066,2186,9.289,3407,11.066]],["keywords/608",[]],["title/609",[1709,795.129]],["content/609",[45,2.286,48,2.911,52,4.325,62,3.737,78,4.251,84,3.617,137,6.966,139,2.969,140,1.459,144,1.396,151,4.4,160,2.15,161,5.165,162,3.63,164,3.944,180,6.104,181,5.431,186,3.19,234,7.728,243,6.128,244,6.128,277,3.397,290,6.298,349,5.085,350,5.019,358,5.364,376,4.473,428,7.036,483,7.727,564,7.154,568,6.093,634,15.329,695,8.77,698,5.049,808,8.488,1066,6.298,1153,7.093,1497,9.581,1709,11.057,2186,6.463,2251,9.23,3221,7.795,4268,9.086,4269,8.579,4679,11.179,4680,10.273,4681,11.179]],["keywords/609",[]],["title/610",[223,752.563]],["content/610",[45,2.108,48,2.685,52,4.132,62,3.447,78,5.716,84,4.863,137,7.133,139,3.174,140,1.345,141,4.373,144,1.287,151,4.058,160,1.983,161,4.764,162,3.531,164,3.768,180,6.373,181,5.123,186,2.942,223,7.353,234,9.455,243,3.965,277,3.204,290,5.808,349,4.797,350,5.241,358,4.448,376,4.219,428,6.489,439,10.518,442,6.291,513,9.038,564,6.598,568,5.748,634,14.646,695,10.729,698,4.657,711,14.515,722,9.974,808,5.493,1072,7.552,1153,6.691,1259,6.978,1497,9.038,1709,5.329,2186,6.097,3221,5.044,4268,8.571,4269,8.093,4682,10.31,4683,10.31,4684,10.31]],["keywords/610",[]],["title/611",[4685,1413.703]],["content/611",[41,9.29,45,2.158,48,2.748,52,5.366,62,3.528,78,4.012,84,4.946,89,4.389,97,4.389,136,2.449,137,7.507,139,1.548,140,1.377,144,1.908,151,4.153,158,6.125,160,2.029,161,4.875,162,3.559,164,3.818,180,5.128,181,6.717,186,3.011,189,4.177,208,2.99,224,3.446,243,5.878,277,3.258,278,4.389,286,8.717,336,4.128,340,3.762,349,4.878,350,3.586,358,4.941,376,4.291,423,4.697,568,7.536,637,6.641,657,8.376,658,7.461,698,4.766,809,5.743,928,10.808,1123,3.99,1725,7.857,2498,8.096,2563,5.874,2595,5.207,2616,9.133,2629,6.257,3175,12.134,3221,5.162,3407,6.872,4328,12.621,4685,14.047,4686,9.696,4687,9.696,4688,9.696,4689,9.696,4690,10.552,4691,10.552]],["keywords/611",[]],["title/612",[2190,716.328]],["content/612",[5,2.082,7,5.01,40,5.364,42,11.213,45,1.924,52,5.053,62,3.145,137,3.238,138,3.702,139,2.061,140,1.833,143,4.326,144,1.174,151,5.529,160,2.701,161,4.346,162,3.416,164,4.239,180,5.321,185,6.872,186,2.684,228,8.142,243,3.618,277,2.995,290,9.471,324,5.74,349,4.483,350,4.375,358,3.522,376,3.943,423,7.484,542,9.934,568,5.372,575,8.112,669,6.366,698,6.345,821,6.242,875,4.77,1078,6.366,1313,11.599,1337,7.468,1409,5.657,1662,8.99,1900,5.3,2190,9.747,2298,8.142,2352,12.909,2354,10.46,2563,9.36,2629,5.578,2911,7.218,2972,8.142,3221,4.602,3822,11.599,3831,8.645,4140,11.599,4268,8.011,4269,7.564,4393,18.411,4692,9.407,4693,9.407,4694,15.45]],["keywords/612",[]],["title/613",[4695,1413.703]],["content/613",[45,2.524,52,5.169,62,5.71,137,4.248,139,1.811,140,1.61,143,3.8,144,1.541,151,4.857,160,2.373,161,5.702,162,3.841,164,4.161,180,5.589,186,3.521,208,2.414,230,5.234,243,6.568,277,3.641,349,6.251,350,4.596,358,5.3,376,4.794,483,8.53,568,6.531,646,4.446,748,8.726,750,5.533,771,10.19,803,6.717,808,6.575,830,8.189,843,7.645,1497,7.421,1736,9.47,2182,9.992,2190,5.747,3180,14.102,3221,6.037,3425,11.125,4269,9.196,4598,7.768,4695,15.696,4696,10.682,4697,15.696]],["keywords/613",[]],["title/614",[2967,1114.932]],["content/614",[41,6.991,45,2.766,52,5.337,62,4.522,84,5.882,89,5.626,137,4.655,139,1.985,140,1.765,143,4.165,144,1.688,151,5.323,160,2.601,161,6.249,162,3.935,164,4.363,180,5.188,186,3.859,243,6.992,277,3.876,286,10.368,349,5.802,350,4.266,358,5.15,376,5.104,568,7.854,809,7.362,928,12.856,2190,6.298,2476,8.809,2616,11.707,2967,13.177,3221,6.616,3407,8.809,4698,11.168]],["keywords/614",[]],["title/615",[4699,1413.703]],["content/615",[41,6.414,45,2.538,52,5.18,59,5.446,62,5.732,84,6.356,89,5.161,137,4.271,139,1.821,140,1.619,143,3.821,144,1.549,151,4.884,160,4.276,161,5.733,162,3.753,163,6.178,164,4.173,180,5.605,186,3.541,208,2.427,243,6.593,244,6.593,277,3.655,286,9.777,349,6.762,350,4.609,358,5.312,376,4.813,568,6.556,809,6.754,1330,7.942,2190,7.983,2476,8.082,2595,6.124,3221,6.07,3407,8.082,4698,10.246,4699,15.755,4700,12.409]],["keywords/615",[]],["title/616",[4606,1270.201]],["content/616",[41,7.437,45,2.942,52,5.448,62,4.81,84,6.129,89,5.985,137,4.952,139,2.111,140,1.877,143,4.431,151,5.663,160,2.767,161,6.648,162,3.996,164,4.499,180,5.405,277,4.038,286,10.804,349,6.046,350,4.445,358,5.311,376,5.318,568,7.244,809,7.831,2186,5.836,2190,6.7,3221,7.039,3407,9.371,4611,11.04]],["keywords/616",[]],["title/617",[4701,1413.703]],["content/617",[41,6.908,45,2.733,52,5.316,62,4.468,84,5.835,89,5.559,137,4.6,139,1.961,140,1.744,143,4.116,144,1.668,151,5.26,160,2.57,161,6.175,162,3.923,164,4.336,180,5.146,186,3.813,243,6.936,244,6.936,277,3.845,286,10.285,349,5.756,350,4.232,358,5.118,376,5.063,568,7.806,809,7.274,2186,5.421,2190,6.223,2476,8.705,2595,8.9,3221,6.538,3407,8.705,4701,16.574,4702,11.035]],["keywords/617",[]],["title/618",[4703,1413.703]],["content/618",[41,5.187,45,2.052,52,5.566,62,4.927,84,4.768,89,4.174,137,3.454,139,2.562,140,1.309,143,3.09,144,1.253,151,3.95,159,5.587,160,1.93,161,4.636,162,3.615,164,4.354,180,5.491,186,2.863,208,2.882,217,4.812,243,5.667,244,5.667,277,3.141,286,8.403,349,6.141,350,4.515,358,5.14,376,4.137,568,5.635,646,3.615,651,6.034,652,5.238,803,10.474,809,5.462,840,9.129,1089,6.536,1497,6.034,2041,10.186,2182,12.537,2186,4.07,2190,4.673,2476,6.536,2595,7.272,3183,7.273,3221,4.909,3407,6.536,3481,8.686,3530,7.966,4172,11.307,4268,8.403,4269,7.934,4703,13.542,4704,8.286,4705,12.755,4706,8.686,4707,12.755]],["keywords/618",[]],["title/619",[4393,1270.201]],["content/619",[5,2.479,7,6.11,40,9.54,45,1.908,52,5.297,62,5.593,137,3.211,138,3.672,139,2.455,140,1.822,143,4.299,144,1.743,151,3.672,160,2.685,161,4.31,162,3.406,164,4.433,180,5.299,185,4.564,186,2.662,208,1.825,219,4.927,231,8.075,235,8.573,243,5.369,277,2.976,324,5.692,336,3.65,349,4.455,350,4.357,358,3.5,376,3.919,423,7.447,568,5.339,646,5.03,669,6.314,698,6.306,1078,6.314,1084,4.776,1123,3.528,1409,8.395,1662,8.935,1900,5.256,2563,10.339,2628,6.597,2629,9.92,3175,7.406,3183,6.761,3221,4.564,4140,11.527,4268,7.961,4269,7.517,4393,18.365,4608,7.158,4694,20.44,4708,9.329,4709,9.329]],["keywords/619",[]],["title/620",[4611,1180.425]],["content/620",[45,2.654,51,4.652,52,5.03,62,4.34,137,4.468,139,2.595,140,1.694,144,1.62,151,5.109,158,5.201,160,2.496,161,5.997,162,3.805,164,4.272,180,5.738,186,3.704,243,6.8,244,6.8,277,3.769,349,5.643,350,4.718,358,4.434,376,4.964,568,7.69,643,5.907,683,9.96,803,9.624,806,7.697,1497,7.805,2182,10.345,2563,7.227,2573,8.613,2595,8.726,3183,9.407,3221,6.35,3530,10.304,4268,10.084,4269,9.52,4611,13.568]],["keywords/620",[]],["title/621",[4702,1270.201]],["content/621",[45,2.654,51,4.652,52,5.03,62,4.34,137,4.468,139,2.595,140,1.694,144,1.62,151,5.109,158,5.201,160,2.496,161,5.997,162,3.805,164,4.272,180,5.738,186,3.704,243,6.8,244,6.8,277,3.769,349,5.643,350,4.718,358,4.434,376,4.964,568,7.69,643,5.907,683,9.96,803,9.624,806,7.697,1497,7.805,2182,10.345,2563,7.227,2595,8.726,3183,9.407,3221,6.35,3530,10.304,4235,8.455,4268,10.084,4269,9.52,4702,14.6]],["keywords/621",[]],["title/622",[4710,1413.703]],["content/622",[45,2.685,52,4.712,62,4.39,137,4.52,140,1.713,144,1.639,151,5.168,158,5.262,160,2.525,161,6.067,162,3.973,164,4.609,180,6.191,186,3.747,243,6.854,244,6.854,277,3.799,349,5.688,350,4.747,351,6.538,358,5.688,376,5.003,425,8.644,568,7.736,795,5.845,2120,10.076,2563,7.311,2595,8.795,3221,6.424,4140,14.715,4710,16.378,4711,13.132,4712,16.378]],["keywords/622",[]],["title/623",[4713,1413.703]],["content/623",[41,7.033,45,2.782,52,5.348,62,4.549,84,5.906,89,5.66,137,4.684,139,1.997,140,1.775,143,4.19,144,1.699,151,5.355,160,2.617,161,6.287,162,3.858,164,4.376,180,5.209,186,3.882,243,7.02,244,7.02,277,3.891,286,10.41,349,5.826,350,4.283,358,5.165,376,5.124,568,7.878,809,7.406,2476,8.863,2595,9.008,3221,6.656,3407,8.863,4611,10.441,4713,16.775]],["keywords/623",[]],["title/624",[4714,1413.703]],["content/624",[41,7.033,45,2.782,52,5.348,62,4.549,84,5.906,89,5.66,137,4.684,139,1.997,140,1.775,143,4.19,144,1.699,151,5.355,160,2.617,161,6.287,162,3.858,164,4.376,180,5.209,186,3.882,243,7.02,244,7.02,277,3.891,286,10.41,349,5.826,350,4.283,358,5.165,376,5.124,568,7.878,697,6.656,2476,8.863,2595,9.008,3221,6.656,3407,8.863,4702,11.235,4714,16.775]],["keywords/624",[]],["title/625",[4715,1413.703]],["content/625",[41,5.257,45,2.08,52,5.582,62,4.976,84,4.815,89,4.23,137,3.501,139,2.582,140,1.327,143,3.132,144,1.27,151,4.003,159,5.662,160,1.956,161,4.699,162,3.514,164,4.378,180,5.526,186,2.902,208,2.911,217,4.86,243,5.723,244,5.723,277,3.172,286,8.487,349,6.181,350,4.544,358,5.168,376,4.177,568,5.691,646,3.664,651,6.116,652,5.309,803,10.542,809,5.536,840,9.219,1089,6.624,1497,6.116,2041,10.287,2182,12.597,2476,6.624,2595,7.344,3183,7.371,3221,4.975,3407,6.624,3481,8.803,3530,8.074,4172,11.419,4268,8.487,4269,8.013,4704,8.398,4705,12.881,4706,8.803,4707,12.881,4715,13.676]],["keywords/625",[]],["title/626",[4716,1413.703]],["content/626",[5,0.978,7,3.604,45,2.18,48,4.402,52,4.892,62,3.564,63,13.219,84,5.849,137,2.272,138,2.597,139,0.968,140,2.584,141,2.799,143,2.032,144,1.331,151,7.116,160,3.808,161,4.926,162,3.572,164,4.726,180,5.158,185,3.228,186,1.883,208,2.085,224,4.38,243,4.1,244,2.538,256,3.706,273,4.324,277,3.283,292,6.208,340,2.353,349,6.854,350,3.613,358,5.128,375,4.614,376,5.558,568,5.889,628,4.78,669,4.466,698,6.956,746,3.592,849,5.261,882,6.237,883,6.08,1150,4.888,1288,13.103,1294,3.811,1662,4.224,2090,8.066,2568,4.466,2595,3.257,2611,5.449,3140,8.584,3200,12.872,3425,4.298,3895,8.803,3896,8.803,3897,8.803,3898,8.803,3899,8.803,3906,5.449,4268,6.08,4269,3.553,4597,4.914,4598,6.71,4672,8.463,4716,9.797,4717,6.6,4718,5.449,4719,5.712,4720,5.712,4721,5.712,4722,5.712,4723,5.712,4724,5.712,4725,5.712,4726,5.712]],["keywords/626",[]],["title/627",[4727,1331.557]],["content/627",[5,0.961,7,4.096,45,2.15,48,4.671,52,4.865,62,3.515,63,13.145,84,5.803,137,2.232,138,2.553,139,0.952,140,2.567,143,1.997,144,1.312,151,7.059,160,3.783,161,4.857,162,3.555,164,4.704,180,5.117,186,1.85,208,2.056,224,4.329,243,2.494,244,2.494,256,3.654,273,4.264,277,3.25,292,6.753,340,2.312,349,6.818,350,3.577,358,4.736,375,5.737,376,5.522,568,5.829,628,4.713,669,4.389,698,6.886,746,3.53,806,3.846,830,4.303,849,5.188,882,6.15,883,5.995,1150,4.82,1288,12.999,1294,3.745,1662,4.151,2090,7.971,2120,8.066,2568,4.389,2595,3.2,2611,5.355,3140,9.756,3169,5.614,3200,12.795,3388,5.614,3895,8.68,3896,8.68,3897,8.68,3898,8.68,3899,8.68,3906,5.355,4268,5.995,4269,3.492,4597,4.829,4598,6.616,4672,8.345,4718,5.355,4719,5.614,4720,5.614,4721,5.614,4722,5.614,4723,5.614,4724,5.614,4725,5.614,4726,5.614,4727,11.473,4728,6.486]],["keywords/627",[]],["title/628",[4729,1413.703]],["content/628",[5,0.978,7,3.604,29,2.582,45,2.18,48,4.709,52,4.892,62,3.564,63,13.219,84,5.849,137,2.272,138,2.597,139,0.968,140,2.584,143,3.283,144,1.331,151,7.116,160,3.808,161,4.926,162,3.631,164,4.726,180,5.158,186,1.883,208,1.291,224,4.38,243,2.538,244,2.538,256,3.706,273,4.324,277,3.283,292,6.208,340,2.353,349,6.854,350,3.613,358,4.77,375,4.614,376,5.558,568,5.889,628,4.78,669,4.466,698,6.956,746,3.592,849,5.261,882,6.237,883,6.08,1150,4.888,1288,13.103,1294,3.811,1521,4.666,1662,4.224,2090,8.066,2190,3.073,2568,4.466,2595,3.257,2611,5.449,3140,9.856,3200,12.463,3895,8.803,3896,8.803,3897,8.803,3898,8.803,3899,8.803,3906,5.449,4268,6.08,4269,3.553,4597,4.914,4598,6.71,4672,8.463,4718,5.449,4719,5.712,4720,5.712,4721,5.712,4722,5.712,4723,5.712,4724,5.712,4725,5.712,4726,5.712,4727,5.712,4729,9.797,4730,6.6]],["keywords/628",[]],["title/629",[4731,1413.703]],["content/629",[5,2.132,20,7.919,45,2.942,48,3.747,52,3.351,137,6.521,140,1.877,144,1.796,160,2.767,161,6.648,162,3.919,164,4.782,185,7.039,186,4.105,243,5.533,259,6.7,277,4.515,333,7.164,349,4.592,358,5.311,392,10.174,513,13.535,568,5.502,647,8.106,676,5.909,920,9.208,938,8.309,1114,9.371,1125,18.333,4731,13.222,4732,18.945,4733,14.389]],["keywords/629",[]],["title/630",[4696,1331.557]],["content/630",[5,1.839,45,2.538,52,5.18,62,4.149,137,4.271,139,1.821,140,1.619,144,1.549,151,4.884,160,2.386,161,5.733,162,3.753,164,4.173,180,5.605,186,3.541,208,2.427,243,6.593,277,3.655,349,6.762,350,4.609,358,4.925,376,4.813,568,6.556,646,4.471,748,8.774,750,5.564,752,5.871,796,9.522,803,6.754,808,9.134,830,8.234,843,7.687,1497,7.462,1736,9.522,2182,11.492,3180,16.219,3221,6.07,3425,11.167,4269,9.231,4598,7.81,4696,14.84,4697,15.755,4734,12.409]],["keywords/630",[]],["title/631",[4704,1270.201]],["content/631",[45,2.188,52,5.572,62,5.163,137,3.683,139,2.266,140,1.396,144,1.336,151,4.212,159,5.958,160,2.058,161,4.944,162,3.577,164,4.468,180,5.17,186,3.053,208,3.02,217,5.043,243,5.939,244,5.939,277,3.292,349,6.712,350,4.251,358,5.274,376,4.335,568,5.905,646,3.855,651,6.435,652,5.586,671,4.798,803,11.448,806,6.346,808,9.652,840,9.566,1089,6.97,1497,6.435,2041,10.674,2182,13.217,2595,7.621,3183,7.756,3221,5.235,4172,11.849,4268,8.806,4269,8.314,4704,12.751,4705,13.366,4706,9.263]],["keywords/631",[]],["title/632",[4735,1413.703]],["content/632",[7,5.945,27,9.095,59,6.919,139,2.95,140,1.437,144,1.375,151,4.335,160,2.118,162,1.798,164,2.34,180,4.499,186,3.143,208,3.602,243,8.511,244,7.731,305,8.678,336,4.31,349,5.032,358,3.953,573,6.356,698,7.121,938,11.608,1019,6.098,1123,4.165,1187,7.789,1330,7.05,1335,7.614,1789,8.361,2168,12.14,2169,10.122,2174,12.516,2190,7.341,2548,6.933,2558,9.534,2563,6.133,2595,5.436,2596,8.452,2597,9.534,2672,10.122,2695,12.098,3199,10.122,3345,8.202,3995,9.095,4735,19.548,4736,11.015,4737,11.015,4738,11.015,4739,11.015,4740,15.767,4741,11.015,4742,11.015,4743,11.015,4744,11.015]],["keywords/632",[]],["title/633",[1383,1221.21]],["content/633",[7,4.829,29,4.128,45,2.158,52,5.469,62,3.528,139,3.301,140,1.377,144,1.317,151,4.153,160,2.029,161,4.875,162,3.559,164,3.818,180,3.011,186,3.011,201,9.575,204,6.409,208,2.064,219,5.395,230,6.483,232,5.075,243,5.878,244,4.058,277,3.258,333,5.253,336,4.128,349,6.96,350,3.586,358,3.833,376,4.291,568,5.845,573,4.254,646,7.1,803,8.32,806,12.932,808,5.621,1019,4.081,1123,3.99,1383,12.134,1789,6.358,2050,9.133,2120,8.096,2168,8.143,2182,13.16,2595,5.207,2695,8.096,4262,9.696,4384,9.696,4745,10.552,4746,10.552]],["keywords/633",[]],["title/634",[4747,1413.703]],["content/634",[41,7.682,45,3.039,59,6.522,139,2.839,140,1.939,144,1.855,160,2.858,161,6.867,162,3.955,164,4.571,180,5.521,186,4.241,187,5.528,243,5.716,244,5.716,277,4.125,350,4.54,358,4.852,877,10.058,1497,11.636,2602,12.271,4268,11.035,4269,10.419,4398,12.864,4613,15.362,4747,19.774,4748,14.863,4749,12.864]],["keywords/634",[]],["title/635",[52,358.338]],["content/635",[41,9.894,45,2.418,52,5.693,62,3.953,78,4.496,84,5.364,89,4.918,97,4.918,137,4.07,139,1.735,140,1.543,144,2.069,151,4.653,158,6.642,160,2.274,161,5.463,162,3.696,164,4.067,180,4.73,186,3.374,208,2.313,224,3.861,243,6.375,244,6.375,277,3.534,286,9.454,336,4.626,349,5.29,350,3.89,358,5.202,376,4.653,423,5.263,568,7.32,637,7.442,809,6.435,1123,4.471,1725,8.804,2476,7.701,2498,9.072,2563,6.583,2595,8.181,2629,7.011,3221,5.784,3407,7.701,4328,13.688,4686,10.865,4687,10.865,4688,10.865,4689,10.865]],["keywords/635",[]],["title/636",[65,769.966,2186,487.983]],["content/636",[5,2.723,64,6.202,65,14.144,203,10.478,2186,9.614,2222,15.171,3128,15.171,3168,15.903,4032,15.903,4134,14.665,4500,16.885,4750,18.374,4751,18.374]],["keywords/636",[]],["title/637",[1025,733.774]],["content/637",[1,2.067,2,5.496,5,3.338,7,1.86,35,3.387,52,3.688,59,4.862,75,2.956,89,2.88,91,4.034,96,4.105,102,2.114,110,4.224,139,3.304,140,1.446,141,4.7,142,3.479,144,1.977,145,6.304,150,3.038,160,1.331,162,1.808,164,2.943,173,3.017,180,1.975,181,3.777,186,1.975,196,4.829,202,6.502,204,2.469,206,5.717,208,2.167,225,3.458,227,2.954,231,5.993,240,3.795,252,3.199,256,2.407,265,2.25,279,2.293,295,9.591,297,6.362,308,5.496,321,3.082,337,2.17,349,3.536,350,1.624,352,5.337,353,2.976,362,3.358,376,3.11,443,3.651,455,3.855,494,3.768,564,8.865,573,2.791,628,3.104,676,2.843,700,5.584,775,2.304,812,3.855,813,2.937,912,4.786,937,3.728,957,5.966,958,3.447,966,6.76,1019,2.678,1025,10.742,1150,3.174,1386,4.686,1409,4.163,1464,5.155,1592,5.313,1714,9.795,1735,6.57,1759,5.496,1789,2.88,1818,6.399,1974,5.329,2003,5.717,2136,8.03,2186,4.494,2328,5.993,2504,5.313,2786,8.796,3121,4.594,3122,5.496,3243,5.717,3772,4.105,3875,8.25,4141,5.496,4337,5.993,4632,7.659,4752,6.362,4753,6.924,4754,6.924,4755,9.149,4756,11.08,4757,11.08,4758,11.08,4759,6.924,4760,6.924,4761,5.993,4762,6.924,4763,6.924,4764,11.08,4765,6.924,4766,6.924,4767,6.924,4768,5.717,4769,5.496,4770,6.924,4771,6.924,4772,6.924,4773,6.924,4774,6.924,4775,11.08,4776,6.924,4777,11.08,4778,6.924,4779,6.924,4780,6.924,4781,6.924]],["keywords/637",[]],["title/638",[4755,1270.201]],["content/638",[5,2.957,41,8.053,59,8.755,94,9.239,102,4.756,120,8.675,139,3.405,140,2.033,144,1.945,150,9.658,158,6.243,160,2.996,164,3.31,186,4.446,345,8.301,349,6.367,700,6.281,915,11.017,1025,7.432,1026,7.557,2381,10.77,4141,12.369,4359,16.473,4632,13.79,4755,12.865,4768,12.865,4782,15.581,4783,15.581,4784,15.581]],["keywords/638",[]],["title/639",[3122,1221.21]],["content/639",[5,2.761,59,10.18,102,4.283,120,7.811,139,2.734,140,1.831,144,1.751,145,8.479,153,5.427,158,5.622,160,2.698,164,2.98,180,4.003,186,4.003,219,4.952,256,4.877,322,6.245,349,6.676,358,3.518,376,5.23,855,7.903,915,9.921,1025,6.692,1151,11.647,1175,8.979,1307,11.929,1735,8.319,1818,8.102,2153,12.893,2381,9.698,3122,11.138,3875,10.447,4382,12.893,4632,12.879,4698,11.584,4768,11.584,4785,14.031,4786,14.031,4787,14.031]],["keywords/639",[]],["title/640",[1113,968.26]],["content/640",[5,2.996,48,4.144,59,6.982,102,4.857,120,8.858,139,2.967,140,2.076,144,1.986,158,6.375,160,3.06,180,4.54,186,4.54,349,5.078,350,3.733,855,6.748,915,11.25,1025,7.589,1113,15.529,2190,9.415,2381,10.998,3145,11.847,3875,11.847,4632,13.975,4788,14.621,4789,15.911,4790,15.911,4791,15.911]],["keywords/640",[]],["title/641",[4792,1331.557]],["content/641",[130,6.065,140,2.322,160,3.422,180,5.077,195,10.857,262,11.807,336,6.962,646,6.41,724,9.023,746,9.685,855,9.915,1025,10.339,2535,11.93,4793,17.897,4794,17.794,4795,16.352]],["keywords/641",[]],["title/642",[4793,1270.201]],["content/642",[5,2.716,37,4.577,59,8.044,102,4.179,120,7.622,139,3.376,140,1.786,142,6.878,144,1.709,158,5.485,160,2.633,164,2.908,170,12.162,179,6.816,186,3.906,217,4.47,219,4.831,336,5.356,349,5.849,614,6.53,646,6.603,700,5.519,724,6.942,746,7.451,855,7.774,915,9.68,1025,9.856,1026,6.64,1094,9.68,1841,11.938,2381,9.462,2535,7.535,4632,12.669,4668,11.849,4761,11.849,4792,15.865,4793,17.061,4795,16.844,4796,12.58,4797,12.58,4798,13.69]],["keywords/642",[]],["title/643",[4635,1270.201]],["content/643",[41,7.631,59,10.35,64,4.984,139,3.147,140,1.926,144,1.843,145,8.768,160,2.839,180,5.498,186,4.213,256,5.133,286,8.42,349,4.712,350,5.033,376,4.145,378,9.509,749,8.638,809,10.488,1025,7.043,1445,11.721,1735,11.426,1818,8.526,2586,6.875,3875,10.994,4269,7.95,4632,10.206,4635,12.191,4752,13.568,4768,12.191,4799,14.765,4800,13.568,4801,14.765,4802,14.765,4803,14.765]],["keywords/643",[]],["title/644",[224,502.358]],["content/644",[5,2.996,59,6.982,102,4.857,120,8.858,139,2.967,140,2.076,144,1.986,158,6.375,160,3.06,180,4.54,186,4.54,224,8.185,349,5.078,350,3.733,855,6.748,915,11.25,1025,7.589,2090,9.568,2190,9.415,2381,10.998,3145,11.847,3875,11.847,4632,13.975,4788,14.621,4804,15.911,4805,15.911]],["keywords/644",[]],["title/645",[2186,487.983,2775,798.304]],["content/645",[5,2.723,42,11.048,208,3.594,221,8.988,349,5.864,671,8.238,1168,13.316,1789,7.642,2186,7.452,2775,15.728,4238,12.435,4264,12.992,4591,13.681,4806,15.171,4807,16.885]],["keywords/645",[]],["title/646",[2775,1020.777]],["content/646",[42,9.99,108,10.633,140,2.168,160,3.195,164,4.414,178,9.594,221,8.127,643,7.56,1168,12.041,2186,9.635,2775,16.793,4238,11.244,4264,11.748,4268,11.849,4269,8.945,4597,12.371,4599,12.041,4806,13.718,4807,15.268]],["keywords/646",[]],["title/647",[4808,1413.703]],["content/647",[29,7.057,42,10.845,59,10.548,139,1.961,140,1.744,144,1.668,160,2.57,164,4.336,180,5.146,186,3.813,217,4.364,350,3.136,375,7.806,460,13.539,790,6.842,808,9.609,809,7.274,2170,14.892,2476,8.705,2563,10.041,2629,7.925,2649,8.553,2775,15.143,3191,11.568,3580,11.543,4238,12.206,4264,12.753,4591,13.43,4749,11.568,4808,16.574,4809,14.317,4810,12.282,4811,13.365,4812,13.365,4813,13.365]],["keywords/647",[]],["title/648",[4814,1331.557]],["content/648",[29,6.234,42,9.581,45,2.286,52,4.714,59,9.388,62,3.737,137,3.848,139,1.64,140,1.459,144,1.396,151,4.4,153,4.324,160,2.15,161,5.165,162,3.63,164,4.544,180,5.297,186,3.19,208,2.187,217,3.65,243,6.128,244,6.128,277,3.397,349,3.568,350,3.738,358,4.655,375,6.896,376,4.473,460,12.536,568,6.093,790,8.156,795,4.976,808,5.956,809,8.672,1168,8.102,1497,6.722,2170,13.156,2563,8.871,2595,5.517,2596,8.578,2629,6.629,2649,7.154,2775,13.428,3191,9.676,3221,7.795,3580,10.197,4238,10.783,4264,11.266,4591,8.324,4749,9.676,4809,8.874,4814,13.791]],["keywords/648",[]],["title/649",[2776,1331.557]],["content/649",[5,1.762,7,5.158,42,10.005,45,2.431,136,3.862,138,4.678,140,2.171,143,3.66,144,1.484,160,3.2,161,5.492,162,3.573,164,4.65,186,3.391,217,3.881,237,8.85,242,6.696,243,4.571,329,6.143,331,5.492,349,3.793,460,12.883,513,12.506,573,4.792,646,4.282,698,7.515,790,8.517,795,7.406,1019,4.597,1497,10.005,1789,9.105,2695,9.12,2775,13.8,2776,16.617,3580,10.649,4238,11.261,4264,11.765,4398,10.288,4680,17.642,4815,11.886,4816,10.923,4817,11.886,4818,11.886,4819,11.886,4820,11.886,4821,11.886]],["keywords/649",[]],["title/650",[2777,1331.557]],["content/650",[5,1.75,7,5.377,42,9.958,45,2.414,46,4.848,52,4.662,62,2.507,136,2.74,137,2.581,138,2.951,140,1.905,143,2.309,144,1.823,151,2.951,160,2.808,161,5.454,162,3.564,164,4.878,173,3.268,180,3.368,186,2.14,208,2.309,217,2.449,242,4.225,243,4.54,244,2.884,277,2.516,279,2.483,282,4.447,327,4.175,329,6.102,331,5.454,336,2.934,349,5.748,350,3.885,358,2.96,376,3.314,423,5.255,460,12.845,513,14.599,568,4.514,573,3.023,669,5.075,674,4.276,698,5.332,790,8.477,795,8.514,808,7.778,1019,2.9,1078,5.075,1123,2.836,1789,7.491,2695,5.754,2775,12.692,2777,10.218,3221,3.668,3388,6.491,3580,10.598,4174,6.491,4238,11.207,4264,11.709,4268,6.732,4269,6.356,4420,10.848,4816,10.848,4822,11.805,4823,11.805,4824,7.499,4825,6.891,4826,7.499]],["keywords/650",[]],["title/651",[4827,1413.703]],["content/651",[29,9.181,40,6.961,139,1.791,140,1.593,141,9.952,144,1.524,160,2.348,164,4.469,180,4.837,186,3.483,217,7.219,219,4.308,230,5.178,232,5.871,256,6.77,350,2.864,460,14.82,790,10.77,806,7.239,808,6.504,2563,9.438,2649,7.813,2775,15.181,3580,13.465,4269,9.127,4591,9.09,4598,7.683,4718,10.079,4809,9.691,4827,17.896,4828,19.474,4829,15.578]],["keywords/651",[]],["title/652",[4830,1413.703]],["content/652",[5,1.248,7,5.39,29,6.15,40,7.368,43,5.486,45,1.722,46,3.459,52,4.673,62,4.32,137,2.899,138,3.315,139,1.236,140,1.686,141,9.141,143,2.594,144,1.052,151,3.315,160,2.485,161,3.892,162,3.274,163,4.194,164,4.694,180,3.687,186,2.403,198,4.232,208,1.648,217,6.208,219,2.973,232,4.051,243,6.045,244,6.045,256,6.128,277,2.754,336,3.296,349,2.688,350,3.032,358,3.941,376,3.627,423,3.749,447,3.15,460,13.351,568,4.941,646,4.655,669,5.701,698,5.836,790,9.023,806,4.995,809,7.033,1078,5.701,1123,3.185,2563,10.585,2629,7.662,2775,13.313,3183,9.364,3221,4.121,3580,11.281,4174,13.606,4269,6.957,4591,6.272,4598,5.302,4608,6.463,4672,6.687,4707,7.291,4809,6.687,4814,7.291,4825,7.741,4829,11.874,4830,14.445,4831,12.921,4832,19.013]],["keywords/652",[]],["title/653",[4833,1413.703]],["content/653",[29,6.139,140,2.047,144,1.959,160,3.017,164,4.942,186,4.477,217,5.123,460,14.411,790,8.031,795,6.984,806,11.883,1662,10.041,2563,11.157,2649,10.041,2775,13.297,3580,12.825,4221,19.847,4591,11.682,4598,9.875,4712,18.415,4809,12.455,4810,14.418,4833,14.418]],["keywords/653",[]],["title/654",[136,279.23,144,150.19]],["content/654",[7,3.959,35,2.147,93,6.936,94,5.95,136,2.329,139,3.25,144,1.253,145,8.757,150,6.467,153,3.881,170,11.588,179,8.695,204,3.578,217,6.998,219,3.542,243,6.716,244,6.716,256,3.488,336,3.926,345,5.346,350,2.354,376,2.817,504,9.222,646,5.309,700,4.045,746,5.462,796,7.7,809,5.462,855,4.256,889,8.286,1025,7.029,1094,7.096,1175,6.422,1437,10.42,1735,11.411,1789,4.174,1818,5.795,1841,9.598,2148,6.536,2190,6.862,2535,5.523,2573,9.778,2967,12.657,3122,7.966,4235,6.536,4237,6.936,4600,10.973,4617,11.307,4632,13.302,4635,8.286,4698,12.167,4755,8.286,4761,12.755,4792,8.686,4793,12.167,4796,9.222,4797,9.222,4800,9.222,4834,10.035,4835,10.035,4836,10.035,4837,10.035,4838,10.035,4839,10.035,4840,10.035,4841,19.245,4842,14.737,4843,10.035,4844,10.035,4845,10.035,4846,10.035,4847,10.035]],["keywords/654",[]],["title/655",[83,543.687,352,271.764,934,479.104]],["content/655",[]],["keywords/655",[]],["title/656",[1989,1114.932]],["content/656",[]],["keywords/656",[]],["title/657",[314,757.233,316,814.224]],["content/657",[1,3.858,5,2.444,83,11.383,88,6.416,121,7.449,185,8.068,188,9.077,192,4.143,198,8.286,209,7.09,271,9.917,285,6.271,314,13.017,318,4.55,352,6.216,545,9.917,636,12.655,673,7.505,742,7.042,751,10.38,875,8.363,934,7.999,1201,10.063,1208,8.88]],["keywords/657",[]],["title/658",[5,146.397,352,271.764,353,424.621]],["content/658",[4,5.097,5,1.418,11,3.904,18,3.578,35,3.633,51,3.429,60,3.376,63,6.021,64,3.229,79,6.351,86,8.791,97,3.979,110,5.837,112,4.68,136,2.22,141,6.033,150,4.198,166,5.597,168,6.765,174,4.42,183,9.362,187,5.291,194,2.895,202,5.842,208,2.782,209,6.115,224,3.124,225,4.439,227,2.55,234,4.64,254,5.837,256,3.326,284,5.044,321,4.258,322,4.258,327,7.92,332,5.265,349,5.419,352,6.505,353,6.115,355,5.753,433,6.348,503,6.474,543,6.123,573,3.857,593,5.597,615,4.721,628,4.289,722,6.348,742,4.085,843,8.812,849,4.721,852,4.49,874,4.563,937,5.151,938,5.525,957,5.151,1021,6.765,1024,6.474,1025,9.586,1026,4.64,1031,6.348,1039,6.841,1055,6.231,1123,3.618,1259,6.474,1266,5.926,1376,8.281,1386,6.474,1729,7.341,1773,9.439,1930,7.594,1974,9.665,2159,4.563,2182,8.322,2391,7.123,2526,6.765,2771,5.926,3080,8.281,3128,7.899,3144,8.215,3669,10.915,3689,8.281,4127,6.348,4848,9.567,4849,9.567,4850,9.567,4851,9.567,4852,9.567]],["keywords/658",[]],["title/659",[208,235.32,376,337.717]],["content/659",[1,1.864,2,7.931,5,1.481,43,6.507,52,3.421,62,6.841,69,8.962,137,7.971,143,3.076,155,5.114,181,6.974,208,5.034,217,3.262,265,5.662,272,5.697,274,5.499,277,3.131,290,5.628,296,7.38,309,9.394,352,2.749,358,5.13,376,4.889,423,4.447,432,10.339,443,5.268,568,7.824,615,4.93,628,6.586,647,8.275,657,7.931,658,7.064,741,13.466,743,6.394,748,7.064,750,4.479,757,6.629,775,3.324,785,7.931,1153,4.447,1214,10.963,1448,6.394,1751,7.439,2222,8.249,2538,8.249,2623,7.439,2940,8.249,3123,12.714,3207,8.647,4853,9.991]],["keywords/659",[]],["title/660",[352,271.764,353,424.621,934,479.104]],["content/660",[1,3.967,5,3.417,79,8.623,91,6.28,129,8.438,143,5.312,240,7.284,279,5.713,352,4.746,353,7.415,433,11.446,545,10.372,554,8.83,671,9.536,934,8.366,1165,14.93,1294,9.961,2771,10.686]],["keywords/660",[]],["title/661",[1,156.3,3417,691.814,3698,665.131,4854,769.972]],["content/661",[1,3.099,5,2.462,35,3.554,79,6.213,143,5.116,208,3.25,240,7.765,320,10.137,352,5.716,353,8.931,434,7.191,637,10.457,817,13.189,818,12.041,934,10.077,977,13.546,1135,12.041,4854,15.268,4855,16.614,4856,13.718,4857,15.268,4858,15.268]],["keywords/661",[]],["title/662",[1,156.3,3417,691.814,3698,665.131,4859,837.897]],["content/662",[1,1.265,5,3.426,29,2.654,35,5.29,38,1.941,51,1.385,62,3.644,79,1.445,143,1.19,155,1.978,208,4.875,240,2.323,349,1.233,352,5.679,353,8.873,359,5.476,376,3.482,434,10.703,495,3.209,758,1.695,817,5.384,818,4.915,848,2.896,874,1.843,934,1.874,938,2.231,1135,18.718,1339,2.126,1390,3.344,3162,2.732,4353,3.067,4482,3.55,4565,3.067,4856,3.19,4857,3.55,4858,3.55,4860,10.898,4861,3.864,4862,6.232,4863,3.864,4864,3.19,4865,3.864,4866,3.864,4867,3.864,4868,3.864,4869,3.55,4870,3.864,4871,3.864,4872,3.864,4873,3.864,4874,6.232,4875,3.864,4876,3.55,4877,3.864,4878,3.864,4879,3.864,4880,3.344,4881,3.864,4882,3.864,4883,3.864,4884,6.232,4885,3.864,4886,3.864,4887,8.33,4888,3.864,4889,3.864,4890,3.864,4891,3.864,4892,18.796,4893,3.864,4894,6.232,4895,3.864,4896,3.864,4897,3.864,4898,3.864,4899,3.864,4900,3.864,4901,8.33,4902,3.864,4903,3.864,4904,3.864,4905,3.344,4906,3.864,4907,3.864,4908,3.864,4909,3.864,4910,3.864,4911,3.864,4912,3.344,4913,3.55,4914,3.864,4915,3.864,4916,3.864,4917,3.864,4918,3.864,4919,3.864,4920,3.864,4921,3.864,4922,3.864,4923,3.864,4924,3.864,4925,3.864,4926,3.55,4927,3.864,4928,3.55,4929,3.864,4930,3.344,4931,3.864,4932,3.864,4933,3.864,4934,3.864,4935,3.55,4936,3.864,4937,3.864,4938,3.864,4939,3.864,4940,3.864,4941,3.864,4942,3.864,4943,3.864,4944,3.864,4945,3.864,4946,3.864,4947,3.864,4948,3.864,4949,3.864,4950,3.344,4951,3.864,4952,3.864,4953,3.864,4954,3.864,4955,3.864,4956,3.864,4957,3.864,4958,3.864,4959,3.344,4960,3.864]],["keywords/662",[]],["title/663",[64,333.439,757,655.452,4134,655.452]],["content/663",[52,4.659,64,6.752,194,6.054,240,6.851,352,5.503,676,8.215,749,11.703]],["keywords/663",[]],["title/664",[718,1020.777]],["content/664",[5,1.601,48,2.814,52,5.584,60,3.813,64,6.725,84,3.496,139,3.465,140,1.41,144,2.274,153,4.179,164,4.232,180,5.685,181,3.682,192,3.115,194,3.27,219,3.813,227,2.88,318,3.421,349,3.448,350,4.274,362,5.24,376,3.033,396,7.639,568,4.131,574,9.22,580,12.343,626,6.8,720,7.312,749,6.321,758,4.741,775,3.595,795,6.921,1065,7.639,1148,7.639,1150,7.129,1263,5.64,1480,12.838,2397,12.838,2490,13.459,3879,9.352,3957,7.037,4122,12.838,4134,10.317,4221,8.921,4507,21.307,4961,10.804,4962,9.928,4963,9.928,4964,9.928,4965,9.928,4966,9.928,4967,15.549]],["keywords/664",[]],["title/665",[4501,1413.703]],["content/665",[5,1.632,52,4.682,60,3.887,64,6.785,139,3.481,140,1.437,144,2.299,153,4.26,155,5.639,164,4.27,180,5.735,181,7.944,192,3.158,194,3.334,227,2.936,318,3.469,349,3.515,350,4.32,396,7.789,574,9.349,580,12.453,720,7.455,749,6.444,758,4.834,775,5.246,892,13.018,1065,7.789,1148,7.789,1150,7.229,1263,5.75,1480,13.018,1901,12.098,2397,13.018,2490,13.647,3879,13.647,4122,13.018,4134,10.462,4221,9.095,4962,10.122,4963,10.122,4964,10.122,4965,10.122,4966,10.122,4968,11.015,4969,23.307]],["keywords/665",[]],["title/666",[4511,1331.557]],["content/666",[]],["keywords/666",[]],["title/667",[4512,1331.557]],["content/667",[]],["keywords/667",[]],["title/668",[4513,1331.557]],["content/668",[41,5.353,52,5.339,59,9.51,64,5.091,112,7.378,130,3.53,139,3.484,140,1.351,144,1.883,192,3.021,198,11.93,217,3.382,227,2.761,240,3.548,318,3.318,447,8.88,574,6.142,775,3.446,855,6.397,1019,5.833,1025,8.483,1208,9.576,1900,5.835,2467,19.913,2586,7.022,4133,8.222,4511,8.965,4512,8.965,4513,8.965,4970,10.358,4971,15.081,4972,17.785,4973,10.358,4974,10.358,4975,10.358,4976,9.518,4977,10.358,4978,15.081,4979,22.922,4980,15.081,4981,15.081,4982,15.081]],["keywords/668",[]],["title/669",[4211,1413.703]],["content/669",[45,3.735,61,7.382,136,5.896,137,6.287,139,3.521,140,1.416,144,1.948,162,1.772,164,2.306,180,4.452,192,3.126,227,4.159,256,3.774,318,3.433,331,7.209,333,5.405,350,2.547,362,5.265,442,6.624,563,5.611,594,5.909,642,7.912,775,3.612,836,6.528,848,4.635,920,6.948,934,5.265,1150,4.978,1207,5.909,1216,9.397,1291,13.777,1401,7.504,1458,8.33,2301,10.638,2554,8.964,2586,7.265,4215,9.397,4983,15.603,4984,13.505,4985,10.856,4986,9.397,4987,9.397,4988,15.603,4989,10.856,4990,15.603,4991,15.603,4992,10.856,4993,10.856,4994,14.338,4995,10.856,4996,9.976]],["keywords/669",[]],["title/670",[4228,1270.201]],["content/670",[45,3.994,48,4.432,61,8.05,102,3.747,136,5.645,139,3.094,140,1.601,144,2.124,162,2.003,181,6.657,192,3.409,209,5.276,227,3.272,256,4.267,318,3.743,331,7.862,333,6.111,594,6.681,642,8.628,679,11.761,848,7.265,892,10.134,1115,8.144,1291,7.994,1401,8.484,2554,10.134,3150,7.855,4614,15.703,4984,10.624,4986,10.624,4987,10.624,4997,12.274,4998,12.274,4999,11.279,5000,19.531,5001,17.016,5002,12.274,5003,17.016,5004,12.274,5005,17.016,5006,17.016,5007,12.274,5008,12.274,5009,12.274,5010,12.274]],["keywords/670",[]],["title/671",[5011,1538.415]],["content/671",[45,4.486,58,6.126,102,4.724,130,5.274,136,5.372,139,2.914,140,2.019,144,1.932,162,2.525,192,3.979,227,4.125,256,5.379,318,4.37,331,9.177,333,7.704,571,6.52,594,8.422,637,9.739,1291,10.079,1401,10.696,2301,10.582,4228,12.777,4984,13.394,4986,13.394,4987,13.394,5012,15.474,5013,15.474,5014,15.474,5015,15.474,5016,15.474]],["keywords/671",[]],["title/672",[5017,1413.703]],["content/672",[]],["keywords/672",[]],["title/673",[5018,1413.703]],["content/673",[1,1.515,28,5.885,29,3.177,41,6.492,45,1.66,64,2.741,88,3.159,89,3.377,91,2.956,102,2.479,112,8.458,130,2.768,136,5.709,139,3.208,140,2.256,142,7.718,144,1.568,152,2.728,153,6.687,162,1.325,192,3.077,194,2.457,209,3.49,217,2.652,227,3.348,240,4.302,279,2.689,318,2.764,333,4.043,340,2.895,349,2.591,376,3.526,404,3.123,443,4.281,447,4.698,621,4.372,752,7.268,775,2.702,842,5.613,855,7.333,958,4.043,1115,10.193,1135,5.885,1174,5.742,1218,9.104,1224,7.553,1249,5.742,1397,6.231,1709,6.492,1830,5.613,2353,7.028,2421,8.76,2586,9.206,3940,11.543,4167,13.922,4215,10.872,4226,11.543,4228,6.705,4237,5.613,4913,11.543,4926,11.543,4994,11.543,4996,11.543,5017,7.462,5018,7.462,5019,8.12,5020,12.562,5021,17.29,5022,12.562,5023,12.562,5024,12.562,5025,8.12,5026,8.12,5027,8.12,5028,8.12,5029,12.562,5030,12.562,5031,12.562,5032,8.12,5033,12.562,5034,12.562,5035,8.12,5036,8.12,5037,15.362]],["keywords/673",[]],["title/674",[64,333.439,88,384.268,187,367.418]],["content/674",[64,6.874,240,6.975,1224,12.246,1266,12.615,3137,16.166]],["keywords/674",[]],["title/675",[574,912.212]],["content/675",[64,7.213,112,10.453,139,3.135,140,2.268,144,2.17,192,4.281,227,4.634,318,4.701,349,5.547,574,10.307,874,8.291,1025,8.291,1498,14.461,3121,11.534,4976,15.974,5038,17.383,5039,17.383,5040,17.383]],["keywords/675",[]],["title/676",[35,329.08]],["content/676",[9,7.855,35,4.896,45,3.984,88,7.58,187,7.247,240,6.674,700,7.855,813,8.264,1731,14.951]],["keywords/676",[]],["title/677",[937,828.284]],["content/677",[29,3.035,35,4.336,45,1.586,52,3.929,60,2.738,138,3.053,139,2.974,140,2.645,144,1.513,145,5.516,153,5.771,162,3.423,163,3.862,165,4.132,166,4.538,179,6.036,180,2.213,189,3.071,192,2.989,204,6.918,219,7.403,227,3.231,230,8.897,291,5.952,292,3.127,318,2.667,340,2.766,350,1.82,362,3.762,376,4.189,568,2.966,700,3.127,702,4.964,790,6.205,795,8.636,1092,3.357,1123,2.933,1264,7.712,1302,6.714,1409,7.289,1735,7.188,1743,10.098,1744,11.111,1746,10.814,1747,12.32,1899,10.261,3957,5.052,4381,13.928,4415,10.493,4495,9.623,5041,16.87,5042,8.204,5043,16.545,5044,13.662,5045,7.351,5046,7.396,5047,13.928,5048,13.928,5049,8.786,5050,14.922,5051,7.757,5052,7.757]],["keywords/677",[]],["title/678",[1715,1413.703]],["content/678",[5,1.208,11,3.326,29,3.189,35,4.561,45,2.576,52,4.035,60,2.876,106,4.297,138,3.207,139,1.848,140,2.782,144,1.572,145,5.732,150,3.576,153,4.872,162,3.48,163,4.057,165,4.342,166,4.768,179,6.272,189,3.226,192,2.523,204,6.176,219,7.525,227,3.358,230,9.044,268,10.416,292,3.285,302,3.887,318,2.771,321,3.628,340,2.906,350,1.912,362,3.953,376,4.322,568,3.116,700,5.078,702,5.215,790,6.448,803,4.436,1092,3.527,1123,3.082,1264,6.511,1337,6.469,1409,7.574,1735,7.469,1743,8.525,1744,9.379,1746,9.129,1747,10.4,1899,10.431,3957,5.308,4495,9.999,5042,8.525,5043,16.742,5044,13.888,5045,7.549,5046,7.686,5047,14.303,5048,14.303,5049,5.906,5053,6.729,5054,17.323,5055,12.597,5056,12.597]],["keywords/678",[]],["title/679",[1716,1413.703]],["content/679",[5,1.317,11,3.627,29,3.478,35,4.8,45,1.818,52,4.221,60,3.137,94,7.982,106,4.686,138,3.498,139,2.384,140,2.673,144,1.11,153,5.206,162,3.577,163,4.425,165,4.735,166,5.2,179,6.702,189,3.519,192,2.697,204,4.8,219,7.736,227,3.588,230,9.297,292,3.583,302,4.239,318,2.961,321,3.956,340,3.169,350,2.085,362,4.311,376,2.495,568,3.399,700,3.583,702,5.688,790,6.891,1092,3.847,1123,3.361,1264,6.957,1409,8.094,1899,10.722,2534,6.618,2542,5.789,2842,6.618,3345,6.618,3957,5.789,4359,7.339,5042,9.11,5043,17.078,5044,14.276,5045,7.898,5046,8.213,5047,14.964,5048,14.964,5049,6.442,5057,18.123,5058,8.888,5059,8.888,5060,8.168]],["keywords/679",[]],["title/680",[1717,1413.703]],["content/680",[5,1.186,11,3.267,29,3.132,35,4.656,45,1.637,52,3.997,60,2.825,94,7.366,106,4.221,138,3.15,139,1.823,140,2.766,144,1.551,145,5.653,150,3.513,153,4.805,162,3.46,163,3.985,165,4.264,166,4.683,179,6.185,189,3.169,192,2.489,204,6.118,219,7.481,227,3.312,230,8.991,268,10.317,292,3.227,302,3.818,318,2.733,321,3.563,340,2.854,350,1.878,362,3.882,376,4.273,399,6.609,568,3.061,700,3.227,702,5.123,790,6.359,803,4.357,1092,3.464,1123,3.027,1264,6.421,1409,7.47,1735,7.366,1743,8.407,1744,9.25,1746,9.003,1899,10.37,2534,5.96,2542,5.214,2842,5.96,3345,5.96,3957,5.214,4365,10.753,5042,8.407,5043,16.671,5044,13.807,5045,7.477,5046,7.58,5047,14.167,5048,14.167,5049,5.801,5053,6.609,5061,17.158,5062,12.423,5063,12.423,5064,12.423]],["keywords/680",[]],["title/681",[5065,1538.415]],["content/681",[29,3.321,35,4.48,45,1.735,52,4.122,60,2.995,138,3.34,139,1.907,140,2.625,144,1.622,145,5.914,153,5.026,162,3.526,163,4.225,165,4.521,166,4.965,179,6.47,189,3.36,192,2.603,204,6.31,219,7.624,225,2.648,227,3.464,230,9.163,292,3.421,302,4.048,318,2.859,340,3.026,350,1.991,362,4.116,376,4.433,568,3.245,646,4.682,700,3.421,702,5.431,741,5.342,790,6.652,795,7.877,1092,3.673,1123,3.209,1264,6.717,1409,7.815,1735,7.706,1743,8.795,1744,9.677,1746,9.418,1899,10.568,2451,9.677,3957,5.528,5042,8.795,5043,16.901,5044,14.071,5045,9.415,5046,7.929,5049,6.151,5066,17.697,5067,14.611,5068,12.996,5069,12.996]],["keywords/681",[]],["title/682",[5070,1538.415]],["content/682",[5,1.199,11,3.302,29,3.166,35,4.55,45,2.562,52,4.02,60,2.855,106,4.266,138,3.184,139,1.838,140,2.776,144,1.564,145,5.7,150,3.551,153,4.845,162,3.472,163,4.028,165,4.31,166,4.733,179,6.237,189,3.203,192,2.509,204,6.153,219,7.508,225,2.525,227,3.339,230,9.023,268,10.377,292,3.262,302,3.859,318,2.756,321,3.602,340,2.885,350,1.898,362,3.924,376,4.302,568,3.094,646,4.513,700,5.05,702,5.178,741,5.092,790,6.412,803,4.404,1092,3.502,1123,3.059,1264,6.474,1337,6.423,1409,7.532,1735,7.428,1743,8.478,1744,9.327,1746,9.078,1899,10.406,2451,9.327,3957,5.27,5042,8.478,5043,16.714,5044,13.855,5045,9.27,5046,7.643,5049,5.864,5053,6.68,5067,14.248,5071,17.257,5072,12.527,5073,12.527]],["keywords/682",[]],["title/683",[5074,1538.415]],["content/683",[5,1.307,11,3.599,29,3.45,35,4.79,45,1.803,52,4.205,60,3.112,94,7.935,106,4.65,138,3.471,139,2.373,140,2.665,144,1.101,153,5.175,162,3.569,163,4.391,165,4.698,166,5.159,179,6.662,189,3.491,192,2.681,204,4.771,219,7.717,225,2.752,227,3.567,230,9.274,292,3.555,302,4.206,318,2.944,321,3.925,340,3.144,350,2.069,362,4.277,376,2.475,568,3.372,700,3.555,702,5.644,741,5.55,790,6.85,1092,3.817,1123,3.335,1264,6.916,1409,8.046,1899,10.696,2534,6.566,2542,5.744,2842,6.566,3345,6.566,3957,5.744,4359,7.281,5042,9.056,5043,17.048,5044,14.242,5045,9.529,5046,8.164,5049,6.391,5060,8.104,5067,14.904,5075,18.051,5076,8.819,5077,8.819]],["keywords/683",[]],["title/684",[5078,1538.415]],["content/684",[5,1.178,11,3.244,29,3.11,35,4.646,45,1.625,52,3.981,60,2.805,94,7.326,106,4.191,138,3.128,139,1.813,140,2.759,144,1.542,145,5.622,150,3.488,153,4.779,162,3.451,163,3.957,165,4.234,166,4.65,179,6.151,189,3.147,192,2.475,204,6.094,219,7.835,225,2.48,227,3.293,230,8.97,268,10.278,292,3.204,302,3.791,318,2.718,321,3.538,340,2.834,350,1.865,362,3.855,376,4.254,399,6.563,568,3.039,700,3.204,702,5.087,741,5.003,790,6.324,803,4.326,1092,3.44,1123,3.006,1264,6.386,1330,7.907,1409,7.429,1735,7.326,1743,8.361,1744,9.199,1746,8.954,1899,10.345,2534,5.918,2542,5.177,2842,5.918,3345,5.918,3957,5.177,5042,8.361,5043,16.643,5044,13.774,5045,9.216,5046,7.538,5049,5.761,5053,6.563,5067,14.113,5079,17.093,5080,12.355,5081,12.355]],["keywords/684",[]],["title/685",[5082,837.897,5083,607.247,5084,837.897,5085,837.897]],["content/685",[35,4.358,52,2.643,61,5.369,62,6.259,139,2.363,140,2.101,144,2.01,145,8.518,150,4.98,164,3.421,180,3.238,181,3.868,192,3.226,204,5.742,207,6.176,209,4.878,224,3.706,227,4.293,230,4.813,243,4.364,279,3.758,318,3.543,321,5.051,350,3.778,376,4.521,568,6.158,620,5.701,646,4.088,774,6.553,790,9.583,795,7.168,803,6.176,937,6.11,978,5.551,1150,7.384,1711,7.262,1735,9.549,1752,8.224,2148,7.391,2434,7.391,2451,8.45,2586,5.284,2603,9.369,2606,9.822,4495,12.784,5086,16.105,5087,16.105,5088,11.348,5089,11.348,5090,11.348,5091,16.105,5092,11.348,5093,11.348,5094,11.348,5095,11.348,5096,8.45,5097,10.428,5098,11.348,5099,11.348,5100,11.348,5101,11.348,5102,11.348,5103,16.105,5104,11.348,5105,11.348]],["keywords/685",[]],["title/686",[5106,1538.415]],["content/686",[48,6.355,62,7.554,139,3.035,140,2.152,144,2.059,162,3.375,181,5.621,192,4.526,227,4.396,317,5.901,318,4.55,700,9.109,1899,8.068,5107,16.493,5108,16.493,5109,11.953,5110,16.493]],["keywords/686",[]],["title/687",[4874,769.972,5083,607.247,5111,592.457,5112,837.897]],["content/687",[35,3.482,45,3.329,133,7.252,139,3.851,140,1.503,144,2.032,145,7.408,146,5.129,160,2.216,162,3.081,172,6.203,192,3.261,204,5.804,227,3.071,232,5.541,243,6.26,277,2.456,318,3.581,358,2.889,455,6.415,593,6.74,646,4.151,775,5.417,1092,4.987,1296,7.645,1709,9.756,1752,8.35,1841,10.603,2013,6.832,2148,7.504,2466,9.513,2542,7.504,2586,5.365,2973,9.513,5045,5.021,5096,8.579,5113,11.522,5114,17.346,5115,16.279,5116,10.588,5117,8.841,5118,10.588,5119,9.973,5120,9.513,5121,9.146,5122,9.146,5123,9.146,5124,10.588,5125,9.973]],["keywords/687",[]],["title/688",[5083,607.247,5126,837.897,5127,769.972,5128,837.897]],["content/688",[35,3.31,45,4.062,139,3.512,140,2.019,144,2.48,162,3.58,192,3.979,204,7.082,227,4.125,318,4.37,775,5.149,1092,6.697,1709,7.998,1841,12.937,2013,9.176,2586,7.205,5045,6.744,5114,20.158,5124,14.22,5129,15.474,5130,19.863,5131,19.863,5132,19.863]],["keywords/688",[]],["title/689",[4880,725.232,5083,607.247,5111,592.457,5133,837.897]],["content/689",[35,3.396,45,2.275,133,7.001,139,3.847,140,1.451,144,1.982,145,7.225,146,4.952,160,2.139,162,3.485,172,5.989,192,3.181,204,5.661,227,2.965,232,5.35,243,6.106,277,3.947,318,4.073,358,2.789,455,6.193,646,4.007,775,3.701,1092,4.814,1296,7.381,1752,8.062,1841,10.341,1899,5.442,2148,7.245,2466,9.185,2542,7.245,2586,5.18,2973,9.185,4415,13.743,5045,8.069,5096,8.283,5116,10.222,5117,8.535,5118,10.222,5119,9.628,5120,9.185,5121,8.83,5122,8.83,5123,8.83,5125,9.628,5134,15.878,5135,6.596,5136,8.062,5137,18.515,5138,15.878,5139,11.124]],["keywords/689",[]],["title/690",[5083,607.247,5111,592.457,5140,837.897,5141,837.897]],["content/690",[35,3.775,45,2.089,52,3.478,94,6.058,139,3.594,140,2.532,144,1.864,145,8.03,146,4.548,152,3.432,158,4.094,160,1.965,162,3.635,164,2.17,172,5.501,183,5.087,189,4.045,192,2.991,204,5.324,213,5.23,214,4.955,219,3.606,227,2.723,318,3.285,350,2.397,376,4.953,423,4.548,455,5.688,646,6.357,651,6.144,652,5.333,775,3.4,833,8.843,1092,4.422,1105,6.43,1175,9.556,1409,10.611,1818,10.19,1899,7.304,2224,12.924,2586,4.757,2973,8.436,4365,8.843,5042,6.914,5045,8.459,5046,6.234,5117,7.839,5125,8.843,5142,14.932,5143,10.217,5144,9.389,5145,14.932,5146,10.217,5147,10.217,5148,10.217,5149,9.389,5150,10.217,5151,10.217,5152,10.217,5153,10.217,5154,10.217,5155,9.389,5156,10.217,5157,10.217,5158,10.217,5159,10.217,5160,10.217,5161,10.217,5162,10.217]],["keywords/690",[]],["title/691",[5163,1538.415]],["content/691",[45,2.483,49,5.84,62,4.059,139,3.643,140,1.584,144,2.108,145,5.525,162,3.426,180,3.464,181,4.138,188,6.683,192,3.89,204,6.021,224,3.965,227,3.237,243,4.669,277,4.994,318,3.715,455,6.76,774,12.121,775,4.04,1092,5.255,1247,8.393,1752,8.8,1899,5.94,2148,7.908,2223,13.944,2586,5.654,2603,10.025,2606,10.509,3177,11.158,4880,10.509,5045,5.291,5096,9.041,5097,11.158,5135,7.2,5136,8.8,5164,16.888,5165,15.519,5166,16.888,5167,12.142,5168,12.142,5169,12.142,5170,12.142,5171,12.142,5172,10.509,5173,16.888,5174,12.142]],["keywords/691",[]],["title/692",[5175,1538.415]],["content/692",[35,5.013,45,2.701,94,13.478,102,4.032,139,2.977,140,2.648,144,2.234,153,5.109,162,3.55,164,3.801,173,5.756,189,5.229,192,3.584,204,7.235,227,3.521,318,3.936,336,5.168,376,5.023,379,8.939,423,5.88,455,7.354,775,4.395,1092,5.717,1150,6.056,1175,11.451,1409,10.759,1411,11.433,1743,12.109,2013,7.832,2586,6.15,5042,8.939,5045,7.798,5046,8.059,5176,13.209,5177,12.138,5178,17.893,5179,13.209]],["keywords/692",[]],["title/693",[5180,1538.415]],["content/693",[35,4.501,45,2.496,52,5.329,62,5.667,75,7.238,102,3.727,137,4.202,139,2.857,140,2.745,144,2.116,162,3.734,174,5.64,192,3.901,204,6.044,227,3.254,277,2.602,285,4.642,318,4.284,376,5.466,568,4.668,775,4.062,1092,5.283,1118,8.262,1374,7.448,1738,12.285,1743,11.472,1745,15.578,2586,5.684,2601,10.566,2602,10.079,2603,10.079,2604,11.218,2605,10.566,3221,5.972,5045,8.487,5046,7.448,5144,11.218,5177,11.218,5181,12.208,5182,12.208,5183,12.208,5184,12.208,5185,16.952,5186,12.208,5187,11.218]],["keywords/693",[]],["title/694",[5188,1413.703]],["content/694",[35,5.118,45,4.52,139,3.51,140,1.593,144,1.524,145,5.555,162,3.965,174,8.998,189,7.71,192,3.396,224,7.933,227,3.254,243,6.519,318,3.729,775,6.48,1092,5.283,1118,15.484,1719,17.896,1743,8.262,2148,12.684,5046,7.448,5188,11.218,5189,12.208,5190,14.672,5191,16.952]],["keywords/694",[]],["title/695",[5192,1538.415]],["content/695",[35,4.926,45,3.121,84,6.37,139,3.379,140,1.992,144,1.906,145,6.946,162,3.758,174,9.097,192,3.944,224,6.43,227,4.069,243,5.87,318,4.332,340,5.443,775,5.079,1092,6.607,1899,7.467,2223,12.604,3666,14.028,5042,10.331,5045,9.498,5046,9.314,5193,19.69,5194,15.265]],["keywords/695",[]],["title/696",[208,235.32,1207,654.836]],["content/696",[64,6.813,65,12.916,194,6.108,208,3.948,240,6.913,358,5.06]],["keywords/696",[]],["title/697",[150,367.699,5195,837.897,5196,837.897,5197,837.897]],["content/697",[5,2.449,45,1.869,60,3.226,62,3.056,102,2.79,135,5.496,139,2.425,140,1.193,144,1.716,145,10.485,150,6.033,162,3.38,181,3.115,183,4.551,189,5.443,192,3.31,203,5.212,204,8.215,208,4.424,227,2.436,244,8.861,277,2.931,318,3.636,321,6.12,332,5.031,340,3.259,352,4.546,358,5.543,376,5.16,544,5.753,722,9.122,758,6.033,1092,3.956,1208,4.921,1330,14.746,1374,5.577,1899,8.084,2135,5.753,2548,5.753,3144,5.278,3162,6.463,3414,12.44,5135,5.42,5190,7.911,5198,12.634,5199,9.14,5200,5.953,5201,9.14,5202,16.892,5203,13.748,5204,13.748,5205,13.748,5206,6.318]],["keywords/697",[]],["title/698",[5207,1413.703]],["content/698",[5,2.337,45,2.252,52,4.682,62,5.271,102,3.363,135,6.624,139,2.313,140,1.437,144,1.968,150,4.834,162,3.612,181,3.754,183,5.484,192,3.689,208,4.329,227,2.936,244,7.731,251,11.427,277,3.361,318,4.051,350,2.584,352,3.03,358,5.549,376,4.426,544,6.933,568,6.029,1092,4.767,1208,5.931,1254,8.991,1260,12.098,1299,12.453,1374,6.721,1488,10.898,1899,7.713,2135,6.933,2548,6.933,3144,6.361,4565,8.744,4567,15.204,5044,7.174,5045,4.8,5135,6.532,5198,10.122,5200,7.174,5206,7.614,5207,10.122,5208,11.015,5209,9.534,5210,9.534,5211,20.102,5212,14.489,5213,15.767]],["keywords/698",[]],["title/699",[4551,1270.201]],["content/699",[5,2.953,29,4.227,37,5.199,38,5.428,91,3.933,102,3.298,135,6.497,139,3.402,140,1.41,143,3.327,144,1.941,145,4.916,150,7.994,151,6.12,164,2.295,180,3.083,181,3.682,183,5.379,192,3.649,196,7.938,204,5.544,205,11.981,209,4.644,222,6.497,226,5.531,227,4.856,240,3.701,244,5.98,265,3.512,272,6.161,274,5.947,318,3.421,321,4.809,326,6.693,352,2.972,493,7.312,754,6.497,758,4.741,1038,7.037,1208,5.817,1211,13.434,1297,7.639,2548,6.8,2595,5.332,2836,8.577,3144,6.239,3414,7.312,3772,13.037,4332,9.352,4337,9.352,4502,14.289,4550,8.577,4551,12.838,5214,10.804,5215,10.804,5216,15.549,5217,10.804,5218,10.804,5219,9.352,5220,10.804,5221,9.352,5222,9.352]],["keywords/699",[]],["title/700",[5223,1538.415]],["content/700",[1,2.736,20,8.074,139,2.152,140,2.503,144,2.395,162,2.394,192,3.844,204,5.23,227,3.91,240,8.061,318,4.221,333,7.304,352,4.036,937,7.898,1213,15.496,1214,12.076,1299,9.087,1409,11.537,1742,15.231,1743,12.985,1746,13.905,1747,15.842,1974,9.228,5045,6.393,5190,12.697,5224,14.669,5225,14.669,5226,14.669,5227,14.669,5228,19.187]],["keywords/700",[]],["title/701",[938,483.853,1748,691.814,1749,769.972,1750,769.972]],["content/701",[45,1.982,52,5.445,62,4.801,75,4.137,137,3.335,139,3.619,140,1.874,144,1.793,162,3.575,181,3.303,192,3.428,200,6.099,208,3.952,227,2.583,244,8.989,251,16.941,277,3.061,318,3.764,340,5.12,350,2.274,358,5.066,376,4.803,568,3.705,1092,4.194,1374,5.912,1748,11.857,1757,11.857,1899,7.025,2460,15.02,3221,4.74,4300,13.197,5045,8.246,5135,5.746,5136,7.023,5200,6.311,5206,6.698,5229,14.361,5230,8.905,5231,14.361,5232,14.361,5233,14.361,5234,14.361,5235,14.361,5236,14.361]],["keywords/701",[]],["title/702",[5237,1538.415]],["content/702",[45,3.1,62,5.069,139,3.49,140,1.978,144,1.893,162,3.748,188,8.345,192,3.927,227,4.042,277,5.07,318,4.313,455,8.441,774,12.546,775,5.045,1092,6.562,1247,10.48,1899,7.417,5045,6.608,5135,8.991,5136,10.989,5165,18.015,5238,13.933,5239,19.604,5240,15.162,5241,11.634,5242,15.162]],["keywords/702",[]],["title/703",[5243,1538.415]],["content/703",[37,4.266,45,2.609,52,4.071,62,4.266,78,4.852,137,6.016,139,2.925,140,2.28,144,2.182,158,5.113,162,3.785,181,4.349,192,3.993,208,2.496,227,3.401,277,4.249,318,4.385,340,6.231,350,2.994,358,3.199,376,5.595,423,5.68,568,4.879,775,5.815,1065,9.023,1092,5.523,1374,7.785,1709,9.033,1755,10.129,1899,6.242,3221,6.242,5045,8.687,5135,7.566,5136,9.248,5241,13.41,5244,12.76,5245,11.045,5246,17.477,5247,13.874,5248,17.477,5249,17.477,5250,12.76]],["keywords/703",[]],["title/704",[642,500.911,5111,698.474,5251,987.834]],["content/704",[5,2.054,7,3.723,9,5.586,51,4.967,52,5.381,78,5.269,139,3.616,140,1.808,144,1.73,158,5.553,181,4.723,192,3.702,200,8.722,208,3.614,227,3.694,277,2.954,309,6.779,318,4.065,340,6.589,358,5.213,376,5.187,423,6.169,646,4.992,673,6.306,757,9.195,775,4.611,1709,7.163,3914,12.735,5187,12.735,5245,11.995,5252,15.995,5253,13.858,5254,13.858,5255,13.858,5256,13.858,5257,13.858,5258,18.48]],["keywords/704",[]],["title/705",[4876,769.972,5083,607.247,5111,592.457,5259,837.897]],["content/705",[45,3.974,139,3.818,140,1.952,144,1.868,162,3.172,192,3.893,227,3.988,277,4.143,318,4.276,455,8.329,775,4.978,1092,6.475,1149,11.14,1709,7.733,5045,6.52,5096,11.14,5117,11.48,5120,12.353,5121,11.876,5122,11.876,5123,11.876,5172,12.95,5260,14.961,5261,14.961,5262,14.961,5263,14.961,5264,14.961,5265,13.748]],["keywords/705",[]],["title/706",[5083,607.247,5127,769.972,5266,837.897,5267,837.897]],["content/706",[45,4.349,139,3.383,140,2.251,144,2.153,162,3.763,192,4.26,204,6.15,227,4.598,277,3.677,318,4.679,775,5.74,1092,7.466,1709,8.916,1757,14.242,5045,7.517,5268,17.25,5269,17.25,5270,13.236]],["keywords/706",[]],["title/707",[5083,607.247,5111,592.457,5238,769.972,5271,837.897]],["content/707",[45,2.609,139,3.843,140,1.665,144,1.593,162,3.499,192,3.501,227,3.401,277,4.57,305,7.023,318,3.845,455,7.104,775,4.246,808,6.798,1092,5.523,1899,6.242,5045,8.687,5096,9.501,5117,9.791,5119,11.045,5120,10.536,5121,10.129,5122,10.129,5123,10.129,5135,7.566,5136,9.248,5172,11.045,5241,9.791,5265,11.726,5272,17.477,5273,12.76,5274,11.726,5275,12.76,5276,12.76,5277,12.76,5278,12.76,5279,17.477,5280,17.477,5281,12.76,5282,12.76]],["keywords/707",[]],["title/708",[5111,850.703,5283,1203.126]],["content/708",[45,2.701,84,4.274,139,3.665,140,1.723,144,1.649,162,3.824,192,3.584,227,3.521,244,5.08,277,4.326,279,4.374,318,3.936,358,5.453,455,7.354,761,6.895,775,4.395,1092,5.717,1140,8.603,1279,9.573,1899,8.753,2697,12.138,2698,12.138,5045,9.478,5117,10.135,5121,10.485,5122,10.485,5123,10.485,5135,7.832,5136,9.573,5149,12.138,5155,12.138,5200,8.603,5230,12.138,5284,17.893,5285,13.209,5286,13.209,5287,13.209,5288,13.209,5289,13.209]],["keywords/708",[]],["title/709",[5290,1331.557]],["content/709",[45,3.059,84,6.288,139,3.353,140,1.952,144,1.868,162,3.729,192,3.893,208,4.222,224,6.346,227,3.988,243,5.754,244,5.754,277,4.871,318,4.276,340,5.334,775,4.978,813,8.243,1092,6.475,1899,7.319,5045,9.407,5135,8.871,5136,10.843,5241,11.48,5291,19.435,5292,14.961,5293,13.748]],["keywords/709",[]],["title/710",[4935,1413.703]],["content/710",[5,1.436,7,4.597,11,3.955,35,2.073,45,1.982,52,4.929,62,5.72,126,6.558,137,3.335,139,3.522,140,1.264,144,1.793,145,10.235,162,2.792,181,3.303,192,3.428,194,2.932,195,5.912,208,3.347,227,2.583,240,3.319,244,8.65,277,3.647,317,4.097,318,3.764,350,4.014,352,3.951,353,4.165,358,4.29,376,5.94,383,5.058,404,3.726,434,4.194,545,5.827,568,6.543,594,5.274,701,7.023,813,4.11,1092,4.194,1339,7.904,1374,5.912,1974,4.66,2042,5.746,3221,4.74,4558,17.388,4769,15.02,4999,8.905,5202,17.388,5206,9.926,5247,7.692,5294,9.69,5295,8.387,5296,8.905,5297,8.905,5298,18.922]],["keywords/710",[]],["title/711",[5299,1538.415]],["content/711",[5,1.891,9,5.144,45,2.609,51,4.573,52,4.643,53,5.989,62,4.266,78,4.852,137,4.392,139,1.872,140,2.28,144,2.182,153,4.935,162,2.852,181,4.349,192,3.993,204,6.231,227,3.401,228,15.127,229,16.06,253,10.536,277,4.57,317,3.641,318,3.845,340,4.55,350,4.101,358,5.631,376,4.906,455,11.936,568,4.879,813,5.412,1092,5.523,1153,5.68,1260,13.41,1374,7.785,1486,13.41,1810,16.06,3221,6.242,5247,10.129,5300,12.76,5301,12.76,5302,12.76,5303,12.76,5304,17.477]],["keywords/711",[]],["title/712",[4912,1331.557]],["content/712",[7,5.365,29,6.105,35,2.322,45,2.22,52,4.651,62,6.676,137,3.737,139,3.521,140,1.416,144,1.948,162,2.981,181,3.7,192,3.659,208,2.123,227,2.894,240,3.718,244,7.679,277,3.893,317,3.097,318,4.018,350,2.547,358,3.912,361,9.252,376,5.127,404,4.175,434,4.699,443,8.227,568,5.966,628,4.868,646,5.621,775,5.192,813,4.605,938,9.01,1092,4.699,1155,6.833,1218,7.868,1374,6.624,1421,8.33,2451,11.618,2595,9.854,2596,11.972,3221,5.311,3295,8.964,4769,12.386,5206,7.504,5247,8.618,5295,9.397,5296,9.976,5297,9.976,5305,9.976,5306,9.976,5307,10.856,5308,18.35]],["keywords/712",[]],["title/713",[5306,1413.703]],["content/713",[35,2.745,45,2.624,62,7.185,137,4.417,139,3.302,140,1.674,144,2.19,162,3.263,170,14.931,181,4.374,192,4.005,208,2.51,227,3.421,244,8.265,277,3.74,318,4.398,350,3.011,358,4.399,361,13.343,376,5.612,434,5.554,568,4.907,628,5.754,1092,5.554,1374,7.83,1488,14.854,1818,7.411,3221,6.278,5206,8.87,5247,10.187,5295,11.107,5305,11.793,5309,12.833,5310,12.833,5311,21.491]],["keywords/713",[]],["title/714",[5312,1413.703]],["content/714",[5,1.521,7,2.757,29,7.611,51,3.678,52,5.195,62,3.431,102,3.133,137,3.533,139,3.654,144,1.87,192,3.001,204,5.341,227,2.736,234,4.978,243,7.481,244,8.307,318,3.296,350,2.408,376,4.205,568,3.925,775,4.985,1365,12.369,1709,5.305,1752,14.097,1755,15.441,2148,12.669,2586,4.779,2595,10.659,3221,5.021,4769,11.892,4912,12.967,5096,14.484,5274,17.875,5308,13.767,5312,13.767,5313,19.452,5314,10.263,5315,14.981,5316,10.263,5317,10.263,5318,14.981,5319,10.263,5320,10.263,5321,19.452]],["keywords/714",[]],["title/715",[48,257.267,277,210.57,3686,757.965]],["content/715",[48,5.756,78,6.987,187,6.834,208,3.594,240,6.293,277,4.711,317,5.242,570,10.749,673,8.361,703,14.585,813,7.793,1207,10.001,1265,11.759,2141,13.316,5322,18.374]],["keywords/715",[]],["title/716",[4950,1041.352,5323,1105.594]],["content/716",[5,2.278,45,3.143,48,5.15,64,6.675,91,5.595,113,14.123,139,3.208,140,2.005,144,1.919,162,2.508,167,7.722,192,3.961,194,4.651,208,3.006,227,4.097,243,5.91,244,5.91,277,3.276,318,4.351,447,5.748,492,10.867,709,10.401,757,10.198,775,5.114,978,9.674,1099,14.123,1101,14.123,1709,7.943,2141,11.138,3425,10.01,4175,14.123,4261,14.123,4533,13.302,5324,15.369]],["keywords/716",[]],["title/717",[4887,1105.594,5323,1105.594]],["content/717",[48,2.502,55,9.266,78,3.653,84,4.617,139,3.363,140,1.254,144,1.781,167,4.827,192,2.859,194,4.319,200,6.047,217,4.66,219,6.008,223,9.849,227,3.804,241,6.697,243,5.488,244,5.488,277,5.287,318,3.139,350,2.254,591,7.627,652,5.015,696,10.095,765,10.342,775,4.748,819,7.945,874,8.987,978,11.213,1153,6.352,1417,5.862,2586,6.645,2712,7.933,2769,11.782,3334,13.114,3425,9.294,3686,7.372,4533,12.352,4534,19.386,4535,13.114,4536,13.114,4537,17.315,4538,17.315,4540,13.114,4950,8.316,5325,9.608,5326,9.608,5327,9.608,5328,8.316,5329,9.608,5330,9.608,5331,9.608]],["keywords/717",[]],["title/718",[5290,1331.557]],["content/718",[45,3.474,139,3.091,140,2.217,144,2.121,162,3.439,192,4.221,204,6.058,208,3.323,227,4.529,277,4.882,318,4.635,696,10.074,795,7.563,813,7.206,1092,7.353,5241,13.036,5293,15.613,5332,16.99,5333,15.613,5334,16.99,5335,13.487]],["keywords/718",[]],["title/719",[5290,1331.557]],["content/719",[45,3.373,139,3.035,140,2.152,144,2.059,162,3.375,192,4.143,204,5.88,208,3.226,227,4.396,277,4.817,318,4.55,696,9.78,795,7.341,808,8.786,813,6.995,1092,7.138,1709,8.524,1742,13.092,1757,13.617,5270,12.655,5335,16.418,5336,16.493,5337,16.493,5338,16.493]],["keywords/719",[]],["title/720",[5339,1538.415]],["content/720",[45,3.397,139,3.327,140,2.168,144,2.074,162,3.391,192,4.162,204,5.924,208,3.25,227,4.429,277,4.833,318,4.571,322,7.395,358,4.166,647,9.36,1092,7.191,2601,14.38,2602,13.718,5241,12.748,5333,15.268,5335,13.189,5340,16.614,5341,16.614,5342,16.614]],["keywords/720",[]],["title/721",[1308,1114.932]],["content/721",[64,6.521,194,5.846,208,3.778,224,6.308,240,6.617,352,5.315,758,8.478,874,9.214,1123,7.305,1203,12.818,3144,11.156]],["keywords/721",[]],["title/722",[874,733.774]],["content/722",[29,2.769,38,3.555,45,1.447,50,2.423,60,2.497,62,3.769,64,2.388,97,2.943,102,2.16,135,4.255,137,2.435,139,3.501,140,2.284,144,1.407,145,7.294,162,3.315,164,3.405,173,3.083,180,4.01,181,2.412,189,4.464,192,3.211,204,4.02,205,4.255,207,3.851,208,3.648,224,5.717,227,3.746,244,6.165,277,2.403,285,2.691,292,5.665,296,3.555,318,3.527,321,3.15,336,2.769,340,4.02,350,3.297,352,3.866,358,4.677,376,4.5,543,7.215,568,4.311,575,4.086,651,4.255,775,4.676,795,7.135,797,4.695,874,10.237,1039,3.403,1055,4.609,1092,3.062,1150,5.169,1203,4.695,1205,5.429,1238,6.779,1264,7.264,1265,4.528,1266,4.383,1297,5.003,1308,5.128,1374,4.317,1386,4.789,1899,6.875,1910,7.096,2135,4.453,2249,12.725,2434,11.403,2548,4.453,3121,4.695,3144,4.086,3162,5.003,3221,3.461,3414,10.849,3526,5.842,3736,6.124,3772,4.196,5135,4.196,5200,4.609,5206,4.891,5343,7.076,5344,6.502,5345,14.807,5346,7.076,5347,7.076,5348,7.076,5349,6.502,5350,5.128,5351,5.128,5352,4.695,5353,11.156,5354,16.03,5355,7.076,5356,7.076]],["keywords/722",[]],["title/723",[4959,1331.557]],["content/723",[45,1.685,50,2.822,52,4.058,60,2.908,62,4.247,97,3.427,102,2.515,135,4.954,137,2.836,139,3.041,140,2.023,144,1.586,153,3.187,162,3.492,164,3.998,173,3.59,180,3.624,181,2.808,192,3.106,205,4.954,207,4.484,208,3.89,224,4.148,227,2.196,244,6.7,251,12.627,277,2.708,292,5.121,318,3.411,336,3.224,340,4.529,350,3.637,352,4.265,358,4.986,376,4.891,568,4.857,643,3.749,775,2.741,795,7.756,797,5.467,874,6.059,1039,3.962,1055,5.366,1092,3.566,1150,5.824,1203,5.467,1205,6.322,1222,6.322,1238,4.954,1254,9.936,1260,13.369,1264,8.013,1265,5.273,1297,5.826,1299,10.793,1374,5.027,1899,6.214,1910,7.995,2434,12.259,2548,5.185,3144,4.758,3221,4.03,3414,8.597,3526,6.802,3772,4.885,4565,6.54,4567,12.8,4959,7.131,5044,5.366,5045,3.59,5135,4.885,5200,5.366,5206,5.695,5209,7.131,5210,7.131,5350,5.971,5351,5.971,5353,10.084,5357,8.239,5358,8.239,5359,17.423,5360,8.239]],["keywords/723",[]],["title/724",[5361,1413.703]],["content/724",[5,2.328,29,4.289,38,5.507,60,3.869,91,3.991,97,4.559,102,3.346,135,6.591,139,2.943,140,2.05,144,1.961,145,4.988,162,1.789,164,4.51,173,4.777,180,4.483,192,3.147,204,5.602,205,11.043,207,5.966,224,3.58,227,2.922,240,3.754,244,6.042,284,5.78,292,6.334,318,2.412,321,4.879,336,4.289,340,3.908,350,3.686,352,5.518,775,3.647,795,4.879,797,7.273,874,8.759,1039,5.272,1055,7.14,1150,7.204,1205,8.411,1238,6.591,1264,10.974,1265,7.015,1266,9.733,1297,7.751,1910,9.889,2434,10.233,2548,6.899,2595,5.409,2836,8.702,3144,6.33,3414,12.428,3772,10.889,4550,8.702,5219,9.488,5221,9.488,5222,9.488,5350,7.944,5351,7.944,5352,7.273,5353,12.472,5361,10.073,5362,10.962,5363,10.962]],["keywords/724",[]],["title/725",[5364,1413.703]],["content/725",[29,6.301,45,2.32,60,4.005,84,5.21,102,3.464,115,7.391,135,6.824,139,3.279,140,2.101,144,1.417,162,3.055,164,3.421,173,4.945,180,3.238,192,3.226,207,6.176,227,3.025,243,4.364,244,6.193,277,4.9,284,5.983,292,6.492,318,3.543,336,4.44,340,4.046,350,3.778,352,5.15,775,3.776,795,7.168,797,7.53,813,7.94,874,5.413,1039,5.458,1092,4.911,1150,7.384,1238,6.824,1264,10.531,1265,7.262,1266,7.03,1297,8.024,1827,6.045,1910,10.136,2434,10.489,2548,7.142,3144,6.553,3393,9.008,3414,7.68,3772,6.729,5335,9.008,5350,8.224,5351,8.224,5352,7.53,5353,12.784,5364,10.428,5365,10.428,5366,11.348,5367,10.428,5368,10.428,5369,11.348]],["keywords/725",[]],["title/726",[3162,1087.777]],["content/726",[45,1.854,52,2.112,62,4.569,97,5.684,137,3.121,138,3.568,139,3.144,140,1.783,144,1.706,145,8.331,150,3.979,162,3.497,164,1.926,181,3.09,189,3.59,192,3.294,204,6.527,205,5.452,208,4.038,224,5.37,227,2.417,244,7.04,277,2.913,292,5.509,318,3.618,321,4.036,340,4.872,350,3.206,352,4.524,358,5.176,376,5.139,447,3.391,568,5.225,618,6.957,775,3.017,795,8.149,797,6.016,874,8.732,1039,6.572,1055,5.905,1092,3.924,1203,6.016,1238,5.452,1264,8.5,1265,5.803,1374,5.532,1899,8.045,1910,8.601,2135,5.707,3144,5.236,3221,4.435,3414,12.39,3526,7.486,3772,5.376,4383,16.823,4769,14.533,5135,5.376,5200,5.905,5206,6.267,5344,8.332,5345,16.388,5349,8.332,5350,6.571,5351,6.571,5352,6.016,5370,9.067]],["keywords/726",[]],["title/727",[4565,1221.21]],["content/727",[45,1.825,50,3.056,52,4.23,62,4.514,97,3.711,137,3.071,139,3.22,140,1.762,144,1.685,162,3.478,164,1.896,181,3.041,192,3.263,205,5.366,208,4.013,224,5.318,227,2.379,244,6.984,251,13.161,277,2.878,292,5.443,318,3.583,340,4.814,350,3.168,352,4.481,358,5.145,376,5.097,568,5.163,643,4.061,775,2.969,795,8.083,797,5.921,874,7.768,1039,6.493,1055,5.812,1092,3.862,1203,8.959,1222,6.847,1238,5.366,1254,10.356,1260,13.934,1264,8.418,1265,5.711,1299,11.249,1374,5.444,1899,6.605,1910,8.498,3144,5.153,3221,4.365,3414,9.137,3772,5.291,4567,13.447,5044,5.812,5045,3.889,5135,5.291,5200,5.812,5206,6.168,5209,7.724,5210,7.724,5345,16.289,5350,6.467,5351,6.467,5352,5.921,5371,8.923,5372,18.16]],["keywords/727",[]],["title/728",[4550,1221.21]],["content/728",[5,2.448,29,4.602,38,5.909,91,4.282,97,4.892,102,3.59,139,3.2,140,1.535,144,2.062,145,5.352,164,3.509,192,3.824,204,5.889,205,11.479,224,5.394,227,4.403,240,4.029,244,6.352,279,3.895,292,6.658,318,3.634,321,5.236,340,4.194,350,2.76,352,5.252,775,3.914,795,5.236,797,7.805,874,9.874,1039,7.944,1055,7.661,1203,7.805,1238,7.073,1264,10.7,1265,7.527,1266,10.232,1910,10.396,2595,5.804,2836,9.337,3144,6.792,3414,12.919,3772,11.319,4551,9.712,5219,10.181,5221,10.181,5222,10.181,5345,15.154,5350,8.524,5351,8.524,5352,7.805,5373,11.762,5374,11.762]],["keywords/728",[]],["title/729",[5365,1413.703]],["content/729",[29,6.301,45,2.32,60,4.005,84,6.057,97,4.72,115,7.391,139,3.279,140,2.101,144,1.417,162,3.055,164,2.411,173,4.945,192,3.226,207,6.176,224,5.259,227,3.025,243,4.364,244,6.193,277,5.007,292,6.492,318,3.543,340,5.742,350,3.778,352,5.15,775,3.776,795,7.168,797,7.53,813,6.83,874,9.718,1039,7.745,1055,7.391,1092,4.911,1150,5.203,1203,7.53,1238,6.824,1264,9.675,1265,7.262,1266,7.03,1827,6.045,1910,10.136,3144,6.553,3393,9.008,3414,7.68,3772,6.729,5335,9.008,5345,14.86,5350,8.224,5351,8.224,5352,7.53,5353,12.784,5367,10.428,5368,10.428,5375,11.348,5376,11.348]],["keywords/729",[]],["title/730",[158,616.404]],["content/730",[158,8.16,208,3.983,240,6.975,1207,11.084,3788,18.714]],["keywords/730",[]],["title/731",[5377,1542.046]],["content/731",[45,2.701,139,2.625,140,1.723,144,2.234,158,5.292,162,3.824,164,3.801,180,5.105,192,3.584,204,6.38,208,4.446,227,4.77,240,4.524,244,6.881,277,3.814,318,3.936,325,7.441,358,5.699,724,10.29,775,4.395,1092,5.717,1150,6.056,1411,11.433,1488,12.368,1899,10.64,5045,7.798,5135,10.61,5200,11.654,5377,12.138,5378,13.209,5379,13.209,5380,13.209,5381,13.209]],["keywords/731",[]],["title/732",[5382,1538.415]],["content/732",[45,3.121,139,2.889,140,1.992,144,1.906,158,6.116,162,3.983,192,3.944,208,4.662,227,4.069,244,5.87,277,4.197,318,4.332,340,5.443,358,5.976,724,7.741,1092,6.607,1246,9.179,1488,10.551,1899,9.632,5045,6.652,5135,9.051,5200,9.942,5383,15.265,5384,15.265]],["keywords/732",[]],["title/733",[5385,1538.415]],["content/733",[45,3.121,139,2.889,140,1.992,144,1.906,158,6.116,162,3.983,192,3.944,208,4.662,227,4.069,244,5.87,277,4.197,318,4.332,340,5.443,358,5.976,717,8.499,1092,6.607,1246,9.179,1488,10.551,1899,9.632,5045,6.652,5135,9.051,5200,9.942,5386,15.265,5387,15.265]],["keywords/733",[]],["title/734",[5388,1538.415]],["content/734",[7,4.53,139,3.077,140,2.2,144,2.105,158,9.145,162,3.423,192,4.201,208,3.298,227,4.495,318,4.614,340,6.012,358,4.228,724,8.551,1246,10.14,2535,13.143,5045,7.349,5389,16.863,5390,13.923,5391,16.863]],["keywords/734",[]],["title/735",[5392,1538.415]],["content/735",[7,4.53,139,3.077,140,2.2,144,2.105,158,9.145,162,3.423,192,4.201,208,3.298,227,4.495,318,4.614,340,6.012,358,4.228,717,9.388,1246,10.14,2535,13.143,5045,7.349,5390,13.923,5393,16.863,5394,16.863]],["keywords/735",[]],["title/736",[5395,1413.703]],["content/736",[9,7.592,139,3.515,144,2.351,158,7.546,192,3.773,227,5.02,318,4.144,322,8.384,775,6.267,2535,10.366,2682,16.302,5395,17.308]],["keywords/736",[]],["title/737",[5396,1538.415]],["content/737",[7,6.739,51,6.089,139,3.091,140,2.217,144,2.121,158,9.176,162,3.439,192,4.221,227,4.529,318,4.635,350,4.943,5045,7.404,5390,14.028,5397,16.99,5398,16.99]],["keywords/737",[]],["title/738",[5399,1270.201]],["content/738",[7,5.909,51,6.532,139,3.466,144,2.275,158,8.812,162,2.974,192,3.651,227,4.858,318,4.01,350,5.16,775,6.064,5252,15.775,5399,15.048]],["keywords/738",[]],["title/739",[5399,1270.201]],["content/739",[7,5.06,9,7.592,139,3.515,144,2.351,158,7.546,192,3.773,227,5.02,318,4.144,322,8.384,775,6.267,5252,16.302,5399,15.551]],["keywords/739",[]],["title/740",[5400,1538.415]],["content/740",[7,2.835,45,2.158,139,3.2,140,1.377,144,1.908,158,4.228,162,3.559,192,3.062,204,7.776,207,9.783,208,4.091,227,2.813,244,5.878,277,3.258,318,3.363,350,2.476,358,4.941,455,5.874,628,4.731,775,3.511,1092,4.567,1899,8.793,2586,8.369,2595,7.543,2653,19.381,2654,17.057,2655,15.644,2656,17.678,2657,13.231,2658,17.057,5135,6.257,5200,6.872,5401,8.376,5402,10.552,5403,15.286,5404,10.552,5405,10.552,5406,10.552,5407,10.552,5408,10.552,5409,10.552,5410,10.552,5411,10.552,5412,10.552,5413,10.552]],["keywords/740",[]],["title/741",[5414,1538.415]],["content/741",[5,1.005,7,6.566,40,8.919,45,1.386,52,5.136,84,2.193,89,7.611,93,9.44,97,2.819,102,4.169,135,4.076,136,1.573,139,1.598,140,0.884,144,0.846,153,6.627,158,9.555,159,6.065,162,2.987,164,2.314,173,4.747,189,5.407,192,2.182,208,3.351,219,2.392,227,1.807,244,2.607,277,2.322,296,3.405,318,2.396,350,3.204,358,5.528,423,3.017,436,3.084,484,4.587,628,3.039,671,3.039,673,3.084,704,7.372,713,10.841,724,5.524,750,3.039,821,7.228,840,11.915,941,5.072,1080,4.793,1089,7.095,1092,2.933,1123,5.164,1150,3.108,1208,3.649,1254,3.865,1738,4.912,1899,6.681,2000,5.38,2041,14.265,2553,5.047,2595,3.345,2628,12.939,2629,11.859,2649,6.971,2655,5.38,2657,5.867,2658,5.867,3912,5.867,5135,4.019,5200,4.415,5352,11.369,5415,6.778,5416,6.778,5417,10.893,5418,10.893,5419,10.893,5420,10.893,5421,10.893,5422,6.778,5423,6.778,5424,6.778,5425,10.893,5426,6.778,5427,6.778]],["keywords/741",[]],["title/742",[5428,1413.703]],["content/742",[97,7.52,139,3.454,144,2.257,158,7.244,192,3.622,227,4.819,318,3.977,358,4.533,775,6.016,803,9.84,1709,9.344,1752,13.103,1755,14.352,2148,11.775,5245,15.648,5428,16.614,5429,18.079]],["keywords/742",[]],["title/743",[5430,1413.703]],["content/743",[1,2.809,9,6.071,40,8.589,139,3.482,140,1.965,144,1.88,153,5.825,158,7.821,192,3.91,227,4.015,244,5.792,318,4.294,319,9.993,345,8.024,358,4.894,423,8.688,775,6.495,1709,10.089,1752,10.915,1755,11.956,2148,9.809,2595,7.432,2628,10.649,2629,8.931,3098,13.802,5430,13.84,5431,15.061,5432,15.061,5433,15.061,5434,19.519,5435,15.061]],["keywords/743",[]],["title/744",[5436,1413.703]],["content/744",[84,3.496,139,3.837,140,2.029,144,1.349,157,5.111,158,6.23,162,1.763,192,3.115,219,3.813,224,3.528,227,2.88,241,8.549,318,3.421,336,4.227,340,3.852,350,3.648,358,2.709,374,9.704,591,8.577,646,3.892,652,5.64,696,9.22,746,5.881,775,6.63,808,5.756,819,10.141,1119,9.928,1153,4.809,1330,6.914,2451,11.578,2787,13.751,5436,14.289,5437,10.804,5438,15.549,5439,15.549,5440,18.216,5441,15.549,5442,15.549,5443,15.549,5444,10.804,5445,10.804,5446,10.804,5447,15.549,5448,10.804,5449,10.804,5450,10.804,5451,10.804,5452,10.804,5453,10.804]],["keywords/744",[]],["title/745",[45,314.583]],["content/745",[45,4.202,240,7.039,753,12.186,2145,16.313]],["keywords/745",[]],["title/746",[4905,1331.557]],["content/746",[9,7.407,45,4.519,139,3.243,144,2.759,192,3.681,193,10.001,204,6.551,227,4.898,243,7.066,322,8.179,775,6.114,1709,9.497,3392,15.171,4905,15.903]],["keywords/746",[]],["title/747",[4901,1413.703]],["content/747",[37,3.974,45,4.253,88,4.624,139,3.905,140,1.551,144,1.484,162,2.716,192,3.333,227,3.168,455,6.617,775,3.955,1092,5.144,5045,5.18,5454,11.886,5455,11.886,5456,11.886,5457,11.886,5458,11.886,5459,11.886,5460,11.886,5461,15.29,5462,16.639,5463,16.639,5464,16.639,5465,16.639,5466,16.639,5467,16.639,5468,11.886,5469,11.886,5470,11.886,5471,11.886,5472,11.886,5473,11.886,5474,11.886,5475,11.886,5476,11.886,5477,11.886,5478,11.886,5479,11.886,5480,11.886,5481,10.288]],["keywords/747",[]],["title/748",[4856,1270.201]],["content/748",[37,5.555,45,4.249,52,3.87,78,6.318,139,3.049,144,2.074,162,3.391,181,5.663,217,5.425,227,4.429,317,6.778,775,6.914,1709,10.739,2148,13.533,2586,7.736,4856,13.718,5482,14.38,5483,16.614,5484,16.614,5485,16.614,5486,16.614]],["keywords/748",[]],["title/749",[317,438.935]],["content/749",[1,3.765,64,6.813,194,6.108,240,6.913,317,5.758,2296,17.469]],["keywords/749",[]],["title/750",[4884,1105.594,5111,850.703]],["content/750",[20,7.023,51,4.573,139,3.871,140,1.665,144,1.593,162,2.852,192,3.501,220,5.721,227,3.401,305,9.619,317,6.117,318,3.845,554,6.532,775,4.246,1079,9.791,1393,9.791,5045,5.561,5109,9.248,5481,11.045,5487,12.76,5488,12.76,5489,12.76,5490,12.76,5491,12.76,5492,11.726,5493,11.726,5494,11.726,5495,11.726,5496,11.726,5497,11.726,5498,11.726,5499,11.726,5500,11.726,5501,11.726,5502,11.726,5503,11.726,5504,11.726,5505,11.726,5506,11.726,5507,11.726,5508,11.726,5509,11.726]],["keywords/750",[]],["title/751",[5510,1413.703]],["content/751",[9,7.288,139,3.454,144,2.257,192,3.622,204,6.446,227,4.819,317,5.158,318,3.977,322,8.048,775,6.016,1709,9.344,1842,13.103,2016,16.614,5510,16.614,5511,18.079,5512,18.079,5513,18.079]],["keywords/751",[]],["title/752",[5514,1538.415]],["content/752",[1,2.848,5,2.918,45,3.121,46,6.269,50,5.228,136,3.543,139,2.889,140,3.11,144,1.906,162,3.213,163,7.6,189,7.795,192,3.944,227,4.069,317,6.8,318,4.332,434,6.607,435,11.063,495,7.222,746,8.308,1417,9.314,5045,6.652,5109,11.063,5352,10.129,5515,15.265,5516,15.265,5517,19.69]],["keywords/752",[]],["title/753",[5518,1538.415]],["content/753",[1,3.319,45,3.639,139,3.181,140,2.322,144,2.221,162,3.538,163,8.859,192,4.342,227,4.743,317,6.185,318,4.769,1339,9.794,5045,7.754,5109,12.896,5519,17.794,5520,17.794]],["keywords/753",[]],["title/754",[5521,1538.415]],["content/754",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,256,7.601,285,5.844,317,6.239,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,5109,11.138,5522,15.369,5523,12.69,5524,15.369]],["keywords/754",[]],["title/755",[5525,1538.415]],["content/755",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,285,5.844,317,6.239,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,1039,10.516,5109,11.138,5523,12.69,5526,15.369,5527,15.369]],["keywords/755",[]],["title/756",[5528,1413.703]],["content/756",[35,2.055,37,3.212,46,8.663,52,2.238,78,3.653,84,3.108,88,3.737,139,2.954,144,1.781,162,1.568,192,1.925,208,1.879,217,3.137,227,3.804,317,4.857,318,2.114,375,9.13,423,7.578,696,12.509,775,4.748,813,8.947,938,8.241,1072,10.599,1187,13.323,1709,7.376,1835,10.387,1842,12.338,2586,7.927,3393,11.328,3601,8.829,4145,17.418,5482,8.316,5528,13.114,5529,17.024,5530,9.608,5531,15.644,5532,13.114,5533,15.644,5534,15.644,5535,15.644,5536,13.114,5537,17.024,5538,14.27,5539,8.829,5540,8.829,5541,8.829,5542,9.608,5543,9.608,5544,9.608,5545,9.608,5546,9.608,5547,9.608,5548,8.829,5549,9.608,5550,9.608,5551,9.608,5552,9.608,5553,9.608,5554,9.608,5555,9.608]],["keywords/756",[]],["title/757",[5556,1538.415]],["content/757",[35,3.753,45,4.751,139,1.883,140,2.804,144,2.19,162,3.881,164,2.726,180,5.704,192,3.515,194,3.884,208,3.432,227,3.421,259,5.975,317,6.786,318,3.86,350,4.691,848,5.479,977,7.318,1078,13.53,1092,5.554,1150,9.166,5045,7.646,5557,12.833,5558,12.833,5559,17.545,5560,17.545,5561,19.992,5562,17.545,5563,17.545,5564,12.833]],["keywords/757",[]],["title/758",[5565,1538.415]],["content/758",[1,2.809,35,5.077,139,2.864,140,2.825,144,1.88,162,3.739,192,3.91,226,7.71,227,4.015,317,6.537,318,4.294,494,8.197,671,6.753,700,8.73,742,6.431,834,10.915,1057,9.993,1123,5.695,5045,8.506,5046,11.909,5109,10.915,5566,15.061,5567,12.435,5568,15.061,5569,12.435]],["keywords/758",[]],["title/759",[1466,1413.703]],["content/759",[1,2.253,35,5.104,75,7.184,139,1.772,140,2.526,144,2.1,162,3.418,181,4.116,192,3.879,209,7.232,219,6.833,226,6.182,227,3.219,317,4.801,318,4.26,350,3.948,447,4.517,494,6.573,671,5.415,698,7.599,700,8.442,742,5.157,753,7.161,834,8.753,1057,8.013,1094,13.691,1123,4.567,1129,8.235,1150,5.537,1158,17.479,1374,7.369,3259,10.453,5045,7.332,5046,10.266,5109,8.753,5567,9.972,5569,13.892,5570,12.077,5571,16.825,5572,11.098]],["keywords/759",[]],["title/760",[1829,811.144]],["content/760",[1,3.765,64,6.813,194,6.108,240,6.913,1829,10.642,2296,17.469]],["keywords/760",[]],["title/761",[5573,1538.415]],["content/761",[1,2.828,5,2.905,46,6.227,50,5.193,136,3.519,139,2.876,140,3.103,144,1.893,162,3.199,189,7.761,192,3.927,227,4.042,318,4.313,434,6.562,746,8.253,1137,11.29,1153,6.749,1254,8.646,1417,9.251,1829,12.541,5045,6.608,5352,10.061,5574,15.162,5575,15.162,5576,11.29,5577,19.604,5578,19.604]],["keywords/761",[]],["title/762",[5579,1538.415]],["content/762",[1,3.373,139,3.211,140,2.359,144,2.257,162,3.572,192,4.384,227,4.819,318,4.815,1339,9.951,1829,11.54,5045,7.879,5576,13.462,5580,18.079,5581,18.079]],["keywords/762",[]],["title/763",[5582,1413.703]],["content/763",[9,7.468,139,3.49,144,2.313,192,3.711,204,6.605,227,4.938,318,4.075,322,8.246,775,6.164,1709,9.575,1829,9.767,5582,17.023,5583,17.023,5584,18.525]],["keywords/763",[]],["title/764",[4894,1105.594,5111,850.703]],["content/764",[20,7.023,51,4.573,139,3.871,140,1.665,144,1.593,162,2.852,192,3.501,220,5.721,227,3.401,305,9.619,318,3.845,554,6.532,775,4.246,1079,9.791,1393,9.791,1829,11.304,5045,5.561,5481,11.045,5492,11.726,5493,11.726,5494,11.726,5495,11.726,5496,11.726,5497,11.726,5498,11.726,5499,11.726,5500,11.726,5501,11.726,5502,11.726,5503,11.726,5504,11.726,5505,11.726,5506,11.726,5507,11.726,5508,11.726,5509,11.726,5576,9.501,5585,12.76,5586,12.76,5587,12.76,5588,12.76,5589,12.76]],["keywords/764",[]],["title/765",[5590,1413.703]],["content/765",[37,3.212,46,8.663,52,2.238,78,3.653,84,3.108,88,3.737,139,2.954,144,1.781,162,1.568,174,7.866,192,1.925,217,3.137,227,3.804,277,4.017,318,2.114,375,9.13,423,7.578,775,4.748,813,9.722,1072,10.599,1187,13.323,1709,7.376,1829,8.976,1835,10.387,2586,7.927,2625,6.963,3393,11.328,4145,17.418,5482,8.316,5531,15.644,5532,13.114,5533,15.644,5534,15.644,5535,15.644,5536,13.114,5539,8.829,5540,8.829,5541,8.829,5548,8.829,5583,15.644,5590,13.114,5591,17.024,5592,9.608,5593,17.024,5594,14.27,5595,9.608,5596,9.608,5597,9.608,5598,9.608,5599,9.608,5600,9.608,5601,9.608,5602,9.608,5603,9.608,5604,9.608,5605,9.608,5606,9.608,5607,9.608]],["keywords/765",[]],["title/766",[5608,1538.415]],["content/766",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,256,7.601,285,5.844,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,1829,11.529,5523,12.69,5576,11.444,5609,15.369,5610,15.369]],["keywords/766",[]],["title/767",[5611,1538.415]],["content/767",[35,3.288,48,6.012,60,8.147,62,7.718,139,2.902,140,2.005,144,1.919,162,3.569,182,8.764,192,3.961,227,4.097,285,5.844,318,4.351,350,3.606,447,5.748,675,8.764,825,8.658,1039,10.516,1829,11.529,5523,12.69,5576,11.444,5612,15.369,5613,15.369]],["keywords/767",[]],["title/768",[5614,1538.415]],["content/768",[1,2.809,35,5.077,139,2.864,140,2.825,144,1.88,162,3.739,192,3.91,226,7.71,227,4.015,318,4.294,494,8.197,671,6.753,700,8.73,742,6.431,834,10.915,1057,9.993,1123,5.695,1829,12.079,5045,8.506,5046,11.909,5567,12.435,5569,12.435,5576,11.214,5615,15.061,5616,15.061]],["keywords/768",[]],["title/769",[5617,1538.415]],["content/769",[1,2.229,35,5.091,75,7.131,139,1.753,140,2.512,144,2.085,162,3.402,181,4.073,192,3.857,209,7.179,219,6.795,226,6.117,227,3.185,318,4.236,350,3.918,447,4.469,494,6.504,671,5.358,698,7.543,700,8.403,742,5.102,753,7.085,834,8.66,1057,7.929,1094,14.739,1123,4.518,1129,8.203,1150,5.479,1158,18.04,1374,7.291,1829,8.806,3259,10.342,5045,7.278,5046,10.19,5567,9.866,5569,13.789,5572,10.98,5576,8.897,5618,11.949,5619,16.701]],["keywords/769",[]],["title/770",[48,313.337,5620,923.159]],["content/770",[1,3.122,5,2.481,48,4.359,49,10.039,52,3.899,64,5.65,88,6.511,139,2.456,142,8.409,192,3.353,194,5.065,225,5.223,240,5.733,318,3.682,352,6.258,446,7.733,455,9.318,698,7.56,742,7.146,752,9.875,757,11.106,1098,15.543,3907,15.381,5401,13.287]],["keywords/770",[]],["title/771",[5621,1538.415]],["content/771",[7,6.091,29,6.501,52,4.84,139,3.049,140,2.168,144,2.074,162,2.712,192,4.162,227,4.429,318,4.571,358,4.166,446,9.6,5044,10.821,5620,17.396,5622,16.614,5623,14.38,5624,16.614,5625,14.38,5626,16.614,5627,16.614,5628,15.268]],["keywords/771",[]],["title/772",[5629,1538.415]],["content/772",[29,6.801,139,3.135,140,2.268,144,2.17,162,2.837,192,4.281,204,6.198,227,4.634,318,4.701,340,6.198,358,4.358,446,9.873,775,7.11,5620,16.396,5623,15.045,5625,15.045,5630,17.383,5631,17.383]],["keywords/772",[]],["title/773",[5632,1413.703]],["content/773",[29,8.167,139,3.063,144,2.606,192,4.181,204,8.492,227,5.564,318,4.592,358,4.197,455,9.318,775,5.569,5401,13.287,5620,12.843,5628,19.182,5632,19.182,5633,19.182,5634,19.182]],["keywords/773",[]],["title/774",[5635,1413.703]],["content/774",[139,3.308,144,2.371,192,3.805,204,6.772,227,5.063,318,4.178,446,8.775,775,6.32,5620,14.573,5633,17.453,5634,17.453,5635,17.453]],["keywords/774",[]],["title/775",[5636,1538.415]],["content/775",[102,5.306,139,3.135,140,2.268,144,2.17,162,2.837,192,4.281,227,4.634,318,4.701,358,4.358,446,9.873,1472,10.606,2301,11.384,3001,14.352,5620,16.396,5623,15.045,5625,15.045,5637,17.383,5638,17.383]],["keywords/775",[]],["title/776",[1974,578.625,2771,745.296]],["content/776",[11,8.022,64,6.634,136,4.562,194,5.948,240,6.732,1974,9.453,2771,12.176,4127,13.042,5639,17.012]],["keywords/776",[]],["title/777",[256,534.792]],["content/777",[5,2.262,11,8.895,106,8.049,136,4.57,140,2.844,144,1.906,162,2.491,189,6.043,192,3.058,227,4.069,242,8.599,255,11.675,256,5.307,285,5.804,329,7.89,338,8.132,392,10.794,594,10.717,840,12.197,1200,8.599,1818,8.815,1974,7.341,2070,12.604,2498,11.713,2599,13.212,2771,14.264,5639,13.212,5640,15.265,5641,14.028,5642,15.265,5643,15.265]],["keywords/777",[]],["title/778",[4353,1221.21]],["content/778",[5,3.007,11,5.391,37,5.982,45,2.701,72,6.964,75,5.64,136,4.153,139,2.977,140,1.723,141,7.589,144,1.649,152,4.437,162,2.92,192,4.065,220,8.023,225,4.122,227,3.521,236,9.34,318,4.464,329,6.827,352,4.923,425,6.406,494,7.189,563,9.248,594,7.189,615,6.518,676,5.425,958,8.909,1009,14.204,1055,11.654,2771,8.182,3143,13.323,5639,18.825,5641,12.138,5644,17.893,5645,13.209,5646,13.209,5647,13.209,5648,13.209,5649,13.209,5650,13.209,5651,13.209]],["keywords/778",[]],["title/779",[130,219.079,139,94.311,208,125.72,573,259.112,1789,267.343,1969,444.28]],["content/779",[11,7.817,64,6.465,130,6.528,167,9.623,194,5.797,208,3.746,240,6.56,573,7.721,643,8.716,1789,7.967,1969,13.239,2771,11.865]],["keywords/779",[]],["title/780",[4869,1413.703]],["content/780",[42,11.022,45,3.748,139,2.689,140,1.786,144,1.709,162,3.602,192,3.672,208,3.585,227,3.649,318,4.032,340,6.535,460,14.253,573,5.519,643,6.229,790,9.383,808,7.293,1092,5.925,1497,8.232,1789,9.849,3580,11.73,4238,12.405,4264,12.96,4806,15.134,5045,7.988,5270,10.504,5352,12.162,5652,13.69,5653,10.867,5654,12.58,5655,12.58,5656,16.844,5657,13.69]],["keywords/780",[]],["title/781",[4862,1413.703]],["content/781",[45,4.21,139,3.021,140,2.136,144,2.044,162,3.856,192,4.124,208,4.027,227,4.364,318,4.529,340,5.838,573,6.6,643,7.451,1092,7.086,1789,9.828,1969,11.317,5045,8.972,5270,12.563,5653,12.997,5658,16.373,5659,16.373]],["keywords/781",[]],["title/782",[4864,1270.201]],["content/782",[139,3.358,144,2.432,192,3.903,227,5.194,318,4.287,573,7.855,1789,8.104,1969,13.468,4864,16.088]],["keywords/782",[]],["title/783",[5660,1538.415]],["content/783",[45,4.191,139,3.007,140,2.121,144,2.029,162,3.846,192,4.105,208,4.009,227,4.333,318,4.509,340,5.796,359,8.167,643,7.397,848,6.94,1092,7.035,1789,9.803,2301,8.66,5045,8.931,5270,12.473,5653,12.904,5661,16.255,5662,16.255]],["keywords/783",[]],["title/784",[5663,1413.703]],["content/784",[35,3.867,139,3.454,144,2.257,192,3.622,204,6.446,208,3.536,227,4.819,243,8.417,318,3.977,322,8.048,593,10.577,775,6.016,1789,7.52,3425,11.775,5663,20.113]],["keywords/784",[]],["title/785",[5664,1413.703]],["content/785",[45,4.153,59,7.032,136,3.719,139,2.98,140,2.091,144,2,162,3.826,192,3.21,208,3.972,227,4.271,278,6.665,318,3.525,340,5.713,643,7.292,775,5.332,1092,6.935,1170,9.502,1789,9.752,5045,8.851,5653,12.72,5664,14.725,5665,16.024,5666,16.024,5667,16.024,5668,16.024]],["keywords/785",[]],["title/786",[5669,1413.703]],["content/786",[4,5.756,5,1.601,39,5.947,45,3.18,130,3.682,139,3.465,140,1.41,144,1.941,162,3.252,181,6.209,192,3.115,194,3.27,208,3.041,217,6.506,226,5.531,227,2.88,243,5.98,244,5.98,278,8.287,318,3.421,340,3.852,352,2.972,359,5.428,437,8.037,643,4.916,758,6.824,849,5.332,1068,8.577,1092,4.676,1134,9.951,1437,14.088,1789,9.97,2595,7.673,2967,11.269,3297,14.289,4235,10.127,4237,10.748,4600,11.578,5045,6.776,5328,13.459,5653,8.577,5669,9.928,5670,10.804,5671,9.928,5672,18.309,5673,14.289,5674,15.549,5675,15.549]],["keywords/786",[]],["title/787",[5676,1413.703]],["content/787",[5,1.297,39,4.816,42,7.999,45,1.789,64,2.954,65,5.6,80,5.421,102,2.671,130,4.534,131,5.421,139,3.106,140,1.142,144,1.661,157,4.14,162,2.171,170,5.806,171,5.6,181,5.485,192,2.665,194,2.648,208,1.711,217,5.871,226,4.479,227,2.332,243,5.116,244,5.116,248,4.523,278,7.478,290,4.929,318,2.927,322,3.895,340,4.743,349,5.738,352,3.66,359,4.396,437,6.875,447,3.272,460,11.137,540,5.507,643,3.982,743,5.6,758,5.838,790,8.238,836,7.999,849,4.318,1031,5.806,1134,8.513,1437,12.712,1789,9.883,2049,10.207,2595,6.564,2967,9.641,3001,7.225,3580,10.299,4235,8.664,4237,9.195,4238,9.003,4257,11.514,4264,9.406,4600,9.905,4806,10.983,4864,7.225,5045,3.813,5328,11.514,5352,8.826,5654,8.041,5655,8.041,5656,12.224,5671,8.041,5672,16.521,5673,12.224,5676,8.041,5677,8.75,5678,8.75,5679,13.302,5680,13.302,5681,13.302,5682,13.302]],["keywords/787",[]],["title/788",[7,265.386,352,271.764,353,424.621]],["content/788",[6,11.6,7,5.327,64,6.693,194,6,240,6.791,352,5.455,353,8.523,674,11.307]],["keywords/788",[]],["title/789",[5683,1538.415]],["content/789",[7,4.464,139,3.327,140,2.168,141,8.813,144,2.074,192,4.162,224,5.425,227,4.429,240,5.691,292,6.698,318,4.571,352,6.237,353,8.931,874,7.925,875,8.425,1203,11.024,1308,12.041,1738,12.041,1974,7.99,5684,16.614,5685,16.614,5686,16.614]],["keywords/789",[]],["title/790",[5687,1413.703]],["content/790",[5,2.723,51,6.585,139,3.478,141,7.793,144,2.294,192,3.681,227,4.898,240,6.293,318,4.042,352,5.055,353,7.898,753,10.895,1308,13.316,5687,16.885,5688,18.374]],["keywords/790",[]],["title/791",[5689,1538.415]],["content/791",[7,4.431,84,6.692,139,3.035,140,2.152,144,2.059,192,4.143,203,11.794,227,4.396,240,5.649,286,12.885,318,4.55,349,5.263,350,3.87,352,4.537,353,7.09,652,8.609,750,9.273,838,17.077,5690,15.156,5691,16.493,5692,16.493,5693,16.493]],["keywords/791",[]],["title/792",[5694,1538.415]],["content/792",[84,5.668,139,3.15,144,2.187,192,3.509,203,9.989,204,6.246,227,4.67,240,6,286,12.243,318,3.854,349,5.59,350,4.11,352,4.819,353,7.53,652,9.144,750,7.854,753,10.387,838,14.464,5212,16.098,5690,16.098,5695,17.518]],["keywords/792",[]],["title/793",[4485,1331.557]],["content/793",[5,2.945,18,4.745,75,5.418,136,4.041,139,3.138,141,7.384,144,2.173,182,9.928,183,8.668,192,2.542,194,3.84,202,7.15,217,5.685,223,6.207,224,5.685,227,4.641,271,7.63,309,6.207,318,2.791,320,7.742,327,7.064,352,4.79,371,10.185,385,10.476,392,8.972,564,8.12,717,11.065,765,12.617,790,6.495,921,10.072,958,8.668,1039,6.102,1057,8.419,1214,7.986,1266,7.86,1296,13.187,1667,8.77,1674,8.587,2627,10.072,3143,14.799,3409,11.66,4485,15.069,5696,12.689,5697,12.689,5698,12.689,5699,12.689,5700,12.689]],["keywords/793",[]],["title/794",[3,577.902,352,271.764,353,424.621]],["content/794",[3,13.868,88,7.148,91,6.689,129,8.988,130,6.263,225,5.733,265,5.972,273,7.452,279,6.085,352,6.08,353,7.898,901,11.211,934,8.911,2535,10.113]],["keywords/794",[]],["title/795",[4309,725.232,5701,769.972,5702,769.972,5703,769.972]],["content/795",[3,8.038,11,8.189,72,3.606,102,2.088,139,3.478,140,0.892,144,1.37,162,2.809,181,3.74,192,3.15,201,7.32,202,8.241,206,16.568,217,6.553,220,4.92,226,5.617,227,1.823,240,7.796,256,2.378,265,4.466,273,7.453,318,3.459,337,3.439,437,10.371,563,5.671,621,3.683,744,10.682,745,5.093,746,3.723,758,8.806,768,11.825,770,5.093,779,5.093,780,5.647,934,7.626,1372,5.92,1385,4.728,2535,11.394,2571,9.958,3150,4.377,3187,11.345,4293,6.285,4294,6.285,4295,9.06,4297,5.92,4301,5.647,4302,6.285,4303,5.92,4305,6.285,4307,5.92,4309,5.92,4310,6.285,4311,6.285,4312,6.285,4316,6.285,4317,6.285,5701,6.285,5702,6.285,5703,10.083,5704,6.84,5705,10.973,5706,10.973,5707,6.84,5708,15.723,5709,6.84,5710,6.84,5711,6.84,5712,6.84,5713,6.84,5714,6.84,5715,13.74,5716,6.84,5717,6.84,5718,6.84,5719,6.84,5720,6.84,5721,6.84,5722,6.84,5723,6.84]],["keywords/795",[]],["title/796",[352,271.764,353,424.621,825,556.491]],["content/796",[64,6.813,194,6.108,240,6.913,352,5.552,825,11.37,1009,16.021]],["keywords/796",[]],["title/797",[5724,1413.703]],["content/797",[139,3.259,141,7.857,144,2.313,192,3.711,221,9.062,227,4.938,318,4.075,383,9.669,575,10.697,592,11.476,1009,14.705,1026,8.985,1205,14.214,3085,15.295,5724,17.023]],["keywords/797",[]],["title/798",[5725,1413.703]],["content/798",[139,3.275,141,7.922,144,2.332,192,3.742,221,9.137,225,6.965,227,4.979,318,4.109,362,9.059,383,9.75,1009,14.827,1026,9.059,5725,17.164]],["keywords/798",[]],["title/799",[4930,1331.557]],["content/799",[5,2.342,35,3.38,45,4.116,46,6.489,139,2.953,144,1.972,150,6.933,174,7.3,192,3.165,208,3.09,225,4.93,227,4.212,302,7.536,318,3.476,352,5.538,383,11.563,398,10.483,443,8.331,614,7.536,646,5.692,775,5.257,874,7.536,938,9.124,1339,12.192,1520,13.675,2434,10.291,2586,7.357,4389,13.675,4930,13.675,5726,15.8]],["keywords/799",[]],["title/800",[672,968.26]],["content/800",[1,4.083,5,3.244,45,3.697,48,5.7,60,6.381,79,6.761,139,2.653,194,5.471,260,11.996,277,3.854,378,8.922,653,10.577,672,13.775,1200,10.185,4167,13.462]],["keywords/800",[]],["title/801",[5727,1413.703]],["content/801",[7,4.67,139,2.55,140,2.268,144,2.668,192,4.281,227,4.634,318,4.701,350,4.078,358,4.358,672,13.449,775,7.11,808,9.26,1203,11.534,3150,11.124,5390,14.352,5727,15.974,5728,17.383,5729,15.974,5730,17.383]],["keywords/801",[]],["title/802",[5731,1538.415]],["content/802",[7,4.599,139,2.512,140,2.762,144,2.642,162,2.794,192,4.24,224,5.59,227,4.563,292,6.901,318,4.657,626,10.774,672,13.323,757,11.359,775,5.696,1108,13.589,3150,10.956,5729,15.731,5732,21.168,5733,17.119,5734,17.119]],["keywords/802",[]],["title/803",[5735,1413.703]],["content/803",[7,3.612,49,8.709,52,5.327,139,3.355,140,2.672,144,2.261,162,2.955,192,3.628,204,6.457,224,4.39,227,3.584,256,6.295,318,3.984,326,8.329,349,4.291,350,4.249,446,10.566,455,7.485,672,13.789,709,9.099,775,4.474,2563,12.197,3150,8.604,3225,9.293,5401,10.673,5735,20.132,5736,13.445,5737,12.355,5738,12.355,5739,13.445,5740,13.445]],["keywords/803",[]],["title/804",[5741,1413.703]],["content/804",[7,3.866,52,4.934,139,3.108,140,2.764,144,2.365,162,3.092,192,3.795,204,5.13,224,4.698,227,3.835,256,6.586,318,4.168,349,4.592,350,4.445,436,9.638,446,9.786,455,8.011,672,14.721,709,9.738,928,10.174,2563,11.792,3150,9.208,3225,9.945,5401,11.422,5737,13.222,5738,13.222,5741,17.41,5742,14.389]],["keywords/804",[]],["title/805",[5743,1413.703]],["content/805",[7,4.936,52,4.28,64,6.202,130,6.263,139,3.243,144,2.294,192,3.681,227,4.898,318,4.042,404,8.499,447,6.871,574,10.895,672,11.564,848,7.845,5743,16.885]],["keywords/805",[]],["title/806",[7,413.302]],["content/806",[1,3.456,7,6.391,69,11.303,194,5.606,309,9.062,614,8.836,632,8.43,686,11.479,934,8.985,1036,11.303,1385,12.804,1897,10.984,4634,16.034]],["keywords/806",[]],["title/807",[5744,1413.703]],["content/807",[1,3.122,5,2.481,7,4.497,51,5.999,139,3.063,144,2.606,162,3.407,192,3.353,204,7.443,227,5.564,318,3.682,761,8.737,775,5.569,934,8.118,963,13.82,2586,7.794,5744,15.381,5745,16.738,5746,16.738,5747,16.738,5748,16.738,5749,16.738,5750,15.381,5751,15.381]],["keywords/807",[]],["title/808",[5752,1413.703]],["content/808",[1,2.354,7,3.39,48,5.557,51,4.522,52,2.939,139,3.748,144,2.165,162,3.482,192,2.528,204,6.183,227,4.623,318,2.776,761,9.052,775,4.198,963,14.319,1247,8.721,2196,10.418,2586,5.875,5750,15.937,5751,15.937,5752,11.595,5753,12.618,5754,12.618,5755,11.595,5756,12.618,5757,12.618,5758,12.618,5759,12.618,5760,12.618,5761,12.618,5762,12.618,5763,12.618,5764,12.618,5765,12.618,5766,12.618,5767,11.595,5768,11.595,5769,21.338,5770,12.618,5771,12.618,5772,12.618,5773,11.595,5774,12.618,5775,12.618]],["keywords/808",[]],["title/809",[5776,1678.08]],["content/809",[1,2.617,7,5.62,48,3.654,139,2.734,140,1.831,144,2.326,162,3.041,189,5.555,192,4.191,204,7.946,227,3.74,318,4.602,775,6.961,848,5.991,963,15.384,1153,6.245,1417,8.56,1899,6.863,2586,8.676,5755,17.122,5767,17.122,5768,17.122,5773,12.893,5777,14.031,5778,14.031,5779,14.031,5780,12.893,5781,14.031,5782,12.893,5783,14.031,5784,18.632,5785,14.031,5786,14.031,5787,18.632]],["keywords/809",[]],["title/810",[4928,1413.703]],["content/810",[7,6.463,44,9.267,52,4.949,139,2.125,140,1.889,144,2.375,152,6.391,162,3.105,189,5.733,192,3.811,204,6.783,227,3.86,318,4.186,352,3.984,353,6.225,580,8.97,643,6.589,686,7.484,934,7.023,1123,5.476,1897,11.281,1899,7.084,2586,6.743,5044,9.432,5780,13.307,5782,13.307,5788,14.481,5789,14.481,5790,14.481,5791,14.481,5792,14.481,5793,14.481,5794,14.481,5795,19.025,5796,14.481]],["keywords/810",[]],["title/811",[50,526.915]],["content/811",[1,3.543,50,7.721,72,11.886,79,7.103,194,5.748,545,11.421,849,11.124,934,9.212,2631,14.142,4634,16.439]],["keywords/811",[]],["title/812",[5797,1413.703]],["content/812",[5,2.444,50,5.649,79,6.168,139,3.476,140,2.152,144,2.582,157,7.803,162,3.867,192,3.304,204,7.374,227,5.513,318,3.628,322,7.341,934,7.999,5797,19.006,5798,15.156,5799,16.493,5800,16.493,5801,16.493,5802,16.493,5803,16.493]],["keywords/812",[]],["title/813",[5804,1538.415]],["content/813",[50,6.773,79,7.396,139,3.208,140,2.005,144,2.469,162,3.898,189,6.085,192,3.961,204,7.051,227,4.097,318,4.351,322,6.841,339,9.242,484,14.798,757,10.198,849,7.584,1737,14.332,1899,7.518,3425,12.88,5798,14.123,5805,15.369,5806,12.69,5807,19.776,5808,14.123]],["keywords/813",[]],["title/814",[5809,1413.703]],["content/814",[50,7.769,52,3.059,72,6.924,79,8.114,119,6.854,139,3.788,140,1.713,144,1.639,162,3.541,192,3.57,204,4.682,227,3.5,318,3.921,446,6.067,484,8.887,642,6.659,775,4.369,875,6.659,1123,6.739,1742,10.424,1899,8.718,2013,7.787,2542,8.553,2852,9.517,3425,8.553,3827,10.842,5270,10.076,5461,12.067,5806,10.842,5808,12.067,5809,12.067,5810,13.132,5811,11.366,5812,13.132,5813,13.132,5814,13.132,5815,13.132,5816,13.132]],["keywords/814",[]],["title/815",[5817,1538.415]],["content/815",[50,8.03,79,7.596,139,2.98,140,2.091,144,2,162,3.826,192,4.068,227,4.271,248,8.282,318,4.468,383,8.364,484,10.844,849,10.022,1150,7.347,1899,9.935,2013,9.502,3425,10.437,5806,13.23,5811,13.87,5818,16.024,5819,18.664,5820,16.024]],["keywords/815",[]],["title/816",[5821,1538.415]],["content/816",[50,8.051,79,7.63,139,2.994,140,2.106,144,2.015,162,3.836,192,4.087,227,4.302,248,8.341,318,4.488,383,8.424,1150,7.4,1899,9.98,2013,9.57,2301,10.869,3425,10.511,5806,13.325,5811,13.969,5819,18.748,5822,16.139,5823,16.139]],["keywords/816",[]]],"invertedIndex":[["",{"_index":139,"title":{"5":{"position":[[8,1]]},"338":{"position":[[11,1]]},"497":{"position":[[7,1]]},"779":{"position":[[17,1]]}},"content":{"7":{"position":[[335,3],[1020,3]]},"9":{"position":[[149,2],[236,1],[498,2],[575,1]]},"20":{"position":[[344,1],[352,1],[362,1],[375,1],[384,1],[417,1],[524,4],[666,4],[723,3],[787,3]]},"21":{"position":[[84,3],[116,2],[129,2]]},"22":{"position":[[109,3],[143,2],[157,2],[166,1],[182,1],[228,1],[271,1],[376,1],[384,1],[400,1],[414,1],[430,1],[446,1],[459,1],[488,1],[496,1],[503,1],[514,1]]},"23":{"position":[[79,3],[122,2],[137,2],[259,1]]},"36":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7499,1],[7586,1],[7686,1],[9293,1],[9305,1],[9485,1],[9492,1]]},"42":{"position":[[657,1],[913,1],[931,1],[2223,1],[2343,1]]},"43":{"position":[[144,1],[233,1],[305,1],[775,5]]},"44":{"position":[[262,1],[297,1],[309,1],[377,1],[430,1],[511,1],[528,1],[674,1],[731,1],[743,1],[826,1],[875,1],[952,1],[1073,1],[1132,1],[1199,1],[1276,1],[1319,1]]},"48":{"position":[[411,1],[434,1],[458,1],[473,1],[494,1],[512,1],[560,1],[572,1],[621,1],[637,1],[686,1],[701,1],[798,1],[812,1],[860,1],[878,1],[962,1],[988,1]]},"55":{"position":[[3031,1],[3035,1],[3039,1],[3043,1],[3426,1],[3431,1]]},"57":{"position":[[471,1],[541,3],[552,1],[586,1],[598,1],[667,2],[677,1],[683,1],[751,2],[761,1],[769,1],[802,1],[812,1],[822,1],[837,1],[884,2],[895,1],[902,1],[1076,1],[1118,1],[1170,1]]},"65":{"position":[[219,1],[372,1],[405,1]]},"67":{"position":[[1327,1]]},"69":{"position":[[170,1],[287,1],[307,1],[331,1],[489,1],[518,1]]},"73":{"position":[[751,2],[759,1],[860,1],[1115,2],[1124,1],[1248,1],[1524,1],[1548,1]]},"78":{"position":[[254,1],[402,1]]},"82":{"position":[[315,1],[4668,1]]},"83":{"position":[[794,1],[806,1],[838,1],[877,1],[904,1],[934,1],[959,1],[996,1],[1097,1],[1242,1],[2491,1],[2493,1],[2507,1],[2618,1],[2631,1],[2662,1],[2689,3],[2718,1],[2819,1],[2852,1],[2854,1],[2856,1],[2863,1],[2917,2],[3263,1],[3303,1],[3428,1],[3476,2],[3497,3],[3529,1],[3547,1],[3662,2],[3687,1],[3751,1],[3758,1]]},"86":{"position":[[205,2]]},"93":{"position":[[438,1]]},"95":{"position":[[1,1],[18,1],[95,1],[121,1],[154,1]]},"96":{"position":[[17,1],[42,1],[54,1],[67,1],[76,1],[146,1],[165,1],[199,1],[241,1],[295,1],[339,1],[414,1],[464,1],[536,1],[592,1],[659,1]]},"97":{"position":[[17,1]]},"104":{"position":[[365,1],[489,1],[678,1],[1652,1],[2640,1]]},"105":{"position":[[565,1],[1584,1],[2457,1]]},"107":{"position":[[474,1],[579,1],[611,1]]},"109":{"position":[[1590,1],[1667,1],[1725,1],[2235,1],[2298,2],[2561,1]]},"110":{"position":[[727,1],[770,1],[839,1],[883,1],[1972,1],[2049,1],[2107,1]]},"111":{"position":[[320,1],[432,1],[757,1],[1899,1]]},"131":{"position":[[289,1],[485,1]]},"132":{"position":[[292,1],[491,1]]},"138":{"position":[[897,1]]},"139":{"position":[[821,1],[1156,1]]},"141":{"position":[[390,1]]},"152":{"position":[[149,1]]},"153":{"position":[[138,1]]},"154":{"position":[[149,1]]},"155":{"position":[[135,1],[141,1]]},"156":{"position":[[145,1]]},"157":{"position":[[156,1]]},"158":{"position":[[139,1],[145,1]]},"159":{"position":[[158,1]]},"160":{"position":[[140,1]]},"161":{"position":[[151,1]]},"162":{"position":[[139,1],[145,1]]},"163":{"position":[[147,1]]},"164":{"position":[[158,1]]},"165":{"position":[[143,1],[149,1]]},"166":{"position":[[161,1],[167,1]]},"167":{"position":[[157,1],[163,1]]},"168":{"position":[[155,1],[161,1]]},"169":{"position":[[155,1],[161,1]]},"170":{"position":[[155,1],[161,1]]},"171":{"position":[[144,1],[150,1]]},"173":{"position":[[130,1]]},"181":{"position":[[492,1]]},"183":{"position":[[434,1],[496,1]]},"188":{"position":[[350,1]]},"208":{"position":[[181,1]]},"209":{"position":[[21,1],[249,1],[526,1],[583,1]]},"210":{"position":[[66,1],[93,1]]},"211":{"position":[[80,1],[149,1],[214,1],[260,1]]},"213":{"position":[[588,1],[960,1]]},"214":{"position":[[1198,1],[1221,1],[1244,1],[1268,1],[1270,1],[1290,1],[1314,1],[1340,1],[1381,1],[1396,1],[1398,1],[1919,1]]},"216":{"position":[[328,1],[404,1],[528,1],[602,1]]},"217":{"position":[[1387,1],[1750,1],[1792,1],[2005,1],[2047,1],[2510,1],[2649,1],[2723,1]]},"218":{"position":[[601,1],[719,1],[721,2],[1697,1]]},"219":{"position":[[66,1],[406,1],[605,1],[794,1],[1355,1],[1430,1]]},"220":{"position":[[1599,1],[2219,1]]},"229":{"position":[[2845,1],[2857,1],[3134,1],[5640,1],[5707,1],[5991,1],[6063,1],[7499,1],[7586,1],[7686,1],[9293,1],[9305,1],[9485,1],[9492,1]]},"235":{"position":[[447,1]]},"251":{"position":[[718,1],[798,1],[855,1],[894,1],[948,1],[1002,1],[1111,2],[1180,1],[1486,1],[1566,1],[1623,1],[1662,1],[1716,1],[1770,1],[1887,2],[1957,1]]},"252":{"position":[[498,1]]},"258":{"position":[[1866,1]]},"279":{"position":[[2057,1],[2069,1],[2671,1],[4120,1],[4187,1],[4471,1],[4543,1],[6099,1],[6185,1],[6284,1],[7576,1],[7588,1],[7746,1],[7753,1]]},"285":{"position":[[437,1]]},"296":{"position":[[511,1]]},"299":{"position":[[1273,1],[1284,1],[1312,1],[1322,1],[1351,1],[1364,1],[1530,1]]},"301":{"position":[[178,1],[250,1]]},"302":{"position":[[180,1],[252,1],[291,1]]},"303":{"position":[[192,1],[276,1],[315,1]]},"304":{"position":[[213,1],[308,1],[347,1],[970,1]]},"305":{"position":[[228,1],[333,1],[372,1],[1187,1]]},"306":{"position":[[270,1],[371,1]]},"307":{"position":[[478,1],[563,1]]},"309":{"position":[[3282,1]]},"310":{"position":[[110,1],[362,1]]},"314":{"position":[[434,1],[489,1],[542,1],[580,1],[631,1],[677,1],[721,1],[762,1],[822,1],[878,1],[969,1],[1077,1]]},"320":{"position":[[330,1],[357,1],[366,1],[368,2],[391,2],[394,2],[397,2],[437,2],[462,2],[868,1],[1171,2]]},"321":{"position":[[1104,1],[1166,1]]},"324":{"position":[[693,1]]},"326":{"position":[[543,1]]},"333":{"position":[[1122,1],[1194,1],[1267,1],[1308,1],[1352,1],[1402,1],[1448,1]]},"358":{"position":[[804,1],[928,1],[1931,1],[2799,1],[4801,1],[6456,1],[6511,1],[6603,1],[6660,1]]},"359":{"position":[[1397,1]]},"362":{"position":[[1392,1]]},"364":{"position":[[448,1],[476,1]]},"365":{"position":[[280,1]]},"367":{"position":[[644,1],[650,1],[666,1]]},"369":{"position":[[738,1],[779,1],[822,1],[1091,1],[1104,1],[2223,1],[2265,1],[2313,1],[2582,1],[2595,1],[4525,1]]},"376":{"position":[[231,1],[259,1],[291,1],[349,1],[397,1],[399,1],[424,1],[458,1],[509,1],[550,1],[691,1],[717,1]]},"377":{"position":[[114,1]]},"378":{"position":[[364,1],[369,2],[903,1]]},"379":{"position":[[119,1],[353,1],[1230,1],[1566,1],[2803,1],[3081,1],[3232,1],[3315,1],[3442,1],[3450,1],[3564,1]]},"380":{"position":[[545,1],[547,1],[602,3],[630,1],[710,1],[799,2],[880,1],[990,1],[992,1],[994,3],[998,1],[1000,1]]},"385":{"position":[[166,2],[294,2]]},"390":{"position":[[225,1],[269,1],[271,1],[301,1],[303,1],[373,1],[451,1],[530,1],[550,1],[552,1],[640,1],[683,1],[685,1],[781,1],[861,1],[946,1],[1030,1],[1111,1]]},"402":{"position":[[891,1],[1236,1],[1266,1],[1349,2],[1352,1],[1377,1],[1379,2],[1403,2],[1417,2],[1426,1],[1428,2],[1480,2],[1497,2],[1506,1],[1508,2],[1554,2],[1567,2],[1576,1],[1578,2],[1620,2],[1623,1],[1625,2],[2387,1],[2389,1],[2531,2],[2602,1],[2647,1],[2783,3],[2787,3],[3406,1],[3408,1],[3534,2],[3605,1],[3650,1],[3790,3],[3794,3],[5638,1],[5640,1],[5763,2],[5766,1],[5889,1],[5891,1],[6211,1],[6213,1],[6365,2],[6368,1],[6518,1],[6520,1]]},"404":{"position":[[1928,1],[2456,1]]},"424":{"position":[[1,1],[75,1],[172,1]]},"426":{"position":[[62,1],[131,1],[197,1]]},"446":{"position":[[179,1],[199,1]]},"452":{"position":[[598,1]]},"454":{"position":[[302,4],[396,4]]},"479":{"position":[[64,5]]},"497":{"position":[[418,1]]},"498":{"position":[[333,1],[430,1],[451,1],[497,1],[509,1],[533,1],[589,1],[634,1],[676,1],[687,1],[693,1],[734,1],[738,1],[742,1],[771,1],[773,1],[801,1],[803,1],[877,1],[879,1],[949,1],[1029,1],[1043,1],[1047,2],[1059,1]]},"499":{"position":[[352,1],[462,1],[482,1],[540,1],[589,1],[591,2],[594,1],[598,1],[602,1],[617,1],[621,1],[655,1],[666,1],[670,1],[704,1],[732,1],[734,1],[771,1],[839,1],[848,2],[886,1],[890,2],[895,1]]},"522":{"position":[[24,1],[983,1]]},"536":{"position":[[226,1]]},"540":{"position":[[1362,1],[1374,1],[1471,1],[1660,1],[1703,1],[1870,1],[1957,1],[1996,1],[2028,1],[2047,1],[2214,2],[2233,38],[2272,1],[2280,38],[2326,1],[2359,1],[2435,1],[2590,2],[2604,1],[2749,1],[2784,1],[2872,1],[2911,1],[2943,1],[2962,1],[3130,2],[3145,38],[3184,1],[3192,38],[3238,1],[3271,1],[3345,1],[3500,2],[3513,1],[4671,1]]},"542":{"position":[[362,2],[464,1],[628,1],[660,1],[824,1]]},"544":{"position":[[677,1],[758,1],[1050,1],[1093,1],[1104,1],[1122,4],[1148,1],[1192,1],[1506,2],[1786,2]]},"545":{"position":[[257,1],[304,1],[394,1],[509,1]]},"546":{"position":[[1374,1]]},"547":{"position":[[678,1]]},"549":{"position":[[515,1],[569,1]]},"550":{"position":[[401,1],[512,1],[637,1],[749,1]]},"551":{"position":[[833,1],[865,1],[897,2],[934,1],[966,1],[1010,1],[1025,1],[1151,1],[1293,1],[1328,1],[1364,2],[1404,1],[1440,1],[1484,1],[1495,1],[1623,1]]},"552":{"position":[[2254,1],[2285,1],[2358,2],[2397,1],[2433,1],[2516,2]]},"554":{"position":[[671,1]]},"559":{"position":[[449,1],[516,2],[534,2],[592,1],[642,1],[735,1],[802,2],[820,2],[889,1],[940,1]]},"560":{"position":[[612,1],[670,1],[809,1],[868,1]]},"561":{"position":[[358,1],[475,1],[663,1],[774,1]]},"562":{"position":[[325,1],[395,1],[432,1],[502,1],[539,1],[620,1]]},"563":{"position":[[545,1],[633,1],[780,1],[850,1],[882,1],[971,1],[1112,1],[1182,1]]},"565":{"position":[[608,1],[616,1],[652,2],[669,1],[689,2],[736,1],[819,1],[836,1],[870,1],[878,1],[914,2],[947,1],[967,2],[1014,1]]},"566":{"position":[[623,1],[699,1],[768,1],[791,1]]},"571":{"position":[[367,1],[530,1]]},"579":{"position":[[374,1]]},"581":{"position":[[807,1]]},"591":{"position":[[842,1],[950,1]]},"594":{"position":[[327,1]]},"595":{"position":[[302,1]]},"596":{"position":[[175,1]]},"597":{"position":[[260,1]]},"598":{"position":[[221,1]]},"599":{"position":[[230,1],[282,1]]},"609":{"position":[[222,1],[272,1],[349,1],[415,1]]},"610":{"position":[[222,1],[272,1],[349,1],[411,1],[469,1],[564,1]]},"611":{"position":[[805,1]]},"612":{"position":[[326,1],[379,1]]},"613":{"position":[[392,1]]},"614":{"position":[[390,1]]},"615":{"position":[[536,1]]},"616":{"position":[[410,1]]},"617":{"position":[[413,1]]},"618":{"position":[[687,1],[737,1],[790,1]]},"619":{"position":[[634,1],[687,1],[749,1]]},"620":{"position":[[362,1],[415,1]]},"621":{"position":[[360,1],[413,1]]},"623":{"position":[[379,1]]},"624":{"position":[[382,1]]},"625":{"position":[[656,1],[706,1],[759,1]]},"626":{"position":[[606,1]]},"627":{"position":[[654,1]]},"628":{"position":[[622,1]]},"630":{"position":[[400,1]]},"631":{"position":[[622,1],[675,1]]},"632":{"position":[[499,1],[548,1],[711,1],[760,1]]},"633":{"position":[[366,1],[415,1],[481,1],[527,1],[560,1],[604,1],[648,1]]},"634":{"position":[[209,1],[266,1]]},"635":{"position":[[618,1]]},"637":{"position":[[499,1],[577,1],[633,2],[665,2],[785,3],[1454,1],[1901,1],[2144,1],[2146,1],[2230,1],[2232,3],[2248,1],[2264,1]]},"638":{"position":[[343,1],[345,1],[347,1],[401,1]]},"639":{"position":[[342,1],[401,1]]},"640":{"position":[[267,1],[318,1]]},"642":{"position":[[350,1],[498,3],[504,1],[513,1],[543,1]]},"643":{"position":[[147,1],[328,1],[383,1]]},"644":{"position":[[267,1],[318,1]]},"647":{"position":[[295,1]]},"648":{"position":[[402,1]]},"651":{"position":[[414,1]]},"652":{"position":[[592,1]]},"654":{"position":[[768,1],[911,1],[1009,3],[1015,1],[1039,1],[1083,1],[1126,1]]},"664":{"position":[[224,1],[674,1],[716,1],[772,1],[818,1],[895,1],[937,1],[993,1],[1039,1]]},"665":{"position":[[183,1],[641,1],[689,1],[753,1],[820,1],[905,1],[953,1],[1017,1],[1084,1]]},"668":{"position":[[195,1],[289,4],[379,4],[461,4],[605,1],[677,1],[758,1],[920,1],[992,1],[1073,1]]},"669":{"position":[[622,1],[703,1],[738,1],[757,1],[859,1],[943,1],[1027,1],[1063,1],[1082,1],[1186,1]]},"670":{"position":[[582,1],[799,1],[911,1],[1159,1]]},"671":{"position":[[45,1],[385,1]]},"673":{"position":[[1323,1],[1452,1],[1504,1],[1557,1],[1590,1],[1730,1],[1898,1],[1951,1],[1986,1]]},"675":{"position":[[80,1],[204,1]]},"677":{"position":[[385,4],[741,5],[1354,1],[1568,1],[1643,2],[1829,1],[1894,2]]},"678":{"position":[[577,4],[963,5]]},"679":{"position":[[590,4],[984,5],[1527,1]]},"680":{"position":[[641,4],[1017,5]]},"681":{"position":[[437,4],[817,5]]},"682":{"position":[[624,4],[1034,5]]},"683":{"position":[[637,4],[1055,5],[1598,1]]},"684":{"position":[[688,4],[1088,5]]},"685":{"position":[[419,1],[978,1]]},"686":{"position":[[39,1],[233,1]]},"687":{"position":[[166,1],[310,1],[364,1],[414,1],[463,1],[516,1],[594,1],[722,3],[726,2],[729,1],[731,3],[735,1],[737,2],[768,1],[824,1],[851,1],[877,1],[907,1],[967,1],[1032,3],[1036,2],[1039,1],[1041,3],[1045,1],[1047,2]]},"688":{"position":[[70,1],[218,1],[309,4],[342,1],[435,4]]},"689":{"position":[[72,1],[318,1],[347,1],[403,1],[453,1],[502,1],[555,1],[633,1],[761,3],[765,2],[768,1],[770,3],[774,1],[776,2],[808,1],[866,1],[893,1],[919,1],[949,1],[1009,1],[1074,3],[1078,2],[1081,1],[1083,3],[1087,1],[1089,2]]},"690":{"position":[[53,1],[420,1],[481,1],[627,1],[741,1],[927,1],[1147,1],[1210,1],[1284,1],[1362,1],[1463,1],[1537,5],[1553,3]]},"691":{"position":[[101,1],[126,1],[213,1],[416,1],[478,1],[598,1],[784,1],[920,1],[984,1],[1058,1],[1152,1]]},"692":{"position":[[91,1],[485,1],[626,1]]},"693":{"position":[[232,1],[667,1],[793,1]]},"694":{"position":[[57,1],[436,1],[487,1],[504,1],[598,1],[631,1],[730,1],[784,1]]},"695":{"position":[[70,1],[328,1],[355,1],[395,1]]},"697":{"position":[[332,1],[1051,1],[1406,1]]},"698":{"position":[[251,1],[641,1]]},"699":{"position":[[538,2],[554,1],[607,2],[785,2],[801,1],[860,2],[910,1],[1044,1]]},"700":{"position":[[131,1]]},"701":{"position":[[53,1],[568,1],[621,1],[700,1],[757,1],[820,1],[878,1],[912,1],[996,1],[1049,1],[1128,1],[1185,1],[1248,1],[1306,1],[1340,1]]},"702":{"position":[[84,1],[109,1],[196,1],[382,1],[408,1]]},"703":{"position":[[208,1],[660,1],[777,1]]},"704":{"position":[[252,1],[321,1],[436,3],[440,1],[448,1],[474,1],[603,1],[605,2]]},"705":{"position":[[53,1],[177,1],[204,1],[300,1],[348,1],[401,1],[471,1],[501,1],[526,1],[573,1],[605,1],[635,1],[637,3]]},"706":{"position":[[52,1],[181,1],[289,4]]},"707":{"position":[[30,1],[276,1],[302,1],[406,1],[463,1],[516,1],[597,1],[627,1],[657,1],[705,1],[770,1],[845,1],[893,1],[957,1],[1028,1],[1053,1],[1100,1],[1132,1],[1162,1],[1164,3]]},"708":{"position":[[29,1],[354,1],[378,1],[487,1],[519,1],[549,1],[595,1],[688,1],[741,1],[775,1]]},"709":{"position":[[83,1],[347,1],[374,1],[420,1]]},"710":{"position":[[371,1],[446,1],[729,1],[740,1],[812,2],[866,1],[930,2],[1016,1],[1027,1],[1098,2],[1152,1],[1216,2]]},"711":{"position":[[81,1]]},"712":{"position":[[233,1],[313,1],[610,1],[621,1],[699,1],[722,1],[809,1],[820,1],[898,1],[921,1]]},"713":{"position":[[84,1],[436,1],[522,1],[623,1],[709,1]]},"714":{"position":[[207,1],[302,1],[341,1],[343,1],[561,1],[785,1],[1021,1],[1258,1],[1323,1],[1364,1],[1366,1],[1480,1],[1600,1],[1722,1],[1844,1]]},"716":{"position":[[146,1],[312,1],[334,1]]},"717":{"position":[[324,1],[431,1],[519,1],[666,1],[742,1],[934,1],[1023,1],[1164,1],[1240,1]]},"718":{"position":[[52,1],[260,1]]},"719":{"position":[[64,1],[280,1]]},"720":{"position":[[60,1],[294,1],[424,4]]},"722":{"position":[[356,1],[382,1],[437,1],[560,1],[578,1],[663,1],[1504,1],[1519,1],[1536,1],[1577,2],[1601,1],[1642,2],[1711,1],[1728,1],[1746,1],[1787,2],[1811,1],[1852,2]]},"723":{"position":[[276,1],[361,1],[797,1],[1272,1],[1353,1],[1479,1],[1560,1]]},"724":{"position":[[361,1],[446,1],[919,1],[946,1]]},"725":{"position":[[233,1],[251,1],[328,1],[800,1],[827,1],[873,1]]},"726":{"position":[[189,1],[207,1],[279,1],[1038,1],[1111,1],[1215,1],[1288,1]]},"727":{"position":[[171,1],[189,1],[261,1],[696,1],[1089,1],[1176,1],[1294,1],[1381,1]]},"728":{"position":[[285,1],[303,1],[375,1],[766,1],[793,1]]},"729":{"position":[[121,1],[139,1],[208,1],[772,1],[799,1],[851,1]]},"731":{"position":[[518,1],[622,1]]},"732":{"position":[[67,1],[355,1]]},"733":{"position":[[68,1],[357,1]]},"734":{"position":[[90,1],[240,1]]},"735":{"position":[[91,1],[242,1]]},"736":{"position":[[56,1],[72,1],[98,1]]},"737":{"position":[[71,1],[210,1]]},"738":{"position":[[86,1],[102,1],[125,1]]},"739":{"position":[[54,1],[70,1],[94,1]]},"740":{"position":[[14,1],[77,1],[366,1],[621,1],[687,1],[941,1]]},"741":{"position":[[219,1],[1961,1]]},"742":{"position":[[137,1],[153,1],[185,1]]},"743":{"position":[[100,1],[340,4],[351,1],[391,1],[441,1]]},"744":{"position":[[91,1],[374,1],[400,1],[467,1],[518,1],[565,1],[612,1],[658,1],[717,1],[773,1],[816,1],[865,1],[897,1],[948,1],[995,1],[1042,1],[1088,1],[1144,1],[1203,1],[1246,1],[1295,1],[1355,2],[1369,1],[1449,1],[1500,1],[1502,3]]},"746":{"position":[[71,1],[91,1]]},"747":{"position":[[209,1],[295,1],[343,1],[374,1],[412,1],[437,1],[462,1],[486,1],[511,1],[540,1],[567,1],[594,1],[616,1],[649,1],[674,1],[699,1],[723,1],[748,1],[777,1],[804,1],[831,1],[861,1],[897,1],[936,1],[972,1],[1005,1],[1060,1],[1114,1],[1158,1],[1202,1],[1228,1],[1278,1]]},"748":{"position":[[175,1],[199,1]]},"750":{"position":[[116,1],[251,1],[280,1],[380,1],[440,1],[491,1],[534,1],[573,1],[612,1],[656,1],[686,1],[718,1],[746,1],[779,1],[809,1],[859,1],[906,1],[935,1],[963,1],[991,1],[1020,1],[1049,1],[1076,1]]},"751":{"position":[[67,1],[83,1],[111,1]]},"752":{"position":[[63,1],[420,1]]},"753":{"position":[[68,1],[210,1]]},"754":{"position":[[97,1],[397,1]]},"755":{"position":[[96,1],[393,1]]},"756":{"position":[[303,1],[330,1],[848,1],[875,1],[937,1]]},"757":{"position":[[110,1]]},"758":{"position":[[166,1],[474,1]]},"759":{"position":[[173,1]]},"761":{"position":[[33,1],[366,1]]},"762":{"position":[[36,1],[166,1]]},"763":{"position":[[64,1],[80,1],[105,1]]},"764":{"position":[[109,1],[232,1],[258,1],[356,1],[413,1],[464,1],[507,1],[546,1],[585,1],[629,1],[659,1],[691,1],[719,1],[752,1],[782,1],[832,1],[879,1],[908,1],[936,1],[964,1],[993,1],[1022,1],[1049,1]]},"765":{"position":[[297,1],[321,1],[834,1],[858,1],[882,1]]},"766":{"position":[[94,1],[379,1]]},"767":{"position":[[93,1],[375,1]]},"768":{"position":[[156,1],[452,1]]},"769":{"position":[[170,1]]},"770":{"position":[[119,1]]},"771":{"position":[[26,1],[199,1]]},"772":{"position":[[41,1],[171,1]]},"773":{"position":[[73,1],[165,1]]},"774":{"position":[[35,1],[51,1]]},"775":{"position":[[61,1],[194,1]]},"778":{"position":[[379,1],[726,1],[786,1]]},"780":{"position":[[59,1],[480,1]]},"781":{"position":[[40,1],[259,1]]},"782":{"position":[[32,1],[48,1]]},"783":{"position":[[52,1],[272,1]]},"784":{"position":[[74,1],[90,1],[160,4]]},"785":{"position":[[312,1],[349,1]]},"786":{"position":[[158,1],[480,1],[482,1],[605,1],[607,1],[752,1],[754,1],[877,1],[879,1]]},"787":{"position":[[227,1],[940,1],[942,1],[1067,1],[1069,1],[1206,1],[1369,1]]},"789":{"position":[[57,1],[238,1],[250,1]]},"790":{"position":[[77,1],[93,1],[121,1]]},"791":{"position":[[141,1],[283,1]]},"792":{"position":[[140,1],[156,1]]},"793":{"position":[[508,1],[561,1],[635,1],[701,1]]},"795":{"position":[[496,1],[1147,1],[1171,3],[1231,1],[1255,3],[1277,1],[1301,3],[1322,1],[1346,3],[1600,1],[1694,1],[1718,3],[1771,1],[1795,3],[1825,1],[1849,3],[1878,1],[1902,3]]},"797":{"position":[[92,1],[108,1]]},"798":{"position":[[83,1],[99,1]]},"799":{"position":[[288,1],[304,1]]},"800":{"position":[[48,1]]},"801":{"position":[[56,1]]},"802":{"position":[[48,1]]},"803":{"position":[[48,1],[406,2],[444,2],[514,2],[547,2]]},"804":{"position":[[48,1],[426,2],[481,2]]},"805":{"position":[[81,1],[97,1]]},"807":{"position":[[117,1],[267,1]]},"808":{"position":[[78,1],[121,1],[123,1],[288,1],[466,1],[649,1],[839,1],[857,1],[902,1],[904,1],[997,1],[1103,1],[1214,1],[1332,1]]},"809":{"position":[[121,1],[232,4]]},"810":{"position":[[161,1]]},"812":{"position":[[109,1],[127,1],[238,1],[256,1]]},"813":{"position":[[73,1],[234,1],[333,1]]},"814":{"position":[[221,1],[399,1],[425,1],[489,1],[491,1],[493,1],[495,1],[516,1],[518,1],[520,1],[522,1],[566,1],[610,1],[656,1],[658,3]]},"815":{"position":[[45,1],[294,1]]},"816":{"position":[[47,1],[300,1]]}},"keywords":{}}],["0",{"_index":646,"title":{},"content":{"35":{"position":[[315,1],[548,1],[566,1]]},"36":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7485,1],[9233,1],[9246,1],[9422,1],[9435,1]]},"37":{"position":[[341,1],[359,1]]},"40":{"position":[[232,1],[245,1],[340,1],[459,1],[471,1],[566,1],[684,1],[821,1],[841,1],[1125,1],[1170,1],[1307,1],[1460,1],[1462,1],[1464,1]]},"48":{"position":[[570,1],[635,1],[699,1],[810,1],[876,1],[986,1],[1109,1],[1936,2],[2598,2],[4510,1],[5097,2]]},"53":{"position":[[733,1]]},"54":{"position":[[1131,1]]},"55":{"position":[[897,1],[1404,1],[2031,1]]},"56":{"position":[[1033,1]]},"57":{"position":[[520,1],[814,1],[1055,1]]},"59":{"position":[[312,1],[418,1],[464,1]]},"60":{"position":[[536,1]]},"61":{"position":[[1610,1],[2205,1]]},"73":{"position":[[674,2],[1022,2]]},"83":{"position":[[956,2]]},"104":{"position":[[947,1],[952,1],[1189,1],[1322,1],[1823,1],[1828,1],[2103,1],[2255,1]]},"105":{"position":[[1005,1],[1010,1],[1205,1],[1317,1],[1766,1],[1771,1],[2004,1],[2135,1]]},"109":{"position":[[2290,1],[2611,1]]},"111":{"position":[[1252,1],[1257,1],[1477,1],[1597,1]]},"139":{"position":[[933,1],[938,1]]},"148":{"position":[[218,1],[249,1]]},"173":{"position":[[104,1]]},"177":{"position":[[218,1],[249,1]]},"191":{"position":[[218,1],[249,1]]},"213":{"position":[[683,1]]},"214":{"position":[[1021,1],[2232,1]]},"217":{"position":[[1523,1],[1525,1],[1585,1],[1587,1],[1643,1],[1645,1],[1712,1],[1714,1],[1879,1],[1881,1],[2130,1],[2132,1]]},"218":{"position":[[1223,1],[2010,1]]},"225":{"position":[[1163,4],[1319,3]]},"228":{"position":[[344,1],[577,1],[595,1],[1964,1],[2065,1],[2118,1],[2228,1]]},"229":{"position":[[1905,1],[2859,2],[3535,1],[3539,1],[3580,1],[7485,1],[9233,1],[9246,1],[9422,1],[9435,1]]},"230":{"position":[[360,1],[378,1],[1852,1],[1886,1]]},"231":{"position":[[747,1],[765,1]]},"232":{"position":[[583,1],[601,1]]},"233":{"position":[[361,1]]},"251":{"position":[[1114,1],[1890,2]]},"253":{"position":[[144,1],[153,1],[155,1],[157,1],[315,1],[317,1],[319,1],[409,1],[589,1],[597,1],[843,1],[853,1],[855,1],[882,1],[886,1],[934,1],[1022,1],[1031,1],[1033,1],[1035,1],[1193,1],[1195,1],[1197,1],[1287,1],[1467,1],[1475,1],[1558,1],[1560,1],[1562,1],[1637,1],[1639,1],[1641,1],[1792,1],[1801,1],[1803,1],[1805,1],[1963,1],[1965,1],[1967,1],[2057,1],[2237,1],[2245,1],[2328,1],[2330,1],[2332,1],[2455,1],[2459,1]]},"271":{"position":[[1179,4]]},"273":{"position":[[59,2]]},"274":{"position":[[366,1],[368,1],[466,1]]},"275":{"position":[[1297,1],[1299,1],[1450,1],[1452,1]]},"278":{"position":[[343,1],[575,1],[593,1],[1118,1],[1120,1]]},"279":{"position":[[1900,1],[2071,2],[2640,1],[6085,1]]},"280":{"position":[[367,1],[385,1]]},"283":{"position":[[360,1]]},"299":{"position":[[128,1],[286,1],[375,1],[537,1],[850,2],[932,2],[1032,1],[1103,1],[1148,1],[1150,1],[1413,1],[1415,1]]},"304":{"position":[[1201,1],[1234,1]]},"305":{"position":[[1479,1],[1512,1]]},"314":{"position":[[645,2]]},"321":{"position":[[296,1]]},"330":{"position":[[1484,3],[1494,1]]},"358":{"position":[[2946,1],[3012,1],[3046,1],[3084,1],[3867,2],[4095,3],[4188,2],[4278,1],[4318,1],[4408,1],[4995,1],[5028,1],[5522,1]]},"359":{"position":[[1544,1],[1612,1],[1646,1],[1684,1]]},"379":{"position":[[1624,1],[1626,1],[1628,1]]},"498":{"position":[[740,1]]},"522":{"position":[[1304,1]]},"551":{"position":[[835,1],[968,1],[1295,1],[1442,1]]},"552":{"position":[[2256,1],[2399,1]]},"565":{"position":[[801,1],[1079,1]]},"581":{"position":[[212,1],[410,1],[900,1]]},"591":{"position":[[212,1],[410,1],[825,1],[932,1]]},"607":{"position":[[228,1]]},"613":{"position":[[319,1]]},"618":{"position":[[863,1]]},"619":{"position":[[276,1],[777,1]]},"625":{"position":[[827,1]]},"630":{"position":[[327,1]]},"631":{"position":[[738,1]]},"633":{"position":[[511,1],[587,1],[618,1],[699,1]]},"641":{"position":[[193,2]]},"642":{"position":[[378,1],[502,1]]},"649":{"position":[[586,1]]},"652":{"position":[[808,1],[931,1]]},"654":{"position":[[796,1],[1013,1]]},"681":{"position":[[1530,2],[1703,3]]},"682":{"position":[[1777,2],[1980,3]]},"685":{"position":[[1084,3]]},"687":{"position":[[1014,2]]},"689":{"position":[[1056,2]]},"690":{"position":[[1359,2],[1375,2],[1496,3]]},"704":{"position":[[626,3]]},"712":{"position":[[744,1],[943,1]]},"744":{"position":[[1331,5]]},"799":{"position":[[195,2]]}},"keywords":{}}],["0"",{"_index":2451,"title":{},"content":{"251":{"position":[[1153,8],[1930,8]]},"540":{"position":[[2217,8],[3133,8]]},"681":{"position":[[1420,8],[1602,8]]},"682":{"position":[[1652,8],[1864,8]]},"685":{"position":[[541,8]]},"712":{"position":[[701,8],[900,8]]},"744":{"position":[[458,8],[1440,8]]}},"keywords":{}}],["0,0",{"_index":4807,"title":{},"content":{"645":{"position":[[110,5]]},"646":{"position":[[149,5]]}},"keywords":{}}],["0.0",{"_index":1738,"title":{},"content":{"91":{"position":[[1816,4],[2082,4],[2335,4],[2619,4]]},"213":{"position":[[741,3]]},"219":{"position":[[973,3]]},"253":{"position":[[774,3]]},"559":{"position":[[594,3],[891,3]]},"693":{"position":[[764,3],[903,3]]},"741":{"position":[[2032,4]]},"789":{"position":[[240,3]]}},"keywords":{}}],["0.0.0.0",{"_index":1854,"title":{},"content":{"105":{"position":[[892,7]]},"108":{"position":[[499,7]]},"113":{"position":[[299,7]]},"140":{"position":[[585,9]]},"362":{"position":[[214,7]]}},"keywords":{}}],["0.0.0.0:2900",{"_index":991,"title":{},"content":{"42":{"position":[[2699,12]]}},"keywords":{}}],["0.00",{"_index":3461,"title":{},"content":{"369":{"position":[[1573,5],[1796,5],[1866,5],[3357,5],[3363,5]]}},"keywords":{}}],["0.01",{"_index":3458,"title":{},"content":{"369":{"position":[[1494,5],[1500,5],[1567,5],[1790,5],[2668,5],[2984,5],[2990,5],[3057,5],[3063,5]]}},"keywords":{}}],["0.01745",{"_index":2485,"title":{},"content":{"253":{"position":[[845,7]]}},"keywords":{}}],["0.02",{"_index":1311,"title":{},"content":{"61":{"position":[[2701,4]]},"64":{"position":[[313,4]]},"369":{"position":[[3287,5]]}},"keywords":{}}],["0.046477",{"_index":1585,"title":{},"content":{"82":{"position":[[6538,8]]}},"keywords":{}}],["0.059044",{"_index":1510,"title":{},"content":{"81":{"position":[[797,8]]}},"keywords":{}}],["0.1",{"_index":5328,"title":{},"content":{"717":{"position":[[503,3]]},"786":{"position":[[501,3],[773,3]]},"787":{"position":[[961,3],[1244,3]]}},"keywords":{}}],["0.10",{"_index":3516,"title":{},"content":{"369":{"position":[[3281,5]]}},"keywords":{}}],["0.12",{"_index":3497,"title":{},"content":{"369":{"position":[[2825,5]]}},"keywords":{}}],["0.13",{"_index":3452,"title":{},"content":{"369":{"position":[[1334,5]]}},"keywords":{}}],["0.17",{"_index":3451,"title":{},"content":{"369":{"position":[[1328,5]]}},"keywords":{}}],["0.2",{"_index":1261,"title":{},"content":{"57":{"position":[[1102,3],[1144,3],[1272,3]]}},"keywords":{}}],["0.20",{"_index":3496,"title":{},"content":{"369":{"position":[[2819,5]]}},"keywords":{}}],["0.25",{"_index":797,"title":{},"content":{"36":{"position":[[6692,4],[7494,4]]},"229":{"position":[[6692,4],[7494,4]]},"279":{"position":[[5230,4],[6094,4]]},"565":{"position":[[931,5],[1107,5]]},"722":{"position":[[1259,4]]},"723":{"position":[[1026,4]]},"724":{"position":[[812,4]]},"725":{"position":[[693,4]]},"726":{"position":[[871,4]]},"727":{"position":[[922,4]]},"728":{"position":[[737,4]]},"729":{"position":[[665,4]]}},"keywords":{}}],["0.275",{"_index":807,"title":{},"content":{"36":{"position":[[7580,5]]},"229":{"position":[[7580,5]]},"279":{"position":[[6179,5]]}},"keywords":{}}],["0.3",{"_index":810,"title":{},"content":{"36":{"position":[[7682,3]]},"229":{"position":[[7682,3]]},"279":{"position":[[6280,3]]}},"keywords":{}}],["0.34mib",{"_index":3491,"title":{},"content":{"369":{"position":[[2682,7]]}},"keywords":{}}],["0.39",{"_index":3474,"title":{},"content":{"369":{"position":[[1872,5]]}},"keywords":{}}],["0.3f",{"_index":1333,"title":{},"content":{"64":{"position":[[1129,5],[1241,5]]}},"keywords":{}}],["0.5",{"_index":796,"title":{},"content":{"36":{"position":[[6688,3],[7490,3],[7576,3],[7678,3]]},"229":{"position":[[6688,3],[7490,3],[7576,3],[7678,3]]},"279":{"position":[[5226,3],[6090,3],[6175,3],[6276,3]]},"320":{"position":[[1614,3]]},"630":{"position":[[596,3]]},"654":{"position":[[53,3]]}},"keywords":{}}],["0.72",{"_index":3469,"title":{},"content":{"369":{"position":[[1725,5]]}},"keywords":{}}],["003784",{"_index":5738,"title":{},"content":{"803":{"position":[[346,8]]},"804":{"position":[[363,8]]}},"keywords":{}}],["00:00:10",{"_index":1538,"title":{},"content":{"82":{"position":[[917,8],[1039,8]]}},"keywords":{}}],["00:40:40",{"_index":1551,"title":{},"content":{"82":{"position":[[1278,8]]}},"keywords":{}}],["00:41:33",{"_index":1586,"title":{},"content":{"82":{"position":[[6570,8]]}},"keywords":{}}],["01",{"_index":1537,"title":{},"content":{"82":{"position":[[905,2],[1027,2]]}},"keywords":{}}],["012u",{"_index":4690,"title":{},"content":{"611":{"position":[[866,5]]}},"keywords":{}}],["02u:%02u:%02u.%06u",{"_index":2728,"title":{},"content":{"299":{"position":[[1649,21]]}},"keywords":{}}],["04",{"_index":1512,"title":{},"content":{"81":{"position":[[817,2]]}},"keywords":{}}],["0:0",{"_index":2901,"title":{},"content":{"309":{"position":[[3444,3]]},"310":{"position":[[475,3]]}},"keywords":{}}],["0px",{"_index":4640,"title":{},"content":{"594":{"position":[[329,4]]},"595":{"position":[[304,4]]},"596":{"position":[[177,4]]},"597":{"position":[[262,4]]},"598":{"position":[[223,4]]},"599":{"position":[[284,4]]}},"keywords":{}}],["0x%0x",{"_index":660,"title":{},"content":{"36":{"position":[[189,7]]},"229":{"position":[[189,7]]},"279":{"position":[[184,7]]}},"keywords":{}}],["0x0",{"_index":2228,"title":{},"content":{"213":{"position":[[811,3]]},"228":{"position":[[2236,3]]}},"keywords":{}}],["0x0001",{"_index":3632,"title":{},"content":{"379":{"position":[[659,6],[1519,6],[1526,6],[1533,6],[2051,6],[2058,6],[2065,6],[2551,6],[2558,6],[2565,6]]}},"keywords":{}}],["0x0001cadb",{"_index":1235,"title":{},"content":{"55":{"position":[[2942,10]]}},"keywords":{}}],["0x0003",{"_index":1236,"title":{},"content":{"55":{"position":[[2953,6]]}},"keywords":{}}],["0x0012",{"_index":3633,"title":{},"content":{"379":{"position":[[673,6]]}},"keywords":{}}],["0x03ffffb",{"_index":869,"title":{},"content":{"40":{"position":[[461,9]]}},"keywords":{}}],["0x03fffff",{"_index":871,"title":{},"content":{"40":{"position":[[568,9],[578,9]]}},"keywords":{}}],["0x03fffffb",{"_index":865,"title":{},"content":{"40":{"position":[[234,10]]}},"keywords":{}}],["0x03ffffff",{"_index":867,"title":{},"content":{"40":{"position":[[342,10],[353,10]]}},"keywords":{}}],["0x0883",{"_index":3657,"title":{},"content":{"379":{"position":[[2868,6]]}},"keywords":{}}],["0x0d0a",{"_index":1846,"title":{},"content":{"104":{"position":[[1303,6],[1310,6],[2236,6],[2243,6]]},"105":{"position":[[1298,6],[1305,6],[2116,6],[2123,6]]},"111":{"position":[[1578,6],[1585,6]]}},"keywords":{}}],["0x0ffffffff",{"_index":873,"title":{},"content":{"40":{"position":[[686,11]]}},"keywords":{}}],["0x1",{"_index":4164,"title":{},"content":{"468":{"position":[[309,5]]}},"keywords":{}}],["0x1880",{"_index":3626,"title":{},"content":{"379":{"position":[[445,6],[452,6],[459,6],[1010,6]]}},"keywords":{}}],["0x1882",{"_index":3651,"title":{},"content":{"379":{"position":[[1289,6],[1296,6],[1303,6],[1821,6],[1828,6],[1835,6],[2321,6],[2328,6],[2335,6]]}},"keywords":{}}],["0x1acffc1d",{"_index":1233,"title":{},"content":{"55":{"position":[[2819,11]]},"60":{"position":[[766,10]]}},"keywords":{}}],["0x55",{"_index":1274,"title":{},"content":{"58":{"position":[[378,4]]}},"keywords":{}}],["0x7c454e44",{"_index":1255,"title":{},"content":{"57":{"position":[[492,10],[503,10],[656,10],[740,10],[1027,10],[1038,10]]}},"keywords":{}}],["0x7c47454d53",{"_index":1256,"title":{},"content":{"57":{"position":[[522,12],[871,12],[1057,12]]}},"keywords":{}}],["0x98",{"_index":3640,"title":{},"content":{"379":{"position":[[816,4]]}},"keywords":{}}],["0xa",{"_index":1848,"title":{},"content":{"104":{"position":[[1436,3],[1440,3],[2387,3],[2391,3]]},"105":{"position":[[1410,3],[1414,3],[2246,3],[2250,3]]},"111":{"position":[[1698,3],[1702,3]]}},"keywords":{}}],["0xab",{"_index":2230,"title":{},"content":{"213":{"position":[[820,4]]}},"keywords":{}}],["0xabcd",{"_index":1239,"title":{},"content":{"56":{"position":[[285,7],[584,7],[716,7]]},"61":{"position":[[1397,7],[1529,7]]}},"keywords":{}}],["0xba5eba11",{"_index":1845,"title":{},"content":{"104":{"position":[[969,10],[1845,10]]},"105":{"position":[[1027,10],[1788,10]]},"111":{"position":[[1274,10]]},"139":{"position":[[955,10]]}},"keywords":{}}],["0xc0",{"_index":1182,"title":{},"content":{"52":{"position":[[164,4],[1008,4]]}},"keywords":{}}],["0xc000",{"_index":3629,"title":{},"content":{"379":{"position":[[555,6],[573,6],[1433,6],[1965,6],[2465,6]]}},"keywords":{}}],["0xc5c5c5c5c5c5c579",{"_index":1273,"title":{},"content":{"58":{"position":[[323,18]]}},"keywords":{}}],["0xcafebab",{"_index":1849,"title":{},"content":{"104":{"position":[[1549,10],[2519,10]]},"105":{"position":[[1502,10],[2357,10]]},"111":{"position":[[1809,10]]}},"keywords":{}}],["0xdb",{"_index":1183,"title":{},"content":{"52":{"position":[[180,5],[1042,4]]}},"keywords":{}}],["0xdc",{"_index":1185,"title":{},"content":{"52":{"position":[[343,4],[1100,4]]}},"keywords":{}}],["0xdd",{"_index":1186,"title":{},"content":{"52":{"position":[[446,4],[1158,4]]}},"keywords":{}}],["0xdeadbeef",{"_index":884,"title":{},"content":{"40":{"position":[[980,10],[1382,10]]},"55":{"position":[[2960,10]]},"104":{"position":[[1079,10],[1974,10]]},"105":{"position":[[1116,10],[1896,10]]},"111":{"position":[[1381,10]]},"228":{"position":[[1974,10],[1985,10],[1996,10]]},"230":{"position":[[1762,10],[1773,10],[1784,10]]}},"keywords":{}}],["0xeb90",{"_index":1272,"title":{},"content":{"58":{"position":[[276,6]]}},"keywords":{}}],["0xf005ba11",{"_index":1847,"title":{},"content":{"104":{"position":[[1324,10],[2257,10]]},"105":{"position":[[1319,10],[2137,10]]},"111":{"position":[[1599,10]]}},"keywords":{}}],["0xff",{"_index":2229,"title":{},"content":{"213":{"position":[[815,4]]}},"keywords":{}}],["0xffff",{"_index":1353,"title":{},"content":{"65":{"position":[[1037,6]]},"379":{"position":[[666,6]]}},"keywords":{}}],["0xffffffff",{"_index":828,"title":{},"content":{"36":{"position":[[9235,10],[9424,10]]},"229":{"position":[[9235,10],[9424,10]]}},"keywords":{}}],["1",{"_index":219,"title":{"425":{"position":[[0,2]]}},"content":{"6":{"position":[[508,1],[857,1]]},"7":{"position":[[266,2],[917,1],[1060,1]]},"36":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"40":{"position":[[823,1],[825,1],[856,1],[913,1],[1185,1],[1260,1],[1323,1]]},"42":{"position":[[2501,1],[2635,1],[2745,1],[2833,1],[2943,1],[3053,1]]},"44":{"position":[[413,1],[873,1]]},"48":{"position":[[409,1],[535,1],[558,1],[596,1],[619,1],[661,1],[684,1],[728,1],[796,1],[835,1],[858,1],[937,1],[960,1],[1980,2],[2642,2],[5141,2]]},"55":{"position":[[1597,1],[3159,3]]},"59":{"position":[[328,1],[376,1]]},"61":{"position":[[1893,1]]},"73":{"position":[[748,2],[1112,2]]},"82":{"position":[[1241,2]]},"91":{"position":[[1859,2],[2143,2],[2396,2],[2680,2]]},"104":{"position":[[954,1],[1830,1]]},"105":{"position":[[1012,1],[1773,1]]},"111":{"position":[[606,2],[1234,1],[1259,1],[1362,1],[1458,1],[1555,1],[1677,1],[1784,1],[1887,1]]},"112":{"position":[[411,2],[422,1],[968,1]]},"113":{"position":[[462,2],[473,1],[564,1]]},"139":{"position":[[940,1]]},"140":{"position":[[730,1]]},"200":{"position":[[89,2]]},"214":{"position":[[1393,2]]},"215":{"position":[[834,1]]},"218":{"position":[[716,2],[1555,1]]},"219":{"position":[[1051,1],[1055,1]]},"229":{"position":[[2847,1],[2920,1],[3537,1],[3593,1]]},"253":{"position":[[229,1],[236,1],[238,1],[240,1],[308,1],[884,1],[947,1],[1107,1],[1114,1],[1116,1],[1118,1],[1186,1],[1688,1],[1877,1],[1884,1],[1886,1],[1888,1],[1956,1]]},"258":{"position":[[812,1],[892,1],[999,1],[1096,1],[1170,1],[1241,1],[1322,1],[1447,1],[1647,1],[1740,1],[1820,1]]},"267":{"position":[[268,1],[304,2]]},"279":{"position":[[2059,1],[2132,1],[2653,1]]},"281":{"position":[[1183,1]]},"282":{"position":[[855,1]]},"299":{"position":[[216,1],[298,1],[316,1],[388,1],[550,1],[1122,1]]},"304":{"position":[[1038,1],[1214,1]]},"305":{"position":[[1255,1],[1340,1],[1492,1]]},"309":{"position":[[3851,1]]},"314":{"position":[[648,2],[675,1]]},"321":{"position":[[994,1]]},"330":{"position":[[375,1]]},"344":{"position":[[45,1],[819,1]]},"345":{"position":[[42,1]]},"346":{"position":[[153,1]]},"347":{"position":[[219,1]]},"348":{"position":[[402,1]]},"349":{"position":[[1337,1]]},"350":{"position":[[187,1]]},"351":{"position":[[306,1]]},"352":{"position":[[138,1]]},"353":{"position":[[153,1]]},"354":{"position":[[232,1]]},"355":{"position":[[137,1]]},"356":{"position":[[144,1]]},"358":{"position":[[2885,1],[2887,1],[2889,1],[3059,1],[3659,2],[3681,2],[3707,2],[4284,2],[4869,1],[5008,1],[5323,1],[5505,2]]},"359":{"position":[[1483,1],[1485,1],[1487,1],[1659,1]]},"365":{"position":[[229,1]]},"369":{"position":[[211,1],[1169,1],[1253,1],[1326,1],[1400,1],[1492,1],[1565,1],[1646,1],[1717,1],[1788,1],[1864,1],[2173,1],[2660,1],[2742,1],[2817,1],[2891,1],[2982,1],[3055,1],[3136,1],[3208,1],[3279,1],[3355,1]]},"371":{"position":[[127,2]]},"379":{"position":[[2129,1],[2131,1],[2133,1]]},"404":{"position":[[1815,1]]},"499":{"position":[[600,1],[668,1],[893,1]]},"547":{"position":[[680,2]]},"552":{"position":[[2361,1],[2519,1]]},"565":{"position":[[610,1],[666,2],[852,2],[872,1],[928,2],[1104,2]]},"581":{"position":[[245,2],[441,1]]},"591":{"position":[[245,2],[441,1]]},"619":{"position":[[303,1],[803,1]]},"633":{"position":[[452,1],[598,1]]},"639":{"position":[[179,1]]},"642":{"position":[[348,1]]},"651":{"position":[[416,2]]},"652":{"position":[[906,1]]},"654":{"position":[[766,1]]},"664":{"position":[[184,1]]},"677":{"position":[[109,2],[131,2],[285,2],[315,2],[474,2],[496,2],[651,2],[676,2]]},"678":{"position":[[286,2],[308,2],[477,2],[507,2],[681,2],[703,2],[873,2],[898,2]]},"679":{"position":[[295,2],[317,2],[490,2],[520,2],[698,2],[720,2],[894,2],[919,2]]},"680":{"position":[[355,2],[377,2],[541,2],[571,2],[740,2],[762,2],[927,2],[952,2]]},"681":{"position":[[141,2],[163,2],[325,2],[359,2],[530,2],[552,2],[715,2],[744,2]]},"682":{"position":[[313,2],[335,2],[512,2],[546,2],[732,2],[754,2],[932,2],[961,2]]},"683":{"position":[[322,2],[344,2],[525,2],[559,2],[749,2],[771,2],[953,2],[982,2]]},"684":{"position":[[382,2],[404,2],[576,2],[610,2],[791,2],[813,2],[986,2],[1015,2],[1821,2],[2014,3]]},"690":{"position":[[1521,2]]},"717":{"position":[[721,1],[780,2],[1219,1]]},"741":{"position":[[2069,2]]},"744":{"position":[[1358,3]]},"759":{"position":[[729,1],[880,2],[1000,2]]},"769":{"position":[[733,1],[881,2],[998,2]]}},"keywords":{}}],["1>"",{"_index":4972,"title":{},"content":{"668":{"position":[[276,12],[366,12],[448,12]]}},"keywords":{}}],["1"",{"_index":1330,"title":{},"content":{"64":{"position":[[1093,7]]},"219":{"position":[[1645,7]]},"281":{"position":[[1215,7]]},"282":{"position":[[887,7]]},"533":{"position":[[493,7],[735,8]]},"589":{"position":[[405,7]]},"590":{"position":[[177,7]]},"598":{"position":[[288,7]]},"601":{"position":[[174,7]]},"615":{"position":[[630,7]]},"632":{"position":[[471,7]]},"684":{"position":[[1701,8],[1903,8]]},"697":{"position":[[855,8],[913,8],[977,8],[1042,8],[1125,8],[1210,8],[1268,8],[1332,8],[1397,8],[1482,8]]},"744":{"position":[[888,8]]}},"keywords":{}}],["1)"",{"_index":2698,"title":{},"content":{"299":{"position":[[190,8]]},"708":{"position":[[678,9]]}},"keywords":{}}],["1,000,000",{"_index":4258,"title":{},"content":{"522":{"position":[[504,9]]}},"keywords":{}}],["1,3",{"_index":473,"title":{},"content":{"21":{"position":[[120,3]]}},"keywords":{}}],["1,4",{"_index":474,"title":{},"content":{"21":{"position":[[124,4]]}},"keywords":{}}],["1..5).each",{"_index":210,"title":{},"content":{"6":{"position":[[336,11]]}},"keywords":{}}],["1.0",{"_index":1736,"title":{},"content":{"91":{"position":[[1806,4],[2059,4],[2312,4],[2596,4]]},"213":{"position":[[750,3]]},"362":{"position":[[1257,3]]},"577":{"position":[[502,3]]},"613":{"position":[[340,4]]},"630":{"position":[[348,4]]}},"keywords":{}}],["1.0.0",{"_index":3289,"title":{},"content":{"359":{"position":[[180,5],[2144,5]]}},"keywords":{}}],["1.0.0.gem",{"_index":2748,"title":{},"content":{"301":{"position":[[919,10]]},"359":{"position":[[210,9],[616,9]]},"380":{"position":[[253,9]]}},"keywords":{}}],["1.0.1",{"_index":2997,"title":{},"content":{"326":{"position":[[647,5]]},"359":{"position":[[1994,5]]}},"keywords":{}}],["1.0.1.gem",{"_index":2998,"title":{},"content":{"326":{"position":[[678,9]]},"359":{"position":[[2024,9],[2455,10]]}},"keywords":{}}],["1.0.51",{"_index":3539,"title":{},"content":{"369":{"position":[[4361,6]]}},"keywords":{}}],["1.017035",{"_index":4556,"title":{},"content":{"565":{"position":[[719,8],[997,8]]}},"keywords":{}}],["1.2.3770",{"_index":3541,"title":{},"content":{"369":{"position":[[4383,8]]}},"keywords":{}}],["1.2.5.0",{"_index":3535,"title":{},"content":{"369":{"position":[[4313,7]]}},"keywords":{}}],["1.207gib",{"_index":3457,"title":{},"content":{"369":{"position":[[1425,8]]}},"keywords":{}}],["1.214gib",{"_index":3456,"title":{},"content":{"369":{"position":[[1416,8]]}},"keywords":{}}],["1.32",{"_index":3444,"title":{},"content":{"369":{"position":[[1177,5]]}},"keywords":{}}],["1.49",{"_index":3513,"title":{},"content":{"369":{"position":[[3216,5]]}},"keywords":{}}],["1.5",{"_index":832,"title":{},"content":{"36":{"position":[[9487,4]]},"229":{"position":[[9487,4]]},"279":{"position":[[7748,4]]},"563":{"position":[[617,3]]}},"keywords":{}}],["1.5).to_i",{"_index":829,"title":{},"content":{"36":{"position":[[9295,9]]},"229":{"position":[[9295,9]]},"279":{"position":[[7578,9]]}},"keywords":{}}],["1.512gib",{"_index":3503,"title":{},"content":{"369":{"position":[[2915,8]]}},"keywords":{}}],["1.56",{"_index":3468,"title":{},"content":{"369":{"position":[[1719,5]]}},"keywords":{}}],["1.608.2",{"_index":3543,"title":{},"content":{"369":{"position":[[4410,7]]}},"keywords":{}}],["1.6gib",{"_index":3502,"title":{},"content":{"369":{"position":[[2908,6]]}},"keywords":{}}],["1.8.5",{"_index":3342,"title":{},"content":{"362":{"position":[[1466,5]]}},"keywords":{}}],["1.89",{"_index":3465,"title":{},"content":{"369":{"position":[[1654,5]]}},"keywords":{}}],["1.final",{"_index":3266,"title":{},"content":{"358":{"position":[[4354,9]]}},"keywords":{}}],["10",{"_index":795,"title":{"434":{"position":[[0,3]]}},"content":{"36":{"position":[[6685,2],[7487,2]]},"59":{"position":[[405,3]]},"60":{"position":[[239,3]]},"82":{"position":[[1266,2],[6558,2]]},"138":{"position":[[430,2]]},"229":{"position":[[6685,2],[7487,2]]},"233":{"position":[[1002,2]]},"234":{"position":[[789,2]]},"251":{"position":[[1333,3],[2141,3]]},"279":{"position":[[5223,2],[6087,2],[10823,2],[10888,2]]},"283":{"position":[[990,2]]},"284":{"position":[[786,2]]},"338":{"position":[[513,2],[600,2]]},"344":{"position":[[1012,2]]},"346":{"position":[[1370,2]]},"348":{"position":[[1841,2]]},"349":{"position":[[2825,2]]},"352":{"position":[[1087,2]]},"358":{"position":[[7862,2]]},"367":{"position":[[721,2],[1100,2]]},"369":{"position":[[766,3],[770,3],[2114,2]]},"536":{"position":[[228,3]]},"551":{"position":[[1194,3],[1666,3]]},"565":{"position":[[816,2]]},"585":{"position":[[328,2]]},"586":{"position":[[331,2]]},"597":{"position":[[309,2]]},"598":{"position":[[269,2]]},"599":{"position":[[329,2]]},"622":{"position":[[348,3]]},"648":{"position":[[702,2]]},"649":{"position":[[400,2],[403,2]]},"650":{"position":[[1004,2],[1007,2],[1068,2],[1071,2],[1127,2],[1130,2]]},"653":{"position":[[244,2]]},"664":{"position":[[805,3],[1026,3]]},"677":{"position":[[1331,3],[1478,3],[1597,3],[1683,3],[1763,3],[1853,3]]},"681":{"position":[[1411,3],[1503,3],[1593,3],[1681,3]]},"685":{"position":[[464,3],[1023,3]]},"718":{"position":[[330,2]]},"719":{"position":[[412,3]]},"722":{"position":[[1589,3],[1654,3],[1799,3],[1864,3]]},"723":{"position":[[1341,3],[1422,3],[1548,3],[1629,3]]},"724":{"position":[[1065,3]]},"725":{"position":[[869,3],[918,3]]},"726":{"position":[[1099,3],[1172,3],[1276,3],[1349,3]]},"727":{"position":[[1164,3],[1251,3],[1369,3],[1456,3]]},"728":{"position":[[918,3]]},"729":{"position":[[847,3],[896,3]]}},"keywords":{}}],["10"",{"_index":4558,"title":{},"content":{"565":{"position":[[1094,9]]},"710":{"position":[[868,9],[933,9],[1154,9],[1219,9]]}},"keywords":{}}],["10.0",{"_index":1254,"title":{},"content":{"57":{"position":[[458,4]]},"83":{"position":[[1139,5]]},"104":{"position":[[931,4],[1062,4],[1172,4],[1282,4],[1287,4],[1417,4],[1422,4],[1526,4],[1642,4],[1647,4],[1806,4],[1956,4],[2085,4],[2215,4],[2220,4],[2368,4],[2373,4],[2495,4],[2630,4],[2635,4]]},"105":{"position":[[989,4],[1099,4],[1188,4],[1277,4],[1282,4],[1391,4],[1396,4],[1479,4],[1574,4],[1579,4],[1749,4],[1878,4],[1986,4],[2095,4],[2100,4],[2227,4],[2232,4],[2333,4],[2447,4],[2452,4]]},"106":{"position":[[772,4],[977,4],[1121,4]]},"111":{"position":[[1236,4],[1364,4],[1460,4],[1557,4],[1562,4],[1679,4],[1684,4],[1786,4],[1889,4],[1894,4]]},"130":{"position":[[213,4],[357,4]]},"131":{"position":[[254,4],[450,4]]},"132":{"position":[[257,4],[456,4]]},"139":{"position":[[792,4],[1079,4]]},"140":{"position":[[732,4],[844,4]]},"213":{"position":[[745,4]]},"302":{"position":[[2704,4]]},"314":{"position":[[716,4],[1553,4]]},"358":{"position":[[6887,4]]},"559":{"position":[[614,4],[692,4],[911,4],[990,4]]},"566":{"position":[[598,4],[849,4]]},"698":{"position":[[810,5],[977,5]]},"723":{"position":[[1330,5],[1411,5],[1537,5],[1618,5]]},"727":{"position":[[1153,5],[1240,5],[1358,5],[1445,5]]},"741":{"position":[[2026,5]]},"761":{"position":[[482,5]]}},"keywords":{}}],["10.0"",{"_index":4382,"title":{},"content":{"542":{"position":[[309,11],[557,11],[753,11]]},"639":{"position":[[470,12]]}},"keywords":{}}],["10.0.22621.2134",{"_index":3552,"title":{},"content":{"369":{"position":[[4509,15]]}},"keywords":{}}],["10.0.25131.1002",{"_index":3546,"title":{},"content":{"369":{"position":[[4443,15]]}},"keywords":{}}],["10.16",{"_index":3447,"title":{},"content":{"369":{"position":[[1255,6]]}},"keywords":{}}],["10.5",{"_index":2398,"title":{},"content":{"228":{"position":[[2120,4]]},"230":{"position":[[1854,4]]},"358":{"position":[[2948,4],[3889,5]]},"359":{"position":[[1546,4]]}},"keywords":{}}],["10.time",{"_index":4429,"title":{},"content":{"547":{"position":[[608,8]]}},"keywords":{}}],["100",{"_index":808,"title":{},"content":{"36":{"position":[[7641,3],[7671,3],[7729,3]]},"173":{"position":[[109,3]]},"229":{"position":[[7641,3],[7671,3],[7729,3]]},"253":{"position":[[416,3]]},"279":{"position":[[6240,3],[6269,3],[6327,3]]},"367":{"position":[[234,3]]},"368":{"position":[[813,6]]},"402":{"position":[[5080,3],[5127,3],[5141,3]]},"522":{"position":[[1329,3]]},"544":{"position":[[679,3],[760,3]]},"596":{"position":[[216,3]]},"599":{"position":[[325,3]]},"607":{"position":[[230,3]]},"609":{"position":[[274,4],[667,3]]},"610":{"position":[[274,4]]},"613":{"position":[[324,4]]},"630":{"position":[[332,4],[402,3]]},"631":{"position":[[624,4],[793,3],[797,3]]},"633":{"position":[[516,3]]},"647":{"position":[[361,3],[365,3]]},"648":{"position":[[597,3]]},"650":{"position":[[229,4],[814,5],[871,5]]},"651":{"position":[[449,3]]},"707":{"position":[[815,4]]},"719":{"position":[[406,5]]},"744":{"position":[[364,3]]},"780":{"position":[[550,4]]},"801":{"position":[[165,4]]}},"keywords":{}}],["100,000",{"_index":4394,"title":{},"content":{"544":{"position":[[168,8]]}},"keywords":{}}],["100.0",{"_index":3914,"title":{},"content":{"402":{"position":[[5757,5]]},"704":{"position":[[608,6]]}},"keywords":{}}],["1000",{"_index":765,"title":{},"content":{"36":{"position":[[5457,4],[5792,4]]},"229":{"position":[[5457,4],[5792,4]]},"279":{"position":[[3937,4],[4272,4]]},"367":{"position":[[1116,4]]},"369":{"position":[[2130,4]]},"468":{"position":[[349,6]]},"717":{"position":[[101,5],[767,5]]},"793":{"position":[[600,4],[740,4]]}},"keywords":{}}],["1000.0",{"_index":2721,"title":{},"content":{"299":{"position":[[1314,7]]}},"keywords":{}}],["1000.time",{"_index":5699,"title":{},"content":{"793":{"position":[[547,10]]}},"keywords":{}}],["100000",{"_index":4706,"title":{},"content":{"618":{"position":[[865,6]]},"625":{"position":[[829,6]]},"631":{"position":[[740,6]]}},"keywords":{}}],["1000000.0",{"_index":2723,"title":{},"content":{"299":{"position":[[1353,10]]}},"keywords":{}}],["100gb",{"_index":3012,"title":{},"content":{"330":{"position":[[454,5]]}},"keywords":{}}],["101",{"_index":2247,"title":{},"content":{"214":{"position":[[637,3],[1246,4]]},"215":{"position":[[483,3]]},"218":{"position":[[839,3]]},"220":{"position":[[890,3]]},"253":{"position":[[1294,3]]}},"keywords":{}}],["102",{"_index":2494,"title":{},"content":{"253":{"position":[[2064,3]]},"299":{"position":[[418,3]]}},"keywords":{}}],["1023",{"_index":2905,"title":{},"content":{"309":{"position":[[3853,6]]}},"keywords":{}}],["1024",{"_index":727,"title":{},"content":{"36":{"position":[[3619,4]]},"229":{"position":[[3619,4]]},"279":{"position":[[2724,4]]}},"keywords":{}}],["104mb",{"_index":948,"title":{},"content":{"42":{"position":[[1417,5]]}},"keywords":{}}],["105.2mib",{"_index":3462,"title":{},"content":{"369":{"position":[[1579,8]]}},"keywords":{}}],["106.3mib",{"_index":3506,"title":{},"content":{"369":{"position":[[3069,8]]}},"keywords":{}}],["10hz",{"_index":3399,"title":{},"content":{"367":{"position":[[968,4],[1135,4]]},"369":{"position":[[2149,4]]}},"keywords":{}}],["10m",{"_index":5343,"title":{},"content":{"722":{"position":[[62,5]]}},"keywords":{}}],["11",{"_index":268,"title":{"435":{"position":[[0,3]]}},"content":{"7":{"position":[[704,2],[909,2]]},"36":{"position":[[7573,2]]},"55":{"position":[[3420,2],[3428,2]]},"229":{"position":[[7573,2]]},"253":{"position":[[401,2],[1279,2],[2049,2]]},"279":{"position":[[6172,2]]},"299":{"position":[[410,2]]},"344":{"position":[[1130,2]]},"346":{"position":[[1512,2]]},"348":{"position":[[2076,2]]},"349":{"position":[[2996,2]]},"369":{"position":[[204,2],[751,2],[2236,2],[4271,2]]},"547":{"position":[[733,4]]},"678":{"position":[[1568,3],[1676,3],[1794,3],[1898,3]]},"680":{"position":[[1617,3],[1721,3],[1835,3],[1935,3]]},"682":{"position":[[1643,3],[1750,3],[1855,3],[1958,3]]},"684":{"position":[[1692,3],[1794,3],[1894,3],[1992,3]]}},"keywords":{}}],["11.5",{"_index":4259,"title":{},"content":{"522":{"position":[[536,4]]}},"keywords":{}}],["11.81mib",{"_index":3515,"title":{},"content":{"369":{"position":[[3231,8]]}},"keywords":{}}],["110.0",{"_index":3916,"title":{},"content":{"402":{"position":[[5883,5]]}},"keywords":{}}],["110kb/",{"_index":3478,"title":{},"content":{"369":{"position":[[2154,10]]}},"keywords":{}}],["111mb",{"_index":946,"title":{},"content":{"42":{"position":[[1355,5]]}},"keywords":{}}],["112",{"_index":2227,"title":{},"content":{"213":{"position":[[800,3]]},"216":{"position":[[889,3]]},"217":{"position":[[3010,3]]},"278":{"position":[[1074,3]]},"281":{"position":[[1171,3]]},"299":{"position":[[960,3]]}},"keywords":{}}],["115",{"_index":4831,"title":{},"content":{"652":{"position":[[876,3],[991,3]]}},"keywords":{}}],["115200",{"_index":1923,"title":{},"content":{"111":{"position":[[1543,6],[1665,6],[1875,6]]},"140":{"position":[[718,6]]},"314":{"position":[[573,6]]}},"keywords":{}}],["117.1mib",{"_index":3460,"title":{},"content":{"369":{"position":[[1515,8]]}},"keywords":{}}],["11th",{"_index":4124,"title":{},"content":{"437":{"position":[[206,5]]}},"keywords":{}}],["12",{"_index":809,"title":{"436":{"position":[[0,3]]}},"content":{"36":{"position":[[7675,2]]},"214":{"position":[[731,2],[1292,3]]},"218":{"position":[[933,2]]},"220":{"position":[[1015,2]]},"229":{"position":[[7675,2]]},"279":{"position":[[6273,2]]},"321":{"position":[[1217,2]]},"346":{"position":[[1685,2]]},"348":{"position":[[2220,2]]},"349":{"position":[[3115,2]]},"369":{"position":[[758,3],[762,3]]},"611":{"position":[[807,3]]},"614":{"position":[[392,3]]},"615":{"position":[[538,3]]},"616":{"position":[[412,3]]},"617":{"position":[[415,3]]},"618":{"position":[[689,3]]},"623":{"position":[[381,3]]},"625":{"position":[[658,3]]},"635":{"position":[[620,3]]},"643":{"position":[[149,3],[276,2]]},"647":{"position":[[297,3]]},"648":{"position":[[404,3],[648,2]]},"652":{"position":[[810,2],[813,2]]},"654":{"position":[[459,2]]}},"keywords":{}}],["12.82mib",{"_index":3470,"title":{},"content":{"369":{"position":[[1731,8]]}},"keywords":{}}],["120",{"_index":4707,"title":{},"content":{"618":{"position":[[931,3],[935,3]]},"625":{"position":[[890,3],[894,3]]},"652":{"position":[[751,3]]}},"keywords":{}}],["1234",{"_index":3607,"title":{},"content":{"378":{"position":[[829,4]]}},"keywords":{}}],["1234657585858",{"_index":3910,"title":{},"content":{"402":{"position":[[5660,14],[6233,14]]}},"keywords":{}}],["1234657585859",{"_index":3915,"title":{},"content":{"402":{"position":[[5786,14],[6388,14]]}},"keywords":{}}],["1235",{"_index":3606,"title":{},"content":{"378":{"position":[[807,4]]},"380":{"position":[[1540,5]]}},"keywords":{}}],["127.0.0.1",{"_index":1857,"title":{},"content":{"105":{"position":[[1629,9]]},"108":{"position":[[600,9]]},"140":{"position":[[898,9]]},"309":{"position":[[3632,9]]},"314":{"position":[[1143,9],[1989,9]]},"378":{"position":[[780,9]]},"404":{"position":[[2487,10]]}},"keywords":{}}],["127.0.0.1:2901",{"_index":984,"title":{},"content":{"42":{"position":[[2447,14]]}},"keywords":{}}],["127.0.0.1:2902",{"_index":986,"title":{},"content":{"42":{"position":[[2575,14]]}},"keywords":{}}],["127.0.0.1:6379",{"_index":1002,"title":{},"content":{"42":{"position":[[3005,14]]}},"keywords":{}}],["127.0.0.1:9000",{"_index":997,"title":{},"content":{"42":{"position":[[2895,14]]}},"keywords":{}}],["127.4mib",{"_index":3459,"title":{},"content":{"369":{"position":[[1506,8]]}},"keywords":{}}],["127.5mib",{"_index":3505,"title":{},"content":{"369":{"position":[[3005,8]]}},"keywords":{}}],["128",{"_index":1865,"title":{},"content":{"106":{"position":[[689,3],[973,3],[1117,3]]},"214":{"position":[[913,3],[2149,3]]},"218":{"position":[[1115,3],[1927,3]]},"220":{"position":[[1246,3],[2498,3]]},"299":{"position":[[1051,3]]},"378":{"position":[[1143,3]]}},"keywords":{}}],["128722m",{"_index":1013,"title":{},"content":{"43":{"position":[[348,8]]}},"keywords":{}}],["13",{"_index":3165,"title":{"437":{"position":[[0,3]]}},"content":{"349":{"position":[[3285,2]]}},"keywords":{}}],["13.91",{"_index":3455,"title":{},"content":{"369":{"position":[[1409,6]]}},"keywords":{}}],["133.0",{"_index":2697,"title":{},"content":{"299":{"position":[[182,5]]},"708":{"position":[[670,5]]}},"keywords":{}}],["1348",{"_index":1581,"title":{},"content":{"82":{"position":[[6499,4]]}},"keywords":{}}],["136.6mib",{"_index":3504,"title":{},"content":{"369":{"position":[[2996,8]]}},"keywords":{}}],["14",{"_index":1237,"title":{},"content":{"55":{"position":[[3019,2],[3045,3],[3307,2],[3433,4]]},"253":{"position":[[581,2],[1459,2],[2229,2]]},"299":{"position":[[601,2]]},"349":{"position":[[3505,2]]}},"keywords":{}}],["144",{"_index":3643,"title":{},"content":{"379":{"position":[[891,3]]}},"keywords":{}}],["15",{"_index":1662,"title":{},"content":{"83":{"position":[[3116,2]]},"135":{"position":[[305,2]]},"171":{"position":[[152,2]]},"349":{"position":[[3645,2]]},"364":{"position":[[407,3],[432,3]]},"367":{"position":[[950,3]]},"373":{"position":[[378,4]]},"455":{"position":[[1093,2]]},"612":{"position":[[328,3],[381,3]]},"619":{"position":[[636,3],[689,3]]},"626":{"position":[[1564,3]]},"627":{"position":[[1617,3]]},"628":{"position":[[1589,3]]},"653":{"position":[[247,2]]}},"keywords":{}}],["15.6g",{"_index":3436,"title":{},"content":{"369":{"position":[[824,5],[2315,5]]}},"keywords":{}}],["15.87mib",{"_index":3514,"title":{},"content":{"369":{"position":[[3222,8]]}},"keywords":{}}],["150",{"_index":4398,"title":{},"content":{"544":{"position":[[1052,3]]},"634":{"position":[[344,3]]},"649":{"position":[[596,3]]}},"keywords":{}}],["152.9mib",{"_index":3472,"title":{},"content":{"369":{"position":[[1802,8]]}},"keywords":{}}],["155",{"_index":4623,"title":{},"content":{"587":{"position":[[477,3],[484,3]]},"588":{"position":[[471,3],[478,3]]},"589":{"position":[[500,3],[507,3]]}},"keywords":{}}],["15min",{"_index":3394,"title":{},"content":{"367":{"position":[[799,6]]}},"keywords":{}}],["16",{"_index":213,"title":{},"content":{"6":{"position":[[393,2],[837,2],[892,2],[947,2],[1002,2],[1057,2]]},"7":{"position":[[296,2],[981,2]]},"40":{"position":[[1109,2],[1244,2],[1452,2]]},"48":{"position":[[1753,2],[2386,2],[4914,2]]},"54":{"position":[[498,2]]},"55":{"position":[[960,2]]},"59":{"position":[[268,2]]},"65":{"position":[[597,3],[808,2],[937,2],[1072,2],[1216,2]]},"104":{"position":[[949,2],[1825,2]]},"105":{"position":[[1007,2],[1768,2]]},"111":{"position":[[1254,2]]},"139":{"position":[[935,2]]},"213":{"position":[[667,2],[1108,2]]},"214":{"position":[[621,2],[715,2],[1832,2],[1910,2],[1985,2]]},"215":{"position":[[467,2],[889,2]]},"218":{"position":[[823,2],[917,2],[1610,2],[1688,2],[1763,2]]},"220":{"position":[[874,2],[999,2],[2101,2],[2210,2],[2285,2]]},"253":{"position":[[492,2],[672,2],[1370,2],[1550,2],[2140,2],[2320,2],[2447,2]]},"278":{"position":[[1078,2]]},"280":{"position":[[873,2]]},"281":{"position":[[1175,2]]},"282":{"position":[[847,2]]},"299":{"position":[[482,2],[669,2],[731,2],[890,2],[964,2]]},"304":{"position":[[1031,2]]},"305":{"position":[[1248,2]]},"321":{"position":[[398,3],[803,3]]},"349":{"position":[[3792,2]]},"358":{"position":[[2878,2],[3607,2],[4862,2],[5275,2],[5576,2]]},"359":{"position":[[1476,2]]},"369":{"position":[[84,2],[2299,3]]},"379":{"position":[[437,2],[547,2],[651,2],[1281,2],[1403,2],[1511,2],[1813,2],[1935,2],[2043,2],[2313,2],[2435,2],[2543,2],[2860,2],[2951,2],[3040,2],[3189,2],[3480,2]]},"690":{"position":[[1259,3]]}},"keywords":{}}],["160",{"_index":3530,"title":{},"content":{"369":{"position":[[4157,3]]},"618":{"position":[[739,4]]},"620":{"position":[[364,4]]},"621":{"position":[[362,4]]},"625":{"position":[[708,4]]}},"keywords":{}}],["161",{"_index":1927,"title":{},"content":{"112":{"position":[[252,3],[949,3]]}},"keywords":{}}],["162",{"_index":1951,"title":{},"content":{"113":{"position":[[217,3],[545,3]]}},"keywords":{}}],["163",{"_index":4841,"title":{},"content":{"654":{"position":[[675,3],[683,3],[1179,3],[1187,3]]}},"keywords":{}}],["16383",{"_index":2477,"title":{},"content":{"253":{"position":[[591,5],[1469,5],[2239,5]]}},"keywords":{}}],["167.8mib",{"_index":3517,"title":{},"content":{"369":{"position":[[3293,8]]}},"keywords":{}}],["169.8mib",{"_index":3473,"title":{},"content":{"369":{"position":[[1811,8]]}},"keywords":{}}],["1697298167748",{"_index":5102,"title":{},"content":{"685":{"position":[[1069,14]]}},"keywords":{}}],["1697298167749155717",{"_index":5103,"title":{},"content":{"685":{"position":[[1117,22],[1157,22]]}},"keywords":{}}],["1697298923745982470",{"_index":5173,"title":{},"content":{"691":{"position":[[995,22],[1035,22]]}},"keywords":{}}],["1698026776573904132",{"_index":5775,"title":{},"content":{"808":{"position":[[1311,20]]}},"keywords":{}}],["1698026776574105465",{"_index":5774,"title":{},"content":{"808":{"position":[[1192,21]]}},"keywords":{}}],["1698026776574347007",{"_index":5772,"title":{},"content":{"808":{"position":[[1081,21]]}},"keywords":{}}],["1698074299509456507",{"_index":5770,"title":{},"content":{"808":{"position":[[975,21]]}},"keywords":{}}],["16gb",{"_index":3011,"title":{},"content":{"330":{"position":[[435,4]]}},"keywords":{}}],["17",{"_index":3170,"title":{},"content":{"349":{"position":[[3956,2]]},"369":{"position":[[2291,3]]}},"keywords":{}}],["17.78",{"_index":3492,"title":{},"content":{"369":{"position":[[2744,6]]}},"keywords":{}}],["1700.r",{"_index":3548,"title":{},"content":{"369":{"position":[[4466,7]]}},"keywords":{}}],["172.16.9.112",{"_index":3646,"title":{},"content":{"379":{"position":[[951,13]]}},"keywords":{}}],["172.20.0.8",{"_index":3691,"title":{},"content":{"380":{"position":[[1823,11],[2004,12]]}},"keywords":{}}],["172.20.0.9.port_tm",{"_index":3684,"title":{},"content":{"380":{"position":[[1153,18]]}},"keywords":{}}],["179.2mib",{"_index":3518,"title":{},"content":{"369":{"position":[[3302,8]]}},"keywords":{}}],["18",{"_index":2476,"title":{},"content":{"253":{"position":[[578,2],[1456,2],[2226,2]]},"299":{"position":[[598,2]]},"349":{"position":[[4054,2]]},"369":{"position":[[2303,3]]},"614":{"position":[[460,2]]},"615":{"position":[[642,2]]},"617":{"position":[[500,2]]},"618":{"position":[[876,2]]},"623":{"position":[[458,2]]},"624":{"position":[[463,2]]},"625":{"position":[[840,2]]},"635":{"position":[[688,2]]},"647":{"position":[[448,2]]}},"keywords":{}}],["180",{"_index":4420,"title":{},"content":{"545":{"position":[[518,3]]},"650":{"position":[[1010,3],[1014,3]]}},"keywords":{}}],["180.0",{"_index":2482,"title":{},"content":{"253":{"position":[[762,5],[768,5]]}},"keywords":{}}],["180.0"",{"_index":4419,"title":{},"content":{"545":{"position":[[496,12]]}},"keywords":{}}],["185",{"_index":4842,"title":{},"content":{"654":{"position":[[679,3],[1183,3]]}},"keywords":{}}],["1883",{"_index":1884,"title":{},"content":{"109":{"position":[[623,4],[1368,4]]},"110":{"position":[[616,4],[1709,4]]}},"keywords":{}}],["19",{"_index":3173,"title":{},"content":{"349":{"position":[[4153,2]]}},"keywords":{}}],["19.63",{"_index":3508,"title":{},"content":{"369":{"position":[[3138,6]]}},"keywords":{}}],["192",{"_index":2403,"title":{},"content":{"228":{"position":[[2224,3]]}},"keywords":{}}],["192.168.1.249",{"_index":1947,"title":{},"content":{"112":{"position":[[935,13]]}},"keywords":{}}],["19200",{"_index":1921,"title":{},"content":{"111":{"position":[[1447,5]]}},"keywords":{}}],["1958",{"_index":2705,"title":{},"content":{"299":{"position":[[776,5]]}},"keywords":{}}],["1970",{"_index":1111,"title":{},"content":{"48":{"position":[[2830,5],[3264,5]]},"82":{"position":[[912,4],[1034,4]]},"402":{"position":[[4370,6]]}},"keywords":{}}],["1:2)"",{"_index":1325,"title":{},"content":{"64":{"position":[[758,12]]}},"keywords":{}}],["1][0",{"_index":5452,"title":{},"content":{"744":{"position":[[1396,6]]}},"keywords":{}}],["1d",{"_index":4721,"title":{},"content":{"626":{"position":[[1551,3]]},"627":{"position":[[1604,3]]},"628":{"position":[[1576,3]]}},"keywords":{}}],["1hr",{"_index":3430,"title":{},"content":{"369":{"position":[[676,3]]}},"keywords":{}}],["1hz",{"_index":3398,"title":{},"content":{"367":{"position":[[936,3]]},"522":{"position":[[549,3]]}},"keywords":{}}],["1ivz2l0b",{"_index":1555,"title":{},"content":{"82":{"position":[[2365,8],[5830,8]]}},"keywords":{}}],["1s",{"_index":3334,"title":{},"content":{"362":{"position":[[488,2],[818,2],[1140,2]]},"717":{"position":[[703,2],[1201,2]]}},"keywords":{}}],["1st",{"_index":1110,"title":{},"content":{"48":{"position":[[2825,4],[3259,4]]},"299":{"position":[[771,4]]},"402":{"position":[[4365,4]]}},"keywords":{}}],["1}"",{"_index":4366,"title":{},"content":{"540":{"position":[[2606,9],[3515,9]]},"542":{"position":[[630,9],[826,9]]}},"keywords":{}}],["2",{"_index":230,"title":{"426":{"position":[[0,2]]}},"content":{"6":{"position":[[912,1]]},"20":{"position":[[466,2]]},"40":{"position":[[698,1]]},"48":{"position":[[432,1]]},"55":{"position":[[2907,2],[3037,1]]},"62":{"position":[[751,2]]},"83":{"position":[[3522,1]]},"92":{"position":[[1280,2],[1442,2],[1630,2],[1792,2]]},"93":{"position":[[820,2]]},"112":{"position":[[414,2]]},"113":{"position":[[465,2]]},"200":{"position":[[87,1]]},"214":{"position":[[557,1],[559,1],[561,1],[1223,2],[1390,2],[1777,1],[1921,1]]},"215":{"position":[[403,1],[405,1],[407,1]]},"218":{"position":[[713,2],[759,1],[761,1],[763,1],[1699,1]]},"219":{"position":[[1053,1]]},"220":{"position":[[2221,1]]},"231":{"position":[[2124,1],[2126,1],[2128,1]]},"232":{"position":[[1964,1],[1966,1],[1968,1]]},"253":{"position":[[495,1],[1373,1],[2143,1]]},"299":{"position":[[485,1],[563,1]]},"314":{"position":[[654,1]]},"330":{"position":[[445,2]]},"344":{"position":[[143,1]]},"345":{"position":[[179,1]]},"346":{"position":[[257,1]]},"347":{"position":[[332,1]]},"348":{"position":[[571,1]]},"349":{"position":[[1676,1]]},"350":{"position":[[372,1]]},"351":{"position":[[391,1]]},"352":{"position":[[257,1]]},"353":{"position":[[258,1]]},"354":{"position":[[347,1]]},"355":{"position":[[229,1]]},"356":{"position":[[223,1]]},"368":{"position":[[104,1]]},"379":{"position":[[2629,1],[2631,1],[2633,1]]},"404":{"position":[[2581,1]]},"540":{"position":[[424,1]]},"565":{"position":[[618,1],[880,1]]},"581":{"position":[[469,1]]},"591":{"position":[[469,1]]},"613":{"position":[[591,1]]},"633":{"position":[[459,1],[641,1]]},"651":{"position":[[502,1]]},"677":{"position":[[155,2],[177,2],[341,2],[371,2],[520,2],[542,2],[702,2],[727,2]]},"678":{"position":[[332,2],[354,2],[533,2],[563,2],[727,2],[749,2],[924,2],[949,2]]},"679":{"position":[[341,2],[363,2],[546,2],[576,2],[744,2],[766,2],[945,2],[970,2]]},"680":{"position":[[401,2],[423,2],[597,2],[627,2],[786,2],[808,2],[978,2],[1003,2]]},"681":{"position":[[187,2],[209,2],[389,2],[423,2],[576,2],[598,2],[774,2],[803,2]]},"682":{"position":[[359,2],[381,2],[576,2],[610,2],[778,2],[800,2],[991,2],[1020,2]]},"683":{"position":[[368,2],[390,2],[589,2],[623,2],[795,2],[817,2],[1012,2],[1041,2]]},"684":{"position":[[428,2],[450,2],[640,2],[674,2],[837,2],[859,2],[1045,2],[1074,2]]},"685":{"position":[[1247,4]]}},"keywords":{}}],["2"",{"_index":1335,"title":{},"content":{"64":{"position":[[1205,7]]},"214":{"position":[[656,7],[1855,7]]},"215":{"position":[[502,7],[912,7]]},"218":{"position":[[858,7],[1633,7]]},"219":{"position":[[1723,7]]},"220":{"position":[[909,7],[2124,7]]},"589":{"position":[[468,7]]},"598":{"position":[[312,7]]},"601":{"position":[[248,7]]},"632":{"position":[[682,7]]}},"keywords":{}}],["2.0",{"_index":1696,"title":{"86":{"position":[[9,4]]}},"content":{"86":{"position":[[61,3]]}},"keywords":{}}],["2.5",{"_index":2399,"title":{},"content":{"228":{"position":[[2125,3]]},"230":{"position":[[1859,3]]},"358":{"position":[[2953,3]]},"359":{"position":[[1185,4]]}},"keywords":{}}],["2.5.then",{"_index":3263,"title":{},"content":{"358":{"position":[[3918,8]]}},"keywords":{}}],["2.x",{"_index":2549,"title":{},"content":{"263":{"position":[[538,3],[554,3]]},"309":{"position":[[1467,3]]}},"keywords":{}}],["20",{"_index":3175,"title":{},"content":{"349":{"position":[[4267,2]]},"367":{"position":[[985,2]]},"369":{"position":[[2295,3]]},"611":{"position":[[882,2],[930,2]]},"619":{"position":[[746,2]]}},"keywords":{}}],["20.0",{"_index":2656,"title":{},"content":{"279":{"position":[[10308,4],[10313,4]]},"285":{"position":[[551,4],[556,4]]},"296":{"position":[[625,4],[630,4]]},"305":{"position":[[1373,4],[1378,4]]},"560":{"position":[[672,4],[870,4]]},"740":{"position":[[485,5],[491,6],[649,5],[655,5],[798,5],[804,6],[969,5],[975,5]]}},"keywords":{}}],["200",{"_index":1497,"title":{},"content":{"81":{"position":[[557,3]]},"82":{"position":[[697,3],[6317,3]]},"216":{"position":[[816,3]]},"217":{"position":[[2937,3]]},"599":{"position":[[232,4]]},"609":{"position":[[224,4],[663,3]]},"610":{"position":[[224,4],[782,3]]},"613":{"position":[[593,3]]},"618":{"position":[[879,3]]},"620":{"position":[[489,3]]},"621":{"position":[[493,3]]},"625":{"position":[[843,3]]},"630":{"position":[[600,3]]},"631":{"position":[[751,3]]},"634":{"position":[[211,4],[268,4]]},"648":{"position":[[593,3]]},"649":{"position":[[406,3],[410,3]]},"780":{"position":[[555,4]]}},"keywords":{}}],["20000",{"_index":5213,"title":{},"content":{"698":{"position":[[882,6],[1049,6]]}},"keywords":{}}],["20175",{"_index":3016,"title":{},"content":{"330":{"position":[[600,5],[745,5]]}},"keywords":{}}],["2021",{"_index":3034,"title":{},"content":{"330":{"position":[[1566,4]]}},"keywords":{}}],["2022",{"_index":4125,"title":{},"content":{"437":{"position":[[212,4]]}},"keywords":{}}],["2022)docker",{"_index":3559,"title":{},"content":{"371":{"position":[[130,11]]}},"keywords":{}}],["2023",{"_index":1514,"title":{},"content":{"81":{"position":[[824,4]]},"82":{"position":[[1273,4],[6565,4]]},"390":{"position":[[283,4]]}},"keywords":{}}],["2024",{"_index":1781,"title":{"96":{"position":[[24,6]]}},"content":{},"keywords":{}}],["2047",{"_index":2472,"title":{},"content":{"253":{"position":[[411,4],[1289,4],[2059,4]]}},"keywords":{}}],["2048",{"_index":448,"title":{},"content":{"20":{"position":[[954,4]]},"60":{"position":[[269,4]]}},"keywords":{}}],["20em",{"_index":4615,"title":{},"content":{"583":{"position":[[298,4]]}},"keywords":{}}],["21",{"_index":3177,"title":{},"content":{"349":{"position":[[4539,2]]},"691":{"position":[[1127,5]]}},"keywords":{}}],["21.27",{"_index":3454,"title":{},"content":{"369":{"position":[[1402,6]]}},"keywords":{}}],["216",{"_index":2725,"title":{},"content":{"299":{"position":[[1521,3]]}},"keywords":{}}],["21:34:47",{"_index":1515,"title":{},"content":{"81":{"position":[[829,8]]}},"keywords":{}}],["22",{"_index":3179,"title":{},"content":{"349":{"position":[[4651,2]]},"369":{"position":[[224,3],[802,2],[2288,2]]}},"keywords":{}}],["220531",{"_index":3547,"title":{},"content":{"369":{"position":[[4459,6]]}},"keywords":{}}],["221.15",{"_index":3500,"title":{},"content":{"369":{"position":[[2893,7]]}},"keywords":{}}],["223e98129fe9",{"_index":942,"title":{},"content":{"42":{"position":[[1212,12]]}},"keywords":{}}],["23",{"_index":3181,"title":{},"content":{"349":{"position":[[4813,2]]}},"keywords":{}}],["23.4",{"_index":5628,"title":{},"content":{"771":{"position":[[266,5]]},"773":{"position":[[143,5],[225,5]]}},"keywords":{}}],["230",{"_index":4823,"title":{},"content":{"650":{"position":[[907,3],[911,3]]}},"keywords":{}}],["238mb",{"_index":950,"title":{},"content":{"42":{"position":[[1477,5]]}},"keywords":{}}],["24",{"_index":4812,"title":{},"content":{"647":{"position":[[405,2]]}},"keywords":{}}],["240",{"_index":2286,"title":{},"content":{"216":{"position":[[517,3]]},"217":{"position":[[2638,3]]}},"keywords":{}}],["24224",{"_index":3317,"title":{},"content":{"362":{"position":[[203,5]]}},"keywords":{}}],["25",{"_index":3183,"title":{},"content":{"349":{"position":[[4960,2]]},"618":{"position":[[792,3]]},"619":{"position":[[743,2]]},"620":{"position":[[417,3]]},"621":{"position":[[415,3]]},"625":{"position":[[761,3]]},"631":{"position":[[677,3]]},"652":{"position":[[873,2],[880,2]]}},"keywords":{}}],["25.0"",{"_index":5222,"title":{},"content":{"699":{"position":[[1169,11]]},"724":{"position":[[1053,11]]},"728":{"position":[[906,11]]}},"keywords":{}}],["250",{"_index":4680,"title":{},"content":{"609":{"position":[[597,3]]},"649":{"position":[[354,3],[588,3],[592,3]]}},"keywords":{}}],["255",{"_index":837,"title":{},"content":{"36":{"position":[[9809,3],[10209,3]]},"229":{"position":[[9809,3],[10209,3]]},"358":{"position":[[4159,5]]}},"keywords":{}}],["256",{"_index":1090,"title":{},"content":{"48":{"position":[[1272,3],[1284,3]]}},"keywords":{}}],["256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426"",{"_index":4821,"title":{},"content":{"649":{"position":[[508,77]]}},"keywords":{}}],["26",{"_index":3184,"title":{},"content":{"349":{"position":[[5073,2]]}},"keywords":{}}],["265",{"_index":452,"title":{},"content":{"20":{"position":[[1012,3]]}},"keywords":{}}],["27",{"_index":3185,"title":{},"content":{"349":{"position":[[5186,2]]}},"keywords":{}}],["28",{"_index":3186,"title":{},"content":{"349":{"position":[[5297,2]]}},"keywords":{}}],["29",{"_index":930,"title":{},"content":{"42":{"position":[[1006,2],[1087,2]]},"349":{"position":[[5463,2]]}},"keywords":{}}],["2900",{"_index":1706,"title":{},"content":{"87":{"position":[[178,4]]}},"keywords":{}}],["2900:2900",{"_index":1046,"title":{},"content":{"44":{"position":[[576,9]]}},"keywords":{}}],["2950",{"_index":2062,"title":{},"content":{"140":{"position":[[834,4],[839,4]]},"314":{"position":[[964,4],[2188,5]]}},"keywords":{}}],["299792458",{"_index":4341,"title":{},"content":{"540":{"position":[[1364,9]]}},"keywords":{}}],["2a46",{"_index":1571,"title":{},"content":{"82":{"position":[[4563,4]]}},"keywords":{}}],["2em",{"_index":4619,"title":{},"content":{"584":{"position":[[350,3]]}},"keywords":{}}],["2f",{"_index":4691,"title":{},"content":{"611":{"position":[[915,4]]}},"keywords":{}}],["2h",{"_index":4722,"title":{},"content":{"626":{"position":[[1555,3]]},"627":{"position":[[1608,3]]},"628":{"position":[[1580,3]]}},"keywords":{}}],["2s",{"_index":4603,"title":{},"content":{"579":{"position":[[287,2]]}},"keywords":{}}],["3",{"_index":232,"title":{"427":{"position":[[0,2]]}},"content":{"6":{"position":[[967,1]]},"40":{"position":[[915,1],[917,1]]},"42":{"position":[[1162,1],[1225,1],[1284,1]]},"48":{"position":[[456,1]]},"55":{"position":[[3091,1],[3337,1],[3423,2]]},"96":{"position":[[40,1],[52,1]]},"112":{"position":[[420,1]]},"113":{"position":[[471,1]]},"214":{"position":[[1387,2]]},"218":{"position":[[710,2]]},"220":{"position":[[785,1],[787,1],[789,1],[2021,1]]},"253":{"position":[[146,1],[227,1],[502,1],[504,1],[506,1],[1024,1],[1105,1],[1380,1],[1382,1],[1384,1],[1794,1],[1875,1],[2150,1],[2152,1],[2154,1]]},"279":{"position":[[10275,1],[10330,1]]},"285":{"position":[[518,1]]},"296":{"position":[[592,1]]},"299":{"position":[[130,1],[214,1],[579,1]]},"344":{"position":[[258,1]]},"345":{"position":[[309,1]]},"346":{"position":[[418,1]]},"347":{"position":[[428,1]]},"348":{"position":[[689,1]]},"349":{"position":[[1855,1]]},"350":{"position":[[530,1]]},"351":{"position":[[487,1]]},"352":{"position":[[366,1]]},"353":{"position":[[347,1]]},"354":{"position":[[449,1]]},"355":{"position":[[325,1]]},"356":{"position":[[303,1]]},"467":{"position":[[818,2]]},"547":{"position":[[835,2]]},"598":{"position":[[267,1]]},"607":{"position":[[188,1]]},"633":{"position":[[469,1]]},"651":{"position":[[531,1]]},"652":{"position":[[594,2]]},"687":{"position":[[1029,2]]},"689":{"position":[[1071,2]]}},"keywords":{}}],["3"",{"_index":2249,"title":{},"content":{"214":{"position":[[749,7],[2008,7]]},"218":{"position":[[951,7],[1786,7]]},"220":{"position":[[1033,7],[2308,7]]},"598":{"position":[[336,7]]},"722":{"position":[[1580,8],[1645,8],[1790,8],[1855,8]]}},"keywords":{}}],["3)instal",{"_index":2912,"title":{},"content":{"313":{"position":[[41,9]]}},"keywords":{}}],["3,17",{"_index":487,"title":{},"content":{"22":{"position":[[151,5]]}},"keywords":{}}],["3,6",{"_index":486,"title":{},"content":{"22":{"position":[[147,3]]}},"keywords":{}}],["3.14",{"_index":2253,"title":{},"content":{"214":{"position":[[845,4],[1316,5]]},"218":{"position":[[1047,4]]},"220":{"position":[[1148,4]]}},"keywords":{}}],["3.2g",{"_index":3435,"title":{},"content":{"369":{"position":[[817,4]]}},"keywords":{}}],["3.74g",{"_index":3485,"title":{},"content":{"369":{"position":[[2307,5]]}},"keywords":{}}],["3.91",{"_index":3509,"title":{},"content":{"369":{"position":[[3145,5]]}},"keywords":{}}],["3.9g",{"_index":3432,"title":{},"content":{"369":{"position":[[774,4]]}},"keywords":{}}],["3.x",{"_index":2550,"title":{},"content":{"263":{"position":[[589,3],[605,4]]}},"keywords":{}}],["30",{"_index":2120,"title":{},"content":{"173":{"position":[[132,3]]},"349":{"position":[[5629,2]]},"579":{"position":[[259,4]]},"622":{"position":[[486,2]]},"627":{"position":[[650,3],[660,2]]},"633":{"position":[[494,3]]}},"keywords":{}}],["30.0",{"_index":2658,"title":{},"content":{"279":{"position":[[10347,4],[10352,4]]},"740":{"position":[[528,5],[534,5],[831,5],[837,5]]},"741":{"position":[[2049,5]]}},"keywords":{}}],["300",{"_index":2304,"title":{},"content":{"217":{"position":[[717,4]]},"367":{"position":[[379,3],[668,3]]}},"keywords":{}}],["304",{"_index":4452,"title":{},"content":{"550":{"position":[[377,4],[488,4],[612,4],[724,4]]},"561":{"position":[[455,4],[753,4]]}},"keywords":{}}],["306",{"_index":4453,"title":{},"content":{"550":{"position":[[382,4],[493,4],[617,4],[729,4]]},"561":{"position":[[460,4],[758,4]]}},"keywords":{}}],["30m",{"_index":4723,"title":{},"content":{"626":{"position":[[1559,4]]},"627":{"position":[[1612,4]]},"628":{"position":[[1584,4]]}},"keywords":{}}],["30px",{"_index":4628,"title":{},"content":{"590":{"position":[[207,4]]}},"keywords":{}}],["31",{"_index":3188,"title":{},"content":{"349":{"position":[[5768,2]]}},"keywords":{}}],["310"",{"_index":4454,"title":{},"content":{"550":{"position":[[391,9],[502,9],[626,10],[738,10]]},"561":{"position":[[465,9],[763,10]]}},"keywords":{}}],["32",{"_index":725,"title":{},"content":{"36":{"position":[[3527,2],[9225,2],[9414,2]]},"40":{"position":[[224,2],[332,2],[451,2],[558,2],[676,2],[964,2],[1372,2]]},"48":{"position":[[238,2],[1211,2],[3514,2]]},"54":{"position":[[464,2]]},"64":{"position":[[1050,2],[1162,2]]},"65":{"position":[[555,2],[601,3],[614,2],[823,2],[952,2],[1086,2],[1230,2]]},"213":{"position":[[732,2],[1046,2],[1168,2]]},"214":{"position":[[550,2],[1770,2]]},"215":{"position":[[396,2],[827,2]]},"218":{"position":[[752,2],[1548,2]]},"219":{"position":[[956,2],[1602,2],[1680,2]]},"220":{"position":[[778,2],[2014,2]]},"228":{"position":[[1966,2],[2047,2],[2050,2],[2109,2]]},"229":{"position":[[3527,2],[9225,2],[9414,2]]},"230":{"position":[[1754,2],[1843,2]]},"231":{"position":[[2113,2],[2116,2]]},"232":{"position":[[1956,2]]},"253":{"position":[[669,2],[752,2],[1547,2],[2317,2]]},"279":{"position":[[2593,2],[7524,2],[7691,2]]},"283":{"position":[[962,2]]},"284":{"position":[[758,2]]},"299":{"position":[[666,2],[816,2],[1244,2]]},"304":{"position":[[1081,2]]},"305":{"position":[[1298,2]]},"321":{"position":[[402,3],[807,3]]},"349":{"position":[[5914,2]]},"358":{"position":[[2937,2],[3818,2],[4912,2]]},"359":{"position":[[1535,2]]},"379":{"position":[[3130,2],[3288,2]]}},"keywords":{}}],["320",{"_index":2667,"title":{},"content":{"283":{"position":[[971,3]]},"284":{"position":[[767,3]]}},"keywords":{}}],["3207",{"_index":1528,"title":{},"content":{"82":{"position":[[744,4]]}},"keywords":{}}],["326mb",{"_index":954,"title":{},"content":{"42":{"position":[[1595,5]]}},"keywords":{}}],["32gb",{"_index":3022,"title":{},"content":{"330":{"position":[[854,4]]}},"keywords":{}}],["33",{"_index":3190,"title":{},"content":{"349":{"position":[[6081,2]]}},"keywords":{}}],["333.8mib",{"_index":3510,"title":{},"content":{"369":{"position":[[3151,8]]}},"keywords":{}}],["33xxwnbu6pnslqhpvlqu5vmzlk0iofk",{"_index":1561,"title":{},"content":{"82":{"position":[[4203,31]]}},"keywords":{}}],["34",{"_index":3191,"title":{},"content":{"349":{"position":[[6229,2]]},"647":{"position":[[383,2]]},"648":{"position":[[645,2]]}},"keywords":{}}],["35",{"_index":3192,"title":{},"content":{"349":{"position":[[6359,2]]},"369":{"position":[[2247,3]]}},"keywords":{}}],["35.4mib",{"_index":3519,"title":{},"content":{"369":{"position":[[3369,7]]}},"keywords":{}}],["350",{"_index":3403,"title":{},"content":{"367":{"position":[[1179,3]]}},"keywords":{}}],["36",{"_index":3193,"title":{},"content":{"349":{"position":[[6521,2]]}},"keywords":{}}],["3650",{"_index":415,"title":{},"content":{"20":{"position":[[370,4],[1053,4],[1111,4]]}},"keywords":{}}],["37",{"_index":3195,"title":{},"content":{"349":{"position":[[6734,2]]}},"keywords":{}}],["37.33mib",{"_index":3475,"title":{},"content":{"369":{"position":[[1878,8]]}},"keywords":{}}],["370.8mib",{"_index":3511,"title":{},"content":{"369":{"position":[[3160,8]]}},"keywords":{}}],["372mb",{"_index":952,"title":{},"content":{"42":{"position":[[1536,5]]}},"keywords":{}}],["38400",{"_index":1919,"title":{},"content":{"111":{"position":[[1352,5]]}},"keywords":{}}],["39",{"_index":3482,"title":{},"content":{"369":{"position":[[2251,3]]}},"keywords":{}}],["392mib",{"_index":3450,"title":{},"content":{"369":{"position":[[1277,6]]}},"keywords":{}}],["4",{"_index":234,"title":{"383":{"position":[[22,1]]},"404":{"position":[[31,2]]},"428":{"position":[[0,2]]}},"content":{"6":{"position":[[1022,1]]},"48":{"position":[[374,1],[471,1]]},"55":{"position":[[2873,2],[2890,2],[2922,2],[3029,1],[3033,1],[3041,1],[3054,1]]},"62":{"position":[[765,1]]},"104":{"position":[[967,1],[1077,1],[1843,1],[1972,1]]},"105":{"position":[[1025,1],[1114,1],[1786,1],[1894,1]]},"111":{"position":[[1272,1],[1379,1]]},"139":{"position":[[953,1]]},"214":{"position":[[1383,3]]},"253":{"position":[[306,1],[680,1],[682,1],[684,1],[1184,1],[1954,1]]},"299":{"position":[[314,1]]},"321":{"position":[[1175,1],[1177,1],[1262,1],[1436,1],[1449,1],[1459,1],[1486,1]]},"344":{"position":[[365,1]]},"345":{"position":[[431,1]]},"346":{"position":[[516,1]]},"347":{"position":[[515,1]]},"348":{"position":[[845,1]]},"349":{"position":[[2074,1]]},"350":{"position":[[710,1]]},"352":{"position":[[496,1]]},"353":{"position":[[444,1]]},"354":{"position":[[544,1]]},"355":{"position":[[418,1]]},"356":{"position":[[377,1]]},"367":{"position":[[452,1]]},"369":{"position":[[74,2],[594,2],[4177,1]]},"383":{"position":[[122,1],[664,1],[744,1],[932,1]]},"404":{"position":[[18,1],[220,1]]},"524":{"position":[[386,1]]},"540":{"position":[[522,1]]},"547":{"position":[[902,2]]},"609":{"position":[[417,2],[675,1]]},"610":{"position":[[413,2],[471,1],[803,1],[805,1]]},"658":{"position":[[167,1]]},"714":{"position":[[161,1]]}},"keywords":{}}],["4).3",{"_index":1316,"title":{},"content":{"62":{"position":[[757,4]]}},"keywords":{}}],["4.0.0",{"_index":2051,"title":{},"content":{"139":{"position":[[9,6]]}},"keywords":{}}],["4.0.7",{"_index":3341,"title":{},"content":{"362":{"position":[[1386,5]]}},"keywords":{}}],["4.05",{"_index":3464,"title":{},"content":{"369":{"position":[[1648,5]]}},"keywords":{}}],["4.09",{"_index":3489,"title":{},"content":{"369":{"position":[[2662,5]]}},"keywords":{}}],["4.16",{"_index":3443,"title":{},"content":{"369":{"position":[[1171,5]]}},"keywords":{}}],["4.22.0",{"_index":3533,"title":{},"content":{"369":{"position":[[4293,6]]}},"keywords":{}}],["4.4.0",{"_index":369,"title":{},"content":{"17":{"position":[[9,6]]},"18":{"position":[[9,6]]}},"keywords":{}}],["4.4.1",{"_index":682,"title":{},"content":{"36":{"position":[[1077,6]]},"229":{"position":[[1077,6]]},"236":{"position":[[9,6]]},"279":{"position":[[1072,6]]},"286":{"position":[[9,6]]}},"keywords":{}}],["4.64g",{"_index":3484,"title":{},"content":{"369":{"position":[[2259,5]]}},"keywords":{}}],["4.9.0",{"_index":3560,"title":{},"content":{"371":{"position":[[150,5]]}},"keywords":{}}],["40",{"_index":3481,"title":{},"content":{"369":{"position":[[2243,3]]},"618":{"position":[[883,2]]},"625":{"position":[[847,2]]}},"keywords":{}}],["40.0",{"_index":5427,"title":{},"content":{"741":{"position":[[2055,5]]}},"keywords":{}}],["400",{"_index":3388,"title":{},"content":{"367":{"position":[[274,3]]},"627":{"position":[[627,3]]},"650":{"position":[[225,3]]}},"keywords":{}}],["401",{"_index":1693,"title":{},"content":{"85":{"position":[[176,3]]}},"keywords":{}}],["401.6mib",{"_index":3449,"title":{},"content":{"369":{"position":[[1268,8]]}},"keywords":{}}],["405.8mib",{"_index":3495,"title":{},"content":{"369":{"position":[[2766,8]]}},"keywords":{}}],["405mb",{"_index":943,"title":{},"content":{"42":{"position":[[1236,5],[1295,5]]}},"keywords":{}}],["407.9mib",{"_index":3494,"title":{},"content":{"369":{"position":[[2757,8]]}},"keywords":{}}],["4096",{"_index":444,"title":{},"content":{"20":{"position":[[917,4]]}},"keywords":{}}],["41.02mib",{"_index":3476,"title":{},"content":{"369":{"position":[[1887,8]]}},"keywords":{}}],["42",{"_index":3483,"title":{},"content":{"369":{"position":[[2255,3]]}},"keywords":{}}],["42.93mib",{"_index":3520,"title":{},"content":{"369":{"position":[[3377,8]]}},"keywords":{}}],["43.54mib",{"_index":3445,"title":{},"content":{"369":{"position":[[1183,8]]}},"keywords":{}}],["430",{"_index":4817,"title":{},"content":{"649":{"position":[[358,3]]}},"keywords":{}}],["431mb",{"_index":936,"title":{},"content":{"42":{"position":[[1100,5]]}},"keywords":{}}],["432mb",{"_index":940,"title":{},"content":{"42":{"position":[[1173,5]]}},"keywords":{}}],["4374",{"_index":1507,"title":{},"content":{"81":{"position":[[763,4]]}},"keywords":{}}],["44.3mib",{"_index":3490,"title":{},"content":{"369":{"position":[[2674,7]]}},"keywords":{}}],["443",{"_index":507,"title":{},"content":{"23":{"position":[[35,3]]},"107":{"position":[[988,3]]}},"keywords":{}}],["446mb",{"_index":933,"title":{},"content":{"42":{"position":[[1019,5]]}},"keywords":{}}],["45",{"_index":4829,"title":{},"content":{"651":{"position":[[493,2],[523,2]]},"652":{"position":[[988,2],[995,2]]}},"keywords":{}}],["450",{"_index":4666,"title":{},"content":{"602":{"position":[[247,3]]}},"keywords":{}}],["46.22mib",{"_index":3466,"title":{},"content":{"369":{"position":[[1660,8]]}},"keywords":{}}],["4693",{"_index":1582,"title":{},"content":{"82":{"position":[[6504,4]]}},"keywords":{}}],["476.8mib",{"_index":3453,"title":{},"content":{"369":{"position":[[1340,8],[1349,8]]}},"keywords":{}}],["47a8dd26",{"_index":1580,"title":{},"content":{"82":{"position":[[6490,8]]}},"keywords":{}}],["48",{"_index":2481,"title":{},"content":{"253":{"position":[[749,2],[1627,2]]},"299":{"position":[[728,2]]}},"keywords":{}}],["480",{"_index":2289,"title":{},"content":{"216":{"position":[[751,3]]},"217":{"position":[[2872,3]]}},"keywords":{}}],["480.2mib",{"_index":3498,"title":{},"content":{"369":{"position":[[2831,8]]}},"keywords":{}}],["481.5mib",{"_index":3499,"title":{},"content":{"369":{"position":[[2840,8]]}},"keywords":{}}],["4aacbaf49f7a",{"_index":935,"title":{},"content":{"42":{"position":[[1074,12]]}},"keywords":{}}],["4c12",{"_index":1572,"title":{},"content":{"82":{"position":[[4568,4]]}},"keywords":{}}],["4cac7a3ea9d3",{"_index":929,"title":{},"content":{"42":{"position":[[993,12]]}},"keywords":{}}],["4gib",{"_index":1074,"title":{},"content":{"48":{"position":[[357,5]]}},"keywords":{}}],["5",{"_index":29,"title":{"383":{"position":[[34,2]]},"429":{"position":[[0,2]]}},"content":{"2":{"position":[[10,1]]},"6":{"position":[[530,1],[1077,1]]},"46":{"position":[[30,1]]},"47":{"position":[[8,1]]},"48":{"position":[[492,1]]},"57":{"position":[[1120,1]]},"64":{"position":[[227,1]]},"82":{"position":[[214,1]]},"83":{"position":[[512,1]]},"107":{"position":[[503,1],[694,1]]},"152":{"position":[[151,2]]},"253":{"position":[[399,1],[1277,1],[2047,1],[2457,1]]},"263":{"position":[[520,1]]},"299":{"position":[[408,1]]},"330":{"position":[[1014,1]]},"332":{"position":[[176,1]]},"343":{"position":[[40,1],[101,1]]},"344":{"position":[[409,1]]},"345":{"position":[[501,1]]},"346":{"position":[[621,1]]},"347":{"position":[[665,1]]},"348":{"position":[[1017,1]]},"349":{"position":[[2168,1]]},"350":{"position":[[878,1]]},"352":{"position":[[585,1]]},"353":{"position":[[620,1]]},"354":{"position":[[644,1]]},"355":{"position":[[501,1]]},"356":{"position":[[488,1]]},"359":{"position":[[1287,1],[1551,1],[2546,1]]},"383":{"position":[[8,1],[134,1],[602,1],[694,1],[790,1],[1104,1],[1209,1],[1456,1],[1639,1],[1960,2]]},"402":{"position":[[143,1],[686,1]]},"424":{"position":[[373,1]]},"499":{"position":[[619,1]]},"540":{"position":[[2226,2],[2616,2],[3142,2],[3525,2]]},"542":{"position":[[381,2],[640,2],[836,2]]},"544":{"position":[[1523,2],[1803,2]]},"554":{"position":[[673,1]]},"579":{"position":[[372,1]]},"628":{"position":[[628,1]]},"633":{"position":[[674,1]]},"647":{"position":[[381,1],[424,1]]},"648":{"position":[[643,1],[697,1]]},"651":{"position":[[467,1],[469,1],[474,1],[487,1],[489,1],[491,1],[518,1]]},"652":{"position":[[871,1],[883,1],[986,1]]},"653":{"position":[[255,1]]},"662":{"position":[[79,2],[146,3]]},"673":{"position":[[176,1]]},"677":{"position":[[1197,1]]},"678":{"position":[[1419,1]]},"679":{"position":[[1440,1]]},"680":{"position":[[1473,1]]},"681":{"position":[[1273,1]]},"682":{"position":[[1490,1]]},"683":{"position":[[1511,1]]},"684":{"position":[[1544,1]]},"699":{"position":[[1126,1]]},"712":{"position":[[653,1],[852,1]]},"714":{"position":[[1476,3],[1596,3],[1716,5],[1839,4]]},"722":{"position":[[1526,1]]},"724":{"position":[[1010,1]]},"725":{"position":[[866,2],[884,1]]},"728":{"position":[[863,1]]},"729":{"position":[[844,2],[862,1]]},"771":{"position":[[241,2]]},"772":{"position":[[220,1]]},"773":{"position":[[123,2],[210,2]]}},"keywords":{}}],["5"",{"_index":4769,"title":{},"content":{"637":{"position":[[1820,9]]},"710":{"position":[[731,8],[815,8],[1018,8],[1101,8]]},"712":{"position":[[612,8],[811,8]]},"714":{"position":[[304,8],[1325,8]]},"726":{"position":[[1090,8],[1163,8],[1267,8],[1340,8]]}},"keywords":{}}],["5.0",{"_index":1260,"title":{},"content":{"57":{"position":[[1098,3],[1268,3]]},"61":{"position":[[2613,3]]},"698":{"position":[[816,4],[983,4]]},"711":{"position":[[637,4],[742,4]]},"723":{"position":[[1336,4],[1417,4],[1543,4],[1624,4]]},"727":{"position":[[1159,4],[1246,4],[1364,4],[1451,4]]}},"keywords":{}}],["5.0.0",{"_index":5111,"title":{"687":{"position":[[34,5]]},"689":{"position":[[29,5]]},"690":{"position":[[31,5]]},"704":{"position":[[28,7]]},"705":{"position":[[33,5]]},"707":{"position":[[29,5]]},"708":{"position":[[16,7]]},"750":{"position":[[21,7]]},"764":{"position":[[18,7]]}},"content":{},"keywords":{}}],["5.0.10",{"_index":685,"title":{},"content":{"36":{"position":[[1325,7]]},"182":{"position":[[9,7]]},"229":{"position":[[1325,7]]},"242":{"position":[[9,7]]},"243":{"position":[[9,7]]},"244":{"position":[[9,7]]},"279":{"position":[[1320,7]]},"291":{"position":[[9,7]]},"292":{"position":[[9,7]]},"293":{"position":[[9,7]]}},"keywords":{}}],["5.0.3",{"_index":5323,"title":{"716":{"position":[[25,7]]},"717":{"position":[[19,7]]}},"content":{},"keywords":{}}],["5.0.6",{"_index":5127,"title":{"688":{"position":[[39,5]]},"706":{"position":[[39,5]]}},"content":{},"keywords":{}}],["5.0.6cf",{"_index":3555,"title":{},"content":{"371":{"position":[[82,8]]}},"keywords":{}}],["5.0.8",{"_index":2180,"title":{},"content":{"200":{"position":[[9,6]]}},"keywords":{}}],["5.0.9",{"_index":3073,"title":{},"content":{"333":{"position":[[488,6]]}},"keywords":{}}],["5.1.0",{"_index":4602,"title":{},"content":{"579":{"position":[[9,6]]}},"keywords":{}}],["5.11",{"_index":1085,"title":{},"content":{"48":{"position":[[912,5]]}},"keywords":{}}],["5.11.0",{"_index":1086,"title":{},"content":{"48":{"position":[[1021,7]]}},"keywords":{}}],["5.11.1",{"_index":315,"title":{},"content":{"11":{"position":[[9,7]]}},"keywords":{}}],["5.11.4",{"_index":5767,"title":{},"content":{"808":{"position":[[945,7]]},"809":{"position":[[548,7],[616,8]]}},"keywords":{}}],["5.12.0",{"_index":2132,"title":{},"content":{"176":{"position":[[9,7]]},"190":{"position":[[9,7]]},"201":{"position":[[9,7]]},"205":{"position":[[9,7]]}},"keywords":{}}],["5.13.0",{"_index":5083,"title":{"685":{"position":[[17,7]]},"687":{"position":[[20,7]]},"688":{"position":[[25,7]]},"689":{"position":[[15,7]]},"690":{"position":[[17,7]]},"705":{"position":[[19,7]]},"706":{"position":[[25,7]]},"707":{"position":[[15,7]]}},"content":{},"keywords":{}}],["5.14.0",{"_index":2425,"title":{},"content":{"245":{"position":[[9,7]]},"246":{"position":[[9,7]]},"247":{"position":[[9,7]]},"248":{"position":[[9,7]]}},"keywords":{}}],["5.15.90.1",{"_index":3537,"title":{},"content":{"369":{"position":[[4337,9]]}},"keywords":{}}],["5.16.0",{"_index":2681,"title":{},"content":{"294":{"position":[[9,7]]}},"keywords":{}}],["5.16.2",{"_index":3037,"title":{},"content":{"331":{"position":[[416,6],[530,7],[804,6]]}},"keywords":{}}],["5.17.1",{"_index":4736,"title":{},"content":{"632":{"position":[[9,7]]}},"keywords":{}}],["5.17.2",{"_index":4745,"title":{},"content":{"633":{"position":[[9,7]]}},"keywords":{}}],["5.18.0",{"_index":692,"title":{},"content":{"36":{"position":[[1576,7]]},"229":{"position":[[1576,7]]},"249":{"position":[[9,7]]},"279":{"position":[[1571,7]]},"295":{"position":[[9,7]]}},"keywords":{}}],["5.19.0",{"_index":2433,"title":{},"content":{"251":{"position":[[9,7]]}},"keywords":{}}],["5.2.0",{"_index":2025,"title":{},"content":{"131":{"position":[[9,6]]},"132":{"position":[[9,6]]},"152":{"position":[[9,6]]},"159":{"position":[[9,6]]},"174":{"position":[[9,6]]},"175":{"position":[[9,6]]}},"keywords":{}}],["5.20.0",{"_index":2431,"title":{},"content":{"250":{"position":[[9,7]]}},"keywords":{}}],["5.3.0",{"_index":2063,"title":{},"content":{"141":{"position":[[9,6]]},"188":{"position":[[9,6]]}},"keywords":{}}],["5.5.0",{"_index":2006,"title":{},"content":{"127":{"position":[[9,6]]},"189":{"position":[[9,6]]}},"keywords":{}}],["5.5.1",{"_index":4672,"title":{},"content":{"605":{"position":[[9,6]]},"626":{"position":[[1276,6],[1443,6]]},"627":{"position":[[1329,6],[1496,6]]},"628":{"position":[[1301,6],[1468,6]]},"652":{"position":[[1185,6]]}},"keywords":{}}],["5.5.2",{"_index":2040,"title":{},"content":{"138":{"position":[[9,6]]}},"keywords":{}}],["5.7.0",{"_index":2067,"title":{},"content":{"142":{"position":[[9,6]]},"143":{"position":[[9,6]]},"144":{"position":[[9,6]]},"145":{"position":[[9,6]]},"146":{"position":[[9,6]]},"147":{"position":[[9,6]]}},"keywords":{}}],["5.8.0",{"_index":5084,"title":{"685":{"position":[[31,5]]}},"content":{},"keywords":{}}],["5.9.1",{"_index":3421,"title":{},"content":{"369":{"position":[[149,5]]}},"keywords":{}}],["5.time",{"_index":2495,"title":{},"content":{"253":{"position":[[2387,7]]}},"keywords":{}}],["5.x",{"_index":1774,"title":{"95":{"position":[[44,5]]}},"content":{},"keywords":{}}],["50",{"_index":806,"title":{},"content":{"36":{"position":[[7541,2],[7570,2],[7629,2]]},"229":{"position":[[7541,2],[7570,2],[7629,2]]},"279":{"position":[[6141,2],[6169,2],[6228,2]]},"330":{"position":[[508,3]]},"367":{"position":[[1012,2]]},"544":{"position":[[1592,3],[1871,3]]},"583":{"position":[[248,2]]},"584":{"position":[[276,2]]},"587":{"position":[[481,2]]},"588":{"position":[[475,2]]},"589":{"position":[[504,2]]},"620":{"position":[[493,2]]},"621":{"position":[[490,2]]},"627":{"position":[[631,2]]},"631":{"position":[[755,2]]},"633":{"position":[[541,2],[575,2],[629,2],[662,2],[696,2],[701,2]]},"651":{"position":[[453,2]]},"652":{"position":[[755,2]]},"653":{"position":[[228,2],[231,2]]}},"keywords":{}}],["50,000",{"_index":5690,"title":{},"content":{"791":{"position":[[116,6]]},"792":{"position":[[115,6]]}},"keywords":{}}],["50.0",{"_index":3912,"title":{},"content":{"402":{"position":[[5713,5]]},"559":{"position":[[632,4],[929,5]]},"741":{"position":[[2037,5]]}},"keywords":{}}],["50.0"",{"_index":4508,"title":{},"content":{"559":{"position":[[701,11],[999,11]]},"564":{"position":[[479,11],[657,11]]}},"keywords":{}}],["500",{"_index":5729,"title":{},"content":{"801":{"position":[[206,4]]},"802":{"position":[[233,4]]}},"keywords":{}}],["50000",{"_index":5212,"title":{},"content":{"698":{"position":[[875,6],[1042,6]]},"792":{"position":[[199,5]]}},"keywords":{}}],["5000000.time",{"_index":4486,"title":{},"content":{"552":{"position":[[2336,13]]}},"keywords":{}}],["50_000_000",{"_index":2094,"title":{},"content":{"154":{"position":[[151,11]]},"157":{"position":[[158,11]]},"161":{"position":[[153,11]]},"164":{"position":[[160,11]]}},"keywords":{}}],["50mb",{"_index":2045,"title":{},"content":{"138":{"position":[[564,5]]},"338":{"position":[[527,5]]}},"keywords":{}}],["51",{"_index":1501,"title":{},"content":{"81":{"position":[[631,2]]}},"keywords":{}}],["51.38mib",{"_index":3446,"title":{},"content":{"369":{"position":[[1192,8]]}},"keywords":{}}],["512",{"_index":4218,"title":{},"content":{"498":{"position":[[689,3]]}},"keywords":{}}],["5375f60abc6c",{"_index":1584,"title":{},"content":{"82":{"position":[[6514,12]]}},"keywords":{}}],["561b128",{"_index":3557,"title":{},"content":{"371":{"position":[[113,7]]}},"keywords":{}}],["57"",{"_index":3648,"title":{},"content":{"379":{"position":[[968,8]]}},"keywords":{}}],["57.295",{"_index":2715,"title":{},"content":{"299":{"position":[[1034,6]]}},"keywords":{}}],["57600",{"_index":1924,"title":{},"content":{"111":{"position":[[1773,5]]}},"keywords":{}}],["5a3003a49199",{"_index":945,"title":{},"content":{"42":{"position":[[1331,12]]}},"keywords":{}}],["5d002c1",{"_index":3829,"title":{},"content":{"393":{"position":[[1269,8]]}},"keywords":{}}],["5m",{"_index":4730,"title":{},"content":{"628":{"position":[[619,2]]}},"keywords":{}}],["5px",{"_index":4641,"title":{},"content":{"594":{"position":[[366,3]]}},"keywords":{}}],["6",{"_index":1066,"title":{"430":{"position":[[0,2]]}},"content":{"48":{"position":[[23,1],[510,1],[1038,1]]},"54":{"position":[[589,1]]},"59":{"position":[[452,2]]},"86":{"position":[[293,1]]},"104":{"position":[[1187,1],[2101,1]]},"105":{"position":[[1203,1],[2002,1]]},"111":{"position":[[1475,1]]},"263":{"position":[[571,1]]},"344":{"position":[[458,1]]},"345":{"position":[[605,1]]},"346":{"position":[[799,1]]},"347":{"position":[[749,1]]},"348":{"position":[[1179,1]]},"349":{"position":[[2308,1]]},"350":{"position":[[1023,1]]},"352":{"position":[[697,1]]},"353":{"position":[[705,1]]},"355":{"position":[[598,1]]},"356":{"position":[[581,1]]},"369":{"position":[[814,2]]},"379":{"position":[[744,1],[746,1],[748,1]]},"609":{"position":[[621,1]]}},"keywords":{}}],["6.0",{"_index":1779,"title":{"96":{"position":[[14,3]]}},"content":{},"keywords":{}}],["6.0.0",{"_index":2084,"title":{},"content":{"148":{"position":[[9,6]]},"177":{"position":[[9,6]]},"191":{"position":[[9,6]]},"202":{"position":[[9,6]]}},"keywords":{}}],["6.1",{"_index":1787,"title":{},"content":{"96":{"position":[[139,5]]}},"keywords":{}}],["6.14",{"_index":3448,"title":{},"content":{"369":{"position":[[1262,5]]}},"keywords":{}}],["6.18",{"_index":3493,"title":{},"content":{"369":{"position":[[2751,5]]}},"keywords":{}}],["60",{"_index":2050,"title":{},"content":{"138":{"position":[[947,2]]},"159":{"position":[[160,3]]},"633":{"position":[[498,3]]}},"keywords":{}}],["60.0",{"_index":2655,"title":{},"content":{"279":{"position":[[10297,4]]},"305":{"position":[[1362,4]]},"402":{"position":[[5839,5]]},"740":{"position":[[472,5],[636,5],[785,5],[956,5]]},"741":{"position":[[2043,5]]}},"keywords":{}}],["600",{"_index":2049,"title":{},"content":{"138":{"position":[[932,3]]},"153":{"position":[[140,4]]},"156":{"position":[[147,4]]},"160":{"position":[[142,4]]},"163":{"position":[[149,4]]},"787":{"position":[[1167,4],[1467,4]]}},"keywords":{}}],["61064218",{"_index":3544,"title":{},"content":{"369":{"position":[[4418,8]]}},"keywords":{}}],["620",{"_index":4682,"title":{},"content":{"610":{"position":[[778,3]]}},"keywords":{}}],["64",{"_index":1105,"title":{},"content":{"48":{"position":[[2744,2],[3099,2]]},"65":{"position":[[608,2],[842,2],[971,2],[1099,2],[1243,2]]},"213":{"position":[[664,2]]},"214":{"position":[[828,2],[2082,2]]},"218":{"position":[[1030,2],[1860,2]]},"220":{"position":[[1131,2],[2401,2]]},"228":{"position":[[2106,2]]},"233":{"position":[[971,2],[974,2]]},"234":{"position":[[761,2]]},"283":{"position":[[959,2]]},"299":{"position":[[813,2]]},"321":{"position":[[410,2],[814,2]]},"402":{"position":[[4285,2]]},"404":{"position":[[409,2],[847,3]]},"690":{"position":[[1243,3]]}},"keywords":{}}],["640",{"_index":2409,"title":{},"content":{"233":{"position":[[983,3]]},"234":{"position":[[770,3]]}},"keywords":{}}],["64bit",{"_index":2410,"title":{},"content":{"233":{"position":[[1005,5]]},"234":{"position":[[792,5]]}},"keywords":{}}],["65535",{"_index":5162,"title":{},"content":{"690":{"position":[[1389,6]]}},"keywords":{}}],["65536",{"_index":1103,"title":{},"content":{"48":{"position":[[2720,6]]}},"keywords":{}}],["66.72",{"_index":3501,"title":{},"content":{"369":{"position":[[2901,6]]}},"keywords":{}}],["666",{"_index":2937,"title":{},"content":{"317":{"position":[[290,3]]}},"keywords":{}}],["69.84mib",{"_index":3467,"title":{},"content":{"369":{"position":[[1669,8]]}},"keywords":{}}],["6d22",{"_index":1506,"title":{},"content":{"81":{"position":[[758,4]]}},"keywords":{}}],["7",{"_index":1926,"title":{"431":{"position":[[0,2]]}},"content":{"111":{"position":[[1966,1]]},"324":{"position":[[383,1]]},"344":{"position":[[523,1]]},"345":{"position":[[711,1]]},"346":{"position":[[913,1]]},"348":{"position":[[1339,1]]},"349":{"position":[[2439,1]]},"350":{"position":[[1138,1]]},"352":{"position":[[794,1]]},"353":{"position":[[791,1]]},"355":{"position":[[693,1]]},"356":{"position":[[667,1]]},"369":{"position":[[805,2],[808,2]]}},"keywords":{}}],["7.0",{"_index":1810,"title":{"97":{"position":[[14,4]]}},"content":{"711":{"position":[[657,5],[757,5]]}},"keywords":{}}],["7.42",{"_index":3512,"title":{},"content":{"369":{"position":[[3210,5]]}},"keywords":{}}],["7.7g",{"_index":3433,"title":{},"content":{"369":{"position":[[781,4],[2267,4]]}},"keywords":{}}],["70",{"_index":4749,"title":{},"content":{"634":{"position":[[348,2]]},"647":{"position":[[426,2]]},"648":{"position":[[699,2]]}},"keywords":{}}],["70,7",{"_index":512,"title":{},"content":{"23":{"position":[[126,4],[131,5]]}},"keywords":{}}],["70.0",{"_index":2654,"title":{},"content":{"279":{"position":[[10292,4]]},"305":{"position":[[1357,4]]},"740":{"position":[[466,5],[630,5],[779,5],[950,5]]}},"keywords":{}}],["7272",{"_index":2074,"title":{},"content":{"144":{"position":[[271,4]]},"182":{"position":[[308,4]]}},"keywords":{}}],["75",{"_index":5681,"title":{},"content":{"787":{"position":[[1172,3],[1472,3]]}},"keywords":{}}],["7777",{"_index":1705,"title":{},"content":{"87":{"position":[[118,6]]}},"keywords":{}}],["7779",{"_index":5578,"title":{},"content":{"761":{"position":[[465,5],[471,5]]}},"keywords":{}}],["787f6e3fc0b",{"_index":949,"title":{},"content":{"42":{"position":[[1453,12]]}},"keywords":{}}],["8",{"_index":697,"title":{"432":{"position":[[0,2]]}},"content":{"36":{"position":[[1814,1],[9818,1],[10218,1]]},"40":{"position":[[814,1],[906,1]]},"42":{"position":[[1344,1],[1406,1],[1466,1],[1525,1],[1584,1]]},"47":{"position":[[42,1]]},"81":{"position":[[486,3]]},"82":{"position":[[6239,3]]},"111":{"position":[[1139,1]]},"140":{"position":[[785,1]]},"213":{"position":[[804,1]]},"214":{"position":[[1014,1],[2225,1]]},"218":{"position":[[1216,1],[2003,1]]},"219":{"position":[[1044,1]]},"229":{"position":[[1814,1],[9818,1],[10218,1]]},"243":{"position":[[238,1]]},"244":{"position":[[243,2]]},"253":{"position":[[875,1],[1630,1]]},"279":{"position":[[1809,1]]},"299":{"position":[[1055,1]]},"304":{"position":[[1162,1]]},"305":{"position":[[1440,1]]},"314":{"position":[[855,1],[876,1]]},"321":{"position":[[395,2],[638,1],[800,2],[1220,1],[1260,1]]},"344":{"position":[[652,1]]},"345":{"position":[[813,1]]},"346":{"position":[[1118,1]]},"348":{"position":[[1511,1]]},"349":{"position":[[2536,1]]},"350":{"position":[[1394,1]]},"352":{"position":[[891,1]]},"355":{"position":[[796,1]]},"356":{"position":[[753,1]]},"358":{"position":[[2997,1],[3988,1],[4956,1]]},"359":{"position":[[1597,1]]},"369":{"position":[[811,2],[858,1]]},"379":{"position":[[737,1],[789,1],[1617,1],[1669,1],[2122,1],[2174,1],[2622,1],[2674,1],[3346,1],[3407,1]]},"624":{"position":[[384,2]]}},"keywords":{}}],["8.8",{"_index":2838,"title":{},"content":{"309":{"position":[[574,4],[1346,3]]}},"keywords":{}}],["80",{"_index":483,"title":{},"content":{"21":{"position":[[242,2]]},"23":{"position":[[55,3]]},"107":{"position":[[355,2],[873,2]]},"108":{"position":[[312,2]]},"213":{"position":[[729,2]]},"253":{"position":[[872,2]]},"330":{"position":[[640,3]]},"540":{"position":[[133,2]]},"609":{"position":[[601,2]]},"613":{"position":[[394,2]]}},"keywords":{}}],["80.0",{"_index":2653,"title":{},"content":{"279":{"position":[[10286,4],[10302,4],[10341,4],[10357,4]]},"285":{"position":[[535,4],[540,4]]},"296":{"position":[[609,4],[614,4]]},"305":{"position":[[1351,4],[1367,4]]},"740":{"position":[[459,5],[478,5],[521,5],[540,6],[623,5],[642,5],[772,5],[791,5],[824,5],[843,6],[943,5],[962,5]]}},"keywords":{}}],["800",{"_index":3389,"title":{},"content":{"367":{"position":[[323,3],[560,3],[589,3],[646,3]]}},"keywords":{}}],["8080",{"_index":1253,"title":{},"content":{"57":{"position":[[448,4],[453,4]]},"104":{"position":[[921,4],[1052,4],[1057,4],[1162,4],[1167,4],[1272,4],[1277,4],[1407,4],[1412,4],[1516,4],[1521,4],[1632,4],[1637,4],[1796,4],[1946,4],[1951,4],[2075,4],[2080,4],[2205,4],[2210,4],[2358,4],[2363,4],[2485,4],[2490,4],[2620,4],[2625,4]]},"105":{"position":[[979,4],[1089,4],[1094,4],[1178,4],[1183,4],[1267,4],[1272,4],[1381,4],[1386,4],[1469,4],[1474,4],[1564,4],[1569,4],[1739,4],[1868,4],[1873,4],[1976,4],[1981,4],[2085,4],[2090,4],[2217,4],[2222,4],[2323,4],[2328,4],[2437,4],[2442,4]]},"106":{"position":[[954,4],[1097,4]]},"114":{"position":[[260,4]]},"130":{"position":[[203,4],[347,4]]},"131":{"position":[[244,4],[440,4]]},"132":{"position":[[247,4],[446,4]]},"139":{"position":[[782,4],[1069,4]]},"302":{"position":[[2694,4]]},"358":{"position":[[6877,4],[7792,4]]},"359":{"position":[[882,4]]}},"keywords":{}}],["8081",{"_index":1844,"title":{},"content":{"104":{"position":[[926,4],[1801,4]]},"105":{"position":[[984,4],[1744,4]]},"106":{"position":[[959,4],[1102,4]]},"130":{"position":[[208,4],[352,4]]},"131":{"position":[[249,4],[445,4]]},"132":{"position":[[252,4],[451,4]]},"139":{"position":[[787,4],[1074,4]]},"302":{"position":[[2699,4]]},"358":{"position":[[6882,4],[7813,4]]}},"keywords":{}}],["8082",{"_index":1867,"title":{},"content":{"106":{"position":[[964,4],[1107,4]]}},"keywords":{}}],["80gb",{"_index":3010,"title":{},"content":{"330":{"position":[[382,4]]}},"keywords":{}}],["83.87mib",{"_index":3463,"title":{},"content":{"369":{"position":[[1588,8]]}},"keywords":{}}],["84.87mib",{"_index":3507,"title":{},"content":{"369":{"position":[[3078,8]]}},"keywords":{}}],["86399999)"",{"_index":2709,"title":{},"content":{"299":{"position":[[855,15]]}},"keywords":{}}],["86400.0",{"_index":2719,"title":{},"content":{"299":{"position":[[1275,8]]}},"keywords":{}}],["88",{"_index":1879,"title":{},"content":{"108":{"position":[[709,2]]}},"keywords":{}}],["8884",{"_index":1894,"title":{},"content":{"109":{"position":[[1566,4]]},"110":{"position":[[1931,4]]}},"keywords":{}}],["8df1",{"_index":1583,"title":{},"content":{"82":{"position":[[6509,4]]}},"keywords":{}}],["8gb",{"_index":3008,"title":{},"content":{"330":{"position":[[366,3],[542,4]]},"404":{"position":[[241,3]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa"",{"_index":1578,"title":{},"content":{"82":{"position":[[5931,81]]}},"keywords":{}}],["8xiiwrzj9dsfq1tahgfkp1lnzxcj_r6pfwvo263bohbeu7imezqdbvglj9nhaglzvnrotui4bxa","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyjhbgcioijiuzi1niisinr5ccigoiaislduiiwia2lkiia6ici5njnlmjjims0wzmywltrmzjktytg0zi1hogi4mzcxowfimdeifq.eyjlehaioje2odm2odewndasimlhdci6mty4mzy3oti0mcwianrpijoimmqyyjiynmitnjjkos00yjrjlwi3ytytmgewyjk4mgqymjmwiiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisimf1zci6imh0dha6ly9sb2nhbghvc3q6mjkwmc9hdxrol3jlywxtcy9vcgvuyzmilcjzdwiioijhy2uxztzhms05mze5ltq3nmutymy0my02zjnjywi5zwuyzguilcj0exaioijszwzyzxnoiiwiyxpwijoiyxbpiiwic2vzc2lvbl9zdgf0zsi6imyznzg1oty3ltjhndytngmxmi1hzdbjlwnmzjdmyzq3n2rmosisinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkifq.1hlkdxqkal5tyuhtxsocelzfmnnll9bjoa4oul70x9m","token_type":"bearer","id_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwiyxv0af90aw1lijowlcjqdgkioijhndjkoty1zs1lmzu0ltrim2qtotiyys1howe0zdgwzwyxmtkilcjpc3mioijodhrwoi8vbg9jywxob3n0oji5mdavyxv0ac9yzwfsbxmvb3blbmmziiwiyxvkijoiyxbpiiwic3viijoiywnlmwu2ytetotmxos00nzzllwjmndmtnmyzy2fiowvlmmrliiwidhlwijoisuqilcjhenaioijhcgkilcjzzxnzaw9ux3n0yxrlijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwiyxrfagfzaci6ijnbwe9iskfkyzfpvldld2y0a0q4tkeilcjhy3iioiixiiwic2lkijoizjm3odu5njctmme0ni00yzeylwfkmgmty2zmn2zjndc3zgy5iiwizw1hawxfdmvyawzpzwqiomzhbhnllcjuyw1lijoivghlie9wzxjhdg9yiiwichjlzmvycmvkx3vzzxjuyw1lijoib3blcmf0b3iilcjnaxzlbl9uyw1lijoivghliiwizmftawx5x25hbwuioijpcgvyyxrvcij9.gdll6kokiiadl6jyeuaxqrgcnvuwlqb3rdnwrhjdqyfxshiwofbilmfrersi",{"_index":1560,"title":{},"content":{"82":{"position":[[2466,1736]]}},"keywords":{}}],["9",{"_index":1363,"title":{"433":{"position":[[0,2]]}},"content":{"67":{"position":[[769,1]]},"324":{"position":[[391,1]]},"344":{"position":[[756,1]]},"346":{"position":[[1216,1]]},"348":{"position":[[1675,1]]},"349":{"position":[[2718,1]]},"352":{"position":[[992,1]]},"356":{"position":[[835,1]]}},"keywords":{}}],["9.2",{"_index":2839,"title":{},"content":{"309":{"position":[[588,4],[1354,3]]}},"keywords":{}}],["9.484mib",{"_index":3471,"title":{},"content":{"369":{"position":[[1740,8]]}},"keywords":{}}],["90",{"_index":4384,"title":{},"content":{"542":{"position":[[841,3]]},"633":{"position":[[502,2]]}},"keywords":{}}],["90.0",{"_index":2670,"title":{},"content":{"285":{"position":[[529,4],[545,4]]},"296":{"position":[[603,4],[619,4]]}},"keywords":{}}],["900",{"_index":2114,"title":{},"content":{"171":{"position":[[146,3]]},"602":{"position":[[243,3]]}},"keywords":{}}],["9200",{"_index":3323,"title":{},"content":{"362":{"position":[[337,4],[667,4],[988,4]]}},"keywords":{}}],["94.9438",{"_index":1756,"title":{},"content":{"92":{"position":[[1417,8],[1767,8]]}},"keywords":{}}],["95",{"_index":4828,"title":{},"content":{"651":{"position":[[471,2],[515,2],[520,2]]}},"keywords":{}}],["96",{"_index":2400,"title":{},"content":{"228":{"position":[[2145,2],[2148,2]]},"299":{"position":[[887,2]]}},"keywords":{}}],["9600",{"_index":1917,"title":{},"content":{"111":{"position":[[1224,4]]}},"keywords":{}}],["98df5c0378c2",{"_index":944,"title":{},"content":{"42":{"position":[[1271,12]]}},"keywords":{}}],["999)"",{"_index":2713,"title":{},"content":{"299":{"position":[[935,10]]}},"keywords":{}}],["9a8806bd4be3",{"_index":939,"title":{},"content":{"42":{"position":[[1149,12]]}},"keywords":{}}],["__init__",{"_index":747,"title":{},"content":{"36":{"position":[[4232,8]]},"229":{"position":[[4232,8]]},"279":{"position":[[3181,8]]}},"keywords":{}}],["__init__(self",{"_index":779,"title":{},"content":{"36":{"position":[[5928,14]]},"69":{"position":[[435,14]]},"229":{"position":[[5928,14]]},"279":{"position":[[4408,14]]},"534":{"position":[[390,15]]},"551":{"position":[[1259,15]]},"795":{"position":[[1937,15]]}},"keywords":{}}],["__openc3.log>",{"_index":3337,"title":{},"content":{"362":{"position":[[573,17]]}},"keywords":{}}],["_cbor_template.bin",{"_index":2242,"title":{},"content":{"214":{"position":[[503,18]]}},"keywords":{}}],["_ccsds_apid.txt",{"_index":264,"title":{},"content":{"7":{"position":[[638,15]]}},"keywords":{}}],["_def.txt",{"_index":617,"title":{},"content":{"31":{"position":[[245,8]]}},"keywords":{}}],["_int",{"_index":2015,"title":{},"content":{"128":{"position":[[592,6]]}},"keywords":{}}],["_timeformat",{"_index":2610,"title":{},"content":{"275":{"position":[[781,14]]}},"keywords":{}}],["_timesecond",{"_index":2613,"title":{},"content":{"275":{"position":[[872,12]]}},"keywords":{}}],["a"",{"_index":2978,"title":{},"content":{"321":{"position":[[1202,7]]}},"keywords":{}}],["a/compose.yaml",{"_index":509,"title":{},"content":{"23":{"position":[[64,14]]}},"keywords":{}}],["a/openc3",{"_index":470,"title":{},"content":{"21":{"position":[[56,8]]},"22":{"position":[[79,8]]}},"keywords":{}}],["a86f",{"_index":1508,"title":{},"content":{"81":{"position":[[768,4]]}},"keywords":{}}],["a:4",{"_index":2975,"title":{},"content":{"321":{"position":[[1121,4]]}},"keywords":{}}],["aa158bbb9539",{"_index":953,"title":{},"content":{"42":{"position":[[1571,12]]}},"keywords":{}}],["abbrevi",{"_index":665,"title":{},"content":{"36":{"position":[[400,11],[412,12]]},"229":{"position":[[400,11],[412,12]]},"279":{"position":[[395,11],[407,12]]}},"keywords":{}}],["abil",{"_index":2631,"title":{},"content":{"279":{"position":[[3411,7],[4782,7],[5475,7],[6598,7]]},"445":{"position":[[30,7]]},"464":{"position":[[29,7]]},"497":{"position":[[23,7]]},"526":{"position":[[158,7]]},"554":{"position":[[160,7]]},"811":{"position":[[28,7]]}},"keywords":{}}],["abort",{"_index":1841,"title":{},"content":{"104":{"position":[[581,8],[650,8]]},"105":{"position":[[468,8],[537,8]]},"106":{"position":[[750,8],[823,8]]},"107":{"position":[[445,8],[551,8],[667,8]]},"111":{"position":[[660,8],[729,8]]},"349":{"position":[[6123,8],[6186,5]]},"535":{"position":[[676,5],[696,5]]},"545":{"position":[[325,5]]},"642":{"position":[[404,7],[535,7]]},"654":{"position":[[822,7],[1031,7]]},"687":{"position":[[868,8],[924,7]]},"688":{"position":[[277,9],[403,9]]},"689":{"position":[[910,8],[966,7]]}},"keywords":{}}],["abort"",{"_index":4415,"title":{},"content":{"545":{"position":[[381,12]]},"677":{"position":[[1661,12],[1912,12]]},"689":{"position":[[368,12],[829,12]]}},"keywords":{}}],["abort_cmd",{"_index":5137,"title":{},"content":{"689":{"position":[[337,9],[386,9],[798,9]]}},"keywords":{}}],["abov",{"_index":159,"title":{},"content":{"5":{"position":[[521,5],[1464,6]]},"55":{"position":[[1970,5]]},"79":{"position":[[82,5]]},"83":{"position":[[1869,5]]},"321":{"position":[[996,6],[1340,5]]},"332":{"position":[[1433,5]]},"358":{"position":[[5867,6]]},"380":{"position":[[1127,5],[1783,6]]},"389":{"position":[[978,6]]},"390":{"position":[[558,5]]},"401":{"position":[[25,5]]},"421":{"position":[[721,5]]},"427":{"position":[[85,5]]},"447":{"position":[[133,6],[602,6]]},"467":{"position":[[326,5]]},"473":{"position":[[1542,5]]},"533":{"position":[[235,5]]},"542":{"position":[[913,5]]},"544":{"position":[[813,5]]},"547":{"position":[[785,5],[1206,6]]},"618":{"position":[[421,5]]},"625":{"position":[[390,5]]},"631":{"position":[[400,5]]},"741":{"position":[[1011,5],[1138,5]]}},"keywords":{}}],["above"",{"_index":4678,"title":{},"content":{"607":{"position":[[253,11]]}},"keywords":{}}],["absolut",{"_index":2070,"title":{},"content":{"143":{"position":[[165,8],[384,8]]},"181":{"position":[[149,8],[368,8]]},"383":{"position":[[1076,8]]},"777":{"position":[[417,8]]}},"keywords":{}}],["abus",{"_index":4119,"title":{},"content":{"434":{"position":[[802,5]]}},"keywords":{}}],["accept",{"_index":1280,"title":{},"content":{"59":{"position":[[354,10]]},"83":{"position":[[811,8],[843,7],[2314,8],[2373,7]]},"88":{"position":[[168,8]]},"105":{"position":[[870,6]]},"108":{"position":[[477,6]]},"140":{"position":[[554,6]]},"213":{"position":[[1068,6]]},"348":{"position":[[2028,9]]},"387":{"position":[[969,6]]},"402":{"position":[[2022,8]]}},"keywords":{}}],["access",{"_index":686,"title":{"428":{"position":[[3,6]]}},"content":{"36":{"position":[[1357,6],[1490,6]]},"42":{"position":[[2071,6]]},"44":{"position":[[123,6]]},"112":{"position":[[466,6]]},"126":{"position":[[592,10]]},"194":{"position":[[13,6],[55,6]]},"229":{"position":[[1357,6],[1490,6]]},"236":{"position":[[297,11]]},"279":{"position":[[1352,6],[1485,6]]},"286":{"position":[[278,11]]},"309":{"position":[[3595,6]]},"310":{"position":[[702,6]]},"314":{"position":[[2026,6],[2105,6]]},"317":{"position":[[270,7]]},"344":{"position":[[180,10],[295,10]]},"365":{"position":[[282,6],[352,7]]},"389":{"position":[[469,6],[578,6],[666,6]]},"392":{"position":[[198,6],[539,10]]},"402":{"position":[[1764,6]]},"427":{"position":[[319,6]]},"429":{"position":[[203,7],[349,7]]},"431":{"position":[[102,7],[401,6]]},"432":{"position":[[179,7]]},"434":{"position":[[595,6]]},"498":{"position":[[171,6]]},"499":{"position":[[186,6]]},"513":{"position":[[340,6]]},"592":{"position":[[24,6],[88,6]]},"806":{"position":[[39,8],[110,6]]},"810":{"position":[[73,10]]}},"keywords":{}}],["access_log",{"_index":3330,"title":{},"content":{"362":{"position":[[444,10],[774,10],[1096,10]]}},"keywords":{}}],["accessor",{"_index":1323,"title":{"102":{"position":[[0,10]]},"212":{"position":[[0,9]]},"213":{"position":[[7,9]]},"214":{"position":[[5,9]]},"215":{"position":[[5,9]]},"216":{"position":[[5,9]]},"217":{"position":[[5,9]]},"218":{"position":[[5,9]]},"219":{"position":[[9,9]]},"220":{"position":[[4,9]]},"242":{"position":[[0,9]]},"291":{"position":[[0,9]]}},"content":{"64":{"position":[[705,8],[930,8]]},"102":{"position":[[1,9],[119,9],[217,9]]},"213":{"position":[[12,8],[432,8],[470,9],[564,8],[936,8]]},"214":{"position":[[49,8],[147,8],[236,8],[444,8],[467,8],[1516,8],[1700,8],[1725,8]]},"215":{"position":[[10,8],[136,8],[323,8],[346,8],[567,8],[757,8],[782,8]]},"216":{"position":[[10,8],[154,8],[465,8]]},"217":{"position":[[6,8],[117,8],[192,8],[434,8],[1014,8],[1481,8],[2208,8],[2586,8]]},"218":{"position":[[10,8],[236,8],[278,8],[481,8],[504,8],[1294,8],[1478,8],[1503,8]]},"219":{"position":[[14,8],[241,8],[553,8],[768,8],[1117,8],[1329,8]]},"220":{"position":[[9,8],[148,8],[189,8],[385,8],[408,8],[1376,8],[1553,8],[1578,8]]},"242":{"position":[[208,10],[286,8],[349,8]]},"291":{"position":[[208,10],[286,8]]}},"keywords":{}}],["accident",{"_index":4041,"title":{},"content":{"424":{"position":[[1909,10]]}},"keywords":{}}],["accomplish",{"_index":2581,"title":{},"content":{"269":{"position":[[237,13]]},"543":{"position":[[63,10]]}},"keywords":{}}],["accord",{"_index":3278,"title":{},"content":{"358":{"position":[[6617,9]]},"367":{"position":[[1038,9]]},"372":{"position":[[16,9]]},"378":{"position":[[229,9]]},"424":{"position":[[312,10]]},"430":{"position":[[657,10]]},"487":{"position":[[213,9]]}},"keywords":{}}],["accordingli",{"_index":3208,"title":{},"content":{"350":{"position":[[1624,12]]}},"keywords":{}}],["account",{"_index":1221,"title":{},"content":{"55":{"position":[[823,7],[1330,7],[1984,7]]},"81":{"position":[[50,8]]},"82":{"position":[[404,7]]},"427":{"position":[[390,8]]},"430":{"position":[[205,7],[333,7],[428,8]]},"431":{"position":[[883,7]]}},"keywords":{}}],["accountsrol",{"_index":3802,"title":{},"content":{"392":{"position":[[179,12]]}},"keywords":{}}],["accur",{"_index":794,"title":{},"content":{"36":{"position":[[6630,9],[7426,9]]},"229":{"position":[[6630,9],[7426,9]]},"279":{"position":[[5169,9],[6027,9]]},"387":{"position":[[599,8]]},"424":{"position":[[975,8]]},"428":{"position":[[96,8]]}},"keywords":{}}],["accuraci",{"_index":3117,"title":{},"content":{"344":{"position":[[949,8]]}},"keywords":{}}],["act",{"_index":401,"title":{},"content":{"20":{"position":[[154,3]]},"139":{"position":[[139,3],[193,4]]},"264":{"position":[[221,4]]},"432":{"position":[[1408,3]]}},"keywords":{}}],["action",{"_index":1472,"title":{},"content":{"79":{"position":[[99,7]]},"303":{"position":[[1069,6],[1090,7]]},"305":{"position":[[818,6]]},"342":{"position":[[373,6]]},"355":{"position":[[78,7]]},"390":{"position":[[1023,6]]},"419":{"position":[[222,6],[268,6]]},"422":{"position":[[65,7],[594,7]]},"430":{"position":[[586,7]]},"432":{"position":[[1169,6]]},"434":{"position":[[212,7],[654,8]]},"455":{"position":[[738,6],[765,7],[852,7]]},"540":{"position":[[3637,7]]},"544":{"position":[[330,6]]},"568":{"position":[[302,6]]},"569":{"position":[[636,7]]},"775":{"position":[[33,7]]}},"keywords":{}}],["actionc",{"_index":3862,"title":{},"content":{"402":{"position":[[467,11],[490,11],[861,11]]}},"keywords":{}}],["actioncable.createconsumer('/openc3",{"_index":3864,"title":{},"content":{"402":{"position":[[893,35]]}},"keywords":{}}],["activ",{"_index":2831,"title":{"454":{"position":[[0,9]]}},"content":{"309":{"position":[[238,8]]},"355":{"position":[[725,10]]},"421":{"position":[[550,9],[580,6]]},"422":{"position":[[1239,6]]},"427":{"position":[[376,8]]},"450":{"position":[[177,10],[194,10]]},"454":{"position":[[26,10],[72,10],[227,10],[409,10]]},"455":{"position":[[280,9],[374,8],[399,8],[559,11],[1179,8],[1233,8],[1284,8],[1368,8],[1469,9],[1504,8],[1641,8]]},"472":{"position":[[803,6],[865,6]]},"497":{"position":[[243,7],[359,7]]},"538":{"position":[[145,10]]},"544":{"position":[[1160,10]]},"546":{"position":[[1169,10]]},"550":{"position":[[10,8]]},"552":{"position":[[2185,10]]}},"keywords":{}}],["activemq",{"_index":1796,"title":{},"content":{"96":{"position":[[399,9]]}},"keywords":{}}],["actual",{"_index":543,"title":{},"content":{"24":{"position":[[593,8]]},"48":{"position":[[5232,6]]},"55":{"position":[[1039,6]]},"67":{"position":[[4914,6]]},"77":{"position":[[362,8]]},"149":{"position":[[376,6]]},"274":{"position":[[79,8]]},"358":{"position":[[6164,6],[6635,6]]},"389":{"position":[[256,6]]},"447":{"position":[[159,6]]},"565":{"position":[[458,6]]},"568":{"position":[[603,6]]},"658":{"position":[[811,6]]},"722":{"position":[[410,6],[477,6]]}},"keywords":{}}],["ad",{"_index":1084,"title":{"450":{"position":[[0,6]]},"462":{"position":[[0,6]]},"482":{"position":[[0,6]]}},"content":{"48":{"position":[[898,6],[1007,6]]},"57":{"position":[[86,5],[284,5]]},"67":{"position":[[3800,6]]},"105":{"position":[[741,5]]},"108":{"position":[[348,5]]},"109":{"position":[[704,5]]},"110":{"position":[[1038,5]]},"111":{"position":[[933,5]]},"112":{"position":[[289,5]]},"113":{"position":[[340,5]]},"192":{"position":[[193,5]]},"324":{"position":[[657,6]]},"333":{"position":[[136,6]]},"353":{"position":[[184,6],[289,6],[378,6]]},"356":{"position":[[220,2],[300,2],[374,2],[485,2],[578,2],[664,2],[698,6],[750,2],[832,2]]},"383":{"position":[[1826,5]]},"389":{"position":[[828,6]]},"402":{"position":[[2160,5],[2233,5],[2334,6],[3349,6]]},"416":{"position":[[174,6]]},"450":{"position":[[1,6]]},"455":{"position":[[529,7]]},"482":{"position":[[327,5],[580,5]]},"483":{"position":[[13,5]]},"523":{"position":[[429,6]]},"534":{"position":[[12,5],[743,5]]},"552":{"position":[[91,5]]},"572":{"position":[[344,6]]},"576":{"position":[[257,5]]},"619":{"position":[[162,5]]}},"keywords":{}}],["ad0c",{"_index":1573,"title":{},"content":{"82":{"position":[[4573,4]]}},"keywords":{}}],["adapt",{"_index":3729,"title":{},"content":{"387":{"position":[[287,6]]}},"keywords":{}}],["adc",{"_index":3425,"title":{},"content":{"369":{"position":[[437,6],[606,4],[631,4]]},"504":{"position":[[440,6]]},"563":{"position":[[602,9],[939,9]]},"613":{"position":[[574,4],[623,4]]},"626":{"position":[[598,4]]},"630":{"position":[[579,4],[621,4]]},"716":{"position":[[391,9]]},"717":{"position":[[488,9],[991,9]]},"784":{"position":[[134,6]]},"813":{"position":[[288,8],[391,8]]},"814":{"position":[[460,7]]},"815":{"position":[[346,7]]},"816":{"position":[[354,7]]}},"keywords":{}}],["adcs2",{"_index":4236,"title":{},"content":{"504":{"position":[[423,7]]}},"keywords":{}}],["add",{"_index":273,"title":{},"content":{"7":{"position":[[1119,3]]},"15":{"position":[[79,3]]},"16":{"position":[[81,3]]},"21":{"position":[[1,3]]},"36":{"position":[[74,4],[292,3],[6107,4],[6727,4],[7802,4]]},"43":{"position":[[1181,3]]},"44":{"position":[[1470,3]]},"53":{"position":[[442,3]]},"60":{"position":[[88,4]]},"65":{"position":[[22,3]]},"93":{"position":[[426,3]]},"117":{"position":[[372,3]]},"127":{"position":[[294,4]]},"138":{"position":[[103,3]]},"178":{"position":[[68,4]]},"192":{"position":[[47,4]]},"202":{"position":[[16,3]]},"225":{"position":[[477,3]]},"229":{"position":[[74,4],[292,3],[6107,4],[6727,4],[7802,4]]},"235":{"position":[[449,3]]},"252":{"position":[[155,3],[500,3]]},"257":{"position":[[323,3]]},"271":{"position":[[508,3]]},"279":{"position":[[69,4],[287,3],[4586,4],[5264,4],[6398,4]]},"296":{"position":[[159,3]]},"298":{"position":[[1,4],[349,3]]},"301":{"position":[[714,3]]},"302":{"position":[[2514,3]]},"303":{"position":[[1177,3]]},"304":{"position":[[493,3],[862,3]]},"305":{"position":[[529,3],[941,3],[1082,3],[1102,3]]},"306":{"position":[[887,3]]},"307":{"position":[[1708,3]]},"317":{"position":[[83,3]]},"333":{"position":[[1,3],[274,3]]},"338":{"position":[[661,3]]},"342":{"position":[[674,3]]},"352":{"position":[[205,3],[562,3],[655,3]]},"353":{"position":[[220,3],[322,3],[411,3]]},"355":{"position":[[294,3],[388,3],[466,3]]},"356":{"position":[[729,3],[899,3]]},"358":{"position":[[990,3],[6082,3],[6248,3],[7706,4]]},"364":{"position":[[1219,3]]},"377":{"position":[[133,3]]},"386":{"position":[[263,3]]},"402":{"position":[[1447,3]]},"407":{"position":[[98,3]]},"413":{"position":[[162,3],[225,3]]},"452":{"position":[[590,3]]},"455":{"position":[[391,3],[1263,4]]},"462":{"position":[[45,3],[122,3],[220,3]]},"482":{"position":[[221,3],[480,3]]},"522":{"position":[[3,3]]},"523":{"position":[[201,3],[210,4],[553,3]]},"540":{"position":[[1733,3]]},"554":{"position":[[313,3]]},"555":{"position":[[70,3]]},"572":{"position":[[428,3]]},"626":{"position":[[608,3],[736,3]]},"627":{"position":[[656,3],[789,3]]},"628":{"position":[[624,3],[761,3]]},"794":{"position":[[48,3]]},"795":{"position":[[1,4],[59,4],[196,4],[281,4],[361,4],[422,3]]}},"keywords":{}}],["add_group",{"_index":4309,"title":{"795":{"position":[[0,10]]}},"content":{"534":{"position":[[91,9]]},"795":{"position":[[42,9]]}},"keywords":{}}],["add_group(<group",{"_index":5707,"title":{},"content":{"795":{"position":[[514,19]]}},"keywords":{}}],["add_group('examplegroup",{"_index":4312,"title":{},"content":{"534":{"position":[[179,25]]},"795":{"position":[[1414,25]]}},"keywords":{}}],["add_group_setup",{"_index":5701,"title":{"795":{"position":[[11,16]]}},"content":{"795":{"position":[[173,15]]}},"keywords":{}}],["add_group_setup(<group",{"_index":5709,"title":{},"content":{"795":{"position":[[545,25]]}},"keywords":{}}],["add_group_setup('wrappergroup",{"_index":5716,"title":{},"content":{"795":{"position":[[1440,31]]}},"keywords":{}}],["add_group_teardown",{"_index":5702,"title":{"795":{"position":[[28,19]]}},"content":{"795":{"position":[[255,18]]}},"keywords":{}}],["add_group_teardown(<group",{"_index":5710,"title":{},"content":{"795":{"position":[[582,28]]}},"keywords":{}}],["add_group_teardown('wrappergroup",{"_index":5718,"title":{},"content":{"795":{"position":[[1512,34]]}},"keywords":{}}],["add_script",{"_index":5703,"title":{"795":{"position":[[48,11]]}},"content":{"795":{"position":[[343,10],[407,10]]}},"keywords":{}}],["add_script(<group",{"_index":5711,"title":{},"content":{"795":{"position":[[622,20]]}},"keywords":{}}],["add_script('wrappergroup",{"_index":5717,"title":{},"content":{"795":{"position":[[1472,26]]}},"keywords":{}}],["addit",{"_index":185,"title":{},"content":{"5":{"position":[[1399,9]]},"9":{"position":[[577,11]]},"36":{"position":[[764,10],[5304,10],[6359,10],[7155,10]]},"67":{"position":[[2575,10]]},"110":{"position":[[2318,10]]},"117":{"position":[[436,10]]},"128":{"position":[[831,10]]},"139":{"position":[[651,10]]},"140":{"position":[[161,10]]},"149":{"position":[[621,10]]},"229":{"position":[[764,10],[5304,10],[6359,10],[7155,10]]},"240":{"position":[[153,10]]},"242":{"position":[[315,10]]},"251":{"position":[[477,10]]},"257":{"position":[[486,10]]},"279":{"position":[[759,10],[3785,10],[4898,10],[5756,10]]},"287":{"position":[[162,10]]},"307":{"position":[[382,10]]},"358":{"position":[[6105,10]]},"367":{"position":[[676,9]]},"393":{"position":[[738,10]]},"422":{"position":[[508,10]]},"427":{"position":[[296,10]]},"437":{"position":[[106,10]]},"450":{"position":[[252,10]]},"470":{"position":[[312,9]]},"473":{"position":[[789,10]]},"526":{"position":[[272,10]]},"536":{"position":[[37,10]]},"540":{"position":[[3735,10],[4790,10]]},"568":{"position":[[482,10]]},"582":{"position":[[79,10]]},"612":{"position":[[534,10],[623,10]]},"619":{"position":[[137,10]]},"626":{"position":[[612,10]]},"629":{"position":[[200,10]]},"657":{"position":[[223,10]]}},"keywords":{}}],["addition",{"_index":2498,"title":{},"content":{"255":{"position":[[369,13]]},"430":{"position":[[375,13]]},"556":{"position":[[591,13]]},"611":{"position":[[286,12]]},"635":{"position":[[177,12]]},"777":{"position":[[403,13]]}},"keywords":{}}],["address",{"_index":439,"title":{},"content":{"20":{"position":[[779,7]]},"22":{"position":[[349,8],[461,8]]},"105":{"position":[[859,7]]},"106":{"position":[[143,7],[456,7],[519,7],[571,7]]},"108":{"position":[[466,7]]},"109":{"position":[[499,7]]},"110":{"position":[[492,7]]},"113":{"position":[[259,7],[267,7]]},"126":{"position":[[254,9]]},"140":{"position":[[543,7]]},"358":{"position":[[7671,7],[7749,7]]},"379":{"position":[[1122,7]]},"380":{"position":[[332,7],[1974,7]]},"404":{"position":[[2065,9]]},"426":{"position":[[943,7],[1002,7]]},"427":{"position":[[644,7]]},"432":{"position":[[297,8],[483,8]]},"433":{"position":[[239,7]]},"610":{"position":[[479,7],[509,7],[598,8]]}},"keywords":{}}],["adequ",{"_index":4028,"title":{},"content":{"424":{"position":[[861,9]]}},"keywords":{}}],["adher",{"_index":3731,"title":{},"content":{"387":{"position":[[395,6]]},"434":{"position":[[465,7]]},"436":{"position":[[53,7]]}},"keywords":{}}],["adjust",{"_index":2984,"title":{},"content":{"321":{"position":[[1637,6]]},"330":{"position":[[1098,6]]},"358":{"position":[[259,6]]},"383":{"position":[[843,6]]},"462":{"position":[[341,6]]}},"keywords":{}}],["admin",{"_index":1897,"title":{"356":{"position":[[0,6]]},"405":{"position":[[0,5]]}},"content":{"109":{"position":[[1770,5]]},"110":{"position":[[2152,5]]},"141":{"position":[[167,5],[384,5],[430,5]]},"188":{"position":[[127,5],[344,5],[390,5]]},"200":{"position":[[108,5]]},"326":{"position":[[719,5]]},"356":{"position":[[5,5],[150,5],[229,5],[309,5],[383,5],[494,5],[587,5],[673,5],[759,5],[841,5]]},"358":{"position":[[456,5]]},"359":{"position":[[500,5],[2049,5]]},"380":{"position":[[67,5]]},"406":{"position":[[1,5]]},"441":{"position":[[231,6]]},"443":{"position":[[172,6]]},"447":{"position":[[185,7]]},"513":{"position":[[168,5]]},"806":{"position":[[60,5]]},"810":{"position":[[32,5],[139,5]]}},"keywords":{}}],["administ",{"_index":3981,"title":{},"content":{"406":{"position":[[89,13]]}},"keywords":{}}],["administr",{"_index":3232,"title":{},"content":{"356":{"position":[[25,14]]}},"keywords":{}}],["advanc",{"_index":2143,"title":{"570":{"position":[[0,8]]},"571":{"position":[[0,8]]}},"content":{"183":{"position":[[468,8]]}},"keywords":{}}],["advantag",{"_index":4493,"title":{},"content":{"554":{"position":[[856,12]]}},"keywords":{}}],["advic",{"_index":2983,"title":{},"content":{"321":{"position":[[1508,6]]}},"keywords":{}}],["ae",{"_index":1940,"title":{},"content":{"112":{"position":[[798,3]]}},"keywords":{}}],["aerospac",{"_index":3770,"title":{},"content":{"389":{"position":[[2159,9]]},"393":{"position":[[17,9],[196,9],[314,10]]}},"keywords":{}}],["affect",{"_index":704,"title":{},"content":{"36":{"position":[[2162,6]]},"225":{"position":[[1250,6]]},"229":{"position":[[2162,6]]},"235":{"position":[[219,6]]},"285":{"position":[[219,6]]},"473":{"position":[[1113,8]]},"513":{"position":[[527,8]]},"522":{"position":[[152,9],[431,6]]},"560":{"position":[[1059,7]]},"577":{"position":[[165,6]]},"741":{"position":[[1763,7],[1907,7]]}},"keywords":{}}],["afterward",{"_index":1406,"title":{},"content":{"67":{"position":[[4801,11]]}},"keywords":{}}],["ag",{"_index":3977,"title":{},"content":{"404":{"position":[[2354,2]]}},"keywords":{}}],["again",{"_index":583,"title":{},"content":{"27":{"position":[[488,5]]},"36":{"position":[[4636,6],[8633,6]]},"229":{"position":[[4636,6],[8633,6]]},"297":{"position":[[690,5]]},"330":{"position":[[1240,6]]},"333":{"position":[[746,6]]},"339":{"position":[[86,5]]},"349":{"position":[[6706,5]]},"422":{"position":[[1156,6],[1527,6]]},"473":{"position":[[1319,5]]},"534":{"position":[[539,5]]}},"keywords":{}}],["against",{"_index":2135,"title":{},"content":{"176":{"position":[[190,7]]},"190":{"position":[[196,7]]},"201":{"position":[[188,7]]},"205":{"position":[[190,7]]},"275":{"position":[[1683,7]]},"309":{"position":[[561,7]]},"386":{"position":[[516,7]]},"424":{"position":[[1853,7],[1901,7]]},"544":{"position":[[470,8]]},"565":{"position":[[217,7],[263,7]]},"568":{"position":[[554,7],[664,7]]},"697":{"position":[[671,7]]},"698":{"position":[[35,7]]},"722":{"position":[[1037,7]]},"726":{"position":[[652,7]]}},"keywords":{}}],["age=0",{"_index":1499,"title":{},"content":{"81":{"position":[[583,6]]},"82":{"position":[[935,6],[1057,6],[6343,6]]}},"keywords":{}}],["age=31536000",{"_index":1544,"title":{},"content":{"82":{"position":[[1131,13]]}},"keywords":{}}],["agent",{"_index":1608,"title":{},"content":{"83":{"position":[[1108,6]]},"85":{"position":[[87,5]]},"112":{"position":[[604,5]]}},"keywords":{}}],["aggreg",{"_index":3355,"title":{},"content":{"364":{"position":[[204,9]]}},"keywords":{}}],["agil",{"_index":3104,"title":{},"content":{"343":{"position":[[991,7]]}},"keywords":{}}],["ago",{"_index":932,"title":{},"content":{"42":{"position":[[1015,3],[1096,3],[1169,3],[1232,3],[1291,3],[1351,3],[1413,3],[1473,3],[1532,3],[1591,3]]}},"keywords":{}}],["agpl",{"_index":3750,"title":{},"content":{"389":{"position":[[319,4]]}},"keywords":{}}],["agplv3",{"_index":2745,"title":{"389":{"position":[[0,7]]}},"content":{"301":{"position":[[571,7]]},"389":{"position":[[87,6],[233,6],[773,7],[1188,6],[1361,6],[1476,6],[1580,6],[1634,6],[1847,6]]},"391":{"position":[[148,7]]},"392":{"position":[[442,6]]}},"keywords":{}}],["agreement",{"_index":3771,"title":{},"content":{"389":{"position":[[2190,10]]},"393":{"position":[[162,9]]}},"keywords":{}}],["ahead",{"_index":3294,"title":{},"content":{"359":{"position":[[798,5]]},"540":{"position":[[569,5]]}},"keywords":{}}],["aid",{"_index":3178,"title":{},"content":{"349":{"position":[[4590,3]]}},"keywords":{}}],["aim",{"_index":4325,"title":{},"content":{"538":{"position":[[12,4]]}},"keywords":{}}],["air",{"_index":2513,"title":{},"content":{"258":{"position":[[687,3]]},"412":{"position":[[155,4]]}},"keywords":{}}],["aka",{"_index":1776,"title":{},"content":{"95":{"position":[[60,4]]}},"keywords":{}}],["alert",{"_index":3145,"title":{},"content":{"349":{"position":[[371,8]]},"363":{"position":[[85,8],[280,7]]},"364":{"position":[[272,7]]},"365":{"position":[[130,6]]},"426":{"position":[[202,5]]},"640":{"position":[[244,6]]},"644":{"position":[[244,6]]}},"keywords":{}}],["alert("date:"+d",{"_index":4791,"title":{},"content":{"640":{"position":[[320,31]]}},"keywords":{}}],["alert("time:"+tim",{"_index":4805,"title":{},"content":{"644":{"position":[[320,31]]}},"keywords":{}}],["algorithm",{"_index":1164,"title":{},"content":{"51":{"position":[[61,9],[400,9]]}},"keywords":{}}],["algorithm).day",{"_index":456,"title":{},"content":{"20":{"position":[[1037,15]]}},"keywords":{}}],["align",{"_index":2972,"title":{},"content":{"321":{"position":[[422,7],[830,8]]},"379":{"position":[[3452,9]]},"612":{"position":[[471,6]]}},"keywords":{}}],["aliv",{"_index":1605,"title":{},"content":{"83":{"position":[[927,6],[2428,6]]}},"keywords":{}}],["all"",{"_index":2664,"title":{},"content":{"281":{"position":[[126,9]]},"358":{"position":[[5719,9]]}},"keywords":{}}],["alloc",{"_index":2129,"title":{},"content":{"175":{"position":[[31,8]]},"330":{"position":[[345,9],[414,9]]},"369":{"position":[[848,9]]}},"keywords":{}}],["allow",{"_index":194,"title":{},"content":{"6":{"position":[[73,6]]},"31":{"position":[[382,6]]},"35":{"position":[[876,7],[936,7]]},"36":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9873,6],[10048,9],[10132,5]]},"37":{"position":[[669,7],[729,7]]},"48":{"position":[[4115,6]]},"50":{"position":[[542,5]]},"53":{"position":[[315,5]]},"55":{"position":[[2306,7]]},"62":{"position":[[115,5],[632,7]]},"67":{"position":[[4968,6]]},"83":{"position":[[112,6]]},"91":{"position":[[312,6],[393,6]]},"106":{"position":[[650,7]]},"112":{"position":[[459,6]]},"115":{"position":[[981,5],[1634,5],[1793,5]]},"125":{"position":[[135,5]]},"126":{"position":[[308,5],[653,6]]},"149":{"position":[[306,6]]},"192":{"position":[[163,6]]},"214":{"position":[[314,5]]},"215":{"position":[[196,5]]},"218":{"position":[[351,5]]},"220":{"position":[[262,5]]},"228":{"position":[[905,7],[965,7]]},"229":{"position":[[1097,7],[1240,6],[2768,5],[2867,6],[2961,6],[9873,6],[10048,9],[10132,5]]},"230":{"position":[[688,7],[748,7]]},"231":{"position":[[1075,7],[1135,7]]},"232":{"position":[[911,7],[971,7]]},"257":{"position":[[236,6]]},"264":{"position":[[88,5]]},"268":{"position":[[344,6]]},"269":{"position":[[202,6]]},"275":{"position":[[1611,6]]},"279":{"position":[[1092,7],[1235,6],[1980,5],[2079,6],[2170,6],[8240,5],[9610,6],[9997,6]]},"289":{"position":[[69,6]]},"302":{"position":[[618,5]]},"303":{"position":[[722,5]]},"309":{"position":[[1157,6],[3589,5],[3702,5],[3747,6]]},"310":{"position":[[696,5]]},"326":{"position":[[105,5]]},"328":{"position":[[154,5]]},"340":{"position":[[613,6]]},"345":{"position":[[65,5],[202,5],[332,5],[454,5],[524,5],[628,5],[734,5],[836,5]]},"346":{"position":[[298,5],[1257,5],[1412,5]]},"348":{"position":[[425,5],[594,5],[1040,5],[2244,5]]},"349":{"position":[[2330,5],[2461,5],[4322,5],[5956,8],[6029,5]]},"350":{"position":[[209,5],[1190,5]]},"351":{"position":[[99,5]]},"355":{"position":[[154,5],[246,5],[342,5],[435,5],[710,5],[813,5]]},"356":{"position":[[167,5]]},"358":{"position":[[6480,5],[7216,6],[7427,6]]},"368":{"position":[[351,8]]},"369":{"position":[[109,5],[657,7]]},"383":{"position":[[372,6]]},"389":{"position":[[324,6],[709,7],[1430,6]]},"391":{"position":[[51,6],[216,5]]},"402":{"position":[[639,5]]},"414":{"position":[[15,6]]},"415":{"position":[[17,6]]},"418":{"position":[[11,6]]},"419":{"position":[[255,5]]},"420":{"position":[[117,6]]},"422":{"position":[[274,6],[368,6],[1141,7],[1512,7]]},"426":{"position":[[101,5]]},"439":{"position":[[83,6]]},"440":{"position":[[739,6]]},"449":{"position":[[106,5]]},"452":{"position":[[10,6],[239,6]]},"459":{"position":[[13,6]]},"472":{"position":[[835,6]]},"484":{"position":[[204,6]]},"485":{"position":[[170,5]]},"506":{"position":[[166,6],[373,5],[611,6]]},"519":{"position":[[50,6]]},"522":{"position":[[1194,6]]},"523":{"position":[[539,6]]},"524":{"position":[[164,6],[376,5],[613,6],[796,6],[912,6]]},"529":{"position":[[381,6]]},"530":{"position":[[441,5],[480,6]]},"531":{"position":[[757,6]]},"535":{"position":[[248,6],[908,7],[1078,6]]},"536":{"position":[[251,6]]},"546":{"position":[[1224,6]]},"547":{"position":[[36,5]]},"551":{"position":[[40,5]]},"552":{"position":[[731,6],[2121,6]]},"556":{"position":[[52,6],[323,6],[684,6]]},"559":{"position":[[118,5]]},"560":{"position":[[131,6]]},"565":{"position":[[57,5]]},"569":{"position":[[437,5]]},"572":{"position":[[72,6],[338,5]]},"581":{"position":[[253,6]]},"582":{"position":[[69,5]]},"591":{"position":[[253,6]]},"592":{"position":[[18,5]]},"658":{"position":[[226,6]]},"663":{"position":[[15,5]]},"664":{"position":[[421,5]]},"665":{"position":[[387,5]]},"673":{"position":[[1091,7]]},"696":{"position":[[15,5]]},"710":{"position":[[306,6]]},"716":{"position":[[1,6]]},"717":{"position":[[693,5],[1191,5]]},"721":{"position":[[15,5]]},"749":{"position":[[15,5]]},"757":{"position":[[30,8]]},"760":{"position":[[15,5]]},"770":{"position":[[15,5]]},"776":{"position":[[15,5]]},"779":{"position":[[15,5]]},"786":{"position":[[19,6]]},"787":{"position":[[18,6]]},"788":{"position":[[15,5]]},"793":{"position":[[317,8]]},"796":{"position":[[15,5]]},"800":{"position":[[10,6]]},"806":{"position":[[91,5]]},"811":{"position":[[81,5]]}},"keywords":{}}],["allow_empty_data",{"_index":1410,"title":{},"content":{"69":{"position":[[179,16],[313,17],[836,16]]},"73":{"position":[[800,17],[841,18],[868,17],[1493,16]]}},"keywords":{}}],["allow_empty_data.nil",{"_index":1435,"title":{},"content":{"73":{"position":[[680,22]]}},"keywords":{}}],["allow_empty_data=non",{"_index":1415,"title":{},"content":{"69":{"position":[[450,23]]}},"keywords":{}}],["allow_short",{"_index":2678,"title":{"289":{"position":[[0,12]]}},"content":{},"keywords":{}}],["along",{"_index":1247,"title":{},"content":{"57":{"position":[[92,5]]},"260":{"position":[[33,5]]},"383":{"position":[[894,6]]},"407":{"position":[[337,5]]},"513":{"position":[[70,5]]},"529":{"position":[[441,5]]},"540":{"position":[[1155,5]]},"691":{"position":[[44,5]]},"702":{"position":[[44,5]]},"808":{"position":[[40,5]]}},"keywords":{}}],["alphabet",{"_index":2384,"title":{},"content":{"225":{"position":[[291,15]]},"271":{"position":[[319,15]]},"302":{"position":[[975,12]]},"491":{"position":[[53,12]]}},"keywords":{}}],["alpin",{"_index":2501,"title":{},"content":{"257":{"position":[[157,6],[289,7]]},"330":{"position":[[1617,6]]}},"keywords":{}}],["alpine_build=9",{"_index":968,"title":{},"content":{"42":{"position":[[1878,14]]}},"keywords":{}}],["alpine_version=3.18",{"_index":967,"title":{},"content":{"42":{"position":[[1858,19]]}},"keywords":{}}],["alreadi",{"_index":540,"title":{},"content":{"24":{"position":[[460,7]]},"36":{"position":[[4789,7],[8786,7]]},"42":{"position":[[355,7]]},"127":{"position":[[222,7]]},"225":{"position":[[540,7]]},"229":{"position":[[4789,7],[8786,7]]},"271":{"position":[[571,7]]},"279":{"position":[[2291,7]]},"302":{"position":[[1073,7]]},"310":{"position":[[380,7]]},"358":{"position":[[714,7]]},"404":{"position":[[1373,7]]},"504":{"position":[[454,7]]},"540":{"position":[[961,7]]},"787":{"position":[[801,7]]}},"keywords":{}}],["alter",{"_index":4070,"title":{},"content":{"429":{"position":[[223,11]]}},"keywords":{}}],["altern",{"_index":2830,"title":{},"content":{"309":{"position":[[187,11]]},"427":{"position":[[579,14]]},"561":{"position":[[223,14]]},"587":{"position":[[170,13]]},"588":{"position":[[164,13]]},"589":{"position":[[175,13]]}},"keywords":{}}],["although",{"_index":154,"title":{},"content":{"5":{"position":[[388,8]]},"62":{"position":[[231,8]]}},"keywords":{}}],["alway",{"_index":155,"title":{},"content":{"5":{"position":[[417,6]]},"24":{"position":[[762,6]]},"35":{"position":[[288,6]]},"36":{"position":[[2031,6],[4295,6]]},"50":{"position":[[783,6]]},"67":{"position":[[244,6]]},"69":{"position":[[61,6]]},"74":{"position":[[954,6]]},"75":{"position":[[817,6]]},"76":{"position":[[823,6]]},"77":{"position":[[208,6],[1159,6]]},"115":{"position":[[1072,6],[1330,6]]},"150":{"position":[[131,6]]},"228":{"position":[[317,6]]},"229":{"position":[[2031,6],[4295,6]]},"233":{"position":[[334,6]]},"278":{"position":[[316,6]]},"279":{"position":[[3244,6]]},"283":{"position":[[333,6]]},"301":{"position":[[952,6]]},"302":{"position":[[509,6]]},"303":{"position":[[601,6]]},"307":{"position":[[1057,6]]},"321":{"position":[[256,6],[301,6]]},"435":{"position":[[91,6]]},"455":{"position":[[952,6]]},"543":{"position":[[102,6]]},"556":{"position":[[575,6]]},"559":{"position":[[1028,6]]},"659":{"position":[[880,6]]},"662":{"position":[[3946,6]]},"665":{"position":[[59,6]]}},"keywords":{}}],["amazon/opendistro",{"_index":3350,"title":{},"content":{"363":{"position":[[486,17]]}},"keywords":{}}],["amend",{"_index":4091,"title":{},"content":{"431":{"position":[[454,7]]}},"keywords":{}}],["amount",{"_index":1203,"title":{},"content":{"54":{"position":[[43,6]]},"138":{"position":[[367,6],[500,6]]},"173":{"position":[[9,6]]},"721":{"position":[[92,6]]},"722":{"position":[[38,6]]},"723":{"position":[[38,6]]},"726":{"position":[[221,6]]},"727":{"position":[[38,6],[203,6]]},"728":{"position":[[317,6]]},"729":{"position":[[153,6]]},"789":{"position":[[138,6]]},"801":{"position":[[118,6]]}},"keywords":{}}],["amp",{"_index":288,"title":{},"content":{"8":{"position":[[131,6],[192,5]]},"320":{"position":[[486,5]]},"324":{"position":[[385,5]]},"367":{"position":[[481,5],[529,5],[888,5]]},"393":{"position":[[27,5],[206,5]]}},"keywords":{}}],["amp;&",{"_index":2962,"title":{},"content":{"320":{"position":[[1035,10]]},"362":{"position":[[1394,10]]},"376":{"position":[[248,10],[280,10],[338,10],[426,10],[460,10],[511,10]]}},"keywords":{}}],["ampersand",{"_index":287,"title":{},"content":{"8":{"position":[[110,9],[250,9]]}},"keywords":{}}],["analysi",{"_index":3218,"title":{},"content":{"353":{"position":[[78,8]]},"540":{"position":[[3889,8]]},"563":{"position":[[231,8]]}},"keywords":{}}],["analyt",{"_index":3379,"title":{},"content":{"365":{"position":[[41,9]]}},"keywords":{}}],["analyz",{"_index":1431,"title":{},"content":{"73":{"position":[[33,7],[161,9]]},"74":{"position":[[35,7],[186,9]]},"75":{"position":[[36,7],[185,9]]},"76":{"position":[[34,7],[175,8]]}},"keywords":{}}],["and/or",{"_index":1425,"title":{},"content":{"70":{"position":[[91,6]]},"119":{"position":[[45,6]]},"342":{"position":[[279,6],[525,6]]},"402":{"position":[[229,6]]}},"keywords":{}}],["angl",{"_index":2480,"title":{},"content":{"253":{"position":[[743,5]]},"299":{"position":[[988,5]]},"545":{"position":[[490,5]]}},"keywords":{}}],["angledeg",{"_index":2714,"title":{},"content":{"299":{"position":[[951,8]]}},"keywords":{}}],["angular",{"_index":2555,"title":{},"content":{"264":{"position":[[360,8]]},"307":{"position":[[243,8]]}},"keywords":{}}],["anomali",{"_index":4568,"title":{"569":{"position":[[20,10]]}},"content":{},"keywords":{}}],["anoth",{"_index":242,"title":{},"content":{"7":{"position":[[96,7]]},"26":{"position":[[243,7]]},"32":{"position":[[9,7]]},"36":{"position":[[1177,7],[1266,7],[1632,7]]},"93":{"position":[[50,7]]},"217":{"position":[[109,7]]},"229":{"position":[[1177,7],[1266,7],[1632,7]]},"279":{"position":[[1172,7],[1261,7],[1627,7]]},"302":{"position":[[1051,7]]},"309":{"position":[[883,7]]},"314":{"position":[[1095,7]]},"323":{"position":[[590,7]]},"342":{"position":[[1236,7]]},"349":{"position":[[1082,7]]},"368":{"position":[[1,7]]},"369":{"position":[[978,7]]},"533":{"position":[[324,7]]},"544":{"position":[[846,7]]},"552":{"position":[[1266,7],[1435,7]]},"572":{"position":[[227,7]]},"649":{"position":[[712,7]]},"650":{"position":[[1625,7]]},"777":{"position":[[21,7]]}},"keywords":{}}],["another."",{"_index":2508,"title":{},"content":{"258":{"position":[[188,14]]}},"keywords":{}}],["answer",{"_index":4502,"title":{},"content":{"559":{"position":[[442,6],[509,6],[527,6],[728,6],[795,6],[813,6]]},"699":{"position":[[562,6],[809,6]]}},"keywords":{}}],["answer}"",{"_index":4506,"title":{},"content":{"559":{"position":[[567,15],[868,15]]}},"keywords":{}}],["antenna",{"_index":4742,"title":{},"content":{"632":{"position":[[664,7]]}},"keywords":{}}],["anymor",{"_index":3688,"title":{},"content":{"380":{"position":[[1584,8]]}},"keywords":{}}],["anyon",{"_index":3753,"title":{},"content":{"389":{"position":[[452,6],[566,6]]}},"keywords":{}}],["anyth",{"_index":10,"title":{},"content":{"1":{"position":[[111,8]]},"70":{"position":[[414,9]]},"100":{"position":[[334,8]]},"119":{"position":[[261,8]]},"387":{"position":[[119,8],[170,8],[1048,8]]},"389":{"position":[[819,8],[1001,8],[1104,8]]},"419":{"position":[[296,8]]}},"keywords":{}}],["anything.al",{"_index":3108,"title":{},"content":{"343":{"position":[[1274,12]]}},"keywords":{}}],["anywher",{"_index":2599,"title":{},"content":{"274":{"position":[[603,8]]},"545":{"position":[[283,8]]},"777":{"position":[[369,8]]}},"keywords":{}}],["apc",{"_index":1948,"title":{},"content":{"112":{"position":[[1021,3]]},"113":{"position":[[617,3]]}},"keywords":{}}],["api",{"_index":934,"title":{"84":{"position":[[5,3]]},"345":{"position":[[0,3]]},"402":{"position":[[10,3]]},"655":{"position":[[10,3]]},"660":{"position":[[14,4]]}},"content":{"42":{"position":[[1063,3],[1138,3],[2090,3],[2153,3],[2175,3],[2497,3],[2631,3]]},"44":{"position":[[48,3],[69,3],[222,3],[648,3],[669,3],[701,3],[727,3],[796,3],[822,3],[869,3],[1069,3],[1128,3],[1195,3],[1272,3],[1315,3],[1403,3],[1527,3]]},"67":{"position":[[1005,4],[1275,4]]},"83":{"position":[[108,3]]},"86":{"position":[[12,3]]},"87":{"position":[[79,3],[150,3]]},"88":{"position":[[45,3],[69,3],[260,4],[302,3],[349,3]]},"89":{"position":[[17,3]]},"93":{"position":[[41,3]]},"122":{"position":[[73,4]]},"258":{"position":[[995,3],[1043,3],[1092,3],[1136,3]]},"269":{"position":[[12,3]]},"345":{"position":[[55,3],[175,3],[192,3],[305,3],[322,3],[427,3],[444,3],[497,3],[514,3],[601,3],[618,3],[707,3],[724,3],[809,3],[826,3],[891,3]]},"349":{"position":[[1943,3]]},"355":{"position":[[49,3]]},"363":{"position":[[243,4]]},"364":{"position":[[297,3],[783,3],[931,3]]},"368":{"position":[[414,3],[437,3]]},"369":{"position":[[1249,3],[1488,3],[2738,3],[2978,3]]},"387":{"position":[[372,3]]},"402":{"position":[[10,3],[155,3],[416,3],[833,3],[1160,3],[4863,3]]},"657":{"position":[[144,4]]},"660":{"position":[[155,3]]},"661":{"position":[[15,3],[84,3]]},"662":{"position":[[15,3]]},"669":{"position":[[552,3]]},"794":{"position":[[40,4]]},"795":{"position":[[795,3],[854,3],[953,3],[1013,3]]},"806":{"position":[[86,4]]},"807":{"position":[[98,5]]},"810":{"position":[[61,3]]},"811":{"position":[[76,4]]},"812":{"position":[[90,5]]}},"keywords":{}}],["api>",{"_index":1048,"title":{},"content":{"44":{"position":[[929,7]]}},"keywords":{}}],["api"",{"_index":1639,"title":{},"content":{"83":{"position":[[2241,9]]}},"keywords":{}}],["api.cmd",{"_index":4757,"title":{},"content":{"637":{"position":[[755,8],[831,10]]}},"keywords":{}}],["api.cmd("inst",{"_index":4768,"title":{},"content":{"637":{"position":[[1765,19]]},"638":{"position":[[403,18]]},"639":{"position":[[403,19]]},"643":{"position":[[385,19]]}},"keywords":{}}],["api.cmd('inst",{"_index":4761,"title":{},"content":{"637":{"position":[[1046,13]]},"642":{"position":[[545,13]]},"654":{"position":[[1017,13],[1128,13]]}},"keywords":{}}],["api.cmd_no_hazardous_check("inst",{"_index":4784,"title":{},"content":{"638":{"position":[[349,38]]}},"keywords":{}}],["api.cmd_no_hazardous_check('inst",{"_index":4846,"title":{},"content":{"654":{"position":[[1085,32]]}},"keywords":{}}],["api.tlm",{"_index":4763,"title":{},"content":{"637":{"position":[[1114,9]]}},"keywords":{}}],["api.tlm('inst",{"_index":4759,"title":{},"content":{"637":{"position":[[994,13]]}},"keywords":{}}],["api/api",{"_index":1495,"title":{},"content":{"81":{"position":[[527,7]]},"82":{"position":[[6280,7]]},"87":{"position":[[203,7]]},"93":{"position":[[961,7]]}},"keywords":{}}],["api/c",{"_index":3865,"title":{},"content":{"402":{"position":[[929,11]]}},"keywords":{}}],["api/internal/metrics"",{"_index":3370,"title":{},"content":{"364":{"position":[[664,26]]}},"keywords":{}}],["api/metrics"",{"_index":3372,"title":{},"content":{"364":{"position":[[815,17],[963,17]]}},"keywords":{}}],["api/scripts/target/procedures/cmd_tlm_test.rb/lock?scope=default",{"_index":1602,"title":{},"content":{"83":{"position":[[728,65]]}},"keywords":{}}],["api/storage/download/$bucket_file_uri?bucket=openc3_logs_bucket&scope=default"",{"_index":1687,"title":{},"content":{"83":{"position":[[3819,87]]}},"keywords":{}}],["api:2901"",{"_index":3371,"title":{},"content":{"364":{"position":[[740,15],[882,15]]}},"keywords":{}}],["api:2902"",{"_index":3374,"title":{},"content":{"364":{"position":[[1036,15]]}},"keywords":{}}],["api:latest",{"_index":981,"title":{},"content":{"42":{"position":[[2403,10],[2531,10]]}},"keywords":{}}],["api_whitelist",{"_index":1708,"title":{},"content":{"88":{"position":[[100,14]]}},"keywords":{}}],["apid",{"_index":249,"title":{},"content":{"7":{"position":[[259,6],[719,4],[1044,4]]}},"keywords":{}}],["apivers",{"_index":3381,"title":{},"content":{"365":{"position":[[217,11]]}},"keywords":{}}],["apk",{"_index":961,"title":{},"content":{"42":{"position":[[1706,3]]}},"keywords":{}}],["apk_url",{"_index":965,"title":{},"content":{"42":{"position":[[1806,8]]}},"keywords":{}}],["apk_url=http://dl",{"_index":971,"title":{},"content":{"42":{"position":[[1962,17]]}},"keywords":{}}],["app",{"_index":1014,"title":{},"content":{"43":{"position":[[357,3]]},"96":{"position":[[155,3]]},"265":{"position":[[108,3]]},"389":{"position":[[484,4]]},"404":{"position":[[490,3]]}},"keywords":{}}],["appclick",{"_index":3939,"title":{},"content":{"404":{"position":[[660,8]]}},"keywords":{}}],["appear",{"_index":355,"title":{},"content":{"13":{"position":[[461,7]]},"14":{"position":[[352,7]]},"33":{"position":[[109,6]]},"51":{"position":[[493,6]]},"128":{"position":[[438,6]]},"203":{"position":[[432,6]]},"237":{"position":[[110,6]]},"290":{"position":[[77,6],[176,9]]},"324":{"position":[[783,9]]},"340":{"position":[[299,7]]},"348":{"position":[[1980,7]]},"359":{"position":[[768,6]]},"452":{"position":[[489,7]]},"454":{"position":[[257,6]]},"528":{"position":[[641,8]]},"536":{"position":[[53,7]]},"603":{"position":[[46,10]]},"658":{"position":[[1315,6]]}},"keywords":{}}],["append",{"_index":1751,"title":{},"content":{"92":{"position":[[420,8]]},"128":{"position":[[599,8]]},"200":{"position":[[153,8]]},"321":{"position":[[121,6]]},"358":{"position":[[3340,6],[5534,6]]},"373":{"position":[[119,6]]},"659":{"position":[[1213,8]]}},"keywords":{}}],["append_array_item",{"_index":2277,"title":{"284":{"position":[[0,18]]}},"content":{"214":{"position":[[2201,17]]},"218":{"position":[[1979,17]]},"284":{"position":[[734,17]]}},"keywords":{}}],["append_array_paramet",{"_index":2259,"title":{"234":{"position":[[0,23]]}},"content":{"214":{"position":[[985,22]]},"218":{"position":[[1187,22]]},"234":{"position":[[732,22]]}},"keywords":{}}],["append_id_item",{"_index":266,"title":{"282":{"position":[[0,15]]}},"content":{"7":{"position":[[679,14],[884,14]]},"214":{"position":[[1747,14]]},"215":{"position":[[804,14]]},"218":{"position":[[1525,14]]},"220":{"position":[[1991,14]]},"272":{"position":[[147,15]]},"282":{"position":[[826,14]]},"304":{"position":[[1013,14]]},"305":{"position":[[1230,14]]},"358":{"position":[[4844,14]]},"379":{"position":[[2835,14]]}},"keywords":{}}],["append_id_paramet",{"_index":2243,"title":{"232":{"position":[[0,20]]}},"content":{"214":{"position":[[522,19]]},"215":{"position":[[368,19]]},"218":{"position":[[724,19]]},"220":{"position":[[750,19]]},"232":{"position":[[1929,19]]},"358":{"position":[[2855,19],[3518,19]]},"359":{"position":[[1453,19]]},"379":{"position":[[407,19],[1251,19],[1783,19],[2283,19]]}},"keywords":{}}],["append_item",{"_index":211,"title":{"280":{"position":[[0,12]]}},"content":{"6":{"position":[[361,11],[660,11],[818,11],[873,11],[928,11],[983,11],[1038,11]]},"7":{"position":[[275,11],[960,11]]},"64":{"position":[[1023,11],[1135,11]]},"109":{"position":[[2594,11]]},"213":{"position":[[1021,11],[1087,11],[1147,11]]},"214":{"position":[[1814,11],[1967,11],[2064,11],[2131,11]]},"215":{"position":[[871,11]]},"216":{"position":[[500,11],[727,11],[796,11],[867,11]]},"217":{"position":[[2621,11],[2848,11],[2917,11],[2988,11]]},"218":{"position":[[1592,11],[1745,11],[1842,11],[1909,11]]},"219":{"position":[[1575,11],[1653,11]]},"220":{"position":[[2083,11],[2267,11],[2383,11],[2480,11]]},"274":{"position":[[570,12]]},"279":{"position":[[2574,11],[2705,11],[7506,11],[7673,11]]},"280":{"position":[[855,11]]},"304":{"position":[[1063,11],[1145,11],[1216,11]]},"305":{"position":[[1280,11],[1423,11],[1494,11]]},"358":{"position":[[4894,11],[4939,11],[5010,11]]},"379":{"position":[[2930,11],[3020,11],[3110,11],[3169,11],[3264,11],[3325,11],[3387,11],[3462,11]]}},"keywords":{}}],["append_paramet",{"_index":723,"title":{"37":{"position":[[0,17]]},"230":{"position":[[0,17]]}},"content":{"36":{"position":[[3503,16],[3595,16],[9202,16],[9391,16]]},"40":{"position":[[169,16],[279,16],[396,16],[505,16],[620,16],[768,16],[858,16],[919,16],[1063,16],[1198,16],[1336,16],[1419,16]]},"109":{"position":[[2268,16]]},"214":{"position":[[598,16],[692,16],[805,16],[890,16]]},"215":{"position":[[444,16]]},"218":{"position":[[800,16],[894,16],[1007,16],[1092,16]]},"219":{"position":[[931,16],[1019,16]]},"220":{"position":[[851,16],[976,16],[1108,16],[1223,16]]},"229":{"position":[[3503,16],[3595,16],[9202,16],[9391,16]]},"230":{"position":[[1732,16],[1820,16],[1863,16]]},"253":{"position":[[2408,16]]},"358":{"position":[[2914,16],[2975,16],[3061,16],[3766,16],[3930,16],[4367,16]]},"359":{"position":[[1512,16],[1575,16],[1661,16]]},"379":{"position":[[521,16],[626,16],[713,16],[763,16],[866,16],[1377,16],[1486,16],[1593,16],[1643,16],[1909,16],[2018,16],[2098,16],[2148,16],[2409,16],[2518,16],[2598,16],[2648,16]]}},"keywords":{}}],["applewebkit/537.36",{"_index":1613,"title":{},"content":{"83":{"position":[[1157,18]]}},"keywords":{}}],["appli",{"_index":698,"title":{"434":{"position":[[37,5]]}},"content":{"36":{"position":[[1864,5],[3972,7],[4354,7],[6202,7],[6833,7],[7057,7],[7501,5],[7588,5],[7688,5],[7897,7],[10320,7]]},"50":{"position":[[948,5],[1001,7]]},"53":{"position":[[647,7]]},"54":{"position":[[1045,7]]},"55":{"position":[[1002,5],[1826,7],[3377,5]]},"56":{"position":[[951,7]]},"58":{"position":[[155,7]]},"59":{"position":[[260,5]]},"60":{"position":[[454,7]]},"61":{"position":[[2123,7]]},"138":{"position":[[770,7]]},"139":{"position":[[244,7],[415,5]]},"144":{"position":[[82,7]]},"173":{"position":[[38,5]]},"175":{"position":[[146,5]]},"182":{"position":[[83,7]]},"229":{"position":[[1864,5],[3972,7],[4354,7],[6202,7],[6833,7],[7057,7],[7501,5],[7588,5],[7688,5],[7897,7],[10320,7]]},"279":{"position":[[1859,5],[2259,7],[2428,5],[2934,7],[3303,7],[4678,7],[5367,7],[5658,7],[6101,5],[6187,5],[6286,5],[6490,7]]},"389":{"position":[[276,8]]},"393":{"position":[[813,8]]},"404":{"position":[[1562,5],[1760,5]]},"431":{"position":[[269,5],[301,5]]},"434":{"position":[[20,7]]},"472":{"position":[[887,5]]},"539":{"position":[[135,7]]},"580":{"position":[[1,7],[167,7]]},"581":{"position":[[1,7],[605,7]]},"582":{"position":[[1,7],[115,7],[315,7],[410,7]]},"590":{"position":[[1,5]]},"591":{"position":[[1,7],[587,5]]},"592":{"position":[[413,7]]},"609":{"position":[[313,7]]},"610":{"position":[[313,7]]},"611":{"position":[[564,5]]},"612":{"position":[[928,5],[956,7]]},"619":{"position":[[865,5],[888,7]]},"626":{"position":[[453,7],[664,5],[693,7],[1180,7]]},"627":{"position":[[487,7],[717,5],[746,7],[1233,7]]},"628":{"position":[[471,7],[684,5],[718,7],[1205,7]]},"632":{"position":[[333,5],[385,5]]},"649":{"position":[[631,5],[662,7]]},"650":{"position":[[1187,5],[1223,7]]},"652":{"position":[[1095,5],[1130,7]]},"759":{"position":[[703,5],[737,7]]},"769":{"position":[[707,5],[741,7]]},"770":{"position":[[217,7]]}},"keywords":{}}],["applic",{"_index":4,"title":{"43":{"position":[[19,12]]}},"content":{"1":{"position":[[22,12]]},"7":{"position":[[742,11],[931,11]]},"43":{"position":[[84,12],[174,11],[614,11],[838,11],[1117,11]]},"51":{"position":[[223,12]]},"122":{"position":[[28,12]]},"138":{"position":[[312,12]]},"192":{"position":[[94,12]]},"253":{"position":[[447,11],[1325,11],[2095,11]]},"258":{"position":[[116,11]]},"259":{"position":[[85,13]]},"261":{"position":[[150,13],[201,11]]},"264":{"position":[[122,12],[262,11],[314,12]]},"269":{"position":[[88,11]]},"299":{"position":[[434,11]]},"307":{"position":[[446,12],[816,12],[1502,11],[1543,12]]},"332":{"position":[[819,13]]},"342":{"position":[[765,12],[980,12],[1262,12]]},"365":{"position":[[85,12]]},"382":{"position":[[129,12],[277,11],[422,11]]},"389":{"position":[[860,12]]},"470":{"position":[[20,11]]},"509":{"position":[[34,11],[219,11]]},"511":{"position":[[283,12]]},"517":{"position":[[84,12]]},"519":{"position":[[33,11]]},"658":{"position":[[30,11]]},"786":{"position":[[137,12]]}},"keywords":{}}],["application'",{"_index":2529,"title":{},"content":{"259":{"position":[[151,13]]}},"keywords":{}}],["application/json",{"_index":1477,"title":{},"content":{"81":{"position":[[194,16],[648,16]]},"82":{"position":[[763,16],[4737,16],[6389,16]]},"83":{"position":[[820,17],[2323,17],[2453,17]]}},"keywords":{}}],["application/x",{"_index":1522,"title":{},"content":{"82":{"position":[[443,13]]}},"keywords":{}}],["apply"",{"_index":2402,"title":{},"content":{"228":{"position":[[2196,11]]},"230":{"position":[[1933,11]]},"304":{"position":[[1262,11]]},"305":{"position":[[1540,11]]},"358":{"position":[[3131,11],[5056,11]]},"359":{"position":[[1731,11]]}},"keywords":{}}],["appreci",{"_index":3812,"title":{},"content":{"392":{"position":[[662,10]]}},"keywords":{}}],["appropri",{"_index":3957,"title":{"545":{"position":[[13,14]]}},"content":{"404":{"position":[[1217,13]]},"424":{"position":[[1613,11],[1789,11],[1955,11]]},"568":{"position":[[863,11]]},"664":{"position":[[104,11]]},"677":{"position":[[1107,11]]},"678":{"position":[[1329,11]]},"679":{"position":[[1350,11]]},"680":{"position":[[1383,11]]},"681":{"position":[[1183,11]]},"682":{"position":[[1400,11]]},"683":{"position":[[1421,11]]},"684":{"position":[[1454,11]]}},"keywords":{}}],["approv",{"_index":2432,"title":{},"content":{"250":{"position":[[66,8]]},"513":{"position":[[681,7]]}},"keywords":{}}],["approxim",{"_index":3523,"title":{},"content":{"369":{"position":[[3778,12]]},"404":{"position":[[1801,13]]}},"keywords":{}}],["apt",{"_index":3579,"title":{},"content":{"376":{"position":[[233,3],[261,3],[293,3]]},"404":{"position":[[2215,3],[2231,3],[2248,3]]}},"keywords":{}}],["arbitrari",{"_index":4133,"title":{},"content":{"452":{"position":[[31,9]]},"559":{"position":[[128,9]]},"561":{"position":[[161,9]]},"569":{"position":[[626,9],[1153,9]]},"668":{"position":[[88,9]]}},"keywords":{}}],["architectur",{"_index":28,"title":{"2":{"position":[[7,13]]},"343":{"position":[[8,12]]}},"content":{"343":{"position":[[42,13],[79,13]]},"368":{"position":[[589,14]]},"383":{"position":[[19,12]]},"387":{"position":[[665,12]]},"391":{"position":[[563,13]]},"673":{"position":[[397,12]]}},"keywords":{}}],["archiv",{"_index":4025,"title":{},"content":{"424":{"position":[[677,9],[1470,9]]}},"keywords":{}}],["arduino",{"_index":23,"title":{},"content":{"1":{"position":[[236,10]]}},"keywords":{}}],["area",{"_index":3669,"title":{},"content":{"380":{"position":[[73,4]]},"427":{"position":[[334,5]]},"431":{"position":[[74,5]]},"599":{"position":[[51,4]]},"600":{"position":[[18,4]]},"658":{"position":[[900,5],[1330,5]]}},"keywords":{}}],["arg",{"_index":1040,"title":{},"content":{"44":{"position":[[453,3]]},"376":{"position":[[30,3],[65,3],[116,3],[163,3]]}},"keywords":{}}],["argument",{"_index":1711,"title":{},"content":{"88":{"position":[[222,8]]},"104":{"position":[[748,9],[780,9]]},"105":{"position":[[635,9],[667,9]]},"110":{"position":[[931,9],[963,9]]},"111":{"position":[[827,9],[859,9]]},"145":{"position":[[164,9]]},"185":{"position":[[148,9]]},"217":{"position":[[1422,8]]},"242":{"position":[[306,8],[326,8]]},"251":{"position":[[468,8],[488,8]]},"333":{"position":[[928,10],[951,9],[1007,9]]},"378":{"position":[[1215,9]]},"544":{"position":[[1313,10]]},"685":{"position":[[342,9]]}},"keywords":{}}],["ari",{"_index":4679,"title":{},"content":{"609":{"position":[[593,3]]}},"keywords":{}}],["aris",{"_index":3787,"title":{},"content":{"390":{"position":[[1064,7]]}},"keywords":{}}],["arm",{"_index":3923,"title":{},"content":{"404":{"position":[[43,3]]}},"keywords":{}}],["around",{"_index":291,"title":{},"content":{"8":{"position":[[388,6]]},"506":{"position":[[26,6],[121,6]]},"524":{"position":[[25,6],[119,6]]},"549":{"position":[[375,6]]},"551":{"position":[[237,7]]},"677":{"position":[[1377,6]]}},"keywords":{}}],["array",{"_index":1709,"title":{"609":{"position":[[0,6]]}},"content":{"88":{"position":[[147,5]]},"218":{"position":[[190,7]]},"233":{"position":[[70,5],[423,5],[472,5],[543,5],[580,6],[639,5],[965,5]]},"234":{"position":[[70,5],[206,5],[255,5],[326,5],[363,6],[422,5],[755,5]]},"283":{"position":[[69,5],[416,5],[465,5],[536,5],[573,6],[632,5],[953,5]]},"284":{"position":[[69,5],[208,5],[257,5],[328,5],[365,6],[424,5],[752,5]]},"321":{"position":[[1372,5]]},"369":{"position":[[444,6]]},"402":{"position":[[4945,6],[4978,5],[5111,5],[5287,5]]},"540":{"position":[[4092,5],[4551,5]]},"609":{"position":[[10,5],[329,5],[386,5],[568,5],[633,5]]},"610":{"position":[[329,5]]},"673":{"position":[[1592,5],[1988,5]]},"687":{"position":[[12,5],[91,5],[103,5]]},"688":{"position":[[12,5]]},"703":{"position":[[120,5],[129,6]]},"704":{"position":[[382,5]]},"705":{"position":[[12,5]]},"706":{"position":[[12,5]]},"714":{"position":[[12,5]]},"716":{"position":[[229,5]]},"719":{"position":[[31,5]]},"742":{"position":[[12,5]]},"743":{"position":[[214,5],[223,6]]},"746":{"position":[[51,6]]},"748":{"position":[[64,5],[73,6]]},"751":{"position":[[54,6]]},"756":{"position":[[66,5],[75,6]]},"763":{"position":[[51,6]]},"765":{"position":[[63,5],[72,6]]}},"keywords":{}}],["array_item",{"_index":2666,"title":{"283":{"position":[[0,11]]}},"content":{"283":{"position":[[942,10]]}},"keywords":{}}],["array_paramet",{"_index":2408,"title":{"233":{"position":[[0,16]]}},"content":{"233":{"position":[[949,15]]}},"keywords":{}}],["arriv",{"_index":4261,"title":{},"content":{"522":{"position":[[1084,7],[1244,7]]},"716":{"position":[[72,7]]}},"keywords":{}}],["arrow",{"_index":4496,"title":{},"content":{"554":{"position":[[1160,7]]}},"keywords":{}}],["art",{"_index":4015,"title":{},"content":{"424":{"position":[[97,3]]}},"keywords":{}}],["articl",{"_index":4019,"title":{},"content":{"424":{"position":[[365,7]]}},"keywords":{}}],["ary2",{"_index":4681,"title":{},"content":{"609":{"position":[[658,4]]}},"keywords":{}}],["arycmd",{"_index":5131,"title":{},"content":{"688":{"position":[[287,9],[413,9]]}},"keywords":{}}],["ascii",{"_index":1093,"title":{"221":{"position":[[5,5]]}},"content":{"48":{"position":[[1528,5],[2016,5],[3846,5],[4287,5],[5173,5]]},"91":{"position":[[1237,5]]},"225":{"position":[[684,5]]},"271":{"position":[[711,5],[1323,5],[1357,5],[1574,6]]},"574":{"position":[[364,5]]}},"keywords":{}}],["asciicmd",{"_index":5132,"title":{},"content":{"688":{"position":[[297,11],[423,11]]}},"keywords":{}}],["ask",{"_index":718,"title":{"664":{"position":[[0,4]]}},"content":{"36":{"position":[[3214,3]]},"229":{"position":[[3214,3]]},"241":{"position":[[90,6]]},"326":{"position":[[840,4]]},"425":{"position":[[114,5]]},"430":{"position":[[305,3]]},"431":{"position":[[579,3]]},"432":{"position":[[230,5],[439,3]]},"452":{"position":[[93,3]]},"559":{"position":[[151,5],[263,6]]},"560":{"position":[[305,6]]}},"keywords":{}}],["ask("<question>"",{"_index":4961,"title":{},"content":{"664":{"position":[[242,33]]}},"keywords":{}}],["ask("ent",{"_index":4507,"title":{},"content":{"559":{"position":[[644,15],[942,15]]},"664":{"position":[[676,15],[718,15],[774,15],[820,15],[897,15],[939,15],[995,15],[1041,15]]}},"keywords":{}}],["ask("pleas",{"_index":4516,"title":{},"content":{"560":{"position":[[614,16],[811,16]]}},"keywords":{}}],["ask_str",{"_index":4501,"title":{"665":{"position":[[0,11]]}},"content":{"559":{"position":[[161,14]]}},"keywords":{}}],["ask_string("<question>"",{"_index":4968,"title":{},"content":{"665":{"position":[[201,40]]}},"keywords":{}}],["ask_string("do",{"_index":4503,"title":{},"content":{"559":{"position":[[451,19],[737,19]]}},"keywords":{}}],["ask_string("ent",{"_index":4969,"title":{},"content":{"665":{"position":[[643,22],[691,22],[755,22],[822,22],[907,22],[955,22],[1019,22],[1086,22]]}},"keywords":{}}],["aspect",{"_index":1226,"title":{},"content":{"55":{"position":[[2553,6]]},"343":{"position":[[63,7]]},"387":{"position":[[642,6]]},"551":{"position":[[133,6]]}},"keywords":{}}],["assign",{"_index":2003,"title":{},"content":{"126":{"position":[[580,8]]},"141":{"position":[[110,7]]},"183":{"position":[[445,9]]},"637":{"position":[[97,9]]}},"keywords":{}}],["assist",{"_index":4082,"title":{},"content":{"430":{"position":[[517,6]]}},"keywords":{}}],["associ",{"_index":163,"title":{},"content":{"5":{"position":[[633,10]]},"36":{"position":[[1717,10]]},"48":{"position":[[1679,10]]},"69":{"position":[[738,10]]},"121":{"position":[[142,10],[186,10]]},"149":{"position":[[186,10]]},"183":{"position":[[1,9],[41,9],[258,9],[344,9]]},"184":{"position":[[1,9],[45,9],[291,9]]},"186":{"position":[[365,9]]},"198":{"position":[[24,10],[165,9]]},"226":{"position":[[103,10]]},"229":{"position":[[1717,10]]},"252":{"position":[[358,10]]},"276":{"position":[[114,10]]},"279":{"position":[[1712,10]]},"296":{"position":[[363,10]]},"302":{"position":[[1898,10]]},"314":{"position":[[168,10],[289,10]]},"349":{"position":[[926,10]]},"399":{"position":[[28,10]]},"430":{"position":[[184,10]]},"533":{"position":[[955,10]]},"551":{"position":[[96,10]]},"615":{"position":[[287,10]]},"652":{"position":[[117,10]]},"677":{"position":[[817,10]]},"678":{"position":[[1039,10]]},"679":{"position":[[1060,10]]},"680":{"position":[[1093,10]]},"681":{"position":[[893,10]]},"682":{"position":[[1110,10]]},"683":{"position":[[1131,10]]},"684":{"position":[[1164,10]]},"752":{"position":[[21,10]]},"753":{"position":[[26,10]]}},"keywords":{}}],["assum",{"_index":1401,"title":{},"content":{"67":{"position":[[4159,7]]},"358":{"position":[[144,7]]},"382":{"position":[[195,7]]},"383":{"position":[[717,7]]},"550":{"position":[[171,9]]},"562":{"position":[[214,6]]},"576":{"position":[[103,7]]},"669":{"position":[[297,6]]},"670":{"position":[[218,6]]},"671":{"position":[[194,6]]}},"keywords":{}}],["astro",{"_index":2174,"title":{"265":{"position":[[0,5]]}},"content":{"197":{"position":[[246,6]]},"265":{"position":[[26,5],[208,5],[290,5],[332,5]]},"416":{"position":[[130,5]]},"632":{"position":[[140,5],[184,7]]}},"keywords":{}}],["astrouxd",{"_index":2559,"title":{},"content":{"265":{"position":[[5,10]]}},"keywords":{}}],["atla",{"_index":1803,"title":{},"content":{"96":{"position":[[571,7]]}},"keywords":{}}],["attach",{"_index":3000,"title":{},"content":{"326":{"position":[[898,8]]}},"keywords":{}}],["attempt",{"_index":1380,"title":{},"content":{"67":{"position":[[2048,9]]},"91":{"position":[[1305,8]]},"135":{"position":[[280,9]]},"238":{"position":[[107,8]]},"344":{"position":[[559,10]]},"348":{"position":[[1267,7]]}},"keywords":{}}],["attitud",{"_index":5264,"title":{},"content":{"705":{"position":[[450,8]]}},"keywords":{}}],["attr_accessor",{"_index":4461,"title":{},"content":{"551":{"position":[[774,13]]}},"keywords":{}}],["attribut",{"_index":3732,"title":{"399":{"position":[[23,11]]}},"content":{"387":{"position":[[547,11]]},"399":{"position":[[39,10]]}},"keywords":{}}],["aubruze6r0pji6pe1hblpmupbcx3uuiwxu2",{"_index":1566,"title":{},"content":{"82":{"position":[[4353,35]]}},"keywords":{}}],["audit",{"_index":4489,"title":{"553":{"position":[[14,9]]},"557":{"position":[[0,8]]}},"content":{"557":{"position":[[46,5]]}},"keywords":{}}],["august",{"_index":4123,"title":{},"content":{"437":{"position":[[199,6]]}},"keywords":{}}],["auth",{"_index":1942,"title":{},"content":{"112":{"position":[[820,4]]},"404":{"position":[[1328,5]]}},"keywords":{}}],["auth_no_priv",{"_index":1935,"title":{},"content":{"112":{"position":[[692,12]]}},"keywords":{}}],["auth_password",{"_index":1941,"title":{},"content":{"112":{"position":[[806,13]]}},"keywords":{}}],["auth_priv",{"_index":1934,"title":{},"content":{"112":{"position":[[678,10]]}},"keywords":{}}],["auth_protocol",{"_index":1936,"title":{},"content":{"112":{"position":[[709,13]]}},"keywords":{}}],["authent",{"_index":1690,"title":{},"content":{"85":{"position":[[67,12],[212,12]]},"109":{"position":[[253,15],[878,14],[936,14],[1052,14]]},"110":{"position":[[273,15],[1212,14],[1270,14],[1386,14]]},"258":{"position":[[1769,14]]}},"keywords":{}}],["author",{"_index":551,"title":{"85":{"position":[[0,14]]}},"content":{"24":{"position":[[860,10],[890,9]]},"83":{"position":[[882,15],[2344,15]]},"85":{"position":[[10,13],[234,14]]},"95":{"position":[[131,9]]},"109":{"position":[[1206,9]]},"110":{"position":[[1540,9]]},"301":{"position":[[762,8]]},"390":{"position":[[925,7]]},"427":{"position":[[128,10]]},"513":{"position":[[93,9],[140,9],[222,9],[287,9],[379,10],[547,10]]},"535":{"position":[[1096,6],[1190,6]]}},"keywords":{}}],["auto",{"_index":1437,"title":{},"content":{"73":{"position":[[795,4],[1160,4]]},"320":{"position":[[1604,4],[1609,4]]},"505":{"position":[[160,4]]},"522":{"position":[[1360,5]]},"560":{"position":[[730,4],[942,4]]},"577":{"position":[[248,4],[341,4],[492,4],[497,4]]},"654":{"position":[[43,4],[48,4]]},"786":{"position":[[491,4],[496,4],[763,4],[768,4]]},"787":{"position":[[951,4],[956,4],[1234,4],[1239,4]]}},"keywords":{}}],["autom",{"_index":2534,"title":{},"content":{"261":{"position":[[86,10]]},"418":{"position":[[26,9]]},"538":{"position":[[124,8]]},"679":{"position":[[148,8]]},"680":{"position":[[174,8]]},"683":{"position":[[171,8]]},"684":{"position":[[197,8]]}},"keywords":{}}],["automat",{"_index":362,"title":{},"content":{"15":{"position":[[207,9]]},"16":{"position":[[211,9]]},"55":{"position":[[2489,13]]},"73":{"position":[[570,13]]},"74":{"position":[[596,13]]},"75":{"position":[[612,13]]},"76":{"position":[[609,13]]},"77":{"position":[[786,13]]},"133":{"position":[[17,13]]},"222":{"position":[[75,13]]},"275":{"position":[[8,13]]},"324":{"position":[[769,13]]},"326":{"position":[[1362,13]]},"363":{"position":[[159,13]]},"426":{"position":[[136,13]]},"467":{"position":[[102,13]]},"503":{"position":[[53,13]]},"522":{"position":[[1220,13]]},"523":{"position":[[53,13],[452,13]]},"532":{"position":[[41,13]]},"533":{"position":[[173,13]]},"546":{"position":[[1319,13]]},"555":{"position":[[104,13]]},"561":{"position":[[50,13]]},"577":{"position":[[277,13],[370,13]]},"594":{"position":[[149,13]]},"637":{"position":[[523,13]]},"664":{"position":[[59,13]]},"669":{"position":[[561,13]]},"677":{"position":[[1076,13]]},"678":{"position":[[1298,13]]},"679":{"position":[[1319,13]]},"680":{"position":[[1352,13]]},"681":{"position":[[1152,13]]},"682":{"position":[[1369,13]]},"683":{"position":[[1390,13]]},"684":{"position":[[1423,13]]},"798":{"position":[[62,14]]}},"keywords":{}}],["autonom",{"_index":2785,"title":{"417":{"position":[[0,9]]}},"content":{"303":{"position":[[1021,12]]},"344":{"position":[[546,12]]},"418":{"position":[[1,9]]},"419":{"position":[[1,9]]},"421":{"position":[[524,9]]},"513":{"position":[[509,9]]}},"keywords":{}}],["avail",{"_index":593,"title":{},"content":{"27":{"position":[[1030,9]]},"67":{"position":[[504,9],[4591,9]]},"115":{"position":[[633,9]]},"268":{"position":[[223,9]]},"309":{"position":[[136,10],[824,9]]},"340":{"position":[[437,9]]},"358":{"position":[[2380,10],[2434,9]]},"379":{"position":[[3966,9]]},"387":{"position":[[864,9]]},"429":{"position":[[457,9]]},"452":{"position":[[140,9]]},"503":{"position":[[79,9]]},"514":{"position":[[42,9]]},"515":{"position":[[44,9]]},"523":{"position":[[79,9],[146,9]]},"535":{"position":[[1521,9]]},"582":{"position":[[147,9]]},"658":{"position":[[973,9]]},"687":{"position":[[43,9]]},"784":{"position":[[39,9]]}},"keywords":{}}],["averag",{"_index":3391,"title":{},"content":{"367":{"position":[[365,7]]}},"keywords":{}}],["avg",{"_index":3898,"title":{},"content":{"402":{"position":[[3333,4]]},"626":{"position":[[510,4],[1237,4]]},"627":{"position":[[544,4],[1290,4]]},"628":{"position":[[528,4],[1262,4]]}},"keywords":{}}],["avoid",{"_index":114,"title":{},"content":{"3":{"position":[[483,5]]},"7":{"position":[[506,5]]},"27":{"position":[[625,5]]},"302":{"position":[[1635,5]]},"358":{"position":[[7191,5]]},"531":{"position":[[564,5]]},"545":{"position":[[110,5]]},"579":{"position":[[293,5]]}},"keywords":{}}],["aw",{"_index":2574,"title":{},"content":{"268":{"position":[[278,3]]},"439":{"position":[[293,3]]}},"keywords":{}}],["awar",{"_index":111,"title":{},"content":{"3":{"position":[[444,5]]},"422":{"position":[[847,5]]},"435":{"position":[[98,5]]},"470":{"position":[[53,9]]}},"keywords":{}}],["away",{"_index":1243,"title":{},"content":{"56":{"position":[[430,5]]},"386":{"position":[[257,5]]}},"keywords":{}}],["awesom",{"_index":2171,"title":{},"content":{"197":{"position":[[181,8]]}},"keywords":{}}],["azur",{"_index":2576,"title":{},"content":{"268":{"position":[[303,5]]},"369":{"position":[[47,5]]}},"keywords":{}}],["b",{"_index":1279,"title":{},"content":{"59":{"position":[[338,1]]},"299":{"position":[[188,1]]},"321":{"position":[[1215,1],[1446,2],[1496,2]]},"386":{"position":[[229,1]]},"422":{"position":[[486,1]]},"424":{"position":[[513,2]]},"432":{"position":[[1295,3]]},"708":{"position":[[676,1]]}},"keywords":{}}],["b"",{"_index":2979,"title":{},"content":{"321":{"position":[[1245,7]]}},"keywords":{}}],["b"\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":5010,"title":{},"content":{"670":{"position":[[1112,46]]}},"keywords":{}}],["b/compose.yaml",{"_index":510,"title":{},"content":{"23":{"position":[[83,14]]}},"keywords":{}}],["b/g",{"_index":4209,"title":{},"content":{"497":{"position":[[371,3]]}},"keywords":{}}],["b/openc3",{"_index":472,"title":{},"content":{"21":{"position":[[88,8]]},"22":{"position":[[113,8]]}},"keywords":{}}],["b3ee86d3620a",{"_index":951,"title":{},"content":{"42":{"position":[[1512,12]]}},"keywords":{}}],["b411xqprpt",{"_index":1558,"title":{},"content":{"82":{"position":[[2440,10],[5905,10]]}},"keywords":{}}],["b4ynq0dna1tv1kmnxrl8w1ultqyvzjdsn",{"_index":1562,"title":{},"content":{"82":{"position":[[4235,33]]}},"keywords":{}}],["b5b0b95e6939",{"_index":1509,"title":{},"content":{"81":{"position":[[773,12]]}},"keywords":{}}],["b:8",{"_index":2976,"title":{},"content":{"321":{"position":[[1141,4]]}},"keywords":{}}],["back",{"_index":1830,"title":{},"content":{"100":{"position":[[1092,4]]},"267":{"position":[[185,4]]},"324":{"position":[[726,4]]},"326":{"position":[[340,4],[438,4]]},"358":{"position":[[573,4],[3395,4],[3403,4]]},"359":{"position":[[488,4],[654,4],[2037,4],[2469,4]]},"426":{"position":[[906,4]]},"473":{"position":[[1385,4],[1582,4]]},"522":{"position":[[839,4]]},"673":{"position":[[329,4]]}},"keywords":{}}],["backcolor",{"_index":4617,"title":{"587":{"position":[[0,10]]}},"content":{"584":{"position":[[246,9],[320,9]]},"585":{"position":[[242,9],[298,9],[372,9]]},"586":{"position":[[244,9],[300,9],[375,9]]},"587":{"position":[[5,9],[412,9],[467,9]]},"654":{"position":[[665,9],[1169,9]]}},"keywords":{}}],["backend",{"_index":1035,"title":{"44":{"position":[[10,7]]},"266":{"position":[[0,8]]}},"content":{"44":{"position":[[73,7]]},"123":{"position":[[38,7]]},"257":{"position":[[519,8]]},"269":{"position":[[34,8]]},"324":{"position":[[884,8]]},"439":{"position":[[49,7]]},"511":{"position":[[200,7]]}},"keywords":{}}],["background",{"_index":2136,"title":{},"content":{"178":{"position":[[113,10]]},"209":{"position":[[219,11]]},"303":{"position":[[353,10],[377,10],[564,10],[949,11],[1217,10],[1228,10]]},"447":{"position":[[208,10]]},"497":{"position":[[444,11]]},"530":{"position":[[596,11]]},"587":{"position":[[32,10]]},"637":{"position":[[1929,10],[2044,12]]}},"keywords":{}}],["background.rb",{"_index":2788,"title":{},"content":{"303":{"position":[[1261,13]]}},"keywords":{}}],["backslash",{"_index":303,"title":{},"content":{"9":{"position":[[477,9]]}},"keywords":{}}],["backtrac",{"_index":4937,"title":{},"content":{"662":{"position":[[3936,9]]}},"keywords":{}}],["backward",{"_index":817,"title":{},"content":{"36":{"position":[[8261,9]]},"229":{"position":[[8261,9]]},"279":{"position":[[6920,9]]},"661":{"position":[[113,9]]},"662":{"position":[[3379,9],[3600,9]]}},"keywords":{}}],["bad",{"_index":1337,"title":{},"content":{"65":{"position":[[307,3]]},"545":{"position":[[341,3],[532,3]]},"612":{"position":[[893,3]]},"678":{"position":[[150,3]]},"682":{"position":[[173,3]]}},"keywords":{}}],["bae",{"_index":3818,"title":{},"content":{"393":{"position":[[177,3]]}},"keywords":{}}],["balanc",{"_index":73,"title":{},"content":{"2":{"position":[[709,9]]},"258":{"position":[[1483,8]]},"343":{"position":[[800,9]]}},"keywords":{}}],["ball",{"_index":3769,"title":{},"content":{"389":{"position":[[2154,4]]},"393":{"position":[[12,4],[191,4],[309,4]]}},"keywords":{}}],["balloon",{"_index":4241,"title":{},"content":{"506":{"position":[[356,7]]}},"keywords":{}}],["banner",{"_index":3991,"title":{},"content":{"416":{"position":[[198,7]]}},"keywords":{}}],["bar",{"_index":2182,"title":{},"content":{"200":{"position":[[48,3]]},"356":{"position":[[895,3],[920,3]]},"413":{"position":[[90,3],[208,3]]},"416":{"position":[[244,4]]},"473":{"position":[[190,3]]},"505":{"position":[[39,3]]},"506":{"position":[[76,3],[331,4],[557,3]]},"514":{"position":[[189,3]]},"515":{"position":[[201,3]]},"522":{"position":[[632,3]]},"524":{"position":[[75,3]]},"613":{"position":[[276,4],[379,3]]},"618":{"position":[[250,4],[303,3],[389,4],[442,3],[724,3],[777,3]]},"620":{"position":[[349,3],[402,3]]},"621":{"position":[[347,3],[400,3]]},"625":{"position":[[219,4],[272,3],[358,4],[411,3],[693,3],[746,3]]},"630":{"position":[[21,3],[284,4],[387,3]]},"631":{"position":[[25,3],[229,4],[282,3],[368,4],[421,3],[609,3],[662,3]]},"633":{"position":[[454,4],[461,3],[471,3],[555,4],[600,3],[643,4],[676,4]]},"658":{"position":[[217,3],[344,3]]}},"keywords":{}}],["base",{"_index":336,"title":{},"content":{"12":{"position":[[297,4]]},"42":{"position":[[1259,4]]},"48":{"position":[[1154,5]]},"61":{"position":[[281,5]]},"67":{"position":[[324,4],[831,4],[1621,4]]},"69":{"position":[[115,4],[137,4],[396,4]]},"70":{"position":[[243,4],[292,4],[371,4]]},"71":{"position":[[106,4],[171,4],[250,4]]},"72":{"position":[[112,4],[180,4],[262,4]]},"73":{"position":[[599,4],[929,4],[1349,4],[1607,4]]},"74":{"position":[[780,4],[857,4],[943,4]]},"75":{"position":[[641,4],[719,4],[806,4]]},"76":{"position":[[638,4],[710,4],[812,4]]},"77":{"position":[[922,4],[1020,4],[1148,4]]},"78":{"position":[[183,4],[322,4],[470,4]]},"83":{"position":[[469,5]]},"109":{"position":[[1046,5]]},"110":{"position":[[1380,5]]},"111":{"position":[[131,5]]},"122":{"position":[[22,5]]},"150":{"position":[[209,5]]},"192":{"position":[[88,5]]},"199":{"position":[[128,4]]},"214":{"position":[[103,5]]},"217":{"position":[[1826,5]]},"219":{"position":[[52,5]]},"257":{"position":[[113,4]]},"258":{"position":[[503,4]]},"263":{"position":[[263,5]]},"274":{"position":[[151,5]]},"275":{"position":[[1119,5],[1325,5],[1480,5]]},"305":{"position":[[825,5]]},"307":{"position":[[1019,5]]},"330":{"position":[[1604,5]]},"332":{"position":[[157,4]]},"344":{"position":[[205,5]]},"349":{"position":[[2109,5]]},"350":{"position":[[923,5]]},"361":{"position":[[33,5]]},"367":{"position":[[286,4],[599,4],[621,4]]},"369":{"position":[[1997,4]]},"379":{"position":[[3535,4]]},"392":{"position":[[192,5]]},"402":{"position":[[699,5],[5220,5]]},"404":{"position":[[47,5]]},"418":{"position":[[70,5]]},"419":{"position":[[287,5]]},"449":{"position":[[161,5]]},"452":{"position":[[269,5]]},"455":{"position":[[343,5]]},"495":{"position":[[23,5]]},"499":{"position":[[633,5],[682,5]]},"504":{"position":[[160,5]]},"611":{"position":[[320,5]]},"619":{"position":[[36,5]]},"632":{"position":[[66,5]]},"633":{"position":[[63,5]]},"635":{"position":[[211,5]]},"641":{"position":[[196,6]]},"642":{"position":[[380,5]]},"650":{"position":[[142,5]]},"652":{"position":[[91,5]]},"654":{"position":[[798,5]]},"692":{"position":[[432,5]]},"722":{"position":[[602,5]]},"723":{"position":[[300,5]]},"724":{"position":[[385,5]]},"725":{"position":[[275,5]]},"744":{"position":[[23,5]]}},"keywords":{}}],["base2",{"_index":3550,"title":{},"content":{"369":{"position":[[4482,5]]}},"keywords":{}}],["base64",{"_index":1125,"title":{},"content":{"48":{"position":[[4657,7]]},"402":{"position":[[6171,6]]},"629":{"position":[[11,6],[222,7],[317,6]]}},"keywords":{}}],["bash",{"_index":917,"title":{},"content":{"42":{"position":[[547,4]]},"83":{"position":[[1838,4]]}},"keywords":{}}],["bash_profil",{"_index":2886,"title":{},"content":{"309":{"position":[[2531,13]]}},"keywords":{}}],["bashrc",{"_index":2885,"title":{},"content":{"309":{"position":[[2514,7],[2689,7]]}},"keywords":{}}],["basic",{"_index":199,"title":{"542":{"position":[[8,5]]}},"content":{"6":{"position":[[154,5]]},"115":{"position":[[1968,9]]},"307":{"position":[[783,5]]},"319":{"position":[[7,9]]},"320":{"position":[[114,5]]},"419":{"position":[[30,5]]}},"keywords":{}}],["bat",{"_index":3704,"title":{},"content":{"383":{"position":[[872,4]]}},"keywords":{}}],["batch",{"_index":919,"title":{},"content":{"42":{"position":[[599,5]]},"86":{"position":[[308,5]]},"333":{"position":[[83,5]]},"402":{"position":[[5022,8],[5100,5],[5157,5],[5186,7]]}},"keywords":{}}],["baud",{"_index":1909,"title":{},"content":{"111":{"position":[[463,4],[473,4]]},"314":{"position":[[544,4]]}},"keywords":{}}],["baud_rat",{"_index":2919,"title":{},"content":{"314":{"position":[[563,9],[1258,9]]}},"keywords":{}}],["bbad6c6b",{"_index":1505,"title":{},"content":{"81":{"position":[[749,8]]}},"keywords":{}}],["bch",{"_index":1142,"title":{},"content":{"50":{"position":[[331,3]]},"58":{"position":[[133,3],[256,3],[303,3],[352,3]]}},"keywords":{}}],["be",{"_index":258,"title":{},"content":{"7":{"position":[[512,5]]},"36":{"position":[[8120,5]]},"53":{"position":[[468,5],[718,5]]},"54":{"position":[[340,5],[1116,5]]},"55":{"position":[[1893,5]]},"56":{"position":[[1018,5]]},"60":{"position":[[521,5]]},"61":{"position":[[2190,5]]},"67":{"position":[[3978,5]]},"91":{"position":[[959,5],[1011,5],[1071,5],[1218,5]]},"92":{"position":[[750,5],[802,5],[853,5]]},"229":{"position":[[8120,5]]},"238":{"position":[[28,5],[84,5]]},"264":{"position":[[274,5]]},"279":{"position":[[6780,5]]},"359":{"position":[[709,5],[2374,5]]},"402":{"position":[[1535,5],[1605,5]]},"422":{"position":[[1506,5]]},"473":{"position":[[1107,5]]},"530":{"position":[[570,5]]},"544":{"position":[[434,5]]}},"keywords":{}}],["beaglebon",{"_index":26,"title":{},"content":{"1":{"position":[[261,11]]}},"keywords":{}}],["becom",{"_index":2176,"title":{},"content":{"198":{"position":[[66,7]]},"368":{"position":[[286,7]]},"497":{"position":[[235,7],[351,7]]},"530":{"position":[[262,7]]},"544":{"position":[[638,7]]},"545":{"position":[[174,6]]},"549":{"position":[[17,6]]}},"keywords":{}}],["befor",{"_index":750,"title":{},"content":{"36":{"position":[[4395,6],[6243,6],[6874,6],[7938,6]]},"48":{"position":[[2138,6]]},"53":{"position":[[75,6]]},"55":{"position":[[2009,6]]},"56":{"position":[[801,6]]},"58":{"position":[[249,6]]},"61":{"position":[[1973,6],[2592,6]]},"64":{"position":[[178,6]]},"65":{"position":[[1161,6]]},"67":{"position":[[2025,6],[2232,6],[4199,6]]},"74":{"position":[[82,6]]},"75":{"position":[[83,6]]},"76":{"position":[[70,6]]},"82":{"position":[[151,6],[269,6],[4500,6]]},"104":{"position":[[574,6],[643,6]]},"105":{"position":[[461,6],[530,6]]},"106":{"position":[[658,6],[743,6],[816,6]]},"107":{"position":[[438,6],[544,6],[660,6]]},"111":{"position":[[653,6],[722,6]]},"115":{"position":[[1698,6],[1857,6]]},"138":{"position":[[390,6],[524,6]]},"139":{"position":[[210,6]]},"225":{"position":[[762,6]]},"229":{"position":[[4395,6],[6243,6],[6874,6],[7938,6]]},"241":{"position":[[114,6]]},"243":{"position":[[74,6]]},"244":{"position":[[72,6]]},"271":{"position":[[789,6]]},"279":{"position":[[3352,6],[4723,6],[5416,6],[6539,6],[8663,6]]},"330":{"position":[[593,6]]},"348":{"position":[[1912,6],[1988,6]]},"349":{"position":[[533,6]]},"358":{"position":[[324,6]]},"382":{"position":[[776,6]]},"385":{"position":[[178,6]]},"422":{"position":[[1113,6],[1499,6]]},"528":{"position":[[851,6],[892,6]]},"542":{"position":[[430,6]]},"557":{"position":[[70,6]]},"559":{"position":[[240,6]]},"579":{"position":[[402,6]]},"582":{"position":[[362,6]]},"613":{"position":[[242,6]]},"630":{"position":[[246,6]]},"659":{"position":[[218,6]]},"741":{"position":[[1699,6]]},"791":{"position":[[86,6],[259,6]]},"792":{"position":[[85,6]]}},"keywords":{}}],["begin",{"_index":1259,"title":{},"content":{"57":{"position":[[839,9]]},"225":{"position":[[717,9]]},"271":{"position":[[744,9]]},"301":{"position":[[959,5]]},"321":{"position":[[1049,9]]},"402":{"position":[[837,6]]},"522":{"position":[[749,5]]},"523":{"position":[[255,6],[505,9]]},"540":{"position":[[4306,9]]},"610":{"position":[[532,9]]},"658":{"position":[[1051,5]]}},"keywords":{}}],["behalf",{"_index":4098,"title":{},"content":{"432":{"position":[[669,7]]}},"keywords":{}}],["behav",{"_index":4490,"title":{},"content":{"554":{"position":[[104,8]]}},"keywords":{}}],["behavior",{"_index":834,"title":{},"content":{"36":{"position":[[9648,8],[9859,8]]},"78":{"position":[[108,8]]},"229":{"position":[[9648,8],[9859,8]]},"556":{"position":[[813,8]]},"758":{"position":[[150,9]]},"759":{"position":[[157,9]]},"768":{"position":[[140,9]]},"769":{"position":[[154,9]]}},"keywords":{}}],["behaviour",{"_index":1831,"title":{},"content":{"101":{"position":[[22,9]]}},"keywords":{}}],["behind",{"_index":2124,"title":{},"content":{"174":{"position":[[138,7]]},"402":{"position":[[98,6]]},"429":{"position":[[280,6]]},"432":{"position":[[114,6]]},"552":{"position":[[97,6]]}},"keywords":{}}],["belief",{"_index":4103,"title":{},"content":{"432":{"position":[[1152,6]]}},"keywords":{}}],["believ",{"_index":1432,"title":{},"content":{"73":{"position":[[263,8],[410,8],[509,8]]},"74":{"position":[[294,8],[443,8],[535,8]]},"75":{"position":[[293,8],[459,8],[551,8]]},"76":{"position":[[294,8],[458,8],[548,8]]},"77":{"position":[[725,8]]},"436":{"position":[[24,7]]}},"keywords":{}}],["belong",{"_index":2686,"title":{},"content":{"297":{"position":[[449,6],[556,7]]}},"keywords":{}}],["below",{"_index":1089,"title":{},"content":{"48":{"position":[[1191,5]]},"67":{"position":[[885,5]]},"83":{"position":[[408,5],[1827,5]]},"115":{"position":[[2158,6]]},"217":{"position":[[837,5],[960,5],[1315,5]]},"340":{"position":[[521,5]]},"431":{"position":[[371,6]]},"506":{"position":[[703,5]]},"517":{"position":[[29,5]]},"618":{"position":[[282,5]]},"625":{"position":[[251,5]]},"631":{"position":[[261,5]]},"741":{"position":[[771,5],[876,5]]}},"keywords":{}}],["below"",{"_index":4677,"title":{},"content":{"607":{"position":[[209,11]]}},"keywords":{}}],["beneath",{"_index":1852,"title":{},"content":{"105":{"position":[[756,7]]},"108":{"position":[[363,7]]},"109":{"position":[[719,7]]},"110":{"position":[[1053,7]]},"111":{"position":[[948,7]]},"112":{"position":[[304,7]]},"113":{"position":[[355,7]]}},"keywords":{}}],["benefit",{"_index":2834,"title":{},"content":{"309":{"position":[[275,7]]}},"keywords":{}}],["best",{"_index":1229,"title":{"559":{"position":[[11,4]]}},"content":{"55":{"position":[[2701,4]]},"93":{"position":[[72,4]]},"265":{"position":[[166,4]]},"321":{"position":[[1503,4]]},"358":{"position":[[2510,4]]},"368":{"position":[[639,4]]},"369":{"position":[[3799,4]]},"426":{"position":[[470,4]]},"429":{"position":[[452,4]]},"436":{"position":[[118,4]]},"538":{"position":[[32,4]]},"566":{"position":[[631,4]]}},"keywords":{}}],["beta0",{"_index":5768,"title":{},"content":{"808":{"position":[[953,7]]},"809":{"position":[[556,6],[625,7]]}},"keywords":{}}],["beta0"",{"_index":5755,"title":{},"content":{"808":{"position":[[226,12]]},"809":{"position":[[367,11],[445,12]]}},"keywords":{}}],["better",{"_index":135,"title":{},"content":{"3":{"position":[[750,7]]},"336":{"position":[[108,7]]},"344":{"position":[[836,7]]},"361":{"position":[[60,6]]},"362":{"position":[[106,6]]},"379":{"position":[[3730,6]]},"386":{"position":[[737,7]]},"426":{"position":[[682,6]]},"547":{"position":[[433,6],[907,6]]},"552":{"position":[[782,6]]},"697":{"position":[[294,6]]},"698":{"position":[[203,6]]},"699":{"position":[[263,6]]},"722":{"position":[[335,6]]},"723":{"position":[[239,6]]},"724":{"position":[[336,6]]},"725":{"position":[[212,6]]},"741":{"position":[[99,6]]}},"keywords":{}}],["bettera",{"_index":3932,"title":{},"content":{"404":{"position":[[338,7]]}},"keywords":{}}],["between",{"_index":875,"title":{},"content":{"40":{"position":[[732,7]]},"51":{"position":[[378,7]]},"61":{"position":[[2667,7]]},"64":{"position":[[279,7]]},"135":{"position":[[183,7],[262,7]]},"149":{"position":[[342,7]]},"153":{"position":[[104,7]]},"156":{"position":[[111,7]]},"160":{"position":[[106,7]]},"163":{"position":[[113,7]]},"171":{"position":[[99,7]]},"225":{"position":[[1030,7]]},"258":{"position":[[1943,7]]},"271":{"position":[[1069,7]]},"354":{"position":[[611,7]]},"369":{"position":[[1925,7],[3415,7]]},"379":{"position":[[3749,7]]},"398":{"position":[[325,7]]},"536":{"position":[[61,7]]},"540":{"position":[[55,7],[3667,7]]},"559":{"position":[[684,7],[982,7]]},"577":{"position":[[440,7]]},"594":{"position":[[302,7]]},"595":{"position":[[277,7]]},"596":{"position":[[150,7]]},"597":{"position":[[235,7]]},"598":{"position":[[196,7]]},"599":{"position":[[257,7]]},"607":{"position":[[31,7]]},"612":{"position":[[557,7]]},"657":{"position":[[163,7]]},"789":{"position":[[177,7]]},"814":{"position":[[126,7]]}},"keywords":{}}],["bg",{"_index":4774,"title":{},"content":{"637":{"position":[[2029,2]]}},"keywords":{}}],["big",{"_index":175,"title":{},"content":{"5":{"position":[[880,3]]},"33":{"position":[[190,3]]},"35":{"position":[[1291,3],[1822,3]]},"37":{"position":[[1084,3],[1615,3]]},"48":{"position":[[101,3]]},"213":{"position":[[324,3]]},"226":{"position":[[350,3]]},"228":{"position":[[1320,3],[1851,3]]},"230":{"position":[[1103,3],[1634,3]]},"231":{"position":[[1464,3],[1995,3]]},"232":{"position":[[1300,3],[1831,3]]},"233":{"position":[[851,3]]},"234":{"position":[[634,3]]},"276":{"position":[[367,3]]},"278":{"position":[[926,3]]},"280":{"position":[[718,3]]},"281":{"position":[[1020,3]]},"282":{"position":[[689,3]]},"283":{"position":[[844,3]]},"284":{"position":[[636,3]]},"319":{"position":[[197,3],[310,3]]},"320":{"position":[[1691,3]]}},"keywords":{}}],["big_endian",{"_index":146,"title":{},"content":{"5":{"position":[[129,10],[233,11],[929,11],[1161,10]]},"7":{"position":[[167,10],[843,10]]},"8":{"position":[[181,10],[338,10]]},"9":{"position":[[195,10],[361,10],[544,10],[693,10]]},"33":{"position":[[239,11]]},"35":{"position":[[1379,11],[1871,11]]},"37":{"position":[[1172,11],[1664,11]]},"40":{"position":[[101,10]]},"55":{"position":[[1673,12],[1709,12]]},"64":{"position":[[670,10],[900,10]]},"104":{"position":[[956,10],[1832,10]]},"105":{"position":[[1014,10],[1775,10]]},"109":{"position":[[2191,10],[2517,10]]},"111":{"position":[[1261,10]]},"114":{"position":[[424,10]]},"139":{"position":[[942,10]]},"213":{"position":[[524,10],[895,10]]},"214":{"position":[[422,10],[1678,10]]},"215":{"position":[[301,10],[735,10]]},"216":{"position":[[290,10]]},"217":{"position":[[1342,10],[2472,10]]},"218":{"position":[[459,10],[1456,10]]},"219":{"position":[[501,10],[702,10],[1286,10]]},"220":{"position":[[364,10],[1532,10]]},"226":{"position":[[399,11],[549,10]]},"228":{"position":[[1408,11],[1900,11]]},"230":{"position":[[1191,11],[1683,11]]},"231":{"position":[[1552,11],[2044,11]]},"232":{"position":[[1388,11],[1880,11]]},"233":{"position":[[900,11]]},"234":{"position":[[683,11]]},"253":{"position":[[67,10],[969,10],[1733,10]]},"276":{"position":[[416,11],[583,10]]},"278":{"position":[[1014,11]]},"280":{"position":[[806,11]]},"281":{"position":[[1108,11]]},"282":{"position":[[777,11]]},"283":{"position":[[893,11]]},"284":{"position":[[685,11]]},"299":{"position":[[59,10]]},"304":{"position":[[925,10]]},"305":{"position":[[1142,10]]},"321":{"position":[[274,10],[600,12],[956,10]]},"358":{"position":[[2757,10],[3244,10],[4756,10],[5151,10]]},"359":{"position":[[1355,10]]},"379":{"position":[[313,10],[1194,10],[1737,10],[2244,10],[2757,10]]},"687":{"position":[[893,13]]},"689":{"position":[[935,13]]},"690":{"position":[[1410,13]]}},"keywords":{}}],["big_endian/little_endian",{"_index":1342,"title":{},"content":{"65":{"position":[[650,26]]}},"keywords":{}}],["bigwidget"",{"_index":2965,"title":{},"content":{"320":{"position":[[1155,15]]}},"keywords":{}}],["bill",{"_index":4095,"title":{},"content":{"432":{"position":[[475,7],[524,4]]}},"keywords":{}}],["bin",{"_index":3084,"title":{},"content":{"338":{"position":[[280,4]]}},"keywords":{}}],["bin/bash",{"_index":1630,"title":{},"content":{"83":{"position":[[2061,11]]}},"keywords":{}}],["binari",{"_index":61,"title":{"213":{"position":[[0,6]]}},"content":{"2":{"position":[[556,6]]},"31":{"position":[[35,6],[444,7],[686,6]]},"36":{"position":[[4425,6],[6273,6],[6904,6],[7968,6],[10631,7]]},"46":{"position":[[54,6]]},"48":{"position":[[112,6],[1219,6],[1265,6],[3799,6]]},"53":{"position":[[605,6]]},"54":{"position":[[1003,6]]},"55":{"position":[[1784,6]]},"56":{"position":[[909,6]]},"60":{"position":[[412,6]]},"61":{"position":[[2081,6]]},"67":{"position":[[4382,6]]},"91":{"position":[[1183,6]]},"115":{"position":[[1898,6]]},"153":{"position":[[9,6]]},"154":{"position":[[9,6]]},"160":{"position":[[11,6]]},"161":{"position":[[11,6]]},"213":{"position":[[5,6],[44,6],[264,6],[392,6]]},"214":{"position":[[13,6],[81,6]]},"225":{"position":[[987,6],[1082,6]]},"228":{"position":[[2255,6]]},"229":{"position":[[4425,6],[6273,6],[6904,6],[7968,6]]},"231":{"position":[[115,6],[236,6],[1227,6]]},"232":{"position":[[115,6],[236,6],[1063,6]]},"244":{"position":[[229,6]]},"271":{"position":[[1011,6],[1562,6],[1678,6],[1726,6]]},"274":{"position":[[101,6]]},"338":{"position":[[313,6]]},"342":{"position":[[1088,6]]},"343":{"position":[[647,6]]},"398":{"position":[[41,6]]},"402":{"position":[[349,6]]},"494":{"position":[[20,6],[49,6],[165,6]]},"495":{"position":[[16,6],[132,6]]},"496":{"position":[[54,6],[113,6],[308,7]]},"497":{"position":[[76,6]]},"669":{"position":[[714,6],[1038,6]]},"670":{"position":[[801,6],[1161,6]]},"685":{"position":[[18,6]]}},"keywords":{}}],["binaryaccessor",{"_index":1369,"title":{},"content":{"67":{"position":[[1176,15],[1450,15]]},"213":{"position":[[573,14],[945,14]]},"242":{"position":[[167,15]]},"291":{"position":[[167,15]]}},"keywords":{}}],["binarydelet",{"_index":4206,"title":{},"content":{"495":{"position":[[107,12]]}},"keywords":{}}],["binaryrenam",{"_index":4205,"title":{},"content":{"495":{"position":[[82,12]]}},"keywords":{}}],["binarysav",{"_index":4204,"title":{},"content":{"495":{"position":[[59,10]]}},"keywords":{}}],["bind",{"_index":1952,"title":{},"content":{"113":{"position":[[254,4],[278,4]]},"362":{"position":[[209,4]]},"373":{"position":[[133,7]]}},"keywords":{}}],["bind_address",{"_index":3613,"title":{},"content":{"378":{"position":[[1004,12]]}},"keywords":{}}],["bit",{"_index":373,"title":{},"content":{"17":{"position":[[68,3],[167,3]]},"18":{"position":[[71,3],[171,3]]},"20":{"position":[[922,3],[1016,3]]},"35":{"position":[[139,3],[150,3],[200,3],[301,3],[346,3],[355,3],[534,3],[554,3]]},"36":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9820,3],[9945,5],[10220,3]]},"37":{"position":[[139,3],[148,3],[327,3],[347,3]]},"48":{"position":[[241,3],[376,3],[537,3],[598,3],[663,3],[730,3],[837,3],[939,3],[1040,3],[1276,3],[1756,3],[2389,3],[2747,3],[3102,3],[3517,3],[4917,3]]},"54":{"position":[[467,3],[501,3]]},"55":{"position":[[607,3],[622,3],[899,4],[911,3],[932,4],[963,4]]},"59":{"position":[[271,3],[302,3],[409,5],[455,5]]},"60":{"position":[[243,5]]},"65":{"position":[[449,3],[460,3],[558,3],[567,3],[1131,3]]},"111":{"position":[[575,4],[595,5],[1133,5]]},"140":{"position":[[426,4]]},"228":{"position":[[158,3],[169,3],[228,3],[330,3],[375,3],[384,3],[563,3],[583,3]]},"229":{"position":[[1157,3],[1612,3],[1752,4],[1767,4],[1835,3],[1856,4],[9820,3],[9945,5],[10220,3]]},"230":{"position":[[158,3],[167,3],[346,3],[366,3]]},"231":{"position":[[381,3],[392,3],[451,3],[545,3],[554,3],[733,3],[753,3]]},"232":{"position":[[381,3],[390,3],[569,3],[589,3]]},"233":{"position":[[175,3],[186,3],[245,3],[347,3],[397,3],[406,3],[549,3],[564,3]]},"234":{"position":[[180,3],[189,3],[332,3],[347,3]]},"272":{"position":[[372,3],[384,3]]},"273":{"position":[[47,3]]},"274":{"position":[[439,3],[454,3]]},"278":{"position":[[160,3],[171,3],[232,3],[329,3],[368,3],[377,3],[561,3],[581,3]]},"279":{"position":[[1152,3],[1607,3],[1747,4],[1762,4],[1830,3],[1851,4],[7447,3],[7456,3]]},"280":{"position":[[160,3],[169,3],[353,3],[373,3]]},"281":{"position":[[330,3],[341,3],[402,3],[491,3],[500,3]]},"282":{"position":[[160,3],[169,3]]},"283":{"position":[[177,3],[188,3],[249,3],[346,3],[390,3],[399,3],[542,3],[557,3]]},"284":{"position":[[182,3],[191,3],[334,3],[349,3]]},"314":{"position":[[638,4],[829,4]]},"321":{"position":[[240,3],[292,3],[329,3],[413,3],[503,3],[640,3],[727,3],[817,3],[853,3],[933,3],[1438,4],[1451,4],[1461,4],[1488,4]]},"358":{"position":[[3482,3],[3610,3],[3821,3],[3990,3],[4410,3],[5278,3],[5511,3],[5579,3]]},"379":{"position":[[360,4],[2810,4]]},"402":{"position":[[4288,3]]},"404":{"position":[[412,3]]},"496":{"position":[[131,4],[214,5]]}},"keywords":{}}],["bit)"click",{"_index":3948,"title":{},"content":{"404":{"position":[[851,15]]}},"keywords":{}}],["bit=0x04c11db7",{"_index":1346,"title":{},"content":{"65":{"position":[[826,15]]}},"keywords":{}}],["bit=0x1021",{"_index":1345,"title":{},"content":{"65":{"position":[[811,11]]}},"keywords":{}}],["bit=0x42f0e1eba9ea3693",{"_index":1347,"title":{},"content":{"65":{"position":[[845,23]]}},"keywords":{}}],["bit=0xffff",{"_index":1349,"title":{},"content":{"65":{"position":[[940,11]]}},"keywords":{}}],["bit=0xffffffff",{"_index":1350,"title":{},"content":{"65":{"position":[[955,15]]}},"keywords":{}}],["bit=0xffffffffffffffff",{"_index":1351,"title":{},"content":{"65":{"position":[[974,23]]}},"keywords":{}}],["bit=fals",{"_index":1354,"title":{},"content":{"65":{"position":[[1075,10],[1219,10]]}},"keywords":{}}],["bit=tru",{"_index":1355,"title":{},"content":{"65":{"position":[[1089,9],[1102,9],[1233,9],[1246,9]]}},"keywords":{}}],["bit_offset",{"_index":2973,"title":{},"content":{"321":{"position":[[468,10],[882,10]]},"687":{"position":[[1000,13]]},"689":{"position":[[1042,13]]},"690":{"position":[[1229,13]]}},"keywords":{}}],["bit_siz",{"_index":5125,"title":{},"content":{"687":{"position":[[1017,11]]},"689":{"position":[[1059,11]]},"690":{"position":[[1247,11]]}},"keywords":{}}],["bitfield",{"_index":654,"title":{"321":{"position":[[14,9]]}},"content":{"35":{"position":[[1354,10]]},"37":{"position":[[1147,10]]},"213":{"position":[[347,10]]},"228":{"position":[[1383,10]]},"230":{"position":[[1166,10]]},"231":{"position":[[1527,10]]},"232":{"position":[[1363,10]]},"278":{"position":[[989,10]]},"280":{"position":[[781,10]]},"281":{"position":[[1083,10]]},"282":{"position":[[752,10]]},"321":{"position":[[14,9],[47,9],[161,10],[944,8]]}},"keywords":{}}],["bits.x509",{"_index":449,"title":{},"content":{"20":{"position":[[959,9]]}},"keywords":{}}],["bitsiz",{"_index":2794,"title":{},"content":{"304":{"position":[[985,7]]},"305":{"position":[[1202,7]]},"358":{"position":[[2814,7],[4816,7]]},"359":{"position":[[1412,7]]}},"keywords":{}}],["black",{"_index":4608,"title":{},"content":{"580":{"position":[[367,5]]},"587":{"position":[[149,8]]},"588":{"position":[[143,8]]},"589":{"position":[[154,8]]},"619":{"position":[[130,6]]},"652":{"position":[[816,5]]}},"keywords":{}}],["blank",{"_index":1445,"title":{},"content":{"73":{"position":[[1736,5]]},"358":{"position":[[632,5]]},"454":{"position":[[434,5]]},"522":{"position":[[1001,5]]},"643":{"position":[[214,6]]}},"keywords":{}}],["blank_or_default",{"_index":4965,"title":{},"content":{"664":{"position":[[386,16]]},"665":{"position":[[352,16]]}},"keywords":{}}],["blind",{"_index":3203,"title":{},"content":{"350":{"position":[[1176,5],[1249,6],[1278,5]]}},"keywords":{}}],["blob",{"_index":2577,"title":{},"content":{"268":{"position":[[309,4]]},"358":{"position":[[5405,5],[5475,4]]}},"keywords":{}}],["block",{"_index":223,"title":{"610":{"position":[[0,6]]}},"content":{"6":{"position":[[592,5]]},"31":{"position":[[594,6],[693,6]]},"35":{"position":[[737,5],[1438,5]]},"37":{"position":[[530,5],[1231,5]]},"48":{"position":[[3663,5],[3780,5]]},"104":{"position":[[688,5]]},"105":{"position":[[575,5]]},"106":{"position":[[848,6]]},"107":{"position":[[484,5],[589,5]]},"109":{"position":[[2292,5],[2613,5]]},"111":{"position":[[767,5]]},"115":{"position":[[177,5],[460,5],[613,5],[805,5]]},"225":{"position":[[895,6],[994,6],[1051,5]]},"228":{"position":[[766,5],[1467,5],[2218,5],[2230,5]]},"230":{"position":[[549,5],[1250,5]]},"231":{"position":[[122,5],[936,5],[1611,5]]},"232":{"position":[[122,5],[772,5],[1447,5]]},"233":{"position":[[523,6]]},"234":{"position":[[306,6]]},"271":{"position":[[919,6],[1018,6],[1090,5],[1341,5],[1533,5],[1704,5]]},"278":{"position":[[760,6]]},"279":{"position":[[7425,5]]},"280":{"position":[[552,6]]},"281":{"position":[[769,5]]},"282":{"position":[[438,5]]},"283":{"position":[[516,6]]},"284":{"position":[[308,6]]},"369":{"position":[[451,6]]},"419":{"position":[[45,7],[122,6]]},"455":{"position":[[444,5],[1340,5]]},"540":{"position":[[398,6],[496,6],[896,5],[941,5]]},"544":{"position":[[85,6],[295,6],[374,6],[1201,6]]},"557":{"position":[[495,5]]},"610":{"position":[[10,5],[755,5]]},"717":{"position":[[82,6],[231,5],[263,5],[339,6],[760,6]]},"793":{"position":[[32,5]]}},"keywords":{}}],["block=1000",{"_index":5330,"title":{},"content":{"717":{"position":[[1258,11]]}},"keywords":{}}],["block=non",{"_index":5325,"title":{},"content":{"717":{"position":[[141,11]]}},"keywords":{}}],["blow",{"_index":109,"title":{},"content":{"3":{"position":[[426,4]]}},"keywords":{}}],["blue",{"_index":2649,"title":{},"content":{"279":{"position":[[9589,4],[9806,4],[9976,4],[10192,4]]},"487":{"position":[[183,6]]},"584":{"position":[[256,4]]},"585":{"position":[[252,4]]},"586":{"position":[[254,4]]},"587":{"position":[[309,4],[320,4]]},"588":{"position":[[303,4],[314,4]]},"589":{"position":[[314,4],[325,4]]},"591":{"position":[[837,4],[871,4]]},"647":{"position":[[451,4]]},"648":{"position":[[705,4]]},"651":{"position":[[526,4]]},"653":{"position":[[250,4]]},"741":{"position":[[1289,4],[1439,4]]}},"keywords":{}}],["board",{"_index":22,"title":{},"content":{"1":{"position":[[229,6]]},"404":{"position":[[222,5]]}},"keywords":{}}],["bob",{"_index":3248,"title":{},"content":{"358":{"position":[[1468,3],[1502,3],[2229,3],[2286,3],[2306,3],[2505,4],[2745,3],[3200,3],[4745,3],[5119,3],[6400,3],[6599,3],[6736,3],[7258,3],[7324,3],[8231,3]]},"359":{"position":[[167,3],[206,3],[612,3],[1012,3],[1041,3],[1128,3],[1343,3],[1981,3],[2020,3],[2140,3],[2451,3]]}},"keywords":{}}],["bob>",{"_index":3254,"title":{},"content":{"358":{"position":[[2247,7]]},"359":{"position":[[72,7],[1886,7]]}},"keywords":{}}],["bob"",{"_index":3249,"title":{},"content":{"358":{"position":[[1594,9]]}},"keywords":{}}],["bob/plugin.txt",{"_index":3274,"title":{},"content":{"358":{"position":[[6435,14]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/cmd.txt",{"_index":3256,"title":{},"content":{"358":{"position":[[2704,32]]},"359":{"position":[[1213,31]]}},"keywords":{}}],["bob/targets/bob/cmd_tlm/tlm.txt",{"_index":3267,"title":{},"content":{"358":{"position":[[4702,32]]}},"keywords":{}}],["bob_int",{"_index":3283,"title":{},"content":{"358":{"position":[[7579,7],[8252,7]]},"359":{"position":[[743,7]]}},"keywords":{}}],["bob_target_nam",{"_index":3277,"title":{},"content":{"358":{"position":[[6583,15],[6747,15],[6786,15],[6921,15],[6993,15]]},"359":{"position":[[2270,17]]}},"keywords":{}}],["bob_target_name.th",{"_index":3282,"title":{},"content":{"358":{"position":[[7504,19]]}},"keywords":{}}],["bodi",{"_index":4428,"title":{},"content":{"547":{"position":[[487,4]]}},"keywords":{}}],["bonjour",{"_index":3971,"title":{},"content":{"404":{"position":[[2034,7]]}},"keywords":{}}],["bonu",{"_index":4448,"title":{},"content":{"550":{"position":[[222,5]]}},"keywords":{}}],["book.titl",{"_index":690,"title":{},"content":{"36":{"position":[[1533,12]]},"229":{"position":[[1533,12]]},"279":{"position":[[1528,12]]}},"keywords":{}}],["bookkeep",{"_index":4139,"title":{},"content":{"454":{"position":[[197,12]]}},"keywords":{}}],["bool",{"_index":2797,"title":{},"content":{"304":{"position":[[1157,4]]},"305":{"position":[[1435,4]]},"358":{"position":[[2992,4],[3972,4],[4191,4],[4951,4]]},"359":{"position":[[1592,4]]}},"keywords":{}}],["boolean",{"_index":4966,"title":{},"content":{"664":{"position":[[484,7]]},"665":{"position":[[450,7]]}},"keywords":{}}],["boot",{"_index":3967,"title":{},"content":{"404":{"position":[[1834,4]]}},"keywords":{}}],["bootstrap",{"_index":1006,"title":{},"content":{"43":{"position":[[98,9]]}},"keywords":{}}],["border",{"_index":4625,"title":{},"content":{"589":{"position":[[34,6]]},"595":{"position":[[61,6],[233,6]]},"597":{"position":[[63,6],[191,6]]}},"keywords":{}}],["bordercolor",{"_index":4624,"title":{"589":{"position":[[0,12]]}},"content":{"589":{"position":[[5,11],[425,11],[488,11]]}},"keywords":{}}],["both",{"_index":121,"title":{},"content":{"3":{"position":[[562,4]]},"9":{"position":[[793,4],[844,4]]},"11":{"position":[[223,4]]},"48":{"position":[[2889,4],[3324,4]]},"67":{"position":[[4874,4]]},"109":{"position":[[137,4]]},"110":{"position":[[157,4]]},"111":{"position":[[91,4]]},"115":{"position":[[2194,4]]},"139":{"position":[[268,4],[470,4]]},"251":{"position":[[131,4],[720,4],[1488,4]]},"255":{"position":[[444,4]]},"259":{"position":[[302,4]]},"267":{"position":[[140,4]]},"268":{"position":[[102,4]]},"275":{"position":[[944,4]]},"304":{"position":[[141,4]]},"305":{"position":[[151,4]]},"323":{"position":[[280,4]]},"338":{"position":[[98,4]]},"348":{"position":[[2023,4]]},"349":{"position":[[3461,4]]},"352":{"position":[[60,4]]},"367":{"position":[[731,4]]},"369":{"position":[[191,4],[2384,4]]},"378":{"position":[[1683,4]]},"393":{"position":[[7,4]]},"402":{"position":[[296,4],[4731,4]]},"420":{"position":[[54,4]]},"439":{"position":[[188,4]]},"447":{"position":[[491,4]]},"453":{"position":[[15,4]]},"454":{"position":[[42,4],[579,4]]},"459":{"position":[[71,4]]},"473":{"position":[[428,4]]},"509":{"position":[[269,4]]},"511":{"position":[[167,4]]},"524":{"position":[[340,4]]},"526":{"position":[[18,4]]},"539":{"position":[[17,4],[155,5],[186,4]]},"540":{"position":[[980,4],[3577,4]]},"544":{"position":[[479,4]]},"546":{"position":[[99,4],[203,4],[1485,4]]},"552":{"position":[[430,5]]},"557":{"position":[[65,4]]},"562":{"position":[[275,4]]},"657":{"position":[[213,4]]}},"keywords":{}}],["bottom",{"_index":1024,"title":{},"content":{"43":{"position":[[788,6]]},"319":{"position":[[117,6]]},"416":{"position":[[191,6]]},"427":{"position":[[668,6]]},"433":{"position":[[254,6]]},"464":{"position":[[362,6]]},"506":{"position":[[753,7]]},"509":{"position":[[367,6]]},"523":{"position":[[368,6]]},"554":{"position":[[346,6]]},"658":{"position":[[1199,6]]}},"keywords":{}}],["bounc",{"_index":4054,"title":{},"content":{"426":{"position":[[899,6]]}},"keywords":{}}],["bound",{"_index":801,"title":{},"content":{"36":{"position":[[6973,5],[6997,5],[7120,6]]},"106":{"position":[[419,5]]},"229":{"position":[[6973,5],[6997,5],[7120,6]]},"279":{"position":[[5574,5],[5598,5],[5721,6]]},"432":{"position":[[902,5]]}},"keywords":{}}],["boundari",{"_index":1176,"title":{},"content":{"51":{"position":[[369,8],[551,10]]},"101":{"position":[[82,10]]}},"keywords":{}}],["box",{"_index":41,"title":{},"content":{"2":{"position":[[223,5]]},"307":{"position":[[1871,3]]},"326":{"position":[[1037,3]]},"343":{"position":[[314,5]]},"348":{"position":[[1976,3],[2211,4],[2349,4]]},"349":{"position":[[5886,3],[6053,3],[6201,3],[6331,3],[6493,3],[6877,3]]},"440":{"position":[[597,3]]},"473":{"position":[[649,3]]},"474":{"position":[[85,3]]},"491":{"position":[[209,4]]},"497":{"position":[[476,3]]},"517":{"position":[[327,4]]},"528":{"position":[[461,3]]},"535":{"position":[[244,3],[535,3],[1069,3]]},"595":{"position":[[253,3]]},"597":{"position":[[211,3]]},"611":{"position":[[12,3],[179,3],[792,3]]},"614":{"position":[[377,3]]},"615":{"position":[[523,3]]},"616":{"position":[[397,3]]},"617":{"position":[[400,3]]},"618":{"position":[[674,3]]},"623":{"position":[[366,3]]},"624":{"position":[[369,3]]},"625":{"position":[[643,3]]},"634":{"position":[[18,3]]},"635":{"position":[[12,3],[70,3],[605,3]]},"638":{"position":[[18,3]]},"643":{"position":[[24,3]]},"668":{"position":[[79,3]]},"673":{"position":[[73,3],[1033,4]]}},"keywords":{}}],["bracket",{"_index":1302,"title":{},"content":{"61":{"position":[[721,8]]},"540":{"position":[[4663,7],[4817,8]]},"677":{"position":[[1368,8]]}},"keywords":{}}],["branch",{"_index":2888,"title":{},"content":{"309":{"position":[[2740,6],[2753,6]]},"371":{"position":[[98,6]]},"386":{"position":[[183,6],[445,6]]}},"keywords":{}}],["break",{"_index":1674,"title":{},"content":{"83":{"position":[[3506,6]]},"174":{"position":[[16,6]]},"330":{"position":[[963,5]]},"349":{"position":[[984,5],[6401,8],[6473,5]]},"359":{"position":[[410,8],[1814,8]]},"535":{"position":[[1459,5],[1481,5]]},"543":{"position":[[327,8]]},"546":{"position":[[667,6]]},"549":{"position":[[67,5]]},"572":{"position":[[491,5]]},"793":{"position":[[193,8]]}},"keywords":{}}],["breakdown",{"_index":441,"title":{},"content":{"20":{"position":[[799,9]]}},"keywords":{}}],["breakpoint",{"_index":3182,"title":{"555":{"position":[[0,12]]}},"content":{"349":{"position":[[4844,10],[4879,10]]},"529":{"position":[[299,11]]},"531":{"position":[[744,12],[785,11]]},"555":{"position":[[76,11],[141,11],[173,11]]}},"keywords":{}}],["brew",{"_index":2909,"title":{},"content":{"310":{"position":[[16,4],[334,4]]}},"keywords":{}}],["bridg",{"_index":1811,"title":{"311":{"position":[[0,7]]},"312":{"position":[[0,7]]},"313":{"position":[[30,8]]},"314":{"position":[[0,6]]},"315":{"position":[[0,6]]},"316":{"position":[[8,6]]}},"content":{"97":{"position":[[25,6]]},"312":{"position":[[1,7]]},"314":{"position":[[1,7],[207,7],[1719,6]]},"315":{"position":[[71,6],[135,6],[367,6],[409,6]]},"316":{"position":[[28,6],[61,6],[94,6],[148,6]]},"317":{"position":[[43,7]]},"380":{"position":[[487,6]]}},"keywords":{}}],["bridge.txt",{"_index":2914,"title":{"314":{"position":[[22,11]]}},"content":{"314":{"position":[[51,11],[371,10]]},"315":{"position":[[36,10],[187,10],[384,10]]}},"keywords":{}}],["bridgegem",{"_index":2928,"title":{},"content":{"315":{"position":[[300,9]]}},"keywords":{}}],["bridgesetup",{"_index":2916,"title":{},"content":{"314":{"position":[[421,11]]},"315":{"position":[[11,11]]}},"keywords":{}}],["brighten",{"_index":4689,"title":{},"content":{"611":{"position":[[238,9]]},"635":{"position":[[129,9]]}},"keywords":{}}],["bring",{"_index":4127,"title":{},"content":{"441":{"position":[[26,5]]},"462":{"position":[[108,6],[418,5]]},"467":{"position":[[341,6]]},"484":{"position":[[159,6],[312,6]]},"504":{"position":[[21,6]]},"505":{"position":[[57,6]]},"522":{"position":[[114,6],[649,6]]},"531":{"position":[[25,6]]},"549":{"position":[[448,5]]},"552":{"position":[[301,5],[337,5],[375,5],[488,5],[703,5],[1170,5],[1243,5],[1288,5],[1412,5],[1580,5]]},"658":{"position":[[1088,5]]},"776":{"position":[[33,5]]}},"keywords":{}}],["broken",{"_index":3080,"title":{},"content":{"338":{"position":[[115,6]]},"542":{"position":[[28,6]]},"658":{"position":[[155,6]]}},"keywords":{}}],["broker",{"_index":1882,"title":{},"content":{"109":{"position":[[519,6],[552,6],[849,6],[907,6],[965,6]]},"110":{"position":[[512,6],[545,6],[1183,6],[1241,6],[1299,6]]}},"keywords":{}}],["brought",{"_index":3440,"title":{},"content":{"369":{"position":[[964,7]]}},"keywords":{}}],["brows",{"_index":3081,"title":{"440":{"position":[[0,8]]}},"content":{"338":{"position":[[170,8]]},"359":{"position":[[2173,6]]},"528":{"position":[[403,6]]}},"keywords":{}}],["browser",{"_index":67,"title":{},"content":{"2":{"position":[[654,7]]},"24":{"position":[[452,7],[920,8]]},"43":{"position":[[1251,7]]},"83":{"position":[[475,8],[644,9],[1269,7]]},"93":{"position":[[324,7]]},"209":{"position":[[59,8]]},"263":{"position":[[30,7],[489,7]]},"309":{"position":[[3974,7]]},"332":{"position":[[771,8]]},"334":{"position":[[15,7]]},"343":{"position":[[745,7]]},"344":{"position":[[215,8],[327,7]]},"352":{"position":[[549,7]]},"365":{"position":[[331,8]]},"373":{"position":[[437,7]]},"380":{"position":[[107,7],[1866,7]]},"404":{"position":[[2603,7]]},"439":{"position":[[27,7],[129,7]]},"441":{"position":[[42,7]]},"457":{"position":[[248,7],[280,8]]},"485":{"position":[[239,7],[295,8]]},"506":{"position":[[37,7]]},"511":{"position":[[177,7]]},"522":{"position":[[457,7]]},"524":{"position":[[36,7],[407,7],[592,7],[775,7]]}},"keywords":{}}],["browser'",{"_index":1033,"title":{},"content":{"43":{"position":[[1351,9]]},"83":{"position":[[218,9]]}},"keywords":{}}],["browserdelet",{"_index":4276,"title":{},"content":{"528":{"position":[[236,14]]}},"keywords":{}}],["brute",{"_index":381,"title":{},"content":{"17":{"position":[[289,5]]},"18":{"position":[[294,5]]}},"keywords":{}}],["bucket",{"_index":1368,"title":{"438":{"position":[[0,6]]}},"content":{"67":{"position":[[1168,7],[1442,7]]},"258":{"position":[[1343,6]]},"268":{"position":[[246,6],[290,8],[329,6]]},"439":{"position":[[1,6],[57,6],[166,6]]},"440":{"position":[[42,8],[81,6],[203,6],[295,6],[465,6],[685,7],[724,6],[830,6]]},"441":{"position":[[94,6]]},"442":{"position":[[74,6]]}},"keywords":{}}],["bucket_file_uri="$(curl",{"_index":1677,"title":{},"content":{"83":{"position":[[3549,28]]}},"keywords":{}}],["buf_siz",{"_index":4217,"title":{},"content":{"498":{"position":[[678,8],[1031,11],[1050,8]]}},"keywords":{}}],["buffer",{"_index":774,"title":{"223":{"position":[[9,6]]}},"content":{"36":{"position":[[5686,7],[6041,8]]},"95":{"position":[[106,6]]},"102":{"position":[[55,6]]},"152":{"position":[[38,6],[116,6]]},"159":{"position":[[47,6],[125,6]]},"213":{"position":[[78,7],[293,7]]},"219":{"position":[[1252,7]]},"223":{"position":[[54,8],[251,6],[321,6]]},"229":{"position":[[5686,7],[6041,8]]},"231":{"position":[[1269,6]]},"232":{"position":[[1105,6]]},"279":{"position":[[4166,7],[4521,8]]},"292":{"position":[[87,6]]},"293":{"position":[[85,6]]},"402":{"position":[[6148,6]]},"498":{"position":[[490,6],[601,6],[705,6],[794,6]]},"499":{"position":[[582,6],[764,6],[841,6],[938,7]]},"685":{"position":[[1252,9]]},"691":{"position":[[70,6],[119,6],[206,6],[1154,9]]},"702":{"position":[[70,7],[102,6],[189,6]]}},"keywords":{}}],["buffer.format",{"_index":4216,"title":{},"content":{"498":{"position":[[516,16]]}},"keywords":{}}],["buffer.length",{"_index":4219,"title":{},"content":{"498":{"position":[[757,13]]}},"keywords":{}}],["buffer[i...(i",{"_index":4225,"title":{},"content":{"498":{"position":[[1015,13]]}},"keywords":{}}],["build",{"_index":620,"title":{"359":{"position":[[0,8]]},"377":{"position":[[0,5]]},"507":{"position":[[0,8]]}},"content":{"31":{"position":[[396,5]]},"42":{"position":[[451,8],[615,5],[671,5],[736,5],[822,6],[839,5],[1611,8],[1630,8]]},"43":{"position":[[503,5],[550,6],[569,6]]},"44":{"position":[[439,5],[447,5]]},"61":{"position":[[1129,5]]},"88":{"position":[[540,5]]},"117":{"position":[[568,6]]},"203":{"position":[[177,5]]},"210":{"position":[[73,5]]},"255":{"position":[[59,5]]},"257":{"position":[[411,5]]},"259":{"position":[[307,5]]},"263":{"position":[[141,8],[170,6],[445,5]]},"265":{"position":[[91,5]]},"301":{"position":[[1264,8],[1320,5]]},"302":{"position":[[1604,8]]},"307":{"position":[[1370,5],[1431,5],[1533,5]]},"320":{"position":[[629,5],[700,5],[911,5],[1062,5],[1209,5],[1487,5]]},"326":{"position":[[566,5]]},"330":{"position":[[586,6],[733,6]]},"358":{"position":[[3414,6]]},"359":{"position":[[16,5],[100,5],[280,6],[325,8],[1914,5]]},"376":{"position":[[312,5]]},"377":{"position":[[101,5]]},"379":{"position":[[3509,5],[3615,5],[3709,5]]},"383":{"position":[[1853,8],[1914,5]]},"385":{"position":[[27,5],[314,5]]},"419":{"position":[[36,8]]},"494":{"position":[[126,6]]},"507":{"position":[[29,5]]},"685":{"position":[[1,6]]}},"keywords":{}}],["build_cmd",{"_index":5082,"title":{"685":{"position":[[0,9]]}},"content":{},"keywords":{}}],["build_cmd(<args>",{"_index":5086,"title":{},"content":{"685":{"position":[[47,23],[120,23]]}},"keywords":{}}],["build_cmd("inst",{"_index":5091,"title":{},"content":{"685":{"position":[[421,20],[980,20]]}},"keywords":{}}],["build_command",{"_index":5085,"title":{"685":{"position":[[40,15]]}},"content":{},"keywords":{}}],["builder",{"_index":3571,"title":{},"content":{"376":{"position":[[22,7]]}},"keywords":{}}],["buildtype=${buildtyp",{"_index":3576,"title":{},"content":{"376":{"position":[[140,22]]}},"keywords":{}}],["buildtype=debug",{"_index":3575,"title":{},"content":{"376":{"position":[[120,15]]}},"keywords":{}}],["built",{"_index":554,"title":{"554":{"position":[[0,5]]}},"content":{"24":{"position":[[965,5]]},"36":{"position":[[4525,6],[8522,6]]},"42":{"position":[[871,5]]},"48":{"position":[[1802,5],[2435,5],[4963,5]]},"104":{"position":[[1657,5],[2645,5]]},"105":{"position":[[1589,5],[2462,5]]},"109":{"position":[[204,5]]},"110":{"position":[[224,5]]},"111":{"position":[[1904,5]]},"115":{"position":[[2128,5]]},"117":{"position":[[507,5]]},"128":{"position":[[258,5]]},"203":{"position":[[268,5]]},"229":{"position":[[4525,6],[8522,6]]},"271":{"position":[[1628,5]]},"307":{"position":[[301,5]]},"309":{"position":[[3912,5]]},"319":{"position":[[287,5],[587,6]]},"320":{"position":[[554,5],[725,6]]},"326":{"position":[[599,5],[786,5]]},"332":{"position":[[51,5]]},"349":{"position":[[800,5]]},"359":{"position":[[133,5],[447,5],[1947,5],[2193,5]]},"380":{"position":[[27,6]]},"393":{"position":[[300,5]]},"440":{"position":[[502,5]]},"501":{"position":[[67,5],[154,5]]},"554":{"position":[[19,5]]},"660":{"position":[[108,5]]},"750":{"position":[[46,5]]},"764":{"position":[[42,5]]}},"keywords":{}}],["bump",{"_index":3299,"title":{},"content":{"359":{"position":[[1841,4]]}},"keywords":{}}],["bunch",{"_index":3250,"title":{},"content":{"358":{"position":[[1611,5]]}},"keywords":{}}],["bundl",{"_index":533,"title":{},"content":{"24":{"position":[[205,7]]},"44":{"position":[[1278,6],[1321,6],[1352,6]]},"210":{"position":[[95,6]]},"332":{"position":[[908,7]]},"385":{"position":[[130,6],[169,6],[297,6]]},"386":{"position":[[349,6]]}},"keywords":{}}],["bundle.pem",{"_index":534,"title":{},"content":{"24":{"position":[[214,10],[283,10],[347,11]]}},"keywords":{}}],["bundler",{"_index":3712,"title":{},"content":{"385":{"position":[[99,8]]}},"keywords":{}}],["burst",{"_index":1133,"title":{"53":{"position":[[0,5]]}},"content":{"50":{"position":[[73,6]]},"53":{"position":[[5,5],[150,5],[203,6]]},"54":{"position":[[717,5]]},"55":{"position":[[545,5]]},"104":{"position":[[1071,5],[1966,5]]},"105":{"position":[[1108,5],[1888,5]]},"111":{"position":[[1373,5]]},"130":{"position":[[222,5],[366,5]]},"131":{"position":[[263,5],[459,5]]},"132":{"position":[[266,5],[465,5]]},"139":{"position":[[1088,5]]},"140":{"position":[[853,5]]},"302":{"position":[[2713,5]]},"312":{"position":[[223,5]]},"314":{"position":[[1562,5]]},"358":{"position":[[6897,5],[7964,5]]}},"keywords":{}}],["buse",{"_index":1794,"title":{},"content":{"96":{"position":[[384,5]]}},"keywords":{}}],["busi",{"_index":3751,"title":{},"content":{"389":{"position":[[376,9]]}},"keywords":{}}],["button",{"_index":1025,"title":{"637":{"position":[[0,7]]}},"content":{"43":{"position":[[819,6]]},"136":{"position":[[24,6]]},"307":{"position":[[1263,7]]},"324":{"position":[[820,6]]},"346":{"position":[[367,6],[773,6],[1083,6],[1323,6]]},"348":{"position":[[677,7]]},"349":{"position":[[2377,6]]},"355":{"position":[[193,6]]},"358":{"position":[[462,6]]},"406":{"position":[[30,6]]},"407":{"position":[[453,7]]},"413":{"position":[[229,7]]},"482":{"position":[[176,6],[435,6],[650,6]]},"485":{"position":[[22,6],[142,6]]},"496":{"position":[[11,7]]},"497":{"position":[[228,6],[344,6],[375,6]]},"505":{"position":[[231,6]]},"506":{"position":[[518,6],[770,6]]},"524":{"position":[[268,7],[498,6],[682,6],[856,6],[997,6]]},"530":{"position":[[82,7],[414,6]]},"533":{"position":[[881,7],[938,7]]},"534":{"position":[[618,7]]},"536":{"position":[[244,6]]},"569":{"position":[[271,6],[320,6]]},"574":{"position":[[130,7]]},"580":{"position":[[201,7]]},"592":{"position":[[194,7],[684,6]]},"637":{"position":[[34,6],[61,6],[107,7],[186,6],[383,6],[817,7],[1286,6],[1642,6],[1654,6],[1702,6],[1742,6],[1830,6],[2057,6]]},"638":{"position":[[277,6]]},"639":{"position":[[309,6]]},"640":{"position":[[237,6]]},"641":{"position":[[145,6],[168,6]]},"642":{"position":[[18,6],[289,6],[436,6]]},"643":{"position":[[296,6]]},"644":{"position":[[237,6]]},"654":{"position":[[483,6],[947,6]]},"658":{"position":[[403,8],[494,6],[580,6],[657,6],[731,6]]},"668":{"position":[[98,7],[161,6],[563,6]]},"675":{"position":[[66,7]]}},"keywords":{}}],["button)send",{"_index":1765,"title":{},"content":{"93":{"position":[[440,11]]}},"keywords":{}}],["button/select",{"_index":4977,"title":{},"content":{"668":{"position":[[530,16]]}},"keywords":{}}],["buttonpick",{"_index":3942,"title":{},"content":{"404":{"position":[[699,10]]}},"keywords":{}}],["buttonselect",{"_index":3945,"title":{},"content":{"404":{"position":[[765,12],[898,12]]}},"keywords":{}}],["buy",{"_index":3799,"title":{"392":{"position":[[15,3]]}},"content":{},"keywords":{}}],["bypass",{"_index":1278,"title":{},"content":{"59":{"position":[[288,6],[295,6],[340,7]]}},"keywords":{}}],["byte",{"_index":1072,"title":{},"content":{"48":{"position":[[291,5],[1214,4],[3597,5]]},"50":{"position":[[229,4]]},"51":{"position":[[25,4],[89,5],[291,4],[434,4],[482,5]]},"52":{"position":[[272,4],[318,4],[375,5],[421,4],[482,4]]},"53":{"position":[[369,5],[559,5],[579,5],[658,5],[751,6],[797,4]]},"54":{"position":[[591,6],[666,6],[810,5],[930,6],[957,5],[977,5],[1056,5],[1149,6],[1195,4]]},"55":{"position":[[483,6],[1122,5],[1406,5],[1436,5],[1543,6],[1599,4],[1738,5],[1758,5],[1837,5],[2049,6],[2095,4],[2876,6],[2893,6],[2910,6],[3022,6],[3056,5],[3235,5],[3310,6]]},"56":{"position":[[863,5],[883,5],[962,5],[1051,6],[1097,4]]},"57":{"position":[[816,5]]},"58":{"position":[[347,4],[370,4]]},"60":{"position":[[366,5],[386,5],[465,5],[554,6],[600,4]]},"61":{"position":[[2035,5],[2055,5],[2134,5],[2223,6],[2269,4]]},"62":{"position":[[387,4]]},"65":{"position":[[1148,4]]},"115":{"position":[[1201,5],[1460,5]]},"154":{"position":[[134,5]]},"157":{"position":[[141,5]]},"161":{"position":[[136,5]]},"164":{"position":[[143,5]]},"225":{"position":[[1158,4],[1313,5]]},"253":{"position":[[1690,4]]},"271":{"position":[[1174,4],[1871,5]]},"273":{"position":[[291,5]]},"321":{"position":[[346,4],[417,4],[520,4],[695,4],[825,4],[1367,4],[1403,4],[1613,5]]},"358":{"position":[[5414,5]]},"379":{"position":[[3239,5]]},"498":{"position":[[628,5]]},"509":{"position":[[189,4]]},"512":{"position":[[139,4]]},"514":{"position":[[285,5]]},"515":{"position":[[306,5]]},"610":{"position":[[362,5],[387,5]]},"756":{"position":[[219,5],[238,5],[696,5],[728,5],[1256,5],[1291,5]]},"765":{"position":[[213,5],[232,5],[672,5],[704,5],[1205,5],[1237,5]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":5174,"title":{},"content":{"691":{"position":[[1164,88]]}},"keywords":{}}],["bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00a",{"_index":5104,"title":{},"content":{"685":{"position":[[1262,53]]}},"keywords":{}}],["bytes)0x1acffc1d",{"_index":1234,"title":{},"content":{"55":{"position":[[2925,16]]}},"keywords":{}}],["c",{"_index":666,"title":{},"content":{"36":{"position":[[445,1],[483,1]]},"44":{"position":[[1570,2]]},"214":{"position":[[690,1],[1965,1]]},"215":{"position":[[536,1]]},"218":{"position":[[892,1],[1743,1]]},"220":{"position":[[974,1],[2265,1]]},"229":{"position":[[445,1],[483,1]]},"279":{"position":[[440,1],[478,1]]},"321":{"position":[[1033,1],[1258,1],[1466,2]]},"424":{"position":[[858,2]]},"432":{"position":[[1404,3]]},"557":{"position":[[223,1]]}},"keywords":{}}],["c"",{"_index":2980,"title":{},"content":{"321":{"position":[[1287,7]]}},"keywords":{}}],["c0",{"_index":805,"title":{},"content":{"36":{"position":[[7132,2]]},"229":{"position":[[7132,2]]},"279":{"position":[[5733,2]]}},"keywords":{}}],["c2",{"_index":3744,"title":{},"content":{"387":{"position":[[1714,2]]}},"keywords":{}}],["c3",{"_index":3727,"title":{},"content":{"387":{"position":[[23,2]]}},"keywords":{}}],["c:4",{"_index":2977,"title":{},"content":{"321":{"position":[[1161,4]]}},"keywords":{}}],["c:\\cosmo",{"_index":3241,"title":{},"content":{"358":{"position":[[196,10]]},"382":{"position":[[233,9],[289,9],[434,9]]},"383":{"position":[[763,9],[808,9],[1134,9],[1369,9]]}},"keywords":{}}],["c:\\cosmos>",{"_index":3706,"title":{},"content":{"383":{"position":[[1120,13],[1355,13]]}},"keywords":{}}],["c:\\openc3",{"_index":3246,"title":{},"content":{"358":{"position":[[1415,9],[2190,9]]}},"keywords":{}}],["c:\\shared\\ball.pem",{"_index":3060,"title":{},"content":{"332":{"position":[[1095,20],[1225,19]]}},"keywords":{}}],["c:\\users\\<username>\\.wslconfig",{"_index":3020,"title":{},"content":{"330":{"position":[[792,37]]}},"keywords":{}}],["c:\\users\\username\\appdata\\roaming\\docker\\settings.json",{"_index":3029,"title":{},"content":{"330":{"position":[[1264,54]]}},"keywords":{}}],["ca",{"_index":3054,"title":{},"content":{"332":{"position":[[904,3]]}},"keywords":{}}],["ca_fil",{"_index":1887,"title":{},"content":{"109":{"position":[[1186,7]]},"110":{"position":[[1520,7]]},"415":{"position":[[383,7]]}},"keywords":{}}],["cabl",{"_index":3863,"title":{},"content":{"402":{"position":[[885,5]]}},"keywords":{}}],["cable.subscriptions.cr",{"_index":3866,"title":{},"content":{"402":{"position":[[1238,27]]}},"keywords":{}}],["cacert.pem",{"_index":3044,"title":{},"content":{"332":{"position":[[120,10]]}},"keywords":{}}],["cach",{"_index":555,"title":{},"content":{"24":{"position":[[971,6]]},"67":{"position":[[2156,6],[2217,6],[2306,6]]},"73":{"position":[[1821,6]]},"81":{"position":[[564,5]]},"82":{"position":[[704,5],[791,5],[6324,5]]}},"keywords":{}}],["cad",{"_index":2826,"title":{},"content":{"307":{"position":[[1867,3]]}},"keywords":{}}],["calcul",{"_index":1227,"title":{},"content":{"55":{"position":[[2586,11],[3130,10],[3179,9]]},"65":{"position":[[172,10],[731,11],[898,11],[1168,11]]},"275":{"position":[[1672,10]]},"367":{"position":[[633,10]]},"499":{"position":[[623,9],[672,9]]},"522":{"position":[[355,11]]}},"keywords":{}}],["calendar",{"_index":3225,"title":{"355":{"position":[[0,9]]},"448":{"position":[[0,8]]}},"content":{"355":{"position":[[5,8],[139,8],[231,8],[327,8],[420,8],[503,8],[600,8],[695,8],[798,8]]},"449":{"position":[[1,8]]},"452":{"position":[[427,8]]},"453":{"position":[[102,9]]},"454":{"position":[[165,8],[218,8],[457,8]]},"513":{"position":[[497,8]]},"803":{"position":[[325,9]]},"804":{"position":[[342,9]]}},"keywords":{}}],["calibr",{"_index":4418,"title":{},"content":{"545":{"position":[[429,11]]}},"keywords":{}}],["call",{"_index":241,"title":{},"content":{"7":{"position":[[42,6],[574,6]]},"36":{"position":[[4316,4]]},"50":{"position":[[464,6]]},"67":{"position":[[1911,4],[3984,7],[4481,6],[4862,6]]},"69":{"position":[[68,4]]},"71":{"position":[[295,5]]},"72":{"position":[[310,5]]},"73":{"position":[[1675,4]]},"77":{"position":[[36,6],[598,4],[673,7]]},"100":{"position":[[64,6]]},"109":{"position":[[1615,6],[1687,6]]},"110":{"position":[[1997,6],[2069,6]]},"115":{"position":[[208,4],[491,4],[965,4],[1082,6],[1340,6],[1978,7],[2415,6]]},"140":{"position":[[76,5]]},"229":{"position":[[4316,4]]},"257":{"position":[[150,6]]},"264":{"position":[[67,6]]},"271":{"position":[[1644,6]]},"279":{"position":[[3265,4],[10415,6]]},"297":{"position":[[282,4],[373,4]]},"301":{"position":[[129,6]]},"304":{"position":[[746,6]]},"305":{"position":[[793,6]]},"309":{"position":[[1252,6]]},"320":{"position":[[81,6],[686,4]]},"358":{"position":[[1567,6],[3586,6],[3795,6],[3965,6],[4384,6],[5123,6],[5255,6],[6986,6],[7396,6],[7559,6]]},"383":{"position":[[1218,6],[1465,6]]},"402":{"position":[[946,4]]},"497":{"position":[[43,4],[149,6],[261,6]]},"529":{"position":[[216,4]]},"534":{"position":[[79,7]]},"535":{"position":[[986,6]]},"540":{"position":[[4251,6],[4899,4]]},"547":{"position":[[516,7]]},"548":{"position":[[70,6]]},"551":{"position":[[668,6]]},"552":{"position":[[1350,4]]},"560":{"position":[[1038,6]]},"562":{"position":[[311,6]]},"576":{"position":[[185,6]]},"717":{"position":[[687,5],[1185,5]]},"744":{"position":[[77,7],[211,4],[268,4]]}},"keywords":{}}],["call(self",{"_index":783,"title":{},"content":{"36":{"position":[[6015,10]]},"229":{"position":[[6015,10]]},"279":{"position":[[4495,10]]}},"keywords":{}}],["call(valu",{"_index":773,"title":{},"content":{"36":{"position":[[5666,11]]},"229":{"position":[[5666,11]]},"279":{"position":[[4146,11]]}},"keywords":{}}],["callback",{"_index":3872,"title":{},"content":{"402":{"position":[[1849,8],[2054,8],[4894,8]]}},"keywords":{}}],["came",{"_index":3983,"title":{},"content":{"408":{"position":[[70,4]]}},"keywords":{}}],["camel",{"_index":4345,"title":{},"content":{"540":{"position":[[1550,5]]}},"keywords":{}}],["camelcas",{"_index":760,"title":{},"content":{"36":{"position":[[5160,9]]},"229":{"position":[[5160,9]]},"251":{"position":[[339,9]]},"279":{"position":[[3641,9]]}},"keywords":{}}],["can't",{"_index":1624,"title":{},"content":{"83":{"position":[[1642,5]]},"390":{"position":[[1230,5]]},"412":{"position":[[193,5]]}},"keywords":{}}],["cancel",{"_index":3295,"title":{},"content":{"359":{"position":[[814,8]]},"485":{"position":[[160,6],[176,9]]},"559":{"position":[[1248,9],[1263,6]]},"712":{"position":[[187,8]]}},"keywords":{}}],["canva",{"_index":2775,"title":{"645":{"position":[[0,6]]},"646":{"position":[[0,7]]}},"content":{"302":{"position":[[2150,6]]},"645":{"position":[[3,6],[79,6],[148,7]]},"646":{"position":[[29,6],[49,6],[90,6],[118,6],[187,7],[245,6],[278,6]]},"647":{"position":[[21,6],[125,6],[203,6],[242,6],[354,6]]},"648":{"position":[[51,6],[271,6],[349,6],[586,6]]},"649":{"position":[[26,6],[239,6],[318,6],[347,6]]},"650":{"position":[[26,6],[680,6],[759,6],[900,6],[1519,6],[1598,6]]},"651":{"position":[[23,6],[121,6],[193,6],[261,6],[329,6],[442,6]]},"652":{"position":[[38,6],[329,6],[401,6],[469,6],[537,6],[744,6]]},"653":{"position":[[22,6],[221,6]]}},"keywords":{}}],["canvasdot",{"_index":4833,"title":{"653":{"position":[[0,10]]}},"content":{"653":{"position":[[234,9]]}},"keywords":{}}],["canvasimag",{"_index":2776,"title":{"649":{"position":[[0,12]]}},"content":{"302":{"position":[[2179,11]]},"649":{"position":[[362,11],[437,11],[640,12]]}},"keywords":{}}],["canvasimagevalu",{"_index":2777,"title":{"650":{"position":[[0,17]]}},"content":{"302":{"position":[[2195,16]]},"650":{"position":[[915,16],[1196,17]]}},"keywords":{}}],["canvaslabel",{"_index":4808,"title":{"647":{"position":[[0,12]]}},"content":{"647":{"position":[[369,11],[412,11]]}},"keywords":{}}],["canvaslabelvalu",{"_index":4814,"title":{"648":{"position":[[0,17]]}},"content":{"648":{"position":[[601,16],[655,16]]},"652":{"position":[[758,16]]}},"keywords":{}}],["canvaslin",{"_index":4827,"title":{"651":{"position":[[0,11]]}},"content":{"651":{"position":[[456,10],[476,10],[504,10]]}},"keywords":{}}],["canvaslinevalu",{"_index":4830,"title":{"652":{"position":[[0,16]]}},"content":{"652":{"position":[[822,15],[937,15],[1104,16]]}},"keywords":{}}],["cap",{"_index":1375,"title":{},"content":{"67":{"position":[[1770,4]]},"302":{"position":[[531,5]]},"303":{"position":[[623,5]]},"377":{"position":[[129,3]]},"540":{"position":[[1325,4]]}},"keywords":{}}],["cap_sys_resourc",{"_index":3594,"title":{},"content":{"377":{"position":[[137,16]]}},"keywords":{}}],["capabl",{"_index":1731,"title":{"554":{"position":[[19,13]]}},"content":{"91":{"position":[[1207,7]]},"457":{"position":[[298,10]]},"538":{"position":[[71,12]]},"554":{"position":[[38,12]]},"676":{"position":[[23,10]]}},"keywords":{}}],["capit",{"_index":1981,"title":{},"content":{"115":{"position":[[2274,14],[2608,15]]},"225":{"position":[[732,7]]},"271":{"position":[[759,7]]},"378":{"position":[[213,7]]}},"keywords":{}}],["captur",{"_index":1290,"title":{},"content":{"61":{"position":[[59,7]]},"302":{"position":[[770,7]]},"323":{"position":[[375,8]]},"546":{"position":[[930,7],[1150,7]]}},"keywords":{}}],["card",{"_index":3930,"title":{},"content":{"404":{"position":[[315,4],[376,5],[442,4],[552,4],[1703,4]]},"426":{"position":[[1108,4]]},"432":{"position":[[459,4]]}},"keywords":{}}],["card!)open",{"_index":3938,"title":{},"content":{"404":{"position":[[625,10]]}},"keywords":{}}],["cardclick",{"_index":3950,"title":{},"content":{"404":{"position":[[919,9]]}},"keywords":{}}],["cardholder’",{"_index":4056,"title":{},"content":{"426":{"position":[[1088,12]]}},"keywords":{}}],["care",{"_index":2896,"title":{},"content":{"309":{"position":[[3319,4]]},"531":{"position":[[257,7],[610,7]]},"540":{"position":[[209,7]]},"563":{"position":[[505,4]]}},"keywords":{}}],["carri",{"_index":4094,"title":{},"content":{"431":{"position":[[665,5]]}},"keywords":{}}],["case",{"_index":1208,"title":{},"content":{"54":{"position":[[556,4]]},"55":{"position":[[2980,4]]},"83":{"position":[[1383,4]]},"100":{"position":[[716,5]]},"115":{"position":[[2084,5]]},"225":{"position":[[775,4]]},"265":{"position":[[278,6]]},"271":{"position":[[802,4]]},"272":{"position":[[440,5]]},"312":{"position":[[172,6]]},"324":{"position":[[123,4]]},"338":{"position":[[564,4]]},"340":{"position":[[387,5],[490,5]]},"349":{"position":[[812,5],[1016,5],[1111,5],[5254,6],[5288,5]]},"358":{"position":[[5465,4],[7483,4]]},"404":{"position":[[254,4]]},"421":{"position":[[449,4]]},"426":{"position":[[881,4]]},"540":{"position":[[1556,4]]},"544":{"position":[[145,6]]},"559":{"position":[[328,6]]},"657":{"position":[[127,5]]},"668":{"position":[[822,4],[1150,4],[1182,4]]},"697":{"position":[[266,5]]},"698":{"position":[[165,5]]},"699":{"position":[[224,5]]},"741":{"position":[[81,5]]}},"keywords":{}}],["cat",{"_index":536,"title":{},"content":{"24":{"position":[[248,3]]}},"keywords":{}}],["catch",{"_index":2627,"title":{},"content":{"279":{"position":[[2236,5]]},"535":{"position":[[1387,5]]},"552":{"position":[[172,7]]},"566":{"position":[[82,5]]},"793":{"position":[[79,10]]}},"keywords":{}}],["categori",{"_index":2175,"title":{"198":{"position":[[0,9]]}},"content":{"198":{"position":[[1,8],[51,8],[153,8]]}},"keywords":{}}],["caught",{"_index":5697,"title":{},"content":{"793":{"position":[[339,6]]}},"keywords":{}}],["caus",{"_index":182,"title":{},"content":{"5":{"position":[[1208,5]]},"36":{"position":[[3197,5],[9985,6]]},"55":{"position":[[2422,6]]},"184":{"position":[[144,6]]},"229":{"position":[[3197,5],[9985,6]]},"241":{"position":[[74,6]]},"319":{"position":[[254,6]]},"330":{"position":[[1066,5]]},"332":{"position":[[508,5]]},"367":{"position":[[1005,6]]},"369":{"position":[[2377,6]]},"380":{"position":[[1655,5]]},"503":{"position":[[166,6]]},"522":{"position":[[1012,5]]},"531":{"position":[[75,6],[396,6]]},"532":{"position":[[55,6]]},"536":{"position":[[134,5]]},"754":{"position":[[312,6]]},"755":{"position":[[309,6]]},"766":{"position":[[297,6]]},"767":{"position":[[294,6]]},"793":{"position":[[411,5],[457,5]]}},"keywords":{}}],["caution",{"_index":5698,"title":{},"content":{"793":{"position":[[372,7]]}},"keywords":{}}],["cbor",{"_index":1082,"title":{"214":{"position":[[0,4]]}},"content":{"48":{"position":[[718,4],[800,4],[2299,4],[3709,4],[3866,4]]},"214":{"position":[[42,6],[231,4],[350,4],[409,4],[1131,4],[1186,6],[1511,4],[1604,4],[1665,4]]}},"keywords":{}}],["cboraccessor",{"_index":2241,"title":{},"content":{"214":{"position":[[476,12],[1734,12]]}},"keywords":{}}],["cborcmd",{"_index":2239,"title":{},"content":{"214":{"position":[[414,7]]}},"keywords":{}}],["cbortlm",{"_index":2273,"title":{},"content":{"214":{"position":[[1670,7]]}},"keywords":{}}],["ccsd",{"_index":1140,"title":{"58":{"position":[[0,5]]},"59":{"position":[[0,5]]},"60":{"position":[[0,5]]}},"content":{"50":{"position":[[314,5],[346,5],[376,5]]},"55":{"position":[[280,5],[402,5],[2668,5],[2766,5],[3104,5]]},"58":{"position":[[5,5],[433,5]]},"59":{"position":[[5,5],[516,5]]},"60":{"position":[[5,5],[903,5]]},"213":{"position":[[159,5]]},"253":{"position":[[1673,5]]},"299":{"position":[[176,5]]},"390":{"position":[[155,5]]},"708":{"position":[[664,5]]}},"keywords":{}}],["ccsds_utility.pi",{"_index":4349,"title":{},"content":{"540":{"position":[[1708,18]]}},"keywords":{}}],["ccsds_version",{"_index":356,"title":{},"content":{"13":{"position":[[512,13]]},"14":{"position":[[398,13]]}},"keywords":{}}],["ccsdsapid",{"_index":267,"title":{},"content":{"7":{"position":[[694,9],[899,9]]},"253":{"position":[[389,9],[1267,9],[2037,9]]},"299":{"position":[[398,9]]}},"keywords":{}}],["ccsdsday",{"_index":2702,"title":{},"content":{"299":{"position":[[719,8]]}},"keywords":{}}],["ccsdslength",{"_index":2478,"title":{},"content":{"253":{"position":[[657,11],[1535,11],[2305,11]]},"299":{"position":[[654,11]]}},"keywords":{}}],["ccsdsmsod",{"_index":2707,"title":{},"content":{"299":{"position":[[803,9]]}},"keywords":{}}],["ccsdsseqcnt",{"_index":2475,"title":{},"content":{"253":{"position":[[566,11],[1444,11],[2214,11]]},"299":{"position":[[586,11]]},"320":{"position":[[1668,11]]}},"keywords":{}}],["ccsdsseqflag",{"_index":2473,"title":{},"content":{"253":{"position":[[478,13],[1356,13],[2126,13]]},"299":{"position":[[468,13]]}},"keywords":{}}],["ccsdsshf",{"_index":2469,"title":{},"content":{"253":{"position":[[297,8],[1175,8],[1945,8]]},"299":{"position":[[305,8]]}},"keywords":{}}],["ccsdstype",{"_index":2468,"title":{},"content":{"253":{"position":[[217,9],[1095,9],[1865,9]]},"299":{"position":[[204,9]]}},"keywords":{}}],["ccsdsusom",{"_index":2710,"title":{},"content":{"299":{"position":[[876,10]]}},"keywords":{}}],["ccsdsutil",{"_index":4348,"title":{},"content":{"540":{"position":[[1689,13]]}},"keywords":{}}],["ccsdsver",{"_index":2466,"title":{},"content":{"253":{"position":[[135,8],[1013,8],[1783,8]]},"299":{"position":[[119,8]]},"687":{"position":[[988,11]]},"689":{"position":[[1030,11]]}},"keywords":{}}],["ccsdsver"",{"_index":5286,"title":{},"content":{"708":{"position":[[414,15]]}},"keywords":{}}],["cd",{"_index":1010,"title":{},"content":{"43":{"position":[[235,2]]},"44":{"position":[[264,2],[676,2]]},"309":{"position":[[3376,2]]},"310":{"position":[[739,2]]},"358":{"position":[[2212,2]]},"378":{"position":[[322,2],[366,2],[453,2]]},"379":{"position":[[82,2],[3566,2]]},"404":{"position":[[2446,2]]}},"keywords":{}}],["cdn.alpinelinux.org",{"_index":972,"title":{},"content":{"42":{"position":[[1980,19]]}},"keywords":{}}],["cell",{"_index":4185,"title":{},"content":{"479":{"position":[[14,5]]}},"keywords":{}}],["cellular",{"_index":4746,"title":{},"content":{"633":{"position":[[28,8]]}},"keywords":{}}],["celsiu",{"_index":664,"title":{},"content":{"36":{"position":[[387,7],[475,7]]},"214":{"position":[[682,7],[1957,7]]},"215":{"position":[[528,7]]},"218":{"position":[[884,7],[1735,7]]},"220":{"position":[[966,7],[2257,7]]},"229":{"position":[[387,7],[475,7]]},"279":{"position":[[382,7],[470,7]]}},"keywords":{}}],["center",{"_index":3822,"title":{},"content":{"393":{"position":[[987,6]]},"549":{"position":[[366,8]]},"606":{"position":[[18,8]]},"612":{"position":[[571,8],[775,7]]}},"keywords":{}}],["cer",{"_index":3055,"title":{},"content":{"332":{"position":[[916,5]]}},"keywords":{}}],["cert",{"_index":469,"title":{"25":{"position":[[9,6]]}},"content":{"21":{"position":[[13,4]]},"22":{"position":[[34,4]]},"23":{"position":[[432,4]]},"25":{"position":[[21,4]]},"109":{"position":[[972,4],[1153,4]]},"110":{"position":[[1306,4],[1487,4]]}},"keywords":{}}],["cert.crt",{"_index":479,"title":{},"content":{"21":{"position":[[201,10]]}},"keywords":{}}],["cert.key",{"_index":480,"title":{},"content":{"21":{"position":[[212,10]]},"24":{"position":[[73,8]]}},"keywords":{}}],["cert.pem",{"_index":539,"title":{},"content":{"24":{"position":[[360,9],[371,8],[730,8]]},"25":{"position":[[53,8]]}},"keywords":{}}],["certain",{"_index":115,"title":{},"content":{"3":{"position":[[489,7]]},"83":{"position":[[169,7]]},"154":{"position":[[43,7]]},"157":{"position":[[50,7]]},"161":{"position":[[45,7]]},"164":{"position":[[52,7]]},"427":{"position":[[326,7]]},"431":{"position":[[202,7],[286,7],[315,7],[491,7]]},"554":{"position":[[118,7]]},"580":{"position":[[46,7]]},"581":{"position":[[49,7]]},"725":{"position":[[27,7]]},"729":{"position":[[27,7]]}},"keywords":{}}],["certfil",{"_index":488,"title":{},"content":{"22":{"position":[[186,9]]}},"keywords":{}}],["certif",{"_index":389,"title":{"20":{"position":[[13,12]]},"26":{"position":[[15,11]]},"332":{"position":[[0,13]]}},"content":{"20":{"position":[[19,12],[123,12],[228,12],[893,11],[1094,11],[1288,11]]},"22":{"position":[[168,13]]},"24":{"position":[[399,12],[476,11],[679,12]]},"26":{"position":[[63,11],[154,11]]},"27":{"position":[[79,12],[681,12]]},"109":{"position":[[229,12],[996,11],[1194,11],[1216,11]]},"110":{"position":[[249,12],[1330,11],[1528,11],[1550,11]]},"332":{"position":[[204,12],[569,11],[1005,11],[1483,11]]},"415":{"position":[[264,11],[417,11]]}},"keywords":{}}],["certifi",{"_index":457,"title":{},"content":{"20":{"position":[[1082,7]]}},"keywords":{}}],["certificate.sha256",{"_index":451,"title":{},"content":{"20":{"position":[[987,18]]}},"keywords":{}}],["cf",{"_index":3554,"title":{"370":{"position":[[16,3]]},"374":{"position":[[11,4]]},"375":{"position":[[6,4]]},"376":{"position":[[21,3]]},"377":{"position":[[14,4]]},"378":{"position":[[50,4]]}},"content":{"373":{"position":[[68,4],[250,3]]},"374":{"position":[[13,3]]},"376":{"position":[[387,4]]},"377":{"position":[[82,3],[110,3],[189,3],[221,3]]},"378":{"position":[[163,4],[168,3],[395,3],[449,3],[470,3],[520,3],[664,3],[734,3],[859,3],[870,3],[1327,4],[1700,4]]},"379":{"position":[[295,3],[1057,3],[1185,3],[1232,3],[1568,3],[1727,3],[2232,3],[2750,3],[3576,3]]},"380":{"position":[[249,3],[344,3],[1096,3],[1200,3],[1268,3],[1450,4],[2239,3]]}},"keywords":{}}],["cfdp",{"_index":2155,"title":{},"content":{"189":{"position":[[256,4],[261,4],[279,5]]},"390":{"position":[[161,4],[174,4]]},"392":{"position":[[290,4]]}},"keywords":{}}],["cfe/cmake/makefile.sampl",{"_index":3585,"title":{},"content":{"376":{"position":[[474,25]]}},"keywords":{}}],["cfe/cmake/sample_def",{"_index":3587,"title":{},"content":{"376":{"position":[[528,21]]}},"keywords":{}}],["cff7fc477df9","scope":"openid",{"_index":1574,"title":{},"content":{"82":{"position":[[4578,49]]}},"keywords":{}}],["cfs/build",{"_index":3590,"title":{},"content":{"376":{"position":[[630,10],[641,10]]}},"keywords":{}}],["cfs/build/exe/cpu1",{"_index":3591,"title":{},"content":{"376":{"position":[[660,19]]}},"keywords":{}}],["cfs/targets/cf",{"_index":3617,"title":{},"content":{"378":{"position":[[1466,16]]}},"keywords":{}}],["cfs/targets/cfs/cmd_tlm",{"_index":3618,"title":{},"content":{"379":{"position":[[92,23]]}},"keywords":{}}],["cfs_cmds.txt",{"_index":3620,"title":{},"content":{"379":{"position":[[127,12],[1162,13]]}},"keywords":{}}],["cfs_int",{"_index":3694,"title":{},"content":{"380":{"position":[[2180,7]]}},"keywords":{}}],["cfs_target_nam",{"_index":3608,"title":{},"content":{"378":{"position":[[843,15],[881,15],[1034,15],[1173,15]]},"380":{"position":[[1310,15]]}},"keywords":{}}],["cfs_tlm.txt",{"_index":3621,"title":{},"content":{"379":{"position":[[146,11],[2726,12]]}},"keywords":{}}],["chain",{"_index":1156,"title":{},"content":{"50":{"position":[[740,6]]},"62":{"position":[[199,5]]},"73":{"position":[[784,5],[1149,5],[1591,6]]}},"keywords":{}}],["chain.pem",{"_index":549,"title":{},"content":{"24":{"position":[[782,9],[811,10],[823,9]]}},"keywords":{}}],["chanc",{"_index":715,"title":{},"content":{"36":{"position":[[3002,6]]},"67":{"position":[[3921,6],[4524,6]]},"229":{"position":[[3002,6]]},"279":{"position":[[2211,6]]},"402":{"position":[[1437,6]]}},"keywords":{}}],["chang",{"_index":1123,"title":{"435":{"position":[[4,7]]}},"content":{"48":{"position":[[4616,8],[4851,6]]},"78":{"position":[[92,6]]},"140":{"position":[[409,7]]},"235":{"position":[[189,7]]},"252":{"position":[[248,6]]},"279":{"position":[[8387,7],[8670,8],[10464,7]]},"285":{"position":[[188,7]]},"296":{"position":[[249,6]]},"307":{"position":[[1742,7]]},"309":{"position":[[1183,6]]},"314":{"position":[[1702,7]]},"320":{"position":[[657,7]]},"324":{"position":[[752,7]]},"326":{"position":[[332,7],[828,7],[950,8],[988,7]]},"330":{"position":[[1443,6]]},"333":{"position":[[442,6]]},"338":{"position":[[633,6]]},"350":{"position":[[1110,6]]},"353":{"position":[[594,6]]},"358":{"position":[[224,6],[7101,6]]},"359":{"position":[[419,8],[1249,6],[1823,7],[2297,6],[2427,6]]},"373":{"position":[[1,6]]},"378":{"position":[[556,6]]},"379":{"position":[[1,6],[3672,6]]},"380":{"position":[[1041,6],[1334,6],[1945,6]]},"382":{"position":[[327,6]]},"383":{"position":[[860,6],[902,6]]},"386":{"position":[[206,7],[566,6]]},"406":{"position":[[198,8]]},"407":{"position":[[586,7]]},"416":{"position":[[143,8],[253,8]]},"422":{"position":[[1392,7]]},"435":{"position":[[12,7],[62,7]]},"454":{"position":[[348,7]]},"455":{"position":[[489,7],[601,7],[644,7]]},"467":{"position":[[82,8],[553,6],[656,7]]},"472":{"position":[[587,6],[854,6]]},"479":{"position":[[95,7]]},"482":{"position":[[657,7]]},"484":{"position":[[218,6]]},"485":{"position":[[149,7]]},"489":{"position":[[3,6]]},"506":{"position":[[344,6],[407,6]]},"511":{"position":[[88,7],[231,7]]},"522":{"position":[[136,6],[205,8],[234,7],[400,8],[1093,8]]},"530":{"position":[[421,7],[519,8]]},"552":{"position":[[1301,7],[1493,6],[1593,8]]},"569":{"position":[[278,7]]},"576":{"position":[[289,6]]},"591":{"position":[[844,6],[952,6]]},"611":{"position":[[277,8]]},"619":{"position":[[22,7]]},"632":{"position":[[52,7]]},"633":{"position":[[55,7]]},"635":{"position":[[168,8]]},"650":{"position":[[38,7]]},"652":{"position":[[15,8]]},"658":{"position":[[664,7]]},"677":{"position":[[1161,6]]},"678":{"position":[[1383,6]]},"679":{"position":[[1404,6]]},"680":{"position":[[1437,6]]},"681":{"position":[[1237,6]]},"682":{"position":[[1454,6]]},"683":{"position":[[1475,6]]},"684":{"position":[[1508,6]]},"721":{"position":[[75,6]]},"741":{"position":[[175,8],[1706,8],[1744,7]]},"758":{"position":[[143,6]]},"759":{"position":[[150,6]]},"768":{"position":[[133,6]]},"769":{"position":[[147,6]]},"810":{"position":[[295,6]]},"814":{"position":[[119,6],[198,6]]}},"keywords":{}}],["changes)not",{"_index":1622,"title":{},"content":{"83":{"position":[[1505,12]]}},"keywords":{}}],["channel",{"_index":1285,"title":{},"content":{"59":{"position":[[433,7]]},"64":{"position":[[1085,7],[1197,7]]},"219":{"position":[[1036,7],[1637,7],[1715,7]]},"402":{"position":[[1268,8],[1679,7]]}},"keywords":{}}],["channel"",{"_index":2344,"title":{},"content":{"219":{"position":[[754,13],[1070,13]]}},"keywords":{}}],["chapter",{"_index":3600,"title":{},"content":{"378":{"position":[[76,7]]}},"keywords":{}}],["char",{"_index":1190,"title":{},"content":{"52":{"position":[[660,4],[960,4],[1017,4],[1058,4],[1116,4]]}},"keywords":{}}],["charact",{"_index":286,"title":{},"content":{"8":{"position":[[37,9],[120,10],[260,9]]},"9":{"position":[[52,10],[138,10],[487,10],[772,10]]},"47":{"position":[[44,9]]},"52":{"position":[[58,10],[132,11],[301,10],[403,10],[523,9],[665,9],[718,10],[740,10],[843,9],[919,9],[965,9],[1029,9],[1063,9],[1087,9],[1121,9],[1145,9]]},"56":{"position":[[62,10],[156,10],[493,10],[613,10],[628,10],[790,10]]},"57":{"position":[[618,11],[702,11]]},"61":{"position":[[1306,10],[1426,10],[1441,10],[1962,10]]},"221":{"position":[[78,10]]},"540":{"position":[[136,9]]},"611":{"position":[[733,10],[758,10]]},"614":{"position":[[318,10],[343,10]]},"615":{"position":[[464,10],[489,10]]},"616":{"position":[[338,10],[363,10]]},"617":{"position":[[341,10],[366,10]]},"618":{"position":[[615,10],[640,10]]},"623":{"position":[[307,10],[332,10]]},"624":{"position":[[310,10],[335,10]]},"625":{"position":[[584,10],[609,10]]},"635":{"position":[[546,10],[571,10]]},"643":{"position":[[127,10]]},"791":{"position":[[40,10],[123,11],[238,10]]},"792":{"position":[[39,10],[122,11]]}},"keywords":{}}],["character",{"_index":3415,"title":{},"content":{"369":{"position":[[13,16]]}},"keywords":{}}],["chart",{"_index":2538,"title":{},"content":{"261":{"position":[[305,6]]},"267":{"position":[[504,6]]},"365":{"position":[[110,7]]},"659":{"position":[[95,5]]}},"keywords":{}}],["check",{"_index":150,"title":{"25":{"position":[[0,8]]},"563":{"position":[[0,8]]},"568":{"position":[[15,6]]},"697":{"position":[[0,6]]}},"content":{"5":{"position":[[327,7]]},"36":{"position":[[4958,5],[8955,5]]},"40":{"position":[[1315,7]]},"59":{"position":[[365,7]]},"77":{"position":[[872,7]]},"83":{"position":[[2015,6]]},"229":{"position":[[4958,5],[8955,5]]},"251":{"position":[[836,6],[1604,6]]},"290":{"position":[[304,7]]},"302":{"position":[[2063,8]]},"303":{"position":[[1011,5]]},"320":{"position":[[595,5]]},"323":{"position":[[171,5],[575,5]]},"326":{"position":[[1027,5]]},"330":{"position":[[621,6]]},"339":{"position":[[306,8]]},"348":{"position":[[1408,9],[1437,8]]},"349":{"position":[[3214,5],[3312,5],[3372,5],[3998,8],[4044,6],[4094,8],[4143,6],[4480,5],[5890,7],[6057,7],[6205,7],[6335,7],[6497,7],[6654,6],[6881,7]]},"358":{"position":[[4624,5],[5874,5]]},"369":{"position":[[4082,5]]},"455":{"position":[[989,6],[1117,5],[1442,5]]},"468":{"position":[[210,7],[330,8]]},"530":{"position":[[487,6]]},"540":{"position":[[4628,8],[4842,8]]},"542":{"position":[[947,5]]},"544":{"position":[[440,7],[462,7],[1273,7]]},"552":{"position":[[2634,5]]},"556":{"position":[[609,6]]},"557":{"position":[[111,6],[135,5],[246,5]]},"560":{"position":[[398,6]]},"563":{"position":[[30,8]]},"565":{"position":[[95,6],[135,5],[201,5],[239,5],[678,6],[738,8],[956,6],[1016,8]]},"568":{"position":[[37,6],[218,6],[401,5],[546,7],[656,7],[708,6],[804,8],[896,5]]},"637":{"position":[[1842,7]]},"638":{"position":[[12,5],[233,5],[269,7]]},"654":{"position":[[867,5],[903,7]]},"658":{"position":[[296,6]]},"678":{"position":[[52,8]]},"680":{"position":[[66,6]]},"682":{"position":[[75,8]]},"684":{"position":[[89,6]]},"685":{"position":[[267,8]]},"697":{"position":[[182,5],[319,6]]},"698":{"position":[[1,6]]},"699":{"position":[[179,5],[448,5],[890,5]]},"726":{"position":[[23,5]]},"799":{"position":[[92,6]]}},"keywords":{}}],["check("<target",{"_index":5199,"title":{},"content":{"697":{"position":[[350,22]]}},"keywords":{}}],["check("inst",{"_index":5202,"title":{},"content":{"697":{"position":[[810,16],[1080,16],[1165,16],[1437,16]]},"710":{"position":[[772,16],[890,16],[1058,16],[1176,16]]}},"keywords":{}}],["check_except",{"_index":5223,"title":{"700":{"position":[[0,16]]}},"content":{},"keywords":{}}],["check_exception("<method",{"_index":5225,"title":{},"content":{"700":{"position":[[149,32]]}},"keywords":{}}],["check_exception("cmd"",{"_index":5228,"title":{},"content":{"700":{"position":[[392,32],[526,32]]}},"keywords":{}}],["check_express",{"_index":4551,"title":{"699":{"position":[[0,17]]}},"content":{"565":{"position":[[39,17]]},"699":{"position":[[288,17],[343,16]]},"728":{"position":[[261,17]]}},"keywords":{}}],["check_expression("#{answ",{"_index":5215,"title":{},"content":{"699":{"position":[[505,32]]}},"keywords":{}}],["check_expression("<expression>"",{"_index":5218,"title":{},"content":{"699":{"position":[[928,48]]}},"keywords":{}}],["check_expression("'#{answ",{"_index":5217,"title":{},"content":{"699":{"position":[[750,34]]}},"keywords":{}}],["check_expression("tlm('inst",{"_index":5220,"title":{},"content":{"699":{"position":[[1063,32]]}},"keywords":{}}],["check_format",{"_index":5196,"title":{"697":{"position":[[18,16]]}},"content":{},"keywords":{}}],["check_formatted("inst",{"_index":5204,"title":{},"content":{"697":{"position":[[922,26],[1277,26]]}},"keywords":{}}],["check_raw",{"_index":5195,"title":{"697":{"position":[[7,10]]}},"content":{},"keywords":{}}],["check_raw("inst",{"_index":5203,"title":{},"content":{"697":{"position":[[864,20],[1219,20]]}},"keywords":{}}],["check_temperature(1",{"_index":4434,"title":{},"content":{"547":{"position":[[969,20]]}},"keywords":{}}],["check_temperature(10",{"_index":4443,"title":{},"content":{"547":{"position":[[1158,21]]}},"keywords":{}}],["check_temperature(2",{"_index":4435,"title":{},"content":{"547":{"position":[[990,20]]}},"keywords":{}}],["check_temperature(3",{"_index":4436,"title":{},"content":{"547":{"position":[[1011,20]]}},"keywords":{}}],["check_temperature(4",{"_index":4437,"title":{},"content":{"547":{"position":[[1032,20]]}},"keywords":{}}],["check_temperature(5",{"_index":4438,"title":{},"content":{"547":{"position":[[1053,20]]}},"keywords":{}}],["check_temperature(6",{"_index":4439,"title":{},"content":{"547":{"position":[[1074,20]]}},"keywords":{}}],["check_temperature(7",{"_index":4440,"title":{},"content":{"547":{"position":[[1095,20]]}},"keywords":{}}],["check_temperature(8",{"_index":4441,"title":{},"content":{"547":{"position":[[1116,20]]}},"keywords":{}}],["check_temperature(9",{"_index":4442,"title":{},"content":{"547":{"position":[[1137,20]]}},"keywords":{}}],["check_temperature(temperature_numb",{"_index":4431,"title":{},"content":{"547":{"position":[[641,36],[738,37]]}},"keywords":{}}],["check_toler",{"_index":5207,"title":{"698":{"position":[[0,16]]}},"content":{"698":{"position":[[228,16]]}},"keywords":{}}],["check_tolerance("<target",{"_index":5208,"title":{},"content":{"698":{"position":[[269,32]]}},"keywords":{}}],["check_tolerance("inst",{"_index":5211,"title":{},"content":{"698":{"position":[[753,26],[821,26],[920,26],[988,26]]}},"keywords":{}}],["check_with_unit",{"_index":5197,"title":{"697":{"position":[[35,17]]}},"content":{},"keywords":{}}],["check_with_units("inst",{"_index":5205,"title":{},"content":{"697":{"position":[[986,27],[1341,27]]}},"keywords":{}}],["checkbox",{"_index":4141,"title":{},"content":{"454":{"position":[[387,8]]},"535":{"position":[[36,10]]},"560":{"position":[[1006,8]]},"637":{"position":[[1940,8]]},"638":{"position":[[189,8]]}},"keywords":{}}],["checkbutton",{"_index":4755,"title":{"638":{"position":[[0,12]]}},"content":{"637":{"position":[[369,12],[2032,11]]},"638":{"position":[[239,11]]},"654":{"position":[[873,11]]}},"keywords":{}}],["checkedclick",{"_index":3963,"title":{},"content":{"404":{"position":[[1478,12]]}},"keywords":{}}],["checkerror",{"_index":5224,"title":{},"content":{"700":{"position":[[103,10]]}},"keywords":{}}],["checkingdisplay",{"_index":4160,"title":{},"content":{"466":{"position":[[27,16]]}},"keywords":{}}],["checkout",{"_index":3718,"title":{},"content":{"386":{"position":[[219,8]]},"546":{"position":[[913,9],[1132,9]]}},"keywords":{}}],["checkperform",{"_index":4283,"title":{},"content":{"529":{"position":[[135,12]]}},"keywords":{}}],["checks.rb",{"_index":4773,"title":{},"content":{"637":{"position":[[2006,9]]}},"keywords":{}}],["checksum",{"_index":3637,"title":{},"content":{"379":{"position":[[780,8],[1660,8],[2165,8],[2665,8]]}},"keywords":{}}],["checkview",{"_index":4284,"title":{},"content":{"529":{"position":[[166,9]]}},"keywords":{}}],["chmod",{"_index":2863,"title":{},"content":{"309":{"position":[[1873,5]]},"317":{"position":[[284,5]]}},"keywords":{}}],["choic",{"_index":2548,"title":{},"content":{"263":{"position":[[505,7]]},"425":{"position":[[146,6]]},"427":{"position":[[629,7]]},"429":{"position":[[90,7]]},"547":{"position":[[350,7],[440,6]]},"559":{"position":[[1106,7]]},"560":{"position":[[234,7]]},"632":{"position":[[172,7]]},"697":{"position":[[301,6]]},"698":{"position":[[210,6]]},"699":{"position":[[270,6]]},"722":{"position":[[342,7]]},"723":{"position":[[246,7]]},"724":{"position":[[343,7]]},"725":{"position":[[219,7]]}},"keywords":{}}],["choos",{"_index":2390,"title":{},"content":{"225":{"position":[[831,6]]},"264":{"position":[[168,7]]},"271":{"position":[[855,6]]},"309":{"position":[[3772,6]]},"333":{"position":[[824,6]]},"369":{"position":[[3733,8]]},"421":{"position":[[362,6],[398,6]]},"427":{"position":[[174,6]]},"504":{"position":[[103,7]]},"532":{"position":[[217,6]]},"543":{"position":[[109,6]]},"563":{"position":[[387,6]]}},"keywords":{}}],["chooser",{"_index":4129,"title":{},"content":{"446":{"position":[[206,9]]},"481":{"position":[[150,7],[269,7]]}},"keywords":{}}],["chosen",{"_index":3420,"title":{},"content":{"369":{"position":[[99,6]]},"389":{"position":[[1658,6]]},"421":{"position":[[314,6]]}},"keywords":{}}],["chrome",{"_index":400,"title":{},"content":{"20":{"position":[[142,6]]},"485":{"position":[[325,7]]}},"keywords":{}}],["chrome)click",{"_index":1763,"title":{},"content":{"93":{"position":[[376,12]]}},"keywords":{}}],["chrome/124.0.0.0",{"_index":1616,"title":{},"content":{"83":{"position":[[1196,16]]}},"keywords":{}}],["chrome/edg",{"_index":3113,"title":{},"content":{"344":{"position":[[239,11]]}},"keywords":{}}],["chromium",{"_index":1596,"title":{},"content":{"83":{"position":[[460,8]]},"344":{"position":[[196,8]]}},"keywords":{}}],["chunk",{"_index":1587,"title":{},"content":{"82":{"position":[[6602,7]]},"386":{"position":[[413,7]]}},"keywords":{}}],["ciphersuit",{"_index":605,"title":{},"content":{"29":{"position":[[124,13]]}},"keywords":{}}],["circl",{"_index":4140,"title":{},"content":{"454":{"position":[[277,6],[367,6],[446,7]]},"612":{"position":[[310,6],[363,6]]},"619":{"position":[[618,6],[671,6]]},"622":{"position":[[12,6],[329,6]]}},"keywords":{}}],["circumst",{"_index":4090,"title":{},"content":{"431":{"position":[[331,14]]},"432":{"position":[[1422,13]]},"435":{"position":[[165,14]]}},"keywords":{}}],["citi",{"_index":427,"title":{},"content":{"20":{"position":[[548,5],[563,7]]}},"keywords":{}}],["claim",{"_index":3782,"title":{},"content":{"390":{"position":[[974,6]]}},"keywords":{}}],["clariti",{"_index":714,"title":{},"content":{"36":{"position":[[2985,7]]},"229":{"position":[[2985,7]]},"279":{"position":[[2194,7]]}},"keywords":{}}],["class",{"_index":744,"title":{"551":{"position":[[6,7]]}},"content":{"36":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8190,5],[9084,5]]},"50":{"position":[[1143,5]]},"67":{"position":[[143,7],[639,5],[751,5],[836,5],[1249,8],[1523,8],[1636,5]]},"69":{"position":[[129,6],[142,5],[401,5],[702,5]]},"70":{"position":[[248,5],[297,5],[376,5]]},"71":{"position":[[111,5],[176,5],[255,5]]},"72":{"position":[[117,5],[185,5],[267,5]]},"73":{"position":[[604,5],[934,5],[1354,5]]},"74":{"position":[[785,5],[862,5],[948,5]]},"75":{"position":[[646,5],[724,5],[811,5]]},"76":{"position":[[643,5],[715,5],[817,5]]},"77":{"position":[[927,5],[1025,5],[1153,5]]},"78":{"position":[[188,5],[327,5],[475,5]]},"100":{"position":[[173,7],[661,8]]},"115":{"position":[[2216,5],[2460,5],[2491,5],[2576,5]]},"139":{"position":[[576,5]]},"140":{"position":[[70,5]]},"223":{"position":[[271,5],[277,5]]},"229":{"position":[[4153,5],[5085,6],[5129,5],[5149,5],[5261,6],[5375,5],[5552,5],[5886,5],[8190,5],[9084,5]]},"242":{"position":[[29,5],[99,5],[259,5],[295,5],[358,5]]},"251":{"position":[[37,5],[69,5],[264,6],[308,5],[328,5],[437,6],[521,5],[666,5],[1445,5]]},"275":{"position":[[1058,5]]},"279":{"position":[[3102,5],[3566,6],[3610,5],[3630,5],[3742,6],[3856,5],[4032,5],[4366,5],[6849,5],[7207,5],[10401,5],[10512,5],[10740,5]]},"288":{"position":[[21,5],[165,5],[388,5]]},"291":{"position":[[29,5],[99,5],[259,5],[295,5]]},"302":{"position":[[1466,7]]},"312":{"position":[[53,5]]},"314":{"position":[[1820,6]]},"342":{"position":[[484,5]]},"447":{"position":[[423,5]]},"533":{"position":[[11,5],[163,5],[387,5],[627,5]]},"534":{"position":[[42,5],[131,5],[364,5]]},"540":{"position":[[1516,5],[1641,5],[4455,5]]},"551":{"position":[[1,7],[368,6],[527,6],[662,5],[761,5],[1241,5]]},"561":{"position":[[312,5],[625,5]]},"571":{"position":[[253,5]]},"572":{"position":[[86,7],[217,5],[266,6],[369,7],[461,7],[500,7],[572,5]]},"576":{"position":[[179,5]]},"580":{"position":[[97,5],[124,5]]},"581":{"position":[[535,5],[562,5]]},"795":{"position":[[244,6],[332,6],[699,5],[736,5],[779,6],[875,5],[937,6],[1034,5],[1096,5],[1183,5],[1358,5],[1647,5],[1727,5],[1911,5]]}},"keywords":{}}],["class>",{"_index":5708,"title":{},"content":{"795":{"position":[[534,10],[571,10],[611,10],[643,10]]}},"keywords":{}}],["classif",{"_index":3239,"title":{},"content":{"356":{"position":[[880,14],[905,14]]},"393":{"position":[[1358,14]]}},"keywords":{}}],["classnam",{"_index":2053,"title":{},"content":{"139":{"position":[[539,9]]}},"keywords":{}}],["clcert",{"_index":585,"title":{},"content":{"27":{"position":[[730,7]]}},"keywords":{}}],["clean",{"_index":1972,"title":{},"content":{"115":{"position":[[678,5]]},"358":{"position":[[425,5]]},"473":{"position":[[1448,5]]}},"keywords":{}}],["cleanup",{"_index":2113,"title":{},"content":{"171":{"position":[[28,7],[119,7]]},"174":{"position":[[448,7]]},"175":{"position":[[166,7]]},"333":{"position":[[1102,8],[1354,8],[1363,7]]}},"keywords":{}}],["cleanup_poll_tim",{"_index":2112,"title":{"171":{"position":[[0,18]]}},"content":{},"keywords":{}}],["clear",{"_index":170,"title":{},"content":{"5":{"position":[[790,5]]},"226":{"position":[[260,5]]},"276":{"position":[[289,5]]},"416":{"position":[[84,8]]},"528":{"position":[[3,6]]},"531":{"position":[[733,6],[779,5]]},"540":{"position":[[2049,5],[2964,5]]},"550":{"position":[[298,6]]},"642":{"position":[[359,7],[424,7]]},"654":{"position":[[777,7],[842,7],[1118,7]]},"713":{"position":[[1,6],[438,5],[524,5],[625,5],[711,5]]},"787":{"position":[[864,5]]}},"keywords":{}}],["clear"",{"_index":4359,"title":{},"content":{"540":{"position":[[2151,12],[3067,12]]},"638":{"position":[[388,12],[422,13]]},"679":{"position":[[1580,12]]},"683":{"position":[[1655,12]]}},"keywords":{}}],["clear')"",{"_index":4798,"title":{},"content":{"642":{"position":[[559,13]]}},"keywords":{}}],["clear'))"",{"_index":4847,"title":{},"content":{"654":{"position":[[1142,14]]}},"keywords":{}}],["clear_al",{"_index":4863,"title":{},"content":{"662":{"position":[[221,9]]}},"keywords":{}}],["clear_all_screen",{"_index":4864,"title":{"782":{"position":[[0,18]]}},"content":{"662":{"position":[[264,17]]},"782":{"position":[[60,19]]},"787":{"position":[[835,19]]}},"keywords":{}}],["clear_collect",{"_index":4376,"title":{},"content":{"540":{"position":[[4258,15],[4908,16]]}},"keywords":{}}],["clear_collects('inst",{"_index":4367,"title":{},"content":{"540":{"position":[[2623,22],[3528,22]]}},"keywords":{}}],["clear_collects('inst2",{"_index":4368,"title":{},"content":{"540":{"position":[[2646,23],[3551,23]]}},"keywords":{}}],["clear_collects(target",{"_index":4357,"title":{},"content":{"540":{"position":[[2108,22],[3023,23]]}},"keywords":{}}],["clear_disconnected_target",{"_index":4866,"title":{},"content":{"662":{"position":[[348,26]]}},"keywords":{}}],["clear_screen",{"_index":4862,"title":{"781":{"position":[[0,13]]}},"content":{"662":{"position":[[208,12],[335,12]]}},"keywords":{}}],["clear_screen("<target",{"_index":5658,"title":{},"content":{"781":{"position":[[58,29]]}},"keywords":{}}],["clear_screen("inst"",{"_index":5659,"title":{},"content":{"781":{"position":[[278,30]]}},"keywords":{}}],["clearli",{"_index":4044,"title":{},"content":{"425":{"position":[[9,7]]}},"keywords":{}}],["clg",{"_index":1777,"title":{},"content":{"95":{"position":[[88,6]]}},"keywords":{}}],["cli",{"_index":2738,"title":{},"content":{"301":{"position":[[190,3],[217,3],[262,3],[1311,3]]},"302":{"position":[[192,3],[219,3],[303,3]]},"303":{"position":[[204,3],[237,3],[327,3]]},"304":{"position":[[225,3],[256,3],[359,3]]},"305":{"position":[[240,3],[276,3],[384,3]]},"306":{"position":[[282,3],[309,3],[383,3]]},"307":{"position":[[490,3],[515,3],[575,3]]},"320":{"position":[[899,3],[1050,3],[1194,3],[1475,3]]},"326":{"position":[[518,4],[557,3]]},"333":{"position":[[1074,5],[1124,4],[1135,3],[1167,5],[1211,3],[1240,5]]},"358":{"position":[[1285,3],[1448,3],[1740,3],[1963,3],[2266,3],[2406,3]]},"359":{"position":[[91,3],[1905,3]]},"378":{"position":[[429,3],[500,3]]},"379":{"position":[[3606,3]]},"383":{"position":[[1163,3],[1398,3]]},"396":{"position":[[197,3]]},"397":{"position":[[196,3]]}},"keywords":{}}],["click",{"_index":1019,"title":{"531":{"position":[[6,5]]}},"content":{"43":{"position":[[657,5],[801,5]]},"83":{"position":[[560,5],[597,5]]},"93":{"position":[[355,5],[514,5]]},"216":{"position":[[610,5]]},"217":{"position":[[2731,5]]},"320":{"position":[[1452,5]]},"324":{"position":[[896,8]]},"340":{"position":[[586,8]]},"346":{"position":[[754,5],[1064,5],[1629,5]]},"347":{"position":[[390,5]]},"348":{"position":[[314,5]]},"349":{"position":[[3769,5]]},"350":{"position":[[627,5],[797,5]]},"353":{"position":[[576,5]]},"355":{"position":[[183,5]]},"358":{"position":[[446,5],[495,5]]},"359":{"position":[[515,5],[538,5],[637,5],[808,5],[2064,5],[2097,5],[2322,5]]},"380":{"position":[[153,5],[297,5]]},"407":{"position":[[560,7],[630,8]]},"408":{"position":[[81,8]]},"409":{"position":[[56,8]]},"410":{"position":[[50,8]]},"411":{"position":[[99,8]]},"421":{"position":[[682,8]]},"433":{"position":[[155,8]]},"441":{"position":[[1,5]]},"442":{"position":[[1,5]]},"443":{"position":[[1,5]]},"450":{"position":[[45,8]]},"452":{"position":[[411,8]]},"461":{"position":[[236,5],[299,8],[459,5],[546,5],[606,8]]},"462":{"position":[[82,5],[275,5],[395,5]]},"467":{"position":[[272,8]]},"472":{"position":[[276,8],[478,8],[1067,5],[1130,8],[1290,5],[1377,5],[1437,8]]},"473":{"position":[[700,8],[880,8],[1141,8]]},"478":{"position":[[298,5],[361,8],[521,5],[608,5],[668,8]]},"481":{"position":[[88,8],[211,8]]},"483":{"position":[[92,8],[162,8]]},"484":{"position":[[24,8],[94,8],[137,8],[265,8]]},"485":{"position":[[1,8]]},"487":{"position":[[266,7]]},"491":{"position":[[85,5]]},"492":{"position":[[7,8]]},"502":{"position":[[235,5],[298,8],[458,5],[545,5],[605,8]]},"503":{"position":[[145,8]]},"504":{"position":[[1,8]]},"505":{"position":[[1,8],[318,5]]},"506":{"position":[[55,8],[277,8],[386,5]]},"514":{"position":[[89,8],[230,8],[312,8]]},"515":{"position":[[92,8],[251,8],[342,8]]},"521":{"position":[[254,5],[317,8],[477,5],[564,5],[624,8]]},"522":{"position":[[598,8]]},"523":{"position":[[192,8]]},"524":{"position":[[54,8]]},"528":{"position":[[770,8],[858,8]]},"530":{"position":[[63,8],[193,5],[621,5]]},"531":{"position":[[7,8],[804,8]]},"533":{"position":[[923,8]]},"534":{"position":[[773,8],[873,8],[942,8]]},"535":{"position":[[337,8],[1300,6]]},"536":{"position":[[303,8]]},"555":{"position":[[9,5]]},"559":{"position":[[1273,8]]},"569":{"position":[[298,8],[1040,8],[1074,8]]},"632":{"position":[[519,5],[731,5]]},"633":{"position":[[386,5]]},"637":{"position":[[47,9]]},"649":{"position":[[732,7]]},"650":{"position":[[1645,7]]},"668":{"position":[[138,6],[168,7]]}},"keywords":{}}],["clickabl",{"_index":4753,"title":{},"content":{"637":{"position":[[24,9]]}},"keywords":{}}],["client",{"_index":1835,"title":{"104":{"position":[[6,6]]},"107":{"position":[[5,6]]}},"content":{"103":{"position":[[49,7],[81,7]]},"104":{"position":[[11,6]]},"107":{"position":[[10,6]]},"109":{"position":[[121,6],[989,6],[1035,6],[1083,6],[1278,6]]},"110":{"position":[[141,6],[1323,6],[1369,6],[1417,6],[1612,6]]},"149":{"position":[[160,7],[292,8],[362,6]]},"215":{"position":[[51,6]]},"216":{"position":[[51,6]]},"217":{"position":[[47,6],[411,6],[1120,7],[2430,6]]},"220":{"position":[[50,6]]},"358":{"position":[[7617,6]]},"402":{"position":[[502,6]]},"426":{"position":[[1194,8]]},"756":{"position":[[169,8],[586,8],[1139,8]]},"765":{"position":[[163,8],[562,8],[1097,8]]}},"keywords":{}}],["clip",{"_index":3671,"title":{},"content":{"380":{"position":[[166,4]]}},"keywords":{}}],["cliroot",{"_index":3074,"title":{},"content":{"333":{"position":[[1080,8],[1196,8]]},"358":{"position":[[1944,7]]}},"keywords":{}}],["clock",{"_index":2566,"title":{},"content":{"265":{"position":[[296,6]]},"359":{"position":[[2107,5]]},"368":{"position":[[604,5]]},"416":{"position":[[136,6]]}},"keywords":{}}],["clone",{"_index":2194,"title":{"331":{"position":[[0,5]]},"375":{"position":[[0,5]]}},"content":{"208":{"position":[[40,5],[77,5]]},"309":{"position":[[2771,5]]},"323":{"position":[[103,6],[607,5]]},"331":{"position":[[69,5],[124,5]]},"333":{"position":[[17,6]]},"358":{"position":[[734,6]]},"375":{"position":[[5,5]]},"386":{"position":[[115,5]]},"404":{"position":[[2388,5]]}},"keywords":{}}],["close",{"_index":1969,"title":{"779":{"position":[[9,7]]}},"content":{"115":{"position":[[370,5]]},"349":{"position":[[1094,7],[1528,6]]},"506":{"position":[[658,7],[777,6]]},"524":{"position":[[1004,6]]},"557":{"position":[[430,7]]},"578":{"position":[[15,5],[68,6]]},"779":{"position":[[39,5]]},"781":{"position":[[1,6]]},"782":{"position":[[1,6]]}},"keywords":{}}],["close_local_screen",{"_index":4865,"title":{},"content":{"662":{"position":[[282,19]]}},"keywords":{}}],["cloud",{"_index":30,"title":{},"content":{"2":{"position":[[17,5]]},"97":{"position":[[113,5]]},"258":{"position":[[664,5]]},"261":{"position":[[357,5],[471,5]]},"268":{"position":[[196,5],[233,5]]},"343":{"position":[[108,5]]},"367":{"position":[[68,6]]},"439":{"position":[[239,5],[271,5],[308,5]]},"440":{"position":[[840,5]]}},"keywords":{}}],["cltu",{"_index":1141,"title":{"58":{"position":[[6,4]]}},"content":{"50":{"position":[[320,4]]},"58":{"position":[[11,4],[37,4]]}},"keywords":{}}],["cluster",{"_index":2572,"title":{},"content":{"267":{"position":[[528,7]]},"367":{"position":[[53,7]]},"368":{"position":[[343,7]]},"369":{"position":[[4041,7],[4195,7]]}},"keywords":{}}],["cm",{"_index":4575,"title":{},"content":{"571":{"position":[[97,2]]}},"keywords":{}}],["cmake",{"_index":3581,"title":{},"content":{"376":{"position":[[332,5]]}},"keywords":{}}],["cmd",{"_index":937,"title":{"145":{"position":[[0,4]]},"185":{"position":[[0,4]]},"677":{"position":[[0,4]]}},"content":{"42":{"position":[[1130,3],[2145,3],[2395,3],[2489,3]]},"44":{"position":[[40,3],[640,3],[693,3],[719,3],[788,3],[814,3],[861,3],[921,3],[1061,3],[1120,3],[1187,3],[1264,3],[1307,3],[1519,3]]},"91":{"position":[[50,4],[118,3],[1253,3]]},"143":{"position":[[86,3],[305,3]]},"145":{"position":[[228,3],[307,3]]},"181":{"position":[[70,3],[289,3]]},"185":{"position":[[248,3],[330,3]]},"239":{"position":[[34,8]]},"258":{"position":[[987,3]]},"299":{"position":[[294,3]]},"303":{"position":[[1252,3]]},"346":{"position":[[600,3],[734,3]]},"348":{"position":[[567,3],[685,3],[841,3],[1013,3],[1175,3],[1335,3],[1507,3],[1671,3],[1837,3],[2072,3],[2216,3]]},"349":{"position":[[1905,6]]},"364":{"position":[[732,3],[775,3],[874,3]]},"369":{"position":[[1241,3],[2730,3],[3584,3]]},"379":{"position":[[1572,3]]},"402":{"position":[[3093,3],[4017,3]]},"542":{"position":[[210,5]]},"544":{"position":[[692,6],[773,6],[1095,8]]},"637":{"position":[[846,5]]},"658":{"position":[[1067,4]]},"685":{"position":[[225,4]]},"700":{"position":[[324,6]]}},"keywords":{}}],["cmd("#{target",{"_index":4358,"title":{},"content":{"540":{"position":[[2131,19],[2487,19]]}},"keywords":{}}],["cmd("#{target_nam",{"_index":4543,"title":{},"content":{"564":{"position":[[366,24]]}},"keywords":{}}],["cmd("<target",{"_index":5041,"title":{},"content":{"677":{"position":[[43,20],[202,20],[408,20],[567,20]]}},"keywords":{}}],["cmd("inst",{"_index":4381,"title":{},"content":{"542":{"position":[[263,14],[511,14],[707,14]]},"545":{"position":[[366,14],[463,14]]},"554":{"position":[[994,14]]},"677":{"position":[[1294,14],[1646,14],[1726,14],[1897,14]]}},"keywords":{}}],["cmd("inst"",{"_index":5050,"title":{},"content":{"677":{"position":[[1408,21],[1525,21],[1786,21]]}},"keywords":{}}],["cmd("target",{"_index":4405,"title":{},"content":{"544":{"position":[[1408,16]]}},"keywords":{}}],["cmd("tgt",{"_index":4231,"title":{},"content":{"499":{"position":[[773,13]]}},"keywords":{}}],["cmd("tgt"",{"_index":4222,"title":{},"content":{"498":{"position":[[951,20]]}},"keywords":{}}],["cmd(f"target",{"_index":4411,"title":{},"content":{"544":{"position":[[1688,17]]}},"keywords":{}}],["cmd(f"{target",{"_index":4371,"title":{},"content":{"540":{"position":[[3047,19],[3397,19]]}},"keywords":{}}],["cmd(f"{target_nam",{"_index":4546,"title":{},"content":{"564":{"position":[[545,24]]}},"keywords":{}}],["cmd.txt",{"_index":2387,"title":{},"content":{"225":{"position":[[553,7],[641,8]]}},"keywords":{}}],["cmd/tlm",{"_index":1079,"title":{},"content":{"48":{"position":[[522,7]]},"57":{"position":[[973,7]]},"302":{"position":[[2460,7]]},"548":{"position":[[210,7]]},"750":{"position":[[85,8]]},"764":{"position":[[78,8]]}},"keywords":{}}],["cmd_acpt_cnt",{"_index":2232,"title":{},"content":{"213":{"position":[[1033,12]]},"251":{"position":[[1166,13],[1291,12],[2096,12]]}},"keywords":{}}],["cmd_acpt_cnt"",{"_index":2452,"title":{},"content":{"251":{"position":[[1200,19],[1988,19]]}},"keywords":{}}],["cmd_acpt_cnt}"",{"_index":2455,"title":{},"content":{"251":{"position":[[1309,23]]}},"keywords":{}}],["cmd_arg",{"_index":1468,"title":{},"content":{"78":{"position":[[243,10],[390,11]]}},"keywords":{}}],["cmd_buffer_depth",{"_index":2087,"title":{"152":{"position":[[0,17]]}},"content":{},"keywords":{}}],["cmd_cnt",{"_index":3666,"title":{},"content":{"379":{"position":[[3399,7]]},"695":{"position":[[347,7]]}},"keywords":{}}],["cmd_count",{"_index":5537,"title":{},"content":{"756":{"position":[[470,10],[784,13],[1029,10]]}},"keywords":{}}],["cmd_decom_log_cycle_s",{"_index":2098,"title":{"157":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_cycle_tim",{"_index":2097,"title":{"156":{"position":[[0,25]]}},"content":{},"keywords":{}}],["cmd_decom_log_retain_tim",{"_index":2099,"title":{"158":{"position":[[0,26]]}},"content":{},"keywords":{}}],["cmd_err",{"_index":3664,"title":{},"content":{"379":{"position":[[3337,8]]}},"keywords":{}}],["cmd_id",{"_index":3636,"title":{},"content":{"379":{"position":[[730,6],[1610,6],[2115,6],[2615,6]]}},"keywords":{}}],["cmd_int",{"_index":2026,"title":{},"content":{"131":{"position":[[189,7],[320,7],[367,7],[516,7]]}},"keywords":{}}],["cmd_list",{"_index":5114,"title":{},"content":{"687":{"position":[[301,8],[348,8],[759,8]]},"688":{"position":[[209,8],[261,8],[333,8]]}},"keywords":{}}],["cmd_log_cycle_s",{"_index":2091,"title":{"154":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_cycle_tim",{"_index":2089,"title":{"153":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmd_log_retain_tim",{"_index":2095,"title":{"155":{"position":[[0,20]]}},"content":{},"keywords":{}}],["cmd_name",{"_index":1471,"title":{},"content":{"78":{"position":[[380,9]]}},"keywords":{}}],["cmd_no_check",{"_index":1717,"title":{"680":{"position":[[0,14]]}},"content":{"91":{"position":[[99,13],[354,13],[1423,13]]}},"keywords":{}}],["cmd_no_checks("<target",{"_index":5061,"title":{},"content":{"680":{"position":[[279,30],[448,30],[664,30],[833,30]]}},"keywords":{}}],["cmd_no_checks("inst",{"_index":5062,"title":{},"content":{"680":{"position":[[1570,24],[1788,24]]}},"keywords":{}}],["cmd_no_checks("inst"",{"_index":5063,"title":{},"content":{"680":{"position":[[1641,31],[1859,31]]}},"keywords":{}}],["cmd_no_hazardous_check",{"_index":1716,"title":{"679":{"position":[[0,23]]}},"content":{"91":{"position":[[75,23],[263,22],[1396,23]]}},"keywords":{}}],["cmd_no_hazardous_check("<target",{"_index":5057,"title":{},"content":{"679":{"position":[[210,39],[388,39],[613,39],[791,39]]}},"keywords":{}}],["cmd_no_hazardous_check("inst",{"_index":5058,"title":{},"content":{"679":{"position":[[1546,33]]}},"keywords":{}}],["cmd_no_hazardous_check("inst"",{"_index":5059,"title":{},"content":{"679":{"position":[[1593,40]]}},"keywords":{}}],["cmd_no_range_check",{"_index":1715,"title":{"678":{"position":[[0,19]]}},"content":{"91":{"position":[[55,19],[183,18],[1261,18]]}},"keywords":{}}],["cmd_no_range_check("<target",{"_index":5054,"title":{},"content":{"678":{"position":[[205,35],[379,35],[600,35],[774,35]]}},"keywords":{}}],["cmd_no_range_check("inst",{"_index":5055,"title":{},"content":{"678":{"position":[[1516,29],[1742,29]]}},"keywords":{}}],["cmd_no_range_check("inst"",{"_index":5056,"title":{},"content":{"678":{"position":[[1591,36],[1817,36]]}},"keywords":{}}],["cmd_onli",{"_index":5559,"title":{},"content":{"757":{"position":[[221,9],[343,8]]}},"keywords":{}}],["cmd_or_tlm/target",{"_index":1100,"title":{},"content":{"48":{"position":[[2450,17]]}},"keywords":{}}],["cmd_override.txt",{"_index":2388,"title":{},"content":{"225":{"position":[[576,16]]}},"keywords":{}}],["cmd_raw",{"_index":5065,"title":{"681":{"position":[[0,8]]}},"content":{},"keywords":{}}],["cmd_raw("<target",{"_index":5066,"title":{},"content":{"681":{"position":[[71,24],[234,24],[460,24],[623,24]]}},"keywords":{}}],["cmd_raw("inst",{"_index":5068,"title":{},"content":{"681":{"position":[[1370,18],[1552,18]]}},"keywords":{}}],["cmd_raw("inst"",{"_index":5069,"title":{},"content":{"681":{"position":[[1429,25],[1611,25]]}},"keywords":{}}],["cmd_raw_no_check",{"_index":5078,"title":{"684":{"position":[[0,18]]}},"content":{},"keywords":{}}],["cmd_raw_no_checks("<target",{"_index":5079,"title":{},"content":{"684":{"position":[[302,34],[475,34],[711,34],[884,34]]}},"keywords":{}}],["cmd_raw_no_checks("inst",{"_index":5080,"title":{},"content":{"684":{"position":[[1641,28],[1843,28]]}},"keywords":{}}],["cmd_raw_no_checks("inst"",{"_index":5081,"title":{},"content":{"684":{"position":[[1710,35],[1912,35]]}},"keywords":{}}],["cmd_raw_no_hazardous_check",{"_index":5074,"title":{"683":{"position":[[0,27]]}},"content":{},"keywords":{}}],["cmd_raw_no_hazardous_check("<target",{"_index":5075,"title":{},"content":{"683":{"position":[[233,43],[415,43],[660,43],[842,43]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst",{"_index":5076,"title":{},"content":{"683":{"position":[[1617,37]]}},"keywords":{}}],["cmd_raw_no_hazardous_check("inst"",{"_index":5077,"title":{},"content":{"683":{"position":[[1668,44]]}},"keywords":{}}],["cmd_raw_no_range_check",{"_index":5070,"title":{"682":{"position":[[0,23]]}},"content":{},"keywords":{}}],["cmd_raw_no_range_check("<target",{"_index":5071,"title":{},"content":{"682":{"position":[[228,39],[406,39],[647,39],[825,39]]}},"keywords":{}}],["cmd_raw_no_range_check("inst",{"_index":5072,"title":{},"content":{"682":{"position":[[1587,33],[1799,33]]}},"keywords":{}}],["cmd_raw_no_range_check("inst"",{"_index":5073,"title":{},"content":{"682":{"position":[[1661,40],[1873,40]]}},"keywords":{}}],["cmd_templat",{"_index":1298,"title":{},"content":{"61":{"position":[[568,12],[846,13]]}},"keywords":{}}],["cmd_tlm",{"_index":281,"title":{},"content":{"7":{"position":[[1199,7]]},"15":{"position":[[453,7]]},"16":{"position":[[455,7]]},"225":{"position":[[255,7]]},"271":{"position":[[283,7]]},"395":{"position":[[218,7]]}},"keywords":{}}],["cmd_tlm_clear_count",{"_index":4867,"title":{},"content":{"662":{"position":[[400,22]]}},"keywords":{}}],["cmd_tlm_reload",{"_index":4868,"title":{},"content":{"662":{"position":[[463,14]]}},"keywords":{}}],["cmd_unique_id_mod",{"_index":368,"title":{"17":{"position":[[0,19]]}},"content":{},"keywords":{}}],["cmdrespons",{"_index":1318,"title":{"64":{"position":[[0,11]]}},"content":{"63":{"position":[[49,12]]},"64":{"position":[[5,11]]}},"keywords":{}}],["cmdresponseprotocol",{"_index":1250,"title":{},"content":{"57":{"position":[[339,20],[1078,19],[1248,19]]},"61":{"position":[[158,19]]},"64":{"position":[[479,19]]},"219":{"position":[[99,20]]}},"keywords":{}}],["cmdsender",{"_index":4494,"title":{},"content":{"554":{"position":[[909,9]]}},"keywords":{}}],["cmdtlmserver",{"_index":1008,"title":{},"content":{"43":{"position":[[186,14]]},"115":{"position":[[1174,12],[1433,12]]},"339":{"position":[[385,12]]},"359":{"position":[[666,12],[952,12]]},"380":{"position":[[2149,12]]},"554":{"position":[[966,12]]},"566":{"position":[[725,12]]}},"keywords":{}}],["cob",{"_index":1131,"title":{"51":{"position":[[0,4]]}},"content":{"50":{"position":[[61,5]]},"51":{"position":[[39,6]]}},"keywords":{}}],["code",{"_index":202,"title":{"300":{"position":[[0,4]]}},"content":{"6":{"position":[[186,4],[483,4],[576,4]]},"13":{"position":[[270,4]]},"20":{"position":[[476,5]]},"36":{"position":[[813,4],[8046,4],[8304,4],[8413,4]]},"42":{"position":[[54,4]]},"43":{"position":[[1185,4],[1294,5]]},"44":{"position":[[8,4],[1457,5],[1474,4],[1531,4]]},"52":{"position":[[289,4]]},"67":{"position":[[473,5],[1133,4],[1407,4]]},"79":{"position":[[57,4]]},"88":{"position":[[80,4]]},"100":{"position":[[193,4]]},"123":{"position":[[46,4]]},"124":{"position":[[83,4]]},"126":{"position":[[676,4]]},"209":{"position":[[551,4],[601,4]]},"210":{"position":[[115,4]]},"211":{"position":[[278,4]]},"217":{"position":[[706,4]]},"229":{"position":[[813,4],[8046,4],[8304,4],[8413,4]]},"240":{"position":[[202,4]]},"255":{"position":[[46,4]]},"258":{"position":[[79,4],[274,5],[465,4],[1928,4]]},"269":{"position":[[226,4]]},"279":{"position":[[808,4],[6706,4],[6963,4],[7071,4]]},"287":{"position":[[211,4]]},"288":{"position":[[41,4]]},"302":{"position":[[1372,4],[1425,4],[1641,4]]},"303":{"position":[[519,4]]},"304":{"position":[[848,4]]},"305":{"position":[[927,4]]},"306":{"position":[[797,4]]},"307":{"position":[[1321,4]]},"320":{"position":[[30,4],[1219,4]]},"324":{"position":[[15,4],[46,4]]},"349":{"position":[[150,4],[1885,4],[2028,4]]},"358":{"position":[[7634,4]]},"386":{"position":[[644,4]]},"387":{"position":[[818,4],[1236,4],[1396,4]]},"389":{"position":[[348,4],[691,4],[933,5],[1072,4],[1286,4],[1922,4],[2176,4]]},"390":{"position":[[1245,4]]},"391":{"position":[[69,4],[287,4]]},"392":{"position":[[470,4],[570,4]]},"440":{"position":[[489,4]]},"531":{"position":[[104,4],[245,4],[598,4]]},"540":{"position":[[393,4],[491,4],[3839,4],[3915,4],[3993,4],[4801,4]]},"544":{"position":[[95,4],[305,4],[384,4],[1211,4]]},"545":{"position":[[213,5]]},"546":{"position":[[183,4]]},"547":{"position":[[127,4]]},"550":{"position":[[408,4],[519,4],[644,4],[756,4]]},"551":{"position":[[212,4]]},"552":{"position":[[86,4],[256,4],[315,5],[359,4],[399,5],[510,4],[554,4],[860,4],[970,4],[1194,5],[1256,4],[1425,4],[1849,4],[1906,4],[2563,4],[2587,4],[2696,5]]},"554":{"position":[[370,4]]},"564":{"position":[[141,5]]},"566":{"position":[[486,5],[655,4]]},"637":{"position":[[92,4],[390,4],[1661,4],[1677,4]]},"658":{"position":[[914,4],[1097,4]]},"793":{"position":[[41,4],[202,4]]},"795":{"position":[[1161,4],[1245,4],[1291,4],[1336,4],[1708,4],[1785,4],[1839,4],[1892,4]]}},"keywords":{}}],["coeffici",{"_index":787,"title":{},"content":{"36":{"position":[[6339,11],[6370,11],[7135,11],[7166,11]]},"229":{"position":[[6339,11],[6370,11],[7135,11],[7166,11]]},"279":{"position":[[4878,11],[4909,11],[5736,11],[5767,11]]}},"keywords":{}}],["cognit",{"_index":1806,"title":{},"content":{"96":{"position":[[642,9]]}},"keywords":{}}],["collect",{"_index":145,"title":{},"content":{"5":{"position":[[121,7],[224,8]]},"7":{"position":[[287,8],[972,8]]},"91":{"position":[[1784,7]]},"213":{"position":[[516,7],[1099,8],[1195,7]]},"226":{"position":[[541,7]]},"235":{"position":[[413,7]]},"236":{"position":[[497,7]]},"252":{"position":[[464,7]]},"253":{"position":[[106,7],[899,10]]},"362":{"position":[[73,10]]},"364":{"position":[[340,9]]},"369":{"position":[[697,9]]},"424":{"position":[[516,9]]},"426":{"position":[[293,7],[509,7],[577,7],[767,7],[828,7]]},"434":{"position":[[50,9],[414,7],[848,7]]},"435":{"position":[[127,8],[312,10]]},"468":{"position":[[127,7]]},"540":{"position":[[2059,7],[2205,8],[2369,8],[2426,8],[2507,7],[2581,8],[2593,10],[2974,7],[3121,8],[3281,8],[3336,8],[3417,7],[3491,8],[3503,9],[4500,7],[4859,7]]},"542":{"position":[[278,7],[526,7],[605,8],[722,7],[802,8]]},"546":{"position":[[1038,10]]},"554":{"position":[[1009,7]]},"564":{"position":[[391,7],[570,7]]},"637":{"position":[[1060,7],[1756,8],[1785,7]]},"639":{"position":[[323,8],[423,7]]},"643":{"position":[[310,8],[405,7]]},"654":{"position":[[159,8],[273,7],[497,8],[526,7]]},"677":{"position":[[1309,7],[1741,7]]},"678":{"position":[[1546,7],[1772,7]]},"680":{"position":[[1595,7],[1813,7]]},"681":{"position":[[1389,7],[1571,7]]},"682":{"position":[[1621,7],[1833,7]]},"684":{"position":[[1670,7],[1872,7]]},"685":{"position":[[442,7],[1001,7],[1218,10]]},"687":{"position":[[561,7],[934,7]]},"689":{"position":[[600,7],[976,7]]},"690":{"position":[[443,7],[1170,7],[1301,8]]},"691":{"position":[[1098,10]]},"694":{"position":[[815,7]]},"695":{"position":[[422,7]]},"697":{"position":[[841,8],[899,8],[963,8],[1028,8],[1111,8],[1196,8],[1254,8],[1318,8],[1383,8],[1468,8]]},"699":{"position":[[1110,10]]},"710":{"position":[[720,8],[803,8],[857,8],[921,8],[1007,8],[1089,8],[1143,8],[1207,8]]},"722":{"position":[[1568,8],[1633,8],[1778,8],[1843,8]]},"724":{"position":[[994,10]]},"726":{"position":[[1076,8],[1149,8],[1253,8],[1326,8]]},"728":{"position":[[847,10]]}},"keywords":{}}],["collect"",{"_index":2223,"title":{},"content":{"213":{"position":[[550,13]]},"226":{"position":[[572,13]]},"691":{"position":[[444,14],[948,14]]},"695":{"position":[[380,14]]}},"keywords":{}}],["collect.rb",{"_index":4772,"title":{},"content":{"637":{"position":[[1995,10]]}},"keywords":{}}],["collect_data",{"_index":2465,"title":{},"content":{"253":{"position":[[54,12]]}},"keywords":{}}],["collect_typ",{"_index":4698,"title":{},"content":{"614":{"position":[[486,12]]},"615":{"position":[[679,12]]},"639":{"position":[[496,12]]},"654":{"position":[[198,12],[345,12]]}},"keywords":{}}],["collector",{"_index":3312,"title":{},"content":{"362":{"position":[[32,10]]}},"keywords":{}}],["collects"",{"_index":251,"title":{},"content":{"7":{"position":[[320,14],[1005,14]]},"213":{"position":[[1132,14]]},"540":{"position":[[2471,15],[3381,15]]},"542":{"position":[[495,15],[691,15]]},"698":{"position":[[794,15],[961,15]]},"701":{"position":[[599,15],[735,15],[798,15],[862,15],[943,15],[1027,15],[1163,15],[1226,15],[1290,15],[1371,15]]},"723":{"position":[[1314,15],[1395,15],[1521,15],[1602,15]]},"727":{"position":[[1137,15],[1224,15],[1342,15],[1429,15]]}},"keywords":{}}],["color",{"_index":2563,"title":{},"content":{"265":{"position":[[236,6]]},"279":{"position":[[2469,5],[2479,5],[8134,7],[9581,7],[9968,7]]},"350":{"position":[[900,5],[1011,8],[1170,5],[1243,5],[1384,6]]},"473":{"position":[[368,5]]},"487":{"position":[[175,7]]},"581":{"position":[[822,5]]},"587":{"position":[[43,5],[137,6]]},"588":{"position":[[37,5],[131,6]]},"589":{"position":[[41,5],[142,6]]},"611":{"position":[[312,7]]},"612":{"position":[[1030,5],[1149,5],[1155,5]]},"619":{"position":[[30,5],[962,5],[1081,5],[1087,5]]},"620":{"position":[[45,7]]},"621":{"position":[[45,7]]},"622":{"position":[[40,5]]},"632":{"position":[[60,5]]},"635":{"position":[[203,7]]},"647":{"position":[[307,5],[313,5]]},"648":{"position":[[414,5],[420,5]]},"651":{"position":[[341,5],[347,5]]},"652":{"position":[[9,5],[84,6],[1209,5],[1273,5],[1279,5]]},"653":{"position":[[136,5],[142,5]]},"803":{"position":[[104,6],[269,5],[292,5],[447,6]]},"804":{"position":[[107,6],[286,5],[309,5]]}},"keywords":{}}],["color='ff5252",{"_index":5740,"title":{},"content":{"803":{"position":[[550,15]]}},"keywords":{}}],["column",{"_index":859,"title":{},"content":{"39":{"position":[[52,6]]},"457":{"position":[[195,7]]},"479":{"position":[[132,6]]},"514":{"position":[[105,6]]},"515":{"position":[[108,6]]},"598":{"position":[[159,7]]}},"keywords":{}}],["com1",{"_index":1907,"title":{},"content":{"111":{"position":[[287,6],[399,6],[1214,4],[1219,4]]},"140":{"position":[[708,4],[713,4]]},"314":{"position":[[484,4],[537,4]]}},"keywords":{}}],["com2",{"_index":1920,"title":{},"content":{"111":{"position":[[1437,4],[1442,4]]}},"keywords":{}}],["com4",{"_index":1922,"title":{},"content":{"111":{"position":[[1533,4],[1538,4],[1655,4],[1660,4],[1865,4],[1870,4]]}},"keywords":{}}],["combin",{"_index":618,"title":{},"content":{"31":{"position":[[339,8]]},"138":{"position":[[623,8]]},"349":{"position":[[1192,8]]},"368":{"position":[[136,8]]},"383":{"position":[[561,8]]},"726":{"position":[[1,8]]}},"keywords":{}}],["combo_box",{"_index":4513,"title":{"668":{"position":[[0,10]]}},"content":{"559":{"position":[[1165,11]]},"668":{"position":[[44,9]]}},"keywords":{}}],["combo_box("<message>"",{"_index":4974,"title":{},"content":{"668":{"position":[[384,38]]}},"keywords":{}}],["combo_box("select",{"_index":4981,"title":{},"content":{"668":{"position":[[760,22],[1075,22]]}},"keywords":{}}],["combobox",{"_index":3122,"title":{"639":{"position":[[0,9]]}},"content":{"346":{"position":[[1498,9]]},"637":{"position":[[1986,8]]},"639":{"position":[[509,8]]},"654":{"position":[[358,8]]}},"keywords":{}}],["come",{"_index":156,"title":{"95":{"position":[[22,4]]}},"content":{"5":{"position":[[424,4]]},"22":{"position":[[295,6]]},"44":{"position":[[1416,6]]},"121":{"position":[[175,5]]},"197":{"position":[[166,4]]},"271":{"position":[[1615,5]]},"338":{"position":[[544,5]]},"339":{"position":[[143,4]]},"342":{"position":[[572,5]]},"358":{"position":[[5480,5]]},"430":{"position":[[362,5]]},"540":{"position":[[87,5],[1057,5],[1150,4]]}},"keywords":{}}],["comma",{"_index":2353,"title":{},"content":{"219":{"position":[[1455,5]]},"476":{"position":[[58,5]]},"673":{"position":[[1144,5]]}},"keywords":{}}],["command",{"_index":35,"title":{"15":{"position":[[0,9]]},"91":{"position":[[8,9]]},"224":{"position":[[0,8]]},"225":{"position":[[0,7]]},"226":{"position":[[0,8]]},"227":{"position":[[0,7]]},"315":{"position":[[7,9]]},"346":{"position":[[0,7]]},"348":{"position":[[0,7]]},"444":{"position":[[0,7]]},"447":{"position":[[0,8]]},"463":{"position":[[0,7]]},"465":{"position":[[0,7]]},"467":{"position":[[8,9]]},"468":{"position":[[10,9]]},"508":{"position":[[0,7]]},"510":{"position":[[0,7]]},"514":{"position":[[0,7]]},"676":{"position":[[0,9]]}},"content":{"2":{"position":[[68,7]]},"5":{"position":[[106,7],[185,7],[505,7],[622,7],[654,7],[675,8],[736,8],[855,7],[992,7],[1057,7]]},"13":{"position":[[18,7],[87,7],[125,8],[147,7],[166,7],[244,7],[378,7],[449,8]]},"15":{"position":[[19,7],[87,7],[126,7],[217,7],[413,7],[520,8]]},"16":{"position":[[130,7],[221,7],[306,7],[337,7],[522,8]]},"17":{"position":[[16,7],[109,8],[208,8],[224,7]]},"20":{"position":[[261,7],[813,7],[1510,7]]},"27":{"position":[[145,7],[229,7],[658,7],[784,7]]},"28":{"position":[[108,7]]},"31":{"position":[[515,7]]},"35":{"position":[[1266,7],[1797,7]]},"36":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6158,7],[6280,7],[6788,7],[6911,7],[7852,7],[7975,7],[8175,7],[8485,7],[8511,7],[8926,8]]},"37":{"position":[[1059,7],[1590,7]]},"42":{"position":[[518,8],[903,8],[2361,7]]},"44":{"position":[[1372,7]]},"48":{"position":[[562,7]]},"50":{"position":[[1084,11]]},"54":{"position":[[1444,8]]},"56":{"position":[[538,7]]},"58":{"position":[[80,7]]},"59":{"position":[[68,7]]},"61":{"position":[[287,7],[347,8],[1351,7]]},"64":{"position":[[55,8],[536,7],[625,7],[643,7]]},"65":{"position":[[43,8]]},"66":{"position":[[44,7]]},"77":{"position":[[253,8]]},"78":{"position":[[41,8]]},"83":{"position":[[338,7]]},"87":{"position":[[12,7]]},"91":{"position":[[40,9],[137,7],[329,8],[410,8],[887,7],[1035,7],[1145,7],[1324,7],[1382,9],[1541,7],[1588,7],[1633,7]]},"93":{"position":[[305,7],[454,7],[605,8]]},"95":{"position":[[65,7],[123,7],[165,10]]},"100":{"position":[[271,8],[457,7],[1083,8]]},"104":{"position":[[63,8],[312,8]]},"105":{"position":[[300,8]]},"106":{"position":[[251,8],[383,8]]},"107":{"position":[[61,8],[316,8]]},"108":{"position":[[273,8]]},"109":{"position":[[171,9],[326,8],[404,7],[1919,7],[2074,7],[2112,7],[2173,7]]},"110":{"position":[[191,9],[340,8],[708,9]]},"114":{"position":[[267,9],[306,7],[391,8],[401,7]]},"117":{"position":[[192,7]]},"119":{"position":[[291,8]]},"120":{"position":[[203,8]]},"121":{"position":[[80,8],[106,8]]},"122":{"position":[[130,9]]},"131":{"position":[[55,8],[113,7],[301,8],[497,8]]},"145":{"position":[[16,7],[67,7]]},"149":{"position":[[26,8],[126,7]]},"152":{"position":[[26,8]]},"153":{"position":[[1,7]]},"154":{"position":[[1,7]]},"155":{"position":[[22,7],[113,7]]},"156":{"position":[[1,7]]},"157":{"position":[[1,7]]},"158":{"position":[[24,7],[117,7]]},"185":{"position":[[1,7],[51,7]]},"210":{"position":[[43,8]]},"211":{"position":[[50,8]]},"213":{"position":[[492,9],[503,7]]},"214":{"position":[[210,9],[249,7],[401,7]]},"215":{"position":[[110,9],[149,7],[280,7]]},"216":{"position":[[138,9],[189,8]]},"217":{"position":[[376,9],[466,7],[1046,7],[1322,7]]},"218":{"position":[[252,9],[291,7],[438,7]]},"219":{"position":[[58,7],[211,9],[254,7],[385,7],[413,8],[479,7],[612,7],[678,7]]},"220":{"position":[[164,9],[202,7],[345,7]]},"221":{"position":[[101,9]]},"225":{"position":[[1,7],[37,7],[130,7],[203,7],[334,7],[409,9],[597,8],[804,7],[1089,7],[1348,7]]},"226":{"position":[[15,7],[92,7],[124,7],[145,8],[206,8],[325,7],[462,7],[528,7]]},"227":{"position":[[38,7]]},"228":{"position":[[11,7],[44,7],[144,8],[189,7],[1295,7],[1826,7]]},"229":{"position":[[1992,7],[2063,7],[2169,7],[2733,7],[2939,7],[3258,8],[3351,7],[4018,7],[4432,7],[4488,7],[4514,7],[4929,8],[6158,7],[6280,7],[6788,7],[6911,7],[7852,7],[7975,7],[8175,7],[8485,7],[8511,7],[8926,8]]},"230":{"position":[[11,7],[44,7],[144,8],[1078,7],[1609,7]]},"231":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[412,7],[1439,7],[1970,7]]},"232":{"position":[[27,7],[60,7],[152,8],[163,7],[256,7],[367,8],[1275,7],[1806,7]]},"233":{"position":[[11,7],[44,7],[161,8],[206,7]]},"234":{"position":[[11,7],[44,7],[161,8]]},"235":{"position":[[21,7],[200,8]]},"236":{"position":[[36,7],[113,7]]},"237":{"position":[[12,7],[50,7],[94,8],[177,7]]},"238":{"position":[[15,7],[50,7],[133,8]]},"239":{"position":[[53,8]]},"240":{"position":[[33,7]]},"241":{"position":[[24,7],[66,7],[133,7],[208,7]]},"243":{"position":[[66,7],[206,7]]},"244":{"position":[[64,7],[202,7]]},"245":{"position":[[74,7]]},"246":{"position":[[80,7]]},"247":{"position":[[58,7]]},"248":{"position":[[60,7]]},"250":{"position":[[87,10],[152,8]]},"251":{"position":[[49,7],[99,7],[769,7],[820,7],[933,8],[1537,7],[1588,7],[1701,8],[1844,9],[2049,9]]},"252":{"position":[[21,7],[121,7],[175,7],[347,7],[379,7],[404,7]]},"253":{"position":[[39,7],[949,7],[1709,7]]},"259":{"position":[[195,8]]},"276":{"position":[[135,7]]},"279":{"position":[[7993,7]]},"299":{"position":[[247,8]]},"302":{"position":[[699,7],[796,8],[1137,7],[1207,9],[1864,7],[2051,7],[2409,7]]},"321":{"position":[[1568,7]]},"332":{"position":[[529,7],[806,7]]},"333":{"position":[[738,7],[1139,7],[1215,7],[1471,8]]},"338":{"position":[[70,7]]},"339":{"position":[[262,8]]},"342":{"position":[[190,7],[267,8],[310,7],[513,8],[919,8],[1126,8]]},"343":{"position":[[159,7],[1373,8],[1569,7]]},"344":{"position":[[388,8],[1176,8]]},"345":{"position":[[460,10],[489,7],[770,7],[793,7]]},"346":{"position":[[5,7],[159,7],[263,7],[424,7],[522,7],[581,9],[627,7],[674,7],[707,7],[786,8],[805,7],[919,7],[1124,7],[1222,7],[1377,7],[1519,7],[1692,7]]},"348":{"position":[[1,7],[55,8],[161,7],[206,7],[252,8],[291,7],[337,7],[404,7],[446,7],[504,7],[573,7],[621,8],[648,7],[691,7],[760,8],[787,7],[847,7],[915,7],[992,7],[1019,7],[1085,7],[1154,7],[1181,7],[1217,8],[1285,7],[1341,7],[1378,8],[1467,7],[1513,7],[1677,7],[1725,7],[1844,7],[1883,8],[1948,7],[1999,7],[2079,7],[2107,7],[2131,7],[2152,7],[2195,7],[2223,7],[2267,7],[2282,7],[2317,8],[2333,7]]},"349":{"position":[[2744,8],[2789,7],[4378,7],[4467,8]]},"355":{"position":[[263,8],[300,7],[546,8],[587,7]]},"358":{"position":[[585,7],[1127,8],[1289,7],[2737,7],[3181,7],[3222,7],[4643,7],[5848,7],[5957,7],[6049,7],[6116,7],[6214,7],[8215,8]]},"359":{"position":[[1100,7],[1335,7],[2477,7],[2732,7]]},"368":{"position":[[392,7]]},"369":{"position":[[458,11]]},"378":{"position":[[273,7]]},"379":{"position":[[287,7],[1002,7],[1075,8],[1177,7],[1719,7],[2224,7]]},"380":{"position":[[2030,8]]},"385":{"position":[[137,7]]},"387":{"position":[[26,9]]},"395":{"position":[[36,7],[125,7],[264,7]]},"396":{"position":[[19,7]]},"397":{"position":[[19,7]]},"398":{"position":[[131,8]]},"402":{"position":[[236,7]]},"404":{"position":[[2122,8]]},"418":{"position":[[49,8]]},"422":{"position":[[91,7],[633,8],[687,8]]},"445":{"position":[[1,7],[53,8],[78,8],[147,7]]},"446":{"position":[[13,7],[55,8],[93,8]]},"447":{"position":[[5,8],[74,8],[319,7],[376,7],[459,7],[546,7]]},"449":{"position":[[140,8]]},"454":{"position":[[98,9]]},"457":{"position":[[30,7]]},"464":{"position":[[1,7],[49,7],[76,8],[162,7],[192,7],[242,8],[258,7],[387,7]]},"467":{"position":[[10,7],[166,8],[200,7],[448,7],[488,7],[534,7],[628,8],[644,7],[698,7],[804,8]]},"468":{"position":[[19,8],[69,8],[81,8],[423,7]]},"476":{"position":[[25,7]]},"494":{"position":[[95,7]]},"498":{"position":[[267,10],[552,10],[726,7]]},"499":{"position":[[286,10],[501,10]]},"509":{"position":[[5,7],[292,7],[381,7]]},"511":{"position":[[5,7],[120,7]]},"513":{"position":[[85,7],[132,7],[214,7],[279,7],[321,7],[371,7],[411,7],[462,8],[539,7],[618,7],[641,10],[694,8],[761,8],[787,11],[842,7],[853,7],[882,7]]},"514":{"position":[[5,7],[52,9],[168,9],[218,8],[300,8],[329,7],[359,7],[400,8]]},"517":{"position":[[55,7]]},"540":{"position":[[4613,10]]},"542":{"position":[[77,7],[135,7],[441,8],[983,7],[1008,7]]},"544":{"position":[[49,7]]},"545":{"position":[[331,7]]},"554":{"position":[[711,8],[759,10],[785,8],[930,7],[1080,7]]},"556":{"position":[[538,8]]},"564":{"position":[[9,7]]},"637":{"position":[[135,8],[739,8],[803,8],[1208,7]]},"654":{"position":[[103,10]]},"658":{"position":[[983,8],[1152,7],[1246,8]]},"661":{"position":[[177,7]]},"662":{"position":[[423,7],[478,7],[601,7],[661,7],[749,7],[806,7],[881,7],[951,7],[1030,7],[1089,7],[1279,7],[1360,7],[1426,7],[1477,7],[1550,7],[1630,7],[1689,7],[1779,7],[1873,7],[1932,7],[2004,7],[2062,7],[2112,7],[2177,7],[2263,7],[2335,7],[2407,7],[2485,7],[2543,7],[2596,7],[2657,7],[2713,7],[2789,7],[3434,7],[3545,7],[4012,7],[4066,7],[4120,7],[4195,7],[4264,7],[4318,7],[4379,7],[4432,7],[4485,7],[4538,7],[4602,7],[4664,7],[4753,7],[4885,7],[4949,7],[5017,7]]},"676":{"position":[[42,8],[93,8]]},"677":{"position":[[19,8],[806,7],[834,7],[860,8],[927,7],[1046,7],[1270,7]]},"678":{"position":[[19,7],[154,7],[1028,7],[1056,7],[1082,8],[1149,7],[1268,7],[1492,7]]},"679":{"position":[[19,7],[84,8],[185,9],[1049,7],[1077,7],[1103,8],[1170,7],[1289,7],[1513,7]]},"680":{"position":[[19,7],[110,8],[211,8],[1082,7],[1110,7],[1136,8],[1203,7],[1322,7],[1546,7]]},"681":{"position":[[19,7],[882,7],[910,7],[936,8],[1003,7],[1122,7],[1346,7]]},"682":{"position":[[19,7],[177,7],[1099,7],[1127,7],[1153,8],[1220,7],[1339,7],[1563,7]]},"683":{"position":[[19,7],[107,8],[208,9],[1120,7],[1148,7],[1174,8],[1241,7],[1360,7],[1584,7]]},"684":{"position":[[19,7],[133,8],[234,8],[1153,7],[1181,7],[1207,8],[1274,7],[1393,7],[1617,7]]},"685":{"position":[[10,7],[201,7],[283,8],[334,7]]},"687":{"position":[[25,8],[144,7]]},"688":{"position":[[25,7]]},"689":{"position":[[11,7],[50,7]]},"690":{"position":[[29,7],[326,7],[351,8]]},"692":{"position":[[52,7],[284,7],[309,8],[318,7],[369,7],[404,8]]},"693":{"position":[[51,7],[453,7],[478,8],[514,7]]},"694":{"position":[[37,7],[267,7],[311,7],[336,8],[380,7],[530,7],[657,7],[823,7]]},"695":{"position":[[41,7],[288,7],[313,8],[430,7]]},"710":{"position":[[36,7]]},"712":{"position":[[54,7]]},"713":{"position":[[48,7]]},"754":{"position":[[253,7]]},"755":{"position":[[251,7]]},"756":{"position":[[254,7]]},"757":{"position":[[46,8],[390,8]]},"758":{"position":[[8,7],[368,7],[393,7],[409,7],[460,7]]},"759":{"position":[[8,7],[384,7],[409,7],[425,7],[476,7],[503,7],[688,7],[749,7]]},"766":{"position":[[238,7]]},"767":{"position":[[236,7]]},"768":{"position":[[8,7],[346,7],[371,7],[387,7],[438,7]]},"769":{"position":[[8,7],[388,7],[413,7],[429,7],[480,7],[507,7],[692,7],[753,7]]},"784":{"position":[[147,12]]},"799":{"position":[[58,8]]}},"keywords":{}}],["command"",{"_index":148,"title":{},"content":{"5":{"position":[[154,13],[263,14]]},"214":{"position":[[453,13]]},"215":{"position":[[332,13]]},"218":{"position":[[490,13]]},"220":{"position":[[394,13]]},"240":{"position":[[410,13]]},"379":{"position":[[1216,13],[1769,13],[2269,13]]}},"keywords":{}}],["command/respons",{"_index":1456,"title":{},"content":{"77":{"position":[[155,16]]}},"keywords":{}}],["command/telemetri",{"_index":4422,"title":{},"content":{"546":{"position":[[227,17]]}},"keywords":{}}],["command:"",{"_index":4837,"title":{},"content":{"654":{"position":[[281,14]]}},"keywords":{}}],["command_nam",{"_index":1719,"title":{},"content":{"91":{"position":[[556,12],[1552,12]]},"694":{"position":[[468,13],[579,13],[711,13]]}},"keywords":{}}],["command_param",{"_index":1733,"title":{},"content":{"91":{"position":[[1596,14]]}},"keywords":{}}],["command_validator.rb",{"_index":2438,"title":{},"content":{"251":{"position":[[399,22]]}},"keywords":{}}],["commandlog",{"_index":2125,"title":{},"content":{"174":{"position":[[390,11]]}},"keywords":{}}],["commands:"",{"_index":4844,"title":{},"content":{"654":{"position":[[720,15]]}},"keywords":{}}],["commandvalid",{"_index":2439,"title":{},"content":{"251":{"position":[[444,18]]}},"keywords":{}}],["commasdelimit",{"_index":4184,"title":{},"content":{"478":{"position":[[134,13]]}},"keywords":{}}],["comment",{"_index":2902,"title":{"437":{"position":[[17,9]]},"545":{"position":[[4,8]]}},"content":{"309":{"position":[[3458,7]]},"310":{"position":[[489,7]]},"324":{"position":[[365,7],[673,7],[980,8]]},"437":{"position":[[26,8]]},"479":{"position":[[56,7]]},"540":{"position":[[1745,8],[4291,7]]},"545":{"position":[[5,8],[154,7],[235,8],[345,8],[455,7],[536,7]]}},"keywords":{}}],["comment/uncom",{"_index":3161,"title":{},"content":{"349":{"position":[[1648,17]]}},"keywords":{}}],["comment=expir",{"_index":1535,"title":{},"content":{"82":{"position":[[867,16]]}},"keywords":{}}],["commerc",{"_index":3833,"title":{},"content":{"393":{"position":[[1405,9]]},"429":{"position":[[382,8]]}},"keywords":{}}],["commerci",{"_index":3761,"title":{"391":{"position":[[0,10]]},"392":{"position":[[21,10]]}},"content":{"389":{"position":[[1491,10],[1609,10],[2076,13]]},"390":{"position":[[466,10],[511,10],[1381,10]]},"391":{"position":[[331,10],[597,10]]},"392":{"position":[[684,10]]},"393":{"position":[[260,13],[359,10]]}},"keywords":{}}],["commit",{"_index":907,"title":{"424":{"position":[[4,11]]}},"content":{"42":{"position":[[218,6]]},"98":{"position":[[109,6]]},"371":{"position":[[105,7]]},"386":{"position":[[392,7]]},"424":{"position":[[280,9]]},"429":{"position":[[26,9]]}},"keywords":{}}],["commod",{"_index":3832,"title":{},"content":{"393":{"position":[[1348,9]]}},"keywords":{}}],["common",{"_index":274,"title":{"558":{"position":[[0,6]]},"568":{"position":[[0,6]]}},"content":{"7":{"position":[[1123,6]]},"20":{"position":[[671,6]]},"48":{"position":[[126,6],[153,6],[3918,6]]},"70":{"position":[[143,6]]},"71":{"position":[[328,6]]},"72":{"position":[[343,6]]},"96":{"position":[[369,6],[510,6]]},"100":{"position":[[508,6]]},"104":{"position":[[194,6]]},"213":{"position":[[405,6]]},"217":{"position":[[270,6]]},"324":{"position":[[112,6]]},"387":{"position":[[1532,6]]},"544":{"position":[[249,6],[323,6]]},"557":{"position":[[408,6]]},"568":{"position":[[17,6]]},"572":{"position":[[351,6],[432,6]]},"582":{"position":[[435,6]]},"587":{"position":[[117,6]]},"588":{"position":[[111,6]]},"589":{"position":[[122,6]]},"659":{"position":[[698,6]]},"699":{"position":[[427,6]]}},"keywords":{}}],["common/src/components/widgets/widget"",{"_index":2950,"title":{},"content":{"320":{"position":[[271,43]]}},"keywords":{}}],["commonli",{"_index":1228,"title":{},"content":{"55":{"position":[[2654,8]]},"107":{"position":[[111,8]]},"108":{"position":[[104,8]]},"219":{"position":[[26,8]]},"542":{"position":[[184,8]]}},"keywords":{}}],["commun",{"_index":1268,"title":{},"content":{"58":{"position":[[42,13]]},"97":{"position":[[94,11]]},"105":{"position":[[128,11]]},"112":{"position":[[424,9]]},"119":{"position":[[73,12]]},"122":{"position":[[45,11]]},"343":{"position":[[1049,13],[1296,13]]},"358":{"position":[[1170,11]]},"378":{"position":[[596,13]]},"387":{"position":[[48,14],[153,11],[420,11]]},"426":{"position":[[396,14],[798,11]]},"427":{"position":[[483,13],[563,15]]},"431":{"position":[[608,14],[783,14],[949,15]]},"433":{"position":[[112,14]]}},"keywords":{}}],["compact",{"_index":2502,"title":{},"content":{"257":{"position":[[190,7]]}},"keywords":{}}],["compani",{"_index":429,"title":{},"content":{"20":{"position":[[594,8],[612,7]]},"142":{"position":[[192,7]]},"180":{"position":[[212,7]]},"393":{"position":[[826,8],[953,7],[1090,10]]},"432":{"position":[[46,7],[90,8],[624,9],[798,9]]},"434":{"position":[[108,8]]}},"keywords":{}}],["compar",{"_index":4262,"title":{},"content":{"522":{"position":[[1252,7]]},"633":{"position":[[427,7]]}},"keywords":{}}],["comparison",{"_index":3414,"title":{"369":{"position":[[12,11]]}},"content":{"697":{"position":[[159,10],[636,10],[649,10],[704,10]]},"699":{"position":[[156,11]]},"722":{"position":[[1002,10],[1015,10],[1161,10],[1211,10]]},"723":{"position":[[928,10],[978,10]]},"724":{"position":[[182,11],[714,10],[764,10]]},"725":{"position":[[645,10]]},"726":{"position":[[617,10],[630,10],[773,10],[823,10]]},"727":{"position":[[824,10],[874,10]]},"728":{"position":[[178,11],[639,10],[689,10]]},"729":{"position":[[617,10]]}},"keywords":{}}],["compat",{"_index":818,"title":{},"content":{"36":{"position":[[8271,15]]},"229":{"position":[[8271,15]]},"268":{"position":[[33,10]]},"279":{"position":[[6930,15]]},"301":{"position":[[551,10]]},"389":{"position":[[1368,10],[1456,10]]},"661":{"position":[[123,14]]},"662":{"position":[[3389,14],[3610,14]]}},"keywords":{}}],["competitor",{"_index":3763,"title":{},"content":{"389":{"position":[[1723,11]]}},"keywords":{}}],["compil",{"_index":1012,"title":{},"content":{"43":{"position":[[323,8],[1235,7]]},"223":{"position":[[258,8]]},"301":{"position":[[827,9]]}},"keywords":{}}],["complet",{"_index":327,"title":{},"content":{"12":{"position":[[100,10]]},"13":{"position":[[275,10]]},"36":{"position":[[9592,8]]},"42":{"position":[[845,9]]},"61":{"position":[[1589,11]]},"73":{"position":[[441,8]]},"77":{"position":[[603,9]]},"229":{"position":[[9592,8]]},"279":{"position":[[7851,8]]},"324":{"position":[[339,11]]},"349":{"position":[[155,10],[1890,10],[2033,10],[4524,11]]},"355":{"position":[[577,9],[673,9]]},"404":{"position":[[1635,8]]},"422":{"position":[[919,11]]},"454":{"position":[[317,8]]},"455":{"position":[[1570,9]]},"485":{"position":[[225,9]]},"505":{"position":[[165,11]]},"535":{"position":[[932,9]]},"546":{"position":[[188,10],[1508,8]]},"568":{"position":[[407,9]]},"650":{"position":[[253,8]]},"658":{"position":[[919,10],[1102,11]]},"793":{"position":[[478,10]]}},"keywords":{}}],["complete"",{"_index":4525,"title":{},"content":{"561":{"position":[[553,14],[853,15]]}},"keywords":{}}],["complex",{"_index":2786,"title":{},"content":{"303":{"position":[[1045,7]]},"367":{"position":[[137,10],[251,7],[467,7]]},"369":{"position":[[3698,10]]},"543":{"position":[[213,7],[304,7]]},"637":{"position":[[410,7],[1908,7]]}},"keywords":{}}],["complex."",{"_index":2546,"title":{},"content":{"263":{"position":[[357,14]]}},"keywords":{}}],["compli",{"_index":4077,"title":{},"content":{"430":{"position":[[440,6]]},"432":{"position":[[1233,6]]}},"keywords":{}}],["complic",{"_index":2836,"title":{},"content":{"309":{"position":[[441,11]]},"565":{"position":[[83,11]]},"699":{"position":[[144,11]]},"724":{"position":[[170,11]]},"728":{"position":[[166,11]]}},"keywords":{}}],["compon",{"_index":622,"title":{"462":{"position":[[7,11]]}},"content":{"31":{"position":[[419,10]]},"203":{"position":[[458,9]]},"263":{"position":[[253,9],[411,9]]},"265":{"position":[[338,11]]},"307":{"position":[[935,9]]},"351":{"position":[[215,10]]},"371":{"position":[[51,11]]},"421":{"position":[[22,10]]},"462":{"position":[[31,10],[55,9],[126,9],[165,9],[256,10],[310,9],[385,9]]}},"keywords":{}}],["components/blob/master/static/json/rux",{"_index":4738,"title":{},"content":{"632":{"position":[[258,38]]}},"keywords":{}}],["compos",{"_index":2526,"title":{"259":{"position":[[7,8]]},"309":{"position":[[47,8]]}},"content":{"259":{"position":[[104,8],[285,7]]},"260":{"position":[[51,7]]},"309":{"position":[[1443,7],[1528,7],[1623,7],[1776,7],[1807,7],[1830,7],[1860,7],[1904,7],[1945,7],[1969,7]]},"310":{"position":[[326,7],[354,7]]},"330":{"position":[[317,8]]},"333":{"position":[[603,7],[695,7],[1293,7]]},"658":{"position":[[876,7]]}},"keywords":{}}],["compose.yaml",{"_index":506,"title":{"23":{"position":[[14,13]]}},"content":{"255":{"position":[[268,12]]},"259":{"position":[[333,12]]},"309":{"position":[[3389,12],[3407,12]]},"310":{"position":[[438,12]]},"317":{"position":[[128,13]]},"404":{"position":[[2463,12]]}},"keywords":{}}],["composit",{"_index":4630,"title":{},"content":{"591":{"position":[[635,9]]}},"keywords":{}}],["comprehens",{"_index":283,"title":{},"content":{"7":{"position":[[1242,13]]}},"keywords":{}}],["compromis",{"_index":4058,"title":{},"content":{"426":{"position":[[1134,12]]}},"keywords":{}}],["comput",{"_index":2507,"title":{},"content":{"258":{"position":[[163,9]]},"274":{"position":[[142,8]]},"387":{"position":[[195,8],[207,8]]},"404":{"position":[[567,8],[1361,8],[1718,8],[2619,9]]}},"keywords":{}}],["concaten",{"_index":295,"title":{"9":{"position":[[7,14]]}},"content":{"9":{"position":[[38,13],[90,11],[431,11],[893,11]]},"637":{"position":[[444,13],[551,14]]}},"keywords":{}}],["concept",{"_index":1989,"title":{"118":{"position":[[0,9]]},"254":{"position":[[18,8]]},"539":{"position":[[0,9]]},"656":{"position":[[0,9]]}},"content":{"274":{"position":[[14,7]]},"279":{"position":[[8191,7]]},"546":{"position":[[771,7]]},"547":{"position":[[159,9]]}},"keywords":{}}],["concern",{"_index":3412,"title":{},"content":{"368":{"position":[[830,7]]}},"keywords":{}}],["concis",{"_index":2236,"title":{},"content":{"214":{"position":[[5,7]]}},"keywords":{}}],["conclus",{"_index":3522,"title":{},"content":{"369":{"position":[[3604,11]]}},"keywords":{}}],["condit",{"_index":2645,"title":{},"content":{"279":{"position":[[9000,9],[9158,9],[9319,9],[9439,9],[9823,9],[10209,9]]},"568":{"position":[[516,10]]},"579":{"position":[[327,11]]}},"keywords":{}}],["condition",{"_index":4514,"title":{"560":{"position":[[0,13]]}},"content":{},"keywords":{}}],["config",{"_index":484,"title":{"22":{"position":[[21,7]]}},"content":{"125":{"position":[[404,6]]},"255":{"position":[[427,6]]},"309":{"position":[[3682,6]]},"353":{"position":[[695,6],[781,6]]},"383":{"position":[[978,7]]},"440":{"position":[[51,7],[196,6]]},"741":{"position":[[121,6]]},"813":{"position":[[226,7],[273,7],[325,7]]},"814":{"position":[[418,6]]},"815":{"position":[[354,7]]}},"keywords":{}}],["config/default/targets_modifi",{"_index":4128,"title":{},"content":{"441":{"position":[[175,31]]},"443":{"position":[[116,31]]}},"keywords":{}}],["config/target/cmd_tlm",{"_index":2692,"title":{},"content":{"298":{"position":[[152,21]]}},"keywords":{}}],["config_tool_nam",{"_index":5797,"title":{"812":{"position":[[0,18]]}},"content":{"812":{"position":[[129,19],[258,19]]}},"keywords":{}}],["configparser.handle_true_false(allow_empty_data",{"_index":1413,"title":{},"content":{"69":{"position":[[333,48]]}},"keywords":{}}],["configparser.handle_true_false_none(allow_empty_data",{"_index":1419,"title":{},"content":{"69":{"position":[[520,53]]}},"keywords":{}}],["configur",{"_index":50,"title":{"125":{"position":[[11,13]]},"314":{"position":[[7,14]]},"326":{"position":[[0,13]]},"371":{"position":[[8,14]]},"373":{"position":[[0,11]]},"396":{"position":[[38,14]]},"397":{"position":[[20,13]]},"571":{"position":[[16,13]]},"811":{"position":[[0,14]]}},"content":{"2":{"position":[[347,13],[515,13]]},"5":{"position":[[23,13],[1321,13]]},"6":{"position":[[280,13],[1155,13]]},"7":{"position":[[72,13],[104,13],[402,13],[541,13]]},"8":{"position":[[50,13]]},"9":{"position":[[66,13]]},"22":{"position":[[1,9]]},"31":{"position":[[523,14]]},"40":{"position":[[143,13]]},"42":{"position":[[251,13],[284,9]]},"48":{"position":[[1323,13],[1347,13]]},"61":{"position":[[1210,13]]},"96":{"position":[[484,13]]},"100":{"position":[[914,13]]},"106":{"position":[[538,9]]},"117":{"position":[[53,9],[100,9],[245,9]]},"125":{"position":[[14,13],[158,10],[258,13]]},"126":{"position":[[10,12],[499,13],[684,13]]},"184":{"position":[[162,13]]},"186":{"position":[[157,13]]},"252":{"position":[[78,13]]},"255":{"position":[[285,11]]},"258":{"position":[[840,10],[1197,13]]},"259":{"position":[[136,9]]},"267":{"position":[[149,13],[432,13]]},"275":{"position":[[509,13]]},"296":{"position":[[80,13]]},"298":{"position":[[126,13]]},"301":{"position":[[1242,10]]},"302":{"position":[[456,13],[1145,14],[1263,14],[2378,13]]},"303":{"position":[[542,13]]},"307":{"position":[[1465,13],[1601,9]]},"309":{"position":[[1977,9],[2171,9],[3572,13]]},"310":{"position":[[679,13]]},"314":{"position":[[26,13],[103,13],[1778,10],[2172,10]]},"315":{"position":[[155,13]]},"323":{"position":[[49,10],[494,13],[648,14]]},"326":{"position":[[22,13],[161,14]]},"331":{"position":[[578,13]]},"342":{"position":[[839,13],[889,13],[958,9]]},"343":{"position":[[438,13],[606,13],[1421,10],[1448,13]]},"347":{"position":[[707,14],[731,14],[792,14],[816,14]]},"350":{"position":[[1055,12]]},"351":{"position":[[630,14]]},"352":{"position":[[1037,14],[1069,14],[1134,14],[1175,14]]},"353":{"position":[[658,15],[744,15]]},"356":{"position":[[866,11]]},"358":{"position":[[349,13],[6948,10],[8077,9]]},"373":{"position":[[19,13]]},"379":{"position":[[3991,14]]},"380":{"position":[[1739,13]]},"383":{"position":[[666,13],[746,13],[934,13],[1692,11]]},"385":{"position":[[271,10]]},"387":{"position":[[1363,13],[1422,13],[1564,13]]},"389":{"position":[[1082,14]]},"396":{"position":[[63,13],[98,13]]},"406":{"position":[[163,14]]},"408":{"position":[[146,14]]},"409":{"position":[[124,14]]},"410":{"position":[[115,14]]},"411":{"position":[[170,14]]},"416":{"position":[[104,14]]},"440":{"position":[[227,13]]},"461":{"position":[[70,13],[109,14],[134,13],[184,15],[213,13],[281,14],[333,13],[359,14],[384,13],[439,15],[469,13],[527,14],[588,14],[640,13]]},"472":{"position":[[113,13],[152,13],[940,14],[965,13],[1015,15],[1044,13],[1112,14],[1164,13],[1190,14],[1215,13],[1270,15],[1300,13],[1358,14],[1419,14],[1471,13]]},"478":{"position":[[47,13],[82,13],[171,14],[196,13],[246,15],[275,13],[343,14],[395,13],[421,14],[446,13],[501,15],[531,13],[589,14],[650,14],[702,13]]},"487":{"position":[[60,13]]},"489":{"position":[[84,13],[123,13]]},"501":{"position":[[94,10]]},"502":{"position":[[69,13],[108,14],[133,13],[183,15],[212,13],[280,14],[332,13],[358,14],[383,13],[438,15],[468,13],[526,14],[587,14],[639,13]]},"507":{"position":[[64,9]]},"519":{"position":[[185,14]]},"521":{"position":[[16,13],[88,13],[127,14],[152,13],[202,15],[231,13],[299,14],[351,13],[377,14],[402,13],[457,15],[487,13],[545,14],[606,14],[658,13]]},"582":{"position":[[201,10]]},"722":{"position":[[25,12]]},"723":{"position":[[25,12]]},"727":{"position":[[25,12]]},"752":{"position":[[394,13]]},"761":{"position":[[340,13]]},"811":{"position":[[55,14],[129,14]]},"812":{"position":[[14,13]]},"813":{"position":[[20,13],[185,13]]},"814":{"position":[[24,14],[45,13],[64,14],[348,13],[379,13]]},"815":{"position":[[24,14],[184,13],[215,13],[260,13]]},"816":{"position":[[26,14],[188,13],[219,13],[266,13]]}},"keywords":{}}],["configuration."",{"_index":2530,"title":{},"content":{"259":{"position":[[252,20]]}},"keywords":{}}],["configurationreset",{"_index":4156,"title":{},"content":{"461":{"position":[[47,18]]},"502":{"position":[[46,18]]},"521":{"position":[[65,18]]}},"keywords":{}}],["configurationsav",{"_index":4155,"title":{},"content":{"461":{"position":[[17,17]]},"472":{"position":[[83,17]]},"478":{"position":[[17,17]]},"489":{"position":[[54,17]]},"502":{"position":[[16,17]]}},"keywords":{}}],["configurationsth",{"_index":3806,"title":{},"content":{"392":{"position":[[259,17]]}},"keywords":{}}],["confirm",{"_index":719,"title":{},"content":{"36":{"position":[[3227,12]]},"229":{"position":[[3227,12]]},"241":{"position":[[101,12]]},"385":{"position":[[243,7]]},"432":{"position":[[362,13]]}},"keywords":{}}],["conflict",{"_index":2810,"title":{},"content":{"307":{"position":[[672,8]]},"358":{"position":[[7202,9]]}},"keywords":{}}],["conform",{"_index":4104,"title":{},"content":{"432":{"position":[[1197,7]]}},"keywords":{}}],["confus",{"_index":1225,"title":{},"content":{"55":{"position":[[2543,9]]},"67":{"position":[[384,9]]}},"keywords":{}}],["congratul",{"_index":3980,"title":{},"content":{"404":{"position":[[2664,16]]}},"keywords":{}}],["conjunct",{"_index":2381,"title":{},"content":{"223":{"position":[[87,11]]},"235":{"position":[[68,11]]},"252":{"position":[[211,11]]},"285":{"position":[[65,11]]},"296":{"position":[[217,11]]},"638":{"position":[[86,11]]},"639":{"position":[[105,11]]},"640":{"position":[[88,11]]},"642":{"position":[[98,11]]},"644":{"position":[[88,11]]}},"keywords":{}}],["connect",{"_index":46,"title":{"87":{"position":[[7,12]]},"334":{"position":[[0,8]]}},"content":{"2":{"position":[[300,8]]},"20":{"position":[[168,10]]},"61":{"position":[[1660,10],[1761,7]]},"62":{"position":[[130,7]]},"67":{"position":[[573,7]]},"70":{"position":[[81,9],[167,7]]},"71":{"position":[[94,10]]},"83":{"position":[[909,12],[2410,12]]},"87":{"position":[[53,11]]},"100":{"position":[[20,10],[1032,9],[1064,9]]},"104":{"position":[[28,8],[165,11],[272,7]]},"105":{"position":[[78,11],[223,7],[877,11]]},"107":{"position":[[27,8],[282,7],[618,7],[680,10]]},"108":{"position":[[484,11]]},"109":{"position":[[42,10],[562,7],[654,7],[826,10]]},"110":{"position":[[52,10],[555,7],[647,7],[1160,10]]},"111":{"position":[[22,8]]},"112":{"position":[[27,10]]},"115":{"position":[[66,7],[125,10],[295,10]]},"120":{"position":[[35,10],[98,11],[156,11]]},"128":{"position":[[11,10]]},"133":{"position":[[38,7]]},"134":{"position":[[58,10]]},"135":{"position":[[118,10]]},"140":{"position":[[561,11]]},"275":{"position":[[277,9]]},"312":{"position":[[86,9]]},"314":{"position":[[899,11],[993,11],[1910,7]]},"330":{"position":[[920,10],[984,11],[1152,11],[1519,11]]},"334":{"position":[[1,7]]},"342":{"position":[[219,8],[631,12]]},"343":{"position":[[391,8],[822,7],[1080,9],[1133,10],[1179,12],[1263,7]]},"344":{"position":[[573,7],[612,9]]},"345":{"position":[[80,10],[139,7],[217,10],[273,7]]},"346":{"position":[[311,10],[392,7],[1270,10],[1348,7]]},"349":{"position":[[4360,10]]},"358":{"position":[[6385,7],[6649,10],[7597,7]]},"359":{"position":[[786,8],[903,8],[2786,7]]},"365":{"position":[[154,9]]},"369":{"position":[[339,10]]},"373":{"position":[[422,7]]},"377":{"position":[[12,10]]},"380":{"position":[[92,7],[1878,7]]},"387":{"position":[[1175,7]]},"390":{"position":[[1091,10]]},"402":{"position":[[814,10],[873,11],[966,10],[1025,11],[1042,10],[1406,10],[1958,9],[1982,9]]},"404":{"position":[[1902,7],[1991,8]]},"509":{"position":[[155,9]]},"512":{"position":[[93,7]]},"517":{"position":[[228,11]]},"529":{"position":[[403,7]]},"530":{"position":[[270,11]]},"650":{"position":[[189,9],[1032,9]]},"652":{"position":[[1015,9]]},"752":{"position":[[1,8]]},"756":{"position":[[131,10],[159,9],[533,10],[576,9],[1091,10],[1129,9]]},"761":{"position":[[1,8]]},"765":{"position":[[125,10],[153,9],[509,10],[552,9],[1052,10],[1087,9]]},"799":{"position":[[263,9]]}},"keywords":{}}],["connect/token",{"_index":1527,"title":{},"content":{"82":{"position":[[652,13]]}},"keywords":{}}],["connect_interfac",{"_index":5514,"title":{"752":{"position":[[0,18]]}},"content":{},"keywords":{}}],["connect_interface("<interfac",{"_index":5515,"title":{},"content":{"752":{"position":[[81,37]]}},"keywords":{}}],["connect_interface("int1"",{"_index":5517,"title":{},"content":{"752":{"position":[[439,35],[475,35]]}},"keywords":{}}],["connect_reset",{"_index":1427,"title":{"71":{"position":[[0,14]]}},"content":{"71":{"position":[[5,13],[143,13],[261,13]]}},"keywords":{}}],["connect_reset(self",{"_index":1428,"title":{},"content":{"71":{"position":[[210,20]]}},"keywords":{}}],["connect_rout",{"_index":5573,"title":{"761":{"position":[[0,15]]}},"content":{},"keywords":{}}],["connect_router("<rout",{"_index":5574,"title":{},"content":{"761":{"position":[[51,31]]}},"keywords":{}}],["connect_router("inst_router"",{"_index":5577,"title":{},"content":{"761":{"position":[[385,39],[425,39]]}},"keywords":{}}],["connection_st",{"_index":5531,"title":{},"content":{"756":{"position":[[397,17],[551,20],[956,17]]},"765":{"position":[[379,17],[527,20],[897,17]]}},"keywords":{}}],["consecut",{"_index":2183,"title":{},"content":{"200":{"position":[[230,11]]},"279":{"position":[[8586,11]]}},"keywords":{}}],["consent",{"_index":4060,"title":{"427":{"position":[[3,8]]}},"content":{"427":{"position":[[49,7],[422,7]]}},"keywords":{}}],["consid",{"_index":392,"title":{},"content":{"20":{"position":[[36,10]]},"36":{"position":[[9053,8]]},"39":{"position":[[161,8]]},"229":{"position":[[9053,8]]},"279":{"position":[[7176,8]]},"424":{"position":[[800,10]]},"629":{"position":[[250,8]]},"777":{"position":[[148,8]]},"793":{"position":[[184,8]]}},"keywords":{}}],["consider",{"_index":3404,"title":{},"content":{"368":{"position":[[9,13]]},"564":{"position":[[758,11]]}},"keywords":{}}],["consist",{"_index":1161,"title":{},"content":{"51":{"position":[[5,10]]},"218":{"position":[[156,10]]},"255":{"position":[[183,8]]},"258":{"position":[[572,10],[743,7],[1570,8]]},"260":{"position":[[129,8]]},"369":{"position":[[554,10]]},"450":{"position":[[272,8]]},"540":{"position":[[1247,10]]}},"keywords":{}}],["consol",{"_index":1020,"title":{},"content":{"43":{"position":[[680,7]]},"200":{"position":[[114,9]]},"513":{"position":[[174,7]]}},"keywords":{}}],["console.log",{"_index":1030,"title":{},"content":{"43":{"position":[[1196,12]]}},"keywords":{}}],["constant",{"_index":604,"title":{},"content":{"29":{"position":[[90,9]]},"540":{"position":[[2006,9],[2921,9],[4068,9],[4151,8]]}},"keywords":{}}],["constrain",{"_index":4510,"title":{},"content":{"559":{"position":[[1086,11]]}},"keywords":{}}],["construct",{"_index":4426,"title":{},"content":{"547":{"position":[[20,10]]}},"keywords":{}}],["constructor",{"_index":764,"title":{},"content":{"36":{"position":[[5381,12]]},"69":{"position":[[13,11]]},"229":{"position":[[5381,12]]},"242":{"position":[[364,11]]},"251":{"position":[[527,11]]},"279":{"position":[[3862,12],[10746,11]]},"288":{"position":[[394,12]]}},"keywords":{}}],["consult",{"_index":1371,"title":{},"content":{"67":{"position":[[1212,7],[1486,7]]}},"keywords":{}}],["consum",{"_index":3014,"title":{},"content":{"330":{"position":[[499,8],[631,8]]},"364":{"position":[[301,9]]},"422":{"position":[[992,9]]}},"keywords":{}}],["consumpt",{"_index":3314,"title":{},"content":{"362":{"position":[[88,11]]}},"keywords":{}}],["cont",{"_index":2700,"title":{},"content":{"299":{"position":[[545,4]]}},"keywords":{}}],["contact",{"_index":3306,"title":{},"content":{"359":{"position":[[2985,7]]},"393":{"position":[[1011,7],[1422,7]]},"426":{"position":[[866,7],[1023,7]]},"427":{"position":[[602,7]]},"432":{"position":[[252,7]]},"433":{"position":[[218,10]]},"437":{"position":[[142,7]]}},"keywords":{}}],["contain",{"_index":37,"title":{"146":{"position":[[0,10]]},"187":{"position":[[0,10]]},"258":{"position":[[0,11]]}},"content":{"2":{"position":[[136,10],[176,10],[334,8],[437,10],[488,8]]},"5":{"position":[[42,8]]},"21":{"position":[[40,10]]},"23":{"position":[[391,9]]},"24":{"position":[[380,8]]},"26":{"position":[[46,8]]},"27":{"position":[[62,8],[186,8]]},"33":{"position":[[298,8],[391,10]]},"36":{"position":[[5057,8],[5253,7]]},"42":{"position":[[709,9],[752,11],[2271,10],[2293,9]]},"44":{"position":[[324,9],[758,9]]},"48":{"position":[[2858,8],[3292,8],[4026,8]]},"54":{"position":[[433,7]]},"55":{"position":[[270,7]]},"61":{"position":[[518,8],[634,8]]},"64":{"position":[[847,7]]},"85":{"position":[[39,8]]},"86":{"position":[[151,7]]},"91":{"position":[[843,10],[1153,8]]},"92":{"position":[[634,10]]},"115":{"position":[[2448,7]]},"117":{"position":[[703,9]]},"143":{"position":[[186,9],[405,9]]},"146":{"position":[[23,9],[35,9],[173,9]]},"148":{"position":[[119,10]]},"177":{"position":[[119,10]]},"181":{"position":[[170,9],[389,9]]},"184":{"position":[[199,9]]},"187":{"position":[[8,9],[19,9],[157,9]]},"191":{"position":[[119,10]]},"229":{"position":[[5057,8],[5253,7]]},"251":{"position":[[236,8],[429,7]]},"255":{"position":[[22,8],[308,11],[402,8]]},"258":{"position":[[21,9],[228,9],[298,9],[428,10],[548,10],[604,10],[732,10],[906,9],[1262,10],[1533,9],[1951,10]]},"259":{"position":[[68,9]]},"260":{"position":[[169,7]]},"261":{"position":[[174,10]]},"267":{"position":[[197,9],[236,11],[321,9],[331,8],[406,9],[416,8]]},"271":{"position":[[1553,8],[1715,10]]},"273":{"position":[[221,10]]},"279":{"position":[[3538,8],[3734,7]]},"297":{"position":[[56,7]]},"302":{"position":[[443,8],[686,8],[1352,8],[1709,8],[2232,8]]},"303":{"position":[[506,8]]},"307":{"position":[[971,8]]},"309":{"position":[[199,9],[741,9],[862,9],[2837,9]]},"321":{"position":[[544,8]]},"323":{"position":[[272,7]]},"330":{"position":[[1589,10]]},"331":{"position":[[321,11],[362,11],[453,10]]},"332":{"position":[[12,10],[396,9]]},"333":{"position":[[891,11],[1426,10]]},"338":{"position":[[37,7],[297,7]]},"339":{"position":[[22,8],[57,8],[246,7]]},"340":{"position":[[25,8],[313,8]]},"342":{"position":[[1101,10],[1186,10]]},"343":{"position":[[227,10],[267,10],[425,8],[528,10],[579,8]]},"350":{"position":[[973,10]]},"358":{"position":[[1047,7],[1077,8],[1771,9],[5142,8]]},"361":{"position":[[23,9]]},"367":{"position":[[298,10],[604,9],[704,7]]},"368":{"position":[[309,9]]},"369":{"position":[[1041,9],[2532,9]]},"374":{"position":[[29,9]]},"380":{"position":[[348,9],[378,9]]},"382":{"position":[[30,11],[67,10]]},"383":{"position":[[1269,10],[1526,10]]},"386":{"position":[[193,7]]},"395":{"position":[[21,10]]},"407":{"position":[[367,9]]},"416":{"position":[[18,8]]},"434":{"position":[[126,8]]},"440":{"position":[[88,8]]},"454":{"position":[[284,10],[374,10]]},"455":{"position":[[214,8]]},"473":{"position":[[419,8]]},"533":{"position":[[17,8]]},"540":{"position":[[1581,7]]},"546":{"position":[[1350,10]]},"548":{"position":[[109,8]]},"549":{"position":[[253,10]]},"551":{"position":[[651,8]]},"552":{"position":[[980,8]]},"571":{"position":[[453,8]]},"574":{"position":[[224,8]]},"576":{"position":[[168,8]]},"599":{"position":[[127,9]]},"604":{"position":[[55,7]]},"642":{"position":[[140,9]]},"699":{"position":[[569,8],[816,8]]},"703":{"position":[[152,10]]},"747":{"position":[[23,10]]},"748":{"position":[[100,8]]},"756":{"position":[[102,8]]},"765":{"position":[[99,8]]},"778":{"position":[[29,8],[523,10]]}},"keywords":{}}],["container",{"_index":32,"title":{"256":{"position":[[0,17]]}},"content":{"2":{"position":[[31,14]]},"261":{"position":[[136,13]]},"343":{"position":[[122,14]]},"344":{"position":[[86,14]]}},"keywords":{}}],["container."",{"_index":2500,"title":{},"content":{"257":{"position":[[92,16]]}},"keywords":{}}],["containers/group.com.docker/settings.json",{"_index":3031,"title":{},"content":{"330":{"position":[[1349,41]]}},"keywords":{}}],["containersoutput",{"_index":3857,"title":{},"content":{"401":{"position":[[240,16]]}},"keywords":{}}],["content",{"_index":1170,"title":{},"content":{"51":{"position":[[180,8]]},"81":{"position":[[615,7],[634,7]]},"82":{"position":[[728,7],[749,7],[1165,7],[6375,7]]},"83":{"position":[[939,8],[1473,8],[1569,9],[2438,8]]},"125":{"position":[[84,8]]},"217":{"position":[[2024,7],[2176,7]]},"301":{"position":[[848,8]]},"330":{"position":[[840,8]]},"350":{"position":[[59,8],[406,8]]},"379":{"position":[[259,8]]},"415":{"position":[[237,8]]},"434":{"position":[[286,7]]},"575":{"position":[[50,8]]},"594":{"position":[[247,9]]},"595":{"position":[[116,8]]},"596":{"position":[[96,8]]},"597":{"position":[[120,8]]},"598":{"position":[[97,8]]},"785":{"position":[[49,8]]}},"keywords":{}}],["context",{"_index":1931,"title":{"343":{"position":[[25,7]]}},"content":{"112":{"position":[[614,7],[627,7]]},"349":{"position":[[3775,7]]},"350":{"position":[[693,7],[861,7]]},"564":{"position":[[115,8]]}},"keywords":{}}],["continu",{"_index":284,"title":{"8":{"position":[[5,13]]}},"content":{"8":{"position":[[24,12],[89,12]]},"9":{"position":[[759,12]]},"56":{"position":[[110,12]]},"67":{"position":[[2699,9]]},"83":{"position":[[68,10],[2003,11]]},"333":{"position":[[766,9]]},"335":{"position":[[1,8]]},"347":{"position":[[538,8]]},"349":{"position":[[459,9]]},"392":{"position":[[599,9]]},"402":{"position":[[312,12],[4693,8]]},"422":{"position":[[1267,13]]},"446":{"position":[[73,9]]},"470":{"position":[[172,8]]},"473":{"position":[[1415,8]]},"511":{"position":[[318,8]]},"522":{"position":[[1039,8]]},"530":{"position":[[633,8]]},"535":{"position":[[269,8],[378,8],[401,8],[623,8],[857,8],[919,8],[1274,13]]},"536":{"position":[[315,9]]},"552":{"position":[[738,10]]},"559":{"position":[[483,8],[769,8],[1364,9]]},"566":{"position":[[241,9],[360,9]]},"568":{"position":[[377,8]]},"569":{"position":[[457,9]]},"658":{"position":[[533,8]]},"724":{"position":[[120,9]]},"725":{"position":[[109,9]]}},"keywords":{}}],["continue"",{"_index":5040,"title":{},"content":{"675":{"position":[[248,15]]}},"keywords":{}}],["contract",{"_index":3304,"title":{},"content":{"359":{"position":[[2933,9]]},"390":{"position":[[1035,9]]},"391":{"position":[[26,8]]},"393":{"position":[[696,8]]}},"keywords":{}}],["contractu",{"_index":3791,"title":{},"content":{"391":{"position":[[94,11]]}},"keywords":{}}],["contribut",{"_index":3710,"title":{"384":{"position":[[0,12]]}},"content":{},"keywords":{}}],["control",{"_index":6,"title":{},"content":{"1":{"position":[[55,7]]},"2":{"position":[[80,7]]},"36":{"position":[[10843,7]]},"40":{"position":[[135,7]]},"59":{"position":[[203,7],[242,7]]},"81":{"position":[[570,8]]},"82":{"position":[[710,8],[6330,8]]},"97":{"position":[[154,7]]},"111":{"position":[[1063,8]]},"314":{"position":[[769,7]]},"316":{"position":[[122,11]]},"330":{"position":[[776,8]]},"343":{"position":[[171,7]]},"387":{"position":[[36,7]]},"393":{"position":[[758,9],[1211,9],[1235,10]]},"424":{"position":[[205,7]]},"476":{"position":[[209,7]]},"544":{"position":[[61,7]]},"571":{"position":[[100,10]]},"788":{"position":[[33,7]]}},"keywords":{}}],["controlldap",{"_index":3803,"title":{},"content":{"392":{"position":[[205,11]]}},"keywords":{}}],["convent",{"_index":1980,"title":{},"content":{"115":{"position":[[2029,11]]},"128":{"position":[[534,10]]},"378":{"position":[[1508,11]]},"551":{"position":[[545,10]]},"576":{"position":[[226,11]]}},"keywords":{}}],["convers",{"_index":741,"title":{"304":{"position":[[0,10]]}},"content":{"36":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6125,10],[6181,10],[6397,11],[6430,10],[6755,10],[6812,10],[7193,11],[7226,10],[7511,10],[7598,10],[7698,10],[7790,10],[7817,10],[7876,10],[8004,10],[8426,10],[8470,11],[8563,11],[8646,11],[8705,11],[9006,11],[9073,10],[9617,10]]},"229":{"position":[[3982,10],[4037,11],[4177,11],[4333,10],[4473,11],[4566,11],[4649,11],[4708,11],[5340,10],[5582,10],[5875,10],[6125,10],[6181,10],[6397,11],[6430,10],[6755,10],[6812,10],[7193,11],[7226,10],[7511,10],[7598,10],[7698,10],[7790,10],[7817,10],[7876,10],[8004,10],[8426,10],[8470,11],[8563,11],[8646,11],[8705,11],[9006,11],[9073,10],[9617,10]]},"274":{"position":[[716,10]]},"275":{"position":[[1047,10]]},"279":{"position":[[2944,10],[2986,11],[3126,11],[3282,10],[3821,10],[4062,10],[4355,10],[4604,10],[4657,10],[4936,11],[4969,10],[5292,10],[5346,10],[5794,11],[5827,10],[6111,10],[6197,10],[6296,10],[6386,10],[6413,10],[6469,10],[6664,10],[7084,10],[7129,11],[7196,10],[7875,10]]},"304":{"position":[[5,10],[67,11],[164,10],[238,10],[269,10],[399,10],[482,10],[692,10],[837,10]]},"306":{"position":[[5,10]]},"466":{"position":[[120,11]]},"468":{"position":[[379,12]]},"659":{"position":[[229,12],[492,10],[526,10],[553,11],[601,10],[829,10]]},"681":{"position":[[43,12]]},"682":{"position":[[43,11]]},"683":{"position":[[43,11]]},"684":{"position":[[43,11]]}},"keywords":{}}],["convert",{"_index":568,"title":{"28":{"position":[[0,7]]},"396":{"position":[[0,10]]},"397":{"position":[[0,10]]}},"content":{"26":{"position":[[302,7]]},"28":{"position":[[50,7],[119,7]]},"36":{"position":[[8327,9],[9307,7],[9494,7]]},"67":{"position":[[3060,9],[4369,9]]},"92":{"position":[[130,9]]},"213":{"position":[[190,10]]},"229":{"position":[[8327,9],[9307,7],[9494,7]]},"251":{"position":[[986,9],[1754,9]]},"279":{"position":[[6986,9],[7369,9],[7437,9],[7468,9],[7590,7],[7755,7]]},"304":{"position":[[763,7]]},"350":{"position":[[1490,10]]},"353":{"position":[[542,10]]},"383":{"position":[[139,10],[634,10]]},"396":{"position":[[30,7],[88,9]]},"397":{"position":[[30,7],[95,9]]},"402":{"position":[[3181,10],[4099,10]]},"490":{"position":[[113,9]]},"565":{"position":[[571,9]]},"609":{"position":[[482,10],[512,10]]},"610":{"position":[[669,10],[699,10]]},"611":{"position":[[654,10],[684,10],[872,9],[920,9]]},"612":{"position":[[218,10],[248,10]]},"613":{"position":[[466,10],[496,10]]},"614":{"position":[[239,10],[269,10],[450,9]]},"615":{"position":[[385,10],[415,10]]},"616":{"position":[[259,10],[289,10]]},"617":{"position":[[262,10],[292,10],[490,9]]},"618":{"position":[[536,10],[566,10]]},"619":{"position":[[526,10],[556,10]]},"620":{"position":[[255,10],[285,10],[479,9]]},"621":{"position":[[253,10],[283,10],[480,9]]},"622":{"position":[[239,10],[269,10],[476,9]]},"623":{"position":[[228,10],[258,10],[448,9]]},"624":{"position":[[231,10],[261,10],[453,9]]},"625":{"position":[[505,10],[535,10]]},"626":{"position":[[225,10],[255,9],[952,10],[982,9]]},"627":{"position":[[259,10],[289,9],[1005,10],[1035,9]]},"628":{"position":[[243,10],[273,9],[977,10],[1007,9]]},"629":{"position":[[175,9]]},"630":{"position":[[476,10],[506,10]]},"631":{"position":[[515,10],[545,10]]},"633":{"position":[[271,10],[301,9]]},"635":{"position":[[467,10],[497,10],[678,9]]},"648":{"position":[[500,10],[530,10]]},"650":{"position":[[460,10],[965,9]]},"652":{"position":[[659,9],[688,10]]},"659":{"position":[[421,9],[431,9],[626,9],[772,9],[1016,9]]},"664":{"position":[[73,9]]},"677":{"position":[[1090,9]]},"678":{"position":[[1312,9]]},"679":{"position":[[1333,9]]},"680":{"position":[[1366,9]]},"681":{"position":[[1166,9]]},"682":{"position":[[1383,9]]},"683":{"position":[[1404,9]]},"684":{"position":[[1437,9]]},"685":{"position":[[362,9],[390,10]]},"693":{"position":[[569,10]]},"698":{"position":[[10,9],[681,9]]},"701":{"position":[[473,9]]},"703":{"position":[[537,9]]},"710":{"position":[[599,9],[750,10],[1037,9]]},"711":{"position":[[484,9]]},"712":{"position":[[10,9],[488,10]]},"713":{"position":[[306,10]]},"714":{"position":[[1574,12]]},"722":{"position":[[79,9],[1329,9]]},"723":{"position":[[64,9],[1096,9]]},"726":{"position":[[81,9],[941,9]]},"727":{"position":[[64,9],[992,9]]}},"keywords":{}}],["convert_data_to_packet",{"_index":1391,"title":{},"content":{"67":{"position":[[3113,24]]}},"keywords":{}}],["convert_packet_to_data",{"_index":1402,"title":{},"content":{"67":{"position":[[4416,24]]}},"keywords":{}}],["cooki",{"_index":1532,"title":{},"content":{"82":{"position":[[830,7],[884,7],[982,7]]}},"keywords":{}}],["coordin",{"_index":4806,"title":{},"content":{"645":{"position":[[86,10]]},"646":{"position":[[125,10]]},"780":{"position":[[349,10],[418,10]]},"787":{"position":[[522,10],[591,10]]}},"keywords":{}}],["copi",{"_index":476,"title":{},"content":{"21":{"position":[[149,4],[195,5]]},"43":{"position":[[1105,4]]},"44":{"position":[[147,5],[628,4]]},"216":{"position":[[653,4],[664,4]]},"217":{"position":[[2774,4],[2785,4]]},"258":{"position":[[814,6]]},"310":{"position":[[162,4]]},"324":{"position":[[464,4]]},"326":{"position":[[388,4]]},"332":{"position":[[360,4]]},"349":{"position":[[1607,5]]},"358":{"position":[[7244,6]]},"359":{"position":[[1072,4]]},"362":{"position":[[267,4],[597,4],[918,4],[1261,4]]},"365":{"position":[[436,4]]},"376":{"position":[[392,4],[610,4]]},"389":{"position":[[153,4]]},"390":{"position":[[633,6]]},"402":{"position":[[6186,4]]},"531":{"position":[[115,6],[460,6]]},"551":{"position":[[472,4]]}},"keywords":{}}],["copyright",{"_index":3766,"title":{},"content":{"389":{"position":[[2004,9]]},"390":{"position":[[273,9],[564,9],[936,9]]},"393":{"position":[[81,9]]}},"keywords":{}}],["core",{"_index":894,"title":{},"content":{"42":{"position":[[5,4]]},"96":{"position":[[1,4]]},"97":{"position":[[1,4]]},"140":{"position":[[284,4]]},"344":{"position":[[58,4]]},"368":{"position":[[473,4],[512,6],[622,4],[767,6],[792,4]]},"369":{"position":[[729,4],[2214,4]]},"389":{"position":[[1696,4]]}},"keywords":{}}],["corner",{"_index":4264,"title":{},"content":{"524":{"position":[[295,7]]},"645":{"position":[[134,6]]},"646":{"position":[[173,6]]},"647":{"position":[[99,6],[177,6]]},"648":{"position":[[245,6],[323,6]]},"649":{"position":[[212,6],[291,6]]},"650":{"position":[[653,6],[732,6],[1492,6],[1571,6]]},"780":{"position":[[384,6],[453,6]]},"787":{"position":[[557,6],[626,6]]}},"keywords":{}}],["corp",{"_index":3815,"title":{},"content":{"393":{"position":[[46,4],[225,5]]}},"keywords":{}}],["correct",{"_index":1038,"title":{},"content":{"44":{"position":[[242,7]]},"115":{"position":[[2266,7]]},"312":{"position":[[271,7]]},"358":{"position":[[1245,7],[7738,7]]},"369":{"position":[[3746,7]]},"404":{"position":[[1247,7]]},"426":{"position":[[988,7]]},"436":{"position":[[140,12]]},"538":{"position":[[297,8]]},"544":{"position":[[614,7]]},"546":{"position":[[1399,7]]},"569":{"position":[[666,7]]},"699":{"position":[[697,7]]}},"keywords":{}}],["correctli",{"_index":3053,"title":{},"content":{"332":{"position":[[788,9]]},"383":{"position":[[1682,9]]}},"keywords":{}}],["correl",{"_index":4136,"title":{},"content":{"452":{"position":[[295,11]]}},"keywords":{}}],["correspond",{"_index":562,"title":{},"content":{"26":{"position":[[97,13]]},"31":{"position":[[607,10]]},"39":{"position":[[283,13]]},"61":{"position":[[1137,13]]},"88":{"position":[[314,10]]},"117":{"position":[[178,13]]},"225":{"position":[[908,10]]},"271":{"position":[[932,10]]},"301":{"position":[[872,13]]},"402":{"position":[[5601,13]]},"422":{"position":[[154,13]]}},"keywords":{}}],["correspondingli",{"_index":1304,"title":{},"content":{"61":{"position":[[944,16]]}},"keywords":{}}],["cosmo",{"_index":1,"title":{"1":{"position":[[11,7]]},"2":{"position":[[0,6]]},"41":{"position":[[11,6]]},"81":{"position":[[25,6]]},"82":{"position":[[25,6]]},"95":{"position":[[37,6]]},"96":{"position":[[7,6]]},"97":{"position":[[7,6]]},"206":{"position":[[8,6]]},"254":{"position":[[7,6]]},"309":{"position":[[7,6]]},"328":{"position":[[18,7]]},"329":{"position":[[18,6]]},"366":{"position":[[0,6]]},"370":{"position":[[0,6]]},"372":{"position":[[11,7]]},"373":{"position":[[12,7]]},"378":{"position":[[11,6]]},"382":{"position":[[0,6]]},"383":{"position":[[15,6],[27,6]]},"395":{"position":[[8,6]]},"396":{"position":[[31,6]]},"397":{"position":[[13,6]]},"404":{"position":[[0,6]]},"540":{"position":[[18,7]]},"566":{"position":[[0,6]]},"661":{"position":[[15,6]]},"662":{"position":[[15,6]]}},"content":{"1":{"position":[[1,6]]},"2":{"position":[[3,6],[104,6],[198,6],[293,6],[636,6],[775,6]]},"3":{"position":[[103,6],[218,6],[275,6],[395,7],[547,6],[588,6]]},"5":{"position":[[16,6],[301,6],[1314,6]]},"6":{"position":[[263,6],[1095,6]]},"7":{"position":[[1,6]]},"8":{"position":[[1,6]]},"9":{"position":[[1,6]]},"20":{"position":[[292,6]]},"31":{"position":[[74,6]]},"42":{"position":[[10,6],[398,7],[460,6],[495,6],[621,6],[702,6],[974,6],[1042,6],[1123,6],[2010,6],[2026,6],[2475,6],[2603,6],[2723,6],[2810,6],[2923,6],[3033,6],[3100,6]]},"43":{"position":[[22,6],[77,6],[167,6]]},"44":{"position":[[192,6],[391,6],[558,6],[686,6],[712,6],[807,6],[840,6],[854,6],[914,6],[1054,6],[1113,6],[1180,6],[1257,6],[1300,6]]},"46":{"position":[[23,6]]},"47":{"position":[[1,6]]},"48":{"position":[[905,6],[1014,6],[2149,6],[4221,7]]},"50":{"position":[[1,6],[243,6]]},"53":{"position":[[106,6]]},"55":{"position":[[3214,6]]},"57":{"position":[[1358,6],[1387,6]]},"58":{"position":[[426,6],[456,6]]},"59":{"position":[[509,6],[539,6]]},"60":{"position":[[896,6],[926,6]]},"61":{"position":[[97,6],[1198,6]]},"62":{"position":[[62,6],[205,6]]},"63":{"position":[[1,6]]},"64":{"position":[[1291,6],[1323,6]]},"66":{"position":[[68,6]]},"67":{"position":[[87,6],[329,6],[1080,6],[1118,6],[1233,6],[1354,6],[1392,6],[1507,6],[3077,6],[4655,6]]},"74":{"position":[[68,6],[219,6],[271,6]]},"75":{"position":[[69,6],[218,6],[270,6]]},"81":{"position":[[8,6]]},"82":{"position":[[8,6],[4651,6],[4670,6],[6290,6]]},"83":{"position":[[95,7]]},"86":{"position":[[5,6],[348,6]]},"87":{"position":[[5,6],[72,6],[126,6]]},"88":{"position":[[38,6],[332,6]]},"89":{"position":[[5,6]]},"91":{"position":[[150,6]]},"96":{"position":[[416,6],[466,6]]},"97":{"position":[[56,6]]},"98":{"position":[[134,7]]},"100":{"position":[[203,6],[563,6]]},"103":{"position":[[1,6],[288,6]]},"107":{"position":[[180,6]]},"108":{"position":[[173,6]]},"109":{"position":[[94,6],[2685,6],[2709,6]]},"110":{"position":[[104,6],[2416,6],[2440,6]]},"111":{"position":[[63,6]]},"112":{"position":[[1014,6],[1045,6]]},"113":{"position":[[610,6],[641,6]]},"114":{"position":[[559,6],[586,6]]},"115":{"position":[[1601,6],[1760,6],[1935,6],[2539,6]]},"117":{"position":[[65,6],[121,7],[352,7],[393,6]]},"119":{"position":[[66,6],[275,6]]},"121":{"position":[[50,6],[94,7],[132,6]]},"122":{"position":[[1,6],[66,6]]},"123":{"position":[[72,6]]},"124":{"position":[[1,6]]},"125":{"position":[[53,6],[251,6]]},"146":{"position":[[98,6]]},"183":{"position":[[533,6]]},"187":{"position":[[82,6]]},"200":{"position":[[200,6]]},"208":{"position":[[50,6],[163,6]]},"209":{"position":[[7,6],[14,6],[44,6],[231,6],[508,6],[565,6]]},"213":{"position":[[175,6]]},"214":{"position":[[168,6]]},"216":{"position":[[120,6]]},"217":{"position":[[358,6]]},"218":{"position":[[229,6]]},"219":{"position":[[151,6],[183,6]]},"220":{"position":[[141,6]]},"221":{"position":[[392,6],[421,6]]},"222":{"position":[[227,6],[260,6]]},"223":{"position":[[375,6],[402,6]]},"225":{"position":[[73,6],[1065,6],[1266,6]]},"255":{"position":[[10,6],[73,7],[116,6],[138,6],[163,7],[256,7],[301,6],[387,6]]},"257":{"position":[[135,6]]},"258":{"position":[[532,6],[713,6],[800,6],[851,6],[869,6],[899,6],[966,6],[980,6],[1036,6],[1057,6],[1071,6],[1150,6],[1211,6],[1302,6],[1425,6],[1511,6],[1563,6],[1687,6],[1706,6],[1784,6]]},"259":{"position":[[321,7]]},"260":{"position":[[1,6],[98,6],[192,6]]},"261":{"position":[[273,6],[378,6],[438,6]]},"263":{"position":[[5,6],[372,6],[459,6],[513,6],[564,6]]},"264":{"position":[[7,6],[94,6],[291,6]]},"265":{"position":[[188,6],[303,6]]},"267":{"position":[[113,6],[248,6],[274,6],[425,6],[472,6]]},"268":{"position":[[58,6],[111,6],[164,6],[351,6]]},"269":{"position":[[5,6]]},"271":{"position":[[97,6],[1041,7],[1104,6],[1439,6],[1608,6]]},"273":{"position":[[1,6]]},"274":{"position":[[1,6],[183,6]]},"275":{"position":[[1,6],[211,6],[626,6],[1019,6],[1736,6]]},"301":{"position":[[56,6],[143,6],[300,6],[505,6],[622,6],[656,6],[908,6],[930,6],[981,6],[1160,6]]},"302":{"position":[[56,6],[106,6],[169,6],[280,6],[899,6],[1586,6]]},"303":{"position":[[62,6],[118,6],[181,6],[304,6]]},"304":{"position":[[60,6],[114,6],[202,6],[336,6],[784,6]]},"305":{"position":[[65,6],[124,6],[217,6],[361,6]]},"306":{"position":[[60,6],[196,6],[259,6],[360,6],[783,6]]},"307":{"position":[[54,6],[107,6],[284,6],[467,6],[552,6],[1307,6]]},"309":{"position":[[78,6],[2701,6],[3379,6],[3864,6]]},"310":{"position":[[732,6],[742,6]]},"312":{"position":[[36,6],[144,6],[206,6],[251,6]]},"314":{"position":[[916,6],[1010,7],[1082,6],[1899,6]]},"316":{"position":[[21,6],[54,6],[87,6],[141,6]]},"319":{"position":[[37,6],[261,6]]},"320":{"position":[[535,6]]},"321":{"position":[[94,7],[198,6],[233,6]]},"323":{"position":[[34,6],[112,6],[239,6]]},"324":{"position":[[83,6],[954,6]]},"326":{"position":[[131,6],[531,6],[626,6],[666,6],[800,6],[1394,7]]},"328":{"position":[[51,6],[193,6]]},"330":{"position":[[1575,6]]},"331":{"position":[[24,6],[314,6],[446,6]]},"332":{"position":[[5,6],[169,6]]},"340":{"position":[[56,6]]},"342":{"position":[[5,6],[138,6],[183,6],[565,6],[758,6],[803,6],[859,6],[973,6],[1255,6]]},"343":{"position":[[33,6],[94,6],[195,6],[289,6],[384,6],[727,6],[811,6],[1341,6],[1516,6]]},"344":{"position":[[51,6],[108,6],[136,6],[149,6],[229,6],[251,6],[264,6],[340,6],[358,6],[367,6],[402,6],[411,6],[451,6],[460,6],[516,6],[525,6],[645,6],[654,6],[749,6],[758,6],[894,6],[1005,6],[1015,6],[1123,6],[1133,6],[1243,6]]},"345":{"position":[[48,6],[185,6],[315,6],[437,6],[507,6],[611,6],[717,6],[819,6],[851,6]]},"346":{"position":[[69,6]]},"349":{"position":[[1936,6],[2115,6]]},"350":{"position":[[1465,6]]},"355":{"position":[[89,6]]},"356":{"position":[[89,6]]},"358":{"position":[[18,6],[173,6],[388,6],[431,6],[535,6],[1023,7],[1207,6],[1495,6],[1587,6],[1764,6],[2006,6],[2222,6],[2240,6],[2697,6],[4695,6],[5927,6],[6371,6],[6428,6],[7277,6],[7957,6],[8087,6],[8163,6]]},"359":{"position":[[50,7],[65,6],[160,6],[199,6],[477,7],[605,6],[1080,7],[1118,6],[1206,6],[1879,6],[1974,6],[2013,6],[2133,6],[2444,6],[2776,6],[2959,6]]},"361":{"position":[[13,6],[99,7],[184,7]]},"367":{"position":[[1,6],[291,6],[436,6],[867,6],[1080,6]]},"368":{"position":[[86,6],[232,6],[385,6],[667,6]]},"369":{"position":[[142,6],[326,6],[1201,6],[1234,6],[1284,6],[1358,6],[1434,6],[1467,6],[1524,6],[1597,6],[1678,6],[1749,6],[1820,6],[2049,6],[2690,6],[2723,6],[2775,6],[2849,6],[2924,6],[2957,6],[3014,6],[3087,6],[3169,6],[3240,6],[3311,6],[3641,6],[3941,6]]},"371":{"position":[[64,6]]},"372":{"position":[[9,6]]},"373":{"position":[[342,7],[490,7]]},"377":{"position":[[30,6],[167,6]]},"378":{"position":[[246,6],[463,6]]},"380":{"position":[[242,6],[362,6],[472,6],[530,6],[580,6],[1504,6]]},"382":{"position":[[1,6],[122,6],[215,6],[270,6],[415,6],[541,6]]},"383":{"position":[[1,6],[115,6],[127,6],[595,6],[657,6],[687,6],[737,6],[783,6],[925,6],[1097,6],[1202,6],[1232,6],[1449,6],[1479,6],[1632,6],[1953,6]]},"385":{"position":[[87,6]]},"387":{"position":[[11,6],[128,6],[280,6],[437,7],[496,6],[652,7],[707,6],[841,6],[1072,6],[1165,6],[1216,6],[1295,6],[1456,6],[1647,6]]},"389":{"position":[[879,8],[1715,7],[2169,6]]},"392":{"position":[[148,6],[360,6],[643,6]]},"393":{"position":[[418,6],[513,6],[594,6],[642,6],[779,6],[848,6]]},"395":{"position":[[118,6],[237,6]]},"396":{"position":[[56,6]]},"400":{"position":[[46,7]]},"402":{"position":[[40,6],[119,6],[136,6],[281,6],[679,6],[1803,8],[4278,6],[5506,6],[5984,6]]},"404":{"position":[[133,7],[2439,6],[2449,6],[2694,6]]},"406":{"position":[[107,6]]},"407":{"position":[[59,6],[201,6],[278,6]]},"412":{"position":[[186,6]]},"414":{"position":[[175,6]]},"416":{"position":[[60,7]]},"439":{"position":[[42,6],[221,6]]},"440":{"position":[[35,6],[220,6],[312,6],[359,6],[511,6],[746,6]]},"441":{"position":[[124,6]]},"443":{"position":[[65,6]]},"445":{"position":[[70,7]]},"447":{"position":[[724,6]]},"450":{"position":[[22,6]]},"452":{"position":[[55,6]]},"457":{"position":[[23,6]]},"462":{"position":[[368,6]]},"464":{"position":[[68,7]]},"472":{"position":[[52,6],[767,6],[924,7]]},"473":{"position":[[407,6]]},"494":{"position":[[88,6]]},"497":{"position":[[50,6]]},"498":{"position":[[5,6]]},"499":{"position":[[5,6]]},"509":{"position":[[116,6],[345,6]]},"512":{"position":[[64,6]]},"516":{"position":[[25,6]]},"526":{"position":[[36,6],[113,6]]},"531":{"position":[[321,6],[674,6]]},"538":{"position":[[96,7],[355,6]]},"539":{"position":[[1,6]]},"540":{"position":[[104,6],[3617,6]]},"542":{"position":[[6,6],[852,6]]},"546":{"position":[[1,6],[208,6]]},"547":{"position":[[205,6],[1217,6]]},"548":{"position":[[170,6]]},"551":{"position":[[559,6]]},"552":{"position":[[1,6],[538,6],[1651,6],[1966,6]]},"554":{"position":[[892,6]]},"559":{"position":[[1,6]]},"561":{"position":[[1,6]]},"562":{"position":[[80,6]]},"563":{"position":[[14,6],[312,6]]},"564":{"position":[[61,6]]},"565":{"position":[[5,6]]},"566":{"position":[[40,6],[410,6],[501,6]]},"568":{"position":[[52,6]]},"569":{"position":[[120,6]]},"571":{"position":[[441,6]]},"572":{"position":[[192,6],[305,6]]},"574":{"position":[[60,6]]},"637":{"position":[[636,6],[891,6]]},"657":{"position":[[1,6],[137,6]]},"659":{"position":[[73,7]]},"660":{"position":[[114,6],[143,6]]},"661":{"position":[[50,6]]},"662":{"position":[[72,6],[139,6]]},"673":{"position":[[169,6]]},"700":{"position":[[283,6]]},"743":{"position":[[42,6]]},"749":{"position":[[44,6]]},"752":{"position":[[39,6]]},"753":{"position":[[44,6]]},"758":{"position":[[77,6]]},"759":{"position":[[86,6]]},"760":{"position":[[44,6]]},"761":{"position":[[12,6]]},"762":{"position":[[15,6]]},"768":{"position":[[73,6]]},"769":{"position":[[83,6]]},"770":{"position":[[59,6]]},"800":{"position":[[72,6],[177,6]]},"806":{"position":[[1,6]]},"807":{"position":[[24,6]]},"808":{"position":[[24,6]]},"809":{"position":[[32,6]]},"811":{"position":[[6,6]]}},"keywords":{}}],["cosmos"",{"_index":2318,"title":{},"content":{"217":{"position":[[1912,12]]}},"keywords":{}}],["cosmos'",{"_index":3711,"title":{},"content":{"385":{"position":[[64,8]]}},"keywords":{}}],["cosmos.cosmo",{"_index":3105,"title":{},"content":{"343":{"position":[[1093,13]]}},"keywords":{}}],["cosmos.localset",{"_index":3955,"title":{},"content":{"404":{"position":[[1035,15]]}},"keywords":{}}],["cosmos/compose.yaml",{"_index":2899,"title":{},"content":{"309":{"position":[[3356,19]]},"310":{"position":[[413,19]]}},"keywords":{}}],["cosmos/openc3",{"_index":2210,"title":{},"content":{"210":{"position":[[13,13],[52,13],[79,13]]}},"keywords":{}}],["cosmos/openc3/coverage/index.html",{"_index":2213,"title":{},"content":{"210":{"position":[[153,33]]}},"keywords":{}}],["cosmos/openc3/python",{"_index":2214,"title":{},"content":{"211":{"position":[[13,20],[59,20],[128,20],[193,20],[239,20]]}},"keywords":{}}],["cosmos/openc3/python/coverage/index.html",{"_index":2221,"title":{},"content":{"211":{"position":[[316,40]]}},"keywords":{}}],["cosmos_host/tools/scriptrunner/$id"",{"_index":1666,"title":{},"content":{"83":{"position":[[3204,41]]}},"keywords":{}}],["cosmos_host='http://localhost:2900",{"_index":1637,"title":{},"content":{"83":{"position":[[2168,35]]}},"keywords":{}}],["cosmosopen",{"_index":1760,"title":{},"content":{"93":{"position":[[294,10]]}},"keywords":{}}],["cost",{"_index":3922,"title":{},"content":{"404":{"position":[[29,4]]}},"keywords":{}}],["cot",{"_index":3103,"title":{},"content":{"343":{"position":[[967,4]]}},"keywords":{}}],["count",{"_index":696,"title":{},"content":{"36":{"position":[[1761,5],[1776,5]]},"48":{"position":[[4493,8]]},"55":{"position":[[1416,5],[1464,8],[1575,5]]},"115":{"position":[[1212,6],[1474,6]]},"229":{"position":[[1761,5],[1776,5]]},"279":{"position":[[1756,5],[1771,5]]},"368":{"position":[[627,7]]},"411":{"position":[[92,6]]},"509":{"position":[[194,6]]},"512":{"position":[[155,7]]},"540":{"position":[[4867,5]]},"542":{"position":[[458,5],[620,7],[654,5],[817,6]]},"546":{"position":[[1381,7]]},"547":{"position":[[938,6]]},"717":{"position":[[94,6],[346,5],[773,6]]},"718":{"position":[[17,5]]},"719":{"position":[[17,6]]},"744":{"position":[[142,6],[273,5]]},"756":{"position":[[262,6],[283,6],[777,6],[802,6],[1346,6],[1373,6]]}},"keywords":{}}],["count"",{"_index":2234,"title":{},"content":{"213":{"position":[[1075,11]]},"253":{"position":[[635,11],[1513,11],[2283,11]]},"299":{"position":[[637,11]]}},"keywords":{}}],["count=1",{"_index":5331,"title":{},"content":{"717":{"position":[[1270,8]]}},"keywords":{}}],["count=1000",{"_index":5326,"title":{},"content":{"717":{"position":[[153,11]]}},"keywords":{}}],["counter",{"_index":1393,"title":{},"content":{"67":{"position":[[3456,7],[3861,7]]},"379":{"position":[[1760,8]]},"540":{"position":[[2067,7],[2982,7]]},"542":{"position":[[406,7]]},"750":{"position":[[94,9]]},"764":{"position":[[87,9]]}},"keywords":{}}],["counter"",{"_index":3665,"title":{},"content":{"379":{"position":[[3373,13],[3428,13]]}},"keywords":{}}],["countri",{"_index":420,"title":{},"content":{"20":{"position":[[453,7]]},"404":{"position":[[1209,7]]},"426":{"position":[[656,7]]}},"keywords":{}}],["coupl",{"_index":548,"title":{},"content":{"24":{"position":[[769,7]]}},"keywords":{}}],["cours",{"_index":3798,"title":{},"content":{"391":{"position":[[581,6]]},"568":{"position":[[919,7]]}},"keywords":{}}],["cover",{"_index":3107,"title":{},"content":{"343":{"position":[[1197,6]]},"546":{"position":[[799,5]]}},"keywords":{}}],["coverag",{"_index":2202,"title":{},"content":{"209":{"position":[[328,8],[449,8],[487,8],[556,8],[590,8],[606,8]]},"210":{"position":[[120,8]]},"211":{"position":[[216,8],[262,8],[283,8]]}},"keywords":{}}],["cp",{"_index":2875,"title":{},"content":{"309":{"position":[[2217,2],[3132,2]]},"376":{"position":[[471,2],[522,2]]}},"keywords":{}}],["cpu",{"_index":2117,"title":{"368":{"position":[[0,4]]}},"content":{"173":{"position":[[19,3]]},"330":{"position":[[377,4],[448,5]]},"368":{"position":[[30,3]]},"369":{"position":[[734,3],[1051,3],[1087,3],[1100,3],[2219,3],[2424,3],[2542,3],[2578,3],[2591,3],[3552,3],[3893,3]]}},"keywords":{}}],["cpu1"",{"_index":3593,"title":{},"content":{"376":{"position":[[706,10]]}},"keywords":{}}],["crc",{"_index":1277,"title":{"65":{"position":[[0,3]]}},"content":{"59":{"position":[[275,3]]},"63":{"position":[[62,3]]},"65":{"position":[[5,3],[26,4],[63,4],[183,3],[246,3],[272,3],[334,3],[478,3],[583,3],[646,3],[747,3],[1021,3],[1184,3]]}},"keywords":{}}],["creat",{"_index":130,"title":{"376":{"position":[[0,6]]},"378":{"position":[[0,8]]},"379":{"position":[[0,8]]},"779":{"position":[[19,8]]}},"content":{"3":{"position":[[679,6]]},"20":{"position":[[199,6],[879,7],[971,7],[1171,7],[1280,7],[1411,7]]},"27":{"position":[[444,7],[558,9],[907,7]]},"36":{"position":[[9062,8]]},"42":{"position":[[2307,7]]},"43":{"position":[[530,6]]},"54":{"position":[[242,6]]},"62":{"position":[[104,7]]},"67":{"position":[[1,8],[118,8],[160,8],[434,6]]},"100":{"position":[[681,6]]},"105":{"position":[[28,7],[106,7]]},"108":{"position":[[27,7]]},"109":{"position":[[1592,6],[2065,6],[2378,6]]},"110":{"position":[[1974,6]]},"115":{"position":[[2046,8]]},"139":{"position":[[313,8]]},"149":{"position":[[1,6],[93,7]]},"150":{"position":[[185,6]]},"174":{"position":[[196,6]]},"214":{"position":[[1065,8]]},"225":{"position":[[569,6]]},"229":{"position":[[9062,8]]},"257":{"position":[[74,8],[300,6],[371,6],[436,6]]},"259":{"position":[[208,6]]},"264":{"position":[[115,6]]},"271":{"position":[[600,6]]},"275":{"position":[[22,7],[355,7]]},"279":{"position":[[7185,8]]},"301":{"position":[[22,7],[106,6],[342,7],[1601,7]]},"302":{"position":[[22,7],[369,7]]},"303":{"position":[[28,7],[419,7]]},"304":{"position":[[26,7],[576,7]]},"305":{"position":[[31,7],[615,7]]},"306":{"position":[[26,7],[605,7],[805,6]]},"307":{"position":[[20,7],[709,7],[1329,6]]},"309":{"position":[[2937,6]]},"319":{"position":[[88,8]]},"326":{"position":[[188,7]]},"330":{"position":[[785,6]]},"331":{"position":[[606,7]]},"332":{"position":[[1402,6]]},"333":{"position":[[834,6]]},"336":{"position":[[45,6]]},"340":{"position":[[154,7],[203,7]]},"349":{"position":[[1433,6],[1999,6],[2617,6],[3191,6],[3349,6],[4870,6],[5663,6]]},"355":{"position":[[160,8],[204,6]]},"358":{"position":[[331,8],[954,6],[1234,6],[1544,6],[2042,7],[2102,6],[2142,7],[2475,7],[2530,6],[2665,7],[3171,7],[5081,7],[6098,6]]},"359":{"position":[[2645,6]]},"369":{"position":[[523,8],[2106,7]]},"378":{"position":[[34,6],[129,6],[288,6],[344,6],[540,7]]},"379":{"position":[[63,6],[199,7]]},"383":{"position":[[183,8],[1188,7],[1436,6],[1731,6]]},"386":{"position":[[168,6],[494,6],[674,6]]},"402":{"position":[[619,8],[1182,8]]},"415":{"position":[[31,6]]},"416":{"position":[[206,8]]},"420":{"position":[[318,7]]},"421":{"position":[[70,8],[497,7]]},"422":{"position":[[426,8],[499,8],[1305,7]]},"440":{"position":[[540,7]]},"450":{"position":[[54,6],[122,7],[308,6]]},"452":{"position":[[344,6],[387,6],[651,7]]},"453":{"position":[[73,6]]},"455":{"position":[[13,7]]},"462":{"position":[[281,6]]},"495":{"position":[[3,6]]},"498":{"position":[[17,7]]},"499":{"position":[[17,7]]},"504":{"position":[[136,8]]},"506":{"position":[[230,7]]},"524":{"position":[[224,7]]},"532":{"position":[[249,6]]},"534":{"position":[[31,8],[695,7]]},"535":{"position":[[24,7]]},"540":{"position":[[4082,6],[4419,8],[4582,7]]},"543":{"position":[[206,6]]},"548":{"position":[[47,6]]},"576":{"position":[[366,8]]},"592":{"position":[[172,8]]},"598":{"position":[[170,6]]},"600":{"position":[[1,7]]},"601":{"position":[[1,7]]},"641":{"position":[[1,7]]},"668":{"position":[[62,6]]},"671":{"position":[[277,7]]},"673":{"position":[[52,6]]},"779":{"position":[[48,6]]},"786":{"position":[[33,6]]},"787":{"position":[[32,6],[748,6]]},"794":{"position":[[1,8]]},"805":{"position":[[53,6]]}},"keywords":{}}],["create_screen",{"_index":5669,"title":{"786":{"position":[[0,14]]}},"content":{"786":{"position":[[5,13]]}},"keywords":{}}],["create_screen("<target",{"_index":5670,"title":{},"content":{"786":{"position":[[174,30]]}},"keywords":{}}],["create_screen("inst"",{"_index":5674,"title":{},"content":{"786":{"position":[[659,31],[931,31]]}},"keywords":{}}],["creation",{"_index":2752,"title":{},"content":{"301":{"position":[[1192,9]]},"351":{"position":[[113,8]]},"421":{"position":[[145,8]]},"422":{"position":[[190,8]]}},"keywords":{}}],["creator",{"_index":2418,"title":{},"content":{"237":{"position":[[78,7]]},"290":{"position":[[133,8]]}},"keywords":{}}],["credenti",{"_index":1689,"title":{},"content":{"85":{"position":[[52,11]]}},"keywords":{}}],["credit",{"_index":4057,"title":{},"content":{"426":{"position":[[1101,6]]},"432":{"position":[[452,6]]}},"keywords":{}}],["criteria",{"_index":5344,"title":{},"content":{"722":{"position":[[116,9]]},"726":{"position":[[129,8]]}},"keywords":{}}],["critic",{"_index":1778,"title":{},"content":{"95":{"position":[[156,8]]},"250":{"position":[[78,8],[143,8]]},"387":{"position":[[633,8]]},"513":{"position":[[609,8],[632,8],[873,8]]}},"keywords":{}}],["cross",{"_index":4577,"title":{},"content":{"571":{"position":[[319,5]]}},"keywords":{}}],["crt",{"_index":528,"title":{"27":{"position":[[8,4]]}},"content":{"24":{"position":[[103,4]]},"26":{"position":[[327,4]]},"27":{"position":[[973,4]]},"332":{"position":[[899,4]]}},"keywords":{}}],["crt/key",{"_index":532,"title":{},"content":{"24":{"position":[[197,7]]}},"keywords":{}}],["cryptic",{"_index":4498,"title":{},"content":{"557":{"position":[[386,8]]}},"keywords":{}}],["css",{"_index":2544,"title":{},"content":{"263":{"position":[[202,4]]},"583":{"position":[[39,3]]},"584":{"position":[[41,3]]},"585":{"position":[[41,3]]},"586":{"position":[[43,3]]},"590":{"position":[[13,3],[77,3],[127,3]]}},"keywords":{}}],["csv",{"_index":3217,"title":{"571":{"position":[[35,3]]}},"content":{"353":{"position":[[63,3]]},"496":{"position":[[265,3]]},"571":{"position":[[249,3],[292,3],[354,5]]}},"keywords":{}}],["csv.read('test.csv",{"_index":4578,"title":{},"content":{"571":{"position":[[369,20]]}},"keywords":{}}],["ct",{"_index":1710,"title":{},"content":{"88":{"position":[[184,4]]},"344":{"position":[[640,4]]},"346":{"position":[[253,3],[414,3],[512,3],[617,3],[795,3],[909,3],[1114,3],[1212,3],[1366,3],[1508,3],[1681,3]]}},"keywords":{}}],["ctrl",{"_index":1056,"title":{},"content":{"44":{"position":[[1564,5]]}},"keywords":{}}],["cubesat",{"_index":1793,"title":{},"content":{"96":{"position":[[314,8]]}},"keywords":{}}],["curl",{"_index":1473,"title":{"80":{"position":[[13,4]]},"81":{"position":[[0,4]]},"82":{"position":[[0,4]]}},"content":{"81":{"position":[[163,4]]},"82":{"position":[[412,4],[4706,4]]},"83":{"position":[[693,4],[1907,4],[2509,4],[3954,4]]},"93":{"position":[[652,5],[659,4]]},"309":{"position":[[1700,4]]},"332":{"position":[[514,4],[1077,4]]},"404":{"position":[[2267,4]]}},"keywords":{}}],["curl"",{"_index":1600,"title":{},"content":{"83":{"position":[[617,10]]}},"keywords":{}}],["curl_arg",{"_index":1641,"title":{},"content":{"83":{"position":[[2299,11]]}},"keywords":{}}],["curl_ca_bundl",{"_index":3062,"title":{},"content":{"332":{"position":[[1259,14]]}},"keywords":{}}],["curr_line_delay",{"_index":5688,"title":{},"content":{"790":{"position":[[105,15]]}},"keywords":{}}],["currenc",{"_index":4051,"title":{},"content":{"426":{"position":[[606,9]]}},"keywords":{}}],["current",{"_index":51,"title":{"398":{"position":[[23,7]]}},"content":{"2":{"position":[[392,7]]},"32":{"position":[[175,7]]},"35":{"position":[[28,7]]},"36":{"position":[[2055,7],[2725,7],[4010,7],[6150,7],[6780,7],[7844,7]]},"37":{"position":[[28,7]]},"48":{"position":[[3171,9]]},"57":{"position":[[187,9]]},"73":{"position":[[129,7]]},"74":{"position":[[152,7]]},"75":{"position":[[151,7]]},"76":{"position":[[143,7]]},"92":{"position":[[122,7],[199,7],[276,7],[360,7]]},"111":{"position":[[170,9]]},"112":{"position":[[107,9]]},"113":{"position":[[111,9]]},"114":{"position":[[72,9]]},"175":{"position":[[47,7]]},"222":{"position":[[148,9]]},"223":{"position":[[144,9]]},"228":{"position":[[36,7]]},"229":{"position":[[2055,7],[2725,7],[4010,7],[6150,7],[6780,7],[7844,7]]},"230":{"position":[[36,7]]},"231":{"position":[[52,7]]},"232":{"position":[[52,7]]},"233":{"position":[[36,7]]},"234":{"position":[[36,7]]},"240":{"position":[[25,7]]},"241":{"position":[[16,7]]},"275":{"position":[[741,7]]},"278":{"position":[[33,7]]},"279":{"position":[[1950,7],[2962,7],[4629,7],[5317,7],[6440,7],[10451,7]]},"280":{"position":[[33,7]]},"281":{"position":[[33,7]]},"282":{"position":[[33,7]]},"283":{"position":[[33,7]]},"284":{"position":[[33,7]]},"287":{"position":[[25,7]]},"305":{"position":[[838,7]]},"309":{"position":[[2665,7],[2727,7]]},"315":{"position":[[205,7]]},"343":{"position":[[483,7]]},"345":{"position":[[362,7],[542,7]]},"346":{"position":[[1439,7]]},"347":{"position":[[55,9],[271,9]]},"349":{"position":[[221,9],[2204,9]]},"352":{"position":[[1061,7]]},"382":{"position":[[262,7]]},"390":{"position":[[106,9]]},"399":{"position":[[54,9]]},"401":{"position":[[35,9]]},"402":{"position":[[4443,7],[5039,7]]},"428":{"position":[[109,7]]},"440":{"position":[[619,7]]},"441":{"position":[[86,7]]},"455":{"position":[[679,7]]},"461":{"position":[[39,7]]},"472":{"position":[[105,7]]},"473":{"position":[[215,7],[1461,7]]},"478":{"position":[[39,7]]},"487":{"position":[[89,7],[232,7]]},"489":{"position":[[76,7]]},"495":{"position":[[74,7],[99,7],[124,7]]},"502":{"position":[[38,7]]},"521":{"position":[[57,7]]},"528":{"position":[[150,9],[190,7],[216,7],[255,7]]},"529":{"position":[[349,9],[456,9]]},"530":{"position":[[303,9]]},"531":{"position":[[185,7],[423,7],[530,7]]},"535":{"position":[[890,7]]},"552":{"position":[[145,7]]},"620":{"position":[[20,7]]},"621":{"position":[[20,7]]},"658":{"position":[[366,9]]},"662":{"position":[[85,9]]},"704":{"position":[[24,7]]},"711":{"position":[[364,7]]},"714":{"position":[[29,9]]},"737":{"position":[[10,7]]},"738":{"position":[[25,7]]},"750":{"position":[[70,7]]},"764":{"position":[[63,7]]},"790":{"position":[[54,9]]},"807":{"position":[[16,7]]},"808":{"position":[[16,7]]}},"keywords":{}}],["cursor",{"_index":3169,"title":{},"content":{"349":{"position":[[3872,6],[3945,7]]},"531":{"position":[[447,6]]},"627":{"position":[[32,7]]}},"keywords":{}}],["custom",{"_index":671,"title":{"67":{"position":[[0,6]]},"115":{"position":[[0,6]]},"318":{"position":[[0,6]]},"319":{"position":[[0,6]]},"565":{"position":[[6,6]]}},"content":{"36":{"position":[[631,6],[705,6],[4070,6]]},"50":{"position":[[853,6]]},"62":{"position":[[55,6]]},"67":{"position":[[12,6],[75,11],[169,6],[443,6],[590,6]]},"69":{"position":[[34,6]]},"119":{"position":[[175,6]]},"139":{"position":[[331,6]]},"140":{"position":[[105,6]]},"203":{"position":[[10,6],[35,6],[347,6]]},"229":{"position":[[631,6],[705,6],[4070,6]]},"240":{"position":[[94,6]]},"279":{"position":[[626,6],[700,6],[3019,6]]},"287":{"position":[[103,6]]},"302":{"position":[[1365,6],[1418,6],[1449,6]]},"303":{"position":[[908,6]]},"306":{"position":[[140,6]]},"307":{"position":[[160,6]]},"319":{"position":[[70,6]]},"320":{"position":[[640,6],[1865,6]]},"342":{"position":[[644,6]]},"343":{"position":[[1222,6]]},"351":{"position":[[67,6]]},"383":{"position":[[519,6]]},"387":{"position":[[1604,6]]},"389":{"position":[[1899,9]]},"392":{"position":[[695,10]]},"393":{"position":[[325,9],[1166,9]]},"404":{"position":[[1571,13]]},"426":{"position":[[150,9]]},"432":{"position":[[719,8]]},"498":{"position":[[545,6]]},"499":{"position":[[494,6]]},"501":{"position":[[60,6]]},"504":{"position":[[334,11]]},"576":{"position":[[375,6],[406,6]]},"631":{"position":[[12,6]]},"645":{"position":[[35,6]]},"660":{"position":[[101,6],[213,6]]},"741":{"position":[[1600,6]]},"758":{"position":[[123,6]]},"759":{"position":[[131,6]]},"768":{"position":[[116,6]]},"769":{"position":[[128,6]]}},"keywords":{}}],["custom_validator.pi",{"_index":2456,"title":{},"content":{"251":{"position":[[1424,20]]}},"keywords":{}}],["custom_validator.rb",{"_index":2440,"title":{},"content":{"251":{"position":[[571,19],[602,20],[1393,19]]}},"keywords":{}}],["customiz",{"_index":1824,"title":{},"content":{"100":{"position":[[420,12]]}},"keywords":{}}],["customvalid",{"_index":2442,"title":{},"content":{"251":{"position":[[672,15]]}},"keywords":{}}],["customvalidator(commandvalid",{"_index":2457,"title":{},"content":{"251":{"position":[[1451,34]]}},"keywords":{}}],["cut",{"_index":1360,"title":{},"content":{"67":{"position":[[496,3]]},"349":{"position":[[1602,4]]}},"keywords":{}}],["cx",{"_index":788,"title":{},"content":{"36":{"position":[[6356,2],[7152,2]]},"229":{"position":[[6356,2],[7152,2]]},"279":{"position":[[4895,2],[5753,2]]}},"keywords":{}}],["cycl",{"_index":2044,"title":{},"content":{"138":{"position":[[397,7],[454,5],[469,5],[489,5],[531,7],[576,5],[608,5],[637,5],[653,5],[720,6],[751,5],[781,5],[806,5],[823,5]]},"153":{"position":[[28,6]]},"154":{"position":[[28,6]]},"156":{"position":[[35,6]]},"157":{"position":[[35,6]]},"160":{"position":[[30,6]]},"161":{"position":[[30,6]]},"163":{"position":[[37,6]]},"164":{"position":[[37,6]]}},"keywords":{}}],["cycle_tim",{"_index":3086,"title":{},"content":{"338":{"position":[[677,10]]}},"keywords":{}}],["d",{"_index":1481,"title":{},"content":{"81":{"position":[[261,1]]},"82":{"position":[[484,1],[6014,1]]},"93":{"position":[[665,1]]},"424":{"position":[[972,2]]}},"keywords":{}}],["d4",{"_index":3416,"title":{},"content":{"369":{"position":[[67,3]]}},"keywords":{}}],["d842f813f1c7",{"_index":3672,"title":{},"content":{"380":{"position":[[452,12]]}},"keywords":{}}],["daemon",{"_index":2835,"title":{},"content":{"309":{"position":[[327,6]]},"333":{"position":[[556,6]]}},"keywords":{}}],["daili",{"_index":2046,"title":{},"content":{"138":{"position":[[667,5]]}},"keywords":{}}],["damag",{"_index":3783,"title":{},"content":{"390":{"position":[[981,7]]},"424":{"position":[[1941,7]]}},"keywords":{}}],["danger",{"_index":3988,"title":{},"content":{"414":{"position":[[132,10]]}},"keywords":{}}],["darken",{"_index":4686,"title":{},"content":{"611":{"position":[[183,7]]},"635":{"position":[[74,7]]}},"keywords":{}}],["dash",{"_index":4243,"title":{},"content":{"506":{"position":[[513,4]]}},"keywords":{}}],["dashboard",{"_index":1799,"title":{},"content":{"96":{"position":[[473,10]]}},"keywords":{}}],["data",{"_index":48,"title":{"353":{"position":[[0,4]]},"354":{"position":[[0,4]]},"458":{"position":[[0,4]]},"460":{"position":[[0,4]]},"475":{"position":[[0,4]]},"477":{"position":[[0,4]]},"715":{"position":[[7,4]]},"770":{"position":[[9,5]]}},"content":{"2":{"position":[[323,4],[424,4],[461,5],[477,4],[529,5],[610,5]]},"5":{"position":[[842,4]]},"31":{"position":[[556,4],[703,5]]},"33":{"position":[[165,4]]},"35":{"position":[[609,4],[650,4],[660,4],[754,4],[1253,4],[1417,4],[1784,4]]},"36":{"position":[[658,4],[680,4],[10359,4]]},"37":{"position":[[402,4],[443,4],[453,4],[547,4],[1046,4],[1210,4],[1577,4]]},"39":{"position":[[272,4],[304,4]]},"48":{"position":[[119,5],[210,4],[630,4],[648,4],[805,4],[819,4],[1128,4],[1149,4],[1479,4],[1719,4],[2094,4],[2133,4],[2210,4],[2352,4],[3053,4],[3474,4],[3589,4],[3631,4],[3669,4],[3746,5],[3759,4],[3786,4],[3813,4],[3857,4],[4204,4],[4236,4],[4551,4],[4880,4],[5194,4]]},"51":{"position":[[84,4],[429,4],[477,4]]},"52":{"position":[[242,4],[267,4],[370,4]]},"53":{"position":[[41,4],[96,4],[159,4],[213,4],[393,4],[463,4],[612,4],[847,5],[904,4]]},"54":{"position":[[53,4],[202,4],[1010,4],[1245,5],[1302,4],[1405,4]]},"55":{"position":[[132,4],[1149,4],[1791,4],[2004,4],[2145,5],[2202,4],[2917,4],[3065,5],[3144,5]]},"56":{"position":[[129,4],[214,5],[298,4],[508,4],[916,4],[1147,5],[1204,4]]},"58":{"position":[[190,5],[268,4],[315,4]]},"60":{"position":[[167,5],[419,4],[650,5],[707,4]]},"61":{"position":[[1095,4],[1321,4],[1725,4],[2088,4],[2319,5],[2376,4]]},"62":{"position":[[437,5],[494,4]]},"64":{"position":[[868,5]]},"65":{"position":[[489,5],[1156,4]]},"67":{"position":[[2040,4],[2196,4],[2247,4],[2293,4],[2432,4],[2538,4],[2643,4],[2892,4],[2981,5],[2994,4],[3322,4],[3761,4],[4110,4],[4389,4],[4557,5],[4625,4],[4677,4],[4921,4]]},"69":{"position":[[250,4]]},"73":{"position":[[72,4],[150,4],[204,5],[277,4],[433,4],[918,4],[984,5],[1329,6],[1406,4],[1730,5]]},"76":{"position":[[65,4],[164,4],[227,5],[280,5],[312,4],[471,4],[699,4],[766,5],[792,6],[847,4]]},"77":{"position":[[49,4],[348,4],[988,5],[1009,4],[1094,5],[1129,5]]},"83":{"position":[[2987,4]]},"91":{"position":[[784,4],[1190,4],[1470,4]]},"92":{"position":[[579,4],[899,4]]},"96":{"position":[[290,4]]},"100":{"position":[[1016,4]]},"101":{"position":[[107,4]]},"106":{"position":[[186,4]]},"107":{"position":[[768,4]]},"109":{"position":[[2285,4],[2606,4]]},"111":{"position":[[1128,4]]},"115":{"position":[[565,4],[625,4],[756,4],[1239,4],[1501,4],[1678,4],[1852,4],[1915,4],[2015,5]]},"117":{"position":[[340,4]]},"123":{"position":[[109,4]]},"130":{"position":[[239,4],[383,4]]},"131":{"position":[[284,4],[296,4],[480,4],[492,4]]},"132":{"position":[[287,4],[299,4],[486,4],[498,4]]},"138":{"position":[[24,4],[510,4]]},"139":{"position":[[65,4],[150,4],[205,4],[446,5],[461,5],[816,4],[1105,4]]},"140":{"position":[[421,4]]},"172":{"position":[[14,4]]},"173":{"position":[[47,4]]},"183":{"position":[[540,4]]},"203":{"position":[[446,4]]},"213":{"position":[[32,4],[124,4]]},"214":{"position":[[69,4],[355,5],[1193,4],[1609,5]]},"215":{"position":[[669,5]]},"218":{"position":[[30,4],[85,4],[151,4],[392,5],[1387,5]]},"220":{"position":[[302,5],[1468,5]]},"225":{"position":[[857,4],[1004,5],[1210,4],[1261,4]]},"226":{"position":[[312,4]]},"228":{"position":[[638,4],[679,4],[689,4],[783,4],[1282,4],[1446,4],[1813,4],[2042,4]]},"229":{"position":[[658,4],[680,4],[10359,4]]},"230":{"position":[[421,4],[462,4],[472,4],[566,4],[1065,4],[1229,4],[1596,4]]},"231":{"position":[[131,4],[243,4],[808,4],[849,4],[859,4],[953,4],[1234,4],[1426,4],[1590,4],[1957,4]]},"232":{"position":[[131,4],[243,4],[644,4],[685,4],[695,4],[789,4],[1070,4],[1262,4],[1426,4],[1793,4]]},"233":{"position":[[444,4],[454,4],[829,4]]},"234":{"position":[[227,4],[237,4],[612,4]]},"236":{"position":[[285,4]]},"240":{"position":[[47,4],[69,4]]},"258":{"position":[[1297,4]]},"267":{"position":[[23,4],[167,5],[358,4],[572,4]]},"271":{"position":[[881,4],[1028,5],[1276,4],[1329,4],[1398,4],[1408,4],[1539,4],[1581,4],[1685,5]]},"272":{"position":[[58,4],[166,4],[398,4]]},"273":{"position":[[101,4]]},"274":{"position":[[108,5],[271,4],[476,4]]},"275":{"position":[[326,5],[378,4],[669,4]]},"276":{"position":[[341,4]]},"278":{"position":[[636,4],[677,4],[687,4],[1113,4]]},"279":{"position":[[653,4],[675,4]]},"280":{"position":[[428,4],[469,4],[479,4]]},"281":{"position":[[174,5],[686,4],[696,4]]},"282":{"position":[[355,4],[365,4]]},"283":{"position":[[437,4],[447,4],[822,4]]},"284":{"position":[[229,4],[239,4],[614,4]]},"286":{"position":[[266,4]]},"287":{"position":[[56,4],[78,4]]},"289":{"position":[[119,4]]},"299":{"position":[[696,4]]},"306":{"position":[[816,4]]},"312":{"position":[[69,4],[136,4],[179,4]]},"314":{"position":[[824,4],[1933,4]]},"320":{"position":[[350,6],[380,4]]},"321":{"position":[[227,5],[444,4]]},"330":{"position":[[978,5],[1207,4]]},"338":{"position":[[92,5],[320,5],[580,4]]},"343":{"position":[[414,4],[515,4],[552,5],[568,4],[620,5],[701,5],[1622,5]]},"346":{"position":[[682,4],[983,4]]},"351":{"position":[[165,5],[433,5],[478,5]]},"352":{"position":[[230,4],[409,4],[469,4],[488,4],[668,4],[759,4],[955,4]]},"353":{"position":[[1,4],[33,4],[51,4],[155,4],[260,4],[349,4],[446,4],[622,4],[707,4],[793,4]]},"354":{"position":[[1,4],[177,4],[234,4],[349,4],[451,4],[535,5],[546,4],[590,4],[635,5],[646,4]]},"358":{"position":[[5762,4],[5780,4],[8012,4]]},"362":{"position":[[27,4],[68,4],[138,5]]},"363":{"position":[[131,4]]},"364":{"position":[[189,4],[255,4],[350,5]]},"365":{"position":[[177,4]]},"367":{"position":[[420,4],[757,4]]},"368":{"position":[[185,4],[213,4]]},"369":{"position":[[2345,4]]},"382":{"position":[[608,4]]},"387":{"position":[[464,4]]},"401":{"position":[[288,4]]},"402":{"position":[[1137,4],[1364,6],[1398,4],[2108,4],[2143,4],[2221,4],[3280,4],[4826,5],[4832,4],[4918,4],[5245,4],[5312,4],[5390,4],[6205,5]]},"404":{"position":[[610,4]]},"414":{"position":[[118,5]]},"424":{"position":[[304,4],[410,4],[1083,4],[1259,4],[1345,4],[1374,4],[1436,4],[1826,5]]},"429":{"position":[[166,4],[265,4]]},"430":{"position":[[708,4]]},"431":{"position":[[422,4],[560,5],[652,4]]},"432":{"position":[[99,4]]},"452":{"position":[[41,4],[329,5]]},"459":{"position":[[1,4],[39,4],[63,4]]},"462":{"position":[[21,4],[205,5]]},"476":{"position":[[1,4],[162,4]]},"481":{"position":[[1,4]]},"482":{"position":[[1,4]]},"484":{"position":[[229,4]]},"522":{"position":[[553,4],[741,4],[844,4],[926,4]]},"562":{"position":[[32,4]]},"571":{"position":[[282,4]]},"574":{"position":[[114,5]]},"579":{"position":[[417,4]]},"609":{"position":[[16,4]]},"610":{"position":[[16,4]]},"611":{"position":[[40,4]]},"626":{"position":[[306,5],[431,4],[1033,5],[1158,4],[1480,4]]},"627":{"position":[[340,5],[465,4],[674,4],[1086,5],[1211,4],[1533,4]]},"628":{"position":[[324,5],[449,4],[641,4],[1058,5],[1183,4],[1505,4]]},"629":{"position":[[324,4]]},"640":{"position":[[179,4]]},"664":{"position":[[116,4]]},"670":{"position":[[438,4],[447,4]]},"686":{"position":[[11,4],[180,4],[189,4],[213,4],[283,5]]},"715":{"position":[[48,5],[184,4]]},"716":{"position":[[64,4],[134,5]]},"717":{"position":[[16,4]]},"754":{"position":[[23,4],[274,4],[351,4],[385,5]]},"755":{"position":[[22,4],[271,4],[348,4],[381,5]]},"766":{"position":[[23,4],[259,4],[333,4],[367,5]]},"767":{"position":[[22,4],[256,4],[330,4],[363,5]]},"770":{"position":[[49,4]]},"800":{"position":[[57,4],[155,4]]},"808":{"position":[[937,7],[1032,7],[1146,7],[1253,7]]},"809":{"position":[[12,4]]}},"keywords":{}}],["data"",{"_index":1149,"title":{},"content":{"50":{"position":[[489,11]]},"109":{"position":[[2312,10],[2630,10]]},"228":{"position":[[2262,10]]},"253":{"position":[[114,10],[1698,10]]},"278":{"position":[[1144,10]]},"499":{"position":[[874,11]]},"705":{"position":[[459,11]]}},"keywords":{}}],["data.length",{"_index":1434,"title":{},"content":{"73":{"position":[[655,12]]}},"keywords":{}}],["data_bit",{"_index":1915,"title":{},"content":{"111":{"position":[[1108,9],[1956,9]]},"140":{"position":[[393,9],[775,9]]},"314":{"position":[[866,9],[1423,9],[1440,9]]}},"keywords":{}}],["data_int",{"_index":2023,"title":{},"content":{"130":{"position":[[147,8],[273,8]]},"139":{"position":[[726,8],[995,8]]}},"keywords":{}}],["data_typ",{"_index":5161,"title":{},"content":{"690":{"position":[[1263,12]]}},"keywords":{}}],["data_uploader.rb'class",{"_index":4347,"title":{},"content":{"540":{"position":[[1665,23]]}},"keywords":{}}],["data_view",{"_index":5803,"title":{},"content":{"812":{"position":[[320,14]]}},"keywords":{}}],["databas",{"_index":2525,"title":{},"content":{"258":{"position":[[1826,8]]},"382":{"position":[[567,9]]},"414":{"position":[[73,9]]},"455":{"position":[[899,8],[939,8],[1317,9],[1545,8],[1700,9]]}},"keywords":{}}],["dataencod",{"_index":3842,"title":{},"content":{"398":{"position":[[90,13]]}},"keywords":{}}],["datasourc",{"_index":3382,"title":{},"content":{"365":{"position":[[231,12]]}},"keywords":{}}],["datasource.yaml",{"_index":3380,"title":{},"content":{"365":{"position":[[200,15],[441,15]]}},"keywords":{}}],["dataupload",{"_index":4346,"title":{},"content":{"540":{"position":[[1647,12]]}},"keywords":{}}],["datavi",{"_index":2809,"title":{},"content":{"307":{"position":[[595,7],[608,7],[655,7],[1036,8],[1804,7]]}},"keywords":{}}],["dataview",{"_index":4157,"title":{},"content":{"462":{"position":[[1,10],[299,10]]}},"keywords":{}}],["date",{"_index":1113,"title":{"640":{"position":[[0,5]]}},"content":{"48":{"position":[[2960,6],[3386,6]]},"81":{"position":[[806,5]]},"82":{"position":[[1255,5],[6547,5]]},"83":{"position":[[3092,7]]},"275":{"position":[[814,4],[995,4],[1107,4]]},"338":{"position":[[151,5]]},"339":{"position":[[102,4]]},"424":{"position":[[1017,5]]},"437":{"position":[[192,6]]},"446":{"position":[[174,4],[194,4]]},"449":{"position":[[177,5]]},"481":{"position":[[107,4],[120,4],[145,4],[205,5]]},"522":{"position":[[703,4],[893,4],[978,4]]},"640":{"position":[[12,4],[194,7],[251,5],[262,4],[365,4],[370,4]]}},"keywords":{}}],["date/tim",{"_index":4191,"title":{"481":{"position":[[10,10]]}},"content":{},"keywords":{}}],["day",{"_index":414,"title":{},"content":{"20":{"position":[[365,4],[1074,4]]},"42":{"position":[[1164,4],[1227,4],[1286,4],[1346,4],[1408,4],[1468,4],[1527,4],[1586,4]]},"168":{"position":[[26,3],[127,3]]},"299":{"position":[[846,3]]},"522":{"position":[[541,4]]}},"keywords":{}}],["de",{"_index":1939,"title":{},"content":{"112":{"position":[[791,3]]},"353":{"position":[[255,2],[344,2],[441,2],[617,2],[702,2],[788,2]]}},"keywords":{}}],["deal",{"_index":3788,"title":{},"content":{"390":{"position":[[1142,8]]},"730":{"position":[[15,4]]}},"keywords":{}}],["death",{"_index":116,"title":{},"content":{"3":{"position":[[497,6]]}},"keywords":{}}],["debian_frontend=noninteract",{"_index":3572,"title":{},"content":{"376":{"position":[[34,30]]}},"keywords":{}}],["debug",{"_index":825,"title":{"93":{"position":[[8,10]]},"536":{"position":[[0,9]]},"553":{"position":[[0,9]]},"554":{"position":[[9,9]]},"796":{"position":[[14,10]]}},"content":{"36":{"position":[[9156,5]]},"44":{"position":[[1490,9]]},"93":{"position":[[84,5],[196,5]]},"138":{"position":[[205,9]]},"229":{"position":[[9156,5]]},"279":{"position":[[7277,5]]},"349":{"position":[[4572,5],[4597,9],[4641,6]]},"529":{"position":[[238,5]]},"535":{"position":[[1397,5]]},"536":{"position":[[21,5]]},"554":{"position":[[28,9],[217,9],[267,6],[325,6],[575,5],[729,5],[1057,5]]},"555":{"position":[[222,5]]},"569":{"position":[[557,5],[603,6]]},"754":{"position":[[66,9]]},"755":{"position":[[65,9]]},"766":{"position":[[63,9]]},"767":{"position":[[62,9]]},"796":{"position":[[33,5]]}},"keywords":{}}],["decemb",{"_index":3033,"title":{},"content":{"330":{"position":[[1557,8]]}},"keywords":{}}],["decid",{"_index":3146,"title":{},"content":{"349":{"position":[[398,6]]},"435":{"position":[[223,6]]}},"keywords":{}}],["declar",{"_index":324,"title":{},"content":{"12":{"position":[[66,7]]},"48":{"position":[[420,11],[1369,11],[1389,8],[1561,11],[1581,8],[1870,12],[1913,11],[1957,11],[2532,12],[2575,11],[2619,11],[5031,12],[5074,11],[5118,11]]},"54":{"position":[[877,7]]},"117":{"position":[[616,8]]},"125":{"position":[[71,8]]},"263":{"position":[[237,11]]},"274":{"position":[[538,8]]},"319":{"position":[[168,7]]},"338":{"position":[[715,8]]},"358":{"position":[[7307,8],[7534,8]]},"540":{"position":[[560,8],[875,8],[969,9],[1998,7],[2913,7],[4056,7],[4204,7]]},"583":{"position":[[159,8]]},"584":{"position":[[163,8]]},"585":{"position":[[159,8]]},"586":{"position":[[161,8]]},"612":{"position":[[1130,9]]},"619":{"position":[[1062,9]]}},"keywords":{}}],["declaract",{"_index":1075,"title":{},"content":{"48":{"position":[[443,12]]}},"keywords":{}}],["declin",{"_index":3139,"title":{},"content":{"348":{"position":[[2053,9]]}},"keywords":{}}],["decod",{"_index":1217,"title":{},"content":{"55":{"position":[[163,7]]},"223":{"position":[[308,8]]}},"keywords":{}}],["decom",{"_index":1288,"title":{},"content":{"60":{"position":[[161,5]]},"158":{"position":[[18,5],[111,5]]},"165":{"position":[[18,5],[113,5]]},"174":{"position":[[383,6]]},"402":{"position":[[3018,6],[3988,6]]},"626":{"position":[[323,6],[344,6],[479,6],[1050,6],[1071,6],[1206,6]]},"627":{"position":[[357,6],[378,6],[513,6],[1103,6],[1124,6],[1259,6]]},"628":{"position":[[341,6],[362,6],[497,6],[1075,6],[1096,6],[1231,6]]}},"keywords":{}}],["decom_log",{"_index":3078,"title":{"338":{"position":[[0,10]]}},"content":{"338":{"position":[[5,10]]}},"keywords":{}}],["decom_microservic",{"_index":2140,"title":{},"content":{"183":{"position":[[113,18]]},"184":{"position":[[120,18]]}},"keywords":{}}],["decomcmdlog",{"_index":2126,"title":{},"content":{"174":{"position":[[402,12]]}},"keywords":{}}],["decomlog",{"_index":2128,"title":{},"content":{"174":{"position":[[426,9]]}},"keywords":{}}],["decommut",{"_index":56,"title":{},"content":{"2":{"position":[[448,12],[584,13]]},"46":{"position":[[114,12]]},"48":{"position":[[2156,13],[2221,14],[2947,12],[3373,12],[4437,12],[4538,12]]},"156":{"position":[[9,13]]},"157":{"position":[[9,13]]},"163":{"position":[[11,13]]},"164":{"position":[[11,13]]},"338":{"position":[[49,12]]},"343":{"position":[[539,12],[675,13]]},"344":{"position":[[473,11]]},"367":{"position":[[744,12]]},"368":{"position":[[164,13]]},"402":{"position":[[367,12],[5410,12]]}},"keywords":{}}],["decomut",{"_index":2519,"title":{},"content":{"258":{"position":[[1285,11]]}},"keywords":{}}],["decor",{"_index":4667,"title":{"603":{"position":[[0,10]]}},"content":{"603":{"position":[[3,10]]}},"keywords":{}}],["decrypt",{"_index":588,"title":{},"content":{"27":{"position":[[795,7],[991,9]]},"109":{"position":[[1141,7]]},"110":{"position":[[1475,7]]},"332":{"position":[[83,10]]}},"keywords":{}}],["decrypted.key",{"_index":590,"title":{},"content":{"27":{"position":[[863,14]]}},"keywords":{}}],["decryptor",{"_index":3047,"title":{},"content":{"332":{"position":[[481,9]]}},"keywords":{}}],["dedic",{"_index":3406,"title":{},"content":{"368":{"position":[[463,9]]},"406":{"position":[[20,9]]}},"keywords":{}}],["def",{"_index":768,"title":{},"content":{"36":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"69":{"position":[[255,3],[431,3]]},"70":{"position":[[276,3],[327,3]]},"71":{"position":[[139,3],[206,3]]},"72":{"position":[[145,3],[215,3]]},"73":{"position":[[632,3],[964,3]]},"74":{"position":[[813,3],[892,3]]},"75":{"position":[[674,3],[754,3]]},"76":{"position":[[671,3],[745,3]]},"77":{"position":[[955,3],[1055,3]]},"78":{"position":[[216,3],[357,3]]},"229":{"position":[[5593,3],[5662,3],[5924,3],[6011,3]]},"251":{"position":[[1056,3],[1243,3],[1824,3],[2028,3]]},"279":{"position":[[4073,3],[4142,3],[4404,3],[4491,3]]},"533":{"position":[[425,3],[462,3],[505,3],[654,3],[696,3],[744,3]]},"534":{"position":[[164,3],[209,3],[252,3],[386,3],[435,3],[483,3]]},"540":{"position":[[2104,3],[3019,3]]},"544":{"position":[[654,3],[732,3],[1332,3],[1611,3]]},"550":{"position":[[313,3],[422,3],[544,3],[654,3]]},"551":{"position":[[802,3],[841,3],[918,3],[978,3],[1255,3],[1297,3],[1381,3],[1444,3]]},"561":{"position":[[345,3],[647,3]]},"564":{"position":[[328,3],[506,3]]},"572":{"position":[[546,3],[621,3]]},"795":{"position":[[1134,3],[1221,3],[1263,3],[1309,3],[1391,3],[1674,3],[1754,3],[1804,3],[1858,3],[1933,3]]}},"keywords":{}}],["default",{"_index":350,"title":{"39":{"position":[[0,8]]}},"content":{"13":{"position":[[218,8]]},"14":{"position":[[187,8]]},"20":{"position":[[554,8],[603,8],[939,7]]},"29":{"position":[[115,8]]},"35":{"position":[[974,7],[988,7],[1041,7],[1519,7],[1572,7]]},"36":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8595,7],[9701,7]]},"37":{"position":[[767,7],[781,7],[834,7],[1312,7],[1365,7]]},"39":{"position":[[9,7],[103,7]]},"43":{"position":[[811,7]]},"65":{"position":[[787,7],[922,7],[1056,7],[1200,7]]},"67":{"position":[[54,7],[207,10],[2813,7],[3618,7]]},"78":{"position":[[256,7],[404,7]]},"82":{"position":[[180,7]]},"87":{"position":[[101,8],[170,7]]},"91":{"position":[[757,7]]},"115":{"position":[[889,7],[991,7]]},"126":{"position":[[780,7],[794,7]]},"135":{"position":[[294,7]]},"138":{"position":[[419,7],[553,7],[912,7]]},"140":{"position":[[369,9],[576,8]]},"144":{"position":[[227,7]]},"152":{"position":[[140,8]]},"153":{"position":[[129,8]]},"154":{"position":[[140,8]]},"155":{"position":[[126,8]]},"156":{"position":[[136,8]]},"157":{"position":[[147,8]]},"158":{"position":[[130,8]]},"159":{"position":[[149,8]]},"160":{"position":[[131,8]]},"161":{"position":[[142,8]]},"162":{"position":[[130,8]]},"163":{"position":[[138,8]]},"164":{"position":[[149,8]]},"165":{"position":[[134,8]]},"166":{"position":[[152,8]]},"167":{"position":[[148,8]]},"168":{"position":[[146,8]]},"169":{"position":[[146,8]]},"170":{"position":[[146,8]]},"171":{"position":[[135,8]]},"173":{"position":[[121,8]]},"182":{"position":[[228,7]]},"194":{"position":[[72,8],[176,8]]},"195":{"position":[[100,8],[199,8]]},"213":{"position":[[424,7],[641,7],[1013,7]]},"217":{"position":[[184,7],[1414,7]]},"228":{"position":[[1003,7],[1017,7],[1070,7],[1548,7],[1601,7]]},"229":{"position":[[1802,8],[1893,8],[2123,7],[2229,7],[2587,7],[2646,7],[4598,7],[8595,7],[9701,7]]},"230":{"position":[[786,7],[800,7],[853,7],[1331,7],[1384,7]]},"231":{"position":[[1692,7],[1745,7]]},"232":{"position":[[1528,7],[1581,7]]},"242":{"position":[[155,8]]},"243":{"position":[[81,7]]},"244":{"position":[[79,7]]},"275":{"position":[[413,8]]},"279":{"position":[[1797,8],[1888,8],[8550,8],[10267,7]]},"285":{"position":[[510,7]]},"291":{"position":[[155,8]]},"296":{"position":[[584,7]]},"302":{"position":[[559,7],[997,8]]},"303":{"position":[[651,7]]},"305":{"position":[[1332,7]]},"309":{"position":[[2829,7]]},"314":{"position":[[363,7],[1018,8],[1662,7]]},"315":{"position":[[175,8],[279,9],[476,9]]},"320":{"position":[[322,7]]},"330":{"position":[[950,7]]},"333":{"position":[[1154,7]]},"338":{"position":[[434,7]]},"358":{"position":[[1756,7],[2835,7],[3690,7],[3901,7],[4171,7],[4497,7],[7016,7],[7570,8]]},"359":{"position":[[1260,7],[1433,7],[2519,7]]},"368":{"position":[[78,7]]},"369":{"position":[[2083,7]]},"389":{"position":[[13,7]]},"402":{"position":[[1746,10]]},"404":{"position":[[1082,7]]},"440":{"position":[[183,8]]},"446":{"position":[[4,8]]},"461":{"position":[[84,8]]},"472":{"position":[[166,9],[706,7]]},"478":{"position":[[96,8]]},"482":{"position":[[143,8],[402,8]]},"489":{"position":[[137,8]]},"502":{"position":[[83,8]]},"521":{"position":[[102,8]]},"522":{"position":[[493,7]]},"530":{"position":[[93,7]]},"535":{"position":[[170,7],[461,7]]},"552":{"position":[[688,7]]},"556":{"position":[[278,8]]},"560":{"position":[[201,7],[550,7]]},"579":{"position":[[248,7]]},"583":{"position":[[58,7]]},"584":{"position":[[60,7]]},"585":{"position":[[60,7]]},"586":{"position":[[62,7]]},"594":{"position":[[59,8],[318,8]]},"595":{"position":[[293,8]]},"596":{"position":[[166,8]]},"597":{"position":[[251,8]]},"598":{"position":[[212,8]]},"599":{"position":[[221,8],[273,8]]},"609":{"position":[[213,8],[263,8],[340,8],[406,8],[471,7]]},"610":{"position":[[213,8],[263,8],[340,8],[402,8],[460,8],[555,8],[658,7]]},"611":{"position":[[643,7],[796,8]]},"612":{"position":[[207,7],[317,8],[370,8],[452,7]]},"613":{"position":[[329,7],[383,8],[455,7]]},"614":{"position":[[228,7],[381,8]]},"615":{"position":[[243,8],[374,7],[527,8]]},"616":{"position":[[248,7],[401,8]]},"617":{"position":[[251,7],[404,8]]},"618":{"position":[[525,7],[678,8],[728,8],[781,8]]},"619":{"position":[[66,7],[515,7],[625,8],[678,8]]},"620":{"position":[[244,7],[353,8],[406,8]]},"621":{"position":[[242,7],[351,8],[404,8]]},"622":{"position":[[228,7],[336,8],[397,8]]},"623":{"position":[[217,7],[370,8]]},"624":{"position":[[220,7],[373,8]]},"625":{"position":[[494,7],[647,8],[697,8],[750,8]]},"626":{"position":[[214,7],[312,7],[941,7],[1039,7]]},"627":{"position":[[248,7],[346,7],[994,7],[1092,7]]},"628":{"position":[[232,7],[330,7],[966,7],[1064,7]]},"630":{"position":[[337,7],[391,8],[465,7]]},"631":{"position":[[504,7],[613,8],[666,8]]},"633":{"position":[[260,7],[483,7]]},"634":{"position":[[200,8],[257,8]]},"635":{"position":[[456,7],[609,8]]},"637":{"position":[[1445,8]]},"640":{"position":[[205,8]]},"643":{"position":[[138,8],[164,7],[202,8]]},"644":{"position":[[205,8]]},"647":{"position":[[286,8]]},"648":{"position":[[393,8],[489,7]]},"650":{"position":[[498,7],[525,7],[802,8],[859,8]]},"651":{"position":[[405,8]]},"652":{"position":[[583,8],[648,7]]},"654":{"position":[[929,7]]},"664":{"position":[[455,8],[524,7],[634,7]]},"665":{"position":[[421,8],[490,7],[600,7]]},"669":{"position":[[456,7]]},"677":{"position":[[1172,7]]},"678":{"position":[[1394,7]]},"679":{"position":[[1415,7]]},"680":{"position":[[1448,7]]},"681":{"position":[[1248,7]]},"682":{"position":[[1465,7]]},"683":{"position":[[1486,7]]},"684":{"position":[[1519,7]]},"685":{"position":[[292,7],[379,7]]},"690":{"position":[[1348,10]]},"698":{"position":[[691,9]]},"701":{"position":[[483,10]]},"703":{"position":[[547,10]]},"710":{"position":[[609,10],[764,7],[1050,7]]},"711":{"position":[[424,8],[494,10]]},"712":{"position":[[472,10]]},"713":{"position":[[290,10]]},"714":{"position":[[146,7]]},"717":{"position":[[312,7]]},"722":{"position":[[1247,8],[1339,10],[1462,8]]},"723":{"position":[[1014,8],[1106,10],[1229,8]]},"724":{"position":[[800,8],[895,8]]},"725":{"position":[[681,8],[776,8]]},"726":{"position":[[859,8],[951,10]]},"727":{"position":[[910,8],[1002,10]]},"728":{"position":[[725,8]]},"729":{"position":[[653,8],[748,8]]},"737":{"position":[[34,7],[56,8]]},"738":{"position":[[49,7],[71,8]]},"740":{"position":[[571,11]]},"741":{"position":[[1565,8],[1729,8],[1878,8]]},"744":{"position":[[237,7],[353,7]]},"754":{"position":[[288,8]]},"755":{"position":[[285,8]]},"757":{"position":[[421,9],[517,9],[615,9]]},"759":{"position":[[627,7],[717,7]]},"766":{"position":[[273,8]]},"767":{"position":[[270,8]]},"769":{"position":[[631,7],[721,7]]},"791":{"position":[[105,7]]},"792":{"position":[[104,7]]},"801":{"position":[[154,7]]},"803":{"position":[[253,7],[335,7]]},"804":{"position":[[258,7],[352,7]]}},"keywords":{}}],["default'=>",{"_index":5409,"title":{},"content":{"740":{"position":[[755,16]]}},"keywords":{}}],["default/raw_logs/tlm/inst2/<yyyymmdd>",{"_index":3082,"title":{},"content":{"338":{"position":[[188,44]]}},"keywords":{}}],["default__decom__inst2",{"_index":4131,"title":{},"content":{"447":{"position":[[250,23]]}},"keywords":{}}],["default__interface__int1",{"_index":2077,"title":{},"content":{"145":{"position":[[263,24],[344,24]]}},"keywords":{}}],["default__multi__inst",{"_index":4130,"title":{},"content":{"447":{"position":[[227,22]]}},"keywords":{}}],["default__openc3_log_messag",{"_index":2146,"title":{},"content":{"183":{"position":[[563,28]]}},"keywords":{}}],["default__telemetry__example__statu",{"_index":2147,"title":{},"content":{"183":{"position":[[598,35]]}},"keywords":{}}],["default_valu",{"_index":707,"title":{},"content":{"36":{"position":[[2550,14]]},"229":{"position":[[2550,14]]}},"keywords":{}}],["defaultdiscard",{"_index":1198,"title":{},"content":{"53":{"position":[[536,14]]}},"keywords":{}}],["defaultflow_control",{"_index":1912,"title":{},"content":{"111":{"position":[[1026,19]]}},"keywords":{}}],["defaulthead",{"_index":1271,"title":{},"content":{"58":{"position":[[228,13]]}},"keywords":{}}],["defaulthost",{"_index":1859,"title":{},"content":{"106":{"position":[[115,11]]},"107":{"position":[[254,11]]},"109":{"position":[[471,11]]},"110":{"position":[[464,11]]},"112":{"position":[[175,11]]}},"keywords":{}}],["defaultlength",{"_index":1219,"title":{},"content":{"55":{"position":[[593,13]]}},"keywords":{}}],["defaultlisten_address",{"_index":1853,"title":{},"content":{"105":{"position":[[834,21]]},"108":{"position":[[441,21]]}},"keywords":{}}],["defaultminimum",{"_index":1209,"title":{},"content":{"54":{"position":[[765,14]]}},"keywords":{}}],["defaultport",{"_index":1876,"title":{},"content":{"108":{"position":[[247,11]]}},"keywords":{}}],["defaultrandom",{"_index":1276,"title":{},"content":{"59":{"position":[[117,20]]}},"keywords":{}}],["defaultread",{"_index":1950,"title":{},"content":{"113":{"position":[[179,11]]}},"keywords":{}}],["defaultrespons",{"_index":1319,"title":{},"content":{"64":{"position":[[128,15]]}},"keywords":{}}],["defaultscid",{"_index":1289,"title":{},"content":{"60":{"position":[[205,11]]}},"keywords":{}}],["defaultstart",{"_index":1189,"title":{},"content":{"52":{"position":[[647,12]]}},"keywords":{}}],["defaultsync",{"_index":1315,"title":{},"content":{"62":{"position":[[341,11]]}},"keywords":{}}],["defaulttarget",{"_index":1358,"title":{},"content":{"66":{"position":[[144,13]]}},"keywords":{}}],["defaultvers",{"_index":1928,"title":{},"content":{"112":{"position":[[382,14]]},"113":{"position":[[433,14]]}},"keywords":{}}],["defaultwrit",{"_index":1244,"title":{},"content":{"56":{"position":[[468,12]]},"61":{"position":[[1281,12]]},"65":{"position":[[131,12]]}},"keywords":{}}],["defend",{"_index":4106,"title":{},"content":{"432":{"position":[[1311,6]]}},"keywords":{}}],["defin",{"_index":265,"title":{},"content":{"7":{"position":[[657,7]]},"31":{"position":[[24,6],[118,7]]},"35":{"position":[[1,7]]},"36":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6979,7]]},"37":{"position":[[1,7]]},"52":{"position":[[36,7],[112,7]]},"54":{"position":[[106,7]]},"55":{"position":[[74,7]]},"64":{"position":[[71,7],[836,7]]},"67":{"position":[[757,7]]},"100":{"position":[[95,7]]},"101":{"position":[[11,6]]},"103":{"position":[[143,7]]},"114":{"position":[[354,6]]},"117":{"position":[[152,6],[311,6]]},"124":{"position":[[28,7]]},"126":{"position":[[1,6],[69,7],[226,7]]},"128":{"position":[[1,7],[245,7],[289,6]]},"139":{"position":[[835,8],[889,6]]},"140":{"position":[[253,7],[330,7],[505,6]]},"141":{"position":[[16,6],[59,7]]},"150":{"position":[[1,7]]},"174":{"position":[[149,7]]},"178":{"position":[[1,7],[29,7]]},"188":{"position":[[16,6],[62,7]]},"192":{"position":[[1,6],[16,7]]},"203":{"position":[[1,6],[25,7]]},"213":{"position":[[615,7],[987,7]]},"219":{"position":[[306,6],[655,7],[1184,6]]},"225":{"position":[[26,6],[119,6],[795,8]]},"226":{"position":[[1,7]]},"228":{"position":[[1,7]]},"229":{"position":[[534,7],[1333,7],[1621,7],[2311,7],[2445,7],[2579,7],[2692,7],[2824,6],[5462,7],[5797,7],[6979,7]]},"230":{"position":[[1,7]]},"231":{"position":[[1,7]]},"232":{"position":[[1,7]]},"233":{"position":[[1,7]]},"234":{"position":[[1,7]]},"236":{"position":[[152,7],[358,6]]},"242":{"position":[[17,7],[87,7]]},"243":{"position":[[17,7]]},"244":{"position":[[17,7]]},"247":{"position":[[17,7]]},"248":{"position":[[17,7]]},"251":{"position":[[17,7],[591,7],[1413,7]]},"252":{"position":[[132,7]]},"259":{"position":[[41,8]]},"271":{"position":[[28,6],[143,6],[822,8]]},"272":{"position":[[117,7]]},"273":{"position":[[128,7]]},"274":{"position":[[595,7]]},"275":{"position":[[1590,8]]},"276":{"position":[[1,7]]},"278":{"position":[[1,7]]},"279":{"position":[[529,7],[1328,7],[1616,7],[1917,7],[2036,6],[2299,7],[3942,7],[4277,7],[5580,7],[7896,7],[8229,7],[9531,7],[9918,7],[10382,7]]},"280":{"position":[[1,7]]},"281":{"position":[[1,7],[73,7]]},"282":{"position":[[1,7]]},"283":{"position":[[1,7]]},"284":{"position":[[1,7]]},"285":{"position":[[439,6]]},"286":{"position":[[143,7],[336,6]]},"288":{"position":[[1,7]]},"289":{"position":[[53,7],[157,7]]},"291":{"position":[[17,7],[87,7]]},"292":{"position":[[17,7]]},"293":{"position":[[17,7]]},"296":{"position":[[136,7],[513,6]]},"297":{"position":[[1,7]]},"298":{"position":[[47,7]]},"302":{"position":[[516,7],[1091,9]]},"303":{"position":[[608,7]]},"305":{"position":[[985,8],[1053,7]]},"307":{"position":[[1064,7]]},"321":{"position":[[24,8],[263,7],[455,6],[742,7],[869,6],[1080,7]]},"342":{"position":[[92,7],[912,6]]},"350":{"position":[[92,7]]},"351":{"position":[[344,7]]},"358":{"position":[[1106,8],[3357,8],[3469,8],[5673,7],[5814,6],[5938,7]]},"359":{"position":[[1004,7]]},"367":{"position":[[173,7]]},"380":{"position":[[2223,6]]},"418":{"position":[[84,7]]},"464":{"position":[[57,7]]},"472":{"position":[[623,7]]},"473":{"position":[[245,7]]},"482":{"position":[[236,7],[495,7]]},"487":{"position":[[112,7]]},"492":{"position":[[108,7]]},"496":{"position":[[136,7]]},"498":{"position":[[278,7]]},"499":{"position":[[297,7]]},"512":{"position":[[48,7]]},"529":{"position":[[70,7]]},"548":{"position":[[202,7]]},"574":{"position":[[483,6]]},"575":{"position":[[35,6],[173,6]]},"577":{"position":[[1,6],[114,7]]},"582":{"position":[[44,7],[342,7],[461,7],[488,6]]},"591":{"position":[[47,7]]},"637":{"position":[[227,6]]},"659":{"position":[[612,8],[940,7],[1264,7]]},"699":{"position":[[674,7]]},"794":{"position":[[66,7]]},"795":{"position":[[223,7],[311,7],[728,7]]}},"keywords":{}}],["defininig",{"_index":3269,"title":{},"content":{"358":{"position":[[5234,9]]}},"keywords":{}}],["definit",{"_index":278,"title":{"31":{"position":[[6,10]]},"225":{"position":[[8,10]]},"271":{"position":[[10,10]]},"379":{"position":[[15,12]]},"395":{"position":[[30,10]]},"574":{"position":[[0,12]]},"575":{"position":[[17,10]]}},"content":{"7":{"position":[[1165,11],[1207,11]]},"15":{"position":[[27,10],[95,10],[421,10]]},"16":{"position":[[29,10],[99,10],[423,10]]},"31":{"position":[[7,10],[102,11],[302,11],[320,11],[463,10]]},"32":{"position":[[52,11],[183,10]]},"33":{"position":[[19,10]]},"36":{"position":[[2269,11]]},"38":{"position":[[78,10]]},"54":{"position":[[860,11]]},"57":{"position":[[981,12]]},"64":{"position":[[461,12],[544,10]]},"105":{"position":[[778,10]]},"108":{"position":[[385,10]]},"109":{"position":[[426,12],[741,10],[1838,12],[1941,10]]},"110":{"position":[[1075,10],[2220,12],[2361,11]]},"111":{"position":[[970,10]]},"112":{"position":[[326,10]]},"113":{"position":[[377,10]]},"114":{"position":[[314,11]]},"117":{"position":[[221,13]]},"214":{"position":[[257,11],[1539,11]]},"215":{"position":[[157,11],[590,11]]},"218":{"position":[[299,11],[1317,11]]},"219":{"position":[[262,11],[1140,11]]},"220":{"position":[[210,11],[1399,11]]},"225":{"position":[[9,10],[211,10],[626,11]]},"229":{"position":[[2269,11]]},"236":{"position":[[70,10],[121,10]]},"249":{"position":[[104,11]]},"252":{"position":[[183,11]]},"271":{"position":[[11,10],[239,10],[658,11]]},"274":{"position":[[335,11],[626,10],[683,10]]},"286":{"position":[[66,10],[112,10]]},"295":{"position":[[104,11]]},"296":{"position":[[189,11]]},"302":{"position":[[721,10],[1886,11]]},"307":{"position":[[1391,10]]},"358":{"position":[[5856,10]]},"359":{"position":[[2754,11]]},"395":{"position":[[58,11],[147,10],[286,12]]},"457":{"position":[[52,11]]},"494":{"position":[[61,11],[110,11]]},"496":{"position":[[71,10],[162,10],[190,10]]},"569":{"position":[[1210,11]]},"574":{"position":[[317,10],[342,10]]},"575":{"position":[[18,10],[209,10],[345,10]]},"576":{"position":[[25,10],[320,10]]},"577":{"position":[[99,11]]},"611":{"position":[[136,10]]},"785":{"position":[[80,11]]},"786":{"position":[[401,10],[430,10],[636,10],[908,10]]},"787":{"position":[[457,10],[486,10],[1098,10],[1398,10]]}},"keywords":{}}],["definitionopen",{"_index":4203,"title":{},"content":{"495":{"position":[[32,14]]}},"keywords":{}}],["definitiontarget",{"_index":3096,"title":{},"content":{"342":{"position":[[119,16]]}},"keywords":{}}],["definitionwidget",{"_index":4588,"title":{},"content":{"574":{"position":[[6,16]]}},"keywords":{}}],["degre",{"_index":4421,"title":{},"content":{"545":{"position":[[522,7]]}},"keywords":{}}],["degrees"",{"_index":2484,"title":{},"content":{"253":{"position":[[807,13]]},"299":{"position":[[997,13]]}},"keywords":{}}],["delay",{"_index":1308,"title":{"721":{"position":[[0,7]]}},"content":{"61":{"position":[[1631,5],[1648,5]]},"135":{"position":[[11,5],[148,5],[245,5]]},"424":{"position":[[1201,6]]},"568":{"position":[[73,5]]},"722":{"position":[[543,5]]},"789":{"position":[[27,5]]},"790":{"position":[[26,5]]}},"keywords":{}}],["delet",{"_index":2301,"title":{"443":{"position":[[0,7]]}},"content":{"217":{"position":[[579,7]]},"236":{"position":[[16,7],[83,8],[448,6]]},"286":{"position":[[16,6],[79,8],[411,6]]},"325":{"position":[[66,6]]},"326":{"position":[[860,6]]},"353":{"position":[[822,8],[862,6]]},"354":{"position":[[672,8],[687,6]]},"355":{"position":[[716,8],[751,6],[819,8],[838,6]]},"358":{"position":[[550,6]]},"407":{"position":[[413,6]]},"414":{"position":[[111,6]]},"430":{"position":[[315,6],[344,7],[420,7]]},"431":{"position":[[465,7]]},"443":{"position":[[25,6],[96,6]]},"461":{"position":[[265,6],[572,6]]},"472":{"position":[[1096,6],[1403,6]]},"478":{"position":[[327,6],[634,6]]},"502":{"position":[[264,6],[571,6]]},"505":{"position":[[260,6]]},"521":{"position":[[283,6],[590,6]]},"522":{"position":[[1158,8]]},"526":{"position":[[194,6]]},"669":{"position":[[740,6],[861,6],[1065,6],[1188,6]]},"671":{"position":[[1,6],[313,8]]},"775":{"position":[[1,7],[181,6]]},"783":{"position":[[1,7]]},"816":{"position":[[1,6],[255,6]]}},"keywords":{}}],["delete_config",{"_index":5821,"title":{"816":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_config(<tool",{"_index":5822,"title":{},"content":{"816":{"position":[[65,22]]}},"keywords":{}}],["delete_config('telemetry_graph",{"_index":5823,"title":{},"content":{"816":{"position":[[319,34]]}},"keywords":{}}],["delete_item",{"_index":2671,"title":{"286":{"position":[[0,12]]}},"content":{"286":{"position":[[476,11]]}},"keywords":{}}],["delete_paramet",{"_index":2414,"title":{"236":{"position":[[0,17]]}},"content":{"236":{"position":[[505,16]]}},"keywords":{}}],["delete_screen",{"_index":5660,"title":{"783":{"position":[[0,14]]}},"content":{},"keywords":{}}],["delete_screen("<target",{"_index":5661,"title":{},"content":{"783":{"position":[[70,30]]}},"keywords":{}}],["delete_screen("inst"",{"_index":5662,"title":{},"content":{"783":{"position":[[291,31]]}},"keywords":{}}],["delete_target_fil",{"_index":5011,"title":{"671":{"position":[[0,19]]}},"content":{},"keywords":{}}],["delete_target_file("<fil",{"_index":5012,"title":{},"content":{"671":{"position":[[63,33]]}},"keywords":{}}],["delete_target_file("inst/delete_me.txt"",{"_index":5016,"title":{},"content":{"671":{"position":[[479,50]]}},"keywords":{}}],["deleted"",{"_index":5015,"title":{},"content":{"671":{"position":[[464,14]]}},"keywords":{}}],["delimit",{"_index":1174,"title":{},"content":{"51":{"position":[[323,9]]},"53":{"position":[[218,9],[886,9]]},"54":{"position":[[1284,9]]},"55":{"position":[[2184,9]]},"56":{"position":[[1186,9]]},"60":{"position":[[689,9]]},"61":{"position":[[2358,9]]},"62":{"position":[[476,9]]},"673":{"position":[[1150,9]]}},"keywords":{}}],["delin",{"_index":1130,"title":{"50":{"position":[[7,11]]}},"content":{"50":{"position":[[38,11],[291,11]]},"56":{"position":[[25,10],[645,9]]},"57":{"position":[[132,10]]},"61":{"position":[[390,10],[688,10],[1458,9]]},"62":{"position":[[28,10]]},"312":{"position":[[286,11]]}},"keywords":{}}],["deliveri",{"_index":4099,"title":{},"content":{"432":{"position":[[709,9]]}},"keywords":{}}],["demand",{"_index":3091,"title":{},"content":{"340":{"position":[[165,7],[214,7]]}},"keywords":{}}],["demo",{"_index":282,"title":{},"content":{"7":{"position":[[1226,4]]},"39":{"position":[[203,5]]},"61":{"position":[[1205,4]]},"192":{"position":[[489,4],[494,4]]},"319":{"position":[[44,4]]},"320":{"position":[[669,4],[1528,4]]},"323":{"position":[[41,4],[246,4]]},"326":{"position":[[538,4],[633,4],[673,4]]},"338":{"position":[[590,5]]},"358":{"position":[[25,4],[395,4],[542,4]]},"367":{"position":[[443,4],[874,4]]},"369":{"position":[[333,5],[2002,4]]},"383":{"position":[[1178,4],[1239,4],[1264,4],[1410,4],[1486,4]]},"407":{"position":[[285,4]]},"447":{"position":[[731,5]]},"473":{"position":[[414,4]]},"498":{"position":[[12,4]]},"499":{"position":[[12,4]]},"650":{"position":[[242,4]]}},"keywords":{}}],["demo'",{"_index":2941,"title":{},"content":{"319":{"position":[[131,6]]}},"keywords":{}}],["demo_part",{"_index":3708,"title":{},"content":{"383":{"position":[[1516,9]]}},"keywords":{}}],["demonstr",{"_index":2988,"title":{},"content":{"323":{"position":[[671,11]]}},"keywords":{}}],["denot",{"_index":1728,"title":{},"content":{"91":{"position":[[974,8]]},"92":{"position":[[765,8]]}},"keywords":{}}],["denser",{"_index":1124,"title":{},"content":{"48":{"position":[[4630,6]]}},"keywords":{}}],["depart",{"_index":3059,"title":{},"content":{"332":{"position":[[1035,10]]},"393":{"position":[[1391,10]]}},"keywords":{}}],["depend",{"_index":325,"title":{"385":{"position":[[5,13]]}},"content":{"12":{"position":[[74,13]]},"42":{"position":[[719,12]]},"43":{"position":[[917,9]]},"55":{"position":[[21,7]]},"83":{"position":[[628,8]]},"115":{"position":[[278,9]]},"127":{"position":[[43,12],[159,12]]},"208":{"position":[[150,12]]},"225":{"position":[[353,6],[611,7]]},"257":{"position":[[261,13]]},"258":{"position":[[96,12]]},"271":{"position":[[383,6],[643,7]]},"273":{"position":[[264,9]]},"301":{"position":[[1463,12]]},"307":{"position":[[1380,10]]},"363":{"position":[[336,9]]},"385":{"position":[[73,13]]},"412":{"position":[[204,12]]},"522":{"position":[[818,9]]},"530":{"position":[[499,6]]},"608":{"position":[[130,9]]},"731":{"position":[[47,9]]}},"keywords":{}}],["depends_on",{"_index":521,"title":{},"content":{"23":{"position":[[320,11]]}},"keywords":{}}],["depict",{"_index":4711,"title":{},"content":{"622":{"position":[[19,9]]}},"keywords":{}}],["deploy",{"_index":2511,"title":{},"content":{"258":{"position":[[631,6]]},"260":{"position":[[199,9]]},"261":{"position":[[97,11],[321,10],[431,6]]},"268":{"position":[[182,8],[432,6]]},"319":{"position":[[240,8]]},"359":{"position":[[715,8]]},"368":{"position":[[327,8]]},"383":{"position":[[582,11]]},"392":{"position":[[248,10]]},"439":{"position":[[245,11]]}},"keywords":{}}],["deprec",{"_index":1135,"title":{"61":{"position":[[18,13]]}},"content":{"50":{"position":[[104,13]]},"61":{"position":[[22,10]]},"137":{"position":[[1,11]]},"552":{"position":[[459,10]]},"661":{"position":[[73,10]]},"662":{"position":[[38,10],[192,11],[248,11],[319,11],[389,10],[452,10],[507,10],[543,11],[630,10],[690,11],[778,10],[835,11],[910,11],[980,11],[1059,10],[1118,11],[1179,11],[1308,11],[1389,10],[1455,10],[1506,11],[1579,11],[1659,10],[1718,10],[1752,10],[1808,11],[1902,10],[1961,10],[2033,10],[2091,10],[2141,10],[2206,11],[2292,11],[2364,11],[2436,11],[2514,10],[2572,10],[2625,10],[2686,10],[2742,11],[2818,11],[2883,10],[2922,10],[2956,10],[2992,10],[3028,10],[3058,10],[3096,10],[3133,10],[3177,10],[3209,10],[3244,10],[3282,10],[3312,10],[3353,10],[3463,11],[3521,10],[3574,10],[3678,11],[3788,10],[3834,10],[3871,11],[3924,11],[3984,10],[4041,10],[4095,10],[4149,10],[4224,10],[4293,10],[4347,10],[4408,10],[4461,10],[4514,10],[4567,10],[4631,10],[4693,11],[4823,11],[4914,10],[4978,10],[5046,10],[5080,11],[5147,11],[5224,11],[5311,11]]},"673":{"position":[[182,10]]}},"keywords":{}}],["depth",{"_index":76,"title":{},"content":{"2":{"position":[[743,5]]},"152":{"position":[[110,5],[123,5]]},"159":{"position":[[119,5],[132,5]]}},"keywords":{}}],["deriv",{"_index":647,"title":{"274":{"position":[[0,7]]}},"content":{"35":{"position":[[321,7],[583,7],[634,10],[720,8],[785,7]]},"37":{"position":[[376,7],[427,10],[513,8],[578,7]]},"67":{"position":[[614,6]]},"217":{"position":[[1527,7],[1589,7],[1647,7],[1716,7],[1883,7],[2134,7]]},"228":{"position":[[350,7],[612,7],[663,10],[749,8],[814,7]]},"230":{"position":[[395,7],[446,10],[532,8],[597,7]]},"231":{"position":[[782,7],[833,10],[919,8],[984,7]]},"232":{"position":[[618,7],[669,10],[755,8],[820,7]]},"233":{"position":[[367,7],[530,7]]},"234":{"position":[[313,7]]},"274":{"position":[[27,7],[114,7],[190,7],[263,7],[296,7],[370,7],[489,8],[514,7]]},"275":{"position":[[460,7],[1301,7],[1454,7]]},"278":{"position":[[349,7],[610,7],[661,10],[767,7],[1122,7]]},"280":{"position":[[402,7],[453,10],[559,7]]},"283":{"position":[[366,7],[523,7]]},"284":{"position":[[315,7]]},"299":{"position":[[1152,7],[1417,7]]},"389":{"position":[[2064,11]]},"490":{"position":[[30,7]]},"629":{"position":[[267,7]]},"659":{"position":[[295,7],[391,7]]},"720":{"position":[[17,7]]}},"keywords":{}}],["describ",{"_index":133,"title":{},"content":{"3":{"position":[[705,10]]},"36":{"position":[[3441,10]]},"115":{"position":[[2148,9]]},"124":{"position":[[56,9]]},"229":{"position":[[3441,10]]},"321":{"position":[[976,9]]},"328":{"position":[[24,8]]},"336":{"position":[[71,10]]},"358":{"position":[[906,8],[3273,9],[3718,9],[5175,9],[5329,9]]},"386":{"position":[[547,8],[700,10]]},"402":{"position":[[1118,9]]},"431":{"position":[[349,8]]},"540":{"position":[[1766,8],[4331,10]]},"687":{"position":[[131,8]]},"689":{"position":[[36,9]]}},"keywords":{}}],["descript",{"_index":160,"title":{},"content":{"5":{"position":[[571,11],[960,11],[972,11],[1240,11]]},"9":{"position":[[589,12],[733,12]]},"11":{"position":[[292,11]]},"12":{"position":[[132,11]]},"13":{"position":[[329,11]]},"14":{"position":[[232,11]]},"15":{"position":[[374,11]]},"16":{"position":[[374,11]]},"32":{"position":[[75,11]]},"33":{"position":[[41,11],[530,11],[562,11],[602,11],[746,11],[809,11],[821,11],[861,11]]},"35":{"position":[[53,11],[834,11],[1141,11],[1153,11],[1485,11],[1672,11],[1684,11]]},"36":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6316,11],[6947,11],[10249,11]]},"37":{"position":[[53,11],[627,11],[934,11],[946,11],[1278,11],[1465,11],[1477,11]]},"38":{"position":[[100,11]]},"39":{"position":[[220,11]]},"52":{"position":[[626,11]]},"53":{"position":[[515,11]]},"54":{"position":[[744,11]]},"55":{"position":[[572,11]]},"56":{"position":[[447,11]]},"58":{"position":[[207,11]]},"59":{"position":[[96,11]]},"60":{"position":[[184,11]]},"61":{"position":[[1260,11]]},"62":{"position":[[320,11]]},"64":{"position":[[107,11]]},"65":{"position":[[110,11]]},"66":{"position":[[123,11]]},"103":{"position":[[219,11]]},"104":{"position":[[231,11]]},"105":{"position":[[255,11],[822,11]]},"106":{"position":[[94,11]]},"107":{"position":[[233,11]]},"108":{"position":[[226,11],[429,11]]},"109":{"position":[[450,11]]},"110":{"position":[[443,11]]},"111":{"position":[[217,11],[1014,11]]},"112":{"position":[[154,11],[370,11]]},"113":{"position":[[158,11],[421,11]]},"114":{"position":[[119,11]]},"126":{"position":[[716,11]]},"128":{"position":[[365,11]]},"130":{"position":[[47,11]]},"131":{"position":[[81,11]]},"132":{"position":[[82,11]]},"135":{"position":[[219,11]]},"138":{"position":[[336,11]]},"139":{"position":[[379,11]]},"140":{"position":[[202,11]]},"141":{"position":[[193,11]]},"142":{"position":[[78,11]]},"143":{"position":[[233,11]]},"144":{"position":[[159,11]]},"145":{"position":[[127,11]]},"146":{"position":[[136,11]]},"147":{"position":[[115,11]]},"148":{"position":[[165,11]]},"149":{"position":[[402,11]]},"150":{"position":[[33,11]]},"152":{"position":[[83,11]]},"153":{"position":[[66,11]]},"154":{"position":[[88,11]]},"155":{"position":[[58,11]]},"156":{"position":[[73,11]]},"157":{"position":[[95,11]]},"158":{"position":[[60,11]]},"159":{"position":[[92,11]]},"160":{"position":[[68,11]]},"161":{"position":[[90,11]]},"162":{"position":[[60,11]]},"163":{"position":[[75,11]]},"164":{"position":[[97,11]]},"165":{"position":[[62,11]]},"166":{"position":[[71,11]]},"167":{"position":[[69,11]]},"168":{"position":[[68,11]]},"169":{"position":[[68,11]]},"170":{"position":[[68,11]]},"171":{"position":[[56,11]]},"173":{"position":[[73,11]]},"174":{"position":[[313,11]]},"175":{"position":[[88,11]]},"176":{"position":[[149,11]]},"177":{"position":[[165,11]]},"178":{"position":[[190,11]]},"180":{"position":[[62,11]]},"181":{"position":[[217,11]]},"182":{"position":[[160,11]]},"183":{"position":[[298,11]]},"184":{"position":[[242,11]]},"185":{"position":[[111,11]]},"186":{"position":[[271,11]]},"187":{"position":[[120,11]]},"188":{"position":[[153,11]]},"189":{"position":[[115,11]]},"190":{"position":[[155,11]]},"191":{"position":[[165,11]]},"192":{"position":[[271,11]]},"194":{"position":[[130,11]]},"195":{"position":[[146,11]]},"196":{"position":[[279,11]]},"197":{"position":[[91,11]]},"198":{"position":[[119,11]]},"199":{"position":[[150,11]]},"200":{"position":[[282,11]]},"201":{"position":[[147,11]]},"202":{"position":[[58,11]]},"203":{"position":[[106,11]]},"205":{"position":[[149,11]]},"216":{"position":[[739,11]]},"217":{"position":[[2860,11]]},"223":{"position":[[191,11]]},"226":{"position":[[41,11],[430,11],[442,11]]},"228":{"position":[[70,11],[863,11],[1170,11],[1182,11],[1514,11],[1701,11],[1713,11]]},"229":{"position":[[114,11],[323,11],[507,12],[542,11],[565,11],[599,11],[843,11],[1448,11],[1664,11],[2344,11],[2478,11],[2612,11],[3036,11],[3422,11],[5003,11],[6316,11],[6947,11],[10249,11]]},"230":{"position":[[70,11],[646,11],[953,11],[965,11],[1297,11],[1484,11],[1496,11]]},"231":{"position":[[293,11],[1033,11],[1314,11],[1326,11],[1658,11],[1845,11],[1857,11]]},"232":{"position":[[293,11],[869,11],[1150,11],[1162,11],[1494,11],[1681,11],[1693,11]]},"233":{"position":[[87,11],[736,11],[748,11]]},"234":{"position":[[87,11],[519,11],[531,11]]},"235":{"position":[[292,11]]},"236":{"position":[[393,11]]},"240":{"position":[[232,11]]},"241":{"position":[[152,11],[184,11]]},"242":{"position":[[230,11]]},"243":{"position":[[260,11]]},"244":{"position":[[257,11]]},"245":{"position":[[94,11]]},"246":{"position":[[100,11]]},"247":{"position":[[78,11]]},"248":{"position":[[80,11]]},"251":{"position":[[182,11]]},"252":{"position":[[291,11]]},"276":{"position":[[43,11],[447,11],[459,11]]},"278":{"position":[[69,11],[780,11],[792,11]]},"279":{"position":[[109,11],[318,11],[502,12],[537,11],[560,11],[594,11],[838,11],[1443,11],[1659,11],[2335,11],[3484,11],[4855,11],[5548,11],[7322,11],[8445,11],[10483,11]]},"280":{"position":[[69,11],[572,11],[584,11]]},"281":{"position":[[239,11],[874,11],[886,11]]},"282":{"position":[[69,11],[543,11],[555,11]]},"283":{"position":[[86,11],[729,11],[741,11]]},"284":{"position":[[86,11],[521,11],[533,11]]},"285":{"position":[[292,11]]},"286":{"position":[[366,11]]},"287":{"position":[[241,11]]},"288":{"position":[[89,11]]},"291":{"position":[[230,11]]},"292":{"position":[[106,11]]},"293":{"position":[[104,11]]},"296":{"position":[[287,11]]},"297":{"position":[[727,11]]},"298":{"position":[[217,11]]},"301":{"position":[[749,12]]},"304":{"position":[[1001,11]]},"305":{"position":[[1218,11]]},"344":{"position":[[10,11]]},"345":{"position":[[10,11]]},"346":{"position":[[121,11]]},"347":{"position":[[188,11]]},"348":{"position":[[370,11]]},"349":{"position":[[1306,11]]},"350":{"position":[[156,11]]},"351":{"position":[[275,11]]},"352":{"position":[[107,11]]},"353":{"position":[[122,11]]},"354":{"position":[[201,11]]},"355":{"position":[[106,11]]},"356":{"position":[[113,11]]},"358":{"position":[[1642,11],[2843,11],[4832,11]]},"359":{"position":[[1297,11],[1441,11],[2556,11]]},"379":{"position":[[395,11],[2823,11]]},"447":{"position":[[110,12],[563,11]]},"482":{"position":[[697,11],[739,12]]},"577":{"position":[[203,11]]},"579":{"position":[[115,11]]},"580":{"position":[[70,11]]},"581":{"position":[[508,11]]},"583":{"position":[[103,11]]},"584":{"position":[[105,11]]},"585":{"position":[[105,11]]},"586":{"position":[[107,11]]},"587":{"position":[[73,11]]},"588":{"position":[[67,11]]},"589":{"position":[[78,11]]},"590":{"position":[[53,11]]},"591":{"position":[[508,11]]},"592":{"position":[[365,11],[546,12]]},"594":{"position":[[268,11]]},"595":{"position":[[182,11]]},"596":{"position":[[116,11]]},"597":{"position":[[140,11]]},"598":{"position":[[117,11]]},"599":{"position":[[148,11]]},"601":{"position":[[70,11]]},"602":{"position":[[59,11]]},"604":{"position":[[146,11]]},"606":{"position":[[58,11]]},"607":{"position":[[58,11]]},"609":{"position":[[72,11]]},"610":{"position":[[72,11]]},"611":{"position":[[405,11]]},"612":{"position":[[47,11],[1047,11]]},"613":{"position":[[74,11]]},"614":{"position":[[68,11]]},"615":{"position":[[33,11],[76,11],[191,11],[207,11],[270,11]]},"616":{"position":[[88,11]]},"617":{"position":[[91,11]]},"618":{"position":[[87,11]]},"619":{"position":[[355,11],[979,11]]},"620":{"position":[[84,11]]},"621":{"position":[[82,11]]},"622":{"position":[[68,11]]},"623":{"position":[[57,11]]},"624":{"position":[[60,11]]},"625":{"position":[[56,11]]},"626":{"position":[[54,11],[781,11],[1342,11],[1497,11],[1655,11],[1783,11],[1908,11],[2001,11]]},"627":{"position":[[88,11],[834,11],[1395,11],[1550,11],[1708,11],[1836,11],[1961,11],[2054,11]]},"628":{"position":[[72,11],[806,11],[1367,11],[1522,11],[1680,11],[1808,11],[1933,11],[2026,11]]},"629":{"position":[[53,11]]},"630":{"position":[[78,11]]},"631":{"position":[[66,11]]},"632":{"position":[[106,11]]},"633":{"position":[[100,11]]},"634":{"position":[[52,11]]},"635":{"position":[[296,11]]},"637":{"position":[[1588,11]]},"638":{"position":[[128,11]]},"639":{"position":[[147,11]]},"640":{"position":[[130,11]]},"641":{"position":[[108,11]]},"642":{"position":[[230,11]]},"643":{"position":[[69,11]]},"644":{"position":[[130,11]]},"646":{"position":[[206,11]]},"647":{"position":[[39,11]]},"648":{"position":[[90,11]]},"649":{"position":[[44,11],[751,11]]},"650":{"position":[[282,11],[1311,11],[1664,11]]},"651":{"position":[[41,11]]},"652":{"position":[[154,11],[1227,11]]},"653":{"position":[[40,11]]},"687":{"position":[[909,14]]},"689":{"position":[[951,14]]},"690":{"position":[[1286,14]]}},"keywords":{}}],["description"",{"_index":300,"title":{},"content":{"9":{"position":[[255,17],[408,17]]},"304":{"position":[[952,17]]},"305":{"position":[[1169,17]]},"358":{"position":[[2781,17],[3299,18],[4783,17]]},"359":{"position":[[1379,17]]}},"keywords":{}}],["description".w",{"_index":3268,"title":{},"content":{"358":{"position":[[5204,20]]}},"keywords":{}}],["description.gitignor",{"_index":2739,"title":{},"content":{"301":{"position":[[377,21]]}},"keywords":{}}],["descriptionack_timeout",{"_index":1885,"title":{},"content":{"109":{"position":[[785,22]]},"110":{"position":[[1119,22]]}},"keywords":{}}],["descriptionad",{"_index":3233,"title":{},"content":{"356":{"position":[[130,13]]}},"keywords":{}}],["descriptionapi",{"_index":3119,"title":{},"content":{"345":{"position":[[27,14]]}},"keywords":{}}],["descriptionarg",{"_index":5090,"title":{},"content":{"685":{"position":[[185,15]]}},"keywords":{}}],["descriptioncharact",{"_index":5692,"title":{},"content":{"791":{"position":[[206,21]]}},"keywords":{}}],["descriptioncmd",{"_index":3130,"title":{},"content":{"348":{"position":[[387,14]]}},"keywords":{}}],["descriptioncommand_str",{"_index":1727,"title":{},"content":{"91":{"position":[[794,25]]}},"keywords":{}}],["descriptioncosmo",{"_index":2515,"title":{},"content":{"258":{"position":[[775,17],[1603,17]]},"344":{"position":[[27,17]]}},"keywords":{}}],["descriptionct",{"_index":3120,"title":{},"content":{"346":{"position":[[138,14]]}},"keywords":{}}],["descriptiond",{"_index":3220,"title":{},"content":{"353":{"position":[[139,13]]}},"keywords":{}}],["descriptiondelay",{"_index":5685,"title":{},"content":{"789":{"position":[[117,16]]}},"keywords":{}}],["descriptiondv",{"_index":3223,"title":{},"content":{"354":{"position":[[218,13]]}},"keywords":{}}],["descriptionexpress",{"_index":5219,"title":{},"content":{"699":{"position":[[989,21]]},"724":{"position":[[565,21]]},"728":{"position":[[493,21]]}},"keywords":{}}],["descriptiongroup",{"_index":5713,"title":{},"content":{"795":{"position":[[682,16]]}},"keywords":{}}],["descriptionhttp_path",{"_index":2299,"title":{},"content":{"217":{"position":[[497,20]]}},"keywords":{}}],["descriptionhttp_statu",{"_index":2308,"title":{},"content":{"217":{"position":[[1077,22],[2268,22]]}},"keywords":{}}],["descriptionid",{"_index":5327,"title":{},"content":{"717":{"position":[[177,13]]}},"keywords":{}}],["descriptionignor",{"_index":5433,"title":{},"content":{"743":{"position":[[189,18]]}},"keywords":{}}],["descriptioninterfac",{"_index":5109,"title":{},"content":{"686":{"position":[[116,20]]},"750":{"position":[[196,20]]},"752":{"position":[[188,20]]},"753":{"position":[[155,20]]},"754":{"position":[[202,20]]},"755":{"position":[[200,20]]},"758":{"position":[[320,20]]},"759":{"position":[[336,20]]}},"keywords":{}}],["descriptionitem",{"_index":5254,"title":{},"content":{"704":{"position":[[365,16]]}},"keywords":{}}],["descriptionlength",{"_index":1070,"title":{},"content":{"48":{"position":[[220,17]]}},"keywords":{}}],["descriptionlimit",{"_index":5390,"title":{},"content":{"734":{"position":[[179,17]]},"735":{"position":[[181,17]]},"737":{"position":[[153,17]]},"801":{"position":[[101,16]]}},"keywords":{}}],["descriptionlm",{"_index":3124,"title":{},"content":{"347":{"position":[[205,13]]}},"keywords":{}}],["descriptionmessag",{"_index":4976,"title":{},"content":{"668":{"position":[[478,18]]},"675":{"position":[[146,18]]}},"keywords":{}}],["descriptionmetadata",{"_index":5737,"title":{},"content":{"803":{"position":[[123,19]]},"804":{"position":[[126,19]]}},"keywords":{}}],["descriptionmethod",{"_index":5227,"title":{},"content":{"700":{"position":[[256,17]]}},"keywords":{}}],["descriptionmicroservices/background",{"_index":2783,"title":{},"content":{"303":{"position":[[470,35]]}},"keywords":{}}],["descriptionoffset",{"_index":1119,"title":{},"content":{"48":{"position":[[4246,17]]},"744":{"position":[[161,17]]}},"keywords":{}}],["descriptionpacket",{"_index":1099,"title":{},"content":{"48":{"position":[[2362,17],[4890,17]]},"716":{"position":[[203,18]]}},"keywords":{}}],["descriptionpath",{"_index":4986,"title":{},"content":{"669":{"position":[[228,15]]},"670":{"position":[[149,15]]},"671":{"position":[[125,15]]}},"keywords":{}}],["descriptionprocedur",{"_index":5642,"title":{},"content":{"777":{"position":[[245,20]]}},"keywords":{}}],["descriptionpv",{"_index":3197,"title":{},"content":{"350":{"position":[[173,13]]}},"keywords":{}}],["descriptionquest",{"_index":4964,"title":{},"content":{"664":{"position":[[332,19]]},"665":{"position":[[298,19]]}},"keywords":{}}],["descriptionraw",{"_index":4853,"title":{},"content":{"659":{"position":[[145,14]]}},"keywords":{}}],["descriptionrout",{"_index":5576,"title":{},"content":{"761":{"position":[[149,17]]},"762":{"position":[[117,17]]},"764":{"position":[[183,17]]},"766":{"position":[[193,17]]},"767":{"position":[[191,17]]},"768":{"position":[[304,17]]},"769":{"position":[[346,17]]}},"keywords":{}}],["descriptionscreen",{"_index":5678,"title":{},"content":{"787":{"position":[[394,17]]}},"keywords":{}}],["descriptionset",{"_index":5782,"title":{},"content":{"809":{"position":[[249,18]]},"810":{"position":[[248,18]]}},"keywords":{}}],["descriptionsr",{"_index":3158,"title":{},"content":{"349":{"position":[[1323,13]]}},"keywords":{}}],["descriptionsrc/app.vu",{"_index":2811,"title":{},"content":{"307":{"position":[[760,22]]}},"keywords":{}}],["descriptionsrc/helloworldwidget.vu",{"_index":2806,"title":{},"content":{"306":{"position":[[656,35]]}},"keywords":{}}],["descriptionstart",{"_index":5733,"title":{},"content":{"802":{"position":[[98,16]]}},"keywords":{}}],["descriptionstash",{"_index":5625,"title":{},"content":{"771":{"position":[[118,16]]},"772":{"position":[[112,16]]},"775":{"position":[[135,16]]}},"keywords":{}}],["descriptiontarget",{"_index":1092,"title":{},"content":{"48":{"position":[[1489,17],[1729,17]]},"677":{"position":[[759,17]]},"678":{"position":[[981,17]]},"679":{"position":[[1002,17]]},"680":{"position":[[1035,17]]},"681":{"position":[[835,17]]},"682":{"position":[[1052,17]]},"683":{"position":[[1073,17]]},"684":{"position":[[1106,17]]},"687":{"position":[[242,17]]},"688":{"position":[[151,17]]},"689":{"position":[[237,17]]},"690":{"position":[[283,17]]},"691":{"position":[[318,17]]},"692":{"position":[[241,17]]},"693":{"position":[[410,17]]},"694":{"position":[[189,17]]},"695":{"position":[[245,17]]},"697":{"position":[[469,17]]},"698":{"position":[[411,17]]},"701":{"position":[[259,17]]},"702":{"position":[[301,17]]},"703":{"position":[[415,17]]},"705":{"position":[[128,17]]},"706":{"position":[[133,17]]},"707":{"position":[[195,17]]},"708":{"position":[[245,17]]},"709":{"position":[[256,17]]},"710":{"position":[[495,17]]},"711":{"position":[[221,17]]},"712":{"position":[[362,17]]},"713":{"position":[[198,17]]},"718":{"position":[[205,17]]},"719":{"position":[[225,17]]},"720":{"position":[[239,17]]},"722":{"position":[[835,17]]},"723":{"position":[[567,17]]},"725":{"position":[[488,17]]},"726":{"position":[[450,17]]},"727":{"position":[[466,17]]},"729":{"position":[[374,17]]},"731":{"position":[[327,17]]},"732":{"position":[[182,17]]},"733":{"position":[[184,17]]},"740":{"position":[[179,17]]},"741":{"position":[[549,17]]},"747":{"position":[[143,17]]},"757":{"position":[[264,17]]},"780":{"position":[[232,17]]},"781":{"position":[[149,17]]},"783":{"position":[[162,17]]},"785":{"position":[[202,17]]},"786":{"position":[[297,17]]}},"keywords":{}}],["descriptiontarget_nam",{"_index":1732,"title":{},"content":{"91":{"position":[[1480,22]]},"92":{"position":[[909,22]]}},"keywords":{}}],["descriptiontargets/gs",{"_index":2760,"title":{},"content":{"302":{"position":[[420,22]]}},"keywords":{}}],["descriptiontargets/gse/lib/double_conversion.rb",{"_index":2792,"title":{},"content":{"304":{"position":[[627,47]]}},"keywords":{}}],["descriptiontargets/gse/lib/safe_limits_response.rb",{"_index":2802,"title":{},"content":{"305":{"position":[[666,50]]}},"keywords":{}}],["descriptiontargets/target_name/lib",{"_index":4444,"title":{},"content":{"549":{"position":[[199,34]]}},"keywords":{}}],["descriptiontg",{"_index":3213,"title":{},"content":{"352":{"position":[[124,13]]}},"keywords":{}}],["descriptiontim",{"_index":5347,"title":{},"content":{"722":{"position":[[508,15]]}},"keywords":{}}],["descriptiontitl",{"_index":5025,"title":{},"content":{"673":{"position":[[929,16]]}},"keywords":{}}],["descriptiontl",{"_index":3227,"title":{},"content":{"355":{"position":[[123,13]]}},"keywords":{}}],["descriptiontlm_str",{"_index":1754,"title":{},"content":{"92":{"position":[[589,21]]}},"keywords":{}}],["descriptiontool",{"_index":5806,"title":{},"content":{"813":{"position":[[135,15]]},"814":{"position":[[310,15]]},"815":{"position":[[146,15]]},"816":{"position":[[150,15]]}},"keywords":{}}],["descriptiontv",{"_index":3210,"title":{},"content":{"351":{"position":[[292,13]]}},"keywords":{}}],["descriptionutil",{"_index":5646,"title":{},"content":{"778":{"position":[[471,18]]}},"keywords":{}}],["design",{"_index":1294,"title":{"341":{"position":[[17,6]]}},"content":{"61":{"position":[[263,8]]},"197":{"position":[[199,6]]},"241":{"position":[[1,10]]},"265":{"position":[[41,6],[78,9],[214,6]]},"301":{"position":[[595,8]]},"302":{"position":[[596,8]]},"303":{"position":[[694,8]]},"307":{"position":[[1773,6]]},"309":{"position":[[382,7]]},"324":{"position":[[298,7]]},"332":{"position":[[27,8]]},"349":{"position":[[614,9]]},"387":{"position":[[1305,8]]},"413":{"position":[[250,6]]},"560":{"position":[[25,6]]},"608":{"position":[[198,8]]},"626":{"position":[[1314,10]]},"627":{"position":[[1367,10]]},"628":{"position":[[1339,10]]},"660":{"position":[[27,8]]}},"keywords":{}}],["desir",{"_index":2651,"title":{},"content":{"279":{"position":[[9632,7],[10019,7]]},"348":{"position":[[153,7],[283,7]]},"349":{"position":[[3886,7],[6830,8]]},"382":{"position":[[370,7]]},"559":{"position":[[664,7],[962,7]]},"581":{"position":[[676,7]]},"591":{"position":[[557,7]]}},"keywords":{}}],["desktop",{"_index":911,"title":{},"content":{"42":{"position":[[330,7]]},"258":{"position":[[419,8]]},"309":{"position":[[4076,7]]},"310":{"position":[[400,7]]},"330":{"position":[[145,7],[266,8]]},"369":{"position":[[4285,7]]},"371":{"position":[[142,7]]}},"keywords":{}}],["dest",{"_index":1860,"title":{},"content":{"106":{"position":[[206,4]]},"320":{"position":[[932,4],[1083,4]]}},"keywords":{}}],["dest_ip",{"_index":3642,"title":{},"content":{"379":{"position":[[883,7]]},"380":{"position":[[1956,7]]}},"keywords":{}}],["destruct",{"_index":4043,"title":{},"content":{"424":{"position":[[1926,11]]},"429":{"position":[[238,12]]}},"keywords":{}}],["detail",{"_index":1423,"title":{"455":{"position":[[24,8]]},"492":{"position":[[0,8]]}},"content":{"69":{"position":[[797,7]]},"124":{"position":[[69,6]]},"126":{"position":[[193,7]]},"128":{"position":[[916,8]]},"149":{"position":[[706,8]]},"203":{"position":[[377,8]]},"279":{"position":[[3457,7],[4828,7],[5521,7],[6644,7]]},"350":{"position":[[579,8]]},"358":{"position":[[8059,7]]},"378":{"position":[[5,8]]},"387":{"position":[[981,6]]},"393":{"position":[[1288,8]]},"487":{"position":[[281,8]]},"492":{"position":[[38,7],[60,7]]},"538":{"position":[[334,7]]},"545":{"position":[[141,7]]},"580":{"position":[[243,8],[290,8]]},"581":{"position":[[728,8],[775,8]]},"591":{"position":[[687,8],[734,8]]}},"keywords":{}}],["detect",{"_index":2646,"title":{},"content":{"279":{"position":[[9018,8],[9176,8],[9337,8],[9457,8],[9841,9],[10227,9]]},"326":{"position":[[807,7]]},"548":{"position":[[177,7]]}},"keywords":{}}],["determin",{"_index":319,"title":{},"content":{"11":{"position":[[147,10]]},"64":{"position":[[558,9]]},"74":{"position":[[700,10]]},"109":{"position":[[1961,9]]},"358":{"position":[[5424,9]]},"380":{"position":[[315,9]]},"401":{"position":[[149,10]]},"535":{"position":[[1106,9]]},"540":{"position":[[374,9],[481,9]]},"554":{"position":[[73,11]]},"569":{"position":[[764,9]]},"743":{"position":[[256,11]]}},"keywords":{}}],["dev",{"_index":976,"title":{},"content":{"42":{"position":[[2237,3]]},"44":{"position":[[507,3],[610,3]]}},"keywords":{}}],["dev.txt",{"_index":2218,"title":{},"content":{"211":{"position":[[120,7]]}},"keywords":{}}],["dev.yaml",{"_index":1042,"title":{},"content":{"44":{"position":[[480,8]]}},"keywords":{}}],["dev/stderr",{"_index":1664,"title":{},"content":{"83":{"position":[[3139,11],[3251,11]]}},"keywords":{}}],["dev/ttys0",{"_index":1908,"title":{},"content":{"111":{"position":[[297,13],[409,13],[1751,10],[1762,10]]}},"keywords":{}}],["dev/ttys1",{"_index":1918,"title":{},"content":{"111":{"position":[[1330,10],[1341,10]]}},"keywords":{}}],["dev/ttyusb0",{"_index":2938,"title":{},"content":{"317":{"position":[[294,12]]}},"keywords":{}}],["dev_server.bat",{"_index":1049,"title":{},"content":{"44":{"position":[[937,14]]}},"keywords":{}}],["develop",{"_index":21,"title":{"41":{"position":[[0,10]]},"42":{"position":[[0,11]]}},"content":{"1":{"position":[[217,11]]},"42":{"position":[[22,8],[487,7],[2036,11],[2204,11]]},"43":{"position":[[55,7],[491,11],[891,11],[1361,11],[1406,12]]},"44":{"position":[[25,7],[135,11],[160,11]]},"83":{"position":[[228,9]]},"93":{"position":[[4,10],[332,9],[498,9]]},"255":{"position":[[101,11]]},"263":{"position":[[314,7]]},"264":{"position":[[101,10]]},"265":{"position":[[63,10]]},"269":{"position":[[100,11]]},"301":{"position":[[456,12]]},"302":{"position":[[1575,10]]},"307":{"position":[[147,10],[365,12],[410,12],[1517,11],[1656,11]]},"324":{"position":[[90,11],[153,12]]},"326":{"position":[[1305,7]]},"338":{"position":[[404,9]]},"349":{"position":[[172,10],[1385,10]]},"359":{"position":[[2966,11]]},"387":{"position":[[1636,10]]},"390":{"position":[[405,12],[1297,12]]},"391":{"position":[[313,7]]},"392":{"position":[[56,10],[491,7],[609,11]]},"402":{"position":[[47,10]]},"414":{"position":[[182,11]]},"546":{"position":[[291,7]]},"552":{"position":[[904,9]]}},"keywords":{}}],["developerslot",{"_index":3809,"title":{},"content":{"392":{"position":[[367,14]]}},"keywords":{}}],["devic",{"_index":19,"title":{},"content":{"1":{"position":[[199,8]]},"109":{"position":[[81,8]]},"110":{"position":[[91,8]]},"112":{"position":[[76,8],[209,6],[242,6],[478,6]]},"149":{"position":[[383,7]]},"213":{"position":[[103,7]]},"312":{"position":[[96,7]]},"317":{"position":[[144,8],[216,6]]},"332":{"position":[[94,7],[491,6]]}},"keywords":{}}],["device"",{"_index":3941,"title":{},"content":{"404":{"position":[[686,12]]}},"keywords":{}}],["dfw4kkva6acgfsf_f8tbh_rzrvqwlvwwzda_eggkzhzwcnac8tdjxrxuawmnogwt0aahzaow8evwmkp",{"_index":1554,"title":{},"content":{"82":{"position":[[2285,79],[5750,79]]}},"keywords":{}}],["diag",{"_index":2487,"title":{},"content":{"253":{"position":[[942,4]]},"299":{"position":[[1117,4]]}},"keywords":{}}],["diagram",{"_index":3099,"title":{"343":{"position":[[33,8]]}},"content":{"343":{"position":[[15,7]]}},"keywords":{}}],["dialog",{"_index":2421,"title":{},"content":{"241":{"position":[[83,6]]},"279":{"position":[[3465,7],[4836,7],[5529,7],[6652,7]]},"348":{"position":[[1969,6],[2042,6]]},"421":{"position":[[154,6]]},"422":{"position":[[199,6],[571,6]]},"461":{"position":[[148,6],[398,6]]},"462":{"position":[[136,7],[448,7]]},"472":{"position":[[207,6],[828,6],[979,6],[1229,6]]},"478":{"position":[[210,6],[460,6]]},"481":{"position":[[158,7],[277,7]]},"484":{"position":[[188,7],[332,6]]},"492":{"position":[[68,7],[84,6]]},"502":{"position":[[147,6],[397,6]]},"504":{"position":[[46,7]]},"505":{"position":[[76,7]]},"511":{"position":[[81,6]]},"514":{"position":[[259,6]]},"515":{"position":[[280,6]]},"521":{"position":[[166,6],[416,6]]},"522":{"position":[[126,6],[674,7]]},"528":{"position":[[83,6],[311,6],[634,6],[684,6]]},"673":{"position":[[66,6],[970,7],[1026,6]]}},"keywords":{}}],["dict",{"_index":5401,"title":{},"content":{"740":{"position":[[16,4]]},"770":{"position":[[156,6]]},"773":{"position":[[54,5]]},"803":{"position":[[151,4]]},"804":{"position":[[154,4]]}},"keywords":{}}],["dict_keys(['default",{"_index":5412,"title":{},"content":{"740":{"position":[[878,21]]}},"keywords":{}}],["didn't",{"_index":3298,"title":{},"content":{"359":{"position":[[1798,6]]}},"keywords":{}}],["differ",{"_index":296,"title":{"566":{"position":[[17,11]]}},"content":{"9":{"position":[[21,9]]},"17":{"position":[[244,6]]},"18":{"position":[[249,6]]},"33":{"position":[[402,9]]},"48":{"position":[[25,9],[4749,9]]},"83":{"position":[[1533,9],[1776,9]]},"109":{"position":[[272,7]]},"110":{"position":[[292,7]]},"126":{"position":[[424,9]]},"150":{"position":[[172,9]]},"225":{"position":[[1019,10]]},"271":{"position":[[1058,10]]},"279":{"position":[[8124,9],[8250,9],[8277,9],[8640,9]]},"309":{"position":[[910,9]]},"343":{"position":[[838,9]]},"345":{"position":[[391,9]]},"346":{"position":[[1468,9]]},"349":{"position":[[1026,9]]},"389":{"position":[[1792,9]]},"435":{"position":[[266,9]]},"446":{"position":[[137,9]]},"473":{"position":[[529,9],[1236,9]]},"513":{"position":[[663,9]]},"519":{"position":[[230,9]]},"540":{"position":[[43,11],[3656,10]]},"544":{"position":[[399,6]]},"554":{"position":[[882,9]]},"559":{"position":[[25,9],[318,9]]},"571":{"position":[[192,9],[213,9]]},"572":{"position":[[135,9]]},"659":{"position":[[16,9],[116,12]]},"722":{"position":[[144,9]]},"741":{"position":[[141,9]]}},"keywords":{}}],["differenti",{"_index":1062,"title":{},"content":{"47":{"position":[[159,13]]},"101":{"position":[[59,15]]}},"keywords":{}}],["difficult",{"_index":3764,"title":{},"content":{"389":{"position":[[1863,9]]},"547":{"position":[[245,9]]}},"keywords":{}}],["difficult.indent",{"_index":4327,"title":{},"content":{"540":{"position":[[287,21]]}},"keywords":{}}],["digit",{"_index":3759,"title":{},"content":{"389":{"position":[[1259,7]]}},"keywords":{}}],["dir",{"_index":3042,"title":{"376":{"position":[[25,4]]}},"content":{"331":{"position":[[756,3]]},"378":{"position":[[399,3]]}},"keywords":{}}],["direct",{"_index":1037,"title":{},"content":{"44":{"position":[[215,6]]},"309":{"position":[[36,10],[467,10],[533,10]]},"332":{"position":[[1307,10]]},"365":{"position":[[324,6]]},"386":{"position":[[17,6]]},"404":{"position":[[147,10]]},"431":{"position":[[689,6]]}},"keywords":{}}],["direct3d",{"_index":3542,"title":{},"content":{"369":{"position":[[4392,8]]}},"keywords":{}}],["directli",{"_index":226,"title":{},"content":{"6":{"position":[[701,8]]},"67":{"position":[[1138,8],[1412,8]]},"105":{"position":[[747,8]]},"108":{"position":[[354,8]]},"109":{"position":[[710,8]]},"110":{"position":[[1044,8]]},"111":{"position":[[939,8]]},"112":{"position":[[295,8]]},"113":{"position":[[346,8]]},"265":{"position":[[310,8]]},"268":{"position":[[361,8]]},"309":{"position":[[674,10],[3088,9]]},"317":{"position":[[26,8]]},"331":{"position":[[297,8]]},"333":{"position":[[66,8]]},"340":{"position":[[428,8]]},"364":{"position":[[59,8]]},"414":{"position":[[38,8]]},"440":{"position":[[756,8]]},"467":{"position":[[516,8]]},"497":{"position":[[34,8]]},"539":{"position":[[143,8]]},"547":{"position":[[536,8]]},"560":{"position":[[1089,9]]},"699":{"position":[[385,8]]},"758":{"position":[[16,8]]},"759":{"position":[[16,8]]},"768":{"position":[[16,8]]},"769":{"position":[[16,8]]},"786":{"position":[[49,8]]},"787":{"position":[[54,8]]},"795":{"position":[[881,9],[1040,9]]}},"keywords":{}}],["directori",{"_index":331,"title":{"124":{"position":[[7,9]]}},"content":{"12":{"position":[[212,9],[313,9],[398,9]]},"15":{"position":[[461,10]]},"16":{"position":[[463,10]]},"31":{"position":[[156,9]]},"32":{"position":[[158,9]]},"124":{"position":[[36,9]]},"143":{"position":[[32,9],[52,9],[271,9]]},"181":{"position":[[17,9],[36,9],[255,9]]},"225":{"position":[[263,9]]},"271":{"position":[[291,9]]},"279":{"position":[[10637,10]]},"288":{"position":[[284,10]]},"301":{"position":[[119,9],[436,9]]},"302":{"position":[[401,12]]},"303":{"position":[[451,12]]},"304":{"position":[[608,12]]},"305":{"position":[[647,12]]},"306":{"position":[[637,12]]},"307":{"position":[[741,12]]},"309":{"position":[[699,11]]},"313":{"position":[[238,9]]},"315":{"position":[[213,10]]},"319":{"position":[[501,11]]},"320":{"position":[[64,9],[1331,10]]},"323":{"position":[[189,9],[251,10],[468,9]]},"326":{"position":[[84,10],[261,10],[428,9],[1113,9],[1198,9]]},"331":{"position":[[627,9]]},"333":{"position":[[32,9]]},"338":{"position":[[233,10]]},"340":{"position":[[15,9],[135,9],[182,11],[406,9]]},"358":{"position":[[312,10],[1557,9],[2157,10]]},"383":{"position":[[948,10],[1011,10]]},"396":{"position":[[174,10]]},"397":{"position":[[173,10]]},"497":{"position":[[202,9],[316,9]]},"548":{"position":[[137,11]]},"551":{"position":[[742,10]]},"575":{"position":[[286,10]]},"649":{"position":[[156,10]]},"650":{"position":[[597,10],[1436,10]]},"669":{"position":[[46,9],[279,10]]},"670":{"position":[[29,9],[200,10]]},"671":{"position":[[29,9],[176,10]]}},"keywords":{}}],["disabl",{"_index":717,"title":{"238":{"position":[[0,9]]},"325":{"position":[[0,9]]}},"content":{"36":{"position":[[3136,7]]},"40":{"position":[[833,7],[1162,7]]},"111":{"position":[[330,7],[442,7]]},"136":{"position":[[1,7]]},"172":{"position":[[1,8]]},"176":{"position":[[17,7],[42,7]]},"190":{"position":[[17,7],[42,7]]},"201":{"position":[[17,7],[42,7]]},"205":{"position":[[17,7],[42,7]]},"229":{"position":[[3136,7]]},"238":{"position":[[1,8],[67,8],[124,8]]},"239":{"position":[[1,7]]},"279":{"position":[[8786,9],[8903,8]]},"297":{"position":[[104,8],[200,8],[357,7],[499,8],[622,7],[654,9]]},"325":{"position":[[16,7]]},"363":{"position":[[411,7]]},"421":{"position":[[658,8]]},"468":{"position":[[315,8],[360,8]]},"552":{"position":[[2008,9],[2135,7]]},"733":{"position":[[1,8]]},"735":{"position":[[1,8]]},"793":{"position":[[1,8],[380,9],[445,8]]}},"keywords":{}}],["disable_disconnect",{"_index":2036,"title":{"136":{"position":[[0,19]]}},"content":{},"keywords":{}}],["disable_erb",{"_index":2131,"title":{"176":{"position":[[0,12]]},"190":{"position":[[0,12]]},"201":{"position":[[0,12]]},"205":{"position":[[0,12]]}},"content":{},"keywords":{}}],["disable_instrument",{"_index":4485,"title":{"793":{"position":[[0,24]]}},"content":{"552":{"position":[[2084,23],[2258,23],[2406,26]]},"793":{"position":[[520,23],[652,26]]}},"keywords":{}}],["disable_limit",{"_index":5385,"title":{"733":{"position":[[0,15]]}},"content":{},"keywords":{}}],["disable_limits("<target",{"_index":5386,"title":{},"content":{"733":{"position":[[86,31]]}},"keywords":{}}],["disable_limits("inst",{"_index":5387,"title":{},"content":{"733":{"position":[[376,25]]}},"keywords":{}}],["disable_limits_group",{"_index":5392,"title":{"735":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disable_limits_group("<limit",{"_index":5393,"title":{},"content":{"735":{"position":[[109,37]]}},"keywords":{}}],["disable_limits_group("name"",{"_index":2685,"title":{},"content":{"297":{"position":[[382,38]]}},"keywords":{}}],["disable_limits_group("safe_mode"",{"_index":5394,"title":{},"content":{"735":{"position":[[261,43]]}},"keywords":{}}],["disable_messag",{"_index":721,"title":{"239":{"position":[[0,17]]}},"content":{"36":{"position":[[3309,16],[3717,16]]},"229":{"position":[[3309,16],[3717,16]]}},"keywords":{}}],["discard",{"_index":1197,"title":{},"content":{"53":{"position":[[361,7],[588,7],[743,7]]},"54":{"position":[[647,10],[941,7],[986,7],[1141,7]]},"55":{"position":[[464,10],[1722,7],[1767,7],[1905,10],[2016,11],[2041,7]]},"56":{"position":[[847,7],[892,7],[1043,7]]},"57":{"position":[[568,7],[804,7]]},"60":{"position":[[350,7],[395,7],[546,7]]},"61":{"position":[[1750,10],[2019,7],[2064,7],[2215,7]]},"62":{"position":[[573,10]]}},"keywords":{}}],["disclos",{"_index":4101,"title":{},"content":{"432":{"position":[[1046,8]]},"435":{"position":[[191,8]]}},"keywords":{}}],["disclosur",{"_index":4069,"title":{},"content":{"429":{"position":[[211,11]]}},"keywords":{}}],["disconnect",{"_index":1339,"title":{"556":{"position":[[6,10]]}},"content":{"65":{"position":[[394,10],[407,10]]},"67":{"position":[[2712,10],[2777,13],[3356,11],[4062,11],[4236,10],[4252,10]]},"70":{"position":[[98,13],[179,10]]},"72":{"position":[[97,13]]},"73":{"position":[[219,11],[468,10],[542,12]]},"74":{"position":[[243,11],[494,10],[568,12]]},"75":{"position":[[242,11],[510,10],[584,12]]},"76":{"position":[[242,11],[507,10],[581,12]]},"77":{"position":[[458,11],[684,10],[758,12],[895,10]]},"115":{"position":[[406,10],[660,12],[684,10]]},"136":{"position":[[13,10],[110,13],[248,10]]},"345":{"position":[[95,13],[124,10],[232,13],[258,10]]},"346":{"position":[[326,13],[377,10],[1285,13],[1333,10]]},"349":{"position":[[4301,12],[4433,11]]},"402":{"position":[[1483,13],[1541,12]]},"509":{"position":[[168,12]]},"512":{"position":[[104,10]]},"517":{"position":[[244,15]]},"556":{"position":[[1,10],[128,10],[188,11],[263,11],[303,13],[521,10],[554,12],[619,12]]},"662":{"position":[[1195,11]]},"710":{"position":[[205,12],[255,10]]},"753":{"position":[[1,11]]},"762":{"position":[[1,11]]},"799":{"position":[[21,10],[41,10],[198,10]]}},"keywords":{}}],["disconnect_interfac",{"_index":5518,"title":{"753":{"position":[[0,21]]}},"content":{},"keywords":{}}],["disconnect_interface("<interfac",{"_index":5519,"title":{},"content":{"753":{"position":[[86,40]]}},"keywords":{}}],["disconnect_interface("int1"",{"_index":5520,"title":{},"content":{"753":{"position":[[229,38]]}},"keywords":{}}],["disconnect_reset",{"_index":1429,"title":{"72":{"position":[[0,17]]}},"content":{"72":{"position":[[5,16],[149,16],[273,16]]}},"keywords":{}}],["disconnect_reset(self",{"_index":1430,"title":{},"content":{"72":{"position":[[219,23]]}},"keywords":{}}],["disconnect_rout",{"_index":5579,"title":{"762":{"position":[[0,18]]}},"content":{},"keywords":{}}],["disconnect_router("<rout",{"_index":5580,"title":{},"content":{"762":{"position":[[54,34]]}},"keywords":{}}],["disconnect_router("int1_router"",{"_index":5581,"title":{},"content":{"762":{"position":[[185,42]]}},"keywords":{}}],["disconnect_script",{"_index":4930,"title":{"799":{"position":[[0,18]]}},"content":{"662":{"position":[[3694,17]]},"799":{"position":[[316,19]]}},"keywords":{}}],["discount",{"_index":4049,"title":{},"content":{"426":{"position":[[243,9]]}},"keywords":{}}],["discov",{"_index":3236,"title":{},"content":{"356":{"position":[[633,8]]}},"keywords":{}}],["discoveri",{"_index":363,"title":{},"content":{"15":{"position":[[244,10]]},"16":{"position":[[248,10]]},"356":{"position":[[612,9]]}},"keywords":{}}],["discovery."",{"_index":2536,"title":{},"content":{"261":{"position":[[256,16]]}},"keywords":{}}],["discret",{"_index":2383,"title":{},"content":{"225":{"position":[[191,11]]},"271":{"position":[[217,11]]}},"keywords":{}}],["discuss",{"_index":77,"title":{"68":{"position":[[7,12]]}},"content":{"2":{"position":[[749,10]]},"67":{"position":[[904,10],[1679,7],[1751,11]]},"69":{"position":[[906,9]]},"100":{"position":[[626,7]]},"551":{"position":[[688,10]]},"564":{"position":[[801,9]]}},"keywords":{}}],["disk",{"_index":2845,"title":{},"content":{"309":{"position":[[948,5],[980,4]]},"330":{"position":[[387,4],[460,4]]}},"keywords":{}}],["diskrenam",{"_index":4274,"title":{},"content":{"528":{"position":[[175,10]]}},"keywords":{}}],["dismiss",{"_index":4166,"title":{},"content":{"470":{"position":[[210,10]]}},"keywords":{}}],["display",{"_index":349,"title":{},"content":{"13":{"position":[[192,7],[295,7]]},"14":{"position":[[166,7]]},"31":{"position":[[61,9]]},"33":{"position":[[270,7],[468,7],[683,7]]},"36":{"position":[[202,7],[296,9]]},"43":{"position":[[1274,10]]},"115":{"position":[[1161,9],[1420,9]]},"122":{"position":[[100,10]]},"192":{"position":[[422,9]]},"196":{"position":[[8,7],[68,7],[316,7]]},"197":{"position":[[129,7]]},"209":{"position":[[176,8]]},"229":{"position":[[202,7],[296,9]]},"271":{"position":[[1203,10]]},"279":{"position":[[197,7],[291,9],[2505,9],[3365,9],[4736,9],[5429,9],[6552,9],[8110,8]]},"302":{"position":[[2323,7]]},"306":{"position":[[722,8]]},"307":{"position":[[1245,8]]},"346":{"position":[[194,7],[459,7],[557,7],[662,7],[840,7],[954,7],[1159,7],[1727,7]]},"347":{"position":[[16,8],[242,7],[301,9],[458,9],[547,10]]},"348":{"position":[[712,7],[1545,7],[1653,9],[1709,7],[1826,10]]},"350":{"position":[[394,7],[503,9],[1332,9],[1424,10],[1614,9]]},"351":{"position":[[231,7],[331,7],[416,7]]},"354":{"position":[[34,7],[75,7],[182,8],[485,7],[524,7],[595,8]]},"356":{"position":[[400,7]]},"421":{"position":[[511,9]]},"446":{"position":[[29,8]]},"454":{"position":[[533,7]]},"457":{"position":[[169,7],[206,7]]},"461":{"position":[[155,8],[410,8]]},"462":{"position":[[12,8],[431,7],[535,9]]},"464":{"position":[[345,9]]},"467":{"position":[[158,7]]},"468":{"position":[[267,7]]},"472":{"position":[[214,8],[573,10],[986,8],[1241,8]]},"473":{"position":[[65,9],[148,9],[194,10],[341,9],[575,8],[688,10],[1328,10]]},"478":{"position":[[217,8],[472,8]]},"487":{"position":[[77,7],[165,9]]},"501":{"position":[[51,8]]},"502":{"position":[[154,8],[409,8]]},"503":{"position":[[188,8]]},"505":{"position":[[108,9]]},"512":{"position":[[20,8]]},"513":{"position":[[17,8]]},"514":{"position":[[25,8],[266,10]]},"515":{"position":[[27,8],[287,10]]},"516":{"position":[[16,8]]},"517":{"position":[[100,8]]},"521":{"position":[[173,8],[428,8]]},"522":{"position":[[262,10],[391,8]]},"528":{"position":[[318,8],[691,10]]},"529":{"position":[[3,7]]},"552":{"position":[[852,7]]},"574":{"position":[[94,7],[520,9],[555,7]]},"601":{"position":[[107,7]]},"602":{"position":[[107,7]]},"604":{"position":[[1,8],[179,7]]},"605":{"position":[[16,8]]},"606":{"position":[[1,8],[91,7]]},"608":{"position":[[33,7],[254,7]]},"609":{"position":[[1,8],[462,8]]},"610":{"position":[[1,8],[649,8]]},"611":{"position":[[1,8],[634,8]]},"612":{"position":[[1,8],[198,8]]},"613":{"position":[[1,8],[249,10],[446,8]]},"614":{"position":[[1,8],[219,8]]},"615":{"position":[[1,8],[222,7],[258,7],[365,8]]},"616":{"position":[[1,8],[239,8]]},"617":{"position":[[1,8],[242,8]]},"618":{"position":[[1,8],[229,7],[368,7],[516,8]]},"619":{"position":[[1,8],[506,8]]},"620":{"position":[[1,8],[235,8]]},"621":{"position":[[1,8],[233,8]]},"622":{"position":[[1,8],[219,8]]},"623":{"position":[[1,8],[208,8]]},"624":{"position":[[1,8],[211,8]]},"625":{"position":[[1,8],[198,7],[337,7],[485,8]]},"626":{"position":[[1,8],[205,8],[290,7],[439,8],[932,8],[1017,7],[1166,8],[1450,7],[1591,7],[1701,7],[1876,7]]},"627":{"position":[[1,8],[239,8],[324,7],[473,8],[985,8],[1070,7],[1219,8],[1503,7],[1644,7],[1754,7],[1929,7]]},"628":{"position":[[1,8],[223,8],[308,7],[457,8],[957,8],[1042,7],[1191,8],[1475,7],[1616,7],[1726,7],[1901,7]]},"629":{"position":[[1,7]]},"630":{"position":[[1,8],[44,10],[253,10],[456,8]]},"631":{"position":[[1,8],[29,10],[208,7],[347,7],[495,8]]},"632":{"position":[[17,8],[157,8]]},"633":{"position":[[17,8],[251,8],[544,7],[589,8],[632,8],[665,8]]},"635":{"position":[[1,8],[447,8]]},"637":{"position":[[1,8],[1625,9]]},"638":{"position":[[1,8],[167,9]]},"639":{"position":[[1,8],[189,7],[251,7]]},"640":{"position":[[1,8]]},"642":{"position":[[1,8],[263,7]]},"643":{"position":[[1,8]]},"644":{"position":[[1,8]]},"645":{"position":[[42,8]]},"648":{"position":[[480,8]]},"649":{"position":[[1,8]]},"650":{"position":[[1,8],[132,9],[433,7],[542,8],[1381,8]]},"652":{"position":[[639,8]]},"658":{"position":[[353,8],[796,7],[1213,7]]},"662":{"position":[[518,7]]},"664":{"position":[[598,9]]},"665":{"position":[[564,9]]},"673":{"position":[[1011,7]]},"675":{"position":[[1,8]]},"787":{"position":[[712,8],[778,7],[809,11],[898,7]]},"791":{"position":[[54,7]]},"792":{"position":[[53,7]]},"803":{"position":[[301,7]]},"804":{"position":[[318,7]]}},"keywords":{}}],["display/us",{"_index":4589,"title":{},"content":{"574":{"position":[[159,12]]}},"keywords":{}}],["display_screen",{"_index":4869,"title":{"780":{"position":[[0,15]]}},"content":{"662":{"position":[[559,14]]}},"keywords":{}}],["display_screen("<target",{"_index":5652,"title":{},"content":{"780":{"position":[[77,31]]}},"keywords":{}}],["display_screen("inst"",{"_index":5657,"title":{},"content":{"780":{"position":[[499,32]]}},"keywords":{}}],["disput",{"_index":4080,"title":{},"content":{"430":{"position":[[484,9]]}},"keywords":{}}],["distanc",{"_index":1341,"title":{},"content":{"65":{"position":[[523,8]]}},"keywords":{}}],["distinct",{"_index":2650,"title":{},"content":{"279":{"position":[[9623,8],[10010,8]]},"550":{"position":[[26,8]]}},"keywords":{}}],["distinguish",{"_index":3204,"title":{},"content":{"350":{"position":[[1196,14]]},"358":{"position":[[6320,13]]},"379":{"position":[[3737,11]]}},"keywords":{}}],["distribut",{"_index":3309,"title":{},"content":{"361":{"position":[[234,11]]}},"keywords":{}}],["distro",{"_index":3344,"title":{},"content":{"363":{"position":[[6,6]]}},"keywords":{}}],["dive",{"_index":4483,"title":{},"content":{"552":{"position":[[597,4]]}},"keywords":{}}],["dn",{"_index":2874,"title":{},"content":{"309":{"position":[[2208,3]]}},"keywords":{}}],["do",{"_index":2287,"title":{},"content":{"216":{"position":[[551,5]]},"217":{"position":[[2672,5]]},"271":{"position":[[1463,5]]},"387":{"position":[[320,5]]},"545":{"position":[[32,5]]}},"keywords":{}}],["docker",{"_index":36,"title":{"23":{"position":[[7,6]]},"259":{"position":[[0,6]]},"309":{"position":[[40,6]]}},"content":{"2":{"position":[[129,6],[160,6]]},"21":{"position":[[33,6]]},"42":{"position":[[143,7],[323,6],[915,6],[2345,6]]},"44":{"position":[[299,6],[379,6],[432,6],[530,6],[733,6],[828,6]]},"146":{"position":[[16,6]]},"187":{"position":[[1,6]]},"257":{"position":[[5,7],[85,6],[386,6]]},"258":{"position":[[5,7],[212,7],[412,6]]},"259":{"position":[[5,7],[78,6]]},"260":{"position":[[44,6]]},"309":{"position":[[109,7],[129,6],[223,6],[404,7],[1436,6],[1521,6],[1616,6],[1684,6],[1800,6],[1823,6],[3020,6],[4069,6]]},"310":{"position":[[319,6],[347,6],[393,6]]},"314":{"position":[[2066,6]]},"317":{"position":[[60,6],[260,6]]},"330":{"position":[[74,6],[99,6],[138,6],[259,6],[310,6],[358,7],[427,7],[465,6],[913,6],[940,6],[1109,6],[1582,6],[1624,6]]},"332":{"position":[[389,6]]},"333":{"position":[[549,6],[585,6],[596,6],[668,6],[688,6],[855,6],[1286,6],[1333,7]]},"343":{"position":[[220,6],[251,6]]},"344":{"position":[[129,6]]},"358":{"position":[[1908,6]]},"363":{"position":[[289,6],[455,6]]},"367":{"position":[[1051,6]]},"369":{"position":[[134,7],[288,7],[996,6],[2487,6],[3655,6],[3858,6],[4278,6]]},"373":{"position":[[12,6]]},"374":{"position":[[22,6]]},"377":{"position":[[45,7],[94,6],[116,6]]},"380":{"position":[[405,6],[500,6]]},"382":{"position":[[23,6],[60,6]]},"404":{"position":[[2357,6],[2377,6]]}},"keywords":{}}],["docker.io",{"_index":2898,"title":{},"content":{"309":{"position":[[3340,10]]},"331":{"position":[[396,9],[473,9]]}},"keywords":{}}],["docker.sh",{"_index":3975,"title":{},"content":{"404":{"position":[[2308,9],[2330,9]]}},"keywords":{}}],["docker_host="unix://$xdg_runtime_dir/podman/podman.sock"",{"_index":2887,"title":{},"content":{"309":{"position":[[2565,66]]}},"keywords":{}}],["docker_host='unix:///users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock",{"_index":2910,"title":{},"content":{"310":{"position":[[218,92]]}},"keywords":{}}],["dockerfil",{"_index":468,"title":{"21":{"position":[[28,11]]},"376":{"position":[[7,10]]}},"content":{"257":{"position":[[309,10]]},"362":{"position":[[1217,10]]},"363":{"position":[[469,10]]},"364":{"position":[[1178,10]]},"365":{"position":[[403,10]]}},"keywords":{}}],["document",{"_index":119,"title":{},"content":{"3":{"position":[[527,13]]},"5":{"position":[[545,14],[1341,8]]},"20":{"position":[[1549,13]]},"50":{"position":[[870,14]]},"69":{"position":[[930,9]]},"88":{"position":[[361,10],[602,10]]},"117":{"position":[[6,8]]},"124":{"position":[[98,14]]},"128":{"position":[[893,13]]},"149":{"position":[[683,13]]},"301":{"position":[[1081,10],[1419,8]]},"320":{"position":[[1493,14]]},"328":{"position":[[103,8]]},"330":{"position":[[207,14]]},"336":{"position":[[23,14]]},"338":{"position":[[414,14]]},"358":{"position":[[4651,13],[5903,13]]},"362":{"position":[[1367,8],[1447,8]]},"378":{"position":[[253,14]]},"386":{"position":[[652,14]]},"393":{"position":[[1373,8]]},"402":{"position":[[19,13]]},"426":{"position":[[165,9],[634,8]]},"447":{"position":[[650,13]]},"507":{"position":[[5,13]]},"538":{"position":[[200,8]]},"543":{"position":[[343,11]]},"560":{"position":[[190,10]]},"582":{"position":[[531,10]]},"814":{"position":[[93,10]]}},"keywords":{}}],["doesn't",{"_index":1249,"title":{},"content":{"57":{"position":[[242,7]]},"70":{"position":[[403,7]]},"141":{"position":[[626,7]]},"274":{"position":[[71,7]]},"332":{"position":[[1116,7]]},"358":{"position":[[4587,7]]},"383":{"position":[[1723,7]]},"566":{"position":[[173,7]]},"673":{"position":[[371,7]]}},"keywords":{}}],["dollar",{"_index":3801,"title":{},"content":{"392":{"position":[[48,7]]}},"keywords":{}}],["domain",{"_index":502,"title":{},"content":{"22":{"position":[[505,8]]}},"keywords":{}}],["don't",{"_index":371,"title":{"544":{"position":[[16,6]]}},"content":{"17":{"position":[[43,5]]},"18":{"position":[[46,5]]},"24":{"position":[[706,5]]},"48":{"position":[[4845,5]]},"65":{"position":[[221,5]]},"73":{"position":[[862,5],[1250,5]]},"219":{"position":[[422,5]]},"268":{"position":[[418,5]]},"309":{"position":[[2863,5]]},"330":{"position":[[1092,5]]},"358":{"position":[[3443,5],[4542,5],[5793,5]]},"359":{"position":[[2291,5]]},"378":{"position":[[1490,5]]},"387":{"position":[[997,5]]},"392":{"position":[[417,5],[514,5]]},"540":{"position":[[1727,5]]},"552":{"position":[[838,5]]},"566":{"position":[[519,5]]},"793":{"position":[[563,5],[703,5]]}},"keywords":{}}],["done",{"_index":856,"title":{},"content":{"38":{"position":[[49,4]]},"43":{"position":[[318,4]]},"83":{"position":[[1587,4],[3524,4]]},"402":{"position":[[2360,4],[3377,4]]},"422":{"position":[[491,4]]},"563":{"position":[[104,5],[297,4]]}},"keywords":{}}],["dont_connect",{"_index":2029,"title":{"133":{"position":[[0,13]]}},"content":{},"keywords":{}}],["dont_reconnect",{"_index":2031,"title":{"134":{"position":[[0,15]]}},"content":{"135":{"position":[[32,14]]}},"keywords":{}}],["dot",{"_index":4221,"title":{},"content":{"498":{"position":[[818,4],[894,4]]},"653":{"position":[[9,3],[89,3],[127,3],[155,3],[185,3]]},"664":{"position":[[613,4]]},"665":{"position":[[579,4]]}},"keywords":{}}],["dotfil",{"_index":2822,"title":{},"content":{"307":{"position":[[1581,8]]}},"keywords":{}}],["doubl",{"_index":308,"title":{},"content":{"9":{"position":[[808,6],[935,6]]},"304":{"position":[[392,6]]},"402":{"position":[[2836,6],[3845,6]]},"498":{"position":[[887,6]]},"637":{"position":[[648,6]]}},"keywords":{}}],["double_conversion.rb",{"_index":2791,"title":{},"content":{"304":{"position":[[548,20],[1124,20]]}},"keywords":{}}],["doubt",{"_index":1370,"title":{},"content":{"67":{"position":[[1205,6],[1479,6]]}},"keywords":{}}],["down",{"_index":1151,"title":{},"content":{"50":{"position":[[577,4]]},"67":{"position":[[525,4],[1970,4],[2563,4]]},"203":{"position":[[473,4]]},"258":{"position":[[493,4]]},"338":{"position":[[122,4]]},"348":{"position":[[555,4]]},"349":{"position":[[995,4]]},"350":{"position":[[357,4]]},"373":{"position":[[485,4]]},"386":{"position":[[94,4]]},"464":{"position":[[131,4]]},"467":{"position":[[76,5],[358,4]]},"482":{"position":[[51,5],[138,4],[397,4]]},"491":{"position":[[100,4]]},"503":{"position":[[48,4],[139,5]]},"506":{"position":[[399,4]]},"523":{"position":[[48,4],[123,4],[186,5]]},"532":{"position":[[140,4]]},"533":{"position":[[306,4],[912,4]]},"534":{"position":[[649,4],[761,4]]},"542":{"position":[[35,4]]},"546":{"position":[[682,4]]},"554":{"position":[[1155,4]]},"639":{"position":[[17,4],[219,4],[281,4]]}},"keywords":{}}],["downgrad",{"_index":3697,"title":{},"content":{"382":{"position":[[473,10],[484,10],[876,11],[931,10],[988,11]]}},"keywords":{}}],["download",{"_index":2292,"title":{"442":{"position":[[0,9]]},"496":{"position":[[5,9]]},"497":{"position":[[9,9]]}},"content":{"216":{"position":[[879,9]]},"217":{"position":[[3000,9]]},"309":{"position":[[1413,9]]},"331":{"position":[[433,8]]},"340":{"position":[[599,8],[627,8]]},"356":{"position":[[646,8]]},"382":{"position":[[147,8]]},"407":{"position":[[385,9],[573,8]]},"431":{"position":[[119,8]]},"439":{"position":[[151,8]]},"442":{"position":[[11,8],[28,8]]},"485":{"position":[[260,8]]},"496":{"position":[[32,8],[41,8]]},"497":{"position":[[103,8],[335,8],[420,8]]},"499":{"position":[[233,8],[464,8],[521,8]]},"505":{"position":[[185,8],[222,8]]},"526":{"position":[[181,8]]},"529":{"position":[[537,8]]}},"keywords":{}}],["download.rb",{"_index":4208,"title":{"499":{"position":[[0,12]]}},"content":{"497":{"position":[[268,11]]},"499":{"position":[[39,11]]}},"keywords":{}}],["downsid",{"_index":4549,"title":{},"content":{"564":{"position":[[777,9]]}},"keywords":{}}],["drag",{"_index":3986,"title":{},"content":{"413":{"position":[[97,8]]}},"keywords":{}}],["dramat",{"_index":3486,"title":{},"content":{"369":{"position":[[2402,12]]}},"keywords":{}}],["drastic",{"_index":1121,"title":{},"content":{"48":{"position":[[4518,11]]}},"keywords":{}}],["draw",{"_index":4591,"title":{},"content":{"574":{"position":[[410,4]]},"645":{"position":[[30,4]]},"647":{"position":[[1,5],[228,4]]},"648":{"position":[[1,5]]},"651":{"position":[[1,5]]},"652":{"position":[[1,5]]},"653":{"position":[[1,5]]}},"keywords":{}}],["dri",{"_index":4389,"title":{"544":{"position":[[12,3]]}},"content":{"547":{"position":[[155,3]]},"799":{"position":[[228,3]]}},"keywords":{}}],["drive",{"_index":3301,"title":{},"content":{"359":{"position":[[2801,5]]}},"keywords":{}}],["driver",{"_index":1905,"title":{},"content":{"111":{"position":[[79,7],[114,7]]},"380":{"position":[[439,6]]}},"keywords":{}}],["drlive",{"_index":589,"title":{},"content":{"27":{"position":[[855,7]]}},"keywords":{}}],["drlive.crt",{"_index":587,"title":{},"content":{"27":{"position":[[751,12]]}},"keywords":{}}],["drlive.key",{"_index":579,"title":{},"content":{"27":{"position":[[314,12],[837,12]]}},"keywords":{}}],["drop",{"_index":1307,"title":{},"content":{"61":{"position":[[1601,5],[1730,8]]},"66":{"position":[[28,5],[78,5]]},"74":{"position":[[482,8]]},"75":{"position":[[498,8]]},"76":{"position":[[495,8]]},"106":{"position":[[665,8]]},"139":{"position":[[1158,4]]},"203":{"position":[[468,4]]},"330":{"position":[[1164,8],[1535,8]]},"348":{"position":[[550,4]]},"350":{"position":[[352,4]]},"413":{"position":[[110,8]]},"464":{"position":[[126,4]]},"467":{"position":[[71,4],[353,4]]},"482":{"position":[[46,4],[133,4],[392,4]]},"491":{"position":[[95,4]]},"503":{"position":[[43,4],[134,4]]},"523":{"position":[[43,4],[118,4],[181,4]]},"532":{"position":[[135,4]]},"533":{"position":[[301,4],[907,4]]},"534":{"position":[[644,4],[756,4]]},"639":{"position":[[12,4],[214,4],[276,4]]}},"keywords":{}}],["dropdown",{"_index":3129,"title":{},"content":{"348":{"position":[[121,9]]}},"keywords":{}}],["dual",{"_index":2933,"title":{},"content":{"316":{"position":[[111,4]]},"389":{"position":[[1530,4]]}},"keywords":{}}],["dualsens",{"_index":2934,"title":{},"content":{"316":{"position":[[155,9]]}},"keywords":{}}],["due",{"_index":2389,"title":{},"content":{"225":{"position":[[665,3]]},"271":{"position":[[692,3]]},"307":{"position":[[1090,3]]},"309":{"position":[[759,3]]},"369":{"position":[[870,3]]},"569":{"position":[[377,3]]},"579":{"position":[[315,3]]}},"keywords":{}}],["dummi",{"_index":2491,"title":{},"content":{"253":{"position":[[1621,5]]}},"keywords":{}}],["dump",{"_index":876,"title":{},"content":{"40":{"position":[[740,7]]},"273":{"position":[[239,5],[297,7]]},"354":{"position":[[146,5]]},"499":{"position":[[787,4]]}},"keywords":{}}],["dump_pkt",{"_index":4233,"title":{},"content":{"499":{"position":[[865,8]]}},"keywords":{}}],["duplic",{"_index":2767,"title":{},"content":{"302":{"position":[[1646,11]]}},"keywords":{}}],["dur",{"_index":4801,"title":{},"content":{"643":{"position":[[324,3]]}},"keywords":{}}],["dur))"",{"_index":4762,"title":{},"content":{"637":{"position":[[1095,13]]}},"keywords":{}}],["durat",{"_index":1735,"title":{},"content":{"91":{"position":[[1797,8]]},"213":{"position":[[720,8],[1159,8]]},"235":{"position":[[438,8]]},"236":{"position":[[522,8]]},"252":{"position":[[489,8]]},"352":{"position":[[848,8]]},"468":{"position":[[339,9]]},"592":{"position":[[665,8]]},"637":{"position":[[1086,8],[1811,8]]},"639":{"position":[[461,8]]},"643":{"position":[[257,8],[431,8]]},"654":{"position":[[241,8],[410,9],[440,8],[594,8]]},"677":{"position":[[1322,8],[1754,8]]},"678":{"position":[[1559,8],[1785,8]]},"680":{"position":[[1608,8],[1826,8]]},"681":{"position":[[1402,8],[1584,8]]},"682":{"position":[[1634,8],[1846,8]]},"684":{"position":[[1683,8],[1885,8]]},"685":{"position":[[455,8],[1014,8]]}},"keywords":{}}],["duration"",{"_index":2225,"title":{},"content":{"213":{"position":[[768,14],[1203,14]]}},"keywords":{}}],["dure",{"_index":1464,"title":{},"content":{"78":{"position":[[117,6]]},"83":{"position":[[1656,6]]},"126":{"position":[[133,6]]},"279":{"position":[[8403,6]]},"349":{"position":[[192,6]]},"380":{"position":[[1064,6]]},"637":{"position":[[537,6]]}},"keywords":{}}],["dv",{"_index":3224,"title":{},"content":{"354":{"position":[[344,2],[446,2],[541,2],[641,2]]}},"keywords":{}}],["dxcore",{"_index":3545,"title":{},"content":{"369":{"position":[[4427,6]]}},"keywords":{}}],["dynam",{"_index":1029,"title":{},"content":{"43":{"position":[[1169,11]]},"48":{"position":[[1790,11],[2423,11],[4951,11]]},"96":{"position":[[685,8]]},"105":{"position":[[94,11]]},"192":{"position":[[181,11]]},"342":{"position":[[711,7]]},"407":{"position":[[86,11]]},"540":{"position":[[637,11]]}},"keywords":{}}],["e",{"_index":1631,"title":{},"content":{"83":{"position":[[2078,1]]},"424":{"position":[[1209,2]]},"429":{"position":[[380,1]]}},"keywords":{}}],["e.g",{"_index":333,"title":{},"content":{"12":{"position":[[250,4],[447,4]]},"15":{"position":[[472,4]]},"16":{"position":[[474,4]]},"33":{"position":[[322,5]]},"36":{"position":[[382,4],[440,4],[9796,4],[10177,4]]},"42":{"position":[[1717,5]]},"55":{"position":[[1550,4]]},"111":{"position":[[282,4],[394,4],[601,4]]},"128":{"position":[[621,4]]},"225":{"position":[[371,4]]},"229":{"position":[[382,4],[440,4],[9796,4],[10177,4]]},"265":{"position":[[285,4]]},"268":{"position":[[273,4]]},"271":{"position":[[401,4]]},"274":{"position":[[736,4]]},"279":{"position":[[377,4],[435,4]]},"301":{"position":[[896,4]]},"333":{"position":[[482,5]]},"358":{"position":[[4091,3],[4154,4]]},"383":{"position":[[513,5]]},"402":{"position":[[2856,4],[3865,4],[4193,5]]},"440":{"position":[[650,4]]},"544":{"position":[[1086,6]]},"581":{"position":[[354,4]]},"587":{"position":[[144,4]]},"588":{"position":[[138,4]]},"589":{"position":[[149,4]]},"591":{"position":[[354,4]]},"629":{"position":[[329,5]]},"633":{"position":[[505,5]]},"669":{"position":[[333,4]]},"670":{"position":[[254,4]]},"671":{"position":[[230,4]]},"673":{"position":[[1172,4]]},"700":{"position":[[319,4]]}},"keywords":{}}],["each",{"_index":78,"title":{},"content":{"2":{"position":[[763,4]]},"5":{"position":[[1,4]]},"17":{"position":[[203,4]]},"18":{"position":[[207,4]]},"20":{"position":[[841,4]]},"33":{"position":[[328,4]]},"36":{"position":[[4532,4],[8529,4]]},"39":{"position":[[120,4]]},"48":{"position":[[4458,4]]},"50":{"position":[[148,4]]},"51":{"position":[[419,4]]},"53":{"position":[[145,4]]},"55":{"position":[[1446,4]]},"56":{"position":[[327,4]]},"61":{"position":[[459,4],[505,4]]},"65":{"position":[[1143,4]]},"67":{"position":[[861,4],[1978,4],[2471,4],[2843,4],[3199,4],[3890,4],[4492,4],[4813,4]]},"71":{"position":[[67,4]]},"72":{"position":[[70,4]]},"83":{"position":[[1442,4]]},"104":{"position":[[790,4]]},"105":{"position":[[677,4]]},"110":{"position":[[973,4]]},"111":{"position":[[869,4]]},"114":{"position":[[386,4]]},"117":{"position":[[492,4]]},"174":{"position":[[223,4]]},"229":{"position":[[4532,4],[8529,4]]},"233":{"position":[[418,4],[467,4]]},"234":{"position":[[201,4],[250,4]]},"283":{"position":[[411,4],[460,4]]},"284":{"position":[[203,4],[252,4]]},"294":{"position":[[120,4]]},"342":{"position":[[968,4]]},"348":{"position":[[2126,4]]},"349":{"position":[[4756,4]]},"350":{"position":[[1448,4],[1563,4]]},"353":{"position":[[515,4]]},"358":{"position":[[1280,4],[6339,4]]},"367":{"position":[[1127,4]]},"368":{"position":[[273,4]]},"369":{"position":[[2141,4]]},"383":{"position":[[204,4]]},"402":{"position":[[4988,4],[5095,4],[5430,4],[5558,4],[5910,4]]},"420":{"position":[[252,4]]},"427":{"position":[[478,4]]},"440":{"position":[[76,4]]},"450":{"position":[[247,4]]},"472":{"position":[[675,4]]},"513":{"position":[[689,4]]},"524":{"position":[[237,4],[656,4]]},"534":{"position":[[850,4]]},"540":{"position":[[4319,4],[4935,4]]},"542":{"position":[[978,4]]},"547":{"position":[[549,4]]},"550":{"position":[[5,4]]},"552":{"position":[[61,4],[631,4]]},"561":{"position":[[128,4]]},"563":{"position":[[521,4]]},"565":{"position":[[225,4]]},"566":{"position":[[69,4]]},"608":{"position":[[83,4]]},"609":{"position":[[324,4]]},"610":{"position":[[324,4],[545,4]]},"611":{"position":[[257,4]]},"635":{"position":[[148,4]]},"703":{"position":[[141,4]]},"704":{"position":[[235,4]]},"711":{"position":[[308,4]]},"715":{"position":[[96,4]]},"717":{"position":[[393,4]]},"748":{"position":[[86,4]]},"756":{"position":[[88,4]]},"765":{"position":[[85,4]]}},"keywords":{}}],["ear",{"_index":3826,"title":{},"content":{"393":{"position":[[1131,4],[1256,3]]}},"keywords":{}}],["earlier",{"_index":4291,"title":{},"content":{"531":{"position":[[580,7]]},"569":{"position":[[1228,7]]}},"keywords":{}}],["eas",{"_index":2768,"title":{},"content":{"302":{"position":[[1662,4]]},"383":{"position":[[574,4]]}},"keywords":{}}],["easi",{"_index":125,"title":{},"content":{"3":{"position":[[622,5]]},"51":{"position":[[204,4]]},"67":{"position":[[31,4]]},"258":{"position":[[623,4]]},"261":{"position":[[236,4],[316,4]]},"342":{"position":[[666,4]]},"348":{"position":[[28,4]]},"363":{"position":[[52,4],[254,4]]},"369":{"position":[[3629,4]]},"387":{"position":[[1669,4]]},"402":{"position":[[649,4]]},"414":{"position":[[93,4]]},"449":{"position":[[70,4]]},"538":{"position":[[259,4]]},"550":{"position":[[96,4]]}},"keywords":{}}],["easier",{"_index":90,"title":{},"content":{"3":{"position":[[110,7]]},"36":{"position":[[9146,6]]},"229":{"position":[[9146,6]]},"279":{"position":[[7267,6]]},"309":{"position":[[1556,6]]},"358":{"position":[[2575,6]]},"379":{"position":[[3848,6]]}},"keywords":{}}],["easiest",{"_index":2386,"title":{},"content":{"225":{"position":[[448,7]]},"271":{"position":[[479,7]]},"543":{"position":[[135,7]]}},"keywords":{}}],["easili",{"_index":2749,"title":{},"content":{"301":{"position":[[1008,6]]},"309":{"position":[[1176,6]]},"342":{"position":[[1009,6]]},"383":{"position":[[426,6]]},"546":{"position":[[1303,7]]},"560":{"position":[[161,6]]},"571":{"position":[[270,6]]}},"keywords":{}}],["ec13a8d16a2f",{"_index":947,"title":{},"content":{"42":{"position":[[1393,12]]}},"keywords":{}}],["eccn",{"_index":3828,"title":{},"content":{"393":{"position":[[1264,4]]}},"keywords":{}}],["echo",{"_index":1659,"title":{},"content":{"83":{"position":[[3047,4],[3151,4]]},"309":{"position":[[2013,4],[2073,4]]}},"keywords":{}}],["econom",{"_index":4089,"title":{},"content":{"431":{"position":[[65,8]]}},"keywords":{}}],["edg",{"_index":4004,"title":{},"content":{"422":{"position":[[251,4]]}},"keywords":{}}],["edg/124.0.0.0",{"_index":1618,"title":{},"content":{"83":{"position":[[1227,14]]}},"keywords":{}}],["edict",{"_index":4105,"title":{},"content":{"432":{"position":[[1212,6]]}},"keywords":{}}],["edit",{"_index":852,"title":{"324":{"position":[[0,7]]},"484":{"position":[[0,7]]},"505":{"position":[[0,4]]}},"content":{"36":{"position":[[10699,8],[10795,9],[10920,5]]},"38":{"position":[[30,8]]},"83":{"position":[[1648,4]]},"127":{"position":[[259,8]]},"146":{"position":[[116,8]]},"187":{"position":[[100,8]]},"235":{"position":[[43,7]]},"252":{"position":[[40,7]]},"285":{"position":[[40,7]]},"296":{"position":[[42,7]]},"301":{"position":[[640,8],[704,6]]},"302":{"position":[[1176,6],[1294,6]]},"303":{"position":[[886,4]]},"309":{"position":[[2321,4],[3243,4],[3351,4],[3402,4]]},"310":{"position":[[408,4],[433,4]]},"323":{"position":[[565,5]]},"324":{"position":[[604,4],[632,4]]},"325":{"position":[[43,4]]},"333":{"position":[[205,4],[419,4]]},"349":{"position":[[47,7],[1575,7]]},"352":{"position":[[772,4],[866,4],[968,4]]},"356":{"position":[[519,7],[541,4]]},"358":{"position":[[873,4]]},"368":{"position":[[66,8],[250,7]]},"369":{"position":[[166,7],[245,7],[3959,7]]},"387":{"position":[[781,8],[797,9]]},"392":{"position":[[166,7]]},"393":{"position":[[436,8],[531,7],[612,7],[660,7],[797,7],[866,7]]},"404":{"position":[[929,4],[2458,4]]},"407":{"position":[[395,5]]},"440":{"position":[[157,7]]},"464":{"position":[[232,9]]},"467":{"position":[[525,4]]},"484":{"position":[[14,6],[84,6],[150,4],[173,4],[342,4]]},"494":{"position":[[142,4]]},"505":{"position":[[71,4],[348,5]]},"522":{"position":[[85,7],[567,7],[663,4],[685,7]]},"546":{"position":[[483,4]]},"658":{"position":[[867,4]]}},"keywords":{}}],["editor",{"_index":898,"title":{},"content":{"42":{"position":[[59,6]]},"138":{"position":[[296,6]]},"324":{"position":[[64,6]]},"349":{"position":[[110,6],[1374,6]]},"379":{"position":[[223,6]]},"494":{"position":[[32,7]]},"505":{"position":[[124,6]]},"526":{"position":[[26,6]]},"528":{"position":[[14,6]]},"530":{"position":[[156,6]]},"531":{"position":[[820,6]]},"546":{"position":[[148,7],[167,6]]}},"keywords":{}}],["educ",{"_index":3773,"title":{"390":{"position":[[15,9]]}},"content":{"390":{"position":[[89,9],[249,11],[346,11]]}},"keywords":{}}],["eea",{"_index":4085,"title":{"431":{"position":[[10,3]]}},"content":{},"keywords":{}}],["effect",{"_index":1057,"title":{},"content":{"44":{"position":[[1599,7]]},"127":{"position":[[210,11]]},"330":{"position":[[691,6]]},"358":{"position":[[1895,12]]},"390":{"position":[[20,6]]},"506":{"position":[[585,11]]},"524":{"position":[[886,11]]},"758":{"position":[[54,6]]},"759":{"position":[[63,6]]},"768":{"position":[[50,6]]},"769":{"position":[[60,6]]},"793":{"position":[[298,6]]}},"keywords":{}}],["effici",{"_index":1165,"title":{},"content":{"51":{"position":[[111,10]]},"263":{"position":[[302,11]]},"660":{"position":[[193,9]]}},"keywords":{}}],["effort",{"_index":3703,"title":{},"content":{"383":{"position":[[92,6]]}},"keywords":{}}],["eg",{"_index":426,"title":{},"content":{"20":{"position":[[543,4],[589,4],[652,4],[683,4]]}},"keywords":{}}],["ek",{"_index":3531,"title":{},"content":{"369":{"position":[[4206,4]]}},"keywords":{}}],["elaps",{"_index":5345,"title":{},"content":{"722":{"position":[[374,7],[429,7],[1496,7],[1511,7],[1703,7],[1720,7]]},"726":{"position":[[236,7],[271,7],[1030,7],[1103,7],[1207,7],[1280,7]]},"727":{"position":[[218,7],[253,7],[1081,7],[1168,7],[1286,7],[1373,7]]},"728":{"position":[[332,7],[367,7],[785,7]]},"729":{"position":[[168,7],[200,7],[791,7]]}},"keywords":{}}],["elasticsearch",{"_index":3322,"title":{},"content":{"362":{"position":[[292,13],[318,13],[622,13],[648,13],[943,13],[969,13],[1348,13]]},"363":{"position":[[17,13]]}},"keywords":{}}],["elasticsearch:1.12.0",{"_index":3351,"title":{},"content":{"363":{"position":[[508,20]]}},"keywords":{}}],["electron",{"_index":4109,"title":{},"content":{"433":{"position":[[192,10]]}},"keywords":{}}],["elegantli",{"_index":1206,"title":{},"content":{"54":{"position":[[534,9]]}},"keywords":{}}],["element",{"_index":3851,"title":{"399":{"position":[[10,8]]},"400":{"position":[[8,9]]},"401":{"position":[[12,9]]}},"content":{"399":{"position":[[15,8]]},"400":{"position":[[15,8]]},"401":{"position":[[5,8],[94,8],[345,7]]},"574":{"position":[[47,7]]}},"keywords":{}}],["elif",{"_index":1443,"title":{},"content":{"73":{"position":[[1220,4]]}},"keywords":{}}],["elimin",{"_index":839,"title":{},"content":{"36":{"position":[[9918,11]]},"229":{"position":[[9918,11]]},"369":{"position":[[3990,9]]}},"keywords":{}}],["ellips",{"_index":4709,"title":{},"content":{"619":{"position":[[751,7]]}},"keywords":{}}],["elsif",{"_index":1438,"title":{},"content":{"73":{"position":[[835,5]]}},"keywords":{}}],["email",{"_index":438,"title":{},"content":{"20":{"position":[[773,5]]},"301":{"position":[[771,7]]},"426":{"position":[[306,5],[522,5],[780,5],[892,6],[937,5],[996,5],[1203,5]]},"431":{"position":[[745,5],[861,7]]},"432":{"position":[[291,5]]},"435":{"position":[[345,6]]},"437":{"position":[[69,5]]}},"keywords":{}}],["email"",{"_index":1576,"title":{},"content":{"82":{"position":[[4636,12]]}},"keywords":{}}],["embed",{"_index":8,"title":{},"content":{"1":{"position":[[72,8]]},"2":{"position":[[260,8]]},"6":{"position":[[16,8]]},"100":{"position":[[47,8]]},"342":{"position":[[158,8]]},"343":{"position":[[351,8],[1017,8]]},"358":{"position":[[7407,9]]}},"keywords":{}}],["emi",{"_index":3156,"title":{},"content":{"349":{"position":[[1274,4]]}},"keywords":{}}],["employ",{"_index":1173,"title":{},"content":{"51":{"position":[[274,7]]},"429":{"position":[[522,8]]}},"keywords":{}}],["employe",{"_index":4072,"title":{},"content":{"429":{"position":[[340,8]]}},"keywords":{}}],["empow",{"_index":3742,"title":{},"content":{"387":{"position":[[1628,7]]}},"keywords":{}}],["empti",{"_index":1148,"title":{},"content":{"50":{"position":[[483,5],[551,5]]},"61":{"position":[[1715,5]]},"67":{"position":[[1928,5],[2397,5]]},"69":{"position":[[244,5]]},"73":{"position":[[1472,5]]},"402":{"position":[[5281,5]]},"479":{"position":[[8,5]]},"664":{"position":[[427,5]]},"665":{"position":[[393,5]]}},"keywords":{}}],["en",{"_index":1603,"title":{},"content":{"83":{"position":[[861,2],[2391,2]]}},"keywords":{}}],["enabl",{"_index":724,"title":{},"content":{"36":{"position":[[3520,6]]},"40":{"position":[[849,6],[1178,6]]},"42":{"position":[[2053,7]]},"44":{"position":[[116,6]]},"52":{"position":[[809,6],[836,6],[885,6],[912,6]]},"93":{"position":[[183,8]]},"97":{"position":[[44,6]]},"229":{"position":[[3520,6]]},"250":{"position":[[101,7]]},"265":{"position":[[55,7]]},"279":{"position":[[2586,6],[8775,7],[8894,8],[10277,7],[10332,7]]},"285":{"position":[[520,7]]},"296":{"position":[[594,7]]},"297":{"position":[[92,7],[189,7],[267,6],[488,7],[599,6],[676,6],[707,8]]},"305":{"position":[[1342,7]]},"309":{"position":[[2452,6]]},"359":{"position":[[2769,6]]},"363":{"position":[[102,8]]},"379":{"position":[[979,8],[1030,6]]},"380":{"position":[[1838,6]]},"404":{"position":[[1290,6]]},"421":{"position":[[671,7]]},"513":{"position":[[153,7],[189,7],[235,8],[303,7],[720,7]]},"533":{"position":[[851,6]]},"534":{"position":[[588,6]]},"536":{"position":[[10,6]]},"544":{"position":[[1449,6],[1729,6]]},"641":{"position":[[74,6]]},"642":{"position":[[169,6]]},"731":{"position":[[79,7],[510,7],[614,7]]},"732":{"position":[[1,7]]},"734":{"position":[[1,7]]},"741":{"position":[[1811,7],[1855,7]]}},"keywords":{}}],["enable_cmd_nam",{"_index":4406,"title":{},"content":{"544":{"position":[[1425,18],[1706,17]]}},"keywords":{}}],["enable_limit",{"_index":5382,"title":{"732":{"position":[[0,14]]}},"content":{},"keywords":{}}],["enable_limits("<target",{"_index":5383,"title":{},"content":{"732":{"position":[[85,30]]}},"keywords":{}}],["enable_limits("inst",{"_index":5384,"title":{},"content":{"732":{"position":[[374,24]]}},"keywords":{}}],["enable_limits_group",{"_index":5388,"title":{"734":{"position":[[0,20]]}},"content":{},"keywords":{}}],["enable_limits_group("<limit",{"_index":5389,"title":{},"content":{"734":{"position":[[108,36]]}},"keywords":{}}],["enable_limits_group("name"",{"_index":2684,"title":{},"content":{"297":{"position":[[291,37]]}},"keywords":{}}],["enable_limits_group("safe_mode"",{"_index":5391,"title":{},"content":{"734":{"position":[[259,42]]}},"keywords":{}}],["enable_tlm",{"_index":4402,"title":{},"content":{"544":{"position":[[1371,11],[1492,13],[1650,11],[1773,12]]}},"keywords":{}}],["enabled.read",{"_index":1977,"title":{},"content":{"115":{"position":[[1545,12]]}},"keywords":{}}],["enabled.write_interface_bas",{"_index":1976,"title":{},"content":{"115":{"position":[[1280,28]]}},"keywords":{}}],["encapsul",{"_index":4638,"title":{},"content":{"593":{"position":[[132,12]]},"594":{"position":[[23,12]]},"595":{"position":[[23,12]]},"596":{"position":[[23,12]]},"597":{"position":[[23,12]]}},"keywords":{}}],["enclos",{"_index":178,"title":{},"content":{"5":{"position":[[1014,8],[1270,8]]},"35":{"position":[[1198,8],[1729,8]]},"37":{"position":[[991,8],[1522,8]]},"226":{"position":[[484,8]]},"228":{"position":[[1227,8],[1758,8]]},"230":{"position":[[1010,8],[1541,8]]},"231":{"position":[[1371,8],[1902,8]]},"232":{"position":[[1207,8],[1738,8]]},"233":{"position":[[774,8]]},"234":{"position":[[557,8]]},"241":{"position":[[243,8]]},"243":{"position":[[325,8]]},"276":{"position":[[510,8]]},"278":{"position":[[842,8]]},"280":{"position":[[634,8]]},"281":{"position":[[936,8]]},"282":{"position":[[605,8]]},"283":{"position":[[767,8]]},"284":{"position":[[559,8]]},"292":{"position":[[171,8]]},"646":{"position":[[72,8]]}},"keywords":{}}],["encod",{"_index":1114,"title":{},"content":{"48":{"position":[[3722,7],[4637,8]]},"50":{"position":[[335,10]]},"51":{"position":[[75,8]]},"58":{"position":[[100,7],[137,8],[260,7],[307,7],[356,8]]},"59":{"position":[[149,6]]},"60":{"position":[[319,7]]},"82":{"position":[[6592,9]]},"109":{"position":[[981,7],[1075,7]]},"110":{"position":[[1315,7],[1409,7]]},"223":{"position":[[295,8]]},"243":{"position":[[240,8]]},"402":{"position":[[6178,7]]},"629":{"position":[[230,9]]}},"keywords":{}}],["encount",{"_index":2391,"title":{},"content":{"225":{"position":[[1140,10]]},"271":{"position":[[1156,10]]},"344":{"position":[[1225,12]]},"530":{"position":[[365,11]]},"535":{"position":[[145,12],[354,12],[436,12],[586,11],[728,12],[790,10]]},"576":{"position":[[63,11]]},"658":{"position":[[635,11]]}},"keywords":{}}],["encourag",{"_index":4111,"title":{},"content":{"434":{"position":[[324,9]]}},"keywords":{}}],["encrypt",{"_index":524,"title":{"24":{"position":[[6,8]]}},"content":{"27":{"position":[[1005,9]]},"28":{"position":[[215,9]]}},"keywords":{}}],["encrypted.key",{"_index":597,"title":{},"content":{"28":{"position":[[173,14]]}},"keywords":{}}],["end",{"_index":217,"title":{"578":{"position":[[0,4]]}},"content":{"6":{"position":[[448,3]]},"35":{"position":[[270,3],[488,3]]},"36":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"37":{"position":[[281,3]]},"50":{"position":[[747,3]]},"52":{"position":[[144,3],[157,3],[297,3],[519,3],[956,3],[991,3],[1054,3],[1083,3]]},"56":{"position":[[86,3],[659,3]]},"57":{"position":[[157,7],[630,3],[670,6],[714,3],[754,6]]},"61":{"position":[[1472,3]]},"65":{"position":[[537,3]]},"67":{"position":[[402,3]]},"69":{"position":[[390,3]]},"70":{"position":[[286,3]]},"71":{"position":[[165,3]]},"72":{"position":[[174,3]]},"73":{"position":[[831,3],[910,3],[914,3],[923,3]]},"74":{"position":[[851,3]]},"75":{"position":[[713,3]]},"76":{"position":[[704,3]]},"77":{"position":[[1014,3]]},"78":{"position":[[316,3]]},"92":{"position":[[436,4]]},"119":{"position":[[120,3]]},"200":{"position":[[169,3]]},"214":{"position":[[1483,3]]},"228":{"position":[[298,3],[517,3]]},"229":{"position":[[5658,3],[5720,3],[5724,3],[5728,3]]},"230":{"position":[[300,3]]},"231":{"position":[[521,3],[687,3]]},"232":{"position":[[523,3]]},"233":{"position":[[315,3],[688,3]]},"234":{"position":[[471,3]]},"251":{"position":[[1162,3],[1239,3],[1356,3],[1360,3]]},"253":{"position":[[2502,3]]},"274":{"position":[[669,4]]},"278":{"position":[[297,3],[515,3]]},"279":{"position":[[4138,3],[4201,3],[4205,3],[4209,3]]},"280":{"position":[[307,3]]},"281":{"position":[[467,3],[638,3]]},"282":{"position":[[307,3]]},"283":{"position":[[314,3],[681,3]]},"284":{"position":[[473,3]]},"402":{"position":[[5383,3]]},"446":{"position":[[190,3]]},"452":{"position":[[568,3]]},"453":{"position":[[32,3]]},"454":{"position":[[59,3]]},"481":{"position":[[116,3],[239,3]]},"498":{"position":[[867,3],[939,3],[1061,3]]},"499":{"position":[[897,3]]},"522":{"position":[[889,3],[902,3],[974,3],[985,3]]},"530":{"position":[[668,3]]},"533":{"position":[[458,3],[501,3],[544,3],[548,3]]},"534":{"position":[[205,3],[248,3],[297,3],[301,3]]},"535":{"position":[[566,3]]},"540":{"position":[[359,3],[2229,3],[2619,3]]},"544":{"position":[[717,3],[1596,3]]},"547":{"position":[[683,3]]},"550":{"position":[[418,3],[529,3]]},"551":{"position":[[837,3],[914,3],[970,3],[974,3],[1014,3]]},"552":{"position":[[2363,3],[2367,3]]},"557":{"position":[[469,5]]},"559":{"position":[[583,3],[713,3]]},"560":{"position":[[677,3],[756,3]]},"561":{"position":[[568,3],[572,3]]},"563":{"position":[[776,3]]},"564":{"position":[[491,3]]},"566":{"position":[[867,3]]},"572":{"position":[[564,3],[568,3],[648,3],[652,3]]},"578":{"position":[[172,3],[218,5]]},"589":{"position":[[413,3],[476,3]]},"591":{"position":[[985,3]]},"594":{"position":[[418,3]]},"595":{"position":[[397,3]]},"596":{"position":[[268,3]]},"597":{"position":[[360,3]]},"598":{"position":[[410,3]]},"599":{"position":[[539,3],[543,3]]},"601":{"position":[[226,3],[300,3],[304,3]]},"607":{"position":[[265,3]]},"618":{"position":[[330,4],[470,4]]},"625":{"position":[[299,4],[439,4]]},"631":{"position":[[309,4],[449,4]]},"642":{"position":[[432,3]]},"647":{"position":[[456,3]]},"648":{"position":[[721,3]]},"649":{"position":[[600,3]]},"650":{"position":[[1156,3]]},"651":{"position":[[205,3],[238,3],[273,3],[306,3],[533,3]]},"652":{"position":[[413,3],[446,3],[481,3],[514,3],[1064,3]]},"653":{"position":[[257,3]]},"654":{"position":[[382,3],[479,3],[653,3],[850,3],[1157,3],[1191,3]]},"659":{"position":[[1229,3]]},"668":{"position":[[891,3]]},"673":{"position":[[1702,3]]},"717":{"position":[[662,3],[908,3]]},"748":{"position":[[338,3]]},"756":{"position":[[828,3]]},"765":{"position":[[814,3]]},"786":{"position":[[597,3],[601,3],[869,3],[873,3]]},"787":{"position":[[1059,3],[1063,3],[1342,3],[1346,3]]},"793":{"position":[[611,3],[615,3]]},"795":{"position":[[1175,3],[1179,3],[1259,3],[1305,3],[1350,3],[1354,3],[1547,3],[1551,3]]}},"keywords":{}}],["end_char",{"_index":1192,"title":{},"content":{"52":{"position":[[776,8]]}},"keywords":{}}],["end_tim",{"_index":3886,"title":{},"content":{"402":{"position":[[2755,9],[3762,9],[4256,8],[4544,8],[4614,8],[4751,8]]}},"keywords":{}}],["endian",{"_index":172,"title":{"321":{"position":[[7,6]]}},"content":{"5":{"position":[[814,10],[884,6],[901,6],[1116,10]]},"33":{"position":[[137,10],[194,6],[211,6]]},"35":{"position":[[1225,10],[1295,6],[1312,6],[1347,6],[1756,10],[1826,6],[1843,6]]},"37":{"position":[[1018,10],[1088,6],[1105,6],[1140,6],[1549,10],[1619,6],[1636,6]]},"48":{"position":[[105,6]]},"55":{"position":[[1611,10],[1626,10]]},"65":{"position":[[617,10],[628,10]]},"213":{"position":[[339,7]]},"226":{"position":[[284,10],[354,6],[371,6]]},"228":{"position":[[1254,10],[1324,6],[1341,6],[1376,6],[1785,10],[1855,6],[1872,6]]},"230":{"position":[[1037,10],[1107,6],[1124,6],[1159,6],[1568,10],[1638,6],[1655,6]]},"231":{"position":[[1398,10],[1468,6],[1485,6],[1520,6],[1929,10],[1999,6],[2016,6]]},"232":{"position":[[1234,10],[1304,6],[1321,6],[1356,6],[1765,10],[1835,6],[1852,6]]},"233":{"position":[[801,10],[855,6],[872,6]]},"234":{"position":[[584,10],[638,6],[655,6]]},"276":{"position":[[313,10],[371,6],[388,6]]},"278":{"position":[[869,10],[930,6],[947,6],[982,6]]},"280":{"position":[[661,10],[722,6],[739,6],[774,6]]},"281":{"position":[[963,10],[1024,6],[1041,6],[1076,6]]},"282":{"position":[[632,10],[693,6],[710,6],[745,6]]},"283":{"position":[[794,10],[848,6],[865,6]]},"284":{"position":[[586,10],[640,6],[657,6]]},"321":{"position":[[7,6],[40,6],[154,6]]},"687":{"position":[[879,13]]},"689":{"position":[[921,13]]},"690":{"position":[[1396,13]]}},"keywords":{}}],["endpoint",{"_index":1707,"title":{},"content":{"87":{"position":[[211,9]]},"222":{"position":[[58,8]]},"258":{"position":[[1047,9],[1140,9],[1518,9]]}},"keywords":{}}],["enforc",{"_index":3820,"title":{"436":{"position":[[4,11]]}},"content":{"393":{"position":[[628,9],[679,8]]},"430":{"position":[[545,7]]}},"keywords":{}}],["engin",{"_index":3004,"title":{},"content":{"330":{"position":[[106,6]]},"387":{"position":[[1501,10]]}},"keywords":{}}],["enhanc",{"_index":1122,"title":{},"content":{"48":{"position":[[4590,8]]},"603":{"position":[[34,7]]}},"keywords":{}}],["enough",{"_index":1215,"title":{},"content":{"55":{"position":[[125,6]]},"387":{"position":[[1674,6]]},"568":{"position":[[255,6]]}},"keywords":{}}],["enquir",{"_index":3303,"title":{},"content":{"359":{"position":[[2911,7]]}},"keywords":{}}],["ensur",{"_index":570,"title":{},"content":{"27":{"position":[[15,6]]},"71":{"position":[[321,6]]},"72":{"position":[[336,6]]},"152":{"position":[[48,6]]},"159":{"position":[[57,6]]},"323":{"position":[[539,7]]},"333":{"position":[[578,6]]},"343":{"position":[[1361,7]]},"350":{"position":[[449,6]]},"383":{"position":[[1652,6]]},"420":{"position":[[83,6]]},"424":{"position":[[1062,6],[1781,7]]},"428":{"position":[[78,6]]},"429":{"position":[[71,8]]},"455":{"position":[[911,6]]},"538":{"position":[[215,6]]},"544":{"position":[[606,7]]},"559":{"position":[[356,6]]},"568":{"position":[[736,6]]},"715":{"position":[[84,6]]}},"keywords":{}}],["enter",{"_index":749,"title":{},"content":{"36":{"position":[[4375,7],[6223,7],[6854,7],[7918,7]]},"126":{"position":[[127,5]]},"229":{"position":[[4375,7],[6223,7],[6854,7],[7918,7]]},"348":{"position":[[1065,7],[1125,5],[1418,5],[1574,5],[1745,5]]},"404":{"position":[[2102,5]]},"461":{"position":[[500,5]]},"464":{"position":[[305,6]]},"467":{"position":[[588,5],[683,7],[724,5]]},"472":{"position":[[1331,5]]},"478":{"position":[[562,5]]},"502":{"position":[[499,5]]},"517":{"position":[[297,8]]},"521":{"position":[[518,5]]},"554":{"position":[[375,7],[420,5]]},"559":{"position":[[558,8],[859,8],[1406,5]]},"560":{"position":[[631,5],[828,5]]},"643":{"position":[[47,5]]},"663":{"position":[[33,5]]},"664":{"position":[[151,6]]},"665":{"position":[[112,6]]}},"keywords":{}}],["enterpris",{"_index":1139,"title":{"57":{"position":[[14,13]]},"58":{"position":[[20,13]]},"59":{"position":[[20,13]]},"60":{"position":[[20,13]]},"82":{"position":[[32,11]]},"112":{"position":[[15,13]]},"113":{"position":[[20,13]]},"114":{"position":[[15,13]]},"221":{"position":[[11,13]]},"222":{"position":[[11,13]]},"223":{"position":[[16,13]]},"417":{"position":[[10,12]]},"444":{"position":[[16,12]]},"448":{"position":[[9,12]]}},"content":{"50":{"position":[[250,10]]},"57":{"position":[[1394,10]]},"58":{"position":[[463,10]]},"59":{"position":[[546,10]]},"60":{"position":[[933,10]]},"64":{"position":[[1330,10]]},"82":{"position":[[15,10]]},"95":{"position":[[141,12],[193,11]]},"96":{"position":[[186,12],[228,12]]},"103":{"position":[[295,10]]},"112":{"position":[[1052,10]]},"113":{"position":[[648,10]]},"114":{"position":[[593,10]]},"127":{"position":[[248,10]]},"146":{"position":[[105,10]]},"187":{"position":[[89,10]]},"219":{"position":[[190,10]]},"221":{"position":[[428,10]]},"222":{"position":[[267,10]]},"223":{"position":[[409,10]]},"258":{"position":[[1552,10],[1621,10],[1713,10],[1791,10]]},"261":{"position":[[280,10],[385,10]]},"267":{"position":[[479,10]]},"268":{"position":[[171,10]]},"301":{"position":[[629,10]]},"331":{"position":[[163,10]]},"368":{"position":[[239,10]]},"369":{"position":[[155,10],[234,10],[1135,10],[1208,10],[1291,10],[1365,10],[1441,10],[1531,10],[1604,10],[1685,10],[1756,10],[1827,10],[2626,10],[2697,10],[2782,10],[2856,10],[2931,10],[3021,10],[3094,10],[3176,10],[3247,10],[3318,10],[3948,10]]},"387":{"position":[[770,10]]},"391":{"position":[[665,10]]},"392":{"position":[[120,10],[155,10],[305,10],[397,10]]},"393":{"position":[[425,10],[520,10],[601,10],[649,10],[786,10],[855,10]]},"441":{"position":[[131,10]]},"443":{"position":[[72,10]]},"513":{"position":[[110,11]]}},"keywords":{}}],["entir",{"_index":39,"title":{},"content":{"2":{"position":[[191,6]]},"62":{"position":[[154,6]]},"176":{"position":[[73,6]]},"190":{"position":[[73,6]]},"201":{"position":[[73,6]]},"205":{"position":[[73,6]]},"294":{"position":[[199,6]]},"326":{"position":[[47,6],[397,6]]},"343":{"position":[[282,6]]},"353":{"position":[[296,6],[329,6],[385,6]]},"402":{"position":[[2319,6]]},"407":{"position":[[179,6]]},"440":{"position":[[678,6]]},"470":{"position":[[242,6]]},"472":{"position":[[341,6]]},"473":{"position":[[747,6]]},"476":{"position":[[108,6]]},"523":{"position":[[385,6]]},"526":{"position":[[340,6]]},"535":{"position":[[706,6],[814,6],[1340,6]]},"546":{"position":[[1246,6]]},"552":{"position":[[2712,6]]},"566":{"position":[[317,6]]},"786":{"position":[[416,6]]},"787":{"position":[[472,6]]}},"keywords":{}}],["entitl",{"_index":4064,"title":{},"content":{"428":{"position":[[9,8]]}},"keywords":{}}],["entri",{"_index":1065,"title":{"48":{"position":[[0,5]]}},"content":{"48":{"position":[[35,5],[83,5],[133,5],[194,8],[282,5],[333,5],[363,5],[397,5],[1122,5],[1163,5],[1179,5],[1381,6],[1573,6],[2069,8],[2914,7],[2983,8],[3340,7],[3409,8],[3833,8],[3900,8],[3925,5],[3991,6],[4013,6],[4109,5],[4329,6],[4349,5]]},"307":{"position":[[841,5]]},"358":{"position":[[7725,5]]},"402":{"position":[[5131,9]]},"452":{"position":[[516,7]]},"664":{"position":[[569,5]]},"665":{"position":[[535,5]]},"703":{"position":[[146,5]]}},"keywords":{}}],["entrypoint",{"_index":496,"title":{},"content":{"22":{"position":[[331,12],[402,11]]},"376":{"position":[[680,10]]}},"keywords":{}}],["entrypoint.s…"",{"_index":1001,"title":{},"content":{"42":{"position":[[2985,19]]}},"keywords":{}}],["ent…"",{"_index":996,"title":{},"content":{"42":{"position":[[2884,10]]}},"keywords":{}}],["enumer",{"_index":3839,"title":{},"content":{"398":{"position":[[17,11]]}},"keywords":{}}],["env",{"_index":966,"title":{"142":{"position":[[0,4]]},"180":{"position":[[0,4]]}},"content":{"42":{"position":[[1831,4]]},"44":{"position":[[1005,4],[1090,8]]},"109":{"position":[[1602,3],[1793,3]]},"110":{"position":[[1984,3],[2175,3]]},"141":{"position":[[218,3],[231,3],[898,3]]},"142":{"position":[[188,3]]},"180":{"position":[[208,3]]},"188":{"position":[[178,3],[191,3],[608,3]]},"255":{"position":[[328,4]]},"260":{"position":[[119,4]]},"325":{"position":[[52,4]]},"333":{"position":[[428,4]]},"376":{"position":[[87,3],[136,3],[188,3]]},"382":{"position":[[353,4]]},"637":{"position":[[1953,3],[2226,3]]}},"keywords":{}}],["env)"",{"_index":4781,"title":{},"content":{"637":{"position":[[2349,10]]}},"keywords":{}}],["env['tbl_filenam",{"_index":4210,"title":{},"content":{"498":{"position":[[71,19]]},"499":{"position":[[73,19]]}},"keywords":{}}],["env['typ",{"_index":4777,"title":{},"content":{"637":{"position":[[2204,11],[2236,11]]}},"keywords":{}}],["env_usernam",{"_index":2065,"title":{},"content":{"141":{"position":[[911,12]]},"188":{"position":[[621,12]]}},"keywords":{}}],["environ",{"_index":957,"title":{"260":{"position":[[0,11]]}},"content":{"42":{"position":[[1652,11],[1760,11]]},"44":{"position":[[976,11]]},"123":{"position":[[79,12]]},"127":{"position":[[78,11]]},"136":{"position":[[185,11]]},"141":{"position":[[265,11],[450,11],[484,11]]},"142":{"position":[[24,11],[102,11],[139,11]]},"180":{"position":[[9,11],[86,11],[123,11]]},"188":{"position":[[225,11],[410,11],[444,11]]},"258":{"position":[[173,11],[253,11],[381,11],[591,12],[670,13]]},"259":{"position":[[377,11]]},"260":{"position":[[16,11],[67,11]]},"261":{"position":[[363,13],[477,13]]},"268":{"position":[[202,11]]},"279":{"position":[[8287,13],[8375,11]]},"313":{"position":[[140,11],[199,11]]},"331":{"position":[[246,11],[676,12]]},"332":{"position":[[309,11],[1185,11],[1321,11],[1363,11]]},"358":{"position":[[1370,11]]},"385":{"position":[[256,11]]},"412":{"position":[[168,11]]},"529":{"position":[[44,11]]},"546":{"position":[[123,11],[276,11],[622,11],[1407,11]]},"556":{"position":[[81,11],[497,13]]},"637":{"position":[[1477,11],[2155,11]]},"658":{"position":[[66,11]]}},"keywords":{}}],["environment",{"_index":4135,"title":{},"content":{"452":{"position":[[188,13]]}},"keywords":{}}],["environment'",{"_index":3041,"title":{},"content":{"331":{"position":[[728,13]]}},"keywords":{}}],["ephemer",{"_index":2518,"title":{},"content":{"258":{"position":[[1231,9]]},"267":{"position":[[294,9],[311,9]]},"369":{"position":[[1636,9],[1956,9],[3126,9],[3446,9]]}},"keywords":{}}],["epoch",{"_index":1108,"title":{},"content":{"48":{"position":[[2814,5],[3248,5]]},"275":{"position":[[1195,6]]},"299":{"position":[[756,5],[1185,5],[1450,5]]},"402":{"position":[[4341,5]]},"802":{"position":[[191,5]]}},"keywords":{}}],["equal",{"_index":1222,"title":{},"content":{"55":{"position":[[1096,5]]},"279":{"position":[[8970,5],[9088,5],[9250,5],[9408,5],[9747,5],[10131,5]]},"455":{"position":[[1065,5]]},"554":{"position":[[648,7]]},"723":{"position":[[95,6]]},"727":{"position":[[89,6]]}},"keywords":{}}],["equat",{"_index":3998,"title":{},"content":{"421":{"position":[[111,8]]}},"keywords":{}}],["equip",{"_index":12,"title":{},"content":{"1":{"position":[[130,9]]},"57":{"position":[[41,9]]},"119":{"position":[[158,9]]},"343":{"position":[[937,9]]}},"keywords":{}}],["equival",{"_index":4300,"title":{},"content":{"533":{"position":[[554,10]]},"701":{"position":[[880,10],[1308,10]]}},"keywords":{}}],["eras",{"_index":3937,"title":{},"content":{"404":{"position":[[600,5]]},"424":{"position":[[1173,6]]},"431":{"position":[[131,5]]}},"keywords":{}}],["erb",{"_index":190,"title":{"6":{"position":[[0,4]]}},"content":{"6":{"position":[[1,3],[31,3],[169,4],[1107,3]]},"7":{"position":[[38,3]]},"11":{"position":[[254,3]]},"39":{"position":[[176,3]]},"126":{"position":[[550,3],[649,3]]},"176":{"position":[[25,3],[50,3],[227,3]]},"190":{"position":[[25,3],[50,3],[233,3]]},"201":{"position":[[25,3],[50,3],[225,3]]},"205":{"position":[[25,3],[50,3],[227,3]]},"358":{"position":[[7403,3]]}},"keywords":{}}],["error",{"_index":183,"title":{"29":{"position":[[27,7]]}},"content":{"5":{"position":[[1217,5]]},"24":{"position":[[660,5]]},"36":{"position":[[3018,6],[9726,5],[10385,6]]},"57":{"position":[[1215,6]]},"59":{"position":[[197,5],[236,5]]},"61":{"position":[[2756,6]]},"64":{"position":[[368,6]]},"65":{"position":[[338,6],[366,5],[387,6]]},"91":{"position":[[251,7],[449,7]]},"115":{"position":[[2337,6]]},"217":{"position":[[682,5]]},"229":{"position":[[3018,6],[9726,5],[10385,6]]},"238":{"position":[[155,5]]},"246":{"position":[[57,5],[157,5],[221,5]]},"279":{"position":[[2227,6],[2661,5],[2699,5]]},"324":{"position":[[287,6]]},"333":{"position":[[532,5],[643,6],[760,5]]},"344":{"position":[[1218,6]]},"349":{"position":[[2610,6],[3142,6],[5826,5],[5880,5],[5991,6],[6047,5],[6148,6],[6195,5],[6435,6],[6487,5]]},"379":{"position":[[3367,5]]},"380":{"position":[[1599,6]]},"455":{"position":[[1602,5],[1687,5]]},"530":{"position":[[356,5],[651,5]]},"535":{"position":[[104,6],[136,5],[283,6],[370,6],[393,6],[427,5],[598,5],[688,6],[744,6],[804,5],[872,5],[1423,6],[1473,6],[1502,5]]},"556":{"position":[[739,6],[772,6]]},"557":{"position":[[282,6]]},"565":{"position":[[141,5],[671,6],[949,6]]},"569":{"position":[[1016,6]]},"658":{"position":[[547,6],[626,5],[699,7],[1270,6]]},"690":{"position":[[1454,8]]},"697":{"position":[[146,6]]},"698":{"position":[[144,6]]},"699":{"position":[[97,6]]},"793":{"position":[[326,6],[421,5]]}},"keywords":{}}],["error_allow_hex",{"_index":844,"title":{},"content":{"36":{"position":[[10103,17],[10392,16]]},"229":{"position":[[10103,17],[10392,16]]}},"keywords":{}}],["error_respons",{"_index":2426,"title":{"246":{"position":[[0,15]]}},"content":{},"keywords":{}}],["errors.push",{"_index":3723,"title":{},"content":{"386":{"position":[[429,11]]}},"keywords":{}}],["esc",{"_index":1181,"title":{},"content":{"52":{"position":[[152,4],[173,3],[335,3],[399,3],[438,3],[1013,3],[1112,3],[1141,3]]}},"keywords":{}}],["escap",{"_index":1193,"title":{},"content":{"52":{"position":[[816,8],[853,8],[892,8],[929,8],[1022,6],[1047,6],[1076,6],[1105,6],[1134,6]]},"221":{"position":[[57,6]]}},"keywords":{}}],["eslint",{"_index":905,"title":{},"content":{"42":{"position":[[182,7]]}},"keywords":{}}],["especi",{"_index":921,"title":{},"content":{"42":{"position":[[796,10]]},"55":{"position":[[2631,10]]},"354":{"position":[[117,10]]},"422":{"position":[[1171,10]]},"793":{"position":[[98,10]]}},"keywords":{}}],["essenti",{"_index":851,"title":{},"content":{"36":{"position":[[10676,9]]},"67":{"position":[[3258,11]]},"376":{"position":[[318,9]]},"387":{"position":[[619,9]]}},"keywords":{}}],["establish",{"_index":1965,"title":{},"content":{"115":{"position":[[111,9]]},"265":{"position":[[129,11]]},"447":{"position":[[338,11]]}},"keywords":{}}],["etag",{"_index":1503,"title":{},"content":{"81":{"position":[[669,5]]},"82":{"position":[[6410,5]]}},"keywords":{}}],["etc",{"_index":20,"title":{},"content":{"1":{"position":[[208,5],[273,5]]},"43":{"position":[[215,4]]},"48":{"position":[[1983,4],[2645,4],[5144,4]]},"55":{"position":[[1219,5]]},"67":{"position":[[1192,4],[1466,4]]},"96":{"position":[[114,4],[409,4]]},"100":{"position":[[372,6]]},"213":{"position":[[248,4]]},"301":{"position":[[789,4]]},"349":{"position":[[1106,4]]},"356":{"position":[[481,3]]},"389":{"position":[[396,5]]},"452":{"position":[[229,4]]},"455":{"position":[[840,6]]},"544":{"position":[[713,3],[794,3],[1194,4]]},"546":{"position":[[1389,4]]},"563":{"position":[[132,3]]},"587":{"position":[[165,4]]},"588":{"position":[[159,4]]},"589":{"position":[[170,4]]},"590":{"position":[[112,3]]},"629":{"position":[[345,4]]},"700":{"position":[[331,4]]},"750":{"position":[[104,5]]},"764":{"position":[[97,5]]}},"keywords":{}}],["etc/cert",{"_index":481,"title":{},"content":{"21":{"position":[[223,11]]}},"keywords":{}}],["etc/contain",{"_index":2877,"title":{},"content":{"309":{"position":[[2258,17]]}},"keywords":{}}],["etc/containers/containers.conf",{"_index":2879,"title":{},"content":{"309":{"position":[[2284,31]]}},"keywords":{}}],["etc/containers/registries.conf",{"_index":2892,"title":{},"content":{"309":{"position":[[3051,31],[3135,31]]}},"keywords":{}}],["etc/containers/storage.conf",{"_index":2849,"title":{},"content":{"309":{"position":[[1223,28]]}},"keywords":{}}],["etc/grafana/provisioning/datasourc",{"_index":3386,"title":{},"content":{"365":{"position":[[457,38]]}},"keywords":{}}],["etc/host",{"_index":3285,"title":{},"content":{"358":{"position":[[7714,10]]}},"keywords":{}}],["etc/prometheu",{"_index":3378,"title":{},"content":{"364":{"position":[[1239,16]]}},"keywords":{}}],["etc/traefik/traefik.yaml",{"_index":478,"title":{},"content":{"21":{"position":[[169,25]]}},"keywords":{}}],["ethernet",{"_index":1997,"title":{},"content":{"120":{"position":[[89,8]]}},"keywords":{}}],["eu",{"_index":4084,"title":{"431":{"position":[[3,2]]}},"content":{},"keywords":{}}],["european",{"_index":4087,"title":{},"content":{"431":{"position":[[38,8],[56,8]]}},"keywords":{}}],["evalu",{"_index":3772,"title":{"390":{"position":[[0,10]]}},"content":{"390":{"position":[[74,10],[234,10],[331,10]]},"419":{"position":[[135,8]]},"420":{"position":[[139,9]]},"421":{"position":[[42,9],[123,9]]},"422":{"position":[[35,9]]},"455":{"position":[[317,8]]},"555":{"position":[[193,8]]},"565":{"position":[[351,9],[545,9]]},"637":{"position":[[696,9]]},"699":{"position":[[1,9],[44,9],[375,9],[590,9],[841,9],[1028,9]]},"722":{"position":[[1225,9]]},"723":{"position":[[992,9]]},"724":{"position":[[42,9],[608,9],[778,9]]},"725":{"position":[[659,9]]},"726":{"position":[[837,9]]},"727":{"position":[[888,9]]},"728":{"position":[[42,9],[536,9],[703,9]]},"729":{"position":[[631,9]]}},"keywords":{}}],["evaluation_interv",{"_index":3360,"title":{},"content":{"364":{"position":[[411,20]]}},"keywords":{}}],["even",{"_index":1218,"title":{},"content":{"55":{"position":[[379,4]]},"111":{"position":[[548,7],[1453,4]]},"314":{"position":[[605,4]]},"358":{"position":[[5767,5]]},"387":{"position":[[762,4]]},"540":{"position":[[4777,4]]},"673":{"position":[[1614,5],[2010,5]]},"712":{"position":[[114,4]]}},"keywords":{}}],["event",{"_index":2787,"title":{"451":{"position":[[9,7]]}},"content":{"303":{"position":[[1053,6]]},"363":{"position":[[64,5]]},"390":{"position":[[909,5]]},"421":{"position":[[742,6]]},"432":{"position":[[751,5]]},"453":{"position":[[89,5]]},"454":{"position":[[466,6],[600,7]]},"455":{"position":[[1271,5]]},"470":{"position":[[333,6]]},"474":{"position":[[34,7],[42,6]]},"517":{"position":[[140,6],[188,6],[221,6]]},"744":{"position":[[16,6],[335,6],[393,6],[1349,5],[1362,6]]}},"keywords":{}}],["eventu",{"_index":1390,"title":{},"content":{"67":{"position":[[2907,10]]},"330":{"position":[[1055,10]]},"662":{"position":[[109,11]]}},"keywords":{}}],["everyon",{"_index":3743,"title":{},"content":{"387":{"position":[[1695,9]]},"389":{"position":[[1986,9]]}},"keywords":{}}],["everyth",{"_index":493,"title":{},"content":{"22":{"position":[[284,10]]},"258":{"position":[[444,10]]},"309":{"position":[[3898,10]]},"326":{"position":[[1160,10]]},"386":{"position":[[314,10]]},"387":{"position":[[449,10],[827,10],[1266,11]]},"404":{"position":[[1513,10]]},"421":{"position":[[761,10]]},"492":{"position":[[97,10]]},"531":{"position":[[403,10]]},"699":{"position":[[321,10]]}},"keywords":{}}],["evolv",{"_index":3730,"title":{},"content":{"387":{"position":[[330,7]]}},"keywords":{}}],["exact",{"_index":377,"title":{},"content":{"17":{"position":[[156,5]]},"18":{"position":[[160,5]]},"55":{"position":[[1106,5]]},"93":{"position":[[224,5]]},"178":{"position":[[239,5]]},"192":{"position":[[312,5]]},"272":{"position":[[361,5]]},"323":{"position":[[637,5]]},"544":{"position":[[289,5]]},"557":{"position":[[303,5]]},"565":{"position":[[284,5]]}},"keywords":{}}],["exactli",{"_index":2,"title":{"1":{"position":[[19,9]]}},"content":{"138":{"position":[[46,7]]},"321":{"position":[[580,7]]},"637":{"position":[[865,7]]},"659":{"position":[[177,7]]}},"keywords":{}}],["exampl",{"_index":144,"title":{"40":{"position":[[0,7]]},"79":{"position":[[0,9]]},"81":{"position":[[5,7]]},"82":{"position":[[5,7]]},"83":{"position":[[13,8]]},"90":{"position":[[0,7]]},"253":{"position":[[0,7]]},"299":{"position":[[0,7]]},"316":{"position":[[0,7]]},"542":{"position":[[21,8]]},"654":{"position":[[0,7]]}},"content":{"5":{"position":[[96,8],[492,8],[1409,7],[1450,7]]},"7":{"position":[[128,8],[629,8],[1256,8]]},"8":{"position":[[142,8]]},"9":{"position":[[156,8],[505,8]]},"11":{"position":[[361,7]]},"12":{"position":[[571,7]]},"13":{"position":[[138,8],[479,7]]},"14":{"position":[[134,8],[370,7]]},"15":{"position":[[504,7]]},"16":{"position":[[506,7]]},"36":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6647,7],[7443,7],[9192,8],[9381,8],[10434,7]]},"40":{"position":[[1,7]]},"42":{"position":[[1842,7]]},"43":{"position":[[1152,9]]},"54":{"position":[[367,8]]},"55":{"position":[[225,8],[1229,8],[2740,8]]},"56":{"position":[[224,8]]},"57":{"position":[[377,8],[1327,8]]},"58":{"position":[[395,8]]},"59":{"position":[[478,8]]},"60":{"position":[[865,8]]},"61":{"position":[[1231,7]]},"64":{"position":[[1260,8]]},"79":{"position":[[66,8]]},"83":{"position":[[420,7],[665,7]]},"88":{"position":[[430,7]]},"91":{"position":[[1653,7]]},"92":{"position":[[1105,7]]},"104":{"position":[[838,9],[1695,9]]},"105":{"position":[[805,8],[917,9],[1659,9]]},"106":{"position":[[881,8],[1006,8]]},"107":{"position":[[192,7],[799,9],[896,9]]},"108":{"position":[[185,7],[412,8],[524,9],[630,9]]},"109":{"position":[[768,8],[1302,8],[1393,7],[1413,7],[2654,8]]},"110":{"position":[[1102,8],[1636,8],[1751,7],[1771,7],[2385,8]]},"111":{"position":[[997,8],[1158,9]]},"112":{"position":[[353,8],[887,9],[983,8]]},"113":{"position":[[404,8],[492,9],[579,8]]},"114":{"position":[[200,9],[528,8]]},"115":{"position":[[2388,8],[2530,8]]},"130":{"position":[[127,8],[253,8]]},"131":{"position":[[169,8],[347,8]]},"132":{"position":[[172,8],[353,8]]},"138":{"position":[[842,7],[868,7]]},"139":{"position":[[706,8],[975,8]]},"140":{"position":[[651,7]]},"141":{"position":[[875,7]]},"142":{"position":[[172,7]]},"143":{"position":[[447,7]]},"144":{"position":[[250,7]]},"145":{"position":[[218,8],[297,8]]},"147":{"position":[[227,7]]},"148":{"position":[[227,7]]},"150":{"position":[[248,7]]},"177":{"position":[[227,7]]},"178":{"position":[[438,7],[467,7],[482,7]]},"180":{"position":[[156,7],[185,7],[200,7]]},"181":{"position":[[431,7],[460,7],[475,7]]},"182":{"position":[[251,7],[280,7],[295,7]]},"183":{"position":[[382,7],[411,7],[426,7]]},"184":{"position":[[329,7],[358,7],[373,7],[393,7]]},"185":{"position":[[202,8],[225,7],[240,7],[284,8],[307,7],[322,7]]},"188":{"position":[[585,7]]},"189":{"position":[[227,7]]},"191":{"position":[[227,7]]},"192":{"position":[[468,7]]},"203":{"position":[[224,8],[485,7]]},"214":{"position":[[1158,7]]},"216":{"position":[[101,7]]},"217":{"position":[[339,7],[829,7],[952,7],[1307,7]]},"218":{"position":[[210,7]]},"219":{"position":[[132,7]]},"220":{"position":[[122,7]]},"221":{"position":[[361,8]]},"222":{"position":[[196,8]]},"223":{"position":[[344,8]]},"225":{"position":[[524,8]]},"226":{"position":[[512,7]]},"228":{"position":[[1933,7]]},"229":{"position":[[180,8],[234,7],[453,7],[744,7],[978,7],[1513,7],[2805,8],[3487,7],[5211,8],[5406,8],[5741,8],[6647,7],[7443,7],[9192,8],[9381,8],[10434,7]]},"230":{"position":[[1716,7]]},"231":{"position":[[2077,7]]},"232":{"position":[[1913,7]]},"233":{"position":[[933,7]]},"234":{"position":[[716,7]]},"235":{"position":[[377,7]]},"236":{"position":[[461,7]]},"240":{"position":[[133,7],[367,7]]},"251":{"position":[[390,8],[551,8],[1373,8]]},"252":{"position":[[428,7]]},"253":{"position":[[1,7]]},"268":{"position":[[459,8]]},"271":{"position":[[555,8]]},"275":{"position":[[1009,8],[1270,8],[1423,8]]},"276":{"position":[[538,7]]},"278":{"position":[[1047,7]]},"279":{"position":[[175,8],[229,7],[448,7],[739,7],[973,7],[1508,7],[2017,8],[2558,7],[3692,8],[3887,8],[4222,8],[5186,7],[6044,7],[7496,8],[7663,8],[8305,8],[10244,7],[10770,8],[10835,8]]},"280":{"position":[[839,7]]},"281":{"position":[[1141,7]]},"282":{"position":[[810,7]]},"283":{"position":[[926,7]]},"284":{"position":[[718,7]]},"285":{"position":[[367,7]]},"286":{"position":[[424,7]]},"287":{"position":[[142,7],[376,7]]},"288":{"position":[[419,8],[487,8]]},"296":{"position":[[441,7]]},"297":{"position":[[254,9],[536,8]]},"298":{"position":[[372,7]]},"299":{"position":[[1,7]]},"301":{"position":[[168,8]]},"302":{"position":[[152,8],[1129,7],[1245,7],[1406,8],[1515,7],[2030,7],[2305,7]]},"303":{"position":[[164,8]]},"304":{"position":[[185,8],[716,7],[894,8]]},"305":{"position":[[200,8],[763,7]]},"306":{"position":[[242,8]]},"314":{"position":[[1743,7],[2007,7],[2202,9]]},"315":{"position":[[47,7]]},"320":{"position":[[1834,7]]},"321":{"position":[[1010,8]]},"332":{"position":[[1087,7]]},"333":{"position":[[256,8],[974,7]]},"338":{"position":[[161,8]]},"340":{"position":[[226,8]]},"343":{"position":[[870,8]]},"349":{"position":[[854,8]]},"358":{"position":[[1981,9],[2749,7],[5949,7]]},"359":{"position":[[1132,7],[1347,7]]},"363":{"position":[[440,7]]},"367":{"position":[[412,7],[520,8]]},"369":{"position":[[362,9]]},"371":{"position":[[231,8]]},"378":{"position":[[1392,8],[1666,8]]},"380":{"position":[[1119,7],[1775,7]]},"382":{"position":[[187,7]]},"383":{"position":[[709,7]]},"415":{"position":[[324,7]]},"422":{"position":[[757,7]]},"447":{"position":[[594,7],[686,7],[709,7]]},"452":{"position":[[74,8]]},"467":{"position":[[332,8],[833,9]]},"468":{"position":[[190,8]]},"473":{"position":[[1488,8],[1548,7]]},"476":{"position":[[272,8]]},"485":{"position":[[309,7]]},"498":{"position":[[307,7]]},"499":{"position":[[326,7]]},"513":{"position":[[811,7]]},"533":{"position":[[219,8],[344,8],[572,8]]},"534":{"position":[[113,7]]},"539":{"position":[[167,8],[209,7]]},"540":{"position":[[1805,7],[2692,7],[3582,8],[4508,7]]},"544":{"position":[[557,8]]},"551":{"position":[[191,8]]},"560":{"position":[[586,8],[769,8]]},"561":{"position":[[203,7]]},"564":{"position":[[151,8]]},"565":{"position":[[184,8]]},"572":{"position":[[159,8]]},"575":{"position":[[301,8]]},"577":{"position":[[469,7]]},"578":{"position":[[117,8]]},"579":{"position":[[345,7]]},"580":{"position":[[183,8],[306,7]]},"581":{"position":[[151,8],[621,8],[791,7]]},"583":{"position":[[185,7]]},"584":{"position":[[189,7]]},"585":{"position":[[185,7]]},"586":{"position":[[187,7]]},"587":{"position":[[355,7]]},"588":{"position":[[349,7]]},"589":{"position":[[360,7]]},"590":{"position":[[143,7]]},"591":{"position":[[151,8],[750,7]]},"592":{"position":[[636,7]]},"593":{"position":[[72,8]]},"594":{"position":[[341,7]]},"595":{"position":[[316,7]]},"596":{"position":[[189,7]]},"597":{"position":[[274,7]]},"598":{"position":[[235,7]]},"599":{"position":[[296,7]]},"601":{"position":[[132,7]]},"602":{"position":[[201,7]]},"604":{"position":[[206,7]]},"605":{"position":[[91,7]]},"606":{"position":[[105,7]]},"607":{"position":[[163,7]]},"609":{"position":[[552,7]]},"610":{"position":[[739,7]]},"611":{"position":[[361,7],[818,7]]},"612":{"position":[[802,7]]},"613":{"position":[[536,7]]},"614":{"position":[[403,7]]},"615":{"position":[[549,7]]},"617":{"position":[[426,7]]},"618":{"position":[[803,7]]},"619":{"position":[[204,7],[700,7]]},"620":{"position":[[428,7]]},"621":{"position":[[426,7]]},"622":{"position":[[423,7]]},"623":{"position":[[392,7]]},"624":{"position":[[394,7]]},"625":{"position":[[772,7]]},"626":{"position":[[529,7],[1543,7]]},"627":{"position":[[563,7],[1596,7]]},"628":{"position":[[547,7],[1568,7]]},"629":{"position":[[356,7]]},"630":{"position":[[546,7]]},"631":{"position":[[688,7]]},"632":{"position":[[419,7]]},"633":{"position":[[318,7]]},"634":{"position":[[280,7]]},"635":{"position":[[252,7],[631,7]]},"637":{"position":[[358,7],[1504,8],[1726,7],[1916,7]]},"638":{"position":[[204,7]]},"639":{"position":[[293,7]]},"640":{"position":[[221,7]]},"642":{"position":[[302,7]]},"643":{"position":[[228,7]]},"644":{"position":[[221,7]]},"647":{"position":[[338,7]]},"648":{"position":[[570,7]]},"649":{"position":[[331,7]]},"650":{"position":[[166,8],[262,8],[884,7]]},"651":{"position":[[426,7]]},"652":{"position":[[728,7]]},"653":{"position":[[205,7]]},"654":{"position":[[1,7]]},"664":{"position":[[131,7],[658,8],[879,8]]},"665":{"position":[[92,7],[624,8],[888,8]]},"668":{"position":[[589,8],[904,8]]},"669":{"position":[[607,8],[882,8]]},"670":{"position":[[488,8],[817,8]]},"671":{"position":[[394,8]]},"673":{"position":[[1308,8],[1715,8]]},"675":{"position":[[213,8]]},"677":{"position":[[1284,8],[1716,8]]},"678":{"position":[[1506,8],[1732,8]]},"679":{"position":[[1536,8]]},"680":{"position":[[1560,8],[1778,8]]},"681":{"position":[[1360,8],[1542,8]]},"682":{"position":[[1577,8],[1789,8]]},"683":{"position":[[1607,8]]},"684":{"position":[[1631,8],[1833,8]]},"685":{"position":[[407,8],[966,8]]},"686":{"position":[[242,8]]},"687":{"position":[[291,8],[749,8]]},"688":{"position":[[199,8],[323,8]]},"689":{"position":[[327,8],[788,8]]},"690":{"position":[[404,8],[1131,8]]},"691":{"position":[[399,8],[903,8]]},"692":{"position":[[465,8],[606,8]]},"693":{"position":[[651,8],[777,8]]},"694":{"position":[[445,8]]},"695":{"position":[[337,8]]},"697":{"position":[[800,8],[1155,8]]},"698":{"position":[[743,8],[910,8]]},"699":{"position":[[201,8],[1053,8]]},"700":{"position":[[382,8],[516,8]]},"701":{"position":[[552,8],[980,8]]},"702":{"position":[[391,8]]},"703":{"position":[[619,8],[736,8]]},"704":{"position":[[457,8]]},"705":{"position":[[186,8]]},"706":{"position":[[190,8]]},"707":{"position":[[285,8]]},"708":{"position":[[363,8]]},"709":{"position":[[356,8]]},"710":{"position":[[677,8],[964,8]]},"711":{"position":[[562,8],[672,8]]},"712":{"position":[[556,8],[755,8]]},"713":{"position":[[374,8],[561,8]]},"714":{"position":[[248,8],[1269,8]]},"716":{"position":[[321,8]]},"717":{"position":[[418,8],[921,8]]},"718":{"position":[[269,8]]},"719":{"position":[[289,8]]},"720":{"position":[[303,8]]},"722":{"position":[[1486,8],[1693,8]]},"723":{"position":[[1253,9],[1460,9]]},"724":{"position":[[226,8],[928,8]]},"725":{"position":[[809,8]]},"726":{"position":[[1020,8],[1197,8]]},"727":{"position":[[1071,8],[1276,8]]},"728":{"position":[[222,8],[775,8]]},"729":{"position":[[781,8]]},"731":{"position":[[500,8],[604,8]]},"732":{"position":[[364,8]]},"733":{"position":[[366,8]]},"734":{"position":[[249,8]]},"735":{"position":[[251,8]]},"736":{"position":[[74,8]]},"737":{"position":[[219,8]]},"738":{"position":[[104,8]]},"739":{"position":[[72,8]]},"740":{"position":[[349,8],[670,8]]},"741":{"position":[[1970,8]]},"742":{"position":[[155,8]]},"743":{"position":[[360,8]]},"744":{"position":[[383,8]]},"746":{"position":[[73,8],[137,10]]},"747":{"position":[[192,8]]},"748":{"position":[[177,8]]},"750":{"position":[[260,8]]},"751":{"position":[[85,8]]},"752":{"position":[[429,8]]},"753":{"position":[[219,8]]},"754":{"position":[[406,8]]},"755":{"position":[[402,8]]},"756":{"position":[[305,8],[850,8]]},"757":{"position":[[637,8],[738,8]]},"758":{"position":[[483,8]]},"759":{"position":[[771,8],[892,8]]},"761":{"position":[[375,8]]},"762":{"position":[[175,8]]},"763":{"position":[[82,8]]},"764":{"position":[[241,8]]},"765":{"position":[[299,8],[836,8]]},"766":{"position":[[388,8]]},"767":{"position":[[384,8]]},"768":{"position":[[461,8]]},"769":{"position":[[775,8],[893,8]]},"771":{"position":[[208,8]]},"772":{"position":[[180,8]]},"773":{"position":[[75,8],[167,8]]},"774":{"position":[[53,8]]},"775":{"position":[[203,8]]},"777":{"position":[[448,8]]},"778":{"position":[[663,8]]},"780":{"position":[[489,8]]},"781":{"position":[[268,8]]},"782":{"position":[[50,8]]},"783":{"position":[[281,8]]},"784":{"position":[[92,8]]},"785":{"position":[[321,8]]},"786":{"position":[[459,8],[731,8]]},"787":{"position":[[919,8],[1185,8]]},"789":{"position":[[259,8]]},"790":{"position":[[95,8]]},"791":{"position":[[292,8]]},"792":{"position":[[158,8]]},"793":{"position":[[510,8],[637,8]]},"795":{"position":[[1056,8],[1564,8]]},"797":{"position":[[110,8]]},"798":{"position":[[101,8]]},"799":{"position":[[306,8]]},"801":{"position":[[176,8],[220,8]]},"802":{"position":[[203,8],[247,8]]},"803":{"position":[[361,8],[474,8]]},"804":{"position":[[378,8],[438,8]]},"805":{"position":[[99,8]]},"807":{"position":[[119,8],[269,8]]},"808":{"position":[[80,8],[859,8]]},"809":{"position":[[309,8],[501,8]]},"810":{"position":[[343,8],[486,8]]},"812":{"position":[[111,8],[240,8]]},"813":{"position":[[216,8],[315,8]]},"814":{"position":[[408,8]]},"815":{"position":[[303,8]]},"816":{"position":[[309,8]]}},"keywords":{}}],["example(target_nam",{"_index":4541,"title":{},"content":{"564":{"position":[[332,20],[510,20]]}},"keywords":{}}],["example.com.crt",{"_index":531,"title":{},"content":{"24":{"position":[[179,16]]}},"keywords":{}}],["example.com.key",{"_index":527,"title":{},"content":{"24":{"position":[[85,16]]}},"keywords":{}}],["example.photoservice.examplephotoservice/getus",{"_index":1963,"title":{},"content":{"114":{"position":[[465,49]]}},"keywords":{}}],["example.th",{"_index":3257,"title":{},"content":{"358":{"position":[[3210,11]]}},"keywords":{}}],["example_int",{"_index":5512,"title":{},"content":{"751":{"position":[[168,14]]}},"keywords":{}}],["example_interface.rb",{"_index":2048,"title":{},"content":{"138":{"position":[[876,20]]}},"keywords":{}}],["example_limits_response.pi",{"_index":2662,"title":{},"content":{"279":{"position":[[10861,26]]}},"keywords":{}}],["example_limits_response.rb",{"_index":2661,"title":{},"content":{"279":{"position":[[10796,26]]}},"keywords":{}}],["example_target.pi",{"_index":2150,"title":{},"content":{"185":{"position":[[341,17]]}},"keywords":{}}],["example_target.rb",{"_index":2149,"title":{},"content":{"185":{"position":[[257,17]]}},"keywords":{}}],["examplegroup",{"_index":4294,"title":{},"content":{"533":{"position":[[393,12]]},"795":{"position":[[1102,12]]}},"keywords":{}}],["examplegroup(group",{"_index":4302,"title":{},"content":{"533":{"position":[[633,20]]},"795":{"position":[[1653,20]]}},"keywords":{}}],["examples"",{"_index":4835,"title":{},"content":{"654":{"position":[[114,14]]}},"keywords":{}}],["excel",{"_index":3219,"title":{"571":{"position":[[42,6]]}},"content":{"353":{"position":[[90,5]]},"476":{"position":[[251,5]]},"547":{"position":[[340,9]]},"571":{"position":[[484,5]]}},"keywords":{}}],["excelspreadsheet.new('c:/git/cosmos/test.xlsx",{"_index":4582,"title":{},"content":{"571":{"position":[[532,47]]}},"keywords":{}}],["except",{"_index":1214,"title":{},"content":{"54":{"position":[[1564,9]]},"57":{"position":[[1190,10]]},"61":{"position":[[250,6],[452,6],[2712,10],[2740,10]]},"64":{"position":[[324,10],[352,10]]},"67":{"position":[[4601,6]]},"73":{"position":[[1388,6],[1434,9]]},"199":{"position":[[106,6]]},"274":{"position":[[235,6]]},"321":{"position":[[631,6]]},"542":{"position":[[919,6]]},"552":{"position":[[180,10],[2324,11],[2472,11],[2611,10],[2656,9]]},"566":{"position":[[88,10],[154,9],[257,9]]},"659":{"position":[[284,6],[1036,6],[1153,6]]},"700":{"position":[[34,9],[90,10]]},"793":{"position":[[69,9]]}},"keywords":{}}],["exclus",{"_index":4247,"title":{},"content":{"513":{"position":[[311,9]]}},"keywords":{}}],["exec",{"_index":1053,"title":{},"content":{"44":{"position":[[1328,4],[1359,4]]},"145":{"position":[[177,4]]},"185":{"position":[[161,4]]},"210":{"position":[[102,4]]},"385":{"position":[[304,4]]},"386":{"position":[[356,4]]}},"keywords":{}}],["execect",{"_index":3229,"title":{},"content":{"355":{"position":[[283,10]]}},"keywords":{}}],["execut",{"_index":1974,"title":{"776":{"position":[[0,9]]}},"content":{"115":{"position":[[1020,9]]},"145":{"position":[[32,7],[83,7]]},"146":{"position":[[48,7]]},"185":{"position":[[17,7],[67,7]]},"187":{"position":[[32,7]]},"288":{"position":[[32,8]]},"313":{"position":[[108,10],[227,10]]},"349":{"position":[[59,9],[206,10],[231,9],[1245,7],[2096,7],[2147,7],[2214,9],[2295,9],[2347,9],[2479,9],[2567,9],[2759,7],[2917,7],[3035,7],[3180,10],[3536,9],[3588,7],[3676,9],[3741,7],[4332,9],[4445,7],[4895,7],[5002,9],[5036,7],[5115,9],[5149,7],[5228,9],[5261,7],[5339,9],[5401,7],[5429,7],[5505,9],[5567,7],[5595,7],[5685,9],[5746,9],[5840,7],[5998,7],[6132,9],[6155,7],[6287,7],[6442,7],[6627,7],[6839,7]]},"355":{"position":[[378,9]]},"418":{"position":[[36,9]]},"445":{"position":[[106,9]]},"447":{"position":[[309,9]]},"449":{"position":[[127,9]]},"455":{"position":[[117,9]]},"464":{"position":[[284,8]]},"467":{"position":[[616,7]]},"497":{"position":[[534,9]]},"526":{"position":[[62,8]]},"529":{"position":[[316,9],[466,9],[509,8]]},"530":{"position":[[313,9],[683,10]]},"531":{"position":[[55,8],[155,8],[500,8],[570,9]]},"535":{"position":[[218,9],[509,9],[608,9],[713,9],[837,10],[1141,7]]},"536":{"position":[[333,10]]},"540":{"position":[[1903,9],[1986,9],[2817,9],[2901,9],[3800,10],[3981,7],[4782,7]]},"546":{"position":[[113,9]]},"552":{"position":[[153,9],[659,9],[865,9],[1035,7]]},"554":{"position":[[406,8]]},"557":{"position":[[87,10],[202,10]]},"560":{"position":[[525,9]]},"566":{"position":[[643,7]]},"569":{"position":[[335,7],[796,7],[872,8],[912,7]]},"637":{"position":[[68,8],[1685,7]]},"658":{"position":[[307,7],[376,9],[602,9],[687,7],[752,9]]},"700":{"position":[[1,8],[310,8]]},"710":{"position":[[321,9]]},"776":{"position":[[67,7]]},"777":{"position":[[8,9]]},"789":{"position":[[196,9]]}},"keywords":{}}],["execution)run",{"_index":1625,"title":{},"content":{"83":{"position":[[1663,13]]}},"keywords":{}}],["exercis",{"_index":2772,"title":{},"content":{"302":{"position":[[1770,8]]},"349":{"position":[[2019,8]]},"380":{"position":[[2260,8]]}},"keywords":{}}],["exist",{"_index":848,"title":{"89":{"position":[[0,8]]}},"content":{"36":{"position":[[10590,5]]},"38":{"position":[[11,8],[69,8],[142,8]]},"42":{"position":[[579,5]]},"61":{"position":[[602,5]]},"67":{"position":[[1224,8],[1498,8]]},"100":{"position":[[985,8]]},"115":{"position":[[874,5]]},"225":{"position":[[400,8],[500,8]]},"235":{"position":[[12,8]]},"236":{"position":[[27,8]]},"237":{"position":[[191,6]]},"252":{"position":[[12,8],[166,8]]},"271":{"position":[[430,8],[531,8]]},"274":{"position":[[88,5]]},"285":{"position":[[12,8],[494,8]]},"286":{"position":[[26,8]]},"290":{"position":[[262,6]]},"296":{"position":[[12,8],[170,8],[568,8]]},"302":{"position":[[97,8]]},"303":{"position":[[109,8]]},"304":{"position":[[105,8],[775,8]]},"305":{"position":[[115,8]]},"306":{"position":[[187,8],[520,8],[774,8]]},"307":{"position":[[98,8],[1298,8]]},"326":{"position":[[819,8]]},"364":{"position":[[246,8]]},"379":{"position":[[44,8],[3872,8]]},"382":{"position":[[113,8],[206,8]]},"383":{"position":[[648,8],[728,8],[916,8],[1284,8],[1337,8],[1541,8]]},"387":{"position":[[1548,6]]},"402":{"position":[[532,5],[601,5]]},"413":{"position":[[175,8]]},"421":{"position":[[281,8]]},"422":{"position":[[138,5]]},"461":{"position":[[272,8],[579,8]]},"472":{"position":[[1103,8],[1410,8]]},"478":{"position":[[334,8],[641,8]]},"495":{"position":[[50,8]]},"502":{"position":[[271,8],[578,8]]},"504":{"position":[[462,7]]},"506":{"position":[[666,8]]},"521":{"position":[[290,8],[597,8]]},"524":{"position":[[965,8]]},"528":{"position":[[915,8]]},"540":{"position":[[919,5]]},"569":{"position":[[1222,5]]},"576":{"position":[[156,7]]},"662":{"position":[[3368,6],[3589,6]]},"669":{"position":[[542,5]]},"670":{"position":[[308,5],[393,8]]},"757":{"position":[[595,8]]},"783":{"position":[[12,8]]},"805":{"position":[[25,8]]},"809":{"position":[[108,6]]}},"keywords":{}}],["exit",{"_index":2516,"title":{},"content":{"258":{"position":[[863,5]]},"309":{"position":[[2166,4]]}},"keywords":{}}],["exotrail",{"_index":1809,"title":{},"content":{"96":{"position":[[708,9]]}},"keywords":{}}],["expand",{"_index":2766,"title":{},"content":{"302":{"position":[[1549,8]]},"306":{"position":[[759,8]]},"307":{"position":[[1283,8]]},"543":{"position":[[294,9]]}},"keywords":{}}],["expans",{"_index":1069,"title":{},"content":{"48":{"position":[[68,10],[1081,10]]}},"keywords":{}}],["expect",{"_index":1299,"title":{},"content":{"61":{"position":[[590,8],[978,8],[1871,8]]},"64":{"position":[[601,8]]},"77":{"position":[[227,8]]},"213":{"position":[[111,6]]},"245":{"position":[[31,8]]},"246":{"position":[[31,8]]},"302":{"position":[[872,8]]},"344":{"position":[[1113,9]]},"348":{"position":[[810,8]]},"368":{"position":[[683,8]]},"542":{"position":[[153,9],[1026,9]]},"568":{"position":[[641,8]]},"698":{"position":[[46,8],[578,8],[593,8],[660,8]]},"700":{"position":[[23,7]]},"723":{"position":[[105,8],[734,8],[749,8],[816,8]]},"727":{"position":[[99,8],[633,8],[648,8],[715,8]]}},"keywords":{}}],["expected_temp",{"_index":4404,"title":{},"content":{"544":{"position":[[1393,14],[1672,15]]}},"keywords":{}}],["expected_temp}"",{"_index":4410,"title":{},"content":{"544":{"position":[[1568,23],[1848,22]]}},"keywords":{}}],["experi",{"_index":134,"title":{},"content":{"3":{"position":[[721,10]]},"265":{"position":[[112,11]]},"321":{"position":[[1521,10]]},"426":{"position":[[689,10]]}},"keywords":{}}],["expert",{"_index":3745,"title":{},"content":{"387":{"position":[[1726,8]]}},"keywords":{}}],["expir",{"_index":1520,"title":{},"content":{"82":{"position":[[204,6],[261,7]]},"391":{"position":[[437,8]]},"799":{"position":[[129,6]]}},"keywords":{}}],["expires=thu",{"_index":1536,"title":{},"content":{"82":{"position":[[892,12],[1014,12]]}},"keywords":{}}],["explain",{"_index":2940,"title":{},"content":{"319":{"position":[[53,7]]},"358":{"position":[[1674,9]]},"393":{"position":[[1305,10]]},"659":{"position":[[101,8]]}},"keywords":{}}],["explicit",{"_index":4022,"title":{},"content":{"424":{"position":[[541,8]]}},"keywords":{}}],["explicitli",{"_index":323,"title":{},"content":{"12":{"position":[[55,10]]},"15":{"position":[[68,10]]},"16":{"position":[[70,10]]},"36":{"position":[[1229,10]]},"88":{"position":[[591,10]]},"213":{"position":[[604,10],[976,10]]},"229":{"position":[[1229,10]]},"273":{"position":[[117,10]]},"279":{"position":[[1224,10]]},"468":{"position":[[551,10]]},"470":{"position":[[199,10]]},"583":{"position":[[148,10]]},"584":{"position":[[152,10]]},"585":{"position":[[148,10]]},"586":{"position":[[150,10]]}},"keywords":{}}],["explor",{"_index":3296,"title":{"438":{"position":[[7,8]]}},"content":{"359":{"position":[[934,7]]},"439":{"position":[[8,8],[173,8]]}},"keywords":{}}],["export",{"_index":1050,"title":{},"content":{"44":{"position":[[1134,6],[1201,6]]},"309":{"position":[[2558,6]]},"310":{"position":[[211,6]]},"320":{"position":[[315,6]]},"333":{"position":[[235,6],[305,6]]},"393":{"position":[[1204,6],[1228,6]]},"457":{"position":[[108,8]]},"482":{"position":[[89,7]]}},"keywords":{}}],["expos",{"_index":482,"title":{},"content":{"21":{"position":[[235,6]]},"147":{"position":[[73,6]]},"189":{"position":[[73,6]]},"259":{"position":[[365,7]]},"377":{"position":[[69,8]]}},"keywords":{}}],["express",{"_index":205,"title":{},"content":{"6":{"position":[[222,10]]},"65":{"position":[[751,9]]},"91":{"position":[[1224,9]]},"176":{"position":[[107,11]]},"190":{"position":[[113,11]]},"201":{"position":[[105,11]]},"205":{"position":[[107,11]]},"390":{"position":[[761,7]]},"427":{"position":[[616,7]]},"543":{"position":[[250,12],[363,12]]},"565":{"position":[[465,10]]},"699":{"position":[[14,11],[33,10],[723,10],[1014,10]]},"722":{"position":[[627,10]]},"723":{"position":[[325,10]]},"724":{"position":[[28,10],[410,10],[594,10]]},"726":{"position":[[260,10]]},"727":{"position":[[242,10]]},"728":{"position":[[28,10],[356,10],[522,10]]}},"keywords":{}}],["extend",{"_index":1828,"title":{},"content":{"100":{"position":[[730,6]]},"117":{"position":[[114,6]]},"225":{"position":[[393,6]]},"271":{"position":[[423,6]]}},"keywords":{}}],["extens",{"_index":236,"title":{},"content":{"6":{"position":[[1118,11]]},"12":{"position":[[513,9]]},"31":{"position":[[254,9]]},"42":{"position":[[122,10]]},"225":{"position":[[484,9]]},"271":{"position":[[515,9]]},"332":{"position":[[852,9]]},"552":{"position":[[1738,10]]},"778":{"position":[[571,10]]}},"keywords":{}}],["extern",{"_index":44,"title":{},"content":{"2":{"position":[[251,8]]},"100":{"position":[[38,8]]},"119":{"position":[[17,8]]},"147":{"position":[[80,10]]},"149":{"position":[[353,8]]},"189":{"position":[[80,10]]},"194":{"position":[[258,8]]},"196":{"position":[[192,8]]},"343":{"position":[[342,8]]},"356":{"position":[[714,8]]},"361":{"position":[[138,8]]},"552":{"position":[[893,10]]},"602":{"position":[[6,8]]},"810":{"position":[[84,10]]}},"keywords":{}}],["extra",{"_index":103,"title":{"561":{"position":[[11,5]]}},"content":{"3":{"position":[[347,5]]},"36":{"position":[[4269,5]]},"48":{"position":[[824,5],[862,5],[880,5],[3490,5],[3554,5],[3583,5],[3625,5],[3690,5],[3740,5]]},"60":{"position":[[125,5]]},"73":{"position":[[1213,6],[1315,6],[1336,6]]},"76":{"position":[[799,6]]},"77":{"position":[[1135,6]]},"107":{"position":[[762,5]]},"229":{"position":[[4269,5]]},"279":{"position":[[3218,5]]},"289":{"position":[[192,5]]},"391":{"position":[[638,5]]},"552":{"position":[[80,5]]},"559":{"position":[[292,5]]}},"keywords":{}}],["extra=non",{"_index":1440,"title":{},"content":{"73":{"position":[[990,12]]},"76":{"position":[[772,12]]},"77":{"position":[[1100,12]]}},"keywords":{}}],["extract",{"_index":558,"title":{"26":{"position":[[0,10]]},"27":{"position":[[0,7]]}},"content":{"27":{"position":[[240,7],[669,7]]},"48":{"position":[[3029,9],[3450,9]]},"61":{"position":[[1087,7]]},"353":{"position":[[42,8],[503,7]]},"476":{"position":[[16,8]]},"481":{"position":[[73,7]]}},"keywords":{}}],["extractor",{"_index":1788,"title":{"353":{"position":[[5,10]]},"475":{"position":[[5,9]]},"477":{"position":[[5,9]]}},"content":{"96":{"position":[[213,9]]},"225":{"position":[[1215,10]]},"271":{"position":[[1281,10]]},"275":{"position":[[674,10]]},"353":{"position":[[6,9],[160,9],[265,9],[354,9],[451,9],[627,9],[712,9],[798,9]]},"476":{"position":[[6,9],[167,9]]},"481":{"position":[[6,9]]},"482":{"position":[[6,9]]}},"keywords":{}}],["extrapol",{"_index":1713,"title":{},"content":{"88":{"position":[[521,11]]}},"keywords":{}}],["extrem",{"_index":4392,"title":{},"content":{"544":{"position":[[137,7]]}},"keywords":{}}],["ey",{"_index":734,"title":{},"content":{"36":{"position":[[3823,3]]},"229":{"position":[[3823,3]]},"473":{"position":[[1164,4]]}},"keywords":{}}],["eyebal",{"_index":3984,"title":{},"content":{"408":{"position":[[94,7]]},"409":{"position":[[69,7]]},"410":{"position":[[63,7]]},"411":{"position":[[112,7]]}},"keywords":{}}],["eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":1577,"title":{},"content":{"82":{"position":[[4788,927]]}},"keywords":{}}],["f",{"_index":4038,"title":{},"content":{"424":{"position":[[1751,2]]},"540":{"position":[[812,1],[4693,1]]}},"keywords":{}}],["f"",{"_index":4379,"title":{},"content":{"540":{"position":[[4702,7]]}},"keywords":{}}],["f"{variable}"",{"_index":4335,"title":{},"content":{"540":{"position":[[832,23]]}},"keywords":{}}],["factor",{"_index":748,"title":{},"content":{"36":{"position":[[4344,6],[6136,6],[6192,6],[6766,6],[6823,6],[7887,6],[9336,6],[9523,6]]},"229":{"position":[[4344,6],[6136,6],[6192,6],[6766,6],[6823,6],[7887,6],[9336,6],[9523,6]]},"279":{"position":[[3293,6],[4615,6],[4668,6],[5303,6],[5357,6],[6480,6],[7619,6],[7784,6]]},"367":{"position":[[112,6]]},"402":{"position":[[5269,8]]},"452":{"position":[[202,8]]},"613":{"position":[[195,6]]},"630":{"position":[[199,6]]},"659":{"position":[[503,6]]}},"keywords":{}}],["fail",{"_index":544,"title":{"568":{"position":[[22,5]]}},"content":{"24":{"position":[[602,4]]},"91":{"position":[[1293,4]]},"330":{"position":[[1183,7]]},"332":{"position":[[607,5]]},"349":{"position":[[497,6],[2672,4],[3252,4],[3410,4]]},"447":{"position":[[554,6]]},"546":{"position":[[1204,5],[1376,4]]},"547":{"position":[[313,8]]},"552":{"position":[[201,4],[762,6]]},"566":{"position":[[214,6],[671,4],[713,4]]},"568":{"position":[[44,4],[909,6]]},"569":{"position":[[20,7],[214,6],[356,7],[788,7]]},"697":{"position":[[101,5]]},"698":{"position":[[99,5]]}},"keywords":{}}],["failur",{"_index":2435,"title":{},"content":{"251":{"position":[[118,7]]},"349":{"position":[[321,7],[447,7],[3340,8],[3482,7]]},"355":{"position":[[535,7],[632,7]]},"447":{"position":[[478,7]]},"547":{"position":[[237,7]]},"552":{"position":[[2640,9]]},"568":{"position":[[508,7],[952,9]]},"569":{"position":[[236,8],[368,8],[484,7]]}},"keywords":{}}],["fairli",{"_index":3397,"title":{},"content":{"367":{"position":[[912,6]]},"424":{"position":[[449,6]]}},"keywords":{}}],["faith",{"_index":4102,"title":{},"content":{"432":{"position":[[1146,5]]}},"keywords":{}}],["fall",{"_index":2123,"title":{},"content":{"174":{"position":[[130,7]]},"452":{"position":[[123,4]]}},"keywords":{}}],["fals",{"_index":180,"title":{},"content":{"5":{"position":[[1035,5]]},"33":{"position":[[456,5],[671,5],[803,5],[930,5]]},"35":{"position":[[1219,5],[1405,5],[1750,5],[1897,5]]},"36":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6640,5],[7436,5]]},"37":{"position":[[1012,5],[1198,5],[1543,5],[1690,5]]},"39":{"position":[[314,5]]},"50":{"position":[[644,6]]},"53":{"position":[[1055,5]]},"54":{"position":[[1431,6],[1524,5],[1599,5]]},"55":{"position":[[2527,5]]},"56":{"position":[[1356,5]]},"57":{"position":[[514,5],[535,5],[794,7],[940,6],[1049,5],[1070,5]]},"59":{"position":[[282,5]]},"61":{"position":[[2528,5],[2810,5]]},"64":{"position":[[447,5]]},"65":{"position":[[301,5]]},"69":{"position":[[289,6]]},"73":{"position":[[1518,5],[1526,5]]},"78":{"position":[[310,5],[458,5]]},"107":{"position":[[776,5]]},"109":{"position":[[665,5]]},"110":{"position":[[658,5],[1714,5],[1936,5]]},"115":{"position":[[272,5]]},"138":{"position":[[483,5],[570,5],[800,5],[835,5]]},"139":{"position":[[694,5]]},"140":{"position":[[644,5]]},"141":{"position":[[788,5],[868,5]]},"144":{"position":[[243,5]]},"146":{"position":[[183,5]]},"148":{"position":[[220,5]]},"176":{"position":[[242,5]]},"177":{"position":[[220,5]]},"182":{"position":[[244,5]]},"187":{"position":[[167,5]]},"188":{"position":[[578,5]]},"190":{"position":[[248,5]]},"191":{"position":[[220,5]]},"199":{"position":[[218,5],[244,5]]},"201":{"position":[[240,5]]},"203":{"position":[[478,5]]},"205":{"position":[[242,5]]},"226":{"position":[[505,5]]},"228":{"position":[[1248,5],[1434,5],[1779,5],[1926,5]]},"229":{"position":[[971,5],[1816,5],[1907,5],[3406,5],[3480,5],[3574,5],[5394,5],[6640,5],[7436,5]]},"230":{"position":[[1031,5],[1217,5],[1562,5],[1709,5]]},"231":{"position":[[1392,5],[1578,5],[1923,5],[2070,5]]},"232":{"position":[[1228,5],[1414,5],[1759,5],[1906,5]]},"233":{"position":[[795,5],[926,5]]},"234":{"position":[[578,5],[709,5]]},"240":{"position":[[360,5]]},"241":{"position":[[264,5]]},"242":{"position":[[376,5]]},"251":{"position":[[539,5],[1123,7],[1900,7]]},"276":{"position":[[531,5]]},"278":{"position":[[863,5],[1040,5]]},"279":{"position":[[966,5],[1811,5],[1902,5],[2551,5],[2634,5],[3875,5],[5179,5],[6037,5],[7431,5],[7484,5],[9851,5],[10237,5],[10758,5]]},"280":{"position":[[655,5],[832,5]]},"281":{"position":[[957,5],[1134,5]]},"282":{"position":[[626,5],[803,5]]},"283":{"position":[[788,5],[919,5]]},"284":{"position":[[580,5],[711,5]]},"287":{"position":[[369,5]]},"288":{"position":[[407,5]]},"299":{"position":[[369,5]]},"304":{"position":[[1195,5]]},"305":{"position":[[1473,5]]},"358":{"position":[[3040,5],[4297,5],[4989,5]]},"359":{"position":[[1640,5]]},"419":{"position":[[152,6]]},"421":{"position":[[63,6]]},"565":{"position":[[699,5],[977,5]]},"579":{"position":[[299,5]]},"580":{"position":[[299,5]]},"581":{"position":[[784,5]]},"587":{"position":[[303,5],[348,5]]},"588":{"position":[[297,5],[342,5]]},"589":{"position":[[308,5],[353,5]]},"591":{"position":[[743,5]]},"594":{"position":[[334,5]]},"595":{"position":[[257,5],[309,5]]},"596":{"position":[[182,5]]},"597":{"position":[[215,5],[267,5]]},"598":{"position":[[228,5]]},"599":{"position":[[237,5],[289,5]]},"602":{"position":[[160,5],[194,5]]},"609":{"position":[[229,5],[279,5],[356,5],[420,5],[545,5]]},"610":{"position":[[229,5],[279,5],[356,5],[416,5],[473,5],[607,5],[732,5]]},"611":{"position":[[592,5],[717,5],[811,5]]},"612":{"position":[[281,5],[332,5],[385,5],[795,5]]},"613":{"position":[[345,5],[404,5],[529,5]]},"614":{"position":[[302,5],[396,5]]},"615":{"position":[[323,5],[448,5],[542,5]]},"616":{"position":[[322,5],[416,5]]},"617":{"position":[[325,5],[419,5]]},"618":{"position":[[599,5],[693,5],[744,5],[796,5]]},"619":{"position":[[92,5],[589,5],[640,5],[693,5]]},"620":{"position":[[318,5],[369,5],[421,5]]},"621":{"position":[[316,5],[367,5],[419,5]]},"622":{"position":[[302,5],[352,5],[409,6],[416,5]]},"623":{"position":[[291,5],[385,5]]},"624":{"position":[[294,5],[387,5]]},"625":{"position":[[568,5],[662,5],[713,5],[765,5]]},"626":{"position":[[265,5],[393,5],[522,5],[992,5],[1120,5],[1249,5]]},"627":{"position":[[299,5],[427,5],[556,5],[1045,5],[1173,5],[1302,5]]},"628":{"position":[[283,5],[411,5],[540,5],[1017,5],[1145,5],[1274,5]]},"630":{"position":[[353,5],[414,5],[539,5]]},"631":{"position":[[578,5],[629,5],[681,5]]},"632":{"position":[[357,5],[412,5]]},"633":{"position":[[311,5]]},"634":{"position":[[216,5],[273,5]]},"635":{"position":[[530,5],[624,5]]},"637":{"position":[[1552,6]]},"639":{"position":[[286,5]]},"640":{"position":[[214,5]]},"641":{"position":[[203,5]]},"643":{"position":[[153,5],[221,5]]},"644":{"position":[[214,5]]},"647":{"position":[[301,5],[331,5]]},"648":{"position":[[408,5],[438,5],[563,5]]},"650":{"position":[[820,5],[877,5]]},"651":{"position":[[365,5],[419,5]]},"652":{"position":[[597,5],[721,5]]},"664":{"position":[[467,7],[645,6],[857,6],[1078,6]]},"665":{"position":[[433,7],[611,6],[866,6],[1130,6]]},"669":{"position":[[128,6],[467,5]]},"677":{"position":[[1700,6]]},"685":{"position":[[95,6]]},"691":{"position":[[1143,8]]},"699":{"position":[[57,5]]},"722":{"position":[[596,5],[649,5],[1677,6]]},"723":{"position":[[294,5],[347,5]]},"724":{"position":[[379,5],[432,5]]},"725":{"position":[[269,5]]},"731":{"position":[[589,5],[692,5]]},"757":{"position":[[431,6],[527,6],[722,6]]}},"keywords":{}}],["famili",{"_index":4107,"title":{},"content":{"432":{"position":[[1365,6]]}},"keywords":{}}],["familiar",{"_index":1032,"title":{},"content":{"43":{"position":[[1332,8]]},"269":{"position":[[179,11]]},"546":{"position":[[371,8]]}},"keywords":{}}],["fanci",{"_index":3265,"title":{},"content":{"358":{"position":[[4228,5]]}},"keywords":{}}],["faq",{"_index":3814,"title":{"393":{"position":[[0,5]]}},"content":{},"keywords":{}}],["far",{"_index":4260,"title":{},"content":{"522":{"position":[[835,3]]}},"keywords":{}}],["fashion",{"_index":184,"title":{},"content":{"5":{"position":[[1387,8]]},"67":{"position":[[3183,7]]},"389":{"position":[[1379,8]]},"574":{"position":[[301,8]]}},"keywords":{}}],["faster",{"_index":3931,"title":{},"content":{"404":{"position":[[327,6]]},"552":{"position":[[1081,6]]}},"keywords":{}}],["fault",{"_index":4499,"title":{},"content":{"557":{"position":[[415,6]]}},"keywords":{}}],["faulti",{"_index":4006,"title":{},"content":{"422":{"position":[[942,6]]}},"keywords":{}}],["featur",{"_index":1773,"title":{"95":{"position":[[4,8]]}},"content":{"96":{"position":[[6,9]]},"97":{"position":[[6,9]]},"98":{"position":[[116,7]]},"321":{"position":[[1553,7]]},"349":{"position":[[96,8]]},"383":{"position":[[1804,8]]},"401":{"position":[[107,8],[356,7]]},"540":{"position":[[3605,8]]},"547":{"position":[[1256,7]]},"556":{"position":[[22,7]]},"658":{"position":[[930,7],[1119,7]]}},"keywords":{}}],["feedback",{"_index":3077,"title":{"336":{"position":[[0,9]]}},"content":{},"keywords":{}}],["fep",{"_index":1993,"title":{},"content":{"119":{"position":[[135,7]]}},"keywords":{}}],["few",{"_index":1712,"title":{},"content":{"88":{"position":[[426,3]]},"257":{"position":[[349,3]]},"324":{"position":[[283,3]]},"540":{"position":[[35,3]]},"552":{"position":[[289,3]]}},"keywords":{}}],["ff5252",{"_index":5739,"title":{},"content":{"803":{"position":[[454,10]]}},"keywords":{}}],["fi",{"_index":1675,"title":{},"content":{"83":{"position":[[3513,2]]}},"keywords":{}}],["field",{"_index":378,"title":{},"content":{"17":{"position":[[194,5]]},"18":{"position":[[198,5]]},"36":{"position":[[1880,5],[2214,5],[10708,7],[10851,6]]},"48":{"position":[[204,5],[322,6],[1241,5],[1473,5],[1713,5],[2346,5],[2852,5],[3286,5],[3941,5],[4230,5],[4874,5]]},"53":{"position":[[989,6]]},"54":{"position":[[1458,6]]},"55":{"position":[[41,5],[156,6],[307,6],[369,5],[676,6],[767,5],[951,5],[1022,5],[1066,5],[1191,5],[1252,5],[1458,5],[1513,5],[1569,5],[1651,6],[2334,5],[2440,5],[3082,5],[3121,5],[3328,5],[3397,5]]},"56":{"position":[[1290,6]]},"59":{"position":[[250,5]]},"60":{"position":[[782,6]]},"61":{"position":[[581,5],[628,5],[1052,6],[2462,6]]},"62":{"position":[[660,5]]},"213":{"position":[[378,7]]},"229":{"position":[[1880,5],[2214,5]]},"272":{"position":[[285,7]]},"279":{"position":[[1875,5]]},"321":{"position":[[731,6],[857,6]]},"379":{"position":[[1154,6]]},"402":{"position":[[5488,5],[5966,5],[6036,5],[6155,5]]},"407":{"position":[[647,6]]},"447":{"position":[[286,5]]},"452":{"position":[[284,6]]},"461":{"position":[[493,6]]},"464":{"position":[[136,6]]},"467":{"position":[[420,5]]},"472":{"position":[[1324,6]]},"478":{"position":[[555,6]]},"481":{"position":[[30,6],[130,6]]},"482":{"position":[[709,5]]},"494":{"position":[[151,6]]},"502":{"position":[[492,6]]},"521":{"position":[[511,6]]},"522":{"position":[[994,6]]},"528":{"position":[[829,5]]},"643":{"position":[[118,5],[196,5]]},"800":{"position":[[93,7]]}},"keywords":{}}],["field"",{"_index":886,"title":{},"content":{"40":{"position":[[1008,11],[1144,11],[1279,11]]}},"keywords":{}}],["figur",{"_index":1591,"title":{},"content":{"83":{"position":[[132,6]]},"426":{"position":[[968,6]]}},"keywords":{}}],["file",{"_index":136,"title":{"4":{"position":[[0,4]]},"26":{"position":[[48,5]]},"27":{"position":[[22,5],[38,5]]},"28":{"position":[[13,4]]},"31":{"position":[[17,6]]},"40":{"position":[[8,5]]},"46":{"position":[[11,4]]},"47":{"position":[[0,4]]},"125":{"position":[[25,5]]},"225":{"position":[[19,6]]},"253":{"position":[[8,5]]},"260":{"position":[[12,5]]},"271":{"position":[[21,6]]},"299":{"position":[[8,5]]},"395":{"position":[[41,5]]},"396":{"position":[[19,4]]},"440":{"position":[[9,6]]},"461":{"position":[[0,4]]},"472":{"position":[[0,4]]},"478":{"position":[[0,4]]},"489":{"position":[[0,4]]},"495":{"position":[[0,4]]},"496":{"position":[[0,4]]},"502":{"position":[[0,4]]},"511":{"position":[[0,4]]},"521":{"position":[[0,4]]},"528":{"position":[[0,4]]},"575":{"position":[[28,6]]},"654":{"position":[[8,5]]}},"content":{"5":{"position":[[37,4],[1335,5]]},"6":{"position":[[133,6],[294,4],[620,4],[728,4],[1169,5]]},"7":{"position":[[86,4],[118,5],[416,4],[450,5],[461,4],[555,5],[566,4],[619,5]]},"8":{"position":[[64,6]]},"9":{"position":[[80,6]]},"12":{"position":[[17,4],[37,5],[186,5],[284,5],[364,4]]},"15":{"position":[[38,4],[106,4],[148,5],[239,4],[345,5],[432,4]]},"16":{"position":[[40,4],[110,4],[152,5],[243,4],[345,5],[434,4]]},"20":{"position":[[1324,4],[1455,4]]},"22":{"position":[[39,5]]},"23":{"position":[[437,5]]},"24":{"position":[[42,4],[147,5],[577,6]]},"26":{"position":[[10,5],[319,4],[341,6]]},"27":{"position":[[205,5],[461,5],[540,4],[599,4],[942,4],[978,4],[1020,5]]},"28":{"position":[[67,4]]},"31":{"position":[[18,5],[286,4],[474,5]]},"32":{"position":[[17,4],[117,5],[127,4],[194,5]]},"36":{"position":[[825,6],[4092,4]]},"40":{"position":[[9,5]]},"42":{"position":[[573,5],[1836,5]]},"44":{"position":[[1010,5]]},"47":{"position":[[21,5],[126,4]]},"48":{"position":[[12,5],[1466,5],[1658,5],[1890,5],[2552,5],[2712,4],[3192,7],[4098,5],[4157,5],[4385,4],[4867,5],[5051,5]]},"100":{"position":[[156,5]]},"109":{"position":[[1166,5],[1952,5]]},"110":{"position":[[1500,5]]},"115":{"position":[[2244,5],[2410,4]]},"117":{"position":[[557,4],[605,4]]},"125":{"position":[[28,4],[225,4],[272,4],[411,5]]},"126":{"position":[[513,4],[626,5],[698,6]]},"128":{"position":[[155,4],[685,4]]},"138":{"position":[[413,5],[547,5]]},"141":{"position":[[225,5],[287,4],[317,5],[474,4],[513,4],[940,4]]},"149":{"position":[[475,4]]},"153":{"position":[[112,5]]},"154":{"position":[[55,4],[121,4]]},"156":{"position":[[119,5]]},"157":{"position":[[62,4],[128,4]]},"160":{"position":[[114,5]]},"161":{"position":[[57,4],[123,4]]},"163":{"position":[[121,5]]},"164":{"position":[[64,4],[130,4]]},"186":{"position":[[171,5]]},"188":{"position":[[185,5],[247,4],[277,5],[434,4],[473,4],[641,4]]},"195":{"position":[[56,4]]},"203":{"position":[[274,4]]},"214":{"position":[[202,6],[1087,4],[1451,6]]},"223":{"position":[[220,4]]},"225":{"position":[[20,5],[99,4],[159,5],[222,5],[342,5],[509,4],[711,5]]},"229":{"position":[[825,6],[4092,4]]},"240":{"position":[[214,6]]},"244":{"position":[[36,4],[133,4],[286,4],[330,5]]},"252":{"position":[[92,4]]},"253":{"position":[[9,5]]},"255":{"position":[[224,5],[333,4],[434,5]]},"258":{"position":[[359,6],[821,5],[1419,5],[1876,4]]},"259":{"position":[[128,4],[293,5]]},"260":{"position":[[28,4],[124,4]]},"268":{"position":[[157,6]]},"271":{"position":[[22,5],[123,4],[185,5],[250,5],[372,5],[540,4],[738,5]]},"272":{"position":[[496,4]]},"275":{"position":[[523,5]]},"279":{"position":[[820,6],[3041,4],[10554,4],[10602,4]]},"287":{"position":[[223,6]]},"288":{"position":[[207,4],[249,4]]},"293":{"position":[[36,4],[133,4],[177,5]]},"296":{"position":[[94,4]]},"298":{"position":[[140,4]]},"299":{"position":[[9,5]]},"301":{"position":[[364,6],[683,4],[811,4],[890,5],[1060,4],[1176,4],[1406,4],[1476,4]]},"302":{"position":[[391,5],[732,5],[764,5],[937,5],[1059,4],[1442,6],[1531,4],[2111,5],[2468,5],[2506,4]]},"303":{"position":[[441,5],[1169,4]]},"304":{"position":[[598,5]]},"305":{"position":[[637,5]]},"306":{"position":[[627,5],[879,4]]},"307":{"position":[[731,5],[988,5],[1402,5],[1479,4],[1700,4],[1862,4]]},"309":{"position":[[2522,4],[2651,4],[3083,4],[3689,5]]},"314":{"position":[[40,4],[68,4]]},"315":{"position":[[55,4],[169,5]]},"319":{"position":[[149,4],[517,4]]},"320":{"position":[[792,5]]},"323":{"position":[[339,5],[370,4],[447,5]]},"324":{"position":[[226,5],[870,4],[922,4]]},"325":{"position":[[57,4]]},"326":{"position":[[653,5],[1346,4]]},"330":{"position":[[1256,4]]},"331":{"position":[[596,5],[706,5]]},"332":{"position":[[131,4],[283,4],[847,4],[1017,4],[1495,5]]},"333":{"position":[[89,4],[226,4],[433,4]]},"338":{"position":[[285,5],[376,5],[502,4]]},"339":{"position":[[71,5],[334,5]]},"340":{"position":[[656,5]]},"342":{"position":[[853,5],[903,5],[999,5],[1082,5],[1095,5],[1169,5],[1180,5]]},"349":{"position":[[1483,4]]},"350":{"position":[[1089,4]]},"351":{"position":[[616,4]]},"352":{"position":[[82,4]]},"353":{"position":[[681,4],[767,4]]},"358":{"position":[[1620,5],[1665,5],[6157,6],[6450,5],[7468,6]]},"359":{"position":[[186,5],[626,5],[2000,5]]},"363":{"position":[[462,5]]},"378":{"position":[[578,5]]},"379":{"position":[[53,5],[74,6],[207,5],[3831,4]]},"380":{"position":[[263,5],[1645,5],[1718,5]]},"382":{"position":[[358,4]]},"383":{"position":[[1312,5],[1569,5],[1674,4]]},"395":{"position":[[16,4],[158,6],[197,4]]},"396":{"position":[[46,4],[77,6],[112,5]]},"397":{"position":[[68,6],[111,5]]},"407":{"position":[[594,6]]},"415":{"position":[[251,4],[276,5],[292,4],[429,5]]},"439":{"position":[[22,4],[102,5],[124,4]]},"440":{"position":[[643,6]]},"441":{"position":[[37,4],[62,4],[162,5]]},"442":{"position":[[59,5]]},"443":{"position":[[46,5],[103,5]]},"454":{"position":[[513,4]]},"476":{"position":[[81,6]]},"485":{"position":[[255,4]]},"494":{"position":[[27,4],[56,4],[172,5]]},"496":{"position":[[27,4],[61,5],[82,5],[103,5],[231,4]]},"497":{"position":[[83,4],[114,4],[144,4],[256,4]]},"498":{"position":[[123,4],[185,5],[229,4],[380,4],[441,4],[446,4]]},"499":{"position":[[125,4],[200,5],[246,4],[399,4],[477,4]]},"501":{"position":[[125,5]]},"511":{"position":[[53,4]]},"517":{"position":[[200,6]]},"526":{"position":[[87,5],[207,6]]},"528":{"position":[[102,4],[167,4],[224,4],[263,4],[285,4],[301,4],[418,4],[540,4],[569,4],[603,4],[621,4],[674,4],[924,5]]},"532":{"position":[[89,4],[187,4]]},"534":{"position":[[715,4]]},"540":{"position":[[1569,5],[4474,4]]},"544":{"position":[[854,4],[981,5]]},"546":{"position":[[534,4],[661,5]]},"549":{"position":[[95,5],[247,5],[467,5]]},"551":{"position":[[605,4]]},"552":{"position":[[270,6],[526,6],[572,5],[617,4],[718,6],[886,6],[1274,4],[1316,4],[1443,4],[1504,4],[1571,4]]},"561":{"position":[[528,4],[827,4]]},"571":{"position":[[296,5],[490,6]]},"572":{"position":[[522,6]]},"574":{"position":[[328,4],[353,4],[370,4]]},"575":{"position":[[29,5],[220,5],[356,5]]},"576":{"position":[[118,4]]},"611":{"position":[[147,6]]},"649":{"position":[[95,5],[105,4]]},"650":{"position":[[555,4],[1394,4]]},"654":{"position":[[9,5]]},"658":{"position":[[272,6]]},"669":{"position":[[10,4],[27,4],[260,4],[399,4],[450,5],[506,5],[528,4],[617,4],[721,4],[747,4],[752,4],[868,4],[938,4],[1045,4],[1072,4],[1077,4],[1195,4]]},"670":{"position":[[10,4],[181,4],[288,4],[341,4],[411,5],[577,4],[703,5],[906,4],[1062,5]]},"671":{"position":[[10,4],[157,4],[271,5],[331,5]]},"673":{"position":[[61,4],[121,6],[324,4],[441,6],[1099,4],[1160,4],[1318,4],[1447,4],[1459,4],[1498,5],[1584,5],[1601,4],[1658,6],[1670,4],[1725,4],[1892,5],[1997,4],[2044,4],[2052,6]]},"741":{"position":[[128,5]]},"752":{"position":[[408,5]]},"761":{"position":[[354,5]]},"776":{"position":[[42,5]]},"777":{"position":[[302,5],[314,5]]},"778":{"position":[[19,4],[518,4]]},"785":{"position":[[44,4]]},"793":{"position":[[233,4],[280,4]]}},"keywords":{}}],["file"",{"_index":5030,"title":{},"content":{"673":{"position":[[1362,11],[1769,11]]}},"keywords":{}}],["file(",{"_index":5019,"title":{},"content":{"673":{"position":[[141,7]]}},"keywords":{}}],["file.clos",{"_index":4994,"title":{},"content":{"669":{"position":[[1050,12],[1173,12]]},"673":{"position":[[1879,12],[2090,12]]}},"keywords":{}}],["file.delet",{"_index":4226,"title":{},"content":{"498":{"position":[[1065,11]]},"673":{"position":[[1486,11],[1690,11]]}},"keywords":{}}],["file.open("_cbor_template.bin"",{"_index":2270,"title":{},"content":{"214":{"position":[[1400,41]]}},"keywords":{}}],["file.read",{"_index":4215,"title":{},"content":{"498":{"position":[[499,9]]},"669":{"position":[[835,11]]},"673":{"position":[[1476,9],[1680,9]]}},"keywords":{}}],["file.read().format",{"_index":4989,"title":{},"content":{"669":{"position":[[681,21]]}},"keywords":{}}],["file.rewind",{"_index":5004,"title":{},"content":{"670":{"position":[[647,11]]}},"keywords":{}}],["file.seek(0",{"_index":5009,"title":{},"content":{"670":{"position":[[1005,12]]}},"keywords":{}}],["file.unlink",{"_index":4990,"title":{},"content":{"669":{"position":[[726,11],[847,11]]}},"keywords":{}}],["file.write("thi",{"_index":5003,"title":{},"content":{"670":{"position":[[605,21],[963,21]]}},"keywords":{}}],["file.write(data.to_cbor",{"_index":2272,"title":{},"content":{"214":{"position":[[1458,24]]}},"keywords":{}}],["filecompose.yaml",{"_index":3564,"title":{},"content":{"373":{"position":[[148,16]]}},"keywords":{}}],["filedownload",{"_index":4275,"title":{},"content":{"528":{"position":[[198,13]]}},"keywords":{}}],["filenam",{"_index":329,"title":{},"content":{"12":{"position":[[161,8],[240,9],[349,9],[555,9]]},"20":{"position":[[1252,8],[1383,8]]},"36":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"47":{"position":[[146,8]]},"50":{"position":[[1131,8]]},"109":{"position":[[1008,8],[1103,8],[1228,8]]},"110":{"position":[[1342,8],[1437,8],[1562,8]]},"115":{"position":[[2203,8]]},"128":{"position":[[661,8]]},"139":{"position":[[527,8],[564,8]]},"149":{"position":[[451,8]]},"176":{"position":[[128,9],[198,10]]},"190":{"position":[[134,9],[204,10]]},"195":{"position":[[280,9]]},"201":{"position":[[126,9],[196,10]]},"205":{"position":[[128,9],[198,10]]},"229":{"position":[[5029,8],[5042,8],[5096,8],[5197,9]]},"244":{"position":[[336,8]]},"251":{"position":[[208,8],[221,8],[275,8],[376,9]]},"279":{"position":[[3510,8],[3523,8],[3577,8],[3678,9],[10518,8]]},"288":{"position":[[171,8]]},"293":{"position":[[183,8]]},"315":{"position":[[78,10]]},"324":{"position":[[839,8]]},"528":{"position":[[505,8],[820,8],[842,8]]},"530":{"position":[[128,8]]},"552":{"position":[[1719,8]]},"649":{"position":[[70,8]]},"650":{"position":[[512,8],[1363,8]]},"777":{"position":[[266,8]]},"778":{"position":[[490,8]]}},"keywords":{}}],["filename>"",{"_index":5641,"title":{},"content":{"777":{"position":[[213,19]]},"778":{"position":[[439,19]]}},"keywords":{}}],["filenamecr",{"_index":4270,"title":{},"content":{"528":{"position":[[25,15]]}},"keywords":{}}],["filepacket",{"_index":3850,"title":{},"content":{"398":{"position":[[292,11]]}},"keywords":{}}],["files"",{"_index":5034,"title":{},"content":{"673":{"position":[[1544,12],[1938,12]]}},"keywords":{}}],["files.each",{"_index":5035,"title":{},"content":{"673":{"position":[[1644,10]]}},"keywords":{}}],["files.program",{"_index":3110,"title":{},"content":{"343":{"position":[[1462,13]]}},"keywords":{}}],["filesav",{"_index":4273,"title":{},"content":{"528":{"position":[[136,9]]}},"keywords":{}}],["fill",{"_index":649,"title":{},"content":{"35":{"position":[[445,5]]},"37":{"position":[[238,5]]},"53":{"position":[[984,4],[1007,4]]},"54":{"position":[[677,7],[1453,4],[1476,4]]},"55":{"position":[[494,7],[2367,4],[2482,6]]},"56":{"position":[[1285,4],[1308,4]]},"57":{"position":[[581,4],[897,4],[915,4],[961,4]]},"58":{"position":[[342,4],[365,4]]},"60":{"position":[[777,4],[800,4]]},"61":{"position":[[678,6],[834,4],[865,6],[2457,4],[2480,4]]},"65":{"position":[[162,4],[227,5]]},"228":{"position":[[474,5]]},"230":{"position":[[257,5]]},"231":{"position":[[644,5]]},"232":{"position":[[480,5]]},"233":{"position":[[645,5]]},"234":{"position":[[428,5]]},"243":{"position":[[100,6],[191,6]]},"244":{"position":[[98,6],[187,6]]},"278":{"position":[[472,5]]},"280":{"position":[[264,5]]},"281":{"position":[[595,5]]},"282":{"position":[[264,5]]},"283":{"position":[[638,5]]},"284":{"position":[[430,5]]},"289":{"position":[[226,6]]},"348":{"position":[[271,4],[1323,6]]},"379":{"position":[[234,4]]},"404":{"position":[[1527,6]]},"479":{"position":[[3,4]]},"506":{"position":[[145,4]]},"523":{"position":[[306,5],[466,5]]},"524":{"position":[[143,4]]},"528":{"position":[[804,7]]}},"keywords":{}}],["filter",{"_index":4167,"title":{},"content":{"470":{"position":[[284,6]]},"474":{"position":[[56,8]]},"491":{"position":[[157,6]]},"517":{"position":[[270,8]]},"528":{"position":[[517,6]]},"673":{"position":[[536,7],[646,7],[1058,6],[1084,6],[1416,7]]},"800":{"position":[[148,6]]}},"keywords":{}}],["filter="<filter>"",{"_index":5024,"title":{},"content":{"673":{"position":[[773,34],[882,34]]}},"keywords":{}}],["filter=".txt"",{"_index":5036,"title":{},"content":{"673":{"position":[[1823,24]]}},"keywords":{}}],["final",{"_index":843,"title":{},"content":{"36":{"position":[[10079,7]]},"50":{"position":[[448,5]]},"53":{"position":[[426,8]]},"67":{"position":[[4208,5],[4883,5]]},"229":{"position":[[10079,7]]},"301":{"position":[[866,5]]},"421":{"position":[[386,7]]},"422":{"position":[[1016,7]]},"430":{"position":[[694,8]]},"462":{"position":[[267,7]]},"524":{"position":[[989,5]]},"540":{"position":[[4888,7]]},"552":{"position":[[1957,8]]},"613":{"position":[[281,5]]},"630":{"position":[[289,5]]},"658":{"position":[[713,8],[1186,8]]}},"keywords":{}}],["find",{"_index":117,"title":{},"content":{"3":{"position":[[505,4],[654,4]]},"83":{"position":[[1428,4]]},"115":{"position":[[2567,4]]},"203":{"position":[[256,4]]},"313":{"position":[[169,4]]},"320":{"position":[[825,4]]},"330":{"position":[[1247,4]]},"336":{"position":[[1,4]]},"349":{"position":[[1822,4],[1837,4]]},"386":{"position":[[622,4]]}},"keywords":{}}],["fine",{"_index":3018,"title":{},"content":{"330":{"position":[[763,4]]},"380":{"position":[[1414,4]]},"566":{"position":[[445,4]]}},"keywords":{}}],["finish",{"_index":4278,"title":{},"content":{"529":{"position":[[23,8]]},"568":{"position":[[291,6]]}},"keywords":{}}],["fired!"",{"_index":739,"title":{},"content":{"36":{"position":[[3938,12]]},"229":{"position":[[3938,12]]}},"keywords":{}}],["firefox",{"_index":395,"title":{},"content":{"20":{"position":[[74,7]]},"344":{"position":[[315,7],[350,7]]}},"keywords":{}}],["firewal",{"_index":2904,"title":{},"content":{"309":{"position":[[3738,8]]},"429":{"position":[[296,9]]},"432":{"position":[[130,9]]}},"keywords":{}}],["first",{"_index":157,"title":{},"content":{"5":{"position":[[429,6]]},"6":{"position":[[464,5]]},"42":{"position":[[816,5]]},"48":{"position":[[1423,5],[1615,5],[1900,5],[2562,5],[4697,5],[5061,5]]},"50":{"position":[[895,5]]},"67":{"position":[[1578,5],[1673,5],[1957,5],[3837,6]]},"77":{"position":[[833,5]]},"82":{"position":[[79,5]]},"91":{"position":[[501,5],[943,5]]},"92":{"position":[[485,5],[734,5]]},"93":{"position":[[153,6]]},"235":{"position":[[103,5]]},"285":{"position":[[102,5]]},"297":{"position":[[593,5]]},"299":{"position":[[531,5]]},"305":{"position":[[1068,5]]},"321":{"position":[[340,5],[514,5]]},"331":{"position":[[269,5],[347,5]]},"338":{"position":[[550,6],[622,6]]},"349":{"position":[[3894,5]]},"358":{"position":[[5551,7],[5660,5]]},"373":{"position":[[354,5]]},"402":{"position":[[1431,5],[2070,5]]},"430":{"position":[[368,6]]},"462":{"position":[[144,5]]},"467":{"position":[[21,5]]},"473":{"position":[[713,5]]},"491":{"position":[[47,5]]},"522":{"position":[[1342,5]]},"523":{"position":[[522,5]]},"524":{"position":[[307,5]]},"528":{"position":[[582,5]]},"535":{"position":[[580,5],[758,5]]},"540":{"position":[[3718,5]]},"552":{"position":[[1204,5]]},"554":{"position":[[242,5]]},"577":{"position":[[61,5]]},"608":{"position":[[63,5]]},"744":{"position":[[1320,5]]},"787":{"position":[[855,5]]},"812":{"position":[[61,5]]}},"keywords":{}}],["fit",{"_index":1832,"title":{},"content":{"102":{"position":[[194,3]]},"354":{"position":[[106,4]]},"390":{"position":[[847,7]]},"594":{"position":[[239,3]]},"595":{"position":[[108,3],[143,3]]},"596":{"position":[[88,3]]},"597":{"position":[[112,3]]},"598":{"position":[[89,3]]},"599":{"position":[[97,3]]}},"keywords":{}}],["fix",{"_index":1134,"title":{"54":{"position":[[0,5]]}},"content":{"50":{"position":[[80,6]]},"54":{"position":[[5,5],[346,5],[418,5],[513,5],[602,5]]},"55":{"position":[[52,5]]},"67":{"position":[[255,5]]},"104":{"position":[[1181,5],[2095,5]]},"105":{"position":[[1197,5],[1996,5]]},"111":{"position":[[1469,5]]},"209":{"position":[[311,3]]},"324":{"position":[[357,3]]},"577":{"position":[[506,5]]},"607":{"position":[[10,5]]},"786":{"position":[[505,5],[777,5]]},"787":{"position":[[965,5],[1248,5]]}},"keywords":{}}],["fixlinux",{"_index":2207,"title":{},"content":{"209":{"position":[[533,8]]}},"keywords":{}}],["fixwindow",{"_index":2204,"title":{},"content":{"209":{"position":[[357,10]]}},"keywords":{}}],["flag",{"_index":379,"title":{},"content":{"17":{"position":[[261,4]]},"18":{"position":[[266,4]]},"48":{"position":[[530,4],[591,4],[656,4],[723,4],[830,4],[932,4],[3153,4],[3560,4],[3696,4],[3874,4]]},"55":{"position":[[2409,4]]},"69":{"position":[[858,4]]},"73":{"position":[[1510,4]]},"74":{"position":[[677,4]]},"275":{"position":[[710,4]]},"349":{"position":[[6579,4],[6792,4]]},"557":{"position":[[225,4]]},"692":{"position":[[63,7]]}},"keywords":{}}],["flag"",{"_index":2471,"title":{},"content":{"253":{"position":[[365,10],[1243,10],[2013,10]]},"299":{"position":[[352,10]]}},"keywords":{}}],["flags"",{"_index":2474,"title":{},"content":{"253":{"position":[[544,11],[1422,11],[2192,11]]},"299":{"position":[[513,11]]}},"keywords":{}}],["flavor",{"_index":3258,"title":{},"content":{"358":{"position":[[3347,6]]}},"keywords":{}}],["flight",{"_index":1807,"title":{},"content":{"96":{"position":[[678,6]]},"343":{"position":[[899,6]]}},"keywords":{}}],["float",{"_index":625,"title":{},"content":{"31":{"position":[[579,6],[650,8]]},"35":{"position":[[713,6],[778,6]]},"37":{"position":[[506,6],[571,6]]},"64":{"position":[[1053,5],[1165,5]]},"213":{"position":[[231,7],[735,5],[1171,5]]},"214":{"position":[[831,5],[2085,5]]},"218":{"position":[[1033,5],[1863,5]]},"219":{"position":[[959,5],[1605,5],[1683,5]]},"220":{"position":[[1134,5],[2404,5]]},"225":{"position":[[880,6],[951,8]]},"228":{"position":[[742,6],[807,6],[2112,5]]},"230":{"position":[[525,6],[590,6],[1846,5]]},"231":{"position":[[912,6],[977,6]]},"232":{"position":[[748,6],[813,6]]},"233":{"position":[[508,6],[977,5]]},"234":{"position":[[291,6],[764,5]]},"253":{"position":[[755,5]]},"271":{"position":[[904,6],[975,8]]},"275":{"position":[[1247,5]]},"278":{"position":[[745,6]]},"279":{"position":[[7410,6]]},"280":{"position":[[537,6]]},"281":{"position":[[754,6]]},"282":{"position":[[423,6]]},"283":{"position":[[501,6],[965,5]]},"284":{"position":[[293,6],[761,5]]},"299":{"position":[[1238,5]]},"304":{"position":[[1084,5]]},"305":{"position":[[1301,5]]},"358":{"position":[[2940,5],[3825,5],[3831,7],[4915,5]]},"359":{"position":[[1538,5]]},"398":{"position":[[10,6]]},"506":{"position":[[256,5],[470,7]]},"568":{"position":[[813,8]]}},"keywords":{}}],["float(multipli",{"_index":782,"title":{},"content":{"36":{"position":[[5993,17]]},"229":{"position":[[5993,17]]},"279":{"position":[[4473,17]]}},"keywords":{}}],["floats"",{"_index":2411,"title":{},"content":{"233":{"position":[[1011,12]]},"234":{"position":[[798,12]]},"283":{"position":[[993,12]]},"284":{"position":[[789,12]]}},"keywords":{}}],["flow",{"_index":1913,"title":{},"content":{"111":{"position":[[1058,4]]},"121":{"position":[[9,4]]},"314":{"position":[[764,4]]},"330":{"position":[[1232,7]]},"343":{"position":[[1323,5]]},"387":{"position":[[474,5]]}},"keywords":{}}],["flow_control",{"_index":1925,"title":{},"content":{"111":{"position":[[1929,12]]},"140":{"position":[[338,12],[748,12]]},"314":{"position":[[804,12],[1377,12],[1397,12]]}},"keywords":{}}],["fluent",{"_index":3340,"title":{},"content":{"362":{"position":[[1334,6],[1417,6],[1477,6]]}},"keywords":{}}],["fluent/fluentd",{"_index":3310,"title":{"362":{"position":[[0,15]]}},"content":{},"keywords":{}}],["fluent/fluentd:v1.10.3",{"_index":3338,"title":{},"content":{"362":{"position":[[1234,22]]}},"keywords":{}}],["fluentd",{"_index":3311,"title":{},"content":{"362":{"position":[[1,7],[1030,7]]}},"keywords":{}}],["fluentd/etc/fluent.conf",{"_index":3339,"title":{},"content":{"362":{"position":[[1283,24]]}},"keywords":{}}],["flush_interv",{"_index":3333,"title":{},"content":{"362":{"position":[[473,14],[803,14],[1125,14]]}},"keywords":{}}],["fnkgt8h4nynrzr8po2jwebpfyzlr00gvsyk",{"_index":1557,"title":{},"content":{"82":{"position":[[2404,35],[5869,35]]}},"keywords":{}}],["focu",{"_index":4245,"title":{},"content":{"506":{"position":[[625,5]]},"524":{"position":[[926,5]]}},"keywords":{}}],["folder",{"_index":338,"title":{},"content":{"12":{"position":[[377,6],[434,6]]},"27":{"position":[[128,7],[174,6]]},"36":{"position":[[4141,7]]},"127":{"position":[[135,6]]},"143":{"position":[[137,6],[356,6]]},"150":{"position":[[76,6],[150,6],[234,7]]},"178":{"position":[[223,6],[270,6]]},"181":{"position":[[121,6],[340,6]]},"192":{"position":[[296,6],[335,6]]},"210":{"position":[[27,7]]},"211":{"position":[[34,7]]},"229":{"position":[[4141,7]]},"279":{"position":[[3090,7]]},"298":{"position":[[174,6]]},"302":{"position":[[951,6],[1702,6]]},"338":{"position":[[29,7]]},"339":{"position":[[15,6]]},"378":{"position":[[1357,6],[1384,7]]},"379":{"position":[[22,6],[3555,7]]},"395":{"position":[[226,6]]},"396":{"position":[[147,6]]},"397":{"position":[[146,6]]},"440":{"position":[[107,7]]},"441":{"position":[[207,6]]},"443":{"position":[[148,6]]},"528":{"position":[[391,7],[760,6],[783,6]]},"549":{"position":[[192,6]]},"777":{"position":[[351,6]]}},"keywords":{}}],["folder/my_file"",{"_index":341,"title":{},"content":{"12":{"position":[[466,21]]}},"keywords":{}}],["follow",{"_index":143,"title":{},"content":{"5":{"position":[[68,8],[535,9]]},"6":{"position":[[318,10],[806,10]]},"7":{"position":[[668,8],[804,8]]},"27":{"position":[[219,9],[648,9],[774,9]]},"28":{"position":[[98,9]]},"34":{"position":[[5,9],[29,6]]},"36":{"position":[[5,9],[29,6]]},"42":{"position":[[893,9],[1750,9]]},"44":{"position":[[885,9]]},"50":{"position":[[21,9],[274,9]]},"54":{"position":[[484,8]]},"55":{"position":[[2856,10]]},"56":{"position":[[273,8]]},"63":{"position":[[21,9]]},"67":{"position":[[1741,9],[4975,6]]},"73":{"position":[[351,9]]},"74":{"position":[[384,9]]},"75":{"position":[[400,9]]},"76":{"position":[[399,9]]},"89":{"position":[[49,9]]},"91":{"position":[[5,9]]},"92":{"position":[[5,9]]},"93":{"position":[[169,10]]},"103":{"position":[[21,9],[257,6],[319,9]]},"109":{"position":[[2091,9],[2413,9]]},"115":{"position":[[21,9],[851,9]]},"125":{"position":[[230,7],[296,8],[353,9]]},"129":{"position":[[5,9],[29,6]]},"151":{"position":[[5,9],[29,6]]},"179":{"position":[[5,9],[29,6]]},"193":{"position":[[5,9],[29,6]]},"204":{"position":[[5,9],[29,6]]},"213":{"position":[[145,9]]},"217":{"position":[[456,9],[1036,9],[2230,9]]},"221":{"position":[[68,9]]},"225":{"position":[[847,9]]},"227":{"position":[[5,9],[29,6]]},"229":{"position":[[5,9],[29,6]]},"251":{"position":[[846,8],[1614,8]]},"258":{"position":[[758,10],[1586,10]]},"271":{"position":[[871,9]]},"274":{"position":[[702,8]]},"277":{"position":[[5,9],[29,6]]},"279":{"position":[[5,9],[29,6]]},"301":{"position":[[354,9]]},"302":{"position":[[381,9]]},"303":{"position":[[431,9]]},"304":{"position":[[501,9],[588,9]]},"305":{"position":[[537,9],[627,9]]},"306":{"position":[[617,9]]},"307":{"position":[[721,9]]},"309":{"position":[[523,9],[2494,9]]},"314":{"position":[[346,9]]},"317":{"position":[[91,9]]},"319":{"position":[[26,6]]},"320":{"position":[[136,8],[834,10],[1797,10]]},"321":{"position":[[1023,9],[1387,9]]},"328":{"position":[[5,9]]},"332":{"position":[[1175,9]]},"333":{"position":[[282,9]]},"342":{"position":[[76,9]]},"343":{"position":[[5,9]]},"358":{"position":[[671,8]]},"369":{"position":[[409,9]]},"371":{"position":[[41,9]]},"374":{"position":[[46,10]]},"378":{"position":[[1496,6],[1573,9]]},"379":{"position":[[249,9]]},"383":{"position":[[887,6],[1842,6]]},"387":{"position":[[79,9]]},"389":{"position":[[418,6]]},"391":{"position":[[137,6]]},"392":{"position":[[431,6]]},"396":{"position":[[9,9]]},"397":{"position":[[9,9]]},"399":{"position":[[5,9]]},"400":{"position":[[5,9]]},"401":{"position":[[84,9]]},"402":{"position":[[719,9],[2368,8],[3104,8],[3385,8],[4028,8]]},"404":{"position":[[2112,9]]},"407":{"position":[[221,9]]},"415":{"position":[[314,9]]},"426":{"position":[[42,9]]},"429":{"position":[[404,6]]},"431":{"position":[[801,9]]},"498":{"position":[[29,9]]},"499":{"position":[[29,9]]},"506":{"position":[[485,9]]},"522":{"position":[[1264,9]]},"529":{"position":[[434,6]]},"540":{"position":[[1214,9],[1789,9],[2676,9]]},"542":{"position":[[216,8],[251,10]]},"561":{"position":[[214,8],[364,9],[669,9]]},"575":{"position":[[128,8]]},"592":{"position":[[428,9]]},"612":{"position":[[18,8],[909,9]]},"613":{"position":[[37,8]]},"614":{"position":[[37,8]]},"615":{"position":[[45,8]]},"616":{"position":[[37,8]]},"617":{"position":[[37,8]]},"618":{"position":[[37,8]]},"619":{"position":[[246,8],[846,9]]},"623":{"position":[[24,8]]},"624":{"position":[[24,8]]},"625":{"position":[[24,8]]},"626":{"position":[[645,9]]},"627":{"position":[[698,9]]},"628":{"position":[[37,8],[665,9]]},"649":{"position":[[612,9]]},"650":{"position":[[1168,9]]},"652":{"position":[[1076,9]]},"659":{"position":[[85,9]]},"660":{"position":[[5,9]]},"661":{"position":[[5,9]]},"662":{"position":[[5,9]]},"699":{"position":[[740,8]]}},"keywords":{}}],["font",{"_index":2170,"title":{},"content":{"197":{"position":[[176,4]]},"590":{"position":[[90,4],[197,4]]},"647":{"position":[[254,4],[264,4]]},"648":{"position":[[361,4],[371,4]]}},"keywords":{}}],["footer",{"_index":276,"title":{},"content":{"7":{"position":[[1142,6]]},"58":{"position":[[176,6],[283,6],[290,6]]}},"keywords":{}}],["footnot",{"_index":3532,"title":{},"content":{"369":{"position":[[4216,10]]}},"keywords":{}}],["forc",{"_index":380,"title":{},"content":{"17":{"position":[[281,5],[295,5]]},"18":{"position":[[286,5],[300,5]]},"35":{"position":[[1109,6],[1640,6]]},"37":{"position":[[902,6],[1433,6]]},"228":{"position":[[1138,6],[1669,6]]},"230":{"position":[[921,6],[1452,6]]},"231":{"position":[[1813,6]]},"232":{"position":[[1649,6]]}},"keywords":{}}],["foreground",{"_index":4765,"title":{},"content":{"637":{"position":[[1417,10]]}},"keywords":{}}],["foreign",{"_index":3824,"title":{},"content":{"393":{"position":[[1082,7]]}},"keywords":{}}],["forev",{"_index":2096,"title":{},"content":{"155":{"position":[[143,8]]},"158":{"position":[[147,8]]},"162":{"position":[[147,8]]},"165":{"position":[[151,8]]},"166":{"position":[[169,8]]},"167":{"position":[[165,8]]},"168":{"position":[[163,8]]},"169":{"position":[[163,8]]},"170":{"position":[[163,8]]},"389":{"position":[[1823,7]]}},"keywords":{}}],["forget",{"_index":3668,"title":{},"content":{"379":{"position":[[3662,6]]},"557":{"position":[[455,10],[505,10]]}},"keywords":{}}],["fork",{"_index":3715,"title":{},"content":{"386":{"position":[[71,4],[104,5]]}},"keywords":{}}],["form",{"_index":200,"title":{"215":{"position":[[0,4]]}},"content":{"6":{"position":[[160,5]]},"82":{"position":[[461,4]]},"91":{"position":[[533,4]]},"92":{"position":[[517,4]]},"100":{"position":[[515,4]]},"186":{"position":[[110,4]]},"215":{"position":[[5,4],[78,5],[131,4],[237,5],[288,4],[562,4],[722,4]]},"402":{"position":[[6092,4]]},"424":{"position":[[1222,4]]},"575":{"position":[[103,4]]},"576":{"position":[[130,4]]},"701":{"position":[[21,4]]},"704":{"position":[[406,4]]},"717":{"position":[[295,4]]}},"keywords":{}}],["formaccessor",{"_index":2281,"title":{},"content":{"215":{"position":[[355,12],[791,12]]},"217":{"position":[[204,13],[1394,12]]}},"keywords":{}}],["formal",{"_index":3776,"title":{},"content":{"390":{"position":[[398,6],[1289,7]]},"546":{"position":[[590,7]]}},"keywords":{}}],["format",{"_index":137,"title":{"4":{"position":[[5,6]]},"28":{"position":[[26,7]]},"46":{"position":[[16,7]]}},"content":{"5":{"position":[[908,6]]},"26":{"position":[[38,7],[223,6]]},"28":{"position":[[82,7],[139,7]]},"33":{"position":[[218,6]]},"35":{"position":[[1319,7],[1850,6]]},"36":{"position":[[92,10],[148,6]]},"37":{"position":[[1112,7],[1643,6]]},"48":{"position":[[139,7],[160,6],[3931,6]]},"83":{"position":[[1961,11]]},"91":{"position":[[1116,6]]},"92":{"position":[[284,9],[368,9]]},"125":{"position":[[277,6]]},"213":{"position":[[51,6]]},"214":{"position":[[88,6]]},"218":{"position":[[102,6]]},"226":{"position":[[378,6]]},"228":{"position":[[1348,7],[1879,6]]},"229":{"position":[[92,10],[148,6]]},"230":{"position":[[1131,7],[1662,6]]},"231":{"position":[[1492,7],[2023,6]]},"232":{"position":[[1328,7],[1859,6]]},"233":{"position":[[879,6]]},"234":{"position":[[662,6]]},"243":{"position":[[145,9]]},"244":{"position":[[141,9]]},"271":{"position":[[1651,9]]},"275":{"position":[[857,6]]},"276":{"position":[[395,6]]},"278":{"position":[[954,7]]},"279":{"position":[[87,10],[143,6]]},"280":{"position":[[746,7]]},"281":{"position":[[1048,7]]},"282":{"position":[[717,7]]},"283":{"position":[[872,6]]},"284":{"position":[[664,6]]},"299":{"position":[[1461,9]]},"301":{"position":[[1068,9]]},"302":{"position":[[782,6]]},"320":{"position":[[970,7],[1114,7],[1262,7]]},"350":{"position":[[138,7],[1501,10],[1516,9]]},"353":{"position":[[67,6],[553,10]]},"402":{"position":[[3192,10],[4110,10]]},"454":{"position":[[502,6]]},"457":{"position":[[11,7],[78,9]]},"490":{"position":[[56,9],[90,9]]},"509":{"position":[[282,9]]},"546":{"position":[[1497,7]]},"576":{"position":[[331,7]]},"608":{"position":[[291,7]]},"609":{"position":[[285,6],[299,6],[523,10],[623,9]]},"610":{"position":[[285,6],[299,6],[487,6],[494,6],[710,10]]},"611":{"position":[[23,9],[48,9],[99,6],[520,6],[547,6],[695,10]]},"612":{"position":[[259,10]]},"613":{"position":[[507,10]]},"614":{"position":[[280,10]]},"615":{"position":[[426,10]]},"616":{"position":[[300,10]]},"617":{"position":[[303,10]]},"618":{"position":[[577,10]]},"619":{"position":[[567,10]]},"620":{"position":[[296,10]]},"621":{"position":[[294,10]]},"622":{"position":[[280,10]]},"623":{"position":[[269,10]]},"624":{"position":[[272,10]]},"625":{"position":[[546,10]]},"626":{"position":[[1387,9]]},"627":{"position":[[1440,9]]},"628":{"position":[[1412,9]]},"629":{"position":[[286,6],[303,6]]},"630":{"position":[[517,10]]},"631":{"position":[[556,10]]},"635":{"position":[[508,10]]},"648":{"position":[[541,10]]},"650":{"position":[[471,10]]},"652":{"position":[[699,10]]},"659":{"position":[[739,9],[749,9],[855,9],[923,6],[976,9],[1066,9],[1087,9],[1133,9],[1323,9]]},"669":{"position":[[705,6],[928,9],[1029,6]]},"693":{"position":[[580,10]]},"701":{"position":[[494,10]]},"703":{"position":[[558,10],[715,11]]},"710":{"position":[[620,10]]},"711":{"position":[[505,10]]},"712":{"position":[[499,10]]},"713":{"position":[[317,10]]},"714":{"position":[[1694,12]]},"722":{"position":[[1350,10]]},"723":{"position":[[1117,10]]},"726":{"position":[[962,10]]},"727":{"position":[[1013,10]]}},"keywords":{}}],["format_str",{"_index":656,"title":{},"content":{"36":{"position":[[58,14],[250,13]]},"40":{"position":[[247,13],[364,13],[473,13],[588,13],[1020,13]]},"64":{"position":[[1115,13],[1227,13]]},"214":{"position":[[774,13],[2033,13]]},"218":{"position":[[976,13],[1811,13]]},"220":{"position":[[1077,13],[2352,13]]},"229":{"position":[[58,14],[250,13]]},"279":{"position":[[53,14],[245,13]]},"379":{"position":[[488,13],[593,13],[834,13],[1344,13],[1453,13],[1876,13],[1985,13],[2376,13],[2485,13],[2897,13],[2987,13]]}},"keywords":{}}],["formatt",{"_index":2823,"title":{},"content":{"307":{"position":[[1611,10]]}},"keywords":{}}],["formatvalu",{"_index":4685,"title":{"611":{"position":[[0,12]]}},"content":{"611":{"position":[[834,11],[885,11]]}},"keywords":{}}],["formcmd",{"_index":2279,"title":{},"content":{"215":{"position":[[293,7]]}},"keywords":{}}],["formerli",{"_index":3819,"title":{},"content":{"393":{"position":[[181,9]]}},"keywords":{}}],["formtlm",{"_index":2282,"title":{},"content":{"215":{"position":[[727,7]]}},"keywords":{}}],["fortun",{"_index":1826,"title":{},"content":{"100":{"position":[[487,11]]},"569":{"position":[[107,12]]}},"keywords":{}}],["forward",{"_index":1999,"title":{},"content":{"121":{"position":[[119,9]]},"312":{"position":[[122,8]]},"362":{"position":[[190,7]]},"390":{"position":[[1202,8]]}},"keywords":{}}],["found",{"_index":1201,"title":{},"content":{"53":{"position":[[909,5]]},"54":{"position":[[1307,5]]},"55":{"position":[[2207,5]]},"56":{"position":[[73,5],[171,5],[1209,5]]},"60":{"position":[[712,5]]},"61":{"position":[[2381,5]]},"62":{"position":[[499,5]]},"88":{"position":[[56,5]]},"210":{"position":[[144,5]]},"211":{"position":[[307,5]]},"307":{"position":[[1786,5]]},"320":{"position":[[38,5],[1224,5]]},"326":{"position":[[231,5]]},"363":{"position":[[325,5],[396,5]]},"497":{"position":[[169,5],[283,5]]},"557":{"position":[[149,5],[293,5]]},"657":{"position":[[264,5]]}},"keywords":{}}],["found"",{"_index":1983,"title":{},"content":{"115":{"position":[[2325,11]]}},"keywords":{}}],["foundher",{"_index":3599,"title":{},"content":{"378":{"position":[[58,10]]}},"keywords":{}}],["four",{"_index":3207,"title":{},"content":{"350":{"position":[[1460,4],[1575,4]]},"367":{"position":[[931,4]]},"659":{"position":[[11,4]]}},"keywords":{}}],["fqt",{"_index":3157,"title":{},"content":{"349":{"position":[[1291,4]]}},"keywords":{}}],["frame",{"_index":1168,"title":{},"content":{"51":{"position":[[151,7]]},"52":{"position":[[74,5],[700,6],[998,6]]},"59":{"position":[[58,5],[183,5],[230,5],[348,5]]},"60":{"position":[[56,5],[253,5],[309,5]]},"82":{"position":[[1197,5]]},"645":{"position":[[97,5]]},"646":{"position":[[136,5]]},"648":{"position":[[73,5]]}},"keywords":{}}],["framework",{"_index":2166,"title":{},"content":{"196":{"position":[[168,10]]},"263":{"position":[[78,10],[127,9],[421,9]]},"264":{"position":[[153,9],[207,9]]},"269":{"position":[[112,9],[286,11]]},"301":{"position":[[1613,9]]},"307":{"position":[[217,9],[342,9]]},"358":{"position":[[2066,9]]},"391":{"position":[[553,9]]},"402":{"position":[[479,10]]},"546":{"position":[[342,9]]}},"keywords":{}}],["fraud",{"_index":4079,"title":{},"content":{"430":{"position":[[469,6]]}},"keywords":{}}],["fraudul",{"_index":4059,"title":{},"content":{"426":{"position":[[1161,10]]}},"keywords":{}}],["free",{"_index":3690,"title":{},"content":{"380":{"position":[[1761,5]]},"389":{"position":[[67,4],[1974,4]]}},"keywords":{}}],["freedom",{"_index":4037,"title":{},"content":{"424":{"position":[[1721,8]]}},"keywords":{}}],["fresh",{"_index":4289,"title":{},"content":{"531":{"position":[[127,5],[472,5]]}},"keywords":{}}],["friendli",{"_index":710,"title":{},"content":{"36":{"position":[[2783,8]]},"229":{"position":[[2783,8]]},"279":{"position":[[1995,8]]}},"keywords":{}}],["from=build",{"_index":3589,"title":{},"content":{"376":{"position":[[617,12]]}},"keywords":{}}],["front",{"_index":1991,"title":{},"content":{"119":{"position":[[114,5]]}},"keywords":{}}],["frontend",{"_index":1005,"title":{"43":{"position":[[10,8]]},"262":{"position":[[0,9]]}},"content":{"43":{"position":[[112,8],[1397,8]]},"44":{"position":[[1448,8]]},"192":{"position":[[236,8]]},"257":{"position":[[473,8]]},"263":{"position":[[12,8]]},"264":{"position":[[198,8]]},"307":{"position":[[401,8],[437,8],[1647,8]]},"320":{"position":[[542,8]]},"402":{"position":[[705,9]]}},"keywords":{}}],["fssl",{"_index":3973,"title":{},"content":{"404":{"position":[[2273,4]]}},"keywords":{}}],["fsw",{"_index":3101,"title":{},"content":{"343":{"position":[[915,6]]}},"keywords":{}}],["fsw_type",{"_index":2419,"title":{},"content":{"240":{"position":[[388,8]]},"287":{"position":[[397,8]]}},"keywords":{}}],["fulfil",{"_index":4150,"title":{},"content":{"455":{"position":[[1219,9],[1513,11],[1662,9]]}},"keywords":{}}],["full",{"_index":425,"title":{},"content":{"20":{"position":[[512,5]]},"36":{"position":[[353,4]]},"57":{"position":[[1322,4]]},"58":{"position":[[390,4]]},"59":{"position":[[473,4]]},"60":{"position":[[860,4]]},"64":{"position":[[1255,4]]},"73":{"position":[[303,4],[452,4]]},"88":{"position":[[217,4]]},"109":{"position":[[2649,4]]},"110":{"position":[[2380,4]]},"112":{"position":[[978,4]]},"113":{"position":[[574,4]]},"114":{"position":[[523,4]]},"216":{"position":[[96,4]]},"217":{"position":[[334,4]]},"218":{"position":[[205,4]]},"219":{"position":[[127,4]]},"220":{"position":[[117,4]]},"221":{"position":[[356,4]]},"222":{"position":[[191,4]]},"223":{"position":[[339,4]]},"229":{"position":[[353,4]]},"257":{"position":[[211,4]]},"279":{"position":[[348,4]]},"332":{"position":[[1466,4]]},"349":{"position":[[91,4]]},"358":{"position":[[1637,4],[4638,4],[5888,4]]},"369":{"position":[[4227,4]]},"380":{"position":[[2234,4]]},"382":{"position":[[644,4]]},"473":{"position":[[657,4]]},"479":{"position":[[150,4]]},"523":{"position":[[603,4]]},"524":{"position":[[574,4],[628,4],[756,4],[811,4]]},"552":{"position":[[1714,4]]},"622":{"position":[[358,4],[382,4]]},"778":{"position":[[606,4]]}},"keywords":{}}],["fullchain.pem",{"_index":529,"title":{},"content":{"24":{"position":[[109,13],[252,13],[795,14]]}},"keywords":{}}],["fulli",{"_index":2542,"title":{},"content":{"263":{"position":[[24,5]]},"303":{"position":[[809,5]]},"304":{"position":[[675,5]]},"305":{"position":[[717,5]]},"306":{"position":[[692,5]]},"307":{"position":[[1217,5]]},"679":{"position":[[142,5]]},"680":{"position":[[168,5]]},"683":{"position":[[165,5]]},"684":{"position":[[191,5]]},"687":{"position":[[125,5]]},"689":{"position":[[30,5]]},"814":{"position":[[87,5]]}},"keywords":{}}],["fun",{"_index":123,"title":{},"content":{"3":{"position":[[605,4]]},"358":{"position":[[33,3]]}},"keywords":{}}],["function",{"_index":812,"title":{},"content":{"36":{"position":[[7828,8]]},"63":{"position":[[109,13]]},"78":{"position":[[513,13]]},"96":{"position":[[121,13]]},"117":{"position":[[476,14]]},"229":{"position":[[7828,8]]},"279":{"position":[[6424,8]]},"302":{"position":[[1779,13]]},"303":{"position":[[815,10]]},"304":{"position":[[681,10]]},"305":{"position":[[723,10]]},"306":{"position":[[698,10]]},"307":{"position":[[1223,10]]},"344":{"position":[[63,13]]},"349":{"position":[[1725,14],[1780,14],[4007,9],[4103,9],[4855,14]]},"356":{"position":[[40,13]]},"391":{"position":[[644,13]]},"392":{"position":[[76,13],[131,13]]},"402":{"position":[[1858,9]]},"544":{"position":[[540,11]]},"554":{"position":[[227,14]]},"556":{"position":[[833,11]]},"572":{"position":[[439,13]]},"637":{"position":[[1124,8]]}},"keywords":{}}],["further",{"_index":1120,"title":{"93":{"position":[[0,7]]}},"content":{"48":{"position":[[4366,7],[4582,7]]},"77":{"position":[[620,7]]},"257":{"position":[[403,7]]},"338":{"position":[[107,7]]},"424":{"position":[[582,7],[654,7]]},"427":{"position":[[555,7]]},"430":{"position":[[139,7]]}},"keywords":{}}],["futur",{"_index":1068,"title":{},"content":{"48":{"position":[[61,6],[1074,6],[4606,6],[4729,6]]},"355":{"position":[[276,6],[371,6]]},"449":{"position":[[170,6]]},"454":{"position":[[593,6]]},"786":{"position":[[118,6]]}},"keywords":{}}],["gain",{"_index":1128,"title":{},"content":{"48":{"position":[[4815,7]]}},"keywords":{}}],["gap",{"_index":2514,"title":{},"content":{"258":{"position":[[691,6]]},"398":{"position":[[320,4]]},"412":{"position":[[160,7]]}},"keywords":{}}],["gateway",{"_index":3287,"title":{},"content":{"358":{"position":[[7772,8]]},"364":{"position":[[96,7]]}},"keywords":{}}],["gather",{"_index":4500,"title":{},"content":{"559":{"position":[[46,6]]},"636":{"position":[[35,6]]}},"keywords":{}}],["gave",{"_index":3528,"title":{},"content":{"369":{"position":[[4114,4]]}},"keywords":{}}],["gb",{"_index":3437,"title":{},"content":{"369":{"position":[[860,2]]}},"keywords":{}}],["gcp",{"_index":2575,"title":{},"content":{"268":{"position":[[286,3]]},"439":{"position":[[304,3]]}},"keywords":{}}],["gdpr",{"_index":4018,"title":{},"content":{"424":{"position":[[359,5],[382,4],[1679,4]]}},"keywords":{}}],["gear",{"_index":4159,"title":{},"content":{"462":{"position":[[405,4]]}},"keywords":{}}],["gecko",{"_index":1615,"title":{},"content":{"83":{"position":[[1189,6]]}},"keywords":{}}],["gem",{"_index":1146,"title":{"57":{"position":[[0,4]]},"221":{"position":[[0,4]]},"316":{"position":[[15,5]]}},"content":{"50":{"position":[[410,5]]},"57":{"position":[[5,4],[169,4],[228,4],[641,4],[725,4],[856,4],[887,7],[1365,4]]},"103":{"position":[[358,5]]},"117":{"position":[[523,3]]},"221":{"position":[[317,4],[399,4]]},"301":{"position":[[886,3]]},"313":{"position":[[62,3],[66,3],[104,3],[195,3]]},"315":{"position":[[416,4]]},"323":{"position":[[289,3]]},"359":{"position":[[2206,3]]},"362":{"position":[[1322,3],[1405,3]]},"379":{"position":[[3826,4]]},"380":{"position":[[1713,4]]},"385":{"position":[[37,3]]},"407":{"position":[[318,3]]},"412":{"position":[[37,4]]}},"keywords":{}}],["gem_hom",{"_index":2007,"title":{},"content":{"127":{"position":[[69,8]]}},"keywords":{}}],["gem_nam",{"_index":2929,"title":{},"content":{"315":{"position":[[310,10]]}},"keywords":{}}],["gems_int",{"_index":1251,"title":{},"content":{"57":{"position":[[397,8]]}},"keywords":{}}],["gemsasciiaccessor",{"_index":2368,"title":{},"content":{"221":{"position":[[5,17]]}},"keywords":{}}],["gemspec",{"_index":2008,"title":{},"content":{"127":{"position":[[179,8]]},"301":{"position":[[675,7]]}},"keywords":{}}],["gemsprotocol",{"_index":1267,"title":{},"content":{"57":{"position":[[1301,12]]}},"keywords":{}}],["gener",{"_index":197,"title":{"20":{"position":[[0,8]]},"300":{"position":[[5,10]]},"301":{"position":[[7,10]]},"302":{"position":[[7,10]]},"303":{"position":[[13,10]]},"304":{"position":[[11,10]]},"305":{"position":[[16,10]]},"306":{"position":[[7,10]]},"307":{"position":[[5,10]]},"312":{"position":[[12,9]]}},"content":{"6":{"position":[[119,8]]},"24":{"position":[[712,9]]},"36":{"position":[[797,8],[7776,7],[7809,7],[8998,7],[9603,7]]},"48":{"position":[[1831,9],[2279,9],[2493,9],[4680,9],[4992,9]]},"67":{"position":[[2452,8]]},"95":{"position":[[78,9]]},"124":{"position":[[88,9]]},"186":{"position":[[37,7]]},"194":{"position":[[210,9]]},"195":{"position":[[222,9]]},"199":{"position":[[87,9]]},"209":{"position":[[542,8]]},"223":{"position":[[225,9]]},"229":{"position":[[797,8],[7776,7],[7809,7],[8998,7],[9603,7]]},"235":{"position":[[155,9]]},"240":{"position":[[186,8]]},"243":{"position":[[112,9]]},"244":{"position":[[110,9],[352,9]]},"274":{"position":[[761,8]]},"279":{"position":[[792,8],[6373,7],[6405,7],[7121,7],[7862,7]]},"285":{"position":[[154,9]]},"287":{"position":[[195,8]]},"293":{"position":[[199,9]]},"294":{"position":[[94,8]]},"301":{"position":[[12,9],[194,8],[221,8],[266,8],[324,10],[1586,9],[1633,10]]},"302":{"position":[[12,9],[196,8],[223,8],[307,8],[351,10]]},"303":{"position":[[18,9],[208,8],[241,8],[331,8],[401,10]]},"304":{"position":[[16,9],[229,8],[260,8],[363,8],[460,10],[807,9]]},"305":{"position":[[21,9],[244,8],[280,8],[388,8],[491,10],[890,9],[1001,9]]},"306":{"position":[[16,9],[286,8],[313,8],[387,8],[457,10]]},"307":{"position":[[10,9],[494,8],[519,8],[579,8],[629,10]]},"309":{"position":[[4049,9]]},"312":{"position":[[13,9]]},"314":{"position":[[390,9]]},"315":{"position":[[24,9]]},"342":{"position":[[1206,9]]},"349":{"position":[[5730,9]]},"358":{"position":[[1221,9],[1452,8],[1519,10],[1698,9],[2032,9],[2171,8],[2270,8],[2323,10],[2336,10],[2369,10],[2410,8],[2465,9],[2655,9]]},"364":{"position":[[263,8]]},"368":{"position":[[496,9],[542,7]]},"378":{"position":[[433,8],[504,8]]},"382":{"position":[[837,8]]},"391":{"position":[[157,9]]},"402":{"position":[[83,9]]},"425":{"position":[[175,10]]},"430":{"position":[[218,9]]},"431":{"position":[[275,10]]},"440":{"position":[[334,9]]},"467":{"position":[[234,9]]},"496":{"position":[[255,9]]},"504":{"position":[[236,9]]},"511":{"position":[[353,10]]},"532":{"position":[[158,8]]},"552":{"position":[[924,9],[1605,8]]},"561":{"position":[[64,9]]},"575":{"position":[[95,7]]},"604":{"position":[[30,10]]}},"keywords":{}}],["generic_read_conversion_end",{"_index":2276,"title":{},"content":{"214":{"position":[[1923,27]]},"217":{"position":[[1977,27]]},"218":{"position":[[1701,27]]},"220":{"position":[[2223,27]]},"279":{"position":[[7007,27],[7626,27],[7791,27],[7821,28]]},"299":{"position":[[1366,27],[1734,27]]}},"keywords":{}}],["generic_read_conversion_start",{"_index":2275,"title":{},"content":{"214":{"position":[[1875,29]]},"217":{"position":[[1925,29]]},"218":{"position":[[1653,29]]},"220":{"position":[[2175,29]]},"279":{"position":[[6333,30],[7532,29],[7699,29]]},"299":{"position":[[1208,29],[1484,29]]}},"keywords":{}}],["generic_write_conversion_end",{"_index":820,"title":{},"content":{"36":{"position":[[8348,28],[9343,28],[9530,28],[9561,29]]},"229":{"position":[[8348,28],[9343,28],[9530,28],[9561,29]]}},"keywords":{}}],["generic_write_conversion_start",{"_index":811,"title":{},"content":{"36":{"position":[[7735,31],[9248,30],[9437,30]]},"229":{"position":[[7735,31],[9248,30],[9437,30]]}},"keywords":{}}],["get",{"_index":753,"title":{"92":{"position":[[0,7]]},"357":{"position":[[0,7]]},"562":{"position":[[0,7]]}},"content":{"36":{"position":[[4542,4],[8539,4]]},"48":{"position":[[1925,4],[1969,4],[2587,4],[2631,4],[5086,4],[5130,4]]},"229":{"position":[[4542,4],[8539,4]]},"321":{"position":[[1346,4]]},"326":{"position":[[1123,4]]},"335":{"position":[[13,7]]},"368":{"position":[[797,4]]},"383":{"position":[[1886,7]]},"455":{"position":[[713,4],[1594,4]]},"562":{"position":[[96,7]]},"563":{"position":[[91,4]]},"745":{"position":[[13,7]]},"759":{"position":[[511,4]]},"769":{"position":[[515,4]]},"790":{"position":[[12,4]]},"792":{"position":[[12,4]]}},"keywords":{}}],["get_all_cmd",{"_index":4874,"title":{"687":{"position":[[0,12]]}},"content":{"662":{"position":[[851,12],[996,12]]}},"keywords":{}}],["get_all_cmd_info",{"_index":4873,"title":{},"content":{"662":{"position":[[789,16]]}},"keywords":{}}],["get_all_cmd_nam",{"_index":5126,"title":{"688":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_cmd_names("<target",{"_index":5129,"title":{},"content":{"688":{"position":[[88,34]]}},"keywords":{}}],["get_all_cmd_names("inst"",{"_index":5130,"title":{},"content":{"688":{"position":[[220,35],[344,35]]}},"keywords":{}}],["get_all_cmds("<target",{"_index":5113,"title":{},"content":{"687":{"position":[[184,29]]}},"keywords":{}}],["get_all_cmds("inst"",{"_index":5115,"title":{},"content":{"687":{"position":[[312,30],[770,30]]}},"keywords":{}}],["get_all_command",{"_index":5112,"title":{"687":{"position":[[43,18]]}},"content":{},"keywords":{}}],["get_all_command_nam",{"_index":5128,"title":{"688":{"position":[[48,23]]}},"content":{},"keywords":{}}],["get_all_interface_info",{"_index":5528,"title":{"756":{"position":[[0,23]]}},"content":{"756":{"position":[[332,24],[877,24]]}},"keywords":{}}],["get_all_packet_logger_info",{"_index":4870,"title":{},"content":{"662":{"position":[[574,26]]}},"keywords":{}}],["get_all_router_info",{"_index":5590,"title":{"765":{"position":[[0,20]]}},"content":{"765":{"position":[[323,21],[860,21]]}},"keywords":{}}],["get_all_set",{"_index":5752,"title":{"808":{"position":[[0,17]]}},"content":{"808":{"position":[[95,18]]}},"keywords":{}}],["get_all_target_info",{"_index":4871,"title":{},"content":{"662":{"position":[[641,19]]}},"keywords":{}}],["get_all_telemetri",{"_index":5259,"title":{"705":{"position":[[42,19]]}},"content":{},"keywords":{}}],["get_all_telemetry_nam",{"_index":5267,"title":{"706":{"position":[[48,25]]}},"content":{},"keywords":{}}],["get_all_tlm",{"_index":4876,"title":{"705":{"position":[[0,11]]}},"content":{"662":{"position":[[926,11]]}},"keywords":{}}],["get_all_tlm("<target",{"_index":5260,"title":{},"content":{"705":{"position":[[71,28]]}},"keywords":{}}],["get_all_tlm("inst"",{"_index":5261,"title":{},"content":{"705":{"position":[[206,29]]}},"keywords":{}}],["get_all_tlm_info",{"_index":4875,"title":{},"content":{"662":{"position":[[864,16]]}},"keywords":{}}],["get_all_tlm_nam",{"_index":5266,"title":{"706":{"position":[[0,17]]}},"content":{},"keywords":{}}],["get_all_tlm_names("<target",{"_index":5268,"title":{},"content":{"706":{"position":[[70,34]]}},"keywords":{}}],["get_all_tlm_names("inst"",{"_index":5269,"title":{},"content":{"706":{"position":[[200,35]]}},"keywords":{}}],["get_background_task",{"_index":4872,"title":{},"content":{"662":{"position":[[728,20]]}},"keywords":{}}],["get_cmd",{"_index":4880,"title":{"689":{"position":[[0,7]]}},"content":{"662":{"position":[[1134,7]]},"691":{"position":[[35,8]]}},"keywords":{}}],["get_cmd("<target",{"_index":5134,"title":{},"content":{"689":{"position":[[90,24],[151,24]]}},"keywords":{}}],["get_cmd("inst",{"_index":5138,"title":{},"content":{"689":{"position":[[349,18],[810,18]]}},"keywords":{}}],["get_cmd_buff",{"_index":5163,"title":{"691":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_cmd_buffer("<target",{"_index":5164,"title":{},"content":{"691":{"position":[[128,31],[215,31]]}},"keywords":{}}],["get_cmd_buffer("inst",{"_index":5166,"title":{},"content":{"691":{"position":[[418,25],[922,25]]}},"keywords":{}}],["get_cmd_cnt",{"_index":5192,"title":{"695":{"position":[[0,12]]}},"content":{},"keywords":{}}],["get_cmd_cnt("<target",{"_index":5193,"title":{},"content":{"695":{"position":[[88,28],[154,28]]}},"keywords":{}}],["get_cmd_cnt("inst",{"_index":5194,"title":{},"content":{"695":{"position":[[357,22]]}},"keywords":{}}],["get_cmd_hazard",{"_index":5175,"title":{"692":{"position":[[0,18]]}},"content":{},"keywords":{}}],["get_cmd_hazardous("<target",{"_index":5176,"title":{},"content":{"692":{"position":[[109,34]]}},"keywords":{}}],["get_cmd_hazardous("inst"",{"_index":5178,"title":{},"content":{"692":{"position":[[487,35],[628,35]]}},"keywords":{}}],["get_cmd_list",{"_index":4877,"title":{},"content":{"662":{"position":[[938,12]]}},"keywords":{}}],["get_cmd_log_filenam",{"_index":4878,"title":{},"content":{"662":{"position":[[1009,20]]}},"keywords":{}}],["get_cmd_param_list",{"_index":4879,"title":{},"content":{"662":{"position":[[1070,18]]}},"keywords":{}}],["get_cmd_tim",{"_index":5188,"title":{"694":{"position":[[0,13]]}},"content":{"694":{"position":[[489,14]]}},"keywords":{}}],["get_cmd_time("<target",{"_index":5189,"title":{},"content":{"694":{"position":[[75,29]]}},"keywords":{}}],["get_cmd_time("inst"",{"_index":5191,"title":{},"content":{"694":{"position":[[600,30],[732,30]]}},"keywords":{}}],["get_cmd_tlm_disconnect",{"_index":4881,"title":{},"content":{"662":{"position":[[1142,22]]}},"keywords":{}}],["get_cmd_valu",{"_index":5180,"title":{"693":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_cmd_value("<target",{"_index":5182,"title":{},"content":{"693":{"position":[[250,30]]}},"keywords":{}}],["get_cmd_value("inst"",{"_index":5185,"title":{},"content":{"693":{"position":[[669,31],[795,31]]}},"keywords":{}}],["get_command",{"_index":5133,"title":{"689":{"position":[[38,13]]}},"content":{},"keywords":{}}],["get_disconnected_target",{"_index":4882,"title":{},"content":{"662":{"position":[[1207,24]]}},"keywords":{}}],["get_interfac",{"_index":4884,"title":{"750":{"position":[[0,13]]}},"content":{"662":{"position":[[1324,13],[2758,13]]}},"keywords":{}}],["get_interface("<interfac",{"_index":5487,"title":{},"content":{"750":{"position":[[134,33]]}},"keywords":{}}],["get_interface("inst_int"",{"_index":5488,"title":{},"content":{"750":{"position":[[282,35]]}},"keywords":{}}],["get_interface_info",{"_index":4883,"title":{},"content":{"662":{"position":[[1260,18]]}},"keywords":{}}],["get_interface_nam",{"_index":5510,"title":{"751":{"position":[[0,20]]}},"content":{"751":{"position":[[113,21]]}},"keywords":{}}],["get_interface_target",{"_index":4885,"title":{},"content":{"662":{"position":[[1338,21]]}},"keywords":{}}],["get_item",{"_index":5283,"title":{"708":{"position":[[0,8]]}},"content":{},"keywords":{}}],["get_item("<target",{"_index":5284,"title":{},"content":{"708":{"position":[[47,25],[127,25]]}},"keywords":{}}],["get_item("inst",{"_index":5285,"title":{},"content":{"708":{"position":[[380,19]]}},"keywords":{}}],["get_limit",{"_index":5400,"title":{"740":{"position":[[0,11]]}},"content":{},"keywords":{}}],["get_limits(<target",{"_index":5402,"title":{},"content":{"740":{"position":[[95,21]]}},"keywords":{}}],["get_limits('inst",{"_index":5403,"title":{},"content":{"740":{"position":[[368,18],[689,18]]}},"keywords":{}}],["get_limits_ev",{"_index":5436,"title":{"744":{"position":[[0,18]]}},"content":{"744":{"position":[[219,17],[402,18]]}},"keywords":{}}],["get_limits_event(<offset>",{"_index":5437,"title":{},"content":{"744":{"position":[[109,32]]}},"keywords":{}}],["get_limits_event(ev",{"_index":5451,"title":{},"content":{"744":{"position":[[1371,24]]}},"keywords":{}}],["get_limits_group",{"_index":5395,"title":{"736":{"position":[[0,18]]}},"content":{"736":{"position":[[100,19]]}},"keywords":{}}],["get_limits_set",{"_index":5399,"title":{"738":{"position":[[0,15]]},"739":{"position":[[0,16]]}},"content":{"738":{"position":[[127,16]]},"739":{"position":[[96,17]]}},"keywords":{}}],["get_line_delay",{"_index":5687,"title":{"790":{"position":[[0,15]]}},"content":{"790":{"position":[[123,16]]}},"keywords":{}}],["get_max_output",{"_index":5694,"title":{"792":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_out_of_limit",{"_index":5428,"title":{"742":{"position":[[0,18]]}},"content":{"742":{"position":[[187,19]]}},"keywords":{}}],["get_output_logs_filenam",{"_index":4886,"title":{},"content":{"662":{"position":[[1400,25]]}},"keywords":{}}],["get_overall_limits_st",{"_index":5430,"title":{"743":{"position":[[0,25]]}},"content":{"743":{"position":[[393,26]]}},"keywords":{}}],["get_overall_limits_state(<ignor",{"_index":5431,"title":{},"content":{"743":{"position":[[118,36]]}},"keywords":{}}],["get_overall_limits_state([['inst",{"_index":5435,"title":{},"content":{"743":{"position":[[443,34]]}},"keywords":{}}],["get_overrid",{"_index":5312,"title":{"714":{"position":[[0,14]]}},"content":{"714":{"position":[[225,15],[318,15]]}},"keywords":{}}],["get_packet",{"_index":4887,"title":{"717":{"position":[[0,11]]}},"content":{"662":{"position":[[1466,10],[1522,11],[1595,11]]}},"keywords":{}}],["get_packet_data",{"_index":4888,"title":{},"content":{"662":{"position":[[1534,15]]}},"keywords":{}}],["get_packet_derived_item",{"_index":5339,"title":{"720":{"position":[[0,25]]}},"content":{},"keywords":{}}],["get_packet_derived_items("<target>",{"_index":5340,"title":{},"content":{"720":{"position":[[78,45]]}},"keywords":{}}],["get_packet_derived_items("<target>"",{"_index":5341,"title":{},"content":{"720":{"position":[[146,52]]}},"keywords":{}}],["get_packet_derived_items("inst",{"_index":5342,"title":{},"content":{"720":{"position":[[313,35]]}},"keywords":{}}],["get_packet_logg",{"_index":4890,"title":{},"content":{"662":{"position":[[1670,18]]}},"keywords":{}}],["get_packet_logger_info",{"_index":4889,"title":{},"content":{"662":{"position":[[1607,22]]}},"keywords":{}}],["get_packets(id",{"_index":4534,"title":{},"content":{"563":{"position":[[635,15],[852,15],[973,15],[1184,15]]},"717":{"position":[[66,15],[125,15],[521,15],[744,15],[1025,15],[1242,15]]}},"keywords":{}}],["get_param",{"_index":5140,"title":{"690":{"position":[[0,9]]}},"content":{},"keywords":{}}],["get_param("<target",{"_index":5142,"title":{},"content":{"690":{"position":[[71,26],[158,26]]}},"keywords":{}}],["get_param("inst",{"_index":5145,"title":{},"content":{"690":{"position":[[422,20],[1149,20]]}},"keywords":{}}],["get_paramet",{"_index":5141,"title":{"690":{"position":[[40,15]]}},"content":{},"keywords":{}}],["get_replay_mod",{"_index":4891,"title":{},"content":{"662":{"position":[[1729,15]]}},"keywords":{}}],["get_rout",{"_index":4894,"title":{"764":{"position":[[0,10]]}},"content":{"662":{"position":[[1824,10],[3479,10]]}},"keywords":{}}],["get_router("<rout",{"_index":5585,"title":{},"content":{"764":{"position":[[127,27]]}},"keywords":{}}],["get_router("router_int"",{"_index":5586,"title":{},"content":{"764":{"position":[[260,34]]}},"keywords":{}}],["get_router_info",{"_index":4893,"title":{},"content":{"662":{"position":[[1763,15]]}},"keywords":{}}],["get_router_nam",{"_index":5582,"title":{"763":{"position":[[0,17]]}},"content":{"763":{"position":[[107,18]]}},"keywords":{}}],["get_screen_definit",{"_index":5664,"title":{"785":{"position":[[0,22]]}},"content":{"785":{"position":[[5,21]]}},"keywords":{}}],["get_screen_definition("<target",{"_index":5665,"title":{},"content":{"785":{"position":[[102,38]]}},"keywords":{}}],["get_screen_definition("inst"",{"_index":5667,"title":{},"content":{"785":{"position":[[351,39]]}},"keywords":{}}],["get_screen_list",{"_index":5663,"title":{"784":{"position":[[0,16]]}},"content":{"784":{"position":[[5,15],[102,17]]}},"keywords":{}}],["get_scriptrunner_message_log_filenam",{"_index":4895,"title":{},"content":{"662":{"position":[[1835,37]]}},"keywords":{}}],["get_server_messag",{"_index":4896,"title":{},"content":{"662":{"position":[[1913,18]]}},"keywords":{}}],["get_server_message_log_filenam",{"_index":4897,"title":{},"content":{"662":{"position":[[1972,31]]}},"keywords":{}}],["get_server_statu",{"_index":4898,"title":{},"content":{"662":{"position":[[2044,17]]}},"keywords":{}}],["get_set",{"_index":5776,"title":{"809":{"position":[[0,12],[13,13]]}},"content":{},"keywords":{}}],["get_setting(<set",{"_index":5777,"title":{},"content":{"809":{"position":[[139,23]]}},"keywords":{}}],["get_setting('vers",{"_index":5783,"title":{},"content":{"809":{"position":[[324,22]]}},"keywords":{}}],["get_settings(<set",{"_index":5778,"title":{},"content":{"809":{"position":[[173,24]]}},"keywords":{}}],["get_settings('rubygems_url",{"_index":5792,"title":{},"content":{"810":{"position":[[409,28]]}},"keywords":{}}],["get_settings('vers",{"_index":5785,"title":{},"content":{"809":{"position":[[384,23]]}},"keywords":{}}],["get_stal",{"_index":4899,"title":{},"content":{"662":{"position":[[2102,9]]}},"keywords":{}}],["get_statu",{"_index":1321,"title":{},"content":{"64":{"position":[[659,10]]}},"keywords":{}}],["get_target",{"_index":4901,"title":{"747":{"position":[[0,11]]}},"content":{"662":{"position":[[2222,10],[2308,10],[2380,10]]}},"keywords":{}}],["get_target("<target",{"_index":5454,"title":{},"content":{"747":{"position":[[87,27]]}},"keywords":{}}],["get_target("inst"",{"_index":5455,"title":{},"content":{"747":{"position":[[211,28]]}},"keywords":{}}],["get_target_fil",{"_index":4211,"title":{"669":{"position":[[0,16]]}},"content":{"498":{"position":[[148,15]]}},"keywords":{}}],["get_target_file("<fil",{"_index":4983,"title":{},"content":{"669":{"position":[[71,30],[153,30]]}},"keywords":{}}],["get_target_file("inst/data/attitude.bin"",{"_index":4988,"title":{},"content":{"669":{"position":[[624,51],[945,51]]}},"keywords":{}}],["get_target_file("inst/procedures/checks.rb"",{"_index":4991,"title":{},"content":{"669":{"position":[[759,54],[1084,54]]}},"keywords":{}}],["get_target_file(env['tbl_filenam",{"_index":4214,"title":{},"content":{"498":{"position":[[453,36]]}},"keywords":{}}],["get_target_ignored_item",{"_index":4900,"title":{},"content":{"662":{"position":[[2152,24]]}},"keywords":{}}],["get_target_ignored_paramet",{"_index":4902,"title":{},"content":{"662":{"position":[[2233,29]]}},"keywords":{}}],["get_target_info",{"_index":4903,"title":{},"content":{"662":{"position":[[2319,15]]}},"keywords":{}}],["get_target_interfac",{"_index":4856,"title":{"748":{"position":[[0,22]]}},"content":{"661":{"position":[[219,21]]},"662":{"position":[[706,21]]},"748":{"position":[[201,23]]}},"keywords":{}}],["get_target_list",{"_index":4904,"title":{},"content":{"662":{"position":[[2391,15]]}},"keywords":{}}],["get_target_nam",{"_index":4905,"title":{"746":{"position":[[0,17]]}},"content":{"662":{"position":[[2452,16]]},"746":{"position":[[93,18]]}},"keywords":{}}],["get_telemetri",{"_index":5271,"title":{"707":{"position":[[38,15]]}},"content":{},"keywords":{}}],["get_tlm",{"_index":5238,"title":{"707":{"position":[[0,7]]}},"content":{"702":{"position":[[35,8]]}},"keywords":{}}],["get_tlm("<target",{"_index":5272,"title":{},"content":{"707":{"position":[[48,24],[109,24]]}},"keywords":{}}],["get_tlm("inst",{"_index":5273,"title":{},"content":{"707":{"position":[[304,18]]}},"keywords":{}}],["get_tlm_buff",{"_index":5237,"title":{"702":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_buffer("<target",{"_index":5239,"title":{},"content":{"702":{"position":[[111,31],[198,31]]}},"keywords":{}}],["get_tlm_buffer("inst",{"_index":5240,"title":{},"content":{"702":{"position":[[410,25]]}},"keywords":{}}],["get_tlm_cnt",{"_index":5290,"title":{"709":{"position":[[0,12]]},"718":{"position":[[0,12]]},"719":{"position":[[0,13]]}},"content":{},"keywords":{}}],["get_tlm_cnt("<target",{"_index":5291,"title":{},"content":{"709":{"position":[[101,28],[166,28]]}},"keywords":{}}],["get_tlm_cnt("<target>",{"_index":5332,"title":{},"content":{"718":{"position":[[70,32]]}},"keywords":{}}],["get_tlm_cnt("<target>"",{"_index":5334,"title":{},"content":{"718":{"position":[[125,39]]}},"keywords":{}}],["get_tlm_cnt("inst",{"_index":5293,"title":{},"content":{"709":{"position":[[376,22]]},"718":{"position":[[279,22]]}},"keywords":{}}],["get_tlm_cnts([["<target>"",{"_index":5336,"title":{},"content":{"719":{"position":[[82,42]]}},"keywords":{}}],["get_tlm_cnts([["inst"",{"_index":5338,"title":{},"content":{"719":{"position":[[299,32]]}},"keywords":{}}],["get_tlm_detail",{"_index":4906,"title":{},"content":{"662":{"position":[[2469,15]]}},"keywords":{}}],["get_tlm_item_list",{"_index":4907,"title":{},"content":{"662":{"position":[[2525,17]]}},"keywords":{}}],["get_tlm_list",{"_index":4908,"title":{},"content":{"662":{"position":[[2583,12]]}},"keywords":{}}],["get_tlm_log_filenam",{"_index":4909,"title":{},"content":{"662":{"position":[[2636,20]]}},"keywords":{}}],["get_tlm_packet",{"_index":5243,"title":{"703":{"position":[[0,15]]}},"content":{},"keywords":{}}],["get_tlm_packet("<target",{"_index":5246,"title":{},"content":{"703":{"position":[[226,31],[308,31]]}},"keywords":{}}],["get_tlm_packet("inst",{"_index":5249,"title":{},"content":{"703":{"position":[[662,25],[779,25]]}},"keywords":{}}],["get_tlm_valu",{"_index":5251,"title":{"704":{"position":[[0,14]]}},"content":{},"keywords":{}}],["get_tlm_values(<items>",{"_index":5253,"title":{},"content":{"704":{"position":[[323,29]]}},"keywords":{}}],["get_tlm_values(["inst__health_status__temp1__converted"",{"_index":5256,"title":{},"content":{"704":{"position":[[476,66]]}},"keywords":{}}],["get_us",{"_index":1962,"title":{},"content":{"114":{"position":[[415,8]]}},"keywords":{}}],["getnamedwidget",{"_index":4633,"title":{},"content":{"592":{"position":[[45,14],[248,14]]}},"keywords":{}}],["gib",{"_index":3419,"title":{},"content":{"369":{"position":[[87,3]]}},"keywords":{}}],["gimbal",{"_index":4417,"title":{},"content":{"545":{"position":[[407,6]]},"551":{"position":[[230,6],[767,6],[876,6],[945,6],[1018,6],[1108,6],[1247,7],[1339,6],[1415,6],[1488,6],[1497,8],[1580,6]]}},"keywords":{}}],["gimbal.gimbal_steps}"",{"_index":4472,"title":{},"content":{"551":{"position":[[1115,28],[1587,28]]}},"keywords":{}}],["gimbal.home_gimb",{"_index":4468,"title":{},"content":{"551":{"position":[[1038,18],[1506,20]]}},"keywords":{}}],["gimbal.move(100",{"_index":4469,"title":{},"content":{"551":{"position":[[1057,16],[1527,16]]}},"keywords":{}}],["gimbal.move(200",{"_index":4470,"title":{},"content":{"551":{"position":[[1074,16],[1544,16]]}},"keywords":{}}],["gimbal.new",{"_index":4467,"title":{},"content":{"551":{"position":[[1027,10]]}},"keywords":{}}],["gimbal_step",{"_index":4462,"title":{},"content":{"551":{"position":[[788,13],[819,13],[883,13],[952,13]]}},"keywords":{}}],["git",{"_index":2195,"title":{},"content":{"208":{"position":[[73,3]]},"301":{"position":[[405,3]]},"309":{"position":[[1673,3],[2767,3]]},"331":{"position":[[65,3],[120,3]]},"332":{"position":[[553,3]]},"375":{"position":[[1,3]]},"376":{"position":[[328,3],[405,3],[437,3]]},"386":{"position":[[111,3],[215,3],[457,3]]},"404":{"position":[[2260,3],[2384,3]]}},"keywords":{}}],["git://github.com/<username>/openc3.git",{"_index":3717,"title":{},"content":{"386":{"position":[[121,44]]}},"keywords":{}}],["github",{"_index":132,"title":{},"content":{"3":{"position":[[698,6]]},"88":{"position":[[88,7]]},"98":{"position":[[62,6],[167,6]]},"309":{"position":[[1482,7]]},"336":{"position":[[64,6]]},"359":{"position":[[2870,6]]},"386":{"position":[[693,6]]},"401":{"position":[[409,7]]}},"keywords":{}}],["gitlen",{"_index":903,"title":{},"content":{"42":{"position":[[163,8]]}},"keywords":{}}],["give",{"_index":1404,"title":{},"content":{"67":{"position":[[4512,6]]},"174":{"position":[[88,4]]},"358":{"position":[[4241,6]]},"393":{"position":[[237,5]]},"424":{"position":[[177,4]]},"450":{"position":[[80,6]]},"513":{"position":[[265,4]]},"550":{"position":[[105,5]]}},"keywords":{}}],["given",{"_index":189,"title":{},"content":{"5":{"position":[[1458,5]]},"13":{"position":[[12,5]]},"14":{"position":[[12,5]]},"15":{"position":[[13,5]]},"16":{"position":[[13,5]]},"36":{"position":[[2041,5],[8447,6]]},"48":{"position":[[4472,5]]},"54":{"position":[[914,5]]},"56":{"position":[[554,5],[686,5]]},"61":{"position":[[1367,5],[1499,5]]},"64":{"position":[[619,5]]},"67":{"position":[[3913,5]]},"73":{"position":[[1418,6]]},"74":{"position":[[985,6]]},"75":{"position":[[848,6]]},"76":{"position":[[852,6]]},"77":{"position":[[1195,6]]},"83":{"position":[[1875,5]]},"91":{"position":[[751,5]]},"109":{"position":[[377,5]]},"174":{"position":[[243,5]]},"194":{"position":[[170,5],[234,5]]},"195":{"position":[[193,5],[246,5]]},"213":{"position":[[484,6]]},"229":{"position":[[2041,5],[8447,6]]},"249":{"position":[[164,5]]},"279":{"position":[[7105,6]]},"295":{"position":[[164,5]]},"315":{"position":[[149,5]]},"369":{"position":[[3924,5]]},"389":{"position":[[660,5]]},"396":{"position":[[161,5]]},"397":{"position":[[160,5]]},"402":{"position":[[984,5],[4604,5],[4668,5],[4764,6]]},"421":{"position":[[567,5]]},"447":{"position":[[578,5]]},"450":{"position":[[222,5]]},"452":{"position":[[443,5]]},"498":{"position":[[325,6]]},"499":{"position":[[344,6]]},"539":{"position":[[221,6]]},"543":{"position":[[90,5]]},"559":{"position":[[219,5]]},"568":{"position":[[79,5]]},"592":{"position":[[612,5]]},"611":{"position":[[113,5]]},"677":{"position":[[1011,6]]},"678":{"position":[[1233,6]]},"679":{"position":[[1254,6]]},"680":{"position":[[1287,6]]},"681":{"position":[[1087,6]]},"682":{"position":[[1304,6]]},"683":{"position":[[1325,6]]},"684":{"position":[[1358,6]]},"690":{"position":[[23,5]]},"692":{"position":[[356,5]]},"694":{"position":[[239,6],[352,6],[400,5]]},"697":{"position":[[173,5],[722,5]]},"722":{"position":[[110,5],[194,5]]},"726":{"position":[[123,5]]},"741":{"position":[[1205,6],[1355,6],[1551,5]]},"752":{"position":[[315,5],[374,5]]},"761":{"position":[[264,5],[320,5]]},"777":{"position":[[77,5]]},"809":{"position":[[26,5]]},"810":{"position":[[10,5]]},"813":{"position":[[50,5]]}},"keywords":{}}],["given_valu",{"_index":756,"title":{},"content":{"36":{"position":[[4835,14],[8832,14]]},"229":{"position":[[4835,14],[8832,14]]}},"keywords":{}}],["global",{"_index":2193,"title":{},"content":{"208":{"position":[[28,6]]},"364":{"position":[[382,7]]},"535":{"position":[[970,6]]}},"keywords":{}}],["global_set",{"_index":4605,"title":{"580":{"position":[[0,15]]}},"content":{"580":{"position":[[322,14]]},"582":{"position":[[245,14],[373,14]]}},"keywords":{}}],["global_subset",{"_index":4609,"title":{"581":{"position":[[0,18]]}},"content":{"581":{"position":[[862,17]]},"582":{"position":[[264,17],[392,17]]}},"keywords":{}}],["gmt",{"_index":1516,"title":{},"content":{"81":{"position":[[838,3]]},"82":{"position":[[926,4],[1048,4],[1287,3],[6579,3]]}},"keywords":{}}],["go",{"_index":575,"title":{"567":{"position":[[12,2]]}},"content":{"27":{"position":[[164,2]]},"42":{"position":[[3064,2]]},"131":{"position":[[310,2],[506,2]]},"319":{"position":[[17,5]]},"324":{"position":[[723,2]]},"358":{"position":[[570,2]]},"359":{"position":[[485,2],[651,2],[795,2],[2034,2],[2466,2]]},"380":{"position":[[1856,2]]},"419":{"position":[[305,5]]},"473":{"position":[[827,2]]},"509":{"position":[[330,2]]},"530":{"position":[[627,2]]},"535":{"position":[[346,2]]},"536":{"position":[[312,2]]},"559":{"position":[[1352,4]]},"566":{"position":[[109,2]]},"575":{"position":[[258,2]]},"612":{"position":[[551,5],[731,5]]},"722":{"position":[[252,3]]},"797":{"position":[[42,2]]}},"keywords":{}}],["go/retri",{"_index":3189,"title":{},"content":{"349":{"position":[[6035,8]]}},"keywords":{}}],["goal",{"_index":3728,"title":{},"content":{"387":{"position":[[97,6]]},"538":{"position":[[187,4]]},"546":{"position":[[1523,6]]}},"keywords":{}}],["goe",{"_index":4172,"title":{},"content":{"472":{"position":[[543,4]]},"473":{"position":[[1289,4]]},"565":{"position":[[168,4]]},"618":{"position":[[277,4],[416,4]]},"625":{"position":[[246,4],[385,4]]},"631":{"position":[[256,4],[395,4]]}},"keywords":{}}],["gone",{"_index":3123,"title":{},"content":{"347":{"position":[[125,4]]},"473":{"position":[[1380,4]]},"659":{"position":[[477,4],[801,4]]}},"keywords":{}}],["good",{"_index":821,"title":{},"content":{"36":{"position":[[9028,4]]},"229":{"position":[[9028,4]]},"279":{"position":[[7151,4]]},"302":{"position":[[1401,4]]},"354":{"position":[[101,4]]},"367":{"position":[[340,4]]},"432":{"position":[[1141,4]]},"504":{"position":[[310,4]]},"540":{"position":[[1816,4],[2703,4],[3821,4]]},"545":{"position":[[450,4]]},"612":{"position":[[864,4]]},"741":{"position":[[1307,4],[1457,4]]}},"keywords":{}}],["googl",{"_index":3237,"title":{},"content":{"356":{"position":[[743,6]]}},"keywords":{}}],["gotcha",{"_index":4484,"title":{},"content":{"552":{"position":[[1673,6]]}},"keywords":{}}],["goto",{"_index":2906,"title":{},"content":{"309":{"position":[[3939,4]]},"404":{"position":[[2633,5]]}},"keywords":{}}],["govern",{"_index":3797,"title":{},"content":{"391":{"position":[[542,10]]}},"keywords":{}}],["gplv3",{"_index":3746,"title":{},"content":{"389":{"position":[[119,5]]}},"keywords":{}}],["grab",{"_index":1216,"title":{},"content":{"55":{"position":[[140,4]]},"413":{"position":[[133,4]]},"669":{"position":[[488,4]]}},"keywords":{}}],["grafana",{"_index":3357,"title":{"365":{"position":[[0,8]]}},"content":{"364":{"position":[[280,7]]},"365":{"position":[[1,7]]}},"keywords":{}}],["grafana/grafana",{"_index":3385,"title":{},"content":{"365":{"position":[[420,15]]}},"keywords":{}}],["grain",{"_index":3019,"title":{},"content":{"330":{"position":[[768,7]]}},"keywords":{}}],["graph",{"_index":3200,"title":{"522":{"position":[[0,5]]},"524":{"position":[[0,5]]}},"content":{"350":{"position":[[762,5]]},"352":{"position":[[28,8],[177,6],[300,8],[353,9],[400,8],[463,5],[828,8],[925,8]]},"365":{"position":[[118,7]]},"369":{"position":[[547,6],[952,6]]},"519":{"position":[[24,8],[94,6],[122,6]]},"521":{"position":[[30,7]]},"522":{"position":[[168,5],[226,7],[273,5],[310,7],[329,7],[589,5],[643,5],[668,5],[1051,5],[1145,5],[1205,5],[1274,5],[1348,5]]},"523":{"position":[[231,5],[262,9],[300,5],[355,5],[446,5],[476,5],[570,5]]},"524":{"position":[[5,6],[102,6],[185,6],[242,5],[334,5],[388,6],[442,6],[477,6],[526,5],[639,6],[710,5],[823,6],[877,5],[944,5],[974,7],[1015,6]]},"574":{"position":[[108,5]]},"626":{"position":[[17,5],[631,5],[764,5],[1293,5],[1638,5],[1759,5],[1891,5],[1953,5],[1984,5]]},"627":{"position":[[22,5],[684,5],[817,5],[1346,5],[1691,5],[1812,5],[1944,5],[2006,5],[2037,5]]},"628":{"position":[[651,5],[789,5],[1318,5],[1663,5],[1784,5],[1916,5],[1978,5],[2009,5]]}},"keywords":{}}],["graphedit",{"_index":4256,"title":{},"content":{"522":{"position":[[57,9]]}},"keywords":{}}],["grapher",{"_index":2608,"title":{"352":{"position":[[10,8]]},"518":{"position":[[10,7]]},"520":{"position":[[10,7]]}},"content":{"275":{"position":[[657,7]]},"290":{"position":[[112,7]]},"352":{"position":[[11,7],[150,7],[269,7],[378,7],[508,7],[597,7],[709,7],[806,7],[903,7],[1004,7],[1100,7]]},"519":{"position":[[11,7]]},"522":{"position":[[67,7],[97,7],[191,7],[1028,7]]}},"keywords":{}}],["graphic",{"_index":3128,"title":{},"content":{"348":{"position":[[80,9]]},"574":{"position":[[37,9]]},"636":{"position":[[112,9]]},"658":{"position":[[20,9]]}},"keywords":{}}],["graphingpaus",{"_index":4254,"title":{},"content":{"522":{"position":[[33,13]]}},"keywords":{}}],["graphstart",{"_index":4253,"title":{},"content":{"522":{"position":[[13,10]]}},"keywords":{}}],["graphstop",{"_index":4255,"title":{},"content":{"522":{"position":[[47,9]]}},"keywords":{}}],["gray",{"_index":4687,"title":{},"content":{"611":{"position":[[194,4]]},"635":{"position":[[85,4]]}},"keywords":{}}],["great",{"_index":3738,"title":{},"content":{"387":{"position":[[1439,5]]},"540":{"position":[[1045,5],[1063,5]]},"546":{"position":[[270,5]]},"550":{"position":[[113,5]]},"571":{"position":[[70,5]]}},"keywords":{}}],["greater",{"_index":713,"title":{},"content":{"36":{"position":[[2977,7]]},"229":{"position":[[2977,7]]},"279":{"position":[[2186,7],[9113,7],[9234,7],[9392,7],[9731,7],[10156,7]]},"579":{"position":[[186,7]]},"741":{"position":[[897,7],[1222,7],[1372,7]]}},"keywords":{}}],["greatli",{"_index":4852,"title":{},"content":{"658":{"position":[[1127,7]]}},"keywords":{}}],["green",{"_index":40,"title":{},"content":{"2":{"position":[[217,5]]},"279":{"position":[[2532,6],[2795,5],[9471,5],[9499,5],[9513,5],[9685,5],[9786,5],[9857,5],[9886,5],[9900,5],[10072,5],[10173,5]]},"299":{"position":[[1105,5]]},"343":{"position":[[308,5]]},"347":{"position":[[655,6]]},"454":{"position":[[271,5],[361,5],[440,5]]},"473":{"position":[[177,5],[1393,5],[1590,6]]},"487":{"position":[[190,6]]},"517":{"position":[[165,5]]},"530":{"position":[[343,6]]},"585":{"position":[[382,5]]},"586":{"position":[[385,5]]},"587":{"position":[[262,5],[274,5]]},"588":{"position":[[256,5],[268,5]]},"589":{"position":[[267,5],[279,5]]},"591":{"position":[[944,5],[979,5]]},"612":{"position":[[869,5]]},"619":{"position":[[82,5],[278,6],[779,5]]},"651":{"position":[[496,5]]},"652":{"position":[[908,5],[1025,5]]},"741":{"position":[[1182,5],[1235,5],[1331,5],[1385,5]]},"743":{"position":[[65,8]]}},"keywords":{}}],["green_high",{"_index":5425,"title":{},"content":{"741":{"position":[[1259,10],[1409,10]]}},"keywords":{}}],["grep",{"_index":924,"title":{},"content":{"42":{"position":[[933,4]]}},"keywords":{}}],["grey",{"_index":4618,"title":{},"content":{"584":{"position":[[330,4]]},"585":{"position":[[308,4]]},"586":{"position":[[310,4]]}},"keywords":{}}],["grid",{"_index":4240,"title":{},"content":{"506":{"position":[[290,4]]}},"keywords":{}}],["ground",{"_index":1245,"title":{},"content":{"57":{"position":[[34,6]]},"96":{"position":[[555,6]]},"119":{"position":[[143,6]]},"343":{"position":[[922,6]]}},"keywords":{}}],["ground1statu",{"_index":4174,"title":{},"content":{"473":{"position":[[387,15],[1515,13]]},"650":{"position":[[951,13]]},"652":{"position":[[794,13],[857,13],[972,13]]}},"keywords":{}}],["group",{"_index":2535,"title":{"533":{"position":[[0,6]]}},"content":{"261":{"position":[[167,6]]},"297":{"position":[[11,5],[49,6],[141,5],[276,5],[367,5],[468,6],[508,5],[777,5]]},"298":{"position":[[76,5],[360,5]]},"309":{"position":[[791,5]]},"349":{"position":[[842,7],[882,5],[1176,6],[5141,7],[5176,6],[5354,5],[5416,5],[5444,5]]},"393":{"position":[[918,6]]},"419":{"position":[[61,7]]},"420":{"position":[[29,7],[43,6],[265,5]]},"421":{"position":[[183,5]]},"526":{"position":[[318,6]]},"532":{"position":[[117,6]]},"533":{"position":[[5,5],[157,5],[621,5],[901,5]]},"534":{"position":[[1,6],[358,5],[681,6],[820,6],[855,6],[895,5],[935,6]]},"535":{"position":[[784,5],[1325,5],[1347,5]]},"546":{"position":[[700,7],[923,6],[1021,5],[1272,7]]},"561":{"position":[[619,5]]},"641":{"position":[[11,5],[65,5]]},"642":{"position":[[331,5]]},"654":{"position":[[749,5]]},"734":{"position":[[77,6],[145,5],[197,5],[227,6]]},"735":{"position":[[78,6],[147,5],[199,5],[229,6]]},"736":{"position":[[28,6]]},"794":{"position":[[52,6]]},"795":{"position":[[72,5],[238,5],[326,5],[773,5],[836,6],[869,5],[931,5],[1028,5],[1634,6]]}},"keywords":{}}],["group'",{"_index":5704,"title":{},"content":{"795":{"position":[[8,7]]}},"keywords":{}}],["group.print("verifi",{"_index":4527,"title":{},"content":{"561":{"position":[[713,26]]}},"keywords":{}}],["group1",{"_index":2688,"title":{},"content":{"297":{"position":[[567,6],[606,6],[683,6]]}},"keywords":{}}],["group2",{"_index":2689,"title":{},"content":{"297":{"position":[[578,6],[630,6]]}},"keywords":{}}],["grow",{"_index":4266,"title":{},"content":{"524":{"position":[[324,5],[516,5],[700,5]]}},"keywords":{}}],["grpc",{"_index":1954,"title":{"114":{"position":[[0,4]]}},"content":{"114":{"position":[[5,4],[44,5],[54,4],[148,4],[169,4]]}},"keywords":{}}],["grpc_int",{"_index":1956,"title":{},"content":{"114":{"position":[[221,8]]}},"keywords":{}}],["grpc_interface.rb",{"_index":1957,"title":{},"content":{"114":{"position":[[230,17]]}},"keywords":{}}],["grpc_method",{"_index":1960,"title":{},"content":{"114":{"position":[[363,11],[453,11]]}},"keywords":{}}],["grpcinterfac",{"_index":1959,"title":{},"content":{"114":{"position":[[288,13]]},"223":{"position":[[108,14]]}},"keywords":{}}],["gsaw",{"_index":3529,"title":{},"content":{"369":{"position":[[4122,4]]}},"keywords":{}}],["gse",{"_index":1994,"title":{},"content":{"119":{"position":[[168,6]]},"301":{"position":[[282,3],[307,3],[915,3]]},"302":{"position":[[176,3],[287,3],[323,3],[334,3],[478,3],[746,3],[2560,3],[2571,3]]},"303":{"position":[[188,3],[311,3]]},"304":{"position":[[209,3],[343,3],[388,3],[914,3]]},"305":{"position":[[224,3],[368,3],[413,3],[1011,3],[1131,3]]},"306":{"position":[[266,3],[367,3]]},"307":{"position":[[474,3],[559,3]]},"343":{"position":[[947,6]]}},"keywords":{}}],["gse.gemspec",{"_index":2746,"title":{},"content":{"301":{"position":[[663,11]]}},"keywords":{}}],["gse_target_nam",{"_index":2781,"title":{},"content":{"302":{"position":[[2544,15],[2582,15],[2621,15],[2737,15]]}},"keywords":{}}],["gt",{"_index":204,"title":{},"content":{"6":{"position":[[204,5],[250,5],[355,5],[387,5],[422,5],[452,5]]},"7":{"position":[[269,5],[724,5]]},"20":{"position":[[768,4]]},"24":{"position":[[278,4]]},"36":{"position":[[7623,5],[7723,5]]},"83":{"position":[[3134,4],[3246,4]]},"91":{"position":[[1671,4],[2148,4]]},"92":{"position":[[1123,4],[1447,4]]},"216":{"position":[[659,4]]},"217":{"position":[[711,5],[791,5],[811,5],[914,5],[934,5],[1269,5],[1289,5],[2780,4]]},"221":{"position":[[129,5],[169,5],[209,5],[253,5]]},"229":{"position":[[7623,5],[7723,5]]},"251":{"position":[[876,5],[915,5],[980,5],[1040,5],[1304,4],[1644,5],[1683,5],[1748,5],[1808,5],[2109,4]]},"253":{"position":[[2402,5],[2441,5],[2506,5]]},"279":{"position":[[6222,5],[6321,5]]},"302":{"position":[[2598,5],[2753,5]]},"309":{"position":[[2024,4],[2084,4]]},"314":{"position":[[1217,5],[1245,5],[1268,5],[1288,5],[1311,5],[1338,5],[1364,5],[1410,5],[1450,5],[1522,5],[1547,5],[1636,5]]},"320":{"position":[[195,4],[1648,5],[1714,5]]},"358":{"position":[[6763,5],[6937,5],[7380,5]]},"362":{"position":[[903,8]]},"378":{"position":[[897,5],[1087,5],[1108,5],[1129,5],[1189,5]]},"402":{"position":[[1371,5],[1420,5],[1500,5],[1570,5],[2596,5],[3599,5]]},"450":{"position":[[62,4]]},"498":{"position":[[1009,5]]},"511":{"position":[[59,4]]},"532":{"position":[[193,4]]},"542":{"position":[[614,5],[811,5]]},"544":{"position":[[1562,5],[1842,5]]},"556":{"position":[[176,4]]},"559":{"position":[[627,4],[924,4]]},"564":{"position":[[474,4],[652,4]]},"565":{"position":[[796,4],[1074,4]]},"566":{"position":[[593,4],[844,4]]},"569":{"position":[[591,4]]},"633":{"position":[[568,5],[612,5],[656,5]]},"637":{"position":[[1040,5]]},"654":{"position":[[97,5]]},"677":{"position":[[299,5],[355,5],[1472,5],[1499,5],[1591,5],[1618,5]]},"678":{"position":[[491,5],[547,5],[1670,5],[1697,5]]},"679":{"position":[[504,5],[560,5]]},"680":{"position":[[555,5],[611,5],[1715,5],[1742,5]]},"681":{"position":[[343,5],[407,5],[1497,5],[1524,5]]},"682":{"position":[[530,5],[594,5],[1744,5],[1771,5]]},"683":{"position":[[543,5],[607,5]]},"684":{"position":[[594,5],[658,5],[1788,5],[1815,5]]},"685":{"position":[[494,6],[1055,6]]},"687":{"position":[[357,6],[817,6]]},"688":{"position":[[270,6],[396,6]]},"689":{"position":[[396,6],[859,6]]},"690":{"position":[[474,6],[1203,6]]},"691":{"position":[[471,6],[977,6]]},"692":{"position":[[552,5],[585,6],[723,6]]},"693":{"position":[[757,6],[896,6]]},"697":{"position":[[850,4],[908,4],[972,4],[1037,4],[1120,4],[1205,4],[1263,4],[1327,4],[1392,4],[1477,4]]},"699":{"position":[[1121,4],[1164,4]]},"700":{"position":[[481,5]]},"706":{"position":[[236,6]]},"711":{"position":[[631,5],[651,5]]},"714":{"position":[[334,6],[1357,6]]},"718":{"position":[[323,6]]},"719":{"position":[[399,6]]},"720":{"position":[[370,6]]},"722":{"position":[[391,6],[458,6]]},"724":{"position":[[1005,4],[1048,4]]},"726":{"position":[[1085,4],[1158,4],[1262,4],[1335,4]]},"728":{"position":[[858,4],[901,4]]},"731":{"position":[[574,6],[677,6]]},"740":{"position":[[425,6],[564,6],[614,6],[748,6],[871,6],[934,6]]},"746":{"position":[[112,6]]},"751":{"position":[[135,6]]},"763":{"position":[[126,6]]},"772":{"position":[[213,6]]},"773":{"position":[[97,6],[117,5],[137,5],[189,6]]},"774":{"position":[[76,6]]},"784":{"position":[[120,6]]},"792":{"position":[[192,6]]},"803":{"position":[[392,5],[430,5]]},"804":{"position":[[412,5]]},"807":{"position":[[150,6],[302,6]]},"808":{"position":[[114,6],[895,6]]},"809":{"position":[[347,6],[424,6],[541,6],[609,6]]},"810":{"position":[[438,6],[576,6]]},"812":{"position":[[158,6],[291,6]]},"813":{"position":[[281,6],[384,6]]},"814":{"position":[[482,6]]}},"keywords":{}}],["gt;"",{"_index":505,"title":{},"content":{"22":{"position":[[571,10]]},"253":{"position":[[2484,11]]}},"keywords":{}}],["gt;2901/tcp",{"_index":985,"title":{},"content":{"42":{"position":[[2462,12]]}},"keywords":{}}],["gt;2902/tcp",{"_index":987,"title":{},"content":{"42":{"position":[[2590,12]]}},"keywords":{}}],["gt;6379/tcp",{"_index":1003,"title":{},"content":{"42":{"position":[[3020,12]]}},"keywords":{}}],["gt;80/tcp",{"_index":992,"title":{},"content":{"42":{"position":[[2712,10]]}},"keywords":{}}],["gt;9000/tcp",{"_index":998,"title":{},"content":{"42":{"position":[[2910,12]]}},"keywords":{}}],["gt;_int",{"_index":2782,"title":{},"content":{"302":{"position":[[2637,9]]},"358":{"position":[[6802,9]]},"378":{"position":[[1050,9]]}},"keywords":{}}],["gt;color",{"_index":3205,"title":{},"content":{"350":{"position":[[1268,9]]}},"keywords":{}}],["gt;execut",{"_index":3167,"title":{},"content":{"349":{"position":[[3614,11],[3928,11]]}},"keywords":{}}],["gt;inspect",{"_index":1762,"title":{},"content":{"93":{"position":[[361,11]]}},"keywords":{}}],["gt;load",{"_index":3222,"title":{},"content":{"353":{"position":[[772,8]]}},"keywords":{}}],["gt;mnemon",{"_index":3171,"title":{},"content":{"349":{"position":[[4031,12]]}},"keywords":{}}],["gt;option",{"_index":3202,"title":{},"content":{"350":{"position":[[1094,11]]}},"keywords":{}}],["gt;rubi",{"_index":3172,"title":{},"content":{"349":{"position":[[4127,8]]}},"keywords":{}}],["gt;save",{"_index":3212,"title":{},"content":{"351":{"position":[[621,8]]},"353":{"position":[[686,8]]}},"keywords":{}}],["gt;show",{"_index":4142,"title":{},"content":{"454":{"position":[[518,8]]}},"keywords":{}}],["gt;toggl",{"_index":3176,"title":{},"content":{"349":{"position":[[4422,10],[4630,10]]}},"keywords":{}}],["gt;view",{"_index":3174,"title":{},"content":{"349":{"position":[[4234,8]]}},"keywords":{}}],["guarante",{"_index":552,"title":{},"content":{"24":{"position":[[933,10]]},"36":{"position":[[4756,10],[8753,10]]},"229":{"position":[[4756,10],[8753,10]]},"344":{"position":[[968,11]]},"349":{"position":[[2658,10],[3238,10],[3396,10],[3431,10]]},"402":{"position":[[5170,11]]},"429":{"position":[[361,9]]}},"keywords":{}}],["gui",{"_index":631,"title":{},"content":{"33":{"position":[[123,3]]},"36":{"position":[[10561,3]]},"83":{"position":[[193,3]]},"346":{"position":[[363,3],[1319,3]]},"351":{"position":[[211,3]]},"494":{"position":[[135,3]]}},"keywords":{}}],["guid",{"_index":83,"title":{"537":{"position":[[15,5]]},"655":{"position":[[14,5]]}},"content":{"3":{"position":[[17,5]]},"35":{"position":[[1331,5]]},"37":{"position":[[1124,5]]},"88":{"position":[[397,6],[485,5]]},"100":{"position":[[615,5]]},"203":{"position":[[362,5]]},"228":{"position":[[1360,5]]},"230":{"position":[[1143,5]]},"231":{"position":[[1504,5]]},"232":{"position":[[1340,5]]},"278":{"position":[[966,5]]},"280":{"position":[[758,5]]},"281":{"position":[[1060,5]]},"282":{"position":[[729,5]]},"302":{"position":[[1945,5]]},"306":{"position":[[154,6]]},"323":{"position":[[80,6]]},"333":{"position":[[1035,6]]},"358":{"position":[[138,5],[697,5],[8130,6]]},"538":{"position":[[6,5]]},"539":{"position":[[129,5]]},"576":{"position":[[421,6]]},"657":{"position":[[185,5],[292,6]]}},"keywords":{}}],["guidanc",{"_index":4326,"title":{},"content":{"538":{"position":[[306,8]]}},"keywords":{}}],["guidelin",{"_index":2562,"title":{},"content":{"265":{"position":[[221,10]]},"540":{"position":[[1230,11]]}},"keywords":{}}],["guiview",{"_index":1766,"title":{},"content":{"93":{"position":[[471,7]]}},"keywords":{}}],["gutter",{"_index":4497,"title":{},"content":{"555":{"position":[[42,7]]}},"keywords":{}}],["gzip",{"_index":3083,"title":{},"content":{"338":{"position":[[272,7]]},"440":{"position":[[424,7]]}},"keywords":{}}],["h",{"_index":1475,"title":{},"content":{"81":{"position":[[172,1],[222,1]]},"82":{"position":[[421,1],[4715,1],[4765,1]]},"83":{"position":[[809,1],[841,1],[880,1],[907,1],[937,1],[962,1],[999,1],[1100,1],[2312,1],[2342,1],[2371,1],[2408,1],[2436,1]]},"93":{"position":[[970,1]]}},"keywords":{}}],["habitu",{"_index":4086,"title":{},"content":{"431":{"position":[[12,10]]}},"keywords":{}}],["hack",{"_index":122,"title":{},"content":{"3":{"position":[[577,7]]},"386":{"position":[[252,4]]}},"keywords":{}}],["half",{"_index":4267,"title":{},"content":{"524":{"position":[[430,4],[566,4],[748,4]]}},"keywords":{}}],["hand",{"_index":5656,"title":{},"content":{"780":{"position":[[379,4],[448,4]]},"787":{"position":[[552,4],[621,4]]}},"keywords":{}}],["handbook",{"_index":2417,"title":{"456":{"position":[[0,9]]}},"content":{"237":{"position":[[69,8]]},"290":{"position":[[124,8]]},"457":{"position":[[1,9]]}},"keywords":{}}],["handi",{"_index":86,"title":{},"content":{"3":{"position":[[55,5],[301,5]]},"658":{"position":[[908,5]]}},"keywords":{}}],["handl",{"_index":1207,"title":{"696":{"position":[[0,8]]}},"content":{"54":{"position":[[544,6]]},"55":{"position":[[351,6]]},"58":{"position":[[25,7]]},"59":{"position":[[25,7]]},"60":{"position":[[25,7]]},"65":{"position":[[327,6]]},"70":{"position":[[209,7]]},"73":{"position":[[1460,8]]},"115":{"position":[[1257,7],[1522,7]]},"126":{"position":[[186,6]]},"140":{"position":[[150,6]]},"213":{"position":[[182,7],[315,8]]},"275":{"position":[[609,7]]},"321":{"position":[[205,7]]},"383":{"position":[[1768,6]]},"393":{"position":[[1112,6]]},"402":{"position":[[1382,6],[1511,6],[1581,6],[4870,7]]},"413":{"position":[[138,7]]},"430":{"position":[[646,7]]},"559":{"position":[[311,6]]},"566":{"position":[[164,8]]},"568":{"position":[[994,6]]},"669":{"position":[[15,6]]},"715":{"position":[[134,7]]},"730":{"position":[[25,8]]}},"keywords":{}}],["happen",{"_index":1388,"title":{},"content":{"67":{"position":[[2754,8]]},"378":{"position":[[610,7]]},"387":{"position":[[568,8]]},"535":{"position":[[1450,7]]},"540":{"position":[[4036,10]]},"551":{"position":[[429,7]]}},"keywords":{}}],["haproxi",{"_index":537,"title":{},"content":{"24":{"position":[[295,7]]}},"keywords":{}}],["har8x3rauvsluprp2basy1xsmnna1jvb",{"_index":1564,"title":{},"content":{"82":{"position":[[4316,32]]}},"keywords":{}}],["hard",{"_index":1359,"title":{},"content":{"67":{"position":[[468,4]]},"321":{"position":[[1303,4]]},"368":{"position":[[524,4]]}},"keywords":{}}],["hardwar",{"_index":1814,"title":{"358":{"position":[[22,9]]},"366":{"position":[[7,8]]}},"content":{"97":{"position":[[145,8]]},"119":{"position":[[36,8],[212,8]]},"128":{"position":[[109,9],[228,9]]},"358":{"position":[[88,9]]},"369":{"position":[[3754,9],[3930,9],[4004,8]]},"383":{"position":[[526,9]]},"387":{"position":[[381,8]]},"556":{"position":[[106,8],[367,9],[848,9]]}},"keywords":{}}],["hardware"",{"_index":3602,"title":{},"content":{"378":{"position":[[112,15]]}},"keywords":{}}],["hash",{"_index":455,"title":{},"content":{"20":{"position":[[1032,4]]},"36":{"position":[[4889,4],[8886,4]]},"48":{"position":[[1226,4],[1288,4]]},"91":{"position":[[1079,4],[1611,4],[1625,4]]},"217":{"position":[[2323,4],[2374,4]]},"229":{"position":[[4889,4],[8886,4]]},"267":{"position":[[60,7]]},"637":{"position":[[1469,4]]},"687":{"position":[[112,6]]},"689":{"position":[[19,4]]},"690":{"position":[[11,4]]},"691":{"position":[[18,4]]},"692":{"position":[[333,4]]},"702":{"position":[[18,4]]},"705":{"position":[[39,7]]},"707":{"position":[[18,5]]},"708":{"position":[[17,5]]},"711":{"position":[[275,4],[280,4],[354,5],[473,5]]},"740":{"position":[[9,4]]},"747":{"position":[[18,4]]},"770":{"position":[[141,4]]},"773":{"position":[[39,4]]},"803":{"position":[[143,4]]},"804":{"position":[[146,4]]}},"keywords":{}}],["hat",{"_index":3005,"title":{},"content":{"330":{"position":[[174,3]]}},"keywords":{}}],["have",{"_index":398,"title":{},"content":{"20":{"position":[[105,6]]},"36":{"position":[[1601,6]]},"127":{"position":[[268,6]]},"229":{"position":[[1601,6]]},"279":{"position":[[1596,6]]},"358":{"position":[[1831,6]]},"387":{"position":[[959,6]]},"424":{"position":[[1109,6]]},"547":{"position":[[100,6]]},"556":{"position":[[787,6]]},"572":{"position":[[79,6]]},"799":{"position":[[256,6]]}},"keywords":{}}],["hazard",{"_index":94,"title":{"241":{"position":[[0,10]]},"468":{"position":[[0,9]]}},"content":{"3":{"position":[[145,10]]},"36":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"91":{"position":[[319,9],[400,9],[1353,10],[1372,9]]},"229":{"position":[[3124,9],[3176,10],[3275,9],[3396,9],[3412,9],[3470,9],[3784,9],[3899,9]]},"241":{"position":[[35,9],[56,9],[219,9]]},"250":{"position":[[161,10]]},"348":{"position":[[1873,9],[1938,9]]},"468":{"position":[[9,9],[104,9]]},"513":{"position":[[736,9],[832,9]]},"638":{"position":[[259,9]]},"654":{"position":[[893,9]]},"679":{"position":[[74,9],[175,9]]},"680":{"position":[[100,9],[201,9]]},"683":{"position":[[97,9],[198,9]]},"684":{"position":[[123,9],[224,9]]},"690":{"position":[[1524,12]]},"692":{"position":[[74,10],[422,9],[475,9],[575,9],[616,9]]}},"keywords":{}}],["hazard"",{"_index":736,"title":{},"content":{"36":{"position":[[3834,12]]},"229":{"position":[[3834,12]]}},"keywords":{}}],["head",{"_index":2199,"title":{},"content":{"209":{"position":[[153,6],[293,6]]}},"keywords":{}}],["header",{"_index":275,"title":{"47":{"position":[[5,7]]}},"content":{"7":{"position":[[1130,7]]},"36":{"position":[[818,6]]},"48":{"position":[[89,7]]},"54":{"position":[[450,6]]},"55":{"position":[[286,6],[2883,6]]},"58":{"position":[[165,6],[242,6]]},"61":{"position":[[1769,7]]},"62":{"position":[[69,7]]},"83":{"position":[[1286,7]]},"85":{"position":[[32,6],[225,7]]},"138":{"position":[[118,7]]},"217":{"position":[[879,7],[1256,7],[2017,6],[2344,7]]},"229":{"position":[[818,6]]},"240":{"position":[[207,6]]},"253":{"position":[[179,6],[262,6],[341,6],[358,6],[440,6],[528,6],[619,6],[706,6],[1057,6],[1140,6],[1219,6],[1236,6],[1318,6],[1406,6],[1497,6],[1584,6],[1827,6],[1910,6],[1989,6],[2006,6],[2088,6],[2176,6],[2267,6],[2354,6]]},"279":{"position":[[813,6]]},"287":{"position":[[216,6]]},"299":{"position":[[345,6]]},"379":{"position":[[1244,6],[1586,6],[3103,6]]},"393":{"position":[[91,8]]},"479":{"position":[[177,6]]},"483":{"position":[[193,7]]},"484":{"position":[[126,7]]},"514":{"position":[[112,8]]},"515":{"position":[[115,8]]}},"keywords":{}}],["headeraliassetalia",{"_index":3853,"title":{},"content":{"400":{"position":[[55,19]]}},"keywords":{}}],["headerlist",{"_index":4189,"title":{},"content":{"479":{"position":[[139,10]]}},"keywords":{}}],["headeronli",{"_index":4187,"title":{},"content":{"479":{"position":[[77,10]]}},"keywords":{}}],["headless",{"_index":3434,"title":{},"content":{"369":{"position":[[786,8],[926,9],[2272,8]]}},"keywords":{}}],["health",{"_index":304,"title":{},"content":{"9":{"position":[[555,7],[704,7]]},"96":{"position":[[174,6]]},"276":{"position":[[611,6]]}},"keywords":{}}],["health_statu",{"_index":244,"title":{},"content":{"7":{"position":[[153,13],[829,13]]},"8":{"position":[[167,13],[324,13]]},"9":{"position":[[181,13],[347,13],[530,13],[679,13]]},"81":{"position":[[372,13]]},"82":{"position":[[6125,13]]},"92":{"position":[[1236,13]]},"93":{"position":[[776,13]]},"213":{"position":[[881,13]]},"251":{"position":[[1974,13],[2082,13]]},"276":{"position":[[569,13]]},"285":{"position":[[405,13]]},"286":{"position":[[462,13]]},"296":{"position":[[479,13]]},"298":{"position":[[434,13],[477,13],[520,13]]},"320":{"position":[[1654,13],[1720,13]]},"369":{"position":[[573,13]]},"473":{"position":[[438,13],[468,13]]},"540":{"position":[[2191,13],[2457,13],[2567,13],[3107,13],[3367,13],[3477,13]]},"542":{"position":[[343,13],[481,13],[591,13],[677,13],[788,13]]},"563":{"position":[[575,17],[912,17]]},"566":{"position":[[566,13],[808,13]]},"591":{"position":[[794,13],[901,13]]},"609":{"position":[[579,13],[644,13]]},"615":{"position":[[585,13],[665,13]]},"617":{"position":[[470,13],[531,13]]},"618":{"position":[[843,13],[910,13]]},"620":{"position":[[459,13],[511,13]]},"621":{"position":[[460,13],[515,13]]},"622":{"position":[[456,13],[511,13]]},"623":{"position":[[428,13],[481,13]]},"624":{"position":[[433,13],[489,13]]},"625":{"position":[[807,13],[869,13]]},"626":{"position":[[560,13]]},"627":{"position":[[594,13]]},"628":{"position":[[583,13]]},"631":{"position":[[718,13],[772,13]]},"632":{"position":[[600,13],[637,13],[812,13],[849,13]]},"633":{"position":[[346,13]]},"634":{"position":[[309,13]]},"635":{"position":[[658,13],[702,13]]},"648":{"position":[[623,13],[677,13]]},"650":{"position":[[937,13]]},"652":{"position":[[780,13],[843,13],[958,13]]},"654":{"position":[[145,13],[184,13],[227,13]]},"697":{"position":[[827,13],[885,13],[949,13],[1014,13],[1097,13],[1182,13],[1240,13],[1304,13],[1369,13],[1454,13]]},"698":{"position":[[780,13],[848,13],[947,13],[1015,13]]},"699":{"position":[[1096,13],[1142,13]]},"701":{"position":[[585,13],[721,13],[784,13],[848,13],[929,13],[1013,13],[1149,13],[1212,13],[1276,13],[1357,13]]},"708":{"position":[[400,13]]},"709":{"position":[[447,13]]},"710":{"position":[[706,13],[789,13],[843,13],[907,13],[993,13],[1075,13],[1129,13],[1193,13]]},"712":{"position":[[590,13],[679,13],[789,13],[878,13]]},"713":{"position":[[409,13],[483,13],[596,13],[670,13]]},"714":{"position":[[282,13],[1303,13],[1407,16],[1521,16],[1641,16],[1763,16]]},"716":{"position":[[364,17]]},"717":{"position":[[461,17],[964,17]]},"722":{"position":[[1554,13],[1619,13],[1764,13],[1829,13]]},"723":{"position":[[1300,13],[1381,13],[1507,13],[1588,13]]},"724":{"position":[[980,13],[1026,13]]},"725":{"position":[[849,16],[891,13]]},"726":{"position":[[1062,13],[1135,13],[1239,13],[1312,13]]},"727":{"position":[[1123,13],[1210,13],[1328,13],[1415,13]]},"728":{"position":[[833,13],[879,13]]},"729":{"position":[[827,16],[869,13]]},"731":{"position":[[547,13],[650,13]]},"732":{"position":[[399,13]]},"733":{"position":[[402,13]]},"740":{"position":[[387,16],[708,16]]},"741":{"position":[[1999,16]]},"743":{"position":[[478,16]]},"786":{"position":[[577,13],[849,13]]},"787":{"position":[[1039,13],[1322,13]]}},"keywords":{}}],["health_status"",{"_index":5241,"title":{},"content":{"702":{"position":[[436,20]]},"703":{"position":[[688,20],[805,20]]},"707":{"position":[[323,20]]},"709":{"position":[[399,20]]},"718":{"position":[[302,20]]},"720":{"position":[[349,20]]}},"keywords":{}}],["height",{"_index":4268,"title":{"584":{"position":[[0,7]]}},"content":{"524":{"position":[[435,6],[761,6],[816,6]]},"577":{"position":[[314,6],[321,6]]},"584":{"position":[[17,6],[25,6],[132,6],[269,6],[343,6]]},"599":{"position":[[183,6]]},"602":{"position":[[166,6],[173,6]]},"607":{"position":[[119,6],[126,6]]},"609":{"position":[[235,6],[242,6]]},"610":{"position":[[235,6],[242,6]]},"612":{"position":[[338,6],[345,6]]},"618":{"position":[[750,6],[757,6]]},"619":{"position":[[646,6],[653,6]]},"620":{"position":[[375,6],[382,6]]},"621":{"position":[[373,6],[380,6]]},"625":{"position":[[719,6],[726,6]]},"626":{"position":[[2048,6],[2055,6]]},"627":{"position":[[2101,6],[2108,6]]},"628":{"position":[[2073,6],[2080,6]]},"631":{"position":[[635,6],[642,6]]},"634":{"position":[[222,6],[229,6]]},"646":{"position":[[257,6],[264,6]]},"650":{"position":[[832,6],[839,6]]}},"keywords":{}}],["helloworld",{"_index":2188,"title":{"320":{"position":[[0,10]]}},"content":{"203":{"position":[[240,10],[508,10]]},"306":{"position":[[915,10]]},"319":{"position":[[208,10],[421,10]]},"320":{"position":[[5,10],[1680,10]]}},"keywords":{}}],["helloworldwidget",{"_index":2804,"title":{},"content":{"306":{"position":[[403,16],[427,16],[483,16]]},"320":{"position":[[1018,16]]}},"keywords":{}}],["helloworldwidget.vu",{"_index":2945,"title":{},"content":{"320":{"position":[[88,21]]}},"keywords":{}}],["helm",{"_index":2537,"title":{},"content":{"261":{"position":[[300,4]]},"267":{"position":[[499,4]]}},"keywords":{}}],["help",{"_index":80,"title":{"3":{"position":[[0,7]]}},"content":{"3":{"position":[[195,4],[261,4],[413,4]]},"31":{"position":[[264,5]]},"42":{"position":[[279,4]]},"263":{"position":[[292,5]]},"271":{"position":[[1664,4]]},"275":{"position":[[534,5]]},"307":{"position":[[393,4],[1596,4]]},"328":{"position":[[119,4]]},"333":{"position":[[869,4],[965,5],[1173,5],[1246,5]]},"369":{"position":[[3981,5]]},"432":{"position":[[610,4]]},"437":{"position":[[180,4]]},"557":{"position":[[41,4]]},"569":{"position":[[759,4]]},"787":{"position":[[185,4]]}},"keywords":{}}],["helper",{"_index":1317,"title":{"63":{"position":[[0,6]]}},"content":{"63":{"position":[[31,6],[102,6]]},"237":{"position":[[144,6]]},"290":{"position":[[213,6]]},"302":{"position":[[1749,6]]},"333":{"position":[[1464,6]]},"540":{"position":[[2319,6],[3231,6]]},"551":{"position":[[394,6]]}},"keywords":{}}],["helper.setup",{"_index":4362,"title":{},"content":{"540":{"position":[[2346,12],[3256,14]]}},"keywords":{}}],["helper_util",{"_index":4377,"title":{},"content":{"540":{"position":[[4394,16]]}},"keywords":{}}],["helperutil",{"_index":4373,"title":{},"content":{"540":{"position":[[3240,15]]}},"keywords":{}}],["helperutility.new",{"_index":4361,"title":{},"content":{"540":{"position":[[2328,17]]}},"keywords":{}}],["here",{"_index":437,"title":{},"content":{"20":{"position":[[761,4]]},"22":{"position":[[564,4]]},"42":{"position":[[527,4]]},"83":{"position":[[654,4],[1342,4],[3198,5]]},"88":{"position":[[613,5]]},"139":{"position":[[899,4]]},"214":{"position":[[1147,4]]},"274":{"position":[[282,4]]},"301":{"position":[[1213,5]]},"302":{"position":[[2117,4]]},"307":{"position":[[1792,5]]},"320":{"position":[[188,4],[1458,4]]},"321":{"position":[[172,4]]},"332":{"position":[[1293,4]]},"358":{"position":[[3318,4],[6472,4]]},"361":{"position":[[110,4]]},"363":{"position":[[429,4]]},"389":{"position":[[220,5],[289,4]]},"390":{"position":[[218,5]]},"402":{"position":[[1475,4]]},"435":{"position":[[70,4]]},"513":{"position":[[800,4]]},"531":{"position":[[390,5]]},"549":{"position":[[118,4],[297,4],[402,4]]},"550":{"position":[[413,4],[524,4],[649,4],[761,4]]},"552":{"position":[[2308,4],[2456,4]]},"569":{"position":[[1032,4]]},"582":{"position":[[469,5]]},"786":{"position":[[609,4],[881,4]]},"787":{"position":[[1071,4],[1371,4]]},"795":{"position":[[1166,4],[1250,4],[1296,4],[1341,4],[1713,4],[1790,4],[1844,4],[1897,4]]}},"keywords":{}}],["here"",{"_index":4573,"title":{},"content":{"569":{"position":[[1108,11]]}},"keywords":{}}],["here'",{"_index":95,"title":{},"content":{"3":{"position":[[156,6]]},"386":{"position":[[1,6]]},"533":{"position":[[317,6]]}},"keywords":{}}],["hex",{"_index":661,"title":{},"content":{"36":{"position":[[223,4],[10152,3]]},"53":{"position":[[771,3]]},"54":{"position":[[1169,3]]},"55":{"position":[[2069,3]]},"56":{"position":[[565,3],[697,3],[1071,3]]},"60":{"position":[[574,3]]},"61":{"position":[[1378,3],[1510,3],[2243,3]]},"62":{"position":[[361,3]]},"138":{"position":[[292,3]]},"229":{"position":[[223,4],[10152,3]]},"271":{"position":[[1884,4]]},"279":{"position":[[218,4]]},"348":{"position":[[1569,4],[1666,4]]},"468":{"position":[[291,3]]}},"keywords":{}}],["hex"",{"_index":3134,"title":{},"content":{"348":{"position":[[1610,9]]}},"keywords":{}}],["hexshow",{"_index":4161,"title":{},"content":{"466":{"position":[[70,8]]}},"keywords":{}}],["hh:mm:ss",{"_index":4719,"title":{},"content":{"626":{"position":[[1409,9]]},"627":{"position":[[1462,9]]},"628":{"position":[[1434,9]]}},"keywords":{}}],["hh:mm:ss.sss",{"_index":2612,"title":{},"content":{"275":{"position":[[844,12]]}},"keywords":{}}],["hidapips5",{"_index":2932,"title":{},"content":{"316":{"position":[[101,9]]}},"keywords":{}}],["hidden",{"_index":847,"title":{"237":{"position":[[0,7]]},"290":{"position":[[0,7]]}},"content":{"36":{"position":[[10470,7],[10566,6]]},"40":{"position":[[1466,6]]},"237":{"position":[[87,6]]},"387":{"position":[[754,7]]}},"keywords":{}}],["hide",{"_index":346,"title":{},"content":{"13":{"position":[[67,4]]},"14":{"position":[[64,4]]},"237":{"position":[[1,5]]},"238":{"position":[[40,5]]},"290":{"position":[[1,5],[150,5]]},"416":{"position":[[119,6]]},"473":{"position":[[1202,5],[1339,6],[1506,4]]},"506":{"position":[[597,4]]},"524":{"position":[[898,4]]}},"keywords":{}}],["hierarchi",{"_index":4126,"title":{},"content":{"439":{"position":[[137,9]]}},"keywords":{}}],["high",{"_index":840,"title":{"398":{"position":[[0,4]]}},"content":{"36":{"position":[[9934,4]]},"126":{"position":[[637,4]]},"229":{"position":[[9934,4]]},"268":{"position":[[12,4]]},"279":{"position":[[9197,4],[9293,4],[9314,4],[9355,4],[9434,4],[9519,4],[9792,4],[9863,4],[9906,4]]},"367":{"position":[[828,4]]},"420":{"position":[[219,4]]},"522":{"position":[[483,5]]},"550":{"position":[[119,4]]},"562":{"position":[[22,4]]},"618":{"position":[[340,4],[465,4]]},"625":{"position":[[309,4],[434,4]]},"631":{"position":[[319,4],[444,4]]},"741":{"position":[[425,4],[955,4],[967,4],[1046,4],[1085,4],[1094,4],[1337,4]]},"777":{"position":[[29,4],[86,4]]}},"keywords":{}}],["high>",{"_index":5420,"title":{},"content":{"741":{"position":[[357,9],[375,9]]}},"keywords":{}}],["higher",{"_index":826,"title":{},"content":{"36":{"position":[[9166,6]]},"229":{"position":[[9166,6]]},"279":{"position":[[7291,6]]},"309":{"position":[[3825,6]]},"545":{"position":[[63,6]]}},"keywords":{}}],["highest",{"_index":4424,"title":{},"content":{"546":{"position":[[757,7]]}},"keywords":{}}],["highli",{"_index":899,"title":{},"content":{"42":{"position":[[73,6]]},"43":{"position":[[1306,6]]}},"keywords":{}}],["highlight",{"_index":3143,"title":{},"content":{"349":{"position":[[133,12],[249,11],[289,11],[2190,9],[2266,11]]},"421":{"position":[[600,11]]},"505":{"position":[[143,12]]},"552":{"position":[[130,10],[641,11],[1048,12]]},"569":{"position":[[68,11]]},"778":{"position":[[167,12],[248,11]]},"793":{"position":[[52,12],[590,9],[730,9]]}},"keywords":{}}],["hint",{"_index":81,"title":{"3":{"position":[[8,6]]}},"content":{"13":{"position":[[37,4]]},"14":{"position":[[34,4]]}},"keywords":{}}],["histor",{"_index":1791,"title":{},"content":{"96":{"position":[[279,10]]},"402":{"position":[[4815,10],[5344,10]]},"424":{"position":[[734,10],[1527,10]]}},"keywords":{}}],["histori",{"_index":3140,"title":{"444":{"position":[[8,7]]}},"content":{"348":{"position":[[2115,7],[2203,7],[2290,8],[2341,7]]},"387":{"position":[[528,7]]},"445":{"position":[[9,7]]},"446":{"position":[[21,7]]},"462":{"position":[[553,8]]},"464":{"position":[[200,7],[266,7],[395,8]]},"467":{"position":[[496,8],[542,7],[706,8]]},"468":{"position":[[446,7]]},"523":{"position":[[392,8],[487,7],[608,8]]},"554":{"position":[[1088,7],[1127,7]]},"626":{"position":[[1299,7],[1425,8],[1469,7]]},"627":{"position":[[642,7],[1352,7],[1478,8],[1522,7]]},"628":{"position":[[611,7],[1324,7],[1450,8],[1494,7]]}},"keywords":{}}],["hit",{"_index":3085,"title":{},"content":{"338":{"position":[[618,3]]},"555":{"position":[[132,4]]},"559":{"position":[[1344,7]]},"797":{"position":[[53,3]]}},"keywords":{}}],["hk",{"_index":3655,"title":{},"content":{"379":{"position":[[2754,2]]}},"keywords":{}}],["hold",{"_index":1095,"title":{},"content":{"48":{"position":[[2079,5],[4180,7]]},"69":{"position":[[682,5]]},"309":{"position":[[733,7]]},"340":{"position":[[538,5]]},"402":{"position":[[5494,7],[5972,7],[6042,7],[6161,7]]},"440":{"position":[[210,5],[302,5],[472,5]]},"540":{"position":[[4746,5]]}},"keywords":{}}],["holder",{"_index":3767,"title":{},"content":{"389":{"position":[[2014,7]]},"390":{"position":[[948,7]]},"427":{"position":[[139,6]]}},"keywords":{}}],["home",{"_index":2840,"title":{},"content":{"309":{"position":[[694,4]]},"551":{"position":[[936,4],[1406,4]]}},"keywords":{}}],["home/.config/contain",{"_index":2894,"title":{},"content":{"309":{"position":[[3107,24],[3167,26]]}},"keywords":{}}],["home/.config/containers/registries.conf",{"_index":2891,"title":{},"content":{"309":{"position":[[2946,40],[3197,40]]}},"keywords":{}}],["home_gimb",{"_index":4465,"title":{},"content":{"551":{"position":[[922,11]]}},"keywords":{}}],["home_gimbal(self",{"_index":4477,"title":{},"content":{"551":{"position":[[1385,18]]}},"keywords":{}}],["homepag",{"_index":2747,"title":{},"content":{"301":{"position":[[779,9]]}},"keywords":{}}],["honor",{"_index":4067,"title":{},"content":{"429":{"position":[[102,8]]}},"keywords":{}}],["hook",{"_index":1455,"title":{},"content":{"77":{"position":[[137,4]]}},"keywords":{}}],["horizont",{"_index":2573,"title":{"596":{"position":[[0,11]]}},"content":{"267":{"position":[[547,10]]},"368":{"position":[[360,10]]},"524":{"position":[[345,12],[532,12]]},"589":{"position":[[376,10]]},"593":{"position":[[85,10],[145,12]]},"595":{"position":[[158,12]]},"596":{"position":[[36,12],[54,10],[205,10]]},"597":{"position":[[36,12]]},"605":{"position":[[27,10]]},"620":{"position":[[60,12]]},"654":{"position":[[296,10],[386,10]]}},"keywords":{}}],["horizontalbox",{"_index":4645,"title":{"597":{"position":[[0,14]]}},"content":{"597":{"position":[[75,13],[290,13]]}},"keywords":{}}],["horizontallin",{"_index":4671,"title":{"605":{"position":[[0,15]]}},"content":{"605":{"position":[[118,14]]},"606":{"position":[[145,14]]}},"keywords":{}}],["horribl",{"_index":3740,"title":{},"content":{"387":{"position":[[1581,8]]}},"keywords":{}}],["host",{"_index":1184,"title":{"313":{"position":[[0,4]]},"329":{"position":[[28,4]]}},"content":{"52":{"position":[[211,4]]},"106":{"position":[[127,4]]},"109":{"position":[[483,4]]},"110":{"position":[[476,4]]},"112":{"position":[[187,4]]},"268":{"position":[[97,4]]},"309":{"position":[[937,4],[1987,4]]},"312":{"position":[[81,4]]},"313":{"position":[[12,4]]},"314":{"position":[[2053,4]]},"328":{"position":[[138,4]]},"362":{"position":[[306,4],[636,4],[957,4]]},"455":{"position":[[242,5]]}},"keywords":{}}],["host'",{"_index":3286,"title":{},"content":{"358":{"position":[[7765,6]]}},"keywords":{}}],["host.docker.intern",{"_index":1843,"title":{},"content":{"104":{"position":[[900,20],[1031,20],[1141,20],[1251,20],[1386,20],[1495,20],[1611,20],[1775,20],[1925,20],[2054,20],[2184,20],[2337,20],[2464,20],[2599,20]]},"106":{"position":[[933,20],[1076,20]]},"130":{"position":[[182,20],[326,20]]},"131":{"position":[[223,20],[419,20]]},"132":{"position":[[226,20],[425,20]]},"139":{"position":[[761,20],[1048,20]]},"302":{"position":[[2673,20]]},"314":{"position":[[2134,20]]},"358":{"position":[[6856,20],[7679,20]]}},"keywords":{}}],["hosthidapi",{"_index":2931,"title":{},"content":{"316":{"position":[[68,11]]}},"keywords":{}}],["hostnam",{"_index":435,"title":{},"content":{"20":{"position":[[713,9],[752,8]]},"22":{"position":[[555,8]]},"67":{"position":[[552,8]]},"314":{"position":[[2155,8]]},"358":{"position":[[8365,9]]},"378":{"position":[[905,8]]},"404":{"position":[[1022,8]]},"752":{"position":[[511,9]]}},"keywords":{}}],["hour",{"_index":931,"title":{},"content":{"42":{"position":[[1009,5],[1090,5]]},"138":{"position":[[460,4],[582,4],[829,5]]},"167":{"position":[[26,4],[128,4]]},"446":{"position":[[47,4]]},"455":{"position":[[667,4]]}},"keywords":{}}],["hourli",{"_index":2047,"title":{},"content":{"138":{"position":[[727,6]]}},"keywords":{}}],["housekeep",{"_index":3214,"title":{},"content":{"352":{"position":[[217,12]]}},"keywords":{}}],["hqzfc7dkjmrci1udlfdvdbza9otur",{"_index":1556,"title":{},"content":{"82":{"position":[[2374,29],[5839,29]]}},"keywords":{}}],["hr",{"_index":3479,"title":{},"content":{"369":{"position":[[2175,2]]}},"keywords":{}}],["hs",{"_index":2695,"title":{},"content":{"299":{"position":[[56,2]]},"369":{"position":[[470,3]]},"632":{"position":[[545,2],[757,2]]},"633":{"position":[[412,2]]},"649":{"position":[[434,2]]},"650":{"position":[[1153,2]]}},"keywords":{}}],["htlmaccessor",{"_index":2294,"title":{},"content":{"217":{"position":[[218,13]]}},"keywords":{}}],["html",{"_index":1300,"title":{"216":{"position":[[0,4]]}},"content":{"61":{"position":[[706,4]]},"211":{"position":[[271,4]]},"216":{"position":[[5,4],[149,4],[276,4]]},"217":{"position":[[294,5],[1330,4],[2458,4]]},"243":{"position":[[166,4]]},"244":{"position":[[162,4]]},"263":{"position":[[196,5]]}},"keywords":{}}],["htmlaccessor",{"_index":2285,"title":{},"content":{"216":{"position":[[352,12],[406,12],[487,12]]},"217":{"position":[[2534,12],[2608,12]]}},"keywords":{}}],["htop",{"_index":3410,"title":{},"content":{"368":{"position":[[725,4]]},"369":{"position":[[713,5],[2184,4],[3875,4]]}},"keywords":{}}],["http",{"_index":403,"title":{"107":{"position":[[0,4]]},"108":{"position":[[0,4]]},"217":{"position":[[0,4]]}},"content":{"20":{"position":[[189,5]]},"22":{"position":[[321,4],[378,5],[440,5],[490,5]]},"85":{"position":[[5,4]]},"87":{"position":[[89,4],[145,4]]},"103":{"position":[[76,4],[89,4]]},"107":{"position":[[5,4],[41,4],[187,4],[367,4],[375,5],[393,4],[992,5]]},"108":{"position":[[5,4],[73,4],[180,4]]},"215":{"position":[[46,4],[96,4],[232,4],[655,4]]},"216":{"position":[[46,4],[127,4]]},"217":{"position":[[1,4],[42,4],[57,4],[365,4],[406,4],[429,4],[986,4],[1009,4],[2203,4],[2425,4]]},"220":{"position":[[45,4]]},"309":{"position":[[3708,4]]},"364":{"position":[[1122,4]]},"402":{"position":[[961,4]]}},"keywords":{}}],["http/1.1",{"_index":1496,"title":{},"content":{"81":{"position":[[548,8]]},"82":{"position":[[688,8],[6308,8]]}},"keywords":{}}],["http://127.0.0.1:2900/auth/realms/openc3/protocol/openid",{"_index":1526,"title":{},"content":{"82":{"position":[[595,56]]}},"keywords":{}}],["http://127.0.0.1:2900/openc3",{"_index":1494,"title":{},"content":{"81":{"position":[[498,28]]},"82":{"position":[[6251,28]]}},"keywords":{}}],["http://ascportal:2900",{"_index":1606,"title":{},"content":{"83":{"position":[[973,22]]}},"keywords":{}}],["http://cosmos.local:2900",{"_index":3979,"title":{},"content":{"404":{"position":[[2639,24]]}},"keywords":{}}],["http://localhost:2900",{"_index":2907,"title":{},"content":{"309":{"position":[[3944,21]]},"334":{"position":[[26,22]]},"373":{"position":[[448,22]]}},"keywords":{}}],["http://localhost:2900/openc3",{"_index":1771,"title":{},"content":{"93":{"position":[[932,28]]}},"keywords":{}}],["http://localhost:2900/script",{"_index":1601,"title":{},"content":{"83":{"position":[[698,29]]}},"keywords":{}}],["http://localhost:2900/tools/cmdtlmserver/tlm",{"_index":3693,"title":{},"content":{"380":{"position":[[2046,44]]}},"keywords":{}}],["http://localhost:2900/tools/scriptrunner/?file=target%2fprocedures%2fcmd_tlm_test.rb",{"_index":1607,"title":{},"content":{"83":{"position":[[1011,85]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunn",{"_index":1015,"title":{},"content":{"43":{"position":[[382,41],[435,41]]}},"keywords":{}}],["http://localhost:2914/tools/scriptrunner/js/app.j",{"_index":1028,"title":{},"content":{"43":{"position":[[1006,50]]}},"keywords":{}}],["http://openc3",{"_index":3383,"title":{},"content":{"365":{"position":[[371,13]]}},"keywords":{}}],["http_client_interface.rb",{"_index":1871,"title":{},"content":{"107":{"position":[[835,24]]}},"keywords":{}}],["http_error_packet",{"_index":2303,"title":{},"content":{"217":{"position":[[638,17],[1694,17]]}},"keywords":{}}],["http_header",{"_index":2323,"title":{},"content":{"217":{"position":[[2310,12]]}},"keywords":{}}],["http_header_typ",{"_index":2321,"title":{},"content":{"217":{"position":[[2113,16]]}},"keywords":{}}],["http_header_xxx",{"_index":2307,"title":{},"content":{"217":{"position":[[843,15],[1211,15]]}},"keywords":{}}],["http_method",{"_index":2300,"title":{},"content":{"217":{"position":[[540,11],[1573,11]]}},"keywords":{}}],["http_packet",{"_index":2302,"title":{},"content":{"217":{"position":[[587,11],[1161,11],[1631,11]]}},"keywords":{}}],["http_path",{"_index":2309,"title":{},"content":{"217":{"position":[[1128,9],[1513,9]]}},"keywords":{}}],["http_query_queri",{"_index":2316,"title":{},"content":{"217":{"position":[[1835,16],[1862,16]]}},"keywords":{}}],["http_query_xxx",{"_index":2305,"title":{},"content":{"217":{"position":[[722,14]]}},"keywords":{}}],["http_request",{"_index":2324,"title":{},"content":{"217":{"position":[[2352,12]]}},"keywords":{}}],["http_server_interface.rb",{"_index":1877,"title":{},"content":{"108":{"position":[[560,24]]}},"keywords":{}}],["httpaccessor",{"_index":1869,"title":{},"content":{"107":{"position":[[134,12]]},"108":{"position":[[127,12]]},"216":{"position":[[432,12],[474,12]]},"217":{"position":[[1435,12],[1490,12],[2595,12]]}},"keywords":{}}],["httponli",{"_index":1540,"title":{},"content":{"82":{"position":[[969,8],[1091,8]]}},"keywords":{}}],["https://datatracker.ietf.org/doc/html/rfc1055",{"_index":1188,"title":{},"content":{"52":{"position":[[558,45]]}},"keywords":{}}],["https://developer.mozilla.org/en",{"_index":5027,"title":{},"content":{"673":{"position":[[1204,32]]}},"keywords":{}}],["https://doc.traefik.io/traefik/https/tls/#ciph",{"_index":602,"title":{},"content":{"29":{"position":[[1,48]]}},"keywords":{}}],["https://docs.openc3.com/docs/configuration/telemetri",{"_index":2805,"title":{},"content":{"306":{"position":[[537,52]]}},"keywords":{}}],["https://en.wikipedia.org/wiki/consistent_overhead_byte_stuf",{"_index":1178,"title":{},"content":{"51":{"position":[[567,63]]}},"keywords":{}}],["https://get.docker.com",{"_index":3974,"title":{},"content":{"404":{"position":[[2278,22]]}},"keywords":{}}],["https://github.com/docker/compose/releases/download/v2.16.0/dock",{"_index":2858,"title":{},"content":{"309":{"position":[[1709,66]]}},"keywords":{}}],["https://github.com/nasa/cfs.git",{"_index":3569,"title":{},"content":{"375":{"position":[[32,31]]}},"keywords":{}}],["https://github.com/openc3/cosmo",{"_index":2196,"title":{},"content":{"208":{"position":[[83,32]]},"331":{"position":[[75,32],[130,32]]},"404":{"position":[[2394,32]]},"808":{"position":[[1261,35]]}},"keywords":{}}],["https://github.com/openc3/cosmos.git",{"_index":2889,"title":{},"content":{"309":{"position":[[2777,36]]}},"keywords":{}}],["https://github.com/rocketcommunicationsinc/astro",{"_index":4737,"title":{},"content":{"632":{"position":[[209,48]]}},"keywords":{}}],["https://guides.rubygems.org/specif",{"_index":2751,"title":{},"content":{"301":{"position":[[1096,41]]}},"keywords":{}}],["https://materialdesignicons.com",{"_index":2173,"title":{},"content":{"197":{"position":[[206,35]]}},"keywords":{}}],["https://mygemserv",{"_index":5791,"title":{},"content":{"810":{"position":[[381,22]]}},"keywords":{}}],["https://mypypiserv",{"_index":5795,"title":{},"content":{"810":{"position":[[520,23],[583,22]]}},"keywords":{}}],["https://openc3.com",{"_index":4665,"title":{},"content":{"602":{"position":[[224,18]]}},"keywords":{}}],["https://pypi.org/simpl",{"_index":5771,"title":{},"content":{"808":{"position":[[1040,26]]}},"keywords":{}}],["https://rubygems.org",{"_index":5773,"title":{},"content":{"808":{"position":[[1154,23]]},"809":{"position":[[633,23]]}},"keywords":{}}],["https://www.raspberrypi.com/softwar",{"_index":3936,"title":{},"content":{"404":{"position":[[500,37]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/nf",{"_index":2851,"title":{},"content":{"309":{"position":[[1286,35]]}},"keywords":{}}],["https://www.redhat.com/sysadmin/rootless",{"_index":2846,"title":{},"content":{"309":{"position":[[997,41]]}},"keywords":{}}],["httpserverinterfac",{"_index":2059,"title":{},"content":{"140":{"position":[[485,19]]}},"keywords":{}}],["human",{"_index":2327,"title":{},"content":{"218":{"position":[[119,5]]},"342":{"position":[[1016,5]]}},"keywords":{}}],["hyp",{"_index":3551,"title":{},"content":{"369":{"position":[[4488,3]]}},"keywords":{}}],["i.",{"_index":3614,"title":{},"content":{"378":{"position":[[1322,4]]},"379":{"position":[[946,4]]},"426":{"position":[[1147,3]]},"540":{"position":[[612,4]]}},"keywords":{}}],["icon",{"_index":2168,"title":{"197":{"position":[[0,5]]}},"content":{"197":{"position":[[10,4],[16,4],[121,4],[160,5]]},"307":{"position":[[1730,4],[1780,5],[1853,4]]},"358":{"position":[[515,4]]},"359":{"position":[[2113,4]]},"380":{"position":[[171,4]]},"413":{"position":[[257,5],[287,5]]},"421":{"position":[[700,5]]},"422":{"position":[[1414,4]]},"441":{"position":[[18,4]]},"442":{"position":[[20,4]]},"443":{"position":[[17,4]]},"454":{"position":[[343,4]]},"461":{"position":[[318,4],[625,4]]},"462":{"position":[[97,5],[410,4]]},"472":{"position":[[296,5],[497,5],[1149,4],[1456,4]]},"473":{"position":[[730,4],[1159,4]]},"478":{"position":[[380,4],[687,4]]},"481":{"position":[[248,4]]},"483":{"position":[[111,4],[181,4]]},"484":{"position":[[44,4],[114,4]]},"502":{"position":[[317,4],[624,4]]},"505":{"position":[[21,4],[294,4]]},"506":{"position":[[295,4],[364,4]]},"521":{"position":[[336,4],[643,4]]},"522":{"position":[[618,4]]},"632":{"position":[[41,4],[149,4],[192,5],[314,4],[346,4],[363,4],[398,4]]},"633":{"position":[[44,4],[475,5]]}},"keywords":{}}],["iconograpi",{"_index":2565,"title":{},"content":{"265":{"position":[[258,11]]}},"keywords":{}}],["icons.json",{"_index":4739,"title":{},"content":{"632":{"position":[[297,11]]}},"keywords":{}}],["id",{"_index":978,"title":{"272":{"position":[[0,2]]}},"content":{"42":{"position":[[2303,3]]},"48":{"position":[[653,2],[688,2],[703,2],[1197,2],[1238,2],[3938,2]]},"54":{"position":[[505,3],[780,2]]},"81":{"position":[[745,3]]},"82":{"position":[[6486,3]]},"83":{"position":[[3283,2]]},"112":{"position":[[451,2]]},"231":{"position":[[76,2],[1173,2]]},"232":{"position":[[76,2],[1009,2]]},"272":{"position":[[282,2]]},"281":{"position":[[780,2],[1198,2]]},"282":{"position":[[449,2],[870,2]]},"304":{"position":[[998,2],[1028,2]]},"305":{"position":[[1215,2],[1245,2]]},"309":{"position":[[783,3],[797,4]]},"344":{"position":[[7,2]]},"345":{"position":[[7,2]]},"346":{"position":[[118,2]]},"347":{"position":[[185,2]]},"348":{"position":[[367,2]]},"349":{"position":[[1303,2]]},"350":{"position":[[153,2]]},"351":{"position":[[272,2]]},"352":{"position":[[104,2]]},"353":{"position":[[119,2]]},"354":{"position":[[198,2]]},"355":{"position":[[103,2]]},"356":{"position":[[110,2]]},"358":{"position":[[2875,2],[3593,2],[4829,2],[4859,2],[5262,2],[5311,2],[5366,2]]},"359":{"position":[[1473,2]]},"379":{"position":[[2820,2]]},"380":{"position":[[431,2]]},"563":{"position":[[542,2],[621,3],[835,2],[838,3],[879,2],[959,3],[1167,2],[1170,3]]},"685":{"position":[[1062,6]]},"716":{"position":[[89,2],[331,2]]},"717":{"position":[[198,2],[428,2],[507,3],[674,2],[730,3],[931,2],[1011,3],[1172,2],[1228,3]]}},"keywords":{}}],["id"",{"_index":270,"title":{},"content":{"7":{"position":[[762,8],[951,8]]},"253":{"position":[[459,8],[1337,8],[2107,8]]},"278":{"position":[[1099,8]]},"280":{"position":[[894,8]]},"299":{"position":[[454,8]]},"379":{"position":[[479,8],[2888,8]]}},"keywords":{}}],["id=$(curl",{"_index":1656,"title":{},"content":{"83":{"position":[[2920,9]]}},"keywords":{}}],["id_item",{"_index":2244,"title":{"281":{"position":[[0,8]]}},"content":{"214":{"position":[[542,7],[588,9],[1762,7],[1804,9]]},"215":{"position":[[388,7],[434,9],[819,7],[861,9]]},"218":{"position":[[744,7],[790,9],[1540,7],[1582,9]]},"220":{"position":[[770,7],[2006,7]]},"272":{"position":[[135,7]]},"281":{"position":[[101,8],[1157,7]]},"299":{"position":[[390,7]]},"358":{"position":[[5247,7],[5693,8],[6289,7]]}},"keywords":{}}],["id_item(",{"_index":1210,"title":{},"content":{"54":{"position":[[891,10]]}},"keywords":{}}],["id_paramet",{"_index":2405,"title":{"231":{"position":[[0,13]]}},"content":{"231":{"position":[[199,13],[2093,12]]},"232":{"position":[[199,13]]},"253":{"position":[[376,12],[1254,12],[2024,12]]},"358":{"position":[[6272,12]]}},"keywords":{}}],["idea",{"_index":1817,"title":{},"content":{"98":{"position":[[124,5]]}},"keywords":{}}],["ideal",{"_index":168,"title":{},"content":{"5":{"position":[[761,7]]},"17":{"position":[[97,7]]},"18":{"position":[[100,7]]},"226":{"position":[[231,7]]},"272":{"position":[[303,7]]},"276":{"position":[[260,7]]},"349":{"position":[[966,7],[1121,7]]},"544":{"position":[[800,8]]},"658":{"position":[[60,5]]}},"keywords":{}}],["ident",{"_index":636,"title":{},"content":{"33":{"position":[[376,9]]},"39":{"position":[[151,9]]},"326":{"position":[[151,9]]},"473":{"position":[[498,11]]},"535":{"position":[[182,9],[473,9]]},"657":{"position":[[153,9]]}},"keywords":{}}],["identif",{"_index":382,"title":{},"content":{"17":{"position":[[301,14],[376,14]]},"18":{"position":[[306,14],[381,14]]},"231":{"position":[[12,14],[1182,14]]},"232":{"position":[[12,14],[1018,14]]},"249":{"position":[[71,14]]},"272":{"position":[[21,14],[552,15]]},"295":{"position":[[71,14]]},"398":{"position":[[160,14]]},"424":{"position":[[1241,14]]}},"keywords":{}}],["identifi",{"_index":370,"title":{},"content":{"17":{"position":[[31,11],[135,10],[232,11]]},"18":{"position":[[34,11],[139,10],[237,11]]},"31":{"position":[[273,8]]},"47":{"position":[[105,8]]},"48":{"position":[[1302,11]]},"54":{"position":[[89,8],[151,10],[826,8]]},"59":{"position":[[394,10],[441,10]]},"60":{"position":[[228,10]]},"231":{"position":[[102,8],[270,11],[1282,10]]},"232":{"position":[[102,8],[270,11],[1118,10]]},"272":{"position":[[251,10],[411,9]]},"273":{"position":[[79,11]]},"281":{"position":[[836,10]]},"282":{"position":[[505,10]]},"301":{"position":[[1015,12]]},"358":{"position":[[3566,8]]},"425":{"position":[[61,10]]},"578":{"position":[[87,8]]}},"keywords":{}}],["identification"",{"_index":3652,"title":{},"content":{"379":{"position":[[1323,20],[1855,20],[2355,20]]}},"keywords":{}}],["identifier"",{"_index":2407,"title":{},"content":{"231":{"position":[[2143,16]]},"232":{"position":[[1983,16]]}},"keywords":{}}],["idl",{"_index":3025,"title":{},"content":{"330":{"position":[[969,4],[1147,4],[1513,5]]}},"keywords":{}}],["ie",{"_index":2138,"title":{},"content":{"178":{"position":[[292,3]]},"192":{"position":[[357,3]]},"332":{"position":[[1220,4]]},"404":{"position":[[1231,4]]},"566":{"position":[[696,2]]}},"keywords":{}}],["ifram",{"_index":1800,"title":{"602":{"position":[[0,7]]}},"content":{"96":{"position":[[498,7]]},"196":{"position":[[179,6],[213,6],[351,7]]},"602":{"position":[[27,6],[122,6],[217,6]]}},"keywords":{}}],["ignor",{"_index":345,"title":{"66":{"position":[[0,6]]},"400":{"position":[[0,7]]}},"content":{"13":{"position":[[1,6],[75,6],[430,7]]},"14":{"position":[[1,6],[72,6],[320,7]]},"36":{"position":[[7072,7]]},"61":{"position":[[1541,6],[1582,6]]},"63":{"position":[[70,7]]},"66":{"position":[[5,6],[192,6],[248,6]]},"91":{"position":[[227,7],[435,7]]},"229":{"position":[[7072,7]]},"279":{"position":[[5673,7]]},"294":{"position":[[17,7],[171,7]]},"301":{"position":[[412,6]]},"302":{"position":[[2400,8]]},"347":{"position":[[363,8],[396,6]]},"348":{"position":[[724,7],[1393,8],[1424,6],[1717,7],[1762,7],[1803,7]]},"349":{"position":[[436,6]]},"400":{"position":[[35,7]]},"402":{"position":[[4556,7]]},"466":{"position":[[3,7],[79,7]]},"468":{"position":[[247,7]]},"470":{"position":[[273,7]]},"472":{"position":[[20,7],[127,8],[192,8],[265,7],[289,6],[372,7],[449,7]]},"473":{"position":[[735,7],[853,7],[913,7],[974,7],[1125,7],[1251,8]]},"490":{"position":[[9,7]]},"638":{"position":[[251,7]]},"654":{"position":[[885,7]]},"743":{"position":[[244,6]]}},"keywords":{}}],["ignore_item",{"_index":357,"title":{"14":{"position":[[0,12]]}},"content":{"14":{"position":[[386,11]]}},"keywords":{}}],["ignore_overlap",{"_index":2680,"title":{"294":{"position":[[0,15]]}},"content":{},"keywords":{}}],["ignore_paramet",{"_index":344,"title":{"13":{"position":[[0,17]]}},"content":{"13":{"position":[[495,16]]}},"keywords":{}}],["ignored)"",{"_index":4179,"title":{},"content":{"473":{"position":[[1048,14]]}},"keywords":{}}],["ignorepacketprotocol",{"_index":2055,"title":{},"content":{"139":{"position":[[1124,20]]}},"keywords":{}}],["illustr",{"_index":1230,"title":{},"content":{"55":{"position":[[2713,10]]}},"keywords":{}}],["imag",{"_index":513,"title":{"257":{"position":[[0,7]]}},"content":{"23":{"position":[[166,6]]},"42":{"position":[[877,6],[922,5],[2355,5]]},"139":{"position":[[1150,5],[1172,5]]},"257":{"position":[[22,5],[198,5],[393,6],[427,5],[452,5],[497,6]]},"302":{"position":[[2105,5],[2157,5]]},"309":{"position":[[985,6]]},"330":{"position":[[1631,6]]},"380":{"position":[[1803,5],[1998,5]]},"404":{"position":[[483,6],[653,6]]},"506":{"position":[[454,5]]},"522":{"position":[[1354,5]]},"533":{"position":[[241,6]]},"540":{"position":[[3883,5]]},"610":{"position":[[766,5],[772,5]]},"629":{"position":[[18,5],[297,5],[389,5],[395,5]]},"649":{"position":[[13,5],[89,5],[226,5],[305,5]]},"650":{"position":[[13,5],[115,6],[183,5],[506,5],[533,5],[667,5],[746,5],[771,5],[796,5],[826,5],[853,5],[1026,5],[1082,5],[1259,6],[1274,5],[1357,5],[1372,5],[1506,5],[1585,5]]}},"keywords":{}}],["imageview",{"_index":4731,"title":{"629":{"position":[[0,12]]}},"content":{"629":{"position":[[372,11]]}},"keywords":{}}],["imagin",{"_index":2807,"title":{},"content":{"306":{"position":[[835,11]]},"307":{"position":[[1345,11]]}},"keywords":{}}],["immedi",{"_index":1457,"title":{},"content":{"77":{"position":[[215,11]]},"523":{"position":[[243,11]]},"556":{"position":[[655,11]]},"582":{"position":[[350,11]]}},"keywords":{}}],["immediately.disconnect",{"_index":1968,"title":{},"content":{"115":{"position":[[345,22]]}},"keywords":{}}],["imped",{"_index":3757,"title":{},"content":{"389":{"position":[[1143,6]]}},"keywords":{}}],["implement",{"_index":742,"title":{"89":{"position":[[9,16]]},"455":{"position":[[9,14]]}},"content":{"36":{"position":[[4053,11],[4197,9],[4302,9]]},"57":{"position":[[19,10],[202,11]]},"62":{"position":[[293,15]]},"67":{"position":[[842,14]]},"69":{"position":[[153,15],[414,15]]},"70":{"position":[[259,15],[310,15],[388,14]]},"71":{"position":[[122,15],[189,15],[275,14]]},"72":{"position":[[128,15],[198,15],[290,14]]},"73":{"position":[[615,15],[947,15],[1360,14],[1612,14]]},"74":{"position":[[796,15],[875,15]]},"75":{"position":[[657,15],[737,15]]},"76":{"position":[[654,15],[728,15]]},"77":{"position":[[145,9],[938,15],[1038,15]]},"78":{"position":[[199,15],[277,11],[340,15],[425,11],[527,11]]},"86":{"position":[[16,10]]},"89":{"position":[[30,11]]},"93":{"position":[[270,15]]},"100":{"position":[[775,12]]},"111":{"position":[[185,11]]},"112":{"position":[[122,11]]},"113":{"position":[[126,11]]},"114":{"position":[[87,11]]},"115":{"position":[[52,12],[897,16],[999,14],[1608,10],[1767,10],[1942,10]]},"120":{"position":[[12,9],[110,11]]},"128":{"position":[[166,10],[319,10]]},"139":{"position":[[593,10]]},"203":{"position":[[204,15]]},"222":{"position":[[163,11]]},"223":{"position":[[159,11]]},"229":{"position":[[4053,11],[4197,9],[4302,9]]},"263":{"position":[[52,11]]},"279":{"position":[[3002,11],[3146,9],[3251,9],[10565,10]]},"288":{"position":[[218,10]]},"303":{"position":[[894,9]]},"304":{"position":[[724,14]]},"305":{"position":[[771,14]]},"320":{"position":[[171,9]]},"349":{"position":[[728,11]]},"387":{"position":[[717,11]]},"402":{"position":[[423,11],[5047,14]]},"424":{"position":[[1591,14]]},"498":{"position":[[535,9]]},"499":{"position":[[484,9]]},"533":{"position":[[136,11]]},"542":{"position":[[193,11]]},"560":{"position":[[256,9]]},"657":{"position":[[21,11]]},"658":{"position":[[94,12]]},"758":{"position":[[106,11]]},"759":{"position":[[114,11]]},"768":{"position":[[99,11]]},"769":{"position":[[111,11]]},"770":{"position":[[98,11]]}},"keywords":{}}],["implementation.connect",{"_index":1967,"title":{},"content":{"115":{"position":[[229,25]]}},"keywords":{}}],["implementation.read_interfac",{"_index":1970,"title":{},"content":{"115":{"position":[[512,29]]}},"keywords":{}}],["impli",{"_index":814,"title":{},"content":{"36":{"position":[[8069,7]]},"229":{"position":[[8069,7]]},"279":{"position":[[6729,7]]},"390":{"position":[[772,8]]}},"keywords":{}}],["implic",{"_index":3755,"title":{},"content":{"389":{"position":[[958,12]]}},"keywords":{}}],["import",{"_index":563,"title":{},"content":{"26":{"position":[[143,6]]},"27":{"position":[[362,6]]},"36":{"position":[[5868,6]]},"67":{"position":[[1320,6]]},"83":{"position":[[1316,9]]},"100":{"position":[[395,9]]},"115":{"position":[[2171,9]]},"202":{"position":[[35,6],[82,6],[108,6]]},"229":{"position":[[5868,6]]},"279":{"position":[[4348,6]]},"310":{"position":[[563,10]]},"320":{"position":[[233,6]]},"330":{"position":[[895,10]]},"331":{"position":[[764,6]]},"342":{"position":[[47,9]]},"380":{"position":[[42,6]]},"396":{"position":[[218,6]]},"402":{"position":[[1935,9]]},"422":{"position":[[1182,9]]},"533":{"position":[[607,6]]},"534":{"position":[[344,6]]},"540":{"position":[[2742,6],[2751,6],[3685,8]]},"551":{"position":[[123,9]]},"552":{"position":[[1830,6],[1854,8],[1869,6],[1911,8]]},"554":{"position":[[142,10]]},"559":{"position":[[187,9],[298,9]]},"561":{"position":[[612,6]]},"565":{"position":[[405,9]]},"669":{"position":[[921,6]]},"778":{"position":[[195,6],[353,8]]},"795":{"position":[[1593,6],[1627,6]]}},"keywords":{}}],["import_map_item",{"_index":2185,"title":{"202":{"position":[[0,16]]}},"content":{},"keywords":{}}],["imposs",{"_index":3737,"title":{},"content":{"387":{"position":[[1197,10]]},"544":{"position":[[199,10]]},"547":{"position":[[258,11]]}},"keywords":{}}],["in_docker.conf",{"_index":3315,"title":{},"content":{"362":{"position":[[153,14],[1266,16]]}},"keywords":{}}],["inaccur",{"_index":4029,"title":{},"content":{"424":{"position":[[1097,11]]}},"keywords":{}}],["inadequate_secur",{"_index":601,"title":{"29":{"position":[[7,19]]}},"content":{},"keywords":{}}],["inadvert",{"_index":2037,"title":{},"content":{"136":{"position":[[234,13]]}},"keywords":{}}],["inc",{"_index":3775,"title":{"423":{"position":[[8,4]]}},"content":{"390":{"position":[[296,4],[545,4]]},"393":{"position":[[70,3],[129,3]]},"424":{"position":[[272,4]]},"426":{"position":[[284,4]]},"427":{"position":[[117,4]]},"429":{"position":[[9,4]]},"432":{"position":[[1037,4],[1277,4],[1352,4],[1487,5]]},"434":{"position":[[180,4],[460,4]]},"436":{"position":[[40,4]]},"437":{"position":[[158,4]]}},"keywords":{}}],["inc'",{"_index":4050,"title":{"434":{"position":[[16,5]]}},"content":{"426":{"position":[[424,5]]}},"keywords":{}}],["includ",{"_index":220,"title":{},"content":{"6":{"position":[[520,9]]},"23":{"position":[[415,7]]},"42":{"position":[[133,9]]},"44":{"position":[[344,9],[778,9]]},"48":{"position":[[301,9],[3607,9]]},"53":{"position":[[915,9]]},"54":{"position":[[1313,9]]},"55":{"position":[[1169,10],[1843,9],[2213,9],[3255,10]]},"56":{"position":[[968,9],[1215,9]]},"60":{"position":[[145,8],[471,9],[718,9]]},"61":{"position":[[1014,7],[2140,9],[2387,9]]},"67":{"position":[[285,9],[876,8]]},"101":{"position":[[49,9]]},"107":{"position":[[696,7],[735,7]]},"115":{"position":[[1187,9],[1446,9]]},"126":{"position":[[518,8]]},"213":{"position":[[129,9],[306,8]]},"314":{"position":[[1835,8]]},"320":{"position":[[560,10]]},"326":{"position":[[62,9]]},"332":{"position":[[191,8]]},"333":{"position":[[783,7]]},"339":{"position":[[179,9]]},"343":{"position":[[879,7]]},"349":{"position":[[1499,9],[1795,9],[3057,8]]},"356":{"position":[[54,9]]},"359":{"position":[[374,10]]},"383":{"position":[[604,8]]},"389":{"position":[[786,8],[1307,9]]},"390":{"position":[[617,8],[783,9]]},"406":{"position":[[121,9]]},"416":{"position":[[74,9]]},"424":{"position":[[1832,9]]},"432":{"position":[[273,9]]},"434":{"position":[[244,9]]},"445":{"position":[[126,7]]},"452":{"position":[[167,9]]},"498":{"position":[[856,10],[928,10]]},"533":{"position":[[187,8]]},"546":{"position":[[174,8]]},"552":{"position":[[1091,8],[1728,9],[1811,8]]},"557":{"position":[[15,8]]},"562":{"position":[[14,7]]},"572":{"position":[[604,7]]},"750":{"position":[[29,9]]},"764":{"position":[[25,9]]},"778":{"position":[[546,9],[594,7]]},"795":{"position":[[86,9],[437,9]]}},"keywords":{}}],["include_tag_key",{"_index":3328,"title":{},"content":{"362":{"position":[[413,15],[743,15],[1065,15]]}},"keywords":{}}],["includesubdomain",{"_index":1545,"title":{},"content":{"82":{"position":[[1145,17]]}},"keywords":{}}],["incom",{"_index":1159,"title":{},"content":{"50":{"position":[[1025,8]]},"53":{"position":[[384,8]]},"65":{"position":[[71,8],[281,8],[348,8]]},"66":{"position":[[84,8]]},"105":{"position":[[69,8]]},"139":{"position":[[437,8]]},"272":{"position":[[49,8]]},"281":{"position":[[165,8]]},"358":{"position":[[5753,8]]},"380":{"position":[[2119,8]]}},"keywords":{}}],["incompat",{"_index":4024,"title":{},"content":{"424":{"position":[[620,12],[817,12]]}},"keywords":{}}],["incorpor",{"_index":2567,"title":{},"content":{"265":{"position":[[319,12]]}},"keywords":{}}],["incorrect",{"_index":4561,"title":{},"content":{"568":{"position":[[566,9]]}},"keywords":{}}],["increas",{"_index":2971,"title":{},"content":{"321":{"position":[[368,10]]},"369":{"position":[[2415,8],[3672,10]]},"462":{"position":[[504,8]]}},"keywords":{}}],["increasingli",{"_index":3046,"title":{},"content":{"332":{"position":[[427,12]]}},"keywords":{}}],["increment",{"_index":1394,"title":{},"content":{"67":{"position":[[3467,11],[3872,12]]},"523":{"position":[[576,13]]},"540":{"position":[[4876,10]]}},"keywords":{}}],["incur",{"_index":2590,"title":{},"content":{"272":{"position":[[507,6]]}},"keywords":{}}],["indefinit",{"_index":1966,"title":{},"content":{"115":{"position":[[183,13],[466,13],[811,13]]},"402":{"position":[[4469,12],[4702,12]]}},"keywords":{}}],["indent",{"_index":293,"title":{},"content":{"8":{"position":[[427,11]]},"9":{"position":[[985,11]]},"540":{"position":[[384,8],[466,11],[1270,11]]}},"keywords":{}}],["independ",{"_index":1061,"title":{},"content":{"47":{"position":[[131,11]]},"192":{"position":[[224,11]]},"349":{"position":[[1139,11]]},"368":{"position":[[297,11]]},"383":{"position":[[54,11],[209,11],[346,11]]},"420":{"position":[[149,13]]},"531":{"position":[[164,13],[509,13]]}},"keywords":{}}],["index",{"_index":1094,"title":{},"content":{"48":{"position":[[1705,6],[1747,5],[1777,5],[1930,5],[1974,5],[2380,5],[2410,5],[2592,5],[2636,5],[4908,5],[4938,5],[5091,5],[5135,5]]},"498":{"position":[[835,6],[871,5],[911,6],[943,5]]},"506":{"position":[[429,5]]},"581":{"position":[[206,5],[239,5],[429,6],[657,5],[663,5]]},"591":{"position":[[206,5],[239,5],[429,6],[538,5],[544,5]]},"642":{"position":[[386,5]]},"654":{"position":[[804,5]]},"759":{"position":[[650,5],[872,6],[993,6]]},"769":{"position":[[327,6],[654,5],[873,6],[991,6]]}},"keywords":{}}],["indic",{"_index":173,"title":{},"content":{"5":{"position":[[825,9]]},"33":{"position":[[148,9],[278,9]]},"35":{"position":[[242,8],[422,8],[1236,9],[1767,9]]},"36":{"position":[[3153,9],[10479,9],[10730,9]]},"37":{"position":[[215,8],[1029,9],[1560,9]]},"50":{"position":[[506,9]]},"51":{"position":[[355,9]]},"55":{"position":[[1258,9]]},"65":{"position":[[514,8]]},"67":{"position":[[2411,10]]},"73":{"position":[[1647,8]]},"127":{"position":[[16,9]]},"226":{"position":[[295,9]]},"228":{"position":[[270,8],[451,8],[1265,9],[1796,9]]},"229":{"position":[[3153,9]]},"230":{"position":[[234,8],[1048,9],[1579,9]]},"231":{"position":[[493,8],[621,8],[1409,9],[1940,9]]},"232":{"position":[[457,8],[1245,9],[1776,9]]},"233":{"position":[[287,8],[626,8],[812,9]]},"234":{"position":[[409,8],[595,9]]},"245":{"position":[[17,9]]},"246":{"position":[[17,9]]},"276":{"position":[[324,9]]},"278":{"position":[[269,8],[449,8],[880,9]]},"279":{"position":[[8025,8]]},"280":{"position":[[241,8],[672,9]]},"281":{"position":[[439,8],[572,8],[974,9]]},"282":{"position":[[241,8],[643,9]]},"283":{"position":[[286,8],[619,8],[805,9]]},"284":{"position":[[411,8],[597,9]]},"333":{"position":[[538,10]]},"349":{"position":[[6584,10],[6797,10]]},"350":{"position":[[1357,10]]},"369":{"position":[[2193,10]]},"378":{"position":[[706,9]]},"380":{"position":[[1246,9]]},"389":{"position":[[1565,10]]},"402":{"position":[[4405,9],[4637,9],[4781,9],[5293,9],[5395,10]]},"422":{"position":[[1466,8]]},"473":{"position":[[1021,8],[1066,8]]},"497":{"position":[[382,9]]},"568":{"position":[[144,9]]},"578":{"position":[[1,9],[187,8]]},"637":{"position":[[671,8]]},"650":{"position":[[100,8]]},"692":{"position":[[20,10]]},"722":{"position":[[1424,10]]},"723":{"position":[[1191,10]]},"724":{"position":[[857,10]]},"725":{"position":[[738,10]]},"729":{"position":[[710,10]]},"741":{"position":[[1294,10],[1444,10]]}},"keywords":{}}],["individu",{"_index":621,"title":{},"content":{"31":{"position":[[402,10]]},"43":{"position":[[66,10]]},"252":{"position":[[258,10]]},"294":{"position":[[125,10]]},"296":{"position":[[259,10]]},"349":{"position":[[1005,10],[5012,10],[5047,10],[5125,10],[5160,10],[5238,10],[5272,10],[5387,13],[5553,13]]},"353":{"position":[[191,10],[227,10]]},"358":{"position":[[2616,13]]},"369":{"position":[[1030,10],[2521,10]]},"382":{"position":[[709,10]]},"402":{"position":[[2267,10]]},"415":{"position":[[186,10]]},"424":{"position":[[499,12],[1733,12]]},"442":{"position":[[48,10]]},"443":{"position":[[35,10]]},"459":{"position":[[47,10]]},"470":{"position":[[221,10]]},"476":{"position":[[88,10]]},"482":{"position":[[630,10]]},"484":{"position":[[296,10],[351,10]]},"513":{"position":[[244,10]]},"517":{"position":[[380,10]]},"522":{"position":[[578,10]]},"526":{"position":[[298,10]]},"546":{"position":[[720,11],[1158,10],[1440,10]]},"673":{"position":[[430,10]]},"795":{"position":[[369,10]]}},"keywords":{}}],["industri",{"_index":4112,"title":{},"content":{"434":{"position":[[476,8]]}},"keywords":{}}],["inf",{"_index":1701,"title":{},"content":{"86":{"position":[[208,4]]}},"keywords":{}}],["infinit",{"_index":3736,"title":{},"content":{"387":{"position":[[1135,8]]},"560":{"position":[[326,8],[713,8],[925,8]]},"722":{"position":[[208,8]]}},"keywords":{}}],["influxdb",{"_index":1838,"title":{},"content":{"103":{"position":[[364,9]]}},"keywords":{}}],["info",{"_index":3075,"title":{},"content":{"333":{"position":[[1188,5],[1261,5]]},"356":{"position":[[446,4]]},"404":{"position":[[1191,5]]},"440":{"position":[[402,6]]},"595":{"position":[[344,4]]},"597":{"position":[[304,4]]}},"keywords":{}}],["inform",{"_index":88,"title":{"428":{"position":[[18,12]]},"429":{"position":[[15,12]]},"430":{"position":[[16,12]]},"432":{"position":[[23,11]]},"561":{"position":[[17,11]]},"674":{"position":[[10,11]]}},"content":{"3":{"position":[[71,11],[317,11]]},"20":{"position":[[1476,11]]},"33":{"position":[[658,12],[917,12]]},"36":{"position":[[775,11]]},"50":{"position":[[832,11]]},"78":{"position":[[169,12]]},"91":{"position":[[867,11]]},"92":{"position":[[658,11]]},"101":{"position":[[149,12]]},"102":{"position":[[138,12],[161,11]]},"107":{"position":[[209,12]]},"108":{"position":[[202,12]]},"109":{"position":[[1736,11]]},"110":{"position":[[2118,11],[2329,11]]},"117":{"position":[[28,11]]},"139":{"position":[[298,11]]},"141":{"position":[[151,11],[414,11]]},"183":{"position":[[141,11]]},"188":{"position":[[111,11],[374,11]]},"221":{"position":[[336,12]]},"229":{"position":[[775,11]]},"240":{"position":[[164,11]]},"242":{"position":[[192,11]]},"279":{"position":[[770,11],[8088,11],[8174,12]]},"287":{"position":[[173,11]]},"291":{"position":[[192,11]]},"298":{"position":[[82,11]]},"301":{"position":[[732,11]]},"302":{"position":[[1960,12]]},"306":{"position":[[120,11]]},"320":{"position":[[509,11]]},"338":{"position":[[335,11]]},"342":{"position":[[330,11],[423,11]]},"350":{"position":[[588,11]]},"356":{"position":[[408,11]]},"358":{"position":[[1094,11],[6562,11],[6717,11]]},"361":{"position":[[123,11]]},"393":{"position":[[1051,12],[1462,12]]},"402":{"position":[[63,11]]},"404":{"position":[[992,12]]},"424":{"position":[[8,11],[135,11],[217,11]]},"425":{"position":[[17,6],[33,11],[191,11]]},"426":{"position":[[22,11],[79,11],[185,11],[382,13],[664,11],[1113,11]]},"427":{"position":[[32,12],[154,12],[217,12],[454,11]]},"428":{"position":[[41,11],[156,11],[205,12]]},"429":{"position":[[55,11],[582,12],[639,11]]},"430":{"position":[[11,11],[159,12],[172,11],[403,11],[616,11]]},"431":{"position":[[142,12],[229,12]]},"432":{"position":[[6,11],[260,12],[318,11],[380,11],[504,11],[817,11],[970,11],[1069,12]]},"434":{"position":[[38,11],[439,12],[529,11],[748,12],[822,11]]},"435":{"position":[[112,11],[242,11]]},"437":{"position":[[117,11]]},"447":{"position":[[619,11]]},"449":{"position":[[51,11]]},"487":{"position":[[290,12]]},"576":{"position":[[348,11]]},"657":{"position":[[252,11]]},"673":{"position":[[1289,12]]},"676":{"position":[[75,11]]},"747":{"position":[[42,11]]},"756":{"position":[[9,11]]},"765":{"position":[[9,11]]},"770":{"position":[[200,11]]},"794":{"position":[[91,11]]}},"keywords":{}}],["information"",{"_index":4046,"title":{},"content":{"425":{"position":[[92,18]]}},"keywords":{}}],["infrastructur",{"_index":2540,"title":{},"content":{"261":{"position":[[445,14]]}},"keywords":{}}],["ingest",{"_index":3349,"title":{},"content":{"363":{"position":[[357,6]]}},"keywords":{}}],["inherit",{"_index":745,"title":{},"content":{"36":{"position":[[4164,7]]},"221":{"position":[[23,8]]},"229":{"position":[[4164,7]]},"279":{"position":[[3113,7]]},"534":{"position":[[48,10]]},"572":{"position":[[391,12]]},"795":{"position":[[748,8]]}},"keywords":{}}],["init",{"_index":927,"title":{"69":{"position":[[14,5]]}},"content":{"42":{"position":[[981,4]]},"43":{"position":[[139,4],[228,4]]},"258":{"position":[[807,4]]},"310":{"position":[[84,4]]},"376":{"position":[[419,4]]},"379":{"position":[[386,4]]},"565":{"position":[[821,4]]}},"keywords":{}}],["initi",{"_index":746,"title":{"69":{"position":[[0,10]]}},"content":{"36":{"position":[[4211,10]]},"61":{"position":[[1618,7],[1640,7],[1781,7],[1809,7]]},"69":{"position":[[100,10]]},"88":{"position":[[127,11]]},"125":{"position":[[187,9]]},"229":{"position":[[4211,10]]},"243":{"position":[[51,10]]},"244":{"position":[[49,10]]},"279":{"position":[[3160,10],[8698,7],[8765,9],[8865,7]]},"355":{"position":[[57,10]]},"402":{"position":[[847,10]]},"424":{"position":[[839,7]]},"491":{"position":[[1,9]]},"534":{"position":[[168,10]]},"551":{"position":[[806,12]]},"626":{"position":[[1461,7]]},"627":{"position":[[1514,7]]},"628":{"position":[[1486,7]]},"641":{"position":[[178,14]]},"642":{"position":[[367,10]]},"654":{"position":[[785,10]]},"744":{"position":[[260,7]]},"752":{"position":[[277,10]]},"761":{"position":[[229,10]]},"795":{"position":[[1395,10]]}},"keywords":{}}],["initialize(allow_empty_data",{"_index":1412,"title":{},"content":{"69":{"position":[[259,27]]}},"keywords":{}}],["initialize(multipli",{"_index":769,"title":{},"content":{"36":{"position":[[5597,22]]},"229":{"position":[[5597,22]]},"279":{"position":[[4077,22]]}},"keywords":{}}],["inject",{"_index":253,"title":{},"content":{"7":{"position":[[424,6]]},"554":{"position":[[704,6]]},"561":{"position":[[154,6]]},"711":{"position":[[1,7]]}},"keywords":{}}],["inject_tlm",{"_index":5299,"title":{"711":{"position":[[0,11]]}},"content":{},"keywords":{}}],["inject_tlm("<target_name>"",{"_index":5300,"title":{},"content":{"711":{"position":[[99,43]]}},"keywords":{}}],["inject_tlm("inst"",{"_index":5304,"title":{},"content":{"711":{"position":[[572,28],[682,28]]}},"keywords":{}}],["inlin",{"_index":2164,"title":{},"content":{"195":{"position":[[174,6]]},"196":{"position":[[86,6],[343,7]]}},"keywords":{}}],["inline_url",{"_index":2162,"title":{"195":{"position":[[0,11]]}},"content":{"307":{"position":[[1832,10]]}},"keywords":{}}],["innov",{"_index":3811,"title":{},"content":{"392":{"position":[[625,10]]}},"keywords":{}}],["input",{"_index":4134,"title":{"559":{"position":[[5,5]]},"560":{"position":[[34,5]]},"663":{"position":[[16,6]]}},"content":{"452":{"position":[[110,6]]},"559":{"position":[[65,5],[99,5],[279,6],[376,5],[1061,5],[1203,5],[1327,5]]},"560":{"position":[[119,6],[228,5]]},"564":{"position":[[198,5]]},"574":{"position":[[172,5]]},"603":{"position":[[95,6]]},"636":{"position":[[42,5],[165,5]]},"664":{"position":[[22,5],[50,5]]},"665":{"position":[[22,5],[50,5]]}},"keywords":{}}],["insecur",{"_index":393,"title":{},"content":{"20":{"position":[[47,8]]},"83":{"position":[[1246,8],[2473,8]]}},"keywords":{}}],["insert",{"_index":206,"title":{},"content":{"6":{"position":[[236,6]]},"404":{"position":[[538,6],[1731,6]]},"637":{"position":[[514,8]]},"795":{"position":[[1149,6],[1233,6],[1279,6],[1324,6],[1696,6],[1773,6],[1827,6],[1880,6]]}},"keywords":{}}],["insid",{"_index":222,"title":{},"content":{"6":{"position":[[581,6]]},"7":{"position":[[31,6]]},"271":{"position":[[1334,6]]},"302":{"position":[[87,6]]},"303":{"position":[[99,6]]},"304":{"position":[[95,6]]},"305":{"position":[[105,6]]},"306":{"position":[[177,6]]},"307":{"position":[[88,6]]},"358":{"position":[[725,6],[833,6]]},"432":{"position":[[79,6]]},"533":{"position":[[148,6]]},"540":{"position":[[884,6],[4806,6]]},"565":{"position":[[490,6]]},"595":{"position":[[47,6]]},"597":{"position":[[49,6]]},"599":{"position":[[20,6]]},"699":{"position":[[332,6]]}},"keywords":{}}],["insofar",{"_index":4033,"title":{},"content":{"424":{"position":[[1412,7]]}},"keywords":{}}],["inspect",{"_index":556,"title":{},"content":{"25":{"position":[[9,7]]},"43":{"position":[[663,9]]},"83":{"position":[[1401,7]]},"216":{"position":[[582,10]]},"217":{"position":[[2703,10]]},"251":{"position":[[808,7],[1576,7]]},"321":{"position":[[1601,7]]},"380":{"position":[[515,7]]},"387":{"position":[[887,7]]},"517":{"position":[[369,7]]},"554":{"position":[[171,7],[441,7]]},"569":{"position":[[738,7]]}},"keywords":{}}],["inst",{"_index":243,"title":{},"content":{"7":{"position":[[148,4],[824,4],[1185,4]]},"8":{"position":[[162,4],[319,4]]},"9":{"position":[[176,4],[342,4],[525,4],[674,4]]},"128":{"position":[[643,4]]},"139":{"position":[[1145,4],[1167,4]]},"150":{"position":[[271,4],[276,4]]},"213":{"position":[[511,4],[876,4]]},"226":{"position":[[536,4]]},"235":{"position":[[408,4]]},"236":{"position":[[492,4]]},"252":{"position":[[459,4]]},"276":{"position":[[564,4]]},"285":{"position":[[400,4]]},"286":{"position":[[457,4]]},"296":{"position":[[474,4]]},"298":{"position":[[429,4],[472,4],[515,4]]},"367":{"position":[[475,5],[883,4]]},"369":{"position":[[372,5],[568,4],[601,4],[626,4]]},"383":{"position":[[1420,4],[1590,4]]},"468":{"position":[[121,5]]},"472":{"position":[[437,4]]},"473":{"position":[[433,4]]},"562":{"position":[[232,4]]},"563":{"position":[[593,8],[930,8]]},"591":{"position":[[789,4],[896,4]]},"609":{"position":[[574,4],[639,4]]},"610":{"position":[[761,4]]},"611":{"position":[[846,4],[897,4]]},"612":{"position":[[827,4]]},"613":{"position":[[569,4],[618,4]]},"614":{"position":[[430,4],[474,4]]},"615":{"position":[[580,4],[660,4]]},"617":{"position":[[465,4],[526,4]]},"618":{"position":[[838,4],[905,4]]},"619":{"position":[[216,4],[720,4]]},"620":{"position":[[454,4],[506,4]]},"621":{"position":[[455,4],[510,4]]},"622":{"position":[[451,4],[506,4]]},"623":{"position":[[423,4],[476,4]]},"624":{"position":[[428,4],[484,4]]},"625":{"position":[[802,4],[864,4]]},"626":{"position":[[555,4],[593,4]]},"627":{"position":[[589,4]]},"628":{"position":[[578,4]]},"629":{"position":[[384,4]]},"630":{"position":[[574,4],[616,4]]},"631":{"position":[[713,4],[767,4]]},"632":{"position":[[540,4],[595,4],[632,4],[752,4],[807,4],[844,4]]},"633":{"position":[[341,4],[407,4]]},"634":{"position":[[304,4]]},"635":{"position":[[653,4],[697,4]]},"648":{"position":[[618,4],[672,4]]},"649":{"position":[[429,4]]},"650":{"position":[[932,4],[1148,4]]},"652":{"position":[[775,4],[838,4],[953,4]]},"654":{"position":[[140,4],[179,4],[222,4]]},"685":{"position":[[1195,7]]},"687":{"position":[[843,7],[949,4]]},"689":{"position":[[885,7],[991,4]]},"691":{"position":[[1075,7]]},"694":{"position":[[677,4],[810,4]]},"695":{"position":[[417,4]]},"709":{"position":[[442,4]]},"714":{"position":[[1384,7],[1498,7],[1618,7],[1740,7]]},"716":{"position":[[382,8]]},"717":{"position":[[479,8],[982,8]]},"725":{"position":[[886,4]]},"729":{"position":[[864,4]]},"746":{"position":[[119,8]]},"784":{"position":[[127,6],[141,5]]},"786":{"position":[[572,4],[844,4]]},"787":{"position":[[1034,4],[1317,4]]}},"keywords":{}}],["inst','inst2",{"_index":4356,"title":{},"content":{"540":{"position":[[2030,16],[2945,16]]}},"keywords":{}}],["inst/procedures/checks.rb",{"_index":2990,"title":{},"content":{"324":{"position":[[200,25]]}},"keywords":{}}],["inst/procedures/proc.rb",{"_index":4987,"title":{},"content":{"669":{"position":[[338,23]]},"670":{"position":[[259,24]]},"671":{"position":[[235,24]]}},"keywords":{}}],["inst2",{"_index":3392,"title":{},"content":{"367":{"position":[[487,6],[894,5]]},"369":{"position":[[378,6]]},"473":{"position":[[462,5]]},"746":{"position":[[128,8]]}},"keywords":{}}],["inst2_int",{"_index":5511,"title":{},"content":{"751":{"position":[[155,12]]}},"keywords":{}}],["inst_cmds_v2.txt",{"_index":365,"title":{},"content":{"15":{"position":[[529,16]]},"16":{"position":[[531,16]]}},"keywords":{}}],["inst_int",{"_index":2016,"title":{},"content":{"128":{"position":[[626,8]]},"751":{"position":[[142,12]]}},"keywords":{}}],["inst_tlm_v2.txt",{"_index":366,"title":{},"content":{"15":{"position":[[556,15]]},"16":{"position":[[558,15]]}},"keywords":{}}],["instal",{"_index":571,"title":{"327":{"position":[[0,12]]},"328":{"position":[[0,10]]},"329":{"position":[[0,10]]}},"content":{"27":{"position":[[33,9]]},"42":{"position":[[439,10]]},"44":{"position":[[1285,7]]},"125":{"position":[[197,9]]},"126":{"position":[[147,13],[386,13]]},"200":{"position":[[185,10]]},"208":{"position":[[1,7],[18,7],[127,7],[188,7]]},"211":{"position":[[96,7],[165,7]]},"257":{"position":[[249,7]]},"302":{"position":[[652,13]]},"303":{"position":[[756,13]]},"307":{"position":[[1173,13]]},"309":{"position":[[10,12],[55,10],[1372,7],[1427,8],[1566,7],[1665,7]]},"310":{"position":[[1,7],[21,7],[311,7],[339,7]]},"313":{"position":[[22,12],[70,7]]},"317":{"position":[[67,14]]},"323":{"position":[[67,12],[302,9],[426,10]]},"326":{"position":[[1045,8],[1080,10],[1263,8]]},"328":{"position":[[58,9]]},"330":{"position":[[63,10],[91,7],[251,7],[302,7]]},"331":{"position":[[196,12],[224,7]]},"332":{"position":[[594,12]]},"333":{"position":[[614,9]]},"346":{"position":[[76,12]]},"356":{"position":[[173,10],[203,7],[283,9],[423,9]]},"358":{"position":[[112,7],[183,9],[299,12],[684,12],[7053,7]]},"359":{"position":[[562,7],[2380,9]]},"362":{"position":[[1326,7],[1409,7]]},"367":{"position":[[1065,10]]},"368":{"position":[[659,7]]},"369":{"position":[[178,9],[2068,9],[3819,7]]},"372":{"position":[[1,7],[42,12]]},"376":{"position":[[301,7],[584,7]]},"378":{"position":[[1546,7]]},"380":{"position":[[1689,10]]},"383":{"position":[[792,12],[1106,13]]},"385":{"position":[[56,7]]},"391":{"position":[[247,8]]},"393":{"position":[[498,10],[562,12]]},"404":{"position":[[2026,7],[2252,7]]},"406":{"position":[[131,10]]},"407":{"position":[[30,7],[293,10],[617,9]]},"408":{"position":[[39,9]]},"409":{"position":[[45,10]]},"410":{"position":[[39,10]]},"411":{"position":[[51,10]]},"412":{"position":[[62,9],[100,7]]},"413":{"position":[[35,10]]},"439":{"position":[[204,13]]},"440":{"position":[[275,10],[554,9]]},"509":{"position":[[123,13]]},"512":{"position":[[71,13]]},"528":{"position":[[346,9],[723,9]]},"671":{"position":[[353,12]]}},"keywords":{}}],["instanc",{"_index":596,"title":{},"content":{"28":{"position":[[16,9]]},"62":{"position":[[212,9]]},"69":{"position":[[708,8]]},"178":{"position":[[382,8]]},"235":{"position":[[239,8]]},"285":{"position":[[239,8]]},"431":{"position":[[499,10]]},"432":{"position":[[1019,9]]},"564":{"position":[[224,9]]},"592":{"position":[[445,9]]}},"keywords":{}}],["instanti",{"_index":2017,"title":{},"content":{"128":{"position":[[702,13]]},"149":{"position":[[492,13]]},"509":{"position":[[95,12]]}},"keywords":{}}],["instantli",{"_index":5726,"title":{},"content":{"799":{"position":[[136,10]]}},"keywords":{}}],["instead",{"_index":508,"title":{},"content":{"23":{"position":[[39,7]]},"36":{"position":[[9117,8]]},"50":{"position":[[601,8]]},"52":{"position":[[356,8],[459,8]]},"61":{"position":[[178,8]]},"67":{"position":[[3310,8],[4642,7]]},"74":{"position":[[747,7]]},"229":{"position":[[9117,8]]},"279":{"position":[[7239,8]]},"309":{"position":[[98,7],[1585,8],[2378,7]]},"314":{"position":[[248,7]]},"358":{"position":[[1952,7]]},"540":{"position":[[1758,7]]},"566":{"position":[[613,8]]}},"keywords":{}}],["instruct",{"_index":567,"title":{"310":{"position":[[6,13]]}},"content":{"26":{"position":[[279,12]]},"257":{"position":[[57,12]]},"309":{"position":[[1358,12]]},"330":{"position":[[113,12]]},"372":{"position":[[55,13]]},"378":{"position":[[14,12]]},"431":{"position":[[823,12]]}},"keywords":{}}],["instrument",{"_index":1296,"title":{"552":{"position":[[0,12]]}},"content":{"61":{"position":[[373,13]]},"253":{"position":[[793,10]]},"349":{"position":[[4203,16],[4243,12]]},"364":{"position":[[33,12]]},"529":{"position":[[180,12]]},"549":{"position":[[478,15]]},"552":{"position":[[29,15],[346,12],[497,12],[952,13],[1126,10],[1883,13],[1942,13],[2018,15],[2054,12],[2143,15],[2227,13]]},"566":{"position":[[57,11]]},"687":{"position":[[954,12]]},"689":{"position":[[996,12]]},"793":{"position":[[10,15],[170,13],[390,15]]}},"keywords":{}}],["instrument"",{"_index":5119,"title":{},"content":{"687":{"position":[[576,17]]},"689":{"position":[[615,17]]},"707":{"position":[[579,17]]}},"keywords":{}}],["int",{"_index":624,"title":{},"content":{"31":{"position":[[568,4]]},"35":{"position":[[702,4],[767,4]]},"37":{"position":[[495,4],[560,4]]},"214":{"position":[[553,3],[1773,3]]},"215":{"position":[[399,3],[830,3]]},"218":{"position":[[755,3],[1551,3]]},"220":{"position":[[781,3],[2017,3]]},"225":{"position":[[869,4]]},"228":{"position":[[731,4],[796,4],[2053,3]]},"230":{"position":[[514,4],[579,4]]},"231":{"position":[[901,4],[966,4]]},"232":{"position":[[737,4],[802,4]]},"233":{"position":[[497,4]]},"234":{"position":[[280,4]]},"271":{"position":[[893,4]]},"278":{"position":[[734,4]]},"279":{"position":[[7399,4]]},"280":{"position":[[526,4]]},"281":{"position":[[743,4]]},"282":{"position":[[412,4]]},"283":{"position":[[490,4]]},"284":{"position":[[282,4]]},"299":{"position":[[967,3]]},"304":{"position":[[1034,3]]},"305":{"position":[[1251,3]]},"321":{"position":[[771,3]]},"358":{"position":[[2881,3],[3629,5],[4865,3],[5297,5]]},"359":{"position":[[1479,3]]}},"keywords":{}}],["int(valu",{"_index":831,"title":{},"content":{"36":{"position":[[9475,9]]},"229":{"position":[[9475,9]]},"279":{"position":[[7736,9]]}},"keywords":{}}],["integ",{"_index":626,"title":{},"content":{"31":{"position":[[621,9],[640,9]]},"36":{"position":[[10351,7]]},"48":{"position":[[254,7],[389,7],[550,7],[611,7],[676,7],[743,7],[850,7],[952,7],[1053,7],[1769,7],[2402,7],[2760,7],[3115,7],[3530,7],[4930,7]]},"65":{"position":[[767,7]]},"200":{"position":[[242,7]]},"213":{"position":[[221,9]]},"225":{"position":[[922,9],[941,9]]},"229":{"position":[[10351,7]]},"271":{"position":[[946,9],[965,9]]},"358":{"position":[[3621,7],[4003,7],[4263,7],[5289,7],[5583,8]]},"398":{"position":[[1,8]]},"402":{"position":[[4292,7]]},"565":{"position":[[750,7],[1028,7]]},"664":{"position":[[192,7]]},"802":{"position":[[170,7]]}},"keywords":{}}],["integer"",{"_index":4967,"title":{},"content":{"664":{"position":[[695,14],[916,14]]}},"keywords":{}}],["integer.nod",{"_index":461,"title":{},"content":{"20":{"position":[[1155,13]]}},"keywords":{}}],["integr",{"_index":1802,"title":{},"content":{"96":{"position":[[538,11],[594,11],[661,11]]},"387":{"position":[[1038,9]]},"390":{"position":[[418,11],[1310,11]]},"556":{"position":[[486,10]]}},"keywords":{}}],["intellectu",{"_index":3816,"title":{},"content":{"393":{"position":[[140,12]]}},"keywords":{}}],["intellig",{"_index":4239,"title":{},"content":{"506":{"position":[[128,13]]},"524":{"position":[[126,13]]}},"keywords":{}}],["intens",{"_index":2808,"title":{},"content":{"307":{"position":[[181,9]]}},"keywords":{}}],["intent",{"_index":4351,"title":{},"content":{"540":{"position":[[1775,6]]}},"keywords":{}}],["intention",{"_index":5053,"title":{},"content":{"678":{"position":[[129,13]]},"680":{"position":[[225,13]]},"682":{"position":[[152,13]]},"684":{"position":[[248,13]]}},"keywords":{}}],["interact",{"_index":65,"title":{"636":{"position":[[0,11]]}},"content":{"2":{"position":[[622,8]]},"44":{"position":[[1428,12]]},"114":{"position":[[27,11]]},"265":{"position":[[141,11]]},"343":{"position":[[713,8],[1542,8]]},"349":{"position":[[4738,11]]},"365":{"position":[[55,11]]},"402":{"position":[[654,11],[729,12]]},"414":{"position":[[29,8]]},"434":{"position":[[86,12]]},"636":{"position":[[3,11],[138,11]]},"696":{"position":[[33,8]]},"787":{"position":[[196,8]]}},"keywords":{}}],["intercept",{"_index":4117,"title":{},"content":{"434":{"position":[[712,9]]}},"keywords":{}}],["interchang",{"_index":2326,"title":{},"content":{"218":{"position":[[90,11]]}},"keywords":{}}],["interest",{"_index":92,"title":{},"content":{"3":{"position":[[123,12]]},"36":{"position":[[10880,10]]},"424":{"position":[[710,9],[1503,9]]}},"keywords":{}}],["interesting"",{"_index":5031,"title":{},"content":{"673":{"position":[[1397,18],[1804,18]]}},"keywords":{}}],["interfac",{"_index":317,"title":{"99":{"position":[[0,10]]},"103":{"position":[[9,11]]},"104":{"position":[[13,10]]},"105":{"position":[[13,10]]},"106":{"position":[[4,10]]},"107":{"position":[[12,10]]},"108":{"position":[[12,10]]},"109":{"position":[[5,10]]},"110":{"position":[[15,10]]},"111":{"position":[[7,10]]},"112":{"position":[[5,9]]},"113":{"position":[[10,9]]},"114":{"position":[[5,9]]},"115":{"position":[[7,11]]},"120":{"position":[[0,10]]},"128":{"position":[[0,10]]},"129":{"position":[[0,9]]},"312":{"position":[[30,9]]},"358":{"position":[[0,11]]},"378":{"position":[[35,9]]},"409":{"position":[[0,11]]},"512":{"position":[[0,10]]},"749":{"position":[[0,11]]}},"content":{"11":{"position":[[52,10],[175,10]]},"53":{"position":[[65,9],[493,10]]},"54":{"position":[[132,10],[216,9],[330,9],[402,9]]},"55":{"position":[[100,10],[260,9],[707,9]]},"56":{"position":[[259,9]]},"57":{"position":[[174,9],[296,9],[387,9],[1370,9]]},"61":{"position":[[313,10],[1687,9]]},"63":{"position":[[126,11]]},"65":{"position":[[418,9]]},"67":{"position":[[94,10],[133,9],[176,10],[336,10],[450,9],[1087,10],[1361,10],[1626,9],[2269,10],[2669,9],[2795,9],[3434,9],[3513,10],[3531,9],[4139,9],[4267,10],[4755,9],[4945,10]]},"69":{"position":[[296,10],[663,9],[692,9],[819,9]]},"70":{"position":[[68,9]]},"71":{"position":[[81,9]]},"72":{"position":[[84,9]]},"73":{"position":[[88,10],[522,9],[706,10],[771,9],[1136,9],[1684,9]]},"74":{"position":[[111,10],[548,9]]},"75":{"position":[[110,10],[354,10],[564,9]]},"76":{"position":[[102,10],[353,10],[561,9]]},"77":{"position":[[79,10],[177,10],[387,10],[580,9],[738,9]]},"93":{"position":[[18,9],[143,9]]},"95":{"position":[[50,9]]},"96":{"position":[[90,12],[304,9],[354,10]]},"100":{"position":[[1,10],[80,10],[120,9],[163,9],[296,9],[523,10],[579,9],[651,9],[737,10],[794,10],[806,9],[855,10],[959,10]]},"101":{"position":[[38,10]]},"102":{"position":[[90,9],[183,10]]},"103":{"position":[[31,11],[123,9],[158,9],[193,9],[268,9],[329,11]]},"104":{"position":[[18,9],[100,9],[209,10],[384,9],[508,9],[849,9],[980,9],[1090,9],[1200,9],[1335,9],[1444,9],[1560,9],[1706,9],[1856,9],[1985,9],[2115,9],[2268,9],[2395,9],[2530,9]]},"105":{"position":[[18,9],[162,9],[709,9],[768,9],[928,9],[1038,9],[1127,9],[1216,9],[1330,9],[1418,9],[1513,9],[1670,9],[1799,9],[1907,9],[2016,9],[2148,9],[2254,9],[2368,9]]},"106":{"position":[[9,9],[446,9],[509,9],[891,9],[1016,9]]},"107":{"position":[[17,9],[98,9],[810,9],[907,9]]},"108":{"position":[[17,9],[91,9],[316,9],[375,9],[535,9],[641,9]]},"109":{"position":[[10,9],[106,9],[304,9],[672,9],[731,9],[1312,9],[1479,11],[1492,9],[1861,9]]},"110":{"position":[[20,9],[126,9],[314,9],[742,9],[854,9],[1006,9],[1065,9],[1646,9],[1837,11],[1850,9],[2253,9],[2302,9]]},"111":{"position":[[12,9],[157,9],[901,9],[960,9],[1169,9],[1285,9],[1392,9],[1488,9],[1610,9],[1706,9],[1820,9]]},"112":{"position":[[10,9],[94,9],[257,9],[316,9],[898,9]]},"113":{"position":[[15,9],[98,9],[308,9],[367,9],[503,9]]},"114":{"position":[[10,9],[59,9],[211,9]]},"115":{"position":[[1,10],[577,10],[650,9],[768,10],[826,10],[1123,9],[1382,9],[1590,10],[1749,10],[2064,11],[2137,10],[2234,9],[2373,10],[2400,9]]},"117":{"position":[[259,10],[405,10],[673,9]]},"120":{"position":[[1,10],[187,10]]},"121":{"position":[[153,11],[197,11]]},"128":{"position":[[44,10],[119,10],[185,9],[267,10],[334,9],[412,10],[452,10],[556,10],[720,10],[882,10]]},"129":{"position":[[38,9]]},"130":{"position":[[26,9],[106,9],[137,9],[263,9]]},"131":{"position":[[41,9],[148,9],[179,9],[328,9],[357,9],[524,9]]},"132":{"position":[[41,9],[151,9],[182,9],[334,9],[363,9],[533,9]]},"133":{"position":[[53,9]]},"134":{"position":[[41,9]]},"135":{"position":[[101,9]]},"136":{"position":[[38,10],[133,10]]},"138":{"position":[[36,9],[221,10],[858,9]]},"139":{"position":[[37,9],[171,9],[716,9],[871,9],[985,9]]},"140":{"position":[[23,9],[60,9],[112,10],[298,11],[445,10],[667,9]]},"141":{"position":[[47,9],[85,9],[690,9],[776,11]]},"147":{"position":[[256,10]]},"149":{"position":[[81,10],[197,11],[251,10],[510,10],[672,10]]},"215":{"position":[[58,9]]},"216":{"position":[[58,9]]},"217":{"position":[[69,9],[418,10],[998,10],[2437,9]]},"220":{"position":[[57,9]]},"221":{"position":[[404,9]]},"258":{"position":[[930,10],[1358,9]]},"263":{"position":[[155,11],[327,11]]},"272":{"position":[[188,9]]},"275":{"position":[[258,9],[723,9]]},"302":{"position":[[1456,9],[2604,9]]},"312":{"position":[[43,9]]},"314":{"position":[[145,10],[276,9],[1153,9],[1760,9]]},"342":{"position":[[240,9],[467,9],[583,10],[651,10]]},"343":{"position":[[1063,9],[1118,10],[1229,10]]},"344":{"position":[[161,9],[276,9]]},"345":{"position":[[112,11],[150,9]]},"346":{"position":[[216,11],[237,10],[343,11],[403,10]]},"348":{"position":[[95,9]]},"349":{"position":[[33,9]]},"355":{"position":[[35,9]]},"356":{"position":[[454,11]]},"358":{"position":[[652,11],[6769,9],[7549,9],[8036,10],[8094,10],[8120,9],[8260,10]]},"359":{"position":[[751,9],[2718,9]]},"363":{"position":[[220,9]]},"378":{"position":[[1017,9],[1646,10]]},"383":{"position":[[242,10],[280,9]]},"387":{"position":[[104,9],[216,10],[250,9]]},"402":{"position":[[174,9]]},"407":{"position":[[126,11]]},"409":{"position":[[5,10],[34,10],[114,9]]},"415":{"position":[[66,10]]},"422":{"position":[[1333,10]]},"462":{"position":[[72,9]]},"473":{"position":[[10,9]]},"509":{"position":[[72,10],[137,10]]},"512":{"position":[[5,10],[37,10],[115,10]]},"513":{"position":[[59,10]]},"517":{"position":[[211,9]]},"566":{"position":[[460,10]]},"686":{"position":[[22,10],[154,9]]},"710":{"position":[[133,10],[190,10]]},"711":{"position":[[64,10]]},"712":{"position":[[154,9]]},"715":{"position":[[71,9]]},"748":{"position":[[13,10],[150,9],[259,11],[306,11]]},"749":{"position":[[51,11]]},"750":{"position":[[12,9],[52,9],[234,10],[270,9]]},"751":{"position":[[23,10]]},"752":{"position":[[46,10],[226,10],[237,9],[292,10],[330,9]]},"753":{"position":[[51,10],[193,10]]},"754":{"position":[[42,11],[240,9],[323,10]]},"755":{"position":[[41,11],[238,9],[320,10]]},"756":{"position":[[31,11],[115,9],[906,9]]},"757":{"position":[[20,9],[93,10],[306,9],[333,9],[411,9],[507,9],[604,10]]},"758":{"position":[[31,10],[84,10],[130,9],[358,9]]},"759":{"position":[[31,9],[374,9]]}},"keywords":{}}],["interface'",{"_index":1381,"title":{},"content":{"67":{"position":[[2079,11],[3101,11],[4404,11]]},"100":{"position":[[994,11],[1113,11]]}},"keywords":{}}],["interface.read_protocol",{"_index":1436,"title":{},"content":{"73":{"position":[[721,26]]}},"keywords":{}}],["interface[0",{"_index":5545,"title":{},"content":{"756":{"position":[[1075,15]]}},"keywords":{}}],["interface[1",{"_index":5546,"title":{},"content":{"756":{"position":[[1109,15]]}},"keywords":{}}],["interface[2]}"",{"_index":5547,"title":{},"content":{"756":{"position":[[1148,21]]}},"keywords":{}}],["interface[3",{"_index":5549,"title":{},"content":{"756":{"position":[[1204,15]]}},"keywords":{}}],["interface[4",{"_index":5550,"title":{},"content":{"756":{"position":[[1240,15]]}},"keywords":{}}],["interface[5",{"_index":5551,"title":{},"content":{"756":{"position":[[1275,15]]}},"keywords":{}}],["interface[6]}"",{"_index":5552,"title":{},"content":{"756":{"position":[[1307,21]]}},"keywords":{}}],["interface[7",{"_index":5554,"title":{},"content":{"756":{"position":[[1353,15]]}},"keywords":{}}],["interface[8]}"",{"_index":5555,"title":{},"content":{"756":{"position":[[1380,21]]}},"keywords":{}}],["interface_address",{"_index":3612,"title":{},"content":{"378":{"position":[[955,17]]}},"keywords":{}}],["interface_cmd",{"_index":5565,"title":{"758":{"position":[[0,14]]}},"content":{},"keywords":{}}],["interface_cmd("<interfac",{"_index":5566,"title":{},"content":{"758":{"position":[[184,33]]}},"keywords":{}}],["interface_cmd("inst"",{"_index":5568,"title":{},"content":{"758":{"position":[[493,31]]}},"keywords":{}}],["interface_info",{"_index":5529,"title":{},"content":{"756":{"position":[[315,14],[860,14],[919,17]]}},"keywords":{}}],["interface_info.each",{"_index":5530,"title":{},"content":{"756":{"position":[[357,19]]}},"keywords":{}}],["interface_microservice.pi",{"_index":2078,"title":{},"content":{"145":{"position":[[318,25]]}},"keywords":{}}],["interface_microservice.rb",{"_index":2076,"title":{},"content":{"145":{"position":[[237,25]]}},"keywords":{}}],["interface_nam",{"_index":1842,"title":{},"content":{"104":{"position":[[859,14],[990,14],[1100,14],[1210,14],[1345,14],[1454,14],[1570,14],[1716,14],[1866,14],[1995,14],[2125,14],[2278,14],[2405,14],[2540,14]]},"105":{"position":[[938,14],[1048,14],[1137,14],[1226,14],[1340,14],[1428,14],[1523,14],[1680,14],[1809,14],[1917,14],[2026,14],[2158,14],[2264,14],[2378,14]]},"106":{"position":[[901,14],[1026,14]]},"107":{"position":[[820,14],[917,14]]},"108":{"position":[[545,14],[651,14]]},"111":{"position":[[1179,14],[1295,14],[1402,14],[1498,14],[1620,14],[1716,14],[1830,14]]},"751":{"position":[[95,15]]},"756":{"position":[[380,16],[514,18],[939,16]]}},"keywords":{}}],["interface_protocol_cmd",{"_index":1466,"title":{"759":{"position":[[0,23]]}},"content":{"78":{"position":[[137,22]]}},"keywords":{}}],["interface_protocol_cmd("<interfac",{"_index":5570,"title":{},"content":{"759":{"position":[[191,42]]}},"keywords":{}}],["interface_protocol_cmd("inst"",{"_index":5571,"title":{},"content":{"759":{"position":[[781,40],[902,40]]}},"keywords":{}}],["interface_st",{"_index":4910,"title":{},"content":{"662":{"position":[[2697,15]]}},"keywords":{}}],["interfaces](../configuration/interfac",{"_index":3279,"title":{},"content":{"358":{"position":[[6666,41]]}},"keywords":{}}],["interfacesdelet",{"_index":4288,"title":{},"content":{"529":{"position":[[271,16]]}},"keywords":{}}],["interfaces}"",{"_index":5486,"title":{},"content":{"748":{"position":[[318,19]]}},"keywords":{}}],["intermedi",{"_index":1864,"title":{},"content":{"106":{"position":[[629,12]]}},"keywords":{}}],["intermediari",{"_index":550,"title":{},"content":{"24":{"position":[[840,12]]},"149":{"position":[[327,14]]},"364":{"position":[[78,12]]}},"keywords":{}}],["intern",{"_index":70,"title":{"62":{"position":[[23,11]]}},"content":{"2":{"position":[[687,8]]},"42":{"position":[[2081,8]]},"62":{"position":[[82,8]]},"70":{"position":[[35,8]]},"71":{"position":[[43,8]]},"72":{"position":[[46,8]]},"183":{"position":[[524,8]]},"195":{"position":[[1,8]]},"196":{"position":[[108,10]]},"216":{"position":[[454,10]]},"275":{"position":[[923,10],[1694,8]]},"343":{"position":[[778,8]]},"361":{"position":[[86,9]]},"364":{"position":[[619,8]]},"382":{"position":[[599,8]]},"393":{"position":[[1152,13]]}},"keywords":{}}],["internet",{"_index":394,"title":{},"content":{"20":{"position":[[64,9]]},"109":{"position":[[56,8]]},"110":{"position":[[66,8]]},"309":{"position":[[3611,8]]},"310":{"position":[[718,9]]},"389":{"position":[[503,9],[1961,8]]},"429":{"position":[[660,9]]}},"keywords":{}}],["interoper",{"_index":1833,"title":{},"content":{"102":{"position":[[231,16]]},"373":{"position":[[41,16]]}},"keywords":{}}],["interpol",{"_index":4332,"title":{},"content":{"540":{"position":[[664,14]]},"565":{"position":[[433,13],[511,13]]},"699":{"position":[[488,15]]}},"keywords":{}}],["interpret",{"_index":1154,"title":{},"content":{"50":{"position":[[672,11]]},"278":{"position":[[911,11]]},"280":{"position":[[703,11]]},"281":{"position":[[1005,11]]},"282":{"position":[[674,11]]},"358":{"position":[[5559,11],[7935,11]]},"557":{"position":[[339,11]]}},"keywords":{}}],["interv",{"_index":2034,"title":{},"content":{"135":{"position":[[163,8]]},"153":{"position":[[45,9]]},"156":{"position":[[52,9]]},"160":{"position":[[47,9]]},"163":{"position":[[54,9]]}},"keywords":{}}],["intervalopen",{"_index":4198,"title":{},"content":{"489":{"position":[[32,13]]}},"keywords":{}}],["intervent",{"_index":4320,"title":{},"content":{"535":{"position":[[303,13]]}},"keywords":{}}],["intim",{"_index":2144,"title":{},"content":{"183":{"position":[[498,8]]}},"keywords":{}}],["intranet",{"_index":1813,"title":{},"content":{"97":{"position":[[132,8]]}},"keywords":{}}],["introduct",{"_index":0,"title":{"0":{"position":[[0,12]]},"117":{"position":[[0,13]]},"406":{"position":[[0,13]]},"418":{"position":[[0,13]]},"439":{"position":[[0,13]]},"445":{"position":[[0,13]]},"449":{"position":[[0,13]]},"457":{"position":[[0,13]]},"459":{"position":[[0,13]]},"464":{"position":[[0,13]]},"470":{"position":[[0,13]]},"476":{"position":[[0,13]]},"487":{"position":[[0,13]]},"494":{"position":[[0,13]]},"501":{"position":[[0,13]]},"509":{"position":[[0,13]]},"519":{"position":[[0,14]]},"526":{"position":[[0,13]]},"538":{"position":[[0,13]]}},"content":{},"keywords":{}}],["introspect",{"_index":1422,"title":{},"content":{"69":{"position":[[786,10]]}},"keywords":{}}],["intuit",{"_index":3347,"title":{},"content":{"363":{"position":[[203,9]]},"439":{"position":[[114,9]]}},"keywords":{}}],["invalid",{"_index":399,"title":{},"content":{"20":{"position":[[115,7]]},"559":{"position":[[368,7]]},"680":{"position":[[244,7]]},"684":{"position":[[267,7]]}},"keywords":{}}],["investig",{"_index":1598,"title":{},"content":{"83":{"position":[[537,11]]},"430":{"position":[[529,15]]}},"keywords":{}}],["involv",{"_index":2842,"title":{},"content":{"309":{"position":[[847,7]]},"332":{"position":[[632,7]]},"369":{"position":[[304,8]]},"679":{"position":[[165,9]]},"680":{"position":[[191,9]]},"683":{"position":[[188,9]]},"684":{"position":[[214,9]]}},"keywords":{}}],["io",{"_index":5000,"title":{},"content":{"670":{"position":[[462,2],[632,2],[990,2]]}},"keywords":{}}],["iot",{"_index":1880,"title":{},"content":{"109":{"position":[[75,5]]},"110":{"position":[[85,5]]}},"keywords":{}}],["ip",{"_index":1180,"title":{},"content":{"52":{"position":[[17,2],[80,2]]},"105":{"position":[[856,2]]},"106":{"position":[[140,2]]},"108":{"position":[[463,2]]},"109":{"position":[[496,2]]},"110":{"position":[[489,2]]},"126":{"position":[[251,2]]},"140":{"position":[[540,2]]},"358":{"position":[[7746,2]]},"378":{"position":[[777,2],[1084,2]]},"379":{"position":[[942,3],[1119,2]]},"380":{"position":[[329,2],[1052,2],[1971,2]]},"389":{"position":[[2187,2]]}},"keywords":{}}],["is"",{"_index":3778,"title":{},"content":{"390":{"position":[[721,9]]}},"keywords":{}}],["isn't",{"_index":2592,"title":{},"content":{"273":{"position":[[111,5]]},"369":{"position":[[1966,5]]},"572":{"position":[[278,5]]}},"keywords":{}}],["isol",{"_index":2509,"title":{},"content":{"258":{"position":[[244,8]]}},"keywords":{}}],["issu",{"_index":131,"title":{},"content":{"3":{"position":[[689,5]]},"36":{"position":[[1198,6]]},"98":{"position":[[174,6]]},"229":{"position":[[1198,6]]},"279":{"position":[[1193,6]]},"309":{"position":[[766,6]]},"332":{"position":[[420,6]]},"333":{"position":[[811,5]]},"336":{"position":[[55,5]]},"358":{"position":[[1838,6]]},"359":{"position":[[2877,6]]},"369":{"position":[[4020,5]]},"386":{"position":[[684,5]]},"470":{"position":[[301,7]]},"569":{"position":[[391,7],[427,5]]},"787":{"position":[[825,7]]}},"keywords":{}}],["istanbul/nyc",{"_index":2201,"title":{},"content":{"209":{"position":[[315,12]]}},"keywords":{}}],["it'",{"_index":127,"title":{},"content":{"3":{"position":[[659,4]]},"7":{"position":[[597,4]]},"24":{"position":[[750,4]]},"225":{"position":[[1283,4]]},"307":{"position":[[67,4]]},"319":{"position":[[552,4]]},"358":{"position":[[853,4]]},"368":{"position":[[519,4]]},"406":{"position":[[11,4]]}},"keywords":{}}],["itar",{"_index":3825,"title":{},"content":{"393":{"position":[[1119,4],[1199,4]]}},"keywords":{}}],["item",{"_index":358,"title":{"272":{"position":[[3,6]]},"273":{"position":[[15,6]]},"274":{"position":[[8,6]]},"278":{"position":[[0,5]]},"279":{"position":[[0,4]]},"461":{"position":[[10,6]]},"466":{"position":[[10,6]]},"472":{"position":[[10,6]]},"473":{"position":[[7,6]]},"478":{"position":[[10,6]]},"479":{"position":[[10,6]]},"480":{"position":[[10,5]]},"483":{"position":[[9,6]]},"484":{"position":[[8,6]]},"485":{"position":[[11,6]]},"489":{"position":[[10,6]]},"490":{"position":[[10,6]]},"495":{"position":[[10,6]]},"502":{"position":[[10,6]]},"511":{"position":[[10,6]]},"521":{"position":[[10,6]]},"522":{"position":[[11,6]]},"523":{"position":[[10,6]]},"528":{"position":[[10,6]]},"529":{"position":[[12,6]]}},"content":{"14":{"position":[[28,4],[94,4],[178,4],[286,5],[307,4]]},"36":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8534,4],[8615,5]]},"48":{"position":[[5246,4]]},"61":{"position":[[666,5],[801,5]]},"65":{"position":[[144,4],[154,4]]},"69":{"position":[[652,6]]},"92":{"position":[[688,4],[877,4],[1099,4]]},"202":{"position":[[23,4]]},"214":{"position":[[651,4],[744,4],[1850,4],[2003,4]]},"215":{"position":[[497,4],[907,4]]},"217":{"position":[[173,6],[2250,6]]},"218":{"position":[[853,4],[946,4],[1628,4],[1781,4]]},"220":{"position":[[904,4],[1028,4],[2119,4],[2303,4]]},"229":{"position":[[1089,4],[1122,5],[1185,5],[1250,4],[1502,4],[1593,4],[1647,4],[1691,4],[1735,4],[1796,5],[4537,4],[4618,5],[8534,4],[8615,5]]},"233":{"position":[[392,4],[429,4],[439,4],[478,4]]},"234":{"position":[[175,4],[212,4],[222,4],[261,4]]},"247":{"position":[[45,4],[143,4],[198,4],[208,4],[218,4],[249,4]]},"249":{"position":[[151,5]]},"251":{"position":[[1145,4],[1922,4]]},"271":{"position":[[841,5],[1347,5],[1381,6],[1523,4],[1694,4]]},"272":{"position":[[36,5],[107,5]]},"273":{"position":[[35,4],[172,5],[184,5],[352,4]]},"274":{"position":[[35,4],[61,4],[122,5],[176,6],[198,5],[229,5],[304,4],[348,4],[522,5],[553,4],[678,4]]},"275":{"position":[[48,5],[468,4],[796,5],[1280,4],[1433,4]]},"278":{"position":[[21,4],[115,5],[244,5],[357,5],[404,5],[715,4],[823,4],[897,4],[1063,4],[1108,4]]},"279":{"position":[[38,4],[1084,4],[1117,5],[1180,5],[1245,4],[1497,4],[1588,4],[1642,4],[1686,4],[1730,4],[1791,5],[1958,4],[2161,4],[2980,4],[4647,4],[5335,4],[6458,5],[7936,4],[8037,4],[8152,5],[8618,4],[8757,4],[8829,5],[10459,4]]},"280":{"position":[[21,4],[115,5],[196,5],[507,4],[615,4],[689,4]]},"281":{"position":[[21,4],[285,5],[414,5],[527,5],[724,4],[817,4],[917,4],[991,4]]},"282":{"position":[[21,4],[115,5],[196,5],[393,4],[486,4],[586,4],[660,4]]},"283":{"position":[[21,4],[132,5],[261,5],[374,5],[385,4],[422,4],[432,4],[471,4]]},"284":{"position":[[21,4],[132,5],[177,4],[214,4],[224,4],[263,4]]},"285":{"position":[[31,4],[329,4],[462,5]]},"286":{"position":[[45,4],[91,4],[166,5],[203,5],[328,4],[349,5],[403,4]]},"294":{"position":[[36,5],[65,5],[136,4]]},"295":{"position":[[151,5]]},"296":{"position":[[270,5],[536,5]]},"297":{"position":[[35,5],[74,5],[439,5],[551,4],[641,4]]},"298":{"position":[[30,4],[309,4],[341,4]]},"299":{"position":[[114,4],[199,4],[300,4],[463,4],[581,4],[649,4],[714,4],[798,4],[871,4],[946,4],[1041,4],[1131,4],[1394,4]]},"302":{"position":[[2431,5]]},"304":{"position":[[526,5],[884,5]]},"305":{"position":[[562,5],[877,4],[963,4],[1035,5]]},"320":{"position":[[385,5]]},"321":{"position":[[565,5],[658,6],[707,5],[783,4],[1168,4],[1197,4],[1210,4],[1240,4],[1253,4],[1282,4]]},"345":{"position":[[573,4]]},"350":{"position":[[460,5],[615,5],[648,4],[785,5],[818,4],[967,5],[1305,5]]},"353":{"position":[[585,4],[831,5],[847,4]]},"355":{"position":[[772,4]]},"358":{"position":[[5162,5],[5369,5],[5546,4],[5827,5]]},"367":{"position":[[954,5],[988,6],[1121,5]]},"369":{"position":[[2135,5]]},"398":{"position":[[333,5]]},"402":{"position":[[2278,5],[2341,5],[2381,5],[2709,6],[2716,6],[2809,4],[3139,4],[4488,5],[5423,6],[5580,4]]},"421":{"position":[[270,4]]},"452":{"position":[[366,4],[481,4],[633,5]]},"459":{"position":[[58,4]]},"470":{"position":[[81,5],[111,5],[232,5]]},"472":{"position":[[231,5],[324,6],[419,4],[457,5],[538,4],[668,6],[680,4]]},"473":{"position":[[55,5],[119,5],[290,7],[298,5],[516,5],[588,4],[771,4],[800,5],[940,5],[964,5],[1042,5],[1133,6],[1222,5],[1263,4],[1284,4],[1349,4],[1371,4],[1477,6],[1529,5]]},"476":{"position":[[47,5],[99,5]]},"478":{"position":[[61,5]]},"479":{"position":[[119,4],[169,4]]},"481":{"position":[[81,6]]},"482":{"position":[[41,4],[71,5],[231,4],[387,4],[490,4],[641,4]]},"483":{"position":[[19,5],[29,5],[61,6],[68,5],[128,5],[138,5]]},"484":{"position":[[1,5],[61,5],[71,5],[182,5],[246,5],[307,4],[362,5]]},"485":{"position":[[58,5]]},"487":{"position":[[136,6],[143,5],[247,5]]},"490":{"position":[[38,5],[66,5],[140,5]]},"491":{"position":[[125,5],[176,5]]},"492":{"position":[[19,4],[133,5]]},"504":{"position":[[196,5]]},"522":{"position":[[1057,5]]},"523":{"position":[[156,5],[176,4],[205,4],[219,4],[420,4],[528,5],[557,5]]},"542":{"position":[[967,4]]},"546":{"position":[[245,4]]},"579":{"position":[[141,5]]},"608":{"position":[[181,5]]},"609":{"position":[[158,4],[172,4],[335,4],[362,5],[392,5]]},"610":{"position":[[158,4],[172,4],[335,4]]},"611":{"position":[[333,5],[491,4],[505,4],[587,4]]},"612":{"position":[[133,4],[147,4]]},"613":{"position":[[27,4],[160,4],[174,4],[234,4]]},"614":{"position":[[27,4],[154,4],[168,4]]},"615":{"position":[[27,5],[162,4],[176,4],[317,5]]},"616":{"position":[[27,4],[174,4],[188,4]]},"617":{"position":[[27,4],[177,4],[191,4]]},"618":{"position":[[27,4],[173,4],[187,4],[272,4],[411,4]]},"619":{"position":[[441,4],[455,4]]},"620":{"position":[[170,4],[184,4]]},"621":{"position":[[168,4],[182,4]]},"622":{"position":[[52,4],[154,4],[168,4],[363,4],[387,4]]},"623":{"position":[[13,4],[143,4],[157,4]]},"624":{"position":[[13,4],[146,4],[160,4]]},"625":{"position":[[13,4],[142,4],[156,4],[241,4],[380,4]]},"626":{"position":[[38,4],[140,4],[154,4],[588,4],[623,4],[729,5],[752,4],[867,4],[881,4]]},"627":{"position":[[72,4],[174,4],[188,4],[782,5],[805,4],[920,4],[934,4]]},"628":{"position":[[27,4],[158,4],[172,4],[754,5],[777,4],[892,4],[906,4]]},"629":{"position":[[139,4],[153,4],[275,5]]},"630":{"position":[[164,4],[178,4],[238,4]]},"631":{"position":[[44,4],[152,4],[166,4],[251,4],[390,4]]},"632":{"position":[[560,5],[772,5]]},"633":{"position":[[186,4],[200,4]]},"634":{"position":[[138,4],[152,4]]},"635":{"position":[[33,4],[224,5],[382,4],[396,4]]},"639":{"position":[[35,5]]},"648":{"position":[[37,4],[176,4],[190,4]]},"650":{"position":[[368,4],[382,4]]},"652":{"position":[[138,4],[240,4],[254,4]]},"659":{"position":[[256,5],[399,4],[580,4],[1204,4],[1288,4]]},"687":{"position":[[969,8]]},"689":{"position":[[1011,8]]},"696":{"position":[[57,6]]},"697":{"position":[[40,4],[207,4],[528,5],[592,5],[598,4],[630,5],[693,5],[747,4]]},"698":{"position":[[30,4],[470,5],[534,5],[540,4],[572,5],[625,5]]},"701":{"position":[[41,5],[318,5],[382,5],[388,4],[420,5]]},"703":{"position":[[63,5]]},"704":{"position":[[78,6],[85,5],[240,5]]},"708":{"position":[[12,4],[320,4],[342,5],[373,4]]},"710":{"position":[[18,4],[544,4],[549,4]]},"711":{"position":[[270,4],[288,4],[313,5],[325,4],[468,4]]},"712":{"position":[[411,4],[416,4]]},"713":{"position":[[247,4],[252,4]]},"720":{"position":[[35,5]]},"722":{"position":[[99,4],[894,5],[958,5],[964,4],[996,5],[1059,5]]},"723":{"position":[[84,4],[626,5],[690,5],[696,4],[728,5],[781,5]]},"726":{"position":[[112,4],[509,5],[573,5],[579,4],[611,5],[674,5]]},"727":{"position":[[84,4],[525,5],[589,5],[595,4],[627,5],[680,5]]},"731":{"position":[[103,5],[386,5],[450,5],[456,4],[488,5]]},"732":{"position":[[55,5],[241,5],[305,5],[311,4],[343,5]]},"733":{"position":[[56,5],[243,5],[307,5],[313,4],[345,5]]},"734":{"position":[[49,5]]},"735":{"position":[[50,5]]},"740":{"position":[[238,4],[301,4],[306,4],[338,4]]},"741":{"position":[[608,5],[672,5],[678,4],[710,5],[805,4],[935,4],[1068,4],[1172,4],[1284,4],[1434,4],[1672,4],[1872,5]]},"742":{"position":[[88,5]]},"743":{"position":[[208,5],[235,5]]},"744":{"position":[[1326,4]]},"771":{"position":[[14,5]]},"772":{"position":[[29,5]]},"773":{"position":[[23,5]]},"775":{"position":[[17,5]]},"801":{"position":[[137,5]]}},"keywords":{}}],["item"",{"_index":2246,"title":{},"content":{"214":{"position":[[573,10],[862,10],[957,10],[1035,10],[1789,10],[2103,10],[2173,10],[2246,10]]},"215":{"position":[[419,10],[846,10]]},"218":{"position":[[775,10],[1064,10],[1159,10],[1237,10],[1567,10],[1881,10],[1951,10],[2024,10]]},"220":{"position":[[801,10],[1165,10],[1290,10],[2033,10],[2422,10],[2522,10]]},"251":{"position":[[1099,11],[1875,11]]},"271":{"position":[[1493,13],[1827,13]]},"482":{"position":[[678,10]]}},"keywords":{}}],["item").format",{"_index":2587,"title":{},"content":{"271":{"position":[[1760,21]]}},"keywords":{}}],["item'",{"_index":683,"title":{},"content":{"36":{"position":[[1150,6]]},"229":{"position":[[1150,6]]},"279":{"position":[[1145,6]]},"482":{"position":[[732,6]]},"620":{"position":[[13,6]]},"621":{"position":[[13,6]]}},"keywords":{}}],["item(",{"_index":4193,"title":{"482":{"position":[[27,8]]}},"content":{},"keywords":{}}],["item1",{"_index":827,"title":{},"content":{"36":{"position":[[9219,5],[9408,5]]},"214":{"position":[[615,5],[668,7],[1826,5],[1867,7]]},"215":{"position":[[461,5],[514,7],[883,5],[924,7]]},"218":{"position":[[817,5],[870,7],[1604,5],[1645,7]]},"220":{"position":[[868,5],[2095,5]]},"229":{"position":[[9219,5],[9408,5]]},"279":{"position":[[7518,5],[7685,5]]}},"keywords":{}}],["item2",{"_index":2248,"title":{},"content":{"214":{"position":[[709,5],[1979,5]]},"218":{"position":[[911,5],[1757,5]]},"220":{"position":[[993,5],[2279,5]]}},"keywords":{}}],["item3",{"_index":2252,"title":{},"content":{"214":{"position":[[822,5],[2076,5]]},"218":{"position":[[1024,5],[1854,5]]},"220":{"position":[[1125,5],[2395,5]]}},"keywords":{}}],["item4",{"_index":2256,"title":{},"content":{"214":{"position":[[907,5],[2143,5]]},"218":{"position":[[1109,5],[1921,5]]},"220":{"position":[[1240,5],[2492,5]]}},"keywords":{}}],["item5",{"_index":2260,"title":{},"content":{"214":{"position":[[1008,5],[2219,5]]},"218":{"position":[[1210,5],[1997,5]]}},"keywords":{}}],["item_nam",{"_index":1755,"title":{},"content":{"92":{"position":[[1060,9]]},"703":{"position":[[163,11]]},"714":{"position":[[1424,12],[1538,12],[1658,12],[1780,12]]},"742":{"position":[[53,10]]},"743":{"position":[[326,13]]}},"keywords":{}}],["item_name"",{"_index":1753,"title":{},"content":{"92":{"position":[[552,15]]}},"keywords":{}}],["item_valu",{"_index":5244,"title":{},"content":{"703":{"position":[[175,11]]}},"keywords":{}}],["items>",{"_index":5432,"title":{},"content":{"743":{"position":[[155,9]]}},"keywords":{}}],["items)reset",{"_index":4170,"title":{},"content":{"472":{"position":[[136,11]]}},"keywords":{}}],["items)sav",{"_index":4252,"title":{},"content":{"521":{"position":[[42,10]]}},"keywords":{}}],["itemschang",{"_index":4168,"title":{},"content":{"472":{"position":[[28,11]]}},"keywords":{}}],["itemsdisplay",{"_index":4200,"title":{},"content":{"490":{"position":[[17,12],[100,12],[123,12]]}},"keywords":{}}],["iter",{"_index":218,"title":{},"content":{"6":{"position":[[494,8],[640,9]]},"540":{"position":[[4534,7]]},"547":{"position":[[554,9]]}},"keywords":{}}],["itself",{"_index":120,"title":{},"content":{"3":{"position":[[554,7]]},"24":{"position":[[438,6],[742,7]]},"36":{"position":[[4822,6],[8819,6]]},"48":{"position":[[3617,7]]},"55":{"position":[[1197,7]]},"62":{"position":[[563,6]]},"78":{"position":[[66,7]]},"229":{"position":[[4822,6],[8819,6]]},"264":{"position":[[14,6]]},"301":{"position":[[1567,7]]},"340":{"position":[[461,7]]},"544":{"position":[[281,7]]},"592":{"position":[[282,6]]},"594":{"position":[[229,6]]},"595":{"position":[[98,6]]},"596":{"position":[[78,6]]},"597":{"position":[[102,6]]},"598":{"position":[[79,6]]},"599":{"position":[[87,6]]},"638":{"position":[[54,6]]},"639":{"position":[[73,6]]},"640":{"position":[[56,6]]},"642":{"position":[[66,6]]},"644":{"position":[[56,6]]}},"keywords":{}}],["i}"",{"_index":4232,"title":{},"content":{"499":{"position":[[827,11]]}},"keywords":{}}],["jan",{"_index":1109,"title":{},"content":{"48":{"position":[[2820,4],[3254,4]]},"82":{"position":[[908,3],[1030,3]]}},"keywords":{}}],["januari",{"_index":2704,"title":{},"content":{"299":{"position":[[762,8]]},"402":{"position":[[4357,7]]}},"keywords":{}}],["javascript",{"_index":1714,"title":{},"content":{"89":{"position":[[87,11]]},"192":{"position":[[139,10]]},"195":{"position":[[45,10]]},"218":{"position":[[40,10]]},"263":{"position":[[116,10],[211,10]]},"264":{"position":[[142,10]]},"307":{"position":[[206,10],[1636,10]]},"402":{"position":[[551,11],[688,10],[759,11],[1815,10],[4906,11]]},"637":{"position":[[81,10],[972,10],[1666,10]]}},"keywords":{}}],["job",{"_index":2665,"title":{},"content":{"281":{"position":[[201,3]]},"364":{"position":[[46,5],[120,5],[1070,3]]},"455":{"position":[[1145,4],[1408,3]]},"546":{"position":[[1427,3]]},"563":{"position":[[100,3]]}},"keywords":{}}],["job_nam",{"_index":3365,"title":{},"content":{"364":{"position":[[523,9],[602,9],[758,9],[900,9],[1054,9]]}},"keywords":{}}],["jpg",{"_index":4732,"title":{},"content":{"629":{"position":[[335,4],[401,3]]}},"keywords":{}}],["jq",{"_index":1629,"title":{},"content":{"83":{"position":[[1937,2],[2910,2],[3430,2],[3665,2],[3935,3]]}},"keywords":{}}],["js/app.j",{"_index":2165,"title":{},"content":{"195":{"position":[[211,10]]},"307":{"position":[[1843,9]]}},"keywords":{}}],["json",{"_index":1059,"title":{"84":{"position":[[0,4]]},"86":{"position":[[0,4]]},"218":{"position":[[0,4]]}},"content":{"46":{"position":[[145,4]]},"48":{"position":[[814,4],[2057,4],[2316,4],[2902,4],[2971,4],[3048,4],[3397,4],[3469,4],[3717,4],[3852,4],[3888,4]]},"83":{"position":[[1698,4],[1944,4],[2657,4],[2858,4]]},"86":{"position":[[52,4]]},"88":{"position":[[297,4],[438,4]]},"89":{"position":[[12,4]]},"93":{"position":[[36,4],[564,4]]},"214":{"position":[[112,5],[142,4]]},"217":{"position":[[308,4]]},"218":{"position":[[5,4],[67,7],[75,4],[273,4],[387,4],[446,4],[1289,4],[1382,4],[1443,4]]},"243":{"position":[[158,4]]},"244":{"position":[[154,4]]},"402":{"position":[[380,4],[4940,4],[4959,4],[5462,4],[5942,4]]},"408":{"position":[[116,4]]},"409":{"position":[[91,4]]},"410":{"position":[[85,4]]},"411":{"position":[[134,4]]}},"keywords":{}}],["json/cbor",{"_index":1076,"title":{},"content":{"48":{"position":[[475,9]]}},"keywords":{}}],["jsonaccessor",{"_index":1870,"title":{},"content":{"107":{"position":[[151,13]]},"108":{"position":[[144,13]]},"217":{"position":[[248,12]]},"218":{"position":[[513,12],[1512,12]]}},"keywords":{}}],["jsoncmd",{"_index":2329,"title":{},"content":{"218":{"position":[[451,7]]}},"keywords":{}}],["jsonpath",{"_index":687,"title":{},"content":{"36":{"position":[[1411,8]]},"214":{"position":[[390,9],[1644,9]]},"218":{"position":[[427,9],[1422,9]]},"229":{"position":[[1411,8]]},"279":{"position":[[1406,8]]}},"keywords":{}}],["jsontlm",{"_index":2337,"title":{},"content":{"218":{"position":[[1448,7]]}},"keywords":{}}],["judg",{"_index":3524,"title":{},"content":{"369":{"position":[[3883,5]]}},"keywords":{}}],["june",{"_index":3558,"title":{},"content":{"371":{"position":[[121,5]]}},"keywords":{}}],["jupyt",{"_index":1798,"title":{},"content":{"96":{"position":[[445,7]]}},"keywords":{}}],["justif",{"_index":3831,"title":{},"content":{"393":{"position":[[1321,13]]},"612":{"position":[[391,13]]}},"keywords":{}}],["justifi",{"_index":4692,"title":{},"content":{"612":{"position":[[412,7]]}},"keywords":{}}],["k8",{"_index":2533,"title":{},"content":{"261":{"position":[[52,4]]}},"keywords":{}}],["kayhan",{"_index":1808,"title":{},"content":{"96":{"position":[[694,8]]}},"keywords":{}}],["kc_restart",{"_index":1541,"title":{},"content":{"82":{"position":[[990,12]]}},"keywords":{}}],["keep",{"_index":74,"title":{"543":{"position":[[5,5]]},"544":{"position":[[0,4]]}},"content":{"2":{"position":[[720,4]]},"83":{"position":[[922,4],[2423,4]]},"109":{"position":[[574,4]]},"110":{"position":[[567,4]]},"155":{"position":[[13,4],[104,4]]},"158":{"position":[[13,4],[106,4]]},"162":{"position":[[13,4],[106,4]]},"165":{"position":[[13,4],[108,4]]},"166":{"position":[[13,4],[117,4]]},"167":{"position":[[13,4],[115,4]]},"168":{"position":[[13,4],[114,4]]},"169":{"position":[[13,4],[114,4]]},"170":{"position":[[13,4],[114,4]]},"309":{"position":[[2884,4]]},"324":{"position":[[566,5]]},"347":{"position":[[451,4]]},"348":{"position":[[2100,4]]},"378":{"position":[[1678,4]]},"387":{"position":[[591,7]]},"389":{"position":[[996,4]]},"392":{"position":[[461,4]]},"551":{"position":[[257,4]]},"554":{"position":[[1070,5]]}},"keywords":{}}],["kept",{"_index":1240,"title":{},"content":{"56":{"position":[[347,4]]},"298":{"position":[[107,4]]},"302":{"position":[[1835,4]]},"391":{"position":[[357,4]]},"424":{"position":[[1006,4],[1212,4]]},"430":{"position":[[231,4]]}},"keywords":{}}],["kernel",{"_index":3536,"title":{},"content":{"369":{"position":[[4321,6]]}},"keywords":{}}],["key",{"_index":446,"title":{"26":{"position":[[31,4]]},"27":{"position":[[17,4]]},"95":{"position":[[0,3]]},"254":{"position":[[14,3]]}},"content":{"20":{"position":[[930,4],[1181,3],[1427,3]]},"24":{"position":[[1,4]]},"26":{"position":[[83,5],[119,5],[178,4],[336,4]]},"27":{"position":[[260,4],[535,4],[595,3],[815,4],[938,3],[1015,4]]},"36":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"48":{"position":[[514,3],[4321,3],[4341,3],[4669,3],[4759,5],[4840,4],[5149,3],[5186,3],[5225,3]]},"109":{"position":[[1027,3],[1067,3],[1098,4],[1162,3]]},"110":{"position":[[1361,3],[1401,3],[1432,4],[1496,3]]},"141":{"position":[[863,4],[945,3],[976,3]]},"188":{"position":[[573,4],[646,3]]},"202":{"position":[[93,3]]},"214":{"position":[[307,3],[375,3],[584,3],[664,3],[757,3],[873,3],[968,3],[1046,3],[1576,3],[1629,3],[1800,3],[1863,3],[2016,3],[2114,3],[2184,3],[2257,3]]},"215":{"position":[[189,3],[257,3],[430,3],[510,3],[627,3],[689,3],[857,3],[920,3]]},"216":{"position":[[247,5],[530,4],[675,3],[762,3],[827,3],[900,3]]},"217":{"position":[[807,3],[930,3],[1285,3],[2086,3],[2172,3],[2651,4],[2796,3],[2883,3],[2948,3],[3021,3]]},"218":{"position":[[170,3],[344,3],[412,3],[786,3],[866,3],[959,3],[1075,3],[1170,3],[1248,3],[1354,3],[1407,3],[1578,3],[1641,3],[1794,3],[1892,3],[1962,3],[2035,3]]},"220":{"position":[[255,3],[322,3],[812,3],[917,3],[1041,3],[1176,3],[1301,3],[1436,3],[1488,3],[2044,3],[2132,3],[2316,3],[2433,3],[2533,3]]},"229":{"position":[[1311,4],[1345,3],[1396,4],[1483,3],[1529,3],[2752,3]]},"260":{"position":[[148,3]]},"279":{"position":[[1306,4],[1340,3],[1391,4],[1478,3],[1524,3],[1964,3]]},"309":{"position":[[271,3]]},"343":{"position":[[59,3]]},"350":{"position":[[128,3]]},"367":{"position":[[96,3]]},"389":{"position":[[954,3]]},"390":{"position":[[1219,3]]},"402":{"position":[[5585,4]]},"404":{"position":[[1344,3]]},"452":{"position":[[594,3]]},"538":{"position":[[330,3]]},"540":{"position":[[39,3]]},"590":{"position":[[28,3],[81,3]]},"770":{"position":[[115,3]]},"771":{"position":[[135,3],[157,3]]},"772":{"position":[[129,3],[151,3]]},"774":{"position":[[23,5]]},"775":{"position":[[152,3],[174,3]]},"803":{"position":[[159,3],[386,5],[424,5],[499,6],[532,6]]},"804":{"position":[[162,3],[406,5],[466,6]]},"814":{"position":[[209,5]]}},"keywords":{}}],["key>"",{"_index":5623,"title":{},"content":{"771":{"position":[[70,14]]},"772":{"position":[[85,14]]},"775":{"position":[[108,14]]}},"keywords":{}}],["key/valu",{"_index":708,"title":{},"content":{"36":{"position":[[2702,9]]},"229":{"position":[[2702,9]]},"279":{"position":[[1927,9]]}},"keywords":{}}],["key/value(",{"_index":2151,"title":{},"content":{"186":{"position":[[45,12]]}},"keywords":{}}],["key_valu",{"_index":633,"title":{},"content":{"33":{"position":[[307,9],[434,10],[479,9]]},"40":{"position":[[112,9]]}},"keywords":{}}],["keyboard",{"_index":4751,"title":{},"content":{"636":{"position":[[187,8]]}},"keywords":{}}],["keycloak",{"_index":1518,"title":{},"content":{"82":{"position":[[35,8],[106,8],[296,8],[333,8],[668,8]]},"258":{"position":[[1731,8],[1846,8]]},"369":{"position":[[1317,8],[2808,8]]}},"keywords":{}}],["keycloak_local",{"_index":1533,"title":{},"content":{"82":{"position":[[838,17]]}},"keywords":{}}],["keyfil",{"_index":490,"title":{},"content":{"22":{"position":[[230,8]]},"28":{"position":[[164,8],[206,8]]}},"keywords":{}}],["keyfile_password",{"_index":1886,"title":{},"content":{"109":{"position":[[1112,16]]},"110":{"position":[[1446,16]]}},"keywords":{}}],["keyout",{"_index":418,"title":{},"content":{"20":{"position":[[420,6]]}},"keywords":{}}],["keypair",{"_index":582,"title":{},"content":{"27":{"position":[[427,7]]}},"keywords":{}}],["keyword",{"_index":138,"title":{"5":{"position":[[0,7]]},"10":{"position":[[11,8]]}},"content":{"5":{"position":[[60,7],[174,7],[278,8],[513,7],[1356,7]]},"15":{"position":[[49,7],[189,7],[263,7],[312,7]]},"16":{"position":[[51,7],[193,7],[267,7],[314,7]]},"31":{"position":[[368,8],[718,8]]},"34":{"position":[[15,8],[44,8]]},"36":{"position":[[15,8],[48,8],[1221,7],[8377,7]]},"50":{"position":[[930,7]]},"64":{"position":[[521,7]]},"100":{"position":[[130,7]]},"103":{"position":[[179,9],[238,8],[278,8]]},"109":{"position":[[1437,7]]},"110":{"position":[[1795,7]]},"125":{"position":[[287,8],[363,8]]},"126":{"position":[[61,7]]},"128":{"position":[[513,9]]},"129":{"position":[[15,8],[48,8]]},"136":{"position":[[77,7]]},"151":{"position":[[15,8],[45,8]]},"174":{"position":[[293,8]]},"179":{"position":[[15,8],[51,8]]},"183":{"position":[[208,7]]},"186":{"position":[[193,8]]},"193":{"position":[[15,8],[43,8]]},"204":{"position":[[15,8],[45,8]]},"225":{"position":[[1356,8]]},"227":{"position":[[15,8],[46,8]]},"229":{"position":[[15,8],[48,8],[1221,7],[8377,7]]},"274":{"position":[[727,8]]},"275":{"position":[[1777,8]]},"277":{"position":[[15,8],[48,8]]},"279":{"position":[[15,8],[43,8],[1216,7],[7035,7],[8542,7]]},"294":{"position":[[157,8]]},"304":{"position":[[972,7]]},"305":{"position":[[1189,7]]},"314":{"position":[[188,9],[332,8]]},"349":{"position":[[2061,9]]},"358":{"position":[[2801,7],[4803,7]]},"359":{"position":[[1399,7]]},"415":{"position":[[111,8]]},"447":{"position":[[367,8]]},"472":{"position":[[647,7]]},"540":{"position":[[363,7]]},"552":{"position":[[1224,8],[1767,7]]},"557":{"position":[[475,8],[536,8]]},"575":{"position":[[120,7],[159,8]]},"576":{"position":[[52,7],[436,8]]},"577":{"position":[[46,7],[67,7]]},"578":{"position":[[140,7],[176,7]]},"582":{"position":[[282,9]]},"612":{"position":[[982,8]]},"619":{"position":[[914,8]]},"626":{"position":[[719,8]]},"627":{"position":[[772,8]]},"628":{"position":[[744,8]]},"649":{"position":[[688,8]]},"650":{"position":[[1249,8]]},"652":{"position":[[1156,8]]},"677":{"position":[[989,7]]},"678":{"position":[[1211,7]]},"679":{"position":[[1232,7]]},"680":{"position":[[1265,7]]},"681":{"position":[[1065,7]]},"682":{"position":[[1282,7]]},"683":{"position":[[1303,7]]},"684":{"position":[[1336,7]]},"726":{"position":[[29,8]]}},"keywords":{}}],["keyword/param",{"_index":2152,"title":{},"content":{"186":{"position":[[118,14]]}},"keywords":{}}],["keyword/paramet",{"_index":4592,"title":{},"content":{"574":{"position":[[454,17]]}},"keywords":{}}],["khtml",{"_index":1614,"title":{},"content":{"83":{"position":[[1176,7]]}},"keywords":{}}],["kibana",{"_index":3348,"title":{},"content":{"363":{"position":[[213,6]]}},"keywords":{}}],["kilomet",{"_index":667,"title":{},"content":{"36":{"position":[[491,10]]},"229":{"position":[[491,10]]},"279":{"position":[[486,10]]}},"keywords":{}}],["kind",{"_index":3100,"title":{},"content":{"343":{"position":[[848,5]]},"390":{"position":[[755,5]]}},"keywords":{}}],["kiss",{"_index":4385,"title":{"543":{"position":[[0,4]]}},"content":{},"keywords":{}}],["km",{"_index":668,"title":{},"content":{"36":{"position":[[502,2]]},"229":{"position":[[502,2]]},"279":{"position":[[497,2]]}},"keywords":{}}],["know",{"_index":538,"title":{},"content":{"24":{"position":[[329,4]]},"69":{"position":[[829,6]]},"115":{"position":[[2184,4]]},"183":{"position":[[156,4]]},"342":{"position":[[495,5]]},"359":{"position":[[390,4]]},"566":{"position":[[181,4]]}},"keywords":{}}],["knowledg",{"_index":2145,"title":{},"content":{"183":{"position":[[507,9]]},"258":{"position":[[315,9]]},"307":{"position":[[191,9]]},"314":{"position":[[223,9]]},"745":{"position":[[21,9]]}},"keywords":{}}],["known",{"_index":1241,"title":{},"content":{"56":{"position":[[374,5]]},"261":{"position":[[43,5]]},"346":{"position":[[575,5],[858,5]]},"379":{"position":[[3249,5]]},"389":{"position":[[142,5]]},"402":{"position":[[523,5]]},"470":{"position":[[295,5]]},"546":{"position":[[54,5]]}},"keywords":{}}],["kubernet",{"_index":902,"title":{"261":{"position":[[0,11]]}},"content":{"42":{"position":[[151,11]]},"127":{"position":[[327,10]]},"144":{"position":[[49,10],[129,10]]},"148":{"position":[[143,10]]},"177":{"position":[[143,10]]},"182":{"position":[[50,10],[130,10]]},"191":{"position":[[143,10]]},"258":{"position":[[1908,10]]},"261":{"position":[[335,10]]},"367":{"position":[[42,10]]},"368":{"position":[[261,11]]},"369":{"position":[[271,11],[3970,10],[4184,10]]}},"keywords":{}}],["kubernetes.io",{"_index":2531,"title":{},"content":{"261":{"position":[[5,14]]}},"keywords":{}}],["label",{"_index":2190,"title":{"604":{"position":[[0,6]]},"612":{"position":[[0,9]]}},"content":{"203":{"position":[[391,5],[401,5]]},"228":{"position":[[2139,5],[2187,5]]},"230":{"position":[[1880,5],[1924,5]]},"304":{"position":[[1228,5],[1253,5]]},"305":{"position":[[1506,5],[1531,5]]},"358":{"position":[[3078,5],[3122,5],[4391,5],[5022,5],[5047,5]]},"359":{"position":[[1678,5],[1722,5]]},"580":{"position":[[192,5]]},"581":{"position":[[187,5],[391,5]]},"583":{"position":[[201,5],[251,5]]},"584":{"position":[[205,5],[279,5]]},"585":{"position":[[201,5],[257,5],[331,5]]},"586":{"position":[[203,5],[259,5],[334,5]]},"587":{"position":[[371,5],[426,5]]},"588":{"position":[[365,5],[420,5]]},"589":{"position":[[387,5],[450,5]]},"590":{"position":[[159,5]]},"591":{"position":[[187,5],[391,5]]},"594":{"position":[[370,5],[393,5]]},"595":{"position":[[243,5],[349,5],[372,5]]},"596":{"position":[[220,5],[243,5]]},"597":{"position":[[201,5],[312,5],[335,5]]},"598":{"position":[[272,5],[296,5],[320,5],[344,5],[366,5],[388,5]]},"599":{"position":[[341,5],[363,5],[385,5],[407,5],[429,5],[451,5],[473,5],[495,5],[517,5]]},"601":{"position":[[182,5],[204,5],[256,5],[278,5]]},"604":{"position":[[41,5],[194,5],[222,5]]},"605":{"position":[[107,5],[133,5]]},"606":{"position":[[160,5]]},"607":{"position":[[190,5],[234,5]]},"612":{"position":[[12,5],[424,5],[482,5],[591,5],[818,8],[937,9]]},"613":{"position":[[12,5]]},"614":{"position":[[12,5]]},"615":{"position":[[12,5],[237,5]]},"616":{"position":[[12,5]]},"617":{"position":[[12,5]]},"618":{"position":[[12,5]]},"628":{"position":[[12,5]]},"632":{"position":[[319,5],[351,5]]},"640":{"position":[[155,5],[169,5]]},"644":{"position":[[155,5],[169,5]]},"654":{"position":[[307,5],[397,5]]}},"keywords":{}}],["label'",{"_index":4631,"title":{},"content":{"591":{"position":[[855,7],[963,7]]}},"keywords":{}}],["labelprogressbar",{"_index":4695,"title":{"613":{"position":[[0,17]]}},"content":{"613":{"position":[[552,16],[601,16]]}},"keywords":{}}],["labelsparklin",{"_index":4729,"title":{"628":{"position":[[0,15]]}},"content":{"628":{"position":[[563,14],[693,15]]}},"keywords":{}}],["labelvalu",{"_index":2967,"title":{"614":{"position":[[0,11]]}},"content":{"320":{"position":[[1618,10]]},"581":{"position":[[160,10],[630,11]]},"591":{"position":[[160,10],[778,10]]},"614":{"position":[[419,10],[463,10]]},"654":{"position":[[129,10],[168,10],[211,10]]},"786":{"position":[[561,10],[833,10]]},"787":{"position":[[1023,10],[1306,10]]}},"keywords":{}}],["labelvaluedesc",{"_index":4699,"title":{"615":{"position":[[0,15]]}},"content":{"615":{"position":[[565,14],[645,14]]}},"keywords":{}}],["labelvaluelimitsbar",{"_index":4606,"title":{"616":{"position":[[0,20]]}},"content":{"580":{"position":[[337,19]]},"581":{"position":[[359,20],[841,20],[880,19]]},"591":{"position":[[359,20],[876,19]]}},"keywords":{}}],["labelvaluelimitscolumn",{"_index":4701,"title":{"617":{"position":[[0,23]]}},"content":{"617":{"position":[[442,22],[503,22]]}},"keywords":{}}],["labelvaluerangebar",{"_index":4703,"title":{"618":{"position":[[0,19]]}},"content":{"618":{"position":[[819,18],[886,18]]}},"keywords":{}}],["labview",{"_index":3102,"title":{},"content":{"343":{"position":[[954,8]]}},"keywords":{}}],["labview_interface.rb",{"_index":1984,"title":{},"content":{"115":{"position":[[2422,20]]}},"keywords":{}}],["labviewinterfac",{"_index":1985,"title":{},"content":{"115":{"position":[[2466,17],[2508,17]]}},"keywords":{}}],["languag",{"_index":314,"title":{"11":{"position":[[0,9]]},"657":{"position":[[12,10]]}},"content":{"11":{"position":[[29,8],[94,8],[138,8],[377,8]]},"83":{"position":[[851,9],[2381,9]]},"89":{"position":[[59,10]]},"93":{"position":[[58,9]]},"269":{"position":[[154,9],[272,9]]},"342":{"position":[[731,8]]},"402":{"position":[[587,9],[804,9]]},"426":{"position":[[596,9]]},"532":{"position":[[272,9]]},"539":{"position":[[102,9]]},"540":{"position":[[985,9]]},"543":{"position":[[35,9]]},"657":{"position":[[105,9],[234,8]]}},"keywords":{}}],["laptop",{"_index":3933,"title":{},"content":{"404":{"position":[[346,6]]}},"keywords":{}}],["larg",{"_index":877,"title":{},"content":{"40":{"position":[[748,5]]},"225":{"position":[[93,5]]},"271":{"position":[[117,5]]},"369":{"position":[[3504,5]]},"544":{"position":[[79,5]]},"546":{"position":[[807,5],[859,5]]},"549":{"position":[[24,5]]},"552":{"position":[[989,5],[2163,5]]},"568":{"position":[[249,5]]},"606":{"position":[[12,5]]},"634":{"position":[[12,5]]}},"keywords":{}}],["larger",{"_index":263,"title":{},"content":{"7":{"position":[[612,6]]},"31":{"position":[[437,6]]},"36":{"position":[[6527,6],[7323,6]]},"229":{"position":[[6527,6],[7323,6]]},"279":{"position":[[5066,6],[5924,6]]},"369":{"position":[[2326,6]]},"404":{"position":[[305,6]]}},"keywords":{}}],["largest",{"_index":3264,"title":{},"content":{"358":{"position":[[4122,8]]}},"keywords":{}}],["laser",{"_index":733,"title":{},"content":{"36":{"position":[[3811,5],[3924,5]]},"229":{"position":[[3811,5],[3924,5]]}},"keywords":{}}],["laser"",{"_index":732,"title":{},"content":{"36":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"229":{"position":[[3750,11],[3772,11],[3864,11],[3887,11]]},"279":{"position":[[2817,11],[2839,11],[2875,11],[2898,11]]}},"keywords":{}}],["last",{"_index":819,"title":{},"content":{"36":{"position":[[8291,4]]},"48":{"position":[[4067,4]]},"50":{"position":[[719,4]]},"52":{"position":[[477,4]]},"55":{"position":[[1935,4]]},"73":{"position":[[761,4],[1126,4],[1579,4]]},"225":{"position":[[438,5]]},"229":{"position":[[8291,4]]},"271":{"position":[[469,5]]},"279":{"position":[[6950,4]]},"297":{"position":[[483,4]]},"298":{"position":[[42,4]]},"299":{"position":[[558,4]]},"340":{"position":[[573,4]]},"358":{"position":[[7524,4]]},"367":{"position":[[716,4]]},"380":{"position":[[1480,4]]},"402":{"position":[[3222,4]]},"446":{"position":[[42,4]]},"455":{"position":[[1088,4]]},"473":{"position":[[1154,4]]},"563":{"position":[[821,4],[1153,4]]},"717":{"position":[[682,4],[1180,4]]},"744":{"position":[[60,4],[1301,4],[1344,4]]}},"keywords":{}}],["last_nam",{"_index":4343,"title":{},"content":{"540":{"position":[[1461,9]]}},"keywords":{}}],["lastdisplay",{"_index":4201,"title":{},"content":{"490":{"position":[[44,11]]}},"keywords":{}}],["late",{"_index":1780,"title":{"96":{"position":[[18,5]]}},"content":{},"keywords":{}}],["later",{"_index":1152,"title":{},"content":{"50":{"position":[[585,5]]},"69":{"position":[[916,5]]},"126":{"position":[[463,5]]},"323":{"position":[[688,6]]},"540":{"position":[[605,6],[1161,5]]},"543":{"position":[[285,5]]},"563":{"position":[[801,5],[1133,5]]}},"keywords":{}}],["latest",{"_index":928,"title":{},"content":{"42":{"position":[[986,6],[1067,6],[1142,6],[1205,6],[1264,6],[1324,6],[1386,6],[1446,6],[1505,6],[1564,6]]},"309":{"position":[[1460,6]]},"333":{"position":[[507,9]]},"369":{"position":[[474,7]]},"429":{"position":[[415,6]]},"562":{"position":[[206,7],[637,6]]},"611":{"position":[[851,6],[902,6]]},"614":{"position":[[435,6],[479,6]]},"804":{"position":[[269,6]]}},"keywords":{}}],["launch",{"_index":1759,"title":{},"content":{"93":{"position":[[287,6]]},"255":{"position":[[156,6]]},"324":{"position":[[166,6]]},"326":{"position":[[141,6]]},"637":{"position":[[1270,8]]}},"keywords":{}}],["law",{"_index":4078,"title":{},"content":{"430":{"position":[[456,4],[607,4]]},"432":{"position":[[1127,3],[1226,3]]}},"keywords":{}}],["lawfulli",{"_index":4020,"title":{},"content":{"424":{"position":[[439,9]]}},"keywords":{}}],["lay",{"_index":4590,"title":{},"content":{"574":{"position":[[279,5]]}},"keywords":{}}],["layer",{"_index":1398,"title":{},"content":{"67":{"position":[[3751,6],[3810,6]]},"429":{"position":[[496,5]]}},"keywords":{}}],["layout",{"_index":4599,"title":{"593":{"position":[[0,6]]}},"content":{"577":{"position":[[291,6],[384,6]]},"578":{"position":[[26,6],[45,6]]},"589":{"position":[[53,6]]},"593":{"position":[[3,6],[96,6]]},"594":{"position":[[82,7],[99,6],[188,6]]},"601":{"position":[[20,6]]},"646":{"position":[[1,6]]}},"keywords":{}}],["lead",{"_index":1199,"title":{},"content":{"53":{"position":[[551,7]]},"54":{"position":[[658,7],[949,7]]},"55":{"position":[[475,7],[1730,7]]},"56":{"position":[[855,7]]},"60":{"position":[[358,7]]},"61":{"position":[[2027,7]]},"390":{"position":[[1268,7]]},"422":{"position":[[960,4]]}},"keywords":{}}],["learn",{"_index":2753,"title":{},"content":{"301":{"position":[[1202,5]]},"434":{"position":[[374,5]]}},"keywords":{}}],["leav",{"_index":1157,"title":{},"content":{"50":{"position":[[797,5]]},"209":{"position":[[192,5]]},"522":{"position":[[962,7]]}},"keywords":{}}],["led",{"_index":4393,"title":{"619":{"position":[[0,4]]}},"content":{"544":{"position":[[161,3]]},"612":{"position":[[32,3],[306,3],[359,3],[434,3],[508,3],[601,3],[1145,3],[1168,3]]},"619":{"position":[[12,3],[212,3],[614,3],[667,3],[716,3],[874,4],[1077,3],[1100,3]]}},"keywords":{}}],["led_color",{"_index":4694,"title":{},"content":{"612":{"position":[[854,9],[883,9],[992,10]]},"619":{"position":[[181,9],[266,9],[293,9],[322,9],[767,9],[793,9],[817,9],[924,10]]}},"keywords":{}}],["left",{"_index":42,"title":{},"content":{"2":{"position":[[236,4]]},"343":{"position":[[327,4]]},"380":{"position":[[2272,4]]},"389":{"position":[[158,4]]},"413":{"position":[[123,4]]},"485":{"position":[[103,4]]},"505":{"position":[[312,5]]},"506":{"position":[[313,4]]},"555":{"position":[[31,5]]},"612":{"position":[[495,4],[647,4],[663,6],[783,5]]},"645":{"position":[[129,4]]},"646":{"position":[[168,4]]},"647":{"position":[[94,4],[172,4]]},"648":{"position":[[240,4],[318,4]]},"649":{"position":[[207,4],[286,4]]},"650":{"position":[[648,4],[727,4],[1487,4],[1566,4]]},"780":{"position":[[374,4],[443,4]]},"787":{"position":[[547,4],[616,4]]}},"keywords":{}}],["legaci",{"_index":3768,"title":{},"content":{"389":{"position":[[2147,6]]}},"keywords":{}}],["legal",{"_index":2393,"title":{},"content":{"225":{"position":[[1294,5]]},"430":{"position":[[118,5]]},"432":{"position":[[1245,5]]}},"keywords":{}}],["legend",{"_index":4728,"title":{},"content":{"627":{"position":[[49,7]]}},"keywords":{}}],["legitim",{"_index":4023,"title":{},"content":{"424":{"position":[[554,10]]}},"keywords":{}}],["len(data",{"_index":1441,"title":{},"content":{"73":{"position":[[1006,9]]}},"keywords":{}}],["length",{"_index":693,"title":{"55":{"position":[[0,6]]}},"content":{"36":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"48":{"position":[[268,6],[315,6],[1521,6],[2009,6],[3496,6],[3573,6],[3656,6],[3773,6],[4280,6],[5166,6]]},"50":{"position":[[87,7]]},"54":{"position":[[355,7]]},"55":{"position":[[5,6],[34,6],[149,6],[199,6],[300,6],[318,6],[362,6],[388,6],[418,6],[506,6],[669,6],[760,6],[839,6],[904,6],[944,6],[968,6],[1015,6],[1059,6],[1184,6],[1245,6],[1275,6],[1346,6],[1451,6],[1506,6],[1562,6],[1604,6],[1644,6],[2287,6],[2327,6],[2359,7],[2372,6],[2433,6],[2567,6],[2602,6],[2900,6],[2995,6],[3075,6],[3114,6],[3150,6],[3193,6],[3297,6],[3321,6],[3346,6],[3390,6]]},"60":{"position":[[259,6]]},"62":{"position":[[613,6],[653,6],[685,7]]},"81":{"position":[[623,7]]},"82":{"position":[[736,7]]},"83":{"position":[[948,7]]},"104":{"position":[[940,6],[1816,6]]},"105":{"position":[[998,6],[1759,6]]},"111":{"position":[[1245,6]]},"139":{"position":[[848,6]]},"213":{"position":[[371,6]]},"229":{"position":[[1640,6],[1728,6],[1745,6],[1789,6],[1822,6],[1873,6]]},"279":{"position":[[1635,6],[1723,6],[1740,6],[1784,6],[1817,6],[1868,6],[10688,6]]},"288":{"position":[[336,6]]},"289":{"position":[[61,6]]},"312":{"position":[[312,7]]},"358":{"position":[[5785,7]]},"540":{"position":[[160,7]]}},"keywords":{}}],["length"",{"_index":2479,"title":{},"content":{"253":{"position":[[720,12],[1598,12],[2368,12]]},"299":{"position":[[701,12]]},"379":{"position":[[1553,12],[2085,12],[2585,12]]}},"keywords":{}}],["lengthprotocol",{"_index":2054,"title":{},"content":{"139":{"position":[[918,14]]}},"keywords":{}}],["less",{"_index":93,"title":{},"content":{"3":{"position":[[140,4]]},"36":{"position":[[2997,4]]},"229":{"position":[[2997,4]]},"269":{"position":[[221,4]]},"279":{"position":[[2206,4],[8957,4],[9075,4],[9275,4],[9772,4],[10118,4]]},"289":{"position":[[37,4]]},"330":{"position":[[560,5]]},"455":{"position":[[1074,4]]},"654":{"position":[[715,4]]},"741":{"position":[[1032,4],[1249,4],[1399,4]]}},"keywords":{}}],["let",{"_index":3255,"title":{},"content":{"358":{"position":[[2630,4]]},"362":{"position":[[49,4]]},"563":{"position":[[378,4]]}},"keywords":{}}],["let'",{"_index":440,"title":{"24":{"position":[[0,5]]}},"content":{"20":{"position":[[793,5]]},"67":{"position":[[1667,5]]},"324":{"position":[[351,5],[626,5]]},"358":{"position":[[98,5]]},"359":{"position":[[1024,5]]},"404":{"position":[[383,5]]}},"keywords":{}}],["letter",{"_index":421,"title":{},"content":{"20":{"position":[[469,6]]},"225":{"position":[[740,7],[780,8]]},"271":{"position":[[767,7],[807,8]]},"378":{"position":[[221,7]]}},"keywords":{}}],["level",{"_index":255,"title":{"398":{"position":[[5,5]]}},"content":{"7":{"position":[[444,5]]},"67":{"position":[[4551,5]]},"100":{"position":[[114,5]]},"115":{"position":[[551,5],[741,5]]},"126":{"position":[[642,6]]},"127":{"position":[[125,5]]},"138":{"position":[[199,5]]},"217":{"position":[[140,5]]},"264":{"position":[[235,5]]},"309":{"position":[[321,5]]},"349":{"position":[[631,5],[773,5]]},"422":{"position":[[259,6],[819,6],[1195,5]]},"440":{"position":[[101,5]]},"534":{"position":[[801,5],[901,5]]},"545":{"position":[[70,5]]},"546":{"position":[[765,5]]},"550":{"position":[[124,5]]},"777":{"position":[[34,5],[91,5]]}},"keywords":{}}],["li",{"_index":4173,"title":{},"content":{"473":{"position":[[229,4]]}},"keywords":{}}],["liabil",{"_index":3784,"title":{},"content":{"390":{"position":[[998,10]]}},"keywords":{}}],["liabl",{"_index":3781,"title":{},"content":{"390":{"position":[[959,6]]}},"keywords":{}}],["lib",{"_index":330,"title":{},"content":{"12":{"position":[[208,3],[309,3],[394,3]]},"36":{"position":[[4137,3]]},"127":{"position":[[131,3]]},"229":{"position":[[4137,3]]},"279":{"position":[[3086,3],[10633,3]]},"288":{"position":[[280,3]]},"320":{"position":[[926,3],[1077,3]]},"383":{"position":[[986,4],[1293,3],[1550,3]]},"548":{"position":[[118,3]]}},"keywords":{}}],["libcsp",{"_index":1792,"title":{},"content":{"96":{"position":[[297,6]]}},"keywords":{}}],["librari",{"_index":1367,"title":{},"content":{"67":{"position":[[1125,7],[1399,7]]},"192":{"position":[[150,7]]},"214":{"position":[[1136,10]]},"258":{"position":[[1933,9]]},"263":{"position":[[434,7]]},"302":{"position":[[1434,7],[1523,7],[1616,7]]},"307":{"position":[[906,10]]},"342":{"position":[[782,9]]},"343":{"position":[[1523,9]]},"402":{"position":[[509,9]]},"416":{"position":[[294,10]]},"540":{"position":[[1872,7],[1959,7],[2786,7],[2874,7]]},"552":{"position":[[914,9],[1797,9]]},"571":{"position":[[464,7]]},"572":{"position":[[240,7]]}},"keywords":{}}],["library/group",{"_index":3030,"title":{},"content":{"330":{"position":[[1333,15]]}},"keywords":{}}],["licens",{"_index":2743,"title":{"388":{"position":[[0,8]]},"391":{"position":[[11,8]]},"392":{"position":[[32,8]]}},"content":{"301":{"position":[[481,7],[530,8]]},"389":{"position":[[33,7],[49,7],[163,7],[182,8],[263,7],[1346,8],[1409,7],[1502,8],[1535,7],[1620,8],[1641,7],[1775,7],[2040,7],[2139,7]]},"390":{"position":[[6,7],[210,7],[261,7],[318,8],[522,7],[1175,7],[1392,8]]},"391":{"position":[[6,7],[170,7],[342,7],[382,8],[456,8],[484,9],[498,8],[608,8]]},"393":{"position":[[370,7],[539,7],[620,7],[668,7],[718,7],[805,7],[887,8],[943,9],[961,9],[994,9],[1071,7]]}},"keywords":{}}],["license.txt",{"_index":2742,"title":{},"content":{"301":{"position":[[469,11]]}},"keywords":{}}],["lifecycl",{"_index":3873,"title":{},"content":{"402":{"position":[[1888,9]]}},"keywords":{}}],["limit",{"_index":158,"title":{"305":{"position":[[0,6]]},"347":{"position":[[0,6]]},"469":{"position":[[0,6]]},"471":{"position":[[0,6]]},"473":{"position":[[0,6]]},"474":{"position":[[0,6]]},"730":{"position":[[0,7]]}},"content":{"5":{"position":[[459,7]]},"48":{"position":[[2655,6]]},"279":{"position":[[7887,7],[7913,6],[7945,6],[8054,7],[8260,6],[8347,6],[8488,6],[8522,6],[8650,6],[8679,6],[8720,6],[8822,6],[8925,5],[9043,5],[9138,6],[9202,5],[9298,6],[9360,5],[9481,5],[9524,6],[9698,6],[9797,6],[9868,5],[9911,6],[10085,6],[10183,6],[10260,6],[10318,6],[10431,6],[10580,6]]},"285":{"position":[[446,6],[503,6]]},"296":{"position":[[520,6],[577,6]]},"297":{"position":[[28,6],[42,6],[155,6],[770,6]]},"298":{"position":[[69,6]]},"303":{"position":[[1119,6]]},"305":{"position":[[72,6],[174,6],[422,6],[513,6],[734,6],[846,6],[920,6],[978,6],[1046,6],[1086,6],[1325,6]]},"307":{"position":[[1107,12]]},"344":{"position":[[1195,6]]},"345":{"position":[[370,6],[401,6]]},"346":{"position":[[1447,6],[1478,6]]},"347":{"position":[[1,6],[72,6],[137,6],[150,6],[221,6],[288,7],[334,6],[430,6],[475,6],[517,6],[605,7],[667,6],[751,6]]},"350":{"position":[[934,6],[984,6],[1211,6],[1316,6],[1371,6]]},"369":{"position":[[482,7]]},"387":{"position":[[1102,11]]},"390":{"position":[[801,7]]},"393":{"position":[[404,6],[575,7]]},"424":{"position":[[884,7]]},"431":{"position":[[323,7]]},"432":{"position":[[645,7]]},"470":{"position":[[5,6],[92,7],[104,6],[151,6],[326,6]]},"472":{"position":[[59,6],[317,6],[555,6],[594,6],[607,6],[640,6],[714,6],[755,5],[792,6],[872,6],[897,5]]},"473":{"position":[[23,6],[109,6],[130,6],[183,6],[253,6],[555,6],[837,6],[864,6],[994,6],[1079,6],[1301,6]]},"474":{"position":[[27,6]]},"487":{"position":[[154,6]]},"517":{"position":[[133,6]]},"522":{"position":[[916,5]]},"540":{"position":[[146,5]]},"611":{"position":[[339,6],[385,8]]},"620":{"position":[[53,6]]},"621":{"position":[[53,6]]},"622":{"position":[[33,6]]},"635":{"position":[[230,6],[276,8]]},"638":{"position":[[39,7]]},"639":{"position":[[58,7]]},"640":{"position":[[41,7]]},"642":{"position":[[51,7]]},"644":{"position":[[41,7]]},"690":{"position":[[1543,9]]},"703":{"position":[[32,6]]},"704":{"position":[[32,6]]},"730":{"position":[[44,7]]},"731":{"position":[[68,6]]},"732":{"position":[[9,6]]},"733":{"position":[[10,6]]},"734":{"position":[[9,6],[70,6],[220,6]]},"735":{"position":[[10,6],[71,6],[222,6]]},"736":{"position":[[21,6]]},"737":{"position":[[18,6],[42,6],[192,6]]},"738":{"position":[[33,6],[57,6]]},"739":{"position":[[21,6]]},"740":{"position":[[32,6]]},"741":{"position":[[28,6],[151,6],[184,6],[749,6],[854,6],[989,6],[1116,6],[1481,6],[1510,6],[1532,6],[1585,6],[1607,6],[1692,6],[1715,6],[1775,6],[1798,6],[1844,6],[1919,6],[1942,6]]},"742":{"position":[[116,6]]},"743":{"position":[[21,6],[280,6]]},"744":{"position":[[9,6],[328,6]]}},"keywords":{}}],["limit"",{"_index":2648,"title":{},"content":{"279":{"position":[[9560,11],[9947,11]]}},"keywords":{}}],["limitless",{"_index":2968,"title":{},"content":{"320":{"position":[[1884,10]]}},"keywords":{}}],["limits_en",{"_index":5377,"title":{"731":{"position":[[0,16],[17,15]]}},"content":{"731":{"position":[[5,15]]}},"keywords":{}}],["limits_enabled("<target",{"_index":5379,"title":{},"content":{"731":{"position":[[229,31]]}},"keywords":{}}],["limits_enabled("inst",{"_index":5381,"title":{},"content":{"731":{"position":[[624,25]]}},"keywords":{}}],["limits_enabled?("<target",{"_index":5378,"title":{},"content":{"731":{"position":[[124,32]]}},"keywords":{}}],["limits_enabled?("inst",{"_index":5380,"title":{},"content":{"731":{"position":[[520,26]]}},"keywords":{}}],["limits_group",{"_index":2682,"title":{"297":{"position":[[0,13]]}},"content":{"298":{"position":[[55,12],[388,12]]},"736":{"position":[[84,13]]}},"keywords":{}}],["limits_group_item",{"_index":2691,"title":{"298":{"position":[[0,18]]}},"content":{"298":{"position":[[411,17],[454,17],[497,17]]}},"keywords":{}}],["limits_groups.txt",{"_index":2693,"title":{},"content":{"298":{"position":[[187,18]]}},"keywords":{}}],["limits_respons",{"_index":2659,"title":{},"content":{"279":{"position":[[10364,16],[10780,15],[10845,15]]},"304":{"position":[[372,15]]},"305":{"position":[[5,15],[253,15],[289,15],[397,15],[568,15],[1383,15]]}},"keywords":{}}],["limits_response.rb",{"_index":343,"title":{},"content":{"12":{"position":[[595,18]]}},"keywords":{}}],["limits_set",{"_index":5252,"title":{},"content":{"704":{"position":[[293,16],[310,10]]},"738":{"position":[[114,10]]},"739":{"position":[[82,11]]}},"keywords":{}}],["limits_st",{"_index":5245,"title":{},"content":{"703":{"position":[[187,14]]},"704":{"position":[[278,14]]},"742":{"position":[[68,12]]}},"keywords":{}}],["limitsbar",{"_index":4611,"title":{"620":{"position":[[0,10]]}},"content":{"581":{"position":[[479,9]]},"591":{"position":[[479,9]]},"616":{"position":[[59,9]]},"620":{"position":[[444,9],[496,9]]},"623":{"position":[[36,9]]}},"keywords":{}}],["limitscolor",{"_index":4710,"title":{"622":{"position":[[0,12]]}},"content":{"622":{"position":[[439,11],[494,11]]}},"keywords":{}}],["limitscolumn",{"_index":4702,"title":{"621":{"position":[[0,13]]}},"content":{"617":{"position":[[59,12]]},"621":{"position":[[442,12],[497,12]]},"624":{"position":[[36,12]]}},"keywords":{}}],["line",{"_index":141,"title":{"8":{"position":[[0,4]]},"552":{"position":[[31,5]]}},"content":{"5":{"position":[[6,4]]},"6":{"position":[[470,4],[672,4]]},"8":{"position":[[19,4],[84,4],[288,5],[406,4]]},"9":{"position":[[849,5],[1011,4]]},"33":{"position":[[653,4],[912,4]]},"36":{"position":[[8296,4],[8404,5]]},"39":{"position":[[111,4]]},"52":{"position":[[12,4],[103,5]]},"61":{"position":[[491,4],[529,4],[1548,5],[1573,5],[1612,5],[1832,5],[1852,5],[1895,4]]},"139":{"position":[[881,4]]},"145":{"position":[[24,4],[75,4]]},"185":{"position":[[9,4],[59,4]]},"186":{"position":[[140,4]]},"209":{"position":[[474,4],[482,4]]},"229":{"position":[[8296,4],[8404,5]]},"279":{"position":[[6955,4],[7062,5]]},"309":{"position":[[2346,4],[3284,4],[3448,5],[3525,6]]},"310":{"position":[[154,4],[479,5],[556,6],[633,5]]},"324":{"position":[[377,5]]},"332":{"position":[[537,4],[814,4]]},"349":{"position":[[241,4],[504,6],[527,5],[1666,6],[2224,4],[2256,5],[3555,6],[3578,5],[3635,6],[3695,5],[3731,5],[3850,5],[3900,4],[4761,5],[4951,5]]},"352":{"position":[[172,4]]},"358":{"position":[[6138,5],[7302,4],[7529,4],[8152,4]]},"380":{"position":[[292,4]]},"467":{"position":[[601,4],[670,4],[756,4]]},"497":{"position":[[521,4],[529,4]]},"524":{"position":[[851,4]]},"530":{"position":[[323,4],[381,4],[451,4]]},"531":{"position":[[827,4]]},"536":{"position":[[48,4],[270,4],[278,4]]},"540":{"position":[[155,4],[168,5],[3998,4],[4006,4]]},"544":{"position":[[177,4],[683,5],[764,5],[1056,5]]},"545":{"position":[[96,6],[297,5],[311,4]]},"547":{"position":[[1250,5]]},"552":{"position":[[66,4],[163,4],[636,4],[1061,6],[1137,6]]},"555":{"position":[[19,4],[228,5]]},"559":{"position":[[1333,5]]},"561":{"position":[[487,4],[786,4]]},"566":{"position":[[19,4],[74,4],[131,4],[289,4],[388,4]]},"569":{"position":[[80,5],[347,4]]},"574":{"position":[[472,5]]},"605":{"position":[[38,4]]},"610":{"position":[[550,4]]},"626":{"position":[[12,4]]},"637":{"position":[[603,5],[680,5]]},"651":{"position":[[9,4],[109,4],[181,4],[249,4],[317,4],[360,4],[390,4]]},"652":{"position":[[24,4],[50,4],[317,4],[389,4],[457,4],[525,4],[568,4],[1292,4]]},"658":{"position":[[707,5],[1080,4]]},"778":{"position":[[153,5],[236,5]]},"789":{"position":[[22,4],[185,5]]},"790":{"position":[[21,4]]},"793":{"position":[[46,5],[160,5]]},"797":{"position":[[80,5]]},"798":{"position":[[50,4]]}},"keywords":{}}],["linegraph",{"_index":4716,"title":{"626":{"position":[[0,10]]}},"content":{"626":{"position":[[545,9],[673,10]]}},"keywords":{}}],["liner",{"_index":4387,"title":{},"content":{"543":{"position":[[225,6],[316,6]]}},"keywords":{}}],["link",{"_index":1269,"title":{"434":{"position":[[46,6]]}},"content":{"58":{"position":[[56,4]]},"79":{"position":[[16,6]]},"98":{"position":[[24,7]]},"194":{"position":[[247,7]]},"326":{"position":[[753,5]]},"340":{"position":[[608,4]]},"356":{"position":[[705,5],[735,4]]},"389":{"position":[[890,4],[1267,4]]},"392":{"position":[[550,4]]},"407":{"position":[[544,4]]},"413":{"position":[[166,5]]},"419":{"position":[[176,6]]},"433":{"position":[[171,4]]},"434":{"position":[[135,5]]},"485":{"position":[[269,5]]}},"keywords":{}}],["linux",{"_index":407,"title":{},"content":{"20":{"position":[[277,5]]},"44":{"position":[[957,6]]},"209":{"position":[[378,7]]},"257":{"position":[[164,6]]},"309":{"position":[[1784,5]]},"317":{"position":[[54,5]]},"330":{"position":[[14,5],[156,7]]},"333":{"position":[[189,5]]},"358":{"position":[[217,6]]},"369":{"position":[[2448,5]]},"383":{"position":[[827,5]]},"404":{"position":[[76,6],[110,6],[1930,6]]}},"keywords":{}}],["linux/mac",{"_index":3071,"title":{},"content":{"333":{"position":[[391,12]]}},"keywords":{}}],["list",{"_index":322,"title":{},"content":{"12":{"position":[[23,4],[340,4]]},"15":{"position":[[118,4]]},"16":{"position":[[122,4]]},"88":{"position":[[5,4],[231,4]]},"127":{"position":[[145,5]]},"258":{"position":[[1543,4]]},"267":{"position":[[68,6],[207,4]]},"346":{"position":[[204,4],[469,4],[567,4],[850,4],[1169,4]]},"359":{"position":[[2417,4]]},"401":{"position":[[18,6]]},"406":{"position":[[61,5]]},"407":{"position":[[330,6]]},"413":{"position":[[15,5]]},"421":{"position":[[619,5]]},"422":{"position":[[1319,6]]},"445":{"position":[[91,6]]},"447":{"position":[[42,4]]},"454":{"position":[[497,4],[571,7]]},"455":{"position":[[1150,4]]},"461":{"position":[[166,4],[421,4]]},"472":{"position":[[12,4],[384,6],[997,4],[1252,4]]},"473":{"position":[[1469,4]]},"474":{"position":[[17,5]]},"478":{"position":[[228,4],[483,4]]},"479":{"position":[[114,4]]},"483":{"position":[[53,4]]},"484":{"position":[[259,5]]},"485":{"position":[[64,5]]},"491":{"position":[[168,4]]},"492":{"position":[[91,5]]},"502":{"position":[[165,4],[420,4]]},"513":{"position":[[597,4]]},"521":{"position":[[184,4],[439,4]]},"529":{"position":[[339,5],[492,5]]},"547":{"position":[[395,4]]},"559":{"position":[[1098,4]]},"592":{"position":[[529,6]]},"639":{"position":[[22,4]]},"658":{"position":[[960,4]]},"720":{"position":[[9,4]]},"736":{"position":[[13,4]]},"739":{"position":[[13,4]]},"746":{"position":[[11,4]]},"751":{"position":[[11,4]]},"763":{"position":[[11,4]]},"784":{"position":[[31,4]]},"787":{"position":[[139,5]]},"812":{"position":[[1,4]]},"813":{"position":[[1,4]]}},"keywords":{}}],["list)reset",{"_index":4182,"title":{},"content":{"478":{"position":[[67,10]]}},"keywords":{}}],["list_config",{"_index":5804,"title":{"813":{"position":[[0,13]]}},"content":{},"keywords":{}}],["list_configs(<tool",{"_index":5805,"title":{},"content":{"813":{"position":[[91,21]]}},"keywords":{}}],["list_configs('telemetry_graph",{"_index":5807,"title":{},"content":{"813":{"position":[[236,33],[335,33]]}},"keywords":{}}],["list_set",{"_index":5744,"title":{"807":{"position":[[0,14]]}},"content":{"807":{"position":[[134,15]]}},"keywords":{}}],["listen",{"_index":492,"title":{},"content":{"22":{"position":[[273,6]]},"87":{"position":[[41,7],[133,7]]},"105":{"position":[[57,7]]},"314":{"position":[[888,6],[979,6]]},"359":{"position":[[864,9]]},"378":{"position":[[738,7]]},"380":{"position":[[1275,9]]},"455":{"position":[[471,6]]},"716":{"position":[[20,6]]}},"keywords":{}}],["listen_address",{"_index":1856,"title":{},"content":{"105":{"position":[[1614,14]]},"108":{"position":[[585,14]]},"140":{"position":[[512,14],[883,14]]},"314":{"position":[[1592,14],[1964,14]]}},"keywords":{}}],["lite",{"_index":3935,"title":{},"content":{"404":{"position":[[427,4],[842,4]]}},"keywords":{}}],["literal'",{"_index":1699,"title":{},"content":{"86":{"position":[[178,9]]}},"keywords":{}}],["littl",{"_index":176,"title":{"321":{"position":[[0,6]]}},"content":{"5":{"position":[[894,6]]},"33":{"position":[[204,6]]},"35":{"position":[[1305,6],[1340,6],[1836,6]]},"37":{"position":[[1098,6],[1133,6],[1629,6]]},"83":{"position":[[1769,6]]},"213":{"position":[[332,6]]},"226":{"position":[[364,6]]},"228":{"position":[[1334,6],[1369,6],[1865,6]]},"230":{"position":[[1117,6],[1152,6],[1648,6]]},"231":{"position":[[1478,6],[1513,6],[2009,6]]},"232":{"position":[[1314,6],[1349,6],[1845,6]]},"233":{"position":[[865,6]]},"234":{"position":[[648,6]]},"276":{"position":[[381,6]]},"278":{"position":[[940,6],[975,6]]},"280":{"position":[[732,6],[767,6]]},"281":{"position":[[1034,6],[1069,6]]},"282":{"position":[[703,6],[738,6]]},"283":{"position":[[858,6]]},"284":{"position":[[650,6]]},"309":{"position":[[429,6]]},"321":{"position":[[0,6],[33,6],[62,6],[147,6]]}},"keywords":{}}],["little_endian",{"_index":177,"title":{},"content":{"5":{"position":[[941,13],[1175,14]]},"33":{"position":[[251,13]]},"35":{"position":[[1391,13],[1883,13]]},"37":{"position":[[1184,13],[1676,13]]},"55":{"position":[[1689,16]]},"226":{"position":[[411,13]]},"228":{"position":[[1420,13],[1912,13]]},"230":{"position":[[1203,13],[1695,13]]},"231":{"position":[[1564,13],[2056,13]]},"232":{"position":[[1400,13],[1892,13]]},"233":{"position":[[912,13]]},"234":{"position":[[695,13]]},"276":{"position":[[428,13]]},"278":{"position":[[1026,13]]},"280":{"position":[[818,13]]},"281":{"position":[[1120,13]]},"282":{"position":[[789,13]]},"283":{"position":[[905,13]]},"284":{"position":[[697,13]]},"321":{"position":[[213,13],[430,13],[644,13],[713,13],[757,13],[839,13]]}},"keywords":{}}],["live",{"_index":1863,"title":{},"content":{"106":{"position":[[609,5]]},"364":{"position":[[114,5]]},"487":{"position":[[20,4]]},"501":{"position":[[23,4]]},"530":{"position":[[584,4]]}},"keywords":{}}],["lm",{"_index":3125,"title":{},"content":{"347":{"position":[[329,2],[425,2],[512,2],[662,2],[746,2]]}},"keywords":{}}],["ln",{"_index":2864,"title":{},"content":{"309":{"position":[[1917,2]]}},"keywords":{}}],["load",{"_index":72,"title":{"552":{"position":[[49,6]]}},"content":{"2":{"position":[[704,4]]},"83":{"position":[[1604,5]]},"95":{"position":[[73,4]]},"115":{"position":[[2359,4]]},"184":{"position":[[183,6]]},"195":{"position":[[17,4],[69,4]]},"258":{"position":[[1478,4]]},"307":{"position":[[876,5]]},"331":{"position":[[799,4],[876,5]]},"332":{"position":[[409,5]]},"343":{"position":[[795,4]]},"347":{"position":[[780,7],[807,4]]},"352":{"position":[[1122,7],[1149,4]]},"353":{"position":[[736,7]]},"368":{"position":[[692,4],[747,4]]},"461":{"position":[[248,4]]},"472":{"position":[[1079,4]]},"478":{"position":[[310,4]]},"502":{"position":[[247,4]]},"511":{"position":[[159,4]]},"521":{"position":[[266,4]]},"530":{"position":[[163,5]]},"540":{"position":[[1834,4],[3675,6],[3730,4],[4487,7]]},"552":{"position":[[1217,6],[1233,4],[1358,5],[1382,4],[1614,4],[1685,4]]},"778":{"position":[[313,6]]},"795":{"position":[[1066,4]]},"811":{"position":[[39,4],[111,4]]},"814":{"position":[[1,4]]}},"keywords":{}}],["load_config",{"_index":5809,"title":{"814":{"position":[[0,12]]}},"content":{"814":{"position":[[175,11]]}},"keywords":{}}],["load_config(<tool",{"_index":5810,"title":{},"content":{"814":{"position":[[239,20]]}},"keywords":{}}],["load_config('telemetry_graph",{"_index":5812,"title":{},"content":{"814":{"position":[[427,32]]}},"keywords":{}}],["load_util",{"_index":4353,"title":{"778":{"position":[[0,13]]}},"content":{"540":{"position":[[1913,12],[3698,15],[3952,14]]},"549":{"position":[[500,13]]},"552":{"position":[[437,12],[1926,12]]},"662":{"position":[[3408,12]]}},"keywords":{}}],["load_utility("target/lib/<util",{"_index":5645,"title":{},"content":{"778":{"position":[[397,41]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.py"",{"_index":5651,"title":{},"content":{"778":{"position":[[733,52]]}},"keywords":{}}],["load_utility("target/lib/mode_changes.rb"",{"_index":5650,"title":{},"content":{"778":{"position":[[673,52]]}},"keywords":{}}],["load_utility('target/lib/helper_utility.rb",{"_index":4370,"title":{},"content":{"540":{"position":[[2827,44]]}},"keywords":{}}],["load_utility('target/lib/my_other_script.rb",{"_index":4446,"title":{},"content":{"549":{"position":[[523,45]]}},"keywords":{}}],["load_utility('target/procedures/my_other_script.pi",{"_index":4447,"title":{},"content":{"549":{"position":[[579,52]]}},"keywords":{}}],["loadsim",{"_index":3402,"title":{},"content":{"367":{"position":[[1087,7]]},"369":{"position":[[2056,7],[2362,7],[3510,7]]}},"keywords":{}}],["local",{"_index":248,"title":{"322":{"position":[[0,5]]},"323":{"position":[[6,5]]},"325":{"position":[[10,5]]}},"content":{"7":{"position":[[251,7],[1072,7]]},"20":{"position":[[529,8]]},"42":{"position":[[746,5]]},"43":{"position":[[161,5],[375,6],[955,5],[1099,5]]},"44":{"position":[[622,5],[1041,5]]},"83":{"position":[[1499,5]]},"106":{"position":[[361,5]]},"126":{"position":[[603,5]]},"258":{"position":[[641,5]]},"309":{"position":[[942,5]]},"323":{"position":[[559,5]]},"324":{"position":[[132,5],[441,5],[555,5],[641,5]]},"325":{"position":[[24,5]]},"326":{"position":[[326,5],[1273,5],[1340,5]]},"332":{"position":[[999,5]]},"333":{"position":[[9,7]]},"346":{"position":[[1750,5]]},"364":{"position":[[156,7]]},"380":{"position":[[494,5]]},"382":{"position":[[762,5]]},"404":{"position":[[2058,6]]},"439":{"position":[[198,5]]},"536":{"position":[[115,5],[196,5]]},"540":{"position":[[4216,5]]},"565":{"position":[[937,9],[1113,9]]},"787":{"position":[[41,5]]},"815":{"position":[[277,5]]},"816":{"position":[[283,5]]}},"keywords":{}}],["local_mod",{"_index":5819,"title":{},"content":{"815":{"position":[[122,11],[229,10]]},"816":{"position":[[126,11],[233,10]]}},"keywords":{}}],["local_screen",{"_index":5676,"title":{"787":{"position":[[0,13]]}},"content":{"787":{"position":[[5,12]]}},"keywords":{}}],["local_screen("<screen",{"_index":5677,"title":{},"content":{"787":{"position":[[243,29]]}},"keywords":{}}],["local_screen("testing"",{"_index":5680,"title":{},"content":{"787":{"position":[[1121,33],[1421,33]]}},"keywords":{}}],["localhost",{"_index":973,"title":{},"content":{"42":{"position":[[2061,9]]},"314":{"position":[[1030,9]]}},"keywords":{}}],["localhost:2900",{"_index":1004,"title":{},"content":{"42":{"position":[[3070,14]]},"43":{"position":[[632,14]]}},"keywords":{}}],["localstorage.openc3token",{"_index":3883,"title":{},"content":{"402":{"position":[[2683,25],[3686,25]]}},"keywords":{}}],["localstorage.setitem("devtools"",{"_index":1022,"title":{},"content":{"43":{"position":[[696,42]]}},"keywords":{}}],["locat",{"_index":743,"title":{},"content":{"36":{"position":[[4113,7]]},"44":{"position":[[250,10]]},"55":{"position":[[58,8],[802,9]]},"216":{"position":[[540,7]]},"217":{"position":[[2661,7]]},"229":{"position":[[4113,7]]},"279":{"position":[[3062,7]]},"309":{"position":[[891,9],[1208,8]]},"321":{"position":[[900,8]]},"378":{"position":[[379,8]]},"431":{"position":[[23,7]]},"531":{"position":[[431,8]]},"659":{"position":[[339,8]]},"787":{"position":[[687,8]]}},"keywords":{}}],["lock",{"_index":1623,"title":{},"content":{"83":{"position":[[1610,4],[1976,5],[2495,4]]},"389":{"position":[[1831,6]]}},"keywords":{}}],["log",{"_index":60,"title":{"45":{"position":[[0,3]]},"46":{"position":[[7,3]]},"337":{"position":[[0,7]]},"474":{"position":[[7,4]]},"517":{"position":[[0,3]]}},"content":{"2":{"position":[[540,4],[563,4]]},"46":{"position":[[8,4]]},"47":{"position":[[17,3]]},"48":{"position":[[8,3],[190,3],[1462,3],[1654,3],[3188,3],[4094,3],[4153,3],[4381,3]]},"61":{"position":[[108,8]]},"65":{"position":[[379,3]]},"83":{"position":[[3753,4]]},"96":{"position":[[201,3]]},"115":{"position":[[1269,7],[1534,7]]},"138":{"position":[[16,3],[270,4],[409,3],[543,3],[618,4],[663,3],[708,3],[920,3]]},"152":{"position":[[55,6]]},"153":{"position":[[16,4]]},"154":{"position":[[16,4],[51,3]]},"155":{"position":[[30,4],[121,4]]},"156":{"position":[[23,4]]},"157":{"position":[[23,4],[58,3]]},"158":{"position":[[32,4],[125,4]]},"159":{"position":[[64,6]]},"160":{"position":[[18,4]]},"161":{"position":[[18,4],[53,3]]},"162":{"position":[[32,4],[125,4]]},"163":{"position":[[25,4]]},"164":{"position":[[25,4],[60,3]]},"165":{"position":[[34,4],[129,4]]},"166":{"position":[[43,4],[147,4]]},"167":{"position":[[41,4],[143,4]]},"168":{"position":[[40,4],[141,4]]},"169":{"position":[[40,4],[141,4]]},"170":{"position":[[40,4],[141,4]]},"214":{"position":[[198,3]]},"225":{"position":[[1097,3],[1194,3]]},"239":{"position":[[72,7]]},"268":{"position":[[153,3]]},"303":{"position":[[871,3]]},"338":{"position":[[390,3],[459,7],[498,3],[644,7]]},"339":{"position":[[130,3],[241,4],[321,3],[398,3]]},"340":{"position":[[34,4],[340,3],[393,4]]},"342":{"position":[[1078,3],[1119,6],[1165,3]]},"343":{"position":[[631,4],[654,4],[1615,6]]},"344":{"position":[[380,3],[424,3],[717,6],[1000,4],[1087,6],[1169,3],[1258,4]]},"345":{"position":[[657,6],[763,6]]},"346":{"position":[[1782,4]]},"347":{"position":[[468,3],[503,3]]},"349":{"position":[[269,6],[2740,3],[2814,7],[2848,3],[2985,7],[3019,3],[3104,7],[3138,3],[3274,7],[3308,3],[3494,7]]},"352":{"position":[[78,3],[419,6],[481,6]]},"353":{"position":[[26,6]]},"354":{"position":[[160,3],[375,6]]},"363":{"position":[[369,4]]},"368":{"position":[[152,7]]},"387":{"position":[[445,3],[506,7],[608,4]]},"402":{"position":[[301,6]]},"440":{"position":[[59,5],[290,4],[319,4],[385,7],[415,4]]},"470":{"position":[[344,6]]},"474":{"position":[[5,3]]},"509":{"position":[[417,3]]},"511":{"position":[[300,3]]},"517":{"position":[[5,3],[180,7]]},"529":{"position":[[557,4]]},"536":{"position":[[88,3],[165,3]]},"554":{"position":[[802,6],[838,4],[952,6],[987,5]]},"561":{"position":[[299,4],[524,3],[823,3]]},"658":{"position":[[1228,3]]},"664":{"position":[[626,7]]},"665":{"position":[[592,7]]},"677":{"position":[[1255,7]]},"678":{"position":[[1477,7]]},"679":{"position":[[1498,7]]},"680":{"position":[[1531,7]]},"681":{"position":[[1331,7]]},"682":{"position":[[1548,7]]},"683":{"position":[[1569,7]]},"684":{"position":[[1602,7]]},"697":{"position":[[789,4]]},"722":{"position":[[1446,3]]},"723":{"position":[[1213,3]]},"724":{"position":[[879,3]]},"725":{"position":[[760,3]]},"729":{"position":[[732,3]]},"754":{"position":[[8,7],[279,8],[356,7],[373,7]]},"755":{"position":[[7,7],[276,8],[353,7],[369,7]]},"766":{"position":[[8,7],[264,8],[338,7],[355,7]]},"767":{"position":[[7,7],[261,8],[335,7],[351,7]]},"800":{"position":[[62,6]]}},"keywords":{}}],["log_messag",{"_index":5049,"title":{},"content":{"677":{"position":[[1207,11],[1687,12]]},"678":{"position":[[1429,11]]},"679":{"position":[[1450,11]]},"680":{"position":[[1483,11]]},"681":{"position":[[1283,11]]},"682":{"position":[[1500,11]]},"683":{"position":[[1521,11]]},"684":{"position":[[1554,11]]}},"keywords":{}}],["log_message=fals",{"_index":5052,"title":{},"content":{"677":{"position":[[1937,18]]}},"keywords":{}}],["log_nam",{"_index":3332,"title":{},"content":{"362":{"position":[[463,9],[793,9],[1115,9]]}},"keywords":{}}],["log_raw",{"_index":2038,"title":{"137":{"position":[[0,8]]}},"content":{},"keywords":{}}],["log_retain_tim",{"_index":2110,"title":{"169":{"position":[[0,16]]}},"content":{},"keywords":{}}],["log_stream",{"_index":2039,"title":{"138":{"position":[[0,11]]}},"content":{"137":{"position":[[17,10]]},"138":{"position":[[83,10],[936,10]]}},"keywords":{}}],["logged.everi",{"_index":3109,"title":{},"content":{"343":{"position":[[1400,12]]}},"keywords":{}}],["logic",{"_index":195,"title":{},"content":{"6":{"position":[[96,5]]},"67":{"position":[[1604,5]]},"70":{"position":[[160,6],[199,5]]},"71":{"position":[[341,5]]},"72":{"position":[[356,5]]},"96":{"position":[[635,6]]},"261":{"position":[[218,7]]},"303":{"position":[[915,5]]},"386":{"position":[[405,7]]},"387":{"position":[[1406,5],[1595,5]]},"419":{"position":[[114,7]]},"421":{"position":[[14,7],[573,6]]},"498":{"position":[[209,5],[563,5]]},"499":{"position":[[224,5],[512,5]]},"556":{"position":[[733,5]]},"641":{"position":[[91,5]]},"710":{"position":[[339,7]]}},"keywords":{}}],["login",{"_index":2197,"title":{},"content":{"209":{"position":[[75,5]]}},"keywords":{}}],["logsrequest",{"_index":1628,"title":{},"content":{"83":{"position":[[1735,11]]}},"keywords":{}}],["logstash_dateformat",{"_index":3326,"title":{},"content":{"362":{"position":[[386,19],[716,19],[1038,19]]}},"keywords":{}}],["logstash_format",{"_index":3324,"title":{},"content":{"362":{"position":[[342,15],[672,15],[993,15]]}},"keywords":{}}],["logstash_prefix",{"_index":3325,"title":{},"content":{"362":{"position":[[363,15],[693,15],[1014,15]]}},"keywords":{}}],["long",{"_index":822,"title":{},"content":{"36":{"position":[[9033,4]]},"42":{"position":[[786,4]]},"128":{"position":[[308,4]]},"141":{"position":[[651,4]]},"155":{"position":[[5,4]]},"158":{"position":[[5,4]]},"162":{"position":[[5,4]]},"165":{"position":[[5,4]]},"166":{"position":[[5,4]]},"167":{"position":[[5,4]]},"168":{"position":[[5,4]]},"169":{"position":[[5,4]]},"170":{"position":[[5,4]]},"229":{"position":[[9033,4]]},"268":{"position":[[143,4]]},"279":{"position":[[7156,4]]},"339":{"position":[[344,4]]},"380":{"position":[[1398,4]]},"389":{"position":[[405,4]]},"430":{"position":[[26,4]]},"540":{"position":[[184,4],[238,4],[3858,4]]},"550":{"position":[[289,4]]},"552":{"position":[[1022,4]]},"568":{"position":[[158,4]]}},"keywords":{}}],["longer",{"_index":792,"title":{},"content":{"36":{"position":[[6557,6],[7353,6]]},"229":{"position":[[6557,6],[7353,6]]},"279":{"position":[[5096,6],[5954,6]]},"424":{"position":[[1280,6],[1397,6]]},"430":{"position":[[251,6]]},"524":{"position":[[452,6]]},"546":{"position":[[420,6]]},"568":{"position":[[460,6]]}},"keywords":{}}],["look",{"_index":96,"title":{},"content":{"3":{"position":[[171,4]]},"6":{"position":[[792,4]]},"32":{"position":[[140,6]]},"44":{"position":[[311,4],[745,4]]},"55":{"position":[[2842,4]]},"82":{"position":[[4689,5]]},"216":{"position":[[632,7]]},"217":{"position":[[2753,7]]},"267":{"position":[[180,4]]},"274":{"position":[[315,4]]},"313":{"position":[[215,7]]},"319":{"position":[[105,4],[271,4],[329,4],[411,5]]},"320":{"position":[[745,5],[1368,5],[1516,4]]},"355":{"position":[[555,4],[651,4]]},"359":{"position":[[2844,4]]},"402":{"position":[[1206,5]]},"544":{"position":[[1017,4]]},"545":{"position":[[417,4]]},"637":{"position":[[859,5]]}},"keywords":{}}],["lookup",{"_index":2203,"title":{},"content":{"209":{"position":[[344,7]]},"455":{"position":[[745,6]]}},"keywords":{}}],["loop",{"_index":1667,"title":{"547":{"position":[[0,7],[20,6]]}},"content":{"83":{"position":[[3265,4]]},"349":{"position":[[6271,7],[6318,4],[6414,7],[6479,4],[6600,4],[6694,7],[6722,8]]},"535":{"position":[[1236,5],[1243,4],[1361,7],[1465,4],[1491,4],[1538,4]]},"540":{"position":[[905,4],[3907,7]]},"547":{"position":[[1,5],[327,5],[383,4],[463,4],[482,4],[569,4],[875,4],[933,4],[962,5]]},"552":{"position":[[995,5],[2169,5]]},"556":{"position":[[122,5]]},"564":{"position":[[700,7],[790,7],[818,7],[838,5]]},"793":{"position":[[132,5]]}},"keywords":{}}],["loop_test",{"_index":3194,"title":{},"content":{"349":{"position":[[6665,13]]}},"keywords":{}}],["loos",{"_index":2237,"title":{},"content":{"214":{"position":[[95,7]]}},"keywords":{}}],["loosen",{"_index":4564,"title":{},"content":{"568":{"position":[[687,6]]}},"keywords":{}}],["looser",{"_index":2641,"title":{},"content":{"279":{"position":[[8340,6]]}},"keywords":{}}],["lose",{"_index":3758,"title":{},"content":{"389":{"position":[[1203,4]]},"524":{"position":[[958,6]]}},"keywords":{}}],["loss",{"_index":4042,"title":{},"content":{"424":{"position":[[1920,5]]},"429":{"position":[[176,5]]}},"keywords":{}}],["lost",{"_index":2032,"title":{},"content":{"134":{"position":[[72,4]]},"135":{"position":[[132,5]]}},"keywords":{}}],["lot",{"_index":623,"title":{},"content":{"31":{"position":[[488,3]]},"67":{"position":[[354,3]]},"482":{"position":[[295,3],[548,3]]},"540":{"position":[[1022,3]]}},"keywords":{}}],["low",{"_index":2041,"title":{},"content":{"138":{"position":[[195,3]]},"217":{"position":[[136,3]]},"279":{"position":[[8921,3],[8996,3],[9039,3],[9134,3],[9154,3],[9477,3],[9505,3],[9892,3],[10179,3]]},"338":{"position":[[576,3]]},"404":{"position":[[25,3]]},"547":{"position":[[284,3]]},"618":{"position":[[202,3],[326,3]]},"625":{"position":[[171,3],[295,3]]},"631":{"position":[[181,3],[305,3]]},"741":{"position":[[395,3],[720,3],[728,3],[822,3],[833,3],[914,3],[1188,3],[1241,3],[1391,3]]}},"keywords":{}}],["low>",{"_index":5418,"title":{},"content":{"741":{"position":[[317,8],[337,8]]}},"keywords":{}}],["lower",{"_index":802,"title":{},"content":{"36":{"position":[[6991,5],[7114,5]]},"67":{"position":[[4545,5]]},"225":{"position":[[769,5]]},"229":{"position":[[6991,5],[7114,5]]},"271":{"position":[[796,5]]},"279":{"position":[[5592,5],[5715,5]]}},"keywords":{}}],["lowercas",{"_index":2815,"title":{},"content":{"307":{"position":[[1079,10]]},"540":{"position":[[1434,9],[1614,9]]},"575":{"position":[[370,10]]}},"keywords":{}}],["lowest",{"_index":1971,"title":{},"content":{"115":{"position":[[544,6],[734,6]]}},"keywords":{}}],["ls",{"_index":923,"title":{},"content":{"42":{"position":[[928,2]]},"377":{"position":[[61,3]]},"380":{"position":[[420,2]]}},"keywords":{}}],["lt",{"_index":201,"title":{},"content":{"6":{"position":[[175,5],[210,6],[330,5],[413,6],[442,5],[746,6]]},"7":{"position":[[208,6],[712,6]]},"20":{"position":[[727,5]]},"36":{"position":[[5577,4],[7536,4],[7636,4]]},"73":{"position":[[668,5],[1016,5]]},"91":{"position":[[1930,4],[2467,4]]},"92":{"position":[[1351,4],[1701,4]]},"109":{"position":[[2237,4],[2563,4]]},"229":{"position":[[5577,4],[7536,4],[7636,4]]},"251":{"position":[[688,4]]},"253":{"position":[[2381,5],[2475,6],[2496,5]]},"279":{"position":[[4057,4],[6136,4],[6235,4]]},"302":{"position":[[2575,6],[2614,6],[2730,6]]},"314":{"position":[[1194,6],[1223,6],[1251,6],[1274,6],[1294,6],[1317,6],[1344,6],[1390,6],[1433,6],[1503,6],[1528,6],[1607,6]]},"320":{"position":[[163,5],[1629,6],[1695,6]]},"330":{"position":[[740,4]]},"358":{"position":[[6740,6],[6779,6],[6914,6],[7373,6]]},"378":{"position":[[874,6],[1027,6],[1077,6],[1093,6],[1114,6],[1166,6]]},"498":{"position":[[752,4]]},"499":{"position":[[714,4]]},"533":{"position":[[406,4]]},"534":{"position":[[145,4]]},"559":{"position":[[609,4],[906,4]]},"561":{"position":[[326,4]]},"565":{"position":[[811,4],[1089,4]]},"572":{"position":[[585,4]]},"633":{"position":[[535,4],[582,4],[624,4]]},"795":{"position":[[1115,4],[1202,4],[1372,4]]}},"keywords":{}}],["lt;<",{"_index":1646,"title":{},"content":{"83":{"position":[[2648,8]]}},"keywords":{}}],["lt;/match>",{"_index":3336,"title":{},"content":{"362":{"position":[[548,14],[878,14],[1200,14]]}},"keywords":{}}],["lt;/script>",{"_index":2953,"title":{},"content":{"320":{"position":[[400,15]]}},"keywords":{}}],["lt;/source>",{"_index":3318,"title":{},"content":{"362":{"position":[[222,15]]}},"keywords":{}}],["lt;/store>",{"_index":3335,"title":{},"content":{"362":{"position":[[491,14],[533,14],[821,14],[863,14],[1143,14],[1185,14]]}},"keywords":{}}],["lt;/style>",{"_index":2956,"title":{},"content":{"320":{"position":[[465,14]]}},"keywords":{}}],["lt;/template>",{"_index":2947,"title":{},"content":{"320":{"position":[[200,17]]}},"keywords":{}}],["lt;blank_or_default>",{"_index":4962,"title":{},"content":{"664":{"position":[[276,25]]},"665":{"position":[[242,25]]}},"keywords":{}}],["lt;channel>",{"_index":2346,"title":{},"content":{"219":{"position":[[816,15]]}},"keywords":{}}],["lt;channel>)"",{"_index":2348,"title":{},"content":{"219":{"position":[[906,24]]}},"keywords":{}}],["lt;command",{"_index":5042,"title":{},"content":{"677":{"position":[[73,11],[438,11]]},"678":{"position":[[250,11],[645,11]]},"679":{"position":[[259,11],[662,11]]},"680":{"position":[[319,11],[704,11]]},"681":{"position":[[105,11],[494,11]]},"682":{"position":[[277,11],[696,11]]},"683":{"position":[[286,11],[713,11]]},"684":{"position":[[346,11],[755,11]]},"690":{"position":[[107,11]]},"692":{"position":[[194,11]]},"695":{"position":[[126,11]]}},"keywords":{}}],["lt;comparison",{"_index":5201,"title":{},"content":{"697":{"position":[[420,14]]}},"keywords":{}}],["lt;comparison>"",{"_index":5349,"title":{},"content":{"722":{"position":[[734,25]]},"726":{"position":[[356,25]]}},"keywords":{}}],["lt;configur",{"_index":5811,"title":{},"content":{"814":{"position":[[270,17]]},"815":{"position":[[94,17]]},"816":{"position":[[98,17]]}},"keywords":{}}],["lt;data>",{"_index":5108,"title":{},"content":{"686":{"position":[[90,13]]}},"keywords":{}}],["lt;dotfiles>",{"_index":2821,"title":{},"content":{"307":{"position":[[1556,16]]}},"keywords":{}}],["lt;enabl",{"_index":5424,"title":{},"content":{"741":{"position":[[509,11]]}},"keywords":{}}],["lt;expect",{"_index":5209,"title":{},"content":{"698":{"position":[[356,12]]},"723":{"position":[[449,12]]},"727":{"position":[[355,12]]}},"keywords":{}}],["lt;green",{"_index":5421,"title":{},"content":{"741":{"position":[[385,9],[415,9]]}},"keywords":{}}],["lt;html><head><script",{"_index":2358,"title":{},"content":{"220":{"position":[[438,35],[1679,35]]}},"keywords":{}}],["lt;i",{"_index":5655,"title":{},"content":{"780":{"position":[[189,5]]},"787":{"position":[[351,5]]}},"keywords":{}}],["lt;interfac",{"_index":5516,"title":{},"content":{"752":{"position":[[135,13]]}},"keywords":{}}],["lt;item",{"_index":5200,"title":{},"content":{"697":{"position":[[402,8]]},"698":{"position":[[331,8]]},"701":{"position":[[121,8]]},"708":{"position":[[102,8]]},"722":{"position":[[716,8]]},"723":{"position":[[424,8]]},"726":{"position":[[338,8]]},"727":{"position":[[330,8]]},"731":{"position":[[186,8],[290,8]]},"732":{"position":[[145,8]]},"733":{"position":[[147,8]]},"740":{"position":[[148,8]]},"741":{"position":[[290,8]]}},"keywords":{}}],["lt;item>",{"_index":5296,"title":{},"content":{"710":{"position":[[433,12]]},"712":{"position":[[300,12]]}},"keywords":{}}],["lt;item>"",{"_index":5310,"title":{},"content":{"713":{"position":[[152,19]]}},"keywords":{}}],["lt;item_hash>",{"_index":5302,"title":{},"content":{"711":{"position":[[176,18]]}},"keywords":{}}],["lt;limit",{"_index":5422,"title":{},"content":{"741":{"position":[[446,10]]}},"keywords":{}}],["lt;match",{"_index":3319,"title":{},"content":{"362":{"position":[[238,9],[563,9],[893,9]]}},"keywords":{}}],["lt;method>",{"_index":5712,"title":{},"content":{"795":{"position":[[654,15]]}},"keywords":{}}],["lt;mode>__<cmd",{"_index":3888,"title":{},"content":{"402":{"position":[[2861,21],[3870,21]]}},"keywords":{}}],["lt;name>",{"_index":2737,"title":{},"content":{"301":{"position":[[150,13],[237,12]]},"302":{"position":[[239,12]]},"303":{"position":[[263,12]]},"304":{"position":[[295,12]]},"305":{"position":[[320,12]]}},"keywords":{}}],["lt;num",{"_index":5367,"title":{},"content":{"725":{"position":[[398,7]]},"729":{"position":[[284,7]]}},"keywords":{}}],["lt;output_dir>",{"_index":3837,"title":{},"content":{"396":{"position":[[256,18]]},"397":{"position":[[252,18]]}},"keywords":{}}],["lt;packet",{"_index":5135,"title":{},"content":{"689":{"position":[[124,10]]},"691":{"position":[[169,10]]},"697":{"position":[[382,10]]},"698":{"position":[[311,10]]},"701":{"position":[[101,10]]},"702":{"position":[[152,10]]},"703":{"position":[[267,10]]},"707":{"position":[[82,10]]},"708":{"position":[[82,10]]},"709":{"position":[[139,10]]},"722":{"position":[[696,10]]},"723":{"position":[[404,10]]},"726":{"position":[[318,10]]},"727":{"position":[[310,10]]},"731":{"position":[[166,10],[270,10]]},"732":{"position":[[125,10]]},"733":{"position":[[127,10]]},"740":{"position":[[127,10]]},"741":{"position":[[269,10]]}},"keywords":{}}],["lt;packet>",{"_index":5295,"title":{},"content":{"710":{"position":[[418,14]]},"712":{"position":[[285,14]]},"713":{"position":[[137,14]]}},"keywords":{}}],["lt;packet>"",{"_index":5333,"title":{},"content":{"718":{"position":[[103,21]]},"720":{"position":[[124,21]]}},"keywords":{}}],["lt;param",{"_index":5043,"title":{},"content":{"677":{"position":[[99,9],[121,9],[145,9],[167,9],[305,9],[361,9],[464,9],[486,9],[510,9],[532,9],[666,9],[717,9]]},"678":{"position":[[276,9],[298,9],[322,9],[344,9],[497,9],[553,9],[671,9],[693,9],[717,9],[739,9],[888,9],[939,9]]},"679":{"position":[[285,9],[307,9],[331,9],[353,9],[510,9],[566,9],[688,9],[710,9],[734,9],[756,9],[909,9],[960,9]]},"680":{"position":[[345,9],[367,9],[391,9],[413,9],[561,9],[617,9],[730,9],[752,9],[776,9],[798,9],[942,9],[993,9]]},"681":{"position":[[131,9],[153,9],[177,9],[199,9],[349,9],[413,9],[520,9],[542,9],[566,9],[588,9],[734,9],[793,9]]},"682":{"position":[[303,9],[325,9],[349,9],[371,9],[536,9],[600,9],[722,9],[744,9],[768,9],[790,9],[951,9],[1010,9]]},"683":{"position":[[312,9],[334,9],[358,9],[380,9],[549,9],[613,9],[739,9],[761,9],[785,9],[807,9],[972,9],[1031,9]]},"684":{"position":[[372,9],[394,9],[418,9],[440,9],[600,9],[664,9],[781,9],[803,9],[827,9],[849,9],[1005,9],[1064,9]]}},"keywords":{}}],["lt;paramet",{"_index":5143,"title":{},"content":{"690":{"position":[[128,13]]}},"keywords":{}}],["lt;password>",{"_index":4963,"title":{},"content":{"664":{"position":[[302,17]]},"665":{"position":[[268,17]]}},"keywords":{}}],["lt;persist",{"_index":5423,"title":{},"content":{"741":{"position":[[477,15]]}},"keywords":{}}],["lt;plugin.gem>",{"_index":3838,"title":{},"content":{"397":{"position":[[224,18]]}},"keywords":{}}],["lt;poll",{"_index":5351,"title":{},"content":{"722":{"position":[[777,11]]},"723":{"position":[[509,11]]},"724":{"position":[[513,11]]},"725":{"position":[[436,11]]},"726":{"position":[[399,11]]},"727":{"position":[[415,11]]},"728":{"position":[[448,11]]},"729":{"position":[[322,11]]}},"keywords":{}}],["lt;red",{"_index":5417,"title":{},"content":{"741":{"position":[[309,7],[367,7]]}},"keywords":{}}],["lt;router",{"_index":5575,"title":{},"content":{"761":{"position":[[99,10]]}},"keywords":{}}],["lt;script>",{"_index":2948,"title":{},"content":{"320":{"position":[[218,14]]}},"keywords":{}}],["lt;set",{"_index":5780,"title":{},"content":{"809":{"position":[[209,11]]},"810":{"position":[[213,11]]}},"keywords":{}}],["lt;source>",{"_index":3316,"title":{},"content":{"362":{"position":[[169,14]]}},"keywords":{}}],["lt;stash",{"_index":5624,"title":{},"content":{"771":{"position":[[85,9]]}},"keywords":{}}],["lt;store>",{"_index":3321,"title":{},"content":{"362":{"position":[[272,13],[506,13],[602,13],[836,13],[923,13],[1158,13]]}},"keywords":{}}],["lt;style",{"_index":2954,"title":{},"content":{"320":{"position":[[416,9]]}},"keywords":{}}],["lt;superdatawidget>",{"_index":2803,"title":{},"content":{"306":{"position":[[329,23]]}},"keywords":{}}],["lt;target>",{"_index":2789,"title":{},"content":{"304":{"position":[[280,14]]},"305":{"position":[[305,14]]}},"keywords":{}}],["lt;template>",{"_index":2946,"title":{},"content":{"320":{"position":[[146,16]]}},"keywords":{}}],["lt;timeout>",{"_index":5350,"title":{},"content":{"722":{"position":[[760,16]]},"723":{"position":[[492,16]]},"724":{"position":[[496,16]]},"725":{"position":[[419,16]]},"726":{"position":[[382,16]]},"727":{"position":[[398,16]]},"728":{"position":[[431,16]]},"729":{"position":[[305,16]]}},"keywords":{}}],["lt;token/password>",{"_index":1695,"title":{},"content":{"85":{"position":[[249,22]]}},"keywords":{}}],["lt;tolerance>",{"_index":5210,"title":{},"content":{"698":{"position":[[380,18]]},"723":{"position":[[473,18]]},"727":{"position":[[379,18]]}},"keywords":{}}],["lt;topic",{"_index":1898,"title":{},"content":{"109":{"position":[[1892,9]]}},"keywords":{}}],["lt;type>",{"_index":5247,"title":{},"content":{"703":{"position":[[294,13],[389,13]]},"710":{"position":[[469,13]]},"711":{"position":[[195,13]]},"712":{"position":[[336,13]]},"713":{"position":[[172,13]]}},"keywords":{}}],["lt;username>",{"_index":3562,"title":{},"content":{"371":{"position":[[240,17]]}},"keywords":{}}],["lt;valu",{"_index":5183,"title":{},"content":{"693":{"position":[[367,9]]}},"keywords":{}}],["lt;value>"",{"_index":5297,"title":{},"content":{"710":{"position":[[448,20]]},"712":{"position":[[315,20]]}},"keywords":{}}],["lt;voltage>",{"_index":2345,"title":{},"content":{"219":{"position":[[796,15],[889,16]]}},"keywords":{}}],["lt;x",{"_index":5654,"title":{},"content":{"780":{"position":[[158,5]]},"787":{"position":[[320,5]]}},"keywords":{}}],["lt;xtce_filename>",{"_index":3836,"title":{},"content":{"396":{"position":[[225,21]]}},"keywords":{}}],["lt;xxx>",{"_index":2341,"title":{},"content":{"219":{"position":[[666,11]]}},"keywords":{}}],["lt;xxxxxx>",{"_index":3561,"title":{},"content":{"371":{"position":[[180,14]]}},"keywords":{}}],["lt;yellow",{"_index":5419,"title":{},"content":{"741":{"position":[[326,10],[346,10]]}},"keywords":{}}],["ltd",{"_index":430,"title":{},"content":{"20":{"position":[[620,6]]}},"keywords":{}}],["m",{"_index":2215,"title":{},"content":{"211":{"position":[[90,1],[159,1],[230,1]]}},"keywords":{}}],["mac",{"_index":3006,"title":{},"content":{"330":{"position":[[246,4]]},"333":{"position":[[270,3]]},"358":{"position":[[210,3]]},"404":{"position":[[1924,3]]}},"keywords":{}}],["machin",{"_index":1840,"title":{"329":{"position":[[33,9]]}},"content":{"104":{"position":[[256,7]]},"106":{"position":[[158,7],[235,7],[296,7],[367,7],[478,7]]},"107":{"position":[[266,7]]},"310":{"position":[[61,7],[76,7],[96,7],[191,7]]},"314":{"position":[[1103,8],[2093,7]]},"328":{"position":[[143,7]]},"330":{"position":[[859,8]]},"342":{"position":[[1044,7]]},"369":{"position":[[986,8],[2454,7]]},"382":{"position":[[720,7]]}},"keywords":{}}],["maco",{"_index":916,"title":{"310":{"position":[[0,5]]}},"content":{"42":{"position":[[505,5]]},"309":{"position":[[3993,5],[4026,6]]},"310":{"position":[[577,5]]},"330":{"position":[[1394,6]]}},"keywords":{}}],["made",{"_index":535,"title":{},"content":{"24":{"position":[[234,4]]},"312":{"position":[[23,4]]},"351":{"position":[[183,4]]},"358":{"position":[[3233,4]]},"389":{"position":[[813,5]]},"574":{"position":[[431,4]]},"581":{"position":[[111,4],[174,4],[322,4]]},"591":{"position":[[111,4],[174,4],[322,4]]}},"keywords":{}}],["mail",{"_index":4110,"title":{},"content":{"433":{"position":[[203,8]]}},"keywords":{}}],["main",{"_index":503,"title":{},"content":{"22":{"position":[[518,5]]},"48":{"position":[[2089,4]]},"98":{"position":[[188,4]]},"255":{"position":[[5,4]]},"258":{"position":[[894,4]]},"309":{"position":[[2735,4],[2747,5],[3015,4]]},"455":{"position":[[102,4],[427,4],[575,4]]},"473":{"position":[[5,4]]},"523":{"position":[[295,4]]},"549":{"position":[[416,4]]},"658":{"position":[[169,4]]}},"keywords":{}}],["main/div/a[2]/span/h2/span/text",{"_index":2291,"title":{},"content":{"216":{"position":[[831,35]]},"217":{"position":[[2952,35]]}},"keywords":{}}],["main/div/a[2]/span/p/text",{"_index":2290,"title":{},"content":{"216":{"position":[[766,29]]},"217":{"position":[[2887,29]]}},"keywords":{}}],["maintain",{"_index":1421,"title":{},"content":{"69":{"position":[[620,9]]},"344":{"position":[[1146,8]]},"523":{"position":[[594,8]]},"538":{"position":[[279,13]]},"544":{"position":[[213,8]]},"712":{"position":[[103,10]]}},"keywords":{}}],["major",{"_index":3155,"title":{},"content":{"349":{"position":[[1255,5]]},"382":{"position":[[946,5]]}},"keywords":{}}],["make",{"_index":89,"title":{},"content":{"3":{"position":[[92,4],[742,4]]},"24":{"position":[[538,5]]},"51":{"position":[[194,6]]},"61":{"position":[[1863,4]]},"67":{"position":[[3382,5],[3691,5],[4292,5],[4682,5]]},"82":{"position":[[162,4]]},"104":{"position":[[375,4],[499,4]]},"110":{"position":[[737,4],[849,4]]},"192":{"position":[[112,4]]},"235":{"position":[[175,4]]},"258":{"position":[[615,4]]},"261":{"position":[[190,4]]},"285":{"position":[[174,4]]},"301":{"position":[[998,4]]},"309":{"position":[[343,6],[3723,4]]},"313":{"position":[[85,4]]},"317":{"position":[[195,4]]},"323":{"position":[[554,4]]},"336":{"position":[[100,4]]},"358":{"position":[[2567,4],[4595,4],[8348,4]]},"359":{"position":[[1805,4]]},"376":{"position":[[556,4],[570,4],[579,4]]},"380":{"position":[[1028,4],[1724,4]]},"385":{"position":[[214,4]]},"386":{"position":[[729,4]]},"387":{"position":[[1449,6]]},"392":{"position":[[710,4]]},"404":{"position":[[447,4],[1151,4],[1432,4],[1644,4]]},"408":{"position":[[126,5]]},"409":{"position":[[101,5]]},"410":{"position":[[95,5]]},"411":{"position":[[144,5]]},"414":{"position":[[83,6]]},"426":{"position":[[487,4]]},"435":{"position":[[7,4]]},"436":{"position":[[135,4]]},"455":{"position":[[592,4],[1012,4]]},"540":{"position":[[224,4],[249,5]]},"542":{"position":[[994,4]]},"547":{"position":[[187,4],[471,6]]},"549":{"position":[[52,5]]},"550":{"position":[[77,5],[266,4]]},"552":{"position":[[2287,4],[2435,4],[2568,4]]},"564":{"position":[[85,4],[127,4]]},"568":{"position":[[723,5]]},"569":{"position":[[467,4]]},"611":{"position":[[777,4]]},"614":{"position":[[362,4]]},"615":{"position":[[508,4]]},"616":{"position":[[382,4]]},"617":{"position":[[385,4]]},"618":{"position":[[659,4]]},"623":{"position":[[351,4]]},"624":{"position":[[354,4]]},"625":{"position":[[628,4]]},"635":{"position":[[590,4]]},"637":{"position":[[461,4]]},"673":{"position":[[379,4]]},"741":{"position":[[796,4],[926,4],[1059,4],[1163,4],[1275,4],[1425,4]]}},"keywords":{}}],["makefil",{"_index":3586,"title":{},"content":{"376":{"position":[[500,8]]}},"keywords":{}}],["malform",{"_index":1172,"title":{},"content":{"51":{"position":[[252,9]]}},"keywords":{}}],["manag",{"_index":612,"title":{"326":{"position":[[14,11]]},"493":{"position":[[6,7]]},"506":{"position":[[14,11]]},"524":{"position":[[13,11]]}},"content":{"31":{"position":[[87,8]]},"36":{"position":[[10553,7]]},"112":{"position":[[56,10]]},"113":{"position":[[57,10]]},"261":{"position":[[122,10],[241,10]]},"323":{"position":[[508,7]]},"326":{"position":[[36,6]]},"356":{"position":[[64,8]]},"363":{"position":[[273,6]]},"393":{"position":[[726,8]]},"455":{"position":[[169,7],[199,7],[304,7]]},"494":{"position":[[7,7]]},"496":{"position":[[247,7]]},"497":{"position":[[7,7],[130,8]]}},"keywords":{}}],["mani",{"_index":545,"title":{},"content":{"24":{"position":[[611,4]]},"83":{"position":[[1257,4]]},"128":{"position":[[253,4]]},"183":{"position":[[231,4]]},"213":{"position":[[98,4]]},"269":{"position":[[261,4]]},"343":{"position":[[833,4]]},"393":{"position":[[449,4],[477,4]]},"419":{"position":[[193,4]]},"422":{"position":[[968,4]]},"540":{"position":[[11,4]]},"543":{"position":[[50,4]]},"546":{"position":[[1462,4]]},"549":{"position":[[35,4]]},"657":{"position":[[122,4]]},"660":{"position":[[76,4]]},"710":{"position":[[334,4]]},"811":{"position":[[1,4]]}},"keywords":{}}],["manifest",{"_index":3027,"title":{},"content":{"330":{"position":[[1135,8]]}},"keywords":{}}],["manipul",{"_index":2296,"title":{},"content":{"217":{"position":[[281,12]]},"749":{"position":[[33,10]]},"760":{"position":[[33,10]]}},"keywords":{}}],["manner",{"_index":2744,"title":{},"content":{"301":{"position":[[544,6]]},"424":{"position":[[477,6],[605,6],[1769,6]]},"435":{"position":[[259,6]]}},"keywords":{}}],["manual",{"_index":2042,"title":{"560":{"position":[[22,6]]}},"content":{"138":{"position":[[249,8]]},"183":{"position":[[436,8]]},"216":{"position":[[559,6]]},"217":{"position":[[2680,6]]},"346":{"position":[[304,6],[1263,6],[1418,8]]},"348":{"position":[[1056,8],[1116,8]]},"349":{"position":[[6808,6],[6870,6]]},"383":{"position":[[1832,9]]},"421":{"position":[[649,8]]},"470":{"position":[[264,8]]},"472":{"position":[[256,8]]},"481":{"position":[[184,8],[303,8]]},"513":{"position":[[780,6]]},"528":{"position":[[373,8]]},"535":{"position":[[943,7],[993,7],[1149,6]]},"559":{"position":[[53,6]]},"560":{"position":[[284,6],[418,7],[502,6],[599,7],[684,8],[1045,8],[1072,7]]},"710":{"position":[[272,8]]}},"keywords":{}}],["map",{"_index":1078,"title":{},"content":{"48":{"position":[[518,3],[4325,3],[4345,3],[4673,3],[5153,3],[5190,3],[5204,7]]},"130":{"position":[[1,4],[94,3]]},"131":{"position":[[16,4],[136,3]]},"132":{"position":[[16,4],[139,3]]},"202":{"position":[[42,3],[89,3],[115,3]]},"513":{"position":[[52,6]]},"612":{"position":[[1004,3]]},"619":{"position":[[936,3]]},"650":{"position":[[1267,3]]},"652":{"position":[[1192,3]]},"757":{"position":[[1,3],[379,3],[474,3]]}},"keywords":{}}],["map_cmd_target",{"_index":2024,"title":{"131":{"position":[[0,15]]}},"content":{"131":{"position":[[269,14],[465,14]]}},"keywords":{}}],["map_target",{"_index":2022,"title":{"130":{"position":[[0,11]]}},"content":{"130":{"position":[[228,10],[372,10]]},"139":{"position":[[805,10],[1094,10]]},"302":{"position":[[2719,10]]},"314":{"position":[[259,12]]},"358":{"position":[[6903,10],[8141,10]]},"378":{"position":[[1155,10]]}},"keywords":{}}],["map_target_to_interfac",{"_index":5556,"title":{"757":{"position":[[0,24]]}},"content":{},"keywords":{}}],["map_target_to_interface("<target",{"_index":5557,"title":{},"content":{"757":{"position":[[128,40]]}},"keywords":{}}],["map_target_to_interface("inst"",{"_index":5562,"title":{},"content":{"757":{"position":[[647,41],[748,41]]}},"keywords":{}}],["map_tlm_target",{"_index":2027,"title":{"132":{"position":[[0,15]]}},"content":{"132":{"position":[[272,14],[471,14]]}},"keywords":{}}],["margin",{"_index":4620,"title":{"585":{"position":[[0,7]]}},"content":{"585":{"position":[[17,6],[25,6],[321,6]]},"594":{"position":[[295,6]]},"595":{"position":[[263,6],[270,6]]},"596":{"position":[[143,6]]},"597":{"position":[[221,6],[228,6]]},"598":{"position":[[182,6],[189,6]]},"599":{"position":[[243,6],[250,6]]}},"keywords":{}}],["mark",{"_index":653,"title":{},"content":{"35":{"position":[[1060,4],[1591,4]]},"36":{"position":[[1584,5]]},"37":{"position":[[853,4],[1384,4]]},"91":{"position":[[1346,6]]},"228":{"position":[[1089,4],[1620,4]]},"229":{"position":[[1584,5]]},"230":{"position":[[872,4],[1403,4]]},"231":{"position":[[1764,4]]},"232":{"position":[[1600,4]]},"249":{"position":[[17,5]]},"250":{"position":[[17,5]]},"279":{"position":[[1579,5]]},"295":{"position":[[17,5]]},"338":{"position":[[610,4]]},"367":{"position":[[846,4]]},"455":{"position":[[1495,4]]},"468":{"position":[[562,6]]},"530":{"position":[[331,6]]},"579":{"position":[[27,6],[230,6],[409,7]]},"800":{"position":[[24,4]]}},"keywords":{}}],["markdown",{"_index":2759,"title":{},"content":{"301":{"position":[[1397,8]]},"358":{"position":[[892,10]]}},"keywords":{}}],["marker",{"_index":1077,"title":{},"content":{"48":{"position":[[503,6],[4006,6],[4264,6],[4313,6]]}},"keywords":{}}],["market",{"_index":4093,"title":{},"content":{"431":{"position":[[598,9],[696,9],[773,9],[939,9]]}},"keywords":{}}],["master",{"_index":3556,"title":{},"content":{"371":{"position":[[91,6]]}},"keywords":{}}],["match",{"_index":1900,"title":{},"content":{"109":{"position":[[2149,5],[2473,5]]},"115":{"position":[[2255,5]]},"176":{"position":[[184,5],[212,6]]},"190":{"position":[[190,5],[218,6]]},"201":{"position":[[182,5],[210,6]]},"205":{"position":[[184,5],[212,6]]},"231":{"position":[[226,5],[1244,5]]},"232":{"position":[[226,5],[1080,5]]},"272":{"position":[[70,7],[265,8]]},"279":{"position":[[2673,5]]},"281":{"position":[[155,5]]},"314":{"position":[[937,5]]},"331":{"position":[[855,5]]},"358":{"position":[[288,5],[5741,7],[6186,5]]},"371":{"position":[[205,8]]},"373":{"position":[[223,5]]},"378":{"position":[[1292,5],[1347,5]]},"380":{"position":[[1084,5]]},"540":{"position":[[1601,5]]},"578":{"position":[[156,7]]},"612":{"position":[[1101,5]]},"619":{"position":[[1033,5]]},"668":{"position":[[1137,5]]}},"keywords":{}}],["match).next",{"_index":3272,"title":{},"content":{"358":{"position":[[5799,11]]}},"keywords":{}}],["materi",{"_index":2172,"title":{},"content":{"197":{"position":[[190,8]]},"307":{"position":[[1764,8]]},"413":{"position":[[241,8]]}},"keywords":{}}],["math",{"_index":3741,"title":{},"content":{"387":{"position":[[1611,4]]}},"keywords":{}}],["matlab",{"_index":4181,"title":{},"content":{"476":{"position":[[260,7]]},"479":{"position":[[49,6]]}},"keywords":{}}],["matrix",{"_index":4647,"title":{},"content":{"598":{"position":[[38,6]]}},"keywords":{}}],["matrixbycolumn",{"_index":4646,"title":{"598":{"position":[[0,16]]}},"content":{"598":{"position":[[50,15],[251,15]]}},"keywords":{}}],["matter",{"_index":294,"title":{},"content":{"8":{"position":[[448,7]]},"9":{"position":[[1025,6]]},"141":{"position":[[641,6]]},"302":{"position":[[1015,6]]},"332":{"position":[[1124,6]]},"387":{"position":[[1351,7]]},"506":{"position":[[201,6]]},"524":{"position":[[195,6]]},"530":{"position":[[38,6]]}},"keywords":{}}],["max",{"_index":883,"title":{},"content":{"40":{"position":[[976,3],[1121,3],[1256,3]]},"48":{"position":[[329,3],[2666,3]]},"55":{"position":[[2283,3]]},"62":{"position":[[609,3]]},"81":{"position":[[579,3]]},"82":{"position":[[931,3],[1053,3],[1127,3],[6339,3]]},"213":{"position":[[679,3]]},"214":{"position":[[633,3],[727,3],[841,3]]},"215":{"position":[[479,3]]},"218":{"position":[[835,3],[929,3],[1043,3]]},"219":{"position":[[969,3]]},"220":{"position":[[886,3],[1011,3],[1144,3]]},"228":{"position":[[2061,3]]},"358":{"position":[[2831,3],[3008,3],[4118,3]]},"359":{"position":[[1429,3],[1608,3]]},"379":{"position":[[378,3]]},"402":{"position":[[3328,4]]},"522":{"position":[[1116,3],[1181,3]]},"590":{"position":[[101,3]]},"626":{"position":[[505,4],[1232,4]]},"627":{"position":[[539,4],[1285,4]]},"628":{"position":[[523,4],[1257,4]]}},"keywords":{}}],["max_uint16",{"_index":3630,"title":{},"content":{"379":{"position":[[562,10],[1422,10],[1954,10],[2454,10]]}},"keywords":{}}],["max_uint8",{"_index":3639,"title":{},"content":{"379":{"position":[[806,9],[1686,9],[2191,9],[2691,9]]}},"keywords":{}}],["maximum",{"_index":652,"title":{},"content":{"35":{"position":[[914,7],[928,7]]},"36":{"position":[[2453,7],[2512,7],[10029,7],[10144,7]]},"37":{"position":[[707,7],[721,7]]},"55":{"position":[[2298,7],[2351,7]]},"62":{"position":[[624,7],[677,7]]},"153":{"position":[[91,7]]},"154":{"position":[[113,7]]},"156":{"position":[[98,7]]},"157":{"position":[[120,7]]},"160":{"position":[[93,7]]},"161":{"position":[[115,7]]},"163":{"position":[[100,7]]},"164":{"position":[[122,7]]},"173":{"position":[[1,7]]},"228":{"position":[[943,7],[957,7]]},"229":{"position":[[2453,7],[2512,7],[10029,7],[10144,7]]},"230":{"position":[[726,7],[740,7]]},"231":{"position":[[1113,7],[1127,7]]},"232":{"position":[[949,7],[963,7]]},"358":{"position":[[3664,7],[3872,7],[4101,7],[4564,7]]},"522":{"position":[[1314,7]]},"599":{"position":[[175,7]]},"618":{"position":[[351,7]]},"625":{"position":[[320,7]]},"631":{"position":[[330,7]]},"690":{"position":[[1378,10]]},"717":{"position":[[352,7]]},"744":{"position":[[310,7]]},"791":{"position":[[22,7]]},"792":{"position":[[21,7]]}},"keywords":{}}],["maximum_valu",{"_index":706,"title":{},"content":{"36":{"position":[[2416,14]]},"229":{"position":[[2416,14]]}},"keywords":{}}],["mb",{"_index":3387,"title":{},"content":{"367":{"position":[[238,2],[278,3],[327,2],[383,2],[564,2],[593,2],[630,2]]}},"keywords":{}}],["mc_frm_cnt",{"_index":1286,"title":{},"content":{"60":{"position":[[99,11]]}},"keywords":{}}],["md5",{"_index":1937,"title":{},"content":{"112":{"position":[[738,4]]}},"keywords":{}}],["mdi",{"_index":2825,"title":{},"content":{"307":{"position":[[1858,3]]}},"keywords":{}}],["mean",{"_index":442,"title":{},"content":{"20":{"position":[[853,6]]},"54":{"position":[[1438,5]]},"57":{"position":[[545,6],[1111,6]]},"67":{"position":[[1847,5],[2632,5],[2729,5]]},"73":{"position":[[886,5],[1278,5]]},"258":{"position":[[285,5]]},"330":{"position":[[1496,5]]},"358":{"position":[[3162,5],[4046,8],[4248,7],[4414,8],[7985,5]]},"387":{"position":[[269,5]]},"393":{"position":[[115,5]]},"472":{"position":[[508,5]]},"498":{"position":[[823,5],[899,5]]},"535":{"position":[[539,5]]},"552":{"position":[[50,5]]},"572":{"position":[[145,9]]},"610":{"position":[[576,5]]},"669":{"position":[[479,5]]}},"keywords":{}}],["meant",{"_index":2570,"title":{},"content":{"267":{"position":[[454,5]]},"323":{"position":[[482,5]]},"387":{"position":[[732,5],[1657,5]]}},"keywords":{}}],["meas_voltage_1",{"_index":1328,"title":{},"content":{"64":{"position":[[1035,14]]},"219":{"position":[[1477,15],[1587,14]]}},"keywords":{}}],["meas_voltage_2",{"_index":1334,"title":{},"content":{"64":{"position":[[1147,14]]},"219":{"position":[[1493,14],[1665,14]]}},"keywords":{}}],["measur",{"_index":4016,"title":{},"content":{"424":{"position":[[110,8],[1654,8],[1995,10]]},"429":{"position":[[141,8],[431,8]]}},"keywords":{}}],["mech",{"_index":4171,"title":{},"content":{"472":{"position":[[442,6]]}},"keywords":{}}],["mechan",{"_index":3131,"title":{},"content":{"348":{"position":[[878,9]]},"349":{"position":[[955,10]]},"350":{"position":[[562,9],[742,9]]},"546":{"position":[[1008,10]]},"569":{"position":[[144,10]]}},"keywords":{}}],["meet",{"_index":3526,"title":{},"content":{"369":{"position":[[4052,4]]},"722":{"position":[[104,5]]},"723":{"position":[[89,5]]},"726":{"position":[[117,5]]}},"keywords":{}}],["mem",{"_index":3441,"title":{},"content":{"369":{"position":[[1114,3],[2605,3]]}},"keywords":{}}],["memcosmo",{"_index":3442,"title":{},"content":{"369":{"position":[[1125,9],[2616,9]]}},"keywords":{}}],["memori",{"_index":2568,"title":{"367":{"position":[[0,7]]}},"content":{"267":{"position":[[16,6]]},"273":{"position":[[232,6]]},"330":{"position":[[521,6],[658,7]]},"354":{"position":[[139,6]]},"367":{"position":[[839,6],[1157,6]]},"369":{"position":[[91,7],[1059,6],[1897,6],[1983,6],[2550,6],[3387,6],[3901,6]]},"455":{"position":[[619,6]]},"626":{"position":[[1765,6]]},"627":{"position":[[1818,6]]},"628":{"position":[[1790,6]]}},"keywords":{}}],["memory=16gb",{"_index":3023,"title":{},"content":{"330":{"position":[[875,11]]}},"keywords":{}}],["mention",{"_index":1396,"title":{},"content":{"67":{"position":[[3600,9]]},"349":{"position":[[2051,9]]}},"keywords":{}}],["menu",{"_index":2159,"title":{"460":{"position":[[12,6]]},"461":{"position":[[5,4]]},"465":{"position":[[15,6]]},"466":{"position":[[5,4]]},"471":{"position":[[15,6]]},"472":{"position":[[5,4]]},"477":{"position":[[15,6]]},"478":{"position":[[5,4]]},"479":{"position":[[5,4]]},"488":{"position":[[14,6]]},"489":{"position":[[5,4]]},"490":{"position":[[5,4]]},"495":{"position":[[5,4]]},"502":{"position":[[5,4]]},"510":{"position":[[29,6]]},"511":{"position":[[5,4]]},"520":{"position":[[18,6]]},"521":{"position":[[5,4]]},"522":{"position":[[6,4]]},"527":{"position":[[14,6]]},"528":{"position":[[5,4]]},"529":{"position":[[7,4]]}},"content":{"192":{"position":[[457,4]]},"197":{"position":[[74,5]]},"198":{"position":[[102,5]]},"199":{"position":[[74,5]]},"348":{"position":[[560,6]]},"349":{"position":[[3783,5]]},"350":{"position":[[362,6],[701,5],[869,5],[1550,5]]},"352":{"position":[[448,4]]},"452":{"position":[[394,4]]},"468":{"position":[[226,4]]},"491":{"position":[[105,5]]},"511":{"position":[[42,4]]},"532":{"position":[[145,6]]},"533":{"position":[[311,5],[917,5]]},"534":{"position":[[654,5],[766,6]]},"554":{"position":[[297,5]]},"557":{"position":[[172,5]]},"658":{"position":[[212,4]]}},"keywords":{}}],["merchant",{"_index":3779,"title":{},"content":{"390":{"position":[[830,16]]}},"keywords":{}}],["merg",{"_index":289,"title":{},"content":{"8":{"position":[[274,5]]},"9":{"position":[[295,6],[624,6]]},"386":{"position":[[45,6],[613,7]]}},"keywords":{}}],["messag",{"_index":112,"title":{"517":{"position":[[4,9]]}},"content":{"3":{"position":[[459,8]]},"36":{"position":[[1301,8],[3144,8]]},"58":{"position":[[117,8]]},"61":{"position":[[85,8]]},"67":{"position":[[5036,8]]},"93":{"position":[[110,8]]},"96":{"position":[[205,7],[376,7]]},"109":{"position":[[162,8],[2007,8]]},"110":{"position":[[182,8]]},"229":{"position":[[1301,8],[3144,8]]},"238":{"position":[[161,8]]},"239":{"position":[[43,9]]},"279":{"position":[[1296,8],[7967,7]]},"303":{"position":[[877,8]]},"332":{"position":[[618,8]]},"339":{"position":[[134,8],[325,8],[369,8],[402,8]]},"340":{"position":[[507,8],[555,8],[642,8]]},"342":{"position":[[1157,7],[1197,8]]},"344":{"position":[[1250,7]]},"349":{"position":[[276,8],[2960,7]]},"354":{"position":[[164,7]]},"359":{"position":[[2349,7]]},"378":{"position":[[688,9]]},"431":{"position":[[891,8]]},"509":{"position":[[421,8],[445,9]]},"511":{"position":[[304,8],[340,8]]},"517":{"position":[[9,8],[116,8],[391,8]]},"536":{"position":[[92,9],[169,9]]},"554":{"position":[[830,7],[979,7]]},"557":{"position":[[309,7]]},"561":{"position":[[291,7]]},"565":{"position":[[147,7]]},"658":{"position":[[1232,9]]},"668":{"position":[[71,7],[497,7]]},"673":{"position":[[988,7],[1000,7],[1559,7],[1953,7]]},"675":{"position":[[12,7],[165,7]]}},"keywords":{}}],["message_box",{"_index":4511,"title":{"666":{"position":[[0,12]]}},"content":{"559":{"position":[[1129,13]]},"668":{"position":[[5,12]]}},"keywords":{}}],["message_box("<message>"",{"_index":4970,"title":{},"content":{"668":{"position":[[213,40]]}},"keywords":{}}],["message_box("select",{"_index":4978,"title":{},"content":{"668":{"position":[[607,24],[922,24]]}},"keywords":{}}],["messages.port_tc",{"_index":3685,"title":{},"content":{"380":{"position":[[1229,16]]}},"keywords":{}}],["meta",{"_index":670,"title":{"240":{"position":[[0,5]]},"287":{"position":[[0,5]]}},"content":{"36":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"109":{"position":[[386,4],[1880,5],[2219,4],[2545,4]]},"114":{"position":[[346,4],[448,4]]},"229":{"position":[[617,5],[653,4],[908,4],[961,4],[994,4]]},"240":{"position":[[42,4],[297,4],[350,4],[383,4]]},"279":{"position":[[612,5],[648,4],[903,4],[956,4],[989,4]]},"287":{"position":[[51,4],[306,4],[359,4],[392,4]]}},"keywords":{}}],["metadata",{"_index":672,"title":{"452":{"position":[[0,9]]},"800":{"position":[[0,9]]}},"content":{"36":{"position":[[643,8],[885,8]]},"229":{"position":[[643,8],[885,8]]},"240":{"position":[[8,8],[274,8]]},"279":{"position":[[638,8],[880,8]]},"287":{"position":[[8,8],[283,8]]},"449":{"position":[[21,9]]},"452":{"position":[[1,8],[260,8],[357,8],[472,8],[507,8],[624,8]]},"800":{"position":[[1,8],[106,8]]},"801":{"position":[[17,8],[128,8]]},"802":{"position":[[9,8],[158,8]]},"803":{"position":[[9,8],[187,9],[243,9],[309,8]]},"804":{"position":[[9,8],[191,9],[248,9],[276,9],[326,8]]},"805":{"position":[[34,8]]}},"keywords":{}}],["metadata_al",{"_index":5727,"title":{"801":{"position":[[0,13]]}},"content":{"801":{"position":[[74,14]]}},"keywords":{}}],["metadata_all(limit",{"_index":5728,"title":{},"content":{"801":{"position":[[186,19]]}},"keywords":{}}],["metadata_all(limit='500",{"_index":5730,"title":{},"content":{"801":{"position":[[230,25]]}},"keywords":{}}],["metadata_get",{"_index":5731,"title":{"802":{"position":[[0,13]]}},"content":{},"keywords":{}}],["metadata_get(start",{"_index":5732,"title":{},"content":{"802":{"position":[[66,19],[213,19]]}},"keywords":{}}],["metadata_get(start='500",{"_index":5734,"title":{},"content":{"802":{"position":[[257,25]]}},"keywords":{}}],["metadata_input",{"_index":5743,"title":{"805":{"position":[[0,15]]}},"content":{"805":{"position":[[109,16]]}},"keywords":{}}],["metadata_set",{"_index":5735,"title":{"803":{"position":[[0,13]]}},"content":{"803":{"position":[[371,14],[409,14],[484,14],[517,14]]}},"keywords":{}}],["metadata_set(<metadata>",{"_index":5736,"title":{},"content":{"803":{"position":[[66,30]]}},"keywords":{}}],["metadata_upd",{"_index":5741,"title":{"804":{"position":[[0,16]]}},"content":{"804":{"position":[[388,17],[448,17]]}},"keywords":{}}],["metadata_update(<metadata>",{"_index":5742,"title":{},"content":{"804":{"position":[[66,33]]}},"keywords":{}}],["metadatashow",{"_index":4281,"title":{},"content":{"529":{"position":[[78,12]]}},"keywords":{}}],["meter",{"_index":4342,"title":{},"content":{"540":{"position":[[1376,6]]}},"keywords":{}}],["method",{"_index":240,"title":{"68":{"position":[[0,6]]},"88":{"position":[[10,8]]},"550":{"position":[[22,8]]},"551":{"position":[[26,8]]}},"content":{"7":{"position":[[19,6],[352,6]]},"17":{"position":[[316,7]]},"18":{"position":[[321,7]]},"36":{"position":[[4250,6],[4321,7],[4850,6],[8847,6]]},"67":{"position":[[771,7],[866,6],[929,7],[1657,8],[1696,7],[2018,6],[2108,7],[2353,7],[2499,6],[2871,6],[3041,7],[3138,7],[3234,7],[3247,6],[3417,7],[3549,6],[3971,6],[3997,6],[4349,8],[4441,7],[4471,6],[4716,8],[4793,7],[4852,6],[4961,6]]},"69":{"position":[[891,6]]},"70":{"position":[[11,6],[117,6],[233,8]]},"71":{"position":[[19,6],[311,6]]},"72":{"position":[[22,6],[326,6]]},"73":{"position":[[15,6],[1711,6]]},"74":{"position":[[17,6],[629,6]]},"75":{"position":[[18,6]]},"76":{"position":[[16,6]]},"77":{"position":[[26,6],[114,6],[661,7]]},"78":{"position":[[18,6]]},"79":{"position":[[88,7]]},"88":{"position":[[13,7],[160,7],[246,6],[306,7],[353,7],[579,7]]},"91":{"position":[[15,7],[122,6],[202,6],[286,6],[368,6],[1280,7],[1437,7]]},"92":{"position":[[15,7],[103,6],[180,6],[257,6],[341,6]]},"97":{"position":[[84,6]]},"115":{"position":[[31,7],[162,6],[324,6],[445,6],[599,6],[790,6],[861,7],[1058,6],[1316,6],[1624,6],[1783,6],[1958,6]]},"128":{"position":[[195,7]]},"140":{"position":[[97,7]]},"217":{"position":[[560,6]]},"229":{"position":[[4250,6],[4321,7],[4850,6],[8847,6]]},"251":{"position":[[163,7]]},"271":{"position":[[1637,6]]},"279":{"position":[[3199,6],[3270,7]]},"297":{"position":[[329,6]]},"302":{"position":[[1624,7],[1756,7]]},"304":{"position":[[753,6]]},"305":{"position":[[800,6]]},"309":{"position":[[165,7]]},"348":{"position":[[33,6]]},"349":{"position":[[1947,8],[1968,7],[2909,7],[3073,6],[5379,7],[5545,7]]},"354":{"position":[[83,7]]},"401":{"position":[[205,7]]},"429":{"position":[[620,7]]},"447":{"position":[[523,7]]},"533":{"position":[[30,7],[78,7],[817,7],[837,7],[966,7]]},"534":{"position":[[101,7],[574,7]]},"540":{"position":[[1408,6],[4222,7],[4324,6],[4925,6]]},"543":{"position":[[120,6]]},"544":{"position":[[528,7],[819,7],[1300,7]]},"546":{"position":[[215,7],[732,9]]},"547":{"position":[[499,7],[529,6]]},"549":{"position":[[40,8],[289,7]]},"550":{"position":[[35,7],[69,7],[194,7],[252,6],[276,6]]},"551":{"position":[[79,7],[152,7],[319,8],[401,6]]},"552":{"position":[[1105,6],[2108,7]]},"554":{"position":[[770,8]]},"559":{"position":[[35,7],[105,7],[1067,7],[1209,7]]},"563":{"position":[[136,7]]},"564":{"position":[[162,6]]},"568":{"position":[[116,6]]},"572":{"position":[[98,7],[358,7]]},"592":{"position":[[60,6],[324,7]]},"637":{"position":[[342,7],[1315,7]]},"660":{"position":[[15,7],[171,7]]},"661":{"position":[[19,7],[88,7],[139,6]]},"662":{"position":[[19,7],[151,6]]},"663":{"position":[[7,7]]},"668":{"position":[[54,7]]},"673":{"position":[[44,7],[240,8]]},"674":{"position":[[7,7]]},"676":{"position":[[7,7]]},"696":{"position":[[7,7]]},"699":{"position":[[109,6]]},"700":{"position":[[12,6],[65,6],[300,6],[336,6],[369,6]]},"710":{"position":[[165,6]]},"712":{"position":[[219,7]]},"715":{"position":[[1,7]]},"721":{"position":[[7,7]]},"724":{"position":[[135,6]]},"728":{"position":[[131,6]]},"730":{"position":[[7,7]]},"731":{"position":[[21,6]]},"745":{"position":[[1,7]]},"749":{"position":[[7,7]]},"760":{"position":[[7,7]]},"770":{"position":[[7,7]]},"776":{"position":[[7,7]]},"779":{"position":[[7,7]]},"788":{"position":[[7,7]]},"789":{"position":[[6,6]]},"790":{"position":[[5,6]]},"791":{"position":[[6,6]]},"792":{"position":[[5,6]]},"795":{"position":[[16,7],[52,6],[78,7],[125,7],[189,6],[216,6],[274,6],[304,6],[354,6],[380,6],[430,6],[891,6],[910,6],[994,7]]},"796":{"position":[[7,7]]}},"keywords":{}}],["methodolog",{"_index":3148,"title":{},"content":{"349":{"position":[[598,11]]}},"keywords":{}}],["metric",{"_index":2379,"title":{},"content":{"222":{"position":[[245,7]]},"258":{"position":[[1639,7],[1676,7]]},"362":{"position":[[379,6]]},"364":{"position":[[20,7],[628,7]]},"369":{"position":[[1557,7],[3047,7]]},"516":{"position":[[39,8]]}},"keywords":{}}],["metric>",{"_index":3320,"title":{},"content":{"362":{"position":[[248,12]]}},"keywords":{}}],["metrics_path",{"_index":3368,"title":{},"content":{"364":{"position":[[636,13],[787,13],[935,13],[1074,13]]}},"keywords":{}}],["mib",{"_index":3400,"title":{},"content":{"367":{"position":[[1015,3],[1183,4]]}},"keywords":{}}],["micro",{"_index":2552,"title":{},"content":{"264":{"position":[[192,5]]}},"keywords":{}}],["microsecond",{"_index":2614,"title":{},"content":{"275":{"position":[[1167,12]]}},"keywords":{}}],["microservic",{"_index":33,"title":{"123":{"position":[[0,13]]},"178":{"position":[[0,13]]},"179":{"position":[[0,12]]},"303":{"position":[[0,12]]},"411":{"position":[[0,14]]}},"content":{"2":{"position":[[46,12],[111,13],[373,14]]},"11":{"position":[[67,13],[190,13]]},"117":{"position":[[447,13]]},"123":{"position":[[1,13]]},"142":{"position":[[52,13]]},"143":{"position":[[73,12],[124,12],[200,12],[292,12],[343,12],[419,12]]},"144":{"position":[[34,12]]},"145":{"position":[[51,13],[102,13],[193,13]]},"146":{"position":[[68,12]]},"147":{"position":[[57,12]]},"148":{"position":[[45,13]]},"172":{"position":[[29,12]]},"174":{"position":[[32,12],[349,12]]},"175":{"position":[[181,12]]},"177":{"position":[[45,13]]},"178":{"position":[[15,12],[39,12],[95,13],[257,12],[338,12],[398,12],[454,12]]},"179":{"position":[[38,12]]},"180":{"position":[[37,13],[172,12]]},"181":{"position":[[57,12],[108,12],[184,12],[276,12],[327,12],[403,12],[447,12]]},"182":{"position":[[35,12],[267,12]]},"183":{"position":[[61,13],[91,13],[363,12],[398,12]]},"184":{"position":[[64,13],[98,13],[217,13],[310,12],[345,12]]},"185":{"position":[[36,13],[86,13],[177,13],[212,12],[294,12]]},"186":{"position":[[23,12],[81,13],[246,13]]},"187":{"position":[[52,12]]},"188":{"position":[[47,12],[88,13]]},"189":{"position":[[57,12],[243,12]]},"190":{"position":[[80,12]]},"191":{"position":[[45,13]]},"192":{"position":[[245,14]]},"258":{"position":[[952,13]]},"303":{"position":[[5,12],[69,13],[217,12],[250,12],[340,12],[364,12],[575,13],[671,13],[703,13],[826,12],[987,13],[1189,13],[1204,12],[1239,12]]},"338":{"position":[[467,12]]},"339":{"position":[[165,13],[215,14]]},"343":{"position":[[137,12],[202,13],[464,14]]},"356":{"position":[[466,14],[527,13],[565,12]]},"358":{"position":[[1006,13]]},"368":{"position":[[106,13]]},"383":{"position":[[1751,13]]},"407":{"position":[[111,14]]},"411":{"position":[[5,13],[37,13],[157,12]]},"415":{"position":[[80,13]]},"440":{"position":[[366,13]]},"455":{"position":[[48,12],[82,12]]},"548":{"position":[[236,13]]}},"keywords":{}}],["microservices/background/background.rb",{"_index":2784,"title":{},"content":{"303":{"position":[[770,38]]}},"keywords":{}}],["microservices/microservicefoldernam",{"_index":2139,"title":{},"content":{"178":{"position":[[296,36]]}},"keywords":{}}],["middl",{"_index":4177,"title":{},"content":{"473":{"position":[[900,8]]},"552":{"position":[[2041,6]]}},"keywords":{}}],["midnight",{"_index":1112,"title":{},"content":{"48":{"position":[[2836,10],[3270,10]]},"402":{"position":[[4347,9]]}},"keywords":{}}],["midnight)"",{"_index":2706,"title":{},"content":{"299":{"position":[[782,15]]}},"keywords":{}}],["migrat",{"_index":3698,"title":{"383":{"position":[[0,9]]},"661":{"position":[[0,9]]},"662":{"position":[[0,9]]}},"content":{"382":{"position":[[591,7]]},"383":{"position":[[615,9],[1043,9],[1167,7],[1402,7],[1708,9]]}},"keywords":{}}],["million",{"_index":3800,"title":{},"content":{"392":{"position":[[36,8]]}},"keywords":{}}],["millisecond",{"_index":2712,"title":{},"content":{"299":{"position":[[920,11]]},"344":{"position":[[821,11]]},"379":{"position":[[3216,12]]},"717":{"position":[[247,12]]}},"keywords":{}}],["min",{"_index":882,"title":{},"content":{"40":{"position":[[972,3],[1117,3],[1252,3]]},"138":{"position":[[433,4]]},"213":{"position":[[675,3]]},"214":{"position":[[629,3],[723,3],[837,3]]},"215":{"position":[[475,3]]},"218":{"position":[[831,3],[925,3],[1039,3]]},"219":{"position":[[965,3]]},"220":{"position":[[882,3],[1007,3],[1140,3]]},"228":{"position":[[2057,3]]},"320":{"position":[[982,3],[1126,3],[1277,3]]},"358":{"position":[[2827,3],[3004,3],[4042,3]]},"359":{"position":[[1425,3],[1604,3]]},"367":{"position":[[724,3]]},"373":{"position":[[383,5]]},"379":{"position":[[370,3]]},"402":{"position":[[3323,4]]},"522":{"position":[[1106,3],[1171,3]]},"626":{"position":[[500,4],[1227,4]]},"627":{"position":[[534,4],[1280,4]]},"628":{"position":[[518,4],[1252,4]]}},"keywords":{}}],["min_uint16",{"_index":3653,"title":{},"content":{"379":{"position":[[1411,10],[1943,10],[2443,10]]}},"keywords":{}}],["min_uint8",{"_index":3638,"title":{},"content":{"379":{"position":[[796,9],[1676,9],[1696,9],[2181,9],[2201,9],[2681,9],[2701,9]]}},"keywords":{}}],["mind",{"_index":1883,"title":{},"content":{"109":{"position":[[582,4]]},"110":{"position":[[575,4]]}},"keywords":{}}],["minicomput",{"_index":3924,"title":{},"content":{"404":{"position":[[53,12]]}},"keywords":{}}],["minim",{"_index":4244,"title":{},"content":{"506":{"position":[[561,9],[723,9]]},"524":{"position":[[863,9]]}},"keywords":{}}],["minimum",{"_index":651,"title":{},"content":{"35":{"position":[[868,7]]},"36":{"position":[[2319,7],[2378,7],[10040,7]]},"37":{"position":[[661,7]]},"54":{"position":[[35,7],[568,7],[792,7]]},"228":{"position":[[897,7]]},"229":{"position":[[2319,7],[2378,7],[10040,7]]},"230":{"position":[[680,7]]},"231":{"position":[[1067,7]]},"232":{"position":[[903,7]]},"330":{"position":[[327,7]]},"358":{"position":[[3642,7],[3850,7],[4025,7],[4553,7]]},"522":{"position":[[1289,7]]},"579":{"position":[[276,7]]},"618":{"position":[[212,7]]},"625":{"position":[[181,7]]},"631":{"position":[[191,7]]},"690":{"position":[[1364,10]]},"722":{"position":[[53,8]]}},"keywords":{}}],["minimum_valu",{"_index":705,"title":{},"content":{"36":{"position":[[2282,14]]},"229":{"position":[[2282,14]]}},"keywords":{}}],["minio",{"_index":57,"title":{"268":{"position":[[0,6]]}},"content":{"2":{"position":[[471,5]]},"23":{"position":[[115,6]]},"42":{"position":[[1440,5],[2937,5]]},"258":{"position":[[830,5],[1316,5]]},"268":{"position":[[1,5]]},"343":{"position":[[562,5]]},"364":{"position":[[1064,5]]},"369":{"position":[[1782,5],[3273,5]]}},"keywords":{}}],["minio/v2/metrics/clust",{"_index":3375,"title":{},"content":{"364":{"position":[[1088,25]]}},"keywords":{}}],["minio:9000",{"_index":3376,"title":{},"content":{"364":{"position":[[1163,12]]}},"keywords":{}}],["minio:latest",{"_index":994,"title":{},"content":{"42":{"position":[[2849,12]]}},"keywords":{}}],["minor",{"_index":3702,"title":{},"content":{"382":{"position":[[888,5]]}},"keywords":{}}],["minu",{"_index":1223,"title":{},"content":{"55":{"position":[[1282,5]]}},"keywords":{}}],["minut",{"_index":1521,"title":{},"content":{"82":{"position":[[216,8]]},"138":{"position":[[475,7],[643,6],[757,7],[812,6]]},"166":{"position":[[26,6],[130,6]]},"171":{"position":[[155,8]]},"303":{"position":[[860,6]]},"330":{"position":[[1016,8]]},"338":{"position":[[516,7],[603,6]]},"404":{"position":[[1817,6],[2583,8]]},"628":{"position":[[630,7]]}},"keywords":{}}],["minutes)"",{"_index":1663,"title":{},"content":{"83":{"position":[[3119,14]]}},"keywords":{}}],["mirror",{"_index":3149,"title":{},"content":{"349":{"position":[[652,7]]}},"keywords":{}}],["misinterpret",{"_index":1177,"title":{},"content":{"51":{"position":[[526,14]]}},"keywords":{}}],["miss",{"_index":5322,"title":{},"content":{"715":{"position":[[196,7]]}},"keywords":{}}],["mission",{"_index":1775,"title":{},"content":{"95":{"position":[[33,7]]},"96":{"position":[[611,7]]},"391":{"position":[[528,8]]},"393":{"position":[[907,7],[975,7]]}},"keywords":{}}],["misspel",{"_index":4560,"title":{},"content":{"566":{"position":[[774,10]]}},"keywords":{}}],["mistak",{"_index":5214,"title":{},"content":{"699":{"position":[[434,7]]}},"keywords":{}}],["misus",{"_index":584,"title":{},"content":{"27":{"position":[[631,7]]},"429":{"position":[[182,7]]},"434":{"position":[[792,6]]}},"keywords":{}}],["mit",{"_index":3760,"title":{},"content":{"389":{"position":[[1405,3]]}},"keywords":{}}],["mixin",{"_index":2951,"title":{},"content":{"320":{"position":[[332,7]]},"572":{"position":[[52,7],[331,6],[404,6]]}},"keywords":{}}],["mkdir",{"_index":2893,"title":{},"content":{"309":{"position":[[3098,5]]}},"keywords":{}}],["mnemon",{"_index":166,"title":{"564":{"position":[[19,10]]}},"content":{"5":{"position":[[708,9]]},"226":{"position":[[178,9]]},"276":{"position":[[198,9]]},"349":{"position":[[3989,8]]},"529":{"position":[[157,8]]},"544":{"position":[[425,8],[1253,9]]},"564":{"position":[[31,9]]},"566":{"position":[[759,8]]},"604":{"position":[[75,8]]},"608":{"position":[[120,9]]},"658":{"position":[[1174,10]]},"677":{"position":[[893,9]]},"678":{"position":[[1115,9]]},"679":{"position":[[1136,9]]},"680":{"position":[[1169,9]]},"681":{"position":[[969,9]]},"682":{"position":[[1186,9]]},"683":{"position":[[1207,9]]},"684":{"position":[[1240,9]]}},"keywords":{}}],["mode",{"_index":383,"title":{"322":{"position":[[6,4]]},"323":{"position":[[12,5]]},"325":{"position":[[16,5]]},"466":{"position":[[0,4]]},"479":{"position":[[0,4]]},"556":{"position":[[17,5]]}},"content":{"17":{"position":[[344,4]]},"18":{"position":[[349,4]]},"42":{"position":[[2048,4],[2216,5]]},"62":{"position":[[693,4]]},"93":{"position":[[202,5]]},"196":{"position":[[55,4],[306,4],[324,4]]},"253":{"position":[[867,4]]},"299":{"position":[[1046,4]]},"324":{"position":[[138,4],[447,4],[561,4]]},"325":{"position":[[30,4]]},"326":{"position":[[1279,4]]},"348":{"position":[[1446,4],[1620,4],[1787,4]]},"349":{"position":[[4314,4],[4689,4],[4983,4],[5096,4],[5209,4],[5320,4],[5486,4],[5652,4],[5791,4],[5937,4],[6104,4],[6252,4],[6382,4],[6544,4],[6757,4]]},"350":{"position":[[1182,4],[1284,4]]},"365":{"position":[[289,4]]},"402":{"position":[[2998,4],[3966,4],[4144,5]]},"513":{"position":[[626,5],[890,4]]},"556":{"position":[[12,4],[139,4],[532,5]]},"710":{"position":[[266,5]]},"797":{"position":[[31,4]]},"798":{"position":[[30,4]]},"799":{"position":[[32,5],[52,5],[209,4]]},"815":{"position":[[283,4]]},"816":{"position":[[289,4]]}},"keywords":{}}],["mode"",{"_index":2486,"title":{},"content":{"253":{"position":[[910,10]]},"299":{"position":[[1079,10]]},"560":{"position":[[735,10],[947,11]]}},"keywords":{}}],["mode=block",{"_index":1549,"title":{},"content":{"82":{"position":[[1244,10]]}},"keywords":{}}],["model",{"_index":2545,"title":{},"content":{"263":{"position":[[281,5]]},"546":{"position":[[409,5]]}},"keywords":{}}],["modelclick",{"_index":3943,"title":{},"content":{"404":{"position":[[728,10]]}},"keywords":{}}],["modern",{"_index":3925,"title":{},"content":{"404":{"position":[[103,6]]}},"keywords":{}}],["modif",{"_index":1458,"title":{},"content":{"77":{"position":[[308,13]]},"235":{"position":[[358,12]]},"285":{"position":[[348,12]]},"326":{"position":[[217,13],[1240,13]]},"389":{"position":[[99,12],[799,13]]},"669":{"position":[[429,13]]}},"keywords":{}}],["modifi",{"_index":642,"title":{"34":{"position":[[6,10]]},"36":{"position":[[10,10]]},"129":{"position":[[10,10]]},"151":{"position":[[7,10]]},"179":{"position":[[13,10]]},"193":{"position":[[5,10]]},"204":{"position":[[7,10]]},"227":{"position":[[8,10]]},"229":{"position":[[10,10]]},"277":{"position":[[10,10]]},"279":{"position":[[5,10]]},"704":{"position":[[15,9]]}},"content":{"67":{"position":[[2965,8],[3931,6],[4036,8],[4534,6],[4889,8]]},"73":{"position":[[57,6]]},"74":{"position":[[59,6]]},"75":{"position":[[60,6]]},"76":{"position":[[58,6]]},"101":{"position":[[97,9]]},"103":{"position":[[203,9]]},"139":{"position":[[26,6]]},"255":{"position":[[416,10]]},"309":{"position":[[2991,6],[3040,6]]},"314":{"position":[[179,8]]},"330":{"position":[[906,6],[1401,6]]},"338":{"position":[[695,9]]},"358":{"position":[[6605,6]]},"359":{"position":[[1030,6],[2704,9]]},"387":{"position":[[898,6]]},"407":{"position":[[505,9]]},"414":{"position":[[101,6]]},"669":{"position":[[497,8],[519,8]]},"670":{"position":[[375,9],[402,8]]},"814":{"position":[[149,6]]}},"keywords":{}}],["modul",{"_index":767,"title":{"572":{"position":[[17,8]]}},"content":{"36":{"position":[[5538,6]]},"229":{"position":[[5538,6]]},"279":{"position":[[4018,6]]},"572":{"position":[[1,7],[530,6]]}},"keywords":{}}],["modular",{"_index":3735,"title":{},"content":{"387":{"position":[[1117,7],[1320,7]]}},"keywords":{}}],["module_method",{"_index":4585,"title":{},"content":{"572":{"position":[[550,13],[632,15]]}},"keywords":{}}],["monet",{"_index":3765,"title":{},"content":{"389":{"position":[[1876,9]]}},"keywords":{}}],["monitor",{"_index":1246,"title":{"347":{"position":[[7,8]]},"360":{"position":[[0,10]]},"361":{"position":[[0,10]]},"469":{"position":[[7,7]]},"471":{"position":[[7,7]]}},"content":{"57":{"position":[[51,10]]},"83":{"position":[[247,7],[3170,7]]},"279":{"position":[[8727,10]]},"347":{"position":[[8,7],[157,7],[228,7],[341,7],[437,7],[524,7],[674,7],[758,7]]},"361":{"position":[[74,7],[176,7],[223,10]]},"363":{"position":[[70,10],[118,7]]},"368":{"position":[[709,10]]},"470":{"position":[[12,7]]},"473":{"position":[[30,7],[562,7],[871,8]]},"732":{"position":[[16,10]]},"733":{"position":[[17,10]]},"734":{"position":[[16,10]]},"735":{"position":[[17,10]]}},"keywords":{}}],["more",{"_index":91,"title":{},"content":{"3":{"position":[[118,4],[208,4]]},"7":{"position":[[1237,4]]},"20":{"position":[[1471,4]]},"36":{"position":[[927,4],[6625,4],[7421,4]]},"42":{"position":[[1819,4]]},"50":{"position":[[827,4]]},"51":{"position":[[635,6]]},"52":{"position":[[608,6]]},"67":{"position":[[2166,4],[2427,4],[2638,4],[4172,4]]},"73":{"position":[[428,4],[1725,4]]},"78":{"position":[[164,4]]},"101":{"position":[[144,4]]},"102":{"position":[[133,4],[156,4]]},"107":{"position":[[204,4]]},"108":{"position":[[197,4]]},"109":{"position":[[1731,4]]},"110":{"position":[[2113,4]]},"120":{"position":[[56,4]]},"125":{"position":[[316,4]]},"128":{"position":[[911,4]]},"141":{"position":[[146,4],[409,4]]},"145":{"position":[[159,4]]},"149":{"position":[[76,4],[701,4]]},"174":{"position":[[93,4]]},"185":{"position":[[143,4]]},"186":{"position":[[350,4]]},"188":{"position":[[106,4],[369,4]]},"203":{"position":[[372,4]]},"221":{"position":[[331,4]]},"229":{"position":[[927,4],[6625,4],[7421,4]]},"231":{"position":[[194,4]]},"232":{"position":[[194,4]]},"240":{"position":[[316,4]]},"242":{"position":[[187,4]]},"260":{"position":[[243,5]]},"267":{"position":[[107,5]]},"269":{"position":[[251,4]]},"275":{"position":[[593,4]]},"279":{"position":[[922,4],[5164,4],[6022,4]]},"281":{"position":[[96,4]]},"287":{"position":[[325,4]]},"291":{"position":[[187,4]]},"301":{"position":[[1208,4]]},"302":{"position":[[1955,4]]},"306":{"position":[[115,4]]},"309":{"position":[[367,4],[436,4],[1171,4]]},"320":{"position":[[504,4]]},"330":{"position":[[758,4]]},"333":{"position":[[1183,4],[1256,4]]},"338":{"position":[[330,4]]},"358":{"position":[[4669,5],[5921,5],[6035,4],[6086,4],[6557,4],[6712,4]]},"361":{"position":[[212,4]]},"369":{"position":[[3474,4],[3547,4]]},"383":{"position":[[421,4]]},"392":{"position":[[382,4]]},"393":{"position":[[1046,4],[1457,4]]},"434":{"position":[[380,4]]},"440":{"position":[[397,4]]},"447":{"position":[[614,4]]},"455":{"position":[[248,4]]},"519":{"position":[[68,4]]},"540":{"position":[[282,4]]},"542":{"position":[[953,4]]},"546":{"position":[[585,4],[607,4],[1267,4],[1290,4]]},"560":{"position":[[156,4]]},"563":{"position":[[401,4]]},"565":{"position":[[78,4]]},"576":{"position":[[343,4]]},"579":{"position":[[62,4]]},"581":{"position":[[122,4]]},"587":{"position":[[191,4]]},"588":{"position":[[185,4]]},"589":{"position":[[196,4]]},"591":{"position":[[122,4]]},"637":{"position":[[473,4],[1903,4]]},"660":{"position":[[188,4]]},"673":{"position":[[1284,4]]},"699":{"position":[[139,4]]},"716":{"position":[[38,4]]},"724":{"position":[[165,4]]},"728":{"position":[[161,4]]},"794":{"position":[[86,4]]}},"keywords":{}}],["more.item2",{"_index":2250,"title":{},"content":{"214":{"position":[[761,12],[2020,12]]},"218":{"position":[[963,12],[1798,12]]}},"keywords":{}}],["more.item3",{"_index":2255,"title":{},"content":{"214":{"position":[[877,12],[2118,12]]},"218":{"position":[[1079,12],[1896,12]]}},"keywords":{}}],["more.item4",{"_index":2258,"title":{},"content":{"214":{"position":[[972,12],[2188,12]]},"218":{"position":[[1174,12],[1966,12]]}},"keywords":{}}],["more.item5",{"_index":2262,"title":{},"content":{"214":{"position":[[1050,12],[2261,12]]},"218":{"position":[[1252,12],[2039,12]]}},"keywords":{}}],["mount",{"_index":2011,"title":{},"content":{"127":{"position":[[314,5]]},"141":{"position":[[240,5],[292,6]]},"188":{"position":[[200,5],[252,6]]},"217":{"position":[[1138,5]]},"309":{"position":[[972,7]]},"310":{"position":[[627,5]]}},"keywords":{}}],["mous",{"_index":3168,"title":{},"content":{"349":{"position":[[3866,5]]},"473":{"position":[[628,5]]},"636":{"position":[[199,6]]}},"keywords":{}}],["mouseov",{"_index":639,"title":{},"content":{"33":{"position":[[625,9],[884,9]]}},"keywords":{}}],["move",{"_index":2843,"title":{},"content":{"309":{"position":[[855,6]]},"326":{"position":[[973,5]]},"361":{"position":[[6,6]]},"506":{"position":[[20,5],[84,6],[116,4]]},"524":{"position":[[19,5],[83,6],[114,4]]},"551":{"position":[[222,5],[285,6],[867,4],[1330,4]]},"559":{"position":[[247,6]]}},"keywords":{}}],["move(self",{"_index":4476,"title":{},"content":{"551":{"position":[[1301,10]]}},"keywords":{}}],["move(steps_to_mov",{"_index":4463,"title":{},"content":{"551":{"position":[[845,19]]}},"keywords":{}}],["mozilla/5.0",{"_index":1609,"title":{},"content":{"83":{"position":[[1115,11]]}},"keywords":{}}],["mqtt",{"_index":1822,"title":{"109":{"position":[[0,4]]},"110":{"position":[[0,4]]}},"content":{"100":{"position":[[360,5]]},"103":{"position":[[102,4]]},"109":{"position":[[5,4],[101,4],[289,4],[514,4],[547,4],[844,4],[902,4],[960,4],[1856,4],[2181,4],[2507,4],[2692,4]]},"110":{"position":[[5,4],[111,4],[309,4],[507,4],[540,4],[1178,4],[1236,4],[1294,4],[2238,4],[2423,4]]},"343":{"position":[[1162,5]]}},"keywords":{}}],["mqtt_int",{"_index":1889,"title":{},"content":{"109":{"position":[[1322,8],[1502,8]]},"110":{"position":[[1656,8],[1860,8]]}},"keywords":{}}],["mqtt_interface.rb",{"_index":1890,"title":{},"content":{"109":{"position":[[1331,17]]}},"keywords":{}}],["mqtt_password",{"_index":1896,"title":{},"content":{"109":{"position":[[1622,13],[1806,13]]},"110":{"position":[[2004,13],[2188,13]]}},"keywords":{}}],["mqtt_stream_interface.rb",{"_index":1903,"title":{},"content":{"110":{"position":[[1665,24]]}},"keywords":{}}],["ms",{"_index":3660,"title":{},"content":{"379":{"position":[[3229,2]]}},"keywords":{}}],["msrdc",{"_index":3540,"title":{},"content":{"369":{"position":[[4368,5]]}},"keywords":{}}],["much",{"_index":712,"title":{},"content":{"36":{"position":[[2972,4]]},"53":{"position":[[36,4]]},"54":{"position":[[197,4]]},"61":{"position":[[216,4]]},"229":{"position":[[2972,4]]},"260":{"position":[[238,4]]},"279":{"position":[[2181,4]]},"358":{"position":[[8007,4]]},"369":{"position":[[1978,4],[3469,4],[3542,4]]},"552":{"position":[[1076,4]]}},"keywords":{}}],["multi",{"_index":858,"title":{},"content":{"39":{"position":[[46,5]]},"259":{"position":[[62,5]]},"365":{"position":[[14,5]]}},"keywords":{}}],["multicast",{"_index":1861,"title":{},"content":{"106":{"position":[[495,9],[561,9]]}},"keywords":{}}],["multilin",{"_index":4748,"title":{},"content":{"634":{"position":[[26,9]]}},"keywords":{}}],["multipart",{"_index":2064,"title":{},"content":{"141":{"position":[[853,9]]},"188":{"position":[[563,9]]}},"keywords":{}}],["multipl",{"_index":752,"title":{"562":{"position":[[56,8]]}},"content":{"36":{"position":[[4458,8],[8455,8]]},"39":{"position":[[78,8]]},"126":{"position":[[377,8]]},"148":{"position":[[101,8]]},"150":{"position":[[192,8]]},"174":{"position":[[157,8],[203,8]]},"177":{"position":[[101,8]]},"186":{"position":[[177,8],[222,8]]},"191":{"position":[[101,8]]},"225":{"position":[[150,8]]},"229":{"position":[[4458,8],[8455,8]]},"235":{"position":[[265,8]]},"267":{"position":[[594,8]]},"271":{"position":[[176,8]]},"279":{"position":[[8813,8]]},"285":{"position":[[265,8]]},"297":{"position":[[459,8]]},"333":{"position":[[919,8]]},"352":{"position":[[530,8],[566,8],[619,8],[659,8]]},"354":{"position":[[572,8]]},"358":{"position":[[7235,8]]},"379":{"position":[[3942,8]]},"402":{"position":[[1077,8]]},"422":{"position":[[350,8]]},"429":{"position":[[287,8]]},"432":{"position":[[121,8]]},"519":{"position":[[113,8],[176,8]]},"534":{"position":[[661,8]]},"544":{"position":[[118,8]]},"547":{"position":[[77,8]]},"549":{"position":[[86,8]]},"551":{"position":[[437,8]]},"562":{"position":[[158,8]]},"564":{"position":[[215,8]]},"572":{"position":[[513,8]]},"581":{"position":[[333,8]]},"591":{"position":[[333,8]]},"630":{"position":[[215,8]]},"673":{"position":[[112,8],[1535,8],[1929,8]]},"770":{"position":[[232,8],[252,8]]}},"keywords":{}}],["multipli",{"_index":771,"title":{},"content":{"36":{"position":[[5628,11],[5709,10],[5943,12]]},"229":{"position":[[5628,11],[5709,10],[5943,12]]},"279":{"position":[[4108,11],[4189,11],[4423,12]]},"613":{"position":[[211,8]]}},"keywords":{}}],["multiplier.to_f",{"_index":772,"title":{},"content":{"36":{"position":[[5642,15]]},"229":{"position":[[5642,15]]},"279":{"position":[[4122,15]]}},"keywords":{}}],["mv",{"_index":2861,"title":{},"content":{"309":{"position":[[1820,2]]}},"keywords":{}}],["my.grpc.org",{"_index":1958,"title":{},"content":{"114":{"position":[[248,11]]}},"keywords":{}}],["my_awesome_featur",{"_index":3719,"title":{},"content":{"386":{"position":[[231,18],[473,18]]}},"keywords":{}}],["my_file"",{"_index":335,"title":{},"content":{"12":{"position":[[269,14]]}},"keywords":{}}],["my_method",{"_index":5715,"title":{},"content":{"795":{"position":[[1267,9],[1499,12],[2066,12]]}},"keywords":{}}],["my_method(self",{"_index":5720,"title":{},"content":{"795":{"position":[[1808,16]]}},"keywords":{}}],["mygroup",{"_index":4521,"title":{},"content":{"561":{"position":[[318,7]]}},"keywords":{}}],["mygroup(group",{"_index":4526,"title":{},"content":{"561":{"position":[[631,15]]}},"keywords":{}}],["mymodul",{"_index":4584,"title":{},"content":{"572":{"position":[[537,8],[612,8]]}},"keywords":{}}],["myprefix",{"_index":2082,"title":{},"content":{"147":{"position":[[211,9]]},"189":{"position":[[211,9]]}},"keywords":{}}],["mysecure.com",{"_index":1874,"title":{},"content":{"107":{"position":[[975,12]]}},"keywords":{}}],["myself",{"_index":816,"title":{},"content":{"36":{"position":[[8229,8]]},"229":{"position":[[8229,8]]},"279":{"position":[[6888,8]]}},"keywords":{}}],["myserver.com",{"_index":1872,"title":{},"content":{"107":{"position":[[860,12]]}},"keywords":{}}],["mysteri",{"_index":2943,"title":{},"content":{"319":{"position":[[537,10]]}},"keywords":{}}],["mysuit",{"_index":4310,"title":{},"content":{"534":{"position":[[137,7]]},"795":{"position":[[1364,7]]}},"keywords":{}}],["mysuite(suit",{"_index":4316,"title":{},"content":{"534":{"position":[[370,15]]},"795":{"position":[[1917,15]]}},"keywords":{}}],["mytest",{"_index":4586,"title":{},"content":{"572":{"position":[[578,6]]}},"keywords":{}}],["n",{"_index":4785,"title":{},"content":{"639":{"position":[[241,1]]}},"keywords":{}}],["n/a",{"_index":1929,"title":{},"content":{"112":{"position":[[511,3],[553,3],[610,3],[635,3],[705,3],[758,3],[802,3],[834,3],[866,3]]}},"keywords":{}}],["name",{"_index":162,"title":{},"content":{"5":{"position":[[598,4],[662,4]]},"7":{"position":[[390,4]]},"12":{"position":[[441,5]]},"13":{"position":[[359,4],[368,4]]},"14":{"position":[[257,4],[266,4]]},"15":{"position":[[403,4]]},"16":{"position":[[403,4]]},"20":{"position":[[461,4],[507,4],[518,5],[538,4],[584,4],[647,4],[678,4],[693,4],[1460,5]]},"24":{"position":[[64,5],[170,5]]},"31":{"position":[[184,5]]},"32":{"position":[[100,4],[105,4]]},"33":{"position":[[66,4],[99,4]]},"35":{"position":[[78,4]]},"36":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"37":{"position":[[78,4]]},"38":{"position":[[130,4]]},"42":{"position":[[2375,5]]},"43":{"position":[[985,4]]},"44":{"position":[[339,4],[773,4]]},"48":{"position":[[1402,4],[1507,4],[1548,4],[1594,4],[1697,4],[1824,6],[1995,4],[2036,4],[2480,4],[4424,5],[4488,4],[4774,5],[4985,6],[5251,4]]},"50":{"position":[[1149,5]]},"61":{"position":[[795,5]]},"65":{"position":[[149,4]]},"66":{"position":[[158,4],[170,4],[214,4],[226,4]]},"86":{"position":[[262,4]]},"91":{"position":[[994,5],[1043,5],[1510,4],[1576,4]]},"92":{"position":[[785,5],[833,5],[882,5],[939,4],[1009,4],[1077,4]]},"104":{"position":[[264,4]]},"106":{"position":[[132,4]]},"107":{"position":[[274,4]]},"109":{"position":[[488,4],[1652,5],[2120,4],[2165,6],[2253,4],[2444,4],[2489,6],[2579,4]]},"110":{"position":[[481,4],[676,4],[788,4],[2034,5],[2282,5]]},"111":{"position":[[248,4],[361,4]]},"112":{"position":[[192,4]]},"115":{"position":[[2022,6],[2222,4],[2501,6]]},"126":{"position":[[350,4],[434,6],[745,4],[754,4]]},"128":{"position":[[395,4],[400,4],[428,4],[551,4],[615,5]]},"130":{"position":[[15,4],[74,4],[86,4]]},"131":{"position":[[30,4],[108,4],[128,4]]},"132":{"position":[[30,4],[109,4],[131,4]]},"139":{"position":[[582,4]]},"141":{"position":[[335,4],[344,4],[505,4],[572,4],[685,4],[807,4],[812,4]]},"142":{"position":[[123,4]]},"146":{"position":[[161,4]]},"149":{"position":[[427,4]]},"150":{"position":[[60,4],[88,4],[104,5],[157,4]]},"175":{"position":[[23,4],[115,4],[131,5]]},"178":{"position":[[230,4],[245,4],[351,4],[369,4]]},"180":{"position":[[107,4]]},"183":{"position":[[324,4]]},"184":{"position":[[269,4]]},"186":{"position":[[298,4],[303,4]]},"187":{"position":[[145,4]]},"188":{"position":[[295,4],[304,4],[465,4],[517,4],[522,4]]},"192":{"position":[[303,4],[318,4],[392,4],[397,4]]},"197":{"position":[[44,4],[116,4],[154,5]]},"198":{"position":[[148,4]]},"203":{"position":[[133,4],[142,4]]},"216":{"position":[[512,4]]},"217":{"position":[[1813,4],[2633,4]]},"225":{"position":[[432,5],[514,5]]},"226":{"position":[[68,4],[132,4]]},"228":{"position":[[95,4]]},"229":{"position":[[348,4],[358,4],[868,4],[873,4],[966,4],[1696,4],[1705,4],[3077,4],[5113,5]]},"230":{"position":[[95,4]]},"231":{"position":[[318,4]]},"232":{"position":[[318,4]]},"233":{"position":[[112,4]]},"234":{"position":[[112,4]]},"235":{"position":[[322,4]]},"236":{"position":[[423,4]]},"240":{"position":[[257,4],[262,4],[355,4]]},"242":{"position":[[265,4],[274,4]]},"245":{"position":[[121,4],[133,4],[179,4],[191,4]]},"246":{"position":[[127,4],[139,4],[191,4],[203,4]]},"247":{"position":[[105,4],[117,4],[160,4],[172,4],[213,4],[223,4]]},"248":{"position":[[107,4],[119,4],[164,4],[176,4]]},"251":{"position":[[292,5],[889,4],[928,4],[942,5],[1657,4],[1696,4],[1710,5]]},"252":{"position":[[318,4],[323,4],[387,4],[392,4]]},"258":{"position":[[770,4],[1598,4]]},"271":{"position":[[463,5],[545,5]]},"276":{"position":[[70,4],[143,4]]},"278":{"position":[[94,4]]},"279":{"position":[[343,4],[353,4],[863,4],[868,4],[961,4],[1691,4],[1700,4],[2376,4],[3594,5],[8476,4],[10527,4]]},"280":{"position":[[94,4]]},"281":{"position":[[264,4]]},"282":{"position":[[94,4]]},"283":{"position":[[111,4]]},"284":{"position":[[111,4]]},"285":{"position":[[317,4]]},"286":{"position":[[391,4]]},"287":{"position":[[266,4],[271,4],[364,4]]},"288":{"position":[[119,4],[128,4],[180,4]]},"291":{"position":[[265,4],[274,4]]},"296":{"position":[[314,4],[319,4],[391,4],[396,4]]},"297":{"position":[[753,4],[758,4]]},"298":{"position":[[181,5],[244,4],[249,4],[280,4],[285,4],[314,4],[319,4]]},"301":{"position":[[92,4],[372,4],[798,4]]},"302":{"position":[[142,5],[415,4],[501,4],[567,4]]},"303":{"position":[[154,5],[465,4],[593,4],[659,4]]},"304":{"position":[[155,4],[175,5],[622,4],[980,4]]},"305":{"position":[[165,4],[190,5],[661,4],[1197,4]]},"306":{"position":[[232,5],[651,4]]},"307":{"position":[[141,5],[539,5],[755,4],[1030,5],[1049,4]]},"314":{"position":[[45,5],[454,4],[508,4]]},"319":{"position":[[522,5]]},"320":{"position":[[1013,4],[1150,4]]},"326":{"position":[[613,5]]},"332":{"position":[[1427,5]]},"338":{"position":[[731,4]]},"342":{"position":[[1244,4]]},"348":{"position":[[197,4],[214,5],[464,4],[480,5],[522,4],[538,4]]},"350":{"position":[[257,4],[273,5],[324,4],[340,4]]},"358":{"position":[[2499,5],[2809,4],[3204,5],[4811,4],[7112,4],[7197,4],[7345,4]]},"359":{"position":[[147,5],[1407,4],[1961,5],[2308,4],[2665,5]]},"365":{"position":[[246,5]]},"369":{"position":[[1074,4],[2565,4]]},"371":{"position":[[224,6]]},"377":{"position":[[184,4]]},"378":{"position":[[158,4],[179,4],[1275,4],[1302,4],[1337,4],[1364,4],[1594,4],[1688,5]]},"379":{"position":[[355,4],[2805,4],[3836,5]]},"380":{"position":[[434,4],[1352,4]]},"383":{"position":[[1258,5],[1510,5]]},"393":{"position":[[901,5]]},"402":{"position":[[1687,4],[2814,4],[3144,6],[3823,4],[4062,6]]},"407":{"position":[[322,4],[526,4]]},"415":{"position":[[155,4]]},"426":{"position":[[590,5]]},"440":{"position":[[115,5]]},"450":{"position":[[99,5]]},"461":{"position":[[347,5],[483,4],[510,4],[654,5]]},"472":{"position":[[749,5],[1178,5],[1314,4],[1341,4],[1485,5]]},"473":{"position":[[510,5],[593,4],[680,4]]},"478":{"position":[[409,5],[545,4],[572,4],[716,5]]},"479":{"position":[[124,4]]},"498":{"position":[[105,4],[362,4]]},"499":{"position":[[107,4],[381,4]]},"502":{"position":[[346,5],[482,4],[509,4],[653,5]]},"504":{"position":[[373,5],[408,4]]},"521":{"position":[[365,5],[501,4],[528,4],[672,5]]},"528":{"position":[[790,4]]},"540":{"position":[[1398,5],[1415,5],[1522,5],[2099,4],[3014,4],[4461,4],[4479,4],[4969,5]]},"544":{"position":[[413,4]]},"546":{"position":[[250,6],[539,6]]},"550":{"position":[[185,4],[259,6],[283,5]]},"551":{"position":[[619,5],[642,4]]},"554":{"position":[[524,4]]},"562":{"position":[[58,4],[198,4]]},"564":{"position":[[187,4]]},"572":{"position":[[120,5]]},"574":{"position":[[1,4]]},"577":{"position":[[126,4]]},"580":{"position":[[103,4],[112,4],[222,4]]},"581":{"position":[[541,4],[550,4],[707,4]]},"587":{"position":[[99,4],[124,4]]},"588":{"position":[[93,4],[118,4]]},"589":{"position":[[104,4],[129,4]]},"591":{"position":[[666,4]]},"592":{"position":[[1,4],[135,4],[392,4],[408,4],[455,5]]},"609":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"610":{"position":[[99,4],[115,4],[132,4],[148,4],[163,4],[177,4]]},"611":{"position":[[432,4],[448,4],[465,4],[481,4],[496,4],[510,4]]},"612":{"position":[[74,4],[90,4],[107,4],[123,4],[138,4],[152,4]]},"613":{"position":[[32,4],[101,4],[117,4],[134,4],[150,4],[165,4],[179,4]]},"614":{"position":[[32,4],[95,4],[111,4],[128,4],[144,4],[159,4],[173,4]]},"615":{"position":[[103,4],[119,4],[136,4],[152,4],[167,4],[181,4]]},"616":{"position":[[32,4],[115,4],[131,4],[148,4],[164,4],[179,4],[193,4]]},"617":{"position":[[32,4],[118,4],[134,4],[151,4],[167,4],[182,4],[196,4]]},"618":{"position":[[32,4],[114,4],[130,4],[147,4],[163,4],[178,4],[192,4]]},"619":{"position":[[382,4],[398,4],[415,4],[431,4],[446,4],[460,4]]},"620":{"position":[[111,4],[127,4],[144,4],[160,4],[175,4],[189,4]]},"621":{"position":[[109,4],[125,4],[142,4],[158,4],[173,4],[187,4]]},"622":{"position":[[95,4],[111,4],[128,4],[144,4],[159,4],[173,4],[368,4],[392,4]]},"623":{"position":[[84,4],[100,4],[117,4],[133,4],[148,4],[162,4]]},"624":{"position":[[87,4],[103,4],[120,4],[136,4],[151,4],[165,4]]},"625":{"position":[[83,4],[99,4],[116,4],[132,4],[147,4],[161,4]]},"626":{"position":[[81,4],[97,4],[114,4],[130,4],[145,4],[159,4],[808,4],[824,4],[841,4],[857,4],[872,4],[886,4]]},"627":{"position":[[115,4],[131,4],[148,4],[164,4],[179,4],[193,4],[861,4],[877,4],[894,4],[910,4],[925,4],[939,4]]},"628":{"position":[[32,4],[99,4],[115,4],[132,4],[148,4],[163,4],[177,4],[833,4],[849,4],[866,4],[882,4],[897,4],[911,4]]},"629":{"position":[[80,4],[96,4],[113,4],[129,4],[144,4],[158,4]]},"630":{"position":[[105,4],[121,4],[138,4],[154,4],[169,4],[183,4]]},"631":{"position":[[93,4],[109,4],[126,4],[142,4],[157,4],[171,4]]},"632":{"position":[[131,4]]},"633":{"position":[[127,4],[143,4],[160,4],[176,4],[191,4],[205,4]]},"634":{"position":[[79,4],[95,4],[112,4],[128,4],[143,4],[157,4]]},"635":{"position":[[323,4],[339,4],[356,4],[372,4],[387,4],[401,4]]},"637":{"position":[[242,5],[1363,4]]},"648":{"position":[[117,4],[133,4],[150,4],[166,4],[181,4],[195,4]]},"649":{"position":[[79,4],[778,4],[783,4],[814,4],[819,4]]},"650":{"position":[[309,4],[325,4],[342,4],[358,4],[373,4],[387,4],[1691,4],[1696,4],[1727,4],[1732,4]]},"652":{"position":[[181,4],[197,4],[214,4],[230,4],[245,4],[259,4]]},"669":{"position":[[327,5]]},"670":{"position":[[248,5]]},"671":{"position":[[224,5]]},"673":{"position":[[1065,5]]},"677":{"position":[[777,4],[782,4],[842,4],[847,4],[912,4],[917,4],[1142,5],[1228,5]]},"678":{"position":[[999,4],[1004,4],[1064,4],[1069,4],[1134,4],[1139,4],[1364,5],[1450,5]]},"679":{"position":[[1020,4],[1025,4],[1085,4],[1090,4],[1155,4],[1160,4],[1385,5],[1471,5]]},"680":{"position":[[1053,4],[1058,4],[1118,4],[1123,4],[1188,4],[1193,4],[1418,5],[1504,5]]},"681":{"position":[[853,4],[858,4],[918,4],[923,4],[988,4],[993,4],[1218,5],[1304,5]]},"682":{"position":[[1070,4],[1075,4],[1135,4],[1140,4],[1205,4],[1210,4],[1435,5],[1521,5]]},"683":{"position":[[1091,4],[1096,4],[1156,4],[1161,4],[1226,4],[1231,4],[1456,5],[1542,5]]},"684":{"position":[[1124,4],[1129,4],[1189,4],[1194,4],[1259,4],[1264,4],[1489,5],[1575,5]]},"686":{"position":[[137,4],[142,4]]},"687":{"position":[[260,4],[265,4],[978,9]]},"688":{"position":[[33,5],[169,4],[174,4]]},"689":{"position":[[255,4],[260,4],[287,4],[292,4],[1020,9]]},"690":{"position":[[301,4],[306,4],[334,4],[339,4],[370,4],[375,4],[1212,8]]},"691":{"position":[[336,4],[341,4],[368,4],[373,4]]},"692":{"position":[[259,4],[264,4],[292,4],[297,4]]},"693":{"position":[[428,4],[433,4],[461,4],[466,4],[497,4],[502,4]]},"694":{"position":[[105,4],[150,4],[207,4],[212,4],[319,4],[324,4],[506,4],[633,4],[786,4]]},"695":{"position":[[263,4],[268,4],[296,4],[301,4]]},"697":{"position":[[487,4],[492,4],[541,4],[546,4],[603,4],[608,4]]},"698":{"position":[[429,4],[434,4],[483,4],[488,4],[545,4],[550,4]]},"700":{"position":[[274,4]]},"701":{"position":[[277,4],[282,4],[331,4],[336,4],[393,4],[398,4],[431,5]]},"702":{"position":[[319,4],[324,4],[351,4],[356,4]]},"703":{"position":[[13,6],[433,4],[438,4],[465,4],[470,4],[495,5]]},"705":{"position":[[146,4],[151,4]]},"706":{"position":[[39,6],[151,4],[156,4]]},"707":{"position":[[213,4],[218,4],[245,4],[250,4]]},"708":{"position":[[263,4],[268,4],[295,4],[300,4],[325,4],[330,4]]},"709":{"position":[[274,4],[279,4],[306,4],[311,4]]},"710":{"position":[[520,4],[539,4],[554,4]]},"711":{"position":[[246,4],[265,4]]},"712":{"position":[[387,4],[406,4],[421,4]]},"713":{"position":[[223,4],[242,4],[257,4]]},"716":{"position":[[257,4]]},"718":{"position":[[230,4],[249,4]]},"719":{"position":[[250,4],[269,4]]},"720":{"position":[[264,4],[283,4]]},"722":{"position":[[853,4],[858,4],[907,4],[912,4],[969,4],[974,4],[1287,5],[1408,5]]},"723":{"position":[[585,4],[590,4],[639,4],[644,4],[701,4],[706,4],[1054,5],[1175,5]]},"724":{"position":[[841,5]]},"725":{"position":[[517,4],[540,4],[722,5]]},"726":{"position":[[468,4],[473,4],[522,4],[527,4],[584,4],[589,4],[899,5]]},"727":{"position":[[484,4],[489,4],[538,4],[543,4],[600,4],[605,4],[950,5]]},"729":{"position":[[403,4],[426,4],[694,5]]},"731":{"position":[[345,4],[350,4],[399,4],[404,4],[461,4],[466,4]]},"732":{"position":[[200,4],[205,4],[254,4],[259,4],[316,4],[321,4]]},"733":{"position":[[202,4],[207,4],[256,4],[261,4],[318,4],[323,4]]},"734":{"position":[[203,4],[208,4]]},"735":{"position":[[205,4],[210,4]]},"737":{"position":[[175,4],[180,4]]},"738":{"position":[[13,4]]},"740":{"position":[[197,4],[202,4],[250,4],[255,4],[311,4],[316,4]]},"741":{"position":[[567,4],[572,4],[621,4],[626,4],[683,4],[688,4]]},"744":{"position":[[279,5]]},"747":{"position":[[161,4],[166,4]]},"748":{"position":[[120,5],[160,6]]},"750":{"position":[[217,4],[222,4]]},"752":{"position":[[209,4],[214,4]]},"753":{"position":[[176,4],[181,4]]},"754":{"position":[[163,4],[223,4],[228,4]]},"755":{"position":[[161,4],[221,4],[226,4]]},"756":{"position":[[125,5]]},"757":{"position":[[282,4],[287,4],[316,4],[321,4],[352,5],[447,5],[544,5]]},"758":{"position":[[341,4],[346,4],[376,4],[381,4]]},"759":{"position":[[357,4],[362,4],[392,4],[397,4]]},"761":{"position":[[167,4],[172,4]]},"762":{"position":[[135,4],[140,4]]},"764":{"position":[[201,4],[206,4]]},"765":{"position":[[119,5]]},"766":{"position":[[154,4],[211,4],[216,4]]},"767":{"position":[[152,4],[209,4],[214,4]]},"768":{"position":[[322,4],[327,4],[354,4],[359,4]]},"769":{"position":[[364,4],[369,4],[396,4],[401,4]]},"771":{"position":[[139,4]]},"772":{"position":[[133,4]]},"775":{"position":[[156,4]]},"777":{"position":[[275,4]]},"778":{"position":[[499,4],[618,4]]},"780":{"position":[[250,4],[279,4],[291,4],[303,4]]},"781":{"position":[[167,4],[196,4],[208,4],[220,4]]},"783":{"position":[[180,4],[209,4],[221,4],[233,4]]},"785":{"position":[[220,4],[249,4],[261,4],[273,4]]},"786":{"position":[[315,4],[344,4],[356,4],[368,4]]},"787":{"position":[[412,4],[424,4]]},"795":{"position":[[457,5],[705,4],[824,4],[898,4],[982,4]]},"802":{"position":[[115,5]]},"803":{"position":[[203,5],[275,5]]},"804":{"position":[[207,5],[292,5]]},"807":{"position":[[39,5],[59,5]]},"808":{"position":[[917,8],[1011,8],[1121,8],[1230,8]]},"809":{"position":[[268,4],[273,4]]},"810":{"position":[[267,4],[272,4]]},"812":{"position":[[33,5],[121,5],[152,5],[250,5]]},"813":{"position":[[34,5],[61,5],[151,4],[156,4],[199,5]]},"814":{"position":[[326,4],[331,4],[362,4],[367,4]]},"815":{"position":[[162,4],[167,4],[198,4],[203,4]]},"816":{"position":[[166,4],[171,4],[202,4],[207,4]]}},"keywords":{}}],["name>",{"_index":1899,"title":{},"content":{"109":{"position":[[1902,9]]},"677":{"position":[[64,8],[85,8],[112,8],[158,8],[429,8],[450,8],[477,8],[523,8]]},"678":{"position":[[241,8],[262,8],[289,8],[335,8],[636,8],[657,8],[684,8],[730,8]]},"679":{"position":[[250,8],[271,8],[298,8],[344,8],[653,8],[674,8],[701,8],[747,8]]},"680":{"position":[[310,8],[331,8],[358,8],[404,8],[695,8],[716,8],[743,8],[789,8]]},"681":{"position":[[96,8],[117,8],[144,8],[190,8],[485,8],[506,8],[533,8],[579,8]]},"682":{"position":[[268,8],[289,8],[316,8],[362,8],[687,8],[708,8],[735,8],[781,8]]},"683":{"position":[[277,8],[298,8],[325,8],[371,8],[704,8],[725,8],[752,8],[798,8]]},"684":{"position":[[337,8],[358,8],[385,8],[431,8],[746,8],[767,8],[794,8],[840,8]]},"686":{"position":[[80,9]]},"689":{"position":[[115,8]]},"690":{"position":[[98,8],[119,8]]},"691":{"position":[[160,8]]},"695":{"position":[[117,8]]},"697":{"position":[[373,8],[393,8],[411,8]]},"698":{"position":[[302,8],[322,8]]},"701":{"position":[[92,8],[112,8]]},"702":{"position":[[143,8]]},"703":{"position":[[258,8]]},"707":{"position":[[73,8]]},"708":{"position":[[73,8],[93,8]]},"709":{"position":[[130,8]]},"722":{"position":[[687,8],[707,8],[725,8]]},"723":{"position":[[395,8],[415,8]]},"726":{"position":[[309,8],[329,8],[347,8]]},"727":{"position":[[301,8],[321,8]]},"731":{"position":[[157,8],[177,8],[261,8],[281,8]]},"732":{"position":[[116,8],[136,8]]},"733":{"position":[[118,8],[138,8]]},"740":{"position":[[117,9],[138,9],[157,9]]},"741":{"position":[[259,9],[280,9],[299,9]]},"809":{"position":[[163,9]]},"810":{"position":[[203,9]]},"813":{"position":[[113,9]]},"814":{"position":[[260,9],[288,9]]},"815":{"position":[[84,9],[112,9]]},"816":{"position":[[88,9],[116,9]]}},"keywords":{}}],["name>"",{"_index":5045,"title":{},"content":{"677":{"position":[[223,15],[257,15],[588,15],[622,15]]},"678":{"position":[[415,15],[449,15],[810,15],[844,15]]},"679":{"position":[[428,15],[462,15],[831,15],[865,15]]},"680":{"position":[[479,15],[513,15],[864,15],[898,15]]},"681":{"position":[[259,15],[293,15],[328,14],[392,14],[648,15],[682,15],[718,15],[777,15]]},"682":{"position":[[446,15],[480,15],[515,14],[579,14],[865,15],[899,15],[935,15],[994,15]]},"683":{"position":[[459,15],[493,15],[528,14],[592,14],[886,15],[920,15],[956,15],[1015,15]]},"684":{"position":[[510,15],[544,15],[579,14],[643,14],[919,15],[953,15],[989,15],[1048,15]]},"687":{"position":[[214,15]]},"688":{"position":[[123,15]]},"689":{"position":[[135,15],[176,15],[209,15]]},"690":{"position":[[142,15],[185,15],[219,15],[255,15]]},"691":{"position":[[247,15]]},"692":{"position":[[144,15],[178,15]]},"693":{"position":[[281,15],[315,15],[351,15]]},"695":{"position":[[138,15],[183,15],[217,15]]},"698":{"position":[[340,15]]},"700":{"position":[[182,15]]},"701":{"position":[[130,15],[167,15],[200,15],[231,15]]},"702":{"position":[[230,15]]},"703":{"position":[[278,15],[340,15],[373,15]]},"705":{"position":[[100,15]]},"706":{"position":[[105,15]]},"707":{"position":[[93,15],[134,15],[167,15]]},"708":{"position":[[111,15],[153,15],[186,15],[217,15]]},"709":{"position":[[150,15],[195,15],[228,15]]},"723":{"position":[[433,15]]},"727":{"position":[[339,15]]},"731":{"position":[[195,15],[299,15]]},"732":{"position":[[154,15]]},"733":{"position":[[156,15]]},"734":{"position":[[151,15]]},"735":{"position":[[153,15]]},"737":{"position":[[125,15]]},"747":{"position":[[115,15]]},"750":{"position":[[168,15]]},"752":{"position":[[119,15]]},"753":{"position":[[127,15]]},"757":{"position":[[169,15],[205,15]]},"758":{"position":[[218,15],[252,15]]},"759":{"position":[[234,15],[268,15]]},"761":{"position":[[83,15]]},"762":{"position":[[89,15]]},"764":{"position":[[155,15]]},"768":{"position":[[202,15],[236,15]]},"769":{"position":[[225,15],[259,15]]},"780":{"position":[[109,15],[142,15]]},"781":{"position":[[88,15],[121,15]]},"783":{"position":[[101,15],[134,15]]},"785":{"position":[[141,15],[174,15]]},"786":{"position":[[205,15],[238,14]]},"787":{"position":[[273,14]]}},"keywords":{}}],["name>")['buff",{"_index":5165,"title":{},"content":{"691":{"position":[[180,25],[280,25]]},"702":{"position":[[163,25],[263,25]]}},"keywords":{}}],["name>__<item",{"_index":3891,"title":{},"content":{"402":{"position":[[2927,18]]}},"keywords":{}}],["name>__<packet",{"_index":3890,"title":{},"content":{"402":{"position":[[2906,20],[3915,20]]}},"keywords":{}}],["name>__<valu",{"_index":3892,"title":{},"content":{"402":{"position":[[2946,19],[3936,19]]}},"keywords":{}}],["name"",{"_index":5048,"title":{},"content":{"677":{"position":[[288,10],[344,10],[654,11],[705,11]]},"678":{"position":[[480,10],[536,10],[876,11],[927,11]]},"679":{"position":[[493,10],[549,10],[897,11],[948,11]]},"680":{"position":[[544,10],[600,10],[930,11],[981,11]]}},"keywords":{}}],["name.keyout",{"_index":464,"title":{},"content":{"20":{"position":[[1329,11]]}},"keywords":{}}],["name/packet",{"_index":1101,"title":{},"content":{"48":{"position":[[2468,11]]},"716":{"position":[[245,11]]}},"keywords":{}}],["name/valu",{"_index":5303,"title":{},"content":{"711":{"position":[[293,10]]}},"keywords":{}}],["name1>",{"_index":5779,"title":{},"content":{"809":{"position":[[198,10]]}},"keywords":{}}],["name2>",{"_index":5781,"title":{},"content":{"809":{"position":[[221,10]]}},"keywords":{}}],["named_widget",{"_index":4632,"title":{"592":{"position":[[0,13]]}},"content":{"592":{"position":[[652,12]]},"637":{"position":[[1962,12],[2016,12]]},"638":{"position":[[103,13],[220,12]]},"639":{"position":[[122,13],[483,12]]},"640":{"position":[[105,13],[352,12]]},"642":{"position":[[115,13],[318,12]]},"643":{"position":[[244,12]]},"644":{"position":[[105,13],[352,12]]},"654":{"position":[[332,12],[427,12],[736,12],[854,12]]}},"keywords":{}}],["names/valu",{"_index":1730,"title":{},"content":{"91":{"position":[[1097,13]]}},"keywords":{}}],["names_values_and_limits_st",{"_index":5248,"title":{},"content":{"703":{"position":[[629,30],[746,30]]}},"keywords":{}}],["namespac",{"_index":3038,"title":{},"content":{"331":{"position":[[508,9],[548,9]]},"572":{"position":[[36,11],[60,11],[180,11]]}},"keywords":{}}],["nan",{"_index":1700,"title":{},"content":{"86":{"position":[[196,4]]}},"keywords":{}}],["nanosecond",{"_index":1106,"title":{},"content":{"48":{"position":[[2788,11],[3222,11]]},"402":{"position":[[4314,11],[5513,10],[5991,10]]}},"keywords":{}}],["narrow",{"_index":2652,"title":{},"content":{"279":{"position":[[9667,8],[10054,8]]}},"keywords":{}}],["nasa",{"_index":3553,"title":{"370":{"position":[[11,4]]}},"content":{"373":{"position":[[63,4]]},"374":{"position":[[8,4]]}},"keywords":{}}],["nativ",{"_index":31,"title":{},"content":{"2":{"position":[[23,7]]},"62":{"position":[[286,6]]},"214":{"position":[[180,8]]},"263":{"position":[[38,6]]},"268":{"position":[[239,6]]},"275":{"position":[[1223,6]]},"343":{"position":[[114,7]]},"592":{"position":[[332,6]]}},"keywords":{}}],["nav",{"_index":2181,"title":{},"content":{"200":{"position":[[44,3]]}},"keywords":{}}],["navig",{"_index":2158,"title":{},"content":{"192":{"position":[[446,10]]},"196":{"position":[[30,9]]},"197":{"position":[[63,10]]},"198":{"position":[[91,10]]},"199":{"position":[[63,10]]},"210":{"position":[[1,8]]},"211":{"position":[[1,8]]},"380":{"position":[[180,8]]},"413":{"position":[[79,10],[197,10]]},"416":{"position":[[233,10]]}},"keywords":{}}],["near",{"_index":1815,"title":{"98":{"position":[[0,4]]}},"content":{"98":{"position":[[5,4]]},"401":{"position":[[58,4]]}},"keywords":{}}],["nearbi",{"_index":3147,"title":{},"content":{"349":{"position":[[520,6]]}},"keywords":{}}],["necessari",{"_index":106,"title":{},"content":{"3":{"position":[[371,9]]},"53":{"position":[[338,10]]},"54":{"position":[[67,9],[229,9]]},"67":{"position":[[299,9],[4189,9]]},"69":{"position":[[773,9]]},"101":{"position":[[115,10]]},"110":{"position":[[2344,9]]},"115":{"position":[[940,9]]},"117":{"position":[[40,9]]},"128":{"position":[[203,9]]},"183":{"position":[[245,9]]},"303":{"position":[[532,9]]},"307":{"position":[[994,9]]},"321":{"position":[[1647,10]]},"358":{"position":[[275,9],[778,10]]},"386":{"position":[[369,10]]},"424":{"position":[[903,9],[995,10],[1295,9]]},"430":{"position":[[40,9],[258,9]]},"431":{"position":[[435,10]]},"432":{"position":[[1179,9]]},"450":{"position":[[328,10]]},"554":{"position":[[680,10]]},"678":{"position":[[116,9]]},"679":{"position":[[129,9]]},"680":{"position":[[155,9]]},"682":{"position":[[139,9]]},"683":{"position":[[152,9]]},"684":{"position":[[178,9]]},"777":{"position":[[132,10]]}},"keywords":{}}],["necessarili",{"_index":1691,"title":{},"content":{"85":{"position":[[125,12]]},"382":{"position":[[503,11]]},"386":{"position":[[278,11]]}},"keywords":{}}],["need",{"_index":676,"title":{},"content":{"36":{"position":[[787,6]]},"39":{"position":[[96,4]]},"42":{"position":[[318,4],[418,4]]},"44":{"position":[[1540,4]]},"48":{"position":[[3061,7],[3482,7]]},"54":{"position":[[816,6]]},"55":{"position":[[1976,4]]},"62":{"position":[[262,6]]},"73":{"position":[[422,5]]},"81":{"position":[[70,4]]},"82":{"position":[[234,4],[353,4]]},"93":{"position":[[418,4]]},"117":{"position":[[270,6]]},"127":{"position":[[37,5]]},"141":{"position":[[32,6]]},"144":{"position":[[60,5]]},"182":{"position":[[61,5]]},"183":{"position":[[272,6]]},"188":{"position":[[32,6]]},"229":{"position":[[787,6]]},"240":{"position":[[176,6]]},"258":{"position":[[470,5]]},"268":{"position":[[424,4]]},"279":{"position":[[782,6]]},"287":{"position":[[185,6]]},"302":{"position":[[1165,4],[1283,4]]},"305":{"position":[[1074,4]]},"309":{"position":[[3811,4]]},"314":{"position":[[1059,4]]},"330":{"position":[[294,4]]},"331":{"position":[[216,4],[846,5]]},"332":{"position":[[217,6],[1394,4]]},"358":{"position":[[946,4],[1160,6],[6358,4]]},"359":{"position":[[8,4],[456,4]]},"361":{"position":[[51,6]]},"369":{"position":[[4061,5]]},"379":{"position":[[1020,6]]},"382":{"position":[[551,4]]},"383":{"position":[[295,4]]},"385":{"position":[[48,4]]},"387":{"position":[[908,7],[1062,4],[1250,4],[1415,6],[1620,7]]},"391":{"position":[[259,6]]},"393":{"position":[[340,4]]},"401":{"position":[[368,4]]},"404":{"position":[[200,5]]},"420":{"position":[[329,7]]},"421":{"position":[[354,4]]},"540":{"position":[[1171,4]]},"542":{"position":[[939,4]]},"551":{"position":[[249,4],[387,4],[511,4]]},"552":{"position":[[243,5]]},"560":{"position":[[353,4]]},"563":{"position":[[215,4]]},"568":{"position":[[237,5]]},"569":{"position":[[656,6],[850,5]]},"571":{"position":[[122,4],[180,4]]},"592":{"position":[[127,4]]},"629":{"position":[[243,6]]},"637":{"position":[[586,4]]},"663":{"position":[[55,6]]},"778":{"position":[[586,4]]}},"keywords":{}}],["needs_depend",{"_index":2005,"title":{"127":{"position":[[0,19]]}},"content":{"127":{"position":[[188,18],[275,18]]}},"keywords":{}}],["neg",{"_index":645,"title":{},"content":{"35":{"position":[[230,8],[391,8]]},"37":{"position":[[184,8]]},"65":{"position":[[502,8]]},"228":{"position":[[258,8],[420,8]]},"230":{"position":[[203,8]]},"231":{"position":[[481,8],[590,8]]},"232":{"position":[[426,8]]},"233":{"position":[[275,8],[595,8]]},"234":{"position":[[378,8]]},"278":{"position":[[257,8],[418,8]]},"280":{"position":[[210,8]]},"281":{"position":[[427,8],[541,8]]},"282":{"position":[[210,8]]},"283":{"position":[[274,8],[588,8]]},"284":{"position":[[380,8]]},"330":{"position":[[682,8]]}},"keywords":{}}],["nem",{"_index":1565,"title":{},"content":{"82":{"position":[[4349,3]]}},"keywords":{}}],["nest",{"_index":4175,"title":{},"content":{"473":{"position":[[719,6]]},"716":{"position":[[222,6]]}},"keywords":{}}],["net=openc3",{"_index":3595,"title":{},"content":{"377":{"position":[[156,10]]}},"keywords":{}}],["netavark",{"_index":2856,"title":{},"content":{"309":{"position":[[1691,8],[2195,8]]}},"keywords":{}}],["network",{"_index":1016,"title":{},"content":{"43":{"position":[[426,8]]},"44":{"position":[[565,7]]},"83":{"position":[[259,7],[573,7]]},"96":{"position":[[562,8]]},"112":{"position":[[48,7]]},"113":{"position":[[49,7]]},"258":{"position":[[698,9],[1868,7]]},"333":{"position":[[1371,7]]},"377":{"position":[[37,7],[53,7],[174,7]]},"380":{"position":[[412,7],[423,7],[479,7],[507,7],[537,7]]},"389":{"position":[[551,8],[593,8]]}},"keywords":{}}],["network"",{"_index":3674,"title":{},"content":{"380":{"position":[[587,14]]}},"keywords":{}}],["network=openc3",{"_index":1044,"title":{},"content":{"44":{"position":[[543,14]]}},"keywords":{}}],["network_backend",{"_index":2880,"title":{},"content":{"309":{"position":[[2330,15]]}},"keywords":{}}],["never",{"_index":2868,"title":{},"content":{"309":{"position":[[2018,5],[2078,5]]},"358":{"position":[[7888,5]]},"359":{"position":[[897,5]]},"387":{"position":[[916,5]]},"432":{"position":[[21,5]]}},"keywords":{}}],["new",{"_index":404,"title":{"504":{"position":[[0,3]]},"576":{"position":[[0,3]]}},"content":{"20":{"position":[[208,3],[889,3]]},"21":{"position":[[9,3]]},"22":{"position":[[30,3]]},"23":{"position":[[428,3]]},"27":{"position":[[507,3]]},"33":{"position":[[9,3]]},"36":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"43":{"position":[[1290,3]]},"62":{"position":[[278,3]]},"67":{"position":[[129,3],[2032,3],[2243,3]]},"100":{"position":[[790,3]]},"115":{"position":[[2369,3]]},"117":{"position":[[376,3],[472,3]]},"150":{"position":[[11,3]]},"178":{"position":[[11,3]]},"196":{"position":[[235,3],[259,3],[359,3]]},"226":{"position":[[11,3]]},"229":{"position":[[595,3],[2374,3],[2508,3],[2642,3]]},"236":{"position":[[213,3],[367,3]]},"276":{"position":[[11,3]]},"279":{"position":[[590,3]]},"286":{"position":[[199,3],[345,3]]},"301":{"position":[[52,3],[115,3]]},"302":{"position":[[52,3],[2522,3]]},"303":{"position":[[58,3],[1185,3]]},"304":{"position":[[56,3]]},"305":{"position":[[61,3]]},"306":{"position":[[56,3],[895,3]]},"307":{"position":[[50,3],[356,3],[861,3],[1716,3]]},"326":{"position":[[1066,3],[1145,3],[1259,3]]},"332":{"position":[[1409,3]]},"338":{"position":[[494,3]]},"340":{"position":[[277,3]]},"349":{"position":[[1509,4]]},"355":{"position":[[169,3],[213,3]]},"358":{"position":[[1553,3],[7320,3],[7545,3]]},"359":{"position":[[1769,3],[2515,3],[2654,3]]},"364":{"position":[[225,3]]},"378":{"position":[[138,3]]},"382":{"position":[[168,3],[411,3]]},"383":{"position":[[15,3],[779,3],[1198,3],[1445,3],[1628,3],[1925,3]]},"402":{"position":[[675,3]]},"406":{"position":[[142,3]]},"407":{"position":[[38,3],[601,3]]},"426":{"position":[[1280,3]]},"452":{"position":[[353,3]]},"455":{"position":[[35,3]]},"461":{"position":[[523,3]]},"462":{"position":[[51,3]]},"467":{"position":[[666,3]]},"472":{"position":[[893,3],[1354,3]]},"478":{"position":[[585,3]]},"491":{"position":[[142,3]]},"495":{"position":[[12,3]]},"497":{"position":[[482,3]]},"502":{"position":[[522,3]]},"504":{"position":[[10,3],[35,3]]},"514":{"position":[[355,3]]},"515":{"position":[[384,3]]},"517":{"position":[[147,4],[195,4]]},"521":{"position":[[541,3]]},"522":{"position":[[9,3]]},"523":{"position":[[416,3]]},"528":{"position":[[43,3]]},"532":{"position":[[169,3],[198,3]]},"576":{"position":[[238,3]]},"673":{"position":[[393,3]]},"710":{"position":[[102,3]]},"712":{"position":[[124,3]]},"805":{"position":[[60,3],[66,3]]}},"keywords":{}}],["newer",{"_index":1063,"title":{},"content":{"47":{"position":[[183,5]]}},"keywords":{}}],["newgrp",{"_index":3978,"title":{},"content":{"404":{"position":[[2370,6]]}},"keywords":{}}],["newish",{"_index":2848,"title":{},"content":{"309":{"position":[[1130,6]]}},"keywords":{}}],["newkey",{"_index":410,"title":{},"content":{"20":{"position":[[328,6],[861,6]]}},"keywords":{}}],["newli",{"_index":463,"title":{},"content":{"20":{"position":[[1274,5],[1405,5]]},"326":{"position":[[780,5]]},"358":{"position":[[2136,5]]},"359":{"position":[[998,5],[2187,5]]},"378":{"position":[[534,5]]},"379":{"position":[[193,5],[3898,5]]}},"keywords":{}}],["newlin",{"_index":297,"title":{},"content":{"9":{"position":[[117,7],[309,7],[461,7],[641,7]]},"637":{"position":[[501,8]]}},"keywords":{}}],["newslett",{"_index":4047,"title":{},"content":{"425":{"position":[[255,11]]},"426":{"position":[[350,10]]},"431":{"position":[[751,11]]},"433":{"position":[[90,11]]}},"keywords":{}}],["next",{"_index":1026,"title":{"335":{"position":[[0,4]]}},"content":{"43":{"position":[[826,4]]},"50":{"position":[[1100,4]]},"67":{"position":[[4449,4]]},"70":{"position":[[224,4]]},"82":{"position":[[281,4]]},"115":{"position":[[1569,4]]},"197":{"position":[[27,4],[137,4]]},"310":{"position":[[149,4]]},"324":{"position":[[827,4]]},"349":{"position":[[1827,5]]},"358":{"position":[[520,4]]},"359":{"position":[[2118,4]]},"402":{"position":[[3075,4],[3999,4]]},"461":{"position":[[323,4],[630,4]]},"462":{"position":[[211,4]]},"464":{"position":[[375,4]]},"467":{"position":[[426,4],[828,4]]},"472":{"position":[[302,4],[523,4],[1154,4],[1461,4]]},"478":{"position":[[385,4],[692,4]]},"483":{"position":[[116,4]]},"484":{"position":[[49,4],[285,4]]},"496":{"position":[[19,4]]},"502":{"position":[[322,4],[629,4]]},"521":{"position":[[341,4],[648,4]]},"533":{"position":[[889,4]]},"534":{"position":[[626,4],[957,4]]},"535":{"position":[[1313,4]]},"540":{"position":[[4048,4]]},"552":{"position":[[1345,4]]},"568":{"position":[[970,4]]},"569":{"position":[[539,4]]},"604":{"position":[[99,4]]},"638":{"position":[[177,4]]},"642":{"position":[[271,4]]},"658":{"position":[[329,4]]},"797":{"position":[[75,4]]},"798":{"position":[[45,4]]}},"keywords":{}}],["nexu",{"_index":962,"title":{},"content":{"42":{"position":[[1723,7]]}},"keywords":{}}],["nf",{"_index":2009,"title":{},"content":{"127":{"position":[[303,3]]},"258":{"position":[[1862,3]]},"309":{"position":[[690,3],[711,3],[1098,5]]}},"keywords":{}}],["nfs]https://www.redhat.com/sysadmin/rootless",{"_index":2847,"title":{},"content":{"309":{"position":[[1046,44]]}},"keywords":{}}],["nginx",{"_index":2580,"title":{},"content":{"268":{"position":[[449,5]]}},"keywords":{}}],["nice",{"_index":4152,"title":{},"content":{"457":{"position":[[71,6]]}},"keywords":{}}],["nil",{"_index":1153,"title":{},"content":{"50":{"position":[[654,4],[665,3]]},"52":{"position":[[710,3]]},"53":{"position":[[962,3]]},"54":{"position":[[1361,3]]},"55":{"position":[[2261,3],[2343,3]]},"56":{"position":[[1263,3]]},"57":{"position":[[463,3],[467,3]]},"61":{"position":[[1801,3],[2435,3]]},"62":{"position":[[587,3],[669,3]]},"65":{"position":[[214,4],[236,3],[778,3],[913,3],[1047,3],[1191,3]]},"66":{"position":[[203,3],[259,3]]},"69":{"position":[[309,3]]},"73":{"position":[[1544,3]]},"104":{"position":[[361,3],[485,3],[674,3],[936,3],[1067,3],[1177,3],[1191,3],[1531,3]]},"105":{"position":[[561,3],[994,3],[1104,3],[1193,3],[1207,3],[1484,3]]},"106":{"position":[[400,3],[582,3],[844,3],[969,3],[982,3]]},"107":{"position":[[470,3],[575,3],[607,3]]},"110":{"position":[[723,3],[766,3],[835,3],[879,3]]},"111":{"position":[[316,3],[428,3],[753,3],[1241,3],[1369,3],[1465,3],[1479,3],[1791,3]]},"113":{"position":[[250,3]]},"130":{"position":[[218,3],[362,3]]},"131":{"position":[[259,3],[455,3]]},"132":{"position":[[262,3],[461,3]]},"138":{"position":[[441,3],[699,4],[795,4]]},"139":{"position":[[797,3],[801,3],[1084,3]]},"140":{"position":[[737,3],[849,3]]},"155":{"position":[[137,3]]},"158":{"position":[[141,3]]},"162":{"position":[[141,3]]},"165":{"position":[[145,3]]},"166":{"position":[[163,3]]},"167":{"position":[[159,3]]},"168":{"position":[[157,3]]},"169":{"position":[[157,3]]},"170":{"position":[[157,3]]},"217":{"position":[[1535,3],[1539,3],[1597,3],[1601,3],[1655,3],[1659,3],[1724,3],[1728,3],[1891,3],[1895,3],[2142,3],[2146,3]]},"251":{"position":[[1234,4],[1351,4]]},"302":{"position":[[2709,3]]},"314":{"position":[[758,3],[1558,3]]},"358":{"position":[[7902,6]]},"378":{"position":[[1135,3],[1139,3],[1147,3],[1151,3]]},"609":{"position":[[351,4],[671,3]]},"610":{"position":[[351,4],[566,3]]},"659":{"position":[[416,4]]},"711":{"position":[[436,4]]},"717":{"position":[[89,4],[320,3]]},"744":{"position":[[248,3]]},"761":{"position":[[477,4]]},"809":{"position":[[56,3]]}},"keywords":{}}],["nil.write_interfac",{"_index":1973,"title":{},"content":{"115":{"position":[[712,19]]}},"keywords":{}}],["no_auth",{"_index":1933,"title":{},"content":{"112":{"position":[[669,8]]}},"keywords":{}}],["nocert",{"_index":578,"title":{},"content":{"27":{"position":[[301,7]]}},"keywords":{}}],["node",{"_index":416,"title":{},"content":{"20":{"position":[[378,5]]},"42":{"position":[[1500,4]]},"267":{"position":[[609,6]]},"369":{"position":[[4179,4]]}},"keywords":{}}],["node_modul",{"_index":2741,"title":{},"content":{"301":{"position":[[423,12]]}},"keywords":{}}],["nodej",{"_index":913,"title":{},"content":{"42":{"position":[[423,6]]},"257":{"position":[[445,6]]}},"keywords":{}}],["nogroup",{"_index":2701,"title":{},"content":{"299":{"position":[[571,7]]}},"keywords":{}}],["nokey",{"_index":586,"title":{},"content":{"27":{"position":[[739,6]]}},"keywords":{}}],["non",{"_index":720,"title":{},"content":{"36":{"position":[[3271,3],[10690,3]]},"51":{"position":[[446,3]]},"86":{"position":[[167,3]]},"195":{"position":[[267,3]]},"229":{"position":[[3271,3]]},"271":{"position":[[1319,3],[1569,4]]},"348":{"position":[[720,3]]},"387":{"position":[[1488,3]]},"391":{"position":[[433,3]]},"664":{"position":[[480,3]]},"665":{"position":[[446,3]]}},"keywords":{}}],["none",{"_index":1417,"title":{},"content":{"69":{"position":[[491,4]]},"73":{"position":[[1053,5],[1550,4]]},"104":{"position":[[367,4],[491,4],[680,4],[1811,4],[1961,4],[2090,4],[2105,4],[2500,4]]},"105":{"position":[[567,4],[1754,4],[1883,4],[1991,4],[2006,4],[2338,4]]},"106":{"position":[[1112,4],[1126,4]]},"107":{"position":[[476,4],[581,4],[613,4]]},"110":{"position":[[729,4],[772,4],[841,4],[885,4]]},"111":{"position":[[322,4],[434,4],[540,7],[759,4],[1087,4],[1103,4],[1229,4],[1550,4],[1672,4],[1779,4],[1882,4]]},"140":{"position":[[364,4],[725,4]]},"251":{"position":[[2022,5],[2159,5]]},"305":{"position":[[1023,4]]},"314":{"position":[[591,5],[626,4],[779,5],[817,4]]},"358":{"position":[[6892,4]]},"717":{"position":[[326,4]]},"752":{"position":[[306,4]]},"761":{"position":[[255,4]]},"809":{"position":[[70,4]]}},"keywords":{}}],["noninfring",{"_index":3780,"title":{},"content":{"390":{"position":[[886,16]]}},"keywords":{}}],["noop",{"_index":2488,"title":{},"content":{"253":{"position":[[964,4]]},"379":{"position":[[1189,4]]}},"keywords":{}}],["noout",{"_index":557,"title":{},"content":{"25":{"position":[[69,5]]}},"keywords":{}}],["normal",{"_index":1818,"title":{},"content":{"98":{"position":[[160,6]]},"216":{"position":[[679,9],[904,9]]},"217":{"position":[[2800,9],[3025,9]]},"253":{"position":[[927,6]]},"281":{"position":[[180,8]]},"294":{"position":[[85,8]]},"299":{"position":[[1096,6]]},"395":{"position":[[111,6]]},"513":{"position":[[905,7]]},"535":{"position":[[199,6],[490,6]]},"542":{"position":[[296,7],[544,7],[740,7]]},"552":{"position":[[20,8]]},"554":{"position":[[752,6]]},"563":{"position":[[82,8]]},"637":{"position":[[1078,7],[1803,7]]},"639":{"position":[[518,6]]},"643":{"position":[[423,7]]},"654":{"position":[[367,6]]},"690":{"position":[[689,6],[1328,6],[1475,10]]},"713":{"position":[[275,10]]},"777":{"position":[[324,8]]}},"keywords":{}}],["normal"",{"_index":4495,"title":{},"content":{"554":{"position":[[1027,13]]},"564":{"position":[[409,13],[588,13]]},"677":{"position":[[1340,13],[1772,13]]},"678":{"position":[[1577,13],[1803,13]]},"685":{"position":[[473,13],[1032,13]]}},"keywords":{}}],["normal'"",{"_index":1739,"title":{},"content":{"91":{"position":[[1826,16]]},"542":{"position":[[365,15]]}},"keywords":{}}],["normalize_tlm",{"_index":5306,"title":{"713":{"position":[[0,14]]}},"content":{"712":{"position":[[205,13]]}},"keywords":{}}],["normalize_tlm("<target>",{"_index":5309,"title":{},"content":{"713":{"position":[[102,34]]}},"keywords":{}}],["normalize_tlm("inst",{"_index":5311,"title":{},"content":{"713":{"position":[[384,24],[458,24],[571,24],[645,24]]}},"keywords":{}}],["nosniff",{"_index":1546,"title":{},"content":{"82":{"position":[[1187,7]]}},"keywords":{}}],["notat",{"_index":2325,"title":{},"content":{"218":{"position":[[58,8]]},"540":{"position":[[4673,8],[4710,8]]}},"keywords":{}}],["note",{"_index":102,"title":{"317":{"position":[[0,4]]},"453":{"position":[[0,5]]}},"content":{"3":{"position":[[291,5]]},"7":{"position":[[1026,4]]},"9":{"position":[[834,4],[976,4]]},"11":{"position":[[213,4]]},"12":{"position":[[488,4]]},"13":{"position":[[397,4]]},"14":{"position":[[292,4]]},"20":{"position":[[1,5]]},"36":{"position":[[2138,4],[6517,4],[7313,4],[8196,6]]},"42":{"position":[[468,5],[764,5]]},"43":{"position":[[477,4]]},"48":{"position":[[2236,4],[3909,4],[4562,5]]},"50":{"position":[[417,4],[886,4]]},"53":{"position":[[632,4]]},"54":{"position":[[1030,4]]},"55":{"position":[[1811,4]]},"56":{"position":[[936,4]]},"60":{"position":[[439,4]]},"61":{"position":[[2108,4]]},"77":{"position":[[814,4]]},"88":{"position":[[282,5]]},"100":{"position":[[698,4],[845,4]]},"109":{"position":[[1401,6],[2101,6],[2423,6]]},"110":{"position":[[1759,6]]},"115":{"position":[[151,5],[313,5],[434,5],[588,5],[779,5]]},"127":{"position":[[235,4]]},"141":{"position":[[540,4]]},"209":{"position":[[141,5]]},"214":{"position":[[361,4],[1615,4]]},"215":{"position":[[243,4],[675,4]]},"217":{"position":[[1389,4],[1794,4],[2049,4]]},"218":{"position":[[398,4],[1393,4]]},"220":{"position":[[308,4],[1474,4]]},"225":{"position":[[655,4],[1226,4]]},"229":{"position":[[2138,4],[6517,4],[7313,4],[8196,6]]},"271":{"position":[[682,4]]},"272":{"position":[[293,4]]},"273":{"position":[[305,4]]},"274":{"position":[[430,4]]},"275":{"position":[[1202,5]]},"279":{"position":[[5056,4],[5914,4],[6855,6],[8796,4]]},"281":{"position":[[59,5]]},"302":{"position":[[923,4]]},"303":{"position":[[1076,6]]},"309":{"position":[[1104,4],[1402,5]]},"310":{"position":[[112,5]]},"321":{"position":[[111,4],[613,4]]},"323":{"position":[[437,5]]},"330":{"position":[[164,5],[1488,5],[1545,5]]},"331":{"position":[[811,4]]},"332":{"position":[[246,5],[833,4]]},"333":{"position":[[405,5]]},"338":{"position":[[247,4]]},"340":{"position":[[70,4]]},"344":{"position":[[844,5]]},"349":{"position":[[1956,5],[2876,5]]},"358":{"position":[[5651,4]]},"359":{"position":[[220,4]]},"362":{"position":[[145,6]]},"363":{"position":[[297,6]]},"364":{"position":[[357,6]]},"365":{"position":[[192,6]]},"369":{"position":[[228,5]]},"377":{"position":[[1,4]]},"378":{"position":[[1197,4]]},"380":{"position":[[2137,4]]},"404":{"position":[[576,5]]},"421":{"position":[[709,4]]},"422":{"position":[[419,6]]},"440":{"position":[[576,4]]},"441":{"position":[[111,4]]},"443":{"position":[[52,4]]},"449":{"position":[[31,6]]},"452":{"position":[[497,4]]},"453":{"position":[[1,5],[65,4],[84,4]]},"468":{"position":[[485,4]]},"472":{"position":[[331,4]]},"481":{"position":[[166,4],[285,4]]},"482":{"position":[[275,5],[528,5]]},"485":{"position":[[275,4]]},"498":{"position":[[57,4],[591,4],[805,5]]},"499":{"position":[[59,4]]},"504":{"position":[[356,4]]},"511":{"position":[[216,4]]},"513":{"position":[[456,5]]},"524":{"position":[[420,4]]},"535":{"position":[[848,5]]},"540":{"position":[[4428,4]]},"551":{"position":[[535,5]]},"554":{"position":[[1043,4]]},"559":{"position":[[1178,4]]},"568":{"position":[[351,4]]},"569":{"position":[[472,4]]},"637":{"position":[[718,4]]},"638":{"position":[[23,4]]},"639":{"position":[[42,4]]},"640":{"position":[[25,4]]},"642":{"position":[[35,4]]},"644":{"position":[[25,4]]},"670":{"position":[[322,5]]},"671":{"position":[[260,5]]},"673":{"position":[[163,5]]},"692":{"position":[[389,4]]},"693":{"position":[[606,5]]},"697":{"position":[[252,5]]},"698":{"position":[[151,5]]},"699":{"position":[[210,5]]},"714":{"position":[[78,5]]},"722":{"position":[[256,4]]},"723":{"position":[[140,4]]},"724":{"position":[[235,4]]},"725":{"position":[[119,4]]},"728":{"position":[[251,5]]},"741":{"position":[[67,5],[1752,5],[1896,5]]},"775":{"position":[[23,4]]},"787":{"position":[[648,5]]},"795":{"position":[[401,5]]}},"keywords":{}}],["notebook",{"_index":1797,"title":{},"content":{"96":{"position":[[423,9],[453,10]]}},"keywords":{}}],["noth",{"_index":1444,"title":{},"content":{"73":{"position":[[1380,7]]},"78":{"position":[[267,7],[415,7],[486,7]]},"387":{"position":[[689,7]]},"552":{"position":[[2297,7],[2445,7]]}},"keywords":{}}],["nothing"",{"_index":2490,"title":{},"content":{"253":{"position":[[989,13]]},"664":{"position":[[745,14],[966,14]]},"665":{"position":[[725,14],[989,14]]}},"keywords":{}}],["notic",{"_index":1619,"title":{"425":{"position":[[3,7]]}},"content":{"83":{"position":[[1335,6]]},"267":{"position":[[219,6]]},"324":{"position":[[262,6],[429,6]]},"390":{"position":[[574,6],[601,6]]},"432":{"position":[[1090,7]]},"533":{"position":[[255,6]]},"540":{"position":[[3645,6],[4140,6]]}},"keywords":{}}],["notif",{"_index":3345,"title":{},"content":{"363":{"position":[[145,13]]},"422":{"position":[[673,13],[735,13],[794,12]]},"632":{"position":[[28,12]]},"679":{"position":[[50,12]]},"680":{"position":[[76,12]]},"683":{"position":[[73,12]]},"684":{"position":[[99,12]]}},"keywords":{}}],["notifi",{"_index":3137,"title":{},"content":{"348":{"position":[[1896,6]]},"426":{"position":[[1221,6]]},"435":{"position":[[331,6]]},"436":{"position":[[89,6]]},"674":{"position":[[15,6]]}},"keywords":{}}],["nov",{"_index":1513,"title":{},"content":{"81":{"position":[[820,3]]}},"keywords":{}}],["now",{"_index":326,"title":{},"content":{"12":{"position":[[96,3]]},"23":{"position":[[334,3]]},"42":{"position":[[2251,3]]},"43":{"position":[[4,3]]},"48":{"position":[[2275,3]]},"61":{"position":[[18,3]]},"82":{"position":[[4685,3]]},"309":{"position":[[2461,3]]},"324":{"position":[[425,3],[713,3],[965,3]]},"349":{"position":[[567,3]]},"358":{"position":[[50,3],[939,3],[4675,3],[6351,3]]},"359":{"position":[[1,3]]},"369":{"position":[[2189,3],[3459,3]]},"404":{"position":[[2685,3]]},"699":{"position":[[832,3]]},"803":{"position":[[264,4]]}},"keywords":{}}],["npm",{"_index":960,"title":{},"content":{"42":{"position":[[1699,3]]},"43":{"position":[[561,3]]},"208":{"position":[[14,3]]},"307":{"position":[[1416,3]]}},"keywords":{}}],["npm_url",{"_index":964,"title":{},"content":{"42":{"position":[[1797,8]]}},"keywords":{}}],["npm_url=https://registry.npmjs.org",{"_index":970,"title":{},"content":{"42":{"position":[[1927,34]]}},"keywords":{}}],["nt",{"_index":1610,"title":{},"content":{"83":{"position":[[1136,2]]}},"keywords":{}}],["null",{"_index":1698,"title":{},"content":{"86":{"position":[[115,4]]},"225":{"position":[[1153,4],[1308,4]]},"271":{"position":[[1169,4]]},"402":{"position":[[4394,5],[4581,5],[4626,5]]}},"keywords":{}}],["num",{"_index":3393,"title":{},"content":{"367":{"position":[[652,4]]},"725":{"position":[[545,3]]},"729":{"position":[[431,3]]},"756":{"position":[[572,3],[1125,3]]},"765":{"position":[[548,3],[1083,3]]}},"keywords":{}}],["num_client",{"_index":5532,"title":{},"content":{"756":{"position":[[415,12],[974,12]]},"765":{"position":[[397,12],[915,12]]}},"keywords":{}}],["num_clients}"",{"_index":5539,"title":{},"content":{"756":{"position":[[595,20]]},"765":{"position":[[571,20]]}},"keywords":{}}],["num_seg",{"_index":4229,"title":{},"content":{"499":{"position":[[604,12],[719,12]]}},"keywords":{}}],["number",{"_index":84,"title":{},"content":{"3":{"position":[[35,6]]},"20":{"position":[[1064,6]]},"31":{"position":[[665,8]]},"33":{"position":[[775,6]]},"36":{"position":[[2913,6]]},"42":{"position":[[112,6]]},"48":{"position":[[2670,6]]},"53":{"position":[[569,6]]},"54":{"position":[[800,6],[920,6],[967,6]]},"55":{"position":[[1112,6],[1426,6],[1748,6]]},"56":{"position":[[873,6]]},"60":{"position":[[376,6]]},"61":{"position":[[1554,6],[1842,6],[2045,6],[2551,6],[2641,6]]},"64":{"position":[[152,6],[253,6]]},"86":{"position":[[139,7]]},"104":{"position":[[548,6],[617,6]]},"105":{"position":[[435,6],[504,6]]},"106":{"position":[[619,6],[717,6],[790,6]]},"107":{"position":[[412,6],[518,6],[634,6]]},"111":{"position":[[580,6],[627,6],[696,6],[1118,6]]},"144":{"position":[[191,6]]},"148":{"position":[[197,6]]},"152":{"position":[[16,6]]},"155":{"position":[[83,6]]},"158":{"position":[[85,6]]},"159":{"position":[[16,6]]},"162":{"position":[[85,6]]},"165":{"position":[[87,6]]},"166":{"position":[[96,6]]},"167":{"position":[[94,6]]},"168":{"position":[[93,6]]},"169":{"position":[[93,6]]},"170":{"position":[[93,6]]},"171":{"position":[[81,6]]},"177":{"position":[[197,6]]},"182":{"position":[[192,6]]},"191":{"position":[[197,6]]},"225":{"position":[[966,8]]},"229":{"position":[[2913,6]]},"271":{"position":[[990,8]]},"273":{"position":[[281,6]]},"275":{"position":[[1132,6]]},"279":{"position":[[2125,6],[8576,6],[10695,6]]},"288":{"position":[[343,6]]},"299":{"position":[[164,6]]},"301":{"position":[[1380,6]]},"309":{"position":[[3832,8]]},"349":{"position":[[1160,6]]},"352":{"position":[[749,6],[945,6]]},"358":{"position":[[2359,6]]},"359":{"position":[[1781,7],[1864,7]]},"367":{"position":[[126,6]]},"369":{"position":[[3687,6]]},"373":{"position":[[209,6],[243,6]]},"378":{"position":[[648,6]]},"379":{"position":[[3691,6]]},"380":{"position":[[1184,6]]},"387":{"position":[[1144,6]]},"422":{"position":[[1071,6]]},"426":{"position":[[847,6],[1041,6]]},"432":{"position":[[464,6]]},"457":{"position":[[185,6]]},"462":{"position":[[517,6]]},"467":{"position":[[794,6]]},"476":{"position":[[188,6]]},"522":{"position":[[371,6]]},"531":{"position":[[832,7]]},"545":{"position":[[124,7]]},"547":{"position":[[828,6],[895,6]]},"551":{"position":[[275,6]]},"555":{"position":[[24,6]]},"564":{"position":[[293,8],[718,8]]},"568":{"position":[[828,7]]},"571":{"position":[[230,8]]},"574":{"position":[[237,6]]},"577":{"position":[[422,6]]},"579":{"position":[[376,6]]},"598":{"position":[[149,6]]},"609":{"position":[[376,6]]},"610":{"position":[[377,6],[436,6]]},"611":{"position":[[723,6],[748,6]]},"614":{"position":[[308,6],[333,6]]},"615":{"position":[[454,6],[479,6],[623,6]]},"616":{"position":[[328,6],[353,6]]},"617":{"position":[[331,6],[356,6]]},"618":{"position":[[605,6],[630,6]]},"623":{"position":[[297,6],[322,6]]},"624":{"position":[[300,6],[325,6]]},"625":{"position":[[574,6],[599,6]]},"626":{"position":[[1613,6],[1680,6],[1738,6],[1808,6],[1856,6],[1933,6]]},"627":{"position":[[1666,6],[1733,6],[1791,6],[1861,6],[1909,6],[1986,6]]},"628":{"position":[[1638,6],[1705,6],[1763,6],[1833,6],[1881,6],[1958,6]]},"635":{"position":[[536,6],[561,6]]},"664":{"position":[[177,6]]},"695":{"position":[[13,6],[397,6]]},"708":{"position":[[652,6]]},"709":{"position":[[13,6],[422,6]]},"717":{"position":[[237,6],[360,6]]},"725":{"position":[[35,6],[561,6]]},"729":{"position":[[35,6],[447,6],[571,6]]},"741":{"position":[[1649,6]]},"744":{"position":[[318,6]]},"756":{"position":[[149,6]]},"765":{"position":[[143,6]]},"791":{"position":[[30,6],[228,6]]},"792":{"position":[[29,6]]}},"keywords":{}}],["number"",{"_index":2467,"title":{},"content":{"253":{"position":[[194,12],[1072,12],[1842,12]]},"668":{"position":[[643,13],[724,13],[794,13],[958,13],[1039,13],[1109,13]]}},"keywords":{}}],["numer",{"_index":716,"title":{},"content":{"36":{"position":[[3097,9]]},"48":{"position":[[4480,7],[5217,7]]},"200":{"position":[[311,9]]},"229":{"position":[[3097,9]]},"279":{"position":[[2396,9]]},"501":{"position":[[145,8]]}},"keywords":{}}],["nwziw_ewyssghec172ciwjuphvp8acdqg",{"_index":1553,"title":{},"content":{"82":{"position":[[2251,33],[5716,33]]}},"keywords":{}}],["o",{"_index":2860,"title":{},"content":{"309":{"position":[[1798,1]]},"404":{"position":[[2302,1]]}},"keywords":{}}],["object",{"_index":1115,"title":{},"content":{"48":{"position":[[3730,6]]},"86":{"position":[[411,7]]},"214":{"position":[[20,6]]},"218":{"position":[[51,6]]},"268":{"position":[[44,6]]},"275":{"position":[[485,6],[978,6],[1000,7],[1090,6],[1112,6],[1230,6]]},"352":{"position":[[235,7],[673,7]]},"402":{"position":[[4964,6],[5467,6],[5947,6]]},"431":{"position":[[192,6]]},"551":{"position":[[12,6]]},"670":{"position":[[465,6]]},"673":{"position":[[1464,6],[1606,7],[2002,7]]}},"keywords":{}}],["oblig",{"_index":4076,"title":{},"content":{"430":{"position":[[124,11]]}},"keywords":{}}],["observ",{"_index":3308,"title":{"361":{"position":[[15,14]]}},"content":{},"keywords":{}}],["obtus",{"_index":4388,"title":{},"content":{"543":{"position":[[235,6]]}},"keywords":{}}],["obvious",{"_index":3273,"title":{},"content":{"358":{"position":[[6020,9]]},"389":{"position":[[241,10]]}},"keywords":{}}],["occas",{"_index":4097,"title":{},"content":{"432":{"position":[[589,8]]}},"keywords":{}}],["occasion",{"_index":4063,"title":{},"content":{"427":{"position":[[433,12]]}},"keywords":{}}],["occur",{"_index":1266,"title":{},"content":{"57":{"position":[[1222,5]]},"61":{"position":[[2763,5]]},"64":{"position":[[375,5]]},"349":{"position":[[329,7],[3154,5],[5832,7],[6616,10]]},"368":{"position":[[862,6]]},"535":{"position":[[1508,7]]},"547":{"position":[[590,9]]},"565":{"position":[[391,7]]},"658":{"position":[[1282,6]]},"674":{"position":[[50,9]]},"722":{"position":[[222,6]]},"724":{"position":[[76,7],[97,6]]},"725":{"position":[[86,6]]},"728":{"position":[[76,7],[97,6]]},"729":{"position":[[86,6]]},"793":{"position":[[432,6]]}},"keywords":{}}],["occurr",{"_index":3163,"title":{},"content":{"349":{"position":[[2593,10]]}},"keywords":{}}],["odd",{"_index":1911,"title":{},"content":{"111":{"position":[[559,6],[1358,3]]},"314":{"position":[[597,4]]}},"keywords":{}}],["offer",{"_index":3796,"title":{},"content":{"391":{"position":[[473,5]]},"426":{"position":[[556,7],[1308,7]]}},"keywords":{}}],["offici",{"_index":3563,"title":{},"content":{"372":{"position":[[33,8]]}},"keywords":{}}],["offlin",{"_index":955,"title":{},"content":{"42":{"position":[[1603,7],[1644,7]]},"331":{"position":[[188,7],[238,7],[668,7],[720,7]]},"412":{"position":[[147,7]]}},"keywords":{}}],["offset",{"_index":374,"title":{},"content":{"17":{"position":[[72,7],[171,7]]},"18":{"position":[[75,7],[175,7]]},"35":{"position":[[143,6],[154,6],[254,6],[305,6],[472,6],[538,6]]},"36":{"position":[[1161,6],[1839,6],[1846,6]]},"37":{"position":[[265,6],[331,6]]},"48":{"position":[[496,6],[3999,6],[4052,6],[4306,6]]},"55":{"position":[[395,6],[611,6],[626,6],[981,6],[992,6],[1082,6],[1962,7],[2615,7],[3206,7],[3359,6],[3366,7]]},"65":{"position":[[453,6],[464,6]]},"228":{"position":[[162,6],[173,6],[282,6],[334,6],[501,6],[567,6]]},"229":{"position":[[1161,6],[1839,6],[1846,6]]},"230":{"position":[[284,6],[350,6]]},"231":{"position":[[385,6],[396,6],[505,6],[671,6],[737,6]]},"232":{"position":[[507,6],[573,6]]},"233":{"position":[[179,6],[190,6],[299,6],[351,6],[672,6]]},"234":{"position":[[455,6]]},"272":{"position":[[376,7]]},"274":{"position":[[443,6]]},"278":{"position":[[164,6],[175,6],[281,6],[333,6],[499,6],[565,6]]},"279":{"position":[[1156,6],[1834,6],[1841,6]]},"280":{"position":[[291,6],[357,6]]},"281":{"position":[[334,6],[345,6],[451,6],[622,6]]},"282":{"position":[[291,6]]},"283":{"position":[[181,6],[192,6],[298,6],[350,6],[665,6]]},"284":{"position":[[457,6]]},"321":{"position":[[244,7]]},"358":{"position":[[3486,6],[5515,6]]},"401":{"position":[[227,7]]},"744":{"position":[[35,6],[179,6],[1306,6]]}},"keywords":{}}],["ok",{"_index":1498,"title":{},"content":{"81":{"position":[[561,2]]},"82":{"position":[[701,2],[6321,2]]},"359":{"position":[[2328,3]]},"461":{"position":[[242,2],[552,2]]},"472":{"position":[[1073,2],[1383,2]]},"478":{"position":[[304,2],[614,2]]},"502":{"position":[[241,2],[551,2]]},"521":{"position":[[260,2],[570,2]]},"528":{"position":[[867,3]]},"568":{"position":[[629,3]]},"675":{"position":[[63,2],[242,2]]}},"keywords":{}}],["okset",{"_index":3954,"title":{},"content":{"404":{"position":[[1012,5]]}},"keywords":{}}],["older",{"_index":1064,"title":{},"content":{"47":{"position":[[193,5]]}},"keywords":{}}],["omit",{"_index":3902,"title":{},"content":{"402":{"position":[[4185,7]]}},"keywords":{}}],["omit_deprecated=${omit_deprec",{"_index":3578,"title":{},"content":{"376":{"position":[[192,34]]}},"keywords":{}}],["omit_deprecated=tru",{"_index":3577,"title":{},"content":{"376":{"position":[[167,20]]}},"keywords":{}}],["on",{"_index":447,"title":{},"content":{"20":{"position":[[947,3]]},"36":{"position":[[740,3],[920,3]]},"55":{"position":[[1288,4],[1314,4],[1919,3]]},"67":{"position":[[2176,3],[2320,3],[2517,3]]},"73":{"position":[[108,3]]},"74":{"position":[[131,3]]},"75":{"position":[[130,3]]},"76":{"position":[[122,3]]},"83":{"position":[[687,4],[1447,3]]},"111":{"position":[[1080,3]]},"112":{"position":[[662,3],[731,3],[784,3]]},"115":{"position":[[2117,3]]},"120":{"position":[[49,3]]},"145":{"position":[[152,3]]},"149":{"position":[[69,3]]},"174":{"position":[[376,3]]},"185":{"position":[[136,3]]},"186":{"position":[[343,3]]},"225":{"position":[[89,3]]},"229":{"position":[[740,3],[920,3]]},"231":{"position":[[187,3]]},"232":{"position":[[187,3]]},"240":{"position":[[129,3],[309,3]]},"250":{"position":[[119,3]]},"258":{"position":[[159,3]]},"271":{"position":[[113,3]]},"273":{"position":[[333,3]]},"279":{"position":[[735,3],[915,3]]},"281":{"position":[[89,3]]},"287":{"position":[[138,3],[318,3]]},"309":{"position":[[3713,4]]},"332":{"position":[[1413,4]]},"333":{"position":[[841,4]]},"348":{"position":[[2306,3]]},"349":{"position":[[878,3],[1047,3],[3419,3]]},"352":{"position":[[684,3]]},"358":{"position":[[6045,3],[6261,3]]},"367":{"position":[[964,3]]},"368":{"position":[[132,3]]},"380":{"position":[[1627,3]]},"389":{"position":[[2093,3]]},"397":{"position":[[75,3]]},"398":{"position":[[266,3]]},"402":{"position":[[3169,3],[3308,3],[4087,3]]},"419":{"position":[[186,3]]},"429":{"position":[[602,3]]},"449":{"position":[[66,3]]},"455":{"position":[[258,3]]},"472":{"position":[[813,3]]},"511":{"position":[[38,3]]},"519":{"position":[[61,3]]},"540":{"position":[[4247,3]]},"542":{"position":[[963,3]]},"543":{"position":[[221,3],[312,3]]},"544":{"position":[[934,3]]},"546":{"position":[[1260,3],[1283,3]]},"549":{"position":[[382,3]]},"552":{"position":[[1669,3]]},"559":{"position":[[1039,3]]},"563":{"position":[[394,3]]},"565":{"position":[[604,3],[685,3],[807,3],[832,3],[866,3],[963,3],[1085,3]]},"581":{"position":[[132,3]]},"591":{"position":[[132,3]]},"592":{"position":[[505,3]]},"652":{"position":[[73,3]]},"668":{"position":[[657,6],[738,6],[808,6],[838,5],[857,4],[972,6],[1053,6],[1123,6],[1155,6],[1176,5]]},"673":{"position":[[1639,4],[2035,4]]},"716":{"position":[[31,3]]},"726":{"position":[[43,4]]},"754":{"position":[[31,3]]},"755":{"position":[[30,3]]},"759":{"position":[[557,3]]},"766":{"position":[[31,3]]},"767":{"position":[[30,3]]},"769":{"position":[[561,3]]},"787":{"position":[[164,3]]},"805":{"position":[[70,4]]}},"keywords":{}}],["onc",{"_index":922,"title":{},"content":{"42":{"position":[[830,4]]},"44":{"position":[[1343,4]]},"275":{"position":[[332,4]]},"359":{"position":[[428,4]]},"421":{"position":[[302,4]]},"422":{"position":[[1284,4]]},"454":{"position":[[307,4]]},"455":{"position":[[1401,4]]},"483":{"position":[[1,4]]},"513":{"position":[[209,4]]},"530":{"position":[[184,4]]},"552":{"position":[[1448,5]]},"555":{"position":[[153,4]]},"556":{"position":[[200,4]]},"565":{"position":[[555,4]]},"569":{"position":[[1,4]]}},"keywords":{}}],["onecor",{"_index":3549,"title":{},"content":{"369":{"position":[[4474,7]]}},"keywords":{}}],["one}"",{"_index":4557,"title":{},"content":{"565":{"position":[[838,13]]}},"keywords":{}}],["onlin",{"_index":4048,"title":{},"content":{"425":{"position":[[276,6]]},"429":{"position":[[546,6]]},"434":{"position":[[647,6]]}},"keywords":{}}],["only"",{"_index":680,"title":{},"content":{"36":{"position":[[1046,10]]},"229":{"position":[[1046,10]]},"279":{"position":[[1041,10]]}},"keywords":{}}],["onto",{"_index":4809,"title":{},"content":{"647":{"position":[[12,4],[233,4]]},"648":{"position":[[42,4]]},"651":{"position":[[14,4]]},"652":{"position":[[29,4]]},"653":{"position":[[13,4]]}},"keywords":{}}],["op",{"_index":3821,"title":{},"content":{"393":{"position":[[983,3]]},"533":{"position":[[110,5]]}},"keywords":{}}],["opcod",{"_index":2226,"title":{},"content":{"213":{"position":[[793,6]]},"231":{"position":[[2106,6]]},"232":{"position":[[1949,6]]}},"keywords":{}}],["opcode"",{"_index":2231,"title":{},"content":{"213":{"position":[[839,12]]}},"keywords":{}}],["open",{"_index":573,"title":{"81":{"position":[[32,4]]},"779":{"position":[[0,8]]}},"content":{"27":{"position":[[136,4]]},"32":{"position":[[25,4]]},"81":{"position":[[15,4]]},"83":{"position":[[205,4]]},"104":{"position":[[136,4]]},"105":{"position":[[198,4]]},"115":{"position":[[76,4]]},"144":{"position":[[16,4],[93,4]]},"182":{"position":[[17,4],[94,4]]},"196":{"position":[[93,5],[186,5],[239,5]]},"200":{"position":[[207,4]]},"209":{"position":[[39,4]]},"258":{"position":[[720,4]]},"261":{"position":[[63,4]]},"314":{"position":[[1070,6]]},"320":{"position":[[804,4],[1742,7]]},"324":{"position":[[191,4]]},"344":{"position":[[224,4],[335,4]]},"346":{"position":[[1562,7]]},"349":{"position":[[1063,7],[1410,4],[1514,5]]},"351":{"position":[[371,4],[527,4],[571,4]]},"358":{"position":[[2681,4],[4679,4],[6412,4]]},"359":{"position":[[1095,4],[1190,4]]},"362":{"position":[[15,4]]},"363":{"position":[[1,4]]},"365":{"position":[[29,4]]},"368":{"position":[[54,4]]},"369":{"position":[[397,7]]},"379":{"position":[[182,4]]},"383":{"position":[[1619,4]]},"387":{"position":[[660,4],[1019,5]]},"389":{"position":[[21,4],[1691,4],[1751,4]]},"402":{"position":[[951,5],[2215,5]]},"404":{"position":[[1864,4],[2592,4]]},"440":{"position":[[145,4]]},"461":{"position":[[3,5],[104,4],[129,4]]},"472":{"position":[[935,4],[960,4]]},"478":{"position":[[3,5],[166,4],[191,4]]},"481":{"position":[[137,5],[253,5]]},"491":{"position":[[11,7],[38,4]]},"492":{"position":[[51,4]]},"498":{"position":[[432,4]]},"502":{"position":[[3,4],[103,4],[128,4]]},"514":{"position":[[251,5],[344,5]]},"515":{"position":[[272,5],[373,5]]},"521":{"position":[[3,4],[122,4],[147,4]]},"526":{"position":[[169,5],[241,7]]},"528":{"position":[[160,6],[290,5],[306,4],[382,4],[679,4]]},"530":{"position":[[48,7],[110,4]]},"535":{"position":[[1,7]]},"546":{"position":[[518,7]]},"602":{"position":[[1,4]]},"632":{"position":[[511,4],[723,4]]},"633":{"position":[[378,4]]},"637":{"position":[[1394,4]]},"649":{"position":[[707,4]]},"650":{"position":[[1620,4]]},"658":{"position":[[258,4]]},"779":{"position":[[33,5]]},"780":{"position":[[1,5]]},"781":{"position":[[11,4]]},"782":{"position":[[12,4]]}},"keywords":{}}],["open_directory_dialog",{"_index":4913,"title":{},"content":{"662":{"position":[[2847,21]]},"673":{"position":[[218,21],[349,21]]}},"keywords":{}}],["open_file_dialog",{"_index":5017,"title":{"672":{"position":[[0,17]]}},"content":{"673":{"position":[[5,16]]}},"keywords":{}}],["open_file_dialog("<title>"",{"_index":5020,"title":{},"content":{"673":{"position":[[463,43],[700,43]]}},"keywords":{}}],["open_file_dialog("open",{"_index":5029,"title":{},"content":{"673":{"position":[[1325,27],[1732,27]]}},"keywords":{}}],["open_files_dialog",{"_index":5018,"title":{"673":{"position":[[0,18]]}},"content":{"673":{"position":[[26,17]]}},"keywords":{}}],["open_files_dialog("<title>"",{"_index":5023,"title":{},"content":{"673":{"position":[[572,44],[808,44]]}},"keywords":{}}],["open_files_dialog("open",{"_index":5033,"title":{},"content":{"673":{"position":[[1506,28],[1900,28]]}},"keywords":{}}],["openc3",{"_index":337,"title":{"21":{"position":[[13,6]]},"81":{"position":[[18,6]]},"82":{"position":[[18,6]]},"95":{"position":[[30,6]]},"96":{"position":[[0,6]]},"97":{"position":[[0,6]]},"254":{"position":[[0,6]]},"309":{"position":[[0,6]]},"328":{"position":[[11,6]]},"329":{"position":[[11,6]]},"423":{"position":[[0,7]]},"434":{"position":[[9,6]]}},"content":{"12":{"position":[[302,6]]},"13":{"position":[[51,6]]},"14":{"position":[[48,6]]},"20":{"position":[[391,8],[427,8],[1210,8],[1341,8]]},"22":{"position":[[46,6]]},"23":{"position":[[108,6],[150,6]]},"36":{"position":[[1191,6],[5545,6],[9709,6],[9884,6],[9992,6],[10282,6]]},"39":{"position":[[196,6]]},"42":{"position":[[2482,6],[2610,6],[2730,6],[2817,6],[2930,6],[3040,6]]},"43":{"position":[[132,6],[221,6],[280,6]]},"44":{"position":[[267,6],[282,6],[362,6],[398,6],[415,6],[492,6],[513,6],[595,6],[679,6],[705,6],[800,6],[847,6],[907,6],[1047,6],[1106,6],[1173,6],[1250,6],[1293,6]]},"46":{"position":[[16,6]]},"57":{"position":[[432,6],[1351,6]]},"58":{"position":[[419,6]]},"59":{"position":[[502,6]]},"60":{"position":[[889,6]]},"64":{"position":[[1284,6]]},"81":{"position":[[1,6]]},"82":{"position":[[1,6]]},"87":{"position":[[195,7]]},"107":{"position":[[173,6]]},"108":{"position":[[166,6]]},"109":{"position":[[2678,6]]},"110":{"position":[[2409,6]]},"112":{"position":[[1007,6]]},"113":{"position":[[603,6]]},"114":{"position":[[552,6]]},"128":{"position":[[64,6],[238,6],[527,6]]},"138":{"position":[[111,6],[154,6]]},"140":{"position":[[246,6]]},"142":{"position":[[200,6]]},"178":{"position":[[80,6],[418,6],[475,6]]},"180":{"position":[[193,6],[220,6]]},"181":{"position":[[468,6]]},"182":{"position":[[288,6]]},"183":{"position":[[84,6],[419,6]]},"184":{"position":[[13,6],[28,6],[91,6],[274,6],[366,6]]},"185":{"position":[[233,6],[315,6]]},"186":{"position":[[150,6]]},"192":{"position":[[59,6],[439,6]]},"196":{"position":[[227,7]]},"197":{"position":[[56,6]]},"199":{"position":[[121,6]]},"209":{"position":[[640,6]]},"216":{"position":[[113,6]]},"217":{"position":[[351,6]]},"218":{"position":[[222,6]]},"219":{"position":[[144,6]]},"220":{"position":[[134,6]]},"221":{"position":[[385,6]]},"222":{"position":[[220,6]]},"223":{"position":[[368,6]]},"229":{"position":[[1191,6],[5545,6],[9709,6],[9884,6],[9992,6],[10282,6]]},"237":{"position":[[29,6]]},"258":{"position":[[793,6],[876,6],[973,6],[1064,6],[1157,6],[1218,6],[1309,6],[1432,6],[1632,6],[1724,6],[1802,6],[1855,6]]},"259":{"position":[[273,6]]},"267":{"position":[[255,6],[281,6]]},"279":{"position":[[1186,6],[4025,6],[9597,7],[9984,7]]},"289":{"position":[[250,7]]},"290":{"position":[[42,6]]},"301":{"position":[[136,6],[293,6],[649,6],[901,6],[974,6]]},"302":{"position":[[162,6],[273,6]]},"303":{"position":[[174,6],[297,6]]},"304":{"position":[[195,6],[329,6]]},"305":{"position":[[210,6],[354,6]]},"306":{"position":[[252,6],[353,6]]},"307":{"position":[[460,6],[545,6]]},"313":{"position":[[55,6],[78,6]]},"316":{"position":[[14,6],[47,6],[80,6],[134,6]]},"326":{"position":[[524,6],[619,6],[659,6]]},"328":{"position":[[44,6]]},"332":{"position":[[335,6]]},"333":{"position":[[904,8],[1301,6],[1345,6],[1395,6],[1441,6]]},"358":{"position":[[528,6],[741,6],[1488,6],[2215,6],[2233,6],[2690,6],[4688,6],[6421,6]]},"359":{"position":[[58,6],[153,6],[192,6],[598,6],[1199,6],[1872,6],[1967,6],[2006,6],[2126,6],[2437,6]]},"362":{"position":[[311,6],[641,6],[709,6],[962,6]]},"364":{"position":[[612,6],[768,6],[910,6],[1154,8]]},"369":{"position":[[1154,6],[1227,6],[1310,6],[1384,6],[1460,6],[1550,6],[1623,6],[1704,6],[1775,6],[1846,6],[2645,6],[2716,6],[2801,6],[2875,6],[2950,6],[3040,6],[3113,6],[3195,6],[3266,6],[3337,6]]},"373":{"position":[[183,6],[284,6]]},"378":{"position":[[456,6]]},"379":{"position":[[85,6],[3569,6]]},"380":{"position":[[235,6],[465,6],[523,6]]},"383":{"position":[[1225,6],[1472,6]]},"389":{"position":[[226,6],[1602,6],[2022,6],[2115,7]]},"390":{"position":[[227,6],[288,7],[537,7]]},"391":{"position":[[40,7]]},"392":{"position":[[715,6]]},"393":{"position":[[62,7],[121,7],[383,7]]},"397":{"position":[[43,6]]},"404":{"position":[[2528,6]]},"424":{"position":[[264,7]]},"426":{"position":[[276,7],[417,6]]},"427":{"position":[[109,7]]},"429":{"position":[[1,7]]},"432":{"position":[[1029,7],[1269,7],[1344,7],[1479,7]]},"434":{"position":[[172,7],[452,7]]},"436":{"position":[[32,7]]},"437":{"position":[[150,7]]},"602":{"position":[[41,6]]},"637":{"position":[[732,6]]},"795":{"position":[[766,6],[924,6]]}},"keywords":{}}],["openc3.bat",{"_index":2497,"title":{},"content":{"255":{"position":[[213,10]]},"333":{"position":[[346,10]]},"358":{"position":[[231,10],[793,10],[1437,10],[2255,10],[2395,10]]},"359":{"position":[[80,10],[1894,10]]},"382":{"position":[[311,10],[456,10]]},"396":{"position":[[186,10]]},"397":{"position":[[185,10]]}},"keywords":{}}],["openc3.cod",{"_index":908,"title":{},"content":{"42":{"position":[[229,11]]}},"keywords":{}}],["openc3.conversions.convers",{"_index":777,"title":{},"content":{"36":{"position":[[5838,29]]},"229":{"position":[[5838,29]]},"279":{"position":[[4318,29]]}},"keywords":{}}],["openc3.script",{"_index":1372,"title":{},"content":{"67":{"position":[[1306,13]]},"540":{"position":[[2728,13]]},"795":{"position":[[1579,13]]}},"keywords":{}}],["openc3.script.suit",{"_index":4301,"title":{},"content":{"533":{"position":[[587,19]]},"534":{"position":[[324,19]]},"561":{"position":[[592,19]]},"795":{"position":[[1607,19]]}},"keywords":{}}],["openc3.sh",{"_index":522,"title":{},"content":{"23":{"position":[[350,11]]},"42":{"position":[[638,9],[659,11],[2225,11]]},"209":{"position":[[23,9]]},"255":{"position":[[199,9]]},"301":{"position":[[180,9],[252,9]]},"302":{"position":[[182,9],[293,9]]},"303":{"position":[[194,9],[317,9]]},"304":{"position":[[215,9],[349,9]]},"305":{"position":[[230,9],[374,9]]},"306":{"position":[[272,9],[373,9]]},"307":{"position":[[480,9],[565,9]]},"309":{"position":[[3871,11]]},"310":{"position":[[749,11]]},"323":{"position":[[148,9]]},"326":{"position":[[545,11]]},"331":{"position":[[374,11],[782,11]]},"333":{"position":[[375,11],[989,9],[1043,11],[1062,11]]},"358":{"position":[[245,9],[806,9]]},"373":{"position":[[390,9],[499,9]]},"404":{"position":[[2551,11]]}},"keywords":{}}],["openc3.utilities.str",{"_index":4992,"title":{},"content":{"669":{"position":[[897,23]]}},"keywords":{}}],["openc3/conversions/convers",{"_index":766,"title":{},"content":{"36":{"position":[[5506,31]]},"229":{"position":[[5506,31]]},"279":{"position":[[3986,31]]}},"keywords":{}}],["openc3/conversions/unix_time_conversion.pi",{"_index":2621,"title":{},"content":{"275":{"position":[[1530,42]]}},"keywords":{}}],["openc3/cosmos:main",{"_index":3724,"title":{},"content":{"386":{"position":[[524,18]]}},"keywords":{}}],["openc3/interfaces/http_client_interface.pi",{"_index":1873,"title":{},"content":{"107":{"position":[[932,42]]}},"keywords":{}}],["openc3/interfaces/http_server_interface.pi",{"_index":1878,"title":{},"content":{"108":{"position":[[666,42]]}},"keywords":{}}],["openc3/interfaces/mqtt_interface.pi",{"_index":1893,"title":{},"content":{"109":{"position":[[1511,35]]}},"keywords":{}}],["openc3/interfaces/mqtt_stream_interface.pi",{"_index":1904,"title":{},"content":{"110":{"position":[[1869,42]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.pi",{"_index":1362,"title":{},"content":{"67":{"position":[[696,39]]}},"keywords":{}}],["openc3/interfaces/protocols/protocol.rb",{"_index":1361,"title":{},"content":{"67":{"position":[[645,39]]}},"keywords":{}}],["openc3/interfaces/tcpip_client_interface.pi",{"_index":1850,"title":{},"content":{"104":{"position":[[1731,43],[1881,43],[2010,43],[2140,43],[2293,43],[2420,43],[2555,43]]},"105":{"position":[[2173,43],[2393,43]]},"130":{"position":[[282,43]]},"131":{"position":[[375,43]]},"132":{"position":[[381,43]]},"139":{"position":[[1004,43]]},"358":{"position":[[6812,43]]}},"keywords":{}}],["openc3/interfaces/tcpip_server_interface.pi",{"_index":1858,"title":{},"content":{"105":{"position":[[1695,43],[1824,43],[1932,43],[2041,43],[2279,43]]}},"keywords":{}}],["openc3/interfaces/udp_interface.pi",{"_index":1868,"title":{},"content":{"106":{"position":[[1041,34]]}},"keywords":{}}],["openc3/lib/openc3/microservic",{"_index":2072,"title":{},"content":{"143":{"position":[[472,34]]}},"keywords":{}}],["openc3/openc3",{"_index":980,"title":{},"content":{"42":{"position":[[2381,13],[2503,13],[2637,13],[2747,13],[2835,13],[2945,13]]}},"keywords":{}}],["openc3/packets/command_valid",{"_index":2441,"title":{},"content":{"251":{"position":[[631,34]]}},"keywords":{}}],["openc3/script",{"_index":1366,"title":{},"content":{"67":{"position":[[1039,15]]}},"keywords":{}}],["openc3/script/suite.rb",{"_index":4293,"title":{},"content":{"533":{"position":[[362,24]]},"795":{"position":[[1071,24]]}},"keywords":{}}],["openc3/tool",{"_index":1027,"title":{},"content":{"43":{"position":[[850,13]]}},"keywords":{}}],["openc3/win32/excel",{"_index":4580,"title":{},"content":{"571":{"position":[[506,20]]}},"keywords":{}}],["openc3::commandvalid",{"_index":2443,"title":{},"content":{"251":{"position":[[693,24]]}},"keywords":{}}],["openc3::group",{"_index":4295,"title":{},"content":{"533":{"position":[[411,13]]},"561":{"position":[[331,13]]},"572":{"position":[[590,13]]},"795":{"position":[[1120,13],[1207,13]]}},"keywords":{}}],["openc3::group.put",{"_index":4522,"title":{},"content":{"561":{"position":[[408,18]]}},"keywords":{}}],["openc3::suit",{"_index":4311,"title":{},"content":{"534":{"position":[[150,13]]},"795":{"position":[[1377,13]]}},"keywords":{}}],["openc3_languag",{"_index":3245,"title":{},"content":{"358":{"position":[[1354,15]]}},"keywords":{}}],["openc3_local_mode=1",{"_index":2993,"title":{},"content":{"325":{"position":[[85,20]]}},"keywords":{}}],["openc3_log_messag",{"_index":3088,"title":{},"content":{"339":{"position":[[31,19]]}},"keywords":{}}],["openc3_redis_ephemeral_hostname=127.0.0.1",{"_index":1052,"title":{},"content":{"44":{"position":[[1208,41]]}},"keywords":{}}],["openc3_redis_hostname=127.0.0.1",{"_index":1051,"title":{},"content":{"44":{"position":[[1141,31]]}},"keywords":{}}],["openc3_tag",{"_index":3072,"title":{},"content":{"333":{"position":[[449,10]]}},"keywords":{}}],["openc3_tag=5.1.1",{"_index":3696,"title":{},"content":{"382":{"position":[[386,16]]}},"keywords":{}}],["openc3auth.updatetoken(openc3auth.defaultminvalidity).then",{"_index":3880,"title":{},"content":{"402":{"position":[[2534,61],[3537,61]]}},"keywords":{}}],["openc3cli",{"_index":2913,"title":{"315":{"position":[[17,10]]}},"content":{"313":{"position":[[289,9]]},"314":{"position":[[411,9]]},"315":{"position":[[1,9],[61,9],[290,9]]}},"keywords":{}}],["openc3inc",{"_index":3036,"title":{},"content":{"331":{"position":[[406,9],[498,9]]}},"keywords":{}}],["openc3inc/openc3",{"_index":926,"title":{},"content":{"42":{"position":[[957,16],[1025,16],[1106,16],[1179,16],[1242,16],[1301,16],[1361,16],[1423,16],[1483,16],[1542,16]]}},"keywords":{}}],["opendistro",{"_index":3343,"title":{"363":{"position":[[0,11]]}},"content":{"363":{"position":[[383,10]]}},"keywords":{}}],["opendistro_secur",{"_index":3353,"title":{},"content":{"363":{"position":[[590,19]]}},"keywords":{}}],["openopen",{"_index":4272,"title":{},"content":{"528":{"position":[[110,9]]}},"keywords":{}}],["opensourc",{"_index":3871,"title":{},"content":{"402":{"position":[[1792,10]]}},"keywords":{}}],["openssl",{"_index":405,"title":{},"content":{"20":{"position":[[249,7],[315,7],[1498,7],[1537,7]]},"25":{"position":[[36,7]]},"27":{"position":[[22,7],[99,7],[266,7],[695,7],[821,7],[1071,8]]},"28":{"position":[[148,7]]}},"keywords":{}}],["openssl\\bin",{"_index":572,"title":{},"content":{"27":{"position":[[116,11]]}},"keywords":{}}],["oper",{"_index":941,"title":{},"content":{"42":{"position":[[1196,8],[2824,8]]},"57":{"position":[[439,8]]},"86":{"position":[[314,11]]},"95":{"position":[[181,9]]},"96":{"position":[[517,9]]},"115":{"position":[[1663,7],[1822,7]]},"148":{"position":[[16,8],[64,8],[110,8]]},"177":{"position":[[16,8],[64,8],[110,8]]},"191":{"position":[[16,8],[64,8],[110,8]]},"257":{"position":[[118,9]]},"258":{"position":[[333,9],[508,9],[883,8]]},"279":{"position":[[9640,11],[9811,11],[10027,11],[10197,11]]},"302":{"position":[[79,7]]},"303":{"position":[[91,7]]},"304":{"position":[[87,7]]},"305":{"position":[[97,7]]},"306":{"position":[[169,7]]},"307":{"position":[[80,7]]},"309":{"position":[[624,9],[1498,9]]},"317":{"position":[[108,8]]},"328":{"position":[[79,9]]},"344":{"position":[[927,9]]},"349":{"position":[[1488,10],[1583,10],[6815,10]]},"369":{"position":[[1391,8],[2882,8],[3574,9]]},"373":{"position":[[190,9],[291,9]]},"380":{"position":[[369,8],[1794,8],[1989,8]]},"390":{"position":[[440,10],[1335,11]]},"419":{"position":[[11,8]]},"421":{"position":[[373,9]]},"426":{"position":[[616,9]]},"447":{"position":[[193,9]]},"452":{"position":[[177,10]]},"522":{"position":[[783,9]]},"533":{"position":[[62,11]]},"535":{"position":[[1123,8]]},"538":{"position":[[160,10]]},"544":{"position":[[1062,9]]},"546":{"position":[[865,10]]},"547":{"position":[[66,10]]},"552":{"position":[[803,10]]},"561":{"position":[[22,9]]},"592":{"position":[[306,8]]},"741":{"position":[[1312,11],[1462,11]]}},"keywords":{}}],["operand"",{"_index":4001,"title":{},"content":{"421":{"position":[[231,14],[336,13],[421,13]]}},"keywords":{}}],["operator:latest",{"_index":993,"title":{},"content":{"42":{"position":[[2761,15]]}},"keywords":{}}],["operator_1"",{"_index":3682,"title":{},"content":{"380":{"position":[[920,17]]}},"keywords":{}}],["opportun",{"_index":1446,"title":{},"content":{"73":{"position":[[1797,11]]},"402":{"position":[[2076,11]]},"427":{"position":[[523,11]]},"433":{"position":[[27,11]]}},"keywords":{}}],["opposit",{"_index":4693,"title":{},"content":{"612":{"position":[[744,9]]}},"keywords":{}}],["opt",{"_index":4017,"title":{"433":{"position":[[10,3]]}},"content":{"424":{"position":[[253,4]]},"431":{"position":[[724,3],[815,3],[926,3]]},"433":{"position":[[42,3],[144,3]]}},"keywords":{}}],["optim",{"_index":1017,"title":{},"content":{"43":{"position":[[516,10]]},"552":{"position":[[1394,9]]}},"keywords":{}}],["option",{"_index":153,"title":{"140":{"position":[[0,7]]},"186":{"position":[[0,7]]},"535":{"position":[[13,8]]}},"content":{"5":{"position":[[379,8],[1296,9]]},"12":{"position":[[111,9],[526,8]]},"20":{"position":[[846,6],[1518,8]]},"29":{"position":[[106,8]]},"48":{"position":[[1200,10],[3088,10],[3503,10],[3636,10]]},"67":{"position":[[4579,7]]},"82":{"position":[[1178,8],[1203,8]]},"83":{"position":[[1886,8]]},"91":{"position":[[706,9],[1056,8],[1616,8]]},"105":{"position":[[719,8],[729,7],[815,6],[1607,6]]},"108":{"position":[[326,8],[336,7],[422,6]]},"109":{"position":[[682,8],[692,7],[778,6],[1465,6],[1571,6],[1680,6]]},"110":{"position":[[1016,8],[1026,7],[1112,6],[1823,6],[1953,6],[2062,6]]},"111":{"position":[[911,8],[921,7],[1007,6],[1922,6],[1949,6]]},"112":{"position":[[267,8],[277,7],[363,6],[953,6]]},"113":{"position":[[318,8],[328,7],[414,6],[549,6]]},"140":{"position":[[42,6],[172,7],[231,6],[269,7],[637,6],[741,6],[768,6],[876,6]]},"141":{"position":[[99,10],[134,7],[565,6],[587,6],[678,6],[700,6]]},"186":{"position":[[9,6],[58,7],[186,6],[231,7],[315,6],[327,6],[384,6]]},"209":{"position":[[160,6],[300,10]]},"217":{"position":[[2365,8]]},"219":{"position":[[336,8]]},"275":{"position":[[1154,12]]},"279":{"position":[[10671,7],[10705,7]]},"288":{"position":[[319,7],[353,7]]},"309":{"position":[[1,8],[23,6],[2814,8]]},"310":{"position":[[364,8]]},"314":{"position":[[1370,6],[1416,6],[1585,6]]},"348":{"position":[[1534,10],[1698,10]]},"352":{"position":[[453,6]]},"358":{"position":[[2444,8],[7091,6]]},"380":{"position":[[1386,8]]},"402":{"position":[[3240,8]]},"404":{"position":[[1416,7]]},"422":{"position":[[717,10]]},"447":{"position":[[101,8]]},"467":{"position":[[142,7]]},"468":{"position":[[231,7],[535,8]]},"476":{"position":[[198,7]]},"511":{"position":[[64,8]]},"513":{"position":[[571,6]]},"526":{"position":[[283,7]]},"531":{"position":[[43,8]]},"535":{"position":[[61,7],[1543,6]]},"554":{"position":[[274,6]]},"556":{"position":[[377,11]]},"559":{"position":[[1238,6]]},"571":{"position":[[76,6]]},"582":{"position":[[101,7]]},"639":{"position":[[229,6]]},"648":{"position":[[64,8]]},"654":{"position":[[916,6]]},"664":{"position":[[443,9]]},"665":{"position":[[409,9]]},"673":{"position":[[1038,8],[1111,8],[1570,8],[1964,8]]},"677":{"position":[[1133,8],[1219,8],[1399,8]]},"678":{"position":[[1355,8],[1441,8]]},"679":{"position":[[1376,8],[1462,8]]},"680":{"position":[[1409,8],[1495,8]]},"681":{"position":[[1209,8],[1295,8]]},"682":{"position":[[1426,8],[1512,8]]},"683":{"position":[[1447,8],[1533,8]]},"684":{"position":[[1480,8],[1566,8]]},"692":{"position":[[377,11]]},"711":{"position":[[404,8]]},"723":{"position":[[526,11]]},"741":{"position":[[1192,9],[1342,9],[1492,9],[1631,9],[1819,9]]},"743":{"position":[[165,11]]}},"keywords":{}}],["optional>",{"_index":5177,"title":{},"content":{"692":{"position":[[215,13]]},"693":{"position":[[384,13]]}},"keywords":{}}],["optional>"",{"_index":5190,"title":{},"content":{"694":{"position":[[112,19],[157,19]]},"697":{"position":[[437,19]]},"700":{"position":[[224,19]]}},"keywords":{}}],["optional)>",{"_index":5352,"title":{},"content":{"722":{"position":[[794,15]]},"724":{"position":[[530,15]]},"725":{"position":[[453,15]]},"726":{"position":[[416,15]]},"727":{"position":[[432,15]]},"728":{"position":[[465,15]]},"729":{"position":[[339,15]]},"741":{"position":[[399,15],[430,15],[461,15],[493,15],[521,15]]},"752":{"position":[[160,15]]},"761":{"position":[[121,15]]},"780":{"position":[[173,15],[204,15]]},"787":{"position":[[335,15],[366,15]]}},"keywords":{}}],["optional)>"",{"_index":5523,"title":{},"content":{"754":{"position":[[168,21]]},"755":{"position":[[166,21]]},"766":{"position":[[159,21]]},"767":{"position":[[157,21]]}},"keywords":{}}],["optionalraspbeerri",{"_index":3927,"title":{},"content":{"404":{"position":[[263,18]]}},"keywords":{}}],["options)open",{"_index":1626,"title":{},"content":{"83":{"position":[[1708,12]]}},"keywords":{}}],["orang",{"_index":4708,"title":{},"content":{"619":{"position":[[336,7]]}},"keywords":{}}],["orbit",{"_index":1805,"title":{},"content":{"96":{"position":[[628,6]]},"546":{"position":[[907,5]]}},"keywords":{}}],["order",{"_index":789,"title":{},"content":{"36":{"position":[[6413,5],[6492,5],[6534,5],[6588,5],[7209,5],[7288,5],[7330,5],[7384,5],[9939,5]]},"48":{"position":[[1850,5],[2512,5],[5011,5]]},"67":{"position":[[3661,5],[3828,7]]},"152":{"position":[[65,5]]},"159":{"position":[[74,5]]},"229":{"position":[[6413,5],[6492,5],[6534,5],[6588,5],[7209,5],[7288,5],[7330,5],[7384,5],[9939,5]]},"258":{"position":[[479,5]]},"279":{"position":[[4952,5],[5031,5],[5073,5],[5127,5],[5810,5],[5889,5],[5931,5],[5985,5]]},"302":{"position":[[988,5]]},"342":{"position":[[253,5]]},"424":{"position":[[1687,5]]},"426":{"position":[[364,5],[749,5],[789,5],[857,5],[1212,5]]},"429":{"position":[[553,6]]},"432":{"position":[[356,5],[421,5],[556,7]]},"445":{"position":[[116,5]]},"506":{"position":[[180,5],[214,5]]},"524":{"position":[[175,5],[208,5]]}},"keywords":{}}],["order.mak",{"_index":3720,"title":{},"content":{"386":{"position":[[298,10]]}},"keywords":{}}],["organ",{"_index":428,"title":{"548":{"position":[[7,13]]},"549":{"position":[[0,10]]},"550":{"position":[[0,8]]}},"content":{"20":{"position":[[571,12]]},"332":{"position":[[232,13],[440,13]]},"348":{"position":[[177,9]]},"349":{"position":[[827,9]]},"351":{"position":[[36,8],[136,9]]},"420":{"position":[[14,9],[63,12]]},"549":{"position":[[140,12]]},"550":{"position":[[83,12]]},"551":{"position":[[53,8]]},"574":{"position":[[265,9]]},"609":{"position":[[21,9]]},"610":{"position":[[21,9]]}},"keywords":{}}],["organis",{"_index":4035,"title":{},"content":{"424":{"position":[[1639,14],[1980,14]]}},"keywords":{}}],["organiz",{"_index":431,"title":{},"content":{"20":{"position":[[627,14]]},"450":{"position":[[134,14]]}},"keywords":{}}],["orient",{"_index":34,"title":{},"content":{"2":{"position":[[59,8]]},"343":{"position":[[150,8]]},"551":{"position":[[19,8]]}},"keywords":{}}],["origin",{"_index":1291,"title":{},"content":{"61":{"position":[[71,8],[915,10]]},"81":{"position":[[728,6]]},"82":{"position":[[6469,6]]},"83":{"position":[[964,8]]},"100":{"position":[[1104,8]]},"252":{"position":[[112,8]]},"296":{"position":[[114,8]]},"326":{"position":[[364,10],[450,8]]},"386":{"position":[[466,6]]},"393":{"position":[[278,8]]},"669":{"position":[[118,9],[362,8],[390,8],[591,9],[814,9]]},"670":{"position":[[332,8]]},"671":{"position":[[322,8]]}},"keywords":{}}],["original=fals",{"_index":4985,"title":{},"content":{"669":{"position":[[200,15]]}},"keywords":{}}],["original=tru",{"_index":4995,"title":{},"content":{"669":{"position":[[1139,14]]}},"keywords":{}}],["os",{"_index":2866,"title":{},"content":{"309":{"position":[[1992,2]]},"404":{"position":[[424,2],[797,2],[839,2],[1568,2]]}},"keywords":{}}],["os"",{"_index":3944,"title":{},"content":{"404":{"position":[[756,8]]}},"keywords":{}}],["oscilloscop",{"_index":15,"title":{},"content":{"1":{"position":[[157,14]]}},"keywords":{}}],["other",{"_index":2385,"title":{},"content":{"225":{"position":[[363,7]]},"271":{"position":[[393,7]]},"383":{"position":[[1610,8]]},"430":{"position":[[95,7]]},"543":{"position":[[174,7]]},"552":{"position":[[368,6]]},"572":{"position":[[477,7]]}},"keywords":{}}],["other)"select",{"_index":3947,"title":{},"content":{"404":{"position":[[800,19]]}},"keywords":{}}],["otherwis",{"_index":3786,"title":{},"content":{"390":{"position":[[1053,10]]}},"keywords":{}}],["our_target",{"_index":4355,"title":{},"content":{"540":{"position":[[2016,11],[2931,11],[3323,12],[4127,12]]}},"keywords":{}}],["our_targets.each",{"_index":4363,"title":{},"content":{"540":{"position":[[2397,16]]}},"keywords":{}}],["out",{"_index":97,"title":{"433":{"position":[[14,4]]}},"content":{"3":{"position":[[176,3]]},"20":{"position":[[387,3]]},"27":{"position":[[310,3],[747,3],[851,3]]},"28":{"position":[[202,3]]},"50":{"position":[[210,3]]},"53":{"position":[[482,3]]},"61":{"position":[[895,3],[2606,3]]},"64":{"position":[[192,3]]},"67":{"position":[[4131,3],[4744,3],[4934,3],[5030,3]]},"75":{"position":[[346,3]]},"76":{"position":[[91,3],[345,3]]},"77":{"position":[[71,3],[379,3]]},"83":{"position":[[139,3],[1433,3]]},"100":{"position":[[1021,3]]},"117":{"position":[[345,3]]},"121":{"position":[[43,3]]},"139":{"position":[[228,4]]},"174":{"position":[[45,3]]},"216":{"position":[[374,3]]},"217":{"position":[[2556,3]]},"271":{"position":[[1877,3]]},"275":{"position":[[363,3]]},"279":{"position":[[8047,3]]},"320":{"position":[[601,3]]},"321":{"position":[[1358,3]]},"324":{"position":[[373,3]]},"347":{"position":[[65,3],[130,3],[281,3],[598,3]]},"348":{"position":[[1330,4],[1483,3]]},"358":{"position":[[4630,3],[5880,3]]},"369":{"position":[[4088,3]]},"382":{"position":[[791,3]]},"387":{"position":[[489,3]]},"390":{"position":[[1078,3]]},"424":{"position":[[258,4]]},"426":{"position":[[975,3]]},"431":{"position":[[671,3],[728,3],[819,3],[930,3]]},"433":{"position":[[46,3],[148,3]]},"470":{"position":[[291,3]]},"472":{"position":[[310,3],[548,3]]},"473":{"position":[[830,3],[1294,3]]},"528":{"position":[[812,3]]},"545":{"position":[[181,3]]},"554":{"position":[[538,3]]},"556":{"position":[[461,3]]},"563":{"position":[[467,3]]},"574":{"position":[[285,3]]},"611":{"position":[[378,3]]},"635":{"position":[[269,3]]},"658":{"position":[[965,3]]},"722":{"position":[[1141,3]]},"723":{"position":[[908,3]]},"724":{"position":[[694,3]]},"726":{"position":[[147,4],[753,3]]},"727":{"position":[[804,3]]},"728":{"position":[[619,3]]},"729":{"position":[[549,3]]},"741":{"position":[[1685,3]]},"742":{"position":[[103,3]]}},"keywords":{}}],["out_of_limits_item",{"_index":5429,"title":{},"content":{"742":{"position":[[165,19]]}},"keywords":{}}],["outclick",{"_index":3965,"title":{},"content":{"404":{"position":[[1534,8]]}},"keywords":{}}],["outform",{"_index":598,"title":{},"content":{"28":{"position":[[189,7]]}},"keywords":{}}],["outgo",{"_index":1160,"title":{},"content":{"50":{"position":[[1067,8]]},"53":{"position":[[1035,8]]},"54":{"position":[[1504,8]]},"55":{"position":[[2506,8]]},"56":{"position":[[1336,8]]},"58":{"position":[[108,8]]},"60":{"position":[[828,8]]},"61":{"position":[[548,8],[991,8],[2508,8]]},"65":{"position":[[34,8],[197,8]]},"106":{"position":[[431,8],[552,8]]},"139":{"position":[[452,8]]},"221":{"position":[[92,8]]}},"keywords":{}}],["output",{"_index":203,"title":{"480":{"position":[[20,7]]},"561":{"position":[[0,10]]}},"content":{"6":{"position":[[197,6],[606,6],[710,7]]},"7":{"position":[[794,6]]},"67":{"position":[[2204,6],[4228,7]]},"75":{"position":[[96,6]]},"149":{"position":[[39,6]]},"271":{"position":[[1266,6]]},"340":{"position":[[548,6]]},"383":{"position":[[1003,7]]},"396":{"position":[[167,6],[249,6]]},"397":{"position":[[166,6],[245,6]]},"476":{"position":[[221,6]]},"478":{"position":[[122,6],[148,6]]},"479":{"position":[[88,6]]},"536":{"position":[[151,6]]},"540":{"position":[[3944,7]]},"603":{"position":[[115,6]]},"636":{"position":[[100,6]]},"697":{"position":[[244,7]]},"791":{"position":[[79,6],[252,6]]},"792":{"position":[[78,6]]}},"keywords":{}}],["outsid",{"_index":2925,"title":{},"content":{"314":{"position":[[2038,7]]},"383":{"position":[[440,7]]},"432":{"position":[[34,7]]},"452":{"position":[[128,7]]},"540":{"position":[[925,7]]}},"keywords":{}}],["over",{"_index":1827,"title":{},"content":{"100":{"position":[[538,4]]},"109":{"position":[[365,4]]},"111":{"position":[[43,4]]},"176":{"position":[[119,4]]},"190":{"position":[[125,4]]},"201":{"position":[[117,4]]},"205":{"position":[[119,4]]},"309":{"position":[[390,4]]},"312":{"position":[[151,4]]},"326":{"position":[[979,4]]},"343":{"position":[[1144,4]]},"364":{"position":[[179,4]]},"369":{"position":[[4152,4]]},"378":{"position":[[618,4]]},"387":{"position":[[338,4]]},"402":{"position":[[435,4]]},"429":{"position":[[651,4]]},"473":{"position":[[634,4]]},"476":{"position":[[140,4]]},"522":{"position":[[531,4]]},"528":{"position":[[899,4]]},"540":{"position":[[4542,4]]},"547":{"position":[[132,4],[141,4],[388,4]]},"552":{"position":[[1634,4]]},"554":{"position":[[869,4]]},"605":{"position":[[113,4]]},"725":{"position":[[913,4]]},"729":{"position":[[891,4]]}},"keywords":{}}],["overal",{"_index":3098,"title":{"343":{"position":[[0,7]]},"344":{"position":[[0,7]]}},"content":{"346":{"position":[[61,7]]},"349":{"position":[[1209,7]]},"472":{"position":[[44,7]]},"473":{"position":[[986,7]]},"550":{"position":[[151,7]]},"577":{"position":[[183,8]]},"743":{"position":[[13,7],[272,7]]}},"keywords":{}}],["overall_limits_st",{"_index":5434,"title":{},"content":{"743":{"position":[[370,20],[420,20]]}},"keywords":{}}],["overflow",{"_index":833,"title":{},"content":{"36":{"position":[[9629,9],[9678,9],[9766,9],[9850,8],[10299,8],[10450,8]]},"229":{"position":[[9629,9],[9678,9],[9766,9],[9850,8],[10299,8],[10450,8]]},"690":{"position":[[1442,11]]}},"keywords":{}}],["overhead",{"_index":1162,"title":{},"content":{"51":{"position":[[16,8]]}},"keywords":{}}],["overlap",{"_index":681,"title":{},"content":{"36":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"229":{"position":[[1059,8],[1108,7],[1168,8],[1258,7]]},"279":{"position":[[1054,8],[1103,7],[1163,8],[1253,7]]},"294":{"position":[[48,7],[77,7],[149,7],[179,8]]},"306":{"position":[[509,7]]},"420":{"position":[[204,11]]},"450":{"position":[[165,11],[209,7]]}},"keywords":{}}],["overload",{"_index":3411,"title":{},"content":{"368":{"position":[[802,10]]}},"keywords":{}}],["overrid",{"_index":361,"title":{},"content":{"15":{"position":[[197,9]]},"16":{"position":[[201,9]]},"36":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"38":{"position":[[57,8]]},"43":{"position":[[597,8]]},"44":{"position":[[1020,8]]},"138":{"position":[[899,8]]},"140":{"position":[[127,8]]},"225":{"position":[[381,8]]},"229":{"position":[[521,8],[2298,8],[2432,8],[2566,8]]},"235":{"position":[[146,8]]},"252":{"position":[[143,8]]},"271":{"position":[[411,8]]},"279":{"position":[[516,8]]},"285":{"position":[[145,8],[468,9]]},"296":{"position":[[147,8],[542,9]]},"315":{"position":[[261,8],[458,8]]},"712":{"position":[[175,8],[458,9]]},"713":{"position":[[12,8],[448,9],[543,8],[635,9],[730,8]]}},"keywords":{}}],["overridden",{"_index":1365,"title":{},"content":{"67":{"position":[[947,10]]},"115":{"position":[[926,10]]},"529":{"position":[[91,10]]},"714":{"position":[[39,10],[126,10]]}},"keywords":{}}],["override_tlm",{"_index":4912,"title":{"712":{"position":[[0,13]]}},"content":{"662":{"position":[[2834,12]]},"714":{"position":[[64,13],[187,13]]}},"keywords":{}}],["override_tlm("<target>",{"_index":5307,"title":{},"content":{"712":{"position":[[251,33]]}},"keywords":{}}],["override_tlm("inst",{"_index":5308,"title":{},"content":{"712":{"position":[[566,23],[655,23],[765,23],[854,23]]},"714":{"position":[[258,23],[1279,23]]}},"keywords":{}}],["override_tlm_raw",{"_index":4911,"title":{},"content":{"662":{"position":[[2772,16]]}},"keywords":{}}],["overview",{"_index":1820,"title":{"100":{"position":[[0,9]]},"398":{"position":[[11,8]]},"419":{"position":[[0,9]]}},"content":{"523":{"position":[[346,8]]},"524":{"position":[[468,8]]},"550":{"position":[[130,8]]}},"keywords":{}}],["overwrit",{"_index":4227,"title":{},"content":{"499":{"position":[[133,9],[407,9]]}},"keywords":{}}],["overwritten",{"_index":4999,"title":{},"content":{"670":{"position":[[425,12]]},"710":{"position":[[85,11]]}},"keywords":{}}],["own",{"_index":3999,"title":{},"content":{"421":{"position":[[195,4]]},"504":{"position":[[69,5]]}},"keywords":{}}],["oylnwe0v3ajcytbvia3dp8rgo6bvv0ogkjwtlda6mbkyzn",{"_index":1563,"title":{},"content":{"82":{"position":[[4269,46]]}},"keywords":{}}],["p",{"_index":1045,"title":{},"content":{"44":{"position":[[574,1]]},"309":{"position":[[3105,1]]}},"keywords":{}}],["p1234:1234/udp",{"_index":3596,"title":{},"content":{"377":{"position":[[194,14]]}},"keywords":{}}],["p1235:1235",{"_index":3597,"title":{},"content":{"377":{"position":[[210,10]]}},"keywords":{}}],["p7",{"_index":3057,"title":{},"content":{"332":{"position":[[928,5]]}},"keywords":{}}],["p7b",{"_index":3056,"title":{},"content":{"332":{"position":[[922,5]]}},"keywords":{}}],["packag",{"_index":2503,"title":{"412":{"position":[[0,9]]}},"content":{"257":{"position":[[216,7],[359,8]]},"258":{"position":[[67,8]]},"309":{"position":[[1393,8],[1536,8],[1631,8]]},"412":{"position":[[5,8],[53,8],[108,8]]},"416":{"position":[[286,7]]},"432":{"position":[[685,10]]}},"keywords":{}}],["package.json",{"_index":2819,"title":{},"content":{"307":{"position":[[1357,12]]},"320":{"position":[[779,12],[809,12]]}},"keywords":{}}],["packet",{"_index":277,"title":{"46":{"position":[[0,6]]},"50":{"position":[[0,6]]},"66":{"position":[[7,6]]},"175":{"position":[[0,7]]},"275":{"position":[[18,6]]},"350":{"position":[[0,6]]},"486":{"position":[[0,6]]},"488":{"position":[[0,6]]},"491":{"position":[[10,8]]},"514":{"position":[[8,7]]},"515":{"position":[[10,7]]},"562":{"position":[[65,8]]},"715":{"position":[[0,6]]}},"content":{"7":{"position":[[1158,6]]},"14":{"position":[[143,6],[213,7]]},"17":{"position":[[24,6],[369,6]]},"18":{"position":[[26,7],[212,7],[374,6]]},"35":{"position":[[455,6],[499,6]]},"36":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6288,6],[6919,6],[7983,6],[8138,8],[8183,6],[8219,6],[8812,6]]},"37":{"position":[[248,6],[292,6]]},"46":{"position":[[1,6],[61,7],[127,7]]},"47":{"position":[[10,6]]},"48":{"position":[[1,6],[183,6],[436,6],[464,6],[485,6],[1340,6],[1554,6],[1604,6],[1988,6],[2029,6],[2046,6],[2062,6],[2105,7],[2117,7],[2194,7],[2263,7],[2525,6],[2568,6],[2612,6],[2687,6],[2727,6],[2768,6],[2871,7],[2907,6],[2976,6],[2996,6],[3333,6],[3402,6],[3422,6],[3752,6],[3806,6],[3826,6],[3893,6],[3984,6],[4072,6],[4718,7],[4736,7],[4833,6],[4978,6],[5024,6],[5067,6],[5111,6],[5239,6]]},"50":{"position":[[31,6],[214,7],[284,6],[1034,7],[1076,7]]},"51":{"position":[[144,6],[173,6],[262,8],[316,6],[386,9],[507,6],[544,6]]},"52":{"position":[[83,7],[196,7],[254,7],[494,6]]},"53":{"position":[[113,6],[134,6],[879,6],[1044,7]]},"54":{"position":[[114,7],[166,6],[253,6],[315,7],[384,7],[837,7],[853,6],[1277,6],[1513,7],[1589,6]]},"55":{"position":[[82,7],[213,7],[242,7],[655,6],[689,6],[1162,6],[1268,6],[2177,6],[2515,8],[2680,6],[2778,7],[3009,6],[3248,6]]},"56":{"position":[[36,7],[99,7],[207,6],[241,7],[332,6],[546,7],[678,7],[832,6],[1179,6],[1345,7]]},"57":{"position":[[143,7]]},"60":{"position":[[682,6],[837,7]]},"61":{"position":[[401,7],[464,6],[557,8],[615,7],[823,6],[936,7],[1000,6],[1359,7],[1491,7],[2004,6],[2351,6],[2517,7]]},"62":{"position":[[39,7],[161,6],[469,6]]},"64":{"position":[[88,7],[454,6],[584,6],[810,6]]},"65":{"position":[[90,8],[206,7],[290,7],[357,8],[544,6]]},"66":{"position":[[12,6],[52,7],[103,8],[182,6],[207,6],[219,6],[238,6]]},"67":{"position":[[1160,7],[1434,7],[2180,6],[2224,7],[2463,7],[2613,7],[2935,6],[3084,6],[3151,6],[3303,6],[3375,6],[3444,6],[3487,6],[3848,6],[3942,6],[4045,7],[4177,7],[4214,6],[4285,6],[4662,7],[4898,7]]},"73":{"position":[[308,7],[457,7],[1828,7]]},"74":{"position":[[75,6],[173,6],[226,7],[278,7],[312,6],[456,6],[687,6],[720,6],[844,6],[914,8],[930,6],[978,6]]},"75":{"position":[[76,6],[172,6],[225,7],[277,7],[311,6],[472,6],[706,6],[777,8],[793,6],[841,6]]},"77":{"position":[[291,6],[1001,7],[1086,7],[1120,8]]},"92":{"position":[[826,6],[1021,6]]},"101":{"position":[[75,6]]},"106":{"position":[[28,7],[678,7]]},"109":{"position":[[1831,6],[2397,6]]},"110":{"position":[[2213,6]]},"115":{"position":[[1574,6],[1691,6],[1735,6],[1837,6]]},"117":{"position":[[214,6]]},"121":{"position":[[35,7]]},"139":{"position":[[1178,7]]},"149":{"position":[[56,7],[134,7],[232,7]]},"152":{"position":[[132,7]]},"159":{"position":[[36,7],[141,7]]},"174":{"position":[[258,7],[286,6]]},"175":{"position":[[16,6],[124,6]]},"183":{"position":[[166,6]]},"217":{"position":[[609,6],[666,6],[1183,6]]},"222":{"position":[[114,7]]},"225":{"position":[[45,7],[138,8]]},"226":{"position":[[23,6]]},"228":{"position":[[52,6],[197,6],[309,7],[484,6],[528,6]]},"229":{"position":[[1135,6],[1386,7],[4440,6],[4815,6],[5678,7],[6033,7],[6288,6],[6919,6],[7983,6],[8138,8],[8183,6],[8219,6],[8812,6]]},"230":{"position":[[52,6],[267,6],[311,6]]},"231":{"position":[[68,6],[171,6],[420,6],[532,7],[654,6],[698,6],[1301,7]]},"232":{"position":[[68,6],[171,6],[490,6],[534,6],[1137,7]]},"233":{"position":[[52,6],[214,6],[326,7],[655,6],[699,6]]},"234":{"position":[[52,6],[438,6],[482,6]]},"235":{"position":[[120,7]]},"236":{"position":[[63,6],[268,6]]},"242":{"position":[[78,6],[147,7]]},"245":{"position":[[50,6],[160,6],[172,6],[184,6],[218,6]]},"246":{"position":[[50,6],[172,6],[184,6],[196,6],[236,6]]},"247":{"position":[[153,6],[165,6]]},"249":{"position":[[28,6],[97,6],[170,7]]},"250":{"position":[[28,6]]},"251":{"position":[[777,6],[921,6],[1545,6],[1689,6]]},"252":{"position":[[29,6]]},"253":{"position":[[269,6],[713,6],[1147,6],[1591,6],[1917,6],[2361,6]]},"271":{"position":[[49,7],[164,8],[1227,6]]},"272":{"position":[[5,7],[83,6],[241,6],[315,7],[545,6]]},"273":{"position":[[69,6],[213,7],[361,7]]},"274":{"position":[[619,6]]},"275":{"position":[[63,7],[231,7],[339,6],[565,7],[1703,6],[1756,7]]},"276":{"position":[[25,6],[104,6],[166,7],[236,7],[354,6],[489,6]]},"278":{"position":[[51,6],[147,7],[201,6],[308,7],[482,6],[526,6]]},"279":{"position":[[1130,6],[1381,7],[3345,6],[4158,7],[4513,7],[4716,6],[5409,6],[6532,6],[6795,8],[6842,6],[6878,6]]},"280":{"position":[[51,6],[147,7],[274,6],[318,6]]},"281":{"position":[[51,7],[65,7],[136,7],[220,7],[317,7],[371,6],[478,7],[605,6],[649,6],[862,6]]},"282":{"position":[[51,6],[147,7],[274,6],[318,6],[531,6]]},"283":{"position":[[51,6],[164,7],[218,6],[325,7],[648,6],[692,6]]},"284":{"position":[[51,6],[164,7],[440,6],[484,6]]},"285":{"position":[[119,7]]},"286":{"position":[[59,6],[105,6],[249,6]]},"287":{"position":[[43,6]]},"288":{"position":[[59,6]]},"289":{"position":[[19,7],[90,6],[211,6]]},"290":{"position":[[22,6],[61,6],[87,6]]},"291":{"position":[[78,6],[147,7]]},"294":{"position":[[29,6],[58,6],[206,7]]},"295":{"position":[[28,6],[97,6],[170,7]]},"296":{"position":[[31,6],[353,6],[384,6],[418,6]]},"298":{"position":[[273,6],[297,6]]},"299":{"position":[[149,6],[235,6],[621,6],[689,6]]},"302":{"position":[[855,7],[1041,6]]},"312":{"position":[[279,6]]},"321":{"position":[[356,7],[532,6],[1064,6],[1626,6]]},"338":{"position":[[138,7]]},"342":{"position":[[320,6],[404,6],[413,6],[942,8],[1071,6],[1148,8]]},"344":{"position":[[499,7],[688,7],[724,7],[792,7]]},"345":{"position":[[674,7],[699,7],[778,7],[801,7]]},"346":{"position":[[604,7],[738,7],[874,8],[896,7],[976,6],[1018,6],[1048,7],[1106,7],[1580,7],[1591,6],[1617,7],[1643,6],[1673,7]]},"348":{"position":[[473,6],[531,6]]},"350":{"position":[[1,6],[85,6],[189,6],[240,6],[266,6],[307,6],[333,6],[374,6],[441,7],[492,6],[532,6],[712,6],[880,6],[955,6],[1025,6],[1140,6],[1396,6]]},"353":{"position":[[313,8],[336,7],[419,7]]},"354":{"position":[[55,7],[293,8],[404,8],[506,8]]},"358":{"position":[[1119,7],[3428,6],[3579,6],[4466,7],[5101,6],[5440,6],[5602,6],[5666,6],[5729,6],[5979,6],[6071,7],[6171,7],[6305,7]]},"367":{"position":[[181,8],[940,6],[973,6],[1103,7]]},"368":{"position":[[145,6]]},"369":{"position":[[2022,7],[2117,7],[2333,7]]},"380":{"position":[[2091,8],[2128,8],[2196,7],[2243,6]]},"402":{"position":[[221,7],[244,7],[356,7],[385,7],[2291,6],[2326,7],[3128,6],[3356,7],[3398,7],[3712,8],[3721,8],[3816,6],[4055,6],[4993,6],[5084,7],[5145,7],[5435,6],[5541,7],[5630,7],[5901,8],[5915,6],[6019,7],[6029,6],[6064,6],[6198,6]]},"459":{"position":[[32,6]]},"462":{"position":[[224,7],[527,7]]},"464":{"position":[[119,6]]},"467":{"position":[[135,6]]},"470":{"position":[[249,7]]},"472":{"position":[[348,7],[401,6]]},"473":{"position":[[546,8],[673,6],[754,6],[814,6],[953,7]]},"476":{"position":[[115,7]]},"479":{"position":[[162,6]]},"482":{"position":[[33,7],[126,6],[253,6],[376,6],[520,7]]},"487":{"position":[[1,6],[128,7]]},"491":{"position":[[19,6],[77,7],[146,7]]},"494":{"position":[[103,6]]},"504":{"position":[[171,6],[221,6],[285,6]]},"509":{"position":[[314,7]]},"512":{"position":[[148,6]]},"514":{"position":[[13,7]]},"515":{"position":[[15,7],[181,8],[240,7],[331,7],[359,6],[388,6],[438,7]]},"523":{"position":[[89,7],[111,6]]},"562":{"position":[[72,7],[167,7],[191,6],[245,8],[280,7]]},"563":{"position":[[319,6],[351,6],[406,7],[526,7],[625,7],[667,8],[842,7],[963,7],[993,6],[1003,8],[1174,7]]},"572":{"position":[[210,6],[259,6]]},"579":{"position":[[47,6],[152,7]]},"609":{"position":[[125,6],[141,6]]},"610":{"position":[[125,6],[141,6]]},"611":{"position":[[458,6],[474,6]]},"612":{"position":[[100,6],[116,6]]},"613":{"position":[[127,6],[143,6]]},"614":{"position":[[121,6],[137,6]]},"615":{"position":[[129,6],[145,6]]},"616":{"position":[[141,6],[157,6]]},"617":{"position":[[144,6],[160,6]]},"618":{"position":[[140,6],[156,6]]},"619":{"position":[[408,6],[424,6]]},"620":{"position":[[137,6],[153,6]]},"621":{"position":[[135,6],[151,6]]},"622":{"position":[[121,6],[137,6]]},"623":{"position":[[110,6],[126,6]]},"624":{"position":[[113,6],[129,6]]},"625":{"position":[[109,6],[125,6]]},"626":{"position":[[107,6],[123,6],[834,6],[850,6]]},"627":{"position":[[141,6],[157,6],[887,6],[903,6]]},"628":{"position":[[125,6],[141,6],[859,6],[875,6]]},"629":{"position":[[35,6],[106,6],[122,6]]},"630":{"position":[[131,6],[147,6]]},"631":{"position":[[119,6],[135,6]]},"633":{"position":[[153,6],[169,6]]},"634":{"position":[[105,6],[121,6]]},"635":{"position":[[349,6],[365,6]]},"648":{"position":[[143,6],[159,6]]},"650":{"position":[[335,6],[351,6]]},"652":{"position":[[207,6],[223,6]]},"659":{"position":[[211,6],[353,7]]},"687":{"position":[[152,7]]},"689":{"position":[[58,7],[280,6],[304,7]]},"691":{"position":[[11,6],[63,6],[361,6],[385,7],[409,6],[464,6],[913,6]]},"693":{"position":[[59,7]]},"697":{"position":[[534,6],[568,6]]},"698":{"position":[[476,6],[510,6]]},"701":{"position":[[324,6],[358,6]]},"702":{"position":[[11,6],[63,6],[344,6],[368,7],[401,6]]},"703":{"position":[[84,7],[458,6],[482,7]]},"704":{"position":[[115,6]]},"705":{"position":[[32,6],[196,7]]},"706":{"position":[[32,6]]},"707":{"position":[[11,6],[238,6],[262,7],[295,6]]},"708":{"position":[[288,6],[312,7],[637,6]]},"709":{"position":[[51,6],[299,6],[333,7],[471,6]]},"710":{"position":[[106,6],[525,6],[532,6]]},"711":{"position":[[11,6],[83,6],[251,6],[258,6]]},"712":{"position":[[128,6],[392,6],[399,6]]},"713":{"position":[[228,6],[235,6]]},"715":{"position":[[37,7],[111,6]]},"716":{"position":[[53,7]]},"717":{"position":[[9,6],[287,7],[370,7],[398,6],[511,7],[553,8],[723,6],[734,7],[799,8],[1015,7],[1045,6],[1055,8],[1221,6],[1232,7],[1283,6],[1293,8]]},"718":{"position":[[39,6],[235,6],[242,6]]},"719":{"position":[[50,7],[255,6],[262,6]]},"720":{"position":[[47,6],[269,6],[276,6]]},"722":{"position":[[900,6],[934,6]]},"723":{"position":[[632,6],[666,6]]},"725":{"position":[[45,7],[300,6],[522,6],[533,6],[549,7],[571,7],[905,7]]},"726":{"position":[[515,6],[549,6]]},"727":{"position":[[531,6],[565,6]]},"729":{"position":[[45,7],[192,7],[408,6],[419,6],[435,7],[457,7],[581,8],[883,7]]},"731":{"position":[[392,6],[426,6]]},"732":{"position":[[247,6],[281,6]]},"733":{"position":[[249,6],[283,6]]},"740":{"position":[[243,6],[277,6]]},"741":{"position":[[614,6],[648,6]]},"765":{"position":[[248,7],[270,7],[781,7],[1316,7]]},"800":{"position":[[50,6]]}},"keywords":{}}],["packet"",{"_index":3635,"title":{},"content":{"379":{"position":[[700,12],[3068,12]]},"482":{"position":[[455,13]]}},"keywords":{}}],["packet(",{"_index":4192,"title":{"482":{"position":[[17,9]]}},"content":{},"keywords":{}}],["packet.first",{"_index":3261,"title":{},"content":{"358":{"position":[[3502,12]]}},"keywords":{}}],["packet.packet_nam",{"_index":2445,"title":{},"content":{"251":{"position":[[896,18],[1664,18]]}},"keywords":{}}],["packet.read("item"",{"_index":2446,"title":{},"content":{"251":{"position":[[950,29],[1004,29],[1718,29],[1772,29]]}},"keywords":{}}],["packet.read('ccsdsday",{"_index":2718,"title":{},"content":{"299":{"position":[[1247,25]]}},"keywords":{}}],["packet.read('ccsdsmsod",{"_index":2720,"title":{},"content":{"299":{"position":[[1286,25],[1572,25]]}},"keywords":{}}],["packet.read('ccsdsusom",{"_index":2722,"title":{},"content":{"299":{"position":[[1324,26],[1598,26]]}},"keywords":{}}],["packet.target_nam",{"_index":2444,"title":{},"content":{"251":{"position":[[857,18],[1625,18]]}},"keywords":{}}],["packet/data",{"_index":1459,"title":{},"content":{"77":{"position":[[436,12],[486,11],[1183,11]]}},"keywords":{}}],["packet1",{"_index":4529,"title":{},"content":{"562":{"position":[[254,7],[381,7],[412,7],[595,7]]}},"keywords":{}}],["packet2",{"_index":4530,"title":{},"content":{"562":{"position":[[266,8],[488,7],[519,7],[606,7]]}},"keywords":{}}],["packet['buff",{"_index":5242,"title":{},"content":{"702":{"position":[[457,16]]}},"keywords":{}}],["packet['packet_name']}"",{"_index":4538,"title":{},"content":{"563":{"position":[[745,30],[1081,30]]},"717":{"position":[[631,30],[877,30],[1133,30],[1371,30]]}},"keywords":{}}],["packet['target_nam",{"_index":4537,"title":{},"content":{"563":{"position":[[720,24],[1057,23]]},"717":{"position":[[606,24],[852,24],[1109,23],[1347,23]]}},"keywords":{}}],["packet_nam",{"_index":1752,"title":{},"content":{"92":{"position":[[540,11],[990,11]]},"685":{"position":[[1203,14]]},"687":{"position":[[853,14]]},"689":{"position":[[895,14]]},"691":{"position":[[1083,14]]},"714":{"position":[[1392,14],[1506,14],[1626,14],[1748,14]]},"742":{"position":[[40,12]]},"743":{"position":[[311,14]]}},"keywords":{}}],["packet_tim",{"_index":2607,"title":{},"content":{"275":{"position":[[401,11],[1285,11],[1438,11],[1599,11]]}},"keywords":{}}],["packet_timeformat",{"_index":2602,"title":{},"content":{"275":{"position":[[91,21],[1645,20]]},"634":{"position":[[323,20]]},"693":{"position":[[111,23]]},"720":{"position":[[400,23]]}},"keywords":{}}],["packet_timesecond",{"_index":2601,"title":{},"content":{"275":{"position":[[71,19],[1622,18]]},"693":{"position":[[89,21]]},"720":{"position":[[377,22]]}},"keywords":{}}],["packetlog",{"_index":2127,"title":{},"content":{"174":{"position":[[415,10]]}},"keywords":{}}],["packets>",{"_index":5368,"title":{},"content":{"725":{"position":[[406,12]]},"729":{"position":[[292,12]]}},"keywords":{}}],["packets"",{"_index":878,"title":{},"content":{"40":{"position":[[754,13]]},"48":{"position":[[782,13]]}},"keywords":{}}],["packets.each",{"_index":4535,"title":{},"content":{"563":{"position":[[651,12]]},"717":{"position":[[537,12],[783,12]]}},"keywords":{}}],["packetswindow",{"_index":3521,"title":{},"content":{"369":{"position":[[3518,14]]}},"keywords":{}}],["pad",{"_index":850,"title":{"586":{"position":[[0,8]]}},"content":{"36":{"position":[[10658,7]]},"586":{"position":[[17,7],[26,7],[323,7]]}},"keywords":{}}],["page",{"_index":467,"title":{},"content":{"20":{"position":[[1563,5]]},"43":{"position":[[1070,4]]},"83":{"position":[[1599,4]]},"88":{"position":[[194,4],[409,4]]},"109":{"position":[[1781,4]]},"110":{"position":[[2163,4]]},"196":{"position":[[142,4]]},"216":{"position":[[83,5],[382,4],[597,4]]},"217":{"position":[[94,5],[2564,4],[2718,4]]},"358":{"position":[[1708,5]]},"359":{"position":[[506,4],[2055,4],[2884,5]]},"379":{"position":[[4021,5]]},"380":{"position":[[85,5]]},"392":{"position":[[408,4]]},"427":{"position":[[683,5]]},"433":{"position":[[269,5]]},"437":{"position":[[185,5]]},"457":{"position":[[221,5],[269,5],[364,4]]},"514":{"position":[[206,5]]},"515":{"position":[[218,5]]},"602":{"position":[[99,4]]}},"keywords":{}}],["pagin",{"_index":4143,"title":{},"content":{"454":{"position":[[556,10]]},"514":{"position":[[134,9]]},"515":{"position":[[137,9]]}},"keywords":{}}],["pain",{"_index":128,"title":{},"content":{"3":{"position":[[666,5]]}},"keywords":{}}],["pair",{"_index":709,"title":{},"content":{"36":{"position":[[2712,4],[2762,5]]},"77":{"position":[[428,4],[498,4]]},"82":{"position":[[145,5]]},"218":{"position":[[180,5]]},"229":{"position":[[2712,4],[2762,5]]},"260":{"position":[[158,5]]},"279":{"position":[[1937,4],[1974,5]]},"452":{"position":[[606,5]]},"716":{"position":[[262,5]]},"803":{"position":[[169,5]]},"804":{"position":[[172,5]]}},"keywords":{}}],["pane",{"_index":3094,"title":{},"content":{"340":{"position":[[516,4]]}},"keywords":{}}],["param",{"_index":1409,"title":{},"content":{"69":{"position":[[172,6]]},"86":{"position":[[221,6]]},"217":{"position":[[757,6]]},"369":{"position":[[497,7]]},"612":{"position":[[832,6]]},"619":{"position":[[221,6],[725,6]]},"637":{"position":[[1008,6]]},"677":{"position":[[903,5],[1018,5]]},"678":{"position":[[1125,5],[1240,5]]},"679":{"position":[[1146,5],[1261,5]]},"680":{"position":[[1179,5],[1294,5]]},"681":{"position":[[979,5],[1094,5]]},"682":{"position":[[1196,5],[1311,5]]},"683":{"position":[[1217,5],[1332,5]]},"684":{"position":[[1250,5],[1365,5]]},"690":{"position":[[414,5],[468,5],[1141,5]]},"692":{"position":[[206,6],[326,6]]},"700":{"position":[[215,6],[343,6]]}},"keywords":{}}],["paramet",{"_index":140,"title":{"5":{"position":[[10,11]]},"35":{"position":[[0,10]]},"36":{"position":[[0,9]]},"228":{"position":[[0,10]]},"229":{"position":[[0,9]]}},"content":{"5":{"position":[[80,11],[201,10],[312,10],[349,10],[406,10],[441,10],[561,9],[1065,10],[1127,9],[1252,9],[1368,10]]},"7":{"position":[[367,9]]},"11":{"position":[[282,9]]},"12":{"position":[[122,9]]},"13":{"position":[[26,9],[95,9],[204,9],[307,10],[319,9],[386,10],[412,9]]},"14":{"position":[[222,9]]},"15":{"position":[[364,9]]},"16":{"position":[[364,9]]},"32":{"position":[[65,9]]},"33":{"position":[[31,9],[503,10],[520,9],[719,10],[736,9]]},"35":{"position":[[11,9],[43,9],[90,10],[212,10],[329,11],[372,10],[591,9],[678,9],[807,10],[824,9],[899,9],[959,9],[1011,10],[1069,9],[1174,9],[1458,10],[1475,9],[1542,10],[1600,9],[1705,9]]},"36":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6166,9],[6306,9],[6796,9],[6937,9],[7860,10],[8077,11],[8493,10],[8770,10],[8961,9],[10239,9],[10498,9],[10573,10],[10749,9],[10817,10]]},"37":{"position":[[11,9],[43,9],[90,10],[165,10],[384,9],[471,9],[600,10],[617,9],[692,9],[752,9],[804,10],[862,9],[967,9],[1251,10],[1268,9],[1335,10],[1393,9],[1498,9]]},"38":{"position":[[90,9]]},"39":{"position":[[210,9]]},"50":{"position":[[454,9],[812,10],[901,9],[1105,9],[1165,10]]},"52":{"position":[[616,9]]},"53":{"position":[[505,9]]},"54":{"position":[[734,9]]},"55":{"position":[[562,9]]},"56":{"position":[[437,9]]},"57":{"position":[[259,10]]},"58":{"position":[[197,9]]},"59":{"position":[[86,9]]},"60":{"position":[[174,9]]},"61":{"position":[[1250,9]]},"62":{"position":[[310,9]]},"64":{"position":[[97,9]]},"65":{"position":[[100,9]]},"66":{"position":[[113,9]]},"67":{"position":[[218,10],[361,10],[514,10]]},"73":{"position":[[112,9]]},"74":{"position":[[135,9]]},"75":{"position":[[134,9]]},"76":{"position":[[126,9]]},"77":{"position":[[275,11],[839,9]]},"91":{"position":[[235,9],[462,9],[732,10],[774,9],[923,10],[949,9],[1087,9],[1162,10],[1460,9],[1641,10]]},"92":{"position":[[446,9],[569,9],[714,10],[740,9],[889,9]]},"100":{"position":[[928,11]]},"104":{"position":[[221,9]]},"105":{"position":[[245,9]]},"106":{"position":[[84,9]]},"107":{"position":[[223,9]]},"108":{"position":[[216,9]]},"109":{"position":[[440,9]]},"110":{"position":[[433,9]]},"111":{"position":[[207,9]]},"112":{"position":[[144,9]]},"113":{"position":[[148,9]]},"114":{"position":[[109,9]]},"125":{"position":[[337,11]]},"126":{"position":[[706,9]]},"128":{"position":[[355,9],[842,10]]},"130":{"position":[[37,9]]},"131":{"position":[[71,9]]},"132":{"position":[[72,9]]},"135":{"position":[[209,9]]},"138":{"position":[[326,9]]},"139":{"position":[[369,9],[640,10],[662,10]]},"140":{"position":[[7,9],[192,9],[600,10],[611,10]]},"141":{"position":[[183,9]]},"142":{"position":[[68,9]]},"143":{"position":[[223,9]]},"144":{"position":[[149,9]]},"145":{"position":[[117,9]]},"146":{"position":[[126,9]]},"147":{"position":[[105,9]]},"148":{"position":[[155,9]]},"149":{"position":[[392,9],[632,10]]},"150":{"position":[[23,9]]},"152":{"position":[[73,9]]},"153":{"position":[[56,9]]},"154":{"position":[[78,9]]},"155":{"position":[[48,9]]},"156":{"position":[[63,9]]},"157":{"position":[[85,9]]},"158":{"position":[[50,9]]},"159":{"position":[[82,9]]},"160":{"position":[[58,9]]},"161":{"position":[[80,9]]},"162":{"position":[[50,9]]},"163":{"position":[[65,9]]},"164":{"position":[[87,9]]},"165":{"position":[[52,9]]},"166":{"position":[[61,9]]},"167":{"position":[[59,9]]},"168":{"position":[[58,9]]},"169":{"position":[[58,9]]},"170":{"position":[[58,9]]},"171":{"position":[[46,9]]},"173":{"position":[[63,9]]},"174":{"position":[[303,9]]},"175":{"position":[[78,9]]},"176":{"position":[[139,9]]},"177":{"position":[[155,9]]},"178":{"position":[[180,9]]},"180":{"position":[[52,9]]},"181":{"position":[[207,9]]},"182":{"position":[[150,9]]},"183":{"position":[[288,9]]},"184":{"position":[[232,9]]},"185":{"position":[[101,9]]},"186":{"position":[[261,9]]},"187":{"position":[[110,9]]},"188":{"position":[[143,9]]},"189":{"position":[[105,9]]},"190":{"position":[[145,9]]},"191":{"position":[[155,9]]},"192":{"position":[[261,9]]},"194":{"position":[[120,9]]},"195":{"position":[[136,9]]},"196":{"position":[[269,9]]},"197":{"position":[[81,9]]},"198":{"position":[[109,9]]},"199":{"position":[[140,9]]},"200":{"position":[[272,9]]},"201":{"position":[[137,9]]},"202":{"position":[[48,9]]},"203":{"position":[[96,9]]},"205":{"position":[[139,9]]},"213":{"position":[[649,9],[710,9],[783,9]]},"217":{"position":[[474,11],[487,9],[1054,11],[1067,9],[1503,9],[1563,9],[1621,9],[1684,9],[1762,9],[1803,9],[1852,9],[2103,9],[2258,9],[2409,11]]},"219":{"position":[[345,10],[393,11],[437,10],[628,10],[852,9]]},"223":{"position":[[181,9]]},"225":{"position":[[812,10],[1333,11]]},"226":{"position":[[31,9]]},"228":{"position":[[19,9],[60,9],[107,10],[240,10],[358,11],[401,10],[620,9],[707,9],[836,10],[853,9],[928,9],[988,9],[1040,10],[1098,9],[1203,9],[1487,10],[1504,9],[1571,10],[1629,9],[1734,9],[1949,9],[2032,9],[2090,9],[2129,9],[2208,9]]},"229":{"position":[[38,9],[104,9],[313,9],[555,9],[833,9],[1015,9],[1438,9],[1654,9],[1925,9],[2071,10],[2259,9],[2334,9],[2400,9],[2468,9],[2534,9],[2602,9],[2668,9],[2741,9],[2947,9],[3026,9],[4026,9],[4275,10],[4496,10],[4773,10],[4964,9],[4993,9],[5294,9],[5315,9],[6166,9],[6306,9],[6796,9],[6937,9],[7860,10],[8077,11],[8493,10],[8770,10],[8961,9],[10239,9]]},"230":{"position":[[19,9],[60,9],[107,10],[184,10],[403,9],[490,9],[619,10],[636,9],[711,9],[771,9],[823,10],[881,9],[986,9],[1270,10],[1287,9],[1354,10],[1412,9],[1517,9]]},"231":{"position":[[35,9],[79,10],[283,9],[330,10],[463,10],[571,10],[790,9],[877,9],[1006,10],[1023,9],[1098,9],[1158,9],[1212,10],[1347,9],[1631,10],[1648,9],[1715,10],[1773,9],[1878,9]]},"232":{"position":[[35,9],[79,10],[283,9],[330,10],[407,10],[626,9],[713,9],[842,10],[859,9],[934,9],[994,9],[1048,10],[1183,9],[1467,10],[1484,9],[1551,10],[1609,9],[1714,9]]},"233":{"position":[[19,9],[77,9],[124,10],[257,10],[375,11]]},"234":{"position":[[19,9],[77,9],[124,10]]},"235":{"position":[[29,9],[282,9],[334,9]]},"236":{"position":[[44,9],[94,9],[175,10],[217,10],[345,9],[371,10],[383,9],[435,9]]},"240":{"position":[[222,9]]},"241":{"position":[[142,9]]},"242":{"position":[[220,9]]},"243":{"position":[[214,11],[250,9]]},"244":{"position":[[210,11],[247,9]]},"245":{"position":[[84,9]]},"246":{"position":[[90,9]]},"247":{"position":[[68,9]]},"248":{"position":[[70,9]]},"251":{"position":[[172,9]]},"252":{"position":[[269,10],[281,9]]},"253":{"position":[[125,9],[207,9],[287,9],[468,9],[556,9],[647,9],[733,9],[857,9],[1003,9],[1085,9],[1165,9],[1346,9],[1434,9],[1525,9],[1611,9],[1655,9],[1773,9],[1855,9],[1935,9],[2116,9],[2204,9],[2295,9]]},"276":{"position":[[33,9]]},"278":{"position":[[59,9],[618,9]]},"279":{"position":[[99,9],[308,9],[550,9],[828,9],[1010,9],[1433,9],[1649,9],[2325,9],[3224,10],[3474,9],[3775,9],[3796,9],[4845,9],[5538,9],[6737,11],[7312,9],[8435,9],[10473,9]]},"280":{"position":[[59,9],[410,9]]},"281":{"position":[[229,9]]},"282":{"position":[[59,9]]},"283":{"position":[[76,9]]},"284":{"position":[[76,9]]},"285":{"position":[[282,9]]},"286":{"position":[[356,9]]},"287":{"position":[[231,9]]},"288":{"position":[[79,9]]},"291":{"position":[[220,9]]},"292":{"position":[[96,9]]},"293":{"position":[[94,9]]},"296":{"position":[[277,9]]},"297":{"position":[[717,9]]},"298":{"position":[[207,9]]},"348":{"position":[[299,10],[732,10],[819,10],[923,10],[1093,9],[1238,10],[1309,9],[1496,10],[1733,11],[1811,10]]},"358":{"position":[[3255,10],[3366,10],[3540,9],[3785,9],[3955,9]]},"359":{"position":[[1165,9]]},"378":{"position":[[1239,9]]},"379":{"position":[[3931,10],[3951,10]]},"402":{"position":[[3080,9],[3227,9],[4004,9]]},"464":{"position":[[170,9]]},"466":{"position":[[11,9],[44,9],[110,9]]},"467":{"position":[[212,10],[257,11],[286,9],[562,9]]},"468":{"position":[[255,11],[369,9],[467,10],[520,10]]},"540":{"position":[[4363,10]]},"577":{"position":[[149,10],[193,9]]},"579":{"position":[[105,9]]},"580":{"position":[[60,9]]},"581":{"position":[[498,9]]},"582":{"position":[[166,11]]},"583":{"position":[[93,9]]},"584":{"position":[[95,9]]},"585":{"position":[[95,9]]},"586":{"position":[[97,9]]},"587":{"position":[[63,9],[196,10]]},"588":{"position":[[57,9],[190,10]]},"589":{"position":[[68,9],[201,10]]},"590":{"position":[[43,9]]},"591":{"position":[[498,9]]},"592":{"position":[[355,9],[571,10],[593,10]]},"594":{"position":[[258,9]]},"595":{"position":[[172,9]]},"596":{"position":[[106,9]]},"597":{"position":[[130,9]]},"598":{"position":[[107,9]]},"599":{"position":[[138,9]]},"601":{"position":[[60,9]]},"602":{"position":[[49,9]]},"604":{"position":[[136,9]]},"606":{"position":[[48,9]]},"607":{"position":[[48,9]]},"608":{"position":[[69,10]]},"609":{"position":[[62,9]]},"610":{"position":[[62,9]]},"611":{"position":[[395,9]]},"612":{"position":[[37,9],[1037,9]]},"613":{"position":[[64,9]]},"614":{"position":[[58,9]]},"615":{"position":[[66,9]]},"616":{"position":[[78,9]]},"617":{"position":[[81,9]]},"618":{"position":[[77,9]]},"619":{"position":[[345,9],[969,9]]},"620":{"position":[[74,9]]},"621":{"position":[[72,9]]},"622":{"position":[[58,9]]},"623":{"position":[[47,9]]},"624":{"position":[[50,9]]},"625":{"position":[[46,9]]},"626":{"position":[[44,9],[771,9],[1332,9],[1487,9],[1645,9],[1773,9],[1898,9],[1991,9]]},"627":{"position":[[78,9],[824,9],[1385,9],[1540,9],[1698,9],[1826,9],[1951,9],[2044,9]]},"628":{"position":[[62,9],[796,9],[1357,9],[1512,9],[1670,9],[1798,9],[1923,9],[2016,9]]},"629":{"position":[[43,9]]},"630":{"position":[[68,9]]},"631":{"position":[[56,9]]},"632":{"position":[[96,9]]},"633":{"position":[[90,9]]},"634":{"position":[[42,9]]},"635":{"position":[[286,9]]},"637":{"position":[[1347,11],[1578,9]]},"638":{"position":[[118,9]]},"639":{"position":[[137,9]]},"640":{"position":[[120,9]]},"641":{"position":[[98,9]]},"642":{"position":[[220,9]]},"643":{"position":[[59,9]]},"644":{"position":[[120,9]]},"646":{"position":[[196,9]]},"647":{"position":[[29,9]]},"648":{"position":[[80,9]]},"649":{"position":[[34,9],[741,9]]},"650":{"position":[[272,9],[1301,9],[1654,9]]},"651":{"position":[[31,9]]},"652":{"position":[[144,9],[1217,9]]},"653":{"position":[[30,9]]},"664":{"position":[[322,9]]},"665":{"position":[[288,9]]},"668":{"position":[[468,9]]},"669":{"position":[[218,9]]},"670":{"position":[[139,9]]},"671":{"position":[[115,9]]},"673":{"position":[[919,9],[1047,10],[1071,9],[1120,10]]},"675":{"position":[[136,9]]},"677":{"position":[[749,9],[935,10],[962,10],[1054,10],[1148,9],[1234,9],[1384,10]]},"678":{"position":[[68,11],[162,9],[971,9],[1157,10],[1184,10],[1276,10],[1370,9],[1456,9]]},"679":{"position":[[992,9],[1178,10],[1205,10],[1297,10],[1391,9],[1477,9]]},"680":{"position":[[50,9],[252,11],[1025,9],[1211,10],[1238,10],[1330,10],[1424,9],[1510,9]]},"681":{"position":[[825,9],[1011,10],[1038,10],[1130,10],[1224,9],[1310,9]]},"682":{"position":[[91,11],[185,9],[1042,9],[1228,10],[1255,10],[1347,10],[1441,9],[1527,9]]},"683":{"position":[[1063,9],[1249,10],[1276,10],[1368,10],[1462,9],[1548,9]]},"684":{"position":[[73,9],[275,11],[1096,9],[1282,10],[1309,10],[1401,10],[1495,9],[1581,9]]},"685":{"position":[[175,9],[209,10]]},"686":{"position":[[106,9]]},"687":{"position":[[232,9]]},"688":{"position":[[141,9]]},"689":{"position":[[227,9]]},"690":{"position":[[37,9],[273,9],[360,9],[387,10]]},"691":{"position":[[308,9]]},"692":{"position":[[231,9],[345,10],[441,9]]},"693":{"position":[[78,10],[400,9],[487,9],[522,10]]},"694":{"position":[[179,9]]},"695":{"position":[[235,9]]},"697":{"position":[[459,9]]},"698":{"position":[[401,9]]},"699":{"position":[[979,9]]},"700":{"position":[[246,9],[350,10]]},"701":{"position":[[249,9],[437,9]]},"702":{"position":[[291,9]]},"703":{"position":[[405,9],[501,9]]},"704":{"position":[[355,9]]},"705":{"position":[[118,9]]},"706":{"position":[[123,9]]},"707":{"position":[[185,9]]},"708":{"position":[[235,9]]},"709":{"position":[[246,9]]},"710":{"position":[[485,9]]},"711":{"position":[[211,9],[413,10]]},"712":{"position":[[352,9]]},"713":{"position":[[188,9]]},"716":{"position":[[193,9]]},"717":{"position":[[167,9]]},"718":{"position":[[195,9]]},"719":{"position":[[215,9]]},"720":{"position":[[229,9]]},"722":{"position":[[179,10],[498,9],[825,9],[1293,9],[1414,9]]},"723":{"position":[[557,9],[1060,9],[1181,9]]},"724":{"position":[[555,9],[847,9]]},"725":{"position":[[478,9],[728,9]]},"726":{"position":[[440,9],[905,9]]},"727":{"position":[[456,9],[956,9]]},"728":{"position":[[483,9]]},"729":{"position":[[364,9],[700,9]]},"731":{"position":[[317,9]]},"732":{"position":[[172,9]]},"733":{"position":[[174,9]]},"734":{"position":[[169,9]]},"735":{"position":[[171,9]]},"737":{"position":[[143,9]]},"740":{"position":[[169,9]]},"741":{"position":[[539,9]]},"743":{"position":[[179,9]]},"744":{"position":[[151,9],[285,9]]},"747":{"position":[[133,9]]},"750":{"position":[[186,9]]},"752":{"position":[[149,10],[178,9],[247,10],[258,10],[353,10]]},"753":{"position":[[145,9]]},"754":{"position":[[192,9]]},"755":{"position":[[190,9]]},"757":{"position":[[254,9],[358,9],[453,9],[550,9]]},"758":{"position":[[310,9],[417,10],[432,10]]},"759":{"position":[[326,9],[433,10],[448,10]]},"761":{"position":[[110,10],[139,9],[199,10],[210,10],[299,10]]},"762":{"position":[[107,9]]},"764":{"position":[[173,9]]},"766":{"position":[[183,9]]},"767":{"position":[[181,9]]},"768":{"position":[[294,9],[395,10],[410,10]]},"769":{"position":[[336,9],[437,10],[452,10]]},"771":{"position":[[108,9]]},"772":{"position":[[102,9]]},"775":{"position":[[125,9]]},"777":{"position":[[59,10],[117,10],[235,9]]},"778":{"position":[[461,9]]},"780":{"position":[[222,9]]},"781":{"position":[[139,9]]},"783":{"position":[[152,9]]},"785":{"position":[[192,9]]},"786":{"position":[[287,9]]},"787":{"position":[[384,9]]},"789":{"position":[[107,9]]},"791":{"position":[[196,9]]},"795":{"position":[[672,9]]},"801":{"position":[[91,9]]},"802":{"position":[[88,9],[121,10]]},"803":{"position":[[113,9],[209,10],[281,10]]},"804":{"position":[[116,9],[213,10],[298,10]]},"809":{"position":[[239,9]]},"810":{"position":[[238,9]]},"812":{"position":[[67,9]]},"813":{"position":[[125,9]]},"814":{"position":[[300,9]]},"815":{"position":[[136,9]]},"816":{"position":[[140,9]]}},"keywords":{}}],["parameter"",{"_index":730,"title":{},"content":{"36":{"position":[[3661,15]]},"229":{"position":[[3661,15]]}},"keywords":{}}],["parameter/argu",{"_index":3840,"title":{},"content":{"398":{"position":[[48,18]]}},"keywords":{}}],["parameter_name_1",{"_index":1720,"title":{},"content":{"91":{"position":[[574,16]]}},"keywords":{}}],["parameter_name_2",{"_index":1722,"title":{},"content":{"91":{"position":[[610,16]]}},"keywords":{}}],["parameter_value_1",{"_index":1721,"title":{},"content":{"91":{"position":[[591,18]]}},"keywords":{}}],["parameter_value_2",{"_index":1723,"title":{},"content":{"91":{"position":[[627,18]]}},"keywords":{}}],["parameters>"",{"_index":5567,"title":{},"content":{"758":{"position":[[286,21]]},"759":{"position":[[302,21]]},"768":{"position":[[270,21]]},"769":{"position":[[293,21]]}},"keywords":{}}],["parameters"",{"_index":3136,"title":{},"content":{"348":{"position":[[1770,16]]}},"keywords":{}}],["parametersdis",{"_index":4162,"title":{},"content":{"466":{"position":[[87,18]]}},"keywords":{}}],["pariti",{"_index":1786,"title":{},"content":{"96":{"position":[[83,6]]},"111":{"position":[[505,6],[524,7]]},"314":{"position":[[582,6],[619,6],[1281,6]]}},"keywords":{}}],["pars",{"_index":149,"title":{},"content":{"5":{"position":[[291,6],[1228,7]]},"6":{"position":[[779,7]]},"83":{"position":[[1949,7]]},"88":{"position":[[559,5]]},"138":{"position":[[258,5]]},"216":{"position":[[71,5],[368,5]]},"217":{"position":[[82,5],[2550,5]]},"222":{"position":[[89,5]]},"532":{"position":[[79,5]]},"534":{"position":[[732,6]]},"576":{"position":[[39,6]]}},"keywords":{}}],["part",{"_index":262,"title":{},"content":{"7":{"position":[[602,4]]},"56":{"position":[[319,4]]},"67":{"position":[[1070,4],[1344,4]]},"321":{"position":[[553,4]]},"383":{"position":[[306,4],[1415,4],[1491,4],[1874,4]]},"498":{"position":[[782,4]]},"499":{"position":[[746,4]]},"528":{"position":[[493,4]]},"548":{"position":[[21,4]]},"566":{"position":[[192,4]]},"592":{"position":[[95,5]]},"641":{"position":[[55,4]]}},"keywords":{}}],["parti",{"_index":4014,"title":{},"content":{"424":{"position":[[68,6]]},"434":{"position":[[163,8],[235,8],[689,7]]}},"keywords":{}}],["partial",{"_index":261,"title":{},"content":{"7":{"position":[[583,7]]},"556":{"position":[[476,9]]}},"keywords":{}}],["particip",{"_index":2429,"title":{},"content":{"249":{"position":[[54,13]]},"295":{"position":[[54,13]]}},"keywords":{}}],["particular",{"_index":2013,"title":{},"content":{"128":{"position":[[89,10]]},"231":{"position":[[141,10]]},"232":{"position":[[141,10]]},"235":{"position":[[228,10]]},"272":{"position":[[328,10]]},"285":{"position":[[228,10]]},"297":{"position":[[217,10]]},"305":{"position":[[866,10]]},"349":{"position":[[944,10]]},"390":{"position":[[863,10]]},"401":{"position":[[334,10]]},"504":{"position":[[210,10]]},"575":{"position":[[240,10]]},"687":{"position":[[59,10]]},"688":{"position":[[45,10]]},"692":{"position":[[41,10]]},"814":{"position":[[8,10]]},"815":{"position":[[8,10]]},"816":{"position":[[10,10]]}},"keywords":{}}],["partit",{"_index":2844,"title":{},"content":{"309":{"position":[[920,9]]}},"keywords":{}}],["pass",{"_index":758,"title":{},"content":{"36":{"position":[[4981,6],[5361,6],[8978,6]]},"50":{"position":[[570,6]]},"61":{"position":[[926,6]]},"67":{"position":[[1963,6],[2556,6],[2881,6],[2999,6]]},"70":{"position":[[344,4]]},"77":{"position":[[517,6]]},"81":{"position":[[84,4]]},"83":{"position":[[898,5]]},"104":{"position":[[356,4],[480,4],[669,4]]},"105":{"position":[[556,4]]},"107":{"position":[[465,4],[570,4]]},"110":{"position":[[718,4],[830,4],[2288,6]]},"111":{"position":[[311,4],[423,4],[748,4]]},"140":{"position":[[625,4]]},"141":{"position":[[710,4],[760,4]]},"186":{"position":[[1,4],[69,4],[217,4]]},"216":{"position":[[422,6]]},"217":{"position":[[764,6],[887,6]]},"225":{"position":[[1303,4]]},"229":{"position":[[4981,6],[5361,6],[8978,6]]},"242":{"position":[[335,6]]},"251":{"position":[[497,6],[758,6],[1526,6]]},"260":{"position":[[62,4]]},"279":{"position":[[3842,6],[10726,6]]},"288":{"position":[[374,6]]},"315":{"position":[[246,6],[443,6]]},"385":{"position":[[234,4]]},"386":{"position":[[331,6]]},"402":{"position":[[262,6],[1669,7],[1835,4]]},"429":{"position":[[631,7]]},"523":{"position":[[283,7]]},"530":{"position":[[642,4]]},"540":{"position":[[2082,6],[2997,6],[4950,7]]},"546":{"position":[[1196,4],[1369,4]]},"564":{"position":[[262,4]]},"565":{"position":[[305,6],[370,7]]},"568":{"position":[[209,4]]},"581":{"position":[[264,7],[405,4],[436,4]]},"587":{"position":[[211,6]]},"588":{"position":[[205,6]]},"589":{"position":[[216,6]]},"591":{"position":[[264,7],[405,4],[436,4]]},"662":{"position":[[4849,4]]},"664":{"position":[[501,6]]},"665":{"position":[[467,6]]},"697":{"position":[[1058,6],[1415,6]]},"699":{"position":[[896,7]]},"721":{"position":[[110,5]]},"786":{"position":[[617,4],[889,4]]},"787":{"position":[[1079,4],[1379,4]]},"795":{"position":[[799,6],[858,6],[957,6],[1017,6],[1722,4],[1799,4],[1853,4],[1906,4]]}},"keywords":{}}],["pass/failed/skip",{"_index":4520,"title":{},"content":{"561":{"position":[[98,19]]}},"keywords":{}}],["passphrase.out",{"_index":462,"title":{},"content":{"20":{"position":[[1195,14]]}},"keywords":{}}],["password",{"_index":580,"title":{},"content":{"27":{"position":[[369,9],[388,8],[511,8],[578,8],[889,8]]},"81":{"position":[[100,8]]},"82":{"position":[[136,8],[385,8]]},"83":{"position":[[2360,9]]},"109":{"position":[[914,8],[923,8],[1129,8],[1456,8],[1658,8],[1694,8],[1797,8],[1820,8]]},"110":{"position":[[1248,8],[1257,8],[1463,8],[1814,8],[2040,8],[2076,8],[2179,8],[2202,8]]},"112":{"position":[[434,8],[825,8],[857,8]]},"209":{"position":[[97,8]]},"260":{"position":[[223,10]]},"334":{"position":[[57,8]]},"402":{"position":[[1780,8]]},"404":{"position":[[1068,9],[1139,8],[1319,8]]},"415":{"position":[[349,8]]},"664":{"position":[[539,8],[580,8],[809,8],[1030,8]]},"665":{"position":[[505,8],[546,8],[811,8],[1075,8]]},"810":{"position":[[145,9]]}},"keywords":{}}],["password"",{"_index":1480,"title":{},"content":{"81":{"position":[[245,14]]},"93":{"position":[[993,14]]},"664":{"position":[[841,15],[1062,15]]},"665":{"position":[[850,15],[1114,15]]}},"keywords":{}}],["passwordless",{"_index":3961,"title":{},"content":{"404":{"position":[[1391,12]]}},"keywords":{}}],["passwork",{"_index":5788,"title":{},"content":{"810":{"position":[[38,8]]}},"keywords":{}}],["past",{"_index":1021,"title":{},"content":{"43":{"position":[[688,6],[878,5]]},"310":{"position":[[167,5]]},"349":{"position":[[1613,6]]},"454":{"position":[[584,4]]},"459":{"position":[[80,4]]},"535":{"position":[[278,4]]},"551":{"position":[[481,8]]},"579":{"position":[[98,4],[217,4]]},"658":{"position":[[542,4]]}},"keywords":{}}],["patch",{"_index":3300,"title":{},"content":{"359":{"position":[[1850,5]]},"382":{"position":[[846,5]]}},"keywords":{}}],["path",{"_index":594,"title":{},"content":{"27":{"position":[[1047,5]]},"43":{"position":[[903,4]]},"141":{"position":[[479,4],[518,4]]},"143":{"position":[[103,4],[174,4],[322,4],[393,4]]},"181":{"position":[[87,4],[158,4],[306,4],[377,4]]},"188":{"position":[[439,4],[478,4]]},"203":{"position":[[185,4]]},"217":{"position":[[535,4]]},"244":{"position":[[291,4],[309,4]]},"293":{"position":[[138,4],[156,4]]},"313":{"position":[[119,4],[135,4],[179,4]]},"332":{"position":[[267,4],[1215,4],[1471,4]]},"333":{"position":[[50,4],[180,5],[246,5]]},"358":{"position":[[266,5],[773,4]]},"371":{"position":[[214,5]]},"383":{"position":[[850,5],[1085,4]]},"441":{"position":[[105,5]]},"442":{"position":[[85,5]]},"559":{"position":[[428,5]]},"602":{"position":[[87,4]]},"669":{"position":[[248,4]]},"670":{"position":[[169,4]]},"671":{"position":[[145,4]]},"710":{"position":[[347,5]]},"777":{"position":[[397,5],[426,5]]},"778":{"position":[[627,4]]}},"keywords":{}}],["path>"",{"_index":4984,"title":{},"content":{"669":{"position":[[102,15],[184,15]]},"670":{"position":[[95,15]]},"671":{"position":[[97,15]]}},"keywords":{}}],["path=/auth/realms/openc3",{"_index":1539,"title":{},"content":{"82":{"position":[[942,26],[1064,26]]}},"keywords":{}}],["path=~/cosmo",{"_index":3069,"title":{},"content":{"333":{"position":[[312,13]]}},"keywords":{}}],["path_to_openc3/openc3.sh",{"_index":3603,"title":{},"content":{"378":{"position":[[403,25],[474,25]]},"379":{"position":[[3580,25]]}},"keywords":{}}],["pattern",{"_index":1196,"title":{},"content":{"53":{"position":[[296,7],[417,8],[451,8],[687,7],[707,7],[763,7],[802,7],[858,7],[934,7],[975,8],[1024,7]]},"54":{"position":[[476,7],[638,8],[694,7],[1085,7],[1105,7],[1161,7],[1200,7],[1256,7],[1332,7],[1374,8],[1493,7]]},"55":{"position":[[455,8],[522,7],[858,7],[1210,8],[1365,7],[1862,7],[1882,7],[2061,7],[2100,7],[2156,7],[2232,7],[2274,8],[2388,7],[2455,7],[2808,7],[3275,8]]},"56":{"position":[[987,7],[1007,7],[1063,7],[1102,7],[1158,7],[1234,7],[1276,8],[1325,7]]},"57":{"position":[[829,7],[932,7]]},"60":{"position":[[490,7],[510,7],[566,7],[605,7],[661,7],[737,7],[817,7]]},"61":{"position":[[2159,7],[2179,7],[2235,7],[2274,7],[2330,7],[2406,7],[2448,8],[2497,7]]},"62":{"position":[[353,7],[392,7],[448,7],[520,7],[555,7],[600,8]]},"265":{"position":[[153,8]]},"349":{"position":[[680,7]]},"387":{"position":[[1539,8]]},"542":{"position":[[56,7],[168,7],[898,8]]},"560":{"position":[[32,7],[271,8]]}},"keywords":{}}],["pattern"",{"_index":2395,"title":{},"content":{"228":{"position":[[2018,13]]},"230":{"position":[[1806,13]]}},"keywords":{}}],["paus",{"_index":3144,"title":{},"content":{"349":{"position":[[351,6],[2336,7],[2371,5],[2405,7],[2558,5],[2707,7],[3707,7],[5810,7],[5871,5]]},"517":{"position":[[347,6]]},"530":{"position":[[408,5]]},"535":{"position":[[95,5],[112,6]]},"554":{"position":[[480,5]]},"555":{"position":[[118,5]]},"559":{"position":[[1296,6]]},"569":{"position":[[263,7],[995,6]]},"658":{"position":[[592,5],[651,5]]},"697":{"position":[[131,6]]},"698":{"position":[[129,6]]},"699":{"position":[[82,6]]},"721":{"position":[[33,5]]},"722":{"position":[[1,6]]},"723":{"position":[[1,6]]},"724":{"position":[[1,6]]},"725":{"position":[[1,6]]},"726":{"position":[[53,6]]},"727":{"position":[[1,6]]},"728":{"position":[[1,6]]},"729":{"position":[[1,6]]}},"keywords":{}}],["pause/retri",{"_index":4851,"title":{},"content":{"658":{"position":[[568,11]]}},"keywords":{}}],["payload",{"_index":3663,"title":{},"content":{"379":{"position":[[3317,7]]}},"keywords":{}}],["pc",{"_index":3647,"title":{},"content":{"379":{"position":[[965,2]]}},"keywords":{}}],["pdf",{"_index":4154,"title":{},"content":{"457":{"position":[[122,4],[320,3],[372,4]]}},"keywords":{}}],["pdu",{"_index":1949,"title":{},"content":{"112":{"position":[[1034,3]]},"113":{"position":[[630,3]]}},"keywords":{}}],["peg",{"_index":4705,"title":{},"content":{"618":{"position":[[310,8],[449,8]]},"625":{"position":[[279,8],[418,8]]},"631":{"position":[[289,8],[428,8]]}},"keywords":{}}],["pem",{"_index":595,"title":{"28":{"position":[[21,4]]}},"content":{"28":{"position":[[77,4],[135,3],[197,3]]},"109":{"position":[[977,3],[1071,3]]},"110":{"position":[[1311,3],[1405,3]]},"332":{"position":[[875,5],[893,5]]}},"keywords":{}}],["pem.key",{"_index":599,"title":{},"content":{"28":{"position":[[225,8]]}},"keywords":{}}],["penalti",{"_index":2591,"title":{},"content":{"272":{"position":[[528,7]]},"568":{"position":[[446,7]]}},"keywords":{}}],["pencil",{"_index":4195,"title":{},"content":{"484":{"position":[[37,6],[107,6],[278,6]]},"505":{"position":[[14,6]]},"522":{"position":[[611,6]]}},"keywords":{}}],["peopl",{"_index":3291,"title":{},"content":{"359":{"position":[[349,6]]}},"keywords":{}}],["per",{"_index":695,"title":{},"content":{"36":{"position":[[1757,3],[1772,3]]},"55":{"position":[[1412,3],[1442,3]]},"229":{"position":[[1757,3],[1772,3]]},"257":{"position":[[1,3]]},"258":{"position":[[1,3],[208,3]]},"259":{"position":[[1,3]]},"261":{"position":[[1,3]]},"263":{"position":[[89,3]]},"265":{"position":[[1,3]]},"273":{"position":[[357,3]]},"279":{"position":[[1752,3],[1767,3]]},"314":{"position":[[834,3]]},"352":{"position":[[545,3],[645,3]]},"358":{"position":[[2553,3]]},"368":{"position":[[120,3]]},"369":{"position":[[130,3]]},"393":{"position":[[822,3],[835,3]]},"397":{"position":[[79,3]]},"398":{"position":[[282,3]]},"402":{"position":[[5153,3]]},"519":{"position":[[90,3],[129,3]]},"540":{"position":[[1383,3]]},"592":{"position":[[476,3]]},"609":{"position":[[368,3],[398,3]]},"610":{"position":[[368,3],[393,3],[428,3],[452,3]]}},"keywords":{}}],["percent",{"_index":2119,"title":{},"content":{"173":{"position":[[113,7]]}},"keywords":{}}],["percentag",{"_index":4734,"title":{},"content":{"630":{"position":[[55,11]]}},"keywords":{}}],["perform",{"_index":321,"title":{"369":{"position":[[0,11]]}},"content":{"11":{"position":[[261,7]]},"36":{"position":[[9173,12]]},"122":{"position":[[81,7]]},"123":{"position":[[118,7]]},"178":{"position":[[148,7]]},"229":{"position":[[9173,12]]},"258":{"position":[[1694,11]]},"267":{"position":[[539,7]]},"268":{"position":[[17,12]]},"272":{"position":[[516,11]]},"279":{"position":[[7298,12]]},"330":{"position":[[709,12]]},"342":{"position":[[362,7]]},"349":{"position":[[1462,7],[1554,7],[1740,7]]},"352":{"position":[[19,8]]},"367":{"position":[[100,11]]},"368":{"position":[[34,12],[204,8]]},"369":{"position":[[1,11],[34,9],[2474,11]]},"382":{"position":[[634,7]]},"414":{"position":[[162,9]]},"419":{"position":[[232,8]]},"422":{"position":[[57,7]]},"432":{"position":[[850,7]]},"522":{"position":[[438,11]]},"540":{"position":[[2361,7],[3273,7]]},"544":{"position":[[313,7]]},"546":{"position":[[893,10]]},"547":{"position":[[49,7]]},"551":{"position":[[302,9]]},"563":{"position":[[223,7]]},"565":{"position":[[70,7]]},"569":{"position":[[618,7]]},"574":{"position":[[141,7]]},"637":{"position":[[148,7]]},"658":{"position":[[279,7]]},"678":{"position":[[35,10]]},"679":{"position":[[35,10]]},"680":{"position":[[35,10]]},"682":{"position":[[58,10]]},"683":{"position":[[58,10]]},"684":{"position":[[58,10]]},"685":{"position":[[253,7]]},"697":{"position":[[1,8],[663,7]]},"699":{"position":[[131,7]]},"722":{"position":[[1029,7]]},"724":{"position":[[157,7]]},"726":{"position":[[644,7]]},"728":{"position":[[153,7]]}},"keywords":{}}],["perform_common_math(gimbal.gimbal_step",{"_index":4473,"title":{},"content":{"551":{"position":[[1153,40],[1625,40]]}},"keywords":{}}],["perform_common_math(x",{"_index":4466,"title":{},"content":{"551":{"position":[[982,22],[1448,22]]}},"keywords":{}}],["perhap",{"_index":3153,"title":{},"content":{"349":{"position":[[1051,7]]}},"keywords":{}}],["period",{"_index":1310,"title":{},"content":{"61":{"position":[[2634,6]]},"64":{"position":[[246,6]]},"171":{"position":[[1,6]]},"330":{"position":[[1004,6]]},"424":{"position":[[1404,7]]},"476":{"position":[[154,7]]},"577":{"position":[[415,6]]}},"keywords":{}}],["perman",{"_index":3001,"title":{},"content":{"326":{"position":[[925,11]]},"528":{"position":[[268,14]]},"775":{"position":[[44,10]]},"787":{"position":[[90,11]]}},"keywords":{}}],["permiss",{"_index":2936,"title":{},"content":{"317":{"position":[[227,11]]},"390":{"position":[[590,10]]},"432":{"position":[[67,11]]}},"keywords":{}}],["permit",{"_index":4032,"title":{},"content":{"424":{"position":[[1233,7]]},"430":{"position":[[594,9]]},"636":{"position":[[158,6]]}},"keywords":{}}],["perpetu",{"_index":3795,"title":{},"content":{"391":{"position":[[446,9]]}},"keywords":{}}],["persist",{"_index":2000,"title":{},"content":{"123":{"position":[[19,10]]},"178":{"position":[[156,10]]},"267":{"position":[[463,8]]},"279":{"position":[[8564,11]]},"741":{"position":[[1619,11]]}},"keywords":{}}],["person",{"_index":3752,"title":{},"content":{"389":{"position":[[386,9]]},"424":{"position":[[401,8],[1074,8],[1336,8],[1365,8],[1427,8],[1817,8]]},"425":{"position":[[50,10]]},"426":{"position":[[13,8]]},"427":{"position":[[23,8],[208,8]]},"428":{"position":[[32,8]]},"431":{"position":[[413,8],[643,8]]},"432":{"position":[[1060,8],[1451,8]]},"434":{"position":[[430,8],[520,8],[739,8],[813,8]]}},"keywords":{}}],["pfx",{"_index":559,"title":{"26":{"position":[[43,4]]},"27":{"position":[[33,4]]},"28":{"position":[[8,4]]}},"content":{"26":{"position":[[5,4],[314,4]]},"27":{"position":[[200,4],[456,4]]},"28":{"position":[[62,4]]}},"keywords":{}}],["phase",{"_index":1096,"title":{},"content":{"48":{"position":[[2170,6]]}},"keywords":{}}],["philosophi",{"_index":3726,"title":{"387":{"position":[[0,10]]},"541":{"position":[[10,11]]}},"content":{"387":{"position":[[0,10]]}},"keywords":{}}],["phone",{"_index":4053,"title":{},"content":{"426":{"position":[[841,5],[1035,5]]}},"keywords":{}}],["photo",{"_index":4820,"title":{},"content":{"649":{"position":[[502,5]]}},"keywords":{}}],["physic",{"_index":1996,"title":{},"content":{"120":{"position":[[26,8]]},"128":{"position":[[27,8]]},"378":{"position":[[1259,8]]}},"keywords":{}}],["pi",{"_index":25,"title":{"403":{"position":[[10,2]]},"404":{"position":[[28,2]]}},"content":{"1":{"position":[[257,3]]},"367":{"position":[[31,2]]},"404":{"position":[[15,2],[217,2],[251,2],[282,2],[480,2],[650,2],[725,2],[794,2],[836,2],[1668,2],[1757,2],[1789,2],[1861,2],[1918,2],[2724,3]]}},"keywords":{}}],["pick",{"_index":4532,"title":{},"content":{"563":{"position":[[462,4]]}},"keywords":{}}],["picker",{"_index":4788,"title":{},"content":{"640":{"position":[[17,6]]},"644":{"position":[[17,6]]}},"keywords":{}}],["pictur",{"_index":1801,"title":{},"content":{"96":{"position":[[527,8]]}},"keywords":{}}],["piec",{"_index":87,"title":{},"content":{"3":{"position":[[61,6],[307,6]]},"119":{"position":[[26,6],[202,6]]},"128":{"position":[[100,5]]},"531":{"position":[[95,5],[588,6]]}},"keywords":{}}],["pink",{"_index":4569,"title":{},"content":{"569":{"position":[[63,4]]}},"keywords":{}}],["pip",{"_index":2216,"title":{},"content":{"211":{"position":[[92,3],[161,3]]}},"keywords":{}}],["pixel",{"_index":4598,"title":{},"content":{"577":{"position":[[238,6],[331,6]]},"583":{"position":[[83,8],[138,6]]},"584":{"position":[[85,8],[142,6]]},"585":{"position":[[85,8],[138,6]]},"586":{"position":[[87,8],[140,6]]},"599":{"position":[[214,6]]},"607":{"position":[[107,6],[150,6]]},"613":{"position":[[397,6]]},"626":{"position":[[2036,6],[2065,6]]},"627":{"position":[[2089,6],[2118,6]]},"628":{"position":[[2061,6],[2090,6]]},"630":{"position":[[406,7]]},"651":{"position":[[398,6]]},"652":{"position":[[576,6]]},"653":{"position":[[192,6]]}},"keywords":{}}],["pkcs#12",{"_index":560,"title":{},"content":{"26":{"position":[[30,7]]}},"keywords":{}}],["pkcs12",{"_index":576,"title":{},"content":{"27":{"position":[[274,6],[703,6]]}},"keywords":{}}],["pkt",{"_index":2449,"title":{},"content":{"251":{"position":[[1095,3],[1141,3],[1196,3],[1287,3],[1871,3],[1918,3]]},"271":{"position":[[1489,3],[1756,3],[1823,3]]}},"keywords":{}}],["pkt_len",{"_index":3631,"title":{},"content":{"379":{"position":[[643,7],[1503,7],[2035,7],[2535,7],[3032,7]]}},"keywords":{}}],["pktid",{"_index":2624,"title":{},"content":{"278":{"position":[[1068,5]]},"280":{"position":[[867,5]]},"281":{"position":[[1165,5]]},"282":{"position":[[841,5]]}},"keywords":{}}],["pkts_rcvd",{"_index":5593,"title":{},"content":{"765":{"position":[[452,10],[767,13],[970,10]]}},"keywords":{}}],["pkts_sent",{"_index":5594,"title":{},"content":{"765":{"position":[[463,10],[981,9]]}},"keywords":{}}],["pkts_sent}"",{"_index":5596,"title":{},"content":{"765":{"position":[[795,18]]}},"keywords":{}}],["place",{"_index":221,"title":{},"content":{"6":{"position":[[536,6]]},"27":{"position":[[616,5]]},"52":{"position":[[678,5],[978,5]]},"225":{"position":[[232,6]]},"271":{"position":[[260,6]]},"274":{"position":[[655,6]]},"324":{"position":[[619,6]]},"332":{"position":[[143,6],[372,5]]},"349":{"position":[[3856,5]]},"387":{"position":[[1339,6]]},"395":{"position":[[98,5],[172,5]]},"396":{"position":[[126,6]]},"397":{"position":[[125,6]]},"426":{"position":[[738,5]]},"429":{"position":[[540,5]]},"449":{"position":[[89,6]]},"455":{"position":[[1380,6]]},"540":{"position":[[708,6],[800,6],[3826,5]]},"546":{"position":[[505,6]]},"549":{"position":[[234,5],[333,5]]},"551":{"position":[[353,5]]},"561":{"position":[[387,6],[692,6]]},"593":{"position":[[110,6]]},"594":{"position":[[1,6],[163,6]]},"595":{"position":[[1,6],[216,5]]},"596":{"position":[[1,6]]},"597":{"position":[[1,6],[174,5]]},"598":{"position":[[1,6]]},"599":{"position":[[1,6]]},"600":{"position":[[35,5]]},"601":{"position":[[45,5]]},"604":{"position":[[92,6]]},"607":{"position":[[1,6]]},"645":{"position":[[103,6]]},"646":{"position":[[142,6]]},"797":{"position":[[1,6]]},"798":{"position":[[1,6]]}},"keywords":{}}],["plain",{"_index":402,"title":{},"content":{"20":{"position":[[183,5]]},"26":{"position":[[212,5]]},"339":{"position":[[280,5]]},"342":{"position":[[878,5]]},"343":{"position":[[1437,5]]}},"keywords":{}}],["plan",{"_index":1034,"title":{"98":{"position":[[10,9]]}},"content":{"43":{"position":[[1386,4]]},"95":{"position":[[41,8]]},"96":{"position":[[619,8]]},"98":{"position":[[15,8],[69,8]]},"358":{"position":[[8323,4]]},"401":{"position":[[120,7]]}},"keywords":{}}],["platform",{"_index":3007,"title":{},"content":{"330":{"position":[[279,9]]},"358":{"position":[[124,8]]},"365":{"position":[[20,8]]},"367":{"position":[[82,9]]},"369":{"position":[[720,8],[2205,8],[2389,9],[3662,9],[4253,9]]},"571":{"position":[[325,8]]}},"keywords":{}}],["platformsredi",{"_index":3477,"title":{},"content":{"369":{"position":[[1941,14],[3431,14]]}},"keywords":{}}],["play",{"_index":3240,"title":{},"content":{"358":{"position":[[1,7]]}},"keywords":{}}],["play_wav_fil",{"_index":4857,"title":{},"content":{"661":{"position":[[241,13]]},"662":{"position":[[2894,13]]}},"keywords":{}}],["playback",{"_index":1790,"title":{},"content":{"96":{"position":[[267,8]]},"352":{"position":[[87,9]]},"354":{"position":[[382,8],[436,9]]},"402":{"position":[[4650,8],[4803,8]]}},"keywords":{}}],["playwright",{"_index":2191,"title":{"207":{"position":[[0,11]]},"209":{"position":[[0,10]]}},"content":{"208":{"position":[[57,10],[116,10],[135,10],[170,10]]},"209":{"position":[[238,10],[256,10],[515,10],[572,10]]}},"keywords":{}}],["playwright/coverage/index.html",{"_index":2209,"title":{},"content":{"209":{"position":[[647,30]]}},"keywords":{}}],["pleas",{"_index":129,"title":{},"content":{"3":{"position":[[672,6]]},"57":{"position":[[1336,6]]},"58":{"position":[[404,6]]},"59":{"position":[[487,6]]},"60":{"position":[[874,6]]},"61":{"position":[[117,6]]},"64":{"position":[[1269,6]]},"79":{"position":[[1,6]]},"98":{"position":[[142,6]]},"109":{"position":[[2663,6]]},"110":{"position":[[2394,6]]},"112":{"position":[[992,6]]},"113":{"position":[[588,6]]},"114":{"position":[[537,6]]},"128":{"position":[[867,6]]},"139":{"position":[[347,6]]},"149":{"position":[[657,6]]},"221":{"position":[[370,6]]},"222":{"position":[[205,6]]},"223":{"position":[[353,6]]},"306":{"position":[[468,6]]},"307":{"position":[[640,6]]},"320":{"position":[[588,6]]},"333":{"position":[[650,6],[776,6]]},"336":{"position":[[38,6]]},"358":{"position":[[8105,6]]},"359":{"position":[[2978,6]]},"386":{"position":[[667,6]]},"393":{"position":[[1004,6],[1415,6]]},"401":{"position":[[383,6]]},"436":{"position":[[82,6]]},"437":{"position":[[62,6],[163,6]]},"507":{"position":[[93,6]]},"540":{"position":[[4274,6]]},"576":{"position":[[390,6]]},"660":{"position":[[128,6]]},"794":{"position":[[103,6]]}},"keywords":{}}],["plot",{"_index":3215,"title":{},"content":{"352":{"position":[[248,5],[539,5],[575,6],[649,5],[688,5],[879,8],[980,8]]}},"keywords":{}}],["plu",{"_index":298,"title":{},"content":{"9":{"position":[[133,4]]},"55":{"position":[[1072,4]]},"454":{"position":[[297,4]]},"462":{"position":[[92,4]]}},"keywords":{}}],["plug",{"_index":2554,"title":{},"content":{"264":{"position":[[336,4]]},"421":{"position":[[695,4]]},"669":{"position":[[413,4]]},"670":{"position":[[355,4]]}},"keywords":{}}],["plugin",{"_index":58,"title":{"116":{"position":[[0,7]]},"124":{"position":[[0,6]]},"301":{"position":[[0,6]]},"359":{"position":[[14,7]]},"378":{"position":[[18,6]]},"380":{"position":[[14,7]]},"407":{"position":[[0,8]]},"549":{"position":[[31,7]]}},"content":{"2":{"position":[[497,8]]},"42":{"position":[[300,8]]},"57":{"position":[[1405,8]]},"58":{"position":[[474,8]]},"59":{"position":[[557,8]]},"60":{"position":[[944,8]]},"64":{"position":[[1341,8]]},"96":{"position":[[148,6]]},"112":{"position":[[1063,8]]},"113":{"position":[[659,8]]},"114":{"position":[[604,8]]},"117":{"position":[[72,7],[80,7],[130,7],[497,6],[579,7],[655,6]]},"124":{"position":[[8,7]]},"125":{"position":[[60,7],[100,6],[145,6]]},"126":{"position":[[40,6],[140,6],[532,6]]},"127":{"position":[[30,6],[108,6]]},"143":{"position":[[151,7],[370,7]]},"178":{"position":[[61,6],[284,7]]},"181":{"position":[[135,7],[354,7]]},"192":{"position":[[40,6],[349,7]]},"219":{"position":[[201,8]]},"221":{"position":[[439,8]]},"222":{"position":[[278,8]]},"223":{"position":[[420,8]]},"301":{"position":[[5,6],[63,7],[85,6],[203,6],[230,6],[275,6],[286,6],[497,7],[512,7],[841,6],[937,7],[1185,6],[1277,6],[1365,6],[1432,6],[1498,8],[1579,6]]},"302":{"position":[[113,6]]},"303":{"position":[[125,6]]},"304":{"position":[[121,6]]},"305":{"position":[[131,6]]},"306":{"position":[[203,6]]},"307":{"position":[[114,6]]},"314":{"position":[[925,6]]},"319":{"position":[[230,6]]},"320":{"position":[[715,6],[1361,6],[1382,6]]},"323":{"position":[[415,6],[460,7]]},"326":{"position":[[76,7],[176,7],[352,6],[459,7],[501,6],[702,6],[725,7],[792,7],[1012,6],[1070,6],[1105,7],[1149,6]]},"343":{"position":[[588,8]]},"356":{"position":[[73,7],[184,7],[213,6],[264,7],[293,6],[347,7],[367,6],[433,7],[625,7],[657,6]]},"358":{"position":[[477,7],[963,7],[971,7],[1035,6],[1214,6],[1461,6],[1481,6],[1691,6],[2025,6],[2059,6],[2150,6],[2557,6],[6504,6],[6963,6],[7066,6],[8307,6]]},"359":{"position":[[26,6],[339,6],[367,6],[437,6],[525,7],[702,6],[1755,6],[2074,7],[2165,7],[2199,6],[2253,6],[2367,6],[2409,7],[2615,7],[2658,6]]},"362":{"position":[[1341,6],[1424,6]]},"363":{"position":[[576,6]]},"378":{"position":[[43,7],[142,6],[191,6],[299,6],[334,6],[442,6],[548,7],[1314,7],[1412,7],[1559,6]]},"379":{"position":[[3519,6],[3548,6],[3637,6],[3777,7],[3924,6],[3984,6],[4014,6]]},"380":{"position":[[11,6],[53,6],[203,6],[1020,7],[1365,7],[1429,6],[1494,6],[1552,7],[1638,6]]},"382":{"position":[[747,7]]},"383":{"position":[[66,8],[161,8],[192,7],[323,7],[358,7],[383,6],[696,7],[1211,6],[1458,6],[1641,6],[1867,6],[1929,6]]},"389":{"position":[[843,8],[1317,8],[1330,7],[1442,7]]},"390":{"position":[[50,6],[125,6],[166,7],[179,6]]},"391":{"position":[[296,7]]},"392":{"position":[[479,7]]},"397":{"position":[[50,6],[217,6]]},"406":{"position":[[146,8]]},"407":{"position":[[5,7],[42,7],[74,7],[252,7],[311,6],[436,6],[605,7]]},"408":{"position":[[58,6]]},"440":{"position":[[263,7],[567,8]]},"548":{"position":[[31,7],[63,6],[187,6]]},"549":{"position":[[110,7]]},"671":{"position":[[346,6]]}},"keywords":{}}],["plugin"",{"_index":3293,"title":{},"content":{"359":{"position":[[570,12]]}},"keywords":{}}],["plugin'",{"_index":237,"title":{},"content":{"6":{"position":[[1135,8]]},"320":{"position":[[51,8],[1533,8]]},"379":{"position":[[3817,8]]},"380":{"position":[[1704,8]]},"407":{"position":[[480,8]]},"549":{"position":[[162,8]]},"649":{"position":[[125,8]]}},"keywords":{}}],["plugin.gemspec",{"_index":1987,"title":{},"content":{"117":{"position":[[542,14]]}},"keywords":{}}],["plugin.txt",{"_index":238,"title":{"125":{"position":[[0,10]]}},"content":{"6":{"position":[[1144,10]]},"57":{"position":[[361,10]]},"100":{"position":[[145,10]]},"104":{"position":[[822,10],[1677,10]]},"105":{"position":[[901,10],[1641,10]]},"106":{"position":[[865,10],[988,10]]},"107":{"position":[[783,10],[878,10]]},"108":{"position":[[508,10],[612,10]]},"109":{"position":[[1286,10],[1375,10]]},"110":{"position":[[1620,10],[1733,10]]},"111":{"position":[[1142,10]]},"112":{"position":[[871,10]]},"113":{"position":[[476,10]]},"114":{"position":[[184,10]]},"117":{"position":[[594,10]]},"125":{"position":[[3,10],[393,10]]},"126":{"position":[[472,10]]},"301":{"position":[[1149,10]]},"302":{"position":[[2495,10]]},"303":{"position":[[1158,10]]},"306":{"position":[[868,10]]},"307":{"position":[[1689,10]]},"314":{"position":[[92,10]]},"319":{"position":[[138,10]]},"323":{"position":[[388,10]]},"338":{"position":[[744,11]]},"378":{"position":[[567,10]]},"383":{"position":[[1663,10]]}},"keywords":{}}],["plugin_instance.json",{"_index":2987,"title":{},"content":{"323":{"position":[[318,20],[349,20]]}},"keywords":{}}],["plugins/default/openc3",{"_index":2986,"title":{},"content":{"323":{"position":[[216,22]]}},"keywords":{}}],["plugins/packages/openc3",{"_index":1011,"title":{},"content":{"43":{"position":[[238,23]]}},"keywords":{}}],["plugins/targets_modified/inst/procedures/checks.rb",{"_index":2991,"title":{},"content":{"324":{"position":[[486,51]]}},"keywords":{}}],["plugins](../configuration/plugin",{"_index":3276,"title":{},"content":{"358":{"position":[[6517,35]]}},"keywords":{}}],["pluginsgrafana",{"_index":3807,"title":{},"content":{"392":{"position":[[321,14]]}},"keywords":{}}],["png",{"_index":4733,"title":{},"content":{"629":{"position":[[340,4]]}},"keywords":{}}],["pod",{"_index":2012,"title":{},"content":{"127":{"position":[[338,4]]},"258":{"position":[[1888,3]]}},"keywords":{}}],["podman",{"_index":2827,"title":{"308":{"position":[[0,6]]},"309":{"position":[[29,6]]}},"content":{"309":{"position":[[91,6],[174,6],[291,6],[511,7],[653,6],[1039,6],[1091,6],[1137,6],[1331,6],[1677,6],[2181,6],[2420,6],[2874,6],[3799,6],[3983,6],[3999,6]]},"310":{"position":[[9,6],[29,6],[46,6],[69,6],[89,6],[183,7]]},"330":{"position":[[200,6]]}},"keywords":{}}],["podman.socket",{"_index":2884,"title":{},"content":{"309":{"position":[[2472,13]]}},"keywords":{}}],["point",{"_index":628,"title":{"562":{"position":[[45,5]]},"563":{"position":[[44,6]]}},"content":{"31":{"position":[[659,5]]},"56":{"position":[[186,5]]},"92":{"position":[[161,6],[232,6],[315,6],[399,5]]},"217":{"position":[[1144,5]]},"225":{"position":[[960,5]]},"271":{"position":[[984,5]]},"307":{"position":[[847,5]]},"324":{"position":[[549,5]]},"326":{"position":[[281,5],[475,5]]},"345":{"position":[[595,5]]},"347":{"position":[[39,6],[108,6],[264,6],[321,7],[382,7],[418,6],[570,5],[637,6]]},"351":{"position":[[55,6]]},"352":{"position":[[50,6],[197,7],[638,6],[764,7],[777,6],[960,7],[973,6]]},"353":{"position":[[212,7],[248,6],[530,5]]},"359":{"position":[[733,5],[920,5],[2399,5],[2631,5]]},"367":{"position":[[425,6]]},"369":{"position":[[2039,5]]},"402":{"position":[[1898,6]]},"435":{"position":[[214,5]]},"482":{"position":[[312,6],[333,5],[565,6],[586,5]]},"498":{"position":[[199,5]]},"499":{"position":[[214,5]]},"504":{"position":[[324,5]]},"505":{"position":[[363,5]]},"519":{"position":[[83,6]]},"522":{"position":[[279,7],[322,6],[381,6],[413,6],[514,6],[558,7]]},"530":{"position":[[293,5]]},"547":{"position":[[226,5],[413,7],[1304,6]]},"550":{"position":[[228,6]]},"562":{"position":[[37,6],[141,5],[305,5]]},"563":{"position":[[76,5],[194,6],[278,6],[494,6]]},"564":{"position":[[312,7],[744,6]]},"565":{"position":[[257,5]]},"568":{"position":[[200,5],[822,5]]},"569":{"position":[[1163,6]]},"574":{"position":[[504,6]]},"626":{"position":[[1866,6],[1943,6]]},"627":{"position":[[1919,6],[1996,6]]},"628":{"position":[[1891,6],[1968,6]]},"637":{"position":[[1190,5]]},"658":{"position":[[1005,6]]},"659":{"position":[[313,6],[964,6]]},"712":{"position":[[41,5]]},"713":{"position":[[35,5]]},"740":{"position":[[64,6]]},"741":{"position":[[60,6]]}},"keywords":{}}],["pointsgraph",{"_index":4726,"title":{},"content":{"626":{"position":[[1840,14]]},"627":{"position":[[1893,14]]},"628":{"position":[[1865,14]]}},"keywords":{}}],["pointssav",{"_index":4725,"title":{},"content":{"626":{"position":[[1715,12]]},"627":{"position":[[1768,12]]},"628":{"position":[[1740,12]]}},"keywords":{}}],["poli",{"_index":1344,"title":{},"content":{"65":{"position":[[703,4]]}},"keywords":{}}],["polici",{"_index":1531,"title":{"423":{"position":[[21,6]]},"434":{"position":[[30,6]]},"435":{"position":[[20,7]]},"436":{"position":[[19,7]]}},"content":{"82":{"position":[[806,7]]},"430":{"position":[[686,7]]},"432":{"position":[[926,8]]},"434":{"position":[[13,6],[362,8]]},"435":{"position":[[35,7]]},"437":{"position":[[54,7]]}},"keywords":{}}],["policy":0,"session_state":"f3785967",{"_index":1570,"title":{},"content":{"82":{"position":[[4507,55]]}},"keywords":{}}],["poll",{"_index":1265,"title":{},"content":{"57":{"position":[[1161,8]]},"61":{"position":[[2626,7],[2675,7]]},"64":{"position":[[238,7],[287,7]]},"350":{"position":[[1068,7],[1121,7]]},"577":{"position":[[407,7]]},"715":{"position":[[165,7]]},"722":{"position":[[1184,7]]},"723":{"position":[[951,7]]},"724":{"position":[[737,7]]},"725":{"position":[[618,7]]},"726":{"position":[[796,7]]},"727":{"position":[[847,7]]},"728":{"position":[[662,7]]},"729":{"position":[[590,7]]}},"keywords":{}}],["poly_read_convers",{"_index":2633,"title":{},"content":{"279":{"position":[[4563,21],[5202,20]]},"299":{"position":[[1011,20]]}},"keywords":{}}],["poly_write_convers",{"_index":784,"title":{},"content":{"36":{"position":[[6083,22],[6663,21]]},"229":{"position":[[6083,22],[6663,21]]},"253":{"position":[[821,21]]}},"keywords":{}}],["polynomi",{"_index":785,"title":{},"content":{"36":{"position":[[6114,10],[6419,10],[6505,11],[6540,11],[6594,12],[6744,10],[7046,10],[7215,10],[7301,11],[7336,11],[7390,12]]},"65":{"position":[[708,10],[795,10]]},"229":{"position":[[6114,10],[6419,10],[6505,11],[6540,11],[6594,12],[6744,10],[7046,10],[7215,10],[7301,11],[7336,11],[7390,12]]},"279":{"position":[[4593,10],[4958,10],[5044,11],[5079,11],[5133,12],[5281,10],[5647,10],[5816,10],[5902,11],[5937,11],[5991,12]]},"659":{"position":[[542,10]]}},"keywords":{}}],["pool",{"_index":4144,"title":{},"content":{"455":{"position":[[232,4]]}},"keywords":{}}],["popul",{"_index":699,"title":{},"content":{"36":{"position":[[1953,9],[2201,8]]},"219":{"position":[[365,9]]},"229":{"position":[[1953,9],[2201,8]]},"440":{"position":[[250,9]]},"462":{"position":[[243,8]]},"464":{"position":[[149,8]]},"467":{"position":[[400,9]]},"532":{"position":[[97,8]]}},"keywords":{}}],["popup",{"_index":640,"title":{},"content":{"33":{"position":[[635,6],[894,6]]},"36":{"position":[[3205,5]]},"229":{"position":[[3205,5]]},"237":{"position":[[138,5]]},"290":{"position":[[207,5]]},"529":{"position":[[333,5]]}},"keywords":{}}],["port",{"_index":495,"title":{"144":{"position":[[0,5]]},"182":{"position":[[0,5]]},"317":{"position":[[15,6]]}},"content":{"22":{"position":[[326,4]]},"23":{"position":[[30,4],[50,4],[228,6]]},"42":{"position":[[2094,5],[2369,5]]},"43":{"position":[[934,4]]},"67":{"position":[[565,4]]},"87":{"position":[[110,4],[183,4]]},"104":{"position":[[293,4],[298,4],[349,6],[414,4],[419,4],[473,6]]},"105":{"position":[[281,4],[286,4],[337,5],[352,4],[357,4],[411,5]]},"106":{"position":[[211,4],[216,4],[272,4],[277,4],[344,4],[349,4],[440,5]]},"107":{"position":[[297,4],[302,4]]},"108":{"position":[[259,4]]},"109":{"position":[[530,4],[535,4]]},"110":{"position":[[523,4],[528,4]]},"111":{"position":[[57,5],[243,4],[267,4],[356,4],[380,4],[519,4],[1053,4]]},"112":{"position":[[220,4],[225,4]]},"113":{"position":[[191,4],[196,4],[287,4]]},"114":{"position":[[164,4],[174,4]]},"115":{"position":[[95,4],[390,4]]},"120":{"position":[[180,6]]},"126":{"position":[[268,6]]},"144":{"position":[[21,4],[100,4],[186,4],[212,4],[266,4]]},"182":{"position":[[22,4],[101,4],[187,4],[213,4],[303,4]]},"259":{"position":[[355,5]]},"309":{"position":[[3763,4],[3841,4]]},"314":{"position":[[449,4],[503,4],[880,4],[971,4],[1954,5],[2183,4]]},"316":{"position":[[8,5]]},"317":{"position":[[8,5]]},"358":{"position":[[7787,4],[8379,5]]},"359":{"position":[[877,4]]},"362":{"position":[[198,4],[332,4],[662,4],[983,4]]},"373":{"position":[[128,4],[204,4],[238,4],[301,6]]},"377":{"position":[[86,6]]},"378":{"position":[[643,4],[720,4]]},"380":{"position":[[1179,4],[1260,4],[1458,4],[1535,4]]},"383":{"position":[[102,7]]},"404":{"position":[[2507,5]]},"662":{"position":[[62,6],[129,6]]},"752":{"position":[[521,5]]}},"keywords":{}}],["port_tc",{"_index":3605,"title":{},"content":{"378":{"position":[[698,7],[821,7],[1100,7]]}},"keywords":{}}],["port_tm",{"_index":3604,"title":{},"content":{"378":{"position":[[628,7],[799,7],[1121,7]]}},"keywords":{}}],["portabl",{"_index":4092,"title":{},"content":{"431":{"position":[[540,11]]}},"keywords":{}}],["portion",{"_index":1725,"title":{},"content":{"91":{"position":[[681,7]]},"100":{"position":[[433,7]]},"289":{"position":[[124,7]]},"390":{"position":[[657,8]]},"569":{"position":[[933,7]]},"611":{"position":[[164,7]]},"635":{"position":[[55,7]]}},"keywords":{}}],["pos[x,y,z",{"_index":3428,"title":{},"content":{"369":{"position":[[611,10]]}},"keywords":{}}],["posit",{"_index":460,"title":{"200":{"position":[[0,9]]}},"content":{"20":{"position":[[1146,8]]},"86":{"position":[[249,9]]},"200":{"position":[[16,8],[54,8],[140,8],[261,9],[321,8]]},"351":{"position":[[560,10]]},"579":{"position":[[305,9]]},"593":{"position":[[30,8]]},"647":{"position":[[61,8],[72,8],[139,8],[150,8]]},"648":{"position":[[207,8],[218,8],[285,8],[296,8]]},"649":{"position":[[174,8],[185,8],[253,8],[264,8]]},"650":{"position":[[615,8],[626,8],[694,8],[705,8],[1454,8],[1465,8],[1533,8],[1544,8]]},"651":{"position":[[69,8],[80,8],[141,8],[152,8],[211,8],[222,8],[279,8],[290,8]]},"652":{"position":[[277,8],[288,8],[349,8],[360,8],[419,8],[430,8],[487,8],[498,8]]},"653":{"position":[[62,8],[73,8],[100,8],[111,8]]},"780":{"position":[[43,9],[164,8],[195,8],[338,8],[407,8]]},"787":{"position":[[326,8],[357,8],[511,8],[580,8]]}},"keywords":{}}],["posix",{"_index":1906,"title":{},"content":{"111":{"position":[[108,5]]}},"keywords":{}}],["posprogress",{"_index":4697,"title":{},"content":{"613":{"position":[[579,11],[628,11]]},"630":{"position":[[584,11],[626,11]]}},"keywords":{}}],["possess",{"_index":4114,"title":{},"content":{"434":{"position":[[548,11]]}},"keywords":{}}],["possibl",{"_index":171,"title":{},"content":{"5":{"position":[[799,9]]},"67":{"position":[[2956,8],[3286,14]]},"226":{"position":[[269,9]]},"276":{"position":[[298,9]]},"320":{"position":[[1846,13]]},"321":{"position":[[82,8]]},"387":{"position":[[1382,9],[1476,8]]},"392":{"position":[[722,9]]},"424":{"position":[[190,11]]},"434":{"position":[[669,8]]},"543":{"position":[[194,8]]},"559":{"position":[[335,13],[1018,9]]},"560":{"position":[[6,9]]},"787":{"position":[[660,8]]}},"keywords":{}}],["post",{"_index":1493,"title":{},"content":{"81":{"position":[[493,4]]},"82":{"position":[[590,4],[6246,4]]},"83":{"position":[[799,6],[1388,6]]},"217":{"position":[[573,5]]},"434":{"position":[[294,6]]},"435":{"position":[[51,4]]},"476":{"position":[[232,4]]}},"keywords":{}}],["post_check",{"_index":2437,"title":{},"content":{"251":{"position":[[152,10],[743,10],[1511,10]]},"447":{"position":[[512,10]]}},"keywords":{}}],["post_check(packet",{"_index":2453,"title":{},"content":{"251":{"position":[[1247,18]]}},"keywords":{}}],["post_check(self",{"_index":2461,"title":{},"content":{"251":{"position":[[2032,16]]}},"keywords":{}}],["post_write_interfac",{"_index":1407,"title":{"77":{"position":[[0,21]]}},"content":{"67":{"position":[[4829,22]]},"77":{"position":[[5,20],[638,22]]}},"keywords":{}}],["post_write_interface(packet",{"_index":1461,"title":{},"content":{"77":{"position":[[959,28]]}},"keywords":{}}],["post_write_interface(self",{"_index":1462,"title":{},"content":{"77":{"position":[[1059,26]]}},"keywords":{}}],["postgresql",{"_index":2523,"title":{},"content":{"258":{"position":[[1809,10]]},"369":{"position":[[1853,10],[3344,10]]}},"keywords":{}}],["potenti",{"_index":1400,"title":{},"content":{"67":{"position":[[4024,11]]},"73":{"position":[[45,11]]},"74":{"position":[[47,11]]},"75":{"position":[[48,11]]},"76":{"position":[[46,11]]},"303":{"position":[[961,9]]},"332":{"position":[[937,11]]},"383":{"position":[[546,11]]},"473":{"position":[[1095,11]]},"530":{"position":[[531,11]]}},"keywords":{}}],["pound",{"_index":4378,"title":{},"content":{"540":{"position":[[4657,5]]},"545":{"position":[[259,5]]}},"keywords":{}}],["power",{"_index":13,"title":{},"content":{"1":{"position":[[140,6],[181,5]]},"7":{"position":[[1103,8]]},"64":{"position":[[1303,5]]},"219":{"position":[[163,5],[528,5],[741,5]]},"269":{"position":[[47,7]]},"297":{"position":[[241,7]]},"326":{"position":[[1289,8]]},"342":{"position":[[702,8]]},"343":{"position":[[999,5]]},"363":{"position":[[42,9],[234,8]]},"369":{"position":[[3556,5]]},"404":{"position":[[34,8],[285,5],[1678,7],[1766,5]]},"540":{"position":[[1029,6],[1051,5]]},"543":{"position":[[26,8]]},"544":{"position":[[345,8],[580,6]]},"546":{"position":[[612,9]]},"547":{"position":[[11,8]]}},"keywords":{}}],["power_off_subystem",{"_index":4399,"title":{},"content":{"544":{"position":[[1127,20]]}},"keywords":{}}],["power_on_subsystem",{"_index":4397,"title":{},"content":{"544":{"position":[[658,18],[736,21],[1029,20],[1171,20]]}},"keywords":{}}],["pp",{"_index":5798,"title":{},"content":{"812":{"position":[[149,2]]},"813":{"position":[[270,2]]}},"keywords":{}}],["ppsselectiontable_def.txt",{"_index":616,"title":{},"content":{"31":{"position":[[214,26]]}},"keywords":{}}],["practic",{"_index":3251,"title":{"559":{"position":[[16,10]]}},"content":{"358":{"position":[[1811,9],[2515,8]]},"368":{"position":[[644,8]]},"434":{"position":[[268,9]]},"538":{"position":[[37,9]]}},"keywords":{}}],["practices."",{"_index":2561,"title":{},"content":{"265":{"position":[[171,16]]}},"keywords":{}}],["pragma",{"_index":1529,"title":{},"content":{"82":{"position":[[780,7]]}},"keywords":{}}],["pre",{"_index":553,"title":{},"content":{"24":{"position":[[961,3]]}},"keywords":{}}],["pre_check",{"_index":2436,"title":{},"content":{"251":{"position":[[138,9],[729,9],[1497,9]]},"447":{"position":[[498,9]]}},"keywords":{}}],["pre_check(packet",{"_index":2447,"title":{},"content":{"251":{"position":[[1060,17]]}},"keywords":{}}],["pre_check(self",{"_index":2458,"title":{},"content":{"251":{"position":[[1828,15]]}},"keywords":{}}],["prebuilt",{"_index":3076,"title":{},"content":{"333":{"position":[[1417,8]]}},"keywords":{}}],["preexist",{"_index":3231,"title":{},"content":{"355":{"position":[[760,11]]}},"keywords":{}}],["prefil",{"_index":3952,"title":{},"content":{"404":{"position":[[975,7]]}},"keywords":{}}],["prefix",{"_index":2080,"title":{},"content":{"147":{"position":[[16,6],[34,6],[141,6],[154,7]]},"189":{"position":[[16,6],[34,6],[141,6],[154,7]]},"301":{"position":[[988,6]]}},"keywords":{}}],["preidentifi",{"_index":1137,"title":{"62":{"position":[[0,13]]}},"content":{"50":{"position":[[133,14]]},"62":{"position":[[5,13],[717,13]]},"104":{"position":[[1535,13],[2505,13]]},"105":{"position":[[1488,13],[2343,13]]},"111":{"position":[[1795,13]]},"761":{"position":[[488,16]]}},"keywords":{}}],["prem",{"_index":2512,"title":{},"content":{"258":{"position":[[650,4]]}},"keywords":{}}],["prep",{"_index":3588,"title":{},"content":{"376":{"position":[[561,4]]}},"keywords":{}}],["prepend",{"_index":1232,"title":{},"content":{"55":{"position":[[2786,9]]}},"keywords":{}}],["prerequesit",{"_index":2192,"title":{"208":{"position":[[0,13]]}},"content":{},"keywords":{}}],["prerequisit",{"_index":569,"title":{"330":{"position":[[0,14]]}},"content":{"27":{"position":[[1,13]]},"309":{"position":[[1380,12]]}},"keywords":{}}],["presenc",{"_index":3043,"title":{},"content":{"332":{"position":[[64,8]]},"338":{"position":[[256,8]]},"380":{"position":[[1606,8]]}},"keywords":{}}],["present",{"_index":1081,"title":{},"content":{"48":{"position":[[691,7],[710,7],[868,7],[890,7],[978,7],[3128,7],[3543,7],[3679,7]]},"55":{"position":[[884,9],[1391,9],[2467,8]]},"135":{"position":[[54,7]]},"544":{"position":[[272,8]]},"557":{"position":[[317,9]]}},"keywords":{}}],["preset",{"_index":1202,"title":{},"content":{"54":{"position":[[28,6]]}},"keywords":{}}],["press",{"_index":3121,"title":{},"content":{"346":{"position":[[355,5],[1311,5]]},"348":{"position":[[659,8]]},"349":{"position":[[2131,5],[2365,5],[2413,5],[2497,5],[4767,5]]},"352":{"position":[[323,5]]},"353":{"position":[[856,5]]},"354":{"position":[[302,5]]},"464":{"position":[[296,8]]},"467":{"position":[[579,8],[715,8]]},"554":{"position":[[429,8]]},"637":{"position":[[1712,7]]},"675":{"position":[[54,5]]},"722":{"position":[[244,7]]}},"keywords":{}}],["pressur",{"_index":3525,"title":{},"content":{"369":{"position":[[3908,8]]}},"keywords":{}}],["pretti",{"_index":3789,"title":{},"content":{"390":{"position":[[1186,6]]}},"keywords":{}}],["prettier",{"_index":904,"title":{},"content":{"42":{"position":[[172,9]]}},"keywords":{}}],["prevent",{"_index":702,"title":{},"content":{"36":{"position":[[2087,8]]},"136":{"position":[[88,7]]},"229":{"position":[[2087,8]]},"314":{"position":[[2018,7]]},"324":{"position":[[312,7]]},"430":{"position":[[461,7]]},"677":{"position":[[1247,7]]},"678":{"position":[[1469,7]]},"679":{"position":[[1490,7]]},"680":{"position":[[1523,7]]},"681":{"position":[[1323,7]]},"682":{"position":[[1540,7]]},"683":{"position":[[1561,7]]},"684":{"position":[[1594,7]]}},"keywords":{}}],["previou",{"_index":591,"title":{},"content":{"27":{"position":[[954,8]]},"349":{"position":[[1842,9]]},"479":{"position":[[29,8]]},"717":{"position":[[28,8]]},"744":{"position":[[202,8]]}},"keywords":{}}],["previous",{"_index":3150,"title":{},"content":{"349":{"position":[[716,11]]},"352":{"position":[[1158,10]]},"358":{"position":[[2076,11]]},"455":{"position":[[1127,10]]},"529":{"position":[[498,10]]},"540":{"position":[[4571,10]]},"582":{"position":[[33,10]]},"591":{"position":[[36,10]]},"670":{"position":[[297,10]]},"795":{"position":[[717,10]]},"801":{"position":[[35,10]]},"802":{"position":[[27,10]]},"803":{"position":[[27,10]]},"804":{"position":[[27,10]]}},"keywords":{}}],["primari",{"_index":1138,"title":{},"content":{"50":{"position":[[180,7]]},"141":{"position":[[745,7]]},"253":{"position":[[171,7],[254,7],[333,7],[432,7],[520,7],[611,7],[698,7],[1049,7],[1132,7],[1211,7],[1310,7],[1398,7],[1489,7],[1576,7],[1819,7],[1902,7],[1981,7],[2080,7],[2168,7],[2259,7],[2346,7]]},"379":{"position":[[1236,7]]},"383":{"position":[[84,7]]},"387":{"position":[[89,7]]},"402":{"position":[[166,7]]},"554":{"position":[[134,7]]}},"keywords":{}}],["primarili",{"_index":915,"title":{},"content":{"42":{"position":[[477,9]]},"138":{"position":[[174,9]]},"223":{"position":[[69,9]]},"552":{"position":[[120,9]]},"638":{"position":[[68,9]]},"639":{"position":[[87,9]]},"640":{"position":[[70,9]]},"642":{"position":[[80,9]]},"644":{"position":[[70,9]]}},"keywords":{}}],["principl",{"_index":4120,"title":{},"content":{"436":{"position":[[70,11]]}},"keywords":{}}],["print",{"_index":722,"title":{},"content":{"36":{"position":[[3341,5]]},"229":{"position":[[3341,5]]},"239":{"position":[[25,8]]},"271":{"position":[[1389,8],[1426,7],[1861,5]]},"279":{"position":[[7978,7]]},"457":{"position":[[259,5],[336,5]]},"540":{"position":[[255,7]]},"554":{"position":[[532,5]]},"561":{"position":[[257,5]]},"610":{"position":[[517,7],[589,5]]},"658":{"position":[[1298,5]]},"697":{"position":[[222,7],[765,7]]}},"keywords":{}}],["print("script",{"_index":4306,"title":{},"content":{"533":{"position":[[716,18]]}},"keywords":{}}],["print("script_1",{"_index":4528,"title":{},"content":{"561":{"position":[[832,20]]}},"keywords":{}}],["print("setup"",{"_index":4304,"title":{},"content":{"533":{"position":[[671,24]]}},"keywords":{}}],["print("skip",{"_index":4519,"title":{},"content":{"560":{"position":[[904,20]]}},"keywords":{}}],["print("suit",{"_index":4318,"title":{},"content":{"534":{"position":[[452,17],[503,17]]}},"keywords":{}}],["print("teardown"",{"_index":4308,"title":{},"content":{"533":{"position":[[764,27]]}},"keywords":{}}],["print("verifi",{"_index":4456,"title":{},"content":{"550":{"position":[[578,20],[690,20]]}},"keywords":{}}],["print('sensor",{"_index":4982,"title":{},"content":{"668":{"position":[[1162,13],[1194,13]]}},"keywords":{}}],["print(abort_cmd",{"_index":5139,"title":{},"content":{"689":{"position":[[842,16]]}},"keywords":{}}],["print(cmd_list",{"_index":5124,"title":{},"content":{"687":{"position":[[801,15]]},"688":{"position":[[380,15]]}},"keywords":{}}],["print(config",{"_index":5808,"title":{},"content":{"813":{"position":[[369,14]]},"814":{"position":[[468,13]]}},"keywords":{}}],["print(ev",{"_index":5438,"title":{},"content":{"744":{"position":[[421,13],[1403,13]]}},"keywords":{}}],["print(f"cmd",{"_index":5553,"title":{},"content":{"756":{"position":[[1329,16]]}},"keywords":{}}],["print(f"interfac",{"_index":5544,"title":{},"content":{"756":{"position":[[1051,23]]}},"keywords":{}}],["print(f"math:{result}"",{"_index":4479,"title":{},"content":{"551":{"position":[[1670,33]]}},"keywords":{}}],["print(f"mov",{"_index":4478,"title":{},"content":{"551":{"position":[[1561,18]]}},"keywords":{}}],["print(f"packet",{"_index":5605,"title":{},"content":{"765":{"position":[[1272,20]]}},"keywords":{}}],["print(f"rout",{"_index":5597,"title":{},"content":{"765":{"position":[[1018,20]]}},"keywords":{}}],["print(f"transmit",{"_index":5548,"title":{},"content":{"756":{"position":[[1170,21]]},"765":{"position":[[1125,21]]}},"keywords":{}}],["print(f"{packet['packet_timesecond",{"_index":4540,"title":{},"content":{"563":{"position":[[1012,44]]},"717":{"position":[[1064,44],[1302,44]]}},"keywords":{}}],["print(fil",{"_index":5037,"title":{},"content":{"673":{"position":[[1848,11],[1973,12],[2059,11]]}},"keywords":{}}],["print(file.read",{"_index":4996,"title":{},"content":{"669":{"position":[[1154,18]]},"673":{"position":[[1860,18],[2071,18]]}},"keywords":{}}],["print(formatted(file.read",{"_index":4993,"title":{},"content":{"669":{"position":[[997,29]]}},"keywords":{}}],["print(formatted(tlm("tgt",{"_index":2588,"title":{},"content":{"271":{"position":[[1793,29]]}},"keywords":{}}],["print(get_all_set",{"_index":5766,"title":{},"content":{"808":{"position":[[869,25]]}},"keywords":{}}],["print(get_max_output",{"_index":5695,"title":{},"content":{"792":{"position":[[168,23]]}},"keywords":{}}],["print(get_overrid",{"_index":5320,"title":{},"content":{"714":{"position":[[1334,22]]}},"keywords":{}}],["print(get_setting('vers",{"_index":5787,"title":{},"content":{"809":{"position":[[511,29],[563,28]]}},"keywords":{}}],["print(get_settings('pypi_url",{"_index":5796,"title":{},"content":{"810":{"position":[[544,31]]}},"keywords":{}}],["print(hazard",{"_index":5179,"title":{},"content":{"692":{"position":[[706,16]]}},"keywords":{}}],["print(interfac",{"_index":5489,"title":{},"content":{"750":{"position":[[318,16]]}},"keywords":{}}],["print(item",{"_index":5287,"title":{},"content":{"708":{"position":[[430,11]]}},"keywords":{}}],["print(list_set",{"_index":5749,"title":{},"content":{"807":{"position":[[279,22]]}},"keywords":{}}],["print(nam",{"_index":5801,"title":{},"content":{"812":{"position":[[278,12]]}},"keywords":{}}],["print(packet",{"_index":5172,"title":{},"content":{"691":{"position":[[963,13]]},"705":{"position":[[236,14]]},"707":{"position":[[344,13]]}},"keywords":{}}],["print(param",{"_index":5160,"title":{},"content":{"690":{"position":[[1190,12]]}},"keywords":{}}],["print(result",{"_index":5408,"title":{},"content":{"740":{"position":[[734,13]]}},"keywords":{}}],["print(result.key",{"_index":5411,"title":{},"content":{"740":{"position":[[850,20]]}},"keywords":{}}],["print(result['default",{"_index":5413,"title":{},"content":{"740":{"position":[[909,24]]}},"keywords":{}}],["print(rout",{"_index":5587,"title":{},"content":{"764":{"position":[[295,13]]}},"keywords":{}}],["print(target",{"_index":5456,"title":{},"content":{"747":{"position":[[240,13]]}},"keywords":{}}],["print(temp",{"_index":4488,"title":{},"content":{"552":{"position":[[2521,11]]}},"keywords":{}}],["print(tlm("tgt",{"_index":2585,"title":{},"content":{"271":{"position":[[1469,19]]}},"keywords":{}}],["print(valu",{"_index":5187,"title":{},"content":{"693":{"position":[[883,12]]},"704":{"position":[[589,13]]}},"keywords":{}}],["print(x",{"_index":5101,"title":{},"content":{"685":{"position":[[1046,8]]}},"keywords":{}}],["printf",{"_index":657,"title":{},"content":{"36":{"position":[[79,6],[161,6]]},"229":{"position":[[79,6],[161,6]]},"279":{"position":[[74,6],[156,6]]},"611":{"position":[[534,6]]},"659":{"position":[[816,6]]}},"keywords":{}}],["prior",{"_index":4570,"title":{},"content":{"569":{"position":[[526,5]]}},"keywords":{}}],["prioriti",{"_index":3855,"title":{},"content":{"401":{"position":[[132,8]]},"420":{"position":[[224,8]]}},"keywords":{}}],["priv",{"_index":1944,"title":{},"content":{"112":{"position":[[852,4]]}},"keywords":{}}],["priv_password",{"_index":1943,"title":{},"content":{"112":{"position":[[838,13]]}},"keywords":{}}],["priv_protocol",{"_index":1938,"title":{},"content":{"112":{"position":[[762,13]]}},"keywords":{}}],["privaci",{"_index":4012,"title":{"423":{"position":[[13,7]]},"434":{"position":[[22,7]]}},"content":{"430":{"position":[[678,7]]},"432":{"position":[[918,7]]},"434":{"position":[[5,7],[260,7],[354,7]]},"435":{"position":[[27,7]]},"437":{"position":[[46,7]]}},"keywords":{}}],["privat",{"_index":465,"title":{},"content":{"20":{"position":[[1419,7]]},"26":{"position":[[111,7],[170,7]]},"27":{"position":[[252,7],[807,7],[930,7]]},"42":{"position":[[1681,7]]},"81":{"position":[[590,8]]},"82":{"position":[[6350,8]]},"109":{"position":[[1090,7]]},"110":{"position":[[1424,7]]},"112":{"position":[[485,7]]},"389":{"position":[[543,7]]}},"keywords":{}}],["privkey.pem",{"_index":525,"title":{},"content":{"24":{"position":[[7,11],[266,11]]}},"keywords":{}}],["pro",{"_index":3422,"title":{},"content":{"369":{"position":[[207,3],[754,3],[2239,3],[4274,3]]}},"keywords":{}}],["probabl",{"_index":2897,"title":{},"content":{"309":{"position":[[3330,9],[3646,8]]},"326":{"position":[[296,8]]},"404":{"position":[[2009,8]]},"498":{"position":[[640,8]]},"499":{"position":[[546,8]]},"547":{"position":[[288,11]]},"551":{"position":[[493,8]]}},"keywords":{}}],["problem",{"_index":118,"title":{},"content":{"3":{"position":[[512,7]]},"330":{"position":[[1076,8]]},"332":{"position":[[581,9],[741,8]]},"336":{"position":[[8,7]]},"380":{"position":[[1661,8]]},"386":{"position":[[629,7]]},"387":{"position":[[948,7]]},"430":{"position":[[507,9]]},"544":{"position":[[14,7]]}},"keywords":{}}],["proce",{"_index":1205,"title":{},"content":{"54":{"position":[[177,8]]},"349":{"position":[[5977,7]]},"722":{"position":[[1105,7]]},"723":{"position":[[872,7]]},"724":{"position":[[658,7]]},"797":{"position":[[60,7]]}},"keywords":{}}],["procedur",{"_index":2771,"title":{"776":{"position":[[16,11]]}},"content":{"302":{"position":[[1734,10],[1814,10],[2012,9]]},"342":{"position":[[827,11]]},"383":{"position":[[991,11],[1301,10],[1558,10]]},"452":{"position":[[211,10]]},"497":{"position":[[191,10],[305,10]]},"546":{"position":[[63,12],[433,11],[813,9]]},"548":{"position":[[88,10],[126,10]]},"549":{"position":[[346,10],[421,9]]},"556":{"position":[[718,10]]},"658":{"position":[[117,11]]},"660":{"position":[[64,11]]},"776":{"position":[[86,11]]},"777":{"position":[[45,10],[102,11],[292,9],[340,10]]},"778":{"position":[[78,10]]},"779":{"position":[[99,10]]}},"keywords":{}}],["procedures/cmd_tlm_test.rb",{"_index":1634,"title":{},"content":{"83":{"position":[[2114,29]]}},"keywords":{}}],["proceed",{"_index":3138,"title":{},"content":{"348":{"position":[[1919,11]]},"349":{"position":[[540,11]]},"557":{"position":[[520,10]]}},"keywords":{}}],["process",{"_index":259,"title":{"485":{"position":[[0,10]]}},"content":{"7":{"position":[[518,9],[754,7],[943,7]]},"13":{"position":[[110,10]]},"14":{"position":[[104,10]]},"15":{"position":[[1,7],[157,8],[354,8]]},"16":{"position":[[1,7],[161,8],[354,8]]},"32":{"position":[[34,7]]},"36":{"position":[[6567,7],[7363,7]]},"73":{"position":[[333,10]]},"74":{"position":[[366,10]]},"75":{"position":[[382,10]]},"76":{"position":[[381,10]]},"123":{"position":[[101,7]]},"139":{"position":[[50,10]]},"171":{"position":[[36,8],[127,7]]},"174":{"position":[[62,8],[111,10],[212,10],[228,7],[269,7]]},"176":{"position":[[29,10],[54,10],[231,10]]},"178":{"position":[[133,9],[167,11]]},"190":{"position":[[29,10],[54,10],[237,10]]},"201":{"position":[[29,10],[54,10],[229,10]]},"205":{"position":[[29,10],[54,10],[231,10]]},"225":{"position":[[281,9],[752,9]]},"229":{"position":[[6567,7],[7363,7]]},"271":{"position":[[82,9],[309,9],[779,9]]},"279":{"position":[[5106,7],[5964,7]]},"289":{"position":[[1,7]]},"299":{"position":[[446,7]]},"302":{"position":[[962,9],[2448,7]]},"343":{"position":[[1607,7]]},"353":{"position":[[16,9]]},"354":{"position":[[269,10],[332,11]]},"368":{"position":[[278,7]]},"379":{"position":[[2236,7]]},"404":{"position":[[587,7]]},"424":{"position":[[293,10],[429,9],[590,9],[662,10],[960,10],[1158,10],[1354,10],[1449,9],[1754,9],[1886,10]]},"431":{"position":[[210,10]]},"432":{"position":[[740,10],[1251,7]]},"447":{"position":[[60,9],[219,7]]},"476":{"position":[[130,9],[237,10]]},"485":{"position":[[14,7],[40,10],[134,7],[190,8],[211,10]]},"548":{"position":[[264,11]]},"629":{"position":[[211,10]]},"757":{"position":[[75,9]]}},"keywords":{}}],["processor",{"_index":1992,"title":{"288":{"position":[[0,10]]}},"content":{"119":{"position":[[124,10]]},"288":{"position":[[11,9],[140,9],[155,9],[233,10],[300,9],[429,9],[497,9]]}},"keywords":{}}],["produc",{"_index":2392,"title":{},"content":{"225":{"position":[[1198,8]]},"546":{"position":[[1333,8]]}},"keywords":{}}],["product",{"_index":546,"title":{},"content":{"24":{"position":[[633,10]]},"43":{"position":[[539,10]]},"136":{"position":[[172,12]]},"330":{"position":[[37,12]]},"382":{"position":[[815,10]]},"389":{"position":[[1701,8],[1763,7],[2052,7]]},"390":{"position":[[1281,7]]},"391":{"position":[[676,8]]},"392":{"position":[[650,7]]},"425":{"position":[[238,7]]},"426":{"position":[[430,9]]},"433":{"position":[[80,9]]}},"keywords":{}}],["product(",{"_index":4096,"title":{},"content":{"432":{"position":[[541,10]]}},"keywords":{}}],["products/servic",{"_index":4052,"title":{},"content":{"426":{"position":[[709,18]]}},"keywords":{}}],["profession",{"_index":3305,"title":{},"content":{"359":{"position":[[2946,12]]}},"keywords":{}}],["profil",{"_index":1575,"title":{},"content":{"82":{"position":[[4628,7]]},"309":{"position":[[2643,7]]},"369":{"position":[[1904,8],[3394,8]]},"431":{"position":[[675,9]]}},"keywords":{}}],["program",{"_index":316,"title":{"657":{"position":[[0,11]]}},"content":{"11":{"position":[[17,11]]},"93":{"position":[[639,7]]},"263":{"position":[[269,11]]},"269":{"position":[[142,11]]},"342":{"position":[[719,11]]},"358":{"position":[[920,7]]},"391":{"position":[[80,7]]},"393":{"position":[[839,8]]},"546":{"position":[[1467,8]]},"551":{"position":[[28,11]]}},"keywords":{}}],["programm",{"_index":1295,"title":{},"content":{"61":{"position":[[360,12]]}},"keywords":{}}],["programmat",{"_index":4634,"title":{},"content":{"592":{"position":[[71,16]]},"806":{"position":[[97,12]]},"811":{"position":[[94,16]]}},"keywords":{}}],["progress",{"_index":3180,"title":{},"content":{"349":{"position":[[4781,8]]},"485":{"position":[[72,8]]},"613":{"position":[[267,8],[370,8]]},"630":{"position":[[12,8],[275,8],[378,8]]}},"keywords":{}}],["progressbar",{"_index":4696,"title":{"630":{"position":[[0,12]]}},"content":{"613":{"position":[[51,11]]},"630":{"position":[[562,11],[604,11]]}},"keywords":{}}],["prohibit",{"_index":4100,"title":{},"content":{"432":{"position":[[943,10]]}},"keywords":{}}],["project",{"_index":408,"title":{"255":{"position":[[0,9]]},"331":{"position":[[6,8]]}},"content":{"20":{"position":[[299,7]]},"98":{"position":[[78,8]]},"255":{"position":[[145,7],[175,7],[394,7]]},"323":{"position":[[119,7],[181,7],[525,8],[617,7]]},"326":{"position":[[54,7]]},"331":{"position":[[31,7],[742,7]]},"332":{"position":[[178,7]]},"333":{"position":[[24,7]]},"358":{"position":[[748,7],[845,7],[930,8]]},"369":{"position":[[1146,7],[1219,7],[1302,7],[1376,7],[1452,7],[1542,7],[1615,7],[1696,7],[1767,7],[1838,7],[2637,7],[2708,7],[2793,7],[2867,7],[2942,7],[3032,7],[3105,7],[3187,7],[3258,7],[3329,7]]},"382":{"position":[[222,7],[243,8]]},"383":{"position":[[462,8],[488,7],[818,8]]},"386":{"position":[[61,8]]},"391":{"position":[[192,7],[274,8]]},"571":{"position":[[334,10]]}},"keywords":{}}],["project>",{"_index":3247,"title":{},"content":{"358":{"position":[[1425,11],[2200,11]]},"382":{"position":[[299,11],[444,11]]}},"keywords":{}}],["project"",{"_index":3066,"title":{},"content":{"333":{"position":[[159,13]]}},"keywords":{}}],["project'",{"_index":3003,"title":{},"content":{"326":{"position":[[1095,9]]}},"keywords":{}}],["project.clon",{"_index":3716,"title":{},"content":{"386":{"position":[[80,13]]}},"keywords":{}}],["project.git",{"_index":3035,"title":{},"content":{"331":{"position":[[108,11],[174,11]]},"404":{"position":[[2427,11]]}},"keywords":{}}],["project:$path",{"_index":3070,"title":{},"content":{"333":{"position":[[326,14]]}},"keywords":{}}],["project=chromium",{"_index":2200,"title":{},"content":{"209":{"position":[[274,16]]}},"keywords":{}}],["project\\openc3.bat",{"_index":3707,"title":{},"content":{"383":{"position":[[1144,18],[1379,18]]}},"keywords":{}}],["prom/prometheus:v2.24.1",{"_index":3377,"title":{},"content":{"364":{"position":[[1195,23]]}},"keywords":{}}],["prometheu",{"_index":2377,"title":{"222":{"position":[[0,10]]},"364":{"position":[[0,11]]}},"content":{"222":{"position":[[47,10],[234,10]]},"362":{"position":[[1431,10]]},"364":{"position":[[1,10],[533,10]]},"365":{"position":[[252,10],[269,10]]}},"keywords":{}}],["prometheus.yaml",{"_index":3358,"title":{},"content":{"364":{"position":[[365,15],[1223,15]]}},"keywords":{}}],["prometheus:9090",{"_index":3384,"title":{},"content":{"365":{"position":[[385,15]]}},"keywords":{}}],["prometheusaccessor",{"_index":2378,"title":{},"content":{"222":{"position":[[5,18],[126,18]]}},"keywords":{}}],["promis",{"_index":4758,"title":{},"content":{"637":{"position":[[983,9],[1143,7]]}},"keywords":{}}],["promot",{"_index":2832,"title":{},"content":{"309":{"position":[[247,8]]},"426":{"position":[[544,11],[1296,11]]}},"keywords":{}}],["prompt",{"_index":574,"title":{"675":{"position":[[0,7]]}},"content":{"27":{"position":[[153,6],[341,8],[479,8]]},"61":{"position":[[1789,8]]},"359":{"position":[[2238,6]]},"404":{"position":[[945,8]]},"422":{"position":[[578,7]]},"468":{"position":[[33,6],[165,6]]},"528":{"position":[[883,8]]},"536":{"position":[[27,6]]},"554":{"position":[[332,6],[391,6],[581,7],[735,6],[1063,6]]},"556":{"position":[[227,8]]},"559":{"position":[[397,6],[1394,8]]},"560":{"position":[[96,9],[312,9]]},"569":{"position":[[563,6]]},"664":{"position":[[1,7],[364,6]]},"665":{"position":[[1,7],[330,6]]},"668":{"position":[[508,6]]},"675":{"position":[[176,6]]},"805":{"position":[[1,7]]}},"keywords":{}}],["prompt("<message>"",{"_index":5038,"title":{},"content":{"675":{"position":[[98,35]]}},"keywords":{}}],["prompt("press",{"_index":5039,"title":{},"content":{"675":{"position":[[223,18]]}},"keywords":{}}],["promptdisconnect",{"_index":4287,"title":{},"content":{"529":{"position":[[244,16]]}},"keywords":{}}],["promptli",{"_index":4121,"title":{},"content":{"436":{"position":[[126,8]]}},"keywords":{}}],["proper",{"_index":3058,"title":{},"content":{"332":{"position":[[992,6]]},"556":{"position":[[826,6]]}},"keywords":{}}],["properli",{"_index":1204,"title":{},"content":{"54":{"position":[[80,8]]},"385":{"position":[[282,10]]},"566":{"position":[[232,8]]},"578":{"position":[[78,8]]}},"keywords":{}}],["properti",{"_index":3817,"title":{},"content":{"393":{"position":[[153,8]]},"432":{"position":[[1332,8],[1388,11]]}},"keywords":{}}],["proprietari",{"_index":3756,"title":{},"content":{"389":{"position":[[1010,11]]},"391":{"position":[[362,12]]}},"keywords":{}}],["proprietaryy",{"_index":3810,"title":{},"content":{"392":{"position":[[499,14]]}},"keywords":{}}],["protect",{"_index":581,"title":{},"content":{"27":{"position":[[414,7],[523,7],[918,7]]},"82":{"position":[[1229,11]]},"424":{"position":[[122,7],[1842,10]]},"429":{"position":[[39,10],[153,7]]},"432":{"position":[[1299,7],[1439,7]]}},"keywords":{}}],["protip",{"_index":98,"title":{},"content":{"3":{"position":[[186,8]]}},"keywords":{}}],["proto",{"_index":1961,"title":{},"content":{"114":{"position":[[409,5],[566,5]]},"223":{"position":[[382,5]]}},"keywords":{}}],["protoaccessor",{"_index":2380,"title":{},"content":{"223":{"position":[[5,13],[127,13]]}},"keywords":{}}],["protocol",{"_index":1129,"title":{"49":{"position":[[0,9]]},"50":{"position":[[19,10]]},"51":{"position":[[5,9]]},"52":{"position":[[5,9]]},"53":{"position":[[6,9]]},"54":{"position":[[6,9]]},"55":{"position":[[7,9]]},"56":{"position":[[11,9]]},"57":{"position":[[5,8]]},"58":{"position":[[11,8]]},"59":{"position":[[11,8]]},"60":{"position":[[11,8]]},"61":{"position":[[9,8]]},"62":{"position":[[14,8]]},"63":{"position":[[7,10]]},"64":{"position":[[12,9]]},"65":{"position":[[4,9]]},"66":{"position":[[14,9]]},"67":{"position":[[7,10]]},"101":{"position":[[0,10]]},"139":{"position":[[0,9]]},"223":{"position":[[0,8]]}},"content":{"50":{"position":[[50,10],[162,9],[303,10],[431,9],[528,8],[591,9],[703,8],[724,8],[762,8],[860,9],[921,8],[958,9],[1013,8],[1122,8],[1180,8]]},"51":{"position":[[46,8]]},"52":{"position":[[27,8]]},"53":{"position":[[11,8],[176,8]]},"54":{"position":[[11,8],[288,8],[519,8],[608,8],[723,9]]},"55":{"position":[[12,8],[325,8],[425,8],[551,9],[2574,8],[2687,9]]},"56":{"position":[[16,8],[403,8]]},"57":{"position":[[10,8],[70,9],[233,8],[646,9],[730,9],[861,9],[994,8],[1206,8],[1228,8],[1281,8]]},"58":{"position":[[16,8],[439,9]]},"59":{"position":[[16,8],[522,9]]},"60":{"position":[[16,8],[909,9]]},"61":{"position":[[6,8],[201,8],[241,8],[443,8],[772,8]]},"62":{"position":[[19,8],[91,8],[731,8]]},"63":{"position":[[38,10],[84,9]]},"64":{"position":[[17,8],[388,8]]},"65":{"position":[[9,8]]},"66":{"position":[[19,8]]},"67":{"position":[[19,8],[309,10],[597,9],[630,8],[817,9],[979,10],[996,8],[1010,9],[1240,8],[1266,8],[1280,9],[1514,8],[1558,9],[2136,9],[2331,9],[2586,9],[2687,8],[3632,9],[3675,10],[3901,8],[4085,8],[4503,8]]},"69":{"position":[[41,9],[120,8],[611,8],[726,8]]},"70":{"position":[[44,8]]},"71":{"position":[[52,8]]},"72":{"position":[[55,8]]},"73":{"position":[[361,10],[401,8],[500,8],[1563,8],[1769,9]]},"74":{"position":[[394,10],[434,8],[526,8],[647,8]]},"75":{"position":[[410,10],[450,8],[542,8]]},"76":{"position":[[409,10],[449,8],[539,8]]},"77":{"position":[[540,10],[628,9],[716,8]]},"78":{"position":[[57,8],[99,8]]},"79":{"position":[[28,8],[48,8]]},"95":{"position":[[97,8]]},"96":{"position":[[103,10],[329,9]]},"100":{"position":[[753,9]]},"101":{"position":[[1,9],[130,9]]},"102":{"position":[[203,9]]},"104":{"position":[[707,8],[725,10],[739,8],[762,9],[802,8],[1666,8],[2654,8]]},"105":{"position":[[594,8],[612,10],[626,8],[649,9],[689,8],[1598,8],[2471,8]]},"107":{"position":[[358,8],[381,8]]},"110":{"position":[[890,8],[908,10],[922,8],[945,9],[985,8]]},"111":{"position":[[786,8],[804,10],[818,8],[841,9],[881,8],[1913,8]]},"112":{"position":[[67,8]]},"113":{"position":[[68,8]]},"115":{"position":[[1644,8],[1803,8]]},"128":{"position":[[344,9]]},"139":{"position":[[16,9],[72,9],[129,9],[256,8],[338,8],[358,9],[425,8],[518,8],[608,8],[622,8],[685,8],[855,8],[904,8],[1110,8]]},"144":{"position":[[203,8],[217,9]]},"182":{"position":[[204,8],[218,9]]},"219":{"position":[[77,9]]},"223":{"position":[[45,8],[242,8]]},"272":{"position":[[217,9]]},"302":{"position":[[1478,10]]},"312":{"position":[[229,9],[298,8]]},"358":{"position":[[7970,8]]},"407":{"position":[[138,10]]},"759":{"position":[[41,9],[93,9],[138,8],[538,10],[662,8]]},"769":{"position":[[38,9],[90,9],[135,8],[542,10],[666,8]]}},"keywords":{}}],["protocol'",{"_index":1378,"title":{},"content":{"67":{"position":[[1995,10],[2476,10],[2848,10],[3018,10],[3209,10],[4323,10],[4818,10]]}},"keywords":{}}],["protocol_cmd",{"_index":1463,"title":{"78":{"position":[[0,13]]}},"content":{"78":{"position":[[5,12]]}},"keywords":{}}],["protocol_cmd(cmd_nam",{"_index":1467,"title":{},"content":{"78":{"position":[[220,22]]}},"keywords":{}}],["protocol_cmd(self",{"_index":1470,"title":{},"content":{"78":{"position":[[361,18]]}},"keywords":{}}],["provid",{"_index":187,"title":{"103":{"position":[[0,8]]},"674":{"position":[[0,9]]}},"content":{"5":{"position":[[1426,8]]},"7":{"position":[[8,8]]},"26":{"position":[[270,8]]},"27":{"position":[[497,7]]},"35":{"position":[[1031,7],[1562,7]]},"36":{"position":[[2243,8],[4680,8],[4906,8],[8677,8],[8903,8]]},"37":{"position":[[824,7],[1355,7]]},"50":{"position":[[8,8],[261,8]]},"63":{"position":[[8,8],[94,7]]},"77":{"position":[[127,7]]},"97":{"position":[[67,7]]},"100":{"position":[[181,7],[570,8]]},"103":{"position":[[8,8],[306,8]]},"111":{"position":[[70,8]]},"117":{"position":[[15,8],[464,7]]},"125":{"position":[[111,8]]},"140":{"position":[[289,8]]},"228":{"position":[[1060,7],[1591,7]]},"229":{"position":[[2243,8],[4680,8],[4906,8],[8677,8],[8903,8]]},"230":{"position":[[843,7],[1374,7]]},"231":{"position":[[1735,7]]},"232":{"position":[[1571,7]]},"258":{"position":[[393,8],[562,7],[1019,8],[1116,8],[1324,8],[1449,8],[1667,8]]},"261":{"position":[[291,8],[401,8]]},"263":{"position":[[226,8]]},"264":{"position":[[298,8]]},"267":{"position":[[490,8]]},"275":{"position":[[1026,8]]},"314":{"position":[[1653,8]]},"315":{"position":[[395,8]]},"342":{"position":[[435,9]]},"343":{"position":[[1038,8]]},"346":{"position":[[34,8]]},"348":{"position":[[16,8],[105,8],[868,7],[1257,9]]},"349":{"position":[[15,8],[117,8],[576,8],[1359,7],[1698,7],[1877,7]]},"350":{"position":[[15,8],[552,7],[732,7]]},"351":{"position":[[18,8]]},"352":{"position":[[164,7]]},"354":{"position":[[13,8]]},"355":{"position":[[19,8]]},"356":{"position":[[16,8]]},"363":{"position":[[31,8]]},"365":{"position":[[101,8]]},"368":{"position":[[532,7]]},"379":{"position":[[1130,8]]},"387":{"position":[[184,8],[519,8],[851,8]]},"389":{"position":[[618,8],[903,8],[1249,7],[1931,7]]},"390":{"position":[[703,8]]},"425":{"position":[[156,7]]},"426":{"position":[[67,7],[1056,8]]},"427":{"position":[[10,7],[200,7],[407,9],[652,8]]},"428":{"position":[[62,8]]},"430":{"position":[[53,7],[271,7]]},"431":{"position":[[836,8]]},"432":{"position":[[239,7],[637,7],[785,7],[888,9]]},"433":{"position":[[4,7],[176,8]]},"445":{"position":[[17,8]]},"464":{"position":[[16,8]]},"470":{"position":[[32,8]]},"481":{"position":[[16,8]]},"482":{"position":[[16,8]]},"509":{"position":[[46,8],[236,8]]},"526":{"position":[[145,8],[263,8]]},"535":{"position":[[53,7]]},"538":{"position":[[20,7],[84,8],[384,9]]},"540":{"position":[[995,8],[4281,7]]},"546":{"position":[[8,8],[90,8],[331,8],[574,8]]},"552":{"position":[[773,8],[1149,8]]},"559":{"position":[[8,8],[1217,7]]},"560":{"position":[[179,8]]},"569":{"position":[[127,8]]},"574":{"position":[[120,7]]},"634":{"position":[[1,8]]},"658":{"position":[[47,8],[941,8]]},"676":{"position":[[15,7]]},"715":{"position":[[59,8]]}},"keywords":{}}],["provinc",{"_index":424,"title":{},"content":{"20":{"position":[[498,8]]}},"keywords":{}}],["proxi",{"_index":2522,"title":{},"content":{"258":{"position":[[1468,5]]},"365":{"position":[[296,5],[360,5]]}},"keywords":{}}],["ps",{"_index":979,"title":{},"content":{"42":{"position":[[2352,2]]},"44":{"position":[[306,2],[740,2]]},"333":{"position":[[862,2]]}},"keywords":{}}],["pseudo",{"_index":5181,"title":{},"content":{"693":{"position":[[71,6]]}},"keywords":{}}],["public",{"_index":561,"title":{},"content":{"26":{"position":[[75,7]]},"389":{"position":[[496,6]]},"404":{"position":[[1337,6]]},"424":{"position":[[703,6],[1496,6]]},"432":{"position":[[1514,7]]},"440":{"position":[[823,6]]}},"keywords":{}}],["publish",{"_index":1881,"title":{},"content":{"109":{"position":[[142,7],[1987,7]]},"110":{"position":[[162,7]]},"387":{"position":[[361,7]]},"389":{"position":[[1943,7]]},"390":{"position":[[60,7]]},"392":{"position":[[528,7]]}},"keywords":{}}],["pull",{"_index":920,"title":{},"content":{"42":{"position":[[689,4]]},"214":{"position":[[1583,4]]},"215":{"position":[[634,4]]},"218":{"position":[[1361,4]]},"219":{"position":[[1229,6]]},"220":{"position":[[1443,4]]},"292":{"position":[[51,4]]},"293":{"position":[[49,4]]},"312":{"position":[[64,4]]},"386":{"position":[[503,4]]},"412":{"position":[[199,4]]},"455":{"position":[[1415,6]]},"629":{"position":[[166,4]]},"669":{"position":[[582,4]]}},"keywords":{}}],["purchas",{"_index":3762,"title":{},"content":{"389":{"position":[[1592,9]]},"390":{"position":[[497,8],[1368,10]]},"393":{"position":[[348,8]]}},"keywords":{}}],["pure",{"_index":3908,"title":{},"content":{"402":{"position":[[5337,6]]}},"keywords":{}}],["purpos",{"_index":675,"title":{},"content":{"36":{"position":[[730,9],[1037,8]]},"50":{"position":[[188,7]]},"83":{"position":[[398,9]]},"229":{"position":[[730,9],[1037,8]]},"240":{"position":[[119,9]]},"279":{"position":[[725,9],[1032,8]]},"287":{"position":[[128,9]]},"390":{"position":[[358,8],[477,7],[874,7]]},"424":{"position":[[565,8],[644,9],[687,8],[754,8],[778,8],[847,9],[932,8],[1130,8],[1313,8],[1480,8],[1547,8],[1571,8]]},"426":{"position":[[52,9],[454,7]]},"427":{"position":[[91,8]]},"430":{"position":[[756,9]]},"431":{"position":[[706,9]]},"432":{"position":[[996,8]]},"450":{"position":[[149,8]]},"545":{"position":[[76,7]]},"572":{"position":[[26,9]]},"608":{"position":[[156,7]]},"754":{"position":[[76,8]]},"755":{"position":[[75,8]]},"766":{"position":[[73,8]]},"767":{"position":[[72,8]]}},"keywords":{}}],["push",{"_index":2354,"title":{},"content":{"219":{"position":[[1465,6]]},"267":{"position":[[363,6]]},"364":{"position":[[91,4]]},"367":{"position":[[1140,6]]},"386":{"position":[[461,4]]},"422":{"position":[[666,4],[728,4]]},"612":{"position":[[580,6],[681,6]]}},"keywords":{}}],["put",{"_index":2586,"title":{},"content":{"271":{"position":[[1737,4]]},"273":{"position":[[144,3]]},"302":{"position":[[2101,3]]},"309":{"position":[[2486,3]]},"320":{"position":[[1285,4]]},"349":{"position":[[2904,4],[2944,4]]},"358":{"position":[[7440,3]]},"498":{"position":[[385,4],[511,4]]},"499":{"position":[[417,4]]},"533":{"position":[[435,4],[475,4],[518,4]]},"534":{"position":[[219,4],[265,4]]},"540":{"position":[[3835,3],[4719,4]]},"545":{"position":[[116,7]]},"550":{"position":[[1,3],[43,7],[344,4],[455,4]]},"551":{"position":[[1091,4],[1198,4]]},"552":{"position":[[2371,4]]},"560":{"position":[[693,4]]},"561":{"position":[[482,4],[533,4],[781,4]]},"563":{"position":[[676,4]]},"571":{"position":[[390,4],[580,4]]},"643":{"position":[[180,3]]},"668":{"position":[[844,4],[873,4]]},"669":{"position":[[676,4],[830,4]]},"673":{"position":[[959,3],[1442,4],[1471,4],[1579,4],[1665,4],[1675,4]]},"685":{"position":[[487,4]]},"687":{"position":[[343,4]]},"688":{"position":[[256,4]]},"689":{"position":[[381,4]]},"690":{"position":[[463,4]]},"691":{"position":[[459,4]]},"692":{"position":[[570,4]]},"693":{"position":[[746,4]]},"714":{"position":[[313,4]]},"717":{"position":[[562,4],[808,4]]},"740":{"position":[[413,4],[547,4],[591,4]]},"748":{"position":[[271,4]]},"756":{"position":[[492,4],[616,4],[762,4]]},"765":{"position":[[474,4],[592,4],[738,4]]},"799":{"position":[[1,4]]},"807":{"position":[[129,4]]},"808":{"position":[[90,4]]},"809":{"position":[[319,4],[379,4]]},"810":{"position":[[404,4]]}},"keywords":{}}],["put_target_fil",{"_index":4228,"title":{"670":{"position":[[0,16]]}},"content":{"499":{"position":[[163,15]]},"671":{"position":[[290,15]]},"673":{"position":[[285,15]]}},"keywords":{}}],["put_target_file("<fil",{"_index":4997,"title":{},"content":{"670":{"position":[[64,30]]}},"keywords":{}}],["put_target_file("inst/delete_me.txt"",{"_index":5013,"title":{},"content":{"671":{"position":[[404,47]]}},"keywords":{}}],["put_target_file("inst/test1.txt"",{"_index":5001,"title":{},"content":{"670":{"position":[[498,43],[827,43]]}},"keywords":{}}],["put_target_file("inst/test2.txt"",{"_index":5005,"title":{},"content":{"670":{"position":[[659,43],[1018,43]]}},"keywords":{}}],["put_target_file("inst/test3.bin"",{"_index":5006,"title":{},"content":{"670":{"position":[[709,43],[1068,43]]}},"keywords":{}}],["put_target_file(env['tbl_filenam",{"_index":4234,"title":{},"content":{"499":{"position":[[901,36]]}},"keywords":{}}],["putti",{"_index":3970,"title":{},"content":{"404":{"position":[[1982,5]]}},"keywords":{}}],["pv",{"_index":3198,"title":{},"content":{"350":{"position":[[369,2],[527,2],[707,2],[875,2],[1020,2],[1135,2],[1391,2]]}},"keywords":{}}],["px",{"_index":4613,"title":{},"content":{"583":{"position":[[80,2]]},"584":{"position":[[82,2]]},"585":{"position":[[82,2]]},"586":{"position":[[84,2]]},"634":{"position":[[197,2],[254,2]]}},"keywords":{}}],["py",{"_index":5648,"title":{},"content":{"778":{"position":[[567,3]]}},"keywords":{}}],["pypi",{"_index":3985,"title":{},"content":{"412":{"position":[[234,5]]}},"keywords":{}}],["pypi_url",{"_index":5750,"title":{},"content":{"807":{"position":[[309,12]]},"808":{"position":[[999,11],[1020,11]]}},"keywords":{}}],["pytest",{"_index":2220,"title":{},"content":{"211":{"position":[[232,6]]}},"keywords":{}}],["python",{"_index":318,"title":{"211":{"position":[[0,6]]},"540":{"position":[[8,6]]}},"content":{"11":{"position":[[126,7],[237,6],[321,6],[348,6],[386,6]]},"36":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8039,6],[9374,6]]},"42":{"position":[[190,7]]},"67":{"position":[[736,9],[1259,6],[1719,6],[1816,7],[1891,7]]},"69":{"position":[[407,6]]},"70":{"position":[[303,6]]},"71":{"position":[[182,6]]},"72":{"position":[[191,6]]},"73":{"position":[[940,6]]},"74":{"position":[[868,6]]},"75":{"position":[[730,6]]},"76":{"position":[[721,6]]},"77":{"position":[[1031,6]]},"78":{"position":[[333,6]]},"79":{"position":[[41,6]]},"89":{"position":[[76,6]]},"95":{"position":[[3,6]]},"96":{"position":[[69,6]]},"104":{"position":[[1688,6]]},"105":{"position":[[1652,6]]},"106":{"position":[[999,6]]},"107":{"position":[[889,6]]},"108":{"position":[[623,6]]},"109":{"position":[[1172,7],[1386,6]]},"110":{"position":[[1506,7],[1744,6]]},"128":{"position":[[148,6],[678,6]]},"130":{"position":[[246,6]]},"131":{"position":[[340,6]]},"132":{"position":[[346,6]]},"139":{"position":[[557,6],[968,6]]},"145":{"position":[[290,6],[311,6]]},"149":{"position":[[468,6]]},"185":{"position":[[277,6],[334,6]]},"211":{"position":[[82,6],[151,6]]},"214":{"position":[[1124,6]]},"229":{"position":[[4085,6],[4241,8],[5078,6],[5734,6],[8039,6],[9374,6]]},"251":{"position":[[257,6],[1366,6]]},"257":{"position":[[336,6]]},"271":{"position":[[1841,8]]},"275":{"position":[[988,6],[1100,6],[1416,6]]},"279":{"position":[[3034,6],[3190,8],[3559,6],[4215,6],[6699,6],[7656,6],[10547,6],[10828,6]]},"288":{"position":[[200,6],[480,6]]},"301":{"position":[[1456,6],[1491,6]]},"302":{"position":[[265,7]]},"303":{"position":[[289,7]]},"304":{"position":[[321,7]]},"305":{"position":[[346,7]]},"358":{"position":[[1265,6],[1319,6],[1394,8],[1474,6],[2292,6]]},"402":{"position":[[573,7]]},"412":{"position":[[46,6]]},"447":{"position":[[416,6],[702,6]]},"532":{"position":[[239,6]]},"533":{"position":[[565,6]]},"534":{"position":[[310,7]]},"535":{"position":[[1013,7]]},"539":{"position":[[31,6],[68,6],[202,6]]},"540":{"position":[[72,6],[454,6],[626,6],[2708,6],[4686,6]]},"542":{"position":[[645,7]]},"543":{"position":[[10,6]]},"544":{"position":[[723,7],[1602,7]]},"545":{"position":[[228,6]]},"547":{"position":[[689,7]]},"549":{"position":[[571,7]]},"550":{"position":[[535,7]]},"551":{"position":[[1232,7]]},"552":{"position":[[1789,7],[2383,7]]},"559":{"position":[[719,7]]},"560":{"position":[[461,7],[762,6]]},"561":{"position":[[578,7]]},"563":{"position":[[870,7]]},"564":{"position":[[497,7]]},"565":{"position":[[857,7]]},"657":{"position":[[54,7],[71,6]]},"664":{"position":[[226,6],[872,6]]},"665":{"position":[[185,6],[881,6]]},"668":{"position":[[197,6],[897,6]]},"669":{"position":[[137,6],[875,6]]},"670":{"position":[[48,6],[810,6]]},"671":{"position":[[47,6],[387,6]]},"673":{"position":[[684,6],[1708,6]]},"675":{"position":[[82,6],[206,6]]},"677":{"position":[[392,6],[1709,6]]},"678":{"position":[[584,6],[1725,6]]},"679":{"position":[[597,6],[1529,6]]},"680":{"position":[[648,6],[1771,6]]},"681":{"position":[[444,6],[1535,6]]},"682":{"position":[[631,6],[1782,6]]},"683":{"position":[[644,6],[1600,6]]},"684":{"position":[[695,6],[1826,6]]},"685":{"position":[[104,6],[959,6]]},"686":{"position":[[41,6],[235,6]]},"687":{"position":[[168,6],[742,6]]},"688":{"position":[[72,6],[316,6]]},"689":{"position":[[74,6],[320,6],[781,6]]},"690":{"position":[[55,6],[1124,6]]},"691":{"position":[[103,6],[896,6]]},"692":{"position":[[93,6],[599,6]]},"693":{"position":[[234,6],[638,6],[770,6]]},"694":{"position":[[59,6],[438,6]]},"695":{"position":[[72,6],[330,6]]},"697":{"position":[[334,6],[1148,6],[1408,6]]},"698":{"position":[[253,6],[722,6],[903,6]]},"699":{"position":[[912,6],[1046,6]]},"700":{"position":[[133,6],[509,6]]},"701":{"position":[[55,6],[530,6],[973,6]]},"702":{"position":[[86,6],[384,6]]},"703":{"position":[[210,6],[597,6],[729,6]]},"704":{"position":[[254,6],[450,6]]},"705":{"position":[[55,6],[179,6]]},"706":{"position":[[54,6],[183,6]]},"707":{"position":[[32,6],[278,6]]},"708":{"position":[[31,6],[356,6]]},"709":{"position":[[85,6],[349,6]]},"710":{"position":[[373,6],[656,6],[957,6]]},"711":{"position":[[541,6],[665,6]]},"712":{"position":[[235,6],[535,6],[748,6]]},"713":{"position":[[86,6],[353,6],[554,6]]},"714":{"position":[[209,6],[1262,6]]},"716":{"position":[[148,6],[314,6]]},"717":{"position":[[109,6],[914,6]]},"718":{"position":[[54,6],[262,6]]},"719":{"position":[[66,6],[282,6]]},"720":{"position":[[62,6],[296,6]]},"722":{"position":[[358,6],[562,6],[1386,6],[1686,6]]},"723":{"position":[[260,6],[1153,6],[1453,6]]},"724":{"position":[[921,6]]},"725":{"position":[[235,6],[802,6]]},"726":{"position":[[191,6],[998,6],[1190,6]]},"727":{"position":[[173,6],[1049,6],[1269,6]]},"728":{"position":[[287,6],[768,6]]},"729":{"position":[[123,6],[774,6]]},"731":{"position":[[213,6],[597,6]]},"732":{"position":[[69,6],[357,6]]},"733":{"position":[[70,6],[359,6]]},"734":{"position":[[92,6],[242,6]]},"735":{"position":[[93,6],[244,6]]},"736":{"position":[[58,6]]},"737":{"position":[[73,6],[212,6]]},"738":{"position":[[88,6]]},"739":{"position":[[56,6]]},"740":{"position":[[79,6],[663,6]]},"741":{"position":[[221,6],[1963,6]]},"742":{"position":[[139,6]]},"743":{"position":[[102,6],[353,6]]},"744":{"position":[[93,6],[376,6]]},"750":{"position":[[118,6],[253,6]]},"751":{"position":[[69,6]]},"752":{"position":[[65,6],[422,6]]},"753":{"position":[[70,6],[212,6]]},"754":{"position":[[99,6],[399,6]]},"755":{"position":[[98,6],[395,6]]},"756":{"position":[[834,6]]},"757":{"position":[[112,6],[731,6]]},"758":{"position":[[168,6],[476,6]]},"759":{"position":[[175,6],[606,6],[885,6]]},"761":{"position":[[35,6],[368,6]]},"762":{"position":[[38,6],[168,6]]},"763":{"position":[[66,6]]},"764":{"position":[[111,6],[234,6]]},"765":{"position":[[820,6]]},"766":{"position":[[96,6],[381,6]]},"767":{"position":[[95,6],[377,6]]},"768":{"position":[[158,6],[454,6]]},"769":{"position":[[172,6],[610,6],[886,6]]},"770":{"position":[[149,6]]},"771":{"position":[[28,6],[201,6]]},"772":{"position":[[43,6],[173,6]]},"773":{"position":[[47,6],[151,6]]},"774":{"position":[[37,6]]},"775":{"position":[[63,6],[196,6]]},"778":{"position":[[346,6],[381,6],[788,6]]},"780":{"position":[[61,6],[482,6]]},"781":{"position":[[42,6],[261,6]]},"782":{"position":[[34,6]]},"783":{"position":[[54,6],[274,6]]},"784":{"position":[[76,6]]},"785":{"position":[[314,6]]},"786":{"position":[[151,6],[724,6]]},"787":{"position":[[220,6],[1178,6]]},"789":{"position":[[59,6],[252,6]]},"790":{"position":[[79,6]]},"791":{"position":[[143,6],[285,6]]},"792":{"position":[[142,6]]},"793":{"position":[[621,6]]},"795":{"position":[[498,6],[847,6],[1006,6],[1557,6]]},"797":{"position":[[94,6]]},"798":{"position":[[85,6]]},"799":{"position":[[290,6]]},"801":{"position":[[58,6],[213,6]]},"802":{"position":[[50,6],[240,6]]},"803":{"position":[[50,6],[467,6]]},"804":{"position":[[50,6],[431,6]]},"805":{"position":[[83,6]]},"807":{"position":[[253,6]]},"808":{"position":[[843,6]]},"809":{"position":[[75,8],[123,6],[494,6]]},"810":{"position":[[163,6],[479,6]]},"812":{"position":[[224,6]]},"813":{"position":[[75,6],[308,6]]},"814":{"position":[[223,6],[401,6]]},"815":{"position":[[47,6],[296,6]]},"816":{"position":[[49,6],[302,6]]}},"keywords":{}}],["pythonopen",{"_index":4271,"title":{},"content":{"528":{"position":[[69,11]]}},"keywords":{}}],["q1",{"_index":4717,"title":{},"content":{"626":{"position":[[603,2]]}},"keywords":{}}],["qprobyzwh5woma",{"_index":1559,"title":{},"content":{"82":{"position":[[2451,14],[5916,14]]}},"keywords":{}}],["queri",{"_index":2315,"title":{},"content":{"217":{"position":[[1818,7]]},"309":{"position":[[2889,8]]},"402":{"position":[[5355,5]]},"522":{"position":[[731,5]]}},"keywords":{}}],["query=openc3+cosmo",{"_index":2314,"title":{},"content":{"217":{"position":[[1772,19]]}},"keywords":{}}],["question",{"_index":4122,"title":{"437":{"position":[[4,9]]}},"content":{"437":{"position":[[13,9]]},"664":{"position":[[35,9],[352,8]]},"665":{"position":[[35,9],[318,8]]}},"keywords":{}}],["queu",{"_index":4149,"title":{},"content":{"455":{"position":[[1138,6],[1201,6],[1250,7]]}},"keywords":{}}],["queue",{"_index":4145,"title":{},"content":{"455":{"position":[[415,6],[1353,5],[1394,6],[1431,5]]},"563":{"position":[[442,6]]},"756":{"position":[[187,5],[207,5],[636,5],[670,5],[1192,5],[1228,5]]},"765":{"position":[[181,5],[201,5],[612,5],[646,5],[1147,5],[1180,5]]}},"keywords":{}}],["quick",{"_index":3713,"title":{},"content":{"385":{"position":[[113,5]]},"509":{"position":[[245,5]]},"556":{"position":[[697,5]]}},"keywords":{}}],["quickli",{"_index":2506,"title":{},"content":{"258":{"position":[[133,7]]},"348":{"position":[[134,7]]},"531":{"position":[[771,7]]}},"keywords":{}}],["quiet",{"_index":5353,"title":{},"content":{"722":{"position":[[816,6],[1402,5],[1670,6]]},"723":{"position":[[1169,5],[1438,6]]},"724":{"position":[[546,6],[835,5]]},"725":{"position":[[469,6],[716,5]]},"729":{"position":[[355,6],[688,5]]}},"keywords":{}}],["quiet>",{"_index":5358,"title":{},"content":{"723":{"position":[[544,10]]}},"keywords":{}}],["quiet=fals",{"_index":5356,"title":{},"content":{"722":{"position":[[1880,12]]}},"keywords":{}}],["quiet=tru",{"_index":5360,"title":{},"content":{"723":{"position":[[1645,11]]}},"keywords":{}}],["quit",{"_index":3488,"title":{},"content":{"369":{"position":[[2468,5]]}},"keywords":{}}],["quot",{"_index":179,"title":{},"content":{"5":{"position":[[1028,6],[1282,6]]},"9":{"position":[[815,6],[914,6],[942,6]]},"33":{"position":[[87,7],[590,7],[849,7]]},"35":{"position":[[1212,6],[1743,6]]},"37":{"position":[[1005,6],[1536,6]]},"42":{"position":[[2802,7]]},"91":{"position":[[646,9],[671,9]]},"226":{"position":[[498,6]]},"228":{"position":[[1241,6],[1772,6]]},"230":{"position":[[1024,6],[1555,6]]},"231":{"position":[[1385,6],[1916,6]]},"232":{"position":[[1221,6],[1752,6]]},"233":{"position":[[788,6]]},"234":{"position":[[571,6]]},"241":{"position":[[257,6]]},"243":{"position":[[337,6]]},"276":{"position":[[524,6]]},"278":{"position":[[856,6]]},"280":{"position":[[648,6]]},"281":{"position":[[950,6]]},"282":{"position":[[619,6]]},"283":{"position":[[781,6]]},"284":{"position":[[573,6]]},"292":{"position":[[183,6]]},"557":{"position":[[440,6]]},"642":{"position":[[506,6]]},"654":{"position":[[325,6],[403,6],[420,6]]},"677":{"position":[[191,10],[556,10]]},"678":{"position":[[368,10],[763,10]]},"679":{"position":[[377,10],[780,10]]},"680":{"position":[[437,10],[822,10]]},"681":{"position":[[223,10],[612,10]]},"682":{"position":[[395,10],[814,10]]},"683":{"position":[[404,10],[831,10]]},"684":{"position":[[464,10],[873,10]]}},"keywords":{}}],["quot;#{packet['packet_timesecond",{"_index":4536,"title":{},"content":{"563":{"position":[[681,38]]},"717":{"position":[[567,38],[813,38]]}},"keywords":{}}],["quot;#{variable}"",{"_index":4333,"title":{},"content":{"540":{"position":[[738,23]]}},"keywords":{}}],["quot;$cosmos_host$url"",{"_index":1688,"title":{},"content":{"83":{"position":[[3959,28]]}},"keywords":{}}],["quot;$cosmos_host/openc3",{"_index":1686,"title":{},"content":{"83":{"position":[[3793,25]]}},"keywords":{}}],["quot;$run_opts"",{"_index":1658,"title":{},"content":{"83":{"position":[[2996,21]]}},"keywords":{}}],["quot;$script_api/$script_path/lock?scope=default"",{"_index":1642,"title":{},"content":{"83":{"position":[[2514,55]]}},"keywords":{}}],["quot;$script_api/$script_path/run?scope=default"",{"_index":1657,"title":{},"content":{"83":{"position":[[2930,54]]}},"keywords":{}}],["quot;$script_api/complet",{"_index":1678,"title":{},"content":{"83":{"position":[[3578,27]]}},"keywords":{}}],["quot;$script_api/run",{"_index":1669,"title":{},"content":{"83":{"position":[[3347,25]]}},"keywords":{}}],["quot;$suite"",{"_index":1651,"title":{},"content":{"83":{"position":[[2778,19]]}},"keywords":{}}],["quot;${curl_args[@]}"",{"_index":1644,"title":{},"content":{"83":{"position":[[2590,27],[3018,28],[3400,27],[3634,27],[3907,27],[3988,27]]}},"keywords":{}}],["quot;${openc3_user_id}:${openc3_group_id}"",{"_index":2903,"title":{},"content":{"309":{"position":[[3476,48]]},"310":{"position":[[507,48]]}},"keywords":{}}],["quot;%02x"",{"_index":4683,"title":{},"content":{"610":{"position":[[786,16]]}},"keywords":{}}],["quot;&"",{"_index":2369,"title":{},"content":{"221":{"position":[[111,17]]}},"keywords":{}}],["quot;&a"",{"_index":2370,"title":{},"content":{"221":{"position":[[135,19]]}},"keywords":{}}],["quot;&b"",{"_index":2372,"title":{},"content":{"221":{"position":[[175,19]]}},"keywords":{}}],["quot;&c"",{"_index":2374,"title":{},"content":{"221":{"position":[[215,19]]}},"keywords":{}}],["quot;&d"",{"_index":2376,"title":{},"content":{"221":{"position":[[259,18]]}},"keywords":{}}],["quot;<",{"_index":504,"title":{},"content":{"22":{"position":[[524,11]]},"654":{"position":[[72,12]]}},"keywords":{}}],["quot;<button",{"_index":4971,"title":{},"content":{"668":{"position":[[254,16],[344,16]]}},"keywords":{}}],["quot;<command",{"_index":5046,"title":{},"content":{"677":{"position":[[239,17],[604,17]]},"678":{"position":[[431,17],[826,17]]},"679":{"position":[[444,17],[847,17]]},"680":{"position":[[495,17],[880,17]]},"681":{"position":[[275,17],[664,17]]},"682":{"position":[[462,17],[881,17]]},"683":{"position":[[475,17],[902,17]]},"684":{"position":[[526,17],[935,17]]},"690":{"position":[[201,17]]},"692":{"position":[[160,17]]},"693":{"position":[[297,17]]},"694":{"position":[[132,17]]},"695":{"position":[[199,17]]},"758":{"position":[[234,17],[268,17]]},"759":{"position":[[250,17],[284,17]]},"768":{"position":[[218,17],[252,17]]},"769":{"position":[[241,17],[275,17]]}},"keywords":{}}],["quot;<definition>"",{"_index":5671,"title":{},"content":{"786":{"position":[[253,31]]},"787":{"position":[[288,31]]}},"keywords":{}}],["quot;<example>"",{"_index":1303,"title":{},"content":{"61":{"position":[[730,28]]}},"keywords":{}}],["quot;<filter>"",{"_index":5022,"title":{},"content":{"673":{"position":[[544,27],[654,27]]}},"keywords":{}}],["quot;<interfac",{"_index":5558,"title":{},"content":{"757":{"position":[[185,19]]}},"keywords":{}}],["quot;<item",{"_index":5230,"title":{},"content":{"701":{"position":[[216,14]]},"708":{"position":[[202,14]]}},"keywords":{}}],["quot;<meas_voltage_1>,<meas_voltage_2>"",{"_index":1327,"title":{},"content":{"64":{"position":[[965,57]]},"219":{"position":[[1517,57]]}},"keywords":{}}],["quot;<message>"",{"_index":5021,"title":{},"content":{"673":{"position":[[507,28],[617,28],[744,28],[853,28]]}},"keywords":{}}],["quot;<method",{"_index":5226,"title":{},"content":{"700":{"position":[[198,16]]}},"keywords":{}}],["quot;<packet",{"_index":5136,"title":{},"content":{"689":{"position":[[192,16]]},"691":{"position":[[263,16]]},"701":{"position":[[183,16]]},"702":{"position":[[246,16]]},"703":{"position":[[356,16]]},"707":{"position":[[150,16]]},"708":{"position":[[169,16]]},"709":{"position":[[211,16]]}},"keywords":{}}],["quot;<packet>"",{"_index":5335,"title":{},"content":{"718":{"position":[[165,27]]},"719":{"position":[[125,28],[183,29]]},"720":{"position":[[199,27]]},"725":{"position":[[370,27]]},"729":{"position":[[256,27]]}},"keywords":{}}],["quot;<packet_name>"",{"_index":5301,"title":{},"content":{"711":{"position":[[143,32]]}},"keywords":{}}],["quot;<param",{"_index":5067,"title":{},"content":{"681":{"position":[[309,15],[373,15],[698,16],[758,15]]},"682":{"position":[[496,15],[560,15],[915,16],[975,15]]},"683":{"position":[[509,15],[573,15],[936,16],[996,15]]},"684":{"position":[[560,15],[624,15],[969,16],[1029,15]]}},"keywords":{}}],["quot;<paramet",{"_index":5144,"title":{},"content":{"690":{"position":[[235,19]]},"693":{"position":[[331,19]]}},"keywords":{}}],["quot;<screen",{"_index":5653,"title":{},"content":{"780":{"position":[[125,16]]},"781":{"position":[[104,16]]},"783":{"position":[[117,16]]},"785":{"position":[[157,16]]},"786":{"position":[[221,16]]}},"keywords":{}}],["quot;<select",{"_index":4975,"title":{},"content":{"668":{"position":[[423,19]]}},"keywords":{}}],["quot;<target>"",{"_index":5337,"title":{},"content":{"719":{"position":[[154,28]]}},"keywords":{}}],["quot;"",{"_index":1377,"title":{},"content":{"67":{"position":[[1941,12]]},"379":{"position":[[580,12],[750,12],[821,12],[1440,12],[1630,12],[1706,12],[1972,12],[2135,12],[2211,12],[2472,12],[2635,12],[2711,12],[3138,12],[3197,12]]}},"keywords":{}}],["quot;""",{"_index":5682,"title":{},"content":{"787":{"position":[[1208,18],[1350,18]]}},"keywords":{}}],["quot;(som",{"_index":4178,"title":{},"content":{"473":{"position":[[1030,11]]}},"keywords":{}}],["quot;))][0",{"_index":1682,"title":{},"content":{"83":{"position":[[3738,12]]}},"keywords":{}}],["quot;*rst"",{"_index":2340,"title":{},"content":{"219":{"position":[[588,16]]}},"keywords":{}}],["quot;+dur+""",{"_index":4803,"title":{},"content":{"643":{"position":[[440,25]]}},"keywords":{}}],["quot;+type+"",{"_index":4787,"title":{},"content":{"639":{"position":[[441,19]]}},"keywords":{}}],["quot;,"",{"_index":2373,"title":{},"content":{"221":{"position":[[195,13]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_cmds.txt"",{"_index":5475,"title":{},"content":{"747":{"position":[[1007,52]]}},"keywords":{}}],["quot;.../targets/inst/cmd_tlm/inst_tlm.txt"",{"_index":5476,"title":{},"content":{"747":{"position":[[1062,51]]}},"keywords":{}}],["quot;./cor",{"_index":3592,"title":{},"content":{"376":{"position":[[693,12]]}},"keywords":{}}],["quot;.[]|select(.id==$id)")"",{"_index":1671,"title":{},"content":{"83":{"position":[[3433,39]]}},"keywords":{}}],["quot;.rb"",{"_index":342,"title":{},"content":{"12":{"position":[[497,15]]}},"keywords":{}}],["quot;.txt"",{"_index":5032,"title":{},"content":{"673":{"position":[[1424,17]]}},"keywords":{}}],["quot;.txt,.doc"",{"_index":5026,"title":{},"content":{"673":{"position":[[1177,22]]}},"keywords":{}}],["quot;/dev/ttyusb0:/dev/ttyusb0"",{"_index":2935,"title":{},"content":{"317":{"position":[[155,37]]}},"keywords":{}}],["quot;/entrypoint.sh",{"_index":989,"title":{},"content":{"42":{"position":[[2666,20]]}},"keywords":{}}],["quot;/etc/certs/cert.crt"",{"_index":489,"title":{},"content":{"22":{"position":[[196,31]]}},"keywords":{}}],["quot;/etc/certs/cert.key"",{"_index":491,"title":{},"content":{"22":{"position":[[239,31]]}},"keywords":{}}],["quot;/html/body/div/ul/li[1]/text()"",{"_index":2364,"title":{},"content":{"220":{"position":[[1180,42],[2437,42]]}},"keywords":{}}],["quot;/html/body/div/ul/li[2]/text()"",{"_index":2365,"title":{},"content":{"220":{"position":[[1305,42],[2537,42]]}},"keywords":{}}],["quot;/html/body/img/@src"",{"_index":2363,"title":{},"content":{"220":{"position":[[1045,31],[2320,31]]}},"keywords":{}}],["quot;/html/head/noscript/text()"",{"_index":2362,"title":{},"content":{"220":{"position":[[921,38],[2136,38]]}},"keywords":{}}],["quot;/html/head/script/@src"",{"_index":2361,"title":{},"content":{"220":{"position":[[816,34],[2048,34]]}},"keywords":{}}],["quot;/openc3",{"_index":3369,"title":{},"content":{"364":{"position":[[650,13],[801,13]]}},"keywords":{}}],["quot;/sbin/tini",{"_index":982,"title":{},"content":{"42":{"position":[[2414,16],[2542,16],[2777,16]]}},"keywords":{}}],["quot;/script",{"_index":3373,"title":{},"content":{"364":{"position":[[949,13]]}},"keywords":{}}],["quot;/search"",{"_index":2311,"title":{},"content":{"217":{"position":[[1543,19]]}},"keywords":{}}],["quot;/tmp/data/cert"",{"_index":2066,"title":{},"content":{"141":{"position":[[949,26]]},"188":{"position":[[650,26]]}},"keywords":{}}],["quot;/tools/toolfoldername"",{"_index":2160,"title":{},"content":{"194":{"position":[[84,34]]}},"keywords":{}}],["quot;/usr/bin/dock",{"_index":995,"title":{},"content":{"42":{"position":[[2862,21]]}},"keywords":{}}],["quot;0"",{"_index":3877,"title":{},"content":{"402":{"position":[[2437,15],[3445,15]]}},"keywords":{}}],["quot;03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d"",{"_index":3676,"title":{},"content":{"380":{"position":[[632,77]]}},"keywords":{}}],["quot;0x%04x"",{"_index":3628,"title":{},"content":{"379":{"position":[[502,18],[607,18],[1358,18],[1467,18],[1890,18],[1999,18],[2390,18],[2499,18],[2911,18],[3001,18]]}},"keywords":{}}],["quot;0x%08x:"",{"_index":4684,"title":{},"content":{"610":{"position":[[807,19]]}},"keywords":{}}],["quot;0x%0x"",{"_index":662,"title":{},"content":{"36":{"position":[[264,17]]},"40":{"position":[[261,17],[378,17],[487,17],[602,17],[1034,17]]},"229":{"position":[[264,17]]},"279":{"position":[[259,17]]}},"keywords":{}}],["quot;0x%2x"",{"_index":3641,"title":{},"content":{"379":{"position":[[848,17]]}},"keywords":{}}],["quot;0x%x"",{"_index":2251,"title":{},"content":{"214":{"position":[[788,16],[2047,16]]},"218":{"position":[[990,16],[1825,16]]},"220":{"position":[[1091,16],[2366,16]]},"609":{"position":[[604,16]]}},"keywords":{}}],["quot;1"",{"_index":3879,"title":{},"content":{"402":{"position":[[2515,15],[3518,15]]},"664":{"position":[[158,14]]},"665":{"position":[[119,14],[145,13]]}},"keywords":{}}],["quot;1.234,2.345"",{"_index":2351,"title":{},"content":{"219":{"position":[[1406,23]]}},"keywords":{}}],["quot;10.0"",{"_index":4800,"title":{},"content":{"643":{"position":[[279,16]]},"654":{"position":[[462,16]]}},"keywords":{}}],["quot;100"",{"_index":4650,"title":{},"content":{"598":{"position":[[350,15]]},"599":{"position":[[347,15]]},"601":{"position":[[188,15]]}},"keywords":{}}],["quot;1235:1235/udp"",{"_index":3565,"title":{},"content":{"373":{"position":[[310,25]]}},"keywords":{}}],["quot;127.0.0.1"",{"_index":3644,"title":{},"content":{"379":{"position":[[902,21]]}},"keywords":{}}],["quot;1613077715557",{"_index":5439,"title":{},"content":{"744":{"position":[[435,22],[867,20]]}},"keywords":{}}],["quot;1613077715657",{"_index":5453,"title":{},"content":{"744":{"position":[[1417,22]]}},"keywords":{}}],["quot;172.20.0.8/16"",{"_index":3683,"title":{},"content":{"380":{"position":[[963,26]]}},"keywords":{}}],["quot;172.20.0.9/16"",{"_index":3679,"title":{},"content":{"380":{"position":[[772,26]]}},"keywords":{}}],["quot;2.0"",{"_index":1483,"title":{},"content":{"81":{"position":[[286,16]]},"82":{"position":[[6039,16]]},"91":{"position":[[1698,16],[1959,16],[2175,16],[2496,16]]},"92":{"position":[[1150,16],[1380,16],[1474,16],[1730,16]]},"93":{"position":[[690,16]]}},"keywords":{}}],["quot;200"",{"_index":4651,"title":{},"content":{"598":{"position":[[372,15]]},"599":{"position":[[369,15]]},"601":{"position":[[210,15]]}},"keywords":{}}],["quot;300"",{"_index":4652,"title":{},"content":{"598":{"position":[[394,15]]},"599":{"position":[[391,15]]},"601":{"position":[[262,15]]}},"keywords":{}}],["quot;3i5n49dmnfg9fl32k3"",{"_index":3921,"title":{},"content":{"402":{"position":[[6487,30]]}},"keywords":{}}],["quot;400"",{"_index":4655,"title":{},"content":{"599":{"position":[[413,15]]},"601":{"position":[[284,15]]}},"keywords":{}}],["quot;443:2943"",{"_index":517,"title":{},"content":{"23":{"position":[[263,20]]}},"keywords":{}}],["quot;5.11.4",{"_index":5784,"title":{},"content":{"809":{"position":[[354,12],[431,13]]}},"keywords":{}}],["quot;500"",{"_index":4656,"title":{},"content":{"599":{"position":[[435,15]]}},"keywords":{}}],["quot;600"",{"_index":4657,"title":{},"content":{"599":{"position":[[457,15]]}},"keywords":{}}],["quot;700"",{"_index":4658,"title":{},"content":{"599":{"position":[[479,15]]}},"keywords":{}}],["quot;800"",{"_index":4659,"title":{},"content":{"599":{"position":[[501,15]]}},"keywords":{}}],["quot;80:2900"",{"_index":516,"title":{},"content":{"23":{"position":[[239,19]]}},"keywords":{}}],["quot;900"",{"_index":4660,"title":{},"content":{"599":{"position":[[523,15]]}},"keywords":{}}],["quot;:2900"",{"_index":497,"title":{},"content":{"22":{"position":[[358,17]]}},"keywords":{}}],["quot;:2943"",{"_index":501,"title":{},"content":{"22":{"position":[[470,17]]}},"keywords":{}}],["quot;:meas:volt",{"_index":1324,"title":{},"content":{"64":{"position":[[740,17]]}},"keywords":{}}],["quot;;"",{"_index":2375,"title":{},"content":{"221":{"position":[[239,13]]}},"keywords":{}}],["quot;@openc3/tool",{"_index":2949,"title":{},"content":{"320":{"position":[[252,18]]}},"keywords":{}}],["quot;\\x00\\x01\\x02\\x03\\xff\\xee\\xdd\\xcc"",{"_index":5007,"title":{},"content":{"670":{"position":[[753,45]]}},"keywords":{}}],["quot;_ccsds_apid.txt"",{"_index":247,"title":{},"content":{"7":{"position":[[222,28]]}},"keywords":{}}],["quot;a",{"_index":2505,"title":{},"content":{"258":{"position":[[13,7],[220,7]]},"390":{"position":[[712,8]]}},"keywords":{}}],["quot;access_token":"eyjhbgcioijsuzi1niisinr5ccigoiaislduiiwia2lkiia6icj0cdlermpnzgfxmy16wxptdlbqvtznntvqmvnhwghkzhjqu0szqvnvadhvin0.eyjlehaioje2odm2nzk1ndasimlhdci6mty4mzy3oti0mcwianrpijoizmvlotqwywytzdy3ny00mwuylwiznwytzdi5odhim2rhzgq2iiwiaxnzijoiahr0cdovl2xvy2fsag9zddoyotawl2f1dggvcmvhbg1zl29wzw5jmyisinn1yii6imfjztflnmexltkzmtktndc2zs1izjqzltzmm2nhyjllztjkzsisinr5cci6ikjlyxjlciisimf6cci6imfwasisinnlc3npb25fc3rhdguioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjhy3iioiixiiwicmvhbg1fywnjzxnzijp7injvbgvzijpbimrlzmf1bhqtcm9szxmtb3blbmmziiwiquxmu0npuevtx19vcgvyyxrvciisim9mzmxpbmvfywnjzxnziiwiquxmu0npuevtx192awv3zxiixx0sinnjb3blijoib3blbmlkihbyb2zpbgugzw1hawwilcjzawqioijmmzc4ntk2ny0yytq2ltrjmtitywqwyy1jzmy3zmm0nzdkzjkilcjlbwfpbf92zxjpzmllzci6zmfsc2usim5hbwuioijuagugt3blcmf0b3iilcjwcmvmzxjyzwrfdxnlcm5hbwuioijvcgvyyxrvciisimdpdmvux25hbwuioijuaguilcjmyw1pbhlfbmftzsi6ik9wzxjhdg9yin0.esqsezrmctahwltz5jsu5r3w6w15t5h0bvidqkwqbdcnxacxkut",{"_index":1552,"title":{},"content":{"82":{"position":[[1291,959]]}},"keywords":{}}],["quot;adcs"",{"_index":5270,"title":{},"content":{"706":{"position":[[243,18]]},"719":{"position":[[332,18]]},"780":{"position":[[532,17]]},"781":{"position":[[309,17]]},"783":{"position":[[323,17]]},"814":{"position":[[592,17]]}},"keywords":{}}],["quot;add",{"_index":4194,"title":{},"content":{"482":{"position":[[186,9],[445,9],[668,9]]}},"keywords":{}}],["quot;addit",{"_index":299,"title":{},"content":{"9":{"position":[[238,16]]}},"keywords":{}}],["quot;allow",{"_index":1147,"title":{},"content":{"50":{"position":[[471,11]]}},"keywords":{}}],["quot;an",{"_index":2499,"title":{},"content":{"257":{"position":[[13,8]]}},"keywords":{}}],["quot;angl",{"_index":2483,"title":{},"content":{"253":{"position":[[778,11]]}},"keywords":{}}],["quot;api.cmd('inst",{"_index":4797,"title":{},"content":{"642":{"position":[[515,19]]},"654":{"position":[[506,19]]}},"keywords":{}}],["quot;arm",{"_index":731,"title":{},"content":{"36":{"position":[[3740,9],[3762,9],[3794,12]]},"229":{"position":[[3740,9],[3762,9],[3794,12]]},"279":{"position":[[2807,9],[2829,9]]}},"keywords":{}}],["quot;array",{"_index":2261,"title":{},"content":{"214":{"position":[[1023,11],[2234,11]]},"218":{"position":[[1225,11],[2012,11]]},"233":{"position":[[987,11]]},"234":{"position":[[774,11]]},"283":{"position":[[975,11]]},"284":{"position":[[771,11]]}},"keywords":{}}],["quot;author",{"_index":1479,"title":{},"content":{"81":{"position":[[224,20]]},"82":{"position":[[4767,20]]},"93":{"position":[[972,20]]}},"keywords":{}}],["quot;auto_reconnect"=>tru",{"_index":5494,"title":{},"content":{"750":{"position":[[536,36]]},"764":{"position":[[509,36]]}},"keywords":{}}],["quot;averag",{"_index":2594,"title":{},"content":{"274":{"position":[[378,13]]}},"keywords":{}}],["quot;ballaerospace/openc3",{"_index":514,"title":{},"content":{"23":{"position":[[173,26]]}},"keywords":{}}],["quot;big_endian"",{"_index":1343,"title":{},"content":{"65":{"position":[[680,22]]}},"keywords":{}}],["quot;binari",{"_index":891,"title":{},"content":{"40":{"position":[[1393,12]]}},"keywords":{}}],["quot;binary"",{"_index":890,"title":{},"content":{"40":{"position":[[1353,18]]}},"keywords":{}}],["quot;bit_offset"=>0",{"_index":5122,"title":{},"content":{"687":{"position":[[664,29]]},"689":{"position":[[703,29]]},"705":{"position":[[575,29]]},"707":{"position":[[1102,29]]},"708":{"position":[[489,29]]}},"keywords":{}}],["quot;bit_offset"=>64",{"_index":5147,"title":{},"content":{"690":{"position":[[523,30]]}},"keywords":{}}],["quot;bit_size"=>16",{"_index":5148,"title":{},"content":{"690":{"position":[[554,28]]}},"keywords":{}}],["quot;bit_size"=>3",{"_index":5123,"title":{},"content":{"687":{"position":[[694,27]]},"689":{"position":[[733,27]]},"705":{"position":[[607,27]]},"707":{"position":[[1134,27]]},"708":{"position":[[521,27]]}},"keywords":{}}],["quot;block",{"_index":2404,"title":{},"content":{"228":{"position":[[2240,11]]}},"keywords":{}}],["quot;bob"",{"_index":3280,"title":{},"content":{"358":{"position":[[7027,16],[7156,16]]}},"keywords":{}}],["quot;boolean"",{"_index":2798,"title":{},"content":{"304":{"position":[[1169,19]]},"305":{"position":[[1447,19]]},"358":{"position":[[3014,19],[4963,19]]},"359":{"position":[[1614,19]]}},"keywords":{}}],["quot;buffer"",{"_index":3919,"title":{},"content":{"402":{"position":[[6312,19],[6467,19]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":5171,"title":{},"content":{"691":{"position":[[786,107]]}},"keywords":{}}],["quot;buffer"=>"\\x13\\xe7\\xc0\\x00\\x00\\f\\x00\\x01\\x00\\x00a",{"_index":5099,"title":{},"content":{"685":{"position":[[852,68]]}},"keywords":{}}],["quot;build"",{"_index":2958,"title":{},"content":{"320":{"position":[[870,18]]}},"keywords":{}}],["quot;c:\\openc3",{"_index":3065,"title":{},"content":{"333":{"position":[[143,15]]}},"keywords":{}}],["quot;catch",{"_index":2663,"title":{},"content":{"281":{"position":[[114,11]]},"358":{"position":[[5707,11]]}},"keywords":{}}],["quot;cbor",{"_index":2240,"title":{},"content":{"214":{"position":[[433,10],[1689,10]]}},"keywords":{}}],["quot;ccsd",{"_index":269,"title":{},"content":{"7":{"position":[[730,11],[919,11]]},"253":{"position":[[159,11],[242,11],[321,11],[420,11],[508,11],[599,11],[686,11],[1037,11],[1120,11],[1199,11],[1298,11],[1386,11],[1477,11],[1564,11],[1807,11],[1890,11],[1969,11],[2068,11],[2156,11],[2247,11],[2334,11]]},"299":{"position":[[137,11],[223,11],[323,11],[422,11],[492,11],[609,11],[677,11]]}},"keywords":{}}],["quot;ccsdsapid"",{"_index":5464,"title":{},"content":{"747":{"position":[[488,22],[725,22]]}},"keywords":{}}],["quot;ccsdslength"",{"_index":5467,"title":{},"content":{"747":{"position":[[569,24],[806,24]]}},"keywords":{}}],["quot;ccsdsseqcnt"",{"_index":5466,"title":{},"content":{"747":{"position":[[542,24],[779,24]]}},"keywords":{}}],["quot;ccsdsseqflags"",{"_index":5465,"title":{},"content":{"747":{"position":[[513,26],[750,26]]}},"keywords":{}}],["quot;ccsdsshf"",{"_index":5463,"title":{},"content":{"747":{"position":[[464,21],[701,21]]}},"keywords":{}}],["quot;ccsdstype"",{"_index":5462,"title":{},"content":{"747":{"position":[[439,22],[676,22]]}},"keywords":{}}],["quot;ccsdsver"",{"_index":5461,"title":{},"content":{"747":{"position":[[414,22],[651,22]]},"814":{"position":[[634,21]]}},"keywords":{}}],["quot;ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc"",{"_index":3680,"title":{},"content":{"380":{"position":[[802,77]]}},"keywords":{}}],["quot;certificate"",{"_index":3048,"title":{},"content":{"332":{"position":[[640,24]]}},"keywords":{}}],["quot;cfs"",{"_index":3677,"title":{},"content":{"380":{"position":[[730,16]]}},"keywords":{}}],["quot;choos",{"_index":3940,"title":{},"content":{"404":{"position":[[673,12],[743,12],[871,12]]},"673":{"position":[[1374,12],[1781,12]]}},"keywords":{}}],["quot;class",{"_index":1982,"title":{},"content":{"115":{"position":[[2309,11]]}},"keywords":{}}],["quot;class"=>"openc3::statisticsprocessor"",{"_index":5278,"title":{},"content":{"707":{"position":[[707,62]]}},"keywords":{}}],["quot;class"=>"openc3::watermarkprocessor"",{"_index":5282,"title":{},"content":{"707":{"position":[[895,61]]}},"keywords":{}}],["quot;clear"",{"_index":5060,"title":{},"content":{"679":{"position":[[1634,18]]},"683":{"position":[[1713,18]]}},"keywords":{}}],["quot;click",{"_index":3292,"title":{},"content":{"359":{"position":[[547,11]]}},"keywords":{}}],["quot;clients"=>0",{"_index":5503,"title":{},"content":{"750":{"position":[[908,26]]},"764":{"position":[[881,26]]}},"keywords":{}}],["quot;cmd",{"_index":5542,"title":{},"content":{"756":{"position":[[767,9]]}},"keywords":{}}],["quot;cmd"",{"_index":1734,"title":{},"content":{"91":{"position":[[1735,16],[2212,16]]}},"keywords":{}}],["quot;cmd.txt"",{"_index":364,"title":{},"content":{"15":{"position":[[477,20]]}},"keywords":{}}],["quot;cmd_tlm_files"=>",{"_index":5474,"title":{},"content":{"747":{"position":[[974,30]]}},"keywords":{}}],["quot;cmd_unique_id_mode"=>fals",{"_index":5477,"title":{},"content":{"747":{"position":[[1116,41]]}},"keywords":{}}],["quot;cni"",{"_index":2882,"title":{},"content":{"309":{"position":[[2389,15]]}},"keywords":{}}],["quot;col",{"_index":4649,"title":{},"content":{"598":{"position":[[278,9],[302,9],[326,9]]}},"keywords":{}}],["quot;collect",{"_index":147,"title":{},"content":{"5":{"position":[[140,13],[249,13]]},"213":{"position":[[685,13],[754,13],[825,13]]}},"keywords":{}}],["quot;collect"",{"_index":1743,"title":{},"content":{"91":{"position":[[2015,20],[2268,20],[2552,20]]},"677":{"position":[[1430,20],[1547,20],[1808,20]]},"678":{"position":[[1628,20],[1854,20]]},"680":{"position":[[1673,20],[1891,20]]},"681":{"position":[[1455,20],[1637,20]]},"682":{"position":[[1702,20],[1914,20]]},"684":{"position":[[1746,20],[1948,20]]},"692":{"position":[[523,20],[664,20]]},"693":{"position":[[701,20],[827,20]]},"694":{"position":[[763,20]]},"700":{"position":[[443,20],[577,20]]}},"keywords":{}}],["quot;collects"",{"_index":5232,"title":{},"content":{"701":{"position":[[672,21],[1100,21]]}},"keywords":{}}],["quot;command",{"_index":2233,"title":{},"content":{"213":{"position":[[1054,13]]},"253":{"position":[[78,14]]},"379":{"position":[[3353,13],[3414,13]]}},"keywords":{}}],["quot;compos",{"_index":2527,"title":{},"content":{"259":{"position":[[13,13]]}},"keywords":{}}],["quot;config_params"=>["interface.rb"",{"_index":5491,"title":{},"content":{"750":{"position":[[382,57]]}},"keywords":{}}],["quot;config_params"=>["router.rb"",{"_index":5589,"title":{},"content":{"764":{"position":[[358,54]]}},"keywords":{}}],["quot;connect_on_startup"=>tru",{"_index":5493,"title":{},"content":{"750":{"position":[[493,40]]},"764":{"position":[[466,40]]}},"keywords":{}}],["quot;cont",{"_index":1476,"title":{},"content":{"81":{"position":[[174,13]]},"82":{"position":[[423,13],[4717,13]]}},"keywords":{}}],["quot;containers"",{"_index":3675,"title":{},"content":{"380":{"position":[[606,23]]}},"keywords":{}}],["quot;continueaftererror"",{"_index":1653,"title":{},"content":{"83":{"position":[[2821,30]]}},"keywords":{}}],["quot;converted"",{"_index":5280,"title":{},"content":{"707":{"position":[[820,24],[1002,25]]}},"keywords":{}}],["quot;copi",{"_index":1599,"title":{},"content":{"83":{"position":[[603,10]]}},"keywords":{}}],["quot;cosmos5_"",{"_index":1060,"title":{},"content":{"47":{"position":[[63,21]]}},"keywords":{}}],["quot;created"",{"_index":4146,"title":{},"content":{"455":{"position":[[777,20]]}},"keywords":{}}],["quot;crt"",{"_index":530,"title":{},"content":{"24":{"position":[[131,15]]}},"keywords":{}}],["quot;curr",{"_index":2355,"title":{},"content":{"219":{"position":[[1611,13],[1689,13]]}},"keywords":{}}],["quot;data",{"_index":2396,"title":{},"content":{"228":{"position":[[2067,10]]},"253":{"position":[[888,10]]}},"keywords":{}}],["quot;data"",{"_index":4224,"title":{},"content":{"498":{"position":[[992,16]]}},"keywords":{}}],["quot;data"=>"5.11.4",{"_index":5754,"title":{},"content":{"808":{"position":[[192,33]]}},"keywords":{}}],["quot;data"=>"https://github.com/openc3/cosmos"",{"_index":5764,"title":{},"content":{"808":{"position":[[724,66]]}},"keywords":{}}],["quot;data"=>"https://pypi.org/simple"",{"_index":5758,"title":{},"content":{"808":{"position":[[359,57]]}},"keywords":{}}],["quot;data"=>"https://rubygems.org"",{"_index":5761,"title":{},"content":{"808":{"position":[[545,54]]}},"keywords":{}}],["quot;data_type"=>"uint"",{"_index":5149,"title":{},"content":{"690":{"position":[[583,43]]},"708":{"position":[[551,43]]}},"keywords":{}}],["quot;data_viewer"",{"_index":5800,"title":{},"content":{"812":{"position":[[197,24]]}},"keywords":{}}],["quot;datavis"",{"_index":2824,"title":{},"content":{"307":{"position":[[1812,19]]}},"keywords":{}}],["quot;day",{"_index":2703,"title":{},"content":{"299":{"position":[[739,10]]}},"keywords":{}}],["quot;decom__cmd__inst__collect__duration__with_units"",{"_index":3878,"title":{},"content":{"402":{"position":[[2453,61]]}},"keywords":{}}],["quot;decom__tlm__inst__adcs__q1__raw"",{"_index":3876,"title":{},"content":{"402":{"position":[[2391,45]]}},"keywords":{}}],["quot;decom__tlm__inst__health_status__formatted"",{"_index":3901,"title":{},"content":{"402":{"position":[[3461,56]]}},"keywords":{}}],["quot;default"",{"_index":1491,"title":{},"content":{"81":{"position":[[448,21]]},"82":{"position":[[6201,21]]},"402":{"position":[[1314,20]]}},"keywords":{}}],["quot;default"=>",{"_index":5404,"title":{},"content":{"740":{"position":[[432,26]]}},"keywords":{}}],["quot;default"=>0",{"_index":5151,"title":{},"content":{"690":{"position":[[714,26]]}},"keywords":{}}],["quot;default__telemetry__inst__adcs"",{"_index":3918,"title":{},"content":{"402":{"position":[[6268,43],[6423,43]]}},"keywords":{}}],["quot;deleted"",{"_index":4148,"title":{},"content":{"455":{"position":[[819,20]]}},"keywords":{}}],["quot;deriv",{"_index":2626,"title":{},"content":{"278":{"position":[[1130,13]]},"299":{"position":[[1160,13],[1425,13]]}},"keywords":{}}],["quot;description"=>"abort",{"_index":5118,"title":{},"content":{"687":{"position":[[518,40]]},"689":{"position":[[557,40]]}},"keywords":{}}],["quot;description"=>"ccsd",{"_index":5288,"title":{},"content":{"708":{"position":[[597,39]]}},"keywords":{}}],["quot;description"=>"collect",{"_index":5150,"title":{},"content":{"690":{"position":[[629,41]]}},"keywords":{}}],["quot;description"=>"health",{"_index":5275,"title":{},"content":{"707":{"position":[[518,40]]}},"keywords":{}}],["quot;description"=>"posit",{"_index":5263,"title":{},"content":{"705":{"position":[[403,42]]}},"keywords":{}}],["quot;destin",{"_index":3645,"title":{},"content":{"379":{"position":[[924,17]]}},"keywords":{}}],["quot;details"",{"_index":3199,"title":{},"content":{"350":{"position":[[664,19]]},"632":{"position":[[479,19]]}},"keywords":{}}],["quot;disable_crc"",{"_index":5569,"title":{},"content":{"758":{"position":[[525,24]]},"759":{"position":[[822,24],[943,24]]},"768":{"position":[[500,24]]},"769":{"position":[[823,24],[941,24]]}},"keywords":{}}],["quot;disable_disconnect"=>fals",{"_index":5496,"title":{},"content":{"750":{"position":[[614,41]]},"764":{"position":[[587,41]]}},"keywords":{}}],["quot;display",{"_index":3133,"title":{},"content":{"348":{"position":[[1580,13]]}},"keywords":{}}],["quot;do",{"_index":2489,"title":{},"content":{"253":{"position":[[980,8]]}},"keywords":{}}],["quot;dock",{"_index":1000,"title":{},"content":{"42":{"position":[[2972,12]]}},"keywords":{}}],["quot;dummi",{"_index":2492,"title":{},"content":{"253":{"position":[[1643,11]]}},"keywords":{}}],["quot;dump_packet_throttle_(sec)"",{"_index":872,"title":{},"content":{"40":{"position":[[637,38]]}},"keywords":{}}],["quot;duration"",{"_index":1744,"title":{},"content":{"91":{"position":[[2036,22],[2289,22],[2573,22]]},"677":{"position":[[1451,20],[1570,20],[1831,21]]},"678":{"position":[[1649,20],[1875,22]]},"680":{"position":[[1694,20],[1912,22]]},"681":{"position":[[1476,20],[1658,22]]},"682":{"position":[[1723,20],[1935,22]]},"684":{"position":[[1767,20],[1969,22]]}},"keywords":{}}],["quot;en",{"_index":726,"title":{},"content":{"36":{"position":[[3541,12]]},"229":{"position":[[3541,12]]},"279":{"position":[[2601,12]]},"379":{"position":[[324,12]]},"404":{"position":[[1442,12]]}},"keywords":{}}],["quot;endianness"=>"big_endian"",{"_index":5117,"title":{},"content":{"687":{"position":[[465,50]]},"689":{"position":[[504,50]]},"690":{"position":[[801,50]]},"705":{"position":[[350,50]]},"707":{"position":[[465,50]]},"708":{"position":[[690,50]]}},"keywords":{}}],["quot;environment"",{"_index":1647,"title":{},"content":{"83":{"position":[[2664,24]]}},"keywords":{}}],["quot;error"",{"_index":1340,"title":{},"content":{"65":{"position":[[431,17]]},"217":{"position":[[1732,17]]}},"keywords":{}}],["quot;example"",{"_index":2257,"title":{},"content":{"214":{"position":[[924,19],[1342,20]]},"218":{"position":[[1126,19]]},"220":{"position":[[1257,19]]}},"keywords":{}}],["quot;feature"",{"_index":3026,"title":{},"content":{"330":{"position":[[1030,19]]}},"keywords":{}}],["quot;file:#{env['tbl_filename']}"",{"_index":4213,"title":{},"content":{"498":{"position":[[390,39]]},"499":{"position":[[422,39]]}},"keywords":{}}],["quot;fir",{"_index":737,"title":{},"content":{"36":{"position":[[3853,10],[3876,10]]},"229":{"position":[[3853,10],[3876,10]]},"279":{"position":[[2864,10],[2887,10]]}},"keywords":{}}],["quot;first.rules"",{"_index":3362,"title":{},"content":{"364":{"position":[[452,23]]}},"keywords":{}}],["quot;float",{"_index":2254,"title":{},"content":{"214":{"position":[[850,11],[2091,11]]},"218":{"position":[[1052,11],[1869,11]]},"220":{"position":[[1153,11],[2410,11]]}},"keywords":{}}],["quot;folder_name"=>"inst"",{"_index":5458,"title":{},"content":{"747":{"position":[[297,45]]}},"keywords":{}}],["quot;form",{"_index":2280,"title":{},"content":{"215":{"position":[[312,10],[746,10]]}},"keywords":{}}],["quot;get",{"_index":1322,"title":{},"content":{"64":{"position":[[681,10]]}},"keywords":{}}],["quot;get"",{"_index":2312,"title":{},"content":{"217":{"position":[[1605,15]]}},"keywords":{}}],["quot;gnd",{"_index":4743,"title":{},"content":{"632":{"position":[[672,9]]}},"keywords":{}}],["quot;graph"",{"_index":3201,"title":{},"content":{"350":{"position":[[834,17]]}},"keywords":{}}],["quot;ground_error.png"",{"_index":4824,"title":{},"content":{"650":{"position":[[975,28]]}},"keywords":{}}],["quot;ground_off.png"",{"_index":4826,"title":{},"content":{"650":{"position":[[1100,26]]}},"keywords":{}}],["quot;ground_on.png"",{"_index":4822,"title":{},"content":{"650":{"position":[[199,25],[1042,25]]}},"keywords":{}}],["quot;hazardous"=>""",{"_index":5158,"title":{},"content":{"690":{"position":[[1053,41]]}},"keywords":{}}],["quot;health",{"_index":245,"title":{},"content":{"7":{"position":[[178,12],[854,12]]},"8":{"position":[[198,12],[349,12]]},"9":{"position":[[206,12],[372,12]]},"213":{"position":[[906,12]]},"299":{"position":[[70,12]]}},"keywords":{}}],["quot;health_status"",{"_index":1757,"title":{},"content":{"92":{"position":[[1567,26]]},"701":{"position":[[645,26],[1073,26]]},"706":{"position":[[262,26]]},"719":{"position":[[370,28]]}},"keywords":{}}],["quot;hole"",{"_index":2416,"title":{},"content":{"236":{"position":[[244,16]]},"286":{"position":[[225,16]]}},"keywords":{}}],["quot;housekeep",{"_index":3656,"title":{},"content":{"379":{"position":[[2768,18]]}},"keywords":{}}],["quot;hs"",{"_index":5668,"title":{},"content":{"785":{"position":[[391,15]]}},"keywords":{}}],["quot;https://images.pexels.com/photos/256152/pexel",{"_index":4819,"title":{},"content":{"649":{"position":[[449,52]]}},"keywords":{}}],["quot;https://mygemserver"",{"_index":5793,"title":{},"content":{"810":{"position":[[445,31]]}},"keywords":{}}],["quot;https://rubygems.org"",{"_index":5786,"title":{},"content":{"809":{"position":[[458,33]]}},"keywords":{}}],["quot;id"",{"_index":1492,"title":{},"content":{"81":{"position":[[470,15]]},"82":{"position":[[6223,15]]},"86":{"position":[[97,14]]},"91":{"position":[[1843,15],[2127,15],[2380,15],[2664,15]]},"92":{"position":[[1264,15],[1426,15],[1614,15],[1776,15]]},"93":{"position":[[804,15]]}},"keywords":{}}],["quot;id"=>"1696437370872",{"_index":5092,"title":{},"content":{"685":{"position":[[501,39]]}},"keywords":{}}],["quot;id"=>nil",{"_index":5479,"title":{},"content":{"747":{"position":[[1204,23]]}},"keywords":{}}],["quot;id_item"",{"_index":2263,"title":{},"content":{"214":{"position":[[1200,20]]}},"keywords":{}}],["quot;id_item":1",{"_index":2331,"title":{},"content":{"218":{"position":[[535,24]]}},"keywords":{}}],["quot;identified"",{"_index":3271,"title":{},"content":{"358":{"position":[[5617,22]]}},"keywords":{}}],["quot;identifier"",{"_index":2795,"title":{},"content":{"304":{"position":[[1040,22]]},"305":{"position":[[1257,22]]},"358":{"position":[[2891,22],[4871,22],[5342,23]]},"359":{"position":[[1489,22]]}},"keywords":{}}],["quot;identifier".next",{"_index":3262,"title":{},"content":{"358":{"position":[[3735,27]]}},"keywords":{}}],["quot;ignored_items"=>",{"_index":5469,"title":{},"content":{"747":{"position":[[618,30]]}},"keywords":{}}],["quot;ignored_parameters"=>",{"_index":5460,"title":{},"content":{"747":{"position":[[376,35]]}},"keywords":{}}],["quot;inst",{"_index":1487,"title":{},"content":{"81":{"position":[[360,11]]},"82":{"position":[[6113,11]]},"91":{"position":[[1772,11]]},"92":{"position":[[1224,11]]},"93":{"position":[[764,11]]}},"keywords":{}}],["quot;inst"",{"_index":1742,"title":{},"content":{"91":{"position":[[1996,18],[2249,18],[2533,18]]},"92":{"position":[[1548,18]]},"700":{"position":[[425,17],[559,17]]},"719":{"position":[[351,18]]},"814":{"position":[[548,17]]}},"keywords":{}}],["quot;inst__health_status__temp2__raw"",{"_index":5257,"title":{},"content":{"704":{"position":[[543,45]]}},"keywords":{}}],["quot;inst_int"",{"_index":5563,"title":{},"content":{"757":{"position":[[689,21],[790,21]]}},"keywords":{}}],["quot;instru",{"_index":2622,"title":{},"content":{"276":{"position":[[594,16]]},"299":{"position":[[971,16],[1062,16]]}},"keywords":{}}],["quot;int",{"_index":2245,"title":{},"content":{"214":{"position":[[563,9],[641,9],[734,9],[1779,9],[1840,9],[1993,9]]},"215":{"position":[[409,9],[487,9],[836,9],[897,9]]},"218":{"position":[[765,9],[843,9],[936,9],[1557,9],[1618,9],[1771,9]]},"220":{"position":[[791,9],[894,9],[1018,9],[2023,9],[2109,9],[2293,9]]}},"keywords":{}}],["quot;interfac",{"_index":3601,"title":{},"content":{"378":{"position":[[84,17]]},"756":{"position":[[497,16]]}},"keywords":{}}],["quot;io",{"_index":4998,"title":{},"content":{"670":{"position":[[111,8]]}},"keywords":{}}],["quot;ipv4address"",{"_index":3678,"title":{},"content":{"380":{"position":[[747,24],[938,24]]}},"keywords":{}}],["quot;item1"",{"_index":2264,"title":{},"content":{"214":{"position":[[1226,17]]}},"keywords":{}}],["quot;item1":101",{"_index":2332,"title":{},"content":{"218":{"position":[[560,22]]}},"keywords":{}}],["quot;item2"",{"_index":2266,"title":{},"content":{"214":{"position":[[1272,17]]}},"keywords":{}}],["quot;item2":12",{"_index":2333,"title":{},"content":{"218":{"position":[[603,21]]}},"keywords":{}}],["quot;item3"",{"_index":2267,"title":{},"content":{"214":{"position":[[1296,17]]}},"keywords":{}}],["quot;item3":3.14",{"_index":2334,"title":{},"content":{"218":{"position":[[625,23]]}},"keywords":{}}],["quot;item4"",{"_index":2268,"title":{},"content":{"214":{"position":[[1322,17]]}},"keywords":{}}],["quot;item4":"example"",{"_index":2335,"title":{},"content":{"218":{"position":[[649,38]]}},"keywords":{}}],["quot;item5"",{"_index":2269,"title":{},"content":{"214":{"position":[[1363,17]]}},"keywords":{}}],["quot;item5":[4",{"_index":2336,"title":{},"content":{"218":{"position":[[688,21]]}},"keywords":{}}],["quot;item_name"=>"item"",{"_index":5443,"title":{},"content":{"744":{"position":[[614,43],[1044,43]]}},"keywords":{}}],["quot;item_name"=>"temp1"",{"_index":5313,"title":{},"content":{"714":{"position":[[447,44],[665,44],[889,44],[1125,44]]}},"keywords":{}}],["quot;itemname"",{"_index":5816,"title":{},"content":{"814":{"position":[[612,21]]}},"keywords":{}}],["quot;items"",{"_index":5813,"title":{},"content":{"814":{"position":[[497,18]]}},"keywords":{}}],["quot;items"=>",{"_index":5120,"title":{},"content":{"687":{"position":[[596,22]]},"689":{"position":[[635,22]]},"705":{"position":[[503,22]]},"707":{"position":[[1030,22]]}},"keywords":{}}],["quot;js/app.js"",{"_index":2163,"title":{},"content":{"195":{"position":[[112,22]]}},"keywords":{}}],["quot;json",{"_index":2330,"title":{},"content":{"218":{"position":[[470,10],[1467,10]]}},"keywords":{}}],["quot;json"",{"_index":1097,"title":{},"content":{"48":{"position":[[2177,16],[2246,16]]}},"keywords":{}}],["quot;json/cbor",{"_index":1083,"title":{},"content":{"48":{"position":[[766,15]]}},"keywords":{}}],["quot;jsonrpc"",{"_index":1482,"title":{},"content":{"81":{"position":[[263,22]]},"82":{"position":[[6016,22]]},"91":{"position":[[1676,21],[1937,21],[2153,21],[2474,21]]},"92":{"position":[[1128,21],[1358,21],[1452,21],[1708,21]]},"93":{"position":[[667,22]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":29.204100000000007",{"_index":1588,"title":{},"content":{"82":{"position":[[6610,92]]}},"keywords":{}}],["quot;jsonrpc":"2.0","id":8,"result":53.26555000000001",{"_index":1517,"title":{},"content":{"81":{"position":[[842,91]]}},"keywords":{}}],["quot;key"",{"_index":526,"title":{},"content":{"24":{"position":[[26,15]]}},"keywords":{}}],["quot;keyword_params"",{"_index":1489,"title":{},"content":{"81":{"position":[[400,27]]},"82":{"position":[[6153,27]]},"86":{"position":[[384,26]]}},"keywords":{}}],["quot;keyword_params":{"scope":"default"",{"_index":1740,"title":{},"content":{"91":{"position":[[1862,67],[2399,67]]},"92":{"position":[[1283,67],[1633,67]]}},"keywords":{}}],["quot;keyword_params":{"type":"with_units","scope":"default"",{"_index":1770,"title":{},"content":{"93":{"position":[[823,108]]}},"keywords":{}}],["quot;kubernet",{"_index":2532,"title":{},"content":{"261":{"position":[[20,17]]}},"keywords":{}}],["quot;label",{"_index":4626,"title":{},"content":{"589":{"position":[[393,11],[456,11]]},"590":{"position":[[165,11]]}},"keywords":{}}],["quot;label"",{"_index":4674,"title":{},"content":{"606":{"position":[[166,17]]}},"keywords":{}}],["quot;label1"",{"_index":4811,"title":{},"content":{"647":{"position":[[386,18]]}},"keywords":{}}],["quot;label2"",{"_index":4813,"title":{},"content":{"647":{"position":[[429,18]]}},"keywords":{}}],["quot;left",{"_index":4000,"title":{},"content":{"421":{"position":[[220,10],[325,10]]}},"keywords":{}}],["quot;length",{"_index":3634,"title":{},"content":{"379":{"position":[[680,12],[3048,12]]}},"keywords":{}}],["quot;limit",{"_index":2638,"title":{},"content":{"279":{"position":[[8202,12]]}},"keywords":{}}],["quot;limits"=>",{"_index":5159,"title":{},"content":{"690":{"position":[[1095,26]]}},"keywords":{}}],["quot;limits_groups"=>",{"_index":5473,"title":{},"content":{"747":{"position":[[938,33]]}},"keywords":{}}],["quot;loc",{"_index":5679,"title":{},"content":{"787":{"position":[[986,11],[1269,11]]}},"keywords":{}}],["quot;local"",{"_index":5675,"title":{},"content":{"786":{"position":[[691,18],[963,18]]}},"keywords":{}}],["quot;localhost:9090"",{"_index":3367,"title":{},"content":{"364":{"position":[[571,28]]}},"keywords":{}}],["quot;location"",{"_index":4744,"title":{},"content":{"632":{"position":[[690,20]]}},"keywords":{}}],["quot;log"=>tru",{"_index":5499,"title":{},"content":{"750":{"position":[[720,25]]},"764":{"position":[[693,25]]}},"keywords":{}}],["quot;log_raw"=>fals",{"_index":5500,"title":{},"content":{"750":{"position":[[748,30]]},"764":{"position":[[721,30]]}},"keywords":{}}],["quot;math:#{result}"",{"_index":4474,"title":{},"content":{"551":{"position":[[1203,26]]}},"keywords":{}}],["quot;maximum"=>65535",{"_index":5153,"title":{},"content":{"690":{"position":[[770,30]]}},"keywords":{}}],["quot;mc_configuration"",{"_index":861,"title":{},"content":{"40":{"position":[[72,28]]}},"keywords":{}}],["quot;memori",{"_index":862,"title":{},"content":{"40":{"position":[[122,12]]}},"keywords":{}}],["quot;memory_scrubbing"",{"_index":879,"title":{},"content":{"40":{"position":[[785,28]]}},"keywords":{}}],["quot;message"=>"message"",{"_index":5447,"title":{},"content":{"744":{"position":[[818,46],[1248,46]]}},"keywords":{}}],["quot;method"",{"_index":1484,"title":{},"content":{"81":{"position":[[303,19]]},"82":{"position":[[6056,19]]},"83":{"position":[[2720,19]]},"91":{"position":[[1715,19],[2192,19]]},"92":{"position":[[1167,19],[1491,19]]},"93":{"position":[[707,19]]}},"keywords":{}}],["quot;microsecond",{"_index":2711,"title":{},"content":{"299":{"position":[[898,18]]}},"keywords":{}}],["quot;millisecond",{"_index":2708,"title":{},"content":{"299":{"position":[[824,18]]}},"keywords":{}}],["quot;minimum"=>0",{"_index":5152,"title":{},"content":{"690":{"position":[[743,26]]}},"keywords":{}}],["quot;more"",{"_index":2265,"title":{},"content":{"214":{"position":[[1251,16]]},"218":{"position":[[583,17]]}},"keywords":{}}],["quot;most",{"_index":2235,"title":{},"content":{"213":{"position":[[1177,10]]}},"keywords":{}}],["quot;mov",{"_index":4471,"title":{},"content":{"551":{"position":[[1096,11]]}},"keywords":{}}],["quot;mqtt",{"_index":1902,"title":{},"content":{"109":{"position":[[2301,10],[2619,10]]}},"keywords":{}}],["quot;name"",{"_index":3673,"title":{},"content":{"380":{"position":[[549,17],[712,17],[882,17]]}},"keywords":{}}],["quot;name"=>"ccsdsver"",{"_index":5121,"title":{},"content":{"687":{"position":[[619,44]]},"689":{"position":[[658,44]]},"705":{"position":[[528,44]]},"707":{"position":[[1055,44]]},"708":{"position":[[442,44]]}},"keywords":{}}],["quot;name"=>"inst"",{"_index":5457,"title":{},"content":{"747":{"position":[[254,40]]}},"keywords":{}}],["quot;name"=>"inst_int"",{"_index":5490,"title":{},"content":{"750":{"position":[[335,44]]}},"keywords":{}}],["quot;name"=>"router_int"",{"_index":5588,"title":{},"content":{"764":{"position":[[309,46]]}},"keywords":{}}],["quot;name"=>"temp1stat"",{"_index":5277,"title":{},"content":{"707":{"position":[[659,45]]}},"keywords":{}}],["quot;name"=>"temp1water"",{"_index":5281,"title":{},"content":{"707":{"position":[[847,45]]}},"keywords":{}}],["quot;name"=>"type"",{"_index":5146,"title":{},"content":{"690":{"position":[[483,39]]}},"keywords":{}}],["quot;netavark"",{"_index":2881,"title":{},"content":{"309":{"position":[[2357,20]]}},"keywords":{}}],["quot;network"",{"_index":1764,"title":{},"content":{"93":{"position":[[389,19]]}},"keywords":{}}],["quot;new",{"_index":3297,"title":{},"content":{"359":{"position":[[1312,9],[1553,9],[2571,9]]},"786":{"position":[[526,9],[798,9]]}},"keywords":{}}],["quot;new_limits_state"=>"red_low"",{"_index":5445,"title":{},"content":{"744":{"position":[[719,53]]}},"keywords":{}}],["quot;new_limits_state"=>"yellow_low"",{"_index":5449,"title":{},"content":{"744":{"position":[[1146,56]]}},"keywords":{}}],["quot;noop",{"_index":3650,"title":{},"content":{"379":{"position":[[1205,10]]}},"keywords":{}}],["quot;noop"",{"_index":728,"title":{},"content":{"36":{"position":[[3631,16],[3683,16],[3700,16]]},"229":{"position":[[3631,16],[3683,16],[3700,16]]},"279":{"position":[[2761,16],[2778,16]]}},"keywords":{}}],["quot;normal"",{"_index":1747,"title":{},"content":{"91":{"position":[[2105,21],[2358,21],[2642,21]]},"677":{"position":[[1505,19],[1624,18],[1875,18]]},"678":{"position":[[1703,19],[1920,20]]},"700":{"position":[[487,19],[617,20]]}},"keywords":{}}],["quot;not",{"_index":4669,"title":{},"content":{"604":{"position":[[228,11]]}},"keywords":{}}],["quot;numb",{"_index":250,"title":{},"content":{"7":{"position":[[304,12],[989,12]]},"40":{"position":[[700,12]]},"213":{"position":[[1116,12]]}},"keywords":{}}],["quot;old_limits_state"=>"red_low"",{"_index":5448,"title":{},"content":{"744":{"position":[[1090,53]]}},"keywords":{}}],["quot;old_limits_state"=>"yellow_low"",{"_index":5444,"title":{},"content":{"744":{"position":[[660,56]]}},"keywords":{}}],["quot;opcod",{"_index":2406,"title":{},"content":{"231":{"position":[[2130,12]]},"232":{"position":[[1970,12]]}},"keywords":{}}],["quot;openc3",{"_index":2317,"title":{},"content":{"217":{"position":[[1899,12]]},"358":{"position":[[1574,12]]},"364":{"position":[[718,13],[860,13],[1008,13]]},"380":{"position":[[567,12]]}},"keywords":{}}],["quot;openc3"",{"_index":925,"title":{},"content":{"42":{"position":[[938,18]]},"228":{"position":[[2158,18]]},"230":{"position":[[1895,18]]},"358":{"position":[[3093,18],[4514,19]]},"359":{"position":[[1693,18]]}},"keywords":{}}],["quot;openc3.sh",{"_index":2755,"title":{},"content":{"301":{"position":[[1295,15]]}},"keywords":{}}],["quot;openc3_openc3",{"_index":3681,"title":{},"content":{"380":{"position":[[900,19]]}},"keywords":{}}],["quot;oper",{"_index":2647,"title":{},"content":{"279":{"position":[[9542,17],[9929,17]]}},"keywords":{}}],["quot;options"",{"_index":1652,"title":{},"content":{"83":{"position":[[2798,20]]}},"keywords":{}}],["quot;options"=>",{"_index":5497,"title":{},"content":{"750":{"position":[[658,27]]},"764":{"position":[[631,27]]}},"keywords":{}}],["quot;output",{"_index":2349,"title":{},"content":{"219":{"position":[[1057,12]]}},"keywords":{}}],["quot;overflow"=>"error"",{"_index":5155,"title":{},"content":{"690":{"position":[[883,43]]},"708":{"position":[[777,43]]}},"keywords":{}}],["quot;packet",{"_index":2625,"title":{},"content":{"278":{"position":[[1086,12]]},"280":{"position":[[881,12]]},"281":{"position":[[1185,12]]},"282":{"position":[[857,12]]},"358":{"position":[[2768,12],[3286,12]]},"359":{"position":[[1366,12]]},"379":{"position":[[1310,12],[1540,12],[1842,12],[2072,12],[2342,12],[2572,12],[2959,12]]},"765":{"position":[[743,13]]}},"keywords":{}}],["quot;packet"",{"_index":1460,"title":{},"content":{"77":{"position":[[849,19]]},"402":{"position":[[6248,19],[6403,19]]}},"keywords":{}}],["quot;packet_name"=>"abort"",{"_index":5116,"title":{},"content":{"687":{"position":[[416,46]]},"689":{"position":[[455,46]]}},"keywords":{}}],["quot;packet_name"=>"adcs"",{"_index":5262,"title":{},"content":{"705":{"position":[[302,45]]}},"keywords":{}}],["quot;packet_name"=>"collect"",{"_index":5097,"title":{},"content":{"685":{"position":[[757,48]]},"691":{"position":[[646,48]]}},"keywords":{}}],["quot;packet_name"=>"health_status"",{"_index":5274,"title":{},"content":{"707":{"position":[[408,54]]},"714":{"position":[[392,54],[610,54],[834,54],[1070,54]]}},"keywords":{}}],["quot;packet_name"=>"pkt"",{"_index":5442,"title":{},"content":{"744":{"position":[[567,44],[997,44]]}},"keywords":{}}],["quot;packetname"",{"_index":5815,"title":{},"content":{"814":{"position":[[568,23]]}},"keywords":{}}],["quot;pad"",{"_index":893,"title":{},"content":{"40":{"position":[[1436,15]]}},"keywords":{}}],["quot;param",{"_index":5047,"title":{},"content":{"677":{"position":[[273,11],[329,11],[638,12],[690,11]]},"678":{"position":[[465,11],[521,11],[860,12],[912,11]]},"679":{"position":[[478,11],[534,11],[881,12],[933,11]]},"680":{"position":[[529,11],[585,11],[914,12],[966,11]]}},"keywords":{}}],["quot;paramet",{"_index":4843,"title":{},"content":{"654":{"position":[[699,15]]}},"keywords":{}}],["quot;params"",{"_index":1486,"title":{},"content":{"81":{"position":[[340,19]]},"82":{"position":[[6093,19]]},"91":{"position":[[1752,19],[2229,19]]},"92":{"position":[[1204,19],[1528,19]]},"93":{"position":[[744,19]]},"711":{"position":[[601,19],[711,19]]}},"keywords":{}}],["quot;params"=>["temp1"",{"_index":5279,"title":{},"content":{"707":{"position":[[772,42],[959,42]]}},"keywords":{}}],["quot;password"",{"_index":2198,"title":{},"content":{"209":{"position":[[109,21]]}},"keywords":{}}],["quot;pause/retry"",{"_index":4849,"title":{},"content":{"658":{"position":[[434,24]]}},"keywords":{}}],["quot;payload"",{"_index":1767,"title":{},"content":{"93":{"position":[[524,19]]}},"keywords":{}}],["quot;person",{"_index":4045,"title":{},"content":{"425":{"position":[[76,15]]}},"keywords":{}}],["quot;pktid"",{"_index":5468,"title":{},"content":{"747":{"position":[[596,19]]}},"keywords":{}}],["quot;plugin"=>nil",{"_index":5481,"title":{},"content":{"747":{"position":[[1280,27]]},"750":{"position":[[781,27]]},"764":{"position":[[754,27]]}},"keywords":{}}],["quot;post"",{"_index":1643,"title":{},"content":{"83":{"position":[[2573,16]]}},"keywords":{}}],["quot;pow",{"_index":2350,"title":{},"content":{"219":{"position":[[1297,11]]}},"keywords":{}}],["quot;process",{"_index":3654,"title":{},"content":{"379":{"position":[[2255,13]]}},"keywords":{}}],["quot;processors"=>",{"_index":5276,"title":{},"content":{"707":{"position":[[629,27]]}},"keywords":{}}],["quot;protocols"=>",{"_index":5498,"title":{},"content":{"750":{"position":[[688,29]]},"764":{"position":[[661,29]]}},"keywords":{}}],["quot;push"",{"_index":4636,"title":{},"content":{"592":{"position":[[691,16]]}},"keywords":{}}],["quot;pypi_url"",{"_index":5745,"title":{},"content":{"807":{"position":[[157,22]]}},"keywords":{}}],["quot;pypi_url"=>{"name"=>"pypi_url"",{"_index":5757,"title":{},"content":{"808":{"position":[[290,68]]}},"keywords":{}}],["quot;python",{"_index":2620,"title":{},"content":{"275":{"position":[[1462,12]]}},"keywords":{}}],["quot;raspberri",{"_index":3946,"title":{},"content":{"404":{"position":[[778,15],[820,15]]}},"keywords":{}}],["quot;raw"",{"_index":5186,"title":{},"content":{"693":{"position":[[866,16]]}},"keywords":{}}],["quot;raw__tlm__inst__adcs"",{"_index":3900,"title":{},"content":{"402":{"position":[[3410,34]]}},"keywords":{}}],["quot;received_count"",{"_index":5470,"title":{},"content":{"747":{"position":[[833,27]]}},"keywords":{}}],["quot;received_count"=>"20"",{"_index":5169,"title":{},"content":{"691":{"position":[[695,46]]}},"keywords":{}}],["quot;received_count"=>"3"",{"_index":5098,"title":{},"content":{"685":{"position":[[806,45]]}},"keywords":{}}],["quot;received_time"=>"1696437370872305961"",{"_index":5095,"title":{},"content":{"685":{"position":[[648,62]]}},"keywords":{}}],["quot;received_time"=>"1697298846752053420"",{"_index":5168,"title":{},"content":{"691":{"position":[[535,62]]}},"keywords":{}}],["quot;received_timeformatted"",{"_index":5472,"title":{},"content":{"747":{"position":[[899,36]]}},"keywords":{}}],["quot;received_timeseconds"",{"_index":5471,"title":{},"content":{"747":{"position":[[863,33]]}},"keywords":{}}],["quot;reconnect_delay"=>5.0",{"_index":5495,"title":{},"content":{"750":{"position":[[575,36]]},"764":{"position":[[548,36]]}},"keywords":{}}],["quot;requir",{"_index":334,"title":{},"content":{"12":{"position":[[255,13],[452,13]]}},"keywords":{}}],["quot;required"=>fals",{"_index":5289,"title":{},"content":{"708":{"position":[[743,31]]}},"keywords":{}}],["quot;required"=>tru",{"_index":5154,"title":{},"content":{"690":{"position":[[852,30]]}},"keywords":{}}],["quot;requires"=>",{"_index":5459,"title":{},"content":{"747":{"position":[[345,28]]}},"keywords":{}}],["quot;reserve"",{"_index":4138,"title":{},"content":{"454":{"position":[[132,19]]}},"keywords":{}}],["quot;reset",{"_index":2338,"title":{},"content":{"219":{"position":[[512,11]]},"379":{"position":[[1748,11]]}},"keywords":{}}],["quot;response"",{"_index":2313,"title":{},"content":{"217":{"position":[[1663,20]]}},"keywords":{}}],["quot;result"",{"_index":1741,"title":{},"content":{"91":{"position":[[1976,19],[2513,19]]},"92":{"position":[[1397,19],[1747,19]]}},"keywords":{}}],["quot;result"=>"success"",{"_index":5093,"title":{},"content":{"685":{"position":[[550,43]]}},"keywords":{}}],["quot;right",{"_index":4003,"title":{},"content":{"421":{"position":[[409,11]]}},"keywords":{}}],["quot;rout",{"_index":5595,"title":{},"content":{"765":{"position":[[479,13]]}},"keywords":{}}],["quot;rubi",{"_index":2615,"title":{},"content":{"275":{"position":[[1309,10]]}},"keywords":{}}],["quot;rubygems_url"",{"_index":5746,"title":{},"content":{"807":{"position":[[180,25]]}},"keywords":{}}],["quot;rubygems_url"=>{"name"=>"rubygems_url"",{"_index":5760,"title":{},"content":{"808":{"position":[[468,76]]}},"keywords":{}}],["quot;run",{"_index":4572,"title":{},"content":{"569":{"position":[[1093,9]]}},"keywords":{}}],["quot;runscript('inst/procedures/'+script",{"_index":4779,"title":{},"content":{"637":{"position":[[2266,42]]}},"keywords":{}}],["quot;rxbytes"=>0",{"_index":5507,"title":{},"content":{"750":{"position":[[1022,26]]},"764":{"position":[[995,26]]}},"keywords":{}}],["quot;rxcnt"=>0",{"_index":5509,"title":{},"content":{"750":{"position":[[1078,24]]},"764":{"position":[[1051,24]]}},"keywords":{}}],["quot;rxsize"=>0",{"_index":5505,"title":{},"content":{"750":{"position":[[965,25]]},"764":{"position":[[938,25]]}},"keywords":{}}],["quot;sat",{"_index":4741,"title":{},"content":{"632":{"position":[[461,9]]}},"keywords":{}}],["quot;satellite.png"",{"_index":4818,"title":{},"content":{"649":{"position":[[374,25]]}},"keywords":{}}],["quot;save"",{"_index":3964,"title":{},"content":{"404":{"position":[[1491,16]]}},"keywords":{}}],["quot;scope"",{"_index":1490,"title":{},"content":{"81":{"position":[[428,19]]},"82":{"position":[[6181,19]]}},"keywords":{}}],["quot;screen"",{"_index":4642,"title":{},"content":{"594":{"position":[[399,18]]},"595":{"position":[[378,18]]},"596":{"position":[[249,18]]},"597":{"position":[[341,18]]}},"keywords":{}}],["quot;screen.getnamedwidget('duration').text()"",{"_index":4637,"title":{},"content":{"592":{"position":[[708,52]]}},"keywords":{}}],["quot;screen.getnamedwidget('group').select",{"_index":4796,"title":{},"content":{"642":{"position":[[450,47]]},"654":{"position":[[961,47]]}},"keywords":{}}],["quot;screens"",{"_index":3209,"title":{},"content":{"351":{"position":[[74,19]]}},"keywords":{}}],["quot;script",{"_index":4298,"title":{},"content":{"533":{"position":[[480,12]]}},"keywords":{}}],["quot;script_1",{"_index":4524,"title":{},"content":{"561":{"position":[[538,14]]}},"keywords":{}}],["quot;scripts"",{"_index":2957,"title":{},"content":{"320":{"position":[[847,20]]}},"keywords":{}}],["quot;scrub_region_1_end_addr"",{"_index":866,"title":{},"content":{"40":{"position":[[296,35]]}},"keywords":{}}],["quot;scrub_region_1_start_addr"",{"_index":864,"title":{},"content":{"40":{"position":[[186,37]]}},"keywords":{}}],["quot;scrub_region_2_end_addr"",{"_index":870,"title":{},"content":{"40":{"position":[[522,35]]}},"keywords":{}}],["quot;scrub_region_2_start_addr"",{"_index":868,"title":{},"content":{"40":{"position":[[413,37]]}},"keywords":{}}],["quot;search",{"_index":2283,"title":{},"content":{"216":{"position":[[301,12]]},"217":{"position":[[1353,14],[2483,12]]}},"keywords":{}}],["quot;second.rules"",{"_index":3363,"title":{},"content":{"364":{"position":[[480,24]]}},"keywords":{}}],["quot;secure"",{"_index":3052,"title":{},"content":{"332":{"position":[[710,18]]}},"keywords":{}}],["quot;self",{"_index":3050,"title":{},"content":{"332":{"position":[[682,10]]}},"keywords":{}}],["quot;send",{"_index":4836,"title":{},"content":{"654":{"position":[[262,10]]}},"keywords":{}}],["quot;set",{"_index":2343,"title":{},"content":{"219":{"position":[[713,10]]},"253":{"position":[[1744,9],[2461,13]]}},"keywords":{}}],["quot;setup"",{"_index":4296,"title":{},"content":{"533":{"position":[[440,17]]}},"keywords":{}}],["quot;show",{"_index":3135,"title":{},"content":{"348":{"position":[[1751,10]]}},"keywords":{}}],["quot;sioc_memory_config"",{"_index":880,"title":{},"content":{"40":{"position":[[875,30]]}},"keywords":{}}],["quot;skdfjgodkdfjdfoekfsg"",{"_index":3920,"title":{},"content":{"402":{"position":[[6332,32]]}},"keywords":{}}],["quot;skip",{"_index":4518,"title":{},"content":{"560":{"position":[[698,14]]}},"keywords":{}}],["quot;smith"perform_setup_oper",{"_index":4344,"title":{},"content":{"540":{"position":[[1473,42]]}},"keywords":{}}],["quot;snooz",{"_index":4010,"title":{},"content":{"422":{"position":[[1427,12]]}},"keywords":{}}],["quot;source_url"",{"_index":5747,"title":{},"content":{"807":{"position":[[206,23]]}},"keywords":{}}],["quot;source_url"=>{"name"=>"source_url"",{"_index":5763,"title":{},"content":{"808":{"position":[[651,72]]}},"keywords":{}}],["quot;spac",{"_index":4676,"title":{},"content":{"607":{"position":[[196,12],[240,12]]}},"keywords":{}}],["quot;spares"",{"_index":3662,"title":{},"content":{"379":{"position":[[3296,18],[3488,18]]}},"keywords":{}}],["quot;special"",{"_index":5064,"title":{},"content":{"680":{"position":[[1748,20],[1957,21]]}},"keywords":{}}],["quot;special"=>{"value"=>1",{"_index":5157,"title":{},"content":{"690":{"position":[[1003,49]]}},"keywords":{}}],["quot;ssl"",{"_index":3049,"title":{},"content":{"332":{"position":[[665,16]]}},"keywords":{}}],["quot;stale"=>tru",{"_index":5265,"title":{},"content":{"705":{"position":[[473,27]]},"707":{"position":[[599,27]]}},"keywords":{}}],["quot;start",{"_index":1660,"title":{},"content":{"83":{"position":[[3052,14]]},"213":{"position":[[535,12]]},"226":{"position":[[560,11]]}},"keywords":{}}],["quot;start"",{"_index":1649,"title":{},"content":{"83":{"position":[[2740,18]]}},"keywords":{}}],["quot;start/go"",{"_index":4848,"title":{},"content":{"658":{"position":[[412,21]]}},"keywords":{}}],["quot;state"",{"_index":4009,"title":{},"content":{"422":{"position":[[1374,17]]}},"keywords":{}}],["quot;state"=>"connected"",{"_index":5502,"title":{},"content":{"750":{"position":[[861,44]]},"764":{"position":[[834,44]]}},"keywords":{}}],["quot;states"=>{"normal"=>{"value"=>0",{"_index":5156,"title":{},"content":{"690":{"position":[[929,73]]}},"keywords":{}}],["quot;status"",{"_index":1326,"title":{},"content":{"64":{"position":[[911,18]]}},"keywords":{}}],["quot;stop"",{"_index":1376,"title":{},"content":{"67":{"position":[[1871,16]]},"73":{"position":[[1194,18],[1296,18]]},"658":{"position":[[463,17]]}},"keywords":{}}],["quot;stored"=>"false"",{"_index":5170,"title":{},"content":{"691":{"position":[[742,41]]}},"keywords":{}}],["quot;str",{"_index":729,"title":{},"content":{"36":{"position":[[3648,12]]},"214":{"position":[[944,12],[2160,12]]},"218":{"position":[[1146,12],[1938,12]]},"220":{"position":[[1277,12],[2509,12]]},"229":{"position":[[3648,12]]}},"keywords":{}}],["quot;stream",{"_index":3627,"title":{},"content":{"379":{"position":[[466,12],[2875,12]]}},"keywords":{}}],["quot;streamingchannel"",{"_index":3867,"title":{},"content":{"402":{"position":[[1277,29]]}},"keywords":{}}],["quot;string"",{"_index":2630,"title":{},"content":{"279":{"position":[[2736,18]]}},"keywords":{}}],["quot;struct",{"_index":2420,"title":{},"content":{"240":{"position":[[397,12]]},"287":{"position":[[406,12]]},"321":{"position":[[1184,12],[1227,12],[1269,12]]}},"keywords":{}}],["quot;suit",{"_index":4313,"title":{},"content":{"534":{"position":[[224,11],[270,11]]}},"keywords":{}}],["quot;suite"",{"_index":1650,"title":{},"content":{"83":{"position":[[2759,18]]}},"keywords":{}}],["quot;suiterunner"",{"_index":1648,"title":{},"content":{"83":{"position":[[2693,24]]}},"keywords":{}}],["quot;sync",{"_index":2394,"title":{},"content":{"228":{"position":[[2007,10]]},"230":{"position":[[1795,10]]}},"keywords":{}}],["quot;tab",{"_index":4664,"title":{},"content":{"601":{"position":[[164,9],[238,9]]}},"keywords":{}}],["quot;target",{"_index":5485,"title":{},"content":{"748":{"position":[[276,13]]}},"keywords":{}}],["quot;target_nam",{"_index":1718,"title":{},"content":{"91":{"position":[[538,17]]},"92":{"position":[[522,17]]}},"keywords":{}}],["quot;target_name"=>"inst"",{"_index":5096,"title":{},"content":{"685":{"position":[[711,45]]},"687":{"position":[[366,47]]},"689":{"position":[[405,47]]},"691":{"position":[[600,45]]},"705":{"position":[[251,48]]},"707":{"position":[[358,47]]},"714":{"position":[[345,46],[563,46],[787,46],[1023,46]]}},"keywords":{}}],["quot;target_name"=>"tgt"",{"_index":5441,"title":{},"content":{"744":{"position":[[520,44],[950,44]]}},"keywords":{}}],["quot;target_names"=>["inst"",{"_index":5492,"title":{},"content":{"750":{"position":[[442,48]]},"764":{"position":[[415,48]]}},"keywords":{}}],["quot;targetname"",{"_index":5814,"title":{},"content":{"814":{"position":[[524,23]]}},"keywords":{}}],["quot;teardown"",{"_index":4299,"title":{},"content":{"533":{"position":[[523,20]]}},"keywords":{}}],["quot;telemetri",{"_index":2793,"title":{},"content":{"304":{"position":[[936,15]]},"305":{"position":[[1153,15]]},"358":{"position":[[4767,15],[5188,15]]}},"keywords":{}}],["quot;telemetry_grapher"",{"_index":5799,"title":{},"content":{"812":{"position":[[165,31]]}},"keywords":{}}],["quot;temp"",{"_index":1745,"title":{},"content":{"91":{"position":[[2064,17],[2317,17],[2601,17]]},"693":{"position":[[722,17],[848,17]]}},"keywords":{}}],["quot;temp1"",{"_index":1758,"title":{},"content":{"92":{"position":[[1594,19]]}},"keywords":{}}],["quot;temperatur",{"_index":4700,"title":{},"content":{"615":{"position":[[605,17]]}},"keywords":{}}],["quot;test"",{"_index":1901,"title":{},"content":{"109":{"position":[[2202,16],[2528,16]]},"594":{"position":[[376,16]]},"595":{"position":[[355,16]]},"596":{"position":[[226,16]]},"597":{"position":[[318,16]]},"665":{"position":[[793,17],[1057,17]]}},"keywords":{}}],["quot;text/html"",{"_index":2322,"title":{},"content":{"217":{"position":[[2150,21]]}},"keywords":{}}],["quot;tgt",{"_index":2450,"title":{},"content":{"251":{"position":[[1131,9],[1908,9]]}},"keywords":{}}],["quot;th",{"_index":2401,"title":{},"content":{"228":{"position":[[2177,9]]},"230":{"position":[[1914,9]]},"265":{"position":[[16,9]]},"304":{"position":[[1243,9]]},"305":{"position":[[1521,9]]},"358":{"position":[[3112,9],[5037,9]]},"359":{"position":[[1712,9]]}},"keywords":{}}],["quot;thi",{"_index":679,"title":{},"content":{"36":{"position":[[1004,10]]},"229":{"position":[[1004,10]]},"279":{"position":[[999,10]]},"583":{"position":[[207,10],[257,10]]},"584":{"position":[[211,10],[285,10]]},"585":{"position":[[207,10],[263,10],[337,10]]},"586":{"position":[[209,10],[265,10],[340,10]]},"587":{"position":[[377,10],[432,10]]},"588":{"position":[[371,10],[426,10]]},"670":{"position":[[542,10],[871,10]]}},"keywords":{}}],["quot;time"",{"_index":3909,"title":{},"content":{"402":{"position":[[5642,17],[5768,17],[6215,17],[6370,17]]}},"keywords":{}}],["quot;time"=>"1696437370872305961"",{"_index":5094,"title":{},"content":{"685":{"position":[[594,53]]}},"keywords":{}}],["quot;time"=>"1697298846752053420"",{"_index":5167,"title":{},"content":{"691":{"position":[[480,54]]}},"keywords":{}}],["quot;time_nsec"=>"1"",{"_index":5446,"title":{},"content":{"744":{"position":[[775,40]]}},"keywords":{}}],["quot;time_nsec"=>"2"",{"_index":5450,"title":{},"content":{"744":{"position":[[1205,40]]}},"keywords":{}}],["quot;title"",{"_index":4673,"title":{},"content":{"606":{"position":[[127,17]]}},"keywords":{}}],["quot;tlm"",{"_index":1485,"title":{},"content":{"81":{"position":[[323,16]]},"82":{"position":[[6076,16]]},"92":{"position":[[1187,16],[1511,16]]},"93":{"position":[[727,16]]}},"keywords":{}}],["quot;tlm.txt"",{"_index":367,"title":{},"content":{"16":{"position":[[479,20]]}},"keywords":{}}],["quot;tlm__inst__adcs__q1__raw"",{"_index":3911,"title":{},"content":{"402":{"position":[[5675,37],[5801,37]]}},"keywords":{}}],["quot;tlm__inst__adcs__q2__raw"",{"_index":3913,"title":{},"content":{"402":{"position":[[5719,37],[5845,37]]}},"keywords":{}}],["quot;tlm_unique_id_mode"=>fals",{"_index":5478,"title":{},"content":{"747":{"position":[[1160,41]]}},"keywords":{}}],["quot;to",{"_index":5014,"title":{},"content":{"671":{"position":[[452,8]]}},"keywords":{}}],["quot;transmit",{"_index":5540,"title":{},"content":{"756":{"position":[[621,14]]},"765":{"position":[[597,14]]}},"keywords":{}}],["quot;tvac"=>",{"_index":5405,"title":{},"content":{"740":{"position":[[498,22]]}},"keywords":{}}],["quot;txbytes"=>0",{"_index":5506,"title":{},"content":{"750":{"position":[[993,26]]},"764":{"position":[[966,26]]}},"keywords":{}}],["quot;txcnt"=>0",{"_index":5508,"title":{},"content":{"750":{"position":[[1051,24]]},"764":{"position":[[1024,24]]}},"keywords":{}}],["quot;txsize"=>0",{"_index":5504,"title":{},"content":{"750":{"position":[[937,25]]},"764":{"position":[[910,25]]}},"keywords":{}}],["quot;typ",{"_index":4838,"title":{},"content":{"654":{"position":[[313,11]]}},"keywords":{}}],["quot;type"",{"_index":1746,"title":{},"content":{"91":{"position":[[2087,17],[2340,17],[2624,17]]},"677":{"position":[[1482,16],[1601,16],[1857,17]]},"678":{"position":[[1680,16],[1902,17]]},"680":{"position":[[1725,16],[1939,17]]},"681":{"position":[[1507,16],[1685,17]]},"682":{"position":[[1754,16],[1962,17]]},"684":{"position":[[1798,16],[1996,17]]},"700":{"position":[[464,16],[598,18]]}},"keywords":{}}],["quot;type"=>"limits_change"",{"_index":5440,"title":{},"content":{"744":{"position":[[469,48],[899,48],[1451,48]]}},"keywords":{}}],["quot;unedit",{"_index":885,"title":{},"content":{"40":{"position":[[991,16],[1127,16],[1262,16]]}},"keywords":{}}],["quot;uneditable_check"",{"_index":888,"title":{},"content":{"40":{"position":[[1215,28]]}},"keywords":{}}],["quot;uneditable_state"",{"_index":887,"title":{},"content":{"40":{"position":[[1080,28]]}},"keywords":{}}],["quot;uneditable_text"",{"_index":881,"title":{},"content":{"40":{"position":[[936,27]]}},"keywords":{}}],["quot;unless",{"_index":519,"title":{},"content":{"23":{"position":[[293,12]]}},"keywords":{}}],["quot;updated"",{"_index":4147,"title":{},"content":{"455":{"position":[[798,20]]}},"keywords":{}}],["quot;updated_at"=>1613076213535979900",{"_index":5501,"title":{},"content":{"750":{"position":[[811,47]]},"764":{"position":[[784,47]]}},"keywords":{}}],["quot;updated_at"=>1613077058266815900",{"_index":5480,"title":{},"content":{"747":{"position":[[1230,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776573904132",{"_index":5765,"title":{},"content":{"808":{"position":[[791,47]]}},"keywords":{}}],["quot;updated_at"=>1698026776574105465",{"_index":5762,"title":{},"content":{"808":{"position":[[600,48]]}},"keywords":{}}],["quot;updated_at"=>1698026776574347007",{"_index":5759,"title":{},"content":{"808":{"position":[[417,48]]}},"keywords":{}}],["quot;updated_at"=>1698074299509456507",{"_index":5756,"title":{},"content":{"808":{"position":[[239,48]]}},"keywords":{}}],["quot;upload"",{"_index":4223,"title":{},"content":{"498":{"position":[[972,19]]}},"keywords":{}}],["quot;us",{"_index":4505,"title":{},"content":{"559":{"position":[[547,10]]}},"keywords":{}}],["quot;valu",{"_index":215,"title":{},"content":{"6":{"position":[[401,11],[845,11],[900,11],[955,11],[1010,11],[1065,11]]}},"keywords":{}}],["quot;value"",{"_index":2796,"title":{},"content":{"304":{"position":[[1090,17]]},"305":{"position":[[1307,17]]},"358":{"position":[[2957,17],[4921,17]]}},"keywords":{}}],["quot;value"=>"5"",{"_index":5318,"title":{},"content":{"714":{"position":[[984,36],[1221,36]]}},"keywords":{}}],["quot;value"=>5",{"_index":5315,"title":{},"content":{"714":{"position":[[536,24],[760,24]]}},"keywords":{}}],["quot;value_type"=>"converted"",{"_index":5316,"title":{},"content":{"714":{"position":[[710,49]]}},"keywords":{}}],["quot;value_type"=>"formatted"",{"_index":5317,"title":{},"content":{"714":{"position":[[934,49]]}},"keywords":{}}],["quot;value_type"=>"raw"",{"_index":5314,"title":{},"content":{"714":{"position":[[492,43]]}},"keywords":{}}],["quot;value_type"=>"with_units"",{"_index":5319,"title":{},"content":{"714":{"position":[[1170,50]]}},"keywords":{}}],["quot;var",{"_index":4775,"title":{},"content":{"637":{"position":[[2077,9],[2216,9]]}},"keywords":{}}],["quot;verifi",{"_index":4451,"title":{},"content":{"550":{"position":[[349,14],[460,14]]},"561":{"position":[[427,14]]}},"keywords":{}}],["quot;version"",{"_index":5748,"title":{},"content":{"807":{"position":[[230,20]]}},"keywords":{}}],["quot;version"=>{"name"=>"version"",{"_index":5753,"title":{},"content":{"808":{"position":[[125,66]]}},"keywords":{}}],["quot;volt",{"_index":2347,"title":{},"content":{"219":{"position":[[878,10]]}},"keywords":{}}],["quot;voltag",{"_index":1329,"title":{},"content":{"64":{"position":[[1059,13],[1171,13]]},"219":{"position":[[977,13]]}},"keywords":{}}],["quot;vu",{"_index":2543,"title":{},"content":{"263":{"position":[[101,9]]},"320":{"position":[[889,9]]}},"keywords":{}}],["quot;warn",{"_index":738,"title":{},"content":{"36":{"position":[[3909,14]]},"229":{"position":[[3909,14]]}},"keywords":{}}],["quot;wins"",{"_index":2687,"title":{},"content":{"297":{"position":[[514,17]]}},"keywords":{}}],["quot;with",{"_index":1724,"title":{},"content":{"91":{"position":[[660,10]]}},"keywords":{}}],["quot;xml",{"_index":2357,"title":{},"content":{"220":{"position":[[375,9],[1543,9]]}},"keywords":{}}],["quot;yes"",{"_index":3966,"title":{},"content":{"404":{"position":[[1543,15]]}},"keywords":{}}],["quot;you",{"_index":1665,"title":{},"content":{"83":{"position":[[3156,9]]}},"keywords":{}}],["quot;|"",{"_index":2371,"title":{},"content":{"221":{"position":[[155,13]]}},"keywords":{}}],["r",{"_index":2217,"title":{},"content":{"211":{"position":[[105,1],[174,1]]},"376":{"position":[[526,1]]}},"keywords":{}}],["r)"",{"_index":1684,"title":{},"content":{"83":{"position":[[3767,8],[3945,8]]}},"keywords":{}}],["race",{"_index":4604,"title":{},"content":{"579":{"position":[[322,4]]}},"keywords":{}}],["radio",{"_index":4795,"title":{},"content":{"641":{"position":[[162,5]]},"642":{"position":[[12,5],[283,5]]}},"keywords":{}}],["radiobutton",{"_index":4793,"title":{"642":{"position":[[0,12]]}},"content":{"641":{"position":[[20,12],[34,12]]},"642":{"position":[[206,12],[392,11],[412,11]]},"654":{"position":[[810,11],[830,11]]}},"keywords":{}}],["radiogroup",{"_index":4792,"title":{"641":{"position":[[0,11]]}},"content":{"642":{"position":[[155,10],[337,10]]},"654":{"position":[[755,10]]}},"keywords":{}}],["radiu",{"_index":4712,"title":{},"content":{"622":{"position":[[308,6],[315,6]]},"653":{"position":[[164,6],[171,6]]}},"keywords":{}}],["rail",{"_index":975,"title":{"269":{"position":[[8,6]]}},"content":{"42":{"position":[[2179,5]]},"44":{"position":[[1333,5],[1364,5]]},"258":{"position":[[1001,5],[1098,5],[1649,5]]},"269":{"position":[[66,6],[73,5],[164,5]]},"402":{"position":[[461,5]]}},"keywords":{}}],["rails_env=develop",{"_index":974,"title":{},"content":{"42":{"position":[[2116,21]]}},"keywords":{}}],["rails…"",{"_index":983,"title":{},"content":{"42":{"position":[[2434,12],[2562,12]]}},"keywords":{}}],["rais",{"_index":1213,"title":{},"content":{"54":{"position":[[1538,5],[1555,5]]},"57":{"position":[[1184,5]]},"61":{"position":[[2706,5],[2734,5]]},"64":{"position":[[318,5],[346,5]]},"552":{"position":[[2318,5],[2466,5],[2601,5],[2669,6]]},"559":{"position":[[541,5],[828,5]]},"566":{"position":[[270,6]]},"700":{"position":[[50,7],[81,5],[117,7]]}},"keywords":{}}],["rake",{"_index":2211,"title":{},"content":{"210":{"position":[[68,4]]},"301":{"position":[[1315,4]]},"326":{"position":[[561,4]]},"359":{"position":[[95,4],[1909,4]]},"379":{"position":[[3610,4]]},"385":{"position":[[309,4]]}},"keywords":{}}],["rake.if",{"_index":3721,"title":{},"content":{"386":{"position":[[361,7]]}},"keywords":{}}],["rakefil",{"_index":2754,"title":{},"content":{"301":{"position":[[1219,8],[1233,8]]},"320":{"position":[[674,8]]}},"keywords":{}}],["ram",{"_index":3009,"title":{},"content":{"330":{"position":[[370,4],[440,4]]},"367":{"position":[[244,3],[333,4],[389,3],[570,3],[614,5],[626,3],[1028,3]]},"369":{"position":[[866,3],[3479,3]]}},"keywords":{}}],["ram)a",{"_index":3926,"title":{},"content":{"404":{"position":[[245,5]]}},"keywords":{}}],["ramwindow",{"_index":3431,"title":{},"content":{"369":{"position":[[740,10],[2225,10]]}},"keywords":{}}],["random",{"_index":1144,"title":{},"content":{"50":{"position":[[363,12],[393,12]]},"59":{"position":[[160,9]]},"60":{"position":[[274,13],[331,10]]}},"keywords":{}}],["rang",{"_index":803,"title":{},"content":{"36":{"position":[[7010,5]]},"91":{"position":[[245,5],[443,5]]},"229":{"position":[[7010,5]]},"279":{"position":[[5611,5],[8657,5],[9652,5],[10039,5]]},"348":{"position":[[1402,5],[1431,5],[1490,5]]},"354":{"position":[[427,5]]},"446":{"position":[[152,5]]},"466":{"position":[[21,5]]},"468":{"position":[[324,5]]},"481":{"position":[[64,5]]},"565":{"position":[[273,6],[758,5],[1036,5]]},"568":{"position":[[531,5],[698,6]]},"613":{"position":[[310,5]]},"618":{"position":[[244,5],[383,5],[718,5],[771,5]]},"620":{"position":[[343,5],[396,5]]},"621":{"position":[[341,5],[394,5]]},"625":{"position":[[213,5],[352,5],[687,5],[740,5]]},"630":{"position":[[318,5]]},"631":{"position":[[19,5],[223,5],[362,5],[603,5],[656,5]]},"633":{"position":[[520,6],[689,5]]},"678":{"position":[[46,5]]},"680":{"position":[[60,5]]},"682":{"position":[[69,5]]},"684":{"position":[[83,5]]},"685":{"position":[[261,5]]},"742":{"position":[[123,7]]}},"keywords":{}}],["range(0,5000000",{"_index":4487,"title":{},"content":{"552":{"position":[[2493,17]]}},"keywords":{}}],["range(1",{"_index":4432,"title":{},"content":{"547":{"position":[[724,8]]}},"keywords":{}}],["range(1000",{"_index":5700,"title":{},"content":{"793":{"position":[[688,12]]}},"keywords":{}}],["range_check",{"_index":5087,"title":{},"content":{"685":{"position":[[71,12],[230,11]]}},"keywords":{}}],["range_check=tru",{"_index":5088,"title":{},"content":{"685":{"position":[[144,17]]}},"keywords":{}}],["rangebar",{"_index":4704,"title":{"631":{"position":[[0,9]]}},"content":{"618":{"position":[[59,8]]},"625":{"position":[[36,8]]},"631":{"position":[[704,8],[758,8]]}},"keywords":{}}],["rare",{"_index":1314,"title":{},"content":{"62":{"position":[[252,6]]},"432":{"position":[[1014,4]]}},"keywords":{}}],["raspberri",{"_index":24,"title":{"403":{"position":[[0,9]]},"404":{"position":[[18,9]]}},"content":{"1":{"position":[[247,9]]},"367":{"position":[[21,9]]},"404":{"position":[[5,9],[207,9],[470,9],[640,9],[715,9],[1658,9],[1747,9],[1779,9],[1851,9],[2714,9]]}},"keywords":{}}],["raspian",{"_index":3934,"title":{},"content":{"404":{"position":[[416,7]]}},"keywords":{}}],["rate",{"_index":1910,"title":{},"content":{"111":{"position":[[468,4],[478,4]]},"314":{"position":[[549,4]]},"338":{"position":[[585,4]]},"350":{"position":[[1076,5],[1129,5]]},"369":{"position":[[2350,4]]},"511":{"position":[[108,4],[251,4]]},"562":{"position":[[27,4]]},"722":{"position":[[789,4],[1192,4]]},"723":{"position":[[521,4],[959,4]]},"724":{"position":[[525,4],[745,4]]},"725":{"position":[[448,4],[626,4]]},"726":{"position":[[411,4],[804,4]]},"727":{"position":[[427,4],[855,4]]},"728":{"position":[[460,4],[670,4]]},"729":{"position":[[334,4],[598,4]]}},"keywords":{}}],["raw",{"_index":62,"title":{"590":{"position":[[0,4]]}},"content":{"2":{"position":[[579,4]]},"36":{"position":[[1369,3],[8110,3]]},"46":{"position":[[50,3]]},"48":{"position":[[460,3],[2042,3],[2113,3],[2894,3],[3184,3],[3329,3],[3795,3],[3822,3]]},"53":{"position":[[843,3]]},"54":{"position":[[1241,3]]},"55":{"position":[[2141,3]]},"56":{"position":[[1143,3]]},"60":{"position":[[646,3]]},"61":{"position":[[104,3],[2315,3]]},"62":{"position":[[433,3]]},"67":{"position":[[2036,3]]},"73":{"position":[[68,3]]},"83":{"position":[[2992,3]]},"92":{"position":[[207,3]]},"93":{"position":[[601,3]]},"115":{"position":[[1235,3],[1265,3],[1497,3],[1530,3],[1894,3],[2011,3]]},"117":{"position":[[336,3]]},"155":{"position":[[18,3],[109,3]]},"162":{"position":[[18,3],[111,3]]},"219":{"position":[[1361,3]]},"229":{"position":[[1369,3],[8110,3]]},"242":{"position":[[58,3],[127,3]]},"251":{"position":[[1034,5],[1046,3],[1802,5],[1814,3]]},"258":{"position":[[1277,3]]},"275":{"position":[[322,3],[374,3]]},"279":{"position":[[1364,3],[3318,3],[3430,3],[4689,3],[4801,3],[5382,3],[5494,3],[6505,3],[6617,3],[6770,3]]},"291":{"position":[[58,3],[127,3]]},"321":{"position":[[1549,3]]},"338":{"position":[[66,3],[309,3]]},"343":{"position":[[670,4]]},"346":{"position":[[670,3],[769,3],[962,3],[1079,3]]},"350":{"position":[[1484,5]]},"353":{"position":[[536,5]]},"367":{"position":[[736,3]]},"402":{"position":[[345,3],[3013,4],[3176,4],[3981,3],[4094,4],[4140,3],[4178,3],[5897,3]]},"408":{"position":[[112,3]]},"409":{"position":[[87,3]]},"410":{"position":[[81,3]]},"411":{"position":[[130,3]]},"490":{"position":[[136,3]]},"496":{"position":[[127,3],[210,3]]},"509":{"position":[[185,3],[274,3]]},"512":{"position":[[135,3]]},"514":{"position":[[247,3],[281,3]]},"515":{"position":[[268,3],[302,3]]},"590":{"position":[[9,3],[193,3]]},"609":{"position":[[507,4]]},"610":{"position":[[694,4]]},"611":{"position":[[679,4]]},"612":{"position":[[243,4]]},"613":{"position":[[491,4],[597,3]]},"614":{"position":[[264,4]]},"615":{"position":[[410,4],[638,3]]},"616":{"position":[[284,4]]},"617":{"position":[[287,4]]},"618":{"position":[[561,4],[872,3]]},"619":{"position":[[235,3],[551,4],[739,3]]},"620":{"position":[[280,4]]},"621":{"position":[[278,4]]},"622":{"position":[[264,4]]},"623":{"position":[[253,4]]},"624":{"position":[[256,4]]},"625":{"position":[[530,4],[836,3]]},"626":{"position":[[250,4],[977,4]]},"627":{"position":[[284,4],[1030,4]]},"628":{"position":[[268,4],[1002,4]]},"630":{"position":[[501,4]]},"631":{"position":[[540,4],[747,3]]},"633":{"position":[[296,4]]},"635":{"position":[[492,4]]},"648":{"position":[[525,4]]},"650":{"position":[[455,4]]},"652":{"position":[[683,4],[885,3]]},"659":{"position":[[160,3],[274,3],[372,3],[454,3],[666,3]]},"662":{"position":[[5112,5],[5185,5],[5266,5],[5359,5]]},"685":{"position":[[90,4],[309,3],[355,3]]},"686":{"position":[[7,3],[176,3],[194,3]]},"691":{"position":[[59,3]]},"693":{"position":[[564,4],[740,5]]},"697":{"position":[[1140,5]]},"698":{"position":[[704,3],[895,5]]},"701":{"position":[[468,4],[965,5]]},"702":{"position":[[59,3]]},"703":{"position":[[532,4]]},"710":{"position":[[594,4],[884,5],[949,5]]},"711":{"position":[[479,4]]},"712":{"position":[[483,4],[716,5],[729,3],[928,3]]},"713":{"position":[[301,4],[516,5],[539,3],[726,3]]},"714":{"position":[[1460,6]]},"722":{"position":[[1324,4],[1664,5]]},"723":{"position":[[1091,4],[1432,5]]},"726":{"position":[[936,4],[1182,5]]},"727":{"position":[[987,4],[1261,5]]},"754":{"position":[[19,3],[270,3],[347,3],[381,3]]},"755":{"position":[[18,3],[267,3],[344,3],[377,3]]},"766":{"position":[[19,3],[255,3],[329,3],[363,3]]},"767":{"position":[[18,3],[252,3],[326,3],[359,3]]}},"keywords":{}}],["raw').then(dur",{"_index":4760,"title":{},"content":{"637":{"position":[[1024,15]]}},"keywords":{}}],["raw/decom",{"_index":4158,"title":{},"content":{"462":{"position":[[375,9]]}},"keywords":{}}],["raw=fals",{"_index":5089,"title":{},"content":{"685":{"position":[[162,10]]}},"keywords":{}}],["raw_log",{"_index":3079,"title":{"338":{"position":[[13,9]]}},"content":{"338":{"position":[[20,8]]}},"keywords":{}}],["raw_valu",{"_index":5236,"title":{},"content":{"701":{"position":[[902,9],[1330,9]]}},"keywords":{}}],["rb",{"_index":5647,"title":{},"content":{"778":{"position":[[560,3]]}},"keywords":{}}],["rbc",{"_index":1804,"title":{},"content":{"96":{"position":[[579,3]]}},"keywords":{}}],["rc",{"_index":1655,"title":{},"content":{"83":{"position":[[2914,2]]},"333":{"position":[[223,2]]}},"keywords":{}}],["re",{"_index":1031,"title":{},"content":{"43":{"position":[[1232,2]]},"53":{"position":[[327,2]]},"359":{"position":[[2235,2]]},"464":{"position":[[281,2]]},"505":{"position":[[391,2]]},"522":{"position":[[728,2]]},"530":{"position":[[462,2]]},"552":{"position":[[1556,2]]},"559":{"position":[[394,2],[1391,2]]},"569":{"position":[[332,2]]},"658":{"position":[[684,2]]},"787":{"position":[[745,2]]}},"keywords":{}}],["reach",{"_index":2092,"title":{},"content":{"154":{"position":[[68,8]]},"157":{"position":[[75,8]]},"161":{"position":[[70,8]]},"164":{"position":[[77,8]]}},"keywords":{}}],["react",{"_index":2556,"title":{},"content":{"264":{"position":[[369,6]]},"307":{"position":[[252,6]]},"422":{"position":[[330,5]]}},"keywords":{}}],["reaction",{"_index":3994,"title":{"422":{"position":[[0,10]]}},"content":{"419":{"position":[[83,10],[159,9]]},"422":{"position":[[1,9],[120,9],[181,8],[316,8],[410,8],[437,8],[1099,8],[1124,8],[1250,8],[1293,8],[1356,8],[1479,8]]}},"keywords":{}}],["reactiv",{"_index":2952,"title":{},"content":{"320":{"position":[[371,8]]}},"keywords":{}}],["read",{"_index":75,"title":{},"content":{"2":{"position":[[725,7]]},"50":{"position":[[844,4],[968,5],[996,4]]},"52":{"position":[[729,4],[790,5],[804,4],[865,5]]},"53":{"position":[[27,5],[164,6],[623,8]]},"54":{"position":[[20,5],[189,4],[576,4],[1021,8]]},"55":{"position":[[119,5],[179,5],[1140,4],[1802,8],[3221,5]]},"56":{"position":[[123,5],[596,4],[734,4],[773,4],[927,8]]},"57":{"position":[[685,4],[777,4],[1003,4]]},"60":{"position":[[430,8]]},"61":{"position":[[786,4],[1409,4],[1626,4],[1705,4],[1817,5],[1906,4],[1945,4],[2099,8]]},"64":{"position":[[1073,7],[1185,7]]},"67":{"position":[[1642,4],[1691,4],[1919,5],[1990,4],[2064,4],[2255,4],[3204,4],[3451,4],[3580,5],[3670,4],[3716,7]]},"73":{"position":[[77,4],[766,4],[1131,4]]},"102":{"position":[[31,7]]},"104":{"position":[[344,4],[394,4],[409,4],[427,4],[604,4],[663,5],[697,5]]},"105":{"position":[[332,4],[347,4],[365,4],[491,4],[550,5],[584,5]]},"106":{"position":[[267,4],[307,4],[777,4],[836,4],[858,5]]},"107":{"position":[[332,4],[505,4],[564,5],[598,5]]},"108":{"position":[[289,4]]},"110":{"position":[[752,4],[777,4],[800,4],[1726,4],[1948,4]]},"111":{"position":[[351,4],[388,5],[450,8],[486,4],[683,4],[742,5],[776,5]]},"113":{"position":[[204,4],[221,4],[234,4]]},"115":{"position":[[557,4],[1207,4],[1244,5],[1560,4]]},"138":{"position":[[146,4]]},"139":{"position":[[96,5],[124,4],[273,7],[489,5],[913,4],[1119,4]]},"217":{"position":[[146,7]]},"219":{"position":[[1625,7],[1703,7]]},"222":{"position":[[35,4]]},"223":{"position":[[30,4]]},"225":{"position":[[1072,5],[1110,7]]},"242":{"position":[[43,4],[122,4]]},"257":{"position":[[33,4]]},"271":{"position":[[1111,5],[1140,7]]},"272":{"position":[[174,4]]},"279":{"position":[[6381,4],[6786,4],[7870,4]]},"291":{"position":[[43,4],[122,4]]},"314":{"position":[[491,4],[723,4]]},"330":{"position":[[191,4]]},"345":{"position":[[530,7],[578,4]]},"358":{"position":[[7822,8],[7877,5],[7999,4]]},"361":{"position":[[207,4]]},"389":{"position":[[199,4]]},"390":{"position":[[195,4]]},"402":{"position":[[6075,4]]},"447":{"position":[[631,4]]},"571":{"position":[[277,4],[476,7]]},"576":{"position":[[397,4]]},"592":{"position":[[207,4]]},"637":{"position":[[260,4]]},"693":{"position":[[9,5],[558,5]]},"701":{"position":[[1,5]]},"759":{"position":[[524,4],[564,5]]},"769":{"position":[[528,4],[568,5]]},"778":{"position":[[1,5]]},"793":{"position":[[271,4]]}},"keywords":{}}],["read_convers",{"_index":2600,"title":{},"content":{"274":{"position":[[741,16]]},"275":{"position":[[1359,15],[1514,15]]},"279":{"position":[[2916,16],[3897,15],[4232,15],[7223,15],[7248,15]]},"304":{"position":[[532,15],[1108,15]]}},"keywords":{}}],["read_data",{"_index":1379,"title":{"73":{"position":[[0,10]]}},"content":{"67":{"position":[[2006,11],[2341,11],[2487,11],[2859,11],[3029,11],[3333,13]]},"73":{"position":[[5,9]]}},"keywords":{}}],["read_data(data",{"_index":1424,"title":{},"content":{"69":{"position":[[875,15]]},"73":{"position":[[636,15]]}},"keywords":{}}],["read_data(self",{"_index":1439,"title":{},"content":{"73":{"position":[[968,15]]}},"keywords":{}}],["read_interfac",{"_index":1382,"title":{},"content":{"67":{"position":[[2091,16]]},"73":{"position":[[1694,16]]},"115":{"position":[[1094,17]]}},"keywords":{}}],["read_interface_bas",{"_index":1975,"title":{},"content":{"115":{"position":[[1031,19]]}},"keywords":{}}],["read_packet",{"_index":1392,"title":{"74":{"position":[[0,12]]}},"content":{"67":{"position":[[3220,13],[3403,13]]},"74":{"position":[[5,11]]}},"keywords":{}}],["read_packet(packet",{"_index":1449,"title":{},"content":{"74":{"position":[[817,19]]}},"keywords":{}}],["read_packet(self",{"_index":1450,"title":{},"content":{"74":{"position":[[896,17]]}},"keywords":{}}],["read_port",{"_index":3610,"title":{},"content":{"378":{"position":[[930,9]]}},"keywords":{}}],["read_port_nam",{"_index":2918,"title":{},"content":{"314":{"position":[[522,14],[1230,14]]}},"keywords":{}}],["read_timeout",{"_index":2922,"title":{},"content":{"314":{"position":[[745,12],[1351,12]]},"378":{"position":[[991,12]]}},"keywords":{}}],["read_writ",{"_index":1158,"title":{},"content":{"50":{"position":[[984,11]]},"57":{"position":[[1237,10],[1290,10]]},"139":{"position":[[112,11],[233,10],[502,10]]},"759":{"position":[[484,10],[580,10],[638,11],[847,11],[859,12]]},"769":{"position":[[315,11],[488,10],[584,10],[642,11],[848,11],[860,12]]}},"keywords":{}}],["read_write='read_writ",{"_index":5572,"title":{},"content":{"759":{"position":[[968,24]]},"769":{"position":[[966,24]]}},"keywords":{}}],["readabl",{"_index":2328,"title":{},"content":{"218":{"position":[[125,8]]},"349":{"position":[[6570,8],[6783,8]]},"637":{"position":[[478,9]]}},"keywords":{}}],["readable/edit",{"_index":3097,"title":{},"content":{"342":{"position":[[1022,17],[1052,18]]}},"keywords":{}}],["reader",{"_index":3695,"title":{},"content":{"380":{"position":[[2284,7]]}},"keywords":{}}],["readi",{"_index":1433,"title":{},"content":{"73":{"position":[[289,5],[323,5]]},"74":{"position":[[356,5]]},"75":{"position":[[372,5]]},"76":{"position":[[371,5]]},"264":{"position":[[327,5]]}},"keywords":{}}],["readme.md",{"_index":2758,"title":{},"content":{"301":{"position":[[1387,9]]},"358":{"position":[[882,9]]}},"keywords":{}}],["real",{"_index":1448,"title":{},"content":{"74":{"position":[[758,4]]},"100":{"position":[[226,4]]},"267":{"position":[[348,4]]},"274":{"position":[[224,4]]},"344":{"position":[[917,4]]},"358":{"position":[[83,4]]},"359":{"position":[[2682,4]]},"390":{"position":[[1258,4]]},"459":{"position":[[92,4]]},"522":{"position":[[1066,4]]},"529":{"position":[[266,4]]},"556":{"position":[[101,4],[362,4]]},"568":{"position":[[947,4]]},"659":{"position":[[334,4]]}},"keywords":{}}],["realli",{"_index":1373,"title":{},"content":{"67":{"position":[[1536,6]]},"141":{"position":[[634,6]]},"359":{"position":[[842,6]]},"568":{"position":[[902,6]]}},"keywords":{}}],["realtim",{"_index":1080,"title":{},"content":{"48":{"position":[[639,8]]},"343":{"position":[[1287,8],[1560,8]]},"345":{"position":[[644,8],[750,8]]},"350":{"position":[[50,8]]},"351":{"position":[[424,8],[469,8]]},"352":{"position":[[65,8],[291,8],[344,8]]},"354":{"position":[[260,8],[323,8]]},"402":{"position":[[328,9],[4459,9],[4718,9]]},"741":{"position":[[203,9]]}},"keywords":{}}],["reason",{"_index":126,"title":{"568":{"position":[[7,7]]}},"content":{"3":{"position":[[643,6]]},"274":{"position":[[507,6]]},"275":{"position":[[598,10]]},"383":{"position":[[335,6]]},"387":{"position":[[1287,7]]},"424":{"position":[[1029,10]]},"436":{"position":[[13,6]]},"552":{"position":[[415,7]]},"568":{"position":[[24,7]]},"710":{"position":[[153,6]]}},"keywords":{}}],["reassign",{"_index":4330,"title":{},"content":{"540":{"position":[[594,10]]}},"keywords":{}}],["rebas",{"_index":3722,"title":{},"content":{"386":{"position":[[380,6]]}},"keywords":{}}],["rebuild",{"_index":523,"title":{},"content":{"23":{"position":[[371,7]]},"326":{"position":[[489,7]]},"359":{"position":[[1743,7]]}},"keywords":{}}],["rebuilt",{"_index":3002,"title":{},"content":{"326":{"position":[[1000,7]]}},"keywords":{}}],["receipt",{"_index":3115,"title":{},"content":{"344":{"position":[[701,8]]}},"keywords":{}}],["receiv",{"_index":813,"title":{"275":{"position":[[0,8]]}},"content":{"36":{"position":[[8056,8]]},"46":{"position":[[72,8]]},"48":{"position":[[918,8],[964,8],[993,8],[3003,8],[3069,8],[3139,8],[3200,8],[3305,8],[3429,8],[4209,8]]},"51":{"position":[[213,9]]},"62":{"position":[[142,7]]},"100":{"position":[[218,7]]},"104":{"position":[[76,7]]},"106":{"position":[[48,7],[178,7]]},"107":{"position":[[74,7]]},"109":{"position":[[154,7],[1999,7],[2338,7]]},"110":{"position":[[174,7],[404,8]]},"113":{"position":[[32,9]]},"115":{"position":[[2301,7]]},"119":{"position":[[307,7]]},"120":{"position":[[227,7]]},"121":{"position":[[61,7]]},"132":{"position":[[314,8],[513,8]]},"138":{"position":[[72,8]]},"139":{"position":[[155,8]]},"149":{"position":[[18,7],[117,8],[214,7]]},"220":{"position":[[79,7]]},"229":{"position":[[8056,8]]},"271":{"position":[[69,8]]},"275":{"position":[[218,8],[308,9],[1743,8]]},"279":{"position":[[6716,8]]},"288":{"position":[[69,8]]},"289":{"position":[[103,8]]},"290":{"position":[[291,8]]},"302":{"position":[[887,8]]},"342":{"position":[[286,7],[532,7]]},"344":{"position":[[442,8],[507,8],[1039,8],[1185,9]]},"346":{"position":[[715,9],[1025,9]]},"358":{"position":[[8183,7]]},"379":{"position":[[1061,8]]},"380":{"position":[[1569,7]]},"402":{"position":[[187,7],[1354,9],[1389,8],[1972,9],[4885,8]]},"427":{"position":[[288,7],[446,7]]},"431":{"position":[[735,9]]},"433":{"position":[[55,9]]},"562":{"position":[[372,8],[479,8],[586,8]]},"563":{"position":[[418,7]]},"568":{"position":[[341,9]]},"637":{"position":[[1244,9]]},"676":{"position":[[67,7]]},"709":{"position":[[67,9],[487,9]]},"710":{"position":[[116,8]]},"711":{"position":[[47,8]]},"712":{"position":[[138,8]]},"715":{"position":[[121,8]]},"718":{"position":[[9,7]]},"719":{"position":[[9,7]]},"725":{"position":[[63,9],[311,8],[582,7]]},"729":{"position":[[63,9],[468,7]]},"756":{"position":[[199,7],[244,9],[662,7],[734,9],[1220,7],[1297,9]]},"765":{"position":[[193,7],[238,9],[256,9],[638,7],[710,9],[757,9],[1172,7],[1243,9],[1293,9]]}},"keywords":{}}],["received_count",{"_index":2603,"title":{},"content":{"275":{"position":[[113,15]]},"685":{"position":[[1229,17]]},"691":{"position":[[1109,17]]},"693":{"position":[[135,17]]}},"keywords":{}}],["received_tim",{"_index":2606,"title":{},"content":{"275":{"position":[[180,13],[425,14]]},"685":{"position":[[1140,16]]},"691":{"position":[[1018,16]]}},"keywords":{}}],["received_timeformat",{"_index":2604,"title":{},"content":{"275":{"position":[[129,23]]},"693":{"position":[[153,25]]}},"keywords":{}}],["received_timesecond",{"_index":2605,"title":{},"content":{"275":{"position":[[157,21]]},"579":{"position":[[165,20]]},"693":{"position":[[183,22]]}},"keywords":{}}],["recent",{"_index":1118,"title":{"562":{"position":[[17,6]]}},"content":{"48":{"position":[[4197,6]]},"115":{"position":[[1228,6],[1490,6]]},"213":{"position":[[1188,6]]},"346":{"position":[[700,6],[1001,6]]},"369":{"position":[[4097,6]]},"528":{"position":[[122,8]]},"562":{"position":[[113,6],[363,8],[470,8],[577,8]]},"563":{"position":[[48,6],[166,6]]},"693":{"position":[[37,8]]},"694":{"position":[[30,6],[260,6],[373,6],[523,6],[650,6],[803,6]]}},"keywords":{}}],["recept",{"_index":1126,"title":{},"content":{"48":{"position":[[4703,9]]}},"keywords":{}}],["recogn",{"_index":4113,"title":{},"content":{"434":{"position":[[485,10]]}},"keywords":{}}],["recommend",{"_index":900,"title":{},"content":{"42":{"position":[[80,9]]},"43":{"position":[[1313,11]]},"302":{"position":[[1593,10]]},"307":{"position":[[330,11]]},"309":{"position":[[4059,9]]},"326":{"position":[[7,11]]},"330":{"position":[[20,12],[53,9],[392,11],[1462,10]]},"331":{"position":[[4,9]]},"358":{"position":[[858,11],[1799,11]]},"359":{"position":[[290,9]]},"382":{"position":[[686,9]]},"383":{"position":[[173,9]]},"389":{"position":[[1391,9]]},"549":{"position":[[128,11]]},"552":{"position":[[1622,11]]},"571":{"position":[[302,12]]},"579":{"position":[[264,9]]}},"keywords":{}}],["reconnect",{"_index":1389,"title":{},"content":{"67":{"position":[[2831,11]]},"73":{"position":[[584,13]]},"74":{"position":[[610,13]]},"75":{"position":[[626,13]]},"76":{"position":[[623,13]]},"77":{"position":[[800,13]]},"134":{"position":[[24,9]]},"135":{"position":[[1,9],[85,9],[138,9],[191,9],[270,9]]}},"keywords":{}}],["reconnect_delay",{"_index":2033,"title":{"135":{"position":[[0,16]]}},"content":{},"keywords":{}}],["record",{"_index":3089,"title":{},"content":{"339":{"position":[[354,7]]},"364":{"position":[[218,6]]},"452":{"position":[[24,6]]},"453":{"position":[[54,6]]},"455":{"position":[[1554,6],[1676,6]]}},"keywords":{}}],["recov",{"_index":1171,"title":{"569":{"position":[[7,7]]}},"content":{"51":{"position":[[239,7]]},"568":{"position":[[1010,8]]},"569":{"position":[[98,8],[175,7]]}},"keywords":{}}],["rectangular",{"_index":4752,"title":{},"content":{"637":{"position":[[12,11]]},"643":{"position":[[12,11]]}},"keywords":{}}],["rectifi",{"_index":4031,"title":{},"content":{"424":{"position":[[1183,9]]},"431":{"position":[[110,8]]}},"keywords":{}}],["recurs",{"_index":3567,"title":{},"content":{"375":{"position":[[13,7]]}},"keywords":{}}],["red",{"_index":2629,"title":{},"content":{"279":{"position":[[2547,3],[2910,3],[8917,3],[8992,3],[9130,3],[9289,3],[9351,3],[9430,3]]},"330":{"position":[[170,3]]},"470":{"position":[[147,3]]},"473":{"position":[[105,3],[166,3],[319,3]]},"487":{"position":[[208,4]]},"517":{"position":[[152,4]]},"530":{"position":[[392,3]]},"587":{"position":[[107,3],[158,6],[230,3],[422,3]]},"588":{"position":[[101,3],[152,6],[224,3],[416,3]]},"589":{"position":[[112,3],[163,6],[235,3],[437,3]]},"611":{"position":[[352,4]]},"612":{"position":[[897,3]]},"619":{"position":[[101,3],[305,4],[805,3]]},"635":{"position":[[243,4]]},"647":{"position":[[408,3]]},"648":{"position":[[651,3]]},"652":{"position":[[933,3],[1060,3]]},"741":{"position":[[716,3],[724,3],[810,4],[910,3],[1042,3],[1081,3],[1090,3],[1177,4]]},"743":{"position":[[87,6]]}},"keywords":{}}],["red_low",{"_index":5258,"title":{},"content":{"704":{"position":[[615,10],[630,10]]}},"keywords":{}}],["redefin",{"_index":2415,"title":{},"content":{"236":{"position":[[202,8]]},"286":{"position":[[188,8]]}},"keywords":{}}],["redhat",{"_index":2833,"title":{},"content":{"309":{"position":[[259,7],[1339,6]]}},"keywords":{}}],["redi",{"_index":47,"title":{"267":{"position":[[0,6]]},"414":{"position":[[0,6]]}},"content":{"2":{"position":[[317,5]]},"42":{"position":[[1318,5],[3047,5]]},"44":{"position":[[1029,5]]},"48":{"position":[[4039,5],[4166,5],[4300,5]]},"83":{"position":[[1819,6]]},"183":{"position":[[13,5],[26,5],[329,5]]},"255":{"position":[[449,5]]},"258":{"position":[[1164,5],[1225,5]]},"267":{"position":[[1,5],[125,5],[230,5],[262,5],[288,5],[375,5],[400,5],[522,5],[603,5]]},"309":{"position":[[1999,5]]},"343":{"position":[[408,5]]},"367":{"position":[[690,5],[1022,5],[1151,5]]},"369":{"position":[[1630,5],[1711,5],[3120,5],[3202,5],[3597,5]]},"414":{"position":[[5,5],[67,5]]}},"keywords":{}}],["redirect",{"_index":498,"title":{},"content":{"22":{"position":[[386,13]]}},"keywords":{}}],["redis:latest",{"_index":999,"title":{},"content":{"42":{"position":[[2959,12]]}},"keywords":{}}],["redo",{"_index":3160,"title":{},"content":{"349":{"position":[[1626,5]]}},"keywords":{}}],["reduc",{"_index":63,"title":{},"content":{"2":{"position":[[602,7]]},"48":{"position":[[2324,6],[4374,6],[4399,8],[4530,7]]},"166":{"position":[[18,7],[122,7]]},"167":{"position":[[18,7],[120,7]]},"168":{"position":[[18,7],[119,7]]},"170":{"position":[[22,7],[123,7]]},"174":{"position":[[436,8]]},"175":{"position":[[155,7]]},"343":{"position":[[693,7]]},"402":{"position":[[3272,7],[3292,7]]},"511":{"position":[[152,6]]},"626":{"position":[[271,7],[298,7],[399,7],[424,6],[464,7],[998,7],[1025,7],[1126,7],[1151,6],[1191,7]]},"627":{"position":[[305,7],[332,7],[433,7],[458,6],[498,7],[1051,7],[1078,7],[1179,7],[1204,6],[1244,7]]},"628":{"position":[[289,7],[316,7],[417,7],[442,6],[482,7],[1023,7],[1050,7],[1151,7],[1176,6],[1216,7]]},"658":{"position":[[1135,7]]}},"keywords":{}}],["reduced_day",{"_index":3897,"title":{},"content":{"402":{"position":[[3058,12]]},"626":{"position":[[381,11],[1108,11]]},"627":{"position":[[415,11],[1161,11]]},"628":{"position":[[399,11],[1133,11]]}},"keywords":{}}],["reduced_day_log_retain_tim",{"_index":2109,"title":{"168":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduced_hour",{"_index":3896,"title":{},"content":{"402":{"position":[[3041,13]]},"626":{"position":[[367,13],[1094,13]]},"627":{"position":[[401,13],[1147,13]]},"628":{"position":[[385,13],[1119,13]]}},"keywords":{}}],["reduced_hour_log_retain_tim",{"_index":2108,"title":{"167":{"position":[[0,29]]}},"content":{},"keywords":{}}],["reduced_log_retain_tim",{"_index":2111,"title":{"170":{"position":[[0,24]]}},"content":{},"keywords":{}}],["reduced_minut",{"_index":3895,"title":{},"content":{"402":{"position":[[3025,15]]},"626":{"position":[[351,15],[1078,15]]},"627":{"position":[[385,15],[1131,15]]},"628":{"position":[[369,15],[1103,15]]}},"keywords":{}}],["reduced_minute_log_retain_tim",{"_index":2107,"title":{"166":{"position":[[0,31]]}},"content":{},"keywords":{}}],["reducer_dis",{"_index":2115,"title":{"172":{"position":[[0,16]]}},"content":{},"keywords":{}}],["reducer_max_cpu_util",{"_index":2116,"title":{"173":{"position":[[0,28]]}},"content":{},"keywords":{}}],["reduct",{"_index":1127,"title":{},"content":{"48":{"position":[[4802,9]]},"172":{"position":[[19,9]]},"173":{"position":[[52,9]]},"368":{"position":[[218,10]]}},"keywords":{}}],["refer",{"_index":165,"title":{},"content":{"5":{"position":[[689,8]]},"36":{"position":[[8158,9]]},"42":{"position":[[537,9]]},"48":{"position":[[1664,10]]},"61":{"position":[[474,8]]},"67":{"position":[[1829,9]]},"83":{"position":[[1001,9]]},"88":{"position":[[508,9]]},"138":{"position":[[445,5]]},"226":{"position":[[159,8]]},"229":{"position":[[8158,9]]},"276":{"position":[[179,8]]},"279":{"position":[[6815,9]]},"301":{"position":[[1138,10]]},"302":{"position":[[1029,9]]},"344":{"position":[[872,6]]},"401":{"position":[[308,10]]},"454":{"position":[[178,9]]},"531":{"position":[[268,10],[348,9],[621,10],[701,9]]},"551":{"position":[[699,6]]},"677":{"position":[[874,8]]},"678":{"position":[[1096,8]]},"679":{"position":[[1117,8]]},"680":{"position":[[1150,8]]},"681":{"position":[[950,8]]},"682":{"position":[[1167,8]]},"683":{"position":[[1188,8]]},"684":{"position":[[1221,8]]}},"keywords":{}}],["referenc",{"_index":815,"title":{},"content":{"36":{"position":[[8203,11]]},"128":{"position":[[493,10]]},"229":{"position":[[8203,11]]},"279":{"position":[[6862,11]]},"358":{"position":[[7488,11]]},"568":{"position":[[179,10]]}},"keywords":{}}],["referr",{"_index":1530,"title":{},"content":{"82":{"position":[[797,8],[817,8]]}},"keywords":{}}],["refin",{"_index":2589,"title":{},"content":{"272":{"position":[[202,7]]}},"keywords":{}}],["reflect",{"_index":1356,"title":{},"content":{"65":{"position":[[1112,7]]}},"keywords":{}}],["reformat",{"_index":1594,"title":{},"content":{"83":{"position":[[358,8]]}},"keywords":{}}],["refresh",{"_index":1023,"title":{},"content":{"43":{"position":[[748,7],[1058,7],[1266,7]]},"82":{"position":[[245,9]]},"196":{"position":[[127,10]]},"324":{"position":[[858,7]]},"489":{"position":[[14,7]]},"511":{"position":[[100,7],[243,7]]}},"keywords":{}}],["refus",{"_index":3132,"title":{},"content":{"348":{"position":[[1202,6]]},"378":{"position":[[1536,6]]}},"keywords":{}}],["regard",{"_index":4030,"title":{},"content":{"424":{"position":[[1116,6]]},"546":{"position":[[987,9]]}},"keywords":{}}],["regardless",{"_index":1169,"title":{},"content":{"51":{"position":[[159,10]]},"387":{"position":[[227,10]]}},"keywords":{}}],["regex",{"_index":2134,"title":{},"content":{"176":{"position":[[175,5]]},"190":{"position":[[181,5]]},"201":{"position":[[173,5]]},"205":{"position":[[175,5]]}},"keywords":{}}],["regist",{"_index":4061,"title":{},"content":{"427":{"position":[[188,8]]},"432":{"position":[[197,8]]}},"keywords":{}}],["registr",{"_index":4062,"title":{},"content":{"427":{"position":[[353,13]]},"432":{"position":[[757,14]]}},"keywords":{}}],["registri",{"_index":2890,"title":{},"content":{"309":{"position":[[2847,8],[2912,8],[3027,8],[3271,10],[3306,8]]}},"keywords":{}}],["regress",{"_index":3699,"title":{},"content":{"382":{"position":[[649,10]]}},"keywords":{}}],["regular",{"_index":260,"title":{"566":{"position":[[34,7]]}},"content":{"7":{"position":[[533,7]]},"53":{"position":[[195,7]]},"169":{"position":[[22,7],[123,7]]},"176":{"position":[[99,7]]},"190":{"position":[[105,7]]},"201":{"position":[[97,7]]},"205":{"position":[[99,7]]},"530":{"position":[[11,7]]},"536":{"position":[[325,7]]},"543":{"position":[[242,7],[355,7]]},"800":{"position":[[33,7]]}},"keywords":{}}],["reject",{"_index":3868,"title":{},"content":{"402":{"position":[[1557,9],[1611,8]]}},"keywords":{}}],["rel",{"_index":2069,"title":{},"content":{"143":{"position":[[108,8],[327,8]]},"181":{"position":[[92,8],[311,8]]},"194":{"position":[[34,8]]},"244":{"position":[[300,8]]},"293":{"position":[[147,8]]},"367":{"position":[[502,10]]},"506":{"position":[[418,8]]}},"keywords":{}}],["relat",{"_index":2428,"title":{},"content":{"247":{"position":[[27,7],[125,7],[180,7],[231,7]]},"248":{"position":[[27,7],[127,7],[184,7]]},"297":{"position":[[20,7],[147,7]]},"424":{"position":[[487,8],[916,8]]},"452":{"position":[[311,7]]},"464":{"position":[[312,7]]},"546":{"position":[[940,7],[1064,7]]},"551":{"position":[[71,7]]}},"keywords":{}}],["related_item",{"_index":2427,"title":{"247":{"position":[[0,13]]}},"content":{},"keywords":{}}],["relax",{"_index":1697,"title":{},"content":{"86":{"position":[[29,7]]}},"keywords":{}}],["releas",{"_index":2852,"title":{},"content":{"309":{"position":[[1471,7],[2712,7]]},"326":{"position":[[313,7]]},"333":{"position":[[474,7]]},"359":{"position":[[1856,7]]},"371":{"position":[[74,7]]},"382":{"position":[[11,8],[172,8],[338,7],[378,7],[674,8],[852,8],[894,8],[952,8]]},"426":{"position":[[1235,7]]},"814":{"position":[[134,9]]}},"keywords":{}}],["relev",{"_index":1364,"title":{},"content":{"67":{"position":[[788,8]]},"424":{"position":[[871,8]]}},"keywords":{}}],["reli",{"_index":703,"title":{},"content":{"36":{"position":[[2110,7]]},"53":{"position":[[185,6]]},"54":{"position":[[297,6]]},"229":{"position":[[2110,7]]},"715":{"position":[[154,7]]}},"keywords":{}}],["reliabl",{"_index":1166,"title":{},"content":{"51":{"position":[[122,9]]},"258":{"position":[[145,8]]}},"keywords":{}}],["reload",{"_index":2992,"title":{},"content":{"324":{"position":[[813,6],[910,7]]},"349":{"position":[[1520,7]]}},"keywords":{}}],["remain",{"_index":637,"title":{},"content":{"33":{"position":[[493,9],[709,9]]},"35":{"position":[[797,9],[1448,9]]},"37":{"position":[[590,9],[1241,9]]},"55":{"position":[[189,9]]},"228":{"position":[[826,9],[1477,9]]},"230":{"position":[[609,9],[1260,9]]},"231":{"position":[[996,9],[1621,9]]},"232":{"position":[[832,9],[1457,9]]},"358":{"position":[[4443,9]]},"422":{"position":[[1231,7]]},"559":{"position":[[1307,7]]},"611":{"position":[[215,7]]},"635":{"position":[[106,7]]},"661":{"position":[[102,6]]},"671":{"position":[[371,7]]}},"keywords":{}}],["rememb",{"_index":4337,"title":{},"content":{"540":{"position":[[1085,8]]},"637":{"position":[[421,8]]},"699":{"position":[[307,8]]}},"keywords":{}}],["remot",{"_index":1589,"title":{},"content":{"83":{"position":[[52,8]]},"106":{"position":[[228,6],[289,6],[471,6]]},"149":{"position":[[153,6],[285,6]]},"215":{"position":[[89,6]]}},"keywords":{}}],["remov",{"_index":977,"title":{"483":{"position":[[0,8]]}},"content":{"42":{"position":[[2285,7]]},"53":{"position":[[401,6]]},"56":{"position":[[762,6]]},"61":{"position":[[1934,6]]},"65":{"position":[[261,6]]},"236":{"position":[[141,6]]},"286":{"position":[[132,6]]},"309":{"position":[[3623,8]]},"310":{"position":[[597,6]]},"326":{"position":[[937,6],[1211,7]]},"363":{"position":[[583,6]]},"379":{"position":[[33,6]]},"402":{"position":[[2169,7],[4498,8]]},"404":{"position":[[1689,6],[2480,6]]},"455":{"position":[[537,9]]},"472":{"position":[[467,7]]},"482":{"position":[[346,8],[599,8]]},"483":{"position":[[81,7],[151,7]]},"544":{"position":[[498,8]]},"661":{"position":[[37,7],[206,8],[269,7],[302,7]]},"757":{"position":[[568,6]]}},"keywords":{}}],["renam",{"_index":2001,"title":{},"content":{"126":{"position":[[323,6]]},"302":{"position":[[641,7]]},"303":{"position":[[745,7]]},"307":{"position":[[1162,7]]}},"keywords":{}}],["render",{"_index":239,"title":{"7":{"position":[[0,7]]}},"content":{"7":{"position":[[49,6],[62,7],[215,6],[345,6]]},"264":{"position":[[251,6]]},"307":{"position":[[805,6]]},"505":{"position":[[394,6]]}},"keywords":{}}],["rent",{"_index":4013,"title":{},"content":{"424":{"position":[[40,6]]}},"keywords":{}}],["reorder",{"_index":3238,"title":{},"content":{"356":{"position":[[784,10],[801,7]]},"413":{"position":[[54,7]]},"519":{"position":[[165,10]]}},"keywords":{}}],["repeat",{"_index":4390,"title":{"544":{"position":[[23,6]]}},"content":{"544":{"position":[[109,8]]}},"keywords":{}}],["repeatedli",{"_index":4553,"title":{},"content":{"565":{"position":[[340,10]]}},"keywords":{}}],["repetit",{"_index":4395,"title":{},"content":{"544":{"position":[[261,10],[511,10]]}},"keywords":{}}],["replac",{"_index":842,"title":{},"content":{"36":{"position":[[10002,7]]},"51":{"position":[[410,8]]},"219":{"position":[[836,8]]},"229":{"position":[[10002,7]]},"285":{"position":[[481,8]]},"296":{"position":[[555,8]]},"349":{"position":[[1717,7],[1772,7],[1813,8]]},"371":{"position":[[168,7]]},"544":{"position":[[1288,8]]},"673":{"position":[[273,8]]}},"keywords":{}}],["replay",{"_index":4892,"title":{},"content":{"662":{"position":[[1745,6],[2949,6],[2985,6],[3021,6],[3051,6],[3089,6],[3126,6],[3170,6],[3202,6],[3237,6],[3275,6],[3305,6],[3781,6]]}},"keywords":{}}],["replay_move_end",{"_index":4914,"title":{},"content":{"662":{"position":[[2933,15]]}},"keywords":{}}],["replay_move_index",{"_index":4915,"title":{},"content":{"662":{"position":[[2967,17]]}},"keywords":{}}],["replay_move_start",{"_index":4916,"title":{},"content":{"662":{"position":[[3003,17]]}},"keywords":{}}],["replay_play",{"_index":4917,"title":{},"content":{"662":{"position":[[3039,11]]}},"keywords":{}}],["replay_reverse_play",{"_index":4918,"title":{},"content":{"662":{"position":[[3069,19]]}},"keywords":{}}],["replay_select_fil",{"_index":4919,"title":{},"content":{"662":{"position":[[3107,18]]}},"keywords":{}}],["replay_set_playback_delay",{"_index":4920,"title":{},"content":{"662":{"position":[[3144,25]]}},"keywords":{}}],["replay_statu",{"_index":4921,"title":{},"content":{"662":{"position":[[3188,13]]}},"keywords":{}}],["replay_step_back",{"_index":4922,"title":{},"content":{"662":{"position":[[3220,16]]}},"keywords":{}}],["replay_step_forward",{"_index":4923,"title":{},"content":{"662":{"position":[[3255,19]]}},"keywords":{}}],["replay_stop",{"_index":4924,"title":{},"content":{"662":{"position":[[3293,11]]}},"keywords":{}}],["repo",{"_index":1819,"title":{},"content":{"98":{"position":[[193,5]]},"208":{"position":[[68,4]]},"255":{"position":[[17,4]]},"331":{"position":[[483,4],[542,5]]}},"keywords":{}}],["report",{"_index":2208,"title":{"561":{"position":[[34,7]]}},"content":{"209":{"position":[[615,7]]},"210":{"position":[[129,7]]},"211":{"position":[[292,7]]},"349":{"position":[[5672,6],[5720,6]]},"496":{"position":[[96,6],[224,6]]},"546":{"position":[[1342,7]]},"561":{"position":[[76,6],[186,6],[401,6],[706,6]]}},"keywords":{}}],["repositori",{"_index":2750,"title":{},"content":{"301":{"position":[[1044,11]]}},"keywords":{}}],["repres",{"_index":43,"title":{},"content":{"2":{"position":[[241,9]]},"53":{"position":[[782,12],[866,10]]},"54":{"position":[[1180,12],[1264,10]]},"55":{"position":[[2080,12],[2164,10]]},"56":{"position":[[1082,12],[1166,10]]},"60":{"position":[[585,12],[669,10]]},"61":{"position":[[2254,12],[2338,10]]},"62":{"position":[[372,12],[456,10]]},"343":{"position":[[332,9]]},"369":{"position":[[3827,14]]},"402":{"position":[[5445,11],[5925,11]]},"652":{"position":[[58,11]]},"659":{"position":[[1043,11]]}},"keywords":{}}],["represent",{"_index":2222,"title":{},"content":{"213":{"position":[[271,14]]},"214":{"position":[[27,14]]},"636":{"position":[[122,15]]},"659":{"position":[[901,15]]}},"keywords":{}}],["req",{"_index":406,"title":{},"content":{"20":{"position":[[257,3],[323,3],[1506,3],[1545,3]]}},"keywords":{}}],["reqt",{"_index":3111,"title":{},"content":{"344":{"position":[[1,5]]},"345":{"position":[[1,5]]},"346":{"position":[[112,5]]},"347":{"position":[[179,5]]},"348":{"position":[[361,5]]},"349":{"position":[[1297,5]]},"350":{"position":[[147,5]]},"351":{"position":[[266,5]]},"352":{"position":[[98,5]]},"353":{"position":[[113,5]]},"354":{"position":[[192,5]]},"355":{"position":[[97,5]]},"356":{"position":[[104,5]]}},"keywords":{}}],["request",{"_index":443,"title":{},"content":{"20":{"position":[[905,7]]},"44":{"position":[[226,8],[1407,8]]},"81":{"position":[[132,8],[153,8],[737,7]]},"82":{"position":[[85,7],[167,9],[286,8],[305,8],[4658,8],[4677,7],[6478,7]]},"83":{"position":[[297,8],[1366,7],[1543,7],[1924,8],[2039,8],[3531,7]]},"85":{"position":[[24,7]]},"86":{"position":[[80,8],[213,7]]},"87":{"position":[[154,8]]},"88":{"position":[[443,8],[546,8]]},"93":{"position":[[230,7],[483,7]]},"107":{"position":[[704,7],[747,7]]},"112":{"position":[[544,8]]},"126":{"position":[[101,9]]},"217":{"position":[[518,8],[552,7],[778,7],[901,7],[1203,7],[2295,7],[2401,7]]},"264":{"position":[[280,10]]},"386":{"position":[[508,7]]},"401":{"position":[[168,9]]},"402":{"position":[[400,10],[2091,7],[2256,10],[2304,10],[5570,9]]},"425":{"position":[[206,9]]},"428":{"position":[[175,7]]},"430":{"position":[[74,9]]},"455":{"position":[[481,7]]},"499":{"position":[[736,7]]},"522":{"position":[[852,10],[931,7]]},"637":{"position":[[929,7]]},"659":{"position":[[361,10]]},"673":{"position":[[422,7]]},"712":{"position":[[627,8],[826,8]]},"799":{"position":[[147,8]]}},"keywords":{}}],["requests_ca_bundl",{"_index":3063,"title":{},"content":{"332":{"position":[[1274,18]]}},"keywords":{}}],["requir",{"_index":152,"title":{"12":{"position":[[0,8]]},"313":{"position":[[5,12]]},"341":{"position":[[0,12]]},"344":{"position":[[8,13]]},"345":{"position":[[4,13]]},"366":{"position":[[16,12]]},"552":{"position":[[37,8]]},"560":{"position":[[14,7]]}},"content":{"5":{"position":[[367,8],[397,8],[1102,9],[1140,8]]},"7":{"position":[[469,8]]},"11":{"position":[[304,8]]},"12":{"position":[[1,8],[43,8],[173,8],[587,7]]},"35":{"position":[[1079,8],[1610,8]]},"36":{"position":[[1914,9],[1938,8],[5498,7]]},"37":{"position":[[872,8],[1403,8]]},"42":{"position":[[379,11]]},"52":{"position":[[638,8]]},"53":{"position":[[527,8]]},"54":{"position":[[756,8]]},"55":{"position":[[584,8],[1128,8]]},"56":{"position":[[459,8]]},"58":{"position":[[219,8]]},"59":{"position":[[108,8]]},"60":{"position":[[196,8]]},"61":{"position":[[1272,8]]},"62":{"position":[[332,8]]},"64":{"position":[[119,8]]},"65":{"position":[[122,8]]},"66":{"position":[[135,8]]},"67":{"position":[[1031,7],[2440,8],[2651,8],[2768,8]]},"83":{"position":[[151,8],[320,8],[1302,9],[1898,8]]},"91":{"position":[[858,8]]},"92":{"position":[[649,8]]},"106":{"position":[[106,8]]},"107":{"position":[[245,8]]},"108":{"position":[[238,8]]},"109":{"position":[[462,8]]},"110":{"position":[[455,8]]},"112":{"position":[[166,8]]},"113":{"position":[[170,8]]},"114":{"position":[[326,8]]},"125":{"position":[[36,8]]},"128":{"position":[[130,7],[857,9]]},"144":{"position":[[116,8]]},"149":{"position":[[647,9]]},"182":{"position":[[117,8]]},"183":{"position":[[487,8]]},"211":{"position":[[107,12]]},"214":{"position":[[269,8],[1092,8],[1178,7],[1556,8]]},"215":{"position":[[169,8],[607,8]]},"218":{"position":[[311,8],[1334,8]]},"219":{"position":[[274,8],[1152,8]]},"220":{"position":[[222,8],[1416,8],[1617,8]]},"228":{"position":[[1108,8],[1639,8]]},"229":{"position":[[1914,9],[1938,8],[5498,7]]},"230":{"position":[[891,8],[1422,8]]},"231":{"position":[[1783,8]]},"232":{"position":[[1619,8]]},"250":{"position":[[58,7]]},"251":{"position":[[623,7]]},"253":{"position":[[1679,8]]},"272":{"position":[[13,7]]},"279":{"position":[[3978,7]]},"301":{"position":[[74,8],[1532,9]]},"302":{"position":[[124,8],[1377,8]]},"303":{"position":[[136,8],[1109,7]]},"304":{"position":[[132,8]]},"305":{"position":[[142,8]]},"306":{"position":[[214,8]]},"307":{"position":[[125,8],[172,8]]},"313":{"position":[[1,8]]},"344":{"position":[[855,11]]},"348":{"position":[[1229,8],[1300,8]]},"349":{"position":[[913,12]]},"358":{"position":[[1297,8]]},"359":{"position":[[245,8]]},"367":{"position":[[309,7],[551,8]]},"369":{"position":[[3724,8]]},"402":{"position":[[1660,8]]},"415":{"position":[[128,7]]},"424":{"position":[[387,8],[1663,8]]},"427":{"position":[[345,7]]},"432":{"position":[[598,7],[829,8],[1106,8]]},"453":{"position":[[7,7]]},"455":{"position":[[860,7]]},"468":{"position":[[569,9]]},"487":{"position":[[48,8]]},"513":{"position":[[652,8]]},"533":{"position":[[354,7]]},"550":{"position":[[364,12],[475,12],[599,12],[711,12]]},"552":{"position":[[1364,9],[1476,7],[1512,9],[1559,7],[1639,7],[1701,8],[1759,7]]},"561":{"position":[[442,12],[740,12]]},"569":{"position":[[1192,8]]},"571":{"position":[[346,7],[498,7]]},"673":{"position":[[978,9]]},"690":{"position":[[1424,11]]},"778":{"position":[[323,9]]},"810":{"position":[[47,8],[126,8]]}},"keywords":{}}],["require/load",{"_index":5696,"title":{},"content":{"793":{"position":[[255,12]]}},"keywords":{}}],["require_util",{"_index":4482,"title":{},"content":{"552":{"position":[[470,17]]},"662":{"position":[[3323,15]]}},"keywords":{}}],["requiredaccessor",{"_index":2422,"title":{},"content":{"242":{"position":[[242,16]]},"291":{"position":[[242,16]]}},"keywords":{}}],["requiredarg",{"_index":2075,"title":{},"content":{"145":{"position":[[139,12]]},"146":{"position":[[148,12]]},"185":{"position":[[123,12]]},"187":{"position":[[132,12]]}},"keywords":{}}],["requiredbehavior",{"_index":846,"title":{},"content":{"36":{"position":[[10261,16]]},"229":{"position":[[10261,16]]}},"keywords":{}}],["requiredbuff",{"_index":2088,"title":{},"content":{"152":{"position":[[95,14]]},"159":{"position":[[104,14]]}},"keywords":{}}],["requiredbutton",{"_index":4767,"title":{},"content":{"637":{"position":[[1600,14]]}},"keywords":{}}],["requiredc0",{"_index":786,"title":{},"content":{"36":{"position":[[6328,10]]},"229":{"position":[[6328,10]]},"279":{"position":[[4867,10]]}},"keywords":{}}],["requiredcategori",{"_index":2178,"title":{},"content":{"198":{"position":[[131,16]]}},"keywords":{}}],["requiredcharact",{"_index":4799,"title":{},"content":{"643":{"position":[[81,18]]}},"keywords":{}}],["requiredcheckbox",{"_index":4782,"title":{},"content":{"638":{"position":[[140,16]]}},"keywords":{}}],["requiredclass",{"_index":759,"title":{},"content":{"36":{"position":[[5015,13]]},"229":{"position":[[5015,13]]},"251":{"position":[[194,13]]},"279":{"position":[[3496,13]]}},"keywords":{}}],["requiredcolor",{"_index":4621,"title":{},"content":{"587":{"position":[[85,13]]},"588":{"position":[[79,13]]},"589":{"position":[[90,13]]}},"keywords":{}}],["requiredcolumn",{"_index":4648,"title":{},"content":{"598":{"position":[[129,15]]}},"keywords":{}}],["requiredconvert",{"_index":2635,"title":{},"content":{"279":{"position":[[7334,17]]}},"keywords":{}}],["requiredcycl",{"_index":2043,"title":{},"content":{"138":{"position":[[348,13]]}},"keywords":{}}],["requiredd",{"_index":4789,"title":{},"content":{"640":{"position":[[142,12]]}},"keywords":{}}],["requireddefault",{"_index":655,"title":{},"content":{"35":{"position":[[1497,15]]},"37":{"position":[[1290,15]]},"39":{"position":[[232,15]]},"228":{"position":[[1526,15]]},"230":{"position":[[1309,15]]},"231":{"position":[[1670,15]]},"232":{"position":[[1506,15]]}},"keywords":{}}],["requireddelay",{"_index":2035,"title":{},"content":{"135":{"position":[[231,13]]}},"keywords":{}}],["requireddescript",{"_index":638,"title":{},"content":{"33":{"position":[[542,19]]},"241":{"position":[[164,19]]}},"keywords":{}}],["requireddirectori",{"_index":2071,"title":{},"content":{"143":{"position":[[245,17]]},"181":{"position":[[229,17]]}},"keywords":{}}],["requiredfil",{"_index":629,"title":{},"content":{"32":{"position":[[87,12]]}},"keywords":{}}],["requiredfilenam",{"_index":328,"title":{},"content":{"12":{"position":[[144,16]]},"15":{"position":[[386,16]]},"16":{"position":[[386,16]]},"223":{"position":[[203,16]]}},"keywords":{}}],["requiredfold",{"_index":2086,"title":{},"content":{"150":{"position":[[45,14]]}},"keywords":{}}],["requiredformat",{"_index":659,"title":{},"content":{"36":{"position":[[126,14]]},"229":{"position":[[126,14]]},"279":{"position":[[121,14]]}},"keywords":{}}],["requiredful",{"_index":663,"title":{},"content":{"36":{"position":[[335,12]]},"229":{"position":[[335,12]]},"279":{"position":[[330,12]]}},"keywords":{}}],["requiredgroup",{"_index":2690,"title":{},"content":{"297":{"position":[[739,13]]}},"keywords":{}}],["requiredheight",{"_index":4616,"title":{},"content":{"584":{"position":[[117,14]]},"599":{"position":[[160,14]]}},"keywords":{}}],["requiredhost",{"_index":1839,"title":{},"content":{"104":{"position":[[243,12]]}},"keywords":{}}],["requiredhostnam",{"_index":1955,"title":{},"content":{"114":{"position":[[131,16]]}},"keywords":{}}],["requiredicon",{"_index":2169,"title":{},"content":{"197":{"position":[[103,12]]},"632":{"position":[[118,12]]}},"keywords":{}}],["requiredimag",{"_index":4815,"title":{},"content":{"649":{"position":[[56,13]]}},"keywords":{}}],["requirediniti",{"_index":4794,"title":{},"content":{"641":{"position":[[120,15]]}},"keywords":{}}],["requiredinterfac",{"_index":2014,"title":{},"content":{"128":{"position":[[377,17]]}},"keywords":{}}],["requireditem",{"_index":360,"title":{},"content":{"14":{"position":[[244,12]]},"285":{"position":[[304,12]]},"286":{"position":[[378,12]]}},"keywords":{}}],["requiredkey",{"_index":689,"title":{},"content":{"36":{"position":[[1460,11],[3048,11]]},"142":{"position":[[90,11]]},"180":{"position":[[74,11]]},"202":{"position":[[70,11]]},"229":{"position":[[1460,11],[3048,11]]},"279":{"position":[[1455,11],[2347,11]]},"590":{"position":[[65,11]]}},"keywords":{}}],["requiredlength",{"_index":694,"title":{},"content":{"36":{"position":[[1676,14]]},"229":{"position":[[1676,14]]},"279":{"position":[[1671,14]]}},"keywords":{}}],["requiredlimit",{"_index":2644,"title":{},"content":{"279":{"position":[[8457,14]]}},"keywords":{}}],["requiredlow",{"_index":800,"title":{},"content":{"36":{"position":[[6959,13]]},"229":{"position":[[6959,13]]},"279":{"position":[[5560,13]]}},"keywords":{}}],["requiredmargin",{"_index":4639,"title":{},"content":{"594":{"position":[[280,14]]},"596":{"position":[[128,14]]}},"keywords":{}}],["requiredmeta",{"_index":678,"title":{},"content":{"36":{"position":[[855,12]]},"229":{"position":[[855,12]]},"240":{"position":[[244,12]]},"279":{"position":[[850,12]]},"287":{"position":[[253,12]]}},"keywords":{}}],["requiredmicroservic",{"_index":2137,"title":{},"content":{"178":{"position":[[202,20]]}},"keywords":{}}],["requiredminimum",{"_index":650,"title":{},"content":{"35":{"position":[[846,15]]},"37":{"position":[[639,15]]},"228":{"position":[[875,15]]},"230":{"position":[[658,15]]},"231":{"position":[[1045,15]]},"232":{"position":[[881,15]]}},"keywords":{}}],["requirednam",{"_index":630,"title":{},"content":{"33":{"position":[[53,12]]},"35":{"position":[[65,12]]},"37":{"position":[[65,12]]},"140":{"position":[[214,12]]},"149":{"position":[[414,12]]},"228":{"position":[[82,12]]},"230":{"position":[[82,12]]},"231":{"position":[[305,12]]},"232":{"position":[[305,12]]},"233":{"position":[[99,12]]},"234":{"position":[[99,12]]},"278":{"position":[[81,12]]},"280":{"position":[[81,12]]},"281":{"position":[[251,12]]},"282":{"position":[[81,12]]},"283":{"position":[[98,12]]},"284":{"position":[[98,12]]}},"keywords":{}}],["requirednumb",{"_index":2073,"title":{},"content":{"144":{"position":[[171,14]]},"182":{"position":[[172,14]]}},"keywords":{}}],["requiredopt",{"_index":2153,"title":{},"content":{"186":{"position":[[283,14]]},"639":{"position":[[159,14]]}},"keywords":{}}],["requiredpacket",{"_index":2130,"title":{},"content":{"175":{"position":[[100,14]]}},"keywords":{}}],["requiredparamet",{"_index":354,"title":{},"content":{"13":{"position":[[341,17]]},"235":{"position":[[304,17]]},"236":{"position":[[405,17]]}},"keywords":{}}],["requiredpercentag",{"_index":2118,"title":{},"content":{"173":{"position":[[85,18]]}},"keywords":{}}],["requiredposit",{"_index":2184,"title":{},"content":{"200":{"position":[[294,16]]}},"keywords":{}}],["requiredprocessor",{"_index":2674,"title":{},"content":{"288":{"position":[[101,17]]}},"keywords":{}}],["requiredregex",{"_index":2133,"title":{},"content":{"176":{"position":[[161,13]]},"190":{"position":[[167,13]]},"201":{"position":[[159,13]]},"205":{"position":[[161,13]]}},"keywords":{}}],["requiredrespons",{"_index":2660,"title":{},"content":{"279":{"position":[[10495,16]]}},"keywords":{}}],["requiredrout",{"_index":2081,"title":{},"content":{"147":{"position":[[127,13]]},"189":{"position":[[127,13]]}},"keywords":{}}],["requiredrow",{"_index":641,"title":{},"content":{"33":{"position":[[758,12]]}},"keywords":{}}],["requireds",{"_index":2093,"title":{},"content":{"154":{"position":[[100,12]]},"157":{"position":[[107,12]]},"161":{"position":[[102,12]]},"164":{"position":[[109,12]]},"585":{"position":[[117,12]]},"586":{"position":[[119,12]]}},"keywords":{}}],["requiredshard",{"_index":2085,"title":{},"content":{"148":{"position":[[177,13]]},"177":{"position":[[177,13]]},"191":{"position":[[177,13]]}},"keywords":{}}],["requiredshown",{"_index":2179,"title":{},"content":{"199":{"position":[[162,13]]}},"keywords":{}}],["requiredstart",{"_index":4718,"title":{},"content":{"626":{"position":[[1354,13]]},"627":{"position":[[1407,13]]},"628":{"position":[[1379,13]]},"651":{"position":[[53,13]]}},"keywords":{}}],["requiredsubwidget",{"_index":4629,"title":{},"content":{"591":{"position":[[520,17]]}},"keywords":{}}],["requiredt",{"_index":857,"title":{},"content":{"38":{"position":[[112,13]]}},"keywords":{}}],["requiredtab",{"_index":4663,"title":{},"content":{"601":{"position":[[82,11]]}},"keywords":{}}],["requiredtarget",{"_index":161,"title":{},"content":{"5":{"position":[[583,14]]},"130":{"position":[[59,14]]},"131":{"position":[[93,14]]},"132":{"position":[[94,14]]},"184":{"position":[[254,14]]},"226":{"position":[[53,14]]},"245":{"position":[[106,14]]},"246":{"position":[[112,14]]},"247":{"position":[[90,14]]},"248":{"position":[[92,14]]},"252":{"position":[[303,14]]},"276":{"position":[[55,14]]},"296":{"position":[[299,14]]},"298":{"position":[[229,14]]},"609":{"position":[[84,14]]},"610":{"position":[[84,14]]},"611":{"position":[[417,14]]},"612":{"position":[[59,14]]},"613":{"position":[[86,14]]},"614":{"position":[[80,14]]},"615":{"position":[[88,14]]},"616":{"position":[[100,14]]},"617":{"position":[[103,14]]},"618":{"position":[[99,14]]},"619":{"position":[[367,14]]},"620":{"position":[[96,14]]},"621":{"position":[[94,14]]},"622":{"position":[[80,14]]},"623":{"position":[[69,14]]},"624":{"position":[[72,14]]},"625":{"position":[[68,14]]},"626":{"position":[[66,14],[793,14]]},"627":{"position":[[100,14],[846,14]]},"628":{"position":[[84,14],[818,14]]},"629":{"position":[[65,14]]},"630":{"position":[[90,14]]},"631":{"position":[[78,14]]},"633":{"position":[[112,14]]},"634":{"position":[[64,14]]},"635":{"position":[[308,14]]},"648":{"position":[[102,14]]},"649":{"position":[[763,14]]},"650":{"position":[[294,14],[1676,14]]},"652":{"position":[[166,14]]}},"keywords":{}}],["requiredtempl",{"_index":2424,"title":{},"content":{"243":{"position":[[272,16]]},"244":{"position":[[269,16]]},"292":{"position":[[118,16]]},"293":{"position":[[116,16]]}},"keywords":{}}],["requiredtext",{"_index":4668,"title":{},"content":{"604":{"position":[[158,12]]},"606":{"position":[[70,12]]},"642":{"position":[[242,12]]}},"keywords":{}}],["requiredtim",{"_index":2090,"title":{},"content":{"153":{"position":[[78,12]]},"155":{"position":[[70,12]]},"156":{"position":[[85,12]]},"158":{"position":[[72,12]]},"160":{"position":[[80,12]]},"162":{"position":[[72,12]]},"163":{"position":[[87,12]]},"165":{"position":[[74,12]]},"166":{"position":[[83,12]]},"167":{"position":[[81,12]]},"168":{"position":[[80,12]]},"169":{"position":[[80,12]]},"170":{"position":[[80,12]]},"171":{"position":[[68,12]]},"626":{"position":[[1667,12],[1795,12],[1920,12]]},"627":{"position":[[1720,12],[1848,12],[1973,12]]},"628":{"position":[[1692,12],[1820,12],[1945,12]]},"644":{"position":[[142,12]]}},"keywords":{}}],["requiredtitl",{"_index":4644,"title":{},"content":{"595":{"position":[[194,13]]},"597":{"position":[[152,13]]}},"keywords":{}}],["requiredtool",{"_index":2156,"title":{},"content":{"192":{"position":[[283,12]]}},"keywords":{}}],["requiredtop",{"_index":2142,"title":{},"content":{"183":{"position":[[310,13]]}},"keywords":{}}],["requiredtyp",{"_index":2052,"title":{},"content":{"139":{"position":[[391,12]]},"141":{"position":[[205,12]]},"174":{"position":[[325,12]]},"188":{"position":[[165,12]]}},"keywords":{}}],["requiredurl",{"_index":2161,"title":{},"content":{"194":{"position":[[142,11]]},"195":{"position":[[158,11]]},"602":{"position":[[71,11]]}},"keywords":{}}],["requiredvalu",{"_index":669,"title":{},"content":{"36":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"229":{"position":[[577,13],[2356,13],[2490,13],[2624,13]]},"279":{"position":[[572,13]]},"579":{"position":[[127,13]]},"612":{"position":[[1059,13]]},"619":{"position":[[991,13]]},"626":{"position":[[1509,13]]},"627":{"position":[[1562,13]]},"628":{"position":[[1534,13]]},"650":{"position":[[1323,13]]},"652":{"position":[[1239,13]]}},"keywords":{}}],["requiredvari",{"_index":2004,"title":{},"content":{"126":{"position":[[728,16]]}},"keywords":{}}],["requiredwidget",{"_index":2187,"title":{},"content":{"203":{"position":[[118,14]]},"580":{"position":[[82,14]]},"581":{"position":[[520,14]]},"592":{"position":[[377,14]]}},"keywords":{}}],["requiredwidth",{"_index":4597,"title":{},"content":{"577":{"position":[[215,13]]},"583":{"position":[[115,13]]},"607":{"position":[[70,13]]},"626":{"position":[[2013,13]]},"627":{"position":[[2066,13]]},"628":{"position":[[2038,13]]},"646":{"position":[[218,13]]}},"keywords":{}}],["requiredwindow",{"_index":2167,"title":{},"content":{"196":{"position":[[291,14]]}},"keywords":{}}],["requiredwrit",{"_index":1851,"title":{},"content":{"105":{"position":[[267,13]]},"111":{"position":[[229,13]]}},"keywords":{}}],["requiredx",{"_index":4810,"title":{},"content":{"647":{"position":[[51,9]]},"653":{"position":[[52,9]]}},"keywords":{}}],["requirements.txt",{"_index":2219,"title":{},"content":{"211":{"position":[[176,16]]},"301":{"position":[[1439,16]]}},"keywords":{}}],["research",{"_index":4027,"title":{},"content":{"424":{"position":[[745,8],[1538,8]]}},"keywords":{}}],["resend",{"_index":3141,"title":{},"content":{"348":{"position":[[2250,9],[2299,6]]}},"keywords":{}}],["reserv",{"_index":1087,"title":{},"content":{"48":{"position":[[1029,8],[1061,8]]},"200":{"position":[[95,8]]},"355":{"position":[[445,9],[472,11]]},"454":{"position":[[401,7]]}},"keywords":{}}],["reset",{"_index":1414,"title":{"70":{"position":[[0,6]]}},"content":{"69":{"position":[[382,7]]},"70":{"position":[[5,5],[29,5],[150,9],[280,5],[382,5]]},"71":{"position":[[37,5],[157,7],[305,5],[335,5]]},"72":{"position":[[40,5],[166,7],[320,5],[350,5]]},"219":{"position":[[495,5]]},"379":{"position":[[1731,5]]}},"keywords":{}}],["reset(self",{"_index":1426,"title":{},"content":{"70":{"position":[[331,12]]}},"keywords":{}}],["resid",{"_index":4176,"title":{},"content":{"473":{"position":[[776,8]]}},"keywords":{}}],["resiz",{"_index":4250,"title":{},"content":{"519":{"position":[[153,7]]}},"keywords":{}}],["resolut",{"_index":3116,"title":{},"content":{"344":{"position":[[805,10],[882,11]]}},"keywords":{}}],["resolv",{"_index":3243,"title":{},"content":{"358":{"position":[[822,10]]},"430":{"position":[[476,7]]},"569":{"position":[[415,7]]},"637":{"position":[[1160,8]]}},"keywords":{}}],["resourc",{"_index":2122,"title":{},"content":{"174":{"position":[[98,9]]},"330":{"position":[[335,9],[404,9]]},"355":{"position":[[457,8]]},"420":{"position":[[285,9]]},"422":{"position":[[1002,10]]}},"keywords":{}}],["respect",{"_index":2298,"title":{},"content":{"217":{"position":[[313,13]]},"348":{"position":[[1865,7]]},"612":{"position":[[700,10]]}},"keywords":{}}],["respond",{"_index":1692,"title":{},"content":{"85":{"position":[[159,9]]},"303":{"position":[[1034,7]]},"422":{"position":[[452,8]]},"603":{"position":[[84,7]]}},"keywords":{}}],["respons",{"_index":1263,"title":{"245":{"position":[[0,9]]},"305":{"position":[[7,8]]}},"content":{"57":{"position":[[1126,8],[1152,8]]},"61":{"position":[[299,8],[966,8],[1109,8],[1564,8],[1823,8],[1880,9],[2534,8],[2583,8],[2617,8],[2689,8],[2797,9]]},"64":{"position":[[38,8],[79,8],[215,8],[229,8],[301,8],[413,9],[426,8],[512,8],[771,8],[801,8],[859,8]]},"67":{"position":[[2381,8],[5007,8]]},"77":{"position":[[196,8],[239,8]]},"81":{"position":[[537,9]]},"82":{"position":[[677,9],[6297,9]]},"83":{"position":[[310,9]]},"88":{"position":[[456,10],[565,9]]},"93":{"position":[[242,8]]},"102":{"position":[[15,11]]},"107":{"position":[[715,8]]},"112":{"position":[[587,8]]},"215":{"position":[[660,8]]},"216":{"position":[[281,8]]},"217":{"position":[[629,8],[688,9],[1247,8],[2335,8],[2463,8]]},"219":{"position":[[68,8]]},"245":{"position":[[57,8],[151,8],[209,8]]},"246":{"position":[[63,8],[163,8],[227,8]]},"279":{"position":[[10392,8],[10587,9],[10653,8]]},"303":{"position":[[1126,10]]},"305":{"position":[[79,9],[181,8],[429,8],[520,8],[741,8],[1110,9]]},"406":{"position":[[73,11]]},"424":{"position":[[332,16]]},"434":{"position":[[192,11]]},"540":{"position":[[1069,15]]},"664":{"position":[[433,9]]},"665":{"position":[[399,9]]}},"keywords":{}}],["rest",{"_index":1590,"title":{},"content":{"83":{"position":[[103,4]]}},"keywords":{}}],["restart",{"_index":518,"title":{},"content":{"23":{"position":[[284,8]]},"44":{"position":[[1577,7]]},"547":{"position":[[192,10],[863,7]]},"552":{"position":[[1531,7]]},"569":{"position":[[1130,7]]}},"keywords":{}}],["restor",{"_index":4251,"title":{},"content":{"519":{"position":[[217,8]]}},"keywords":{}}],["restrict",{"_index":2430,"title":{"250":{"position":[[0,11]]}},"content":{"250":{"position":[[38,10],[176,11]]},"387":{"position":[[1087,11]]},"429":{"position":[[329,10]]},"431":{"position":[[179,8],[476,11]]},"432":{"position":[[163,10]]},"513":{"position":[[750,10]]}},"keywords":{}}],["result",{"_index":207,"title":{},"content":{"6":{"position":[[243,6],[765,6]]},"7":{"position":[[784,6]]},"8":{"position":[[297,6]]},"9":{"position":[[320,6],[652,6]]},"36":{"position":[[10621,9]]},"51":{"position":[[100,7]]},"65":{"position":[[1025,6]]},"83":{"position":[[1747,6],[1798,7],[2052,7],[3539,7]]},"222":{"position":[[99,7]]},"238":{"position":[[142,6]]},"272":{"position":[[231,9]]},"320":{"position":[[1782,7]]},"340":{"position":[[344,9]]},"369":{"position":[[684,7]]},"402":{"position":[[5010,7]]},"447":{"position":[[87,6],[279,6],[299,6]]},"457":{"position":[[354,9]]},"528":{"position":[[528,8]]},"551":{"position":[[1144,6],[1616,6]]},"685":{"position":[[1088,9]]},"722":{"position":[[1454,7]]},"723":{"position":[[1221,7]]},"724":{"position":[[887,7]]},"725":{"position":[[768,7]]},"729":{"position":[[740,7]]},"740":{"position":[[359,6],[418,6],[680,6]]}},"keywords":{}}],["result.key",{"_index":5406,"title":{},"content":{"740":{"position":[[552,11]]}},"keywords":{}}],["result['default",{"_index":5407,"title":{},"content":{"740":{"position":[[596,17]]}},"keywords":{}}],["results"",{"_index":2284,"title":{},"content":{"216":{"position":[[314,13]]},"217":{"position":[[2496,13]]}},"keywords":{}}],["resum",{"_index":3028,"title":{},"content":{"330":{"position":[[1194,6]]},"349":{"position":[[2428,7]]},"517":{"position":[[358,7]]},"522":{"position":[[26,6]]},"547":{"position":[[1279,6]]}},"keywords":{}}],["retain",{"_index":4075,"title":{},"content":{"430":{"position":[[4,6],[147,6],[396,6],[631,6]]}},"keywords":{}}],["retent",{"_index":4074,"title":{"430":{"position":[[3,9]]}},"content":{},"keywords":{}}],["retri",{"_index":1930,"title":{},"content":{"112":{"position":[[515,7],[523,7]]},"349":{"position":[[487,5]]},"530":{"position":[[432,5],[546,7]]},"569":{"position":[[222,5],[289,8],[314,5]]},"658":{"position":[[675,5]]}},"keywords":{}}],["retriev",{"_index":757,"title":{"663":{"position":[[0,10]]}},"content":{"36":{"position":[[4878,8],[8875,8]]},"141":{"position":[[366,8]]},"188":{"position":[[326,8]]},"229":{"position":[[4878,8],[8875,8]]},"563":{"position":[[148,8]]},"659":{"position":[[60,9]]},"704":{"position":[[153,9]]},"716":{"position":[[121,8]]},"770":{"position":[[70,8]]},"802":{"position":[[149,8]]},"813":{"position":[[176,8]]}},"keywords":{}}],["return",{"_index":775,"title":{},"content":{"36":{"position":[[5694,6],[6050,6],[8316,6],[9279,6],[9468,6]]},"43":{"position":[[939,8]]},"44":{"position":[[1380,7]]},"50":{"position":[[613,9]]},"53":{"position":[[82,9],[124,7],[950,8]]},"54":{"position":[[274,8],[1348,9]]},"55":{"position":[[2248,9]]},"56":{"position":[[195,7],[808,9],[1250,9]]},"60":{"position":[[753,9]]},"61":{"position":[[1980,9],[2422,9]]},"62":{"position":[[536,9]]},"67":{"position":[[2366,6],[2510,6],[2946,7],[3279,6],[3497,8],[4015,6],[4094,7],[4572,6],[4633,8]]},"69":{"position":[[232,8]]},"73":{"position":[[178,6],[237,7],[383,8],[482,8],[818,6],[897,6],[1187,6],[1289,6],[1322,6],[1395,6],[1632,6],[1812,6]]},"74":{"position":[[95,8],[203,6],[261,7],[339,9],[416,8],[508,8],[837,6],[923,6],[966,7]]},"75":{"position":[[202,6],[260,7],[432,8],[524,8],[699,6],[786,6],[829,7]]},"76":{"position":[[201,6],[260,7],[431,8],[521,8],[692,6],[785,6],[835,7]]},"77":{"position":[[405,6],[476,7],[562,8],[698,8],[913,7],[994,6],[1113,6],[1171,7]]},"78":{"position":[[303,6],[451,6]]},"92":{"position":[[110,7],[187,7],[264,7],[348,7]]},"115":{"position":[[257,6],[338,6],[705,6]]},"216":{"position":[[395,8]]},"217":{"position":[[1110,6],[2385,7],[2577,8]]},"229":{"position":[[5694,6],[6050,6],[8316,6],[9279,6],[9468,6]]},"251":{"position":[[1116,6],[1220,6],[1337,6],[1893,6],[2008,6],[2145,6]]},"275":{"position":[[802,7],[885,7],[1070,7],[1213,7]]},"279":{"position":[[4174,6],[4530,6],[6975,6],[7562,6],[7729,6]]},"320":{"position":[[359,6]]},"347":{"position":[[644,7]]},"402":{"position":[[4837,8],[4926,8],[5000,9],[5067,6],[5250,9]]},"509":{"position":[[205,9]]},"551":{"position":[[1475,6]]},"563":{"position":[[826,8],[1158,8]]},"592":{"position":[[263,7]]},"637":{"position":[[1133,7]]},"659":{"position":[[409,6]]},"664":{"position":[[208,9]]},"665":{"position":[[66,8],[167,9]]},"668":{"position":[[179,9]]},"669":{"position":[[1,6]]},"673":{"position":[[152,9]]},"687":{"position":[[1,7],[82,8]]},"688":{"position":[[1,7]]},"689":{"position":[[1,7]]},"690":{"position":[[1,7]]},"691":{"position":[[1,7]]},"692":{"position":[[1,7]]},"693":{"position":[[1,7]]},"694":{"position":[[1,7],[302,8],[421,8]]},"695":{"position":[[1,7]]},"702":{"position":[[1,7]]},"703":{"position":[[1,7],[105,8]]},"704":{"position":[[1,7]]},"705":{"position":[[1,7]]},"706":{"position":[[1,7]]},"707":{"position":[[1,7]]},"708":{"position":[[1,7]]},"709":{"position":[[1,7]]},"712":{"position":[[646,6],[845,6]]},"714":{"position":[[1,7],[89,7]]},"716":{"position":[[95,8]]},"717":{"position":[[201,8],[381,6]]},"722":{"position":[[398,7],[465,7],[580,7]]},"723":{"position":[[278,7]]},"724":{"position":[[363,7]]},"725":{"position":[[253,7]]},"726":{"position":[[209,7]]},"727":{"position":[[191,7]]},"728":{"position":[[305,7]]},"729":{"position":[[141,7]]},"731":{"position":[[28,7]]},"736":{"position":[[1,7]]},"738":{"position":[[1,7]]},"739":{"position":[[1,7]]},"740":{"position":[[1,7]]},"742":{"position":[[1,7]]},"743":{"position":[[1,7],[57,7]]},"744":{"position":[[1,7],[42,8],[186,8],[345,7]]},"746":{"position":[[1,7]]},"747":{"position":[[1,7]]},"748":{"position":[[1,7],[45,6]]},"750":{"position":[[1,7]]},"751":{"position":[[1,7]]},"756":{"position":[[1,7],[47,6]]},"763":{"position":[[1,7]]},"764":{"position":[[1,7]]},"765":{"position":[[1,7],[44,6]]},"772":{"position":[[1,7],[158,6]]},"773":{"position":[[1,7]]},"774":{"position":[[1,7]]},"784":{"position":[[21,7]]},"785":{"position":[[27,7]]},"799":{"position":[[188,6]]},"801":{"position":[[1,7],[146,7]]},"802":{"position":[[1,7]]},"803":{"position":[[1,7]]},"807":{"position":[[1,6]]},"808":{"position":[[1,6]]},"809":{"position":[[1,6],[48,7],[296,6]]},"814":{"position":[[163,8]]}},"keywords":{}}],["returned.writ",{"_index":1978,"title":{},"content":{"115":{"position":[[1711,14]]}},"keywords":{}}],["reus",{"_index":2769,"title":{},"content":{"302":{"position":[[1667,6]]},"358":{"position":[[8331,5]]},"563":{"position":[[811,5],[1143,5]]},"717":{"position":[[668,5],[1166,5]]}},"keywords":{}}],["reusabl",{"_index":1825,"title":{},"content":{"100":{"position":[[448,8]]},"358":{"position":[[8290,11]]},"549":{"position":[[264,8]]},"564":{"position":[[132,8]]}},"keywords":{}}],["revalid",{"_index":1500,"title":{},"content":{"81":{"position":[[604,10]]},"82":{"position":[[6364,10]]}},"keywords":{}}],["revers",{"_index":1357,"title":{},"content":{"65":{"position":[[1135,7]]},"67":{"position":[[3653,7],[3820,7]]},"221":{"position":[[282,7]]},"258":{"position":[[1460,7]]}},"keywords":{}}],["review",{"_index":4065,"title":{},"content":{"428":{"position":[[21,6],[134,6]]},"434":{"position":[[341,6]]},"540":{"position":[[263,7]]},"544":{"position":[[226,7]]}},"keywords":{}}],["rewrit",{"_index":4427,"title":{},"content":{"547":{"position":[[110,7]]}},"keywords":{}}],["rf",{"_index":3582,"title":{},"content":{"376":{"position":[[355,2]]},"546":{"position":[[1129,2]]}},"keywords":{}}],["rgb",{"_index":4622,"title":{},"content":{"587":{"position":[[247,3],[293,3],[338,3]]},"588":{"position":[[241,3],[287,3],[332,3]]},"589":{"position":[[252,3],[298,3],[343,3]]}},"keywords":{}}],["rhel",{"_index":2837,"title":{},"content":{"309":{"position":[[569,4],[583,4]]}},"keywords":{}}],["rhel8",{"_index":2853,"title":{},"content":{"309":{"position":[[1594,5]]}},"keywords":{}}],["rich",{"_index":2560,"title":{},"content":{"265":{"position":[[97,4]]}},"keywords":{}}],["right",{"_index":542,"title":{"431":{"position":[[21,7]]},"531":{"position":[[0,5]]}},"content":{"24":{"position":[[571,5]]},"43":{"position":[[651,5],[795,5]]},"83":{"position":[[554,5]]},"93":{"position":[[348,6]]},"216":{"position":[[604,5]]},"217":{"position":[[2725,5]]},"349":{"position":[[3763,5]]},"350":{"position":[[621,5],[791,5]]},"380":{"position":[[269,5]]},"389":{"position":[[1053,6],[1156,6],[1212,6]]},"392":{"position":[[277,5]]},"393":{"position":[[250,6]]},"407":{"position":[[468,6]]},"424":{"position":[[1710,6]]},"431":{"position":[[93,5],[170,5],[262,6],[294,6],[364,6],[392,5],[527,5]]},"432":{"position":[[1322,6]]},"452":{"position":[[405,5]]},"464":{"position":[[369,5]]},"487":{"position":[[260,5]]},"492":{"position":[[1,5]]},"505":{"position":[[251,5]]},"506":{"position":[[538,5]]},"524":{"position":[[289,5]]},"531":{"position":[[1,5]]},"569":{"position":[[1068,5]]},"612":{"position":[[519,5],[656,6],[673,7],[789,5]]}},"keywords":{}}],["rm",{"_index":1047,"title":{},"content":{"44":{"position":[[592,2]]},"376":{"position":[[351,2]]},"379":{"position":[[116,2]]}},"keywords":{}}],["roadmap",{"_index":1772,"title":{"94":{"position":[[0,7]]}},"content":{},"keywords":{}}],["robust",{"_index":1194,"title":{},"content":{"53":{"position":[[257,7]]}},"keywords":{}}],["roll",{"_index":3700,"title":{},"content":{"382":{"position":[[783,7]]}},"keywords":{}}],["rollup",{"_index":4735,"title":{"632":{"position":[[0,7]]}},"content":{"632":{"position":[[77,6],[435,6],[569,6],[657,6],[781,6]]}},"keywords":{}}],["room",{"_index":1067,"title":{},"content":{"48":{"position":[[52,4]]}},"keywords":{}}],["root",{"_index":409,"title":{},"content":{"20":{"position":[[307,6]]},"24":{"position":[[885,4]]},"309":{"position":[[316,4]]},"333":{"position":[[1230,4]]},"358":{"position":[[1726,4],[1885,4]]},"362":{"position":[[1313,4]]}},"keywords":{}}],["rootless",{"_index":2828,"title":{"309":{"position":[[20,8]]}},"content":{"309":{"position":[[644,8],[1322,8],[2411,8],[3790,8]]}},"keywords":{}}],["rootless_storage_path",{"_index":2850,"title":{},"content":{"309":{"position":[[1259,22]]}},"keywords":{}}],["rotat",{"_index":4416,"title":{},"content":{"545":{"position":[[396,6],[478,6],[511,6]]}},"keywords":{}}],["rout",{"_index":68,"title":{},"content":{"2":{"position":[[668,6]]},"100":{"position":[[976,5],[1053,6]]},"140":{"position":[[859,5]]},"147":{"position":[[26,5],[44,5],[148,5]]},"189":{"position":[[26,5],[44,5],[148,5]]},"258":{"position":[[1497,6]]},"314":{"position":[[326,5],[1568,5]]},"343":{"position":[[759,6]]}},"keywords":{}}],["route_prefix",{"_index":2079,"title":{"147":{"position":[[0,13]]},"189":{"position":[[0,13]]}},"content":{"147":{"position":[[243,12]]},"189":{"position":[[266,12]]}},"keywords":{}}],["router",{"_index":1829,"title":{"121":{"position":[[0,7]]},"149":{"position":[[0,7]]},"312":{"position":[[44,7]]},"410":{"position":[[0,8]]},"760":{"position":[[0,8]]}},"content":{"100":{"position":[[820,7],[870,7],[940,7]]},"103":{"position":[[172,6]]},"106":{"position":[[642,7]]},"117":{"position":[[318,7]]},"121":{"position":[[1,7]]},"140":{"position":[[787,6]]},"149":{"position":[[8,6],[104,6],[313,7],[439,6]]},"264":{"position":[[241,6]]},"307":{"position":[[945,7]]},"312":{"position":[[110,6]]},"314":{"position":[[156,7],[309,6],[1456,6],[1855,6]]},"345":{"position":[[249,8],[283,6]]},"346":{"position":[[1181,8],[1199,7],[1302,8],[1358,7]]},"410":{"position":[[5,7],[31,7],[108,6]]},"760":{"position":[[51,8]]},"761":{"position":[[19,7],[184,7],[192,6],[244,7],[279,6]]},"762":{"position":[[22,7],[152,7]]},"763":{"position":[[23,7]]},"764":{"position":[[11,6],[48,6],[218,7],[251,6]]},"765":{"position":[[31,8],[112,6],[995,6]]},"766":{"position":[[42,8],[228,6],[308,7]]},"767":{"position":[[41,8],[226,6],[305,7]]},"768":{"position":[[30,7],[80,7],[123,6],[339,6]]},"769":{"position":[[31,6],[381,6]]}},"keywords":{}}],["router[0",{"_index":5598,"title":{},"content":{"765":{"position":[[1039,12]]}},"keywords":{}}],["router[1",{"_index":5599,"title":{},"content":{"765":{"position":[[1070,12]]}},"keywords":{}}],["router[2]}"",{"_index":5600,"title":{},"content":{"765":{"position":[[1106,18]]}},"keywords":{}}],["router[3",{"_index":5601,"title":{},"content":{"765":{"position":[[1159,12]]}},"keywords":{}}],["router[4",{"_index":5602,"title":{},"content":{"765":{"position":[[1192,12]]}},"keywords":{}}],["router[5",{"_index":5603,"title":{},"content":{"765":{"position":[[1224,12]]}},"keywords":{}}],["router[6]}"",{"_index":5604,"title":{},"content":{"765":{"position":[[1253,18]]}},"keywords":{}}],["router[7",{"_index":5606,"title":{},"content":{"765":{"position":[[1303,12]]}},"keywords":{}}],["router[8]}"",{"_index":5607,"title":{},"content":{"765":{"position":[[1330,18]]}},"keywords":{}}],["router_cmd",{"_index":5614,"title":{"768":{"position":[[0,11]]}},"content":{},"keywords":{}}],["router_cmd("<rout",{"_index":5615,"title":{},"content":{"768":{"position":[[174,27]]}},"keywords":{}}],["router_cmd("inst"",{"_index":5616,"title":{},"content":{"768":{"position":[[471,28]]}},"keywords":{}}],["router_info",{"_index":5591,"title":{},"content":{"765":{"position":[[309,11],[846,11],[1005,12]]}},"keywords":{}}],["router_info.each",{"_index":5592,"title":{},"content":{"765":{"position":[[345,16]]}},"keywords":{}}],["router_int",{"_index":5584,"title":{},"content":{"763":{"position":[[133,14]]}},"keywords":{}}],["router_listen_address",{"_index":2924,"title":{},"content":{"314":{"position":[[1121,21],[1614,21]]}},"keywords":{}}],["router_nam",{"_index":5583,"title":{},"content":{"763":{"position":[[92,12]]},"765":{"position":[[365,13],[493,15],[884,12]]}},"keywords":{}}],["router_port",{"_index":2923,"title":{},"content":{"314":{"position":[[952,11],[1510,11],[1535,11]]}},"keywords":{}}],["router_protocol_cmd",{"_index":5617,"title":{"769":{"position":[[0,20]]}},"content":{},"keywords":{}}],["router_protocol_cmd("<rout",{"_index":5618,"title":{},"content":{"769":{"position":[[188,36]]}},"keywords":{}}],["router_protocol_cmd("inst"",{"_index":5619,"title":{},"content":{"769":{"position":[[785,37],[903,37]]}},"keywords":{}}],["router_st",{"_index":4925,"title":{},"content":{"662":{"position":[[3421,12]]}},"keywords":{}}],["routin",{"_index":4566,"title":{},"content":{"568":{"position":[[791,7]]}},"keywords":{}}],["row",{"_index":634,"title":{},"content":{"33":{"position":[[317,4],[333,3],[386,4],[785,4]]},"39":{"position":[[37,3],[87,4],[125,4],[142,4]]},"609":{"position":[[36,4],[372,3],[402,3]]},"610":{"position":[[36,4],[432,3],[456,3]]}},"keywords":{}}],["row_column",{"_index":635,"title":{},"content":{"33":{"position":[[354,10],[445,10],[694,10]]}},"keywords":{}}],["rpc",{"_index":1502,"title":{"86":{"position":[[5,3]]}},"content":{"81":{"position":[[665,3]]},"82":{"position":[[6406,3]]},"86":{"position":[[57,3]]}},"keywords":{}}],["rpc"",{"_index":1478,"title":{},"content":{"81":{"position":[[211,9]]},"82":{"position":[[4754,9]]}},"keywords":{}}],["rsa",{"_index":445,"title":{},"content":{"20":{"position":[[926,3]]},"27":{"position":[[829,3]]},"28":{"position":[[156,3]]}},"keywords":{}}],["rsa:4096",{"_index":411,"title":{},"content":{"20":{"position":[[335,8],[868,8]]}},"keywords":{}}],["rsp_packet",{"_index":1306,"title":{},"content":{"61":{"position":[[1041,10],[1151,11]]}},"keywords":{}}],["rsp_templat",{"_index":1305,"title":{},"content":{"61":{"position":[[1024,12],[1063,12]]}},"keywords":{}}],["rspec",{"_index":2212,"title":{},"content":{"210":{"position":[[107,5]]}},"keywords":{}}],["rtc",{"_index":1258,"title":{},"content":{"57":{"position":[[558,3],[679,3]]}},"keywords":{}}],["rtsct",{"_index":1914,"title":{},"content":{"111":{"position":[[1095,7],[1942,6]]},"140":{"position":[[382,6],[761,6]]},"314":{"position":[[788,6]]}},"keywords":{}}],["rubi",{"_index":192,"title":{"210":{"position":[[0,4]]},"269":{"position":[[0,4]]},"540":{"position":[[0,4]]},"566":{"position":[[42,4]]},"572":{"position":[[12,4]]}},"content":{"6":{"position":[[25,5],[62,4],[91,4],[181,4],[217,4],[478,4]]},"11":{"position":[[118,4],[228,4],[313,4],[342,5]]},"12":{"position":[[12,4],[32,4]]},"36":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8031,4],[9187,4]]},"42":{"position":[[209,5],[1559,4],[2797,4]]},"44":{"position":[[1485,4]]},"57":{"position":[[217,5],[372,4]]},"67":{"position":[[685,6],[991,4],[1705,4],[1795,4],[1862,4],[4610,4]]},"69":{"position":[[148,4]]},"70":{"position":[[254,4]]},"71":{"position":[[117,4]]},"72":{"position":[[123,4]]},"73":{"position":[[610,4]]},"74":{"position":[[791,4]]},"75":{"position":[[652,4]]},"76":{"position":[[649,4]]},"77":{"position":[[933,4]]},"78":{"position":[[194,4]]},"79":{"position":[[23,4]]},"89":{"position":[[70,5]]},"93":{"position":[[138,4],[265,4]]},"96":{"position":[[78,4]]},"104":{"position":[[833,4]]},"105":{"position":[[912,4]]},"106":{"position":[[876,4]]},"107":{"position":[[794,4]]},"108":{"position":[[519,4]]},"109":{"position":[[1297,4]]},"110":{"position":[[1631,4]]},"111":{"position":[[200,5],[1153,4]]},"112":{"position":[[137,5],[882,4]]},"113":{"position":[[141,5],[487,4]]},"114":{"position":[[102,5],[195,4]]},"117":{"position":[[518,4]]},"126":{"position":[[545,4],[671,4]]},"128":{"position":[[140,4],[670,4]]},"130":{"position":[[122,4]]},"131":{"position":[[164,4]]},"132":{"position":[[167,4]]},"139":{"position":[[549,4],[701,4]]},"145":{"position":[[213,4],[232,4]]},"149":{"position":[[460,4]]},"185":{"position":[[197,4],[252,4]]},"214":{"position":[[1116,4],[1171,5]]},"222":{"position":[[178,5]]},"223":{"position":[[174,5]]},"229":{"position":[[4077,4],[4222,6],[5070,4],[5401,4],[8031,4],[9187,4]]},"251":{"position":[[249,4],[546,4]]},"257":{"position":[[327,4]]},"269":{"position":[[58,4],[137,4],[196,5]]},"271":{"position":[[1782,6]]},"275":{"position":[[968,4],[1080,4],[1265,4]]},"279":{"position":[[3026,4],[3171,6],[3551,4],[3882,4],[6691,4],[7491,4],[10539,4],[10765,4]]},"288":{"position":[[192,4],[414,4]]},"301":{"position":[[1228,4]]},"302":{"position":[[255,4]]},"303":{"position":[[279,4],[1256,4]]},"304":{"position":[[311,4]]},"305":{"position":[[336,4]]},"313":{"position":[[17,4],[35,5],[99,4]]},"342":{"position":[[479,4],[693,4]]},"349":{"position":[[2104,4]]},"358":{"position":[[1275,4],[1331,4],[1406,7],[7417,5]]},"402":{"position":[[563,5]]},"412":{"position":[[32,4]]},"447":{"position":[[408,4],[681,4]]},"498":{"position":[[613,4]]},"528":{"position":[[61,4]]},"532":{"position":[[231,4]]},"533":{"position":[[339,4]]},"534":{"position":[[124,5]]},"535":{"position":[[955,5]]},"539":{"position":[[22,4],[59,4],[193,4]]},"540":{"position":[[63,4],[322,5],[345,4],[617,4],[679,5],[1821,4],[4652,4]]},"542":{"position":[[451,5]]},"543":{"position":[[1,4]]},"544":{"position":[[647,5],[1325,5]]},"545":{"position":[[219,4]]},"547":{"position":[[601,5]]},"549":{"position":[[517,5]]},"550":{"position":[[306,5]]},"551":{"position":[[754,5]]},"552":{"position":[[1144,4],[2242,5]]},"557":{"position":[[99,4],[123,4],[197,4],[334,4]]},"559":{"position":[[435,5]]},"560":{"position":[[429,4],[581,4]]},"561":{"position":[[305,5]]},"563":{"position":[[535,5]]},"564":{"position":[[321,5]]},"565":{"position":[[597,5]]},"566":{"position":[[481,4]]},"571":{"position":[[244,4]]},"572":{"position":[[12,4],[235,4]]},"657":{"position":[[46,4],[62,4]]},"664":{"position":[[219,4],[653,4]]},"665":{"position":[[178,4],[619,4]]},"668":{"position":[[190,4],[584,4]]},"669":{"position":[[57,4],[602,4]]},"670":{"position":[[40,4],[483,4]]},"671":{"position":[[40,4],[380,4]]},"673":{"position":[[449,4],[1303,4],[1454,4]]},"675":{"position":[[75,4],[199,4]]},"677":{"position":[[29,4],[1279,4],[1359,4]]},"678":{"position":[[191,4],[1501,4]]},"679":{"position":[[196,4],[1522,4]]},"680":{"position":[[265,4],[1555,4]]},"681":{"position":[[57,4],[1355,4]]},"682":{"position":[[214,4],[1572,4]]},"683":{"position":[[219,4],[1593,4]]},"684":{"position":[[288,4],[1626,4]]},"685":{"position":[[33,4],[402,4]]},"686":{"position":[[34,4],[198,4],[228,4]]},"687":{"position":[[161,4],[286,4]]},"688":{"position":[[65,4],[194,4]]},"689":{"position":[[67,4],[313,4]]},"690":{"position":[[48,4],[399,4]]},"691":{"position":[[82,4],[96,4],[394,4]]},"692":{"position":[[86,4],[460,4]]},"693":{"position":[[227,4],[622,4],[646,4]]},"694":{"position":[[52,4],[431,4]]},"695":{"position":[[65,4],[323,4]]},"697":{"position":[[327,4],[795,4],[1053,4]]},"698":{"position":[[246,4],[708,5],[738,4]]},"699":{"position":[[473,5],[905,4],[1039,4]]},"700":{"position":[[126,4],[377,4]]},"701":{"position":[[48,4],[516,5],[547,4]]},"702":{"position":[[79,4],[377,4]]},"703":{"position":[[203,4],[583,5],[614,4]]},"704":{"position":[[247,4],[443,4]]},"705":{"position":[[48,4],[172,4]]},"706":{"position":[[47,4],[176,4]]},"707":{"position":[[25,4],[271,4]]},"708":{"position":[[24,4],[349,4]]},"709":{"position":[[78,4],[342,4]]},"710":{"position":[[366,4],[642,5],[672,4]]},"711":{"position":[[76,4],[527,5],[557,4]]},"712":{"position":[[228,4],[521,5],[551,4]]},"713":{"position":[[79,4],[339,5],[369,4]]},"714":{"position":[[202,4],[243,4]]},"716":{"position":[[141,4],[307,4]]},"717":{"position":[[52,4],[413,4]]},"718":{"position":[[47,4],[255,4]]},"719":{"position":[[59,4],[275,4]]},"720":{"position":[[55,4],[289,4]]},"722":{"position":[[351,4],[555,4],[1372,5],[1481,4]]},"723":{"position":[[255,4],[1139,5],[1248,4]]},"724":{"position":[[589,4],[914,4]]},"725":{"position":[[228,4],[795,4]]},"726":{"position":[[184,4],[984,5],[1015,4]]},"727":{"position":[[166,4],[1035,5],[1066,4]]},"728":{"position":[[280,4],[517,4],[761,4]]},"729":{"position":[[116,4],[767,4]]},"731":{"position":[[110,4],[495,4]]},"732":{"position":[[62,4],[350,4]]},"733":{"position":[[63,4],[352,4]]},"734":{"position":[[85,4],[235,4]]},"735":{"position":[[86,4],[237,4]]},"736":{"position":[[51,4]]},"737":{"position":[[66,4],[205,4]]},"738":{"position":[[81,4]]},"739":{"position":[[49,4]]},"740":{"position":[[72,4],[344,4]]},"741":{"position":[[214,4],[1956,4]]},"742":{"position":[[132,4]]},"743":{"position":[[95,4],[346,4]]},"744":{"position":[[86,4],[369,4]]},"746":{"position":[[59,4]]},"747":{"position":[[73,4],[187,4]]},"750":{"position":[[111,4],[246,4]]},"751":{"position":[[62,4]]},"752":{"position":[[58,4],[415,4]]},"753":{"position":[[63,4],[205,4]]},"754":{"position":[[92,4],[392,4]]},"755":{"position":[[91,4],[388,4]]},"756":{"position":[[291,4]]},"757":{"position":[[105,4],[632,4]]},"758":{"position":[[161,4],[469,4]]},"759":{"position":[[168,4],[591,5],[766,4]]},"761":{"position":[[28,4],[361,4]]},"762":{"position":[[31,4],[161,4]]},"763":{"position":[[59,4]]},"764":{"position":[[104,4],[227,4]]},"765":{"position":[[285,4]]},"766":{"position":[[89,4],[374,4]]},"767":{"position":[[88,4],[370,4]]},"768":{"position":[[151,4],[447,4]]},"769":{"position":[[165,4],[595,5],[770,4]]},"770":{"position":[[135,5]]},"771":{"position":[[21,4],[194,4]]},"772":{"position":[[36,4],[166,4]]},"773":{"position":[[34,4],[61,4]]},"774":{"position":[[30,4]]},"775":{"position":[[56,4],[189,4]]},"777":{"position":[[385,4]]},"778":{"position":[[308,4],[374,4],[728,4]]},"780":{"position":[[54,4],[475,4]]},"781":{"position":[[35,4],[254,4]]},"782":{"position":[[27,4]]},"783":{"position":[[47,4],[267,4]]},"784":{"position":[[69,4]]},"785":{"position":[[307,4]]},"786":{"position":[[160,4],[454,4]]},"787":{"position":[[229,4],[914,4]]},"789":{"position":[[52,4],[245,4]]},"790":{"position":[[72,4]]},"791":{"position":[[136,4],[278,4]]},"792":{"position":[[135,4]]},"793":{"position":[[496,4]]},"795":{"position":[[491,4],[790,4],[948,4],[1051,4]]},"797":{"position":[[87,4]]},"798":{"position":[[78,4]]},"799":{"position":[[283,4]]},"801":{"position":[[51,4],[171,4]]},"802":{"position":[[43,4],[198,4]]},"803":{"position":[[43,4],[356,4]]},"804":{"position":[[43,4],[373,4]]},"805":{"position":[[76,4]]},"807":{"position":[[105,4]]},"808":{"position":[[66,4]]},"809":{"position":[[60,6],[116,4],[304,4]]},"810":{"position":[[156,4],[338,4]]},"812":{"position":[[97,4]]},"813":{"position":[[68,4],[211,4]]},"814":{"position":[[216,4],[394,4]]},"815":{"position":[[40,4],[289,4]]},"816":{"position":[[42,4],[295,4]]}},"keywords":{}}],["rubygem",{"_index":959,"title":{},"content":{"42":{"position":[[1689,9]]},"301":{"position":[[1035,8]]},"326":{"position":[[605,7]]},"359":{"position":[[139,7],[1953,7]]},"412":{"position":[[222,8]]}},"keywords":{}}],["rubygems.org"",{"_index":2310,"title":{},"content":{"217":{"position":[[1368,18]]}},"keywords":{}}],["rubygems_url",{"_index":963,"title":{},"content":{"42":{"position":[[1783,13]]},"807":{"position":[[322,15]]},"808":{"position":[[1105,15],[1130,15]]},"809":{"position":[[408,15],[592,16]]}},"keywords":{}}],["rubygems_url=https://rubygems.org",{"_index":969,"title":{},"content":{"42":{"position":[[1893,33]]}},"keywords":{}}],["rule",{"_index":2970,"title":{},"content":{"321":{"position":[[185,5],[989,4]]},"364":{"position":[[173,5]]},"367":{"position":[[345,4]]},"368":{"position":[[550,4]]},"418":{"position":[[92,6]]}},"keywords":{}}],["rule_fil",{"_index":3361,"title":{},"content":{"364":{"position":[[436,11]]}},"keywords":{}}],["run",{"_index":225,"title":{"43":{"position":[[0,7]]},"44":{"position":[[0,7]]},"313":{"position":[[22,7]]},"333":{"position":[[0,4]]},"377":{"position":[[10,3]]},"395":{"position":[[0,7]]},"404":{"position":[[7,7]]},"530":{"position":[[0,7]]},"532":{"position":[[0,7]]}},"content":{"6":{"position":[[650,5]]},"11":{"position":[[208,4]]},"20":{"position":[[269,4]]},"23":{"position":[[346,3]]},"27":{"position":[[211,3],[640,3],[766,3]]},"28":{"position":[[90,3]]},"36":{"position":[[4582,4],[4665,4],[4727,3],[8579,4],[8662,4],[8724,3]]},"42":{"position":[[394,3],[2002,7],[2018,7],[2197,3],[2263,7],[3114,8]]},"43":{"position":[[36,7],[361,7],[557,3],[565,3]]},"44":{"position":[[154,3],[537,3],[616,3],[877,3]]},"67":{"position":[[3166,3],[3642,3]]},"71":{"position":[[350,4]]},"72":{"position":[[365,4]]},"83":{"position":[[26,3],[163,3],[332,3],[431,7],[1986,4],[2620,3],[3295,7]]},"117":{"position":[[432,3]]},"122":{"position":[[144,7]]},"123":{"position":[[30,7],[56,4]]},"126":{"position":[[667,3]]},"143":{"position":[[65,3],[213,4],[284,3],[432,4]]},"145":{"position":[[43,3],[94,3],[185,3]]},"146":{"position":[[60,3]]},"148":{"position":[[34,3],[93,7]]},"171":{"position":[[20,3],[107,4]]},"177":{"position":[[34,3],[93,7]]},"181":{"position":[[49,3],[197,4],[268,3],[416,4]]},"185":{"position":[[28,3],[78,3],[169,3]]},"187":{"position":[[44,3]]},"191":{"position":[[34,3],[93,7]]},"192":{"position":[[206,7]]},"209":{"position":[[131,3],[208,3],[397,3]]},"210":{"position":[[35,3]]},"211":{"position":[[42,3],[225,3]]},"229":{"position":[[4582,4],[4665,4],[4727,3],[8579,4],[8662,4],[8724,3]]},"255":{"position":[[69,3]]},"258":{"position":[[128,4],[369,4],[488,4],[921,4]]},"259":{"position":[[54,7],[317,3]]},"263":{"position":[[478,3]]},"301":{"position":[[1287,7]]},"303":{"position":[[850,3],[938,3]]},"307":{"position":[[427,7]]},"309":{"position":[[70,7],[302,3],[498,7],[3860,3],[3883,3],[3922,7]]},"310":{"position":[[728,3],[761,3]]},"313":{"position":[[187,7],[285,3]]},"314":{"position":[[13,3],[403,7],[2073,7]]},"315":{"position":[[128,4],[360,4]]},"317":{"position":[[252,7]]},"320":{"position":[[696,3],[737,3],[768,3]]},"323":{"position":[[158,4]]},"324":{"position":[[239,3],[328,7]]},"328":{"position":[[174,7]]},"333":{"position":[[342,3],[357,3],[387,3],[570,7],[628,8],[664,3],[724,3],[847,7],[883,7],[939,3],[982,3],[1111,4],[1129,3],[1205,3],[1325,7],[1404,4],[1409,3]]},"340":{"position":[[100,3],[241,7],[359,7]]},"344":{"position":[[118,7],[910,3]]},"349":{"position":[[1238,3],[4516,4]]},"358":{"position":[[1715,3],[1744,4],[1845,7],[1874,3],[1915,3],[1936,7],[2391,3]]},"359":{"position":[[2827,3]]},"362":{"position":[[1318,3]]},"363":{"position":[[529,3]]},"364":{"position":[[168,4]]},"367":{"position":[[12,3]]},"368":{"position":[[429,7]]},"369":{"position":[[668,3],[918,7],[1018,3],[2509,3],[3562,7],[3637,3]]},"373":{"position":[[338,3],[360,3]]},"374":{"position":[[4,3]]},"376":{"position":[[227,3],[401,3],[552,3],[566,3],[575,3]]},"377":{"position":[[123,3]]},"380":{"position":[[392,7],[1103,8],[1812,7]]},"382":{"position":[[160,3],[403,3],[467,3]]},"383":{"position":[[1035,3]]},"385":{"position":[[4,3],[119,3],[196,3]]},"386":{"position":[[341,7]]},"402":{"position":[[1873,3],[1992,4]]},"404":{"position":[[71,4],[98,4],[129,3],[178,8],[2563,3],[2701,7]]},"422":{"position":[[102,7],[642,3],[908,7],[1108,4],[1152,3],[1263,3],[1365,4],[1523,3]]},"454":{"position":[[87,3],[108,3]]},"455":{"position":[[272,3],[1039,4],[1461,3],[1624,3]]},"497":{"position":[[403,3]]},"526":{"position":[[294,3]]},"529":{"position":[[359,7],[414,7]]},"530":{"position":[[1,7]]},"531":{"position":[[219,3],[380,4]]},"533":{"position":[[46,3],[210,4],[946,4]]},"534":{"position":[[812,3],[912,3],[981,3]]},"535":{"position":[[76,7]]},"540":{"position":[[3871,3]]},"546":{"position":[[36,3],[638,7],[1235,7]]},"547":{"position":[[373,7]]},"552":{"position":[[545,4],[2219,7],[2540,7]]},"554":{"position":[[464,7]]},"556":{"position":[[703,3]]},"557":{"position":[[233,3]]},"560":{"position":[[84,3],[979,7]]},"566":{"position":[[746,7]]},"569":{"position":[[544,4],[709,7],[862,4],[1023,3]]},"637":{"position":[[1837,4],[2064,4]]},"658":{"position":[[82,7],[850,8]]},"681":{"position":[[35,7]]},"682":{"position":[[35,7]]},"683":{"position":[[35,7]]},"684":{"position":[[35,7]]},"770":{"position":[[261,4]]},"778":{"position":[[112,3]]},"794":{"position":[[114,7]]},"798":{"position":[[26,3],[58,3]]},"799":{"position":[[232,7]]}},"keywords":{}}],["run_count",{"_index":5633,"title":{},"content":{"773":{"position":[[104,12],[196,13]]},"774":{"position":[[83,13]]}},"keywords":{}}],["run_method",{"_index":4559,"title":{},"content":{"566":{"position":[[535,12],[854,12]]}},"keywords":{}}],["run_mod",{"_index":5725,"title":{"798":{"position":[[0,9]]}},"content":{"798":{"position":[[111,10]]}},"keywords":{}}],["run_opts=$(<<<"$run_opts"",{"_index":1654,"title":{},"content":{"83":{"position":[[2865,44]]}},"keywords":{}}],["run_opts=$(cat",{"_index":1645,"title":{},"content":{"83":{"position":[[2633,14]]}},"keywords":{}}],["runner",{"_index":353,"title":{"83":{"position":[[6,6]]},"349":{"position":[[7,7]]},"525":{"position":[[7,6]]},"527":{"position":[[7,6]]},"546":{"position":[[7,7]]},"658":{"position":[[13,7]]},"660":{"position":[[7,6]]},"788":{"position":[[7,6]]},"794":{"position":[[7,6]]},"796":{"position":[[7,6]]}},"content":{"13":{"position":[[263,6]]},"36":{"position":[[2011,6]]},"42":{"position":[[1056,6],[2168,6],[2524,6],[2624,6]]},"43":{"position":[[1137,6]]},"44":{"position":[[62,6],[662,6]]},"83":{"position":[[3191,6]]},"229":{"position":[[2011,6]]},"237":{"position":[[131,6]]},"258":{"position":[[1085,6]]},"269":{"position":[[27,6]]},"290":{"position":[[200,6]]},"297":{"position":[[346,7],[431,7]]},"324":{"position":[[180,6],[741,6]]},"340":{"position":[[268,6],[333,6],[483,6]]},"349":{"position":[[8,6],[560,6],[752,6],[1346,6],[1422,6],[1685,6],[1864,6],[2083,6],[2177,6],[2317,6],[2448,6],[2545,6],[2727,6],[2835,6],[3006,6],[3125,6],[3295,6],[3515,6],[3655,6],[3802,6],[3966,6],[4064,6],[4163,6],[4277,6],[4549,6],[4661,6],[4823,6],[4970,6],[5083,6],[5196,6],[5307,6],[5473,6],[5639,6],[5778,6],[5924,6],[6091,6],[6239,6],[6369,6],[6531,6],[6744,6]]},"364":{"position":[[924,6],[1029,6]]},"369":{"position":[[1481,6],[2971,6]]},"497":{"position":[[493,6]]},"526":{"position":[[8,6],[138,6],[256,6]]},"531":{"position":[[140,6],[485,6]]},"532":{"position":[[69,6]]},"538":{"position":[[369,6]]},"540":{"position":[[3788,6]]},"546":{"position":[[83,6],[324,6],[567,6],[1217,6]]},"552":{"position":[[585,6],[1546,6]]},"554":{"position":[[8,6],[823,6]]},"555":{"position":[[60,6]]},"556":{"position":[[40,6]]},"557":{"position":[[8,6]]},"561":{"position":[[15,6],[284,6]]},"569":{"position":[[256,6]]},"637":{"position":[[1438,6]]},"658":{"position":[[8,6],[140,6]]},"660":{"position":[[57,6]]},"661":{"position":[[262,6],[295,6]]},"662":{"position":[[382,6],[1172,6],[1239,6],[2876,6],[2915,6],[3346,6],[3514,6],[3671,6],[3744,6],[3827,6],[3864,6],[3917,6],[3977,6],[4816,6],[5073,6],[5140,6],[5217,6],[5304,6]]},"710":{"position":[[248,6]]},"788":{"position":[[56,6]]},"789":{"position":[[43,7],[160,6]]},"790":{"position":[[44,6]]},"791":{"position":[[72,6]]},"792":{"position":[[71,6]]},"794":{"position":[[17,6]]},"810":{"position":[[114,7]]}},"keywords":{}}],["runningscript.manu",{"_index":4323,"title":{},"content":{"535":{"position":[[1026,20]]},"560":{"position":[[437,20],[782,21],[882,21]]}},"keywords":{}}],["runscript",{"_index":4764,"title":{},"content":{"637":{"position":[[1303,11],[1323,11]]}},"keywords":{}}],["runscript("inst/procedures/checks.rb"",{"_index":4770,"title":{},"content":{"637":{"position":[[1850,50]]}},"keywords":{}}],["runscript('inst/procedures/script.rb",{"_index":4766,"title":{},"content":{"637":{"position":[[1513,38]]}},"keywords":{}}],["runtim",{"_index":1465,"title":{},"content":{"78":{"position":[[124,8]]},"81":{"position":[[788,8]]},"82":{"position":[[6529,8]]},"127":{"position":[[151,7]]},"255":{"position":[[350,7]]},"258":{"position":[[583,7]]},"260":{"position":[[105,8]]},"407":{"position":[[208,8]]}},"keywords":{}}],["runtimeerror(f"us",{"_index":4509,"title":{},"content":{"559":{"position":[[834,24]]}},"keywords":{}}],["rw",{"_index":1895,"title":{},"content":{"109":{"position":[[1587,2]]},"110":{"position":[[1969,2]]}},"keywords":{}}],["rx_byte",{"_index":5536,"title":{},"content":{"756":{"position":[[460,9],[1019,9]]},"765":{"position":[[442,9],[960,9]]}},"keywords":{}}],["rx_bytes}"",{"_index":5541,"title":{},"content":{"756":{"position":[[744,17]]},"765":{"position":[[720,17]]}},"keywords":{}}],["rx_q_size",{"_index":5534,"title":{},"content":{"756":{"position":[[439,10],[682,13],[998,10]]},"765":{"position":[[421,10],[658,13],[939,10]]}},"keywords":{}}],["ryan",{"_index":3527,"title":{},"content":{"369":{"position":[[4109,4]]}},"keywords":{}}],["s",{"_index":1054,"title":{},"content":{"44":{"position":[[1339,1],[1370,1]]},"235":{"position":[[473,1]]},"252":{"position":[[524,1]]},"309":{"position":[[1921,1]]},"540":{"position":[[1387,1]]}},"keywords":{}}],["s3",{"_index":2520,"title":{},"content":{"258":{"position":[[1335,2]]},"268":{"position":[[30,2],[282,3]]},"439":{"position":[[297,2]]},"440":{"position":[[862,2]]}},"keywords":{}}],["s98ahprarwszc0mmhd5b_wixusmvw4xyw8eavfue4zfw",{"_index":1568,"title":{},"content":{"82":{"position":[[4406,44]]}},"keywords":{}}],["saa",{"_index":1812,"title":{},"content":{"97":{"position":[[51,4]]}},"keywords":{}}],["safari/537.36",{"_index":1617,"title":{},"content":{"83":{"position":[[1213,13]]}},"keywords":{}}],["safe",{"_index":2799,"title":{},"content":{"305":{"position":[[417,4]]},"312":{"position":[[191,6]]},"559":{"position":[[423,4]]}},"keywords":{}}],["safe_limits_response.rb",{"_index":2801,"title":{},"content":{"305":{"position":[[584,23],[1399,23]]}},"keywords":{}}],["safeguard",{"_index":4036,"title":{},"content":{"424":{"position":[[1696,9]]}},"keywords":{}}],["safest",{"_index":4073,"title":{},"content":{"429":{"position":[[613,6]]}},"keywords":{}}],["safeti",{"_index":735,"title":{},"content":{"36":{"position":[[3827,6]]},"229":{"position":[[3827,6]]},"279":{"position":[[9691,6],[10078,6]]},"303":{"position":[[980,6]]},"432":{"position":[[1460,6]]}},"keywords":{}}],["sale",{"_index":4083,"title":{},"content":{"430":{"position":[[738,5]]}},"keywords":{}}],["sales@openc3.com",{"_index":3823,"title":{},"content":{"393":{"position":[[1025,16],[1436,16]]}},"keywords":{}}],["same",{"_index":309,"title":{},"content":{"9":{"position":[[868,4]]},"17":{"position":[[63,4],[162,4]]},"18":{"position":[[66,4],[166,4]]},"31":{"position":[[551,4]]},"42":{"position":[[568,4]]},"52":{"position":[[284,4],[388,4]]},"55":{"position":[[731,4],[780,4],[797,4]]},"61":{"position":[[416,4]]},"67":{"position":[[3274,4],[4567,4]]},"77":{"position":[[423,4]]},"91":{"position":[[218,4],[302,5],[384,4]]},"93":{"position":[[105,4]]},"100":{"position":[[909,4]]},"104":{"position":[[336,4],[459,4]]},"105":{"position":[[324,4],[397,4]]},"126":{"position":[[407,4]]},"150":{"position":[[142,4],[222,4]]},"174":{"position":[[180,4]]},"272":{"position":[[367,4]]},"279":{"position":[[8860,4]]},"314":{"position":[[2088,4]]},"321":{"position":[[592,4]]},"323":{"position":[[643,4]]},"383":{"position":[[318,4]]},"389":{"position":[[755,4]]},"392":{"position":[[71,4]]},"467":{"position":[[751,4]]},"524":{"position":[[402,4]]},"534":{"position":[[710,4]]},"543":{"position":[[78,4]]},"547":{"position":[[61,4],[122,4]]},"562":{"position":[[53,4]]},"572":{"position":[[115,4]]},"659":{"position":[[658,4],[1008,4],[1125,4],[1315,4]]},"704":{"position":[[173,4]]},"793":{"position":[[293,4]]},"806":{"position":[[126,4]]}},"keywords":{}}],["sameorigin",{"_index":1547,"title":{},"content":{"82":{"position":[[1212,10]]}},"keywords":{}}],["sampl",{"_index":2553,"title":{"563":{"position":[[22,6]]}},"content":{"264":{"position":[[307,6]]},"364":{"position":[[148,7]]},"402":{"position":[[3315,7]]},"542":{"position":[[422,7]]},"563":{"position":[[256,6]]},"741":{"position":[[1659,7]]}},"keywords":{}}],["sat",{"_index":1511,"title":{},"content":{"81":{"position":[[812,4]]}},"keywords":{}}],["satellit",{"_index":27,"title":{},"content":{"1":{"position":[[282,11]]},"119":{"position":[[226,10]]},"369":{"position":[[4161,10]]},"632":{"position":[[442,9]]}},"keywords":{}}],["satur",{"_index":841,"title":{},"content":{"36":{"position":[[9968,10],[10419,8]]},"229":{"position":[[9968,10],[10419,8]]}},"keywords":{}}],["save",{"_index":849,"title":{},"content":{"36":{"position":[[10608,5]]},"42":{"position":[[2329,4]]},"83":{"position":[[1810,5]]},"324":{"position":[[397,4],[456,5]]},"331":{"position":[[353,4],[391,4],[841,4]]},"347":{"position":[[696,6],[722,4]]},"349":{"position":[[1535,5],[1545,4]]},"351":{"position":[[520,6]]},"352":{"position":[[731,6],[784,6],[1026,6],[1052,4],[1169,5]]},"353":{"position":[[651,6]]},"392":{"position":[[13,4]]},"416":{"position":[[93,5]]},"440":{"position":[[435,4]]},"455":{"position":[[1304,5]]},"457":{"position":[[312,4],[345,4]]},"461":{"position":[[11,5],[178,5],[354,4],[379,4],[433,5],[558,5]]},"472":{"position":[[77,5],[1009,5],[1185,4],[1210,4],[1264,5],[1389,5]]},"473":{"position":[[601,4]]},"478":{"position":[[11,5],[240,5],[416,4],[441,4],[495,5],[620,5]]},"489":{"position":[[48,5]]},"502":{"position":[[10,5],[177,5],[353,4],[378,4],[432,5],[557,5]]},"505":{"position":[[324,4],[332,4]]},"519":{"position":[[207,5]]},"521":{"position":[[10,5],[196,5],[372,4],[397,4],[451,5],[576,5]]},"522":{"position":[[420,5]]},"526":{"position":[[175,5]]},"528":{"position":[[545,4],[560,6],[608,4],[626,4]]},"626":{"position":[[1729,4],[1829,4]]},"627":{"position":[[1782,4],[1882,4]]},"628":{"position":[[1754,4],[1854,4]]},"658":{"position":[[267,4]]},"786":{"position":[[88,5]]},"787":{"position":[[102,5]]},"811":{"position":[[48,4],[120,4]]},"813":{"position":[[14,5]]},"815":{"position":[[1,4],[251,4]]}},"keywords":{}}],["save_config",{"_index":5817,"title":{"815":{"position":[[0,12]]}},"content":{},"keywords":{}}],["save_config(<tool",{"_index":5818,"title":{},"content":{"815":{"position":[[63,20]]}},"keywords":{}}],["save_config('telemetry_graph",{"_index":5820,"title":{},"content":{"815":{"position":[[313,32]]}},"keywords":{}}],["save_file_dialog",{"_index":4926,"title":{},"content":{"662":{"position":[[3490,16]]},"673":{"position":[[197,16],[249,16]]}},"keywords":{}}],["save_set",{"_index":4927,"title":{},"content":{"662":{"position":[[3532,12]]}},"keywords":{}}],["scaffold",{"_index":2736,"title":{},"content":{"301":{"position":[[34,11]]},"302":{"position":[[34,11]]},"303":{"position":[[40,11]]},"304":{"position":[[38,11]]},"305":{"position":[[43,11]]},"306":{"position":[[38,11]]},"307":{"position":[[32,11]]}},"keywords":{}}],["scale",{"_index":830,"title":{},"content":{"36":{"position":[[9330,5],[9517,5]]},"229":{"position":[[9330,5],[9517,5]]},"261":{"position":[[109,8]]},"267":{"position":[[558,7]]},"279":{"position":[[7613,5],[7778,5]]},"368":{"position":[[371,8]]},"369":{"position":[[4029,7],[4142,6]]},"420":{"position":[[102,6]]},"522":{"position":[[1151,6],[1214,5],[1366,7]]},"613":{"position":[[189,5]]},"627":{"position":[[40,5]]},"630":{"position":[[193,5]]}},"keywords":{}}],["scenario",{"_index":3152,"title":{"558":{"position":[[7,10]]}},"content":{"349":{"position":[[1036,10]]},"546":{"position":[[876,8]]}},"keywords":{}}],["scene",{"_index":3861,"title":{},"content":{"402":{"position":[[109,6]]},"552":{"position":[[108,6]]}},"keywords":{}}],["schedul",{"_index":3226,"title":{},"content":{"355":{"position":[[68,9],[252,10],[348,10]]},"454":{"position":[[1,9],[242,9]]},"455":{"position":[[159,9],[189,9],[294,9],[330,8],[626,8],[881,8],[922,8],[973,8],[1162,9]]},"513":{"position":[[482,9]]}},"keywords":{}}],["scheme",{"_index":500,"title":{},"content":{"22":{"position":[[432,7]]},"364":{"position":[[1114,7]]}},"keywords":{}}],["scid",{"_index":1281,"title":{},"content":{"59":{"position":[[378,4]]}},"keywords":{}}],["scientif",{"_index":4026,"title":{},"content":{"424":{"position":[[720,10],[1513,10]]}},"keywords":{}}],["scope",{"_index":1703,"title":{},"content":{"86":{"position":[[355,5]]},"147":{"position":[[188,7]]},"189":{"position":[[188,7]]},"346":{"position":[[104,6]]},"380":{"position":[[446,5]]},"402":{"position":[[1307,6],[1721,5],[2649,6],[3652,6]]},"440":{"position":[[131,6],[174,5]]},"513":{"position":[[197,5],[591,5]]}},"keywords":{}}],["scope__telemetry__targetname__packetnam",{"_index":3917,"title":{},"content":{"402":{"position":[[6100,41]]}},"keywords":{}}],["scoped>",{"_index":2955,"title":{},"content":{"320":{"position":[[426,10]]}},"keywords":{}}],["scpi",{"_index":1292,"title":{},"content":{"61":{"position":[[80,4],[332,4]]},"64":{"position":[[1298,4]]},"219":{"position":[[158,4]]}},"keywords":{}}],["scpi_p",{"_index":1320,"title":{},"content":{"64":{"position":[[651,7],[780,7],[885,7]]},"219":{"position":[[487,7],[686,7],[1271,7]]}},"keywords":{}}],["scrape",{"_index":3354,"title":{},"content":{"364":{"position":[[12,7],[140,7]]}},"keywords":{}}],["scrape_config",{"_index":3364,"title":{},"content":{"364":{"position":[[505,15]]}},"keywords":{}}],["scrape_interv",{"_index":3359,"title":{},"content":{"364":{"position":[[390,16]]}},"keywords":{}}],["screen",{"_index":1789,"title":{"248":{"position":[[0,7]]},"503":{"position":[[10,8]]},"504":{"position":[[4,7]]},"505":{"position":[[5,7]]},"506":{"position":[[0,6]]},"507":{"position":[[9,8]]},"573":{"position":[[0,7]]},"575":{"position":[[10,6]]},"577":{"position":[[0,7]]},"779":{"position":[[38,8]]}},"content":{"96":{"position":[[260,6]]},"203":{"position":[[86,8]]},"209":{"position":[[81,7]]},"248":{"position":[[45,6],[145,6],[157,6],[169,6],[202,6]]},"302":{"position":[[2251,7],[2313,6]]},"306":{"position":[[102,8],[590,7]]},"320":{"position":[[1553,6],[1597,6],[1755,6]]},"326":{"position":[[1325,7]]},"351":{"position":[[171,7],[362,8],[456,7],[542,7],[592,7]]},"369":{"position":[[429,7],[940,7]]},"440":{"position":[[627,6]]},"464":{"position":[[333,7]]},"501":{"position":[[73,8],[82,7]]},"503":{"position":[[89,7],[127,6],[159,6],[178,6]]},"504":{"position":[[14,6],[39,6],[57,7],[121,6],[145,7],[267,6],[348,7],[366,6],[401,6],[447,6]]},"505":{"position":[[50,6],[91,6],[198,6],[271,6],[341,6],[405,7]]},"506":{"position":[[5,7],[103,7],[190,7],[266,7],[460,6],[495,6],[575,6],[643,6],[675,8],[691,6],[788,7]]},"507":{"position":[[45,7],[78,6],[118,8]]},"519":{"position":[[133,6]]},"574":{"position":[[77,7],[184,6],[193,6],[310,6],[335,6],[417,7],[537,6]]},"575":{"position":[[11,6],[72,8],[113,6],[194,7],[202,6],[278,7],[338,6]]},"576":{"position":[[18,6],[313,6],[429,6]]},"577":{"position":[[27,6],[39,6],[92,6],[138,6],[176,6],[302,6],[395,6],[448,6],[485,6]]},"592":{"position":[[116,6],[181,7],[480,7]]},"593":{"position":[[60,7],[165,7]]},"594":{"position":[[52,6]]},"595":{"position":[[151,6]]},"599":{"position":[[105,6]]},"603":{"position":[[64,7]]},"604":{"position":[[22,6]]},"605":{"position":[[50,6]]},"606":{"position":[[40,6]]},"608":{"position":[[191,6]]},"632":{"position":[[501,6],[533,6],[713,6],[745,6]]},"633":{"position":[[368,6],[400,6]]},"637":{"position":[[958,7]]},"645":{"position":[[66,8]]},"649":{"position":[[422,6],[698,7],[720,6],[807,6],[831,6]]},"650":{"position":[[1141,6],[1611,7],[1633,6],[1720,6],[1744,6]]},"654":{"position":[[36,6]]},"779":{"position":[[72,7]]},"780":{"position":[[19,6],[265,6],[284,6],[296,6],[398,6],[467,6]]},"781":{"position":[[26,7],[182,6],[201,6],[213,6]]},"782":{"position":[[17,8]]},"783":{"position":[[38,7],[195,6],[214,6],[226,6]]},"784":{"position":[[59,8]]},"785":{"position":[[73,6],[235,6],[254,6],[266,6]]},"786":{"position":[[42,6],[78,6],[330,6],[349,6],[361,6],[423,6],[484,6],[629,6],[756,6],[901,6]]},"787":{"position":[[47,6],[132,6],[172,7],[417,6],[479,6],[571,6],[640,6],[759,6],[874,7],[944,6],[1091,6],[1227,6],[1391,6]]}},"keywords":{}}],["screen"",{"_index":5673,"title":{},"content":{"786":{"position":[[536,12],[808,12]]},"787":{"position":[[998,12],[1281,12]]}},"keywords":{}}],["screen.getnamedwidget("check").check",{"_index":4783,"title":{},"content":{"638":{"position":[[291,51]]}},"keywords":{}}],["screen.getnamedwidget("collect_type").text",{"_index":4786,"title":{},"content":{"639":{"position":[[344,56]]}},"keywords":{}}],["screen.getnamedwidget("date").text",{"_index":4790,"title":{},"content":{"640":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("duration").text",{"_index":4802,"title":{},"content":{"643":{"position":[[330,52]]}},"keywords":{}}],["screen.getnamedwidget("time").text",{"_index":4804,"title":{},"content":{"644":{"position":[[269,48]]}},"keywords":{}}],["screen.getnamedwidget("widget_name").text",{"_index":4754,"title":{},"content":{"637":{"position":[[288,53]]}},"keywords":{}}],["screen.getnamedwidget('bg').check",{"_index":4780,"title":{},"content":{"637":{"position":[[2309,39]]}},"keywords":{}}],["screen.getnamedwidget('check').check",{"_index":4845,"title":{},"content":{"654":{"position":[[1041,41]]}},"keywords":{}}],["screen.getnamedwidget('collect_type').text",{"_index":4839,"title":{},"content":{"654":{"position":[[544,49]]}},"keywords":{}}],["screen.getnamedwidget('duration').text())"",{"_index":4840,"title":{},"content":{"654":{"position":[[603,49]]}},"keywords":{}}],["screen_def",{"_index":5672,"title":{},"content":{"786":{"position":[[469,10],[710,11],[741,10],[982,11]]},"787":{"position":[[929,10],[1155,11],[1195,10],[1455,11]]}},"keywords":{}}],["screen_definit",{"_index":5666,"title":{},"content":{"785":{"position":[[331,17]]}},"keywords":{}}],["screenshot",{"_index":3982,"title":{},"content":{"407":{"position":[[231,10]]},"421":{"position":[[727,10]]}},"keywords":{}}],["script",{"_index":352,"title":{"324":{"position":[[8,8]]},"349":{"position":[[0,6]]},"525":{"position":[[0,6]]},"527":{"position":[[0,6]]},"529":{"position":[[0,6]]},"530":{"position":[[8,8]]},"531":{"position":[[12,7]]},"532":{"position":[[8,6]]},"535":{"position":[[0,6]]},"536":{"position":[[10,8]]},"537":{"position":[[0,6]]},"541":{"position":[[0,9]]},"542":{"position":[[14,6]]},"546":{"position":[[0,6]]},"548":{"position":[[0,6]]},"549":{"position":[[16,7]]},"550":{"position":[[9,7]]},"557":{"position":[[14,8]]},"566":{"position":[[7,9],[47,10]]},"571":{"position":[[9,6]]},"655":{"position":[[0,9]]},"658":{"position":[[6,6]]},"660":{"position":[[0,6]]},"788":{"position":[[0,6]]},"794":{"position":[[0,6]]},"796":{"position":[[0,6]]}},"content":{"13":{"position":[[256,6]]},"35":{"position":[[1093,7],[1624,7]]},"36":{"position":[[1966,7],[2004,6]]},"37":{"position":[[886,7],[1417,7]]},"42":{"position":[[552,7],[605,8],[648,7],[1049,6],[2161,6],[2517,6],[2617,6]]},"43":{"position":[[1129,7]]},"44":{"position":[[55,6],[655,6]]},"83":{"position":[[45,6],[446,6],[1466,6],[1562,6],[1619,6],[1677,6],[1843,6],[1995,7],[2500,6],[2624,6],[3067,6],[3184,6],[3276,6]]},"88":{"position":[[339,9],[379,9],[475,9]]},"122":{"position":[[152,8]]},"228":{"position":[[1122,7],[1653,7]]},"229":{"position":[[1966,7],[2004,6]]},"230":{"position":[[905,7],[1436,7]]},"231":{"position":[[1797,7]]},"232":{"position":[[1633,7]]},"237":{"position":[[124,6],[164,8],[231,8]]},"238":{"position":[[98,8]]},"258":{"position":[[1078,6],[1129,6]]},"261":{"position":[[420,7]]},"269":{"position":[[20,6]]},"271":{"position":[[1446,6]]},"290":{"position":[[193,6],[233,8],[315,8]]},"297":{"position":[[339,6],[424,6]]},"302":{"position":[[1935,9]]},"320":{"position":[[755,9]]},"324":{"position":[[146,6],[173,6],[248,6],[406,7],[476,6],[578,7],[647,6],[705,7],[734,6]]},"326":{"position":[[1313,7]]},"332":{"position":[[348,6]]},"333":{"position":[[103,7]]},"340":{"position":[[251,6],[261,6],[326,6],[371,7],[476,6],[500,6],[531,6],[578,7]]},"342":{"position":[[810,7]]},"345":{"position":[[71,8],[167,7],[208,8],[297,7],[338,8],[419,7],[858,7],[874,6]]},"349":{"position":[[1,6],[183,8],[199,6],[341,6],[425,7],[553,6],[637,9],[1339,6],[1401,8],[1415,6],[1454,7],[1678,6],[1857,6],[2008,6],[2076,6],[2122,8],[2157,7],[2170,6],[2236,7],[2288,6],[2310,6],[2357,7],[2395,6],[2441,6],[2489,7],[2519,6],[2538,6],[2577,6],[2626,6],[2697,6],[2720,6],[2769,6],[2828,6],[2927,6],[2999,6],[3045,6],[3118,6],[3170,6],[3200,6],[3288,6],[3358,6],[3508,6],[3607,6],[3648,6],[3795,6],[3834,6],[3921,6],[3959,6],[4024,6],[4057,6],[4120,6],[4156,6],[4196,6],[4227,6],[4256,7],[4270,6],[4342,7],[4415,6],[4455,6],[4542,6],[4607,8],[4623,6],[4654,6],[4704,6],[4802,7],[4816,6],[4907,6],[4963,6],[5076,6],[5189,6],[5300,6],[5466,6],[5632,6],[5771,6],[5855,6],[5917,6],[6013,6],[6084,6],[6170,6],[6232,6],[6302,6],[6362,6],[6457,6],[6524,6],[6642,6],[6737,6],[6854,6]]},"355":{"position":[[359,7],[394,6],[643,7],[683,6]]},"364":{"position":[[917,6],[1022,6]]},"368":{"position":[[422,6]]},"369":{"position":[[1474,6],[2964,6]]},"418":{"position":[[62,7]]},"422":{"position":[[112,7],[648,7],[700,7],[767,6],[836,7],[879,7],[949,6],[984,7]]},"449":{"position":[[153,7]]},"454":{"position":[[114,7]]},"468":{"position":[[508,7]]},"497":{"position":[[57,6],[429,7],[486,6],[551,7]]},"498":{"position":[[49,7],[136,6],[315,6]]},"499":{"position":[[51,7],[151,6],[334,6]]},"513":{"position":[[333,6],[430,6],[474,7]]},"526":{"position":[[1,6],[43,7],[71,8],[80,6],[131,6],[230,7],[249,6],[309,8],[328,8]]},"529":{"position":[[150,6],[209,6],[292,6],[367,8],[422,7],[476,7],[518,7],[550,6]]},"530":{"position":[[19,6],[117,6],[173,7],[209,6],[249,6],[676,6]]},"531":{"position":[[18,6],[133,6],[193,7],[478,6],[538,7]]},"532":{"position":[[6,6],[62,6],[128,6]]},"533":{"position":[[100,9],[199,7],[294,6]]},"534":{"position":[[835,7],[920,7],[969,6],[1001,7]]},"535":{"position":[[11,6],[84,7],[123,6],[206,7],[259,6],[414,6],[497,7],[554,6],[647,7],[764,6],[898,6],[1089,6],[1183,6],[1226,8]]},"536":{"position":[[73,6],[295,7]]},"538":{"position":[[61,9],[104,7],[222,7],[362,6]]},"539":{"position":[[50,8],[92,9]]},"540":{"position":[[111,8],[274,7],[1006,6],[1112,7],[3624,9],[3746,7],[3781,6]]},"542":{"position":[[13,7],[859,7]]},"544":{"position":[[25,7],[182,7],[568,6],[891,8],[938,7],[999,6]]},"546":{"position":[[40,7],[76,6],[106,6],[141,6],[160,6],[308,8],[317,6],[399,9],[494,7],[560,6],[646,8],[674,7],[712,7],[955,7],[979,7],[1052,7],[1142,7],[1210,6],[1295,7],[1490,6]]},"547":{"position":[[212,6],[363,6],[791,6],[1231,6],[1290,6]]},"548":{"position":[[5,7],[77,7],[158,8]]},"549":{"position":[[9,7],[240,6]]},"550":{"position":[[56,7],[159,6]]},"551":{"position":[[457,6],[709,7]]},"552":{"position":[[8,7],[236,6],[578,6],[1539,6],[1658,10],[1973,9],[2067,7],[2719,6]]},"554":{"position":[[1,6],[94,6],[187,6],[290,6],[472,7],[490,6],[816,6]]},"555":{"position":[[53,6],[92,6]]},"556":{"position":[[33,6],[67,7],[168,6],[342,7],[465,7],[756,6]]},"557":{"position":[[1,6],[57,7],[165,6],[260,7]]},"559":{"position":[[74,8],[233,6],[1286,6]]},"560":{"position":[[57,7],[142,7]]},"561":{"position":[[8,6],[37,6],[133,7],[277,6]]},"563":{"position":[[21,8]]},"564":{"position":[[68,8]]},"565":{"position":[[121,6]]},"566":{"position":[[47,9],[324,6],[417,8],[508,9]]},"568":{"position":[[59,8],[365,6],[748,6]]},"569":{"position":[[37,6],[207,6],[249,6],[447,6],[519,6],[583,6],[717,7],[843,6],[948,7],[985,6],[1056,7],[1140,6],[1243,7]]},"571":{"position":[[54,6],[111,6]]},"572":{"position":[[312,9]]},"637":{"position":[[898,9],[1255,7],[1375,7],[1403,6],[1431,6],[2069,7],[2194,6]]},"657":{"position":[[8,9],[95,9],[277,6]]},"658":{"position":[[1,6],[133,6],[320,7],[386,6],[522,6],[612,7],[762,6],[818,7],[836,6],[884,7],[1036,7]]},"659":{"position":[[730,8]]},"660":{"position":[[50,6]]},"661":{"position":[[255,6],[288,6]]},"662":{"position":[[375,6],[1165,6],[1232,6],[2869,6],[2908,6],[3339,6],[3507,6],[3664,6],[3737,6],[3820,6],[3857,6],[3910,6],[3970,6],[4809,6],[5066,6],[5133,6],[5210,6],[5297,6]]},"663":{"position":[[69,7]]},"697":{"position":[[116,6],[237,6],[782,6]]},"698":{"position":[[114,6]]},"699":{"position":[[67,6]]},"700":{"position":[[290,9]]},"710":{"position":[[241,6],[356,8]]},"721":{"position":[[43,6]]},"722":{"position":[[12,6],[303,7],[1093,6]]},"723":{"position":[[12,6],[197,7],[860,6]]},"724":{"position":[[12,6],[108,6],[293,7],[646,6]]},"725":{"position":[[12,6],[97,6],[173,7]]},"726":{"position":[[64,6],[169,6],[708,6]]},"727":{"position":[[12,6],[151,6],[759,6]]},"728":{"position":[[12,6],[108,6],[574,6]]},"729":{"position":[[12,6],[97,6],[504,6]]},"770":{"position":[[183,7],[241,7],[278,7]]},"778":{"position":[[12,6],[511,6]]},"786":{"position":[[65,7]]},"787":{"position":[[70,6],[210,8]]},"788":{"position":[[49,6]]},"789":{"position":[[36,6],[153,6],[208,7]]},"790":{"position":[[37,6]]},"791":{"position":[[65,6]]},"792":{"position":[[64,6]]},"793":{"position":[[354,7],[468,6]]},"794":{"position":[[10,6],[122,6]]},"796":{"position":[[39,7]]},"799":{"position":[[6,9],[240,7]]},"810":{"position":[[107,6]]}},"keywords":{}}],["script=${2",{"_index":1633,"title":{},"content":{"83":{"position":[[2102,11]]}},"keywords":{}}],["script=screen.getnamedwidget('scriptname').text();"",{"_index":4776,"title":{},"content":{"637":{"position":[[2087,56]]}},"keywords":{}}],["script?scope=default"",{"_index":1670,"title":{},"content":{"83":{"position":[[3373,26]]}},"keywords":{}}],["script_",{"_index":5705,"title":{},"content":{"795":{"position":[[147,9],[468,9]]}},"keywords":{}}],["script_1",{"_index":4297,"title":{},"content":{"533":{"position":[[466,8]]},"561":{"position":[[349,8],[651,11]]},"795":{"position":[[1138,8]]}},"keywords":{}}],["script_1(self",{"_index":4305,"title":{},"content":{"533":{"position":[[700,15]]},"795":{"position":[[1678,15]]}},"keywords":{}}],["script_1_heater_zone_control",{"_index":4455,"title":{},"content":{"550":{"position":[[426,28],[658,31]]}},"keywords":{}}],["script_api="$cosmos_host/script",{"_index":1638,"title":{},"content":{"83":{"position":[[2204,36]]}},"keywords":{}}],["script_path",{"_index":1661,"title":{},"content":{"83":{"position":[[3074,14]]}},"keywords":{}}],["script_path="scripts/$target/$script"",{"_index":1640,"title":{},"content":{"83":{"position":[[2251,47]]}},"keywords":{}}],["script_power_on",{"_index":4292,"title":{},"content":{"533":{"position":[[266,17]]}},"keywords":{}}],["script_statu",{"_index":1673,"title":{},"content":{"83":{"position":[[3482,14]]}},"keywords":{}}],["script_status="$(curl",{"_index":1668,"title":{},"content":{"83":{"position":[[3320,26]]}},"keywords":{}}],["scriptnam",{"_index":4771,"title":{},"content":{"637":{"position":[[1975,10]]}},"keywords":{}}],["scriptrunn",{"_index":1009,"title":{},"content":{"43":{"position":[[201,13],[267,12],[292,12],[864,13],[990,14]]},"778":{"position":[[119,12],[263,12]]},"796":{"position":[[52,13]]},"797":{"position":[[8,12]]},"798":{"position":[[8,12]]}},"keywords":{}}],["scripts/procedur",{"_index":3142,"title":{},"content":{"349":{"position":[[69,19]]},"549":{"position":[[171,19]]}},"keywords":{}}],["scripts?scope=default"",{"_index":1679,"title":{},"content":{"83":{"position":[[3606,27]]}},"keywords":{}}],["scriptshow",{"_index":4285,"title":{},"content":{"529":{"position":[[193,11]]}},"keywords":{}}],["scriptsshow",{"_index":4279,"title":{},"content":{"529":{"position":[[32,11]]}},"keywords":{}}],["scroll",{"_index":4263,"title":{},"content":{"523":{"position":[[326,9]]},"554":{"position":[[1108,6]]},"599":{"position":[[197,6]]}},"keywords":{}}],["scrollabl",{"_index":4654,"title":{},"content":{"599":{"position":[[40,10]]}},"keywords":{}}],["scrollwindow",{"_index":4653,"title":{"599":{"position":[[0,13]]}},"content":{"599":{"position":[[61,12],[312,12]]}},"keywords":{}}],["sd",{"_index":3929,"title":{},"content":{"404":{"position":[[312,2],[373,2],[439,2],[549,2],[622,2],[916,2],[1700,2]]}},"keywords":{}}],["se",{"_index":3244,"title":{},"content":{"358":{"position":[[1347,2]]}},"keywords":{}}],["seamless",{"_index":1116,"title":{},"content":{"48":{"position":[[4128,8]]}},"keywords":{}}],["search",{"_index":1200,"title":{},"content":{"53":{"position":[[823,8]]},"54":{"position":[[1221,8]]},"55":{"position":[[2121,8]]},"56":{"position":[[1123,8]]},"60":{"position":[[626,8]]},"61":{"position":[[2295,8]]},"62":{"position":[[413,8]]},"216":{"position":[[566,6]]},"217":{"position":[[1335,6],[2687,6]]},"309":{"position":[[3264,6]]},"349":{"position":[[1706,6],[1761,6],[1805,7]]},"426":{"position":[[643,8]]},"440":{"position":[[590,6],[606,8],[667,6]]},"452":{"position":[[250,9]]},"470":{"position":[[375,9]]},"474":{"position":[[78,6]]},"491":{"position":[[202,6]]},"514":{"position":[[182,6],[193,8]]},"515":{"position":[[194,6],[205,8]]},"517":{"position":[[320,6]]},"528":{"position":[[454,6]]},"777":{"position":[[390,6]]},"800":{"position":[[127,8]]}},"keywords":{}}],["sec",{"_index":1262,"title":{},"content":{"57":{"position":[[1122,3],[1148,3]]},"379":{"position":[[3165,3]]}},"keywords":{}}],["second",{"_index":292,"title":{},"content":{"8":{"position":[[399,6]]},"9":{"position":[[1004,6]]},"40":{"position":[[716,7]]},"48":{"position":[[1943,6],[2605,6],[5104,6]]},"61":{"position":[[2561,7],[2651,7]]},"64":{"position":[[162,7],[263,7]]},"83":{"position":[[680,6]]},"91":{"position":[[900,6],[1004,6]]},"92":{"position":[[698,6],[795,6]]},"104":{"position":[[558,7],[627,7]]},"105":{"position":[[445,7],[514,7]]},"106":{"position":[[727,7],[800,7]]},"107":{"position":[[422,7],[528,7],[644,7]]},"111":{"position":[[637,7],[706,7]]},"135":{"position":[[20,7],[175,7],[254,7],[308,8]]},"153":{"position":[[121,7]]},"155":{"position":[[38,8],[93,7]]},"156":{"position":[[128,7]]},"158":{"position":[[40,8],[95,7]]},"160":{"position":[[123,7]]},"162":{"position":[[40,8],[95,7]]},"163":{"position":[[130,7]]},"165":{"position":[[42,8],[97,7]]},"166":{"position":[[51,8],[106,7]]},"167":{"position":[[49,8],[104,7]]},"168":{"position":[[48,8],[103,7]]},"169":{"position":[[48,8],[103,7]]},"170":{"position":[[48,8],[103,7]]},"171":{"position":[[91,7]]},"235":{"position":[[465,7]]},"252":{"position":[[516,7]]},"275":{"position":[[902,7],[1142,7]]},"352":{"position":[[871,7]]},"358":{"position":[[7865,7]]},"379":{"position":[[3122,7],[3157,7]]},"422":{"position":[[1081,7]]},"455":{"position":[[1002,6],[1096,7]]},"473":{"position":[[893,6]]},"522":{"position":[[218,7],[302,7],[810,7]]},"524":{"position":[[491,6],[675,6]]},"565":{"position":[[728,7],[1006,7]]},"577":{"position":[[432,7]]},"579":{"position":[[83,7],[386,7]]},"626":{"position":[[1623,7],[1690,7],[1748,7],[1818,7]]},"627":{"position":[[663,7],[1676,7],[1743,7],[1801,7],[1871,7]]},"628":{"position":[[1648,7],[1715,7],[1773,7],[1843,7]]},"677":{"position":[[1199,7]]},"678":{"position":[[1421,7]]},"679":{"position":[[1442,7]]},"680":{"position":[[1475,7]]},"681":{"position":[[1275,7]]},"682":{"position":[[1492,7]]},"683":{"position":[[1513,7]]},"684":{"position":[[1546,7]]},"722":{"position":[[532,7],[1084,8],[1238,8]]},"723":{"position":[[851,8],[1005,8]]},"724":{"position":[[637,8],[791,8]]},"725":{"position":[[609,8],[672,8]]},"726":{"position":[[699,8],[850,8]]},"727":{"position":[[750,8],[901,8]]},"728":{"position":[[565,8],[716,8]]},"729":{"position":[[495,8],[644,8]]},"789":{"position":[[219,8]]},"802":{"position":[[178,7]]}},"keywords":{}}],["secondari",{"_index":2470,"title":{},"content":{"253":{"position":[[348,9],[1226,9],[1996,9]]},"299":{"position":[[335,9]]},"379":{"position":[[1576,9],[3093,9]]}},"keywords":{}}],["seconds"",{"_index":2717,"title":{},"content":{"299":{"position":[[1194,13]]}},"keywords":{}}],["secondsgraph",{"_index":4724,"title":{},"content":{"626":{"position":[[1574,15]]},"627":{"position":[[1627,15]]},"628":{"position":[[1599,15]]}},"keywords":{}}],["secret",{"_index":1892,"title":{"141":{"position":[[0,7]]},"188":{"position":[[0,7]]},"415":{"position":[[0,8]]}},"content":{"109":{"position":[[1430,6],[1645,6],[1712,6],[1754,7],[1786,6]]},"110":{"position":[[1788,6],[2027,6],[2094,6],[2136,7],[2168,6]]},"141":{"position":[[25,6],[69,6],[173,8],[250,6],[303,6],[328,6],[356,6],[392,7],[436,8],[532,7],[601,6],[719,6],[765,7],[794,6],[824,6],[891,6],[933,6]]},"188":{"position":[[25,6],[72,6],[133,8],[210,6],[263,6],[288,6],[316,6],[352,7],[396,8],[492,6],[504,6],[534,6],[601,6],[634,6]]},"387":{"position":[[744,6]]},"406":{"position":[[186,7]]},"415":{"position":[[5,7],[38,7],[104,6],[120,7],[148,6],[213,6]]}},"keywords":{}}],["section",{"_index":433,"title":{},"content":{"20":{"position":[[657,8]]},"86":{"position":[[285,7]]},"328":{"position":[[15,8]]},"373":{"position":[[175,7]]},"404":{"position":[[2513,7]]},"474":{"position":[[9,7]]},"531":{"position":[[234,7]]},"564":{"position":[[844,8]]},"568":{"position":[[975,7]]},"569":{"position":[[830,7]]},"658":{"position":[[174,9]]},"660":{"position":[[159,7]]}},"keywords":{}}],["secur",{"_index":454,"title":{"429":{"position":[[3,8]]}},"content":{"20":{"position":[[1024,7]]},"23":{"position":[[23,6]]},"24":{"position":[[651,8]]},"27":{"position":[[609,6]]},"82":{"position":[[1117,9]]},"97":{"position":[[77,6]]},"309":{"position":[[372,6]]},"314":{"position":[[1044,9]]},"363":{"position":[[419,9]]},"424":{"position":[[101,8],[1801,8]]},"429":{"position":[[132,8],[309,6],[422,8],[481,6]]},"432":{"position":[[143,6]]},"434":{"position":[[509,6],[567,6]]}},"keywords":{}}],["securefil",{"_index":3956,"title":{},"content":{"404":{"position":[[1167,10]]}},"keywords":{}}],["security_level",{"_index":1932,"title":{},"content":{"112":{"position":[[639,14]]}},"keywords":{}}],["see",{"_index":279,"title":{},"content":{"7":{"position":[[1177,3]]},"35":{"position":[[1327,3]]},"37":{"position":[[1120,3]]},"42":{"position":[[863,3],[2255,3],[3096,3]]},"43":{"position":[[771,3],[1090,3]]},"44":{"position":[[1399,3],[1591,3]]},"48":{"position":[[1175,3]]},"51":{"position":[[562,4]]},"52":{"position":[[553,4]]},"57":{"position":[[1343,3]]},"58":{"position":[[411,3]]},"59":{"position":[[494,3]]},"60":{"position":[[881,3]]},"61":{"position":[[1163,3]]},"64":{"position":[[1276,3]]},"69":{"position":[[600,4]]},"70":{"position":[[362,4]]},"78":{"position":[[133,3]]},"79":{"position":[[8,3]]},"83":{"position":[[285,3],[493,3]]},"93":{"position":[[216,3]]},"96":{"position":[[703,4]]},"101":{"position":[[126,3]]},"102":{"position":[[115,3],[227,3]]},"103":{"position":[[189,3]]},"104":{"position":[[721,3],[758,3]]},"105":{"position":[[608,3],[645,3]]},"107":{"position":[[165,3]]},"108":{"position":[[158,3]]},"109":{"position":[[1762,3],[2670,3]]},"110":{"position":[[904,3],[941,3],[2144,3],[2401,3]]},"111":{"position":[[800,3],[837,3]]},"112":{"position":[[999,3]]},"113":{"position":[[595,3]]},"114":{"position":[[544,3]]},"128":{"position":[[874,3]]},"138":{"position":[[819,3]]},"139":{"position":[[354,3]]},"141":{"position":[[163,3],[426,3]]},"149":{"position":[[664,3]]},"188":{"position":[[123,3],[386,3]]},"203":{"position":[[339,3]]},"216":{"position":[[109,3]]},"217":{"position":[[347,3],[825,3],[948,3],[1303,3],[2421,3]]},"218":{"position":[[218,3]]},"219":{"position":[[140,3]]},"220":{"position":[[130,3]]},"221":{"position":[[309,3],[377,3]]},"222":{"position":[[212,3]]},"223":{"position":[[360,3]]},"228":{"position":[[1356,3]]},"230":{"position":[[1139,3]]},"231":{"position":[[1500,3]]},"232":{"position":[[1336,3]]},"242":{"position":[[204,3]]},"278":{"position":[[962,3]]},"279":{"position":[[3422,3],[4793,3],[5486,3],[6609,3]]},"280":{"position":[[754,3]]},"281":{"position":[[1056,3]]},"282":{"position":[[725,3]]},"291":{"position":[[204,3]]},"299":{"position":[[171,4]]},"302":{"position":[[1927,3]]},"306":{"position":[[132,3]]},"307":{"position":[[423,3]]},"309":{"position":[[992,4],[1282,3]]},"319":{"position":[[161,3]]},"320":{"position":[[1567,3]]},"323":{"position":[[210,3]]},"324":{"position":[[972,3]]},"331":{"position":[[275,3]]},"333":{"position":[[525,3]]},"338":{"position":[[382,3]]},"340":{"position":[[126,3]]},"358":{"position":[[2422,3],[2635,3],[6513,3],[6662,3],[8112,3]]},"359":{"position":[[694,3],[989,3],[1151,3],[2343,3],[2507,3]]},"367":{"position":[[815,3]]},"379":{"position":[[4006,3]]},"380":{"position":[[2111,3],[2176,3]]},"383":{"position":[[970,3]]},"392":{"position":[[389,3]]},"393":{"position":[[3,3]]},"440":{"position":[[380,4]]},"445":{"position":[[41,3]]},"447":{"position":[[673,3]]},"462":{"position":[[291,3]]},"468":{"position":[[295,4]]},"507":{"position":[[100,3]]},"547":{"position":[[146,4]]},"568":{"position":[[962,3]]},"580":{"position":[[227,3],[274,3]]},"581":{"position":[[712,3],[759,3]]},"591":{"position":[[671,3],[718,3]]},"637":{"position":[[350,3]]},"650":{"position":[[234,3]]},"660":{"position":[[135,3]]},"673":{"position":[[1200,3]]},"685":{"position":[[220,4]]},"708":{"position":[[659,4]]},"728":{"position":[[236,3]]},"794":{"position":[[110,3]]}},"keywords":{}}],["seed",{"_index":1348,"title":{},"content":{"65":{"position":[[869,4],[874,4],[930,4]]}},"keywords":{}}],["seem",{"_index":541,"title":{},"content":{"24":{"position":[[547,4]]},"319":{"position":[[532,4]]}},"keywords":{}}],["seen",{"_index":1091,"title":{},"content":{"48":{"position":[[1440,4],[1632,4]]},"379":{"position":[[3805,4]]}},"keywords":{}}],["seg_poly_read_convers",{"_index":2634,"title":{},"content":{"279":{"position":[[5237,25],[6060,24],[6144,24],[6244,24]]}},"keywords":{}}],["seg_poly_write_convers",{"_index":798,"title":{},"content":{"36":{"position":[[6699,26],[7459,25],[7544,25],[7645,25]]},"229":{"position":[[6699,26],[7459,25],[7544,25],[7645,25]]}},"keywords":{}}],["segment",{"_index":799,"title":{},"content":{"36":{"position":[[6734,9],[7036,9],[7088,7]]},"229":{"position":[[6734,9],[7036,9],[7088,7]]},"279":{"position":[[5271,9],[5637,9],[5689,7]]},"499":{"position":[[819,7]]}},"keywords":{}}],["select",{"_index":855,"title":{"446":{"position":[[0,9]]},"480":{"position":[[0,9]]},"491":{"position":[[0,9]]},"503":{"position":[[0,9]]},"523":{"position":[[0,9]]}},"content":{"38":{"position":[[1,6]]},"235":{"position":[[1,7],[109,6],[347,6]]},"252":{"position":[[1,7],[415,6]]},"285":{"position":[[1,7],[108,6],[337,6]]},"296":{"position":[[1,7],[428,6]]},"326":{"position":[[768,6]]},"345":{"position":[[382,6]]},"346":{"position":[[1459,6]]},"348":{"position":[[142,6],[239,8],[431,9],[486,6],[612,8],[639,8],[751,8],[769,6],[891,6],[947,6]]},"349":{"position":[[1632,6],[3546,8],[3562,6],[3626,8],[3686,8],[3715,6],[3914,6],[4017,6],[4113,6],[4220,6],[4408,6],[4616,6]]},"350":{"position":[[215,9],[279,6],[422,8],[473,8],[657,6],[827,6],[1082,6],[1256,6],[1556,6]]},"351":{"position":[[609,6]]},"352":{"position":[[437,6]]},"353":{"position":[[475,9],[674,6],[760,6],[837,6]]},"354":{"position":[[413,6]]},"359":{"position":[[587,6],[2214,6]]},"380":{"position":[[224,6],[282,9]]},"404":{"position":[[1005,6]]},"422":{"position":[[288,6],[340,9]]},"441":{"position":[[53,6]]},"446":{"position":[[128,6]]},"457":{"position":[[138,6]]},"461":{"position":[[204,6]]},"462":{"position":[[154,6]]},"464":{"position":[[89,8]]},"467":{"position":[[1,6],[27,9],[57,6],[128,6],[366,6],[382,9]]},"468":{"position":[[395,9]]},"472":{"position":[[1035,6]]},"478":{"position":[[266,6]]},"482":{"position":[[60,6],[106,6],[367,6],[620,6]]},"492":{"position":[[28,9]]},"502":{"position":[[203,6]]},"503":{"position":[[1,9],[29,6],[120,6]]},"504":{"position":[[89,6]]},"521":{"position":[[222,6]]},"523":{"position":[[1,9],[29,6],[104,6],[169,6],[404,9]]},"528":{"position":[[93,6],[751,6]]},"531":{"position":[[64,10],[86,8],[225,8],[311,9],[664,9]]},"547":{"position":[[1241,8]]},"554":{"position":[[248,6]]},"556":{"position":[[158,9],[205,9],[239,6],[421,8]]},"569":{"position":[[573,9],[804,9],[1086,6]]},"608":{"position":[[211,6],[230,9]]},"639":{"position":[[204,9],[266,9]]},"640":{"position":[[184,9]]},"641":{"position":[[81,9],[136,8],[152,7]]},"642":{"position":[[184,9],[352,6]]},"644":{"position":[[184,9]]},"654":{"position":[[770,6]]},"668":{"position":[[109,10],[573,9]]},"673":{"position":[[93,6],[132,8],[1627,6],[2023,6]]}},"keywords":{}}],["select(.nam",{"_index":1680,"title":{},"content":{"83":{"position":[[3668,18]]}},"keywords":{}}],["select_command",{"_index":2413,"title":{"252":{"position":[[0,15]]}},"content":{"235":{"position":[[85,14],[393,14]]},"236":{"position":[[321,14],[477,14]]},"252":{"position":[[444,14]]}},"keywords":{}}],["select_item",{"_index":2668,"title":{"285":{"position":[[0,12]]}},"content":{"285":{"position":[[419,11]]},"296":{"position":[[234,11],[493,11]]}},"keywords":{}}],["select_paramet",{"_index":2412,"title":{"235":{"position":[[0,17]]}},"content":{"235":{"position":[[421,16]]},"252":{"position":[[228,16],[472,16]]}},"keywords":{}}],["select_t",{"_index":854,"title":{"38":{"position":[[0,13]]}},"content":{},"keywords":{}}],["select_telemetri",{"_index":2669,"title":{"296":{"position":[[0,17]]}},"content":{"285":{"position":[[82,16],[383,16]]},"286":{"position":[[302,16],[440,16]]},"296":{"position":[[457,16]]}},"keywords":{}}],["selection"",{"_index":4571,"title":{},"content":{"569":{"position":[[881,15]]}},"keywords":{}}],["selector",{"_index":3989,"title":{},"content":{"415":{"position":[[297,9]]}},"keywords":{}}],["self",{"_index":390,"title":{},"content":{"20":{"position":[[7,4],[212,4]]},"73":{"position":[[754,4],[1118,5]]}},"keywords":{}}],["self.add_group(examplegroup",{"_index":4317,"title":{},"content":{"534":{"position":[[406,28]]},"795":{"position":[[1972,28]]}},"keywords":{}}],["self.add_group_setup(wrappergroup",{"_index":5721,"title":{},"content":{"795":{"position":[[2001,34]]}},"keywords":{}}],["self.add_group_teardown(wrappergroup",{"_index":5723,"title":{},"content":{"795":{"position":[[2079,37]]}},"keywords":{}}],["self.add_script(wrappergroup",{"_index":5722,"title":{},"content":{"795":{"position":[[2036,29]]}},"keywords":{}}],["self.allow_empty_data",{"_index":1418,"title":{},"content":{"69":{"position":[[496,21]]},"73":{"position":[[1028,21],[1165,21],[1225,22],[1256,21]]}},"keywords":{}}],["self.cmd_acpt_cnt",{"_index":2459,"title":{},"content":{"251":{"position":[[1939,17]]}},"keywords":{}}],["self.cmd_acpt_cnt}"",{"_index":2463,"title":{},"content":{"251":{"position":[[2114,26]]}},"keywords":{}}],["self.gimbal_step",{"_index":4475,"title":{},"content":{"551":{"position":[[1275,17],[1346,17],[1422,17]]}},"keywords":{}}],["self.interfac",{"_index":1416,"title":{},"content":{"69":{"position":[[474,14]]},"73":{"position":[[1062,14]]}},"keywords":{}}],["self.interface.read_protocol",{"_index":1442,"title":{},"content":{"73":{"position":[[1081,30]]}},"keywords":{}}],["self.multipli",{"_index":781,"title":{},"content":{"36":{"position":[[5975,15],[6065,15]]},"229":{"position":[[5975,15],[6065,15]]},"279":{"position":[[4455,15],[4545,15]]}},"keywords":{}}],["self.reset",{"_index":1420,"title":{},"content":{"69":{"position":[[574,12]]},"71":{"position":[[231,12]]},"72":{"position":[[243,12]]}},"keywords":{}}],["semant",{"_index":3290,"title":{},"content":{"359":{"position":[[300,8]]}},"keywords":{}}],["semicolon",{"_index":4756,"title":{},"content":{"637":{"position":[[623,9],[655,9]]}},"keywords":{}}],["send",{"_index":700,"title":{"91":{"position":[[0,7]]},"467":{"position":[[0,7]]}},"content":{"36":{"position":[[1980,7],[2927,7],[3245,7]]},"52":{"position":[[189,4],[230,7]]},"78":{"position":[[36,4]]},"91":{"position":[[35,4],[129,5],[1317,4],[1367,4],[1532,4]]},"93":{"position":[[96,4],[587,7]]},"100":{"position":[[266,4]]},"104":{"position":[[58,4]]},"106":{"position":[[39,4],[169,4],[246,4],[378,4]]},"107":{"position":[[56,4]]},"109":{"position":[[2030,4]]},"112":{"position":[[536,7]]},"115":{"position":[[1728,4],[1887,4]]},"119":{"position":[[286,4]]},"120":{"position":[[198,4]]},"122":{"position":[[122,7]]},"149":{"position":[[172,5],[266,4]]},"220":{"position":[[70,4]]},"229":{"position":[[1980,7],[2927,7],[3245,7]]},"238":{"position":[[119,4]]},"241":{"position":[[46,7],[121,7]]},"279":{"position":[[2139,7]]},"302":{"position":[[2041,7]]},"342":{"position":[[262,4],[508,4]]},"345":{"position":[[482,4]]},"348":{"position":[[43,4],[172,4],[320,4],[328,4],[600,7],[630,4],[672,4],[1046,7],[1212,4],[1278,4],[1370,7],[1460,4],[1931,4],[2066,5],[2145,4]]},"349":{"position":[[2781,5]]},"358":{"position":[[8210,4]]},"363":{"position":[[140,4]]},"373":{"position":[[257,7]]},"378":{"position":[[668,5]]},"379":{"position":[[1094,7]]},"380":{"position":[[1207,7],[2021,4]]},"422":{"position":[[81,7],[626,4]]},"426":{"position":[[373,4],[531,4]]},"428":{"position":[[191,4]]},"431":{"position":[[593,4]]},"432":{"position":[[333,4]]},"464":{"position":[[40,4]]},"467":{"position":[[438,7]]},"468":{"position":[[1,7],[60,4],[414,4]]},"498":{"position":[[775,4]]},"513":{"position":[[404,4],[822,7]]},"542":{"position":[[67,7]]},"545":{"position":[[316,5]]},"637":{"position":[[130,4],[798,4],[1199,4]]},"638":{"position":[[284,6]]},"642":{"position":[[443,6]]},"654":{"position":[[954,6]]},"676":{"position":[[37,4]]},"677":{"position":[[1,5]]},"678":{"position":[[1,5],[143,4]]},"679":{"position":[[1,5]]},"680":{"position":[[1,5]]},"681":{"position":[[1,5]]},"682":{"position":[[1,5],[166,4]]},"683":{"position":[[1,5]]},"684":{"position":[[1,5]]},"686":{"position":[[1,5],[167,4],[221,5]]},"758":{"position":[[1,4],[404,4],[446,4]]},"759":{"position":[[1,4],[420,4],[462,4],[516,4]]},"768":{"position":[[1,4],[382,4],[424,4]]},"769":{"position":[[1,4],[424,4],[466,4],[520,4]]}},"keywords":{}}],["send_raw",{"_index":5106,"title":{"686":{"position":[[0,9]]}},"content":{},"keywords":{}}],["send_raw(<interfac",{"_index":5107,"title":{},"content":{"686":{"position":[[57,22]]}},"keywords":{}}],["send_raw("inst_int"",{"_index":5110,"title":{},"content":{"686":{"position":[[252,30]]}},"keywords":{}}],["sender",{"_index":347,"title":{"348":{"position":[[8,7]]},"463":{"position":[[8,6]]},"465":{"position":[[8,6]]}},"content":{"13":{"position":[[155,6]]},"36":{"position":[[2177,6]]},"229":{"position":[[2177,6]]},"237":{"position":[[58,6]]},"348":{"position":[[9,6],[412,6],[581,6],[699,6],[855,6],[1027,6],[1189,6],[1349,6],[1521,6],[1685,6],[1852,6],[2087,6],[2231,6]]},"359":{"position":[[1108,6],[2485,6]]},"464":{"position":[[9,6]]},"513":{"position":[[861,6]]},"514":{"position":[[337,6],[367,6]]}},"keywords":{}}],["senderopen",{"_index":1761,"title":{},"content":{"93":{"position":[[313,10]]}},"keywords":{}}],["sens",{"_index":1397,"title":{},"content":{"67":{"position":[[3697,5]]},"316":{"position":[[116,5]]},"358":{"position":[[4600,5]]},"549":{"position":[[58,5]]},"568":{"position":[[729,6]]},"673":{"position":[[384,5]]}},"keywords":{}}],["sensit",{"_index":4071,"title":{},"content":{"429":{"position":[[255,9],[572,9]]}},"keywords":{}}],["sensor",{"_index":4979,"title":{},"content":{"668":{"position":[[636,6],[717,6],[787,6],[849,7],[878,7],[951,6],[1032,6],[1102,6]]}},"keywords":{}}],["sent",{"_index":174,"title":{},"content":{"5":{"position":[[872,4]]},"35":{"position":[[1283,4],[1814,4]]},"36":{"position":[[4451,5],[6299,5],[6930,5],[7994,5]]},"37":{"position":[[1076,4],[1607,4]]},"52":{"position":[[351,4],[454,4],[510,5]]},"61":{"position":[[890,4]]},"64":{"position":[[636,5]]},"66":{"position":[[60,4]]},"76":{"position":[[188,5]]},"91":{"position":[[344,5],[425,5]]},"93":{"position":[[251,4]]},"138":{"position":[[63,4]]},"139":{"position":[[223,4]]},"219":{"position":[[468,4]]},"225":{"position":[[65,4]]},"226":{"position":[[342,4]]},"228":{"position":[[1312,4],[1843,4]]},"229":{"position":[[4451,5],[6299,5],[6930,5],[7994,5]]},"230":{"position":[[1095,4],[1626,4]]},"231":{"position":[[1456,4],[1987,4]]},"232":{"position":[[1292,4],[1823,4]]},"233":{"position":[[843,4]]},"234":{"position":[[626,4]]},"237":{"position":[[223,4]]},"238":{"position":[[34,4],[90,4]]},"251":{"position":[[793,4],[1561,4]]},"283":{"position":[[836,4]]},"284":{"position":[[628,4]]},"302":{"position":[[817,4]]},"312":{"position":[[198,4]]},"339":{"position":[[271,4]]},"344":{"position":[[397,4]]},"348":{"position":[[2010,5],[2139,5]]},"349":{"position":[[2753,5]]},"402":{"position":[[5326,4]]},"445":{"position":[[62,4],[138,4]]},"446":{"position":[[114,5]]},"467":{"position":[[813,4]]},"658":{"position":[[1264,5]]},"693":{"position":[[46,4]]},"694":{"position":[[45,5],[538,4],[665,4]]},"695":{"position":[[58,5],[447,4]]},"765":{"position":[[278,5],[789,5],[1324,5]]},"799":{"position":[[75,4]]}},"keywords":{}}],["sent.write_raw",{"_index":1979,"title":{},"content":{"115":{"position":[[1870,14]]}},"keywords":{}}],["separ",{"_index":564,"title":{},"content":{"26":{"position":[[183,10]]},"50":{"position":[[199,10]]},"125":{"position":[[327,9]]},"252":{"position":[[69,8]]},"296":{"position":[[71,8]]},"298":{"position":[[117,8]]},"383":{"position":[[406,10]]},"402":{"position":[[2823,9],[3832,9]]},"476":{"position":[[71,9]]},"605":{"position":[[79,9]]},"609":{"position":[[51,9]]},"610":{"position":[[51,9]]},"637":{"position":[[594,8],[706,11],[772,9]]},"793":{"position":[[224,8]]}},"keywords":{}}],["sequenc",{"_index":348,"title":{},"content":{"13":{"position":[[174,8]]},"47":{"position":[[54,8]]},"52":{"position":[[46,8],[323,8],[426,8]]},"253":{"position":[[535,8],[626,8],[1413,8],[1504,8],[2183,8],[2274,8]]},"299":{"position":[[504,8],[628,8]]},"379":{"position":[[538,8],[1394,8],[1926,8],[2426,8],[2942,8]]}},"keywords":{}}],["sequence"",{"_index":3658,"title":{},"content":{"379":{"position":[[2972,14]]}},"keywords":{}}],["seri",{"_index":3356,"title":{},"content":{"364":{"position":[[234,6]]},"538":{"position":[[135,6]]},"546":{"position":[[1102,6]]},"574":{"position":[[444,6]]},"575":{"position":[[142,6]]}},"keywords":{}}],["serial",{"_index":1179,"title":{"111":{"position":[[0,6]]},"317":{"position":[[8,6]]}},"content":{"52":{"position":[[5,6],[96,6]]},"100":{"position":[[352,7]]},"103":{"position":[[111,7]]},"111":{"position":[[5,6],[50,6],[150,6],[260,6],[373,6],[512,6],[1046,6]]},"120":{"position":[[173,6]]},"140":{"position":[[438,6]]},"213":{"position":[[21,10]]},"214":{"position":[[58,10]]},"218":{"position":[[19,10]]},"314":{"position":[[442,6],[496,6],[1947,6]]},"316":{"position":[[1,6]]},"317":{"position":[[1,6],[209,6]]},"342":{"position":[[624,6]]},"343":{"position":[[1172,6]]},"571":{"position":[[223,6]]}},"keywords":{}}],["serial_int",{"_index":2060,"title":{},"content":{"140":{"position":[[677,10],[865,10]]},"314":{"position":[[1163,10],[1574,10]]}},"keywords":{}}],["serial_interfac",{"_index":2021,"title":{},"content":{"128":{"position":[[808,16]]},"149":{"position":[[598,16]]}},"keywords":{}}],["serial_interface.rb",{"_index":1916,"title":{},"content":{"111":{"position":[[1194,19],[1310,19],[1417,19],[1513,19],[1635,19],[1731,19],[1845,19]]},"140":{"position":[[688,19]]},"314":{"position":[[1174,19],[1800,19]]}},"keywords":{}}],["serial_rout",{"_index":2061,"title":{},"content":{"140":{"position":[[794,13]]},"314":{"position":[[1463,13]]}},"keywords":{}}],["serialhost",{"_index":2930,"title":{},"content":{"316":{"position":[[35,11]]}},"keywords":{}}],["serialinterfac",{"_index":2057,"title":{},"content":{"140":{"position":[[314,15]]}},"keywords":{}}],["serv",{"_index":1007,"title":{},"content":{"43":{"position":[[153,5],[312,5],[966,5]]},"51":{"position":[[305,5]]},"258":{"position":[[1172,6],[1243,6],[1377,6]]},"268":{"position":[[370,5]]},"307":{"position":[[1007,5],[1492,5]]},"432":{"position":[[1259,6]]},"440":{"position":[[765,5]]}},"keywords":{}}],["server",{"_index":434,"title":{"44":{"position":[[18,7]]},"105":{"position":[[6,6]]},"108":{"position":[[5,6]]},"346":{"position":[[22,7]]},"508":{"position":[[22,6]]},"510":{"position":[[22,6]]}},"content":{"20":{"position":[[706,6]]},"24":{"position":[[315,6]]},"27":{"position":[[50,6]]},"42":{"position":[[1710,6],[2185,8]]},"44":{"position":[[81,7],[1557,6]]},"83":{"position":[[87,7]]},"85":{"position":[[100,7],[148,6]]},"87":{"position":[[34,6],[94,6]]},"97":{"position":[[119,6]]},"103":{"position":[[63,7],[94,7]]},"105":{"position":[[11,6],[44,6],[236,7]]},"107":{"position":[[46,6]]},"108":{"position":[[10,6],[78,7]]},"114":{"position":[[153,6]]},"128":{"position":[[474,6]]},"133":{"position":[[1,6]]},"134":{"position":[[1,6]]},"135":{"position":[[66,6]]},"136":{"position":[[60,6]]},"215":{"position":[[101,7]]},"217":{"position":[[62,6],[991,6],[1154,6]]},"220":{"position":[[102,7]]},"239":{"position":[[13,6]]},"258":{"position":[[655,8],[1007,6],[1104,6],[1655,6]]},"279":{"position":[[8015,6]]},"314":{"position":[[2117,6]]},"339":{"position":[[193,6]]},"342":{"position":[[212,6]]},"346":{"position":[[27,6],[181,6],[285,6],[446,6],[544,6],[649,6],[827,6],[941,6],[1146,6],[1244,6],[1399,6],[1541,6],[1714,6]]},"349":{"position":[[4400,7]]},"358":{"position":[[607,6]]},"365":{"position":[[302,7]]},"368":{"position":[[441,7]]},"378":{"position":[[1524,6]]},"429":{"position":[[316,7]]},"432":{"position":[[150,7]]},"509":{"position":[[27,6],[403,6],[438,6]]},"511":{"position":[[27,6],[142,6],[208,7]]},"517":{"position":[[77,6],[109,6]]},"530":{"position":[[234,6]]},"661":{"position":[[199,6]]},"662":{"position":[[445,6],[500,6],[623,6],[683,6],[771,6],[828,6],[903,6],[973,6],[1052,6],[1111,6],[1301,6],[1382,6],[1448,6],[1499,6],[1572,6],[1652,6],[1711,6],[1801,6],[1895,6],[1954,6],[2026,6],[2084,6],[2134,6],[2199,6],[2285,6],[2357,6],[2429,6],[2507,6],[2565,6],[2618,6],[2679,6],[2735,6],[2811,6],[3456,6],[3567,6],[4034,6],[4088,6],[4142,6],[4217,6],[4286,6],[4340,6],[4401,6],[4454,6],[4507,6],[4560,6],[4624,6],[4686,6],[4775,6],[4907,6],[4971,6],[5039,6]]},"710":{"position":[[58,7]]},"712":{"position":[[76,7]]},"713":{"position":[[70,7]]},"752":{"position":[[387,6]]},"761":{"position":[[333,6]]}},"keywords":{}}],["servic",{"_index":511,"title":{},"content":{"23":{"position":[[98,9],[140,9]]},"57":{"position":[[62,7]]},"144":{"position":[[68,7]]},"182":{"position":[[69,7]]},"258":{"position":[[1757,7]]},"259":{"position":[[165,9],[233,8]]},"309":{"position":[[334,8],[2434,7]]},"317":{"position":[[117,7]]},"320":{"position":[[903,7],[1054,7],[1198,7],[1479,7]]},"321":{"position":[[1590,7]]},"361":{"position":[[39,8],[147,8]]},"404":{"position":[[1273,8],[2543,7]]},"425":{"position":[[283,9]]},"426":{"position":[[122,8],[262,8],[338,8],[1284,8]]},"427":{"position":[[307,8]]},"430":{"position":[[65,8],[283,8]]},"432":{"position":[[402,9],[653,8],[864,9],[880,7]]}},"keywords":{}}],["set",{"_index":7,"title":{"372":{"position":[[0,7]]},"374":{"position":[[0,7]]},"416":{"position":[[0,9]]},"582":{"position":[[0,8]]},"788":{"position":[[14,9]]},"806":{"position":[[0,9]]}},"content":{"1":{"position":[[65,3]]},"5":{"position":[[467,3]]},"7":{"position":[[1053,3]]},"17":{"position":[[274,3]]},"18":{"position":[[279,3]]},"35":{"position":[[627,3]]},"36":{"position":[[3305,3],[4590,3],[8587,3],[9640,3],[9838,7],[9964,3]]},"37":{"position":[[420,3]]},"42":{"position":[[2111,4]]},"43":{"position":[[578,3]]},"44":{"position":[[964,3],[1075,3],[1099,3]]},"48":{"position":[[1102,3],[1250,4],[3161,3],[3568,4],[3704,4],[3879,4]]},"55":{"position":[[341,3],[2396,7]]},"67":{"position":[[2974,3]]},"74":{"position":[[662,3]]},"82":{"position":[[826,3],[978,3]]},"83":{"position":[[1458,3],[2073,3]]},"109":{"position":[[1448,3],[1673,3]]},"110":{"position":[[1806,3],[2055,3]]},"127":{"position":[[60,4],[230,4]]},"135":{"position":[[154,4]]},"140":{"position":[[1,3],[52,3],[241,4]]},"141":{"position":[[580,3]]},"142":{"position":[[16,4]]},"143":{"position":[[16,3]]},"176":{"position":[[92,3]]},"180":{"position":[[1,4]]},"181":{"position":[[1,3]]},"190":{"position":[[98,3]]},"197":{"position":[[1,3]]},"201":{"position":[[90,3]]},"205":{"position":[[92,3]]},"209":{"position":[[89,3]]},"214":{"position":[[332,3]]},"215":{"position":[[214,3]]},"217":{"position":[[737,4],[859,4],[1227,4],[1757,4],[2012,4]]},"218":{"position":[[369,3]]},"220":{"position":[[280,3]]},"228":{"position":[[656,3]]},"229":{"position":[[3305,3],[4590,3],[8587,3],[9640,3],[9838,7],[9964,3]]},"230":{"position":[[439,3]]},"231":{"position":[[826,3]]},"232":{"position":[[662,3]]},"253":{"position":[[1724,8]]},"255":{"position":[[342,7]]},"267":{"position":[[75,5],[88,5]]},"272":{"position":[[455,3]]},"275":{"position":[[247,3],[395,4],[451,3],[693,3]]},"278":{"position":[[654,3]]},"279":{"position":[[7906,3],[8472,3],[8495,4],[8529,4],[9487,7],[9874,7]]},"280":{"position":[[446,3]]},"309":{"position":[[1144,7],[2825,3]]},"314":{"position":[[1982,3]]},"325":{"position":[[77,7]]},"330":{"position":[[1116,9],[1473,7]]},"332":{"position":[[259,3],[763,4],[1167,3],[1443,3]]},"334":{"position":[[49,3]]},"338":{"position":[[442,8],[652,8]]},"345":{"position":[[347,7],[377,4],[408,3]]},"346":{"position":[[1427,7],[1454,4],[1485,3]]},"349":{"position":[[3571,3],[3724,3]]},"356":{"position":[[550,8],[931,8]]},"358":{"position":[[6458,3]]},"363":{"position":[[262,3]]},"369":{"position":[[2091,8]]},"380":{"position":[[1143,3],[2250,4]]},"385":{"position":[[160,4]]},"402":{"position":[[1130,3],[1692,3],[1842,3],[4171,3]]},"404":{"position":[[1133,3],[1201,3],[1585,9]]},"406":{"position":[[207,9]]},"415":{"position":[[136,7],[176,3],[363,3],[395,3]]},"416":{"position":[[5,8],[35,8]]},"422":{"position":[[1035,7]]},"461":{"position":[[93,9]]},"462":{"position":[[352,8],[439,8]]},"472":{"position":[[176,9],[601,4],[614,4],[721,3],[761,5],[799,3],[879,3]]},"482":{"position":[[167,4],[426,4]]},"489":{"position":[[146,9]]},"498":{"position":[[94,3],[351,3]]},"499":{"position":[[96,3],[370,3]]},"502":{"position":[[92,9]]},"504":{"position":[[416,3]]},"513":{"position":[[898,3]]},"521":{"position":[[111,9]]},"522":{"position":[[75,8],[105,8],[143,8],[475,3],[1136,4],[1297,3],[1322,3]]},"524":{"position":[[254,3]]},"531":{"position":[[797,3]]},"535":{"position":[[881,4],[961,4],[1021,4],[1056,7],[1553,4]]},"536":{"position":[[192,3]]},"545":{"position":[[89,3]]},"546":{"position":[[948,3]]},"551":{"position":[[64,3]]},"554":{"position":[[183,3],[628,3]]},"560":{"position":[[488,4]]},"564":{"position":[[286,3],[727,3]]},"580":{"position":[[18,7],[151,7],[214,7],[231,7],[257,7],[278,7]]},"581":{"position":[[272,8],[383,3],[589,7],[699,7],[716,7],[742,7],[763,7],[809,3]]},"582":{"position":[[18,7],[60,8],[184,8],[224,8],[292,7],[448,8],[512,8]]},"583":{"position":[[1,4],[234,7],[284,7]]},"584":{"position":[[1,4],[238,7],[261,7],[312,7],[335,7]]},"585":{"position":[[1,4],[234,7],[290,7],[313,7],[364,7]]},"586":{"position":[[1,4],[236,7],[292,7],[315,7],[367,7]]},"587":{"position":[[15,7],[23,4],[404,7],[459,7]]},"588":{"position":[[15,7],[23,4],[398,7],[453,7]]},"589":{"position":[[17,7],[25,4],[417,7],[480,7]]},"590":{"position":[[185,7]]},"591":{"position":[[272,8],[383,3],[597,7],[658,7],[675,7],[701,7],[722,7]]},"612":{"position":[[846,7],[875,7],[919,8],[974,7]]},"619":{"position":[[191,8],[258,7],[285,7],[314,7],[759,7],[785,7],[809,7],[856,8],[906,7]]},"626":{"position":[[580,7],[655,8],[711,7]]},"627":{"position":[[614,7],[634,7],[708,8],[764,7]]},"628":{"position":[[603,7],[675,8],[736,7]]},"632":{"position":[[525,7],[583,7],[620,7],[737,7],[795,7],[832,7]]},"633":{"position":[[392,7],[440,7],[681,7]]},"637":{"position":[[2148,3]]},"649":{"position":[[414,7],[622,8],[680,7]]},"650":{"position":[[82,7],[175,7],[1018,7],[1074,7],[1133,7],[1178,8],[1241,7]]},"652":{"position":[[889,7],[914,7],[998,7],[1031,7],[1086,8],[1148,7]]},"654":{"position":[[657,7],[1161,7]]},"704":{"position":[[61,3]]},"710":{"position":[[1,4],[281,7],[574,3]]},"712":{"position":[[1,4],[441,3],[737,3],[936,3]]},"714":{"position":[[57,3]]},"734":{"position":[[32,3]]},"735":{"position":[[33,3]]},"737":{"position":[[1,4],[25,4],[49,3],[121,3],[171,3],[199,4]]},"738":{"position":[[40,4],[64,3]]},"739":{"position":[[28,4]]},"740":{"position":[[39,8]]},"741":{"position":[[23,4],[35,8],[158,4],[191,8],[457,3],[732,7],[756,4],[837,7],[861,4],[972,7],[996,4],[1099,7],[1123,4],[1488,3],[1502,3],[1539,4],[1577,7],[1614,4],[1641,3],[1782,8],[1805,5],[1926,8],[1949,5]]},"771":{"position":[[1,4],[164,3],[189,3]]},"788":{"position":[[63,9]]},"789":{"position":[[13,4]]},"791":{"position":[[13,4]]},"801":{"position":[[46,3]]},"802":{"position":[[38,3]]},"803":{"position":[[38,3]]},"804":{"position":[[38,3]]},"805":{"position":[[21,3]]},"806":{"position":[[20,8],[66,8],[131,9]]},"807":{"position":[[31,7]]},"808":{"position":[[31,8]]},"809":{"position":[[39,8],[91,7],[285,7]]},"810":{"position":[[1,4],[16,7],[284,7],[302,7],[316,7],[333,3]]}},"keywords":{}}],["set_cmd_tlm_disconnect",{"_index":4929,"title":{},"content":{"662":{"position":[[3641,22]]}},"keywords":{}}],["set_disconnected_target",{"_index":4931,"title":{},"content":{"662":{"position":[[3712,24]]}},"keywords":{}}],["set_limit",{"_index":5414,"title":{"741":{"position":[[0,11]]}},"content":{},"keywords":{}}],["set_limits(<target",{"_index":5416,"title":{},"content":{"741":{"position":[[237,21]]}},"keywords":{}}],["set_limits('inst",{"_index":5426,"title":{},"content":{"741":{"position":[[1980,18]]}},"keywords":{}}],["set_limits_method",{"_index":5415,"title":{},"content":{"741":{"position":[[5,17]]}},"keywords":{}}],["set_limits_set",{"_index":5396,"title":{"737":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_limits_set("<limit",{"_index":5397,"title":{},"content":{"737":{"position":[[89,31]]}},"keywords":{}}],["set_limits_set("default"",{"_index":5398,"title":{},"content":{"737":{"position":[[229,35]]}},"keywords":{}}],["set_line_delay",{"_index":5683,"title":{"789":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_line_delay(<delay>",{"_index":5684,"title":{},"content":{"789":{"position":[[75,29]]}},"keywords":{}}],["set_line_delay(0.0",{"_index":5686,"title":{},"content":{"789":{"position":[[269,19]]}},"keywords":{}}],["set_max_output",{"_index":5689,"title":{"791":{"position":[[0,15]]}},"content":{},"keywords":{}}],["set_max_output(<characters>",{"_index":5691,"title":{},"content":{"791":{"position":[[159,34]]}},"keywords":{}}],["set_max_output(100",{"_index":5693,"title":{},"content":{"791":{"position":[[302,19]]}},"keywords":{}}],["set_opt",{"_index":2056,"title":{},"content":{"140":{"position":[[86,10],[136,10]]}},"keywords":{}}],["set_replay_mod",{"_index":4932,"title":{},"content":{"662":{"position":[[3765,15]]}},"keywords":{}}],["set_set",{"_index":4928,"title":{"810":{"position":[[0,12]]}},"content":{"662":{"position":[[3629,11]]}},"keywords":{}}],["set_setting(<set",{"_index":5789,"title":{},"content":{"810":{"position":[[179,23]]}},"keywords":{}}],["set_setting('pypi_url",{"_index":5794,"title":{},"content":{"810":{"position":[[496,23]]}},"keywords":{}}],["set_setting('rubygems_url",{"_index":5790,"title":{},"content":{"810":{"position":[[353,27]]}},"keywords":{}}],["set_stdout_max_lin",{"_index":4933,"title":{},"content":{"662":{"position":[[3799,20]]}},"keywords":{}}],["set_tlm",{"_index":4935,"title":{"710":{"position":[[0,8]]}},"content":{"662":{"position":[[3887,7]]}},"keywords":{}}],["set_tlm("<target>",{"_index":5294,"title":{},"content":{"710":{"position":[[389,28]]}},"keywords":{}}],["set_tlm("inst",{"_index":5298,"title":{},"content":{"710":{"position":[[687,18],[824,18],[974,18],[1110,18]]}},"keywords":{}}],["set_tlm_raw",{"_index":4934,"title":{},"content":{"662":{"position":[[3845,11]]}},"keywords":{}}],["setopen",{"_index":4169,"title":{},"content":{"472":{"position":[[66,8]]}},"keywords":{}}],["setpoint",{"_index":5634,"title":{},"content":{"773":{"position":[[126,10],[213,11]]},"774":{"position":[[97,11]]}},"keywords":{}}],["sets"",{"_index":2639,"title":{},"content":{"279":{"position":[[8215,10]]}},"keywords":{}}],["setting<",{"_index":2496,"title":{},"content":{"253":{"position":[[2425,13]]}},"keywords":{}}],["setting"",{"_index":216,"title":{},"content":{"6":{"position":[[428,13],[859,13],[914,13],[969,13],[1024,13],[1079,13]]},"36":{"position":[[3554,13]]},"219":{"position":[[991,13]]},"229":{"position":[[3554,13]]},"279":{"position":[[2614,13]]}},"keywords":{}}],["settings"",{"_index":2493,"title":{},"content":{"253":{"position":[[1758,14]]}},"keywords":{}}],["settings)delimit",{"_index":4183,"title":{},"content":{"478":{"position":[[105,16]]}},"keywords":{}}],["settings)reset",{"_index":4199,"title":{},"content":{"489":{"position":[[104,14]]}},"keywords":{}}],["settings.sinc",{"_index":3439,"title":{},"content":{"369":{"position":[[892,14]]}},"keywords":{}}],["settingsif",{"_index":3951,"title":{},"content":{"404":{"position":[[934,10]]}},"keywords":{}}],["setup",{"_index":2571,"title":{},"content":{"267":{"position":[[516,5]]},"328":{"position":[[128,5]]},"332":{"position":[[342,5]]},"349":{"position":[[5360,5],[5422,6],[5526,5],[5588,6]]},"404":{"position":[[403,5],[1381,5]]},"533":{"position":[[429,5],[798,5],[862,5]]},"534":{"position":[[213,5],[555,5],[599,5]]},"795":{"position":[[96,6],[210,5],[1225,5]]}},"keywords":{}}],["setup"",{"_index":4314,"title":{},"content":{"534":{"position":[[236,11],[470,12]]}},"keywords":{}}],["setup(self",{"_index":4303,"title":{},"content":{"533":{"position":[[658,12]]},"534":{"position":[[439,12]]},"795":{"position":[[1758,12]]}},"keywords":{}}],["sever",{"_index":1036,"title":{},"content":{"44":{"position":[[99,7]]},"140":{"position":[[261,7]]},"275":{"position":[[30,7]]},"342":{"position":[[24,7]]},"352":{"position":[[209,7]]},"354":{"position":[[619,7]]},"393":{"position":[[1144,7]]},"450":{"position":[[284,7]]},"467":{"position":[[730,7]]},"517":{"position":[[282,8]]},"522":{"position":[[802,7]]},"531":{"position":[[35,7]]},"540":{"position":[[3597,7]]},"557":{"position":[[24,7]]},"559":{"position":[[17,7]]},"569":{"position":[[136,7]]},"806":{"position":[[12,7]]}},"keywords":{}}],["sh",{"_index":3705,"title":{},"content":{"383":{"position":[[880,3]]},"404":{"position":[[2323,2]]}},"keywords":{}}],["sha",{"_index":453,"title":{},"content":{"20":{"position":[[1020,3]]},"48":{"position":[[1280,3]]},"112":{"position":[[743,4]]}},"keywords":{}}],["sha256",{"_index":413,"title":{},"content":{"20":{"position":[[355,6]]},"112":{"position":[[751,6]]}},"keywords":{}}],["shall",{"_index":3112,"title":{},"content":{"344":{"position":[[77,5],[171,5],[286,5],[374,5],[418,5],[467,5],[532,5],[661,5],[765,5],[1022,5],[1140,5]]},"345":{"position":[[59,5],[196,5],[326,5],[448,5],[518,5],[622,5],[728,5],[830,5]]},"346":{"position":[[188,5],[292,5],[453,5],[551,5],[656,5],[834,5],[948,5],[1153,5],[1251,5],[1406,5],[1548,5],[1721,5]]},"347":{"position":[[236,5],[349,5],[445,5],[532,5],[682,5],[766,5]]},"348":{"position":[[419,5],[588,5],[706,5],[862,5],[1034,5],[1196,5],[1356,5],[1528,5],[1692,5],[1859,5],[2094,5],[2238,5]]},"349":{"position":[[1353,5],[1692,5],[1871,5],[2090,5],[2184,5],[2324,5],[2455,5],[2552,5],[2734,5],[2842,5],[3013,5],[3132,5],[3302,5],[3522,5],[3662,5],[3809,5],[3973,5],[4071,5],[4170,5],[4284,5],[4556,5],[4668,5],[4830,5],[4988,5],[5101,5],[5214,5],[5325,5],[5491,5],[5657,5],[5796,5],[5942,5],[6109,5],[6257,5],[6387,5],[6549,5],[6762,5]]},"350":{"position":[[203,5],[388,5],[546,5],[726,5],[894,5],[1039,5],[1154,5],[1410,5]]},"351":{"position":[[325,5],[410,5],[506,5]]},"352":{"position":[[158,5],[277,5],[386,5],[516,5],[605,5],[717,5],[814,5],[911,5],[1012,5],[1108,5]]},"353":{"position":[[170,5],[275,5],[364,5],[461,5],[637,5],[722,5],[808,5]]},"354":{"position":[[246,5],[361,5],[463,5],[558,5],[658,5]]},"355":{"position":[[148,5],[240,5],[336,5],[429,5],[512,5],[609,5],[704,5],[807,5]]},"356":{"position":[[161,5],[240,5],[320,5],[394,5],[505,5],[598,5],[684,5],[770,5],[852,5]]},"390":{"position":[[608,5],[915,5]]},"424":{"position":[[415,5],[787,5]]}},"keywords":{}}],["shard",{"_index":2083,"title":{"148":{"position":[[0,6]]},"177":{"position":[[0,6]]},"191":{"position":[[0,6]]}},"content":{"148":{"position":[[25,5],[73,6],[191,5],[243,5]]},"177":{"position":[[25,5],[73,6],[191,5],[243,5]]},"191":{"position":[[25,5],[73,6],[191,5],[243,5]]}},"keywords":{}}],["share",{"_index":372,"title":{"432":{"position":[[39,6]]}},"content":{"17":{"position":[[53,5]]},"18":{"position":[[56,5]]},"31":{"position":[[480,5]]},"100":{"position":[[899,5]]},"258":{"position":[[1922,5]]},"267":{"position":[[580,6]]},"358":{"position":[[2585,5]]},"368":{"position":[[506,5]]},"383":{"position":[[271,5],[433,6]]},"402":{"position":[[1065,6]]},"424":{"position":[[32,7],[238,6]]},"432":{"position":[[27,6]]},"551":{"position":[[173,6]]}},"keywords":{}}],["shell",{"_index":3064,"title":{},"content":{"333":{"position":[[97,5]]}},"keywords":{}}],["shell'",{"_index":3067,"title":{},"content":{"333":{"position":[[215,7]]}},"keywords":{}}],["ship",{"_index":3106,"title":{},"content":{"343":{"position":[[1107,5]]},"387":{"position":[[1211,4]]},"432":{"position":[[696,8]]}},"keywords":{}}],["short",{"_index":169,"title":{},"content":{"5":{"position":[[780,5]]},"226":{"position":[[250,5]]},"276":{"position":[[279,5]]},"321":{"position":[[1115,5],[1135,5],[1155,5]]},"364":{"position":[[108,5]]},"389":{"position":[[299,5]]},"550":{"position":[[246,5]]},"568":{"position":[[93,5]]}},"keywords":{}}],["shortcut",{"_index":4246,"title":{},"content":{"509":{"position":[[251,9]]}},"keywords":{}}],["shorter",{"_index":793,"title":{},"content":{"36":{"position":[[6580,7],[7376,7]]},"229":{"position":[[6580,7],[7376,7]]},"279":{"position":[[5119,7],[5977,7]]}},"keywords":{}}],["shot",{"_index":4242,"title":{},"content":{"506":{"position":[[502,5],[698,4]]}},"keywords":{}}],["show",{"_index":351,"title":{},"content":{"13":{"position":[[232,7]]},"14":{"position":[[201,7]]},"88":{"position":[[208,4],[419,4]]},"199":{"position":[[1,4]]},"225":{"position":[[1173,5]]},"271":{"position":[[1189,5]]},"314":{"position":[[1751,5]]},"333":{"position":[[874,4],[1022,4]]},"343":{"position":[[23,5]]},"347":{"position":[[88,5]]},"348":{"position":[[2179,5]]},"351":{"position":[[464,4]]},"369":{"position":[[1025,4],[2516,4],[4127,7]]},"380":{"position":[[1436,7]]},"387":{"position":[[1520,5]]},"407":{"position":[[242,5]]},"408":{"position":[[17,5],[102,5]]},"409":{"position":[[20,5],[77,5]]},"410":{"position":[[17,5],[71,5]]},"411":{"position":[[23,5],[120,5]]},"412":{"position":[[18,5]]},"468":{"position":[[242,4]]},"472":{"position":[[3,4],[187,4]]},"485":{"position":[[247,5]]},"490":{"position":[[3,5]]},"496":{"position":[[274,5]]},"497":{"position":[[512,4]]},"503":{"position":[[154,4]]},"509":{"position":[[430,7]]},"523":{"position":[[375,5]]},"524":{"position":[[459,4]]},"540":{"position":[[1898,4],[1981,4],[2812,4],[2896,4],[3591,5],[4014,4],[4516,5]]},"552":{"position":[[626,4]]},"561":{"position":[[88,5],[497,4],[796,4]]},"622":{"position":[[373,4]]}},"keywords":{}}],["show_backtrac",{"_index":4936,"title":{},"content":{"662":{"position":[[3895,14]]}},"keywords":{}}],["shown",{"_index":38,"title":{"199":{"position":[[0,6]]}},"content":{"2":{"position":[[170,5]]},"36":{"position":[[10522,5],[10769,5]]},"39":{"position":[[183,5]]},"105":{"position":[[792,5]]},"108":{"position":[[399,5]]},"109":{"position":[[755,5]]},"110":{"position":[[1089,5]]},"111":{"position":[[984,5]]},"112":{"position":[[340,5]]},"113":{"position":[[391,5]]},"197":{"position":[[21,5]]},"199":{"position":[[50,5],[203,6]]},"309":{"position":[[2760,6]]},"343":{"position":[[261,5]]},"348":{"position":[[834,6]]},"378":{"position":[[1628,5]]},"402":{"position":[[750,5]]},"447":{"position":[[127,5]]},"468":{"position":[[478,6]]},"470":{"position":[[162,5],[187,5]]},"472":{"position":[[428,5]]},"473":{"position":[[264,5],[378,5]]},"474":{"position":[[92,6]]},"485":{"position":[[90,5]]},"513":{"position":[[578,5]]},"540":{"position":[[3772,5]]},"542":{"position":[[907,5]]},"557":{"position":[[354,5]]},"662":{"position":[[3953,5]]},"699":{"position":[[188,5]]},"722":{"position":[[166,6]]},"724":{"position":[[213,5]]},"728":{"position":[[209,5]]}},"keywords":{}}],["shrink",{"_index":4265,"title":{},"content":{"524":{"position":[[313,7],[505,7],[689,7]]}},"keywords":{}}],["shut",{"_index":3566,"title":{},"content":{"373":{"position":[[476,8]]}},"keywords":{}}],["shutdown_cmd_tlm",{"_index":4938,"title":{},"content":{"662":{"position":[[3995,16]]}},"keywords":{}}],["shutter",{"_index":3154,"title":{},"content":{"349":{"position":[[1073,8]]}},"keywords":{}}],["side",{"_index":2911,"title":{},"content":{"312":{"position":[[258,4]]},"413":{"position":[[128,4]]},"485":{"position":[[108,4]]},"524":{"position":[[830,4],[838,5]]},"555":{"position":[[37,4]]},"612":{"position":[[711,4]]}},"keywords":{}}],["sign",{"_index":391,"title":{},"content":{"20":{"position":[[12,6],[217,6]]},"24":{"position":[[494,6],[853,6],[871,6]]},"36":{"position":[[9824,6],[10224,6],[10331,6]]},"82":{"position":[[51,4]]},"213":{"position":[[201,6]]},"229":{"position":[[9824,6],[10224,6],[10331,6]]},"258":{"position":[[1749,4]]},"358":{"position":[[3614,6],[5282,6]]},"391":{"position":[[19,6]]}},"keywords":{}}],["signal",{"_index":1383,"title":{"633":{"position":[[0,7]]}},"content":{"67":{"position":[[2126,6]]},"73":{"position":[[1762,6]]},"96":{"position":[[583,8]]},"633":{"position":[[37,6],[334,6]]}},"keywords":{}}],["signed"",{"_index":3051,"title":{},"content":{"332":{"position":[[693,13]]}},"keywords":{}}],["signific",{"_index":644,"title":{},"content":{"35":{"position":[[188,11]]},"228":{"position":[[216,11]]},"231":{"position":[[439,11]]},"233":{"position":[[233,11]]},"278":{"position":[[220,11]]},"281":{"position":[[390,11]]},"283":{"position":[[237,11]]},"321":{"position":[[317,11],[491,11],[683,11],[921,11],[1424,11],[1474,11]]},"540":{"position":[[332,12],[441,12]]}},"keywords":{}}],["significantli",{"_index":384,"title":{},"content":{"17":{"position":[[349,13]]},"18":{"position":[[354,13]]},"309":{"position":[[353,13]]}},"keywords":{}}],["silent",{"_index":1447,"title":{},"content":{"74":{"position":[[473,8]]},"75":{"position":[[489,8]]},"76":{"position":[[486,8]]},"83":{"position":[[2484,6]]}},"keywords":{}}],["similar",{"_index":188,"title":{},"content":{"5":{"position":[[1435,7]]},"31":{"position":[[495,10]]},"48":{"position":[[4646,7]]},"54":{"position":[[702,7]]},"55":{"position":[[530,7]]},"67":{"position":[[3175,7]]},"96":{"position":[[433,8]]},"100":{"position":[[837,7],[887,7]]},"216":{"position":[[214,7]]},"274":{"position":[[213,7]]},"309":{"position":[[607,7]]},"358":{"position":[[5833,7]]},"369":{"position":[[1917,7],[3407,7]]},"389":{"position":[[1543,7]]},"402":{"position":[[789,7]]},"484":{"position":[[324,7]]},"494":{"position":[[73,7]]},"504":{"position":[[274,7]]},"528":{"position":[[659,7]]},"535":{"position":[[317,7]]},"539":{"position":[[84,7]]},"540":{"position":[[16,12],[4437,10]]},"657":{"position":[[87,7]]},"691":{"position":[[23,8]]},"702":{"position":[[23,8]]}},"keywords":{}}],["similarli",{"_index":1395,"title":{},"content":{"67":{"position":[[3567,9]]},"109":{"position":[[2325,9]]},"319":{"position":[[398,9]]},"522":{"position":[[863,10]]},"534":{"position":[[862,10]]},"542":{"position":[[389,9]]}},"keywords":{}}],["simpl",{"_index":124,"title":{"543":{"position":[[14,6]]}},"content":{"3":{"position":[[610,7]]},"8":{"position":[[77,6]]},"54":{"position":[[443,6]]},"108":{"position":[[37,6]]},"112":{"position":[[41,6]]},"113":{"position":[[42,6]]},"257":{"position":[[179,6]]},"260":{"position":[[141,6]]},"263":{"position":[[347,6]]},"302":{"position":[[1840,6]]},"303":{"position":[[1083,6]]},"306":{"position":[[733,6]]},"307":{"position":[[1256,6]]},"320":{"position":[[1827,6]]},"324":{"position":[[666,6]]},"342":{"position":[[871,6]]},"348":{"position":[[114,6]]},"349":{"position":[[1442,6]]},"350":{"position":[[26,6]]},"367":{"position":[[212,6],[513,6],[919,6]]},"369":{"position":[[505,7]]},"421":{"position":[[459,6]]},"449":{"position":[[120,6]]},"450":{"position":[[35,6]]},"501":{"position":[[113,6]]},"504":{"position":[[251,6]]},"533":{"position":[[332,6]]},"538":{"position":[[251,7]]},"542":{"position":[[49,6],[891,6]]},"548":{"position":[[56,6]]},"549":{"position":[[339,6]]}},"keywords":{}}],["simple.txt",{"_index":2966,"title":{},"content":{"320":{"position":[[1542,10]]}},"keywords":{}}],["simpler",{"_index":2829,"title":{},"content":{"309":{"position":[[157,7]]}},"keywords":{}}],["simpli",{"_index":332,"title":{},"content":{"12":{"position":[[222,6]]},"50":{"position":[[790,6]]},"52":{"position":[[216,6]]},"53":{"position":[[20,6]]},"56":{"position":[[416,6]]},"100":{"position":[[952,6]]},"271":{"position":[[1453,6]]},"326":{"position":[[381,6]]},"330":{"position":[[1176,6]]},"358":{"position":[[6091,6]]},"359":{"position":[[1834,6]]},"382":{"position":[[97,6]]},"395":{"position":[[165,6]]},"400":{"position":[[28,6]]},"419":{"position":[[107,6]]},"422":{"position":[[659,6]]},"428":{"position":[[168,6]]},"454":{"position":[[125,6],[420,6]]},"473":{"position":[[334,6]]},"522":{"position":[[1129,6]]},"530":{"position":[[29,6]]},"554":{"position":[[632,6]]},"561":{"position":[[246,6]]},"658":{"position":[[1044,6]]},"697":{"position":[[215,6]]}},"keywords":{}}],["simul",{"_index":2367,"title":{},"content":{"220":{"position":[[1659,10]]}},"keywords":{}}],["simulation=${simul",{"_index":3574,"title":{},"content":{"376":{"position":[[91,24]]}},"keywords":{}}],["simulation=n",{"_index":3573,"title":{},"content":{"376":{"position":[[69,17]]}},"keywords":{}}],["simultan",{"_index":3997,"title":{},"content":{"420":{"position":[[167,14]]}},"keywords":{}}],["singl",{"_index":142,"title":{"264":{"position":[[0,6]]},"563":{"position":[[15,6]]}},"content":{"5":{"position":[[53,6]]},"9":{"position":[[798,6],[907,6]]},"39":{"position":[[30,6]]},"43":{"position":[[586,6]]},"48":{"position":[[2705,6]]},"81":{"position":[[38,6],[93,6]]},"82":{"position":[[44,6]]},"91":{"position":[[512,6],[829,6]]},"92":{"position":[[496,6],[620,6]]},"110":{"position":[[370,6],[418,6]]},"192":{"position":[[128,6]]},"195":{"position":[[88,6]]},"196":{"position":[[157,6]]},"258":{"position":[[1742,6]]},"259":{"position":[[188,6]]},"264":{"position":[[74,6],[176,6],[346,6]]},"348":{"position":[[48,6]]},"358":{"position":[[1057,6],[2485,6],[2539,6]]},"368":{"position":[[785,6]]},"395":{"position":[[3,6]]},"454":{"position":[[91,6]]},"472":{"position":[[785,6]]},"506":{"position":[[636,6]]},"524":{"position":[[937,6]]},"534":{"position":[[994,6]]},"563":{"position":[[249,6]]},"566":{"position":[[12,6],[124,6],[282,6],[381,6]]},"574":{"position":[[205,6]]},"637":{"position":[[616,6]]},"642":{"position":[[199,6]]},"673":{"position":[[102,6],[1355,6],[1762,6]]},"770":{"position":[[271,6]]}},"keywords":{}}],["sit",{"_index":4249,"title":{},"content":{"517":{"position":[[24,4]]}},"keywords":{}}],["site",{"_index":397,"title":{},"content":{"20":{"position":[[97,4]]},"391":{"position":[[479,4]]},"393":{"position":[[938,4]]},"432":{"position":[[1289,5]]},"434":{"position":[[121,4],[148,5],[314,6],[783,4],[865,5]]}},"keywords":{}}],["situat",{"_index":4165,"title":{},"content":{"470":{"position":[[41,11]]},"519":{"position":[[240,11]]},"569":{"position":[[678,9]]}},"keywords":{}}],["six",{"_index":4319,"title":{},"content":{"535":{"position":[[32,3]]}},"keywords":{}}],["size",{"_index":375,"title":{"273":{"position":[[9,5]]}},"content":{"17":{"position":[[80,5],[179,5]]},"18":{"position":[[83,5],[183,5]]},"35":{"position":[[350,4],[359,4],[558,4]]},"36":{"position":[[1616,4]]},"37":{"position":[[143,4],[152,4],[351,4]]},"48":{"position":[[339,4],[2339,5],[4390,5],[4412,4],[4556,5]]},"54":{"position":[[424,4],[581,4],[783,4]]},"55":{"position":[[785,4],[915,4],[924,4],[1953,4]]},"65":{"position":[[562,4],[571,4]]},"138":{"position":[[495,4]]},"154":{"position":[[60,4],[126,4]]},"157":{"position":[[67,4],[133,4]]},"161":{"position":[[62,4],[128,4]]},"164":{"position":[[69,4],[135,4]]},"228":{"position":[[379,4],[388,4],[587,4]]},"229":{"position":[[1616,4]]},"230":{"position":[[162,4],[171,4],[370,4]]},"231":{"position":[[549,4],[558,4],[757,4]]},"232":{"position":[[385,4],[394,4],[593,4]]},"233":{"position":[[401,4],[410,4],[553,4],[568,4]]},"234":{"position":[[184,4],[193,4],[336,4],[351,4]]},"272":{"position":[[388,5]]},"273":{"position":[[29,5],[51,4],[166,5],[259,4],[346,5]]},"274":{"position":[[458,4]]},"278":{"position":[[372,4],[381,4],[585,4]]},"279":{"position":[[1611,4],[7451,4],[7460,4]]},"280":{"position":[[164,4],[173,4],[377,4]]},"281":{"position":[[495,4],[504,4]]},"282":{"position":[[164,4],[173,4]]},"283":{"position":[[394,4],[403,4],[546,4],[561,4]]},"284":{"position":[[186,4],[195,4],[338,4],[353,4]]},"289":{"position":[[165,4]]},"369":{"position":[[3764,6],[4013,6]]},"402":{"position":[[5214,5],[5233,4]]},"498":{"position":[[695,4]]},"585":{"position":[[130,4]]},"586":{"position":[[132,4]]},"590":{"position":[[95,5],[202,4]]},"594":{"position":[[223,5]]},"595":{"position":[[92,5]]},"596":{"position":[[72,5]]},"597":{"position":[[96,5]]},"598":{"position":[[73,5]]},"599":{"position":[[81,5]]},"607":{"position":[[16,4]]},"626":{"position":[[1965,5],[1972,4]]},"627":{"position":[[622,4],[2018,5],[2025,4]]},"628":{"position":[[1990,5],[1997,4]]},"647":{"position":[[259,4],[269,4]]},"648":{"position":[[366,4],[376,4]]},"756":{"position":[[193,5],[213,5],[642,5],[676,5],[1198,5],[1234,5]]},"765":{"position":[[187,5],[207,5],[618,5],[652,5],[1153,5],[1186,5]]}},"keywords":{}}],["sl",{"_index":2857,"title":{},"content":{"309":{"position":[[1706,2]]}},"keywords":{}}],["sleep",{"_index":1676,"title":{},"content":{"83":{"position":[[3516,5]]}},"keywords":{}}],["slip",{"_index":1132,"title":{"52":{"position":[[0,4]]}},"content":{"50":{"position":[[67,5]]},"52":{"position":[[20,6],[206,4]]}},"keywords":{}}],["slot",{"_index":4137,"title":{},"content":{"452":{"position":[[454,4]]}},"keywords":{}}],["slow",{"_index":385,"title":{},"content":{"17":{"position":[[363,5]]},"18":{"position":[[368,5]]},"552":{"position":[[2209,4]]},"793":{"position":[[152,4]]}},"keywords":{}}],["slowdown",{"_index":3413,"title":{},"content":{"368":{"position":[[849,8]]}},"keywords":{}}],["small",{"_index":85,"title":{},"content":{"3":{"position":[[45,5]]},"349":{"position":[[1129,5]]},"351":{"position":[[205,5]]},"369":{"position":[[2016,5]]},"547":{"position":[[927,5]]},"554":{"position":[[319,5]]},"569":{"position":[[824,5],[927,5]]}},"keywords":{}}],["smaller",{"_index":2679,"title":{},"content":{"289":{"position":[[140,7]]},"522":{"position":[[291,7]]}},"keywords":{}}],["smallest",{"_index":804,"title":{},"content":{"36":{"position":[[7105,8]]},"229":{"position":[[7105,8]]},"279":{"position":[[5706,8]]},"358":{"position":[[4059,8]]}},"keywords":{}}],["snmp",{"_index":1823,"title":{"112":{"position":[[0,4]]},"113":{"position":[[0,4]]}},"content":{"100":{"position":[[366,5]]},"103":{"position":[[341,5],[347,4]]},"112":{"position":[[5,4],[89,4],[204,4],[237,4],[397,4],[622,4]]},"113":{"position":[[5,4],[88,4],[448,4]]}},"keywords":{}}],["snmp_int",{"_index":1945,"title":{},"content":{"112":{"position":[[908,8]]},"113":{"position":[[513,8]]}},"keywords":{}}],["snmp_interface.rb",{"_index":1946,"title":{},"content":{"112":{"position":[[917,17]]}},"keywords":{}}],["snmp_trap_interface.rb",{"_index":1953,"title":{},"content":{"113":{"position":[[522,22]]}},"keywords":{}}],["snooz",{"_index":4008,"title":{},"content":{"422":{"position":[[1028,6],[1057,6],[1407,6]]}},"keywords":{}}],["soak",{"_index":3480,"title":{},"content":{"369":{"position":[[2178,5]]}},"keywords":{}}],["socket",{"_index":1704,"title":{"87":{"position":[[0,6]]}},"content":{"100":{"position":[[550,8]]},"104":{"position":[[48,6],[143,6]]},"105":{"position":[[114,7],[205,6]]},"106":{"position":[[404,7]]},"115":{"position":[[85,6],[380,6]]},"309":{"position":[[2427,6]]},"429":{"position":[[488,7]]},"455":{"position":[[461,6],[706,6]]}},"keywords":{}}],["softwar",{"_index":1990,"title":{},"content":{"119":{"position":[[52,8],[182,8]]},"178":{"position":[[124,8]]},"258":{"position":[[53,8]]},"343":{"position":[[906,8]]},"349":{"position":[[696,8],[1282,8]]},"387":{"position":[[1492,8],[1717,8]]},"389":{"position":[[606,8],[1230,9]]},"390":{"position":[[673,9],[691,8],[1113,8],[1158,9]]},"393":{"position":[[749,8]]},"426":{"position":[[215,8],[1270,9]]}},"keywords":{}}],["sold",{"_index":3793,"title":{},"content":{"391":{"position":[[395,4]]},"424":{"position":[[50,4]]}},"keywords":{}}],["sole",{"_index":4034,"title":{},"content":{"424":{"position":[[1459,6]]},"434":{"position":[[28,6]]}},"keywords":{}}],["solut",{"_index":824,"title":{},"content":{"36":{"position":[[9043,9]]},"67":{"position":[[62,8]]},"100":{"position":[[589,9]]},"229":{"position":[[9043,9]]},"279":{"position":[[7166,9]]},"359":{"position":[[2853,9]]},"369":{"position":[[3804,8]]},"547":{"position":[[914,8]]}},"keywords":{}}],["solv",{"_index":4396,"title":{},"content":{"544":{"position":[[488,6]]}},"keywords":{}}],["somehow",{"_index":1964,"title":{},"content":{"115":{"position":[[103,7],[398,7]]}},"keywords":{}}],["someon",{"_index":4338,"title":{},"content":{"540":{"position":[[1132,7]]}},"keywords":{}}],["someth",{"_index":1224,"title":{},"content":{"55":{"position":[[1522,9]]},"56":{"position":[[355,9]]},"67":{"position":[[533,9],[2740,9]]},"147":{"position":[[196,9]]},"189":{"position":[[196,9]]},"219":{"position":[[1391,9]]},"332":{"position":[[949,9]]},"358":{"position":[[7135,9]]},"359":{"position":[[854,9]]},"498":{"position":[[660,9]]},"499":{"position":[[566,9]]},"547":{"position":[[303,9]]},"551":{"position":[[414,9]]},"552":{"position":[[752,9]]},"565":{"position":[[158,9]]},"569":{"position":[[6,9],[189,9],[778,9]]},"673":{"position":[[1387,9],[1794,9]]},"674":{"position":[[36,9]]}},"keywords":{}}],["sometim",{"_index":105,"title":{},"content":{"3":{"position":[[361,9]]},"24":{"position":[[48,9],[154,9]]},"36":{"position":[[6615,9],[7411,9]]},"69":{"position":[[763,9]]},"229":{"position":[[6615,9],[7411,9]]},"279":{"position":[[5154,9],[6012,9]]},"382":{"position":[[581,9]]},"535":{"position":[[1440,9]]},"552":{"position":[[824,9]]},"563":{"position":[[201,9]]},"568":{"position":[[927,9]]}},"keywords":{}}],["somewher",{"_index":3061,"title":{},"content":{"332":{"position":[[1136,9]]}},"keywords":{}}],["soon",{"_index":3774,"title":{},"content":{"390":{"position":[[30,4]]},"568":{"position":[[389,4]]}},"keywords":{}}],["sort",{"_index":2569,"title":{},"content":{"267":{"position":[[81,6]]},"332":{"position":[[469,4]]},"339":{"position":[[92,6]]},"342":{"position":[[388,5]]},"447":{"position":[[23,6]]},"514":{"position":[[79,6]]},"515":{"position":[[82,6]]}},"keywords":{}}],["sourc",{"_index":677,"title":{"81":{"position":[[37,7]]}},"content":{"36":{"position":[[806,6]]},"44":{"position":[[1083,6]]},"81":{"position":[[20,6]]},"88":{"position":[[73,6]]},"106":{"position":[[337,6]]},"109":{"position":[[2716,7]]},"110":{"position":[[2447,7]]},"200":{"position":[[212,6]]},"209":{"position":[[337,6]]},"229":{"position":[[806,6]]},"240":{"position":[[195,6]]},"255":{"position":[[39,6]]},"258":{"position":[[725,6]]},"261":{"position":[[68,6]]},"279":{"position":[[801,6]]},"287":{"position":[[204,6]]},"309":{"position":[[2632,6],[2682,6]]},"320":{"position":[[23,6]]},"362":{"position":[[20,6]]},"365":{"position":[[34,6],[182,8]]},"368":{"position":[[59,6]]},"387":{"position":[[682,6],[811,6]]},"389":{"position":[[26,6],[684,6],[926,6],[1279,6],[1756,6]]},"392":{"position":[[563,6]]},"440":{"position":[[150,6],[482,6]]},"505":{"position":[[98,6],[205,6]]}},"keywords":{}}],["source_url",{"_index":5751,"title":{},"content":{"807":{"position":[[338,13]]},"808":{"position":[[1216,13],[1239,13]]}},"keywords":{}}],["spa",{"_index":1018,"title":{"264":{"position":[[7,4]]}},"content":{"43":{"position":[[593,3]]},"192":{"position":[[135,3]]},"195":{"position":[[95,4]]},"196":{"position":[[164,3]]},"264":{"position":[[81,3],[183,3],[353,3]]}},"keywords":{}}],["space",{"_index":290,"title":{},"content":{"8":{"position":[[381,6]]},"42":{"position":[[2334,7]]},"55":{"position":[[2674,5],[2772,5]]},"96":{"position":[[323,5],[652,6]]},"125":{"position":[[321,5]]},"236":{"position":[[160,5]]},"265":{"position":[[32,5],[102,5]]},"286":{"position":[[151,5]]},"289":{"position":[[198,5]]},"321":{"position":[[967,5]]},"332":{"position":[[1154,7]]},"358":{"position":[[4453,5]]},"440":{"position":[[448,6]]},"454":{"position":[[152,5]]},"473":{"position":[[606,6]]},"506":{"position":[[154,6]]},"524":{"position":[[152,6]]},"540":{"position":[[315,6],[524,7],[1258,7]]},"609":{"position":[[45,5]]},"610":{"position":[[45,5]]},"612":{"position":[[545,5],[634,5],[725,5]]},"659":{"position":[[1167,5]]},"787":{"position":[[906,6]]}},"keywords":{}}],["space(//main/div/a[2]/p/text",{"_index":2293,"title":{},"content":{"216":{"position":[[914,31]]},"217":{"position":[[3035,31]]}},"keywords":{}}],["space(//main/div/a[2]/span/h2/text",{"_index":2288,"title":{},"content":{"216":{"position":[[689,37]]},"217":{"position":[[2810,37]]}},"keywords":{}}],["spacecraft",{"_index":1282,"title":{},"content":{"59":{"position":[[383,10]]},"60":{"position":[[217,10]]}},"keywords":{}}],["spacer",{"_index":4675,"title":{"607":{"position":[[0,7]]}},"content":{"607":{"position":[[21,6],[97,6],[140,6],[221,6]]}},"keywords":{}}],["spaces.python",{"_index":4329,"title":{},"content":{"540":{"position":[[426,14]]}},"keywords":{}}],["spacesystem",{"_index":3849,"title":{},"content":{"398":{"position":[[270,11]]}},"keywords":{}}],["spacesystemtelemetrymetadatacommandmetadataparametertypesetenumerationlistparametersetcontainersetentrylistdefaultcalibratordefaultalarmrestrictioncriteriacomparisonlistmetacommandsetdefaultcalibratorargumenttypesetargumentlistargumentassignmentlistenumeratedparametertypeenumeratedargumenttypeintegerparametertypeintegerargumenttypefloatparametertypefloatargumenttypestringparametertypestringargumenttypebinaryparametertypebinaryargumenttypeintegerdataencodingfloatdataencodingstringdataencodingbinarydataencoding'sizeinbitsfixedvalueunitsetunitpolynomialcalibratortermstaticalarmrangeswarningrangecriticalrangevalidrangeenumerationparameterargumentparameterpropertiessequencecontainerbasecontainerlongdescriptionparameterrefentryargumentrefentrybasemetacommandcomparisonmetacommandbasemetacommandcommandcontainerargumentassign",{"_index":3852,"title":{},"content":{"399":{"position":[[76,832]]}},"keywords":{}}],["spare",{"_index":3667,"title":{},"content":{"379":{"position":[[3444,5],[3474,5]]}},"keywords":{}}],["spare2align",{"_index":3661,"title":{},"content":{"379":{"position":[[3276,11]]}},"keywords":{}}],["sparklin",{"_index":4727,"title":{"627":{"position":[[0,10]]}},"content":{"627":{"position":[[12,9],[579,9],[726,10]]},"628":{"position":[[51,9]]}},"keywords":{}}],["spawn",{"_index":3405,"title":{},"content":{"368":{"position":[[93,6]]},"420":{"position":[[271,6]]},"422":{"position":[[827,8],[873,5],[931,8]]},"530":{"position":[[219,7]]},"548":{"position":[[230,5]]}},"keywords":{}}],["spec",{"_index":1702,"title":{},"content":{"86":{"position":[[302,5]]},"221":{"position":[[322,4]]},"369":{"position":[[4232,5]]},"385":{"position":[[320,4]]}},"keywords":{}}],["special",{"_index":1175,"title":{},"content":{"51":{"position":[[336,7]]},"52":{"position":[[124,7]]},"78":{"position":[[505,7]]},"86":{"position":[[159,7]]},"274":{"position":[[255,7]]},"309":{"position":[[964,7]]},"468":{"position":[[145,8],[300,8]]},"533":{"position":[[829,7]]},"552":{"position":[[1989,7]]},"562":{"position":[[183,7]]},"639":{"position":[[525,7]]},"654":{"position":[[374,7]]},"690":{"position":[[1338,9],[1500,10]]},"692":{"position":[[558,11],[694,11]]}},"keywords":{}}],["special"",{"_index":4365,"title":{},"content":{"540":{"position":[[2525,14],[3435,14]]},"680":{"position":[[1626,14],[1844,14]]},"690":{"position":[[699,14]]}},"keywords":{}}],["specif",{"_index":673,"title":{},"content":{"36":{"position":[[671,8]]},"50":{"position":[[1189,9]]},"70":{"position":[[190,8]]},"83":{"position":[[1277,8]]},"86":{"position":[[65,14]]},"98":{"position":[[35,8]]},"115":{"position":[[1133,8],[1392,8]]},"126":{"position":[[242,8]]},"139":{"position":[[631,8]]},"174":{"position":[[249,8]]},"178":{"position":[[360,8]]},"229":{"position":[[671,8]]},"235":{"position":[[180,8]]},"240":{"position":[[60,8]]},"279":{"position":[[666,8],[10662,8]]},"285":{"position":[[179,8]]},"287":{"position":[[69,8]]},"288":{"position":[[310,8]]},"301":{"position":[[723,8],[1167,8]]},"302":{"position":[[1198,8],[1316,8],[1725,8]]},"320":{"position":[[447,8]]},"333":{"position":[[465,8]]},"343":{"position":[[1476,8]]},"346":{"position":[[95,8]]},"348":{"position":[[495,8],[778,8],[956,8],[983,8],[1145,8]]},"350":{"position":[[288,8]]},"378":{"position":[[1431,14]]},"382":{"position":[[738,8]]},"383":{"position":[[453,8],[496,8]]},"391":{"position":[[183,8]]},"402":{"position":[[2099,8]]},"473":{"position":[[931,8]]},"498":{"position":[[251,8]]},"499":{"position":[[270,8]]},"546":{"position":[[999,8],[1093,8]]},"549":{"position":[[280,8],[386,8]]},"556":{"position":[[763,8]]},"563":{"position":[[475,8]]},"575":{"position":[[226,8]]},"581":{"position":[[284,8]]},"582":{"position":[[553,8]]},"591":{"position":[[284,8]]},"657":{"position":[[243,8]]},"704":{"position":[[194,8]]},"715":{"position":[[28,8]]},"741":{"position":[[1523,8]]}},"keywords":{}}],["specifi",{"_index":340,"title":{},"content":{"12":{"position":[[422,7],[540,10]]},"15":{"position":[[323,7]]},"16":{"position":[[325,7]]},"20":{"position":[[1238,9],[1312,7],[1369,9],[1443,7]]},"32":{"position":[[1,7]]},"35":{"position":[[506,9],[1119,7],[1650,7]]},"36":{"position":[[8018,9],[8385,9],[9780,9],[10095,7]]},"37":{"position":[[299,9],[912,7],[1443,7]]},"39":{"position":[[1,7]]},"57":{"position":[[953,7]]},"66":{"position":[[34,9]]},"86":{"position":[[236,9],[369,9]]},"138":{"position":[[680,9],[741,9]]},"217":{"position":[[1471,9],[2093,9]]},"228":{"position":[[535,9],[1148,7],[1679,7]]},"229":{"position":[[8018,9],[8385,9],[9780,9],[10095,7]]},"230":{"position":[[318,9],[931,7],[1462,7]]},"231":{"position":[[705,9],[1823,7]]},"232":{"position":[[541,9],[1659,7]]},"233":{"position":[[706,9]]},"234":{"position":[[489,9]]},"273":{"position":[[8,9]]},"278":{"position":[[533,9]]},"279":{"position":[[6678,9],[7043,9]]},"280":{"position":[[325,9]]},"281":{"position":[[656,9]]},"282":{"position":[[325,9]]},"283":{"position":[[699,9]]},"284":{"position":[[491,9]]},"298":{"position":[[10,9]]},"331":{"position":[[828,9]]},"349":{"position":[[4941,9]]},"359":{"position":[[257,7]]},"383":{"position":[[1061,10]]},"401":{"position":[[216,10]]},"419":{"position":[[211,7]]},"421":{"position":[[97,10],[161,9]]},"422":{"position":[[206,9],[556,10],[777,9],[1046,10]]},"424":{"position":[[530,10]]},"473":{"position":[[1212,9]]},"481":{"position":[[47,7]]},"482":{"position":[[510,9]]},"514":{"position":[[390,9]]},"515":{"position":[[418,9]]},"522":{"position":[[762,9],[874,10],[946,9]]},"594":{"position":[[118,10]]},"611":{"position":[[65,9]]},"626":{"position":[[1603,9]]},"627":{"position":[[1656,9]]},"628":{"position":[[1628,9]]},"673":{"position":[[1131,9]]},"677":{"position":[[9,9]]},"678":{"position":[[9,9]]},"679":{"position":[[9,9]]},"680":{"position":[[9,9]]},"681":{"position":[[9,9]]},"682":{"position":[[9,9]]},"683":{"position":[[9,9]]},"684":{"position":[[9,9]]},"695":{"position":[[31,9]]},"697":{"position":[[55,9]]},"701":{"position":[[11,9],[447,10]]},"703":{"position":[[74,9],[511,10]]},"704":{"position":[[51,9],[221,9]]},"709":{"position":[[31,9]]},"711":{"position":[[337,9]]},"722":{"position":[[1271,10],[1303,10]]},"723":{"position":[[1038,10],[1070,10]]},"724":{"position":[[824,10]]},"725":{"position":[[705,10]]},"726":{"position":[[883,10],[915,10]]},"727":{"position":[[934,10],[966,10]]},"728":{"position":[[749,10]]},"729":{"position":[[561,9],[677,10]]},"732":{"position":[[35,9]]},"733":{"position":[[36,9]]},"734":{"position":[[55,9]]},"735":{"position":[[56,9]]},"744":{"position":[[295,10]]},"772":{"position":[[13,9]]},"780":{"position":[[33,9],[319,9]]},"781":{"position":[[236,9]]},"783":{"position":[[249,9]]},"785":{"position":[[289,9]]},"786":{"position":[[384,9]]},"787":{"position":[[440,9],[672,7]]}},"keywords":{}}],["speed",{"_index":3409,"title":{},"content":{"368":{"position":[[610,7]]},"793":{"position":[[120,8]]}},"keywords":{}}],["speed_of_light",{"_index":4340,"title":{},"content":{"540":{"position":[[1347,14]]}},"keywords":{}}],["splinecalibratoraltern",{"_index":3856,"title":{},"content":{"401":{"position":[[179,25]]}},"keywords":{}}],["split",{"_index":2352,"title":{},"content":{"219":{"position":[[1442,5]]},"612":{"position":[[463,7],[768,6]]}},"keywords":{}}],["spread",{"_index":2981,"title":{},"content":{"321":{"position":[[1351,6]]}},"keywords":{}}],["spreadsheet",{"_index":4574,"title":{},"content":{"571":{"position":[[9,11]]}},"keywords":{}}],["sprintf('%04u/%02u/%02u",{"_index":2727,"title":{},"content":{"299":{"position":[[1625,23]]}},"keywords":{}}],["sql",{"_index":2524,"title":{},"content":{"258":{"position":[[1822,3]]}},"keywords":{}}],["sr",{"_index":3092,"title":{},"content":{"340":{"position":[[281,4]]},"349":{"position":[[1673,2],[1852,2],[2071,2],[2165,2],[2305,2],[2436,2],[2533,2],[2715,2],[2822,2],[2993,2],[3112,2],[3282,2],[3502,2],[3642,2],[3789,2],[3953,2],[4051,2],[4150,2],[4264,2],[4536,2],[4648,2],[4810,2],[4957,2],[5070,2],[5183,2],[5294,2],[5460,2],[5626,2],[5765,2],[5911,2],[6078,2],[6226,2],[6356,2],[6518,2],[6731,2]]}},"keywords":{}}],["sr_messag",{"_index":4523,"title":{},"content":{"561":{"position":[[512,11],[811,11]]}},"keywords":{}}],["src",{"_index":2944,"title":{},"content":{"320":{"position":[[60,3]]}},"keywords":{}}],["src/bigwidget.vu",{"_index":2964,"title":{},"content":{"320":{"position":[[1130,17]]}},"keywords":{}}],["src/helloworldwidget.vu",{"_index":2961,"title":{},"content":{"320":{"position":[[986,24],[1233,24]]}},"keywords":{}}],["src/main.j",{"_index":2812,"title":{},"content":{"307":{"position":[[829,11]]}},"keywords":{}}],["src/router.j",{"_index":2813,"title":{},"content":{"307":{"position":[[917,13]]}},"keywords":{}}],["src/tools/datavi",{"_index":2814,"title":{},"content":{"307":{"position":[[953,17]]}},"keywords":{}}],["src/tools/datavis/datavis.vu",{"_index":2818,"title":{},"content":{"307":{"position":[[1187,29]]}},"keywords":{}}],["src="12"/><div><ul><li>3.14</li><li>example</li></ul></div><div></div></body></html>",{"_index":2360,"title":{},"content":{"220":{"position":[[579,170],[1820,170]]}},"keywords":{}}],["src="3"></script><noscript>101</noscript></head><body><img",{"_index":2359,"title":{},"content":{"220":{"position":[[474,104],[1715,104]]}},"keywords":{}}],["ss",{"_index":4581,"title":{},"content":{"571":{"position":[[527,2]]}},"keywords":{}}],["ss[0][0][0",{"_index":4583,"title":{},"content":{"571":{"position":[[585,11]]}},"keywords":{}}],["ssh",{"_index":3968,"title":{},"content":{"404":{"position":[[1839,3],[1895,3],[1937,3],[2097,4]]}},"keywords":{}}],["sshgoto",{"_index":3962,"title":{},"content":{"404":{"position":[[1404,7]]}},"keywords":{}}],["sshyou",{"_index":3960,"title":{},"content":{"404":{"position":[[1297,6]]}},"keywords":{}}],["ssl",{"_index":387,"title":{"19":{"position":[[0,3]]}},"content":{"20":{"position":[[224,3]]},"26":{"position":[[59,3]]},"27":{"position":[[75,3]]},"109":{"position":[[225,3],[608,3],[628,3],[647,3]]},"110":{"position":[[245,3],[601,3],[621,3],[640,3]]},"309":{"position":[[3678,3]]},"332":{"position":[[79,3],[279,3],[416,3],[477,3],[565,3]]},"429":{"position":[[502,5],[595,3]]}},"keywords":{}}],["ssl_cert_fil",{"_index":3045,"title":{},"content":{"332":{"position":[[295,13],[1245,13]]}},"keywords":{}}],["stack",{"_index":3259,"title":{},"content":{"358":{"position":[[3383,6]]},"759":{"position":[[678,5]]},"769":{"position":[[682,5]]}},"keywords":{}}],["stackdisplay",{"_index":4286,"title":{},"content":{"529":{"position":[[221,12]]}},"keywords":{}}],["stagnant",{"_index":4688,"title":{},"content":{"611":{"position":[[223,9]]},"635":{"position":[[114,9]]}},"keywords":{}}],["stakehold",{"_index":3346,"title":{},"content":{"363":{"position":[[181,13]]}},"keywords":{}}],["stale",{"_index":4197,"title":{},"content":{"489":{"position":[[26,5]]},"579":{"position":[[34,5],[72,5],[237,6],[422,5]]}},"keywords":{}}],["stale_tim",{"_index":4601,"title":{"579":{"position":[[0,11]]}},"content":{"579":{"position":[[361,10]]}},"keywords":{}}],["stamp",{"_index":3114,"title":{},"content":{"344":{"position":[[672,5],[776,5],[990,6],[1033,5],[1099,6]]},"346":{"position":[[1740,6],[1772,6]]}},"keywords":{}}],["stand",{"_index":191,"title":{},"content":{"6":{"position":[[5,6]]}},"keywords":{}}],["standard",{"_index":494,"title":{},"content":{"22":{"position":[[312,8]]},"61":{"position":[[337,9]]},"95":{"position":[[20,12]]},"96":{"position":[[341,12]]},"102":{"position":[[256,10]]},"125":{"position":[[242,8]]},"183":{"position":[[75,8]]},"184":{"position":[[82,8]]},"195":{"position":[[271,8]]},"213":{"position":[[165,9]]},"258":{"position":[[36,8]]},"263":{"position":[[187,8]]},"309":{"position":[[395,8]]},"314":{"position":[[1846,8]]},"349":{"position":[[1474,8],[1566,8],[1752,8]]},"369":{"position":[[58,8]]},"402":{"position":[[4269,8]]},"434":{"position":[[496,9]]},"440":{"position":[[26,8]]},"540":{"position":[[412,8],[510,8]]},"637":{"position":[[882,8]]},"758":{"position":[[68,8]]},"759":{"position":[[77,8]]},"768":{"position":[[64,8]]},"769":{"position":[[74,8]]},"778":{"position":[[299,8]]}},"keywords":{}}],["standardaddit",{"_index":3859,"title":{},"content":{"401":{"position":[[269,18]]}},"keywords":{}}],["start",{"_index":256,"title":{"357":{"position":[[8,7]]},"777":{"position":[[0,6]]}},"content":{"7":{"position":[[481,5]]},"23":{"position":[[362,5]]},"27":{"position":[[93,5],[1063,7]]},"33":{"position":[[1,5]]},"36":{"position":[[7768,5]]},"47":{"position":[[27,5]]},"52":{"position":[[223,6],[691,5]]},"53":{"position":[[664,8]]},"54":{"position":[[1062,8]]},"55":{"position":[[642,5]]},"65":{"position":[[888,5]]},"148":{"position":[[204,8]]},"177":{"position":[[204,8]]},"191":{"position":[[204,8]]},"200":{"position":[[75,8]]},"209":{"position":[[1,5],[33,5]]},"229":{"position":[[7768,5]]},"244":{"position":[[362,5]]},"255":{"position":[[234,8]]},"257":{"position":[[275,8]]},"259":{"position":[[219,5]]},"279":{"position":[[6365,5]]},"293":{"position":[[209,5]]},"309":{"position":[[2405,5]]},"310":{"position":[[36,5],[104,5],[199,6]]},"314":{"position":[[1729,8]]},"323":{"position":[[131,7]]},"326":{"position":[[124,6]]},"330":{"position":[[1224,7]]},"331":{"position":[[55,8]]},"333":{"position":[[732,5],[1089,6],[1269,6],[1276,5]]},"335":{"position":[[21,8]]},"338":{"position":[[486,5]]},"344":{"position":[[627,8]]},"345":{"position":[[842,8],[866,5]]},"347":{"position":[[169,8]]},"349":{"position":[[2137,5],[2419,5],[3823,8]]},"352":{"position":[[329,5],[338,5]]},"354":{"position":[[308,5],[317,5]]},"358":{"position":[[1992,8],[5225,5]]},"359":{"position":[[2698,5]]},"369":{"position":[[313,8]]},"373":{"position":[[400,5],[413,8]]},"379":{"position":[[1087,6]]},"383":{"position":[[1894,7]]},"385":{"position":[[189,6]]},"402":{"position":[[4418,5]]},"404":{"position":[[393,8]]},"446":{"position":[[168,5]]},"452":{"position":[[536,5]]},"453":{"position":[[22,5]]},"454":{"position":[[49,5]]},"455":{"position":[[61,7],[150,6],[356,5],[1051,5]]},"481":{"position":[[101,5],[224,5]]},"485":{"position":[[29,6]]},"498":{"position":[[829,5],[905,5]]},"504":{"position":[[315,8]]},"513":{"position":[[422,5]]},"522":{"position":[[697,5],[712,5]]},"523":{"position":[[319,6]]},"528":{"position":[[480,5]]},"529":{"position":[[11,7]]},"530":{"position":[[76,5],[199,5]]},"533":{"position":[[86,8]]},"534":{"position":[[782,5],[882,5],[951,5]]},"535":{"position":[[1266,7],[1307,5]]},"540":{"position":[[2274,5],[3186,5]]},"545":{"position":[[244,5]]},"547":{"position":[[1224,6]]},"556":{"position":[[147,7]]},"626":{"position":[[1283,5],[1373,5]]},"627":{"position":[[1336,5],[1426,5]]},"628":{"position":[[1308,5],[1398,5]]},"637":{"position":[[1749,6]]},"639":{"position":[[316,6]]},"643":{"position":[[303,6]]},"651":{"position":[[96,5],[133,5],[168,5]]},"652":{"position":[[269,5],[304,5],[341,5],[376,5]]},"654":{"position":[[490,6]]},"658":{"position":[[512,5]]},"669":{"position":[[307,5]]},"670":{"position":[[228,5]]},"671":{"position":[[204,5]]},"754":{"position":[[1,6],[264,5],[367,5]]},"766":{"position":[[1,6],[249,5],[349,5]]},"777":{"position":[[1,6]]},"795":{"position":[[133,8]]},"803":{"position":[[97,6],[197,5]]},"804":{"position":[[100,6],[201,5]]}},"keywords":{}}],["start("<procedur",{"_index":5640,"title":{},"content":{"777":{"position":[[187,25]]}},"keywords":{}}],["start("test1.rb"",{"_index":5643,"title":{},"content":{"777":{"position":[[458,27]]}},"keywords":{}}],["start/end",{"_index":4190,"title":{"481":{"position":[[0,9]]}},"content":{},"keywords":{}}],["start/go",{"_index":4850,"title":{},"content":{"658":{"position":[[485,8]]}},"keywords":{}}],["start_char",{"_index":1191,"title":{},"content":{"52":{"position":[[761,10]]}},"keywords":{}}],["start_cmd_log",{"_index":4939,"title":{},"content":{"662":{"position":[[4052,13]]}},"keywords":{}}],["start_log",{"_index":4940,"title":{},"content":{"662":{"position":[[4106,13]]}},"keywords":{}}],["start_new_scriptrunner_message_log",{"_index":4941,"title":{},"content":{"662":{"position":[[4160,34]]}},"keywords":{}}],["start_new_server_message_log",{"_index":4942,"title":{},"content":{"662":{"position":[[4235,28]]}},"keywords":{}}],["start_raw_logging_interfac",{"_index":5521,"title":{"754":{"position":[[0,28]]}},"content":{},"keywords":{}}],["start_raw_logging_interface("<interfac",{"_index":5522,"title":{},"content":{"754":{"position":[[115,47]]}},"keywords":{}}],["start_raw_logging_interface("int1"",{"_index":5524,"title":{},"content":{"754":{"position":[[416,45]]}},"keywords":{}}],["start_raw_logging_rout",{"_index":5608,"title":{"766":{"position":[[0,25]]}},"content":{},"keywords":{}}],["start_raw_logging_router("<rout",{"_index":5609,"title":{},"content":{"766":{"position":[[112,41]]}},"keywords":{}}],["start_raw_logging_router("router1"",{"_index":5610,"title":{},"content":{"766":{"position":[[398,45]]}},"keywords":{}}],["start_tim",{"_index":3884,"title":{},"content":{"402":{"position":[[2723,11],[3730,11],[4241,10],[4380,10],[4567,10],[4590,10],[4736,10]]}},"keywords":{}}],["start_tlm_log",{"_index":4943,"title":{},"content":{"662":{"position":[[4304,13]]}},"keywords":{}}],["starttim",{"_index":3906,"title":{},"content":{"402":{"position":[[4674,9]]},"626":{"position":[[1256,10]]},"627":{"position":[[1309,10]]},"628":{"position":[[1281,10]]}},"keywords":{}}],["startup",{"_index":2030,"title":{},"content":{"133":{"position":[[66,7]]}},"keywords":{}}],["stash",{"_index":5620,"title":{"770":{"position":[[0,8]]}},"content":{"771":{"position":[[8,5],[151,5],[168,5]]},"772":{"position":[[23,5],[145,5]]},"773":{"position":[[17,5]]},"774":{"position":[[17,5]]},"775":{"position":[[11,5],[168,5]]}},"keywords":{}}],["stash_al",{"_index":5632,"title":{"773":{"position":[[0,10]]}},"content":{"773":{"position":[[85,11],[177,11]]}},"keywords":{}}],["stash_delet",{"_index":5636,"title":{"775":{"position":[[0,13]]}},"content":{},"keywords":{}}],["stash_delete("<stash",{"_index":5637,"title":{},"content":{"775":{"position":[[79,28]]}},"keywords":{}}],["stash_delete("run_count"",{"_index":5638,"title":{},"content":{"775":{"position":[[213,35]]}},"keywords":{}}],["stash_get",{"_index":5629,"title":{"772":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_get("<stash",{"_index":5630,"title":{},"content":{"772":{"position":[[59,25]]}},"keywords":{}}],["stash_get('run_count",{"_index":5631,"title":{},"content":{"772":{"position":[[190,22]]}},"keywords":{}}],["stash_key",{"_index":5635,"title":{"774":{"position":[[0,11]]}},"content":{"774":{"position":[[63,12]]}},"keywords":{}}],["stash_set",{"_index":5621,"title":{"771":{"position":[[0,10]]}},"content":{},"keywords":{}}],["stash_set("<stash",{"_index":5622,"title":{},"content":{"771":{"position":[[44,25]]}},"keywords":{}}],["stash_set('run_count",{"_index":5626,"title":{},"content":{"771":{"position":[[218,22]]}},"keywords":{}}],["stash_set('setpoint",{"_index":5627,"title":{},"content":{"771":{"position":[[244,21]]}},"keywords":{}}],["stat",{"_index":3401,"title":{},"content":{"367":{"position":[[1058,6]]},"369":{"position":[[1003,5],[2494,5],[3865,5]]}},"keywords":{}}],["state",{"_index":423,"title":{},"content":{"20":{"position":[[489,5]]},"36":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"39":{"position":[[257,5]]},"40":{"position":[[827,5],[843,5],[1156,5],[1172,5],[1291,5],[1309,5]]},"69":{"position":[[630,5]]},"70":{"position":[[53,5]]},"71":{"position":[[61,5]]},"72":{"position":[[64,5]]},"73":{"position":[[137,5]]},"74":{"position":[[160,5]]},"75":{"position":[[159,5]]},"76":{"position":[[151,5]]},"115":{"position":[[306,6]]},"229":{"position":[[2684,6],[2831,6],[3071,5],[3107,5],[3167,5],[3285,6],[3375,6],[3461,5],[3568,5],[3582,5],[3677,5],[3734,5],[3847,5]]},"253":{"position":[[921,5],[936,5]]},"279":{"position":[[1909,6],[2043,6],[2310,5],[2370,5],[2406,5],[2438,5],[2489,5],[2628,5],[2642,5],[2655,5],[2755,5],[2801,5],[2858,5],[8686,6],[8706,5],[8873,6],[10438,5]]},"299":{"position":[[276,5],[288,5],[363,5],[377,5],[525,5],[539,5],[552,5],[565,5],[1090,5],[1111,5]]},"304":{"position":[[817,7],[1189,5],[1203,5]]},"305":{"position":[[853,5],[900,7],[1467,5],[1481,5]]},"348":{"position":[[898,5],[939,7],[965,5],[1005,7],[1108,7],[1167,7],[1553,5],[1594,5],[1636,5]]},"350":{"position":[[941,6],[1218,6],[1378,5]]},"358":{"position":[[3034,5],[3048,5],[4204,6],[4291,5],[4328,5],[4983,5],[4997,5]]},"359":{"position":[[1634,5],[1648,5]]},"411":{"position":[[81,6]]},"424":{"position":[[84,5]]},"435":{"position":[[286,6]]},"466":{"position":[[54,5]]},"467":{"position":[[301,6],[375,6],[394,5]]},"468":{"position":[[114,6],[275,5]]},"473":{"position":[[323,6],[362,5],[1001,5],[1086,5]]},"487":{"position":[[240,6]]},"530":{"position":[[256,5]]},"551":{"position":[[107,6],[180,6]]},"561":{"position":[[118,5]]},"611":{"position":[[346,5]]},"612":{"position":[[1010,5],[1073,5],[1120,5]]},"619":{"position":[[942,5],[1005,5],[1052,5]]},"635":{"position":[[237,5]]},"650":{"position":[[1285,5],[1337,5]]},"652":{"position":[[1253,5]]},"659":{"position":[[520,5]]},"690":{"position":[[1465,9]]},"692":{"position":[[451,7]]},"703":{"position":[[39,6]]},"704":{"position":[[39,5]]},"741":{"position":[[1722,6]]},"743":{"position":[[28,5],[287,6]]},"756":{"position":[[142,6],[544,6],[1102,6]]},"765":{"position":[[136,6],[520,6],[1063,6]]}},"keywords":{}}],["state"",{"_index":2339,"title":{},"content":{"219":{"position":[[541,11]]}},"keywords":{}}],["statement",{"_index":1055,"title":{},"content":{"44":{"position":[[1500,11]]},"349":{"position":[[2640,9],[3220,9],[3318,9],[3378,9],[4486,10]]},"560":{"position":[[342,10],[383,9]]},"566":{"position":[[27,11],[139,10],[204,9],[297,10],[396,10],[685,10]]},"658":{"position":[[1304,10]]},"722":{"position":[[1125,9]]},"723":{"position":[[892,9]]},"724":{"position":[[678,9]]},"726":{"position":[[737,9]]},"727":{"position":[[788,9]]},"728":{"position":[[603,9]]},"729":{"position":[[533,9]]},"778":{"position":[[333,9],[362,10]]}},"keywords":{}}],["static",{"_index":2517,"title":{},"content":{"258":{"position":[[1183,6],[1389,6]]},"268":{"position":[[391,6]]},"440":{"position":[[703,6],[786,6]]}},"keywords":{}}],["static_config",{"_index":3366,"title":{},"content":{"364":{"position":[[544,15],[691,15],[833,15],[981,15],[1127,15]]}},"keywords":{}}],["statist",{"_index":2205,"title":{},"content":{"209":{"position":[[458,11]]},"424":{"position":[[766,11],[1559,11]]},"430":{"position":[[744,11]]}},"keywords":{}}],["statu",{"_index":305,"title":{"516":{"position":[[0,6]]}},"content":{"9":{"position":[[567,7]]},"33":{"position":[[646,6],[905,6]]},"42":{"position":[[2319,6]]},"64":{"position":[[788,6],[817,8],[893,6]]},"83":{"position":[[2026,7]]},"85":{"position":[[193,6]]},"217":{"position":[[698,7],[1100,6],[2303,6]]},"219":{"position":[[1279,6]]},"299":{"position":[[87,6]]},"304":{"position":[[918,6]]},"305":{"position":[[1135,6]]},"342":{"position":[[445,6]]},"346":{"position":[[43,6]]},"355":{"position":[[563,6],[659,6]]},"358":{"position":[[4749,6],[5130,6],[5643,7]]},"467":{"position":[[468,6],[773,6]]},"509":{"position":[[55,6]]},"513":{"position":[[103,6]]},"516":{"position":[[5,6]]},"529":{"position":[[326,6]]},"632":{"position":[[576,6],[788,6]]},"707":{"position":[[563,6]]},"750":{"position":[[22,6],[78,6]]},"764":{"position":[[18,6],[71,6]]}},"keywords":{}}],["status"",{"_index":246,"title":{},"content":{"7":{"position":[[195,12],[871,12]]},"8":{"position":[[215,12],[366,12]]},"9":{"position":[[223,12]]},"64":{"position":[[692,12]]},"213":{"position":[[923,12]]},"219":{"position":[[1316,12]]},"276":{"position":[[622,12]]}},"keywords":{}}],["status\\naddit",{"_index":301,"title":{},"content":{"9":{"position":[[389,18]]}},"keywords":{}}],["status_bar",{"_index":4858,"title":{},"content":{"661":{"position":[[277,10]]},"662":{"position":[[3959,10]]}},"keywords":{}}],["statusaddit",{"_index":306,"title":{},"content":{"9":{"position":[[716,16]]}},"keywords":{}}],["statusclear",{"_index":4861,"title":{},"content":{"662":{"position":[[163,11]]}},"keywords":{}}],["statusget_all_target_info",{"_index":4855,"title":{},"content":{"661":{"position":[[151,25]]}},"keywords":{}}],["stay",{"_index":3487,"title":{},"content":{"369":{"position":[[2462,5]]}},"keywords":{}}],["stddev",{"_index":3899,"title":{},"content":{"402":{"position":[[3341,7]]},"626":{"position":[[515,6],[1242,6]]},"627":{"position":[[549,6],[1295,6]]},"628":{"position":[[533,6],[1267,6]]}},"keywords":{}}],["stdout",{"_index":3164,"title":{},"content":{"349":{"position":[[2868,7]]},"362":{"position":[[526,6],[856,6],[1178,6]]}},"keywords":{}}],["step",{"_index":592,"title":{"335":{"position":[[5,6]]},"560":{"position":[[40,6]]}},"content":{"27":{"position":[[963,5]]},"44":{"position":[[107,5]]},"55":{"position":[[1940,5]]},"209":{"position":[[427,4]]},"349":{"position":[[4684,4],[4773,4]]},"378":{"position":[[1583,6]]},"380":{"position":[[1378,4]]},"424":{"position":[[1040,4]]},"452":{"position":[[222,6]]},"535":{"position":[[1156,5]]},"536":{"position":[[239,4],[265,4]]},"551":{"position":[[295,6]]},"560":{"position":[[291,5],[509,5]]},"797":{"position":[[26,4]]}},"keywords":{}}],["step_mod",{"_index":5724,"title":{"797":{"position":[[0,10]]}},"content":{"797":{"position":[[120,11]]}},"keywords":{}}],["steps_to_mov",{"_index":4464,"title":{},"content":{"551":{"position":[[900,13],[1312,15],[1367,13]]}},"keywords":{}}],["stern",{"_index":2999,"title":{},"content":{"326":{"position":[[884,5]]}},"keywords":{}}],["still",{"_index":320,"title":{"95":{"position":[[13,5]]}},"content":{"11":{"position":[[244,5]]},"36":{"position":[[2195,5],[8241,5],[10584,5]]},"67":{"position":[[190,5]]},"83":{"position":[[3289,5]]},"225":{"position":[[1288,5]]},"229":{"position":[[2195,5],[8241,5]]},"237":{"position":[[185,5]]},"239":{"position":[[66,5]]},"279":{"position":[[3397,5],[4768,5],[5461,5],[6584,5],[6900,5]]},"290":{"position":[[256,5]]},"309":{"position":[[4043,5]]},"386":{"position":[[325,5]]},"427":{"position":[[238,5]]},"565":{"position":[[106,5]]},"661":{"position":[[96,5]]},"793":{"position":[[311,5]]}},"keywords":{}}],["stop",{"_index":1039,"title":{},"content":{"44":{"position":[[386,4],[835,4],[1548,4]]},"50":{"position":[[623,7]]},"67":{"position":[[1842,4],[1853,5],[2373,4],[2621,4],[3347,5],[4053,5],[4102,4]]},"69":{"position":[[217,4]]},"73":{"position":[[210,5],[375,4],[825,5],[892,4],[904,5],[1284,4],[1639,4]]},"74":{"position":[[234,5],[408,4]]},"75":{"position":[[233,5],[424,4]]},"76":{"position":[[233,5],[423,4]]},"77":{"position":[[449,5],[554,4],[886,5]]},"111":{"position":[[570,4],[590,4]]},"225":{"position":[[1104,5]]},"255":{"position":[[247,8]]},"271":{"position":[[1134,5]]},"314":{"position":[[633,4]]},"333":{"position":[[1096,5],[1310,5],[1316,4]]},"349":{"position":[[416,4],[2467,8],[2503,4],[2526,6],[4716,4],[4928,5]]},"373":{"position":[[509,4]]},"382":{"position":[[104,4],[253,4],[322,4]]},"530":{"position":[[660,4]]},"535":{"position":[[832,4]]},"547":{"position":[[802,7]]},"552":{"position":[[2731,5]]},"555":{"position":[[158,7]]},"565":{"position":[[112,4]]},"566":{"position":[[336,4]]},"569":{"position":[[48,7],[696,8],[1005,7]]},"578":{"position":[[107,5]]},"658":{"position":[[726,4],[743,4]]},"722":{"position":[[294,4]]},"723":{"position":[[188,4]]},"724":{"position":[[284,4]]},"725":{"position":[[164,4]]},"726":{"position":[[176,6],[720,4]]},"727":{"position":[[158,6],[771,4]]},"728":{"position":[[120,5],[586,4]]},"729":{"position":[[109,5],[516,4]]},"755":{"position":[[1,5],[262,4],[364,4]]},"767":{"position":[[1,5],[247,4],[346,4]]},"793":{"position":[[489,5]]}},"keywords":{}}],["stop_background_task",{"_index":4944,"title":{},"content":{"662":{"position":[[4358,20]]}},"keywords":{}}],["stop_bit",{"_index":2920,"title":{},"content":{"314":{"position":[[665,9],[1301,9]]}},"keywords":{}}],["stop_cmd_log",{"_index":4945,"title":{},"content":{"662":{"position":[[4419,12]]}},"keywords":{}}],["stop_log",{"_index":4946,"title":{},"content":{"662":{"position":[[4472,12]]}},"keywords":{}}],["stop_raw_logging_interfac",{"_index":5525,"title":{"755":{"position":[[0,27]]}},"content":{},"keywords":{}}],["stop_raw_logging_interface("<interfac",{"_index":5526,"title":{},"content":{"755":{"position":[[114,46]]}},"keywords":{}}],["stop_raw_logging_interface("int1"",{"_index":5527,"title":{},"content":{"755":{"position":[[412,44]]}},"keywords":{}}],["stop_raw_logging_rout",{"_index":5611,"title":{"767":{"position":[[0,24]]}},"content":{},"keywords":{}}],["stop_raw_logging_router("<rout",{"_index":5612,"title":{},"content":{"767":{"position":[[111,40]]}},"keywords":{}}],["stop_raw_logging_router("router1"",{"_index":5613,"title":{},"content":{"767":{"position":[[394,44]]}},"keywords":{}}],["stop_tlm_log",{"_index":4947,"title":{},"content":{"662":{"position":[[4525,12]]}},"keywords":{}}],["stopped"",{"_index":520,"title":{},"content":{"23":{"position":[[306,13]]}},"keywords":{}}],["storag",{"_index":1098,"title":{},"content":{"48":{"position":[[2331,7]]},"258":{"position":[[1350,7]]},"268":{"position":[[75,7],[253,7],[314,8],[336,7]]},"309":{"position":[[751,7],[872,7],[1200,7]]},"439":{"position":[[64,7],[277,7],[314,8]]},"440":{"position":[[440,7],[731,7]]},"770":{"position":[[87,7],[127,7]]}},"keywords":{}}],["storage"",{"_index":3949,"title":{},"content":{"404":{"position":[[884,13]]}},"keywords":{}}],["store",{"_index":49,"title":{},"content":{"2":{"position":[[328,5],[482,5]]},"27":{"position":[[568,5]]},"36":{"position":[[624,6],[758,5],[897,5],[945,6]]},"46":{"position":[[44,5],[135,6]]},"48":{"position":[[584,6],[623,6],[2289,6],[2941,5],[3367,5],[4079,6]]},"74":{"position":[[670,6],[730,6]]},"82":{"position":[[722,5]]},"96":{"position":[[159,5]]},"141":{"position":[[526,5],[801,5],[831,5],[841,6]]},"188":{"position":[[486,5],[511,5],[541,5],[551,6]]},"214":{"position":[[192,5]]},"217":{"position":[[619,5],[676,5],[1193,5]]},"229":{"position":[[624,6],[758,5],[897,5],[945,6]]},"240":{"position":[[1,6],[147,5],[286,5],[334,6]]},"267":{"position":[[28,5],[134,5]]},"268":{"position":[[51,6]]},"271":{"position":[[1313,5]]},"275":{"position":[[548,6],[701,8],[949,6]]},"279":{"position":[[619,6],[753,5],[892,5],[940,6]]},"287":{"position":[[1,6],[156,5],[295,5],[343,6]]},"343":{"position":[[419,5],[573,5]]},"364":{"position":[[129,6]]},"369":{"position":[[3492,7]]},"380":{"position":[[213,6]]},"406":{"position":[[178,7]]},"424":{"position":[[1386,6]]},"429":{"position":[[273,6]]},"430":{"position":[[727,6]]},"432":{"position":[[107,6]]},"464":{"position":[[211,6]]},"522":{"position":[[525,5]]},"526":{"position":[[97,6]]},"540":{"position":[[4118,5]]},"544":{"position":[[836,6]]},"548":{"position":[[152,5]]},"571":{"position":[[24,5]]},"691":{"position":[[1133,9]]},"770":{"position":[[33,5],[194,5]]},"803":{"position":[[178,5],[237,5]]}},"keywords":{}}],["str",{"_index":5184,"title":{},"content":{"693":{"position":[[631,3]]}},"keywords":{}}],["straight",{"_index":3790,"title":{},"content":{"390":{"position":[[1193,8]]}},"keywords":{}}],["strategi",{"_index":1338,"title":{},"content":{"65":{"position":[[311,8]]}},"keywords":{}}],["stream",{"_index":55,"title":{"110":{"position":[[5,9]]},"402":{"position":[[0,9]]}},"content":{"2":{"position":[[429,7]]},"48":{"position":[[4045,6],[4172,7]]},"50":{"position":[[234,7]]},"58":{"position":[[88,8]]},"59":{"position":[[76,8]]},"60":{"position":[[76,8]]},"62":{"position":[[168,7]]},"104":{"position":[[795,6]]},"105":{"position":[[682,6]]},"109":{"position":[[294,9]]},"110":{"position":[[10,9],[116,9],[978,6],[2243,9]]},"111":{"position":[[874,6]]},"117":{"position":[[329,6]]},"121":{"position":[[14,7],[69,7]]},"183":{"position":[[173,7]]},"258":{"position":[[1254,7]]},"267":{"position":[[94,8],[381,8]]},"343":{"position":[[520,7],[1591,7]]},"345":{"position":[[634,9],[682,6],[740,9],[786,6]]},"358":{"position":[[7920,6]]},"367":{"position":[[696,7]]},"402":{"position":[[0,9],[145,9],[197,6],[1167,6],[1468,6],[2133,9],[2246,6],[2350,6],[3367,6],[4424,9],[4853,9]]},"446":{"position":[[83,9]]},"717":{"position":[[1,7],[304,7],[405,6]]}},"keywords":{}}],["stream_id",{"_index":3625,"title":{},"content":{"379":{"position":[[427,9],[1271,9],[1803,9],[2303,9],[2850,9]]}},"keywords":{}}],["streamapi",{"_index":3874,"title":{},"content":{"402":{"position":[[2038,10]]}},"keywords":{}}],["streamingapi",{"_index":3869,"title":{},"content":{"402":{"position":[[1647,12]]}},"keywords":{}}],["streamingchannel",{"_index":3870,"title":{},"content":{"402":{"position":[[1699,19]]}},"keywords":{}}],["strict",{"_index":1542,"title":{},"content":{"82":{"position":[[1100,6]]},"432":{"position":[[911,6]]}},"keywords":{}}],["strike",{"_index":4180,"title":{},"content":{"473":{"position":[[1174,6]]}},"keywords":{}}],["string",{"_index":181,"title":{"9":{"position":[[0,6]]}},"content":{"5":{"position":[[1087,6]]},"9":{"position":[[31,6],[102,7],[279,7],[443,7],[608,7],[752,6],[822,7],[921,6],[949,6]]},"31":{"position":[[586,7],[674,7]]},"35":{"position":[[438,6],[729,7],[1430,7]]},"36":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"37":{"position":[[231,6],[522,7],[1223,7]]},"40":{"position":[[1375,6]]},"48":{"position":[[1534,6],[2022,6],[4293,6],[5179,6]]},"50":{"position":[[557,6]]},"53":{"position":[[775,6]]},"54":{"position":[[1173,6]]},"55":{"position":[[2073,6]]},"56":{"position":[[569,6],[701,6],[1075,6]]},"60":{"position":[[578,6]]},"61":{"position":[[654,6],[875,6],[1118,6],[1382,6],[1514,6],[2247,6]]},"62":{"position":[[365,6]]},"67":{"position":[[1726,7],[1806,6],[1934,6],[2403,7],[4615,6]]},"73":{"position":[[194,6],[247,7],[1478,7],[1742,7]]},"76":{"position":[[217,6],[270,6]]},"86":{"position":[[171,6]]},"91":{"position":[[519,6],[696,6],[820,6],[836,6],[967,6],[1019,6],[1503,6],[1565,6]]},"92":{"position":[[503,6],[611,6],[627,6],[758,6],[810,6],[861,6],[932,6],[1002,6],[1070,6]]},"115":{"position":[[1905,6]]},"213":{"position":[[239,8]]},"214":{"position":[[917,6],[2153,6]]},"216":{"position":[[521,6],[755,6],[820,6],[893,6]]},"217":{"position":[[2642,6],[2876,6],[2941,6],[3014,6]]},"218":{"position":[[1119,6],[1931,6]]},"219":{"position":[[45,6],[315,6],[1245,6],[1365,6],[1432,6]]},"220":{"position":[[1250,6],[2502,6]]},"225":{"position":[[887,7],[975,7],[1040,6],[1120,6],[1326,6]]},"228":{"position":[[467,6],[758,7],[1459,7],[2151,6]]},"229":{"position":[[1429,7],[1472,6],[2792,8],[3064,6],[3434,6],[3612,6],[3624,6]]},"230":{"position":[[250,6],[541,7],[1242,7],[1888,6]]},"231":{"position":[[637,6],[928,7],[1603,7]]},"232":{"position":[[473,6],[764,7],[1439,7]]},"233":{"position":[[515,7]]},"234":{"position":[[298,7]]},"243":{"position":[[36,6],[135,6],[302,6]]},"267":{"position":[[51,8]]},"271":{"position":[[911,7],[999,7],[1079,6],[1119,6],[1363,7],[1374,6]]},"275":{"position":[[1256,7]]},"278":{"position":[[465,6],[752,7]]},"279":{"position":[[1424,7],[1467,6],[2004,8],[2363,6],[2717,6],[2729,6],[7417,7]]},"280":{"position":[[257,6],[544,7]]},"281":{"position":[[588,6],[761,7]]},"282":{"position":[[257,6],[430,7]]},"283":{"position":[[508,7]]},"284":{"position":[[300,7]]},"292":{"position":[[36,6],[80,6],[148,6]]},"293":{"position":[[78,6]]},"299":{"position":[[1514,6]]},"304":{"position":[[1236,6]]},"305":{"position":[[1514,6]]},"358":{"position":[[3086,6],[4474,6],[4481,8],[4534,7],[4610,6],[5030,6]]},"359":{"position":[[1686,6]]},"379":{"position":[[895,6]]},"398":{"position":[[29,7]]},"498":{"position":[[618,6]]},"540":{"position":[[720,7],[814,7],[4101,7],[4560,7],[4695,6],[4761,7]]},"557":{"position":[[447,7]]},"564":{"position":[[50,7]]},"565":{"position":[[290,6],[426,6],[504,6],[588,7]]},"609":{"position":[[292,6],[306,6]]},"610":{"position":[[292,6],[306,6]]},"611":{"position":[[75,6],[106,6],[527,6],[554,6]]},"637":{"position":[[437,6],[544,6]]},"659":{"position":[[847,7],[894,6],[930,6],[1058,7],[1240,7]]},"664":{"position":[[90,6]]},"665":{"position":[[80,7],[138,6],[634,6],[682,6],[746,6],[898,6],[946,6],[1010,6]]},"670":{"position":[[475,6],[558,6],[887,6]]},"685":{"position":[[25,6]]},"686":{"position":[[203,6]]},"691":{"position":[[87,7]]},"697":{"position":[[1430,6]]},"698":{"position":[[729,7]]},"699":{"position":[[360,6]]},"701":{"position":[[537,8]]},"703":{"position":[[604,8]]},"704":{"position":[[391,7]]},"710":{"position":[[663,7]]},"711":{"position":[[548,7]]},"712":{"position":[[542,7]]},"713":{"position":[[360,7]]},"722":{"position":[[1393,8]]},"723":{"position":[[1160,8]]},"726":{"position":[[1005,8]]},"727":{"position":[[1056,8]]},"748":{"position":[[132,6]]},"759":{"position":[[613,9]]},"769":{"position":[[617,9]]},"786":{"position":[[446,6],[652,6],[924,6]]},"787":{"position":[[502,6],[1114,6],[1414,6]]},"795":{"position":[[808,6],[966,6]]}},"keywords":{}}],["string"",{"_index":892,"title":{},"content":{"40":{"position":[[1406,12]]},"299":{"position":[[1471,12]]},"665":{"position":[[668,13],[932,13]]},"670":{"position":[[123,13]]}},"keywords":{}}],["stringent",{"_index":4562,"title":{},"content":{"568":{"position":[[583,9]]}},"keywords":{}}],["strip",{"_index":17,"title":{},"content":{"1":{"position":[[187,7]]},"8":{"position":[[240,5],[415,8]]},"9":{"position":[[1049,9]]},"52":{"position":[[734,5],[751,5]]},"56":{"position":[[728,5]]},"57":{"position":[[562,5],[763,5],[771,5]]},"61":{"position":[[1900,5]]},"65":{"position":[[240,5]]},"67":{"position":[[3741,9]]}},"keywords":{}}],["strive",{"_index":2584,"title":{},"content":{"271":{"position":[[1303,6]]}},"keywords":{}}],["strong",{"_index":4068,"title":{},"content":{"429":{"position":[[125,6]]}},"keywords":{}}],["strongli",{"_index":4066,"title":{},"content":{"429":{"position":[[17,8]]}},"keywords":{}}],["struct",{"_index":2974,"title":{},"content":{"321":{"position":[[1035,6],[1097,6]]}},"keywords":{}}],["structur",{"_index":1058,"title":{"45":{"position":[[4,9]]},"124":{"position":[[17,10]]}},"content":{"46":{"position":[[150,11]]},"55":{"position":[[736,9]]},"124":{"position":[[46,9]]},"183":{"position":[[545,11]]},"225":{"position":[[699,11]]},"249":{"position":[[136,10]]},"271":{"position":[[726,11]]},"272":{"position":[[90,10]]},"295":{"position":[[136,10]]},"301":{"position":[[1519,9]]},"320":{"position":[[120,9]]},"321":{"position":[[1330,9]]},"338":{"position":[[357,9],[394,9]]},"349":{"position":[[587,10]]},"358":{"position":[[1253,10],[6196,9]]},"378":{"position":[[306,10]]},"382":{"position":[[613,11]]},"496":{"position":[[180,9]]},"532":{"position":[[16,10]]}},"keywords":{}}],["studio",{"_index":897,"title":{},"content":{"42":{"position":[[47,6]]},"324":{"position":[[8,6]]}},"keywords":{}}],["stuf",{"_index":1163,"title":{},"content":{"51":{"position":[[30,8]]}},"keywords":{}}],["stupid",{"_index":4386,"title":{"543":{"position":[[21,8]]}},"content":{},"keywords":{}}],["style",{"_index":658,"title":{},"content":{"36":{"position":[[86,5]]},"61":{"position":[[715,5]]},"229":{"position":[[86,5]]},"279":{"position":[[81,5]]},"320":{"position":[[456,5]]},"540":{"position":[[1224,5],[1826,6],[2715,6]]},"546":{"position":[[427,5]]},"611":{"position":[[541,5]]},"659":{"position":[[823,5]]}},"keywords":{}}],["stylesheet",{"_index":4627,"title":{},"content":{"590":{"position":[[17,10]]}},"keywords":{}}],["su",{"_index":2867,"title":{},"content":{"309":{"position":[[2010,2]]}},"keywords":{}}],["sub",{"_index":1768,"title":{},"content":{"93":{"position":[[544,3]]},"340":{"position":[[178,3]]}},"keywords":{}}],["subarray",{"_index":5482,"title":{},"content":{"748":{"position":[[91,8]]},"756":{"position":[[93,8]]},"765":{"position":[[90,8]]}},"keywords":{}}],["subclass",{"_index":1469,"title":{},"content":{"78":{"position":[[292,10],[440,10],[542,11]]},"115":{"position":[[2103,10]]},"214":{"position":[[126,8]]}},"keywords":{}}],["subdirectori",{"_index":3093,"title":{},"content":{"340":{"position":[[286,12]]}},"keywords":{}}],["subject",{"_index":3827,"title":{},"content":{"393":{"position":[[1188,7]]},"424":{"position":[[1264,8],[1580,7]]},"430":{"position":[[103,7]]},"814":{"position":[[108,7]]}},"keywords":{}}],["sublabel",{"_index":4740,"title":{},"content":{"632":{"position":[[368,8],[403,8]]}},"keywords":{}}],["submenu",{"_index":2177,"title":{},"content":{"198":{"position":[[76,7]]}},"keywords":{}}],["submit",{"_index":2278,"title":{},"content":{"215":{"position":[[71,6]]},"401":{"position":[[390,6]]}},"keywords":{}}],["submodul",{"_index":3568,"title":{},"content":{"375":{"position":[[21,10]]},"376":{"position":[[409,9],[441,9]]}},"keywords":{}}],["subroutin",{"_index":5639,"title":{},"content":{"776":{"position":[[51,11]]},"777":{"position":[[165,11]]},"778":{"position":[[45,11],[100,11],[202,11],[534,11]]}},"keywords":{}}],["subscrib",{"_index":2141,"title":{},"content":{"183":{"position":[[184,9]]},"373":{"position":[[77,11]]},"380":{"position":[[1516,9]]},"402":{"position":[[1628,11]]},"425":{"position":[[225,9]]},"426":{"position":[[321,9]]},"715":{"position":[[13,11]]},"716":{"position":[[292,9]]}},"keywords":{}}],["subscribe_limits_ev",{"_index":4948,"title":{},"content":{"662":{"position":[[4578,23]]}},"keywords":{}}],["subscribe_packet",{"_index":4950,"title":{"716":{"position":[[0,17]]}},"content":{"662":{"position":[[4709,17]]},"717":{"position":[[213,17]]}},"keywords":{}}],["subscribe_packet_data",{"_index":4949,"title":{},"content":{"662":{"position":[[4642,21]]}},"keywords":{}}],["subscribe_packets([['inst",{"_index":4533,"title":{},"content":{"563":{"position":[[547,27],[884,27]]},"716":{"position":[[336,27]]},"717":{"position":[[433,27],[936,27]]}},"keywords":{}}],["subscribe_packets(packet",{"_index":5324,"title":{},"content":{"716":{"position":[[164,26]]}},"keywords":{}}],["subscribe_server_messag",{"_index":4951,"title":{},"content":{"662":{"position":[[4727,25]]}},"keywords":{}}],["subscript",{"_index":3686,"title":{"715":{"position":[[12,14]]}},"content":{"380":{"position":[[1463,12]]},"391":{"position":[[410,14]]},"402":{"position":[[1086,16],[1105,12],[1193,12],[1223,12],[1522,12],[1592,12],[1912,13],[2006,12],[2199,12],[4514,12]]},"563":{"position":[[326,12],[358,12]]},"717":{"position":[[37,13]]}},"keywords":{}}],["subsec",{"_index":3659,"title":{},"content":{"379":{"position":[[3181,7]]}},"keywords":{}}],["subset",{"_index":2915,"title":{"591":{"position":[[0,11]]}},"content":{"314":{"position":[[78,6]]},"556":{"position":[[396,6]]},"581":{"position":[[18,10],[63,11]]},"582":{"position":[[233,11],[304,10]]},"591":{"position":[[18,10],[63,11],[814,10],[921,10]]}},"keywords":{}}],["substanti",{"_index":3777,"title":{},"content":{"390":{"position":[[645,11]]}},"keywords":{}}],["substitut",{"_index":3709,"title":{},"content":{"383":{"position":[[1782,12]]}},"keywords":{}}],["subsystem",{"_index":2683,"title":{},"content":{"297":{"position":[[167,9],[228,9]]},"298":{"position":[[401,9]]},"544":{"position":[[359,10],[592,9],[1076,9]]},"546":{"position":[[1077,10]]}},"keywords":{}}],["subtitl",{"_index":3992,"title":{},"content":{"416":{"position":[[217,8]]}},"keywords":{}}],["subwidget",{"_index":4610,"title":{},"content":{"581":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[647,9],[684,9]]},"591":{"position":[[136,10],[196,9],[229,9],[293,11],[342,11],[419,9],[565,9],[616,10]]}},"keywords":{}}],["succe",{"_index":3166,"title":{},"content":{"349":{"position":[[3445,8]]},"556":{"position":[[582,8]]}},"keywords":{}}],["success",{"_index":2434,"title":{},"content":{"251":{"position":[[107,7]]},"313":{"position":[[251,11]]},"349":{"position":[[669,10],[3328,7],[3470,7]]},"355":{"position":[[524,7],[621,7]]},"445":{"position":[[177,10]]},"447":{"position":[[467,7]]},"556":{"position":[[667,11]]},"685":{"position":[[1098,10]]},"722":{"position":[[655,7],[1528,7],[1593,7],[1738,7],[1803,7]]},"723":{"position":[[353,7],[1264,7],[1345,7],[1471,7],[1552,7]]},"724":{"position":[[438,7],[938,7]]},"725":{"position":[[320,7],[819,7]]},"799":{"position":[[107,11]]}},"keywords":{}}],["successfulli",{"_index":845,"title":{},"content":{"36":{"position":[[10190,12]]},"43":{"position":[[332,12]]},"209":{"position":[[401,12]]},"229":{"position":[[10190,12]]},"301":{"position":[[311,12]]},"302":{"position":[[338,12]]},"303":{"position":[[388,12]]},"304":{"position":[[447,12]]},"305":{"position":[[478,12]]},"306":{"position":[[444,12]]},"307":{"position":[[616,12]]},"326":{"position":[[586,12]]},"358":{"position":[[1506,12],[2310,12]]},"359":{"position":[[120,12],[1934,12]]},"454":{"position":[[326,12]]},"568":{"position":[[417,13]]}},"keywords":{}}],["such",{"_index":615,"title":{},"content":{"31":{"position":[[206,4]]},"36":{"position":[[5135,4]]},"55":{"position":[[746,4]]},"56":{"position":[[576,4],[708,4]]},"61":{"position":[[324,4],[1389,4],[1521,4]]},"67":{"position":[[4985,4]]},"86":{"position":[[188,4]]},"126":{"position":[[234,4]]},"183":{"position":[[105,4]]},"184":{"position":[[112,4]]},"219":{"position":[[87,4]]},"229":{"position":[[5135,4]]},"237":{"position":[[42,4]]},"251":{"position":[[314,4]]},"275":{"position":[[639,4]]},"279":{"position":[[3616,4],[8395,4]]},"302":{"position":[[2171,4],[2392,4]]},"307":{"position":[[227,4]]},"343":{"position":[[980,4]]},"349":{"position":[[1266,4],[1594,4]]},"422":{"position":[[73,4]]},"426":{"position":[[440,4]]},"427":{"position":[[149,4]]},"430":{"position":[[154,4]]},"432":{"position":[[677,4],[793,4],[1164,4]]},"439":{"position":[[285,4]]},"504":{"position":[[178,4]]},"517":{"position":[[125,4]]},"540":{"position":[[3875,4]]},"544":{"position":[[337,4]]},"546":{"position":[[823,4],[885,4],[963,4],[1118,4]]},"552":{"position":[[206,4]]},"560":{"position":[[65,4],[297,4]]},"658":{"position":[[243,4]]},"659":{"position":[[510,4]]},"778":{"position":[[632,4]]}},"keywords":{}}],["sudo",{"_index":2854,"title":{},"content":{"309":{"position":[[1640,4],[1656,4],[1815,4],[1868,4],[1912,4],[2005,4],[2212,4],[2276,4]]},"317":{"position":[[279,4]]},"404":{"position":[[2133,4],[2172,4],[2210,4],[2226,4],[2243,4],[2318,4],[2340,4]]}},"keywords":{}}],["suggest",{"_index":3021,"title":{},"content":{"330":{"position":[[830,9]]}},"keywords":{}}],["suit",{"_index":3,"title":{"83":{"position":[[0,5]]},"532":{"position":[[15,7]]},"534":{"position":[[0,6]]},"535":{"position":[[7,5]]},"794":{"position":[[14,7]]}},"content":{"1":{"position":[[13,5]]},"83":{"position":[[36,5],[384,4]]},"349":{"position":[[1217,5],[4977,5],[5028,7],[5063,6],[5090,5],[5203,5],[5314,5],[5480,5],[5520,5],[5582,5],[5610,5],[5646,5],[5699,5],[5758,6],[5785,5],[5931,5],[6098,5],[6246,5],[6376,5],[6538,5],[6751,5]]},"385":{"position":[[17,5]]},"526":{"position":[[221,5],[347,7]]},"528":{"position":[[52,5]]},"532":{"position":[[32,5],[110,6],[173,5],[202,5],[258,5]]},"533":{"position":[[614,6]]},"534":{"position":[[21,6],[64,5],[351,6],[638,5],[670,6],[795,5]]},"535":{"position":[[18,5],[821,5]]},"546":{"position":[[528,5],[551,8],[655,5],[692,7],[742,6],[1253,6]]},"560":{"position":[[987,7]]},"561":{"position":[[44,5]]},"794":{"position":[[24,6],[74,7],[129,7]]},"795":{"position":[[31,6],[394,6],[1641,5]]}},"keywords":{}}],["suite'",{"_index":4322,"title":{},"content":{"535":{"position":[[776,7]]}},"keywords":{}}],["suite/group",{"_index":4321,"title":{},"content":{"535":{"position":[[662,12]]}},"keywords":{}}],["suite=${3",{"_index":1635,"title":{},"content":{"83":{"position":[[2144,10]]}},"keywords":{}}],["suiteshttps://pkg.go.dev/crypto/tls#pkg",{"_index":603,"title":{},"content":{"29":{"position":[[50,39]]}},"keywords":{}}],["summari",{"_index":3749,"title":{},"content":{"389":{"position":[[305,8]]}},"keywords":{}}],["super",{"_index":770,"title":{"542":{"position":[[2,5]]}},"content":{"36":{"position":[[5620,7]]},"97":{"position":[[19,5]]},"115":{"position":[[213,7],[496,7],[970,7]]},"229":{"position":[[5620,7]]},"279":{"position":[[4100,7]]},"795":{"position":[[1406,7]]}},"keywords":{}}],["super().__init__",{"_index":780,"title":{},"content":{"36":{"position":[[5956,18]]},"229":{"position":[[5956,18]]},"279":{"position":[[4436,18]]},"795":{"position":[[1953,18]]}},"keywords":{}}],["super(allow_empty_data",{"_index":1408,"title":{},"content":{"69":{"position":[[73,23]]}},"keywords":{}}],["suppli",{"_index":14,"title":{},"content":{"1":{"position":[[147,9]]},"12":{"position":[[229,6]]},"64":{"position":[[1309,6]]},"219":{"position":[[169,6],[534,6],[747,6],[1309,6]]},"343":{"position":[[1005,7]]}},"keywords":{}}],["supply32gb",{"_index":3928,"title":{},"content":{"404":{"position":[[291,10]]}},"keywords":{}}],["support",{"_index":285,"title":{"88":{"position":[[0,9]]},"394":{"position":[[5,7]]},"398":{"position":[[31,8]]},"399":{"position":[[0,9]]}},"content":{"8":{"position":[[8,8]]},"9":{"position":[[8,8]]},"36":{"position":[[8247,9]]},"48":{"position":[[3954,9]]},"54":{"position":[[622,8]]},"55":{"position":[[439,8]]},"62":{"position":[[743,7]]},"86":{"position":[[128,10],[274,10],[333,10]]},"88":{"position":[[21,9]]},"91":{"position":[[485,10]]},"92":{"position":[[469,10]]},"93":{"position":[[128,9]]},"95":{"position":[[10,7],[113,7]]},"106":{"position":[[486,8]]},"109":{"position":[[213,7]]},"110":{"position":[[233,7]]},"119":{"position":[[150,7]]},"125":{"position":[[376,9]]},"126":{"position":[[369,7]]},"144":{"position":[[140,7]]},"182":{"position":[[141,7]]},"229":{"position":[[8247,9]]},"257":{"position":[[461,7],[507,7]]},"267":{"position":[[39,7]]},"275":{"position":[[540,7]]},"279":{"position":[[6906,9]]},"301":{"position":[[1256,7]]},"314":{"position":[[124,10]]},"332":{"position":[[105,7]]},"342":{"position":[[599,7]]},"343":{"position":[[929,7]]},"344":{"position":[[538,7]]},"346":{"position":[[1554,7]]},"347":{"position":[[355,7],[688,7],[772,7]]},"348":{"position":[[1362,7]]},"349":{"position":[[1988,10],[3528,7],[3668,7],[3815,7],[3979,7],[4077,7],[4176,7],[4290,7],[4562,7],[4674,7],[4836,7],[4994,7],[5107,7],[5220,7],[5331,7],[5497,7],[5802,7],[5948,7],[6115,7],[6263,7],[6393,7],[6555,7],[6768,7]]},"350":{"position":[[1045,7],[1160,7],[1416,7]]},"351":{"position":[[512,7]]},"352":{"position":[[283,7],[392,7],[522,7],[611,7],[723,7],[820,7],[917,7],[1018,7],[1114,7]]},"353":{"position":[[176,7],[281,7],[370,7],[467,7],[643,7],[728,7],[814,7]]},"354":{"position":[[252,7],[367,7],[469,7],[564,7],[664,7]]},"356":{"position":[[246,7],[326,7],[511,7],[604,7],[690,7],[776,7],[858,7]]},"358":{"position":[[4081,9],[4144,9],[8282,7]]},"359":{"position":[[2925,7]]},"365":{"position":[[167,9]]},"382":{"position":[[515,10]]},"391":{"position":[[510,7]]},"392":{"position":[[587,7]]},"399":{"position":[[64,10]]},"401":{"position":[[68,7],[373,9]]},"432":{"position":[[728,7]]},"454":{"position":[[547,8]]},"514":{"position":[[147,7]]},"515":{"position":[[150,7]]},"519":{"position":[[104,8]]},"539":{"position":[[8,8]]},"562":{"position":[[87,8]]},"564":{"position":[[207,7]]},"583":{"position":[[30,8]]},"584":{"position":[[32,8]]},"585":{"position":[[32,8]]},"586":{"position":[[34,8]]},"657":{"position":[[205,7]]},"693":{"position":[[215,10]]},"722":{"position":[[129,8]]},"754":{"position":[[339,7]]},"755":{"position":[[336,7]]},"766":{"position":[[321,7]]},"767":{"position":[[318,7]]},"777":{"position":[[436,10]]}},"keywords":{}}],["support@openc3.com",{"_index":3307,"title":{},"content":{"359":{"position":[[2999,19]]},"437":{"position":[[82,18]]}},"keywords":{}}],["supportcloud",{"_index":3805,"title":{},"content":{"392":{"position":[[235,12]]}},"keywords":{}}],["supportedal",{"_index":3841,"title":{},"content":{"398":{"position":[[77,12]]}},"keywords":{}}],["supportedonli",{"_index":3848,"title":{},"content":{"398":{"position":[[252,13]]}},"keywords":{}}],["supportedpacket",{"_index":3844,"title":{},"content":{"398":{"position":[[144,15]]}},"keywords":{}}],["supportedpolynomialcalibr",{"_index":3847,"title":{},"content":{"398":{"position":[[217,30]]}},"keywords":{}}],["supportedst",{"_index":3845,"title":{},"content":{"398":{"position":[[178,15]]}},"keywords":{}}],["supportedtelemetri",{"_index":3843,"title":{},"content":{"398":{"position":[[108,18]]}},"keywords":{}}],["supportedunit",{"_index":3846,"title":{},"content":{"398":{"position":[[198,14]]}},"keywords":{}}],["supportkubernet",{"_index":3804,"title":{},"content":{"392":{"position":[[217,17]]}},"keywords":{}}],["supportsupport",{"_index":3808,"title":{},"content":{"392":{"position":[[336,14]]}},"keywords":{}}],["suppos",{"_index":1231,"title":{},"content":{"55":{"position":[[2749,7]]}},"keywords":{}}],["suppress",{"_index":684,"title":{},"content":{"36":{"position":[[1278,10]]},"229":{"position":[[1278,10]]},"279":{"position":[[1273,10]]}},"keywords":{}}],["sure",{"_index":1220,"title":{},"content":{"55":{"position":[[815,4],[1322,4]]},"115":{"position":[[200,4],[483,4],[957,4]]},"306":{"position":[[478,4]]},"307":{"position":[[650,4]]},"309":{"position":[[3728,4]]},"313":{"position":[[90,4]]},"317":{"position":[[200,4]]},"358":{"position":[[6240,4]]},"380":{"position":[[1033,4],[1729,4]]},"385":{"position":[[219,4]]},"386":{"position":[[309,4]]},"404":{"position":[[452,4],[1437,4],[1610,5],[1649,4]]},"455":{"position":[[1017,4]]},"542":{"position":[[999,4]]},"552":{"position":[[2292,4],[2440,4],[2573,4]]},"569":{"position":[[499,4]]}},"keywords":{}}],["suspect",{"_index":4055,"title":{},"content":{"426":{"position":[[1071,7]]}},"keywords":{}}],["svelt",{"_index":2557,"title":{},"content":{"264":{"position":[[376,7]]},"307":{"position":[[262,7]]}},"keywords":{}}],["swap",{"_index":2982,"title":{},"content":{"321":{"position":[[1408,9]]}},"keywords":{}}],["swap=0",{"_index":3024,"title":{},"content":{"330":{"position":[[887,6]]}},"keywords":{}}],["switch",{"_index":16,"title":{},"content":{"1":{"position":[[172,8]]},"112":{"position":[[1025,8]]},"113":{"position":[[621,8]]},"309":{"position":[[3655,9]]},"354":{"position":[[604,6]]},"390":{"position":[[1358,6]]}},"keywords":{}}],["symbol",{"_index":1374,"title":{},"content":{"67":{"position":[[1710,8],[1785,6]]},"545":{"position":[[265,6]]},"693":{"position":[[612,6]]},"697":{"position":[[1073,6]]},"698":{"position":[[714,7]]},"701":{"position":[[522,7]]},"703":{"position":[[589,7]]},"710":{"position":[[648,7]]},"711":{"position":[[533,7]]},"712":{"position":[[527,7]]},"713":{"position":[[345,7]]},"722":{"position":[[1378,7]]},"723":{"position":[[1145,7]]},"726":{"position":[[990,7]]},"727":{"position":[[1041,7]]},"759":{"position":[[597,8]]},"769":{"position":[[601,8]]}},"keywords":{}}],["sync",{"_index":1195,"title":{},"content":{"53":{"position":[[291,4],[330,4],[412,4],[446,4],[682,4],[702,4],[758,4],[929,4],[970,4],[1019,4]]},"54":{"position":[[471,4],[633,4],[689,4],[1080,4],[1100,4],[1156,4],[1327,4],[1369,4],[1488,4]]},"55":{"position":[[450,4],[517,4],[853,4],[1205,4],[1360,4],[1857,4],[1877,4],[2056,4],[2227,4],[2269,4],[2383,4],[2450,4],[2803,4],[2868,4],[3270,4]]},"56":{"position":[[982,4],[1002,4],[1058,4],[1229,4],[1271,4],[1320,4]]},"57":{"position":[[576,4],[824,4],[927,4]]},"60":{"position":[[485,4],[505,4],[561,4],[732,4],[812,4]]},"61":{"position":[[2154,4],[2174,4],[2230,4],[2401,4],[2443,4],[2492,4]]},"62":{"position":[[515,4],[550,4],[595,4]]},"228":{"position":[[1959,4]]},"230":{"position":[[1749,4]]},"324":{"position":[[589,4],[942,6]]},"326":{"position":[[1386,4]]},"455":{"position":[[962,5]]},"545":{"position":[[188,4]]}},"keywords":{}}],["syntax",{"_index":227,"title":{},"content":{"6":{"position":[[753,7],[1111,6]]},"7":{"position":[[1080,7]]},"9":{"position":[[873,7]]},"36":{"position":[[168,7]]},"91":{"position":[[472,8]]},"92":{"position":[[456,8]]},"126":{"position":[[554,7]]},"229":{"position":[[168,7]]},"279":{"position":[[163,7]]},"314":{"position":[[117,6]]},"349":{"position":[[126,6],[4087,6],[4136,6]]},"358":{"position":[[7386,6]]},"505":{"position":[[136,6]]},"529":{"position":[[128,6]]},"540":{"position":[[856,7]]},"552":{"position":[[1837,7],[1997,6]]},"557":{"position":[[104,6],[128,6],[239,6],[275,6]]},"565":{"position":[[525,6]]},"637":{"position":[[852,6],[908,7]]},"658":{"position":[[289,6]]},"664":{"position":[[233,7]]},"665":{"position":[[192,7]]},"668":{"position":[[204,7]]},"669":{"position":[[62,7],[144,7]]},"670":{"position":[[55,7]]},"671":{"position":[[54,7]]},"673":{"position":[[454,7],[691,7]]},"675":{"position":[[89,7]]},"677":{"position":[[34,7],[399,7]]},"678":{"position":[[196,7],[591,7]]},"679":{"position":[[201,7],[604,7]]},"680":{"position":[[270,7],[655,7]]},"681":{"position":[[62,7],[451,7]]},"682":{"position":[[219,7],[638,7]]},"683":{"position":[[224,7],[651,7]]},"684":{"position":[[293,7],[702,7]]},"685":{"position":[[38,7],[111,7]]},"686":{"position":[[48,7]]},"687":{"position":[[175,7]]},"688":{"position":[[79,7]]},"689":{"position":[[81,7]]},"690":{"position":[[62,7]]},"691":{"position":[[110,7]]},"692":{"position":[[100,7]]},"693":{"position":[[241,7]]},"694":{"position":[[66,7]]},"695":{"position":[[79,7]]},"697":{"position":[[341,7]]},"698":{"position":[[260,7]]},"699":{"position":[[417,7],[635,6],[919,7]]},"700":{"position":[[140,7]]},"701":{"position":[[62,7]]},"702":{"position":[[93,7]]},"703":{"position":[[217,7]]},"704":{"position":[[261,7]]},"705":{"position":[[62,7]]},"706":{"position":[[61,7]]},"707":{"position":[[39,7]]},"708":{"position":[[38,7]]},"709":{"position":[[92,7]]},"710":{"position":[[380,7]]},"711":{"position":[[90,7]]},"712":{"position":[[242,7]]},"713":{"position":[[93,7]]},"714":{"position":[[216,7]]},"716":{"position":[[155,7]]},"717":{"position":[[57,7],[116,7]]},"718":{"position":[[61,7]]},"719":{"position":[[73,7]]},"720":{"position":[[69,7]]},"722":{"position":[[154,8],[365,7],[569,7]]},"723":{"position":[[267,7]]},"724":{"position":[[352,7]]},"725":{"position":[[242,7]]},"726":{"position":[[198,7]]},"727":{"position":[[180,7]]},"728":{"position":[[244,6],[294,7]]},"729":{"position":[[130,7]]},"731":{"position":[[115,7],[220,7]]},"732":{"position":[[76,7]]},"733":{"position":[[77,7]]},"734":{"position":[[99,7]]},"735":{"position":[[100,7]]},"736":{"position":[[65,6]]},"737":{"position":[[80,7]]},"738":{"position":[[95,6]]},"739":{"position":[[63,6]]},"740":{"position":[[86,7]]},"741":{"position":[[228,7]]},"742":{"position":[[146,6]]},"743":{"position":[[109,7]]},"744":{"position":[[100,7]]},"746":{"position":[[64,6]]},"747":{"position":[[78,7]]},"748":{"position":[[168,6]]},"750":{"position":[[125,7]]},"751":{"position":[[76,6]]},"752":{"position":[[72,7]]},"753":{"position":[[77,7]]},"754":{"position":[[106,7]]},"755":{"position":[[105,7]]},"756":{"position":[[296,6],[841,6]]},"757":{"position":[[119,7]]},"758":{"position":[[175,7]]},"759":{"position":[[182,7]]},"761":{"position":[[42,7]]},"762":{"position":[[45,7]]},"763":{"position":[[73,6]]},"764":{"position":[[118,7]]},"765":{"position":[[290,6],[827,6]]},"766":{"position":[[103,7]]},"767":{"position":[[102,7]]},"768":{"position":[[165,7]]},"769":{"position":[[179,7]]},"771":{"position":[[35,7]]},"772":{"position":[[50,7]]},"773":{"position":[[66,6],[158,6]]},"774":{"position":[[44,6]]},"775":{"position":[[70,7]]},"777":{"position":[[178,7]]},"778":{"position":[[388,7]]},"780":{"position":[[68,7]]},"781":{"position":[[49,7]]},"782":{"position":[[41,6]]},"783":{"position":[[61,7]]},"784":{"position":[[83,6]]},"785":{"position":[[93,7]]},"786":{"position":[[165,7]]},"787":{"position":[[234,7]]},"789":{"position":[[66,7]]},"790":{"position":[[86,6]]},"791":{"position":[[150,7]]},"792":{"position":[[149,6]]},"793":{"position":[[501,6],[628,6]]},"795":{"position":[[505,7]]},"797":{"position":[[101,6]]},"798":{"position":[[92,6]]},"799":{"position":[[297,6]]},"801":{"position":[[65,7]]},"802":{"position":[[57,7]]},"803":{"position":[[57,7]]},"804":{"position":[[57,7]]},"805":{"position":[[90,6]]},"807":{"position":[[110,6],[260,6]]},"808":{"position":[[71,6],[850,6]]},"809":{"position":[[130,7]]},"810":{"position":[[170,7]]},"812":{"position":[[102,6],[231,6]]},"813":{"position":[[82,7]]},"814":{"position":[[230,7]]},"815":{"position":[[54,7]]},"816":{"position":[[56,7]]}},"keywords":{}}],["syntax.python",{"_index":4334,"title":{},"content":{"540":{"position":[[762,14]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/defrag",{"_index":2870,"title":{},"content":{"309":{"position":[[2089,42]]}},"keywords":{}}],["sys/kernel/mm/transparent_hugepage/en",{"_index":2869,"title":{},"content":{"309":{"position":[[2029,43]]}},"keywords":{}}],["sysctl",{"_index":2871,"title":{},"content":{"309":{"position":[[2132,6]]},"404":{"position":[[2138,6],[2177,6]]}},"keywords":{}}],["system",{"_index":9,"title":{},"content":{"1":{"position":[[81,8],[96,7]]},"2":{"position":[[88,7],[205,7],[269,7]]},"6":{"position":[[51,6]]},"26":{"position":[[251,7]]},"67":{"position":[[1152,7],[1426,7]]},"82":{"position":[[59,7]]},"91":{"position":[[171,7]]},"96":{"position":[[167,6]]},"100":{"position":[[56,7],[479,7]]},"111":{"position":[[137,8]]},"115":{"position":[[1653,6],[1812,6]]},"178":{"position":[[87,7],[425,6]]},"192":{"position":[[66,7],[214,6]]},"237":{"position":[[205,6]]},"257":{"position":[[128,6],[224,6]]},"258":{"position":[[343,7],[1881,6]]},"261":{"position":[[75,6]]},"265":{"position":[[48,6]]},"290":{"position":[[276,6]]},"309":{"position":[[634,8],[1508,6]]},"314":{"position":[[2058,7]]},"326":{"position":[[1351,6]]},"328":{"position":[[89,8]]},"342":{"position":[[12,6],[167,6],[685,7],[1223,7]]},"343":{"position":[[179,7],[296,7],[360,7],[1026,6],[1209,8],[1348,7]]},"344":{"position":[[937,7]]},"349":{"position":[[624,6],[766,6]]},"350":{"position":[[107,6]]},"356":{"position":[[96,6]]},"358":{"position":[[438,7]]},"361":{"position":[[246,7]]},"363":{"position":[[94,7]]},"368":{"position":[[842,6]]},"369":{"position":[[4074,7]]},"382":{"position":[[826,7]]},"387":{"position":[[63,6],[308,7]]},"402":{"position":[[288,7]]},"404":{"position":[[1160,6]]},"406":{"position":[[114,6]]},"407":{"position":[[66,7]]},"412":{"position":[[79,7]]},"416":{"position":[[156,6]]},"419":{"position":[[322,7]]},"420":{"position":[[278,6]]},"426":{"position":[[626,7]]},"439":{"position":[[72,7]]},"447":{"position":[[178,6]]},"452":{"position":[[62,7]]},"509":{"position":[[352,7]]},"516":{"position":[[32,6]]},"544":{"position":[[69,6]]},"562":{"position":[[6,7]]},"563":{"position":[[339,7],[371,6]]},"568":{"position":[[270,6]]},"576":{"position":[[270,6]]},"676":{"position":[[109,7]]},"704":{"position":[[129,7]]},"711":{"position":[[27,6]]},"736":{"position":[[42,7]]},"739":{"position":[[40,7]]},"743":{"position":[[49,7]]},"746":{"position":[[38,6]]},"751":{"position":[[41,6]]},"763":{"position":[[38,6]]}},"keywords":{}}],["system."",{"_index":2510,"title":{},"content":{"258":{"position":[[518,13]]}},"keywords":{}}],["system.th",{"_index":3281,"title":{},"content":{"358":{"position":[[7284,10]]}},"keywords":{}}],["system/subsystem",{"_index":4380,"title":{},"content":{"542":{"position":[[90,16]]}},"keywords":{}}],["systemctl",{"_index":2883,"title":{},"content":{"309":{"position":[[2442,9]]}},"keywords":{}}],["t",{"_index":1043,"title":{},"content":{"44":{"position":[[490,1]]},"377":{"position":[[108,1]]}},"keywords":{}}],["t2ikutvtxbmtygxiah6iqi4gkpl8mx1w","not",{"_index":1569,"title":{},"content":{"82":{"position":[[4451,48]]}},"keywords":{}}],["tab",{"_index":632,"title":{"512":{"position":[[11,4]]},"513":{"position":[[8,4]]},"514":{"position":[[16,4]]},"515":{"position":[[18,4]]},"516":{"position":[[7,4]]}},"content":{"33":{"position":[[127,4]]},"93":{"position":[[409,3],[548,3]]},"128":{"position":[[463,3]]},"136":{"position":[[49,3]]},"141":{"position":[[400,4]]},"188":{"position":[[360,4]]},"196":{"position":[[263,4]]},"326":{"position":[[733,3]]},"346":{"position":[[248,4],[507,4],[612,4],[746,3],[904,4],[1056,3],[1207,4],[1625,3]]},"347":{"position":[[507,4]]},"352":{"position":[[557,4]]},"354":{"position":[[581,4],[627,4],[681,5],[696,4]]},"356":{"position":[[828,3],[940,3]]},"358":{"position":[[485,4]]},"359":{"position":[[533,4],[965,4],[2082,4]]},"369":{"position":[[513,5]]},"404":{"position":[[1282,3],[1424,3]]},"407":{"position":[[13,3],[260,3]]},"408":{"position":[[13,3]]},"409":{"position":[[16,3]]},"410":{"position":[[13,3]]},"411":{"position":[[19,3]]},"412":{"position":[[14,3],[127,3]]},"413":{"position":[[11,3]]},"414":{"position":[[11,3]]},"415":{"position":[[13,3]]},"416":{"position":[[14,3]]},"476":{"position":[[67,3]]},"478":{"position":[[160,4]]},"511":{"position":[[271,4]]},"512":{"position":[[16,3]]},"513":{"position":[[13,3]]},"514":{"position":[[21,3]]},"515":{"position":[[23,3]]},"516":{"position":[[12,3]]},"517":{"position":[[43,4]]},"524":{"position":[[415,4]]},"531":{"position":[[147,3],[492,3]]},"600":{"position":[[11,6]]},"601":{"position":[[27,3],[122,3]]},"806":{"position":[[75,4]]}},"keywords":{}}],["tabbook",{"_index":4661,"title":{"600":{"position":[[0,8]]}},"content":{"601":{"position":[[148,7]]}},"keywords":{}}],["tabitem",{"_index":4662,"title":{"601":{"position":[[0,8]]}},"content":{"600":{"position":[[41,7]]},"601":{"position":[[156,7],[230,7]]}},"keywords":{}}],["tabl",{"_index":53,"title":{"30":{"position":[[0,6]]},"31":{"position":[[0,5]]},"33":{"position":[[0,6]]},"34":{"position":[[0,5]]},"447":{"position":[[9,6]]},"493":{"position":[[0,5]]}},"content":{"2":{"position":[[406,6]]},"31":{"position":[[1,5],[42,6],[81,5],[96,5],[200,5],[296,5],[314,5],[413,5],[457,5],[712,5]]},"32":{"position":[[46,5]]},"33":{"position":[[13,5],[78,5],[178,5],[292,5],[365,5],[581,5],[797,5],[840,5]]},"34":{"position":[[38,5]]},"35":{"position":[[36,5],[127,6],[170,5],[281,6]]},"36":{"position":[[10547,5]]},"37":{"position":[[36,5],[127,6]]},"38":{"position":[[20,5],[151,5]]},"39":{"position":[[59,5]]},"40":{"position":[[66,5]]},"48":{"position":[[1808,5],[2441,5],[4969,5]]},"225":{"position":[[690,5]]},"271":{"position":[[717,5]]},"275":{"position":[[755,5]]},"342":{"position":[[86,5]]},"343":{"position":[[497,6]]},"358":{"position":[[638,5]]},"447":{"position":[[14,5]]},"454":{"position":[[527,5]]},"455":{"position":[[752,6]]},"467":{"position":[[225,5]]},"470":{"position":[[356,5]]},"483":{"position":[[35,5]]},"485":{"position":[[120,5]]},"491":{"position":[[131,5]]},"494":{"position":[[1,5]]},"496":{"position":[[151,6],[241,5],[288,5]]},"497":{"position":[[1,5],[124,5]]},"498":{"position":[[117,5],[374,5],[583,5]]},"499":{"position":[[119,5],[393,5],[534,5],[758,5]]},"514":{"position":[[66,5],[125,5]]},"515":{"position":[[69,5],[128,5]]},"517":{"position":[[18,5]]},"598":{"position":[[27,5]]},"711":{"position":[[378,5]]}},"keywords":{}}],["table"",{"_index":863,"title":{},"content":{"40":{"position":[[157,11]]}},"keywords":{}}],["table_id",{"_index":4230,"title":{},"content":{"499":{"position":[[657,8],[797,8],[806,12]]}},"keywords":{}}],["tablefil",{"_index":619,"title":{"32":{"position":[[0,10]]}},"content":{"31":{"position":[[358,9]]}},"keywords":{}}],["tables/config",{"_index":613,"title":{},"content":{"31":{"position":[[142,13]]}},"keywords":{}}],["tabsconst",{"_index":4339,"title":{},"content":{"540":{"position":[[1297,13]]}},"keywords":{}}],["tabular",{"_index":3196,"title":{},"content":{"350":{"position":[[119,8]]}},"keywords":{}}],["tag",{"_index":1301,"title":{},"content":{"61":{"position":[[711,3]]}},"keywords":{}}],["tag_key",{"_index":3331,"title":{},"content":{"362":{"position":[[455,7],[785,7],[1107,7]]}},"keywords":{}}],["take",{"_index":252,"title":{},"content":{"7":{"position":[[359,5]]},"36":{"position":[[4263,5],[6552,4],[7348,4]]},"42":{"position":[[779,4]]},"50":{"position":[[441,4]]},"57":{"position":[[250,4]]},"67":{"position":[[347,4]]},"73":{"position":[[102,5]]},"74":{"position":[[125,5]]},"75":{"position":[[124,5]]},"76":{"position":[[116,5]]},"77":{"position":[[265,5]]},"83":{"position":[[1690,5],[3105,4]]},"91":{"position":[[1178,4]]},"104":{"position":[[811,6]]},"105":{"position":[[698,6]]},"110":{"position":[[994,6]]},"111":{"position":[[890,6]]},"122":{"position":[[89,5]]},"186":{"position":[[101,4]]},"217":{"position":[[103,5]]},"229":{"position":[[4263,5],[6552,4],[7348,4]]},"279":{"position":[[3212,5],[5091,4],[5949,4]]},"303":{"position":[[1064,4]]},"305":{"position":[[811,6]]},"333":{"position":[[913,5]]},"358":{"position":[[4426,5],[5387,4]]},"367":{"position":[[227,6],[267,6]]},"373":{"position":[[364,5]]},"389":{"position":[[1063,4],[1742,4],[1913,4]]},"390":{"position":[[14,5]]},"402":{"position":[[5198,4]]},"422":{"position":[[605,5]]},"430":{"position":[[575,4]]},"454":{"position":[[37,4]]},"494":{"position":[[43,5]]},"513":{"position":[[274,4]]},"522":{"position":[[797,4]]},"540":{"position":[[3850,5],[4382,6]]},"552":{"position":[[1014,5]]},"559":{"position":[[416,4]]},"564":{"position":[[173,4]]},"568":{"position":[[123,5]]},"575":{"position":[[86,4]]},"637":{"position":[[1335,5]]}},"keywords":{}}],["taken",{"_index":3995,"title":{},"content":{"419":{"position":[[281,5]]},"424":{"position":[[1053,5]]},"429":{"position":[[119,5]]},"632":{"position":[[198,5]]}},"keywords":{}}],["talk",{"_index":1986,"title":{},"content":{"117":{"position":[[280,4]]},"128":{"position":[[79,4],[216,4]]},"358":{"position":[[66,4]]},"369":{"position":[[4104,4]]},"387":{"position":[[1258,4]]}},"keywords":{}}],["tamper",{"_index":4115,"title":{},"content":{"434":{"position":[[606,10]]}},"keywords":{}}],["tar",{"_index":3039,"title":{},"content":{"331":{"position":[[592,3],[702,3]]}},"keywords":{}}],["target",{"_index":45,"title":{"119":{"position":[[0,7]]},"150":{"position":[[0,7]]},"151":{"position":[[0,6]]},"302":{"position":[[0,6]]},"408":{"position":[[0,8]]},"513":{"position":[[0,7]]},"745":{"position":[[0,8]]}},"content":{"2":{"position":[[277,9],[506,8]]},"5":{"position":[[114,6],[216,7],[610,6],[753,7],[1046,6]]},"11":{"position":[[45,6],[87,6]]},"17":{"position":[[124,6]]},"18":{"position":[[128,6]]},"46":{"position":[[94,8]]},"48":{"position":[[413,6],[1316,6],[1362,6],[1412,6],[1541,6],[1690,6],[1817,6],[1863,6],[1906,6],[1950,6]]},"61":{"position":[[1180,6]]},"66":{"position":[[163,6]]},"67":{"position":[[270,6]]},"83":{"position":[[2092,9]]},"91":{"position":[[157,6],[987,6],[1522,6]]},"92":{"position":[[778,6],[951,6]]},"100":{"position":[[71,8],[251,7],[283,8],[313,6],[1042,6],[1125,7]]},"102":{"position":[[107,7]]},"104":{"position":[[122,7]]},"105":{"position":[[149,7],[184,7]]},"106":{"position":[[75,7]]},"111":{"position":[[36,6]]},"114":{"position":[[572,6]]},"115":{"position":[[143,7],[426,7],[1927,7]]},"117":{"position":[[159,7],[288,8]]},"119":{"position":[[1,7],[251,6]]},"120":{"position":[[61,8],[215,7],[250,8]]},"126":{"position":[[204,7],[330,7],[412,6]]},"128":{"position":[[36,6],[579,7],[648,7]]},"130":{"position":[[8,6],[79,6]]},"131":{"position":[[23,6],[121,6]]},"132":{"position":[[23,6],[124,6]]},"136":{"position":[[266,7]]},"148":{"position":[[38,6]]},"150":{"position":[[15,6],[69,6],[97,6],[201,7],[227,6],[264,6]]},"151":{"position":[[38,6]]},"172":{"position":[[50,6]]},"174":{"position":[[25,6],[342,6]]},"175":{"position":[[174,6]]},"176":{"position":[[80,6]]},"177":{"position":[[38,6]]},"184":{"position":[[20,6],[35,6],[155,6],[281,6]]},"191":{"position":[[38,6]]},"219":{"position":[[1381,6]]},"223":{"position":[[388,6]]},"225":{"position":[[80,8]]},"226":{"position":[[80,6],[223,7]]},"235":{"position":[[253,6]]},"245":{"position":[[126,6]]},"246":{"position":[[132,6]]},"247":{"position":[[110,6]]},"248":{"position":[[112,6]]},"251":{"position":[[882,6],[1650,6]]},"252":{"position":[[335,6]]},"253":{"position":[[47,6],[96,6],[957,6],[1717,6]]},"258":{"position":[[945,6],[1190,6]]},"271":{"position":[[104,8]]},"272":{"position":[[339,6]]},"275":{"position":[[294,6]]},"276":{"position":[[82,6],[252,7]]},"285":{"position":[[253,6]]},"296":{"position":[[331,6]]},"298":{"position":[[261,6]]},"299":{"position":[[49,6]]},"302":{"position":[[5,6],[63,7],[135,6],[205,6],[232,6],[316,6],[327,6],[482,7],[494,6],[579,7],[605,7],[750,7],[829,7],[915,7],[1191,6],[1309,6],[1393,7],[1565,6],[1718,6],[1800,7],[1919,7],[2267,6],[2371,6],[2526,7],[2564,6]]},"303":{"position":[[147,6]]},"304":{"position":[[148,6]]},"305":{"position":[[158,6],[1015,7]]},"314":{"position":[[236,8]]},"320":{"position":[[919,6],[1070,6]]},"338":{"position":[[130,7],[688,6],[724,6]]},"339":{"position":[[208,6]]},"342":{"position":[[145,6],[352,6],[459,7],[557,7]]},"343":{"position":[[368,9],[597,8],[857,8],[972,7],[1315,7]]},"344":{"position":[[584,8],[600,7]]},"345":{"position":[[474,7]]},"346":{"position":[[481,8],[499,7]]},"348":{"position":[[67,8],[190,6],[352,7],[457,6],[515,6]]},"350":{"position":[[250,6],[317,6]]},"353":{"position":[[402,8],[433,7]]},"358":{"position":[[994,7],[1064,6],[1191,7],[2111,8],[2182,7],[2279,6],[2299,6],[2458,6],[2492,6],[2546,6],[2591,7],[2648,6],[3193,6],[5112,6],[5994,7],[6007,7],[6404,7],[6642,6],[6729,6],[7125,6],[7262,6],[7295,6],[7328,6],[8235,6]]},"359":{"position":[[1016,7],[1045,6],[2687,6],[2812,7]]},"364":{"position":[[562,8],[709,8],[851,8],[999,8],[1145,8]]},"367":{"position":[[155,7],[190,7],[219,7],[259,7],[397,8],[454,8],[657,8],[771,8],[900,7]]},"368":{"position":[[124,7],[484,7]]},"369":{"position":[[354,7],[2370,6],[3716,7],[3842,7]]},"378":{"position":[[355,7],[513,6],[863,6],[1232,6],[1268,6],[1376,7],[1424,6],[1607,6]]},"379":{"position":[[15,6]]},"380":{"position":[[1345,6]]},"383":{"position":[[43,7],[150,7],[221,6],[257,7],[505,7],[1251,6],[1346,8],[1503,6],[1595,6],[1775,6]]},"395":{"position":[[76,6]]},"396":{"position":[[140,6]]},"397":{"position":[[83,7],[139,6]]},"402":{"position":[[3120,7],[4044,6]]},"407":{"position":[[102,8],[356,7],[489,6],[519,6]]},"408":{"position":[[5,7],[31,7],[139,6]]},"452":{"position":[[150,6]]},"457":{"position":[[149,7]]},"464":{"position":[[108,6]]},"467":{"position":[[41,6],[64,6],[95,6],[185,7]]},"472":{"position":[[394,6]]},"473":{"position":[[539,6],[662,6]]},"479":{"position":[[155,6]]},"482":{"position":[[25,7],[115,6],[267,7]]},"487":{"position":[[120,7]]},"491":{"position":[[66,6]]},"497":{"position":[[93,6]]},"498":{"position":[[241,6],[293,6]]},"499":{"position":[[260,6],[312,6]]},"503":{"position":[[13,6],[36,6],[106,6]]},"504":{"position":[[78,7],[96,6]]},"509":{"position":[[87,7]]},"513":{"position":[[5,7],[34,7],[355,7],[448,7]]},"523":{"position":[[13,6],[36,6]]},"526":{"position":[[120,6]]},"528":{"position":[[356,8],[733,8]]},"540":{"position":[[2092,6],[2389,7],[2417,8],[3007,6],[3301,7],[3313,6],[4940,6],[4962,6]]},"545":{"position":[[441,6]]},"549":{"position":[[273,6],[395,6]]},"551":{"position":[[635,6],[675,7]]},"556":{"position":[[252,7],[291,7],[406,7],[567,7],[632,8]]},"562":{"position":[[225,6]]},"564":{"position":[[180,6],[239,7]]},"575":{"position":[[251,6]]},"609":{"position":[[108,6]]},"610":{"position":[[108,6]]},"611":{"position":[[441,6]]},"612":{"position":[[83,6]]},"613":{"position":[[110,6]]},"614":{"position":[[104,6]]},"615":{"position":[[112,6]]},"616":{"position":[[124,6]]},"617":{"position":[[127,6]]},"618":{"position":[[123,6]]},"619":{"position":[[391,6]]},"620":{"position":[[120,6]]},"621":{"position":[[118,6]]},"622":{"position":[[104,6]]},"623":{"position":[[93,6]]},"624":{"position":[[96,6]]},"625":{"position":[[92,6]]},"626":{"position":[[90,6],[817,6]]},"627":{"position":[[124,6],[870,6]]},"628":{"position":[[108,6],[842,6]]},"629":{"position":[[89,6]]},"630":{"position":[[114,6]]},"631":{"position":[[102,6]]},"633":{"position":[[136,6]]},"634":{"position":[[88,6]]},"635":{"position":[[332,6]]},"648":{"position":[[126,6]]},"649":{"position":[[795,6]]},"650":{"position":[[318,6],[1708,6]]},"652":{"position":[[190,6]]},"669":{"position":[[39,6],[272,6],[320,6]]},"670":{"position":[[22,6],[193,6],[241,6]]},"671":{"position":[[22,6],[169,6],[217,6]]},"673":{"position":[[341,7]]},"676":{"position":[[56,6]]},"677":{"position":[[794,6]]},"678":{"position":[[182,7],[1016,6]]},"679":{"position":[[1037,6]]},"680":{"position":[[1070,6]]},"681":{"position":[[870,6]]},"682":{"position":[[205,7],[1087,6]]},"683":{"position":[[1108,6]]},"684":{"position":[[1141,6]]},"687":{"position":[[70,7],[277,7]]},"688":{"position":[[56,7],[186,6]]},"689":{"position":[[272,7]]},"690":{"position":[[318,7]]},"691":{"position":[[353,7]]},"692":{"position":[[276,7]]},"693":{"position":[[445,7]]},"694":{"position":[[224,7],[287,6],[406,6],[550,6],[682,6]]},"695":{"position":[[280,7]]},"697":{"position":[[504,6]]},"698":{"position":[[446,6]]},"701":{"position":[[294,6]]},"702":{"position":[[336,7]]},"703":{"position":[[450,7]]},"705":{"position":[[25,6],[163,7]]},"706":{"position":[[25,6],[168,6]]},"707":{"position":[[230,7]]},"708":{"position":[[280,7]]},"709":{"position":[[291,7]]},"710":{"position":[[513,6]]},"711":{"position":[[239,6]]},"712":{"position":[[380,6]]},"713":{"position":[[216,6]]},"716":{"position":[[238,6]]},"718":{"position":[[223,6]]},"719":{"position":[[243,6]]},"720":{"position":[[257,6]]},"722":{"position":[[870,6]]},"723":{"position":[[602,6]]},"725":{"position":[[510,6]]},"726":{"position":[[485,6]]},"727":{"position":[[501,6]]},"729":{"position":[[396,6]]},"731":{"position":[[362,6]]},"732":{"position":[[217,6]]},"733":{"position":[[219,6]]},"740":{"position":[[214,6]]},"741":{"position":[[584,6]]},"745":{"position":[[37,8]]},"746":{"position":[[23,7],[83,7]]},"747":{"position":[[11,6],[64,7],[178,7],[202,6]]},"748":{"position":[[32,8],[113,6]]},"752":{"position":[[13,7]]},"753":{"position":[[18,7]]},"757":{"position":[[7,6],[39,6],[299,6],[383,6],[478,6],[579,6]]},"778":{"position":[[611,6]]},"780":{"position":[[272,6],[329,6]]},"781":{"position":[[189,6],[246,6]]},"783":{"position":[[202,6],[259,6]]},"785":{"position":[[242,6],[299,6]]},"786":{"position":[[337,6],[394,6]]},"787":{"position":[[450,6]]},"799":{"position":[[83,8],[273,8]]},"800":{"position":[[41,6]]}},"keywords":{}}],["target"",{"_index":2696,"title":{},"content":{"299":{"position":[[101,12]]},"482":{"position":[[196,13]]}},"keywords":{}}],["target'",{"_index":280,"title":{},"content":{"7":{"position":[[1190,8]]},"11":{"position":[[166,8]]},"12":{"position":[[199,8]]},"15":{"position":[[444,8]]},"16":{"position":[[446,8]]},"31":{"position":[[133,8]]},"36":{"position":[[4128,8]]},"100":{"position":[[1074,8]]},"225":{"position":[[246,8]]},"229":{"position":[[4128,8]]},"271":{"position":[[274,8]]},"279":{"position":[[3077,8],[10624,8]]},"288":{"position":[[271,8]]},"395":{"position":[[182,8],[209,8]]},"497":{"position":[[182,8],[296,8]]},"575":{"position":[[269,8]]}},"keywords":{}}],["target(",{"_index":1988,"title":{"482":{"position":[[7,9]]}},"content":{"117":{"position":[[690,9]]}},"keywords":{}}],["target.lib.upload_util",{"_index":4369,"title":{},"content":{"540":{"position":[[2758,25]]}},"keywords":{}}],["target.txt",{"_index":313,"title":{"10":{"position":[[0,10]]}},"content":{"272":{"position":[[485,10]]}},"keywords":{}}],["target/cmd_tlm/cmd.txt",{"_index":2464,"title":{},"content":{"253":{"position":[[15,22]]}},"keywords":{}}],["target/cmd_tlm/tlm.txt",{"_index":2694,"title":{},"content":{"299":{"position":[[15,22]]}},"keywords":{}}],["target/lib/helper_utility.rb",{"_index":4354,"title":{},"content":{"540":{"position":[[1926,30]]}},"keywords":{}}],["target/lib/target.[rb/pi",{"_index":4459,"title":{},"content":{"551":{"position":[[579,25]]}},"keywords":{}}],["target/lib/upload_utility.rb",{"_index":4352,"title":{},"content":{"540":{"position":[[1839,30]]}},"keywords":{}}],["target/lib/utility.rb",{"_index":5649,"title":{},"content":{"778":{"position":[[640,21]]}},"keywords":{}}],["target/myscreen.txt",{"_index":4834,"title":{},"content":{"654":{"position":[[15,19]]}},"keywords":{}}],["target/procedur",{"_index":4460,"title":{},"content":{"551":{"position":[[724,17]]}},"keywords":{}}],["target/screens/version.txt",{"_index":4593,"title":{},"content":{"575":{"position":[[310,27]]}},"keywords":{}}],["target/tables/config/mcconfigurationtable_def.txt",{"_index":860,"title":{},"content":{"40":{"position":[[15,49]]}},"keywords":{}}],["target=${1",{"_index":1632,"title":{},"content":{"83":{"position":[[2080,11]]}},"keywords":{}}],["target_int",{"_index":5483,"title":{},"content":{"748":{"position":[[187,11]]}},"keywords":{}}],["target_ints.each",{"_index":5484,"title":{},"content":{"748":{"position":[[225,16]]}},"keywords":{}}],["target_microservic",{"_index":2121,"title":{"174":{"position":[[0,20]]}},"content":{"175":{"position":[[55,20]]}},"keywords":{}}],["target_nam",{"_index":2148,"title":{"184":{"position":[[0,12]]}},"content":{"184":{"position":[[381,11]]},"320":{"position":[[1636,11],[1702,11]]},"654":{"position":[[85,11]]},"685":{"position":[[1180,14]]},"687":{"position":[[826,16]]},"689":{"position":[[868,16]]},"691":{"position":[[1060,14]]},"694":{"position":[[455,12],[566,12],[698,12]]},"714":{"position":[[1368,15],[1482,15],[1602,15],[1724,15]]},"742":{"position":[[27,12]]},"743":{"position":[[294,16]]},"748":{"position":[[245,13],[290,15]]}},"keywords":{}}],["targets/gse/cmd_tlm",{"_index":2761,"title":{},"content":{"302":{"position":[[666,19]]}},"keywords":{}}],["targets/gse/cmd_tlm/cmd.txt",{"_index":2762,"title":{},"content":{"302":{"position":[[1101,27]]}},"keywords":{}}],["targets/gse/cmd_tlm/tlm.txt",{"_index":2763,"title":{},"content":{"302":{"position":[[1217,27]]}},"keywords":{}}],["targets/gse/lib",{"_index":2764,"title":{},"content":{"302":{"position":[[1336,15]]}},"keywords":{}}],["targets/gse/lib/double_conversion.rb",{"_index":2790,"title":{},"content":{"304":{"position":[[410,36]]}},"keywords":{}}],["targets/gse/lib/gse.rb/pi",{"_index":2765,"title":{},"content":{"302":{"position":[[1489,25]]}},"keywords":{}}],["targets/gse/lib/safe_limits_response.rb",{"_index":2800,"title":{},"content":{"305":{"position":[[438,39]]}},"keywords":{}}],["targets/gse/procedur",{"_index":2770,"title":{},"content":{"302":{"position":[[1674,22]]}},"keywords":{}}],["targets/gse/procedures/procedure.rb/pi",{"_index":2773,"title":{},"content":{"302":{"position":[[1973,38]]}},"keywords":{}}],["targets/gse/publ",{"_index":2774,"title":{},"content":{"302":{"position":[[2082,18]]}},"keywords":{}}],["targets/gse/screen",{"_index":2778,"title":{},"content":{"302":{"position":[[2212,19]]}},"keywords":{}}],["targets/gse/screens/status.txt",{"_index":2779,"title":{},"content":{"302":{"position":[[2274,30]]}},"keywords":{}}],["targets/gse/target.txt",{"_index":2780,"title":{},"content":{"302":{"position":[[2348,22]]}},"keywords":{}}],["targets/target/publ",{"_index":4816,"title":{},"content":{"649":{"position":[[134,21]]},"650":{"position":[[575,21],[1414,21]]}},"keywords":{}}],["targets/target_name/procedur",{"_index":4445,"title":{},"content":{"549":{"position":[[302,30]]}},"keywords":{}}],["targets_modifi",{"_index":2994,"title":{},"content":{"326":{"position":[[244,16],[1181,16]]}},"keywords":{}}],["targets_modified/target",{"_index":2995,"title":{},"content":{"326":{"position":[[404,23]]}},"keywords":{}}],["task",{"_index":1592,"title":{},"content":{"83":{"position":[[177,4]]},"123":{"position":[[139,6]]},"349":{"position":[[1151,6]]},"455":{"position":[[1027,4],[1632,4]]},"574":{"position":[[178,5]]},"637":{"position":[[162,6]]}},"keywords":{}}],["tbl_filenam",{"_index":4212,"title":{},"content":{"498":{"position":[[335,12]]},"499":{"position":[[354,12],[642,12],[691,12]]}},"keywords":{}}],["tcp",{"_index":1998,"title":{},"content":{"120":{"position":[[128,3]]},"144":{"position":[[238,4]]},"182":{"position":[[239,4]]}},"keywords":{}}],["tcp/ip",{"_index":1821,"title":{},"content":{"100":{"position":[[343,8],[543,6]]},"312":{"position":[[156,7]]},"342":{"position":[[607,7]]},"343":{"position":[[1149,7]]},"358":{"position":[[7610,6],[7913,6]]}},"keywords":{}}],["tcpip",{"_index":1834,"title":{"104":{"position":[[0,5]]},"105":{"position":[[0,5]]}},"content":{"103":{"position":[[43,5],[57,5]]},"104":{"position":[[5,5],[42,5]]},"105":{"position":[[5,5],[38,5]]}},"keywords":{}}],["tcpip_client_interfac",{"_index":2018,"title":{},"content":{"128":{"position":[[745,23]]},"149":{"position":[[535,23]]}},"keywords":{}}],["tcpip_client_interface.pi",{"_index":3284,"title":{},"content":{"358":{"position":[[7642,25]]}},"keywords":{}}],["tcpip_client_interface.rb",{"_index":1252,"title":{},"content":{"57":{"position":[[406,25]]},"104":{"position":[[874,25],[1005,25],[1115,25],[1225,25],[1360,25],[1469,25],[1585,25]]},"105":{"position":[[1355,25],[1538,25]]},"130":{"position":[[156,25]]},"131":{"position":[[197,25]]},"132":{"position":[[200,25]]},"139":{"position":[[735,25]]},"302":{"position":[[2647,25]]}},"keywords":{}}],["tcpip_server_interfac",{"_index":2019,"title":{},"content":{"128":{"position":[[769,23]]},"149":{"position":[[559,23]]}},"keywords":{}}],["tcpip_server_interface.rb",{"_index":1855,"title":{},"content":{"105":{"position":[[953,25],[1063,25],[1152,25],[1241,25],[1443,25]]},"140":{"position":[[808,25]]},"314":{"position":[[1477,25],[1868,25]]}},"keywords":{}}],["tcpipserverinterfac",{"_index":2058,"title":{},"content":{"140":{"position":[[460,20]]}},"keywords":{}}],["tctf",{"_index":1143,"title":{"59":{"position":[[6,4]]}},"content":{"50":{"position":[[352,4]]},"59":{"position":[[11,4]]}},"keywords":{}}],["team",{"_index":895,"title":{},"content":{"42":{"position":[[17,4]]}},"keywords":{}}],["teardown",{"_index":3187,"title":{},"content":{"349":{"position":[[5370,8],[5450,9],[5536,8],[5616,9]]},"533":{"position":[[509,8],[808,8],[872,8]]},"534":{"position":[[256,8],[565,8],[609,8]]},"795":{"position":[[103,9],[295,8],[1313,8]]}},"keywords":{}}],["teardown"",{"_index":4315,"title":{},"content":{"534":{"position":[[282,14],[521,15]]}},"keywords":{}}],["teardown(self",{"_index":4307,"title":{},"content":{"533":{"position":[[748,15]]},"534":{"position":[[487,15]]},"795":{"position":[[1862,15]]}},"keywords":{}}],["technic",{"_index":2816,"title":{},"content":{"307":{"position":[[1097,9]]},"424":{"position":[[1625,9],[1967,9]]}},"keywords":{}}],["techniqu",{"_index":4481,"title":{},"content":{"552":{"position":[[326,10]]}},"keywords":{}}],["technolog",{"_index":2551,"title":{},"content":{"264":{"position":[[56,10]]},"268":{"position":[[83,10],[261,11]]},"309":{"position":[[209,10]]},"393":{"position":[[33,12],[212,12]]},"429":{"position":[[467,13],[508,10]]},"440":{"position":[[846,10]]}},"keywords":{}}],["telecommand",{"_index":1275,"title":{},"content":{"59":{"position":[[37,11]]},"378":{"position":[[753,13]]},"380":{"position":[[1289,13]]}},"keywords":{}}],["telemeti",{"_index":2623,"title":{},"content":{"278":{"position":[[106,8]]},"280":{"position":[[106,8]]},"281":{"position":[[276,8]]},"282":{"position":[[106,8]]},"283":{"position":[[123,8]]},"284":{"position":[[123,8]]},"659":{"position":[[713,8]]}},"keywords":{}}],["telemetri",{"_index":208,"title":{"16":{"position":[[0,10]]},"92":{"position":[[8,10]]},"270":{"position":[[0,9]]},"271":{"position":[[0,9]]},"276":{"position":[[0,10]]},"277":{"position":[[0,9]]},"346":{"position":[[12,9]]},"351":{"position":[[0,9]]},"352":{"position":[[0,9]]},"500":{"position":[[0,9]]},"508":{"position":[[12,9]]},"510":{"position":[[12,9]]},"515":{"position":[[0,9]]},"518":{"position":[[0,9]]},"520":{"position":[[0,9]]},"562":{"position":[[35,9]]},"563":{"position":[[34,9]]},"575":{"position":[[0,9]]},"608":{"position":[[0,9]]},"659":{"position":[[0,9]]},"696":{"position":[[9,10]]},"779":{"position":[[28,9]]}},"content":{"6":{"position":[[270,9]]},"7":{"position":[[138,9],[814,9]]},"8":{"position":[[152,9],[309,9]]},"9":{"position":[[166,9],[332,9],[515,9],[664,9]]},"14":{"position":[[18,9],[84,9],[119,10],[276,9],[339,9]]},"15":{"position":[[138,9],[229,9],[302,9],[335,9],[546,9]]},"16":{"position":[[19,9],[89,9],[142,9],[233,9],[413,9],[548,9]]},"18":{"position":[[16,9],[112,9],[227,9]]},"48":{"position":[[574,9]]},"50":{"position":[[1042,11]]},"54":{"position":[[1383,9],[1413,9]]},"56":{"position":[[668,9],[822,9]]},"60":{"position":[[37,9],[66,9]]},"61":{"position":[[1481,9],[1994,9]]},"64":{"position":[[574,9],[875,9]]},"65":{"position":[[80,9]]},"66":{"position":[[93,9]]},"74":{"position":[[737,9],[768,10]]},"87":{"position":[[24,9]]},"92":{"position":[[39,10],[151,9],[222,9],[305,9],[389,9],[678,9],[969,9],[1039,9],[1089,9]]},"96":{"position":[[243,9]]},"100":{"position":[[236,9],[469,9],[1006,9]]},"104":{"position":[[84,10],[432,9]]},"105":{"position":[[370,9]]},"106":{"position":[[56,9],[312,9]]},"107":{"position":[[82,10],[337,9]]},"108":{"position":[[294,9]]},"109":{"position":[[185,11],[339,9],[416,9],[1931,9],[2387,9],[2434,9],[2497,9]]},"110":{"position":[[205,11],[391,9],[819,10]]},"117":{"position":[[204,9]]},"119":{"position":[[315,9]]},"120":{"position":[[235,9]]},"121":{"position":[[25,9],[165,9]]},"122":{"position":[[111,10]]},"132":{"position":[[55,9],[114,9],[304,9],[503,9]]},"149":{"position":[[46,9],[222,9]]},"159":{"position":[[26,9]]},"160":{"position":[[1,9]]},"161":{"position":[[1,9]]},"162":{"position":[[22,9],[115,9]]},"163":{"position":[[1,9]]},"164":{"position":[[1,9]]},"165":{"position":[[24,9],[119,9]]},"166":{"position":[[33,9],[137,9]]},"167":{"position":[[31,9],[133,9]]},"168":{"position":[[30,9],[131,9]]},"169":{"position":[[30,9],[131,9]]},"170":{"position":[[30,9],[131,9]]},"203":{"position":[[69,9]]},"213":{"position":[[854,10],[866,9]]},"214":{"position":[[1489,10],[1529,9],[1655,9]]},"215":{"position":[[540,10],[580,9],[712,9]]},"216":{"position":[[225,9],[254,10],[266,9]]},"217":{"position":[[599,9],[656,9],[1173,9],[2191,10],[2240,9],[2448,9]]},"218":{"position":[[1267,10],[1307,9],[1433,9]]},"219":{"position":[[1086,10],[1130,9],[1208,9],[1261,9]]},"220":{"position":[[1350,10],[1389,9],[1511,9],[1630,10]]},"221":{"position":[[298,10]]},"245":{"position":[[40,9],[141,9],[199,9]]},"246":{"position":[[40,9],[147,9],[211,9]]},"247":{"position":[[35,9],[133,9],[188,9],[239,9]]},"248":{"position":[[35,9],[135,9],[192,9]]},"271":{"position":[[1,9],[39,9],[154,9],[229,9],[362,9],[439,10],[628,9],[831,9]]},"274":{"position":[[51,9],[166,9],[325,9]]},"275":{"position":[[38,9],[499,9],[555,9],[647,9],[1767,9]]},"276":{"position":[[15,9],[94,9],[156,9],[226,9],[479,9],[554,9]]},"277":{"position":[[38,9]]},"278":{"position":[[11,9],[41,9],[191,9],[394,9],[705,9],[813,9]]},"279":{"position":[[2151,9],[2970,9],[3335,9],[4637,9],[4706,9],[5325,9],[5399,9],[6448,9],[6522,9],[6832,9],[7926,9],[8005,9],[8142,9],[8357,9],[8608,9],[8747,9],[8938,9],[9056,9],[9215,9],[9373,9],[9712,9],[10099,9]]},"280":{"position":[[11,9],[41,9],[186,9],[497,9],[605,9]]},"281":{"position":[[11,9],[41,9],[361,9],[517,9],[714,9],[807,9],[852,9],[907,9]]},"282":{"position":[[11,9],[41,9],[186,9],[383,9],[476,9],[521,9],[576,9]]},"283":{"position":[[11,9],[41,9],[208,9]]},"284":{"position":[[11,9],[41,9]]},"285":{"position":[[21,9],[199,9]]},"286":{"position":[[35,9]]},"287":{"position":[[33,9]]},"289":{"position":[[9,9],[80,9]]},"290":{"position":[[12,9],[102,9],[161,9],[246,9]]},"292":{"position":[[56,9]]},"293":{"position":[[54,9]]},"296":{"position":[[21,9],[123,9],[179,9],[343,9],[408,9]]},"297":{"position":[[64,9]]},"298":{"position":[[20,9],[331,9]]},"299":{"position":[[39,9]]},"302":{"position":[[711,9],[845,9],[1253,9],[1325,10],[1876,9],[2072,9],[2133,9],[2241,9],[2331,9],[2421,9]]},"304":{"position":[[516,9],[874,9],[904,9]]},"305":{"position":[[552,9],[953,9],[1121,9]]},"306":{"position":[[85,9]]},"320":{"position":[[1765,9]]},"321":{"position":[[1580,9]]},"338":{"position":[[82,9]]},"339":{"position":[[296,9]]},"342":{"position":[[202,9],[294,9],[394,9],[540,9],[932,9],[1138,9]]},"343":{"position":[[1386,9],[1581,9]]},"344":{"position":[[432,9],[489,9],[678,9],[782,9],[1048,9]]},"345":{"position":[[563,9],[585,9],[664,9],[689,9]]},"346":{"position":[[17,9],[171,9],[275,9],[436,9],[534,9],[639,9],[817,9],[864,9],[931,9],[966,9],[1008,9],[1096,9],[1136,9],[1234,9],[1389,9],[1531,9],[1570,9],[1663,9],[1704,9]]},"347":{"position":[[29,9],[98,9],[254,9],[311,9],[372,9],[408,9],[560,9],[627,9]]},"349":{"position":[[4390,9]]},"350":{"position":[[75,9],[230,9],[297,9],[431,9],[482,9],[605,9],[638,9],[775,9],[808,9],[906,9],[1435,9]]},"351":{"position":[[1,9],[45,9],[155,9],[239,9],[308,9],[352,9],[378,9],[393,9],[446,9],[489,9],[532,9],[582,9]]},"352":{"position":[[1,9],[40,9],[140,9],[187,9],[259,9],[312,10],[368,9],[426,10],[498,9],[587,9],[628,9],[699,9],[796,9],[893,9],[994,9],[1090,9]]},"353":{"position":[[202,9],[238,9],[303,9],[392,9],[520,9]]},"354":{"position":[[45,9],[283,9],[394,9],[496,9]]},"358":{"position":[[597,9],[1140,10],[4735,9],[5091,9],[5893,9],[5969,9],[6061,9],[6128,9],[6226,10],[8191,9]]},"359":{"position":[[2744,9]]},"368":{"position":[[404,9]]},"373":{"position":[[96,10],[269,9]]},"378":{"position":[[678,9]]},"379":{"position":[[988,9],[1037,10],[1102,9],[2740,9],[3083,9]]},"380":{"position":[[1219,9],[1845,10]]},"395":{"position":[[48,9],[137,9],[276,9]]},"402":{"position":[[211,9]]},"407":{"position":[[149,9]]},"421":{"position":[[260,9]]},"452":{"position":[[157,9],[319,9]]},"457":{"position":[[42,9]]},"464":{"position":[[320,9]]},"470":{"position":[[71,9]]},"472":{"position":[[658,9]]},"476":{"position":[[37,9]]},"482":{"position":[[302,9],[555,9]]},"487":{"position":[[25,9]]},"492":{"position":[[123,9]]},"501":{"position":[[1,9],[28,9]]},"505":{"position":[[369,9]]},"507":{"position":[[35,9],[108,9]]},"509":{"position":[[17,9],[304,9],[393,9]]},"511":{"position":[[17,9],[132,9]]},"515":{"position":[[5,9],[54,10],[171,9],[230,9],[321,9],[428,9]]},"517":{"position":[[67,9]]},"519":{"position":[[1,9],[73,9]]},"522":{"position":[[181,9],[1018,9]]},"529":{"position":[[102,9]]},"530":{"position":[[509,9],[557,9]]},"540":{"position":[[4637,10]]},"544":{"position":[[622,9]]},"547":{"position":[[403,9]]},"548":{"position":[[254,9]]},"556":{"position":[[641,9]]},"562":{"position":[[131,9],[295,9]]},"563":{"position":[[66,9],[184,9],[268,9],[484,9]]},"564":{"position":[[21,9],[302,9],[734,9]]},"565":{"position":[[247,9]]},"568":{"position":[[190,9],[325,9],[610,9]]},"574":{"position":[[67,9],[386,9],[494,9]]},"575":{"position":[[1,9],[62,9],[184,9]]},"576":{"position":[[8,9],[303,9]]},"577":{"position":[[10,9],[82,9],[260,9],[353,9]]},"592":{"position":[[106,9]]},"603":{"position":[[132,10]]},"604":{"position":[[65,9],[111,9]]},"608":{"position":[[3,9],[41,9],[110,9],[171,9]]},"611":{"position":[[126,9],[577,9]]},"613":{"position":[[224,9]]},"615":{"position":[[307,9]]},"618":{"position":[[262,9],[401,9]]},"619":{"position":[[45,9]]},"625":{"position":[[231,9],[370,9]]},"626":{"position":[[28,9],[742,9]]},"627":{"position":[[62,9],[795,9]]},"628":{"position":[[767,9]]},"630":{"position":[[228,9]]},"631":{"position":[[241,9],[380,9]]},"632":{"position":[[84,9],[550,9],[762,9]]},"633":{"position":[[72,9]]},"635":{"position":[[23,9]]},"637":{"position":[[945,9],[1225,9]]},"645":{"position":[[56,9]]},"648":{"position":[[27,9]]},"650":{"position":[[53,9],[151,10]]},"652":{"position":[[128,9]]},"658":{"position":[[995,9],[1164,9]]},"659":{"position":[[36,9],[130,9],[164,9],[201,9],[246,9],[303,9],[376,9],[441,9],[458,9],[570,9],[636,9],[670,10],[759,9],[782,9],[865,9],[954,9],[986,9],[1026,9],[1108,9],[1143,9],[1194,9],[1278,9],[1333,10]]},"661":{"position":[[189,9]]},"662":{"position":[[175,9],[231,9],[302,9],[435,9],[490,9],[526,9],[613,9],[673,9],[761,9],[818,9],[893,9],[963,9],[1042,9],[1101,9],[1291,9],[1372,9],[1438,9],[1489,9],[1562,9],[1642,9],[1701,9],[1791,9],[1885,9],[1944,9],[2016,9],[2074,9],[2124,9],[2189,9],[2275,9],[2347,9],[2419,9],[2497,9],[2555,9],[2608,9],[2669,9],[2725,9],[2801,9],[3446,9],[3557,9],[4024,9],[4078,9],[4132,9],[4207,9],[4276,9],[4330,9],[4391,9],[4444,9],[4497,9],[4550,9],[4614,9],[4676,9],[4765,9],[4897,9],[4961,9],[5029,9]]},"696":{"position":[[47,9]]},"697":{"position":[[30,9],[65,9],[197,9],[518,9],[558,9],[582,9],[620,9],[683,9],[737,9]]},"698":{"position":[[20,9],[460,9],[500,9],[524,9],[562,9],[615,9]]},"701":{"position":[[31,9],[308,9],[348,9],[372,9],[410,9]]},"703":{"position":[[53,9]]},"704":{"position":[[68,9],[105,9]]},"709":{"position":[[41,9],[323,9],[461,9]]},"710":{"position":[[8,9],[48,9],[289,9]]},"712":{"position":[[66,9]]},"713":{"position":[[60,9]]},"715":{"position":[[101,9]]},"716":{"position":[[43,9]]},"718":{"position":[[29,9]]},"719":{"position":[[40,9]]},"720":{"position":[[25,9]]},"721":{"position":[[62,9]]},"722":{"position":[[89,9],[884,9],[924,9],[948,9],[986,9],[1049,9]]},"723":{"position":[[74,9],[616,9],[656,9],[680,9],[718,9],[771,9]]},"726":{"position":[[102,9],[499,9],[539,9],[563,9],[601,9],[664,9]]},"727":{"position":[[74,9],[515,9],[555,9],[579,9],[617,9],[670,9]]},"730":{"position":[[34,9]]},"731":{"position":[[93,9],[376,9],[416,9],[440,9],[478,9]]},"732":{"position":[[45,9],[231,9],[271,9],[295,9],[333,9]]},"733":{"position":[[46,9],[233,9],[273,9],[297,9],[335,9]]},"734":{"position":[[39,9]]},"735":{"position":[[40,9]]},"740":{"position":[[54,9],[228,9],[267,9],[291,9],[328,9]]},"741":{"position":[[50,9],[598,9],[638,9],[662,9],[700,9]]},"756":{"position":[[273,9]]},"757":{"position":[[59,9],[485,9]]},"779":{"position":[[62,9]]},"780":{"position":[[9,9],[255,9]]},"781":{"position":[[16,9],[172,9]]},"783":{"position":[[21,9],[185,9]]},"784":{"position":[[49,9]]},"785":{"position":[[63,9],[225,9]]},"786":{"position":[[97,9],[320,9]]},"787":{"position":[[115,9]]},"799":{"position":[[160,9]]}},"keywords":{}}],["telemetry"",{"_index":2274,"title":{},"content":{"214":{"position":[[1709,15]]},"215":{"position":[[766,15]]},"218":{"position":[[1487,15]]},"220":{"position":[[1562,15]]},"379":{"position":[[337,15],[2787,15]]},"404":{"position":[[1455,15]]}},"keywords":{}}],["telemetry)"",{"_index":2699,"title":{},"content":{"299":{"position":[[259,16]]}},"keywords":{}}],["telemetry_graph",{"_index":5802,"title":{},"content":{"812":{"position":[[298,21]]}},"keywords":{}}],["tell",{"_index":2740,"title":{},"content":{"301":{"position":[[399,5]]},"342":{"position":[[342,7]]},"358":{"position":[[6366,4],[8157,5]]},"574":{"position":[[380,5]]}},"keywords":{}}],["telmetri",{"_index":5305,"title":{},"content":{"712":{"position":[[32,8]]},"713":{"position":[[26,8]]}},"keywords":{}}],["temp",{"_index":1737,"title":{},"content":{"91":{"position":[[1811,4]]},"473":{"position":[[285,4]]},"542":{"position":[[304,4],[552,4],[748,4]]},"552":{"position":[[2249,4],[2353,4],[2376,4],[2392,4],[2511,4]]},"559":{"position":[[587,4],[604,4],[622,4],[637,4],[884,4],[901,4],[919,4],[935,4]]},"560":{"position":[[607,4],[665,4],[804,4],[863,4]]},"562":{"position":[[318,5],[344,4],[451,4],[558,4]]},"813":{"position":[[297,8],[400,8]]}},"keywords":{}}],["temp#{temp_numb",{"_index":4545,"title":{},"content":{"564":{"position":[[455,18]]}},"keywords":{}}],["temp"",{"_index":4531,"title":{},"content":{"562":{"position":[[420,11],[527,11],[644,11]]}},"keywords":{}}],["temp1",{"_index":2595,"title":{},"content":{"274":{"position":[[395,6]]},"285":{"position":[[431,5]]},"288":{"position":[[472,5],[540,5]]},"296":{"position":[[505,5]]},"298":{"position":[[448,5]]},"320":{"position":[[1734,5]]},"566":{"position":[[785,5],[838,5]]},"591":{"position":[[808,5],[915,5]]},"611":{"position":[[909,5]]},"615":{"position":[[599,5]]},"617":{"position":[[484,5],[545,5]]},"618":{"position":[[857,5],[924,5]]},"620":{"position":[[473,5],[525,5]]},"621":{"position":[[474,5],[529,5]]},"622":{"position":[[470,5],[525,5]]},"623":{"position":[[442,5],[495,5]]},"624":{"position":[[447,5],[503,5]]},"625":{"position":[[821,5],[883,5]]},"626":{"position":[[574,5]]},"627":{"position":[[608,5]]},"628":{"position":[[597,5]]},"631":{"position":[[732,5],[786,5]]},"632":{"position":[[614,5]]},"633":{"position":[[360,5]]},"635":{"position":[[672,5],[716,5]]},"648":{"position":[[637,5]]},"699":{"position":[[1156,7]]},"712":{"position":[[604,5],[640,5],[803,5],[839,5]]},"714":{"position":[[296,5],[1317,5],[1437,8],[1551,8],[1671,8],[1793,8]]},"724":{"position":[[1040,7]]},"728":{"position":[[893,7]]},"740":{"position":[[404,8],[725,8]]},"741":{"position":[[2016,8]]},"743":{"position":[[495,10]]},"786":{"position":[[591,5],[863,5]]},"787":{"position":[[1053,5],[1336,5]]}},"keywords":{}}],["temp1"",{"_index":1488,"title":{},"content":{"81":{"position":[[386,13]]},"82":{"position":[[6139,13]]},"92":{"position":[[1250,13]]},"93":{"position":[[790,13]]},"566":{"position":[[580,12],[822,12]]},"698":{"position":[[862,12],[1029,12]]},"713":{"position":[[423,12],[497,12],[610,12],[684,12]]},"731":{"position":[[561,12],[664,12]]},"732":{"position":[[413,12]]},"733":{"position":[[416,12]]}},"keywords":{}}],["temp1high",{"_index":2675,"title":{},"content":{"288":{"position":[[439,9],[507,9]]}},"keywords":{}}],["temp2",{"_index":2596,"title":{},"content":{"274":{"position":[[402,6]]},"298":{"position":[[491,5]]},"473":{"position":[[452,5],[482,5]]},"632":{"position":[[651,5]]},"648":{"position":[[691,5]]},"712":{"position":[[693,5],[892,5]]}},"keywords":{}}],["temp3",{"_index":2597,"title":{},"content":{"274":{"position":[[409,6]]},"298":{"position":[[534,5]]},"632":{"position":[[826,5]]}},"keywords":{}}],["temp4",{"_index":2672,"title":{},"content":{"286":{"position":[[488,5]]},"632":{"position":[[863,5]]}},"keywords":{}}],["temp4"",{"_index":2598,"title":{},"content":{"274":{"position":[[416,11]]}},"keywords":{}}],["temp[1",{"_index":3427,"title":{},"content":{"369":{"position":[[587,6]]}},"keywords":{}}],["temp_averag",{"_index":2593,"title":{},"content":{"274":{"position":[[353,12]]}},"keywords":{}}],["temp_numb",{"_index":4542,"title":{},"content":{"564":{"position":[[353,12],[531,13]]}},"keywords":{}}],["temp_tlm",{"_index":4403,"title":{},"content":{"544":{"position":[[1383,9],[1550,11],[1662,9],[1831,10]]}},"keywords":{}}],["temperatur",{"_index":4433,"title":{},"content":{"547":{"position":[[816,11],[883,11]]},"559":{"position":[[672,11],[970,11]]}},"keywords":{}}],["temperature"",{"_index":4517,"title":{},"content":{"560":{"position":[[641,18],[838,18]]}},"keywords":{}}],["temperature_numb",{"_index":4430,"title":{},"content":{"547":{"position":[[620,20],[702,18]]}},"keywords":{}}],["tempfile.namedtemporaryfile(mode="w+t"",{"_index":5008,"title":{},"content":{"670":{"position":[[913,49]]}},"keywords":{}}],["tempfile.new('test",{"_index":5002,"title":{},"content":{"670":{"position":[[584,20]]}},"keywords":{}}],["templat",{"_index":193,"title":{"61":{"position":[[0,8]]},"219":{"position":[[0,8]]},"243":{"position":[[0,9]]},"292":{"position":[[0,9]]}},"content":{"6":{"position":[[40,10]]},"11":{"position":[[269,11]]},"50":{"position":[[95,8]]},"61":{"position":[[192,8],[645,8],[763,8],[1171,8]]},"64":{"position":[[731,8],[956,8]]},"104":{"position":[[1427,8],[2378,8]]},"105":{"position":[[1401,8],[2237,8]]},"111":{"position":[[1689,8]]},"214":{"position":[[1078,8]]},"218":{"position":[[331,8],[526,8]]},"219":{"position":[[5,8],[232,8],[294,8],[322,8],[456,8],[579,8],[646,8],[869,8],[1108,8],[1172,8],[1193,8],[1508,8]]},"220":{"position":[[242,8],[429,8],[1601,8],[1670,8]]},"243":{"position":[[27,8],[126,8],[293,8]]},"244":{"position":[[27,8],[124,8],[321,8]]},"257":{"position":[[43,8]]},"292":{"position":[[27,8],[139,8]]},"293":{"position":[[27,8],[168,8]]},"307":{"position":[[793,8]]},"331":{"position":[[39,8]]},"367":{"position":[[535,11]]},"369":{"position":[[385,11]]},"746":{"position":[[148,12]]}},"keywords":{}}],["template_fil",{"_index":2238,"title":{"244":{"position":[[0,14]]},"293":{"position":[[0,14]]}},"content":{"214":{"position":[[289,13],[489,13]]}},"keywords":{}}],["templateaccessor",{"_index":1293,"title":{},"content":{"61":{"position":[[132,16]]},"64":{"position":[[714,16],[939,16]]},"219":{"position":[[562,16],[777,16],[1338,16]]},"221":{"position":[[37,16]]}},"keywords":{}}],["templated_int",{"_index":5513,"title":{},"content":{"751":{"position":[[183,16]]}},"keywords":{}}],["temporari",{"_index":3907,"title":{},"content":{"402":{"position":[[4793,9]]},"770":{"position":[[39,9]]}},"keywords":{}}],["temporarili",{"_index":3126,"title":{},"content":{"347":{"position":[[581,11]]},"473":{"position":[[1190,11]]}},"keywords":{}}],["temp{temp_numb",{"_index":4548,"title":{},"content":{"564":{"position":[[634,17]]}},"keywords":{}}],["ten",{"_index":458,"title":{},"content":{"20":{"position":[[1119,3]]},"392":{"position":[[28,4]]}},"keywords":{}}],["term",{"_index":823,"title":{"98":{"position":[[5,4]]}},"content":{"36":{"position":[[9038,4]]},"98":{"position":[[10,4]]},"229":{"position":[[9038,4]]},"268":{"position":[[148,4]]},"279":{"position":[[7161,4]]},"321":{"position":[[285,6]]},"339":{"position":[[349,4]]},"342":{"position":[[32,5],[106,6],[114,4]]},"389":{"position":[[435,6],[760,5],[1802,6]]},"390":{"position":[[99,6]]},"391":{"position":[[106,5],[205,5]]},"401":{"position":[[63,4]]},"430":{"position":[[557,5]]}},"keywords":{}}],["termin",{"_index":1136,"title":{"56":{"position":[[0,10]]}},"content":{"50":{"position":[[118,10]]},"56":{"position":[[5,10],[50,11],[144,11],[392,10],[481,11],[601,11],[739,11],[778,11]]},"57":{"position":[[606,11],[690,11],[782,11]]},"61":{"position":[[230,10],[432,10],[1294,11],[1414,11],[1911,11],[1950,11]]},"93":{"position":[[623,8]]},"104":{"position":[[1292,10],[2225,10]]},"105":{"position":[[1287,10],[2105,10]]},"111":{"position":[[1567,10]]},"309":{"position":[[2673,8]]},"313":{"position":[[306,8]]},"349":{"position":[[4578,8]]},"404":{"position":[[1871,8]]}},"keywords":{}}],["terminatedprotocol",{"_index":1248,"title":{},"content":{"57":{"position":[[107,18],[316,18],[473,18],[1008,18]]}},"keywords":{}}],["terminolog",{"_index":3095,"title":{"342":{"position":[[0,12]]}},"content":{},"keywords":{}}],["terraform",{"_index":2539,"title":{},"content":{"261":{"position":[[410,9]]}},"keywords":{}}],["test",{"_index":11,"title":{"80":{"position":[[0,7]]},"206":{"position":[[0,7]]},"209":{"position":[[11,8]]},"210":{"position":[[10,6]]},"211":{"position":[[12,6]]},"385":{"position":[[0,4]]}},"content":{"1":{"position":[[125,4]]},"24":{"position":[[523,7]]},"36":{"position":[[999,4],[1032,4]]},"83":{"position":[[79,7],[441,4]]},"109":{"position":[[2048,6],[2125,6],[2186,4],[2230,4],[2261,6],[2361,6],[2449,6],[2512,4],[2556,4],[2587,6],[2697,4]]},"110":{"position":[[2428,4]]},"209":{"position":[[135,5],[185,6],[267,4],[386,5]]},"218":{"position":[[245,5]]},"220":{"position":[[157,5]]},"229":{"position":[[999,4],[1032,4]]},"279":{"position":[[994,4],[1027,4],[8425,8]]},"309":{"position":[[554,6]]},"342":{"position":[[822,4]]},"344":{"position":[[22,4]]},"345":{"position":[[22,4]]},"346":{"position":[[133,4]]},"347":{"position":[[200,4]]},"348":{"position":[[382,4]]},"349":{"position":[[710,5],[747,4],[1261,4],[1318,4],[1396,4],[1449,4],[2283,4],[5023,4],[5058,4],[5136,4],[5171,4],[5249,4],[5283,4],[5349,4],[5411,4],[5439,4],[5515,4],[5577,4],[5605,4],[5705,5],[5850,4],[6008,4],[6165,4],[6281,5],[6297,4],[6323,7],[6427,4],[6452,4],[6605,7],[6637,4],[6849,4]]},"350":{"position":[[168,4]]},"351":{"position":[[287,4]]},"352":{"position":[[119,4]]},"353":{"position":[[134,4]]},"354":{"position":[[213,4]]},"355":{"position":[[118,4]]},"356":{"position":[[125,4]]},"363":{"position":[[310,7]]},"369":{"position":[[296,7]]},"371":{"position":[[24,6]]},"382":{"position":[[660,4],[768,7]]},"385":{"position":[[12,4],[204,5]]},"386":{"position":[[267,6]]},"390":{"position":[[434,5],[1326,5]]},"404":{"position":[[228,7]]},"528":{"position":[[47,4]]},"533":{"position":[[54,4],[119,6]]},"538":{"position":[[174,8]]},"546":{"position":[[303,4],[848,5],[1112,5]]},"550":{"position":[[403,4],[514,4],[639,4],[751,4]]},"556":{"position":[[59,7],[334,7]]},"560":{"position":[[168,6]]},"568":{"position":[[283,4]]},"571":{"position":[[165,4]]},"658":{"position":[[112,4]]},"678":{"position":[[175,4]]},"679":{"position":[[157,7]]},"680":{"position":[[183,7]]},"682":{"position":[[198,4]]},"683":{"position":[[180,7]]},"684":{"position":[[206,7]]},"710":{"position":[[225,7]]},"776":{"position":[[81,4]]},"777":{"position":[[40,4],[97,4],[287,4]]},"778":{"position":[[73,4]]},"779":{"position":[[94,4]]},"795":{"position":[[1156,4],[1240,4],[1286,4],[1331,4],[1703,4],[1780,4],[1834,4],[1887,4]]}},"keywords":{}}],["test"",{"_index":4614,"title":{},"content":{"583":{"position":[[223,10],[273,10]]},"584":{"position":[[227,10],[301,10]]},"585":{"position":[[223,10],[279,10],[353,10]]},"586":{"position":[[225,10],[281,10],[356,10]]},"587":{"position":[[393,10],[448,10]]},"588":{"position":[[387,10],[442,10]]},"670":{"position":[[565,11],[635,11],[894,11],[993,11]]}},"keywords":{}}],["test';"",{"_index":4778,"title":{},"content":{"637":{"position":[[2250,13]]}},"keywords":{}}],["test("'"${script_path#scripts/}"",{"_index":1681,"title":{},"content":{"83":{"position":[[3689,48]]}},"keywords":{}}],["test.mosquitto.org",{"_index":1891,"title":{},"content":{"109":{"position":[[1349,18],[1547,18]]},"110":{"position":[[1690,18],[1912,18]]}},"keywords":{}}],["test_",{"_index":5706,"title":{},"content":{"795":{"position":[[160,8],[481,8]]}},"keywords":{}}],["test_1",{"_index":4587,"title":{},"content":{"572":{"position":[[625,6]]}},"keywords":{}}],["test_1_heater_zone_control",{"_index":4450,"title":{},"content":{"550":{"position":[[317,26],[548,29]]}},"keywords":{}}],["test_minimum_temp(enable_cmd_nam",{"_index":4401,"title":{},"content":{"544":{"position":[[1336,34],[1615,34]]}},"keywords":{}}],["testrunn",{"_index":5644,"title":{},"content":{"778":{"position":[[135,11],[279,11]]}},"keywords":{}}],["tests/procedur",{"_index":3151,"title":{},"content":{"349":{"position":[[779,16]]}},"keywords":{}}],["testsuit",{"_index":1636,"title":{},"content":{"83":{"position":[[2155,12]]}},"keywords":{}}],["text",{"_index":59,"title":{},"content":{"2":{"position":[[535,4]]},"6":{"position":[[128,4]]},"25":{"position":[[63,4]]},"26":{"position":[[218,4]]},"61":{"position":[[276,4],[537,6]]},"91":{"position":[[1243,5]]},"216":{"position":[[620,4]]},"217":{"position":[[2741,4]]},"218":{"position":[[134,4]]},"225":{"position":[[1189,4]]},"339":{"position":[[66,4],[286,5]]},"342":{"position":[[884,4],[1175,4]]},"343":{"position":[[626,4],[1443,4]]},"349":{"position":[[105,4],[1369,4],[2852,4]]},"358":{"position":[[6152,4],[7463,4]]},"379":{"position":[[218,4]]},"389":{"position":[[271,4]]},"461":{"position":[[488,4]]},"467":{"position":[[475,4],[780,4]]},"472":{"position":[[1319,4]]},"478":{"position":[[550,4]]},"481":{"position":[[25,4],[125,4]]},"501":{"position":[[120,4]]},"502":{"position":[[487,4]]},"521":{"position":[[506,4]]},"559":{"position":[[274,4]]},"561":{"position":[[171,4],[263,4],[374,4],[679,4]]},"565":{"position":[[300,4]]},"574":{"position":[[102,5]]},"581":{"position":[[817,4]]},"588":{"position":[[32,4]]},"591":{"position":[[863,4],[971,4]]},"595":{"position":[[208,4]]},"597":{"position":[[166,4]]},"601":{"position":[[94,4],[99,4]]},"604":{"position":[[10,4],[171,4]]},"606":{"position":[[83,4]]},"615":{"position":[[282,4]]},"632":{"position":[[325,4],[377,4]]},"634":{"position":[[36,4]]},"637":{"position":[[1615,4],[1620,4]]},"638":{"position":[[157,4],[162,4]]},"639":{"position":[[30,4],[174,4],[181,4],[236,4],[243,4]]},"640":{"position":[[161,4]]},"642":{"position":[[29,4],[255,4]]},"643":{"position":[[53,4],[113,4],[159,4],[172,4],[191,4]]},"644":{"position":[[161,4]]},"647":{"position":[[7,4],[113,4],[191,4],[215,4],[220,4],[281,4],[326,4]]},"648":{"position":[[11,4],[259,4],[337,4],[388,4],[433,4]]},"668":{"position":[[149,4],[271,4],[361,4],[443,4],[547,4],[552,4]]},"785":{"position":[[39,4]]}},"keywords":{}}],["text_log",{"_index":3087,"title":{"339":{"position":[[0,10]]}},"content":{"339":{"position":[[5,9]]}},"keywords":{}}],["textbox",{"_index":4747,"title":{"634":{"position":[[0,8]]}},"content":{"634":{"position":[[186,7],[243,7],[296,7]]}},"keywords":{}}],["textcolor",{"_index":4607,"title":{"588":{"position":[[0,10]]}},"content":{"580":{"position":[[357,9]]},"581":{"position":[[902,9]]},"588":{"position":[[5,9],[406,9],[461,9]]},"591":{"position":[[827,9],[934,9]]}},"keywords":{}}],["textfield",{"_index":4635,"title":{"643":{"position":[[0,10]]}},"content":{"592":{"position":[[674,9]]},"643":{"position":[[266,9]]},"654":{"position":[[449,9]]}},"keywords":{}}],["textual",{"_index":3206,"title":{},"content":{"350":{"position":[[1349,7]]},"354":{"position":[[26,7],[477,7]]}},"keywords":{}}],["tg",{"_index":3216,"title":{},"content":{"352":{"position":[[254,2],[363,2],[493,2],[582,2],[694,2],[791,2],[888,2],[989,2],[1084,2]]}},"keywords":{}}],["tgt__pkt__item__typ",{"_index":5255,"title":{},"content":{"704":{"position":[[411,24]]}},"keywords":{}}],["thank",{"_index":3813,"title":{},"content":{"392":{"position":[[732,5]]},"543":{"position":[[270,5]]}},"keywords":{}}],["the_great_conversion.pi",{"_index":776,"title":{},"content":{"36":{"position":[[5768,23],[5808,24]]},"229":{"position":[[5768,23],[5808,24]]},"279":{"position":[[4248,23],[4288,24]]}},"keywords":{}}],["the_great_conversion.rb",{"_index":762,"title":{},"content":{"36":{"position":[[5220,25],[5433,23],[5473,24]]},"229":{"position":[[5220,25],[5433,23],[5473,24]]},"279":{"position":[[3701,25],[3913,23],[3953,24]]}},"keywords":{}}],["thecf",{"_index":3615,"title":{},"content":{"378":{"position":[[1405,6]]}},"keywords":{}}],["thedest_ip",{"_index":3649,"title":{},"content":{"379":{"position":[[1143,10]]}},"keywords":{}}],["thegreatconvers",{"_index":763,"title":{},"content":{"36":{"position":[[5268,20],[5558,18]]},"229":{"position":[[5268,20],[5558,18]]},"279":{"position":[[3749,20],[4038,18]]}},"keywords":{}}],["thegreatconversion(convers",{"_index":778,"title":{},"content":{"36":{"position":[[5892,31]]},"229":{"position":[[5892,31]]},"279":{"position":[[4372,31]]}},"keywords":{}}],["themselv",{"_index":1995,"title":{},"content":{"119":{"position":[[237,11]]},"268":{"position":[[124,10]]},"302":{"position":[[624,10]]},"303":{"position":[[728,10]]}},"keywords":{}}],["therefor",{"_index":1073,"title":{},"content":{"48":{"position":[[347,9]]},"100":{"position":[[379,9]]},"225":{"position":[[307,9]]},"271":{"position":[[335,9]]},"540":{"position":[[1196,9]]},"552":{"position":[[1454,10]]}},"keywords":{}}],["thermal",{"_index":2642,"title":{},"content":{"279":{"position":[[8410,7]]},"546":{"position":[[833,7]]}},"keywords":{}}],["thin",{"_index":4643,"title":{},"content":{"595":{"position":[[56,4]]},"597":{"position":[[58,4]]}},"keywords":{}}],["thing",{"_index":110,"title":{"544":{"position":[[5,6]]},"567":{"position":[[5,6]]}},"content":{"3":{"position":[[431,6]]},"67":{"position":[[2530,7]]},"83":{"position":[[1326,5]]},"109":{"position":[[68,6]]},"110":{"position":[[78,6]]},"119":{"position":[[102,6]]},"343":{"position":[[887,6]]},"358":{"position":[[8353,6]]},"387":{"position":[[1154,6]]},"389":{"position":[[214,5]]},"543":{"position":[[83,6]]},"552":{"position":[[194,6]]},"566":{"position":[[102,6]]},"637":{"position":[[466,6]]},"658":{"position":[[248,6]]}},"keywords":{}}],["think",{"_index":3725,"title":{},"content":{"386":{"position":[[594,5]]}},"keywords":{}}],["third",{"_index":1729,"title":{},"content":{"91":{"position":[[1065,5]]},"92":{"position":[[847,5]]},"358":{"position":[[3949,5]]},"424":{"position":[[62,5]]},"434":{"position":[[157,5],[229,5],[683,5]]},"658":{"position":[[783,5]]}},"keywords":{}}],["this.enddatetim",{"_index":3887,"title":{},"content":{"402":{"position":[[2765,17],[3772,17]]}},"keywords":{}}],["this.startdatetim",{"_index":3885,"title":{},"content":{"402":{"position":[[2735,19],[3742,19]]}},"keywords":{}}],["this.subscription.perform("add"",{"_index":3881,"title":{},"content":{"402":{"position":[[2604,42],[3607,42]]}},"keywords":{}}],["those",{"_index":1385,"title":{},"content":{"67":{"position":[[2211,5]]},"213":{"position":[[139,5]]},"350":{"position":[[1229,5]]},"383":{"position":[[536,5],[1798,5]]},"424":{"position":[[638,5]]},"431":{"position":[[855,5]]},"496":{"position":[[204,5]]},"535":{"position":[[1403,5]]},"795":{"position":[[447,5]]},"806":{"position":[[120,5]]}},"keywords":{}}],["though",{"_index":2908,"title":{},"content":{"309":{"position":[[4033,6]]},"572":{"position":[[322,7]]}},"keywords":{}}],["thousand",{"_index":4248,"title":{},"content":{"514":{"position":[[155,9]]},"515":{"position":[[158,9]]}},"keywords":{}}],["thread",{"_index":4132,"title":{},"content":{"450":{"position":[[292,7]]},"455":{"position":[[107,6],[177,7],[207,6],[225,6],[262,6],[432,6],[580,6],[982,6],[1483,6]]}},"keywords":{}}],["three",{"_index":1386,"title":{},"content":{"67":{"position":[[2524,5]]},"91":{"position":[[917,5]]},"92":{"position":[[708,5]]},"351":{"position":[[576,5]]},"358":{"position":[[5821,5]]},"440":{"position":[[20,5]]},"496":{"position":[[5,5]]},"568":{"position":[[11,5]]},"637":{"position":[[1341,5]]},"658":{"position":[[397,5]]},"722":{"position":[[138,5]]}},"keywords":{}}],["through",{"_index":69,"title":{},"content":{"2":{"position":[[675,7]]},"67":{"position":[[3006,7],[3191,7],[3391,7],[4301,7],[4691,7]]},"343":{"position":[[766,7],[1329,7]]},"349":{"position":[[2892,7],[4790,7]]},"393":{"position":[[688,7]]},"402":{"position":[[269,7]]},"434":{"position":[[78,7]]},"473":{"position":[[1181,8]]},"501":{"position":[[105,7]]},"509":{"position":[[333,7]]},"536":{"position":[[283,7]]},"554":{"position":[[1115,7]]},"556":{"position":[[707,7]]},"564":{"position":[[708,7]]},"582":{"position":[[212,7]]},"659":{"position":[[482,7],[806,7]]},"806":{"position":[[48,7]]}},"keywords":{}}],["throughout",{"_index":82,"title":{},"content":{"3":{"position":[[1,10]]},"416":{"position":[[49,10]]}},"keywords":{}}],["throw",{"_index":835,"title":{},"content":{"36":{"position":[[9716,6]]},"229":{"position":[[9716,6]]}},"keywords":{}}],["thrown",{"_index":1242,"title":{},"content":{"56":{"position":[[423,6]]}},"keywords":{}}],["thu",{"_index":754,"title":{},"content":{"36":{"position":[[4697,4],[8694,4]]},"51":{"position":[[189,4],[518,4]]},"53":{"position":[[240,4]]},"67":{"position":[[413,4]]},"109":{"position":[[2022,4]]},"117":{"position":[[531,4]]},"138":{"position":[[130,4]]},"229":{"position":[[4697,4],[8694,4]]},"236":{"position":[[186,4]]},"268":{"position":[[410,4]]},"286":{"position":[[172,4]]},"339":{"position":[[230,4]]},"367":{"position":[[780,4]]},"383":{"position":[[75,4]]},"440":{"position":[[805,4]]},"568":{"position":[[431,5]]},"592":{"position":[[293,4]]},"699":{"position":[[398,4]]}},"keywords":{}}],["thumb",{"_index":3390,"title":{},"content":{"367":{"position":[[353,5]]},"368":{"position":[[558,5]]}},"keywords":{}}],["ticket",{"_index":1816,"title":{},"content":{"98":{"position":[[44,7]]},"401":{"position":[[399,6]]}},"keywords":{}}],["tidbit",{"_index":104,"title":{},"content":{"3":{"position":[[353,7]]}},"keywords":{}}],["tight",{"_index":4563,"title":{},"content":{"568":{"position":[[680,6]]}},"keywords":{}}],["tighter",{"_index":2640,"title":{},"content":{"279":{"position":[[8329,7]]}},"keywords":{}}],["till",{"_index":1309,"title":{},"content":{"61":{"position":[[1710,4]]}},"keywords":{}}],["time",{"_index":224,"title":{"275":{"position":[[9,4],[25,5]]},"446":{"position":[[10,5]]},"644":{"position":[[0,5]]}},"content":{"6":{"position":[[631,4]]},"42":{"position":[[791,4]]},"48":{"position":[[927,4],[973,4],[1002,4],[1429,4],[1621,4],[2879,5],[3012,4],[3148,4],[3314,5],[3438,4]]},"53":{"position":[[231,4]]},"61":{"position":[[2599,6]]},"64":{"position":[[185,6]]},"71":{"position":[[72,4]]},"72":{"position":[[75,4]]},"73":{"position":[[1667,4]]},"74":{"position":[[763,4]]},"100":{"position":[[231,4]]},"106":{"position":[[601,4]]},"109":{"position":[[808,4]]},"110":{"position":[[1142,4]]},"125":{"position":[[176,4]]},"138":{"position":[[362,4],[377,4],[591,4],[690,5],[787,4],[924,4]]},"153":{"position":[[40,4],[99,4]]},"156":{"position":[[47,4],[106,4]]},"160":{"position":[[42,4],[101,4]]},"163":{"position":[[49,4],[108,4]]},"174":{"position":[[166,5]]},"183":{"position":[[236,5]]},"235":{"position":[[274,6]]},"267":{"position":[[353,4]]},"275":{"position":[[201,4],[387,4],[480,4],[823,4],[917,5],[973,4],[1042,4],[1085,4],[1320,4],[1475,4],[1710,4],[1731,4]]},"279":{"position":[[8598,5]]},"285":{"position":[[274,6]]},"288":{"position":[[52,4]]},"299":{"position":[[1174,4],[1439,4],[1525,4]]},"328":{"position":[[206,5]]},"344":{"position":[[667,4],[771,4],[922,4],[985,4],[1028,4],[1094,4]]},"346":{"position":[[1735,4],[1756,5],[1767,4]]},"349":{"position":[[3028,6],[3096,4]]},"352":{"position":[[860,5]]},"354":{"position":[[422,4]]},"358":{"position":[[5073,4]]},"359":{"position":[[2092,4]]},"364":{"position":[[229,4]]},"368":{"position":[[778,4]]},"387":{"position":[[343,5]]},"393":{"position":[[482,5]]},"402":{"position":[[2184,4],[4451,4],[5481,6],[5961,4]]},"404":{"position":[[1255,4]]},"411":{"position":[[75,5]]},"416":{"position":[[163,4]]},"428":{"position":[[124,6]]},"432":{"position":[[572,5]]},"435":{"position":[[300,4]]},"445":{"position":[[101,4]]},"446":{"position":[[147,4],[181,4],[201,4]]},"447":{"position":[[33,4]]},"449":{"position":[[187,6]]},"452":{"position":[[449,4],[542,5],[572,5]]},"453":{"position":[[36,5]]},"454":{"position":[[63,5]]},"455":{"position":[[362,4],[687,5],[1057,4]]},"459":{"position":[[97,5]]},"467":{"position":[[738,5]]},"472":{"position":[[528,4],[817,5]]},"476":{"position":[[149,4]]},"481":{"position":[[59,4],[230,4],[243,4],[264,4],[324,5]]},"522":{"position":[[718,4],[772,5],[906,4],[956,5],[989,4],[1071,4]]},"523":{"position":[[278,4]]},"528":{"position":[[588,5]]},"535":{"position":[[1416,6]]},"540":{"position":[[578,4],[3863,4]]},"544":{"position":[[127,6]]},"546":{"position":[[1361,7]]},"547":{"position":[[86,5]]},"551":{"position":[[446,5]]},"552":{"position":[[1027,4]]},"563":{"position":[[796,4],[1128,4]]},"568":{"position":[[498,4]]},"569":{"position":[[384,6]]},"579":{"position":[[54,4],[78,4]]},"611":{"position":[[262,4]]},"626":{"position":[[1325,4],[1368,4],[1379,4]]},"627":{"position":[[1378,4],[1421,4],[1432,4]]},"628":{"position":[[1350,4],[1393,4],[1404,4]]},"635":{"position":[[153,4]]},"644":{"position":[[12,4],[179,4],[194,7],[251,5],[262,4],[365,4],[370,4]]},"658":{"position":[[776,5]]},"685":{"position":[[1109,7]]},"691":{"position":[[986,8]]},"694":{"position":[[13,4],[275,4],[388,4],[482,4],[561,4],[593,4],[693,4],[725,4],[835,4]]},"695":{"position":[[23,5],[407,5]]},"709":{"position":[[23,5],[432,5]]},"721":{"position":[[102,4]]},"722":{"position":[[48,4],[417,4],[484,4],[524,4],[1135,5]]},"723":{"position":[[48,4],[902,5]]},"724":{"position":[[688,5]]},"726":{"position":[[141,5],[231,4],[747,5]]},"727":{"position":[[48,4],[213,4],[798,5]]},"728":{"position":[[327,4],[613,5]]},"729":{"position":[[163,4],[543,5]]},"744":{"position":[[65,4]]},"789":{"position":[[148,4]]},"793":{"position":[[605,5],[745,5]]},"802":{"position":[[132,4]]},"803":{"position":[[220,4]]},"804":{"position":[[224,4]]}},"keywords":{}}],["time.ccsds2mdy(packet.read('ccsdsday",{"_index":2726,"title":{},"content":{"299":{"position":[[1532,39]]}},"keywords":{}}],["time[0",{"_index":2729,"title":{},"content":{"299":{"position":[[1671,8]]}},"keywords":{}}],["time[1",{"_index":2730,"title":{},"content":{"299":{"position":[[1680,8]]}},"keywords":{}}],["time[2",{"_index":2731,"title":{},"content":{"299":{"position":[[1689,8]]}},"keywords":{}}],["time[3",{"_index":2732,"title":{},"content":{"299":{"position":[[1698,8]]}},"keywords":{}}],["time[4",{"_index":2733,"title":{},"content":{"299":{"position":[[1707,8]]}},"keywords":{}}],["time[5",{"_index":2734,"title":{},"content":{"299":{"position":[[1716,8]]}},"keywords":{}}],["time[6",{"_index":2735,"title":{},"content":{"299":{"position":[[1725,8]]}},"keywords":{}}],["timeformat",{"_index":2724,"title":{},"content":{"299":{"position":[[1399,13]]}},"keywords":{}}],["timelin",{"_index":3228,"title":{"450":{"position":[[7,10]]},"455":{"position":[[0,8]]}},"content":{"355":{"position":[[173,9],[217,8],[313,8],[406,8],[489,8],[741,9],[784,8],[828,9],[847,8]]},"449":{"position":[[42,8],[96,9]]},"450":{"position":[[10,8],[67,8],[105,9],[228,9],[263,8],[315,9]]},"454":{"position":[[16,9]]},"455":{"position":[[23,9],[39,8],[73,8],[135,9],[504,9]]}},"keywords":{}}],["timeout",{"_index":1264,"title":{},"content":{"57":{"position":[[1135,8]]},"61":{"position":[[2543,7],[2774,8]]},"64":{"position":[[144,7],[435,8]]},"104":{"position":[[540,7],[609,7]]},"105":{"position":[[427,7],[496,7]]},"106":{"position":[[709,7],[782,7]]},"107":{"position":[[404,7],[510,7],[626,7]]},"111":{"position":[[619,7],[688,7]]},"112":{"position":[[557,7],[565,7]]},"113":{"position":[[226,7],[239,7]]},"314":{"position":[[685,7],[728,7]]},"330":{"position":[[931,8],[1454,7],[1505,7]]},"358":{"position":[[7851,7],[7894,7]]},"565":{"position":[[383,7]]},"568":{"position":[[131,7],[229,7],[467,7]]},"677":{"position":[[1125,7],[1180,7],[1674,8]]},"678":{"position":[[1347,7],[1402,7]]},"679":{"position":[[1368,7],[1423,7]]},"680":{"position":[[1401,7],[1456,7]]},"681":{"position":[[1201,7],[1256,7]]},"682":{"position":[[1418,7],[1473,7]]},"683":{"position":[[1439,7],[1494,7]]},"684":{"position":[[1472,7],[1527,7]]},"722":{"position":[[271,8],[1065,7],[1073,7]]},"723":{"position":[[155,8],[832,7],[840,7]]},"724":{"position":[[68,7],[89,7],[250,8],[618,7],[626,7]]},"725":{"position":[[78,7],[134,8],[590,7],[598,7]]},"726":{"position":[[157,7],[680,7],[688,7]]},"727":{"position":[[139,7],[731,7],[739,7]]},"728":{"position":[[68,7],[89,7],[546,7],[554,7]]},"729":{"position":[[78,7],[476,7],[484,7]]}},"keywords":{}}],["timeout=10",{"_index":5051,"title":{},"content":{"677":{"position":[[1925,11]]}},"keywords":{}}],["timesec",{"_index":2616,"title":{},"content":{"275":{"position":[[1334,7],[1399,7],[1489,7],[1573,7]]},"611":{"position":[[858,7]]},"614":{"position":[[442,7]]}},"keywords":{}}],["timesecond",{"_index":2716,"title":{},"content":{"299":{"position":[[1136,11]]}},"keywords":{}}],["timestamp",{"_index":1104,"title":{},"content":{"48":{"position":[[2734,9],[2775,9],[3078,9],[3209,9]]},"339":{"position":[[111,12]]},"344":{"position":[[736,12],[1069,10],[1157,11]]},"402":{"position":[[4300,10],[5524,9],[6002,9]]}},"keywords":{}}],["timeu",{"_index":2619,"title":{},"content":{"275":{"position":[[1407,6],[1581,6]]}},"keywords":{}}],["timeus"",{"_index":2617,"title":{},"content":{"275":{"position":[[1346,12],[1501,12]]}},"keywords":{}}],["tip",{"_index":99,"title":{},"content":{"3":{"position":[[235,4]]}},"keywords":{}}],["titl",{"_index":4237,"title":{"606":{"position":[[0,6]]}},"content":{"505":{"position":[[33,5]]},"506":{"position":[[70,5],[325,5],[551,5]]},"522":{"position":[[626,5]]},"524":{"position":[[69,5]]},"606":{"position":[[27,5],[121,5]]},"654":{"position":[[66,5]]},"673":{"position":[[950,5]]},"786":{"position":[[520,5],[792,5]]},"787":{"position":[[980,5],[1263,5]]}},"keywords":{}}],["tl",{"_index":388,"title":{"19":{"position":[[4,3]]}},"content":{"22":{"position":[[160,5],[498,4]]},"29":{"position":[[101,4]]},"109":{"position":[[1042,3]]},"110":{"position":[[1376,3]]},"355":{"position":[[226,2],[322,2],[415,2],[498,2],[595,2],[690,2],[793,2]]}},"keywords":{}}],["tlm",{"_index":938,"title":{"701":{"position":[[0,4]]}},"content":{"42":{"position":[[1134,3],[2149,3],[2399,3],[2493,3]]},"44":{"position":[[44,3],[644,3],[697,3],[723,3],[792,3],[818,3],[865,3],[925,3],[1065,3],[1124,3],[1191,3],[1268,3],[1311,3],[1523,3]]},"92":{"position":[[50,4],[99,3]]},"258":{"position":[[991,3]]},"271":{"position":[[1244,3]]},"299":{"position":[[282,3]]},"346":{"position":[[892,3],[1044,3],[1613,3]]},"349":{"position":[[1912,6]]},"364":{"position":[[736,3],[779,3],[878,3]]},"369":{"position":[[1245,3],[2734,3],[3588,4]]},"402":{"position":[[3100,3],[4024,3]]},"563":{"position":[[114,6]]},"566":{"position":[[701,5]]},"629":{"position":[[31,3]]},"632":{"position":[[591,3],[628,3],[803,3],[840,3]]},"658":{"position":[[1075,4]]},"662":{"position":[[4839,5]]},"712":{"position":[[733,3],[932,3]]},"756":{"position":[[798,3],[1369,3]]},"799":{"position":[[170,7]]}},"keywords":{}}],["tlm>__<target",{"_index":3889,"title":{},"content":{"402":{"position":[[2886,19],[3895,19]]}},"keywords":{}}],["tlm("#{target",{"_index":4364,"title":{},"content":{"540":{"position":[[2437,19]]}},"keywords":{}}],["tlm("<target",{"_index":5229,"title":{},"content":{"701":{"position":[[71,20],[146,20]]}},"keywords":{}}],["tlm("inst",{"_index":2460,"title":{},"content":{"251":{"position":[[1959,14]]},"542":{"position":[[466,14],[662,14]]},"562":{"position":[[397,14],[504,14],[622,14]]},"566":{"position":[[551,14],[793,14]]},"701":{"position":[[570,14],[914,14],[998,14],[1342,14]]}},"keywords":{}}],["tlm("inst"",{"_index":5231,"title":{},"content":{"701":{"position":[[623,21],[1051,21]]}},"keywords":{}}],["tlm("tgt",{"_index":2448,"title":{},"content":{"251":{"position":[[1081,13],[1182,13],[1857,13]]},"271":{"position":[[1742,13]]},"499":{"position":[[851,13]]}},"keywords":{}}],["tlm('inst",{"_index":5221,"title":{},"content":{"699":{"position":[[1132,9]]},"724":{"position":[[1016,9]]},"728":{"position":[[869,9]]}},"keywords":{}}],["tlm(f"{target",{"_index":4374,"title":{},"content":{"540":{"position":[[3347,19]]}},"keywords":{}}],["tlm.txt",{"_index":2582,"title":{},"content":{"271":{"position":[[584,7],[673,8]]}},"keywords":{}}],["tlm__inst__adc",{"_index":3904,"title":{},"content":{"402":{"position":[[4223,17]]}},"keywords":{}}],["tlm__inst__adcs__raw",{"_index":3903,"title":{},"content":{"402":{"position":[[4199,20]]}},"keywords":{}}],["tlm_buffer_depth",{"_index":2100,"title":{"159":{"position":[[0,17]]}},"content":{},"keywords":{}}],["tlm_cnt",{"_index":5292,"title":{},"content":{"709":{"position":[[366,7]]}},"keywords":{}}],["tlm_count",{"_index":5538,"title":{},"content":{"756":{"position":[[481,10],[1040,10]]}},"keywords":{}}],["tlm_count}"",{"_index":5543,"title":{},"content":{"756":{"position":[[809,18]]}},"keywords":{}}],["tlm_decom_log_cycle_s",{"_index":2105,"title":{"164":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_cycle_tim",{"_index":2104,"title":{"163":{"position":[[0,25]]}},"content":{},"keywords":{}}],["tlm_decom_log_retain_tim",{"_index":2106,"title":{"165":{"position":[[0,26]]}},"content":{},"keywords":{}}],["tlm_format",{"_index":1749,"title":{"701":{"position":[[14,14]]}},"content":{"92":{"position":[[64,14],[243,13]]}},"keywords":{}}],["tlm_formatted("inst",{"_index":5234,"title":{},"content":{"701":{"position":[[759,24],[1187,24]]}},"keywords":{}}],["tlm_int",{"_index":2028,"title":{},"content":{"132":{"position":[[192,7],[326,7],[373,7],[525,7]]}},"keywords":{}}],["tlm_log_cycle_s",{"_index":2102,"title":{"161":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_cycle_tim",{"_index":2101,"title":{"160":{"position":[[0,19]]}},"content":{},"keywords":{}}],["tlm_log_retain_tim",{"_index":2103,"title":{"162":{"position":[[0,20]]}},"content":{},"keywords":{}}],["tlm_onli",{"_index":5560,"title":{},"content":{"757":{"position":[[231,9],[438,8]]}},"keywords":{}}],["tlm_override.txt",{"_index":2583,"title":{},"content":{"271":{"position":[[607,16]]}},"keywords":{}}],["tlm_packet"",{"_index":2673,"title":{},"content":{"287":{"position":[[419,16]]}},"keywords":{}}],["tlm_raw",{"_index":1748,"title":{"701":{"position":[[5,8]]}},"content":{"92":{"position":[[55,8],[172,7]]},"563":{"position":[[121,10]]},"701":{"position":[[894,7],[1322,7]]}},"keywords":{}}],["tlm_raw("inst",{"_index":5233,"title":{},"content":{"701":{"position":[[702,18],[1130,18]]}},"keywords":{}}],["tlm_unique_id_mod",{"_index":386,"title":{"18":{"position":[[0,19]]}},"content":{"272":{"position":[[459,18]]}},"keywords":{}}],["tlm_variabl",{"_index":4952,"title":{},"content":{"662":{"position":[[4796,12]]}},"keywords":{}}],["tlm_with_unit",{"_index":1750,"title":{"701":{"position":[[29,15]]}},"content":{"92":{"position":[[79,14],[326,14]]}},"keywords":{}}],["tlm_with_units("inst",{"_index":5235,"title":{},"content":{"701":{"position":[[822,25],[1250,25]]}},"keywords":{}}],["tlmgrapher",{"_index":3426,"title":{},"content":{"369":{"position":[[536,10]]}},"keywords":{}}],["tlmviewer",{"_index":3424,"title":{},"content":{"369":{"position":[[419,9]]}},"keywords":{}}],["tls1.2",{"_index":600,"title":{"29":{"position":[[0,6]]}},"content":{},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_128_gcm_sha256",{"_index":607,"title":{},"content":{"29":{"position":[[180,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_aes_256_gcm_sha384",{"_index":609,"title":{},"content":{"29":{"position":[[262,39]]}},"keywords":{}}],["tls_ecdhe_ecdsa_with_chacha20_poly1305_sha256",{"_index":611,"title":{},"content":{"29":{"position":[[350,45]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_128_gcm_sha256",{"_index":606,"title":{},"content":{"29":{"position":[[140,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_aes_256_gcm_sha384",{"_index":608,"title":{},"content":{"29":{"position":[[222,37]]}},"keywords":{}}],["tls_ecdhe_rsa_with_chacha20_poly1305_sha256",{"_index":610,"title":{},"content":{"29":{"position":[[304,43]]}},"keywords":{}}],["tm",{"_index":3687,"title":{},"content":{"380":{"position":[[1529,2],[1581,2]]}},"keywords":{}}],["tm/tc",{"_index":3598,"title":{"378":{"position":[[29,5]]},"379":{"position":[[9,5]]}},"content":{},"keywords":{}}],["tmp",{"_index":3040,"title":{},"content":{"331":{"position":[[621,5],[750,5]]}},"keywords":{}}],["tmtf",{"_index":1145,"title":{"60":{"position":[[6,4]]}},"content":{"50":{"position":[[382,4]]},"60":{"position":[[11,4]]}},"keywords":{}}],["to_lab_cmds.txt",{"_index":3622,"title":{},"content":{"379":{"position":[[164,15],[269,16]]}},"keywords":{}}],["to_lab_en",{"_index":3623,"title":{},"content":{"379":{"position":[[299,13]]}},"keywords":{}}],["togeth",{"_index":1313,"title":{},"content":{"62":{"position":[[222,8]]},"297":{"position":[[113,9]]},"419":{"position":[[241,8]]},"612":{"position":[[438,9],[605,8]]}},"keywords":{}}],["toggl",{"_index":4491,"title":{},"content":{"554":{"position":[[259,7]]},"556":{"position":[[181,6]]},"569":{"position":[[596,6]]}},"keywords":{}}],["tohttp://localhost:2900/tools/admin",{"_index":3670,"title":{},"content":{"380":{"position":[[115,36]]}},"keywords":{}}],["tohttp://localhost:2900/tools/cmdsender/cfs/to_lab_en",{"_index":3692,"title":{},"content":{"380":{"position":[[1886,58]]}},"keywords":{}}],["token",{"_index":1474,"title":{},"content":{"81":{"position":[[116,5]]},"82":{"position":[[95,5],[193,5],[321,6]]},"402":{"position":[[1335,6],[1342,6],[1771,5],[2676,6],[3679,6]]}},"keywords":{}}],["toler",{"_index":4567,"title":{},"content":{"568":{"position":[[875,9]]},"698":{"position":[[68,10],[631,9],[643,9]]},"723":{"position":[[129,10],[787,9],[799,9]]},"727":{"position":[[123,10],[686,9],[698,9]]}},"keywords":{}}],["tomcat",{"_index":2579,"title":{},"content":{"268":{"position":[[439,6]]}},"keywords":{}}],["tool",{"_index":79,"title":{"42":{"position":[[12,6]]},"122":{"position":[[0,5]]},"192":{"position":[[0,5]]},"193":{"position":[[0,4]]},"307":{"position":[[0,4]]},"413":{"position":[[0,6]]}},"content":{"2":{"position":[[782,6]]},"13":{"position":[[58,5]]},"14":{"position":[[55,5]]},"36":{"position":[[712,5]]},"43":{"position":[[262,4],[287,4],[980,4],[1373,5]]},"62":{"position":[[121,5]]},"83":{"position":[[238,5]]},"93":{"position":[[342,5],[508,5]]},"96":{"position":[[27,5],[181,4],[223,4]]},"109":{"position":[[1776,4]]},"110":{"position":[[2158,4]]},"117":{"position":[[380,5]]},"119":{"position":[[191,6]]},"122":{"position":[[8,5]]},"138":{"position":[[161,6]]},"192":{"position":[[10,4],[26,4],[74,5],[330,4],[387,4],[409,4],[484,4]]},"193":{"position":[[38,4]]},"194":{"position":[[24,4],[66,5],[267,6]]},"195":{"position":[[24,4],[78,4]]},"196":{"position":[[20,4],[80,5],[103,4],[201,5],[249,4],[311,4]]},"197":{"position":[[5,4],[39,4],[149,4]]},"198":{"position":[[18,4],[39,4],[179,4]]},"199":{"position":[[10,4],[42,4],[133,5],[195,4]]},"200":{"position":[[32,4],[70,4],[124,5],[219,5]]},"201":{"position":[[80,4]]},"229":{"position":[[712,5]]},"237":{"position":[[36,5]]},"240":{"position":[[101,5]]},"258":{"position":[[1414,4]]},"259":{"position":[[32,4]]},"263":{"position":[[466,5]]},"268":{"position":[[118,5],[380,5]]},"275":{"position":[[633,5]]},"279":{"position":[[707,5],[8068,5]]},"287":{"position":[[110,5]]},"290":{"position":[[49,5]]},"301":{"position":[[451,4]]},"307":{"position":[[5,4],[61,5],[136,4],[167,4],[291,5],[360,4],[503,4],[528,4],[533,5],[603,4],[696,5],[865,4],[1025,4],[1234,4],[1340,4],[1441,5],[1626,5],[1720,5],[1799,4]]},"332":{"position":[[542,5],[1066,5]]},"340":{"position":[[63,6],[108,5],[173,4],[456,4]]},"342":{"position":[[1231,4]]},"343":{"position":[[1413,4],[1485,5]]},"349":{"position":[[759,6]]},"350":{"position":[[33,4]]},"353":{"position":[[105,6]]},"355":{"position":[[14,4]]},"356":{"position":[[11,4],[156,4],[235,4],[315,4],[389,4],[500,4],[593,4],[679,4],[723,5],[765,4],[795,5],[809,5],[822,5],[847,4]]},"359":{"position":[[980,5]]},"383":{"position":[[625,4],[1053,4],[1718,4]]},"402":{"position":[[126,5]]},"406":{"position":[[55,5]]},"407":{"position":[[186,5]]},"413":{"position":[[5,5],[29,5],[66,5],[184,5],[282,4]]},"416":{"position":[[99,4]]},"440":{"position":[[69,6],[459,5],[518,5],[548,5],[694,5],[775,5]]},"522":{"position":[[199,5]]},"554":{"position":[[360,5],[899,4]]},"557":{"position":[[32,5],[141,4],[183,4]]},"560":{"position":[[1033,4]]},"602":{"position":[[15,5]]},"658":{"position":[[147,4],[202,4],[339,4]]},"660":{"position":[[121,6],[150,4],[220,6]]},"661":{"position":[[146,4]]},"662":{"position":[[158,4]]},"800":{"position":[[184,6]]},"811":{"position":[[13,5]]},"812":{"position":[[28,4]]},"813":{"position":[[56,4],[168,4]]},"814":{"position":[[19,4],[40,4],[59,4],[343,4]]},"815":{"position":[[19,4],[179,4]]},"816":{"position":[[21,4],[183,4]]}},"keywords":{}}],["tool_log",{"_index":3090,"title":{"340":{"position":[[0,10]]}},"content":{"340":{"position":[[5,9]]}},"keywords":{}}],["toolnam",{"_index":2817,"title":{},"content":{"307":{"position":[[1124,8]]}},"keywords":{}}],["tools/toolfoldernam",{"_index":2157,"title":{},"content":{"192":{"position":[[361,20]]},"194":{"position":[[188,21]]}},"keywords":{}}],["tools/widgets/bigwidget",{"_index":2963,"title":{},"content":{"320":{"position":[[1088,23]]}},"keywords":{}}],["tools/widgets/bigwidget/bigwidget.umd.min.j",{"_index":2942,"title":{},"content":{"319":{"position":[[352,45]]}},"keywords":{}}],["tools/widgets/helloworldwidget",{"_index":2959,"title":{},"content":{"320":{"position":[[937,30],[1300,30]]}},"keywords":{}}],["tools/widgets/helloworldwidget/helloworldwidget.umd.min.j",{"_index":2189,"title":{},"content":{"203":{"position":[[279,59]]},"319":{"position":[[435,59]]},"320":{"position":[[1392,59]]}},"keywords":{}}],["top",{"_index":254,"title":{},"content":{"7":{"position":[[440,3]]},"100":{"position":[[110,3]]},"127":{"position":[[121,3]]},"263":{"position":[[180,3]]},"264":{"position":[[231,3]]},"324":{"position":[[688,4]]},"367":{"position":[[578,3]]},"406":{"position":[[44,3]]},"407":{"position":[[643,3]]},"416":{"position":[[183,3]]},"440":{"position":[[8,3],[97,3]]},"473":{"position":[[45,3]]},"524":{"position":[[649,3]]},"528":{"position":[[472,3]]},"544":{"position":[[970,3]]},"560":{"position":[[1022,3]]},"658":{"position":[[191,3]]}},"keywords":{}}],["topic",{"_index":566,"title":{"183":{"position":[[0,6]]},"570":{"position":[[9,7]]}},"content":{"26":{"position":[[264,5]]},"109":{"position":[[370,6],[391,5],[1886,5],[1977,6],[2042,5],[2159,5],[2224,5],[2247,5],[2355,5],[2483,5],[2550,5],[2573,5]]},"110":{"position":[[377,5],[425,6],[670,5],[694,5],[782,5],[805,5],[2276,5]]},"183":{"position":[[19,5],[32,5],[202,5],[279,7],[335,5],[455,6],[477,5],[557,5],[592,5]]},"386":{"position":[[177,5]]},"402":{"position":[[6054,5]]}},"keywords":{}}],["tort",{"_index":3785,"title":{},"content":{"390":{"position":[[1045,4]]}},"keywords":{}}],["total",{"_index":1071,"title":{},"content":{"48":{"position":[[262,5]]},"55":{"position":[[2989,5],[3291,5]]},"83":{"position":[[527,6]]},"233":{"position":[[558,5]]},"234":{"position":[[341,5]]},"283":{"position":[[551,5]]},"284":{"position":[[343,5]]},"330":{"position":[[515,5],[652,5]]}},"keywords":{}}],["touch",{"_index":3619,"title":{},"content":{"379":{"position":[[121,5],[140,5],[158,5]]}},"keywords":{}}],["track",{"_index":3230,"title":{},"content":{"355":{"position":[[518,5],[615,5]]},"421":{"position":[[755,5]]},"473":{"position":[[1427,5]]},"551":{"position":[[262,5]]}},"keywords":{}}],["tradit",{"_index":4423,"title":{},"content":{"546":{"position":[[387,11]]}},"keywords":{}}],["traefik",{"_index":71,"title":{"21":{"position":[[20,7]]},"22":{"position":[[13,7]]}},"content":{"2":{"position":[[696,7]]},"21":{"position":[[25,7]]},"22":{"position":[[11,7]]},"23":{"position":[[8,7],[157,8],[383,7]]},"42":{"position":[[1378,7],[2737,7]]},"44":{"position":[[183,8],[204,7],[274,7],[289,7],[354,7],[369,7],[405,7],[422,7],[499,7],[520,7],[602,7]]},"96":{"position":[[56,7]]},"147":{"position":[[96,7]]},"189":{"position":[[96,7]]},"255":{"position":[[459,8]]},"258":{"position":[[1439,7]]},"309":{"position":[[3564,7]]},"310":{"position":[[671,7]]},"343":{"position":[[787,7]]},"369":{"position":[[1161,7],[2652,7]]},"404":{"position":[[2535,7]]}},"keywords":{}}],["traefik.yaml",{"_index":477,"title":{},"content":{"21":{"position":[[154,14]]}},"keywords":{}}],["traefik/cert.crt",{"_index":417,"title":{},"content":{"20":{"position":[[400,16],[1219,16]]}},"keywords":{}}],["traefik/cert.key",{"_index":419,"title":{},"content":{"20":{"position":[[436,16],[1350,16]]}},"keywords":{}}],["traefik/dockerfil",{"_index":471,"title":{},"content":{"21":{"position":[[65,18],[97,18]]}},"keywords":{}}],["traefik/traefik.yaml",{"_index":485,"title":{},"content":{"22":{"position":[[53,20],[88,20],[122,20]]}},"keywords":{}}],["traefik:${openc3_tag}"",{"_index":515,"title":{},"content":{"23":{"position":[[200,27]]}},"keywords":{}}],["traefik:2.4",{"_index":475,"title":{},"content":{"21":{"position":[[137,11]]}},"keywords":{}}],["traefik:latest",{"_index":988,"title":{},"content":{"42":{"position":[[2651,14]]}},"keywords":{}}],["traefik_config=traefik",{"_index":1041,"title":{},"content":{"44":{"position":[[457,22]]}},"keywords":{}}],["trae…"",{"_index":990,"title":{},"content":{"42":{"position":[[2687,11]]}},"keywords":{}}],["traffic",{"_index":1593,"title":{},"content":{"83":{"position":[[267,8]]}},"keywords":{}}],["transact",{"_index":1597,"title":{},"content":{"83":{"position":[[514,12],[581,11]]},"429":{"position":[[391,12]]},"431":{"position":[[869,13]]}},"keywords":{}}],["transfer",{"_index":1270,"title":{},"content":{"58":{"position":[[61,8]]},"59":{"position":[[49,8],[174,8]]},"60":{"position":[[47,8],[300,8]]},"82":{"position":[[6583,8]]},"331":{"position":[[651,8],[689,8]]}},"keywords":{}}],["transit",{"_index":1117,"title":{},"content":{"48":{"position":[[4137,10]]},"473":{"position":[[1569,12]]}},"keywords":{}}],["transmiss",{"_index":4118,"title":{},"content":{"434":{"position":[[722,13]]}},"keywords":{}}],["transmit",{"_index":1187,"title":{},"content":{"52":{"position":[[541,11]]},"102":{"position":[[71,11]]},"109":{"position":[[353,11]]},"110":{"position":[[353,11]]},"218":{"position":[[142,8]]},"429":{"position":[[563,8]]},"632":{"position":[[452,8]]},"756":{"position":[[178,8],[225,12],[702,12],[1262,12]]},"765":{"position":[[172,8],[219,12],[678,12],[1211,12]]}},"keywords":{}}],["transpar",{"_index":4021,"title":{},"content":{"424":{"position":[[465,11]]}},"keywords":{}}],["transport",{"_index":1543,"title":{},"content":{"82":{"position":[[1107,9]]}},"keywords":{}}],["trap",{"_index":1837,"title":{"113":{"position":[[5,4]]}},"content":{"103":{"position":[[352,5]]},"113":{"position":[[10,4],[77,6],[93,4]]}},"keywords":{}}],["trash",{"_index":3242,"title":{},"content":{"358":{"position":[[505,5]]},"443":{"position":[[11,5]]},"461":{"position":[[312,5],[619,5]]},"472":{"position":[[491,5],[1143,5],[1450,5]]},"478":{"position":[[374,5],[681,5]]},"483":{"position":[[105,5],[175,5]]},"502":{"position":[[311,5],[618,5]]},"505":{"position":[[288,5]]},"521":{"position":[[330,5],[637,5]]}},"keywords":{}}],["treat",{"_index":396,"title":{},"content":{"20":{"position":[[87,5]]},"36":{"position":[[10289,6]]},"109":{"position":[[1251,7]]},"110":{"position":[[1585,7]]},"229":{"position":[[10289,6]]},"383":{"position":[[36,6]]},"422":{"position":[[227,5]]},"664":{"position":[[559,5]]},"665":{"position":[[525,5]]}},"keywords":{}}],["tree",{"_index":4277,"title":{},"content":{"528":{"position":[[329,4],[706,4]]}},"keywords":{}}],["tri",{"_index":836,"title":{},"content":{"36":{"position":[[9739,3]]},"67":{"position":[[2821,6]]},"93":{"position":[[583,3]]},"105":{"position":[[216,3]]},"115":{"position":[[2349,6]]},"133":{"position":[[31,3]]},"134":{"position":[[17,3]]},"135":{"position":[[78,3],[201,6]]},"229":{"position":[[9739,3]]},"271":{"position":[[1733,3]]},"333":{"position":[[657,3],[717,3]]},"359":{"position":[[779,3]]},"455":{"position":[[1614,6]]},"530":{"position":[[465,6]]},"545":{"position":[[103,3]]},"556":{"position":[[454,6]]},"669":{"position":[[575,3]]},"787":{"position":[[738,3],[821,3]]}},"keywords":{}}],["trick",{"_index":100,"title":{},"content":{"3":{"position":[[244,6]]}},"keywords":{}}],["tricki",{"_index":4324,"title":{},"content":{"535":{"position":[[1409,6]]}},"keywords":{}}],["trigger",{"_index":3993,"title":{"421":{"position":[[0,9]]}},"content":{"419":{"position":[[53,7],[69,9],[94,8],[198,8]]},"420":{"position":[[1,8],[124,8],[233,9],[257,7]]},"421":{"position":[[1,8],[81,7],[137,7],[175,7],[204,7],[290,8],[486,7],[587,8],[628,8],[782,8]]},"422":{"position":[[20,8],[168,8],[237,7],[359,8],[386,8],[398,7],[464,7],[478,7],[519,10],[543,8],[1201,8],[1223,7]]}},"keywords":{}}],["trigger(",{"_index":4005,"title":{},"content":{"422":{"position":[[301,10]]}},"keywords":{}}],["triggergroup",{"_index":3996,"title":{"420":{"position":[[0,14]]}},"content":{},"keywords":{}}],["tripl",{"_index":4220,"title":{},"content":{"498":{"position":[[811,6]]}},"keywords":{}}],["troubl",{"_index":3302,"title":{},"content":{"359":{"position":[[2836,7]]}},"keywords":{}}],["troubleshoot",{"_index":4081,"title":{},"content":{"430":{"position":[[494,12]]}},"keywords":{}}],["true",{"_index":164,"title":{},"content":{"5":{"position":[[649,4],[809,4],[955,4]]},"11":{"position":[[355,4]]},"12":{"position":[[565,4]]},"13":{"position":[[473,4]]},"14":{"position":[[364,4]]},"15":{"position":[[498,4]]},"16":{"position":[[500,4]]},"32":{"position":[[200,4]]},"33":{"position":[[132,4],[265,4]]},"35":{"position":[[134,4],[341,4],[645,4],[743,4],[909,4],[969,4],[1136,4],[1667,4]]},"36":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6351,4],[7127,4],[7147,4],[10428,4]]},"37":{"position":[[134,4],[438,4],[536,4],[702,4],[762,4],[929,4],[1460,4]]},"38":{"position":[[157,4]]},"43":{"position":[[739,6]]},"50":{"position":[[638,5],[687,4]]},"52":{"position":[[799,4],[874,4],[951,4]]},"54":{"position":[[1426,4]]},"55":{"position":[[2417,4],[2642,4]]},"56":{"position":[[842,4]]},"57":{"position":[[1106,4],[1176,4],[1276,4]]},"59":{"position":[[192,4]]},"60":{"position":[[345,4],[848,4]]},"61":{"position":[[2014,4]]},"83":{"position":[[3311,5]]},"104":{"position":[[1195,4],[1317,4],[2110,4],[2250,4]]},"105":{"position":[[1211,4],[1312,4],[2011,4],[2130,4]]},"111":{"position":[[1483,4],[1592,4]]},"115":{"position":[[264,4]]},"126":{"position":[[775,4],[824,4]]},"128":{"position":[[656,4],[825,4]]},"130":{"position":[[116,4]]},"131":{"position":[[158,4]]},"132":{"position":[[161,4]]},"135":{"position":[[317,4]]},"139":{"position":[[513,4],[617,4]]},"140":{"position":[[595,4]]},"141":{"position":[[323,4],[445,4],[673,4]]},"142":{"position":[[128,4],[166,4]]},"143":{"position":[[441,4]]},"144":{"position":[[198,4]]},"145":{"position":[[207,4]]},"147":{"position":[[221,4]]},"149":{"position":[[446,4],[615,4]]},"150":{"position":[[83,4],[242,4]]},"152":{"position":[[154,4]]},"153":{"position":[[145,4]]},"154":{"position":[[163,4]]},"155":{"position":[[152,4]]},"156":{"position":[[152,4]]},"157":{"position":[[170,4]]},"158":{"position":[[156,4]]},"159":{"position":[[164,4]]},"160":{"position":[[147,4]]},"161":{"position":[[165,4]]},"162":{"position":[[156,4]]},"163":{"position":[[154,4]]},"164":{"position":[[172,4]]},"165":{"position":[[160,4]]},"166":{"position":[[178,4]]},"167":{"position":[[174,4]]},"168":{"position":[[172,4]]},"169":{"position":[[172,4]]},"170":{"position":[[172,4]]},"171":{"position":[[164,4]]},"173":{"position":[[136,4]]},"174":{"position":[[456,4]]},"175":{"position":[[201,4]]},"178":{"position":[[333,4],[432,4]]},"180":{"position":[[112,4],[150,4]]},"181":{"position":[[425,4]]},"182":{"position":[[199,4]]},"183":{"position":[[376,4]]},"184":{"position":[[323,4]]},"185":{"position":[[191,4]]},"186":{"position":[[322,4],[391,4]]},"188":{"position":[[283,4],[405,4],[499,4]]},"189":{"position":[[221,4]]},"192":{"position":[[382,4],[462,4]]},"194":{"position":[[274,4]]},"195":{"position":[[290,4]]},"196":{"position":[[363,4]]},"197":{"position":[[253,4]]},"198":{"position":[[189,4]]},"199":{"position":[[100,5],[210,4],[238,5],[250,4]]},"200":{"position":[[330,4]]},"202":{"position":[[97,4],[125,4]]},"203":{"position":[[386,4]]},"226":{"position":[[119,4],[279,4],[425,4]]},"228":{"position":[[153,4],[370,4],[674,4],[772,4],[938,4],[998,4],[1165,4],[1696,4]]},"229":{"position":[[228,4],[395,4],[447,4],[611,4],[903,4],[1507,4],[1740,4],[2410,4],[2544,4],[2678,4],[3082,4],[3119,4],[3588,4],[5289,4],[6351,4],[7127,4],[7147,4],[10428,4]]},"230":{"position":[[153,4],[457,4],[555,4],[721,4],[781,4],[948,4],[1479,4]]},"231":{"position":[[376,4],[540,4],[844,4],[942,4],[1108,4],[1168,4],[1309,4],[1840,4]]},"232":{"position":[[376,4],[680,4],[778,4],[944,4],[1004,4],[1145,4],[1676,4]]},"233":{"position":[[170,4],[387,4],[434,4],[538,4],[731,4]]},"234":{"position":[[170,4],[217,4],[321,4],[514,4]]},"235":{"position":[[371,4]]},"236":{"position":[[455,4]]},"240":{"position":[[292,4]]},"242":{"position":[[301,4]]},"243":{"position":[[344,4]]},"244":{"position":[[388,4]]},"245":{"position":[[167,4],[225,4]]},"246":{"position":[[179,4],[243,4]]},"247":{"position":[[148,4],[203,4],[254,4]]},"248":{"position":[[152,4],[209,4]]},"251":{"position":[[463,4],[1227,6],[1344,6],[2015,6],[2152,6]]},"252":{"position":[[374,4],[422,4]]},"276":{"position":[[130,4],[308,4],[442,4]]},"278":{"position":[[155,4],[363,4],[672,4],[775,4]]},"279":{"position":[[223,4],[390,4],[442,4],[606,4],[898,4],[1502,4],[1735,4],[2381,4],[2464,4],[2648,4],[3770,4],[4890,4],[5728,4],[5748,4],[8559,4],[8693,4],[8912,4],[9027,4],[9185,4],[9346,4],[9466,4],[10648,4]]},"280":{"position":[[155,4],[464,4],[567,4]]},"281":{"position":[[325,4],[486,4],[681,4],[775,4],[869,4]]},"282":{"position":[[155,4],[350,4],[444,4],[538,4]]},"283":{"position":[[172,4],[380,4],[427,4],[531,4],[724,4]]},"284":{"position":[[172,4],[219,4],[323,4],[516,4]]},"285":{"position":[[361,4]]},"286":{"position":[[418,4]]},"287":{"position":[[301,4]]},"288":{"position":[[150,4],[295,4]]},"291":{"position":[[301,4]]},"292":{"position":[[190,4]]},"293":{"position":[[235,4]]},"296":{"position":[[379,4],[435,4]]},"297":{"position":[[783,4]]},"298":{"position":[[268,4],[304,4],[366,4]]},"299":{"position":[[383,4]]},"304":{"position":[[1209,4]]},"305":{"position":[[1487,4]]},"358":{"position":[[3054,4],[4334,4],[5003,4]]},"359":{"position":[[1654,4]]},"362":{"position":[[358,4],[429,4],[688,4],[759,4],[1009,4],[1081,4]]},"419":{"position":[[144,4]]},"421":{"position":[[55,4]]},"422":{"position":[[48,4]]},"434":{"position":[[633,4]]},"455":{"position":[[1525,4]]},"535":{"position":[[1004,5],[1050,5]]},"577":{"position":[[309,4],[402,4],[463,4]]},"579":{"position":[[339,4]]},"580":{"position":[[209,4],[252,4]]},"581":{"position":[[642,4],[694,4],[737,4]]},"583":{"position":[[179,4]]},"584":{"position":[[183,4]]},"585":{"position":[[179,4]]},"586":{"position":[[181,4]]},"587":{"position":[[257,4]]},"588":{"position":[[251,4]]},"589":{"position":[[262,4]]},"590":{"position":[[116,4],[137,4]]},"591":{"position":[[653,4],[696,4]]},"592":{"position":[[488,4],[559,4],[630,4]]},"598":{"position":[[177,4]]},"601":{"position":[[126,4]]},"602":{"position":[[129,4]]},"604":{"position":[[200,4]]},"606":{"position":[[99,4]]},"607":{"position":[[114,4],[157,4]]},"609":{"position":[[120,4],[153,4],[182,4]]},"610":{"position":[[120,4],[153,4],[182,4]]},"611":{"position":[[453,4],[486,4],[515,4]]},"612":{"position":[[95,4],[128,4],[157,4],[1140,4],[1172,4]]},"613":{"position":[[122,4],[155,4],[184,4]]},"614":{"position":[[116,4],[149,4],[178,4]]},"615":{"position":[[124,4],[157,4],[186,4]]},"616":{"position":[[136,4],[169,4],[198,4]]},"617":{"position":[[139,4],[172,4],[201,4]]},"618":{"position":[[135,4],[168,4],[197,4],[335,4],[475,4]]},"619":{"position":[[74,4],[403,4],[436,4],[465,4],[1072,4],[1104,4]]},"620":{"position":[[132,4],[165,4],[194,4]]},"621":{"position":[[130,4],[163,4],[192,4]]},"622":{"position":[[116,4],[149,4],[178,4],[489,4]]},"623":{"position":[[105,4],[138,4],[167,4]]},"624":{"position":[[108,4],[141,4],[170,4]]},"625":{"position":[[104,4],[137,4],[166,4],[304,4],[444,4]]},"626":{"position":[[102,4],[135,4],[164,4],[829,4],[862,4],[891,4],[1419,4],[1568,4],[1709,4],[1834,4],[1959,4],[2043,4],[2072,4]]},"627":{"position":[[136,4],[169,4],[198,4],[882,4],[915,4],[944,4],[1472,4],[1621,4],[1762,4],[1887,4],[2012,4],[2096,4],[2125,4]]},"628":{"position":[[120,4],[153,4],[182,4],[854,4],[887,4],[916,4],[1444,4],[1593,4],[1734,4],[1859,4],[1984,4],[2068,4],[2097,4]]},"629":{"position":[[101,4],[134,4],[281,4],[350,4]]},"630":{"position":[[126,4],[159,4],[188,4]]},"631":{"position":[[114,4],[147,4],[176,4],[314,4],[454,4]]},"632":{"position":[[309,4]]},"633":{"position":[[148,4],[181,4],[210,4]]},"634":{"position":[[100,4],[133,4],[162,4]]},"635":{"position":[[344,4],[377,4],[406,4]]},"637":{"position":[[1456,6],[1649,4],[1720,4]]},"638":{"position":[[198,4]]},"639":{"position":[[224,4]]},"642":{"position":[[296,4]]},"646":{"position":[[252,4],[285,4]]},"647":{"position":[[132,4],[210,4],[249,4]]},"648":{"position":[[138,4],[171,4],[200,4],[278,4],[356,4]]},"649":{"position":[[167,4],[246,4],[325,4],[802,4],[838,4]]},"650":{"position":[[330,4],[363,4],[392,4],[493,4],[608,4],[687,4],[766,4],[1352,4],[1447,4],[1526,4],[1605,4],[1715,4],[1751,4]]},"651":{"position":[[128,4],[200,4],[268,4],[336,4]]},"652":{"position":[[202,4],[235,4],[264,4],[336,4],[408,4],[476,4],[544,4],[1268,4],[1297,4]]},"653":{"position":[[93,4],[131,4],[159,4],[199,4]]},"664":{"position":[[760,5],[864,5],[981,5],[1085,5]]},"665":{"position":[[740,5],[873,5],[1004,5],[1137,5]]},"669":{"position":[[824,5]]},"685":{"position":[[84,5],[303,5]]},"690":{"position":[[1436,5]]},"692":{"position":[[592,4],[730,4]]},"699":{"position":[[878,4]]},"722":{"position":[[588,4],[641,4],[1178,5],[1474,5]]},"723":{"position":[[286,4],[339,4],[945,5],[1241,5],[1445,5]]},"724":{"position":[[58,4],[371,4],[424,4],[731,5],[907,5]]},"725":{"position":[[261,4],[788,5]]},"726":{"position":[[790,5]]},"727":{"position":[[841,5]]},"728":{"position":[[58,4],[656,5]]},"729":{"position":[[760,5]]},"731":{"position":[[581,4],[684,4]]},"741":{"position":[[1890,5],[2072,5]]},"757":{"position":[[625,5]]}},"keywords":{}}],["true"",{"_index":4407,"title":{},"content":{"544":{"position":[[1456,11],[1736,11]]}},"keywords":{}}],["true'"",{"_index":4409,"title":{},"content":{"544":{"position":[[1509,13],[1789,13]]}},"keywords":{}}],["true/fals",{"_index":1411,"title":{},"content":{"69":{"position":[[196,12]]},"692":{"position":[[9,10]]},"731":{"position":[[36,10]]}},"keywords":{}}],["truli",{"_index":3395,"title":{},"content":{"367":{"position":[[809,5]]},"544":{"position":[[909,5]]}},"keywords":{}}],["truncat",{"_index":838,"title":{},"content":{"36":{"position":[[9894,10],[10409,9],[10459,8]]},"229":{"position":[[9894,10],[10409,9],[10459,8]]},"791":{"position":[[93,11],[266,10]]},"792":{"position":[[92,11]]}},"keywords":{}}],["trust",{"_index":1888,"title":{},"content":{"109":{"position":[[1262,7]]},"110":{"position":[[1596,7]]}},"keywords":{}}],["ttl",{"_index":1862,"title":{},"content":{"106":{"position":[[597,3]]},"378":{"position":[[973,3]]}},"keywords":{}}],["tupl",{"_index":1102,"title":{},"content":{"48":{"position":[[2485,7]]}},"keywords":{}}],["turn",{"_index":1387,"title":{},"content":{"67":{"position":[[2599,6],[2921,6]]},"407":{"position":[[531,5]]},"462":{"position":[[464,4]]},"530":{"position":[[386,5]]}},"keywords":{}}],["tutori",{"_index":2985,"title":{},"content":{"323":{"position":[[9,8]]},"324":{"position":[[25,8]]},"371":{"position":[[6,8]]},"383":{"position":[[1902,8]]}},"keywords":{}}],["tv",{"_index":3211,"title":{},"content":{"351":{"position":[[388,2],[484,2]]}},"keywords":{}}],["tvac",{"_index":2657,"title":{},"content":{"279":{"position":[[10325,4]]},"740":{"position":[[583,7],[900,8]]},"741":{"position":[[2061,7]]}},"keywords":{}}],["tvac'=>",{"_index":5410,"title":{},"content":{"740":{"position":[[811,12]]}},"keywords":{}}],["tweak",{"_index":4576,"title":{},"content":{"571":{"position":[[141,5]]},"582":{"position":[[90,6]]}},"keywords":{}}],["twice",{"_index":755,"title":{},"content":{"36":{"position":[[4731,6],[8728,6]]},"229":{"position":[[4731,6],[8728,6]]}},"keywords":{}}],["two",{"_index":198,"title":{},"content":{"6":{"position":[[150,3]]},"8":{"position":[[284,3]]},"9":{"position":[[17,3]]},"36":{"position":[[8065,3]]},"52":{"position":[[120,3],[314,3],[417,3]]},"69":{"position":[[648,3]]},"70":{"position":[[229,3]]},"77":{"position":[[271,3]]},"91":{"position":[[458,3],[910,3]]},"92":{"position":[[442,3]]},"95":{"position":[[176,4]]},"219":{"position":[[624,3]]},"229":{"position":[[8065,3]]},"250":{"position":[[130,3]]},"267":{"position":[[226,3]]},"279":{"position":[[6725,3]]},"358":{"position":[[4200,3]]},"367":{"position":[[463,3],[498,3]]},"369":{"position":[[532,3],[1937,3],[3427,3]]},"378":{"position":[[1211,3]]},"506":{"position":[[719,3]]},"524":{"position":[[624,3],[807,3]]},"544":{"position":[[245,3]]},"546":{"position":[[17,3]]},"552":{"position":[[1158,3]]},"562":{"position":[[241,3]]},"565":{"position":[[612,3],[692,3],[874,3],[970,3]]},"572":{"position":[[22,3]]},"587":{"position":[[187,3]]},"588":{"position":[[181,3]]},"589":{"position":[[192,3]]},"652":{"position":[[80,3]]},"657":{"position":[[175,4]]},"668":{"position":[[664,6],[745,6],[815,6],[867,5],[886,4],[979,6],[1060,6],[1130,6],[1187,6],[1208,5]]}},"keywords":{}}],["two"",{"_index":4555,"title":{},"content":{"565":{"position":[[655,10],[917,10]]}},"keywords":{}}],["tx_byte",{"_index":5535,"title":{},"content":{"756":{"position":[[450,9],[715,12],[1009,9]]},"765":{"position":[[432,9],[691,12],[950,9]]}},"keywords":{}}],["tx_q_size",{"_index":5533,"title":{},"content":{"756":{"position":[[428,10],[648,13],[987,10]]},"765":{"position":[[410,10],[624,13],[928,10]]}},"keywords":{}}],["type",{"_index":376,"title":{"48":{"position":[[6,6]]},"451":{"position":[[0,5]]},"659":{"position":[[10,6]]}},"content":{"17":{"position":[[90,4],[189,4]]},"18":{"position":[[93,4],[193,4]]},"27":{"position":[[353,4],[379,4],[880,4]]},"31":{"position":[[561,6]]},"35":{"position":[[614,4],[655,4],[665,4],[759,4],[1422,4]]},"36":{"position":[[376,5],[9692,4],[9790,5],[10073,5],[10364,6]]},"37":{"position":[[407,4],[448,4],[458,4],[552,4],[1215,4]]},"39":{"position":[[309,4]]},"47":{"position":[[118,4]]},"48":{"position":[[41,5],[215,4],[369,4],[403,5],[1169,5],[1185,5],[1484,4],[1724,4],[2357,4],[2694,5],[3976,4],[4241,4],[4885,4]]},"59":{"position":[[317,4],[333,4]]},"61":{"position":[[308,4]]},"77":{"position":[[172,4]]},"81":{"position":[[188,5],[642,5]]},"82":{"position":[[437,5],[757,5],[1173,4],[4731,5],[6383,5]]},"83":{"position":[[2447,5]]},"91":{"position":[[789,4],[1475,4],[1821,4]]},"92":{"position":[[584,4],[904,4]]},"104":{"position":[[201,4],[716,4]]},"105":{"position":[[603,4]]},"110":{"position":[[899,4]]},"111":{"position":[[795,4]]},"174":{"position":[[185,5],[362,5]]},"175":{"position":[[194,6]]},"213":{"position":[[659,4]]},"217":{"position":[[2059,4],[2184,4]]},"225":{"position":[[862,6],[1127,4]]},"228":{"position":[[643,4],[684,4],[694,4],[788,4],[1451,4]]},"229":{"position":[[376,5],[9692,4],[9790,5],[10073,5],[10364,6]]},"230":{"position":[[426,4],[467,4],[477,4],[571,4],[1234,4]]},"231":{"position":[[813,4],[854,4],[864,4],[958,4],[1595,4]]},"232":{"position":[[649,4],[690,4],[700,4],[794,4],[1431,4]]},"233":{"position":[[449,4],[459,4]]},"234":{"position":[[232,4],[242,4]]},"250":{"position":[[134,5]]},"271":{"position":[[886,6],[1126,4],[1413,5],[1544,4],[1710,4]]},"272":{"position":[[403,4]]},"274":{"position":[[276,5],[481,4]]},"278":{"position":[[641,4],[682,4],[692,4]]},"279":{"position":[[371,5],[7352,4],[7357,4]]},"280":{"position":[[433,4],[474,4],[484,4]]},"281":{"position":[[691,4],[701,4]]},"282":{"position":[[360,4],[370,4]]},"283":{"position":[[442,4],[452,4]]},"284":{"position":[[234,4],[244,4]]},"299":{"position":[[242,4]]},"304":{"position":[[993,4]]},"305":{"position":[[1210,4]]},"321":{"position":[[449,5]]},"350":{"position":[[1478,5],[1586,5]]},"353":{"position":[[495,4],[611,5]]},"354":{"position":[[172,4]]},"358":{"position":[[2822,4],[4617,6],[4824,4]]},"359":{"position":[[1420,4]]},"362":{"position":[[184,5],[261,5],[286,5],[520,5],[591,5],[616,5],[850,5],[912,5],[937,5],[1172,5]]},"365":{"position":[[263,5]]},"379":{"position":[[365,4],[2815,4]]},"398":{"position":[[67,5]]},"402":{"position":[[3161,4],[3285,6],[3300,4],[4079,4],[4156,4]]},"455":{"position":[[1452,4]]},"467":{"position":[[314,4]]},"468":{"position":[[140,4]]},"481":{"position":[[193,4],[312,4]]},"484":{"position":[[234,4]]},"491":{"position":[[190,4]]},"528":{"position":[[486,6]]},"536":{"position":[[110,4],[215,6]]},"540":{"position":[[2520,4],[3430,4]]},"542":{"position":[[291,4],[357,4],[539,4],[735,4]]},"554":{"position":[[506,4],[1022,4]]},"564":{"position":[[404,4],[583,4]]},"580":{"position":[[54,4]]},"581":{"position":[[57,4]]},"592":{"position":[[500,4],[523,5],[625,4]]},"608":{"position":[[147,4]]},"609":{"position":[[432,4],[441,4]]},"610":{"position":[[619,4],[628,4]]},"611":{"position":[[604,4],[613,4]]},"612":{"position":[[168,4],[177,4]]},"613":{"position":[[416,4],[425,4]]},"614":{"position":[[189,4],[198,4]]},"615":{"position":[[335,4],[344,4]]},"616":{"position":[[209,4],[218,4]]},"617":{"position":[[212,4],[221,4]]},"618":{"position":[[486,4],[495,4]]},"619":{"position":[[476,4],[485,4]]},"620":{"position":[[205,4],[214,4]]},"621":{"position":[[203,4],[212,4]]},"622":{"position":[[189,4],[198,4]]},"623":{"position":[[178,4],[187,4]]},"624":{"position":[[181,4],[190,4]]},"625":{"position":[[455,4],[464,4]]},"626":{"position":[[175,4],[184,4],[407,4],[416,4],[902,4],[911,4],[1134,4],[1143,4]]},"627":{"position":[[209,4],[218,4],[441,4],[450,4],[955,4],[964,4],[1187,4],[1196,4]]},"628":{"position":[[193,4],[202,4],[425,4],[434,4],[927,4],[936,4],[1159,4],[1168,4]]},"630":{"position":[[426,4],[435,4]]},"631":{"position":[[465,4],[474,4]]},"633":{"position":[[221,4],[230,4]]},"635":{"position":[[417,4],[426,4]]},"637":{"position":[[1073,4],[1798,4]]},"639":{"position":[[337,4],[436,4]]},"643":{"position":[[418,4]]},"648":{"position":[[450,4],[459,4]]},"650":{"position":[[403,4],[412,4]]},"652":{"position":[[609,4],[618,4]]},"654":{"position":[[539,4]]},"659":{"position":[[140,4],[705,4],[1303,4]]},"662":{"position":[[4854,4],[5106,5],[5179,5],[5260,5],[5353,5]]},"664":{"position":[[121,5]]},"673":{"position":[[1104,6],[1165,6]]},"677":{"position":[[1119,5],[1335,4],[1767,4]]},"678":{"position":[[1341,5],[1572,4],[1798,4]]},"679":{"position":[[1362,5]]},"680":{"position":[[1395,5],[1621,4],[1839,4]]},"681":{"position":[[1195,5],[1415,4],[1597,4]]},"682":{"position":[[1412,5],[1647,4],[1859,4]]},"683":{"position":[[1433,5]]},"684":{"position":[[1466,5],[1696,4],[1898,4]]},"685":{"position":[[468,4],[1027,4]]},"690":{"position":[[671,4],[1221,7],[1310,4]]},"692":{"position":[[544,7],[685,8]]},"693":{"position":[[377,4],[539,4],[550,4]]},"697":{"position":[[75,5],[1065,4],[1134,5],[1422,4]]},"698":{"position":[[676,4],[889,5]]},"701":{"position":[[426,4],[462,5],[959,5]]},"703":{"position":[[490,4],[526,5],[709,5]]},"704":{"position":[[184,4],[209,4]]},"710":{"position":[[578,4],[589,4],[742,4],[878,5],[943,5],[1029,4]]},"711":{"position":[[441,4],[446,4]]},"712":{"position":[[445,4],[450,4],[710,5]]},"713":{"position":[[262,4],[267,4],[510,5]]},"714":{"position":[[111,5],[170,5]]},"722":{"position":[[810,5],[1282,4],[1318,5],[1658,5]]},"723":{"position":[[538,5],[1049,4],[1085,5],[1426,5]]},"726":{"position":[[432,5],[894,4],[930,5],[1176,5]]},"727":{"position":[[448,5],[945,4],[981,5],[1255,5]]}},"keywords":{}}],["type>",{"_index":3894,"title":{},"content":{"402":{"position":[[2988,9],[3956,9]]}},"keywords":{}}],["type>__<reduc",{"_index":3893,"title":{},"content":{"402":{"position":[[2966,21]]}},"keywords":{}}],["type"",{"_index":2224,"title":{},"content":{"213":{"position":[[699,10]]},"253":{"position":[[276,10],[1154,10],[1924,10]]},"690":{"position":[[451,11],[1178,11]]}},"keywords":{}}],["type='format",{"_index":5250,"title":{},"content":{"703":{"position":[[826,17]]}},"keywords":{}}],["type='raw",{"_index":5206,"title":{},"content":{"697":{"position":[[1491,11]]},"698":{"position":[[1056,11]]},"701":{"position":[[1387,11]]},"710":{"position":[[1164,11],[1229,11]]},"712":{"position":[[909,11]]},"713":{"position":[[697,11]]},"722":{"position":[[1868,11]]},"723":{"position":[[1633,11]]},"726":{"position":[[1353,11]]},"727":{"position":[[1460,11]]}},"keywords":{}}],["type=text/html",{"_index":2320,"title":{},"content":{"217":{"position":[[2032,14]]}},"keywords":{}}],["type_nam",{"_index":3329,"title":{},"content":{"362":{"position":[[434,9],[764,9],[1086,9]]}},"keywords":{}}],["typed.vari",{"_index":4331,"title":{},"content":{"540":{"position":[[649,14]]}},"keywords":{}}],["typescontain",{"_index":3860,"title":{},"content":{"401":{"position":[[293,14]]}},"keywords":{}}],["typic",{"_index":614,"title":{},"content":{"31":{"position":[[174,9]]},"38":{"position":[[39,9]]},"48":{"position":[[4823,9]]},"67":{"position":[[2280,9],[3731,9],[3790,9]]},"73":{"position":[[560,9]]},"74":{"position":[[586,9]]},"75":{"position":[[602,9]]},"76":{"position":[[599,9]]},"77":{"position":[[94,7],[776,9]]},"109":{"position":[[23,9]]},"110":{"position":[[33,9]]},"120":{"position":[[79,9]]},"136":{"position":[[152,9]]},"148":{"position":[[130,9]]},"177":{"position":[[130,9]]},"191":{"position":[[130,9]]},"213":{"position":[[590,9],[962,9]]},"215":{"position":[[22,9]]},"216":{"position":[[22,9],[170,9],[330,9]]},"217":{"position":[[18,9],[1457,9],[2512,9]]},"220":{"position":[[21,9]]},"235":{"position":[[128,9]]},"252":{"position":[[49,9]]},"273":{"position":[[194,9]]},"274":{"position":[[132,9],[645,9]]},"285":{"position":[[127,9]]},"296":{"position":[[51,9]]},"298":{"position":[[97,9]]},"302":{"position":[[545,9]]},"303":{"position":[[637,9]]},"314":{"position":[[845,9]]},"332":{"position":[[753,9]]},"349":{"position":[[2882,9]]},"393":{"position":[[877,9]]},"402":{"position":[[1736,9]]},"546":{"position":[[789,9]]},"572":{"position":[[284,9]]},"642":{"position":[[176,7]]},"799":{"position":[[178,9]]},"806":{"position":[[29,9]]}},"keywords":{}}],["typo",{"_index":3689,"title":{},"content":{"380":{"position":[[1594,4],[1618,5],[1756,4]]},"426":{"position":[[924,4]]},"658":{"position":[[1143,5]]}},"keywords":{}}],["typograpi",{"_index":2564,"title":{},"content":{"265":{"position":[[243,10]]}},"keywords":{}}],["ubuntu",{"_index":3423,"title":{},"content":{"369":{"position":[[217,6],[795,6],[907,6],[1093,6],[1118,6],[2281,6],[2584,6],[2609,6]]}},"keywords":{}}],["ubuntu:22.10",{"_index":3570,"title":{},"content":{"376":{"position":[[6,12],[597,12]]}},"keywords":{}}],["udp",{"_index":1836,"title":{"106":{"position":[[0,3]]}},"content":{"103":{"position":[[71,4]]},"106":{"position":[[5,3],[24,3]]},"113":{"position":[[283,3]]},"120":{"position":[[135,3]]},"342":{"position":[[615,4]]},"343":{"position":[[1157,4]]},"378":{"position":[[623,4]]}},"keywords":{}}],["udp_interfac",{"_index":2020,"title":{},"content":{"128":{"position":[[793,14]]},"149":{"position":[[583,14]]}},"keywords":{}}],["udp_interface.rb",{"_index":1866,"title":{},"content":{"106":{"position":[[916,16]]},"378":{"position":[[1060,16]]}},"keywords":{}}],["ui",{"_index":2547,"title":{},"content":{"263":{"position":[[431,2]]},"365":{"position":[[317,3],[347,4]]}},"keywords":{}}],["uint",{"_index":214,"title":{},"content":{"6":{"position":[[396,4],[840,4],[895,4],[950,4],[1005,4],[1060,4]]},"7":{"position":[[299,4],[707,4],[912,4],[984,4]]},"31":{"position":[[573,5]]},"35":{"position":[[707,5],[772,5]]},"36":{"position":[[3530,4],[9228,4],[9417,4]]},"37":{"position":[[500,5],[565,5]]},"40":{"position":[[227,4],[335,4],[454,4],[561,4],[679,4],[816,4],[908,4],[967,4],[1112,4],[1247,4],[1455,4]]},"213":{"position":[[670,4],[806,4],[1049,4],[1111,4]]},"214":{"position":[[624,4],[718,4],[1016,4],[1835,4],[1905,4],[1988,4],[2227,4]]},"215":{"position":[[470,4],[892,4]]},"218":{"position":[[826,4],[920,4],[1218,4],[1613,4],[1683,4],[1766,4],[2005,4]]},"219":{"position":[[1046,4]]},"220":{"position":[[877,4],[1002,4],[2104,4],[2205,4],[2288,4]]},"225":{"position":[[874,5]]},"228":{"position":[[736,5],[801,5],[1969,4]]},"229":{"position":[[3530,4],[9228,4],[9417,4]]},"230":{"position":[[519,5],[584,5],[1757,4]]},"231":{"position":[[906,5],[971,5],[2119,4]]},"232":{"position":[[742,5],[807,5],[1959,4]]},"233":{"position":[[502,5]]},"234":{"position":[[285,5]]},"253":{"position":[[148,4],[231,4],[310,4],[404,4],[497,4],[584,4],[675,4],[877,4],[1026,4],[1109,4],[1188,4],[1282,4],[1375,4],[1462,4],[1553,4],[1632,4],[1796,4],[1879,4],[1958,4],[2052,4],[2145,4],[2232,4],[2323,4],[2450,4]]},"271":{"position":[[898,5]]},"278":{"position":[[739,5],[1081,4]]},"279":{"position":[[2596,4],[7404,5],[7527,4],[7694,4]]},"280":{"position":[[531,5],[876,4]]},"281":{"position":[[748,5],[1178,4]]},"282":{"position":[[417,5],[850,4]]},"283":{"position":[[495,5]]},"284":{"position":[[287,5]]},"299":{"position":[[132,4],[218,4],[318,4],[413,4],[487,4],[604,4],[672,4],[734,4],[819,4],[893,4],[1057,4]]},"304":{"position":[[1164,4]]},"305":{"position":[[1442,4]]},"321":{"position":[[778,4],[1179,4],[1222,4],[1264,4]]},"358":{"position":[[2999,4],[4011,6],[4076,4],[4139,4],[4958,4]]},"359":{"position":[[1599,4]]},"379":{"position":[[440,4],[550,4],[654,4],[739,4],[791,4],[1284,4],[1406,4],[1514,4],[1619,4],[1671,4],[1816,4],[1938,4],[2046,4],[2124,4],[2176,4],[2316,4],[2438,4],[2546,4],[2624,4],[2676,4],[2863,4],[2954,4],[3043,4],[3133,4],[3192,4],[3291,4],[3348,4],[3409,4],[3483,4]]},"690":{"position":[[1276,7]]}},"keywords":{}}],["umd",{"_index":2960,"title":{},"content":{"320":{"position":[[978,3],[1122,3],[1273,3]]}},"keywords":{}}],["unaffect",{"_index":2609,"title":{},"content":{"275":{"position":[[764,11]]},"431":{"position":[[908,10]]}},"keywords":{}}],["unambigu",{"_index":1167,"title":{},"content":{"51":{"position":[[132,11]]}},"keywords":{}}],["unauthent",{"_index":1875,"title":{},"content":{"108":{"position":[[57,15]]}},"keywords":{}}],["unauthor",{"_index":1694,"title":{},"content":{"85":{"position":[[180,12]]},"424":{"position":[[152,12]]},"429":{"position":[[190,12]]},"434":{"position":[[582,12]]}},"keywords":{}}],["unauthoris",{"_index":4039,"title":{},"content":{"424":{"position":[[1861,12]]}},"keywords":{}}],["unavail",{"_index":4825,"title":{},"content":{"650":{"position":[[1088,11]]},"652":{"position":[[1048,11]]}},"keywords":{}}],["uncheck",{"_index":889,"title":{},"content":{"40":{"position":[[1297,9]]},"497":{"position":[[463,7]]},"535":{"position":[[228,10],[519,10]]},"654":{"position":[[937,9]]}},"keywords":{}}],["unclear",{"_index":4413,"title":{},"content":{"545":{"position":[[41,7]]}},"keywords":{}}],["uncom",{"_index":2900,"title":{},"content":{"309":{"position":[[3424,9]]},"310":{"position":[[455,9]]}},"keywords":{}}],["unconvert",{"_index":2632,"title":{},"content":{"279":{"position":[[3434,11],[4805,11],[5498,11],[6621,11]]}},"keywords":{}}],["undefin",{"_index":4290,"title":{},"content":{"531":{"position":[[358,9],[711,9]]}},"keywords":{}}],["under",{"_index":339,"title":{},"content":{"12":{"position":[[384,5]]},"326":{"position":[[1171,5]]},"338":{"position":[[705,5]]},"373":{"position":[[165,5]]},"380":{"position":[[1304,5],[2040,5]]},"389":{"position":[[745,5],[1786,5],[2181,5]]},"390":{"position":[[68,5]]},"391":{"position":[[88,5],[321,5]]},"393":{"position":[[1246,5]]},"424":{"position":[[349,5]]},"435":{"position":[[154,5]]},"511":{"position":[[47,5]]},"513":{"position":[[437,5]]},"557":{"position":[[155,5]]},"568":{"position":[[277,5]]},"582":{"position":[[542,5]]},"605":{"position":[[139,5]]},"813":{"position":[[40,5]]}},"keywords":{}}],["underli",{"_index":3987,"title":{},"content":{"414":{"position":[[56,10]]},"545":{"position":[[202,10]]}},"keywords":{}}],["underopenc3",{"_index":3616,"title":{},"content":{"378":{"position":[[1454,11]]}},"keywords":{}}],["underscor",{"_index":257,"title":{},"content":{"7":{"position":[[492,10]]},"36":{"position":[[5185,11]]},"229":{"position":[[5185,11]]},"244":{"position":[[376,11]]},"251":{"position":[[364,11]]},"279":{"position":[[3666,11]]},"293":{"position":[[223,11]]},"402":{"position":[[2843,12],[3852,12]]},"540":{"position":[[1335,11],[1449,11],[1629,11],[4182,12]]}},"keywords":{}}],["understand",{"_index":107,"title":{},"content":{"3":{"position":[[384,10]]},"20":{"position":[[825,10]]},"67":{"position":[[1543,10],[1589,10]]},"342":{"position":[[60,11]]},"362":{"position":[[121,13]]},"449":{"position":[[78,10]]},"538":{"position":[[267,11]]},"540":{"position":[[1179,10]]},"543":{"position":[[146,10]]}},"keywords":{}}],["undo",{"_index":3159,"title":{},"content":{"349":{"position":[[1620,5]]}},"keywords":{}}],["unedit",{"_index":853,"title":{},"content":{"36":{"position":[[10717,11],[10806,10]]},"40":{"position":[[1052,10],[1187,10],[1325,10]]}},"keywords":{}}],["unencrypt",{"_index":565,"title":{},"content":{"26":{"position":[[200,11]]},"108":{"position":[[44,12]]}},"keywords":{}}],["unexpect",{"_index":1312,"title":{},"content":{"61":{"position":[[2786,10]]},"64":{"position":[[402,10]]},"115":{"position":[[2597,10]]}},"keywords":{}}],["unfinish",{"_index":4007,"title":{},"content":{"422":{"position":[[973,10]]}},"keywords":{}}],["unidentifi",{"_index":3270,"title":{},"content":{"358":{"position":[[5392,12]]}},"keywords":{}}],["unifi",{"_index":3313,"title":{},"content":{"362":{"position":[[58,5]]}},"keywords":{}}],["unimpl",{"_index":4860,"title":{},"content":{"662":{"position":[[95,13],[1246,13],[3751,13],[4782,13]]}},"keywords":{}}],["uninstal",{"_index":3235,"title":{},"content":{"356":{"position":[[334,12],[355,9]]},"358":{"position":[[374,9]]},"407":{"position":[[420,11]]}},"keywords":{}}],["uninstru",{"_index":4480,"title":{"552":{"position":[[16,14]]}},"content":{"552":{"position":[[384,14],[1179,14],[2548,14],[2681,14]]}},"keywords":{}}],["union",{"_index":4088,"title":{},"content":{"431":{"position":[[47,5]]}},"keywords":{}}],["uniqu",{"_index":167,"title":{},"content":{"5":{"position":[[726,6]]},"33":{"position":[[340,8]]},"35":{"position":[[109,6]]},"37":{"position":[[109,6]]},"48":{"position":[[1142,6],[1293,8],[2680,6]]},"141":{"position":[[665,7]]},"147":{"position":[[170,6]]},"189":{"position":[[170,6]]},"226":{"position":[[196,6]]},"228":{"position":[[126,6]]},"230":{"position":[[126,6]]},"231":{"position":[[349,6]]},"232":{"position":[[349,6]]},"233":{"position":[[143,6]]},"234":{"position":[[143,6]]},"276":{"position":[[216,6]]},"278":{"position":[[129,6]]},"279":{"position":[[8515,6]]},"280":{"position":[[129,6]]},"281":{"position":[[299,6],[827,8]]},"282":{"position":[[129,6],[496,8]]},"283":{"position":[[146,6]]},"284":{"position":[[146,6]]},"307":{"position":[[1141,6]]},"351":{"position":[[125,6],[252,6]]},"358":{"position":[[6265,6]]},"450":{"position":[[92,6]]},"504":{"position":[[387,6]]},"546":{"position":[[21,6]]},"582":{"position":[[505,6]]},"592":{"position":[[401,6],[469,6],[586,6]]},"716":{"position":[[82,6]]},"717":{"position":[[191,6]]},"779":{"position":[[55,6]]}},"keywords":{}}],["unit",{"_index":432,"title":{"210":{"position":[[5,4]]},"211":{"position":[[7,4]]}},"content":{"20":{"position":[[642,4]]},"36":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"55":{"position":[[1493,5]]},"58":{"position":[[70,5]]},"64":{"position":[[1101,5],[1213,5]]},"92":{"position":[[414,5]]},"214":{"position":[[676,5],[1951,5]]},"215":{"position":[[522,5]]},"218":{"position":[[878,5],[1729,5]]},"219":{"position":[[1005,5]]},"220":{"position":[[960,5],[2251,5]]},"229":{"position":[[284,6],[306,5],[370,5],[433,6],[469,5],[485,5]]},"235":{"position":[[453,5],[459,5]]},"252":{"position":[[504,5],[510,5]]},"258":{"position":[[45,4]]},"261":{"position":[[226,5]]},"279":{"position":[[279,6],[301,5],[365,5],[428,6],[464,5],[480,5]]},"349":{"position":[[705,4]]},"350":{"position":[[1531,6]]},"379":{"position":[[3151,5],[3210,5]]},"583":{"position":[[43,5],[70,6],[173,5]]},"584":{"position":[[45,5],[72,6],[177,5]]},"585":{"position":[[45,5],[72,6],[173,5]]},"586":{"position":[[47,5],[74,6],[175,5]]},"659":{"position":[[1081,5],[1102,5],[1181,5],[1254,5]]}},"keywords":{}}],["unitsdisplay",{"_index":4202,"title":{},"content":{"490":{"position":[[77,12]]}},"keywords":{}}],["unix",{"_index":1107,"title":{},"content":{"48":{"position":[[2809,4],[3243,4]]},"111":{"position":[[126,4]]},"275":{"position":[[897,4],[1037,4],[1190,4]]},"402":{"position":[[4336,4]]}},"keywords":{}}],["unix_time_conversion.rb",{"_index":2618,"title":{},"content":{"275":{"position":[[1375,23]]}},"keywords":{}}],["unknown",{"_index":1212,"title":{},"content":{"54":{"position":[[1530,7],[1581,7]]},"281":{"position":[[212,7]]},"380":{"position":[[2188,7]]}},"keywords":{}}],["unlaw",{"_index":4040,"title":{},"content":{"424":{"position":[[1877,8]]}},"keywords":{}}],["unlawfulli",{"_index":4116,"title":{},"content":{"434":{"position":[[701,10]]}},"keywords":{}}],["unless",{"_index":1155,"title":{},"content":{"50":{"position":[[692,6]]},"194":{"position":[[240,6]]},"195":{"position":[[252,6]]},"236":{"position":[[191,6]]},"286":{"position":[[177,6]]},"294":{"position":[[113,6]]},"301":{"position":[[579,6]]},"358":{"position":[[1336,6]]},"359":{"position":[[831,6]]},"390":{"position":[[1347,6]]},"441":{"position":[[214,6]]},"443":{"position":[[155,6]]},"468":{"position":[[544,6]]},"540":{"position":[[947,6]]},"712":{"position":[[164,6]]}},"keywords":{}}],["unlik",{"_index":4750,"title":{},"content":{"636":{"position":[[63,6]]}},"keywords":{}}],["unlimit",{"_index":3792,"title":{},"content":{"391":{"position":[[226,9],[518,9]]}},"keywords":{}}],["unmap_old",{"_index":5561,"title":{},"content":{"757":{"position":[[241,10],[534,9],[711,10]]}},"keywords":{}}],["unmap_old=fals",{"_index":5564,"title":{},"content":{"757":{"position":[[812,16]]}},"keywords":{}}],["unnecessari",{"_index":4414,"title":{},"content":{"545":{"position":[[354,11]]}},"keywords":{}}],["unqualifi",{"_index":2895,"title":{},"content":{"309":{"position":[[3252,11]]}},"keywords":{}}],["unrecogn",{"_index":4594,"title":{},"content":{"576":{"position":[[83,13]]}},"keywords":{}}],["unrel",{"_index":4400,"title":{},"content":{"544":{"position":[[1150,9]]}},"keywords":{}}],["unrol",{"_index":4425,"title":{"547":{"position":[[11,8]]}},"content":{"547":{"position":[[450,8],[951,6],[1189,8]]},"564":{"position":[[829,8]]}},"keywords":{}}],["unscop",{"_index":4457,"title":{"551":{"position":[[17,8]]}},"content":{},"keywords":{}}],["unsign",{"_index":627,"title":{},"content":{"31":{"position":[[631,8]]},"36":{"position":[[10342,8]]},"48":{"position":[[245,8],[380,8],[541,8],[602,8],[667,8],[734,8],[841,8],[943,8],[1044,8],[1760,8],[2393,8],[2751,8],[3106,8],[3521,8],[4921,8]]},"213":{"position":[[212,8]]},"225":{"position":[[932,8]]},"229":{"position":[[10342,8]]},"271":{"position":[[956,8]]},"321":{"position":[[1106,8],[1126,8],[1146,8]]},"358":{"position":[[3994,8]]}},"keywords":{}}],["unsolv",{"_index":3733,"title":{},"content":{"387":{"position":[[937,10]]}},"keywords":{}}],["unspecifi",{"_index":1726,"title":{},"content":{"91":{"position":[[720,11]]}},"keywords":{}}],["unsubscrib",{"_index":3905,"title":{},"content":{"402":{"position":[[4530,13]]},"427":{"position":[[538,11]]}},"keywords":{}}],["unsubscribe_limits_ev",{"_index":4953,"title":{},"content":{"662":{"position":[[4859,25]]}},"keywords":{}}],["unsubscribe_packet_data",{"_index":4954,"title":{},"content":{"662":{"position":[[4925,23]]}},"keywords":{}}],["unsubscribe_server_messag",{"_index":4955,"title":{},"content":{"662":{"position":[[4989,27]]}},"keywords":{}}],["unsupport",{"_index":3854,"title":{"401":{"position":[[0,11]]}},"content":{"401":{"position":[[45,12]]}},"keywords":{}}],["until",{"_index":1238,"title":{},"content":{"56":{"position":[[134,5]]},"115":{"position":[[619,5]]},"309":{"position":[[3892,5]]},"347":{"position":[[619,5]]},"402":{"position":[[4482,5]]},"430":{"position":[[236,5],[295,5]]},"455":{"position":[[1359,5]]},"470":{"position":[[193,5]]},"523":{"position":[[495,5]]},"565":{"position":[[361,5]]},"722":{"position":[[71,5],[229,5]]},"723":{"position":[[56,5]]},"724":{"position":[[19,5]]},"725":{"position":[[19,5]]},"726":{"position":[[71,5]]},"727":{"position":[[56,5]]},"728":{"position":[[19,5]]},"729":{"position":[[19,5]]}},"keywords":{}}],["until"",{"_index":4011,"title":{},"content":{"422":{"position":[[1440,11]]}},"keywords":{}}],["untrust",{"_index":547,"title":{},"content":{"24":{"position":[[669,9]]}},"keywords":{}}],["unus",{"_index":1088,"title":{},"content":{"48":{"position":[[1114,7]]}},"keywords":{}}],["uoxepkb8h7omuumm",{"_index":1567,"title":{},"content":{"82":{"position":[[4389,16]]}},"keywords":{}}],["up",{"_index":18,"title":{"372":{"position":[[8,2]]},"374":{"position":[[8,2]]}},"content":{"1":{"position":[[195,3]]},"3":{"position":[[438,2]]},"6":{"position":[[510,2]]},"35":{"position":[[462,2]]},"37":{"position":[[255,2]]},"42":{"position":[[3107,2]]},"43":{"position":[[29,2]]},"48":{"position":[[4502,2]]},"55":{"position":[[345,2]]},"61":{"position":[[1868,2]]},"67":{"position":[[2163,2],[2313,2],[4982,2]]},"83":{"position":[[210,2],[3110,2]]},"225":{"position":[[1179,2]]},"228":{"position":[[491,2]]},"230":{"position":[[274,2]]},"231":{"position":[[661,2]]},"232":{"position":[[497,2]]},"233":{"position":[[662,2]]},"234":{"position":[[445,2]]},"258":{"position":[[76,2]]},"261":{"position":[[195,2]]},"271":{"position":[[1195,2]]},"278":{"position":[[489,2]]},"280":{"position":[[281,2]]},"281":{"position":[[612,2]]},"282":{"position":[[281,2]]},"283":{"position":[[655,2]]},"284":{"position":[[447,2]]},"302":{"position":[[1613,2]]},"309":{"position":[[491,2]]},"312":{"position":[[28,2]]},"332":{"position":[[768,2]]},"348":{"position":[[2185,2]]},"349":{"position":[[806,2]]},"351":{"position":[[188,2]]},"358":{"position":[[3238,2],[3421,2],[4432,2]]},"363":{"position":[[266,2]]},"367":{"position":[[34,2]]},"369":{"position":[[972,2]]},"380":{"position":[[1444,2]]},"386":{"position":[[452,3]]},"402":{"position":[[5074,2]]},"404":{"position":[[171,2]]},"408":{"position":[[132,2]]},"409":{"position":[[107,2]]},"410":{"position":[[101,2]]},"411":{"position":[[150,2]]},"424":{"position":[[1011,2]]},"441":{"position":[[32,2]]},"462":{"position":[[115,2],[424,2]]},"467":{"position":[[348,2]]},"473":{"position":[[1454,2]]},"481":{"position":[[259,2]]},"484":{"position":[[166,2],[319,2]]},"498":{"position":[[842,2],[918,2]]},"504":{"position":[[28,2]]},"505":{"position":[[64,2]]},"506":{"position":[[392,2]]},"514":{"position":[[350,2]]},"515":{"position":[[379,2]]},"522":{"position":[[121,2],[656,2]]},"523":{"position":[[312,2]]},"531":{"position":[[32,2]]},"535":{"position":[[1176,2]]},"543":{"position":[[336,2]]},"546":{"position":[[1434,2]]},"549":{"position":[[78,2]]},"554":{"position":[[1148,2]]},"561":{"position":[[502,2],[801,2]]},"572":{"position":[[497,2]]},"574":{"position":[[436,2]]},"581":{"position":[[116,2],[179,2],[327,2]]},"591":{"position":[[116,2],[179,2],[327,2]]},"658":{"position":[[1094,2]]},"793":{"position":[[129,2]]}},"keywords":{}}],["updat",{"_index":436,"title":{"21":{"position":[[0,8]]},"22":{"position":[[0,8]]},"23":{"position":[[0,6]]}},"content":{"20":{"position":[[735,6]]},"22":{"position":[[538,6]]},"23":{"position":[[1,6]]},"42":{"position":[[1739,6]]},"82":{"position":[[361,6]]},"83":{"position":[[1487,7]]},"115":{"position":[[1115,7],[1374,7]]},"279":{"position":[[8103,6]]},"302":{"position":[[2483,7]]},"303":{"position":[[1146,7]]},"306":{"position":[[856,7]]},"307":{"position":[[1677,7]]},"309":{"position":[[1649,6],[3553,6]]},"310":{"position":[[118,6],[660,6]]},"326":{"position":[[200,7],[1128,7]]},"350":{"position":[[517,9]]},"359":{"position":[[1061,6]]},"376":{"position":[[241,6],[451,6]]},"404":{"position":[[2219,6]]},"411":{"position":[[68,6]]},"422":{"position":[[1455,7]]},"425":{"position":[[246,8]]},"426":{"position":[[234,8],[1246,7]]},"428":{"position":[[144,6]]},"432":{"position":[[342,7]]},"433":{"position":[[65,7]]},"455":{"position":[[550,8],[721,6],[868,8],[1534,6]]},"467":{"position":[[116,7],[456,7],[761,7]]},"468":{"position":[[435,6]]},"473":{"position":[[1010,7]]},"482":{"position":[[715,7]]},"491":{"position":[[114,6]]},"503":{"position":[[67,7]]},"511":{"position":[[330,6]]},"523":{"position":[[67,7],[134,7]]},"530":{"position":[[140,7],[576,7]]},"544":{"position":[[991,7]]},"552":{"position":[[1330,7]]},"568":{"position":[[317,7]]},"569":{"position":[[507,6]]},"577":{"position":[[455,7]]},"741":{"position":[[109,6]]},"804":{"position":[[1,7],[181,6],[241,6]]}},"keywords":{}}],["updated_at",{"_index":5769,"title":{},"content":{"808":{"position":[[961,13],[1067,13],[1178,13],[1297,13]]}},"keywords":{}}],["upgrad",{"_index":1782,"title":{"381":{"position":[[0,9]]},"382":{"position":[[7,9]]}},"content":{"96":{"position":[[19,7]]},"125":{"position":[[210,9]]},"326":{"position":[[690,7],[745,7]]},"356":{"position":[[254,9],[272,7]]},"358":{"position":[[2603,7]]},"359":{"position":[[2153,7],[2602,8]]},"376":{"position":[[272,7]]},"382":{"position":[[531,9],[559,7],[696,9],[799,7]]},"402":{"position":[[998,8]]},"404":{"position":[[2235,7]]},"407":{"position":[[401,8]]},"426":{"position":[[224,9]]}},"keywords":{}}],["upload",{"_index":3234,"title":{"380":{"position":[[0,9]]},"441":{"position":[[0,7]]},"497":{"position":[[0,6]]}},"content":{"356":{"position":[[192,6]]},"359":{"position":[[37,6],[464,6],[643,7]]},"379":{"position":[[3904,8]]},"380":{"position":[[306,7],[1071,9],[1485,8],[1675,9]]},"383":{"position":[[1940,6]]},"415":{"position":[[408,8]]},"441":{"position":[[11,6],[70,6],[155,6]]},"497":{"position":[[67,6],[221,6],[411,6]]},"498":{"position":[[218,6],[572,6],[719,6]]}},"keywords":{}}],["upload.rb",{"_index":4207,"title":{"498":{"position":[[0,10]]}},"content":{"497":{"position":[[156,9]]},"498":{"position":[[39,9]]}},"keywords":{}}],["upon",{"_index":2504,"title":{},"content":{"257":{"position":[[417,4]]},"344":{"position":[[622,4],[696,4]]},"349":{"position":[[2584,4]]},"350":{"position":[[929,4]]},"535":{"position":[[349,4],[723,4]]},"637":{"position":[[42,4]]}},"keywords":{}}],["upper",{"_index":4238,"title":{},"content":{"505":{"position":[[245,5],[306,5]]},"506":{"position":[[307,5],[532,5]]},"524":{"position":[[283,5]]},"645":{"position":[[123,5]]},"646":{"position":[[162,5]]},"647":{"position":[[88,5],[166,5]]},"648":{"position":[[234,5],[312,5]]},"649":{"position":[[201,5],[280,5]]},"650":{"position":[[642,5],[721,5],[1481,5],[1560,5]]},"780":{"position":[[368,5],[437,5]]},"787":{"position":[[541,5],[610,5]]}},"keywords":{}}],["uppercas",{"_index":4375,"title":{},"content":{"540":{"position":[[4167,9]]}},"keywords":{}}],["urgent",{"_index":4108,"title":{},"content":{"432":{"position":[[1415,6]]}},"keywords":{}}],["uri",{"_index":1683,"title":{},"content":{"83":{"position":[[3760,5]]}},"keywords":{}}],["url",{"_index":1620,"title":{"194":{"position":[[0,4]]}},"content":{"83":{"position":[[1354,3],[1760,3],[3939,4]]},"194":{"position":[[1,3],[43,3],[158,4]]},"195":{"position":[[10,3],[34,3],[181,4]]},"365":{"position":[[366,4]]},"402":{"position":[[990,3]]},"416":{"position":[[266,4]]}},"keywords":{}}],["url="$(curl",{"_index":1685,"title":{},"content":{"83":{"position":[[3776,16]]}},"keywords":{}}],["urlencoded"",{"_index":1524,"title":{},"content":{"82":{"position":[[466,16]]}},"keywords":{}}],["us",{"_index":5,"title":{"309":{"position":[[14,5]]},"323":{"position":[[0,5]]},"390":{"position":[[25,3]]},"395":{"position":[[15,5]]},"545":{"position":[[0,3]]},"551":{"position":[[0,5]]},"556":{"position":[[0,5]]},"564":{"position":[[0,5]]},"565":{"position":[[0,5]]},"572":{"position":[[8,3]]},"658":{"position":[[0,5]]}},"content":{"1":{"position":[[47,4]]},"3":{"position":[[97,5],[567,5]]},"6":{"position":[[87,3],[677,4],[736,5],[1102,4]]},"7":{"position":[[26,4],[1062,5]]},"8":{"position":[[102,3]]},"9":{"position":[[125,3],[469,3],[860,3]]},"11":{"position":[[250,3]]},"15":{"position":[[60,4],[274,5],[294,3]]},"16":{"position":[[62,4],[278,5],[298,3]]},"17":{"position":[[146,5],[333,5]]},"18":{"position":[[150,5],[338,5]]},"20":{"position":[[241,3],[1008,3],[1138,3]]},"22":{"position":[[22,3]]},"23":{"position":[[19,3]]},"24":{"position":[[342,4],[430,4],[722,3]]},"26":{"position":[[233,3]]},"27":{"position":[[406,4]]},"31":{"position":[[348,5]]},"33":{"position":[[617,4],[876,4]]},"35":{"position":[[295,3],[414,4]]},"36":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6448,4],[7244,4],[8867,4],[8947,4],[9094,5],[10647,6],[10832,6]]},"37":{"position":[[207,4]]},"39":{"position":[[170,5]]},"42":{"position":[[628,5],[1675,3]]},"44":{"position":[[199,4]]},"46":{"position":[[36,4]]},"47":{"position":[[97,4]]},"48":{"position":[[170,4],[2933,4],[3359,4],[4358,4],[4784,4]]},"53":{"position":[[724,5]]},"54":{"position":[[122,5],[392,5],[1122,5]]},"55":{"position":[[90,5],[250,5],[408,5],[696,5],[1481,4],[1899,5],[2663,4]]},"56":{"position":[[44,5],[249,5],[1024,5]]},"57":{"position":[[151,5]]},"59":{"position":[[222,3]]},"60":{"position":[[527,5]]},"61":{"position":[[124,3],[1079,4],[1739,6],[2196,5]]},"62":{"position":[[47,5],[191,4]]},"65":{"position":[[722,3],[782,4],[917,4],[1051,4],[1195,4]]},"67":{"position":[[196,6],[962,4],[1110,3],[1384,3],[2069,5],[3091,5],[4394,5],[4765,5]]},"69":{"position":[[863,4]]},"70":{"position":[[21,4],[134,4]]},"71":{"position":[[29,4]]},"72":{"position":[[32,4]]},"73":{"position":[[25,4],[1754,4]]},"74":{"position":[[27,4]]},"75":{"position":[[28,4]]},"76":{"position":[[26,4]]},"77":{"position":[[102,3]]},"78":{"position":[[28,4],[82,6]]},"82":{"position":[[26,4],[115,5]]},"83":{"position":[[16,6]]},"88":{"position":[[498,4]]},"91":{"position":[[27,4],[1133,4],[1453,5]]},"92":{"position":[[27,4]]},"100":{"position":[[210,4],[320,4],[641,3]]},"103":{"position":[[136,3]]},"104":{"position":[[113,4]]},"105":{"position":[[175,4]]},"106":{"position":[[19,4],[530,4],[591,5]]},"107":{"position":[[120,4]]},"108":{"position":[[113,4]]},"109":{"position":[[33,4],[602,5],[643,3],[1017,4],[1421,4]]},"110":{"position":[[43,4],[595,5],[636,3],[1351,4],[1779,4]]},"114":{"position":[[278,5],[339,3],[378,3]]},"117":{"position":[[643,4]]},"120":{"position":[[122,5]]},"123":{"position":[[132,6]]},"126":{"position":[[178,4],[300,4],[458,4],[539,5]]},"128":{"position":[[71,4],[693,3]]},"136":{"position":[[68,3],[162,4]]},"137":{"position":[[13,3]]},"138":{"position":[[184,6],[284,5]]},"139":{"position":[[673,4]]},"141":{"position":[[557,3]]},"146":{"position":[[90,4]]},"148":{"position":[[85,4]]},"149":{"position":[[483,3]]},"174":{"position":[[80,4]]},"177":{"position":[[85,4]]},"183":{"position":[[132,3],[223,4]]},"186":{"position":[[209,4]]},"187":{"position":[[74,4]]},"191":{"position":[[85,4]]},"192":{"position":[[117,3]]},"194":{"position":[[5,4],[47,4]]},"195":{"position":[[61,4],[259,5]]},"196":{"position":[[60,4],[147,5]]},"203":{"position":[[61,4],[169,4]]},"209":{"position":[[352,4]]},"213":{"position":[[453,4]]},"214":{"position":[[175,4],[221,5],[282,3],[386,3],[1105,3],[1501,5],[1569,3],[1640,3]]},"215":{"position":[[32,4],[121,5],[182,3],[268,3],[552,5],[620,3],[700,3]]},"216":{"position":[[32,4],[180,4],[235,5],[344,3],[449,4]]},"217":{"position":[[28,4],[392,4],[972,4],[2071,4],[2526,3]]},"218":{"position":[[114,4],[263,5],[324,3],[423,3],[1279,5],[1347,3],[1418,3]]},"219":{"position":[[35,4],[222,5],[287,3],[375,5],[1098,5],[1165,3]]},"220":{"position":[[31,4],[175,5],[235,3],[333,3],[1362,5],[1429,3],[1499,3],[1648,6]]},"222":{"position":[[27,4]]},"223":{"position":[[22,4],[79,4],[286,3]]},"225":{"position":[[111,4],[172,4]]},"228":{"position":[[324,3],[443,4]]},"229":{"position":[[155,5],[697,4],[1349,4],[2892,4],[3364,5],[4870,4],[4950,4],[6448,4],[7244,4],[8867,4],[8947,4],[9094,5]]},"230":{"position":[[226,4]]},"231":{"position":[[94,4],[613,4]]},"232":{"position":[[94,4],[449,4]]},"233":{"position":[[341,3],[618,4]]},"234":{"position":[[401,4]]},"235":{"position":[[60,4],[138,4],[260,4]]},"236":{"position":[[317,3]]},"240":{"position":[[86,4]]},"242":{"position":[[35,4],[113,4]]},"243":{"position":[[43,4]]},"244":{"position":[[41,4]]},"249":{"position":[[88,4],[128,4]]},"250":{"position":[[111,4]]},"251":{"position":[[78,4]]},"252":{"position":[[59,4],[203,4]]},"255":{"position":[[51,4],[130,3]]},"257":{"position":[[142,4]]},"258":{"position":[[1839,3],[1901,3]]},"259":{"position":[[117,3],[280,4],[403,5]]},"260":{"position":[[8,4]]},"267":{"position":[[120,4]]},"268":{"position":[[65,4],[214,4],[323,5]]},"271":{"position":[[135,4],[198,4]]},"272":{"position":[[125,5],[353,3]]},"273":{"position":[[204,4]]},"274":{"position":[[247,3],[547,5]]},"278":{"position":[[323,3],[441,4]]},"279":{"position":[[150,5],[692,4],[1344,4],[2104,4],[4987,4],[5845,4],[7217,5],[8079,3],[8167,6],[8534,3]]},"280":{"position":[[233,4]]},"281":{"position":[[564,4]]},"282":{"position":[[233,4]]},"283":{"position":[[340,3],[611,4]]},"284":{"position":[[403,4]]},"285":{"position":[[57,4],[137,4],[260,4]]},"286":{"position":[[298,3]]},"287":{"position":[[95,4]]},"291":{"position":[[35,4],[113,4]]},"292":{"position":[[43,4]]},"293":{"position":[[41,4]]},"295":{"position":[[88,4],[128,4]]},"296":{"position":[[61,4],[209,4]]},"297":{"position":[[133,4]]},"301":{"position":[[613,3],[819,4],[1411,4],[1557,6],[1647,4]]},"302":{"position":[[1856,3],[2126,3]]},"303":{"position":[[971,4]]},"304":{"position":[[474,3],[828,3]]},"305":{"position":[[505,3],[911,3]]},"306":{"position":[[78,3],[768,5]]},"307":{"position":[[1292,5],[1408,4],[1484,4]]},"309":{"position":[[85,5],[456,4],[1574,5],[2191,3],[2924,4],[3782,3],[3819,3],[4018,4]]},"312":{"position":[[213,5],[263,3]]},"314":{"position":[[17,5],[316,5],[1792,3],[1862,5],[2124,5]]},"315":{"position":[[374,5]]},"317":{"position":[[21,4]]},"320":{"position":[[1181,4],[1577,5]]},"321":{"position":[[1536,3]]},"323":{"position":[[26,3],[142,5]]},"324":{"position":[[39,3],[71,4],[119,3]]},"326":{"position":[[508,5],[709,5]]},"330":{"position":[[81,5],[134,3],[606,4]]},"331":{"position":[[14,5],[306,3],[488,5]]},"332":{"position":[[458,5],[1058,4]]},"333":{"position":[[75,3]]},"342":{"position":[[19,4],[231,5],[740,4],[866,4]]},"343":{"position":[[1506,5]]},"345":{"position":[[881,5]]},"349":{"position":[[688,4],[2939,4],[3601,5],[4734,3]]},"354":{"position":[[128,6]]},"358":{"position":[[1199,3],[1310,3],[3330,5],[3558,4],[5379,4],[7181,6],[7335,5],[7624,5],[7781,5],[7947,5],[8242,5]]},"359":{"position":[[356,5]]},"361":{"position":[[169,3]]},"362":{"position":[[113,3]]},"363":{"position":[[60,3]]},"364":{"position":[[318,4]]},"369":{"position":[[707,5],[1972,5],[3463,5],[3536,5],[3854,3]]},"371":{"position":[[31,5]]},"380":{"position":[[1009,5]]},"382":{"position":[[54,5]]},"385":{"position":[[94,4]]},"387":{"position":[[1359,3],[1687,4]]},"389":{"position":[[78,4],[340,3],[720,3],[1222,3],[1524,3],[1979,3]]},"390":{"position":[[42,3],[135,3],[389,4],[1129,3],[1236,3]]},"391":{"position":[[58,3]]},"392":{"position":[[286,3]]},"395":{"position":[[90,4],[249,3]]},"396":{"position":[[1,3]]},"397":{"position":[[1,3]]},"402":{"position":[[93,4],[451,5],[3264,3],[5372,4]]},"404":{"position":[[1315,3],[1891,3],[1978,3]]},"407":{"position":[[443,5]]},"413":{"position":[[215,5],[270,4]]},"415":{"position":[[58,4],[94,5],[203,5],[282,5],[399,5]]},"416":{"position":[[44,4]]},"420":{"position":[[193,6]]},"424":{"position":[[80,3],[1949,5]]},"426":{"position":[[4,3],[114,3],[475,3],[1151,4],[1186,3]]},"427":{"position":[[72,4],[244,3]]},"429":{"position":[[444,3]]},"430":{"position":[[566,4]]},"431":{"position":[[634,3]]},"432":{"position":[[309,3],[495,3],[959,5]]},"434":{"position":[[426,3]]},"435":{"position":[[143,3],[233,3]]},"440":{"position":[[718,5]]},"446":{"position":[[158,5]]},"447":{"position":[[438,4]]},"457":{"position":[[240,3]]},"462":{"position":[[187,3]]},"464":{"position":[[98,5]]},"473":{"position":[[158,5],[1357,6]]},"474":{"position":[[68,5]]},"498":{"position":[[143,4]]},"499":{"position":[[158,4]]},"505":{"position":[[212,5],[278,5]]},"522":{"position":[[345,4]]},"528":{"position":[[131,4],[446,3],[597,5]]},"531":{"position":[[209,6],[554,6]]},"532":{"position":[[179,3]]},"533":{"position":[[38,4]]},"535":{"position":[[1200,3],[1377,6]]},"538":{"position":[[51,5],[116,4],[345,5]]},"539":{"position":[[180,5]]},"540":{"position":[[350,4],[461,4],[728,5],[822,5],[1206,3],[1243,3],[1293,3],[1534,5],[4594,3]]},"544":{"position":[[522,5],[877,4],[920,6]]},"545":{"position":[[1,3]]},"546":{"position":[[1481,3]]},"547":{"position":[[1271,4]]},"549":{"position":[[494,5]]},"551":{"position":[[362,3]]},"552":{"position":[[252,3],[426,3],[1472,3],[1820,5],[1863,5],[1920,5]]},"554":{"position":[[63,6],[209,3],[642,5],[742,5],[874,5],[1138,5]]},"555":{"position":[[212,5]]},"556":{"position":[[443,6]]},"557":{"position":[[188,4],[487,5]]},"559":{"position":[[88,5],[1035,3]]},"560":{"position":[[18,6],[574,5]]},"561":{"position":[[193,5],[253,3]]},"562":{"position":[[175,5]]},"563":{"position":[[302,5]]},"564":{"position":[[90,3],[688,6]]},"565":{"position":[[422,3]]},"566":{"position":[[8,3],[377,3],[453,3]]},"568":{"position":[[758,5],[854,5]]},"569":{"position":[[167,4],[549,3],[904,4],[973,4]]},"571":{"position":[[1,5],[45,3],[188,3],[262,4],[426,5]]},"572":{"position":[[294,6],[385,5],[418,6]]},"574":{"position":[[294,6]]},"592":{"position":[[160,6],[318,5]]},"593":{"position":[[22,4]]},"603":{"position":[[26,4]]},"605":{"position":[[69,4]]},"608":{"position":[[25,4],[284,6]]},"612":{"position":[[964,5],[1093,4]]},"619":{"position":[[171,5],[896,5],[1025,4]]},"626":{"position":[[701,5]]},"627":{"position":[[754,5]]},"628":{"position":[[726,5]]},"629":{"position":[[259,5]]},"630":{"position":[[33,6]]},"636":{"position":[[27,4]]},"637":{"position":[[122,4],[196,3],[278,5],[433,3],[495,3],[573,3],[643,4],[748,6],[825,5],[941,3],[966,5],[1293,5],[2182,4]]},"638":{"position":[[47,3],[78,4]]},"639":{"position":[[66,3],[97,4]]},"640":{"position":[[49,3],[80,4]]},"642":{"position":[[59,3],[90,4]]},"644":{"position":[[49,3],[80,4]]},"645":{"position":[[22,4]]},"649":{"position":[[670,5]]},"650":{"position":[[70,3],[1231,5]]},"652":{"position":[[1138,5]]},"657":{"position":[[33,5]]},"658":{"position":[[504,4]]},"659":{"position":[[722,4]]},"660":{"position":[[42,4],[93,4],[206,3]]},"661":{"position":[[215,3]]},"662":{"position":[[204,3],[260,3],[331,3],[555,3],[702,3],[847,3],[922,3],[992,3],[1130,3],[1191,3],[1320,3],[1518,3],[1591,3],[1820,3],[2218,3],[2304,3],[2376,3],[2448,3],[2754,3],[2830,3],[3404,3],[3475,3],[3625,3],[3690,3],[3883,3],[4705,3],[4835,3],[5092,3],[5159,3],[5236,3],[5323,3]]},"664":{"position":[[514,4]]},"665":{"position":[[480,4]]},"678":{"position":[[100,4]]},"679":{"position":[[113,4]]},"680":{"position":[[139,4]]},"682":{"position":[[123,4]]},"683":{"position":[[136,4]]},"684":{"position":[[162,4]]},"697":{"position":[[45,5],[272,5],[313,5]]},"698":{"position":[[171,5],[222,5]]},"699":{"position":[[123,4],[173,5],[230,5],[282,5]]},"704":{"position":[[163,5]]},"710":{"position":[[180,6]]},"711":{"position":[[398,5]]},"714":{"position":[[181,5]]},"716":{"position":[[113,4]]},"724":{"position":[[149,4],[199,5]]},"728":{"position":[[145,4],[195,5]]},"741":{"position":[[137,3]]},"752":{"position":[[269,4],[345,3]]},"761":{"position":[[221,4],[291,3]]},"770":{"position":[[175,4]]},"777":{"position":[[157,5]]},"778":{"position":[[38,6],[61,3],[291,3]]},"786":{"position":[[125,3]]},"787":{"position":[[153,6]]},"790":{"position":[[64,6]]},"793":{"position":[[109,6],[242,5],[363,3]]},"799":{"position":[[217,6]]},"800":{"position":[[140,4],[165,5]]},"807":{"position":[[80,4]]},"812":{"position":[[49,4]]}},"keywords":{}}],["us)set",{"_index":3958,"title":{},"content":{"404":{"position":[[1236,6]]}},"keywords":{}}],["us,en;q=0.9",{"_index":1604,"title":{},"content":{"83":{"position":[[864,12],[2394,12]]}},"keywords":{}}],["us/docs/web/html/element/input/file#accept",{"_index":5028,"title":{},"content":{"673":{"position":[[1237,42]]}},"keywords":{}}],["usabl",{"_index":3739,"title":{},"content":{"387":{"position":[[1466,6]]}},"keywords":{}}],["usag",{"_index":186,"title":{"90":{"position":[[8,6]]},"426":{"position":[[3,6]]}},"content":{"5":{"position":[[1417,5]]},"11":{"position":[[369,6]]},"12":{"position":[[579,6]]},"13":{"position":[[487,6]]},"14":{"position":[[378,6]]},"15":{"position":[[175,5],[512,6]]},"16":{"position":[[179,5],[514,6]]},"36":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6655,6],[7451,6],[10442,6]]},"61":{"position":[[1242,6]]},"91":{"position":[[1661,6]]},"92":{"position":[[1113,6]]},"138":{"position":[[850,6]]},"140":{"position":[[659,6]]},"141":{"position":[[883,6]]},"142":{"position":[[180,6]]},"143":{"position":[[455,6]]},"144":{"position":[[258,6]]},"147":{"position":[[235,6]]},"148":{"position":[[235,6]]},"150":{"position":[[256,6]]},"177":{"position":[[235,6]]},"178":{"position":[[446,6]]},"180":{"position":[[164,6]]},"181":{"position":[[439,6]]},"182":{"position":[[259,6]]},"183":{"position":[[390,6]]},"184":{"position":[[337,6]]},"188":{"position":[[593,6]]},"189":{"position":[[235,6]]},"191":{"position":[[235,6]]},"192":{"position":[[476,6]]},"203":{"position":[[493,6]]},"226":{"position":[[520,6]]},"228":{"position":[[1941,6]]},"229":{"position":[[242,6],[461,6],[986,6],[1521,6],[3495,6],[6655,6],[7451,6],[10442,6]]},"230":{"position":[[1724,6]]},"231":{"position":[[2085,6]]},"232":{"position":[[1921,6]]},"233":{"position":[[941,6]]},"234":{"position":[[724,6]]},"235":{"position":[[385,6]]},"236":{"position":[[469,6]]},"240":{"position":[[375,6]]},"252":{"position":[[436,6]]},"276":{"position":[[546,6]]},"278":{"position":[[1055,6]]},"279":{"position":[[237,6],[456,6],[981,6],[1516,6],[2566,6],[5194,6],[6052,6],[10252,6]]},"280":{"position":[[847,6]]},"281":{"position":[[1149,6]]},"282":{"position":[[818,6]]},"283":{"position":[[934,6]]},"284":{"position":[[726,6]]},"285":{"position":[[375,6]]},"286":{"position":[[432,6]]},"287":{"position":[[384,6]]},"296":{"position":[[449,6]]},"298":{"position":[[380,6]]},"301":{"position":[[210,6]]},"302":{"position":[[212,6]]},"303":{"position":[[230,6]]},"304":{"position":[[249,6]]},"305":{"position":[[269,6]]},"306":{"position":[[302,6]]},"307":{"position":[[508,6]]},"333":{"position":[[1029,5],[1055,6]]},"367":{"position":[[1032,5],[1164,5]]},"369":{"position":[[1066,6],[2557,6]]},"577":{"position":[[477,6]]},"579":{"position":[[353,6]]},"580":{"position":[[314,6]]},"581":{"position":[[799,6]]},"583":{"position":[[193,6]]},"584":{"position":[[197,6]]},"585":{"position":[[193,6]]},"586":{"position":[[195,6]]},"587":{"position":[[363,6]]},"588":{"position":[[357,6]]},"589":{"position":[[368,6]]},"590":{"position":[[151,6]]},"591":{"position":[[758,6]]},"592":{"position":[[644,6]]},"594":{"position":[[349,6]]},"595":{"position":[[324,6]]},"596":{"position":[[197,6]]},"597":{"position":[[282,6]]},"598":{"position":[[243,6]]},"599":{"position":[[304,6]]},"601":{"position":[[140,6]]},"602":{"position":[[209,6]]},"604":{"position":[[214,6]]},"605":{"position":[[99,6]]},"606":{"position":[[113,6]]},"607":{"position":[[171,6]]},"609":{"position":[[560,6]]},"610":{"position":[[747,6]]},"611":{"position":[[826,6]]},"612":{"position":[[810,6]]},"613":{"position":[[544,6]]},"614":{"position":[[411,6]]},"615":{"position":[[557,6]]},"617":{"position":[[434,6]]},"618":{"position":[[811,6]]},"619":{"position":[[708,6]]},"620":{"position":[[436,6]]},"621":{"position":[[434,6]]},"622":{"position":[[431,6]]},"623":{"position":[[400,6]]},"624":{"position":[[402,6]]},"625":{"position":[[780,6]]},"626":{"position":[[537,6]]},"627":{"position":[[571,6]]},"628":{"position":[[555,6]]},"629":{"position":[[364,6]]},"630":{"position":[[554,6]]},"631":{"position":[[696,6]]},"632":{"position":[[427,6]]},"633":{"position":[[326,6]]},"634":{"position":[[288,6]]},"635":{"position":[[639,6]]},"637":{"position":[[1734,6]]},"638":{"position":[[212,6]]},"639":{"position":[[301,6]]},"640":{"position":[[229,6]]},"642":{"position":[[310,6]]},"643":{"position":[[236,6]]},"644":{"position":[[229,6]]},"647":{"position":[[346,6]]},"648":{"position":[[578,6]]},"649":{"position":[[339,6]]},"650":{"position":[[892,6]]},"651":{"position":[[434,6]]},"652":{"position":[[736,6]]},"653":{"position":[[213,6]]}},"keywords":{}}],["useless",{"_index":4350,"title":{},"content":{"540":{"position":[[1737,7]]}},"keywords":{}}],["user",{"_index":64,"title":{"431":{"position":[[14,6]]},"559":{"position":[[0,4]]},"560":{"position":[[29,4]]},"663":{"position":[[11,4]]},"674":{"position":[[29,5]]}},"content":{"2":{"position":[[616,5]]},"24":{"position":[[624,5]]},"36":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6238,4],[6869,4],[7933,4],[8672,4],[8898,4],[10535,4],[10694,4],[10782,4],[10868,4]]},"50":{"position":[[751,5]]},"67":{"position":[[406,6]]},"81":{"position":[[45,4]]},"83":{"position":[[1102,5],[1636,5]]},"85":{"position":[[82,4]]},"112":{"position":[[446,4]]},"114":{"position":[[442,5]]},"117":{"position":[[400,4]]},"126":{"position":[[119,4],[221,4],[314,5]]},"136":{"position":[[100,4],[226,4]]},"214":{"position":[[324,4]]},"215":{"position":[[206,4]]},"218":{"position":[[361,4]]},"220":{"position":[[272,4]]},"229":{"position":[[638,4],[666,4],[2100,4],[2778,4],[3013,4],[3222,4],[4390,4],[4675,4],[4901,4],[6238,4],[6869,4],[7933,4],[8672,4],[8898,4]]},"240":{"position":[[55,4]]},"255":{"position":[[90,5],[411,4]]},"263":{"position":[[150,4],[322,4]]},"279":{"position":[[633,4],[661,4],[1990,4],[2222,4],[3382,5],[3392,4],[4753,5],[4763,4],[5446,5],[5456,4],[6569,5],[6579,4]]},"287":{"position":[[64,4]]},"301":{"position":[[718,4]]},"309":{"position":[[778,4],[2467,4],[3438,5],[3470,5]]},"310":{"position":[[469,5],[501,5]]},"317":{"position":[[247,4]]},"323":{"position":[[598,4]]},"326":{"position":[[115,4]]},"330":{"position":[[178,5]]},"333":{"position":[[1162,4],[1235,4]]},"343":{"position":[[707,5]]},"344":{"position":[[156,4],[271,4]]},"348":{"position":[[90,4],[230,4],[1907,4]]},"349":{"position":[[308,5],[366,4],[384,4],[473,4],[5969,4],[6565,4],[6778,4]]},"351":{"position":[[339,4]]},"355":{"position":[[30,4]]},"358":{"position":[[1731,4],[1781,4],[1861,4],[1890,4]]},"362":{"position":[[1308,4],[1472,4]]},"378":{"position":[[1641,4]]},"383":{"position":[[833,5]]},"387":{"position":[[878,5]]},"389":{"position":[[72,5],[331,5],[442,5],[646,5],[1032,6],[1300,6]]},"391":{"position":[[236,6]]},"392":{"position":[[174,4]]},"393":{"position":[[454,5],[554,4]]},"401":{"position":[[163,4]]},"404":{"position":[[2364,5]]},"418":{"position":[[79,4]]},"424":{"position":[[165,6]]},"432":{"position":[[174,4],[1470,5]]},"433":{"position":[[12,5]]},"434":{"position":[[770,5]]},"440":{"position":[[535,4]]},"447":{"position":[[51,4],[144,4],[166,4]]},"452":{"position":[[101,4]]},"455":{"position":[[8,4]]},"468":{"position":[[44,4],[176,5]]},"472":{"position":[[247,4],[846,4]]},"513":{"position":[[255,5],[390,5],[673,4]]},"529":{"position":[[394,5]]},"535":{"position":[[298,4],[332,4],[1261,4],[1295,4]]},"540":{"position":[[4023,4]]},"546":{"position":[[356,5],[453,5],[1451,6]]},"556":{"position":[[219,4]]},"557":{"position":[[367,5]]},"559":{"position":[[60,4],[94,4],[408,4],[1056,4],[1123,5],[1198,4],[1229,4],[1322,4],[1378,4]]},"560":{"position":[[114,4],[223,4]]},"569":{"position":[[1120,5]]},"636":{"position":[[57,5]]},"643":{"position":[[38,4]]},"658":{"position":[[1293,4]]},"663":{"position":[[25,4]]},"664":{"position":[[13,4],[45,4],[146,4],[375,4]]},"665":{"position":[[13,4],[45,4],[107,4],[341,4]]},"668":{"position":[[129,4],[519,4]]},"673":{"position":[[84,4]]},"674":{"position":[[26,4]]},"675":{"position":[[27,4],[187,4]]},"696":{"position":[[25,4]]},"716":{"position":[[12,4],[277,4]]},"721":{"position":[[25,4]]},"722":{"position":[[239,4]]},"749":{"position":[[25,4]]},"760":{"position":[[25,4]]},"770":{"position":[[25,4]]},"776":{"position":[[25,4]]},"779":{"position":[[25,4]]},"787":{"position":[[190,5]]},"788":{"position":[[25,4]]},"796":{"position":[[25,4]]},"805":{"position":[[13,4]]}},"keywords":{}}],["user'",{"_index":2382,"title":{},"content":{"225":{"position":[[184,6]]},"271":{"position":[[210,6]]}},"keywords":{}}],["user=root",{"_index":3252,"title":{},"content":{"358":{"position":[[1921,9]]}},"keywords":{}}],["usermod",{"_index":3976,"title":{},"content":{"404":{"position":[[2345,7]]}},"keywords":{}}],["usernam",{"_index":1519,"title":{},"content":{"82":{"position":[[123,8],[372,8]]},"109":{"position":[[856,8],[865,8],[1578,8]]},"110":{"position":[[1190,8],[1199,8],[1960,8]]},"112":{"position":[[493,8],[502,8]]},"141":{"position":[[902,8],[924,8]]},"188":{"position":[[612,8]]},"260":{"position":[[209,9]]},"310":{"position":[[133,8]]},"404":{"position":[[1055,8],[1090,8],[1107,9]]},"415":{"position":[[336,8]]}},"keywords":{}}],["username=operator&password=operator&client_id=api&grant_type=password&scope=openid",{"_index":1525,"title":{},"content":{"82":{"position":[[486,100]]}},"keywords":{}}],["usr/bin/dock",{"_index":2865,"title":{},"content":{"309":{"position":[[1953,15]]}},"keywords":{}}],["usr/local/bin/dock",{"_index":2862,"title":{},"content":{"309":{"position":[[1838,21],[1882,21],[1923,21]]}},"keywords":{}}],["usr/share/containers/containers.conf",{"_index":2876,"title":{},"content":{"309":{"position":[[2220,37]]}},"keywords":{}}],["usr/share/elasticsearch/bin/elasticsearch",{"_index":3352,"title":{},"content":{"363":{"position":[[533,42]]}},"keywords":{}}],["usual",{"_index":1297,"title":{},"content":{"61":{"position":[[510,7]]},"85":{"position":[[108,8]]},"447":{"position":[[531,7]]},"549":{"position":[[440,7]]},"699":{"position":[[682,10]]},"722":{"position":[[311,7]]},"723":{"position":[[205,7]]},"724":{"position":[[301,7]]},"725":{"position":[[181,7]]}},"keywords":{}}],["utc",{"_index":3118,"title":{},"content":{"344":{"position":[[1065,3]]}},"keywords":{}}],["utf",{"_index":2423,"title":{},"content":{"243":{"position":[[234,3]]},"244":{"position":[[239,3]]}},"keywords":{}}],["util",{"_index":901,"title":{},"content":{"42":{"position":[[102,7]]},"53":{"position":[[281,7]]},"64":{"position":[[499,8]]},"109":{"position":[[1871,8]]},"110":{"position":[[2263,8]]},"173":{"position":[[23,11]]},"217":{"position":[[443,8],[1023,8],[2217,8]]},"258":{"position":[[539,8]]},"263":{"position":[[379,8],[522,8],[573,8]]},"264":{"position":[[46,7]]},"265":{"position":[[195,8]]},"331":{"position":[[386,4],[794,4]]},"333":{"position":[[1116,5],[1450,5]]},"369":{"position":[[261,9],[2428,11]]},"439":{"position":[[263,7]]},"501":{"position":[[137,7]]},"794":{"position":[[31,8]]}},"keywords":{}}],["ux",{"_index":2558,"title":{"265":{"position":[[6,3]]}},"content":{"265":{"position":[[38,2]]},"632":{"position":[[146,2]]}},"keywords":{}}],["v",{"_index":1332,"title":{},"content":{"64":{"position":[[1113,1],[1225,1]]},"219":{"position":[[1017,1]]}},"keywords":{}}],["v3",{"_index":1785,"title":{},"content":{"96":{"position":[[64,2]]}},"keywords":{}}],["v4",{"_index":4859,"title":{"662":{"position":[[22,2]]}},"content":{},"keywords":{}}],["v5",{"_index":3417,"title":{"661":{"position":[[22,2]]},"662":{"position":[[28,3]]}},"content":{"369":{"position":[[71,2]]},"371":{"position":[[71,2]]}},"keywords":{}}],["v5.5.0",{"_index":3253,"title":{},"content":{"358":{"position":[[2013,7]]}},"keywords":{}}],["v6",{"_index":4854,"title":{"661":{"position":[[28,3]]}},"content":{"661":{"position":[[57,3]]}},"keywords":{}}],["vacuum",{"_index":2643,"title":{},"content":{"279":{"position":[[8418,6]]},"546":{"position":[[841,6]]}},"keywords":{}}],["vagu",{"_index":4449,"title":{},"content":{"550":{"position":[[239,6]]}},"keywords":{}}],["val",{"_index":3624,"title":{},"content":{"379":{"position":[[374,3],[382,3],[391,3]]}},"keywords":{}}],["valid",{"_index":151,"title":{"251":{"position":[[0,10]]}},"content":{"5":{"position":[[339,9],[474,5],[915,5]]},"11":{"position":[[328,5]]},"33":{"position":[[225,5],[420,5]]},"35":{"position":[[688,5],[1365,5],[1857,5]]},"36":{"position":[[3382,5],[10371,5]]},"37":{"position":[[481,5],[1158,5],[1650,5]]},"48":{"position":[[756,5]]},"74":{"position":[[322,6]]},"75":{"position":[[321,6]]},"76":{"position":[[320,6]]},"128":{"position":[[731,5]]},"139":{"position":[[475,5]]},"149":{"position":[[521,5]]},"196":{"position":[[329,5]]},"199":{"position":[[224,5]]},"226":{"position":[[385,5]]},"228":{"position":[[717,5],[1394,5],[1886,5]]},"229":{"position":[[3382,5],[10371,5]]},"230":{"position":[[500,5],[1177,5],[1669,5]]},"231":{"position":[[887,5],[1538,5],[2030,5]]},"232":{"position":[[723,5],[1374,5],[1866,5]]},"233":{"position":[[483,5],[886,5]]},"234":{"position":[[266,5],[669,5]]},"251":{"position":[[27,9],[59,9],[86,8],[511,9],[561,9],[1383,9]]},"276":{"position":[[402,5]]},"278":{"position":[[720,5],[1000,5]]},"279":{"position":[[2518,5],[7385,5],[8880,5]]},"280":{"position":[[512,5],[792,5]]},"281":{"position":[[729,5],[1094,5]]},"282":{"position":[[398,5],[763,5]]},"283":{"position":[[476,5],[879,5]]},"284":{"position":[[268,5],[671,5]]},"432":{"position":[[285,5]]},"445":{"position":[[192,11]]},"447":{"position":[[327,10],[357,9],[384,10],[446,8],[640,9]]},"559":{"position":[[200,8]]},"581":{"position":[[84,5]]},"591":{"position":[[84,5]]},"609":{"position":[[493,5]]},"610":{"position":[[680,5]]},"611":{"position":[[665,5]]},"612":{"position":[[229,5],[754,5]]},"613":{"position":[[477,5]]},"614":{"position":[[250,5]]},"615":{"position":[[396,5]]},"616":{"position":[[270,5]]},"617":{"position":[[273,5]]},"618":{"position":[[547,5]]},"619":{"position":[[537,5]]},"620":{"position":[[266,5]]},"621":{"position":[[264,5]]},"622":{"position":[[250,5]]},"623":{"position":[[239,5]]},"624":{"position":[[242,5]]},"625":{"position":[[516,5]]},"626":{"position":[[236,5],[330,5],[486,5],[963,5],[1057,5],[1213,5]]},"627":{"position":[[270,5],[364,5],[520,5],[1016,5],[1110,5],[1266,5]]},"628":{"position":[[254,5],[348,5],[504,5],[988,5],[1082,5],[1238,5]]},"630":{"position":[[487,5]]},"631":{"position":[[526,5]]},"632":{"position":[[166,5]]},"633":{"position":[[282,5]]},"635":{"position":[[478,5]]},"648":{"position":[[511,5]]},"650":{"position":[[441,5]]},"652":{"position":[[669,5]]},"699":{"position":[[411,5],[629,5]]}},"keywords":{}}],["valu",{"_index":52,"title":{"562":{"position":[[24,5]]},"635":{"position":[[0,6]]}},"content":{"2":{"position":[[400,5]]},"5":{"position":[[480,7],[921,7],[1196,6]]},"6":{"position":[[547,5],[686,5]]},"11":{"position":[[334,7]]},"33":{"position":[[231,7],[412,7],[426,7]]},"35":{"position":[[400,6],[524,6],[694,7],[862,5],[884,5],[922,5],[944,5],[982,5],[996,5],[1129,6],[1371,7],[1513,5],[1527,5],[1660,6],[1863,7]]},"36":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6217,5],[6382,6],[6460,5],[6848,5],[7019,6],[7178,6],[7256,5],[7529,6],[7616,6],[7716,6],[7912,5],[8089,7],[8114,5],[8337,6],[8603,6],[8686,7],[8912,6],[8971,6],[9286,6],[9319,5],[9506,5],[9672,5],[9754,5],[9831,6],[9909,5],[10014,5],[10058,5],[10156,5],[10231,6],[10308,6],[10377,7]]},"37":{"position":[[193,6],[317,6],[487,7],[655,5],[677,5],[715,5],[737,5],[775,5],[789,5],[922,6],[1164,7],[1306,5],[1320,5],[1453,6],[1656,7]]},"39":{"position":[[17,6],[248,6],[263,5],[277,5]]},"42":{"position":[[1850,7]]},"48":{"position":[[4450,7],[4463,5]]},"51":{"position":[[296,5],[344,5],[455,5]]},"55":{"position":[[874,5],[975,5],[1028,6],[1046,5],[1298,5],[1381,5],[2314,5],[2609,5],[3200,5],[3353,5],[3403,6]]},"62":{"position":[[640,5]]},"65":{"position":[[187,5],[879,5],[1064,5],[1208,5]]},"67":{"position":[[232,6],[485,6]]},"91":{"position":[[765,7]]},"92":{"position":[[140,5],[211,5],[294,5],[378,5],[979,5],[1049,5]]},"109":{"position":[[1719,5]]},"110":{"position":[[2101,5]]},"126":{"position":[[788,5],[802,5]]},"128":{"position":[[737,7]]},"139":{"position":[[481,7]]},"141":{"position":[[122,5],[608,6],[620,5],[726,6]]},"142":{"position":[[133,5],[160,5]]},"149":{"position":[[527,7]]},"180":{"position":[[117,5],[144,5]]},"186":{"position":[[355,6]]},"196":{"position":[[335,7]]},"199":{"position":[[230,7]]},"200":{"position":[[250,6]]},"202":{"position":[[102,5],[119,5]]},"214":{"position":[[336,6],[379,6],[1588,6],[1633,6],[1913,5]]},"215":{"position":[[218,6],[261,6],[639,6],[693,6]]},"217":{"position":[[744,5],[797,6],[817,7],[866,5],[920,6],[940,7],[1234,5],[1275,6],[1295,7]]},"218":{"position":[[174,5],[373,6],[416,6],[1366,6],[1411,6],[1691,5]]},"219":{"position":[[862,6],[1218,6]]},"220":{"position":[[284,6],[326,6],[1448,6],[1492,6],[2213,5]]},"226":{"position":[[391,7]]},"228":{"position":[[429,6],[553,6],[723,7],[891,5],[913,5],[951,5],[973,5],[1011,5],[1025,5],[1158,6],[1400,7],[1542,5],[1556,5],[1689,6],[1892,7],[2100,5]]},"229":{"position":[[214,5],[913,6],[932,6],[1373,5],[1829,5],[1886,6],[2020,5],[2131,6],[2237,5],[2327,5],[2386,5],[2461,5],[2520,5],[2595,5],[2654,5],[2756,5],[3087,5],[3113,5],[3388,7],[4369,5],[4606,6],[4689,7],[4915,6],[4974,6],[5325,6],[5701,5],[6026,6],[6057,5],[6217,5],[6382,6],[6460,5],[6848,5],[7019,6],[7178,6],[7256,5],[7529,6],[7616,6],[7716,6],[7912,5],[8089,7],[8114,5],[8337,6],[8603,6],[8686,7],[8912,6],[8971,6],[9286,6],[9319,5],[9506,5],[9672,5],[9754,5],[9831,6],[9909,5],[10014,5],[10058,5],[10156,5],[10231,6],[10308,6],[10377,7]]},"230":{"position":[[212,6],[336,6],[506,7],[674,5],[696,5],[734,5],[756,5],[794,5],[808,5],[941,6],[1183,7],[1325,5],[1339,5],[1472,6],[1675,7],[1837,5]]},"231":{"position":[[599,6],[723,6],[893,7],[1061,5],[1083,5],[1121,5],[1143,5],[1176,5],[1197,5],[1255,5],[1544,7],[1686,5],[1700,5],[1833,6],[2036,7]]},"232":{"position":[[435,6],[559,6],[729,7],[897,5],[919,5],[957,5],[979,5],[1012,5],[1033,5],[1091,5],[1380,7],[1522,5],[1536,5],[1669,6],[1872,7]]},"233":{"position":[[489,7],[604,6],[724,6],[892,7]]},"234":{"position":[[272,7],[387,6],[507,6],[675,7]]},"235":{"position":[[165,6]]},"240":{"position":[[302,6],[321,6]]},"242":{"position":[[62,6],[131,6]]},"243":{"position":[[89,6],[180,6]]},"244":{"position":[[87,6],[176,6]]},"251":{"position":[[996,5],[1050,5],[1764,5],[1818,5]]},"260":{"position":[[152,5]]},"271":{"position":[[1218,5]]},"274":{"position":[[774,6]]},"275":{"position":[[749,5]]},"276":{"position":[[408,7]]},"278":{"position":[[427,6],[551,6],[726,7],[1006,7]]},"279":{"position":[[209,5],[908,6],[927,6],[1368,5],[1824,5],[1881,6],[1968,5],[2246,5],[2280,6],[2316,7],[2386,5],[2412,5],[2457,6],[2524,7],[2689,6],[3322,5],[3446,5],[3806,6],[4181,5],[4506,6],[4537,5],[4693,5],[4817,5],[4921,6],[4999,5],[5386,5],[5510,5],[5620,6],[5779,6],[5857,5],[6129,6],[6215,6],[6314,6],[6509,5],[6633,5],[6749,7],[6774,5],[6996,6],[7379,5],[7391,7],[7478,5],[7569,6],[7602,5],[7767,5],[8267,6],[8886,7],[8948,5],[8984,5],[9066,5],[9102,6],[9225,5],[9264,6],[9383,5],[9422,5],[9722,5],[9761,6],[10109,5],[10145,6]]},"280":{"position":[[219,6],[343,6],[518,7],[798,7]]},"281":{"position":[[550,6],[674,6],[735,7],[783,5],[793,5],[1100,7]]},"282":{"position":[[219,6],[343,6],[404,7],[452,5],[462,5],[769,7]]},"283":{"position":[[482,7],[597,6],[717,6],[885,7]]},"284":{"position":[[274,7],[389,6],[509,6],[677,7]]},"285":{"position":[[164,6]]},"287":{"position":[[311,6],[330,6]]},"291":{"position":[[62,6],[131,6]]},"292":{"position":[[66,6]]},"293":{"position":[[64,6]]},"302":{"position":[[2341,6]]},"304":{"position":[[791,7],[1075,5]]},"305":{"position":[[1292,5]]},"306":{"position":[[740,6]]},"314":{"position":[[1670,6]]},"323":{"position":[[399,6]]},"330":{"position":[[1412,5]]},"332":{"position":[[1453,5]]},"343":{"position":[[491,5]]},"345":{"position":[[550,5]]},"348":{"position":[[904,6],[971,5],[1073,5],[1133,5],[1559,6],[1600,6],[1642,6]]},"350":{"position":[[132,5],[916,6],[1472,5],[1580,5],[1603,6]]},"353":{"position":[[489,5],[605,5]]},"358":{"position":[[2931,5],[3650,5],[3672,5],[3698,5],[3802,5],[3858,5],[3880,5],[3909,5],[4033,5],[4068,5],[4109,5],[4131,5],[4179,5],[4271,6],[4309,5],[4345,5],[4505,5],[4572,6],[4906,5],[5314,5],[5496,5]]},"359":{"position":[[1159,5],[1179,5],[1268,5],[1278,5],[1529,5],[2527,5],[2537,5]]},"402":{"position":[[2795,6],[3155,5],[3802,6],[4073,5],[4150,5],[5615,5]]},"415":{"position":[[197,5],[220,6],[370,6]]},"421":{"position":[[466,6]]},"452":{"position":[[600,5]]},"466":{"position":[[60,6]]},"467":{"position":[[414,5],[572,6]]},"468":{"position":[[281,6]]},"472":{"position":[[903,6]]},"473":{"position":[[137,6],[223,5],[643,5]]},"487":{"position":[[97,6]]},"496":{"position":[[294,6]]},"517":{"position":[[171,8],[306,6]]},"522":{"position":[[1122,6],[1187,6],[1237,6]]},"540":{"position":[[694,6],[786,6]]},"544":{"position":[[455,6],[1266,6]]},"554":{"position":[[546,5]]},"559":{"position":[[138,6],[213,5],[1416,6]]},"560":{"position":[[209,5],[245,7],[409,5],[558,5]]},"562":{"position":[[120,5],[335,5],[389,5],[442,5],[496,5],[549,5],[614,5]]},"563":{"position":[[55,5],[173,5]]},"564":{"position":[[274,5]]},"565":{"position":[[483,6],[826,5]]},"568":{"position":[[540,5],[620,5],[650,5],[885,6]]},"571":{"position":[[34,6],[152,6],[202,6],[360,6]]},"579":{"position":[[16,6],[204,5]]},"581":{"position":[[220,5],[451,5]]},"587":{"position":[[111,5],[234,5],[251,5],[268,5],[280,5],[297,5],[314,5],[325,5],[342,5]]},"588":{"position":[[105,5],[228,5],[245,5],[262,5],[274,5],[291,5],[308,5],[319,5],[336,5]]},"589":{"position":[[116,5],[239,5],[256,5],[273,5],[285,5],[302,5],[319,5],[330,5],[347,5]]},"590":{"position":[[36,5],[121,5],[131,5]]},"591":{"position":[[220,5],[451,5]]},"592":{"position":[[212,6]]},"604":{"position":[[121,5]]},"608":{"position":[[51,7],[266,5]]},"609":{"position":[[426,5],[453,5],[499,7]]},"610":{"position":[[613,5],[640,5],[686,7]]},"611":{"position":[[33,5],[209,5],[271,5],[303,5],[598,5],[625,5],[671,7],[786,5]]},"612":{"position":[[162,5],[189,5],[235,7],[760,7],[1019,5],[1082,6],[1111,5]]},"613":{"position":[[202,5],[287,5],[410,5],[437,5],[483,7]]},"614":{"position":[[51,5],[183,5],[210,5],[256,7],[371,5]]},"615":{"position":[[59,5],[329,5],[356,5],[402,7],[517,5]]},"616":{"position":[[49,5],[203,5],[230,5],[276,7],[391,5]]},"617":{"position":[[49,5],[206,5],[233,5],[279,7],[394,5]]},"618":{"position":[[49,5],[206,5],[220,5],[293,5],[345,5],[359,5],[432,5],[480,5],[507,5],[553,7],[668,5]]},"619":{"position":[[55,6],[119,6],[148,6],[470,5],[497,5],[543,7],[951,5],[1014,6],[1043,5]]},"620":{"position":[[28,5],[199,5],[226,5],[272,7]]},"621":{"position":[[28,5],[197,5],[224,5],[270,7]]},"622":{"position":[[183,5],[210,5],[256,7]]},"623":{"position":[[18,5],[172,5],[199,5],[245,7],[360,5]]},"624":{"position":[[18,5],[175,5],[202,5],[248,7],[363,5]]},"625":{"position":[[18,5],[175,5],[189,5],[262,5],[314,5],[328,5],[401,5],[449,5],[476,5],[522,7],[637,5]]},"626":{"position":[[169,5],[196,5],[242,7],[336,7],[492,7],[896,5],[923,5],[969,7],[1063,7],[1219,7]]},"627":{"position":[[203,5],[230,5],[276,7],[370,7],[526,7],[949,5],[976,5],[1022,7],[1116,7],[1272,7]]},"628":{"position":[[187,5],[214,5],[260,7],[354,7],[510,7],[921,5],[948,5],[994,7],[1088,7],[1244,7]]},"629":{"position":[[185,5]]},"630":{"position":[[206,5],[295,5],[420,5],[447,5],[493,7]]},"631":{"position":[[49,5],[185,5],[199,5],[272,5],[324,5],[338,5],[411,5],[459,5],[486,5],[532,7]]},"633":{"position":[[82,5],[215,5],[242,5],[288,7],[417,6],[529,5],[562,5],[606,5],[650,5]]},"635":{"position":[[38,5],[100,5],[162,5],[194,5],[411,5],[438,5],[484,7],[599,5],[647,5],[691,5]]},"637":{"position":[[200,6],[271,6],[1235,5],[1567,9]]},"648":{"position":[[16,5],[444,5],[471,5],[517,7]]},"650":{"position":[[63,5],[90,6],[397,5],[424,5],[447,7],[1294,5],[1346,5]]},"652":{"position":[[104,5],[603,5],[630,5],[675,7],[1198,5],[1262,5]]},"659":{"position":[[46,6],[278,5]]},"663":{"position":[[39,6]]},"664":{"position":[[492,5],[532,6],[668,5],[710,5],[736,5],[766,5],[889,5],[931,5],[957,5],[987,5]]},"665":{"position":[[458,5],[498,6],[716,5],[980,5]]},"668":{"position":[[599,5],[671,5],[752,5],[827,5],[914,5],[986,5],[1067,5],[1143,6]]},"677":{"position":[[1027,5],[1033,5],[1065,6],[1188,5]]},"678":{"position":[[1249,5],[1255,5],[1287,6],[1410,5]]},"679":{"position":[[1270,5],[1276,5],[1308,6],[1431,5]]},"680":{"position":[[1303,5],[1309,5],[1341,6],[1464,5]]},"681":{"position":[[1103,5],[1109,5],[1141,6],[1264,5]]},"682":{"position":[[1320,5],[1326,5],[1358,6],[1481,5]]},"683":{"position":[[1341,5],[1347,5],[1379,6],[1502,5]]},"684":{"position":[[1374,5],[1380,5],[1412,6],[1535,5]]},"685":{"position":[[372,6]]},"690":{"position":[[1486,9],[1511,9]]},"693":{"position":[[17,5],[533,5],[544,5],[661,5],[751,5],[787,5]]},"698":{"position":[[55,5],[587,5],[602,5],[669,6]]},"701":{"position":[[562,5],[615,5],[694,5],[751,5],[814,5],[990,5],[1043,5],[1122,5],[1179,5],[1242,5]]},"703":{"position":[[20,7],[96,5]]},"704":{"position":[[13,6],[178,5],[203,5],[270,7],[467,6]]},"710":{"position":[[23,5],[71,5],[299,6],[559,5],[565,5],[583,5]]},"711":{"position":[[372,5],[384,5],[454,6]]},"712":{"position":[[20,5],[89,5],[426,5],[432,5]]},"714":{"position":[[50,6],[105,5],[163,6],[1467,8],[1587,8],[1707,8],[1830,8]]},"723":{"position":[[114,5],[743,5],[758,5],[825,6]]},"726":{"position":[[91,5]]},"727":{"position":[[108,5],[642,5],[657,5],[724,6]]},"741":{"position":[[765,5],[782,5],[870,5],[887,5],[1005,5],[1022,5],[1132,5],[1149,5],[1216,5],[1324,6],[1366,5],[1474,6]]},"748":{"position":[[52,5]]},"756":{"position":[[54,5]]},"765":{"position":[[51,5]]},"770":{"position":[[121,5]]},"771":{"position":[[174,5],[180,5]]},"803":{"position":[[163,5],[398,7],[436,7],[506,7],[539,7]]},"804":{"position":[[166,5],[418,7],[473,7]]},"805":{"position":[[43,6]]},"808":{"position":[[57,7]]},"810":{"position":[[24,6],[310,5],[324,5]]},"814":{"position":[[156,6]]}},"keywords":{}}],["value>",{"_index":5044,"title":{},"content":{"677":{"position":[[134,10],[180,10],[318,10],[374,10],[499,10],[545,10],[679,10],[730,10]]},"678":{"position":[[311,10],[357,10],[510,10],[566,10],[706,10],[752,10],[901,10],[952,10]]},"679":{"position":[[320,10],[366,10],[523,10],[579,10],[723,10],[769,10],[922,10],[973,10]]},"680":{"position":[[380,10],[426,10],[574,10],[630,10],[765,10],[811,10],[955,10],[1006,10]]},"681":{"position":[[166,10],[212,10],[362,10],[426,10],[555,10],[601,10],[747,10],[806,10]]},"682":{"position":[[338,10],[384,10],[549,10],[613,10],[757,10],[803,10],[964,10],[1023,10]]},"683":{"position":[[347,10],[393,10],[562,10],[626,10],[774,10],[820,10],[985,10],[1044,10]]},"684":{"position":[[407,10],[453,10],[613,10],[677,10],[816,10],[862,10],[1018,10],[1077,10]]},"698":{"position":[[369,10]]},"723":{"position":[[462,10]]},"727":{"position":[[368,10]]},"771":{"position":[[95,10]]},"810":{"position":[[225,10]]}},"keywords":{}}],["value<",{"_index":212,"title":{},"content":{"6":{"position":[[373,11]]}},"keywords":{}}],["value"",{"_index":2397,"title":{},"content":{"228":{"position":[[2078,11]]},"359":{"position":[[1322,12],[1563,11],[2581,12]]},"664":{"position":[[792,12],[1013,12]]},"665":{"position":[[780,12],[1044,12]]}},"keywords":{}}],["value(",{"_index":2154,"title":{},"content":{"186":{"position":[[334,8]]},"580":{"position":[[265,8]]},"581":{"position":[[750,8]]},"591":{"position":[[709,8]]}},"keywords":{}}],["value(d,h,m,",{"_index":4720,"title":{},"content":{"626":{"position":[[1523,15]]},"627":{"position":[[1576,15]]},"628":{"position":[[1548,15]]}},"keywords":{}}],["value.split.join",{"_index":2319,"title":{},"content":{"217":{"position":[[1955,21]]}},"keywords":{}}],["value1",{"_index":228,"title":{},"content":{"6":{"position":[[830,6]]},"612":{"position":[[839,6]]},"711":{"position":[[621,9],[731,10]]}},"keywords":{}}],["value2",{"_index":229,"title":{},"content":{"6":{"position":[[885,6]]},"711":{"position":[[642,8],[747,9]]}},"keywords":{}}],["value3",{"_index":231,"title":{},"content":{"6":{"position":[[940,6]]},"619":{"position":[[228,6]]},"637":{"position":[[1015,8]]}},"keywords":{}}],["value4",{"_index":233,"title":{},"content":{"6":{"position":[[995,6]]}},"keywords":{}}],["value5",{"_index":235,"title":{},"content":{"6":{"position":[[1050,6]]},"619":{"position":[[732,6]]}},"keywords":{}}],["value_eq",{"_index":4832,"title":{},"content":{"652":{"position":[[897,8],[922,8],[1006,8],[1039,8],[1166,9]]}},"keywords":{}}],["value_typ",{"_index":5321,"title":{},"content":{"714":{"position":[[1446,13],[1560,13],[1680,13],[1802,13]]}},"keywords":{}}],["valueadd",{"_index":4186,"title":{},"content":{"479":{"position":[[38,8]]}},"keywords":{}}],["valuelimitsbar",{"_index":4713,"title":{"623":{"position":[[0,15]]}},"content":{"623":{"position":[[408,14],[461,14]]}},"keywords":{}}],["valuelimitscolumn",{"_index":4714,"title":{"624":{"position":[[0,18]]}},"content":{"624":{"position":[[410,17],[466,17]]}},"keywords":{}}],["valuerangebar",{"_index":4715,"title":{"625":{"position":[[0,14]]}},"content":{"625":{"position":[[788,13],[850,13]]}},"keywords":{}}],["values[0][0",{"_index":4579,"title":{},"content":{"571":{"position":[[395,12]]}},"keywords":{}}],["valuesonli",{"_index":4188,"title":{},"content":{"479":{"position":[[103,10]]}},"keywords":{}}],["valuesperform",{"_index":4282,"title":{},"content":{"529":{"position":[[112,13]]}},"keywords":{}}],["var",{"_index":3875,"title":{},"content":{"402":{"position":[[2377,3],[3394,3]]},"536":{"position":[[222,3]]},"637":{"position":[[1559,7],[1957,4]]},"639":{"position":[[332,4]]},"640":{"position":[[257,4]]},"643":{"position":[[319,4]]},"644":{"position":[[257,4]]}},"keywords":{}}],["var/lib/apt/list",{"_index":3583,"title":{},"content":{"376":{"position":[[358,20]]}},"keywords":{}}],["vari",{"_index":791,"title":{},"content":{"36":{"position":[[6478,4],[7274,4]]},"81":{"position":[[722,5]]},"82":{"position":[[6463,5]]},"229":{"position":[[6478,4],[7274,4]]},"273":{"position":[[251,4]]},"279":{"position":[[5017,4],[5875,4]]},"367":{"position":[[202,4]]},"402":{"position":[[5206,7]]},"485":{"position":[[285,6]]},"603":{"position":[[122,4]]}},"keywords":{}}],["variabl",{"_index":196,"title":{"126":{"position":[[0,9]]},"273":{"position":[[0,8]]},"564":{"position":[[6,9]]}},"content":{"6":{"position":[[106,9],[560,8]]},"7":{"position":[[1035,8]]},"42":{"position":[[1772,10]]},"44":{"position":[[988,9]]},"48":{"position":[[1133,8],[1512,8],[2000,8],[3647,8],[3764,8],[4271,8],[5157,8]]},"69":{"position":[[673,8]]},"88":{"position":[[115,8]]},"109":{"position":[[1606,8]]},"110":{"position":[[1988,8]]},"115":{"position":[[1142,9],[1401,9]]},"117":{"position":[[633,9]]},"125":{"position":[[120,9]]},"126":{"position":[[23,8],[52,8],[79,8],[161,9],[275,9],[441,9],[566,9],[609,9],[766,8],[815,8]]},"127":{"position":[[90,8]]},"141":{"position":[[277,9],[462,8],[496,8]]},"142":{"position":[[36,8],[114,8],[151,8]]},"180":{"position":[[21,8],[98,8],[135,8]]},"188":{"position":[[237,9],[422,8],[456,8]]},"213":{"position":[[362,8]]},"255":{"position":[[358,10]]},"259":{"position":[[389,9]]},"260":{"position":[[79,9]]},"273":{"position":[[20,8],[157,8],[337,8]]},"279":{"position":[[10679,8]]},"288":{"position":[[327,8]]},"302":{"position":[[2535,8]]},"313":{"position":[[152,8]]},"314":{"position":[[135,9],[459,8],[513,8],[554,8],[610,8],[656,8],[693,8],[736,8],[795,8],[857,8],[943,8],[1112,8],[1644,8],[1680,9]]},"315":{"position":[[224,9],[270,8],[421,9],[467,8]]},"332":{"position":[[321,9],[1197,9],[1333,9],[1375,9]]},"349":{"position":[[6679,8]]},"352":{"position":[[740,8],[839,8],[936,8]]},"358":{"position":[[1382,8],[6462,9],[6574,8],[6977,8],[7359,9],[7444,9],[8272,9],[8385,9]]},"359":{"position":[[2260,9]]},"378":{"position":[[768,8],[790,8],[812,8],[834,8]]},"380":{"position":[[1055,8]]},"383":{"position":[[1738,9]]},"531":{"position":[[288,9],[368,10],[641,9],[721,10]]},"535":{"position":[[977,8],[1208,8]]},"536":{"position":[[121,9],[202,9]]},"540":{"position":[[532,9],[685,8],[777,8],[866,8],[1389,8],[4598,9],[4737,8]]},"554":{"position":[[194,10],[449,9],[515,8],[559,8],[606,9]]},"555":{"position":[[202,9]]},"560":{"position":[[476,8],[1080,8]]},"564":{"position":[[97,9]]},"565":{"position":[[207,9]]},"569":{"position":[[746,9],[1201,8]]},"637":{"position":[[1489,10],[2167,8]]},"699":{"position":[[456,8],[479,8],[654,8]]}},"keywords":{}}],["variable1=value1",{"_index":2926,"title":{},"content":{"315":{"position":[[89,18],[321,18]]}},"keywords":{}}],["variable2=value2",{"_index":2927,"title":{},"content":{"315":{"position":[[108,18],[340,18]]}},"keywords":{}}],["variable_bit_s",{"_index":691,"title":{},"content":{"36":{"position":[[1548,18]]},"229":{"position":[[1548,18]]},"279":{"position":[[1543,18]]}},"keywords":{}}],["variable_nam",{"_index":4492,"title":{},"content":{"554":{"position":[[590,13],[657,13]]}},"keywords":{}}],["variablesshow",{"_index":4280,"title":{},"content":{"529":{"position":[[56,13]]}},"keywords":{}}],["variat",{"_index":3275,"title":{},"content":{"358":{"position":[[6486,9]]},"544":{"position":[[1236,9]]}},"keywords":{}}],["varieti",{"_index":3408,"title":{},"content":{"368":{"position":[[578,7]]}},"keywords":{}}],["variou",{"_index":674,"title":{},"content":{"36":{"position":[[722,7]]},"46":{"position":[[86,7]]},"229":{"position":[[722,7]]},"240":{"position":[[111,7]]},"261":{"position":[[349,7],[463,7]]},"279":{"position":[[717,7]]},"287":{"position":[[120,7]]},"307":{"position":[[1573,7]]},"328":{"position":[[71,7]]},"333":{"position":[[1456,7]]},"338":{"position":[[669,7]]},"339":{"position":[[157,7]]},"340":{"position":[[48,7]]},"368":{"position":[[759,7]]},"402":{"position":[[1880,7]]},"416":{"position":[[27,7],[278,7]]},"440":{"position":[[351,7]]},"462":{"position":[[480,7]]},"473":{"position":[[277,7]]},"511":{"position":[[263,7]]},"650":{"position":[[74,7]]},"788":{"position":[[41,7]]}},"keywords":{}}],["vc_frm_cnt",{"_index":1287,"title":{},"content":{"60":{"position":[[111,10]]}},"keywords":{}}],["vcid",{"_index":1283,"title":{},"content":{"59":{"position":[[420,4]]},"60":{"position":[[93,5]]}},"keywords":{}}],["vcpu",{"_index":3418,"title":{},"content":{"369":{"position":[[77,6]]}},"keywords":{}}],["vel[x,y,z",{"_index":3429,"title":{},"content":{"369":{"position":[[636,11]]}},"keywords":{}}],["veri",{"_index":271,"title":{},"content":{"7":{"position":[[1098,4]]},"53":{"position":[[252,4]]},"55":{"position":[[1930,4]]},"67":{"position":[[3562,4]]},"83":{"position":[[11,4]]},"100":{"position":[[832,4],[882,4]]},"274":{"position":[[208,4]]},"301":{"position":[[1552,4]]},"349":{"position":[[664,4]]},"383":{"position":[[483,4]]},"402":{"position":[[784,4]]},"432":{"position":[[1009,4]]},"506":{"position":[[748,4]]},"539":{"position":[[79,4]]},"543":{"position":[[21,4]]},"559":{"position":[[182,4]]},"657":{"position":[[82,4]]},"793":{"position":[[147,4]]}},"keywords":{}}],["verif",{"_index":5198,"title":{},"content":{"697":{"position":[[12,12],[88,12]]},"698":{"position":[[86,12]]}},"keywords":{}}],["verifi",{"_index":1336,"title":{},"content":{"65":{"position":[[56,6]]},"344":{"position":[[101,6],[593,6],[710,6],[1080,6]]},"348":{"position":[[799,6],[1629,6],[1796,6],[1960,6],[2016,6],[2164,6]]},"349":{"position":[[893,8],[2244,6],[2388,6],[2512,6],[2681,6],[2801,6],[2972,6],[3084,6],[3261,6],[3454,6],[4501,6],[4918,6],[5711,6]]},"350":{"position":[[995,6],[1293,6],[1596,6]]},"351":{"position":[[439,6]]},"542":{"position":[[116,9]]},"568":{"position":[[840,6]]}},"keywords":{}}],["versa",{"_index":311,"title":{},"content":{"9":{"position":[[964,6]]}},"keywords":{}}],["version",{"_index":761,"title":{},"content":{"36":{"position":[[5170,7]]},"44":{"position":[[172,7]]},"47":{"position":[[199,9]]},"62":{"position":[[702,7]]},"86":{"position":[[37,7]]},"112":{"position":[[402,8],[960,7]]},"113":{"position":[[453,8],[556,7]]},"216":{"position":[[808,7]]},"217":{"position":[[2929,7]]},"229":{"position":[[5170,7]]},"251":{"position":[[349,7]]},"253":{"position":[[186,7],[1064,7],[1834,7]]},"260":{"position":[[181,7]]},"279":{"position":[[3651,7]]},"299":{"position":[[156,7]]},"301":{"position":[[1372,7]]},"326":{"position":[[638,8]]},"328":{"position":[[182,7]]},"331":{"position":[[522,7],[562,7],[820,7],[865,7]]},"333":{"position":[[677,7],[705,7],[795,7]]},"359":{"position":[[171,8],[234,7],[269,7],[309,10],[1773,7],[1985,8]]},"362":{"position":[[1378,7],[1458,7]]},"369":{"position":[[4304,8],[4328,8],[4352,8],[4374,8],[4401,8],[4434,8],[4500,8]]},"379":{"position":[[3644,10],[3683,7],[3761,8],[3794,7],[3881,8],[3913,9]]},"383":{"position":[[396,9]]},"426":{"position":[[1254,8]]},"547":{"position":[[1198,7]]},"708":{"position":[[644,7]]},"807":{"position":[[352,10]]},"808":{"position":[[906,10],[926,10]]}},"keywords":{}}],["version=1",{"_index":1534,"title":{},"content":{"82":{"position":[[856,10],[1003,10]]}},"keywords":{}}],["version=1.0.0",{"_index":3288,"title":{},"content":{"359":{"position":[[106,13]]},"379":{"position":[[3621,13]]}},"keywords":{}}],["version=1.0.1",{"_index":2996,"title":{},"content":{"326":{"position":[[572,13]]},"359":{"position":[[1920,13]]}},"keywords":{}}],["version=x.x.x"",{"_index":2756,"title":{},"content":{"301":{"position":[[1326,19]]}},"keywords":{}}],["vertic",{"_index":4235,"title":{"594":{"position":[[0,9]]}},"content":{"504":{"position":[[258,8]]},"524":{"position":[[362,10],[716,10]]},"589":{"position":[[441,8]]},"594":{"position":[[36,10],[73,8],[179,8],[207,8],[357,8]]},"595":{"position":[[36,10],[125,10]]},"599":{"position":[[332,8]]},"601":{"position":[[11,8]]},"607":{"position":[[179,8]]},"621":{"position":[[60,10]]},"654":{"position":[[57,8]]},"786":{"position":[[511,8],[783,8]]},"787":{"position":[[971,8],[1254,8]]}},"keywords":{}}],["vertical_message_box",{"_index":4512,"title":{"667":{"position":[[0,21]]}},"content":{"559":{"position":[[1143,21]]},"668":{"position":[[18,21]]}},"keywords":{}}],["vertical_message_box("<message>"",{"_index":4973,"title":{},"content":{"668":{"position":[[294,49]]}},"keywords":{}}],["vertical_message_box("select",{"_index":4980,"title":{},"content":{"668":{"position":[[679,33],[994,33]]}},"keywords":{}}],["verticalbox",{"_index":4600,"title":{"595":{"position":[[0,12]]}},"content":{"578":{"position":[[128,11],[206,11]]},"591":{"position":[[766,11]]},"595":{"position":[[73,11],[332,11]]},"654":{"position":[[250,11],[687,11]]},"786":{"position":[[549,11],[821,11]]},"787":{"position":[[1011,11],[1294,11]]}},"keywords":{}}],["vetur",{"_index":906,"title":{},"content":{"42":{"position":[[198,6]]}},"keywords":{}}],["vi",{"_index":2878,"title":{},"content":{"309":{"position":[[2281,2],[3194,2],[3386,2]]}},"keywords":{}}],["via",{"_index":701,"title":{},"content":{"36":{"position":[[2000,3]]},"229":{"position":[[2000,3]]},"364":{"position":[[71,3]]},"379":{"position":[[1139,3]]},"393":{"position":[[1260,3]]},"454":{"position":[[509,3]]},"592":{"position":[[37,3]]},"710":{"position":[[233,3]]}},"keywords":{}}],["vice",{"_index":310,"title":{},"content":{"9":{"position":[[959,4]]}},"keywords":{}}],["view",{"_index":1769,"title":{"490":{"position":[[0,4]]}},"content":{"93":{"position":[[555,4]]},"209":{"position":[[630,6]]},"271":{"position":[[1673,4]]},"321":{"position":[[1544,4]]},"344":{"position":[[980,4],[1238,4]]},"346":{"position":[[228,4],[490,4],[591,4],[725,4],[764,4],[883,4],[1035,4],[1074,4],[1190,4],[1635,4],[1762,4]]},"347":{"position":[[296,4],[494,4]]},"349":{"position":[[4184,7]]},"350":{"position":[[41,4],[755,4],[948,4],[1263,4],[1545,4]]},"351":{"position":[[146,5]]},"354":{"position":[[515,4]]},"356":{"position":[[441,4]]},"406":{"position":[[155,7]]},"439":{"position":[[97,4]]},"454":{"position":[[485,6]]},"459":{"position":[[27,4]]},"489":{"position":[[98,5]]},"509":{"position":[[264,4]]},"512":{"position":[[130,4]]},"514":{"position":[[242,4],[321,4]]},"515":{"position":[[263,4],[351,4]]},"528":{"position":[[334,4],[711,4]]}},"keywords":{}}],["viewer",{"_index":359,"title":{"350":{"position":[[7,7]]},"351":{"position":[[10,7]]},"354":{"position":[[5,7]]},"458":{"position":[[5,6]]},"460":{"position":[[5,6]]},"486":{"position":[[7,6]]},"488":{"position":[[7,6]]},"500":{"position":[[10,6]]}},"content":{"14":{"position":[[150,6]]},"96":{"position":[[253,6]]},"203":{"position":[[79,6],[451,6]]},"271":{"position":[[1234,6],[1248,6]]},"290":{"position":[[94,7]]},"302":{"position":[[2143,6]]},"306":{"position":[[95,6]]},"320":{"position":[[1775,6]]},"346":{"position":[[1598,7],[1650,6]]},"350":{"position":[[8,6],[196,6],[381,6],[539,6],[719,6],[887,6],[1032,6],[1147,6],[1403,6]]},"351":{"position":[[11,6],[318,6],[403,6],[499,6]]},"354":{"position":[[6,6],[239,6],[354,6],[456,6],[551,6],[651,6]]},"407":{"position":[[159,6]]},"459":{"position":[[6,6]]},"487":{"position":[[8,6],[35,6]]},"491":{"position":[[26,6]]},"501":{"position":[[11,6],[38,6]]},"504":{"position":[[292,7]]},"505":{"position":[[379,6]]},"515":{"position":[[366,6],[395,6]]},"574":{"position":[[396,6]]},"577":{"position":[[20,6],[270,6],[363,6]]},"662":{"position":[[185,6],[241,6],[312,6],[536,6]]},"783":{"position":[[31,6]]},"786":{"position":[[107,6]]},"787":{"position":[[125,6]]}},"keywords":{}}],["violat",{"_index":2636,"title":{},"content":{"279":{"position":[[7956,8]]},"344":{"position":[[1202,11]]},"347":{"position":[[482,11]]},"389":{"position":[[1174,9]]},"470":{"position":[[123,7]]},"473":{"position":[[85,7]]}},"keywords":{}}],["viral",{"_index":3747,"title":{},"content":{"389":{"position":[[176,5]]}},"keywords":{}}],["virtual",{"_index":1284,"title":{"249":{"position":[[0,8]]},"295":{"position":[[0,8]]}},"content":{"59":{"position":[[425,7]]},"249":{"position":[[38,7]]},"295":{"position":[[38,7]]},"310":{"position":[[53,7]]},"369":{"position":[[115,14]]}},"keywords":{}}],["visibl",{"_index":4257,"title":{},"content":{"522":{"position":[[246,7]]},"552":{"position":[[789,10]]},"787":{"position":[[704,7],[890,7]]}},"keywords":{}}],["visit",{"_index":466,"title":{},"content":{"20":{"position":[[1527,5]]},"43":{"position":[[626,5]]},"437":{"position":[[170,5]]}},"keywords":{}}],["visual",{"_index":896,"title":{},"content":{"42":{"position":[[40,6]]},"209":{"position":[[167,8]]},"306":{"position":[[821,13]]},"321":{"position":[[1311,10]]},"324":{"position":[[1,6]]},"349":{"position":[[26,6]]},"364":{"position":[[326,9]]},"365":{"position":[[67,13]]},"368":{"position":[[733,9]]},"379":{"position":[[3858,9]]},"449":{"position":[[10,10]]},"462":{"position":[[194,6],[320,14],[488,15]]},"540":{"position":[[3972,8]]}},"keywords":{}}],["vm.max_map_count=262144",{"_index":2873,"title":{},"content":{"309":{"position":[[2142,23]]},"404":{"position":[[2148,23]]}},"keywords":{}}],["vm.overcommit_memory=1",{"_index":3972,"title":{},"content":{"404":{"position":[[2187,22]]}},"keywords":{}}],["volt",{"_index":1331,"title":{},"content":{"64":{"position":[[1107,5],[1219,5]]},"219":{"position":[[1011,5]]}},"keywords":{}}],["voltag",{"_index":2342,"title":{},"content":{"219":{"position":[[694,7],[728,7],[948,7]]}},"keywords":{}}],["volum",{"_index":2010,"title":{},"content":{"127":{"position":[[307,6]]},"310":{"position":[[620,6]]},"333":{"position":[[1383,7]]},"382":{"position":[[82,7]]}},"keywords":{}}],["vpnkitmaxportidletim",{"_index":3032,"title":{},"content":{"330":{"position":[[1418,21]]}},"keywords":{}}],["vs",{"_index":2989,"title":{"540":{"position":[[5,2]]},"547":{"position":[[8,2]]},"551":{"position":[[14,2]]},"552":{"position":[[13,2],[46,2]]}},"content":{"324":{"position":[[43,2]]},"358":{"position":[[1272,2]]},"564":{"position":[[826,2]]}},"keywords":{}}],["vscode",{"_index":910,"title":{},"content":{"42":{"position":[[269,6]]}},"keywords":{}}],["vue",{"_index":1783,"title":{},"content":{"96":{"position":[[36,3]]},"264":{"position":[[388,4]]},"307":{"position":[[789,3],[882,4],[931,3],[1461,3]]},"320":{"position":[[482,3],[1046,3],[1190,3],[1471,3]]}},"keywords":{}}],["vue.config.j",{"_index":2820,"title":{},"content":{"307":{"position":[[1447,13]]}},"keywords":{}}],["vue.j",{"_index":2541,"title":{"263":{"position":[[0,7]]}},"content":{"263":{"position":[[71,6],[93,7],[388,6],[531,6],[582,6]]},"264":{"position":[[35,7]]},"306":{"position":[[790,6]]},"307":{"position":[[235,7],[310,7],[1314,6]]},"320":{"position":[[605,6]]}},"keywords":{}}],["vuetifi",{"_index":1784,"title":{},"content":{"96":{"position":[[44,7]]},"263":{"position":[[403,7],[546,7],[597,7]]},"307":{"position":[[887,8]]},"320":{"position":[[492,7],[616,8]]}},"keywords":{}}],["w",{"_index":2872,"title":{},"content":{"309":{"position":[[2140,1]]},"404":{"position":[[2146,1],[2185,1]]}},"keywords":{}}],["w/"1e44c0878528687014e1e60a1cbebdae"",{"_index":1579,"title":{},"content":{"82":{"position":[[6416,46]]}},"keywords":{}}],["w/"e806aacfdbed0b325e7a5928e3bb5cf4"",{"_index":1504,"title":{},"content":{"81":{"position":[[675,46]]}},"keywords":{}}],["wait",{"_index":874,"title":{"722":{"position":[[0,5]]}},"content":{"40":{"position":[[727,4]]},"61":{"position":[[2572,4],[2662,4]]},"64":{"position":[[26,5],[173,4],[201,7],[274,4]]},"67":{"position":[[4993,7]]},"104":{"position":[[154,4],[569,4],[638,4]]},"105":{"position":[[456,4],[525,4]]},"106":{"position":[[738,4],[811,4]]},"107":{"position":[[433,4],[539,4],[655,4]]},"109":{"position":[[816,4]]},"110":{"position":[[1150,4]]},"111":{"position":[[648,4],[717,4]]},"112":{"position":[[573,7]]},"138":{"position":[[385,4]]},"309":{"position":[[3887,4]]},"349":{"position":[[3023,4],[3068,4],[3091,4],[4725,4]]},"367":{"position":[[794,4]]},"404":{"position":[[1620,4],[1796,4]]},"421":{"position":[[538,5]]},"422":{"position":[[11,4],[1491,7]]},"560":{"position":[[335,6],[722,4],[751,4],[934,4],[965,6]]},"563":{"position":[[612,4],[782,4],[1114,4]]},"565":{"position":[[711,7],[989,7]]},"568":{"position":[[166,4],[493,4]]},"579":{"position":[[397,4]]},"658":{"position":[[557,6]]},"662":{"position":[[5096,9]]},"675":{"position":[[36,5]]},"717":{"position":[[275,7],[498,4],[706,5],[1204,5]]},"721":{"position":[[53,4]]},"722":{"position":[[217,4],[280,4],[384,6],[422,6],[489,6],[1120,4],[1145,7],[1506,4],[1521,4],[1713,6]]},"723":{"position":[[887,4],[912,7]]},"724":{"position":[[205,4],[673,4],[698,7]]},"725":{"position":[[875,4]]},"726":{"position":[[14,4],[244,7],[732,4],[757,7]]},"727":{"position":[[226,7],[783,4],[808,7]]},"728":{"position":[[201,4],[340,7],[598,4],[623,7]]},"729":{"position":[[176,7],[528,4],[553,7],[853,4]]},"789":{"position":[[172,4]]},"799":{"position":[[123,5]]}},"keywords":{}}],["wait(<time>",{"_index":5346,"title":{},"content":{"722":{"position":[[439,18]]}},"keywords":{}}],["wait("<target",{"_index":5348,"title":{},"content":{"722":{"position":[[665,21]]}},"keywords":{}}],["wait("inst",{"_index":5354,"title":{},"content":{"722":{"position":[[1538,15],[1603,15],[1748,15],[1813,15]]}},"keywords":{}}],["wait(0.1",{"_index":5329,"title":{},"content":{"717":{"position":[[1001,9]]}},"keywords":{}}],["wait(1.5",{"_index":4539,"title":{},"content":{"563":{"position":[[949,9]]}},"keywords":{}}],["wait(5",{"_index":5355,"title":{},"content":{"722":{"position":[[1730,7]]}},"keywords":{}}],["wait_check",{"_index":3162,"title":{"726":{"position":[[0,11]]}},"content":{"349":{"position":[[1923,12]]},"542":{"position":[[228,13]]},"544":{"position":[[699,13],[780,13],[1106,15]]},"552":{"position":[[216,11]]},"568":{"position":[[103,12]]},"662":{"position":[[5163,15]]},"697":{"position":[[278,10]]},"722":{"position":[[319,10]]}},"keywords":{}}],["wait_check("#{target",{"_index":4360,"title":{},"content":{"540":{"position":[[2164,26],[2540,26]]}},"keywords":{}}],["wait_check("#{target_nam",{"_index":4544,"title":{},"content":{"564":{"position":[[423,31]]}},"keywords":{}}],["wait_check("<target",{"_index":5370,"title":{},"content":{"726":{"position":[[281,27]]}},"keywords":{}}],["wait_check("inst",{"_index":4383,"title":{},"content":{"542":{"position":[[321,21],[569,21]]},"726":{"position":[[1040,21],[1113,21],[1217,21],[1290,21]]}},"keywords":{}}],["wait_check("target",{"_index":4408,"title":{},"content":{"544":{"position":[[1468,23],[1526,23]]}},"keywords":{}}],["wait_check("tgt",{"_index":2454,"title":{},"content":{"251":{"position":[[1266,20]]}},"keywords":{}}],["wait_check(f"inst",{"_index":2462,"title":{},"content":{"251":{"position":[[2059,22]]},"542":{"position":[[765,22]]}},"keywords":{}}],["wait_check(f"target",{"_index":4412,"title":{},"content":{"544":{"position":[[1748,24],[1806,24]]}},"keywords":{}}],["wait_check(f"{target",{"_index":4372,"title":{},"content":{"540":{"position":[[3080,26],[3450,26]]}},"keywords":{}}],["wait_check(f"{target_nam",{"_index":4547,"title":{},"content":{"564":{"position":[[602,31]]}},"keywords":{}}],["wait_check_express",{"_index":4550,"title":{"565":{"position":[[13,22]]},"728":{"position":[[0,22]]}},"content":{"565":{"position":[[12,21],[315,21]]},"699":{"position":[[236,21]]},"724":{"position":[[309,21]]}},"keywords":{}}],["wait_check_expression("<expression>"",{"_index":5373,"title":{},"content":{"728":{"position":[[377,53]]}},"keywords":{}}],["wait_check_expression("on",{"_index":4554,"title":{},"content":{"565":{"position":[[620,31],[764,31],[882,31],[1042,31]]}},"keywords":{}}],["wait_check_expression("tlm('inst",{"_index":5374,"title":{},"content":{"728":{"position":[[795,37]]}},"keywords":{}}],["wait_check_packet",{"_index":5365,"title":{"729":{"position":[[0,18]]}},"content":{"725":{"position":[[189,17]]}},"keywords":{}}],["wait_check_packet("<target>"",{"_index":5375,"title":{},"content":{"729":{"position":[[210,45]]}},"keywords":{}}],["wait_check_packet('inst",{"_index":5376,"title":{},"content":{"729":{"position":[[801,25]]}},"keywords":{}}],["wait_check_raw",{"_index":4957,"title":{},"content":{"662":{"position":[[5118,14]]}},"keywords":{}}],["wait_check_toler",{"_index":4565,"title":{"727":{"position":[[0,21]]}},"content":{"568":{"position":[[768,22]]},"662":{"position":[[5327,25]]},"698":{"position":[[177,20]]},"723":{"position":[[213,20]]}},"keywords":{}}],["wait_check_tolerance("<target",{"_index":5371,"title":{},"content":{"727":{"position":[[263,37]]}},"keywords":{}}],["wait_check_tolerance("inst",{"_index":5372,"title":{},"content":{"727":{"position":[[1091,31],[1178,31],[1296,31],[1383,31]]}},"keywords":{}}],["wait_check_tolerance_raw",{"_index":4960,"title":{},"content":{"662":{"position":[[5272,24]]}},"keywords":{}}],["wait_express",{"_index":5361,"title":{"724":{"position":[[0,16]]}},"content":{"724":{"position":[[259,15]]}},"keywords":{}}],["wait_expression("<expression>"",{"_index":5362,"title":{},"content":{"724":{"position":[[448,47]]}},"keywords":{}}],["wait_expression("tlm('inst",{"_index":5363,"title":{},"content":{"724":{"position":[[948,31]]}},"keywords":{}}],["wait_packet",{"_index":5364,"title":{"725":{"position":[[0,12]]}},"content":{"725":{"position":[[143,11]]}},"keywords":{}}],["wait_packet("<target>"",{"_index":5366,"title":{},"content":{"725":{"position":[[330,39]]}},"keywords":{}}],["wait_packet('inst",{"_index":5369,"title":{},"content":{"725":{"position":[[829,19]]}},"keywords":{}}],["wait_raw",{"_index":4956,"title":{},"content":{"662":{"position":[[5057,8]]}},"keywords":{}}],["wait_toler",{"_index":4959,"title":{"723":{"position":[[0,15]]}},"content":{"662":{"position":[[5240,19]]},"723":{"position":[[164,14]]}},"keywords":{}}],["wait_tolerance("<target",{"_index":5357,"title":{},"content":{"723":{"position":[[363,31]]}},"keywords":{}}],["wait_tolerance("inst",{"_index":5359,"title":{},"content":{"723":{"position":[[1274,25],[1355,25],[1481,25],[1562,25]]}},"keywords":{}}],["wait_tolerance_raw",{"_index":4958,"title":{},"content":{"662":{"position":[[5191,18]]}},"keywords":{}}],["want",{"_index":958,"title":{},"content":{"42":{"position":[[1667,4]]},"44":{"position":[[17,4]]},"67":{"position":[[426,4]]},"126":{"position":[[360,4]]},"136":{"position":[[217,4]]},"140":{"position":[[185,5]]},"279":{"position":[[8324,4]]},"303":{"position":[[930,4]]},"309":{"position":[[2869,4],[3545,4]]},"310":{"position":[[652,4]]},"325":{"position":[[8,4]]},"326":{"position":[[305,4],[852,4]]},"334":{"position":[[82,5]]},"358":{"position":[[58,4]]},"361":{"position":[[199,4]]},"379":{"position":[[3722,4]]},"389":{"position":[[366,5],[740,4],[1118,4]]},"392":{"position":[[5,4],[104,4],[423,4],[453,4],[520,4],[579,4]]},"402":{"position":[[1151,4],[1460,4],[3256,4]]},"452":{"position":[[463,4],[643,4]]},"457":{"position":[[161,4]]},"462":{"position":[[179,4]]},"473":{"position":[[1407,4],[1440,4]]},"482":{"position":[[81,4]]},"498":{"position":[[649,4]]},"499":{"position":[[555,4]]},"528":{"position":[[427,5]]},"540":{"position":[[1890,4],[1973,4],[2804,4],[2888,4],[3935,4]]},"546":{"position":[[464,4]]},"552":{"position":[[844,4]]},"559":{"position":[[475,4],[761,4]]},"637":{"position":[[176,4]]},"673":{"position":[[308,4]]},"778":{"position":[[187,4],[225,4]]},"793":{"position":[[569,4],[709,4]]}},"keywords":{}}],["warn",{"_index":108,"title":{},"content":{"3":{"position":[[404,8]]},"15":{"position":[[167,7]]},"16":{"position":[[171,7]]},"17":{"position":[[325,7]]},"18":{"position":[[330,7]]},"36":{"position":[[1207,8],[1293,7],[8990,7]]},"229":{"position":[[1207,8],[1293,7],[8990,7]]},"279":{"position":[[1202,8],[1288,7],[7113,7]]},"289":{"position":[[178,9]]},"294":{"position":[[105,7]]},"326":{"position":[[890,7]]},"422":{"position":[[814,4]]},"592":{"position":[[240,7]]},"646":{"position":[[106,7]]}},"keywords":{}}],["warning"",{"_index":4670,"title":{},"content":{"604":{"position":[[255,13]]}},"keywords":{}}],["warranti",{"_index":3754,"title":{},"content":{"389":{"position":[[637,8]]},"390":{"position":[[739,8],[816,10]]}},"keywords":{}}],["watch",{"_index":3127,"title":{},"content":{"347":{"position":[[613,5]]}},"keywords":{}}],["water",{"_index":3396,"title":{},"content":{"367":{"position":[[833,5]]}},"keywords":{}}],["watermark_processor.pi",{"_index":2677,"title":{},"content":{"288":{"position":[[517,22]]}},"keywords":{}}],["watermark_processor.rb",{"_index":2676,"title":{},"content":{"288":{"position":[[449,22]]}},"keywords":{}}],["way",{"_index":272,"title":{},"content":{"7":{"position":[[1112,3]]},"55":{"position":[[2706,3]]},"61":{"position":[[421,3]]},"93":{"position":[[77,3]]},"141":{"position":[[753,3]]},"225":{"position":[[456,3],[676,3]]},"271":{"position":[[487,3],[703,3]]},"326":{"position":[[1298,3]]},"351":{"position":[[29,3],[259,5]]},"358":{"position":[[4234,3]]},"361":{"position":[[67,3]]},"386":{"position":[[24,3]]},"404":{"position":[[360,3]]},"426":{"position":[[1172,4]]},"543":{"position":[[55,4]]},"544":{"position":[[256,4]]},"546":{"position":[[28,4]]},"547":{"position":[[856,3]]},"552":{"position":[[293,4],[696,3],[1162,4]]},"554":{"position":[[126,4]]},"659":{"position":[[26,4]]},"699":{"position":[[705,3]]}},"keywords":{}}],["wb",{"_index":2271,"title":{},"content":{"214":{"position":[[1442,5]]}},"keywords":{}}],["we'll",{"_index":1621,"title":{},"content":{"83":{"position":[[1422,5]]}},"keywords":{}}],["we'r",{"_index":2939,"title":{},"content":{"319":{"position":[[1,5]]},"320":{"position":[[1571,5]]},"358":{"position":[[152,5]]},"377":{"position":[[6,5]]},"382":{"position":[[48,5]]}},"keywords":{}}],["we'v",{"_index":4163,"title":{},"content":{"468":{"position":[[199,5]]}},"keywords":{}}],["web",{"_index":66,"title":{},"content":{"2":{"position":[[650,3]]},"22":{"position":[[344,4]]},"62":{"position":[[282,3]]},"83":{"position":[[189,3],[1920,3]]},"122":{"position":[[18,3]]},"192":{"position":[[84,3]]},"216":{"position":[[79,3]]},"217":{"position":[[90,3]]},"220":{"position":[[98,3]]},"269":{"position":[[84,3]]},"307":{"position":[[1015,3]]},"334":{"position":[[11,3]]},"343":{"position":[[741,3]]},"344":{"position":[[211,3],[323,3]]},"365":{"position":[[81,3],[145,3]]},"389":{"position":[[480,3],[856,3]]},"404":{"position":[[2599,3]]},"434":{"position":[[144,3],[310,3]]},"455":{"position":[[457,3],[702,3]]}},"keywords":{}}],["webpag",{"_index":4153,"title":{},"content":{"457":{"position":[[88,7]]}},"keywords":{}}],["websecur",{"_index":499,"title":{},"content":{"22":{"position":[[420,9],[448,10]]}},"keywords":{}}],["webserv",{"_index":2521,"title":{},"content":{"258":{"position":[[1396,9]]}},"keywords":{}}],["websit",{"_index":2578,"title":{"434":{"position":[[53,10]]}},"content":{"268":{"position":[[398,7]]},"427":{"position":[[252,7]]},"432":{"position":[[213,8],[1375,8],[1497,9]]},"434":{"position":[[67,7]]},"440":{"position":[[710,7],[793,7]]}},"keywords":{}}],["websocket",{"_index":1627,"title":{},"content":{"83":{"position":[[1721,9]]},"402":{"position":[[440,10],[628,10],[1015,9]]}},"keywords":{}}],["wed",{"_index":1550,"title":{},"content":{"82":{"position":[[1261,4],[6553,4]]}},"keywords":{}}],["weird",{"_index":2969,"title":{},"content":{"321":{"position":[[69,5]]}},"keywords":{}}],["well",{"_index":54,"title":{},"content":{"2":{"position":[[416,4],[548,4]]},"42":{"position":[[2103,4]]},"46":{"position":[[106,4]]},"67":{"position":[[894,4]]},"109":{"position":[[245,4]]},"110":{"position":[[265,4]]},"124":{"position":[[23,4]]},"302":{"position":[[591,4]]},"303":{"position":[[689,4]]},"342":{"position":[[795,4]]},"343":{"position":[[507,4],[639,4]]},"383":{"position":[[1321,4],[1578,4]]},"387":{"position":[[539,4]]},"389":{"position":[[1682,4]]},"393":{"position":[[54,4],[1338,4]]},"404":{"position":[[2086,5]]},"431":{"position":[[158,4]]},"439":{"position":[[231,4]]},"440":{"position":[[527,4]]},"526":{"position":[[54,4]]},"550":{"position":[[202,6]]},"569":{"position":[[1181,4]]}},"keywords":{}}],["went",{"_index":2637,"title":{},"content":{"279":{"position":[[8042,4]]},"347":{"position":[[593,4]]}},"keywords":{}}],["whatev",{"_index":2002,"title":{},"content":{"126":{"position":[[341,8]]},"309":{"position":[[2548,9],[3754,8]]},"334":{"position":[[69,8]]},"535":{"position":[[1248,8]]},"540":{"position":[[4724,8]]}},"keywords":{}}],["wheel",{"_index":4196,"title":{},"content":{"485":{"position":[[81,5]]}},"keywords":{}}],["whether",{"_index":1150,"title":{},"content":{"50":{"position":[[516,7]]},"52":{"position":[[825,7],[901,7]]},"53":{"position":[[996,7]]},"54":{"position":[[1393,7],[1465,7],[1544,7]]},"56":{"position":[[751,7],[1297,7]]},"57":{"position":[[904,7]]},"59":{"position":[[138,7],[211,7]]},"60":{"position":[[288,7],[789,7]]},"61":{"position":[[1923,7],[2469,7],[2723,7]]},"64":{"position":[[335,7]]},"65":{"position":[[250,7],[1002,7],[1120,7]]},"69":{"position":[[209,7]]},"107":{"position":[[724,7]]},"109":{"position":[[587,7],[632,7]]},"110":{"position":[[580,7],[625,7]]},"139":{"position":[[404,7]]},"199":{"position":[[23,7],[176,7]]},"279":{"position":[[8712,7]]},"349":{"position":[[405,7]]},"390":{"position":[[1009,7]]},"422":{"position":[[216,7],[891,7]]},"445":{"position":[[159,7]]},"468":{"position":[[49,7]]},"497":{"position":[[392,7]]},"626":{"position":[[279,7],[1006,7]]},"627":{"position":[[313,7],[1059,7]]},"628":{"position":[[297,7],[1031,7]]},"637":{"position":[[1383,7]]},"664":{"position":[[403,7],[548,7]]},"665":{"position":[[369,7],[514,7]]},"669":{"position":[[371,7]]},"685":{"position":[[242,7],[313,7]]},"692":{"position":[[31,7]]},"722":{"position":[[615,7],[1435,7]]},"723":{"position":[[313,7],[1202,7]]},"724":{"position":[[398,7],[868,7]]},"725":{"position":[[288,7],[749,7]]},"729":{"position":[[721,7]]},"731":{"position":[[60,7]]},"741":{"position":[[1829,7]]},"757":{"position":[[368,7],[463,7],[560,7]]},"759":{"position":[[495,7]]},"769":{"position":[[499,7]]},"815":{"position":[[240,7]]},"816":{"position":[[244,7]]}},"keywords":{}}],["whichev",{"_index":3015,"title":{},"content":{"330":{"position":[[547,9]]},"430":{"position":[[352,9]]}},"keywords":{}}],["white",{"_index":4328,"title":{},"content":{"540":{"position":[[309,5]]},"581":{"position":[[831,5],[912,5]]},"611":{"position":[[158,5],[251,5]]},"635":{"position":[[49,5],[142,5]]}},"keywords":{}}],["whitespac",{"_index":312,"title":{},"content":{"9":{"position":[[1035,10]]}},"keywords":{}}],["whole",{"_index":3748,"title":{},"content":{"389":{"position":[[208,5],[525,5]]},"390":{"position":[[204,5]]}},"keywords":{}}],["wide",{"_index":3407,"title":{},"content":{"368":{"position":[[573,4]]},"513":{"position":[[203,5]]},"608":{"position":[[225,4]]},"611":{"position":[[769,4]]},"614":{"position":[[354,4]]},"615":{"position":[[500,4]]},"616":{"position":[[374,4]]},"617":{"position":[[377,4]]},"618":{"position":[[651,4]]},"623":{"position":[[343,4]]},"624":{"position":[[346,4]]},"625":{"position":[[620,4]]},"635":{"position":[[582,4]]}},"keywords":{}}],["widespread",{"_index":4391,"title":{},"content":{"544":{"position":[[3,10]]}},"keywords":{}}],["widget",{"_index":2186,"title":{"203":{"position":[[0,7]]},"204":{"position":[[0,6]]},"306":{"position":[[0,6]]},"318":{"position":[[7,7]]},"319":{"position":[[7,8]]},"320":{"position":[[11,7]]},"576":{"position":[[4,8]]},"593":{"position":[[7,8]]},"603":{"position":[[11,8]]},"608":{"position":[[10,8]]},"636":{"position":[[12,8]]},"645":{"position":[[7,8]]}},"content":{"203":{"position":[[17,6],[42,6],[154,6],[197,6],[233,6],[354,7],[415,6],[501,6]]},"204":{"position":[[38,6]]},"205":{"position":[[80,6]]},"302":{"position":[[2163,7]]},"306":{"position":[[67,6],[147,6],[225,6],[295,6],[322,6],[396,6],[420,6],[529,7],[709,6],[899,7],[908,6]]},"307":{"position":[[588,6]]},"319":{"position":[[77,6],[180,8],[190,6],[201,6],[293,8],[314,6],[342,6],[575,7]]},"320":{"position":[[16,6],[181,6],[240,6],[340,9],[440,6],[579,8],[647,6],[1587,8],[1872,7]]},"351":{"position":[[194,7]]},"407":{"position":[[166,8]]},"501":{"position":[[163,8]]},"507":{"position":[[85,7]]},"574":{"position":[[25,6],[247,7]]},"575":{"position":[[152,6]]},"576":{"position":[[242,7],[382,7],[413,7]]},"578":{"position":[[33,6],[52,7]]},"580":{"position":[[11,6],[33,7],[133,7]]},"581":{"position":[[11,6],[36,7],[94,7],[310,7],[397,7],[457,7],[489,7],[571,7]]},"582":{"position":[[11,6],[52,6],[126,7],[335,6],[425,8],[480,7],[562,7]]},"583":{"position":[[10,6]]},"584":{"position":[[10,6]]},"585":{"position":[[10,6]]},"586":{"position":[[10,6]]},"587":{"position":[[55,6]]},"588":{"position":[[49,6]]},"589":{"position":[[60,6]]},"591":{"position":[[11,6],[55,6],[94,7],[310,7],[397,7],[457,7],[489,7],[645,7]]},"592":{"position":[[8,6],[144,7],[230,8],[275,6],[347,6],[438,6],[493,6],[516,6],[539,6],[564,6],[618,6]]},"593":{"position":[[10,7],[45,7],[103,6],[121,7]]},"594":{"position":[[12,7],[106,7],[133,7],[195,7],[216,6],[310,7]]},"595":{"position":[[12,7],[85,6],[285,7]]},"596":{"position":[[12,7],[65,6],[158,7]]},"597":{"position":[[12,7],[89,6],[243,7]]},"598":{"position":[[12,7],[66,6],[204,7]]},"599":{"position":[[12,7],[74,6],[265,7]]},"600":{"position":[[49,7]]},"601":{"position":[[51,7]]},"602":{"position":[[153,6],[187,6]]},"603":{"position":[[14,7]]},"604":{"position":[[47,7],[127,7]]},"607":{"position":[[39,7]]},"608":{"position":[[13,7],[97,7],[243,7]]},"609":{"position":[[206,6],[256,6]]},"610":{"position":[[206,6],[256,6]]},"616":{"position":[[69,7]]},"617":{"position":[[72,7]]},"618":{"position":[[68,7]]},"636":{"position":[[15,7],[80,8],[150,7]]},"637":{"position":[[218,8],[248,7]]},"645":{"position":[[10,7]]},"646":{"position":[[8,6],[36,7],[56,7],[97,7]]}},"keywords":{}}],["widgetname_widget.rb",{"_index":4595,"title":{},"content":{"576":{"position":[[135,20]]}},"keywords":{}}],["widgetnamewidget",{"_index":4596,"title":{},"content":{"576":{"position":[[192,17]]}},"keywords":{}}],["width",{"_index":4269,"title":{"583":{"position":[[0,6]]}},"content":{"524":{"position":[[579,5],[633,5]]},"577":{"position":[[229,5]]},"583":{"position":[[17,5],[24,5],[129,5],[242,5],[292,5]]},"590":{"position":[[105,6]]},"602":{"position":[[134,5],[140,5]]},"607":{"position":[[84,5]]},"609":{"position":[[187,5],[193,5]]},"610":{"position":[[187,5],[193,5]]},"612":{"position":[[287,5],[293,5]]},"613":{"position":[[351,5],[357,5]]},"618":{"position":[[699,5],[705,5]]},"619":{"position":[[595,5],[601,5]]},"620":{"position":[[324,5],[330,5]]},"621":{"position":[[322,5],[328,5]]},"625":{"position":[[668,5],[674,5]]},"626":{"position":[[2027,5]]},"627":{"position":[[2080,5]]},"628":{"position":[[2052,5]]},"630":{"position":[[359,5],[365,5]]},"631":{"position":[[584,5],[590,5]]},"634":{"position":[[167,5],[173,5]]},"643":{"position":[[100,5]]},"646":{"position":[[232,5]]},"650":{"position":[[777,5],[783,5]]},"651":{"position":[[371,5],[377,5]]},"652":{"position":[[549,5],[555,5]]}},"keywords":{}}],["wifi",{"_index":3953,"title":{},"content":{"404":{"position":[[987,4],[1186,4]]}},"keywords":{}}],["wiget",{"_index":4612,"title":{},"content":{"582":{"position":[[442,5]]}},"keywords":{}}],["win64",{"_index":1611,"title":{},"content":{"83":{"position":[[1145,6]]}},"keywords":{}}],["window",{"_index":918,"title":{"196":{"position":[[0,7]]},"506":{"position":[[7,6]]},"524":{"position":[[6,6]]}},"content":{"42":{"position":[[588,7]]},"43":{"position":[[1218,6]]},"44":{"position":[[898,8]]},"83":{"position":[[1127,8]]},"106":{"position":[[693,9]]},"111":{"position":[[96,7]]},"196":{"position":[[48,6]]},"330":{"position":[[235,7],[475,7],[531,7],[578,7],[701,7],[725,7],[1322,7]]},"332":{"position":[[1346,8],[1355,7]]},"333":{"position":[[114,7],[361,10]]},"339":{"position":[[411,7]]},"358":{"position":[[161,7]]},"369":{"position":[[196,7],[831,7],[1079,7],[1106,7],[2570,7],[2597,7],[4245,7],[4263,7],[4492,7]]},"371":{"position":[[159,7]]},"404":{"position":[[1880,6],[1969,8],[2046,7]]},"497":{"position":[[500,6]]},"506":{"position":[[45,6],[442,7],[733,7]]},"511":{"position":[[185,6]]},"514":{"position":[[374,6]]},"515":{"position":[[402,6]]},"522":{"position":[[254,7],[465,6]]},"524":{"position":[[44,6],[261,6],[600,7],[783,7]]},"571":{"position":[[432,8]]},"574":{"position":[[212,6]]},"599":{"position":[[204,6]]}},"keywords":{}}],["window.openc3scop",{"_index":3882,"title":{},"content":{"402":{"position":[[2656,19],[3659,19]]}},"keywords":{}}],["winver",{"_index":3017,"title":{},"content":{"330":{"position":[[611,6]]}},"keywords":{}}],["wish",{"_index":113,"title":{},"content":{"3":{"position":[[475,4]]},"716":{"position":[[282,6]]}},"keywords":{}}],["with_unit",{"_index":3221,"title":{},"content":{"353":{"position":[[564,11]]},"402":{"position":[[3206,11],[4124,11]]},"609":{"position":[[534,10],[677,10]]},"610":{"position":[[721,10]]},"611":{"position":[[706,10]]},"612":{"position":[[270,10]]},"613":{"position":[[518,10]]},"614":{"position":[[291,10]]},"615":{"position":[[437,10]]},"616":{"position":[[311,10]]},"617":{"position":[[314,10]]},"618":{"position":[[588,10]]},"619":{"position":[[578,10]]},"620":{"position":[[307,10]]},"621":{"position":[[305,10]]},"622":{"position":[[291,10]]},"623":{"position":[[280,10]]},"624":{"position":[[283,10]]},"625":{"position":[[557,10]]},"630":{"position":[[528,10]]},"631":{"position":[[567,10]]},"635":{"position":[[519,10]]},"648":{"position":[[552,10],[710,10]]},"650":{"position":[[482,10]]},"652":{"position":[[710,10]]},"693":{"position":[[594,11]]},"701":{"position":[[505,10]]},"703":{"position":[[572,10]]},"710":{"position":[[631,10]]},"711":{"position":[[516,10]]},"712":{"position":[[510,10]]},"713":{"position":[[328,10]]},"714":{"position":[[1816,13]]},"722":{"position":[[1361,10]]},"723":{"position":[[1128,10]]},"726":{"position":[[973,10]]},"727":{"position":[[1024,10]]}},"keywords":{}}],["within",{"_index":643,"title":{},"content":{"35":{"position":[[116,6]]},"37":{"position":[[116,6]]},"48":{"position":[[4858,6]]},"54":{"position":[[902,6]]},"61":{"position":[[699,6],[812,6],[1187,6]]},"67":{"position":[[1610,6]]},"123":{"position":[[61,6]]},"196":{"position":[[220,6]]},"228":{"position":[[133,6]]},"230":{"position":[[133,6]]},"231":{"position":[[356,6]]},"232":{"position":[[356,6]]},"233":{"position":[[150,6]]},"234":{"position":[[150,6]]},"271":{"position":[[1034,6]]},"278":{"position":[[136,6]]},"279":{"position":[[8631,6]]},"280":{"position":[[136,6]]},"281":{"position":[[306,6]]},"282":{"position":[[136,6]]},"283":{"position":[[153,6]]},"284":{"position":[[153,6]]},"358":{"position":[[2125,6]]},"455":{"position":[[656,6]]},"473":{"position":[[234,6],[522,6]]},"526":{"position":[[104,6]]},"534":{"position":[[843,6]]},"549":{"position":[[101,6]]},"565":{"position":[[447,6]]},"594":{"position":[[170,6]]},"595":{"position":[[222,6]]},"597":{"position":[[180,6]]},"602":{"position":[[34,6]]},"620":{"position":[[34,6]]},"621":{"position":[[34,6]]},"646":{"position":[[81,6]]},"723":{"position":[[120,6]]},"727":{"position":[[114,6]]},"779":{"position":[[85,6]]},"780":{"position":[[308,6]]},"781":{"position":[[225,6]]},"783":{"position":[[238,6]]},"785":{"position":[[278,6]]},"786":{"position":[[373,6]]},"787":{"position":[[429,6]]},"810":{"position":[[100,6]]}},"keywords":{}}],["without",{"_index":302,"title":{},"content":{"9":{"position":[[451,7],[631,7]]},"20":{"position":[[1185,7]]},"102":{"position":[[248,7]]},"196":{"position":[[119,7]]},"200":{"position":[[130,7]]},"209":{"position":[[414,7]]},"281":{"position":[[81,7]]},"289":{"position":[[170,7]]},"309":{"position":[[306,7]]},"317":{"position":[[35,7]]},"349":{"position":[[4350,7],[5902,8],[6069,8],[6217,8],[6347,8],[6509,8],[6893,8]]},"358":{"position":[[5681,7]]},"386":{"position":[[421,7]]},"387":{"position":[[1079,7]]},"390":{"position":[[485,7],[731,7]]},"393":{"position":[[710,7]]},"422":{"position":[[144,7]]},"424":{"position":[[1193,7]]},"432":{"position":[[54,7],[1082,7]]},"472":{"position":[[408,7]]},"506":{"position":[[650,7]]},"513":{"position":[[363,7]]},"524":{"position":[[950,7]]},"535":{"position":[[290,7]]},"547":{"position":[[92,7]]},"548":{"position":[[194,7]]},"551":{"position":[[464,7]]},"556":{"position":[[93,7],[350,7],[779,7]]},"560":{"position":[[88,7]]},"569":{"position":[[688,7]]},"572":{"position":[[377,7]]},"576":{"position":[[277,7]]},"678":{"position":[[27,7]]},"679":{"position":[[27,7]]},"680":{"position":[[27,7]]},"681":{"position":[[27,7]]},"682":{"position":[[27,7]]},"683":{"position":[[27,7]]},"684":{"position":[[27,7]]},"799":{"position":[[248,7]]}},"keywords":{}}],["wizard",{"_index":101,"title":{},"content":{"3":{"position":[[282,7]]}},"keywords":{}}],["won't",{"_index":2206,"title":{},"content":{"209":{"position":[[496,5]]},"271":{"position":[[1596,5]]}},"keywords":{}}],["wonder",{"_index":4458,"title":{},"content":{"551":{"position":[[343,9]]}},"keywords":{}}],["word",{"_index":711,"title":{},"content":{"36":{"position":[[2878,4]]},"55":{"position":[[1587,6]]},"67":{"position":[[1775,4]]},"229":{"position":[[2878,4]]},"279":{"position":[[2090,4]]},"314":{"position":[[838,4]]},"610":{"position":[[372,4],[397,4],[422,5],[446,5]]}},"keywords":{}}],["work",{"_index":307,"title":{"371":{"position":[[0,7]]}},"content":{"9":{"position":[[783,4]]},"24":{"position":[[515,4]]},"61":{"position":[[210,5]]},"67":{"position":[[1568,5],[3556,5]]},"143":{"position":[[24,7],[44,7],[263,7]]},"181":{"position":[[9,7],[28,7],[247,7]]},"209":{"position":[[502,5]]},"271":{"position":[[1602,5]]},"309":{"position":[[669,4],[724,4]]},"321":{"position":[[137,4]]},"332":{"position":[[39,4],[783,4]]},"358":{"position":[[410,7]]},"386":{"position":[[40,4]]},"389":{"position":[[1676,5]]},"390":{"position":[[310,4],[1263,4]]},"393":{"position":[[287,4]]},"404":{"position":[[2078,4]]},"439":{"position":[[182,5]]},"528":{"position":[[653,5]]},"542":{"position":[[143,6],[1016,6]]},"551":{"position":[[160,4]]},"569":{"position":[[1175,5]]}},"keywords":{}}],["work_dir",{"_index":2068,"title":{"143":{"position":[[0,9]]},"181":{"position":[[0,9]]}},"content":{"143":{"position":[[463,8]]},"181":{"position":[[483,8]]}},"keywords":{}}],["workaround",{"_index":2841,"title":{},"content":{"309":{"position":[[812,11]]},"332":{"position":[[969,10]]}},"keywords":{}}],["workdir",{"_index":3584,"title":{},"content":{"376":{"position":[[379,7],[652,7]]}},"keywords":{}}],["worker",{"_index":4151,"title":{},"content":{"455":{"position":[[1332,7],[1587,6]]}},"keywords":{}}],["workflow",{"_index":3714,"title":{"386":{"position":[[0,9]]}},"content":{},"keywords":{}}],["workspac",{"_index":909,"title":{},"content":{"42":{"position":[[241,9]]}},"keywords":{}}],["world",{"_index":3734,"title":{},"content":{"387":{"position":[[1029,5]]},"389":{"position":[[531,6]]}},"keywords":{}}],["worri",{"_index":3260,"title":{},"content":{"358":{"position":[[3457,5]]},"387":{"position":[[922,5]]},"556":{"position":[[797,5]]}},"keywords":{}}],["worth",{"_index":1384,"title":{},"content":{"67":{"position":[[2187,5]]},"440":{"position":[[634,5]]}},"keywords":{}}],["wrap",{"_index":4515,"title":{},"content":{"560":{"position":[[364,7]]}},"keywords":{}}],["wrappergroup",{"_index":5714,"title":{},"content":{"795":{"position":[[1189,12]]}},"keywords":{}}],["wrappergroup(group",{"_index":5719,"title":{},"content":{"795":{"position":[[1733,20]]}},"keywords":{}}],["write",{"_index":209,"title":{"537":{"position":[[7,7]]}},"content":{"6":{"position":[[308,5]]},"20":{"position":[[1264,5],[1395,5]]},"36":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7784,5],[8464,5],[8557,5],[8640,5],[8699,5],[9611,5],[9662,7],[9746,5],[9801,7],[10203,5]]},"48":{"position":[[1450,7],[1642,7]]},"50":{"position":[[974,6],[1058,5]]},"52":{"position":[[879,5],[941,6]]},"56":{"position":[[516,5],[528,7]]},"57":{"position":[[600,5]]},"61":{"position":[[1329,5],[1341,7]]},"67":{"position":[[800,7],[1651,5],[3541,7],[3626,5],[3775,7],[3855,5],[3895,5],[4079,5],[4317,5],[4497,5],[5022,7]]},"77":{"position":[[590,7]]},"88":{"position":[[389,7]]},"102":{"position":[[43,7]]},"104":{"position":[[287,5],[306,5],[467,5],[518,5],[534,5],[594,5]]},"105":{"position":[[294,5],[405,5],[421,5],[481,5]]},"106":{"position":[[200,5],[331,5],[703,5],[763,5]]},"107":{"position":[[310,5],[398,5],[458,6],[493,6]]},"108":{"position":[[267,5]]},"110":{"position":[[664,5],[688,5],[864,5],[1720,5],[1942,5]]},"111":{"position":[[275,6],[338,8],[495,5],[613,5],[673,5]]},"115":{"position":[[747,5]]},"138":{"position":[[518,5]]},"139":{"position":[[102,6],[187,5],[285,8],[495,6]]},"213":{"position":[[63,7]]},"217":{"position":[[158,7]]},"223":{"position":[[39,5]]},"225":{"position":[[1273,6]]},"229":{"position":[[3998,7],[4467,5],[4560,5],[4643,5],[4702,5],[7784,5],[8464,5],[8557,5],[8640,5],[8699,5],[9611,5],[9662,7],[9746,5],[9801,7],[10203,5]]},"237":{"position":[[156,7]]},"242":{"position":[[52,5]]},"269":{"position":[[215,5]]},"290":{"position":[[225,7]]},"291":{"position":[[52,5]]},"314":{"position":[[436,5],[679,5]]},"342":{"position":[[748,5]]},"349":{"position":[[2952,5]]},"358":{"position":[[7801,7],[7845,5]]},"404":{"position":[[367,5]]},"468":{"position":[[500,7]]},"528":{"position":[[904,7]]},"539":{"position":[[42,7]]},"540":{"position":[[96,7],[1099,7]]},"542":{"position":[[871,5]]},"560":{"position":[[46,5]]},"563":{"position":[[6,7]]},"657":{"position":[[284,7]]},"658":{"position":[[1023,7],[1057,7]]},"670":{"position":[[1,6]]},"673":{"position":[[316,5]]},"685":{"position":[[324,5]]},"699":{"position":[[712,5]]},"759":{"position":[[532,5],[570,6]]},"769":{"position":[[536,5],[574,6]]}},"keywords":{}}],["write_convers",{"_index":740,"title":{},"content":{"36":{"position":[[3953,17],[5416,16],[5751,16],[9100,16],[9126,16]]},"229":{"position":[[3953,17],[5416,16],[5751,16],[9100,16],[9126,16]]}},"keywords":{}}],["write_data",{"_index":1403,"title":{"76":{"position":[[0,11]]}},"content":{"67":{"position":[[4458,12],[4703,12]]},"76":{"position":[[5,10]]}},"keywords":{}}],["write_data(data",{"_index":1453,"title":{},"content":{"76":{"position":[[675,16]]}},"keywords":{}}],["write_data(self",{"_index":1454,"title":{},"content":{"76":{"position":[[749,16]]}},"keywords":{}}],["write_dest_port",{"_index":3609,"title":{},"content":{"378":{"position":[[914,15]]}},"keywords":{}}],["write_interfac",{"_index":1405,"title":{},"content":{"67":{"position":[[4775,17]]},"115":{"position":[[1352,18],[1986,15]]}},"keywords":{}}],["write_packet",{"_index":1399,"title":{"75":{"position":[[0,13]]}},"content":{"67":{"position":[[3956,14],[4334,14]]},"75":{"position":[[5,12]]},"77":{"position":[[325,14]]}},"keywords":{}}],["write_packet(packet",{"_index":1451,"title":{},"content":{"75":{"position":[[678,20]]}},"keywords":{}}],["write_packet(self",{"_index":1452,"title":{},"content":{"75":{"position":[[758,18]]}},"keywords":{}}],["write_port_nam",{"_index":2917,"title":{},"content":{"314":{"position":[[468,15],[1201,15]]}},"keywords":{}}],["write_src_port",{"_index":3611,"title":{},"content":{"378":{"position":[[940,14]]}},"keywords":{}}],["write_timeout",{"_index":2921,"title":{},"content":{"314":{"position":[[702,13],[1324,13]]},"378":{"position":[[977,13]]}},"keywords":{}}],["writer",{"_index":4336,"title":{},"content":{"540":{"position":[[1013,6]]}},"keywords":{}}],["writeup",{"_index":3830,"title":{},"content":{"393":{"position":[[1297,7]]}},"keywords":{}}],["written",{"_index":751,"title":{},"content":{"36":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6256,7],[6887,7],[7951,7],[8126,7],[8544,7],[8625,7],[8799,8],[10168,8]]},"53":{"position":[[474,7]]},"67":{"position":[[4123,7],[4736,7],[4926,7]]},"75":{"position":[[338,7]]},"76":{"position":[[83,7],[337,7]]},"77":{"position":[[63,7],[371,7]]},"115":{"position":[[1466,7],[1506,8]]},"229":{"position":[[4408,7],[4547,7],[4628,7],[4802,8],[6256,7],[6887,7],[7951,7],[8126,7],[8544,7],[8625,7],[8799,8],[10168,8]]},"264":{"position":[[24,7]]},"269":{"position":[[122,7]]},"343":{"position":[[1252,7],[1498,7]]},"349":{"position":[[2857,7]]},"538":{"position":[[234,7]]},"544":{"position":[[33,7]]},"657":{"position":[[194,7]]}},"keywords":{}}],["wrong",{"_index":4552,"title":{"567":{"position":[[15,6]]}},"content":{"565":{"position":[[173,6]]},"566":{"position":[[112,6]]}},"keywords":{}}],["wsl",{"_index":3534,"title":{},"content":{"369":{"position":[[4300,3]]}},"keywords":{}}],["wsl2",{"_index":3013,"title":{},"content":{"330":{"position":[[488,5],[494,4],[868,6]]}},"keywords":{}}],["wslconfig",{"_index":3438,"title":{},"content":{"369":{"position":[[881,10]]}},"keywords":{}}],["wslg",{"_index":3538,"title":{},"content":{"369":{"position":[[4347,4]]}},"keywords":{}}],["wtc",{"_index":1257,"title":{},"content":{"57":{"position":[[554,3],[594,3]]}},"keywords":{}}],["www",{"_index":1523,"title":{},"content":{"82":{"position":[[457,3]]},"85":{"position":[[208,3]]}},"keywords":{}}],["x",{"_index":790,"title":{},"content":{"36":{"position":[[6469,3],[7265,3]]},"81":{"position":[[491,1],[735,1],[786,1]]},"82":{"position":[[588,1],[1163,1],[1195,1],[1223,1],[6244,1],[6476,1],[6527,1]]},"83":{"position":[[797,1],[2571,1]]},"229":{"position":[[6469,3],[7265,3]]},"253":{"position":[[2398,3],[2439,1],[2482,1]]},"279":{"position":[[5008,3],[5866,3]]},"309":{"position":[[1879,2]]},"473":{"position":[[726,3],[909,3]]},"506":{"position":[[768,1]]},"524":{"position":[[995,1]]},"551":{"position":[[1008,1],[1482,1]]},"552":{"position":[[2488,1]]},"647":{"position":[[70,1]]},"648":{"position":[[205,1],[216,1]]},"649":{"position":[[172,1],[183,1]]},"650":{"position":[[613,1],[624,1],[1452,1],[1463,1]]},"651":{"position":[[67,1],[78,1],[209,1],[220,1]]},"652":{"position":[[275,1],[286,1],[417,1],[428,1]]},"653":{"position":[[71,1]]},"677":{"position":[[909,2],[1024,2]]},"678":{"position":[[1131,2],[1246,2]]},"679":{"position":[[1152,2],[1267,2]]},"680":{"position":[[1185,2],[1300,2]]},"681":{"position":[[985,2],[1100,2]]},"682":{"position":[[1202,2],[1317,2]]},"683":{"position":[[1223,2],[1338,2]]},"684":{"position":[[1256,2],[1371,2]]},"685":{"position":[[417,1],[492,1],[976,1]]},"780":{"position":[[336,1],[347,1]]},"787":{"position":[[509,1],[520,1],[682,2]]},"793":{"position":[[683,1]]}},"keywords":{}}],["x.509",{"_index":450,"title":{},"content":{"20":{"position":[[981,5]]}},"keywords":{}}],["x.x.x",{"_index":2757,"title":{},"content":{"301":{"position":[[1352,5]]}},"keywords":{}}],["x.y.z",{"_index":3701,"title":{},"content":{"382":{"position":[[861,7],[903,7],[961,7]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00",{"_index":5105,"title":{},"content":{"685":{"position":[[1316,31]]}},"keywords":{}}],["x00\\x00\\xab\\x00\\x00\\x00\\x00"",{"_index":5100,"title":{},"content":{"685":{"position":[[921,35]]}},"keywords":{}}],["x509",{"_index":412,"title":{},"content":{"20":{"position":[[347,4]]},"25":{"position":[[44,4]]}},"keywords":{}}],["x64",{"_index":1612,"title":{},"content":{"83":{"position":[[1152,4]]}},"keywords":{}}],["x86_64",{"_index":2859,"title":{},"content":{"309":{"position":[[1790,6]]}},"keywords":{}}],["xml",{"_index":2297,"title":{"220":{"position":[[0,3]]}},"content":{"217":{"position":[[300,3]]},"220":{"position":[[5,3],[87,3],[185,3],[298,3],[353,3],[1372,3],[1464,3],[1521,3]]}},"keywords":{}}],["xmlaccessor",{"_index":2295,"title":{},"content":{"217":{"position":[[232,11]]},"220":{"position":[[417,11],[1587,11]]}},"keywords":{}}],["xmlcmd",{"_index":2356,"title":{},"content":{"220":{"position":[[357,6]]}},"keywords":{}}],["xmltlm",{"_index":2366,"title":{},"content":{"220":{"position":[[1525,6]]}},"keywords":{}}],["xor",{"_index":1352,"title":{},"content":{"65":{"position":[[998,3],[1013,3]]}},"keywords":{}}],["xpath",{"_index":688,"title":{},"content":{"36":{"position":[[1423,5]]},"215":{"position":[[272,6],[704,6]]},"216":{"position":[[241,5],[669,5]]},"217":{"position":[[2790,5]]},"220":{"position":[[337,6],[1503,6]]},"229":{"position":[[1423,5]]},"279":{"position":[[1418,5]]}},"keywords":{}}],["xss",{"_index":1548,"title":{},"content":{"82":{"position":[[1225,3]]}},"keywords":{}}],["xtce",{"_index":3834,"title":{"394":{"position":[[0,4]]},"395":{"position":[[24,5]]},"396":{"position":[[13,5]]},"397":{"position":[[37,5]]}},"content":{"395":{"position":[[10,5],[191,5]]},"396":{"position":[[40,5]]},"397":{"position":[[62,5],[105,5]]},"398":{"position":[[286,5]]}},"keywords":{}}],["xtce_convert",{"_index":3835,"title":{},"content":{"396":{"position":[[201,14]]},"397":{"position":[[200,14]]}},"keywords":{}}],["xusp",{"_index":3858,"title":{},"content":{"401":{"position":[[264,4]]}},"keywords":{}}],["xx",{"_index":422,"title":{},"content":{"20":{"position":[[482,6]]}},"keywords":{}}],["xxx",{"_index":2306,"title":{},"content":{"217":{"position":[[786,4],[909,4],[1264,4]]},"320":{"position":[[741,3]]}},"keywords":{}}],["y",{"_index":3580,"title":{},"content":{"376":{"position":[[270,1],[310,1]]},"404":{"position":[[2265,1]]},"522":{"position":[[1110,1],[1120,1],[1175,1],[1185,1]]},"551":{"position":[[1005,2],[1012,1],[1471,3],[1486,1]]},"559":{"position":[[519,3],[537,3],[805,3],[823,4]]},"647":{"position":[[137,1],[148,1]]},"648":{"position":[[283,1],[294,1]]},"649":{"position":[[251,1],[262,1]]},"650":{"position":[[692,1],[703,1],[1531,1],[1542,1]]},"651":{"position":[[139,1],[150,1],[277,1],[288,1]]},"652":{"position":[[347,1],[358,1],[485,1],[496,1]]},"653":{"position":[[98,1],[109,1]]},"780":{"position":[[405,1],[416,1]]},"787":{"position":[[578,1],[589,1],[685,1]]}},"keywords":{}}],["y%m%d",{"_index":3327,"title":{},"content":{"362":{"position":[[406,6],[736,6],[1058,6]]}},"keywords":{}}],["y/n)?"",{"_index":4504,"title":{},"content":{"559":{"position":[[492,13],[778,13]]}},"keywords":{}}],["yaml",{"_index":2528,"title":{},"content":{"259":{"position":[[123,4]]}},"keywords":{}}],["yarn",{"_index":914,"title":{},"content":{"42":{"position":[[434,4]]},"43":{"position":[[126,4],[146,4],[307,4],[961,4],[1213,4]]},"208":{"position":[[9,4],[35,4],[183,4]]},"209":{"position":[[251,4],[528,4],[585,4]]},"307":{"position":[[1423,4]]},"320":{"position":[[691,4],[732,4]]}},"keywords":{}}],["ye",{"_index":1211,"title":{},"content":{"54":{"position":[[937,3]]},"56":{"position":[[592,3],[724,3]]},"60":{"position":[[249,3]]},"61":{"position":[[1405,3],[1537,3]]},"66":{"position":[[199,3],[255,3]]},"104":{"position":[[283,3],[405,3],[530,3],[600,3],[703,3]]},"105":{"position":[[343,3],[417,3],[487,3],[590,3]]},"106":{"position":[[196,3],[263,3],[327,3]]},"107":{"position":[[293,3]]},"109":{"position":[[526,3]]},"110":{"position":[[519,3]]},"111":{"position":[[347,3],[459,3],[501,3],[566,3],[609,3],[679,3],[782,3]]},"112":{"position":[[216,3]]},"113":{"position":[[295,3]]},"114":{"position":[[160,3],[179,3]]},"223":{"position":[[267,3],[328,3]]},"404":{"position":[[1595,3]]},"468":{"position":[[405,3]]},"699":{"position":[[578,5],[603,3],[610,5],[663,3],[825,5],[854,5],[863,5]]}},"keywords":{}}],["year",{"_index":459,"title":{},"content":{"20":{"position":[[1123,6]]},"392":{"position":[[18,5]]}},"keywords":{}}],["yearli",{"_index":3794,"title":{},"content":{"391":{"position":[[403,6]]}},"keywords":{}}],["yellow",{"_index":2628,"title":{},"content":{"279":{"position":[[2539,7],[2851,6],[9032,6],[9147,6],[9190,6],[9307,6]]},"299":{"position":[[1124,6]]},"470":{"position":[[137,6]]},"473":{"position":[[95,6],[170,6],[309,6]]},"487":{"position":[[197,7]]},"517":{"position":[[157,7]]},"619":{"position":[[831,6]]},"741":{"position":[[815,6],[826,6],[940,7],[948,6],[960,6],[1073,7]]},"743":{"position":[[74,9]]}},"keywords":{}}],["yes'"",{"_index":5216,"title":{},"content":{"699":{"position":[[541,12],[788,12]]}},"keywords":{}}],["you'll",{"_index":912,"title":{},"content":{"42":{"position":[[406,6]]},"267":{"position":[[212,6]]},"319":{"position":[[154,6]]},"320":{"position":[[1560,6]]},"324":{"position":[[255,6]]},"385":{"position":[[41,6]]},"404":{"position":[[193,6]]},"533":{"position":[[248,6]]},"543":{"position":[[263,6]]},"637":{"position":[[579,6]]}},"keywords":{}}],["you'r",{"_index":956,"title":{},"content":{"42":{"position":[[1623,6]]},"67":{"position":[[3724,6],[3783,6]]},"109":{"position":[[595,6]]},"110":{"position":[[588,6]]},"216":{"position":[[625,6]]},"217":{"position":[[2746,6]]},"330":{"position":[[4,6],[225,6]]},"331":{"position":[[282,6]]},"358":{"position":[[403,6],[1824,6]]},"385":{"position":[[149,6]]},"412":{"position":[[134,6]]},"441":{"position":[[221,6]]},"443":{"position":[[162,6]]},"568":{"position":[[847,6]]}},"keywords":{}}],["you'v",{"_index":4002,"title":{},"content":{"421":{"position":[[307,6]]},"483":{"position":[[6,6]]}},"keywords":{}}],["yourfile.pfx",{"_index":577,"title":{},"content":{"27":{"position":[[285,14],[714,14]]}},"keywords":{}}],["yourself",{"_index":1595,"title":{"544":{"position":[[30,10]]}},"content":{"83":{"position":[[372,8]]},"138":{"position":[[275,8]]},"392":{"position":[[90,9]]},"543":{"position":[[161,8],[276,8]]}},"keywords":{}}],["yourusername@cosmos.localon",{"_index":3969,"title":{},"content":{"404":{"position":[[1941,27]]}},"keywords":{}}],["yum",{"_index":2855,"title":{},"content":{"309":{"position":[[1645,3],[1661,3]]}},"keywords":{}}],["yyyy/mm/dd",{"_index":2611,"title":{},"content":{"275":{"position":[[833,10]]},"626":{"position":[[1397,11]]},"627":{"position":[[1450,11]]},"628":{"position":[[1422,11]]}},"keywords":{}}],["z",{"_index":1672,"title":{},"content":{"83":{"position":[[3480,1]]},"310":{"position":[[608,2]]},"506":{"position":[[427,1]]}},"keywords":{}}],["zero",{"_index":648,"title":{},"content":{"35":{"position":[[383,4]]},"37":{"position":[[176,4]]},"51":{"position":[[286,4],[424,4],[450,4],[472,4]]},"125":{"position":[[308,4]]},"228":{"position":[[412,4]]},"230":{"position":[[195,4]]},"231":{"position":[[582,4]]},"232":{"position":[[418,4]]},"233":{"position":[[587,4]]},"234":{"position":[[370,4]]},"278":{"position":[[410,4]]},"280":{"position":[[202,4]]},"281":{"position":[[533,4]]},"282":{"position":[[202,4]]},"283":{"position":[[580,4]]},"284":{"position":[[372,4]]},"289":{"position":[[241,5]]}},"keywords":{}}],["zeromq",{"_index":1795,"title":{},"content":{"96":{"position":[[390,8]]}},"keywords":{}}],["zone",{"_index":3990,"title":{},"content":{"416":{"position":[[168,5]]}},"keywords":{}}],["zonegoto",{"_index":3959,"title":{},"content":{"404":{"position":[[1260,8]]}},"keywords":{}}],["zshrc",{"_index":3068,"title":{},"content":{"333":{"position":[[295,9]]}},"keywords":{}}]],"pipeline":["stemmer"]} \ No newline at end of file diff --git a/docs/markdown-page.html b/docs/markdown-page.html index 99697ce8e0..e12fb50f41 100644 --- a/docs/markdown-page.html +++ b/docs/markdown-page.html @@ -1,14 +1,2 @@ - - - - - -Markdown page example | OpenC3 Docs - - - - -

Markdown page example

-

You don't need React to write simple standalone pages.

- - \ No newline at end of file +Markdown page example | OpenC3 Docs

Markdown page example

+

You don't need React to write simple standalone pages.

\ No newline at end of file diff --git a/docs/search-doc-1731457472213.json b/docs/search-doc-1731457472213.json deleted file mode 100644 index d2faae42f8..0000000000 --- a/docs/search-doc-1731457472213.json +++ /dev/null @@ -1 +0,0 @@ -{"searchDocs":[{"title":"Introduction","type":0,"sectionRef":"#","url":"/docs","content":"","keywords":"","version":"Next"},{"title":"So what is COSMOS, exactly?​","type":1,"pageTitle":"Introduction","url":"/docs#so-what-is-cosmos-exactly","content":" COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be anything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to development boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites. ","version":"Next","tagName":"h2"},{"title":"COSMOS Architecture​","type":1,"pageTitle":"Introduction","url":"/docs#cosmos-architecture","content":" COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. Keep reading for an in-depth discussion of each of the COSMOS Tools. ","version":"Next","tagName":"h3"},{"title":"Helpful Hints​","type":1,"pageTitle":"Introduction","url":"/docs#helpful-hints","content":" Throughout this guide there are a number of small-but-handy pieces of information that can make using COSMOS easier, more interesting, and less hazardous. Here's what to look out for. ProTips™ help you get more from COSMOS These are tips and tricks that will help you be a COSMOS wizard! Notes are handy pieces of information These are for the extra tidbits sometimes necessary to understand COSMOS. Warnings help you not blow things up Be aware of these messages if you wish to avoid certain death. Find a problem in the documentation or in COSMOS itself? Both using and hacking on COSMOS should be fun, simple, and easy, so if for some reason you find it's a pain, please create an issue on GitHub describing your experience so we can make it better. ","version":"Next","tagName":"h2"},{"title":"File Format","type":0,"sectionRef":"#","url":"/docs/configuration/format","content":"","keywords":"","version":"Next"},{"title":"Keyword / Parameters​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#keyword--parameters","content":" Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example: COMMAND TARGET COLLECT BIG_ENDIAN "Collect command" The keyword is COMMAND and the parameters are TARGET, COLLECT, BIG_ENDIAN, and "Collect command". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the COMMAND keyword above has the following documentation: PARAMETER\tDESCRIPTION\tREQUIREDTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse The Target and Command parameters can be any string and are required. The Endianness parameter is required and must be BIG_ENDIAN or LITTLE_ENDIAN. Other values will cause an error when parsed. The Description parameter must be enclosed in quotes and is optional. All the COSMOS configuration files document their keyword and parameters in this fashion. In addition, Example Usage is provided similar to the example given above. ","version":"Next","tagName":"h2"},{"title":"ERB​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#erb","content":" ERB stands for Embedded Ruby. ERB is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB: <% Ruby code -- no output %> <%= Ruby expression -- insert result %> In a COSMOS Telemetry configuration file we could write the following: <% (1..5).each do |i| %> APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting" <% end %> The first line is Ruby code which iterates from 1 up to and including 5 and places the value in the variable i. The code inside the block will be output to the file every time the iteration runs. The APPEND_ITEM line uses the value of i and directly outputs it to the file by using the <%= syntax. The result of the parsing will look like the following: APPEND_ITEM VALUE1 16 UINT "Value 1 setting" APPEND_ITEM VALUE2 16 UINT "Value 2 setting" APPEND_ITEM VALUE3 16 UINT "Value 3 setting" APPEND_ITEM VALUE4 16 UINT "Value 4 setting" APPEND_ITEM VALUE5 16 UINT "Value 5 setting" COSMOS uses ERB syntax extensively in a Plugin's plugin.txt configuration file. ","version":"Next","tagName":"h2"},{"title":"render​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#render","content":" COSMOS provides a method used inside ERB called render which renders a configuration file into another configuration file. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" <%= render "_ccsds_apid.txt", locals: {apid: 1} %> APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows: APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id" This would result in output as follows: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id" APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... Note the variable apid was set to 1 using the locals: syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the Demo for a more comprehensive example. ","version":"Next","tagName":"h3"},{"title":"Line Continuation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#line-continuation","content":" COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: &. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN & "Health and status" This will strip the ampersand character and merge the two lines to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" Spaces around the second line are stripped so indentation does not matter. ","version":"Next","tagName":"h2"},{"title":"String Concatenation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#string-concatenation","content":" COSMOS supports two different string concatenation characters in configuration files. To concatenate strings with a newline use the plus character: +. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" + "Additional description" The strings will be merged with a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\\nAdditional description" To concatenate strings without a newline use the backslash character: \\. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \\ 'Additional description' The strings will be merged without a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description' The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped. ","version":"Next","tagName":"h2"},{"title":"target.txt Keywords","type":0,"sectionRef":"#","url":"/docs/configuration/target","content":"","keywords":"","version":"Next"},{"title":"LANGUAGE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#language","content":" (Since 5.11.1) Programming language of the target interfaces and microservices The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating. Parameter\tDescription\tRequired\tRuby or Python Valid Values: ruby, python\tTrue Example Usage: LANGUAGE python ","version":"Next","tagName":"h2"},{"title":"REQUIRE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#require","content":" Requires a Ruby file List the Ruby files required to explicitly declare dependencies. This is now completely optional. Parameter\tDescription\tRequiredFilename\tFilename to require. For files in the target's lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.\tTrue Example Usage: REQUIRE limits_response.rb ","version":"Next","tagName":"h2"},{"title":"IGNORE_PARAMETER​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_parameter","content":" Ignore the given command parameter Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter. Parameter\tDescription\tRequiredParameter Name\tThe name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in.\tTrue Example Usage: IGNORE_PARAMETER CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"IGNORE_ITEM​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_item","content":" Ignore the given telemetry item Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet. Parameter\tDescription\tRequiredItem name\tThe name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in.\tTrue Example Usage: IGNORE_ITEM CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"COMMANDS​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#commands","content":" Process the given command definition file This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process. Parameter\tDescription\tRequiredFilename\tName of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"TELEMETRY​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#telemetry","content":" Process the given telemetry definition file This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process. Parameter\tDescription\tRequiredFilename\tName of a telemetry definition file in the target's cmd_tlm directory, e.g. "tlm.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"CMD_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#cmd_unique_id_mode","content":" (Since 4.4.0) Command packet identifiers don't all share the same bit offset, size, and type Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"TLM_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#tlm_unique_id_mode","content":" (Since 4.4.0) Telemetry packets identifiers don't all share the same bit offset, size, and type Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"SSL-TLS","type":0,"sectionRef":"#","url":"/docs/configuration/ssl-tls","content":"","keywords":"","version":"Next"},{"title":"Generate the certificate​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#generate-the-certificate","content":" Note: Self-signed certificates are considered insecure for the Internet. Firefox will treat the site as having an invalid certificate, while Chrome will act as if the connection was plain HTTP. To create a new Self-Signed SSL Certificate, use the openssl req command (run on linux from the cosmos-project root): openssl req -newkey rsa:4096 \\ -x509 \\ -sha256 \\ -days 3650 \\ -nodes \\ -out ./openc3-traefik/cert.crt \\ -keyout ./openc3-traefik/cert.key Country Name (2 letter code) [XX]:. State or Province Name (full name) []:. Locality Name (eg, city) [Default City]:. Organization Name (eg, company) [Default Company Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server hostname) []: <!-- UPDATE WITH YOUR HOSTNAME HERE --> Email Address []: Let's breakdown the command and understand what each option means: newkey rsa:4096 - Creates a new certificate request and 4096 bit RSA key. The default one is 2048 bits.x509 - Creates a X.509 Certificate.sha256 - Use 265-bit SHA (Secure Hash Algorithm).days 3650 - The number of days to certify the certificate for. 3650 is ten years. You can use any positive integer.nodes - Creates a key without a passphrase.out ./openc3-traefik/cert.crt - Specifies the filename to write the newly created certificate to. You can specify any file name.keyout ./openc3-traefik/cert.key - Specifies the filename to write the newly created private key to. You can specify any file name. For more information about the openssl req command options, visit the OpenSSL req documentation page. ","version":"Next","tagName":"h3"},{"title":"Updating the openc3-traefik Dockerfile​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-openc3-traefik-dockerfile","content":" Add the new cert to the traefik Docker container. --- a/openc3-traefik/Dockerfile +++ b/openc3-traefik/Dockerfile @@ -1,3 +1,4 @@ FROM traefik:2.4 COPY ./traefik.yaml /etc/traefik/traefik.yaml +COPY ./cert.crt ./cert.key /etc/certs/ EXPOSE 80 ","version":"Next","tagName":"h3"},{"title":"Updating the Traefik config​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-traefik-config","content":" Configure Traefik to use the new cert file. openc3-traefik/traefik.yaml --- a/openc3-traefik/traefik.yaml +++ b/openc3-traefik/traefik.yaml @@ -3,6 +3,17 @@ +tls: + certificates: + - certFile: "/etc/certs/cert.crt" + keyFile: "/etc/certs/cert.key" # Listen for everything coming in on the standard HTTP port entrypoints: web: address: ":2900" + http: + redirections: + entryPoint: + to: websecure + scheme: https + websecure: + address: ":2943" + http: + tls: + domains: + - main: "<!-- UPDATE WITH YOUR HOSTNAME HERE -->" ","version":"Next","tagName":"h3"},{"title":"Update docker-compose.yaml​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#update-docker-composeyaml","content":" Update traefik to use secure port 443 instead of port 80. --- a/compose.yaml +++ b/compose.yaml services: openc3-minio: @@ -70,7 +70,7 @@ services: openc3-traefik: image: "ballaerospace/openc3-traefik:${OPENC3_TAG}" ports: - - "80:2900" + - "443:2943" restart: "unless-stopped" depends_on: Now you can run ./openc3.sh start to rebuild the Traefik container and it should include your new cert file. ","version":"Next","tagName":"h3"},{"title":"Let's Encrypt​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#lets-encrypt","content":" KEY​ privkey.pem is the "key" file Sometimes it is named as cert.key or example.com.key. CRT​ fullchain.pem is your "crt" file. Sometimes it is named as example.com.crt. CRT/KEY Bundle​ bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem HAProxy is the only server that I know of that uses bundle.pem. cert.pem​ cert.pem contains ONLY your certificate, which can only be used by itself if the browser already has the certificate which signed it, which may work in testing (which makes it seem like it may be the right file), but will actually fail for many of your users in production with a security error of untrusted certificate. However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem. chain.pem​ chain.pem is the intermediary signed authority, signed by the root authority - which is what all browsers are guaranteed to have in their pre-built cache. ","version":"Next","tagName":"h2"},{"title":"Checking certs​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#checking-certs","content":" You can inspect the cert like so: openssl x509 -in cert.pem -text -noout ","version":"Next","tagName":"h3"},{"title":"Extracting the certificate and keys from a .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extracting-the-certificate-and-keys-from-a-pfx-file","content":" The .pfx file, which is in a PKCS#12 format, contains the SSL certificate (public keys) and the corresponding private keys. You might have to import the certificate and private keys separately in an unencrypted plain text format to use it on another system. This topic provides instructions on how to convert the .pfx file to .crt and .key files. ","version":"Next","tagName":"h2"},{"title":"Extract .crt and .key files from .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extract-crt-and-key-files-from-pfx-file","content":" PREREQUISITE: Ensure OpenSSL is installed in the server that contains the SSL certificate. Start OpenSSL from the OpenSSL\\bin folder. Open the command prompt and go to the folder that contains your .pfx file. Run the following command to extract the private key: openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key] You will be prompted to type the import password. Type the password that you used to protect your keypair when you created the .pfx file. You will be prompted again to provide a new password to protect the .key file that you are creating. Store the password to your key file in a secure place to avoid misuse. Run the following command to extract the certificate: openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt] Run the following command to decrypt the private key: openssl rsa -in [drlive.key] -out [drlive-decrypted.key] Type the password that you created to protect the private key file in the previous step. The .crt file and the decrypted and encrypted .key files are available in the path, where you started OpenSSL. ","version":"Next","tagName":"h3"},{"title":"Convert .pfx file to .pem format​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#convert-pfx-file-to-pem-format","content":" There might be instances where you might have to convert the .pfx file into .pem format. Run the following command to convert it into PEM format. openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key] ","version":"Next","tagName":"h3"},{"title":"TLS1.2 INADEQUATE_SECURITY Errors​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#tls12-inadequate_security-errors","content":" https://doc.traefik.io/traefik/https/tls/#cipher-suiteshttps://pkg.go.dev/crypto/tls#pkg-constants tls: options: default: cipherSuites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ","version":"Next","tagName":"h2"},{"title":"Tables","type":0,"sectionRef":"#","url":"/docs/configuration/table","content":"","keywords":"","version":"Next"},{"title":"Table Definition Files​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-definition-files","content":" Table definition files define the binary tables that can be displayed in COSMOS Table Manager. Table definitions are defined in the target's tables/config directory and are typically named after the table such as PPSSelectionTable_def.txt. The _def.txt extension helps to identify the file as a table definition. Table definitions can be combined using the TABLEFILE keyword. This allows you to build individual table components into a larger binary. The Table definition files share a lot of similarity with the Command Configuration. You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Table Keywords ","version":"Next","tagName":"h2"},{"title":"TABLEFILE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#tablefile","content":" Specify another file to open and process for table definitions Parameter\tDescription\tRequiredFile Name\tName of the file. The file will be looked for in the directory of the current definition file.\tTrue ","version":"Next","tagName":"h2"},{"title":"TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table","content":" Start a new table definition Parameter\tDescription\tRequiredName\tName of the table in quotes. The name will appear on the GUI tab.\tTrue Endianness\tIndicates if the data in this table is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Display\tIndicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values. Valid Values: KEY_VALUE, ROW_COLUMN\tFalse When Display is KEY_VALUE the remaining parameters are: Parameter\tDescription\tRequiredDescription\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse When Display is ROW_COLUMN the remaining parameters are: Parameter\tDescription\tRequiredRows\tThe number of rows in the table\tFalse Description\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse ","version":"Next","tagName":"h2"},{"title":"TABLE Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-modifiers","content":" The following keywords must follow a TABLE keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Offset\tBit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JsonPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE HIDDEN​ Indicates that the parameter should not be shown to the user in the Table Manager GUI Hidden parameters still exist and will be saved to the resulting binary. This is useful for padding and other essential but non-user editable fields. UNEDITABLE​ Indicates that the parameter should be shown to the user but not editable. Uneditable parameters are useful for control fields which the user may be interested in but should not be able to edit. ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#append_parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"SELECT_TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#select_table","content":" Select an existing table for editing, typically done to override an existing definition Parameter\tDescription\tRequiredTable\tThe name of the existing table\tTrue ","version":"Next","tagName":"h2"},{"title":"DEFAULT​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#default","content":" Specify default values for a SINGLE row in a multi-column table If you have multiple rows you need a DEFAULT line for each row. If all your rows are identical consider using ERB as shown in the OpenC3 demo. Parameter\tDescription\tRequiredDefault values\tA STATE value or data value corresponding to the data type\tFalse ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#example-file","content":" Example File: TARGET/tables/config/MCConfigurationTable_def.txt TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table" APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets" APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1 STATE DISABLE 0 STATE ENABLE 1 APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3 APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field" FORMAT_STRING "0x%0X" UNEDITABLE APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field" STATE DISABLE 0 STATE ENABLE 1 UNEDITABLE APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field" STATE UNCHECKED 0 STATE CHECKED 1 UNEDITABLE APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string" APPEND_PARAMETER "Pad" 16 UINT 0 0 0 HIDDEN ","version":"Next","tagName":"h2"},{"title":"Testing with Curl","type":0,"sectionRef":"#","url":"/docs/development/curl","content":"","keywords":"","version":"Next"},{"title":"Curl Example with OpenC3 COSMOS Open Source​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-open-source","content":" OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this. Request: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Length: 51 Content-Type: application/json-rpc Etag: W/"e806aacfdbed0b325e7a5928e3bb5cf4" Vary: Origin X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939 X-Runtime: 0.059044 Date: Sat, 04 Nov 2023 21:34:47 GMT {"jsonrpc":"2.0","id":8,"result":53.26555000000001} ","version":"Next","tagName":"h2"},{"title":"Curl Example with OpenC3 COSMOS Enterprise​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-enterprise","content":" OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request. Keycloak Request: # Get tokens from Keycloak - You will need to update the username and password with your account curl -i -H "Content-Type: application/x-www-form-urlencoded" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token Keycloak Response: HTTP/1.1 200 OK Cache-Control: no-store Content-Length: 3207 Content-Type: application/json Pragma: no-cache Referrer-Policy: no-referrer Set-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block Date: Wed, 10 May 2023 00:40:40 GMT {"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"} COSMOS Request: # COSMOS Request now looks like this: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api COSMOS Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Type: application/json-rpc Etag: W/"1e44c0878528687014e1e60a1cbebdae" Vary: Origin X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c X-Runtime: 0.046477 Date: Wed, 10 May 2023 00:41:33 GMT Transfer-Encoding: chunked {"jsonrpc":"2.0","id":8,"result":29.204100000000007} ","version":"Next","tagName":"h2"},{"title":"Suite Runner Example​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#suite-runner-example","content":" It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser: You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as curl" (depends on the browser). Here is an example of the second one: curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \\ -X 'POST' \\ -H 'Accept: application/json' \\ -H 'Accept-Language: en-US,en;q=0.9' \\ -H 'Authorization: pass' \\ -H 'Connection: keep-alive' \\ -H 'Content-Length: 0' \\ -H 'Origin: http://ascportal:2900' \\ -H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \\ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \\ --insecure Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case POST). If we inspect all of these we'll find out what each one does: Set the script contents this updates any local changes)Note that this is a different request to GET the script contents. This is done on the page load. Lock the script (so other users can't edit it during execution)Run script (this takes a JSON with options)Open Websocket for logsRequest Result (this URL is a little different because the results are saved in redis) Below is a bash script which does all the above given some options. It requires curl for the web requests and jq for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result. #!/bin/bash set -e TARGET=${1:-'TARGET'} SCRIPT=${2:-'procedures/cmd_tlm_test.rb'} SUITE=${3:-'TestSuite'} COSMOS_HOST='http://localhost:2900' SCRIPT_API="$COSMOS_HOST/script-api" SCRIPT_PATH="scripts/$TARGET/$SCRIPT" CURL_ARGS=( -H 'Accept: application/json' -H 'Authorization: password' -H 'Accept-Language: en-US,en;q=0.9' -H 'Connection: keep-alive' -H 'Content-Type: application/json' --insecure --silent ) # Lock script # curl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}" # Run script # RUN_OPTS=$(cat <<-json { "environment": [], "suiteRunner": { "method": "start", "suite": "$SUITE", "options": [ "continueAfterError" ] } } json ) RUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .) ID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}") echo "Starting Script '$SCRIPT_PATH' at $(date) (may take up to 15 minutes)" > /dev/stderr echo "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr # Loop while Script ID is still running # while true; do SCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")" if [[ -z $SCRIPT_STATUS ]]; then break; fi sleep 2 done # Request results # BUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\\ jq '[.[]|select(.name | test("'"${SCRIPT_PATH#scripts/}"' "))][0] | .log | @uri' -r)" URL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)" curl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}" ","version":"Next","tagName":"h2"},{"title":"Host Install","type":0,"sectionRef":"#","url":"/docs/development/host-install","content":"","keywords":"","version":"Next"},{"title":"Installing COSMOS Directly onto a Host (No Containers)​","type":1,"pageTitle":"Host Install","url":"/docs/development/host-install#installing-cosmos-directly-onto-a-host-no-containers","content":" Note: THIS IS NOT A RECOMMENDED CONFIGURATION. COSMOS 5 is released as containers and intended to be run as containers. However, for various reasons someone might want to run COSMOS directly on a host. These instructions will walk through getting COSMOS 5 installed and running directly on RHEL 7 or Centos 7. This configuration will create a working install, but falls short of the ideal in that it does not setup the COSMOS processes as proper services on the host OS (that restart themselves on boot, and maintain themselves running in case of errors). Contributions that add that functionality are welcome. Let's get started. The starting assumption is that you have a fresh install of either RHEL 7 or Centos 7. You are running as a normal user that has sudo permissions, and has git installed. Start by downloading the latest working version of COSMOS from Github cd ~ git clone https://github.com/openc3/cosmos.git Run the COSMOS installation script If you are feeling brave, you can run the one large installer script that installs everything in one step: cd cosmos/examples/hostinstall/centos7 ./openc3_install.sh Or, you may want to break it down to the same steps that are in that script, and make sure each individual step is successful: cd cosmos/examples/hostinstall/centos7 ./openc3_install_packages.sh ./openc3_install_ruby.sh ./openc3_install_redis.sh ./openc3_install_minio.sh ./openc3_install_traefik.sh ./openc3_install_openc3.sh ./openc3_start_services.sh ./openc3_first_init.sh If all was successful, you should be able to open Firefox, and goto: http://localhost:2900. Congrats you have COSMOS running directly on a host. As stated at the beginning, this is not currently a supported configuration. Contributions that help to improve it are welcome. ","version":"Next","tagName":"h2"},{"title":"Interfaces","type":0,"sectionRef":"#","url":"/docs/configuration/interfaces","content":"","keywords":"","version":"Next"},{"title":"Provided Interfaces​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#provided-interfaces","content":" COSMOS provides the following interfaces for use: TCPIP Client, TCPIP Server, UDP, and Serial. The interface to use is defined by the INTERFACE and ROUTER keywords. ","version":"Next","tagName":"h2"},{"title":"TCPIP Client Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-client-interface","content":" The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface. Parameter\tDescription\tRequiredHost\tMachine name to connect to\tYes Write Port\tPort to write commands to (can be the same as read port). Pass nil / None to make the interface read only.\tYes Read Port\tPort to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. ","version":"Next","tagName":"h3"},{"title":"TCPIP Server Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-server-interface","content":" The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server. Parameter\tDescription\tRequiredWrite Port\tPort to write commands to (can be the same as read port)\tYes Read Port\tPort to read telemetry from (can be the same as write port)\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. Note, TcpipServerInterface processes the OPTION modifier. ","version":"Next","tagName":"h3"},{"title":"UDP Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#udp-interface","content":" The UDP interface uses UDP packets to send and receive telemetry from the target. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the machine to send and receive data with\tYes Write Dest Port\tPort on the remote machine to send commands to\tYes Read Port\tPort on the remote machine to read telemetry from\tYes Write Source Port\tPort on the local machine to send commands from\tNo\tnil (socket is not bound to an outgoing port) Interface Address\tIf the remote machine supports multicast the interface address is used to configure the outgoing multicast address\tNo\tnil (not used) TTL\tTime to Live. The number of intermediate routers allowed before dropping the packet.\tNo\t128 (Windows) Write Timeout\tNumber of seconds to wait before aborting the write\tNo\t10.0 Read Timeout\tNumber of seconds to wait before aborting the read\tNo\tnil (block on read) plugin.txt Ruby Example: INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil plugin.txt Python Example: INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. ","version":"Next","tagName":"h3"},{"title":"Serial Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#serial-interface","content":" The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby. Parameter\tDescription\tRequiredWrite Port\tName of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing.\tYes Read Port\tName of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading.\tYes Baud Rate\tBaud rate to read and write\tYes Parity\tSerial port parity. Must be 'NONE', 'EVEN', or 'ODD'.\tYes Stop Bits\tNumber of stop bits, e.g. 1.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. Note, SerialInterface processes the OPTION modifier. ","version":"Next","tagName":"h3"},{"title":"Streams​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#streams","content":" Streams are low level classes that implement read, read_nonblock, write, connect, connected? and disconnect methods. The built-in Stream classes are SerialStream, TcpipSocketStream and TcpipClientStream and they are automatically used when creating a Serial Interface, TCP/IP Server Interface, or TCP/IP Client Interface. ","version":"Next","tagName":"h2"},{"title":"Protocols​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#protocols","content":" Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. COSMOS defines the following built-in protocols which can be used with the above interfaces: Name\tDescriptionBurst\tReads as much data as possible from the interface Fixed\tProcesses fixed length packets with a known ID position Length\tProcesses a length field at a fixed location and then reads the remainder of the data Terminated\tDelineates packets uses termination characters at the end of each packet Template\tProcesses text based command / response data such as SCPI interfaces Preidentified\tInternal COSMOS protocol used by COSMOS tools These protocols are declared directly after the interface: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE COSMOS also defines the following helper protocols: Name\tDescriptionCRC\tAdds CRCs to outgoing packets and verifies CRCs on incoming packets Ignore\tIgnores the specified packet by dropping it These protocols are declared after the INTERFACE: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF TARGET TGT PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF TARGET TGT PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific. In addition, you can define your own protocols which are declared like the COSMOS helper protocols after your interface. See the Custom Protocols documentation for more information. Protocol Run Order Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first). ","version":"Next","tagName":"h2"},{"title":"Protocols","type":0,"sectionRef":"#","url":"/docs/configuration/protocols","content":"","keywords":"","version":"Next"},{"title":"Packet Delineation Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#packet-delineation-protocols","content":" COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream. Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning :STOP). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the Custom Protocols documentation. ","version":"Next","tagName":"h2"},{"title":"COBS Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cobs-protocol","content":" The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing for more). ","version":"Next","tagName":"h3"},{"title":"SLIP Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#slip-protocol","content":" The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See https://datatracker.ietf.org/doc/html/rfc1055 for more). Parameter\tDescription\tRequired\tDefaultStart Char\tCharacter to place at the start of frames\tNo\tnil (no character) Read Strip Characters\tStrip off start_char and end_char from reads\tNo\ttrue Read Enable Escaping\tWhether to enable character escaping on reads\tNo\ttrue Write Enable Escaping\tWhether to enable character escaping on writes\tNo\ttrue End Char\tCharacter to place at the end of frames\tNo\t0xC0 Esc Char\tEscape character\tNo\t0xDB Escape End Char\tCharacter to escape End character\tNo\t0xDC Escape Esc Char\tCharacter to escape Esc character\tNo\t0xDD ","version":"Next","tagName":"h3"},{"title":"Burst Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#burst-protocol","content":" The Burst Protocol simply reads as much data as it can from the interface before returning the data as a COSMOS Packet (It returns a packet for each burst of data read). This Protocol relies on regular bursts of data delimited by time and thus is not very robust. However, it can utilize a sync pattern which does allow it to re-sync if necessary. It can also discard bytes from the incoming data to remove the sync pattern. Finally, it can add sync patterns to data being written out of the Interface. Parameter\tDescription\tRequired\tDefaultDiscard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Fixed Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#fixed-protocol","content":" The Fixed Protocol reads a preset minimum amount of data which is necessary to properly identify all the defined packets using the interface. It then identifies the packet and proceeds to read as much data from the interface as necessary to create the packet which it then returns. This protocol relies on all the packets on the interface being fixed in length. For example, all the packets using the interface are a fixed size and contain a simple header with a 32-bit sync pattern followed by a 16 bit ID. The Fixed Protocol would elegantly handle this case with a minimum read size of 6 bytes. The Fixed Protocol also supports a sync pattern, discarding leading bytes, and filling the sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultMinimum ID Size\tThe minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes.\tYes Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Telemetry\tWhether the data is telemetry\tNo\ttrue (false means command) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Unknown Raise\tWhether to raise an exception for an unknown packet\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Length Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#length-protocol","content":" The Length Protocol depends on a length field at a fixed location in the defined packets using the interface. It then reads enough data to grab the length field, decodes it, and reads the remaining length of the packet. For example, all the packets using the interface contain a CCSDS header with a length field. The Length Protocol can be set up to handle the length field and even the length offset CCSDS uses. The Length Protocol also supports a sync pattern, discarding leading bytes, and filling the length and sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultLength Bit Offset\tThe bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 bits Length Bit Size\tThe size in bits of the length field\tNo\t16 bits Length Value Offset\tThe offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 Bytes per Count\tThe number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words.\tNo\t1 byte Length Endianness\tThe endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'.\tNo\t'BIG_ENDIAN' Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Fill Length and Sync Pattern\tSetting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets.\tNo\tfalse The most confusing aspect of the Length Protocol is calculating the Length Value Offset. This is especially true in the commonly used CCSDS Space Packet Protocol. The best way to illustrate this is with an example. Suppose you have CCSDS Space Packets prepended with a Sync Pattern of 0x1ACFFC1D. This would look like the following: Sync (4 bytes)\tHeader (4 bytes)\tLength (2 bytes)\tData (4 bytes)0x1ACFFC1D\t0x0001CADB\t0x0003\t0xDEADBEEF In this case the total length of the packet is 14 bytes: 4 + 4 + 2 + 4 = 14. With 4 bytes of data, the length field is 3 because in CCSDS the length field is calculated as (data length - 1). So how would we calculate the Length Value Offset? COSMOS reads all the bytes in the packet (including the Sync Pattern) so the total length is 14 bytes. The length field is 3 so the Length Value Offset (offset to apply to the length field value) should be 11 (3 + 11 = 14). ","version":"Next","tagName":"h3"},{"title":"Terminated Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#terminated-protocol","content":" The Terminated Protocol delineates packets using termination characters found at the end of every packet. It continuously reads data until the termination characters are found at which point it returns the packet data. For example, all the packets using the interface are followed by 0xABCD. This data can either be a part of each packet that is kept or something which is known only by the Terminated Protocol and simply thrown away. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Template Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#template-protocol","content":" Deprecated This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead. The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets "<EXAMPLE>". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Ignore Lines\tNumber of response lines to ignore (completely drop)\tNo\t0 lines Initial Read Delay\tAn initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts.\tNo\tnil (no initial read) Response Lines\tThe number of lines that make up expected responses\tNo\t1 line Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Response Timeout\tNumber of seconds to wait for a response before timing out\tNo\t5.0 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur like timeouts or unexpected responses\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Preidentified Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#preidentified-protocol","content":" The Preidentified Protocol delineates packets using a custom COSMOS header. This Protocol is created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation. Parameter\tDescription\tRequired\tDefaultSync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Mode\tThe Version of the preidentified protocol to support (2 or 4).3\tNo\t4 ","version":"Next","tagName":"h3"},{"title":"Helper Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#helper-protocols","content":" COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. These protocols provide helper functionality to Interfaces. ","version":"Next","tagName":"h2"},{"title":"CmdResponse Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cmdresponse-protocol","content":" The CmdResponse Protocol waits for a response for any commands with a defined response packet (TODO: More documentation and examples). Parameter\tDescription\tRequired\tDefaultResponse Timeout\tNumber of seconds to wait before timing out when waiting for a response\tNo\t5 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur in the protocol like unexpected responses or response timeouts\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"CRC Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#crc-protocol","content":" The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultWrite Item Name\tItem to fill with calculated CRC value for outgoing packets (nil = don't fill)\tNo\tnil Strip CRC\tWhether to remove the CRC from incoming packets\tNo\tfalse Bad Strategy\tHow to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interface\tNo\t"ERROR" Bit Offset\tBit offset of the CRC in the data. Can be negative to indicate distance from end of packet\tNo\t-32 Bit Size\tBit size of the CRC - Must be 16, 32, or 64\tNo\t32 Endianness\tEndianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)\tNo\t"BIG_ENDIAN" Poly\tPolynomial to use when calculating the CRC expressed as an integer\tNo\tnil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693) Seed\tSeed value to start the calculation\tNo\tnil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF) Xor\tWhether to XOR the CRC result with 0xFFFF\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) Reflect\tWhether to bit reverse each byte of data before calculating the CRC\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) ","version":"Next","tagName":"h3"},{"title":"Ignore Packet Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ignore-packet-protocol","content":" The Ignore Packet protocol drops specified command packets sent by COSMOS or drops incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultTarget Name\tTarget name of the packet to ignore\tYes\tnil Packet Name\tPacket name of the packet to ignore\tYes\tnil ","version":"Next","tagName":"h3"},{"title":"Custom Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#custom-protocols","content":" Creating a custom protocol is easy and should be the default solution for customizing COSMOS Interfaces (rather than creating a new Interface class). However, creating custom Interfaces is still useful for defaulting parameters to values that always are fixed for your target and for including the necessary Protocols. The base COSMOS Interfaces take a lot of parameters that can be confusing to your end users. Thus you may want to create a custom Interface just to hard coded these values and cut the available parameters down to something like the hostname and port to connect to. All custom Protocols should derive from the Protocol class openc3/interfaces/protocols/protocol.rb (Ruby) and openc3/interfaces/protocols/protocol.py (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols. Ruby Protocol APIs Protocols should not require 'openc3/script' since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. Python Protocol APIs Protocols should not from openc3.script import * since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. To really understand how Protocols work, you first must understand the logic within the base Interface class read and write methods. Let's first discuss the read method. Ruby Symbols, Python Strings In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means :STOP in Ruby and "STOP" in Python. On every call to read, an empty string "" is first passed down to each of the read Protocol's read_data() method before new raw data is attempted to be read using the Interface's read_interface() method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols read_data() methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's read_data() method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's read_data() method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's read_data() methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in read_data()), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface. The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.) First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message. ","version":"Next","tagName":"h2"},{"title":"Method discussions​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#method-discussions","content":" ","version":"Next","tagName":"h2"},{"title":"initialize or init​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#initialize-or-init","content":" This is the constructor for your custom Protocol. It should always call super(allow_empty_data) to initialize the base Protocol class. Base class Ruby implementation: # @param allow_empty_data [true/false] Whether STOP should be returned on empty data def initialize(allow_empty_data = false) @interface = nil @allow_empty_data = ConfigParser.handle_true_false(allow_empty_data) reset() end Base class Python implementation: def __init__(self, allow_empty_data=None): self.interface = None self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data) self.reset() As you can see, every Protocol maintains state on at least two items. The interface variable holds the Interface class instance that the protocol is associated with. This is sometimes necessary to introspect details that only the Interface knows. allow_empty_data is a flag used by the read_data(data) method that is discussed later in this document. ","version":"Next","tagName":"h3"},{"title":"reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#reset","content":" The reset method is used to reset internal protocol state when the Interface is connected and/or disconnected. This method should be used for common resetting logic. Connect and Disconnect specific logic are handled in the next two methods. Base class Ruby implementation: def reset end Base class Python implementation: def reset(self): pass As you can see, the base class reset implementation doesn't do anything. ","version":"Next","tagName":"h3"},{"title":"connect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#connect_reset","content":" The connect_reset method is used to reset internal Protocol state each time the Interface is connected. Base class Ruby implementation: def connect_reset reset() end Base class Python implementation: def connect_reset(self): self.reset() The base class connect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"disconnect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#disconnect_reset","content":" The disconnect_reset method is used to reset internal Protocol state each time the Interface is disconnected. Base class Ruby implementation: def disconnect_reset reset() end Base class Python implementation: def disconnect_reset(self): self.reset() The base class disconnect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"read_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_data","content":" The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def read_data(data) if (data.length <= 0) if @allow_empty_data.nil? if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data return :STOP end elsif !@allow_empty_data # Don't @allow_empty_data means STOP return :STOP end end data end Base class Python implementation: def read_data(self, data, extra=None): if len(data) <= 0: if self.allow_empty_data is None: if self.interface and self.interface.read_protocols[-1] == self: # Last read interface in chain with auto self.allow_empty_data return ("STOP", extra) elif self.allow_empty_data: # Don't self.allow_empty_data means STOP return ("STOP", extra) return (data, extra) The base class implementation does nothing except return the data it was given. The only exception to this is when handling an empty string. If the allow_empty_data flag is false / False or if it is nil / None and the Protocol is the last in the chain, then the base implementation will return STOP to indicate that it is time to call the Interface read_interface() method to get more data. Blank strings are used to signal Protocols that they have an opportunity to return a cached packet. ","version":"Next","tagName":"h3"},{"title":"read_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_packet","content":" The read_packet method is used to analyze and potentially modify a COSMOS packet before it is returned by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be returned, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). This method is where a Protocol would set the stored flag on a packet if it determines that the packet is stored telemetry instead of real-time telemetry. Base class Ruby implementation: def read_packet(packet) return packet end Base class Python implementation: def read_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_packet","content":" The write_packet method is used to analyze and potentially modify a COSMOS packet before it is output by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_packet(packet) return packet end Base class Python implementation: def write_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_data","content":" The write_data method is used to analyze and potentially modify data before it is written out by the Interface. It takes one parameter as the current state of the data to be analyzed and sent. It can return either a string of data, STOP, or DISCONNECT. If it returns a string of data, then it believes that the data is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the data should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_data(data) return data end Base class Python implementation: def write_data(self, data, extra=None): return (data, extra) The base class always just returns the data given. ","version":"Next","tagName":"h3"},{"title":"post_write_interface​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#post_write_interface","content":" The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by write_packet() and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols post_write_interface() methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return. Base class Ruby implementation: def post_write_interface(packet, data) return packet, data end Base class Python implementation: def post_write_interface(self, packet, data, extra=None): return (packet, data, extra) The base class always just returns the packet/data given. ","version":"Next","tagName":"h3"},{"title":"protocol_cmd​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#protocol_cmd","content":" The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See interface_protocol_cmd for more information. Base class Ruby implementation: def protocol_cmd(cmd_name, *cmd_args) # Default do nothing - Implemented by subclasses return false end Base class Python implementation: def protocol_cmd(self, cmd_name, *cmd_args): # Default do nothing - Implemented by subclasses return False The base class does nothing as this is special functionality implemented by subclasses. ","version":"Next","tagName":"h3"},{"title":"Examples​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#examples","content":" Please see the linked Ruby Protocol and Python Protocol code for examples of the above methods in action. ","version":"Next","tagName":"h2"},{"title":"Developing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/developing","content":"","keywords":"","version":"Next"},{"title":"Development Tools​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#development-tools","content":" The core COSMOS team develops with the Visual Studio Code editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our openc3.code-workspace configuration for VSCode to help configure these plugins. You also need Docker Desktop which you should already have as it is a requirement to run COSMOS. You'll also need NodeJS and yarn installed. Building COSMOS Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts. Build COSMOS using the openc3.sh script: % ./openc3.sh build This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build! Once the build completes you can see the built images with the following command: % docker image ls | grep "openc3" openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB openc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB openc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB openc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB openc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB openc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB openc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB openc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB Offline Building If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the .env file. Example values: ALPINE_VERSION=3.18 ALPINE_BUILD=9 RUBYGEMS_URL=https://rubygems.org NPM_URL=https://registry.npmjs.org APK_URL=http://dl-cdn.alpinelinux.org Running COSMOS Running COSMOS in development mode enables localhost access to internal API ports as well as sets RAILS_ENV=development in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode: % ./openc3.sh dev You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space): % docker ps IMAGE COMMAND PORTS NAMES openc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails…" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1 openc3/openc3-script-runner-api:latest "/sbin/tini -- rails…" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1 openc3/openc3-traefik:latest "/entrypoint.sh trae…" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1 openc3/openc3-operator:latest "/sbin/tini -- ruby …" cosmos-openc3-operator-1 openc3/openc3-minio:latest "/usr/bin/docker-ent…" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1 openc3/openc3-redis:latest "docker-entrypoint.s…" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1 If you go to localhost:2900 you should see COSMOS up and running! ","version":"Next","tagName":"h2"},{"title":"Running a Frontend Application​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-frontend-application","content":" So now that you have COSMOS up and running how do you develop an individual COSMOS application? Bootstrap the frontend with yarn openc3-init % yarn Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc) openc3-init % cd plugins/packages/openc3-tool-scriptrunner openc3-tool-scriptrunner % yarn serve DONE Compiled successfully in 128722ms App running at: - Local: http://localhost:2914/tools/scriptrunner/ - Network: http://localhost:2914/tools/scriptrunner/ Note that the development build is not optimized. To create a production build, run npm run build. Set the single SPA override for the application Visit localhost:2900 and Right-click 'Inspect' In the console paste: localStorage.setItem("devtools", true); Refresh and you should see {...} in the bottom right Click the Default button next to the application (@openc3/tool-scriptrunner) Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner) http://localhost:2914/tools/scriptrunner/js/app.js Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like console.log) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's development tools if you plan to do frontend development. ","version":"Next","tagName":"h2"},{"title":"Running a Backend Server​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-backend-server","content":" If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy. Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations. % cd openc3-traefik openc3-traefik % docker ps # Look for the container with name including traefik openc3-traefik % docker stop cosmos-openc3-traefik-1 openc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev . openc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev Run a local copy of the cmd-tlm-api or script-runner-api % cd openc3-cosmos-cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker ps # Look for the container with name including cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1 # Run the following on Windows: openc3-cosmos-cmd-tlm-api> dev_server.bat # In Linux, set all the environment variables in the .env file, but override REDIS to be local openc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % bundle install openc3-cosmos-cmd-tlm-api % bundle exec rails s Once the bundle exec rails s command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect. ","version":"Next","tagName":"h2"},{"title":"JSON API","type":0,"sectionRef":"#","url":"/docs/development/json-api","content":"","keywords":"","version":"Next"},{"title":"Authorization​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#authorization","content":" The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header. Authorization: <token/password> ","version":"Next","tagName":"h2"},{"title":"JSON-RPC 2.0​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#json-rpc-20","content":" The COSMOS API implements a relaxed version of the JSON-RPC 2.0 Specification. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal's such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a "keyword_params" object. ","version":"Next","tagName":"h2"},{"title":"Socket Connections​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#socket-connections","content":" The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777). COSMOS listens for HTTP API requests at the default 2900 port at the /openc3-api/api endpoint. ","version":"Next","tagName":"h2"},{"title":"Supported Methods​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#supported-methods","content":" The list of methods supported by the COSMOS API may be found in the api source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the Scripting Writing Guide. This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here. ","version":"Next","tagName":"h2"},{"title":"Existing Implementations​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#existing-implementations","content":" The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript. ","version":"Next","tagName":"h2"},{"title":"Example Usage​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#example-usage","content":" ","version":"Next","tagName":"h2"},{"title":"Sending Commands​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#sending-commands","content":" The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values. Parameter\tData Type\tDescriptioncommand_string\tstring\tA single string containing all required information for the command The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to send the command to command_name\tString\tThe name of the command command_params\tHash\tOptional hash of command parameters Example Usage: --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} ","version":"Next","tagName":"h3"},{"title":"Getting Telemetry​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#getting-telemetry","content":" The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME" Parameter\tData Type\tDescriptiontlm_string\tString\tA single string containing all required information for the telemetry item The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to get the telemetry value from packet_name\tString\tName of the packet to get the telemetry value from item_name\tString\tName of the telemetry item Example Usage: --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} ","version":"Next","tagName":"h3"},{"title":"Further Debugging​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#further-debugging","content":" If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation. Launch COSMOSOpen Command SenderOpen browser developer tools (right-click->Inspect in Chrome)Click "Network" tab (may need to add it with + button)Send a command with the GUIView the request in the developer tool. Click the "Payload" sub-tab to view the JSON You can also try sending these raw commands from the terminal with a program like curl: curl -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}' http://localhost:2900/openc3-api/api -H "Authorization: password" ","version":"Next","tagName":"h2"},{"title":"Log Structure","type":0,"sectionRef":"#","url":"/docs/development/log-structure","content":"","keywords":"","version":"Next"},{"title":"Packet Log File Format​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#packet-log-file-format","content":" Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as well as decommutated packets stored as JSON structures. ","version":"Next","tagName":"h2"},{"title":"File Header​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#file-header","content":" COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions. ","version":"Next","tagName":"h3"},{"title":"Entry Types​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#entry-types","content":" Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data. Common Entry Format​ This common format is used for all packet log entries: Field\tData Type\tDescriptionLength\t32-bit Unsigned Integer\tTotal length of the entry in bytes not including the length field. Max entry size is therefore 4GiB. Entry Type\t4-bit Unsigned Integer\tEntry Type: 1 = Target Declaration 2 = Packet Declaraction 3 = Raw Packet 4 = JSON/CBOR Packet 5 = Offset Marker 6 = Key Map Cmd/Tlm Flag\t1-bit Unsigned Integer\t1 = Command 0 = Telemetry Stored Flag\t1-bit Unsigned Integer\t1 = Stored Data 0 = Realtime Data Id Flag\t1-bit Unsigned Integer\t1 = ID present 0 = ID not present CBOR Flag\t1-bit Unsigned Integer\tOnly Valid for "JSON/CBOR Packets" 1 = CBOR Data 0 = JSON Data Extra Flag\t1-bit Unsigned Integer\t1 = Extra present 0 = Extra Not Present (Added COSMOS 5.11) Received Time Flag\t1-bit Unsigned Integer\t1 = Received Time Present 0 = No Received Time (Added COSMOS 5.11.0) Reserved\t6-bit Unsigned Integer\tReserved for Future expansion. Should be set to 0 if unused. Entry Data\tVariable\tUnique data based on entry type. See Entry Types Below Id (Optional)\t32-byte Binary Hash\tIf the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration Target Declaration Entry​ Declares the name of a target the first time it is seen when writing the log file. Field\tData Type\tDescriptionTarget Name\tVariable-Length ASCII String\tTarget Name Packet Declaration Entry​ Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index. Field\tData Type\tDescriptionTarget Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc. Packet Name\tVariable-Length ASCII String\tPacket Name Raw Packet and JSON Packet Entries​ Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536. Packet Timestamp\t64-bit Unsigned Integer\tPacket timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the “packet time” for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed. Received Timestamp (Optional)\t64-bit Unsigned Integer\tOnly present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time” for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed. Extra Length (Optional)\t32-bit Unsigned Integer\tOnly Present if Extra Flag is Set. Length of extra data in bytes not including itself. Extra Data (Optional)\tVariable-Length Block Data\tOnly Present if Extra Flag is Set. CBOR or JSON encoded object of extra data. Packet Data\tVariable-Length Block Data\tThe Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry. Offset Marker Entry​ This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS. Field\tData Type\tDescriptionOffset Marker\tVariable-Length ASCII String\tRedis Offset Marker Key Map Entry​ The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. Key Map\tVariable-Length ASCII String\tKey Map Data with Mapping from numeric key to actual packet item name ","version":"Next","tagName":"h3"},{"title":"Testing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/testing","content":"","keywords":"","version":"Next"},{"title":"Playwright​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright","content":" ","version":"Next","tagName":"h2"},{"title":"Prerequesits​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#prerequesits","content":" Install Yarn npm install --global yarn Clone the COSMOS Playwright repo git clone https://github.com/OpenC3/cosmos-playwright Install Playwright and dependencies cosmos-playwright % yarn install ","version":"Next","tagName":"h3"},{"title":"Playwright Testing​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright-testing","content":" Start COSMOS cosmos % openc3.sh start Open COSMOS in your browser. At the login screen, set the password to "password". Run tests (Note the --headed option visually displays tests, leave it off to run in the background) cosmos-playwright % yarn playwright test --project=chromium --headed [Optional] Fix istanbul/nyc coverage source lookups (use fixwindows if not on Linux). Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work. cosmos-playwright % yarn fixlinux Generate code coverage cosmos-playwright % yarn coverage Code coverage reports can be viewed at openc3-playwright/coverage/index.html ","version":"Next","tagName":"h3"},{"title":"Ruby Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#ruby-unit-tests","content":" Navigate to cosmos/openc3 folder. Run the command: cosmos/openc3 % rake build cosmos/openc3 % bundle exec rspec Code coverage reports can be found at cosmos/openc3/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Python Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#python-unit-tests","content":" Navigate to cosmos/openc3/python folder. Run the command: cosmos/openc3/python % python -m pip install -r requirements-dev.txt cosmos/openc3/python % python -m pip install -r requirements.txt cosmos/openc3/python % coverage run -m pytest cosmos/openc3/python % coverage html Code coverage reports can be found at cosmos/openc3/python/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Roadmap","type":0,"sectionRef":"#","url":"/docs/development/roadmap","content":"","keywords":"","version":"Next"},{"title":"Key Features Still to Come in OpenC3 COSMOS 5.x:​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#key-features-still-to-come-in-openc3-cosmos-5x","content":" ✅ Python Support ✅ Standardized Mission Planning Interface (aka Command Load Generator (CLG)) ✅ Protocol buffer support ✅ Command Authority (Enterprise) ✅ Critical Commanding (Two Operators - Enterprise) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 6.0 (Late 2024)​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-60-late-2024","content":" Core Features: ✅ Upgrade Tools to Vue 3 / Vuetify 3 ✅ Traefik v3 ⬜ Python / Ruby parity (interfaces, protocols, etc) Functionality For 6.1+: ⬜ Plugin App Store ⬜ System Health Tool (Enterprise) ⬜ Log Message Extractor Tool (Enterprise) ⬜ Telemetry Viewer screen playback of historical data ⬜ libCSP Interface (Cubesat Space Protocol) ⬜ Standardized Interfaces for common message buses (ZeroMQ, ActiveMQ, etc) ⬜ COSMOS Notebooks (similar to Jupyter Notebooks) ⬜ COSMOS Dashboards (configurable iFrames for Common Operating Picture) ⬜ Integration with ground networks (Atlas, RBC Signals) ⬜ Integration with mission planning (Orbit Logic, Cognitive Space) ⬜ Integration with flight dynamics (Kayhan, SEE, Exotrail) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 7.0​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-70","content":" Core Features: ⬜ Super Bridge - This will enable SaaS COSMOS and provide a secure method to communicate from a cloud server to an intranet for hardware control ","version":"Next","tagName":"h2"},{"title":"Near-term Planning​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#near-term-planning","content":" Our near-term planning linking to specific tickets is on our Github Planning Project. If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo. ","version":"Next","tagName":"h2"},{"title":"Plugins","type":0,"sectionRef":"#","url":"/docs/configuration/plugins","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#introduction","content":" This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS. Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality. Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Target​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target","content":" Targets are the external pieces of hardware and/or software that COSMOS communicates with. These are things like Front End Processors (FEPs), ground support equipment (GSE), custom software tools, and pieces of hardware like satellites themselves. A target is anything that COSMOS can send commands to and receive telemetry from. ","version":"Next","tagName":"h3"},{"title":"Interface​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface","content":" Interfaces implement the physical connection to one or more targets. They are typically ethernet connections implemented using TCP or UDP but can be other connections like serial ports. Interfaces send commands to targets and receive telemetry from targets. ","version":"Next","tagName":"h3"},{"title":"Router​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router","content":" Routers flow streams of telemetry packets out of COSMOS and receive streams of commands into COSMOS. The commands are forwarded by COSMOS to associated interfaces. Telemetry comes from associated interfaces. ","version":"Next","tagName":"h3"},{"title":"Tool​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool","content":" COSMOS Tools are web-based applications the communicate with the COSMOS APIs to perform takes like displaying telemetry, sending commands, and running scripts. ","version":"Next","tagName":"h3"},{"title":"Microservice​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice","content":" Microservices are persistent running backend code that runs within the COSMOS environment. They can process data and perform other useful tasks. ","version":"Next","tagName":"h3"},{"title":"Plugin Directory Structure​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugin-directory-structure","content":" COSMOS plugins have a well-defined directory structure described in detail in the Code Generator documentation. ","version":"Next","tagName":"h2"},{"title":"plugin.txt Configuration File​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugintxt-configuration-file","content":" A plugin.txt configuration file is required for any COSMOS plugin. It declares the contents of the plugin and provides variables that allow the plugin to be configured at the time it is initially installed or upgraded. This file follows the standard COSMOS configuration file format of keywords followed by zero or more space separated parameters. The following keywords are supported by the plugin.txt config file: ","version":"Next","tagName":"h2"},{"title":"VARIABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#variable","content":" Define a configurable variable for the plugin The VARIABLE keyword defines a variable that will be requested for the user to enter during plugin installation. Variables can be used to handle details of targets that are user defined such as specific IP addresses and ports. Variables should also be used to allow users to rename targets to whatever name they want and support multiple installations of the same target with different names. Variables can be used later in plugin.txt or in any other configuration file included in a plugin using Ruby ERB syntax. The variables are assigned to accessible local variables in the file. At a high level, ERB allows you to run Ruby code in configuration files. Parameter\tDescription\tRequiredVariable Name\tThe name of the variable\tTrue Default Value\tDefault value of the variable\tTrue ","version":"Next","tagName":"h2"},{"title":"NEEDS_DEPENDENCIES​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#needs_dependencies","content":" (Since 5.5.0) Indicates the plugin needs dependencies and sets the GEM_HOME environment variable If the plugin has a top level lib folder or lists runtime dependencies in the gemspec, NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having NEEDS_DEPENDENCIES adds the NFS volume mount to the Kubernetes pod. ","version":"Next","tagName":"h2"},{"title":"INTERFACE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-1","content":" Defines a connection to a physical target Interfaces are what OpenC3 uses to talk to a particular piece of hardware. Interfaces require a Ruby or Python file which implements all the interface methods necessary to talk to the hardware. OpenC3 defines many built in interfaces or you can define your own as long as it implements the interface protocol. Parameter\tDescription\tRequiredInterface Name\tName of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target.\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"INTERFACE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-modifiers","content":" The following keywords must follow a INTERFACE keyword. ","version":"Next","tagName":"h2"},{"title":"MAP_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_target","content":" Maps a target name to an interface Parameter\tDescription\tRequiredTarget Name\tTarget name to map to this interface\tTrue Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA ","version":"Next","tagName":"h3"},{"title":"MAP_CMD_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_cmd_target","content":" (Since 5.2.0) Maps a target name to an interface for commands only Parameter\tDescription\tRequiredTarget Name\tCommand target name to map to this interface\tTrue Ruby Example: INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface Python Example: INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface ","version":"Next","tagName":"h3"},{"title":"MAP_TLM_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_tlm_target","content":" (Since 5.2.0) Maps a target name to an interface for telemetry only Parameter\tDescription\tRequiredTarget Name\tTelemetry target name to map to this interface\tTrue Ruby Example: INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface Python Example: INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface ","version":"Next","tagName":"h3"},{"title":"DONT_CONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_connect","content":" Server will not automatically try to connect to the interface at startup ","version":"Next","tagName":"h3"},{"title":"DONT_RECONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_reconnect","content":" Server will not try to reconnect to the interface if the connection is lost ","version":"Next","tagName":"h3"},{"title":"RECONNECT_DELAY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reconnect_delay","content":" Reconnect delay in seconds If DONT_RECONNECT is not present the Server will try to reconnect to an interface if the connection is lost. Reconnect delay sets the interval in seconds between reconnect tries. Parameter\tDescription\tRequiredDelay\tDelay in seconds between reconnect attempts. The default is 15 seconds.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_DISCONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_disconnect","content":" Disable the Disconnect button on the Interfaces tab in the Server Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target. ","version":"Next","tagName":"h3"},{"title":"LOG_RAW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_raw","content":" Deprecated, use LOG_STREAM ","version":"Next","tagName":"h3"},{"title":"LOG_STREAM​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_stream","content":" (Since 5.5.2) Log all data on the interface exactly as it is sent and received LOG_STREAM does not add any OpenC3 headers and thus can not be read by OpenC3 tools. It is primarily useful for low level debugging of an interface. You will have to manually parse these logs yourself using a hex editor or other application. Parameter\tDescription\tRequiredCycle Time\tAmount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute.\tFalse Cycle Size\tAmount of data to write before cycling the log file. Default is 50MB.\tFalse Cycle Hour\tThe time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil.\tFalse Cycle Minute\tSee Cycle Hour.\tFalse Example Usage: INTERFACE EXAMPLE example_interface.rb # Override the default log time of 600 LOG_STREAM 60 ","version":"Next","tagName":"h3"},{"title":"PROTOCOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#protocol","content":" (Since 4.0.0) Protocols modify the interface by processing the data Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing. For information on creating your own custom protocol please see Protocols Parameter\tDescription\tRequiredType\tWhether to apply the protocol on incoming data, outgoing data, or both Valid Values: READ, WRITE, READ_WRITE\tTrue Protocol Filename or Classname\tRuby or Python filename or class name which implements the protocol\tTrue Protocol specific parameters\tAdditional parameters used by the protocol\tFalse Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil MAP_TARGET DATA # Rather than defining the LENGTH protocol on the INTERFACE line we define it here PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option","content":" Set a parameter on an interface When an option is set the interface class calls the set_option method. Custom interfaces can override set_option to handle any additional options they want. Parameter\tDescription\tRequiredName\tThe option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0).\tTrue Parameters\tParameters to pass to the option\tFalse Example Usage: INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil OPTION FLOW_CONTROL RTSCTS OPTION DATA_BITS 8 ROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS 127.0.0.1 ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret","content":" (Since 5.3.0) Define a secret needed by this interface Defines a secret for this interface and optionally assigns its value to an option Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret\tTrue Option Name\tInterface option to pass the secret value\tFalse Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME USERNAME SECRET FILE KEY "/tmp/DATA/cert" KEY ","version":"Next","tagName":"h3"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env","content":" (Since 5.7.0) Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir","content":" (Since 5.7.0) Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: WORK_DIR '/openc3/lib/openc3/microservices' ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port","content":" (Since 5.7.0) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: PORT 7272 ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd","content":" (Since 5.7.0) Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1 Python Example: CMD python interface_microservice.py DEFAULT__INTERFACE__INT1 ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container","content":" (Since 5.7.0) Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix","content":" (Since 5.7.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: ROUTE_PREFIX /interface ","version":"Next","tagName":"h3"},{"title":"ROUTER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router-1","content":" Create router to receive commands and output telemetry packets from one or more interfaces Creates an router which receives command packets from their remote clients and sends them to associated interfaces. They receive telemetry packets from their interfaces and send them to their remote clients. This allows routers to be intermediaries between an external client and an actual device. Parameter\tDescription\tRequiredName\tName of the router\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-1","content":" Defines a new target Parameter\tDescription\tRequiredFolder Name\tThe target folder\tTrue Name\tThe target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder.\tTrue Example Usage: TARGET INST INST ","version":"Next","tagName":"h2"},{"title":"TARGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-modifiers","content":" The following keywords must follow a TARGET keyword. ","version":"Next","tagName":"h2"},{"title":"CMD_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_buffer_depth","content":" (Since 5.2.0) Number of commands to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 5)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_time","content":" Command binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_size","content":" Command binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_retain_time","content":" How long to keep raw command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_time","content":" Command decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_size","content":" Command decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_retain_time","content":" How long to keep decom command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_buffer_depth","content":" (Since 5.2.0) Number of telemetry packets to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 60)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_time","content":" Telemetry binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_size","content":" Telemetry binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_retain_time","content":" How long to keep raw telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_time","content":" Telemetry decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_size","content":" Telemetry decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_retain_time","content":" How long to keep decom telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_MINUTE_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_minute_log_retain_time","content":" How long to keep reduced minute telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced minute telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_HOUR_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_hour_log_retain_time","content":" How long to keep reduced hour telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced hour telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_DAY_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_day_log_retain_time","content":" How long to keep reduced day telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced day telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_retain_time","content":" How long to keep all regular telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all regular telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_log_retain_time","content":" How long to keep all reduced telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all reduced telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CLEANUP_POLL_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cleanup_poll_time","content":" Period at which to run the cleanup process. Parameter\tDescription\tRequiredTime\tNumber of seconds between runs of the cleanup process (default = 900 = 15 minutes)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCER_DISABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_disable","content":" Disables the data reduction microservice for the target ","version":"Next","tagName":"h3"},{"title":"REDUCER_MAX_CPU_UTILIZATION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_max_cpu_utilization","content":" Maximum amount of CPU utilization to apply to data reduction Parameter\tDescription\tRequiredPercentage\t0 to 100 percent (default = 30)\tTrue ","version":"Next","tagName":"h3"},{"title":"TARGET_MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_microservice","content":" (Since 5.2.0) Breaks a target microservice out into its own process. Can be used to give more resources to processing that is falling behind. If defined multiple times for the same type, will create multiple processes. Each process can be given specific packets to process with the PACKET keyword. Parameter\tDescription\tRequiredType\tThe target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUP\tTrue ","version":"Next","tagName":"h3"},{"title":"PACKET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#packet","content":" (Since 5.2.0) Packet Name to allocate to the current TARGET_MICROSERVICE. Parameter\tDescription\tRequiredPacket Name\tThe packet name. Does not apply to REDUCER or CLEANUP target microservice types.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire target or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-1","content":" Defines a new microservice Defines a microservice that the plugin adds to the OpenC3 system. Microservices are background software processes that perform persistent processing. Parameter\tDescription\tRequiredMicroservice Folder Name\tThe exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderName\tTrue Microservice Name\tThe specific name of this instance of the microservice in the OpenC3 system\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ","version":"Next","tagName":"h2"},{"title":"MICROSERVICE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-modifiers","content":" The following keywords must follow a MICROSERVICE keyword. ","version":"Next","tagName":"h2"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env-1","content":" Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir-1","content":" Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example WORK_DIR . ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port-1","content":" (Since 5.0.10) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: MICROSERVICE EXAMPLE openc3-example PORT 7272 ","version":"Next","tagName":"h3"},{"title":"TOPIC​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#topic","content":" Associate a Redis topic Redis topic to associate with this microservice. Standard OpenC3 microservices such as decom_microservice use this information to know what packet streams to subscribe to. The TOPIC keyword can be used as many times as necessary to associate all needed topics. Parameter\tDescription\tRequiredTopic Name\tRedis Topic to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example # Manually assigning topics is an advanced topic and requires # intimate knowledge of the internal COSMOS data structures. TOPIC DEFAULT__openc3_log_messages TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS ","version":"Next","tagName":"h3"},{"title":"TARGET_NAME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_name","content":" Associate a OpenC3 target OpenC3 target to associate with the microservice. For standard OpenC3 microservices such as decom_microservice this causes the target configuration to get loaded into the container for the microservice. Parameter\tDescription\tRequiredTarget Name\tOpenC3 target to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example TARGET_NAME EXAMPLE ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd-1","content":" Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: MICROSERVICE EXAMPLE openc3-example CMD ruby example_target.rb Python Example: MICROSERVICE EXAMPLE openc3-example CMD python example_target.py ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option-1","content":" Pass an option to the microservice Generic key/value(s) options to pass to the microservice. These take the form of KEYWORD/PARAMS like a line in a OpenC3 configuration file. Multiple OPTION keywords can be used to pass multiple options to the microservice. Parameter\tDescription\tRequiredOption Name\tName of the option\tTrue Option Value(s)\tOne or more values to associate with the option\tTrue ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container-1","content":" Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret-1","content":" (Since 5.3.0) Define a secret needed by this microservice Defines a secret for this microservice Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret\tTrue Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME SECRET FILE KEY "/tmp/DATA/cert" ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix-1","content":" (Since 5.5.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: MICROSERVICE CFDP CFDP ROUTE_PREFIX /cfdp ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-1","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire microservice or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"TOOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-1","content":" Define a tool Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices. Parameter\tDescription\tRequiredTool Folder Name\tThe exact name of the tool folder in the plugin. ie. tools/ToolFolderName\tTrue Tool Name\tName of the tool that is displayed in the OpenC3 Navigation menu\tTrue Example Usage: TOOL DEMO Demo ","version":"Next","tagName":"h2"},{"title":"TOOL Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-modifiers","content":" The following keywords must follow a TOOL keyword. ","version":"Next","tagName":"h2"},{"title":"URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#url","content":" Url used to access the tool The relative url used to access the tool. Defaults to "/tools/ToolFolderName". Parameter\tDescription\tRequiredUrl\tThe url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools.\tTrue ","version":"Next","tagName":"h3"},{"title":"INLINE_URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#inline_url","content":" Internal url to load a tool The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js". Parameter\tDescription\tRequiredUrl\tThe inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.\tTrue ","version":"Next","tagName":"h3"},{"title":"WINDOW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#window","content":" How to display the tool when navigated to The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB. Parameter\tDescription\tRequiredWindow Mode\tTool display mode Valid Values: INLINE, IFRAME, NEW\tTrue ","version":"Next","tagName":"h3"},{"title":"ICON​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#icon","content":" Set tool icon Icon shown next to the tool name in the OpenC3 navigation menu. Parameter\tDescription\tRequiredIcon Name\tIcon to display next to the tool name. Icons come from Font Awesome, Material Design (https://materialdesignicons.com/), and Astro.\tTrue ","version":"Next","tagName":"h3"},{"title":"CATEGORY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#category","content":" Category for the tool Associates the tool with a category which becomes a submenu in the Navigation menu. Parameter\tDescription\tRequiredCategory Name\tCategory to associate the tool with\tTrue ","version":"Next","tagName":"h3"},{"title":"SHOWN​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shown","content":" Show the tool or not Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool. Parameter\tDescription\tRequiredShown\tWhether or not the tool is shown. TRUE or FALSE Valid Values: true, false\tTrue ","version":"Next","tagName":"h3"},{"title":"POSITION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#position","content":" (Since 5.0.8) Position of the tool in the nav bar Position of the tool starting at 2 (1 is reserved for Admin Console). Tools without a position are appended to the end as they are installed. All COSMOS open source tools have consecutive integer values for position. Parameter\tDescription\tRequiredPosition\tNumerical position\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-2","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire tool or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"WIDGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget","content":" Define a custom widget Defines a custom widget that can be used in Telemetry Viewer screens. Parameter\tDescription\tRequiredWidget Name\tThe name of the widget will be used to build a path to the widget implementation. For example, WIDGET HELLOWORLD will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the Custom Widgets guide for more details.\tTrue Label\tThe label for the widget that will appear in the Data Viewer component drop down\tFalse Example Usage: WIDGET HELLOWORLD ","version":"Next","tagName":"h2"},{"title":"WIDGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget-modifiers","content":" The following keywords must follow a WIDGET keyword. ","version":"Next","tagName":"h2"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-3","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire widget or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"Commands","type":0,"sectionRef":"#","url":"/docs/configuration/command","content":"","keywords":"","version":"Next"},{"title":"Command Definition Files​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-definition-files","content":" Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters. Command Keywords ","version":"Next","tagName":"h2"},{"title":"COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command","content":" Defines a new command packet Parameter\tDescription\tRequiredTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse Example Usage: COMMAND INST COLLECT BIG_ENDIAN "Start collect" ","version":"Next","tagName":"h2"},{"title":"COMMAND Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-modifiers","content":" The following keywords must follow a COMMAND keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" PARAMETER DATA 32 32 INT MIN MAX 0 "Data value" PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5 PARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply" PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data" ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JsonPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 APPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply" ","version":"Next","tagName":"h3"},{"title":"ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_parameter","content":" Selects an existing command parameter for editing Must be used in conjunction with SELECT_COMMAND to first select the packet. Typically used to override generated values or make specific changes to commands that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredParameter\tName of the parameter to select for modification\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h3"},{"title":"DELETE_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#delete_parameter","content":" (Since 4.4.1) Deletes an existing command parameter from the packet definition Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter. Parameter\tDescription\tRequiredParameter\tName of the parameter to delete\tTrue Example Usage: SELECT_COMMAND INST COLLECT DELETE_PARAMETER DURATION ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hidden","content":" Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator Hidden commands do not appear in the Script Runner popup helper when writing scripts. The command still exists in the system and can be sent by scripts. ","version":"Next","tagName":"h3"},{"title":"DISABLED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disabled","content":" Disables this command from being sent Hides the command and also disables it from being sent by scripts. Attempts to send DISABLED commands result in an error message. ","version":"Next","tagName":"h3"},{"title":"DISABLE_MESSAGES​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disable_messages","content":" Disable the Server from printing cmd(...) messages. Commands are still logged. ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#meta-1","content":" Stores metadata for the current command Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct command" ","version":"Next","tagName":"h3"},{"title":"HAZARDOUS​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hazardous","content":" Designates the current command as hazardous Sending a hazardous command causes a dialog asking for confirmation before sending the command Parameter\tDescription\tRequiredDescription\tDescription for why the command is hazardous which must be enclosed with quotes\tFalse ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue Argument\tAdditional argument passed to the accessor class constructor\tFalse ","version":"Next","tagName":"h3"},{"title":"TEMPLATE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template","content":" (Since 5.0.10) Defines a template string used to initialize the command before default values are filled in Generally the template string is formatted in JSON or HTML and then values are filled in with command parameters. Must be UTF-8 encoded. Parameter\tDescription\tRequiredTemplate\tThe template string which should be enclosed in quotes\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE_FILE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template_file","content":" (Since 5.0.10) Defines a template file used to initialize the command before default values are filled in Generally the template file is formatted in JSON or HTML and then values are filled in with command parameters. Can be binary or UTF-8. Parameter\tDescription\tRequiredTemplate File Path\tThe relative path to the template file. Filename should generally start with an underscore.\tTrue ","version":"Next","tagName":"h3"},{"title":"RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#response","content":" (Since 5.14.0) Indicates the expected telemetry packet response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry response packet\tTrue Packet Name\tPacket Name of telemetry response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"ERROR_RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#error_response","content":" (Since 5.14.0) Indicates the expected telemetry packet error response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry error response packet\tTrue Packet Name\tPacket Name of telemetry error response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"RELATED_ITEM​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#related_item","content":" (Since 5.14.0) Defines a related telemetry item to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry item\tTrue Packet Name\tPacket Name of related telemetry item\tTrue Item Name\tItem Name of related telemetry item\tTrue ","version":"Next","tagName":"h3"},{"title":"SCREEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#screen","content":" (Since 5.14.0) Defines a related telemetry screen to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry screen\tTrue Screen Name\tScreen Name of related telemetry screen\tTrue ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"RESTRICTED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#restricted","content":" (Since 5.20.0) Marks this packet as restricted and will require approval if critical commanding is enabled Used as one of the two types of critical commands (HAZARDOUS and RESTRICTED) ","version":"Next","tagName":"h3"},{"title":"VALIDATOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#validator","content":" (Since 5.19.0) Defines a validator class for a command Validator class is used to validate the command success or failure with both a pre_check and post_check method. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'.\tTrue Argument\tAdditional argument passed to the validator class constructor\tFalse Ruby Example: VALIDATOR custom_validator.rb Defined in custom_validator.rb: require 'openc3/packets/command_validator' class CustomValidator < OpenC3::CommandValidator def pre_check(packet) if tlm("TGT PKT ITEM") == 0 return [false, "TGT PKT ITEM is 0"] end @cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT") return [true, nil] end def post_check(packet) wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10) return [true, nil] end end Python Example: VALIDATOR custom_validator.rb Defined in custom_validator.py: class CustomValidator(CommandValidator): def pre_check(self, command): if tlm("TGT PKT ITEM") == 0: return [False, "TGT PKT ITEM is 0"] self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT") return [True, None] def post_check(self, command): wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10) return [True, None] ","version":"Next","tagName":"h3"},{"title":"SELECT_COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_command","content":" Selects an existing command packet for editing Typically used in a separate configuration file from where the original command is defined to override or add to the existing command definition. Must be used in conjunction with SELECT_PARAMETER to change an individual parameter. Parameter\tDescription\tRequiredTarget Name\tName of the target this command is associated with\tTrue Command Name\tName of the command to select\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#example-file","content":" Example File: TARGET/cmd_tlm/cmd.txt COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES" POLY_WRITE_CONVERSION 0 0.01745 0 0 PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE" STATE NORMAL 0 STATE DIAG 1 COMMAND TARGET NOOP BIG_ENDIAN "Do Nothing" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA" COMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" <% 5.times do |x| %> APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>" <% end %> ","version":"Next","tagName":"h2"},{"title":"Streaming API","type":0,"sectionRef":"#","url":"/docs/development/streaming-api","content":"Streaming API This documentation is for COSMOS Developers This information is just generally used behind the scenes in COSMOS tools The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested. This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend. The following interactions are all shown in Javascript, but would be very similar in any language. Connecting to this API begins by initiating an ActionCable connection. cable = ActionCable.createConsumer('/openc3-api/cable') This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple “subscriptions”. A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this: subscription = cable.subscriptions.create( { channel: "StreamingChannel", scope: "DEFAULT", token: token, }, { received: (data) => { // Handle received data }, connected: () => { // First chance to add what you want to stream here }, disconnected: () => { // Handle the subscription being disconnected }, rejected: () => { // Handle the subscription being rejected }, } ); Subscribing to the StreamingApi requires passing a channel name set to “StreamingChannel”, a scope which is typically “DEFAULT”, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are connected and received. connected runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open. Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet. Adding items to stream is done as follows: var items = [ ["DECOM__TLM__INST__ADCS__Q1__RAW", "0"], ["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, items: items, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the item name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<ITEM NAME>__<VALUE TYPE>__<REDUCED TYPE>. Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV. Adding packets to stream is done as follows: var packets = [ ["RAW__TLM__INST__ADCS", "0"], ["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, packets: packets, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the packet name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<VALUE TYPE>. Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS). start_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data. Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator. For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet. [ { "time": 1234657585858, "TLM__INST__ADCS__Q1__RAW": 50.0, "TLM__INST__ADCS__Q2__RAW": 100.0 }, { "time": 1234657585859, "TLM__INST__ADCS__Q1__RAW": 60.0, "TLM__INST__ADCS__Q2__RAW": 110.0 } ] For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data. [ { "time": 1234657585858, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "SkdfjGodkdfjdfoekfsg" }, { "time": 1234657585859, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "3i5n49dmnfg9fl32k3" } ] ","keywords":"","version":"Next"},{"title":"Code Generators","type":0,"sectionRef":"#","url":"/docs/getting-started/generators","content":"","keywords":"","version":"Next"},{"title":"Plugin Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#plugin-generator","content":" The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called openc3-cosmos-<name>. For example: % openc3.sh cli generate plugin Usage: cli generate plugin <NAME> % openc3.sh cli generate plugin GSE Plugin openc3-cosmos-gse successfully generated! This creates the following files: Name\tDescription.gitignore\tTells git to ignore any node_modules directory (for tool development) LICENSE.txt\tLicense for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition. openc3-cosmos-gse.gemspec\tGemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: https://guides.rubygems.org/specification-reference/ plugin.txt\tCOSMOS specific file for Plugin creation. Learn more here. Rakefile\tRuby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number README.md\tMarkdown file used to document the plugin requirements.txt\tPython dependencies file (only for Python plugins) While this structure is required, it is not very useful by itself. The plugin generator just creates the framework for other generators to use. ","version":"Next","tagName":"h2"},{"title":"Target Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#target-generator","content":" The target generator creates the scaffolding for a new COSMOS Target. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate target Usage: cli generate target <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate target GSE Target GSE successfully generated! This creates the following files and directories: Name\tDescriptiontargets/GSE\tContains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation. targets/GSE/cmd_tlm\tContains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined). targets/GSE/cmd_tlm/cmd.txt\tExample command configuration. Will need to be edited for the target specific commands. targets/GSE/cmd_tlm/tlm.txt\tExample telemetry configuration. Will need to be edited for the target specific telemetry. targets/GSE/lib\tContains any custom code required by the target. Good examples of custom code are library files, custom interface classes and protocols. targets/GSE/lib/gse.rb/py\tExample library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse. targets/GSE/procedures\tThis folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the Scripting Guide for more information. targets/GSE/procedures/procedure.rb/py\tProcedure with an example of sending a command and checking telemetry targets/GSE/public\tPut image files here for use in Telemetry Viewer Canvas Image widgets such as CANVASIMAGE and CANVASIMAGEVALUE targets/GSE/screens\tContains telemetry screens for the target targets/GSE/screens/status.txt\tExample screen to display telemetry values targets/GSE/target.txt\tTarget configuration such as ignoring command and telemetry items and how to process the cmd/tlm files It also updates the plugin.txt file to add the new target: VARIABLE gse_target_name GSE TARGET GSE <%= gse_target_name %> INTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET <%= gse_target_name %> ","version":"Next","tagName":"h2"},{"title":"Microservice Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#microservice-generator","content":" The microservice generator creates the scaffolding for a new COSMOS Microservice. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate microservice Usage: cli generate microservice <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate microservice background Microservice BACKGROUND successfully generated! This creates the following files and directories: Name\tDescriptionmicroservices/BACKGROUND\tContains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation. microservices/BACKGROUND/background.rb\tFully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response). It also updates the plugin.txt file to add the new microservice: MICROSERVICE BACKGROUND background-microservice CMD ruby background.rb ","version":"Next","tagName":"h2"},{"title":"Conversion Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#conversion-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Conversion. It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example: openc3-cosmos-gse % openc3.sh cli generate conversion Usage: cli generate conversion <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE double Conversion targets/GSE/lib/double_conversion.rb successfully generated! To use the conversion add the following to a telemetry item: READ_CONVERSION double_conversion.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/double_conversion.rb\tFully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values. As the generator states, to use this conversion code you must add it to a telemetry item. For example: TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" READ_CONVERSION double_conversion.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Limits Response Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#limits-response-generator","content":" The limits_response generator creates the scaffolding for a new COSMOS Limits Response. It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example: openc3-cosmos-gse % openc3.sh cli generate limits_response Usage: cli generate limits_response <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe Limits response targets/GSE/lib/safe_limits_response.rb successfully generated! To use the limits response add the following to a telemetry item: LIMITS_RESPONSE safe_limits_response.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/safe_limits_response.rb\tFully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item As the generator states, to use this limits code you must add it to a telemetry item which has limits defined. In the generated GSE target, none of the items have limits defined so you first need to add limits and then add the response. TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS_RESPONSE safe_limits_response.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Widget Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#widget-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Widget for use in Telemetry Viewer Screens. For more information see the Custom Widget guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example: openc3-cosmos-gse % openc3.sh cli generate widget Usage: cli generate widget <SuperdataWidget> openc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget Widget HelloworldWidget successfully generated! Please be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens This creates the following files and directories: Name\tDescriptionsrc/HelloworldWidget.vue\tFully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable. It also updates the plugin.txt file to add the new widget: WIDGET Helloworld ","version":"Next","tagName":"h2"},{"title":"Tool Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#tool-generator","content":" The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see Running a Frontend Application. openc3-cosmos-gse % openc3.sh cli generate tool Usage: cli generate tool 'Tool Name' openc3-cosmos-gse % openc3.sh cli generate widget DataVis Tool datavis successfully generated! Please be sure datavis does not conflict with any other tools This creates the following files and directories: Name\tDescriptionsrc/App.vue\tBasic Vue template to render the application. src/main.js\tEntry point for the new tool which loads Vue, Vuetify, and other libraries. src/router.js\tVue component router. src/tools/datavis\tContains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation. src/tools/datavis/datavis.vue\tFully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable. package.json\tBuild and dependency definition file. Used by npm or yarn to build the tool. vue.config.js\tVue configuration file used to serve the application in development and build the application. <dotfiles>\tVarious dotfiles which help configure formatters and tools for Javascript frontend development It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found here. TOOL datavis "DataVis" INLINE_URL js/app.js ICON mdi-file-cad-box ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS Key Concepts","type":0,"sectionRef":"#","url":"/docs/getting-started/key_concepts","content":"","keywords":"","version":"Next"},{"title":"Projects​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#projects","content":" The main COSMOS repo contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS project to launch COSMOS. The project consists of the openc3.sh and openc3.bat files for starting and stopping COSMOS, the compose.yaml for configuring the COSMOS containers, and the .env file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik. ","version":"Next","tagName":"h2"},{"title":"Containerization​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containerization","content":" ","version":"Next","tagName":"h2"},{"title":"Images​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#images","content":" Per Docker, "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called Alpine Linux. It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a Dockerfile to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend. ","version":"Next","tagName":"h3"},{"title":"Containers​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containers","content":" Per Docker, "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per Docker, "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks. The COSMOS Open Source containers consist of the following: Name\tDescriptioncosmos-openc3-cosmos-init-1\tCopies files to Minio and configures COSMOS then exits cosmos-openc3-operator-1\tMain COSMOS container that runs the interfaces and target microservices cosmos-openc3-cosmos-cmd-tlm-api-1\tRails server that provides all the COSMOS API endpoints cosmos-openc3-cosmos-script-runner-api-1\tRails server that provides the Script API endpoints cosmos-openc3-redis-1\tServes the static target configuration cosmos-openc3-redis-ephemeral-1\tServes the streams containing the raw and decomutated data cosmos-openc3-minio-1\tProvides a S3 like bucket storage interface and also serves as a static webserver for the tool files cosmos-openc3-traefik-1\tProvides a reverse proxy and load balancer with routes to the COSMOS endpoints The container list for Enterprise COSMOS consists of the following: Name\tDescriptioncosmos-enterprise-openc3-metrics-1\tRails server that provides metrics on COSMOS performance cosmos-enterprise-openc3-keycloak-1\tSingle-Sign On service for authentication cosmos-enterprise-openc3-postgresql-1\tSQL Database for use by Keycloak openc3-nfs *\tNetwork File System pod only for use in Kubernetes to share code libraries between containers ","version":"Next","tagName":"h3"},{"title":"Docker Compose​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#docker-compose","content":" Per Docker, "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The compose.yaml is where ports are exposed and environment variables are used. ","version":"Next","tagName":"h3"},{"title":"Environment File​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#environment-file","content":" COSMOS uses an environment file along with Docker Compose to pass environment variables into the COSMOS runtime. This .env file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more. ","version":"Next","tagName":"h3"},{"title":"Kubernetes​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#kubernetes","content":" Per Kubernetes.io, "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." COSMOS Enterprise provides Helm charts for easy deployment to Kubernetes in various cloud environments. COSMOS Enterprise also provides Terraform scripts to deploy COSMOS infrastructure on various cloud environments. ","version":"Next","tagName":"h3"},{"title":"Frontend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#frontend","content":" ","version":"Next","tagName":"h2"},{"title":"Vue.js​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#vuejs","content":" The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per Vue.js, "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the Vuetify Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x. ","version":"Next","tagName":"h3"},{"title":"Single-Spa​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#single-spa","content":" While COSMOS itself is written in Vue.js, we utilize a technology called single-spa to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue. ","version":"Next","tagName":"h3"},{"title":"Astro UX​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#astro-ux","content":" Per AstroUXDS, "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. Astro Clock, COSMOS directly incorporates Astro components. ","version":"Next","tagName":"h3"},{"title":"Backend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#backend","content":" ","version":"Next","tagName":"h2"},{"title":"Redis​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#redis","content":" Redis is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our container list you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into Redis streams. The other redis container contains COSMOS configuration that is meant to persist. COSMOS Enterprise provides helm charts that setup Redis Cluster to perform horizontal scaling where data is shared across multiple Redis nodes. ","version":"Next","tagName":"h3"},{"title":"MinIO​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#minio","content":" MinIO is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. COSMOS Enterprise deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example. ","version":"Next","tagName":"h3"},{"title":"Ruby on Rails​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#ruby-on-rails","content":" The COSMOS API and Script Runner backends are powered by Ruby on Rails. Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks. ","version":"Next","tagName":"h3"},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/getting-started/gettingstarted","content":"","keywords":"","version":"Next"},{"title":"Interfacing with Your Hardware​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#interfacing-with-your-hardware","content":" Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it! Install and Platform This guide assumes we're on Windows and COSMOS is installed in C:\\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory. Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces. If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (Markdown) to describe your program / project. Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure. Python vs Ruby Each CLI command requires the use of --python or --ruby unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'. C:\\openc3-project> openc3.bat cli generate plugin BOB --python Plugin openc3-cosmos-bob successfully generated! This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the Plugin Generator page. Run as the Root user The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively docker run --user=root ) by running cliroot instead of cli in any of the examples. Starting with COSMOS v5.5.0, the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target. C:\\openc3-project> cd openc3-cosmos-bob openc3-cosmos-bob> openc3.bat cli generate target BOB --python Target BOB successfully generated! Generators There are a number of generators available. Run openc3.bat cli generate to see all the available options. The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt: COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" What does this all mean? We created a COMMAND for target BOB named EXAMPLE.The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don't have to worry about defining the bit offset into the packet.First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".Next we APPEND_PARAMETER a parameter called VALUE that is a 32-bit float (FLOAT) that has a minimum value of 0, a maximum value of 10.5, and a default value of 2.5.Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1.Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of "OpenC3". Strings don't have minimum or maximum values as that doesn't make sense for STRING types. Check out the full Command documentation for more. Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt: TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don't match).Next we define three items similar to the command definition above. Check out the full Telemetry documentation for more. COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ID_PARAMETER and ID_ITEM so your packets can be distinguished from each other. Now we need to tell COSMOS how to connect to our BOB target. Open the openc3-cosmos-bob/plugin.txt file: # Set VARIABLEs here to allow variation in your plugin # See [Plugins](../configuration/plugins) for more information VARIABLE bob_target_name BOB # Modify this according to your actual target connection # See [Interfaces](../configuration/interfaces) for more information TARGET BOB <%= bob_target_name %> INTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST MAP_TARGET <%= bob_target_name %> This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name.The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS BURST protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the Interface Guide. The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface. Variables Support Reusability In a plugin that you plan to reuse you should make things like hostnames and ports variables ","version":"Next","tagName":"h2"},{"title":"Building Your Plugin​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#building-your-plugin","content":" Now we need to build our plugin and upload it to COSMOS. openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.0 File: openc3-cosmos-bob-1.0.0.gem Note that the VERSION is required to specify the version to build. We recommend semantic versioning when building your plugin so people using your plugin (including you) know when there are breaking changes. Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on "Click to install plugin" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target. Let's modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value". COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number: openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.1 File: openc3-cosmos-bob-1.0.1.gem Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don't change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin! At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our Github Issues page. If you would like to enquire about support contracts or professional COSMOS development please contact us at support@openc3.com. ","version":"Next","tagName":"h2"},{"title":"Upgrading","type":0,"sectionRef":"#","url":"/docs/getting-started/upgrading","content":"","keywords":"","version":"Next"},{"title":"COSMOS Upgrades​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#cosmos-upgrades","content":" COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release. This example assumes an existing COSMOS project at C:\\cosmos-project. Stop the current COSMOS application C:\\cosmos-project> openc3.bat stop Change the release in the .env file to the desired release OPENC3_TAG=5.1.1 Run the new COSMOS application C:\\cosmos-project> openc3.bat run ","version":"Next","tagName":"h3"},{"title":"Migrating From COSMOS 4 to COSMOS 5​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#migrating-from-cosmos-4-to-cosmos-5","content":" COSMOS 5 is a new architecture and treats targets as independent plugins. Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment. COSMOS 5 includes a migration tool for converting an existing COSMOS 4 configuration into a COSMOS 5 plugin. This example assumes an existing COSMOS 4 configuration at C:\\COSMOS and a new COSMOS 5 installation at C:\\cosmos-project. Linux users can adjust paths and change from .bat to .sh to follow along. Change to the existing COSMOS 4 configuration directory. You should see the config, lib, procedures, outputs directory. You can then run the migration tool by specifying the absolute path to the COSMOS 5 installation. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate -a demo This creates a new COSMOS 5 plugin called openc3-cosmos-demo with a target named DEMO containing the existing lib and procedures files as well as all the existing targets. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate demo-part INST This would create a new COSMOS 5 plugin called openc3-cosmos-demo-part with a target named DEMO_PART containing the existing lib and procedures files as well as the INST target (but no others). Open the new COSMOS 5 plugin and ensure the plugin.txt file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually. Follow the building your plugin part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5. ","version":"Next","tagName":"h3"},{"title":"Telemetry","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry","content":"","keywords":"","version":"Next"},{"title":"Telemetry Definition Files​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-definition-files","content":" Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items. Printing Data Most data types can be printed in a COSMOS script simply by doing print(tlm("TGT PKT ITEM")). However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called formatted to help you view binary data. If ITEM is a BLOCK type containing binary try puts tlm("TGT PKT ITEM").formatted (Ruby) and print(formatted(tlm("TGT PKT ITEM"))) (Python) which will print the bytes out as hex. ","version":"Next","tagName":"h2"},{"title":"ID Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id-items","content":" All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ID_ITEM and APPEND_ID_ITEM. As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set TLM_UNIQUE_ID_MODE in the target.txt file which incurs a performance penalty on every packet identification. ","version":"Next","tagName":"h3"},{"title":"Variable Sized Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#variable-sized-items","content":" COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet. ","version":"Next","tagName":"h3"},{"title":"Derived Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#derived-items","content":" COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition. ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4" Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. READ_CONVERSION, to generate the value. ","version":"Next","tagName":"h3"},{"title":"Received Time and Packet Time​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#received-time-and-packet-time","content":" COSMOS automatically creates several telemetry items on every packet: PACKET_TIMESECONDS, PACKET_TIMEFORMATTED, RECEIVED_COUNT, RECEIVED_TIMEFORMATTED, and RECEIVED_TIMESECONDS. RECEIVED_TIME is the time that COSMOS receives the packet. This is set by the interface which is connected to the target and is receiving the raw data. Once a packet has been created out of the raw data the time is set. PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected. The _TIMEFORMATTED items returns the date and time in a YYYY/MM/DD HH:MM:SS.sss format and the _TIMESECONDS returns the Unix seconds of the time. Internally these are both stored as either a Ruby Time object or Python date object. Example​ COSMOS provides a Unix time conversion class which returns a Ruby Time object or Python date object based on the number of seconds and (optionally) microseconds since the Unix epoch. Note: This returns a native object and not a float or string! Ruby Example: ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS" READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS Python Example: ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS" READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet. Telemetry Keywords ","version":"Next","tagName":"h3"},{"title":"TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry","content":" Defines a new telemetry packet Parameter\tDescription\tRequiredTarget\tName of the target this telemetry packet is associated with\tTrue Command\tName of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this packet is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this telemetry packet which must be enclosed with quotes\tFalse Example Usage: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status" ","version":"Next","tagName":"h2"},{"title":"TELEMETRY Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-modifiers","content":" The following keywords must follow a TELEMETRY keyword. ","version":"Next","tagName":"h2"},{"title":"ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ITEM PKTID 112 16 UINT "Packet ID" ITEM DATA 0 0 DERIVED "Derived data" ","version":"Next","tagName":"h3"},{"title":"ITEM Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item-modifiers","content":" The following keywords must follow a ITEM keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JsonPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse STATE​ Defines a key/value pair for the current item Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the telemetry item and allows for much greater clarity and less chance for user error. A catch all value of ANY applies to all other values not already defined as state values. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value or ANY to apply the state to all other values\tTrue Color\tThe color the state should be displayed as Valid Values: GREEN, YELLOW, RED\tFalse Example Usage: APPEND_ITEM ENABLE 32 UINT "Enable setting" STATE FALSE 0 STATE TRUE 1 STATE ERROR ANY # Match all other values to ERROR APPEND_ITEM STRING 1024 STRING "String" STATE "NOOP" "NOOP" GREEN STATE "ARM LASER" "ARM LASER" YELLOW STATE "FIRE LASER" "FIRE LASER" RED READ_CONVERSION​ Applies a conversion to the current telemetry item Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: READ_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * @multiplier end end end Python Example: READ_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * multiplier POLY_READ_CONVERSION​ Adds a polynomial conversion factor to the current telemetry item The conversion factor is applied to raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_READ_CONVERSION 10 0.5 0.25 SEG_POLY_READ_CONVERSION​ Adds a segmented polynomial conversion factor to the current telemetry item This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_READ_CONVERSION_START​ Start a generic read conversion Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance. Parameter\tDescription\tRequiredConverted Type\tType of the converted value Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tFalse Converted Bit Size\tBit size of converted value\tFalse Ruby Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_READ_CONVERSION_END Python Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_READ_CONVERSION_END GENERIC_READ_CONVERSION_END​ Complete a generic read conversion LIMITS​ Defines a set of limits for a telemetry item If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing. Parameter\tDescription\tRequiredLimits Set\tName of the limits set. If you have no unique limits sets use the keyword DEFAULT.\tTrue Persistence\tNumber of consecutive times the telemetry item must be within a different limits range before changing limits state.\tTrue Initial State\tWhether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state. Valid Values: ENABLED, DISABLED\tTrue Red Low Limit\tIf the telemetry value is less than or equal to this value a Red Low condition will be detected\tTrue Yellow Low Limit\tIf the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detected\tTrue Yellow High Limit\tIf the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detected\tTrue Red High Limit\tIf the telemetry value is greater than or equal to this value a Red High condition will be detected\tTrue Green Low Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.\tFalse Green High Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.\tFalse Example Usage: LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0 LIMITS_RESPONSE​ Defines a response class that is called when the limits state of the current item changes Parameter\tDescription\tRequiredResponse Class Filename\tName of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory.\tTrue Response Specific Options\tVariable length number of options that will be passed to the class constructor\tFalse Ruby Example: LIMITS_RESPONSE example_limits_response.rb 10 Python Example: LIMITS_RESPONSE example_limits_response.py 10 ","version":"Next","tagName":"h3"},{"title":"APPEND_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ITEM PKTID 16 UINT "Packet ID" ","version":"Next","tagName":"h3"},{"title":"ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id_item","content":" Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet. Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_id_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_item","content":" Selects an existing telemetry item for editing Must be used in conjunction with SELECT_TELEMETRY to first select the packet. Typically used to override generated values or make specific changes to telemetry that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredItem\tName of the item to select for modification\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h3"},{"title":"DELETE_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#delete_item","content":" (Since 4.4.1) Delete an existing telemetry item from the packet definition Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item. Parameter\tDescription\tRequiredItem\tName of the item to delete\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS DELETE_ITEM TEMP4 ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#meta-1","content":" Stores metadata for the current telemetry packet Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct tlm_packet" ","version":"Next","tagName":"h3"},{"title":"PROCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#processor","content":" Defines a processor class that executes code every time a packet is received Parameter\tDescription\tRequiredProcessor Name\tThe name of the processor\tTrue Processor Class Filename\tName of the Ruby or Python file which implements the processor. This file should be in the target's lib directory.\tTrue Processor Specific Options\tVariable length number of options that will be passed to the class constructor.\tFalse Ruby Example: PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1 Python Example: PROCESSOR TEMP1HIGH watermark_processor.py TEMP1 ","version":"Next","tagName":"h3"},{"title":"ALLOW_SHORT​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#allow_short","content":" Process telemetry packets which are less than their defined length Allows the telemetry packet to be received with a data portion that is smaller than the defined size without warnings. Any extra space in the packet will be filled in with zeros by OpenC3. ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#hidden","content":" Hides this telemetry packet from all the OpenC3 tools This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator. It also hides this telemetry from appearing in the Script Runner popup helper when writing scripts. The telemetry still exists in the system and can received and checked by scripts. ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue ","version":"Next","tagName":"h3"},{"title":"IGNORE_OVERLAP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#ignore_overlap","content":" (Since 5.16.0) Ignores any packet items which overlap Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword. This ignores overlaps across the entire packet. ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"SELECT_TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_telemetry","content":" Selects an existing telemetry packet for editing Typically used in a separate configuration file from where the original telemetry is defined to override or add to the existing telemetry definition. Must be used in conjunction with SELECT_ITEM to change an individual item. Parameter\tDescription\tRequiredTarget Name\tName of the target this telemetry packet is associated with\tTrue Packet Name\tName of the telemetry packet to select\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group","content":" Defines a group of related limits Items Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled. Parameter\tDescription\tRequiredGroup Name\tName of the limits group\tTrue ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group_item","content":" Adds the specified telemetry item to the last defined LIMITS_GROUP Limits group information is typically kept in a separate configuration file in the config/TARGET/cmd_tlm folder named limits_groups.txt. Parameter\tDescription\tRequiredTarget Name\tName of the target\tTrue Packet Name\tName of the packet\tTrue Item Name\tName of the telemetry item to add to the group\tTrue Example Usage: LIMITS_GROUP SUBSYSTEM LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3 ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#example-file","content":" Example File: TARGET/cmd_tlm/tlm.txt TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target" ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)" ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)" STATE TLM 0 STATE CMD 1 ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG" STATE FALSE 0 STATE TRUE 1 ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID" ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS" STATE FIRST 0 STATE CONT 1 STATE LAST 2 STATE NOGROUP 3 ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT" ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH" ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)" ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)" ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)" ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees" POLY_READ_CONVERSION 0 57.295 ITEM MODE 128 8 UINT "Instrument Mode" STATE NORMAL 0 GREEN STATE DIAG 1 YELLOW ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS" GENERIC_READ_CONVERSION_START FLOAT 32 ((packet.read('ccsdsday') * 86400.0) + (packet.read('ccsdsmsod') / 1000.0) + (packet.read('ccsdsusoms') / 1000000.0) ) GENERIC_READ_CONVERSION_END ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING" GENERIC_READ_CONVERSION_START STRING 216 time = Time.ccsds2mdy(packet.read('ccsdsday'), packet.read('ccsdsmsod'), packet.read('ccsdsusoms')) sprintf('%04u/%02u/%02u %02u:%02u:%02u.%06u', time[0], time[1], time[2], time[3], time[4], time[5], time[6]) GENERIC_READ_CONVERSION_END ","version":"Next","tagName":"h2"},{"title":"Installation","type":0,"sectionRef":"#","url":"/docs/getting-started/installation","content":"","keywords":"","version":"Next"},{"title":"Installing OpenC3 COSMOS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos","content":" The following sections describe how to get OpenC3 COSMOS installed on various operating systems. This document should help you setup you host machine to allow you to have a running version of COSMOS in no time. ","version":"Next","tagName":"h2"},{"title":"Installing OpenC3 COSMOS on Host Machines​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos-on-host-machines","content":" ","version":"Next","tagName":"h2"},{"title":"PREREQUISITES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#prerequisites","content":" If you're on Linux (recommended for production), we recommend installing Docker using the Install Docker Engine instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the Podman documentation. If you're on Windows or Mac, install Docker Desktop. All platforms also need to install Docker Compose. Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk Docker on Windows with WSL2: WSL2 consumes 50% of total memory on Windows or 8GB, whichever is less. However, on Windows builds before 20175 (use winver to check) it consumes 80% of your total memory. This can have a negative effect on Windows performance! On Windows builds < 20175 or for more fine grained control, create C:\\Users\\<username>\\.wslconfig. Suggested contents on a 32GB machine: [wsl2] memory=16GB swap=0 Important: Modify Docker Connection Timeouts Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value vpnKitMaxPortIdleTime to change the timeout (recommend setting to 0). Note: 0 means no timeout (idle connections not dropped) Note: As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image. ","version":"Next","tagName":"h3"},{"title":"CLONE PROJECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#clone-project","content":" We recommend using the COSMOS project template to get started. git clone https://github.com/OpenC3/cosmos-project.git git clone https://github.com/OpenC3/cosmos-enterprise-project.git Offline Installation If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers: ./openc3.sh util save docker.io openc3inc 5.16.2 This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with: ./openc3.sh util load 5.16.2 Note the version specified in save needs to match the version in load. ","version":"Next","tagName":"h3"},{"title":"CERTIFICATES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#certificates","content":" The COSMOS containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. Note: If you set the path to the ssl file in the SSL_CERT_FILE environment variables the openc3 setup script will copy it and place it for the docker container to load. SSL Issues Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else. The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\\Shared\\Ball.pem). Doesn't matter just somewhere with no spaces. Then set the following environment variables to that path (ie. C:\\Shared\\Ball.pem) SSL_CERT_FILE CURL_CA_BUNDLE REQUESTS_CA_BUNDLE Here are some directions on environment variables in Windows: Windows Environment Variables You will need to create new ones with the names above and set their value to the full path to the certificate file. ","version":"Next","tagName":"h3"},{"title":"RUN​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#run","content":" Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\\openc3-project" to the PATH. In Linux you would edit your shell's rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: export PATH=~/cosmos-project:$PATH. Run openc3.bat run (Windows), or ./openc3.sh run (linux/Mac). Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'. If you see an error indicating docker daemon is not running ensure Docker and Docker compose is installed and running. If it errors please try to run docker --version or docker-compose --version and try to run the start command again. If the error continues please include the version in your issue if you choose to create one. Running docker ps can help show the running containers. openc3.* takes multiple arguments. Run with no arguments for help. An example run of openc3.sh with no arguments will show a usage guide. ./openc3.sh Usage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util] * cli: run a cli command as the default user ('cli help' for more info) * cliroot: run a cli command as the root user ('cli help' for more info) * start: start the docker-compose openc3 * stop: stop the running dockers for openc3 * cleanup: cleanup network and volumes for openc3 * run: run the prebuilt containers for openc3 * util: various helper commands ","version":"Next","tagName":"h3"},{"title":"CONNECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#connect","content":" Connect a web browser to http://localhost:2900. Set the password to whatever you want. ","version":"Next","tagName":"h3"},{"title":"NEXT STEPS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#next-steps","content":" Continue to Getting Started. ","version":"Next","tagName":"h3"},{"title":"Feedback​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#feedback","content":" Find a problem in the documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h3"},{"title":"Requirements and Design","type":0,"sectionRef":"#","url":"/docs/getting-started/requirements","content":"","keywords":"","version":"Next"},{"title":"Terminology​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#terminology","content":" The COSMOS system uses several terms that are important to understand. The following table defines these terms. Term\tDefinitionTarget\tA COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from. Command\tA packet of information telling a target to perform an action of some sort. Telemetry Packet\tA packet of information providing status from a target. Interface\tA Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system. Ruby\tThe powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures. Configuration Files\tCOSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable. Packet Log Files\tBinary files containing either logged commands or telemetry packets. Message Log Files\tText files containing messages generated by the system. Tool\tAnother name for a COSMOS application. ","version":"Next","tagName":"h2"},{"title":"Overall Architecture and Context Diagram​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-architecture-and-context-diagram","content":" The following diagram shows the COSMOS 5 architecture. Key aspects of this architecture: COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. COSMOS can connect to many different kinds of targets. The examples include things like Flight software (FSW), Ground Support Equipment (GSE), Labview, and COTS targets such as an Agilent power supply. Any embedded system that provides a communication interface can be connected to COSMOS.COSMOS ships with interfaces for connecting over TCP/IP, UDP, MQTT, and serial connections. This covers most systems, but custom interfaces can also be written to connect to anything.All realtime communication with targets flows through the COSMOS system. This ensures all commands and telemetry are logged.Every tool is configured with plain text configuration files.Program specific tools can be written using the COSMOS libraries that can interact with the realtime command and telemetry streams and can process logged data. ","version":"Next","tagName":"h2"},{"title":"Overall Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-requirements","content":" Reqt. ID\tDescription\tTest DescriptionCOSMOS-1\tAll COSMOS core functionality shall be containerized.\tVerify COSMOS is running in Docker COSMOS-2\tThe COSMOS user interface shall be accessible from Chromium based web browsers\tOpen COSMOS in Chrome/Edge COSMOS-3\tThe COSMOS user interface shall be accessible from the Firefox web browser\tOpen COSMOS in Firefox COSMOS-4\tCOSMOS shall log all commands sent COSMOS-5\tCOSMOS shall log all telemetry received COSMOS-6\tCOSMOS shall decommutate all telemetry packets received COSMOS-7\tCOSMOS shall support autonomously attempting to connect to targets.\tVerify targets are connected upon starting the CTS. COSMOS-8\tCOSMOS shall time stamp telemetry packets upon receipt.\tVerify logged packets are timestamped. COSMOS-9\tCOSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed.\tView time stamps in log. COSMOS-10\tCOSMOS shall time stamp received telemetry with a UTC timestamp.\tVerify logged time stamps are as expected. COSMOS-11\tCOSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered.\tView COSMOS message log. ","version":"Next","tagName":"h2"},{"title":"Api Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#api-requirements","content":" Reqt. ID\tDescription\tTest DescriptionAPI-1\tThe COSMOS API shall allow scripted connection and disconnection of interfaces.\tDisconnect and connect an interface from a script. API-2\tThe COSMOS API shall allow scripted connection and disconnection of routers.\tDisconnect and connect a router from a script. API-3\tThe COSMOS API shall allow scripted setting of the current limits set.\tSelect a different limits set from a script. API-4\tThe COSMOS API shall allow commanding of targets\tSend a command API-5\tThe COSMOS API shall allow reading the current value of any telemetry item\tRead a telemetry point API-6\tThe COSMOS API shall allow streaming realtime and logged telemetry packets\tStream telemetry packets API-7\tThe COSMOS API shall allow streaming realtime and logged command packets\tStream command packets API-8\tThe COSMOS API shall allow starting COSMOS scripts\tStart a script using the API ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-and-telemetry-server","content":" The Command and Telemetry server provides status on the the overall COSMOS installation for a specific scope. Reqt. ID\tDescription\tTest DescriptionCTS-1\tThe Command and Telemetry Server shall display a list of all interfaces.\tView the Interfaces tab. CTS-2\tThe Command and Telemetry Server shall allow manual connection and disconnection of interfaces.\tPress a GUI button to disconnect and connect an interface. CTS-3\tThe Command and Telemetry Server shall display a list of all targets.\tView the Targets tab. CTS-4\tThe Command and Telemetry Server shall display a list of known commands.\tView the Cmd Packets tab. CTS-5\tThe Command and Telemetry Server shall display raw command data for the most recent command received.\tView the Cmd Packets tab and click the View Raw button for a command. CTS-6\tThe Command and Telemetry Server shall display a list of known telemetry packets.\tView the Tlm Packets tab. CTS-7\tThe Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received.\tView the Tlm Packets tab and click the View Raw button for a telemetry packet. CTS-8\tThe Command and Telemetry Server shall display a list of all routers.\tView the Routers tab. CTS-9\tThe Command and Telemetry Server shall allow manual connection and disconnection of routers.\tPress a GUI button to disconnect and connect a router. CTS-10\tThe Command and Telemetry Server shall allow manually setting the current limits set.\tSelect a different limits set from the combobox. CTS-11\tThe Command and Telemetry Server shall support opening telemetry packets in Packet Viewer.\tOn the Tlm Packets tab click View in Packet Viewer for a telemetry packet. CTS-12\tThe Command and Telemetry Server shall display time stamps in local time.\tView time stamps in log. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#limits-monitor","content":" Limits Monitor displays all telemetry points that are currently out of limits and also shows any telemetry points that have gone out of limits since Limits Monitor was started. Reqt. ID\tDescription\tTest DescriptionLM-1\tLimits Monitor shall display all telemetry points currently out of limits.\tView displayed telemetry points. LM-2\tLimits Monitor shall support ignoring telemetry points.\tClick ignore on a telemetry point. LM-3\tLimits Monitor shall keep a displayed log of limits violations.\tView the log tab. LM-4\tLimits Monitor shall continue displaying a telemetry point that temporarily went out of limits.\tWatch until a telemetry points returns to green. LM-5\tLimits Monitor shall support saving its configuration.\tSave the configuration. LM-6\tLimits Monitor shall support loading its configuration.\tLoad the configuration. ","version":"Next","tagName":"h2"},{"title":"Command Sender​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-sender","content":" Command Sender provides an easy method to send single commands to targets. The graphical user interface provides simple dropdowns to quickly select the desired command to send organized by target name and command name. After the user has selected the command, they then fill in the desired command parameters and click send to send the command to the target. Reqt. ID\tDescription\tTest DescriptionCMD-1\tCommand Sender shall allow selection of a command by target name and packet name.\tSelect a specific command by target name and packet name in the drop down menus. CMD-2\tCommand Sender shall allow sending the selected command.\tSend the selected command by pressing the Send button. CMD-3\tCommand Sender shall display non-ignored parameters for the selected command.\tSelect a specific command and verify the expected parameters are shown. CMD-4\tCommand Sender shall provide a mechanism to select state values for command parameters with states.\tSelect a specific state value for a specific command with states. CMD-5\tCommand Sender shall allow sending a manually entered value for a command parameter with states.\tManually enter a value for a specific command with states. CMD-6\tCommand Sender shall refuse to send commands if required parameters are not provided.\tAttempt to send a command with a required parameter not filled out. CMD-7\tCommand Sender shall support sending commands while ignoring range checking.\tEnter Ignore Range Checking mode and then send a command with an out of range parameter. CMD-8\tCommand Sender shall optionally display state values in hex.\tEnter "Display State Values in Hex" mode and verify state values are displayed as hex. CMD-9\tCommand Sender shall optionally display ignored command parameters.\tEnter "Show Ignored Parameters" mode and verify ignored parameters are displayed. CMD-10\tCommand Sender shall respect hazardous commands and notify the user before proceeding.\tSend a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send. CMD-11\tCommand Sender shall keep a command history of each command sent.\tSend a command and verify that it shows up in the command history box. CMD-12\tCommand Sender shall allow resending of any command in the command history.\tResend one of the commands in the command history box. ","version":"Next","tagName":"h2"},{"title":"Script Runner​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#script-runner","content":" Script Runner provides a visual interface for editing and executing scripts/procedures. A full featured text editor provides syntax highlighting and code completion while developing scripts. During script execution, the currently executing line is highlighted and any logged messages are highlighted to the user. If any failure occurs, the script is paused and the user alerted. The user can then decide whether to stop the script, or ignore the failure and continue. The user can also retry the failed lines, or other nearby lines before proceeding. Script Runner now also provides a structured methodology for designing system level scripting that mirrors the very successful pattern used in software unit tests (previously implemented in the Test Runner tool). System level tests/procedures are built up of cases that are organized into groups. For example, you might have one group that verified all of the requirements associated with a particular mechanism. Ideally you would break this down into individual cases for different scenarios. One perhaps for opening a shutter, another for closing it, etc. Cases are ideally small and independent tasks. A number of these groups are then combined into an overall suite which would be run to execute a major test such as EMI, or software FQT. Reqt. ID\tDescription\tTest DescriptionSR-1\tScript Runner shall provide a text editor for developing test scripts.\tOpen Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines. SR-2\tScript Runner shall provide search and replace functionality.\tPerform all standard search and replace functionality, including search, replace, find next, and find previous. SR-3\tScript Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported.\tCreate a script and exercise code completion on the mentioned keywords. SR-4\tScript Runner shall execute Ruby-based COSMOS scripts.\tPress start and execute a script. SR-5\tScript Runner shall highlight the currently executing line of the script.\tVerify that lines are highlighted as a test script executes. SR-6\tScript Runner shall allow pausing an executing script.\tPress pause button and verify script is paused. Press start to resume. SR-7\tScript Runner shall allow stopping an executing script.\tPress stop and verify script stops. SR-8\tScript Runner shall pause an executing script upon the occurrence of an error.\tCreate a script with a statement that is guaranteed to fail and verify that the script is paused. SR-9\tScript Runner shall log commands sent.\tExecute a script that sends a command and verify it is logged. SR-10\tScript Runner shall log text written to STDOUT. Note: Typically through the puts method.\tExecute a script that uses puts to write a message and verify it is logged. SR-11\tScript Runner shall log wait times.\tExecute a script that includes a wait method and verify wait time is logged. SR-12\tScript Runner shall log errors that occur while the script is executing.\tCreate a script with a check statement that is guaranteed to fail and verify it is logged. SR-13\tScript Runner shall log check statement success and failure.\tCreate a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged. SR-14\tScript Runner shall support executing selected lines.\tSelect a set of lines and execute them using Script->Execute Selected Lines. SR-15\tScript Runner shall support executing selected lines while paused.\tSelect a set of lines and execute them from the right-click context menu. SR-16\tScript Runner shall support starting a script from any line.\tPlace the mouse cursor at the desired first line and then select Script->Execute From Cursor. SR-17\tScript Runner shall support a mnemonic checking function.\tSelect Script->Mnemonic Check. SR-18\tScript Runner shall support a syntax checking function.\tSelect Script->Ruby Syntax Check. SR-19\tScript Runner shall support viewing the script instrumentation.\tSelect Script->View Instrumented Script. SR-20\tScript Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server.\tSelect Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion. SR-21\tScript Runner shall support a Debug terminal to aid in debugging scripts.\tSelect Script->Toggle Debug. SR-22\tScript Runner shall support a step mode where the script will stop and wait for use interaction after each line.\tPress Step to progress through the script. SR-23\tScript Runner shall support breakpoint functionality.\tCreate a breakpoint then execute the script and verify it stops at the specified line. SR-25\tScript Runner Suite Mode shall support executing individual test suites.\tExecute an individual test suite. SR-26\tScript Runner Suite Mode shall support executing individual test groups.\tExecute an individual test group. SR-27\tScript Runner Suite Mode shall support executing individual test cases.\tExecute an individual test case. SR-28\tScript Runner Suite Mode shall support executing test group setup and teardown methods individually.\tExecute a test group setup. Execute a test group teardown. SR-29\tScript Runner Suite Mode shall support executing test suite setup and teardown methods individually.\tExecute a test suite setup. Execute a test suite teardown. SR-30\tScript Runner Suite Mode shall create a report after executing any suite test.\tVerify a report is generated after executing a suite. SR-31\tScript Runner Suite Mode shall support pausing when an error occurs.\tExecute a test script with the pause on error box checked and without. SR-32\tScript Runner Suite Mode shall support allowing the user to proceed on an error.\tExecute a test script with the Allow go/retry on error box checked and without. SR-33\tScript Runner Suite Mode shall support aborting execution on an error.\tExecute a test script with the abort on error box checked and without. SR-34\tScript Runner Suite Mode shall support looping a test.\tExecute a test script with the loop testing box checked and without. SR-35\tScript Runner Suite Mode shall support breaking the looping of a test on error.\tExecute a test script with the break loop on error box checked and without. SR-36\tScript Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring.\tExecute a test script that checks the $loop_testing variable while looping and again while not looping. SR-37\tScript Runner Suite Mode shall support a user readable flag indicating manual operations are desired.\tExecute a test script with the manual box checked and without. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#packet-viewer","content":" Packet Viewer provides a simple tool to view the realtime contents of any telemetry packet defined in the system in a tabular, key-value format. Reqt. ID\tDescription\tTest DescriptionPV-1\tPacket Viewer shall allow selection of a telemetry packet by target name and packet name.\tSelect a specific telemetry packet by target name and packet name in the drop down menus. PV-2\tPacket Viewer shall display the contents of the selected telemetry packet.\tEnsure all items of the selected telemetry packet are displayed and updating. PV-3\tPacket Viewer shall provide a mechanism to get detailed information on a telemetry item.\tRight click on a telemetry item and select "Details" from the context menu. PV-4\tPacket Viewer shall provide a mechanism to view a graph of any telemetry item.\tRight click on a telemetry item and select "Graph" from the context menu. PV-5\tPacket Viewer shall color telemetry values based upon limits state.\tView a packet with items containing limits and verify they are colored. PV-6\tPacket Viewer shall support a configurable polling rate.\tSelect File->Options and change the polling rate. PV-7\tPacket Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind.\tSelect View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color. PV-8\tPacket Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)\tIn the View menu, select each of the four value types and verify values are displayed accordingly. ","version":"Next","tagName":"h2"},{"title":"Telemetry Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-viewer","content":" Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways. Reqt. ID\tDescription\tTest DescriptionTV-1\tTelemetry Viewer shall display user-defined telemetry screens.\tOpen a telemetry TV-2\tTelemetry Viewer shall display realtime data.\tVerify telemetry screens show realtime data. TV-3\tTelemetry Viewer shall support saving open telemetry screens and their positions.\tOpen three telemetry screens and then select File->Save Configuration. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-grapher","content":" Telemetry Grapher performs graphing of telemetry points in both realtime and log file playback. Reqt. ID\tDescription\tTest DescriptionTG-1\tTelemetry Grapher shall provide line graphs of telemetry points.\tAdd several housekeeping data objects to a plot. TG-2\tTelemetry Grapher shall support realtime graphing of telemetry.\tPress Start to start realtime graphing. TG-3\tTelemetry Grapher shall support graphing data from logged telemetry.\tSelect the menu option to graph data from a logged data TG-4\tTelemetry Grapher shall support multiple plots per browser tab.\tAdd multiple plots. TG-5\tTelemetry Grapher shall support multiple telemetry points per plot.\tAdd multiple data objects to one plot. TG-6\tTelemetry Grapher shall support saving a variable number of data points.\tEdit Points Saved. TG-7\tTelemetry Grapher shall support graphing a variable duration of time.\tEdit Seconds Plotted. TG-8\tTelemetry Grapher shall support graphing a variable number of data points.\tEdit Points Plotted. TG-9\tTelemetry Grapher shall support saving its configuration.\tSave the current configuration. TG-10\tTelemetry Grapher shall support loading its configuration.\tLoad the previously saved configuration. ","version":"Next","tagName":"h2"},{"title":"Data Extractor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-extractor","content":" Data Extractor processes logged data and extracts data into a CSV format for analysis in Excel or other tools. Reqt. ID\tDescription\tTest DescriptionDE-1\tData Extractor shall support adding individual telemetry points.\tAdd an individual telemetry point. DE-2\tData Extractor shall support adding entire telemetry packets.\tAdd an entire packet. DE-3\tData Extractor shall support adding entire telemetry targets.\tAdd all packets for a target. DE-4\tData Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)\tClick an item and change the value type. DE-5\tData Extractor shall support saving configurations.\tSelect File->Save Config DE-6\tData Extractor shall support loading configurations.\tSelect File->Load Config DE-7\tData Extractor shall support deleting items\tSelect an Item and press delete ","version":"Next","tagName":"h2"},{"title":"Data Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-viewer","content":" Data Viewer provides for textual display of telemetry packets where other display methods are not a good fit. It is especially useful for memory dumps and for log message type data display. Reqt. ID\tDescription\tTest DescriptionDV-1\tData Viewer shall support realtime processing of telemetry packets.\tPress Start to start realtime processing. DV-2\tData Viewer shall support logged playback of telemetry packets.\tSelect a time range to playback. DV-3\tData Viewer shall support textual display of telemetry packets.\tView the display of data. DV-4\tData Viewer shall support multiple tabs for data display.\tSwitch between several tabs of data. DV-5\tData Viewer shall support deleting tabs.\tDelete a tab. ","version":"Next","tagName":"h2"},{"title":"Calendar​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#calendar","content":" The Calendar tool provides a user interface and API for initiating scheduled actions in COSMOS Reqt. ID\tDescription\tTest DescriptionTL-1\tCalendar shall allow creating new timelines\tClick the button and create a new timeline TL-2\tCalendar shall allow scheduling commands for future execection\tAdd a command to a timeline TL-3\tCalendar shall allow scheduling scripts for future execution\tAdd a script to a timeline TL-4\tCalendar shall allow for reserving a resource\tAdd a reservation to a timeline TL-5\tCalendar shall track success or failure of commands\tLook at status from a completed command TL-6\tCalendar shall track success or failure of scripts\tLook at status from a completed script TL-7\tCalendar shall allow deleting activities from timelines\tDelete a preexisting item from a timeline TL-8\tCalendar shall allow deleting timelines\tDelete a timeline ","version":"Next","tagName":"h2"},{"title":"Admin​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#admin","content":" The Admin tool provides administrative functionality including managing plugins for the COSMOS system Reqt. ID\tDescription\tTest DescriptionAD-1\tThe Admin Tool shall allow installing plugins\tUpload and Install a Plugin AD-2\tThe Admin Tool shall support upgrading plugins\tUpgrade an installed plugin AD-3\tThe Admin Tool shall support uninstalling plugins\tUninstall a plugin AD-4\tThe Admin Tool shall display information on installed plugins\tView info on Interfaces, Microservices, etc AD-5\tThe Admin Tool shall support editing microservices\tEdit the settings for a microservice AD-6\tThe Admin Tool shall support discovery of plugins\tDiscover and download a plugin AD-7\tThe Admin Tool shall support adding links to external tools\tAdd a link to Google AD-8\tThe Admin Tool shall support reordering tools\tReorder tools on the tools tab AD-9\tThe Admin Tool shall support configuring a classification bar\tAdd a classification bar on the settings tab ","version":"Next","tagName":"h2"},{"title":"COSMOS and NASA cFS","type":0,"sectionRef":"#","url":"/docs/guides/cfs","content":"","keywords":"","version":"Next"},{"title":"Working configuration​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#working-configuration","content":" This tutorial has been tested using the following components: COSMOS v5 release 5.0.6cFS master-branch commit: 561b128 (June 1, 2022)Docker Desktop 4.9.0 on Windows Replace all <xxxxxx> with your matching paths and names. Example: <USERNAME>. ","version":"Next","tagName":"h2"},{"title":"Setting up COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cosmos","content":" Install COSMOS according to the official installation instructions. ","version":"Next","tagName":"h2"},{"title":"Configuring COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#configuring-cosmos","content":" Change the Docker configuration for the interoperability with NASA cFS. For subscribing to the telemetry, you have to append a port binding in the filecompose.yaml under the section openc3-operator. The port number has to match with the port number cFS is sending the telemetry on. openc3-operator: ports: - "1235:1235/udp" Run COSMOS, the first run takes a while (~15 min). openc3.sh start When started, connect with a browser to http://localhost:2900. For shutting down COSMOS: openc3.sh stop ","version":"Next","tagName":"h3"},{"title":"Setting up cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cfs","content":" To run NASA cFS as a Docker container do the following: ","version":"Next","tagName":"h2"},{"title":"Clone cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#clone-cfs","content":" git clone --recurse-submodules https://github.com/nasa/cFS.git ","version":"Next","tagName":"h3"},{"title":"Create Dockerfile in cFS dir​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#create-dockerfile-in-cfs-dir","content":" FROM ubuntu:22.10 AS builder ARG DEBIAN_FRONTEND=noninteractive ARG SIMULATION=native ENV SIMULATION=${SIMULATION} ARG BUILDTYPE=debug ENV BUILDTYPE=${BUILDTYPE} ARG OMIT_DEPRECATED=true ENV OMIT_DEPRECATED=${OMIT_DEPRECATED} RUN \\ apt-get update && \\ apt-get -y upgrade && \\ apt-get install -y build-essential git cmake && \\ rm -rf /var/lib/apt/lists/* WORKDIR /cFS COPY . . RUN git submodule init \\ && git submodule update \\ && cp cfe/cmake/Makefile.sample Makefile \\ && cp -r cfe/cmake/sample_defs . RUN make prep RUN make RUN make install FROM ubuntu:22.10 COPY --from=builder /cFS/build /cFS/build WORKDIR /cFS/build/exe/cpu1 ENTRYPOINT [ "./core-cpu1" ] ","version":"Next","tagName":"h3"},{"title":"Build and run cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#build-and-run-cfs","content":" Note we're connecting to the COSMOS network (docker network ls) and exposing the cFS ports. docker build -t cfs . docker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs ","version":"Next","tagName":"h3"},{"title":"Creating a COSMOS plugin for TM/TC interface with cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-a-cosmos-plugin-for-tmtc-interface-with-cfs","content":" The detailed instructions how to create a plugin, can be foundhere, in the chapter "Interfacing with Your Hardware". Create a new plugin with the name CFS. CFS is the name of the plugin and must be in capital letters according to the COSMOS documentation. This command should create the plugin structure. Then cd into the plugin to create the target. # cd .. to the location of the cfs dir $PATH_TO_OPENC3/openc3.sh cli generate plugin CFS cd openc3-cosmos-cfs $PATH_TO_OPENC3/openc3.sh cli generate target CFS In this newly created plugin, change the plugin.txt file, so that the communication happens over UDP. port_tm is the port number on which cFS sends the telemetry messages. port_tc indicates the port on which cFS listens to the telecommands. VARIABLE ip 127.0.0.1 VARIABLE port_tm 1235 VARIABLE port_tc 1234 VARIABLE cfs_target_name CFS TARGET CFS <%= cfs_target_name %> # hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address INTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil MAP_TARGET <%= cfs_target_name %> Note that the two arguments to the TARGET parameter are: the physical target name that should match the name of the plugin, i.e. CFS. This name must match the folder name in the targets folder. Example: for theCFS plugin, the target specifications must be underopenc3-cfs/targets/CFS. If you don't follow this convention, the server will refuse to install your plugin at the following steps. the name of your target and how it is shown in the user interface. In this example, we keep both names to be CFS. ","version":"Next","tagName":"h2"},{"title":"Creating TM/TC definitions​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-tmtc-definitions","content":" Change to the target folder and remove the existing files and create own files. cd openc3-cfs/targets/CFS/cmd_tlm rm * touch cfs_cmds.txt touch cfs_tlm.txt touch to_lab_cmds.txt Open these newly created files in a text editor and fill them with following content. to_lab_cmds.txt: COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry" # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet" APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 "" FORMAT_STRING "0x%2X" APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57" Enabling Telemetry The command 0x1880 is needed to enable telemetry. When the cFS receives this command, it starts sending telemetry to the IP address provided via theDEST_IP field. cfs_cmds.txt: COMMAND CFS NOOP BIG_ENDIAN "NOOP Command" # cFS primary header APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" # cFS CMD secondary header APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS RESET BIG_ENDIAN "Reset Counters Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS PROCESS BIG_ENDIAN "Process Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" cfs_tlm.txt: TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry" # NAME BITS TYPE ID DESCRIPTION APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID" FORMAT_STRING "0x%04X" APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence" FORMAT_STRING "0x%04X" APPEND_ITEM PKT_LEN 16 UINT "Length of the packet" # telemetry secondary header APPEND_ITEM SECONDS 32 UINT "" UNITS Seconds sec APPEND_ITEM SUBSECS 16 UINT "" UNITS Milliseconds ms # some bytes not known for what APPEND_ITEM SPARE2ALIGN 32 UINT "Spares" # payload APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter" APPEND_ITEM CMD_CNT 8 UINT "Command Counter" # spare / alignment APPEND_ITEM SPARE 16 UINT "Spares" Build the plugin from the base of your plugin folder: # cd openc3-cfs $PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0 Plugin versioning Do not forget to change the version number with every build if you want to better distinguish between the versions of the plugin. When the version is seen in the plugin's .gem file name, it is easier to visualize the existing versions and the newly uploaded versions. Plugin parameters Multiple parameters are available for the plugin configuration. See the plugin page. ","version":"Next","tagName":"h2"},{"title":"Uploading the plugin​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#uploading-the-plugin","content":" After the plugin has been built, you can import the plugin in the admin area of the page. Connect with a browser tohttp://localhost:2900/tools/admin. Click on the clip icon and navigate to where your plugin is stored and select the openc3-cosmos-cfs-1.0.0.gem file. Right of the selection line click on UPLOAD. Determine the IP address the cFS container and COSMOS operator container are running at: docker network ls NETWORK ID NAME DRIVER SCOPE d842f813f1c7 openc3-cosmos-network bridge local docker network inspect openc3-cosmos-network [ { "Name": "openc3-cosmos-network", ... "Containers": { "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": { "Name": "cfs", "IPv4Address": "172.20.0.9/16", }, "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": { "Name": "openc3_openc3-operator_1", "IPv4Address": "172.20.0.8/16", } } ... } ] When using this plugin, make sure to change the ip variable during uploading to match where cFS is running. In the example above you would set it to 172.20.0.9.port_tm is the port number on which cFS is sending the telemetry messages.port_tc indicates the port on cFS is listening for telecommands. Under cfs_target_name you can change the target name of this plugin. This step is optional as long as you are fine with your plugin showing up as CFS. Port subscription The last uploaded plugin on COSMOS will subscribe to TM on port 1235. Other plugins will not receive any TM anymore. Typo errors Presence of typos in one of the plugin files can cause problems when uploading and installing the plugin's .gem file. Make sure your configuration is typo-free. In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect tohttp://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE. Change the DEST_IP to the IP address of the operator image (172.20.0.8) and send the command. Under http://localhost:2900/tools/cmdtlmserver/tlm-packets, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader. ","version":"Next","tagName":"h2"},{"title":"Podman","type":0,"sectionRef":"#","url":"/docs/getting-started/podman","content":"","keywords":"","version":"Next"},{"title":"OpenC3 COSMOS Using Rootless Podman and Docker-Compose​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#openc3-cosmos-using-rootless-podman-and-docker-compose","content":" Optional Installation Option These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method. Podman is an alternative container technology to Docker that is actively promoted by RedHat. The key benefit is that Podman can run without a root-level daemon service, making it significantly more secure by design, over standard Docker. However, it is a little more complicated to use. These directions will get you up and running with Podman. The following directions have been tested against RHEL 8.8, and RHEL 9.2, but should be similar on other operating systems. Rootless Podman Does Not Work (Directly) with NFS Home Directories NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [https://www.redhat.com/sysadmin/rootless-podman-nfs]https://www.redhat.com/sysadmin/rootless-podman-nfs). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See https://www.redhat.com/sysadmin/nfs-rootless-podman Redhat 8.8 and 9.2 Instructions Install Prerequisite Packages Note: This downloads and installs docker-compose from the latest 2.x release on Github. If your operating system has a docker-compose package, it will be easier to install using that instead. RHEL8 does not have a docker-compose package. sudo yum update sudo yum install git podman-docker netavark curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose sudo mv docker-compose /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose Configure Host OS for Redis sudo su echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag sysctl -w vm.max_map_count=262144 exit Configure Podman to use Netavark for DNS sudo cp /usr/share/containers/containers.conf /etc/containers/. sudo vi /etc/containers/containers.conf Then edit the network_backend line to be "netavark" instead of "cni" Start rootless podman socket service systemctl enable --now --user podman.socket Put the following into your .bashrc file (or .bash_profile or whatever) export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock" Source the profile file for your current terminal source .bashrc Get COSMOS - A release or the current main branch (main branch shown) git clone https://github.com/OpenC3/cosmos.git Optional - Set Default Container Registry If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly) mkdir -p $HOME/.config/containers cp /etc/containers/registries.conf $HOME/.config/containers/. vi $HOME/.config/containers/registries.conf Then edit the unqualified-search-registries = line to just have the registry you care about (probably docker.io) Edit cosmos/compose.yaml cd cosmos vi compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. You may also want to update the traefik configuration to allow access from the internet by removing 127.0.0.1 and probably switching to either an SSL config file, or the allow http one. Also make sure your firewall allows whatever port you choose to use in. Rootless podman will need to use a higher numbered port (not 1-1023). Run COSMOS ./openc3.sh run Wait until everything is built and running and then goto http://localhost:2900 in your browser Podman on MacOS Podman can also be used on MacOS, though we still generally recommend Docker Desktop ","version":"Next","tagName":"h3"},{"title":"MacOS Instructions​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#macos-instructions","content":" Install podman brew install podman Start the podman virtual machine podman machine init podman machine start # Note: update to your username in the next line or copy paste from what 'podman machine start' says export DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock' Install docker-compose brew install docker-compose # Optional if you already have Docker Desktop Edit cosmos/compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. Important: on MacOS you must also remove all :z from the volume mount lines You may also want to update the traefik configuration to allow access from the internet. Run COSMOS cd cosmos ./openc3.sh run ","version":"Next","tagName":"h2"},{"title":"Custom Widgets","type":0,"sectionRef":"#","url":"/docs/guides/custom-widgets","content":"","keywords":"","version":"Next"},{"title":"Custom Widgets​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#custom-widgets","content":" We're basically going to follow the COSMOS Demo and explain how that custom widget was created. If you look at the bottom of the Demo's plugin.txt file you'll see we declare the widgets: WIDGET BIG WIDGET HELLOWORLD When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at tools/widgets/BigWidget/BigWidget.umd.min.js. Similarly it looks for HELLOWORLD at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. These directories and file names may seem mysterious but it's all about how the widgets get built. ","version":"Next","tagName":"h2"},{"title":"Helloworld Widget​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#helloworld-widget","content":" The Helloworld Widget source code is found in the plugin's src directory and is called HelloworldWidget.vue. The basic structure is as follows: <template> <!-- Implement widget here --> </template> <script> import Widget from "@openc3/tool-common/src/components/widgets/Widget"; export default { mixins: [Widget], data() { return { // Reactive data items }; }, }; </script> <style scoped> /* widget specific style */ </style> Vue & Vuetify For more information about how the COSMOS frontend is built (including all the Widgets) please check out Vue.js and Vuetify. To build this custom widget we changed the Demo Rakefile to call yarn run build when the plugin is built. yarn run XXX looks for 'scripts' to run in the package.json file. If we open package.json we find the following: "scripts": { "build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget" }, This uses the vue-cli-service to build the code found at src/HelloworldWidget.vue and formats as umd-min and puts it in the tools/widgets/HelloworldWidget directory. So this is why the plugin looks for the plugin at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. Click here for the vue-cli-service build documentation. If you look at the Demo plugin's simple.txt screen you'll see we're using the widgets: SCREEN AUTO AUTO 0.5 LABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT HELLOWORLD BIG <%= target_name %> HEALTH_STATUS TEMP1 Opening this screen in Telemetry Viewer results in the following: While this is a simple example the possibilities with custom widgets are limitless! ","version":"Next","tagName":"h3"},{"title":"Little Endian Bitfields","type":0,"sectionRef":"#","url":"/docs/guides/little-endian-bitfields","content":"Little Endian Bitfields Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields. Here are the rules on how COSMOS handles LITTLE_ENDIAN data: COSMOS bit offsets are always defined in BIG_ENDIAN terms. Bit 0 is always the most significant bit of the first byte in a packet, and increasing from there. All 8, 16, 32, and 64-bit byte-aligned LITTLE_ENDIAN data types define their bit_offset as the most significant bit of the first byte in the packet that contains part of the item. (This is exactly the same as BIG_ENDIAN). Note that for all except 8-bit LITTLE_ENDIAN items, this is the LEAST significant byte of the item. LITTLE_ENDIAN bit fields are defined as any LITTLE_ENDIAN INT or UINT item that is not 8, 16, 32, or 64-bit and byte aligned. LITTLE_ENDIAN bit fields must define their bit_offset as the location of the most significant bit of the bitfield in BIG_ENDIAN space as described in rule 1 above. So for example. The following C struct at the beginning of a packet would be defined like so: struct { unsigned short a:4; unsigned short b:8; unsigned short c:4; } ITEM A 4 4 UINT "struct item a" ITEM B 12 8 UINT "struct item b" ITEM C 8 4 UINT "struct item c" This is hard to visualize, but the structure above gets spread out in a byte array like the following after byte swapping: least significant 4 bits of b, 4-bits a, 4-bits c, most significant 4 bits of b. The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary.","keywords":"","version":"Next"},{"title":"Local Mode","type":0,"sectionRef":"#","url":"/docs/guides/local-mode","content":"","keywords":"","version":"Next"},{"title":"Using Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#using-local-mode","content":" In this tutorial we will use the COSMOS Demo as configured by the Installation Guide. You should have cloned a cosmos-project and started it using openc3.sh run. If you check the project directory you should see a plugins/DEFAULT/openc3-cosmos-demo directory. This will contain both the gem that was installed and a plugin_instance.json file. The plugin_instance.json file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later. ","version":"Next","tagName":"h2"},{"title":"Editing scripts​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#editing-scripts","content":" Visual Studio Code This tutorial will use VS Code which is the editor used by the COSMOS developers. The most common use case for Local Mode is script development. Launch Script Runner and open the INST/procedures/checks.rb file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to plugins/targets_modified/INST/procedures/checks.rb. At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: # This is a script. Now if we go back to Script Runner the changes have not automatically appeared. However, there is a Reload button next to the filename that will refresh the file from the backend. Clicking this reloads the file which has been synced into COSMOS and now we see our comment. ","version":"Next","tagName":"h3"},{"title":"Disabling Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#disabling-local-mode","content":" If you want to disable Local Mode you can edit the .env file and delete the setting OPENC3_LOCAL_MODE=1. ","version":"Next","tagName":"h3"},{"title":"Configuration Management​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#configuration-management","content":" It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory. At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI. openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-demo Version: 1.0.1 File: openc3-cosmos-demo-1.0.1.gem Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL. When the new plugin is installed, the project's plugins directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install. Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS. ","version":"Next","tagName":"h2"},{"title":"Bridges","type":0,"sectionRef":"#","url":"/docs/guides/bridges","content":"","keywords":"","version":"Next"},{"title":"Bridges are Generally Just an Interface and Router​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridges-are-generally-just-an-interface-and-router","content":" Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to COSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation protocol like LENGTH. ","version":"Next","tagName":"h2"},{"title":"Host Requirements for Running Bridges​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#host-requirements-for-running-bridges","content":" Requires a host Ruby installation (Ruby 3)Install the OpenC3 gem gem install openc3 Make sure the Ruby gem executable path is in your PATH environment variable You can find this path by running gem environment and looking for EXECUTABLE DIRECTORY If successful, you should be able to run openc3cli from a terminal ","version":"Next","tagName":"h2"},{"title":"Bridge Configuration: bridge.txt​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-configuration-bridgetxt","content":" Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword. The following is the default bridge.txt that is generated by running openc3cli bridgesetup # Write serial port name VARIABLE write_port_name COM1 # Read serial port name VARIABLE read_port_name COM1 # Baud Rate VARIABLE baud_rate 115200 # Parity - NONE, ODD, or EVEN VARIABLE parity NONE # Stop bits - 0, 1, or 2 VARIABLE stop_bits 1 # Write Timeout VARIABLE write_timeout 10.0 # Read Timeout VARIABLE read_timeout nil # Flow Control - NONE, or RTSCTS VARIABLE flow_control NONE # Data bits per word - Typically 8 VARIABLE data_bits 8 # Port to listen for connections from COSMOS - Plugin must match VARIABLE router_port 2950 # Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened # if COSMOS is on another machine. VARIABLE router_listen_address 127.0.0.1 INTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %> OPTION FLOW_CONTROL <%= flow_control %> OPTION DATA_BITS <%= data_bits %> ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS <%= router_listen_address %> VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access this server using the host.docker.internal hostname and the configured port (2950 in this example). ","version":"Next","tagName":"h2"},{"title":"Bridge Commands: openc3cli​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-commands-openc3cli","content":" openc3cli bridgesetup Generates a bridge.txt example file openc3cli bridge [filename] [variable1=value1] [variable2=value2] Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults. openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2] Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults. ","version":"Next","tagName":"h2"},{"title":"Example Bridge Gems​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#example-bridge-gems","content":" Serial Port: openc3-cosmos-bridge-serialHost: openc3-cosmos-bridge-hostHIDAPI: openc3-cosmos-bridge-hidapiPS5 Dual Sense Controller: openc3-cosmos-bridge-dualsense ","version":"Next","tagName":"h2"},{"title":"Note on Serial Ports​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#note-on-serial-ports","content":" Serial ports can be used directly without bridges on Linux Docker installations. Add the following to the operator service in compose.yaml: devices: - "/dev/ttyUSB0:/dev/ttyUSB0" Make sure the serial device has permissions for the user running Docker to access: sudo chmod 666 /dev/ttyUSB0 ","version":"Next","tagName":"h2"},{"title":"Logging","type":0,"sectionRef":"#","url":"/docs/guides/logging","content":"","keywords":"","version":"Next"},{"title":"decom_logs & raw_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#decom_logs--raw_logs","content":" The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory: Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the Log Structure developer documentation. The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first. To change the logging settings add the various CYCLE_TIME Target Modifiers under the declared TARGET name in your plugin.txt. ","version":"Next","tagName":"h3"},{"title":"text_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#text_logs","content":" The text_logs folder contains openc3_log_messages which contains text files that are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked. These log messages files are long term records of the messages in the CmdTlmServer Log Messages window: ","version":"Next","tagName":"h3"},{"title":"tool_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#tool_logs","content":" The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file. ","version":"Next","tagName":"h3"},{"title":"Raspberry Pi","type":0,"sectionRef":"#","url":"/docs/guides/raspberrypi","content":"","keywords":"","version":"Next"},{"title":"COSMOS Running on Raspberry Pi 4​","type":1,"pageTitle":"Raspberry Pi","url":"/docs/guides/raspberrypi#cosmos-running-on-raspberry-pi-4","content":" The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running. What you'll need: Raspberry Pi 4 board (tested with 8GB RAM)A Pi Case but OptionalRaspbeerry Pi Power Supply32GB or Larger SD Card - Also faster the betterA Laptop with a way to write SD Cards Let's get started! Setup 64-bit Raspian OS Lite on the SD Card Make sure you have the Raspberry Pi Imager app from: https://www.raspberrypi.com/software/ Insert the SD Card into your computer (Note this process will erase all data on the SD card!)Open the Raspberry Pi Imager AppClick the "Choose Device" ButtonPick Your Raspberry Pi ModelClick the "Choose OS" ButtonSelect "Raspberry Pi OS (other)"Select "Raspberry Pi OS Lite (64-bit)"Click the "Choose Storage" ButtonSelect Your SD CardClick Edit SettingsIf prompted if you would like to prefill the Wifi information, select OKSet the hostname to: cosmos.localSet the username and password. The default username is your username, you should also set a password to make the system secureFill in your Wifi info, and set the country appropriately (ie. US)Set the correct time zoneGoto the Services Tab and Enable SSHYou can either use Password auth, or public-key only if your computer is already setup for passwordless SSHGoto the Options tab and make sure "Enable Telemetry" is not checkedClick "Save" when everything is filled outClick "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete Make sure the Raspberry Pi is NOT powered on Remove the SD Card from your computer and insert into the Raspberry Pi Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot SSH to your raspberry Pi Open a terminal window and use ssh to connect to your Pi On Mac / Linux: ssh yourusername@cosmos.localOn Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well. From SSH, Enter the following commands sudo sysctl -w vm.max_map_count=262144 sudo sysctl -w vm.overcommit_memory=1 sudo apt update sudo apt upgrade sudo apt install git -y curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER newgrp docker git clone https://github.com/OpenC3/cosmos-project.git cosmos cd cosmos # Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service ./openc3.sh run After about 2 minutes, open a web browser on your computer, and goto: http://cosmos.local:2900 Congratulations! You now have COSMOS running on a Raspberry Pi! ","version":"Next","tagName":"h3"},{"title":"Monitoring","type":0,"sectionRef":"#","url":"/docs/guides/monitoring","content":"","keywords":"","version":"Next"},{"title":"Monitoring and observability​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#monitoring-and-observability","content":" With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about Monitoring Distributed Systems ","version":"Next","tagName":"h3"},{"title":"Fluent/Fluentd​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#fluentfluentd","content":" Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. Notes​ in_docker.conf <source> @type forward port 24224 bind 0.0.0.0 </source> <match *.metric> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix metric logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *__openc3.log> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix openc3 logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *.**> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix fluentd logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> Dockerfile FROM fluent/fluentd:v1.10.3-1.0 COPY ./in_docker.conf /fluentd/etc/fluent.conf USER root RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \\ && gem install fluent-plugin-prometheus --no-document --version 1.8.5 USER fluent ","version":"Next","tagName":"h3"},{"title":"OpenDistro​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#opendistro","content":" Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts. Docker Notes​ When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file. Dockerfile FROM amazon/opendistro-for-elasticsearch:1.12.0 RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security ","version":"Next","tagName":"h3"},{"title":"Prometheus​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#prometheus","content":" Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data. Notes​ prometheus.yaml global: scrape_interval: 15s evaluation_interval: 15s rule_files: # - "first.rules" # - "second.rules" scrape_configs: - job_name: prometheus static_configs: - targets: ["localhost:9090"] - job_name: openc3-internal-metrics metrics_path: "/openc3-api/internal/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-cmd-tlm-api metrics_path: "/openc3-api/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-script-runner-api metrics_path: "/script-api/metrics" static_configs: - targets: ["openc3-script-runner-api:2902"] - job_name: minio-job metrics_path: /minio/v2/metrics/cluster scheme: http static_configs: - targets: ['openc3-minio:9000'] Dockerfile FROM prom/prometheus:v2.24.1 ADD prometheus.yaml /etc/prometheus/ ","version":"Next","tagName":"h3"},{"title":"Grafana​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#grafana","content":" Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources. Notes​ datasource.yaml apiVersion: 1 datasources: - name: Prometheus type: prometheus # Access mode - proxy (server in the UI) or direct (browser in the UI). access: proxy url: http://openc3-prometheus:9090 Dockerfile FROM grafana/grafana COPY datasource.yaml /etc/grafana/provisioning/datasources/ ","version":"Next","tagName":"h3"},{"title":"COSMOS Hardware Requirements","type":0,"sectionRef":"#","url":"/docs/guides/performance","content":"","keywords":"","version":"Next"},{"title":"Memory​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#memory","content":" COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM). Base RAM MB Calculator = 800 + (num targets) * 300 In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to docker stats. Installing the COSMOS LoadSim with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB. ","version":"Next","tagName":"h2"},{"title":"CPU​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#cpu","content":" Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling. The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with htop to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur. ","version":"Next","tagName":"h2"},{"title":"Performance Comparison​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#performance-comparison","content":" Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per Docker. COSMOS 5.9.1 Enterprise Edition was installed on both Windows 11 Pro 1 and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using htop: Platform\tCore CPU %\tRAMWindows 11 Pro\t12% 12% 10% 10%\t3.9G / 7.7G Headless Ubuntu 22\t7% 7% 8% 6%\t3.2G / 15.6G Windows was only allocated 8 GB of RAM due to the .wslconfig settings.Since Ubuntu was running headless, the screens and graphs were brought up on another machine. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.16%\t1.32%\t43.54MiB\t51.38MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t10.16%\t6.14%\t401.6MiB\t392MiB cosmos-enterprise-project-openc3-keycloak-1\t0.17%\t0.13%\t476.8MiB\t476.8MiB cosmos-enterprise-project-openc3-operator-1\t21.27%\t13.91%\t1.214GiB\t1.207GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t127.4MiB\t117.1MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.00%\t105.2MiB\t83.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t4.05%\t1.89%\t46.22MiB\t69.84MiB cosmos-enterprise-project-openc3-redis-1\t1.56%\t0.72%\t12.82MiB\t9.484MiB cosmos-enterprise-project-openc3-minio-1\t0.01%\t0.00%\t152.9MiB\t169.8MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.39%\t37.33MiB\t41.02MiB memory profiles are similar between the two platformsredis-ephemeral isn't using much memory on the base Demo with its small packets At this point the COSMOS LoadSim was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated: Platform\tCore CPU %\tRAMWindows 11 Pro\t40% 35% 39% 42%\t4.64G / 7.7G Headless Ubuntu 22\t17% 20% 16% 18%\t3.74G / 15.6G The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.09%\t0.01%\t44.3MiB\t0.34MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t17.78%\t6.18%\t407.9MiB\t405.8MiB cosmos-enterprise-project-openc3-keycloak-1\t0.20%\t0.12%\t480.2MiB\t481.5MiB cosmos-enterprise-project-openc3-operator-1\t221.15%\t66.72%\t1.6GiB\t1.512GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t136.6MiB\t127.5MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.01%\t106.3MiB\t84.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t19.63%\t3.91%\t333.8MiB\t370.8MiB cosmos-enterprise-project-openc3-redis-1\t7.42%\t1.49%\t15.87MiB\t11.81MiB cosmos-enterprise-project-openc3-minio-1\t0.10%\t0.02%\t167.8MiB\t179.2MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.00%\t35.4MiB\t42.93MiB memory profiles are similar between the two platformsredis-ephemeral is now using much more RAM as it is storing the large LoadSim packetsWindows is using much more CPU power running the operator, cmd-tlm, and redis Conclusions While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use docker stats and htop to judge the CPU and memory pressure on the given hardware. COSMOS Enterprise Edition on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out this recent talk Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS. Footnotes​ Full specs of the Windows Platform: Windows 11 Pro Docker Desktop 4.22.0 WSL version: 1.2.5.0 Kernel version: 5.15.90.1 WSLg version: 1.0.51 MSRDC version: 1.2.3770 Direct3D version: 1.608.2-61064218 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22621.2134 ↩ ","version":"Next","tagName":"h2"},{"title":"Licenses","type":0,"sectionRef":"#","url":"/docs/meta/licenses","content":"","keywords":"","version":"Next"},{"title":"AGPLv3​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#agplv3","content":" This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: OpenC3 AGPLv3 Obviously, the actual license text applies, but here is a short summary: The AGPL allows users to use the code however they want: For business, personal, etc., as long as they follow the other terms: Users are anyone who could access the web-app. On the public internet, that is the whole world. On a private network, it is anyone with access to that network. The software is provided as-is, no warranty Users must be given access to all the source code and are also allowed to use it however they want under the same terms of the AGPLv3. This includes any modifications made, anything added, and all plugins. For web applications (like COSMOS), a link must be provided to all of the source code. There are some key implications of the above: You cannot keep anything proprietary from your users. They have the rights to take the code (and configuration) and do anything they want with it. You CANNOT impede these rights or you are violating the AGPLv3 and YOU lose the rights to use our software. You must provide a digital link to all source code for your users, including plugins. All plugins must be licensed in an AGPLv3 compatible fashion. We recommend the MIT license because that allows your plugins to be compatible with the AGPLv3 and our commercial license. You can also use a dual license similar to what we do indicating the AGPLv3 or a purchased OpenC3 Commercial license. The AGPLv3 license is often chosen because it works well for open core products like COSMOS. Competitors cannot take the open source product and license it under different terms. They would be forever locked into the AGPLv3 which is difficult to monetize, because your customers can take any code you provide and publish it on the internet for free use by everyone. As the copyright holder, OpenC3 is able to license the product and derivatives commercially. No-one else can do this. (OpenC3 is also able to license legacy Ball Aerospace COSMOS code under IP agreement) ","version":"Next","tagName":"h2"},{"title":"Evaluation and Education Use Only​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#evaluation-and-education-use-only","content":" This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: CFDP Plugin You can read the whole license here: # OpenC3 Evaluation and Educational License # # Copyright 2023 OpenC3, Inc. # # This work is licensed for evaluation and educational purposes only. # It may NOT be used for formal development, integration and test, operations # or any other commercial purpose without the purchase of a commercial license # from OpenC3, Inc. # # The above copyright notice and this permission notice shall be included in all copies # or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license. ","version":"Next","tagName":"h2"},{"title":"Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#commercial-license","content":" This license is a signed contract with OpenC3. It allows use of our code for a program under contractual terms where you do not have to follow the AGPLv3. Generally we license to a specific project with terms that allow for unlimited users, and installs as needed by that project. Any code and plugins that you develop under the commercial license can be kept proprietary. These licenses are sold as yearly subscriptions, or as a non-expiring perpetual license. We also offer site licenses, and licenses to support unlimited missions on a government framework architecture. Of course with our commercial license, you also get all the extra functionality of our Enterprise product. ","version":"Next","tagName":"h2"},{"title":"Why you should buy a Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#why-you-should-buy-a-commercial-license","content":" You want to save years and tens of millions of dollars developing the same functionality yourself. You want all of the Enterprise functionality of COSMOS Enterprise Edition User AccountsRole Based Access ControlLDAP SupportKubernetes SupportCloud Deployment ConfigurationsThe right to use CFDP and other Enterprise Only pluginsGrafana SupportSupport from the COSMOS DevelopersLots more - See our Enterprise page You don't want to follow the AGPLv3 You want to keep the code and plugins you develop proprietaryYou don't want to publish an accessible link to your source code You want to support the continued development and innovation of the COSMOS product We appreciate all of our commercial customers. You make OpenC3 possible. Thank you. ","version":"Next","tagName":"h3"},{"title":"FAQs​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#faqs","content":" I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean? OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3. What are the limits of the COSMOS Enterprise Edition? How many users can we have? How many times can it be installed? The COSMOS Enterprise Edition license has no user or installation limits. How is the COSMOS Enterprise Edition license enforced? The COSMOS Enterprise Edition license is enforced through contract only without license managers or additional software controls. How is the COSMOS Enterprise Edition license applied? Per company? Per program? COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at sales@openc3.com for more information. Do you license to foreign companies? How do you handle ITAR or the EAR? We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at sales@openc3.com for more information. ","version":"Next","tagName":"h2"},{"title":"Philosophy","type":0,"sectionRef":"#","url":"/docs/meta/philosophy","content":"Philosophy COSMOS is a C3 (Command, Control and Communication) system with the following primary goals: Interface with Anything COSMOS should be able to communicate with anything that provides a computer-to-computer interface, regardless of what the interface is. This means that COSMOS adapts to what other systems are doing and evolves over time. It does not publish an API that hardware must adhere to if it wants to communicate with COSMOS. Log Everything All data that flows into and out of COSMOS is logged. This provides history as well as attribution for what happened when and why. Keeping accurate logs is an essential and critical aspect of COSMOS. Open Architecture and Source Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation. Be Modular There are infinite number of things for COSMOS to connect to, but it is impossible to ship COSMOS with all the code it would need to talk to everything. For this reason, COSMOS is designed to be modular in all the places that matter. Use Configuration when Possible, and Code When Logic Is Needed Configuration is great for making COSMOS as usable as possible by non-software engineers. It also shows where common patterns exist. However, configuration is horrible when logic or custom math are needed. Empower Developers COSMOS is meant to be easy enough to be used by everyone, not just C2 software experts.","keywords":"","version":"Next"},{"title":"Screens","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry-screens","content":"","keywords":"","version":"Next"},{"title":"Definitions​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#definitions","content":" Name\tDefinitionWidget\tA widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task. Screen\tA screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion. Screen Definition File\tA screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them. ","version":"Next","tagName":"h2"},{"title":"Telemetry Screen Definition Files​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-screen-definition-files","content":" Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase. ","version":"Next","tagName":"h2"},{"title":"New Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#new-widgets","content":" When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the Custom Widgets guide. Screen Keywords ","version":"Next","tagName":"h2"},{"title":"SCREEN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#screen","content":" Define a telemetry viewer screen The SCREEN keyword is the first keyword in any telemetry screen definition. It defines the name of the screen and parameters that affect the screen overall. Parameter\tDescription\tRequiredWidth\tWidth in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Height\tHeight in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Polling Period\tNumber of seconds between screen updates\tTrue Example Usage: SCREEN AUTO AUTO 1.0 FIXED ","version":"Next","tagName":"h2"},{"title":"END​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#end","content":" Indicates the close of a layout widget All layout widgets must be closed to properly identify where they stop. For example, a VERTICALBOX keyword must be matched with an END keyword to indicate where the VERTICALBOX ends. ","version":"Next","tagName":"h2"},{"title":"STALE_TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#stale_time","content":" (Since 5.1.0) Values are marked stale if the packet time is more than Stale Time seconds in the past Parameter\tDescription\tRequiredvalue\tItems from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.\tTrue Example Usage: STALE_TIME 5 # Number of seconds to wait before marking data stale ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_setting","content":" Applies a widget setting to all widgets of a certain type Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_subsetting","content":" Applies a widget subsetting to all widgets of a certain type Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABELVALUE.\tTrue Subwidget Index\tIndex to the desired subwidget\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: # Set all text color to white for labelvaluelimitsbars GLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white ","version":"Next","tagName":"h2"},{"title":"SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#setting","content":" Applies a widget setting to the previously defined widget Settings allow for additional tweaks and options to be applied to widgets that are not available in their parameters. These settings are all configured through the SETTING, SUBSETTING, GLOBAL_SETTING and GLOBAL_SUBSETTING keywords. SETTING and SUBSETTING applies only to the widget defined immediately before it. GLOBAL_SETTING and GLOBAL_SUBSETTING applies to all widgets. Common wiget settings are defined here. Some widgets define their own unique settings which are documented under that specific widget. ","version":"Next","tagName":"h2"},{"title":"WIDTH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#width","content":" Sets the widget width WIDTH supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredWidth\tWidth in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING WIDTH 50 LABEL "THIS IS A TEST" SETTING WIDTH 20em ","version":"Next","tagName":"h3"},{"title":"HEIGHT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#height","content":" Sets the widget height HEIGHT supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredHeight\tHeight in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE SETTING HEIGHT 50 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING HEIGHT 2em ","version":"Next","tagName":"h3"},{"title":"MARGIN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#margin","content":" Sets the widget margin MARGIN supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING MARGIN 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"PADDING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#padding","content":" Sets the widget padding PADDING supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING PADDING 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"BACKCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#backcolor","content":" The BACKCOLOR setting sets the background color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR red LABEL "THIS IS A TEST" SETTING BACKCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"TEXTCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textcolor","content":" The TEXTCOLOR setting sets the text color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING TEXTCOLOR red LABEL "THIS IS A TEST" SETTING TEXTCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"BORDERCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#bordercolor","content":" The BORDERCOLOR setting sets the border color for a layout widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: HORIZONTAL LABEL "Label 1" END SETTING BORDERCOLOR red VERTICAL LABEL "Label 2" END SETTING BORDERCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"RAW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#raw","content":" Apply a raw CSS stylesheet key and value Parameter\tDescription\tRequiredKey\tCSS key like font-size, max-width, etc\tTrue Value\tCSS Value\tTrue Example Usage: LABEL "Label 1" SETTING RAW font-size 30px ","version":"Next","tagName":"h3"},{"title":"SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#subsetting","content":" Applies a widget subsetting to the previously defined widget Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredSubwidget Index\tIndex to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR green # Change the label's text to green END ","version":"Next","tagName":"h2"},{"title":"NAMED_WIDGET​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#named_widget","content":" Name a widget to allow access to it via the getNamedWidget method To programmatically access parts of a telemetry screen you need to name the widget. This is useful when creating screens with buttons that read values from other widgets. warning getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget Parameter\tDescription\tRequiredWidget Name\tThe unique name applied to the following widget instance. Names must be unique per screen.\tTrue Widget Type\tOne of the widget types listed in Widget Descriptions\tTrue Widget Parameters\tThe unique parameters for the given widget type\tTrue Example Usage: NAMED_WIDGET DURATION TEXTFIELD BUTTON "Push" "screen.getNamedWidget('DURATION').text()" ","version":"Next","tagName":"h2"},{"title":"Layout Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#layout-widgets","content":" Layout widgets are used to position other widgets on the screen. For example, the HORIZONTAL layout widget places the widgets it encapsulates horizontally on the screen. ","version":"Next","tagName":"h2"},{"title":"VERTICAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#vertical","content":" Places the widgets it encapsulates vertically The screen defaults to a vertical layout, so if no layout widgets are specified, all widgets will be automatically placed within a VERTICAL layout widget. The VERTICAL widget sizes itself to fit its contents. Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICAL 5px LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"VERTICALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#verticalbox","content":" Places the widgets it encapsulates vertically inside a thin border The VERTICALBOX widget sizes itself to fit its contents vertically and to fit the screen horizontally Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICALBOX Info LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontal","content":" Places the widgets it encapsulates horizontally The HORIZONTAL widget sizes itself to fit its contents Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTAL 100 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalbox","content":" Places the widgets it encapsulates horizontally inside a thin border The HORIZONTALBOX widget sizes itself to fit its contents Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTALBOX Info 10 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"MATRIXBYCOLUMNS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#matrixbycolumns","content":" Places the widgets into a table-like matrix The MATRIXBYCOLUMNS widget sizes itself to fit its contents Parameter\tDescription\tRequiredColumns\tThe number of columns to create\tTrue Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: MATRIXBYCOLUMNS 3 10 LABEL "COL 1" LABEL "COL 2" LABEL "COL 3" LABEL "100" LABEL "200" LABEL "300" END ","version":"Next","tagName":"h3"},{"title":"SCROLLWINDOW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#scrollwindow","content":" Places the widgets inside of it into a scrollable area The SCROLLWINDOW widget sizes itself to fit the screen in which it is contained Parameter\tDescription\tRequiredHeight\tMaximum height of the scroll window in pixels (default = 200)\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: SCROLLWINDOW 100 10 VERTICAL LABEL "100" LABEL "200" LABEL "300" LABEL "400" LABEL "500" LABEL "600" LABEL "700" LABEL "800" LABEL "900" END END ","version":"Next","tagName":"h3"},{"title":"TABBOOK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabbook","content":" Creates a tabbed area in which to place TABITEM widgets ","version":"Next","tagName":"h3"},{"title":"TABITEM​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabitem","content":" Creates a VERTICAL layout tab into which to place widgets Parameter\tDescription\tRequiredTab text\tText to display in the tab\tTrue Example Usage: TABBOOK TABITEM "Tab 1" LABEL "100" LABEL "200" END TABITEM "Tab 2" LABEL "300" LABEL "400" END END ","version":"Next","tagName":"h3"},{"title":"IFRAME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#iframe","content":" Open external tools in an Iframe within OpenC3 Parameter\tDescription\tRequiredURL\tThe path to the page to display in the iframe\tTrue Width\tWidth of the widget\tFalse Height\tHeight of the widget\tFalse Example Usage: IFRAME https://openc3.com 900 450 ","version":"Next","tagName":"h3"},{"title":"Decoration Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#decoration-widgets","content":" Decoration widgets are used to enhance the appearance of the screen. They do not respond to input, nor does the output vary with telemetry. ","version":"Next","tagName":"h2"},{"title":"LABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#label","content":" Displays text on the screen Generally, label widgets contain a telemetry mnemonic and are placed next to the telemetry VALUE widget. Parameter\tDescription\tRequiredText\tText to display on the label\tTrue Example Usage: LABEL "Note: This is only a warning" ","version":"Next","tagName":"h3"},{"title":"HORIZONTALLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalline","content":" (Since 5.5.1) Displays a horizontal line on the screen that can be used as a separator Example Usage: LABEL Over HORIZONTALLINE LABEL Under ","version":"Next","tagName":"h3"},{"title":"TITLE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#title","content":" Displays a large centered title on the screen Parameter\tDescription\tRequiredText\tText to display\tTrue Example Usage: TITLE "Title" HORIZONTALLINE LABEL "Label" ","version":"Next","tagName":"h3"},{"title":"SPACER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#spacer","content":" Places a fixed size spacer in between widgets Parameter\tDescription\tRequiredWidth\tWidth of the spacer in pixels\tTrue Height\tHeight of the spacer in pixels\tTrue Example Usage: VERTICAL 3 LABEL "Spacer below" SPACER 0 100 LABEL "Spacer above" END ","version":"Next","tagName":"h3"},{"title":"Telemetry Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-widgets","content":" Telemetry widgets are used to display telemetry values. The first parameters to each of these widgets is a telemetry mnemonic. Depending on the type and purpose of the telemetry item, the screen designer may select from a wide selection of widgets to display the value in the most useful format. ","version":"Next","tagName":"h2"},{"title":"ARRAY​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#array","content":" Displays ARRAY data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Items per row\tNumber of array items per row (default = 4)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED ARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS ","version":"Next","tagName":"h3"},{"title":"BLOCK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#block","content":" Displays BLOCK data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Bytes per word\tNumber of bytes per word (default = 4)\tFalse Words per row\tNumber of words per row (default = 4\tFalse Address format\tFormat for the address printed at the beginning of each line (default = nil which means do not print an address)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:" ","version":"Next","tagName":"h3"},{"title":"FORMATVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#formatvalue","content":" Displays a box with a formatted value Data is formatted by the specified string rather than by a format string given in the telemetry definition files. The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Format string\tPrintf style format string to apply to the telemetry item\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20 FORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20 ","version":"Next","tagName":"h3"},{"title":"LABELLED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelled","content":" Displays a LABEL followed by a LED Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Justification\tHow to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite. Valid Values: SPLIT, CENTER, LEFT, RIGHT\tFalse Example Usage: LABELLED INST PARAMS VALUE1 SETTING LED_COLOR GOOD GREEN SETTING LED_COLOR BAD RED The following settings apply to LABELLED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELPROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelprogressbar","content":" Displays a LABEL with the item name followed by a PROGRESSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 80 pixels\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW LABELPROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"LABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvalue","content":" Displays a LABEL with the item name followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUE INST LATEST TIMESEC CONVERTED 18 LABELVALUE INST LATEST COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUEDESC​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluedesc","content":" Displays a LABEL with the items description followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Description\tThe description to display in the label (default is to display the description text associated with the telemetry item)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18 LABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitsbar","content":" Displays a LABEL with the item name followed by VALUE and LIMITSBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitscolumn","content":" Displays a LABEL with the item name followed by VALUE and LIMITSCOLUMN widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LABELVALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluerangebar","content":" Displays a LABEL with the item name followed by VALUE and RANGEBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#led","content":" Displays a LED which changes color based on telemetry values By default TRUE is green and FALSE is red and all other values are black. Additional values can be added by using the LED_COLOR setting. For example LED INST PARAMS VALUE3 RAW can be followed by SETTING LED_COLOR 0 GREEN, SETTING LED_COLOR 1 RED, and SETTING LED_COLOR ANY ORANGE. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Example Usage: LED INST PARAMS VALUE5 RAW 25 20 # Ellipse SETTING LED_COLOR 0 GREEN SETTING LED_COLOR 1 RED SETTING LED_COLOR ANY YELLOW The following settings apply to LED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitsbar","content":" Displays an item's current value within its colored limits horizontally Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50 LIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolumn","content":" Displays an item's current value within its colored limits vertically Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200 LIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolor","content":" Displays a circle depicting the limits color of an item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Radius\tRadius of the circle (default is 10)\tFalse Full Item Name\tShow the full item name (default is false)\tFalse Example Usage: LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE LIMITSCOLOR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitsbar","content":" Displays an item VALUE followed by LIMITSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitscolumn","content":" Displays an item VALUE followed by LIMITSCOLUMN Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 8)\tFalse Example Usage: VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuerangebar","content":" Displays an item VALUE followed by RANGEBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 VALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LINEGRAPH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#linegraph","content":" Displays a line graph of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LINEGRAPH INST HEALTH_STATUS TEMP1 SETTING ITEM INST ADCS Q1 # Add additional item to graph The following settings apply to LINEGRAPH. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"SPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#sparkline","content":" Displays a sparkline graph (no cursor, scale or legend) of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: SPARKLINE INST HEALTH_STATUS TEMP1 SETTING SIZE 400 50 SETTING HISTORY 30s # Add 30 seconds of data into graph The following settings apply to SPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELSPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelsparkline","content":" Displays a LABEL with the item name followed by a SPARKLINE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LABELSPARKLINE INST HEALTH_STATUS TEMP1 SETTING HISTORY 5m # Add 5 minutes of data into graph The following settings apply to LABELSPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"IMAGEVIEWER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#imageviewer","content":" Display a base64 image from a TLM packet Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item.\tTrue Format\tThe image format of the base64 data (e.g. jpg, png, etc)\tTrue Example Usage: IMAGEVIEWER INST IMAGE IMAGE jpg ","version":"Next","tagName":"h3"},{"title":"PROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#progressbar","content":" Displays a progress bar that is useful for displaying percentages Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 100 pixels)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: PROGRESSBAR INST ADCS POSPROGRESS 0.5 200 PROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"RANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rangebar","content":" Displays a custom range bar displaying the item value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 100)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50 RANGEBAR INST HEALTH_STATUS TEMP1 -100 100 ","version":"Next","tagName":"h3"},{"title":"ROLLUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rollup","content":" (Since 5.17.1) Displays a notification icon which changes color based on a rollup telemetry Parameter\tDescription\tRequiredIcon name\tThe astro UX icon to display. Valid choices are 'astro' icons taken from https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json.\tTrue Icon label\tText to apply to the icon label\tFalse Icon sublabel\tText to apply to the icon sublabel\tFalse Example Usage: ROLLUP satellite-transmit "SAT 1" "Details" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP1 SETTING TLM INST HEALTH_STATUS TEMP2 ROLLUP antenna "GND 2" "Location" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP3 SETTING TLM INST HEALTH_STATUS TEMP4 ","version":"Next","tagName":"h3"},{"title":"SIGNAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#signal","content":" (Since 5.17.2) Displays a cellular signal icon which changes based on telemetry value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Example Usage: SIGNAL INST HEALTH_STATUS TEMP1 # Screen to open on click SETTING SCREEN INST HS # Values to compare when setting the 1-bar, 2-bar and 3-bar icons # Default is 30, 60, 90 (e.g. 0 to 100 range) # Value < -50 display no bars # Value >= -50 and < 0 displays 1 bar # Value >= 0 and < 50 displays 2 bars # Value >= 50 displays 5 bars SETTING RANGE -50 0 50 ","version":"Next","tagName":"h3"},{"title":"TEXTBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textbox","content":" Provides a large box for multiline text Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the textbox in px (default = 200)\tFalse Height\tHeight of the textbox in px (default = 200)\tFalse Example Usage: TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70 ","version":"Next","tagName":"h3"},{"title":"VALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#value","content":" Displays a box with a telemetry item value The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUE INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"Interactive Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#interactive-widgets","content":" Interactive widgets are used to gather input from the user. Unlike all other widgets, which only output some graphical representation, interactive widgets permit input either from the keyboard or mouse. ","version":"Next","tagName":"h2"},{"title":"BUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#button","content":" Displays a rectangular clickable button Upon clicking, the button executes the Javascript code assigned. Buttons can be used to send commands and perform other tasks. If you want your button to use values from other widgets, define them as named widgets and read their values using the screen.getNamedWidget("WIDGET_NAME").text() method. See the example in CHECKBUTTON. Button code can get rather complex so remember to use string concatenation to make things more readable. If you use + newlines are inserted automatically during string concatenation. If you use \\ you'll need to separate lines with a single semicolon ;. COSMOS uses double semicolon ;; to indicate lines should be evaluated separately. Note that all OpenC3 commands (using api.cmd) must be separated by ;;. You can send commands with buttons using api.cmd(). The cmd() syntax looks exactly like the standard COSMOS scripting syntax. You can also request and use telemetry in screens using Javascript Promises. api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))" The api.tlm() function returns a Promise which is resolved with then() at which point we send the command with the telemetry value we received. Scripts can be launched from a BUTTON using the runScript() method. runScript() takes three parameters, the name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of environment variables. For example: runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'}) Parameter\tDescription\tRequiredButton Text\tText displayed on the button\tTrue Button Code\tJavascript code to execute when the button is pressed\tTrue Example Usage: BUTTON 'Start Collect' 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION 5")' BUTTON 'Run Checks' 'runScript("INST/procedures/checks.rb")' # More complex example with background checkbox and env vars NAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb NAMED_WIDGET BG CHECKBUTTON 'Background' BUTTON 'Run Script' "var script=screen.getNamedWidget('SCRIPTNAME').text();" \\ # Set an environment variable to be used by the script as ENV['TYPE'] "var env = {}; env['TYPE'] = 'TEST';" \\ "runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)" ","version":"Next","tagName":"h3"},{"title":"CHECKBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#checkbutton","content":" Displays a check box Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredCheckbox Text\tText displayed next to the checkbox\tTrue Example Usage: NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' BUTTON 'Send' 'screen.getNamedWidget("CHECK").checked() ? ' \\ 'api.cmd_no_hazardous_check("INST CLEAR") : api.cmd("INST CLEAR")' ","version":"Next","tagName":"h3"},{"title":"COMBOBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#combobox","content":" Displays a drop down list of text items Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredOption Text 1\tText to display in the selection drop down\tTrue Option Text n\tText to display in the selection drop down\tFalse Example Usage: BUTTON 'Start Collect' 'var type = screen.getNamedWidget("COLLECT_TYPE").text();' + 'api.cmd("INST COLLECT with TYPE "+type+", DURATION 10.0")' NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL ","version":"Next","tagName":"h3"},{"title":"DATE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#date","content":" Displays a date picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredDate label\tText to label the data selection ('Date' by default)\tFalse Example Usage: BUTTON 'Alert Date' 'var date = screen.getNamedWidget("DATE").text();' + 'alert("Date:"+date)' NAMED_WIDGET DATE DATE ","version":"Next","tagName":"h3"},{"title":"RADIOGROUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiogroup","content":" Creates a group of RADIOBUTTONs RADIOBUTTONs must be part of a group to enable selection logic Parameter\tDescription\tRequiredInitial selected button\tSelects a radio button at initialization (0-based)\tFalse ","version":"Next","tagName":"h3"},{"title":"RADIOBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiobutton","content":" Displays a radio button and text Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. It must be contained by a RADIOGROUP to enable typical selection of a single RADIOBUTTON. Parameter\tDescription\tRequiredText\tText to display next to the radio button\tTrue Example Usage: NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? " + "api.cmd('INST ABORT') : api.cmd('INST CLEAR')" ","version":"Next","tagName":"h3"},{"title":"TEXTFIELD​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textfield","content":" Displays a rectangular box where the user can enter text Parameter\tDescription\tRequiredCharacters\tWidth of the text field in characters (default = 12)\tFalse Text\tDefault text to put in the text field (default is blank)\tFalse Example Usage: NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" BUTTON 'Start Collect' 'var dur = screen.getNamedWidget("DURATION").text();' + 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")' ","version":"Next","tagName":"h3"},{"title":"TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#time","content":" Displays a time picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredTime label\tText to label the time selection ('Time' by default)\tFalse Example Usage: BUTTON 'Alert Time' 'var time = screen.getNamedWidget("TIME").text();' + 'alert("Time:"+time)' NAMED_WIDGET TIME TIME ","version":"Next","tagName":"h3"},{"title":"Canvas Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas-widgets","content":" Canvas Widgets are used to draw custom displays into telemetry screens. The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. ","version":"Next","tagName":"h2"},{"title":"CANVAS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas","content":" Layout widget for the other canvas widgets All canvas widgets must be enclosed within a CANVAS widget. warning The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. Parameter\tDescription\tRequiredWidth\tWidth of the canvas\tTrue Height\tHeight of the canvas\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabel","content":" Draws text onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Text\tText to draw onto the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Example Usage: CANVAS 100 100 CANVASLABEL 5 34 "Label1" 24 red CANVASLABEL 5 70 "Label2" 18 blue END ","version":"Next","tagName":"h3"},{"title":"CANVASLABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabelvalue","content":" Draws the text value of a telemetry item onto the canvas in an optional frame Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue X Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 200 100 CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS END ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimage","content":" Displays an image on the canvas Parameter\tDescription\tRequiredImage filename\tName of a image file. The file must be in the plugin's targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Example Usage: CANVAS 250 430 CANVASIMAGE "satellite.png" 10 10 200 200 SETTING SCREEN INST HS CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150 END The following settings apply to CANVASIMAGE. They are applied using the SETTING keyword. SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimagevalue","content":" Displays an image on the canvas that changes with a telemetry value Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tTrue Default image filename\tThe default image to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Image width\tWidth of the image (default is 100%)\tFalse Image height\tHeight of the image (default is 100%)\tFalse Example Usage: CANVAS 230 230 CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180 SETTING IMAGE CONNECTED "ground_on.png" 10 10 SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10 SETTING SCREEN INST HS END The following settings apply to CANVASIMAGEVALUE. They are applied using the SETTING keyword. IMAGE​ Map an image to a state or value Parameter\tDescription\tRequiredValue\tState or value\tTrue Image filename\tImage to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasline","content":" Draws a line onto the canvas Parameter\tDescription\tRequiredStart X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Color\tColor of the line\tFalse Width\tWidth of the line in pixels (default = 1)\tFalse Example Usage: CANVAS 100 50 CANVASLINE 5 5 95 5 CANVASLINE 5 5 5 45 green 2 CANVASLINE 95 5 95 45 blue 3 END ","version":"Next","tagName":"h3"},{"title":"CANVASLINEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslinevalue","content":" Draws a color changing line onto the canvas The line is represented by one of two colors based on the value of the associated telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Start X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Width\tWidth of the line in pixels (default = 3)\tFalse Value type\tThe type of the value to display. Default is CONVERTED Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 120 50 CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW SETTING VALUE_EQ 1 GREEN SETTING VALUE_EQ 0 RED CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45 SETTING VALUE_EQ CONNECTED GREEN SETTING VALUE_EQ UNAVAILABLE RED END The following settings apply to CANVASLINEVALUE. They are applied using the SETTING keyword. VALUE_EQ​ (Since 5.5.1) Map a value to a color Parameter\tDescription\tRequiredValue\tState or value\tTrue Color\tColor of the line\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASDOT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasdot","content":" Draws a dot onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the dot\tTrue Y Position\tY position of the dot\tTrue Color\tColor of the dot\tTrue Radius\tRadius of the dot in pixels\tTrue Example Usage: CANVAS 50 50 CANVASDOT 10 15 BLUE 5 END ","version":"Next","tagName":"h3"},{"title":"Example File​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#example-file","content":" Example File: TARGET/myscreen.txt SCREEN AUTO AUTO 0.5 VERTICAL TITLE "<%= target_name %> Commanding Examples" LABELVALUE INST HEALTH_STATUS COLLECTS LABELVALUE INST HEALTH_STATUS COLLECT_TYPE LABELVALUE INST HEALTH_STATUS DURATION VERTICALBOX "Send Collect Command:" HORIZONTAL LABEL "Type: " NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL END HORIZONTAL LABEL " Duration: " NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" END BUTTON 'Start Collect' "api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())" END SETTING BACKCOLOR 163 185 163 VERTICALBOX "Parameter-less Commands:" NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))" END SETTING BACKCOLOR 163 185 163 END ","version":"Next","tagName":"h2"},{"title":"Contributing","type":0,"sectionRef":"#","url":"/docs/meta/contributing","content":"","keywords":"","version":"Next"},{"title":"Test Dependencies​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#test-dependencies","content":" To run the test suite and build the gem you'll need to install COSMOS's dependencies. COSMOS uses Bundler, so a quick run of the bundle command and you're all set! \\$ bundle Before you start, run the tests and make sure that they pass (to confirm your environment is configured properly): \\$ bundle exec rake build spec ","version":"Next","tagName":"h2"},{"title":"Workflow​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#workflow","content":" Here's the most direct way to get your work merged into the project: Fork the project.Clone down your fork: git clone git://github.com/<username>/openc3.git Create a topic branch to contain your change: git checkout -b my_awesome_feature Hack away, add tests. Not necessarily in that order.Make sure everything still passes by running bundle exec rake.If necessary, rebase your commits into logical chunks, without errors.Push the branch up: git push origin my_awesome_feature Create a pull request against openc3/cosmos:main and describe what your change does and the why you think it should be merged. Find a problem in the code or documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h2"},{"title":"XTCE Support","type":0,"sectionRef":"#","url":"/docs/meta/xtce","content":"","keywords":"","version":"Next"},{"title":"Running COSMOS using an .xtce definition file​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#running-cosmos-using-an-xtce-definition-file","content":" A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions. ","version":"Next","tagName":"h2"},{"title":"Converting a .xtce file into a COSMOS configuration​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-xtce-file-into-a-cosmos-configuration","content":" Use the following command to convert a .xtce file into COSMOS configuration files. The converted configuration files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --import <xtce_filename> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"Converting a COSMOS Configuration to XTCE​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-cosmos-configuration-to-xtce","content":" Use the following command to convert your openc3 plugin into .xtce files, one per target. The converted .xtce files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --plugin <plugin.gem> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"High-level Overview of Current Support​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#high-level-overview-of-current-support","content":" Integer, Float, Enumerated, String, and Binary Parameter/Argument Types are SupportedAll DataEncodings are supportedTelemetry and Commands are SupportedPacket Identification is supportedStates are supportedUnits are supportedPolynomialCalibrators are supportedOnly one SpaceSystem per .xtce filePackets should not have gaps between items ","version":"Next","tagName":"h2"},{"title":"Supported Elements and Attributes​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#supported-elements-and-attributes","content":" The following elements and associated attributes are currently supported. SpaceSystemTelemetryMetaDataCommandMetaDataParameterTypeSetEnumerationListParameterSetContainerSetEntryListDefaultCalibratorDefaultAlarmRestrictionCriteriaComparisonListMetaCommandSetDefaultCalibratorArgumentTypeSetArgumentListArgumentAssignmentListEnumeratedParameterTypeEnumeratedArgumentTypeIntegerParameterTypeIntegerArgumentTypeFloatParameterTypeFloatArgumentTypeStringParameterTypeStringArgumentTypeBinaryParameterTypeBinaryArgumentTypeIntegerDataEncodingFloatDataEncodingStringDataEncodingBinaryDataEncoding'SizeInBitsFixedValueUnitSetUnitPolynomialCalibratorTermStaticAlarmRangesWarningRangeCriticalRangeValidRangeEnumerationParameterArgumentParameterPropertiesSequenceContainerBaseContainerLongDescriptionParameterRefEntryArgumentRefEntryBaseMetaCommandComparisonMetaCommandBaseMetaCommandCommandContainerArgumentAssignment ","version":"Next","tagName":"h2"},{"title":"Ignored Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#ignored-elements","content":" The following elements are simply ignored by COSMOS: HeaderAliasSetAlias ","version":"Next","tagName":"h2"},{"title":"Unsupported Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#unsupported-elements","content":" Any elements not listed above are currently unsupported. Near term support for the following elements and features are planned and priority will be determined by user requests. SplineCalibratorAlternate methods of specifying offsets into containersOutput to the XUSP standardAdditional Data TypesContainer References If there is a particular element or feature you need supported please submit a ticket on Github. ","version":"Next","tagName":"h2"},{"title":"OpenC3, Inc. Privacy Policy","type":0,"sectionRef":"#","url":"/docs/privacy","content":"","keywords":"","version":"Next"},{"title":"Our Commitment​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#our-commitment","content":" • Your information will not be shared, rented or sold to any third party. • We use state-of-the-art security measures to protect your information from unauthorized users. • We give you the possibility to control the information that you shared with us (opt-out) OpenC3, Inc. is committed to processing data in accordance with its responsibilities under the GDPR. Article 5 of the GDPR requires that personal data shall be: a. processed lawfully, fairly and in a transparent manner in relation to individuals; b. collected for specified, explicit and legitimate purposes and not further processed in a manner that is incompatible with those purposes; further processing for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes shall not be considered to be incompatible with the initial purposes; c. adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed; d. accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay; e. kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and f. processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.” ","version":"Next","tagName":"h2"},{"title":"1. Notice​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#1-notice","content":" We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services. ","version":"Next","tagName":"h2"},{"title":"2. Usage​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#2-usage","content":" We use your personal information for the following purposes: • To provide you information that will allow you to use our services • To automatically customize your documents with your information • To alert you of software upgrades, updates, discounts or other services from OpenC3, Inc. We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers. We may also collect your name, language, currency, operating system, document searched and country information for a better experience with our products/services. When you place your order with us, we collect your email in order to communicate with you. We also collect your phone number in order to contact you in case these emails bounce back because of a typo in your email address and if we cannot figure out what the correct email address is. We also contact the phone number that is provided if we suspect that the cardholder’s credit card information has been compromised, i.e used in a fraudulent way. We also use our clients’ email in order to notify of the release of updated versions of the software, new services or promotional offers. ","version":"Next","tagName":"h2"},{"title":"3. Consent​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#3-consent","content":" When you provide your personal information, you consent that it can be used for the above purposes and that OpenC3, Inc. is an authorized holder of such information. If you choose not to register or provide personal information, you can still use our website but you will not be able to receive additional services or access certain areas that require registration. When you activate your account, you are providing your consent to occasionally receive information from us. In each communication from us you will have the opportunity to unsubscribe from further communications; alternatively, you may contact us to express your choices at the address provided at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"4. Access to your information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#4-access-to-your-information","content":" You are entitled to review the personal information you have provided us and ensure that it is accurate and current at all times. To review or update this information simply request that we send you this information. ","version":"Next","tagName":"h2"},{"title":"5. Security of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#5-security-of-information","content":" OpenC3, Inc. is strongly committed to protecting your information and ensuring that your choices are honored. We have taken strong security measures to protect your data from loss, misuse, unauthorized access, disclosure, alteration, or destruction. All sensitive data is stored behind multiple firewalls on secure servers with restricted employee access. We guarantee that all e-commerce transactions follow the latest security measures and use the best available technologies. Secure Sockets Layer (SSL) technology is employed when you place online orders or transmit sensitive information. SSL is one of the safest methods of passing information over the Internet. ","version":"Next","tagName":"h2"},{"title":"6. Retention of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#6-retention-of-information","content":" We retain information as long as it is necessary to provide the services requested by you and others, subject to any legal obligations to further retain such information. Information associated with your account will generally be kept until it is no longer necessary to provide the services or until you ask us to delete it or your account is deleted whichever comes first. Additionally, we may retain information from deleted accounts to comply with the law, prevent fraud, resolve disputes, troubleshoot problems, assist with investigations, enforce the Terms of Use, and take other actions permitted by law. The information we retain will be handled in accordance with this Privacy Policy. Finally, your data could also be stored for sales statistical purposes. ","version":"Next","tagName":"h2"},{"title":"7. EU and EEA Users’ Rights​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#7-eu-and-eea-users-rights","content":" If you are habitually located in the European Union or European Economic Area, you have the right to access, rectify, download or erase your information, as well as the right to restrict and object to certain processing of your information. While some of these rights apply generally, certain rights apply only in certain limited circumstances. We describe these rights below: You have the right to access your personal data and, if necessary, have it amended or deleted or restricted. In certain instances, you may have the right to the portability of your data. You can also ask us to not send marketing communications and not to use your personal data when we carry out profiling for direct marketing purposes. You can opt out of receiving email newsletters and other marketing communications by following the opt-out instructions provided to you in those emails. Transactional account messages will be unaffected if you opt-out from marketing communications. ","version":"Next","tagName":"h2"},{"title":"8. What we do with the Information you share​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#8-what-we-do-with-the-information-you-share","content":" Your information is never shared outside the company without your permission. Inside the company, data is stored behind multiple firewalls on secure servers with restricted user access. When you register to our website, you are asked to provide your contact information, including a valid email address. We use this information to send you updates about order confirmations and information about our services. When you order from us, we ask for your credit card number and billing address. We use this information only to bill you for the product(s) you ordered at that time. We may on occasion require the help of other companies to provide limited services on our behalf, such as packaging, shipping and delivery, customer support and processing event registrations. We will only provide such companies with the information required for them to perform these services; these service providers are bound by strict privacy policies and are prohibited from using your information for any other purpose. In very rare instances OpenC3, Inc. may disclose your personal information, without notice, only if required to do so by law or in the good faith belief that such action is necessary to: (a) conform to the edicts of the law or comply with legal process served on OpenC3, Inc. or the site; (b) protect and defend the rights or property of OpenC3, Inc. and its family of websites and properties; and (c) act in urgent circumstances to protect the personal safety of users of OpenC3, Inc., its websites, or the public. ","version":"Next","tagName":"h2"},{"title":"9. How to opt-out​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#9-how-to-opt-out","content":" We provide users with the opportunity to opt-out from receiving updates on our products, newsletters and other communications from us. You can opt-out by clicking on the link provided in our electronic mailings or by contacting us at the address at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"10. Does OpenC3 Inc's privacy policy apply to linked websites?​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#10-does-openc3-incs-privacy-policy-apply-to-linked-websites","content":" Our Privacy Policy applies solely to information collected on our website or through interactions with our company. The Site contains links to web sites of third parties. OpenC3, Inc. is not responsible for the actions of these third parties, including their privacy practices and any content posted on their web sites. We encourage you to review their privacy policies to learn more about what, why and how they collect and use personal information. OpenC3, Inc. adheres to industry recognized standards to secure any personal information in our possession, and to secure it from unauthorized access and tampering. However, as is true with all online actions, it is possible that third parties may unlawfully intercept transmissions of personal information, or other users of the Site may misuse or abuse your personal information that they may collect from the Site. ","version":"Next","tagName":"h2"},{"title":"11. Changes to this policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#11-changes-to-this-policy","content":" If we make changes to our Privacy Policy, we will post these changes here so that you are always aware of what information we collect, how we use it and under what circumstances, if any, we disclose it. If at any point we decide to use your information in a manner different from that stated at the time it was collected, we will notify you by email. ","version":"Next","tagName":"h2"},{"title":"12. Enforcement of policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#12-enforcement-of-policy","content":" If for some reason you believe OpenC3, Inc. has not adhered to these principles, please notify us and we will do our best to promptly make corrections. ","version":"Next","tagName":"h2"},{"title":"13. Questions or comments​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#13-questions-or-comments","content":" If you have questions or comments about this privacy policy, please email us at: support@openc3.com For additional information about how to contact OpenC3, Inc. please visit our help page. Dated: August 11th, 2022 ","version":"Next","tagName":"h2"},{"title":"Script Writing Guide","type":0,"sectionRef":"#","url":"/docs/guides/script-writing","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#introduction","content":" This guide aims to provide the best practices for using the scripting capabilities provided by COSMOS. Scripts are used to automate a series of activities for operations or testing. The goal of this document is to ensure scripts are written that are simple, easy to understand, maintainable, and correct. Guidance on some of the key details of using the COSMOS Script Runner is also provided. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#concepts","content":" COSMOS supports both Ruby and Python for writing scripts. Ruby and Python are very similar scripting languages and most of this guide applies directly to both. Where examples are used, both a Ruby and Python example are given. ","version":"Next","tagName":"h2"},{"title":"Ruby vs Python in COSMOS​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#ruby-vs-python-in-cosmos","content":" There are many similarities and a few key differences between Ruby and Python when it comes to writing COSMOS scripts. There is no 80 character limit on line length. Lines can be as long as you like, but be careful to not make them too long as it makes printed reviews of scripts more difficult.Indentation white space: Ruby: Not significant. Ruby uses the end keyword to determine indented code blocks with a standard of 2 spaces.Python: Significant. Python uses indentation to determine code blocks with a standard of 4 spaces. Variables do not have to be declared ahead of time and can be reassigned later, i.e. Ruby and Python are dynamically typed.Variable interpolation: Ruby: Variable values can be placed into strings using the "#{variable}" syntax.Python: Variable values can be placed into f-strings using the f"{variable}" syntax. A variable declared inside of a block or loop will not exist outside of that block unless it was already declared. Both languages provides a script writer a lot of power. But with great power comes great responsibility. Remember when writing your scripts that you or someone else will come along later and need to understand them. Therefore use the following style guidelines: Use consistent spacing for indentation and do NOT use tabsConstants should be all caps with underscores SPEED_OF_LIGHT = 299792458 # meters per s Variable names and method names should be in lowercase with underscores last_name = "Smith"perform_setup_operation() Class names (when used) should be camel case and the files which contain them should match but be lowercase with underscores class DataUploader # in 'data_uploader.rb'class CcsdsUtility: # in 'ccsds_utility.py' Don't add useless comments but instead describe intent The following is an example of good Ruby style: load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing load_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target) cmd("#{target} CLEAR") wait_check("#{target} HEALTH_STATUS COLLECTS == 0", 5) end ###################################### # START ###################################### helper = HelperUtility.new helper.setup # Perform collects on all the targets OUR_TARGETS.each do |target| collects = tlm("#{target} HEALTH_STATUS COLLECTS") cmd("#{target} COLLECT with TYPE SPECIAL") wait_check("#{target} HEALTH_STATUS COLLECTS == #{collects + 1}", 5) end clear_collects('INST') clear_collects('INST2') The following is an example of good Python style: from openc3.script import * import TARGET.lib.upload_utility # library we do NOT want to show executing load_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target): cmd(f"{target} CLEAR") wait_check(f"{target} HEALTH_STATUS COLLECTS == 0", 5) ###################################### # START ###################################### helper = HelperUtility() helper.setup() # Perform collects on all the targets for target in OUR_TARGETS: collects = tlm(f"{target} HEALTH_STATUS COLLECTS") cmd(f"{target} COLLECT with TYPE SPECIAL") wait_check(f"{target} HEALTH_STATUS COLLECTS == {collects + 1}", 5) clear_collects('INST') clear_collects('INST2') Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening. Next we declare our constants and create an array of strings which we store in OUR_TARGETS. Notice the constant is all uppercase with underscores. Then we declare our local methods of which we have one called clear_collects. Please provide a comment at the beginning of each method describing what it does and the parameters that it takes. The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded. The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket # notation and python f-string f" notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment. Finally we call our 'clear_collects' method on each target by passing the target name. ","version":"Next","tagName":"h3"},{"title":"Scripting Philosophy​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#scripting-philosophy","content":" ","version":"Next","tagName":"h2"},{"title":"A Super Basic Script Example​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#a-super-basic-script-example","content":" Most COSMOS scripts can be broken down into the simple pattern of sending a command to a system/subsystem and then verifying that the command worked as expected. This pattern is most commonly implemented with cmd() followed by wait_check(), like the following: cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS TYPE == 'NORMAL'", 5) or similarly with a counter that is sampled before the command. Ruby: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5) Python: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5) 90% of the COSMOS scripts you write should be the simple patterns shown above except that you may need to check more than one item after each command to make sure the command worked as expected. ","version":"Next","tagName":"h3"},{"title":"KISS (Keep It Simple Stupid)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#kiss-keep-it-simple-stupid","content":" Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions. ","version":"Next","tagName":"h3"},{"title":"Keep things DRY (Don't Repeat Yourself)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#keep-things-dry-dont-repeat-yourself","content":" A widespread problem in scripts written for any command and control system is large blocks of code that are repeated multiple times. In extreme cases, this has led to 100,000+ line scripts that are impossible to maintain and review. There are two common ways repetition presents itself: exact blocks of code to perform a common action such as powering on a subsystem, and blocks of code that only differ in the name of the mnemonic being checked or the values checked against. Both are solved by removing the repetition using methods (or functions). For example, a script that powers on a subsystem and ensures correct telemetry would become: Ruby: def power_on_subsystem # 100 lines of cmd(), wait_check(), etc end Python: def power_on_subsystem(): # 100 lines of cmd(), wait_check(), etc Ideally, the above methods would be stored in another file where it could be used by other scripts. If it is truly only useful in the one script, then it could be at the top of the file. The updated script would then look like: power_on_subsystem() # 150 lines operating the subsystem (e.g.) # cmd(...) # wait_check(...) #... power_off_subystem() # Unrelated activities power_on_subsystem() # etc. Blocks of code where only the only variation is the mnemonics or values checked can be replaced by methods with arguments. Ruby: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp) cmd("TARGET #{enable_cmd_name} with ENABLE TRUE") wait_check("TARGET #{enable_tlm} == 'TRUE'", 5) wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50) end Python: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp): cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE") wait_check(f"TARGET {enable_tlm} == 'TRUE'", 5) wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50) ","version":"Next","tagName":"h3"},{"title":"Use Comments Appropriately​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#use-comments-appropriately","content":" Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line. # This line sends an abort command - BAD COMMENT, UNNECESSARY cmd("INST ABORT") # Rotate the gimbal to look at the calibration target - GOOD COMMENT cmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT ","version":"Next","tagName":"h3"},{"title":"Script Runner​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-runner","content":" COSMOS provides two unique ways to run scripts (also known as procedures). Script Runner provides both a script execution environment and a script editor. The script editor includes code completion for both COSMOS methods and command/telemetry item names. It is also a great environment to develop and test scripts. Script Runner provides a framework for users that are familiar with a traditional scripting model with longer style procedures, and for users that want to be able to edit their scripts in place. When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc. The correct environment for the job is up to individual users, and many programs will use both script formats to complete their goals. ","version":"Next","tagName":"h3"},{"title":"Looping vs Unrolled Loops​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#looping-vs-unrolled-loops","content":" Loops are powerful constructs that allow you to perform the same operations multiple times without having to rewrite the same code over and over (See the DRY Concept). However, they can make restarting a COSMOS script at the point of a failure difficult or impossible. If there is a low probability of something failing, then loops are an excellent choice. If a script is running a loop over a list of telemetry points, it may be a better choice to “unroll” the loop by making the loop body into a method, and then calling that method directly for each iteration of a loop that would have occurred. Ruby: 10.times do |temperature_number| check_temperature(temperature_number + 1) end Python: for temperature_number in range(1, 11): check_temperature(temperature_number) If the above script was stopped after temperature number 3, there would be no way to restart the loop at temperature number 4. A better solution for small loop counts is to unroll the loop. check_temperature(1) check_temperature(2) check_temperature(3) check_temperature(4) check_temperature(5) check_temperature(6) check_temperature(7) check_temperature(8) check_temperature(9) check_temperature(10) In the unrolled version above, the COSMOS “Start script at selected line” feature can be used to resume the script at any point. ","version":"Next","tagName":"h3"},{"title":"Script Organization​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-organization","content":" All scripts must be part of a Plugin. You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing. ","version":"Next","tagName":"h2"},{"title":"Organizing Your Scripts into a Plugin​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organizing-your-scripts-into-a-plugin","content":" As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures. Folder\tDescriptiontargets/TARGET_NAME/lib\tPlace script files containing reusable target specific methods here targets/TARGET_NAME/procedures\tPlace simple procedures that are centered around one specific target here In your main procedure you will usually bring in the other files with instrumentation using load_utility. # Ruby: load_utility('TARGET/lib/my_other_script.rb') # Python: load_utility('TARGET/procedures/my_other_script.py') ","version":"Next","tagName":"h3"},{"title":"Organize Scripts into Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organize-scripts-into-methods","content":" Put each activity into a distinct method. Putting your scripts into methods makes organization easy and gives a great high-level overview of what the overall script does (assuming you name the methods well). There are no bonus points for vague, short method names. Make your method names long and clear. Ruby: def test_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end def script_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end Python: def test_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here def script_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here ","version":"Next","tagName":"h3"},{"title":"Using Classes vs Unscoped Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-classes-vs-unscoped-methods","content":" Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class. NOTE: The convention in COSMOS is to have a TARGET/lib/target.[rb/py] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory. Ruby: class Gimbal attr_accessor :gimbal_steps def initialize() @gimbal_steps = 0 end def move(steps_to_move) # Move the gimbal @gimbal_steps += steps_to_move end def home_gimbal # Home the gimbal @gimbal_steps = 0 end end def perform_common_math(x, y) x + y end gimbal = Gimbal.new gimbal.home_gimbal gimbal.move(100) gimbal.move(200) puts "Moved gimbal #{gimbal.gimbal_steps}" result = perform_common_math(gimbal.gimbal_steps, 10) puts "Math:#{result}" Python: class Gimbal: def __init__(self): self.gimbal_steps = 0 def move(self, steps_to_move): # Move the gimbal self.gimbal_steps += steps_to_move def home_gimbal(self): # Home the gimbal self.gimbal_steps = 0 def perform_common_math(x, y): return x + y gimbal = Gimbal() gimbal.home_gimbal() gimbal.move(100) gimbal.move(200) print(f"Moved gimbal {gimbal.gimbal_steps}") result = perform_common_math(gimbal.gimbal_steps, 10) print(f"Math:{result}") ","version":"Next","tagName":"h3"},{"title":"Instrumented vs Uninstrumented Lines (require vs load)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#instrumented-vs-uninstrumented-lines-require-vs-load","content":" COSMOS scripts are normally “instrumented”. This means that each line has some extra code added behind the scenes that primarily highlights the current executing line and catches exceptions if things fail such as a wait_check. If your script needs to use code in other files, there are a few ways to bring in that code. Some techniques bring in instrumented code and others bring in uninstrumented code. There are reasons to use both. load_utility (and the deprecated require_utility), bring in instrumented code from other files. When COSMOS runs the code in the other file, Script Runner will dive into the other file and show each line highlighted as it executes. This should be the default way to bring in other files, as it allows continuing if something fails, and provides better visibility to operators. However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the “load” keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. “require” is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not. In Python, libraries are included using the import syntax. Any code imported using import is not instrumented. Only the code imported using load_utility is instrumented. Finally, COSMOS scripting has a special syntax for disabling instrumentation in the middle of an instrumented script, with the disable_instrumentation method. This allows you to disable instrumentation for large loops and other activities that are too slow when running instrumented. Ruby: temp = 0 disable_instrumentation do # Make sure nothing in here will raise exceptions! 5000000.times do temp += 1 end end puts temp Python: temp = 0 with disable_instrumentation(): # Make sure nothing in here will raise exceptions! for x in range(0,5000000): temp += 1 print(temp) When Running Uninstrumented Code Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop. ","version":"Next","tagName":"h3"},{"title":"Debugging and Auditing​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#debugging-and-auditing","content":" ","version":"Next","tagName":"h2"},{"title":"Built-In Debugging Capabilities​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#built-in-debugging-capabilities","content":" Script Runner has built in debugging capabilities that can be useful in determining why your script is behaving in a certain way. Of primary importance is the ability to inspect and set script variables. To use the debugging functionality, first select the “Toggle Debug” option from the Script Menu. This will add a small Debug: prompt to the bottom of the tool. Any code entered in this prompt will be executed when Enter is pressed. To inspect variables in a running script, pause the script and then type the variable name to print out the value of the variable in the debug prompt. variable_name Variables can also be set simply by using equals. variable_name = 5 If necessary, you can also inject commands from the debug prompt using the normal commanding methods. These commands will be logged to the Script Runner message log, which may be advantageous over using a different COSMOS tool like CmdSender (where the command would only be logged in the CmdTlmServer message log). cmd("INST COLLECT with TYPE NORMAL") Note that the debug prompt keeps the command history and you can scroll through the history by using the up and down arrows. ","version":"Next","tagName":"h3"},{"title":"Breakpoints​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#breakpoints","content":" You can click the line number (left side gutter) in Script Runner to add a breakpoint. The script will automatically pause when it hits the breakpoint. Once stopped at the breakpoint, you can evaluate variables using the Debug line. ","version":"Next","tagName":"h3"},{"title":"Using Disconnect Mode​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-disconnect-mode","content":" Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments. While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware. ","version":"Next","tagName":"h3"},{"title":"Auditing your Scripts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#auditing-your-scripts","content":" Script Runner includes several tools to help audit your scripts both before and after execution. Ruby Syntax Check​ The Ruby Syntax Check tool is found under the Script Menu. This tool uses the ruby executable with the -c flag to run a syntax check on your script. If any syntax errors are found the exact message presented by the Ruby interpreter is shown to the user. These can be cryptic, but the most common faults are not closing a quoted string, forgetting an “end” keyword, or using a block but forgetting the proceeding “do” keyword. ","version":"Next","tagName":"h3"},{"title":"Common Scenarios​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-scenarios","content":" ","version":"Next","tagName":"h2"},{"title":"User Input Best Practices​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#user-input-best-practices","content":" COSMOS provides several different methods to gather manual user input in scripts. When using user input methods that allow for arbitrary values (like ask() and ask_string()), it is very important to validate the value given in your script before moving on. When asking for text input, it is extra important to handle different casing possibilities and to ensure that invalid input will either re-prompt the user or take a safe path. Ruby: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y' raise "User entered: #{answer}" end temp = 0.0 while temp < 10.0 or temp > 50.0 temp = ask("Enter the desired temperature between 10.0 and 50.0") end Python: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y': raise RuntimeError(f"User entered: {answer}") temp = 0.0 while temp < 10.0 or temp > 50.0: temp = ask("Enter the desired temperature between 10.0 and 50.0") When possible, always use one of the other user input methods that has a constrained list of choices for your users (message_box, vertical_message_box, combo_box). Note that all these user input methods provide the user the option to “Cancel”. When cancel is clicked, the script is paused but remains at the user input line. When hitting “Go” to the continue, the user will be re-prompted to enter the value. ","version":"Next","tagName":"h3"},{"title":"Conditionally Require Manual User Input Steps​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#conditionally-require-manual-user-input-steps","content":" When possible, a useful design pattern is to write your scripts such that they can run without prompting for any user input. This allows the scripts to be more easily tested and provides a documented default value for any user input choices or values. To implement this pattern, all manual steps such as ask(), prompt(), and infinite wait() statements need to be wrapped with an if statement that checks the value of $manual in Ruby or RunningScript.manual in Python. If the variable is set, then the manual steps should be executed. If not, then a default value should be used. Ruby Example: if $manual temp = ask("Please enter the temperature") else temp = 20.0 end if !$manual puts "Skipping infinite wait in auto mode" else wait end Python Example: if RunningScript.manual: temp = ask("Please enter the temperature") else: temp = 20.0 if not RunningScript.manual: print("Skipping infinite wait in auto mode") else: wait() When running suites, there is a checkbox at the top of the tool called “Manual” that affects this $manual variable directly. ","version":"Next","tagName":"h3"},{"title":"Outputting Extra Information to a Report​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#outputting-extra-information-to-a-report","content":" COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log. Ruby: class MyGroup < OpenC3::Group def script_1 # The following text will be placed in the report OpenC3::Group.puts "Verifies requirements 304, 306, 310" # This puts line will show up in the sr_messages log file puts "script_1 complete" end end Python: from openc3.script.suite import Group class MyGroup(Group): def script_1(): # The following text will be placed in the report Group.print("Verifies requirements 304, 306, 310") # This puts line will show up in the sr_messages log file print("script_1 complete") ","version":"Next","tagName":"h3"},{"title":"Getting the Most Recent Value of a Telemetry Point from Multiple Packets​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets","content":" Some systems include high rate data points with the same name in every packet. COSMOS supports getting the most recent value of a telemetry point that is in multiple packets using a special packet name of LATEST. Assume the target INST has two packets, PACKET1 and PACKET2. Both packets have a telemetry point called TEMP. # Get the value of TEMP from the most recently received PACKET1 value = tlm("INST PACKET1 TEMP") # Get the value of TEMP from the most recently received PACKET2 value = tlm("INST PACKET2 TEMP") # Get the value of TEMP from the most recently received PACKET1 or PACKET2 value = tlm("INST LATEST TEMP") ","version":"Next","tagName":"h3"},{"title":"Checking Every Single Sample of a Telemetry Point​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#checking-every-single-sample-of-a-telemetry-point","content":" When writing COSMOS scripts, checking the most recent value of a telemetry point normally gets the job done. The tlm(), tlm_raw(), etc methods all retrieve the most recent value of a telemetry point. Sometimes you need to perform analysis on every single sample of a telemetry point. This can be done using the COSMOS packet subscription system. The packet subscription system lets you choose one or more packets and receive them all from a queue. You can then pick out the specific telemetry points you care about from each packet. Ruby: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 1.5 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) Python: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(1.5) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) ","version":"Next","tagName":"h3"},{"title":"Using Variables in Mnemonics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-variables-in-mnemonics","content":" Because command and telemetry mnemonics are just strings in COSMOS scripts, you can make use of variables in some contexts to make reusable code. For example, a method can take a target name as an input to support multiple instances of a target. You could also pass in the value for a set of numbered telemetry points. Ruby: def example(target_name, temp_number) cmd("#{target_name} COLLECT with TYPE NORMAL") wait_check("#{target_name} TEMP#{temp_number} > 50.0") end Python: def example(target_name, temp_number): cmd(f"{target_name} COLLECT with TYPE NORMAL") wait_check(f"{target_name} TEMP{temp_number} > 50.0") This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the Looping vs Unrolled Loops section. ","version":"Next","tagName":"h3"},{"title":"Using Custom wait_check_expression​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-custom-wait_check_expression","content":" The COSMOS wait_check_expression (and check_expression) allow you to perform more complicated checks and still stop the script with a CHECK error message if something goes wrong. For example, you can check variables against each other or check a telemetry point against a range. The exact string of text passed to wait_check_expression is repeatedly evaluated until it passes, or a timeout occurs. It is important to not use string interpolation within the actual expression or the values inside of the string interpolation syntax will only be evaluated once when it is converted into a string. Ruby: one = 1 two = 2 wait_check_expression("one == two", 1) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1) Python: one = 1 two = 2 wait_check_expression("one == two", 1, 0.25, locals()) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10", 1, 0.25, locals()) ","version":"Next","tagName":"h3"},{"title":"COSMOS Scripting Differences from Regular Ruby Scripting​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#cosmos-scripting-differences-from-regular-ruby-scripting","content":" Do not use single line if statements​ COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts). Don't do this: run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0 Do this instead: # It is best not to execute any code that could fail in an if statement, ie # tlm() could fail if the CmdTlmServer was not running or a mnemonic # was misspelled temp1 = tlm("INST HEALTH_STATUS TEMP1") if temp1 > 10.0 run_method() end ","version":"Next","tagName":"h3"},{"title":"When Things Go Wrong​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-things-go-wrong","content":" ","version":"Next","tagName":"h2"},{"title":"Common Reasons Checks Fail​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-reasons-checks-fail","content":" There are three common reasons that checks fail in COSMOS scripts: The delay given was too short The wait_check() method takes a timeout that indicates how long to wait for the referenced telemetry point to pass the check. The timeout needs to be large enough for the system under test to finish its action and for updated telemetry to be received. Note that the script will continue as soon as the check completes successfully. Thus, the only penalty for a longer timeout is the additional wait time in a failure condition. The range or value checked against was incorrect or too stringent Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value. The check really failed Of course, sometimes there are real failures. See the next section for how to handle them and recover. ","version":"Next","tagName":"h3"},{"title":"How to Recover from Anomalies​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#how-to-recover-from-anomalies","content":" Once something has failed, and your script has stopped with a pink highlighted line, how can you recover? Fortunately, COSMOS provides several mechanisms that can be used to recover after something in your script fails. Retry After a failure, the Script Runner “Pause” button changes to “Retry”. Clicking on the Retry button will re-execute the line the failed. For failures due to timing issues, this will often resolve the issue and allow the script to continue. Make note of the failure and be sure to update your script prior to the next run. Use the Debug Prompt By selecting Script -> Toggle Debug, you can perform arbitrary actions that may be needed to correct the situation without stopping the running script. You can also inspect variables to help determine why something failed. Execute Selection If only a small section of a script needs to be run, then “Execute Selection" can be used to execute only a small portion of the script. This can also be used when a script is paused or stopped in error. Run from here By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script. ","version":"Next","tagName":"h3"},{"title":"Advanced Topics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-topics","content":" ","version":"Next","tagName":"h2"},{"title":"Advanced Script Configuration with CSV or Excel​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-script-configuration-with-csv-or-excel","content":" Using a spreadsheet to store the values for use by a script can be a great option if you have a CM-controlled script but need to be able to tweak some values for a test or if you need to use different values for different serial numbers. The Ruby CSV class be used to easily read data from CSV files (recommended for cross platform projects). require 'csv' values = CSV.read('test.csv') puts values[0][0] If you are only using Windows, COSMOS also contains a library for reading Excel files. require 'openc3/win32/excel' ss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx') puts ss[0][0][0] ","version":"Next","tagName":"h3"},{"title":"When to use Ruby Modules​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-to-use-ruby-modules","content":" Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though. Mixins allow adding common methods to classes without using inheritance. Mixins can be useful to add common functionality to some classes but not others, or to break up classes into multiple files. module MyModule def module_method end end class MyTest < OpenC3::Group include MyModule def test_1 module_method() end end ","version":"Next","tagName":"h3"},{"title":"Autonomic (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/autonomic","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#introduction","content":" Autonomic allows for the automated execution of commands and scripts based on user-defined rules. ","version":"Next","tagName":"h2"},{"title":"Overview​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#overview","content":" Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system. ","version":"Next","tagName":"h3"},{"title":"TriggerGroups​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggergroups","content":" Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed. ","version":"Next","tagName":"h3"},{"title":"Triggers​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggers","content":" Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger. Once you've chosen the "left operand" you need to choose the operator. Finally you choose the "right operand" which in this case is a simple value. After the trigger is created it is displayed in Autonomic and waits to be activated by the given logic. Active triggers are highlighted in the list. Triggers can also be manually disabled and enabled by clicking the plug icon. Note in the above screenshot the Events which track everything about the trigger. ","version":"Next","tagName":"h3"},{"title":"Reactions​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#reactions","content":" Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script. Reactions can not exist without a corresponding trigger. The reaction creation dialog specifies whether to treat the trigger as an Edge or Level. It then allows you to select which trigger(s) the reaction will react to. Selecting multiple triggers allows any of the triggers to trigger the reaction (Note: Creating a reaction which responds to Trigger A AND Trigger B is done by creating additional triggers). After the triggers are specified, the dialog prompts for the actions to take. You can either send a command, run a script, or simply push a notification. Commands and scripts can also optionally push a notification. In this example a script is specified with a notification at the WARN level. Spawning Scripts Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources. Finally the snooze setting is specified. Snooze is the number of seconds after the reaction runs before the reaction will be allowed to run again. This is especially important in Level triggers where if the trigger remains active the reaction can run continuously. Once the reaction is created it is listed in the interface. When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again. ","version":"Next","tagName":"h3"},{"title":"Bucket Explorer","type":0,"sectionRef":"#","url":"/docs/tools/bucket-explorer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#introduction","content":" Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage. ","version":"Next","tagName":"h2"},{"title":"Browsing Files​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#browsing-files","content":" At the top are the three standard COSMOS buckets: config, logs, and tools. Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is DEFAULT. The config bucket holds the COSMOS configuration which is populated as plugins are installed. The logs bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See Logging for more info). These logs are gzipped to save storage space. The tools bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket. Tools as Static Website Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3 ","version":"Next","tagName":"h2"},{"title":"Upload​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#upload","content":" Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in COSMOS Enterprise you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Download​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#download","content":" Click the Download icon to download any of the individual files from any bucket and path. ","version":"Next","tagName":"h3"},{"title":"Delete​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#delete","content":" Click the Trash icon to delete an individual file. Note that in COSMOS Enterprise you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Calendar (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/calendar","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#introduction","content":" Calendar visualizes metadata, notes, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times. ","version":"Next","tagName":"h2"},{"title":"Adding Timelines​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#adding-timelines","content":" Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary. ","version":"Next","tagName":"h3"},{"title":"Types of Events​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#types-of-events","content":" ","version":"Next","tagName":"h2"},{"title":"Metadata​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#metadata","content":" Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including operators, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data. You can create a new metadata item from either the Create menu or by right-clicking on the calendar in the given time slot you want the metadata item to appear. Note that metadata entries only have a start time, they do not have an end time. You then add key / value pairs for all the metadata items you want to create. ","version":"Next","tagName":"h3"},{"title":"Note​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#note","content":" Notes require both a start and end time. You then record the note to create the note event on the calendar. ","version":"Next","tagName":"h3"},{"title":"Activity​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#activity","content":" Scheduled on a timeline, activities take both a start and end time. Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping. When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (✓). Reserve activities simply have a blank green circle. Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events. ","version":"Next","tagName":"h3"},{"title":"Timeline Implementation Details​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#timeline-implementation-details","content":" When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue. The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync. The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database. The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database. ","version":"Next","tagName":"h2"},{"title":"Command Sender","type":0,"sectionRef":"#","url":"/docs/tools/cmd-sender","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#introduction","content":" Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history. ","version":"Next","tagName":"h2"},{"title":"Command Sender Menus​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#command-sender-menus","content":" ","version":"Next","tagName":"h2"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#mode-menu-items","content":" Ignores parameter range checkingDisplays parameter state values in hexShows ignored parametersDisables all parameter conversions ","version":"Next","tagName":"h3"},{"title":"Sending Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#sending-commands","content":" Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters. Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History. You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example). ","version":"Next","tagName":"h2"},{"title":"Hazardous Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#hazardous-commands","content":" Sending hazardous commands will prompt the user whether to send the command. Commands can also have hazardous states (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions. Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked required. ","version":"Next","tagName":"h3"},{"title":"Command and Telemetry Server","type":0,"sectionRef":"#","url":"/docs/tools/cmd-tlm-server","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#introduction","content":" The Command and Telemetry Server application provides status about the interfaces and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view both raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages. ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server Menus​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-and-telemetry-server-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#file-menu-items","content":" The Command and Telemetry Server has one menu under File -> Options: This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated. ","version":"Next","tagName":"h3"},{"title":"Interfaces Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#interfaces-tab","content":" The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts. ","version":"Next","tagName":"h2"},{"title":"Targets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#targets-tab","content":" The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only). Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority. The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding. ","version":"Next","tagName":"h2"},{"title":"Command Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-packets-tab","content":" The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command. Clicking on View Raw opens a dialog displaying the raw bytes for that command. Clicking View in Command Sender opens up a new Command Sender window with the specified command. ","version":"Next","tagName":"h2"},{"title":"Telemetry Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#telemetry-packets-tab","content":" The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet. Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet. Clicking View in Packet Viewer opens up a new Packet Viewer window with the specified telemetry packet. ","version":"Next","tagName":"h2"},{"title":"Status Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#status-tab","content":" The Status tab displays COSMOS system metrics. ","version":"Next","tagName":"h2"},{"title":"Log Messages​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#log-messages","content":" The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message. ","version":"Next","tagName":"h2"},{"title":"Command History (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/command_history","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#introduction","content":" Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated). ","version":"Next","tagName":"h2"},{"title":"Selecting Time​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#selecting-time","content":" By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers. ","version":"Next","tagName":"h3"},{"title":"Commands Table​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#commands-table","content":" The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description. As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2). The Result field is the result of executing Command Validators established by the VALIDATOR keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above. For more information read the VALIDATOR documentation and also see the Ruby Example and the Python Example in the COSMOS Demo. ","version":"Next","tagName":"h2"},{"title":"Data Extractor","type":0,"sectionRef":"#","url":"/docs/tools/data-extractor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#introduction","content":" Data Extractor extracts command and telemetry items into comma or tab separated files. Individual items or entire packets can be processed over any time period. Data Extractor also has a number of options to control the output for post processing in Excel or Matlab, for example. ","version":"Next","tagName":"h2"},{"title":"Data Extractor Menus​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#data-extractor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#file-menu-items","content":" Opens a saved configurationSave the current configuration (item list)Reset the configuration (default settings)Delimit output with commasDelimit output with tabs Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#mode-menu-items","content":" Fill empty cells with the previous valueAdd a Matlab comment ('%') to the headerOnly output changed valuesOnly list item name as column headerList full Target Packet Item as header ","version":"Next","tagName":"h3"},{"title":"Selecting Items for Output​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#selecting-items-for-output","content":" ","version":"Next","tagName":"h2"},{"title":"Start/End Date/Time​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#startend-datetime","content":" Data Extractor provides text fields where you specify the time range to extract items. Clicking the Start Date and End Date text fields opens a Date Chooser dialog. Note you can also manually type in the date. Clicking the Start Time and End Time icon opens up a Time Chooser dialog. Note you can also manually type in the time. ","version":"Next","tagName":"h3"},{"title":"Adding Target(s) Packet(s) Item(s)​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#adding-targets-packets-items","content":" Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed. When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed. When you select an individual Item the button changes to "Add Item" and the Description field updates with the item's description. ","version":"Next","tagName":"h3"},{"title":"Removing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#removing-items","content":" Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header. ","version":"Next","tagName":"h3"},{"title":"Editing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#editing-items","content":" Items can be edited by clicking the Pencil icon next to the item. ALL items can be edited by clicking the pencil icon in the header. Clicking the Edit All brings up the Edit All Items dialog. This allows you to change the data type of all items in the list. Clicking the pencil next to an individual item brings up a similar dialog to edit the individual item. ","version":"Next","tagName":"h3"},{"title":"Processing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#processing-items","content":" Clicking the Process button starts the processing of the items list. A progress wheel is shown on the left side of the table and the Process button changes to Cancel to allow canceling the process. When the processing is complete, the browser shows a file download link. Note this varies by browser. This example is from Chrome. ","version":"Next","tagName":"h2"},{"title":"Data Viewer","type":0,"sectionRef":"#","url":"/docs/tools/data-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#introduction","content":" Data Viewer allows you to view packet data or individual item data in both the past and in real time. ","version":"Next","tagName":"h2"},{"title":"Data Viewer Menus​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#data-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#file-menu-items","content":" Opens a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Adding Components​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#adding-components","content":" DataViewer displays data in a component. To add a new component to the interface click the plus icon. This brings up the Add Component dialog. First you select the component you want to use to visual the data. Next you add packets which will populate the component. Finally click Create to see the DataViewer component visualization. To adjust the settings of the COSMOS Raw/Decom component click the gear icon to bring up the Display Settings dialog. You can turn on and off various visualizations, increase the number of packets displayed and the history. ","version":"Next","tagName":"h3"},{"title":"Handbooks","type":0,"sectionRef":"#","url":"/docs/tools/handbooks","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Handbooks","url":"/docs/tools/handbooks#introduction","content":" Handbooks formats the COSMOS command and telemetry definitions into a nicely formatted webpage that can be exported to a PDF. You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer","type":0,"sectionRef":"#","url":"/docs/tools/packet-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#introduction","content":" Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer Menus​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#packet-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#file-menu-items","content":" Change the refresh and stale intervalOpens a saved configurationSave the current configuration (view settings)Reset the configuration (default settings) ","version":"Next","tagName":"h3"},{"title":"View Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#view-menu-items","content":" Shows ignored itemsDisplay derived items lastDisplay formatted items with unitsDisplay formatted itemsDisplay converted itemsDisplay raw items ","version":"Next","tagName":"h3"},{"title":"Selecting Packets​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#selecting-packets","content":" Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box. ","version":"Next","tagName":"h2"},{"title":"Details​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#details","content":" Right-clicking an item and selecting Details will open the details dialog. This dialog lists everything defined on the telemetry item. ","version":"Next","tagName":"h3"},{"title":"Limits Monitor","type":0,"sectionRef":"#","url":"/docs/tools/limits-monitor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#introduction","content":" The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor Menus​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-monitor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#file-menu-items","content":" Show the list of ignored itemsChange the overall COSMOS limits setOpens a saved configurationSave the current configuration (ignored items)Reset the configuration (defaults settings) Show Ignored​ This dialog displays all the items which the user has manually ignored by clicking the ignore icons next to out of limits items. Note that entire Packets which have been ignored are listed as TARGET PACKET without an item (as shown by INST MECH). Ignored items are removed by clicking the Trash icon. This means that the next time this item goes out of limits it will be displayed. Change Limits Set​ Limits sets are defined with the LIMITS keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS. Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Limits Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-items","content":" The main interface of Limits Monitor is the top where items are displayed when they violate a yellow or red limit. Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red states are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed. Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate "(Some items ignored)" to indicate the Limits State is potentially being affected by ignored items. Clicking the last icon (eye with strike-through) temporarily hides the specified item. This is different from ignoring an item because if this item goes out of limits it will be again be displayed. Hiding an item is useful if the item has gone back to green and you want to continue to track it but want to clean up the current list of items. For example, we might hide the GROUND1STATUS items in the above example as they have transitioned back to green. ","version":"Next","tagName":"h2"},{"title":"Limits Log​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-log","content":" The Log section lists all limits events. Events can be filtered by using the Search box as shown. ","version":"Next","tagName":"h2"},{"title":"Table Manager","type":0,"sectionRef":"#","url":"/docs/tools/table-manager","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#introduction","content":" Table Manager is a binary file editor. It takes binary file definitions similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-menu-items","content":" Create a new binary based on definitionOpen an existing binarySave the current binaryRename the current binaryDelete the current binary ","version":"Next","tagName":"h3"},{"title":"File Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-download","content":" The three buttons next to File Download download the binary file, the definition file, and the report file. The binary is the raw bits defined by the table. The definition is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary. ","version":"Next","tagName":"h2"},{"title":"Upload / Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#upload--download","content":" Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called upload.rb is found in the Target's procedures directory then the Upload button becomes active. If a file called download.rb is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script. ","version":"Next","tagName":"h2"},{"title":"upload.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#uploadrb","content":" The COSMOS demo creates the following upload.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file and the script uses get_target_file to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file puts "file:#{ENV['TBL_FILENAME']}" # Open the file file = get_target_file(ENV['TBL_FILENAME']) buffer = file.read # puts buffer.formatted # Implement custom commanding logic to upload the table # Note that buffer is a Ruby string of bytes # You probably want to do something like: # buf_size = 512 # Size of a buffer in the upload command # i = 0 # while i < buffer.length # # Send a part of the buffer # # NOTE: triple dots means start index, up to but not including, end index # # while double dots means start index, up to AND including, end index # cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)]) # i += buf_size # end file.delete ","version":"Next","tagName":"h3"},{"title":"download.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#downloadrb","content":" The COSMOS demo creates the following download.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file to OVERWRITE and the script uses put_target_file to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file to overwrite puts "file:#{ENV['TBL_FILENAME']}" # Download the file # Implement custom commanding logic to download the table # You probably want to do something like: buffer = '' # i = 1 # num_segments = 5 # calculate based on TBL_FILENAME # table_id = 1 # calculate based on TBL_FILENAME # while i < num_segments # # Request a part of the table buffer # cmd("TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}") # buffer += tlm("TGT DUMP_PKT DATA") # i += 1 # end put_target_file(ENV['TBL_FILENAME'], buffer) ","version":"Next","tagName":"h3"},{"title":"Telemetry Viewer","type":0,"sectionRef":"#","url":"/docs/tools/tlm-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#introduction","content":" Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#file-menu-items","content":" Open a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Selecting Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#selecting-screens","content":" Selecting a target from the Select Target drop down automatically updates the available screens for that target in the Select Screen drop down. Clicking Show Screen causes that screen to display. ","version":"Next","tagName":"h2"},{"title":"New Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#new-screen","content":" Clicking New Screen brings up the new screen dialog. Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists. ","version":"Next","tagName":"h2"},{"title":"Edit Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#edit-screen","content":" Clicking the pencil icon in the title bar of the screen brings up the edit dialog. The screen source is displayed in an editor with syntax highlighting and auto-completion. You can download the screen source using the download button in the upper right or delete the screen using the trash icon in the upper left. Click Save to save the screen edits at which point Telemetry Viewer will re-render the screen. ","version":"Next","tagName":"h2"},{"title":"Screen Window Management​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#screen-window-management","content":" All screens can be moved around the browser window by clicking their title bar and moving them. Other screens will move around intelligently to fill the space. This allows you to order the screens no matter which order they were created in. You can also float the screens by clicking the grid icon in the upper left of the title bar. It will change to a balloon icon and allow you to click up and down to change the relative Z index of the window. The image screen is floated in the following screen shot. The dash button in the upper right of the title bar minimizes the screen to effectively hide it. This allows you to focus on a single screen without closing existing screens. In the screen shot below there are two minimized windows at the very bottom. The X button closes the screen. ","version":"Next","tagName":"h2"},{"title":"Building Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#building-screens","content":" For documentation on how to build Telemetry Screens and how to configure the screen widgets please see the Telemetry Screens. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher","type":0,"sectionRef":"#","url":"/docs/tools/tlm-grapher","content":"","keywords":"","version":"Next"},{"title":"Introductions​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#introductions","content":" Telemetry Grapher is a graphing application that allows for one or more telemetry points per graph. It supports multiple graphs per screen which can be resized and reordered. Multiple configurations can be saved and restored for different situations. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher Menus​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#telemetry-grapher-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#file-menu-items","content":" Open a saved configuration (graphs and items)Save the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Graph Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-menu-items","content":" Add a new graphStart / Resume graphingPause graphStop graphEdit grapher settings Editing the grapher settings brings up a dialog to change settings affecting every graph in the Telemetry Grapher tool. Changing the Seconds Graphed changes the visible windows displaying graph points. The smaller of Seconds Graphed and Points Graphed will be used when calculating the number of points to display. Changing the Points Saved will affect performance of the browser window if set too high. The default of 1,000,000 points can store over 11.5 days of 1Hz data points. Editing an individual graph by clicking the pencil icon in title bar of the graph brings up the edit graph dialog. Editing the Start Date and Start Time will re-query the data to begin at the specified time. This operation can take several seconds depending on how far back data is requested. Similarly, specifying the End Date and End Time will limit the data request to the specified time. Leaving the End Date / End Time fields blank will cause Telemetry Grapher to continue to graph items in real-time as they arrive. Changing the Min Y and Max Y values simply sets the graph scale. Deleting the Min Y and Max Y values allows the graph to scale automatically as values arrive. Compare the following graph with the minimum set to 0 and the maximum set to 100 with the first graph image (auto-scale). ","version":"Next","tagName":"h3"},{"title":"Selecting Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#selecting-items","content":" Selecting a target from the Select Target drop down automatically updates the available packets in the Select Packet drop down which updates the available items in the Select Item drop down. Clicking Add Item adds the item to the graph which immediately begins graphing. As time passes, the main graph fills up and starts scrolling while the overview graph at the bottom shows the entire history. Selecting a new item and adding it to the graph automatically fills the graph with history until the beginning of the first item. This allows you to add items to the graph incrementally and maintain full history. ","version":"Next","tagName":"h2"},{"title":"Graph Window Management​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-window-management","content":" All graphs can be moved around the browser window by clicking their title bar and moving them. Other graphs will move around intelligently to fill the space. This allows you order the graphs no matter which order they were created in. Each graph has a set of window buttons in the upper right corner. The first shrinks or grows the graph both horizontally and vertically to allow for 4 graphs in the same browser tab. Note that half height graphs no longer show the overview graph. The second button shrinks or grows the graph horizontally so it will either be half or full width of the browser window. This allows for two full width graphs on top of each other. The second button shrinks or grows the graph vertically so it will either be half or full height of the browser window. This allows for two full height graphs side by side. The line button minimizes the graph to effectively hide it. This allows you to focus on a single graph without losing existing graphs. The final X button closes the graph. ","version":"Next","tagName":"h2"},{"title":"Script Runner","type":0,"sectionRef":"#","url":"/docs/tools/script-runner","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#introduction","content":" Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individual scripts, groups of scripts, or entire suites. ","version":"Next","tagName":"h2"},{"title":"Script Runner Menus​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-runner-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#file-menu-items","content":" Clears the editor and filenameCreates a new test suite in Ruby or PythonOpens a dialog to select a file to openOpens a recently used fileSaves the currently opened file to diskRename the current fileDownloads the current file to the browserDeletes the current file (Permanently!) File Open​ The File Open Dialog displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results. File Save As​ When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted before over-writing an existing file. ","version":"Next","tagName":"h3"},{"title":"Script Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-menu-items","content":" Display started and finished scriptsShow environment variablesShow defined metadataShow overridden telemetry valuesPerform a syntax checkPerform a script mnemonic checkView the instrumented scriptShows the script call stackDisplay the debug promptDisconnect from real interfacesDelete all script breakpoints The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log. ","version":"Next","tagName":"h3"},{"title":"Running Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-scripts","content":" Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script. Once you click Start the script is spawned in the Server and the Script State becomes Connecting. At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried. This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution. ","version":"Next","tagName":"h2"},{"title":"Right Click Script​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#right-click-script","content":" Right clicking a script brings up several options: 'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number. ","version":"Next","tagName":"h3"},{"title":"Running Script Suites​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-script-suites","content":" If a script is structured as a Suite it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus. To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language. ","version":"Next","tagName":"h2"},{"title":"Group​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#group","content":" The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example: require 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def setup puts "setup" end def script_1 puts "script 1" end def teardown puts "teardown" end end Equivalent Python example: from openc3.script.suite import Suite, Group class ExampleGroup(Group): def setup(self): print("setup") def script_1(self): print("script 1") def teardown(self) print("teardown") The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method. ","version":"Next","tagName":"h3"},{"title":"Suite​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#suite","content":" Groups are added to Suites by creating a class inheriting from Suite and then calling the add_group method. For example in Ruby: class MySuite < OpenC3::Suite def initialize add_group('ExampleGroup') end def setup puts "Suite setup" end def teardown puts "Suite teardown" end end In Python: from openc3.script.suite import Suite, Group class MySuite(Suite): def __init__(self): self.add_group('ExampleGroup') def setup(self): print("Suite setup") def teardown(self): print("Suite teardown") Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu. Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script. ","version":"Next","tagName":"h3"},{"title":"Script Suite Options​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-suite-options","content":" Opening a Script Suite creates six checkboxes which provide options to the running script. Pause on Error​ Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error. Continue after Error​ Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group. Abort after Error​ Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete. Manual​ In Ruby, sets the global variable called $manual to true. In Python, sets RunningScript.manual to True. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use the variable in their scripts. Loop​ Loop whatever the user started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen. Break Loop on Error​ Break the loop if an Error occurs. Only available if the Loop option is set. ","version":"Next","tagName":"h3"},{"title":"Debugging Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#debugging-scripts","content":" When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing var = 10. The Step button allows you to step line by line through the script. Clicking Go continues regular execution. ","version":"Next","tagName":"h2"},{"title":"Scripting API Guide","type":0,"sectionRef":"#","url":"/docs/guides/scripting-api","content":"","keywords":"","version":"Next"},{"title":"Concepts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Programming Languages​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#programming-languages","content":" COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the Script Writing Guide. ","version":"Next","tagName":"h3"},{"title":"Using Script Runner​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#using-script-runner","content":" Script Runner is a graphical application that provides the ideal environment for running and implementing your test procedures. The Script Runner tool is broken into 4 main sections. At the top of the tool is a menu bar that allows you to do such things as open and save files, perform a syntax check, and execute your script. Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time. Third is the display of the actual script. While the script is not running, you may edit and compose scripts in this area. A handy code completion feature is provided that will list out the available commands or telemetry points as you are writing your script. Simply begin writing a cmd( or tlm( line to bring up code completion. This feature greatly reduces typos in command and telemetry mnemonics. Finally, the bottom of the display is the log messages. All commands that are sent, errors that occur, and user print statements appear in this area. ","version":"Next","tagName":"h3"},{"title":"Telemetry Types​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#telemetry-types","content":" There are four different ways that telemetry values can be retrieved in COSMOS. The following chart explains their differences. Telemetry Type\tDescriptionRaw\tRaw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil. Converted\tConverted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts. Formatted\tFormatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string. Formatted with Units\tFormatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry. ","version":"Next","tagName":"h3"},{"title":"Script Runner API​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-api","content":" The following methods are designed to be used in Script Runner procedures. Many can also be used in custom built COSMOS tools. Please see the COSMOS Tool API section for methods that are more efficient to use in custom tools. ","version":"Next","tagName":"h2"},{"title":"Migration from COSMOS v5 to v6​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v5-to-v6","content":" The following API methods have been removed from COSMOS v6. Most of the deprecated API methods still remain for backwards compatibility. Method\tTool\tStatusget_all_target_info\tCommand and Telemetry Server\tRemoved, use get_target_interfaces play_wav_file\tScript Runner\tRemoved status_bar\tScript Runner\tRemoved ","version":"Next","tagName":"h3"},{"title":"Migration from COSMOS v4 to v5​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v4-to-v5","content":" The following API methods are either deprecated (will not be ported to COSMOS 5) or currently unimplemented (eventually will be ported to COSMOS 5): Method\tTool\tStatusclear\tTelemetry Viewer\tDeprecated, use clear_screen clear_all\tTelemetry Viewer\tDeprecated, use clear_all_screens close_local_screens\tTelemetry Viewer\tDeprecated, use clear_screen clear_disconnected_targets\tScript Runner\tDeprecated cmd_tlm_clear_counters\tCommand and Telemetry Server\tDeprecated cmd_tlm_reload\tCommand and Telemetry Server\tDeprecated display\tTelemetry Viewer\tDeprecated, use display_screen get_all_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_all_target_info\tCommand and Telemetry Server\tDeprecated, use get_target_interfaces get_background_tasks\tCommand and Telemetry Server\tDeprecated get_all_cmd_info\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_all_tlm_info\tCommand and Telemetry Server\tDeprecated, use get_all_tlm get_cmd_list\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_cmd_log_filename\tCommand and Telemetry Server\tDeprecated get_cmd_param_list\tCommand and Telemetry Server\tDeprecated, use get_cmd get_cmd_tlm_disconnect\tScript Runner\tDeprecated, use $disconnect get_disconnected_targets\tScript Runner\tUnimplemented get_interface_info\tCommand and Telemetry Server\tDeprecated, use get_interface get_interface_targets\tCommand and Telemetry Server\tDeprecated get_output_logs_filenames\tCommand and Telemetry Server\tDeprecated get_packet\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_data\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_packet_loggers\tCommand and Telemetry Server\tDeprecated get_replay_mode\tReplay\tDeprecated get_router_info\tCommand and Telemetry Server\tDeprecated, use get_router get_scriptrunner_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_message\tCommand and Telemetry Server\tDeprecated get_server_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_status\tCommand and Telemetry Server\tDeprecated get_stale\tCommand and Telemetry Server\tDeprecated get_target_ignored_items\tCommand and Telemetry Server\tDeprecated, use get_target get_target_ignored_parameters\tCommand and Telemetry Server\tDeprecated, use get_target get_target_info\tCommand and Telemetry Server\tDeprecated, use get_target get_target_list\tCommand and Telemetry Server\tDeprecated, use get_target_names get_tlm_details\tCommand and Telemetry Server\tDeprecated get_tlm_item_list\tCommand and Telemetry Server\tDeprecated get_tlm_list\tCommand and Telemetry Server\tDeprecated get_tlm_log_filename\tCommand and Telemetry Server\tDeprecated interface_state\tCommand and Telemetry Server\tDeprecated, use get_interface override_tlm_raw\tCommand and Telemetry Server\tDeprecated, use override_tlm open_directory_dialog\tScript Runner\tDeprecated play_wav_file\tScript Runner\tDeprecated replay_move_end\tReplay\tDeprecated replay_move_index\tReplay\tDeprecated replay_move_start\tReplay\tDeprecated replay_play\tReplay\tDeprecated replay_reverse_play\tReplay\tDeprecated replay_select_file\tReplay\tDeprecated replay_set_playback_delay\tReplay\tDeprecated replay_status\tReplay\tDeprecated replay_step_back\tReplay\tDeprecated replay_step_forward\tReplay\tDeprecated replay_stop\tReplay\tDeprecated require_utility\tScript Runner\tDeprecated but exists for backwards compatibility, use load_utility router_state\tCommand and Telemetry Server\tDeprecated, use get_router save_file_dialog\tScript Runner\tDeprecated save_setting\tCommand and Telemetry Server\tDeprecated but exists for backwards compatibility, use set_setting set_cmd_tlm_disconnect\tScript Runner\tDeprecated, use disconnect_script set_disconnected_targets\tScript Runner\tUnimplemented set_replay_mode\tReplay\tDeprecated set_stdout_max_lines\tScript Runner\tDeprecated set_tlm_raw\tScript Runner\tDeprecated, use set_tlm show_backtrace\tScript Runner\tDeprecated, backtrace always shown status_bar\tScript Runner\tDeprecated shutdown_cmd_tlm\tCommand and Telemetry Server\tDeprecated start_cmd_log\tCommand and Telemetry Server\tDeprecated start_logging\tCommand and Telemetry Server\tDeprecated start_new_scriptrunner_message_log\tCommand and Telemetry Server\tDeprecated start_new_server_message_log\tCommand and Telemetry Server\tDeprecated start_tlm_log\tCommand and Telemetry Server\tDeprecated stop_background_task\tCommand and Telemetry Server\tDeprecated stop_cmd_log\tCommand and Telemetry Server\tDeprecated stop_logging\tCommand and Telemetry Server\tDeprecated stop_tlm_log\tCommand and Telemetry Server\tDeprecated subscribe_limits_events\tCommand and Telemetry Server\tDeprecated subscribe_packet_data\tCommand and Telemetry Server\tDeprecated, use subscribe_packets subscribe_server_messages\tCommand and Telemetry Server\tUnimplemented tlm_variable\tScript Runner\tDeprecated, use tlm() and pass type unsubscribe_limits_events\tCommand and Telemetry Server\tDeprecated unsubscribe_packet_data\tCommand and Telemetry Server\tDeprecated unsubscribe_server_messages\tCommand and Telemetry Server\tDeprecated wait_raw\tScript Runner\tDeprecated, use wait(..., type: :RAW) wait_check_raw\tScript Runner\tDeprecated, use wait_check(..., type: :RAW) wait_tolerance_raw\tScript Runner\tDeprecated, use wait_tolerance(..., type: :RAW) wait_check_tolerance_raw\tScript Runner\tDeprecated, use wait_check_tolerance(..., type: :RAW) ","version":"Next","tagName":"h3"},{"title":"Retrieving User Input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#retrieving-user-input","content":" These methods allow the user to enter values that are needed by the script. ","version":"Next","tagName":"h2"},{"title":"ask​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask","content":" Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned. Ruby / Python Syntax: ask("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", true) value = ask("Enter a value", 10) password = ask("Enter your password", false, true) Python Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", True) value = ask("Enter a value", 10) password = ask("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"ask_string​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask_string","content":" Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned. Ruby / Python Syntax: ask_string("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", true) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", false, true) Python Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", True) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#message_box","content":" ","version":"Next","tagName":"h3"},{"title":"vertical_message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#vertical_message_box","content":" ","version":"Next","tagName":"h3"},{"title":"combo_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#combo_box","content":" The message_box, vertical_message_box, and combo_box methods create a message box with arbitrary buttons or selections that the user can click. The text of the button clicked is returned. Ruby / Python Syntax: message_box("<message>", "<button text 1>", ...) vertical_message_box("<message>", "<button text 1>", ...) combo_box("<message>", "<selection text 1>", ...) Parameter\tDescriptionmessage\tMessage to prompt the user with. button/selection text\tText for a button or selection Ruby Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') case value when 'One' puts 'Sensor One' when 'Two' puts 'Sensor Two' end Python Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') match value: case 'One': print('Sensor One') case 'Two': print('Sensor Two') ","version":"Next","tagName":"h3"},{"title":"get_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_file","content":" Return a file handle to a file in the target directory Ruby Syntax: get_target_file("<File Path>", original: false) Python Syntax: get_target_file("<File Path>", original=False) Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb original\tWhether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original. Ruby Example: file = get_target_file("INST/data/attitude.bin") puts file.read().formatted # format a binary file file.unlink # delete file file = get_target_file("INST/procedures/checks.rb", original: true) puts file.read() file.unlink # delete file Python Example: from openc3.utilities.string import formatted file = get_target_file("INST/data/attitude.bin") print(formatted(file.read())) # format a binary file file.close() # delete file file = get_target_file("INST/procedures/checks.rb", original=True) print(file.read()) file.close() # delete file ","version":"Next","tagName":"h3"},{"title":"put_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#put_target_file","content":" Writes a file to the target directory Ruby or Python Syntax: put_target_file("<File Path>", "IO or String") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten. data\tThe data can be an IO object or String Ruby Example: put_target_file("INST/test1.txt", "this is a string test") file = Tempfile.new('test') file.write("this is a Io test") file.rewind put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", "\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary Python Example: put_target_file("INST/test1.txt", "this is a string test") file = tempfile.NamedTemporaryFile(mode="w+t") file.write("this is a Io test") file.seek(0) put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", b"\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary ","version":"Next","tagName":"h3"},{"title":"delete_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_target_file","content":" Delete a file in the target directory Ruby / Python Syntax: delete_target_file("<File Path>") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain. Ruby / Python Example: put_target_file("INST/delete_me.txt", "to be deleted") delete_target_file("INST/delete_me.txt") ","version":"Next","tagName":"h3"},{"title":"open_file_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_file_dialog","content":" ","version":"Next","tagName":"h3"},{"title":"open_files_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_files_dialog","content":" The open_file_dialog and open_files_dialog methods create a file dialog box so the user can select a single or multiple files. The selected file(s) is returned. Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files. Ruby Syntax: open_file_dialog("<title>", "<message>", filter: "<filter>") open_files_dialog("<title>", "<message>", filter: "<filter>") Python Syntax: open_file_dialog("<title>", "<message>", filter="<filter>") open_files_dialog("<title>", "<message>", filter="<filter>") Parameter\tDescriptionTitle\tThe title to put on the dialog. Required. Message\tThe message to display in the dialog box. Optional parameter. filter\tNamed parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept for more information. Ruby Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt") puts file # Ruby File object puts file.read file.delete files = open_files_dialog("Open multiple files") # message is optional puts files # Array of File objects (even if you select only one) files.each do |file| puts file puts file.read file.delete end Python Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt") print(file) print(file.read()) file.close() files = open_files_dialog("Open multiple files") # message is optional print(files) # Array of File objects (even if you select only one) for file in files: print(file) print(file.read()) file.close() ","version":"Next","tagName":"h3"},{"title":"Providing information to the user​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#providing-information-to-the-user","content":" These methods notify the user that something has occurred. ","version":"Next","tagName":"h2"},{"title":"prompt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#prompt","content":" Displays a message to the user and waits for them to press an ok button. Ruby / Python Syntax: prompt("<message>") Parameter\tDescriptionmessage\tMessage to prompt the user with. Ruby / Python Example: prompt("Press OK to continue") ","version":"Next","tagName":"h3"},{"title":"Commands​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#commands","content":" These methods provide capability to send commands to a target and receive information about commands in the system. ","version":"Next","tagName":"h2"},{"title":"cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd","content":" Sends a specified command. Ruby Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") # In Ruby the brackets around parameters are optional cmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL") cmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" }) cmd("INST ABORT", timeout: 10, log_message: false) Python Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") cmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" }) cmd("INST ABORT", timeout=10, log_message=False) ","version":"Next","tagName":"h3"},{"title":"cmd_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_range_check","content":" Sends a specified command without performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL") Python Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_hazardous_check","content":" Sends a specified command without performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_no_hazardous_check("INST CLEAR") cmd_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_checks","content":" Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL") Python Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw","content":" Sends a specified command without running conversions. Ruby Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0) Python Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_range_check","content":" Sends a specified command without running conversions or performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0) Python Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_hazardous_check","content":" Sends a specified command without running conversions or performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_raw_no_hazardous_check("INST CLEAR") cmd_raw_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_checks","content":" Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1) Python Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1}) ","version":"Next","tagName":"h3"},{"title":"build_cmd (since 5.13.0, since 5.8.0 as build_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#build_cmd-since-5130-since-580-as-build_command","content":" Builds a command binary string Ruby Syntax: build_cmd(<ARGS>, range_check: true, raw: false) Python Syntax: build_cmd(<ARGS>, range_check=True, raw=False) Parameter\tDescriptionARGS\tCommand parameters (see cmd) range_check\tWhether to perform range checking on the command. Default is true. raw\tWhether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED. Ruby Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") puts x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00A \\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") print(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00A \\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"send_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#send_raw","content":" Sends raw data on an interface. Ruby / Python Syntax: send_raw(<Interface Name>, <Data>) Parameter\tDescriptionInterface Name\tName of the interface to send the raw data on. Data\tRaw ruby string of data to send. Ruby / Python Example: send_raw("INST_INT", data) ","version":"Next","tagName":"h3"},{"title":"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmds-since-5130-since-500-as-get_all_commands","content":" Returns an array of the commands that are available for a particular target. The returned array is an array of hashes which fully describe the command packet. Ruby / Python Syntax: get_all_cmds("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: cmd_list = get_all_cmds("INST") puts cmd_list #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: cmd_list = get_all_cmds("INST") print(cmd_list) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmd_names-since-5130-since-506-as-get_all_command_names","content":" Returns an array of the command names for a particular target. Ruby / Python Syntax: get_all_cmd_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby Example: cmd_list = get_all_cmd_names("INST") puts cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] Python Example: cmd_list = get_all_cmd_names("INST") print(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] ","version":"Next","tagName":"h3"},{"title":"get_cmd (since 5.13.0, since 5.0.0 as get_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd-since-5130-since-500-as-get_command","content":" Returns a command hash which fully describes the command packet. Ruby / Python Syntax: get_cmd("<Target Name> <Packet Name>") get_cmd("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: abort_cmd = get_cmd("INST ABORT") puts abort_cmd #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: abort_cmd = get_cmd("INST ABORT") print(abort_cmd) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_param (since 5.13.0, since 5.0.0 as get_parameter)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_param-since-5130-since-500-as-get_parameter","content":" Returns a hash of the given command parameter Ruby / Python Syntax: get_param("<Target Name> <Command Name> <Parameter Name>") get_param("<Target Name>", "<Command Name>", "<Parameter Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the parameter. Ruby Example: param = get_param("INST COLLECT TYPE") puts param #=> # {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT", # "description"=>"Collect type which can be normal or special", "default"=>0, # "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR", # "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}} Python Example: param = get_param("INST COLLECT TYPE") print(param) #=> # {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT', # 'description': 'Collect type which can be normal or special', 'default': 0, # 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR', # 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}} ","version":"Next","tagName":"h3"},{"title":"get_cmd_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_buffer","content":" Returns a packet hash (similar to get_cmd) along with the raw packet buffer as a Ruby string. Ruby / Python Syntax: buffer = get_cmd_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_cmd_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby Example: packet = get_cmd_buffer("INST COLLECT") puts packet #=> # {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420", # "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false", # "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xE0\\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: packet = get_cmd_buffer("INST COLLECT") print(packet) #=> # {'time': '1697298923745982470', 'received_time': '1697298923745982470', # 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false', # 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"get_cmd_hazardous​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_hazardous","content":" Returns true/false indicating whether a particular command is flagged as hazardous. Ruby / Python Syntax: get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Command Params\tHash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states. Ruby Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE' => 'SPECIAL'}) puts hazardous #=> true Python Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE': 'SPECIAL'}) print(hazardous) #=> True ","version":"Next","tagName":"h3"},{"title":"get_cmd_value​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_value","content":" Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported. Ruby / Python Syntax: get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the command parameter. Value Type\tValue Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python Ruby Example: value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW) puts value #=> 0.0 Python Example: value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW") print(value) #=> 0.0 ","version":"Next","tagName":"h3"},{"title":"get_cmd_time​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_time","content":" Returns the time of the most recent command sent. Ruby / Python Syntax: get_cmd_time("<Target Name - optional>", "<Command Name - optional>") Parameter\tDescriptionTarget Name\tName of the target. If not given, then the most recent command time to any target will be returned Command Name\tName of the command. If not given, then the most recent command time to the given target will be returned Ruby / Python Example: target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time target_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time target_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time ","version":"Next","tagName":"h3"},{"title":"get_cmd_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_cnt","content":" Returns the number of times a specified command has been sent. Ruby / Python Syntax: get_cmd_cnt("<Target Name> <Command Name>") get_cmd_cnt("<Target Name>", "<Command Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Ruby / Python Example: cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent ","version":"Next","tagName":"h3"},{"title":"Handling Telemetry​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#handling-telemetry","content":" These methods allow the user to interact with telemetry items. ","version":"Next","tagName":"h2"},{"title":"check, check_raw, check_formatted, check_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check-check_raw-check_formatted-check_with_units","content":" Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check. Ruby / Python Syntax: check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log. Ruby Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Ruby passes type as symbol check("INST HEALTH_STATUS COLLECTS > 1", type: :RAW) Python Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Python passes type as string check("INST HEALTH_STATUS COLLECTS > 1", type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_tolerance","content":" Checks a converted telemetry item against an expected value with a tolerance. If the verification fails then the script will be paused with an error. Note: In most cases using wait_check_tolerance is a better choice than using check_tolerance. Ruby / Python Syntax: check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. type\tCONVERTED (default) or RAW (Ruby symbol, Python string) Ruby Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW) Python Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_expression","content":" Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using wait_check_expression is a better choice than using check_expression. Remember that everything inside the check_expression string will be evaluated directly and thus must be valid syntax. A common mistake is to check a variable like so (Ruby variable interpolation): check_expression("#{answer} == 'yes'") # where answer contains 'yes' This evaluates to yes == 'yes' which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows: check_expression("'#{answer}' == 'yes'") # where answer contains 'yes' Now this evaluates to 'yes' == 'yes' which is true so the check passes. Ruby / Python Syntax: check_expression("<Expression>") Parameter\tDescriptionExpression\tAn expression to evaluate. Ruby / Python Example: check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0") ","version":"Next","tagName":"h3"},{"title":"check_exception​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_exception","content":" Executes a method and expects an exception to be raised. If the method does not raise an exception, a CheckError is raised. Ruby / Python Syntax: check_exception("<Method Name>", "<Method Params - optional>") Parameter\tDescriptionMethod Name\tThe COSMOS scripting method to execute, e.g. 'cmd', etc. Method Params\tParameters for the method Ruby Example: check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL") Python Example: check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"tlm, tlm_raw, tlm_formatted, tlm_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#tlm-tlm_raw-tlm_formatted-tlm_with_units","content":" Reads the specified form of a telemetry item. Ruby / Python Syntax: tlm("<Target Name> <Packet Name> <Item Name>") tlm("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW) Python Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type='RAW') ","version":"Next","tagName":"h3"},{"title":"get_tlm_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_buffer","content":" Returns a packet hash (similar to get_tlm) along with the raw packet buffer. Ruby / Python Syntax: buffer = get_tlm_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_tlm_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm_buffer("INST HEALTH_STATUS") packet['buffer'] ","version":"Next","tagName":"h3"},{"title":"get_tlm_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_packet","content":" Returns the names, values, and limits states of all telemetry items in a specified packet. The value is returned as an array of arrays with each entry containing [item_name, item_value, limits_state]. Ruby / Python Syntax: get_tlm_packet("<Target Name> <Packet Name>", <type>) get_tlm_packet("<Target Name>", "<Packet Name>", <type>) Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string). Ruby Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED) Python Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type='FORMATTED') ","version":"Next","tagName":"h3"},{"title":"get_tlm_values (modified in 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_values-modified-in-500","content":" Returns the values and current limits state for a specified set of telemetry items. Items can be in any telemetry packet in the system. They can all be retrieved using the same value type or a specific value type can be specified for each item. Ruby / Python Syntax: values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>) Parameter\tDescriptionItems\tArray of strings of the form ['TGT__PKT__ITEM__TYPE', ... ] Ruby / Python Example: values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"]) print(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]] ","version":"Next","tagName":"h3"},{"title":"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm-since-5130-since-500-as-get_all_telemetry","content":" Returns an array of all target packet hashes. Ruby / Python Syntax: get_all_tlm("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby / Python Example: packets = get_all_tlm("INST") print(packets) #[{"target_name"=>"INST", # "packet_name"=>"ADCS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Position and attitude data", # "stale"=>true, # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names","content":" Returns an array of all target packet names. Ruby / Python Syntax: get_all_tlm_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby / Python Example: get_all_tlm_names("INST") #=> ["ADCS", "HEALTH_STATUS", ...] ","version":"Next","tagName":"h3"},{"title":"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm-since-5130-since-500-as-get_telemetry","content":" Returns a packet hash. Ruby / Python Syntax: get_tlm("<Target Name> <Packet Name>") get_tlm("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm("INST HEALTH_STATUS") print(packet) #{"target_name"=>"INST", # "packet_name"=>"HEALTH_STATUS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Health and status from the instrument", # "stale"=>true, # "processors"=> # [{"name"=>"TEMP1STAT", # "class"=>"OpenC3::StatisticsProcessor", # "params"=>["TEMP1", 100, "CONVERTED"]}, # {"name"=>"TEMP1WATER", # "class"=>"OpenC3::WatermarkProcessor", # "params"=>["TEMP1", "CONVERTED"]}], # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_item (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_item-since-500","content":" Returns an item hash. Ruby / Python Syntax: get_item("<Target Name> <Packet Name> <Item Name>") get_item("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Item Name\tName of the item. Ruby / Python Example: item = get_item("INST HEALTH_STATUS CCSDSVER") print(item) #{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # "data_type"=>"UINT", # "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)", # "endianness"=>"BIG_ENDIAN", # "required"=>false, # "overflow"=>"ERROR"} ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt","content":" Returns the number of times a specified telemetry packet has been received. Ruby / Python Syntax: get_tlm_cnt("<Target Name> <Packet Name>") get_tlm_cnt("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the telemetry packet. Ruby / Python Example: tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received. ","version":"Next","tagName":"h3"},{"title":"set_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_tlm","content":" Sets a telemetry item value in the Command and Telemetry Server. This value will be overwritten if a new packet is received from an interface. For that reason this method is most useful if interfaces are disconnected or for testing via the Script Runner disconnect mode. Manually setting telemetry values allows for the execution of many logical paths in scripts. Ruby / Python Syntax: set_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tValue type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW) check("INST HEALTH_STATUS COLLECTS == 10", type: :RAW) Python Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type='RAW') check("INST HEALTH_STATUS COLLECTS == 10", type='RAW') ","version":"Next","tagName":"h3"},{"title":"inject_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#inject_tlm","content":" Injects a packet into the system as if it was received from an interface. Ruby / Packet Syntax: inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item Hash\tHash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil. type\tType of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: inject_tlm("INST", "PARAMS", {'VALUE1' => 5.0, 'VALUE2' => 7.0}) Python Example: inject_tlm("INST", "PARAMS", {'VALUE1': 5.0, 'VALUE2': 7.0}) ","version":"Next","tagName":"h3"},{"title":"override_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#override_tlm","content":" Sets the converted value for a telmetry point in the Command and Telemetry Server. This value will be maintained even if a new packet is received on the interface unless the override is canceled with the normalize_tlm method. Ruby / Python Syntax: override_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tType to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0 Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type='RAW') # Only RAW tlm set to 0 ","version":"Next","tagName":"h3"},{"title":"normalize_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#normalize_tlm","content":" Clears the override of a telmetry point in the Command and Telemetry Server. Ruby / Python Syntax: normalize_tlm("<Target> <Packet> <Item>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name type\tType to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override Python Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type='RAW') # clear only the RAW override ","version":"Next","tagName":"h3"},{"title":"get_overrides​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overrides","content":" Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm. Ruby / Python Syntax: get_overrides() Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") puts get_overrides() #=> # [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ] Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") print(get_overrides()) #=> # [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ] ","version":"Next","tagName":"h3"},{"title":"Packet Data Subscriptions​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#packet-data-subscriptions","content":" Methods for subscribing to specific packets of data. This provides an interface to ensure that each telemetry packet is received and handled rather than relying on polling where some data may be missed. ","version":"Next","tagName":"h2"},{"title":"subscribe_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#subscribe_packets-since-503","content":" Allows the user to listen for one or more telemetry packets of data to arrive. A unique id is returned which is used to retrieve the data. Ruby / Python Syntax: subscribe_packets(packets) Parameter\tDescriptionpackets\tNested array of target name/packet name pairs that the user wishes to subscribe to. Ruby / Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) ","version":"Next","tagName":"h3"},{"title":"get_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packets-since-503","content":" Streams packet data from a previous subscription. Ruby Syntax: get_packets(id, block: nil, count: 1000) Python Syntax: get_packets(id, block=None, count=1000) Parameter\tDescriptionid\tUnique id returned by subscribe_packets block\tNumber of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block) count\tMaximum number of packets to return from EACH packet stream Ruby Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 0.1 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block: 1000, count: 1) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(0.1) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block=1000, count=1) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt-1","content":" Get the receive count for a telemetry packet Ruby / Python Syntax: get_tlm_cnt("<Target> <Packet>") get_tlm_cnt("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnt("INST HEALTH_STATUS") #=> 10 ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnts","content":" Get the receive counts for an array of telemetry packets Ruby / Python Syntax: get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]]) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]]) #=> [100, 10] ","version":"Next","tagName":"h3"},{"title":"get_packet_derived_items​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packet_derived_items","content":" Get the list of derived telemetry items for a packet Ruby / Python Syntax: get_packet_derived_items("<Target> <Packet>") get_packet_derived_items("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_packet_derived_items("INST HEALTH_STATUS") #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...] ","version":"Next","tagName":"h3"},{"title":"Delays​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delays","content":" These methods allow the user to pause the script to wait for telemetry to change or for an amount of time to pass. ","version":"Next","tagName":"h2"},{"title":"wait​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait","content":" Pauses the script for a configurable amount of time (minimum 10ms) or until a converted telemetry item meets given criteria. It supports three different syntaxes as shown. If no parameters are given then an infinite wait occurs until the user presses Go. Note that on a timeout, wait does not stop the script, usually wait_check is a better choice. Ruby / Python Syntax: elapsed = wait() #=> Returns the actual time waited elapsed = wait(<Time>) #=> Returns the actual time waited Parameter\tDescriptionTime\tTime in Seconds to delay for. Ruby / Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Example: elapsed = wait elapsed = wait 5 success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false) Python Example: elapsed = wait() elapsed = wait(5) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type='RAW', quiet=False) ","version":"Next","tagName":"h3"},{"title":"wait_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item meets equals an expected value within a tolerance. Note that on a timeout, wait_tolerance does not stop the script, usually wait_check_tolerance is a better choice. Ruby Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true) Python Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW', quiet=True) ","version":"Next","tagName":"h3"},{"title":"wait_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually wait_check_expression is a better choice. Syntax: # Returns true or false based on the whether the expression is true or false success = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will continue. Note that on a timeout, wait_packet does not stop the script, usually wait_check_packet is a better choice. Ruby / Python Syntax: # Returns true or false based on the whether the packet was received success = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"wait_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check","content":" Combines the wait and check keywords into one. This pauses the script until the converted value of a telemetry item meets given criteria or times out. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW) Python Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item equals an expected value within a tolerance. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW) Python Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for check_expression. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. Ruby / Python Example: elapsed = wait_check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_check_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will stop. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the packets elapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting specified number of packets. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"Limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits","content":" These methods deal with handling telemetry limits. ","version":"Next","tagName":"h2"},{"title":"limits_enabled?, limits_enabled​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits_enabled-limits_enabled","content":" The limits_enabled? method returns true/false depending on whether limits are enabled for a telemetry item. Ruby Syntax: limits_enabled?("<Target Name> <Packet Name> <Item Name>") Python Syntax: limits_enabled("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby Example: enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false Python Example: enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False ","version":"Next","tagName":"h3"},{"title":"enable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits","content":" Enables limits monitoring for the specified telemetry item. Ruby / Python Syntax: enable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: enable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"disable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits","content":" Disables limits monitoring for the specified telemetry item. Ruby / Python Syntax: disable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: disable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"enable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits_group","content":" Enables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: enable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: enable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"disable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits_group","content":" Disables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: disable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: disable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"get_limits_groups​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_groups","content":" Returns the list of limits groups in the system. Ruby / Python Syntax / Example: limits_groups = get_limits_groups() ","version":"Next","tagName":"h3"},{"title":"set_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits_set","content":" Sets the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax: set_limits_set("<Limits Set Name>") Parameter\tDescriptionLimits Set Name\tName of the limits set. Ruby / Python Example: set_limits_set("DEFAULT") ","version":"Next","tagName":"h3"},{"title":"get_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_set","content":" Returns the name of the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax / Example: limits_set = get_limits_set() ","version":"Next","tagName":"h3"},{"title":"get_limits_sets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_sets","content":" Returns the list of limits sets in the system. Ruby / Python Syntax / Example: limits_sets = get_limits_sets() ","version":"Next","tagName":"h3"},{"title":"get_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits","content":" Returns hash / dict of all the limits settings for a telemetry point. Ruby / Python Syntax: get_limits(<Target Name>, <Packet Name>, <Item Name>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item Packet Name\tName of the telemetry packet of the telemetry item Item Name\tName of the telemetry item Ruby Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') puts result #=> {"DEFAULT"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], "TVAC"=>[-80.0, -30.0, 30.0, 80.0]} puts result.keys #=> ['DEFAULT', 'TVAC'] puts result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] Python Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') print(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]} print(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC']) print(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] ","version":"Next","tagName":"h3"},{"title":"set_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits","content":" The set_limits_method sets limits settings for a telemetry point. Note: In most cases it would be better to update your config files or use different limits sets rather than changing limits settings in realtime. Ruby / Python Syntax: set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Red Low\tRed Low setting for this limits set. Any value below this value will be make the item red. Yellow Low\tYellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow. Yellow High\tYellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow. Red High\tRed High setting for this limits set. Any value above this value will be make the item red. Green Low\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Green High\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Limits Set\tOptional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set. Persistence\tOptional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets. Enabled\tOptional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets. Ruby / Python Example: set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true) ","version":"Next","tagName":"h3"},{"title":"get_out_of_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_out_of_limits","content":" Returns an array with the target_name, packet_name, item_name, and limits_state of all items that are out of their limits ranges. Ruby / Python Syntax / Example: out_of_limits_items = get_out_of_limits() ","version":"Next","tagName":"h3"},{"title":"get_overall_limits_state​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overall_limits_state","content":" Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'. Ruby / Python Syntax: get_overall_limits_state(<Ignored Items> (optional)) Parameter\tDescriptionIgnored Items\tArray of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...] Ruby / Python Example: overall_limits_state = get_overall_limits_state() overall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']]) ","version":"Next","tagName":"h3"},{"title":"get_limits_events​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_events","content":" Returns limits events based on an offset returned from the last time it was called. Ruby / Python Syntax: get_limits_event(<Offset>, count) Parameter\tDescriptionOffset\tOffset returned by the previous call to get_limits_event. Default is nil for the initial call count\tNamed parameter specifying the maximum number of limits events to return. Default is 100 Ruby / Python Example: events = get_limits_event() print(events) #[["1613077715557-0", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"YELLOW_LOW", # "new_limits_state"=>"RED_LOW", # "time_nsec"=>"1", # "message"=>"message"}], # ["1613077715557-1", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"RED_LOW", # "new_limits_state"=>"YELLOW_LOW", # "time_nsec"=>"2", # "message"=>"message"}]] # The last offset is the first item ([0]) in the last event ([-1]) events = get_limits_event(events[-1][0]) print(events) #[["1613077715657-0", # {"type"=>"LIMITS_CHANGE", # ... ","version":"Next","tagName":"h3"},{"title":"Targets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#targets","content":" Methods for getting knowledge about targets. ","version":"Next","tagName":"h2"},{"title":"get_target_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_names","content":" Returns a list of the targets in the system in an array. Ruby Syntax / Example: targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED'] ","version":"Next","tagName":"h3"},{"title":"get_target​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target","content":" Returns a target hash containing all the information about the target. Ruby Syntax: get_target("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: target = get_target("INST") print(target) #{"name"=>"INST", # "folder_name"=>"INST", # "requires"=>[], # "ignored_parameters"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "PKTID"], # "ignored_items"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "RECEIVED_COUNT", # "RECEIVED_TIMESECONDS", # "RECEIVED_TIMEFORMATTED"], # "limits_groups"=>[], # "cmd_tlm_files"=> # [".../targets/INST/cmd_tlm/inst_cmds.txt", # ".../targets/INST/cmd_tlm/inst_tlm.txt"], # "cmd_unique_id_mode"=>false, # "tlm_unique_id_mode"=>false, # "id"=>nil, # "updated_at"=>1613077058266815900, # "plugin"=>nil} ","version":"Next","tagName":"h3"},{"title":"get_target_interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_interfaces","content":" Returns the interfaces for all targets. The return value is an array of arrays where each subarray contains the target name, and a String of all the interface names. Syntax / Example: target_ints = get_target_interfaces() target_ints.each do |target_name, interfaces| puts "Target: #{target_name}, Interfaces: #{interfaces}" end ","version":"Next","tagName":"h3"},{"title":"Interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interfaces","content":" These methods allow the user to manipulate COSMOS interfaces. ","version":"Next","tagName":"h2"},{"title":"get_interface (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface-since-500","content":" Returns an interface status including the as built interface and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: interface = get_interface("INST_INT") print(interface) #{"name"=>"INST_INT", # "config_params"=>["interface.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_interface_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface_names","content":" Returns a list of the interfaces in the system in an array. Ruby / Python Syntax / Example: interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT'] ","version":"Next","tagName":"h3"},{"title":"connect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_interface","content":" Connects to targets associated with a COSMOS interface. Ruby / Python Syntax: connect_interface("<Interface Name>", <Interface Parameters (optional)>) Parameter\tDescriptionInterface Name\tName of the interface. Interface Parameters\tParameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_interface("INT1") connect_interface("INT1", hostname, port) ","version":"Next","tagName":"h3"},{"title":"disconnect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_interface","content":" Disconnects from targets associated with a COSMOS interface. Ruby / Python Syntax: disconnect_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: disconnect_interface("INT1") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_interface","content":" Starts logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_interface","content":" Stops logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"get_all_interface_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_interface_info","content":" Returns information about all interfaces. The return value is an array of arrays where each subarray contains the interface name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, command count, and telemetry count. Ruby Syntax / Example: interface_info = get_all_interface_info() interface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count| puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}" end Python Syntax / Example: interface_info = get_all_interface_info() for interface in interface_info(): # [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count] print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}") print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}") print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}") ","version":"Next","tagName":"h3"},{"title":"map_target_to_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#map_target_to_interface","content":" Map a target to an interface allowing target commands and telemetry to be processed by that interface. Ruby / Python Syntax: map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old) Parameter\tDescriptionTarget Name\tName of the target Interface Name\tName of the interface cmd_only\tNamed parameter whether to map target commands only to the interface (default: false) tlm_only\tNamed parameter whether to map target telemetry only to the interface (default: false) unmap_old\tNamed parameter whether remove the target from all existing interfaces (default: true) Ruby Example: map_target_to_interface("INST", "INST_INT", unmap_old: false) Python Example: map_target_to_interface("INST", "INST_INT", unmap_old=False) ","version":"Next","tagName":"h3"},{"title":"interface_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_cmd","content":" Send a command directly to an interface. This has no effect in the standard COSMOS interfaces but can be implemented by a custom interface to change behavior. Ruby / Python Syntax: interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: interface_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"interface_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_protocol_cmd","content":" Send a command directly to an interface protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Routers​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#routers","content":" These methods allow the user to manipulate COSMOS routers. ","version":"Next","tagName":"h2"},{"title":"connect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_router","content":" Connects a COSMOS router. Ruby / Python Syntax: connect_router("<Router Name>", <Router Parameters (optional)>) Parameter\tDescriptionRouter Name\tName of the router. Router Parameters\tParameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_ROUTER("INST_ROUTER") connect_router("INST_ROUTER", 7779, 7779, nil, 10.0, 'PREIDENTIFIED') ","version":"Next","tagName":"h3"},{"title":"disconnect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_router","content":" Disconnects a COSMOS router. Ruby / Python Syntax: disconnect_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: disconnect_router("INT1_ROUTER") ","version":"Next","tagName":"h3"},{"title":"get_router_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router_names","content":" Returns a list of the routers in the system in an array. Ruby / Python Syntax / Example: router_names = get_router_names() #=> ['ROUTER_INT'] ","version":"Next","tagName":"h3"},{"title":"get_router (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router-since-500","content":" Returns a router status including the as built router and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: router = get_router("ROUTER_INT") print(router) #{"name"=>"ROUTER_INT", # "config_params"=>["router.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_all_router_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_router_info","content":" Returns information about all routers. The return value is an array of arrays where each subarray contains the router name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, packets received, and packets sent. Ruby Syntax / Example: router_info = get_all_router_info() router_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent| puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}" end Python Syntax / Example: router_info = get_all_router_info() # router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent for router in router_info: print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}") print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}") print(f"Packets received: {router[7]}, Packets sent: {router[8]}") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_router","content":" Starts logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_router","content":" Stops logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"router_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_cmd","content":" Send a command directly to a router. This has no effect in the standard COSMOS routers but can be implemented by a custom router to change behavior. Ruby / Python Syntax: router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: router_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"router_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_protocol_cmd","content":" Send a command directly to an router protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index) Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Stashing Data​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stashing-data","content":" These methods allow the user to store temporary data into COSMOS and retrieve it. The storage is implemented as a key / value storage (Ruby hash or Python dict). This can be used in scripts to store information that applies across multiple scripts or multiple runs of a single script. ","version":"Next","tagName":"h2"},{"title":"stash_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_set","content":" Sets a stash item. Ruby / Python Syntax: stash_set("<Stash Key>", <Stash Value>) Parameter\tDescriptionStash Key\tName of the stash key to set Stash Value\tValue to set Ruby / Python Example: stash_set('run_count', 5) stash_set('setpoint', 23.4) ","version":"Next","tagName":"h3"},{"title":"stash_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_get","content":" Returns the specified stash item. Ruby / Python Syntax: stash_get("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to return Ruby / Python Example: stash_get('run_count') #=> 5 ","version":"Next","tagName":"h3"},{"title":"stash_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_all","content":" Returns all the stash items as a Ruby hash or Python dict. Ruby Syntax / Example: stash_all() #=> ['run_count' => 5, 'setpoint' => 23.4] Python Syntax / Example: stash_all() #=> ['run_count': 5, 'setpoint': 23.4] ","version":"Next","tagName":"h3"},{"title":"stash_keys​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_keys","content":" Returns all the stash keys. Ruby / Python Syntax / Example: stash_keys() #=> ['run_count', 'setpoint'] ","version":"Next","tagName":"h3"},{"title":"stash_delete​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_delete","content":" Deletes a stash item. Note this actions is permanent! Ruby / Python Syntax: stash_delete("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to delete Ruby / Python Example: stash_delete("run_count") ","version":"Next","tagName":"h3"},{"title":"Executing Other Procedures​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#executing-other-procedures","content":" These methods allow the user to bring in files of subroutines and execute other test procedures. ","version":"Next","tagName":"h2"},{"title":"start​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start","content":" Starts execution of another high level test procedure. No parameters can be given to high level test procedures. If parameters are necessary, then consider using a subroutine. Syntax: start("<Procedure Filename>") Parameter\tDescriptionProcedure Filename\tName of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported. Example: start("test1.rb") ","version":"Next","tagName":"h3"},{"title":"load_utility​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_utility","content":" Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement. Ruby / Python Syntax: load_utility("TARGET/lib/<Utility Filename>") Parameter\tDescriptionUtility Filename\tName of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb Example: load_utility("TARGET/lib/mode_changes.rb") # Ruby load_utility("TARGET/lib/mode_changes.py") # Python ","version":"Next","tagName":"h3"},{"title":"Opening, Closing & Creating Telemetry Screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#opening-closing--creating-telemetry-screens","content":" These methods allow the user to open, close or create unique telemetry screens from within a test procedure. ","version":"Next","tagName":"h2"},{"title":"display_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#display_screen","content":" Opens a telemetry screen at the specified position. Ruby / Python Syntax: display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen Ruby / Python Example: display_screen("INST", "ADCS", 100, 200) ","version":"Next","tagName":"h3"},{"title":"clear_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_screen","content":" Closes an open telemetry screen. Ruby / Python Syntax: clear_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: clear_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"clear_all_screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_all_screens","content":" Closes all open screens. Ruby / Python Syntax / Example: clear_all_screens() ","version":"Next","tagName":"h3"},{"title":"delete_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_screen","content":" Deletes an existing Telemetry Viewer screen. Ruby / Python Syntax: delete_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: delete_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"get_screen_list​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_list","content":" The get_screen_list returns a list of available telemetry screens. Ruby / Python Syntax / Example: get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...] ","version":"Next","tagName":"h3"},{"title":"get_screen_definition​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_definition","content":" The get_screen_definition returns the text file contents of a telemetry screen definition. Syntax: get_screen_definition("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: screen_definition = get_screen_definition("INST", "HS") ","version":"Next","tagName":"h3"},{"title":"create_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#create_screen","content":" The create_screen allows you to create a screen directly from a script. This screen is saved to Telemetry Viewer for future use in that application. Python / Ruby Syntax: create_screen("<Target Name>", "<Screen Name>" "<Definition>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) Python Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) ","version":"Next","tagName":"h3"},{"title":"local_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#local_screen","content":" The local_screen allows you to create a local screen directly from a script which is not permanently saved to the Telemetry Viewer screen list. This is useful for one off screens that help users interact with scripts. Python / Ruby Syntax: local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionScreen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen NOTE: It is possible to specify a X, Y location off the visible display. If you do so and try to re-create the screen it will not display (because it is already displayed). Try issuing a clear_all_screens() first to clear any screens off the visible display space. Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) Python Example: screen_def = """ SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END """ # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) ","version":"Next","tagName":"h3"},{"title":"Script Runner Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-settings","content":" These methods allow the user to control various Script Runner settings. ","version":"Next","tagName":"h2"},{"title":"set_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_line_delay","content":" This method sets the line delay in script runner. Ruby / Python Syntax: set_line_delay(<Delay>) Parameter\tDescriptionDelay\tThe amount of time script runner will wait between lines when executing a script, in seconds. Should be ≥ 0.0 Ruby / Python Example: set_line_delay(0.0) ","version":"Next","tagName":"h3"},{"title":"get_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_line_delay","content":" The method gets the line delay that script runner is currently using. Ruby / Python Syntax / Example: curr_line_delay = get_line_delay() ","version":"Next","tagName":"h3"},{"title":"set_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_max_output","content":" This method sets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax: set_max_output(<Characters>) Parameter\tDescriptionCharacters\tNumber of characters to output before truncating Ruby / Python Example: set_max_output(100) ","version":"Next","tagName":"h3"},{"title":"get_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_max_output","content":" The method gets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax / Example: print(get_max_output()) #=> 50000 ","version":"Next","tagName":"h3"},{"title":"disable_instrumentation​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_instrumentation","content":" Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented. Consider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script. Use with Caution Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop. Ruby Syntax / Example: disable_instrumentation do 1000.times do # Don't want this to have to highlight 1000 times end end Python Syntax / Example: with disable_instrumentation(): for x in range(1000): # Don't want this to have to highlight 1000 times ","version":"Next","tagName":"h3"},{"title":"Script Runner Suites​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-suites","content":" Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see running script suites. ","version":"Next","tagName":"h2"},{"title":"add_group, add_group_setup, add_group_teardown, add_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#add_group-add_group_setup-add_group_teardown-add_script","content":" Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'. Ruby / Python Syntax: add_group(<Group Class>) add_group_setup(<Group Class>) add_group_teardown(<Group Class>) add_script(<Group Class>, <Method>) Parameter\tDescriptionGroup Class\tName of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly. Method\tName of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly. Ruby Example: load 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def script_1 # Insert test code here ... end end class WrapperGroup < OpenC3::Group def setup # Insert test code here ... end def my_method # Insert test code here ... end def teardown # Insert test code here ... end end class MySuite < OpenC3::Suite def initialize super() add_group('ExampleGroup') add_group_setup('WrapperGroup') add_script('WrapperGroup', 'my_method') add_group_teardown('WrapperGroup') end end Python Example: from openc3.script import * from openc3.script.suite import Group, Suite class ExampleGroup(Group): def script_1(self): # Insert test code here ... pass class WrapperGroup(Group): def setup(self): # Insert test code here ... pass def my_method(self): # Insert test code here ... pass def teardown(self): # Insert test code here ... pass class MySuite(Suite): def __init__(self): super().__init__() self.add_group(ExampleGroup) self.add_group_setup(WrapperGroup) self.add_script(WrapperGroup, 'my_method') self.add_group_teardown(WrapperGroup) ","version":"Next","tagName":"h3"},{"title":"Script Runner Debugging​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-debugging","content":" These methods allow the user to debug scripts with ScriptRunner. ","version":"Next","tagName":"h2"},{"title":"step_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#step_mode","content":" Places ScriptRunner into step mode where Go must be hit to proceed to the next line. Ruby / Python Syntax / Example: step_mode() ","version":"Next","tagName":"h3"},{"title":"run_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#run_mode","content":" Places ScriptRunner into run mode where the next line is run automatically. Ruby / Python Syntax / Example: run_mode() ","version":"Next","tagName":"h3"},{"title":"disconnect_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_script","content":" Puts scripting into disconnect mode. In disconnect mode, commands are not sent to targets, checks are all successful, and waits expire instantly. Requests for telemetry (tlm()) typically return 0. Disconnect mode is useful for dry-running scripts without having connected targets. Ruby / Python Syntax / Example: disconnect_script() ","version":"Next","tagName":"h3"},{"title":"Metadata​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata","content":" Metadata allows you to mark the regular target / packet data logged in COSMOS with your own fields. This metadata can then be searched and used to filter data when using other COSMOS tools. ","version":"Next","tagName":"h2"},{"title":"metadata_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_all","content":" Returns all the metadata that was previously set Ruby / Python Syntax: metadata_all() Parameter\tDescriptionlimit\tAmount of metadata items to return. Default is 100. Ruby Example: metadata_all(limit: 500) Python Example: metadata_all(limit='500') ","version":"Next","tagName":"h3"},{"title":"metadata_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_get","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_get(start) Parameter\tDescriptionstart\tNamed parameter, time at which to retrieve metadata as integer seconds from epoch Ruby Example: metadata_get(start: 500) Python Example: metadata_get(start='500') ","version":"Next","tagName":"h3"},{"title":"metadata_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_set","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_set(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to store as metadata. start\tNamed parameter, time at which to store metadata. Default is now. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_set({ 'key' => 'value' }) metadata_set({ 'key' => 'value' }, color: '#ff5252') Python Example: metadata_set({ 'key': 'value' }) metadata_set({ 'key': 'value' }, color='ff5252') ","version":"Next","tagName":"h3"},{"title":"metadata_update​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_update","content":" Updates metadata that was previously set Ruby / Python Syntax: metadata_update(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to update as metadata. start\tNamed parameter, time at which to update metadata. Default is latest metadata. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_update({ 'key' => 'value' }) Python Example: metadata_update({ 'key': 'value' }) ","version":"Next","tagName":"h3"},{"title":"metadata_input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_input","content":" Prompts the user to set existing metadata values or create new a new one. Ruby / Python Syntax / Example: metadata_input() ","version":"Next","tagName":"h3"},{"title":"Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#settings","content":" COSMOS has several settings typically accessed through the Admin Settings tab. These APIs allow programmatic access to those same settings. ","version":"Next","tagName":"h2"},{"title":"list_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_settings","content":" Return all the current COSMOS setting name. These are the names that should be used in the other APIs. Ruby Syntax / Example: puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"] Python Syntax / Example: print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version'] ","version":"Next","tagName":"h3"},{"title":"get_all_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_settings","content":" Return all the current COSMOS settings along with their values. Ruby Syntax / Example: puts get_all_settings() #=> # { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507}, # "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007}, # "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465}, # "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} } Python Syntax / Example: print(get_all_settings()) #=> # { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507}, # 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007}, # 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465}, # 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} } ","version":"Next","tagName":"h3"},{"title":"get_setting, get_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_setting-get_settings","content":" Return the data from the given COSMOS setting. Returns nil (Ruby) or None (Python) if the setting does not exist. Ruby / Python Syntax: get_setting(<Setting Name>) get_settings(<Setting Name1>, <Setting Name2>, ...) Parameter\tDescriptionSetting Name\tName of the setting to return Ruby Example: puts get_setting('version') #=> "5.11.4-beta0" puts get_settings('version', 'rubygems_url') #=> ["5.11.4-beta0", "https://rubygems.org"] Python Example: print(get_setting('version')) #=> '5.11.4-beta0' print(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org'] ","version":"Next","tagName":"h3"},{"title":"set_setting​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_setting","content":" Sets the given setting value. Admin Passwork Required This API is only accessible externally (not within Script Runner) and requires the admin password. Ruby / Python Syntax: set_setting(<Setting Name>, <Setting Value>) Parameter\tDescriptionSetting Name\tName of the setting to change Setting Value\tSetting value to set Ruby Example: set_setting('rubygems_url', 'https://mygemserver') puts get_settings('rubygems_url') #=> "https://mygemserver" Python Example: set_setting('pypi_url', 'https://mypypiserver') print(get_settings('pypi_url')) #=> 'https://mypypiserver' ","version":"Next","tagName":"h3"},{"title":"Configuration​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#configuration","content":" Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration. ","version":"Next","tagName":"h2"},{"title":"config_tool_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#config_tool_names","content":" List all the configuration tool names which are used as the first parameter in the other APIs. Ruby Syntax / Example: names = config_tool_names() pp names #=> ["telemetry_grapher", "data_viewer"] Python Syntax / Example: names = config_tool_names() print(names) #=> ['telemetry_grapher', 'data_viewer'] ","version":"Next","tagName":"h3"},{"title":"list_configs​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_configs","content":" List all the saved configuration names under the given tool name. Ruby / Python Syntax: list_configs(<Tool Name>) Parameter\tDescriptionTool Name\tName of the tool to retrieve configuration names from Ruby Example: configs = list_configs('telemetry_grapher') pp configs #=> ['adcs', 'temps'] Python Example: configs = list_configs('telemetry_grapher') print(configs) #=> ['adcs', 'temps'] ","version":"Next","tagName":"h3"},{"title":"load_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_config","content":" Load a particular tool configuration. Tool Configuration Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys. Ruby / Python Syntax: load_config(<Tool Name>, <Configuration Name>) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration Ruby / Python Example: config = load_config('telemetry_grapher', 'adcs') print(config) #=> # [ { # "items": [ # { # "targetName": "INST", # "packetName": "ADCS", # "itemName": "CCSDSVER", # ... ","version":"Next","tagName":"h3"},{"title":"save_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#save_config","content":" Save a particular tool configuration. Ruby / Python Syntax: save_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to save the configuration in local mode Ruby / Python Example: save_config('telemetry_grapher', 'adcs', config) ","version":"Next","tagName":"h3"},{"title":"delete_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_config","content":" Delete a particular tool configuration. Ruby / Python Syntax: delete_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to delete the configuration in local mode Ruby / Python Example: delete_config('telemetry_grapher', 'adcs') ","version":"Next","tagName":"h3"}],"options":{"id":"default"}} \ No newline at end of file diff --git a/docs/search-doc-1733631336358.json b/docs/search-doc-1733631336358.json new file mode 100644 index 0000000000..944b5478f1 --- /dev/null +++ b/docs/search-doc-1733631336358.json @@ -0,0 +1 @@ +{"searchDocs":[{"title":"Introduction","type":0,"sectionRef":"#","url":"/docs","content":"","keywords":"","version":"Next"},{"title":"So what is COSMOS, exactly?​","type":1,"pageTitle":"Introduction","url":"/docs#so-what-is-cosmos-exactly","content":" COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be anything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to development boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites. ","version":"Next","tagName":"h2"},{"title":"COSMOS Architecture​","type":1,"pageTitle":"Introduction","url":"/docs#cosmos-architecture","content":" COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. Keep reading for an in-depth discussion of each of the COSMOS Tools. ","version":"Next","tagName":"h3"},{"title":"Helpful Hints​","type":1,"pageTitle":"Introduction","url":"/docs#helpful-hints","content":" Throughout this guide there are a number of small-but-handy pieces of information that can make using COSMOS easier, more interesting, and less hazardous. Here's what to look out for. ProTips™ help you get more from COSMOS These are tips and tricks that will help you be a COSMOS wizard! Notes are handy pieces of information These are for the extra tidbits sometimes necessary to understand COSMOS. Warnings help you not blow things up Be aware of these messages if you wish to avoid certain death. Find a problem in the documentation or in COSMOS itself? Both using and hacking on COSMOS should be fun, simple, and easy, so if for some reason you find it's a pain, please create an issue on GitHub describing your experience so we can make it better. ","version":"Next","tagName":"h2"},{"title":"File Format","type":0,"sectionRef":"#","url":"/docs/configuration/format","content":"","keywords":"","version":"Next"},{"title":"Keyword / Parameters​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#keyword--parameters","content":" Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example: COMMAND TARGET COLLECT BIG_ENDIAN "Collect command" The keyword is COMMAND and the parameters are TARGET, COLLECT, BIG_ENDIAN, and "Collect command". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the COMMAND keyword above has the following documentation: PARAMETER\tDESCRIPTION\tREQUIREDTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse The Target and Command parameters can be any string and are required. The Endianness parameter is required and must be BIG_ENDIAN or LITTLE_ENDIAN. Other values will cause an error when parsed. The Description parameter must be enclosed in quotes and is optional. All the COSMOS configuration files document their keyword and parameters in this fashion. In addition, Example Usage is provided similar to the example given above. ","version":"Next","tagName":"h2"},{"title":"ERB​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#erb","content":" ERB stands for Embedded Ruby. ERB is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB: <% Ruby code -- no output %> <%= Ruby expression -- insert result %> In a COSMOS Telemetry configuration file we could write the following: <% (1..5).each do |i| %> APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting" <% end %> The first line is Ruby code which iterates from 1 up to and including 5 and places the value in the variable i. The code inside the block will be output to the file every time the iteration runs. The APPEND_ITEM line uses the value of i and directly outputs it to the file by using the <%= syntax. The result of the parsing will look like the following: APPEND_ITEM VALUE1 16 UINT "Value 1 setting" APPEND_ITEM VALUE2 16 UINT "Value 2 setting" APPEND_ITEM VALUE3 16 UINT "Value 3 setting" APPEND_ITEM VALUE4 16 UINT "Value 4 setting" APPEND_ITEM VALUE5 16 UINT "Value 5 setting" COSMOS uses ERB syntax extensively in a Plugin's plugin.txt configuration file. ","version":"Next","tagName":"h2"},{"title":"render​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#render","content":" COSMOS provides a method used inside ERB called render which renders a configuration file into another configuration file. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" <%= render "_ccsds_apid.txt", locals: {apid: 1} %> APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows: APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id" This would result in output as follows: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id" APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... Note the variable apid was set to 1 using the locals: syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the Demo for a more comprehensive example. ","version":"Next","tagName":"h3"},{"title":"Line Continuation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#line-continuation","content":" COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: &. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN & "Health and status" This will strip the ampersand character and merge the two lines to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" Spaces around the second line are stripped so indentation does not matter. ","version":"Next","tagName":"h2"},{"title":"String Concatenation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#string-concatenation","content":" COSMOS supports two different string concatenation characters in configuration files. To concatenate strings with a newline use the plus character: +. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" + "Additional description" The strings will be merged with a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\\nAdditional description" To concatenate strings without a newline use the backslash character: \\. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \\ 'Additional description' The strings will be merged without a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description' The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped. ","version":"Next","tagName":"h2"},{"title":"target.txt Keywords","type":0,"sectionRef":"#","url":"/docs/configuration/target","content":"","keywords":"","version":"Next"},{"title":"LANGUAGE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#language","content":" (Since 5.11.1) Programming language of the target interfaces and microservices The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating. Parameter\tDescription\tRequired\tRuby or Python Valid Values: ruby, python\tTrue Example Usage: LANGUAGE python ","version":"Next","tagName":"h2"},{"title":"REQUIRE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#require","content":" Requires a Ruby file List the Ruby files required to explicitly declare dependencies. This is now completely optional. Parameter\tDescription\tRequiredFilename\tFilename to require. For files in the target's lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.\tTrue Example Usage: REQUIRE limits_response.rb ","version":"Next","tagName":"h2"},{"title":"IGNORE_PARAMETER​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_parameter","content":" Ignore the given command parameter Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter. Parameter\tDescription\tRequiredParameter Name\tThe name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in.\tTrue Example Usage: IGNORE_PARAMETER CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"IGNORE_ITEM​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_item","content":" Ignore the given telemetry item Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet. Parameter\tDescription\tRequiredItem name\tThe name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in.\tTrue Example Usage: IGNORE_ITEM CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"COMMANDS​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#commands","content":" Process the given command definition file This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process. Parameter\tDescription\tRequiredFilename\tName of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"TELEMETRY​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#telemetry","content":" Process the given telemetry definition file This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process. Parameter\tDescription\tRequiredFilename\tName of a telemetry definition file in the target's cmd_tlm directory, e.g. "tlm.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"CMD_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#cmd_unique_id_mode","content":" (Since 4.4.0) Command packet identifiers don't all share the same bit offset, size, and type Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"TLM_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#tlm_unique_id_mode","content":" (Since 4.4.0) Telemetry packets identifiers don't all share the same bit offset, size, and type Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"SSL-TLS","type":0,"sectionRef":"#","url":"/docs/configuration/ssl-tls","content":"","keywords":"","version":"Next"},{"title":"Generate the certificate​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#generate-the-certificate","content":" Note: Self-signed certificates are considered insecure for the Internet. Firefox will treat the site as having an invalid certificate, while Chrome will act as if the connection was plain HTTP. To create a new Self-Signed SSL Certificate, use the openssl req command (run on linux from the cosmos-project root): openssl req -newkey rsa:4096 \\ -x509 \\ -sha256 \\ -days 3650 \\ -nodes \\ -out ./openc3-traefik/cert.crt \\ -keyout ./openc3-traefik/cert.key Country Name (2 letter code) [XX]:. State or Province Name (full name) []:. Locality Name (eg, city) [Default City]:. Organization Name (eg, company) [Default Company Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server hostname) []: <!-- UPDATE WITH YOUR HOSTNAME HERE --> Email Address []: Let's breakdown the command and understand what each option means: newkey rsa:4096 - Creates a new certificate request and 4096 bit RSA key. The default one is 2048 bits.x509 - Creates a X.509 Certificate.sha256 - Use 265-bit SHA (Secure Hash Algorithm).days 3650 - The number of days to certify the certificate for. 3650 is ten years. You can use any positive integer.nodes - Creates a key without a passphrase.out ./openc3-traefik/cert.crt - Specifies the filename to write the newly created certificate to. You can specify any file name.keyout ./openc3-traefik/cert.key - Specifies the filename to write the newly created private key to. You can specify any file name. For more information about the openssl req command options, visit the OpenSSL req documentation page. ","version":"Next","tagName":"h3"},{"title":"Updating the openc3-traefik Dockerfile​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-openc3-traefik-dockerfile","content":" Add the new cert to the traefik Docker container. --- a/openc3-traefik/Dockerfile +++ b/openc3-traefik/Dockerfile @@ -1,3 +1,4 @@ FROM traefik:2.4 COPY ./traefik.yaml /etc/traefik/traefik.yaml +COPY ./cert.crt ./cert.key /etc/certs/ EXPOSE 80 ","version":"Next","tagName":"h3"},{"title":"Updating the Traefik config​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-traefik-config","content":" Configure Traefik to use the new cert file. openc3-traefik/traefik.yaml --- a/openc3-traefik/traefik.yaml +++ b/openc3-traefik/traefik.yaml @@ -3,6 +3,17 @@ +tls: + certificates: + - certFile: "/etc/certs/cert.crt" + keyFile: "/etc/certs/cert.key" # Listen for everything coming in on the standard HTTP port entrypoints: web: address: ":2900" + http: + redirections: + entryPoint: + to: websecure + scheme: https + websecure: + address: ":2943" + http: + tls: + domains: + - main: "<!-- UPDATE WITH YOUR HOSTNAME HERE -->" ","version":"Next","tagName":"h3"},{"title":"Update docker-compose.yaml​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#update-docker-composeyaml","content":" Update traefik to use secure port 443 instead of port 80. --- a/compose.yaml +++ b/compose.yaml services: openc3-minio: @@ -70,7 +70,7 @@ services: openc3-traefik: image: "ballaerospace/openc3-traefik:${OPENC3_TAG}" ports: - - "80:2900" + - "443:2943" restart: "unless-stopped" depends_on: Now you can run ./openc3.sh start to rebuild the Traefik container and it should include your new cert file. ","version":"Next","tagName":"h3"},{"title":"Let's Encrypt​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#lets-encrypt","content":" KEY​ privkey.pem is the "key" file Sometimes it is named as cert.key or example.com.key. CRT​ fullchain.pem is your "crt" file. Sometimes it is named as example.com.crt. CRT/KEY Bundle​ bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem HAProxy is the only server that I know of that uses bundle.pem. cert.pem​ cert.pem contains ONLY your certificate, which can only be used by itself if the browser already has the certificate which signed it, which may work in testing (which makes it seem like it may be the right file), but will actually fail for many of your users in production with a security error of untrusted certificate. However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem. chain.pem​ chain.pem is the intermediary signed authority, signed by the root authority - which is what all browsers are guaranteed to have in their pre-built cache. ","version":"Next","tagName":"h2"},{"title":"Checking certs​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#checking-certs","content":" You can inspect the cert like so: openssl x509 -in cert.pem -text -noout ","version":"Next","tagName":"h3"},{"title":"Extracting the certificate and keys from a .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extracting-the-certificate-and-keys-from-a-pfx-file","content":" The .pfx file, which is in a PKCS#12 format, contains the SSL certificate (public keys) and the corresponding private keys. You might have to import the certificate and private keys separately in an unencrypted plain text format to use it on another system. This topic provides instructions on how to convert the .pfx file to .crt and .key files. ","version":"Next","tagName":"h2"},{"title":"Extract .crt and .key files from .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extract-crt-and-key-files-from-pfx-file","content":" PREREQUISITE: Ensure OpenSSL is installed in the server that contains the SSL certificate. Start OpenSSL from the OpenSSL\\bin folder. Open the command prompt and go to the folder that contains your .pfx file. Run the following command to extract the private key: openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key] You will be prompted to type the import password. Type the password that you used to protect your keypair when you created the .pfx file. You will be prompted again to provide a new password to protect the .key file that you are creating. Store the password to your key file in a secure place to avoid misuse. Run the following command to extract the certificate: openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt] Run the following command to decrypt the private key: openssl rsa -in [drlive.key] -out [drlive-decrypted.key] Type the password that you created to protect the private key file in the previous step. The .crt file and the decrypted and encrypted .key files are available in the path, where you started OpenSSL. ","version":"Next","tagName":"h3"},{"title":"Convert .pfx file to .pem format​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#convert-pfx-file-to-pem-format","content":" There might be instances where you might have to convert the .pfx file into .pem format. Run the following command to convert it into PEM format. openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key] ","version":"Next","tagName":"h3"},{"title":"TLS1.2 INADEQUATE_SECURITY Errors​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#tls12-inadequate_security-errors","content":" https://doc.traefik.io/traefik/https/tls/#cipher-suiteshttps://pkg.go.dev/crypto/tls#pkg-constants tls: options: default: cipherSuites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ","version":"Next","tagName":"h2"},{"title":"Tables","type":0,"sectionRef":"#","url":"/docs/configuration/table","content":"","keywords":"","version":"Next"},{"title":"Table Definition Files​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-definition-files","content":" Table definition files define the binary tables that can be displayed in COSMOS Table Manager. Table definitions are defined in the target's tables/config directory and are typically named after the table such as PPSSelectionTable_def.txt. The _def.txt extension helps to identify the file as a table definition. Table definitions can be combined using the TABLEFILE keyword. This allows you to build individual table components into a larger binary. The Table definition files share a lot of similarity with the Command Configuration. You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Table Keywords ","version":"Next","tagName":"h2"},{"title":"TABLEFILE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#tablefile","content":" Specify another file to open and process for table definitions Parameter\tDescription\tRequiredFile Name\tName of the file. The file will be looked for in the directory of the current definition file.\tTrue ","version":"Next","tagName":"h2"},{"title":"TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table","content":" Start a new table definition Parameter\tDescription\tRequiredName\tName of the table in quotes. The name will appear on the GUI tab.\tTrue Endianness\tIndicates if the data in this table is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Display\tIndicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values. Valid Values: KEY_VALUE, ROW_COLUMN\tFalse When Display is KEY_VALUE the remaining parameters are: Parameter\tDescription\tRequiredDescription\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse When Display is ROW_COLUMN the remaining parameters are: Parameter\tDescription\tRequiredRows\tThe number of rows in the table\tFalse Description\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse ","version":"Next","tagName":"h2"},{"title":"TABLE Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-modifiers","content":" The following keywords must follow a TABLE keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Offset\tBit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JSONPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * self.multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE HIDDEN​ Indicates that the parameter should not be shown to the user in the Table Manager GUI Hidden parameters still exist and will be saved to the resulting binary. This is useful for padding and other essential but non-user editable fields. UNEDITABLE​ Indicates that the parameter should be shown to the user but not editable. Uneditable parameters are useful for control fields which the user may be interested in but should not be able to edit. ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#append_parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"SELECT_TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#select_table","content":" Select an existing table for editing, typically done to override an existing definition Parameter\tDescription\tRequiredTable\tThe name of the existing table\tTrue ","version":"Next","tagName":"h2"},{"title":"DEFAULT​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#default","content":" Specify default values for a SINGLE row in a multi-column table If you have multiple rows you need a DEFAULT line for each row. If all your rows are identical consider using ERB as shown in the OpenC3 demo. Parameter\tDescription\tRequiredDefault values\tA STATE value or data value corresponding to the data type\tFalse ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#example-file","content":" Example File: TARGET/tables/config/MCConfigurationTable_def.txt TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table" APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets" APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1 STATE DISABLE 0 STATE ENABLE 1 APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3 APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field" FORMAT_STRING "0x%0X" UNEDITABLE APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field" STATE DISABLE 0 STATE ENABLE 1 UNEDITABLE APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field" STATE UNCHECKED 0 STATE CHECKED 1 UNEDITABLE APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string" APPEND_PARAMETER "Pad" 16 UINT 0 0 0 HIDDEN ","version":"Next","tagName":"h2"},{"title":"Developing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/developing","content":"","keywords":"","version":"Next"},{"title":"Development Tools​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#development-tools","content":" The core COSMOS team develops with the Visual Studio Code editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our openc3.code-workspace configuration for VSCode to help configure these plugins. You also need Docker Desktop which you should already have as it is a requirement to run COSMOS. You'll also need NodeJS and yarn installed. Building COSMOS Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts. Build COSMOS using the openc3.sh script: % ./openc3.sh build This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build! Once the build completes you can see the built images with the following command: % docker image ls | grep "openc3" openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB openc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB openc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB openc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB openc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB openc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB openc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB openc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB Offline Building If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the .env file. Example values: ALPINE_VERSION=3.18 ALPINE_BUILD=9 RUBYGEMS_URL=https://rubygems.org NPM_URL=https://registry.npmjs.org APK_URL=http://dl-cdn.alpinelinux.org Running COSMOS Running COSMOS in development mode enables localhost access to internal API ports as well as sets RAILS_ENV=development in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode: % ./openc3.sh dev You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space): % docker ps IMAGE COMMAND PORTS NAMES openc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails…" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1 openc3/openc3-script-runner-api:latest "/sbin/tini -- rails…" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1 openc3/openc3-traefik:latest "/entrypoint.sh trae…" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1 openc3/openc3-operator:latest "/sbin/tini -- ruby …" cosmos-openc3-operator-1 openc3/openc3-minio:latest "/usr/bin/docker-ent…" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1 openc3/openc3-redis:latest "docker-entrypoint.s…" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1 If you go to localhost:2900 you should see COSMOS up and running! ","version":"Next","tagName":"h2"},{"title":"Running a Frontend Application​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-frontend-application","content":" So now that you have COSMOS up and running how do you develop an individual COSMOS application? Bootstrap the frontend with yarn openc3-init % yarn Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc) openc3-init % cd plugins/packages/openc3-tool-scriptrunner openc3-tool-scriptrunner % yarn serve DONE Compiled successfully in 128722ms App running at: - Local: http://localhost:2914/tools/scriptrunner/ - Network: http://localhost:2914/tools/scriptrunner/ Note that the development build is not optimized. To create a production build, run npm run build. Set the single SPA override for the application Visit localhost:2900 and Right-click 'Inspect' In the console paste: localStorage.setItem("devtools", true); Refresh and you should see {...} in the bottom right Click the Default button next to the application (@openc3/tool-scriptrunner) Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner) http://localhost:2914/tools/scriptrunner/js/app.js Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like console.log) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's development tools if you plan to do frontend development. ","version":"Next","tagName":"h2"},{"title":"Running a Backend Server​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-backend-server","content":" If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy. Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations. % cd openc3-traefik openc3-traefik % docker ps # Look for the container with name including traefik openc3-traefik % docker stop cosmos-openc3-traefik-1 openc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev . openc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev Run a local copy of the cmd-tlm-api or script-runner-api % cd openc3-cosmos-cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker ps # Look for the container with name including cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1 # Run the following on Windows: openc3-cosmos-cmd-tlm-api> dev_server.bat # In Linux, set all the environment variables in the .env file, but override REDIS to be local openc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % bundle install openc3-cosmos-cmd-tlm-api % bundle exec rails s Once the bundle exec rails s command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect. ","version":"Next","tagName":"h2"},{"title":"Log Structure","type":0,"sectionRef":"#","url":"/docs/development/log-structure","content":"","keywords":"","version":"Next"},{"title":"Packet Log File Format​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#packet-log-file-format","content":" Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as well as decommutated packets stored as JSON structures. ","version":"Next","tagName":"h2"},{"title":"File Header​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#file-header","content":" COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions. ","version":"Next","tagName":"h3"},{"title":"Entry Types​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#entry-types","content":" Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data. Common Entry Format​ This common format is used for all packet log entries: Field\tData Type\tDescriptionLength\t32-bit Unsigned Integer\tTotal length of the entry in bytes not including the length field. Max entry size is therefore 4GiB. Entry Type\t4-bit Unsigned Integer\tEntry Type: 1 = Target Declaration 2 = Packet Declaraction 3 = Raw Packet 4 = JSON/CBOR Packet 5 = Offset Marker 6 = Key Map Cmd/Tlm Flag\t1-bit Unsigned Integer\t1 = Command 0 = Telemetry Stored Flag\t1-bit Unsigned Integer\t1 = Stored Data 0 = Realtime Data Id Flag\t1-bit Unsigned Integer\t1 = ID present 0 = ID not present CBOR Flag\t1-bit Unsigned Integer\tOnly Valid for "JSON/CBOR Packets" 1 = CBOR Data 0 = JSON Data Extra Flag\t1-bit Unsigned Integer\t1 = Extra present 0 = Extra Not Present (Added COSMOS 5.11) Received Time Flag\t1-bit Unsigned Integer\t1 = Received Time Present 0 = No Received Time (Added COSMOS 5.11.0) Reserved\t6-bit Unsigned Integer\tReserved for Future expansion. Should be set to 0 if unused. Entry Data\tVariable\tUnique data based on entry type. See Entry Types Below Id (Optional)\t32-byte Binary Hash\tIf the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration Target Declaration Entry​ Declares the name of a target the first time it is seen when writing the log file. Field\tData Type\tDescriptionTarget Name\tVariable-Length ASCII String\tTarget Name Packet Declaration Entry​ Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index. Field\tData Type\tDescriptionTarget Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc. Packet Name\tVariable-Length ASCII String\tPacket Name Raw Packet and JSON Packet Entries​ Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536. Packet Timestamp\t64-bit Unsigned Integer\tPacket timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the “packet time” for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed. Received Timestamp (Optional)\t64-bit Unsigned Integer\tOnly present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time” for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed. Extra Length (Optional)\t32-bit Unsigned Integer\tOnly Present if Extra Flag is Set. Length of extra data in bytes not including itself. Extra Data (Optional)\tVariable-Length Block Data\tOnly Present if Extra Flag is Set. CBOR or JSON encoded object of extra data. Packet Data\tVariable-Length Block Data\tThe Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry. Offset Marker Entry​ This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS. Field\tData Type\tDescriptionOffset Marker\tVariable-Length ASCII String\tRedis Offset Marker Key Map Entry​ The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. Key Map\tVariable-Length ASCII String\tKey Map Data with Mapping from numeric key to actual packet item name ","version":"Next","tagName":"h3"},{"title":"Protocols","type":0,"sectionRef":"#","url":"/docs/configuration/protocols","content":"","keywords":"","version":"Next"},{"title":"Packet Delineation Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#packet-delineation-protocols","content":" COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream. COSMOS Enterprise provides the following packet delineation protocols: CCSDS CLTU (with BCH Encoding), CCSDS TCTF (with Randomizer), CCSDS TMTF (with Randomizer), and GEMS. Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning :STOP). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the Custom Protocols documentation. Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific. ","version":"Next","tagName":"h2"},{"title":"COBS Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cobs-protocol","content":" The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing for more). ","version":"Next","tagName":"h3"},{"title":"SLIP Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#slip-protocol","content":" The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See https://datatracker.ietf.org/doc/html/rfc1055 for more). Parameter\tDescription\tRequired\tDefaultStart Char\tCharacter to place at the start of frames\tNo\tnil (no character) Read Strip Characters\tStrip off start_char and end_char from reads\tNo\ttrue Read Enable Escaping\tWhether to enable character escaping on reads\tNo\ttrue Write Enable Escaping\tWhether to enable character escaping on writes\tNo\ttrue End Char\tCharacter to place at the end of frames\tNo\t0xC0 Esc Char\tEscape character\tNo\t0xDB Escape End Char\tCharacter to escape End character\tNo\t0xDC Escape Esc Char\tCharacter to escape Esc character\tNo\t0xDD ","version":"Next","tagName":"h3"},{"title":"Burst Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#burst-protocol","content":" The Burst Protocol simply reads as much data as it can from the interface before returning the data as a COSMOS Packet (It returns a packet for each burst of data read). This Protocol relies on regular bursts of data delimited by time and thus is not very robust. However, it can utilize a sync pattern which does allow it to re-sync if necessary. It can also discard bytes from the incoming data to remove the sync pattern. Finally, it can add sync patterns to data being written out of the Interface. Parameter\tDescription\tRequired\tDefaultDiscard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Fixed Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#fixed-protocol","content":" The Fixed Protocol reads a preset minimum amount of data which is necessary to properly identify all the defined packets using the interface. It then identifies the packet and proceeds to read as much data from the interface as necessary to create the packet which it then returns. This protocol relies on all the packets on the interface being fixed in length. For example, all the packets using the interface are a fixed size and contain a simple header with a 32-bit sync pattern followed by a 16 bit ID. The Fixed Protocol would elegantly handle this case with a minimum read size of 6 bytes. The Fixed Protocol also supports a sync pattern, discarding leading bytes, and filling the sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultMinimum ID Size\tThe minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes.\tYes Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Telemetry\tWhether the data is telemetry\tNo\ttrue (false means command) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Unknown Raise\tWhether to raise an exception for an unknown packet\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Length Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#length-protocol","content":" The Length Protocol depends on a length field at a fixed location in the defined packets using the interface. It then reads enough data to grab the length field, decodes it, and reads the remaining length of the packet. For example, all the packets using the interface contain a CCSDS header with a length field. The Length Protocol can be set up to handle the length field and even the length offset CCSDS uses. The Length Protocol also supports a sync pattern, discarding leading bytes, and filling the length and sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultLength Bit Offset\tThe bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 bits Length Bit Size\tThe size in bits of the length field\tNo\t16 bits Length Value Offset\tThe offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 Bytes per Count\tThe number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words.\tNo\t1 byte Length Endianness\tThe endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'.\tNo\t'BIG_ENDIAN' Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Fill Length and Sync Pattern\tSetting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets.\tNo\tfalse The most confusing aspect of the Length Protocol is calculating the Length Value Offset. This is especially true in the commonly used CCSDS Space Packet Protocol. The best way to illustrate this is with an example. Suppose you have CCSDS Space Packets prepended with a Sync Pattern of 0x1ACFFC1D. This would look like the following: Sync (4 bytes)\tHeader (4 bytes)\tLength (2 bytes)\tData (4 bytes)0x1ACFFC1D\t0x0001CADB\t0x0003\t0xDEADBEEF In this case the total length of the packet is 14 bytes: 4 + 4 + 2 + 4 = 14. With 4 bytes of data, the length field is 3 because in CCSDS the length field is calculated as (data length - 1). So how would we calculate the Length Value Offset? COSMOS reads all the bytes in the packet (including the Sync Pattern) so the total length is 14 bytes. The length field is 3 so the Length Value Offset (offset to apply to the length field value) should be 11 (3 + 11 = 14). ","version":"Next","tagName":"h3"},{"title":"Terminated Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#terminated-protocol","content":" The Terminated Protocol delineates packets using termination characters found at the end of every packet. It continuously reads data until the termination characters are found at which point it returns the packet data. For example, all the packets using the interface are followed by 0xABCD. This data can either be a part of each packet that is kept or something which is known only by the Terminated Protocol and simply thrown away. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"GEMS Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#gems-protocol-enterprise","content":" The GEMS Protocol implements the Ground Equipment Monitoring Service protocol. It is added along with the TerminatedProtocol which delineates packets using '|END'. The GEMS Interface is currently only implemented in Ruby. The GEMS protocol doesn't take any parameters but should be added to an interface after the TerminatedProtocol and CmdResponseProtocol. plugin.txt Ruby Example: INTERFACE GEMS_INT tcpip_client_interface.rb openc3-operator 8080 8080 10.0 nil nil # TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false ... means: # wtc rtc strip discard sync fill # where wtc = write termination characters, end of the gems protocol: 0x7C454E44 == '|END' # rtc = read termination characters, end of the gems protocol: 0x7C454E44 == '|END' # strip = strip read termination (false) # discard = 0 bytes # sync pattern = beginning of the GEMS protocol: 0x7C47454D53 == '|GEMS' # fill = whether to fill in the sync pattern (false as we specify fill in our cmd/tlm definitions) PROTOCOL READ TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false # CmdResponseProtocol 5.0 0.2 true means: # 5 sec response timeout, 0.2 sec response polling, # and true to raise exceptions when protocol errors occur PROTOCOL READ_WRITE CmdResponseProtocol 5.0 0.2 true PROTOCOL READ_WRITE GemsProtocol For a full example, please see the openc3-cosmos-gems-interface in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CCSDS CLTU Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ccsds-cltu-protocol-enterprise","content":" The CCSDS CLTU Protocol handles the CLTU (Communicates Link Transfer Unit) for Command Streams. It encodes outgoing messages with a BCH encoding and then applies a header and footer to the data. Parameter\tDescription\tRequired\tDefaultHeader\tHeader before BCH encoded data\tNo\t0xEB90 Footer\tFooter after BCH encoded data\tNo\t0xC5C5C5C5C5C5C579 Fill Byte\tBCH encoding fill byte\tNo\t0x55 For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CCSDS TCTF Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ccsds-tctf-protocol-enterprise","content":" The CCSDS TCTF Protocol handles the Telecommand Transfer Frame for Command Streams. Parameter\tDescription\tRequired\tDefaultRandomization\tWhether to encode and randomize the transfer frame\tNo\ttrue Error Control\tWhether to use the Frame Error Control Field and apply a 16 bit CRC\tNo\tfalse Bypass\tBypass bit where 0 is Type-A and 1 is Type-B (bypass frame acceptance checks)\tNo\t1 SCID\tSpacecraft Identifier (10 bits)\tNo\t0 VCID\tVirtual Channel Identifier (6 bits)\tNo\t0 For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CCSDS TMTF Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ccsds-tmtf-protocol-enterprise","content":" The CCSDS TMTF Protocol handles the Telemetry Transfer Frame for Telemetry Streams. It adds VCID, MC_FRM_CNT, VC_FRM_CNT to extra which will be included in the Decom data. Parameter\tDescription\tRequired\tDefaultSCID\tSpacecraft Identifier (10 bits)\tYes Frame Length No\t2048 Randomization\tWhether the transfer frame was encoded and randomized\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\t0x1ACFFC1D Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\ttrue For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Template Protocol (Deprecated)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#template-protocol-deprecated","content":" This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead. The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets "<EXAMPLE>". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Ignore Lines\tNumber of response lines to ignore (completely drop)\tNo\t0 lines Initial Read Delay\tAn initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts.\tNo\tnil (no initial read) Response Lines\tThe number of lines that make up expected responses\tNo\t1 line Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Response Timeout\tNumber of seconds to wait for a response before timing out\tNo\t5.0 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur like timeouts or unexpected responses\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Preidentified Protocol (Internal)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#preidentified-protocol-internal","content":" The Preidentified Protocol delineates packets using a custom COSMOS header. This internal Protocol was created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation. Parameter\tDescription\tRequired\tDefaultSync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Mode\tThe Version of the preidentified protocol to support (2 or 4).3\tNo\t4 ","version":"Next","tagName":"h3"},{"title":"Helper Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#helper-protocols","content":" COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. These protocols provide helper functionality to Interfaces. ","version":"Next","tagName":"h2"},{"title":"CmdResponse Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cmdresponse-protocol","content":" The CmdResponse Protocol waits for a response for any commands with a defined response packet. Parameter\tDescription\tRequired\tDefaultResponse Timeout\tNumber of seconds to wait before timing out when waiting for a response\tNo\t5 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur in the protocol like unexpected responses or response timeouts\tNo\tfalse Packet Definitions​ The CmdResponseProtocol utilizes the RESPONSE keyword in the command definition to determine which telemetry packet should be expected when the given command is sent. COMMAND SCPI_PS GET_STATUS BIG_ENDIAN "Gets status" ACCESSOR TemplateAccessor TEMPLATE ":MEAS:VOLT? (@1:2)" RESPONSE SCPI_PS STATUS The Response packet (STATUS) should be defined to contain the response data. TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Status" ACCESSOR TemplateAccessor TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>" APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Voltage Reading for Channel 1" UNITS VOLTS V FORMAT_STRING %0.3f APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Voltage Reading for Channel 2" UNITS VOLTS V FORMAT_STRING %0.3f For a full example, please see the openc3-cosmos-scpi-power-supply in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CRC Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#crc-protocol","content":" The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultWrite Item Name\tItem to fill with calculated CRC value for outgoing packets (nil = don't fill)\tNo\tnil Strip CRC\tWhether to remove the CRC from incoming packets\tNo\tfalse Bad Strategy\tHow to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interface\tNo\t"ERROR" Bit Offset\tBit offset of the CRC in the data. Can be negative to indicate distance from end of packet\tNo\t-32 Bit Size\tBit size of the CRC - Must be 16, 32, or 64\tNo\t32 Endianness\tEndianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)\tNo\t"BIG_ENDIAN" Poly\tPolynomial to use when calculating the CRC expressed as an integer\tNo\tnil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693) Seed\tSeed value to start the calculation\tNo\tnil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF) Xor\tWhether to XOR the CRC result with 0xFFFF\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) Reflect\tWhether to bit reverse each byte of data before calculating the CRC\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) ","version":"Next","tagName":"h3"},{"title":"Ignore Packet Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ignore-packet-protocol","content":" The Ignore Packet protocol drops specified command packets sent by COSMOS or drops incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultTarget Name\tTarget name of the packet to ignore\tYes\tnil Packet Name\tPacket name of the packet to ignore\tYes\tnil ","version":"Next","tagName":"h3"},{"title":"Custom Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#custom-protocols","content":" Creating a custom protocol is easy and should be the default solution for customizing COSMOS Interfaces (rather than creating a new Interface class). However, creating custom Interfaces is still useful for defaulting parameters to values that always are fixed for your target and for including the necessary Protocols. The base COSMOS Interfaces take a lot of parameters that can be confusing to your end users. Thus you may want to create a custom Interface just to hard coded these values and cut the available parameters down to something like the hostname and port to connect to. All custom Protocols should derive from the Protocol class openc3/interfaces/protocols/protocol.rb (Ruby) and openc3/interfaces/protocols/protocol.py (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols. Ruby Protocol APIs Protocols should not require 'openc3/script' since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. Python Protocol APIs Protocols should not from openc3.script import * since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. To really understand how Protocols work, you first must understand the logic within the base Interface class read and write methods. Let's first discuss the read method. Ruby Symbols, Python Strings In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means :STOP in Ruby and "STOP" in Python. On every call to read, an empty string "" is first passed down to each of the read Protocol's read_data() method before new raw data is attempted to be read using the Interface's read_interface() method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols read_data() methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's read_data() method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's read_data() method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's read_data() methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in read_data()), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface. The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.) First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message. ","version":"Next","tagName":"h2"},{"title":"Method discussions​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#method-discussions","content":" ","version":"Next","tagName":"h2"},{"title":"initialize or init​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#initialize-or-init","content":" This is the constructor for your custom Protocol. It should always call super(allow_empty_data) to initialize the base Protocol class. Base class Ruby implementation: # @param allow_empty_data [true/false] Whether STOP should be returned on empty data def initialize(allow_empty_data = false) @interface = nil @allow_empty_data = ConfigParser.handle_true_false(allow_empty_data) reset() end Base class Python implementation: def __init__(self, allow_empty_data=None): self.interface = None self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data) self.reset() As you can see, every Protocol maintains state on at least two items. The interface variable holds the Interface class instance that the protocol is associated with. This is sometimes necessary to introspect details that only the Interface knows. allow_empty_data is a flag used by the read_data(data) method that is discussed later in this document. ","version":"Next","tagName":"h3"},{"title":"reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#reset","content":" The reset method is used to reset internal protocol state when the Interface is connected and/or disconnected. This method should be used for common resetting logic. Connect and Disconnect specific logic are handled in the next two methods. Base class Ruby implementation: def reset end Base class Python implementation: def reset(self): pass As you can see, the base class reset implementation doesn't do anything. ","version":"Next","tagName":"h3"},{"title":"connect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#connect_reset","content":" The connect_reset method is used to reset internal Protocol state each time the Interface is connected. Base class Ruby implementation: def connect_reset reset() end Base class Python implementation: def connect_reset(self): self.reset() The base class connect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"disconnect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#disconnect_reset","content":" The disconnect_reset method is used to reset internal Protocol state each time the Interface is disconnected. Base class Ruby implementation: def disconnect_reset reset() end Base class Python implementation: def disconnect_reset(self): self.reset() The base class disconnect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"read_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_data","content":" The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def read_data(data) if (data.length <= 0) if @allow_empty_data.nil? if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data return :STOP end elsif !@allow_empty_data # Don't @allow_empty_data means STOP return :STOP end end data end Base class Python implementation: def read_data(self, data, extra=None): if len(data) <= 0: if self.allow_empty_data is None: if self.interface and self.interface.read_protocols[-1] == self: # Last read interface in chain with auto self.allow_empty_data return ("STOP", extra) elif self.allow_empty_data: # Don't self.allow_empty_data means STOP return ("STOP", extra) return (data, extra) The base class implementation does nothing except return the data it was given. The only exception to this is when handling an empty string. If the allow_empty_data flag is false / False or if it is nil / None and the Protocol is the last in the chain, then the base implementation will return STOP to indicate that it is time to call the Interface read_interface() method to get more data. Blank strings are used to signal Protocols that they have an opportunity to return a cached packet. ","version":"Next","tagName":"h3"},{"title":"read_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_packet","content":" The read_packet method is used to analyze and potentially modify a COSMOS packet before it is returned by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be returned, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). This method is where a Protocol would set the stored flag on a packet if it determines that the packet is stored telemetry instead of real-time telemetry. Base class Ruby implementation: def read_packet(packet) return packet end Base class Python implementation: def read_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_packet","content":" The write_packet method is used to analyze and potentially modify a COSMOS packet before it is output by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_packet(packet) return packet end Base class Python implementation: def write_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_data","content":" The write_data method is used to analyze and potentially modify data before it is written out by the Interface. It takes one parameter as the current state of the data to be analyzed and sent. It can return either a string of data, STOP, or DISCONNECT. If it returns a string of data, then it believes that the data is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the data should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_data(data) return data end Base class Python implementation: def write_data(self, data, extra=None): return (data, extra) The base class always just returns the data given. ","version":"Next","tagName":"h3"},{"title":"post_write_interface​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#post_write_interface","content":" The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by write_packet() and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols post_write_interface() methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return. Base class Ruby implementation: def post_write_interface(packet, data) return packet, data end Base class Python implementation: def post_write_interface(self, packet, data, extra=None): return (packet, data, extra) The base class always just returns the packet/data given. ","version":"Next","tagName":"h3"},{"title":"protocol_cmd​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#protocol_cmd","content":" The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See interface_protocol_cmd for more information. Base class Ruby implementation: def protocol_cmd(cmd_name, *cmd_args) # Default do nothing - Implemented by subclasses return false end Base class Python implementation: def protocol_cmd(self, cmd_name, *cmd_args): # Default do nothing - Implemented by subclasses return False The base class does nothing as this is special functionality implemented by subclasses. ","version":"Next","tagName":"h3"},{"title":"Examples​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#examples","content":" Please see the linked Ruby Protocol and Python Protocol code for examples of the above methods in action. ","version":"Next","tagName":"h2"},{"title":"Testing with Curl","type":0,"sectionRef":"#","url":"/docs/development/curl","content":"","keywords":"","version":"Next"},{"title":"Curl Example with OpenC3 COSMOS Open Source​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-open-source","content":" OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this. Request: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Length: 51 Content-Type: application/json-rpc Etag: W/"e806aacfdbed0b325e7a5928e3bb5cf4" Vary: Origin X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939 X-Runtime: 0.059044 Date: Sat, 04 Nov 2023 21:34:47 GMT {"jsonrpc":"2.0","id":8,"result":53.26555000000001} ","version":"Next","tagName":"h2"},{"title":"Curl Example with OpenC3 COSMOS Enterprise​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-enterprise","content":" OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request. Keycloak Request: # Get tokens from Keycloak - You will need to update the username and password with your account curl -i -H "Content-Type: application/x-www-form-urlencoded" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token Keycloak Response: HTTP/1.1 200 OK Cache-Control: no-store Content-Length: 3207 Content-Type: application/json Pragma: no-cache Referrer-Policy: no-referrer Set-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block Date: Wed, 10 May 2023 00:40:40 GMT {"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"} COSMOS Request: # COSMOS Request now looks like this: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api COSMOS Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Type: application/json-rpc Etag: W/"1e44c0878528687014e1e60a1cbebdae" Vary: Origin X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c X-Runtime: 0.046477 Date: Wed, 10 May 2023 00:41:33 GMT Transfer-Encoding: chunked {"jsonrpc":"2.0","id":8,"result":29.204100000000007} ","version":"Next","tagName":"h2"},{"title":"Suite Runner Example​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#suite-runner-example","content":" It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser: You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as curl" (depends on the browser). Here is an example of the second one: curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \\ -X 'POST' \\ -H 'Accept: application/json' \\ -H 'Accept-Language: en-US,en;q=0.9' \\ -H 'Authorization: pass' \\ -H 'Connection: keep-alive' \\ -H 'Content-Length: 0' \\ -H 'Origin: http://ascportal:2900' \\ -H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \\ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \\ --insecure Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case POST). If we inspect all of these we'll find out what each one does: Set the script contents this updates any local changes)Note that this is a different request to GET the script contents. This is done on the page load. Lock the script (so other users can't edit it during execution)Run script (this takes a JSON with options)Open Websocket for logsRequest Result (this URL is a little different because the results are saved in redis) Below is a bash script which does all the above given some options. It requires curl for the web requests and jq for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result. #!/bin/bash set -e TARGET=${1:-'TARGET'} SCRIPT=${2:-'procedures/cmd_tlm_test.rb'} SUITE=${3:-'TestSuite'} COSMOS_HOST='http://localhost:2900' SCRIPT_API="$COSMOS_HOST/script-api" SCRIPT_PATH="scripts/$TARGET/$SCRIPT" CURL_ARGS=( -H 'Accept: application/json' -H 'Authorization: password' -H 'Accept-Language: en-US,en;q=0.9' -H 'Connection: keep-alive' -H 'Content-Type: application/json' --insecure --silent ) # Lock script # curl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}" # Run script # RUN_OPTS=$(cat <<-json { "environment": [], "suiteRunner": { "method": "start", "suite": "$SUITE", "options": [ "continueAfterError" ] } } json ) RUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .) ID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}") echo "Starting Script '$SCRIPT_PATH' at $(date) (may take up to 15 minutes)" > /dev/stderr echo "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr # Loop while Script ID is still running # while true; do SCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")" if [[ -z $SCRIPT_STATUS ]]; then break; fi sleep 2 done # Request results # BUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\\ jq '[.[]|select(.name | test("'"${SCRIPT_PATH#scripts/}"' "))][0] | .log | @uri' -r)" URL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)" curl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}" ","version":"Next","tagName":"h2"},{"title":"JSON API","type":0,"sectionRef":"#","url":"/docs/development/json-api","content":"","keywords":"","version":"Next"},{"title":"Authorization​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#authorization","content":" The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header. Authorization: <token/password> ","version":"Next","tagName":"h2"},{"title":"JSON-RPC 2.0​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#json-rpc-20","content":" The COSMOS API implements a relaxed version of the JSON-RPC 2.0 Specification. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal's such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a "keyword_params" object. ","version":"Next","tagName":"h2"},{"title":"Socket Connections​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#socket-connections","content":" The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777). COSMOS listens for HTTP API requests at the default 2900 port at the /openc3-api/api endpoint. ","version":"Next","tagName":"h2"},{"title":"Supported Methods​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#supported-methods","content":" The list of methods supported by the COSMOS API may be found in the api source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the Scripting Writing Guide. This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here. ","version":"Next","tagName":"h2"},{"title":"Existing Implementations​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#existing-implementations","content":" The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript. ","version":"Next","tagName":"h2"},{"title":"Example Usage​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#example-usage","content":" ","version":"Next","tagName":"h2"},{"title":"Sending Commands​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#sending-commands","content":" The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values. Parameter\tData Type\tDescriptioncommand_string\tstring\tA single string containing all required information for the command The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to send the command to command_name\tString\tThe name of the command command_params\tHash\tOptional hash of command parameters Example Usage: --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} ","version":"Next","tagName":"h3"},{"title":"Getting Telemetry​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#getting-telemetry","content":" The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME" Parameter\tData Type\tDescriptiontlm_string\tString\tA single string containing all required information for the telemetry item The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to get the telemetry value from packet_name\tString\tName of the packet to get the telemetry value from item_name\tString\tName of the telemetry item Example Usage: --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} ","version":"Next","tagName":"h3"},{"title":"Further Debugging​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#further-debugging","content":" If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation. Launch COSMOSOpen Command SenderOpen browser developer tools (right-click->Inspect in Chrome)Click "Network" tab (may need to add it with + button)Send a command with the GUIView the request in the developer tool. Click the "Payload" sub-tab to view the JSON You can also try sending these raw commands from the terminal with a program like curl: curl -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}' http://localhost:2900/openc3-api/api -H "Authorization: password" ","version":"Next","tagName":"h2"},{"title":"Roadmap","type":0,"sectionRef":"#","url":"/docs/development/roadmap","content":"","keywords":"","version":"Next"},{"title":"Key Features Still to Come in OpenC3 COSMOS 5.x:​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#key-features-still-to-come-in-openc3-cosmos-5x","content":" ✅ Python Support ✅ Standardized Mission Planning Interface (aka Command Load Generator (CLG)) ✅ Protocol buffer support ✅ Command Authority (Enterprise) ✅ Critical Commanding (Two Operators - Enterprise) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 6.0 (Late 2024)​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-60-late-2024","content":" Core Features: ✅ Upgrade Tools to Vue 3 / Vuetify 3 ✅ Traefik v3 ⬜ Python / Ruby parity (interfaces, protocols, etc) Functionality For 6.1+: ⬜ Plugin App Store ⬜ System Health Tool (Enterprise) ⬜ Log Message Extractor Tool (Enterprise) ⬜ Telemetry Viewer screen playback of historical data ⬜ libCSP Interface (Cubesat Space Protocol) ⬜ Standardized Interfaces for common message buses (ZeroMQ, ActiveMQ, etc) ⬜ COSMOS Notebooks (similar to Jupyter Notebooks) ⬜ COSMOS Dashboards (configurable iFrames for Common Operating Picture) ⬜ Integration with ground networks (Atlas, RBC Signals) ⬜ Integration with mission planning (Orbit Logic, Cognitive Space) ⬜ Integration with flight dynamics (Kayhan, SEE, Exotrail) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 7.0​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-70","content":" Core Features: ⬜ Super Bridge - This will enable SaaS COSMOS and provide a secure method to communicate from a cloud server to an intranet for hardware control ","version":"Next","tagName":"h2"},{"title":"Near-term Planning​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#near-term-planning","content":" Our near-term planning linking to specific tickets is on our Github Planning Project. If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo. ","version":"Next","tagName":"h2"},{"title":"Interfaces","type":0,"sectionRef":"#","url":"/docs/configuration/interfaces","content":"","keywords":"","version":"Next"},{"title":"Overview​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#overview","content":" Interfaces are the connection to the external embedded systems called targets. Interfaces are defined by the top level INTERFACE keyword in the plugin.txt file. Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, MQTT, SNMP, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with Protocols rather than implementing a new interface. Interface and Routers Are Very Similar Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target. ","version":"Next","tagName":"h2"},{"title":"Protocols​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#protocols","content":" Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. See Protocols for more information. ","version":"Next","tagName":"h3"},{"title":"Accessors​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#accessors","content":" Accessors are responsible for reading and writing the buffer which is transmitted by the interface to the target. See Accessors for more information. For more information about how Interfaces fit with Protocols and Accessors see Interoperability Without Standards. ","version":"Next","tagName":"h3"},{"title":"Provided Interfaces​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#provided-interfaces","content":" COSMOS provides the following interfaces: TCPIP Client, TCPIP Server, UDP, HTTP Client, HTTP Server, MQTT and Serial. The interface to use is defined by the INTERFACE and ROUTER keywords. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. COSMOS Enterprise provides the following interfaces: SNMP, SNMP Trap, GEMS, InfluxDB. ","version":"Next","tagName":"h2"},{"title":"TCPIP Client Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-client-interface","content":" The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface. Parameter\tDescription\tRequiredHost\tMachine name to connect to\tYes Write Port\tPort to write commands to (can be the same as read port). Pass nil / None to make the interface read only.\tYes Read Port\tPort to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol ","version":"Next","tagName":"h3"},{"title":"TCPIP Server Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-server-interface","content":" The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server. Parameter\tDescription\tRequiredWrite Port\tPort to write commands to (can be the same as read port)\tYes Read Port\tPort to read telemetry from (can be the same as write port)\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultLISTEN_ADDRESS\tIP address to accept connections on\t0.0.0.0 plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol OPTION LISTEN_ADDRESS 127.0.0.1 plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol ","version":"Next","tagName":"h3"},{"title":"UDP Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#udp-interface","content":" The UDP interface uses UDP packets to send and receive telemetry from the target. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the machine to send and receive data with\tYes Write Dest Port\tPort on the remote machine to send commands to\tYes Read Port\tPort on the remote machine to read telemetry from\tYes Write Source Port\tPort on the local machine to send commands from\tNo\tnil (socket is not bound to an outgoing port) Interface Address\tIf the remote machine supports multicast the interface address is used to configure the outgoing multicast address\tNo\tnil (not used) TTL\tTime to Live. The number of intermediate routers allowed before dropping the packet.\tNo\t128 (Windows) Write Timeout\tNumber of seconds to wait before aborting the write\tNo\t10.0 Read Timeout\tNumber of seconds to wait before aborting the read\tNo\tnil (block on read) plugin.txt Ruby Example: INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil plugin.txt Python Example: INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None ","version":"Next","tagName":"h3"},{"title":"HTTP Client Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#http-client-interface","content":" The HTTP client interface connects to a HTTP server to send commands and receive telemetry. This interface is commonly used with the HttpAccessor and JsonAccessor. See the openc3-cosmos-http-example for more information. Parameter\tDescription\tRequired\tDefaultHost\tMachine name to connect to\tYes Port\tPort to write commands to and read telemetry from\tNo\t80 Protocol\tHTTP or HTTPS protocol\tNo\tHTTP Write Timeout\tNumber of seconds to wait before aborting the write. Pass nil / None to block on write.\tNo\t5 Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tNo\tnil / None Connect Timeout\tNumber of seconds to wait before aborting the connection\tNo\t5 Include Request In Response\tWhether to include the request in the extra data\tNo\tfalse plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME http_client_interface.rb myserver.com 80 plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/http_client_interface.py mysecure.com 443 HTTPS ","version":"Next","tagName":"h3"},{"title":"HTTP Server Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#http-server-interface","content":" The HTTP server interface creates a simple unencrypted, unauthenticated HTTP server. This interface is commonly used with the HttpAccessor and JsonAccessor. See the openc3-cosmos-http-example for more information. Parameter\tDescription\tRequired\tDefaultPort\tPort to write commands to and read telemetry from\tNo\t80 Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultLISTEN_ADDRESS\tIP address to accept connections on\t0.0.0.0 plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME http_server_interface.rb LISTEN_ADDRESS 127.0.0.1 plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/http_server_interface.py 88 ","version":"Next","tagName":"h3"},{"title":"MQTT Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#mqtt-interface","content":" The MQTT interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Streaming Interface in that the commands and telemetry are transmitted over topics given by META TOPIC in the command and telemetry definitions. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the MQTT broker\tYes Port\tPort on the MQTT broker to connect to. Keep in mind whether you're using SSL or not.\tNo\t1883 SSL\tWhether to use SSL to connect\tNo\tfalse Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescriptionACK_TIMEOUT\tTime to wait when connecting to the MQTT broker USERNAME\tUsername for authentication with the MQTT broker PASSWORD\tPassword for authentication with the MQTT broker CERT\tPEM encoded client certificate filename used with KEY for client TLS based authentication KEY\tPEM encoded client private keys filename KEYFILE_PASSWORD\tPassword to decrypt the CERT and KEY files (Python only) CA_FILE\tCertificate Authority certificate filename that is to be treated as trusted by this client plugin.txt Ruby Example: INTERFACE MQTT_INT mqtt_interface.rb test.mosquitto.org 1883 plugin.txt Python Example (Note: This example uses the SECRET keyword to set the PASSWORD option in the Interface): INTERFACE MQTT_INT openc3/interfaces/mqtt_interface.py test.mosquitto.org 8884 OPTION USERNAME rw # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD # and set an OPTION called PASSWORD with the secret value # For more information about secrets see the Admin Tool page SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD Packet Definitions​ The MQTT Interface utilizes 'META TOPIC <topic name>' in the command and telemetry definition files to determine which topics to publish and receive messages from. Thus to send to the topic 'TEST' you would create a command like the following (Note: The command name 'TEST' does NOT have to match the topic name): COMMAND MQTT TEST BIG_ENDIAN "Test" META TOPIC TEST # <- The topic name is 'TEST' APPEND_PARAMETER DATA 0 BLOCK '' "MQTT Data" Similarly to receive from the topic 'TEST' you would create a telemetry packet like the following (Note: The telemetry name 'TEST' does NOT have to match the topic name): TELEMETRY MQTT TEST BIG_ENDIAN "Test" META TOPIC TEST # <- The topic name is 'TEST' APPEND_ITEM DATA 0 BLOCK "MQTT Data" For a full example, please see the openc3-cosmos-mqtt-test in the COSMOS source. ","version":"Next","tagName":"h3"},{"title":"MQTT Streaming Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#mqtt-streaming-interface","content":" The MQTT streaming interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT streaming interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Interface in that all the commands are transmitted on a single topic and all telemetry is received on a single topic. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the MQTT broker\tYes Port\tPort on the MQTT broker to connect to. Keep in mind whether you're using SSL or not.\tNo\t1883 SSL\tWhether to use SSL to connect\tNo\tfalse Write Topic\tName of the write topic for all commands. Pass nil / None to make interface read only.\tNo\tnil / None Read Topic\tName of the read topic for all telemetry. Pass nil / None to make interface write only.\tNo\tnil / None Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo\t Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescriptionACK_TIMEOUT\tTime to wait when connecting to the MQTT broker USERNAME\tUsername for authentication with the MQTT broker PASSWORD\tPassword for authentication with the MQTT broker CERT\tPEM encoded client certificate filename used with KEY for client TLS based authentication KEY\tPEM encoded client private keys filename KEYFILE_PASSWORD\tPassword to decrypt the CERT and KEY files (Python only) CA_FILE\tCertificate Authority certificate filename that is to be treated as trusted by this client plugin.txt Ruby Example: INTERFACE MQTT_INT mqtt_stream_interface.rb test.mosquitto.org 1883 false write read plugin.txt Python Example (Note: This example uses the SECRET keyword to set the PASSWORD option in the Interface): INTERFACE MQTT_INT openc3/interfaces/mqtt_stream_interface.py test.mosquitto.org 8884 False write read OPTION USERNAME rw # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD # and set an OPTION called PASSWORD with the secret value # For more information about secrets see the Admin Tool page SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD Packet Definitions​ The MQTT Streaming Interface utilizes the topic names passed to the interface so no additional information is necessary in the definition. For a full example, please see the openc3-cosmos-mqtt-test in the COSMOS source. ","version":"Next","tagName":"h3"},{"title":"Serial Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#serial-interface","content":" The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby. Parameter\tDescription\tRequiredWrite Port\tName of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing.\tYes Read Port\tName of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading.\tYes Baud Rate\tBaud rate to read and write\tYes Parity\tSerial port parity. Must be 'NONE', 'EVEN', or 'ODD'.\tYes Stop Bits\tNumber of stop bits, e.g. 1.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultFLOW_CONTROL\tSerial port flow control. Must be one of NONE or RTSCTS.\tNONE DATA_BITS\tNumber of data bits.\t8 plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol OPTION FLOW_CONTROL RTSCTS OPTION DATA_BITS 7 ","version":"Next","tagName":"h3"},{"title":"SNMP Interface (Enterprise)​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#snmp-interface-enterprise","content":" The SNMP Interface is for connecting to Simple Network Management Protocol devices. The SNMP Interface is currently only implemented in Ruby. Parameter\tDescription\tRequired\tDefaultHost\tHost name of the SNMP device\tYes Port\tPort on the SNMP device\tNo\t161 Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultVERSION\tSNMP Version: 1, 2, or 3\t1 COMMUNITY\tPassword or user ID that allows access to a device\tprivate USERNAME\tUsername\tN/A RETRIES\tRetries when sending requests\tN/A TIMEOUT\tTimeout waiting for a response from an agent\tN/A CONTEXT\tSNMP context\tN/A SECURITY_LEVEL\tMust be one of NO_AUTH, AUTH_PRIV, or AUTH_NO_PRIV\tN/A AUTH_PROTOCOL\tMust be one of MD5, SHA, or SHA256\tN/A PRIV_PROTOCOL\tMust be one of DES or AES\tN/A AUTH_PASSWORD\tAuth password\tN/A PRIV_PASSWORD\tPriv password\tN/A plugin.txt Ruby Examples: INTERFACE SNMP_INT snmp_interface.rb 192.168.1.249 161 OPTION VERSION 1 For a full example, please see the openc3-cosmos-apc-switched-pdu in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"SNMP Trap Interface (Enterprise)​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#snmp-trap-interface-enterprise","content":" The SNMP Trap Interface is for receiving Simple Network Management Protocol traps. The SNMP Trap Interface is currently only implemented in Ruby. Parameter\tDescription\tRequired\tDefaultRead Port\tPort to read from\tNo\t162 Read Timeout\tRead timeout\tNo\tnil Bind Address\tAddress to bind UDP port to\tYes\t0.0.0.0 Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultVERSION\tSNMP Version: 1, 2, or 3\t1 plugin.txt Ruby Examples: INTERFACE SNMP_INT snmp_trap_interface.rb 162 OPTION VERSION 1 For a full example, please see the openc3-cosmos-apc-switched-pdu in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"gRPC Interface (Enterprise)​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#grpc-interface-enterprise","content":" The gRPC Interface is for interacting with gRPC. The gRPC Interface is currently only implemented in Ruby. Parameter\tDescription\tRequiredHostname\tgRPC server\tYes Port\tgRPC port\tYes plugin.txt Ruby Examples: INTERFACE GRPC_INT grpc_interface.rb my.grpc.org 8080 Commands​ Using the GrpcInterface for command definitions requires the use of META to define a GRPC_METHOD to use for each command. COMMAND PROTO GET_USER BIG_ENDIAN 'Get a User' META GRPC_METHOD /example.photoservice.ExamplePhotoService/GetUser For a full example, please see the openc3-cosmos-proto-target in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Custom Interfaces​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#custom-interfaces","content":" Interfaces have the following methods that must be implemented: connect - Open the socket or port or somehow establish the connection to the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation.connected? - Return true or false depending on the connection state. Note: This method should return immediately.disconnect - Close the socket or port of somehow disconnect from the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation.read_interface - Lowest level read of data on the interface. Note: This method should block until data is available or the interface disconnects. On a clean disconnect it should return nil.write_interface - Lowest level write of data on the interface. Note: This method may not block indefinitely. Interfaces also have the following methods that exist and have default implementations. They can be overridden if necessary but be sure to call super() to allow the default implementation to be executed. read_interface_base - This method should always be called from read_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes read count, the most recent raw data read, and it handles raw logging if enabled.write_interface_base - This method should always be called from write_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes written count, the most recent raw data written, and it handles raw logging if enabled.read - Read the next packet from the interface. COSMOS implements this method to allow the Protocol system to operate on the data and the packet before it is returned.write - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent.write_raw - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data. Naming Conventions When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization. ","version":"Next","tagName":"h2"},{"title":"Plugins","type":0,"sectionRef":"#","url":"/docs/configuration/plugins","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#introduction","content":" This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS. Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality. Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Target​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target","content":" Targets are the external pieces of hardware and/or software that COSMOS communicates with. These are things like Front End Processors (FEPs), ground support equipment (GSE), custom software tools, and pieces of hardware like satellites themselves. A target is anything that COSMOS can send commands to and receive telemetry from. ","version":"Next","tagName":"h3"},{"title":"Interface​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface","content":" Interfaces implement the physical connection to one or more targets. They are typically ethernet connections implemented using TCP or UDP but can be other connections like serial ports. Interfaces send commands to targets and receive telemetry from targets. ","version":"Next","tagName":"h3"},{"title":"Router​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router","content":" Routers flow streams of telemetry packets out of COSMOS and receive streams of commands into COSMOS. The commands are forwarded by COSMOS to associated interfaces. Telemetry comes from associated interfaces. ","version":"Next","tagName":"h3"},{"title":"Tool​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool","content":" COSMOS Tools are web-based applications the communicate with the COSMOS APIs to perform takes like displaying telemetry, sending commands, and running scripts. ","version":"Next","tagName":"h3"},{"title":"Microservice​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice","content":" Microservices are persistent running backend code that runs within the COSMOS environment. They can process data and perform other useful tasks. ","version":"Next","tagName":"h3"},{"title":"Plugin Directory Structure​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugin-directory-structure","content":" COSMOS plugins have a well-defined directory structure described in detail in the Code Generator documentation. ","version":"Next","tagName":"h2"},{"title":"plugin.txt Configuration File​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugintxt-configuration-file","content":" A plugin.txt configuration file is required for any COSMOS plugin. It declares the contents of the plugin and provides variables that allow the plugin to be configured at the time it is initially installed or upgraded. This file follows the standard COSMOS configuration file format of keywords followed by zero or more space separated parameters. The following keywords are supported by the plugin.txt config file: ","version":"Next","tagName":"h2"},{"title":"VARIABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#variable","content":" Define a configurable variable for the plugin The VARIABLE keyword defines a variable that will be requested for the user to enter during plugin installation. Variables can be used to handle details of targets that are user defined such as specific IP addresses and ports. Variables should also be used to allow users to rename targets to whatever name they want and support multiple installations of the same target with different names. Variables can be used later in plugin.txt or in any other configuration file included in a plugin using Ruby ERB syntax. The variables are assigned to accessible local variables in the file. At a high level, ERB allows you to run Ruby code in configuration files. Parameter\tDescription\tRequiredVariable Name\tThe name of the variable\tTrue Default Value\tDefault value of the variable\tTrue ","version":"Next","tagName":"h2"},{"title":"NEEDS_DEPENDENCIES​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#needs_dependencies","content":" (Since 5.5.0) Indicates the plugin needs dependencies and sets the GEM_HOME environment variable If the plugin has a top level lib folder or lists runtime dependencies in the gemspec, NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having NEEDS_DEPENDENCIES adds the NFS volume mount to the Kubernetes pod. ","version":"Next","tagName":"h2"},{"title":"INTERFACE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-1","content":" Defines a connection to a physical target Interfaces are what OpenC3 uses to talk to a particular piece of hardware. Interfaces require a Ruby or Python file which implements all the interface methods necessary to talk to the hardware. OpenC3 defines many built in interfaces or you can define your own as long as it implements the interface protocol. Parameter\tDescription\tRequiredInterface Name\tName of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target.\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"INTERFACE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-modifiers","content":" The following keywords must follow a INTERFACE keyword. ","version":"Next","tagName":"h2"},{"title":"MAP_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_target","content":" Maps a target name to an interface Parameter\tDescription\tRequiredTarget Name\tTarget name to map to this interface\tTrue Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA ","version":"Next","tagName":"h3"},{"title":"MAP_CMD_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_cmd_target","content":" (Since 5.2.0) Maps a target name to an interface for commands only Parameter\tDescription\tRequiredTarget Name\tCommand target name to map to this interface\tTrue Ruby Example: INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface Python Example: INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface ","version":"Next","tagName":"h3"},{"title":"MAP_TLM_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_tlm_target","content":" (Since 5.2.0) Maps a target name to an interface for telemetry only Parameter\tDescription\tRequiredTarget Name\tTelemetry target name to map to this interface\tTrue Ruby Example: INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface Python Example: INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface ","version":"Next","tagName":"h3"},{"title":"DONT_CONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_connect","content":" Server will not automatically try to connect to the interface at startup ","version":"Next","tagName":"h3"},{"title":"DONT_RECONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_reconnect","content":" Server will not try to reconnect to the interface if the connection is lost ","version":"Next","tagName":"h3"},{"title":"RECONNECT_DELAY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reconnect_delay","content":" Reconnect delay in seconds If DONT_RECONNECT is not present the Server will try to reconnect to an interface if the connection is lost. Reconnect delay sets the interval in seconds between reconnect tries. Parameter\tDescription\tRequiredDelay\tDelay in seconds between reconnect attempts. The default is 15 seconds.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_DISCONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_disconnect","content":" Disable the Disconnect button on the Interfaces tab in the Server Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target. ","version":"Next","tagName":"h3"},{"title":"LOG_RAW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_raw","content":" Deprecated, use LOG_STREAM ","version":"Next","tagName":"h3"},{"title":"LOG_STREAM​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_stream","content":" (Since 5.5.2) Log all data on the interface exactly as it is sent and received LOG_STREAM does not add any OpenC3 headers and thus can not be read by OpenC3 tools. It is primarily useful for low level debugging of an interface. You will have to manually parse these logs yourself using a hex editor or other application. Parameter\tDescription\tRequiredCycle Time\tAmount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute.\tFalse Cycle Size\tAmount of data to write before cycling the log file. Default is 50MB.\tFalse Cycle Hour\tThe time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil.\tFalse Cycle Minute\tSee Cycle Hour.\tFalse Example Usage: INTERFACE EXAMPLE example_interface.rb # Override the default log time of 600 LOG_STREAM 60 ","version":"Next","tagName":"h3"},{"title":"PROTOCOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#protocol","content":" (Since 4.0.0) Protocols modify the interface by processing the data Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing. For information on creating your own custom protocol please see Protocols Parameter\tDescription\tRequiredType\tWhether to apply the protocol on incoming data, outgoing data, or both Valid Values: READ, WRITE, READ_WRITE\tTrue Protocol Filename or Classname\tRuby or Python filename or class name which implements the protocol\tTrue Protocol specific parameters\tAdditional parameters used by the protocol\tFalse Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil MAP_TARGET DATA # Rather than defining the LENGTH protocol on the INTERFACE line we define it here PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option","content":" Set a parameter on an interface When an option is set the interface class calls the set_option method. Custom interfaces can override set_option to handle any additional options they want. Parameter\tDescription\tRequiredName\tThe option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0).\tTrue Parameters\tParameters to pass to the option\tFalse Example Usage: INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil OPTION FLOW_CONTROL RTSCTS OPTION DATA_BITS 8 ROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS 127.0.0.1 ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret","content":" (Since 5.3.0) Define a secret needed by this interface Defines a secret for this interface and optionally assigns its value to an option. For more information see Admin Secrets. Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve from the Admin / Secrets tab. For more information see Admin Secrets.\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret. Note that if you use the Option Name to set an option to the secret value, this value doesn't really matter as long as it is unique.\tTrue Option Name\tInterface option to pass the secret value. This is the primary way to pass secrets to interfaces.\tFalse Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME USERNAME SECRET FILE KEY "/tmp/DATA/cert" KEY ","version":"Next","tagName":"h3"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env","content":" (Since 5.7.0) Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir","content":" (Since 5.7.0) Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: WORK_DIR '/openc3/lib/openc3/microservices' ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port","content":" (Since 5.7.0) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: PORT 7272 ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd","content":" (Since 5.7.0) Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1 Python Example: CMD python interface_microservice.py DEFAULT__INTERFACE__INT1 ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container","content":" (Since 5.7.0) Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix","content":" (Since 5.7.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: ROUTE_PREFIX /interface ","version":"Next","tagName":"h3"},{"title":"SHARD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shard","content":" (Since 6.0.0) Operator shard to run target microservices on Operator Shard. Only used if running multiple operator containers typically in Kubernetes Parameter\tDescription\tRequiredShard\tShard number starting from 0\tFalse Example Usage: SHARD 0 ","version":"Next","tagName":"h3"},{"title":"ROUTER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router-1","content":" Create router to receive commands and output telemetry packets from one or more interfaces Creates an router which receives command packets from their remote clients and sends them to associated interfaces. They receive telemetry packets from their interfaces and send them to their remote clients. This allows routers to be intermediaries between an external client and an actual device. Parameter\tDescription\tRequiredName\tName of the router\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-1","content":" Defines a new target Parameter\tDescription\tRequiredFolder Name\tThe target folder\tTrue Name\tThe target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder.\tTrue Example Usage: TARGET INST INST ","version":"Next","tagName":"h2"},{"title":"TARGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-modifiers","content":" The following keywords must follow a TARGET keyword. ","version":"Next","tagName":"h2"},{"title":"CMD_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_buffer_depth","content":" (Since 5.2.0) Number of commands to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 5)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_time","content":" Command binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_size","content":" Command binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_retain_time","content":" How long to keep raw command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_time","content":" Command decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_size","content":" Command decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_retain_time","content":" How long to keep decom command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_buffer_depth","content":" (Since 5.2.0) Number of telemetry packets to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 60)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_time","content":" Telemetry binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_size","content":" Telemetry binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_retain_time","content":" How long to keep raw telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_time","content":" Telemetry decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_size","content":" Telemetry decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_retain_time","content":" How long to keep decom telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_MINUTE_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_minute_log_retain_time","content":" How long to keep reduced minute telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced minute telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_HOUR_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_hour_log_retain_time","content":" How long to keep reduced hour telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced hour telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_DAY_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_day_log_retain_time","content":" How long to keep reduced day telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced day telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_retain_time","content":" How long to keep all regular telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all regular telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_log_retain_time","content":" How long to keep all reduced telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all reduced telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CLEANUP_POLL_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cleanup_poll_time","content":" Period at which to run the cleanup process. Parameter\tDescription\tRequiredTime\tNumber of seconds between runs of the cleanup process (default = 900 = 15 minutes)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCER_DISABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_disable","content":" Disables the data reduction microservice for the target ","version":"Next","tagName":"h3"},{"title":"REDUCER_MAX_CPU_UTILIZATION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_max_cpu_utilization","content":" Maximum amount of CPU utilization to apply to data reduction Parameter\tDescription\tRequiredPercentage\t0 to 100 percent (default = 30)\tTrue ","version":"Next","tagName":"h3"},{"title":"TARGET_MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_microservice","content":" (Since 5.2.0) Breaks a target microservice out into its own process. Can be used to give more resources to processing that is falling behind. If defined multiple times for the same type, will create multiple processes. Each process can be given specific packets to process with the PACKET keyword. Parameter\tDescription\tRequiredType\tThe target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUP\tTrue ","version":"Next","tagName":"h3"},{"title":"PACKET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#packet","content":" (Since 5.2.0) Packet Name to allocate to the current TARGET_MICROSERVICE. Parameter\tDescription\tRequiredPacket Name\tThe packet name. Does not apply to REDUCER or CLEANUP target microservice types.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire target or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"SHARD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shard-1","content":" (Since 6.0.0) Operator shard to run target microservices on Operator Shard. Only used if running multiple operator containers typically in Kubernetes Parameter\tDescription\tRequiredShard\tShard number starting from 0\tFalse Example Usage: SHARD 0 ","version":"Next","tagName":"h3"},{"title":"MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-1","content":" Defines a new microservice Defines a microservice that the plugin adds to the OpenC3 system. Microservices are background software processes that perform persistent processing. Parameter\tDescription\tRequiredMicroservice Folder Name\tThe exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderName\tTrue Microservice Name\tThe specific name of this instance of the microservice in the OpenC3 system\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ","version":"Next","tagName":"h2"},{"title":"MICROSERVICE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-modifiers","content":" The following keywords must follow a MICROSERVICE keyword. ","version":"Next","tagName":"h2"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env-1","content":" Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir-1","content":" Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example WORK_DIR . ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port-1","content":" (Since 5.0.10) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: MICROSERVICE EXAMPLE openc3-example PORT 7272 ","version":"Next","tagName":"h3"},{"title":"TOPIC​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#topic","content":" Associate a Redis topic Redis topic to associate with this microservice. Standard OpenC3 microservices such as decom_microservice use this information to know what packet streams to subscribe to. The TOPIC keyword can be used as many times as necessary to associate all needed topics. Parameter\tDescription\tRequiredTopic Name\tRedis Topic to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example # Manually assigning topics is an advanced topic and requires # intimate knowledge of the internal COSMOS data structures. TOPIC DEFAULT__openc3_log_messages TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS ","version":"Next","tagName":"h3"},{"title":"TARGET_NAME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_name","content":" Associate a OpenC3 target OpenC3 target to associate with the microservice. For standard OpenC3 microservices such as decom_microservice this causes the target configuration to get loaded into the container for the microservice. Parameter\tDescription\tRequiredTarget Name\tOpenC3 target to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example TARGET_NAME EXAMPLE ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd-1","content":" Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: MICROSERVICE EXAMPLE openc3-example CMD ruby example_target.rb Python Example: MICROSERVICE EXAMPLE openc3-example CMD python example_target.py ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option-1","content":" Pass an option to the microservice Generic key/value(s) options to pass to the microservice. These take the form of KEYWORD/PARAMS like a line in a OpenC3 configuration file. Multiple OPTION keywords can be used to pass multiple options to the microservice. Parameter\tDescription\tRequiredOption Name\tName of the option\tTrue Option Value(s)\tOne or more values to associate with the option\tTrue ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container-1","content":" Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret-1","content":" (Since 5.3.0) Define a secret needed by this microservice Defines a secret for this microservice. For more information see Admin Secrets. Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve from the Admin / Secrets tab. For more information see Admin Secrets.\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret\tTrue Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME SECRET FILE KEY "/tmp/DATA/cert" ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix-1","content":" (Since 5.5.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: MICROSERVICE CFDP CFDP ROUTE_PREFIX /cfdp ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-1","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire microservice or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"SHARD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shard-2","content":" (Since 6.0.0) Operator shard to run target microservices on Operator Shard. Only used if running multiple operator containers typically in Kubernetes Parameter\tDescription\tRequiredShard\tShard number starting from 0\tFalse Example Usage: SHARD 0 ","version":"Next","tagName":"h3"},{"title":"TOOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-1","content":" Define a tool Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices. Parameter\tDescription\tRequiredTool Folder Name\tThe exact name of the tool folder in the plugin. ie. tools/ToolFolderName\tTrue Tool Name\tName of the tool that is displayed in the OpenC3 Navigation menu\tTrue Example Usage: TOOL DEMO Demo ","version":"Next","tagName":"h2"},{"title":"TOOL Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-modifiers","content":" The following keywords must follow a TOOL keyword. ","version":"Next","tagName":"h2"},{"title":"URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#url","content":" Url used to access the tool The relative url used to access the tool. Defaults to "/tools/ToolFolderName". Parameter\tDescription\tRequiredUrl\tThe url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools.\tTrue ","version":"Next","tagName":"h3"},{"title":"INLINE_URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#inline_url","content":" Internal url to load a tool The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js". Parameter\tDescription\tRequiredUrl\tThe inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.\tTrue ","version":"Next","tagName":"h3"},{"title":"WINDOW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#window","content":" How to display the tool when navigated to The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB. Parameter\tDescription\tRequiredWindow Mode\tTool display mode Valid Values: INLINE, IFRAME, NEW\tTrue ","version":"Next","tagName":"h3"},{"title":"ICON​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#icon","content":" Set tool icon Icon shown next to the tool name in the OpenC3 navigation menu. Parameter\tDescription\tRequiredIcon Name\tIcon to display next to the tool name. Icons come from Font Awesome, Material Design (https://materialdesignicons.com/), and Astro.\tTrue ","version":"Next","tagName":"h3"},{"title":"CATEGORY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#category","content":" Category for the tool Associates the tool with a category which becomes a submenu in the Navigation menu. Parameter\tDescription\tRequiredCategory Name\tCategory to associate the tool with\tTrue ","version":"Next","tagName":"h3"},{"title":"SHOWN​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shown","content":" Show the tool or not Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool. Parameter\tDescription\tRequiredShown\tWhether or not the tool is shown. TRUE or FALSE Valid Values: true, false\tTrue ","version":"Next","tagName":"h3"},{"title":"POSITION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#position","content":" (Since 5.0.8) Position of the tool in the nav bar Position of the tool starting at 2 (1 is reserved for Admin Console). Tools without a position are appended to the end as they are installed. All COSMOS open source tools have consecutive integer values for position. Parameter\tDescription\tRequiredPosition\tNumerical position\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-2","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire tool or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"IMPORT_MAP_ITEM​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#import_map_item","content":" (Since 6.0.0) Add an item to the import map Parameter\tDescription\tRequiredkey\tImport Map Key\tTrue value\tImport Map Value\tTrue ","version":"Next","tagName":"h3"},{"title":"WIDGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget","content":" Define a custom widget Defines a custom widget that can be used in Telemetry Viewer screens. Parameter\tDescription\tRequiredWidget Name\tThe name of the widget will be used to build a path to the widget implementation. For example, WIDGET HELLOWORLD will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the Custom Widgets guide for more details.\tTrue Label\tThe label for the widget that will appear in the Data Viewer component drop down\tFalse Example Usage: WIDGET HELLOWORLD ","version":"Next","tagName":"h2"},{"title":"WIDGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget-modifiers","content":" The following keywords must follow a WIDGET keyword. ","version":"Next","tagName":"h2"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-3","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire widget or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"Testing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/testing","content":"","keywords":"","version":"Next"},{"title":"Playwright​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright","content":" ","version":"Next","tagName":"h2"},{"title":"Prerequesits​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#prerequesits","content":" Install Yarn npm install --global yarn Clone the COSMOS Playwright repo git clone https://github.com/OpenC3/cosmos-playwright Install Playwright and dependencies cosmos-playwright % yarn install ","version":"Next","tagName":"h3"},{"title":"Playwright Testing​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright-testing","content":" Start COSMOS cosmos % openc3.sh start Open COSMOS in your browser. At the login screen, set the password to "password". Run tests (Note the --headed option visually displays tests, leave it off to run in the background) cosmos-playwright % yarn playwright test --project=chromium --headed [Optional] Fix istanbul/nyc coverage source lookups (use fixwindows if not on Linux). Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work. cosmos-playwright % yarn fixlinux Generate code coverage cosmos-playwright % yarn coverage Code coverage reports can be viewed at openc3-playwright/coverage/index.html ","version":"Next","tagName":"h3"},{"title":"Ruby Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#ruby-unit-tests","content":" Navigate to cosmos/openc3 folder. Run the command: cosmos/openc3 % rake build cosmos/openc3 % bundle exec rspec Code coverage reports can be found at cosmos/openc3/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Python Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#python-unit-tests","content":" Navigate to cosmos/openc3/python folder. Run the command: cosmos/openc3/python % python -m pip install -r requirements-dev.txt cosmos/openc3/python % python -m pip install -r requirements.txt cosmos/openc3/python % coverage run -m pytest cosmos/openc3/python % coverage html Code coverage reports can be found at cosmos/openc3/python/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Accessors","type":0,"sectionRef":"#","url":"/docs/configuration/accessors","content":"","keywords":"","version":"Next"},{"title":"Binary Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#binary-accessor","content":" The Binary Accessor serializes data into a binary format when writing to the buffer. This is how many devices expect their data including those following the CCSDS standard. COSMOS handles converting signed and unsigned integers, floats, strings, etc. into their binary representation in the buffer. This includes handling big and little endian, bitfields, and variable length fields. Since binary is so common this is the default Accessor and will be used if no other accessors are given. Commands​ COMMAND INST COLLECT BIG_ENDIAN "Starts a collect" ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default PARAMETER TYPE 64 16 UINT MIN MAX 0 "Collect type" PARAMETER DURATION 80 32 FLOAT 0.0 10.0 1.0 "Collect duration" PARAMETER OPCODE 112 8 UINT 0x0 0xFF 0xAB "Collect opcode" Telemetry​ TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default APPEND_ITEM CMD_ACPT_CNT 32 UINT "Command accept count" APPEND_ITEM COLLECTS 16 UINT "Number of collects" APPEND_ITEM DURATION 32 FLOAT "Most recent collect duration" ","version":"Next","tagName":"h3"},{"title":"CBOR Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#cbor-accessor","content":" The Concise Binary Object Representation (CBOR) Accessor serializes data into a binary format loosely based on JSON. It is a subclass of the JSON Accessor and is what COSMOS uses natively to store log files. Commands​ Using the CBOR Accessor for command definitions requires the use of TEMPLATE_FILE and KEY to allow the user to set values in the CBOR data. Note that the KEY values use JSONPath. COMMAND CBOR CBORCMD BIG_ENDIAN "CBOR Accessor Command" ACCESSOR CborAccessor TEMPLATE_FILE _cbor_template.bin APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" KEY $.more.item3 APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" KEY $.more.item4 APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 Creating the template file requires the use of the Ruby or Python CBOR libraries. Here is an example from Ruby: require 'cbor' data = {"id_item" : 2, "item1" : 101, "more" : { "item2" : 12, "item3" : 3.14, "item4" : "Example", "item5" : [4, 3, 2, 1] } } File.open("_cbor_template.bin", 'wb') do |file| file.write(data.to_cbor) end Telemetry​ Using the CBOR Accessor for telemetry definitions only requires the use of KEY to pull values from the CBOR data. Note that the KEY values use JSONPath. TELEMETRY CBOR CBORTLM BIG_ENDIAN "CBOR Accessor Telemetry" ACCESSOR CborAccessor APPEND_ID_ITEM ID_ITEM 32 INT 2 "Int Item" KEY $.id_item APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY $.item1 GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_ITEM ITEM3 64 FLOAT "Float Item" KEY $.more.item3 APPEND_ITEM ITEM4 128 STRING "String Item" KEY $.more.item4 APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 ","version":"Next","tagName":"h3"},{"title":"Form Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#form-accessor","content":" The Form Accessor is typically used with the HTTP Client interface to submit forms to a remote HTTP Server. Commands​ Using the Form Accessor for command definitions requires the use of KEY to allow the user to set values in the HTTP form. Note that the KEY values use XPath. COMMAND FORM FORMCMD BIG_ENDIAN "Form Accessor Command" ACCESSOR FormAccessor APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 UNITS CELSIUS C Telemetry​ Using the Form Accessor for telemetry definitions only requires the use of KEY to pull values from the HTTP response data. Note that the KEY values use XPath. TELEMETRY FORM FORMTLM BIG_ENDIAN "Form Accessor Telemetry" ACCESSOR FormAccessor APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item" KEY $.id_item APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY $.item1 ","version":"Next","tagName":"h3"},{"title":"HTML Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#html-accessor","content":" The HTML Accessor is typically used with the HTTP Client interface to parse a web page. For a full example see openc3-cosmos-http-get. Commands​ HTML Accessor is not typically used for commands but it would be similar to Telemetry using XPath Keys. Telemetry​ TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results" # Typically you use the HtmlAccessor to parse out the page that is returned # HtmlAccessor is passed to HttpAccessor and used internally ACCESSOR HttpAccessor HtmlAccessor APPEND_ITEM NAME 240 STRING # Keys were located by doing a manual search and then inspecting the page # Right click the text you're looking for and then Copy -> Copy XPath KEY normalize-space(//main/div/a[2]/span/h2/text()) APPEND_ITEM DESCRIPTION 480 STRING KEY //main/div/a[2]/span/p/text() APPEND_ITEM VERSION 200 STRING KEY //main/div/a[2]/span/h2/span/text() APPEND_ITEM DOWNLOADS 112 STRING KEY normalize-space(//main/div/a[2]/p/text()) ","version":"Next","tagName":"h3"},{"title":"HTTP Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#http-accessor","content":" HTTP Accessor is typically used with the HTTP Client or HTTP Server interface to parse a web page. It takes another accessor to do the low level reading and writing of the items. The default accessor is FormAccessor. HtlmAccessor, XmlAccessor and JsonAccessor are also common for manipulating HTML, XML and JSON respectively. For a full example see openc3-cosmos-http-get. Commands​ When used with the HTTP Client Interface, HTTP Accessor utilizes the following command parameters: Parameter\tDescriptionHTTP_PATH\trequests at this path HTTP_METHOD\trequest method (GET, POST, DELETE) HTTP_PACKET\ttelemetry packet to store the response HTTP_ERROR_PACKET\ttelemetry packet to store error responses (status code >= 300) HTTP_QUERY_XXX\tsets a value in the params passed to the request (XXX => value, or KEY => value), see example below HTTP_HEADER_XXX\tsets a value in the headers passed to the request (XXX => value, or KEY => value), see example below When used with the HTTP Server Interface, HTTP Accessor utilizes the following command parameters: Parameter\tDescriptionHTTP_STATUS\tstatus to return to clients HTTP_PATH\tmount point for server HTTP_PACKET\ttelemetry packet to store the request HTTP_HEADER_XXX\tsets a value in the response headers (XXX => value, or KEY => value), see example below COMMAND HTML SEARCH BIG_ENDIAN "Searches Rubygems.org" # Note FormAccessor is the default argument for HttpAccessor so it is typically not specified ACCESSOR HttpAccessor PARAMETER HTTP_PATH 0 0 DERIVED nil nil "/search" PARAMETER HTTP_METHOD 0 0 DERIVED nil nil "GET" PARAMETER HTTP_PACKET 0 0 DERIVED nil nil "RESPONSE" PARAMETER HTTP_ERROR_PACKET 0 0 DERIVED nil nil "ERROR" # This sets parameter query=openc3+cosmos # Note the parameter name 'query' based on HTTP_QUERY_QUERY PARAMETER HTTP_QUERY_QUERY 0 0 DERIVED nil nil "openc3 cosmos" GENERIC_READ_CONVERSION_START value.split.join('+') GENERIC_READ_CONVERSION_END # This sets header Content-Type=text/html # Note that TYPE is not used since the KEY is specified PARAMETER HTTP_HEADER_TYPE 0 0 DERIVED nil nil "text/html" KEY Content-Type Telemetry​ HTTP Accessor utilizes the following telemetry items: Parameter\tDescriptionHTTP_STATUS\tthe request status HTTP_HEADERS\thash of the response headers HTTP_REQUEST\toptional hash which returns all the request parameters, see HTTP Client Interface TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results" # Typically you use the HtmlAccessor to parse out the page that is returned ACCESSOR HttpAccessor HtmlAccessor APPEND_ITEM NAME 240 STRING # Keys were located by doing a manual search and then inspecting the page # Right click the text you're looking for and then Copy -> Copy XPath KEY normalize-space(//main/div/a[2]/span/h2/text()) APPEND_ITEM DESCRIPTION 480 STRING KEY //main/div/a[2]/span/p/text() APPEND_ITEM VERSION 200 STRING KEY //main/div/a[2]/span/h2/span/text() APPEND_ITEM DOWNLOADS 112 STRING KEY normalize-space(//main/div/a[2]/p/text()) ","version":"Next","tagName":"h3"},{"title":"JSON Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#json-accessor","content":" The JSON Accessor serializes data into JavaScript Object Notation (JSON). JSON is a data interchange format that uses human-readable text to transmit data consisting of key value pairs and arrays. For a full example see openc3-cosmos-accessor-test. Commands​ Using the JSON Accessor for command definitions requires the use of TEMPLATE and KEY to allow the user to set values in the JSON data. Note that the KEY values use JSONPath. COMMAND JSON JSONCMD BIG_ENDIAN "JSON Accessor Command" ACCESSOR JsonAccessor TEMPLATE '{"id_item":1, "item1":101, "more": { "item2":12, "item3":3.14, "item4":"Example", "item5":[4, 3, 2, 1] } }' APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" KEY $.more.item3 APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" KEY $.more.item4 APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 Telemetry​ Using the JSON Accessor for telemetry definitions only requires the use of KEY to pull values from the JSON data. Note that the KEY values use JSONPath. TELEMETRY JSON JSONTLM BIG_ENDIAN "JSON Accessor Telemetry" ACCESSOR JsonAccessor APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item" KEY $.id_item APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY $.item1 GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_ITEM ITEM3 64 FLOAT "Float Item" KEY $.more.item3 APPEND_ITEM ITEM4 128 STRING "String Item" KEY $.more.item4 APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 ","version":"Next","tagName":"h3"},{"title":"Template Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#template-accessor","content":" The Template Accessor is commonly used with string based command / response protocols such as the CmdResponseProtocol. For a full example see openc3-cosmos-scpi-power-supply in the COSMOS Enterprise Plugins. Commands​ Using the Template Accessor for command definitions requires the use of TEMPLATE to define a string template with optional parameters that are populated using the command parameters. # Some commands don't have any parameters and the template is sent as-is COMMAND SCPI_PS RESET BIG_ENDIAN "Reset the power supply state" ACCESSOR TemplateAccessor TEMPLATE "*RST" # This command has two parameters in the template defined by <XXX> COMMAND SCPI_PS VOLTAGE BIG_ENDIAN "Sets the voltage of a power supply channel" ACCESSOR TemplateAccessor # <VOLTAGE> and <CHANNEL> are replaced by the parameter values TEMPLATE "VOLT <VOLTAGE>, (@<CHANNEL>)" APPEND_PARAMETER VOLTAGE 32 FLOAT MIN MAX 0.0 "Voltage Setting" UNITS VOLTS V APPEND_PARAMETER CHANNEL 8 UINT 1 2 1 "Output Channel" Telemetry​ Using the Template Accessor for telemetry definitions requires the use of TEMPLATE to define a template where telemetry values are pulled from the string buffer. TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Power supply status" ACCESSOR TemplateAccessor # The raw string from the target is something like "1.234,2.345" # String is split by the comma and pushed into MEAS_VOLTAGE_1, MEAS_VOLTAGE_2 TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>" APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Current Reading for Channel 1" APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Current Reading for Channel 2" ","version":"Next","tagName":"h3"},{"title":"XML Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#xml-accessor","content":" The XML Accessor is typically used with the HTTP Client interface to send and receive XML from a web server. For a full example see openc3-cosmos-accessor-test. Commands​ Using the XML Accessor for command definitions requires the use of TEMPLATE and KEY to allow the user to set values in the XML data. Note that the KEY values use XPath. COMMAND XML XMLCMD BIG_ENDIAN "XML Accessor Command" ACCESSOR XmlAccessor TEMPLATE '<html><head><script src="3"></script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>' APPEND_ID_PARAMETER ID_ITEM 32 INT 3 3 3 "Int Item" KEY "/html/head/script/@src" APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY "/html/head/noscript/text()" UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY "/html/body/img/@src" FORMAT_STRING "0x%X" APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" KEY "/html/body/div/ul/li[1]/text()" APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" KEY "/html/body/div/ul/li[2]/text()" Telemetry​ Using the XML Accessor for telemetry definitions only requires the use of KEY to pull values from the XML data. Note that the KEY values use XPath. TELEMETRY XML XMLTLM BIG_ENDIAN "XML Accessor Telemetry" ACCESSOR XmlAccessor # Template is not required for telemetry, but is useful for simulation TEMPLATE '<html><head><script src="3"></script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>' APPEND_ID_ITEM ID_ITEM 32 INT 3 "Int Item" KEY "/html/head/script/@src" APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY "/html/head/noscript/text()" GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY "/html/body/img/@src" FORMAT_STRING "0x%X" APPEND_ITEM ITEM3 64 FLOAT "Float Item" KEY "/html/body/div/ul/li[1]/text()" APPEND_ITEM ITEM4 128 STRING "String Item" KEY "/html/body/div/ul/li[2]/text()" ","version":"Next","tagName":"h3"},{"title":"GEMS Ascii (Enterprise)​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#gems-ascii-enterprise","content":" The GemsAsciiAccessor inherits from TemplateAccessor to escape the following characters in outgoing commands: "&" => "&a", "|" => "&b", "," => "&c", and ";" => "&d" and reverse them in telemetry. See the GEMS Spec for more information. For a full example, please see the openc3-cosmos-gems-interface in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Prometheus (Enterprise)​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#prometheus-enterprise","content":" The PrometheusAccessor is used to read from a Prometheus endpoint and can automatically parse the results into a packet. The PrometheusAccessor is currently only implemented in Ruby. For a full example, please see the openc3-cosmos-prometheus-metrics in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Protocol Buffer (Enterprise)​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#protocol-buffer-enterprise","content":" The ProtoAccessor is used to read and write protocol buffers. It is primarily used in conjunction with the GrpcInterface. The ProtoAccessor is currently only implemented in Ruby. Parameter\tDescription\tRequiredFilename\tFile generated by the protocol buffer compiler\tYes Class\tClass to use when encoding and decoding the buffer\tYes For a full example, please see the openc3-cosmos-proto-target in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Commands","type":0,"sectionRef":"#","url":"/docs/configuration/command","content":"","keywords":"","version":"Next"},{"title":"Command Definition Files​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-definition-files","content":" Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters. Command Keywords ","version":"Next","tagName":"h2"},{"title":"COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command","content":" Defines a new command packet Parameter\tDescription\tRequiredTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse Example Usage: COMMAND INST COLLECT BIG_ENDIAN "Start collect" ","version":"Next","tagName":"h2"},{"title":"COMMAND Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-modifiers","content":" The following keywords must follow a COMMAND keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" PARAMETER DATA 32 32 INT MIN MAX 0 "Data value" PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5 PARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply" PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data" ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JSONPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * self.multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 APPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply" ","version":"Next","tagName":"h3"},{"title":"ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_parameter","content":" Selects an existing command parameter for editing Must be used in conjunction with SELECT_COMMAND to first select the packet. Typically used to override generated values or make specific changes to commands that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredParameter\tName of the parameter to select for modification\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h3"},{"title":"DELETE_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#delete_parameter","content":" (Since 4.4.1) Deletes an existing command parameter from the packet definition Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter. Parameter\tDescription\tRequiredParameter\tName of the parameter to delete\tTrue Example Usage: SELECT_COMMAND INST COLLECT DELETE_PARAMETER DURATION ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hidden","content":" Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator Hidden commands do not appear in the Script Runner popup helper when writing scripts. The command still exists in the system and can be sent by scripts. ","version":"Next","tagName":"h3"},{"title":"DISABLED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disabled","content":" Disables this command from being sent Hides the command and also disables it from being sent by scripts. Attempts to send DISABLED commands result in an error message. ","version":"Next","tagName":"h3"},{"title":"DISABLE_MESSAGES​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disable_messages","content":" Disable the Server from printing cmd(...) messages. Commands are still logged. ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#meta-1","content":" Stores metadata for the current command Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct command" ","version":"Next","tagName":"h3"},{"title":"HAZARDOUS​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hazardous","content":" Designates the current command as hazardous Sending a hazardous command causes a dialog asking for confirmation before sending the command Parameter\tDescription\tRequiredDescription\tDescription for why the command is hazardous which must be enclosed with quotes\tFalse ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see Accessors. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue Argument\tAdditional argument passed to the accessor class constructor\tFalse ","version":"Next","tagName":"h3"},{"title":"TEMPLATE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template","content":" (Since 5.0.10) Defines a template string used to initialize the command before default values are filled in Generally the template string is formatted in JSON or HTML and then values are filled in with command parameters. Must be UTF-8 encoded. Parameter\tDescription\tRequiredTemplate\tThe template string which should be enclosed in quotes\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE_FILE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template_file","content":" (Since 5.0.10) Defines a template file used to initialize the command before default values are filled in Generally the template file is formatted in JSON or HTML and then values are filled in with command parameters. Can be binary or UTF-8. Parameter\tDescription\tRequiredTemplate File Path\tThe relative path to the template file. Filename should generally start with an underscore.\tTrue ","version":"Next","tagName":"h3"},{"title":"RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#response","content":" (Since 5.14.0) Indicates the expected telemetry packet response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry response packet\tTrue Packet Name\tPacket Name of telemetry response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"ERROR_RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#error_response","content":" (Since 5.14.0) Indicates the expected telemetry packet error response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry error response packet\tTrue Packet Name\tPacket Name of telemetry error response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"RELATED_ITEM​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#related_item","content":" (Since 5.14.0) Defines a related telemetry item to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry item\tTrue Packet Name\tPacket Name of related telemetry item\tTrue Item Name\tItem Name of related telemetry item\tTrue ","version":"Next","tagName":"h3"},{"title":"SCREEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#screen","content":" (Since 5.14.0) Defines a related telemetry screen to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry screen\tTrue Screen Name\tScreen Name of related telemetry screen\tTrue ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"RESTRICTED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#restricted","content":" (Since 5.20.0) Marks this packet as restricted and will require approval if critical commanding is enabled Used as one of the two types of critical commands (HAZARDOUS and RESTRICTED) ","version":"Next","tagName":"h3"},{"title":"VALIDATOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#validator","content":" (Since 5.19.0) Defines a validator class for a command Validator class is used to validate the command success or failure with both a pre_check and post_check method. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'.\tTrue Argument\tAdditional argument passed to the validator class constructor\tFalse Ruby Example: VALIDATOR custom_validator.rb Defined in custom_validator.rb: require 'openc3/packets/command_validator' class CustomValidator < OpenC3::CommandValidator # Both the pre_check and post_check are passed the command packet that was sent # You can inspect the command in your checks as follows: # packet.target_name => target name # packet.packet_name => packet name (command name) # packet.read("ITEM") => converted value # packet.read("ITEM", :RAW) => raw value def pre_check(packet) if tlm("TGT PKT ITEM") == 0 return [false, "TGT PKT ITEM is 0"] end @cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT") return [true, nil] end def post_check(packet) wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10) return [true, nil] end end Python Example: VALIDATOR custom_validator.rb Defined in custom_validator.py: class CustomValidator(CommandValidator): # Both the pre_check and post_check are passed the command packet that was sent # You can inspect the command in your checks as follows: # packet.target_name => target name # packet.packet_name => packet name (command name) # packet.read("ITEM") => converted value # packet.read("ITEM", :RAW) => raw value def pre_check(self, command): if tlm("TGT PKT ITEM") == 0: return [False, "TGT PKT ITEM is 0"] self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT") return [True, None] def post_check(self, command): wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10) return [True, None] ","version":"Next","tagName":"h3"},{"title":"SELECT_COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_command","content":" Selects an existing command packet for editing Typically used in a separate configuration file from where the original command is defined to override or add to the existing command definition. Must be used in conjunction with SELECT_PARAMETER to change an individual parameter. Parameter\tDescription\tRequiredTarget Name\tName of the target this command is associated with\tTrue Command Name\tName of the command to select\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#example-file","content":" Example File: TARGET/cmd_tlm/cmd.txt COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES" POLY_WRITE_CONVERSION 0 0.01745 0 0 PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE" STATE NORMAL 0 STATE DIAG 1 COMMAND TARGET NOOP BIG_ENDIAN "Do Nothing" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA" COMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" <% 5.times do |x| %> APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>" <% end %> ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS Key Concepts","type":0,"sectionRef":"#","url":"/docs/getting-started/key_concepts","content":"","keywords":"","version":"Next"},{"title":"Projects​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#projects","content":" The main COSMOS repo contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS project to launch COSMOS. The project consists of the openc3.sh and openc3.bat files for starting and stopping COSMOS, the compose.yaml for configuring the COSMOS containers, and the .env file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik. ","version":"Next","tagName":"h2"},{"title":"Containerization​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containerization","content":" ","version":"Next","tagName":"h2"},{"title":"Images​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#images","content":" Per Docker, "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called Alpine Linux. It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a Dockerfile to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend. ","version":"Next","tagName":"h3"},{"title":"Containers​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containers","content":" Per Docker, "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per Docker, "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks. The COSMOS Open Source containers consist of the following: Name\tDescriptioncosmos-openc3-cosmos-init-1\tCopies files to Minio and configures COSMOS then exits cosmos-openc3-operator-1\tMain COSMOS container that runs the interfaces and target microservices cosmos-openc3-cosmos-cmd-tlm-api-1\tRails server that provides all the COSMOS API endpoints cosmos-openc3-cosmos-script-runner-api-1\tRails server that provides the Script API endpoints cosmos-openc3-redis-1\tServes the static target configuration cosmos-openc3-redis-ephemeral-1\tServes the streams containing the raw and decomutated data cosmos-openc3-minio-1\tProvides a S3 like bucket storage interface and also serves as a static webserver for the tool files cosmos-openc3-traefik-1\tProvides a reverse proxy and load balancer with routes to the COSMOS endpoints The container list for Enterprise COSMOS consists of the following: Name\tDescriptioncosmos-enterprise-openc3-metrics-1\tRails server that provides metrics on COSMOS performance cosmos-enterprise-openc3-keycloak-1\tSingle-Sign On service for authentication cosmos-enterprise-openc3-postgresql-1\tSQL Database for use by Keycloak openc3-nfs *\tNetwork File System pod only for use in Kubernetes to share code libraries between containers ","version":"Next","tagName":"h3"},{"title":"Docker Compose​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#docker-compose","content":" Per Docker, "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The compose.yaml is where ports are exposed and environment variables are used. ","version":"Next","tagName":"h3"},{"title":"Environment File​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#environment-file","content":" COSMOS uses an environment file along with Docker Compose to pass environment variables into the COSMOS runtime. This .env file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more. ","version":"Next","tagName":"h3"},{"title":"Kubernetes​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#kubernetes","content":" Per Kubernetes.io, "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." COSMOS Enterprise provides Helm charts for easy deployment to Kubernetes in various cloud environments. COSMOS Enterprise also provides Terraform scripts to deploy COSMOS infrastructure on various cloud environments. ","version":"Next","tagName":"h3"},{"title":"Frontend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#frontend","content":" ","version":"Next","tagName":"h2"},{"title":"Vue.js​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#vuejs","content":" The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per Vue.js, "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the Vuetify Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x. ","version":"Next","tagName":"h3"},{"title":"Single-Spa​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#single-spa","content":" While COSMOS itself is written in Vue.js, we utilize a technology called single-spa to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue. ","version":"Next","tagName":"h3"},{"title":"Astro UX​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#astro-ux","content":" Per AstroUXDS, "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. Astro Clock, COSMOS directly incorporates Astro components. ","version":"Next","tagName":"h3"},{"title":"Backend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#backend","content":" ","version":"Next","tagName":"h2"},{"title":"Redis​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#redis","content":" Redis is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our container list you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into Redis streams. The other redis container contains COSMOS configuration that is meant to persist. COSMOS Enterprise provides helm charts that setup Redis Cluster to perform horizontal scaling where data is shared across multiple Redis nodes. ","version":"Next","tagName":"h3"},{"title":"MinIO​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#minio","content":" MinIO is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. COSMOS Enterprise deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example. ","version":"Next","tagName":"h3"},{"title":"Ruby on Rails​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#ruby-on-rails","content":" The COSMOS API and Script Runner backends are powered by Ruby on Rails. Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks. ","version":"Next","tagName":"h3"},{"title":"Telemetry","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry","content":"","keywords":"","version":"Next"},{"title":"Telemetry Definition Files​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-definition-files","content":" Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items. Printing Data Most data types can be printed in a COSMOS script simply by doing print(tlm("TGT PKT ITEM")). However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called formatted to help you view binary data. If ITEM is a BLOCK type containing binary try puts tlm("TGT PKT ITEM").formatted (Ruby) and print(formatted(tlm("TGT PKT ITEM"))) (Python) which will print the bytes out as hex. ","version":"Next","tagName":"h2"},{"title":"ID Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id-items","content":" All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ID_ITEM and APPEND_ID_ITEM. As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set TLM_UNIQUE_ID_MODE in the target.txt file which incurs a performance penalty on every packet identification. ","version":"Next","tagName":"h3"},{"title":"Variable Sized Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#variable-sized-items","content":" COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet. ","version":"Next","tagName":"h3"},{"title":"Derived Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#derived-items","content":" COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition. ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4" Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. READ_CONVERSION, to generate the value. ","version":"Next","tagName":"h3"},{"title":"Received Time and Packet Time​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#received-time-and-packet-time","content":" COSMOS automatically creates several telemetry items on every packet: PACKET_TIMESECONDS, PACKET_TIMEFORMATTED, RECEIVED_COUNT, RECEIVED_TIMEFORMATTED, and RECEIVED_TIMESECONDS. RECEIVED_TIME is the time that COSMOS receives the packet. This is set by the interface which is connected to the target and is receiving the raw data. Once a packet has been created out of the raw data the time is set. PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected. The _TIMEFORMATTED items returns the date and time in a YYYY/MM/DD HH:MM:SS.sss format and the _TIMESECONDS returns the Unix seconds of the time. Internally these are both stored as either a Ruby Time object or Python date object. Example​ COSMOS provides a Unix time conversion class which returns a Ruby Time object or Python date object based on the number of seconds and (optionally) microseconds since the Unix epoch. Note: This returns a native object and not a float or string! Ruby Example: ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS" READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS Python Example: ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS" READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet. Telemetry Keywords ","version":"Next","tagName":"h3"},{"title":"TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry","content":" Defines a new telemetry packet Parameter\tDescription\tRequiredTarget\tName of the target this telemetry packet is associated with\tTrue Command\tName of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this packet is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this telemetry packet which must be enclosed with quotes\tFalse Example Usage: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status" ","version":"Next","tagName":"h2"},{"title":"TELEMETRY Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-modifiers","content":" The following keywords must follow a TELEMETRY keyword. ","version":"Next","tagName":"h2"},{"title":"ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ITEM PKTID 112 16 UINT "Packet ID" ITEM DATA 0 0 DERIVED "Derived data" ","version":"Next","tagName":"h3"},{"title":"ITEM Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item-modifiers","content":" The following keywords must follow a ITEM keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JSONPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse STATE​ Defines a key/value pair for the current item Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the telemetry item and allows for much greater clarity and less chance for user error. A catch all value of ANY applies to all other values not already defined as state values. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value or ANY to apply the state to all other values\tTrue Color\tThe color the state should be displayed as Valid Values: GREEN, YELLOW, RED\tFalse Example Usage: APPEND_ITEM ENABLE 32 UINT "Enable setting" STATE FALSE 0 STATE TRUE 1 STATE ERROR ANY # Match all other values to ERROR APPEND_ITEM STRING 1024 STRING "String" STATE "NOOP" "NOOP" GREEN STATE "ARM LASER" "ARM LASER" YELLOW STATE "FIRE LASER" "FIRE LASER" RED READ_CONVERSION​ Applies a conversion to the current telemetry item Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: READ_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * @multiplier end end end Python Example: READ_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * self.multiplier POLY_READ_CONVERSION​ Adds a polynomial conversion factor to the current telemetry item The conversion factor is applied to raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_READ_CONVERSION 10 0.5 0.25 SEG_POLY_READ_CONVERSION​ Adds a segmented polynomial conversion factor to the current telemetry item This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_READ_CONVERSION_START​ Start a generic read conversion Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance. Parameter\tDescription\tRequiredConverted Type\tType of the converted value Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tFalse Converted Bit Size\tBit size of converted value\tFalse Ruby Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_READ_CONVERSION_END Python Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_READ_CONVERSION_END GENERIC_READ_CONVERSION_END​ Complete a generic read conversion LIMITS​ Defines a set of limits for a telemetry item If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing. Parameter\tDescription\tRequiredLimits Set\tName of the limits set. If you have no unique limits sets use the keyword DEFAULT.\tTrue Persistence\tNumber of consecutive times the telemetry item must be within a different limits range before changing limits state.\tTrue Initial State\tWhether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state. Valid Values: ENABLED, DISABLED\tTrue Red Low Limit\tIf the telemetry value is less than or equal to this value a Red Low condition will be detected\tTrue Yellow Low Limit\tIf the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detected\tTrue Yellow High Limit\tIf the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detected\tTrue Red High Limit\tIf the telemetry value is greater than or equal to this value a Red High condition will be detected\tTrue Green Low Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.\tFalse Green High Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.\tFalse Example Usage: LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0 LIMITS_RESPONSE​ Defines a response class that is called when the limits state of the current item changes Parameter\tDescription\tRequiredResponse Class Filename\tName of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory.\tTrue Response Specific Options\tVariable length number of options that will be passed to the class constructor\tFalse Ruby Example: LIMITS_RESPONSE example_limits_response.rb 10 Python Example: LIMITS_RESPONSE example_limits_response.py 10 ","version":"Next","tagName":"h3"},{"title":"APPEND_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ITEM PKTID 16 UINT "Packet ID" ","version":"Next","tagName":"h3"},{"title":"ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id_item","content":" Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet. Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_id_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_item","content":" Selects an existing telemetry item for editing Must be used in conjunction with SELECT_TELEMETRY to first select the packet. Typically used to override generated values or make specific changes to telemetry that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredItem\tName of the item to select for modification\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h3"},{"title":"DELETE_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#delete_item","content":" (Since 4.4.1) Delete an existing telemetry item from the packet definition Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item. Parameter\tDescription\tRequiredItem\tName of the item to delete\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS DELETE_ITEM TEMP4 ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#meta-1","content":" Stores metadata for the current telemetry packet Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct tlm_packet" ","version":"Next","tagName":"h3"},{"title":"PROCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#processor","content":" Defines a processor class that executes code every time a packet is received Parameter\tDescription\tRequiredProcessor Name\tThe name of the processor\tTrue Processor Class Filename\tName of the Ruby or Python file which implements the processor. This file should be in the target's lib directory.\tTrue Processor Specific Options\tVariable length number of options that will be passed to the class constructor.\tFalse Ruby Example: PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1 Python Example: PROCESSOR TEMP1HIGH watermark_processor.py TEMP1 ","version":"Next","tagName":"h3"},{"title":"ALLOW_SHORT​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#allow_short","content":" Process telemetry packets which are less than their defined length Allows the telemetry packet to be received with a data portion that is smaller than the defined size without warnings. Any extra space in the packet will be filled in with zeros by OpenC3. ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#hidden","content":" Hides this telemetry packet from all the OpenC3 tools This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator. It also hides this telemetry from appearing in the Script Runner popup helper when writing scripts. The telemetry still exists in the system and can received and checked by scripts. ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see Accessors. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#template","content":" (Since 5.0.10) Defines a template string used to pull telemetry values from a string buffer Parameter\tDescription\tRequiredTemplate\tThe template string which should be enclosed in quotes\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE_FILE​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#template_file","content":" (Since 5.0.10) Defines a template file used to pull telemetry values from a string buffer Parameter\tDescription\tRequiredTemplate File Path\tThe relative path to the template file. Filename should generally start with an underscore.\tTrue ","version":"Next","tagName":"h3"},{"title":"IGNORE_OVERLAP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#ignore_overlap","content":" (Since 5.16.0) Ignores any packet items which overlap Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword. This ignores overlaps across the entire packet. ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"SELECT_TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_telemetry","content":" Selects an existing telemetry packet for editing Typically used in a separate configuration file from where the original telemetry is defined to override or add to the existing telemetry definition. Must be used in conjunction with SELECT_ITEM to change an individual item. Parameter\tDescription\tRequiredTarget Name\tName of the target this telemetry packet is associated with\tTrue Packet Name\tName of the telemetry packet to select\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group","content":" Defines a group of related limits Items Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled. Parameter\tDescription\tRequiredGroup Name\tName of the limits group\tTrue ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group_item","content":" Adds the specified telemetry item to the last defined LIMITS_GROUP Limits group information is typically kept in a separate configuration file in the config/TARGET/cmd_tlm folder named limits_groups.txt. Parameter\tDescription\tRequiredTarget Name\tName of the target\tTrue Packet Name\tName of the packet\tTrue Item Name\tName of the telemetry item to add to the group\tTrue Example Usage: LIMITS_GROUP SUBSYSTEM LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3 ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#example-file","content":" Example File: TARGET/cmd_tlm/tlm.txt TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target" ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)" ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)" STATE TLM 0 STATE CMD 1 ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG" STATE FALSE 0 STATE TRUE 1 ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID" ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS" STATE FIRST 0 STATE CONT 1 STATE LAST 2 STATE NOGROUP 3 ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT" ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH" ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)" ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)" ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)" ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees" POLY_READ_CONVERSION 0 57.295 ITEM MODE 128 8 UINT "Instrument Mode" STATE NORMAL 0 GREEN STATE DIAG 1 YELLOW ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS" GENERIC_READ_CONVERSION_START FLOAT 32 ((packet.read('ccsdsday') * 86400.0) + (packet.read('ccsdsmsod') / 1000.0) + (packet.read('ccsdsusoms') / 1000000.0) ) GENERIC_READ_CONVERSION_END ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING" GENERIC_READ_CONVERSION_START STRING 216 time = Time.ccsds2mdy(packet.read('ccsdsday'), packet.read('ccsdsmsod'), packet.read('ccsdsusoms')) sprintf('%04u/%02u/%02u %02u:%02u:%02u.%06u', time[0], time[1], time[2], time[3], time[4], time[5], time[6]) GENERIC_READ_CONVERSION_END ","version":"Next","tagName":"h2"},{"title":"Code Generators","type":0,"sectionRef":"#","url":"/docs/getting-started/generators","content":"","keywords":"","version":"Next"},{"title":"Plugin Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#plugin-generator","content":" The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called openc3-cosmos-<name>. For example: % openc3.sh cli generate plugin Usage: cli generate plugin <NAME> % openc3.sh cli generate plugin GSE Plugin openc3-cosmos-gse successfully generated! This creates the following files: Name\tDescription.gitignore\tTells git to ignore any node_modules directory (for tool development) LICENSE.txt\tLicense for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition. openc3-cosmos-gse.gemspec\tGemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: https://guides.rubygems.org/specification-reference/ plugin.txt\tCOSMOS specific file for Plugin creation. Learn more here. Rakefile\tRuby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number README.md\tMarkdown file used to document the plugin requirements.txt\tPython dependencies file (only for Python plugins) While this structure is required, it is not very useful by itself. The plugin generator just creates the framework for other generators to use. ","version":"Next","tagName":"h2"},{"title":"Target Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#target-generator","content":" The target generator creates the scaffolding for a new COSMOS Target. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate target Usage: cli generate target <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate target GSE Target GSE successfully generated! This creates the following files and directories: Name\tDescriptiontargets/GSE\tContains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation. targets/GSE/cmd_tlm\tContains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined). targets/GSE/cmd_tlm/cmd.txt\tExample command configuration. Will need to be edited for the target specific commands. targets/GSE/cmd_tlm/tlm.txt\tExample telemetry configuration. Will need to be edited for the target specific telemetry. targets/GSE/lib\tContains any custom code required by the target. Good examples of custom code are library files, custom interface classes and protocols. targets/GSE/lib/gse.rb/py\tExample library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse. targets/GSE/procedures\tThis folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the Scripting Guide for more information. targets/GSE/procedures/procedure.rb/py\tProcedure with an example of sending a command and checking telemetry targets/GSE/public\tPut image files here for use in Telemetry Viewer Canvas Image widgets such as CANVASIMAGE and CANVASIMAGEVALUE targets/GSE/screens\tContains telemetry screens for the target targets/GSE/screens/status.txt\tExample screen to display telemetry values targets/GSE/target.txt\tTarget configuration such as ignoring command and telemetry items and how to process the cmd/tlm files It also updates the plugin.txt file to add the new target: VARIABLE gse_target_name GSE TARGET GSE <%= gse_target_name %> INTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET <%= gse_target_name %> ","version":"Next","tagName":"h2"},{"title":"Microservice Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#microservice-generator","content":" The microservice generator creates the scaffolding for a new COSMOS Microservice. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate microservice Usage: cli generate microservice <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate microservice background Microservice BACKGROUND successfully generated! This creates the following files and directories: Name\tDescriptionmicroservices/BACKGROUND\tContains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation. microservices/BACKGROUND/background.rb\tFully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response). It also updates the plugin.txt file to add the new microservice: MICROSERVICE BACKGROUND background-microservice CMD ruby background.rb ","version":"Next","tagName":"h2"},{"title":"Conversion Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#conversion-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Conversion. It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example: openc3-cosmos-gse % openc3.sh cli generate conversion Usage: cli generate conversion <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE double Conversion targets/GSE/lib/double_conversion.rb successfully generated! To use the conversion add the following to a telemetry item: READ_CONVERSION double_conversion.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/double_conversion.rb\tFully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values. As the generator states, to use this conversion code you must add it to a telemetry item. For example: TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" READ_CONVERSION double_conversion.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Limits Response Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#limits-response-generator","content":" The limits_response generator creates the scaffolding for a new COSMOS Limits Response. It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example: openc3-cosmos-gse % openc3.sh cli generate limits_response Usage: cli generate limits_response <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe Limits response targets/GSE/lib/safe_limits_response.rb successfully generated! To use the limits response add the following to a telemetry item: LIMITS_RESPONSE safe_limits_response.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/safe_limits_response.rb\tFully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item As the generator states, to use this limits code you must add it to a telemetry item which has limits defined. In the generated GSE target, none of the items have limits defined so you first need to add limits and then add the response. TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS_RESPONSE safe_limits_response.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Widget Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#widget-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Widget for use in Telemetry Viewer Screens. For more information see the Custom Widget guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example: openc3-cosmos-gse % openc3.sh cli generate widget Usage: cli generate widget <SuperdataWidget> openc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget Widget HelloworldWidget successfully generated! Please be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens This creates the following files and directories: Name\tDescriptionsrc/HelloworldWidget.vue\tFully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable. It also updates the plugin.txt file to add the new widget: WIDGET Helloworld ","version":"Next","tagName":"h2"},{"title":"Tool Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#tool-generator","content":" The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see Running a Frontend Application. openc3-cosmos-gse % openc3.sh cli generate tool Usage: cli generate tool 'Tool Name' openc3-cosmos-gse % openc3.sh cli generate widget DataVis Tool datavis successfully generated! Please be sure datavis does not conflict with any other tools This creates the following files and directories: Name\tDescriptionsrc/App.vue\tBasic Vue template to render the application. src/main.js\tEntry point for the new tool which loads Vue, Vuetify, and other libraries. src/router.js\tVue component router. src/tools/datavis\tContains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation. src/tools/datavis/datavis.vue\tFully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable. package.json\tBuild and dependency definition file. Used by npm or yarn to build the tool. vue.config.js\tVue configuration file used to serve the application in development and build the application. <dotfiles>\tVarious dotfiles which help configure formatters and tools for Javascript frontend development It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found here. TOOL datavis "DataVis" INLINE_URL js/app.js ICON mdi-file-cad-box ","version":"Next","tagName":"h2"},{"title":"Podman","type":0,"sectionRef":"#","url":"/docs/getting-started/podman","content":"","keywords":"","version":"Next"},{"title":"OpenC3 COSMOS Using Rootless Podman and Docker-Compose​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#openc3-cosmos-using-rootless-podman-and-docker-compose","content":" Optional Installation Option These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method. Podman is an alternative container technology to Docker that is actively promoted by RedHat. The key benefit is that Podman can run without a root-level daemon service, making it significantly more secure by design, over standard Docker. However, it is a little more complicated to use. These directions will get you up and running with Podman. The following directions have been tested against RHEL 8.8, and RHEL 9.2, but should be similar on other operating systems. Rootless Podman Does Not Work (Directly) with NFS Home Directories NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [https://www.redhat.com/sysadmin/rootless-podman-nfs]https://www.redhat.com/sysadmin/rootless-podman-nfs). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See https://www.redhat.com/sysadmin/nfs-rootless-podman Redhat 8.8 and 9.2 Instructions Install Prerequisite Packages Note: This downloads and installs docker-compose from the latest 2.x release on Github. If your operating system has a docker-compose package, it will be easier to install using that instead. RHEL8 does not have a docker-compose package. sudo yum update sudo yum install git podman-docker netavark curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose sudo mv docker-compose /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose Configure Host OS for Redis sudo su echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag sysctl -w vm.max_map_count=262144 exit Configure Podman to use Netavark for DNS sudo cp /usr/share/containers/containers.conf /etc/containers/. sudo vi /etc/containers/containers.conf Then edit the network_backend line to be "netavark" instead of "cni" Start rootless podman socket service systemctl enable --now --user podman.socket Put the following into your .bashrc file (or .bash_profile or whatever) export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock" Source the profile file for your current terminal source .bashrc Get COSMOS - A release or the current main branch (main branch shown) git clone https://github.com/OpenC3/cosmos.git Optional - Set Default Container Registry If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly) mkdir -p $HOME/.config/containers cp /etc/containers/registries.conf $HOME/.config/containers/. vi $HOME/.config/containers/registries.conf Then edit the unqualified-search-registries = line to just have the registry you care about (probably docker.io) Edit cosmos/compose.yaml cd cosmos vi compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. You may also want to update the traefik configuration to allow access from the internet by removing 127.0.0.1 and probably switching to either an SSL config file, or the allow http one. Also make sure your firewall allows whatever port you choose to use in. Rootless podman will need to use a higher numbered port (not 1-1023). Run COSMOS ./openc3.sh run Wait until everything is built and running and then goto http://localhost:2900 in your browser Podman on MacOS Podman can also be used on MacOS, though we still generally recommend Docker Desktop ","version":"Next","tagName":"h3"},{"title":"MacOS Instructions​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#macos-instructions","content":" Install podman brew install podman Start the podman virtual machine podman machine init podman machine start # Note: update to your username in the next line or copy paste from what 'podman machine start' says export DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock' Install docker-compose brew install docker-compose # Optional if you already have Docker Desktop Edit cosmos/compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. Important: on MacOS you must also remove all :z from the volume mount lines You may also want to update the traefik configuration to allow access from the internet. Run COSMOS cd cosmos ./openc3.sh run ","version":"Next","tagName":"h2"},{"title":"Bridges","type":0,"sectionRef":"#","url":"/docs/guides/bridges","content":"","keywords":"","version":"Next"},{"title":"Bridges are Generally Just an Interface and Router​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridges-are-generally-just-an-interface-and-router","content":" Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to COSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation protocol like LENGTH. ","version":"Next","tagName":"h2"},{"title":"Host Requirements for Running Bridges​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#host-requirements-for-running-bridges","content":" Requires a host Ruby installation (Ruby 3)Install the OpenC3 gem gem install openc3 Make sure the Ruby gem executable path is in your PATH environment variable You can find this path by running gem environment and looking for EXECUTABLE DIRECTORY If successful, you should be able to run openc3cli from a terminal ","version":"Next","tagName":"h2"},{"title":"Bridge Configuration: bridge.txt​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-configuration-bridgetxt","content":" Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword. The following is the default bridge.txt that is generated by running openc3cli bridgesetup # Write serial port name VARIABLE write_port_name COM1 # Read serial port name VARIABLE read_port_name COM1 # Baud Rate VARIABLE baud_rate 115200 # Parity - NONE, ODD, or EVEN VARIABLE parity NONE # Stop bits - 0, 1, or 2 VARIABLE stop_bits 1 # Write Timeout VARIABLE write_timeout 10.0 # Read Timeout VARIABLE read_timeout nil # Flow Control - NONE, or RTSCTS VARIABLE flow_control NONE # Data bits per word - Typically 8 VARIABLE data_bits 8 # Port to listen for connections from COSMOS - Plugin must match VARIABLE router_port 2950 # Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened # if COSMOS is on another machine. VARIABLE router_listen_address 127.0.0.1 INTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %> OPTION FLOW_CONTROL <%= flow_control %> OPTION DATA_BITS <%= data_bits %> ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS <%= router_listen_address %> VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access this server using the host.docker.internal hostname and the configured port (2950 in this example). ","version":"Next","tagName":"h2"},{"title":"Bridge Commands: openc3cli​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-commands-openc3cli","content":" openc3cli bridgesetup Generates a bridge.txt example file openc3cli bridge [filename] [variable1=value1] [variable2=value2] Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults. openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2] Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults. ","version":"Next","tagName":"h2"},{"title":"Example Bridge Gems​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#example-bridge-gems","content":" Serial Port: openc3-cosmos-bridge-serialHost: openc3-cosmos-bridge-hostHIDAPI: openc3-cosmos-bridge-hidapiPS5 Dual Sense Controller: openc3-cosmos-bridge-dualsense ","version":"Next","tagName":"h2"},{"title":"Note on Serial Ports​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#note-on-serial-ports","content":" Serial ports can be used directly without bridges on Linux Docker installations. Add the following to the operator service in compose.yaml: devices: - "/dev/ttyUSB0:/dev/ttyUSB0" Make sure the serial device has permissions for the user running Docker to access: sudo chmod 666 /dev/ttyUSB0 ","version":"Next","tagName":"h2"},{"title":"Custom Widgets","type":0,"sectionRef":"#","url":"/docs/guides/custom-widgets","content":"","keywords":"","version":"Next"},{"title":"Custom Widgets​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#custom-widgets","content":" We're basically going to follow the COSMOS Demo and explain how that custom widget was created. If you look at the bottom of the Demo's plugin.txt file you'll see we declare the widgets: WIDGET BIG WIDGET HELLOWORLD When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at tools/widgets/BigWidget/BigWidget.umd.min.js. Similarly it looks for HELLOWORLD at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. These directories and file names may seem mysterious but it's all about how the widgets get built. ","version":"Next","tagName":"h2"},{"title":"Helloworld Widget​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#helloworld-widget","content":" The Helloworld Widget source code is found in the plugin's src directory and is called HelloworldWidget.vue. The basic structure is as follows: <template> <!-- Implement widget here --> </template> <script> import Widget from "@openc3/tool-common/src/components/widgets/Widget"; export default { mixins: [Widget], data() { return { // Reactive data items }; }, }; </script> <style scoped> /* widget specific style */ </style> Vue & Vuetify For more information about how the COSMOS frontend is built (including all the Widgets) please check out Vue.js and Vuetify. To build this custom widget we changed the Demo Rakefile to call yarn run build when the plugin is built. yarn run XXX looks for 'scripts' to run in the package.json file. If we open package.json we find the following: "scripts": { "build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget" }, This uses the vue-cli-service to build the code found at src/HelloworldWidget.vue and formats as umd-min and puts it in the tools/widgets/HelloworldWidget directory. So this is why the plugin looks for the plugin at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. Click here for the vue-cli-service build documentation. If you look at the Demo plugin's simple.txt screen you'll see we're using the widgets: SCREEN AUTO AUTO 0.5 LABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT HELLOWORLD BIG <%= target_name %> HEALTH_STATUS TEMP1 Opening this screen in Telemetry Viewer results in the following: While this is a simple example the possibilities with custom widgets are limitless! ","version":"Next","tagName":"h3"},{"title":"Little Endian Bitfields","type":0,"sectionRef":"#","url":"/docs/guides/little-endian-bitfields","content":"Little Endian Bitfields Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields. Here are the rules on how COSMOS handles LITTLE_ENDIAN data: COSMOS bit offsets are always defined in BIG_ENDIAN terms. Bit 0 is always the most significant bit of the first byte in a packet, and increasing from there. All 8, 16, 32, and 64-bit byte-aligned LITTLE_ENDIAN data types define their bit_offset as the most significant bit of the first byte in the packet that contains part of the item. (This is exactly the same as BIG_ENDIAN). Note that for all except 8-bit LITTLE_ENDIAN items, this is the LEAST significant byte of the item. LITTLE_ENDIAN bit fields are defined as any LITTLE_ENDIAN INT or UINT item that is not 8, 16, 32, or 64-bit and byte aligned. LITTLE_ENDIAN bit fields must define their bit_offset as the location of the most significant bit of the bitfield in BIG_ENDIAN space as described in rule 1 above. So for example. The following C struct at the beginning of a packet would be defined like so: struct { unsigned short a:4; unsigned short b:8; unsigned short c:4; } ITEM A 4 4 UINT "struct item a" ITEM B 12 8 UINT "struct item b" ITEM C 8 4 UINT "struct item c" This is hard to visualize, but the structure above gets spread out in a byte array like the following after byte swapping: least significant 4 bits of b, 4-bits a, 4-bits c, most significant 4 bits of b. The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary.","keywords":"","version":"Next"},{"title":"Local Mode","type":0,"sectionRef":"#","url":"/docs/guides/local-mode","content":"","keywords":"","version":"Next"},{"title":"Using Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#using-local-mode","content":" In this tutorial we will use the COSMOS Demo as configured by the Installation Guide. You should have cloned a cosmos-project and started it using openc3.sh run. If you check the project directory you should see a plugins/DEFAULT/openc3-cosmos-demo directory. This will contain both the gem that was installed and a plugin_instance.json file. The plugin_instance.json file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later. ","version":"Next","tagName":"h2"},{"title":"Editing scripts​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#editing-scripts","content":" Visual Studio Code This tutorial will use VS Code which is the editor used by the COSMOS developers. The most common use case for Local Mode is script development. Launch Script Runner and open the INST/procedures/checks.rb file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to plugins/targets_modified/INST/procedures/checks.rb. At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: # This is a script. Now if we go back to Script Runner the changes have not automatically appeared. However, there is a Reload button next to the filename that will refresh the file from the backend. Clicking this reloads the file which has been synced into COSMOS and now we see our comment. ","version":"Next","tagName":"h3"},{"title":"Disabling Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#disabling-local-mode","content":" If you want to disable Local Mode you can edit the .env file and delete the setting OPENC3_LOCAL_MODE=1. ","version":"Next","tagName":"h3"},{"title":"Configuration Management​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#configuration-management","content":" It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory. At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI. openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-demo Version: 1.0.1 File: openc3-cosmos-demo-1.0.1.gem Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL. When the new plugin is installed, the project's plugins directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install. Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS. ","version":"Next","tagName":"h2"},{"title":"Installation","type":0,"sectionRef":"#","url":"/docs/getting-started/installation","content":"","keywords":"","version":"Next"},{"title":"Installing OpenC3 COSMOS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos","content":" The following sections describe how to get OpenC3 COSMOS installed on various operating systems. This document should help you setup you host machine to allow you to have a running version of COSMOS in no time. ","version":"Next","tagName":"h2"},{"title":"Installing OpenC3 COSMOS on Host Machines​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos-on-host-machines","content":" ","version":"Next","tagName":"h2"},{"title":"PREREQUISITES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#prerequisites","content":" If you're on Linux (recommended for production), we recommend installing Docker using the Install Docker Engine instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the Podman documentation. If you're on Windows or Mac, install Docker Desktop. All platforms also need to install Docker Compose. Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk Docker on Windows with WSL2: WSL2 consumes 50% of total memory on Windows or 8GB, whichever is less. However, on Windows builds before 20175 (use winver to check) it consumes 80% of your total memory. This can have a negative effect on Windows performance! On Windows builds < 20175 or for more fine grained control, create C:\\Users\\<username>\\.wslconfig. Suggested contents on a 32GB machine: [wsl2] memory=16GB swap=0 Important: Modify Docker Connection Timeouts Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value vpnKitMaxPortIdleTime to change the timeout (recommend setting to 0). Note: 0 means no timeout (idle connections not dropped) Note: As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image. ","version":"Next","tagName":"h3"},{"title":"CLONE PROJECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#clone-project","content":" We recommend using the COSMOS project template to get started. git clone https://github.com/OpenC3/cosmos-project.git git clone https://github.com/OpenC3/cosmos-enterprise-project.git Offline Installation If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers: ./openc3.sh util save docker.io openc3inc 5.16.2 This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with: ./openc3.sh util load 5.16.2 Note the version specified in save needs to match the version in load. ","version":"Next","tagName":"h3"},{"title":"CERTIFICATES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#certificates","content":" The COSMOS containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. Note: If you set the path to the ssl file in the SSL_CERT_FILE environment variables the openc3 setup script will copy it and place it for the docker container to load. SSL Issues Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else. The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\\Shared\\Ball.pem). Doesn't matter just somewhere with no spaces. Then set the following environment variables to that path (ie. C:\\Shared\\Ball.pem) SSL_CERT_FILE CURL_CA_BUNDLE REQUESTS_CA_BUNDLE Here are some directions on environment variables in Windows: Windows Environment Variables You will need to create new ones with the names above and set their value to the full path to the certificate file. ","version":"Next","tagName":"h3"},{"title":"RUN​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#run","content":" Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\\openc3-project" to the PATH. In Linux you would edit your shell's rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: export PATH=~/cosmos-project:$PATH. Run openc3.bat run (Windows), or ./openc3.sh run (linux/Mac). Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'. If you see an error indicating docker daemon is not running ensure Docker and Docker compose is installed and running. If it errors please try to run docker --version or docker-compose --version and try to run the start command again. If the error continues please include the version in your issue if you choose to create one. Running docker ps can help show the running containers. openc3.* takes multiple arguments. Run with no arguments for help. An example run of openc3.sh with no arguments will show a usage guide. ./openc3.sh Usage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util] * cli: run a cli command as the default user ('cli help' for more info) * cliroot: run a cli command as the root user ('cli help' for more info) * start: start the docker-compose openc3 * stop: stop the running dockers for openc3 * cleanup: cleanup network and volumes for openc3 * run: run the prebuilt containers for openc3 * util: various helper commands ","version":"Next","tagName":"h3"},{"title":"CONNECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#connect","content":" Connect a web browser to http://localhost:2900. Set the password to whatever you want. ","version":"Next","tagName":"h3"},{"title":"NEXT STEPS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#next-steps","content":" Continue to Getting Started. ","version":"Next","tagName":"h3"},{"title":"Feedback​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#feedback","content":" Find a problem in the documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h3"},{"title":"Logging","type":0,"sectionRef":"#","url":"/docs/guides/logging","content":"","keywords":"","version":"Next"},{"title":"decom_logs & raw_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#decom_logs--raw_logs","content":" The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory: Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the Log Structure developer documentation. The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first. To change the logging settings add the various CYCLE_TIME Target Modifiers under the declared TARGET name in your plugin.txt. ","version":"Next","tagName":"h3"},{"title":"text_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#text_logs","content":" The text_logs folder contains openc3_log_messages which contains text files that are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked. These log messages files are long term records of the messages in the CmdTlmServer Log Messages window: ","version":"Next","tagName":"h3"},{"title":"tool_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#tool_logs","content":" The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file. ","version":"Next","tagName":"h3"},{"title":"Requirements and Design","type":0,"sectionRef":"#","url":"/docs/getting-started/requirements","content":"","keywords":"","version":"Next"},{"title":"Terminology​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#terminology","content":" The COSMOS system uses several terms that are important to understand. The following table defines these terms. Term\tDefinitionTarget\tA COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from. Command\tA packet of information telling a target to perform an action of some sort. Telemetry Packet\tA packet of information providing status from a target. Interface\tA Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system. Ruby\tThe powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures. Configuration Files\tCOSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable. Packet Log Files\tBinary files containing either logged commands or telemetry packets. Message Log Files\tText files containing messages generated by the system. Tool\tAnother name for a COSMOS application. ","version":"Next","tagName":"h2"},{"title":"Overall Architecture and Context Diagram​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-architecture-and-context-diagram","content":" The following diagram shows the COSMOS 5 architecture. Key aspects of this architecture: COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. COSMOS can connect to many different kinds of targets. The examples include things like Flight software (FSW), Ground Support Equipment (GSE), Labview, and COTS targets such as an Agilent power supply. Any embedded system that provides a communication interface can be connected to COSMOS.COSMOS ships with interfaces for connecting over TCP/IP, UDP, MQTT, and serial connections. This covers most systems, but custom interfaces can also be written to connect to anything.All realtime communication with targets flows through the COSMOS system. This ensures all commands and telemetry are logged.Every tool is configured with plain text configuration files.Program specific tools can be written using the COSMOS libraries that can interact with the realtime command and telemetry streams and can process logged data. ","version":"Next","tagName":"h2"},{"title":"Overall Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-requirements","content":" Reqt. ID\tDescription\tTest DescriptionCOSMOS-1\tAll COSMOS core functionality shall be containerized.\tVerify COSMOS is running in Docker COSMOS-2\tThe COSMOS user interface shall be accessible from Chromium based web browsers\tOpen COSMOS in Chrome/Edge COSMOS-3\tThe COSMOS user interface shall be accessible from the Firefox web browser\tOpen COSMOS in Firefox COSMOS-4\tCOSMOS shall log all commands sent COSMOS-5\tCOSMOS shall log all telemetry received COSMOS-6\tCOSMOS shall decommutate all telemetry packets received COSMOS-7\tCOSMOS shall support autonomously attempting to connect to targets.\tVerify targets are connected upon starting the CTS. COSMOS-8\tCOSMOS shall time stamp telemetry packets upon receipt.\tVerify logged packets are timestamped. COSMOS-9\tCOSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed.\tView time stamps in log. COSMOS-10\tCOSMOS shall time stamp received telemetry with a UTC timestamp.\tVerify logged time stamps are as expected. COSMOS-11\tCOSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered.\tView COSMOS message log. ","version":"Next","tagName":"h2"},{"title":"Api Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#api-requirements","content":" Reqt. ID\tDescription\tTest DescriptionAPI-1\tThe COSMOS API shall allow scripted connection and disconnection of interfaces.\tDisconnect and connect an interface from a script. API-2\tThe COSMOS API shall allow scripted connection and disconnection of routers.\tDisconnect and connect a router from a script. API-3\tThe COSMOS API shall allow scripted setting of the current limits set.\tSelect a different limits set from a script. API-4\tThe COSMOS API shall allow commanding of targets\tSend a command API-5\tThe COSMOS API shall allow reading the current value of any telemetry item\tRead a telemetry point API-6\tThe COSMOS API shall allow streaming realtime and logged telemetry packets\tStream telemetry packets API-7\tThe COSMOS API shall allow streaming realtime and logged command packets\tStream command packets API-8\tThe COSMOS API shall allow starting COSMOS scripts\tStart a script using the API ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-and-telemetry-server","content":" The Command and Telemetry server provides status on the the overall COSMOS installation for a specific scope. Reqt. ID\tDescription\tTest DescriptionCTS-1\tThe Command and Telemetry Server shall display a list of all interfaces.\tView the Interfaces tab. CTS-2\tThe Command and Telemetry Server shall allow manual connection and disconnection of interfaces.\tPress a GUI button to disconnect and connect an interface. CTS-3\tThe Command and Telemetry Server shall display a list of all targets.\tView the Targets tab. CTS-4\tThe Command and Telemetry Server shall display a list of known commands.\tView the Cmd Packets tab. CTS-5\tThe Command and Telemetry Server shall display raw command data for the most recent command received.\tView the Cmd Packets tab and click the View Raw button for a command. CTS-6\tThe Command and Telemetry Server shall display a list of known telemetry packets.\tView the Tlm Packets tab. CTS-7\tThe Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received.\tView the Tlm Packets tab and click the View Raw button for a telemetry packet. CTS-8\tThe Command and Telemetry Server shall display a list of all routers.\tView the Routers tab. CTS-9\tThe Command and Telemetry Server shall allow manual connection and disconnection of routers.\tPress a GUI button to disconnect and connect a router. CTS-10\tThe Command and Telemetry Server shall allow manually setting the current limits set.\tSelect a different limits set from the combobox. CTS-11\tThe Command and Telemetry Server shall support opening telemetry packets in Packet Viewer.\tOn the Tlm Packets tab click View in Packet Viewer for a telemetry packet. CTS-12\tThe Command and Telemetry Server shall display time stamps in local time.\tView time stamps in log. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#limits-monitor","content":" Limits Monitor displays all telemetry points that are currently out of limits and also shows any telemetry points that have gone out of limits since Limits Monitor was started. Reqt. ID\tDescription\tTest DescriptionLM-1\tLimits Monitor shall display all telemetry points currently out of limits.\tView displayed telemetry points. LM-2\tLimits Monitor shall support ignoring telemetry points.\tClick ignore on a telemetry point. LM-3\tLimits Monitor shall keep a displayed log of limits violations.\tView the log tab. LM-4\tLimits Monitor shall continue displaying a telemetry point that temporarily went out of limits.\tWatch until a telemetry points returns to green. LM-5\tLimits Monitor shall support saving its configuration.\tSave the configuration. LM-6\tLimits Monitor shall support loading its configuration.\tLoad the configuration. ","version":"Next","tagName":"h2"},{"title":"Command Sender​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-sender","content":" Command Sender provides an easy method to send single commands to targets. The graphical user interface provides simple dropdowns to quickly select the desired command to send organized by target name and command name. After the user has selected the command, they then fill in the desired command parameters and click send to send the command to the target. Reqt. ID\tDescription\tTest DescriptionCMD-1\tCommand Sender shall allow selection of a command by target name and packet name.\tSelect a specific command by target name and packet name in the drop down menus. CMD-2\tCommand Sender shall allow sending the selected command.\tSend the selected command by pressing the Send button. CMD-3\tCommand Sender shall display non-ignored parameters for the selected command.\tSelect a specific command and verify the expected parameters are shown. CMD-4\tCommand Sender shall provide a mechanism to select state values for command parameters with states.\tSelect a specific state value for a specific command with states. CMD-5\tCommand Sender shall allow sending a manually entered value for a command parameter with states.\tManually enter a value for a specific command with states. CMD-6\tCommand Sender shall refuse to send commands if required parameters are not provided.\tAttempt to send a command with a required parameter not filled out. CMD-7\tCommand Sender shall support sending commands while ignoring range checking.\tEnter Ignore Range Checking mode and then send a command with an out of range parameter. CMD-8\tCommand Sender shall optionally display state values in hex.\tEnter "Display State Values in Hex" mode and verify state values are displayed as hex. CMD-9\tCommand Sender shall optionally display ignored command parameters.\tEnter "Show Ignored Parameters" mode and verify ignored parameters are displayed. CMD-10\tCommand Sender shall respect hazardous commands and notify the user before proceeding.\tSend a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send. CMD-11\tCommand Sender shall keep a command history of each command sent.\tSend a command and verify that it shows up in the command history box. CMD-12\tCommand Sender shall allow resending of any command in the command history.\tResend one of the commands in the command history box. ","version":"Next","tagName":"h2"},{"title":"Script Runner​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#script-runner","content":" Script Runner provides a visual interface for editing and executing scripts/procedures. A full featured text editor provides syntax highlighting and code completion while developing scripts. During script execution, the currently executing line is highlighted and any logged messages are highlighted to the user. If any failure occurs, the script is paused and the user alerted. The user can then decide whether to stop the script, or ignore the failure and continue. The user can also retry the failed lines, or other nearby lines before proceeding. Script Runner now also provides a structured methodology for designing system level scripting that mirrors the very successful pattern used in software unit tests (previously implemented in the Test Runner tool). System level tests/procedures are built up of cases that are organized into groups. For example, you might have one group that verified all of the requirements associated with a particular mechanism. Ideally you would break this down into individual cases for different scenarios. One perhaps for opening a shutter, another for closing it, etc. Cases are ideally small and independent tasks. A number of these groups are then combined into an overall suite which would be run to execute a major test such as EMI, or software FQT. Reqt. ID\tDescription\tTest DescriptionSR-1\tScript Runner shall provide a text editor for developing test scripts.\tOpen Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines. SR-2\tScript Runner shall provide search and replace functionality.\tPerform all standard search and replace functionality, including search, replace, find next, and find previous. SR-3\tScript Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported.\tCreate a script and exercise code completion on the mentioned keywords. SR-4\tScript Runner shall execute Ruby-based COSMOS scripts.\tPress start and execute a script. SR-5\tScript Runner shall highlight the currently executing line of the script.\tVerify that lines are highlighted as a test script executes. SR-6\tScript Runner shall allow pausing an executing script.\tPress pause button and verify script is paused. Press start to resume. SR-7\tScript Runner shall allow stopping an executing script.\tPress stop and verify script stops. SR-8\tScript Runner shall pause an executing script upon the occurrence of an error.\tCreate a script with a statement that is guaranteed to fail and verify that the script is paused. SR-9\tScript Runner shall log commands sent.\tExecute a script that sends a command and verify it is logged. SR-10\tScript Runner shall log text written to STDOUT. Note: Typically through the puts method.\tExecute a script that uses puts to write a message and verify it is logged. SR-11\tScript Runner shall log wait times.\tExecute a script that includes a wait method and verify wait time is logged. SR-12\tScript Runner shall log errors that occur while the script is executing.\tCreate a script with a check statement that is guaranteed to fail and verify it is logged. SR-13\tScript Runner shall log check statement success and failure.\tCreate a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged. SR-14\tScript Runner shall support executing selected lines.\tSelect a set of lines and execute them using Script->Execute Selected Lines. SR-15\tScript Runner shall support executing selected lines while paused.\tSelect a set of lines and execute them from the right-click context menu. SR-16\tScript Runner shall support starting a script from any line.\tPlace the mouse cursor at the desired first line and then select Script->Execute From Cursor. SR-17\tScript Runner shall support a mnemonic checking function.\tSelect Script->Mnemonic Check. SR-18\tScript Runner shall support a syntax checking function.\tSelect Script->Ruby Syntax Check. SR-19\tScript Runner shall support viewing the script instrumentation.\tSelect Script->View Instrumented Script. SR-20\tScript Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server.\tSelect Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion. SR-21\tScript Runner shall support a Debug terminal to aid in debugging scripts.\tSelect Script->Toggle Debug. SR-22\tScript Runner shall support a step mode where the script will stop and wait for use interaction after each line.\tPress Step to progress through the script. SR-23\tScript Runner shall support breakpoint functionality.\tCreate a breakpoint then execute the script and verify it stops at the specified line. SR-25\tScript Runner Suite Mode shall support executing individual test suites.\tExecute an individual test suite. SR-26\tScript Runner Suite Mode shall support executing individual test groups.\tExecute an individual test group. SR-27\tScript Runner Suite Mode shall support executing individual test cases.\tExecute an individual test case. SR-28\tScript Runner Suite Mode shall support executing test group setup and teardown methods individually.\tExecute a test group setup. Execute a test group teardown. SR-29\tScript Runner Suite Mode shall support executing test suite setup and teardown methods individually.\tExecute a test suite setup. Execute a test suite teardown. SR-30\tScript Runner Suite Mode shall create a report after executing any suite test.\tVerify a report is generated after executing a suite. SR-31\tScript Runner Suite Mode shall support pausing when an error occurs.\tExecute a test script with the pause on error box checked and without. SR-32\tScript Runner Suite Mode shall support allowing the user to proceed on an error.\tExecute a test script with the Allow go/retry on error box checked and without. SR-33\tScript Runner Suite Mode shall support aborting execution on an error.\tExecute a test script with the abort on error box checked and without. SR-34\tScript Runner Suite Mode shall support looping a test.\tExecute a test script with the loop testing box checked and without. SR-35\tScript Runner Suite Mode shall support breaking the looping of a test on error.\tExecute a test script with the break loop on error box checked and without. SR-36\tScript Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring.\tExecute a test script that checks the $loop_testing variable while looping and again while not looping. SR-37\tScript Runner Suite Mode shall support a user readable flag indicating manual operations are desired.\tExecute a test script with the manual box checked and without. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#packet-viewer","content":" Packet Viewer provides a simple tool to view the realtime contents of any telemetry packet defined in the system in a tabular, key-value format. Reqt. ID\tDescription\tTest DescriptionPV-1\tPacket Viewer shall allow selection of a telemetry packet by target name and packet name.\tSelect a specific telemetry packet by target name and packet name in the drop down menus. PV-2\tPacket Viewer shall display the contents of the selected telemetry packet.\tEnsure all items of the selected telemetry packet are displayed and updating. PV-3\tPacket Viewer shall provide a mechanism to get detailed information on a telemetry item.\tRight click on a telemetry item and select "Details" from the context menu. PV-4\tPacket Viewer shall provide a mechanism to view a graph of any telemetry item.\tRight click on a telemetry item and select "Graph" from the context menu. PV-5\tPacket Viewer shall color telemetry values based upon limits state.\tView a packet with items containing limits and verify they are colored. PV-6\tPacket Viewer shall support a configurable polling rate.\tSelect File->Options and change the polling rate. PV-7\tPacket Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind.\tSelect View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color. PV-8\tPacket Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)\tIn the View menu, select each of the four value types and verify values are displayed accordingly. ","version":"Next","tagName":"h2"},{"title":"Telemetry Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-viewer","content":" Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways. Reqt. ID\tDescription\tTest DescriptionTV-1\tTelemetry Viewer shall display user-defined telemetry screens.\tOpen a telemetry TV-2\tTelemetry Viewer shall display realtime data.\tVerify telemetry screens show realtime data. TV-3\tTelemetry Viewer shall support saving open telemetry screens and their positions.\tOpen three telemetry screens and then select File->Save Configuration. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-grapher","content":" Telemetry Grapher performs graphing of telemetry points in both realtime and log file playback. Reqt. ID\tDescription\tTest DescriptionTG-1\tTelemetry Grapher shall provide line graphs of telemetry points.\tAdd several housekeeping data objects to a plot. TG-2\tTelemetry Grapher shall support realtime graphing of telemetry.\tPress Start to start realtime graphing. TG-3\tTelemetry Grapher shall support graphing data from logged telemetry.\tSelect the menu option to graph data from a logged data TG-4\tTelemetry Grapher shall support multiple plots per browser tab.\tAdd multiple plots. TG-5\tTelemetry Grapher shall support multiple telemetry points per plot.\tAdd multiple data objects to one plot. TG-6\tTelemetry Grapher shall support saving a variable number of data points.\tEdit Points Saved. TG-7\tTelemetry Grapher shall support graphing a variable duration of time.\tEdit Seconds Plotted. TG-8\tTelemetry Grapher shall support graphing a variable number of data points.\tEdit Points Plotted. TG-9\tTelemetry Grapher shall support saving its configuration.\tSave the current configuration. TG-10\tTelemetry Grapher shall support loading its configuration.\tLoad the previously saved configuration. ","version":"Next","tagName":"h2"},{"title":"Data Extractor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-extractor","content":" Data Extractor processes logged data and extracts data into a CSV format for analysis in Excel or other tools. Reqt. ID\tDescription\tTest DescriptionDE-1\tData Extractor shall support adding individual telemetry points.\tAdd an individual telemetry point. DE-2\tData Extractor shall support adding entire telemetry packets.\tAdd an entire packet. DE-3\tData Extractor shall support adding entire telemetry targets.\tAdd all packets for a target. DE-4\tData Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)\tClick an item and change the value type. DE-5\tData Extractor shall support saving configurations.\tSelect File->Save Config DE-6\tData Extractor shall support loading configurations.\tSelect File->Load Config DE-7\tData Extractor shall support deleting items\tSelect an Item and press delete ","version":"Next","tagName":"h2"},{"title":"Data Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-viewer","content":" Data Viewer provides for textual display of telemetry packets where other display methods are not a good fit. It is especially useful for memory dumps and for log message type data display. Reqt. ID\tDescription\tTest DescriptionDV-1\tData Viewer shall support realtime processing of telemetry packets.\tPress Start to start realtime processing. DV-2\tData Viewer shall support logged playback of telemetry packets.\tSelect a time range to playback. DV-3\tData Viewer shall support textual display of telemetry packets.\tView the display of data. DV-4\tData Viewer shall support multiple tabs for data display.\tSwitch between several tabs of data. DV-5\tData Viewer shall support deleting tabs.\tDelete a tab. ","version":"Next","tagName":"h2"},{"title":"Calendar​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#calendar","content":" The Calendar tool provides a user interface and API for initiating scheduled actions in COSMOS Reqt. ID\tDescription\tTest DescriptionTL-1\tCalendar shall allow creating new timelines\tClick the button and create a new timeline TL-2\tCalendar shall allow scheduling commands for future execection\tAdd a command to a timeline TL-3\tCalendar shall allow scheduling scripts for future execution\tAdd a script to a timeline TL-4\tCalendar shall allow for reserving a resource\tAdd a reservation to a timeline TL-5\tCalendar shall track success or failure of commands\tLook at status from a completed command TL-6\tCalendar shall track success or failure of scripts\tLook at status from a completed script TL-7\tCalendar shall allow deleting activities from timelines\tDelete a preexisting item from a timeline TL-8\tCalendar shall allow deleting timelines\tDelete a timeline ","version":"Next","tagName":"h2"},{"title":"Admin​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#admin","content":" The Admin tool provides administrative functionality including managing plugins for the COSMOS system Reqt. ID\tDescription\tTest DescriptionAD-1\tThe Admin Tool shall allow installing plugins\tUpload and Install a Plugin AD-2\tThe Admin Tool shall support upgrading plugins\tUpgrade an installed plugin AD-3\tThe Admin Tool shall support uninstalling plugins\tUninstall a plugin AD-4\tThe Admin Tool shall display information on installed plugins\tView info on Interfaces, Microservices, etc AD-5\tThe Admin Tool shall support editing microservices\tEdit the settings for a microservice AD-6\tThe Admin Tool shall support discovery of plugins\tDiscover and download a plugin AD-7\tThe Admin Tool shall support adding links to external tools\tAdd a link to Google AD-8\tThe Admin Tool shall support reordering tools\tReorder tools on the tools tab AD-9\tThe Admin Tool shall support configuring a classification bar\tAdd a classification bar on the settings tab ","version":"Next","tagName":"h2"},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/getting-started/gettingstarted","content":"","keywords":"","version":"Next"},{"title":"Interfacing with Your Hardware​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#interfacing-with-your-hardware","content":" Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it! Install and Platform This guide assumes we're on Windows and COSMOS is installed in C:\\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory. Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces. If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (Markdown) to describe your program / project. Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure. Python vs Ruby Each CLI command requires the use of --python or --ruby unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'. C:\\openc3-project> openc3.bat cli generate plugin BOB --python Plugin openc3-cosmos-bob successfully generated! This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the Plugin Generator page. Run as the Root user The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively docker run --user=root ) by running cliroot instead of cli in any of the examples. Starting with COSMOS v5.5.0, the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target. C:\\openc3-project> cd openc3-cosmos-bob openc3-cosmos-bob> openc3.bat cli generate target BOB --python Target BOB successfully generated! Generators There are a number of generators available. Run openc3.bat cli generate to see all the available options. The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt: COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" What does this all mean? We created a COMMAND for target BOB named EXAMPLE.The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don't have to worry about defining the bit offset into the packet.First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".Next we APPEND_PARAMETER a parameter called VALUE that is a 32-bit float (FLOAT) that has a minimum value of 0, a maximum value of 10.5, and a default value of 2.5.Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1.Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of "OpenC3". Strings don't have minimum or maximum values as that doesn't make sense for STRING types. Check out the full Command documentation for more. Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt: TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don't match).Next we define three items similar to the command definition above. Check out the full Telemetry documentation for more. COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ID_PARAMETER and ID_ITEM so your packets can be distinguished from each other. Now we need to tell COSMOS how to connect to our BOB target. Open the openc3-cosmos-bob/plugin.txt file: # Set VARIABLEs here to allow variation in your plugin # See [Plugins](../configuration/plugins) for more information VARIABLE bob_target_name BOB # Modify this according to your actual target connection # See [Interfaces](../configuration/interfaces) for more information TARGET BOB <%= bob_target_name %> INTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST MAP_TARGET <%= bob_target_name %> This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name.The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS BURST protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the Interface Guide. The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface. Variables Support Reusability In a plugin that you plan to reuse you should make things like hostnames and ports variables ","version":"Next","tagName":"h2"},{"title":"Building Your Plugin​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#building-your-plugin","content":" Now we need to build our plugin and upload it to COSMOS. openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.0 File: openc3-cosmos-bob-1.0.0.gem Note that the VERSION is required to specify the version to build. We recommend semantic versioning when building your plugin so people using your plugin (including you) know when there are breaking changes. Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on "Click to install plugin" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target. Let's modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value". COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number: openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.1 File: openc3-cosmos-bob-1.0.1.gem Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don't change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin! At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our Github Issues page. If you would like to enquire about support contracts or professional COSMOS development please contact us at support@openc3.com. ","version":"Next","tagName":"h2"},{"title":"Monitoring","type":0,"sectionRef":"#","url":"/docs/guides/monitoring","content":"","keywords":"","version":"Next"},{"title":"Monitoring and observability​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#monitoring-and-observability","content":" With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about Monitoring Distributed Systems ","version":"Next","tagName":"h3"},{"title":"Fluent/Fluentd​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#fluentfluentd","content":" Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. Notes​ in_docker.conf <source> @type forward port 24224 bind 0.0.0.0 </source> <match *.metric> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix metric logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *__openc3.log> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix openc3 logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *.**> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix fluentd logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> Dockerfile FROM fluent/fluentd:v1.10.3-1.0 COPY ./in_docker.conf /fluentd/etc/fluent.conf USER root RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \\ && gem install fluent-plugin-prometheus --no-document --version 1.8.5 USER fluent ","version":"Next","tagName":"h3"},{"title":"OpenDistro​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#opendistro","content":" Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts. Docker Notes​ When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file. Dockerfile FROM amazon/opendistro-for-elasticsearch:1.12.0 RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security ","version":"Next","tagName":"h3"},{"title":"Prometheus​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#prometheus","content":" Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data. Notes​ prometheus.yaml global: scrape_interval: 15s evaluation_interval: 15s rule_files: # - "first.rules" # - "second.rules" scrape_configs: - job_name: prometheus static_configs: - targets: ["localhost:9090"] - job_name: openc3-internal-metrics metrics_path: "/openc3-api/internal/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-cmd-tlm-api metrics_path: "/openc3-api/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-script-runner-api metrics_path: "/script-api/metrics" static_configs: - targets: ["openc3-script-runner-api:2902"] - job_name: minio-job metrics_path: /minio/v2/metrics/cluster scheme: http static_configs: - targets: ['openc3-minio:9000'] Dockerfile FROM prom/prometheus:v2.24.1 ADD prometheus.yaml /etc/prometheus/ ","version":"Next","tagName":"h3"},{"title":"Grafana​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#grafana","content":" Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources. Notes​ datasource.yaml apiVersion: 1 datasources: - name: Prometheus type: prometheus # Access mode - proxy (server in the UI) or direct (browser in the UI). access: proxy url: http://openc3-prometheus:9090 Dockerfile FROM grafana/grafana COPY datasource.yaml /etc/grafana/provisioning/datasources/ ","version":"Next","tagName":"h3"},{"title":"COSMOS Hardware Requirements","type":0,"sectionRef":"#","url":"/docs/guides/performance","content":"","keywords":"","version":"Next"},{"title":"Memory​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#memory","content":" COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM). Base RAM MB Calculator = 800 + (num targets) * 300 In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to docker stats. Installing the COSMOS LoadSim with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB. ","version":"Next","tagName":"h2"},{"title":"CPU​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#cpu","content":" Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling. The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with htop to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur. ","version":"Next","tagName":"h2"},{"title":"Performance Comparison​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#performance-comparison","content":" Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per Docker. COSMOS 5.9.1 Enterprise Edition was installed on both Windows 11 Pro 1 and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using htop: Platform\tCore CPU %\tRAMWindows 11 Pro\t12% 12% 10% 10%\t3.9G / 7.7G Headless Ubuntu 22\t7% 7% 8% 6%\t3.2G / 15.6G Windows was only allocated 8 GB of RAM due to the .wslconfig settings.Since Ubuntu was running headless, the screens and graphs were brought up on another machine. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.16%\t1.32%\t43.54MiB\t51.38MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t10.16%\t6.14%\t401.6MiB\t392MiB cosmos-enterprise-project-openc3-keycloak-1\t0.17%\t0.13%\t476.8MiB\t476.8MiB cosmos-enterprise-project-openc3-operator-1\t21.27%\t13.91%\t1.214GiB\t1.207GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t127.4MiB\t117.1MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.00%\t105.2MiB\t83.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t4.05%\t1.89%\t46.22MiB\t69.84MiB cosmos-enterprise-project-openc3-redis-1\t1.56%\t0.72%\t12.82MiB\t9.484MiB cosmos-enterprise-project-openc3-minio-1\t0.01%\t0.00%\t152.9MiB\t169.8MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.39%\t37.33MiB\t41.02MiB memory profiles are similar between the two platformsredis-ephemeral isn't using much memory on the base Demo with its small packets At this point the COSMOS LoadSim was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated: Platform\tCore CPU %\tRAMWindows 11 Pro\t40% 35% 39% 42%\t4.64G / 7.7G Headless Ubuntu 22\t17% 20% 16% 18%\t3.74G / 15.6G The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.09%\t0.01%\t44.3MiB\t0.34MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t17.78%\t6.18%\t407.9MiB\t405.8MiB cosmos-enterprise-project-openc3-keycloak-1\t0.20%\t0.12%\t480.2MiB\t481.5MiB cosmos-enterprise-project-openc3-operator-1\t221.15%\t66.72%\t1.6GiB\t1.512GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t136.6MiB\t127.5MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.01%\t106.3MiB\t84.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t19.63%\t3.91%\t333.8MiB\t370.8MiB cosmos-enterprise-project-openc3-redis-1\t7.42%\t1.49%\t15.87MiB\t11.81MiB cosmos-enterprise-project-openc3-minio-1\t0.10%\t0.02%\t167.8MiB\t179.2MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.00%\t35.4MiB\t42.93MiB memory profiles are similar between the two platformsredis-ephemeral is now using much more RAM as it is storing the large LoadSim packetsWindows is using much more CPU power running the operator, cmd-tlm, and redis Conclusions While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use docker stats and htop to judge the CPU and memory pressure on the given hardware. COSMOS Enterprise Edition on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out this recent talk Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS. Footnotes​ Full specs of the Windows Platform: Windows 11 Pro Docker Desktop 4.22.0 WSL version: 1.2.5.0 Kernel version: 5.15.90.1 WSLg version: 1.0.51 MSRDC version: 1.2.3770 Direct3D version: 1.608.2-61064218 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22621.2134 ↩ ","version":"Next","tagName":"h2"},{"title":"COSMOS and NASA cFS","type":0,"sectionRef":"#","url":"/docs/guides/cfs","content":"","keywords":"","version":"Next"},{"title":"Working configuration​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#working-configuration","content":" This tutorial has been tested using the following components: COSMOS v5 release 5.0.6cFS master-branch commit: 561b128 (June 1, 2022)Docker Desktop 4.9.0 on Windows Replace all <xxxxxx> with your matching paths and names. Example: <USERNAME>. ","version":"Next","tagName":"h2"},{"title":"Setting up COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cosmos","content":" Install COSMOS according to the official installation instructions. ","version":"Next","tagName":"h2"},{"title":"Configuring COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#configuring-cosmos","content":" Change the Docker configuration for the interoperability with NASA cFS. For subscribing to the telemetry, you have to append a port binding in the filecompose.yaml under the section openc3-operator. The port number has to match with the port number cFS is sending the telemetry on. openc3-operator: ports: - "1235:1235/udp" Run COSMOS, the first run takes a while (~15 min). openc3.sh start When started, connect with a browser to http://localhost:2900. For shutting down COSMOS: openc3.sh stop ","version":"Next","tagName":"h3"},{"title":"Setting up cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cfs","content":" To run NASA cFS as a Docker container do the following: ","version":"Next","tagName":"h2"},{"title":"Clone cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#clone-cfs","content":" git clone --recurse-submodules https://github.com/nasa/cFS.git ","version":"Next","tagName":"h3"},{"title":"Create Dockerfile in cFS dir​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#create-dockerfile-in-cfs-dir","content":" FROM ubuntu:22.10 AS builder ARG DEBIAN_FRONTEND=noninteractive ARG SIMULATION=native ENV SIMULATION=${SIMULATION} ARG BUILDTYPE=debug ENV BUILDTYPE=${BUILDTYPE} ARG OMIT_DEPRECATED=true ENV OMIT_DEPRECATED=${OMIT_DEPRECATED} RUN \\ apt-get update && \\ apt-get -y upgrade && \\ apt-get install -y build-essential git cmake && \\ rm -rf /var/lib/apt/lists/* WORKDIR /cFS COPY . . RUN git submodule init \\ && git submodule update \\ && cp cfe/cmake/Makefile.sample Makefile \\ && cp -r cfe/cmake/sample_defs . RUN make prep RUN make RUN make install FROM ubuntu:22.10 COPY --from=builder /cFS/build /cFS/build WORKDIR /cFS/build/exe/cpu1 ENTRYPOINT [ "./core-cpu1" ] ","version":"Next","tagName":"h3"},{"title":"Build and run cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#build-and-run-cfs","content":" Note we're connecting to the COSMOS network (docker network ls) and exposing the cFS ports. docker build -t cfs . docker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs ","version":"Next","tagName":"h3"},{"title":"Creating a COSMOS plugin for TM/TC interface with cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-a-cosmos-plugin-for-tmtc-interface-with-cfs","content":" The detailed instructions how to create a plugin, can be foundhere, in the chapter "Interfacing with Your Hardware". Create a new plugin with the name CFS. CFS is the name of the plugin and must be in capital letters according to the COSMOS documentation. This command should create the plugin structure. Then cd into the plugin to create the target. # cd .. to the location of the cfs dir $PATH_TO_OPENC3/openc3.sh cli generate plugin CFS cd openc3-cosmos-cfs $PATH_TO_OPENC3/openc3.sh cli generate target CFS In this newly created plugin, change the plugin.txt file, so that the communication happens over UDP. port_tm is the port number on which cFS sends the telemetry messages. port_tc indicates the port on which cFS listens to the telecommands. VARIABLE ip 127.0.0.1 VARIABLE port_tm 1235 VARIABLE port_tc 1234 VARIABLE cfs_target_name CFS TARGET CFS <%= cfs_target_name %> # hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address INTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil MAP_TARGET <%= cfs_target_name %> Note that the two arguments to the TARGET parameter are: the physical target name that should match the name of the plugin, i.e. CFS. This name must match the folder name in the targets folder. Example: for theCFS plugin, the target specifications must be underopenc3-cfs/targets/CFS. If you don't follow this convention, the server will refuse to install your plugin at the following steps. the name of your target and how it is shown in the user interface. In this example, we keep both names to be CFS. ","version":"Next","tagName":"h2"},{"title":"Creating TM/TC definitions​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-tmtc-definitions","content":" Change to the target folder and remove the existing files and create own files. cd openc3-cfs/targets/CFS/cmd_tlm rm * touch cfs_cmds.txt touch cfs_tlm.txt touch to_lab_cmds.txt Open these newly created files in a text editor and fill them with following content. to_lab_cmds.txt: COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry" # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet" APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 "" FORMAT_STRING "0x%2X" APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57" Enabling Telemetry The command 0x1880 is needed to enable telemetry. When the cFS receives this command, it starts sending telemetry to the IP address provided via theDEST_IP field. cfs_cmds.txt: COMMAND CFS NOOP BIG_ENDIAN "NOOP Command" # cFS primary header APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" # cFS CMD secondary header APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS RESET BIG_ENDIAN "Reset Counters Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS PROCESS BIG_ENDIAN "Process Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" cfs_tlm.txt: TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry" # NAME BITS TYPE ID DESCRIPTION APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID" FORMAT_STRING "0x%04X" APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence" FORMAT_STRING "0x%04X" APPEND_ITEM PKT_LEN 16 UINT "Length of the packet" # telemetry secondary header APPEND_ITEM SECONDS 32 UINT "" UNITS Seconds sec APPEND_ITEM SUBSECS 16 UINT "" UNITS Milliseconds ms # some bytes not known for what APPEND_ITEM SPARE2ALIGN 32 UINT "Spares" # payload APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter" APPEND_ITEM CMD_CNT 8 UINT "Command Counter" # spare / alignment APPEND_ITEM SPARE 16 UINT "Spares" Build the plugin from the base of your plugin folder: # cd openc3-cfs $PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0 Plugin versioning Do not forget to change the version number with every build if you want to better distinguish between the versions of the plugin. When the version is seen in the plugin's .gem file name, it is easier to visualize the existing versions and the newly uploaded versions. Plugin parameters Multiple parameters are available for the plugin configuration. See the plugin page. ","version":"Next","tagName":"h2"},{"title":"Uploading the plugin​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#uploading-the-plugin","content":" After the plugin has been built, you can import the plugin in the admin area of the page. Connect with a browser tohttp://localhost:2900/tools/admin. Click on the clip icon and navigate to where your plugin is stored and select the openc3-cosmos-cfs-1.0.0.gem file. Right of the selection line click on UPLOAD. Determine the IP address the cFS container and COSMOS operator container are running at: docker network ls NETWORK ID NAME DRIVER SCOPE d842f813f1c7 openc3-cosmos-network bridge local docker network inspect openc3-cosmos-network [ { "Name": "openc3-cosmos-network", ... "Containers": { "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": { "Name": "cfs", "IPv4Address": "172.20.0.9/16", }, "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": { "Name": "openc3_openc3-operator_1", "IPv4Address": "172.20.0.8/16", } } ... } ] When using this plugin, make sure to change the ip variable during uploading to match where cFS is running. In the example above you would set it to 172.20.0.9.port_tm is the port number on which cFS is sending the telemetry messages.port_tc indicates the port on cFS is listening for telecommands. Under cfs_target_name you can change the target name of this plugin. This step is optional as long as you are fine with your plugin showing up as CFS. Port subscription The last uploaded plugin on COSMOS will subscribe to TM on port 1235. Other plugins will not receive any TM anymore. Typo errors Presence of typos in one of the plugin files can cause problems when uploading and installing the plugin's .gem file. Make sure your configuration is typo-free. In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect tohttp://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE. Change the DEST_IP to the IP address of the operator image (172.20.0.8) and send the command. Under http://localhost:2900/tools/cmdtlmserver/tlm-packets, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader. ","version":"Next","tagName":"h2"},{"title":"Upgrading","type":0,"sectionRef":"#","url":"/docs/getting-started/upgrading","content":"","keywords":"","version":"Next"},{"title":"COSMOS Upgrades​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#cosmos-upgrades","content":" COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release. This example assumes an existing COSMOS project at C:\\cosmos-project. Stop the current COSMOS application C:\\cosmos-project> openc3.bat stop Change the release in the .env file to the desired release OPENC3_TAG=5.1.1 Run the new COSMOS application C:\\cosmos-project> openc3.bat run Downgrades Downgrades are not necessarily supported. When upgrading COSMOS we need to upgrade databases and sometimes migrate internal data structures. While we perform a full regression test on every release, we recommend upgrading an individual machine with your specific plugins and do local testing before rolling out the upgrade to your production system. In general, patch releases (x.y.Z) can be downgraded, minor releases (x.Y.z) might be able to be downgraded and major releases (X.y.z) are NOT able to be downgraded. ","version":"Next","tagName":"h3"},{"title":"Migrating From COSMOS 4 to COSMOS 5​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#migrating-from-cosmos-4-to-cosmos-5","content":" COSMOS 5 is a new architecture and treats targets as independent plugins. Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment. COSMOS 5 includes a migration tool for converting an existing COSMOS 4 configuration into a COSMOS 5 plugin. This example assumes an existing COSMOS 4 configuration at C:\\COSMOS and a new COSMOS 5 installation at C:\\cosmos-project. Linux users can adjust paths and change from .bat to .sh to follow along. Change to the existing COSMOS 4 configuration directory. You should see the config, lib, procedures, outputs directory. You can then run the migration tool by specifying the absolute path to the COSMOS 5 installation. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate -a demo This creates a new COSMOS 5 plugin called openc3-cosmos-demo with a target named DEMO containing the existing lib and procedures files as well as all the existing targets. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate demo-part INST This would create a new COSMOS 5 plugin called openc3-cosmos-demo-part with a target named DEMO_PART containing the existing lib and procedures files as well as the INST target (but no others). Open the new COSMOS 5 plugin and ensure the plugin.txt file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually. Follow the building your plugin part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5. ","version":"Next","tagName":"h3"},{"title":"Contributing","type":0,"sectionRef":"#","url":"/docs/meta/contributing","content":"","keywords":"","version":"Next"},{"title":"Test Dependencies​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#test-dependencies","content":" To run the test suite and build the gem you'll need to install COSMOS's dependencies. COSMOS uses Bundler, so a quick run of the bundle command and you're all set! \\$ bundle Before you start, run the tests and make sure that they pass (to confirm your environment is configured properly): \\$ bundle exec rake build spec ","version":"Next","tagName":"h2"},{"title":"Workflow​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#workflow","content":" Here's the most direct way to get your work merged into the project: Fork the project.Clone down your fork: git clone git://github.com/<username>/openc3.git Create a topic branch to contain your change: git checkout -b my_awesome_feature Hack away, add tests. Not necessarily in that order.Make sure everything still passes by running bundle exec rake.If necessary, rebase your commits into logical chunks, without errors.Push the branch up: git push origin my_awesome_feature Create a pull request against openc3/cosmos:main and describe what your change does and the why you think it should be merged. Find a problem in the code or documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h2"},{"title":"Philosophy","type":0,"sectionRef":"#","url":"/docs/meta/philosophy","content":"Philosophy COSMOS is a C3 (Command, Control and Communication) system with the following primary goals: Interface with Anything COSMOS should be able to communicate with anything that provides a computer-to-computer interface, regardless of what the interface is. This means that COSMOS adapts to what other systems are doing and evolves over time. It does not publish an API that hardware must adhere to if it wants to communicate with COSMOS. Log Everything All data that flows into and out of COSMOS is logged. This provides history as well as attribution for what happened when and why. Keeping accurate logs is an essential and critical aspect of COSMOS. Open Architecture and Source Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation. Be Modular There are infinite number of things for COSMOS to connect to, but it is impossible to ship COSMOS with all the code it would need to talk to everything. For this reason, COSMOS is designed to be modular in all the places that matter. Use Configuration when Possible, and Code When Logic Is Needed Configuration is great for making COSMOS as usable as possible by non-software engineers. It also shows where common patterns exist. However, configuration is horrible when logic or custom math are needed. Empower Developers COSMOS is meant to be easy enough to be used by everyone, not just C2 software experts.","keywords":"","version":"Next"},{"title":"Licenses","type":0,"sectionRef":"#","url":"/docs/meta/licenses","content":"","keywords":"","version":"Next"},{"title":"AGPLv3​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#agplv3","content":" This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: OpenC3 AGPLv3 Obviously, the actual license text applies, but here is a short summary: The AGPL allows users to use the code however they want: For business, personal, etc., as long as they follow the other terms: Users are anyone who could access the web-app. On the public internet, that is the whole world. On a private network, it is anyone with access to that network. The software is provided as-is, no warranty Users must be given access to all the source code and are also allowed to use it however they want under the same terms of the AGPLv3. This includes any modifications made, anything added, and all plugins. For web applications (like COSMOS), a link must be provided to all of the source code. There are some key implications of the above: You cannot keep anything proprietary from your users. They have the rights to take the code (and configuration) and do anything they want with it. You CANNOT impede these rights or you are violating the AGPLv3 and YOU lose the rights to use our software. You must provide a digital link to all source code for your users, including plugins. All plugins must be licensed in an AGPLv3 compatible fashion. We recommend the MIT license because that allows your plugins to be compatible with the AGPLv3 and our commercial license. You can also use a dual license similar to what we do indicating the AGPLv3 or a purchased OpenC3 Commercial license. The AGPLv3 license is often chosen because it works well for open core products like COSMOS. Competitors cannot take the open source product and license it under different terms. They would be forever locked into the AGPLv3 which is difficult to monetize, because your customers can take any code you provide and publish it on the internet for free use by everyone. As the copyright holder, OpenC3 is able to license the product and derivatives commercially. No-one else can do this. (OpenC3 is also able to license legacy Ball Aerospace COSMOS code under IP agreement) ","version":"Next","tagName":"h2"},{"title":"Evaluation and Education Use Only​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#evaluation-and-education-use-only","content":" This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: CFDP Plugin You can read the whole license here: # OpenC3 Evaluation and Educational License # # Copyright 2023 OpenC3, Inc. # # This work is licensed for evaluation and educational purposes only. # It may NOT be used for formal development, integration and test, operations # or any other commercial purpose without the purchase of a commercial license # from OpenC3, Inc. # # The above copyright notice and this permission notice shall be included in all copies # or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license. ","version":"Next","tagName":"h2"},{"title":"Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#commercial-license","content":" This license is a signed contract with OpenC3. It allows use of our code for a program under contractual terms where you do not have to follow the AGPLv3. Generally we license to a specific project with terms that allow for unlimited users, and installs as needed by that project. Any code and plugins that you develop under the commercial license can be kept proprietary. These licenses are sold as yearly subscriptions, or as a non-expiring perpetual license. We also offer site licenses, and licenses to support unlimited missions on a government framework architecture. Of course with our commercial license, you also get all the extra functionality of our Enterprise product. ","version":"Next","tagName":"h2"},{"title":"Why you should buy a Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#why-you-should-buy-a-commercial-license","content":" You want to save years and tens of millions of dollars developing the same functionality yourself. You want all of the Enterprise functionality of COSMOS Enterprise Edition User AccountsRole Based Access ControlLDAP SupportKubernetes SupportCloud Deployment ConfigurationsThe right to use CFDP and other Enterprise Only pluginsGrafana SupportSupport from the COSMOS DevelopersLots more - See our Enterprise page You don't want to follow the AGPLv3 You want to keep the code and plugins you develop proprietaryYou don't want to publish an accessible link to your source code You want to support the continued development and innovation of the COSMOS product We appreciate all of our commercial customers. You make OpenC3 possible. Thank you. ","version":"Next","tagName":"h3"},{"title":"FAQs​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#faqs","content":" I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean? OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3. What are the limits of the COSMOS Enterprise Edition? How many users can we have? How many times can it be installed? The COSMOS Enterprise Edition license has no user or installation limits. How is the COSMOS Enterprise Edition license enforced? The COSMOS Enterprise Edition license is enforced through contract only without license managers or additional software controls. How is the COSMOS Enterprise Edition license applied? Per company? Per program? COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at sales@openc3.com for more information. Do you license to foreign companies? How do you handle ITAR or the EAR? We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at sales@openc3.com for more information. ","version":"Next","tagName":"h2"},{"title":"XTCE Support","type":0,"sectionRef":"#","url":"/docs/meta/xtce","content":"","keywords":"","version":"Next"},{"title":"Running COSMOS using an .xtce definition file​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#running-cosmos-using-an-xtce-definition-file","content":" A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions. ","version":"Next","tagName":"h2"},{"title":"Converting a .xtce file into a COSMOS configuration​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-xtce-file-into-a-cosmos-configuration","content":" Use the following command to convert a .xtce file into COSMOS configuration files. The converted configuration files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --import <xtce_filename> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"Converting a COSMOS Configuration to XTCE​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-cosmos-configuration-to-xtce","content":" Use the following command to convert your openc3 plugin into .xtce files, one per target. The converted .xtce files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --plugin <plugin.gem> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"High-level Overview of Current Support​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#high-level-overview-of-current-support","content":" Integer, Float, Enumerated, String, and Binary Parameter/Argument Types are SupportedAll DataEncodings are supportedTelemetry and Commands are SupportedPacket Identification is supportedStates are supportedUnits are supportedPolynomialCalibrators are supportedOnly one SpaceSystem per .xtce filePackets should not have gaps between items ","version":"Next","tagName":"h2"},{"title":"Supported Elements and Attributes​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#supported-elements-and-attributes","content":" The following elements and associated attributes are currently supported. SpaceSystemTelemetryMetaDataCommandMetaDataParameterTypeSetEnumerationListParameterSetContainerSetEntryListDefaultCalibratorDefaultAlarmRestrictionCriteriaComparisonListMetaCommandSetDefaultCalibratorArgumentTypeSetArgumentListArgumentAssignmentListEnumeratedParameterTypeEnumeratedArgumentTypeIntegerParameterTypeIntegerArgumentTypeFloatParameterTypeFloatArgumentTypeStringParameterTypeStringArgumentTypeBinaryParameterTypeBinaryArgumentTypeIntegerDataEncodingFloatDataEncodingStringDataEncodingBinaryDataEncoding'SizeInBitsFixedValueUnitSetUnitPolynomialCalibratorTermStaticAlarmRangesWarningRangeCriticalRangeValidRangeEnumerationParameterArgumentParameterPropertiesSequenceContainerBaseContainerLongDescriptionParameterRefEntryArgumentRefEntryBaseMetaCommandComparisonMetaCommandBaseMetaCommandCommandContainerArgumentAssignment ","version":"Next","tagName":"h2"},{"title":"Ignored Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#ignored-elements","content":" The following elements are simply ignored by COSMOS: HeaderAliasSetAlias ","version":"Next","tagName":"h2"},{"title":"Unsupported Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#unsupported-elements","content":" Any elements not listed above are currently unsupported. Near term support for the following elements and features are planned and priority will be determined by user requests. SplineCalibratorAlternate methods of specifying offsets into containersOutput to the XUSP standardAdditional Data TypesContainer References If there is a particular element or feature you need supported please submit a ticket on Github. ","version":"Next","tagName":"h2"},{"title":"Streaming API","type":0,"sectionRef":"#","url":"/docs/development/streaming-api","content":"Streaming API This documentation is for COSMOS Developers This information is just generally used behind the scenes in COSMOS tools The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested. This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend. The following interactions are all shown in Javascript, but would be very similar in any language. Connecting to this API begins by initiating an ActionCable connection. cable = ActionCable.createConsumer('/openc3-api/cable') This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple “subscriptions”. A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this: subscription = cable.subscriptions.create( { channel: "StreamingChannel", scope: "DEFAULT", token: token, }, { received: (data) => { // Handle received data }, connected: () => { // First chance to add what you want to stream here }, disconnected: () => { // Handle the subscription being disconnected }, rejected: () => { // Handle the subscription being rejected }, } ); Subscribing to the StreamingApi requires passing a channel name set to “StreamingChannel”, a scope which is typically “DEFAULT”, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are connected and received. connected runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open. Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet. Adding items to stream is done as follows: var items = [ ["DECOM__TLM__INST__ADCS__Q1__RAW", "0"], ["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, items: items, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the item name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<ITEM NAME>__<VALUE TYPE>__<REDUCED TYPE>. Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV. Adding packets to stream is done as follows: var packets = [ ["RAW__TLM__INST__ADCS", "0"], ["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, packets: packets, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the packet name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<VALUE TYPE>. Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS). start_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data. Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator. For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet. [ { "time": 1234657585858, "TLM__INST__ADCS__Q1__RAW": 50.0, "TLM__INST__ADCS__Q2__RAW": 100.0 }, { "time": 1234657585859, "TLM__INST__ADCS__Q1__RAW": 60.0, "TLM__INST__ADCS__Q2__RAW": 110.0 } ] For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data. [ { "time": 1234657585858, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "SkdfjGodkdfjdfoekfsg" }, { "time": 1234657585859, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "3i5n49dmnfg9fl32k3" } ] ","keywords":"","version":"Next"},{"title":"Raspberry Pi","type":0,"sectionRef":"#","url":"/docs/guides/raspberrypi","content":"","keywords":"","version":"Next"},{"title":"COSMOS Running on Raspberry Pi 4​","type":1,"pageTitle":"Raspberry Pi","url":"/docs/guides/raspberrypi#cosmos-running-on-raspberry-pi-4","content":" The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running. What you'll need: Raspberry Pi 4 board (tested with 8GB RAM)A Pi Case but OptionalRaspbeerry Pi Power Supply32GB or Larger SD Card - Also faster the betterA Laptop with a way to write SD Cards Let's get started! Setup 64-bit Raspian OS Lite on the SD Card Make sure you have the Raspberry Pi Imager app from: https://www.raspberrypi.com/software/ Insert the SD Card into your computer (Note this process will erase all data on the SD card!)Open the Raspberry Pi Imager AppClick the "Choose Device" ButtonPick Your Raspberry Pi ModelClick the "Choose OS" ButtonSelect "Raspberry Pi OS (other)"Select "Raspberry Pi OS Lite (64-bit)"Click the "Choose Storage" ButtonSelect Your SD CardClick Edit SettingsIf prompted if you would like to prefill the Wifi information, select OKSet the hostname to: cosmos.localSet the username and password. The default username is your username, you should also set a password to make the system secureFill in your Wifi info, and set the country appropriately (ie. US)Set the correct time zoneGoto the Services Tab and Enable SSHYou can either use Password auth, or public-key only if your computer is already setup for passwordless SSHGoto the Options tab and make sure "Enable Telemetry" is not checkedClick "Save" when everything is filled outClick "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete Make sure the Raspberry Pi is NOT powered on Remove the SD Card from your computer and insert into the Raspberry Pi Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot SSH to your raspberry Pi Open a terminal window and use ssh to connect to your Pi On Mac / Linux: ssh yourusername@cosmos.localOn Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well. From SSH, Enter the following commands sudo sysctl -w vm.max_map_count=262144 sudo sysctl -w vm.overcommit_memory=1 sudo apt update sudo apt upgrade sudo apt install git -y curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER newgrp docker git clone https://github.com/OpenC3/cosmos-project.git cosmos cd cosmos # Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service ./openc3.sh run After about 2 minutes, open a web browser on your computer, and goto: http://cosmos.local:2900 Congratulations! You now have COSMOS running on a Raspberry Pi! ","version":"Next","tagName":"h3"},{"title":"Admin","type":0,"sectionRef":"#","url":"/docs/tools/admin","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#introduction","content":" Admin has it's own dedicated button at the top of the tools list. It is responsible for administering the COSMOS system including installing new plugins, viewing configuration, storing secrets and changing settings. ","version":"Next","tagName":"h2"},{"title":"Plugins​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#plugins","content":" The Plugins tab is where you install new plugins into the COSMOS system. Plugins can dynamically add targets, microservices, interfaces, protocols, Telemetry Viewer widgets, and entire tools into the COSMOS runtime. The following screenshot shows the Plugins tab when only the COSMOS Demo is installed: The plugin gem name is listed along with all the targets it contains. You can Download, Edit, Upgrade, or Delete (uninstall) the plugin using the buttons to the right. If a plugin's target has been modified, the target name turns into a link which when clicked will download the changed files. New plugins are installed by clicking the top field. ","version":"Next","tagName":"h3"},{"title":"Targets​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#targets","content":" The Targets tab shows all the targets installed and what plugin they came from. Clicking the eyeball shows the raw JSON that makes up the target configuration. ","version":"Next","tagName":"h3"},{"title":"Interfaces​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#interfaces","content":" The Interfaces tab shows all the interfaces installed. Clicking the eyeball shows the raw JSON that makes up the interface configuration. ","version":"Next","tagName":"h3"},{"title":"Routers​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#routers","content":" The Routers tab shows all the routers installed. Clicking the eyeball shows the raw JSON that makes up the router configuration. ","version":"Next","tagName":"h3"},{"title":"Microservices​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#microservices","content":" The Microservices tab shows all the microservices installed, their update time, state, and count. Clicking the eyeball shows the raw JSON that makes up the microservice configuration. ","version":"Next","tagName":"h3"},{"title":"Packages​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#packages","content":" The Packages tab shows all the Ruby gems and Python packages installed in the system. You can also install packages from this tab if you're in an offline (air gapped) environment where COSMOS can't pull dependencies from Rubygems or Pypi. ","version":"Next","tagName":"h3"},{"title":"Tools​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#tools","content":" The Tools tab lists all the tools installed. You can reorder the tools in the Navigation bar by dragging and dropping the left side grab handle. You can also add links to existing tools in the navigation bar by using the Add button. Any material design icons can be used as the Tool icon. ","version":"Next","tagName":"h3"},{"title":"Redis​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#redis","content":" The Redis tab allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. THIS IS DANGEROUS, and should only be performed by COSMOS developers. ","version":"Next","tagName":"h3"},{"title":"Secrets​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#secrets","content":" The Secrets tab allows you to create secrets that can be used by Interfaces or Microservices using the SECRET keyword. Secrets require setting the Secret Name and then can be set to an individual value using the Secret Value, or to the contents of a file (like a certificate file) using the file selector. In the following example the USERNAME and PASSWORD were set to values while CA_FILE was set using an uploaded certificate file. ","version":"Next","tagName":"h3"},{"title":"Settings​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#settings","content":" The Settings tab contains various settings used throughout COSMOS. These including clearing saved tool configuration, hiding the Astro Clock, changing the system time zone, adding a top and bottom banner, creating a subtitle in the navigation bar, and changing the URLs of the various package libraries. ","version":"Next","tagName":"h3"},{"title":"Autonomic (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/autonomic","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#introduction","content":" Autonomic allows for the automated execution of commands and scripts based on user-defined rules. ","version":"Next","tagName":"h2"},{"title":"Overview​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#overview","content":" Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system. ","version":"Next","tagName":"h3"},{"title":"TriggerGroups​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggergroups","content":" Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed. ","version":"Next","tagName":"h3"},{"title":"Triggers​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggers","content":" Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger. Once you've chosen the "left operand" you need to choose the operator. Finally you choose the "right operand" which in this case is a simple value. After the trigger is created it is displayed in Autonomic and waits to be activated by the given logic. Active triggers are highlighted in the list. Triggers can also be manually disabled and enabled by clicking the plug icon. Note in the above screenshot the Events which track everything about the trigger. ","version":"Next","tagName":"h3"},{"title":"Reactions​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#reactions","content":" Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script. Reactions can not exist without a corresponding trigger. The reaction creation dialog specifies whether to treat the trigger as an Edge or Level. It then allows you to select which trigger(s) the reaction will react to. Selecting multiple triggers allows any of the triggers to trigger the reaction (Note: Creating a reaction which responds to Trigger A AND Trigger B is done by creating additional triggers). After the triggers are specified, the dialog prompts for the actions to take. You can either send a command, run a script, or simply push a notification. Commands and scripts can also optionally push a notification. In this example a script is specified with a notification at the WARN level. Spawning Scripts Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources. Finally the snooze setting is specified. Snooze is the number of seconds after the reaction runs before the reaction will be allowed to run again. This is especially important in Level triggers where if the trigger remains active the reaction can run continuously. Once the reaction is created it is listed in the interface. When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again. ","version":"Next","tagName":"h3"},{"title":"OpenC3, Inc. Privacy Policy","type":0,"sectionRef":"#","url":"/docs/privacy","content":"","keywords":"","version":"Next"},{"title":"Our Commitment​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#our-commitment","content":" • Your information will not be shared, rented or sold to any third party. • We use state-of-the-art security measures to protect your information from unauthorized users. • We give you the possibility to control the information that you shared with us (opt-out) OpenC3, Inc. is committed to processing data in accordance with its responsibilities under the GDPR. Article 5 of the GDPR requires that personal data shall be: a. processed lawfully, fairly and in a transparent manner in relation to individuals; b. collected for specified, explicit and legitimate purposes and not further processed in a manner that is incompatible with those purposes; further processing for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes shall not be considered to be incompatible with the initial purposes; c. adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed; d. accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay; e. kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and f. processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.” ","version":"Next","tagName":"h2"},{"title":"1. Notice​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#1-notice","content":" We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services. ","version":"Next","tagName":"h2"},{"title":"2. Usage​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#2-usage","content":" We use your personal information for the following purposes: • To provide you information that will allow you to use our services • To automatically customize your documents with your information • To alert you of software upgrades, updates, discounts or other services from OpenC3, Inc. We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers. We may also collect your name, language, currency, operating system, document searched and country information for a better experience with our products/services. When you place your order with us, we collect your email in order to communicate with you. We also collect your phone number in order to contact you in case these emails bounce back because of a typo in your email address and if we cannot figure out what the correct email address is. We also contact the phone number that is provided if we suspect that the cardholder’s credit card information has been compromised, i.e used in a fraudulent way. We also use our clients’ email in order to notify of the release of updated versions of the software, new services or promotional offers. ","version":"Next","tagName":"h2"},{"title":"3. Consent​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#3-consent","content":" When you provide your personal information, you consent that it can be used for the above purposes and that OpenC3, Inc. is an authorized holder of such information. If you choose not to register or provide personal information, you can still use our website but you will not be able to receive additional services or access certain areas that require registration. When you activate your account, you are providing your consent to occasionally receive information from us. In each communication from us you will have the opportunity to unsubscribe from further communications; alternatively, you may contact us to express your choices at the address provided at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"4. Access to your information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#4-access-to-your-information","content":" You are entitled to review the personal information you have provided us and ensure that it is accurate and current at all times. To review or update this information simply request that we send you this information. ","version":"Next","tagName":"h2"},{"title":"5. Security of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#5-security-of-information","content":" OpenC3, Inc. is strongly committed to protecting your information and ensuring that your choices are honored. We have taken strong security measures to protect your data from loss, misuse, unauthorized access, disclosure, alteration, or destruction. All sensitive data is stored behind multiple firewalls on secure servers with restricted employee access. We guarantee that all e-commerce transactions follow the latest security measures and use the best available technologies. Secure Sockets Layer (SSL) technology is employed when you place online orders or transmit sensitive information. SSL is one of the safest methods of passing information over the Internet. ","version":"Next","tagName":"h2"},{"title":"6. Retention of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#6-retention-of-information","content":" We retain information as long as it is necessary to provide the services requested by you and others, subject to any legal obligations to further retain such information. Information associated with your account will generally be kept until it is no longer necessary to provide the services or until you ask us to delete it or your account is deleted whichever comes first. Additionally, we may retain information from deleted accounts to comply with the law, prevent fraud, resolve disputes, troubleshoot problems, assist with investigations, enforce the Terms of Use, and take other actions permitted by law. The information we retain will be handled in accordance with this Privacy Policy. Finally, your data could also be stored for sales statistical purposes. ","version":"Next","tagName":"h2"},{"title":"7. EU and EEA Users’ Rights​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#7-eu-and-eea-users-rights","content":" If you are habitually located in the European Union or European Economic Area, you have the right to access, rectify, download or erase your information, as well as the right to restrict and object to certain processing of your information. While some of these rights apply generally, certain rights apply only in certain limited circumstances. We describe these rights below: You have the right to access your personal data and, if necessary, have it amended or deleted or restricted. In certain instances, you may have the right to the portability of your data. You can also ask us to not send marketing communications and not to use your personal data when we carry out profiling for direct marketing purposes. You can opt out of receiving email newsletters and other marketing communications by following the opt-out instructions provided to you in those emails. Transactional account messages will be unaffected if you opt-out from marketing communications. ","version":"Next","tagName":"h2"},{"title":"8. What we do with the Information you share​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#8-what-we-do-with-the-information-you-share","content":" Your information is never shared outside the company without your permission. Inside the company, data is stored behind multiple firewalls on secure servers with restricted user access. When you register to our website, you are asked to provide your contact information, including a valid email address. We use this information to send you updates about order confirmations and information about our services. When you order from us, we ask for your credit card number and billing address. We use this information only to bill you for the product(s) you ordered at that time. We may on occasion require the help of other companies to provide limited services on our behalf, such as packaging, shipping and delivery, customer support and processing event registrations. We will only provide such companies with the information required for them to perform these services; these service providers are bound by strict privacy policies and are prohibited from using your information for any other purpose. In very rare instances OpenC3, Inc. may disclose your personal information, without notice, only if required to do so by law or in the good faith belief that such action is necessary to: (a) conform to the edicts of the law or comply with legal process served on OpenC3, Inc. or the site; (b) protect and defend the rights or property of OpenC3, Inc. and its family of websites and properties; and (c) act in urgent circumstances to protect the personal safety of users of OpenC3, Inc., its websites, or the public. ","version":"Next","tagName":"h2"},{"title":"9. How to opt-out​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#9-how-to-opt-out","content":" We provide users with the opportunity to opt-out from receiving updates on our products, newsletters and other communications from us. You can opt-out by clicking on the link provided in our electronic mailings or by contacting us at the address at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"10. Does OpenC3 Inc's privacy policy apply to linked websites?​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#10-does-openc3-incs-privacy-policy-apply-to-linked-websites","content":" Our Privacy Policy applies solely to information collected on our website or through interactions with our company. The Site contains links to web sites of third parties. OpenC3, Inc. is not responsible for the actions of these third parties, including their privacy practices and any content posted on their web sites. We encourage you to review their privacy policies to learn more about what, why and how they collect and use personal information. OpenC3, Inc. adheres to industry recognized standards to secure any personal information in our possession, and to secure it from unauthorized access and tampering. However, as is true with all online actions, it is possible that third parties may unlawfully intercept transmissions of personal information, or other users of the Site may misuse or abuse your personal information that they may collect from the Site. ","version":"Next","tagName":"h2"},{"title":"11. Changes to this policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#11-changes-to-this-policy","content":" If we make changes to our Privacy Policy, we will post these changes here so that you are always aware of what information we collect, how we use it and under what circumstances, if any, we disclose it. If at any point we decide to use your information in a manner different from that stated at the time it was collected, we will notify you by email. ","version":"Next","tagName":"h2"},{"title":"12. Enforcement of policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#12-enforcement-of-policy","content":" If for some reason you believe OpenC3, Inc. has not adhered to these principles, please notify us and we will do our best to promptly make corrections. ","version":"Next","tagName":"h2"},{"title":"13. Questions or comments​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#13-questions-or-comments","content":" If you have questions or comments about this privacy policy, please email us at: support@openc3.com For additional information about how to contact OpenC3, Inc. please visit our help page. Dated: August 11th, 2022 ","version":"Next","tagName":"h2"},{"title":"Bucket Explorer","type":0,"sectionRef":"#","url":"/docs/tools/bucket-explorer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#introduction","content":" Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage. ","version":"Next","tagName":"h2"},{"title":"Browsing Files​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#browsing-files","content":" At the top are the three standard COSMOS buckets: config, logs, and tools. Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is DEFAULT. The config bucket holds the COSMOS configuration which is populated as plugins are installed. The logs bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See Logging for more info). These logs are gzipped to save storage space. The tools bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket. Tools as Static Website Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3 ","version":"Next","tagName":"h2"},{"title":"Upload​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#upload","content":" Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in COSMOS Enterprise you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Download​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#download","content":" Click the Download icon to download any of the individual files from any bucket and path. ","version":"Next","tagName":"h3"},{"title":"Delete​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#delete","content":" Click the Trash icon to delete an individual file. Note that in COSMOS Enterprise you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Command History (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/command_history","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#introduction","content":" Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated). ","version":"Next","tagName":"h2"},{"title":"Selecting Time​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#selecting-time","content":" By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers. ","version":"Next","tagName":"h3"},{"title":"Commands Table​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#commands-table","content":" The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description. As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2). The Result field is the result of executing Command Validators established by the VALIDATOR keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above. For more information read the VALIDATOR documentation and also see the Ruby Example and the Python Example in the COSMOS Demo. ","version":"Next","tagName":"h2"},{"title":"Calendar (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/calendar","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#introduction","content":" Calendar visualizes metadata, notes, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times. ","version":"Next","tagName":"h2"},{"title":"Adding Timelines​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#adding-timelines","content":" Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary. ","version":"Next","tagName":"h3"},{"title":"Types of Events​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#types-of-events","content":" ","version":"Next","tagName":"h2"},{"title":"Metadata​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#metadata","content":" Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including operators, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data. You can create a new metadata item from either the Create menu or by right-clicking on the calendar in the given time slot you want the metadata item to appear. Note that metadata entries only have a start time, they do not have an end time. You then add key / value pairs for all the metadata items you want to create. ","version":"Next","tagName":"h3"},{"title":"Note​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#note","content":" Notes require both a start and end time. You then record the note to create the note event on the calendar. ","version":"Next","tagName":"h3"},{"title":"Activity​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#activity","content":" Scheduled on a timeline, activities take both a start and end time. Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping. When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (✓). Reserve activities simply have a blank green circle. Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events. ","version":"Next","tagName":"h3"},{"title":"Timeline Implementation Details​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#timeline-implementation-details","content":" When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue. The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync. The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database. The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database. ","version":"Next","tagName":"h2"},{"title":"Handbooks","type":0,"sectionRef":"#","url":"/docs/tools/handbooks","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Handbooks","url":"/docs/tools/handbooks#introduction","content":" Handbooks formats the COSMOS command and telemetry definitions into a nicely formatted webpage that can be exported to a PDF. You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF. ","version":"Next","tagName":"h2"},{"title":"Data Viewer","type":0,"sectionRef":"#","url":"/docs/tools/data-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#introduction","content":" Data Viewer allows you to view packet data or individual item data in both the past and in real time. ","version":"Next","tagName":"h2"},{"title":"Data Viewer Menus​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#data-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#file-menu-items","content":" Opens a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Adding Components​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#adding-components","content":" DataViewer displays data in a component. To add a new component to the interface click the plus icon. This brings up the Add Component dialog. First you select the component you want to use to visual the data. Next you add packets which will populate the component. Finally click Create to see the DataViewer component visualization. To adjust the settings of the COSMOS Raw/Decom component click the gear icon to bring up the Display Settings dialog. You can turn on and off various visualizations, increase the number of packets displayed and the history. ","version":"Next","tagName":"h3"},{"title":"Command Sender","type":0,"sectionRef":"#","url":"/docs/tools/cmd-sender","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#introduction","content":" Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history. ","version":"Next","tagName":"h2"},{"title":"Command Sender Menus​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#command-sender-menus","content":" ","version":"Next","tagName":"h2"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#mode-menu-items","content":" Ignores parameter range checkingDisplays parameter state values in hexShows ignored parametersDisables all parameter conversions ","version":"Next","tagName":"h3"},{"title":"Sending Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#sending-commands","content":" Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters. Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History. You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example). ","version":"Next","tagName":"h2"},{"title":"Hazardous Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#hazardous-commands","content":" Sending hazardous commands will prompt the user whether to send the command. Commands can also have hazardous states (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions. Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked required. ","version":"Next","tagName":"h3"},{"title":"Limits Monitor","type":0,"sectionRef":"#","url":"/docs/tools/limits-monitor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#introduction","content":" The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor Menus​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-monitor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#file-menu-items","content":" Show the list of ignored itemsChange the overall COSMOS limits setOpens a saved configurationSave the current configuration (ignored items)Reset the configuration (defaults settings) Show Ignored​ This dialog displays all the items which the user has manually ignored by clicking the ignore icons next to out of limits items. Note that entire Packets which have been ignored are listed as TARGET PACKET without an item (as shown by INST MECH). Ignored items are removed by clicking the Trash icon. This means that the next time this item goes out of limits it will be displayed. Change Limits Set​ Limits sets are defined with the LIMITS keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS. Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Limits Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-items","content":" The main interface of Limits Monitor is the top where items are displayed when they violate a yellow or red limit. Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red states are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed. Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate "(Some items ignored)" to indicate the Limits State is potentially being affected by ignored items. Clicking the last icon (eye with strike-through) temporarily hides the specified item. This is different from ignoring an item because if this item goes out of limits it will be again be displayed. Hiding an item is useful if the item has gone back to green and you want to continue to track it but want to clean up the current list of items. For example, we might hide the GROUND1STATUS items in the above example as they have transitioned back to green. ","version":"Next","tagName":"h2"},{"title":"Limits Log​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-log","content":" The Log section lists all limits events. Events can be filtered by using the Search box as shown. ","version":"Next","tagName":"h2"},{"title":"Data Extractor","type":0,"sectionRef":"#","url":"/docs/tools/data-extractor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#introduction","content":" Data Extractor extracts command and telemetry items into comma or tab separated files. Individual items or entire packets can be processed over any time period. Data Extractor also has a number of options to control the output for post processing in Excel or Matlab, for example. ","version":"Next","tagName":"h2"},{"title":"Data Extractor Menus​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#data-extractor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#file-menu-items","content":" Opens a saved configurationSave the current configuration (item list)Reset the configuration (default settings)Delimit output with commasDelimit output with tabs Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#mode-menu-items","content":" Fill empty cells with the previous valueAdd a Matlab comment ('%') to the headerOnly output changed valuesOnly list item name as column headerList full Target Packet Item as header ","version":"Next","tagName":"h3"},{"title":"Selecting Items for Output​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#selecting-items-for-output","content":" ","version":"Next","tagName":"h2"},{"title":"Start/End Date/Time​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#startend-datetime","content":" Data Extractor provides text fields where you specify the time range to extract items. Clicking the Start Date and End Date text fields opens a Date Chooser dialog. Note you can also manually type in the date. Clicking the Start Time and End Time icon opens up a Time Chooser dialog. Note you can also manually type in the time. ","version":"Next","tagName":"h3"},{"title":"Adding Target(s) Packet(s) Item(s)​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#adding-targets-packets-items","content":" Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed. When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed. When you select an individual Item the button changes to "Add Item" and the Description field updates with the item's description. ","version":"Next","tagName":"h3"},{"title":"Removing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#removing-items","content":" Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header. ","version":"Next","tagName":"h3"},{"title":"Editing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#editing-items","content":" Items can be edited by clicking the Pencil icon next to the item. ALL items can be edited by clicking the pencil icon in the header. Clicking the Edit All brings up the Edit All Items dialog. This allows you to change the data type of all items in the list. Clicking the pencil next to an individual item brings up a similar dialog to edit the individual item. ","version":"Next","tagName":"h3"},{"title":"Processing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#processing-items","content":" Clicking the Process button starts the processing of the items list. A progress wheel is shown on the left side of the table and the Process button changes to Cancel to allow canceling the process. When the processing is complete, the browser shows a file download link. Note this varies by browser. This example is from Chrome. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer","type":0,"sectionRef":"#","url":"/docs/tools/packet-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#introduction","content":" Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer Menus​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#packet-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#file-menu-items","content":" Change the refresh and stale intervalOpens a saved configurationSave the current configuration (view settings)Reset the configuration (default settings) ","version":"Next","tagName":"h3"},{"title":"View Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#view-menu-items","content":" Shows ignored itemsDisplay derived items lastDisplay formatted items with unitsDisplay formatted itemsDisplay converted itemsDisplay raw items ","version":"Next","tagName":"h3"},{"title":"Selecting Packets​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#selecting-packets","content":" Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box. ","version":"Next","tagName":"h2"},{"title":"Details​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#details","content":" Right-clicking an item and selecting Details will open the details dialog. This dialog lists everything defined on the telemetry item. ","version":"Next","tagName":"h3"},{"title":"Table Manager","type":0,"sectionRef":"#","url":"/docs/tools/table-manager","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#introduction","content":" Table Manager is a binary file editor. It takes binary file definitions similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-menu-items","content":" Create a new binary based on definitionOpen an existing binarySave the current binaryRename the current binaryDelete the current binary ","version":"Next","tagName":"h3"},{"title":"File Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-download","content":" The three buttons next to File Download download the binary file, the definition file, and the report file. The binary is the raw bits defined by the table. The definition is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary. ","version":"Next","tagName":"h2"},{"title":"Upload / Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#upload--download","content":" Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called upload.rb is found in the Target's procedures directory then the Upload button becomes active. If a file called download.rb is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script. ","version":"Next","tagName":"h2"},{"title":"upload.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#uploadrb","content":" The COSMOS demo creates the following upload.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file and the script uses get_target_file to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file puts "file:#{ENV['TBL_FILENAME']}" # Open the file file = get_target_file(ENV['TBL_FILENAME']) buffer = file.read # puts buffer.formatted # Implement custom commanding logic to upload the table # Note that buffer is a Ruby string of bytes # You probably want to do something like: # buf_size = 512 # Size of a buffer in the upload command # i = 0 # while i < buffer.length # # Send a part of the buffer # # NOTE: triple dots means start index, up to but not including, end index # # while double dots means start index, up to AND including, end index # cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)]) # i += buf_size # end file.delete ","version":"Next","tagName":"h3"},{"title":"download.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#downloadrb","content":" The COSMOS demo creates the following download.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file to OVERWRITE and the script uses put_target_file to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file to overwrite puts "file:#{ENV['TBL_FILENAME']}" # Download the file # Implement custom commanding logic to download the table # You probably want to do something like: buffer = '' # i = 1 # num_segments = 5 # calculate based on TBL_FILENAME # table_id = 1 # calculate based on TBL_FILENAME # while i < num_segments # # Request a part of the table buffer # cmd("TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}") # buffer += tlm("TGT DUMP_PKT DATA") # i += 1 # end put_target_file(ENV['TBL_FILENAME'], buffer) ","version":"Next","tagName":"h3"},{"title":"Telemetry Viewer","type":0,"sectionRef":"#","url":"/docs/tools/tlm-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#introduction","content":" Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#file-menu-items","content":" Open a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Selecting Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#selecting-screens","content":" Selecting a target from the Select Target drop down automatically updates the available screens for that target in the Select Screen drop down. Clicking Show Screen causes that screen to display. ","version":"Next","tagName":"h2"},{"title":"New Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#new-screen","content":" Clicking New Screen brings up the new screen dialog. Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists. ","version":"Next","tagName":"h2"},{"title":"Edit Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#edit-screen","content":" Clicking the pencil icon in the title bar of the screen brings up the edit dialog. The screen source is displayed in an editor with syntax highlighting and auto-completion. You can download the screen source using the download button in the upper right or delete the screen using the trash icon in the upper left. Click Save to save the screen edits at which point Telemetry Viewer will re-render the screen. ","version":"Next","tagName":"h2"},{"title":"Screen Window Management​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#screen-window-management","content":" All screens can be moved around the browser window by clicking their title bar and moving them. Other screens will move around intelligently to fill the space. This allows you to order the screens no matter which order they were created in. You can also float the screens by clicking the grid icon in the upper left of the title bar. It will change to a balloon icon and allow you to click up and down to change the relative Z index of the window. The image screen is floated in the following screen shot. The dash button in the upper right of the title bar minimizes the screen to effectively hide it. This allows you to focus on a single screen without closing existing screens. In the screen shot below there are two minimized windows at the very bottom. The X button closes the screen. ","version":"Next","tagName":"h2"},{"title":"Building Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#building-screens","content":" For documentation on how to build Telemetry Screens and how to configure the screen widgets please see the Telemetry Screens. ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server","type":0,"sectionRef":"#","url":"/docs/tools/cmd-tlm-server","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#introduction","content":" The Command and Telemetry Server application provides status about the interfaces and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view both raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages. ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server Menus​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-and-telemetry-server-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#file-menu-items","content":" The Command and Telemetry Server has one menu under File -> Options: This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated. ","version":"Next","tagName":"h3"},{"title":"Interfaces Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#interfaces-tab","content":" The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts. ","version":"Next","tagName":"h2"},{"title":"Targets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#targets-tab","content":" The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only). Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority. The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding. Here is an example of sending a HAZARDOUS command in Command Sender when Critical Command Mode is set to NORMAL. ","version":"Next","tagName":"h2"},{"title":"Command Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-packets-tab","content":" The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command. Clicking on View Raw opens a dialog displaying the raw bytes for that command. Clicking View in Command Sender opens up a new Command Sender window with the specified command. ","version":"Next","tagName":"h2"},{"title":"Telemetry Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#telemetry-packets-tab","content":" The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet. Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet. Clicking View in Packet Viewer opens up a new Packet Viewer window with the specified telemetry packet. ","version":"Next","tagName":"h2"},{"title":"Status Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#status-tab","content":" The Status tab displays COSMOS system metrics. ","version":"Next","tagName":"h2"},{"title":"Log Messages​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#log-messages","content":" The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher","type":0,"sectionRef":"#","url":"/docs/tools/tlm-grapher","content":"","keywords":"","version":"Next"},{"title":"Introductions​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#introductions","content":" Telemetry Grapher is a graphing application that allows for one or more telemetry points per graph. It supports multiple graphs per screen which can be resized and reordered. Multiple configurations can be saved and restored for different situations. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher Menus​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#telemetry-grapher-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#file-menu-items","content":" Open a saved configuration (graphs and items)Save the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Graph Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-menu-items","content":" Add a new graphStart / Resume graphingPause graphStop graphEdit grapher settings Editing the grapher settings brings up a dialog to change settings affecting every graph in the Telemetry Grapher tool. Changing the Seconds Graphed changes the visible windows displaying graph points. The smaller of Seconds Graphed and Points Graphed will be used when calculating the number of points to display. Changing the Points Saved will affect performance of the browser window if set too high. The default of 1,000,000 points can store over 11.5 days of 1Hz data points. Editing an individual graph by clicking the pencil icon in title bar of the graph brings up the edit graph dialog. Editing the Start Date and Start Time will re-query the data to begin at the specified time. This operation can take several seconds depending on how far back data is requested. Similarly, specifying the End Date and End Time will limit the data request to the specified time. Leaving the End Date / End Time fields blank will cause Telemetry Grapher to continue to graph items in real-time as they arrive. Changing the Min Y and Max Y values simply sets the graph scale. Deleting the Min Y and Max Y values allows the graph to scale automatically as values arrive. Compare the following graph with the minimum set to 0 and the maximum set to 100 with the first graph image (auto-scale). ","version":"Next","tagName":"h3"},{"title":"Selecting Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#selecting-items","content":" Selecting a target from the Select Target drop down automatically updates the available packets in the Select Packet drop down which updates the available items in the Select Item drop down. Clicking Add Item adds the item to the graph which immediately begins graphing. As time passes, the main graph fills up and starts scrolling while the overview graph at the bottom shows the entire history. Selecting a new item and adding it to the graph automatically fills the graph with history until the beginning of the first item. This allows you to add items to the graph incrementally and maintain full history. ","version":"Next","tagName":"h2"},{"title":"Graph Window Management​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-window-management","content":" All graphs can be moved around the browser window by clicking their title bar and moving them. Other graphs will move around intelligently to fill the space. This allows you order the graphs no matter which order they were created in. Each graph has a set of window buttons in the upper right corner. The first shrinks or grows the graph both horizontally and vertically to allow for 4 graphs in the same browser tab. Note that half height graphs no longer show the overview graph. The second button shrinks or grows the graph horizontally so it will either be half or full width of the browser window. This allows for two full width graphs on top of each other. The second button shrinks or grows the graph vertically so it will either be half or full height of the browser window. This allows for two full height graphs side by side. The line button minimizes the graph to effectively hide it. This allows you to focus on a single graph without losing existing graphs. The final X button closes the graph. ","version":"Next","tagName":"h2"},{"title":"Script Runner","type":0,"sectionRef":"#","url":"/docs/tools/script-runner","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#introduction","content":" Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individual scripts, groups of scripts, or entire suites. ","version":"Next","tagName":"h2"},{"title":"Script Runner Menus​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-runner-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#file-menu-items","content":" Clears the editor and filenameCreates a new test suite in Ruby or PythonOpens a dialog to select a file to openOpens a recently used fileSaves the currently opened file to diskRename the current fileDownloads the current file to the browserDeletes the current file (Permanently!) File Open​ The File Open Dialog displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results. File Save As​ When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted before over-writing an existing file. ","version":"Next","tagName":"h3"},{"title":"Script Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-menu-items","content":" Display started and finished scriptsShow environment variablesShow defined metadataShow overridden telemetry valuesPerform a syntax checkPerform a script mnemonic checkView the instrumented scriptShows the script call stackDisplay the debug promptDisconnect from real interfacesDelete all script breakpoints The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log. ","version":"Next","tagName":"h3"},{"title":"Running Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-scripts","content":" Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script. Once you click Start the script is spawned in the Server and the Script State becomes Connecting. At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried. This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution. ","version":"Next","tagName":"h2"},{"title":"Right Click Script​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#right-click-script","content":" Right clicking a script brings up several options: 'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number. ","version":"Next","tagName":"h3"},{"title":"Running Script Suites​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-script-suites","content":" If a script is structured as a Suite it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus. To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language. ","version":"Next","tagName":"h2"},{"title":"Group​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#group","content":" The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example: require 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def setup puts "setup" end def script_1 puts "script 1" end def teardown puts "teardown" end end Equivalent Python example: from openc3.script.suite import Suite, Group class ExampleGroup(Group): def setup(self): print("setup") def script_1(self): print("script 1") def teardown(self): print("teardown") The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method. ","version":"Next","tagName":"h3"},{"title":"Suite​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#suite","content":" Groups are added to Suites by creating a class inheriting from Suite and then calling the add_group method. For example in Ruby: class MySuite < OpenC3::Suite def initialize add_group('ExampleGroup') end def setup puts "Suite setup" end def teardown puts "Suite teardown" end end In Python: from openc3.script.suite import Suite, Group class MySuite(Suite): def __init__(self): self.add_group(ExampleGroup) def setup(self): print("Suite setup") def teardown(self): print("Suite teardown") Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu. Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script. ","version":"Next","tagName":"h3"},{"title":"Script Suite Options​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-suite-options","content":" Opening a Script Suite creates six checkboxes which provide options to the running script. Pause on Error​ Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error. Continue after Error​ Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group. Abort after Error​ Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete. Manual​ In Ruby, sets the global variable called $manual to true. In Python, sets RunningScript.manual to True. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use the variable in their scripts. Loop​ Loop whatever the user started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen. Break Loop on Error​ Break the loop if an Error occurs. Only available if the Loop option is set. ","version":"Next","tagName":"h3"},{"title":"Debugging Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#debugging-scripts","content":" When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing var = 10. The Step button allows you to step line by line through the script. Clicking Go continues regular execution. ","version":"Next","tagName":"h2"},{"title":"Script Writing Guide","type":0,"sectionRef":"#","url":"/docs/guides/script-writing","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#introduction","content":" This guide aims to provide the best practices for using the scripting capabilities provided by COSMOS. Scripts are used to automate a series of activities for operations or testing. The goal of this document is to ensure scripts are written that are simple, easy to understand, maintainable, and correct. Guidance on some of the key details of using the COSMOS Script Runner is also provided. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#concepts","content":" COSMOS supports both Ruby and Python for writing scripts. Ruby and Python are very similar scripting languages and most of this guide applies directly to both. Where examples are used, both a Ruby and Python example are given. ","version":"Next","tagName":"h2"},{"title":"Ruby vs Python in COSMOS​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#ruby-vs-python-in-cosmos","content":" There are many similarities and a few key differences between Ruby and Python when it comes to writing COSMOS scripts. There is no 80 character limit on line length. Lines can be as long as you like, but be careful to not make them too long as it makes printed reviews of scripts more difficult.Indentation white space: Ruby: Not significant. Ruby uses the end keyword to determine indented code blocks with a standard of 2 spaces.Python: Significant. Python uses indentation to determine code blocks with a standard of 4 spaces. Variables do not have to be declared ahead of time and can be reassigned later, i.e. Ruby and Python are dynamically typed.Variable interpolation: Ruby: Variable values can be placed into strings using the "#{variable}" syntax.Python: Variable values can be placed into f-strings using the f"{variable}" syntax. A variable declared inside of a block or loop will not exist outside of that block unless it was already declared. Both languages provides a script writer a lot of power. But with great power comes great responsibility. Remember when writing your scripts that you or someone else will come along later and need to understand them. Therefore use the following style guidelines: Use consistent spacing for indentation and do NOT use tabsConstants should be all caps with underscores SPEED_OF_LIGHT = 299792458 # meters per s Variable names and method names should be in lowercase with underscores last_name = "Smith"perform_setup_operation() Class names (when used) should be camel case and the files which contain them should match but be lowercase with underscores class DataUploader # in 'data_uploader.rb'class CcsdsUtility: # in 'ccsds_utility.py' Don't add useless comments but instead describe intent The following is an example of good Ruby style: load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing load_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target) cmd("#{target} CLEAR") wait_check("#{target} HEALTH_STATUS COLLECTS == 0", 5) end ###################################### # START ###################################### helper = HelperUtility.new helper.setup # Perform collects on all the targets OUR_TARGETS.each do |target| collects = tlm("#{target} HEALTH_STATUS COLLECTS") cmd("#{target} COLLECT with TYPE SPECIAL") wait_check("#{target} HEALTH_STATUS COLLECTS == #{collects + 1}", 5) end clear_collects('INST') clear_collects('INST2') The following is an example of good Python style: from openc3.script import * import TARGET.lib.upload_utility # library we do NOT want to show executing load_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target): cmd(f"{target} CLEAR") wait_check(f"{target} HEALTH_STATUS COLLECTS == 0", 5) ###################################### # START ###################################### helper = HelperUtility() helper.setup() # Perform collects on all the targets for target in OUR_TARGETS: collects = tlm(f"{target} HEALTH_STATUS COLLECTS") cmd(f"{target} COLLECT with TYPE SPECIAL") wait_check(f"{target} HEALTH_STATUS COLLECTS == {collects + 1}", 5) clear_collects('INST') clear_collects('INST2') Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening. Next we declare our constants and create an array of strings which we store in OUR_TARGETS. Notice the constant is all uppercase with underscores. Then we declare our local methods of which we have one called clear_collects. Please provide a comment at the beginning of each method describing what it does and the parameters that it takes. The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded. The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket # notation and python f-string f" notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment. Finally we call our 'clear_collects' method on each target by passing the target name. ","version":"Next","tagName":"h3"},{"title":"Scripting Philosophy​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#scripting-philosophy","content":" ","version":"Next","tagName":"h2"},{"title":"A Super Basic Script Example​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#a-super-basic-script-example","content":" Most COSMOS scripts can be broken down into the simple pattern of sending a command to a system/subsystem and then verifying that the command worked as expected. This pattern is most commonly implemented with cmd() followed by wait_check(), like the following: cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS TYPE == 'NORMAL'", 5) or similarly with a counter that is sampled before the command. Ruby: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5) Python: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5) 90% of the COSMOS scripts you write should be the simple patterns shown above except that you may need to check more than one item after each command to make sure the command worked as expected. ","version":"Next","tagName":"h3"},{"title":"KISS (Keep It Simple Stupid)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#kiss-keep-it-simple-stupid","content":" Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions. ","version":"Next","tagName":"h3"},{"title":"Keep things DRY (Don't Repeat Yourself)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#keep-things-dry-dont-repeat-yourself","content":" A widespread problem in scripts written for any command and control system is large blocks of code that are repeated multiple times. In extreme cases, this has led to 100,000+ line scripts that are impossible to maintain and review. There are two common ways repetition presents itself: exact blocks of code to perform a common action such as powering on a subsystem, and blocks of code that only differ in the name of the mnemonic being checked or the values checked against. Both are solved by removing the repetition using methods (or functions). For example, a script that powers on a subsystem and ensures correct telemetry would become: Ruby: def power_on_subsystem # 100 lines of cmd(), wait_check(), etc end Python: def power_on_subsystem(): # 100 lines of cmd(), wait_check(), etc Ideally, the above methods would be stored in another file where it could be used by other scripts. If it is truly only useful in the one script, then it could be at the top of the file. The updated script would then look like: power_on_subsystem() # 150 lines operating the subsystem (e.g.) # cmd(...) # wait_check(...) #... power_off_subystem() # Unrelated activities power_on_subsystem() # etc. Blocks of code where only the only variation is the mnemonics or values checked can be replaced by methods with arguments. Ruby: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp) cmd("TARGET #{enable_cmd_name} with ENABLE TRUE") wait_check("TARGET #{enable_tlm} == 'TRUE'", 5) wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50) end Python: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp): cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE") wait_check(f"TARGET {enable_tlm} == 'TRUE'", 5) wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50) ","version":"Next","tagName":"h3"},{"title":"Use Comments Appropriately​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#use-comments-appropriately","content":" Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line. # This line sends an abort command - BAD COMMENT, UNNECESSARY cmd("INST ABORT") # Rotate the gimbal to look at the calibration target - GOOD COMMENT cmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT ","version":"Next","tagName":"h3"},{"title":"Script Runner​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-runner","content":" COSMOS provides two unique ways to run scripts (also known as procedures). Script Runner provides both a script execution environment and a script editor. The script editor includes code completion for both COSMOS methods and command/telemetry item names. It is also a great environment to develop and test scripts. Script Runner provides a framework for users that are familiar with a traditional scripting model with longer style procedures, and for users that want to be able to edit their scripts in place. When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc. The correct environment for the job is up to individual users, and many programs will use both script formats to complete their goals. ","version":"Next","tagName":"h3"},{"title":"Looping vs Unrolled Loops​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#looping-vs-unrolled-loops","content":" Loops are powerful constructs that allow you to perform the same operations multiple times without having to rewrite the same code over and over (See the DRY Concept). However, they can make restarting a COSMOS script at the point of a failure difficult or impossible. If there is a low probability of something failing, then loops are an excellent choice. If a script is running a loop over a list of telemetry points, it may be a better choice to “unroll” the loop by making the loop body into a method, and then calling that method directly for each iteration of a loop that would have occurred. Ruby: 10.times do |temperature_number| check_temperature(temperature_number + 1) end Python: for temperature_number in range(1, 11): check_temperature(temperature_number) If the above script was stopped after temperature number 3, there would be no way to restart the loop at temperature number 4. A better solution for small loop counts is to unroll the loop. check_temperature(1) check_temperature(2) check_temperature(3) check_temperature(4) check_temperature(5) check_temperature(6) check_temperature(7) check_temperature(8) check_temperature(9) check_temperature(10) In the unrolled version above, the COSMOS “Start script at selected line” feature can be used to resume the script at any point. ","version":"Next","tagName":"h3"},{"title":"Script Organization​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-organization","content":" All scripts must be part of a Plugin. You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing. ","version":"Next","tagName":"h2"},{"title":"Organizing Your Scripts into a Plugin​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organizing-your-scripts-into-a-plugin","content":" As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures. Folder\tDescriptiontargets/TARGET_NAME/lib\tPlace script files containing reusable target specific methods here targets/TARGET_NAME/procedures\tPlace simple procedures that are centered around one specific target here In your main procedure you will usually bring in the other files with instrumentation using load_utility. # Ruby: load_utility('TARGET/lib/my_other_script.rb') # Python: load_utility('TARGET/procedures/my_other_script.py') ","version":"Next","tagName":"h3"},{"title":"Organize Scripts into Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organize-scripts-into-methods","content":" Put each activity into a distinct method. Putting your scripts into methods makes organization easy and gives a great high-level overview of what the overall script does (assuming you name the methods well). There are no bonus points for vague, short method names. Make your method names long and clear. Ruby: def test_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end def script_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end Python: def test_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here def script_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here ","version":"Next","tagName":"h3"},{"title":"Using Classes vs Unscoped Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-classes-vs-unscoped-methods","content":" Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class. NOTE: The convention in COSMOS is to have a TARGET/lib/target.[rb/py] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory. Ruby: class Gimbal attr_accessor :gimbal_steps def initialize() @gimbal_steps = 0 end def move(steps_to_move) # Move the gimbal @gimbal_steps += steps_to_move end def home_gimbal # Home the gimbal @gimbal_steps = 0 end end def perform_common_math(x, y) x + y end gimbal = Gimbal.new gimbal.home_gimbal gimbal.move(100) gimbal.move(200) puts "Moved gimbal #{gimbal.gimbal_steps}" result = perform_common_math(gimbal.gimbal_steps, 10) puts "Math:#{result}" Python: class Gimbal: def __init__(self): self.gimbal_steps = 0 def move(self, steps_to_move): # Move the gimbal self.gimbal_steps += steps_to_move def home_gimbal(self): # Home the gimbal self.gimbal_steps = 0 def perform_common_math(x, y): return x + y gimbal = Gimbal() gimbal.home_gimbal() gimbal.move(100) gimbal.move(200) print(f"Moved gimbal {gimbal.gimbal_steps}") result = perform_common_math(gimbal.gimbal_steps, 10) print(f"Math:{result}") ","version":"Next","tagName":"h3"},{"title":"Instrumented vs Uninstrumented Lines (require vs load)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#instrumented-vs-uninstrumented-lines-require-vs-load","content":" COSMOS scripts are normally “instrumented”. This means that each line has some extra code added behind the scenes that primarily highlights the current executing line and catches exceptions if things fail such as a wait_check. If your script needs to use code in other files, there are a few ways to bring in that code. Some techniques bring in instrumented code and others bring in uninstrumented code. There are reasons to use both. load_utility (and the deprecated require_utility), bring in instrumented code from other files. When COSMOS runs the code in the other file, Script Runner will dive into the other file and show each line highlighted as it executes. This should be the default way to bring in other files, as it allows continuing if something fails, and provides better visibility to operators. However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the “load” keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. “require” is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not. In Python, libraries are included using the import syntax. Any code imported using import is not instrumented. Only the code imported using load_utility is instrumented. Finally, COSMOS scripting has a special syntax for disabling instrumentation in the middle of an instrumented script, with the disable_instrumentation method. This allows you to disable instrumentation for large loops and other activities that are too slow when running instrumented. Ruby: temp = 0 disable_instrumentation do # Make sure nothing in here will raise exceptions! 5000000.times do temp += 1 end end puts temp Python: temp = 0 with disable_instrumentation(): # Make sure nothing in here will raise exceptions! for x in range(0,5000000): temp += 1 print(temp) When Running Uninstrumented Code Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop. ","version":"Next","tagName":"h3"},{"title":"Debugging and Auditing​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#debugging-and-auditing","content":" ","version":"Next","tagName":"h2"},{"title":"Built-In Debugging Capabilities​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#built-in-debugging-capabilities","content":" Script Runner has built in debugging capabilities that can be useful in determining why your script is behaving in a certain way. Of primary importance is the ability to inspect and set script variables. To use the debugging functionality, first select the “Toggle Debug” option from the Script Menu. This will add a small Debug: prompt to the bottom of the tool. Any code entered in this prompt will be executed when Enter is pressed. To inspect variables in a running script, pause the script and then type the variable name to print out the value of the variable in the debug prompt. variable_name Variables can also be set simply by using equals. variable_name = 5 If necessary, you can also inject commands from the debug prompt using the normal commanding methods. These commands will be logged to the Script Runner message log, which may be advantageous over using a different COSMOS tool like CmdSender (where the command would only be logged in the CmdTlmServer message log). cmd("INST COLLECT with TYPE NORMAL") Note that the debug prompt keeps the command history and you can scroll through the history by using the up and down arrows. ","version":"Next","tagName":"h3"},{"title":"Breakpoints​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#breakpoints","content":" You can click the line number (left side gutter) in Script Runner to add a breakpoint. The script will automatically pause when it hits the breakpoint. Once stopped at the breakpoint, you can evaluate variables using the Debug line. ","version":"Next","tagName":"h3"},{"title":"Using Disconnect Mode​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-disconnect-mode","content":" Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments. While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware. ","version":"Next","tagName":"h3"},{"title":"Auditing your Scripts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#auditing-your-scripts","content":" Script Runner includes several tools to help audit your scripts both before and after execution. Ruby Syntax Check​ The Ruby Syntax Check tool is found under the Script Menu. This tool uses the ruby executable with the -c flag to run a syntax check on your script. If any syntax errors are found the exact message presented by the Ruby interpreter is shown to the user. These can be cryptic, but the most common faults are not closing a quoted string, forgetting an “end” keyword, or using a block but forgetting the proceeding “do” keyword. ","version":"Next","tagName":"h3"},{"title":"Common Scenarios​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-scenarios","content":" ","version":"Next","tagName":"h2"},{"title":"User Input Best Practices​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#user-input-best-practices","content":" COSMOS provides several different methods to gather manual user input in scripts. When using user input methods that allow for arbitrary values (like ask() and ask_string()), it is very important to validate the value given in your script before moving on. When asking for text input, it is extra important to handle different casing possibilities and to ensure that invalid input will either re-prompt the user or take a safe path. Ruby: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y' raise "User entered: #{answer}" end temp = 0.0 while temp < 10.0 or temp > 50.0 temp = ask("Enter the desired temperature between 10.0 and 50.0") end Python: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y': raise RuntimeError(f"User entered: {answer}") temp = 0.0 while temp < 10.0 or temp > 50.0: temp = ask("Enter the desired temperature between 10.0 and 50.0") When possible, always use one of the other user input methods that has a constrained list of choices for your users (message_box, vertical_message_box, combo_box). Note that all these user input methods provide the user the option to “Cancel”. When cancel is clicked, the script is paused but remains at the user input line. When hitting “Go” to the continue, the user will be re-prompted to enter the value. ","version":"Next","tagName":"h3"},{"title":"Conditionally Require Manual User Input Steps​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#conditionally-require-manual-user-input-steps","content":" When possible, a useful design pattern is to write your scripts such that they can run without prompting for any user input. This allows the scripts to be more easily tested and provides a documented default value for any user input choices or values. To implement this pattern, all manual steps such as ask(), prompt(), and infinite wait() statements need to be wrapped with an if statement that checks the value of $manual in Ruby or RunningScript.manual in Python. If the variable is set, then the manual steps should be executed. If not, then a default value should be used. Ruby Example: if $manual temp = ask("Please enter the temperature") else temp = 20.0 end if !$manual puts "Skipping infinite wait in auto mode" else wait end Python Example: if RunningScript.manual: temp = ask("Please enter the temperature") else: temp = 20.0 if not RunningScript.manual: print("Skipping infinite wait in auto mode") else: wait() When running suites, there is a checkbox at the top of the tool called “Manual” that affects this $manual variable directly. ","version":"Next","tagName":"h3"},{"title":"Outputting Extra Information to a Report​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#outputting-extra-information-to-a-report","content":" COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log. Ruby: class MyGroup < OpenC3::Group def script_1 # The following text will be placed in the report OpenC3::Group.puts "Verifies requirements 304, 306, 310" # This puts line will show up in the sr_messages log file puts "script_1 complete" end end Python: from openc3.script.suite import Group class MyGroup(Group): def script_1(): # The following text will be placed in the report Group.print("Verifies requirements 304, 306, 310") # This puts line will show up in the sr_messages log file print("script_1 complete") ","version":"Next","tagName":"h3"},{"title":"Getting the Most Recent Value of a Telemetry Point from Multiple Packets​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets","content":" Some systems include high rate data points with the same name in every packet. COSMOS supports getting the most recent value of a telemetry point that is in multiple packets using a special packet name of LATEST. Assume the target INST has two packets, PACKET1 and PACKET2. Both packets have a telemetry point called TEMP. # Get the value of TEMP from the most recently received PACKET1 value = tlm("INST PACKET1 TEMP") # Get the value of TEMP from the most recently received PACKET2 value = tlm("INST PACKET2 TEMP") # Get the value of TEMP from the most recently received PACKET1 or PACKET2 value = tlm("INST LATEST TEMP") ","version":"Next","tagName":"h3"},{"title":"Checking Every Single Sample of a Telemetry Point​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#checking-every-single-sample-of-a-telemetry-point","content":" When writing COSMOS scripts, checking the most recent value of a telemetry point normally gets the job done. The tlm(), tlm_raw(), etc methods all retrieve the most recent value of a telemetry point. Sometimes you need to perform analysis on every single sample of a telemetry point. This can be done using the COSMOS packet subscription system. The packet subscription system lets you choose one or more packets and receive them all from a queue. You can then pick out the specific telemetry points you care about from each packet. Ruby: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 1.5 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) Python: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(1.5) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) ","version":"Next","tagName":"h3"},{"title":"Using Variables in Mnemonics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-variables-in-mnemonics","content":" Because command and telemetry mnemonics are just strings in COSMOS scripts, you can make use of variables in some contexts to make reusable code. For example, a method can take a target name as an input to support multiple instances of a target. You could also pass in the value for a set of numbered telemetry points. Ruby: def example(target_name, temp_number) cmd("#{target_name} COLLECT with TYPE NORMAL") wait_check("#{target_name} TEMP#{temp_number} > 50.0") end Python: def example(target_name, temp_number): cmd(f"{target_name} COLLECT with TYPE NORMAL") wait_check(f"{target_name} TEMP{temp_number} > 50.0") This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the Looping vs Unrolled Loops section. ","version":"Next","tagName":"h3"},{"title":"Using Custom wait_check_expression​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-custom-wait_check_expression","content":" The COSMOS wait_check_expression (and check_expression) allow you to perform more complicated checks and still stop the script with a CHECK error message if something goes wrong. For example, you can check variables against each other or check a telemetry point against a range. The exact string of text passed to wait_check_expression is repeatedly evaluated until it passes, or a timeout occurs. It is important to not use string interpolation within the actual expression or the values inside of the string interpolation syntax will only be evaluated once when it is converted into a string. Ruby: one = 1 two = 2 wait_check_expression("one == two", 1) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1) Python: one = 1 two = 2 wait_check_expression("one == two", 1, 0.25, locals()) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10", 1, 0.25, locals()) ","version":"Next","tagName":"h3"},{"title":"COSMOS Scripting Differences from Regular Ruby Scripting​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#cosmos-scripting-differences-from-regular-ruby-scripting","content":" Do not use single line if statements​ COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts). Don't do this: run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0 Do this instead: # It is best not to execute any code that could fail in an if statement, ie # tlm() could fail if the CmdTlmServer was not running or a mnemonic # was misspelled temp1 = tlm("INST HEALTH_STATUS TEMP1") if temp1 > 10.0 run_method() end ","version":"Next","tagName":"h3"},{"title":"When Things Go Wrong​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-things-go-wrong","content":" ","version":"Next","tagName":"h2"},{"title":"Common Reasons Checks Fail​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-reasons-checks-fail","content":" There are three common reasons that checks fail in COSMOS scripts: The delay given was too short The wait_check() method takes a timeout that indicates how long to wait for the referenced telemetry point to pass the check. The timeout needs to be large enough for the system under test to finish its action and for updated telemetry to be received. Note that the script will continue as soon as the check completes successfully. Thus, the only penalty for a longer timeout is the additional wait time in a failure condition. The range or value checked against was incorrect or too stringent Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value. The check really failed Of course, sometimes there are real failures. See the next section for how to handle them and recover. ","version":"Next","tagName":"h3"},{"title":"How to Recover from Anomalies​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#how-to-recover-from-anomalies","content":" Once something has failed, and your script has stopped with a pink highlighted line, how can you recover? Fortunately, COSMOS provides several mechanisms that can be used to recover after something in your script fails. Retry After a failure, the Script Runner “Pause” button changes to “Retry”. Clicking on the Retry button will re-execute the line the failed. For failures due to timing issues, this will often resolve the issue and allow the script to continue. Make note of the failure and be sure to update your script prior to the next run. Use the Debug Prompt By selecting Script -> Toggle Debug, you can perform arbitrary actions that may be needed to correct the situation without stopping the running script. You can also inspect variables to help determine why something failed. Execute Selection If only a small section of a script needs to be run, then “Execute Selection" can be used to execute only a small portion of the script. This can also be used when a script is paused or stopped in error. Run from here By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script. ","version":"Next","tagName":"h3"},{"title":"Advanced Topics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-topics","content":" ","version":"Next","tagName":"h2"},{"title":"Advanced Script Configuration with CSV or Excel​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-script-configuration-with-csv-or-excel","content":" Using a spreadsheet to store the values for use by a script can be a great option if you have a CM-controlled script but need to be able to tweak some values for a test or if you need to use different values for different serial numbers. The Ruby CSV class be used to easily read data from CSV files (recommended for cross platform projects). require 'csv' values = CSV.read('test.csv') puts values[0][0] If you are only using Windows, COSMOS also contains a library for reading Excel files. require 'openc3/win32/excel' ss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx') puts ss[0][0][0] ","version":"Next","tagName":"h3"},{"title":"When to use Ruby Modules​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-to-use-ruby-modules","content":" Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though. Mixins allow adding common methods to classes without using inheritance. Mixins can be useful to add common functionality to some classes but not others, or to break up classes into multiple files. module MyModule def module_method end end class MyTest < OpenC3::Group include MyModule def test_1 module_method() end end ","version":"Next","tagName":"h3"},{"title":"Screens","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry-screens","content":"","keywords":"","version":"Next"},{"title":"Definitions​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#definitions","content":" Name\tDefinitionWidget\tA widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task. Screen\tA screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion. Screen Definition File\tA screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them. ","version":"Next","tagName":"h2"},{"title":"Telemetry Screen Definition Files​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-screen-definition-files","content":" Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase. ","version":"Next","tagName":"h2"},{"title":"New Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#new-widgets","content":" When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the Custom Widgets guide. Screen Keywords ","version":"Next","tagName":"h2"},{"title":"SCREEN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#screen","content":" Define a telemetry viewer screen The SCREEN keyword is the first keyword in any telemetry screen definition. It defines the name of the screen and parameters that affect the screen overall. Parameter\tDescription\tRequiredWidth\tWidth in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Height\tHeight in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Polling Period\tNumber of seconds between screen updates\tTrue Example Usage: SCREEN AUTO AUTO 1.0 FIXED ","version":"Next","tagName":"h2"},{"title":"END​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#end","content":" Indicates the close of a layout widget All layout widgets must be closed to properly identify where they stop. For example, a VERTICALBOX keyword must be matched with an END keyword to indicate where the VERTICALBOX ends. ","version":"Next","tagName":"h2"},{"title":"STALE_TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#stale_time","content":" (Since 5.1.0) Values are marked stale if the packet time is more than Stale Time seconds in the past Parameter\tDescription\tRequiredvalue\tItems from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.\tTrue Example Usage: STALE_TIME 5 # Number of seconds to wait before marking data stale ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_setting","content":" Applies a widget setting to all widgets of a certain type Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_subsetting","content":" Applies a widget subsetting to all widgets of a certain type Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABELVALUE.\tTrue Subwidget Index\tIndex to the desired subwidget\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: # Set all text color to white for labelvaluelimitsbars GLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white ","version":"Next","tagName":"h2"},{"title":"SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#setting","content":" Applies a widget setting to the previously defined widget Settings allow for additional tweaks and options to be applied to widgets that are not available in their parameters. These settings are all configured through the SETTING, SUBSETTING, GLOBAL_SETTING and GLOBAL_SUBSETTING keywords. SETTING and SUBSETTING applies only to the widget defined immediately before it. GLOBAL_SETTING and GLOBAL_SUBSETTING applies to all widgets. Common wiget settings are defined here. Some widgets define their own unique settings which are documented under that specific widget. ","version":"Next","tagName":"h2"},{"title":"WIDTH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#width","content":" Sets the widget width WIDTH supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredWidth\tWidth in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING WIDTH 50 LABEL "THIS IS A TEST" SETTING WIDTH 20em ","version":"Next","tagName":"h3"},{"title":"HEIGHT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#height","content":" Sets the widget height HEIGHT supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredHeight\tHeight in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE SETTING HEIGHT 50 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING HEIGHT 2em ","version":"Next","tagName":"h3"},{"title":"MARGIN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#margin","content":" Sets the widget margin MARGIN supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING MARGIN 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"PADDING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#padding","content":" Sets the widget padding PADDING supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING PADDING 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"BACKCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#backcolor","content":" The BACKCOLOR setting sets the background color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR red LABEL "THIS IS A TEST" SETTING BACKCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"TEXTCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textcolor","content":" The TEXTCOLOR setting sets the text color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING TEXTCOLOR red LABEL "THIS IS A TEST" SETTING TEXTCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"BORDERCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#bordercolor","content":" The BORDERCOLOR setting sets the border color for a layout widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: HORIZONTAL LABEL "Label 1" END SETTING BORDERCOLOR red VERTICAL LABEL "Label 2" END SETTING BORDERCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"RAW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#raw","content":" Apply a raw CSS stylesheet key and value Parameter\tDescription\tRequiredKey\tCSS key like font-size, max-width, etc\tTrue Value\tCSS Value\tTrue Example Usage: LABEL "Label 1" SETTING RAW font-size 30px ","version":"Next","tagName":"h3"},{"title":"SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#subsetting","content":" Applies a widget subsetting to the previously defined widget Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredSubwidget Index\tIndex to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR green # Change the label's text to green END ","version":"Next","tagName":"h2"},{"title":"NAMED_WIDGET​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#named_widget","content":" Name a widget to allow access to it via the getNamedWidget method To programmatically access parts of a telemetry screen you need to name the widget. This is useful when creating screens with buttons that read values from other widgets. warning getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget Parameter\tDescription\tRequiredWidget Name\tThe unique name applied to the following widget instance. Names must be unique per screen.\tTrue Widget Type\tOne of the widget types listed in Widget Descriptions\tTrue Widget Parameters\tThe unique parameters for the given widget type\tTrue Example Usage: NAMED_WIDGET DURATION TEXTFIELD BUTTON "Push" "screen.getNamedWidget('DURATION').text()" ","version":"Next","tagName":"h2"},{"title":"Layout Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#layout-widgets","content":" Layout widgets are used to position other widgets on the screen. For example, the HORIZONTAL layout widget places the widgets it encapsulates horizontally on the screen. ","version":"Next","tagName":"h2"},{"title":"VERTICAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#vertical","content":" Places the widgets it encapsulates vertically The screen defaults to a vertical layout, so if no layout widgets are specified, all widgets will be automatically placed within a VERTICAL layout widget. The VERTICAL widget sizes itself to fit its contents. Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICAL 5px LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"VERTICALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#verticalbox","content":" Places the widgets it encapsulates vertically inside a thin border The VERTICALBOX widget sizes itself to fit its contents vertically and to fit the screen horizontally Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICALBOX Info LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontal","content":" Places the widgets it encapsulates horizontally The HORIZONTAL widget sizes itself to fit its contents Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTAL 100 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalbox","content":" Places the widgets it encapsulates horizontally inside a thin border The HORIZONTALBOX widget sizes itself to fit its contents Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTALBOX Info 10 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"MATRIXBYCOLUMNS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#matrixbycolumns","content":" Places the widgets into a table-like matrix The MATRIXBYCOLUMNS widget sizes itself to fit its contents Parameter\tDescription\tRequiredColumns\tThe number of columns to create\tTrue Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: MATRIXBYCOLUMNS 3 10 LABEL "COL 1" LABEL "COL 2" LABEL "COL 3" LABEL "100" LABEL "200" LABEL "300" END ","version":"Next","tagName":"h3"},{"title":"SCROLLWINDOW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#scrollwindow","content":" Places the widgets inside of it into a scrollable area The SCROLLWINDOW widget sizes itself to fit the screen in which it is contained Parameter\tDescription\tRequiredHeight\tMaximum height of the scroll window in pixels (default = 200)\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: SCROLLWINDOW 100 10 VERTICAL LABEL "100" LABEL "200" LABEL "300" LABEL "400" LABEL "500" LABEL "600" LABEL "700" LABEL "800" LABEL "900" END END ","version":"Next","tagName":"h3"},{"title":"TABBOOK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabbook","content":" Creates a tabbed area in which to place TABITEM widgets ","version":"Next","tagName":"h3"},{"title":"TABITEM​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabitem","content":" Creates a VERTICAL layout tab into which to place widgets Parameter\tDescription\tRequiredTab text\tText to display in the tab\tTrue Example Usage: TABBOOK TABITEM "Tab 1" LABEL "100" LABEL "200" END TABITEM "Tab 2" LABEL "300" LABEL "400" END END ","version":"Next","tagName":"h3"},{"title":"IFRAME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#iframe","content":" Open external tools in an Iframe within OpenC3 Parameter\tDescription\tRequiredURL\tThe path to the page to display in the iframe\tTrue Width\tWidth of the widget\tFalse Height\tHeight of the widget\tFalse Example Usage: IFRAME https://openc3.com 900 450 ","version":"Next","tagName":"h3"},{"title":"Decoration Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#decoration-widgets","content":" Decoration widgets are used to enhance the appearance of the screen. They do not respond to input, nor does the output vary with telemetry. ","version":"Next","tagName":"h2"},{"title":"LABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#label","content":" Displays text on the screen Generally, label widgets contain a telemetry mnemonic and are placed next to the telemetry VALUE widget. Parameter\tDescription\tRequiredText\tText to display on the label\tTrue Example Usage: LABEL "Note: This is only a warning" ","version":"Next","tagName":"h3"},{"title":"HORIZONTALLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalline","content":" (Since 5.5.1) Displays a horizontal line on the screen that can be used as a separator Example Usage: LABEL Over HORIZONTALLINE LABEL Under ","version":"Next","tagName":"h3"},{"title":"TITLE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#title","content":" Displays a large centered title on the screen Parameter\tDescription\tRequiredText\tText to display\tTrue Example Usage: TITLE "Title" HORIZONTALLINE LABEL "Label" ","version":"Next","tagName":"h3"},{"title":"SPACER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#spacer","content":" Places a fixed size spacer in between widgets Parameter\tDescription\tRequiredWidth\tWidth of the spacer in pixels\tTrue Height\tHeight of the spacer in pixels\tTrue Example Usage: VERTICAL 3 LABEL "Spacer below" SPACER 0 100 LABEL "Spacer above" END ","version":"Next","tagName":"h3"},{"title":"Telemetry Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-widgets","content":" Telemetry widgets are used to display telemetry values. The first parameters to each of these widgets is a telemetry mnemonic. Depending on the type and purpose of the telemetry item, the screen designer may select from a wide selection of widgets to display the value in the most useful format. ","version":"Next","tagName":"h2"},{"title":"ARRAY​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#array","content":" Displays ARRAY data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Items per row\tNumber of array items per row (default = 4)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED ARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS ","version":"Next","tagName":"h3"},{"title":"BLOCK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#block","content":" Displays BLOCK data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Bytes per word\tNumber of bytes per word (default = 4)\tFalse Words per row\tNumber of words per row (default = 4\tFalse Address format\tFormat for the address printed at the beginning of each line (default = nil which means do not print an address)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:" ","version":"Next","tagName":"h3"},{"title":"FORMATVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#formatvalue","content":" Displays a box with a formatted value Data is formatted by the specified string rather than by a format string given in the telemetry definition files. The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Format string\tPrintf style format string to apply to the telemetry item\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20 FORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20 ","version":"Next","tagName":"h3"},{"title":"LABELLED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelled","content":" Displays a LABEL followed by a LED Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Justification\tHow to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite. Valid Values: SPLIT, CENTER, LEFT, RIGHT\tFalse Example Usage: LABELLED INST PARAMS VALUE1 SETTING LED_COLOR GOOD GREEN SETTING LED_COLOR BAD RED The following settings apply to LABELLED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELPROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelprogressbar","content":" Displays a LABEL with the item name followed by a PROGRESSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 80 pixels\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW LABELPROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"LABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvalue","content":" Displays a LABEL with the item name followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUE INST LATEST TIMESEC CONVERTED 18 LABELVALUE INST LATEST COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUEDESC​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluedesc","content":" Displays a LABEL with the items description followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Description\tThe description to display in the label (default is to display the description text associated with the telemetry item)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18 LABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitsbar","content":" Displays a LABEL with the item name followed by VALUE and LIMITSBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitscolumn","content":" Displays a LABEL with the item name followed by VALUE and LIMITSCOLUMN widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LABELVALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluerangebar","content":" Displays a LABEL with the item name followed by VALUE and RANGEBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#led","content":" Displays a LED which changes color based on telemetry values By default TRUE is green and FALSE is red and all other values are black. Additional values can be added by using the LED_COLOR setting. For example LED INST PARAMS VALUE3 RAW can be followed by SETTING LED_COLOR 0 GREEN, SETTING LED_COLOR 1 RED, and SETTING LED_COLOR ANY ORANGE. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Example Usage: LED INST PARAMS VALUE5 RAW 25 20 # Ellipse SETTING LED_COLOR 0 GREEN SETTING LED_COLOR 1 RED SETTING LED_COLOR ANY YELLOW The following settings apply to LED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitsbar","content":" Displays an item's current value within its colored limits horizontally Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50 LIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolumn","content":" Displays an item's current value within its colored limits vertically Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200 LIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolor","content":" Displays a circle depicting the limits color of an item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Radius\tRadius of the circle (default is 10)\tFalse Full Item Name\tShow the full item name (default is false)\tFalse Example Usage: LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE LIMITSCOLOR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitsbar","content":" Displays an item VALUE followed by LIMITSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitscolumn","content":" Displays an item VALUE followed by LIMITSCOLUMN Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 8)\tFalse Example Usage: VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuerangebar","content":" Displays an item VALUE followed by RANGEBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 VALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LINEGRAPH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#linegraph","content":" Displays a line graph of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LINEGRAPH INST HEALTH_STATUS TEMP1 SETTING ITEM INST ADCS Q1 # Add additional item to graph The following settings apply to LINEGRAPH. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"SPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#sparkline","content":" Displays a sparkline graph (no cursor, scale or legend) of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: SPARKLINE INST HEALTH_STATUS TEMP1 SETTING SIZE 400 50 SETTING HISTORY 30s # Add 30 seconds of data into graph The following settings apply to SPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELSPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelsparkline","content":" Displays a LABEL with the item name followed by a SPARKLINE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LABELSPARKLINE INST HEALTH_STATUS TEMP1 SETTING HISTORY 5m # Add 5 minutes of data into graph The following settings apply to LABELSPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"IMAGEVIEWER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#imageviewer","content":" Display a base64 image from a TLM packet Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item.\tTrue Format\tThe image format of the base64 data (e.g. jpg, png, etc)\tTrue Example Usage: IMAGEVIEWER INST IMAGE IMAGE jpg ","version":"Next","tagName":"h3"},{"title":"PROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#progressbar","content":" Displays a progress bar that is useful for displaying percentages Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 100 pixels)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: PROGRESSBAR INST ADCS POSPROGRESS 0.5 200 PROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"RANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rangebar","content":" Displays a custom range bar displaying the item value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 100)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50 RANGEBAR INST HEALTH_STATUS TEMP1 -100 100 ","version":"Next","tagName":"h3"},{"title":"ROLLUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rollup","content":" (Since 5.17.1) Displays a notification icon which changes color based on a rollup telemetry Parameter\tDescription\tRequiredIcon name\tThe astro UX icon to display. Valid choices are 'astro' icons taken from https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json.\tTrue Icon label\tText to apply to the icon label\tFalse Icon sublabel\tText to apply to the icon sublabel\tFalse Example Usage: ROLLUP satellite-transmit "SAT 1" "Details" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP1 SETTING TLM INST HEALTH_STATUS TEMP2 ROLLUP antenna "GND 2" "Location" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP3 SETTING TLM INST HEALTH_STATUS TEMP4 ","version":"Next","tagName":"h3"},{"title":"SIGNAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#signal","content":" (Since 5.17.2) Displays a cellular signal icon which changes based on telemetry value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Example Usage: SIGNAL INST HEALTH_STATUS TEMP1 # Screen to open on click SETTING SCREEN INST HS # Values to compare when setting the 1-bar, 2-bar and 3-bar icons # Default is 30, 60, 90 (e.g. 0 to 100 range) # Value < -50 display no bars # Value >= -50 and < 0 displays 1 bar # Value >= 0 and < 50 displays 2 bars # Value >= 50 displays 5 bars SETTING RANGE -50 0 50 ","version":"Next","tagName":"h3"},{"title":"TEXTBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textbox","content":" Provides a large box for multiline text Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the textbox in px (default = 200)\tFalse Height\tHeight of the textbox in px (default = 200)\tFalse Example Usage: TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70 ","version":"Next","tagName":"h3"},{"title":"VALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#value","content":" Displays a box with a telemetry item value The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUE INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"Interactive Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#interactive-widgets","content":" Interactive widgets are used to gather input from the user. Unlike all other widgets, which only output some graphical representation, interactive widgets permit input either from the keyboard or mouse. ","version":"Next","tagName":"h2"},{"title":"BUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#button","content":" Displays a rectangular clickable button Upon clicking, the button executes the Javascript code assigned. Buttons can be used to send commands and perform other tasks. If you want your button to use values from other widgets, define them as named widgets and read their values using the screen.getNamedWidget("WIDGET_NAME").text() method. See the example in CHECKBUTTON. Button code can get rather complex so remember to use string concatenation to make things more readable. If you use + newlines are inserted automatically during string concatenation. If you use \\ you'll need to separate lines with a single semicolon ;. COSMOS uses double semicolon ;; to indicate lines should be evaluated separately. Note that all OpenC3 commands (using api.cmd) must be separated by ;;. You can send commands with buttons using api.cmd(). The cmd() syntax looks exactly like the standard COSMOS scripting syntax. You can also request and use telemetry in screens using Javascript Promises. api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))" The api.tlm() function returns a Promise which is resolved with then() at which point we send the command with the telemetry value we received. Scripts can be launched from a BUTTON using the runScript() method. runScript() takes three parameters, the name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of environment variables. For example: runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'}) Parameter\tDescription\tRequiredButton Text\tText displayed on the button\tTrue Button Code\tJavascript code to execute when the button is pressed\tTrue Example Usage: BUTTON 'Start Collect' 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION 5")' BUTTON 'Run Checks' 'runScript("INST/procedures/checks.rb")' # More complex example with background checkbox and env vars NAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb NAMED_WIDGET BG CHECKBUTTON 'Background' BUTTON 'Run Script' "var script=screen.getNamedWidget('SCRIPTNAME').text();" \\ # Set an environment variable to be used by the script as ENV['TYPE'] "var env = {}; env['TYPE'] = 'TEST';" \\ "runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)" ","version":"Next","tagName":"h3"},{"title":"CHECKBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#checkbutton","content":" Displays a check box Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredCheckbox Text\tText displayed next to the checkbox\tTrue Example Usage: NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' BUTTON 'Send' 'screen.getNamedWidget("CHECK").checked() ? ' \\ 'api.cmd_no_hazardous_check("INST CLEAR") : api.cmd("INST CLEAR")' ","version":"Next","tagName":"h3"},{"title":"COMBOBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#combobox","content":" Displays a drop down list of text items Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredOption Text 1\tText to display in the selection drop down\tTrue Option Text n\tText to display in the selection drop down\tFalse Example Usage: BUTTON 'Start Collect' 'var type = screen.getNamedWidget("COLLECT_TYPE").text();' + 'api.cmd("INST COLLECT with TYPE "+type+", DURATION 10.0")' NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL ","version":"Next","tagName":"h3"},{"title":"DATE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#date","content":" Displays a date picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredDate label\tText to label the data selection ('Date' by default)\tFalse Example Usage: BUTTON 'Alert Date' 'var date = screen.getNamedWidget("DATE").text();' + 'alert("Date:"+date)' NAMED_WIDGET DATE DATE ","version":"Next","tagName":"h3"},{"title":"RADIOGROUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiogroup","content":" Creates a group of RADIOBUTTONs RADIOBUTTONs must be part of a group to enable selection logic Parameter\tDescription\tRequiredInitial selected button\tSelects a radio button at initialization (0-based)\tFalse ","version":"Next","tagName":"h3"},{"title":"RADIOBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiobutton","content":" Displays a radio button and text Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. It must be contained by a RADIOGROUP to enable typical selection of a single RADIOBUTTON. Parameter\tDescription\tRequiredText\tText to display next to the radio button\tTrue Example Usage: NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? " + "api.cmd('INST ABORT') : api.cmd('INST CLEAR')" ","version":"Next","tagName":"h3"},{"title":"TEXTFIELD​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textfield","content":" Displays a rectangular box where the user can enter text Parameter\tDescription\tRequiredCharacters\tWidth of the text field in characters (default = 12)\tFalse Text\tDefault text to put in the text field (default is blank)\tFalse Example Usage: NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" BUTTON 'Start Collect' 'var dur = screen.getNamedWidget("DURATION").text();' + 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")' ","version":"Next","tagName":"h3"},{"title":"TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#time","content":" Displays a time picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredTime label\tText to label the time selection ('Time' by default)\tFalse Example Usage: BUTTON 'Alert Time' 'var time = screen.getNamedWidget("TIME").text();' + 'alert("Time:"+time)' NAMED_WIDGET TIME TIME ","version":"Next","tagName":"h3"},{"title":"Canvas Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas-widgets","content":" Canvas Widgets are used to draw custom displays into telemetry screens. The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. ","version":"Next","tagName":"h2"},{"title":"CANVAS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas","content":" Layout widget for the other canvas widgets All canvas widgets must be enclosed within a CANVAS widget. warning The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. Parameter\tDescription\tRequiredWidth\tWidth of the canvas\tTrue Height\tHeight of the canvas\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabel","content":" Draws text onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Text\tText to draw onto the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Example Usage: CANVAS 100 100 CANVASLABEL 5 34 "Label1" 24 red CANVASLABEL 5 70 "Label2" 18 blue END ","version":"Next","tagName":"h3"},{"title":"CANVASLABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabelvalue","content":" Draws the text value of a telemetry item onto the canvas in an optional frame Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue X Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 200 100 CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS END ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimage","content":" Displays an image on the canvas Parameter\tDescription\tRequiredImage filename\tName of a image file. The file must be in the plugin's targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Example Usage: CANVAS 250 430 CANVASIMAGE "satellite.png" 10 10 200 200 SETTING SCREEN INST HS CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150 END The following settings apply to CANVASIMAGE. They are applied using the SETTING keyword. SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimagevalue","content":" Displays an image on the canvas that changes with a telemetry value Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tTrue Default image filename\tThe default image to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Image width\tWidth of the image (default is 100%)\tFalse Image height\tHeight of the image (default is 100%)\tFalse Example Usage: CANVAS 230 230 CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180 SETTING IMAGE CONNECTED "ground_on.png" 10 10 SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10 SETTING SCREEN INST HS END The following settings apply to CANVASIMAGEVALUE. They are applied using the SETTING keyword. IMAGE​ Map an image to a state or value Parameter\tDescription\tRequiredValue\tState or value\tTrue Image filename\tImage to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasline","content":" Draws a line onto the canvas Parameter\tDescription\tRequiredStart X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Color\tColor of the line\tFalse Width\tWidth of the line in pixels (default = 1)\tFalse Example Usage: CANVAS 100 50 CANVASLINE 5 5 95 5 CANVASLINE 5 5 5 45 green 2 CANVASLINE 95 5 95 45 blue 3 END ","version":"Next","tagName":"h3"},{"title":"CANVASLINEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslinevalue","content":" Draws a color changing line onto the canvas The line is represented by one of two colors based on the value of the associated telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Start X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Width\tWidth of the line in pixels (default = 3)\tFalse Value type\tThe type of the value to display. Default is CONVERTED Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 120 50 CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW SETTING VALUE_EQ 1 GREEN SETTING VALUE_EQ 0 RED CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45 SETTING VALUE_EQ CONNECTED GREEN SETTING VALUE_EQ UNAVAILABLE RED END The following settings apply to CANVASLINEVALUE. They are applied using the SETTING keyword. VALUE_EQ​ (Since 5.5.1) Map a value to a color Parameter\tDescription\tRequiredValue\tState or value\tTrue Color\tColor of the line\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASDOT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasdot","content":" Draws a dot onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the dot\tTrue Y Position\tY position of the dot\tTrue Color\tColor of the dot\tTrue Radius\tRadius of the dot in pixels\tTrue Example Usage: CANVAS 50 50 CANVASDOT 10 15 BLUE 5 END ","version":"Next","tagName":"h3"},{"title":"Example File​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#example-file","content":" Example File: TARGET/myscreen.txt SCREEN AUTO AUTO 0.5 VERTICAL TITLE "<%= target_name %> Commanding Examples" LABELVALUE INST HEALTH_STATUS COLLECTS LABELVALUE INST HEALTH_STATUS COLLECT_TYPE LABELVALUE INST HEALTH_STATUS DURATION VERTICALBOX "Send Collect Command:" HORIZONTAL LABEL "Type: " NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL END HORIZONTAL LABEL " Duration: " NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" END BUTTON 'Start Collect' "api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())" END SETTING BACKCOLOR 163 185 163 VERTICALBOX "Parameter-less Commands:" NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))" END SETTING BACKCOLOR 163 185 163 END ","version":"Next","tagName":"h2"},{"title":"Scripting API Guide","type":0,"sectionRef":"#","url":"/docs/guides/scripting-api","content":"","keywords":"","version":"Next"},{"title":"Concepts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Programming Languages​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#programming-languages","content":" COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the Script Writing Guide. ","version":"Next","tagName":"h3"},{"title":"Using Script Runner​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#using-script-runner","content":" Script Runner is a graphical application that provides the ideal environment for running and implementing your test procedures. The Script Runner tool is broken into 4 main sections. At the top of the tool is a menu bar that allows you to do such things as open and save files, perform a syntax check, and execute your script. Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time. Third is the display of the actual script. While the script is not running, you may edit and compose scripts in this area. A handy code completion feature is provided that will list out the available commands or telemetry points as you are writing your script. Simply begin writing a cmd( or tlm( line to bring up code completion. This feature greatly reduces typos in command and telemetry mnemonics. Finally, the bottom of the display is the log messages. All commands that are sent, errors that occur, and user print statements appear in this area. ","version":"Next","tagName":"h3"},{"title":"Telemetry Types​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#telemetry-types","content":" There are four different ways that telemetry values can be retrieved in COSMOS. The following chart explains their differences. Telemetry Type\tDescriptionRaw\tRaw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil. Converted\tConverted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts. Formatted\tFormatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string. Formatted with Units\tFormatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry. ","version":"Next","tagName":"h3"},{"title":"Script Runner API​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-api","content":" The following methods are designed to be used in Script Runner procedures. Many can also be used in custom built COSMOS tools. Please see the COSMOS Tool API section for methods that are more efficient to use in custom tools. ","version":"Next","tagName":"h2"},{"title":"Migration from COSMOS v5 to v6​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v5-to-v6","content":" The following API methods have been removed from COSMOS v6. Most of the deprecated API methods still remain for backwards compatibility. Method\tTool\tStatusget_all_target_info\tCommand and Telemetry Server\tRemoved, use get_target_interfaces play_wav_file\tScript Runner\tRemoved status_bar\tScript Runner\tRemoved ","version":"Next","tagName":"h3"},{"title":"Migration from COSMOS v4 to v5​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v4-to-v5","content":" The following API methods are either deprecated (will not be ported to COSMOS 5) or currently unimplemented (eventually will be ported to COSMOS 5): Method\tTool\tStatusclear\tTelemetry Viewer\tDeprecated, use clear_screen clear_all\tTelemetry Viewer\tDeprecated, use clear_all_screens close_local_screens\tTelemetry Viewer\tDeprecated, use clear_screen clear_disconnected_targets\tScript Runner\tDeprecated cmd_tlm_clear_counters\tCommand and Telemetry Server\tDeprecated cmd_tlm_reload\tCommand and Telemetry Server\tDeprecated display\tTelemetry Viewer\tDeprecated, use display_screen get_all_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_all_target_info\tCommand and Telemetry Server\tDeprecated, use get_target_interfaces get_background_tasks\tCommand and Telemetry Server\tDeprecated get_all_cmd_info\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_all_tlm_info\tCommand and Telemetry Server\tDeprecated, use get_all_tlm get_cmd_list\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_cmd_log_filename\tCommand and Telemetry Server\tDeprecated get_cmd_param_list\tCommand and Telemetry Server\tDeprecated, use get_cmd get_cmd_tlm_disconnect\tScript Runner\tDeprecated, use $disconnect get_disconnected_targets\tScript Runner\tUnimplemented get_interface_info\tCommand and Telemetry Server\tDeprecated, use get_interface get_interface_targets\tCommand and Telemetry Server\tDeprecated get_output_logs_filenames\tCommand and Telemetry Server\tDeprecated get_packet\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_data\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_packet_loggers\tCommand and Telemetry Server\tDeprecated get_replay_mode\tReplay\tDeprecated get_router_info\tCommand and Telemetry Server\tDeprecated, use get_router get_scriptrunner_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_message\tCommand and Telemetry Server\tDeprecated get_server_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_status\tCommand and Telemetry Server\tDeprecated get_stale\tCommand and Telemetry Server\tDeprecated get_target_ignored_items\tCommand and Telemetry Server\tDeprecated, use get_target get_target_ignored_parameters\tCommand and Telemetry Server\tDeprecated, use get_target get_target_info\tCommand and Telemetry Server\tDeprecated, use get_target get_target_list\tCommand and Telemetry Server\tDeprecated, use get_target_names get_tlm_details\tCommand and Telemetry Server\tDeprecated get_tlm_item_list\tCommand and Telemetry Server\tDeprecated get_tlm_list\tCommand and Telemetry Server\tDeprecated get_tlm_log_filename\tCommand and Telemetry Server\tDeprecated interface_state\tCommand and Telemetry Server\tDeprecated, use get_interface override_tlm_raw\tCommand and Telemetry Server\tDeprecated, use override_tlm open_directory_dialog\tScript Runner\tDeprecated play_wav_file\tScript Runner\tDeprecated replay_move_end\tReplay\tDeprecated replay_move_index\tReplay\tDeprecated replay_move_start\tReplay\tDeprecated replay_play\tReplay\tDeprecated replay_reverse_play\tReplay\tDeprecated replay_select_file\tReplay\tDeprecated replay_set_playback_delay\tReplay\tDeprecated replay_status\tReplay\tDeprecated replay_step_back\tReplay\tDeprecated replay_step_forward\tReplay\tDeprecated replay_stop\tReplay\tDeprecated require_utility\tScript Runner\tDeprecated but exists for backwards compatibility, use load_utility router_state\tCommand and Telemetry Server\tDeprecated, use get_router save_file_dialog\tScript Runner\tDeprecated save_setting\tCommand and Telemetry Server\tDeprecated but exists for backwards compatibility, use set_setting set_cmd_tlm_disconnect\tScript Runner\tDeprecated, use disconnect_script set_disconnected_targets\tScript Runner\tUnimplemented set_replay_mode\tReplay\tDeprecated set_stdout_max_lines\tScript Runner\tDeprecated set_tlm_raw\tScript Runner\tDeprecated, use set_tlm show_backtrace\tScript Runner\tDeprecated, backtrace always shown status_bar\tScript Runner\tDeprecated shutdown_cmd_tlm\tCommand and Telemetry Server\tDeprecated start_cmd_log\tCommand and Telemetry Server\tDeprecated start_logging\tCommand and Telemetry Server\tDeprecated start_new_scriptrunner_message_log\tCommand and Telemetry Server\tDeprecated start_new_server_message_log\tCommand and Telemetry Server\tDeprecated start_tlm_log\tCommand and Telemetry Server\tDeprecated stop_background_task\tCommand and Telemetry Server\tDeprecated stop_cmd_log\tCommand and Telemetry Server\tDeprecated stop_logging\tCommand and Telemetry Server\tDeprecated stop_tlm_log\tCommand and Telemetry Server\tDeprecated subscribe_limits_events\tCommand and Telemetry Server\tDeprecated subscribe_packet_data\tCommand and Telemetry Server\tDeprecated, use subscribe_packets subscribe_server_messages\tCommand and Telemetry Server\tUnimplemented tlm_variable\tScript Runner\tDeprecated, use tlm() and pass type unsubscribe_limits_events\tCommand and Telemetry Server\tDeprecated unsubscribe_packet_data\tCommand and Telemetry Server\tDeprecated unsubscribe_server_messages\tCommand and Telemetry Server\tDeprecated wait_raw\tScript Runner\tDeprecated, use wait(..., type: :RAW) wait_check_raw\tScript Runner\tDeprecated, use wait_check(..., type: :RAW) wait_tolerance_raw\tScript Runner\tDeprecated, use wait_tolerance(..., type: :RAW) wait_check_tolerance_raw\tScript Runner\tDeprecated, use wait_check_tolerance(..., type: :RAW) ","version":"Next","tagName":"h3"},{"title":"Retrieving User Input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#retrieving-user-input","content":" These methods allow the user to enter values that are needed by the script. ","version":"Next","tagName":"h2"},{"title":"ask​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask","content":" Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned. Ruby / Python Syntax: ask("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", true) value = ask("Enter a value", 10) password = ask("Enter your password", false, true) Python Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", True) value = ask("Enter a value", 10) password = ask("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"ask_string​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask_string","content":" Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned. Ruby / Python Syntax: ask_string("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", true) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", false, true) Python Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", True) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#message_box","content":" ","version":"Next","tagName":"h3"},{"title":"vertical_message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#vertical_message_box","content":" ","version":"Next","tagName":"h3"},{"title":"combo_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#combo_box","content":" The message_box, vertical_message_box, and combo_box methods create a message box with arbitrary buttons or selections that the user can click. The text of the button clicked is returned. Ruby / Python Syntax: message_box("<message>", "<button text 1>", ...) vertical_message_box("<message>", "<button text 1>", ...) combo_box("<message>", "<selection text 1>", ...) Parameter\tDescriptionmessage\tMessage to prompt the user with. button/selection text\tText for a button or selection Ruby Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') case value when 'One' puts 'Sensor One' when 'Two' puts 'Sensor Two' end Python Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') match value: case 'One': print('Sensor One') case 'Two': print('Sensor Two') ","version":"Next","tagName":"h3"},{"title":"get_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_file","content":" Return a file handle to a file in the target directory Ruby Syntax: get_target_file("<File Path>", original: false) Python Syntax: get_target_file("<File Path>", original=False) Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb original\tWhether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original. Ruby Example: file = get_target_file("INST/data/attitude.bin") puts file.read().formatted # format a binary file file.unlink # delete file file = get_target_file("INST/procedures/checks.rb", original: true) puts file.read() file.unlink # delete file Python Example: from openc3.utilities.string import formatted file = get_target_file("INST/data/attitude.bin") print(formatted(file.read())) # format a binary file file.close() # delete file file = get_target_file("INST/procedures/checks.rb", original=True) print(file.read()) file.close() # delete file ","version":"Next","tagName":"h3"},{"title":"put_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#put_target_file","content":" Writes a file to the target directory Ruby or Python Syntax: put_target_file("<File Path>", "IO or String") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten. data\tThe data can be an IO object or String Ruby Example: put_target_file("INST/test1.txt", "this is a string test") file = Tempfile.new('test') file.write("this is a Io test") file.rewind put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", "\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary Python Example: put_target_file("INST/test1.txt", "this is a string test") file = tempfile.NamedTemporaryFile(mode="w+t") file.write("this is a Io test") file.seek(0) put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", b"\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary ","version":"Next","tagName":"h3"},{"title":"delete_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_target_file","content":" Delete a file in the target directory Ruby / Python Syntax: delete_target_file("<File Path>") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain. Ruby / Python Example: put_target_file("INST/delete_me.txt", "to be deleted") delete_target_file("INST/delete_me.txt") ","version":"Next","tagName":"h3"},{"title":"open_file_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_file_dialog","content":" ","version":"Next","tagName":"h3"},{"title":"open_files_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_files_dialog","content":" The open_file_dialog and open_files_dialog methods create a file dialog box so the user can select a single or multiple files. The selected file(s) is returned. Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files. Ruby Syntax: open_file_dialog("<title>", "<message>", filter: "<filter>") open_files_dialog("<title>", "<message>", filter: "<filter>") Python Syntax: open_file_dialog("<title>", "<message>", filter="<filter>") open_files_dialog("<title>", "<message>", filter="<filter>") Parameter\tDescriptionTitle\tThe title to put on the dialog. Required. Message\tThe message to display in the dialog box. Optional parameter. filter\tNamed parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept for more information. Ruby Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt") puts file # Ruby File object puts file.read file.delete files = open_files_dialog("Open multiple files") # message is optional puts files # Array of File objects (even if you select only one) files.each do |file| puts file puts file.read file.delete end Python Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt") print(file) print(file.read()) file.close() files = open_files_dialog("Open multiple files") # message is optional print(files) # Array of File objects (even if you select only one) for file in files: print(file) print(file.read()) file.close() ","version":"Next","tagName":"h3"},{"title":"Providing information to the user​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#providing-information-to-the-user","content":" These methods notify the user that something has occurred. ","version":"Next","tagName":"h2"},{"title":"prompt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#prompt","content":" Displays a message to the user and waits for them to press an ok button. Ruby / Python Syntax: prompt("<message>") Parameter\tDescriptionmessage\tMessage to prompt the user with. Ruby / Python Example: prompt("Press OK to continue") ","version":"Next","tagName":"h3"},{"title":"Commands​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#commands","content":" These methods provide capability to send commands to a target and receive information about commands in the system. ","version":"Next","tagName":"h2"},{"title":"cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd","content":" Sends a specified command. Ruby Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") # In Ruby the brackets around parameters are optional cmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL") cmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" }) cmd("INST ABORT", timeout: 10, log_message: false) Python Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") cmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" }) cmd("INST ABORT", timeout=10, log_message=False) ","version":"Next","tagName":"h3"},{"title":"cmd_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_range_check","content":" Sends a specified command without performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL") Python Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_hazardous_check","content":" Sends a specified command without performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_no_hazardous_check("INST CLEAR") cmd_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_checks","content":" Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL") Python Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw","content":" Sends a specified command without running conversions. Ruby Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0) Python Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_range_check","content":" Sends a specified command without running conversions or performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0) Python Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_hazardous_check","content":" Sends a specified command without running conversions or performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_raw_no_hazardous_check("INST CLEAR") cmd_raw_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_checks","content":" Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1) Python Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1}) ","version":"Next","tagName":"h3"},{"title":"build_cmd (since 5.13.0, since 5.8.0 as build_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#build_cmd-since-5130-since-580-as-build_command","content":" Builds a command binary string Ruby Syntax: build_cmd(<ARGS>, range_check: true, raw: false) Python Syntax: build_cmd(<ARGS>, range_check=True, raw=False) Parameter\tDescriptionARGS\tCommand parameters (see cmd) range_check\tWhether to perform range checking on the command. Default is true. raw\tWhether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED. Ruby Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") puts x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00A \\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") print(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00A \\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"send_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#send_raw","content":" Sends raw data on an interface. Ruby / Python Syntax: send_raw(<Interface Name>, <Data>) Parameter\tDescriptionInterface Name\tName of the interface to send the raw data on. Data\tRaw ruby string of data to send. Ruby / Python Example: send_raw("INST_INT", data) ","version":"Next","tagName":"h3"},{"title":"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmds-since-5130-since-500-as-get_all_commands","content":" Returns an array of the commands that are available for a particular target. The returned array is an array of hashes which fully describe the command packet. Ruby / Python Syntax: get_all_cmds("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: cmd_list = get_all_cmds("INST") puts cmd_list #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: cmd_list = get_all_cmds("INST") print(cmd_list) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmd_names-since-5130-since-506-as-get_all_command_names","content":" Returns an array of the command names for a particular target. Ruby / Python Syntax: get_all_cmd_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby Example: cmd_list = get_all_cmd_names("INST") puts cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] Python Example: cmd_list = get_all_cmd_names("INST") print(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] ","version":"Next","tagName":"h3"},{"title":"get_cmd (since 5.13.0, since 5.0.0 as get_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd-since-5130-since-500-as-get_command","content":" Returns a command hash which fully describes the command packet. Ruby / Python Syntax: get_cmd("<Target Name> <Packet Name>") get_cmd("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: abort_cmd = get_cmd("INST ABORT") puts abort_cmd #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: abort_cmd = get_cmd("INST ABORT") print(abort_cmd) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_param (since 5.13.0, since 5.0.0 as get_parameter)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_param-since-5130-since-500-as-get_parameter","content":" Returns a hash of the given command parameter Ruby / Python Syntax: get_param("<Target Name> <Command Name> <Parameter Name>") get_param("<Target Name>", "<Command Name>", "<Parameter Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the parameter. Ruby Example: param = get_param("INST COLLECT TYPE") puts param #=> # {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT", # "description"=>"Collect type which can be normal or special", "default"=>0, # "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR", # "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}} Python Example: param = get_param("INST COLLECT TYPE") print(param) #=> # {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT', # 'description': 'Collect type which can be normal or special', 'default': 0, # 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR', # 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}} ","version":"Next","tagName":"h3"},{"title":"get_cmd_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_buffer","content":" Returns a packet hash (similar to get_cmd) along with the raw packet buffer as a Ruby string. Ruby / Python Syntax: buffer = get_cmd_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_cmd_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby Example: packet = get_cmd_buffer("INST COLLECT") puts packet #=> # {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420", # "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false", # "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xE0\\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: packet = get_cmd_buffer("INST COLLECT") print(packet) #=> # {'time': '1697298923745982470', 'received_time': '1697298923745982470', # 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false', # 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"get_cmd_hazardous​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_hazardous","content":" Returns true/false indicating whether a particular command is flagged as hazardous. Ruby / Python Syntax: get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Command Params\tHash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states. Ruby Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE' => 'SPECIAL'}) puts hazardous #=> true Python Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE': 'SPECIAL'}) print(hazardous) #=> True ","version":"Next","tagName":"h3"},{"title":"get_cmd_value​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_value","content":" Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported. Ruby / Python Syntax: get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the command parameter. Value Type\tValue Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python Ruby Example: value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW) puts value #=> 0.0 Python Example: value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW") print(value) #=> 0.0 ","version":"Next","tagName":"h3"},{"title":"get_cmd_time​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_time","content":" Returns the time of the most recent command sent. Ruby / Python Syntax: get_cmd_time("<Target Name - optional>", "<Command Name - optional>") Parameter\tDescriptionTarget Name\tName of the target. If not given, then the most recent command time to any target will be returned Command Name\tName of the command. If not given, then the most recent command time to the given target will be returned Ruby / Python Example: target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time target_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time target_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time ","version":"Next","tagName":"h3"},{"title":"get_cmd_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_cnt","content":" Returns the number of times a specified command has been sent. Ruby / Python Syntax: get_cmd_cnt("<Target Name> <Command Name>") get_cmd_cnt("<Target Name>", "<Command Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Ruby / Python Example: cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent ","version":"Next","tagName":"h3"},{"title":"Handling Telemetry​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#handling-telemetry","content":" These methods allow the user to interact with telemetry items. ","version":"Next","tagName":"h2"},{"title":"check, check_raw, check_formatted, check_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check-check_raw-check_formatted-check_with_units","content":" Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check. Ruby / Python Syntax: check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log. Ruby Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Ruby passes type as symbol check("INST HEALTH_STATUS COLLECTS > 1", type: :RAW) Python Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Python passes type as string check("INST HEALTH_STATUS COLLECTS > 1", type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_tolerance","content":" Checks a converted telemetry item against an expected value with a tolerance. If the verification fails then the script will be paused with an error. Note: In most cases using wait_check_tolerance is a better choice than using check_tolerance. Ruby / Python Syntax: check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. type\tCONVERTED (default) or RAW (Ruby symbol, Python string) Ruby Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW) Python Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_expression","content":" Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using wait_check_expression is a better choice than using check_expression. Remember that everything inside the check_expression string will be evaluated directly and thus must be valid syntax. A common mistake is to check a variable like so (Ruby variable interpolation): check_expression("#{answer} == 'yes'") # where answer contains 'yes' This evaluates to yes == 'yes' which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows: check_expression("'#{answer}' == 'yes'") # where answer contains 'yes' Now this evaluates to 'yes' == 'yes' which is true so the check passes. Ruby / Python Syntax: check_expression("<Expression>") Parameter\tDescriptionExpression\tAn expression to evaluate. Ruby / Python Example: check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0") ","version":"Next","tagName":"h3"},{"title":"check_exception​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_exception","content":" Executes a method and expects an exception to be raised. If the method does not raise an exception, a CheckError is raised. Ruby / Python Syntax: check_exception("<Method Name>", "<Method Params - optional>") Parameter\tDescriptionMethod Name\tThe COSMOS scripting method to execute, e.g. 'cmd', etc. Method Params\tParameters for the method Ruby Example: check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL") Python Example: check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"tlm, tlm_raw, tlm_formatted, tlm_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#tlm-tlm_raw-tlm_formatted-tlm_with_units","content":" Reads the specified form of a telemetry item. Ruby / Python Syntax: tlm("<Target Name> <Packet Name> <Item Name>") tlm("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW) Python Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type='RAW') ","version":"Next","tagName":"h3"},{"title":"get_tlm_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_buffer","content":" Returns a packet hash (similar to get_tlm) along with the raw packet buffer. Ruby / Python Syntax: buffer = get_tlm_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_tlm_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm_buffer("INST HEALTH_STATUS") packet['buffer'] ","version":"Next","tagName":"h3"},{"title":"get_tlm_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_packet","content":" Returns the names, values, and limits states of all telemetry items in a specified packet. The value is returned as an array of arrays with each entry containing [item_name, item_value, limits_state]. Ruby / Python Syntax: get_tlm_packet("<Target Name> <Packet Name>", <type>) get_tlm_packet("<Target Name>", "<Packet Name>", <type>) Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string). Ruby Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED) Python Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type='FORMATTED') ","version":"Next","tagName":"h3"},{"title":"get_tlm_values (modified in 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_values-modified-in-500","content":" Returns the values and current limits state for a specified set of telemetry items. Items can be in any telemetry packet in the system. They can all be retrieved using the same value type or a specific value type can be specified for each item. Ruby / Python Syntax: values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>) Parameter\tDescriptionItems\tArray of strings of the form ['TGT__PKT__ITEM__TYPE', ... ] Ruby / Python Example: values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"]) print(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]] ","version":"Next","tagName":"h3"},{"title":"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm-since-5130-since-500-as-get_all_telemetry","content":" Returns an array of all target packet hashes. Ruby / Python Syntax: get_all_tlm("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby / Python Example: packets = get_all_tlm("INST") print(packets) #[{"target_name"=>"INST", # "packet_name"=>"ADCS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Position and attitude data", # "stale"=>true, # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names","content":" Returns an array of all target packet names. Ruby / Python Syntax: get_all_tlm_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby / Python Example: get_all_tlm_names("INST") #=> ["ADCS", "HEALTH_STATUS", ...] ","version":"Next","tagName":"h3"},{"title":"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm-since-5130-since-500-as-get_telemetry","content":" Returns a packet hash. Ruby / Python Syntax: get_tlm("<Target Name> <Packet Name>") get_tlm("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm("INST HEALTH_STATUS") print(packet) #{"target_name"=>"INST", # "packet_name"=>"HEALTH_STATUS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Health and status from the instrument", # "stale"=>true, # "processors"=> # [{"name"=>"TEMP1STAT", # "class"=>"OpenC3::StatisticsProcessor", # "params"=>["TEMP1", 100, "CONVERTED"]}, # {"name"=>"TEMP1WATER", # "class"=>"OpenC3::WatermarkProcessor", # "params"=>["TEMP1", "CONVERTED"]}], # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_item (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_item-since-500","content":" Returns an item hash. Ruby / Python Syntax: get_item("<Target Name> <Packet Name> <Item Name>") get_item("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Item Name\tName of the item. Ruby / Python Example: item = get_item("INST HEALTH_STATUS CCSDSVER") print(item) #{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # "data_type"=>"UINT", # "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)", # "endianness"=>"BIG_ENDIAN", # "required"=>false, # "overflow"=>"ERROR"} ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt","content":" Returns the number of times a specified telemetry packet has been received. Ruby / Python Syntax: get_tlm_cnt("<Target Name> <Packet Name>") get_tlm_cnt("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the telemetry packet. Ruby / Python Example: tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received. ","version":"Next","tagName":"h3"},{"title":"set_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_tlm","content":" Sets a telemetry item value in the Command and Telemetry Server. This value will be overwritten if a new packet is received from an interface. For that reason this method is most useful if interfaces are disconnected or for testing via the Script Runner disconnect mode. Manually setting telemetry values allows for the execution of many logical paths in scripts. Ruby / Python Syntax: set_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tValue type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW) check("INST HEALTH_STATUS COLLECTS == 10", type: :RAW) Python Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type='RAW') check("INST HEALTH_STATUS COLLECTS == 10", type='RAW') ","version":"Next","tagName":"h3"},{"title":"inject_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#inject_tlm","content":" Injects a packet into the system as if it was received from an interface. Ruby / Packet Syntax: inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item Hash\tHash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil. type\tType of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: inject_tlm("INST", "PARAMS", {'VALUE1' => 5.0, 'VALUE2' => 7.0}) Python Example: inject_tlm("INST", "PARAMS", {'VALUE1': 5.0, 'VALUE2': 7.0}) ","version":"Next","tagName":"h3"},{"title":"override_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#override_tlm","content":" Sets the converted value for a telmetry point in the Command and Telemetry Server. This value will be maintained even if a new packet is received on the interface unless the override is canceled with the normalize_tlm method. Ruby / Python Syntax: override_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tType to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0 Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type='RAW') # Only RAW tlm set to 0 ","version":"Next","tagName":"h3"},{"title":"normalize_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#normalize_tlm","content":" Clears the override of a telmetry point in the Command and Telemetry Server. Ruby / Python Syntax: normalize_tlm("<Target> <Packet> <Item>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name type\tType to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override Python Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type='RAW') # clear only the RAW override ","version":"Next","tagName":"h3"},{"title":"get_overrides​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overrides","content":" Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm. Ruby / Python Syntax: get_overrides() Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") puts get_overrides() #=> # [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ] Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") print(get_overrides()) #=> # [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ] ","version":"Next","tagName":"h3"},{"title":"Packet Data Subscriptions​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#packet-data-subscriptions","content":" Methods for subscribing to specific packets of data. This provides an interface to ensure that each telemetry packet is received and handled rather than relying on polling where some data may be missed. ","version":"Next","tagName":"h2"},{"title":"subscribe_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#subscribe_packets-since-503","content":" Allows the user to listen for one or more telemetry packets of data to arrive. A unique id is returned which is used to retrieve the data. Ruby / Python Syntax: subscribe_packets(packets) Parameter\tDescriptionpackets\tNested array of target name/packet name pairs that the user wishes to subscribe to. Ruby / Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) ","version":"Next","tagName":"h3"},{"title":"get_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packets-since-503","content":" Streams packet data from a previous subscription. Ruby Syntax: get_packets(id, block: nil, count: 1000) Python Syntax: get_packets(id, block=None, count=1000) Parameter\tDescriptionid\tUnique id returned by subscribe_packets block\tNumber of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block) count\tMaximum number of packets to return from EACH packet stream Ruby Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 0.1 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block: 1000, count: 1) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(0.1) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block=1000, count=1) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt-1","content":" Get the receive count for a telemetry packet Ruby / Python Syntax: get_tlm_cnt("<Target> <Packet>") get_tlm_cnt("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnt("INST HEALTH_STATUS") #=> 10 ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnts","content":" Get the receive counts for an array of telemetry packets Ruby / Python Syntax: get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]]) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]]) #=> [100, 10] ","version":"Next","tagName":"h3"},{"title":"get_packet_derived_items​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packet_derived_items","content":" Get the list of derived telemetry items for a packet Ruby / Python Syntax: get_packet_derived_items("<Target> <Packet>") get_packet_derived_items("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_packet_derived_items("INST HEALTH_STATUS") #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...] ","version":"Next","tagName":"h3"},{"title":"Delays​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delays","content":" These methods allow the user to pause the script to wait for telemetry to change or for an amount of time to pass. ","version":"Next","tagName":"h2"},{"title":"wait​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait","content":" Pauses the script for a configurable amount of time (minimum 10ms) or until a converted telemetry item meets given criteria. It supports three different syntaxes as shown. If no parameters are given then an infinite wait occurs until the user presses Go. Note that on a timeout, wait does not stop the script, usually wait_check is a better choice. Ruby / Python Syntax: elapsed = wait() #=> Returns the actual time waited elapsed = wait(<Time>) #=> Returns the actual time waited Parameter\tDescriptionTime\tTime in Seconds to delay for. Ruby / Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Example: elapsed = wait elapsed = wait 5 success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false) Python Example: elapsed = wait() elapsed = wait(5) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type='RAW', quiet=False) ","version":"Next","tagName":"h3"},{"title":"wait_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item meets equals an expected value within a tolerance. Note that on a timeout, wait_tolerance does not stop the script, usually wait_check_tolerance is a better choice. Ruby Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true) Python Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW', quiet=True) ","version":"Next","tagName":"h3"},{"title":"wait_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually wait_check_expression is a better choice. Syntax: # Returns true or false based on the whether the expression is true or false success = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will continue. Note that on a timeout, wait_packet does not stop the script, usually wait_check_packet is a better choice. Ruby / Python Syntax: # Returns true or false based on the whether the packet was received success = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"wait_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check","content":" Combines the wait and check keywords into one. This pauses the script until the converted value of a telemetry item meets given criteria or times out. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW) Python Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item equals an expected value within a tolerance. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW) Python Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for check_expression. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. Ruby / Python Example: elapsed = wait_check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_check_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will stop. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the packets elapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting specified number of packets. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"Limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits","content":" These methods deal with handling telemetry limits. ","version":"Next","tagName":"h2"},{"title":"limits_enabled?, limits_enabled​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits_enabled-limits_enabled","content":" The limits_enabled? method returns true/false depending on whether limits are enabled for a telemetry item. Ruby Syntax: limits_enabled?("<Target Name> <Packet Name> <Item Name>") Python Syntax: limits_enabled("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby Example: enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false Python Example: enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False ","version":"Next","tagName":"h3"},{"title":"enable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits","content":" Enables limits monitoring for the specified telemetry item. Ruby / Python Syntax: enable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: enable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"disable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits","content":" Disables limits monitoring for the specified telemetry item. Ruby / Python Syntax: disable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: disable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"enable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits_group","content":" Enables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: enable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: enable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"disable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits_group","content":" Disables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: disable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: disable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"get_limits_groups​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_groups","content":" Returns the list of limits groups in the system. Ruby / Python Syntax / Example: limits_groups = get_limits_groups() ","version":"Next","tagName":"h3"},{"title":"set_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits_set","content":" Sets the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax: set_limits_set("<Limits Set Name>") Parameter\tDescriptionLimits Set Name\tName of the limits set. Ruby / Python Example: set_limits_set("DEFAULT") ","version":"Next","tagName":"h3"},{"title":"get_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_set","content":" Returns the name of the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax / Example: limits_set = get_limits_set() ","version":"Next","tagName":"h3"},{"title":"get_limits_sets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_sets","content":" Returns the list of limits sets in the system. Ruby / Python Syntax / Example: limits_sets = get_limits_sets() ","version":"Next","tagName":"h3"},{"title":"get_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits","content":" Returns hash / dict of all the limits settings for a telemetry point. Ruby / Python Syntax: get_limits(<Target Name>, <Packet Name>, <Item Name>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item Packet Name\tName of the telemetry packet of the telemetry item Item Name\tName of the telemetry item Ruby Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') puts result #=> {"DEFAULT"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], "TVAC"=>[-80.0, -30.0, 30.0, 80.0]} puts result.keys #=> ['DEFAULT', 'TVAC'] puts result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] Python Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') print(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]} print(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC']) print(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] ","version":"Next","tagName":"h3"},{"title":"set_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits","content":" The set_limits_method sets limits settings for a telemetry point. Note: In most cases it would be better to update your config files or use different limits sets rather than changing limits settings in realtime. Ruby / Python Syntax: set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Red Low\tRed Low setting for this limits set. Any value below this value will be make the item red. Yellow Low\tYellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow. Yellow High\tYellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow. Red High\tRed High setting for this limits set. Any value above this value will be make the item red. Green Low\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Green High\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Limits Set\tOptional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set. Persistence\tOptional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets. Enabled\tOptional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets. Ruby / Python Example: set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true) ","version":"Next","tagName":"h3"},{"title":"get_out_of_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_out_of_limits","content":" Returns an array with the target_name, packet_name, item_name, and limits_state of all items that are out of their limits ranges. Ruby / Python Syntax / Example: out_of_limits_items = get_out_of_limits() ","version":"Next","tagName":"h3"},{"title":"get_overall_limits_state​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overall_limits_state","content":" Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'. Ruby / Python Syntax: get_overall_limits_state(<Ignored Items> (optional)) Parameter\tDescriptionIgnored Items\tArray of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...] Ruby / Python Example: overall_limits_state = get_overall_limits_state() overall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']]) ","version":"Next","tagName":"h3"},{"title":"get_limits_events​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_events","content":" Returns limits events based on an offset returned from the last time it was called. Ruby / Python Syntax: get_limits_event(<Offset>, count) Parameter\tDescriptionOffset\tOffset returned by the previous call to get_limits_event. Default is nil for the initial call count\tNamed parameter specifying the maximum number of limits events to return. Default is 100 Ruby / Python Example: events = get_limits_event() print(events) #[["1613077715557-0", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"YELLOW_LOW", # "new_limits_state"=>"RED_LOW", # "time_nsec"=>"1", # "message"=>"message"}], # ["1613077715557-1", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"RED_LOW", # "new_limits_state"=>"YELLOW_LOW", # "time_nsec"=>"2", # "message"=>"message"}]] # The last offset is the first item ([0]) in the last event ([-1]) events = get_limits_event(events[-1][0]) print(events) #[["1613077715657-0", # {"type"=>"LIMITS_CHANGE", # ... ","version":"Next","tagName":"h3"},{"title":"Targets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#targets","content":" Methods for getting knowledge about targets. ","version":"Next","tagName":"h2"},{"title":"get_target_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_names","content":" Returns a list of the targets in the system in an array. Ruby Syntax / Example: targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED'] ","version":"Next","tagName":"h3"},{"title":"get_target​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target","content":" Returns a target hash containing all the information about the target. Ruby Syntax: get_target("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: target = get_target("INST") print(target) #{"name"=>"INST", # "folder_name"=>"INST", # "requires"=>[], # "ignored_parameters"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "PKTID"], # "ignored_items"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "RECEIVED_COUNT", # "RECEIVED_TIMESECONDS", # "RECEIVED_TIMEFORMATTED"], # "limits_groups"=>[], # "cmd_tlm_files"=> # [".../targets/INST/cmd_tlm/inst_cmds.txt", # ".../targets/INST/cmd_tlm/inst_tlm.txt"], # "cmd_unique_id_mode"=>false, # "tlm_unique_id_mode"=>false, # "id"=>nil, # "updated_at"=>1613077058266815900, # "plugin"=>nil} ","version":"Next","tagName":"h3"},{"title":"get_target_interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_interfaces","content":" Returns the interfaces for all targets. The return value is an array of arrays where each subarray contains the target name, and a String of all the interface names. Syntax / Example: target_ints = get_target_interfaces() target_ints.each do |target_name, interfaces| puts "Target: #{target_name}, Interfaces: #{interfaces}" end ","version":"Next","tagName":"h3"},{"title":"Interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interfaces","content":" These methods allow the user to manipulate COSMOS interfaces. ","version":"Next","tagName":"h2"},{"title":"get_interface (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface-since-500","content":" Returns an interface status including the as built interface and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: interface = get_interface("INST_INT") print(interface) #{"name"=>"INST_INT", # "config_params"=>["interface.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_interface_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface_names","content":" Returns a list of the interfaces in the system in an array. Ruby / Python Syntax / Example: interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT'] ","version":"Next","tagName":"h3"},{"title":"connect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_interface","content":" Connects to targets associated with a COSMOS interface. Ruby / Python Syntax: connect_interface("<Interface Name>", <Interface Parameters (optional)>) Parameter\tDescriptionInterface Name\tName of the interface. Interface Parameters\tParameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_interface("INT1") connect_interface("INT1", hostname, port) ","version":"Next","tagName":"h3"},{"title":"disconnect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_interface","content":" Disconnects from targets associated with a COSMOS interface. Ruby / Python Syntax: disconnect_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: disconnect_interface("INT1") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_interface","content":" Starts logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_interface","content":" Stops logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"get_all_interface_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_interface_info","content":" Returns information about all interfaces. The return value is an array of arrays where each subarray contains the interface name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, command count, and telemetry count. Ruby Syntax / Example: interface_info = get_all_interface_info() interface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count| puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}" end Python Syntax / Example: interface_info = get_all_interface_info() for interface in interface_info(): # [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count] print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}") print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}") print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}") ","version":"Next","tagName":"h3"},{"title":"map_target_to_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#map_target_to_interface","content":" Map a target to an interface allowing target commands and telemetry to be processed by that interface. Ruby / Python Syntax: map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old) Parameter\tDescriptionTarget Name\tName of the target Interface Name\tName of the interface cmd_only\tNamed parameter whether to map target commands only to the interface (default: false) tlm_only\tNamed parameter whether to map target telemetry only to the interface (default: false) unmap_old\tNamed parameter whether remove the target from all existing interfaces (default: true) Ruby Example: map_target_to_interface("INST", "INST_INT", unmap_old: false) Python Example: map_target_to_interface("INST", "INST_INT", unmap_old=False) ","version":"Next","tagName":"h3"},{"title":"interface_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_cmd","content":" Send a command directly to an interface. This has no effect in the standard COSMOS interfaces but can be implemented by a custom interface to change behavior. Ruby / Python Syntax: interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: interface_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"interface_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_protocol_cmd","content":" Send a command directly to an interface protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Routers​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#routers","content":" These methods allow the user to manipulate COSMOS routers. ","version":"Next","tagName":"h2"},{"title":"connect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_router","content":" Connects a COSMOS router. Ruby / Python Syntax: connect_router("<Router Name>", <Router Parameters (optional)>) Parameter\tDescriptionRouter Name\tName of the router. Router Parameters\tParameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_ROUTER("INST_ROUTER") connect_router("INST_ROUTER", 7779, 7779, nil, 10.0, 'PREIDENTIFIED') ","version":"Next","tagName":"h3"},{"title":"disconnect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_router","content":" Disconnects a COSMOS router. Ruby / Python Syntax: disconnect_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: disconnect_router("INT1_ROUTER") ","version":"Next","tagName":"h3"},{"title":"get_router_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router_names","content":" Returns a list of the routers in the system in an array. Ruby / Python Syntax / Example: router_names = get_router_names() #=> ['ROUTER_INT'] ","version":"Next","tagName":"h3"},{"title":"get_router (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router-since-500","content":" Returns a router status including the as built router and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: router = get_router("ROUTER_INT") print(router) #{"name"=>"ROUTER_INT", # "config_params"=>["router.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_all_router_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_router_info","content":" Returns information about all routers. The return value is an array of arrays where each subarray contains the router name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, packets received, and packets sent. Ruby Syntax / Example: router_info = get_all_router_info() router_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent| puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}" end Python Syntax / Example: router_info = get_all_router_info() # router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent for router in router_info: print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}") print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}") print(f"Packets received: {router[7]}, Packets sent: {router[8]}") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_router","content":" Starts logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_router","content":" Stops logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"router_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_cmd","content":" Send a command directly to a router. This has no effect in the standard COSMOS routers but can be implemented by a custom router to change behavior. Ruby / Python Syntax: router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: router_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"router_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_protocol_cmd","content":" Send a command directly to an router protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index) Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Stashing Data​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stashing-data","content":" These methods allow the user to store temporary data into COSMOS and retrieve it. The storage is implemented as a key / value storage (Ruby hash or Python dict). This can be used in scripts to store information that applies across multiple scripts or multiple runs of a single script. ","version":"Next","tagName":"h2"},{"title":"stash_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_set","content":" Sets a stash item. Ruby / Python Syntax: stash_set("<Stash Key>", <Stash Value>) Parameter\tDescriptionStash Key\tName of the stash key to set Stash Value\tValue to set Ruby / Python Example: stash_set('run_count', 5) stash_set('setpoint', 23.4) ","version":"Next","tagName":"h3"},{"title":"stash_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_get","content":" Returns the specified stash item. Ruby / Python Syntax: stash_get("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to return Ruby / Python Example: stash_get('run_count') #=> 5 ","version":"Next","tagName":"h3"},{"title":"stash_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_all","content":" Returns all the stash items as a Ruby hash or Python dict. Ruby Syntax / Example: stash_all() #=> ['run_count' => 5, 'setpoint' => 23.4] Python Syntax / Example: stash_all() #=> ['run_count': 5, 'setpoint': 23.4] ","version":"Next","tagName":"h3"},{"title":"stash_keys​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_keys","content":" Returns all the stash keys. Ruby / Python Syntax / Example: stash_keys() #=> ['run_count', 'setpoint'] ","version":"Next","tagName":"h3"},{"title":"stash_delete​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_delete","content":" Deletes a stash item. Note this actions is permanent! Ruby / Python Syntax: stash_delete("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to delete Ruby / Python Example: stash_delete("run_count") ","version":"Next","tagName":"h3"},{"title":"Executing Other Procedures​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#executing-other-procedures","content":" These methods allow the user to bring in files of subroutines and execute other test procedures. ","version":"Next","tagName":"h2"},{"title":"start​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start","content":" Starts execution of another high level test procedure. No parameters can be given to high level test procedures. If parameters are necessary, then consider using a subroutine. Syntax: start("<Procedure Filename>") Parameter\tDescriptionProcedure Filename\tName of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported. Example: start("test1.rb") ","version":"Next","tagName":"h3"},{"title":"load_utility​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_utility","content":" Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement. Ruby / Python Syntax: load_utility("TARGET/lib/<Utility Filename>") Parameter\tDescriptionUtility Filename\tName of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb Example: load_utility("TARGET/lib/mode_changes.rb") # Ruby load_utility("TARGET/lib/mode_changes.py") # Python ","version":"Next","tagName":"h3"},{"title":"Opening, Closing & Creating Telemetry Screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#opening-closing--creating-telemetry-screens","content":" These methods allow the user to open, close or create unique telemetry screens from within a test procedure. ","version":"Next","tagName":"h2"},{"title":"display_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#display_screen","content":" Opens a telemetry screen at the specified position. Ruby / Python Syntax: display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen Ruby / Python Example: display_screen("INST", "ADCS", 100, 200) ","version":"Next","tagName":"h3"},{"title":"clear_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_screen","content":" Closes an open telemetry screen. Ruby / Python Syntax: clear_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: clear_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"clear_all_screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_all_screens","content":" Closes all open screens. Ruby / Python Syntax / Example: clear_all_screens() ","version":"Next","tagName":"h3"},{"title":"delete_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_screen","content":" Deletes an existing Telemetry Viewer screen. Ruby / Python Syntax: delete_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: delete_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"get_screen_list​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_list","content":" The get_screen_list returns a list of available telemetry screens. Ruby / Python Syntax / Example: get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...] ","version":"Next","tagName":"h3"},{"title":"get_screen_definition​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_definition","content":" The get_screen_definition returns the text file contents of a telemetry screen definition. Syntax: get_screen_definition("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: screen_definition = get_screen_definition("INST", "HS") ","version":"Next","tagName":"h3"},{"title":"create_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#create_screen","content":" The create_screen allows you to create a screen directly from a script. This screen is saved to Telemetry Viewer for future use in that application. Python / Ruby Syntax: create_screen("<Target Name>", "<Screen Name>" "<Definition>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) Python Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) ","version":"Next","tagName":"h3"},{"title":"local_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#local_screen","content":" The local_screen allows you to create a local screen directly from a script which is not permanently saved to the Telemetry Viewer screen list. This is useful for one off screens that help users interact with scripts. Python / Ruby Syntax: local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionScreen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen NOTE: It is possible to specify a X, Y location off the visible display. If you do so and try to re-create the screen it will not display (because it is already displayed). Try issuing a clear_all_screens() first to clear any screens off the visible display space. Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) Python Example: screen_def = """ SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END """ # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) ","version":"Next","tagName":"h3"},{"title":"Script Runner Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-settings","content":" These methods allow the user to control various Script Runner settings. ","version":"Next","tagName":"h2"},{"title":"set_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_line_delay","content":" This method sets the line delay in script runner. Ruby / Python Syntax: set_line_delay(<Delay>) Parameter\tDescriptionDelay\tThe amount of time script runner will wait between lines when executing a script, in seconds. Should be ≥ 0.0 Ruby / Python Example: set_line_delay(0.0) ","version":"Next","tagName":"h3"},{"title":"get_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_line_delay","content":" The method gets the line delay that script runner is currently using. Ruby / Python Syntax / Example: curr_line_delay = get_line_delay() ","version":"Next","tagName":"h3"},{"title":"set_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_max_output","content":" This method sets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax: set_max_output(<Characters>) Parameter\tDescriptionCharacters\tNumber of characters to output before truncating Ruby / Python Example: set_max_output(100) ","version":"Next","tagName":"h3"},{"title":"get_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_max_output","content":" The method gets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax / Example: print(get_max_output()) #=> 50000 ","version":"Next","tagName":"h3"},{"title":"disable_instrumentation​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_instrumentation","content":" Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented. Consider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script. Use with Caution Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop. Ruby Syntax / Example: disable_instrumentation do 1000.times do # Don't want this to have to highlight 1000 times end end Python Syntax / Example: with disable_instrumentation(): for x in range(1000): # Don't want this to have to highlight 1000 times ","version":"Next","tagName":"h3"},{"title":"Script Runner Suites​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-suites","content":" Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see running script suites. ","version":"Next","tagName":"h2"},{"title":"add_group, add_group_setup, add_group_teardown, add_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#add_group-add_group_setup-add_group_teardown-add_script","content":" Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'. Ruby / Python Syntax: add_group(<Group Class>) add_group_setup(<Group Class>) add_group_teardown(<Group Class>) add_script(<Group Class>, <Method>) Parameter\tDescriptionGroup Class\tName of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly. Method\tName of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly. Ruby Example: load 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def script_1 # Insert test code here ... end end class WrapperGroup < OpenC3::Group def setup # Insert test code here ... end def my_method # Insert test code here ... end def teardown # Insert test code here ... end end class MySuite < OpenC3::Suite def initialize super() add_group('ExampleGroup') add_group_setup('WrapperGroup') add_script('WrapperGroup', 'my_method') add_group_teardown('WrapperGroup') end end Python Example: from openc3.script import * from openc3.script.suite import Group, Suite class ExampleGroup(Group): def script_1(self): # Insert test code here ... pass class WrapperGroup(Group): def setup(self): # Insert test code here ... pass def my_method(self): # Insert test code here ... pass def teardown(self): # Insert test code here ... pass class MySuite(Suite): def __init__(self): super().__init__() self.add_group(ExampleGroup) self.add_group_setup(WrapperGroup) self.add_script(WrapperGroup, 'my_method') self.add_group_teardown(WrapperGroup) ","version":"Next","tagName":"h3"},{"title":"Script Runner Debugging​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-debugging","content":" These methods allow the user to debug scripts with ScriptRunner. ","version":"Next","tagName":"h2"},{"title":"step_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#step_mode","content":" Places ScriptRunner into step mode where Go must be hit to proceed to the next line. Ruby / Python Syntax / Example: step_mode() ","version":"Next","tagName":"h3"},{"title":"run_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#run_mode","content":" Places ScriptRunner into run mode where the next line is run automatically. Ruby / Python Syntax / Example: run_mode() ","version":"Next","tagName":"h3"},{"title":"disconnect_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_script","content":" Puts scripting into disconnect mode. In disconnect mode, commands are not sent to targets, checks are all successful, and waits expire instantly. Requests for telemetry (tlm()) typically return 0. Disconnect mode is useful for dry-running scripts without having connected targets. Ruby / Python Syntax / Example: disconnect_script() ","version":"Next","tagName":"h3"},{"title":"Metadata​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata","content":" Metadata allows you to mark the regular target / packet data logged in COSMOS with your own fields. This metadata can then be searched and used to filter data when using other COSMOS tools. ","version":"Next","tagName":"h2"},{"title":"metadata_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_all","content":" Returns all the metadata that was previously set Ruby / Python Syntax: metadata_all() Parameter\tDescriptionlimit\tAmount of metadata items to return. Default is 100. Ruby Example: metadata_all(limit: 500) Python Example: metadata_all(limit='500') ","version":"Next","tagName":"h3"},{"title":"metadata_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_get","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_get(start) Parameter\tDescriptionstart\tNamed parameter, time at which to retrieve metadata as integer seconds from epoch Ruby Example: metadata_get(start: 500) Python Example: metadata_get(start='500') ","version":"Next","tagName":"h3"},{"title":"metadata_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_set","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_set(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to store as metadata. start\tNamed parameter, time at which to store metadata. Default is now. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_set({ 'key' => 'value' }) metadata_set({ 'key' => 'value' }, color: '#ff5252') Python Example: metadata_set({ 'key': 'value' }) metadata_set({ 'key': 'value' }, color='ff5252') ","version":"Next","tagName":"h3"},{"title":"metadata_update​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_update","content":" Updates metadata that was previously set Ruby / Python Syntax: metadata_update(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to update as metadata. start\tNamed parameter, time at which to update metadata. Default is latest metadata. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_update({ 'key' => 'value' }) Python Example: metadata_update({ 'key': 'value' }) ","version":"Next","tagName":"h3"},{"title":"metadata_input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_input","content":" Prompts the user to set existing metadata values or create new a new one. Ruby / Python Syntax / Example: metadata_input() ","version":"Next","tagName":"h3"},{"title":"Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#settings","content":" COSMOS has several settings typically accessed through the Admin Settings tab. These APIs allow programmatic access to those same settings. ","version":"Next","tagName":"h2"},{"title":"list_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_settings","content":" Return all the current COSMOS setting name. These are the names that should be used in the other APIs. Ruby Syntax / Example: puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"] Python Syntax / Example: print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version'] ","version":"Next","tagName":"h3"},{"title":"get_all_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_settings","content":" Return all the current COSMOS settings along with their values. Ruby Syntax / Example: puts get_all_settings() #=> # { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507}, # "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007}, # "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465}, # "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} } Python Syntax / Example: print(get_all_settings()) #=> # { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507}, # 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007}, # 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465}, # 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} } ","version":"Next","tagName":"h3"},{"title":"get_setting, get_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_setting-get_settings","content":" Return the data from the given COSMOS setting. Returns nil (Ruby) or None (Python) if the setting does not exist. Ruby / Python Syntax: get_setting(<Setting Name>) get_settings(<Setting Name1>, <Setting Name2>, ...) Parameter\tDescriptionSetting Name\tName of the setting to return Ruby Example: puts get_setting('version') #=> "5.11.4-beta0" puts get_settings('version', 'rubygems_url') #=> ["5.11.4-beta0", "https://rubygems.org"] Python Example: print(get_setting('version')) #=> '5.11.4-beta0' print(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org'] ","version":"Next","tagName":"h3"},{"title":"set_setting​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_setting","content":" Sets the given setting value. Admin Passwork Required This API is only accessible externally (not within Script Runner) and requires the admin password. Ruby / Python Syntax: set_setting(<Setting Name>, <Setting Value>) Parameter\tDescriptionSetting Name\tName of the setting to change Setting Value\tSetting value to set Ruby Example: set_setting('rubygems_url', 'https://mygemserver') puts get_settings('rubygems_url') #=> "https://mygemserver" Python Example: set_setting('pypi_url', 'https://mypypiserver') print(get_settings('pypi_url')) #=> 'https://mypypiserver' ","version":"Next","tagName":"h3"},{"title":"Configuration​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#configuration","content":" Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration. ","version":"Next","tagName":"h2"},{"title":"config_tool_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#config_tool_names","content":" List all the configuration tool names which are used as the first parameter in the other APIs. Ruby Syntax / Example: names = config_tool_names() pp names #=> ["telemetry_grapher", "data_viewer"] Python Syntax / Example: names = config_tool_names() print(names) #=> ['telemetry_grapher', 'data_viewer'] ","version":"Next","tagName":"h3"},{"title":"list_configs​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_configs","content":" List all the saved configuration names under the given tool name. Ruby / Python Syntax: list_configs(<Tool Name>) Parameter\tDescriptionTool Name\tName of the tool to retrieve configuration names from Ruby Example: configs = list_configs('telemetry_grapher') pp configs #=> ['adcs', 'temps'] Python Example: configs = list_configs('telemetry_grapher') print(configs) #=> ['adcs', 'temps'] ","version":"Next","tagName":"h3"},{"title":"load_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_config","content":" Load a particular tool configuration. Tool Configuration Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys. Ruby / Python Syntax: load_config(<Tool Name>, <Configuration Name>) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration Ruby / Python Example: config = load_config('telemetry_grapher', 'adcs') print(config) #=> # [ { # "items": [ # { # "targetName": "INST", # "packetName": "ADCS", # "itemName": "CCSDSVER", # ... ","version":"Next","tagName":"h3"},{"title":"save_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#save_config","content":" Save a particular tool configuration. Ruby / Python Syntax: save_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to save the configuration in local mode Ruby / Python Example: save_config('telemetry_grapher', 'adcs', config) ","version":"Next","tagName":"h3"},{"title":"delete_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_config","content":" Delete a particular tool configuration. Ruby / Python Syntax: delete_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to delete the configuration in local mode Ruby / Python Example: delete_config('telemetry_grapher', 'adcs') ","version":"Next","tagName":"h3"}],"options":{"id":"default"}} \ No newline at end of file diff --git a/docs/search-doc.json b/docs/search-doc.json index d2faae42f8..944b5478f1 100644 --- a/docs/search-doc.json +++ b/docs/search-doc.json @@ -1 +1 @@ -{"searchDocs":[{"title":"Introduction","type":0,"sectionRef":"#","url":"/docs","content":"","keywords":"","version":"Next"},{"title":"So what is COSMOS, exactly?​","type":1,"pageTitle":"Introduction","url":"/docs#so-what-is-cosmos-exactly","content":" COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be anything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to development boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites. ","version":"Next","tagName":"h2"},{"title":"COSMOS Architecture​","type":1,"pageTitle":"Introduction","url":"/docs#cosmos-architecture","content":" COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. Keep reading for an in-depth discussion of each of the COSMOS Tools. ","version":"Next","tagName":"h3"},{"title":"Helpful Hints​","type":1,"pageTitle":"Introduction","url":"/docs#helpful-hints","content":" Throughout this guide there are a number of small-but-handy pieces of information that can make using COSMOS easier, more interesting, and less hazardous. Here's what to look out for. ProTips™ help you get more from COSMOS These are tips and tricks that will help you be a COSMOS wizard! Notes are handy pieces of information These are for the extra tidbits sometimes necessary to understand COSMOS. Warnings help you not blow things up Be aware of these messages if you wish to avoid certain death. Find a problem in the documentation or in COSMOS itself? Both using and hacking on COSMOS should be fun, simple, and easy, so if for some reason you find it's a pain, please create an issue on GitHub describing your experience so we can make it better. ","version":"Next","tagName":"h2"},{"title":"File Format","type":0,"sectionRef":"#","url":"/docs/configuration/format","content":"","keywords":"","version":"Next"},{"title":"Keyword / Parameters​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#keyword--parameters","content":" Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example: COMMAND TARGET COLLECT BIG_ENDIAN "Collect command" The keyword is COMMAND and the parameters are TARGET, COLLECT, BIG_ENDIAN, and "Collect command". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the COMMAND keyword above has the following documentation: PARAMETER\tDESCRIPTION\tREQUIREDTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse The Target and Command parameters can be any string and are required. The Endianness parameter is required and must be BIG_ENDIAN or LITTLE_ENDIAN. Other values will cause an error when parsed. The Description parameter must be enclosed in quotes and is optional. All the COSMOS configuration files document their keyword and parameters in this fashion. In addition, Example Usage is provided similar to the example given above. ","version":"Next","tagName":"h2"},{"title":"ERB​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#erb","content":" ERB stands for Embedded Ruby. ERB is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB: <% Ruby code -- no output %> <%= Ruby expression -- insert result %> In a COSMOS Telemetry configuration file we could write the following: <% (1..5).each do |i| %> APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting" <% end %> The first line is Ruby code which iterates from 1 up to and including 5 and places the value in the variable i. The code inside the block will be output to the file every time the iteration runs. The APPEND_ITEM line uses the value of i and directly outputs it to the file by using the <%= syntax. The result of the parsing will look like the following: APPEND_ITEM VALUE1 16 UINT "Value 1 setting" APPEND_ITEM VALUE2 16 UINT "Value 2 setting" APPEND_ITEM VALUE3 16 UINT "Value 3 setting" APPEND_ITEM VALUE4 16 UINT "Value 4 setting" APPEND_ITEM VALUE5 16 UINT "Value 5 setting" COSMOS uses ERB syntax extensively in a Plugin's plugin.txt configuration file. ","version":"Next","tagName":"h2"},{"title":"render​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#render","content":" COSMOS provides a method used inside ERB called render which renders a configuration file into another configuration file. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" <%= render "_ccsds_apid.txt", locals: {apid: 1} %> APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows: APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id" This would result in output as follows: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id" APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... Note the variable apid was set to 1 using the locals: syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the Demo for a more comprehensive example. ","version":"Next","tagName":"h3"},{"title":"Line Continuation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#line-continuation","content":" COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: &. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN & "Health and status" This will strip the ampersand character and merge the two lines to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" Spaces around the second line are stripped so indentation does not matter. ","version":"Next","tagName":"h2"},{"title":"String Concatenation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#string-concatenation","content":" COSMOS supports two different string concatenation characters in configuration files. To concatenate strings with a newline use the plus character: +. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" + "Additional description" The strings will be merged with a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\\nAdditional description" To concatenate strings without a newline use the backslash character: \\. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \\ 'Additional description' The strings will be merged without a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description' The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped. ","version":"Next","tagName":"h2"},{"title":"target.txt Keywords","type":0,"sectionRef":"#","url":"/docs/configuration/target","content":"","keywords":"","version":"Next"},{"title":"LANGUAGE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#language","content":" (Since 5.11.1) Programming language of the target interfaces and microservices The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating. Parameter\tDescription\tRequired\tRuby or Python Valid Values: ruby, python\tTrue Example Usage: LANGUAGE python ","version":"Next","tagName":"h2"},{"title":"REQUIRE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#require","content":" Requires a Ruby file List the Ruby files required to explicitly declare dependencies. This is now completely optional. Parameter\tDescription\tRequiredFilename\tFilename to require. For files in the target's lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.\tTrue Example Usage: REQUIRE limits_response.rb ","version":"Next","tagName":"h2"},{"title":"IGNORE_PARAMETER​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_parameter","content":" Ignore the given command parameter Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter. Parameter\tDescription\tRequiredParameter Name\tThe name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in.\tTrue Example Usage: IGNORE_PARAMETER CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"IGNORE_ITEM​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_item","content":" Ignore the given telemetry item Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet. Parameter\tDescription\tRequiredItem name\tThe name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in.\tTrue Example Usage: IGNORE_ITEM CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"COMMANDS​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#commands","content":" Process the given command definition file This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process. Parameter\tDescription\tRequiredFilename\tName of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"TELEMETRY​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#telemetry","content":" Process the given telemetry definition file This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process. Parameter\tDescription\tRequiredFilename\tName of a telemetry definition file in the target's cmd_tlm directory, e.g. "tlm.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"CMD_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#cmd_unique_id_mode","content":" (Since 4.4.0) Command packet identifiers don't all share the same bit offset, size, and type Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"TLM_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#tlm_unique_id_mode","content":" (Since 4.4.0) Telemetry packets identifiers don't all share the same bit offset, size, and type Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"SSL-TLS","type":0,"sectionRef":"#","url":"/docs/configuration/ssl-tls","content":"","keywords":"","version":"Next"},{"title":"Generate the certificate​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#generate-the-certificate","content":" Note: Self-signed certificates are considered insecure for the Internet. Firefox will treat the site as having an invalid certificate, while Chrome will act as if the connection was plain HTTP. To create a new Self-Signed SSL Certificate, use the openssl req command (run on linux from the cosmos-project root): openssl req -newkey rsa:4096 \\ -x509 \\ -sha256 \\ -days 3650 \\ -nodes \\ -out ./openc3-traefik/cert.crt \\ -keyout ./openc3-traefik/cert.key Country Name (2 letter code) [XX]:. State or Province Name (full name) []:. Locality Name (eg, city) [Default City]:. Organization Name (eg, company) [Default Company Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server hostname) []: <!-- UPDATE WITH YOUR HOSTNAME HERE --> Email Address []: Let's breakdown the command and understand what each option means: newkey rsa:4096 - Creates a new certificate request and 4096 bit RSA key. The default one is 2048 bits.x509 - Creates a X.509 Certificate.sha256 - Use 265-bit SHA (Secure Hash Algorithm).days 3650 - The number of days to certify the certificate for. 3650 is ten years. You can use any positive integer.nodes - Creates a key without a passphrase.out ./openc3-traefik/cert.crt - Specifies the filename to write the newly created certificate to. You can specify any file name.keyout ./openc3-traefik/cert.key - Specifies the filename to write the newly created private key to. You can specify any file name. For more information about the openssl req command options, visit the OpenSSL req documentation page. ","version":"Next","tagName":"h3"},{"title":"Updating the openc3-traefik Dockerfile​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-openc3-traefik-dockerfile","content":" Add the new cert to the traefik Docker container. --- a/openc3-traefik/Dockerfile +++ b/openc3-traefik/Dockerfile @@ -1,3 +1,4 @@ FROM traefik:2.4 COPY ./traefik.yaml /etc/traefik/traefik.yaml +COPY ./cert.crt ./cert.key /etc/certs/ EXPOSE 80 ","version":"Next","tagName":"h3"},{"title":"Updating the Traefik config​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-traefik-config","content":" Configure Traefik to use the new cert file. openc3-traefik/traefik.yaml --- a/openc3-traefik/traefik.yaml +++ b/openc3-traefik/traefik.yaml @@ -3,6 +3,17 @@ +tls: + certificates: + - certFile: "/etc/certs/cert.crt" + keyFile: "/etc/certs/cert.key" # Listen for everything coming in on the standard HTTP port entrypoints: web: address: ":2900" + http: + redirections: + entryPoint: + to: websecure + scheme: https + websecure: + address: ":2943" + http: + tls: + domains: + - main: "<!-- UPDATE WITH YOUR HOSTNAME HERE -->" ","version":"Next","tagName":"h3"},{"title":"Update docker-compose.yaml​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#update-docker-composeyaml","content":" Update traefik to use secure port 443 instead of port 80. --- a/compose.yaml +++ b/compose.yaml services: openc3-minio: @@ -70,7 +70,7 @@ services: openc3-traefik: image: "ballaerospace/openc3-traefik:${OPENC3_TAG}" ports: - - "80:2900" + - "443:2943" restart: "unless-stopped" depends_on: Now you can run ./openc3.sh start to rebuild the Traefik container and it should include your new cert file. ","version":"Next","tagName":"h3"},{"title":"Let's Encrypt​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#lets-encrypt","content":" KEY​ privkey.pem is the "key" file Sometimes it is named as cert.key or example.com.key. CRT​ fullchain.pem is your "crt" file. Sometimes it is named as example.com.crt. CRT/KEY Bundle​ bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem HAProxy is the only server that I know of that uses bundle.pem. cert.pem​ cert.pem contains ONLY your certificate, which can only be used by itself if the browser already has the certificate which signed it, which may work in testing (which makes it seem like it may be the right file), but will actually fail for many of your users in production with a security error of untrusted certificate. However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem. chain.pem​ chain.pem is the intermediary signed authority, signed by the root authority - which is what all browsers are guaranteed to have in their pre-built cache. ","version":"Next","tagName":"h2"},{"title":"Checking certs​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#checking-certs","content":" You can inspect the cert like so: openssl x509 -in cert.pem -text -noout ","version":"Next","tagName":"h3"},{"title":"Extracting the certificate and keys from a .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extracting-the-certificate-and-keys-from-a-pfx-file","content":" The .pfx file, which is in a PKCS#12 format, contains the SSL certificate (public keys) and the corresponding private keys. You might have to import the certificate and private keys separately in an unencrypted plain text format to use it on another system. This topic provides instructions on how to convert the .pfx file to .crt and .key files. ","version":"Next","tagName":"h2"},{"title":"Extract .crt and .key files from .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extract-crt-and-key-files-from-pfx-file","content":" PREREQUISITE: Ensure OpenSSL is installed in the server that contains the SSL certificate. Start OpenSSL from the OpenSSL\\bin folder. Open the command prompt and go to the folder that contains your .pfx file. Run the following command to extract the private key: openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key] You will be prompted to type the import password. Type the password that you used to protect your keypair when you created the .pfx file. You will be prompted again to provide a new password to protect the .key file that you are creating. Store the password to your key file in a secure place to avoid misuse. Run the following command to extract the certificate: openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt] Run the following command to decrypt the private key: openssl rsa -in [drlive.key] -out [drlive-decrypted.key] Type the password that you created to protect the private key file in the previous step. The .crt file and the decrypted and encrypted .key files are available in the path, where you started OpenSSL. ","version":"Next","tagName":"h3"},{"title":"Convert .pfx file to .pem format​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#convert-pfx-file-to-pem-format","content":" There might be instances where you might have to convert the .pfx file into .pem format. Run the following command to convert it into PEM format. openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key] ","version":"Next","tagName":"h3"},{"title":"TLS1.2 INADEQUATE_SECURITY Errors​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#tls12-inadequate_security-errors","content":" https://doc.traefik.io/traefik/https/tls/#cipher-suiteshttps://pkg.go.dev/crypto/tls#pkg-constants tls: options: default: cipherSuites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ","version":"Next","tagName":"h2"},{"title":"Tables","type":0,"sectionRef":"#","url":"/docs/configuration/table","content":"","keywords":"","version":"Next"},{"title":"Table Definition Files​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-definition-files","content":" Table definition files define the binary tables that can be displayed in COSMOS Table Manager. Table definitions are defined in the target's tables/config directory and are typically named after the table such as PPSSelectionTable_def.txt. The _def.txt extension helps to identify the file as a table definition. Table definitions can be combined using the TABLEFILE keyword. This allows you to build individual table components into a larger binary. The Table definition files share a lot of similarity with the Command Configuration. You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Table Keywords ","version":"Next","tagName":"h2"},{"title":"TABLEFILE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#tablefile","content":" Specify another file to open and process for table definitions Parameter\tDescription\tRequiredFile Name\tName of the file. The file will be looked for in the directory of the current definition file.\tTrue ","version":"Next","tagName":"h2"},{"title":"TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table","content":" Start a new table definition Parameter\tDescription\tRequiredName\tName of the table in quotes. The name will appear on the GUI tab.\tTrue Endianness\tIndicates if the data in this table is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Display\tIndicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values. Valid Values: KEY_VALUE, ROW_COLUMN\tFalse When Display is KEY_VALUE the remaining parameters are: Parameter\tDescription\tRequiredDescription\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse When Display is ROW_COLUMN the remaining parameters are: Parameter\tDescription\tRequiredRows\tThe number of rows in the table\tFalse Description\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse ","version":"Next","tagName":"h2"},{"title":"TABLE Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-modifiers","content":" The following keywords must follow a TABLE keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Offset\tBit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JsonPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE HIDDEN​ Indicates that the parameter should not be shown to the user in the Table Manager GUI Hidden parameters still exist and will be saved to the resulting binary. This is useful for padding and other essential but non-user editable fields. UNEDITABLE​ Indicates that the parameter should be shown to the user but not editable. Uneditable parameters are useful for control fields which the user may be interested in but should not be able to edit. ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#append_parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"SELECT_TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#select_table","content":" Select an existing table for editing, typically done to override an existing definition Parameter\tDescription\tRequiredTable\tThe name of the existing table\tTrue ","version":"Next","tagName":"h2"},{"title":"DEFAULT​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#default","content":" Specify default values for a SINGLE row in a multi-column table If you have multiple rows you need a DEFAULT line for each row. If all your rows are identical consider using ERB as shown in the OpenC3 demo. Parameter\tDescription\tRequiredDefault values\tA STATE value or data value corresponding to the data type\tFalse ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#example-file","content":" Example File: TARGET/tables/config/MCConfigurationTable_def.txt TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table" APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets" APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1 STATE DISABLE 0 STATE ENABLE 1 APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3 APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field" FORMAT_STRING "0x%0X" UNEDITABLE APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field" STATE DISABLE 0 STATE ENABLE 1 UNEDITABLE APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field" STATE UNCHECKED 0 STATE CHECKED 1 UNEDITABLE APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string" APPEND_PARAMETER "Pad" 16 UINT 0 0 0 HIDDEN ","version":"Next","tagName":"h2"},{"title":"Testing with Curl","type":0,"sectionRef":"#","url":"/docs/development/curl","content":"","keywords":"","version":"Next"},{"title":"Curl Example with OpenC3 COSMOS Open Source​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-open-source","content":" OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this. Request: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Length: 51 Content-Type: application/json-rpc Etag: W/"e806aacfdbed0b325e7a5928e3bb5cf4" Vary: Origin X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939 X-Runtime: 0.059044 Date: Sat, 04 Nov 2023 21:34:47 GMT {"jsonrpc":"2.0","id":8,"result":53.26555000000001} ","version":"Next","tagName":"h2"},{"title":"Curl Example with OpenC3 COSMOS Enterprise​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-enterprise","content":" OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request. Keycloak Request: # Get tokens from Keycloak - You will need to update the username and password with your account curl -i -H "Content-Type: application/x-www-form-urlencoded" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token Keycloak Response: HTTP/1.1 200 OK Cache-Control: no-store Content-Length: 3207 Content-Type: application/json Pragma: no-cache Referrer-Policy: no-referrer Set-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block Date: Wed, 10 May 2023 00:40:40 GMT {"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"} COSMOS Request: # COSMOS Request now looks like this: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api COSMOS Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Type: application/json-rpc Etag: W/"1e44c0878528687014e1e60a1cbebdae" Vary: Origin X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c X-Runtime: 0.046477 Date: Wed, 10 May 2023 00:41:33 GMT Transfer-Encoding: chunked {"jsonrpc":"2.0","id":8,"result":29.204100000000007} ","version":"Next","tagName":"h2"},{"title":"Suite Runner Example​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#suite-runner-example","content":" It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser: You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as curl" (depends on the browser). Here is an example of the second one: curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \\ -X 'POST' \\ -H 'Accept: application/json' \\ -H 'Accept-Language: en-US,en;q=0.9' \\ -H 'Authorization: pass' \\ -H 'Connection: keep-alive' \\ -H 'Content-Length: 0' \\ -H 'Origin: http://ascportal:2900' \\ -H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \\ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \\ --insecure Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case POST). If we inspect all of these we'll find out what each one does: Set the script contents this updates any local changes)Note that this is a different request to GET the script contents. This is done on the page load. Lock the script (so other users can't edit it during execution)Run script (this takes a JSON with options)Open Websocket for logsRequest Result (this URL is a little different because the results are saved in redis) Below is a bash script which does all the above given some options. It requires curl for the web requests and jq for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result. #!/bin/bash set -e TARGET=${1:-'TARGET'} SCRIPT=${2:-'procedures/cmd_tlm_test.rb'} SUITE=${3:-'TestSuite'} COSMOS_HOST='http://localhost:2900' SCRIPT_API="$COSMOS_HOST/script-api" SCRIPT_PATH="scripts/$TARGET/$SCRIPT" CURL_ARGS=( -H 'Accept: application/json' -H 'Authorization: password' -H 'Accept-Language: en-US,en;q=0.9' -H 'Connection: keep-alive' -H 'Content-Type: application/json' --insecure --silent ) # Lock script # curl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}" # Run script # RUN_OPTS=$(cat <<-json { "environment": [], "suiteRunner": { "method": "start", "suite": "$SUITE", "options": [ "continueAfterError" ] } } json ) RUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .) ID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}") echo "Starting Script '$SCRIPT_PATH' at $(date) (may take up to 15 minutes)" > /dev/stderr echo "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr # Loop while Script ID is still running # while true; do SCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")" if [[ -z $SCRIPT_STATUS ]]; then break; fi sleep 2 done # Request results # BUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\\ jq '[.[]|select(.name | test("'"${SCRIPT_PATH#scripts/}"' "))][0] | .log | @uri' -r)" URL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)" curl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}" ","version":"Next","tagName":"h2"},{"title":"Host Install","type":0,"sectionRef":"#","url":"/docs/development/host-install","content":"","keywords":"","version":"Next"},{"title":"Installing COSMOS Directly onto a Host (No Containers)​","type":1,"pageTitle":"Host Install","url":"/docs/development/host-install#installing-cosmos-directly-onto-a-host-no-containers","content":" Note: THIS IS NOT A RECOMMENDED CONFIGURATION. COSMOS 5 is released as containers and intended to be run as containers. However, for various reasons someone might want to run COSMOS directly on a host. These instructions will walk through getting COSMOS 5 installed and running directly on RHEL 7 or Centos 7. This configuration will create a working install, but falls short of the ideal in that it does not setup the COSMOS processes as proper services on the host OS (that restart themselves on boot, and maintain themselves running in case of errors). Contributions that add that functionality are welcome. Let's get started. The starting assumption is that you have a fresh install of either RHEL 7 or Centos 7. You are running as a normal user that has sudo permissions, and has git installed. Start by downloading the latest working version of COSMOS from Github cd ~ git clone https://github.com/openc3/cosmos.git Run the COSMOS installation script If you are feeling brave, you can run the one large installer script that installs everything in one step: cd cosmos/examples/hostinstall/centos7 ./openc3_install.sh Or, you may want to break it down to the same steps that are in that script, and make sure each individual step is successful: cd cosmos/examples/hostinstall/centos7 ./openc3_install_packages.sh ./openc3_install_ruby.sh ./openc3_install_redis.sh ./openc3_install_minio.sh ./openc3_install_traefik.sh ./openc3_install_openc3.sh ./openc3_start_services.sh ./openc3_first_init.sh If all was successful, you should be able to open Firefox, and goto: http://localhost:2900. Congrats you have COSMOS running directly on a host. As stated at the beginning, this is not currently a supported configuration. Contributions that help to improve it are welcome. ","version":"Next","tagName":"h2"},{"title":"Interfaces","type":0,"sectionRef":"#","url":"/docs/configuration/interfaces","content":"","keywords":"","version":"Next"},{"title":"Provided Interfaces​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#provided-interfaces","content":" COSMOS provides the following interfaces for use: TCPIP Client, TCPIP Server, UDP, and Serial. The interface to use is defined by the INTERFACE and ROUTER keywords. ","version":"Next","tagName":"h2"},{"title":"TCPIP Client Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-client-interface","content":" The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface. Parameter\tDescription\tRequiredHost\tMachine name to connect to\tYes Write Port\tPort to write commands to (can be the same as read port). Pass nil / None to make the interface read only.\tYes Read Port\tPort to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. ","version":"Next","tagName":"h3"},{"title":"TCPIP Server Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-server-interface","content":" The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server. Parameter\tDescription\tRequiredWrite Port\tPort to write commands to (can be the same as read port)\tYes Read Port\tPort to read telemetry from (can be the same as write port)\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. Note, TcpipServerInterface processes the OPTION modifier. ","version":"Next","tagName":"h3"},{"title":"UDP Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#udp-interface","content":" The UDP interface uses UDP packets to send and receive telemetry from the target. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the machine to send and receive data with\tYes Write Dest Port\tPort on the remote machine to send commands to\tYes Read Port\tPort on the remote machine to read telemetry from\tYes Write Source Port\tPort on the local machine to send commands from\tNo\tnil (socket is not bound to an outgoing port) Interface Address\tIf the remote machine supports multicast the interface address is used to configure the outgoing multicast address\tNo\tnil (not used) TTL\tTime to Live. The number of intermediate routers allowed before dropping the packet.\tNo\t128 (Windows) Write Timeout\tNumber of seconds to wait before aborting the write\tNo\t10.0 Read Timeout\tNumber of seconds to wait before aborting the read\tNo\tnil (block on read) plugin.txt Ruby Example: INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil plugin.txt Python Example: INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. ","version":"Next","tagName":"h3"},{"title":"Serial Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#serial-interface","content":" The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby. Parameter\tDescription\tRequiredWrite Port\tName of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing.\tYes Read Port\tName of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading.\tYes Baud Rate\tBaud rate to read and write\tYes Parity\tSerial port parity. Must be 'NONE', 'EVEN', or 'ODD'.\tYes Stop Bits\tNumber of stop bits, e.g. 1.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol See INTERFACE for a description of the INTERFACE keyword. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. Note, SerialInterface processes the OPTION modifier. ","version":"Next","tagName":"h3"},{"title":"Streams​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#streams","content":" Streams are low level classes that implement read, read_nonblock, write, connect, connected? and disconnect methods. The built-in Stream classes are SerialStream, TcpipSocketStream and TcpipClientStream and they are automatically used when creating a Serial Interface, TCP/IP Server Interface, or TCP/IP Client Interface. ","version":"Next","tagName":"h2"},{"title":"Protocols​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#protocols","content":" Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. COSMOS defines the following built-in protocols which can be used with the above interfaces: Name\tDescriptionBurst\tReads as much data as possible from the interface Fixed\tProcesses fixed length packets with a known ID position Length\tProcesses a length field at a fixed location and then reads the remainder of the data Terminated\tDelineates packets uses termination characters at the end of each packet Template\tProcesses text based command / response data such as SCPI interfaces Preidentified\tInternal COSMOS protocol used by COSMOS tools These protocols are declared directly after the interface: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE COSMOS also defines the following helper protocols: Name\tDescriptionCRC\tAdds CRCs to outgoing packets and verifies CRCs on incoming packets Ignore\tIgnores the specified packet by dropping it These protocols are declared after the INTERFACE: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF TARGET TGT PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF TARGET TGT PROTOCOL WRITE CrcProtocol CRC # See the documentation for parameters Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific. In addition, you can define your own protocols which are declared like the COSMOS helper protocols after your interface. See the Custom Protocols documentation for more information. Protocol Run Order Read protocols execute in the order specified (First specified runs first). Write protocols execute in the reverse order (Last specified executes first). ","version":"Next","tagName":"h2"},{"title":"Protocols","type":0,"sectionRef":"#","url":"/docs/configuration/protocols","content":"","keywords":"","version":"Next"},{"title":"Packet Delineation Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#packet-delineation-protocols","content":" COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream. Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning :STOP). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the Custom Protocols documentation. ","version":"Next","tagName":"h2"},{"title":"COBS Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cobs-protocol","content":" The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing for more). ","version":"Next","tagName":"h3"},{"title":"SLIP Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#slip-protocol","content":" The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See https://datatracker.ietf.org/doc/html/rfc1055 for more). Parameter\tDescription\tRequired\tDefaultStart Char\tCharacter to place at the start of frames\tNo\tnil (no character) Read Strip Characters\tStrip off start_char and end_char from reads\tNo\ttrue Read Enable Escaping\tWhether to enable character escaping on reads\tNo\ttrue Write Enable Escaping\tWhether to enable character escaping on writes\tNo\ttrue End Char\tCharacter to place at the end of frames\tNo\t0xC0 Esc Char\tEscape character\tNo\t0xDB Escape End Char\tCharacter to escape End character\tNo\t0xDC Escape Esc Char\tCharacter to escape Esc character\tNo\t0xDD ","version":"Next","tagName":"h3"},{"title":"Burst Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#burst-protocol","content":" The Burst Protocol simply reads as much data as it can from the interface before returning the data as a COSMOS Packet (It returns a packet for each burst of data read). This Protocol relies on regular bursts of data delimited by time and thus is not very robust. However, it can utilize a sync pattern which does allow it to re-sync if necessary. It can also discard bytes from the incoming data to remove the sync pattern. Finally, it can add sync patterns to data being written out of the Interface. Parameter\tDescription\tRequired\tDefaultDiscard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Fixed Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#fixed-protocol","content":" The Fixed Protocol reads a preset minimum amount of data which is necessary to properly identify all the defined packets using the interface. It then identifies the packet and proceeds to read as much data from the interface as necessary to create the packet which it then returns. This protocol relies on all the packets on the interface being fixed in length. For example, all the packets using the interface are a fixed size and contain a simple header with a 32-bit sync pattern followed by a 16 bit ID. The Fixed Protocol would elegantly handle this case with a minimum read size of 6 bytes. The Fixed Protocol also supports a sync pattern, discarding leading bytes, and filling the sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultMinimum ID Size\tThe minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes.\tYes Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Telemetry\tWhether the data is telemetry\tNo\ttrue (false means command) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Unknown Raise\tWhether to raise an exception for an unknown packet\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Length Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#length-protocol","content":" The Length Protocol depends on a length field at a fixed location in the defined packets using the interface. It then reads enough data to grab the length field, decodes it, and reads the remaining length of the packet. For example, all the packets using the interface contain a CCSDS header with a length field. The Length Protocol can be set up to handle the length field and even the length offset CCSDS uses. The Length Protocol also supports a sync pattern, discarding leading bytes, and filling the length and sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultLength Bit Offset\tThe bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 bits Length Bit Size\tThe size in bits of the length field\tNo\t16 bits Length Value Offset\tThe offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 Bytes per Count\tThe number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words.\tNo\t1 byte Length Endianness\tThe endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'.\tNo\t'BIG_ENDIAN' Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Fill Length and Sync Pattern\tSetting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets.\tNo\tfalse The most confusing aspect of the Length Protocol is calculating the Length Value Offset. This is especially true in the commonly used CCSDS Space Packet Protocol. The best way to illustrate this is with an example. Suppose you have CCSDS Space Packets prepended with a Sync Pattern of 0x1ACFFC1D. This would look like the following: Sync (4 bytes)\tHeader (4 bytes)\tLength (2 bytes)\tData (4 bytes)0x1ACFFC1D\t0x0001CADB\t0x0003\t0xDEADBEEF In this case the total length of the packet is 14 bytes: 4 + 4 + 2 + 4 = 14. With 4 bytes of data, the length field is 3 because in CCSDS the length field is calculated as (data length - 1). So how would we calculate the Length Value Offset? COSMOS reads all the bytes in the packet (including the Sync Pattern) so the total length is 14 bytes. The length field is 3 so the Length Value Offset (offset to apply to the length field value) should be 11 (3 + 11 = 14). ","version":"Next","tagName":"h3"},{"title":"Terminated Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#terminated-protocol","content":" The Terminated Protocol delineates packets using termination characters found at the end of every packet. It continuously reads data until the termination characters are found at which point it returns the packet data. For example, all the packets using the interface are followed by 0xABCD. This data can either be a part of each packet that is kept or something which is known only by the Terminated Protocol and simply thrown away. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Template Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#template-protocol","content":" Deprecated This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead. The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets "<EXAMPLE>". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Ignore Lines\tNumber of response lines to ignore (completely drop)\tNo\t0 lines Initial Read Delay\tAn initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts.\tNo\tnil (no initial read) Response Lines\tThe number of lines that make up expected responses\tNo\t1 line Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Response Timeout\tNumber of seconds to wait for a response before timing out\tNo\t5.0 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur like timeouts or unexpected responses\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Preidentified Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#preidentified-protocol","content":" The Preidentified Protocol delineates packets using a custom COSMOS header. This Protocol is created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation. Parameter\tDescription\tRequired\tDefaultSync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Mode\tThe Version of the preidentified protocol to support (2 or 4).3\tNo\t4 ","version":"Next","tagName":"h3"},{"title":"Helper Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#helper-protocols","content":" COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. These protocols provide helper functionality to Interfaces. ","version":"Next","tagName":"h2"},{"title":"CmdResponse Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cmdresponse-protocol","content":" The CmdResponse Protocol waits for a response for any commands with a defined response packet (TODO: More documentation and examples). Parameter\tDescription\tRequired\tDefaultResponse Timeout\tNumber of seconds to wait before timing out when waiting for a response\tNo\t5 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur in the protocol like unexpected responses or response timeouts\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"CRC Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#crc-protocol","content":" The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultWrite Item Name\tItem to fill with calculated CRC value for outgoing packets (nil = don't fill)\tNo\tnil Strip CRC\tWhether to remove the CRC from incoming packets\tNo\tfalse Bad Strategy\tHow to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interface\tNo\t"ERROR" Bit Offset\tBit offset of the CRC in the data. Can be negative to indicate distance from end of packet\tNo\t-32 Bit Size\tBit size of the CRC - Must be 16, 32, or 64\tNo\t32 Endianness\tEndianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)\tNo\t"BIG_ENDIAN" Poly\tPolynomial to use when calculating the CRC expressed as an integer\tNo\tnil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693) Seed\tSeed value to start the calculation\tNo\tnil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF) Xor\tWhether to XOR the CRC result with 0xFFFF\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) Reflect\tWhether to bit reverse each byte of data before calculating the CRC\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) ","version":"Next","tagName":"h3"},{"title":"Ignore Packet Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ignore-packet-protocol","content":" The Ignore Packet protocol drops specified command packets sent by COSMOS or drops incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultTarget Name\tTarget name of the packet to ignore\tYes\tnil Packet Name\tPacket name of the packet to ignore\tYes\tnil ","version":"Next","tagName":"h3"},{"title":"Custom Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#custom-protocols","content":" Creating a custom protocol is easy and should be the default solution for customizing COSMOS Interfaces (rather than creating a new Interface class). However, creating custom Interfaces is still useful for defaulting parameters to values that always are fixed for your target and for including the necessary Protocols. The base COSMOS Interfaces take a lot of parameters that can be confusing to your end users. Thus you may want to create a custom Interface just to hard coded these values and cut the available parameters down to something like the hostname and port to connect to. All custom Protocols should derive from the Protocol class openc3/interfaces/protocols/protocol.rb (Ruby) and openc3/interfaces/protocols/protocol.py (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols. Ruby Protocol APIs Protocols should not require 'openc3/script' since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. Python Protocol APIs Protocols should not from openc3.script import * since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. To really understand how Protocols work, you first must understand the logic within the base Interface class read and write methods. Let's first discuss the read method. Ruby Symbols, Python Strings In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means :STOP in Ruby and "STOP" in Python. On every call to read, an empty string "" is first passed down to each of the read Protocol's read_data() method before new raw data is attempted to be read using the Interface's read_interface() method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols read_data() methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's read_data() method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's read_data() method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's read_data() methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in read_data()), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface. The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.) First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message. ","version":"Next","tagName":"h2"},{"title":"Method discussions​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#method-discussions","content":" ","version":"Next","tagName":"h2"},{"title":"initialize or init​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#initialize-or-init","content":" This is the constructor for your custom Protocol. It should always call super(allow_empty_data) to initialize the base Protocol class. Base class Ruby implementation: # @param allow_empty_data [true/false] Whether STOP should be returned on empty data def initialize(allow_empty_data = false) @interface = nil @allow_empty_data = ConfigParser.handle_true_false(allow_empty_data) reset() end Base class Python implementation: def __init__(self, allow_empty_data=None): self.interface = None self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data) self.reset() As you can see, every Protocol maintains state on at least two items. The interface variable holds the Interface class instance that the protocol is associated with. This is sometimes necessary to introspect details that only the Interface knows. allow_empty_data is a flag used by the read_data(data) method that is discussed later in this document. ","version":"Next","tagName":"h3"},{"title":"reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#reset","content":" The reset method is used to reset internal protocol state when the Interface is connected and/or disconnected. This method should be used for common resetting logic. Connect and Disconnect specific logic are handled in the next two methods. Base class Ruby implementation: def reset end Base class Python implementation: def reset(self): pass As you can see, the base class reset implementation doesn't do anything. ","version":"Next","tagName":"h3"},{"title":"connect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#connect_reset","content":" The connect_reset method is used to reset internal Protocol state each time the Interface is connected. Base class Ruby implementation: def connect_reset reset() end Base class Python implementation: def connect_reset(self): self.reset() The base class connect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"disconnect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#disconnect_reset","content":" The disconnect_reset method is used to reset internal Protocol state each time the Interface is disconnected. Base class Ruby implementation: def disconnect_reset reset() end Base class Python implementation: def disconnect_reset(self): self.reset() The base class disconnect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"read_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_data","content":" The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def read_data(data) if (data.length <= 0) if @allow_empty_data.nil? if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data return :STOP end elsif !@allow_empty_data # Don't @allow_empty_data means STOP return :STOP end end data end Base class Python implementation: def read_data(self, data, extra=None): if len(data) <= 0: if self.allow_empty_data is None: if self.interface and self.interface.read_protocols[-1] == self: # Last read interface in chain with auto self.allow_empty_data return ("STOP", extra) elif self.allow_empty_data: # Don't self.allow_empty_data means STOP return ("STOP", extra) return (data, extra) The base class implementation does nothing except return the data it was given. The only exception to this is when handling an empty string. If the allow_empty_data flag is false / False or if it is nil / None and the Protocol is the last in the chain, then the base implementation will return STOP to indicate that it is time to call the Interface read_interface() method to get more data. Blank strings are used to signal Protocols that they have an opportunity to return a cached packet. ","version":"Next","tagName":"h3"},{"title":"read_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_packet","content":" The read_packet method is used to analyze and potentially modify a COSMOS packet before it is returned by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be returned, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). This method is where a Protocol would set the stored flag on a packet if it determines that the packet is stored telemetry instead of real-time telemetry. Base class Ruby implementation: def read_packet(packet) return packet end Base class Python implementation: def read_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_packet","content":" The write_packet method is used to analyze and potentially modify a COSMOS packet before it is output by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_packet(packet) return packet end Base class Python implementation: def write_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_data","content":" The write_data method is used to analyze and potentially modify data before it is written out by the Interface. It takes one parameter as the current state of the data to be analyzed and sent. It can return either a string of data, STOP, or DISCONNECT. If it returns a string of data, then it believes that the data is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the data should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_data(data) return data end Base class Python implementation: def write_data(self, data, extra=None): return (data, extra) The base class always just returns the data given. ","version":"Next","tagName":"h3"},{"title":"post_write_interface​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#post_write_interface","content":" The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by write_packet() and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols post_write_interface() methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return. Base class Ruby implementation: def post_write_interface(packet, data) return packet, data end Base class Python implementation: def post_write_interface(self, packet, data, extra=None): return (packet, data, extra) The base class always just returns the packet/data given. ","version":"Next","tagName":"h3"},{"title":"protocol_cmd​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#protocol_cmd","content":" The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See interface_protocol_cmd for more information. Base class Ruby implementation: def protocol_cmd(cmd_name, *cmd_args) # Default do nothing - Implemented by subclasses return false end Base class Python implementation: def protocol_cmd(self, cmd_name, *cmd_args): # Default do nothing - Implemented by subclasses return False The base class does nothing as this is special functionality implemented by subclasses. ","version":"Next","tagName":"h3"},{"title":"Examples​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#examples","content":" Please see the linked Ruby Protocol and Python Protocol code for examples of the above methods in action. ","version":"Next","tagName":"h2"},{"title":"Developing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/developing","content":"","keywords":"","version":"Next"},{"title":"Development Tools​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#development-tools","content":" The core COSMOS team develops with the Visual Studio Code editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our openc3.code-workspace configuration for VSCode to help configure these plugins. You also need Docker Desktop which you should already have as it is a requirement to run COSMOS. You'll also need NodeJS and yarn installed. Building COSMOS Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts. Build COSMOS using the openc3.sh script: % ./openc3.sh build This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build! Once the build completes you can see the built images with the following command: % docker image ls | grep "openc3" openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB openc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB openc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB openc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB openc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB openc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB openc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB openc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB Offline Building If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the .env file. Example values: ALPINE_VERSION=3.18 ALPINE_BUILD=9 RUBYGEMS_URL=https://rubygems.org NPM_URL=https://registry.npmjs.org APK_URL=http://dl-cdn.alpinelinux.org Running COSMOS Running COSMOS in development mode enables localhost access to internal API ports as well as sets RAILS_ENV=development in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode: % ./openc3.sh dev You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space): % docker ps IMAGE COMMAND PORTS NAMES openc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails…" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1 openc3/openc3-script-runner-api:latest "/sbin/tini -- rails…" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1 openc3/openc3-traefik:latest "/entrypoint.sh trae…" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1 openc3/openc3-operator:latest "/sbin/tini -- ruby …" cosmos-openc3-operator-1 openc3/openc3-minio:latest "/usr/bin/docker-ent…" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1 openc3/openc3-redis:latest "docker-entrypoint.s…" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1 If you go to localhost:2900 you should see COSMOS up and running! ","version":"Next","tagName":"h2"},{"title":"Running a Frontend Application​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-frontend-application","content":" So now that you have COSMOS up and running how do you develop an individual COSMOS application? Bootstrap the frontend with yarn openc3-init % yarn Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc) openc3-init % cd plugins/packages/openc3-tool-scriptrunner openc3-tool-scriptrunner % yarn serve DONE Compiled successfully in 128722ms App running at: - Local: http://localhost:2914/tools/scriptrunner/ - Network: http://localhost:2914/tools/scriptrunner/ Note that the development build is not optimized. To create a production build, run npm run build. Set the single SPA override for the application Visit localhost:2900 and Right-click 'Inspect' In the console paste: localStorage.setItem("devtools", true); Refresh and you should see {...} in the bottom right Click the Default button next to the application (@openc3/tool-scriptrunner) Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner) http://localhost:2914/tools/scriptrunner/js/app.js Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like console.log) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's development tools if you plan to do frontend development. ","version":"Next","tagName":"h2"},{"title":"Running a Backend Server​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-backend-server","content":" If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy. Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations. % cd openc3-traefik openc3-traefik % docker ps # Look for the container with name including traefik openc3-traefik % docker stop cosmos-openc3-traefik-1 openc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev . openc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev Run a local copy of the cmd-tlm-api or script-runner-api % cd openc3-cosmos-cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker ps # Look for the container with name including cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1 # Run the following on Windows: openc3-cosmos-cmd-tlm-api> dev_server.bat # In Linux, set all the environment variables in the .env file, but override REDIS to be local openc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % bundle install openc3-cosmos-cmd-tlm-api % bundle exec rails s Once the bundle exec rails s command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect. ","version":"Next","tagName":"h2"},{"title":"JSON API","type":0,"sectionRef":"#","url":"/docs/development/json-api","content":"","keywords":"","version":"Next"},{"title":"Authorization​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#authorization","content":" The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header. Authorization: <token/password> ","version":"Next","tagName":"h2"},{"title":"JSON-RPC 2.0​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#json-rpc-20","content":" The COSMOS API implements a relaxed version of the JSON-RPC 2.0 Specification. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal's such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a "keyword_params" object. ","version":"Next","tagName":"h2"},{"title":"Socket Connections​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#socket-connections","content":" The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777). COSMOS listens for HTTP API requests at the default 2900 port at the /openc3-api/api endpoint. ","version":"Next","tagName":"h2"},{"title":"Supported Methods​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#supported-methods","content":" The list of methods supported by the COSMOS API may be found in the api source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the Scripting Writing Guide. This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here. ","version":"Next","tagName":"h2"},{"title":"Existing Implementations​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#existing-implementations","content":" The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript. ","version":"Next","tagName":"h2"},{"title":"Example Usage​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#example-usage","content":" ","version":"Next","tagName":"h2"},{"title":"Sending Commands​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#sending-commands","content":" The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values. Parameter\tData Type\tDescriptioncommand_string\tstring\tA single string containing all required information for the command The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to send the command to command_name\tString\tThe name of the command command_params\tHash\tOptional hash of command parameters Example Usage: --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} ","version":"Next","tagName":"h3"},{"title":"Getting Telemetry​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#getting-telemetry","content":" The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME" Parameter\tData Type\tDescriptiontlm_string\tString\tA single string containing all required information for the telemetry item The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to get the telemetry value from packet_name\tString\tName of the packet to get the telemetry value from item_name\tString\tName of the telemetry item Example Usage: --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} ","version":"Next","tagName":"h3"},{"title":"Further Debugging​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#further-debugging","content":" If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation. Launch COSMOSOpen Command SenderOpen browser developer tools (right-click->Inspect in Chrome)Click "Network" tab (may need to add it with + button)Send a command with the GUIView the request in the developer tool. Click the "Payload" sub-tab to view the JSON You can also try sending these raw commands from the terminal with a program like curl: curl -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}' http://localhost:2900/openc3-api/api -H "Authorization: password" ","version":"Next","tagName":"h2"},{"title":"Log Structure","type":0,"sectionRef":"#","url":"/docs/development/log-structure","content":"","keywords":"","version":"Next"},{"title":"Packet Log File Format​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#packet-log-file-format","content":" Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as well as decommutated packets stored as JSON structures. ","version":"Next","tagName":"h2"},{"title":"File Header​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#file-header","content":" COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions. ","version":"Next","tagName":"h3"},{"title":"Entry Types​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#entry-types","content":" Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data. Common Entry Format​ This common format is used for all packet log entries: Field\tData Type\tDescriptionLength\t32-bit Unsigned Integer\tTotal length of the entry in bytes not including the length field. Max entry size is therefore 4GiB. Entry Type\t4-bit Unsigned Integer\tEntry Type: 1 = Target Declaration 2 = Packet Declaraction 3 = Raw Packet 4 = JSON/CBOR Packet 5 = Offset Marker 6 = Key Map Cmd/Tlm Flag\t1-bit Unsigned Integer\t1 = Command 0 = Telemetry Stored Flag\t1-bit Unsigned Integer\t1 = Stored Data 0 = Realtime Data Id Flag\t1-bit Unsigned Integer\t1 = ID present 0 = ID not present CBOR Flag\t1-bit Unsigned Integer\tOnly Valid for "JSON/CBOR Packets" 1 = CBOR Data 0 = JSON Data Extra Flag\t1-bit Unsigned Integer\t1 = Extra present 0 = Extra Not Present (Added COSMOS 5.11) Received Time Flag\t1-bit Unsigned Integer\t1 = Received Time Present 0 = No Received Time (Added COSMOS 5.11.0) Reserved\t6-bit Unsigned Integer\tReserved for Future expansion. Should be set to 0 if unused. Entry Data\tVariable\tUnique data based on entry type. See Entry Types Below Id (Optional)\t32-byte Binary Hash\tIf the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration Target Declaration Entry​ Declares the name of a target the first time it is seen when writing the log file. Field\tData Type\tDescriptionTarget Name\tVariable-Length ASCII String\tTarget Name Packet Declaration Entry​ Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index. Field\tData Type\tDescriptionTarget Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc. Packet Name\tVariable-Length ASCII String\tPacket Name Raw Packet and JSON Packet Entries​ Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536. Packet Timestamp\t64-bit Unsigned Integer\tPacket timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the “packet time” for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed. Received Timestamp (Optional)\t64-bit Unsigned Integer\tOnly present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time” for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed. Extra Length (Optional)\t32-bit Unsigned Integer\tOnly Present if Extra Flag is Set. Length of extra data in bytes not including itself. Extra Data (Optional)\tVariable-Length Block Data\tOnly Present if Extra Flag is Set. CBOR or JSON encoded object of extra data. Packet Data\tVariable-Length Block Data\tThe Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry. Offset Marker Entry​ This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS. Field\tData Type\tDescriptionOffset Marker\tVariable-Length ASCII String\tRedis Offset Marker Key Map Entry​ The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. Key Map\tVariable-Length ASCII String\tKey Map Data with Mapping from numeric key to actual packet item name ","version":"Next","tagName":"h3"},{"title":"Testing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/testing","content":"","keywords":"","version":"Next"},{"title":"Playwright​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright","content":" ","version":"Next","tagName":"h2"},{"title":"Prerequesits​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#prerequesits","content":" Install Yarn npm install --global yarn Clone the COSMOS Playwright repo git clone https://github.com/OpenC3/cosmos-playwright Install Playwright and dependencies cosmos-playwright % yarn install ","version":"Next","tagName":"h3"},{"title":"Playwright Testing​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright-testing","content":" Start COSMOS cosmos % openc3.sh start Open COSMOS in your browser. At the login screen, set the password to "password". Run tests (Note the --headed option visually displays tests, leave it off to run in the background) cosmos-playwright % yarn playwright test --project=chromium --headed [Optional] Fix istanbul/nyc coverage source lookups (use fixwindows if not on Linux). Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work. cosmos-playwright % yarn fixlinux Generate code coverage cosmos-playwright % yarn coverage Code coverage reports can be viewed at openc3-playwright/coverage/index.html ","version":"Next","tagName":"h3"},{"title":"Ruby Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#ruby-unit-tests","content":" Navigate to cosmos/openc3 folder. Run the command: cosmos/openc3 % rake build cosmos/openc3 % bundle exec rspec Code coverage reports can be found at cosmos/openc3/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Python Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#python-unit-tests","content":" Navigate to cosmos/openc3/python folder. Run the command: cosmos/openc3/python % python -m pip install -r requirements-dev.txt cosmos/openc3/python % python -m pip install -r requirements.txt cosmos/openc3/python % coverage run -m pytest cosmos/openc3/python % coverage html Code coverage reports can be found at cosmos/openc3/python/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Roadmap","type":0,"sectionRef":"#","url":"/docs/development/roadmap","content":"","keywords":"","version":"Next"},{"title":"Key Features Still to Come in OpenC3 COSMOS 5.x:​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#key-features-still-to-come-in-openc3-cosmos-5x","content":" ✅ Python Support ✅ Standardized Mission Planning Interface (aka Command Load Generator (CLG)) ✅ Protocol buffer support ✅ Command Authority (Enterprise) ✅ Critical Commanding (Two Operators - Enterprise) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 6.0 (Late 2024)​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-60-late-2024","content":" Core Features: ✅ Upgrade Tools to Vue 3 / Vuetify 3 ✅ Traefik v3 ⬜ Python / Ruby parity (interfaces, protocols, etc) Functionality For 6.1+: ⬜ Plugin App Store ⬜ System Health Tool (Enterprise) ⬜ Log Message Extractor Tool (Enterprise) ⬜ Telemetry Viewer screen playback of historical data ⬜ libCSP Interface (Cubesat Space Protocol) ⬜ Standardized Interfaces for common message buses (ZeroMQ, ActiveMQ, etc) ⬜ COSMOS Notebooks (similar to Jupyter Notebooks) ⬜ COSMOS Dashboards (configurable iFrames for Common Operating Picture) ⬜ Integration with ground networks (Atlas, RBC Signals) ⬜ Integration with mission planning (Orbit Logic, Cognitive Space) ⬜ Integration with flight dynamics (Kayhan, SEE, Exotrail) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 7.0​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-70","content":" Core Features: ⬜ Super Bridge - This will enable SaaS COSMOS and provide a secure method to communicate from a cloud server to an intranet for hardware control ","version":"Next","tagName":"h2"},{"title":"Near-term Planning​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#near-term-planning","content":" Our near-term planning linking to specific tickets is on our Github Planning Project. If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo. ","version":"Next","tagName":"h2"},{"title":"Plugins","type":0,"sectionRef":"#","url":"/docs/configuration/plugins","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#introduction","content":" This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS. Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality. Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Target​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target","content":" Targets are the external pieces of hardware and/or software that COSMOS communicates with. These are things like Front End Processors (FEPs), ground support equipment (GSE), custom software tools, and pieces of hardware like satellites themselves. A target is anything that COSMOS can send commands to and receive telemetry from. ","version":"Next","tagName":"h3"},{"title":"Interface​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface","content":" Interfaces implement the physical connection to one or more targets. They are typically ethernet connections implemented using TCP or UDP but can be other connections like serial ports. Interfaces send commands to targets and receive telemetry from targets. ","version":"Next","tagName":"h3"},{"title":"Router​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router","content":" Routers flow streams of telemetry packets out of COSMOS and receive streams of commands into COSMOS. The commands are forwarded by COSMOS to associated interfaces. Telemetry comes from associated interfaces. ","version":"Next","tagName":"h3"},{"title":"Tool​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool","content":" COSMOS Tools are web-based applications the communicate with the COSMOS APIs to perform takes like displaying telemetry, sending commands, and running scripts. ","version":"Next","tagName":"h3"},{"title":"Microservice​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice","content":" Microservices are persistent running backend code that runs within the COSMOS environment. They can process data and perform other useful tasks. ","version":"Next","tagName":"h3"},{"title":"Plugin Directory Structure​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugin-directory-structure","content":" COSMOS plugins have a well-defined directory structure described in detail in the Code Generator documentation. ","version":"Next","tagName":"h2"},{"title":"plugin.txt Configuration File​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugintxt-configuration-file","content":" A plugin.txt configuration file is required for any COSMOS plugin. It declares the contents of the plugin and provides variables that allow the plugin to be configured at the time it is initially installed or upgraded. This file follows the standard COSMOS configuration file format of keywords followed by zero or more space separated parameters. The following keywords are supported by the plugin.txt config file: ","version":"Next","tagName":"h2"},{"title":"VARIABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#variable","content":" Define a configurable variable for the plugin The VARIABLE keyword defines a variable that will be requested for the user to enter during plugin installation. Variables can be used to handle details of targets that are user defined such as specific IP addresses and ports. Variables should also be used to allow users to rename targets to whatever name they want and support multiple installations of the same target with different names. Variables can be used later in plugin.txt or in any other configuration file included in a plugin using Ruby ERB syntax. The variables are assigned to accessible local variables in the file. At a high level, ERB allows you to run Ruby code in configuration files. Parameter\tDescription\tRequiredVariable Name\tThe name of the variable\tTrue Default Value\tDefault value of the variable\tTrue ","version":"Next","tagName":"h2"},{"title":"NEEDS_DEPENDENCIES​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#needs_dependencies","content":" (Since 5.5.0) Indicates the plugin needs dependencies and sets the GEM_HOME environment variable If the plugin has a top level lib folder or lists runtime dependencies in the gemspec, NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having NEEDS_DEPENDENCIES adds the NFS volume mount to the Kubernetes pod. ","version":"Next","tagName":"h2"},{"title":"INTERFACE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-1","content":" Defines a connection to a physical target Interfaces are what OpenC3 uses to talk to a particular piece of hardware. Interfaces require a Ruby or Python file which implements all the interface methods necessary to talk to the hardware. OpenC3 defines many built in interfaces or you can define your own as long as it implements the interface protocol. Parameter\tDescription\tRequiredInterface Name\tName of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target.\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"INTERFACE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-modifiers","content":" The following keywords must follow a INTERFACE keyword. ","version":"Next","tagName":"h2"},{"title":"MAP_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_target","content":" Maps a target name to an interface Parameter\tDescription\tRequiredTarget Name\tTarget name to map to this interface\tTrue Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA ","version":"Next","tagName":"h3"},{"title":"MAP_CMD_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_cmd_target","content":" (Since 5.2.0) Maps a target name to an interface for commands only Parameter\tDescription\tRequiredTarget Name\tCommand target name to map to this interface\tTrue Ruby Example: INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface Python Example: INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface ","version":"Next","tagName":"h3"},{"title":"MAP_TLM_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_tlm_target","content":" (Since 5.2.0) Maps a target name to an interface for telemetry only Parameter\tDescription\tRequiredTarget Name\tTelemetry target name to map to this interface\tTrue Ruby Example: INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface Python Example: INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface ","version":"Next","tagName":"h3"},{"title":"DONT_CONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_connect","content":" Server will not automatically try to connect to the interface at startup ","version":"Next","tagName":"h3"},{"title":"DONT_RECONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_reconnect","content":" Server will not try to reconnect to the interface if the connection is lost ","version":"Next","tagName":"h3"},{"title":"RECONNECT_DELAY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reconnect_delay","content":" Reconnect delay in seconds If DONT_RECONNECT is not present the Server will try to reconnect to an interface if the connection is lost. Reconnect delay sets the interval in seconds between reconnect tries. Parameter\tDescription\tRequiredDelay\tDelay in seconds between reconnect attempts. The default is 15 seconds.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_DISCONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_disconnect","content":" Disable the Disconnect button on the Interfaces tab in the Server Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target. ","version":"Next","tagName":"h3"},{"title":"LOG_RAW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_raw","content":" Deprecated, use LOG_STREAM ","version":"Next","tagName":"h3"},{"title":"LOG_STREAM​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_stream","content":" (Since 5.5.2) Log all data on the interface exactly as it is sent and received LOG_STREAM does not add any OpenC3 headers and thus can not be read by OpenC3 tools. It is primarily useful for low level debugging of an interface. You will have to manually parse these logs yourself using a hex editor or other application. Parameter\tDescription\tRequiredCycle Time\tAmount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute.\tFalse Cycle Size\tAmount of data to write before cycling the log file. Default is 50MB.\tFalse Cycle Hour\tThe time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil.\tFalse Cycle Minute\tSee Cycle Hour.\tFalse Example Usage: INTERFACE EXAMPLE example_interface.rb # Override the default log time of 600 LOG_STREAM 60 ","version":"Next","tagName":"h3"},{"title":"PROTOCOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#protocol","content":" (Since 4.0.0) Protocols modify the interface by processing the data Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing. For information on creating your own custom protocol please see Protocols Parameter\tDescription\tRequiredType\tWhether to apply the protocol on incoming data, outgoing data, or both Valid Values: READ, WRITE, READ_WRITE\tTrue Protocol Filename or Classname\tRuby or Python filename or class name which implements the protocol\tTrue Protocol specific parameters\tAdditional parameters used by the protocol\tFalse Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil MAP_TARGET DATA # Rather than defining the LENGTH protocol on the INTERFACE line we define it here PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option","content":" Set a parameter on an interface When an option is set the interface class calls the set_option method. Custom interfaces can override set_option to handle any additional options they want. Parameter\tDescription\tRequiredName\tThe option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0).\tTrue Parameters\tParameters to pass to the option\tFalse Example Usage: INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil OPTION FLOW_CONTROL RTSCTS OPTION DATA_BITS 8 ROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS 127.0.0.1 ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret","content":" (Since 5.3.0) Define a secret needed by this interface Defines a secret for this interface and optionally assigns its value to an option Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret\tTrue Option Name\tInterface option to pass the secret value\tFalse Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME USERNAME SECRET FILE KEY "/tmp/DATA/cert" KEY ","version":"Next","tagName":"h3"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env","content":" (Since 5.7.0) Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir","content":" (Since 5.7.0) Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: WORK_DIR '/openc3/lib/openc3/microservices' ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port","content":" (Since 5.7.0) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: PORT 7272 ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd","content":" (Since 5.7.0) Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1 Python Example: CMD python interface_microservice.py DEFAULT__INTERFACE__INT1 ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container","content":" (Since 5.7.0) Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix","content":" (Since 5.7.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: ROUTE_PREFIX /interface ","version":"Next","tagName":"h3"},{"title":"ROUTER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router-1","content":" Create router to receive commands and output telemetry packets from one or more interfaces Creates an router which receives command packets from their remote clients and sends them to associated interfaces. They receive telemetry packets from their interfaces and send them to their remote clients. This allows routers to be intermediaries between an external client and an actual device. Parameter\tDescription\tRequiredName\tName of the router\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-1","content":" Defines a new target Parameter\tDescription\tRequiredFolder Name\tThe target folder\tTrue Name\tThe target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder.\tTrue Example Usage: TARGET INST INST ","version":"Next","tagName":"h2"},{"title":"TARGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-modifiers","content":" The following keywords must follow a TARGET keyword. ","version":"Next","tagName":"h2"},{"title":"CMD_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_buffer_depth","content":" (Since 5.2.0) Number of commands to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 5)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_time","content":" Command binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_size","content":" Command binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_retain_time","content":" How long to keep raw command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_time","content":" Command decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_size","content":" Command decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_retain_time","content":" How long to keep decom command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_buffer_depth","content":" (Since 5.2.0) Number of telemetry packets to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 60)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_time","content":" Telemetry binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_size","content":" Telemetry binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_retain_time","content":" How long to keep raw telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_time","content":" Telemetry decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_size","content":" Telemetry decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_retain_time","content":" How long to keep decom telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_MINUTE_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_minute_log_retain_time","content":" How long to keep reduced minute telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced minute telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_HOUR_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_hour_log_retain_time","content":" How long to keep reduced hour telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced hour telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_DAY_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_day_log_retain_time","content":" How long to keep reduced day telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced day telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_retain_time","content":" How long to keep all regular telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all regular telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_log_retain_time","content":" How long to keep all reduced telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all reduced telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CLEANUP_POLL_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cleanup_poll_time","content":" Period at which to run the cleanup process. Parameter\tDescription\tRequiredTime\tNumber of seconds between runs of the cleanup process (default = 900 = 15 minutes)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCER_DISABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_disable","content":" Disables the data reduction microservice for the target ","version":"Next","tagName":"h3"},{"title":"REDUCER_MAX_CPU_UTILIZATION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_max_cpu_utilization","content":" Maximum amount of CPU utilization to apply to data reduction Parameter\tDescription\tRequiredPercentage\t0 to 100 percent (default = 30)\tTrue ","version":"Next","tagName":"h3"},{"title":"TARGET_MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_microservice","content":" (Since 5.2.0) Breaks a target microservice out into its own process. Can be used to give more resources to processing that is falling behind. If defined multiple times for the same type, will create multiple processes. Each process can be given specific packets to process with the PACKET keyword. Parameter\tDescription\tRequiredType\tThe target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUP\tTrue ","version":"Next","tagName":"h3"},{"title":"PACKET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#packet","content":" (Since 5.2.0) Packet Name to allocate to the current TARGET_MICROSERVICE. Parameter\tDescription\tRequiredPacket Name\tThe packet name. Does not apply to REDUCER or CLEANUP target microservice types.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire target or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-1","content":" Defines a new microservice Defines a microservice that the plugin adds to the OpenC3 system. Microservices are background software processes that perform persistent processing. Parameter\tDescription\tRequiredMicroservice Folder Name\tThe exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderName\tTrue Microservice Name\tThe specific name of this instance of the microservice in the OpenC3 system\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ","version":"Next","tagName":"h2"},{"title":"MICROSERVICE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-modifiers","content":" The following keywords must follow a MICROSERVICE keyword. ","version":"Next","tagName":"h2"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env-1","content":" Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir-1","content":" Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example WORK_DIR . ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port-1","content":" (Since 5.0.10) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: MICROSERVICE EXAMPLE openc3-example PORT 7272 ","version":"Next","tagName":"h3"},{"title":"TOPIC​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#topic","content":" Associate a Redis topic Redis topic to associate with this microservice. Standard OpenC3 microservices such as decom_microservice use this information to know what packet streams to subscribe to. The TOPIC keyword can be used as many times as necessary to associate all needed topics. Parameter\tDescription\tRequiredTopic Name\tRedis Topic to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example # Manually assigning topics is an advanced topic and requires # intimate knowledge of the internal COSMOS data structures. TOPIC DEFAULT__openc3_log_messages TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS ","version":"Next","tagName":"h3"},{"title":"TARGET_NAME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_name","content":" Associate a OpenC3 target OpenC3 target to associate with the microservice. For standard OpenC3 microservices such as decom_microservice this causes the target configuration to get loaded into the container for the microservice. Parameter\tDescription\tRequiredTarget Name\tOpenC3 target to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example TARGET_NAME EXAMPLE ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd-1","content":" Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: MICROSERVICE EXAMPLE openc3-example CMD ruby example_target.rb Python Example: MICROSERVICE EXAMPLE openc3-example CMD python example_target.py ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option-1","content":" Pass an option to the microservice Generic key/value(s) options to pass to the microservice. These take the form of KEYWORD/PARAMS like a line in a OpenC3 configuration file. Multiple OPTION keywords can be used to pass multiple options to the microservice. Parameter\tDescription\tRequiredOption Name\tName of the option\tTrue Option Value(s)\tOne or more values to associate with the option\tTrue ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container-1","content":" Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret-1","content":" (Since 5.3.0) Define a secret needed by this microservice Defines a secret for this microservice Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret\tTrue Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME SECRET FILE KEY "/tmp/DATA/cert" ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix-1","content":" (Since 5.5.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: MICROSERVICE CFDP CFDP ROUTE_PREFIX /cfdp ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-1","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire microservice or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"TOOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-1","content":" Define a tool Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices. Parameter\tDescription\tRequiredTool Folder Name\tThe exact name of the tool folder in the plugin. ie. tools/ToolFolderName\tTrue Tool Name\tName of the tool that is displayed in the OpenC3 Navigation menu\tTrue Example Usage: TOOL DEMO Demo ","version":"Next","tagName":"h2"},{"title":"TOOL Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-modifiers","content":" The following keywords must follow a TOOL keyword. ","version":"Next","tagName":"h2"},{"title":"URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#url","content":" Url used to access the tool The relative url used to access the tool. Defaults to "/tools/ToolFolderName". Parameter\tDescription\tRequiredUrl\tThe url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools.\tTrue ","version":"Next","tagName":"h3"},{"title":"INLINE_URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#inline_url","content":" Internal url to load a tool The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js". Parameter\tDescription\tRequiredUrl\tThe inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.\tTrue ","version":"Next","tagName":"h3"},{"title":"WINDOW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#window","content":" How to display the tool when navigated to The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB. Parameter\tDescription\tRequiredWindow Mode\tTool display mode Valid Values: INLINE, IFRAME, NEW\tTrue ","version":"Next","tagName":"h3"},{"title":"ICON​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#icon","content":" Set tool icon Icon shown next to the tool name in the OpenC3 navigation menu. Parameter\tDescription\tRequiredIcon Name\tIcon to display next to the tool name. Icons come from Font Awesome, Material Design (https://materialdesignicons.com/), and Astro.\tTrue ","version":"Next","tagName":"h3"},{"title":"CATEGORY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#category","content":" Category for the tool Associates the tool with a category which becomes a submenu in the Navigation menu. Parameter\tDescription\tRequiredCategory Name\tCategory to associate the tool with\tTrue ","version":"Next","tagName":"h3"},{"title":"SHOWN​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shown","content":" Show the tool or not Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool. Parameter\tDescription\tRequiredShown\tWhether or not the tool is shown. TRUE or FALSE Valid Values: true, false\tTrue ","version":"Next","tagName":"h3"},{"title":"POSITION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#position","content":" (Since 5.0.8) Position of the tool in the nav bar Position of the tool starting at 2 (1 is reserved for Admin Console). Tools without a position are appended to the end as they are installed. All COSMOS open source tools have consecutive integer values for position. Parameter\tDescription\tRequiredPosition\tNumerical position\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-2","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire tool or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"WIDGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget","content":" Define a custom widget Defines a custom widget that can be used in Telemetry Viewer screens. Parameter\tDescription\tRequiredWidget Name\tThe name of the widget will be used to build a path to the widget implementation. For example, WIDGET HELLOWORLD will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the Custom Widgets guide for more details.\tTrue Label\tThe label for the widget that will appear in the Data Viewer component drop down\tFalse Example Usage: WIDGET HELLOWORLD ","version":"Next","tagName":"h2"},{"title":"WIDGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget-modifiers","content":" The following keywords must follow a WIDGET keyword. ","version":"Next","tagName":"h2"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-3","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire widget or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"Commands","type":0,"sectionRef":"#","url":"/docs/configuration/command","content":"","keywords":"","version":"Next"},{"title":"Command Definition Files​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-definition-files","content":" Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters. Command Keywords ","version":"Next","tagName":"h2"},{"title":"COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command","content":" Defines a new command packet Parameter\tDescription\tRequiredTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse Example Usage: COMMAND INST COLLECT BIG_ENDIAN "Start collect" ","version":"Next","tagName":"h2"},{"title":"COMMAND Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-modifiers","content":" The following keywords must follow a COMMAND keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" PARAMETER DATA 32 32 INT MIN MAX 0 "Data value" PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5 PARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply" PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data" ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JsonPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 APPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply" ","version":"Next","tagName":"h3"},{"title":"ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_parameter","content":" Selects an existing command parameter for editing Must be used in conjunction with SELECT_COMMAND to first select the packet. Typically used to override generated values or make specific changes to commands that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredParameter\tName of the parameter to select for modification\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h3"},{"title":"DELETE_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#delete_parameter","content":" (Since 4.4.1) Deletes an existing command parameter from the packet definition Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter. Parameter\tDescription\tRequiredParameter\tName of the parameter to delete\tTrue Example Usage: SELECT_COMMAND INST COLLECT DELETE_PARAMETER DURATION ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hidden","content":" Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator Hidden commands do not appear in the Script Runner popup helper when writing scripts. The command still exists in the system and can be sent by scripts. ","version":"Next","tagName":"h3"},{"title":"DISABLED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disabled","content":" Disables this command from being sent Hides the command and also disables it from being sent by scripts. Attempts to send DISABLED commands result in an error message. ","version":"Next","tagName":"h3"},{"title":"DISABLE_MESSAGES​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disable_messages","content":" Disable the Server from printing cmd(...) messages. Commands are still logged. ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#meta-1","content":" Stores metadata for the current command Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct command" ","version":"Next","tagName":"h3"},{"title":"HAZARDOUS​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hazardous","content":" Designates the current command as hazardous Sending a hazardous command causes a dialog asking for confirmation before sending the command Parameter\tDescription\tRequiredDescription\tDescription for why the command is hazardous which must be enclosed with quotes\tFalse ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue Argument\tAdditional argument passed to the accessor class constructor\tFalse ","version":"Next","tagName":"h3"},{"title":"TEMPLATE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template","content":" (Since 5.0.10) Defines a template string used to initialize the command before default values are filled in Generally the template string is formatted in JSON or HTML and then values are filled in with command parameters. Must be UTF-8 encoded. Parameter\tDescription\tRequiredTemplate\tThe template string which should be enclosed in quotes\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE_FILE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template_file","content":" (Since 5.0.10) Defines a template file used to initialize the command before default values are filled in Generally the template file is formatted in JSON or HTML and then values are filled in with command parameters. Can be binary or UTF-8. Parameter\tDescription\tRequiredTemplate File Path\tThe relative path to the template file. Filename should generally start with an underscore.\tTrue ","version":"Next","tagName":"h3"},{"title":"RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#response","content":" (Since 5.14.0) Indicates the expected telemetry packet response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry response packet\tTrue Packet Name\tPacket Name of telemetry response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"ERROR_RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#error_response","content":" (Since 5.14.0) Indicates the expected telemetry packet error response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry error response packet\tTrue Packet Name\tPacket Name of telemetry error response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"RELATED_ITEM​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#related_item","content":" (Since 5.14.0) Defines a related telemetry item to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry item\tTrue Packet Name\tPacket Name of related telemetry item\tTrue Item Name\tItem Name of related telemetry item\tTrue ","version":"Next","tagName":"h3"},{"title":"SCREEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#screen","content":" (Since 5.14.0) Defines a related telemetry screen to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry screen\tTrue Screen Name\tScreen Name of related telemetry screen\tTrue ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"RESTRICTED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#restricted","content":" (Since 5.20.0) Marks this packet as restricted and will require approval if critical commanding is enabled Used as one of the two types of critical commands (HAZARDOUS and RESTRICTED) ","version":"Next","tagName":"h3"},{"title":"VALIDATOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#validator","content":" (Since 5.19.0) Defines a validator class for a command Validator class is used to validate the command success or failure with both a pre_check and post_check method. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'.\tTrue Argument\tAdditional argument passed to the validator class constructor\tFalse Ruby Example: VALIDATOR custom_validator.rb Defined in custom_validator.rb: require 'openc3/packets/command_validator' class CustomValidator < OpenC3::CommandValidator def pre_check(packet) if tlm("TGT PKT ITEM") == 0 return [false, "TGT PKT ITEM is 0"] end @cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT") return [true, nil] end def post_check(packet) wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10) return [true, nil] end end Python Example: VALIDATOR custom_validator.rb Defined in custom_validator.py: class CustomValidator(CommandValidator): def pre_check(self, command): if tlm("TGT PKT ITEM") == 0: return [False, "TGT PKT ITEM is 0"] self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT") return [True, None] def post_check(self, command): wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10) return [True, None] ","version":"Next","tagName":"h3"},{"title":"SELECT_COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_command","content":" Selects an existing command packet for editing Typically used in a separate configuration file from where the original command is defined to override or add to the existing command definition. Must be used in conjunction with SELECT_PARAMETER to change an individual parameter. Parameter\tDescription\tRequiredTarget Name\tName of the target this command is associated with\tTrue Command Name\tName of the command to select\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#example-file","content":" Example File: TARGET/cmd_tlm/cmd.txt COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES" POLY_WRITE_CONVERSION 0 0.01745 0 0 PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE" STATE NORMAL 0 STATE DIAG 1 COMMAND TARGET NOOP BIG_ENDIAN "Do Nothing" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA" COMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" <% 5.times do |x| %> APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>" <% end %> ","version":"Next","tagName":"h2"},{"title":"Streaming API","type":0,"sectionRef":"#","url":"/docs/development/streaming-api","content":"Streaming API This documentation is for COSMOS Developers This information is just generally used behind the scenes in COSMOS tools The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested. This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend. The following interactions are all shown in Javascript, but would be very similar in any language. Connecting to this API begins by initiating an ActionCable connection. cable = ActionCable.createConsumer('/openc3-api/cable') This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple “subscriptions”. A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this: subscription = cable.subscriptions.create( { channel: "StreamingChannel", scope: "DEFAULT", token: token, }, { received: (data) => { // Handle received data }, connected: () => { // First chance to add what you want to stream here }, disconnected: () => { // Handle the subscription being disconnected }, rejected: () => { // Handle the subscription being rejected }, } ); Subscribing to the StreamingApi requires passing a channel name set to “StreamingChannel”, a scope which is typically “DEFAULT”, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are connected and received. connected runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open. Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet. Adding items to stream is done as follows: var items = [ ["DECOM__TLM__INST__ADCS__Q1__RAW", "0"], ["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, items: items, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the item name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<ITEM NAME>__<VALUE TYPE>__<REDUCED TYPE>. Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV. Adding packets to stream is done as follows: var packets = [ ["RAW__TLM__INST__ADCS", "0"], ["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, packets: packets, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the packet name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<VALUE TYPE>. Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS). start_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data. Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator. For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet. [ { "time": 1234657585858, "TLM__INST__ADCS__Q1__RAW": 50.0, "TLM__INST__ADCS__Q2__RAW": 100.0 }, { "time": 1234657585859, "TLM__INST__ADCS__Q1__RAW": 60.0, "TLM__INST__ADCS__Q2__RAW": 110.0 } ] For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data. [ { "time": 1234657585858, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "SkdfjGodkdfjdfoekfsg" }, { "time": 1234657585859, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "3i5n49dmnfg9fl32k3" } ] ","keywords":"","version":"Next"},{"title":"Code Generators","type":0,"sectionRef":"#","url":"/docs/getting-started/generators","content":"","keywords":"","version":"Next"},{"title":"Plugin Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#plugin-generator","content":" The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called openc3-cosmos-<name>. For example: % openc3.sh cli generate plugin Usage: cli generate plugin <NAME> % openc3.sh cli generate plugin GSE Plugin openc3-cosmos-gse successfully generated! This creates the following files: Name\tDescription.gitignore\tTells git to ignore any node_modules directory (for tool development) LICENSE.txt\tLicense for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition. openc3-cosmos-gse.gemspec\tGemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: https://guides.rubygems.org/specification-reference/ plugin.txt\tCOSMOS specific file for Plugin creation. Learn more here. Rakefile\tRuby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number README.md\tMarkdown file used to document the plugin requirements.txt\tPython dependencies file (only for Python plugins) While this structure is required, it is not very useful by itself. The plugin generator just creates the framework for other generators to use. ","version":"Next","tagName":"h2"},{"title":"Target Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#target-generator","content":" The target generator creates the scaffolding for a new COSMOS Target. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate target Usage: cli generate target <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate target GSE Target GSE successfully generated! This creates the following files and directories: Name\tDescriptiontargets/GSE\tContains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation. targets/GSE/cmd_tlm\tContains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined). targets/GSE/cmd_tlm/cmd.txt\tExample command configuration. Will need to be edited for the target specific commands. targets/GSE/cmd_tlm/tlm.txt\tExample telemetry configuration. Will need to be edited for the target specific telemetry. targets/GSE/lib\tContains any custom code required by the target. Good examples of custom code are library files, custom interface classes and protocols. targets/GSE/lib/gse.rb/py\tExample library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse. targets/GSE/procedures\tThis folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the Scripting Guide for more information. targets/GSE/procedures/procedure.rb/py\tProcedure with an example of sending a command and checking telemetry targets/GSE/public\tPut image files here for use in Telemetry Viewer Canvas Image widgets such as CANVASIMAGE and CANVASIMAGEVALUE targets/GSE/screens\tContains telemetry screens for the target targets/GSE/screens/status.txt\tExample screen to display telemetry values targets/GSE/target.txt\tTarget configuration such as ignoring command and telemetry items and how to process the cmd/tlm files It also updates the plugin.txt file to add the new target: VARIABLE gse_target_name GSE TARGET GSE <%= gse_target_name %> INTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET <%= gse_target_name %> ","version":"Next","tagName":"h2"},{"title":"Microservice Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#microservice-generator","content":" The microservice generator creates the scaffolding for a new COSMOS Microservice. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate microservice Usage: cli generate microservice <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate microservice background Microservice BACKGROUND successfully generated! This creates the following files and directories: Name\tDescriptionmicroservices/BACKGROUND\tContains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation. microservices/BACKGROUND/background.rb\tFully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response). It also updates the plugin.txt file to add the new microservice: MICROSERVICE BACKGROUND background-microservice CMD ruby background.rb ","version":"Next","tagName":"h2"},{"title":"Conversion Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#conversion-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Conversion. It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example: openc3-cosmos-gse % openc3.sh cli generate conversion Usage: cli generate conversion <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE double Conversion targets/GSE/lib/double_conversion.rb successfully generated! To use the conversion add the following to a telemetry item: READ_CONVERSION double_conversion.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/double_conversion.rb\tFully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values. As the generator states, to use this conversion code you must add it to a telemetry item. For example: TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" READ_CONVERSION double_conversion.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Limits Response Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#limits-response-generator","content":" The limits_response generator creates the scaffolding for a new COSMOS Limits Response. It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example: openc3-cosmos-gse % openc3.sh cli generate limits_response Usage: cli generate limits_response <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe Limits response targets/GSE/lib/safe_limits_response.rb successfully generated! To use the limits response add the following to a telemetry item: LIMITS_RESPONSE safe_limits_response.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/safe_limits_response.rb\tFully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item As the generator states, to use this limits code you must add it to a telemetry item which has limits defined. In the generated GSE target, none of the items have limits defined so you first need to add limits and then add the response. TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS_RESPONSE safe_limits_response.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Widget Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#widget-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Widget for use in Telemetry Viewer Screens. For more information see the Custom Widget guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example: openc3-cosmos-gse % openc3.sh cli generate widget Usage: cli generate widget <SuperdataWidget> openc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget Widget HelloworldWidget successfully generated! Please be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens This creates the following files and directories: Name\tDescriptionsrc/HelloworldWidget.vue\tFully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable. It also updates the plugin.txt file to add the new widget: WIDGET Helloworld ","version":"Next","tagName":"h2"},{"title":"Tool Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#tool-generator","content":" The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see Running a Frontend Application. openc3-cosmos-gse % openc3.sh cli generate tool Usage: cli generate tool 'Tool Name' openc3-cosmos-gse % openc3.sh cli generate widget DataVis Tool datavis successfully generated! Please be sure datavis does not conflict with any other tools This creates the following files and directories: Name\tDescriptionsrc/App.vue\tBasic Vue template to render the application. src/main.js\tEntry point for the new tool which loads Vue, Vuetify, and other libraries. src/router.js\tVue component router. src/tools/datavis\tContains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation. src/tools/datavis/datavis.vue\tFully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable. package.json\tBuild and dependency definition file. Used by npm or yarn to build the tool. vue.config.js\tVue configuration file used to serve the application in development and build the application. <dotfiles>\tVarious dotfiles which help configure formatters and tools for Javascript frontend development It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found here. TOOL datavis "DataVis" INLINE_URL js/app.js ICON mdi-file-cad-box ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS Key Concepts","type":0,"sectionRef":"#","url":"/docs/getting-started/key_concepts","content":"","keywords":"","version":"Next"},{"title":"Projects​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#projects","content":" The main COSMOS repo contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS project to launch COSMOS. The project consists of the openc3.sh and openc3.bat files for starting and stopping COSMOS, the compose.yaml for configuring the COSMOS containers, and the .env file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik. ","version":"Next","tagName":"h2"},{"title":"Containerization​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containerization","content":" ","version":"Next","tagName":"h2"},{"title":"Images​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#images","content":" Per Docker, "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called Alpine Linux. It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a Dockerfile to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend. ","version":"Next","tagName":"h3"},{"title":"Containers​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containers","content":" Per Docker, "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per Docker, "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks. The COSMOS Open Source containers consist of the following: Name\tDescriptioncosmos-openc3-cosmos-init-1\tCopies files to Minio and configures COSMOS then exits cosmos-openc3-operator-1\tMain COSMOS container that runs the interfaces and target microservices cosmos-openc3-cosmos-cmd-tlm-api-1\tRails server that provides all the COSMOS API endpoints cosmos-openc3-cosmos-script-runner-api-1\tRails server that provides the Script API endpoints cosmos-openc3-redis-1\tServes the static target configuration cosmos-openc3-redis-ephemeral-1\tServes the streams containing the raw and decomutated data cosmos-openc3-minio-1\tProvides a S3 like bucket storage interface and also serves as a static webserver for the tool files cosmos-openc3-traefik-1\tProvides a reverse proxy and load balancer with routes to the COSMOS endpoints The container list for Enterprise COSMOS consists of the following: Name\tDescriptioncosmos-enterprise-openc3-metrics-1\tRails server that provides metrics on COSMOS performance cosmos-enterprise-openc3-keycloak-1\tSingle-Sign On service for authentication cosmos-enterprise-openc3-postgresql-1\tSQL Database for use by Keycloak openc3-nfs *\tNetwork File System pod only for use in Kubernetes to share code libraries between containers ","version":"Next","tagName":"h3"},{"title":"Docker Compose​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#docker-compose","content":" Per Docker, "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The compose.yaml is where ports are exposed and environment variables are used. ","version":"Next","tagName":"h3"},{"title":"Environment File​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#environment-file","content":" COSMOS uses an environment file along with Docker Compose to pass environment variables into the COSMOS runtime. This .env file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more. ","version":"Next","tagName":"h3"},{"title":"Kubernetes​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#kubernetes","content":" Per Kubernetes.io, "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." COSMOS Enterprise provides Helm charts for easy deployment to Kubernetes in various cloud environments. COSMOS Enterprise also provides Terraform scripts to deploy COSMOS infrastructure on various cloud environments. ","version":"Next","tagName":"h3"},{"title":"Frontend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#frontend","content":" ","version":"Next","tagName":"h2"},{"title":"Vue.js​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#vuejs","content":" The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per Vue.js, "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the Vuetify Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x. ","version":"Next","tagName":"h3"},{"title":"Single-Spa​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#single-spa","content":" While COSMOS itself is written in Vue.js, we utilize a technology called single-spa to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue. ","version":"Next","tagName":"h3"},{"title":"Astro UX​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#astro-ux","content":" Per AstroUXDS, "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. Astro Clock, COSMOS directly incorporates Astro components. ","version":"Next","tagName":"h3"},{"title":"Backend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#backend","content":" ","version":"Next","tagName":"h2"},{"title":"Redis​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#redis","content":" Redis is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our container list you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into Redis streams. The other redis container contains COSMOS configuration that is meant to persist. COSMOS Enterprise provides helm charts that setup Redis Cluster to perform horizontal scaling where data is shared across multiple Redis nodes. ","version":"Next","tagName":"h3"},{"title":"MinIO​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#minio","content":" MinIO is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. COSMOS Enterprise deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example. ","version":"Next","tagName":"h3"},{"title":"Ruby on Rails​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#ruby-on-rails","content":" The COSMOS API and Script Runner backends are powered by Ruby on Rails. Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks. ","version":"Next","tagName":"h3"},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/getting-started/gettingstarted","content":"","keywords":"","version":"Next"},{"title":"Interfacing with Your Hardware​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#interfacing-with-your-hardware","content":" Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it! Install and Platform This guide assumes we're on Windows and COSMOS is installed in C:\\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory. Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces. If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (Markdown) to describe your program / project. Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure. Python vs Ruby Each CLI command requires the use of --python or --ruby unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'. C:\\openc3-project> openc3.bat cli generate plugin BOB --python Plugin openc3-cosmos-bob successfully generated! This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the Plugin Generator page. Run as the Root user The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively docker run --user=root ) by running cliroot instead of cli in any of the examples. Starting with COSMOS v5.5.0, the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target. C:\\openc3-project> cd openc3-cosmos-bob openc3-cosmos-bob> openc3.bat cli generate target BOB --python Target BOB successfully generated! Generators There are a number of generators available. Run openc3.bat cli generate to see all the available options. The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt: COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" What does this all mean? We created a COMMAND for target BOB named EXAMPLE.The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don't have to worry about defining the bit offset into the packet.First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".Next we APPEND_PARAMETER a parameter called VALUE that is a 32-bit float (FLOAT) that has a minimum value of 0, a maximum value of 10.5, and a default value of 2.5.Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1.Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of "OpenC3". Strings don't have minimum or maximum values as that doesn't make sense for STRING types. Check out the full Command documentation for more. Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt: TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don't match).Next we define three items similar to the command definition above. Check out the full Telemetry documentation for more. COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ID_PARAMETER and ID_ITEM so your packets can be distinguished from each other. Now we need to tell COSMOS how to connect to our BOB target. Open the openc3-cosmos-bob/plugin.txt file: # Set VARIABLEs here to allow variation in your plugin # See [Plugins](../configuration/plugins) for more information VARIABLE bob_target_name BOB # Modify this according to your actual target connection # See [Interfaces](../configuration/interfaces) for more information TARGET BOB <%= bob_target_name %> INTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST MAP_TARGET <%= bob_target_name %> This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name.The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS BURST protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the Interface Guide. The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface. Variables Support Reusability In a plugin that you plan to reuse you should make things like hostnames and ports variables ","version":"Next","tagName":"h2"},{"title":"Building Your Plugin​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#building-your-plugin","content":" Now we need to build our plugin and upload it to COSMOS. openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.0 File: openc3-cosmos-bob-1.0.0.gem Note that the VERSION is required to specify the version to build. We recommend semantic versioning when building your plugin so people using your plugin (including you) know when there are breaking changes. Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on "Click to install plugin" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target. Let's modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value". COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number: openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.1 File: openc3-cosmos-bob-1.0.1.gem Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don't change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin! At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our Github Issues page. If you would like to enquire about support contracts or professional COSMOS development please contact us at support@openc3.com. ","version":"Next","tagName":"h2"},{"title":"Upgrading","type":0,"sectionRef":"#","url":"/docs/getting-started/upgrading","content":"","keywords":"","version":"Next"},{"title":"COSMOS Upgrades​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#cosmos-upgrades","content":" COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release. This example assumes an existing COSMOS project at C:\\cosmos-project. Stop the current COSMOS application C:\\cosmos-project> openc3.bat stop Change the release in the .env file to the desired release OPENC3_TAG=5.1.1 Run the new COSMOS application C:\\cosmos-project> openc3.bat run ","version":"Next","tagName":"h3"},{"title":"Migrating From COSMOS 4 to COSMOS 5​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#migrating-from-cosmos-4-to-cosmos-5","content":" COSMOS 5 is a new architecture and treats targets as independent plugins. Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment. COSMOS 5 includes a migration tool for converting an existing COSMOS 4 configuration into a COSMOS 5 plugin. This example assumes an existing COSMOS 4 configuration at C:\\COSMOS and a new COSMOS 5 installation at C:\\cosmos-project. Linux users can adjust paths and change from .bat to .sh to follow along. Change to the existing COSMOS 4 configuration directory. You should see the config, lib, procedures, outputs directory. You can then run the migration tool by specifying the absolute path to the COSMOS 5 installation. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate -a demo This creates a new COSMOS 5 plugin called openc3-cosmos-demo with a target named DEMO containing the existing lib and procedures files as well as all the existing targets. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate demo-part INST This would create a new COSMOS 5 plugin called openc3-cosmos-demo-part with a target named DEMO_PART containing the existing lib and procedures files as well as the INST target (but no others). Open the new COSMOS 5 plugin and ensure the plugin.txt file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually. Follow the building your plugin part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5. ","version":"Next","tagName":"h3"},{"title":"Telemetry","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry","content":"","keywords":"","version":"Next"},{"title":"Telemetry Definition Files​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-definition-files","content":" Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items. Printing Data Most data types can be printed in a COSMOS script simply by doing print(tlm("TGT PKT ITEM")). However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called formatted to help you view binary data. If ITEM is a BLOCK type containing binary try puts tlm("TGT PKT ITEM").formatted (Ruby) and print(formatted(tlm("TGT PKT ITEM"))) (Python) which will print the bytes out as hex. ","version":"Next","tagName":"h2"},{"title":"ID Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id-items","content":" All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ID_ITEM and APPEND_ID_ITEM. As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set TLM_UNIQUE_ID_MODE in the target.txt file which incurs a performance penalty on every packet identification. ","version":"Next","tagName":"h3"},{"title":"Variable Sized Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#variable-sized-items","content":" COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet. ","version":"Next","tagName":"h3"},{"title":"Derived Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#derived-items","content":" COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition. ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4" Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. READ_CONVERSION, to generate the value. ","version":"Next","tagName":"h3"},{"title":"Received Time and Packet Time​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#received-time-and-packet-time","content":" COSMOS automatically creates several telemetry items on every packet: PACKET_TIMESECONDS, PACKET_TIMEFORMATTED, RECEIVED_COUNT, RECEIVED_TIMEFORMATTED, and RECEIVED_TIMESECONDS. RECEIVED_TIME is the time that COSMOS receives the packet. This is set by the interface which is connected to the target and is receiving the raw data. Once a packet has been created out of the raw data the time is set. PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected. The _TIMEFORMATTED items returns the date and time in a YYYY/MM/DD HH:MM:SS.sss format and the _TIMESECONDS returns the Unix seconds of the time. Internally these are both stored as either a Ruby Time object or Python date object. Example​ COSMOS provides a Unix time conversion class which returns a Ruby Time object or Python date object based on the number of seconds and (optionally) microseconds since the Unix epoch. Note: This returns a native object and not a float or string! Ruby Example: ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS" READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS Python Example: ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS" READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet. Telemetry Keywords ","version":"Next","tagName":"h3"},{"title":"TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry","content":" Defines a new telemetry packet Parameter\tDescription\tRequiredTarget\tName of the target this telemetry packet is associated with\tTrue Command\tName of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this packet is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this telemetry packet which must be enclosed with quotes\tFalse Example Usage: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status" ","version":"Next","tagName":"h2"},{"title":"TELEMETRY Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-modifiers","content":" The following keywords must follow a TELEMETRY keyword. ","version":"Next","tagName":"h2"},{"title":"ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ITEM PKTID 112 16 UINT "Packet ID" ITEM DATA 0 0 DERIVED "Derived data" ","version":"Next","tagName":"h3"},{"title":"ITEM Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item-modifiers","content":" The following keywords must follow a ITEM keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JsonPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse STATE​ Defines a key/value pair for the current item Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the telemetry item and allows for much greater clarity and less chance for user error. A catch all value of ANY applies to all other values not already defined as state values. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value or ANY to apply the state to all other values\tTrue Color\tThe color the state should be displayed as Valid Values: GREEN, YELLOW, RED\tFalse Example Usage: APPEND_ITEM ENABLE 32 UINT "Enable setting" STATE FALSE 0 STATE TRUE 1 STATE ERROR ANY # Match all other values to ERROR APPEND_ITEM STRING 1024 STRING "String" STATE "NOOP" "NOOP" GREEN STATE "ARM LASER" "ARM LASER" YELLOW STATE "FIRE LASER" "FIRE LASER" RED READ_CONVERSION​ Applies a conversion to the current telemetry item Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: READ_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * @multiplier end end end Python Example: READ_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * multiplier POLY_READ_CONVERSION​ Adds a polynomial conversion factor to the current telemetry item The conversion factor is applied to raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_READ_CONVERSION 10 0.5 0.25 SEG_POLY_READ_CONVERSION​ Adds a segmented polynomial conversion factor to the current telemetry item This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_READ_CONVERSION_START​ Start a generic read conversion Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance. Parameter\tDescription\tRequiredConverted Type\tType of the converted value Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tFalse Converted Bit Size\tBit size of converted value\tFalse Ruby Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_READ_CONVERSION_END Python Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_READ_CONVERSION_END GENERIC_READ_CONVERSION_END​ Complete a generic read conversion LIMITS​ Defines a set of limits for a telemetry item If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing. Parameter\tDescription\tRequiredLimits Set\tName of the limits set. If you have no unique limits sets use the keyword DEFAULT.\tTrue Persistence\tNumber of consecutive times the telemetry item must be within a different limits range before changing limits state.\tTrue Initial State\tWhether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state. Valid Values: ENABLED, DISABLED\tTrue Red Low Limit\tIf the telemetry value is less than or equal to this value a Red Low condition will be detected\tTrue Yellow Low Limit\tIf the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detected\tTrue Yellow High Limit\tIf the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detected\tTrue Red High Limit\tIf the telemetry value is greater than or equal to this value a Red High condition will be detected\tTrue Green Low Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.\tFalse Green High Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.\tFalse Example Usage: LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0 LIMITS_RESPONSE​ Defines a response class that is called when the limits state of the current item changes Parameter\tDescription\tRequiredResponse Class Filename\tName of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory.\tTrue Response Specific Options\tVariable length number of options that will be passed to the class constructor\tFalse Ruby Example: LIMITS_RESPONSE example_limits_response.rb 10 Python Example: LIMITS_RESPONSE example_limits_response.py 10 ","version":"Next","tagName":"h3"},{"title":"APPEND_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ITEM PKTID 16 UINT "Packet ID" ","version":"Next","tagName":"h3"},{"title":"ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id_item","content":" Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet. Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_id_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_item","content":" Selects an existing telemetry item for editing Must be used in conjunction with SELECT_TELEMETRY to first select the packet. Typically used to override generated values or make specific changes to telemetry that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredItem\tName of the item to select for modification\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h3"},{"title":"DELETE_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#delete_item","content":" (Since 4.4.1) Delete an existing telemetry item from the packet definition Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item. Parameter\tDescription\tRequiredItem\tName of the item to delete\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS DELETE_ITEM TEMP4 ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#meta-1","content":" Stores metadata for the current telemetry packet Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct tlm_packet" ","version":"Next","tagName":"h3"},{"title":"PROCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#processor","content":" Defines a processor class that executes code every time a packet is received Parameter\tDescription\tRequiredProcessor Name\tThe name of the processor\tTrue Processor Class Filename\tName of the Ruby or Python file which implements the processor. This file should be in the target's lib directory.\tTrue Processor Specific Options\tVariable length number of options that will be passed to the class constructor.\tFalse Ruby Example: PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1 Python Example: PROCESSOR TEMP1HIGH watermark_processor.py TEMP1 ","version":"Next","tagName":"h3"},{"title":"ALLOW_SHORT​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#allow_short","content":" Process telemetry packets which are less than their defined length Allows the telemetry packet to be received with a data portion that is smaller than the defined size without warnings. Any extra space in the packet will be filled in with zeros by OpenC3. ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#hidden","content":" Hides this telemetry packet from all the OpenC3 tools This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator. It also hides this telemetry from appearing in the Script Runner popup helper when writing scripts. The telemetry still exists in the system and can received and checked by scripts. ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue ","version":"Next","tagName":"h3"},{"title":"IGNORE_OVERLAP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#ignore_overlap","content":" (Since 5.16.0) Ignores any packet items which overlap Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword. This ignores overlaps across the entire packet. ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"SELECT_TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_telemetry","content":" Selects an existing telemetry packet for editing Typically used in a separate configuration file from where the original telemetry is defined to override or add to the existing telemetry definition. Must be used in conjunction with SELECT_ITEM to change an individual item. Parameter\tDescription\tRequiredTarget Name\tName of the target this telemetry packet is associated with\tTrue Packet Name\tName of the telemetry packet to select\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group","content":" Defines a group of related limits Items Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled. Parameter\tDescription\tRequiredGroup Name\tName of the limits group\tTrue ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group_item","content":" Adds the specified telemetry item to the last defined LIMITS_GROUP Limits group information is typically kept in a separate configuration file in the config/TARGET/cmd_tlm folder named limits_groups.txt. Parameter\tDescription\tRequiredTarget Name\tName of the target\tTrue Packet Name\tName of the packet\tTrue Item Name\tName of the telemetry item to add to the group\tTrue Example Usage: LIMITS_GROUP SUBSYSTEM LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3 ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#example-file","content":" Example File: TARGET/cmd_tlm/tlm.txt TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target" ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)" ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)" STATE TLM 0 STATE CMD 1 ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG" STATE FALSE 0 STATE TRUE 1 ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID" ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS" STATE FIRST 0 STATE CONT 1 STATE LAST 2 STATE NOGROUP 3 ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT" ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH" ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)" ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)" ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)" ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees" POLY_READ_CONVERSION 0 57.295 ITEM MODE 128 8 UINT "Instrument Mode" STATE NORMAL 0 GREEN STATE DIAG 1 YELLOW ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS" GENERIC_READ_CONVERSION_START FLOAT 32 ((packet.read('ccsdsday') * 86400.0) + (packet.read('ccsdsmsod') / 1000.0) + (packet.read('ccsdsusoms') / 1000000.0) ) GENERIC_READ_CONVERSION_END ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING" GENERIC_READ_CONVERSION_START STRING 216 time = Time.ccsds2mdy(packet.read('ccsdsday'), packet.read('ccsdsmsod'), packet.read('ccsdsusoms')) sprintf('%04u/%02u/%02u %02u:%02u:%02u.%06u', time[0], time[1], time[2], time[3], time[4], time[5], time[6]) GENERIC_READ_CONVERSION_END ","version":"Next","tagName":"h2"},{"title":"Installation","type":0,"sectionRef":"#","url":"/docs/getting-started/installation","content":"","keywords":"","version":"Next"},{"title":"Installing OpenC3 COSMOS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos","content":" The following sections describe how to get OpenC3 COSMOS installed on various operating systems. This document should help you setup you host machine to allow you to have a running version of COSMOS in no time. ","version":"Next","tagName":"h2"},{"title":"Installing OpenC3 COSMOS on Host Machines​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos-on-host-machines","content":" ","version":"Next","tagName":"h2"},{"title":"PREREQUISITES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#prerequisites","content":" If you're on Linux (recommended for production), we recommend installing Docker using the Install Docker Engine instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the Podman documentation. If you're on Windows or Mac, install Docker Desktop. All platforms also need to install Docker Compose. Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk Docker on Windows with WSL2: WSL2 consumes 50% of total memory on Windows or 8GB, whichever is less. However, on Windows builds before 20175 (use winver to check) it consumes 80% of your total memory. This can have a negative effect on Windows performance! On Windows builds < 20175 or for more fine grained control, create C:\\Users\\<username>\\.wslconfig. Suggested contents on a 32GB machine: [wsl2] memory=16GB swap=0 Important: Modify Docker Connection Timeouts Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value vpnKitMaxPortIdleTime to change the timeout (recommend setting to 0). Note: 0 means no timeout (idle connections not dropped) Note: As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image. ","version":"Next","tagName":"h3"},{"title":"CLONE PROJECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#clone-project","content":" We recommend using the COSMOS project template to get started. git clone https://github.com/OpenC3/cosmos-project.git git clone https://github.com/OpenC3/cosmos-enterprise-project.git Offline Installation If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers: ./openc3.sh util save docker.io openc3inc 5.16.2 This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with: ./openc3.sh util load 5.16.2 Note the version specified in save needs to match the version in load. ","version":"Next","tagName":"h3"},{"title":"CERTIFICATES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#certificates","content":" The COSMOS containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. Note: If you set the path to the ssl file in the SSL_CERT_FILE environment variables the openc3 setup script will copy it and place it for the docker container to load. SSL Issues Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else. The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\\Shared\\Ball.pem). Doesn't matter just somewhere with no spaces. Then set the following environment variables to that path (ie. C:\\Shared\\Ball.pem) SSL_CERT_FILE CURL_CA_BUNDLE REQUESTS_CA_BUNDLE Here are some directions on environment variables in Windows: Windows Environment Variables You will need to create new ones with the names above and set their value to the full path to the certificate file. ","version":"Next","tagName":"h3"},{"title":"RUN​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#run","content":" Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\\openc3-project" to the PATH. In Linux you would edit your shell's rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: export PATH=~/cosmos-project:$PATH. Run openc3.bat run (Windows), or ./openc3.sh run (linux/Mac). Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'. If you see an error indicating docker daemon is not running ensure Docker and Docker compose is installed and running. If it errors please try to run docker --version or docker-compose --version and try to run the start command again. If the error continues please include the version in your issue if you choose to create one. Running docker ps can help show the running containers. openc3.* takes multiple arguments. Run with no arguments for help. An example run of openc3.sh with no arguments will show a usage guide. ./openc3.sh Usage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util] * cli: run a cli command as the default user ('cli help' for more info) * cliroot: run a cli command as the root user ('cli help' for more info) * start: start the docker-compose openc3 * stop: stop the running dockers for openc3 * cleanup: cleanup network and volumes for openc3 * run: run the prebuilt containers for openc3 * util: various helper commands ","version":"Next","tagName":"h3"},{"title":"CONNECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#connect","content":" Connect a web browser to http://localhost:2900. Set the password to whatever you want. ","version":"Next","tagName":"h3"},{"title":"NEXT STEPS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#next-steps","content":" Continue to Getting Started. ","version":"Next","tagName":"h3"},{"title":"Feedback​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#feedback","content":" Find a problem in the documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h3"},{"title":"Requirements and Design","type":0,"sectionRef":"#","url":"/docs/getting-started/requirements","content":"","keywords":"","version":"Next"},{"title":"Terminology​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#terminology","content":" The COSMOS system uses several terms that are important to understand. The following table defines these terms. Term\tDefinitionTarget\tA COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from. Command\tA packet of information telling a target to perform an action of some sort. Telemetry Packet\tA packet of information providing status from a target. Interface\tA Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system. Ruby\tThe powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures. Configuration Files\tCOSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable. Packet Log Files\tBinary files containing either logged commands or telemetry packets. Message Log Files\tText files containing messages generated by the system. Tool\tAnother name for a COSMOS application. ","version":"Next","tagName":"h2"},{"title":"Overall Architecture and Context Diagram​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-architecture-and-context-diagram","content":" The following diagram shows the COSMOS 5 architecture. Key aspects of this architecture: COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. COSMOS can connect to many different kinds of targets. The examples include things like Flight software (FSW), Ground Support Equipment (GSE), Labview, and COTS targets such as an Agilent power supply. Any embedded system that provides a communication interface can be connected to COSMOS.COSMOS ships with interfaces for connecting over TCP/IP, UDP, MQTT, and serial connections. This covers most systems, but custom interfaces can also be written to connect to anything.All realtime communication with targets flows through the COSMOS system. This ensures all commands and telemetry are logged.Every tool is configured with plain text configuration files.Program specific tools can be written using the COSMOS libraries that can interact with the realtime command and telemetry streams and can process logged data. ","version":"Next","tagName":"h2"},{"title":"Overall Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-requirements","content":" Reqt. ID\tDescription\tTest DescriptionCOSMOS-1\tAll COSMOS core functionality shall be containerized.\tVerify COSMOS is running in Docker COSMOS-2\tThe COSMOS user interface shall be accessible from Chromium based web browsers\tOpen COSMOS in Chrome/Edge COSMOS-3\tThe COSMOS user interface shall be accessible from the Firefox web browser\tOpen COSMOS in Firefox COSMOS-4\tCOSMOS shall log all commands sent COSMOS-5\tCOSMOS shall log all telemetry received COSMOS-6\tCOSMOS shall decommutate all telemetry packets received COSMOS-7\tCOSMOS shall support autonomously attempting to connect to targets.\tVerify targets are connected upon starting the CTS. COSMOS-8\tCOSMOS shall time stamp telemetry packets upon receipt.\tVerify logged packets are timestamped. COSMOS-9\tCOSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed.\tView time stamps in log. COSMOS-10\tCOSMOS shall time stamp received telemetry with a UTC timestamp.\tVerify logged time stamps are as expected. COSMOS-11\tCOSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered.\tView COSMOS message log. ","version":"Next","tagName":"h2"},{"title":"Api Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#api-requirements","content":" Reqt. ID\tDescription\tTest DescriptionAPI-1\tThe COSMOS API shall allow scripted connection and disconnection of interfaces.\tDisconnect and connect an interface from a script. API-2\tThe COSMOS API shall allow scripted connection and disconnection of routers.\tDisconnect and connect a router from a script. API-3\tThe COSMOS API shall allow scripted setting of the current limits set.\tSelect a different limits set from a script. API-4\tThe COSMOS API shall allow commanding of targets\tSend a command API-5\tThe COSMOS API shall allow reading the current value of any telemetry item\tRead a telemetry point API-6\tThe COSMOS API shall allow streaming realtime and logged telemetry packets\tStream telemetry packets API-7\tThe COSMOS API shall allow streaming realtime and logged command packets\tStream command packets API-8\tThe COSMOS API shall allow starting COSMOS scripts\tStart a script using the API ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-and-telemetry-server","content":" The Command and Telemetry server provides status on the the overall COSMOS installation for a specific scope. Reqt. ID\tDescription\tTest DescriptionCTS-1\tThe Command and Telemetry Server shall display a list of all interfaces.\tView the Interfaces tab. CTS-2\tThe Command and Telemetry Server shall allow manual connection and disconnection of interfaces.\tPress a GUI button to disconnect and connect an interface. CTS-3\tThe Command and Telemetry Server shall display a list of all targets.\tView the Targets tab. CTS-4\tThe Command and Telemetry Server shall display a list of known commands.\tView the Cmd Packets tab. CTS-5\tThe Command and Telemetry Server shall display raw command data for the most recent command received.\tView the Cmd Packets tab and click the View Raw button for a command. CTS-6\tThe Command and Telemetry Server shall display a list of known telemetry packets.\tView the Tlm Packets tab. CTS-7\tThe Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received.\tView the Tlm Packets tab and click the View Raw button for a telemetry packet. CTS-8\tThe Command and Telemetry Server shall display a list of all routers.\tView the Routers tab. CTS-9\tThe Command and Telemetry Server shall allow manual connection and disconnection of routers.\tPress a GUI button to disconnect and connect a router. CTS-10\tThe Command and Telemetry Server shall allow manually setting the current limits set.\tSelect a different limits set from the combobox. CTS-11\tThe Command and Telemetry Server shall support opening telemetry packets in Packet Viewer.\tOn the Tlm Packets tab click View in Packet Viewer for a telemetry packet. CTS-12\tThe Command and Telemetry Server shall display time stamps in local time.\tView time stamps in log. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#limits-monitor","content":" Limits Monitor displays all telemetry points that are currently out of limits and also shows any telemetry points that have gone out of limits since Limits Monitor was started. Reqt. ID\tDescription\tTest DescriptionLM-1\tLimits Monitor shall display all telemetry points currently out of limits.\tView displayed telemetry points. LM-2\tLimits Monitor shall support ignoring telemetry points.\tClick ignore on a telemetry point. LM-3\tLimits Monitor shall keep a displayed log of limits violations.\tView the log tab. LM-4\tLimits Monitor shall continue displaying a telemetry point that temporarily went out of limits.\tWatch until a telemetry points returns to green. LM-5\tLimits Monitor shall support saving its configuration.\tSave the configuration. LM-6\tLimits Monitor shall support loading its configuration.\tLoad the configuration. ","version":"Next","tagName":"h2"},{"title":"Command Sender​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-sender","content":" Command Sender provides an easy method to send single commands to targets. The graphical user interface provides simple dropdowns to quickly select the desired command to send organized by target name and command name. After the user has selected the command, they then fill in the desired command parameters and click send to send the command to the target. Reqt. ID\tDescription\tTest DescriptionCMD-1\tCommand Sender shall allow selection of a command by target name and packet name.\tSelect a specific command by target name and packet name in the drop down menus. CMD-2\tCommand Sender shall allow sending the selected command.\tSend the selected command by pressing the Send button. CMD-3\tCommand Sender shall display non-ignored parameters for the selected command.\tSelect a specific command and verify the expected parameters are shown. CMD-4\tCommand Sender shall provide a mechanism to select state values for command parameters with states.\tSelect a specific state value for a specific command with states. CMD-5\tCommand Sender shall allow sending a manually entered value for a command parameter with states.\tManually enter a value for a specific command with states. CMD-6\tCommand Sender shall refuse to send commands if required parameters are not provided.\tAttempt to send a command with a required parameter not filled out. CMD-7\tCommand Sender shall support sending commands while ignoring range checking.\tEnter Ignore Range Checking mode and then send a command with an out of range parameter. CMD-8\tCommand Sender shall optionally display state values in hex.\tEnter "Display State Values in Hex" mode and verify state values are displayed as hex. CMD-9\tCommand Sender shall optionally display ignored command parameters.\tEnter "Show Ignored Parameters" mode and verify ignored parameters are displayed. CMD-10\tCommand Sender shall respect hazardous commands and notify the user before proceeding.\tSend a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send. CMD-11\tCommand Sender shall keep a command history of each command sent.\tSend a command and verify that it shows up in the command history box. CMD-12\tCommand Sender shall allow resending of any command in the command history.\tResend one of the commands in the command history box. ","version":"Next","tagName":"h2"},{"title":"Script Runner​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#script-runner","content":" Script Runner provides a visual interface for editing and executing scripts/procedures. A full featured text editor provides syntax highlighting and code completion while developing scripts. During script execution, the currently executing line is highlighted and any logged messages are highlighted to the user. If any failure occurs, the script is paused and the user alerted. The user can then decide whether to stop the script, or ignore the failure and continue. The user can also retry the failed lines, or other nearby lines before proceeding. Script Runner now also provides a structured methodology for designing system level scripting that mirrors the very successful pattern used in software unit tests (previously implemented in the Test Runner tool). System level tests/procedures are built up of cases that are organized into groups. For example, you might have one group that verified all of the requirements associated with a particular mechanism. Ideally you would break this down into individual cases for different scenarios. One perhaps for opening a shutter, another for closing it, etc. Cases are ideally small and independent tasks. A number of these groups are then combined into an overall suite which would be run to execute a major test such as EMI, or software FQT. Reqt. ID\tDescription\tTest DescriptionSR-1\tScript Runner shall provide a text editor for developing test scripts.\tOpen Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines. SR-2\tScript Runner shall provide search and replace functionality.\tPerform all standard search and replace functionality, including search, replace, find next, and find previous. SR-3\tScript Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported.\tCreate a script and exercise code completion on the mentioned keywords. SR-4\tScript Runner shall execute Ruby-based COSMOS scripts.\tPress start and execute a script. SR-5\tScript Runner shall highlight the currently executing line of the script.\tVerify that lines are highlighted as a test script executes. SR-6\tScript Runner shall allow pausing an executing script.\tPress pause button and verify script is paused. Press start to resume. SR-7\tScript Runner shall allow stopping an executing script.\tPress stop and verify script stops. SR-8\tScript Runner shall pause an executing script upon the occurrence of an error.\tCreate a script with a statement that is guaranteed to fail and verify that the script is paused. SR-9\tScript Runner shall log commands sent.\tExecute a script that sends a command and verify it is logged. SR-10\tScript Runner shall log text written to STDOUT. Note: Typically through the puts method.\tExecute a script that uses puts to write a message and verify it is logged. SR-11\tScript Runner shall log wait times.\tExecute a script that includes a wait method and verify wait time is logged. SR-12\tScript Runner shall log errors that occur while the script is executing.\tCreate a script with a check statement that is guaranteed to fail and verify it is logged. SR-13\tScript Runner shall log check statement success and failure.\tCreate a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged. SR-14\tScript Runner shall support executing selected lines.\tSelect a set of lines and execute them using Script->Execute Selected Lines. SR-15\tScript Runner shall support executing selected lines while paused.\tSelect a set of lines and execute them from the right-click context menu. SR-16\tScript Runner shall support starting a script from any line.\tPlace the mouse cursor at the desired first line and then select Script->Execute From Cursor. SR-17\tScript Runner shall support a mnemonic checking function.\tSelect Script->Mnemonic Check. SR-18\tScript Runner shall support a syntax checking function.\tSelect Script->Ruby Syntax Check. SR-19\tScript Runner shall support viewing the script instrumentation.\tSelect Script->View Instrumented Script. SR-20\tScript Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server.\tSelect Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion. SR-21\tScript Runner shall support a Debug terminal to aid in debugging scripts.\tSelect Script->Toggle Debug. SR-22\tScript Runner shall support a step mode where the script will stop and wait for use interaction after each line.\tPress Step to progress through the script. SR-23\tScript Runner shall support breakpoint functionality.\tCreate a breakpoint then execute the script and verify it stops at the specified line. SR-25\tScript Runner Suite Mode shall support executing individual test suites.\tExecute an individual test suite. SR-26\tScript Runner Suite Mode shall support executing individual test groups.\tExecute an individual test group. SR-27\tScript Runner Suite Mode shall support executing individual test cases.\tExecute an individual test case. SR-28\tScript Runner Suite Mode shall support executing test group setup and teardown methods individually.\tExecute a test group setup. Execute a test group teardown. SR-29\tScript Runner Suite Mode shall support executing test suite setup and teardown methods individually.\tExecute a test suite setup. Execute a test suite teardown. SR-30\tScript Runner Suite Mode shall create a report after executing any suite test.\tVerify a report is generated after executing a suite. SR-31\tScript Runner Suite Mode shall support pausing when an error occurs.\tExecute a test script with the pause on error box checked and without. SR-32\tScript Runner Suite Mode shall support allowing the user to proceed on an error.\tExecute a test script with the Allow go/retry on error box checked and without. SR-33\tScript Runner Suite Mode shall support aborting execution on an error.\tExecute a test script with the abort on error box checked and without. SR-34\tScript Runner Suite Mode shall support looping a test.\tExecute a test script with the loop testing box checked and without. SR-35\tScript Runner Suite Mode shall support breaking the looping of a test on error.\tExecute a test script with the break loop on error box checked and without. SR-36\tScript Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring.\tExecute a test script that checks the $loop_testing variable while looping and again while not looping. SR-37\tScript Runner Suite Mode shall support a user readable flag indicating manual operations are desired.\tExecute a test script with the manual box checked and without. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#packet-viewer","content":" Packet Viewer provides a simple tool to view the realtime contents of any telemetry packet defined in the system in a tabular, key-value format. Reqt. ID\tDescription\tTest DescriptionPV-1\tPacket Viewer shall allow selection of a telemetry packet by target name and packet name.\tSelect a specific telemetry packet by target name and packet name in the drop down menus. PV-2\tPacket Viewer shall display the contents of the selected telemetry packet.\tEnsure all items of the selected telemetry packet are displayed and updating. PV-3\tPacket Viewer shall provide a mechanism to get detailed information on a telemetry item.\tRight click on a telemetry item and select "Details" from the context menu. PV-4\tPacket Viewer shall provide a mechanism to view a graph of any telemetry item.\tRight click on a telemetry item and select "Graph" from the context menu. PV-5\tPacket Viewer shall color telemetry values based upon limits state.\tView a packet with items containing limits and verify they are colored. PV-6\tPacket Viewer shall support a configurable polling rate.\tSelect File->Options and change the polling rate. PV-7\tPacket Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind.\tSelect View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color. PV-8\tPacket Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)\tIn the View menu, select each of the four value types and verify values are displayed accordingly. ","version":"Next","tagName":"h2"},{"title":"Telemetry Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-viewer","content":" Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways. Reqt. ID\tDescription\tTest DescriptionTV-1\tTelemetry Viewer shall display user-defined telemetry screens.\tOpen a telemetry TV-2\tTelemetry Viewer shall display realtime data.\tVerify telemetry screens show realtime data. TV-3\tTelemetry Viewer shall support saving open telemetry screens and their positions.\tOpen three telemetry screens and then select File->Save Configuration. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-grapher","content":" Telemetry Grapher performs graphing of telemetry points in both realtime and log file playback. Reqt. ID\tDescription\tTest DescriptionTG-1\tTelemetry Grapher shall provide line graphs of telemetry points.\tAdd several housekeeping data objects to a plot. TG-2\tTelemetry Grapher shall support realtime graphing of telemetry.\tPress Start to start realtime graphing. TG-3\tTelemetry Grapher shall support graphing data from logged telemetry.\tSelect the menu option to graph data from a logged data TG-4\tTelemetry Grapher shall support multiple plots per browser tab.\tAdd multiple plots. TG-5\tTelemetry Grapher shall support multiple telemetry points per plot.\tAdd multiple data objects to one plot. TG-6\tTelemetry Grapher shall support saving a variable number of data points.\tEdit Points Saved. TG-7\tTelemetry Grapher shall support graphing a variable duration of time.\tEdit Seconds Plotted. TG-8\tTelemetry Grapher shall support graphing a variable number of data points.\tEdit Points Plotted. TG-9\tTelemetry Grapher shall support saving its configuration.\tSave the current configuration. TG-10\tTelemetry Grapher shall support loading its configuration.\tLoad the previously saved configuration. ","version":"Next","tagName":"h2"},{"title":"Data Extractor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-extractor","content":" Data Extractor processes logged data and extracts data into a CSV format for analysis in Excel or other tools. Reqt. ID\tDescription\tTest DescriptionDE-1\tData Extractor shall support adding individual telemetry points.\tAdd an individual telemetry point. DE-2\tData Extractor shall support adding entire telemetry packets.\tAdd an entire packet. DE-3\tData Extractor shall support adding entire telemetry targets.\tAdd all packets for a target. DE-4\tData Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)\tClick an item and change the value type. DE-5\tData Extractor shall support saving configurations.\tSelect File->Save Config DE-6\tData Extractor shall support loading configurations.\tSelect File->Load Config DE-7\tData Extractor shall support deleting items\tSelect an Item and press delete ","version":"Next","tagName":"h2"},{"title":"Data Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-viewer","content":" Data Viewer provides for textual display of telemetry packets where other display methods are not a good fit. It is especially useful for memory dumps and for log message type data display. Reqt. ID\tDescription\tTest DescriptionDV-1\tData Viewer shall support realtime processing of telemetry packets.\tPress Start to start realtime processing. DV-2\tData Viewer shall support logged playback of telemetry packets.\tSelect a time range to playback. DV-3\tData Viewer shall support textual display of telemetry packets.\tView the display of data. DV-4\tData Viewer shall support multiple tabs for data display.\tSwitch between several tabs of data. DV-5\tData Viewer shall support deleting tabs.\tDelete a tab. ","version":"Next","tagName":"h2"},{"title":"Calendar​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#calendar","content":" The Calendar tool provides a user interface and API for initiating scheduled actions in COSMOS Reqt. ID\tDescription\tTest DescriptionTL-1\tCalendar shall allow creating new timelines\tClick the button and create a new timeline TL-2\tCalendar shall allow scheduling commands for future execection\tAdd a command to a timeline TL-3\tCalendar shall allow scheduling scripts for future execution\tAdd a script to a timeline TL-4\tCalendar shall allow for reserving a resource\tAdd a reservation to a timeline TL-5\tCalendar shall track success or failure of commands\tLook at status from a completed command TL-6\tCalendar shall track success or failure of scripts\tLook at status from a completed script TL-7\tCalendar shall allow deleting activities from timelines\tDelete a preexisting item from a timeline TL-8\tCalendar shall allow deleting timelines\tDelete a timeline ","version":"Next","tagName":"h2"},{"title":"Admin​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#admin","content":" The Admin tool provides administrative functionality including managing plugins for the COSMOS system Reqt. ID\tDescription\tTest DescriptionAD-1\tThe Admin Tool shall allow installing plugins\tUpload and Install a Plugin AD-2\tThe Admin Tool shall support upgrading plugins\tUpgrade an installed plugin AD-3\tThe Admin Tool shall support uninstalling plugins\tUninstall a plugin AD-4\tThe Admin Tool shall display information on installed plugins\tView info on Interfaces, Microservices, etc AD-5\tThe Admin Tool shall support editing microservices\tEdit the settings for a microservice AD-6\tThe Admin Tool shall support discovery of plugins\tDiscover and download a plugin AD-7\tThe Admin Tool shall support adding links to external tools\tAdd a link to Google AD-8\tThe Admin Tool shall support reordering tools\tReorder tools on the tools tab AD-9\tThe Admin Tool shall support configuring a classification bar\tAdd a classification bar on the settings tab ","version":"Next","tagName":"h2"},{"title":"COSMOS and NASA cFS","type":0,"sectionRef":"#","url":"/docs/guides/cfs","content":"","keywords":"","version":"Next"},{"title":"Working configuration​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#working-configuration","content":" This tutorial has been tested using the following components: COSMOS v5 release 5.0.6cFS master-branch commit: 561b128 (June 1, 2022)Docker Desktop 4.9.0 on Windows Replace all <xxxxxx> with your matching paths and names. Example: <USERNAME>. ","version":"Next","tagName":"h2"},{"title":"Setting up COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cosmos","content":" Install COSMOS according to the official installation instructions. ","version":"Next","tagName":"h2"},{"title":"Configuring COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#configuring-cosmos","content":" Change the Docker configuration for the interoperability with NASA cFS. For subscribing to the telemetry, you have to append a port binding in the filecompose.yaml under the section openc3-operator. The port number has to match with the port number cFS is sending the telemetry on. openc3-operator: ports: - "1235:1235/udp" Run COSMOS, the first run takes a while (~15 min). openc3.sh start When started, connect with a browser to http://localhost:2900. For shutting down COSMOS: openc3.sh stop ","version":"Next","tagName":"h3"},{"title":"Setting up cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cfs","content":" To run NASA cFS as a Docker container do the following: ","version":"Next","tagName":"h2"},{"title":"Clone cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#clone-cfs","content":" git clone --recurse-submodules https://github.com/nasa/cFS.git ","version":"Next","tagName":"h3"},{"title":"Create Dockerfile in cFS dir​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#create-dockerfile-in-cfs-dir","content":" FROM ubuntu:22.10 AS builder ARG DEBIAN_FRONTEND=noninteractive ARG SIMULATION=native ENV SIMULATION=${SIMULATION} ARG BUILDTYPE=debug ENV BUILDTYPE=${BUILDTYPE} ARG OMIT_DEPRECATED=true ENV OMIT_DEPRECATED=${OMIT_DEPRECATED} RUN \\ apt-get update && \\ apt-get -y upgrade && \\ apt-get install -y build-essential git cmake && \\ rm -rf /var/lib/apt/lists/* WORKDIR /cFS COPY . . RUN git submodule init \\ && git submodule update \\ && cp cfe/cmake/Makefile.sample Makefile \\ && cp -r cfe/cmake/sample_defs . RUN make prep RUN make RUN make install FROM ubuntu:22.10 COPY --from=builder /cFS/build /cFS/build WORKDIR /cFS/build/exe/cpu1 ENTRYPOINT [ "./core-cpu1" ] ","version":"Next","tagName":"h3"},{"title":"Build and run cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#build-and-run-cfs","content":" Note we're connecting to the COSMOS network (docker network ls) and exposing the cFS ports. docker build -t cfs . docker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs ","version":"Next","tagName":"h3"},{"title":"Creating a COSMOS plugin for TM/TC interface with cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-a-cosmos-plugin-for-tmtc-interface-with-cfs","content":" The detailed instructions how to create a plugin, can be foundhere, in the chapter "Interfacing with Your Hardware". Create a new plugin with the name CFS. CFS is the name of the plugin and must be in capital letters according to the COSMOS documentation. This command should create the plugin structure. Then cd into the plugin to create the target. # cd .. to the location of the cfs dir $PATH_TO_OPENC3/openc3.sh cli generate plugin CFS cd openc3-cosmos-cfs $PATH_TO_OPENC3/openc3.sh cli generate target CFS In this newly created plugin, change the plugin.txt file, so that the communication happens over UDP. port_tm is the port number on which cFS sends the telemetry messages. port_tc indicates the port on which cFS listens to the telecommands. VARIABLE ip 127.0.0.1 VARIABLE port_tm 1235 VARIABLE port_tc 1234 VARIABLE cfs_target_name CFS TARGET CFS <%= cfs_target_name %> # hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address INTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil MAP_TARGET <%= cfs_target_name %> Note that the two arguments to the TARGET parameter are: the physical target name that should match the name of the plugin, i.e. CFS. This name must match the folder name in the targets folder. Example: for theCFS plugin, the target specifications must be underopenc3-cfs/targets/CFS. If you don't follow this convention, the server will refuse to install your plugin at the following steps. the name of your target and how it is shown in the user interface. In this example, we keep both names to be CFS. ","version":"Next","tagName":"h2"},{"title":"Creating TM/TC definitions​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-tmtc-definitions","content":" Change to the target folder and remove the existing files and create own files. cd openc3-cfs/targets/CFS/cmd_tlm rm * touch cfs_cmds.txt touch cfs_tlm.txt touch to_lab_cmds.txt Open these newly created files in a text editor and fill them with following content. to_lab_cmds.txt: COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry" # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet" APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 "" FORMAT_STRING "0x%2X" APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57" Enabling Telemetry The command 0x1880 is needed to enable telemetry. When the cFS receives this command, it starts sending telemetry to the IP address provided via theDEST_IP field. cfs_cmds.txt: COMMAND CFS NOOP BIG_ENDIAN "NOOP Command" # cFS primary header APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" # cFS CMD secondary header APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS RESET BIG_ENDIAN "Reset Counters Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS PROCESS BIG_ENDIAN "Process Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" cfs_tlm.txt: TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry" # NAME BITS TYPE ID DESCRIPTION APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID" FORMAT_STRING "0x%04X" APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence" FORMAT_STRING "0x%04X" APPEND_ITEM PKT_LEN 16 UINT "Length of the packet" # telemetry secondary header APPEND_ITEM SECONDS 32 UINT "" UNITS Seconds sec APPEND_ITEM SUBSECS 16 UINT "" UNITS Milliseconds ms # some bytes not known for what APPEND_ITEM SPARE2ALIGN 32 UINT "Spares" # payload APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter" APPEND_ITEM CMD_CNT 8 UINT "Command Counter" # spare / alignment APPEND_ITEM SPARE 16 UINT "Spares" Build the plugin from the base of your plugin folder: # cd openc3-cfs $PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0 Plugin versioning Do not forget to change the version number with every build if you want to better distinguish between the versions of the plugin. When the version is seen in the plugin's .gem file name, it is easier to visualize the existing versions and the newly uploaded versions. Plugin parameters Multiple parameters are available for the plugin configuration. See the plugin page. ","version":"Next","tagName":"h2"},{"title":"Uploading the plugin​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#uploading-the-plugin","content":" After the plugin has been built, you can import the plugin in the admin area of the page. Connect with a browser tohttp://localhost:2900/tools/admin. Click on the clip icon and navigate to where your plugin is stored and select the openc3-cosmos-cfs-1.0.0.gem file. Right of the selection line click on UPLOAD. Determine the IP address the cFS container and COSMOS operator container are running at: docker network ls NETWORK ID NAME DRIVER SCOPE d842f813f1c7 openc3-cosmos-network bridge local docker network inspect openc3-cosmos-network [ { "Name": "openc3-cosmos-network", ... "Containers": { "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": { "Name": "cfs", "IPv4Address": "172.20.0.9/16", }, "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": { "Name": "openc3_openc3-operator_1", "IPv4Address": "172.20.0.8/16", } } ... } ] When using this plugin, make sure to change the ip variable during uploading to match where cFS is running. In the example above you would set it to 172.20.0.9.port_tm is the port number on which cFS is sending the telemetry messages.port_tc indicates the port on cFS is listening for telecommands. Under cfs_target_name you can change the target name of this plugin. This step is optional as long as you are fine with your plugin showing up as CFS. Port subscription The last uploaded plugin on COSMOS will subscribe to TM on port 1235. Other plugins will not receive any TM anymore. Typo errors Presence of typos in one of the plugin files can cause problems when uploading and installing the plugin's .gem file. Make sure your configuration is typo-free. In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect tohttp://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE. Change the DEST_IP to the IP address of the operator image (172.20.0.8) and send the command. Under http://localhost:2900/tools/cmdtlmserver/tlm-packets, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader. ","version":"Next","tagName":"h2"},{"title":"Podman","type":0,"sectionRef":"#","url":"/docs/getting-started/podman","content":"","keywords":"","version":"Next"},{"title":"OpenC3 COSMOS Using Rootless Podman and Docker-Compose​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#openc3-cosmos-using-rootless-podman-and-docker-compose","content":" Optional Installation Option These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method. Podman is an alternative container technology to Docker that is actively promoted by RedHat. The key benefit is that Podman can run without a root-level daemon service, making it significantly more secure by design, over standard Docker. However, it is a little more complicated to use. These directions will get you up and running with Podman. The following directions have been tested against RHEL 8.8, and RHEL 9.2, but should be similar on other operating systems. Rootless Podman Does Not Work (Directly) with NFS Home Directories NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [https://www.redhat.com/sysadmin/rootless-podman-nfs]https://www.redhat.com/sysadmin/rootless-podman-nfs). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See https://www.redhat.com/sysadmin/nfs-rootless-podman Redhat 8.8 and 9.2 Instructions Install Prerequisite Packages Note: This downloads and installs docker-compose from the latest 2.x release on Github. If your operating system has a docker-compose package, it will be easier to install using that instead. RHEL8 does not have a docker-compose package. sudo yum update sudo yum install git podman-docker netavark curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose sudo mv docker-compose /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose Configure Host OS for Redis sudo su echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag sysctl -w vm.max_map_count=262144 exit Configure Podman to use Netavark for DNS sudo cp /usr/share/containers/containers.conf /etc/containers/. sudo vi /etc/containers/containers.conf Then edit the network_backend line to be "netavark" instead of "cni" Start rootless podman socket service systemctl enable --now --user podman.socket Put the following into your .bashrc file (or .bash_profile or whatever) export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock" Source the profile file for your current terminal source .bashrc Get COSMOS - A release or the current main branch (main branch shown) git clone https://github.com/OpenC3/cosmos.git Optional - Set Default Container Registry If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly) mkdir -p $HOME/.config/containers cp /etc/containers/registries.conf $HOME/.config/containers/. vi $HOME/.config/containers/registries.conf Then edit the unqualified-search-registries = line to just have the registry you care about (probably docker.io) Edit cosmos/compose.yaml cd cosmos vi compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. You may also want to update the traefik configuration to allow access from the internet by removing 127.0.0.1 and probably switching to either an SSL config file, or the allow http one. Also make sure your firewall allows whatever port you choose to use in. Rootless podman will need to use a higher numbered port (not 1-1023). Run COSMOS ./openc3.sh run Wait until everything is built and running and then goto http://localhost:2900 in your browser Podman on MacOS Podman can also be used on MacOS, though we still generally recommend Docker Desktop ","version":"Next","tagName":"h3"},{"title":"MacOS Instructions​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#macos-instructions","content":" Install podman brew install podman Start the podman virtual machine podman machine init podman machine start # Note: update to your username in the next line or copy paste from what 'podman machine start' says export DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock' Install docker-compose brew install docker-compose # Optional if you already have Docker Desktop Edit cosmos/compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. Important: on MacOS you must also remove all :z from the volume mount lines You may also want to update the traefik configuration to allow access from the internet. Run COSMOS cd cosmos ./openc3.sh run ","version":"Next","tagName":"h2"},{"title":"Custom Widgets","type":0,"sectionRef":"#","url":"/docs/guides/custom-widgets","content":"","keywords":"","version":"Next"},{"title":"Custom Widgets​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#custom-widgets","content":" We're basically going to follow the COSMOS Demo and explain how that custom widget was created. If you look at the bottom of the Demo's plugin.txt file you'll see we declare the widgets: WIDGET BIG WIDGET HELLOWORLD When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at tools/widgets/BigWidget/BigWidget.umd.min.js. Similarly it looks for HELLOWORLD at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. These directories and file names may seem mysterious but it's all about how the widgets get built. ","version":"Next","tagName":"h2"},{"title":"Helloworld Widget​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#helloworld-widget","content":" The Helloworld Widget source code is found in the plugin's src directory and is called HelloworldWidget.vue. The basic structure is as follows: <template> <!-- Implement widget here --> </template> <script> import Widget from "@openc3/tool-common/src/components/widgets/Widget"; export default { mixins: [Widget], data() { return { // Reactive data items }; }, }; </script> <style scoped> /* widget specific style */ </style> Vue & Vuetify For more information about how the COSMOS frontend is built (including all the Widgets) please check out Vue.js and Vuetify. To build this custom widget we changed the Demo Rakefile to call yarn run build when the plugin is built. yarn run XXX looks for 'scripts' to run in the package.json file. If we open package.json we find the following: "scripts": { "build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget" }, This uses the vue-cli-service to build the code found at src/HelloworldWidget.vue and formats as umd-min and puts it in the tools/widgets/HelloworldWidget directory. So this is why the plugin looks for the plugin at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. Click here for the vue-cli-service build documentation. If you look at the Demo plugin's simple.txt screen you'll see we're using the widgets: SCREEN AUTO AUTO 0.5 LABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT HELLOWORLD BIG <%= target_name %> HEALTH_STATUS TEMP1 Opening this screen in Telemetry Viewer results in the following: While this is a simple example the possibilities with custom widgets are limitless! ","version":"Next","tagName":"h3"},{"title":"Little Endian Bitfields","type":0,"sectionRef":"#","url":"/docs/guides/little-endian-bitfields","content":"Little Endian Bitfields Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields. Here are the rules on how COSMOS handles LITTLE_ENDIAN data: COSMOS bit offsets are always defined in BIG_ENDIAN terms. Bit 0 is always the most significant bit of the first byte in a packet, and increasing from there. All 8, 16, 32, and 64-bit byte-aligned LITTLE_ENDIAN data types define their bit_offset as the most significant bit of the first byte in the packet that contains part of the item. (This is exactly the same as BIG_ENDIAN). Note that for all except 8-bit LITTLE_ENDIAN items, this is the LEAST significant byte of the item. LITTLE_ENDIAN bit fields are defined as any LITTLE_ENDIAN INT or UINT item that is not 8, 16, 32, or 64-bit and byte aligned. LITTLE_ENDIAN bit fields must define their bit_offset as the location of the most significant bit of the bitfield in BIG_ENDIAN space as described in rule 1 above. So for example. The following C struct at the beginning of a packet would be defined like so: struct { unsigned short a:4; unsigned short b:8; unsigned short c:4; } ITEM A 4 4 UINT "struct item a" ITEM B 12 8 UINT "struct item b" ITEM C 8 4 UINT "struct item c" This is hard to visualize, but the structure above gets spread out in a byte array like the following after byte swapping: least significant 4 bits of b, 4-bits a, 4-bits c, most significant 4 bits of b. The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary.","keywords":"","version":"Next"},{"title":"Local Mode","type":0,"sectionRef":"#","url":"/docs/guides/local-mode","content":"","keywords":"","version":"Next"},{"title":"Using Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#using-local-mode","content":" In this tutorial we will use the COSMOS Demo as configured by the Installation Guide. You should have cloned a cosmos-project and started it using openc3.sh run. If you check the project directory you should see a plugins/DEFAULT/openc3-cosmos-demo directory. This will contain both the gem that was installed and a plugin_instance.json file. The plugin_instance.json file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later. ","version":"Next","tagName":"h2"},{"title":"Editing scripts​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#editing-scripts","content":" Visual Studio Code This tutorial will use VS Code which is the editor used by the COSMOS developers. The most common use case for Local Mode is script development. Launch Script Runner and open the INST/procedures/checks.rb file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to plugins/targets_modified/INST/procedures/checks.rb. At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: # This is a script. Now if we go back to Script Runner the changes have not automatically appeared. However, there is a Reload button next to the filename that will refresh the file from the backend. Clicking this reloads the file which has been synced into COSMOS and now we see our comment. ","version":"Next","tagName":"h3"},{"title":"Disabling Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#disabling-local-mode","content":" If you want to disable Local Mode you can edit the .env file and delete the setting OPENC3_LOCAL_MODE=1. ","version":"Next","tagName":"h3"},{"title":"Configuration Management​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#configuration-management","content":" It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory. At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI. openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-demo Version: 1.0.1 File: openc3-cosmos-demo-1.0.1.gem Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL. When the new plugin is installed, the project's plugins directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install. Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS. ","version":"Next","tagName":"h2"},{"title":"Bridges","type":0,"sectionRef":"#","url":"/docs/guides/bridges","content":"","keywords":"","version":"Next"},{"title":"Bridges are Generally Just an Interface and Router​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridges-are-generally-just-an-interface-and-router","content":" Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to COSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation protocol like LENGTH. ","version":"Next","tagName":"h2"},{"title":"Host Requirements for Running Bridges​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#host-requirements-for-running-bridges","content":" Requires a host Ruby installation (Ruby 3)Install the OpenC3 gem gem install openc3 Make sure the Ruby gem executable path is in your PATH environment variable You can find this path by running gem environment and looking for EXECUTABLE DIRECTORY If successful, you should be able to run openc3cli from a terminal ","version":"Next","tagName":"h2"},{"title":"Bridge Configuration: bridge.txt​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-configuration-bridgetxt","content":" Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword. The following is the default bridge.txt that is generated by running openc3cli bridgesetup # Write serial port name VARIABLE write_port_name COM1 # Read serial port name VARIABLE read_port_name COM1 # Baud Rate VARIABLE baud_rate 115200 # Parity - NONE, ODD, or EVEN VARIABLE parity NONE # Stop bits - 0, 1, or 2 VARIABLE stop_bits 1 # Write Timeout VARIABLE write_timeout 10.0 # Read Timeout VARIABLE read_timeout nil # Flow Control - NONE, or RTSCTS VARIABLE flow_control NONE # Data bits per word - Typically 8 VARIABLE data_bits 8 # Port to listen for connections from COSMOS - Plugin must match VARIABLE router_port 2950 # Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened # if COSMOS is on another machine. VARIABLE router_listen_address 127.0.0.1 INTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %> OPTION FLOW_CONTROL <%= flow_control %> OPTION DATA_BITS <%= data_bits %> ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS <%= router_listen_address %> VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access this server using the host.docker.internal hostname and the configured port (2950 in this example). ","version":"Next","tagName":"h2"},{"title":"Bridge Commands: openc3cli​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-commands-openc3cli","content":" openc3cli bridgesetup Generates a bridge.txt example file openc3cli bridge [filename] [variable1=value1] [variable2=value2] Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults. openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2] Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults. ","version":"Next","tagName":"h2"},{"title":"Example Bridge Gems​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#example-bridge-gems","content":" Serial Port: openc3-cosmos-bridge-serialHost: openc3-cosmos-bridge-hostHIDAPI: openc3-cosmos-bridge-hidapiPS5 Dual Sense Controller: openc3-cosmos-bridge-dualsense ","version":"Next","tagName":"h2"},{"title":"Note on Serial Ports​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#note-on-serial-ports","content":" Serial ports can be used directly without bridges on Linux Docker installations. Add the following to the operator service in compose.yaml: devices: - "/dev/ttyUSB0:/dev/ttyUSB0" Make sure the serial device has permissions for the user running Docker to access: sudo chmod 666 /dev/ttyUSB0 ","version":"Next","tagName":"h2"},{"title":"Logging","type":0,"sectionRef":"#","url":"/docs/guides/logging","content":"","keywords":"","version":"Next"},{"title":"decom_logs & raw_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#decom_logs--raw_logs","content":" The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory: Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the Log Structure developer documentation. The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first. To change the logging settings add the various CYCLE_TIME Target Modifiers under the declared TARGET name in your plugin.txt. ","version":"Next","tagName":"h3"},{"title":"text_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#text_logs","content":" The text_logs folder contains openc3_log_messages which contains text files that are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked. These log messages files are long term records of the messages in the CmdTlmServer Log Messages window: ","version":"Next","tagName":"h3"},{"title":"tool_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#tool_logs","content":" The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file. ","version":"Next","tagName":"h3"},{"title":"Raspberry Pi","type":0,"sectionRef":"#","url":"/docs/guides/raspberrypi","content":"","keywords":"","version":"Next"},{"title":"COSMOS Running on Raspberry Pi 4​","type":1,"pageTitle":"Raspberry Pi","url":"/docs/guides/raspberrypi#cosmos-running-on-raspberry-pi-4","content":" The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running. What you'll need: Raspberry Pi 4 board (tested with 8GB RAM)A Pi Case but OptionalRaspbeerry Pi Power Supply32GB or Larger SD Card - Also faster the betterA Laptop with a way to write SD Cards Let's get started! Setup 64-bit Raspian OS Lite on the SD Card Make sure you have the Raspberry Pi Imager app from: https://www.raspberrypi.com/software/ Insert the SD Card into your computer (Note this process will erase all data on the SD card!)Open the Raspberry Pi Imager AppClick the "Choose Device" ButtonPick Your Raspberry Pi ModelClick the "Choose OS" ButtonSelect "Raspberry Pi OS (other)"Select "Raspberry Pi OS Lite (64-bit)"Click the "Choose Storage" ButtonSelect Your SD CardClick Edit SettingsIf prompted if you would like to prefill the Wifi information, select OKSet the hostname to: cosmos.localSet the username and password. The default username is your username, you should also set a password to make the system secureFill in your Wifi info, and set the country appropriately (ie. US)Set the correct time zoneGoto the Services Tab and Enable SSHYou can either use Password auth, or public-key only if your computer is already setup for passwordless SSHGoto the Options tab and make sure "Enable Telemetry" is not checkedClick "Save" when everything is filled outClick "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete Make sure the Raspberry Pi is NOT powered on Remove the SD Card from your computer and insert into the Raspberry Pi Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot SSH to your raspberry Pi Open a terminal window and use ssh to connect to your Pi On Mac / Linux: ssh yourusername@cosmos.localOn Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well. From SSH, Enter the following commands sudo sysctl -w vm.max_map_count=262144 sudo sysctl -w vm.overcommit_memory=1 sudo apt update sudo apt upgrade sudo apt install git -y curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER newgrp docker git clone https://github.com/OpenC3/cosmos-project.git cosmos cd cosmos # Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service ./openc3.sh run After about 2 minutes, open a web browser on your computer, and goto: http://cosmos.local:2900 Congratulations! You now have COSMOS running on a Raspberry Pi! ","version":"Next","tagName":"h3"},{"title":"Monitoring","type":0,"sectionRef":"#","url":"/docs/guides/monitoring","content":"","keywords":"","version":"Next"},{"title":"Monitoring and observability​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#monitoring-and-observability","content":" With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about Monitoring Distributed Systems ","version":"Next","tagName":"h3"},{"title":"Fluent/Fluentd​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#fluentfluentd","content":" Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. Notes​ in_docker.conf <source> @type forward port 24224 bind 0.0.0.0 </source> <match *.metric> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix metric logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *__openc3.log> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix openc3 logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *.**> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix fluentd logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> Dockerfile FROM fluent/fluentd:v1.10.3-1.0 COPY ./in_docker.conf /fluentd/etc/fluent.conf USER root RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \\ && gem install fluent-plugin-prometheus --no-document --version 1.8.5 USER fluent ","version":"Next","tagName":"h3"},{"title":"OpenDistro​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#opendistro","content":" Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts. Docker Notes​ When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file. Dockerfile FROM amazon/opendistro-for-elasticsearch:1.12.0 RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security ","version":"Next","tagName":"h3"},{"title":"Prometheus​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#prometheus","content":" Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data. Notes​ prometheus.yaml global: scrape_interval: 15s evaluation_interval: 15s rule_files: # - "first.rules" # - "second.rules" scrape_configs: - job_name: prometheus static_configs: - targets: ["localhost:9090"] - job_name: openc3-internal-metrics metrics_path: "/openc3-api/internal/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-cmd-tlm-api metrics_path: "/openc3-api/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-script-runner-api metrics_path: "/script-api/metrics" static_configs: - targets: ["openc3-script-runner-api:2902"] - job_name: minio-job metrics_path: /minio/v2/metrics/cluster scheme: http static_configs: - targets: ['openc3-minio:9000'] Dockerfile FROM prom/prometheus:v2.24.1 ADD prometheus.yaml /etc/prometheus/ ","version":"Next","tagName":"h3"},{"title":"Grafana​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#grafana","content":" Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources. Notes​ datasource.yaml apiVersion: 1 datasources: - name: Prometheus type: prometheus # Access mode - proxy (server in the UI) or direct (browser in the UI). access: proxy url: http://openc3-prometheus:9090 Dockerfile FROM grafana/grafana COPY datasource.yaml /etc/grafana/provisioning/datasources/ ","version":"Next","tagName":"h3"},{"title":"COSMOS Hardware Requirements","type":0,"sectionRef":"#","url":"/docs/guides/performance","content":"","keywords":"","version":"Next"},{"title":"Memory​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#memory","content":" COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM). Base RAM MB Calculator = 800 + (num targets) * 300 In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to docker stats. Installing the COSMOS LoadSim with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB. ","version":"Next","tagName":"h2"},{"title":"CPU​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#cpu","content":" Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling. The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with htop to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur. ","version":"Next","tagName":"h2"},{"title":"Performance Comparison​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#performance-comparison","content":" Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per Docker. COSMOS 5.9.1 Enterprise Edition was installed on both Windows 11 Pro 1 and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using htop: Platform\tCore CPU %\tRAMWindows 11 Pro\t12% 12% 10% 10%\t3.9G / 7.7G Headless Ubuntu 22\t7% 7% 8% 6%\t3.2G / 15.6G Windows was only allocated 8 GB of RAM due to the .wslconfig settings.Since Ubuntu was running headless, the screens and graphs were brought up on another machine. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.16%\t1.32%\t43.54MiB\t51.38MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t10.16%\t6.14%\t401.6MiB\t392MiB cosmos-enterprise-project-openc3-keycloak-1\t0.17%\t0.13%\t476.8MiB\t476.8MiB cosmos-enterprise-project-openc3-operator-1\t21.27%\t13.91%\t1.214GiB\t1.207GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t127.4MiB\t117.1MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.00%\t105.2MiB\t83.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t4.05%\t1.89%\t46.22MiB\t69.84MiB cosmos-enterprise-project-openc3-redis-1\t1.56%\t0.72%\t12.82MiB\t9.484MiB cosmos-enterprise-project-openc3-minio-1\t0.01%\t0.00%\t152.9MiB\t169.8MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.39%\t37.33MiB\t41.02MiB memory profiles are similar between the two platformsredis-ephemeral isn't using much memory on the base Demo with its small packets At this point the COSMOS LoadSim was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated: Platform\tCore CPU %\tRAMWindows 11 Pro\t40% 35% 39% 42%\t4.64G / 7.7G Headless Ubuntu 22\t17% 20% 16% 18%\t3.74G / 15.6G The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.09%\t0.01%\t44.3MiB\t0.34MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t17.78%\t6.18%\t407.9MiB\t405.8MiB cosmos-enterprise-project-openc3-keycloak-1\t0.20%\t0.12%\t480.2MiB\t481.5MiB cosmos-enterprise-project-openc3-operator-1\t221.15%\t66.72%\t1.6GiB\t1.512GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t136.6MiB\t127.5MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.01%\t106.3MiB\t84.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t19.63%\t3.91%\t333.8MiB\t370.8MiB cosmos-enterprise-project-openc3-redis-1\t7.42%\t1.49%\t15.87MiB\t11.81MiB cosmos-enterprise-project-openc3-minio-1\t0.10%\t0.02%\t167.8MiB\t179.2MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.00%\t35.4MiB\t42.93MiB memory profiles are similar between the two platformsredis-ephemeral is now using much more RAM as it is storing the large LoadSim packetsWindows is using much more CPU power running the operator, cmd-tlm, and redis Conclusions While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use docker stats and htop to judge the CPU and memory pressure on the given hardware. COSMOS Enterprise Edition on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out this recent talk Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS. Footnotes​ Full specs of the Windows Platform: Windows 11 Pro Docker Desktop 4.22.0 WSL version: 1.2.5.0 Kernel version: 5.15.90.1 WSLg version: 1.0.51 MSRDC version: 1.2.3770 Direct3D version: 1.608.2-61064218 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22621.2134 ↩ ","version":"Next","tagName":"h2"},{"title":"Licenses","type":0,"sectionRef":"#","url":"/docs/meta/licenses","content":"","keywords":"","version":"Next"},{"title":"AGPLv3​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#agplv3","content":" This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: OpenC3 AGPLv3 Obviously, the actual license text applies, but here is a short summary: The AGPL allows users to use the code however they want: For business, personal, etc., as long as they follow the other terms: Users are anyone who could access the web-app. On the public internet, that is the whole world. On a private network, it is anyone with access to that network. The software is provided as-is, no warranty Users must be given access to all the source code and are also allowed to use it however they want under the same terms of the AGPLv3. This includes any modifications made, anything added, and all plugins. For web applications (like COSMOS), a link must be provided to all of the source code. There are some key implications of the above: You cannot keep anything proprietary from your users. They have the rights to take the code (and configuration) and do anything they want with it. You CANNOT impede these rights or you are violating the AGPLv3 and YOU lose the rights to use our software. You must provide a digital link to all source code for your users, including plugins. All plugins must be licensed in an AGPLv3 compatible fashion. We recommend the MIT license because that allows your plugins to be compatible with the AGPLv3 and our commercial license. You can also use a dual license similar to what we do indicating the AGPLv3 or a purchased OpenC3 Commercial license. The AGPLv3 license is often chosen because it works well for open core products like COSMOS. Competitors cannot take the open source product and license it under different terms. They would be forever locked into the AGPLv3 which is difficult to monetize, because your customers can take any code you provide and publish it on the internet for free use by everyone. As the copyright holder, OpenC3 is able to license the product and derivatives commercially. No-one else can do this. (OpenC3 is also able to license legacy Ball Aerospace COSMOS code under IP agreement) ","version":"Next","tagName":"h2"},{"title":"Evaluation and Education Use Only​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#evaluation-and-education-use-only","content":" This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: CFDP Plugin You can read the whole license here: # OpenC3 Evaluation and Educational License # # Copyright 2023 OpenC3, Inc. # # This work is licensed for evaluation and educational purposes only. # It may NOT be used for formal development, integration and test, operations # or any other commercial purpose without the purchase of a commercial license # from OpenC3, Inc. # # The above copyright notice and this permission notice shall be included in all copies # or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license. ","version":"Next","tagName":"h2"},{"title":"Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#commercial-license","content":" This license is a signed contract with OpenC3. It allows use of our code for a program under contractual terms where you do not have to follow the AGPLv3. Generally we license to a specific project with terms that allow for unlimited users, and installs as needed by that project. Any code and plugins that you develop under the commercial license can be kept proprietary. These licenses are sold as yearly subscriptions, or as a non-expiring perpetual license. We also offer site licenses, and licenses to support unlimited missions on a government framework architecture. Of course with our commercial license, you also get all the extra functionality of our Enterprise product. ","version":"Next","tagName":"h2"},{"title":"Why you should buy a Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#why-you-should-buy-a-commercial-license","content":" You want to save years and tens of millions of dollars developing the same functionality yourself. You want all of the Enterprise functionality of COSMOS Enterprise Edition User AccountsRole Based Access ControlLDAP SupportKubernetes SupportCloud Deployment ConfigurationsThe right to use CFDP and other Enterprise Only pluginsGrafana SupportSupport from the COSMOS DevelopersLots more - See our Enterprise page You don't want to follow the AGPLv3 You want to keep the code and plugins you develop proprietaryYou don't want to publish an accessible link to your source code You want to support the continued development and innovation of the COSMOS product We appreciate all of our commercial customers. You make OpenC3 possible. Thank you. ","version":"Next","tagName":"h3"},{"title":"FAQs​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#faqs","content":" I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean? OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3. What are the limits of the COSMOS Enterprise Edition? How many users can we have? How many times can it be installed? The COSMOS Enterprise Edition license has no user or installation limits. How is the COSMOS Enterprise Edition license enforced? The COSMOS Enterprise Edition license is enforced through contract only without license managers or additional software controls. How is the COSMOS Enterprise Edition license applied? Per company? Per program? COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at sales@openc3.com for more information. Do you license to foreign companies? How do you handle ITAR or the EAR? We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at sales@openc3.com for more information. ","version":"Next","tagName":"h2"},{"title":"Philosophy","type":0,"sectionRef":"#","url":"/docs/meta/philosophy","content":"Philosophy COSMOS is a C3 (Command, Control and Communication) system with the following primary goals: Interface with Anything COSMOS should be able to communicate with anything that provides a computer-to-computer interface, regardless of what the interface is. This means that COSMOS adapts to what other systems are doing and evolves over time. It does not publish an API that hardware must adhere to if it wants to communicate with COSMOS. Log Everything All data that flows into and out of COSMOS is logged. This provides history as well as attribution for what happened when and why. Keeping accurate logs is an essential and critical aspect of COSMOS. Open Architecture and Source Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation. Be Modular There are infinite number of things for COSMOS to connect to, but it is impossible to ship COSMOS with all the code it would need to talk to everything. For this reason, COSMOS is designed to be modular in all the places that matter. Use Configuration when Possible, and Code When Logic Is Needed Configuration is great for making COSMOS as usable as possible by non-software engineers. It also shows where common patterns exist. However, configuration is horrible when logic or custom math are needed. Empower Developers COSMOS is meant to be easy enough to be used by everyone, not just C2 software experts.","keywords":"","version":"Next"},{"title":"Screens","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry-screens","content":"","keywords":"","version":"Next"},{"title":"Definitions​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#definitions","content":" Name\tDefinitionWidget\tA widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task. Screen\tA screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion. Screen Definition File\tA screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them. ","version":"Next","tagName":"h2"},{"title":"Telemetry Screen Definition Files​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-screen-definition-files","content":" Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase. ","version":"Next","tagName":"h2"},{"title":"New Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#new-widgets","content":" When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the Custom Widgets guide. Screen Keywords ","version":"Next","tagName":"h2"},{"title":"SCREEN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#screen","content":" Define a telemetry viewer screen The SCREEN keyword is the first keyword in any telemetry screen definition. It defines the name of the screen and parameters that affect the screen overall. Parameter\tDescription\tRequiredWidth\tWidth in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Height\tHeight in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Polling Period\tNumber of seconds between screen updates\tTrue Example Usage: SCREEN AUTO AUTO 1.0 FIXED ","version":"Next","tagName":"h2"},{"title":"END​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#end","content":" Indicates the close of a layout widget All layout widgets must be closed to properly identify where they stop. For example, a VERTICALBOX keyword must be matched with an END keyword to indicate where the VERTICALBOX ends. ","version":"Next","tagName":"h2"},{"title":"STALE_TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#stale_time","content":" (Since 5.1.0) Values are marked stale if the packet time is more than Stale Time seconds in the past Parameter\tDescription\tRequiredvalue\tItems from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.\tTrue Example Usage: STALE_TIME 5 # Number of seconds to wait before marking data stale ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_setting","content":" Applies a widget setting to all widgets of a certain type Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_subsetting","content":" Applies a widget subsetting to all widgets of a certain type Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABELVALUE.\tTrue Subwidget Index\tIndex to the desired subwidget\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: # Set all text color to white for labelvaluelimitsbars GLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white ","version":"Next","tagName":"h2"},{"title":"SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#setting","content":" Applies a widget setting to the previously defined widget Settings allow for additional tweaks and options to be applied to widgets that are not available in their parameters. These settings are all configured through the SETTING, SUBSETTING, GLOBAL_SETTING and GLOBAL_SUBSETTING keywords. SETTING and SUBSETTING applies only to the widget defined immediately before it. GLOBAL_SETTING and GLOBAL_SUBSETTING applies to all widgets. Common wiget settings are defined here. Some widgets define their own unique settings which are documented under that specific widget. ","version":"Next","tagName":"h2"},{"title":"WIDTH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#width","content":" Sets the widget width WIDTH supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredWidth\tWidth in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING WIDTH 50 LABEL "THIS IS A TEST" SETTING WIDTH 20em ","version":"Next","tagName":"h3"},{"title":"HEIGHT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#height","content":" Sets the widget height HEIGHT supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredHeight\tHeight in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE SETTING HEIGHT 50 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING HEIGHT 2em ","version":"Next","tagName":"h3"},{"title":"MARGIN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#margin","content":" Sets the widget margin MARGIN supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING MARGIN 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"PADDING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#padding","content":" Sets the widget padding PADDING supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING PADDING 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"BACKCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#backcolor","content":" The BACKCOLOR setting sets the background color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR red LABEL "THIS IS A TEST" SETTING BACKCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"TEXTCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textcolor","content":" The TEXTCOLOR setting sets the text color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING TEXTCOLOR red LABEL "THIS IS A TEST" SETTING TEXTCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"BORDERCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#bordercolor","content":" The BORDERCOLOR setting sets the border color for a layout widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: HORIZONTAL LABEL "Label 1" END SETTING BORDERCOLOR red VERTICAL LABEL "Label 2" END SETTING BORDERCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"RAW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#raw","content":" Apply a raw CSS stylesheet key and value Parameter\tDescription\tRequiredKey\tCSS key like font-size, max-width, etc\tTrue Value\tCSS Value\tTrue Example Usage: LABEL "Label 1" SETTING RAW font-size 30px ","version":"Next","tagName":"h3"},{"title":"SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#subsetting","content":" Applies a widget subsetting to the previously defined widget Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredSubwidget Index\tIndex to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR green # Change the label's text to green END ","version":"Next","tagName":"h2"},{"title":"NAMED_WIDGET​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#named_widget","content":" Name a widget to allow access to it via the getNamedWidget method To programmatically access parts of a telemetry screen you need to name the widget. This is useful when creating screens with buttons that read values from other widgets. warning getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget Parameter\tDescription\tRequiredWidget Name\tThe unique name applied to the following widget instance. Names must be unique per screen.\tTrue Widget Type\tOne of the widget types listed in Widget Descriptions\tTrue Widget Parameters\tThe unique parameters for the given widget type\tTrue Example Usage: NAMED_WIDGET DURATION TEXTFIELD BUTTON "Push" "screen.getNamedWidget('DURATION').text()" ","version":"Next","tagName":"h2"},{"title":"Layout Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#layout-widgets","content":" Layout widgets are used to position other widgets on the screen. For example, the HORIZONTAL layout widget places the widgets it encapsulates horizontally on the screen. ","version":"Next","tagName":"h2"},{"title":"VERTICAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#vertical","content":" Places the widgets it encapsulates vertically The screen defaults to a vertical layout, so if no layout widgets are specified, all widgets will be automatically placed within a VERTICAL layout widget. The VERTICAL widget sizes itself to fit its contents. Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICAL 5px LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"VERTICALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#verticalbox","content":" Places the widgets it encapsulates vertically inside a thin border The VERTICALBOX widget sizes itself to fit its contents vertically and to fit the screen horizontally Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICALBOX Info LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontal","content":" Places the widgets it encapsulates horizontally The HORIZONTAL widget sizes itself to fit its contents Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTAL 100 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalbox","content":" Places the widgets it encapsulates horizontally inside a thin border The HORIZONTALBOX widget sizes itself to fit its contents Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTALBOX Info 10 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"MATRIXBYCOLUMNS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#matrixbycolumns","content":" Places the widgets into a table-like matrix The MATRIXBYCOLUMNS widget sizes itself to fit its contents Parameter\tDescription\tRequiredColumns\tThe number of columns to create\tTrue Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: MATRIXBYCOLUMNS 3 10 LABEL "COL 1" LABEL "COL 2" LABEL "COL 3" LABEL "100" LABEL "200" LABEL "300" END ","version":"Next","tagName":"h3"},{"title":"SCROLLWINDOW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#scrollwindow","content":" Places the widgets inside of it into a scrollable area The SCROLLWINDOW widget sizes itself to fit the screen in which it is contained Parameter\tDescription\tRequiredHeight\tMaximum height of the scroll window in pixels (default = 200)\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: SCROLLWINDOW 100 10 VERTICAL LABEL "100" LABEL "200" LABEL "300" LABEL "400" LABEL "500" LABEL "600" LABEL "700" LABEL "800" LABEL "900" END END ","version":"Next","tagName":"h3"},{"title":"TABBOOK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabbook","content":" Creates a tabbed area in which to place TABITEM widgets ","version":"Next","tagName":"h3"},{"title":"TABITEM​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabitem","content":" Creates a VERTICAL layout tab into which to place widgets Parameter\tDescription\tRequiredTab text\tText to display in the tab\tTrue Example Usage: TABBOOK TABITEM "Tab 1" LABEL "100" LABEL "200" END TABITEM "Tab 2" LABEL "300" LABEL "400" END END ","version":"Next","tagName":"h3"},{"title":"IFRAME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#iframe","content":" Open external tools in an Iframe within OpenC3 Parameter\tDescription\tRequiredURL\tThe path to the page to display in the iframe\tTrue Width\tWidth of the widget\tFalse Height\tHeight of the widget\tFalse Example Usage: IFRAME https://openc3.com 900 450 ","version":"Next","tagName":"h3"},{"title":"Decoration Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#decoration-widgets","content":" Decoration widgets are used to enhance the appearance of the screen. They do not respond to input, nor does the output vary with telemetry. ","version":"Next","tagName":"h2"},{"title":"LABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#label","content":" Displays text on the screen Generally, label widgets contain a telemetry mnemonic and are placed next to the telemetry VALUE widget. Parameter\tDescription\tRequiredText\tText to display on the label\tTrue Example Usage: LABEL "Note: This is only a warning" ","version":"Next","tagName":"h3"},{"title":"HORIZONTALLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalline","content":" (Since 5.5.1) Displays a horizontal line on the screen that can be used as a separator Example Usage: LABEL Over HORIZONTALLINE LABEL Under ","version":"Next","tagName":"h3"},{"title":"TITLE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#title","content":" Displays a large centered title on the screen Parameter\tDescription\tRequiredText\tText to display\tTrue Example Usage: TITLE "Title" HORIZONTALLINE LABEL "Label" ","version":"Next","tagName":"h3"},{"title":"SPACER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#spacer","content":" Places a fixed size spacer in between widgets Parameter\tDescription\tRequiredWidth\tWidth of the spacer in pixels\tTrue Height\tHeight of the spacer in pixels\tTrue Example Usage: VERTICAL 3 LABEL "Spacer below" SPACER 0 100 LABEL "Spacer above" END ","version":"Next","tagName":"h3"},{"title":"Telemetry Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-widgets","content":" Telemetry widgets are used to display telemetry values. The first parameters to each of these widgets is a telemetry mnemonic. Depending on the type and purpose of the telemetry item, the screen designer may select from a wide selection of widgets to display the value in the most useful format. ","version":"Next","tagName":"h2"},{"title":"ARRAY​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#array","content":" Displays ARRAY data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Items per row\tNumber of array items per row (default = 4)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED ARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS ","version":"Next","tagName":"h3"},{"title":"BLOCK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#block","content":" Displays BLOCK data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Bytes per word\tNumber of bytes per word (default = 4)\tFalse Words per row\tNumber of words per row (default = 4\tFalse Address format\tFormat for the address printed at the beginning of each line (default = nil which means do not print an address)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:" ","version":"Next","tagName":"h3"},{"title":"FORMATVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#formatvalue","content":" Displays a box with a formatted value Data is formatted by the specified string rather than by a format string given in the telemetry definition files. The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Format string\tPrintf style format string to apply to the telemetry item\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20 FORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20 ","version":"Next","tagName":"h3"},{"title":"LABELLED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelled","content":" Displays a LABEL followed by a LED Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Justification\tHow to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite. Valid Values: SPLIT, CENTER, LEFT, RIGHT\tFalse Example Usage: LABELLED INST PARAMS VALUE1 SETTING LED_COLOR GOOD GREEN SETTING LED_COLOR BAD RED The following settings apply to LABELLED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELPROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelprogressbar","content":" Displays a LABEL with the item name followed by a PROGRESSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 80 pixels\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW LABELPROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"LABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvalue","content":" Displays a LABEL with the item name followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUE INST LATEST TIMESEC CONVERTED 18 LABELVALUE INST LATEST COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUEDESC​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluedesc","content":" Displays a LABEL with the items description followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Description\tThe description to display in the label (default is to display the description text associated with the telemetry item)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18 LABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitsbar","content":" Displays a LABEL with the item name followed by VALUE and LIMITSBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitscolumn","content":" Displays a LABEL with the item name followed by VALUE and LIMITSCOLUMN widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LABELVALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluerangebar","content":" Displays a LABEL with the item name followed by VALUE and RANGEBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#led","content":" Displays a LED which changes color based on telemetry values By default TRUE is green and FALSE is red and all other values are black. Additional values can be added by using the LED_COLOR setting. For example LED INST PARAMS VALUE3 RAW can be followed by SETTING LED_COLOR 0 GREEN, SETTING LED_COLOR 1 RED, and SETTING LED_COLOR ANY ORANGE. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Example Usage: LED INST PARAMS VALUE5 RAW 25 20 # Ellipse SETTING LED_COLOR 0 GREEN SETTING LED_COLOR 1 RED SETTING LED_COLOR ANY YELLOW The following settings apply to LED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitsbar","content":" Displays an item's current value within its colored limits horizontally Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50 LIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolumn","content":" Displays an item's current value within its colored limits vertically Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200 LIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolor","content":" Displays a circle depicting the limits color of an item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Radius\tRadius of the circle (default is 10)\tFalse Full Item Name\tShow the full item name (default is false)\tFalse Example Usage: LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE LIMITSCOLOR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitsbar","content":" Displays an item VALUE followed by LIMITSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitscolumn","content":" Displays an item VALUE followed by LIMITSCOLUMN Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 8)\tFalse Example Usage: VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuerangebar","content":" Displays an item VALUE followed by RANGEBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 VALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LINEGRAPH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#linegraph","content":" Displays a line graph of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LINEGRAPH INST HEALTH_STATUS TEMP1 SETTING ITEM INST ADCS Q1 # Add additional item to graph The following settings apply to LINEGRAPH. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"SPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#sparkline","content":" Displays a sparkline graph (no cursor, scale or legend) of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: SPARKLINE INST HEALTH_STATUS TEMP1 SETTING SIZE 400 50 SETTING HISTORY 30s # Add 30 seconds of data into graph The following settings apply to SPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELSPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelsparkline","content":" Displays a LABEL with the item name followed by a SPARKLINE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LABELSPARKLINE INST HEALTH_STATUS TEMP1 SETTING HISTORY 5m # Add 5 minutes of data into graph The following settings apply to LABELSPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"IMAGEVIEWER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#imageviewer","content":" Display a base64 image from a TLM packet Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item.\tTrue Format\tThe image format of the base64 data (e.g. jpg, png, etc)\tTrue Example Usage: IMAGEVIEWER INST IMAGE IMAGE jpg ","version":"Next","tagName":"h3"},{"title":"PROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#progressbar","content":" Displays a progress bar that is useful for displaying percentages Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 100 pixels)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: PROGRESSBAR INST ADCS POSPROGRESS 0.5 200 PROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"RANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rangebar","content":" Displays a custom range bar displaying the item value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 100)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50 RANGEBAR INST HEALTH_STATUS TEMP1 -100 100 ","version":"Next","tagName":"h3"},{"title":"ROLLUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rollup","content":" (Since 5.17.1) Displays a notification icon which changes color based on a rollup telemetry Parameter\tDescription\tRequiredIcon name\tThe astro UX icon to display. Valid choices are 'astro' icons taken from https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json.\tTrue Icon label\tText to apply to the icon label\tFalse Icon sublabel\tText to apply to the icon sublabel\tFalse Example Usage: ROLLUP satellite-transmit "SAT 1" "Details" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP1 SETTING TLM INST HEALTH_STATUS TEMP2 ROLLUP antenna "GND 2" "Location" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP3 SETTING TLM INST HEALTH_STATUS TEMP4 ","version":"Next","tagName":"h3"},{"title":"SIGNAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#signal","content":" (Since 5.17.2) Displays a cellular signal icon which changes based on telemetry value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Example Usage: SIGNAL INST HEALTH_STATUS TEMP1 # Screen to open on click SETTING SCREEN INST HS # Values to compare when setting the 1-bar, 2-bar and 3-bar icons # Default is 30, 60, 90 (e.g. 0 to 100 range) # Value < -50 display no bars # Value >= -50 and < 0 displays 1 bar # Value >= 0 and < 50 displays 2 bars # Value >= 50 displays 5 bars SETTING RANGE -50 0 50 ","version":"Next","tagName":"h3"},{"title":"TEXTBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textbox","content":" Provides a large box for multiline text Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the textbox in px (default = 200)\tFalse Height\tHeight of the textbox in px (default = 200)\tFalse Example Usage: TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70 ","version":"Next","tagName":"h3"},{"title":"VALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#value","content":" Displays a box with a telemetry item value The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUE INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"Interactive Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#interactive-widgets","content":" Interactive widgets are used to gather input from the user. Unlike all other widgets, which only output some graphical representation, interactive widgets permit input either from the keyboard or mouse. ","version":"Next","tagName":"h2"},{"title":"BUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#button","content":" Displays a rectangular clickable button Upon clicking, the button executes the Javascript code assigned. Buttons can be used to send commands and perform other tasks. If you want your button to use values from other widgets, define them as named widgets and read their values using the screen.getNamedWidget("WIDGET_NAME").text() method. See the example in CHECKBUTTON. Button code can get rather complex so remember to use string concatenation to make things more readable. If you use + newlines are inserted automatically during string concatenation. If you use \\ you'll need to separate lines with a single semicolon ;. COSMOS uses double semicolon ;; to indicate lines should be evaluated separately. Note that all OpenC3 commands (using api.cmd) must be separated by ;;. You can send commands with buttons using api.cmd(). The cmd() syntax looks exactly like the standard COSMOS scripting syntax. You can also request and use telemetry in screens using Javascript Promises. api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))" The api.tlm() function returns a Promise which is resolved with then() at which point we send the command with the telemetry value we received. Scripts can be launched from a BUTTON using the runScript() method. runScript() takes three parameters, the name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of environment variables. For example: runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'}) Parameter\tDescription\tRequiredButton Text\tText displayed on the button\tTrue Button Code\tJavascript code to execute when the button is pressed\tTrue Example Usage: BUTTON 'Start Collect' 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION 5")' BUTTON 'Run Checks' 'runScript("INST/procedures/checks.rb")' # More complex example with background checkbox and env vars NAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb NAMED_WIDGET BG CHECKBUTTON 'Background' BUTTON 'Run Script' "var script=screen.getNamedWidget('SCRIPTNAME').text();" \\ # Set an environment variable to be used by the script as ENV['TYPE'] "var env = {}; env['TYPE'] = 'TEST';" \\ "runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)" ","version":"Next","tagName":"h3"},{"title":"CHECKBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#checkbutton","content":" Displays a check box Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredCheckbox Text\tText displayed next to the checkbox\tTrue Example Usage: NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' BUTTON 'Send' 'screen.getNamedWidget("CHECK").checked() ? ' \\ 'api.cmd_no_hazardous_check("INST CLEAR") : api.cmd("INST CLEAR")' ","version":"Next","tagName":"h3"},{"title":"COMBOBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#combobox","content":" Displays a drop down list of text items Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredOption Text 1\tText to display in the selection drop down\tTrue Option Text n\tText to display in the selection drop down\tFalse Example Usage: BUTTON 'Start Collect' 'var type = screen.getNamedWidget("COLLECT_TYPE").text();' + 'api.cmd("INST COLLECT with TYPE "+type+", DURATION 10.0")' NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL ","version":"Next","tagName":"h3"},{"title":"DATE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#date","content":" Displays a date picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredDate label\tText to label the data selection ('Date' by default)\tFalse Example Usage: BUTTON 'Alert Date' 'var date = screen.getNamedWidget("DATE").text();' + 'alert("Date:"+date)' NAMED_WIDGET DATE DATE ","version":"Next","tagName":"h3"},{"title":"RADIOGROUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiogroup","content":" Creates a group of RADIOBUTTONs RADIOBUTTONs must be part of a group to enable selection logic Parameter\tDescription\tRequiredInitial selected button\tSelects a radio button at initialization (0-based)\tFalse ","version":"Next","tagName":"h3"},{"title":"RADIOBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiobutton","content":" Displays a radio button and text Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. It must be contained by a RADIOGROUP to enable typical selection of a single RADIOBUTTON. Parameter\tDescription\tRequiredText\tText to display next to the radio button\tTrue Example Usage: NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? " + "api.cmd('INST ABORT') : api.cmd('INST CLEAR')" ","version":"Next","tagName":"h3"},{"title":"TEXTFIELD​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textfield","content":" Displays a rectangular box where the user can enter text Parameter\tDescription\tRequiredCharacters\tWidth of the text field in characters (default = 12)\tFalse Text\tDefault text to put in the text field (default is blank)\tFalse Example Usage: NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" BUTTON 'Start Collect' 'var dur = screen.getNamedWidget("DURATION").text();' + 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")' ","version":"Next","tagName":"h3"},{"title":"TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#time","content":" Displays a time picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredTime label\tText to label the time selection ('Time' by default)\tFalse Example Usage: BUTTON 'Alert Time' 'var time = screen.getNamedWidget("TIME").text();' + 'alert("Time:"+time)' NAMED_WIDGET TIME TIME ","version":"Next","tagName":"h3"},{"title":"Canvas Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas-widgets","content":" Canvas Widgets are used to draw custom displays into telemetry screens. The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. ","version":"Next","tagName":"h2"},{"title":"CANVAS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas","content":" Layout widget for the other canvas widgets All canvas widgets must be enclosed within a CANVAS widget. warning The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. Parameter\tDescription\tRequiredWidth\tWidth of the canvas\tTrue Height\tHeight of the canvas\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabel","content":" Draws text onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Text\tText to draw onto the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Example Usage: CANVAS 100 100 CANVASLABEL 5 34 "Label1" 24 red CANVASLABEL 5 70 "Label2" 18 blue END ","version":"Next","tagName":"h3"},{"title":"CANVASLABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabelvalue","content":" Draws the text value of a telemetry item onto the canvas in an optional frame Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue X Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 200 100 CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS END ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimage","content":" Displays an image on the canvas Parameter\tDescription\tRequiredImage filename\tName of a image file. The file must be in the plugin's targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Example Usage: CANVAS 250 430 CANVASIMAGE "satellite.png" 10 10 200 200 SETTING SCREEN INST HS CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150 END The following settings apply to CANVASIMAGE. They are applied using the SETTING keyword. SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimagevalue","content":" Displays an image on the canvas that changes with a telemetry value Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tTrue Default image filename\tThe default image to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Image width\tWidth of the image (default is 100%)\tFalse Image height\tHeight of the image (default is 100%)\tFalse Example Usage: CANVAS 230 230 CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180 SETTING IMAGE CONNECTED "ground_on.png" 10 10 SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10 SETTING SCREEN INST HS END The following settings apply to CANVASIMAGEVALUE. They are applied using the SETTING keyword. IMAGE​ Map an image to a state or value Parameter\tDescription\tRequiredValue\tState or value\tTrue Image filename\tImage to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasline","content":" Draws a line onto the canvas Parameter\tDescription\tRequiredStart X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Color\tColor of the line\tFalse Width\tWidth of the line in pixels (default = 1)\tFalse Example Usage: CANVAS 100 50 CANVASLINE 5 5 95 5 CANVASLINE 5 5 5 45 green 2 CANVASLINE 95 5 95 45 blue 3 END ","version":"Next","tagName":"h3"},{"title":"CANVASLINEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslinevalue","content":" Draws a color changing line onto the canvas The line is represented by one of two colors based on the value of the associated telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Start X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Width\tWidth of the line in pixels (default = 3)\tFalse Value type\tThe type of the value to display. Default is CONVERTED Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 120 50 CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW SETTING VALUE_EQ 1 GREEN SETTING VALUE_EQ 0 RED CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45 SETTING VALUE_EQ CONNECTED GREEN SETTING VALUE_EQ UNAVAILABLE RED END The following settings apply to CANVASLINEVALUE. They are applied using the SETTING keyword. VALUE_EQ​ (Since 5.5.1) Map a value to a color Parameter\tDescription\tRequiredValue\tState or value\tTrue Color\tColor of the line\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASDOT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasdot","content":" Draws a dot onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the dot\tTrue Y Position\tY position of the dot\tTrue Color\tColor of the dot\tTrue Radius\tRadius of the dot in pixels\tTrue Example Usage: CANVAS 50 50 CANVASDOT 10 15 BLUE 5 END ","version":"Next","tagName":"h3"},{"title":"Example File​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#example-file","content":" Example File: TARGET/myscreen.txt SCREEN AUTO AUTO 0.5 VERTICAL TITLE "<%= target_name %> Commanding Examples" LABELVALUE INST HEALTH_STATUS COLLECTS LABELVALUE INST HEALTH_STATUS COLLECT_TYPE LABELVALUE INST HEALTH_STATUS DURATION VERTICALBOX "Send Collect Command:" HORIZONTAL LABEL "Type: " NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL END HORIZONTAL LABEL " Duration: " NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" END BUTTON 'Start Collect' "api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())" END SETTING BACKCOLOR 163 185 163 VERTICALBOX "Parameter-less Commands:" NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))" END SETTING BACKCOLOR 163 185 163 END ","version":"Next","tagName":"h2"},{"title":"Contributing","type":0,"sectionRef":"#","url":"/docs/meta/contributing","content":"","keywords":"","version":"Next"},{"title":"Test Dependencies​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#test-dependencies","content":" To run the test suite and build the gem you'll need to install COSMOS's dependencies. COSMOS uses Bundler, so a quick run of the bundle command and you're all set! \\$ bundle Before you start, run the tests and make sure that they pass (to confirm your environment is configured properly): \\$ bundle exec rake build spec ","version":"Next","tagName":"h2"},{"title":"Workflow​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#workflow","content":" Here's the most direct way to get your work merged into the project: Fork the project.Clone down your fork: git clone git://github.com/<username>/openc3.git Create a topic branch to contain your change: git checkout -b my_awesome_feature Hack away, add tests. Not necessarily in that order.Make sure everything still passes by running bundle exec rake.If necessary, rebase your commits into logical chunks, without errors.Push the branch up: git push origin my_awesome_feature Create a pull request against openc3/cosmos:main and describe what your change does and the why you think it should be merged. Find a problem in the code or documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h2"},{"title":"XTCE Support","type":0,"sectionRef":"#","url":"/docs/meta/xtce","content":"","keywords":"","version":"Next"},{"title":"Running COSMOS using an .xtce definition file​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#running-cosmos-using-an-xtce-definition-file","content":" A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions. ","version":"Next","tagName":"h2"},{"title":"Converting a .xtce file into a COSMOS configuration​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-xtce-file-into-a-cosmos-configuration","content":" Use the following command to convert a .xtce file into COSMOS configuration files. The converted configuration files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --import <xtce_filename> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"Converting a COSMOS Configuration to XTCE​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-cosmos-configuration-to-xtce","content":" Use the following command to convert your openc3 plugin into .xtce files, one per target. The converted .xtce files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --plugin <plugin.gem> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"High-level Overview of Current Support​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#high-level-overview-of-current-support","content":" Integer, Float, Enumerated, String, and Binary Parameter/Argument Types are SupportedAll DataEncodings are supportedTelemetry and Commands are SupportedPacket Identification is supportedStates are supportedUnits are supportedPolynomialCalibrators are supportedOnly one SpaceSystem per .xtce filePackets should not have gaps between items ","version":"Next","tagName":"h2"},{"title":"Supported Elements and Attributes​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#supported-elements-and-attributes","content":" The following elements and associated attributes are currently supported. SpaceSystemTelemetryMetaDataCommandMetaDataParameterTypeSetEnumerationListParameterSetContainerSetEntryListDefaultCalibratorDefaultAlarmRestrictionCriteriaComparisonListMetaCommandSetDefaultCalibratorArgumentTypeSetArgumentListArgumentAssignmentListEnumeratedParameterTypeEnumeratedArgumentTypeIntegerParameterTypeIntegerArgumentTypeFloatParameterTypeFloatArgumentTypeStringParameterTypeStringArgumentTypeBinaryParameterTypeBinaryArgumentTypeIntegerDataEncodingFloatDataEncodingStringDataEncodingBinaryDataEncoding'SizeInBitsFixedValueUnitSetUnitPolynomialCalibratorTermStaticAlarmRangesWarningRangeCriticalRangeValidRangeEnumerationParameterArgumentParameterPropertiesSequenceContainerBaseContainerLongDescriptionParameterRefEntryArgumentRefEntryBaseMetaCommandComparisonMetaCommandBaseMetaCommandCommandContainerArgumentAssignment ","version":"Next","tagName":"h2"},{"title":"Ignored Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#ignored-elements","content":" The following elements are simply ignored by COSMOS: HeaderAliasSetAlias ","version":"Next","tagName":"h2"},{"title":"Unsupported Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#unsupported-elements","content":" Any elements not listed above are currently unsupported. Near term support for the following elements and features are planned and priority will be determined by user requests. SplineCalibratorAlternate methods of specifying offsets into containersOutput to the XUSP standardAdditional Data TypesContainer References If there is a particular element or feature you need supported please submit a ticket on Github. ","version":"Next","tagName":"h2"},{"title":"OpenC3, Inc. Privacy Policy","type":0,"sectionRef":"#","url":"/docs/privacy","content":"","keywords":"","version":"Next"},{"title":"Our Commitment​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#our-commitment","content":" • Your information will not be shared, rented or sold to any third party. • We use state-of-the-art security measures to protect your information from unauthorized users. • We give you the possibility to control the information that you shared with us (opt-out) OpenC3, Inc. is committed to processing data in accordance with its responsibilities under the GDPR. Article 5 of the GDPR requires that personal data shall be: a. processed lawfully, fairly and in a transparent manner in relation to individuals; b. collected for specified, explicit and legitimate purposes and not further processed in a manner that is incompatible with those purposes; further processing for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes shall not be considered to be incompatible with the initial purposes; c. adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed; d. accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay; e. kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and f. processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.” ","version":"Next","tagName":"h2"},{"title":"1. Notice​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#1-notice","content":" We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services. ","version":"Next","tagName":"h2"},{"title":"2. Usage​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#2-usage","content":" We use your personal information for the following purposes: • To provide you information that will allow you to use our services • To automatically customize your documents with your information • To alert you of software upgrades, updates, discounts or other services from OpenC3, Inc. We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers. We may also collect your name, language, currency, operating system, document searched and country information for a better experience with our products/services. When you place your order with us, we collect your email in order to communicate with you. We also collect your phone number in order to contact you in case these emails bounce back because of a typo in your email address and if we cannot figure out what the correct email address is. We also contact the phone number that is provided if we suspect that the cardholder’s credit card information has been compromised, i.e used in a fraudulent way. We also use our clients’ email in order to notify of the release of updated versions of the software, new services or promotional offers. ","version":"Next","tagName":"h2"},{"title":"3. Consent​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#3-consent","content":" When you provide your personal information, you consent that it can be used for the above purposes and that OpenC3, Inc. is an authorized holder of such information. If you choose not to register or provide personal information, you can still use our website but you will not be able to receive additional services or access certain areas that require registration. When you activate your account, you are providing your consent to occasionally receive information from us. In each communication from us you will have the opportunity to unsubscribe from further communications; alternatively, you may contact us to express your choices at the address provided at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"4. Access to your information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#4-access-to-your-information","content":" You are entitled to review the personal information you have provided us and ensure that it is accurate and current at all times. To review or update this information simply request that we send you this information. ","version":"Next","tagName":"h2"},{"title":"5. Security of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#5-security-of-information","content":" OpenC3, Inc. is strongly committed to protecting your information and ensuring that your choices are honored. We have taken strong security measures to protect your data from loss, misuse, unauthorized access, disclosure, alteration, or destruction. All sensitive data is stored behind multiple firewalls on secure servers with restricted employee access. We guarantee that all e-commerce transactions follow the latest security measures and use the best available technologies. Secure Sockets Layer (SSL) technology is employed when you place online orders or transmit sensitive information. SSL is one of the safest methods of passing information over the Internet. ","version":"Next","tagName":"h2"},{"title":"6. Retention of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#6-retention-of-information","content":" We retain information as long as it is necessary to provide the services requested by you and others, subject to any legal obligations to further retain such information. Information associated with your account will generally be kept until it is no longer necessary to provide the services or until you ask us to delete it or your account is deleted whichever comes first. Additionally, we may retain information from deleted accounts to comply with the law, prevent fraud, resolve disputes, troubleshoot problems, assist with investigations, enforce the Terms of Use, and take other actions permitted by law. The information we retain will be handled in accordance with this Privacy Policy. Finally, your data could also be stored for sales statistical purposes. ","version":"Next","tagName":"h2"},{"title":"7. EU and EEA Users’ Rights​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#7-eu-and-eea-users-rights","content":" If you are habitually located in the European Union or European Economic Area, you have the right to access, rectify, download or erase your information, as well as the right to restrict and object to certain processing of your information. While some of these rights apply generally, certain rights apply only in certain limited circumstances. We describe these rights below: You have the right to access your personal data and, if necessary, have it amended or deleted or restricted. In certain instances, you may have the right to the portability of your data. You can also ask us to not send marketing communications and not to use your personal data when we carry out profiling for direct marketing purposes. You can opt out of receiving email newsletters and other marketing communications by following the opt-out instructions provided to you in those emails. Transactional account messages will be unaffected if you opt-out from marketing communications. ","version":"Next","tagName":"h2"},{"title":"8. What we do with the Information you share​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#8-what-we-do-with-the-information-you-share","content":" Your information is never shared outside the company without your permission. Inside the company, data is stored behind multiple firewalls on secure servers with restricted user access. When you register to our website, you are asked to provide your contact information, including a valid email address. We use this information to send you updates about order confirmations and information about our services. When you order from us, we ask for your credit card number and billing address. We use this information only to bill you for the product(s) you ordered at that time. We may on occasion require the help of other companies to provide limited services on our behalf, such as packaging, shipping and delivery, customer support and processing event registrations. We will only provide such companies with the information required for them to perform these services; these service providers are bound by strict privacy policies and are prohibited from using your information for any other purpose. In very rare instances OpenC3, Inc. may disclose your personal information, without notice, only if required to do so by law or in the good faith belief that such action is necessary to: (a) conform to the edicts of the law or comply with legal process served on OpenC3, Inc. or the site; (b) protect and defend the rights or property of OpenC3, Inc. and its family of websites and properties; and (c) act in urgent circumstances to protect the personal safety of users of OpenC3, Inc., its websites, or the public. ","version":"Next","tagName":"h2"},{"title":"9. How to opt-out​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#9-how-to-opt-out","content":" We provide users with the opportunity to opt-out from receiving updates on our products, newsletters and other communications from us. You can opt-out by clicking on the link provided in our electronic mailings or by contacting us at the address at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"10. Does OpenC3 Inc's privacy policy apply to linked websites?​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#10-does-openc3-incs-privacy-policy-apply-to-linked-websites","content":" Our Privacy Policy applies solely to information collected on our website or through interactions with our company. The Site contains links to web sites of third parties. OpenC3, Inc. is not responsible for the actions of these third parties, including their privacy practices and any content posted on their web sites. We encourage you to review their privacy policies to learn more about what, why and how they collect and use personal information. OpenC3, Inc. adheres to industry recognized standards to secure any personal information in our possession, and to secure it from unauthorized access and tampering. However, as is true with all online actions, it is possible that third parties may unlawfully intercept transmissions of personal information, or other users of the Site may misuse or abuse your personal information that they may collect from the Site. ","version":"Next","tagName":"h2"},{"title":"11. Changes to this policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#11-changes-to-this-policy","content":" If we make changes to our Privacy Policy, we will post these changes here so that you are always aware of what information we collect, how we use it and under what circumstances, if any, we disclose it. If at any point we decide to use your information in a manner different from that stated at the time it was collected, we will notify you by email. ","version":"Next","tagName":"h2"},{"title":"12. Enforcement of policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#12-enforcement-of-policy","content":" If for some reason you believe OpenC3, Inc. has not adhered to these principles, please notify us and we will do our best to promptly make corrections. ","version":"Next","tagName":"h2"},{"title":"13. Questions or comments​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#13-questions-or-comments","content":" If you have questions or comments about this privacy policy, please email us at: support@openc3.com For additional information about how to contact OpenC3, Inc. please visit our help page. Dated: August 11th, 2022 ","version":"Next","tagName":"h2"},{"title":"Script Writing Guide","type":0,"sectionRef":"#","url":"/docs/guides/script-writing","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#introduction","content":" This guide aims to provide the best practices for using the scripting capabilities provided by COSMOS. Scripts are used to automate a series of activities for operations or testing. The goal of this document is to ensure scripts are written that are simple, easy to understand, maintainable, and correct. Guidance on some of the key details of using the COSMOS Script Runner is also provided. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#concepts","content":" COSMOS supports both Ruby and Python for writing scripts. Ruby and Python are very similar scripting languages and most of this guide applies directly to both. Where examples are used, both a Ruby and Python example are given. ","version":"Next","tagName":"h2"},{"title":"Ruby vs Python in COSMOS​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#ruby-vs-python-in-cosmos","content":" There are many similarities and a few key differences between Ruby and Python when it comes to writing COSMOS scripts. There is no 80 character limit on line length. Lines can be as long as you like, but be careful to not make them too long as it makes printed reviews of scripts more difficult.Indentation white space: Ruby: Not significant. Ruby uses the end keyword to determine indented code blocks with a standard of 2 spaces.Python: Significant. Python uses indentation to determine code blocks with a standard of 4 spaces. Variables do not have to be declared ahead of time and can be reassigned later, i.e. Ruby and Python are dynamically typed.Variable interpolation: Ruby: Variable values can be placed into strings using the "#{variable}" syntax.Python: Variable values can be placed into f-strings using the f"{variable}" syntax. A variable declared inside of a block or loop will not exist outside of that block unless it was already declared. Both languages provides a script writer a lot of power. But with great power comes great responsibility. Remember when writing your scripts that you or someone else will come along later and need to understand them. Therefore use the following style guidelines: Use consistent spacing for indentation and do NOT use tabsConstants should be all caps with underscores SPEED_OF_LIGHT = 299792458 # meters per s Variable names and method names should be in lowercase with underscores last_name = "Smith"perform_setup_operation() Class names (when used) should be camel case and the files which contain them should match but be lowercase with underscores class DataUploader # in 'data_uploader.rb'class CcsdsUtility: # in 'ccsds_utility.py' Don't add useless comments but instead describe intent The following is an example of good Ruby style: load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing load_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target) cmd("#{target} CLEAR") wait_check("#{target} HEALTH_STATUS COLLECTS == 0", 5) end ###################################### # START ###################################### helper = HelperUtility.new helper.setup # Perform collects on all the targets OUR_TARGETS.each do |target| collects = tlm("#{target} HEALTH_STATUS COLLECTS") cmd("#{target} COLLECT with TYPE SPECIAL") wait_check("#{target} HEALTH_STATUS COLLECTS == #{collects + 1}", 5) end clear_collects('INST') clear_collects('INST2') The following is an example of good Python style: from openc3.script import * import TARGET.lib.upload_utility # library we do NOT want to show executing load_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target): cmd(f"{target} CLEAR") wait_check(f"{target} HEALTH_STATUS COLLECTS == 0", 5) ###################################### # START ###################################### helper = HelperUtility() helper.setup() # Perform collects on all the targets for target in OUR_TARGETS: collects = tlm(f"{target} HEALTH_STATUS COLLECTS") cmd(f"{target} COLLECT with TYPE SPECIAL") wait_check(f"{target} HEALTH_STATUS COLLECTS == {collects + 1}", 5) clear_collects('INST') clear_collects('INST2') Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening. Next we declare our constants and create an array of strings which we store in OUR_TARGETS. Notice the constant is all uppercase with underscores. Then we declare our local methods of which we have one called clear_collects. Please provide a comment at the beginning of each method describing what it does and the parameters that it takes. The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded. The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket # notation and python f-string f" notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment. Finally we call our 'clear_collects' method on each target by passing the target name. ","version":"Next","tagName":"h3"},{"title":"Scripting Philosophy​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#scripting-philosophy","content":" ","version":"Next","tagName":"h2"},{"title":"A Super Basic Script Example​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#a-super-basic-script-example","content":" Most COSMOS scripts can be broken down into the simple pattern of sending a command to a system/subsystem and then verifying that the command worked as expected. This pattern is most commonly implemented with cmd() followed by wait_check(), like the following: cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS TYPE == 'NORMAL'", 5) or similarly with a counter that is sampled before the command. Ruby: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5) Python: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5) 90% of the COSMOS scripts you write should be the simple patterns shown above except that you may need to check more than one item after each command to make sure the command worked as expected. ","version":"Next","tagName":"h3"},{"title":"KISS (Keep It Simple Stupid)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#kiss-keep-it-simple-stupid","content":" Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions. ","version":"Next","tagName":"h3"},{"title":"Keep things DRY (Don't Repeat Yourself)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#keep-things-dry-dont-repeat-yourself","content":" A widespread problem in scripts written for any command and control system is large blocks of code that are repeated multiple times. In extreme cases, this has led to 100,000+ line scripts that are impossible to maintain and review. There are two common ways repetition presents itself: exact blocks of code to perform a common action such as powering on a subsystem, and blocks of code that only differ in the name of the mnemonic being checked or the values checked against. Both are solved by removing the repetition using methods (or functions). For example, a script that powers on a subsystem and ensures correct telemetry would become: Ruby: def power_on_subsystem # 100 lines of cmd(), wait_check(), etc end Python: def power_on_subsystem(): # 100 lines of cmd(), wait_check(), etc Ideally, the above methods would be stored in another file where it could be used by other scripts. If it is truly only useful in the one script, then it could be at the top of the file. The updated script would then look like: power_on_subsystem() # 150 lines operating the subsystem (e.g.) # cmd(...) # wait_check(...) #... power_off_subystem() # Unrelated activities power_on_subsystem() # etc. Blocks of code where only the only variation is the mnemonics or values checked can be replaced by methods with arguments. Ruby: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp) cmd("TARGET #{enable_cmd_name} with ENABLE TRUE") wait_check("TARGET #{enable_tlm} == 'TRUE'", 5) wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50) end Python: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp): cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE") wait_check(f"TARGET {enable_tlm} == 'TRUE'", 5) wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50) ","version":"Next","tagName":"h3"},{"title":"Use Comments Appropriately​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#use-comments-appropriately","content":" Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line. # This line sends an abort command - BAD COMMENT, UNNECESSARY cmd("INST ABORT") # Rotate the gimbal to look at the calibration target - GOOD COMMENT cmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT ","version":"Next","tagName":"h3"},{"title":"Script Runner​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-runner","content":" COSMOS provides two unique ways to run scripts (also known as procedures). Script Runner provides both a script execution environment and a script editor. The script editor includes code completion for both COSMOS methods and command/telemetry item names. It is also a great environment to develop and test scripts. Script Runner provides a framework for users that are familiar with a traditional scripting model with longer style procedures, and for users that want to be able to edit their scripts in place. When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc. The correct environment for the job is up to individual users, and many programs will use both script formats to complete their goals. ","version":"Next","tagName":"h3"},{"title":"Looping vs Unrolled Loops​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#looping-vs-unrolled-loops","content":" Loops are powerful constructs that allow you to perform the same operations multiple times without having to rewrite the same code over and over (See the DRY Concept). However, they can make restarting a COSMOS script at the point of a failure difficult or impossible. If there is a low probability of something failing, then loops are an excellent choice. If a script is running a loop over a list of telemetry points, it may be a better choice to “unroll” the loop by making the loop body into a method, and then calling that method directly for each iteration of a loop that would have occurred. Ruby: 10.times do |temperature_number| check_temperature(temperature_number + 1) end Python: for temperature_number in range(1, 11): check_temperature(temperature_number) If the above script was stopped after temperature number 3, there would be no way to restart the loop at temperature number 4. A better solution for small loop counts is to unroll the loop. check_temperature(1) check_temperature(2) check_temperature(3) check_temperature(4) check_temperature(5) check_temperature(6) check_temperature(7) check_temperature(8) check_temperature(9) check_temperature(10) In the unrolled version above, the COSMOS “Start script at selected line” feature can be used to resume the script at any point. ","version":"Next","tagName":"h3"},{"title":"Script Organization​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-organization","content":" All scripts must be part of a Plugin. You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing. ","version":"Next","tagName":"h2"},{"title":"Organizing Your Scripts into a Plugin​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organizing-your-scripts-into-a-plugin","content":" As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures. Folder\tDescriptiontargets/TARGET_NAME/lib\tPlace script files containing reusable target specific methods here targets/TARGET_NAME/procedures\tPlace simple procedures that are centered around one specific target here In your main procedure you will usually bring in the other files with instrumentation using load_utility. # Ruby: load_utility('TARGET/lib/my_other_script.rb') # Python: load_utility('TARGET/procedures/my_other_script.py') ","version":"Next","tagName":"h3"},{"title":"Organize Scripts into Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organize-scripts-into-methods","content":" Put each activity into a distinct method. Putting your scripts into methods makes organization easy and gives a great high-level overview of what the overall script does (assuming you name the methods well). There are no bonus points for vague, short method names. Make your method names long and clear. Ruby: def test_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end def script_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end Python: def test_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here def script_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here ","version":"Next","tagName":"h3"},{"title":"Using Classes vs Unscoped Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-classes-vs-unscoped-methods","content":" Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class. NOTE: The convention in COSMOS is to have a TARGET/lib/target.[rb/py] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory. Ruby: class Gimbal attr_accessor :gimbal_steps def initialize() @gimbal_steps = 0 end def move(steps_to_move) # Move the gimbal @gimbal_steps += steps_to_move end def home_gimbal # Home the gimbal @gimbal_steps = 0 end end def perform_common_math(x, y) x + y end gimbal = Gimbal.new gimbal.home_gimbal gimbal.move(100) gimbal.move(200) puts "Moved gimbal #{gimbal.gimbal_steps}" result = perform_common_math(gimbal.gimbal_steps, 10) puts "Math:#{result}" Python: class Gimbal: def __init__(self): self.gimbal_steps = 0 def move(self, steps_to_move): # Move the gimbal self.gimbal_steps += steps_to_move def home_gimbal(self): # Home the gimbal self.gimbal_steps = 0 def perform_common_math(x, y): return x + y gimbal = Gimbal() gimbal.home_gimbal() gimbal.move(100) gimbal.move(200) print(f"Moved gimbal {gimbal.gimbal_steps}") result = perform_common_math(gimbal.gimbal_steps, 10) print(f"Math:{result}") ","version":"Next","tagName":"h3"},{"title":"Instrumented vs Uninstrumented Lines (require vs load)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#instrumented-vs-uninstrumented-lines-require-vs-load","content":" COSMOS scripts are normally “instrumented”. This means that each line has some extra code added behind the scenes that primarily highlights the current executing line and catches exceptions if things fail such as a wait_check. If your script needs to use code in other files, there are a few ways to bring in that code. Some techniques bring in instrumented code and others bring in uninstrumented code. There are reasons to use both. load_utility (and the deprecated require_utility), bring in instrumented code from other files. When COSMOS runs the code in the other file, Script Runner will dive into the other file and show each line highlighted as it executes. This should be the default way to bring in other files, as it allows continuing if something fails, and provides better visibility to operators. However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the “load” keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. “require” is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not. In Python, libraries are included using the import syntax. Any code imported using import is not instrumented. Only the code imported using load_utility is instrumented. Finally, COSMOS scripting has a special syntax for disabling instrumentation in the middle of an instrumented script, with the disable_instrumentation method. This allows you to disable instrumentation for large loops and other activities that are too slow when running instrumented. Ruby: temp = 0 disable_instrumentation do # Make sure nothing in here will raise exceptions! 5000000.times do temp += 1 end end puts temp Python: temp = 0 with disable_instrumentation(): # Make sure nothing in here will raise exceptions! for x in range(0,5000000): temp += 1 print(temp) When Running Uninstrumented Code Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop. ","version":"Next","tagName":"h3"},{"title":"Debugging and Auditing​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#debugging-and-auditing","content":" ","version":"Next","tagName":"h2"},{"title":"Built-In Debugging Capabilities​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#built-in-debugging-capabilities","content":" Script Runner has built in debugging capabilities that can be useful in determining why your script is behaving in a certain way. Of primary importance is the ability to inspect and set script variables. To use the debugging functionality, first select the “Toggle Debug” option from the Script Menu. This will add a small Debug: prompt to the bottom of the tool. Any code entered in this prompt will be executed when Enter is pressed. To inspect variables in a running script, pause the script and then type the variable name to print out the value of the variable in the debug prompt. variable_name Variables can also be set simply by using equals. variable_name = 5 If necessary, you can also inject commands from the debug prompt using the normal commanding methods. These commands will be logged to the Script Runner message log, which may be advantageous over using a different COSMOS tool like CmdSender (where the command would only be logged in the CmdTlmServer message log). cmd("INST COLLECT with TYPE NORMAL") Note that the debug prompt keeps the command history and you can scroll through the history by using the up and down arrows. ","version":"Next","tagName":"h3"},{"title":"Breakpoints​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#breakpoints","content":" You can click the line number (left side gutter) in Script Runner to add a breakpoint. The script will automatically pause when it hits the breakpoint. Once stopped at the breakpoint, you can evaluate variables using the Debug line. ","version":"Next","tagName":"h3"},{"title":"Using Disconnect Mode​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-disconnect-mode","content":" Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments. While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware. ","version":"Next","tagName":"h3"},{"title":"Auditing your Scripts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#auditing-your-scripts","content":" Script Runner includes several tools to help audit your scripts both before and after execution. Ruby Syntax Check​ The Ruby Syntax Check tool is found under the Script Menu. This tool uses the ruby executable with the -c flag to run a syntax check on your script. If any syntax errors are found the exact message presented by the Ruby interpreter is shown to the user. These can be cryptic, but the most common faults are not closing a quoted string, forgetting an “end” keyword, or using a block but forgetting the proceeding “do” keyword. ","version":"Next","tagName":"h3"},{"title":"Common Scenarios​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-scenarios","content":" ","version":"Next","tagName":"h2"},{"title":"User Input Best Practices​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#user-input-best-practices","content":" COSMOS provides several different methods to gather manual user input in scripts. When using user input methods that allow for arbitrary values (like ask() and ask_string()), it is very important to validate the value given in your script before moving on. When asking for text input, it is extra important to handle different casing possibilities and to ensure that invalid input will either re-prompt the user or take a safe path. Ruby: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y' raise "User entered: #{answer}" end temp = 0.0 while temp < 10.0 or temp > 50.0 temp = ask("Enter the desired temperature between 10.0 and 50.0") end Python: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y': raise RuntimeError(f"User entered: {answer}") temp = 0.0 while temp < 10.0 or temp > 50.0: temp = ask("Enter the desired temperature between 10.0 and 50.0") When possible, always use one of the other user input methods that has a constrained list of choices for your users (message_box, vertical_message_box, combo_box). Note that all these user input methods provide the user the option to “Cancel”. When cancel is clicked, the script is paused but remains at the user input line. When hitting “Go” to the continue, the user will be re-prompted to enter the value. ","version":"Next","tagName":"h3"},{"title":"Conditionally Require Manual User Input Steps​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#conditionally-require-manual-user-input-steps","content":" When possible, a useful design pattern is to write your scripts such that they can run without prompting for any user input. This allows the scripts to be more easily tested and provides a documented default value for any user input choices or values. To implement this pattern, all manual steps such as ask(), prompt(), and infinite wait() statements need to be wrapped with an if statement that checks the value of $manual in Ruby or RunningScript.manual in Python. If the variable is set, then the manual steps should be executed. If not, then a default value should be used. Ruby Example: if $manual temp = ask("Please enter the temperature") else temp = 20.0 end if !$manual puts "Skipping infinite wait in auto mode" else wait end Python Example: if RunningScript.manual: temp = ask("Please enter the temperature") else: temp = 20.0 if not RunningScript.manual: print("Skipping infinite wait in auto mode") else: wait() When running suites, there is a checkbox at the top of the tool called “Manual” that affects this $manual variable directly. ","version":"Next","tagName":"h3"},{"title":"Outputting Extra Information to a Report​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#outputting-extra-information-to-a-report","content":" COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log. Ruby: class MyGroup < OpenC3::Group def script_1 # The following text will be placed in the report OpenC3::Group.puts "Verifies requirements 304, 306, 310" # This puts line will show up in the sr_messages log file puts "script_1 complete" end end Python: from openc3.script.suite import Group class MyGroup(Group): def script_1(): # The following text will be placed in the report Group.print("Verifies requirements 304, 306, 310") # This puts line will show up in the sr_messages log file print("script_1 complete") ","version":"Next","tagName":"h3"},{"title":"Getting the Most Recent Value of a Telemetry Point from Multiple Packets​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets","content":" Some systems include high rate data points with the same name in every packet. COSMOS supports getting the most recent value of a telemetry point that is in multiple packets using a special packet name of LATEST. Assume the target INST has two packets, PACKET1 and PACKET2. Both packets have a telemetry point called TEMP. # Get the value of TEMP from the most recently received PACKET1 value = tlm("INST PACKET1 TEMP") # Get the value of TEMP from the most recently received PACKET2 value = tlm("INST PACKET2 TEMP") # Get the value of TEMP from the most recently received PACKET1 or PACKET2 value = tlm("INST LATEST TEMP") ","version":"Next","tagName":"h3"},{"title":"Checking Every Single Sample of a Telemetry Point​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#checking-every-single-sample-of-a-telemetry-point","content":" When writing COSMOS scripts, checking the most recent value of a telemetry point normally gets the job done. The tlm(), tlm_raw(), etc methods all retrieve the most recent value of a telemetry point. Sometimes you need to perform analysis on every single sample of a telemetry point. This can be done using the COSMOS packet subscription system. The packet subscription system lets you choose one or more packets and receive them all from a queue. You can then pick out the specific telemetry points you care about from each packet. Ruby: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 1.5 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) Python: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(1.5) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) ","version":"Next","tagName":"h3"},{"title":"Using Variables in Mnemonics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-variables-in-mnemonics","content":" Because command and telemetry mnemonics are just strings in COSMOS scripts, you can make use of variables in some contexts to make reusable code. For example, a method can take a target name as an input to support multiple instances of a target. You could also pass in the value for a set of numbered telemetry points. Ruby: def example(target_name, temp_number) cmd("#{target_name} COLLECT with TYPE NORMAL") wait_check("#{target_name} TEMP#{temp_number} > 50.0") end Python: def example(target_name, temp_number): cmd(f"{target_name} COLLECT with TYPE NORMAL") wait_check(f"{target_name} TEMP{temp_number} > 50.0") This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the Looping vs Unrolled Loops section. ","version":"Next","tagName":"h3"},{"title":"Using Custom wait_check_expression​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-custom-wait_check_expression","content":" The COSMOS wait_check_expression (and check_expression) allow you to perform more complicated checks and still stop the script with a CHECK error message if something goes wrong. For example, you can check variables against each other or check a telemetry point against a range. The exact string of text passed to wait_check_expression is repeatedly evaluated until it passes, or a timeout occurs. It is important to not use string interpolation within the actual expression or the values inside of the string interpolation syntax will only be evaluated once when it is converted into a string. Ruby: one = 1 two = 2 wait_check_expression("one == two", 1) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1) Python: one = 1 two = 2 wait_check_expression("one == two", 1, 0.25, locals()) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10", 1, 0.25, locals()) ","version":"Next","tagName":"h3"},{"title":"COSMOS Scripting Differences from Regular Ruby Scripting​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#cosmos-scripting-differences-from-regular-ruby-scripting","content":" Do not use single line if statements​ COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts). Don't do this: run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0 Do this instead: # It is best not to execute any code that could fail in an if statement, ie # tlm() could fail if the CmdTlmServer was not running or a mnemonic # was misspelled temp1 = tlm("INST HEALTH_STATUS TEMP1") if temp1 > 10.0 run_method() end ","version":"Next","tagName":"h3"},{"title":"When Things Go Wrong​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-things-go-wrong","content":" ","version":"Next","tagName":"h2"},{"title":"Common Reasons Checks Fail​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-reasons-checks-fail","content":" There are three common reasons that checks fail in COSMOS scripts: The delay given was too short The wait_check() method takes a timeout that indicates how long to wait for the referenced telemetry point to pass the check. The timeout needs to be large enough for the system under test to finish its action and for updated telemetry to be received. Note that the script will continue as soon as the check completes successfully. Thus, the only penalty for a longer timeout is the additional wait time in a failure condition. The range or value checked against was incorrect or too stringent Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value. The check really failed Of course, sometimes there are real failures. See the next section for how to handle them and recover. ","version":"Next","tagName":"h3"},{"title":"How to Recover from Anomalies​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#how-to-recover-from-anomalies","content":" Once something has failed, and your script has stopped with a pink highlighted line, how can you recover? Fortunately, COSMOS provides several mechanisms that can be used to recover after something in your script fails. Retry After a failure, the Script Runner “Pause” button changes to “Retry”. Clicking on the Retry button will re-execute the line the failed. For failures due to timing issues, this will often resolve the issue and allow the script to continue. Make note of the failure and be sure to update your script prior to the next run. Use the Debug Prompt By selecting Script -> Toggle Debug, you can perform arbitrary actions that may be needed to correct the situation without stopping the running script. You can also inspect variables to help determine why something failed. Execute Selection If only a small section of a script needs to be run, then “Execute Selection" can be used to execute only a small portion of the script. This can also be used when a script is paused or stopped in error. Run from here By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script. ","version":"Next","tagName":"h3"},{"title":"Advanced Topics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-topics","content":" ","version":"Next","tagName":"h2"},{"title":"Advanced Script Configuration with CSV or Excel​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-script-configuration-with-csv-or-excel","content":" Using a spreadsheet to store the values for use by a script can be a great option if you have a CM-controlled script but need to be able to tweak some values for a test or if you need to use different values for different serial numbers. The Ruby CSV class be used to easily read data from CSV files (recommended for cross platform projects). require 'csv' values = CSV.read('test.csv') puts values[0][0] If you are only using Windows, COSMOS also contains a library for reading Excel files. require 'openc3/win32/excel' ss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx') puts ss[0][0][0] ","version":"Next","tagName":"h3"},{"title":"When to use Ruby Modules​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-to-use-ruby-modules","content":" Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though. Mixins allow adding common methods to classes without using inheritance. Mixins can be useful to add common functionality to some classes but not others, or to break up classes into multiple files. module MyModule def module_method end end class MyTest < OpenC3::Group include MyModule def test_1 module_method() end end ","version":"Next","tagName":"h3"},{"title":"Autonomic (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/autonomic","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#introduction","content":" Autonomic allows for the automated execution of commands and scripts based on user-defined rules. ","version":"Next","tagName":"h2"},{"title":"Overview​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#overview","content":" Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system. ","version":"Next","tagName":"h3"},{"title":"TriggerGroups​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggergroups","content":" Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed. ","version":"Next","tagName":"h3"},{"title":"Triggers​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggers","content":" Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger. Once you've chosen the "left operand" you need to choose the operator. Finally you choose the "right operand" which in this case is a simple value. After the trigger is created it is displayed in Autonomic and waits to be activated by the given logic. Active triggers are highlighted in the list. Triggers can also be manually disabled and enabled by clicking the plug icon. Note in the above screenshot the Events which track everything about the trigger. ","version":"Next","tagName":"h3"},{"title":"Reactions​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#reactions","content":" Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script. Reactions can not exist without a corresponding trigger. The reaction creation dialog specifies whether to treat the trigger as an Edge or Level. It then allows you to select which trigger(s) the reaction will react to. Selecting multiple triggers allows any of the triggers to trigger the reaction (Note: Creating a reaction which responds to Trigger A AND Trigger B is done by creating additional triggers). After the triggers are specified, the dialog prompts for the actions to take. You can either send a command, run a script, or simply push a notification. Commands and scripts can also optionally push a notification. In this example a script is specified with a notification at the WARN level. Spawning Scripts Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources. Finally the snooze setting is specified. Snooze is the number of seconds after the reaction runs before the reaction will be allowed to run again. This is especially important in Level triggers where if the trigger remains active the reaction can run continuously. Once the reaction is created it is listed in the interface. When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again. ","version":"Next","tagName":"h3"},{"title":"Bucket Explorer","type":0,"sectionRef":"#","url":"/docs/tools/bucket-explorer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#introduction","content":" Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage. ","version":"Next","tagName":"h2"},{"title":"Browsing Files​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#browsing-files","content":" At the top are the three standard COSMOS buckets: config, logs, and tools. Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is DEFAULT. The config bucket holds the COSMOS configuration which is populated as plugins are installed. The logs bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See Logging for more info). These logs are gzipped to save storage space. The tools bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket. Tools as Static Website Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3 ","version":"Next","tagName":"h2"},{"title":"Upload​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#upload","content":" Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in COSMOS Enterprise you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Download​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#download","content":" Click the Download icon to download any of the individual files from any bucket and path. ","version":"Next","tagName":"h3"},{"title":"Delete​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#delete","content":" Click the Trash icon to delete an individual file. Note that in COSMOS Enterprise you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Calendar (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/calendar","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#introduction","content":" Calendar visualizes metadata, notes, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times. ","version":"Next","tagName":"h2"},{"title":"Adding Timelines​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#adding-timelines","content":" Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary. ","version":"Next","tagName":"h3"},{"title":"Types of Events​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#types-of-events","content":" ","version":"Next","tagName":"h2"},{"title":"Metadata​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#metadata","content":" Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including operators, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data. You can create a new metadata item from either the Create menu or by right-clicking on the calendar in the given time slot you want the metadata item to appear. Note that metadata entries only have a start time, they do not have an end time. You then add key / value pairs for all the metadata items you want to create. ","version":"Next","tagName":"h3"},{"title":"Note​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#note","content":" Notes require both a start and end time. You then record the note to create the note event on the calendar. ","version":"Next","tagName":"h3"},{"title":"Activity​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#activity","content":" Scheduled on a timeline, activities take both a start and end time. Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping. When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (✓). Reserve activities simply have a blank green circle. Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events. ","version":"Next","tagName":"h3"},{"title":"Timeline Implementation Details​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#timeline-implementation-details","content":" When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue. The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync. The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database. The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database. ","version":"Next","tagName":"h2"},{"title":"Command Sender","type":0,"sectionRef":"#","url":"/docs/tools/cmd-sender","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#introduction","content":" Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history. ","version":"Next","tagName":"h2"},{"title":"Command Sender Menus​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#command-sender-menus","content":" ","version":"Next","tagName":"h2"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#mode-menu-items","content":" Ignores parameter range checkingDisplays parameter state values in hexShows ignored parametersDisables all parameter conversions ","version":"Next","tagName":"h3"},{"title":"Sending Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#sending-commands","content":" Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters. Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History. You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example). ","version":"Next","tagName":"h2"},{"title":"Hazardous Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#hazardous-commands","content":" Sending hazardous commands will prompt the user whether to send the command. Commands can also have hazardous states (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions. Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked required. ","version":"Next","tagName":"h3"},{"title":"Command and Telemetry Server","type":0,"sectionRef":"#","url":"/docs/tools/cmd-tlm-server","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#introduction","content":" The Command and Telemetry Server application provides status about the interfaces and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view both raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages. ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server Menus​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-and-telemetry-server-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#file-menu-items","content":" The Command and Telemetry Server has one menu under File -> Options: This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated. ","version":"Next","tagName":"h3"},{"title":"Interfaces Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#interfaces-tab","content":" The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts. ","version":"Next","tagName":"h2"},{"title":"Targets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#targets-tab","content":" The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only). Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority. The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding. ","version":"Next","tagName":"h2"},{"title":"Command Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-packets-tab","content":" The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command. Clicking on View Raw opens a dialog displaying the raw bytes for that command. Clicking View in Command Sender opens up a new Command Sender window with the specified command. ","version":"Next","tagName":"h2"},{"title":"Telemetry Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#telemetry-packets-tab","content":" The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet. Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet. Clicking View in Packet Viewer opens up a new Packet Viewer window with the specified telemetry packet. ","version":"Next","tagName":"h2"},{"title":"Status Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#status-tab","content":" The Status tab displays COSMOS system metrics. ","version":"Next","tagName":"h2"},{"title":"Log Messages​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#log-messages","content":" The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message. ","version":"Next","tagName":"h2"},{"title":"Command History (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/command_history","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#introduction","content":" Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated). ","version":"Next","tagName":"h2"},{"title":"Selecting Time​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#selecting-time","content":" By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers. ","version":"Next","tagName":"h3"},{"title":"Commands Table​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#commands-table","content":" The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description. As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2). The Result field is the result of executing Command Validators established by the VALIDATOR keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above. For more information read the VALIDATOR documentation and also see the Ruby Example and the Python Example in the COSMOS Demo. ","version":"Next","tagName":"h2"},{"title":"Data Extractor","type":0,"sectionRef":"#","url":"/docs/tools/data-extractor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#introduction","content":" Data Extractor extracts command and telemetry items into comma or tab separated files. Individual items or entire packets can be processed over any time period. Data Extractor also has a number of options to control the output for post processing in Excel or Matlab, for example. ","version":"Next","tagName":"h2"},{"title":"Data Extractor Menus​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#data-extractor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#file-menu-items","content":" Opens a saved configurationSave the current configuration (item list)Reset the configuration (default settings)Delimit output with commasDelimit output with tabs Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#mode-menu-items","content":" Fill empty cells with the previous valueAdd a Matlab comment ('%') to the headerOnly output changed valuesOnly list item name as column headerList full Target Packet Item as header ","version":"Next","tagName":"h3"},{"title":"Selecting Items for Output​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#selecting-items-for-output","content":" ","version":"Next","tagName":"h2"},{"title":"Start/End Date/Time​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#startend-datetime","content":" Data Extractor provides text fields where you specify the time range to extract items. Clicking the Start Date and End Date text fields opens a Date Chooser dialog. Note you can also manually type in the date. Clicking the Start Time and End Time icon opens up a Time Chooser dialog. Note you can also manually type in the time. ","version":"Next","tagName":"h3"},{"title":"Adding Target(s) Packet(s) Item(s)​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#adding-targets-packets-items","content":" Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed. When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed. When you select an individual Item the button changes to "Add Item" and the Description field updates with the item's description. ","version":"Next","tagName":"h3"},{"title":"Removing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#removing-items","content":" Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header. ","version":"Next","tagName":"h3"},{"title":"Editing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#editing-items","content":" Items can be edited by clicking the Pencil icon next to the item. ALL items can be edited by clicking the pencil icon in the header. Clicking the Edit All brings up the Edit All Items dialog. This allows you to change the data type of all items in the list. Clicking the pencil next to an individual item brings up a similar dialog to edit the individual item. ","version":"Next","tagName":"h3"},{"title":"Processing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#processing-items","content":" Clicking the Process button starts the processing of the items list. A progress wheel is shown on the left side of the table and the Process button changes to Cancel to allow canceling the process. When the processing is complete, the browser shows a file download link. Note this varies by browser. This example is from Chrome. ","version":"Next","tagName":"h2"},{"title":"Data Viewer","type":0,"sectionRef":"#","url":"/docs/tools/data-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#introduction","content":" Data Viewer allows you to view packet data or individual item data in both the past and in real time. ","version":"Next","tagName":"h2"},{"title":"Data Viewer Menus​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#data-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#file-menu-items","content":" Opens a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Adding Components​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#adding-components","content":" DataViewer displays data in a component. To add a new component to the interface click the plus icon. This brings up the Add Component dialog. First you select the component you want to use to visual the data. Next you add packets which will populate the component. Finally click Create to see the DataViewer component visualization. To adjust the settings of the COSMOS Raw/Decom component click the gear icon to bring up the Display Settings dialog. You can turn on and off various visualizations, increase the number of packets displayed and the history. ","version":"Next","tagName":"h3"},{"title":"Handbooks","type":0,"sectionRef":"#","url":"/docs/tools/handbooks","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Handbooks","url":"/docs/tools/handbooks#introduction","content":" Handbooks formats the COSMOS command and telemetry definitions into a nicely formatted webpage that can be exported to a PDF. You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer","type":0,"sectionRef":"#","url":"/docs/tools/packet-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#introduction","content":" Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer Menus​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#packet-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#file-menu-items","content":" Change the refresh and stale intervalOpens a saved configurationSave the current configuration (view settings)Reset the configuration (default settings) ","version":"Next","tagName":"h3"},{"title":"View Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#view-menu-items","content":" Shows ignored itemsDisplay derived items lastDisplay formatted items with unitsDisplay formatted itemsDisplay converted itemsDisplay raw items ","version":"Next","tagName":"h3"},{"title":"Selecting Packets​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#selecting-packets","content":" Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box. ","version":"Next","tagName":"h2"},{"title":"Details​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#details","content":" Right-clicking an item and selecting Details will open the details dialog. This dialog lists everything defined on the telemetry item. ","version":"Next","tagName":"h3"},{"title":"Limits Monitor","type":0,"sectionRef":"#","url":"/docs/tools/limits-monitor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#introduction","content":" The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor Menus​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-monitor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#file-menu-items","content":" Show the list of ignored itemsChange the overall COSMOS limits setOpens a saved configurationSave the current configuration (ignored items)Reset the configuration (defaults settings) Show Ignored​ This dialog displays all the items which the user has manually ignored by clicking the ignore icons next to out of limits items. Note that entire Packets which have been ignored are listed as TARGET PACKET without an item (as shown by INST MECH). Ignored items are removed by clicking the Trash icon. This means that the next time this item goes out of limits it will be displayed. Change Limits Set​ Limits sets are defined with the LIMITS keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS. Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Limits Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-items","content":" The main interface of Limits Monitor is the top where items are displayed when they violate a yellow or red limit. Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red states are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed. Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate "(Some items ignored)" to indicate the Limits State is potentially being affected by ignored items. Clicking the last icon (eye with strike-through) temporarily hides the specified item. This is different from ignoring an item because if this item goes out of limits it will be again be displayed. Hiding an item is useful if the item has gone back to green and you want to continue to track it but want to clean up the current list of items. For example, we might hide the GROUND1STATUS items in the above example as they have transitioned back to green. ","version":"Next","tagName":"h2"},{"title":"Limits Log​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-log","content":" The Log section lists all limits events. Events can be filtered by using the Search box as shown. ","version":"Next","tagName":"h2"},{"title":"Table Manager","type":0,"sectionRef":"#","url":"/docs/tools/table-manager","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#introduction","content":" Table Manager is a binary file editor. It takes binary file definitions similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-menu-items","content":" Create a new binary based on definitionOpen an existing binarySave the current binaryRename the current binaryDelete the current binary ","version":"Next","tagName":"h3"},{"title":"File Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-download","content":" The three buttons next to File Download download the binary file, the definition file, and the report file. The binary is the raw bits defined by the table. The definition is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary. ","version":"Next","tagName":"h2"},{"title":"Upload / Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#upload--download","content":" Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called upload.rb is found in the Target's procedures directory then the Upload button becomes active. If a file called download.rb is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script. ","version":"Next","tagName":"h2"},{"title":"upload.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#uploadrb","content":" The COSMOS demo creates the following upload.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file and the script uses get_target_file to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file puts "file:#{ENV['TBL_FILENAME']}" # Open the file file = get_target_file(ENV['TBL_FILENAME']) buffer = file.read # puts buffer.formatted # Implement custom commanding logic to upload the table # Note that buffer is a Ruby string of bytes # You probably want to do something like: # buf_size = 512 # Size of a buffer in the upload command # i = 0 # while i < buffer.length # # Send a part of the buffer # # NOTE: triple dots means start index, up to but not including, end index # # while double dots means start index, up to AND including, end index # cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)]) # i += buf_size # end file.delete ","version":"Next","tagName":"h3"},{"title":"download.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#downloadrb","content":" The COSMOS demo creates the following download.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file to OVERWRITE and the script uses put_target_file to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file to overwrite puts "file:#{ENV['TBL_FILENAME']}" # Download the file # Implement custom commanding logic to download the table # You probably want to do something like: buffer = '' # i = 1 # num_segments = 5 # calculate based on TBL_FILENAME # table_id = 1 # calculate based on TBL_FILENAME # while i < num_segments # # Request a part of the table buffer # cmd("TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}") # buffer += tlm("TGT DUMP_PKT DATA") # i += 1 # end put_target_file(ENV['TBL_FILENAME'], buffer) ","version":"Next","tagName":"h3"},{"title":"Telemetry Viewer","type":0,"sectionRef":"#","url":"/docs/tools/tlm-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#introduction","content":" Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#file-menu-items","content":" Open a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Selecting Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#selecting-screens","content":" Selecting a target from the Select Target drop down automatically updates the available screens for that target in the Select Screen drop down. Clicking Show Screen causes that screen to display. ","version":"Next","tagName":"h2"},{"title":"New Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#new-screen","content":" Clicking New Screen brings up the new screen dialog. Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists. ","version":"Next","tagName":"h2"},{"title":"Edit Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#edit-screen","content":" Clicking the pencil icon in the title bar of the screen brings up the edit dialog. The screen source is displayed in an editor with syntax highlighting and auto-completion. You can download the screen source using the download button in the upper right or delete the screen using the trash icon in the upper left. Click Save to save the screen edits at which point Telemetry Viewer will re-render the screen. ","version":"Next","tagName":"h2"},{"title":"Screen Window Management​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#screen-window-management","content":" All screens can be moved around the browser window by clicking their title bar and moving them. Other screens will move around intelligently to fill the space. This allows you to order the screens no matter which order they were created in. You can also float the screens by clicking the grid icon in the upper left of the title bar. It will change to a balloon icon and allow you to click up and down to change the relative Z index of the window. The image screen is floated in the following screen shot. The dash button in the upper right of the title bar minimizes the screen to effectively hide it. This allows you to focus on a single screen without closing existing screens. In the screen shot below there are two minimized windows at the very bottom. The X button closes the screen. ","version":"Next","tagName":"h2"},{"title":"Building Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#building-screens","content":" For documentation on how to build Telemetry Screens and how to configure the screen widgets please see the Telemetry Screens. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher","type":0,"sectionRef":"#","url":"/docs/tools/tlm-grapher","content":"","keywords":"","version":"Next"},{"title":"Introductions​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#introductions","content":" Telemetry Grapher is a graphing application that allows for one or more telemetry points per graph. It supports multiple graphs per screen which can be resized and reordered. Multiple configurations can be saved and restored for different situations. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher Menus​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#telemetry-grapher-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#file-menu-items","content":" Open a saved configuration (graphs and items)Save the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Graph Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-menu-items","content":" Add a new graphStart / Resume graphingPause graphStop graphEdit grapher settings Editing the grapher settings brings up a dialog to change settings affecting every graph in the Telemetry Grapher tool. Changing the Seconds Graphed changes the visible windows displaying graph points. The smaller of Seconds Graphed and Points Graphed will be used when calculating the number of points to display. Changing the Points Saved will affect performance of the browser window if set too high. The default of 1,000,000 points can store over 11.5 days of 1Hz data points. Editing an individual graph by clicking the pencil icon in title bar of the graph brings up the edit graph dialog. Editing the Start Date and Start Time will re-query the data to begin at the specified time. This operation can take several seconds depending on how far back data is requested. Similarly, specifying the End Date and End Time will limit the data request to the specified time. Leaving the End Date / End Time fields blank will cause Telemetry Grapher to continue to graph items in real-time as they arrive. Changing the Min Y and Max Y values simply sets the graph scale. Deleting the Min Y and Max Y values allows the graph to scale automatically as values arrive. Compare the following graph with the minimum set to 0 and the maximum set to 100 with the first graph image (auto-scale). ","version":"Next","tagName":"h3"},{"title":"Selecting Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#selecting-items","content":" Selecting a target from the Select Target drop down automatically updates the available packets in the Select Packet drop down which updates the available items in the Select Item drop down. Clicking Add Item adds the item to the graph which immediately begins graphing. As time passes, the main graph fills up and starts scrolling while the overview graph at the bottom shows the entire history. Selecting a new item and adding it to the graph automatically fills the graph with history until the beginning of the first item. This allows you to add items to the graph incrementally and maintain full history. ","version":"Next","tagName":"h2"},{"title":"Graph Window Management​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-window-management","content":" All graphs can be moved around the browser window by clicking their title bar and moving them. Other graphs will move around intelligently to fill the space. This allows you order the graphs no matter which order they were created in. Each graph has a set of window buttons in the upper right corner. The first shrinks or grows the graph both horizontally and vertically to allow for 4 graphs in the same browser tab. Note that half height graphs no longer show the overview graph. The second button shrinks or grows the graph horizontally so it will either be half or full width of the browser window. This allows for two full width graphs on top of each other. The second button shrinks or grows the graph vertically so it will either be half or full height of the browser window. This allows for two full height graphs side by side. The line button minimizes the graph to effectively hide it. This allows you to focus on a single graph without losing existing graphs. The final X button closes the graph. ","version":"Next","tagName":"h2"},{"title":"Script Runner","type":0,"sectionRef":"#","url":"/docs/tools/script-runner","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#introduction","content":" Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individual scripts, groups of scripts, or entire suites. ","version":"Next","tagName":"h2"},{"title":"Script Runner Menus​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-runner-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#file-menu-items","content":" Clears the editor and filenameCreates a new test suite in Ruby or PythonOpens a dialog to select a file to openOpens a recently used fileSaves the currently opened file to diskRename the current fileDownloads the current file to the browserDeletes the current file (Permanently!) File Open​ The File Open Dialog displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results. File Save As​ When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted before over-writing an existing file. ","version":"Next","tagName":"h3"},{"title":"Script Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-menu-items","content":" Display started and finished scriptsShow environment variablesShow defined metadataShow overridden telemetry valuesPerform a syntax checkPerform a script mnemonic checkView the instrumented scriptShows the script call stackDisplay the debug promptDisconnect from real interfacesDelete all script breakpoints The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log. ","version":"Next","tagName":"h3"},{"title":"Running Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-scripts","content":" Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script. Once you click Start the script is spawned in the Server and the Script State becomes Connecting. At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried. This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution. ","version":"Next","tagName":"h2"},{"title":"Right Click Script​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#right-click-script","content":" Right clicking a script brings up several options: 'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number. ","version":"Next","tagName":"h3"},{"title":"Running Script Suites​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-script-suites","content":" If a script is structured as a Suite it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus. To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language. ","version":"Next","tagName":"h2"},{"title":"Group​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#group","content":" The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example: require 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def setup puts "setup" end def script_1 puts "script 1" end def teardown puts "teardown" end end Equivalent Python example: from openc3.script.suite import Suite, Group class ExampleGroup(Group): def setup(self): print("setup") def script_1(self): print("script 1") def teardown(self) print("teardown") The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method. ","version":"Next","tagName":"h3"},{"title":"Suite​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#suite","content":" Groups are added to Suites by creating a class inheriting from Suite and then calling the add_group method. For example in Ruby: class MySuite < OpenC3::Suite def initialize add_group('ExampleGroup') end def setup puts "Suite setup" end def teardown puts "Suite teardown" end end In Python: from openc3.script.suite import Suite, Group class MySuite(Suite): def __init__(self): self.add_group('ExampleGroup') def setup(self): print("Suite setup") def teardown(self): print("Suite teardown") Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu. Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script. ","version":"Next","tagName":"h3"},{"title":"Script Suite Options​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-suite-options","content":" Opening a Script Suite creates six checkboxes which provide options to the running script. Pause on Error​ Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error. Continue after Error​ Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group. Abort after Error​ Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete. Manual​ In Ruby, sets the global variable called $manual to true. In Python, sets RunningScript.manual to True. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use the variable in their scripts. Loop​ Loop whatever the user started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen. Break Loop on Error​ Break the loop if an Error occurs. Only available if the Loop option is set. ","version":"Next","tagName":"h3"},{"title":"Debugging Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#debugging-scripts","content":" When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing var = 10. The Step button allows you to step line by line through the script. Clicking Go continues regular execution. ","version":"Next","tagName":"h2"},{"title":"Scripting API Guide","type":0,"sectionRef":"#","url":"/docs/guides/scripting-api","content":"","keywords":"","version":"Next"},{"title":"Concepts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Programming Languages​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#programming-languages","content":" COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the Script Writing Guide. ","version":"Next","tagName":"h3"},{"title":"Using Script Runner​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#using-script-runner","content":" Script Runner is a graphical application that provides the ideal environment for running and implementing your test procedures. The Script Runner tool is broken into 4 main sections. At the top of the tool is a menu bar that allows you to do such things as open and save files, perform a syntax check, and execute your script. Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time. Third is the display of the actual script. While the script is not running, you may edit and compose scripts in this area. A handy code completion feature is provided that will list out the available commands or telemetry points as you are writing your script. Simply begin writing a cmd( or tlm( line to bring up code completion. This feature greatly reduces typos in command and telemetry mnemonics. Finally, the bottom of the display is the log messages. All commands that are sent, errors that occur, and user print statements appear in this area. ","version":"Next","tagName":"h3"},{"title":"Telemetry Types​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#telemetry-types","content":" There are four different ways that telemetry values can be retrieved in COSMOS. The following chart explains their differences. Telemetry Type\tDescriptionRaw\tRaw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil. Converted\tConverted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts. Formatted\tFormatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string. Formatted with Units\tFormatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry. ","version":"Next","tagName":"h3"},{"title":"Script Runner API​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-api","content":" The following methods are designed to be used in Script Runner procedures. Many can also be used in custom built COSMOS tools. Please see the COSMOS Tool API section for methods that are more efficient to use in custom tools. ","version":"Next","tagName":"h2"},{"title":"Migration from COSMOS v5 to v6​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v5-to-v6","content":" The following API methods have been removed from COSMOS v6. Most of the deprecated API methods still remain for backwards compatibility. Method\tTool\tStatusget_all_target_info\tCommand and Telemetry Server\tRemoved, use get_target_interfaces play_wav_file\tScript Runner\tRemoved status_bar\tScript Runner\tRemoved ","version":"Next","tagName":"h3"},{"title":"Migration from COSMOS v4 to v5​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v4-to-v5","content":" The following API methods are either deprecated (will not be ported to COSMOS 5) or currently unimplemented (eventually will be ported to COSMOS 5): Method\tTool\tStatusclear\tTelemetry Viewer\tDeprecated, use clear_screen clear_all\tTelemetry Viewer\tDeprecated, use clear_all_screens close_local_screens\tTelemetry Viewer\tDeprecated, use clear_screen clear_disconnected_targets\tScript Runner\tDeprecated cmd_tlm_clear_counters\tCommand and Telemetry Server\tDeprecated cmd_tlm_reload\tCommand and Telemetry Server\tDeprecated display\tTelemetry Viewer\tDeprecated, use display_screen get_all_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_all_target_info\tCommand and Telemetry Server\tDeprecated, use get_target_interfaces get_background_tasks\tCommand and Telemetry Server\tDeprecated get_all_cmd_info\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_all_tlm_info\tCommand and Telemetry Server\tDeprecated, use get_all_tlm get_cmd_list\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_cmd_log_filename\tCommand and Telemetry Server\tDeprecated get_cmd_param_list\tCommand and Telemetry Server\tDeprecated, use get_cmd get_cmd_tlm_disconnect\tScript Runner\tDeprecated, use $disconnect get_disconnected_targets\tScript Runner\tUnimplemented get_interface_info\tCommand and Telemetry Server\tDeprecated, use get_interface get_interface_targets\tCommand and Telemetry Server\tDeprecated get_output_logs_filenames\tCommand and Telemetry Server\tDeprecated get_packet\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_data\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_packet_loggers\tCommand and Telemetry Server\tDeprecated get_replay_mode\tReplay\tDeprecated get_router_info\tCommand and Telemetry Server\tDeprecated, use get_router get_scriptrunner_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_message\tCommand and Telemetry Server\tDeprecated get_server_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_status\tCommand and Telemetry Server\tDeprecated get_stale\tCommand and Telemetry Server\tDeprecated get_target_ignored_items\tCommand and Telemetry Server\tDeprecated, use get_target get_target_ignored_parameters\tCommand and Telemetry Server\tDeprecated, use get_target get_target_info\tCommand and Telemetry Server\tDeprecated, use get_target get_target_list\tCommand and Telemetry Server\tDeprecated, use get_target_names get_tlm_details\tCommand and Telemetry Server\tDeprecated get_tlm_item_list\tCommand and Telemetry Server\tDeprecated get_tlm_list\tCommand and Telemetry Server\tDeprecated get_tlm_log_filename\tCommand and Telemetry Server\tDeprecated interface_state\tCommand and Telemetry Server\tDeprecated, use get_interface override_tlm_raw\tCommand and Telemetry Server\tDeprecated, use override_tlm open_directory_dialog\tScript Runner\tDeprecated play_wav_file\tScript Runner\tDeprecated replay_move_end\tReplay\tDeprecated replay_move_index\tReplay\tDeprecated replay_move_start\tReplay\tDeprecated replay_play\tReplay\tDeprecated replay_reverse_play\tReplay\tDeprecated replay_select_file\tReplay\tDeprecated replay_set_playback_delay\tReplay\tDeprecated replay_status\tReplay\tDeprecated replay_step_back\tReplay\tDeprecated replay_step_forward\tReplay\tDeprecated replay_stop\tReplay\tDeprecated require_utility\tScript Runner\tDeprecated but exists for backwards compatibility, use load_utility router_state\tCommand and Telemetry Server\tDeprecated, use get_router save_file_dialog\tScript Runner\tDeprecated save_setting\tCommand and Telemetry Server\tDeprecated but exists for backwards compatibility, use set_setting set_cmd_tlm_disconnect\tScript Runner\tDeprecated, use disconnect_script set_disconnected_targets\tScript Runner\tUnimplemented set_replay_mode\tReplay\tDeprecated set_stdout_max_lines\tScript Runner\tDeprecated set_tlm_raw\tScript Runner\tDeprecated, use set_tlm show_backtrace\tScript Runner\tDeprecated, backtrace always shown status_bar\tScript Runner\tDeprecated shutdown_cmd_tlm\tCommand and Telemetry Server\tDeprecated start_cmd_log\tCommand and Telemetry Server\tDeprecated start_logging\tCommand and Telemetry Server\tDeprecated start_new_scriptrunner_message_log\tCommand and Telemetry Server\tDeprecated start_new_server_message_log\tCommand and Telemetry Server\tDeprecated start_tlm_log\tCommand and Telemetry Server\tDeprecated stop_background_task\tCommand and Telemetry Server\tDeprecated stop_cmd_log\tCommand and Telemetry Server\tDeprecated stop_logging\tCommand and Telemetry Server\tDeprecated stop_tlm_log\tCommand and Telemetry Server\tDeprecated subscribe_limits_events\tCommand and Telemetry Server\tDeprecated subscribe_packet_data\tCommand and Telemetry Server\tDeprecated, use subscribe_packets subscribe_server_messages\tCommand and Telemetry Server\tUnimplemented tlm_variable\tScript Runner\tDeprecated, use tlm() and pass type unsubscribe_limits_events\tCommand and Telemetry Server\tDeprecated unsubscribe_packet_data\tCommand and Telemetry Server\tDeprecated unsubscribe_server_messages\tCommand and Telemetry Server\tDeprecated wait_raw\tScript Runner\tDeprecated, use wait(..., type: :RAW) wait_check_raw\tScript Runner\tDeprecated, use wait_check(..., type: :RAW) wait_tolerance_raw\tScript Runner\tDeprecated, use wait_tolerance(..., type: :RAW) wait_check_tolerance_raw\tScript Runner\tDeprecated, use wait_check_tolerance(..., type: :RAW) ","version":"Next","tagName":"h3"},{"title":"Retrieving User Input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#retrieving-user-input","content":" These methods allow the user to enter values that are needed by the script. ","version":"Next","tagName":"h2"},{"title":"ask​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask","content":" Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned. Ruby / Python Syntax: ask("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", true) value = ask("Enter a value", 10) password = ask("Enter your password", false, true) Python Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", True) value = ask("Enter a value", 10) password = ask("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"ask_string​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask_string","content":" Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned. Ruby / Python Syntax: ask_string("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", true) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", false, true) Python Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", True) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#message_box","content":" ","version":"Next","tagName":"h3"},{"title":"vertical_message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#vertical_message_box","content":" ","version":"Next","tagName":"h3"},{"title":"combo_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#combo_box","content":" The message_box, vertical_message_box, and combo_box methods create a message box with arbitrary buttons or selections that the user can click. The text of the button clicked is returned. Ruby / Python Syntax: message_box("<message>", "<button text 1>", ...) vertical_message_box("<message>", "<button text 1>", ...) combo_box("<message>", "<selection text 1>", ...) Parameter\tDescriptionmessage\tMessage to prompt the user with. button/selection text\tText for a button or selection Ruby Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') case value when 'One' puts 'Sensor One' when 'Two' puts 'Sensor Two' end Python Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') match value: case 'One': print('Sensor One') case 'Two': print('Sensor Two') ","version":"Next","tagName":"h3"},{"title":"get_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_file","content":" Return a file handle to a file in the target directory Ruby Syntax: get_target_file("<File Path>", original: false) Python Syntax: get_target_file("<File Path>", original=False) Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb original\tWhether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original. Ruby Example: file = get_target_file("INST/data/attitude.bin") puts file.read().formatted # format a binary file file.unlink # delete file file = get_target_file("INST/procedures/checks.rb", original: true) puts file.read() file.unlink # delete file Python Example: from openc3.utilities.string import formatted file = get_target_file("INST/data/attitude.bin") print(formatted(file.read())) # format a binary file file.close() # delete file file = get_target_file("INST/procedures/checks.rb", original=True) print(file.read()) file.close() # delete file ","version":"Next","tagName":"h3"},{"title":"put_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#put_target_file","content":" Writes a file to the target directory Ruby or Python Syntax: put_target_file("<File Path>", "IO or String") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten. data\tThe data can be an IO object or String Ruby Example: put_target_file("INST/test1.txt", "this is a string test") file = Tempfile.new('test') file.write("this is a Io test") file.rewind put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", "\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary Python Example: put_target_file("INST/test1.txt", "this is a string test") file = tempfile.NamedTemporaryFile(mode="w+t") file.write("this is a Io test") file.seek(0) put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", b"\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary ","version":"Next","tagName":"h3"},{"title":"delete_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_target_file","content":" Delete a file in the target directory Ruby / Python Syntax: delete_target_file("<File Path>") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain. Ruby / Python Example: put_target_file("INST/delete_me.txt", "to be deleted") delete_target_file("INST/delete_me.txt") ","version":"Next","tagName":"h3"},{"title":"open_file_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_file_dialog","content":" ","version":"Next","tagName":"h3"},{"title":"open_files_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_files_dialog","content":" The open_file_dialog and open_files_dialog methods create a file dialog box so the user can select a single or multiple files. The selected file(s) is returned. Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files. Ruby Syntax: open_file_dialog("<title>", "<message>", filter: "<filter>") open_files_dialog("<title>", "<message>", filter: "<filter>") Python Syntax: open_file_dialog("<title>", "<message>", filter="<filter>") open_files_dialog("<title>", "<message>", filter="<filter>") Parameter\tDescriptionTitle\tThe title to put on the dialog. Required. Message\tThe message to display in the dialog box. Optional parameter. filter\tNamed parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept for more information. Ruby Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt") puts file # Ruby File object puts file.read file.delete files = open_files_dialog("Open multiple files") # message is optional puts files # Array of File objects (even if you select only one) files.each do |file| puts file puts file.read file.delete end Python Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt") print(file) print(file.read()) file.close() files = open_files_dialog("Open multiple files") # message is optional print(files) # Array of File objects (even if you select only one) for file in files: print(file) print(file.read()) file.close() ","version":"Next","tagName":"h3"},{"title":"Providing information to the user​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#providing-information-to-the-user","content":" These methods notify the user that something has occurred. ","version":"Next","tagName":"h2"},{"title":"prompt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#prompt","content":" Displays a message to the user and waits for them to press an ok button. Ruby / Python Syntax: prompt("<message>") Parameter\tDescriptionmessage\tMessage to prompt the user with. Ruby / Python Example: prompt("Press OK to continue") ","version":"Next","tagName":"h3"},{"title":"Commands​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#commands","content":" These methods provide capability to send commands to a target and receive information about commands in the system. ","version":"Next","tagName":"h2"},{"title":"cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd","content":" Sends a specified command. Ruby Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") # In Ruby the brackets around parameters are optional cmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL") cmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" }) cmd("INST ABORT", timeout: 10, log_message: false) Python Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") cmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" }) cmd("INST ABORT", timeout=10, log_message=False) ","version":"Next","tagName":"h3"},{"title":"cmd_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_range_check","content":" Sends a specified command without performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL") Python Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_hazardous_check","content":" Sends a specified command without performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_no_hazardous_check("INST CLEAR") cmd_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_checks","content":" Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL") Python Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw","content":" Sends a specified command without running conversions. Ruby Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0) Python Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_range_check","content":" Sends a specified command without running conversions or performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0) Python Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_hazardous_check","content":" Sends a specified command without running conversions or performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_raw_no_hazardous_check("INST CLEAR") cmd_raw_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_checks","content":" Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1) Python Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1}) ","version":"Next","tagName":"h3"},{"title":"build_cmd (since 5.13.0, since 5.8.0 as build_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#build_cmd-since-5130-since-580-as-build_command","content":" Builds a command binary string Ruby Syntax: build_cmd(<ARGS>, range_check: true, raw: false) Python Syntax: build_cmd(<ARGS>, range_check=True, raw=False) Parameter\tDescriptionARGS\tCommand parameters (see cmd) range_check\tWhether to perform range checking on the command. Default is true. raw\tWhether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED. Ruby Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") puts x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00A \\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") print(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00A \\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"send_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#send_raw","content":" Sends raw data on an interface. Ruby / Python Syntax: send_raw(<Interface Name>, <Data>) Parameter\tDescriptionInterface Name\tName of the interface to send the raw data on. Data\tRaw ruby string of data to send. Ruby / Python Example: send_raw("INST_INT", data) ","version":"Next","tagName":"h3"},{"title":"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmds-since-5130-since-500-as-get_all_commands","content":" Returns an array of the commands that are available for a particular target. The returned array is an array of hashes which fully describe the command packet. Ruby / Python Syntax: get_all_cmds("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: cmd_list = get_all_cmds("INST") puts cmd_list #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: cmd_list = get_all_cmds("INST") print(cmd_list) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmd_names-since-5130-since-506-as-get_all_command_names","content":" Returns an array of the command names for a particular target. Ruby / Python Syntax: get_all_cmd_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby Example: cmd_list = get_all_cmd_names("INST") puts cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] Python Example: cmd_list = get_all_cmd_names("INST") print(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] ","version":"Next","tagName":"h3"},{"title":"get_cmd (since 5.13.0, since 5.0.0 as get_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd-since-5130-since-500-as-get_command","content":" Returns a command hash which fully describes the command packet. Ruby / Python Syntax: get_cmd("<Target Name> <Packet Name>") get_cmd("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: abort_cmd = get_cmd("INST ABORT") puts abort_cmd #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: abort_cmd = get_cmd("INST ABORT") print(abort_cmd) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_param (since 5.13.0, since 5.0.0 as get_parameter)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_param-since-5130-since-500-as-get_parameter","content":" Returns a hash of the given command parameter Ruby / Python Syntax: get_param("<Target Name> <Command Name> <Parameter Name>") get_param("<Target Name>", "<Command Name>", "<Parameter Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the parameter. Ruby Example: param = get_param("INST COLLECT TYPE") puts param #=> # {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT", # "description"=>"Collect type which can be normal or special", "default"=>0, # "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR", # "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}} Python Example: param = get_param("INST COLLECT TYPE") print(param) #=> # {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT', # 'description': 'Collect type which can be normal or special', 'default': 0, # 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR', # 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}} ","version":"Next","tagName":"h3"},{"title":"get_cmd_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_buffer","content":" Returns a packet hash (similar to get_cmd) along with the raw packet buffer as a Ruby string. Ruby / Python Syntax: buffer = get_cmd_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_cmd_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby Example: packet = get_cmd_buffer("INST COLLECT") puts packet #=> # {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420", # "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false", # "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xE0\\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: packet = get_cmd_buffer("INST COLLECT") print(packet) #=> # {'time': '1697298923745982470', 'received_time': '1697298923745982470', # 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false', # 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"get_cmd_hazardous​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_hazardous","content":" Returns true/false indicating whether a particular command is flagged as hazardous. Ruby / Python Syntax: get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Command Params\tHash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states. Ruby Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE' => 'SPECIAL'}) puts hazardous #=> true Python Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE': 'SPECIAL'}) print(hazardous) #=> True ","version":"Next","tagName":"h3"},{"title":"get_cmd_value​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_value","content":" Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported. Ruby / Python Syntax: get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the command parameter. Value Type\tValue Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python Ruby Example: value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW) puts value #=> 0.0 Python Example: value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW") print(value) #=> 0.0 ","version":"Next","tagName":"h3"},{"title":"get_cmd_time​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_time","content":" Returns the time of the most recent command sent. Ruby / Python Syntax: get_cmd_time("<Target Name - optional>", "<Command Name - optional>") Parameter\tDescriptionTarget Name\tName of the target. If not given, then the most recent command time to any target will be returned Command Name\tName of the command. If not given, then the most recent command time to the given target will be returned Ruby / Python Example: target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time target_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time target_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time ","version":"Next","tagName":"h3"},{"title":"get_cmd_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_cnt","content":" Returns the number of times a specified command has been sent. Ruby / Python Syntax: get_cmd_cnt("<Target Name> <Command Name>") get_cmd_cnt("<Target Name>", "<Command Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Ruby / Python Example: cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent ","version":"Next","tagName":"h3"},{"title":"Handling Telemetry​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#handling-telemetry","content":" These methods allow the user to interact with telemetry items. ","version":"Next","tagName":"h2"},{"title":"check, check_raw, check_formatted, check_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check-check_raw-check_formatted-check_with_units","content":" Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check. Ruby / Python Syntax: check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log. Ruby Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Ruby passes type as symbol check("INST HEALTH_STATUS COLLECTS > 1", type: :RAW) Python Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Python passes type as string check("INST HEALTH_STATUS COLLECTS > 1", type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_tolerance","content":" Checks a converted telemetry item against an expected value with a tolerance. If the verification fails then the script will be paused with an error. Note: In most cases using wait_check_tolerance is a better choice than using check_tolerance. Ruby / Python Syntax: check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. type\tCONVERTED (default) or RAW (Ruby symbol, Python string) Ruby Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW) Python Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_expression","content":" Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using wait_check_expression is a better choice than using check_expression. Remember that everything inside the check_expression string will be evaluated directly and thus must be valid syntax. A common mistake is to check a variable like so (Ruby variable interpolation): check_expression("#{answer} == 'yes'") # where answer contains 'yes' This evaluates to yes == 'yes' which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows: check_expression("'#{answer}' == 'yes'") # where answer contains 'yes' Now this evaluates to 'yes' == 'yes' which is true so the check passes. Ruby / Python Syntax: check_expression("<Expression>") Parameter\tDescriptionExpression\tAn expression to evaluate. Ruby / Python Example: check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0") ","version":"Next","tagName":"h3"},{"title":"check_exception​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_exception","content":" Executes a method and expects an exception to be raised. If the method does not raise an exception, a CheckError is raised. Ruby / Python Syntax: check_exception("<Method Name>", "<Method Params - optional>") Parameter\tDescriptionMethod Name\tThe COSMOS scripting method to execute, e.g. 'cmd', etc. Method Params\tParameters for the method Ruby Example: check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL") Python Example: check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"tlm, tlm_raw, tlm_formatted, tlm_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#tlm-tlm_raw-tlm_formatted-tlm_with_units","content":" Reads the specified form of a telemetry item. Ruby / Python Syntax: tlm("<Target Name> <Packet Name> <Item Name>") tlm("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW) Python Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type='RAW') ","version":"Next","tagName":"h3"},{"title":"get_tlm_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_buffer","content":" Returns a packet hash (similar to get_tlm) along with the raw packet buffer. Ruby / Python Syntax: buffer = get_tlm_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_tlm_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm_buffer("INST HEALTH_STATUS") packet['buffer'] ","version":"Next","tagName":"h3"},{"title":"get_tlm_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_packet","content":" Returns the names, values, and limits states of all telemetry items in a specified packet. The value is returned as an array of arrays with each entry containing [item_name, item_value, limits_state]. Ruby / Python Syntax: get_tlm_packet("<Target Name> <Packet Name>", <type>) get_tlm_packet("<Target Name>", "<Packet Name>", <type>) Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string). Ruby Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED) Python Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type='FORMATTED') ","version":"Next","tagName":"h3"},{"title":"get_tlm_values (modified in 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_values-modified-in-500","content":" Returns the values and current limits state for a specified set of telemetry items. Items can be in any telemetry packet in the system. They can all be retrieved using the same value type or a specific value type can be specified for each item. Ruby / Python Syntax: values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>) Parameter\tDescriptionItems\tArray of strings of the form ['TGT__PKT__ITEM__TYPE', ... ] Ruby / Python Example: values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"]) print(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]] ","version":"Next","tagName":"h3"},{"title":"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm-since-5130-since-500-as-get_all_telemetry","content":" Returns an array of all target packet hashes. Ruby / Python Syntax: get_all_tlm("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby / Python Example: packets = get_all_tlm("INST") print(packets) #[{"target_name"=>"INST", # "packet_name"=>"ADCS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Position and attitude data", # "stale"=>true, # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names","content":" Returns an array of all target packet names. Ruby / Python Syntax: get_all_tlm_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby / Python Example: get_all_tlm_names("INST") #=> ["ADCS", "HEALTH_STATUS", ...] ","version":"Next","tagName":"h3"},{"title":"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm-since-5130-since-500-as-get_telemetry","content":" Returns a packet hash. Ruby / Python Syntax: get_tlm("<Target Name> <Packet Name>") get_tlm("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm("INST HEALTH_STATUS") print(packet) #{"target_name"=>"INST", # "packet_name"=>"HEALTH_STATUS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Health and status from the instrument", # "stale"=>true, # "processors"=> # [{"name"=>"TEMP1STAT", # "class"=>"OpenC3::StatisticsProcessor", # "params"=>["TEMP1", 100, "CONVERTED"]}, # {"name"=>"TEMP1WATER", # "class"=>"OpenC3::WatermarkProcessor", # "params"=>["TEMP1", "CONVERTED"]}], # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_item (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_item-since-500","content":" Returns an item hash. Ruby / Python Syntax: get_item("<Target Name> <Packet Name> <Item Name>") get_item("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Item Name\tName of the item. Ruby / Python Example: item = get_item("INST HEALTH_STATUS CCSDSVER") print(item) #{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # "data_type"=>"UINT", # "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)", # "endianness"=>"BIG_ENDIAN", # "required"=>false, # "overflow"=>"ERROR"} ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt","content":" Returns the number of times a specified telemetry packet has been received. Ruby / Python Syntax: get_tlm_cnt("<Target Name> <Packet Name>") get_tlm_cnt("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the telemetry packet. Ruby / Python Example: tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received. ","version":"Next","tagName":"h3"},{"title":"set_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_tlm","content":" Sets a telemetry item value in the Command and Telemetry Server. This value will be overwritten if a new packet is received from an interface. For that reason this method is most useful if interfaces are disconnected or for testing via the Script Runner disconnect mode. Manually setting telemetry values allows for the execution of many logical paths in scripts. Ruby / Python Syntax: set_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tValue type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW) check("INST HEALTH_STATUS COLLECTS == 10", type: :RAW) Python Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type='RAW') check("INST HEALTH_STATUS COLLECTS == 10", type='RAW') ","version":"Next","tagName":"h3"},{"title":"inject_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#inject_tlm","content":" Injects a packet into the system as if it was received from an interface. Ruby / Packet Syntax: inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item Hash\tHash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil. type\tType of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: inject_tlm("INST", "PARAMS", {'VALUE1' => 5.0, 'VALUE2' => 7.0}) Python Example: inject_tlm("INST", "PARAMS", {'VALUE1': 5.0, 'VALUE2': 7.0}) ","version":"Next","tagName":"h3"},{"title":"override_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#override_tlm","content":" Sets the converted value for a telmetry point in the Command and Telemetry Server. This value will be maintained even if a new packet is received on the interface unless the override is canceled with the normalize_tlm method. Ruby / Python Syntax: override_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tType to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0 Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type='RAW') # Only RAW tlm set to 0 ","version":"Next","tagName":"h3"},{"title":"normalize_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#normalize_tlm","content":" Clears the override of a telmetry point in the Command and Telemetry Server. Ruby / Python Syntax: normalize_tlm("<Target> <Packet> <Item>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name type\tType to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override Python Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type='RAW') # clear only the RAW override ","version":"Next","tagName":"h3"},{"title":"get_overrides​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overrides","content":" Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm. Ruby / Python Syntax: get_overrides() Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") puts get_overrides() #=> # [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ] Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") print(get_overrides()) #=> # [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ] ","version":"Next","tagName":"h3"},{"title":"Packet Data Subscriptions​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#packet-data-subscriptions","content":" Methods for subscribing to specific packets of data. This provides an interface to ensure that each telemetry packet is received and handled rather than relying on polling where some data may be missed. ","version":"Next","tagName":"h2"},{"title":"subscribe_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#subscribe_packets-since-503","content":" Allows the user to listen for one or more telemetry packets of data to arrive. A unique id is returned which is used to retrieve the data. Ruby / Python Syntax: subscribe_packets(packets) Parameter\tDescriptionpackets\tNested array of target name/packet name pairs that the user wishes to subscribe to. Ruby / Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) ","version":"Next","tagName":"h3"},{"title":"get_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packets-since-503","content":" Streams packet data from a previous subscription. Ruby Syntax: get_packets(id, block: nil, count: 1000) Python Syntax: get_packets(id, block=None, count=1000) Parameter\tDescriptionid\tUnique id returned by subscribe_packets block\tNumber of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block) count\tMaximum number of packets to return from EACH packet stream Ruby Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 0.1 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block: 1000, count: 1) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(0.1) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block=1000, count=1) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt-1","content":" Get the receive count for a telemetry packet Ruby / Python Syntax: get_tlm_cnt("<Target> <Packet>") get_tlm_cnt("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnt("INST HEALTH_STATUS") #=> 10 ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnts","content":" Get the receive counts for an array of telemetry packets Ruby / Python Syntax: get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]]) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]]) #=> [100, 10] ","version":"Next","tagName":"h3"},{"title":"get_packet_derived_items​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packet_derived_items","content":" Get the list of derived telemetry items for a packet Ruby / Python Syntax: get_packet_derived_items("<Target> <Packet>") get_packet_derived_items("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_packet_derived_items("INST HEALTH_STATUS") #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...] ","version":"Next","tagName":"h3"},{"title":"Delays​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delays","content":" These methods allow the user to pause the script to wait for telemetry to change or for an amount of time to pass. ","version":"Next","tagName":"h2"},{"title":"wait​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait","content":" Pauses the script for a configurable amount of time (minimum 10ms) or until a converted telemetry item meets given criteria. It supports three different syntaxes as shown. If no parameters are given then an infinite wait occurs until the user presses Go. Note that on a timeout, wait does not stop the script, usually wait_check is a better choice. Ruby / Python Syntax: elapsed = wait() #=> Returns the actual time waited elapsed = wait(<Time>) #=> Returns the actual time waited Parameter\tDescriptionTime\tTime in Seconds to delay for. Ruby / Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Example: elapsed = wait elapsed = wait 5 success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false) Python Example: elapsed = wait() elapsed = wait(5) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type='RAW', quiet=False) ","version":"Next","tagName":"h3"},{"title":"wait_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item meets equals an expected value within a tolerance. Note that on a timeout, wait_tolerance does not stop the script, usually wait_check_tolerance is a better choice. Ruby Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true) Python Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW', quiet=True) ","version":"Next","tagName":"h3"},{"title":"wait_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually wait_check_expression is a better choice. Syntax: # Returns true or false based on the whether the expression is true or false success = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will continue. Note that on a timeout, wait_packet does not stop the script, usually wait_check_packet is a better choice. Ruby / Python Syntax: # Returns true or false based on the whether the packet was received success = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"wait_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check","content":" Combines the wait and check keywords into one. This pauses the script until the converted value of a telemetry item meets given criteria or times out. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW) Python Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item equals an expected value within a tolerance. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW) Python Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for check_expression. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. Ruby / Python Example: elapsed = wait_check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_check_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will stop. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the packets elapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting specified number of packets. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"Limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits","content":" These methods deal with handling telemetry limits. ","version":"Next","tagName":"h2"},{"title":"limits_enabled?, limits_enabled​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits_enabled-limits_enabled","content":" The limits_enabled? method returns true/false depending on whether limits are enabled for a telemetry item. Ruby Syntax: limits_enabled?("<Target Name> <Packet Name> <Item Name>") Python Syntax: limits_enabled("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby Example: enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false Python Example: enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False ","version":"Next","tagName":"h3"},{"title":"enable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits","content":" Enables limits monitoring for the specified telemetry item. Ruby / Python Syntax: enable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: enable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"disable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits","content":" Disables limits monitoring for the specified telemetry item. Ruby / Python Syntax: disable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: disable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"enable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits_group","content":" Enables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: enable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: enable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"disable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits_group","content":" Disables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: disable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: disable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"get_limits_groups​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_groups","content":" Returns the list of limits groups in the system. Ruby / Python Syntax / Example: limits_groups = get_limits_groups() ","version":"Next","tagName":"h3"},{"title":"set_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits_set","content":" Sets the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax: set_limits_set("<Limits Set Name>") Parameter\tDescriptionLimits Set Name\tName of the limits set. Ruby / Python Example: set_limits_set("DEFAULT") ","version":"Next","tagName":"h3"},{"title":"get_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_set","content":" Returns the name of the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax / Example: limits_set = get_limits_set() ","version":"Next","tagName":"h3"},{"title":"get_limits_sets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_sets","content":" Returns the list of limits sets in the system. Ruby / Python Syntax / Example: limits_sets = get_limits_sets() ","version":"Next","tagName":"h3"},{"title":"get_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits","content":" Returns hash / dict of all the limits settings for a telemetry point. Ruby / Python Syntax: get_limits(<Target Name>, <Packet Name>, <Item Name>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item Packet Name\tName of the telemetry packet of the telemetry item Item Name\tName of the telemetry item Ruby Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') puts result #=> {"DEFAULT"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], "TVAC"=>[-80.0, -30.0, 30.0, 80.0]} puts result.keys #=> ['DEFAULT', 'TVAC'] puts result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] Python Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') print(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]} print(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC']) print(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] ","version":"Next","tagName":"h3"},{"title":"set_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits","content":" The set_limits_method sets limits settings for a telemetry point. Note: In most cases it would be better to update your config files or use different limits sets rather than changing limits settings in realtime. Ruby / Python Syntax: set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Red Low\tRed Low setting for this limits set. Any value below this value will be make the item red. Yellow Low\tYellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow. Yellow High\tYellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow. Red High\tRed High setting for this limits set. Any value above this value will be make the item red. Green Low\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Green High\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Limits Set\tOptional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set. Persistence\tOptional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets. Enabled\tOptional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets. Ruby / Python Example: set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true) ","version":"Next","tagName":"h3"},{"title":"get_out_of_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_out_of_limits","content":" Returns an array with the target_name, packet_name, item_name, and limits_state of all items that are out of their limits ranges. Ruby / Python Syntax / Example: out_of_limits_items = get_out_of_limits() ","version":"Next","tagName":"h3"},{"title":"get_overall_limits_state​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overall_limits_state","content":" Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'. Ruby / Python Syntax: get_overall_limits_state(<Ignored Items> (optional)) Parameter\tDescriptionIgnored Items\tArray of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...] Ruby / Python Example: overall_limits_state = get_overall_limits_state() overall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']]) ","version":"Next","tagName":"h3"},{"title":"get_limits_events​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_events","content":" Returns limits events based on an offset returned from the last time it was called. Ruby / Python Syntax: get_limits_event(<Offset>, count) Parameter\tDescriptionOffset\tOffset returned by the previous call to get_limits_event. Default is nil for the initial call count\tNamed parameter specifying the maximum number of limits events to return. Default is 100 Ruby / Python Example: events = get_limits_event() print(events) #[["1613077715557-0", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"YELLOW_LOW", # "new_limits_state"=>"RED_LOW", # "time_nsec"=>"1", # "message"=>"message"}], # ["1613077715557-1", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"RED_LOW", # "new_limits_state"=>"YELLOW_LOW", # "time_nsec"=>"2", # "message"=>"message"}]] # The last offset is the first item ([0]) in the last event ([-1]) events = get_limits_event(events[-1][0]) print(events) #[["1613077715657-0", # {"type"=>"LIMITS_CHANGE", # ... ","version":"Next","tagName":"h3"},{"title":"Targets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#targets","content":" Methods for getting knowledge about targets. ","version":"Next","tagName":"h2"},{"title":"get_target_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_names","content":" Returns a list of the targets in the system in an array. Ruby Syntax / Example: targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED'] ","version":"Next","tagName":"h3"},{"title":"get_target​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target","content":" Returns a target hash containing all the information about the target. Ruby Syntax: get_target("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: target = get_target("INST") print(target) #{"name"=>"INST", # "folder_name"=>"INST", # "requires"=>[], # "ignored_parameters"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "PKTID"], # "ignored_items"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "RECEIVED_COUNT", # "RECEIVED_TIMESECONDS", # "RECEIVED_TIMEFORMATTED"], # "limits_groups"=>[], # "cmd_tlm_files"=> # [".../targets/INST/cmd_tlm/inst_cmds.txt", # ".../targets/INST/cmd_tlm/inst_tlm.txt"], # "cmd_unique_id_mode"=>false, # "tlm_unique_id_mode"=>false, # "id"=>nil, # "updated_at"=>1613077058266815900, # "plugin"=>nil} ","version":"Next","tagName":"h3"},{"title":"get_target_interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_interfaces","content":" Returns the interfaces for all targets. The return value is an array of arrays where each subarray contains the target name, and a String of all the interface names. Syntax / Example: target_ints = get_target_interfaces() target_ints.each do |target_name, interfaces| puts "Target: #{target_name}, Interfaces: #{interfaces}" end ","version":"Next","tagName":"h3"},{"title":"Interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interfaces","content":" These methods allow the user to manipulate COSMOS interfaces. ","version":"Next","tagName":"h2"},{"title":"get_interface (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface-since-500","content":" Returns an interface status including the as built interface and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: interface = get_interface("INST_INT") print(interface) #{"name"=>"INST_INT", # "config_params"=>["interface.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_interface_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface_names","content":" Returns a list of the interfaces in the system in an array. Ruby / Python Syntax / Example: interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT'] ","version":"Next","tagName":"h3"},{"title":"connect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_interface","content":" Connects to targets associated with a COSMOS interface. Ruby / Python Syntax: connect_interface("<Interface Name>", <Interface Parameters (optional)>) Parameter\tDescriptionInterface Name\tName of the interface. Interface Parameters\tParameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_interface("INT1") connect_interface("INT1", hostname, port) ","version":"Next","tagName":"h3"},{"title":"disconnect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_interface","content":" Disconnects from targets associated with a COSMOS interface. Ruby / Python Syntax: disconnect_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: disconnect_interface("INT1") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_interface","content":" Starts logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_interface","content":" Stops logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"get_all_interface_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_interface_info","content":" Returns information about all interfaces. The return value is an array of arrays where each subarray contains the interface name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, command count, and telemetry count. Ruby Syntax / Example: interface_info = get_all_interface_info() interface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count| puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}" end Python Syntax / Example: interface_info = get_all_interface_info() for interface in interface_info(): # [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count] print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}") print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}") print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}") ","version":"Next","tagName":"h3"},{"title":"map_target_to_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#map_target_to_interface","content":" Map a target to an interface allowing target commands and telemetry to be processed by that interface. Ruby / Python Syntax: map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old) Parameter\tDescriptionTarget Name\tName of the target Interface Name\tName of the interface cmd_only\tNamed parameter whether to map target commands only to the interface (default: false) tlm_only\tNamed parameter whether to map target telemetry only to the interface (default: false) unmap_old\tNamed parameter whether remove the target from all existing interfaces (default: true) Ruby Example: map_target_to_interface("INST", "INST_INT", unmap_old: false) Python Example: map_target_to_interface("INST", "INST_INT", unmap_old=False) ","version":"Next","tagName":"h3"},{"title":"interface_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_cmd","content":" Send a command directly to an interface. This has no effect in the standard COSMOS interfaces but can be implemented by a custom interface to change behavior. Ruby / Python Syntax: interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: interface_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"interface_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_protocol_cmd","content":" Send a command directly to an interface protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Routers​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#routers","content":" These methods allow the user to manipulate COSMOS routers. ","version":"Next","tagName":"h2"},{"title":"connect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_router","content":" Connects a COSMOS router. Ruby / Python Syntax: connect_router("<Router Name>", <Router Parameters (optional)>) Parameter\tDescriptionRouter Name\tName of the router. Router Parameters\tParameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_ROUTER("INST_ROUTER") connect_router("INST_ROUTER", 7779, 7779, nil, 10.0, 'PREIDENTIFIED') ","version":"Next","tagName":"h3"},{"title":"disconnect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_router","content":" Disconnects a COSMOS router. Ruby / Python Syntax: disconnect_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: disconnect_router("INT1_ROUTER") ","version":"Next","tagName":"h3"},{"title":"get_router_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router_names","content":" Returns a list of the routers in the system in an array. Ruby / Python Syntax / Example: router_names = get_router_names() #=> ['ROUTER_INT'] ","version":"Next","tagName":"h3"},{"title":"get_router (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router-since-500","content":" Returns a router status including the as built router and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: router = get_router("ROUTER_INT") print(router) #{"name"=>"ROUTER_INT", # "config_params"=>["router.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_all_router_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_router_info","content":" Returns information about all routers. The return value is an array of arrays where each subarray contains the router name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, packets received, and packets sent. Ruby Syntax / Example: router_info = get_all_router_info() router_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent| puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}" end Python Syntax / Example: router_info = get_all_router_info() # router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent for router in router_info: print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}") print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}") print(f"Packets received: {router[7]}, Packets sent: {router[8]}") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_router","content":" Starts logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_router","content":" Stops logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"router_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_cmd","content":" Send a command directly to a router. This has no effect in the standard COSMOS routers but can be implemented by a custom router to change behavior. Ruby / Python Syntax: router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: router_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"router_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_protocol_cmd","content":" Send a command directly to an router protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index) Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Stashing Data​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stashing-data","content":" These methods allow the user to store temporary data into COSMOS and retrieve it. The storage is implemented as a key / value storage (Ruby hash or Python dict). This can be used in scripts to store information that applies across multiple scripts or multiple runs of a single script. ","version":"Next","tagName":"h2"},{"title":"stash_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_set","content":" Sets a stash item. Ruby / Python Syntax: stash_set("<Stash Key>", <Stash Value>) Parameter\tDescriptionStash Key\tName of the stash key to set Stash Value\tValue to set Ruby / Python Example: stash_set('run_count', 5) stash_set('setpoint', 23.4) ","version":"Next","tagName":"h3"},{"title":"stash_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_get","content":" Returns the specified stash item. Ruby / Python Syntax: stash_get("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to return Ruby / Python Example: stash_get('run_count') #=> 5 ","version":"Next","tagName":"h3"},{"title":"stash_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_all","content":" Returns all the stash items as a Ruby hash or Python dict. Ruby Syntax / Example: stash_all() #=> ['run_count' => 5, 'setpoint' => 23.4] Python Syntax / Example: stash_all() #=> ['run_count': 5, 'setpoint': 23.4] ","version":"Next","tagName":"h3"},{"title":"stash_keys​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_keys","content":" Returns all the stash keys. Ruby / Python Syntax / Example: stash_keys() #=> ['run_count', 'setpoint'] ","version":"Next","tagName":"h3"},{"title":"stash_delete​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_delete","content":" Deletes a stash item. Note this actions is permanent! Ruby / Python Syntax: stash_delete("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to delete Ruby / Python Example: stash_delete("run_count") ","version":"Next","tagName":"h3"},{"title":"Executing Other Procedures​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#executing-other-procedures","content":" These methods allow the user to bring in files of subroutines and execute other test procedures. ","version":"Next","tagName":"h2"},{"title":"start​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start","content":" Starts execution of another high level test procedure. No parameters can be given to high level test procedures. If parameters are necessary, then consider using a subroutine. Syntax: start("<Procedure Filename>") Parameter\tDescriptionProcedure Filename\tName of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported. Example: start("test1.rb") ","version":"Next","tagName":"h3"},{"title":"load_utility​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_utility","content":" Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement. Ruby / Python Syntax: load_utility("TARGET/lib/<Utility Filename>") Parameter\tDescriptionUtility Filename\tName of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb Example: load_utility("TARGET/lib/mode_changes.rb") # Ruby load_utility("TARGET/lib/mode_changes.py") # Python ","version":"Next","tagName":"h3"},{"title":"Opening, Closing & Creating Telemetry Screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#opening-closing--creating-telemetry-screens","content":" These methods allow the user to open, close or create unique telemetry screens from within a test procedure. ","version":"Next","tagName":"h2"},{"title":"display_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#display_screen","content":" Opens a telemetry screen at the specified position. Ruby / Python Syntax: display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen Ruby / Python Example: display_screen("INST", "ADCS", 100, 200) ","version":"Next","tagName":"h3"},{"title":"clear_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_screen","content":" Closes an open telemetry screen. Ruby / Python Syntax: clear_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: clear_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"clear_all_screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_all_screens","content":" Closes all open screens. Ruby / Python Syntax / Example: clear_all_screens() ","version":"Next","tagName":"h3"},{"title":"delete_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_screen","content":" Deletes an existing Telemetry Viewer screen. Ruby / Python Syntax: delete_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: delete_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"get_screen_list​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_list","content":" The get_screen_list returns a list of available telemetry screens. Ruby / Python Syntax / Example: get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...] ","version":"Next","tagName":"h3"},{"title":"get_screen_definition​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_definition","content":" The get_screen_definition returns the text file contents of a telemetry screen definition. Syntax: get_screen_definition("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: screen_definition = get_screen_definition("INST", "HS") ","version":"Next","tagName":"h3"},{"title":"create_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#create_screen","content":" The create_screen allows you to create a screen directly from a script. This screen is saved to Telemetry Viewer for future use in that application. Python / Ruby Syntax: create_screen("<Target Name>", "<Screen Name>" "<Definition>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) Python Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) ","version":"Next","tagName":"h3"},{"title":"local_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#local_screen","content":" The local_screen allows you to create a local screen directly from a script which is not permanently saved to the Telemetry Viewer screen list. This is useful for one off screens that help users interact with scripts. Python / Ruby Syntax: local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionScreen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen NOTE: It is possible to specify a X, Y location off the visible display. If you do so and try to re-create the screen it will not display (because it is already displayed). Try issuing a clear_all_screens() first to clear any screens off the visible display space. Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) Python Example: screen_def = """ SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END """ # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) ","version":"Next","tagName":"h3"},{"title":"Script Runner Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-settings","content":" These methods allow the user to control various Script Runner settings. ","version":"Next","tagName":"h2"},{"title":"set_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_line_delay","content":" This method sets the line delay in script runner. Ruby / Python Syntax: set_line_delay(<Delay>) Parameter\tDescriptionDelay\tThe amount of time script runner will wait between lines when executing a script, in seconds. Should be ≥ 0.0 Ruby / Python Example: set_line_delay(0.0) ","version":"Next","tagName":"h3"},{"title":"get_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_line_delay","content":" The method gets the line delay that script runner is currently using. Ruby / Python Syntax / Example: curr_line_delay = get_line_delay() ","version":"Next","tagName":"h3"},{"title":"set_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_max_output","content":" This method sets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax: set_max_output(<Characters>) Parameter\tDescriptionCharacters\tNumber of characters to output before truncating Ruby / Python Example: set_max_output(100) ","version":"Next","tagName":"h3"},{"title":"get_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_max_output","content":" The method gets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax / Example: print(get_max_output()) #=> 50000 ","version":"Next","tagName":"h3"},{"title":"disable_instrumentation​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_instrumentation","content":" Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented. Consider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script. Use with Caution Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop. Ruby Syntax / Example: disable_instrumentation do 1000.times do # Don't want this to have to highlight 1000 times end end Python Syntax / Example: with disable_instrumentation(): for x in range(1000): # Don't want this to have to highlight 1000 times ","version":"Next","tagName":"h3"},{"title":"Script Runner Suites​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-suites","content":" Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see running script suites. ","version":"Next","tagName":"h2"},{"title":"add_group, add_group_setup, add_group_teardown, add_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#add_group-add_group_setup-add_group_teardown-add_script","content":" Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'. Ruby / Python Syntax: add_group(<Group Class>) add_group_setup(<Group Class>) add_group_teardown(<Group Class>) add_script(<Group Class>, <Method>) Parameter\tDescriptionGroup Class\tName of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly. Method\tName of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly. Ruby Example: load 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def script_1 # Insert test code here ... end end class WrapperGroup < OpenC3::Group def setup # Insert test code here ... end def my_method # Insert test code here ... end def teardown # Insert test code here ... end end class MySuite < OpenC3::Suite def initialize super() add_group('ExampleGroup') add_group_setup('WrapperGroup') add_script('WrapperGroup', 'my_method') add_group_teardown('WrapperGroup') end end Python Example: from openc3.script import * from openc3.script.suite import Group, Suite class ExampleGroup(Group): def script_1(self): # Insert test code here ... pass class WrapperGroup(Group): def setup(self): # Insert test code here ... pass def my_method(self): # Insert test code here ... pass def teardown(self): # Insert test code here ... pass class MySuite(Suite): def __init__(self): super().__init__() self.add_group(ExampleGroup) self.add_group_setup(WrapperGroup) self.add_script(WrapperGroup, 'my_method') self.add_group_teardown(WrapperGroup) ","version":"Next","tagName":"h3"},{"title":"Script Runner Debugging​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-debugging","content":" These methods allow the user to debug scripts with ScriptRunner. ","version":"Next","tagName":"h2"},{"title":"step_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#step_mode","content":" Places ScriptRunner into step mode where Go must be hit to proceed to the next line. Ruby / Python Syntax / Example: step_mode() ","version":"Next","tagName":"h3"},{"title":"run_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#run_mode","content":" Places ScriptRunner into run mode where the next line is run automatically. Ruby / Python Syntax / Example: run_mode() ","version":"Next","tagName":"h3"},{"title":"disconnect_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_script","content":" Puts scripting into disconnect mode. In disconnect mode, commands are not sent to targets, checks are all successful, and waits expire instantly. Requests for telemetry (tlm()) typically return 0. Disconnect mode is useful for dry-running scripts without having connected targets. Ruby / Python Syntax / Example: disconnect_script() ","version":"Next","tagName":"h3"},{"title":"Metadata​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata","content":" Metadata allows you to mark the regular target / packet data logged in COSMOS with your own fields. This metadata can then be searched and used to filter data when using other COSMOS tools. ","version":"Next","tagName":"h2"},{"title":"metadata_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_all","content":" Returns all the metadata that was previously set Ruby / Python Syntax: metadata_all() Parameter\tDescriptionlimit\tAmount of metadata items to return. Default is 100. Ruby Example: metadata_all(limit: 500) Python Example: metadata_all(limit='500') ","version":"Next","tagName":"h3"},{"title":"metadata_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_get","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_get(start) Parameter\tDescriptionstart\tNamed parameter, time at which to retrieve metadata as integer seconds from epoch Ruby Example: metadata_get(start: 500) Python Example: metadata_get(start='500') ","version":"Next","tagName":"h3"},{"title":"metadata_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_set","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_set(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to store as metadata. start\tNamed parameter, time at which to store metadata. Default is now. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_set({ 'key' => 'value' }) metadata_set({ 'key' => 'value' }, color: '#ff5252') Python Example: metadata_set({ 'key': 'value' }) metadata_set({ 'key': 'value' }, color='ff5252') ","version":"Next","tagName":"h3"},{"title":"metadata_update​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_update","content":" Updates metadata that was previously set Ruby / Python Syntax: metadata_update(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to update as metadata. start\tNamed parameter, time at which to update metadata. Default is latest metadata. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_update({ 'key' => 'value' }) Python Example: metadata_update({ 'key': 'value' }) ","version":"Next","tagName":"h3"},{"title":"metadata_input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_input","content":" Prompts the user to set existing metadata values or create new a new one. Ruby / Python Syntax / Example: metadata_input() ","version":"Next","tagName":"h3"},{"title":"Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#settings","content":" COSMOS has several settings typically accessed through the Admin Settings tab. These APIs allow programmatic access to those same settings. ","version":"Next","tagName":"h2"},{"title":"list_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_settings","content":" Return all the current COSMOS setting name. These are the names that should be used in the other APIs. Ruby Syntax / Example: puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"] Python Syntax / Example: print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version'] ","version":"Next","tagName":"h3"},{"title":"get_all_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_settings","content":" Return all the current COSMOS settings along with their values. Ruby Syntax / Example: puts get_all_settings() #=> # { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507}, # "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007}, # "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465}, # "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} } Python Syntax / Example: print(get_all_settings()) #=> # { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507}, # 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007}, # 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465}, # 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} } ","version":"Next","tagName":"h3"},{"title":"get_setting, get_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_setting-get_settings","content":" Return the data from the given COSMOS setting. Returns nil (Ruby) or None (Python) if the setting does not exist. Ruby / Python Syntax: get_setting(<Setting Name>) get_settings(<Setting Name1>, <Setting Name2>, ...) Parameter\tDescriptionSetting Name\tName of the setting to return Ruby Example: puts get_setting('version') #=> "5.11.4-beta0" puts get_settings('version', 'rubygems_url') #=> ["5.11.4-beta0", "https://rubygems.org"] Python Example: print(get_setting('version')) #=> '5.11.4-beta0' print(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org'] ","version":"Next","tagName":"h3"},{"title":"set_setting​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_setting","content":" Sets the given setting value. Admin Passwork Required This API is only accessible externally (not within Script Runner) and requires the admin password. Ruby / Python Syntax: set_setting(<Setting Name>, <Setting Value>) Parameter\tDescriptionSetting Name\tName of the setting to change Setting Value\tSetting value to set Ruby Example: set_setting('rubygems_url', 'https://mygemserver') puts get_settings('rubygems_url') #=> "https://mygemserver" Python Example: set_setting('pypi_url', 'https://mypypiserver') print(get_settings('pypi_url')) #=> 'https://mypypiserver' ","version":"Next","tagName":"h3"},{"title":"Configuration​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#configuration","content":" Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration. ","version":"Next","tagName":"h2"},{"title":"config_tool_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#config_tool_names","content":" List all the configuration tool names which are used as the first parameter in the other APIs. Ruby Syntax / Example: names = config_tool_names() pp names #=> ["telemetry_grapher", "data_viewer"] Python Syntax / Example: names = config_tool_names() print(names) #=> ['telemetry_grapher', 'data_viewer'] ","version":"Next","tagName":"h3"},{"title":"list_configs​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_configs","content":" List all the saved configuration names under the given tool name. Ruby / Python Syntax: list_configs(<Tool Name>) Parameter\tDescriptionTool Name\tName of the tool to retrieve configuration names from Ruby Example: configs = list_configs('telemetry_grapher') pp configs #=> ['adcs', 'temps'] Python Example: configs = list_configs('telemetry_grapher') print(configs) #=> ['adcs', 'temps'] ","version":"Next","tagName":"h3"},{"title":"load_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_config","content":" Load a particular tool configuration. Tool Configuration Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys. Ruby / Python Syntax: load_config(<Tool Name>, <Configuration Name>) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration Ruby / Python Example: config = load_config('telemetry_grapher', 'adcs') print(config) #=> # [ { # "items": [ # { # "targetName": "INST", # "packetName": "ADCS", # "itemName": "CCSDSVER", # ... ","version":"Next","tagName":"h3"},{"title":"save_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#save_config","content":" Save a particular tool configuration. Ruby / Python Syntax: save_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to save the configuration in local mode Ruby / Python Example: save_config('telemetry_grapher', 'adcs', config) ","version":"Next","tagName":"h3"},{"title":"delete_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_config","content":" Delete a particular tool configuration. Ruby / Python Syntax: delete_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to delete the configuration in local mode Ruby / Python Example: delete_config('telemetry_grapher', 'adcs') ","version":"Next","tagName":"h3"}],"options":{"id":"default"}} \ No newline at end of file +{"searchDocs":[{"title":"Introduction","type":0,"sectionRef":"#","url":"/docs","content":"","keywords":"","version":"Next"},{"title":"So what is COSMOS, exactly?​","type":1,"pageTitle":"Introduction","url":"/docs#so-what-is-cosmos-exactly","content":" COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be anything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to development boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites. ","version":"Next","tagName":"h2"},{"title":"COSMOS Architecture​","type":1,"pageTitle":"Introduction","url":"/docs#cosmos-architecture","content":" COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. Keep reading for an in-depth discussion of each of the COSMOS Tools. ","version":"Next","tagName":"h3"},{"title":"Helpful Hints​","type":1,"pageTitle":"Introduction","url":"/docs#helpful-hints","content":" Throughout this guide there are a number of small-but-handy pieces of information that can make using COSMOS easier, more interesting, and less hazardous. Here's what to look out for. ProTips™ help you get more from COSMOS These are tips and tricks that will help you be a COSMOS wizard! Notes are handy pieces of information These are for the extra tidbits sometimes necessary to understand COSMOS. Warnings help you not blow things up Be aware of these messages if you wish to avoid certain death. Find a problem in the documentation or in COSMOS itself? Both using and hacking on COSMOS should be fun, simple, and easy, so if for some reason you find it's a pain, please create an issue on GitHub describing your experience so we can make it better. ","version":"Next","tagName":"h2"},{"title":"File Format","type":0,"sectionRef":"#","url":"/docs/configuration/format","content":"","keywords":"","version":"Next"},{"title":"Keyword / Parameters​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#keyword--parameters","content":" Each line of a COSMOS configuration file contains a single keyword followed by parameters. For example: COMMAND TARGET COLLECT BIG_ENDIAN "Collect command" The keyword is COMMAND and the parameters are TARGET, COLLECT, BIG_ENDIAN, and "Collect command". Keywords are parsed by COSMOS and parameters are checked for validity. Parameters can be required or optional although required parameters always come first. Some parameters have a limited set of valid values. For example, the COMMAND keyword above has the following documentation: PARAMETER\tDESCRIPTION\tREQUIREDTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse The Target and Command parameters can be any string and are required. The Endianness parameter is required and must be BIG_ENDIAN or LITTLE_ENDIAN. Other values will cause an error when parsed. The Description parameter must be enclosed in quotes and is optional. All the COSMOS configuration files document their keyword and parameters in this fashion. In addition, Example Usage is provided similar to the example given above. ","version":"Next","tagName":"h2"},{"title":"ERB​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#erb","content":" ERB stands for Embedded Ruby. ERB is a templating system for Ruby which allows you to use Ruby logic and variables to generate text files. There are two basic forms of ERB: <% Ruby code -- no output %> <%= Ruby expression -- insert result %> In a COSMOS Telemetry configuration file we could write the following: <% (1..5).each do |i| %> APPEND_ITEM VALUE<%= i %> 16 UINT "Value <%= i %> setting" <% end %> The first line is Ruby code which iterates from 1 up to and including 5 and places the value in the variable i. The code inside the block will be output to the file every time the iteration runs. The APPEND_ITEM line uses the value of i and directly outputs it to the file by using the <%= syntax. The result of the parsing will look like the following: APPEND_ITEM VALUE1 16 UINT "Value 1 setting" APPEND_ITEM VALUE2 16 UINT "Value 2 setting" APPEND_ITEM VALUE3 16 UINT "Value 3 setting" APPEND_ITEM VALUE4 16 UINT "Value 4 setting" APPEND_ITEM VALUE5 16 UINT "Value 5 setting" COSMOS uses ERB syntax extensively in a Plugin's plugin.txt configuration file. ","version":"Next","tagName":"h2"},{"title":"render​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#render","content":" COSMOS provides a method used inside ERB called render which renders a configuration file into another configuration file. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" <%= render "_ccsds_apid.txt", locals: {apid: 1} %> APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... The render method takes a parameter which is the name of the configuration file to inject into the top level file. This file is required to start with underscore to avoid being processed as a regular configuration file. This file is called a partial since it's part of a larger file. For example, _ccsds_apid.txt is defined as follows: APPEND_ID_ITEM CCSDSAPID 11 UINT <%= apid %> "CCSDS application process id" This would result in output as follows: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" APPEND_ID_ITEM CCSDSAPID 11 UINT 1 "CCSDS application process id" APPEND_ITEM COLLECTS 16 UINT "Number of collects" ... Note the variable apid was set to 1 using the locals: syntax. This is a very powerful way to add common headers and footer to every packet definition. See the INST target's cmd_tlm definitions in the Demo for a more comprehensive example. ","version":"Next","tagName":"h3"},{"title":"Line Continuation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#line-continuation","content":" COSMOS supports a line continuation character in configuration files. For a simple line continuation use the ampersand character: &. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN & "Health and status" This will strip the ampersand character and merge the two lines to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" Spaces around the second line are stripped so indentation does not matter. ","version":"Next","tagName":"h2"},{"title":"String Concatenation​","type":1,"pageTitle":"File Format","url":"/docs/configuration/format#string-concatenation","content":" COSMOS supports two different string concatenation characters in configuration files. To concatenate strings with a newline use the plus character: +. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" + "Additional description" The strings will be merged with a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status\\nAdditional description" To concatenate strings without a newline use the backslash character: \\. For example: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and status' \\ 'Additional description' The strings will be merged without a newline to result in: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN 'Health and statusAdditional description' The string continuation characters work with both single or double quoted strings but note that both lines MUST use the same syntax. You can not concatenate a single quoted string with a double quoted string or vice versa. Also note the indentation of the second line does not matter as whitespace is stripped. ","version":"Next","tagName":"h2"},{"title":"target.txt Keywords","type":0,"sectionRef":"#","url":"/docs/configuration/target","content":"","keywords":"","version":"Next"},{"title":"LANGUAGE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#language","content":" (Since 5.11.1) Programming language of the target interfaces and microservices The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating. Parameter\tDescription\tRequired\tRuby or Python Valid Values: ruby, python\tTrue Example Usage: LANGUAGE python ","version":"Next","tagName":"h2"},{"title":"REQUIRE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#require","content":" Requires a Ruby file List the Ruby files required to explicitly declare dependencies. This is now completely optional. Parameter\tDescription\tRequiredFilename\tFilename to require. For files in the target's lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.\tTrue Example Usage: REQUIRE limits_response.rb ","version":"Next","tagName":"h2"},{"title":"IGNORE_PARAMETER​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_parameter","content":" Ignore the given command parameter Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter. Parameter\tDescription\tRequiredParameter Name\tThe name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in.\tTrue Example Usage: IGNORE_PARAMETER CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"IGNORE_ITEM​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#ignore_item","content":" Ignore the given telemetry item Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet. Parameter\tDescription\tRequiredItem name\tThe name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in.\tTrue Example Usage: IGNORE_ITEM CCSDS_VERSION ","version":"Next","tagName":"h2"},{"title":"COMMANDS​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#commands","content":" Process the given command definition file This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process. Parameter\tDescription\tRequiredFilename\tName of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"TELEMETRY​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#telemetry","content":" Process the given telemetry definition file This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process. warning Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process. Parameter\tDescription\tRequiredFilename\tName of a telemetry definition file in the target's cmd_tlm directory, e.g. "tlm.txt".\tTrue Example Usage: COMMANDS inst_cmds_v2.txt TELEMETRY inst_tlm_v2.txt ","version":"Next","tagName":"h2"},{"title":"CMD_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#cmd_unique_id_mode","content":" (Since 4.4.0) Command packet identifiers don't all share the same bit offset, size, and type Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"TLM_UNIQUE_ID_MODE​","type":1,"pageTitle":"target.txt Keywords","url":"/docs/configuration/target#tlm_unique_id_mode","content":" (Since 4.4.0) Telemetry packets identifiers don't all share the same bit offset, size, and type Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method. warning Using this mode significantly slows packet identification ","version":"Next","tagName":"h2"},{"title":"SSL-TLS","type":0,"sectionRef":"#","url":"/docs/configuration/ssl-tls","content":"","keywords":"","version":"Next"},{"title":"Generate the certificate​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#generate-the-certificate","content":" Note: Self-signed certificates are considered insecure for the Internet. Firefox will treat the site as having an invalid certificate, while Chrome will act as if the connection was plain HTTP. To create a new Self-Signed SSL Certificate, use the openssl req command (run on linux from the cosmos-project root): openssl req -newkey rsa:4096 \\ -x509 \\ -sha256 \\ -days 3650 \\ -nodes \\ -out ./openc3-traefik/cert.crt \\ -keyout ./openc3-traefik/cert.key Country Name (2 letter code) [XX]:. State or Province Name (full name) []:. Locality Name (eg, city) [Default City]:. Organization Name (eg, company) [Default Company Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server hostname) []: <!-- UPDATE WITH YOUR HOSTNAME HERE --> Email Address []: Let's breakdown the command and understand what each option means: newkey rsa:4096 - Creates a new certificate request and 4096 bit RSA key. The default one is 2048 bits.x509 - Creates a X.509 Certificate.sha256 - Use 265-bit SHA (Secure Hash Algorithm).days 3650 - The number of days to certify the certificate for. 3650 is ten years. You can use any positive integer.nodes - Creates a key without a passphrase.out ./openc3-traefik/cert.crt - Specifies the filename to write the newly created certificate to. You can specify any file name.keyout ./openc3-traefik/cert.key - Specifies the filename to write the newly created private key to. You can specify any file name. For more information about the openssl req command options, visit the OpenSSL req documentation page. ","version":"Next","tagName":"h3"},{"title":"Updating the openc3-traefik Dockerfile​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-openc3-traefik-dockerfile","content":" Add the new cert to the traefik Docker container. --- a/openc3-traefik/Dockerfile +++ b/openc3-traefik/Dockerfile @@ -1,3 +1,4 @@ FROM traefik:2.4 COPY ./traefik.yaml /etc/traefik/traefik.yaml +COPY ./cert.crt ./cert.key /etc/certs/ EXPOSE 80 ","version":"Next","tagName":"h3"},{"title":"Updating the Traefik config​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#updating-the-traefik-config","content":" Configure Traefik to use the new cert file. openc3-traefik/traefik.yaml --- a/openc3-traefik/traefik.yaml +++ b/openc3-traefik/traefik.yaml @@ -3,6 +3,17 @@ +tls: + certificates: + - certFile: "/etc/certs/cert.crt" + keyFile: "/etc/certs/cert.key" # Listen for everything coming in on the standard HTTP port entrypoints: web: address: ":2900" + http: + redirections: + entryPoint: + to: websecure + scheme: https + websecure: + address: ":2943" + http: + tls: + domains: + - main: "<!-- UPDATE WITH YOUR HOSTNAME HERE -->" ","version":"Next","tagName":"h3"},{"title":"Update docker-compose.yaml​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#update-docker-composeyaml","content":" Update traefik to use secure port 443 instead of port 80. --- a/compose.yaml +++ b/compose.yaml services: openc3-minio: @@ -70,7 +70,7 @@ services: openc3-traefik: image: "ballaerospace/openc3-traefik:${OPENC3_TAG}" ports: - - "80:2900" + - "443:2943" restart: "unless-stopped" depends_on: Now you can run ./openc3.sh start to rebuild the Traefik container and it should include your new cert file. ","version":"Next","tagName":"h3"},{"title":"Let's Encrypt​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#lets-encrypt","content":" KEY​ privkey.pem is the "key" file Sometimes it is named as cert.key or example.com.key. CRT​ fullchain.pem is your "crt" file. Sometimes it is named as example.com.crt. CRT/KEY Bundle​ bundle.pem would be made like so: cat fullchain.pem privkey.pem > bundle.pem HAProxy is the only server that I know of that uses bundle.pem. cert.pem​ cert.pem contains ONLY your certificate, which can only be used by itself if the browser already has the certificate which signed it, which may work in testing (which makes it seem like it may be the right file), but will actually fail for many of your users in production with a security error of untrusted certificate. However, you don't generally use the cert.pem by itself. It's almost always coupled with chain.pem as fullchain.pem. chain.pem​ chain.pem is the intermediary signed authority, signed by the root authority - which is what all browsers are guaranteed to have in their pre-built cache. ","version":"Next","tagName":"h2"},{"title":"Checking certs​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#checking-certs","content":" You can inspect the cert like so: openssl x509 -in cert.pem -text -noout ","version":"Next","tagName":"h3"},{"title":"Extracting the certificate and keys from a .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extracting-the-certificate-and-keys-from-a-pfx-file","content":" The .pfx file, which is in a PKCS#12 format, contains the SSL certificate (public keys) and the corresponding private keys. You might have to import the certificate and private keys separately in an unencrypted plain text format to use it on another system. This topic provides instructions on how to convert the .pfx file to .crt and .key files. ","version":"Next","tagName":"h2"},{"title":"Extract .crt and .key files from .pfx file​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#extract-crt-and-key-files-from-pfx-file","content":" PREREQUISITE: Ensure OpenSSL is installed in the server that contains the SSL certificate. Start OpenSSL from the OpenSSL\\bin folder. Open the command prompt and go to the folder that contains your .pfx file. Run the following command to extract the private key: openssl pkcs12 -in [yourfile.pfx] -nocerts -out [drlive.key] You will be prompted to type the import password. Type the password that you used to protect your keypair when you created the .pfx file. You will be prompted again to provide a new password to protect the .key file that you are creating. Store the password to your key file in a secure place to avoid misuse. Run the following command to extract the certificate: openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [drlive.crt] Run the following command to decrypt the private key: openssl rsa -in [drlive.key] -out [drlive-decrypted.key] Type the password that you created to protect the private key file in the previous step. The .crt file and the decrypted and encrypted .key files are available in the path, where you started OpenSSL. ","version":"Next","tagName":"h3"},{"title":"Convert .pfx file to .pem format​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#convert-pfx-file-to-pem-format","content":" There might be instances where you might have to convert the .pfx file into .pem format. Run the following command to convert it into PEM format. openssl rsa -in [keyfile-encrypted.key] -outform PEM -out [keyfile-encrypted-pem.key] ","version":"Next","tagName":"h3"},{"title":"TLS1.2 INADEQUATE_SECURITY Errors​","type":1,"pageTitle":"SSL-TLS","url":"/docs/configuration/ssl-tls#tls12-inadequate_security-errors","content":" https://doc.traefik.io/traefik/https/tls/#cipher-suiteshttps://pkg.go.dev/crypto/tls#pkg-constants tls: options: default: cipherSuites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ","version":"Next","tagName":"h2"},{"title":"Tables","type":0,"sectionRef":"#","url":"/docs/configuration/table","content":"","keywords":"","version":"Next"},{"title":"Table Definition Files​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-definition-files","content":" Table definition files define the binary tables that can be displayed in COSMOS Table Manager. Table definitions are defined in the target's tables/config directory and are typically named after the table such as PPSSelectionTable_def.txt. The _def.txt extension helps to identify the file as a table definition. Table definitions can be combined using the TABLEFILE keyword. This allows you to build individual table components into a larger binary. The Table definition files share a lot of similarity with the Command Configuration. You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Table Keywords ","version":"Next","tagName":"h2"},{"title":"TABLEFILE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#tablefile","content":" Specify another file to open and process for table definitions Parameter\tDescription\tRequiredFile Name\tName of the file. The file will be looked for in the directory of the current definition file.\tTrue ","version":"Next","tagName":"h2"},{"title":"TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table","content":" Start a new table definition Parameter\tDescription\tRequiredName\tName of the table in quotes. The name will appear on the GUI tab.\tTrue Endianness\tIndicates if the data in this table is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Display\tIndicates the table contains KEY_VALUE rows (e.g. each row is unique), or a ROW_COLUMN table with identical rows containing different values. Valid Values: KEY_VALUE, ROW_COLUMN\tFalse When Display is KEY_VALUE the remaining parameters are: Parameter\tDescription\tRequiredDescription\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse When Display is ROW_COLUMN the remaining parameters are: Parameter\tDescription\tRequiredRows\tThe number of rows in the table\tFalse Description\tDescription of the table in quotes. The description is used in mouseover popups and status line information.\tFalse ","version":"Next","tagName":"h2"},{"title":"TABLE Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#table-modifiers","content":" The following keywords must follow a TABLE keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Offset\tBit offset into the table of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the table. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JSONPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * self.multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE HIDDEN​ Indicates that the parameter should not be shown to the user in the Table Manager GUI Hidden parameters still exist and will be saved to the resulting binary. This is useful for padding and other essential but non-user editable fields. UNEDITABLE​ Indicates that the parameter should be shown to the user but not editable. Uneditable parameters are useful for control fields which the user may be interested in but should not be able to edit. ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#append_parameter","content":" Defines a parameter in the current table Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the table.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse ","version":"Next","tagName":"h3"},{"title":"SELECT_TABLE​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#select_table","content":" Select an existing table for editing, typically done to override an existing definition Parameter\tDescription\tRequiredTable\tThe name of the existing table\tTrue ","version":"Next","tagName":"h2"},{"title":"DEFAULT​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#default","content":" Specify default values for a SINGLE row in a multi-column table If you have multiple rows you need a DEFAULT line for each row. If all your rows are identical consider using ERB as shown in the OpenC3 demo. Parameter\tDescription\tRequiredDefault values\tA STATE value or data value corresponding to the data type\tFalse ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Tables","url":"/docs/configuration/table#example-file","content":" Example File: TARGET/tables/config/MCConfigurationTable_def.txt TABLE "MC_Configuration" BIG_ENDIAN KEY_VALUE "Memory Control Configuration Table" APPEND_PARAMETER "Scrub_Region_1_Start_Addr" 32 UINT 0 0x03FFFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_1_End_Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_Start_Addr" 32 UINT 0 0x03FFFFB 0 FORMAT_STRING "0x%0X" APPEND_PARAMETER "Scrub_Region_2_End_Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF FORMAT_STRING "0x%0X" APPEND_PARAMETER "Dump_Packet_Throttle_(sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets" APPEND_PARAMETER "Memory_Scrubbing" 8 UINT 0 1 1 STATE DISABLE 0 STATE ENABLE 1 APPEND_PARAMETER "SIOC_Memory_Config" 8 UINT 1 3 3 APPEND_PARAMETER "Uneditable_Text" 32 UINT MIN MAX 0xDEADBEEF "Uneditable field" FORMAT_STRING "0x%0X" UNEDITABLE APPEND_PARAMETER "Uneditable_State" 16 UINT MIN MAX 0 "Uneditable field" STATE DISABLE 0 STATE ENABLE 1 UNEDITABLE APPEND_PARAMETER "Uneditable_Check" 16 UINT MIN MAX 1 "Uneditable field" STATE UNCHECKED 0 STATE CHECKED 1 UNEDITABLE APPEND_PARAMETER "Binary" 32 STRING 0xDEADBEEF "Binary string" APPEND_PARAMETER "Pad" 16 UINT 0 0 0 HIDDEN ","version":"Next","tagName":"h2"},{"title":"Developing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/developing","content":"","keywords":"","version":"Next"},{"title":"Development Tools​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#development-tools","content":" The core COSMOS team develops with the Visual Studio Code editor and we highly recommend it. We also utilize a number of extensions including docker, kubernetes, gitlens, prettier, eslint, python, vetur, and ruby. We commit our openc3.code-workspace configuration for VSCode to help configure these plugins. You also need Docker Desktop which you should already have as it is a requirement to run COSMOS. You'll also need NodeJS and yarn installed. Building COSMOS Note: We primarily develop COSMOS in MacOS so the commands here will reference bash scripts but the same files exist in Windows as batch scripts. Build COSMOS using the openc3.sh script: % ./openc3.sh build This will pull all the COSMOS container dependencies and build our local containers. Note: This can take a long time especially for your first build! Once the build completes you can see the built images with the following command: % docker image ls | grep "openc3" openc3inc/openc3-cosmos-init latest 4cac7a3ea9d3 29 hours ago 446MB openc3inc/openc3-cosmos-script-runner-api latest 4aacbaf49f7a 29 hours ago 431MB openc3inc/openc3-cosmos-cmd-tlm-api latest 9a8806bd4be3 3 days ago 432MB openc3inc/openc3-operator latest 223e98129fe9 3 days ago 405MB openc3inc/openc3-base latest 98df5c0378c2 3 days ago 405MB openc3inc/openc3-redis latest 5a3003a49199 8 days ago 111MB openc3inc/openc3-traefik latest ec13a8d16a2f 8 days ago 104MB openc3inc/openc3-minio latest 787f6e3fc0be 8 days ago 238MB openc3inc/openc3-node latest b3ee86d3620a 8 days ago 372MB openc3inc/openc3-ruby latest aa158bbb9539 8 days ago 326MB Offline Building If you're building in a offline environment or want to use a private Rubygems, NPM or APK server (e.g. Nexus), you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the .env file. Example values: ALPINE_VERSION=3.18 ALPINE_BUILD=9 RUBYGEMS_URL=https://rubygems.org NPM_URL=https://registry.npmjs.org APK_URL=http://dl-cdn.alpinelinux.org Running COSMOS Running COSMOS in development mode enables localhost access to internal API ports as well as sets RAILS_ENV=development in the cmd-tlm-api and script-runner-api Rails servers. To run in development mode: % ./openc3.sh dev You can now see the running containers (I removed CONTAINER ID, CREATED and STATUS to save space): % docker ps IMAGE COMMAND PORTS NAMES openc3/openc3-cmd-tlm-api:latest "/sbin/tini -- rails…" 127.0.0.1:2901->2901/tcp cosmos-openc3-cmd-tlm-api-1 openc3/openc3-script-runner-api:latest "/sbin/tini -- rails…" 127.0.0.1:2902->2902/tcp cosmos-openc3-script-runner-api-1 openc3/openc3-traefik:latest "/entrypoint.sh trae…" 0.0.0.0:2900->80/tcp cosmos-openc3-traefik-1 openc3/openc3-operator:latest "/sbin/tini -- ruby …" cosmos-openc3-operator-1 openc3/openc3-minio:latest "/usr/bin/docker-ent…" 127.0.0.1:9000->9000/tcp cosmos-openc3-minio-1 openc3/openc3-redis:latest "docker-entrypoint.s…" 127.0.0.1:6379->6379/tcp cosmos-openc3-redis-1 If you go to localhost:2900 you should see COSMOS up and running! ","version":"Next","tagName":"h2"},{"title":"Running a Frontend Application​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-frontend-application","content":" So now that you have COSMOS up and running how do you develop an individual COSMOS application? Bootstrap the frontend with yarn openc3-init % yarn Serve a local COSMOS application (CmdTlmServer, ScriptRunner, etc) openc3-init % cd plugins/packages/openc3-tool-scriptrunner openc3-tool-scriptrunner % yarn serve DONE Compiled successfully in 128722ms App running at: - Local: http://localhost:2914/tools/scriptrunner/ - Network: http://localhost:2914/tools/scriptrunner/ Note that the development build is not optimized. To create a production build, run npm run build. Set the single SPA override for the application Visit localhost:2900 and Right-click 'Inspect' In the console paste: localStorage.setItem("devtools", true); Refresh and you should see {...} in the bottom right Click the Default button next to the application (@openc3/tool-scriptrunner) Paste in the development path which is dependent on the port returned by the local yarn serve and the tool name (scriptrunner) http://localhost:2914/tools/scriptrunner/js/app.js Refresh the page and you should see your local copy of the application (Script Runner in this example). If you dynamically add code (like console.log) the yarn window should re-compile and the browser should refresh displaying your new code. It is highly recommended to get familiar with your browser's development tools if you plan to do frontend development. ","version":"Next","tagName":"h2"},{"title":"Running a Backend Server​","type":1,"pageTitle":"Developing COSMOS","url":"/docs/development/developing#running-a-backend-server","content":" If the code you want to develop is the cmd-tlm-api or script-runner-api backend servers there are several steps to enable access to a development copy. Run a development version of traefik. COSMOS uses traefik to direct API requests to the correct locations. % cd openc3-traefik openc3-traefik % docker ps # Look for the container with name including traefik openc3-traefik % docker stop cosmos-openc3-traefik-1 openc3-traefik % docker build --build-arg TRAEFIK_CONFIG=traefik-dev.yaml -t openc3-traefik-dev . openc3-traefik % docker run --network=openc3-cosmos-network -p 2900:2900 -it --rm openc3-traefik-dev Run a local copy of the cmd-tlm-api or script-runner-api % cd openc3-cosmos-cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker ps # Look for the container with name including cmd-tlm-api openc3-cosmos-cmd-tlm-api % docker stop cosmos-openc3-cosmos-cmd-tlm-api-1 # Run the following on Windows: openc3-cosmos-cmd-tlm-api> dev_server.bat # In Linux, set all the environment variables in the .env file, but override REDIS to be local openc3-cosmos-cmd-tlm-api % set -a; source ../.env; set +a openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % export OPENC3_REDIS_EPHEMERAL_HOSTNAME=127.0.0.1 openc3-cosmos-cmd-tlm-api % bundle install openc3-cosmos-cmd-tlm-api % bundle exec rails s Once the bundle exec rails s command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect. ","version":"Next","tagName":"h2"},{"title":"Log Structure","type":0,"sectionRef":"#","url":"/docs/development/log-structure","content":"","keywords":"","version":"Next"},{"title":"Packet Log File Format​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#packet-log-file-format","content":" Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as well as decommutated packets stored as JSON structures. ","version":"Next","tagName":"h2"},{"title":"File Header​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#file-header","content":" COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5_". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions. ","version":"Next","tagName":"h3"},{"title":"Entry Types​","type":1,"pageTitle":"Log Structure","url":"/docs/development/log-structure#entry-types","content":" Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data. Common Entry Format​ This common format is used for all packet log entries: Field\tData Type\tDescriptionLength\t32-bit Unsigned Integer\tTotal length of the entry in bytes not including the length field. Max entry size is therefore 4GiB. Entry Type\t4-bit Unsigned Integer\tEntry Type: 1 = Target Declaration 2 = Packet Declaraction 3 = Raw Packet 4 = JSON/CBOR Packet 5 = Offset Marker 6 = Key Map Cmd/Tlm Flag\t1-bit Unsigned Integer\t1 = Command 0 = Telemetry Stored Flag\t1-bit Unsigned Integer\t1 = Stored Data 0 = Realtime Data Id Flag\t1-bit Unsigned Integer\t1 = ID present 0 = ID not present CBOR Flag\t1-bit Unsigned Integer\tOnly Valid for "JSON/CBOR Packets" 1 = CBOR Data 0 = JSON Data Extra Flag\t1-bit Unsigned Integer\t1 = Extra present 0 = Extra Not Present (Added COSMOS 5.11) Received Time Flag\t1-bit Unsigned Integer\t1 = Received Time Present 0 = No Received Time (Added COSMOS 5.11.0) Reserved\t6-bit Unsigned Integer\tReserved for Future expansion. Should be set to 0 if unused. Entry Data\tVariable\tUnique data based on entry type. See Entry Types Below Id (Optional)\t32-byte Binary Hash\tIf the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration Target Declaration Entry​ Declares the name of a target the first time it is seen when writing the log file. Field\tData Type\tDescriptionTarget Name\tVariable-Length ASCII String\tTarget Name Packet Declaration Entry​ Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index. Field\tData Type\tDescriptionTarget Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc. Packet Name\tVariable-Length ASCII String\tPacket Name Raw Packet and JSON Packet Entries​ Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536. Packet Timestamp\t64-bit Unsigned Integer\tPacket timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the “packet time” for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed. Received Timestamp (Optional)\t64-bit Unsigned Integer\tOnly present if Received Time Flag is Set (Only currently in Raw log files). Received timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the received time” for both Raw packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can be extracted from the JSON data if needed. Extra Length (Optional)\t32-bit Unsigned Integer\tOnly Present if Extra Flag is Set. Length of extra data in bytes not including itself. Extra Data (Optional)\tVariable-Length Block Data\tOnly Present if Extra Flag is Set. CBOR or JSON encoded object of extra data. Packet Data\tVariable-Length Block Data\tThe Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry. Offset Marker Entry​ This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS. Field\tData Type\tDescriptionOffset Marker\tVariable-Length ASCII String\tRedis Offset Marker Key Map Entry​ The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file. Field\tData Type\tDescriptionPacket Index\t16-bit Unsigned Integer\tIndex into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. Key Map\tVariable-Length ASCII String\tKey Map Data with Mapping from numeric key to actual packet item name ","version":"Next","tagName":"h3"},{"title":"Protocols","type":0,"sectionRef":"#","url":"/docs/configuration/protocols","content":"","keywords":"","version":"Next"},{"title":"Packet Delineation Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#packet-delineation-protocols","content":" COSMOS provides the following packet delineation protocols: COBS, SLIP, Burst, Fixed, Length, Template (deprecated), Terminated and Preidentified. Each of these protocols has the primary purpose of separating out packets from a byte stream. COSMOS Enterprise provides the following packet delineation protocols: CCSDS CLTU (with BCH Encoding), CCSDS TCTF (with Randomizer), CCSDS TMTF (with Randomizer), and GEMS. Note that all protocols take a final parameter called "Allow Empty Data". This indicates whether the protocol will allow an empty string to be passed down to later Protocols (instead of returning :STOP). Can be true, false, or nil, where nil is interpreted as true unless the Protocol is the last Protocol of the chain. End users of a protocol will almost always simply leave off this parameter. For more information read the Custom Protocols documentation. Note the first parameter after the PROTOCOL keyword is how to apply the protocol: READ, WRITE, or READ_WRITE. Read applies the protocol on incoming packets (telemetry) and write on outgoing packets (commands). The next parameter is the protocol filename or class name. All other parameters are protocol specific. ","version":"Next","tagName":"h2"},{"title":"COBS Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cobs-protocol","content":" The Consistent Overhead Byte Stuffing (COBS) Protocol is an algorithm for encoding data bytes that results in efficient, reliable, unambiguous packet framing regardless of packet content, thus making it easy for receiving applications to recover from malformed packets. It employs the zero byte value to serve as a packet delimiter (a special value that indicates the boundary between packets). The algorithm replaces each zero data byte with a non-zero value so that no zero data bytes will appear in the packet and thus be misinterpreted as packet boundaries (See https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing for more). ","version":"Next","tagName":"h3"},{"title":"SLIP Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#slip-protocol","content":" The Serial Line IP (SLIP) Protocol defines a sequence of characters that frame IP packets on a serial line. It defines two special characters: END and ESC. END is 0xC0 and ESC is 0xDB. To send a packet, a SLIP host simply starts sending the data in the packet. If a data byte is the same code as END character, a two byte sequence of ESC and 0xDC is sent instead. If a data bytes is the same as an ESC character, an two byte sequence of ESC and 0xDD is sent instead. When the last byte in the packet has been sent, an END character is then transmitted (See https://datatracker.ietf.org/doc/html/rfc1055 for more). Parameter\tDescription\tRequired\tDefaultStart Char\tCharacter to place at the start of frames\tNo\tnil (no character) Read Strip Characters\tStrip off start_char and end_char from reads\tNo\ttrue Read Enable Escaping\tWhether to enable character escaping on reads\tNo\ttrue Write Enable Escaping\tWhether to enable character escaping on writes\tNo\ttrue End Char\tCharacter to place at the end of frames\tNo\t0xC0 Esc Char\tEscape character\tNo\t0xDB Escape End Char\tCharacter to escape End character\tNo\t0xDC Escape Esc Char\tCharacter to escape Esc character\tNo\t0xDD ","version":"Next","tagName":"h3"},{"title":"Burst Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#burst-protocol","content":" The Burst Protocol simply reads as much data as it can from the interface before returning the data as a COSMOS Packet (It returns a packet for each burst of data read). This Protocol relies on regular bursts of data delimited by time and thus is not very robust. However, it can utilize a sync pattern which does allow it to re-sync if necessary. It can also discard bytes from the incoming data to remove the sync pattern. Finally, it can add sync patterns to data being written out of the Interface. Parameter\tDescription\tRequired\tDefaultDiscard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Fixed Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#fixed-protocol","content":" The Fixed Protocol reads a preset minimum amount of data which is necessary to properly identify all the defined packets using the interface. It then identifies the packet and proceeds to read as much data from the interface as necessary to create the packet which it then returns. This protocol relies on all the packets on the interface being fixed in length. For example, all the packets using the interface are a fixed size and contain a simple header with a 32-bit sync pattern followed by a 16 bit ID. The Fixed Protocol would elegantly handle this case with a minimum read size of 6 bytes. The Fixed Protocol also supports a sync pattern, discarding leading bytes, and filling the sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultMinimum ID Size\tThe minimum number of bytes needed to identify a packet. All the packet definitions must declare their ID_ITEM(s) within this given number of bytes.\tYes Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes starting with the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Telemetry\tWhether the data is telemetry\tNo\ttrue (false means command) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Unknown Raise\tWhether to raise an exception for an unknown packet\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Length Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#length-protocol","content":" The Length Protocol depends on a length field at a fixed location in the defined packets using the interface. It then reads enough data to grab the length field, decodes it, and reads the remaining length of the packet. For example, all the packets using the interface contain a CCSDS header with a length field. The Length Protocol can be set up to handle the length field and even the length offset CCSDS uses. The Length Protocol also supports a sync pattern, discarding leading bytes, and filling the length and sync pattern similar to the Burst Protocol. Parameter\tDescription\tRequired\tDefaultLength Bit Offset\tThe bit offset from the start of the packet to the length field. Every packet using this interface must have the same structure such that the length field is the same size at the same location. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 bits Length Bit Size\tThe size in bits of the length field\tNo\t16 bits Length Value Offset\tThe offset to apply to the length field value. The actual value of the length field plus this offset should equal the exact number of bytes required to read all data for the packet (including the length field itself, sync pattern, etc). For example, if the length field indicates packet length minus one, this value should be one. Be sure to account for the length of the Sync Pattern in this value (if present).\tNo\t0 Bytes per Count\tThe number of bytes per each length field 'count'. This is used if the units of the length field is something other than bytes, e.g. if the length field count is in words.\tNo\t1 byte Length Endianness\tThe endianness of the length field. Must be either 'BIG_ENDIAN' or 'LITTLE_ENDIAN'.\tNo\t'BIG_ENDIAN' Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used. Discarding is one of the very last steps so any size and offsets above need to account for all the data before discarding.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Fill Length and Sync Pattern\tSetting this flag to true causes the length field and sync pattern (if present) to be filled automatically on outgoing packets.\tNo\tfalse The most confusing aspect of the Length Protocol is calculating the Length Value Offset. This is especially true in the commonly used CCSDS Space Packet Protocol. The best way to illustrate this is with an example. Suppose you have CCSDS Space Packets prepended with a Sync Pattern of 0x1ACFFC1D. This would look like the following: Sync (4 bytes)\tHeader (4 bytes)\tLength (2 bytes)\tData (4 bytes)0x1ACFFC1D\t0x0001CADB\t0x0003\t0xDEADBEEF In this case the total length of the packet is 14 bytes: 4 + 4 + 2 + 4 = 14. With 4 bytes of data, the length field is 3 because in CCSDS the length field is calculated as (data length - 1). So how would we calculate the Length Value Offset? COSMOS reads all the bytes in the packet (including the Sync Pattern) so the total length is 14 bytes. The length field is 3 so the Length Value Offset (offset to apply to the length field value) should be 11 (3 + 11 = 14). ","version":"Next","tagName":"h3"},{"title":"Terminated Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#terminated-protocol","content":" The Terminated Protocol delineates packets using termination characters found at the end of every packet. It continuously reads data until the termination characters are found at which point it returns the packet data. For example, all the packets using the interface are followed by 0xABCD. This data can either be a part of each packet that is kept or something which is known only by the Terminated Protocol and simply thrown away. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"GEMS Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#gems-protocol-enterprise","content":" The GEMS Protocol implements the Ground Equipment Monitoring Service protocol. It is added along with the TerminatedProtocol which delineates packets using '|END'. The GEMS Interface is currently only implemented in Ruby. The GEMS protocol doesn't take any parameters but should be added to an interface after the TerminatedProtocol and CmdResponseProtocol. plugin.txt Ruby Example: INTERFACE GEMS_INT tcpip_client_interface.rb openc3-operator 8080 8080 10.0 nil nil # TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false ... means: # wtc rtc strip discard sync fill # where wtc = write termination characters, end of the gems protocol: 0x7C454E44 == '|END' # rtc = read termination characters, end of the gems protocol: 0x7C454E44 == '|END' # strip = strip read termination (false) # discard = 0 bytes # sync pattern = beginning of the GEMS protocol: 0x7C47454D53 == '|GEMS' # fill = whether to fill in the sync pattern (false as we specify fill in our cmd/tlm definitions) PROTOCOL READ TerminatedProtocol 0x7C454E44 0x7C454E44 false 0 0x7C47454D53 false # CmdResponseProtocol 5.0 0.2 true means: # 5 sec response timeout, 0.2 sec response polling, # and true to raise exceptions when protocol errors occur PROTOCOL READ_WRITE CmdResponseProtocol 5.0 0.2 true PROTOCOL READ_WRITE GemsProtocol For a full example, please see the openc3-cosmos-gems-interface in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CCSDS CLTU Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ccsds-cltu-protocol-enterprise","content":" The CCSDS CLTU Protocol handles the CLTU (Communicates Link Transfer Unit) for Command Streams. It encodes outgoing messages with a BCH encoding and then applies a header and footer to the data. Parameter\tDescription\tRequired\tDefaultHeader\tHeader before BCH encoded data\tNo\t0xEB90 Footer\tFooter after BCH encoded data\tNo\t0xC5C5C5C5C5C5C579 Fill Byte\tBCH encoding fill byte\tNo\t0x55 For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CCSDS TCTF Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ccsds-tctf-protocol-enterprise","content":" The CCSDS TCTF Protocol handles the Telecommand Transfer Frame for Command Streams. Parameter\tDescription\tRequired\tDefaultRandomization\tWhether to encode and randomize the transfer frame\tNo\ttrue Error Control\tWhether to use the Frame Error Control Field and apply a 16 bit CRC\tNo\tfalse Bypass\tBypass bit where 0 is Type-A and 1 is Type-B (bypass frame acceptance checks)\tNo\t1 SCID\tSpacecraft Identifier (10 bits)\tNo\t0 VCID\tVirtual Channel Identifier (6 bits)\tNo\t0 For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CCSDS TMTF Protocol (Enterprise)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ccsds-tmtf-protocol-enterprise","content":" The CCSDS TMTF Protocol handles the Telemetry Transfer Frame for Telemetry Streams. It adds VCID, MC_FRM_CNT, VC_FRM_CNT to extra which will be included in the Decom data. Parameter\tDescription\tRequired\tDefaultSCID\tSpacecraft Identifier (10 bits)\tYes Frame Length No\t2048 Randomization\tWhether the transfer frame was encoded and randomized\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\t0x1ACFFC1D Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\ttrue For a full example, please see the openc3-cosmos-ccsds-protocols in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Template Protocol (Deprecated)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#template-protocol-deprecated","content":" This protocol is now deprecated because it is not able to capture the original SCPI messages in COSMOS raw logging. Please use the TemplateAccessor with the CmdResponseProtocol instead. The Template Protocol works much like the Terminated Protocol except it is designed for text-based command and response type interfaces such as SCPI (Standard Commands for Programmable Instruments). It delineates packets in the same way as the Terminated Protocol except each packet is referred to as a line (because each usually contains a line of text). For outgoing packets, a CMD_TEMPLATE field is expected to exist in the packet. This field contains a template string with items to be filled in delineated within HTML tag style brackets "<EXAMPLE>". The Template Protocol will read the named items from within the packet and fill in the CMD_TEMPLATE. This filled in string is then sent out rather than the originally passed in packet. Correspondingly, if a response is expected the outgoing packet should include a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data from the response string and build a corresponding RSP_PACKET. See the TEMPLATE target within the COSMOS Demo configuration for an example of usage. Parameter\tDescription\tRequired\tDefaultWrite Termination Characters\tThe data to write after writing a command packet. Given as a hex string such as 0xABCD.\tYes Read Termination Characters\tThe characters which delineate the end of a telemetry packet. Given as a hex string such as 0xABCD.\tYes Ignore Lines\tNumber of response lines to ignore (completely drop)\tNo\t0 lines Initial Read Delay\tAn initial delay after connecting after which the interface will be read till empty and data dropped. Useful for discarding connect headers and initial prompts.\tNo\tnil (no initial read) Response Lines\tThe number of lines that make up expected responses\tNo\t1 line Strip Read Termination\tWhether to remove the read termination characters before returning the telemetry packet\tNo\ttrue Discard Leading Bytes\tThe number of bytes to discard from the binary data after reading. Note that this applies to bytes including the sync pattern if the sync pattern is being used.\tNo\t0 (do not discard bytes) Sync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found including the sync pattern will be returned.\tNo\tnil (no sync pattern) Fill Fields\tWhether to fill in the sync pattern on outgoing packets\tNo\tfalse Response Timeout\tNumber of seconds to wait for a response before timing out\tNo\t5.0 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur like timeouts or unexpected responses\tNo\tfalse ","version":"Next","tagName":"h3"},{"title":"Preidentified Protocol (Internal)​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#preidentified-protocol-internal","content":" The Preidentified Protocol delineates packets using a custom COSMOS header. This internal Protocol was created to allow tools to connect and receive the entire packet stream. It can also be used to chain COSMOS instances together although that should rarely be needed with the new web native implementation. Parameter\tDescription\tRequired\tDefaultSync Pattern\tHex string representing a byte pattern that will be searched for in the raw data. This pattern represents a packet delimiter and all data found AFTER the sync pattern will be returned. The sync pattern itself is discarded.\tNo\tnil (no sync pattern) Max Length\tThe maximum allowed value in the length field\tNo\tnil (no maximum length) Mode\tThe Version of the preidentified protocol to support (2 or 4).3\tNo\t4 ","version":"Next","tagName":"h3"},{"title":"Helper Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#helper-protocols","content":" COSMOS provides the following helper protocols: CmdResponse, Crc and Ignore. These protocols provide helper functionality to Interfaces. ","version":"Next","tagName":"h2"},{"title":"CmdResponse Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#cmdresponse-protocol","content":" The CmdResponse Protocol waits for a response for any commands with a defined response packet. Parameter\tDescription\tRequired\tDefaultResponse Timeout\tNumber of seconds to wait before timing out when waiting for a response\tNo\t5 Response Polling Period\tNumber of seconds to wait between polling for a response\tNo\t0.02 Raise Exceptions\tWhether to raise exceptions when errors occur in the protocol like unexpected responses or response timeouts\tNo\tfalse Packet Definitions​ The CmdResponseProtocol utilizes the RESPONSE keyword in the command definition to determine which telemetry packet should be expected when the given command is sent. COMMAND SCPI_PS GET_STATUS BIG_ENDIAN "Gets status" ACCESSOR TemplateAccessor TEMPLATE ":MEAS:VOLT? (@1:2)" RESPONSE SCPI_PS STATUS The Response packet (STATUS) should be defined to contain the response data. TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Status" ACCESSOR TemplateAccessor TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>" APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Voltage Reading for Channel 1" UNITS VOLTS V FORMAT_STRING %0.3f APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Voltage Reading for Channel 2" UNITS VOLTS V FORMAT_STRING %0.3f For a full example, please see the openc3-cosmos-scpi-power-supply in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"CRC Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#crc-protocol","content":" The CRC protocol can add CRCs to outgoing commands and verify CRCs on incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultWrite Item Name\tItem to fill with calculated CRC value for outgoing packets (nil = don't fill)\tNo\tnil Strip CRC\tWhether to remove the CRC from incoming packets\tNo\tfalse Bad Strategy\tHow to handle CRC errors on incoming packets. ERROR = Just log the error, DISCONNECT = Disconnect interface\tNo\t"ERROR" Bit Offset\tBit offset of the CRC in the data. Can be negative to indicate distance from end of packet\tNo\t-32 Bit Size\tBit size of the CRC - Must be 16, 32, or 64\tNo\t32 Endianness\tEndianness of the CRC (BIG_ENDIAN/LITTLE_ENDIAN)\tNo\t"BIG_ENDIAN" Poly\tPolynomial to use when calculating the CRC expressed as an integer\tNo\tnil (use default polynomial - 16-bit=0x1021, 32-bit=0x04C11DB7, 64-bit=0x42F0E1EBA9EA3693) Seed\tSeed value to start the calculation\tNo\tnil (use default seed - 16-bit=0xFFFF, 32-bit=0xFFFFFFFF, 64-bit=0xFFFFFFFFFFFFFFFF) Xor\tWhether to XOR the CRC result with 0xFFFF\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) Reflect\tWhether to bit reverse each byte of data before calculating the CRC\tNo\tnil (use default value - 16-bit=false, 32-bit=true, 64-bit=true) ","version":"Next","tagName":"h3"},{"title":"Ignore Packet Protocol​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#ignore-packet-protocol","content":" The Ignore Packet protocol drops specified command packets sent by COSMOS or drops incoming telemetry packets. Parameter\tDescription\tRequired\tDefaultTarget Name\tTarget name of the packet to ignore\tYes\tnil Packet Name\tPacket name of the packet to ignore\tYes\tnil ","version":"Next","tagName":"h3"},{"title":"Custom Protocols​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#custom-protocols","content":" Creating a custom protocol is easy and should be the default solution for customizing COSMOS Interfaces (rather than creating a new Interface class). However, creating custom Interfaces is still useful for defaulting parameters to values that always are fixed for your target and for including the necessary Protocols. The base COSMOS Interfaces take a lot of parameters that can be confusing to your end users. Thus you may want to create a custom Interface just to hard coded these values and cut the available parameters down to something like the hostname and port to connect to. All custom Protocols should derive from the Protocol class openc3/interfaces/protocols/protocol.rb (Ruby) and openc3/interfaces/protocols/protocol.py (Python). This class defines the 9 methods that are relevant to writing your own protocol. The base class implementation for each method is included below as well as a discussion as to how the methods should be overridden and used in your own Protocols. Ruby Protocol APIs Protocols should not require 'openc3/script' since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. Python Protocol APIs Protocols should not from openc3.script import * since they are part of a COSMOS interface. They should use the COSMOS library code directly like System, Packet, Bucket, BinaryAccessor, etc. When in doubt, consult the existing COSMOS protocol classes. To really understand how Protocols work, you first must understand the logic within the base Interface class read and write methods. Let's first discuss the read method. Ruby Symbols, Python Strings In the following discussions an all caps word is a symbol in Ruby and a string in Python. So a reference to STOP means :STOP in Ruby and "STOP" in Python. On every call to read, an empty string "" is first passed down to each of the read Protocol's read_data() method before new raw data is attempted to be read using the Interface's read_interface() method. This is a signal to Protocols that have cached up more than one packet worth of data to output those cached packets before any new data is read from the Interface. Typically no data will be cached up and one of the Protocols read_data() methods will return STOP in response to the empty string, indicating that more data is required to generate a packet. Each Protocol's read_data() method can return one of three things: data that will be passed down to any additional Protocols or turned into a Packet, STOP which means more data is required from the Interface for the Protocol to continue, or DISCONNECT which means that something has happened that requires disconnecting the Interface (and by default trying to reconnect). Each Protocol's read_data() method is passed the data that will eventually be turned into a packet and returns a possibly modified set of data. If the data passes through all Protocol's read_data() methods it is then converted into a COSMOS packet using the Interface's convert_data_to_packet() method. This packet is then run in a similar fashion through each Read Protocol's read_packet() method. This method has essentially the same return possibilities: a Packet (instead of data as in read_data()), STOP, or DISCONNECT. If the Packet makes it through all read_packet() methods then the Interface packet read counter is incremented and the Packet is returned to the Interface. The Interface write() method works very similarly to read. (It should be mentioned that by default write protocols run in the reverse order of read protocols. This makes sense because when reading you're typically stripping layers of data and when writing you're typically adding on layers in reverse order.) First, the packet write counter is incremented. Then each write Protocol is given a chance to modify the packet by its write_packet() method being called. This method can either return a potentially modified packet, STOP, or DISCONNECT. If a write Protocol returns STOP no data will be written out the Interface and it is assumed that more packets are necessary before a final packet can be output. DISCONNECT will disconnect the Interface. If the packet makes it through all the write Protocol's write_packet() methods, then it is converted to binary data using the Interface's convert_packet_to_data() method. Next the write_data() method is called for each write Protocol giving it a chance to modify the lower level data. The same return options are available except a Ruby string of data is returned instead of a COSMOS packet. If the data makes it through all write_data() methods, then it is written out on the Interface using the write_interface() method. Afterwards, each Protocol's post_write_interface() method is called with both the final modified Packet, and the actual data written out to the Interface. This method allows follow-up such as waiting for a response after writing out a message. ","version":"Next","tagName":"h2"},{"title":"Method discussions​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#method-discussions","content":" ","version":"Next","tagName":"h2"},{"title":"initialize or init​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#initialize-or-init","content":" This is the constructor for your custom Protocol. It should always call super(allow_empty_data) to initialize the base Protocol class. Base class Ruby implementation: # @param allow_empty_data [true/false] Whether STOP should be returned on empty data def initialize(allow_empty_data = false) @interface = nil @allow_empty_data = ConfigParser.handle_true_false(allow_empty_data) reset() end Base class Python implementation: def __init__(self, allow_empty_data=None): self.interface = None self.allow_empty_data = ConfigParser.handle_true_false_none(allow_empty_data) self.reset() As you can see, every Protocol maintains state on at least two items. The interface variable holds the Interface class instance that the protocol is associated with. This is sometimes necessary to introspect details that only the Interface knows. allow_empty_data is a flag used by the read_data(data) method that is discussed later in this document. ","version":"Next","tagName":"h3"},{"title":"reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#reset","content":" The reset method is used to reset internal protocol state when the Interface is connected and/or disconnected. This method should be used for common resetting logic. Connect and Disconnect specific logic are handled in the next two methods. Base class Ruby implementation: def reset end Base class Python implementation: def reset(self): pass As you can see, the base class reset implementation doesn't do anything. ","version":"Next","tagName":"h3"},{"title":"connect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#connect_reset","content":" The connect_reset method is used to reset internal Protocol state each time the Interface is connected. Base class Ruby implementation: def connect_reset reset() end Base class Python implementation: def connect_reset(self): self.reset() The base class connect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"disconnect_reset​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#disconnect_reset","content":" The disconnect_reset method is used to reset internal Protocol state each time the Interface is disconnected. Base class Ruby implementation: def disconnect_reset reset() end Base class Python implementation: def disconnect_reset(self): self.reset() The base class disconnect_reset implementation just calls the reset method to ensure common reset logic is run. ","version":"Next","tagName":"h3"},{"title":"read_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_data","content":" The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def read_data(data) if (data.length <= 0) if @allow_empty_data.nil? if @interface and @interface.read_protocols[-1] == self # Last read interface in chain with auto @allow_empty_data return :STOP end elsif !@allow_empty_data # Don't @allow_empty_data means STOP return :STOP end end data end Base class Python implementation: def read_data(self, data, extra=None): if len(data) <= 0: if self.allow_empty_data is None: if self.interface and self.interface.read_protocols[-1] == self: # Last read interface in chain with auto self.allow_empty_data return ("STOP", extra) elif self.allow_empty_data: # Don't self.allow_empty_data means STOP return ("STOP", extra) return (data, extra) The base class implementation does nothing except return the data it was given. The only exception to this is when handling an empty string. If the allow_empty_data flag is false / False or if it is nil / None and the Protocol is the last in the chain, then the base implementation will return STOP to indicate that it is time to call the Interface read_interface() method to get more data. Blank strings are used to signal Protocols that they have an opportunity to return a cached packet. ","version":"Next","tagName":"h3"},{"title":"read_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#read_packet","content":" The read_packet method is used to analyze and potentially modify a COSMOS packet before it is returned by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be returned, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). This method is where a Protocol would set the stored flag on a packet if it determines that the packet is stored telemetry instead of real-time telemetry. Base class Ruby implementation: def read_packet(packet) return packet end Base class Python implementation: def read_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_packet​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_packet","content":" The write_packet method is used to analyze and potentially modify a COSMOS packet before it is output by the Interface. It takes one parameter as the current state of the packet to be analyzed. It can return either a COSMOS packet, STOP, or DISCONNECT. If it returns a COSMOS packet, then it believes that the packet is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the packet should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_packet(packet) return packet end Base class Python implementation: def write_packet(self, packet): return packet The base class always just returns the packet given. ","version":"Next","tagName":"h3"},{"title":"write_data​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#write_data","content":" The write_data method is used to analyze and potentially modify data before it is written out by the Interface. It takes one parameter as the current state of the data to be analyzed and sent. It can return either a string of data, STOP, or DISCONNECT. If it returns a string of data, then it believes that the data is valid, should be written out the Interface, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes the data should be silently dropped. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Base class Ruby implementation: def write_data(data) return data end Base class Python implementation: def write_data(self, data, extra=None): return (data, extra) The base class always just returns the data given. ","version":"Next","tagName":"h3"},{"title":"post_write_interface​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#post_write_interface","content":" The post_write_interface method is called after data has been written out the Interface. The typical use of this method is to provide a hook to implement command/response type interfaces where a response is always immediately expected in response to a command. It takes two parameters, the packet after all modifications by write_packet() and the data that was actually written out the Interface. It can return either the same pair of packet/data, STOP, or DISCONNECT. If it returns a packet/data pair then they are passed on to any other Protocols. If STOP is returned then the Interface write() call completes and no further Protocols post_write_interface() methods are called. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). Note that only the first parameter "packet", is checked to be STOP, or DISCONNECT on the return. Base class Ruby implementation: def post_write_interface(packet, data) return packet, data end Base class Python implementation: def post_write_interface(self, packet, data, extra=None): return (packet, data, extra) The base class always just returns the packet/data given. ","version":"Next","tagName":"h3"},{"title":"protocol_cmd​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#protocol_cmd","content":" The protocol_cmd method is used to send commands to the protocol itself. This is useful to change protocol behavior during runtime. See interface_protocol_cmd for more information. Base class Ruby implementation: def protocol_cmd(cmd_name, *cmd_args) # Default do nothing - Implemented by subclasses return false end Base class Python implementation: def protocol_cmd(self, cmd_name, *cmd_args): # Default do nothing - Implemented by subclasses return False The base class does nothing as this is special functionality implemented by subclasses. ","version":"Next","tagName":"h3"},{"title":"Examples​","type":1,"pageTitle":"Protocols","url":"/docs/configuration/protocols#examples","content":" Please see the linked Ruby Protocol and Python Protocol code for examples of the above methods in action. ","version":"Next","tagName":"h2"},{"title":"Testing with Curl","type":0,"sectionRef":"#","url":"/docs/development/curl","content":"","keywords":"","version":"Next"},{"title":"Curl Example with OpenC3 COSMOS Open Source​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-open-source","content":" OpenC3 COSMOS Open Source just has a single user account, so all you need to do is pass the single password as the token with your requests like this. Request: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: password" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Length: 51 Content-Type: application/json-rpc Etag: W/"e806aacfdbed0b325e7a5928e3bb5cf4" Vary: Origin X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939 X-Runtime: 0.059044 Date: Sat, 04 Nov 2023 21:34:47 GMT {"jsonrpc":"2.0","id":8,"result":53.26555000000001} ","version":"Next","tagName":"h2"},{"title":"Curl Example with OpenC3 COSMOS Enterprise​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#curl-example-with-openc3-cosmos-enterprise","content":" OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request. Keycloak Request: # Get tokens from Keycloak - You will need to update the username and password with your account curl -i -H "Content-Type: application/x-www-form-urlencoded" -d 'username=operator&password=operator&client_id=api&grant_type=password&scope=openid' -X POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token Keycloak Response: HTTP/1.1 200 OK Cache-Control: no-store Content-Length: 3207 Content-Type: application/json Pragma: no-cache Referrer-Policy: no-referrer Set-Cookie: KEYCLOAK_LOCALE=; Version=1; Comment=Expiring cookie; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Set-Cookie: KC_RESTART=; Version=1; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Max-Age=0; Path=/auth/realms/openc3/; HttpOnly Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block Date: Wed, 10 May 2023 00:40:40 GMT {"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA","expires_in":300,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w","not-before-policy":0,"session_state":"f3785967-2a46-4c12-ad0c-cff7fc477df9","scope":"openid profile email"} COSMOS Request: # COSMOS Request now looks like this: curl -i -H "Content-Type: application/json-rpc" -H "Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA" -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}' -X POST http://127.0.0.1:2900/openc3-api/api COSMOS Response: HTTP/1.1 200 OK Cache-Control: max-age=0, private, must-revalidate Content-Type: application/json-rpc Etag: W/"1e44c0878528687014e1e60a1cbebdae" Vary: Origin X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c X-Runtime: 0.046477 Date: Wed, 10 May 2023 00:41:33 GMT Transfer-Encoding: chunked {"jsonrpc":"2.0","id":8,"result":29.204100000000007} ","version":"Next","tagName":"h2"},{"title":"Suite Runner Example​","type":1,"pageTitle":"Testing with Curl","url":"/docs/development/curl#suite-runner-example","content":" It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser: You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as curl" (depends on the browser). Here is an example of the second one: curl 'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT' \\ -X 'POST' \\ -H 'Accept: application/json' \\ -H 'Accept-Language: en-US,en;q=0.9' \\ -H 'Authorization: pass' \\ -H 'Connection: keep-alive' \\ -H 'Content-Length: 0' \\ -H 'Origin: http://ascportal:2900' \\ -H 'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb' \\ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \\ --insecure Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case POST). If we inspect all of these we'll find out what each one does: Set the script contents this updates any local changes)Note that this is a different request to GET the script contents. This is done on the page load. Lock the script (so other users can't edit it during execution)Run script (this takes a JSON with options)Open Websocket for logsRequest Result (this URL is a little different because the results are saved in redis) Below is a bash script which does all the above given some options. It requires curl for the web requests and jq for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result. #!/bin/bash set -e TARGET=${1:-'TARGET'} SCRIPT=${2:-'procedures/cmd_tlm_test.rb'} SUITE=${3:-'TestSuite'} COSMOS_HOST='http://localhost:2900' SCRIPT_API="$COSMOS_HOST/script-api" SCRIPT_PATH="scripts/$TARGET/$SCRIPT" CURL_ARGS=( -H 'Accept: application/json' -H 'Authorization: password' -H 'Accept-Language: en-US,en;q=0.9' -H 'Connection: keep-alive' -H 'Content-Type: application/json' --insecure --silent ) # Lock script # curl "$SCRIPT_API/$SCRIPT_PATH/lock?scope=DEFAULT" -X "POST" "${CURL_ARGS[@]}" # Run script # RUN_OPTS=$(cat <<-json { "environment": [], "suiteRunner": { "method": "start", "suite": "$SUITE", "options": [ "continueAfterError" ] } } json ) RUN_OPTS=$(<<<"$RUN_OPTS" jq -rc .) ID=$(curl "$SCRIPT_API/$SCRIPT_PATH/run?scope=DEFAULT" --data-raw "$RUN_OPTS" "${CURL_ARGS[@]}") echo "Starting Script '$SCRIPT_PATH' at $(date) (may take up to 15 minutes)" > /dev/stderr echo "You can monitor it in Script Runner here: $COSMOS_HOST/tools/scriptrunner/$ID" > /dev/stderr # Loop while Script ID is still running # while true; do SCRIPT_STATUS="$(curl "$SCRIPT_API/running-script?scope=DEFAULT" "${CURL_ARGS[@]}" | jq ".[]|select(.id==$ID)")" if [[ -z $SCRIPT_STATUS ]]; then break; fi sleep 2 done # Request results # BUCKET_FILE_URI="$(curl "$SCRIPT_API/completed-scripts?scope=DEFAULT" "${CURL_ARGS[@]}" |\\ jq '[.[]|select(.name | test("'"${SCRIPT_PATH#scripts/}"' "))][0] | .log | @uri' -r)" URL="$(curl "$COSMOS_HOST/openc3-api/storage/download/$BUCKET_FILE_URI?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT" "${CURL_ARGS[@]}" |jq .url -r)" curl "$COSMOS_HOST$URL" "${CURL_ARGS[@]}" ","version":"Next","tagName":"h2"},{"title":"JSON API","type":0,"sectionRef":"#","url":"/docs/development/json-api","content":"","keywords":"","version":"Next"},{"title":"Authorization​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#authorization","content":" The HTTP Authorization request header contains the credentials to authenticate a user agent with a server, usually, but not necessarily, after the server has responded with a 401 Unauthorized status and the WWW-Authenticate header. Authorization: <token/password> ","version":"Next","tagName":"h2"},{"title":"JSON-RPC 2.0​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#json-rpc-20","content":" The COSMOS API implements a relaxed version of the JSON-RPC 2.0 Specification. Requests with an "id" of NULL are not supported. Numbers can contain special non-string literal's such as NaN, and +/-inf. Request params must be specified by-position, by-name is not supported. Section 6 of the spec, Batch Operations, is not supported. The COSMOS scope must be specified in a "keyword_params" object. ","version":"Next","tagName":"h2"},{"title":"Socket Connections​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#socket-connections","content":" The COSMOS Command and Telemetry Server listens for connections to the COSMOS API on an HTTP server (default port of 7777). COSMOS listens for HTTP API requests at the default 2900 port at the /openc3-api/api endpoint. ","version":"Next","tagName":"h2"},{"title":"Supported Methods​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#supported-methods","content":" The list of methods supported by the COSMOS API may be found in the api source code on Github. The @api_whitelist variable is initialized with an array of all methods accepted by the CTS. This page will not show the full argument list for every method in the API, but it should be noted that the JSON API methods correspond to the COSMOS scripting API methods documented in the Scripting Writing Guide. This page will show a few example JSON requests and responses, and the scripting guide can be used as a reference to extrapolate how to build requests and parse responses for methods not explicitly documented here. ","version":"Next","tagName":"h2"},{"title":"Existing Implementations​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#existing-implementations","content":" The COSMOS JSON API has been implemented in the following languages: Ruby, Python and Javascript. ","version":"Next","tagName":"h2"},{"title":"Example Usage​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#example-usage","content":" ","version":"Next","tagName":"h2"},{"title":"Sending Commands​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#sending-commands","content":" The following methods are used to send commands: cmd, cmd_no_range_check, cmd_no_hazardous_check, cmd_no_checks The cmd method sends a command to a COSMOS target in the system. The cmd_no_range_check method does the same but ignores parameter range errors. The cmd_no_hazardous_check method does the same, but allows hazardous commands to be sent. The cmd_no_checks method does the same but allows hazardous commands to be sent, and ignores range errors. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME COMMAND_NAME with PARAMETER_NAME_1 PARAMETER_VALUE_1, PARAMETER_NAME_2 PARAMETER_VALUE_2, ..." The "with ..." portion of the string is optional. Any unspecified parameters will be given default values. Parameter\tData Type\tDescriptioncommand_string\tstring\tA single string containing all required information for the command The second is two or three parameters with the first parameter being a string denoting the target name, the second being a string with the command name, and an optional third being a hash of parameter names/values. This format should be used if the command contains parameters that take binary data that is not capable of being expressed as ASCII text. The cmd and cmd_no_range_check methods will fail on all attempts to send a command that has been marked hazardous. To send hazardous commands, the cmd_no_hazardous_check, or cmd_no_checks methods must be used. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to send the command to command_name\tString\tThe name of the command command_params\tHash\tOptional hash of command parameters Example Usage: --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST COLLECT with DURATION 1.0, TEMP 0.0, TYPE 'NORMAL'"], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} --> {"jsonrpc": "2.0", "method": "cmd", "params": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": ["INST", "COLLECT", {"DURATION": 1.0, "TEMP": 0.0, "TYPE": "NORMAL"}], "id": 1} ","version":"Next","tagName":"h3"},{"title":"Getting Telemetry​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#getting-telemetry","content":" The following methods are used to get telemetry: tlm, tlm_raw, tlm_formatted, tlm_with_units The tlm method returns the current converted value of a telemetry point. The tlm_raw method returns the current raw value of a telemetry point. The tlm_formatted method returns the current formatted value of a telemetry point. The tlm_with_units method returns the current formatted value of a telemetry point with its units appended to the end. Two parameter syntaxes are supported. The first is a single string of the form "TARGET_NAME PACKET_NAME ITEM_NAME" Parameter\tData Type\tDescriptiontlm_string\tString\tA single string containing all required information for the telemetry item The second is three parameters with the first parameter being a string denoting the target name, the second being a string with the packet name, and the third being a string with the item name. Parameter\tData Type\tDescriptiontarget_name\tString\tName of the target to get the telemetry value from packet_name\tString\tName of the packet to get the telemetry value from item_name\tString\tName of the telemetry item Example Usage: --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} --> {"jsonrpc": "2.0", "method": "tlm", "params": ["INST", "HEALTH_STATUS", "TEMP1"], "id": 2, "keyword_params":{"scope":"DEFAULT"}} <-- {"jsonrpc": "2.0", "result": 94.9438, "id": 2} ","version":"Next","tagName":"h3"},{"title":"Further Debugging​","type":1,"pageTitle":"JSON API","url":"/docs/development/json-api#further-debugging","content":" If developing an interface for the JSON API from another language, the best way to debug is to send the same messages from the supported Ruby interface first, like the following. By enabling the debug mode, you can see the exact request and response sent from the Ruby Implementation. Launch COSMOSOpen Command SenderOpen browser developer tools (right-click->Inspect in Chrome)Click "Network" tab (may need to add it with + button)Send a command with the GUIView the request in the developer tool. Click the "Payload" sub-tab to view the JSON You can also try sending these raw commands from the terminal with a program like curl: curl -d '{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "id": 2, "keyword_params":{"type":"WITH_UNITS","scope":"DEFAULT"}}' http://localhost:2900/openc3-api/api -H "Authorization: password" ","version":"Next","tagName":"h2"},{"title":"Roadmap","type":0,"sectionRef":"#","url":"/docs/development/roadmap","content":"","keywords":"","version":"Next"},{"title":"Key Features Still to Come in OpenC3 COSMOS 5.x:​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#key-features-still-to-come-in-openc3-cosmos-5x","content":" ✅ Python Support ✅ Standardized Mission Planning Interface (aka Command Load Generator (CLG)) ✅ Protocol buffer support ✅ Command Authority (Enterprise) ✅ Critical Commanding (Two Operators - Enterprise) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 6.0 (Late 2024)​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-60-late-2024","content":" Core Features: ✅ Upgrade Tools to Vue 3 / Vuetify 3 ✅ Traefik v3 ⬜ Python / Ruby parity (interfaces, protocols, etc) Functionality For 6.1+: ⬜ Plugin App Store ⬜ System Health Tool (Enterprise) ⬜ Log Message Extractor Tool (Enterprise) ⬜ Telemetry Viewer screen playback of historical data ⬜ libCSP Interface (Cubesat Space Protocol) ⬜ Standardized Interfaces for common message buses (ZeroMQ, ActiveMQ, etc) ⬜ COSMOS Notebooks (similar to Jupyter Notebooks) ⬜ COSMOS Dashboards (configurable iFrames for Common Operating Picture) ⬜ Integration with ground networks (Atlas, RBC Signals) ⬜ Integration with mission planning (Orbit Logic, Cognitive Space) ⬜ Integration with flight dynamics (Kayhan, SEE, Exotrail) ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS 7.0​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#openc3-cosmos-70","content":" Core Features: ⬜ Super Bridge - This will enable SaaS COSMOS and provide a secure method to communicate from a cloud server to an intranet for hardware control ","version":"Next","tagName":"h2"},{"title":"Near-term Planning​","type":1,"pageTitle":"Roadmap","url":"/docs/development/roadmap#near-term-planning","content":" Our near-term planning linking to specific tickets is on our Github Planning Project. If you would like to commit feature ideas for COSMOS, please do so with normal Github issues at the main repo. ","version":"Next","tagName":"h2"},{"title":"Interfaces","type":0,"sectionRef":"#","url":"/docs/configuration/interfaces","content":"","keywords":"","version":"Next"},{"title":"Overview​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#overview","content":" Interfaces are the connection to the external embedded systems called targets. Interfaces are defined by the top level INTERFACE keyword in the plugin.txt file. Interface classes provide the code that COSMOS uses to receive real-time telemetry from targets and to send commands to targets. The interface that a target uses could be anything (TCP/IP, serial, MQTT, SNMP, etc.), therefore it is important that this is a customizable portion of any reusable Command and Telemetry System. Fortunately the most common form of interfaces are over TCP/IP sockets, and COSMOS provides interface solutions for these. This guide will discuss how to use these interface classes, and how to create your own. Note that in most cases you can extend interfaces with Protocols rather than implementing a new interface. Interface and Routers Are Very Similar Note that Interfaces and Routers are very similar and share the same configuration parameters. Routers are simply Interfaces which route an existing Interface's telemetry data out to the connected target and routes the connected target's commands back to the original Interface's target. ","version":"Next","tagName":"h2"},{"title":"Protocols​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#protocols","content":" Protocols define the behaviour of an Interface, including differentiating packet boundaries and modifying data as necessary. See Protocols for more information. ","version":"Next","tagName":"h3"},{"title":"Accessors​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#accessors","content":" Accessors are responsible for reading and writing the buffer which is transmitted by the interface to the target. See Accessors for more information. For more information about how Interfaces fit with Protocols and Accessors see Interoperability Without Standards. ","version":"Next","tagName":"h3"},{"title":"Provided Interfaces​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#provided-interfaces","content":" COSMOS provides the following interfaces: TCPIP Client, TCPIP Server, UDP, HTTP Client, HTTP Server, MQTT and Serial. The interface to use is defined by the INTERFACE and ROUTER keywords. See Interface Modifiers for a description of the keywords which can follow the INTERFACE keyword. COSMOS Enterprise provides the following interfaces: SNMP, SNMP Trap, GEMS, InfluxDB. ","version":"Next","tagName":"h2"},{"title":"TCPIP Client Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-client-interface","content":" The TCPIP client interface connects to a TCPIP socket to send commands and receive telemetry. This interface is used for targets which open a socket and wait for a connection. This is the most common type of interface. Parameter\tDescription\tRequiredHost\tMachine name to connect to\tYes Write Port\tPort to write commands to (can be the same as read port). Pass nil / None to make the interface read only.\tYes Read Port\tPort to read telemetry from (can be the same as write port). Pass nil / None to make the interface write only.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8080 10.0 10.0 # no built-in protocol ","version":"Next","tagName":"h3"},{"title":"TCPIP Server Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#tcpip-server-interface","content":" The TCPIP server interface creates a TCPIP server which listens for incoming connections and dynamically creates sockets which communicate with the target. This interface is used for targets which open a socket and try to connect to a server. Parameter\tDescription\tRequiredWrite Port\tPort to write commands to (can be the same as read port)\tYes Read Port\tPort to read telemetry from (can be the same as write port)\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultLISTEN_ADDRESS\tIP address to accept connections on\t0.0.0.0 plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8081 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME tcpip_server_interface.rb 8080 8080 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME tcpip_client_interface.rb 8080 8080 10.0 10.0 # no built-in protocol OPTION LISTEN_ADDRESS 127.0.0.1 plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8081 10.0 None LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None FIXED 6 0 None true INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_server_interface.py 8080 8080 10.0 None PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME openc3/interfaces/tcpip_client_interface.py 8080 8080 10.0 10.0 # no built-in protocol ","version":"Next","tagName":"h3"},{"title":"UDP Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#udp-interface","content":" The UDP interface uses UDP packets to send and receive telemetry from the target. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the machine to send and receive data with\tYes Write Dest Port\tPort on the remote machine to send commands to\tYes Read Port\tPort on the remote machine to read telemetry from\tYes Write Source Port\tPort on the local machine to send commands from\tNo\tnil (socket is not bound to an outgoing port) Interface Address\tIf the remote machine supports multicast the interface address is used to configure the outgoing multicast address\tNo\tnil (not used) TTL\tTime to Live. The number of intermediate routers allowed before dropping the packet.\tNo\t128 (Windows) Write Timeout\tNumber of seconds to wait before aborting the write\tNo\t10.0 Read Timeout\tNumber of seconds to wait before aborting the read\tNo\tnil (block on read) plugin.txt Ruby Example: INTERFACE INTERFACE_NAME udp_interface.rb host.docker.internal 8080 8081 8082 nil 128 10.0 nil plugin.txt Python Example: INTERFACE INTERFACE_NAME openc3/interfaces/udp_interface.py host.docker.internal 8080 8081 8082 None 128 10.0 None ","version":"Next","tagName":"h3"},{"title":"HTTP Client Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#http-client-interface","content":" The HTTP client interface connects to a HTTP server to send commands and receive telemetry. This interface is commonly used with the HttpAccessor and JsonAccessor. See the openc3-cosmos-http-example for more information. Parameter\tDescription\tRequired\tDefaultHost\tMachine name to connect to\tYes Port\tPort to write commands to and read telemetry from\tNo\t80 Protocol\tHTTP or HTTPS protocol\tNo\tHTTP Write Timeout\tNumber of seconds to wait before aborting the write. Pass nil / None to block on write.\tNo\t5 Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tNo\tnil / None Connect Timeout\tNumber of seconds to wait before aborting the connection\tNo\t5 Include Request In Response\tWhether to include the request in the extra data\tNo\tfalse plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME http_client_interface.rb myserver.com 80 plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/http_client_interface.py mysecure.com 443 HTTPS ","version":"Next","tagName":"h3"},{"title":"HTTP Server Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#http-server-interface","content":" The HTTP server interface creates a simple unencrypted, unauthenticated HTTP server. This interface is commonly used with the HttpAccessor and JsonAccessor. See the openc3-cosmos-http-example for more information. Parameter\tDescription\tRequired\tDefaultPort\tPort to write commands to and read telemetry from\tNo\t80 Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultLISTEN_ADDRESS\tIP address to accept connections on\t0.0.0.0 plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME http_server_interface.rb LISTEN_ADDRESS 127.0.0.1 plugin.txt Python Examples: INTERFACE INTERFACE_NAME openc3/interfaces/http_server_interface.py 88 ","version":"Next","tagName":"h3"},{"title":"MQTT Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#mqtt-interface","content":" The MQTT interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Streaming Interface in that the commands and telemetry are transmitted over topics given by META TOPIC in the command and telemetry definitions. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the MQTT broker\tYes Port\tPort on the MQTT broker to connect to. Keep in mind whether you're using SSL or not.\tNo\t1883 SSL\tWhether to use SSL to connect\tNo\tfalse Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescriptionACK_TIMEOUT\tTime to wait when connecting to the MQTT broker USERNAME\tUsername for authentication with the MQTT broker PASSWORD\tPassword for authentication with the MQTT broker CERT\tPEM encoded client certificate filename used with KEY for client TLS based authentication KEY\tPEM encoded client private keys filename KEYFILE_PASSWORD\tPassword to decrypt the CERT and KEY files (Python only) CA_FILE\tCertificate Authority certificate filename that is to be treated as trusted by this client plugin.txt Ruby Example: INTERFACE MQTT_INT mqtt_interface.rb test.mosquitto.org 1883 plugin.txt Python Example (Note: This example uses the SECRET keyword to set the PASSWORD option in the Interface): INTERFACE MQTT_INT openc3/interfaces/mqtt_interface.py test.mosquitto.org 8884 OPTION USERNAME rw # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD # and set an OPTION called PASSWORD with the secret value # For more information about secrets see the Admin Tool page SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD Packet Definitions​ The MQTT Interface utilizes 'META TOPIC <topic name>' in the command and telemetry definition files to determine which topics to publish and receive messages from. Thus to send to the topic 'TEST' you would create a command like the following (Note: The command name 'TEST' does NOT have to match the topic name): COMMAND MQTT TEST BIG_ENDIAN "Test" META TOPIC TEST # <- The topic name is 'TEST' APPEND_PARAMETER DATA 0 BLOCK '' "MQTT Data" Similarly to receive from the topic 'TEST' you would create a telemetry packet like the following (Note: The telemetry name 'TEST' does NOT have to match the topic name): TELEMETRY MQTT TEST BIG_ENDIAN "Test" META TOPIC TEST # <- The topic name is 'TEST' APPEND_ITEM DATA 0 BLOCK "MQTT Data" For a full example, please see the openc3-cosmos-mqtt-test in the COSMOS source. ","version":"Next","tagName":"h3"},{"title":"MQTT Streaming Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#mqtt-streaming-interface","content":" The MQTT streaming interface is typically used for connecting to Internet of Things (IoT) devices. The COSMOS MQTT streaming interface is a client that can both publish and receive messages (commands and telemetry). It has built in support for SSL certificates as well as authentication. It differs from the MQTT Interface in that all the commands are transmitted on a single topic and all telemetry is received on a single topic. Parameter\tDescription\tRequired\tDefaultHost\tHost name or IP address of the MQTT broker\tYes Port\tPort on the MQTT broker to connect to. Keep in mind whether you're using SSL or not.\tNo\t1883 SSL\tWhether to use SSL to connect\tNo\tfalse Write Topic\tName of the write topic for all commands. Pass nil / None to make interface read only.\tNo\tnil / None Read Topic\tName of the read topic for all telemetry. Pass nil / None to make interface write only.\tNo\tnil / None Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo\t Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescriptionACK_TIMEOUT\tTime to wait when connecting to the MQTT broker USERNAME\tUsername for authentication with the MQTT broker PASSWORD\tPassword for authentication with the MQTT broker CERT\tPEM encoded client certificate filename used with KEY for client TLS based authentication KEY\tPEM encoded client private keys filename KEYFILE_PASSWORD\tPassword to decrypt the CERT and KEY files (Python only) CA_FILE\tCertificate Authority certificate filename that is to be treated as trusted by this client plugin.txt Ruby Example: INTERFACE MQTT_INT mqtt_stream_interface.rb test.mosquitto.org 1883 false write read plugin.txt Python Example (Note: This example uses the SECRET keyword to set the PASSWORD option in the Interface): INTERFACE MQTT_INT openc3/interfaces/mqtt_stream_interface.py test.mosquitto.org 8884 False write read OPTION USERNAME rw # Create an env variable called MQTT_PASSWORD with the secret named PASSWORD # and set an OPTION called PASSWORD with the secret value # For more information about secrets see the Admin Tool page SECRET ENV PASSWORD MQTT_PASSWORD PASSWORD Packet Definitions​ The MQTT Streaming Interface utilizes the topic names passed to the interface so no additional information is necessary in the definition. For a full example, please see the openc3-cosmos-mqtt-test in the COSMOS source. ","version":"Next","tagName":"h3"},{"title":"Serial Interface​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#serial-interface","content":" The serial interface connects to a target over a serial port. COSMOS provides drivers for both Windows and POSIX drivers for UNIX based systems. The Serial Interface is currently only implemented in Ruby. Parameter\tDescription\tRequiredWrite Port\tName of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable writing.\tYes Read Port\tName of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'. Pass nil / None to disable reading.\tYes Baud Rate\tBaud rate to read and write\tYes Parity\tSerial port parity. Must be 'NONE', 'EVEN', or 'ODD'.\tYes Stop Bits\tNumber of stop bits, e.g. 1.\tYes Write Timeout\tNumber of seconds to wait before aborting the write\tYes Read Timeout\tNumber of seconds to wait before aborting the read. Pass nil / None to block on read.\tYes Protocol Type\tSee Protocols.\tNo Protocol Arguments\tSee Protocols for the arguments each stream protocol takes.\tNo Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultFLOW_CONTROL\tSerial port flow control. Must be one of NONE or RTSCTS.\tNONE DATA_BITS\tNumber of data bits.\t8 plugin.txt Ruby Examples: INTERFACE INTERFACE_NAME serial_interface.rb COM1 COM1 9600 NONE 1 10.0 nil LENGTH 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS1 /dev/ttyS1 38400 ODD 1 10.0 nil BURST 4 0xDEADBEEF INTERFACE INTERFACE_NAME serial_interface.rb COM2 COM2 19200 EVEN 1 10.0 nil FIXED 6 0 nil true INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TERMINATED 0x0D0A 0x0D0A true 0 0xF005BA11 INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 TEMPLATE 0xA 0xA INTERFACE INTERFACE_NAME serial_interface.rb /dev/ttyS0 /dev/ttyS0 57600 NONE 1 10.0 nil PREIDENTIFIED 0xCAFEBABE INTERFACE INTERFACE_NAME serial_interface.rb COM4 COM4 115200 NONE 1 10.0 10.0 # no built-in protocol OPTION FLOW_CONTROL RTSCTS OPTION DATA_BITS 7 ","version":"Next","tagName":"h3"},{"title":"SNMP Interface (Enterprise)​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#snmp-interface-enterprise","content":" The SNMP Interface is for connecting to Simple Network Management Protocol devices. The SNMP Interface is currently only implemented in Ruby. Parameter\tDescription\tRequired\tDefaultHost\tHost name of the SNMP device\tYes Port\tPort on the SNMP device\tNo\t161 Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultVERSION\tSNMP Version: 1, 2, or 3\t1 COMMUNITY\tPassword or user ID that allows access to a device\tprivate USERNAME\tUsername\tN/A RETRIES\tRetries when sending requests\tN/A TIMEOUT\tTimeout waiting for a response from an agent\tN/A CONTEXT\tSNMP context\tN/A SECURITY_LEVEL\tMust be one of NO_AUTH, AUTH_PRIV, or AUTH_NO_PRIV\tN/A AUTH_PROTOCOL\tMust be one of MD5, SHA, or SHA256\tN/A PRIV_PROTOCOL\tMust be one of DES or AES\tN/A AUTH_PASSWORD\tAuth password\tN/A PRIV_PASSWORD\tPriv password\tN/A plugin.txt Ruby Examples: INTERFACE SNMP_INT snmp_interface.rb 192.168.1.249 161 OPTION VERSION 1 For a full example, please see the openc3-cosmos-apc-switched-pdu in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"SNMP Trap Interface (Enterprise)​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#snmp-trap-interface-enterprise","content":" The SNMP Trap Interface is for receiving Simple Network Management Protocol traps. The SNMP Trap Interface is currently only implemented in Ruby. Parameter\tDescription\tRequired\tDefaultRead Port\tPort to read from\tNo\t162 Read Timeout\tRead timeout\tNo\tnil Bind Address\tAddress to bind UDP port to\tYes\t0.0.0.0 Interface Options​ Options are added directly beneath the interface definition as shown in the example. Option\tDescription\tDefaultVERSION\tSNMP Version: 1, 2, or 3\t1 plugin.txt Ruby Examples: INTERFACE SNMP_INT snmp_trap_interface.rb 162 OPTION VERSION 1 For a full example, please see the openc3-cosmos-apc-switched-pdu in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"gRPC Interface (Enterprise)​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#grpc-interface-enterprise","content":" The gRPC Interface is for interacting with gRPC. The gRPC Interface is currently only implemented in Ruby. Parameter\tDescription\tRequiredHostname\tgRPC server\tYes Port\tgRPC port\tYes plugin.txt Ruby Examples: INTERFACE GRPC_INT grpc_interface.rb my.grpc.org 8080 Commands​ Using the GrpcInterface for command definitions requires the use of META to define a GRPC_METHOD to use for each command. COMMAND PROTO GET_USER BIG_ENDIAN 'Get a User' META GRPC_METHOD /example.photoservice.ExamplePhotoService/GetUser For a full example, please see the openc3-cosmos-proto-target in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Custom Interfaces​","type":1,"pageTitle":"Interfaces","url":"/docs/configuration/interfaces#custom-interfaces","content":" Interfaces have the following methods that must be implemented: connect - Open the socket or port or somehow establish the connection to the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation.connected? - Return true or false depending on the connection state. Note: This method should return immediately.disconnect - Close the socket or port of somehow disconnect from the target. Note: This method may not block indefinitely. Be sure to call super() in your implementation.read_interface - Lowest level read of data on the interface. Note: This method should block until data is available or the interface disconnects. On a clean disconnect it should return nil.write_interface - Lowest level write of data on the interface. Note: This method may not block indefinitely. Interfaces also have the following methods that exist and have default implementations. They can be overridden if necessary but be sure to call super() to allow the default implementation to be executed. read_interface_base - This method should always be called from read_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes read count, the most recent raw data read, and it handles raw logging if enabled.write_interface_base - This method should always be called from write_interface(). It updates interface specific variables that are displayed by CmdTLmServer including the bytes written count, the most recent raw data written, and it handles raw logging if enabled.read - Read the next packet from the interface. COSMOS implements this method to allow the Protocol system to operate on the data and the packet before it is returned.write - Send a packet to the interface. COSMOS implements this method to allow the Protocol system to operate on the packet and the data before it is sent.write_raw - Send a raw binary string of data to the target. COSMOS implements this method by basically calling write_interface with the raw data. Naming Conventions When creating your own interfaces, in most cases they will be subclasses of one of the built-in interfaces described below. It is important to know that both the filename and class name of the interface files must match with correct capitalization or you will receive "class not found" errors when trying to load your new interface. For example, an interface file called labview_interface.rb must contain the class LabviewInterface. If the class was named, LabVIEWInterface, for example, COSMOS would not be able to find the class because of the unexpected capitalization. ","version":"Next","tagName":"h2"},{"title":"Plugins","type":0,"sectionRef":"#","url":"/docs/configuration/plugins","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#introduction","content":" This document provides the information necessary to configure a COSMOS plugin. Plugins are how you configure and extend COSMOS. Plugins are where you define targets (and their corresponding command and telemetry packet definitions), where you configure the interfaces needed to talk to targets, where you can define routers to stream raw data out of COSMOS, how you can add new tools to the COSMOS user interface, and how you can run additional microservices to provide new functionality. Each plugin is built as a Ruby gem and thus has a plugin.gemspec file which builds it. Plugins have a plugin.txt file which declares all the variables used by the plugin and how to interface to the target(s) it contains. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Target​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target","content":" Targets are the external pieces of hardware and/or software that COSMOS communicates with. These are things like Front End Processors (FEPs), ground support equipment (GSE), custom software tools, and pieces of hardware like satellites themselves. A target is anything that COSMOS can send commands to and receive telemetry from. ","version":"Next","tagName":"h3"},{"title":"Interface​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface","content":" Interfaces implement the physical connection to one or more targets. They are typically ethernet connections implemented using TCP or UDP but can be other connections like serial ports. Interfaces send commands to targets and receive telemetry from targets. ","version":"Next","tagName":"h3"},{"title":"Router​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router","content":" Routers flow streams of telemetry packets out of COSMOS and receive streams of commands into COSMOS. The commands are forwarded by COSMOS to associated interfaces. Telemetry comes from associated interfaces. ","version":"Next","tagName":"h3"},{"title":"Tool​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool","content":" COSMOS Tools are web-based applications the communicate with the COSMOS APIs to perform takes like displaying telemetry, sending commands, and running scripts. ","version":"Next","tagName":"h3"},{"title":"Microservice​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice","content":" Microservices are persistent running backend code that runs within the COSMOS environment. They can process data and perform other useful tasks. ","version":"Next","tagName":"h3"},{"title":"Plugin Directory Structure​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugin-directory-structure","content":" COSMOS plugins have a well-defined directory structure described in detail in the Code Generator documentation. ","version":"Next","tagName":"h2"},{"title":"plugin.txt Configuration File​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#plugintxt-configuration-file","content":" A plugin.txt configuration file is required for any COSMOS plugin. It declares the contents of the plugin and provides variables that allow the plugin to be configured at the time it is initially installed or upgraded. This file follows the standard COSMOS configuration file format of keywords followed by zero or more space separated parameters. The following keywords are supported by the plugin.txt config file: ","version":"Next","tagName":"h2"},{"title":"VARIABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#variable","content":" Define a configurable variable for the plugin The VARIABLE keyword defines a variable that will be requested for the user to enter during plugin installation. Variables can be used to handle details of targets that are user defined such as specific IP addresses and ports. Variables should also be used to allow users to rename targets to whatever name they want and support multiple installations of the same target with different names. Variables can be used later in plugin.txt or in any other configuration file included in a plugin using Ruby ERB syntax. The variables are assigned to accessible local variables in the file. At a high level, ERB allows you to run Ruby code in configuration files. Parameter\tDescription\tRequiredVariable Name\tThe name of the variable\tTrue Default Value\tDefault value of the variable\tTrue ","version":"Next","tagName":"h2"},{"title":"NEEDS_DEPENDENCIES​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#needs_dependencies","content":" (Since 5.5.0) Indicates the plugin needs dependencies and sets the GEM_HOME environment variable If the plugin has a top level lib folder or lists runtime dependencies in the gemspec, NEEDS_DEPENDENCIES is effectively already set. Note that in Enterprise Edition, having NEEDS_DEPENDENCIES adds the NFS volume mount to the Kubernetes pod. ","version":"Next","tagName":"h2"},{"title":"INTERFACE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-1","content":" Defines a connection to a physical target Interfaces are what OpenC3 uses to talk to a particular piece of hardware. Interfaces require a Ruby or Python file which implements all the interface methods necessary to talk to the hardware. OpenC3 defines many built in interfaces or you can define your own as long as it implements the interface protocol. Parameter\tDescription\tRequiredInterface Name\tName of the interface. This name will appear in the Interfaces tab of the Server and is also referenced by other keywords. The OpenC3 convention is to name interfaces after their targets with '_INT' appended to the name, e.g. INST_INT for the INST target.\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"INTERFACE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#interface-modifiers","content":" The following keywords must follow a INTERFACE keyword. ","version":"Next","tagName":"h2"},{"title":"MAP_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_target","content":" Maps a target name to an interface Parameter\tDescription\tRequiredTarget Name\tTarget name to map to this interface\tTrue Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA ","version":"Next","tagName":"h3"},{"title":"MAP_CMD_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_cmd_target","content":" (Since 5.2.0) Maps a target name to an interface for commands only Parameter\tDescription\tRequiredTarget Name\tCommand target name to map to this interface\tTrue Ruby Example: INTERFACE CMD_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface Python Example: INTERFACE CMD_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_CMD_TARGET DATA # Only DATA commands go on the CMD_INT interface ","version":"Next","tagName":"h3"},{"title":"MAP_TLM_TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#map_tlm_target","content":" (Since 5.2.0) Maps a target name to an interface for telemetry only Parameter\tDescription\tRequiredTarget Name\tTelemetry target name to map to this interface\tTrue Ruby Example: INTERFACE TLM_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface Python Example: INTERFACE TLM_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TLM_TARGET DATA # Only DATA telemetry received on TLM_INT interface ","version":"Next","tagName":"h3"},{"title":"DONT_CONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_connect","content":" Server will not automatically try to connect to the interface at startup ","version":"Next","tagName":"h3"},{"title":"DONT_RECONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#dont_reconnect","content":" Server will not try to reconnect to the interface if the connection is lost ","version":"Next","tagName":"h3"},{"title":"RECONNECT_DELAY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reconnect_delay","content":" Reconnect delay in seconds If DONT_RECONNECT is not present the Server will try to reconnect to an interface if the connection is lost. Reconnect delay sets the interval in seconds between reconnect tries. Parameter\tDescription\tRequiredDelay\tDelay in seconds between reconnect attempts. The default is 15 seconds.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_DISCONNECT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_disconnect","content":" Disable the Disconnect button on the Interfaces tab in the Server Use this keyword to prevent the user from disconnecting from the interface. This is typically used in a 'production' environment where you would not want the user to inadvertently disconnect from a target. ","version":"Next","tagName":"h3"},{"title":"LOG_RAW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_raw","content":" Deprecated, use LOG_STREAM ","version":"Next","tagName":"h3"},{"title":"LOG_STREAM​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_stream","content":" (Since 5.5.2) Log all data on the interface exactly as it is sent and received LOG_STREAM does not add any OpenC3 headers and thus can not be read by OpenC3 tools. It is primarily useful for low level debugging of an interface. You will have to manually parse these logs yourself using a hex editor or other application. Parameter\tDescription\tRequiredCycle Time\tAmount of time to wait before cycling the log file. Default is 10 min. If nil refer to Cycle Hour and Cycle Minute.\tFalse Cycle Size\tAmount of data to write before cycling the log file. Default is 50MB.\tFalse Cycle Hour\tThe time at which to cycle the log. Combined with Cycle Minute to cycle the log daily at the specified time. If nil, the log will be cycled hourly at the specified Cycle Minute. Only applies if Cycle Time is nil.\tFalse Cycle Minute\tSee Cycle Hour.\tFalse Example Usage: INTERFACE EXAMPLE example_interface.rb # Override the default log time of 600 LOG_STREAM 60 ","version":"Next","tagName":"h3"},{"title":"PROTOCOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#protocol","content":" (Since 4.0.0) Protocols modify the interface by processing the data Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data received by the interface while write acts on the data before it is sent out. READ_WRITE applies the protocol to both reading and writing. For information on creating your own custom protocol please see Protocols Parameter\tDescription\tRequiredType\tWhether to apply the protocol on incoming data, outgoing data, or both Valid Values: READ, WRITE, READ_WRITE\tTrue Protocol Filename or Classname\tRuby or Python filename or class name which implements the protocol\tTrue Protocol specific parameters\tAdditional parameters used by the protocol\tFalse Ruby Example: INTERFACE DATA_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil nil MAP_TARGET DATA # Rather than defining the LENGTH protocol on the INTERFACE line we define it here PROTOCOL READ LengthProtocol 0 16 0 1 BIG_ENDIAN 4 0xBA5EBA11 Python Example: INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET DATA PROTOCOL READ IgnorePacketProtocol INST IMAGE # Drop all INST IMAGE packets ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option","content":" Set a parameter on an interface When an option is set the interface class calls the set_option method. Custom interfaces can override set_option to handle any additional options they want. Parameter\tDescription\tRequiredName\tThe option to set. OpenC3 defines several options on the core provided interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS and DATA_BITS which changes the data bits of the serial interface. The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept connections on (default 0.0.0.0).\tTrue Parameters\tParameters to pass to the option\tFalse Example Usage: INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil OPTION FLOW_CONTROL RTSCTS OPTION DATA_BITS 8 ROUTER SERIAL_ROUTER tcpip_server_interface.rb 2950 2950 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS 127.0.0.1 ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret","content":" (Since 5.3.0) Define a secret needed by this interface Defines a secret for this interface and optionally assigns its value to an option. For more information see Admin Secrets. Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve from the Admin / Secrets tab. For more information see Admin Secrets.\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret. Note that if you use the Option Name to set an option to the secret value, this value doesn't really matter as long as it is unique.\tTrue Option Name\tInterface option to pass the secret value. This is the primary way to pass secrets to interfaces.\tFalse Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME USERNAME SECRET FILE KEY "/tmp/DATA/cert" KEY ","version":"Next","tagName":"h3"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env","content":" (Since 5.7.0) Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir","content":" (Since 5.7.0) Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: WORK_DIR '/openc3/lib/openc3/microservices' ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port","content":" (Since 5.7.0) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: PORT 7272 ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd","content":" (Since 5.7.0) Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: CMD ruby interface_microservice.rb DEFAULT__INTERFACE__INT1 Python Example: CMD python interface_microservice.py DEFAULT__INTERFACE__INT1 ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container","content":" (Since 5.7.0) Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix","content":" (Since 5.7.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: ROUTE_PREFIX /interface ","version":"Next","tagName":"h3"},{"title":"SHARD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shard","content":" (Since 6.0.0) Operator shard to run target microservices on Operator Shard. Only used if running multiple operator containers typically in Kubernetes Parameter\tDescription\tRequiredShard\tShard number starting from 0\tFalse Example Usage: SHARD 0 ","version":"Next","tagName":"h3"},{"title":"ROUTER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#router-1","content":" Create router to receive commands and output telemetry packets from one or more interfaces Creates an router which receives command packets from their remote clients and sends them to associated interfaces. They receive telemetry packets from their interfaces and send them to their remote clients. This allows routers to be intermediaries between an external client and an actual device. Parameter\tDescription\tRequiredName\tName of the router\tTrue Filename\tRuby or Python file to use when instantiating the interface. Valid Values: tcpip_client_interface, tcpip_server_interface, udp_interface, serial_interface\tTrue Additional parameters are required. Please see the Interfaces documentation for more details. ","version":"Next","tagName":"h2"},{"title":"TARGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-1","content":" Defines a new target Parameter\tDescription\tRequiredFolder Name\tThe target folder\tTrue Name\tThe target name. While this is almost always the same as Folder Name it can be different to create multiple targets based on the same target folder.\tTrue Example Usage: TARGET INST INST ","version":"Next","tagName":"h2"},{"title":"TARGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target-modifiers","content":" The following keywords must follow a TARGET keyword. ","version":"Next","tagName":"h2"},{"title":"CMD_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_buffer_depth","content":" (Since 5.2.0) Number of commands to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 5)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_time","content":" Command binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_cycle_size","content":" Command binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_log_retain_time","content":" How long to keep raw command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_time","content":" Command decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_cycle_size","content":" Command decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"CMD_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd_decom_log_retain_time","content":" How long to keep decom command logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom command logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_BUFFER_DEPTH​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_buffer_depth","content":" (Since 5.2.0) Number of telemetry packets to buffer to ensure logged in order Parameter\tDescription\tRequiredBuffer Depth\tBuffer depth in packets (Default = 60)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_time","content":" Telemetry binary logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_cycle_size","content":" Telemetry binary logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_log_retain_time","content":" How long to keep raw telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep raw telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_time","content":" Telemetry decommutation logs can be cycled on a time interval. Parameter\tDescription\tRequiredTime\tMaximum time between files in seconds (default = 600)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_CYCLE_SIZE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_cycle_size","content":" Telemetry decommutation logs can be cycled after a certain log file size is reached. Parameter\tDescription\tRequiredSize\tMaximum file size in bytes (default = 50_000_000)\tTrue ","version":"Next","tagName":"h3"},{"title":"TLM_DECOM_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tlm_decom_log_retain_time","content":" How long to keep decom telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep decom telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_MINUTE_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_minute_log_retain_time","content":" How long to keep reduced minute telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced minute telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_HOUR_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_hour_log_retain_time","content":" How long to keep reduced hour telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced hour telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_DAY_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_day_log_retain_time","content":" How long to keep reduced day telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep reduced day telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#log_retain_time","content":" How long to keep all regular telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all regular telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCED_LOG_RETAIN_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reduced_log_retain_time","content":" How long to keep all reduced telemetry logs in seconds. Parameter\tDescription\tRequiredTime\tNumber of seconds to keep all reduced telemetry logs (default = nil = Forever)\tTrue ","version":"Next","tagName":"h3"},{"title":"CLEANUP_POLL_TIME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cleanup_poll_time","content":" Period at which to run the cleanup process. Parameter\tDescription\tRequiredTime\tNumber of seconds between runs of the cleanup process (default = 900 = 15 minutes)\tTrue ","version":"Next","tagName":"h3"},{"title":"REDUCER_DISABLE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_disable","content":" Disables the data reduction microservice for the target ","version":"Next","tagName":"h3"},{"title":"REDUCER_MAX_CPU_UTILIZATION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#reducer_max_cpu_utilization","content":" Maximum amount of CPU utilization to apply to data reduction Parameter\tDescription\tRequiredPercentage\t0 to 100 percent (default = 30)\tTrue ","version":"Next","tagName":"h3"},{"title":"TARGET_MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_microservice","content":" (Since 5.2.0) Breaks a target microservice out into its own process. Can be used to give more resources to processing that is falling behind. If defined multiple times for the same type, will create multiple processes. Each process can be given specific packets to process with the PACKET keyword. Parameter\tDescription\tRequiredType\tThe target microservice type. Must be one of DECOM, COMMANDLOG, DECOMCMDLOG, PACKETLOG, DECOMLOG, REDUCER, or CLEANUP\tTrue ","version":"Next","tagName":"h3"},{"title":"PACKET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#packet","content":" (Since 5.2.0) Packet Name to allocate to the current TARGET_MICROSERVICE. Parameter\tDescription\tRequiredPacket Name\tThe packet name. Does not apply to REDUCER or CLEANUP target microservice types.\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire target or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"SHARD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shard-1","content":" (Since 6.0.0) Operator shard to run target microservices on Operator Shard. Only used if running multiple operator containers typically in Kubernetes Parameter\tDescription\tRequiredShard\tShard number starting from 0\tFalse Example Usage: SHARD 0 ","version":"Next","tagName":"h3"},{"title":"MICROSERVICE​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-1","content":" Defines a new microservice Defines a microservice that the plugin adds to the OpenC3 system. Microservices are background software processes that perform persistent processing. Parameter\tDescription\tRequiredMicroservice Folder Name\tThe exact name of the microservice folder in the plugin. ie. microservices/MicroserviceFolderName\tTrue Microservice Name\tThe specific name of this instance of the microservice in the OpenC3 system\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ","version":"Next","tagName":"h2"},{"title":"MICROSERVICE Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#microservice-modifiers","content":" The following keywords must follow a MICROSERVICE keyword. ","version":"Next","tagName":"h2"},{"title":"ENV​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#env-1","content":" Sets an environment variable in the microservice. Parameter\tDescription\tRequiredKey\tEnvironment variable name\tTrue Value\tEnvironment variable value\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example ENV COMPANY OpenC3 ","version":"Next","tagName":"h3"},{"title":"WORK_DIR​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#work_dir-1","content":" Set the working directory Working directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in. Parameter\tDescription\tRequiredDirectory\tWorking directory to run the microservice CMD in. Can be a path relative to the microservice folder in the plugin, or an absolute path in the container the microservice runs in.\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example WORK_DIR . ","version":"Next","tagName":"h3"},{"title":"PORT​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#port-1","content":" (Since 5.0.10) Open port for the microservice Kubernetes needs a Service to be applied to open a port so this is required for Kubernetes support Parameter\tDescription\tRequiredNumber\tPort number\tTrue Protocol\tPort protocol. Default is TCP.\tFalse Example Usage: MICROSERVICE EXAMPLE openc3-example PORT 7272 ","version":"Next","tagName":"h3"},{"title":"TOPIC​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#topic","content":" Associate a Redis topic Redis topic to associate with this microservice. Standard OpenC3 microservices such as decom_microservice use this information to know what packet streams to subscribe to. The TOPIC keyword can be used as many times as necessary to associate all needed topics. Parameter\tDescription\tRequiredTopic Name\tRedis Topic to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example # Manually assigning topics is an advanced topic and requires # intimate knowledge of the internal COSMOS data structures. TOPIC DEFAULT__openc3_log_messages TOPIC DEFAULT__TELEMETRY__EXAMPLE__STATUS ","version":"Next","tagName":"h3"},{"title":"TARGET_NAME​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#target_name","content":" Associate a OpenC3 target OpenC3 target to associate with the microservice. For standard OpenC3 microservices such as decom_microservice this causes the target configuration to get loaded into the container for the microservice. Parameter\tDescription\tRequiredTarget Name\tOpenC3 target to associate with the microservice\tTrue Example Usage: MICROSERVICE EXAMPLE openc3-example TARGET_NAME EXAMPLE ","version":"Next","tagName":"h3"},{"title":"CMD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#cmd-1","content":" Command line to execute to run the microservice. Command line to execute to run the microservice. Parameter\tDescription\tRequiredArgs\tOne or more arguments to exec to run the microservice.\tTrue Ruby Example: MICROSERVICE EXAMPLE openc3-example CMD ruby example_target.rb Python Example: MICROSERVICE EXAMPLE openc3-example CMD python example_target.py ","version":"Next","tagName":"h3"},{"title":"OPTION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#option-1","content":" Pass an option to the microservice Generic key/value(s) options to pass to the microservice. These take the form of KEYWORD/PARAMS like a line in a OpenC3 configuration file. Multiple OPTION keywords can be used to pass multiple options to the microservice. Parameter\tDescription\tRequiredOption Name\tName of the option\tTrue Option Value(s)\tOne or more values to associate with the option\tTrue ","version":"Next","tagName":"h3"},{"title":"CONTAINER​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#container-1","content":" Docker Container Container to execute and run the microservice in. Only used in COSMOS Enterprise Edition. Parameter\tDescription\tRequiredArgs\tName of the container\tFalse ","version":"Next","tagName":"h3"},{"title":"SECRET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#secret-1","content":" (Since 5.3.0) Define a secret needed by this microservice Defines a secret for this microservice. For more information see Admin Secrets. Parameter\tDescription\tRequiredType\tENV or FILE. ENV will mount the secret into an environment variable. FILE mounts the secret into a file.\tTrue Secret Name\tThe name of the secret to retrieve from the Admin / Secrets tab. For more information see Admin Secrets.\tTrue Environment Variable or File Path\tEnvironment variable name or file path to store secret\tTrue Secret Store Name\tName of the secret store for stores with multipart keys\tFalse Example Usage: SECRET ENV USERNAME ENV_USERNAME SECRET FILE KEY "/tmp/DATA/cert" ","version":"Next","tagName":"h3"},{"title":"ROUTE_PREFIX​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#route_prefix-1","content":" (Since 5.5.0) Prefix of route Prefix of route to the microservice to expose externally with Traefik Parameter\tDescription\tRequiredRoute Prefix\tRoute prefix. Must be unique across all scopes. Something like /myprefix\tTrue Example Usage: MICROSERVICE CFDP CFDP ROUTE_PREFIX /cfdp ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-1","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire microservice or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"SHARD​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shard-2","content":" (Since 6.0.0) Operator shard to run target microservices on Operator Shard. Only used if running multiple operator containers typically in Kubernetes Parameter\tDescription\tRequiredShard\tShard number starting from 0\tFalse Example Usage: SHARD 0 ","version":"Next","tagName":"h3"},{"title":"TOOL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-1","content":" Define a tool Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices. Parameter\tDescription\tRequiredTool Folder Name\tThe exact name of the tool folder in the plugin. ie. tools/ToolFolderName\tTrue Tool Name\tName of the tool that is displayed in the OpenC3 Navigation menu\tTrue Example Usage: TOOL DEMO Demo ","version":"Next","tagName":"h2"},{"title":"TOOL Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#tool-modifiers","content":" The following keywords must follow a TOOL keyword. ","version":"Next","tagName":"h2"},{"title":"URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#url","content":" Url used to access the tool The relative url used to access the tool. Defaults to "/tools/ToolFolderName". Parameter\tDescription\tRequiredUrl\tThe url. If not given defaults to tools/ToolFolderName. Generally should not be given unless linking to external tools.\tTrue ","version":"Next","tagName":"h3"},{"title":"INLINE_URL​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#inline_url","content":" Internal url to load a tool The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js". Parameter\tDescription\tRequiredUrl\tThe inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.\tTrue ","version":"Next","tagName":"h3"},{"title":"WINDOW​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#window","content":" How to display the tool when navigated to The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB. Parameter\tDescription\tRequiredWindow Mode\tTool display mode Valid Values: INLINE, IFRAME, NEW\tTrue ","version":"Next","tagName":"h3"},{"title":"ICON​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#icon","content":" Set tool icon Icon shown next to the tool name in the OpenC3 navigation menu. Parameter\tDescription\tRequiredIcon Name\tIcon to display next to the tool name. Icons come from Font Awesome, Material Design (https://materialdesignicons.com/), and Astro.\tTrue ","version":"Next","tagName":"h3"},{"title":"CATEGORY​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#category","content":" Category for the tool Associates the tool with a category which becomes a submenu in the Navigation menu. Parameter\tDescription\tRequiredCategory Name\tCategory to associate the tool with\tTrue ","version":"Next","tagName":"h3"},{"title":"SHOWN​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#shown","content":" Show the tool or not Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool. Parameter\tDescription\tRequiredShown\tWhether or not the tool is shown. TRUE or FALSE Valid Values: true, false\tTrue ","version":"Next","tagName":"h3"},{"title":"POSITION​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#position","content":" (Since 5.0.8) Position of the tool in the nav bar Position of the tool starting at 2 (1 is reserved for Admin Console). Tools without a position are appended to the end as they are installed. All COSMOS open source tools have consecutive integer values for position. Parameter\tDescription\tRequiredPosition\tNumerical position\tTrue ","version":"Next","tagName":"h3"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-2","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire tool or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"IMPORT_MAP_ITEM​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#import_map_item","content":" (Since 6.0.0) Add an item to the import map Parameter\tDescription\tRequiredkey\tImport Map Key\tTrue value\tImport Map Value\tTrue ","version":"Next","tagName":"h3"},{"title":"WIDGET​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget","content":" Define a custom widget Defines a custom widget that can be used in Telemetry Viewer screens. Parameter\tDescription\tRequiredWidget Name\tThe name of the widget will be used to build a path to the widget implementation. For example, WIDGET HELLOWORLD will find the as-built file tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. See the Custom Widgets guide for more details.\tTrue Label\tThe label for the widget that will appear in the Data Viewer component drop down\tFalse Example Usage: WIDGET HELLOWORLD ","version":"Next","tagName":"h2"},{"title":"WIDGET Modifiers​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#widget-modifiers","content":" The following keywords must follow a WIDGET keyword. ","version":"Next","tagName":"h2"},{"title":"DISABLE_ERB​","type":1,"pageTitle":"Plugins","url":"/docs/configuration/plugins#disable_erb-3","content":" (Since 5.12.0) Disable ERB processing Disable ERB processing for the entire widget or a set of regular expressions over its filenames Parameter\tDescription\tRequiredRegex\tRegex to match against filenames. If match, then no ERB processing\tFalse ","version":"Next","tagName":"h3"},{"title":"Testing COSMOS","type":0,"sectionRef":"#","url":"/docs/development/testing","content":"","keywords":"","version":"Next"},{"title":"Playwright​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright","content":" ","version":"Next","tagName":"h2"},{"title":"Prerequesits​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#prerequesits","content":" Install Yarn npm install --global yarn Clone the COSMOS Playwright repo git clone https://github.com/OpenC3/cosmos-playwright Install Playwright and dependencies cosmos-playwright % yarn install ","version":"Next","tagName":"h3"},{"title":"Playwright Testing​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#playwright-testing","content":" Start COSMOS cosmos % openc3.sh start Open COSMOS in your browser. At the login screen, set the password to "password". Run tests (Note the --headed option visually displays tests, leave it off to run in the background) cosmos-playwright % yarn playwright test --project=chromium --headed [Optional] Fix istanbul/nyc coverage source lookups (use fixwindows if not on Linux). Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work. cosmos-playwright % yarn fixlinux Generate code coverage cosmos-playwright % yarn coverage Code coverage reports can be viewed at openc3-playwright/coverage/index.html ","version":"Next","tagName":"h3"},{"title":"Ruby Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#ruby-unit-tests","content":" Navigate to cosmos/openc3 folder. Run the command: cosmos/openc3 % rake build cosmos/openc3 % bundle exec rspec Code coverage reports can be found at cosmos/openc3/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Python Unit Tests​","type":1,"pageTitle":"Testing COSMOS","url":"/docs/development/testing#python-unit-tests","content":" Navigate to cosmos/openc3/python folder. Run the command: cosmos/openc3/python % python -m pip install -r requirements-dev.txt cosmos/openc3/python % python -m pip install -r requirements.txt cosmos/openc3/python % coverage run -m pytest cosmos/openc3/python % coverage html Code coverage reports can be found at cosmos/openc3/python/coverage/index.html ","version":"Next","tagName":"h2"},{"title":"Accessors","type":0,"sectionRef":"#","url":"/docs/configuration/accessors","content":"","keywords":"","version":"Next"},{"title":"Binary Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#binary-accessor","content":" The Binary Accessor serializes data into a binary format when writing to the buffer. This is how many devices expect their data including those following the CCSDS standard. COSMOS handles converting signed and unsigned integers, floats, strings, etc. into their binary representation in the buffer. This includes handling big and little endian, bitfields, and variable length fields. Since binary is so common this is the default Accessor and will be used if no other accessors are given. Commands​ COMMAND INST COLLECT BIG_ENDIAN "Starts a collect" ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default PARAMETER TYPE 64 16 UINT MIN MAX 0 "Collect type" PARAMETER DURATION 80 32 FLOAT 0.0 10.0 1.0 "Collect duration" PARAMETER OPCODE 112 8 UINT 0x0 0xFF 0xAB "Collect opcode" Telemetry​ TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status" ACCESSOR BinaryAccessor # Typically not explicitly defined because it is the default APPEND_ITEM CMD_ACPT_CNT 32 UINT "Command accept count" APPEND_ITEM COLLECTS 16 UINT "Number of collects" APPEND_ITEM DURATION 32 FLOAT "Most recent collect duration" ","version":"Next","tagName":"h3"},{"title":"CBOR Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#cbor-accessor","content":" The Concise Binary Object Representation (CBOR) Accessor serializes data into a binary format loosely based on JSON. It is a subclass of the JSON Accessor and is what COSMOS uses natively to store log files. Commands​ Using the CBOR Accessor for command definitions requires the use of TEMPLATE_FILE and KEY to allow the user to set values in the CBOR data. Note that the KEY values use JSONPath. COMMAND CBOR CBORCMD BIG_ENDIAN "CBOR Accessor Command" ACCESSOR CborAccessor TEMPLATE_FILE _cbor_template.bin APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" KEY $.more.item3 APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" KEY $.more.item4 APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 Creating the template file requires the use of the Ruby or Python CBOR libraries. Here is an example from Ruby: require 'cbor' data = {"id_item" : 2, "item1" : 101, "more" : { "item2" : 12, "item3" : 3.14, "item4" : "Example", "item5" : [4, 3, 2, 1] } } File.open("_cbor_template.bin", 'wb') do |file| file.write(data.to_cbor) end Telemetry​ Using the CBOR Accessor for telemetry definitions only requires the use of KEY to pull values from the CBOR data. Note that the KEY values use JSONPath. TELEMETRY CBOR CBORTLM BIG_ENDIAN "CBOR Accessor Telemetry" ACCESSOR CborAccessor APPEND_ID_ITEM ID_ITEM 32 INT 2 "Int Item" KEY $.id_item APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY $.item1 GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_ITEM ITEM3 64 FLOAT "Float Item" KEY $.more.item3 APPEND_ITEM ITEM4 128 STRING "String Item" KEY $.more.item4 APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 ","version":"Next","tagName":"h3"},{"title":"Form Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#form-accessor","content":" The Form Accessor is typically used with the HTTP Client interface to submit forms to a remote HTTP Server. Commands​ Using the Form Accessor for command definitions requires the use of KEY to allow the user to set values in the HTTP form. Note that the KEY values use XPath. COMMAND FORM FORMCMD BIG_ENDIAN "Form Accessor Command" ACCESSOR FormAccessor APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 UNITS CELSIUS C Telemetry​ Using the Form Accessor for telemetry definitions only requires the use of KEY to pull values from the HTTP response data. Note that the KEY values use XPath. TELEMETRY FORM FORMTLM BIG_ENDIAN "Form Accessor Telemetry" ACCESSOR FormAccessor APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item" KEY $.id_item APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY $.item1 ","version":"Next","tagName":"h3"},{"title":"HTML Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#html-accessor","content":" The HTML Accessor is typically used with the HTTP Client interface to parse a web page. For a full example see openc3-cosmos-http-get. Commands​ HTML Accessor is not typically used for commands but it would be similar to Telemetry using XPath Keys. Telemetry​ TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results" # Typically you use the HtmlAccessor to parse out the page that is returned # HtmlAccessor is passed to HttpAccessor and used internally ACCESSOR HttpAccessor HtmlAccessor APPEND_ITEM NAME 240 STRING # Keys were located by doing a manual search and then inspecting the page # Right click the text you're looking for and then Copy -> Copy XPath KEY normalize-space(//main/div/a[2]/span/h2/text()) APPEND_ITEM DESCRIPTION 480 STRING KEY //main/div/a[2]/span/p/text() APPEND_ITEM VERSION 200 STRING KEY //main/div/a[2]/span/h2/span/text() APPEND_ITEM DOWNLOADS 112 STRING KEY normalize-space(//main/div/a[2]/p/text()) ","version":"Next","tagName":"h3"},{"title":"HTTP Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#http-accessor","content":" HTTP Accessor is typically used with the HTTP Client or HTTP Server interface to parse a web page. It takes another accessor to do the low level reading and writing of the items. The default accessor is FormAccessor. HtlmAccessor, XmlAccessor and JsonAccessor are also common for manipulating HTML, XML and JSON respectively. For a full example see openc3-cosmos-http-get. Commands​ When used with the HTTP Client Interface, HTTP Accessor utilizes the following command parameters: Parameter\tDescriptionHTTP_PATH\trequests at this path HTTP_METHOD\trequest method (GET, POST, DELETE) HTTP_PACKET\ttelemetry packet to store the response HTTP_ERROR_PACKET\ttelemetry packet to store error responses (status code >= 300) HTTP_QUERY_XXX\tsets a value in the params passed to the request (XXX => value, or KEY => value), see example below HTTP_HEADER_XXX\tsets a value in the headers passed to the request (XXX => value, or KEY => value), see example below When used with the HTTP Server Interface, HTTP Accessor utilizes the following command parameters: Parameter\tDescriptionHTTP_STATUS\tstatus to return to clients HTTP_PATH\tmount point for server HTTP_PACKET\ttelemetry packet to store the request HTTP_HEADER_XXX\tsets a value in the response headers (XXX => value, or KEY => value), see example below COMMAND HTML SEARCH BIG_ENDIAN "Searches Rubygems.org" # Note FormAccessor is the default argument for HttpAccessor so it is typically not specified ACCESSOR HttpAccessor PARAMETER HTTP_PATH 0 0 DERIVED nil nil "/search" PARAMETER HTTP_METHOD 0 0 DERIVED nil nil "GET" PARAMETER HTTP_PACKET 0 0 DERIVED nil nil "RESPONSE" PARAMETER HTTP_ERROR_PACKET 0 0 DERIVED nil nil "ERROR" # This sets parameter query=openc3+cosmos # Note the parameter name 'query' based on HTTP_QUERY_QUERY PARAMETER HTTP_QUERY_QUERY 0 0 DERIVED nil nil "openc3 cosmos" GENERIC_READ_CONVERSION_START value.split.join('+') GENERIC_READ_CONVERSION_END # This sets header Content-Type=text/html # Note that TYPE is not used since the KEY is specified PARAMETER HTTP_HEADER_TYPE 0 0 DERIVED nil nil "text/html" KEY Content-Type Telemetry​ HTTP Accessor utilizes the following telemetry items: Parameter\tDescriptionHTTP_STATUS\tthe request status HTTP_HEADERS\thash of the response headers HTTP_REQUEST\toptional hash which returns all the request parameters, see HTTP Client Interface TELEMETRY HTML RESPONSE BIG_ENDIAN "Search results" # Typically you use the HtmlAccessor to parse out the page that is returned ACCESSOR HttpAccessor HtmlAccessor APPEND_ITEM NAME 240 STRING # Keys were located by doing a manual search and then inspecting the page # Right click the text you're looking for and then Copy -> Copy XPath KEY normalize-space(//main/div/a[2]/span/h2/text()) APPEND_ITEM DESCRIPTION 480 STRING KEY //main/div/a[2]/span/p/text() APPEND_ITEM VERSION 200 STRING KEY //main/div/a[2]/span/h2/span/text() APPEND_ITEM DOWNLOADS 112 STRING KEY normalize-space(//main/div/a[2]/p/text()) ","version":"Next","tagName":"h3"},{"title":"JSON Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#json-accessor","content":" The JSON Accessor serializes data into JavaScript Object Notation (JSON). JSON is a data interchange format that uses human-readable text to transmit data consisting of key value pairs and arrays. For a full example see openc3-cosmos-accessor-test. Commands​ Using the JSON Accessor for command definitions requires the use of TEMPLATE and KEY to allow the user to set values in the JSON data. Note that the KEY values use JSONPath. COMMAND JSON JSONCMD BIG_ENDIAN "JSON Accessor Command" ACCESSOR JsonAccessor TEMPLATE '{"id_item":1, "item1":101, "more": { "item2":12, "item3":3.14, "item4":"Example", "item5":[4, 3, 2, 1] } }' APPEND_ID_PARAMETER ID_ITEM 32 INT 2 2 2 "Int Item" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" KEY $.more.item3 APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" KEY $.more.item4 APPEND_ARRAY_PARAMETER ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 Telemetry​ Using the JSON Accessor for telemetry definitions only requires the use of KEY to pull values from the JSON data. Note that the KEY values use JSONPath. TELEMETRY JSON JSONTLM BIG_ENDIAN "JSON Accessor Telemetry" ACCESSOR JsonAccessor APPEND_ID_ITEM ID_ITEM 32 INT 1 "Int Item" KEY $.id_item APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY $.item1 GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" APPEND_ITEM ITEM3 64 FLOAT "Float Item" KEY $.more.item3 APPEND_ITEM ITEM4 128 STRING "String Item" KEY $.more.item4 APPEND_ARRAY_ITEM ITEM5 8 UINT 0 "Array Item" KEY $.more.item5 ","version":"Next","tagName":"h3"},{"title":"Template Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#template-accessor","content":" The Template Accessor is commonly used with string based command / response protocols such as the CmdResponseProtocol. For a full example see openc3-cosmos-scpi-power-supply in the COSMOS Enterprise Plugins. Commands​ Using the Template Accessor for command definitions requires the use of TEMPLATE to define a string template with optional parameters that are populated using the command parameters. # Some commands don't have any parameters and the template is sent as-is COMMAND SCPI_PS RESET BIG_ENDIAN "Reset the power supply state" ACCESSOR TemplateAccessor TEMPLATE "*RST" # This command has two parameters in the template defined by <XXX> COMMAND SCPI_PS VOLTAGE BIG_ENDIAN "Sets the voltage of a power supply channel" ACCESSOR TemplateAccessor # <VOLTAGE> and <CHANNEL> are replaced by the parameter values TEMPLATE "VOLT <VOLTAGE>, (@<CHANNEL>)" APPEND_PARAMETER VOLTAGE 32 FLOAT MIN MAX 0.0 "Voltage Setting" UNITS VOLTS V APPEND_PARAMETER CHANNEL 8 UINT 1 2 1 "Output Channel" Telemetry​ Using the Template Accessor for telemetry definitions requires the use of TEMPLATE to define a template where telemetry values are pulled from the string buffer. TELEMETRY SCPI_PS STATUS BIG_ENDIAN "Power supply status" ACCESSOR TemplateAccessor # The raw string from the target is something like "1.234,2.345" # String is split by the comma and pushed into MEAS_VOLTAGE_1, MEAS_VOLTAGE_2 TEMPLATE "<MEAS_VOLTAGE_1>,<MEAS_VOLTAGE_2>" APPEND_ITEM MEAS_VOLTAGE_1 32 FLOAT "Current Reading for Channel 1" APPEND_ITEM MEAS_VOLTAGE_2 32 FLOAT "Current Reading for Channel 2" ","version":"Next","tagName":"h3"},{"title":"XML Accessor​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#xml-accessor","content":" The XML Accessor is typically used with the HTTP Client interface to send and receive XML from a web server. For a full example see openc3-cosmos-accessor-test. Commands​ Using the XML Accessor for command definitions requires the use of TEMPLATE and KEY to allow the user to set values in the XML data. Note that the KEY values use XPath. COMMAND XML XMLCMD BIG_ENDIAN "XML Accessor Command" ACCESSOR XmlAccessor TEMPLATE '<html><head><script src="3"></script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>' APPEND_ID_PARAMETER ID_ITEM 32 INT 3 3 3 "Int Item" KEY "/html/head/script/@src" APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY "/html/head/noscript/text()" UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY "/html/body/img/@src" FORMAT_STRING "0x%X" APPEND_PARAMETER ITEM3 64 FLOAT MIN MAX 3.14 "Float Item" KEY "/html/body/div/ul/li[1]/text()" APPEND_PARAMETER ITEM4 128 STRING "Example" "String Item" KEY "/html/body/div/ul/li[2]/text()" Telemetry​ Using the XML Accessor for telemetry definitions only requires the use of KEY to pull values from the XML data. Note that the KEY values use XPath. TELEMETRY XML XMLTLM BIG_ENDIAN "XML Accessor Telemetry" ACCESSOR XmlAccessor # Template is not required for telemetry, but is useful for simulation TEMPLATE '<html><head><script src="3"></script><noscript>101</noscript></head><body><img src="12"/><div><ul><li>3.14</li><li>Example</li></ul></div><div></div></body></html>' APPEND_ID_ITEM ID_ITEM 32 INT 3 "Int Item" KEY "/html/head/script/@src" APPEND_ITEM ITEM1 16 UINT "Int Item 2" KEY "/html/head/noscript/text()" GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY "/html/body/img/@src" FORMAT_STRING "0x%X" APPEND_ITEM ITEM3 64 FLOAT "Float Item" KEY "/html/body/div/ul/li[1]/text()" APPEND_ITEM ITEM4 128 STRING "String Item" KEY "/html/body/div/ul/li[2]/text()" ","version":"Next","tagName":"h3"},{"title":"GEMS Ascii (Enterprise)​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#gems-ascii-enterprise","content":" The GemsAsciiAccessor inherits from TemplateAccessor to escape the following characters in outgoing commands: "&" => "&a", "|" => "&b", "," => "&c", and ";" => "&d" and reverse them in telemetry. See the GEMS Spec for more information. For a full example, please see the openc3-cosmos-gems-interface in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Prometheus (Enterprise)​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#prometheus-enterprise","content":" The PrometheusAccessor is used to read from a Prometheus endpoint and can automatically parse the results into a packet. The PrometheusAccessor is currently only implemented in Ruby. For a full example, please see the openc3-cosmos-prometheus-metrics in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Protocol Buffer (Enterprise)​","type":1,"pageTitle":"Accessors","url":"/docs/configuration/accessors#protocol-buffer-enterprise","content":" The ProtoAccessor is used to read and write protocol buffers. It is primarily used in conjunction with the GrpcInterface. The ProtoAccessor is currently only implemented in Ruby. Parameter\tDescription\tRequiredFilename\tFile generated by the protocol buffer compiler\tYes Class\tClass to use when encoding and decoding the buffer\tYes For a full example, please see the openc3-cosmos-proto-target in the COSMOS Enterprise Plugins. ","version":"Next","tagName":"h3"},{"title":"Commands","type":0,"sectionRef":"#","url":"/docs/configuration/command","content":"","keywords":"","version":"Next"},{"title":"Command Definition Files​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-definition-files","content":" Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters. Command Keywords ","version":"Next","tagName":"h2"},{"title":"COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command","content":" Defines a new command packet Parameter\tDescription\tRequiredTarget\tName of the target this command is associated with\tTrue Command\tName of this command. Also referred to as its mnemonic. Must be unique to commands to this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this command which must be enclosed with quotes\tFalse Example Usage: COMMAND INST COLLECT BIG_ENDIAN "Start collect" ","version":"Next","tagName":"h2"},{"title":"COMMAND Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#command-modifiers","content":" The following keywords must follow a COMMAND keyword. ","version":"Next","tagName":"h2"},{"title":"PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: PARAMETER SYNC 0 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" PARAMETER DATA 32 32 INT MIN MAX 0 "Data value" PARAMETER VALUE 64 32 FLOAT 0 10.5 2.5 PARAMETER LABEL 96 96 STRING "OPENC3" "The label to apply" PARAMETER BLOCK 192 0 BLOCK 0x0 "Block of binary data" ","version":"Next","tagName":"h3"},{"title":"PARAMETER Modifiers​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#parameter-modifiers","content":" The following keywords must follow a PARAMETER keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JSONPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse REQUIRED​ Parameter is required to be populated in scripts When sending the command via Script Runner a value must always be given for the current command parameter. This prevents the user from relying on a default value. Note that this does not affect Command Sender which will still populate the field with the default value provided in the PARAMETER definition. MINIMUM_VALUE​ Override the defined minimum value Parameter\tDescription\tRequiredValue\tThe new minimum value for the parameter\tTrue MAXIMUM_VALUE​ Override the defined maximum value Parameter\tDescription\tRequiredValue\tThe new maximum value for the parameter\tTrue DEFAULT_VALUE​ Override the defined default value Parameter\tDescription\tRequiredValue\tThe new default value for the parameter\tTrue STATE​ Defines a key/value pair for the current command parameter Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the command parameter and allows for much greater clarity and less chance for user error. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value\tTrue Hazardous / Disable Messages\tIndicates the state is hazardous. This will cause a popup to ask for user confirmation when sending this command. For non-hazardous states you can also set DISABLE_MESSAGES which will not print the command when using that state. Valid Values: HAZARDOUS\tFalse Hazardous Description\tString describing why this state is hazardous\tFalse Example Usage: APPEND_PARAMETER ENABLE 32 UINT 0 1 0 "Enable setting" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER STRING 1024 STRING "NOOP" "String parameter" STATE "NOOP" "NOOP" DISABLE_MESSAGES STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser is an eye safety hazard" STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING! Laser will be fired!" WRITE_CONVERSION​ Applies a conversion when writing the current command parameter Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: WRITE_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * multiplier end end end Python Example: WRITE_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * self.multiplier POLY_WRITE_CONVERSION​ Adds a polynomial conversion factor to the current command parameter The conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_WRITE_CONVERSION 10 0.5 0.25 SEG_POLY_WRITE_CONVERSION​ Adds a segmented polynomial conversion factor to the current command parameter This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_WRITE_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_WRITE_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_WRITE_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_WRITE_CONVERSION_START​ Start a generic write conversion Adds a generic conversion function to the current command parameter. This conversion factor is applied to the value entered by the user before it is written into the binary command packet and sent. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being written and 'packet' which is a reference to the command packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. Multiple write conversions on command parameters When a command is built, each item gets written (and write conversions are run) to set the default value. Then items are written (again write conversions are run) with user provided values. Thus write conversions can be run twice. Also there are no guarantees which parameters have already been written. The packet itself has a given_values() method which can be used to retrieve a hash of the user provided values to the command. That can be used to check parameter values passed in. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier to debug and higher performance. Ruby Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END Python Example: APPEND_PARAMETER ITEM1 32 UINT 0 0xFFFFFFFF 0 GENERIC_WRITE_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_WRITE_CONVERSION_END GENERIC_WRITE_CONVERSION_END​ Complete a generic write conversion OVERFLOW​ Set the behavior when writing a value overflows the type By default OpenC3 throws an error if you try to write a value which overflows its specified type, e.g. writing 255 to a 8 bit signed value. Setting the overflow behavior also allows for OpenC3 to 'TRUNCATE' the value by eliminating any high order bits. You can also set 'SATURATE' which causes OpenC3 to replace the value with the maximum or minimum allowable value for that type. Finally you can specify 'ERROR_ALLOW_HEX' which will allow for a maximum hex value to be written, e.g. you can successfully write 255 to a 8 bit signed value. Parameter\tDescription\tRequiredBehavior\tHow OpenC3 treats an overflow value. Only applies to signed and unsigned integer data types. Valid Values: ERROR, ERROR_ALLOW_HEX, TRUNCATE, SATURATE\tTrue Example Usage: OVERFLOW TRUNCATE ","version":"Next","tagName":"h3"},{"title":"APPEND_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_parameter","content":" Defines a command parameter in the current command packet Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue Default Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_PARAMETER SYNC 32 UINT 0xDEADBEEF 0xDEADBEEF 0xDEADBEEF "Sync pattern" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 APPEND_PARAMETER LABEL 0 STRING "OPENC3" "The label to apply" ","version":"Next","tagName":"h3"},{"title":"ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_PARAMETER OPCODE 32 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_id_parameter","content":" Defines an identification command parameter in the current command packet ID parameters are used to identify the binary block of data as a particular command. A command packet may have one or more ID_PARAMETERs and all must match the binary data for the command to be identified. Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Size\tBit size of this parameter. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this parameter Valid Values: INT, UINT, FLOAT, DERIVED, STRING, BLOCK\tTrue When Data Type is INT, UINT, FLOAT, DERIVED the remaining parameters are: Parameter\tDescription\tRequiredMinimum Value\tMinimum allowed value for this parameter\tTrue Maximum Value\tMaximum allowed value for this parameter\tTrue ID Value\tIdentification value for this parameter. The binary data must match this value for the buffer to be identified as this packet.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse When Data Type is STRING, BLOCK the remaining parameters are: Parameter\tDescription\tRequiredDefault Value\tDefault value for this parameter. You must provide a default but if you mark the parameter REQUIRED then scripts will be forced to specify a value.\tTrue Description\tDescription for this parameter which must be enclosed with quotes\tFalse Endianness\tIndicates if the data in this command is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "Opcode identifier" ","version":"Next","tagName":"h3"},{"title":"ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Bit Offset\tBit offset into the command packet of the Most Significant Bit of this parameter. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived parameters.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_PARAMETER ARRAY 64 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#append_array_parameter","content":" Defines a command parameter in the current command packet that is an array Parameter\tDescription\tRequiredName\tName of the parameter. Must be unique within the command.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_PARAMETER ARRAY 64 FLOAT 640 "Array of 10 64bit floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_parameter","content":" Selects an existing command parameter for editing Must be used in conjunction with SELECT_COMMAND to first select the packet. Typically used to override generated values or make specific changes to commands that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredParameter\tName of the parameter to select for modification\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h3"},{"title":"DELETE_PARAMETER​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#delete_parameter","content":" (Since 4.4.1) Deletes an existing command parameter from the packet definition Deleting a parameter from the command definition does not remove the defined space for that parameter. Thus unless you redefine a new parameter, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_COMMAND and then PARAMETER to define a new parameter. Parameter\tDescription\tRequiredParameter\tName of the parameter to delete\tTrue Example Usage: SELECT_COMMAND INST COLLECT DELETE_PARAMETER DURATION ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hidden","content":" Hides this command from all OpenC3 tools such as Command Sender and Handbook Creator Hidden commands do not appear in the Script Runner popup helper when writing scripts. The command still exists in the system and can be sent by scripts. ","version":"Next","tagName":"h3"},{"title":"DISABLED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disabled","content":" Disables this command from being sent Hides the command and also disables it from being sent by scripts. Attempts to send DISABLED commands result in an error message. ","version":"Next","tagName":"h3"},{"title":"DISABLE_MESSAGES​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#disable_messages","content":" Disable the Server from printing cmd(...) messages. Commands are still logged. ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#meta-1","content":" Stores metadata for the current command Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct command" ","version":"Next","tagName":"h3"},{"title":"HAZARDOUS​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#hazardous","content":" Designates the current command as hazardous Sending a hazardous command causes a dialog asking for confirmation before sending the command Parameter\tDescription\tRequiredDescription\tDescription for why the command is hazardous which must be enclosed with quotes\tFalse ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see Accessors. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue Argument\tAdditional argument passed to the accessor class constructor\tFalse ","version":"Next","tagName":"h3"},{"title":"TEMPLATE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template","content":" (Since 5.0.10) Defines a template string used to initialize the command before default values are filled in Generally the template string is formatted in JSON or HTML and then values are filled in with command parameters. Must be UTF-8 encoded. Parameter\tDescription\tRequiredTemplate\tThe template string which should be enclosed in quotes\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE_FILE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#template_file","content":" (Since 5.0.10) Defines a template file used to initialize the command before default values are filled in Generally the template file is formatted in JSON or HTML and then values are filled in with command parameters. Can be binary or UTF-8. Parameter\tDescription\tRequiredTemplate File Path\tThe relative path to the template file. Filename should generally start with an underscore.\tTrue ","version":"Next","tagName":"h3"},{"title":"RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#response","content":" (Since 5.14.0) Indicates the expected telemetry packet response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry response packet\tTrue Packet Name\tPacket Name of telemetry response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"ERROR_RESPONSE​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#error_response","content":" (Since 5.14.0) Indicates the expected telemetry packet error response to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of telemetry error response packet\tTrue Packet Name\tPacket Name of telemetry error response packet\tTrue ","version":"Next","tagName":"h3"},{"title":"RELATED_ITEM​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#related_item","content":" (Since 5.14.0) Defines a related telemetry item to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry item\tTrue Packet Name\tPacket Name of related telemetry item\tTrue Item Name\tItem Name of related telemetry item\tTrue ","version":"Next","tagName":"h3"},{"title":"SCREEN​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#screen","content":" (Since 5.14.0) Defines a related telemetry screen to this command Parameter\tDescription\tRequiredTarget Name\tTarget Name of related telemetry screen\tTrue Screen Name\tScreen Name of related telemetry screen\tTrue ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"RESTRICTED​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#restricted","content":" (Since 5.20.0) Marks this packet as restricted and will require approval if critical commanding is enabled Used as one of the two types of critical commands (HAZARDOUS and RESTRICTED) ","version":"Next","tagName":"h3"},{"title":"VALIDATOR​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#validator","content":" (Since 5.19.0) Defines a validator class for a command Validator class is used to validate the command success or failure with both a pre_check and post_check method. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'command_validator.rb' should contain 'class CommandValidator'.\tTrue Argument\tAdditional argument passed to the validator class constructor\tFalse Ruby Example: VALIDATOR custom_validator.rb Defined in custom_validator.rb: require 'openc3/packets/command_validator' class CustomValidator < OpenC3::CommandValidator # Both the pre_check and post_check are passed the command packet that was sent # You can inspect the command in your checks as follows: # packet.target_name => target name # packet.packet_name => packet name (command name) # packet.read("ITEM") => converted value # packet.read("ITEM", :RAW) => raw value def pre_check(packet) if tlm("TGT PKT ITEM") == 0 return [false, "TGT PKT ITEM is 0"] end @cmd_acpt_cnt = tlm("TGT PKT CMD_ACPT_CNT") return [true, nil] end def post_check(packet) wait_check("TGT PKT CMD_ACPT_CNT > #{@cmd_acpt_cnt}", 10) return [true, nil] end end Python Example: VALIDATOR custom_validator.rb Defined in custom_validator.py: class CustomValidator(CommandValidator): # Both the pre_check and post_check are passed the command packet that was sent # You can inspect the command in your checks as follows: # packet.target_name => target name # packet.packet_name => packet name (command name) # packet.read("ITEM") => converted value # packet.read("ITEM", :RAW) => raw value def pre_check(self, command): if tlm("TGT PKT ITEM") == 0: return [False, "TGT PKT ITEM is 0"] self.cmd_acpt_cnt = tlm("INST HEALTH_STATUS CMD_ACPT_CNT") return [True, None] def post_check(self, command): wait_check(f"INST HEALTH_STATUS CMD_ACPT_CNT > {self.cmd_acpt_cnt}", 10) return [True, None] ","version":"Next","tagName":"h3"},{"title":"SELECT_COMMAND​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#select_command","content":" Selects an existing command packet for editing Typically used in a separate configuration file from where the original command is defined to override or add to the existing command definition. Must be used in conjunction with SELECT_PARAMETER to change an individual parameter. Parameter\tDescription\tRequiredTarget Name\tName of the target this command is associated with\tTrue Command Name\tName of the command to select\tTrue Example Usage: SELECT_COMMAND INST COLLECT SELECT_PARAMETER DURATION # Add units UNITS Seconds S ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Commands","url":"/docs/configuration/command#example-file","content":" Example File: TARGET/cmd_tlm/cmd.txt COMMAND TARGET COLLECT_DATA BIG_ENDIAN "Commands my target to collect data" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 100 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 4 4 4 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER ANGLE 48 32 FLOAT -180.0 180.0 0.0 "ANGLE OF INSTRUMENT IN DEGREES" POLY_WRITE_CONVERSION 0 0.01745 0 0 PARAMETER MODE 80 8 UINT 0 1 0 "DATA COLLECTION MODE" STATE NORMAL 0 STATE DIAG 1 COMMAND TARGET NOOP BIG_ENDIAN "Do Nothing" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 101 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" PARAMETER DUMMY 48 8 UINT 0 0 0 "DUMMY PARAMETER BECAUSE CCSDS REQUIRES 1 BYTE OF DATA" COMMAND TARGET SETTINGS BIG_ENDIAN "Set the Settings" PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS PRIMARY HEADER VERSION NUMBER" PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS PRIMARY HEADER PACKET TYPE" PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS PRIMARY HEADER SECONDARY HEADER FLAG" ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 102 "CCSDS PRIMARY HEADER APPLICATION ID" PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS PRIMARY HEADER SEQUENCE FLAGS" PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS PRIMARY HEADER SEQUENCE COUNT" PARAMETER CCSDSLENGTH 32 16 UINT 0 0 0 "CCSDS PRIMARY HEADER PACKET LENGTH" <% 5.times do |x| %> APPEND_PARAMETER SETTING<%= x %> 16 UINT 0 5 0 "Setting <%= x %>" <% end %> ","version":"Next","tagName":"h2"},{"title":"OpenC3 COSMOS Key Concepts","type":0,"sectionRef":"#","url":"/docs/getting-started/key_concepts","content":"","keywords":"","version":"Next"},{"title":"Projects​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#projects","content":" The main COSMOS repo contains all the source code used to build and run COSMOS. However, users (not developers) of COSMOS should use the COSMOS project to launch COSMOS. The project consists of the openc3.sh and openc3.bat files for starting and stopping COSMOS, the compose.yaml for configuring the COSMOS containers, and the .env file for setting runtime variables. Additionally, the COSMOS project contains user modifiable config files for both Redis and Traefik. ","version":"Next","tagName":"h2"},{"title":"Containerization​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containerization","content":" ","version":"Next","tagName":"h2"},{"title":"Images​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#images","content":" Per Docker, "An image is a read-only template with instructions for creating a Docker container." The base operating system COSMOS uses is called Alpine Linux. It is a simple and compact image with a full package system that allows us to install our dependencies. Starting with Alpine, we create a Dockerfile to add Ruby and Python and a few other packages to create our own docker image. We further build upon that image to create a NodeJS image to support our frontend and additional images to support our backend. ","version":"Next","tagName":"h3"},{"title":"Containers​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#containers","content":" Per Docker, "a container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another." Also per Docker, "A container is an isolated environment for your code. This means that a container has no knowledge of your operating system, or your files. It runs on the environment provided to you by Docker Desktop. Containers have everything that your code needs in order to run, down to a base operating system." COSMOS utilizes containers to provide a consistent runtime environment. Containers make it easy to deploy to local on-prem servers, cloud environments, or air-gapped networks. The COSMOS Open Source containers consist of the following: Name\tDescriptioncosmos-openc3-cosmos-init-1\tCopies files to Minio and configures COSMOS then exits cosmos-openc3-operator-1\tMain COSMOS container that runs the interfaces and target microservices cosmos-openc3-cosmos-cmd-tlm-api-1\tRails server that provides all the COSMOS API endpoints cosmos-openc3-cosmos-script-runner-api-1\tRails server that provides the Script API endpoints cosmos-openc3-redis-1\tServes the static target configuration cosmos-openc3-redis-ephemeral-1\tServes the streams containing the raw and decomutated data cosmos-openc3-minio-1\tProvides a S3 like bucket storage interface and also serves as a static webserver for the tool files cosmos-openc3-traefik-1\tProvides a reverse proxy and load balancer with routes to the COSMOS endpoints The container list for Enterprise COSMOS consists of the following: Name\tDescriptioncosmos-enterprise-openc3-metrics-1\tRails server that provides metrics on COSMOS performance cosmos-enterprise-openc3-keycloak-1\tSingle-Sign On service for authentication cosmos-enterprise-openc3-postgresql-1\tSQL Database for use by Keycloak openc3-nfs *\tNetwork File System pod only for use in Kubernetes to share code libraries between containers ","version":"Next","tagName":"h3"},{"title":"Docker Compose​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#docker-compose","content":" Per Docker, "Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with a single command, you create and start all the services from your configuration." OpenC3 uses compose files to both build and run COSMOS. The compose.yaml is where ports are exposed and environment variables are used. ","version":"Next","tagName":"h3"},{"title":"Environment File​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#environment-file","content":" COSMOS uses an environment file along with Docker Compose to pass environment variables into the COSMOS runtime. This .env file consists of simple key value pairs that contain the version of COSMOS deployed, usernames and passwords, and much more. ","version":"Next","tagName":"h3"},{"title":"Kubernetes​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#kubernetes","content":" Per Kubernetes.io, "Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery." COSMOS Enterprise provides Helm charts for easy deployment to Kubernetes in various cloud environments. COSMOS Enterprise also provides Terraform scripts to deploy COSMOS infrastructure on various cloud environments. ","version":"Next","tagName":"h3"},{"title":"Frontend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#frontend","content":" ","version":"Next","tagName":"h2"},{"title":"Vue.js​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#vuejs","content":" The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per Vue.js, "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the Vuetify Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. COSMOS 5 utilized Vue.js 2.x and Vuetify 2.x while COSMOS 6 utilizes Vue.js 3.x and Vuetify 3.x. ","version":"Next","tagName":"h3"},{"title":"Single-Spa​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#single-spa","content":" While COSMOS itself is written in Vue.js, we utilize a technology called single-spa to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue. ","version":"Next","tagName":"h3"},{"title":"Astro UX​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#astro-ux","content":" Per AstroUXDS, "The Astro Space UX Design System enables developers and designers to build rich space app experiences with established interaction patterns and best practices." COSMOS utilizes the Astro design guidelines for color, typograpy, and iconograpy. In some cases, e.g. Astro Clock, COSMOS directly incorporates Astro components. ","version":"Next","tagName":"h3"},{"title":"Backend​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#backend","content":" ","version":"Next","tagName":"h2"},{"title":"Redis​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#redis","content":" Redis is an in-memory data store with support for strings, hashes, lists, sets, sorted sets, streams, and more. COSMOS uses Redis to store both our configuration and data. If you look back at our container list you'll notice two redis containers: cosmos-openc3-redis-1 and cosmos-openc3-redis-ephemeral-1. The ephemeral container contains all the real-time data pushed into Redis streams. The other redis container contains COSMOS configuration that is meant to persist. COSMOS Enterprise provides helm charts that setup Redis Cluster to perform horizontal scaling where data is shared across multiple Redis nodes. ","version":"Next","tagName":"h3"},{"title":"MinIO​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#minio","content":" MinIO is a high-performance, S3 compatible object store. COSMOS uses this storage technology to host both the COSMOS tools themselves and the long term log files. COSMOS Enterprise deployed in a cloud environment uses the available cloud native bucket storage technology, e.g. AWS S3, GCP Buckets, and Azure Blob Storage. Using bucket storage allows COSMOS to directly serve the tools as a static website and thus we don't need to deploy Tomcat or Nginx for example. ","version":"Next","tagName":"h3"},{"title":"Ruby on Rails​","type":1,"pageTitle":"OpenC3 COSMOS Key Concepts","url":"/docs/getting-started/key_concepts#ruby-on-rails","content":" The COSMOS API and Script Runner backends are powered by Ruby on Rails. Rails is a web application development framework written in the Ruby programming language. Rails (and our familiarity with Ruby) allows us to write less code while accomplishing more than many other languages and frameworks. ","version":"Next","tagName":"h3"},{"title":"Telemetry","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry","content":"","keywords":"","version":"Next"},{"title":"Telemetry Definition Files​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-definition-files","content":" Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the ASCII Table is structured, files beginning with capital letters are processed before lower case letters. When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items. Printing Data Most data types can be printed in a COSMOS script simply by doing print(tlm("TGT PKT ITEM")). However, if the ITEM is a BLOCK data type and contains binary (non-ASCII) data then that won't work. COSMOS comes with a built-in method called formatted to help you view binary data. If ITEM is a BLOCK type containing binary try puts tlm("TGT PKT ITEM").formatted (Ruby) and print(formatted(tlm("TGT PKT ITEM"))) (Python) which will print the bytes out as hex. ","version":"Next","tagName":"h2"},{"title":"ID Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id-items","content":" All packets require identification items so the incoming data can be matched to a packet structure. These items are defined using the ID_ITEM and APPEND_ID_ITEM. As data is read from the interface and refined by the protocol, the resulting packet is identified by matching all the ID fields. Note that ideally all packets in a particular target should use the exact same bit offset, bit size, and data type to identify. If this is not the case, you must set TLM_UNIQUE_ID_MODE in the target.txt file which incurs a performance penalty on every packet identification. ","version":"Next","tagName":"h3"},{"title":"Variable Sized Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#variable-sized-items","content":" COSMOS specifies a variable sized item with a bit size of 0. When a packet is identified, all other data that isn't explicitly defined will be put into the variable sized item. These items are typically used for packets containing memory dumps which vary in size depending on the number of bytes dumped. Note that there can only be one variable sized item per packet. ","version":"Next","tagName":"h3"},{"title":"Derived Items​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#derived-items","content":" COSMOS has a concept of a derived item which is a telemetry item that doesn't actually exist in the binary data. Derived items are typically computed based on other telemetry items. COSMOS derived items are very similar to real items except they use the special DERIVED data type. Here is how a derived item might look in a telemetry definition. ITEM TEMP_AVERAGE 0 0 DERIVED "Average of TEMP1, TEMP2, TEMP3, TEMP4" Note the bit offset and bit size of 0 and the data type of DERIVED. For this reason DERIVED items should be declared using ITEM rather than APPEND_ITEM. They can be defined anywhere in the packet definition but are typically placed at the end. The ITEM definition must be followed by a CONVERSION keyword, e.g. READ_CONVERSION, to generate the value. ","version":"Next","tagName":"h3"},{"title":"Received Time and Packet Time​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#received-time-and-packet-time","content":" COSMOS automatically creates several telemetry items on every packet: PACKET_TIMESECONDS, PACKET_TIMEFORMATTED, RECEIVED_COUNT, RECEIVED_TIMEFORMATTED, and RECEIVED_TIMESECONDS. RECEIVED_TIME is the time that COSMOS receives the packet. This is set by the interface which is connected to the target and is receiving the raw data. Once a packet has been created out of the raw data the time is set. PACKET_TIME defaults to RECEIVED_TIME, but can be set as a derived item with a time object in the telemetry configuration file. This helps support stored telemetry packets so that they can be more reasonably handled by other COSMOS tools such as Telemetry Grapher and Data Extractor. You can set the 'stored' flag in your interface and the current value table is unaffected. The _TIMEFORMATTED items returns the date and time in a YYYY/MM/DD HH:MM:SS.sss format and the _TIMESECONDS returns the Unix seconds of the time. Internally these are both stored as either a Ruby Time object or Python date object. Example​ COSMOS provides a Unix time conversion class which returns a Ruby Time object or Python date object based on the number of seconds and (optionally) microseconds since the Unix epoch. Note: This returns a native object and not a float or string! Ruby Example: ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS" READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS Python Example: ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS" READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet. Telemetry Keywords ","version":"Next","tagName":"h3"},{"title":"TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry","content":" Defines a new telemetry packet Parameter\tDescription\tRequiredTarget\tName of the target this telemetry packet is associated with\tTrue Command\tName of this telemetry packet. Also referred to as its mnemonic. Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.\tTrue Endianness\tIndicates if the data in this packet is in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tTrue Description\tDescription of this telemetry packet which must be enclosed with quotes\tFalse Example Usage: TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Instrument health and status" ","version":"Next","tagName":"h2"},{"title":"TELEMETRY Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#telemetry-modifiers","content":" The following keywords must follow a TELEMETRY keyword. ","version":"Next","tagName":"h2"},{"title":"ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ITEM PKTID 112 16 UINT "Packet ID" ITEM DATA 0 0 DERIVED "Derived data" ","version":"Next","tagName":"h3"},{"title":"ITEM Modifiers​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#item-modifiers","content":" The following keywords must follow a ITEM keyword. FORMAT_STRING​ Adds printf style formatting Parameter\tDescription\tRequiredFormat\tHow to format using printf syntax. For example, '0x%0X' will display the value in hex.\tTrue Example Usage: FORMAT_STRING "0x%0X" UNITS​ Add displayed units Parameter\tDescription\tRequiredFull Name\tFull name of the units type, e.g. Celsius\tTrue Abbreviated\tAbbreviation for the units, e.g. C\tTrue Example Usage: UNITS Celsius C UNITS Kilometers KM DESCRIPTION​ Override the defined description Parameter\tDescription\tRequiredValue\tThe new description\tTrue META​ Stores custom user metadata Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META TEST "This parameter is for test purposes only" OVERLAP​ (Since 4.4.1) This item is allowed to overlap other items in the packet If an item's bit offset overlaps another item, OpenC3 issues a warning. This keyword explicitly allows an item to overlap another and suppresses the warning message. KEY​ (Since 5.0.10) Defines the key used to access this raw value in the packet. Keys are often JSONPath or XPath strings Parameter\tDescription\tRequiredKey string\tThe key to access this item\tTrue Example Usage: KEY $.book.title VARIABLE_BIT_SIZE​ (Since 5.18.0) Marks an item as having its bit size defined by another length item Parameter\tDescription\tRequiredLength Item Name\tThe name of the associated length item\tTrue Length Bits Per Count\tBits per count of the length item. Defaults to 8\tFalse Length Value Bit Offset\tOffset in Bits to Apply to Length Field Value. Defaults to 0\tFalse STATE​ Defines a key/value pair for the current item Key value pairs allow for user friendly strings. For example, you might define states for ON = 1 and OFF = 0. This allows the word ON to be used rather than the number 1 when sending the telemetry item and allows for much greater clarity and less chance for user error. A catch all value of ANY applies to all other values not already defined as state values. Parameter\tDescription\tRequiredKey\tThe string state name\tTrue Value\tThe numerical state value or ANY to apply the state to all other values\tTrue Color\tThe color the state should be displayed as Valid Values: GREEN, YELLOW, RED\tFalse Example Usage: APPEND_ITEM ENABLE 32 UINT "Enable setting" STATE FALSE 0 STATE TRUE 1 STATE ERROR ANY # Match all other values to ERROR APPEND_ITEM STRING 1024 STRING "String" STATE "NOOP" "NOOP" GREEN STATE "ARM LASER" "ARM LASER" YELLOW STATE "FIRE LASER" "FIRE LASER" RED READ_CONVERSION​ Applies a conversion to the current telemetry item Conversions are implemented in a custom Ruby or Python file which should be located in the target's lib folder. The class must inherit from Conversion. It must implement the initialize (Ruby) or __init__ (Python) method if it takes extra parameters and must always implement the call method. The conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredClass Filename\tThe filename which contains the Ruby or Python class. The filename must be named after the class such that the class is a CamelCase version of the underscored filename. For example, 'the_great_conversion.rb' should contain 'class TheGreatConversion'.\tTrue Parameter\tAdditional parameter values for the conversion which are passed to the class constructor.\tFalse Ruby Example: READ_CONVERSION the_great_conversion.rb 1000 Defined in the_great_conversion.rb: require 'openc3/conversions/conversion' module OpenC3 class TheGreatConversion < Conversion def initialize(multiplier) super() @multiplier = multiplier.to_f end def call(value, packet, buffer) return value * @multiplier end end end Python Example: READ_CONVERSION the_great_conversion.py 1000 Defined in the_great_conversion.py: from openc3.conversions.conversion import Conversion class TheGreatConversion(Conversion): def __init__(self, multiplier): super().__init__() self.multiplier = float(multiplier) def call(self, value, packet, buffer): return value * self.multiplier POLY_READ_CONVERSION​ Adds a polynomial conversion factor to the current telemetry item The conversion factor is applied to raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredC0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: POLY_READ_CONVERSION 10 0.5 0.25 SEG_POLY_READ_CONVERSION​ Adds a segmented polynomial conversion factor to the current telemetry item This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. Parameter\tDescription\tRequiredLower Bound\tDefines the lower bound of the range of values that this segmented polynomial applies to. Is ignored for the segment with the smallest lower bound.\tTrue C0\tCoefficient\tTrue Cx\tAdditional coefficient values for the conversion. Any order polynomial conversion may be used so the value of 'x' will vary with the order of the polynomial. Note that larger order polynomials take longer to process than shorter order polynomials, but are sometimes more accurate.\tFalse Example Usage: SEG_POLY_READ_CONVERSION 0 10 0.5 0.25 # Apply the conversion to all values < 50 SEG_POLY_READ_CONVERSION 50 11 0.5 0.275 # Apply the conversion to all values >= 50 and < 100 SEG_POLY_READ_CONVERSION 100 12 0.5 0.3 # Apply the conversion to all values >= 100 GENERIC_READ_CONVERSION_START​ Start a generic read conversion Adds a generic conversion function to the current telemetry item. This conversion factor is applied to the raw value in the telemetry packet before it is displayed to the user. The user still has the ability to see the raw unconverted value in a details dialog. The conversion is specified as Ruby or Python code that receives two implied parameters. 'value' which is the raw value being read and 'packet' which is a reference to the telemetry packet class (Note, referencing the packet as 'myself' is still supported for backwards compatibility). The last line of code should return the converted value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of code for the conversion have been given. warning Generic conversions are not a good long term solution. Consider creating a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier to debug and has higher performance. Parameter\tDescription\tRequiredConverted Type\tType of the converted value Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tFalse Converted Bit Size\tBit size of converted value\tFalse Ruby Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return (value * 1.5).to_i # Convert the value by a scale factor GENERIC_READ_CONVERSION_END Python Example: APPEND_ITEM ITEM1 32 UINT GENERIC_READ_CONVERSION_START return int(value * 1.5) # Convert the value by a scale factor GENERIC_READ_CONVERSION_END GENERIC_READ_CONVERSION_END​ Complete a generic read conversion LIMITS​ Defines a set of limits for a telemetry item If limits are violated a message is printed in the Command and Telemetry Server to indicate an item went out of limits. Other tools also use this information to update displays with different colored telemetry items or other useful information. The concept of "limits sets" is defined to allow for different limits values in different environments. For example, you might want tighter or looser limits on telemetry if your environment changes such as during thermal vacuum testing. Parameter\tDescription\tRequiredLimits Set\tName of the limits set. If you have no unique limits sets use the keyword DEFAULT.\tTrue Persistence\tNumber of consecutive times the telemetry item must be within a different limits range before changing limits state.\tTrue Initial State\tWhether limits monitoring for this telemetry item is initially enabled or disabled. Note if you have multiple LIMITS items they should all have the same initial state. Valid Values: ENABLED, DISABLED\tTrue Red Low Limit\tIf the telemetry value is less than or equal to this value a Red Low condition will be detected\tTrue Yellow Low Limit\tIf the telemetry value is less than or equal to this value, but greater than the Red Low Limit, a Yellow Low condition will be detected\tTrue Yellow High Limit\tIf the telemetry value is greater than or equal to this value, but less than the Red High Limit, a Yellow High condition will be detected\tTrue Red High Limit\tIf the telemetry value is greater than or equal to this value a Red High condition will be detected\tTrue Green Low Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is greater than or equal to this value, but less than the Green High Limit, a Blue operational condition will be detected.\tFalse Green High Limit\tSetting the Green Low and Green High limits defines an "operational limit" which is colored blue by OpenC3. This allows for a distinct desired operational range which is narrower than the green safety limit. If the telemetry value is less than or equal to this value, but greater than the Green Low Limit, a Blue operational condition will be detected.\tFalse Example Usage: LIMITS DEFAULT 3 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS TVAC 3 ENABLED -80.0 -30.0 30.0 80.0 LIMITS_RESPONSE​ Defines a response class that is called when the limits state of the current item changes Parameter\tDescription\tRequiredResponse Class Filename\tName of the Ruby or Python file which implements the limits response. This file should be in the target's lib directory.\tTrue Response Specific Options\tVariable length number of options that will be passed to the class constructor\tFalse Ruby Example: LIMITS_RESPONSE example_limits_response.rb 10 Python Example: LIMITS_RESPONSE example_limits_response.py 10 ","version":"Next","tagName":"h3"},{"title":"APPEND_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value. If Bit Offset is 0 and Bit Size is 0 then this is a derived parameter and the Data Type must be set to 'DERIVED'.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ITEM PKTID 16 UINT "Packet ID" ","version":"Next","tagName":"h3"},{"title":"ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#id_item","content":" Defines a telemetry item in the current telemetry packet. Note, packets defined without one or more ID_ITEMs are "catch-all" packets which will match all incoming data. Normally this is the job of the UNKNOWN packet. Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"APPEND_ID_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_id_item","content":" Defines a telemetry item in the current telemetry packet Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Size\tBit size of this telemetry item. Zero or Negative values may be used to indicate that a string fills the packet up to the offset from the end of the packet specified by this value.\tTrue Data Type\tData Type of this telemetry item Valid Values: INT, UINT, FLOAT, STRING, BLOCK\tTrue ID Value\tThe value of this telemetry item that uniquely identifies this telemetry packet\tTrue Description\tDescription for this telemetry item which must be enclosed with quotes\tFalse Endianness\tIndicates if the item is to be interpreted in Big Endian or Little Endian format. See guide on Little Endian Bitfields. Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1" ","version":"Next","tagName":"h3"},{"title":"ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Bit Offset\tBit offset into the telemetry packet of the Most Significant Bit of this item. May be negative to indicate on offset from the end of the packet. Always use a bit offset of 0 for derived item.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"APPEND_ARRAY_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#append_array_item","content":" Defines a telemetry item in the current telemetry packet that is an array Parameter\tDescription\tRequiredName\tName of the telemety item. Must be unique within the packet.\tTrue Item Bit Size\tBit size of each array item\tTrue Item Data Type\tData Type of each array item Valid Values: INT, UINT, FLOAT, STRING, BLOCK, DERIVED\tTrue Array Bit Size\tTotal Bit Size of the Array. Zero or Negative values may be used to indicate the array fills the packet up to the offset from the end of the packet specified by this value.\tTrue Description\tDescription which must be enclosed with quotes\tFalse Endianness\tIndicates if the data is to be sent in Big Endian or Little Endian format Valid Values: BIG_ENDIAN, LITTLE_ENDIAN\tFalse Example Usage: APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats" ","version":"Next","tagName":"h3"},{"title":"SELECT_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_item","content":" Selects an existing telemetry item for editing Must be used in conjunction with SELECT_TELEMETRY to first select the packet. Typically used to override generated values or make specific changes to telemetry that only affect a particular instance of a target used multiple times. Parameter\tDescription\tRequiredItem\tName of the item to select for modification\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h3"},{"title":"DELETE_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#delete_item","content":" (Since 4.4.1) Delete an existing telemetry item from the packet definition Deleting an item from the packet definition does not remove the defined space for that item. Thus unless you redefine a new item, there will be a "hole" in the packet where the data is not accessible. You can use SELECT_TELEMETRY and then ITEM to define a new item. Parameter\tDescription\tRequiredItem\tName of the item to delete\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS DELETE_ITEM TEMP4 ","version":"Next","tagName":"h3"},{"title":"META​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#meta-1","content":" Stores metadata for the current telemetry packet Meta data is user specific data that can be used by custom tools for various purposes. One example is to store additional information needed to generate source code header files. Parameter\tDescription\tRequiredMeta Name\tName of the metadata to store\tTrue Meta Values\tOne or more values to be stored for this Meta Name\tFalse Example Usage: META FSW_TYPE "struct tlm_packet" ","version":"Next","tagName":"h3"},{"title":"PROCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#processor","content":" Defines a processor class that executes code every time a packet is received Parameter\tDescription\tRequiredProcessor Name\tThe name of the processor\tTrue Processor Class Filename\tName of the Ruby or Python file which implements the processor. This file should be in the target's lib directory.\tTrue Processor Specific Options\tVariable length number of options that will be passed to the class constructor.\tFalse Ruby Example: PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1 Python Example: PROCESSOR TEMP1HIGH watermark_processor.py TEMP1 ","version":"Next","tagName":"h3"},{"title":"ALLOW_SHORT​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#allow_short","content":" Process telemetry packets which are less than their defined length Allows the telemetry packet to be received with a data portion that is smaller than the defined size without warnings. Any extra space in the packet will be filled in with zeros by OpenC3. ","version":"Next","tagName":"h3"},{"title":"HIDDEN​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#hidden","content":" Hides this telemetry packet from all the OpenC3 tools This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator. It also hides this telemetry from appearing in the Script Runner popup helper when writing scripts. The telemetry still exists in the system and can received and checked by scripts. ","version":"Next","tagName":"h3"},{"title":"ACCESSOR​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#accessor","content":" (Since 5.0.10) Defines the class used to read and write raw values from the packet Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor. For more information see Accessors. Parameter\tDescription\tRequiredAccessor Class Name\tThe name of the accessor class\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#template","content":" (Since 5.0.10) Defines a template string used to pull telemetry values from a string buffer Parameter\tDescription\tRequiredTemplate\tThe template string which should be enclosed in quotes\tTrue ","version":"Next","tagName":"h3"},{"title":"TEMPLATE_FILE​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#template_file","content":" (Since 5.0.10) Defines a template file used to pull telemetry values from a string buffer Parameter\tDescription\tRequiredTemplate File Path\tThe relative path to the template file. Filename should generally start with an underscore.\tTrue ","version":"Next","tagName":"h3"},{"title":"IGNORE_OVERLAP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#ignore_overlap","content":" (Since 5.16.0) Ignores any packet items which overlap Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword. This ignores overlaps across the entire packet. ","version":"Next","tagName":"h3"},{"title":"VIRTUAL​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#virtual","content":" (Since 5.18.0) Marks this packet as virtual and not participating in identification Used for packet definitions that can be used as structures for items with a given packet. ","version":"Next","tagName":"h3"},{"title":"SELECT_TELEMETRY​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#select_telemetry","content":" Selects an existing telemetry packet for editing Typically used in a separate configuration file from where the original telemetry is defined to override or add to the existing telemetry definition. Must be used in conjunction with SELECT_ITEM to change an individual item. Parameter\tDescription\tRequiredTarget Name\tName of the target this telemetry packet is associated with\tTrue Packet Name\tName of the telemetry packet to select\tTrue Example Usage: SELECT_TELEMETRY INST HEALTH_STATUS SELECT_ITEM TEMP1 # Define limits for this item, overrides or replaces any existing LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0 ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group","content":" Defines a group of related limits Items Limits groups contain telemetry items that can be enabled and disabled together. It can be used to group related limits as a subsystem that can be enabled or disabled as that particular subsystem is powered (for example). To enable a group call the enable_limits_group("NAME") method in Script Runner. To disable a group call the disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups but the last enabled or disabled group "wins". For example, if an item belongs to GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will be disabled. If you then enable GROUP1 again it will be enabled. Parameter\tDescription\tRequiredGroup Name\tName of the limits group\tTrue ","version":"Next","tagName":"h2"},{"title":"LIMITS_GROUP_ITEM​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#limits_group_item","content":" Adds the specified telemetry item to the last defined LIMITS_GROUP Limits group information is typically kept in a separate configuration file in the config/TARGET/cmd_tlm folder named limits_groups.txt. Parameter\tDescription\tRequiredTarget Name\tName of the target\tTrue Packet Name\tName of the packet\tTrue Item Name\tName of the telemetry item to add to the group\tTrue Example Usage: LIMITS_GROUP SUBSYSTEM LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2 LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3 ","version":"Next","tagName":"h2"},{"title":"Example File​","type":1,"pageTitle":"Telemetry","url":"/docs/configuration/telemetry#example-file","content":" Example File: TARGET/cmd_tlm/tlm.txt TELEMETRY TARGET HS BIG_ENDIAN "Health and Status for My Target" ITEM CCSDSVER 0 3 UINT "CCSDS PACKET VERSION NUMBER (SEE CCSDS 133.0-B-1)" ITEM CCSDSTYPE 3 1 UINT "CCSDS PACKET TYPE (COMMAND OR TELEMETRY)" STATE TLM 0 STATE CMD 1 ITEM CCSDSSHF 4 1 UINT "CCSDS SECONDARY HEADER FLAG" STATE FALSE 0 STATE TRUE 1 ID_ITEM CCSDSAPID 5 11 UINT 102 "CCSDS APPLICATION PROCESS ID" ITEM CCSDSSEQFLAGS 16 2 UINT "CCSDS SEQUENCE FLAGS" STATE FIRST 0 STATE CONT 1 STATE LAST 2 STATE NOGROUP 3 ITEM CCSDSSEQCNT 18 14 UINT "CCSDS PACKET SEQUENCE COUNT" ITEM CCSDSLENGTH 32 16 UINT "CCSDS PACKET DATA LENGTH" ITEM CCSDSDAY 48 16 UINT "DAYS SINCE EPOCH (JANUARY 1ST, 1958, MIDNIGHT)" ITEM CCSDSMSOD 64 32 UINT "MILLISECONDS OF DAY (0 - 86399999)" ITEM CCSDSUSOMS 96 16 UINT "MICROSECONDS OF MILLISECOND (0-999)" ITEM ANGLEDEG 112 16 INT "Instrument Angle in Degrees" POLY_READ_CONVERSION 0 57.295 ITEM MODE 128 8 UINT "Instrument Mode" STATE NORMAL 0 GREEN STATE DIAG 1 YELLOW ITEM TIMESECONDS 0 0 DERIVED "DERIVED TIME SINCE EPOCH IN SECONDS" GENERIC_READ_CONVERSION_START FLOAT 32 ((packet.read('ccsdsday') * 86400.0) + (packet.read('ccsdsmsod') / 1000.0) + (packet.read('ccsdsusoms') / 1000000.0) ) GENERIC_READ_CONVERSION_END ITEM TIMEFORMATTED 0 0 DERIVED "DERIVED TIME SINCE EPOCH AS A FORMATTED STRING" GENERIC_READ_CONVERSION_START STRING 216 time = Time.ccsds2mdy(packet.read('ccsdsday'), packet.read('ccsdsmsod'), packet.read('ccsdsusoms')) sprintf('%04u/%02u/%02u %02u:%02u:%02u.%06u', time[0], time[1], time[2], time[3], time[4], time[5], time[6]) GENERIC_READ_CONVERSION_END ","version":"Next","tagName":"h2"},{"title":"Code Generators","type":0,"sectionRef":"#","url":"/docs/getting-started/generators","content":"","keywords":"","version":"Next"},{"title":"Plugin Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#plugin-generator","content":" The plugin generator creates the scaffolding for a new COSMOS Plugin. It requires a plugin name and will create a new directory called openc3-cosmos-<name>. For example: % openc3.sh cli generate plugin Usage: cli generate plugin <NAME> % openc3.sh cli generate plugin GSE Plugin openc3-cosmos-gse successfully generated! This creates the following files: Name\tDescription.gitignore\tTells git to ignore any node_modules directory (for tool development) LICENSE.txt\tLicense for the plugin. COSMOS Plugins should be licensed in a manner compatible with the AGPLv3, unless they are designed only for use with COSMOS Enterprise Edition. openc3-cosmos-gse.gemspec\tGemspec file which should be edited to add user specific information like description, authors, emails, homepage, etc. The name of this file is used in compiling the plugin contents into the final corresponding gem file: e.g. openc3-cosmos-gse-1.0.0.gem. COSMOS plugins should always begin with the openc3-cosmos prefix to make them easily identifiable in the Rubygems repository. The file is formatted as documented at: https://guides.rubygems.org/specification-reference/ plugin.txt\tCOSMOS specific file for Plugin creation. Learn more here. Rakefile\tRuby Rakefile configured to support building the plugin by running "openc3.sh cli rake build VERSION=X.X.X" where X.X.X is the plugin version number README.md\tMarkdown file used to document the plugin requirements.txt\tPython dependencies file (only for Python plugins) While this structure is required, it is not very useful by itself. The plugin generator just creates the framework for other generators to use. ","version":"Next","tagName":"h2"},{"title":"Target Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#target-generator","content":" The target generator creates the scaffolding for a new COSMOS Target. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate target Usage: cli generate target <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate target GSE Target GSE successfully generated! This creates the following files and directories: Name\tDescriptiontargets/GSE\tContains the configuration for the GSE target. The target name is always defined in all caps. This is typically the default name of the target, but well-designed targets will allow themselves to be renamed at installation. targets/GSE/cmd_tlm\tContains the command and telemetry definition files for the GSE target. These files capture the format of the commands that can be sent to the target, and the telemetry packets that are expected to be received by COSMOS from the target. Note that the files in this folder are processed in alphabetical order by default. That can matter if you reference a packet in another file (it must already have been defined). targets/GSE/cmd_tlm/cmd.txt\tExample command configuration. Will need to be edited for the target specific commands. targets/GSE/cmd_tlm/tlm.txt\tExample telemetry configuration. Will need to be edited for the target specific telemetry. targets/GSE/lib\tContains any custom code required by the target. Good examples of custom code are library files, custom interface classes and protocols. targets/GSE/lib/gse.rb/py\tExample library file which can be expanded as the target is developed. COSMOS recommends building up library methods to avoid code duplication and ease reuse. targets/GSE/procedures\tThis folder contains target specific procedures and helper methods which exercise functionality of the target. These procedures should be kept simple and only use the command and telemetry definitions associated with this target. See the Scripting Guide for more information. targets/GSE/procedures/procedure.rb/py\tProcedure with an example of sending a command and checking telemetry targets/GSE/public\tPut image files here for use in Telemetry Viewer Canvas Image widgets such as CANVASIMAGE and CANVASIMAGEVALUE targets/GSE/screens\tContains telemetry screens for the target targets/GSE/screens/status.txt\tExample screen to display telemetry values targets/GSE/target.txt\tTarget configuration such as ignoring command and telemetry items and how to process the cmd/tlm files It also updates the plugin.txt file to add the new target: VARIABLE gse_target_name GSE TARGET GSE <%= gse_target_name %> INTERFACE <%= gse_target_name %>_INT tcpip_client_interface.rb host.docker.internal 8080 8081 10.0 nil BURST MAP_TARGET <%= gse_target_name %> ","version":"Next","tagName":"h2"},{"title":"Microservice Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#microservice-generator","content":" The microservice generator creates the scaffolding for a new COSMOS Microservice. It must operate inside an existing COSMOS plugin and requires a target name. For example: openc3-cosmos-gse % openc3.sh cli generate microservice Usage: cli generate microservice <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate microservice background Microservice BACKGROUND successfully generated! This creates the following files and directories: Name\tDescriptionmicroservices/BACKGROUND\tContains the code and any necessary configuration for the BACKGROUND microservice. The name is always defined in all caps. This is typically the default name of the microservice, but well-designed microservices will allow themselves to be renamed at installation. microservices/BACKGROUND/background.rb\tFully functional microservice which will run every minute and log a message. Edit to implement any custom logic that you want to run in the background. Potential uses are safety microservices which can check and autonomously respond to complex events and take action (NOTE: Simple actions might just require a Limits Response). It also updates the plugin.txt file to add the new microservice: MICROSERVICE BACKGROUND background-microservice CMD ruby background.rb ","version":"Next","tagName":"h2"},{"title":"Conversion Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#conversion-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Conversion. It must operate inside an existing COSMOS plugin and requires both a target name and conversion name. For example: openc3-cosmos-gse % openc3.sh cli generate conversion Usage: cli generate conversion <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE double Conversion targets/GSE/lib/double_conversion.rb successfully generated! To use the conversion add the following to a telemetry item: READ_CONVERSION double_conversion.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/double_conversion.rb\tFully functional Conversion which has an example implementation of the call() method to convert any existing COSMOS values. As the generator states, to use this conversion code you must add it to a telemetry item. For example: TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" READ_CONVERSION double_conversion.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Limits Response Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#limits-response-generator","content":" The limits_response generator creates the scaffolding for a new COSMOS Limits Response. It must operate inside an existing COSMOS plugin and requires both a target name and limits response name. For example: openc3-cosmos-gse % openc3.sh cli generate limits_response Usage: cli generate limits_response <TARGET> <NAME> (--ruby or --python) openc3-cosmos-gse % openc3.sh cli generate limits_response GSE safe Limits response targets/GSE/lib/safe_limits_response.rb successfully generated! To use the limits response add the following to a telemetry item: LIMITS_RESPONSE safe_limits_response.rb This creates the following files and directories: Name\tDescriptiontargets/GSE/lib/safe_limits_response.rb\tFully functional Limits Response which has an example implementation of the call() method and taking action based on the current limits state of the particular item As the generator states, to use this limits code you must add it to a telemetry item which has limits defined. In the generated GSE target, none of the items have limits defined so you first need to add limits and then add the response. TELEMETRY GSE STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0 LIMITS_RESPONSE safe_limits_response.rb APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" ","version":"Next","tagName":"h2"},{"title":"Widget Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#widget-generator","content":" The conversion generator creates the scaffolding for a new COSMOS Widget for use in Telemetry Viewer Screens. For more information see the Custom Widget guide. It must operate inside an existing COSMOS plugin and requires a widget name. For example: openc3-cosmos-gse % openc3.sh cli generate widget Usage: cli generate widget <SuperdataWidget> openc3-cosmos-gse % openc3.sh cli generate widget HelloworldWidget Widget HelloworldWidget successfully generated! Please be sure HelloworldWidget does not overlap an existing widget: https://docs.openc3.com/docs/configuration/telemetry-screens This creates the following files and directories: Name\tDescriptionsrc/HelloworldWidget.vue\tFully functional widget which displays a simple value. This can be expanded using existing COSMOS Vue.js code to create any data visualization imaginable. It also updates the plugin.txt file to add the new widget: WIDGET Helloworld ","version":"Next","tagName":"h2"},{"title":"Tool Generator​","type":1,"pageTitle":"Code Generators","url":"/docs/getting-started/generators#tool-generator","content":" The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see Running a Frontend Application. openc3-cosmos-gse % openc3.sh cli generate tool Usage: cli generate tool 'Tool Name' openc3-cosmos-gse % openc3.sh cli generate widget DataVis Tool datavis successfully generated! Please be sure datavis does not conflict with any other tools This creates the following files and directories: Name\tDescriptionsrc/App.vue\tBasic Vue template to render the application. src/main.js\tEntry point for the new tool which loads Vue, Vuetify, and other libraries. src/router.js\tVue component router. src/tools/datavis\tContains all the files necessary to serve a web-based tool named datavis. The name is always defined in all lowercase. Due to technical limitations, the toolname must be unique and cannot be renamed at installation. src/tools/datavis/datavis.vue\tFully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable. package.json\tBuild and dependency definition file. Used by npm or yarn to build the tool. vue.config.js\tVue configuration file used to serve the application in development and build the application. <dotfiles>\tVarious dotfiles which help configure formatters and tools for Javascript frontend development It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found here. TOOL datavis "DataVis" INLINE_URL js/app.js ICON mdi-file-cad-box ","version":"Next","tagName":"h2"},{"title":"Podman","type":0,"sectionRef":"#","url":"/docs/getting-started/podman","content":"","keywords":"","version":"Next"},{"title":"OpenC3 COSMOS Using Rootless Podman and Docker-Compose​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#openc3-cosmos-using-rootless-podman-and-docker-compose","content":" Optional Installation Option These directions are for installing and running COSMOS using Podman instead of Docker. If you have Docker available, that is a simpler method. Podman is an alternative container technology to Docker that is actively promoted by RedHat. The key benefit is that Podman can run without a root-level daemon service, making it significantly more secure by design, over standard Docker. However, it is a little more complicated to use. These directions will get you up and running with Podman. The following directions have been tested against RHEL 8.8, and RHEL 9.2, but should be similar on other operating systems. Rootless Podman Does Not Work (Directly) with NFS Home Directories NFS does not work for holding container storage due to issues with user ids and group ids. There are workarounds available but they all involve moving container storage to another location: either a different partition on the host local disk, or into a special mounted disk image. See: [https://www.redhat.com/sysadmin/rootless-podman-nfs]https://www.redhat.com/sysadmin/rootless-podman-nfs). Note that there is also a newish Podman setting that allows you to more easily change where the storage location is in /etc/containers/storage.conf called rootless_storage_path. See https://www.redhat.com/sysadmin/nfs-rootless-podman Redhat 8.8 and 9.2 Instructions Install Prerequisite Packages Note: This downloads and installs docker-compose from the latest 2.x release on Github. If your operating system has a docker-compose package, it will be easier to install using that instead. RHEL8 does not have a docker-compose package. sudo yum update sudo yum install git podman-docker netavark curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o docker-compose sudo mv docker-compose /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose Configure Host OS for Redis sudo su echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag sysctl -w vm.max_map_count=262144 exit Configure Podman to use Netavark for DNS sudo cp /usr/share/containers/containers.conf /etc/containers/. sudo vi /etc/containers/containers.conf Then edit the network_backend line to be "netavark" instead of "cni" Start rootless podman socket service systemctl enable --now --user podman.socket Put the following into your .bashrc file (or .bash_profile or whatever) export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock" Source the profile file for your current terminal source .bashrc Get COSMOS - A release or the current main branch (main branch shown) git clone https://github.com/OpenC3/cosmos.git Optional - Set Default Container Registry If you don't want podman to keep querying you for which registry to use, you can create a $HOME/.config/containers/registries.conf and modify to just have the main docker registry (or modify the /etc/containers/registries.conf file directly) mkdir -p $HOME/.config/containers cp /etc/containers/registries.conf $HOME/.config/containers/. vi $HOME/.config/containers/registries.conf Then edit the unqualified-search-registries = line to just have the registry you care about (probably docker.io) Edit cosmos/compose.yaml cd cosmos vi compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. You may also want to update the traefik configuration to allow access from the internet by removing 127.0.0.1 and probably switching to either an SSL config file, or the allow http one. Also make sure your firewall allows whatever port you choose to use in. Rootless podman will need to use a higher numbered port (not 1-1023). Run COSMOS ./openc3.sh run Wait until everything is built and running and then goto http://localhost:2900 in your browser Podman on MacOS Podman can also be used on MacOS, though we still generally recommend Docker Desktop ","version":"Next","tagName":"h3"},{"title":"MacOS Instructions​","type":1,"pageTitle":"Podman","url":"/docs/getting-started/podman#macos-instructions","content":" Install podman brew install podman Start the podman virtual machine podman machine init podman machine start # Note: update to your username in the next line or copy paste from what 'podman machine start' says export DOCKER_HOST='unix:///Users/ryanmelt/.local/share/containers/podman/machine/qemu/podman.sock' Install docker-compose brew install docker-compose # Optional if you already have Docker Desktop Edit cosmos/compose.yaml Edit compose.yaml and uncomment the user: 0:0 lines and comment the user: "${OPENC3_USER_ID}:${OPENC3_GROUP_ID}" lines. Important: on MacOS you must also remove all :z from the volume mount lines You may also want to update the traefik configuration to allow access from the internet. Run COSMOS cd cosmos ./openc3.sh run ","version":"Next","tagName":"h2"},{"title":"Bridges","type":0,"sectionRef":"#","url":"/docs/guides/bridges","content":"","keywords":"","version":"Next"},{"title":"Bridges are Generally Just an Interface and Router​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridges-are-generally-just-an-interface-and-router","content":" Bridges are generally made up of a COSMOS Interface class that pull data from a host connected device, and a Router that forwards that data to COSMOS over TCP/IP. In most cases, data can be safely sent to COSMOS using the BURST protocol, and let the COSMOS side use the correct packet delineation protocol like LENGTH. ","version":"Next","tagName":"h2"},{"title":"Host Requirements for Running Bridges​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#host-requirements-for-running-bridges","content":" Requires a host Ruby installation (Ruby 3)Install the OpenC3 gem gem install openc3 Make sure the Ruby gem executable path is in your PATH environment variable You can find this path by running gem environment and looking for EXECUTABLE DIRECTORY If successful, you should be able to run openc3cli from a terminal ","version":"Next","tagName":"h2"},{"title":"Bridge Configuration: bridge.txt​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-configuration-bridgetxt","content":" Bridges are run using an configuration file named bridge.txt. This file is a subset of the plugin.txt configuration syntax supporting VARIABLE, INTERFACE, ROUTER, and associated modifier keywords. However, BRIDGES HAVE NO KNOWLEDGE OF TARGETS. So instead of MAP_TARGETS, the INTERFACE is associated with the ROUTER using the ROUTE keyword. The following is the default bridge.txt that is generated by running openc3cli bridgesetup # Write serial port name VARIABLE write_port_name COM1 # Read serial port name VARIABLE read_port_name COM1 # Baud Rate VARIABLE baud_rate 115200 # Parity - NONE, ODD, or EVEN VARIABLE parity NONE # Stop bits - 0, 1, or 2 VARIABLE stop_bits 1 # Write Timeout VARIABLE write_timeout 10.0 # Read Timeout VARIABLE read_timeout nil # Flow Control - NONE, or RTSCTS VARIABLE flow_control NONE # Data bits per word - Typically 8 VARIABLE data_bits 8 # Port to listen for connections from COSMOS - Plugin must match VARIABLE router_port 2950 # Port to listen on for connections from COSMOS. Defaults to localhost for security. Will need to be opened # if COSMOS is on another machine. VARIABLE router_listen_address 127.0.0.1 INTERFACE SERIAL_INT serial_interface.rb <%= write_port_name %> <%= read_port_name %> <%= baud_rate %> <%= parity %> <%= stop_bits %> <%= write_timeout %> <%= read_timeout %> OPTION FLOW_CONTROL <%= flow_control %> OPTION DATA_BITS <%= data_bits %> ROUTER SERIAL_ROUTER tcpip_server_interface.rb <%= router_port %> <%= router_port %> 10.0 nil BURST ROUTE SERIAL_INT OPTION LISTEN_ADDRESS <%= router_listen_address %> VARIABLE provides default values to variables that can be changed when the bridge is started. This example shows an INTERFACE that is configured to use the serial_interface.rb class. It also includes a standard ROUTER using tcpip_server_interface.rb that COSMOS can connect to and get the data from the serial port. The LISTEN_ADDRESS is set to 127.0.0.1 in this example to prevent access from outside of the host system. Docker running on the same machine can access this server using the host.docker.internal hostname and the configured port (2950 in this example). ","version":"Next","tagName":"h2"},{"title":"Bridge Commands: openc3cli​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#bridge-commands-openc3cli","content":" openc3cli bridgesetup Generates a bridge.txt example file openc3cli bridge [filename] [variable1=value1] [variable2=value2] Runs a bridge from a given configuration file. Defaults to bridge.txt in the current directory. Variables can also be passed into to override VARIABLE defaults. openc3cli bridgegem [gem_name] [variable1=value1] [variable2=value2] Runs a bridge using the bridge.txt provided in a bridge gem. Variables can also be passed into to override VARIABLE defaults. ","version":"Next","tagName":"h2"},{"title":"Example Bridge Gems​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#example-bridge-gems","content":" Serial Port: openc3-cosmos-bridge-serialHost: openc3-cosmos-bridge-hostHIDAPI: openc3-cosmos-bridge-hidapiPS5 Dual Sense Controller: openc3-cosmos-bridge-dualsense ","version":"Next","tagName":"h2"},{"title":"Note on Serial Ports​","type":1,"pageTitle":"Bridges","url":"/docs/guides/bridges#note-on-serial-ports","content":" Serial ports can be used directly without bridges on Linux Docker installations. Add the following to the operator service in compose.yaml: devices: - "/dev/ttyUSB0:/dev/ttyUSB0" Make sure the serial device has permissions for the user running Docker to access: sudo chmod 666 /dev/ttyUSB0 ","version":"Next","tagName":"h2"},{"title":"Custom Widgets","type":0,"sectionRef":"#","url":"/docs/guides/custom-widgets","content":"","keywords":"","version":"Next"},{"title":"Custom Widgets​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#custom-widgets","content":" We're basically going to follow the COSMOS Demo and explain how that custom widget was created. If you look at the bottom of the Demo's plugin.txt file you'll see we declare the widgets: WIDGET BIG WIDGET HELLOWORLD When the plugin is deployed this causes COSMOS to look for the as-built widgets. For the BIG widget it will look for the widget at tools/widgets/BigWidget/BigWidget.umd.min.js. Similarly it looks for HELLOWORLD at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. These directories and file names may seem mysterious but it's all about how the widgets get built. ","version":"Next","tagName":"h2"},{"title":"Helloworld Widget​","type":1,"pageTitle":"Custom Widgets","url":"/docs/guides/custom-widgets#helloworld-widget","content":" The Helloworld Widget source code is found in the plugin's src directory and is called HelloworldWidget.vue. The basic structure is as follows: <template> <!-- Implement widget here --> </template> <script> import Widget from "@openc3/tool-common/src/components/widgets/Widget"; export default { mixins: [Widget], data() { return { // Reactive data items }; }, }; </script> <style scoped> /* widget specific style */ </style> Vue & Vuetify For more information about how the COSMOS frontend is built (including all the Widgets) please check out Vue.js and Vuetify. To build this custom widget we changed the Demo Rakefile to call yarn run build when the plugin is built. yarn run XXX looks for 'scripts' to run in the package.json file. If we open package.json we find the following: "scripts": { "build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget" }, This uses the vue-cli-service to build the code found at src/HelloworldWidget.vue and formats as umd-min and puts it in the tools/widgets/HelloworldWidget directory. So this is why the plugin looks for the plugin at tools/widgets/HelloworldWidget/HelloworldWidget.umd.min.js. Click here for the vue-cli-service build documentation. If you look at the Demo plugin's simple.txt screen you'll see we're using the widgets: SCREEN AUTO AUTO 0.5 LABELVALUE <%= target_name %> HEALTH_STATUS CCSDSSEQCNT HELLOWORLD BIG <%= target_name %> HEALTH_STATUS TEMP1 Opening this screen in Telemetry Viewer results in the following: While this is a simple example the possibilities with custom widgets are limitless! ","version":"Next","tagName":"h3"},{"title":"Little Endian Bitfields","type":0,"sectionRef":"#","url":"/docs/guides/little-endian-bitfields","content":"Little Endian Bitfields Defining little endian bitfields is a little weird but is possible in COSMOS. However, note that APPEND does not work with little endian bitfields. Here are the rules on how COSMOS handles LITTLE_ENDIAN data: COSMOS bit offsets are always defined in BIG_ENDIAN terms. Bit 0 is always the most significant bit of the first byte in a packet, and increasing from there. All 8, 16, 32, and 64-bit byte-aligned LITTLE_ENDIAN data types define their bit_offset as the most significant bit of the first byte in the packet that contains part of the item. (This is exactly the same as BIG_ENDIAN). Note that for all except 8-bit LITTLE_ENDIAN items, this is the LEAST significant byte of the item. LITTLE_ENDIAN bit fields are defined as any LITTLE_ENDIAN INT or UINT item that is not 8, 16, 32, or 64-bit and byte aligned. LITTLE_ENDIAN bit fields must define their bit_offset as the location of the most significant bit of the bitfield in BIG_ENDIAN space as described in rule 1 above. So for example. The following C struct at the beginning of a packet would be defined like so: struct { unsigned short a:4; unsigned short b:8; unsigned short c:4; } ITEM A 4 4 UINT "struct item a" ITEM B 12 8 UINT "struct item b" ITEM C 8 4 UINT "struct item c" This is hard to visualize, but the structure above gets spread out in a byte array like the following after byte swapping: least significant 4 bits of b, 4-bits a, 4-bits c, most significant 4 bits of b. The best advice is to experiment and use the View Raw feature in the Command and Telemetry Service to inspect the bytes of the packet and adjust as necessary.","keywords":"","version":"Next"},{"title":"Local Mode","type":0,"sectionRef":"#","url":"/docs/guides/local-mode","content":"","keywords":"","version":"Next"},{"title":"Using Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#using-local-mode","content":" In this tutorial we will use the COSMOS Demo as configured by the Installation Guide. You should have cloned a cosmos-project and started it using openc3.sh run. If you check the project directory you should see a plugins/DEFAULT/openc3-cosmos-demo directory. This will contain both the gem that was installed and a plugin_instance.json file. The plugin_instance.json file captures the plugin.txt values when the plugin was installed. Note, all files in the plugins directory are meant to be configuration managed with the project. This ensures if you make local edits and check them in, another user can clone the project and get the exact same configuration. We will demonstrate this later. ","version":"Next","tagName":"h2"},{"title":"Editing scripts​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#editing-scripts","content":" Visual Studio Code This tutorial will use VS Code which is the editor used by the COSMOS developers. The most common use case for Local Mode is script development. Launch Script Runner and open the INST/procedures/checks.rb file. If you run this script you'll notice that it has a few errors (by design) which prevent it from running to completion. Let's fix it! Comment out lines 7 & 9 and save the script. You should now notice that Local Mode has saved a copy of the script to plugins/targets_modified/INST/procedures/checks.rb. At this point Local Mode keeps these scripts in sync so we can edit in either place. Let's edit the local script by adding a simple comment at the top: # This is a script. Now if we go back to Script Runner the changes have not automatically appeared. However, there is a Reload button next to the filename that will refresh the file from the backend. Clicking this reloads the file which has been synced into COSMOS and now we see our comment. ","version":"Next","tagName":"h3"},{"title":"Disabling Local Mode​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#disabling-local-mode","content":" If you want to disable Local Mode you can edit the .env file and delete the setting OPENC3_LOCAL_MODE=1. ","version":"Next","tagName":"h3"},{"title":"Configuration Management​","type":1,"pageTitle":"Local Mode","url":"/docs/guides/local-mode#configuration-management","content":" It is recommended to configuration manage the entire project including the plugins directory. This will allow any user who starts COSMOS to launch an identical configuration. Plugins are created and updated with any modifications found in the targets_modified directory. At some point you will probably want to release your local changes back to the plugin they originated from. Simply copy the entire targets_modified/TARGET directory back to the original plugin. At that point you can rebuild the plugin using the CLI. openc3-cosmos-demo % ./openc3.sh cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-demo Version: 1.0.1 File: openc3-cosmos-demo-1.0.1.gem Upgrade the plugin using the Admin Plugins tab and the Upgrade link. When you select your newly built plugin, COSMOS detects the existing changes and asks if you want to delete them. There is a stern warning attached because this will permanently remove these changes! Since we just moved over the changes and rebuilt the plugin we will check the box and INSTALL. When the new plugin is installed, the project's plugins directory gets updated with the new plugin and everything under the targets_modified directory is removed because there are no modifications on a new install. Local Mode is a powerful way to develop scripts and screens on the local file system and automatically have them sync to COSMOS. ","version":"Next","tagName":"h2"},{"title":"Installation","type":0,"sectionRef":"#","url":"/docs/getting-started/installation","content":"","keywords":"","version":"Next"},{"title":"Installing OpenC3 COSMOS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos","content":" The following sections describe how to get OpenC3 COSMOS installed on various operating systems. This document should help you setup you host machine to allow you to have a running version of COSMOS in no time. ","version":"Next","tagName":"h2"},{"title":"Installing OpenC3 COSMOS on Host Machines​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#installing-openc3-cosmos-on-host-machines","content":" ","version":"Next","tagName":"h2"},{"title":"PREREQUISITES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#prerequisites","content":" If you're on Linux (recommended for production), we recommend installing Docker using the Install Docker Engine instructions (do not use Docker Desktop on Linux). Note: Red Hat users should read the Podman documentation. If you're on Windows or Mac, install Docker Desktop. All platforms also need to install Docker Compose. Minimum Resources allocated to Docker: 8GB RAM, 1 CPU, 80GB Disk Recommended Resources allocated to Docker: 16GB RAM, 2+ CPUs, 100GB Disk Docker on Windows with WSL2: WSL2 consumes 50% of total memory on Windows or 8GB, whichever is less. However, on Windows builds before 20175 (use winver to check) it consumes 80% of your total memory. This can have a negative effect on Windows performance! On Windows builds < 20175 or for more fine grained control, create C:\\Users\\<username>\\.wslconfig. Suggested contents on a 32GB machine: [wsl2] memory=16GB swap=0 Important: Modify Docker Connection Timeouts Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value vpnKitMaxPortIdleTime to change the timeout (recommend setting to 0). Note: 0 means no timeout (idle connections not dropped) Note: As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image. ","version":"Next","tagName":"h3"},{"title":"CLONE PROJECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#clone-project","content":" We recommend using the COSMOS project template to get started. git clone https://github.com/OpenC3/cosmos-project.git git clone https://github.com/OpenC3/cosmos-enterprise-project.git Offline Installation If you need to install in an offline environment you should first see if you're able to directly use the COSMOS containers. If so you can first save the containers: ./openc3.sh util save docker.io openc3inc 5.16.2 This will download the COSMOS containers from the docker.io repo using the openc3inc namespace and version 5.16.2. The repo, namespace and version are all configurable. Tar files are created in the 'tmp' directory which you can transfer to your offline environment. Transfer the tar files to your offline environment's project 'tmp' dir and import them with: ./openc3.sh util load 5.16.2 Note the version specified in save needs to match the version in load. ","version":"Next","tagName":"h3"},{"title":"CERTIFICATES​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#certificates","content":" The COSMOS containers are designed to work and be built in the presence of an SSL Decryption device. To support this a cacert.pem file can be placed at the base of the COSMOS 5 project that includes any certificates needed by your organization. Note: If you set the path to the ssl file in the SSL_CERT_FILE environment variables the openc3 setup script will copy it and place it for the docker container to load. SSL Issues Increasingly organizations are using some sort of SSL decryptor device which can cause curl and other command line tools like git to have SSL certificate problems. If installation fails with messages that involve "certificate", "SSL", "self-signed", or "secure" this is the problem. IT typically sets up browsers to work correctly but not command line applications. Note that the file extension might not be .pem, it could be .pem, crt, .ca-bundle, .cer, .p7b, .p7s, or potentially something else. The workaround is to get a proper local certificate file from your IT department that can be used by tools like curl (for example C:\\Shared\\Ball.pem). Doesn't matter just somewhere with no spaces. Then set the following environment variables to that path (ie. C:\\Shared\\Ball.pem) SSL_CERT_FILE CURL_CA_BUNDLE REQUESTS_CA_BUNDLE Here are some directions on environment variables in Windows: Windows Environment Variables You will need to create new ones with the names above and set their value to the full path to the certificate file. ","version":"Next","tagName":"h3"},{"title":"RUN​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#run","content":" Add the locally cloned project directory to your path so you can directly use the batch file or shell script. In Windows this would be adding "C:\\openc3-project" to the PATH. In Linux you would edit your shell's rc file and export the PATH. For example, on a Mac add the following to ~/.zshrc: export PATH=~/cosmos-project:$PATH. Run openc3.bat run (Windows), or ./openc3.sh run (linux/Mac). Note, you can edit the .env file and change OPENC3_TAG to a specific release (e.g. 5.0.9) rather than 'latest'. If you see an error indicating docker daemon is not running ensure Docker and Docker compose is installed and running. If it errors please try to run docker --version or docker-compose --version and try to run the start command again. If the error continues please include the version in your issue if you choose to create one. Running docker ps can help show the running containers. openc3.* takes multiple arguments. Run with no arguments for help. An example run of openc3.sh with no arguments will show a usage guide. ./openc3.sh Usage: ./openc3.sh [cli, cliroot, start, stop, cleanup, run, util] * cli: run a cli command as the default user ('cli help' for more info) * cliroot: run a cli command as the root user ('cli help' for more info) * start: start the docker-compose openc3 * stop: stop the running dockers for openc3 * cleanup: cleanup network and volumes for openc3 * run: run the prebuilt containers for openc3 * util: various helper commands ","version":"Next","tagName":"h3"},{"title":"CONNECT​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#connect","content":" Connect a web browser to http://localhost:2900. Set the password to whatever you want. ","version":"Next","tagName":"h3"},{"title":"NEXT STEPS​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#next-steps","content":" Continue to Getting Started. ","version":"Next","tagName":"h3"},{"title":"Feedback​","type":1,"pageTitle":"Installation","url":"/docs/getting-started/installation#feedback","content":" Find a problem in the documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h3"},{"title":"Logging","type":0,"sectionRef":"#","url":"/docs/guides/logging","content":"","keywords":"","version":"Next"},{"title":"decom_logs & raw_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#decom_logs--raw_logs","content":" The decom_logs and raw_logs folders contain the decommutated and raw command and telemetry data. Both are further broken down by target, packet, then date. For example, browsing into the DEFAULT/raw_logs/tlm/INST2/<YYYYMMDD>/ directory: Note the presence of the gzipped .bin files which contain the raw binary data. For more information about the structure of these files see the Log Structure developer documentation. The default settings for the Logging microservice is to start a new log file every 10 minutes or 50MB, which ever comes first. In the case of the low data rate demo, the 10 minute mark is hit first. To change the logging settings add the various CYCLE_TIME Target Modifiers under the declared TARGET name in your plugin.txt. ","version":"Next","tagName":"h3"},{"title":"text_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#text_logs","content":" The text_logs folder contains openc3_log_messages which contains text files that are again sorted by date and timestamped. These log messages come from the various microservices including the server and the target microservices. Thus these logs contain all the commands sent (in plain text) and telemetry checked. These log messages files are long term records of the messages in the CmdTlmServer Log Messages window: ","version":"Next","tagName":"h3"},{"title":"tool_logs​","type":1,"pageTitle":"Logging","url":"/docs/guides/logging#tool_logs","content":" The tool_logs directory contains logs from the various COSMOS tools. Note that if you have not yet run any tools you may not see this directory as it is created on demand. Tool sub-directories are also created on demand. For example, after running a script in Script Runner a new 'sr' subdirectory appears which contains the script runner log resulting from running the script. In some cases logs in this directory may also be directly available from the tool itself. In the Script Runner case, the Script Messages pane below the script holds the output messages from the last script. Clicking the Download link allows you to download these messages as a file. ","version":"Next","tagName":"h3"},{"title":"Requirements and Design","type":0,"sectionRef":"#","url":"/docs/getting-started/requirements","content":"","keywords":"","version":"Next"},{"title":"Terminology​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#terminology","content":" The COSMOS system uses several terms that are important to understand. The following table defines these terms. Term\tDefinitionTarget\tA COSMOS target is an embedded system that the COSMOS Command and Telemetry Server connects to using an interface in order to send commands to and/or receive telemetry from. Command\tA packet of information telling a target to perform an action of some sort. Telemetry Packet\tA packet of information providing status from a target. Interface\tA Ruby class that knows how to send commands to and/or receive telemetry from a target. COSMOS comes with interfaces that support TCP/IP, UDP, and serial connections. Custom interfaces are easy to add to the system. Ruby\tThe powerful dynamic programming language used to write the COSMOS applications and libraries as well as COSMOS scripts and test procedures. Configuration Files\tCOSMOS uses simple plain text configuration files to define commands and telemetry packets, and to configure each COSMOS application. These files are easily human readable/editable and machine readable/editable. Packet Log Files\tBinary files containing either logged commands or telemetry packets. Message Log Files\tText files containing messages generated by the system. Tool\tAnother name for a COSMOS application. ","version":"Next","tagName":"h2"},{"title":"Overall Architecture and Context Diagram​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-architecture-and-context-diagram","content":" The following diagram shows the COSMOS 5 architecture. Key aspects of this architecture: COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer. COSMOS can connect to many different kinds of targets. The examples include things like Flight software (FSW), Ground Support Equipment (GSE), Labview, and COTS targets such as an Agilent power supply. Any embedded system that provides a communication interface can be connected to COSMOS.COSMOS ships with interfaces for connecting over TCP/IP, UDP, MQTT, and serial connections. This covers most systems, but custom interfaces can also be written to connect to anything.All realtime communication with targets flows through the COSMOS system. This ensures all commands and telemetry are logged.Every tool is configured with plain text configuration files.Program specific tools can be written using the COSMOS libraries that can interact with the realtime command and telemetry streams and can process logged data. ","version":"Next","tagName":"h2"},{"title":"Overall Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#overall-requirements","content":" Reqt. ID\tDescription\tTest DescriptionCOSMOS-1\tAll COSMOS core functionality shall be containerized.\tVerify COSMOS is running in Docker COSMOS-2\tThe COSMOS user interface shall be accessible from Chromium based web browsers\tOpen COSMOS in Chrome/Edge COSMOS-3\tThe COSMOS user interface shall be accessible from the Firefox web browser\tOpen COSMOS in Firefox COSMOS-4\tCOSMOS shall log all commands sent COSMOS-5\tCOSMOS shall log all telemetry received COSMOS-6\tCOSMOS shall decommutate all telemetry packets received COSMOS-7\tCOSMOS shall support autonomously attempting to connect to targets.\tVerify targets are connected upon starting the CTS. COSMOS-8\tCOSMOS shall time stamp telemetry packets upon receipt.\tVerify logged packets are timestamped. COSMOS-9\tCOSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed.\tView time stamps in log. COSMOS-10\tCOSMOS shall time stamp received telemetry with a UTC timestamp.\tVerify logged time stamps are as expected. COSMOS-11\tCOSMOS shall maintain a timestamped log of commands received, limits violations, and errors encountered.\tView COSMOS message log. ","version":"Next","tagName":"h2"},{"title":"Api Requirements​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#api-requirements","content":" Reqt. ID\tDescription\tTest DescriptionAPI-1\tThe COSMOS API shall allow scripted connection and disconnection of interfaces.\tDisconnect and connect an interface from a script. API-2\tThe COSMOS API shall allow scripted connection and disconnection of routers.\tDisconnect and connect a router from a script. API-3\tThe COSMOS API shall allow scripted setting of the current limits set.\tSelect a different limits set from a script. API-4\tThe COSMOS API shall allow commanding of targets\tSend a command API-5\tThe COSMOS API shall allow reading the current value of any telemetry item\tRead a telemetry point API-6\tThe COSMOS API shall allow streaming realtime and logged telemetry packets\tStream telemetry packets API-7\tThe COSMOS API shall allow streaming realtime and logged command packets\tStream command packets API-8\tThe COSMOS API shall allow starting COSMOS scripts\tStart a script using the API ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-and-telemetry-server","content":" The Command and Telemetry server provides status on the the overall COSMOS installation for a specific scope. Reqt. ID\tDescription\tTest DescriptionCTS-1\tThe Command and Telemetry Server shall display a list of all interfaces.\tView the Interfaces tab. CTS-2\tThe Command and Telemetry Server shall allow manual connection and disconnection of interfaces.\tPress a GUI button to disconnect and connect an interface. CTS-3\tThe Command and Telemetry Server shall display a list of all targets.\tView the Targets tab. CTS-4\tThe Command and Telemetry Server shall display a list of known commands.\tView the Cmd Packets tab. CTS-5\tThe Command and Telemetry Server shall display raw command data for the most recent command received.\tView the Cmd Packets tab and click the View Raw button for a command. CTS-6\tThe Command and Telemetry Server shall display a list of known telemetry packets.\tView the Tlm Packets tab. CTS-7\tThe Command and Telemetry Server shall display raw telemetry packet data for the most recent telemetry packet received.\tView the Tlm Packets tab and click the View Raw button for a telemetry packet. CTS-8\tThe Command and Telemetry Server shall display a list of all routers.\tView the Routers tab. CTS-9\tThe Command and Telemetry Server shall allow manual connection and disconnection of routers.\tPress a GUI button to disconnect and connect a router. CTS-10\tThe Command and Telemetry Server shall allow manually setting the current limits set.\tSelect a different limits set from the combobox. CTS-11\tThe Command and Telemetry Server shall support opening telemetry packets in Packet Viewer.\tOn the Tlm Packets tab click View in Packet Viewer for a telemetry packet. CTS-12\tThe Command and Telemetry Server shall display time stamps in local time.\tView time stamps in log. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#limits-monitor","content":" Limits Monitor displays all telemetry points that are currently out of limits and also shows any telemetry points that have gone out of limits since Limits Monitor was started. Reqt. ID\tDescription\tTest DescriptionLM-1\tLimits Monitor shall display all telemetry points currently out of limits.\tView displayed telemetry points. LM-2\tLimits Monitor shall support ignoring telemetry points.\tClick ignore on a telemetry point. LM-3\tLimits Monitor shall keep a displayed log of limits violations.\tView the log tab. LM-4\tLimits Monitor shall continue displaying a telemetry point that temporarily went out of limits.\tWatch until a telemetry points returns to green. LM-5\tLimits Monitor shall support saving its configuration.\tSave the configuration. LM-6\tLimits Monitor shall support loading its configuration.\tLoad the configuration. ","version":"Next","tagName":"h2"},{"title":"Command Sender​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#command-sender","content":" Command Sender provides an easy method to send single commands to targets. The graphical user interface provides simple dropdowns to quickly select the desired command to send organized by target name and command name. After the user has selected the command, they then fill in the desired command parameters and click send to send the command to the target. Reqt. ID\tDescription\tTest DescriptionCMD-1\tCommand Sender shall allow selection of a command by target name and packet name.\tSelect a specific command by target name and packet name in the drop down menus. CMD-2\tCommand Sender shall allow sending the selected command.\tSend the selected command by pressing the Send button. CMD-3\tCommand Sender shall display non-ignored parameters for the selected command.\tSelect a specific command and verify the expected parameters are shown. CMD-4\tCommand Sender shall provide a mechanism to select state values for command parameters with states.\tSelect a specific state value for a specific command with states. CMD-5\tCommand Sender shall allow sending a manually entered value for a command parameter with states.\tManually enter a value for a specific command with states. CMD-6\tCommand Sender shall refuse to send commands if required parameters are not provided.\tAttempt to send a command with a required parameter not filled out. CMD-7\tCommand Sender shall support sending commands while ignoring range checking.\tEnter Ignore Range Checking mode and then send a command with an out of range parameter. CMD-8\tCommand Sender shall optionally display state values in hex.\tEnter "Display State Values in Hex" mode and verify state values are displayed as hex. CMD-9\tCommand Sender shall optionally display ignored command parameters.\tEnter "Show Ignored Parameters" mode and verify ignored parameters are displayed. CMD-10\tCommand Sender shall respect hazardous commands and notify the user before proceeding.\tSend a hazardous command and verify a dialog box appears before the command is sent. Verify both accepting the dialog and declining to send. CMD-11\tCommand Sender shall keep a command history of each command sent.\tSend a command and verify that it shows up in the command history box. CMD-12\tCommand Sender shall allow resending of any command in the command history.\tResend one of the commands in the command history box. ","version":"Next","tagName":"h2"},{"title":"Script Runner​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#script-runner","content":" Script Runner provides a visual interface for editing and executing scripts/procedures. A full featured text editor provides syntax highlighting and code completion while developing scripts. During script execution, the currently executing line is highlighted and any logged messages are highlighted to the user. If any failure occurs, the script is paused and the user alerted. The user can then decide whether to stop the script, or ignore the failure and continue. The user can also retry the failed lines, or other nearby lines before proceeding. Script Runner now also provides a structured methodology for designing system level scripting that mirrors the very successful pattern used in software unit tests (previously implemented in the Test Runner tool). System level tests/procedures are built up of cases that are organized into groups. For example, you might have one group that verified all of the requirements associated with a particular mechanism. Ideally you would break this down into individual cases for different scenarios. One perhaps for opening a shutter, another for closing it, etc. Cases are ideally small and independent tasks. A number of these groups are then combined into an overall suite which would be run to execute a major test such as EMI, or software FQT. Reqt. ID\tDescription\tTest DescriptionSR-1\tScript Runner shall provide a text editor for developing test scripts.\tOpen Script Runner and create a simple test script. Perform all standard file operations including New, Open, Reload, Close, Save, and Save As. Perform all standard editing operations such as Cut, Copy, Paste, Undo, Redo, Select All, and Comment/Uncomment lines. SR-2\tScript Runner shall provide search and replace functionality.\tPerform all standard search and replace functionality, including search, replace, find next, and find previous. SR-3\tScript Runner shall provide code completion for cmd(), tlm(), and wait_check() COSMOS API methods. Note: Other methods may also be supported.\tCreate a script and exercise code completion on the mentioned keywords. SR-4\tScript Runner shall execute Ruby-based COSMOS scripts.\tPress start and execute a script. SR-5\tScript Runner shall highlight the currently executing line of the script.\tVerify that lines are highlighted as a test script executes. SR-6\tScript Runner shall allow pausing an executing script.\tPress pause button and verify script is paused. Press start to resume. SR-7\tScript Runner shall allow stopping an executing script.\tPress stop and verify script stops. SR-8\tScript Runner shall pause an executing script upon the occurrence of an error.\tCreate a script with a statement that is guaranteed to fail and verify that the script is paused. SR-9\tScript Runner shall log commands sent.\tExecute a script that sends a command and verify it is logged. SR-10\tScript Runner shall log text written to STDOUT. Note: Typically through the puts method.\tExecute a script that uses puts to write a message and verify it is logged. SR-11\tScript Runner shall log wait times.\tExecute a script that includes a wait method and verify wait time is logged. SR-12\tScript Runner shall log errors that occur while the script is executing.\tCreate a script with a check statement that is guaranteed to fail and verify it is logged. SR-13\tScript Runner shall log check statement success and failure.\tCreate a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged. SR-14\tScript Runner shall support executing selected lines.\tSelect a set of lines and execute them using Script->Execute Selected Lines. SR-15\tScript Runner shall support executing selected lines while paused.\tSelect a set of lines and execute them from the right-click context menu. SR-16\tScript Runner shall support starting a script from any line.\tPlace the mouse cursor at the desired first line and then select Script->Execute From Cursor. SR-17\tScript Runner shall support a mnemonic checking function.\tSelect Script->Mnemonic Check. SR-18\tScript Runner shall support a syntax checking function.\tSelect Script->Ruby Syntax Check. SR-19\tScript Runner shall support viewing the script instrumentation.\tSelect Script->View Instrumented Script. SR-20\tScript Runner shall support an disconnected mode to allow for executing scripts without a connection to the Command and Telemetry Server.\tSelect Script->Toggle Disconnect. Execute a script with commands and check statements and verify that it runs to completion. SR-21\tScript Runner shall support a Debug terminal to aid in debugging scripts.\tSelect Script->Toggle Debug. SR-22\tScript Runner shall support a step mode where the script will stop and wait for use interaction after each line.\tPress Step to progress through the script. SR-23\tScript Runner shall support breakpoint functionality.\tCreate a breakpoint then execute the script and verify it stops at the specified line. SR-25\tScript Runner Suite Mode shall support executing individual test suites.\tExecute an individual test suite. SR-26\tScript Runner Suite Mode shall support executing individual test groups.\tExecute an individual test group. SR-27\tScript Runner Suite Mode shall support executing individual test cases.\tExecute an individual test case. SR-28\tScript Runner Suite Mode shall support executing test group setup and teardown methods individually.\tExecute a test group setup. Execute a test group teardown. SR-29\tScript Runner Suite Mode shall support executing test suite setup and teardown methods individually.\tExecute a test suite setup. Execute a test suite teardown. SR-30\tScript Runner Suite Mode shall create a report after executing any suite test.\tVerify a report is generated after executing a suite. SR-31\tScript Runner Suite Mode shall support pausing when an error occurs.\tExecute a test script with the pause on error box checked and without. SR-32\tScript Runner Suite Mode shall support allowing the user to proceed on an error.\tExecute a test script with the Allow go/retry on error box checked and without. SR-33\tScript Runner Suite Mode shall support aborting execution on an error.\tExecute a test script with the abort on error box checked and without. SR-34\tScript Runner Suite Mode shall support looping a test.\tExecute a test script with the loop testing box checked and without. SR-35\tScript Runner Suite Mode shall support breaking the looping of a test on error.\tExecute a test script with the break loop on error box checked and without. SR-36\tScript Runner Suite Mode shall support a user readable flag indicating that loop testing is occurring.\tExecute a test script that checks the $loop_testing variable while looping and again while not looping. SR-37\tScript Runner Suite Mode shall support a user readable flag indicating manual operations are desired.\tExecute a test script with the manual box checked and without. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#packet-viewer","content":" Packet Viewer provides a simple tool to view the realtime contents of any telemetry packet defined in the system in a tabular, key-value format. Reqt. ID\tDescription\tTest DescriptionPV-1\tPacket Viewer shall allow selection of a telemetry packet by target name and packet name.\tSelect a specific telemetry packet by target name and packet name in the drop down menus. PV-2\tPacket Viewer shall display the contents of the selected telemetry packet.\tEnsure all items of the selected telemetry packet are displayed and updating. PV-3\tPacket Viewer shall provide a mechanism to get detailed information on a telemetry item.\tRight click on a telemetry item and select "Details" from the context menu. PV-4\tPacket Viewer shall provide a mechanism to view a graph of any telemetry item.\tRight click on a telemetry item and select "Graph" from the context menu. PV-5\tPacket Viewer shall color telemetry values based upon limits state.\tView a packet with items containing limits and verify they are colored. PV-6\tPacket Viewer shall support a configurable polling rate.\tSelect File->Options and change the polling rate. PV-7\tPacket Viewer shall support a color-blind mode to allow distinguishing limits states for those who are color blind.\tSelect View->Color Blind Mode and verify that items with limits are also displayed with a textual indication of limits state color. PV-8\tPacket Viewer shall support displaying telemetry in each of the four COSMOS value types (raw, converted, formatted, and formatted with units)\tIn the View menu, select each of the four value types and verify values are displayed accordingly. ","version":"Next","tagName":"h2"},{"title":"Telemetry Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-viewer","content":" Telemetry Viewer provides a way to organize telemetry points into custom "screens" that allow for the creation of unique and organized views of telemetry data. Screens are made up of widgets or small GUI components that display telemetry in unique ways. Reqt. ID\tDescription\tTest DescriptionTV-1\tTelemetry Viewer shall display user-defined telemetry screens.\tOpen a telemetry TV-2\tTelemetry Viewer shall display realtime data.\tVerify telemetry screens show realtime data. TV-3\tTelemetry Viewer shall support saving open telemetry screens and their positions.\tOpen three telemetry screens and then select File->Save Configuration. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#telemetry-grapher","content":" Telemetry Grapher performs graphing of telemetry points in both realtime and log file playback. Reqt. ID\tDescription\tTest DescriptionTG-1\tTelemetry Grapher shall provide line graphs of telemetry points.\tAdd several housekeeping data objects to a plot. TG-2\tTelemetry Grapher shall support realtime graphing of telemetry.\tPress Start to start realtime graphing. TG-3\tTelemetry Grapher shall support graphing data from logged telemetry.\tSelect the menu option to graph data from a logged data TG-4\tTelemetry Grapher shall support multiple plots per browser tab.\tAdd multiple plots. TG-5\tTelemetry Grapher shall support multiple telemetry points per plot.\tAdd multiple data objects to one plot. TG-6\tTelemetry Grapher shall support saving a variable number of data points.\tEdit Points Saved. TG-7\tTelemetry Grapher shall support graphing a variable duration of time.\tEdit Seconds Plotted. TG-8\tTelemetry Grapher shall support graphing a variable number of data points.\tEdit Points Plotted. TG-9\tTelemetry Grapher shall support saving its configuration.\tSave the current configuration. TG-10\tTelemetry Grapher shall support loading its configuration.\tLoad the previously saved configuration. ","version":"Next","tagName":"h2"},{"title":"Data Extractor​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-extractor","content":" Data Extractor processes logged data and extracts data into a CSV format for analysis in Excel or other tools. Reqt. ID\tDescription\tTest DescriptionDE-1\tData Extractor shall support adding individual telemetry points.\tAdd an individual telemetry point. DE-2\tData Extractor shall support adding entire telemetry packets.\tAdd an entire packet. DE-3\tData Extractor shall support adding entire telemetry targets.\tAdd all packets for a target. DE-4\tData Extractor shall support selecting the value type to extract for each telemetry point (RAW, CONVERTED, FORMATTED, WITH_UNITS)\tClick an item and change the value type. DE-5\tData Extractor shall support saving configurations.\tSelect File->Save Config DE-6\tData Extractor shall support loading configurations.\tSelect File->Load Config DE-7\tData Extractor shall support deleting items\tSelect an Item and press delete ","version":"Next","tagName":"h2"},{"title":"Data Viewer​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#data-viewer","content":" Data Viewer provides for textual display of telemetry packets where other display methods are not a good fit. It is especially useful for memory dumps and for log message type data display. Reqt. ID\tDescription\tTest DescriptionDV-1\tData Viewer shall support realtime processing of telemetry packets.\tPress Start to start realtime processing. DV-2\tData Viewer shall support logged playback of telemetry packets.\tSelect a time range to playback. DV-3\tData Viewer shall support textual display of telemetry packets.\tView the display of data. DV-4\tData Viewer shall support multiple tabs for data display.\tSwitch between several tabs of data. DV-5\tData Viewer shall support deleting tabs.\tDelete a tab. ","version":"Next","tagName":"h2"},{"title":"Calendar​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#calendar","content":" The Calendar tool provides a user interface and API for initiating scheduled actions in COSMOS Reqt. ID\tDescription\tTest DescriptionTL-1\tCalendar shall allow creating new timelines\tClick the button and create a new timeline TL-2\tCalendar shall allow scheduling commands for future execection\tAdd a command to a timeline TL-3\tCalendar shall allow scheduling scripts for future execution\tAdd a script to a timeline TL-4\tCalendar shall allow for reserving a resource\tAdd a reservation to a timeline TL-5\tCalendar shall track success or failure of commands\tLook at status from a completed command TL-6\tCalendar shall track success or failure of scripts\tLook at status from a completed script TL-7\tCalendar shall allow deleting activities from timelines\tDelete a preexisting item from a timeline TL-8\tCalendar shall allow deleting timelines\tDelete a timeline ","version":"Next","tagName":"h2"},{"title":"Admin​","type":1,"pageTitle":"Requirements and Design","url":"/docs/getting-started/requirements#admin","content":" The Admin tool provides administrative functionality including managing plugins for the COSMOS system Reqt. ID\tDescription\tTest DescriptionAD-1\tThe Admin Tool shall allow installing plugins\tUpload and Install a Plugin AD-2\tThe Admin Tool shall support upgrading plugins\tUpgrade an installed plugin AD-3\tThe Admin Tool shall support uninstalling plugins\tUninstall a plugin AD-4\tThe Admin Tool shall display information on installed plugins\tView info on Interfaces, Microservices, etc AD-5\tThe Admin Tool shall support editing microservices\tEdit the settings for a microservice AD-6\tThe Admin Tool shall support discovery of plugins\tDiscover and download a plugin AD-7\tThe Admin Tool shall support adding links to external tools\tAdd a link to Google AD-8\tThe Admin Tool shall support reordering tools\tReorder tools on the tools tab AD-9\tThe Admin Tool shall support configuring a classification bar\tAdd a classification bar on the settings tab ","version":"Next","tagName":"h2"},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/getting-started/gettingstarted","content":"","keywords":"","version":"Next"},{"title":"Interfacing with Your Hardware​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#interfacing-with-your-hardware","content":" Playing with the COSMOS Demo is fun and all, but now you want to talk to your own real hardware? Let's do it! Install and Platform This guide assumes we're on Windows and COSMOS is installed in C:\\COSMOS. On Mac or Linux, change openc3.bat to openc3.sh and adjust paths as necessary to match your installation directory. Before creating your own configuration you should uninstall the COSMOS Demo so you're working with a clean COSMOS system. Click the Admin button and the PLUGINS tab. Then click the Trash can icon next to openc3-cosmos-demo to delete it. When you go back to the Command and Telemetry Server you should have a blank table with no interfaces. If you followed the Installation Guide you should already be inside a cloned openc3-project which is in your PATH (necessary for openc3.bat / openc3.sh to be resolved). Inside this project it's recommended to edit the README.md (Markdown) to describe your program / project. Now we need to create a plugin. Plugins are how we add targets and microservices to COSMOS. Our plugin will contain a single target which contains all the information defining the packets (command and telemetry) that are needed to communicate with the target. Use the COSMOS plugin generator to create the correct structure. Python vs Ruby Each CLI command requires the use of --python or --ruby unless you se the OPENC3_LANGUAGE environment variable to 'python' or 'ruby'. C:\\openc3-project> openc3.bat cli generate plugin BOB --python Plugin openc3-cosmos-bob successfully generated! This should create a new directory called "openc3-cosmos-bob" with a bunch of files in it. The full description of all the files is explained by the Plugin Generator page. Run as the Root user The cli runs as the default COSMOS container user which is the recommended practice. If you're having issues running as that user you can run as the root user (effectively docker run --user=root ) by running cliroot instead of cli in any of the examples. Starting with COSMOS v5.5.0, the plugin generator creates just the plugin framework (previously it would also create a target). From within the newly created plugin directory, we generate a target. C:\\openc3-project> cd openc3-cosmos-bob openc3-cosmos-bob> openc3.bat cli generate target BOB --python Target BOB successfully generated! Generators There are a number of generators available. Run openc3.bat cli generate to see all the available options. The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt: COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 2.5 "Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" What does this all mean? We created a COMMAND for target BOB named EXAMPLE.The command is made up of BIG_ENDIAN parameters and is described by "Packet description". Here we are using the append flavor of defining parameters which stacks them back to back as it builds up the packet and you don't have to worry about defining the bit offset into the packet.First we APPEND_ID_PARAMETER a parameter that is used to identify the packet called ID that is an 16-bit signed integer (INT) with a minimum value of 1, a maximum value of 1, and a default value of 1, that is described as the "Identifier".Next we APPEND_PARAMETER a parameter called VALUE that is a 32-bit float (FLOAT) that has a minimum value of 0, a maximum value of 10.5, and a default value of 2.5.Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1.Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of "OpenC3". Strings don't have minimum or maximum values as that doesn't make sense for STRING types. Check out the full Command documentation for more. Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt: TELEMETRY BOB STATUS BIG_ENDIAN "Telemetry description" # Keyword Name BitSize Type ID Description APPEND_ID_ITEM ID 16 INT 1 "Identifier" APPEND_ITEM VALUE 32 FLOAT "Value" APPEND_ITEM BOOL 8 UINT "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_ITEM LABEL 0 STRING "The label to apply" This time we created a TELEMETRY packet for target BOB called STATUS that contains BIG_ENDIAN items and is described as "Telemetry description".We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don't match).Next we define three items similar to the command definition above. Check out the full Telemetry documentation for more. COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique ID_PARAMETER and ID_ITEM so your packets can be distinguished from each other. Now we need to tell COSMOS how to connect to our BOB target. Open the openc3-cosmos-bob/plugin.txt file: # Set VARIABLEs here to allow variation in your plugin # See [Plugins](../configuration/plugins) for more information VARIABLE bob_target_name BOB # Modify this according to your actual target connection # See [Interfaces](../configuration/interfaces) for more information TARGET BOB <%= bob_target_name %> INTERFACE <%= bob_target_name %>_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 None BURST MAP_TARGET <%= bob_target_name %> This configures the plugin with a VARIABLE called bob_target_name with a default of "BOB". When you install this plugin you will have the option to change the name of this target to something other than "BOB". This is useful to avoid name conflicts and allows you to have multiple copies of the BOB target in your COSMOS system.The TARGET line declares the new BOB target using the name from the variable. The <%= %> syntax is called ERB (embedded Ruby) and allows us to put variables into our text files, in this case referencing our bob_target_name.The last line declares a new INTERFACE called (by default) BOB_INT that will connect as a TCP/IP client using the code in tcpip_client_interface.py to address host.docker.internal (This adds an /etc/hosts entry to the correct IP address for the host's gateway) using port 8080 for writing and 8081 for reading. It also has a write timeout of 10 seconds and reads will never timeout (nil). The TCP/IP stream will be interpreted using the COSMOS BURST protocol which means it will read as much data as it can from the interface. For all the details on how to configure COSMOS interfaces please see the Interface Guide. The MAP_TARGET line tells COSMOS that it will receive telemetry from and send commands to the BOB target using the BOB_INT interface. Variables Support Reusability In a plugin that you plan to reuse you should make things like hostnames and ports variables ","version":"Next","tagName":"h2"},{"title":"Building Your Plugin​","type":1,"pageTitle":"Getting Started","url":"/docs/getting-started/gettingstarted#building-your-plugin","content":" Now we need to build our plugin and upload it to COSMOS. openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.0 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.0 File: openc3-cosmos-bob-1.0.0.gem Note that the VERSION is required to specify the version to build. We recommend semantic versioning when building your plugin so people using your plugin (including you) know when there are breaking changes. Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on "Click to install plugin" and select the openc3-cosmos-bob-1.0.0.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target. Let's modify our BOB target and then update the copy in COSMOS. If you open Command Sender in COSMOS to BOB EXAMPLE you should see the VALUE parameter has value 2.5. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt and change the Default value for VALUE to 5 and the description to "New Value". COMMAND BOB EXAMPLE BIG_ENDIAN "Packet description" # Keyword Name BitSize Type Min Max Default Description APPEND_ID_PARAMETER ID 16 INT 1 1 1 "Identifier" APPEND_PARAMETER VALUE 32 FLOAT 0 10.5 5 "New Value" APPEND_PARAMETER BOOL 8 UINT MIN MAX 0 "Boolean" STATE FALSE 0 STATE TRUE 1 APPEND_PARAMETER LABEL 0 STRING "OpenC3" "The label to apply" Rebuild the plugin with a new VERSION number. Since we didn't make any breaking changes we simply bump the patch release number: openc3-cosmos-bob> openc3.bat cli rake build VERSION=1.0.1 Successfully built RubyGem Name: openc3-cosmos-bob Version: 1.0.1 File: openc3-cosmos-bob-1.0.1.gem Go back to the Admin page and click the Plugins Tab. This time click the clock icon next to openc3-cosmos-bob-1.0.0 to Upgrade the plugin. Browse to the newly built plugin gem and select it. This will re-prompt for the plugin variables (bob_target_name) so don't change the name and just click OK. You should see a message about the plugin being installed at which point the plugins list will change to openc3-cosmos-bob-1.0.1.gem. Go back to Command Sender and you should see the new Default value for VALUE is 5 and the description is "New Value". We have upgraded our plugin! At this point you can create a new plugin named after your real target and start modifying the interface and command and telemetry definitions to enable COSMOS to connect to and drive your target. If you run into trouble look for solutions on our Github Issues page. If you would like to enquire about support contracts or professional COSMOS development please contact us at support@openc3.com. ","version":"Next","tagName":"h2"},{"title":"Monitoring","type":0,"sectionRef":"#","url":"/docs/guides/monitoring","content":"","keywords":"","version":"Next"},{"title":"Monitoring and observability​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#monitoring-and-observability","content":" With moving COSMOS to container based service, we needed a better way to monitor the internals of COSMOS. So here is some information on external services that you can use to monitor COSMOS. If you want to read more about Monitoring Distributed Systems ","version":"Next","tagName":"h3"},{"title":"Fluent/Fluentd​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#fluentfluentd","content":" Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. Notes​ in_docker.conf <source> @type forward port 24224 bind 0.0.0.0 </source> <match *.metric> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix metric logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *__openc3.log> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix openc3 logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> <match *.**> @type copy <store> @type elasticsearch host openc3-elasticsearch port 9200 logstash_format true logstash_prefix fluentd logstash_dateformat %Y%m%d include_tag_key true type_name access_log tag_key @log_name flush_interval 1s </store> <store> @type stdout </store> </match> Dockerfile FROM fluent/fluentd:v1.10.3-1.0 COPY ./in_docker.conf /fluentd/etc/fluent.conf USER root RUN gem install fluent-plugin-elasticsearch --no-document --version 4.0.7 \\ && gem install fluent-plugin-prometheus --no-document --version 1.8.5 USER fluent ","version":"Next","tagName":"h3"},{"title":"OpenDistro​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#opendistro","content":" Open Distro for Elasticsearch provides a powerful, easy-to-use event monitoring and alerting system, enabling you to monitor your data and send notifications automatically to your stakeholders. With an intuitive Kibana interface and powerful API, it is easy to set up and manage alerts. Docker Notes​ When testing this I found that depending on how you ingest your logs into the opendistro I found I had to disable security. Here is an example of the docker file. Dockerfile FROM amazon/opendistro-for-elasticsearch:1.12.0 RUN /usr/share/elasticsearch/bin/elasticsearch-plugin remove opendistro_security ","version":"Next","tagName":"h3"},{"title":"Prometheus​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#prometheus","content":" Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data. Notes​ prometheus.yaml global: scrape_interval: 15s evaluation_interval: 15s rule_files: # - "first.rules" # - "second.rules" scrape_configs: - job_name: prometheus static_configs: - targets: ["localhost:9090"] - job_name: openc3-internal-metrics metrics_path: "/openc3-api/internal/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-cmd-tlm-api metrics_path: "/openc3-api/metrics" static_configs: - targets: ["openc3-cmd-tlm-api:2901"] - job_name: openc3-script-runner-api metrics_path: "/script-api/metrics" static_configs: - targets: ["openc3-script-runner-api:2902"] - job_name: minio-job metrics_path: /minio/v2/metrics/cluster scheme: http static_configs: - targets: ['openc3-minio:9000'] Dockerfile FROM prom/prometheus:v2.24.1 ADD prometheus.yaml /etc/prometheus/ ","version":"Next","tagName":"h3"},{"title":"Grafana​","type":1,"pageTitle":"Monitoring","url":"/docs/guides/monitoring#grafana","content":" Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources. Notes​ datasource.yaml apiVersion: 1 datasources: - name: Prometheus type: prometheus # Access mode - proxy (server in the UI) or direct (browser in the UI). access: proxy url: http://openc3-prometheus:9090 Dockerfile FROM grafana/grafana COPY datasource.yaml /etc/grafana/provisioning/datasources/ ","version":"Next","tagName":"h3"},{"title":"COSMOS Hardware Requirements","type":0,"sectionRef":"#","url":"/docs/guides/performance","content":"","keywords":"","version":"Next"},{"title":"Memory​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#memory","content":" COSMOS can run on a Raspberry Pi up to a Kubernetes cluster in the cloud. On all platforms the key performance factor is the number and complexity of the targets and their defined packets. Targets can vary from simple targets taking 100 MB of RAM to complex targets taking 400 MB. The base COSMOS containers require about 800 MB of RAM. A good rule of thumb is to average about 300 MB of RAM for targets. As an example data point, the COSMOS Demo has 4 targets, two complex (INST & INST2) and two relatively simple (EXAMPLE & TEMPLATED), and requires 800 MB of RAM (on top of the 800 MB of base container RAM). Base RAM MB Calculator = 800 + (num targets) * 300 In addition, the Redis streams contain the last 10 min of both raw and decommutated data from all targets. Thus you must wait ~15min to truly see what the high water memory mark will be. In the COSMOS Demo the INST & INST2 targets are fairly simple with four 1Hz packet of ~15 items and one 10Hz packet with 20 items. This only causes 50 MiB of redis RAM usage according to docker stats. Installing the COSMOS LoadSim with 10 packets with 1000 items each at 10Hz pushed the redis memory usage to about 350 MiB. ","version":"Next","tagName":"h2"},{"title":"CPU​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#cpu","content":" Another consideration is the CPU performance. In the Open Source Edition, by default COSMOS spawns off 2 microservices per target. One combines packet logging and decommutation of the data and the other performs data reduction. In COSMOS Enterprise Edition on Kubernetes, each process becomes an independent container that is deployed on the cluster allowing horizontal scaling. The COSMOS command and telemetry API and script running API servers should have a dedicated core while targets can generally share cores. It's hard to provide a general rule of thumb with the wide variety of architectures, clock speeds, and core counts. The best practice is to install COSMOS with the expected load and do some monitoring with htop to visualize the load on the various cores. Any time a single core gets overloaded (100%) this is a concern and system slowdown can occur. ","version":"Next","tagName":"h2"},{"title":"Performance Comparison​","type":1,"pageTitle":"COSMOS Hardware Requirements","url":"/docs/guides/performance#performance-comparison","content":" Performance characterization was performed in Azure on a Standard D4s v5 (4 vcpus, 16 GiB memory) chosen to allow virtualization per Docker. COSMOS 5.9.1 Enterprise Edition was installed on both Windows 11 Pro 1 and Ubuntu 22. Note: Enterprise Edition was not utilizing Kubernetes, just Docker. Testing involved starting the COSMOS Demo, connecting all targets (EXAMPLE, INST, INST2, TEMPLATED), opening the following TlmViewer screens (ADCS, ARRAY, BLOCK, COMMANDING, HS, LATEST, LIMITS, OTHER, PARAMS, SIMPLE, TABS) and creating two TlmGrapher graphs consisting of INST HEALTH_STATUS TEMP[1-4] and INST ADCS POS[X,Y,Z] and INST ADCS VEL[X,Y,Z]. This was allowed to run for 1hr and results were collected using htop: Platform\tCore CPU %\tRAMWindows 11 Pro\t12% 12% 10% 10%\t3.9G / 7.7G Headless Ubuntu 22\t7% 7% 8% 6%\t3.2G / 15.6G Windows was only allocated 8 GB of RAM due to the .wslconfig settings.Since Ubuntu was running headless, the screens and graphs were brought up on another machine. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.16%\t1.32%\t43.54MiB\t51.38MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t10.16%\t6.14%\t401.6MiB\t392MiB cosmos-enterprise-project-openc3-keycloak-1\t0.17%\t0.13%\t476.8MiB\t476.8MiB cosmos-enterprise-project-openc3-operator-1\t21.27%\t13.91%\t1.214GiB\t1.207GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t127.4MiB\t117.1MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.00%\t105.2MiB\t83.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t4.05%\t1.89%\t46.22MiB\t69.84MiB cosmos-enterprise-project-openc3-redis-1\t1.56%\t0.72%\t12.82MiB\t9.484MiB cosmos-enterprise-project-openc3-minio-1\t0.01%\t0.00%\t152.9MiB\t169.8MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.39%\t37.33MiB\t41.02MiB memory profiles are similar between the two platformsredis-ephemeral isn't using much memory on the base Demo with its small packets At this point the COSMOS LoadSim was installed with default settings which creates 10 packets with 1000 items each at 10Hz (110kB/s). After a 1 hr soak, htop now indicated: Platform\tCore CPU %\tRAMWindows 11 Pro\t40% 35% 39% 42%\t4.64G / 7.7G Headless Ubuntu 22\t17% 20% 16% 18%\t3.74G / 15.6G The larger packets and data rate of the LoadSim target caused both platforms to dramatically increase CPU utilization but the Linux machine stays quite performant. docker stats was also run to show individual container cpu and memory usage: NAME\tWindows CPU %\tUbuntu CPU %\tWindows MEM\tUbuntu MEMcosmos-enterprise-project-openc3-traefik-1\t4.09%\t0.01%\t44.3MiB\t0.34MiB cosmos-enterprise-project-openc3-cosmos-cmd-tlm-api-1\t17.78%\t6.18%\t407.9MiB\t405.8MiB cosmos-enterprise-project-openc3-keycloak-1\t0.20%\t0.12%\t480.2MiB\t481.5MiB cosmos-enterprise-project-openc3-operator-1\t221.15%\t66.72%\t1.6GiB\t1.512GiB cosmos-enterprise-project-openc3-cosmos-script-runner-api-1\t0.01%\t0.01%\t136.6MiB\t127.5MiB cosmos-enterprise-project-openc3-metrics-1\t0.01%\t0.01%\t106.3MiB\t84.87MiB cosmos-enterprise-project-openc3-redis-ephemeral-1\t19.63%\t3.91%\t333.8MiB\t370.8MiB cosmos-enterprise-project-openc3-redis-1\t7.42%\t1.49%\t15.87MiB\t11.81MiB cosmos-enterprise-project-openc3-minio-1\t0.10%\t0.02%\t167.8MiB\t179.2MiB cosmos-enterprise-project-openc3-postgresql-1\t0.00%\t0.00%\t35.4MiB\t42.93MiB memory profiles are similar between the two platformsredis-ephemeral is now using much more RAM as it is storing the large LoadSim packetsWindows is using much more CPU power running the operator, cmd-tlm, and redis Conclusions While it is easy to run COSMOS on any Docker platform, increasing the number and complexity of the targets requires choosing the correct hardware. Sizing can be approximated but the best solution is to install representative targets and use docker stats and htop to judge the CPU and memory pressure on the given hardware. COSMOS Enterprise Edition on Kubernetes helps to eliminate the hardware sizing issue by scaling the cluster to meet the needs of the system. Check out this recent talk Ryan gave at GSAW showing how we scaled to over 160 satellites on a 4 node kubernetes cluster on EKS. Footnotes​ Full specs of the Windows Platform: Windows 11 Pro Docker Desktop 4.22.0 WSL version: 1.2.5.0 Kernel version: 5.15.90.1 WSLg version: 1.0.51 MSRDC version: 1.2.3770 Direct3D version: 1.608.2-61064218 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22621.2134 ↩ ","version":"Next","tagName":"h2"},{"title":"COSMOS and NASA cFS","type":0,"sectionRef":"#","url":"/docs/guides/cfs","content":"","keywords":"","version":"Next"},{"title":"Working configuration​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#working-configuration","content":" This tutorial has been tested using the following components: COSMOS v5 release 5.0.6cFS master-branch commit: 561b128 (June 1, 2022)Docker Desktop 4.9.0 on Windows Replace all <xxxxxx> with your matching paths and names. Example: <USERNAME>. ","version":"Next","tagName":"h2"},{"title":"Setting up COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cosmos","content":" Install COSMOS according to the official installation instructions. ","version":"Next","tagName":"h2"},{"title":"Configuring COSMOS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#configuring-cosmos","content":" Change the Docker configuration for the interoperability with NASA cFS. For subscribing to the telemetry, you have to append a port binding in the filecompose.yaml under the section openc3-operator. The port number has to match with the port number cFS is sending the telemetry on. openc3-operator: ports: - "1235:1235/udp" Run COSMOS, the first run takes a while (~15 min). openc3.sh start When started, connect with a browser to http://localhost:2900. For shutting down COSMOS: openc3.sh stop ","version":"Next","tagName":"h3"},{"title":"Setting up cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#setting-up-cfs","content":" To run NASA cFS as a Docker container do the following: ","version":"Next","tagName":"h2"},{"title":"Clone cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#clone-cfs","content":" git clone --recurse-submodules https://github.com/nasa/cFS.git ","version":"Next","tagName":"h3"},{"title":"Create Dockerfile in cFS dir​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#create-dockerfile-in-cfs-dir","content":" FROM ubuntu:22.10 AS builder ARG DEBIAN_FRONTEND=noninteractive ARG SIMULATION=native ENV SIMULATION=${SIMULATION} ARG BUILDTYPE=debug ENV BUILDTYPE=${BUILDTYPE} ARG OMIT_DEPRECATED=true ENV OMIT_DEPRECATED=${OMIT_DEPRECATED} RUN \\ apt-get update && \\ apt-get -y upgrade && \\ apt-get install -y build-essential git cmake && \\ rm -rf /var/lib/apt/lists/* WORKDIR /cFS COPY . . RUN git submodule init \\ && git submodule update \\ && cp cfe/cmake/Makefile.sample Makefile \\ && cp -r cfe/cmake/sample_defs . RUN make prep RUN make RUN make install FROM ubuntu:22.10 COPY --from=builder /cFS/build /cFS/build WORKDIR /cFS/build/exe/cpu1 ENTRYPOINT [ "./core-cpu1" ] ","version":"Next","tagName":"h3"},{"title":"Build and run cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#build-and-run-cfs","content":" Note we're connecting to the COSMOS network (docker network ls) and exposing the cFS ports. docker build -t cfs . docker run --cap-add CAP_SYS_RESOURCE --net=openc3-cosmos-network --name cfs -p1234:1234/udp -p1235:1235 cfs ","version":"Next","tagName":"h3"},{"title":"Creating a COSMOS plugin for TM/TC interface with cFS​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-a-cosmos-plugin-for-tmtc-interface-with-cfs","content":" The detailed instructions how to create a plugin, can be foundhere, in the chapter "Interfacing with Your Hardware". Create a new plugin with the name CFS. CFS is the name of the plugin and must be in capital letters according to the COSMOS documentation. This command should create the plugin structure. Then cd into the plugin to create the target. # cd .. to the location of the cfs dir $PATH_TO_OPENC3/openc3.sh cli generate plugin CFS cd openc3-cosmos-cfs $PATH_TO_OPENC3/openc3.sh cli generate target CFS In this newly created plugin, change the plugin.txt file, so that the communication happens over UDP. port_tm is the port number on which cFS sends the telemetry messages. port_tc indicates the port on which cFS listens to the telecommands. VARIABLE ip 127.0.0.1 VARIABLE port_tm 1235 VARIABLE port_tc 1234 VARIABLE cfs_target_name CFS TARGET CFS <%= cfs_target_name %> # hostname write_dest_port read_port write_src_port interface_address ttl write_timeout read_timeout bind_address INTERFACE <%= cfs_target_name %>_INT udp_interface.rb <%= ip %> <%= port_tc %> <%= port_tm %> nil nil 128 nil nil MAP_TARGET <%= cfs_target_name %> Note that the two arguments to the TARGET parameter are: the physical target name that should match the name of the plugin, i.e. CFS. This name must match the folder name in the targets folder. Example: for theCFS plugin, the target specifications must be underopenc3-cfs/targets/CFS. If you don't follow this convention, the server will refuse to install your plugin at the following steps. the name of your target and how it is shown in the user interface. In this example, we keep both names to be CFS. ","version":"Next","tagName":"h2"},{"title":"Creating TM/TC definitions​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#creating-tmtc-definitions","content":" Change to the target folder and remove the existing files and create own files. cd openc3-cfs/targets/CFS/cmd_tlm rm * touch cfs_cmds.txt touch cfs_tlm.txt touch to_lab_cmds.txt Open these newly created files in a text editor and fill them with following content. to_lab_cmds.txt: COMMAND CFS TO_LAB_ENABLE BIG_ENDIAN "Enable telemetry" # NAME BITS TYPE min VAL max VAL init VAL DESCRIPTION APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1880 0x1880 0x1880 "Stream ID" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT 0xC000 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0xFFFF 0x0012 "length of the packet" APPEND_PARAMETER CMD_ID 8 UINT 6 6 6 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 0x98 "" FORMAT_STRING "0x%2X" APPEND_PARAMETER DEST_IP 144 STRING "127.0.0.1" "Destination IP, i.e. 172.16.9.112, pc-57" Enabling Telemetry The command 0x1880 is needed to enable telemetry. When the cFS receives this command, it starts sending telemetry to the IP address provided via theDEST_IP field. cfs_cmds.txt: COMMAND CFS NOOP BIG_ENDIAN "NOOP Command" # cFS primary header APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" # cFS CMD secondary header APPEND_PARAMETER CMD_ID 8 UINT 0 0 0 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS RESET BIG_ENDIAN "Reset Counters Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 1 1 1 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" COMMAND CFS PROCESS BIG_ENDIAN "Process Command" APPEND_ID_PARAMETER STREAM_ID 16 UINT 0x1882 0x1882 0x1882 "Packet Identification" FORMAT_STRING "0x%04X" APPEND_PARAMETER SEQUENCE 16 UINT MIN_UINT16 MAX_UINT16 0xC000 "" FORMAT_STRING "0x%04X" APPEND_PARAMETER PKT_LEN 16 UINT 0x0001 0x0001 0x0001 "Packet length" APPEND_PARAMETER CMD_ID 8 UINT 2 2 2 "" APPEND_PARAMETER CHECKSUM 8 UINT MIN_UINT8 MAX_UINT8 MIN_UINT8 "" cfs_tlm.txt: TELEMETRY CFS HK BIG_ENDIAN "housekeeping telemetry" # NAME BITS TYPE ID DESCRIPTION APPEND_ID_ITEM STREAM_ID 16 UINT 0x0883 "Stream ID" FORMAT_STRING "0x%04X" APPEND_ITEM SEQUENCE 16 UINT "Packet Sequence" FORMAT_STRING "0x%04X" APPEND_ITEM PKT_LEN 16 UINT "Length of the packet" # telemetry secondary header APPEND_ITEM SECONDS 32 UINT "" UNITS Seconds sec APPEND_ITEM SUBSECS 16 UINT "" UNITS Milliseconds ms # some bytes not known for what APPEND_ITEM SPARE2ALIGN 32 UINT "Spares" # payload APPEND_ITEM CMD_ERRS 8 UINT "Command Error Counter" APPEND_ITEM CMD_CNT 8 UINT "Command Counter" # spare / alignment APPEND_ITEM SPARE 16 UINT "Spares" Build the plugin from the base of your plugin folder: # cd openc3-cfs $PATH_TO_OPENC3/openc3.sh cli rake build VERSION=1.0.0 Plugin versioning Do not forget to change the version number with every build if you want to better distinguish between the versions of the plugin. When the version is seen in the plugin's .gem file name, it is easier to visualize the existing versions and the newly uploaded versions. Plugin parameters Multiple parameters are available for the plugin configuration. See the plugin page. ","version":"Next","tagName":"h2"},{"title":"Uploading the plugin​","type":1,"pageTitle":"COSMOS and NASA cFS","url":"/docs/guides/cfs#uploading-the-plugin","content":" After the plugin has been built, you can import the plugin in the admin area of the page. Connect with a browser tohttp://localhost:2900/tools/admin. Click on the clip icon and navigate to where your plugin is stored and select the openc3-cosmos-cfs-1.0.0.gem file. Right of the selection line click on UPLOAD. Determine the IP address the cFS container and COSMOS operator container are running at: docker network ls NETWORK ID NAME DRIVER SCOPE d842f813f1c7 openc3-cosmos-network bridge local docker network inspect openc3-cosmos-network [ { "Name": "openc3-cosmos-network", ... "Containers": { "03cb6bf1b27c631fad1366e9342aeaa5b80f458a437195e4a95e674bb5f5983d": { "Name": "cfs", "IPv4Address": "172.20.0.9/16", }, "ceb9ea99b00849fd8867dcd1646838fef3471f7d64b69014703dbedbcc8147fc": { "Name": "openc3_openc3-operator_1", "IPv4Address": "172.20.0.8/16", } } ... } ] When using this plugin, make sure to change the ip variable during uploading to match where cFS is running. In the example above you would set it to 172.20.0.9.port_tm is the port number on which cFS is sending the telemetry messages.port_tc indicates the port on cFS is listening for telecommands. Under cfs_target_name you can change the target name of this plugin. This step is optional as long as you are fine with your plugin showing up as CFS. Port subscription The last uploaded plugin on COSMOS will subscribe to TM on port 1235. Other plugins will not receive any TM anymore. Typo errors Presence of typos in one of the plugin files can cause problems when uploading and installing the plugin's .gem file. Make sure your configuration is typo-free. In the example above, the operator image is running at 172.20.0.8. To enable telemetry, go to the browser and connect tohttp://localhost:2900/tools/cmdsender/CFS/TO_LAB_ENABLE. Change the DEST_IP to the IP address of the operator image (172.20.0.8) and send the command. Under http://localhost:2900/tools/cmdtlmserver/tlm-packets, you should see the incoming packets. Note in the CmdTlmServer you will also see CFS_INT UNKNOWN packets because we did not define the full cFS packet set. That exercise is left to the reader. ","version":"Next","tagName":"h2"},{"title":"Upgrading","type":0,"sectionRef":"#","url":"/docs/getting-started/upgrading","content":"","keywords":"","version":"Next"},{"title":"COSMOS Upgrades​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#cosmos-upgrades","content":" COSMOS is released as Docker containers. Since we're using Docker containers and volumes we can simply stop the existing COSMOS application, then download and run the new release. This example assumes an existing COSMOS project at C:\\cosmos-project. Stop the current COSMOS application C:\\cosmos-project> openc3.bat stop Change the release in the .env file to the desired release OPENC3_TAG=5.1.1 Run the new COSMOS application C:\\cosmos-project> openc3.bat run Downgrades Downgrades are not necessarily supported. When upgrading COSMOS we need to upgrade databases and sometimes migrate internal data structures. While we perform a full regression test on every release, we recommend upgrading an individual machine with your specific plugins and do local testing before rolling out the upgrade to your production system. In general, patch releases (x.y.Z) can be downgraded, minor releases (x.Y.z) might be able to be downgraded and major releases (X.y.z) are NOT able to be downgraded. ","version":"Next","tagName":"h3"},{"title":"Migrating From COSMOS 4 to COSMOS 5​","type":1,"pageTitle":"Upgrading","url":"/docs/getting-started/upgrading#migrating-from-cosmos-4-to-cosmos-5","content":" COSMOS 5 is a new architecture and treats targets as independent plugins. Thus the primary effort in porting from COSMOS 4 to COSMOS 5 is converting targets to plugins. We recommend creating plugins for each independent target (with its own interface) but targets which share an interface will need to be part of the same plugin. The reason for independent plugins is it allows the plugin to be versioned separately and more easily shared outside your specific project. If you have very project specific targets (e.g. custom hardware) those can potentially be combined for ease of deployment. COSMOS 5 includes a migration tool for converting an existing COSMOS 4 configuration into a COSMOS 5 plugin. This example assumes an existing COSMOS 4 configuration at C:\\COSMOS and a new COSMOS 5 installation at C:\\cosmos-project. Linux users can adjust paths and change from .bat to .sh to follow along. Change to the existing COSMOS 4 configuration directory. You should see the config, lib, procedures, outputs directory. You can then run the migration tool by specifying the absolute path to the COSMOS 5 installation. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate -a demo This creates a new COSMOS 5 plugin called openc3-cosmos-demo with a target named DEMO containing the existing lib and procedures files as well as all the existing targets. C:\\COSMOS> C:\\cosmos-project\\openc3.bat cli migrate demo-part INST This would create a new COSMOS 5 plugin called openc3-cosmos-demo-part with a target named DEMO_PART containing the existing lib and procedures files as well as the INST target (but no others). Open the new COSMOS 5 plugin and ensure the plugin.txt file is correctly configured. The migration tool doesn't create VARIABLEs or MICROSERVICEs or handle target substitution so those features will have to added manually. Follow the building your plugin part of the Getting Started tutorial to build your new plugin and upload it to COSMOS 5. ","version":"Next","tagName":"h3"},{"title":"Contributing","type":0,"sectionRef":"#","url":"/docs/meta/contributing","content":"","keywords":"","version":"Next"},{"title":"Test Dependencies​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#test-dependencies","content":" To run the test suite and build the gem you'll need to install COSMOS's dependencies. COSMOS uses Bundler, so a quick run of the bundle command and you're all set! \\$ bundle Before you start, run the tests and make sure that they pass (to confirm your environment is configured properly): \\$ bundle exec rake build spec ","version":"Next","tagName":"h2"},{"title":"Workflow​","type":1,"pageTitle":"Contributing","url":"/docs/meta/contributing#workflow","content":" Here's the most direct way to get your work merged into the project: Fork the project.Clone down your fork: git clone git://github.com/<username>/openc3.git Create a topic branch to contain your change: git checkout -b my_awesome_feature Hack away, add tests. Not necessarily in that order.Make sure everything still passes by running bundle exec rake.If necessary, rebase your commits into logical chunks, without errors.Push the branch up: git push origin my_awesome_feature Create a pull request against openc3/cosmos:main and describe what your change does and the why you think it should be merged. Find a problem in the code or documentation? Please create an issue on GitHub describing what we can do to make it better. ","version":"Next","tagName":"h2"},{"title":"Philosophy","type":0,"sectionRef":"#","url":"/docs/meta/philosophy","content":"Philosophy COSMOS is a C3 (Command, Control and Communication) system with the following primary goals: Interface with Anything COSMOS should be able to communicate with anything that provides a computer-to-computer interface, regardless of what the interface is. This means that COSMOS adapts to what other systems are doing and evolves over time. It does not publish an API that hardware must adhere to if it wants to communicate with COSMOS. Log Everything All data that flows into and out of COSMOS is logged. This provides history as well as attribution for what happened when and why. Keeping accurate logs is an essential and critical aspect of COSMOS. Open Architecture and Source Nothing about how COSMOS is implemented is meant to be secret or hidden, even in Enterprise Edition. In all editions, the source code for everything in COSMOS is provided and available for users to inspect or modify as needed. Never worry about an unsolvable problem or having to accept some detail that you don't like. This also opens the world to integrate anything they need into COSMOS without restriction or limitation. Be Modular There are infinite number of things for COSMOS to connect to, but it is impossible to ship COSMOS with all the code it would need to talk to everything. For this reason, COSMOS is designed to be modular in all the places that matter. Use Configuration when Possible, and Code When Logic Is Needed Configuration is great for making COSMOS as usable as possible by non-software engineers. It also shows where common patterns exist. However, configuration is horrible when logic or custom math are needed. Empower Developers COSMOS is meant to be easy enough to be used by everyone, not just C2 software experts.","keywords":"","version":"Next"},{"title":"Licenses","type":0,"sectionRef":"#","url":"/docs/meta/licenses","content":"","keywords":"","version":"Next"},{"title":"AGPLv3​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#agplv3","content":" This is our default open source license and the license that most free users use. The AGPLv3 is a modification of the GPLv3 which is what is known as a copy-left license or a viral license. You can read the whole thing here: OpenC3 AGPLv3 Obviously, the actual license text applies, but here is a short summary: The AGPL allows users to use the code however they want: For business, personal, etc., as long as they follow the other terms: Users are anyone who could access the web-app. On the public internet, that is the whole world. On a private network, it is anyone with access to that network. The software is provided as-is, no warranty Users must be given access to all the source code and are also allowed to use it however they want under the same terms of the AGPLv3. This includes any modifications made, anything added, and all plugins. For web applications (like COSMOS), a link must be provided to all of the source code. There are some key implications of the above: You cannot keep anything proprietary from your users. They have the rights to take the code (and configuration) and do anything they want with it. You CANNOT impede these rights or you are violating the AGPLv3 and YOU lose the rights to use our software. You must provide a digital link to all source code for your users, including plugins. All plugins must be licensed in an AGPLv3 compatible fashion. We recommend the MIT license because that allows your plugins to be compatible with the AGPLv3 and our commercial license. You can also use a dual license similar to what we do indicating the AGPLv3 or a purchased OpenC3 Commercial license. The AGPLv3 license is often chosen because it works well for open core products like COSMOS. Competitors cannot take the open source product and license it under different terms. They would be forever locked into the AGPLv3 which is difficult to monetize, because your customers can take any code you provide and publish it on the internet for free use by everyone. As the copyright holder, OpenC3 is able to license the product and derivatives commercially. No-one else can do this. (OpenC3 is also able to license legacy Ball Aerospace COSMOS code under IP agreement) ","version":"Next","tagName":"h2"},{"title":"Evaluation and Education Use Only​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#evaluation-and-education-use-only","content":" This license takes effect as soon as you use any plugin we publish under Evaluation and Education terms. Currently the only plugin we use for this is our CCSDS CFDP plugin: CFDP Plugin You can read the whole license here: # OpenC3 Evaluation and Educational License # # Copyright 2023 OpenC3, Inc. # # This work is licensed for evaluation and educational purposes only. # It may NOT be used for formal development, integration and test, operations # or any other commercial purpose without the purchase of a commercial license # from OpenC3, Inc. # # The above copyright notice and this permission notice shall be included in all copies # or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. This license is pretty straight forward, but the key is you can't use this code for any real work leading to a product (Formal Development, Integration and Test, or Operations) unless you switch to purchasing a commercial license. ","version":"Next","tagName":"h2"},{"title":"Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#commercial-license","content":" This license is a signed contract with OpenC3. It allows use of our code for a program under contractual terms where you do not have to follow the AGPLv3. Generally we license to a specific project with terms that allow for unlimited users, and installs as needed by that project. Any code and plugins that you develop under the commercial license can be kept proprietary. These licenses are sold as yearly subscriptions, or as a non-expiring perpetual license. We also offer site licenses, and licenses to support unlimited missions on a government framework architecture. Of course with our commercial license, you also get all the extra functionality of our Enterprise product. ","version":"Next","tagName":"h2"},{"title":"Why you should buy a Commercial License​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#why-you-should-buy-a-commercial-license","content":" You want to save years and tens of millions of dollars developing the same functionality yourself. You want all of the Enterprise functionality of COSMOS Enterprise Edition User AccountsRole Based Access ControlLDAP SupportKubernetes SupportCloud Deployment ConfigurationsThe right to use CFDP and other Enterprise Only pluginsGrafana SupportSupport from the COSMOS DevelopersLots more - See our Enterprise page You don't want to follow the AGPLv3 You want to keep the code and plugins you develop proprietaryYou don't want to publish an accessible link to your source code You want to support the continued development and innovation of the COSMOS product We appreciate all of our commercial customers. You make OpenC3 possible. Thank you. ","version":"Next","tagName":"h3"},{"title":"FAQs​","type":1,"pageTitle":"Licenses","url":"/docs/meta/licenses#faqs","content":" I see both Ball Aerospace & Technologies Corp as well as OpenC3, Inc in the copyright headers. What does this mean? OpenC3, Inc has an intellectual property agreement with BAE (formerly Ball Aerospace & Technologies Corp) which gives us the rights to commercialize the original work that we built at Ball Aerospace. Customers only need to purchase a commercial license from OpenC3. What are the limits of the COSMOS Enterprise Edition? How many users can we have? How many times can it be installed? The COSMOS Enterprise Edition license has no user or installation limits. How is the COSMOS Enterprise Edition license enforced? The COSMOS Enterprise Edition license is enforced through contract only without license managers or additional software controls. How is the COSMOS Enterprise Edition license applied? Per company? Per program? COSMOS Enterprise Edition is typically licensed to a named mission or group. We also have site licenses, company licenses, and mission ops center licenses. Please contact us at sales@openc3.com for more information. Do you license to foreign companies? How do you handle ITAR or the EAR? We have several international customers and are not subject to ITAR export controls. We are export controlled under the EAR via ECCN 5D002c1. We have a detailed writeup explaining this justification as well as a commodity classification document from the Department of Commerce. Please contact us at sales@openc3.com for more information. ","version":"Next","tagName":"h2"},{"title":"XTCE Support","type":0,"sectionRef":"#","url":"/docs/meta/xtce","content":"","keywords":"","version":"Next"},{"title":"Running COSMOS using an .xtce definition file​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#running-cosmos-using-an-xtce-definition-file","content":" A single .xtce file containing the command and telemetry definitions for a target can be used in place of the normal COSMOS command and telemetry definition files. Simply place the target's .xtce file in the target's cmd_tlm folder and COSMOS will use it for the command and telemetry definitions. ","version":"Next","tagName":"h2"},{"title":"Converting a .xtce file into a COSMOS configuration​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-xtce-file-into-a-cosmos-configuration","content":" Use the following command to convert a .xtce file into COSMOS configuration files. The converted configuration files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --import <xtce_filename> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"Converting a COSMOS Configuration to XTCE​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#converting-a-cosmos-configuration-to-xtce","content":" Use the following command to convert your openc3 plugin into .xtce files, one per target. The converted .xtce files will be placed into a target folder in the given output directory. openc3.bat cli xtce_converter --plugin <plugin.gem> --output <output_dir> ","version":"Next","tagName":"h2"},{"title":"High-level Overview of Current Support​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#high-level-overview-of-current-support","content":" Integer, Float, Enumerated, String, and Binary Parameter/Argument Types are SupportedAll DataEncodings are supportedTelemetry and Commands are SupportedPacket Identification is supportedStates are supportedUnits are supportedPolynomialCalibrators are supportedOnly one SpaceSystem per .xtce filePackets should not have gaps between items ","version":"Next","tagName":"h2"},{"title":"Supported Elements and Attributes​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#supported-elements-and-attributes","content":" The following elements and associated attributes are currently supported. SpaceSystemTelemetryMetaDataCommandMetaDataParameterTypeSetEnumerationListParameterSetContainerSetEntryListDefaultCalibratorDefaultAlarmRestrictionCriteriaComparisonListMetaCommandSetDefaultCalibratorArgumentTypeSetArgumentListArgumentAssignmentListEnumeratedParameterTypeEnumeratedArgumentTypeIntegerParameterTypeIntegerArgumentTypeFloatParameterTypeFloatArgumentTypeStringParameterTypeStringArgumentTypeBinaryParameterTypeBinaryArgumentTypeIntegerDataEncodingFloatDataEncodingStringDataEncodingBinaryDataEncoding'SizeInBitsFixedValueUnitSetUnitPolynomialCalibratorTermStaticAlarmRangesWarningRangeCriticalRangeValidRangeEnumerationParameterArgumentParameterPropertiesSequenceContainerBaseContainerLongDescriptionParameterRefEntryArgumentRefEntryBaseMetaCommandComparisonMetaCommandBaseMetaCommandCommandContainerArgumentAssignment ","version":"Next","tagName":"h2"},{"title":"Ignored Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#ignored-elements","content":" The following elements are simply ignored by COSMOS: HeaderAliasSetAlias ","version":"Next","tagName":"h2"},{"title":"Unsupported Elements​","type":1,"pageTitle":"XTCE Support","url":"/docs/meta/xtce#unsupported-elements","content":" Any elements not listed above are currently unsupported. Near term support for the following elements and features are planned and priority will be determined by user requests. SplineCalibratorAlternate methods of specifying offsets into containersOutput to the XUSP standardAdditional Data TypesContainer References If there is a particular element or feature you need supported please submit a ticket on Github. ","version":"Next","tagName":"h2"},{"title":"Streaming API","type":0,"sectionRef":"#","url":"/docs/development/streaming-api","content":"Streaming API This documentation is for COSMOS Developers This information is just generally used behind the scenes in COSMOS tools The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested. This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend. The following interactions are all shown in Javascript, but would be very similar in any language. Connecting to this API begins by initiating an ActionCable connection. cable = ActionCable.createConsumer('/openc3-api/cable') This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple “subscriptions”. A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this: subscription = cable.subscriptions.create( { channel: "StreamingChannel", scope: "DEFAULT", token: token, }, { received: (data) => { // Handle received data }, connected: () => { // First chance to add what you want to stream here }, disconnected: () => { // Handle the subscription being disconnected }, rejected: () => { // Handle the subscription being rejected }, } ); Subscribing to the StreamingApi requires passing a channel name set to “StreamingChannel”, a scope which is typically “DEFAULT”, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are connected and received. connected runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open. Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet. Adding items to stream is done as follows: var items = [ ["DECOM__TLM__INST__ADCS__Q1__RAW", "0"], ["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, items: items, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the item name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<ITEM NAME>__<VALUE TYPE>__<REDUCED TYPE>. Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV. Adding packets to stream is done as follows: var packets = [ ["RAW__TLM__INST__ADCS", "0"], ["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"], ]; OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => { this.subscription.perform("add", { scope: window.openc3Scope, token: localStorage.openc3Token, packets: packets, start_time: this.startDateTime, end_time: this.endDateTime, }); }); The values in the packet name are separated by double underscores, e.g. <MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<VALUE TYPE>. Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS). start_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data. Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator. For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet. [ { "time": 1234657585858, "TLM__INST__ADCS__Q1__RAW": 50.0, "TLM__INST__ADCS__Q2__RAW": 100.0 }, { "time": 1234657585859, "TLM__INST__ADCS__Q1__RAW": 60.0, "TLM__INST__ADCS__Q2__RAW": 110.0 } ] For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data. [ { "time": 1234657585858, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "SkdfjGodkdfjdfoekfsg" }, { "time": 1234657585859, "packet": "DEFAULT__TELEMETRY__INST__ADCS", "buffer": "3i5n49dmnfg9fl32k3" } ] ","keywords":"","version":"Next"},{"title":"Raspberry Pi","type":0,"sectionRef":"#","url":"/docs/guides/raspberrypi","content":"","keywords":"","version":"Next"},{"title":"COSMOS Running on Raspberry Pi 4​","type":1,"pageTitle":"Raspberry Pi","url":"/docs/guides/raspberrypi#cosmos-running-on-raspberry-pi-4","content":" The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running. What you'll need: Raspberry Pi 4 board (tested with 8GB RAM)A Pi Case but OptionalRaspbeerry Pi Power Supply32GB or Larger SD Card - Also faster the betterA Laptop with a way to write SD Cards Let's get started! Setup 64-bit Raspian OS Lite on the SD Card Make sure you have the Raspberry Pi Imager app from: https://www.raspberrypi.com/software/ Insert the SD Card into your computer (Note this process will erase all data on the SD card!)Open the Raspberry Pi Imager AppClick the "Choose Device" ButtonPick Your Raspberry Pi ModelClick the "Choose OS" ButtonSelect "Raspberry Pi OS (other)"Select "Raspberry Pi OS Lite (64-bit)"Click the "Choose Storage" ButtonSelect Your SD CardClick Edit SettingsIf prompted if you would like to prefill the Wifi information, select OKSet the hostname to: cosmos.localSet the username and password. The default username is your username, you should also set a password to make the system secureFill in your Wifi info, and set the country appropriately (ie. US)Set the correct time zoneGoto the Services Tab and Enable SSHYou can either use Password auth, or public-key only if your computer is already setup for passwordless SSHGoto the Options tab and make sure "Enable Telemetry" is not checkedClick "Save" when everything is filled outClick "Yes" to apply OS Customization Settings, Yes to Are You Sure, and Wait for it to complete Make sure the Raspberry Pi is NOT powered on Remove the SD Card from your computer and insert into the Raspberry Pi Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot SSH to your raspberry Pi Open a terminal window and use ssh to connect to your Pi On Mac / Linux: ssh yourusername@cosmos.localOn Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well. From SSH, Enter the following commands sudo sysctl -w vm.max_map_count=262144 sudo sysctl -w vm.overcommit_memory=1 sudo apt update sudo apt upgrade sudo apt install git -y curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER newgrp docker git clone https://github.com/OpenC3/cosmos-project.git cosmos cd cosmos # Edit compose.yaml and remove 127.0.0.1: from the ports section of the openc3-traefik service ./openc3.sh run After about 2 minutes, open a web browser on your computer, and goto: http://cosmos.local:2900 Congratulations! You now have COSMOS running on a Raspberry Pi! ","version":"Next","tagName":"h3"},{"title":"Admin","type":0,"sectionRef":"#","url":"/docs/tools/admin","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#introduction","content":" Admin has it's own dedicated button at the top of the tools list. It is responsible for administering the COSMOS system including installing new plugins, viewing configuration, storing secrets and changing settings. ","version":"Next","tagName":"h2"},{"title":"Plugins​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#plugins","content":" The Plugins tab is where you install new plugins into the COSMOS system. Plugins can dynamically add targets, microservices, interfaces, protocols, Telemetry Viewer widgets, and entire tools into the COSMOS runtime. The following screenshot shows the Plugins tab when only the COSMOS Demo is installed: The plugin gem name is listed along with all the targets it contains. You can Download, Edit, Upgrade, or Delete (uninstall) the plugin using the buttons to the right. If a plugin's target has been modified, the target name turns into a link which when clicked will download the changed files. New plugins are installed by clicking the top field. ","version":"Next","tagName":"h3"},{"title":"Targets​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#targets","content":" The Targets tab shows all the targets installed and what plugin they came from. Clicking the eyeball shows the raw JSON that makes up the target configuration. ","version":"Next","tagName":"h3"},{"title":"Interfaces​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#interfaces","content":" The Interfaces tab shows all the interfaces installed. Clicking the eyeball shows the raw JSON that makes up the interface configuration. ","version":"Next","tagName":"h3"},{"title":"Routers​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#routers","content":" The Routers tab shows all the routers installed. Clicking the eyeball shows the raw JSON that makes up the router configuration. ","version":"Next","tagName":"h3"},{"title":"Microservices​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#microservices","content":" The Microservices tab shows all the microservices installed, their update time, state, and count. Clicking the eyeball shows the raw JSON that makes up the microservice configuration. ","version":"Next","tagName":"h3"},{"title":"Packages​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#packages","content":" The Packages tab shows all the Ruby gems and Python packages installed in the system. You can also install packages from this tab if you're in an offline (air gapped) environment where COSMOS can't pull dependencies from Rubygems or Pypi. ","version":"Next","tagName":"h3"},{"title":"Tools​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#tools","content":" The Tools tab lists all the tools installed. You can reorder the tools in the Navigation bar by dragging and dropping the left side grab handle. You can also add links to existing tools in the navigation bar by using the Add button. Any material design icons can be used as the Tool icon. ","version":"Next","tagName":"h3"},{"title":"Redis​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#redis","content":" The Redis tab allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. THIS IS DANGEROUS, and should only be performed by COSMOS developers. ","version":"Next","tagName":"h3"},{"title":"Secrets​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#secrets","content":" The Secrets tab allows you to create secrets that can be used by Interfaces or Microservices using the SECRET keyword. Secrets require setting the Secret Name and then can be set to an individual value using the Secret Value, or to the contents of a file (like a certificate file) using the file selector. In the following example the USERNAME and PASSWORD were set to values while CA_FILE was set using an uploaded certificate file. ","version":"Next","tagName":"h3"},{"title":"Settings​","type":1,"pageTitle":"Admin","url":"/docs/tools/admin#settings","content":" The Settings tab contains various settings used throughout COSMOS. These including clearing saved tool configuration, hiding the Astro Clock, changing the system time zone, adding a top and bottom banner, creating a subtitle in the navigation bar, and changing the URLs of the various package libraries. ","version":"Next","tagName":"h3"},{"title":"Autonomic (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/autonomic","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#introduction","content":" Autonomic allows for the automated execution of commands and scripts based on user-defined rules. ","version":"Next","tagName":"h2"},{"title":"Overview​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#overview","content":" Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system. ","version":"Next","tagName":"h3"},{"title":"TriggerGroups​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggergroups","content":" Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed. ","version":"Next","tagName":"h3"},{"title":"Triggers​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#triggers","content":" Triggers are logical components that are evaluated to true or false. Creating a trigger is like specifying an equation to evaluate. The trigger creation dialog specifies the Trigger Group which owns the trigger and the "left operand". This can be a telemetry item or an existing trigger. Once you've chosen the "left operand" you need to choose the operator. Finally you choose the "right operand" which in this case is a simple value. After the trigger is created it is displayed in Autonomic and waits to be activated by the given logic. Active triggers are highlighted in the list. Triggers can also be manually disabled and enabled by clicking the plug icon. Note in the above screenshot the Events which track everything about the trigger. ","version":"Next","tagName":"h3"},{"title":"Reactions​","type":1,"pageTitle":"Autonomic (Enterprise)","url":"/docs/tools/autonomic#reactions","content":" Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script. Reactions can not exist without a corresponding trigger. The reaction creation dialog specifies whether to treat the trigger as an Edge or Level. It then allows you to select which trigger(s) the reaction will react to. Selecting multiple triggers allows any of the triggers to trigger the reaction (Note: Creating a reaction which responds to Trigger A AND Trigger B is done by creating additional triggers). After the triggers are specified, the dialog prompts for the actions to take. You can either send a command, run a script, or simply push a notification. Commands and scripts can also optionally push a notification. In this example a script is specified with a notification at the WARN level. Spawning Scripts Be aware of how and when you spawn scripts and whether they are running to completion. Spawning a faulty script can lead to many unfinished scripts consuming resources. Finally the snooze setting is specified. Snooze is the number of seconds after the reaction runs before the reaction will be allowed to run again. This is especially important in Level triggers where if the trigger remains active the reaction can run continuously. Once the reaction is created it is listed in the interface. When the reaction runs the "State" changes to the snooze icon and the "Snooze Until" is updated to indicate the reaction is waiting before being allowed to run again. ","version":"Next","tagName":"h3"},{"title":"OpenC3, Inc. Privacy Policy","type":0,"sectionRef":"#","url":"/docs/privacy","content":"","keywords":"","version":"Next"},{"title":"Our Commitment​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#our-commitment","content":" • Your information will not be shared, rented or sold to any third party. • We use state-of-the-art security measures to protect your information from unauthorized users. • We give you the possibility to control the information that you shared with us (opt-out) OpenC3, Inc. is committed to processing data in accordance with its responsibilities under the GDPR. Article 5 of the GDPR requires that personal data shall be: a. processed lawfully, fairly and in a transparent manner in relation to individuals; b. collected for specified, explicit and legitimate purposes and not further processed in a manner that is incompatible with those purposes; further processing for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes shall not be considered to be incompatible with the initial purposes; c. adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed; d. accurate and, where necessary, kept up to date; every reasonable step must be taken to ensure that personal data that are inaccurate, having regard to the purposes for which they are processed, are erased or rectified without delay; e. kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed; personal data may be stored for longer periods insofar as the personal data will be processed solely for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes subject to implementation of the appropriate technical and organisational measures required by the GDPR in order to safeguard the rights and freedoms of individuals; and f. processed in a manner that ensures appropriate security of the personal data, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage, using appropriate technical or organisational measures.” ","version":"Next","tagName":"h2"},{"title":"1. Notice​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#1-notice","content":" We will clearly inform you when information that personally identifies you ("personal information") is asked for and you will have the choice to provide it or not. Generally, this information is requested when you subscribe to product updates, newsletters or other online services. ","version":"Next","tagName":"h2"},{"title":"2. Usage​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#2-usage","content":" We use your personal information for the following purposes: • To provide you information that will allow you to use our services • To automatically customize your documents with your information • To alert you of software upgrades, updates, discounts or other services from OpenC3, Inc. We collect your email when you subscribe to our services or newsletter in order to send you informational communications about OpenC3 Inc's products, such as their purpose and the best use you can make of them. We also collect your email to send you our promotional offers. We may also collect your name, language, currency, operating system, document searched and country information for a better experience with our products/services. When you place your order with us, we collect your email in order to communicate with you. We also collect your phone number in order to contact you in case these emails bounce back because of a typo in your email address and if we cannot figure out what the correct email address is. We also contact the phone number that is provided if we suspect that the cardholder’s credit card information has been compromised, i.e used in a fraudulent way. We also use our clients’ email in order to notify of the release of updated versions of the software, new services or promotional offers. ","version":"Next","tagName":"h2"},{"title":"3. Consent​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#3-consent","content":" When you provide your personal information, you consent that it can be used for the above purposes and that OpenC3, Inc. is an authorized holder of such information. If you choose not to register or provide personal information, you can still use our website but you will not be able to receive additional services or access certain areas that require registration. When you activate your account, you are providing your consent to occasionally receive information from us. In each communication from us you will have the opportunity to unsubscribe from further communications; alternatively, you may contact us to express your choices at the address provided at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"4. Access to your information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#4-access-to-your-information","content":" You are entitled to review the personal information you have provided us and ensure that it is accurate and current at all times. To review or update this information simply request that we send you this information. ","version":"Next","tagName":"h2"},{"title":"5. Security of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#5-security-of-information","content":" OpenC3, Inc. is strongly committed to protecting your information and ensuring that your choices are honored. We have taken strong security measures to protect your data from loss, misuse, unauthorized access, disclosure, alteration, or destruction. All sensitive data is stored behind multiple firewalls on secure servers with restricted employee access. We guarantee that all e-commerce transactions follow the latest security measures and use the best available technologies. Secure Sockets Layer (SSL) technology is employed when you place online orders or transmit sensitive information. SSL is one of the safest methods of passing information over the Internet. ","version":"Next","tagName":"h2"},{"title":"6. Retention of information​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#6-retention-of-information","content":" We retain information as long as it is necessary to provide the services requested by you and others, subject to any legal obligations to further retain such information. Information associated with your account will generally be kept until it is no longer necessary to provide the services or until you ask us to delete it or your account is deleted whichever comes first. Additionally, we may retain information from deleted accounts to comply with the law, prevent fraud, resolve disputes, troubleshoot problems, assist with investigations, enforce the Terms of Use, and take other actions permitted by law. The information we retain will be handled in accordance with this Privacy Policy. Finally, your data could also be stored for sales statistical purposes. ","version":"Next","tagName":"h2"},{"title":"7. EU and EEA Users’ Rights​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#7-eu-and-eea-users-rights","content":" If you are habitually located in the European Union or European Economic Area, you have the right to access, rectify, download or erase your information, as well as the right to restrict and object to certain processing of your information. While some of these rights apply generally, certain rights apply only in certain limited circumstances. We describe these rights below: You have the right to access your personal data and, if necessary, have it amended or deleted or restricted. In certain instances, you may have the right to the portability of your data. You can also ask us to not send marketing communications and not to use your personal data when we carry out profiling for direct marketing purposes. You can opt out of receiving email newsletters and other marketing communications by following the opt-out instructions provided to you in those emails. Transactional account messages will be unaffected if you opt-out from marketing communications. ","version":"Next","tagName":"h2"},{"title":"8. What we do with the Information you share​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#8-what-we-do-with-the-information-you-share","content":" Your information is never shared outside the company without your permission. Inside the company, data is stored behind multiple firewalls on secure servers with restricted user access. When you register to our website, you are asked to provide your contact information, including a valid email address. We use this information to send you updates about order confirmations and information about our services. When you order from us, we ask for your credit card number and billing address. We use this information only to bill you for the product(s) you ordered at that time. We may on occasion require the help of other companies to provide limited services on our behalf, such as packaging, shipping and delivery, customer support and processing event registrations. We will only provide such companies with the information required for them to perform these services; these service providers are bound by strict privacy policies and are prohibited from using your information for any other purpose. In very rare instances OpenC3, Inc. may disclose your personal information, without notice, only if required to do so by law or in the good faith belief that such action is necessary to: (a) conform to the edicts of the law or comply with legal process served on OpenC3, Inc. or the site; (b) protect and defend the rights or property of OpenC3, Inc. and its family of websites and properties; and (c) act in urgent circumstances to protect the personal safety of users of OpenC3, Inc., its websites, or the public. ","version":"Next","tagName":"h2"},{"title":"9. How to opt-out​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#9-how-to-opt-out","content":" We provide users with the opportunity to opt-out from receiving updates on our products, newsletters and other communications from us. You can opt-out by clicking on the link provided in our electronic mailings or by contacting us at the address at the bottom of this page. ","version":"Next","tagName":"h2"},{"title":"10. Does OpenC3 Inc's privacy policy apply to linked websites?​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#10-does-openc3-incs-privacy-policy-apply-to-linked-websites","content":" Our Privacy Policy applies solely to information collected on our website or through interactions with our company. The Site contains links to web sites of third parties. OpenC3, Inc. is not responsible for the actions of these third parties, including their privacy practices and any content posted on their web sites. We encourage you to review their privacy policies to learn more about what, why and how they collect and use personal information. OpenC3, Inc. adheres to industry recognized standards to secure any personal information in our possession, and to secure it from unauthorized access and tampering. However, as is true with all online actions, it is possible that third parties may unlawfully intercept transmissions of personal information, or other users of the Site may misuse or abuse your personal information that they may collect from the Site. ","version":"Next","tagName":"h2"},{"title":"11. Changes to this policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#11-changes-to-this-policy","content":" If we make changes to our Privacy Policy, we will post these changes here so that you are always aware of what information we collect, how we use it and under what circumstances, if any, we disclose it. If at any point we decide to use your information in a manner different from that stated at the time it was collected, we will notify you by email. ","version":"Next","tagName":"h2"},{"title":"12. Enforcement of policy​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#12-enforcement-of-policy","content":" If for some reason you believe OpenC3, Inc. has not adhered to these principles, please notify us and we will do our best to promptly make corrections. ","version":"Next","tagName":"h2"},{"title":"13. Questions or comments​","type":1,"pageTitle":"OpenC3, Inc. Privacy Policy","url":"/docs/privacy#13-questions-or-comments","content":" If you have questions or comments about this privacy policy, please email us at: support@openc3.com For additional information about how to contact OpenC3, Inc. please visit our help page. Dated: August 11th, 2022 ","version":"Next","tagName":"h2"},{"title":"Bucket Explorer","type":0,"sectionRef":"#","url":"/docs/tools/bucket-explorer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#introduction","content":" Bucket Explorer is a file browser to the COSMOS backend bucket storage system. It allows you to view files in an intuitive file browser hierarchy and download them. Bucket Explorer works both with local installations of COSMOS as well as cloud deployments which utilize cloud storage such as AWS S3 and GCP Cloud Storage. ","version":"Next","tagName":"h2"},{"title":"Browsing Files​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#browsing-files","content":" At the top are the three standard COSMOS buckets: config, logs, and tools. Each bucket contains top level folders named after the scope. In the Open Source edition the only scope is DEFAULT. The config bucket holds the COSMOS configuration which is populated as plugins are installed. The logs bucket holds the COSMOS logs which are generated by the various COSMOS microservices (See Logging for more info). These logs are gzipped to save storage space. The tools bucket holds the source code for the built-in COSMOS tools as well as user created tools installed as plugins. Note that the search box only searches the current screen worth of files, e.g. it does not search the entire bucket. Tools as Static Website Using bucket storage allows COSMOS to directly serve the tools as a static website and thus it must be a public bucket in cloud technology like S3 ","version":"Next","tagName":"h2"},{"title":"Upload​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#upload","content":" Click the Upload icon to bring up a file browser to select a file to upload into the current bucket and path. Note that in COSMOS Enterprise you can only upload files to the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Download​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#download","content":" Click the Download icon to download any of the individual files from any bucket and path. ","version":"Next","tagName":"h3"},{"title":"Delete​","type":1,"pageTitle":"Bucket Explorer","url":"/docs/tools/bucket-explorer#delete","content":" Click the Trash icon to delete an individual file. Note that in COSMOS Enterprise you can only delete files in the config/DEFAULT/targets_modified folder unless you're an Admin. ","version":"Next","tagName":"h3"},{"title":"Command History (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/command_history","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#introduction","content":" Command History provides the ability to see all the commands sent in COSMOS. Commands are listed in time execution order and include who sent the command and whether they were successful (if validated). ","version":"Next","tagName":"h2"},{"title":"Selecting Time​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#selecting-time","content":" By default, Command History displays the last hour of commands and then continues streaming commands as they are sent. You can select a different time range using the start date / time and end date / time choosers. ","version":"Next","tagName":"h3"},{"title":"Commands Table​","type":1,"pageTitle":"Command History (Enterprise)","url":"/docs/tools/command_history#commands-table","content":" The commands table is sorted by Time and list the User (or process), the Command, the Result and an optional Description. As shown above, the User can be an actual user in the system (admin, operator) or a background process (DEFAULT__MULTI__INST, DEFAULT__DECOM__INST2). The Result field is the result of executing Command Validators established by the VALIDATOR keyword. Command Validators are either a Ruby or Python class which is used to validate the command success or failure with both a pre_check and post_check method. Usually when a command fails, a description is given as in the example above. For more information read the VALIDATOR documentation and also see the Ruby Example and the Python Example in the COSMOS Demo. ","version":"Next","tagName":"h2"},{"title":"Calendar (Enterprise)","type":0,"sectionRef":"#","url":"/docs/tools/calendar","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#introduction","content":" Calendar visualizes metadata, notes, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times. ","version":"Next","tagName":"h2"},{"title":"Adding Timelines​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#adding-timelines","content":" Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary. ","version":"Next","tagName":"h3"},{"title":"Types of Events​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#types-of-events","content":" ","version":"Next","tagName":"h2"},{"title":"Metadata​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#metadata","content":" Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including operators, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data. You can create a new metadata item from either the Create menu or by right-clicking on the calendar in the given time slot you want the metadata item to appear. Note that metadata entries only have a start time, they do not have an end time. You then add key / value pairs for all the metadata items you want to create. ","version":"Next","tagName":"h3"},{"title":"Note​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#note","content":" Notes require both a start and end time. You then record the note to create the note event on the calendar. ","version":"Next","tagName":"h3"},{"title":"Activity​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#activity","content":" Scheduled on a timeline, activities take both a start and end time. Activities can run single commands, run a script, or simply "Reserve" space on the calendar for reference or other bookkeeping. When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (✓). Reserve activities simply have a blank green circle. Calendar events can also be viewed in a list format via File->Show Table Display which supports pagination for listing both past and future events. ","version":"Next","tagName":"h3"},{"title":"Timeline Implementation Details​","type":1,"pageTitle":"Calendar (Enterprise)","url":"/docs/tools/calendar#timeline-implementation-details","content":" When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue. The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync. The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database. The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database. ","version":"Next","tagName":"h2"},{"title":"Handbooks","type":0,"sectionRef":"#","url":"/docs/tools/handbooks","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Handbooks","url":"/docs/tools/handbooks#introduction","content":" Handbooks formats the COSMOS command and telemetry definitions into a nicely formatted webpage that can be exported to a PDF. You can select the targets you want to display and the number of columns to display on the page. You can then use the browser to Print the page. Most browsers have the capability to Save as PDF rather than print to save the resulting page as PDF. ","version":"Next","tagName":"h2"},{"title":"Data Viewer","type":0,"sectionRef":"#","url":"/docs/tools/data-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#introduction","content":" Data Viewer allows you to view packet data or individual item data in both the past and in real time. ","version":"Next","tagName":"h2"},{"title":"Data Viewer Menus​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#data-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#file-menu-items","content":" Opens a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Adding Components​","type":1,"pageTitle":"Data Viewer","url":"/docs/tools/data-viewer#adding-components","content":" DataViewer displays data in a component. To add a new component to the interface click the plus icon. This brings up the Add Component dialog. First you select the component you want to use to visual the data. Next you add packets which will populate the component. Finally click Create to see the DataViewer component visualization. To adjust the settings of the COSMOS Raw/Decom component click the gear icon to bring up the Display Settings dialog. You can turn on and off various visualizations, increase the number of packets displayed and the history. ","version":"Next","tagName":"h3"},{"title":"Command Sender","type":0,"sectionRef":"#","url":"/docs/tools/cmd-sender","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#introduction","content":" Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter. Related telemetry or screens are displayed in the bottom right next to the command history. ","version":"Next","tagName":"h2"},{"title":"Command Sender Menus​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#command-sender-menus","content":" ","version":"Next","tagName":"h2"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#mode-menu-items","content":" Ignores parameter range checkingDisplays parameter state values in hexShows ignored parametersDisables all parameter conversions ","version":"Next","tagName":"h3"},{"title":"Sending Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#sending-commands","content":" Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters. Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History. You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example). ","version":"Next","tagName":"h2"},{"title":"Hazardous Commands​","type":1,"pageTitle":"Command Sender","url":"/docs/tools/cmd-sender#hazardous-commands","content":" Sending hazardous commands will prompt the user whether to send the command. Commands can also have hazardous states (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions. Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked required. ","version":"Next","tagName":"h3"},{"title":"Limits Monitor","type":0,"sectionRef":"#","url":"/docs/tools/limits-monitor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#introduction","content":" The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched. ","version":"Next","tagName":"h2"},{"title":"Limits Monitor Menus​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-monitor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#file-menu-items","content":" Show the list of ignored itemsChange the overall COSMOS limits setOpens a saved configurationSave the current configuration (ignored items)Reset the configuration (defaults settings) Show Ignored​ This dialog displays all the items which the user has manually ignored by clicking the ignore icons next to out of limits items. Note that entire Packets which have been ignored are listed as TARGET PACKET without an item (as shown by INST MECH). Ignored items are removed by clicking the Trash icon. This means that the next time this item goes out of limits it will be displayed. Change Limits Set​ Limits sets are defined with the LIMITS keyword on telemetry items. Each item must have at least a DEFAULT limits set but can also have other named limit sets. COSMOS only has a single limits set active at one time. This dialog allows the user to change the active limits set and apply new limit values across all of COSMOS. Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Limits Items​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-items","content":" The main interface of Limits Monitor is the top where items are displayed when they violate a yellow or red limit. Items with limits values are displayed using a red yellow green limits bar displaying where the current value lies within the defined limits (as shown by the various TEMP items). Items with yellow or red states are simply displayed with their state color (as shown by GROUND1STATUS). The COSMOS Demo contains both INST HEALTH_STATUS TEMP2 and INST2 HEALTH_STATUS TEMP2 which are identically named items within different target packets. Limits Monitor only displays the item name to save space, however if you mouse over the value box the full target and packet name is displayed. Clicking the first nested 'X' icon ignores the entire packet where the item resides. Any additional items in that packet which go out of limits are also ignored by Limits Monitor. Clicking the second (middle) 'X' ignores ONLY that specific item. If any packets or items are ignored the Overall Limits State is updated to indicate "(Some items ignored)" to indicate the Limits State is potentially being affected by ignored items. Clicking the last icon (eye with strike-through) temporarily hides the specified item. This is different from ignoring an item because if this item goes out of limits it will be again be displayed. Hiding an item is useful if the item has gone back to green and you want to continue to track it but want to clean up the current list of items. For example, we might hide the GROUND1STATUS items in the above example as they have transitioned back to green. ","version":"Next","tagName":"h2"},{"title":"Limits Log​","type":1,"pageTitle":"Limits Monitor","url":"/docs/tools/limits-monitor#limits-log","content":" The Log section lists all limits events. Events can be filtered by using the Search box as shown. ","version":"Next","tagName":"h2"},{"title":"Data Extractor","type":0,"sectionRef":"#","url":"/docs/tools/data-extractor","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#introduction","content":" Data Extractor extracts command and telemetry items into comma or tab separated files. Individual items or entire packets can be processed over any time period. Data Extractor also has a number of options to control the output for post processing in Excel or Matlab, for example. ","version":"Next","tagName":"h2"},{"title":"Data Extractor Menus​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#data-extractor-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#file-menu-items","content":" Opens a saved configurationSave the current configuration (item list)Reset the configuration (default settings)Delimit output with commasDelimit output with tabs Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Mode Menu Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#mode-menu-items","content":" Fill empty cells with the previous valueAdd a Matlab comment ('%') to the headerOnly output changed valuesOnly list item name as column headerList full Target Packet Item as header ","version":"Next","tagName":"h3"},{"title":"Selecting Items for Output​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#selecting-items-for-output","content":" ","version":"Next","tagName":"h2"},{"title":"Start/End Date/Time​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#startend-datetime","content":" Data Extractor provides text fields where you specify the time range to extract items. Clicking the Start Date and End Date text fields opens a Date Chooser dialog. Note you can also manually type in the date. Clicking the Start Time and End Time icon opens up a Time Chooser dialog. Note you can also manually type in the time. ","version":"Next","tagName":"h3"},{"title":"Adding Target(s) Packet(s) Item(s)​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#adding-targets-packets-items","content":" Data Extractor provides Target, Packet, Item drop downs to select the items you want to export. When you select a Target the Packet drop down defaults to [All] which sets the button to "Add Target". This would add EVERY item defined in EVERY packet in the target. Note: This can be a LOT of telemetry points but any added point can be removed. When you select a Packet the Item drop down defaults to [All] which sets the button to "Add Packet". This would add EVERY item defined in the specified packet. Note: This can be a LOT of telemetry points but any added point can be removed. When you select an individual Item the button changes to "Add Item" and the Description field updates with the item's description. ","version":"Next","tagName":"h3"},{"title":"Removing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#removing-items","content":" Once you've added items the Items table will have a list of items. Items can be removed by clicking the Trash icon next to the item. ALL items can be removed by clicking the Trash icon in the header. ","version":"Next","tagName":"h3"},{"title":"Editing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#editing-items","content":" Items can be edited by clicking the Pencil icon next to the item. ALL items can be edited by clicking the pencil icon in the header. Clicking the Edit All brings up the Edit All Items dialog. This allows you to change the data type of all items in the list. Clicking the pencil next to an individual item brings up a similar dialog to edit the individual item. ","version":"Next","tagName":"h3"},{"title":"Processing Items​","type":1,"pageTitle":"Data Extractor","url":"/docs/tools/data-extractor#processing-items","content":" Clicking the Process button starts the processing of the items list. A progress wheel is shown on the left side of the table and the Process button changes to Cancel to allow canceling the process. When the processing is complete, the browser shows a file download link. Note this varies by browser. This example is from Chrome. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer","type":0,"sectionRef":"#","url":"/docs/tools/packet-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#introduction","content":" Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information. ","version":"Next","tagName":"h2"},{"title":"Packet Viewer Menus​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#packet-viewer-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#file-menu-items","content":" Change the refresh and stale intervalOpens a saved configurationSave the current configuration (view settings)Reset the configuration (default settings) ","version":"Next","tagName":"h3"},{"title":"View Menu Items​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#view-menu-items","content":" Shows ignored itemsDisplay derived items lastDisplay formatted items with unitsDisplay formatted itemsDisplay converted itemsDisplay raw items ","version":"Next","tagName":"h3"},{"title":"Selecting Packets​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#selecting-packets","content":" Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box. ","version":"Next","tagName":"h2"},{"title":"Details​","type":1,"pageTitle":"Packet Viewer","url":"/docs/tools/packet-viewer#details","content":" Right-clicking an item and selecting Details will open the details dialog. This dialog lists everything defined on the telemetry item. ","version":"Next","tagName":"h3"},{"title":"Table Manager","type":0,"sectionRef":"#","url":"/docs/tools/table-manager","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#introduction","content":" Table Manager is a binary file editor. It takes binary file definitions similar to the COSMOS command packet definitions and builds a GUI to edit the fields in the binary file. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-menu-items","content":" Create a new binary based on definitionOpen an existing binarySave the current binaryRename the current binaryDelete the current binary ","version":"Next","tagName":"h3"},{"title":"File Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#file-download","content":" The three buttons next to File Download download the binary file, the definition file, and the report file. The binary is the raw bits defined by the table. The definition is the structure definition of those raw bits. The report file is a Table Manager generated CSV that shows all the table values in the binary. ","version":"Next","tagName":"h2"},{"title":"Upload / Download​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#upload--download","content":" Table Manager has the ability to directly call a COSMOS script to upload a binary file to a target or download a file into Table Manager. If a file called upload.rb is found in the Target's procedures directory then the Upload button becomes active. If a file called download.rb is found in the Target's procedures directory then the Download button becomes active. The B/G button indicates whether to run the upload / download scripts in the background. If you uncheck this box a new Script Runner window will show the line by line execution of the script. ","version":"Next","tagName":"h2"},{"title":"upload.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#uploadrb","content":" The COSMOS demo creates the following upload.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file and the script uses get_target_file to get access to the file. At this point the logic to upload the file to the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file puts "file:#{ENV['TBL_FILENAME']}" # Open the file file = get_target_file(ENV['TBL_FILENAME']) buffer = file.read # puts buffer.formatted # Implement custom commanding logic to upload the table # Note that buffer is a Ruby string of bytes # You probably want to do something like: # buf_size = 512 # Size of a buffer in the upload command # i = 0 # while i < buffer.length # # Send a part of the buffer # # NOTE: triple dots means start index, up to but not including, end index # # while double dots means start index, up to AND including, end index # cmd("TGT", "UPLOAD", "DATA" => buffer[i...(i + buf_size)]) # i += buf_size # end file.delete ","version":"Next","tagName":"h3"},{"title":"download.rb​","type":1,"pageTitle":"Table Manager","url":"/docs/tools/table-manager#downloadrb","content":" The COSMOS demo creates the following download.rb script. Note that the ENV['TBL_FILENAME'] is set to the name of the table file to OVERWRITE and the script uses put_target_file to get access to the file. At this point the logic to download the file from the target is specific to the commanding defined by the target but an example script is given. # TBL_FILENAME is set to the name of the table file to overwrite puts "file:#{ENV['TBL_FILENAME']}" # Download the file # Implement custom commanding logic to download the table # You probably want to do something like: buffer = '' # i = 1 # num_segments = 5 # calculate based on TBL_FILENAME # table_id = 1 # calculate based on TBL_FILENAME # while i < num_segments # # Request a part of the table buffer # cmd("TGT DUMP with TABLE_ID #{table_id}, SEGMENT #{i}") # buffer += tlm("TGT DUMP_PKT DATA") # i += 1 # end put_target_file(ENV['TBL_FILENAME'], buffer) ","version":"Next","tagName":"h3"},{"title":"Telemetry Viewer","type":0,"sectionRef":"#","url":"/docs/tools/tlm-viewer","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#introduction","content":" Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets. ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#file-menu-items","content":" Open a saved configurationSave the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Selecting Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#selecting-screens","content":" Selecting a target from the Select Target drop down automatically updates the available screens for that target in the Select Screen drop down. Clicking Show Screen causes that screen to display. ","version":"Next","tagName":"h2"},{"title":"New Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#new-screen","content":" Clicking New Screen brings up the new screen dialog. Screens are owned by Targets so Select Target chooses where the screen will be created. Screens can be based on a Packet such that all the items in that particular packet will be generated in a simple vertical screen similar to Packet Viewer. This is a good starting point for customizing a screen. Note that screen names must be unique so the screen name is set to 'adcs2' since an 'ADCS' screen already exists. ","version":"Next","tagName":"h2"},{"title":"Edit Screen​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#edit-screen","content":" Clicking the pencil icon in the title bar of the screen brings up the edit dialog. The screen source is displayed in an editor with syntax highlighting and auto-completion. You can download the screen source using the download button in the upper right or delete the screen using the trash icon in the upper left. Click Save to save the screen edits at which point Telemetry Viewer will re-render the screen. ","version":"Next","tagName":"h2"},{"title":"Screen Window Management​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#screen-window-management","content":" All screens can be moved around the browser window by clicking their title bar and moving them. Other screens will move around intelligently to fill the space. This allows you to order the screens no matter which order they were created in. You can also float the screens by clicking the grid icon in the upper left of the title bar. It will change to a balloon icon and allow you to click up and down to change the relative Z index of the window. The image screen is floated in the following screen shot. The dash button in the upper right of the title bar minimizes the screen to effectively hide it. This allows you to focus on a single screen without closing existing screens. In the screen shot below there are two minimized windows at the very bottom. The X button closes the screen. ","version":"Next","tagName":"h2"},{"title":"Building Screens​","type":1,"pageTitle":"Telemetry Viewer","url":"/docs/tools/tlm-viewer#building-screens","content":" For documentation on how to build Telemetry Screens and how to configure the screen widgets please see the Telemetry Screens. ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server","type":0,"sectionRef":"#","url":"/docs/tools/cmd-tlm-server","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#introduction","content":" The Command and Telemetry Server application provides status about the interfaces and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view both raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages. ","version":"Next","tagName":"h2"},{"title":"Command and Telemetry Server Menus​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-and-telemetry-server-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#file-menu-items","content":" The Command and Telemetry Server has one menu under File -> Options: This dialog changes the refresh rate of the Command and Telemetry Server to reduce load on both your browser window and the backend server. Note that this changes the refresh rate of the various tabs in the application. The Log Messages will continue to update as messages are generated. ","version":"Next","tagName":"h3"},{"title":"Interfaces Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#interfaces-tab","content":" The Interfaces tab displays all the interfaces defined by your COSMOS installation. You can Connect or Disconnect interfaces and view raw byte and packet counts. ","version":"Next","tagName":"h2"},{"title":"Targets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#targets-tab","content":" The Targets tab displays all the targets and their mapped interfaces along with the Command Authority status (Enterprise Only). Command Authority is enabled in the Admin Console and is enabled scope wide. Once Command Authority is enabled, individual users can give and take Command Authority which enables exclusive command and script access to that target. Without Command Authority, users can not send a command or start a script under that target. Note, commands or scripts scheduled with Calendar or Autonomic are not affected by Command Authority. The other option shown in the Scope List is the Critical Command Mode. Critical commanding requires a different user to approve each command. It can either be enabled on just HAZARDOUS and RESTRICTED commands or on all manual commanding. Here is an example of sending a HAZARDOUS command in Command Sender when Critical Command Mode is set to NORMAL. ","version":"Next","tagName":"h2"},{"title":"Command Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#command-packets-tab","content":" The Command Packets tab displays all the available commands. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of commands. The search bar searches all pages for a command. Clicking on View Raw opens a dialog displaying the raw bytes for that command. Clicking View in Command Sender opens up a new Command Sender window with the specified command. ","version":"Next","tagName":"h2"},{"title":"Telemetry Packets Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#telemetry-packets-tab","content":" The Telemetry Packets tab displays all the available telemetry. The table can be sorted by clicking on the column headers. The table is paginated to support thousands of telemetry packets. The search bar searches all pages for a telemetry packet. Clicking on View Raw opens a dialog displaying the raw bytes for that telemetry packet. Clicking View in Packet Viewer opens up a new Packet Viewer window with the specified telemetry packet. ","version":"Next","tagName":"h2"},{"title":"Status Tab​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#status-tab","content":" The Status tab displays COSMOS system metrics. ","version":"Next","tagName":"h2"},{"title":"Log Messages​","type":1,"pageTitle":"Command and Telemetry Server","url":"/docs/tools/cmd-tlm-server#log-messages","content":" The Log Messages table sits below all the tabs in the Command and Telemetry Server application. It displays server messages such as limits events (new RED, YELLOW, GREEN values), logging events (new files) and interface events (connecting and disconnecting). It can be filtered by severity or by entering values in the Search box. It can also be paused and resumed to inspect an individual message. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher","type":0,"sectionRef":"#","url":"/docs/tools/tlm-grapher","content":"","keywords":"","version":"Next"},{"title":"Introductions​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#introductions","content":" Telemetry Grapher is a graphing application that allows for one or more telemetry points per graph. It supports multiple graphs per screen which can be resized and reordered. Multiple configurations can be saved and restored for different situations. ","version":"Next","tagName":"h2"},{"title":"Telemetry Grapher Menus​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#telemetry-grapher-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#file-menu-items","content":" Open a saved configuration (graphs and items)Save the current configurationReset the configuration (default settings) Open Configuration​ The Open Configuration dialog displays a list of all saved configurations. You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name. Save Configuration​ The Save Configuration dialog also displays a list of all saved configurations. You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name. ","version":"Next","tagName":"h3"},{"title":"Graph Menu Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-menu-items","content":" Add a new graphStart / Resume graphingPause graphStop graphEdit grapher settings Editing the grapher settings brings up a dialog to change settings affecting every graph in the Telemetry Grapher tool. Changing the Seconds Graphed changes the visible windows displaying graph points. The smaller of Seconds Graphed and Points Graphed will be used when calculating the number of points to display. Changing the Points Saved will affect performance of the browser window if set too high. The default of 1,000,000 points can store over 11.5 days of 1Hz data points. Editing an individual graph by clicking the pencil icon in title bar of the graph brings up the edit graph dialog. Editing the Start Date and Start Time will re-query the data to begin at the specified time. This operation can take several seconds depending on how far back data is requested. Similarly, specifying the End Date and End Time will limit the data request to the specified time. Leaving the End Date / End Time fields blank will cause Telemetry Grapher to continue to graph items in real-time as they arrive. Changing the Min Y and Max Y values simply sets the graph scale. Deleting the Min Y and Max Y values allows the graph to scale automatically as values arrive. Compare the following graph with the minimum set to 0 and the maximum set to 100 with the first graph image (auto-scale). ","version":"Next","tagName":"h3"},{"title":"Selecting Items​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#selecting-items","content":" Selecting a target from the Select Target drop down automatically updates the available packets in the Select Packet drop down which updates the available items in the Select Item drop down. Clicking Add Item adds the item to the graph which immediately begins graphing. As time passes, the main graph fills up and starts scrolling while the overview graph at the bottom shows the entire history. Selecting a new item and adding it to the graph automatically fills the graph with history until the beginning of the first item. This allows you to add items to the graph incrementally and maintain full history. ","version":"Next","tagName":"h2"},{"title":"Graph Window Management​","type":1,"pageTitle":"Telemetry Grapher","url":"/docs/tools/tlm-grapher#graph-window-management","content":" All graphs can be moved around the browser window by clicking their title bar and moving them. Other graphs will move around intelligently to fill the space. This allows you order the graphs no matter which order they were created in. Each graph has a set of window buttons in the upper right corner. The first shrinks or grows the graph both horizontally and vertically to allow for 4 graphs in the same browser tab. Note that half height graphs no longer show the overview graph. The second button shrinks or grows the graph horizontally so it will either be half or full width of the browser window. This allows for two full width graphs on top of each other. The second button shrinks or grows the graph vertically so it will either be half or full height of the browser window. This allows for two full height graphs side by side. The line button minimizes the graph to effectively hide it. This allows you to focus on a single graph without losing existing graphs. The final X button closes the graph. ","version":"Next","tagName":"h2"},{"title":"Script Runner","type":0,"sectionRef":"#","url":"/docs/tools/script-runner","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#introduction","content":" Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individual scripts, groups of scripts, or entire suites. ","version":"Next","tagName":"h2"},{"title":"Script Runner Menus​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-runner-menus","content":" ","version":"Next","tagName":"h2"},{"title":"File Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#file-menu-items","content":" Clears the editor and filenameCreates a new test suite in Ruby or PythonOpens a dialog to select a file to openOpens a recently used fileSaves the currently opened file to diskRename the current fileDownloads the current file to the browserDeletes the current file (Permanently!) File Open​ The File Open Dialog displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results. File Save As​ When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted before over-writing an existing file. ","version":"Next","tagName":"h3"},{"title":"Script Menu Items​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-menu-items","content":" Display started and finished scriptsShow environment variablesShow defined metadataShow overridden telemetry valuesPerform a syntax checkPerform a script mnemonic checkView the instrumented scriptShows the script call stackDisplay the debug promptDisconnect from real interfacesDelete all script breakpoints The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log. ","version":"Next","tagName":"h3"},{"title":"Running Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-scripts","content":" Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script. Once you click Start the script is spawned in the Server and the Script State becomes Connecting. At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried. This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution. ","version":"Next","tagName":"h2"},{"title":"Right Click Script​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#right-click-script","content":" Right clicking a script brings up several options: 'Execute selection' causes the selected piece of code to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to run a selected section of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Run from here' causes everything from the current location of the cursor to be copied to a fresh Script Runner tab and executed independently of the current script. This is useful to avoid executing earlier pieces of code but be careful of references to other variables that are not selected. COSMOS will not be able to reference undefined variables! 'Clear all breakpoints' allows you to quickly clear breakpoints set by clicking on the editor line number. ","version":"Next","tagName":"h3"},{"title":"Running Script Suites​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#running-script-suites","content":" If a script is structured as a Suite it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus. To generate a new Suite use the File -> New Suite and then choose either Ruby or Python to create a Suite in that language. ","version":"Next","tagName":"h2"},{"title":"Group​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#group","content":" The Group class contains the methods used to run the test or operations. Any methods starting with 'script', 'op', or 'test' which are implemented inside a Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_power_on' is in the Script drop down menu. Here's another simple Ruby example: require 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def setup puts "setup" end def script_1 puts "script 1" end def teardown puts "teardown" end end Equivalent Python example: from openc3.script.suite import Suite, Group class ExampleGroup(Group): def setup(self): print("setup") def script_1(self): print("script 1") def teardown(self): print("teardown") The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method. ","version":"Next","tagName":"h3"},{"title":"Suite​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#suite","content":" Groups are added to Suites by creating a class inheriting from Suite and then calling the add_group method. For example in Ruby: class MySuite < OpenC3::Suite def initialize add_group('ExampleGroup') end def setup puts "Suite setup" end def teardown puts "Suite teardown" end end In Python: from openc3.script.suite import Suite, Group class MySuite(Suite): def __init__(self): self.add_group(ExampleGroup) def setup(self): print("Suite setup") def teardown(self): print("Suite teardown") Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu. Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script. ","version":"Next","tagName":"h3"},{"title":"Script Suite Options​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#script-suite-options","content":" Opening a Script Suite creates six checkboxes which provide options to the running script. Pause on Error​ Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error. Continue after Error​ Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group. Abort after Error​ Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution. Note, if Continue after Error is set, the current script is allowed to continue and complete. Manual​ In Ruby, sets the global variable called $manual to true. In Python, sets RunningScript.manual to True. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use the variable in their scripts. Loop​ Loop whatever the user started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen. Break Loop on Error​ Break the loop if an Error occurs. Only available if the Loop option is set. ","version":"Next","tagName":"h3"},{"title":"Debugging Scripts​","type":1,"pageTitle":"Script Runner","url":"/docs/tools/script-runner#debugging-scripts","content":" When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing var = 10. The Step button allows you to step line by line through the script. Clicking Go continues regular execution. ","version":"Next","tagName":"h2"},{"title":"Script Writing Guide","type":0,"sectionRef":"#","url":"/docs/guides/script-writing","content":"","keywords":"","version":"Next"},{"title":"Introduction​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#introduction","content":" This guide aims to provide the best practices for using the scripting capabilities provided by COSMOS. Scripts are used to automate a series of activities for operations or testing. The goal of this document is to ensure scripts are written that are simple, easy to understand, maintainable, and correct. Guidance on some of the key details of using the COSMOS Script Runner is also provided. ","version":"Next","tagName":"h2"},{"title":"Concepts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#concepts","content":" COSMOS supports both Ruby and Python for writing scripts. Ruby and Python are very similar scripting languages and most of this guide applies directly to both. Where examples are used, both a Ruby and Python example are given. ","version":"Next","tagName":"h2"},{"title":"Ruby vs Python in COSMOS​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#ruby-vs-python-in-cosmos","content":" There are many similarities and a few key differences between Ruby and Python when it comes to writing COSMOS scripts. There is no 80 character limit on line length. Lines can be as long as you like, but be careful to not make them too long as it makes printed reviews of scripts more difficult.Indentation white space: Ruby: Not significant. Ruby uses the end keyword to determine indented code blocks with a standard of 2 spaces.Python: Significant. Python uses indentation to determine code blocks with a standard of 4 spaces. Variables do not have to be declared ahead of time and can be reassigned later, i.e. Ruby and Python are dynamically typed.Variable interpolation: Ruby: Variable values can be placed into strings using the "#{variable}" syntax.Python: Variable values can be placed into f-strings using the f"{variable}" syntax. A variable declared inside of a block or loop will not exist outside of that block unless it was already declared. Both languages provides a script writer a lot of power. But with great power comes great responsibility. Remember when writing your scripts that you or someone else will come along later and need to understand them. Therefore use the following style guidelines: Use consistent spacing for indentation and do NOT use tabsConstants should be all caps with underscores SPEED_OF_LIGHT = 299792458 # meters per s Variable names and method names should be in lowercase with underscores last_name = "Smith"perform_setup_operation() Class names (when used) should be camel case and the files which contain them should match but be lowercase with underscores class DataUploader # in 'data_uploader.rb'class CcsdsUtility: # in 'ccsds_utility.py' Don't add useless comments but instead describe intent The following is an example of good Ruby style: load 'TARGET/lib/upload_utility.rb' # library we do NOT want to show executing load_utility 'TARGET/lib/helper_utility.rb' # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target) cmd("#{target} CLEAR") wait_check("#{target} HEALTH_STATUS COLLECTS == 0", 5) end ###################################### # START ###################################### helper = HelperUtility.new helper.setup # Perform collects on all the targets OUR_TARGETS.each do |target| collects = tlm("#{target} HEALTH_STATUS COLLECTS") cmd("#{target} COLLECT with TYPE SPECIAL") wait_check("#{target} HEALTH_STATUS COLLECTS == #{collects + 1}", 5) end clear_collects('INST') clear_collects('INST2') The following is an example of good Python style: from openc3.script import * import TARGET.lib.upload_utility # library we do NOT want to show executing load_utility('TARGET/lib/helper_utility.rb') # library we do want to show executing # Declare constants OUR_TARGETS = ['INST','INST2'] # Clear the collect counter of the passed in target name def clear_collects(target): cmd(f"{target} CLEAR") wait_check(f"{target} HEALTH_STATUS COLLECTS == 0", 5) ###################################### # START ###################################### helper = HelperUtility() helper.setup() # Perform collects on all the targets for target in OUR_TARGETS: collects = tlm(f"{target} HEALTH_STATUS COLLECTS") cmd(f"{target} COLLECT with TYPE SPECIAL") wait_check(f"{target} HEALTH_STATUS COLLECTS == {collects + 1}", 5) clear_collects('INST') clear_collects('INST2') Both examples shows several features of COSMOS scripting in action. Notice the difference between 'load' or 'import' and 'load_utility'. The first is to load additional scripts which will NOT be shown in Script Runner when executing. This is a good place to put code which takes a long time to run such as image analysis or other looping code where you just want the output. 'load_utility' will visually execute the code line by line to show the user what is happening. Next we declare our constants and create an array of strings which we store in OUR_TARGETS. Notice the constant is all uppercase with underscores. Then we declare our local methods of which we have one called clear_collects. Please provide a comment at the beginning of each method describing what it does and the parameters that it takes. The 'helper_utility' is then created. Note the similarity in the class name and the file name we loaded. The collect example shows how you can iterate over the array of strings we previously created and use variables when commanding and checking telemetry. The Ruby pound bracket # notation and python f-string f" notation puts whatever the variable holds into the string. You can even execute additional code inside the brackets like we do when checking for the collect count to increment. Finally we call our 'clear_collects' method on each target by passing the target name. ","version":"Next","tagName":"h3"},{"title":"Scripting Philosophy​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#scripting-philosophy","content":" ","version":"Next","tagName":"h2"},{"title":"A Super Basic Script Example​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#a-super-basic-script-example","content":" Most COSMOS scripts can be broken down into the simple pattern of sending a command to a system/subsystem and then verifying that the command worked as expected. This pattern is most commonly implemented with cmd() followed by wait_check(), like the following: cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS TYPE == 'NORMAL'", 5) or similarly with a counter that is sampled before the command. Ruby: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check("INST HEALTH_STATUS COLLECTS >= #{count + 1}", 5) Python: count = tlm("INST HEALTH_STATUS COLLECTS") cmd("INST COLLECT with TYPE NORMAL, TEMP 10.0") wait_check(f"INST HEALTH_STATUS COLLECTS >= {count + 1}", 5) 90% of the COSMOS scripts you write should be the simple patterns shown above except that you may need to check more than one item after each command to make sure the command worked as expected. ","version":"Next","tagName":"h3"},{"title":"KISS (Keep It Simple Stupid)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#kiss-keep-it-simple-stupid","content":" Ruby and Python are very powerful languages with many ways to accomplish the same thing. Given that, always choose the method that is easiest to understand for yourself and others. While it is possible to create complex one liners or obtuse regular expressions, you'll thank yourself later by expanding complex one liners and breaking up and documenting regular expressions. ","version":"Next","tagName":"h3"},{"title":"Keep things DRY (Don't Repeat Yourself)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#keep-things-dry-dont-repeat-yourself","content":" A widespread problem in scripts written for any command and control system is large blocks of code that are repeated multiple times. In extreme cases, this has led to 100,000+ line scripts that are impossible to maintain and review. There are two common ways repetition presents itself: exact blocks of code to perform a common action such as powering on a subsystem, and blocks of code that only differ in the name of the mnemonic being checked or the values checked against. Both are solved by removing the repetition using methods (or functions). For example, a script that powers on a subsystem and ensures correct telemetry would become: Ruby: def power_on_subsystem # 100 lines of cmd(), wait_check(), etc end Python: def power_on_subsystem(): # 100 lines of cmd(), wait_check(), etc Ideally, the above methods would be stored in another file where it could be used by other scripts. If it is truly only useful in the one script, then it could be at the top of the file. The updated script would then look like: power_on_subsystem() # 150 lines operating the subsystem (e.g.) # cmd(...) # wait_check(...) #... power_off_subystem() # Unrelated activities power_on_subsystem() # etc. Blocks of code where only the only variation is the mnemonics or values checked can be replaced by methods with arguments. Ruby: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp) cmd("TARGET #{enable_cmd_name} with ENABLE TRUE") wait_check("TARGET #{enable_tlm} == 'TRUE'", 5) wait_check("TARGET #{temp_tlm} >= #{expected_temp}", 50) end Python: def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp): cmd(f"TARGET {enable_cmd_name} with ENABLE TRUE") wait_check(f"TARGET {enable_tlm} == 'TRUE'", 5) wait_check(f"TARGET {temp_tlm} >= {expected_temp}", 50) ","version":"Next","tagName":"h3"},{"title":"Use Comments Appropriately​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#use-comments-appropriately","content":" Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line. # This line sends an abort command - BAD COMMENT, UNNECESSARY cmd("INST ABORT") # Rotate the gimbal to look at the calibration target - GOOD COMMENT cmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT ","version":"Next","tagName":"h3"},{"title":"Script Runner​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-runner","content":" COSMOS provides two unique ways to run scripts (also known as procedures). Script Runner provides both a script execution environment and a script editor. The script editor includes code completion for both COSMOS methods and command/telemetry item names. It is also a great environment to develop and test scripts. Script Runner provides a framework for users that are familiar with a traditional scripting model with longer style procedures, and for users that want to be able to edit their scripts in place. When opening a suite file (named with 'suite') Script Runner provides a more formal, but also more powerful, environment for running scripts. Suite files breaks scripts down into suites, groups, and scripts (individual methods). Suites are the highest-level concept and would typically cover a large procedure such as a thermal vacuum test, or a large operations scenario such as performing on orbit checkout. Groups capture a related set of scripts such as all the scripts regarding a specific mechanism. A Group might be a collection of scripts all related to a subsystem, or a specific series of tests such as an RF checkout. Scripts capture individual activities that can either pass or fail. Script Runner allows for running an entire suite, one or more groups, or one or more scripts easily. It also automatically produces reports containing timing, pass / fail counts, etc. The correct environment for the job is up to individual users, and many programs will use both script formats to complete their goals. ","version":"Next","tagName":"h3"},{"title":"Looping vs Unrolled Loops​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#looping-vs-unrolled-loops","content":" Loops are powerful constructs that allow you to perform the same operations multiple times without having to rewrite the same code over and over (See the DRY Concept). However, they can make restarting a COSMOS script at the point of a failure difficult or impossible. If there is a low probability of something failing, then loops are an excellent choice. If a script is running a loop over a list of telemetry points, it may be a better choice to “unroll” the loop by making the loop body into a method, and then calling that method directly for each iteration of a loop that would have occurred. Ruby: 10.times do |temperature_number| check_temperature(temperature_number + 1) end Python: for temperature_number in range(1, 11): check_temperature(temperature_number) If the above script was stopped after temperature number 3, there would be no way to restart the loop at temperature number 4. A better solution for small loop counts is to unroll the loop. check_temperature(1) check_temperature(2) check_temperature(3) check_temperature(4) check_temperature(5) check_temperature(6) check_temperature(7) check_temperature(8) check_temperature(9) check_temperature(10) In the unrolled version above, the COSMOS “Start script at selected line” feature can be used to resume the script at any point. ","version":"Next","tagName":"h3"},{"title":"Script Organization​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#script-organization","content":" All scripts must be part of a Plugin. You can create a simple plugin called SCRIPTS or PROCEDURES that only contains lib and procedures directories to store scripts. If COSMOS detects a plugin without defined cmd/tlm it will not spawn microservices for telemetry processing. ","version":"Next","tagName":"h2"},{"title":"Organizing Your Scripts into a Plugin​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organizing-your-scripts-into-a-plugin","content":" As your scripts become large with many methods, it makes sense to break them up into multiple files within a plugin. Here is a recommended organization for your plugin's scripts/procedures. Folder\tDescriptiontargets/TARGET_NAME/lib\tPlace script files containing reusable target specific methods here targets/TARGET_NAME/procedures\tPlace simple procedures that are centered around one specific target here In your main procedure you will usually bring in the other files with instrumentation using load_utility. # Ruby: load_utility('TARGET/lib/my_other_script.rb') # Python: load_utility('TARGET/procedures/my_other_script.py') ","version":"Next","tagName":"h3"},{"title":"Organize Scripts into Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#organize-scripts-into-methods","content":" Put each activity into a distinct method. Putting your scripts into methods makes organization easy and gives a great high-level overview of what the overall script does (assuming you name the methods well). There are no bonus points for vague, short method names. Make your method names long and clear. Ruby: def test_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end def script_1_heater_zone_control puts "Verifies requirements 304, 306, and 310" # Test code here end Python: def test_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here def script_1_heater_zone_control(): print("Verifies requirements 304, 306, and 310") # Test code here ","version":"Next","tagName":"h3"},{"title":"Using Classes vs Unscoped Methods​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-classes-vs-unscoped-methods","content":" Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class. NOTE: The convention in COSMOS is to have a TARGET/lib/target.[rb/py] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory. Ruby: class Gimbal attr_accessor :gimbal_steps def initialize() @gimbal_steps = 0 end def move(steps_to_move) # Move the gimbal @gimbal_steps += steps_to_move end def home_gimbal # Home the gimbal @gimbal_steps = 0 end end def perform_common_math(x, y) x + y end gimbal = Gimbal.new gimbal.home_gimbal gimbal.move(100) gimbal.move(200) puts "Moved gimbal #{gimbal.gimbal_steps}" result = perform_common_math(gimbal.gimbal_steps, 10) puts "Math:#{result}" Python: class Gimbal: def __init__(self): self.gimbal_steps = 0 def move(self, steps_to_move): # Move the gimbal self.gimbal_steps += steps_to_move def home_gimbal(self): # Home the gimbal self.gimbal_steps = 0 def perform_common_math(x, y): return x + y gimbal = Gimbal() gimbal.home_gimbal() gimbal.move(100) gimbal.move(200) print(f"Moved gimbal {gimbal.gimbal_steps}") result = perform_common_math(gimbal.gimbal_steps, 10) print(f"Math:{result}") ","version":"Next","tagName":"h3"},{"title":"Instrumented vs Uninstrumented Lines (require vs load)​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#instrumented-vs-uninstrumented-lines-require-vs-load","content":" COSMOS scripts are normally “instrumented”. This means that each line has some extra code added behind the scenes that primarily highlights the current executing line and catches exceptions if things fail such as a wait_check. If your script needs to use code in other files, there are a few ways to bring in that code. Some techniques bring in instrumented code and others bring in uninstrumented code. There are reasons to use both. load_utility (and the deprecated require_utility), bring in instrumented code from other files. When COSMOS runs the code in the other file, Script Runner will dive into the other file and show each line highlighted as it executes. This should be the default way to bring in other files, as it allows continuing if something fails, and provides better visibility to operators. However, sometimes you don't want to display code executing from other files. Externally developed libraries generally do not like to be instrumented, and code that contains large loops or that just takes a long time to execute when highlighting lines, will be much faster if included in a method that does not instrument lines. Ruby provides two ways to bring in uninstrumented code. The first is the “load” keyword. Load will bring in the code from another file and will bring in any changes to the file if it is updated on the next call to load. “require” is like load but is optimized to only bring in the code from another file once. Therefore, if you use require and then change the file it requires, you must restart Script Runner to re-require the file and bring in the changes. In general, load is recommended over require for COSMOS scripting. One gotcha with load is that it requires the full filename including extension, while the require keyword does not. In Python, libraries are included using the import syntax. Any code imported using import is not instrumented. Only the code imported using load_utility is instrumented. Finally, COSMOS scripting has a special syntax for disabling instrumentation in the middle of an instrumented script, with the disable_instrumentation method. This allows you to disable instrumentation for large loops and other activities that are too slow when running instrumented. Ruby: temp = 0 disable_instrumentation do # Make sure nothing in here will raise exceptions! 5000000.times do temp += 1 end end puts temp Python: temp = 0 with disable_instrumentation(): # Make sure nothing in here will raise exceptions! for x in range(0,5000000): temp += 1 print(temp) When Running Uninstrumented Code Make sure that the code will not raise any exceptions or have any check failures. If an exception is raised from uninstrumented code, then your entire script will stop. ","version":"Next","tagName":"h3"},{"title":"Debugging and Auditing​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#debugging-and-auditing","content":" ","version":"Next","tagName":"h2"},{"title":"Built-In Debugging Capabilities​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#built-in-debugging-capabilities","content":" Script Runner has built in debugging capabilities that can be useful in determining why your script is behaving in a certain way. Of primary importance is the ability to inspect and set script variables. To use the debugging functionality, first select the “Toggle Debug” option from the Script Menu. This will add a small Debug: prompt to the bottom of the tool. Any code entered in this prompt will be executed when Enter is pressed. To inspect variables in a running script, pause the script and then type the variable name to print out the value of the variable in the debug prompt. variable_name Variables can also be set simply by using equals. variable_name = 5 If necessary, you can also inject commands from the debug prompt using the normal commanding methods. These commands will be logged to the Script Runner message log, which may be advantageous over using a different COSMOS tool like CmdSender (where the command would only be logged in the CmdTlmServer message log). cmd("INST COLLECT with TYPE NORMAL") Note that the debug prompt keeps the command history and you can scroll through the history by using the up and down arrows. ","version":"Next","tagName":"h3"},{"title":"Breakpoints​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#breakpoints","content":" You can click the line number (left side gutter) in Script Runner to add a breakpoint. The script will automatically pause when it hits the breakpoint. Once stopped at the breakpoint, you can evaluate variables using the Debug line. ","version":"Next","tagName":"h3"},{"title":"Using Disconnect Mode​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-disconnect-mode","content":" Disconnect mode is a feature of Script Runner that allows testing scripts in an environment without real hardware in the loop. Disconnect mode is started by selecting Script -> Toggle Disconnect. Once selected, the user is prompted to select which targets to disconnect. By default, all targets are disconnected, which allows for testing scripts without any real hardware. Optionally, only a subset of targets can be selected which can be useful for trying out scripts in partially integrated environments. While in disconnect mode, commands to the disconnected targets always succeed. Additionally, all checks of disconnected targets' telemetry are immediately successful. This allows for a quick run-through of procedures for logic errors and other script specific errors without having to worry about the behavior and proper functioning of hardware. ","version":"Next","tagName":"h3"},{"title":"Auditing your Scripts​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#auditing-your-scripts","content":" Script Runner includes several tools to help audit your scripts both before and after execution. Ruby Syntax Check​ The Ruby Syntax Check tool is found under the Script Menu. This tool uses the ruby executable with the -c flag to run a syntax check on your script. If any syntax errors are found the exact message presented by the Ruby interpreter is shown to the user. These can be cryptic, but the most common faults are not closing a quoted string, forgetting an “end” keyword, or using a block but forgetting the proceeding “do” keyword. ","version":"Next","tagName":"h3"},{"title":"Common Scenarios​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-scenarios","content":" ","version":"Next","tagName":"h2"},{"title":"User Input Best Practices​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#user-input-best-practices","content":" COSMOS provides several different methods to gather manual user input in scripts. When using user input methods that allow for arbitrary values (like ask() and ask_string()), it is very important to validate the value given in your script before moving on. When asking for text input, it is extra important to handle different casing possibilities and to ensure that invalid input will either re-prompt the user or take a safe path. Ruby: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y' raise "User entered: #{answer}" end temp = 0.0 while temp < 10.0 or temp > 50.0 temp = ask("Enter the desired temperature between 10.0 and 50.0") end Python: answer = ask_string("Do you want to continue (y/n)?") if answer != 'y' and answer != 'Y': raise RuntimeError(f"User entered: {answer}") temp = 0.0 while temp < 10.0 or temp > 50.0: temp = ask("Enter the desired temperature between 10.0 and 50.0") When possible, always use one of the other user input methods that has a constrained list of choices for your users (message_box, vertical_message_box, combo_box). Note that all these user input methods provide the user the option to “Cancel”. When cancel is clicked, the script is paused but remains at the user input line. When hitting “Go” to the continue, the user will be re-prompted to enter the value. ","version":"Next","tagName":"h3"},{"title":"Conditionally Require Manual User Input Steps​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#conditionally-require-manual-user-input-steps","content":" When possible, a useful design pattern is to write your scripts such that they can run without prompting for any user input. This allows the scripts to be more easily tested and provides a documented default value for any user input choices or values. To implement this pattern, all manual steps such as ask(), prompt(), and infinite wait() statements need to be wrapped with an if statement that checks the value of $manual in Ruby or RunningScript.manual in Python. If the variable is set, then the manual steps should be executed. If not, then a default value should be used. Ruby Example: if $manual temp = ask("Please enter the temperature") else temp = 20.0 end if !$manual puts "Skipping infinite wait in auto mode" else wait end Python Example: if RunningScript.manual: temp = ask("Please enter the temperature") else: temp = 20.0 if not RunningScript.manual: print("Skipping infinite wait in auto mode") else: wait() When running suites, there is a checkbox at the top of the tool called “Manual” that affects this $manual variable directly. ","version":"Next","tagName":"h3"},{"title":"Outputting Extra Information to a Report​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#outputting-extra-information-to-a-report","content":" COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log. Ruby: class MyGroup < OpenC3::Group def script_1 # The following text will be placed in the report OpenC3::Group.puts "Verifies requirements 304, 306, 310" # This puts line will show up in the sr_messages log file puts "script_1 complete" end end Python: from openc3.script.suite import Group class MyGroup(Group): def script_1(): # The following text will be placed in the report Group.print("Verifies requirements 304, 306, 310") # This puts line will show up in the sr_messages log file print("script_1 complete") ","version":"Next","tagName":"h3"},{"title":"Getting the Most Recent Value of a Telemetry Point from Multiple Packets​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#getting-the-most-recent-value-of-a-telemetry-point-from-multiple-packets","content":" Some systems include high rate data points with the same name in every packet. COSMOS supports getting the most recent value of a telemetry point that is in multiple packets using a special packet name of LATEST. Assume the target INST has two packets, PACKET1 and PACKET2. Both packets have a telemetry point called TEMP. # Get the value of TEMP from the most recently received PACKET1 value = tlm("INST PACKET1 TEMP") # Get the value of TEMP from the most recently received PACKET2 value = tlm("INST PACKET2 TEMP") # Get the value of TEMP from the most recently received PACKET1 or PACKET2 value = tlm("INST LATEST TEMP") ","version":"Next","tagName":"h3"},{"title":"Checking Every Single Sample of a Telemetry Point​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#checking-every-single-sample-of-a-telemetry-point","content":" When writing COSMOS scripts, checking the most recent value of a telemetry point normally gets the job done. The tlm(), tlm_raw(), etc methods all retrieve the most recent value of a telemetry point. Sometimes you need to perform analysis on every single sample of a telemetry point. This can be done using the COSMOS packet subscription system. The packet subscription system lets you choose one or more packets and receive them all from a queue. You can then pick out the specific telemetry points you care about from each packet. Ruby: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 1.5 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) Python: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(1.5) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Wait for some time later and reuse the last returned ID id, packets = get_packets(id) ","version":"Next","tagName":"h3"},{"title":"Using Variables in Mnemonics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-variables-in-mnemonics","content":" Because command and telemetry mnemonics are just strings in COSMOS scripts, you can make use of variables in some contexts to make reusable code. For example, a method can take a target name as an input to support multiple instances of a target. You could also pass in the value for a set of numbered telemetry points. Ruby: def example(target_name, temp_number) cmd("#{target_name} COLLECT with TYPE NORMAL") wait_check("#{target_name} TEMP#{temp_number} > 50.0") end Python: def example(target_name, temp_number): cmd(f"{target_name} COLLECT with TYPE NORMAL") wait_check(f"{target_name} TEMP{temp_number} > 50.0") This can also be useful when looping through a numbered set of telemetry points but be considerate of the downsides of looping as discussed in the Looping vs Unrolled Loops section. ","version":"Next","tagName":"h3"},{"title":"Using Custom wait_check_expression​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#using-custom-wait_check_expression","content":" The COSMOS wait_check_expression (and check_expression) allow you to perform more complicated checks and still stop the script with a CHECK error message if something goes wrong. For example, you can check variables against each other or check a telemetry point against a range. The exact string of text passed to wait_check_expression is repeatedly evaluated until it passes, or a timeout occurs. It is important to not use string interpolation within the actual expression or the values inside of the string interpolation syntax will only be evaluated once when it is converted into a string. Ruby: one = 1 two = 2 wait_check_expression("one == two", 1) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10 # init value one = #{one}", 1) Python: one = 1 two = 2 wait_check_expression("one == two", 1, 0.25, locals()) # ERROR: CHECK: one == two is FALSE after waiting 1.017035 seconds # Checking an integer range wait_check_expression("one > 0 and one < 10", 1, 0.25, locals()) ","version":"Next","tagName":"h3"},{"title":"COSMOS Scripting Differences from Regular Ruby Scripting​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#cosmos-scripting-differences-from-regular-ruby-scripting","content":" Do not use single line if statements​ COSMOS scripting instruments each line to catch exceptions if things go wrong. With single line if statements the exception handling doesn't know which part of the statement failed and cannot properly continue. If an exception is raised in a single line if statement, then the entire script will stop and not be able to continue. Do not use single line if statements in COSMOS scripts. (However, they are fine to use in interfaces and other Ruby code, just not COSMOS scripts). Don't do this: run_method() if tlm("INST HEALTH_STATUS TEMP1") > 10.0 Do this instead: # It is best not to execute any code that could fail in an if statement, ie # tlm() could fail if the CmdTlmServer was not running or a mnemonic # was misspelled temp1 = tlm("INST HEALTH_STATUS TEMP1") if temp1 > 10.0 run_method() end ","version":"Next","tagName":"h3"},{"title":"When Things Go Wrong​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-things-go-wrong","content":" ","version":"Next","tagName":"h2"},{"title":"Common Reasons Checks Fail​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#common-reasons-checks-fail","content":" There are three common reasons that checks fail in COSMOS scripts: The delay given was too short The wait_check() method takes a timeout that indicates how long to wait for the referenced telemetry point to pass the check. The timeout needs to be large enough for the system under test to finish its action and for updated telemetry to be received. Note that the script will continue as soon as the check completes successfully. Thus, the only penalty for a longer timeout is the additional wait time in a failure condition. The range or value checked against was incorrect or too stringent Often the actual telemetry value is ok, but the expected value checked against was too tight. Loosen the ranges on checks when it makes sense. Ensure your script is using the wait_check_tolerance() routine when checking floating point numbers and verify you're using an appropriate tolerance value. The check really failed Of course, sometimes there are real failures. See the next section for how to handle them and recover. ","version":"Next","tagName":"h3"},{"title":"How to Recover from Anomalies​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#how-to-recover-from-anomalies","content":" Once something has failed, and your script has stopped with a pink highlighted line, how can you recover? Fortunately, COSMOS provides several mechanisms that can be used to recover after something in your script fails. Retry After a failure, the Script Runner “Pause” button changes to “Retry”. Clicking on the Retry button will re-execute the line the failed. For failures due to timing issues, this will often resolve the issue and allow the script to continue. Make note of the failure and be sure to update your script prior to the next run. Use the Debug Prompt By selecting Script -> Toggle Debug, you can perform arbitrary actions that may be needed to correct the situation without stopping the running script. You can also inspect variables to help determine why something failed. Execute Selection If only a small section of a script needs to be run, then “Execute Selection" can be used to execute only a small portion of the script. This can also be used when a script is paused or stopped in error. Run from here By clicking into a script, and right clicking to select "Run from here", users can restart a script at an arbitrary point. This works well if no required variable definitions exist earlier in the script. ","version":"Next","tagName":"h3"},{"title":"Advanced Topics​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-topics","content":" ","version":"Next","tagName":"h2"},{"title":"Advanced Script Configuration with CSV or Excel​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#advanced-script-configuration-with-csv-or-excel","content":" Using a spreadsheet to store the values for use by a script can be a great option if you have a CM-controlled script but need to be able to tweak some values for a test or if you need to use different values for different serial numbers. The Ruby CSV class be used to easily read data from CSV files (recommended for cross platform projects). require 'csv' values = CSV.read('test.csv') puts values[0][0] If you are only using Windows, COSMOS also contains a library for reading Excel files. require 'openc3/win32/excel' ss = ExcelSpreadsheet.new('C:/git/cosmos/test.xlsx') puts ss[0][0][0] ","version":"Next","tagName":"h3"},{"title":"When to use Ruby Modules​","type":1,"pageTitle":"Script Writing Guide","url":"/docs/guides/script-writing#when-to-use-ruby-modules","content":" Modules in Ruby have two purposes: namespacing and mixins. Namespacing allows having classes and methods with the same name, but with different meanings. For example, if they are namespaced, COSMOS can have a Packet class and another Ruby library can have a Packet class. This isn't typically useful for COSMOS scripting though. Mixins allow adding common methods to classes without using inheritance. Mixins can be useful to add common functionality to some classes but not others, or to break up classes into multiple files. module MyModule def module_method end end class MyTest < OpenC3::Group include MyModule def test_1 module_method() end end ","version":"Next","tagName":"h3"},{"title":"Screens","type":0,"sectionRef":"#","url":"/docs/configuration/telemetry-screens","content":"","keywords":"","version":"Next"},{"title":"Definitions​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#definitions","content":" Name\tDefinitionWidget\tA widget is a graphical element on a COSMOS telemetry screen. It could display text, graph data, provide a button, or perform any other display/user input task. Screen\tA screen is a single window that contains any number of widgets which are organized and layed-out in a useful fashion. Screen Definition File\tA screen definition file is an ASCII file that tells Telemetry Viewer how to draw a screen. It is made up of a series of keyword/parameter lines that define the telemetry points that are displayed on the screen and how to display them. ","version":"Next","tagName":"h2"},{"title":"Telemetry Screen Definition Files​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-screen-definition-files","content":" Telemetry screen definition files define the the contents of telemetry screens. They take the general form of a SCREEN keyword followed by a series of widget keywords that define the telemetry screen. Screen definition files specific to a particular target go in that target's screens directory. For example: TARGET/screens/version.txt. Screen definition files must be lowercase. ","version":"Next","tagName":"h2"},{"title":"New Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#new-widgets","content":" When a telemetry screen definition is parsed and a keyword is encountered that is unrecognized, it is assumed that a file of the form widgetname_widget.rb exists, and contains a class called WidgetnameWidget. Because of this convention, new widgets can be added to the system without any change to the telemetry screen definition format. For more information about creating custom widgets please read the Custom Widgets guide. Screen Keywords ","version":"Next","tagName":"h2"},{"title":"SCREEN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#screen","content":" Define a telemetry viewer screen The SCREEN keyword is the first keyword in any telemetry screen definition. It defines the name of the screen and parameters that affect the screen overall. Parameter\tDescription\tRequiredWidth\tWidth in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Height\tHeight in pixels or AUTO to let Telemetry Viewer automatically layout the screen\tTrue Polling Period\tNumber of seconds between screen updates\tTrue Example Usage: SCREEN AUTO AUTO 1.0 FIXED ","version":"Next","tagName":"h2"},{"title":"END​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#end","content":" Indicates the close of a layout widget All layout widgets must be closed to properly identify where they stop. For example, a VERTICALBOX keyword must be matched with an END keyword to indicate where the VERTICALBOX ends. ","version":"Next","tagName":"h2"},{"title":"STALE_TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#stale_time","content":" (Since 5.1.0) Values are marked stale if the packet time is more than Stale Time seconds in the past Parameter\tDescription\tRequiredvalue\tItems from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale. The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.\tTrue Example Usage: STALE_TIME 5 # Number of seconds to wait before marking data stale ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_setting","content":" Applies a widget setting to all widgets of a certain type Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABEL or BUTTON.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: GLOBAL_SETTING LABELVALUELIMITSBAR TEXTCOLOR BLACK ","version":"Next","tagName":"h2"},{"title":"GLOBAL_SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#global_subsetting","content":" Applies a widget subsetting to all widgets of a certain type Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredWidget Class Name\tThe name of the class of widgets that this setting will be applied to. For example, LABELVALUE.\tTrue Subwidget Index\tIndex to the desired subwidget\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: # Set all text color to white for labelvaluelimitsbars GLOBAL_SUBSETTING LABELVALUELIMITSBAR 0 TEXTCOLOR white ","version":"Next","tagName":"h2"},{"title":"SETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#setting","content":" Applies a widget setting to the previously defined widget Settings allow for additional tweaks and options to be applied to widgets that are not available in their parameters. These settings are all configured through the SETTING, SUBSETTING, GLOBAL_SETTING and GLOBAL_SUBSETTING keywords. SETTING and SUBSETTING applies only to the widget defined immediately before it. GLOBAL_SETTING and GLOBAL_SUBSETTING applies to all widgets. Common wiget settings are defined here. Some widgets define their own unique settings which are documented under that specific widget. ","version":"Next","tagName":"h2"},{"title":"WIDTH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#width","content":" Sets the widget width WIDTH supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredWidth\tWidth in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING WIDTH 50 LABEL "THIS IS A TEST" SETTING WIDTH 20em ","version":"Next","tagName":"h3"},{"title":"HEIGHT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#height","content":" Sets the widget height HEIGHT supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredHeight\tHeight in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE SETTING HEIGHT 50 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING HEIGHT 2em ","version":"Next","tagName":"h3"},{"title":"MARGIN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#margin","content":" Sets the widget margin MARGIN supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING MARGIN 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"PADDING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#padding","content":" Sets the widget padding PADDING supports css units with the default (no units) of px (pixels) Parameter\tDescription\tRequiredSize\tSize in pixels or explicitly declared with units\tTrue Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR BLUE LABEL "THIS IS A TEST" SETTING BACKCOLOR GREY SETTING PADDING 10 LABEL "THIS IS A TEST" SETTING BACKCOLOR GREEN ","version":"Next","tagName":"h3"},{"title":"BACKCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#backcolor","content":" The BACKCOLOR setting sets the background color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING BACKCOLOR red LABEL "THIS IS A TEST" SETTING BACKCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"TEXTCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textcolor","content":" The TEXTCOLOR setting sets the text color for a widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: LABEL "THIS IS A TEST" SETTING TEXTCOLOR red LABEL "THIS IS A TEST" SETTING TEXTCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"BORDERCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#bordercolor","content":" The BORDERCOLOR setting sets the border color for a layout widget Parameter\tDescription\tRequiredColor name or Red value\tCommon name for the color, e.g. 'black', 'red', etc. Alternatively if two more parameters are passed this is the Red value of the RGB value\tTrue Green value\tGreen value of the RGB value\tFalse Blue value\tBlue value of the RGB value\tFalse Example Usage: HORIZONTAL LABEL "Label 1" END SETTING BORDERCOLOR red VERTICAL LABEL "Label 2" END SETTING BORDERCOLOR 155 50 155 ","version":"Next","tagName":"h3"},{"title":"RAW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#raw","content":" Apply a raw CSS stylesheet key and value Parameter\tDescription\tRequiredKey\tCSS key like font-size, max-width, etc\tTrue Value\tCSS Value\tTrue Example Usage: LABEL "Label 1" SETTING RAW font-size 30px ","version":"Next","tagName":"h3"},{"title":"SUBSETTING​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#subsetting","content":" Applies a widget subsetting to the previously defined widget Subsettings are only valid for widgets that are made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing settings to specific subwidgets. Some widgets are made up of multiple subwidgets, e.g. LABELVALUELIMITSBAR. To set the Label widget, pass 0 as the Subwidget Index, pass 1 for the Value widget, and 2 for the LimitsBar widget. Parameter\tDescription\tRequiredSubwidget Index\tIndex to the desired subwidget or 'ALL' to apply the setting to all the subwidgets of this composite widget.\tTrue Setting Name\tSee SETTING for details.\tTrue Setting Value(s)\tSee SETTING for details.\tFalse Example Usage: VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR blue # Change the label's text to blue LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1 SUBSETTING 0 TEXTCOLOR green # Change the label's text to green END ","version":"Next","tagName":"h2"},{"title":"NAMED_WIDGET​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#named_widget","content":" Name a widget to allow access to it via the getNamedWidget method To programmatically access parts of a telemetry screen you need to name the widget. This is useful when creating screens with buttons that read values from other widgets. warning getNamedWidget returns the widget itself and thus must be operated on using methods native to that widget Parameter\tDescription\tRequiredWidget Name\tThe unique name applied to the following widget instance. Names must be unique per screen.\tTrue Widget Type\tOne of the widget types listed in Widget Descriptions\tTrue Widget Parameters\tThe unique parameters for the given widget type\tTrue Example Usage: NAMED_WIDGET DURATION TEXTFIELD BUTTON "Push" "screen.getNamedWidget('DURATION').text()" ","version":"Next","tagName":"h2"},{"title":"Layout Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#layout-widgets","content":" Layout widgets are used to position other widgets on the screen. For example, the HORIZONTAL layout widget places the widgets it encapsulates horizontally on the screen. ","version":"Next","tagName":"h2"},{"title":"VERTICAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#vertical","content":" Places the widgets it encapsulates vertically The screen defaults to a vertical layout, so if no layout widgets are specified, all widgets will be automatically placed within a VERTICAL layout widget. The VERTICAL widget sizes itself to fit its contents. Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICAL 5px LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"VERTICALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#verticalbox","content":" Places the widgets it encapsulates vertically inside a thin border The VERTICALBOX widget sizes itself to fit its contents vertically and to fit the screen horizontally Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: VERTICALBOX Info LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontal","content":" Places the widgets it encapsulates horizontally The HORIZONTAL widget sizes itself to fit its contents Parameter\tDescription\tRequiredMargin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTAL 100 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"HORIZONTALBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalbox","content":" Places the widgets it encapsulates horizontally inside a thin border The HORIZONTALBOX widget sizes itself to fit its contents Parameter\tDescription\tRequiredTitle\tText to place within the border to label the box\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: HORIZONTALBOX Info 10 LABEL "TEST" LABEL "SCREEN" END ","version":"Next","tagName":"h3"},{"title":"MATRIXBYCOLUMNS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#matrixbycolumns","content":" Places the widgets into a table-like matrix The MATRIXBYCOLUMNS widget sizes itself to fit its contents Parameter\tDescription\tRequiredColumns\tThe number of columns to create\tTrue Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: MATRIXBYCOLUMNS 3 10 LABEL "COL 1" LABEL "COL 2" LABEL "COL 3" LABEL "100" LABEL "200" LABEL "300" END ","version":"Next","tagName":"h3"},{"title":"SCROLLWINDOW​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#scrollwindow","content":" Places the widgets inside of it into a scrollable area The SCROLLWINDOW widget sizes itself to fit the screen in which it is contained Parameter\tDescription\tRequiredHeight\tMaximum height of the scroll window in pixels (default = 200)\tFalse Margin\tMargin between widgets (default = 0px)\tFalse Example Usage: SCROLLWINDOW 100 10 VERTICAL LABEL "100" LABEL "200" LABEL "300" LABEL "400" LABEL "500" LABEL "600" LABEL "700" LABEL "800" LABEL "900" END END ","version":"Next","tagName":"h3"},{"title":"TABBOOK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabbook","content":" Creates a tabbed area in which to place TABITEM widgets ","version":"Next","tagName":"h3"},{"title":"TABITEM​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#tabitem","content":" Creates a VERTICAL layout tab into which to place widgets Parameter\tDescription\tRequiredTab text\tText to display in the tab\tTrue Example Usage: TABBOOK TABITEM "Tab 1" LABEL "100" LABEL "200" END TABITEM "Tab 2" LABEL "300" LABEL "400" END END ","version":"Next","tagName":"h3"},{"title":"IFRAME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#iframe","content":" Open external tools in an Iframe within OpenC3 Parameter\tDescription\tRequiredURL\tThe path to the page to display in the iframe\tTrue Width\tWidth of the widget\tFalse Height\tHeight of the widget\tFalse Example Usage: IFRAME https://openc3.com 900 450 ","version":"Next","tagName":"h3"},{"title":"Decoration Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#decoration-widgets","content":" Decoration widgets are used to enhance the appearance of the screen. They do not respond to input, nor does the output vary with telemetry. ","version":"Next","tagName":"h2"},{"title":"LABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#label","content":" Displays text on the screen Generally, label widgets contain a telemetry mnemonic and are placed next to the telemetry VALUE widget. Parameter\tDescription\tRequiredText\tText to display on the label\tTrue Example Usage: LABEL "Note: This is only a warning" ","version":"Next","tagName":"h3"},{"title":"HORIZONTALLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#horizontalline","content":" (Since 5.5.1) Displays a horizontal line on the screen that can be used as a separator Example Usage: LABEL Over HORIZONTALLINE LABEL Under ","version":"Next","tagName":"h3"},{"title":"TITLE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#title","content":" Displays a large centered title on the screen Parameter\tDescription\tRequiredText\tText to display\tTrue Example Usage: TITLE "Title" HORIZONTALLINE LABEL "Label" ","version":"Next","tagName":"h3"},{"title":"SPACER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#spacer","content":" Places a fixed size spacer in between widgets Parameter\tDescription\tRequiredWidth\tWidth of the spacer in pixels\tTrue Height\tHeight of the spacer in pixels\tTrue Example Usage: VERTICAL 3 LABEL "Spacer below" SPACER 0 100 LABEL "Spacer above" END ","version":"Next","tagName":"h3"},{"title":"Telemetry Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#telemetry-widgets","content":" Telemetry widgets are used to display telemetry values. The first parameters to each of these widgets is a telemetry mnemonic. Depending on the type and purpose of the telemetry item, the screen designer may select from a wide selection of widgets to display the value in the most useful format. ","version":"Next","tagName":"h2"},{"title":"ARRAY​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#array","content":" Displays ARRAY data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Items per row\tNumber of array items per row (default = 4)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: ARRAY INST HEALTH_STATUS ARY 250 80 "0x%x" 6 FORMATTED ARRAY INST HEALTH_STATUS ARY2 200 100 nil 4 WITH_UNITS ","version":"Next","tagName":"h3"},{"title":"BLOCK​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#block","content":" Displays BLOCK data organized into rows and space separated Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the widget (default = 200)\tFalse Height\tHeight of the widget (default = 100)\tFalse Format string\tFormat string applied to each array item (default = nil)\tFalse Bytes per word\tNumber of bytes per word (default = 4)\tFalse Words per row\tNumber of words per row (default = 4\tFalse Address format\tFormat for the address printed at the beginning of each line (default = nil which means do not print an address)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: BLOCK INST IMAGE IMAGE 620 200 "%02X" 4 4 "0x%08X:" ","version":"Next","tagName":"h3"},{"title":"FORMATVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#formatvalue","content":" Displays a box with a formatted value Data is formatted by the specified string rather than by a format string given in the telemetry definition files. The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Format string\tPrintf style format string to apply to the telemetry item\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: FORMATVALUE INST LATEST TIMESEC %012u CONVERTED 20 FORMATVALUE INST LATEST TEMP1 %.2f CONVERTED 20 ","version":"Next","tagName":"h3"},{"title":"LABELLED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelled","content":" Displays a LABEL followed by a LED Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Justification\tHow to justify the label and LED together. The default of 'SPLIT' aligns the label to the left and the LED to the right with any additional space going between them. 'CENTER' pushes the label and LED together with any additional space to the left and right. 'LEFT' or 'RIGHT' pushes them to the respective side with the space going on the opposite. Valid Values: SPLIT, CENTER, LEFT, RIGHT\tFalse Example Usage: LABELLED INST PARAMS VALUE1 SETTING LED_COLOR GOOD GREEN SETTING LED_COLOR BAD RED The following settings apply to LABELLED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELPROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelprogressbar","content":" Displays a LABEL with the item name followed by a PROGRESSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiply the telemetry item by before displaying in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 80 pixels\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: LABELPROGRESSBAR INST ADCS POSPROGRESS 2 200 RAW LABELPROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"LABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvalue","content":" Displays a LABEL with the item name followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUE INST LATEST TIMESEC CONVERTED 18 LABELVALUE INST LATEST COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUEDESC​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluedesc","content":" Displays a LABEL with the items description followed by a VALUE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Description\tThe description to display in the label (default is to display the description text associated with the telemetry item)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUEDESC INST HEALTH_STATUS TEMP1 "Temperature number 1" RAW 18 LABELVALUEDESC INST HEALTH_STATUS COLLECT_TYPE ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitsbar","content":" Displays a LABEL with the item name followed by VALUE and LIMITSBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse ","version":"Next","tagName":"h3"},{"title":"LABELVALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluelimitscolumn","content":" Displays a LABEL with the item name followed by VALUE and LIMITSCOLUMN widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LABELVALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelvaluerangebar","content":" Displays a LABEL with the item name followed by VALUE and RANGEBAR widgets Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LED​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#led","content":" Displays a LED which changes color based on telemetry values By default TRUE is green and FALSE is red and all other values are black. Additional values can be added by using the LED_COLOR setting. For example LED INST PARAMS VALUE3 RAW can be followed by SETTING LED_COLOR 0 GREEN, SETTING LED_COLOR 1 RED, and SETTING LED_COLOR ANY ORANGE. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the LED circle (default = 15)\tFalse Height\tHeight of the LED circle (default = 15)\tFalse Example Usage: LED INST PARAMS VALUE5 RAW 25 20 # Ellipse SETTING LED_COLOR 0 GREEN SETTING LED_COLOR 1 RED SETTING LED_COLOR ANY YELLOW The following settings apply to LED. They are applied using the SETTING keyword. LED_COLOR​ Map a state or value to a color Parameter\tDescription\tRequiredValue\tState or value. ANY used to match any value or state not declared.\tTrue LED color\tColor of the LED\tTrue ","version":"Next","tagName":"h3"},{"title":"LIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitsbar","content":" Displays an item's current value within its colored limits horizontally Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 200 50 LIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolumn","content":" Displays an item's current value within its colored limits vertically Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: LIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 50 200 LIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"LIMITSCOLOR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#limitscolor","content":" Displays a circle depicting the limits color of an item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Radius\tRadius of the circle (default is 10)\tFalse Full Item Name\tShow the full item name (default is false)\tFalse Example Usage: LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 30 TRUE LIMITSCOLOR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitsbar","content":" Displays an item VALUE followed by LIMITSBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUELIMITSBAR INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSBAR INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUELIMITSCOLUMN​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuelimitscolumn","content":" Displays an item VALUE followed by LIMITSCOLUMN Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 8)\tFalse Example Usage: VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"VALUERANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#valuerangebar","content":" Displays an item VALUE followed by RANGEBAR Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Width\tWidth of the range bar (default = 160)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 18 200 40 VALUERANGEBAR INST HEALTH_STATUS TEMP1 -120 120 ","version":"Next","tagName":"h3"},{"title":"LINEGRAPH​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#linegraph","content":" Displays a line graph of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LINEGRAPH INST HEALTH_STATUS TEMP1 SETTING ITEM INST ADCS Q1 # Add additional item to graph The following settings apply to LINEGRAPH. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"SPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#sparkline","content":" Displays a sparkline graph (no cursor, scale or legend) of a telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: SPARKLINE INST HEALTH_STATUS TEMP1 SETTING SIZE 400 50 SETTING HISTORY 30s # Add 30 seconds of data into graph The following settings apply to SPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"LABELSPARKLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#labelsparkline","content":" Displays a LABEL with the item name followed by a SPARKLINE Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse Example Usage: LABELSPARKLINE INST HEALTH_STATUS TEMP1 SETTING HISTORY 5m # Add 5 minutes of data into graph The following settings apply to LABELSPARKLINE. They are applied using the SETTING keyword. ITEM​ Add a telemetry item to the graph Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Reduced\tWhether to display reduced data. Default is DECOM. Valid Values: DECOM, REDUCED_MINUTE, REDUCED_HOUR, REDUCED_DAY\tFalse Reduced Type\tThe type of reduce data to display. Only applies if Reduced is not DECOM. Valid Values: MIN, MAX, AVG, STDDEV\tFalse STARTTIME​ (Since 5.5.1) Start the graph history at the designated Time Parameter\tDescription\tRequiredStart Time\tStart time as formatted 'YYYY/MM/DD HH:MM:SS'\tTrue HISTORY​ (Since 5.5.1) Display an initial history of data Parameter\tDescription\tRequiredValue\tValue(d,h,m,s). For example 1d, 2h, 30m, 15s\tTrue SECONDSGRAPHED​ Display the specified number of seconds in the graph Parameter\tDescription\tRequiredTime\tNumber of seconds to display\tTrue POINTSSAVED​ Save the number of seconds in graph memory Parameter\tDescription\tRequiredTime\tNumber of seconds to save\tTrue POINTSGRAPHED​ Number of points to display on the graph Parameter\tDescription\tRequiredTime\tNumber of points to graph\tTrue SIZE​ Size of the graph Parameter\tDescription\tRequiredWidth\tWidth in pixels\tTrue Height\tHeight in pixels\tTrue ","version":"Next","tagName":"h3"},{"title":"IMAGEVIEWER​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#imageviewer","content":" Display a base64 image from a TLM packet Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name to pull the CONVERTED value from. If additional processing (base64 encoding) is needed consider using a DERIVED item.\tTrue Format\tThe image format of the base64 data (e.g. jpg, png, etc)\tTrue Example Usage: IMAGEVIEWER INST IMAGE IMAGE jpg ","version":"Next","tagName":"h3"},{"title":"PROGRESSBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#progressbar","content":" Displays a progress bar that is useful for displaying percentages Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Scale factor\tValue to multiple the telemetry item by before displaying the in the progress bar. Final value should be in the range of 0 to 100. Default is 1.0.\tFalse Width\tWidth of the progress bar (default = 100 pixels)\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: PROGRESSBAR INST ADCS POSPROGRESS 0.5 200 PROGRESSBAR INST ADCS POSPROGRESS ","version":"Next","tagName":"h3"},{"title":"RANGEBAR​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rangebar","content":" Displays a custom range bar displaying the item value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Low Value\tMinimum value to display on the range bar. If the telemetry item goes below this value the bar is “pegged” on the low end.\tTrue High Value\tMaximum value to display on the range bar. If the telemetry item goes above this value the bar is “pegged” on the high end.\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Width\tWidth of the range bar (default = 100)\tFalse Height\tHeight of the range bar (default = 25)\tFalse Example Usage: RANGEBAR INST HEALTH_STATUS TEMP1 0 100000 RAW 200 50 RANGEBAR INST HEALTH_STATUS TEMP1 -100 100 ","version":"Next","tagName":"h3"},{"title":"ROLLUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#rollup","content":" (Since 5.17.1) Displays a notification icon which changes color based on a rollup telemetry Parameter\tDescription\tRequiredIcon name\tThe astro UX icon to display. Valid choices are 'astro' icons taken from https://github.com/RocketCommunicationsInc/astro-components/blob/master/static/json/rux-icons.json.\tTrue Icon label\tText to apply to the icon label\tFalse Icon sublabel\tText to apply to the icon sublabel\tFalse Example Usage: ROLLUP satellite-transmit "SAT 1" "Details" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP1 SETTING TLM INST HEALTH_STATUS TEMP2 ROLLUP antenna "GND 2" "Location" # Screen to open on click SETTING SCREEN INST HS # Telemetry items to rollup status SETTING TLM INST HEALTH_STATUS TEMP3 SETTING TLM INST HEALTH_STATUS TEMP4 ","version":"Next","tagName":"h3"},{"title":"SIGNAL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#signal","content":" (Since 5.17.2) Displays a cellular signal icon which changes based on telemetry value Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED\tFalse Example Usage: SIGNAL INST HEALTH_STATUS TEMP1 # Screen to open on click SETTING SCREEN INST HS # Values to compare when setting the 1-bar, 2-bar and 3-bar icons # Default is 30, 60, 90 (e.g. 0 to 100 range) # Value < -50 display no bars # Value >= -50 and < 0 displays 1 bar # Value >= 0 and < 50 displays 2 bars # Value >= 50 displays 5 bars SETTING RANGE -50 0 50 ","version":"Next","tagName":"h3"},{"title":"TEXTBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textbox","content":" Provides a large box for multiline text Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Width\tWidth of the textbox in px (default = 200)\tFalse Height\tHeight of the textbox in px (default = 200)\tFalse Example Usage: TEXTBOX INST HEALTH_STATUS PACKET_TIMEFORMATTED 150 70 ","version":"Next","tagName":"h3"},{"title":"VALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#value","content":" Displays a box with a telemetry item value The white portion of the box darkens to gray while the value remains stagnant, then brightens to white each time the value changes. Additionally the value is colored based on the items limits state (Red for example if it is out of limits). Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Number of characters\tThe number of characters wide to make the value box (default = 12)\tFalse Example Usage: VALUE INST HEALTH_STATUS TEMP1 CONVERTED 18 VALUE INST HEALTH_STATUS TEMP1 ","version":"Next","tagName":"h3"},{"title":"Interactive Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#interactive-widgets","content":" Interactive widgets are used to gather input from the user. Unlike all other widgets, which only output some graphical representation, interactive widgets permit input either from the keyboard or mouse. ","version":"Next","tagName":"h2"},{"title":"BUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#button","content":" Displays a rectangular clickable button Upon clicking, the button executes the Javascript code assigned. Buttons can be used to send commands and perform other tasks. If you want your button to use values from other widgets, define them as named widgets and read their values using the screen.getNamedWidget("WIDGET_NAME").text() method. See the example in CHECKBUTTON. Button code can get rather complex so remember to use string concatenation to make things more readable. If you use + newlines are inserted automatically during string concatenation. If you use \\ you'll need to separate lines with a single semicolon ;. COSMOS uses double semicolon ;; to indicate lines should be evaluated separately. Note that all OpenC3 commands (using api.cmd) must be separated by ;;. You can send commands with buttons using api.cmd(). The cmd() syntax looks exactly like the standard COSMOS scripting syntax. You can also request and use telemetry in screens using Javascript Promises. api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE NORMAL, DURATION '+dur))" The api.tlm() function returns a Promise which is resolved with then() at which point we send the command with the telemetry value we received. Scripts can be launched from a BUTTON using the runScript() method. runScript() takes three parameters, the name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of environment variables. For example: runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'}) Parameter\tDescription\tRequiredButton Text\tText displayed on the button\tTrue Button Code\tJavascript code to execute when the button is pressed\tTrue Example Usage: BUTTON 'Start Collect' 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION 5")' BUTTON 'Run Checks' 'runScript("INST/procedures/checks.rb")' # More complex example with background checkbox and env vars NAMED_WIDGET SCRIPTNAME COMBOBOX collect.rb checks.rb NAMED_WIDGET BG CHECKBUTTON 'Background' BUTTON 'Run Script' "var script=screen.getNamedWidget('SCRIPTNAME').text();" \\ # Set an environment variable to be used by the script as ENV['TYPE'] "var env = {}; env['TYPE'] = 'TEST';" \\ "runScript('INST/procedures/'+script, !screen.getNamedWidget('BG').checked(), env)" ","version":"Next","tagName":"h3"},{"title":"CHECKBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#checkbutton","content":" Displays a check box Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredCheckbox Text\tText displayed next to the checkbox\tTrue Example Usage: NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' BUTTON 'Send' 'screen.getNamedWidget("CHECK").checked() ? ' \\ 'api.cmd_no_hazardous_check("INST CLEAR") : api.cmd("INST CLEAR")' ","version":"Next","tagName":"h3"},{"title":"COMBOBOX​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#combobox","content":" Displays a drop down list of text items Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredOption Text 1\tText to display in the selection drop down\tTrue Option Text n\tText to display in the selection drop down\tFalse Example Usage: BUTTON 'Start Collect' 'var type = screen.getNamedWidget("COLLECT_TYPE").text();' + 'api.cmd("INST COLLECT with TYPE "+type+", DURATION 10.0")' NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL ","version":"Next","tagName":"h3"},{"title":"DATE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#date","content":" Displays a date picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredDate label\tText to label the data selection ('Date' by default)\tFalse Example Usage: BUTTON 'Alert Date' 'var date = screen.getNamedWidget("DATE").text();' + 'alert("Date:"+date)' NAMED_WIDGET DATE DATE ","version":"Next","tagName":"h3"},{"title":"RADIOGROUP​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiogroup","content":" Creates a group of RADIOBUTTONs RADIOBUTTONs must be part of a group to enable selection logic Parameter\tDescription\tRequiredInitial selected button\tSelects a radio button at initialization (0-based)\tFalse ","version":"Next","tagName":"h3"},{"title":"RADIOBUTTON​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#radiobutton","content":" Displays a radio button and text Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. It must be contained by a RADIOGROUP to enable typical selection of a single RADIOBUTTON. Parameter\tDescription\tRequiredText\tText to display next to the radio button\tTrue Example Usage: NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? " + "api.cmd('INST ABORT') : api.cmd('INST CLEAR')" ","version":"Next","tagName":"h3"},{"title":"TEXTFIELD​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#textfield","content":" Displays a rectangular box where the user can enter text Parameter\tDescription\tRequiredCharacters\tWidth of the text field in characters (default = 12)\tFalse Text\tDefault text to put in the text field (default is blank)\tFalse Example Usage: NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" BUTTON 'Start Collect' 'var dur = screen.getNamedWidget("DURATION").text();' + 'api.cmd("INST COLLECT with TYPE NORMAL, DURATION "+dur+"")' ","version":"Next","tagName":"h3"},{"title":"TIME​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#time","content":" Displays a time picker Note this is of limited use by itself and is primarily used in conjunction with NAMED_WIDGET. Parameter\tDescription\tRequiredTime label\tText to label the time selection ('Time' by default)\tFalse Example Usage: BUTTON 'Alert Time' 'var time = screen.getNamedWidget("TIME").text();' + 'alert("Time:"+time)' NAMED_WIDGET TIME TIME ","version":"Next","tagName":"h3"},{"title":"Canvas Widgets​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas-widgets","content":" Canvas Widgets are used to draw custom displays into telemetry screens. The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. ","version":"Next","tagName":"h2"},{"title":"CANVAS​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvas","content":" Layout widget for the other canvas widgets All canvas widgets must be enclosed within a CANVAS widget. warning The canvas coordinate frame places (0,0) in the upper-left corner of the canvas. Parameter\tDescription\tRequiredWidth\tWidth of the canvas\tTrue Height\tHeight of the canvas\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLABEL​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabel","content":" Draws text onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Text\tText to draw onto the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Example Usage: CANVAS 100 100 CANVASLABEL 5 34 "Label1" 24 red CANVASLABEL 5 70 "Label2" 18 blue END ","version":"Next","tagName":"h3"},{"title":"CANVASLABELVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslabelvalue","content":" Draws the text value of a telemetry item onto the canvas in an optional frame Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue X Position\tX position of the upper-left corner of the text on the canvas\tTrue Y Position\tY position of the upper-left corner of the text on the canvas\tTrue Font Size\tFont size of the text (Default = 12)\tFalse Color\tColor of the text\tFalse Value type\tThe type of the value to display. Default is CONVERTED. Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 200 100 CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 12 red CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 10 blue WITH_UNITS END ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimage","content":" Displays an image on the canvas Parameter\tDescription\tRequiredImage filename\tName of a image file. The file must be in the plugin's targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Example Usage: CANVAS 250 430 CANVASIMAGE "satellite.png" 10 10 200 200 SETTING SCREEN INST HS CANVASIMAGE "https://images.pexels.com/photos/256152/pexels-photo-256152.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=640&w=426" 0 250 250 150 END The following settings apply to CANVASIMAGE. They are applied using the SETTING keyword. SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASIMAGEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasimagevalue","content":" Displays an image on the canvas that changes with a telemetry value Use various SETTING values to indicate which images should be displayed based on telemetry. For example, SETTING IMAGE CONNECTED "ground_on.png" 400 100. See the DEMO for a complete example. Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Value type\tThe type of the value to display Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tTrue Default image filename\tThe default image to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue Image width\tWidth of the image (default is 100%)\tFalse Image height\tHeight of the image (default is 100%)\tFalse Example Usage: CANVAS 230 230 CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 10 10 180 180 SETTING IMAGE CONNECTED "ground_on.png" 10 10 SETTING IMAGE UNAVAILABLE "ground_off.png" 10 10 SETTING SCREEN INST HS END The following settings apply to CANVASIMAGEVALUE. They are applied using the SETTING keyword. IMAGE​ Map an image to a state or value Parameter\tDescription\tRequiredValue\tState or value\tTrue Image filename\tImage to display. The file must be in the targets/TARGET/public directory.\tTrue X Position\tX position of the upper-left corner of the image on the canvas\tTrue Y Position\tY position of the upper-left corner of the image on the canvas\tTrue SCREEN​ Open another screen when clicked Parameter\tDescription\tRequiredTarget name\tName of the target\tTrue Screen name\tName of the screen\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASLINE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasline","content":" Draws a line onto the canvas Parameter\tDescription\tRequiredStart X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Color\tColor of the line\tFalse Width\tWidth of the line in pixels (default = 1)\tFalse Example Usage: CANVAS 100 50 CANVASLINE 5 5 95 5 CANVASLINE 5 5 5 45 green 2 CANVASLINE 95 5 95 45 blue 3 END ","version":"Next","tagName":"h3"},{"title":"CANVASLINEVALUE​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvaslinevalue","content":" Draws a color changing line onto the canvas The line is represented by one of two colors based on the value of the associated telemetry item Parameter\tDescription\tRequiredTarget name\tThe target name\tTrue Packet name\tThe packet name\tTrue Item name\tThe item name\tTrue Start X Position\tX position of the start of the line on the canvas\tTrue Start Y Position\tY position of the start of the line on the canvas\tTrue End X Position\tX position of the end of the line on the canvas\tTrue End Y Position\tY position of the end of the line on the canvas\tTrue Width\tWidth of the line in pixels (default = 3)\tFalse Value type\tThe type of the value to display. Default is CONVERTED Valid Values: RAW, CONVERTED, FORMATTED, WITH_UNITS\tFalse Example Usage: CANVAS 120 50 CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 0 12 12 black CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 25 115 25 5 RAW SETTING VALUE_EQ 1 GREEN SETTING VALUE_EQ 0 RED CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 5 45 115 45 SETTING VALUE_EQ CONNECTED GREEN SETTING VALUE_EQ UNAVAILABLE RED END The following settings apply to CANVASLINEVALUE. They are applied using the SETTING keyword. VALUE_EQ​ (Since 5.5.1) Map a value to a color Parameter\tDescription\tRequiredValue\tState or value\tTrue Color\tColor of the line\tTrue ","version":"Next","tagName":"h3"},{"title":"CANVASDOT​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#canvasdot","content":" Draws a dot onto the canvas Parameter\tDescription\tRequiredX Position\tX position of the dot\tTrue Y Position\tY position of the dot\tTrue Color\tColor of the dot\tTrue Radius\tRadius of the dot in pixels\tTrue Example Usage: CANVAS 50 50 CANVASDOT 10 15 BLUE 5 END ","version":"Next","tagName":"h3"},{"title":"Example File​","type":1,"pageTitle":"Screens","url":"/docs/configuration/telemetry-screens#example-file","content":" Example File: TARGET/myscreen.txt SCREEN AUTO AUTO 0.5 VERTICAL TITLE "<%= target_name %> Commanding Examples" LABELVALUE INST HEALTH_STATUS COLLECTS LABELVALUE INST HEALTH_STATUS COLLECT_TYPE LABELVALUE INST HEALTH_STATUS DURATION VERTICALBOX "Send Collect Command:" HORIZONTAL LABEL "Type: " NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL END HORIZONTAL LABEL " Duration: " NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" END BUTTON 'Start Collect' "api.cmd('INST COLLECT with TYPE '+screen.getNamedWidget('COLLECT_TYPE').text()+', DURATION '+screen.getNamedWidget('DURATION').text())" END SETTING BACKCOLOR 163 185 163 VERTICALBOX "Parameter-less Commands:" NAMED_WIDGET GROUP RADIOGROUP 1 # Select 'Clear' initially, 0-based index RADIOBUTTON 'Abort' RADIOBUTTON 'Clear' END NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED BUTTON 'Send' "screen.getNamedWidget('GROUP').selected() === 0 ? api.cmd('INST ABORT') : (screen.getNamedWidget('CHECK').checked() ? api.cmd_no_hazardous_check('INST CLEAR') : api.cmd('INST CLEAR'))" END SETTING BACKCOLOR 163 185 163 END ","version":"Next","tagName":"h2"},{"title":"Scripting API Guide","type":0,"sectionRef":"#","url":"/docs/guides/scripting-api","content":"","keywords":"","version":"Next"},{"title":"Concepts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#concepts","content":" ","version":"Next","tagName":"h2"},{"title":"Programming Languages​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#programming-languages","content":" COSMOS scripting is implemented using either Ruby or Python. Ruby and Python are very similar scripting languages and in many cases the COSMOS APIs are identical between the two. This guide is written to support both with additional language specific information found in the Script Writing Guide. ","version":"Next","tagName":"h3"},{"title":"Using Script Runner​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#using-script-runner","content":" Script Runner is a graphical application that provides the ideal environment for running and implementing your test procedures. The Script Runner tool is broken into 4 main sections. At the top of the tool is a menu bar that allows you to do such things as open and save files, perform a syntax check, and execute your script. Next is a tool bar that displays the currently executing script and three buttons, "Start/Go", "Pause/Retry", and "Stop". The Start/Go button is used to start the script and continue past errors or waits. The Pause/Retry button will pause the executing script. If an error is encountered the Pause button changes to Retry to re-execute the errored line. Finally, the Stop button will stop the executing script at any time. Third is the display of the actual script. While the script is not running, you may edit and compose scripts in this area. A handy code completion feature is provided that will list out the available commands or telemetry points as you are writing your script. Simply begin writing a cmd( or tlm( line to bring up code completion. This feature greatly reduces typos in command and telemetry mnemonics. Finally, the bottom of the display is the log messages. All commands that are sent, errors that occur, and user print statements appear in this area. ","version":"Next","tagName":"h3"},{"title":"Telemetry Types​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#telemetry-types","content":" There are four different ways that telemetry values can be retrieved in COSMOS. The following chart explains their differences. Telemetry Type\tDescriptionRaw\tRaw telemetry is exactly as it is in the telemetry packet before any conversions. All telemetry items will have a raw value except for Derived telemetry points which have no real location in a packet. Requesting raw telemetry on a derived item will return nil. Converted\tConverted telemetry is raw telemetry that has gone through a conversion factor such as a state conversion or a polynomial conversion. If a telemetry item does not have a conversion defined, then converted telemetry will be the same as raw telemetry. This is the most common type of telemety used in scripts. Formatted\tFormatted telemetry is converted telemetry that has gone through a printf style conversion into a string. Formatted telemetry will always have a string representation. If no format string is defined for a telemetry point, then formatted telemetry will be the same as converted telemetry except represented as string. Formatted with Units\tFormatted with Units telemetry is the same as Formatted telemetry except that a space and the units of the telemetry item are appended to the end of the string. If no units are defined for a telemetry item then this type is the same as Formatted telemetry. ","version":"Next","tagName":"h3"},{"title":"Script Runner API​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-api","content":" The following methods are designed to be used in Script Runner procedures. Many can also be used in custom built COSMOS tools. Please see the COSMOS Tool API section for methods that are more efficient to use in custom tools. ","version":"Next","tagName":"h2"},{"title":"Migration from COSMOS v5 to v6​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v5-to-v6","content":" The following API methods have been removed from COSMOS v6. Most of the deprecated API methods still remain for backwards compatibility. Method\tTool\tStatusget_all_target_info\tCommand and Telemetry Server\tRemoved, use get_target_interfaces play_wav_file\tScript Runner\tRemoved status_bar\tScript Runner\tRemoved ","version":"Next","tagName":"h3"},{"title":"Migration from COSMOS v4 to v5​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#migration-from-cosmos-v4-to-v5","content":" The following API methods are either deprecated (will not be ported to COSMOS 5) or currently unimplemented (eventually will be ported to COSMOS 5): Method\tTool\tStatusclear\tTelemetry Viewer\tDeprecated, use clear_screen clear_all\tTelemetry Viewer\tDeprecated, use clear_all_screens close_local_screens\tTelemetry Viewer\tDeprecated, use clear_screen clear_disconnected_targets\tScript Runner\tDeprecated cmd_tlm_clear_counters\tCommand and Telemetry Server\tDeprecated cmd_tlm_reload\tCommand and Telemetry Server\tDeprecated display\tTelemetry Viewer\tDeprecated, use display_screen get_all_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_all_target_info\tCommand and Telemetry Server\tDeprecated, use get_target_interfaces get_background_tasks\tCommand and Telemetry Server\tDeprecated get_all_cmd_info\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_all_tlm_info\tCommand and Telemetry Server\tDeprecated, use get_all_tlm get_cmd_list\tCommand and Telemetry Server\tDeprecated, use get_all_cmds get_cmd_log_filename\tCommand and Telemetry Server\tDeprecated get_cmd_param_list\tCommand and Telemetry Server\tDeprecated, use get_cmd get_cmd_tlm_disconnect\tScript Runner\tDeprecated, use $disconnect get_disconnected_targets\tScript Runner\tUnimplemented get_interface_info\tCommand and Telemetry Server\tDeprecated, use get_interface get_interface_targets\tCommand and Telemetry Server\tDeprecated get_output_logs_filenames\tCommand and Telemetry Server\tDeprecated get_packet\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_data\tCommand and Telemetry Server\tDeprecated, use get_packets get_packet_logger_info\tCommand and Telemetry Server\tDeprecated get_packet_loggers\tCommand and Telemetry Server\tDeprecated get_replay_mode\tReplay\tDeprecated get_router_info\tCommand and Telemetry Server\tDeprecated, use get_router get_scriptrunner_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_message\tCommand and Telemetry Server\tDeprecated get_server_message_log_filename\tCommand and Telemetry Server\tDeprecated get_server_status\tCommand and Telemetry Server\tDeprecated get_stale\tCommand and Telemetry Server\tDeprecated get_target_ignored_items\tCommand and Telemetry Server\tDeprecated, use get_target get_target_ignored_parameters\tCommand and Telemetry Server\tDeprecated, use get_target get_target_info\tCommand and Telemetry Server\tDeprecated, use get_target get_target_list\tCommand and Telemetry Server\tDeprecated, use get_target_names get_tlm_details\tCommand and Telemetry Server\tDeprecated get_tlm_item_list\tCommand and Telemetry Server\tDeprecated get_tlm_list\tCommand and Telemetry Server\tDeprecated get_tlm_log_filename\tCommand and Telemetry Server\tDeprecated interface_state\tCommand and Telemetry Server\tDeprecated, use get_interface override_tlm_raw\tCommand and Telemetry Server\tDeprecated, use override_tlm open_directory_dialog\tScript Runner\tDeprecated play_wav_file\tScript Runner\tDeprecated replay_move_end\tReplay\tDeprecated replay_move_index\tReplay\tDeprecated replay_move_start\tReplay\tDeprecated replay_play\tReplay\tDeprecated replay_reverse_play\tReplay\tDeprecated replay_select_file\tReplay\tDeprecated replay_set_playback_delay\tReplay\tDeprecated replay_status\tReplay\tDeprecated replay_step_back\tReplay\tDeprecated replay_step_forward\tReplay\tDeprecated replay_stop\tReplay\tDeprecated require_utility\tScript Runner\tDeprecated but exists for backwards compatibility, use load_utility router_state\tCommand and Telemetry Server\tDeprecated, use get_router save_file_dialog\tScript Runner\tDeprecated save_setting\tCommand and Telemetry Server\tDeprecated but exists for backwards compatibility, use set_setting set_cmd_tlm_disconnect\tScript Runner\tDeprecated, use disconnect_script set_disconnected_targets\tScript Runner\tUnimplemented set_replay_mode\tReplay\tDeprecated set_stdout_max_lines\tScript Runner\tDeprecated set_tlm_raw\tScript Runner\tDeprecated, use set_tlm show_backtrace\tScript Runner\tDeprecated, backtrace always shown status_bar\tScript Runner\tDeprecated shutdown_cmd_tlm\tCommand and Telemetry Server\tDeprecated start_cmd_log\tCommand and Telemetry Server\tDeprecated start_logging\tCommand and Telemetry Server\tDeprecated start_new_scriptrunner_message_log\tCommand and Telemetry Server\tDeprecated start_new_server_message_log\tCommand and Telemetry Server\tDeprecated start_tlm_log\tCommand and Telemetry Server\tDeprecated stop_background_task\tCommand and Telemetry Server\tDeprecated stop_cmd_log\tCommand and Telemetry Server\tDeprecated stop_logging\tCommand and Telemetry Server\tDeprecated stop_tlm_log\tCommand and Telemetry Server\tDeprecated subscribe_limits_events\tCommand and Telemetry Server\tDeprecated subscribe_packet_data\tCommand and Telemetry Server\tDeprecated, use subscribe_packets subscribe_server_messages\tCommand and Telemetry Server\tUnimplemented tlm_variable\tScript Runner\tDeprecated, use tlm() and pass type unsubscribe_limits_events\tCommand and Telemetry Server\tDeprecated unsubscribe_packet_data\tCommand and Telemetry Server\tDeprecated unsubscribe_server_messages\tCommand and Telemetry Server\tDeprecated wait_raw\tScript Runner\tDeprecated, use wait(..., type: :RAW) wait_check_raw\tScript Runner\tDeprecated, use wait_check(..., type: :RAW) wait_tolerance_raw\tScript Runner\tDeprecated, use wait_tolerance(..., type: :RAW) wait_check_tolerance_raw\tScript Runner\tDeprecated, use wait_check_tolerance(..., type: :RAW) ","version":"Next","tagName":"h3"},{"title":"Retrieving User Input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#retrieving-user-input","content":" These methods allow the user to enter values that are needed by the script. ","version":"Next","tagName":"h2"},{"title":"ask​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask","content":" Prompts the user for input with a question. User input is automatically converted from a string to the appropriate data type. For example if the user enters "1", the number 1 as an integer will be returned. Ruby / Python Syntax: ask("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", true) value = ask("Enter a value", 10) password = ask("Enter your password", false, true) Python Example: value = ask("Enter an integer") value = ask("Enter a value or nothing", True) value = ask("Enter a value", 10) password = ask("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"ask_string​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#ask_string","content":" Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned. Ruby / Python Syntax: ask_string("<question>", <blank_or_default>, <password>) Parameter\tDescriptionquestion\tQuestion to prompt the user with. blank_or_default\tWhether or not to allow empty responses (optional - defaults to false). If a non-boolean value is passed it is used as a default value. password\tWhether to treat the entry as a password which is displayed with dots and not logged. Default is false. Ruby Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", true) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", false, true) Python Example: string = ask_string("Enter a String") string = ask_string("Enter a value or nothing", True) string = ask_string("Enter a value", "test") password = ask_string("Enter your password", False, True) ","version":"Next","tagName":"h3"},{"title":"message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#message_box","content":" ","version":"Next","tagName":"h3"},{"title":"vertical_message_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#vertical_message_box","content":" ","version":"Next","tagName":"h3"},{"title":"combo_box​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#combo_box","content":" The message_box, vertical_message_box, and combo_box methods create a message box with arbitrary buttons or selections that the user can click. The text of the button clicked is returned. Ruby / Python Syntax: message_box("<message>", "<button text 1>", ...) vertical_message_box("<message>", "<button text 1>", ...) combo_box("<message>", "<selection text 1>", ...) Parameter\tDescriptionmessage\tMessage to prompt the user with. button/selection text\tText for a button or selection Ruby Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') case value when 'One' puts 'Sensor One' when 'Two' puts 'Sensor Two' end Python Example: value = message_box("Select the sensor number", 'One', 'Two') value = vertical_message_box("Select the sensor number", 'One', 'Two') value = combo_box("Select the sensor number", 'One', 'Two') match value: case 'One': print('Sensor One') case 'Two': print('Sensor Two') ","version":"Next","tagName":"h3"},{"title":"get_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_file","content":" Return a file handle to a file in the target directory Ruby Syntax: get_target_file("<File Path>", original: false) Python Syntax: get_target_file("<File Path>", original=False) Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb original\tWhether to get the original file from the plug-in, or any modifications to the file. Default is false which means to grab the modified file. If the modified file does not exist the API will automatically try to pull the original. Ruby Example: file = get_target_file("INST/data/attitude.bin") puts file.read().formatted # format a binary file file.unlink # delete file file = get_target_file("INST/procedures/checks.rb", original: true) puts file.read() file.unlink # delete file Python Example: from openc3.utilities.string import formatted file = get_target_file("INST/data/attitude.bin") print(formatted(file.read())) # format a binary file file.close() # delete file file = get_target_file("INST/procedures/checks.rb", original=True) print(file.read()) file.close() # delete file ","version":"Next","tagName":"h3"},{"title":"put_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#put_target_file","content":" Writes a file to the target directory Ruby or Python Syntax: put_target_file("<File Path>", "IO or String") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. The file can previously exist or not. Note: The original file from the plug-in will not be modified, however existing modified files will be overwritten. data\tThe data can be an IO object or String Ruby Example: put_target_file("INST/test1.txt", "this is a string test") file = Tempfile.new('test') file.write("this is a Io test") file.rewind put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", "\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary Python Example: put_target_file("INST/test1.txt", "this is a string test") file = tempfile.NamedTemporaryFile(mode="w+t") file.write("this is a Io test") file.seek(0) put_target_file("INST/test2.txt", file) put_target_file("INST/test3.bin", b"\\x00\\x01\\x02\\x03\\xFF\\xEE\\xDD\\xCC") # binary ","version":"Next","tagName":"h3"},{"title":"delete_target_file​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_target_file","content":" Delete a file in the target directory Ruby / Python Syntax: delete_target_file("<File Path>") Parameter\tDescriptionpath\tThe path to the file in the target directory. Should assume to start with a TARGET name, e.g. INST/procedures/proc.rb. Note: Only files created with put_target_file can be deleted. Original files from the plugin installation will remain. Ruby / Python Example: put_target_file("INST/delete_me.txt", "to be deleted") delete_target_file("INST/delete_me.txt") ","version":"Next","tagName":"h3"},{"title":"open_file_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_file_dialog","content":" ","version":"Next","tagName":"h3"},{"title":"open_files_dialog​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#open_files_dialog","content":" The open_file_dialog and open_files_dialog methods create a file dialog box so the user can select a single or multiple files. The selected file(s) is returned. Note: COSMOS 5 has deprecated the save_file_dialog and open_directory_dialog methods. save_file_dialog can be replaced by put_target_file if you want to write a file back to the target. open_directory_dialog doesn't make sense in new architecture so you must request individual files. Ruby Syntax: open_file_dialog("<title>", "<message>", filter: "<filter>") open_files_dialog("<title>", "<message>", filter: "<filter>") Python Syntax: open_file_dialog("<title>", "<message>", filter="<filter>") open_files_dialog("<title>", "<message>", filter="<filter>") Parameter\tDescriptionTitle\tThe title to put on the dialog. Required. Message\tThe message to display in the dialog box. Optional parameter. filter\tNamed parameter to filter allowed file types. Optional parameter, specified as comma delimited file types, e.g. ".txt,.doc". See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept for more information. Ruby Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter: ".txt") puts file # Ruby File object puts file.read file.delete files = open_files_dialog("Open multiple files") # message is optional puts files # Array of File objects (even if you select only one) files.each do |file| puts file puts file.read file.delete end Python Example: file = open_file_dialog("Open a single file", "Choose something interesting", filter=".txt") print(file) print(file.read()) file.close() files = open_files_dialog("Open multiple files") # message is optional print(files) # Array of File objects (even if you select only one) for file in files: print(file) print(file.read()) file.close() ","version":"Next","tagName":"h3"},{"title":"Providing information to the user​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#providing-information-to-the-user","content":" These methods notify the user that something has occurred. ","version":"Next","tagName":"h2"},{"title":"prompt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#prompt","content":" Displays a message to the user and waits for them to press an ok button. Ruby / Python Syntax: prompt("<message>") Parameter\tDescriptionmessage\tMessage to prompt the user with. Ruby / Python Example: prompt("Press OK to continue") ","version":"Next","tagName":"h3"},{"title":"Commands​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#commands","content":" These methods provide capability to send commands to a target and receive information about commands in the system. ","version":"Next","tagName":"h2"},{"title":"cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd","content":" Sends a specified command. Ruby Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") # In Ruby the brackets around parameters are optional cmd("INST", "COLLECT", "DURATION" => 10, "TYPE" => "NORMAL") cmd("INST", "COLLECT", { "DURATION" => 10, "TYPE" => "NORMAL" }) cmd("INST ABORT", timeout: 10, log_message: false) Python Example: cmd("INST COLLECT with DURATION 10, TYPE NORMAL") cmd("INST", "COLLECT", { "DURATION": 10, "TYPE": "NORMAL" }) cmd("INST ABORT", timeout=10, log_message=False) ","version":"Next","tagName":"h3"},{"title":"cmd_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_range_check","content":" Sends a specified command without performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_range_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => "NORMAL") Python Example: cmd_no_range_check("INST COLLECT with DURATION 11, TYPE NORMAL") cmd_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_hazardous_check","content":" Sends a specified command without performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_hazardous_check("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_no_hazardous_check("INST CLEAR") cmd_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_no_checks","content":" Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", "Param #1 Name" => <Param #1 Value>, "Param #2 Name" => <Param #2 Value>, ...) Python Syntax: cmd_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_no_checks("<Target Name>", "<Command Name>", {"Param #1 Name": <Param #1 Value>, "Param #2 Name": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => "SPECIAL") Python Example: cmd_no_checks("INST COLLECT with DURATION 11, TYPE SPECIAL") cmd_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": "SPECIAL"}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw","content":" Sends a specified command without running conversions. Ruby Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", "DURATION" => 10, "TYPE" => 0) Python Example: cmd_raw("INST COLLECT with DURATION 10, TYPE 0") cmd_raw("INST", "COLLECT", {"DURATION": 10, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_range_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_range_check","content":" Sends a specified command without running conversions or performing range checking on its parameters. This should only be used when it is necessary to intentionally send a bad command parameter to test a target. Ruby Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_range_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_range_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", "DURATION" => 11, "TYPE" => 0) Python Example: cmd_raw_no_range_check("INST COLLECT with DURATION 11, TYPE 0") cmd_raw_no_range_check("INST", "COLLECT", {"DURATION": 11, "TYPE": 0}) ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_hazardous_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_hazardous_check","content":" Sends a specified command without running conversions or performing the notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands. Ruby Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_hazardous_check("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_hazardous_check("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby / Python Example: cmd_raw_no_hazardous_check("INST CLEAR") cmd_raw_no_hazardous_check("INST", "CLEAR") ","version":"Next","tagName":"h3"},{"title":"cmd_raw_no_checks​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#cmd_raw_no_checks","content":" Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", "<Param #1 Name>" => <Param #1 Value>, "<Param #2 Name>" => <Param #2 Value>, ...) Python Syntax: cmd_raw_no_checks("<Target Name> <Command Name> with <Param #1 Name> <Param #1 Value>, <Param #2 Name> <Param #2 Value>, ...") cmd_raw_no_checks("<Target Name>", "<Command Name>", {"<Param #1 Name>": <Param #1 Value>, "<Param #2 Name>": <Param #2 Value>, ...}) Parameter\tDescriptionTarget Name\tName of the target this command is associated with. Command Name\tName of this command. Also referred to as its mnemonic. Param #x Name\tName of a command parameter. If there are no parameters then the 'with' keyword should not be given. Param #x Value\tValue of the command parameter. Values are automatically converted to the appropriate type. timeout\tOptional named parameter to change the default timeout value of 5 seconds log_message\tOptional named parameter to prevent logging of the command Ruby Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", "DURATION" => 11, "TYPE" => 1) Python Example: cmd_raw_no_checks("INST COLLECT with DURATION 11, TYPE 1") cmd_raw_no_checks("INST", "COLLECT", {"DURATION": 11, "TYPE": 1}) ","version":"Next","tagName":"h3"},{"title":"build_cmd (since 5.13.0, since 5.8.0 as build_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#build_cmd-since-5130-since-580-as-build_command","content":" Builds a command binary string Ruby Syntax: build_cmd(<ARGS>, range_check: true, raw: false) Python Syntax: build_cmd(<ARGS>, range_check=True, raw=False) Parameter\tDescriptionARGS\tCommand parameters (see cmd) range_check\tWhether to perform range checking on the command. Default is true. raw\tWhether to write the command arguments as RAW or CONVERTED value. Default is CONVERTED. Ruby Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") puts x #=> {"id"=>"1696437370872-0", "result"=>"SUCCESS", "time"=>"1696437370872305961", "received_time"=>"1696437370872305961", "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"3", "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00A \\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: x = build_cmd("INST COLLECT with DURATION 10, TYPE NORMAL") print(x) #=> {'id': '1697298167748-0', 'result': 'SUCCESS', 'time': '1697298167749155717', 'received_time': '1697298167749155717', 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '2', 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00A \\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"send_raw​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#send_raw","content":" Sends raw data on an interface. Ruby / Python Syntax: send_raw(<Interface Name>, <Data>) Parameter\tDescriptionInterface Name\tName of the interface to send the raw data on. Data\tRaw ruby string of data to send. Ruby / Python Example: send_raw("INST_INT", data) ","version":"Next","tagName":"h3"},{"title":"get_all_cmds (since 5.13.0, since 5.0.0 as get_all_commands)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmds-since-5130-since-500-as-get_all_commands","content":" Returns an array of the commands that are available for a particular target. The returned array is an array of hashes which fully describe the command packet. Ruby / Python Syntax: get_all_cmds("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: cmd_list = get_all_cmds("INST") puts cmd_list #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: cmd_list = get_all_cmds("INST") print(cmd_list) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_all_cmd_names (since 5.13.0, since 5.0.6 as get_all_command_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_cmd_names-since-5130-since-506-as-get_all_command_names","content":" Returns an array of the command names for a particular target. Ruby / Python Syntax: get_all_cmd_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby Example: cmd_list = get_all_cmd_names("INST") puts cmd_list #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] Python Example: cmd_list = get_all_cmd_names("INST") print(cmd_list) #=> ['ABORT', 'ARYCMD', 'ASCIICMD', ...] ","version":"Next","tagName":"h3"},{"title":"get_cmd (since 5.13.0, since 5.0.0 as get_command)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd-since-5130-since-500-as-get_command","content":" Returns a command hash which fully describes the command packet. Ruby / Python Syntax: get_cmd("<Target Name> <Packet Name>") get_cmd("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: abort_cmd = get_cmd("INST ABORT") puts abort_cmd #=> # [{"target_name"=>"INST", # "packet_name"=>"ABORT", # "endianness"=>"BIG_ENDIAN", # "description"=>"Aborts a collect on the instrument", # "items"=> [{"name"=>"CCSDSVER", "bit_offset"=>0, "bit_size"=>3, ... }] # ... # }] Python Example: abort_cmd = get_cmd("INST ABORT") print(abort_cmd) #=> # [{'target_name': 'INST', # 'packet_name': 'ABORT', # 'endianness': 'BIG_ENDIAN', # 'description': 'Aborts a collect on the INST instrument', # 'items': [{'name': 'CCSDSVER', 'bit_offset': 0, 'bit_size': 3, ... }] # ... # }] ","version":"Next","tagName":"h3"},{"title":"get_param (since 5.13.0, since 5.0.0 as get_parameter)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_param-since-5130-since-500-as-get_parameter","content":" Returns a hash of the given command parameter Ruby / Python Syntax: get_param("<Target Name> <Command Name> <Parameter Name>") get_param("<Target Name>", "<Command Name>", "<Parameter Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the parameter. Ruby Example: param = get_param("INST COLLECT TYPE") puts param #=> # {"name"=>"TYPE", "bit_offset"=>64, "bit_size"=>16, "data_type"=>"UINT", # "description"=>"Collect type which can be normal or special", "default"=>0, # "minimum"=>0, "maximum"=>65535, "endianness"=>"BIG_ENDIAN", "required"=>true, "overflow"=>"ERROR", # "states"=>{"NORMAL"=>{"value"=>0}, "SPECIAL"=>{"value"=>1, "hazardous"=>""}}, "limits"=>{}} Python Example: param = get_param("INST COLLECT TYPE") print(param) #=> # {'name': 'TYPE', 'bit_offset': 64, 'bit_size': 16, 'data_type': 'UINT', # 'description': 'Collect type which can be normal or special', 'default': 0, # 'minimum': 0, 'maximum': 65535, 'endianness': 'BIG_ENDIAN', 'required': True, 'overflow': 'ERROR', # 'states': {'NORMAL': {'value': 0}, 'SPECIAL': {'value': 1, 'hazardous': ''}}, 'limits': {}} ","version":"Next","tagName":"h3"},{"title":"get_cmd_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_buffer","content":" Returns a packet hash (similar to get_cmd) along with the raw packet buffer as a Ruby string. Ruby / Python Syntax: buffer = get_cmd_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_cmd_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby Example: packet = get_cmd_buffer("INST COLLECT") puts packet #=> # {"time"=>"1697298846752053420", "received_time"=>"1697298846752053420", # "target_name"=>"INST", "packet_name"=>"COLLECT", "received_count"=>"20", "stored"=>"false", # "buffer"=>"\\x13\\xE7\\xC0\\x00\\x00\\f\\x00\\x01\\x00\\x00@\\xE0\\x00\\x00\\xAB\\x00\\x00\\x00\\x00"} Python Example: packet = get_cmd_buffer("INST COLLECT") print(packet) #=> # {'time': '1697298923745982470', 'received_time': '1697298923745982470', # 'target_name': 'INST', 'packet_name': 'COLLECT', 'received_count': '21', 'stored': 'false', # 'buffer': bytearray(b'\\x13\\xe7\\xc0\\x00\\x00\\x0c\\x00\\x01\\x00\\x00@\\xe0\\x00\\x00\\xab\\x00\\x00\\x00\\x00')} ","version":"Next","tagName":"h3"},{"title":"get_cmd_hazardous​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_hazardous","content":" Returns true/false indicating whether a particular command is flagged as hazardous. Ruby / Python Syntax: get_cmd_hazardous("<Target Name>", "<Command Name>", <Command Params - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Command Params\tHash of the parameters given to the command (optional). Note that some commands are only hazardous based on parameter states. Ruby Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE' => 'SPECIAL'}) puts hazardous #=> true Python Example: hazardous = get_cmd_hazardous("INST", "COLLECT", {'TYPE': 'SPECIAL'}) print(hazardous) #=> True ","version":"Next","tagName":"h3"},{"title":"get_cmd_value​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_value","content":" Returns reads a value from the most recently sent command packet. The pseudo-parameters 'PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', 'RECEIVED_COUNT', 'RECEIVED_TIMEFORMATTED', and 'RECEIVED_TIMESECONDS' are also supported. Ruby / Python Syntax: get_cmd_value("<Target Name>", "<Command Name>", "<Parameter Name>", <Value Type - optional>) Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Parameter Name\tName of the command parameter. Value Type\tValue Type to read. RAW, CONVERTED, FORMATTED, or WITH_UNITS. NOTE: Symbol in Ruby and str in Python Ruby Example: value = get_cmd_value("INST", "COLLECT", "TEMP", :RAW) puts value #=> 0.0 Python Example: value = get_cmd_value("INST", "COLLECT", "TEMP", "RAW") print(value) #=> 0.0 ","version":"Next","tagName":"h3"},{"title":"get_cmd_time​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_time","content":" Returns the time of the most recent command sent. Ruby / Python Syntax: get_cmd_time("<Target Name - optional>", "<Command Name - optional>") Parameter\tDescriptionTarget Name\tName of the target. If not given, then the most recent command time to any target will be returned Command Name\tName of the command. If not given, then the most recent command time to the given target will be returned Ruby / Python Example: target_name, command_name, time = get_cmd_time() # Name of the most recent command sent to any target and time target_name, command_name, time = get_cmd_time("INST") # Name of the most recent command sent to the INST target and time target_name, command_name, time = get_cmd_time("INST", "COLLECT") # Name of the most recent INST COLLECT command and time ","version":"Next","tagName":"h3"},{"title":"get_cmd_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_cmd_cnt","content":" Returns the number of times a specified command has been sent. Ruby / Python Syntax: get_cmd_cnt("<Target Name> <Command Name>") get_cmd_cnt("<Target Name>", "<Command Name>") Parameter\tDescriptionTarget Name\tName of the target. Command Name\tName of the command. Ruby / Python Example: cmd_cnt = get_cmd_cnt("INST COLLECT") # Number of times the INST COLLECT command has been sent ","version":"Next","tagName":"h3"},{"title":"Handling Telemetry​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#handling-telemetry","content":" These methods allow the user to interact with telemetry items. ","version":"Next","tagName":"h2"},{"title":"check, check_raw, check_formatted, check_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check-check_raw-check_formatted-check_with_units","content":" Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check. Ruby / Python Syntax: check("<Target Name> <Packet Name> <Item Name> <Comparison - optional>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. If a comparison is not given then the telemetry item will just be printed into the script log. Ruby Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Ruby passes type as symbol check("INST HEALTH_STATUS COLLECTS > 1", type: :RAW) Python Example: check("INST HEALTH_STATUS COLLECTS > 1") check_raw("INST HEALTH_STATUS COLLECTS > 1") check_formatted("INST HEALTH_STATUS COLLECTS > 1") check_with_units("INST HEALTH_STATUS COLLECTS > 1") # Python passes type as string check("INST HEALTH_STATUS COLLECTS > 1", type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_tolerance","content":" Checks a converted telemetry item against an expected value with a tolerance. If the verification fails then the script will be paused with an error. Note: In most cases using wait_check_tolerance is a better choice than using check_tolerance. Ruby / Python Syntax: check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. type\tCONVERTED (default) or RAW (Ruby symbol, Python string) Ruby Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type: :RAW) Python Example: check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0) check_tolerance("INST HEALTH_STATUS TEMP1", 50000, 20000, type='RAW') ","version":"Next","tagName":"h3"},{"title":"check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_expression","content":" Evaluates an expression. If the expression evaluates to false the script will be paused with an error. This method can be used to perform more complicated comparisons than using check as shown in the example. Note: In most cases using wait_check_expression is a better choice than using check_expression. Remember that everything inside the check_expression string will be evaluated directly and thus must be valid syntax. A common mistake is to check a variable like so (Ruby variable interpolation): check_expression("#{answer} == 'yes'") # where answer contains 'yes' This evaluates to yes == 'yes' which is not valid syntax because the variable yes is not defined (usually). The correct way to write this expression is as follows: check_expression("'#{answer}' == 'yes'") # where answer contains 'yes' Now this evaluates to 'yes' == 'yes' which is true so the check passes. Ruby / Python Syntax: check_expression("<Expression>") Parameter\tDescriptionExpression\tAn expression to evaluate. Ruby / Python Example: check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0") ","version":"Next","tagName":"h3"},{"title":"check_exception​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#check_exception","content":" Executes a method and expects an exception to be raised. If the method does not raise an exception, a CheckError is raised. Ruby / Python Syntax: check_exception("<Method Name>", "<Method Params - optional>") Parameter\tDescriptionMethod Name\tThe COSMOS scripting method to execute, e.g. 'cmd', etc. Method Params\tParameters for the method Ruby Example: check_exception("cmd", "INST", "COLLECT", "TYPE" => "NORMAL") Python Example: check_exception("cmd", "INST", "COLLECT", {"TYPE": "NORMAL"}) ","version":"Next","tagName":"h3"},{"title":"tlm, tlm_raw, tlm_formatted, tlm_with_units​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#tlm-tlm_raw-tlm_formatted-tlm_with_units","content":" Reads the specified form of a telemetry item. Ruby / Python Syntax: tlm("<Target Name> <Packet Name> <Item Name>") tlm("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type: :RAW) Python Example: value = tlm("INST HEALTH_STATUS COLLECTS") value = tlm("INST", "HEALTH_STATUS", "COLLECTS") value = tlm_raw("INST HEALTH_STATUS COLLECTS") value = tlm_formatted("INST HEALTH_STATUS COLLECTS") value = tlm_with_units("INST HEALTH_STATUS COLLECTS") # Equivalent to tlm_raw raw_value = tlm("INST HEALTH_STATUS COLLECTS", type='RAW') ","version":"Next","tagName":"h3"},{"title":"get_tlm_buffer​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_buffer","content":" Returns a packet hash (similar to get_tlm) along with the raw packet buffer. Ruby / Python Syntax: buffer = get_tlm_buffer("<Target Name> <Packet Name>")['buffer'] buffer = get_tlm_buffer("<Target Name>", "<Packet Name>")['buffer'] Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm_buffer("INST HEALTH_STATUS") packet['buffer'] ","version":"Next","tagName":"h3"},{"title":"get_tlm_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_packet","content":" Returns the names, values, and limits states of all telemetry items in a specified packet. The value is returned as an array of arrays with each entry containing [item_name, item_value, limits_state]. Ruby / Python Syntax: get_tlm_packet("<Target Name> <Packet Name>", <type>) get_tlm_packet("<Target Name>", "<Packet Name>", <type>) Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, or WITH_UNITS (Ruby symbol, Python string). Ruby Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type: :FORMATTED) Python Example: names_values_and_limits_states = get_tlm_packet("INST HEALTH_STATUS", type='FORMATTED') ","version":"Next","tagName":"h3"},{"title":"get_tlm_values (modified in 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_values-modified-in-500","content":" Returns the values and current limits state for a specified set of telemetry items. Items can be in any telemetry packet in the system. They can all be retrieved using the same value type or a specific value type can be specified for each item. Ruby / Python Syntax: values, limits_states, limits_settings, limits_set = get_tlm_values(<Items>) Parameter\tDescriptionItems\tArray of strings of the form ['TGT__PKT__ITEM__TYPE', ... ] Ruby / Python Example: values = get_tlm_values(["INST__HEALTH_STATUS__TEMP1__CONVERTED", "INST__HEALTH_STATUS__TEMP2__RAW"]) print(values) # [[-100.0, :RED_LOW], [0, :RED_LOW]] ","version":"Next","tagName":"h3"},{"title":"get_all_tlm (since 5.13.0, since 5.0.0 as get_all_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm-since-5130-since-500-as-get_all_telemetry","content":" Returns an array of all target packet hashes. Ruby / Python Syntax: get_all_tlm("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby / Python Example: packets = get_all_tlm("INST") print(packets) #[{"target_name"=>"INST", # "packet_name"=>"ADCS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Position and attitude data", # "stale"=>true, # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_all_tlm_names (since 5.13.0, since 5.0.6 as get_all_telemetry_names)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_tlm_names-since-5130-since-506-as-get_all_telemetry_names","content":" Returns an array of all target packet names. Ruby / Python Syntax: get_all_tlm_names("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target Ruby / Python Example: get_all_tlm_names("INST") #=> ["ADCS", "HEALTH_STATUS", ...] ","version":"Next","tagName":"h3"},{"title":"get_tlm (since 5.13.0, since 5.0.0 as get_telemetry)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm-since-5130-since-500-as-get_telemetry","content":" Returns a packet hash. Ruby / Python Syntax: get_tlm("<Target Name> <Packet Name>") get_tlm("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Ruby / Python Example: packet = get_tlm("INST HEALTH_STATUS") print(packet) #{"target_name"=>"INST", # "packet_name"=>"HEALTH_STATUS", # "endianness"=>"BIG_ENDIAN", # "description"=>"Health and status from the instrument", # "stale"=>true, # "processors"=> # [{"name"=>"TEMP1STAT", # "class"=>"OpenC3::StatisticsProcessor", # "params"=>["TEMP1", 100, "CONVERTED"]}, # {"name"=>"TEMP1WATER", # "class"=>"OpenC3::WatermarkProcessor", # "params"=>["TEMP1", "CONVERTED"]}], # "items"=> # [{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # ... ","version":"Next","tagName":"h3"},{"title":"get_item (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_item-since-500","content":" Returns an item hash. Ruby / Python Syntax: get_item("<Target Name> <Packet Name> <Item Name>") get_item("<Target Name>", "<Packet Name>", "<Item Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the packet. Item Name\tName of the item. Ruby / Python Example: item = get_item("INST HEALTH_STATUS CCSDSVER") print(item) #{"name"=>"CCSDSVER", # "bit_offset"=>0, # "bit_size"=>3, # "data_type"=>"UINT", # "description"=>"CCSDS packet version number (See CCSDS 133.0-B-1)", # "endianness"=>"BIG_ENDIAN", # "required"=>false, # "overflow"=>"ERROR"} ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt","content":" Returns the number of times a specified telemetry packet has been received. Ruby / Python Syntax: get_tlm_cnt("<Target Name> <Packet Name>") get_tlm_cnt("<Target Name>", "<Packet Name>") Parameter\tDescriptionTarget Name\tName of the target. Packet Name\tName of the telemetry packet. Ruby / Python Example: tlm_cnt = get_tlm_cnt("INST HEALTH_STATUS") # Number of times the INST HEALTH_STATUS telemetry packet has been received. ","version":"Next","tagName":"h3"},{"title":"set_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_tlm","content":" Sets a telemetry item value in the Command and Telemetry Server. This value will be overwritten if a new packet is received from an interface. For that reason this method is most useful if interfaces are disconnected or for testing via the Script Runner disconnect mode. Manually setting telemetry values allows for the execution of many logical paths in scripts. Ruby / Python Syntax: set_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tValue type RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is :CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type: :RAW) check("INST HEALTH_STATUS COLLECTS == 10", type: :RAW) Python Example: set_tlm("INST HEALTH_STATUS COLLECTS = 5") # type is CONVERTED by default check("INST HEALTH_STATUS COLLECTS == 5") set_tlm("INST HEALTH_STATUS COLLECTS = 10", type='RAW') check("INST HEALTH_STATUS COLLECTS == 10", type='RAW') ","version":"Next","tagName":"h3"},{"title":"inject_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#inject_tlm","content":" Injects a packet into the system as if it was received from an interface. Ruby / Packet Syntax: inject_tlm("<target_name>", "<packet_name>", <item_hash>, <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item Hash\tHash of item name/value for each item. If an item is not specified in the hash, the current value table value will be used. Optional parameter, defaults to nil. type\tType of values in the item hash, RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: inject_tlm("INST", "PARAMS", {'VALUE1' => 5.0, 'VALUE2' => 7.0}) Python Example: inject_tlm("INST", "PARAMS", {'VALUE1': 5.0, 'VALUE2': 7.0}) ","version":"Next","tagName":"h3"},{"title":"override_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#override_tlm","content":" Sets the converted value for a telmetry point in the Command and Telemetry Server. This value will be maintained even if a new packet is received on the interface unless the override is canceled with the normalize_tlm method. Ruby / Python Syntax: override_tlm("<Target> <Packet> <Item> = <Value>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name Value\tValue to set type\tType to override, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type: :RAW) # Only RAW tlm set to 0 Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") # All requests for TEMP1 return 5 override_tlm("INST HEALTH_STATUS TEMP2 = 0", type='RAW') # Only RAW tlm set to 0 ","version":"Next","tagName":"h3"},{"title":"normalize_tlm​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#normalize_tlm","content":" Clears the override of a telmetry point in the Command and Telemetry Server. Ruby / Python Syntax: normalize_tlm("<Target> <Packet> <Item>", <type>) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Item\tItem name type\tType to normalize, ALL (default), RAW, CONVERTED, FORMATTED, WITH_UNITS (Ruby symbol, Python string) Ruby Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type: :RAW) # clear only the RAW override Python Example: normalize_tlm("INST HEALTH_STATUS TEMP1") # clear all overrides normalize_tlm("INST HEALTH_STATUS TEMP1", type='RAW') # clear only the RAW override ","version":"Next","tagName":"h3"},{"title":"get_overrides​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overrides","content":" Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm. Ruby / Python Syntax: get_overrides() Ruby Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") puts get_overrides() #=> # [ {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"RAW", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"CONVERTED", "value"=>5} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"FORMATTED", "value"=>"5"} # {"target_name"=>"INST", "packet_name"=>"HEALTH_STATUS", "item_name"=>"TEMP1", "value_type"=>"WITH_UNITS", "value"=>"5"} ] Python Example: override_tlm("INST HEALTH_STATUS TEMP1 = 5") print(get_overrides()) #=> # [ {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'RAW', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'CONVERTED', 'value': 5}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'FORMATTED', 'value': '5'}, # {'target_name': 'INST', 'packet_name': 'HEALTH_STATUS', 'item_name': 'TEMP1', 'value_type': 'WITH_UNITS', 'value': '5'} ] ","version":"Next","tagName":"h3"},{"title":"Packet Data Subscriptions​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#packet-data-subscriptions","content":" Methods for subscribing to specific packets of data. This provides an interface to ensure that each telemetry packet is received and handled rather than relying on polling where some data may be missed. ","version":"Next","tagName":"h2"},{"title":"subscribe_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#subscribe_packets-since-503","content":" Allows the user to listen for one or more telemetry packets of data to arrive. A unique id is returned which is used to retrieve the data. Ruby / Python Syntax: subscribe_packets(packets) Parameter\tDescriptionpackets\tNested array of target name/packet name pairs that the user wishes to subscribe to. Ruby / Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) ","version":"Next","tagName":"h3"},{"title":"get_packets (since 5.0.3)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packets-since-503","content":" Streams packet data from a previous subscription. Ruby Syntax: get_packets(id, block: nil, count: 1000) Python Syntax: get_packets(id, block=None, count=1000) Parameter\tDescriptionid\tUnique id returned by subscribe_packets block\tNumber of milliseconds to block while waiting for packets form ANY stream, default nil / None (do not block) count\tMaximum number of packets to return from EACH packet stream Ruby Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait 0.1 id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block: 1000, count: 1) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end Python Example: id = subscribe_packets([['INST', 'HEALTH_STATUS'], ['INST', 'ADCS']]) wait(0.1) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") # Reuse ID from last call, allow for 1s wait, only get 1 packet id, packets = get_packets(id, block=1000, count=1) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnt​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnt-1","content":" Get the receive count for a telemetry packet Ruby / Python Syntax: get_tlm_cnt("<Target> <Packet>") get_tlm_cnt("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnt("INST HEALTH_STATUS") #=> 10 ","version":"Next","tagName":"h3"},{"title":"get_tlm_cnts​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_tlm_cnts","content":" Get the receive counts for an array of telemetry packets Ruby / Python Syntax: get_tlm_cnts([["<Target>", "<Packet>"], ["<Target>", "<Packet>"]]) Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_tlm_cnts([["INST", "ADCS"], ["INST", "HEALTH_STATUS"]]) #=> [100, 10] ","version":"Next","tagName":"h3"},{"title":"get_packet_derived_items​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_packet_derived_items","content":" Get the list of derived telemetry items for a packet Ruby / Python Syntax: get_packet_derived_items("<Target> <Packet>") get_packet_derived_items("<Target>", "<Packet>") Parameter\tDescriptionTarget\tTarget name Packet\tPacket name Ruby / Python Example: get_packet_derived_items("INST HEALTH_STATUS") #=> ['PACKET_TIMESECONDS', 'PACKET_TIMEFORMATTED', ...] ","version":"Next","tagName":"h3"},{"title":"Delays​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delays","content":" These methods allow the user to pause the script to wait for telemetry to change or for an amount of time to pass. ","version":"Next","tagName":"h2"},{"title":"wait​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait","content":" Pauses the script for a configurable amount of time (minimum 10ms) or until a converted telemetry item meets given criteria. It supports three different syntaxes as shown. If no parameters are given then an infinite wait occurs until the user presses Go. Note that on a timeout, wait does not stop the script, usually wait_check is a better choice. Ruby / Python Syntax: elapsed = wait() #=> Returns the actual time waited elapsed = wait(<Time>) #=> Returns the actual time waited Parameter\tDescriptionTime\tTime in Seconds to delay for. Ruby / Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type, quiet) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Example: elapsed = wait elapsed = wait 5 success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type: :RAW, quiet: false) Python Example: elapsed = wait() elapsed = wait(5) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10) success = wait("INST HEALTH_STATUS COLLECTS == 3", 10, type='RAW', quiet=False) ","version":"Next","tagName":"h3"},{"title":"wait_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item meets equals an expected value within a tolerance. Note that on a timeout, wait_tolerance does not stop the script, usually wait_check_tolerance is a better choice. Ruby Python Syntax: # Returns true or false based on the whether the expression is true or false success = wait_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional), type, quiet>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW, quiet: true) Python Examples: success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) success = wait_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW', quiet=True) ","version":"Next","tagName":"h3"},{"title":"wait_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will continue. This method can be used to perform more complicated comparisons than using wait as shown in the example. Note that on a timeout, wait_expression does not stop the script, usually wait_check_expression is a better choice. Syntax: # Returns true or false based on the whether the expression is true or false success = wait_expression("<Expression>", <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will proceed if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will continue. Note that on a timeout, wait_packet does not stop the script, usually wait_check_packet is a better choice. Ruby / Python Syntax: # Returns true or false based on the whether the packet was received success = wait_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: success = wait_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"wait_check​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check","content":" Combines the wait and check keywords into one. This pauses the script until the converted value of a telemetry item meets given criteria or times out. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check("<Target Name> <Packet Name> <Item Name> <Comparison>", <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Comparison\tA comparison to perform against the telemetry item. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type: :RAW) Python Example: elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10) elapsed = wait_check("INST HEALTH_STATUS COLLECTS > 5", 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_tolerance​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_tolerance","content":" Pauses the script for a configurable amount of time or until a converted telemetry item equals an expected value within a tolerance. On a timeout the script stops. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_tolerance("<Target Name> <Packet Name> <Item Name>", <Expected Value>, <Tolerance>, <Timeout>, <Polling Rate (optional)>, type) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Expected Value\tExpected value of the telemetry item. Tolerance\t± Tolerance on the expected value. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. type\tNamed parameter specifying the type. RAW, CONVERTED (default), FORMATTED, WITH_UNITS (Ruby symbol, Python string). Ruby Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type: :RAW) Python Example: elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10) elapsed = wait_check_tolerance("INST HEALTH_STATUS COLLECTS", 10.0, 5.0, 10, type='RAW') ","version":"Next","tagName":"h3"},{"title":"wait_check_expression​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_expression","content":" Pauses the script until an expression is evaluated to be true or a timeout occurs. If a timeout occurs the script will stop. This method can be used to perform more complicated comparisons than using wait as shown in the example. Also see the syntax notes for check_expression. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the expression elapsed = wait_check_expression("<Expression>", <Timeout>, <Polling Rate (optional)>) Parameter\tDescriptionExpression\tA ruby expression to evaluate. Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting for the comparison to be true. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. Ruby / Python Example: elapsed = wait_check_expression("tlm('INST HEALTH_STATUS COLLECTS') > 5 and tlm('INST HEALTH_STATUS TEMP1') > 25.0", 10) ","version":"Next","tagName":"h3"},{"title":"wait_check_packet​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#wait_check_packet","content":" Pauses the script until a certain number of packets have been received. If a timeout occurs the script will stop. Ruby / Python Syntax: # Returns the amount of time elapsed waiting for the packets elapsed = wait_check_packet("<Target>", "<Packet>", <Num Packets>, <Timeout>, <Polling Rate (optional)>, quiet) Parameter\tDescriptionTarget\tThe target name Packet\tThe packet name Num Packets\tThe number of packets to receive Timeout\tTimeout in seconds. Script will stop if the wait statement times out waiting specified number of packets. Polling Rate\tHow often the comparison is evaluated in seconds. Defaults to 0.25 if not specified. quiet\tNamed parameter indicating whether to log the result. Defaults to true. Ruby / Python Example: elapsed = wait_check_packet('INST', 'HEALTH_STATUS', 5, 10) # Wait for 5 INST HEALTH_STATUS packets over 10s ","version":"Next","tagName":"h3"},{"title":"Limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits","content":" These methods deal with handling telemetry limits. ","version":"Next","tagName":"h2"},{"title":"limits_enabled?, limits_enabled​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#limits_enabled-limits_enabled","content":" The limits_enabled? method returns true/false depending on whether limits are enabled for a telemetry item. Ruby Syntax: limits_enabled?("<Target Name> <Packet Name> <Item Name>") Python Syntax: limits_enabled("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby Example: enabled = limits_enabled?("INST HEALTH_STATUS TEMP1") #=> true or false Python Example: enabled = limits_enabled("INST HEALTH_STATUS TEMP1") #=> True or False ","version":"Next","tagName":"h3"},{"title":"enable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits","content":" Enables limits monitoring for the specified telemetry item. Ruby / Python Syntax: enable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: enable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"disable_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits","content":" Disables limits monitoring for the specified telemetry item. Ruby / Python Syntax: disable_limits("<Target Name> <Packet Name> <Item Name>") Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Ruby / Python Example: disable_limits("INST HEALTH_STATUS TEMP1") ","version":"Next","tagName":"h3"},{"title":"enable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#enable_limits_group","content":" Enables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: enable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: enable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"disable_limits_group​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_limits_group","content":" Disables limits monitoring on a set of telemetry items specified in a limits group. Ruby / Python Syntax: disable_limits_group("<Limits Group Name>") Parameter\tDescriptionLimits Group Name\tName of the limits group. Ruby / Python Example: disable_limits_group("SAFE_MODE") ","version":"Next","tagName":"h3"},{"title":"get_limits_groups​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_groups","content":" Returns the list of limits groups in the system. Ruby / Python Syntax / Example: limits_groups = get_limits_groups() ","version":"Next","tagName":"h3"},{"title":"set_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits_set","content":" Sets the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax: set_limits_set("<Limits Set Name>") Parameter\tDescriptionLimits Set Name\tName of the limits set. Ruby / Python Example: set_limits_set("DEFAULT") ","version":"Next","tagName":"h3"},{"title":"get_limits_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_set","content":" Returns the name of the current limits set. The default limits set is DEFAULT. Ruby / Python Syntax / Example: limits_set = get_limits_set() ","version":"Next","tagName":"h3"},{"title":"get_limits_sets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_sets","content":" Returns the list of limits sets in the system. Ruby / Python Syntax / Example: limits_sets = get_limits_sets() ","version":"Next","tagName":"h3"},{"title":"get_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits","content":" Returns hash / dict of all the limits settings for a telemetry point. Ruby / Python Syntax: get_limits(<Target Name>, <Packet Name>, <Item Name>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item Packet Name\tName of the telemetry packet of the telemetry item Item Name\tName of the telemetry item Ruby Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') puts result #=> {"DEFAULT"=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], "TVAC"=>[-80.0, -30.0, 30.0, 80.0]} puts result.keys #=> ['DEFAULT', 'TVAC'] puts result['DEFAULT'] #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] Python Example: result = get_limits('INST', 'HEALTH_STATUS', 'TEMP1') print(result) #=> {'DEFAULT'=>[-80.0, -70.0, 60.0, 80.0, -20.0, 20.0], 'TVAC'=>[-80.0, -30.0, 30.0, 80.0]} print(result.keys()) #=> dict_keys(['DEFAULT', 'TVAC']) print(result['DEFAULT']) #=> [-80.0, -70.0, 60.0, 80.0, -20.0, 20.0] ","version":"Next","tagName":"h3"},{"title":"set_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_limits","content":" The set_limits_method sets limits settings for a telemetry point. Note: In most cases it would be better to update your config files or use different limits sets rather than changing limits settings in realtime. Ruby / Python Syntax: set_limits(<Target Name>, <Packet Name>, <Item Name>, <Red Low>, <Yellow Low>, <Yellow High>, <Red High>, <Green Low (optional)>, <Green High (optional)>, <Limits Set (optional)>, <Persistence (optional)>, <Enabled (optional)>) Parameter\tDescriptionTarget Name\tName of the target of the telemetry item. Packet Name\tName of the telemetry packet of the telemetry item. Item Name\tName of the telemetry item. Red Low\tRed Low setting for this limits set. Any value below this value will be make the item red. Yellow Low\tYellow Low setting for this limits set. Any value below this value but greater than Red Low will be make the item yellow. Yellow High\tYellow High setting for this limits set. Any value above this value but less than Red High will be make the item yellow. Red High\tRed High setting for this limits set. Any value above this value will be make the item red. Green Low\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Green High\tOptional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. Limits Set\tOptional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set. Persistence\tOptional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets. Enabled\tOptional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets. Ruby / Python Example: set_limits('INST', 'HEALTH_STATUS', 'TEMP1', -10.0, 0.0, 50.0, 60.0, 30.0, 40.0, 'TVAC', 1, true) ","version":"Next","tagName":"h3"},{"title":"get_out_of_limits​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_out_of_limits","content":" Returns an array with the target_name, packet_name, item_name, and limits_state of all items that are out of their limits ranges. Ruby / Python Syntax / Example: out_of_limits_items = get_out_of_limits() ","version":"Next","tagName":"h3"},{"title":"get_overall_limits_state​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_overall_limits_state","content":" Returns the overall limits state for the COSMOS system. Returns 'GREEN', 'YELLOW', or 'RED'. Ruby / Python Syntax: get_overall_limits_state(<Ignored Items> (optional)) Parameter\tDescriptionIgnored Items\tArray of arrays with items to ignore when determining the overall limits state. [['TARGET_NAME', 'PACKET_NAME', 'ITEM_NAME'], ...] Ruby / Python Example: overall_limits_state = get_overall_limits_state() overall_limits_state = get_overall_limits_state([['INST', 'HEALTH_STATUS', 'TEMP1']]) ","version":"Next","tagName":"h3"},{"title":"get_limits_events​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_limits_events","content":" Returns limits events based on an offset returned from the last time it was called. Ruby / Python Syntax: get_limits_event(<Offset>, count) Parameter\tDescriptionOffset\tOffset returned by the previous call to get_limits_event. Default is nil for the initial call count\tNamed parameter specifying the maximum number of limits events to return. Default is 100 Ruby / Python Example: events = get_limits_event() print(events) #[["1613077715557-0", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"YELLOW_LOW", # "new_limits_state"=>"RED_LOW", # "time_nsec"=>"1", # "message"=>"message"}], # ["1613077715557-1", # {"type"=>"LIMITS_CHANGE", # "target_name"=>"TGT", # "packet_name"=>"PKT", # "item_name"=>"ITEM", # "old_limits_state"=>"RED_LOW", # "new_limits_state"=>"YELLOW_LOW", # "time_nsec"=>"2", # "message"=>"message"}]] # The last offset is the first item ([0]) in the last event ([-1]) events = get_limits_event(events[-1][0]) print(events) #[["1613077715657-0", # {"type"=>"LIMITS_CHANGE", # ... ","version":"Next","tagName":"h3"},{"title":"Targets​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#targets","content":" Methods for getting knowledge about targets. ","version":"Next","tagName":"h2"},{"title":"get_target_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_names","content":" Returns a list of the targets in the system in an array. Ruby Syntax / Example: targets = get_target_names() #=> ['INST', 'INST2', 'EXAMPLE', 'TEMPLATED'] ","version":"Next","tagName":"h3"},{"title":"get_target​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target","content":" Returns a target hash containing all the information about the target. Ruby Syntax: get_target("<Target Name>") Parameter\tDescriptionTarget Name\tName of the target. Ruby Example: target = get_target("INST") print(target) #{"name"=>"INST", # "folder_name"=>"INST", # "requires"=>[], # "ignored_parameters"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "PKTID"], # "ignored_items"=> # ["CCSDSVER", # "CCSDSTYPE", # "CCSDSSHF", # "CCSDSAPID", # "CCSDSSEQFLAGS", # "CCSDSSEQCNT", # "CCSDSLENGTH", # "RECEIVED_COUNT", # "RECEIVED_TIMESECONDS", # "RECEIVED_TIMEFORMATTED"], # "limits_groups"=>[], # "cmd_tlm_files"=> # [".../targets/INST/cmd_tlm/inst_cmds.txt", # ".../targets/INST/cmd_tlm/inst_tlm.txt"], # "cmd_unique_id_mode"=>false, # "tlm_unique_id_mode"=>false, # "id"=>nil, # "updated_at"=>1613077058266815900, # "plugin"=>nil} ","version":"Next","tagName":"h3"},{"title":"get_target_interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_target_interfaces","content":" Returns the interfaces for all targets. The return value is an array of arrays where each subarray contains the target name, and a String of all the interface names. Syntax / Example: target_ints = get_target_interfaces() target_ints.each do |target_name, interfaces| puts "Target: #{target_name}, Interfaces: #{interfaces}" end ","version":"Next","tagName":"h3"},{"title":"Interfaces​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interfaces","content":" These methods allow the user to manipulate COSMOS interfaces. ","version":"Next","tagName":"h2"},{"title":"get_interface (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface-since-500","content":" Returns an interface status including the as built interface and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: interface = get_interface("INST_INT") print(interface) #{"name"=>"INST_INT", # "config_params"=>["interface.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_interface_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_interface_names","content":" Returns a list of the interfaces in the system in an array. Ruby / Python Syntax / Example: interface_names = get_interface_names() #=> ['INST_INT', 'INST2_INT', 'EXAMPLE_INT', 'TEMPLATED_INT'] ","version":"Next","tagName":"h3"},{"title":"connect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_interface","content":" Connects to targets associated with a COSMOS interface. Ruby / Python Syntax: connect_interface("<Interface Name>", <Interface Parameters (optional)>) Parameter\tDescriptionInterface Name\tName of the interface. Interface Parameters\tParameters used to initialize the interface. If none are given then the interface will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_interface("INT1") connect_interface("INT1", hostname, port) ","version":"Next","tagName":"h3"},{"title":"disconnect_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_interface","content":" Disconnects from targets associated with a COSMOS interface. Ruby / Python Syntax: disconnect_interface("<Interface Name>") Parameter\tDescriptionInterface Name\tName of the interface. Ruby / Python Example: disconnect_interface("INT1") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_interface","content":" Starts logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to start raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_interface","content":" Stops logging of raw data on one or all interfaces. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_interface("<Interface Name (optional)>") Parameter\tDescriptionInterface Name\tName of the Interface to command to stop raw data logging. Defaults to 'ALL' which causes all interfaces that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_interface("int1") ","version":"Next","tagName":"h3"},{"title":"get_all_interface_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_interface_info","content":" Returns information about all interfaces. The return value is an array of arrays where each subarray contains the interface name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, command count, and telemetry count. Ruby Syntax / Example: interface_info = get_all_interface_info() interface_info.each do |interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count| puts "Interface: #{interface_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Cmd count: #{cmd_count}, Tlm count: #{tlm_count}" end Python Syntax / Example: interface_info = get_all_interface_info() for interface in interface_info(): # [interface_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, cmd_count, tlm_count] print(f"Interface: {interface[0]}, Connection state: {interface[1]}, Num connected clients: {interface[2]}") print(f"Transmit queue size: {interface[3]}, Receive queue size: {interface[4]}, Bytes transmitted: {interface[5]}, Bytes received: {interface[6]}") print(f"Cmd count: {interface[7]}, Tlm count: {interface[8]}") ","version":"Next","tagName":"h3"},{"title":"map_target_to_interface​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#map_target_to_interface","content":" Map a target to an interface allowing target commands and telemetry to be processed by that interface. Ruby / Python Syntax: map_target_to_interface("<Target Name>", "<Interface Name>", cmd_only, tlm_only, unmap_old) Parameter\tDescriptionTarget Name\tName of the target Interface Name\tName of the interface cmd_only\tNamed parameter whether to map target commands only to the interface (default: false) tlm_only\tNamed parameter whether to map target telemetry only to the interface (default: false) unmap_old\tNamed parameter whether remove the target from all existing interfaces (default: true) Ruby Example: map_target_to_interface("INST", "INST_INT", unmap_old: false) Python Example: map_target_to_interface("INST", "INST_INT", unmap_old=False) ","version":"Next","tagName":"h3"},{"title":"interface_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_cmd","content":" Send a command directly to an interface. This has no effect in the standard COSMOS interfaces but can be implemented by a custom interface to change behavior. Ruby / Python Syntax: interface_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: interface_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"interface_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#interface_protocol_cmd","content":" Send a command directly to an interface protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: interface_protocol_cmd("<Interface Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionInterface Name\tName of the interface Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: interface_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Routers​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#routers","content":" These methods allow the user to manipulate COSMOS routers. ","version":"Next","tagName":"h2"},{"title":"connect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#connect_router","content":" Connects a COSMOS router. Ruby / Python Syntax: connect_router("<Router Name>", <Router Parameters (optional)>) Parameter\tDescriptionRouter Name\tName of the router. Router Parameters\tParameters used to initialize the router. If none are given then the router will use the parameters that were given in the server configuration file. Ruby / Python Example: connect_ROUTER("INST_ROUTER") connect_router("INST_ROUTER", 7779, 7779, nil, 10.0, 'PREIDENTIFIED') ","version":"Next","tagName":"h3"},{"title":"disconnect_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_router","content":" Disconnects a COSMOS router. Ruby / Python Syntax: disconnect_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: disconnect_router("INT1_ROUTER") ","version":"Next","tagName":"h3"},{"title":"get_router_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router_names","content":" Returns a list of the routers in the system in an array. Ruby / Python Syntax / Example: router_names = get_router_names() #=> ['ROUTER_INT'] ","version":"Next","tagName":"h3"},{"title":"get_router (since 5.0.0)​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_router-since-500","content":" Returns a router status including the as built router and its current status (cmd/tlm counters, etc). Ruby / Python Syntax: get_router("<Router Name>") Parameter\tDescriptionRouter Name\tName of the router. Ruby / Python Example: router = get_router("ROUTER_INT") print(router) #{"name"=>"ROUTER_INT", # "config_params"=>["router.rb"], # "target_names"=>["INST"], # "connect_on_startup"=>true, # "auto_reconnect"=>true, # "reconnect_delay"=>5.0, # "disable_disconnect"=>false, # "options"=>[], # "protocols"=>[], # "log"=>true, # "log_raw"=>false, # "plugin"=>nil, # "updated_at"=>1613076213535979900, # "state"=>"CONNECTED", # "clients"=>0, # "txsize"=>0, # "rxsize"=>0, # "txbytes"=>0, # "rxbytes"=>0, # "txcnt"=>0, # "rxcnt"=>0} ","version":"Next","tagName":"h3"},{"title":"get_all_router_info​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_router_info","content":" Returns information about all routers. The return value is an array of arrays where each subarray contains the router name, connection state, number of connected clients, transmit queue size, receive queue size, bytes transmitted, bytes received, packets received, and packets sent. Ruby Syntax / Example: router_info = get_all_router_info() router_info.each do |router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent| puts "Router: #{router_name}, Connection state: #{connection_state}, Num connected clients: #{num_clients}" puts "Transmit queue size: #{tx_q_size}, Receive queue size: #{rx_q_size}, Bytes transmitted: #{tx_bytes}, Bytes received: #{rx_bytes}" puts "Packets received: #{pkts_rcvd}, Packets sent: #{pkts_sent}" end Python Syntax / Example: router_info = get_all_router_info() # router_name, connection_state, num_clients, tx_q_size, rx_q_size, tx_bytes, rx_bytes, pkts_rcvd, pkts_sent for router in router_info: print(f"Router: {router[0]}, Connection state: {router[1]}, Num connected clients: {router[2]}") print(f"Transmit queue size: {router[3]}, Receive queue size: {router[4]}, Bytes transmitted: {router[5]}, Bytes received: {router[6]}") print(f"Packets received: {router[7]}, Packets sent: {router[8]}") ","version":"Next","tagName":"h3"},{"title":"start_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start_raw_logging_router","content":" Starts logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: start_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to start raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to start logging raw data. Ruby / Python Example: start_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"stop_raw_logging_router​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stop_raw_logging_router","content":" Stops logging of raw data on one or all routers. This is for debugging purposes only. Ruby / Python Syntax: stop_raw_logging_router("<Router Name (optional)>") Parameter\tDescriptionRouter Name\tName of the Router to command to stop raw data logging. Defaults to 'ALL' which causes all routers that support raw data logging to stop logging raw data. Ruby / Python Example: stop_raw_logging_router("router1") ","version":"Next","tagName":"h3"},{"title":"router_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_cmd","content":" Send a command directly to a router. This has no effect in the standard COSMOS routers but can be implemented by a custom router to change behavior. Ruby / Python Syntax: router_cmd("<Router Name>", "<Command Name>", "<Command Parameters>") Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command Ruby / Python Example: router_cmd("INST", "DISABLE_CRC") ","version":"Next","tagName":"h3"},{"title":"router_protocol_cmd​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#router_protocol_cmd","content":" Send a command directly to an router protocol. This has no effect in the standard COSMOS protocols but can be implemented by a custom protocol to change behavior. Ruby / Python Syntax: router_protocol_cmd("<Router Name>", "<Command Name>", "<Command Parameters>", read_write, index) Parameter\tDescriptionRouter Name\tName of the router Command Name\tName of the command to send Command Parameters\tAny parameters to send with the command read_write\tWhether command gets send to read or write protocols. Must be one of READ, WRITE, or READ_WRITE (Ruby symbols, Python strings). The default is READ_WRITE. index\tWhich protocol in the stack the command should apply to. The default is -1 which applies the command to all. Ruby Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write: :READ_WRITE, index: -1) Python Example: router_protocol_cmd("INST", "DISABLE_CRC", read_write='READ_WRITE', index=-1) ","version":"Next","tagName":"h3"},{"title":"Stashing Data​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stashing-data","content":" These methods allow the user to store temporary data into COSMOS and retrieve it. The storage is implemented as a key / value storage (Ruby hash or Python dict). This can be used in scripts to store information that applies across multiple scripts or multiple runs of a single script. ","version":"Next","tagName":"h2"},{"title":"stash_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_set","content":" Sets a stash item. Ruby / Python Syntax: stash_set("<Stash Key>", <Stash Value>) Parameter\tDescriptionStash Key\tName of the stash key to set Stash Value\tValue to set Ruby / Python Example: stash_set('run_count', 5) stash_set('setpoint', 23.4) ","version":"Next","tagName":"h3"},{"title":"stash_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_get","content":" Returns the specified stash item. Ruby / Python Syntax: stash_get("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to return Ruby / Python Example: stash_get('run_count') #=> 5 ","version":"Next","tagName":"h3"},{"title":"stash_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_all","content":" Returns all the stash items as a Ruby hash or Python dict. Ruby Syntax / Example: stash_all() #=> ['run_count' => 5, 'setpoint' => 23.4] Python Syntax / Example: stash_all() #=> ['run_count': 5, 'setpoint': 23.4] ","version":"Next","tagName":"h3"},{"title":"stash_keys​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_keys","content":" Returns all the stash keys. Ruby / Python Syntax / Example: stash_keys() #=> ['run_count', 'setpoint'] ","version":"Next","tagName":"h3"},{"title":"stash_delete​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#stash_delete","content":" Deletes a stash item. Note this actions is permanent! Ruby / Python Syntax: stash_delete("<Stash Key>") Parameter\tDescriptionStash Key\tName of the stash key to delete Ruby / Python Example: stash_delete("run_count") ","version":"Next","tagName":"h3"},{"title":"Executing Other Procedures​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#executing-other-procedures","content":" These methods allow the user to bring in files of subroutines and execute other test procedures. ","version":"Next","tagName":"h2"},{"title":"start​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#start","content":" Starts execution of another high level test procedure. No parameters can be given to high level test procedures. If parameters are necessary, then consider using a subroutine. Syntax: start("<Procedure Filename>") Parameter\tDescriptionProcedure Filename\tName of the test procedure file. These files are normally in the procedures folder but may be anywhere in the Ruby search path. Additionally, absolute paths are supported. Example: start("test1.rb") ","version":"Next","tagName":"h3"},{"title":"load_utility​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_utility","content":" Reads in a script file that contains useful subroutines for use in your test procedure. When these subroutines run in ScriptRunner or TestRunner, their lines will be highlighted. If you want to import subroutines but do not want their lines to be highlighted in ScriptRunner or TestRunner, use the standard Ruby 'load' or 'require' statement or Python 'import' statement. Ruby / Python Syntax: load_utility("TARGET/lib/<Utility Filename>") Parameter\tDescriptionUtility Filename\tName of the script file containing subroutines including the .rb or .py extension. You need to include the full target name and path such as TARGET/lib/utility.rb Example: load_utility("TARGET/lib/mode_changes.rb") # Ruby load_utility("TARGET/lib/mode_changes.py") # Python ","version":"Next","tagName":"h3"},{"title":"Opening, Closing & Creating Telemetry Screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#opening-closing--creating-telemetry-screens","content":" These methods allow the user to open, close or create unique telemetry screens from within a test procedure. ","version":"Next","tagName":"h2"},{"title":"display_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#display_screen","content":" Opens a telemetry screen at the specified position. Ruby / Python Syntax: display_screen("<Target Name>", "<Screen Name>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen Ruby / Python Example: display_screen("INST", "ADCS", 100, 200) ","version":"Next","tagName":"h3"},{"title":"clear_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_screen","content":" Closes an open telemetry screen. Ruby / Python Syntax: clear_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: clear_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"clear_all_screens​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#clear_all_screens","content":" Closes all open screens. Ruby / Python Syntax / Example: clear_all_screens() ","version":"Next","tagName":"h3"},{"title":"delete_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_screen","content":" Deletes an existing Telemetry Viewer screen. Ruby / Python Syntax: delete_screen("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: delete_screen("INST", "ADCS") ","version":"Next","tagName":"h3"},{"title":"get_screen_list​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_list","content":" The get_screen_list returns a list of available telemetry screens. Ruby / Python Syntax / Example: get_screen_list() #=> ['INST ADCS', 'INST COMMANDING', ...] ","version":"Next","tagName":"h3"},{"title":"get_screen_definition​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_screen_definition","content":" The get_screen_definition returns the text file contents of a telemetry screen definition. Syntax: get_screen_definition("<Target Name>", "<Screen Name>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Ruby / Python Example: screen_definition = get_screen_definition("INST", "HS") ","version":"Next","tagName":"h3"},{"title":"create_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#create_screen","content":" The create_screen allows you to create a screen directly from a script. This screen is saved to Telemetry Viewer for future use in that application. Python / Ruby Syntax: create_screen("<Target Name>", "<Screen Name>" "<Definition>") Parameter\tDescriptionTarget Name\tTelemetry screen target name Screen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) Python Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "New Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string create_screen("INST", "LOCAL", screen_def) ","version":"Next","tagName":"h3"},{"title":"local_screen​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#local_screen","content":" The local_screen allows you to create a local screen directly from a script which is not permanently saved to the Telemetry Viewer screen list. This is useful for one off screens that help users interact with scripts. Python / Ruby Syntax: local_screen("<Screen Name>" "<Definition>", <X Position (optional)>, <Y Position (optional)>) Parameter\tDescriptionScreen Name\tScreen name within the specified target Definition\tThe entire screen definition as a String X Position\tX coordinate for the upper left hand corner of the screen Y Position\tY coordinate for the upper left hand corner of the screen NOTE: It is possible to specify a X, Y location off the visible display. If you do so and try to re-create the screen it will not display (because it is already displayed). Try issuing a clear_all_screens() first to clear any screens off the visible display space. Ruby Example: screen_def = ' SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END ' # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) Python Example: screen_def = """ SCREEN AUTO AUTO 0.1 FIXED VERTICAL TITLE "Local Screen" VERTICALBOX LABELVALUE INST HEALTH_STATUS TEMP1 END END """ # Here we pass in the screen definition as a string local_screen("TESTING", screen_def, 600, 75) ","version":"Next","tagName":"h3"},{"title":"Script Runner Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-settings","content":" These methods allow the user to control various Script Runner settings. ","version":"Next","tagName":"h2"},{"title":"set_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_line_delay","content":" This method sets the line delay in script runner. Ruby / Python Syntax: set_line_delay(<Delay>) Parameter\tDescriptionDelay\tThe amount of time script runner will wait between lines when executing a script, in seconds. Should be ≥ 0.0 Ruby / Python Example: set_line_delay(0.0) ","version":"Next","tagName":"h3"},{"title":"get_line_delay​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_line_delay","content":" The method gets the line delay that script runner is currently using. Ruby / Python Syntax / Example: curr_line_delay = get_line_delay() ","version":"Next","tagName":"h3"},{"title":"set_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_max_output","content":" This method sets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax: set_max_output(<Characters>) Parameter\tDescriptionCharacters\tNumber of characters to output before truncating Ruby / Python Example: set_max_output(100) ","version":"Next","tagName":"h3"},{"title":"get_max_output​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_max_output","content":" The method gets the maximum number of characters to display in Script Runner output before truncating. Default is 50,000 characters. Ruby / Python Syntax / Example: print(get_max_output()) #=> 50000 ","version":"Next","tagName":"h3"},{"title":"disable_instrumentation​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disable_instrumentation","content":" Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented. Consider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script. Use with Caution Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop. Ruby Syntax / Example: disable_instrumentation do 1000.times do # Don't want this to have to highlight 1000 times end end Python Syntax / Example: with disable_instrumentation(): for x in range(1000): # Don't want this to have to highlight 1000 times ","version":"Next","tagName":"h3"},{"title":"Script Runner Suites​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-suites","content":" Creating Script Runner suites utilizes APIs to add groups to the defined suites. For more information please see running script suites. ","version":"Next","tagName":"h2"},{"title":"add_group, add_group_setup, add_group_teardown, add_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#add_group-add_group_setup-add_group_teardown-add_script","content":" Adds a group's methods to the suite. The add_group method adds all the group methods including setup, teardown, and all the methods starting with 'script_' or 'test_'. The add_group_setup method adds just the setup method defined in the group class. The add_group_teardown method adds just the teardown method defined in the group class. The add_script method adds an individual method to the suite. NOTE: add_script can add any method including those not named with 'script_' or 'test_'. Ruby / Python Syntax: add_group(<Group Class>) add_group_setup(<Group Class>) add_group_teardown(<Group Class>) add_script(<Group Class>, <Method>) Parameter\tDescriptionGroup Class\tName of the previously defined class which inherits from the OpenC3 Group class. The Ruby API passes a String with the name of the group. The Python API passes the Group class directly. Method\tName of the method in the OpenC3 Group class. The Ruby API passes a String with the name of the method. The Python API passes the Group class directly. Ruby Example: load 'openc3/script/suite.rb' class ExampleGroup < OpenC3::Group def script_1 # Insert test code here ... end end class WrapperGroup < OpenC3::Group def setup # Insert test code here ... end def my_method # Insert test code here ... end def teardown # Insert test code here ... end end class MySuite < OpenC3::Suite def initialize super() add_group('ExampleGroup') add_group_setup('WrapperGroup') add_script('WrapperGroup', 'my_method') add_group_teardown('WrapperGroup') end end Python Example: from openc3.script import * from openc3.script.suite import Group, Suite class ExampleGroup(Group): def script_1(self): # Insert test code here ... pass class WrapperGroup(Group): def setup(self): # Insert test code here ... pass def my_method(self): # Insert test code here ... pass def teardown(self): # Insert test code here ... pass class MySuite(Suite): def __init__(self): super().__init__() self.add_group(ExampleGroup) self.add_group_setup(WrapperGroup) self.add_script(WrapperGroup, 'my_method') self.add_group_teardown(WrapperGroup) ","version":"Next","tagName":"h3"},{"title":"Script Runner Debugging​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#script-runner-debugging","content":" These methods allow the user to debug scripts with ScriptRunner. ","version":"Next","tagName":"h2"},{"title":"step_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#step_mode","content":" Places ScriptRunner into step mode where Go must be hit to proceed to the next line. Ruby / Python Syntax / Example: step_mode() ","version":"Next","tagName":"h3"},{"title":"run_mode​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#run_mode","content":" Places ScriptRunner into run mode where the next line is run automatically. Ruby / Python Syntax / Example: run_mode() ","version":"Next","tagName":"h3"},{"title":"disconnect_script​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#disconnect_script","content":" Puts scripting into disconnect mode. In disconnect mode, commands are not sent to targets, checks are all successful, and waits expire instantly. Requests for telemetry (tlm()) typically return 0. Disconnect mode is useful for dry-running scripts without having connected targets. Ruby / Python Syntax / Example: disconnect_script() ","version":"Next","tagName":"h3"},{"title":"Metadata​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata","content":" Metadata allows you to mark the regular target / packet data logged in COSMOS with your own fields. This metadata can then be searched and used to filter data when using other COSMOS tools. ","version":"Next","tagName":"h2"},{"title":"metadata_all​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_all","content":" Returns all the metadata that was previously set Ruby / Python Syntax: metadata_all() Parameter\tDescriptionlimit\tAmount of metadata items to return. Default is 100. Ruby Example: metadata_all(limit: 500) Python Example: metadata_all(limit='500') ","version":"Next","tagName":"h3"},{"title":"metadata_get​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_get","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_get(start) Parameter\tDescriptionstart\tNamed parameter, time at which to retrieve metadata as integer seconds from epoch Ruby Example: metadata_get(start: 500) Python Example: metadata_get(start='500') ","version":"Next","tagName":"h3"},{"title":"metadata_set​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_set","content":" Returns metadata that was previously set Ruby / Python Syntax: metadata_set(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to store as metadata. start\tNamed parameter, time at which to store metadata. Default is now. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_set({ 'key' => 'value' }) metadata_set({ 'key' => 'value' }, color: '#ff5252') Python Example: metadata_set({ 'key': 'value' }) metadata_set({ 'key': 'value' }, color='ff5252') ","version":"Next","tagName":"h3"},{"title":"metadata_update​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_update","content":" Updates metadata that was previously set Ruby / Python Syntax: metadata_update(<Metadata>, start, color) Parameter\tDescriptionMetadata\tHash or dict of key value pairs to update as metadata. start\tNamed parameter, time at which to update metadata. Default is latest metadata. color\tNamed parameter, color to display metadata in the calendar. Default is #003784. Ruby Example: metadata_update({ 'key' => 'value' }) Python Example: metadata_update({ 'key': 'value' }) ","version":"Next","tagName":"h3"},{"title":"metadata_input​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#metadata_input","content":" Prompts the user to set existing metadata values or create new a new one. Ruby / Python Syntax / Example: metadata_input() ","version":"Next","tagName":"h3"},{"title":"Settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#settings","content":" COSMOS has several settings typically accessed through the Admin Settings tab. These APIs allow programmatic access to those same settings. ","version":"Next","tagName":"h2"},{"title":"list_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_settings","content":" Return all the current COSMOS setting name. These are the names that should be used in the other APIs. Ruby Syntax / Example: puts list_settings() #=> ["pypi_url", "rubygems_url", "source_url", "version"] Python Syntax / Example: print(list_settings()) #=> ['pypi_url', 'rubygems_url', 'source_url', 'version'] ","version":"Next","tagName":"h3"},{"title":"get_all_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_all_settings","content":" Return all the current COSMOS settings along with their values. Ruby Syntax / Example: puts get_all_settings() #=> # { "version"=>{"name"=>"version", "data"=>"5.11.4-beta0", "updated_at"=>1698074299509456507}, # "pypi_url"=>{"name"=>"pypi_url", "data"=>"https://pypi.org/simple", "updated_at"=>1698026776574347007}, # "rubygems_url"=>{"name"=>"rubygems_url", "data"=>"https://rubygems.org", "updated_at"=>1698026776574105465}, # "source_url"=>{"name"=>"source_url", "data"=>"https://github.com/OpenC3/cosmos", "updated_at"=>1698026776573904132} } Python Syntax / Example: print(get_all_settings()) #=> # { 'version': {'name': 'version', 'data': '5.11.4-beta0', 'updated_at': 1698074299509456507}, # 'pypi_url': {'name': 'pypi_url', 'data': 'https://pypi.org/simple', 'updated_at': 1698026776574347007}, # 'rubygems_url': {'name': 'rubygems_url', 'data': 'https://rubygems.org', 'updated_at': 1698026776574105465}, # 'source_url': {'name': 'source_url', 'data': 'https://github.com/OpenC3/cosmos', 'updated_at': 1698026776573904132} } ","version":"Next","tagName":"h3"},{"title":"get_setting, get_settings​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#get_setting-get_settings","content":" Return the data from the given COSMOS setting. Returns nil (Ruby) or None (Python) if the setting does not exist. Ruby / Python Syntax: get_setting(<Setting Name>) get_settings(<Setting Name1>, <Setting Name2>, ...) Parameter\tDescriptionSetting Name\tName of the setting to return Ruby Example: puts get_setting('version') #=> "5.11.4-beta0" puts get_settings('version', 'rubygems_url') #=> ["5.11.4-beta0", "https://rubygems.org"] Python Example: print(get_setting('version')) #=> '5.11.4-beta0' print(get_setting('version', 'rubygems_url')) #=> ['5.11.4-beta0', 'https://rubygems.org'] ","version":"Next","tagName":"h3"},{"title":"set_setting​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#set_setting","content":" Sets the given setting value. Admin Passwork Required This API is only accessible externally (not within Script Runner) and requires the admin password. Ruby / Python Syntax: set_setting(<Setting Name>, <Setting Value>) Parameter\tDescriptionSetting Name\tName of the setting to change Setting Value\tSetting value to set Ruby Example: set_setting('rubygems_url', 'https://mygemserver') puts get_settings('rubygems_url') #=> "https://mygemserver" Python Example: set_setting('pypi_url', 'https://mypypiserver') print(get_settings('pypi_url')) #=> 'https://mypypiserver' ","version":"Next","tagName":"h3"},{"title":"Configuration​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#configuration","content":" Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration. ","version":"Next","tagName":"h2"},{"title":"config_tool_names​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#config_tool_names","content":" List all the configuration tool names which are used as the first parameter in the other APIs. Ruby Syntax / Example: names = config_tool_names() pp names #=> ["telemetry_grapher", "data_viewer"] Python Syntax / Example: names = config_tool_names() print(names) #=> ['telemetry_grapher', 'data_viewer'] ","version":"Next","tagName":"h3"},{"title":"list_configs​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#list_configs","content":" List all the saved configuration names under the given tool name. Ruby / Python Syntax: list_configs(<Tool Name>) Parameter\tDescriptionTool Name\tName of the tool to retrieve configuration names from Ruby Example: configs = list_configs('telemetry_grapher') pp configs #=> ['adcs', 'temps'] Python Example: configs = list_configs('telemetry_grapher') print(configs) #=> ['adcs', 'temps'] ","version":"Next","tagName":"h3"},{"title":"load_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#load_config","content":" Load a particular tool configuration. Tool Configuration Tool configurations are not fully documented and subject to change between releases. Only modify values returned by load_config and do not change any keys. Ruby / Python Syntax: load_config(<Tool Name>, <Configuration Name>) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration Ruby / Python Example: config = load_config('telemetry_grapher', 'adcs') print(config) #=> # [ { # "items": [ # { # "targetName": "INST", # "packetName": "ADCS", # "itemName": "CCSDSVER", # ... ","version":"Next","tagName":"h3"},{"title":"save_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#save_config","content":" Save a particular tool configuration. Ruby / Python Syntax: save_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to save the configuration in local mode Ruby / Python Example: save_config('telemetry_grapher', 'adcs', config) ","version":"Next","tagName":"h3"},{"title":"delete_config​","type":1,"pageTitle":"Scripting API Guide","url":"/docs/guides/scripting-api#delete_config","content":" Delete a particular tool configuration. Ruby / Python Syntax: delete_config(<Tool Name>, <Configuration Name>, local_mode) Parameter\tDescriptionTool Name\tName of the tool Configuration Name\tName of the configuration local_mode\tWhether to delete the configuration in local mode Ruby / Python Example: delete_config('telemetry_grapher', 'adcs') ","version":"Next","tagName":"h3"}],"options":{"id":"default"}} \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index edaa0c9367..5a2a36fac3 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1 +1 @@ -https://docs.openc3.com/markdown-pageweekly0.5https://docs.openc3.com/docsweekly0.5https://docs.openc3.com/docs/configurationweekly0.5https://docs.openc3.com/docs/configuration/commandweekly0.5https://docs.openc3.com/docs/configuration/formatweekly0.5https://docs.openc3.com/docs/configuration/interfacesweekly0.5https://docs.openc3.com/docs/configuration/pluginsweekly0.5https://docs.openc3.com/docs/configuration/protocolsweekly0.5https://docs.openc3.com/docs/configuration/ssl-tlsweekly0.5https://docs.openc3.com/docs/configuration/tableweekly0.5https://docs.openc3.com/docs/configuration/targetweekly0.5https://docs.openc3.com/docs/configuration/telemetryweekly0.5https://docs.openc3.com/docs/configuration/telemetry-screensweekly0.5https://docs.openc3.com/docs/developmentweekly0.5https://docs.openc3.com/docs/development/curlweekly0.5https://docs.openc3.com/docs/development/developingweekly0.5https://docs.openc3.com/docs/development/host-installweekly0.5https://docs.openc3.com/docs/development/json-apiweekly0.5https://docs.openc3.com/docs/development/log-structureweekly0.5https://docs.openc3.com/docs/development/roadmapweekly0.5https://docs.openc3.com/docs/development/streaming-apiweekly0.5https://docs.openc3.com/docs/development/testingweekly0.5https://docs.openc3.com/docs/getting-startedweekly0.5https://docs.openc3.com/docs/getting-started/generatorsweekly0.5https://docs.openc3.com/docs/getting-started/gettingstartedweekly0.5https://docs.openc3.com/docs/getting-started/installationweekly0.5https://docs.openc3.com/docs/getting-started/key_conceptsweekly0.5https://docs.openc3.com/docs/getting-started/podmanweekly0.5https://docs.openc3.com/docs/getting-started/requirementsweekly0.5https://docs.openc3.com/docs/getting-started/upgradingweekly0.5https://docs.openc3.com/docs/guidesweekly0.5https://docs.openc3.com/docs/guides/bridgesweekly0.5https://docs.openc3.com/docs/guides/cfsweekly0.5https://docs.openc3.com/docs/guides/custom-widgetsweekly0.5https://docs.openc3.com/docs/guides/little-endian-bitfieldsweekly0.5https://docs.openc3.com/docs/guides/local-modeweekly0.5https://docs.openc3.com/docs/guides/loggingweekly0.5https://docs.openc3.com/docs/guides/monitoringweekly0.5https://docs.openc3.com/docs/guides/performanceweekly0.5https://docs.openc3.com/docs/guides/raspberrypiweekly0.5https://docs.openc3.com/docs/guides/script-writingweekly0.5https://docs.openc3.com/docs/guides/scripting-apiweekly0.5https://docs.openc3.com/docs/metaweekly0.5https://docs.openc3.com/docs/meta/contributingweekly0.5https://docs.openc3.com/docs/meta/licensesweekly0.5https://docs.openc3.com/docs/meta/philosophyweekly0.5https://docs.openc3.com/docs/meta/xtceweekly0.5https://docs.openc3.com/docs/privacyweekly0.5https://docs.openc3.com/docs/toolsweekly0.5https://docs.openc3.com/docs/tools/autonomicweekly0.5https://docs.openc3.com/docs/tools/bucket-explorerweekly0.5https://docs.openc3.com/docs/tools/calendarweekly0.5https://docs.openc3.com/docs/tools/cmd-senderweekly0.5https://docs.openc3.com/docs/tools/cmd-tlm-serverweekly0.5https://docs.openc3.com/docs/tools/command_historyweekly0.5https://docs.openc3.com/docs/tools/data-extractorweekly0.5https://docs.openc3.com/docs/tools/data-viewerweekly0.5https://docs.openc3.com/docs/tools/handbooksweekly0.5https://docs.openc3.com/docs/tools/limits-monitorweekly0.5https://docs.openc3.com/docs/tools/packet-viewerweekly0.5https://docs.openc3.com/docs/tools/script-runnerweekly0.5https://docs.openc3.com/docs/tools/table-managerweekly0.5https://docs.openc3.com/docs/tools/tlm-grapherweekly0.5https://docs.openc3.com/docs/tools/tlm-viewerweekly0.5https://docs.openc3.com/weekly0.5 \ No newline at end of file +https://docs.openc3.com/markdown-pageweekly0.5https://docs.openc3.com/docsweekly0.5https://docs.openc3.com/docs/configurationweekly0.5https://docs.openc3.com/docs/configuration/accessorsweekly0.5https://docs.openc3.com/docs/configuration/commandweekly0.5https://docs.openc3.com/docs/configuration/formatweekly0.5https://docs.openc3.com/docs/configuration/interfacesweekly0.5https://docs.openc3.com/docs/configuration/pluginsweekly0.5https://docs.openc3.com/docs/configuration/protocolsweekly0.5https://docs.openc3.com/docs/configuration/ssl-tlsweekly0.5https://docs.openc3.com/docs/configuration/tableweekly0.5https://docs.openc3.com/docs/configuration/targetweekly0.5https://docs.openc3.com/docs/configuration/telemetryweekly0.5https://docs.openc3.com/docs/configuration/telemetry-screensweekly0.5https://docs.openc3.com/docs/developmentweekly0.5https://docs.openc3.com/docs/development/curlweekly0.5https://docs.openc3.com/docs/development/developingweekly0.5https://docs.openc3.com/docs/development/json-apiweekly0.5https://docs.openc3.com/docs/development/log-structureweekly0.5https://docs.openc3.com/docs/development/roadmapweekly0.5https://docs.openc3.com/docs/development/streaming-apiweekly0.5https://docs.openc3.com/docs/development/testingweekly0.5https://docs.openc3.com/docs/getting-startedweekly0.5https://docs.openc3.com/docs/getting-started/generatorsweekly0.5https://docs.openc3.com/docs/getting-started/gettingstartedweekly0.5https://docs.openc3.com/docs/getting-started/installationweekly0.5https://docs.openc3.com/docs/getting-started/key_conceptsweekly0.5https://docs.openc3.com/docs/getting-started/podmanweekly0.5https://docs.openc3.com/docs/getting-started/requirementsweekly0.5https://docs.openc3.com/docs/getting-started/upgradingweekly0.5https://docs.openc3.com/docs/guidesweekly0.5https://docs.openc3.com/docs/guides/bridgesweekly0.5https://docs.openc3.com/docs/guides/cfsweekly0.5https://docs.openc3.com/docs/guides/custom-widgetsweekly0.5https://docs.openc3.com/docs/guides/little-endian-bitfieldsweekly0.5https://docs.openc3.com/docs/guides/local-modeweekly0.5https://docs.openc3.com/docs/guides/loggingweekly0.5https://docs.openc3.com/docs/guides/monitoringweekly0.5https://docs.openc3.com/docs/guides/performanceweekly0.5https://docs.openc3.com/docs/guides/raspberrypiweekly0.5https://docs.openc3.com/docs/guides/script-writingweekly0.5https://docs.openc3.com/docs/guides/scripting-apiweekly0.5https://docs.openc3.com/docs/metaweekly0.5https://docs.openc3.com/docs/meta/contributingweekly0.5https://docs.openc3.com/docs/meta/licensesweekly0.5https://docs.openc3.com/docs/meta/philosophyweekly0.5https://docs.openc3.com/docs/meta/xtceweekly0.5https://docs.openc3.com/docs/privacyweekly0.5https://docs.openc3.com/docs/toolsweekly0.5https://docs.openc3.com/docs/tools/adminweekly0.5https://docs.openc3.com/docs/tools/autonomicweekly0.5https://docs.openc3.com/docs/tools/bucket-explorerweekly0.5https://docs.openc3.com/docs/tools/calendarweekly0.5https://docs.openc3.com/docs/tools/cmd-senderweekly0.5https://docs.openc3.com/docs/tools/cmd-tlm-serverweekly0.5https://docs.openc3.com/docs/tools/command_historyweekly0.5https://docs.openc3.com/docs/tools/data-extractorweekly0.5https://docs.openc3.com/docs/tools/data-viewerweekly0.5https://docs.openc3.com/docs/tools/handbooksweekly0.5https://docs.openc3.com/docs/tools/limits-monitorweekly0.5https://docs.openc3.com/docs/tools/packet-viewerweekly0.5https://docs.openc3.com/docs/tools/script-runnerweekly0.5https://docs.openc3.com/docs/tools/table-managerweekly0.5https://docs.openc3.com/docs/tools/tlm-grapherweekly0.5https://docs.openc3.com/docs/tools/tlm-viewerweekly0.5https://docs.openc3.com/weekly0.5 \ No newline at end of file diff --git a/openc3-cosmos-init/plugins/packages/openc3-vue-common/src/tools/admin/tabs/ToolsTab.vue b/openc3-cosmos-init/plugins/packages/openc3-vue-common/src/tools/admin/tabs/ToolsTab.vue index 9223a1ad6a..3cbe060e4c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-vue-common/src/tools/admin/tabs/ToolsTab.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-vue-common/src/tools/admin/tabs/ToolsTab.vue @@ -61,8 +61,8 @@